diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 255c2be06b6..f5cd621b82d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -94,20 +94,31 @@ There are several ways to localize components' string resources: 1.1. Localize a given instance of component - each component which supports localization has input property `resourceStrings`. Setting a newly instantiated object to this property will localize only that given component's instance. 1.2. Localize all resources for a component type - each component which supports localization has input property `resourceStrings`. To localize all instances of a given component in the application the following steps should be performed - get the value of the input property `resourceStrings` of the component to be localized; do not create a new instance but replace the existing strings within the object. By default all components of a given type in an application share one instance of the resource strings. Replacing a value in that instance affects all components of that type in the application. 1.3. Localize all resources for all components - use global method `getCurrentResourceStrings` to get an object containing current resource strings for all components. To provide localized resources just pass an object of type `IResourceStrings` to the global method `changei18n`. + 1.4 As of 20.2.0 the localization has new implementation and you can use the new API `registerI18n` to register resource string for a component or all components for the whole app, as well as which locale it corresponds to. To localize a single component you will need to get is corresponding resource string keys using one of the available resources and provide only those keys. 2. Using npm package: We've created new repository which will hold the resource strings for languages different than English: https://github.com/IgniteUI/igniteui-angular-i18n -**NOTE** The localization repo has been moved to live inside the `igniteui-angular` repository under `./projects/igniteui-angular-i18n` +**NOTE** The localization repo has been moved to live inside the `igniteui-angular` repository under `./projects/igniteui-angular-i18n` +**NOTE** As of 20.1.x the localization resource strings have been moved to the [`igniteui-i18n`](https://github.com/IgniteUI/igniteui-i18n) repository under `projects/igniteui-i18n-resources`. A npm package should be published each time we release new version of Ignite UI for Angular. Its version should correspond to the version of the igniteui-angular npm package. One could localize an application by importing the corresponding localized resource strings from the localization package (`igniteui-angular-i18n`) and use the methods described in the previous bullet to localize the whole application or part of it. -Example: + +**Example:** + Inside app.module you can perform: -_import { IgxResouceStringsJA } from ‘igniteui-angular-i18n’;_ -And then: -_Changei18n(IgxResouceStringsJA);_ +```ts +import { IgxResouceStringsJA } from ‘igniteui-angular-i18n’; +changei18n(IgxResouceStringsJA); +``` + +**Example new API:** +```ts +import { ResouceStringsJA } from ‘igniteui-i18n-resources’; +registerI18n(IgxResouceStringsJA, 'ja'); +``` ### Resource strings keys naming convention Each key in the `IResourceStrings` (and `IGridResourceStrings`, `ITimePickerResourceStrings`, etc.) is prefixed with components' selector and followed by the resource string key. Having components' selectors as prefixes allows us to have same resource strings keys for more than one component. diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c3bc419e7c..4526a552df5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,18 @@ All notable changes for each version of this project will be documented in this file. +## 20.2.0 + +- Localization(i18n) for `IgxActionStrip`, `IgxBanner`, `IgxCalendar`, `IgxCarousel`, `IgxChip`, `IgxCombo`, `IgxDatePicker`, `IgxDateRangePicker`, `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`, `IgxPivotGrid`, `IgxInputs`, `IgxList`, `IgxPaginator`, `IgxQueryBuilder`, `IgxTimePicker`, `IgxTree` + - New `Intl` implementation for all currently supported components that format and render data like dates and numbers. + - New localization implementation for the currently supported languages for all components that have resource strings in the currently supported languages. + - New public localization API and package named `igniteui-i18n-resources` containing the new resources that are used in conjunction. + - Added API to toggle off Angular's default formatting completely in favor of the new `Intl` implementation. Otherwise `Intl` will be used when a locale is not defined for Angular to use. + - Old resources and API should still remain working and not experience any change in behavior, despite internally using the new localization as well. ## 20.1.0 ### New Features - - `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid` - Introduced a new cell merging feature that allows you to configure and merge cells in a column based on same data or other custom condition, into a single cell. diff --git a/angular.json b/angular.json index d736425e5b0..8f9415f64f6 100644 --- a/angular.json +++ b/angular.json @@ -324,7 +324,7 @@ ], "outputHashing": "none", "optimization": true, - "externalDependencies": ["lit"] + "externalDependencies": ["lit", "igniteui-i18n-core"] }, "development": { "optimization": false, diff --git a/package-lock.json b/package-lock.json index d1b5e36f542..747f262de15 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,6 +25,7 @@ "@types/source-map": "0.5.2", "express": "^5.1.0", "fflate": "^0.8.1", + "igniteui-i18n-core": "0.6.0-alpha.4", "igniteui-theming": "^20.0.0", "igniteui-trial-watermark": "^3.1.0", "lodash-es": "^4.17.21", @@ -70,6 +71,7 @@ "hammerjs": "^2.0.8", "ig-typedoc-theme": "^6.0.0", "igniteui-dockmanager": "^1.17.0", + "igniteui-i18n-resources": "0.6.0-alpha.4", "igniteui-sassdoc-theme": "^2.0.2", "igniteui-webcomponents": "6.2.1", "jasmine": "^5.6.0", @@ -102,9 +104,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.3.tgz", - "integrity": "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.4.tgz", + "integrity": "sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==", "dev": true, "license": "MIT" }, @@ -332,13 +334,13 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.2003.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.1.tgz", - "integrity": "sha512-PE/yMVv8RZ7nQzGROi0juZo+yMZE2QwyBXc9yFrHIRozuTzTFaMW/9ifCZDVrpicjyHEk3s+7hUVNCcKO/xIIQ==", + "version": "0.2003.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2003.3.tgz", + "integrity": "sha512-DOnGyv9g24vaDzf5koLOcVri1kYJIBD9UKiJWOWk4H5cFlcpTXQ+PilPmDq6A+X94Tt4MZHImmKsk6LLRPIwFg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "20.3.1", + "@angular-devkit/core": "20.3.3", "rxjs": "7.8.2" }, "engines": { @@ -348,9 +350,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.1.tgz", - "integrity": "sha512-TmS69GqBlbTfydn7C4tUKr0mshYSStuCkgruXbvedHFX8+7XBp8wPE+VUzdKnSmKZi6buI4oskDbJ1AdGtNm/g==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.3.3.tgz", + "integrity": "sha512-2T5mX2duLapZYPYmXUSUe9VW8Dhu10nVBVvEp31jSE6xvjbPM5mlsv6+fks1E4RjhzvaamY9bm3WgwYwNiEV5g==", "dev": true, "license": "MIT", "dependencies": { @@ -376,13 +378,13 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.1.tgz", - "integrity": "sha512-uzMqcgOfcCBiYb+cbMJmgJL2C2d3uYFp6hU2ClYS8kRPXiA9sNVnvLmv4JrYJVLGQDejJtjPGIQrcmq11OQNLA==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.3.3.tgz", + "integrity": "sha512-LDn39BjyQLAK/DaVamLElMtI0UoCZIs4jKcMEv8PJ/nnBmrYFHVavWPggeFWMycjeXsdX34Msiml88HZWlXypw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "20.3.1", + "@angular-devkit/core": "20.3.3", "jsonc-parser": "3.3.1", "magic-string": "0.30.17", "ora": "8.2.0", @@ -500,9 +502,9 @@ } }, "node_modules/@angular/animations": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.0.tgz", - "integrity": "sha512-rCojVsJHaReDfSB4lwcWYJAfbkFXQmcdivdN5m1NavuSlKpWoLw4fLkxkcuOXDjUEwNSb45hRI4ixcwrcuQtmw==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-20.3.2.tgz", + "integrity": "sha512-za7onSElEUbaI9iS8j7nKf8FjyvVng6wFsb2ZuHxr71dMgnYkqPfMu0KMP+mkZ3yUVc//7SllXcSkGBHShyCcw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -511,18 +513,18 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "20.3.0" + "@angular/core": "20.3.2" } }, "node_modules/@angular/build": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.1.tgz", - "integrity": "sha512-z5n8WnisyPrRvS1WctdDB3Svas0Wql1Eplnwh4O7waZHeJTOcd8zZeFxPbPGp12ybGf3HEEjTeWOigm1kRgW9g==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.3.3.tgz", + "integrity": "sha512-WhwAbovHAxDbNeR5jB2IS/SVs+yQg9NETFeJ5f7T3n/414ULkGOhXn+29i1rzwJhf1uqM9lsedcv2tKn1N24/A==", "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.2003.1", + "@angular-devkit/architect": "0.2003.3", "@babel/core": "7.28.3", "@babel/helper-annotate-as-pure": "7.27.3", "@babel/helper-split-export-declaration": "7.24.7", @@ -540,7 +542,7 @@ "parse5-html-rewriting-stream": "8.0.0", "picomatch": "4.0.3", "piscina": "5.1.3", - "rolldown": "1.0.0-beta.32", + "rolldown": "1.0.0-beta.38", "sass": "1.90.0", "semver": "7.7.2", "source-map-support": "0.5.21", @@ -564,7 +566,7 @@ "@angular/platform-browser": "^20.0.0", "@angular/platform-server": "^20.0.0", "@angular/service-worker": "^20.0.0", - "@angular/ssr": "^20.3.1", + "@angular/ssr": "^20.3.3", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^20.0.0", @@ -613,154 +615,20 @@ } } }, - "node_modules/@angular/build/node_modules/@types/node": { - "version": "24.5.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.5.0.tgz", - "integrity": "sha512-y1dMvuvJspJiPSDZUQ+WMBvF7dpnEqN4x9DDC9ie5Fs/HUZJA3wFp7EhHoVaKX/iI0cRoECV8X2jL8zi0xrHCg==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "undici-types": "~7.12.0" - } - }, - "node_modules/@angular/build/node_modules/sass": { - "version": "1.90.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", - "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/@angular/build/node_modules/undici-types": { - "version": "7.12.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.12.0.tgz", - "integrity": "sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/@angular/build/node_modules/vite": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", - "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.5.0", - "picomatch": "^4.0.3", - "postcss": "^8.5.6", - "rollup": "^4.43.0", - "tinyglobby": "^0.2.15" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/@angular/build/node_modules/vite/node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, "node_modules/@angular/cli": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.1.tgz", - "integrity": "sha512-TqhuDecbfAQgRDYPfpRQG9ZuTqb1DOeU7oQAYxpz9m/a7A2xqeNFLuCwwz8rqEPZB79/9r5ja0Gs1J4i080U0Q==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.3.3.tgz", + "integrity": "sha512-3c8xCklJ0C0T6ETSncAoXlOYNi3x7vLT3PS56rIaQ0jtlvD4Y+RQakd3+iffVAapvh/JB27WNor8pJRThLZ/jg==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.2003.1", - "@angular-devkit/core": "20.3.1", - "@angular-devkit/schematics": "20.3.1", + "@angular-devkit/architect": "0.2003.3", + "@angular-devkit/core": "20.3.3", + "@angular-devkit/schematics": "20.3.3", "@inquirer/prompts": "7.8.2", "@listr2/prompt-adapter-inquirer": "3.0.1", "@modelcontextprotocol/sdk": "1.17.3", - "@schematics/angular": "20.3.1", + "@schematics/angular": "20.3.3", "@yarnpkg/lockfile": "1.1.0", "algoliasearch": "5.35.0", "ini": "5.0.0", @@ -782,148 +650,10 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular/cli/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular/cli/node_modules/cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@angular/cli/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular/cli/node_modules/hosted-git-info": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", - "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^11.1.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@angular/cli/node_modules/lru-cache": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", - "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@angular/cli/node_modules/npm-package-arg": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", - "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^9.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^20.17.0 || >=22.9.0" - } - }, - "node_modules/@angular/cli/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular/cli/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@angular/cli/node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/@angular/cli/node_modules/yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, "node_modules/@angular/common": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.0.tgz", - "integrity": "sha512-Il0HqdRdrmI8ufLXd49EYaa/BPqfiSqe5uuKrDxhkAdbRXwCXWsxbO/n8AwilwWn3CKLOCrEXQYKwbcFW0nYQQ==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.3.2.tgz", + "integrity": "sha512-5V9AzLhCA1dNhF+mvihmdHoZHbEhIb1jNYRA1/JMheR+G7NR8Mznu6RmWaKSWZ4AJeSJN8rizWN2wpVPWTKjSQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -932,14 +662,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "20.3.0", + "@angular/core": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.0.tgz", - "integrity": "sha512-DvGDusjsDhxIX+nDzihSCGo81Fa8y94KB/bh24eyPwJWV6b0OkawFSvVwzxx8prV0UnNkCN1S/UoZXmtVZGJ4A==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.3.2.tgz", + "integrity": "sha512-5fSzkPmRomZ9H43c82FJWLwdOi7MICMimP1y1oYJZcUh3jYRhXUrQvD0jifdRVkkgKNjaZYlMr0NkrYQFgFong==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -949,9 +679,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.0.tgz", - "integrity": "sha512-umnZzzKw9RqDVkotYIyupJiKXQpU8knehMUBT1G3QwdeHppC+d/opxISYTkQtY/4IUAsZFLMukWIr82as0DSmw==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.3.2.tgz", + "integrity": "sha512-rLox2THiALVQqYGUaxZ6YD8qUoXIOGTw3s0tim9/U65GuXGRtYgG0ZQWYp3yjEBes0Ksx2/15eFPp1Ol4FdEKQ==", "dev": true, "license": "MIT", "dependencies": { @@ -972,7 +702,7 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "20.3.0", + "@angular/compiler": "20.3.2", "typescript": ">=5.8 <6.0" }, "peerDependenciesMeta": { @@ -981,118 +711,19 @@ } } }, - "node_modules/@angular/compiler-cli/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, + "node_modules/@angular/core": { + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.2.tgz", + "integrity": "sha512-88uPgs5LjtnywnQaZE2ShBb1wa8IuD6jWs4nc4feo32QdBc55tjebTBFJSHbi3mUVAp0eS4wI6ITo0YIb01H4g==", "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@angular/compiler-cli/node_modules/cliui": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", - "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=20" - } - }, - "node_modules/@angular/compiler-cli/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@angular/compiler-cli/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@angular/compiler-cli/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@angular/compiler-cli/node_modules/yargs": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", - "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^9.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "string-width": "^7.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^22.0.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/@angular/compiler-cli/node_modules/yargs-parser": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", - "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", - "dev": true, - "license": "ISC", - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=23" - } - }, - "node_modules/@angular/core": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.3.0.tgz", - "integrity": "sha512-4uH2TAMm1nXqQ9lcZyyNkjcdQ0Fjcf9Hh0HYrhMOEV6GAUHvM2I8Vr2dSQ40p/UKLEfe9+cpZ78EPocqPQCG6A==", - "license": "MIT", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/compiler": "20.3.0", + "@angular/compiler": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0", "zone.js": "~0.15.0" }, @@ -1106,9 +737,9 @@ } }, "node_modules/@angular/elements": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.3.0.tgz", - "integrity": "sha512-T6ZRwiYFHBTwTQ4UXGf/Hkg9OF+G8GsDptWgEKn6Savdb4zKXuna0y3MUfVSPg4OWOBcEhXEEcDbWwdfebEkEw==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/elements/-/elements-20.3.2.tgz", + "integrity": "sha512-uCYUXox9P0Ksb9zh9iGwQ1AaNpvBGCv1OcBnF1Yx28B0Rw8uKx24KyxNZC8MltSFripDqUi+QKOiVKHsZbxK0Q==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1117,14 +748,14 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/core": "20.3.0", + "@angular/core": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/forms": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.0.tgz", - "integrity": "sha512-/KGCZUskk8imxz2e47CKe5Ykh3eqEDop0b9YUkZTvJ/dY/cdFK89RAK2xUvOlyUr2mkcByzdzyOhHaM9XEaELg==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.3.2.tgz", + "integrity": "sha512-ECIbtwc7n9fPbiZXZVaoZpSiOksgcNbZ27oUN9BT7EmoXRzBw6yDL2UX6Ig7pEKhQGyBkKB+TMerRwTDVkkCWg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1133,16 +764,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "20.3.0", - "@angular/core": "20.3.0", - "@angular/platform-browser": "20.3.0", + "@angular/common": "20.3.2", + "@angular/core": "20.3.2", + "@angular/platform-browser": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-20.3.0.tgz", - "integrity": "sha512-QyXlT/S68HUUEMiQLFQ1bt+aClj+eQSfZZZ+syIsH8otx+YCHf2c74/LwD+sP7f3bEuWBncod1X7sbDRcZOrmA==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-20.3.2.tgz", + "integrity": "sha512-a4/GTOo95rzTvOWXujLgQ+LDoApb5gwwbdoQZlC5xRDSnmyH3XFZYrlDWXB26wtdjo2JnGMWVWNhekxsAJImVw==", "dev": true, "license": "MIT", "engines": { @@ -1150,9 +781,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.0.tgz", - "integrity": "sha512-/KsgfxDwP7/KXGrLLSyg4+Xd8HxmHi5dVCu+xHfa3QjzVIvvZfWZLxQj7guRlDtg/mz+t0/OSKvSUZzOAfVzGQ==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.3.2.tgz", + "integrity": "sha512-d9XcT2UuWZCc0UOtkCcPEnMcOFKNczahamT/Izg3H9jLS3IcT6l0ry23d/Xf0DRwhLYQdOZiG7l8HMZ1sWPMOg==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1161,9 +792,9 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/animations": "20.3.0", - "@angular/common": "20.3.0", - "@angular/core": "20.3.0" + "@angular/animations": "20.3.2", + "@angular/common": "20.3.2", + "@angular/core": "20.3.2" }, "peerDependenciesMeta": { "@angular/animations": { @@ -1172,9 +803,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.0.tgz", - "integrity": "sha512-8zu4naXyP926+UKTadMM7163sl3JaVY9SVL0qegK5TiB1s0l6vVQ125nzT1BI9HadvCLdtl5ZNZF4P87h7nfwg==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-20.3.2.tgz", + "integrity": "sha512-ehoV67Vxr3ZE8BJ3g7Q4ZLHo3qJVoDUDz/4UeCqmDeOnKxcdD53HTA/pgOO4QhKStUFbzgU19OQD4e6fkP8YoQ==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1183,16 +814,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "20.3.0", - "@angular/compiler": "20.3.0", - "@angular/core": "20.3.0", - "@angular/platform-browser": "20.3.0" + "@angular/common": "20.3.2", + "@angular/compiler": "20.3.2", + "@angular/core": "20.3.2", + "@angular/platform-browser": "20.3.2" } }, "node_modules/@angular/platform-server": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-20.3.0.tgz", - "integrity": "sha512-ixPyu3JEY3sgyvUdCqRbaZZA9M6KWGLZoiJPN4IszwcwCFUp3E5XOZ7mvSLzR+ZUYUml+z6ehtSPg2PM+e+CEQ==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-20.3.2.tgz", + "integrity": "sha512-D7tf5S5xxQQUDtw/dkMa2XePnxHwyZElN5FQP99ByiEy9PjT1iFjyKuP9jjHsI4Nmi+Juq0F1uo4azPfPaV/3w==", "license": "MIT", "dependencies": { "tslib": "^2.3.0", @@ -1202,17 +833,17 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "20.3.0", - "@angular/compiler": "20.3.0", - "@angular/core": "20.3.0", - "@angular/platform-browser": "20.3.0", + "@angular/common": "20.3.2", + "@angular/compiler": "20.3.2", + "@angular/core": "20.3.2", + "@angular/platform-browser": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/router": { - "version": "20.3.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.0.tgz", - "integrity": "sha512-JshumajvPCMztz1+7r/l5tRxFL3cn2jCpr5szdc5hESkpytY4050hedd09GogL1UoIyZAjhyYLhSlMnvrgjHBA==", + "version": "20.3.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.3.2.tgz", + "integrity": "sha512-+Crx6QpK00juoNU3A1vbVf4DQ7fduLe3DUdAob6a9Uj+IoWj2Ijd8zUWF8E0cfNNFotJ4Gost0lJORDvqKcC7A==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1221,16 +852,16 @@ "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, "peerDependencies": { - "@angular/common": "20.3.0", - "@angular/core": "20.3.0", - "@angular/platform-browser": "20.3.0", + "@angular/common": "20.3.2", + "@angular/core": "20.3.2", + "@angular/platform-browser": "20.3.2", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/ssr": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-20.3.1.tgz", - "integrity": "sha512-SytsLdFCPwqRhW7xkGTrt/R/Ep4qS/MmPquu1dE0dpZ/jzsHQoXA2zSNZvy+JCW2gPZ2PU+pFAWgvWQGknw71w==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-20.3.3.tgz", + "integrity": "sha512-DdwpwfNcoiaiaPvcm3aL+k24JWB0OOTq8/oM8HY4gAZbGNTnn8n1gTbTq3qjLt8zFtCWWqVU0+ejBgHIEvmDOw==", "license": "MIT", "dependencies": { "tslib": "^2.3.0" @@ -1276,32 +907,32 @@ "license": "ISC" }, "node_modules/@astrojs/compiler": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.12.2.tgz", - "integrity": "sha512-w2zfvhjNCkNMmMMOn5b0J8+OmUaBL1o40ipMvqcG6NRpdC+lKxmTi48DT8Xw0SzJ3AfmeFLB45zXZXtmbsjcgw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", + "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", "dev": true, "license": "MIT" }, "node_modules/@astrojs/internal-helpers": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.6.1.tgz", - "integrity": "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==", + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.3.tgz", + "integrity": "sha512-6Pl0bQEIChuW5wqN7jdKrzWfCscW2rG/Cz+fzt4PhSQX2ivBpnhXgFUCs0M3DCYvjYHnPVG2W36X5rmFjZ62sw==", "dev": true, "license": "MIT" }, "node_modules/@astrojs/markdown-remark": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.2.tgz", - "integrity": "sha512-bO35JbWpVvyKRl7cmSJD822e8YA8ThR/YbUsciWNA7yTcqpIAL2hJDToWP5KcZBWxGT6IOdOkHSXARSNZc4l/Q==", + "version": "6.3.7", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.7.tgz", + "integrity": "sha512-KXGdq6/BC18doBCYXp08alHlWChH0hdD2B1qv9wIyOHbvwI5K6I7FhSta8dq1hBQNdun8YkKPR013D/Hm8xd0g==", "dev": true, "license": "MIT", "dependencies": { - "@astrojs/internal-helpers": "0.6.1", + "@astrojs/internal-helpers": "0.7.3", "@astrojs/prism": "3.3.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", - "import-meta-resolve": "^4.1.0", + "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.0", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", @@ -1310,8 +941,8 @@ "remark-parse": "^11.0.0", "remark-rehype": "^11.1.2", "remark-smartypants": "^3.0.2", - "shiki": "^3.2.1", - "smol-toml": "^1.3.1", + "shiki": "^3.12.2", + "smol-toml": "^1.4.2", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", @@ -1351,22 +982,6 @@ "node": "18.20.8 || ^20.3.0 || >=22.0.0" } }, - "node_modules/@astrojs/telemetry/node_modules/ci-info": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", - "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@babel/code-frame": { "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", @@ -1383,9 +998,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.27.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.3.tgz", - "integrity": "sha512-V42wFfx1ymFte+ecf6iXghnnP8kWTO+ZLXIyZq+1LAXHHvTZdVxicn4yiVYdYMGaCO3tmqub11AorKkv+iodqw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", "dev": true, "license": "MIT", "engines": { @@ -1583,27 +1198,27 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", - "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.27.2", - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.4" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", - "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@babel/types": "^7.28.4" }, "bin": { "parser": "bin/babel-parser.js" @@ -1628,18 +1243,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", - "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.3", + "@babel/parser": "^7.28.4", "@babel/template": "^7.27.2", - "@babel/types": "^7.28.2", + "@babel/types": "^7.28.4", "debug": "^4.3.1" }, "engines": { @@ -1647,9 +1262,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", - "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", "dev": true, "license": "MIT", "dependencies": { @@ -1661,12 +1276,53 @@ } }, "node_modules/@bufbuild/protobuf": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.5.1.tgz", - "integrity": "sha512-lut4UTvKL8tqtend0UDu7R79/n9jA7Jtxf77RNPbxtmWqfWI4qQ9bTjf7KCS4vfqLmpQbuHr1ciqJumAgJODdw==", + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.9.0.tgz", + "integrity": "sha512-rnJenoStJ8nvmt9Gzye8nkYd6V22xUAnu4086ER7h1zJ508vStko4pMvDeQ446ilDTFpV5wnoc5YS7XvMwwMqA==", "dev": true, "license": "(Apache-2.0 AND BSD-3-Clause)" }, + "node_modules/@cacheable/memoize": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/memoize/-/memoize-2.0.2.tgz", + "integrity": "sha512-wPrr7FUiq3Qt4yQyda2/NcOLTJCFcQSU3Am2adP+WLy+sz93/fKTokVTHmtz+rjp4PD7ee0AEOeRVNN6IvIfsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/utils": "^2.0.2" + } + }, + "node_modules/@cacheable/memory": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/memory/-/memory-2.0.2.tgz", + "integrity": "sha512-sJTITLfeCI1rg7P3ssaGmQryq235EGT8dXGcx6oZwX5NRnKq9IE6lddlllcOl+oXW+yaeTRddCjo0xrfU6ZySA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@cacheable/memoize": "^2.0.1", + "@cacheable/utils": "^2.0.2", + "@keyv/bigmap": "^1.0.2", + "hookified": "^1.12.1", + "keyv": "^5.5.2" + } + }, + "node_modules/@cacheable/memory/node_modules/keyv": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.3.tgz", + "integrity": "sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@keyv/serialize": "^1.1.1" + } + }, + "node_modules/@cacheable/utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@cacheable/utils/-/utils-2.0.2.tgz", + "integrity": "sha512-JTFM3raFhVv8LH95T7YnZbf2YoE9wEtkPPStuRF9a6ExZ103hFvs+QyCuYJ6r0hA9wRtbzgZtwUCoDWxssZd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@capsizecss/unpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-2.4.0.tgz", @@ -1714,9 +1370,9 @@ } }, "node_modules/@csstools/color-helpers": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.2.tgz", - "integrity": "sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz", + "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==", "dev": true, "funding": [ { @@ -1758,9 +1414,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.10.tgz", - "integrity": "sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz", + "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==", "dev": true, "funding": [ { @@ -1774,7 +1430,7 @@ ], "license": "MIT", "dependencies": { - "@csstools/color-helpers": "^5.0.2", + "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "engines": { @@ -1852,33 +1508,10 @@ "@csstools/css-tokenizer": "^3.0.4" } }, - "node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, "node_modules/@ctrl/tinycolor": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz", - "integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", "dev": true, "license": "MIT", "engines": { @@ -1886,32 +1519,32 @@ } }, "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.2.1.tgz", + "integrity": "sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==", "dev": true, "license": "MIT", "funding": { "type": "github", - "url": "https://github.com/sponsors/wooorm" + "url": "https://github.com/sponsors/JounQin" } }, "node_modules/@emnapi/core": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", - "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.5.0.tgz", + "integrity": "sha512-sbP8GzB1WDzacS8fgNPpHlp6C9VZe+SJP3F90W9rLemaQj2PzIuTEl1qDOYQf58YIpyjViI24y9aPWCjEzY2cg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.0.4", + "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", - "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.5.0.tgz", + "integrity": "sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==", "dev": true, "license": "MIT", "optional": true, @@ -1920,9 +1553,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", - "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", + "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", "dev": true, "license": "MIT", "optional": true, @@ -2373,9 +2006,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", - "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, "license": "MIT", "dependencies": { @@ -2505,9 +2138,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -2515,19 +2148,6 @@ "concat-map": "0.0.1" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "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", @@ -2559,9 +2179,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.34.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz", - "integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.36.0.tgz", + "integrity": "sha512-uhCbYtYynH30iZErszX78U+nR3pJU3RHGQ57NXy5QupD4SBVwDeU8TNBy+MjMngc1UyIW9noKqsRqfjQTBU2dw==", "dev": true, "license": "MIT", "engines": { @@ -2661,6 +2281,17 @@ "oniguruma-to-es": "^2.2.0" } }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/engine-oniguruma": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", + "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/langs": { "version": "1.29.2", "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-1.29.2.tgz", @@ -2681,6 +2312,17 @@ "@shikijs/types": "1.29.2" } }, + "node_modules/@expressive-code/plugin-shiki/node_modules/@shikijs/types": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, "node_modules/@expressive-code/plugin-shiki/node_modules/oniguruma-to-es": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-2.3.0.tgz", @@ -2742,30 +2384,30 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.0.tgz", - "integrity": "sha512-FRdBLykrPPA6P76GGGqlex/e7fbe0F1ykgxHYNXQsH/iTEtjMj/f9bpY5oQqbjt5VgZvgz/uKXbGuROijh3VLA==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", + "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.9" + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/dom": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.0.tgz", - "integrity": "sha512-lGTor4VlXcesUMh1cupTUTDoCxMb0V6bm3CnxHzQcw8Eaf1jQbgQX4i02fYgT0vJ82tb5MZ4CZk1LRGkktJCzg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.4.tgz", + "integrity": "sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==", "dev": true, "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.7.0", - "@floating-ui/utils": "^0.2.9" + "@floating-ui/core": "^1.7.3", + "@floating-ui/utils": "^0.2.10" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", - "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", "dev": true, "license": "MIT" }, @@ -2781,6 +2423,28 @@ "@shikijs/vscode-textmate": "^10.0.1" } }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/engine-oniguruma": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", + "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "1.29.2", + "@shikijs/vscode-textmate": "^10.0.1" + } + }, + "node_modules/@gerrit0/mini-shiki/node_modules/@shikijs/types": { + "version": "1.29.2", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", + "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.1", + "@types/hast": "^3.0.4" + } + }, "node_modules/@gulpjs/messages": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@gulpjs/messages/-/messages-1.1.0.tgz", @@ -2815,33 +2479,19 @@ } }, "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "license": "Apache-2.0", "dependencies": { "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" + "@humanwhocodes/retry": "^0.4.0" }, "engines": { "node": ">=18.18.0" } }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -2876,10 +2526,21 @@ "integrity": "sha512-gtkIaeOHAWbppCAdVFNtEhnJ/tML6q4hIHF8zM5Fo0THJmu2+iJvBSCNyb8/c7P+mr1ImNqwhKuu+PqUlz493A==", "license": "MIT" }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", - "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.4.tgz", + "integrity": "sha512-sitdlPzDVyvmINUdJle3TNHl+AG9QcwiAMsXmccqsCOMZNIdW2/7S26w0LyU8euiLVzFBL3dXPwVCq/ODnf2vA==", "cpu": [ "arm64" ], @@ -2896,13 +2557,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.0.4" + "@img/sharp-libvips-darwin-arm64": "1.2.3" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", - "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.4.tgz", + "integrity": "sha512-rZheupWIoa3+SOdF/IcUe1ah4ZDpKBGWcsPX6MT0lYniH9micvIU7HQkYTfrx5Xi8u+YqwLtxC/3vl8TQN6rMg==", "cpu": [ "x64" ], @@ -2919,13 +2580,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.0.4" + "@img/sharp-libvips-darwin-x64": "1.2.3" } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", - "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.3.tgz", + "integrity": "sha512-QzWAKo7kpHxbuHqUC28DZ9pIKpSi2ts2OJnoIGI26+HMgq92ZZ4vk8iJd4XsxN+tYfNJxzH6W62X5eTcsBymHw==", "cpu": [ "arm64" ], @@ -2940,9 +2601,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", - "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.3.tgz", + "integrity": "sha512-Ju+g2xn1E2AKO6YBhxjj+ACcsPQRHT0bhpglxcEf+3uyPY+/gL8veniKoo96335ZaPo03bdDXMv0t+BBFAbmRA==", "cpu": [ "x64" ], @@ -2957,9 +2618,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", - "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.3.tgz", + "integrity": "sha512-x1uE93lyP6wEwGvgAIV0gP6zmaL/a0tGzJs/BIDDG0zeBhMnuUPm7ptxGhUbcGs4okDJrk4nxgrmxpib9g6HpA==", "cpu": [ "arm" ], @@ -2974,9 +2635,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", - "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.3.tgz", + "integrity": "sha512-I4RxkXU90cpufazhGPyVujYwfIm9Nk1QDEmiIsaPwdnm013F7RIceaCc87kAH+oUB1ezqEvC6ga4m7MSlqsJvQ==", "cpu": [ "arm64" ], @@ -2990,10 +2651,27 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.3.tgz", + "integrity": "sha512-Y2T7IsQvJLMCBM+pmPbM3bKT/yYJvVtLJGfCs4Sp95SjvnFIjynbjzsa7dY1fRJX45FTSfDksbTp6AGWudiyCg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", - "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.3.tgz", + "integrity": "sha512-RgWrs/gVU7f+K7P+KeHFaBAJlNkD1nIZuVXdQv6S+fNA6syCcoboNjsV2Pou7zNlVdNQoQUpQTk8SWDHUA3y/w==", "cpu": [ "s390x" ], @@ -3008,9 +2686,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", - "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.3.tgz", + "integrity": "sha512-3JU7LmR85K6bBiRzSUc/Ff9JBVIFVvq6bomKE0e63UXGeRw2HPVEjoJke1Yx+iU4rL7/7kUjES4dZ/81Qjhyxg==", "cpu": [ "x64" ], @@ -3025,9 +2703,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", - "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.3.tgz", + "integrity": "sha512-F9q83RZ8yaCwENw1GieztSfj5msz7GGykG/BA+MOUefvER69K/ubgFHNeSyUu64amHIYKGDs4sRCMzXVj8sEyw==", "cpu": [ "arm64" ], @@ -3042,9 +2720,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", - "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.3.tgz", + "integrity": "sha512-U5PUY5jbc45ANM6tSJpsgqmBF/VsL6LnxJmIf11kB7J5DctHgqm0SkuXzVWtIY90GnJxKnC/JT251TDnk1fu/g==", "cpu": [ "x64" ], @@ -3059,9 +2737,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", - "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.4.tgz", + "integrity": "sha512-Xyam4mlqM0KkTHYVSuc6wXRmM7LGN0P12li03jAnZ3EJWZqj83+hi8Y9UxZUbxsgsK1qOEwg7O0Bc0LjqQVtxA==", "cpu": [ "arm" ], @@ -3078,13 +2756,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.0.5" + "@img/sharp-libvips-linux-arm": "1.2.3" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", - "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.4.tgz", + "integrity": "sha512-YXU1F/mN/Wu786tl72CyJjP/Ngl8mGHN1hST4BGl+hiW5jhCnV2uRVTNOcaYPs73NeT/H8Upm3y9582JVuZHrQ==", "cpu": [ "arm64" ], @@ -3101,13 +2779,36 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.0.4" + "@img/sharp-libvips-linux-arm64": "1.2.3" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.4.tgz", + "integrity": "sha512-F4PDtF4Cy8L8hXA2p3TO6s4aDt93v+LKmpcYFLAVdkkD3hSxZzee0rh6/+94FpAynsuMpLX5h+LRsSG3rIciUQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.3" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", - "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.4.tgz", + "integrity": "sha512-qVrZKE9Bsnzy+myf7lFKvng6bQzhNUAYcVORq2P7bDlvmF6u2sCmK2KyEQEBdYk+u3T01pVsPrkj943T1aJAsw==", "cpu": [ "s390x" ], @@ -3124,13 +2825,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.0.4" + "@img/sharp-libvips-linux-s390x": "1.2.3" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", - "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.4.tgz", + "integrity": "sha512-ZfGtcp2xS51iG79c6Vhw9CWqQC8l2Ot8dygxoDoIQPTat/Ov3qAa8qpxSrtAEAJW+UjTXc4yxCjNfxm4h6Xm2A==", "cpu": [ "x64" ], @@ -3147,13 +2848,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.0.4" + "@img/sharp-libvips-linux-x64": "1.2.3" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", - "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.4.tgz", + "integrity": "sha512-8hDVvW9eu4yHWnjaOOR8kHVrew1iIX+MUgwxSuH2XyYeNRtLUe4VNioSqbNkB7ZYQJj9rUTT4PyRscyk2PXFKA==", "cpu": [ "arm64" ], @@ -3170,13 +2871,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", - "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.4.tgz", + "integrity": "sha512-lU0aA5L8QTlfKjpDCEFOZsTYGn3AEiO6db8W5aQDxj0nQkVrZWmN3ZP9sYKWJdtq3PWPhUNlqehWyXpYDcI9Sg==", "cpu": [ "x64" ], @@ -3193,13 +2894,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + "@img/sharp-libvips-linuxmusl-x64": "1.2.3" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", - "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.4.tgz", + "integrity": "sha512-33QL6ZO/qpRyG7woB/HUALz28WnTMI2W1jgX3Nu2bypqLIKx/QKMILLJzJjI+SIbvXdG9fUnmrxR7vbi1sTBeA==", "cpu": [ "wasm32" ], @@ -3207,8 +2908,28 @@ "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.2.0" + "@emnapi/runtime": "^1.5.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.4.tgz", + "integrity": "sha512-2Q250do/5WXTwxW3zjsEuMSv5sUU4Tq9VThWKlU2EYLm4MB7ZeMwF+SFJutldYODXF6jzc6YEOC+VfX0SZQPqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" }, @@ -3217,9 +2938,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", - "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.4.tgz", + "integrity": "sha512-3ZeLue5V82dT92CNL6rsal6I2weKw1cYu+rGKm8fOCCtJTR2gYeUfY3FqUnIJsMUPIH68oS5jmZ0NiJ508YpEw==", "cpu": [ "ia32" ], @@ -3237,9 +2958,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", - "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.4.tgz", + "integrity": "sha512-xIyj4wpYs8J18sVN3mSQjwrw7fKUqRw+Z5rnHNCy5fYTxigBz81u5mOMPmFumwjcn8+ld1ppptMBCLic1nz6ig==", "cpu": [ "x64" ], @@ -3256,17 +2977,27 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@inquirer/ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.0.tgz", + "integrity": "sha512-JWaTfCxI1eTmJ1BIv86vUfjVatOdxwD0DAVKYevY8SazeUUZtW+tNbsdejVO1GYE0GXJW1N1ahmiC3TFd+7wZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@inquirer/checkbox": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz", - "integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.4.tgz", + "integrity": "sha512-2n9Vgf4HSciFq8ttKXk+qy+GsyTXPV1An6QAwe/8bkbbqvG4VW1I/ZY1pNu2rf+h9bdzMLPbRSfcNxkHBy/Ydw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", - "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -3304,15 +3035,15 @@ } }, "node_modules/@inquirer/core": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz", - "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.2.tgz", + "integrity": "sha512-yXq/4QUnk4sHMtmbd7irwiepjB8jXU0kkFRL4nr/aDBA2mDz13cMakEWdDwX3eSCTkk03kwcndD1zfRAIlELxA==", "dev": true, "license": "MIT", "dependencies": { + "@inquirer/ansi": "^1.0.0", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", - "ansi-escapes": "^4.3.2", "cli-width": "^4.1.0", "mute-stream": "^2.0.0", "signal-exit": "^4.1.0", @@ -3332,14 +3063,14 @@ } }, "node_modules/@inquirer/editor": { - "version": "4.2.18", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz", - "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==", + "version": "4.2.20", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.20.tgz", + "integrity": "sha512-7omh5y5bK672Q+Brk4HBbnHNowOZwrb/78IFXdrEB9PfdxL3GudQyDk8O9vQ188wj3xrEebS2M9n18BjJoI83g==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", - "@inquirer/external-editor": "^1.0.1", + "@inquirer/core": "^10.2.2", + "@inquirer/external-editor": "^1.0.2", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3355,13 +3086,13 @@ } }, "node_modules/@inquirer/expand": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz", - "integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==", + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.20.tgz", + "integrity": "sha512-Dt9S+6qUg94fEvgn54F2Syf0Z3U8xmnBI9ATq2f5h9xt09fs2IJXSCIXyyVHwvggKWFXEY/7jATRo2K6Dkn6Ow==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/core": "^10.2.2", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, @@ -3378,14 +3109,14 @@ } }, "node_modules/@inquirer/external-editor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", - "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz", + "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==", "dev": true, "license": "MIT", "dependencies": { "chardet": "^2.1.0", - "iconv-lite": "^0.6.3" + "iconv-lite": "^0.7.0" }, "engines": { "node": ">=18" @@ -3399,19 +3130,6 @@ } } }, - "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@inquirer/figures": { "version": "1.0.13", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", @@ -3423,13 +3141,13 @@ } }, "node_modules/@inquirer/input": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz", - "integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.4.tgz", + "integrity": "sha512-cwSGpLBMwpwcZZsc6s1gThm0J+it/KIJ+1qFL2euLmSKUMGumJ5TcbMgxEjMjNHRGadouIYbiIgruKoDZk7klw==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/core": "^10.2.2", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3445,13 +3163,13 @@ } }, "node_modules/@inquirer/number": { - "version": "3.0.18", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz", - "integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.20.tgz", + "integrity": "sha512-bbooay64VD1Z6uMfNehED2A2YOPHSJnQLs9/4WNiV/EK+vXczf/R988itL2XLDGTgmhMF2KkiWZo+iEZmc4jqg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/core": "^10.2.2", "@inquirer/type": "^3.0.8" }, "engines": { @@ -3467,15 +3185,15 @@ } }, "node_modules/@inquirer/password": { - "version": "4.0.18", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz", - "integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==", + "version": "4.0.20", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.20.tgz", + "integrity": "sha512-nxSaPV2cPvvoOmRygQR+h0B+Av73B01cqYLcr7NXcGXhbmsYfUb8fDdw2Us1bI2YsX+VvY7I7upgFYsyf8+Nug==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", - "@inquirer/type": "^3.0.8", - "ansi-escapes": "^4.3.2" + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", + "@inquirer/type": "^3.0.8" }, "engines": { "node": ">=18" @@ -3520,13 +3238,13 @@ } }, "node_modules/@inquirer/rawlist": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz", - "integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==", + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.8.tgz", + "integrity": "sha512-CQ2VkIASbgI2PxdzlkeeieLRmniaUU1Aoi5ggEdm6BIyqopE9GuDXdDOj9XiwOqK5qm72oI2i6J+Gnjaa26ejg==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/core": "^10.2.2", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" }, @@ -3543,13 +3261,13 @@ } }, "node_modules/@inquirer/search": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz", - "integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.3.tgz", + "integrity": "sha512-D5T6ioybJJH0IiSUK/JXcoRrrm8sXwzrVMjibuPs+AgxmogKslaafy1oxFiorNI4s3ElSkeQZbhYQgLqiL8h6Q==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/core": "^10.2.2", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", "yoctocolors-cjs": "^2.1.2" @@ -3567,16 +3285,16 @@ } }, "node_modules/@inquirer/select": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz", - "integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.4.tgz", + "integrity": "sha512-Qp20nySRmfbuJBBsgPU7E/cL62Hf250vMZRzYDcBHty2zdD1kKCnoDFWRr0WO2ZzaXp3R7a4esaVGJUx0E6zvA==", "dev": true, "license": "MIT", "dependencies": { - "@inquirer/core": "^10.2.0", + "@inquirer/ansi": "^1.0.0", + "@inquirer/core": "^10.2.2", "@inquirer/figures": "^1.0.13", "@inquirer/type": "^3.0.8", - "ansi-escapes": "^4.3.2", "yoctocolors-cjs": "^2.1.2" }, "engines": { @@ -3609,6 +3327,29 @@ } } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -3628,9 +3369,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -3741,16 +3482,16 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.30", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", - "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "dev": true, "license": "MIT", "dependencies": { @@ -3758,16 +3499,26 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@keyv/serialize": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", - "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", + "node_modules/@keyv/bigmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.0.2.tgz", + "integrity": "sha512-KR03xkEZlAZNF4IxXgVXb+uNIVNvwdh8UwI0cnc7WI6a+aQcDp8GL80qVfeB4E5NpsKJzou5jU0r6yLSSbMOtA==", "dev": true, "license": "MIT", "dependencies": { - "buffer": "^6.0.3" + "hookified": "^1.12.1" + }, + "engines": { + "node": ">= 18" } }, + "node_modules/@keyv/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==", + "dev": true, + "license": "MIT" + }, "node_modules/@listr2/prompt-adapter-inquirer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", @@ -3786,15 +3537,15 @@ } }, "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.3.0.tgz", - "integrity": "sha512-nQIWonJ6eFAvUUrSlwyHDm/aE8PBDu5kRpL0vHMg6K8fK3Diq1xdPjTnsJSwxABhaZ+5eBi1btQB5ShUTKo4nQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz", + "integrity": "sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==", "license": "BSD-3-Clause" }, "node_modules/@lit-labs/virtualizer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@lit-labs/virtualizer/-/virtualizer-2.1.0.tgz", - "integrity": "sha512-I79sNaalK9rD6FWO/AoxBMnA6jjNBrQu7F6lzz8W/GkQLcqveMWK3IrJAilso+XeFFn7BvlxBv6FqZaoMt+Qkg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/virtualizer/-/virtualizer-2.1.1.tgz", + "integrity": "sha512-JWxMwnlouLdwpw8spLTuax53WMnSP3xt0dCyxAS7GJr5Otda9MGgR/ghAdfwhSY75TmjbE1T2TqChwoGCw3ggw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3803,9 +3554,9 @@ } }, "node_modules/@lit/context": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.5.tgz", - "integrity": "sha512-57KyQD9of4RlBXkOIF1N40/BLY1j+1wLB5wRmB207+VtwNIRfXbanLsB6BsnFYXrycOUIp2d8gqTNGwuW1lE9Q==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@lit/context/-/context-1.1.6.tgz", + "integrity": "sha512-M26qDE6UkQbZA2mQ3RjJ3Gzd8TxP+/0obMgE5HfkfLhEEyYE3Bui4A5XHiGPjy0MUGAyxB3QgVuw2ciS0kHn6A==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -3813,12 +3564,12 @@ } }, "node_modules/@lit/reactive-element": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.0.tgz", - "integrity": "sha512-L2qyoZSQClcBmq0qajBVbhYEcG6iK0XfLn66ifLe/RfC0/ihpc+pl0Wdn8bJ8o+hj38cG0fGXRgSS20MuXn7qA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.1.1.tgz", + "integrity": "sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0" + "@lit-labs/ssr-dom-shim": "^1.4.0" } }, "node_modules/@lmdb/lmdb-darwin-arm64": { @@ -3987,19 +3738,6 @@ "node": ">=18.0.0" } }, - "node_modules/@modelcontextprotocol/sdk/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -4007,22 +3745,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@modelcontextprotocol/sdk/node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", @@ -4431,16 +4153,16 @@ } }, "node_modules/@napi-rs/wasm-runtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.3.tgz", - "integrity": "sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.5.tgz", + "integrity": "sha512-TBr9Cf9onSAS2LQ2+QHx6XcC6h9+RIzJgbqG3++9TUZSH204AwEy5jg3BTQ0VATsyoGj4ee49tN/y6rvaOOtcg==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.5", - "@emnapi/runtime": "^1.4.5", - "@tybys/wasm-util": "^0.10.0" + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@tybys/wasm-util": "^0.10.1" } }, "node_modules/@nodelib/fs.scandir": { @@ -4617,31 +4339,30 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, "license": "ISC", "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "lru-cache": "^10.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, "node_modules/@npmcli/promise-spawn": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", - "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.3.tgz", + "integrity": "sha512-Yb00SWaL4F8w+K8YGhQ55+xE4RUNdMHV43WZGsiTM92gS+lC0mGsn7I4hLug7pbao035S6bj3Y3w0cUNGLfmkg==", "dev": true, "license": "ISC", "dependencies": { @@ -4738,20 +4459,10 @@ "dev": true, "license": "MIT" }, - "node_modules/@oxc-project/runtime": { - "version": "0.81.0", - "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.81.0.tgz", - "integrity": "sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@oxc-project/types": { - "version": "0.81.0", - "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.81.0.tgz", - "integrity": "sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==", + "version": "0.89.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.89.0.tgz", + "integrity": "sha512-yuo+ECPIW5Q9mSeNmCDC2im33bfKuwW18mwkaHMQh8KakHYDzj4ci/q7wxf2qS3dMlVVCIyrs3kFtH5LmnlYnw==", "dev": true, "license": "MIT", "funding": { @@ -4759,9 +4470,9 @@ } }, "node_modules/@pagefind/darwin-arm64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.3.0.tgz", - "integrity": "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.4.0.tgz", + "integrity": "sha512-2vMqkbv3lbx1Awea90gTaBsvpzgRs7MuSgKDxW0m9oV1GPZCZbZBJg/qL83GIUEN2BFlY46dtUZi54pwH+/pTQ==", "cpu": [ "arm64" ], @@ -4773,9 +4484,9 @@ ] }, "node_modules/@pagefind/darwin-x64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.3.0.tgz", - "integrity": "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.4.0.tgz", + "integrity": "sha512-e7JPIS6L9/cJfow+/IAqknsGqEPjJnVXGjpGm25bnq+NPdoD3c/7fAwr1OXkG4Ocjx6ZGSCijXEV4ryMcH2E3A==", "cpu": [ "x64" ], @@ -4787,16 +4498,30 @@ ] }, "node_modules/@pagefind/default-ui": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.3.0.tgz", - "integrity": "sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.4.0.tgz", + "integrity": "sha512-wie82VWn3cnGEdIjh4YwNESyS1G6vRHwL6cNjy9CFgNnWW/PGRjsLq300xjVH5sfPFK3iK36UxvIBymtQIEiSQ==", "dev": true, "license": "MIT" }, + "node_modules/@pagefind/freebsd-x64": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/freebsd-x64/-/freebsd-x64-1.4.0.tgz", + "integrity": "sha512-WcJVypXSZ+9HpiqZjFXMUobfFfZZ6NzIYtkhQ9eOhZrQpeY5uQFqNWLCk7w9RkMUwBv1HAMDW3YJQl/8OqsV0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@pagefind/linux-arm64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.3.0.tgz", - "integrity": "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.4.0.tgz", + "integrity": "sha512-PIt8dkqt4W06KGmQjONw7EZbhDF+uXI7i0XtRLN1vjCUxM9vGPdtJc2mUyVPevjomrGz5M86M8bqTr6cgDp1Uw==", "cpu": [ "arm64" ], @@ -4808,9 +4533,9 @@ ] }, "node_modules/@pagefind/linux-x64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.3.0.tgz", - "integrity": "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.4.0.tgz", + "integrity": "sha512-z4oddcWwQ0UHrTHR8psLnVlz6USGJ/eOlDPTDYZ4cI8TK8PgwRUPQZp9D2iJPNIPcS6Qx/E4TebjuGJOyK8Mmg==", "cpu": [ "x64" ], @@ -4822,9 +4547,9 @@ ] }, "node_modules/@pagefind/windows-x64": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.3.0.tgz", - "integrity": "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.4.0.tgz", + "integrity": "sha512-NkT+YAdgS2FPCn8mIA9bQhiBs+xmniMGq1LFPDhcFn0+2yIUEiIG06t7bsZlhdjknEQRTSdT7YitP6fC5qwP0g==", "cpu": [ "x64" ], @@ -5186,18 +4911,18 @@ "license": "MIT" }, "node_modules/@puppeteer/browsers": { - "version": "2.10.5", - "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.5.tgz", - "integrity": "sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==", + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.10.10.tgz", + "integrity": "sha512-3ZG500+ZeLql8rE0hjfhkycJjDj0pI/btEh3L9IkWUYcOrgP0xCNRq3HbtbqOPbvDhFaAWD88pDFtlLv8ns8gA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "debug": "^4.4.1", + "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.2", - "tar-fs": "^3.0.8", + "tar-fs": "^3.1.0", "yargs": "^17.7.2" }, "bin": { @@ -5207,53 +4932,137 @@ "node": ">=18" } }, - "node_modules/@rolldown/binding-android-arm64": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.32.tgz", - "integrity": "sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==", - "cpu": [ - "arm64" - ], + "node_modules/@puppeteer/browsers/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "engines": { + "node": ">=8" + } }, - "node_modules/@rolldown/binding-darwin-arm64": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.32.tgz", - "integrity": "sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==", - "cpu": [ - "arm64" - ], + "node_modules/@puppeteer/browsers/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } }, - "node_modules/@rolldown/binding-darwin-x64": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.32.tgz", - "integrity": "sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==", - "cpu": [ - "x64" - ], + "node_modules/@puppeteer/browsers/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rolldown/binding-freebsd-x64": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.32.tgz", - "integrity": "sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==", - "cpu": [ + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@puppeteer/browsers/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@puppeteer/browsers/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.38.tgz", + "integrity": "sha512-AE3HFQrjWCKLFZD1Vpiy+qsqTRwwoil1oM5WsKPSmfQ5fif/A+ZtOZetF32erZdsR7qyvns6qHEteEsF6g6rsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.38.tgz", + "integrity": "sha512-RaoWOKc0rrFsVmKOjQpebMY6c6/I7GR1FBc25v7L/R7NlM0166mUotwGEv7vxu7ruXH4SJcFeVrfADFUUXUmmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.38.tgz", + "integrity": "sha512-Ymojqc2U35iUc8NFU2XX1WQPfBRRHN6xHcrxAf9WS8BFFBn8pDrH5QPvH1tYs3lDkw6UGGbanr1RGzARqdUp1g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.38.tgz", + "integrity": "sha512-0ermTQ//WzSI0nOL3z/LUWMNiE9xeM5cLGxjewPFEexqxV/0uM8/lNp9QageQ8jfc/VO1OURsGw34HYO5PaL8w==", + "cpu": [ "x64" ], "dev": true, @@ -5261,12 +5070,15 @@ "optional": true, "os": [ "freebsd" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-linux-arm-gnueabihf": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.32.tgz", - "integrity": "sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.38.tgz", + "integrity": "sha512-GADxzVUTCTp6EWI52831A29Tt7PukFe94nhg/SUsfkI33oTiNQtPxyLIT/3oRegizGuPSZSlrdBurkjDwxyEUQ==", "cpu": [ "arm" ], @@ -5275,12 +5087,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-linux-arm64-gnu": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.32.tgz", - "integrity": "sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.38.tgz", + "integrity": "sha512-SKO7Exl5Yem/OSNoA5uLHzyrptUQ8Hg70kHDxuwEaH0+GUg+SQe9/7PWmc4hFKBMrJGdQtii8WZ0uIz9Dofg5Q==", "cpu": [ "arm64" ], @@ -5289,12 +5104,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-linux-arm64-musl": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.32.tgz", - "integrity": "sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.38.tgz", + "integrity": "sha512-SOo6+WqhXPBaShLxLT0eCgH17d3Yu1lMAe4mFP0M9Bvr/kfMSOPQXuLxBcbBU9IFM9w3N6qP9xWOHO+oUJvi8Q==", "cpu": [ "arm64" ], @@ -5303,12 +5121,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-linux-x64-gnu": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.32.tgz", - "integrity": "sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.38.tgz", + "integrity": "sha512-yvsQ3CyrodOX+lcoi+lejZGCOvJZa9xTsNB8OzpMDmHeZq3QzJfpYjXSAS6vie70fOkLVJb77UqYO193Cl8XBQ==", "cpu": [ "x64" ], @@ -5317,12 +5138,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-linux-x64-musl": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.32.tgz", - "integrity": "sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.38.tgz", + "integrity": "sha512-84qzKMwUwikfYeOuJ4Kxm/3z15rt0nFGGQArHYIQQNSTiQdxGHxOkqXtzPFqrVfBJUdxBAf+jYzR1pttFJuWyg==", "cpu": [ "x64" ], @@ -5331,12 +5155,15 @@ "optional": true, "os": [ "linux" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-openharmony-arm64": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.32.tgz", - "integrity": "sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.38.tgz", + "integrity": "sha512-QrNiWlce01DYH0rL8K3yUBu+lNzY+B0DyCbIc2Atan6/S6flxOL0ow5DLQvMamOI/oKhrJ4xG+9MkMb9dDHbLQ==", "cpu": [ "arm64" ], @@ -5345,12 +5172,15 @@ "optional": true, "os": [ "openharmony" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-wasm32-wasi": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.32.tgz", - "integrity": "sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.38.tgz", + "integrity": "sha512-fnLtHyjwEsG4/aNV3Uv3Qd1ZbdH+CopwJNoV0RgBqrcQB8V6/Qdikd5JKvnO23kb3QvIpP+dAMGZMv1c2PJMzw==", "cpu": [ "wasm32" ], @@ -5358,16 +5188,16 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^1.0.3" + "@napi-rs/wasm-runtime": "^1.0.5" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@rolldown/binding-win32-arm64-msvc": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.32.tgz", - "integrity": "sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.38.tgz", + "integrity": "sha512-19cTfnGedem+RY+znA9J6ARBOCEFD4YSjnx0p5jiTm9tR6pHafRfFIfKlTXhun+NL0WWM/M0eb2IfPPYUa8+wg==", "cpu": [ "arm64" ], @@ -5376,12 +5206,15 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-win32-ia32-msvc": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.32.tgz", - "integrity": "sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.38.tgz", + "integrity": "sha512-HcICm4YzFJZV+fI0O0bFLVVlsWvRNo/AB9EfUXvNYbtAxakCnQZ15oq22deFdz6sfi9Y4/SagH2kPU723dhCFA==", "cpu": [ "ia32" ], @@ -5390,12 +5223,15 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/binding-win32-x64-msvc": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.32.tgz", - "integrity": "sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.38.tgz", + "integrity": "sha512-4Qx6cgEPXLb0XsCyLoQcUgYBpfL0sjugftob+zhUH0EOk/NVCAIT+h0NJhY+jn7pFpeKxhNMqhvTNx3AesxIAQ==", "cpu": [ "x64" ], @@ -5404,12 +5240,15 @@ "optional": true, "os": [ "win32" - ] + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.32.tgz", - "integrity": "sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.38.tgz", + "integrity": "sha512-N/ICGKleNhA5nc9XXQG/kkKHJ7S55u0x0XUJbbkmdCnFuoRkM1Il12q9q0eX19+M7KKUEPw/daUPIRnxhcxAIw==", "dev": true, "license": "MIT" }, @@ -5435,9 +5274,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dev": true, "license": "MIT", "dependencies": { @@ -5457,10 +5296,17 @@ } } }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.49.0.tgz", - "integrity": "sha512-rlKIeL854Ed0e09QGYFlmDNbka6I3EQFw7iZuugQjMb11KMpJCLPFL4ZPbMfaEhLADEL1yx0oujGkBQ7+qW3eA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.3.tgz", + "integrity": "sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==", "cpu": [ "arm" ], @@ -5472,9 +5318,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.49.0.tgz", - "integrity": "sha512-cqPpZdKUSQYRtLLr6R4X3sD4jCBO1zUmeo3qrWBCqYIeH8Q3KRL4F3V7XJ2Rm8/RJOQBZuqzQGWPjjvFUcYa/w==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.3.tgz", + "integrity": "sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==", "cpu": [ "arm64" ], @@ -5486,9 +5332,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.49.0.tgz", - "integrity": "sha512-99kMMSMQT7got6iYX3yyIiJfFndpojBmkHfTc1rIje8VbjhmqBXE+nb7ZZP3A5skLyujvT0eIUCUsxAe6NjWbw==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.3.tgz", + "integrity": "sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==", "cpu": [ "arm64" ], @@ -5500,9 +5346,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.49.0.tgz", - "integrity": "sha512-y8cXoD3wdWUDpjOLMKLx6l+NFz3NlkWKcBCBfttUn+VGSfgsQ5o/yDUGtzE9HvsodkP0+16N0P4Ty1VuhtRUGg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.3.tgz", + "integrity": "sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==", "cpu": [ "x64" ], @@ -5514,9 +5360,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.49.0.tgz", - "integrity": "sha512-3mY5Pr7qv4GS4ZvWoSP8zha8YoiqrU+e0ViPvB549jvliBbdNLrg2ywPGkgLC3cmvN8ya3za+Q2xVyT6z+vZqA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.3.tgz", + "integrity": "sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==", "cpu": [ "arm64" ], @@ -5528,9 +5374,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.49.0.tgz", - "integrity": "sha512-C9KzzOAQU5gU4kG8DTk+tjdKjpWhVWd5uVkinCwwFub2m7cDYLOdtXoMrExfeBmeRy9kBQMkiyJ+HULyF1yj9w==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.3.tgz", + "integrity": "sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==", "cpu": [ "x64" ], @@ -5542,9 +5388,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.49.0.tgz", - "integrity": "sha512-OVSQgEZDVLnTbMq5NBs6xkmz3AADByCWI4RdKSFNlDsYXdFtlxS59J+w+LippJe8KcmeSSM3ba+GlsM9+WwC1w==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.3.tgz", + "integrity": "sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==", "cpu": [ "arm" ], @@ -5556,9 +5402,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.49.0.tgz", - "integrity": "sha512-ZnfSFA7fDUHNa4P3VwAcfaBLakCbYaxCk0jUnS3dTou9P95kwoOLAMlT3WmEJDBCSrOEFFV0Y1HXiwfLYJuLlA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.3.tgz", + "integrity": "sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==", "cpu": [ "arm" ], @@ -5570,9 +5416,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.49.0.tgz", - "integrity": "sha512-Z81u+gfrobVK2iV7GqZCBfEB1y6+I61AH466lNK+xy1jfqFLiQ9Qv716WUM5fxFrYxwC7ziVdZRU9qvGHkYIJg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.3.tgz", + "integrity": "sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==", "cpu": [ "arm64" ], @@ -5584,9 +5430,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.49.0.tgz", - "integrity": "sha512-zoAwS0KCXSnTp9NH/h9aamBAIve0DXeYpll85shf9NJ0URjSTzzS+Z9evmolN+ICfD3v8skKUPyk2PO0uGdFqg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.3.tgz", + "integrity": "sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==", "cpu": [ "arm64" ], @@ -5597,10 +5443,10 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.49.0.tgz", - "integrity": "sha512-2QyUyQQ1ZtwZGiq0nvODL+vLJBtciItC3/5cYN8ncDQcv5avrt2MbKt1XU/vFAJlLta5KujqyHdYtdag4YEjYQ==", + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.3.tgz", + "integrity": "sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==", "cpu": [ "loong64" ], @@ -5612,9 +5458,9 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.49.0.tgz", - "integrity": "sha512-k9aEmOWt+mrMuD3skjVJSSxHckJp+SiFzFG+v8JLXbc/xi9hv2icSkR3U7uQzqy+/QbbYY7iNB9eDTwrELo14g==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.3.tgz", + "integrity": "sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==", "cpu": [ "ppc64" ], @@ -5626,9 +5472,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.49.0.tgz", - "integrity": "sha512-rDKRFFIWJ/zJn6uk2IdYLc09Z7zkE5IFIOWqpuU0o6ZpHcdniAyWkwSUWE/Z25N/wNDmFHHMzin84qW7Wzkjsw==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.3.tgz", + "integrity": "sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==", "cpu": [ "riscv64" ], @@ -5640,9 +5486,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.49.0.tgz", - "integrity": "sha512-FkkhIY/hYFVnOzz1WeV3S9Bd1h0hda/gRqvZCMpHWDHdiIHn6pqsY3b5eSbvGccWHMQ1uUzgZTKS4oGpykf8Tw==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.3.tgz", + "integrity": "sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==", "cpu": [ "riscv64" ], @@ -5654,9 +5500,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.49.0.tgz", - "integrity": "sha512-gRf5c+A7QiOG3UwLyOOtyJMD31JJhMjBvpfhAitPAoqZFcOeK3Kc1Veg1z/trmt+2P6F/biT02fU19GGTS529A==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.3.tgz", + "integrity": "sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==", "cpu": [ "s390x" ], @@ -5668,9 +5514,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.49.0.tgz", - "integrity": "sha512-BR7+blScdLW1h/2hB/2oXM+dhTmpW3rQt1DeSiCP9mc2NMMkqVgjIN3DDsNpKmezffGC9R8XKVOLmBkRUcK/sA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.3.tgz", + "integrity": "sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==", "cpu": [ "x64" ], @@ -5682,9 +5528,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.49.0.tgz", - "integrity": "sha512-hDMOAe+6nX3V5ei1I7Au3wcr9h3ktKzDvF2ne5ovX8RZiAHEtX1A5SNNk4zt1Qt77CmnbqT+upb/umzoPMWiPg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.3.tgz", + "integrity": "sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==", "cpu": [ "x64" ], @@ -5695,10 +5541,24 @@ "linux" ] }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.3.tgz", + "integrity": "sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.49.0.tgz", - "integrity": "sha512-wkNRzfiIGaElC9kXUT+HLx17z7D0jl+9tGYRKwd8r7cUqTL7GYAvgUY++U2hK6Ar7z5Z6IRRoWC8kQxpmM7TDA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.3.tgz", + "integrity": "sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==", "cpu": [ "arm64" ], @@ -5710,9 +5570,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.49.0.tgz", - "integrity": "sha512-gq5aW/SyNpjp71AAzroH37DtINDcX1Qw2iv9Chyz49ZgdOP3NV8QCyKZUrGsYX9Yyggj5soFiRCgsL3HwD8TdA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.3.tgz", + "integrity": "sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==", "cpu": [ "ia32" ], @@ -5723,10 +5583,24 @@ "win32" ] }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.3.tgz", + "integrity": "sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.49.0.tgz", - "integrity": "sha512-gEtqFbzmZLFk2xKh7g0Rlo8xzho8KrEFEkzvHbfUGkrgXOpZ4XagQ6n+wIZFNh1nTb8UD16J4nFSFKXYgnbdBg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.3.tgz", + "integrity": "sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==", "cpu": [ "x64" ], @@ -5738,13 +5612,13 @@ ] }, "node_modules/@rollup/wasm-node": { - "version": "4.41.1", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.41.1.tgz", - "integrity": "sha512-70qfem+U3hAgwNgOlnUQiIdfKHLELUxsEWbFWg3aErPUvsyXYF1HALJBwoDgMUhRWyn+SqWVneDTnO/Kbey9hg==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.52.3.tgz", + "integrity": "sha512-Vltzfan6IBSm4dG3w8ArFVUMhBABbW/9uYMPnbYyv2Vk+Jry9qzlXKvxSZhDbvwtb0GJHDWwPOMj6d8G2cb9Tw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.7" + "@types/estree": "1.0.8" }, "bin": { "rollup": "dist/bin/rollup" @@ -5758,14 +5632,14 @@ } }, "node_modules/@schematics/angular": { - "version": "20.3.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.1.tgz", - "integrity": "sha512-v2SNPaEHuMZyL85tYEQeFJvf7cFxSzXHbotcCrXRBuK3RSAvYXxWlpuBU+jGfZq2FjFZ+G7nHJZLAA/a1UqAvA==", + "version": "20.3.3", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.3.3.tgz", + "integrity": "sha512-lqIP1pNKp8yaqd663R3graZWaTBjXH+Cl72BQl1Ghl7lFGReZJALr4GiSMiBR9r30Epklcw5TwOSi+Bs4UKmbw==", "dev": true, "license": "MIT", "dependencies": { - "@angular-devkit/core": "20.3.1", - "@angular-devkit/schematics": "20.3.1", + "@angular-devkit/core": "20.3.3", + "@angular-devkit/schematics": "20.3.3", "jsonc-parser": "3.3.1" }, "engines": { @@ -5775,113 +5649,69 @@ } }, "node_modules/@shikijs/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.6.0.tgz", - "integrity": "sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.13.0.tgz", + "integrity": "sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.6.0", + "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, - "node_modules/@shikijs/core/node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, "node_modules/@shikijs/engine-javascript": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.6.0.tgz", - "integrity": "sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.13.0.tgz", + "integrity": "sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "3.6.0", + "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.3.3" } }, - "node_modules/@shikijs/engine-javascript/node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, "node_modules/@shikijs/engine-oniguruma": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-1.29.2.tgz", - "integrity": "sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.13.0.tgz", + "integrity": "sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/types": "1.29.2", - "@shikijs/vscode-textmate": "^10.0.1" + "@shikijs/types": "3.13.0", + "@shikijs/vscode-textmate": "^10.0.2" } }, "node_modules/@shikijs/langs": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.6.0.tgz", - "integrity": "sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.6.0" - } - }, - "node_modules/@shikijs/langs/node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.13.0.tgz", + "integrity": "sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "@shikijs/types": "3.13.0" } }, "node_modules/@shikijs/themes": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.6.0.tgz", - "integrity": "sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.6.0" - } - }, - "node_modules/@shikijs/themes/node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.13.0.tgz", + "integrity": "sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" + "@shikijs/types": "3.13.0" } }, "node_modules/@shikijs/types": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-1.29.2.tgz", - "integrity": "sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.13.0.tgz", + "integrity": "sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==", "dev": true, "license": "MIT", "dependencies": { - "@shikijs/vscode-textmate": "^10.0.1", + "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, @@ -5916,9 +5746,9 @@ } }, "node_modules/@sigstore/protobuf-specs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.2.tgz", - "integrity": "sha512-F2ye+n1INNhqT0MW+LfUEvTUPc/nS70vICJcxorKl7/gV9CO39+EDCw+qHNKEqvsDWk++yGVKCbzK1qLPvmC8g==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", "dev": true, "license": "Apache-2.0", "engines": { @@ -6079,9 +5909,9 @@ } }, "node_modules/@tybys/wasm-util": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", - "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", "dev": true, "license": "MIT", "optional": true, @@ -6090,9 +5920,9 @@ } }, "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", "dev": true, "license": "MIT", "dependencies": { @@ -6111,9 +5941,9 @@ } }, "node_modules/@types/cors": { - "version": "2.8.18", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.18.tgz", - "integrity": "sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==", + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "dev": true, "license": "MIT", "dependencies": { @@ -6131,16 +5961,16 @@ } }, "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", "dev": true, "license": "MIT" }, "node_modules/@types/express": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.2.tgz", - "integrity": "sha512-BtjL3ZwbCQriyb0DGw+Rt12qAXPiBTPs815lsUvtt1Grk0vLRMZNMUZ741d5rjk+UQOxfDiBZ3dxpX00vSkK3g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/express/-/express-5.0.3.tgz", + "integrity": "sha512-wGA0NX93b19/dZC1J18tKWVIYWyyF2ZjT9vin/NRu0qzzvfVzWjs04iq2rQ3H65vCTQYlRqs3YHfY7zjdV+9Kw==", "dev": true, "license": "MIT", "dependencies": { @@ -6150,9 +5980,9 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.6.tgz", - "integrity": "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.7.tgz", + "integrity": "sha512-R+33OsgWw7rOhD1emjU7dzCDHucJrgJXMA5PYCzJxVil0dsyx5iBEPHqpPfiKNJQb7lZ1vxwoLR4Z87bBUpeGQ==", "dev": true, "license": "MIT", "dependencies": { @@ -6190,16 +6020,16 @@ } }, "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", "dev": true, "license": "MIT" }, "node_modules/@types/jasmine": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.8.tgz", - "integrity": "sha512-u7/CnvRdh6AaaIzYjCgUuVbREFgulhX05Qtf6ZtW+aOcjCKKVvKgpkPYJBFTZSHtFBYimzU4zP0V2vrEsq9Wcg==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz", + "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==", "dev": true, "license": "MIT" }, @@ -6255,13 +6085,13 @@ } }, "node_modules/@types/node": { - "version": "20.17.52", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.52.tgz", - "integrity": "sha512-2aj++KfxubvW/Lc0YyXE3OEW7Es8TWn1MsRzYgcOGyTNQxi0L8rxQUCZ7ZbyOBWZQD5I63PV9egZWMsapVaklg==", + "version": "20.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.19.tgz", + "integrity": "sha512-pb1Uqj5WJP7wrcbLU7Ru4QtA0+3kAXrkutGiD26wUKzSMgNNaPARTUDQmElUXp64kh3cWdou3Q0C7qwwxqSFmg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~6.19.2" + "undici-types": "~6.21.0" } }, "node_modules/@types/qs": { @@ -6290,9 +6120,9 @@ } }, "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.5.tgz", + "integrity": "sha512-z6F2D3cOStZvuk2SaP6YrwkNO65iTZcwA2ZkSABegdkAh/lf+Aa/YQndZVfmEXT5vgAp6zv06VQ3ejSVjAny4w==", "dev": true, "license": "MIT", "dependencies": { @@ -6301,9 +6131,9 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "version": "1.15.8", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.8.tgz", + "integrity": "sha512-roei0UY3LhpOJvjbIP6ZZFngyLKl5dskOtDhxY5THRSpO+ZI+nzJ+m5yUMzGrp89YRa7lvknKkMYjqQFGwA7Sg==", "dev": true, "license": "MIT", "dependencies": { @@ -6350,17 +6180,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.41.0.tgz", - "integrity": "sha512-8fz6oa6wEKZrhXWro/S3n2eRJqlRcIa6SlDh59FXJ5Wp5XRZ8B9ixpJDcjadHq47hMx0u+HW6SNa6LjJQ6NLtw==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.45.0.tgz", + "integrity": "sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.41.0", - "@typescript-eslint/type-utils": "8.41.0", - "@typescript-eslint/utils": "8.41.0", - "@typescript-eslint/visitor-keys": "8.41.0", + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/type-utils": "8.45.0", + "@typescript-eslint/utils": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", "graphemer": "^1.4.0", "ignore": "^7.0.0", "natural-compare": "^1.4.0", @@ -6374,22 +6204,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.41.0", + "@typescript-eslint/parser": "^8.45.0", "eslint": "^8.57.0 || ^9.0.0", "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.41.0.tgz", - "integrity": "sha512-gTtSdWX9xiMPA/7MV9STjJOOYtWwIJIYxkQxnSV1U3xcE+mnJSH3f6zI0RYP+ew66WSlZ5ed+h0VCxsvdC1jJg==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.45.0.tgz", + "integrity": "sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.41.0", - "@typescript-eslint/types": "8.41.0", - "@typescript-eslint/typescript-estree": "8.41.0", - "@typescript-eslint/visitor-keys": "8.41.0", + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", "debug": "^4.3.4" }, "engines": { @@ -6405,14 +6235,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.41.0.tgz", - "integrity": "sha512-b8V9SdGBQzQdjJ/IO3eDifGpDBJfvrNTp2QD9P2BeqWTGrRibgfgIlBSw6z3b6R7dPzg752tOs4u/7yCLxksSQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.45.0.tgz", + "integrity": "sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.41.0", - "@typescript-eslint/types": "^8.41.0", + "@typescript-eslint/tsconfig-utils": "^8.45.0", + "@typescript-eslint/types": "^8.45.0", "debug": "^4.3.4" }, "engines": { @@ -6427,14 +6257,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.41.0.tgz", - "integrity": "sha512-n6m05bXn/Cd6DZDGyrpXrELCPVaTnLdPToyhBoFkLIMznRUQUEQdSp96s/pcWSQdqOhrgR1mzJ+yItK7T+WPMQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.45.0.tgz", + "integrity": "sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.41.0", - "@typescript-eslint/visitor-keys": "8.41.0" + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6445,9 +6275,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.41.0.tgz", - "integrity": "sha512-TDhxYFPUYRFxFhuU5hTIJk+auzM/wKvWgoNYOPcOf6i4ReYlOoYN8q1dV5kOTjNQNJgzWN3TUUQMtlLOcUgdUw==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.45.0.tgz", + "integrity": "sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==", "dev": true, "license": "MIT", "engines": { @@ -6462,15 +6292,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.41.0.tgz", - "integrity": "sha512-63qt1h91vg3KsjVVonFJWjgSK7pZHSQFKH6uwqxAH9bBrsyRhO6ONoKyXxyVBzG1lJnFAJcKAcxLS54N1ee1OQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.45.0.tgz", + "integrity": "sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.41.0", - "@typescript-eslint/typescript-estree": "8.41.0", - "@typescript-eslint/utils": "8.41.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0", + "@typescript-eslint/utils": "8.45.0", "debug": "^4.3.4", "ts-api-utils": "^2.1.0" }, @@ -6487,9 +6317,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.41.0.tgz", - "integrity": "sha512-9EwxsWdVqh42afLbHP90n2VdHaWU/oWgbH2P0CfcNfdKL7CuKpwMQGjwev56vWu9cSKU7FWSu6r9zck6CVfnag==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.45.0.tgz", + "integrity": "sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==", "dev": true, "license": "MIT", "engines": { @@ -6501,16 +6331,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.41.0.tgz", - "integrity": "sha512-D43UwUYJmGhuwHfY7MtNKRZMmfd8+p/eNSfFe6tH5mbVDto+VQCayeAt35rOx3Cs6wxD16DQtIKw/YXxt5E0UQ==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.45.0.tgz", + "integrity": "sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.41.0", - "@typescript-eslint/tsconfig-utils": "8.41.0", - "@typescript-eslint/types": "8.41.0", - "@typescript-eslint/visitor-keys": "8.41.0", + "@typescript-eslint/project-service": "8.45.0", + "@typescript-eslint/tsconfig-utils": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/visitor-keys": "8.45.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -6530,16 +6360,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.41.0.tgz", - "integrity": "sha512-udbCVstxZ5jiPIXrdH+BZWnPatjlYwJuJkDA4Tbo3WyYLh8NvB+h/bKeSZHDOFKfphsZYJQqaFtLeXEqurQn1A==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.45.0.tgz", + "integrity": "sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.41.0", - "@typescript-eslint/types": "8.41.0", - "@typescript-eslint/typescript-estree": "8.41.0" + "@typescript-eslint/scope-manager": "8.45.0", + "@typescript-eslint/types": "8.45.0", + "@typescript-eslint/typescript-estree": "8.45.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -6554,13 +6384,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.41.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.41.0.tgz", - "integrity": "sha512-+GeGMebMCy0elMNg67LRNoVnUFPIm37iu5CmHESVx56/9Jsfdpsvbv605DQ81Pi/x11IdKUsS5nzgTYbCQU9fg==", + "version": "8.45.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.45.0.tgz", + "integrity": "sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.41.0", + "@typescript-eslint/types": "8.45.0", "eslint-visitor-keys": "^4.2.1" }, "engines": { @@ -6639,14 +6469,13 @@ } }, "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "license": "MIT", "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" }, "engines": { "node": ">= 0.6" @@ -6689,9 +6518,9 @@ } }, "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, "license": "MIT", "engines": { @@ -6818,16 +6647,16 @@ } }, "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", + "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", "dev": true, "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "environment": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6860,9 +6689,9 @@ } }, "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", "dev": true, "license": "MIT", "engines": { @@ -6899,9 +6728,9 @@ } }, "node_modules/ansis": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", - "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", "dev": true, "license": "ISC", "engines": { @@ -7098,72 +6927,73 @@ } }, "node_modules/astro": { - "version": "5.9.4", - "resolved": "https://registry.npmjs.org/astro/-/astro-5.9.4.tgz", - "integrity": "sha512-AEulm16C9IijMYrFb3VIFx9z17p/wfDSHUHdbbvSEX+rBca64xV+f67tnsql3s4CE8u2cwYpdX+5yH7l53W4iA==", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.14.1.tgz", + "integrity": "sha512-gPa8NY7/lP8j8g81iy8UwANF3+aukKRWS68IlthZQNgykpg80ne6lbHOp6FErYycxQ1TUhgEfkXVDQZAoJx8Bg==", "dev": true, "license": "MIT", "dependencies": { "@astrojs/compiler": "^2.12.2", - "@astrojs/internal-helpers": "0.6.1", - "@astrojs/markdown-remark": "6.3.2", + "@astrojs/internal-helpers": "0.7.3", + "@astrojs/markdown-remark": "6.3.7", "@astrojs/telemetry": "3.3.0", "@capsizecss/unpack": "^2.4.0", "@oslojs/encoding": "^1.1.0", - "@rollup/pluginutils": "^5.1.4", - "acorn": "^8.14.1", + "@rollup/pluginutils": "^5.2.0", + "acorn": "^8.15.0", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", - "ci-info": "^4.2.0", + "ci-info": "^4.3.0", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.0.2", "cssesc": "^3.0.0", - "debug": "^4.4.0", + "debug": "^4.4.1", "deterministic-object-hash": "^2.0.2", - "devalue": "^5.1.1", + "devalue": "^5.3.2", "diff": "^5.2.0", "dlv": "^1.1.3", "dset": "^3.1.4", - "es-module-lexer": "^1.6.0", + "es-module-lexer": "^1.7.0", "esbuild": "^0.25.0", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "fontace": "~0.3.0", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", - "http-cache-semantics": "^4.1.1", - "import-meta-resolve": "^4.1.0", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", "js-yaml": "^4.1.0", "kleur": "^4.1.5", - "magic-string": "^0.30.17", + "magic-string": "^0.30.18", "magicast": "^0.3.5", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.0", - "package-manager-detector": "^1.1.0", - "picomatch": "^4.0.2", + "package-manager-detector": "^1.3.0", + "picomatch": "^4.0.3", "prompts": "^2.4.2", "rehype": "^13.0.2", - "semver": "^7.7.1", - "shiki": "^3.2.1", + "semver": "^7.7.2", + "shiki": "^3.12.0", + "smol-toml": "^1.4.2", "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.12", - "tsconfck": "^3.1.5", + "tinyglobby": "^0.2.14", + "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", - "unifont": "~0.5.0", + "unifont": "~0.5.2", "unist-util-visit": "^5.0.0", - "unstorage": "^1.15.0", + "unstorage": "^1.17.0", "vfile": "^6.0.3", - "vite": "^6.3.4", - "vitefu": "^1.0.6", + "vite": "^6.3.6", + "vitefu": "^1.1.1", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", - "yocto-spinner": "^0.2.1", - "zod": "^3.24.2", - "zod-to-json-schema": "^3.24.5", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.24.6", "zod-to-ts": "^1.2.0" }, "bin": { @@ -7179,7 +7009,7 @@ "url": "https://opencollective.com/astrodotbuild" }, "optionalDependencies": { - "sharp": "^0.33.3" + "sharp": "^0.34.0" } }, "node_modules/astro-breadcrumbs": { @@ -7228,9 +7058,9 @@ } }, "node_modules/astro-pagefind": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/astro-pagefind/-/astro-pagefind-1.8.3.tgz", - "integrity": "sha512-Nfo1TdlEHdkXTiI0KpimLqX6awK3qWTil7IOJvk5Q8x+0VBTpIEp9QvGgoAxXDe3upAHLVsg4y7U1uUPm7GC9w==", + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/astro-pagefind/-/astro-pagefind-1.8.5.tgz", + "integrity": "sha512-CVhKKA9bTQ7hLsHk9KTNDzOdgR4EI04gn0mjDGfnXzaHx7rL92YkNpFM5AoFl9NWmOUbaIFC2DN7Yvs/ZFPRdA==", "dev": true, "license": "MIT", "dependencies": { @@ -7242,233 +7072,99 @@ "astro": "^2.0.4 || ^3 || ^4 || ^5" } }, - "node_modules/astro/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/astro/node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=18" } }, - "node_modules/astro/node_modules/boxen": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", - "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-align": "^3.0.1", - "camelcase": "^8.0.0", - "chalk": "^5.3.0", - "cli-boxes": "^3.0.0", - "string-width": "^7.2.0", - "type-fest": "^4.21.0", - "widest-line": "^5.0.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/camelcase": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", - "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/astro/node_modules/ci-info": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.2.0.tgz", - "integrity": "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/astro/node_modules/cli-boxes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", - "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/astro/node_modules/diff": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", - "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/astro/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true, - "license": "MIT" - }, - "node_modules/astro/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/astro/node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0" + "@jridgewell/sourcemap-codec": "^1.5.5" } }, - "node_modules/astro/node_modules/html-escaper": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", - "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/astro/node_modules/p-limit": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", - "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "node_modules/astro/node_modules/vite": { + "version": "6.3.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.6.tgz", + "integrity": "sha512-0msEVHJEScQbhkbVTb/4iHZdJ6SXp/AvxL2sjwYQFfBqleHtnCqv1J3sa9zbWz/6kW1m9Tfzn92vW+kZ1WV6QA==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^1.1.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=16" + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/widest-line": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", - "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", - "dev": true, - "license": "MIT", - "dependencies": { - "string-width": "^7.0.0" + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">=18" + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/astro/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" + "url": "https://github.com/vitejs/vite?sponsor=1" }, - "engines": { - "node": ">=18" + "optionalDependencies": { + "fsevents": "~2.3.3" }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/astro/node_modules/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } } }, "node_modules/async": { @@ -7558,11 +7254,19 @@ } }, "node_modules/b4a": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.7.tgz", - "integrity": "sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==", + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", "dev": true, - "license": "Apache-2.0" + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } }, "node_modules/babel-runtime": { "version": "6.26.0", @@ -7609,24 +7313,25 @@ "license": "MIT" }, "node_modules/bare-events": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.5.4.tgz", - "integrity": "sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.7.0.tgz", + "integrity": "sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==", "dev": true, - "license": "Apache-2.0", - "optional": true + "license": "Apache-2.0" }, "node_modules/bare-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz", - "integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.5.tgz", + "integrity": "sha512-TCtu93KGLu6/aiGWzMr12TmSRS6nKdfhAnzTQRbXoSWxkbb9eRd53jQ51jG7g1gYjjtto3hbBrrhzg6djcgiKg==", "dev": true, "license": "Apache-2.0", "optional": true, "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", - "bare-stream": "^2.6.4" + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" }, "engines": { "bare": ">=1.16.0" @@ -7641,9 +7346,9 @@ } }, "node_modules/bare-os": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz", - "integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz", + "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -7663,9 +7368,9 @@ } }, "node_modules/bare-stream": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz", - "integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz", + "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -7685,6 +7390,17 @@ } } }, + "node_modules/bare-url": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.2.2.tgz", + "integrity": "sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "bare-path": "^3.0.0" + } + }, "node_modules/base-64": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", @@ -7723,6 +7439,16 @@ "node": "^4.5.0 || >= 5.9" } }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.9.tgz", + "integrity": "sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, "node_modules/basic-ftp": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", @@ -7806,52 +7532,42 @@ { "type": "consulting", "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dev": true, - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + } + ], + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=18" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "node_modules/body-parser/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "license": "MIT", "dependencies": { - "ms": "2.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -7860,56 +7576,101 @@ "license": "ISC" }, "node_modules/boxen": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", - "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", "dev": true, "license": "MIT", "dependencies": { - "ansi-align": "^3.0.0", - "camelcase": "^5.3.1", - "chalk": "^3.0.0", - "cli-boxes": "^2.2.0", - "string-width": "^4.1.0", - "term-size": "^2.1.0", - "type-fest": "^0.8.1", - "widest-line": "^3.1.0" + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/boxen/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/boxen/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "node_modules/boxen/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, - "license": "(MIT OR CC0-1.0)", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7940,9 +7701,9 @@ } }, "node_modules/browserslist": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.0.tgz", - "integrity": "sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==", + "version": "4.26.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.26.2.tgz", + "integrity": "sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==", "dev": true, "funding": [ { @@ -7960,9 +7721,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001718", - "electron-to-chromium": "^1.5.160", - "node-releases": "^2.0.19", + "baseline-browser-mapping": "^2.8.3", + "caniuse-lite": "^1.0.30001741", + "electron-to-chromium": "^1.5.218", + "node-releases": "^2.0.21", "update-browserslist-db": "^1.1.3" }, "bin": { @@ -8077,27 +7839,6 @@ "node": ">=18" } }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cacache/node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -8105,22 +7846,6 @@ "dev": true, "license": "ISC" }, - "node_modules/cacache/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cacache/node_modules/p-map": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", @@ -8135,17 +7860,16 @@ } }, "node_modules/cacache/node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", "dev": true, "license": "ISC", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", + "minizlib": "^3.1.0", "yallist": "^5.0.0" }, "engines": { @@ -8163,14 +7887,17 @@ } }, "node_modules/cacheable": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", - "integrity": "sha512-8D5htMCxPDUULux9gFzv30f04Xo3wCnik0oOxKoRTPIBoqA7HtOcJ87uBhQTs3jCfZZTrUBGsYIZOgE0ZRgMAg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.0.2.tgz", + "integrity": "sha512-dWjhLx8RWnPsAWVKwW/wI6OJpQ/hSVb1qS0NUif8TR9vRiSwci7Gey8x04kRU9iAF+Rnbtex5Kjjfg/aB5w8Pg==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.8.2", - "keyv": "^5.3.3" + "@cacheable/memoize": "^2.0.2", + "@cacheable/memory": "^2.0.2", + "@cacheable/utils": "^2.0.2", + "hookified": "^1.12.1", + "keyv": "^5.5.2" } }, "node_modules/cacheable-request": { @@ -8220,13 +7947,13 @@ } }, "node_modules/cacheable/node_modules/keyv": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.3.tgz", - "integrity": "sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.5.3.tgz", + "integrity": "sha512-h0Un1ieD+HUrzBH6dJXhod3ifSghk5Hw/2Y4/KHBziPlZecrFyE9YOTPU6eOs0V9pYl8gOs86fkr/KN8lUX39A==", "dev": true, "license": "MIT", "dependencies": { - "@keyv/serialize": "^1.0.3" + "@keyv/serialize": "^1.1.1" } }, "node_modules/call-bind": { @@ -8299,19 +8026,22 @@ } }, "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001720", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001720.tgz", - "integrity": "sha512-Ec/2yV2nNPwb4DnTANEV99ZWwm3ZWfdlfkQbWSDDt+PsXEVYwlhPH8tdMaPunYTKKmz7AnHi2oNEi1GcmKCD8g==", + "version": "1.0.30001746", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001746.tgz", + "integrity": "sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==", "dev": true, "funding": [ { @@ -8468,9 +8198,9 @@ "dev": true }, "node_modules/chromium-bidi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-5.1.0.tgz", - "integrity": "sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-9.1.0.tgz", + "integrity": "sha512-rlUzQ4WzIAWdIbY/viPShhZU2n21CxDUgazXVbw4Hu1MwaeUSEksSeM6DqPgpRjCLXRk702AVRxJxoOz0dw4OA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -8482,11 +8212,20 @@ } }, "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz", + "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } }, "node_modules/clean-css": { "version": "4.2.4", @@ -8522,13 +8261,13 @@ } }, "node_modules/cli-boxes": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", - "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8581,9 +8320,9 @@ } }, "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, "license": "MIT" }, @@ -8616,56 +8355,71 @@ } }, "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, "license": "ISC", "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=12" + "node": ">=20" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/cliui/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" @@ -8761,24 +8515,9 @@ "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, + "license": "MIT", "engines": { - "node": ">=12.5.0" + "node": ">=6" } }, "node_modules/color-convert": { @@ -8801,18 +8540,6 @@ "dev": true, "license": "MIT" }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/color-support": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", @@ -8866,9 +8593,9 @@ } }, "node_modules/commander": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", - "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.1.tgz", + "integrity": "sha512-2JkV3gUZUVrbNA+1sjBOYLsMZ5cEEl8GTFP2a4AVz5hvasAMCQ1D2l2le/cX+pV4N6ZU17zjUahLpIXRrnWL8A==", "dev": true, "license": "MIT", "engines": { @@ -9110,9 +8837,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==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -9298,9 +9025,9 @@ } }, "node_modules/css-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.1.2.tgz", - "integrity": "sha512-WfUcL99xWDs7b3eZPoRszWVfbNo8ErCF15PTvVROjkShGlAfjIkG6hlfj/sl6/rfo5Q9x9ryJ3VqVnAZDA+gcw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.1.3.tgz", + "integrity": "sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==", "dev": true, "funding": [ { @@ -9355,9 +9082,9 @@ } }, "node_modules/cssstyle": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.4.0.tgz", - "integrity": "sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz", + "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==", "dev": true, "license": "MIT", "dependencies": { @@ -9412,53 +9139,6 @@ "node": ">=18" } }, - "node_modules/data-urls/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/data-urls/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/data-urls/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/date-format": { "version": "4.0.14", "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", @@ -9470,9 +9150,9 @@ } }, "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -9487,9 +9167,9 @@ } }, "node_modules/decimal.js": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.5.0.tgz", - "integrity": "sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz", + "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==", "dev": true, "license": "MIT" }, @@ -9761,9 +9441,9 @@ } }, "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz", + "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==", "dev": true, "license": "Apache-2.0", "optional": true, @@ -9785,9 +9465,9 @@ } }, "node_modules/devalue": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.1.1.tgz", - "integrity": "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", + "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", "dev": true, "license": "MIT" }, @@ -9806,9 +9486,9 @@ } }, "node_modules/devtools-protocol": { - "version": "0.0.1439962", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1439962.tgz", - "integrity": "sha512-jJF48UdryzKiWhJ1bLKr7BFWUQCEIT5uCNbDLqkQJBtkFxYzILJH44WN0PDKMIlGDN7Utb8vyUY85C3w4R/t2g==", + "version": "0.0.1495869", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1495869.tgz", + "integrity": "sha512-i+bkd9UYFis40RcnkW7XrOprCujXRAHg62IVh/Ah3G8MmNXpCGt1m0dTFhSdx/AVs8XEMbdOGRwdkR1Bcta8AA==", "dev": true, "license": "BSD-3-Clause" }, @@ -9827,9 +9507,9 @@ "license": "MIT" }, "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -10122,9 +9802,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.161", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.161.tgz", - "integrity": "sha512-hwtetwfKNZo/UlwHIVBlKZVdy7o8bIZxxKs0Mv/ROPiQQQmDgdm5a+KvKtBsxM8ZjFzTaCeLoodZ8jiBE3o9rA==", + "version": "1.5.228", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.228.tgz", + "integrity": "sha512-nxkiyuqAn4MJ1QbobwqJILiDtu/jk14hEAWaMiJmNPh1Z+jqoFlBFZjdXwLWGeVSeu9hGLg6+2G9yJaW8rBIFA==", "dev": true, "license": "ISC" }, @@ -10177,9 +9857,9 @@ } }, "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", "dev": true, "license": "MIT", "dependencies": { @@ -10226,12 +9906,16 @@ "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==", + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, "engines": { "node": ">= 0.6" } @@ -10254,6 +9938,39 @@ } } }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/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/engine.io/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", @@ -10350,9 +10067,9 @@ } }, "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "dev": true, "license": "MIT", "dependencies": { @@ -10591,19 +10308,19 @@ } }, "node_modules/eslint": { - "version": "9.34.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz", - "integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==", + "version": "9.36.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.36.0.tgz", + "integrity": "sha512-hB4FIzXovouYzwzECDcUkJ4OcfOEkXTv2zRY6B9bkwjx/cprAq0uvm1nl7zvQ0/TsUk0zQiN4uPfJpB9m+rPMQ==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", "@eslint/config-array": "^0.21.0", "@eslint/config-helpers": "^0.3.1", "@eslint/core": "^0.15.2", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.34.0", + "@eslint/js": "9.36.0", "@eslint/plugin-kit": "^0.3.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -10699,9 +10416,9 @@ } }, "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -10834,11 +10551,14 @@ } }, "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } }, "node_modules/esutils": { "version": "2.0.3", @@ -10876,6 +10596,26 @@ "dev": true, "license": "MIT" }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, "node_modules/eventsource": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", @@ -10887,13 +10627,13 @@ } }, "node_modules/eventsource-parser": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", - "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz", + "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==", "dev": true, "license": "MIT", "engines": { - "node": ">=20.0.0" + "node": ">=18.0.0" } }, "node_modules/expand-tilde": { @@ -10946,160 +10686,32 @@ "router": "^2.2.0", "send": "^1.1.0", "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", - "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": ">= 4.11" - } - }, - "node_modules/express/node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "license": "MIT", - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "license": "MIT", - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/express/node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" }, "engines": { - "node": ">=0.6" + "node": ">= 18" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "dev": true, "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, "engines": { - "node": ">= 0.8" - } - }, - "node_modules/express/node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "license": "MIT", - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "node": ">= 16" }, - "engines": { - "node": ">= 0.6" + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" } }, "node_modules/expressive-code": { @@ -11239,9 +10851,9 @@ "license": "MIT" }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", "dev": true, "funding": [ { @@ -11536,9 +11148,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", "dev": true, "funding": [ { @@ -11658,9 +11270,9 @@ } }, "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", + "version": "11.3.2", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", + "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", "dev": true, "license": "MIT", "dependencies": { @@ -11751,9 +11363,9 @@ } }, "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz", + "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==", "dev": true, "license": "MIT", "engines": { @@ -11827,9 +11439,9 @@ } }, "node_modules/get-uri": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", - "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz", + "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==", "dev": true, "license": "MIT", "dependencies": { @@ -11848,6 +11460,27 @@ "dev": true, "license": "ISC" }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -11862,9 +11495,9 @@ } }, "node_modules/glob-stream": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.2.tgz", - "integrity": "sha512-R8z6eTB55t3QeZMmU1C+Gv+t5UnNRkA55c5yo67fAVfxODxieTwsjNG7utxS/73NdP1NbDgCrhVEg2h00y4fFw==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-8.0.3.tgz", + "integrity": "sha512-fqZVj22LtFJkHODT+M4N1RJQ3TjnnQhfE9GwZI8qXscYarnhpip70poMldRnP8ipQ/w0B621kOhfc53/J9bd/A==", "dev": true, "license": "MIT", "dependencies": { @@ -12053,6 +11686,19 @@ "which": "bin/which" } }, + "node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/globby": { "version": "13.2.2", "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", @@ -12179,16 +11825,16 @@ "license": "MIT" }, "node_modules/gulp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.0.tgz", - "integrity": "sha512-S8Z8066SSileaYw1S2N1I64IUc/myI2bqe2ihOBzO6+nKpvNSg7ZcWJt/AwF8LC/NVN+/QZ560Cb/5OPsyhkhg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-5.0.1.tgz", + "integrity": "sha512-PErok3DZSA5WGMd6XXV3IRNO0mlB+wW3OzhFJLEec1jSERg2j1bxJ6e5Fh6N6fn3FH2T9AP4UYNb/pYlADB9sA==", "dev": true, "license": "MIT", "dependencies": { "glob-watcher": "^6.0.0", - "gulp-cli": "^3.0.0", + "gulp-cli": "^3.1.0", "undertaker": "^2.0.0", - "vinyl-fs": "^4.0.0" + "vinyl-fs": "^4.0.2" }, "bin": { "gulp": "bin/gulp.js" @@ -12212,9 +11858,9 @@ } }, "node_modules/gulp-cli": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.0.0.tgz", - "integrity": "sha512-RtMIitkT8DEMZZygHK2vEuLPqLPAFB4sntSxg4NoDta7ciwGZ18l7JuhCTiS5deOJi2IoK0btE+hs6R4sfj7AA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-3.1.0.tgz", + "integrity": "sha512-zZzwlmEsTfXcxRKiCHsdyjZZnFvXWM4v1NqBJSYbuApkvVKivjcmOS2qruAJ+PkEHLFavcDKH40DPc1+t12a9Q==", "dev": true, "license": "MIT", "dependencies": { @@ -12223,7 +11869,7 @@ "copy-props": "^4.0.0", "gulplog": "^2.2.0", "interpret": "^3.1.1", - "liftoff": "^5.0.0", + "liftoff": "^5.0.1", "mute-stdout": "^2.0.0", "replace-homedir": "^2.0.0", "semver-greatest-satisfied-range": "^2.0.0", @@ -12474,9 +12120,9 @@ } }, "node_modules/gulp-typescript/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -12877,18 +12523,18 @@ } }, "node_modules/h3": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.3.tgz", - "integrity": "sha512-z6GknHqyX0h9aQaTx22VZDf6QyZn+0Nh+Ym8O/u0SGSkyF5cuTJYKlc8MkzW3Nzf9LE1ivcpmYC3FUGpywhuUQ==", + "version": "1.15.4", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.4.tgz", + "integrity": "sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ==", "dev": true, "license": "MIT", "dependencies": { "cookie-es": "^1.2.2", - "crossws": "^0.3.4", + "crossws": "^0.3.5", "defu": "^6.1.4", "destr": "^2.0.5", "iron-webcrypto": "^1.2.1", - "node-mock-http": "^1.0.0", + "node-mock-http": "^1.0.2", "radix3": "^1.1.2", "ufo": "^1.6.1", "uncrypto": "^0.1.3" @@ -13317,31 +12963,34 @@ } }, "node_modules/hookified": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.9.0.tgz", - "integrity": "sha512-2yEEGqphImtKIe1NXWEhu6yD3hlFR4Mxk4Mtp3XEyScpSt4pQ4ymmXA1zzxZpj99QkFK+nN0nzjeb2+RUi/6CQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.12.1.tgz", + "integrity": "sha512-xnKGl+iMIlhrZmGHB729MqlmPoWBznctSQTYCpFKqNsCgimJQmithcW0xSQMMFzYnV2iKUh25alswn6epgxS0Q==", "dev": true, "license": "MIT" }, "node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", "dev": true, "license": "ISC", "dependencies": { - "lru-cache": "^10.0.1" + "lru-cache": "^11.1.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "version": "11.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.2.tgz", + "integrity": "sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==", "dev": true, - "license": "ISC" + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/html-encoding-sniffer": { "version": "4.0.0", @@ -13357,9 +13006,9 @@ } }, "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", "dev": true, "license": "MIT" }, @@ -13506,6 +13155,15 @@ "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==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", @@ -13550,16 +13208,19 @@ } }, "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz", + "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==", "license": "MIT", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/ieee754": { @@ -13584,9 +13245,9 @@ "license": "BSD-3-Clause" }, "node_modules/ig-typedoc-theme": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/ig-typedoc-theme/-/ig-typedoc-theme-6.0.0.tgz", - "integrity": "sha512-J0YkfFnI6JPoi40vu3l/v7BazgxjXby5Z5uGsMsnNlfO/XaNC8ZfF5YoT4F0Zjz54OPUebBokoGHptWyfBoHJg==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ig-typedoc-theme/-/ig-typedoc-theme-6.2.3.tgz", + "integrity": "sha512-nD5nFBnSk0rrf4/H6ynrCubPT3uWPU5It+YEZzPVYilzbZMhgvOkHTp9OZsDhEzc2IOVrWGly7hms3knIJpG7w==", "dev": true, "license": "MIT", "dependencies": { @@ -13614,6 +13275,33 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/igniteui-i18n-core": { + "version": "0.6.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-i18n-core/-/igniteui-i18n-core-0.6.0-alpha.4.tgz", + "integrity": "sha512-N0LQ2AmzfY2Qu7Av2wDosqnoM68W8bHNvxCSkn5WxPr8yzrL1Fn8D1a03wMG29qDGVUSKaKa7mfuhc9+CVbBlw==", + "license": "SEE LICENSE IN LICENSE", + "optionalDependencies": { + "events": "^3.3.0" + }, + "peerDependencies": { + "igniteui-i18n-resources": "0.6.0-alpha.4" + }, + "peerDependenciesMeta": { + "igniteui-i18n-resources": { + "optional": true + } + } + }, + "node_modules/igniteui-i18n-resources": { + "version": "0.6.0-alpha.4", + "resolved": "https://registry.npmjs.org/igniteui-i18n-resources/-/igniteui-i18n-resources-0.6.0-alpha.4.tgz", + "integrity": "sha512-QAF7pH/TDD7jkbDdNYEsQ/s5m9AED9l8Wtp2lkOLJCgGP6VbGULWeyRuAplK1IlIVWS0oUbkoi57NAnDc3nz8A==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "igniteui-i18n-core": "0.6.0-alpha.4" + } + }, "node_modules/igniteui-sassdoc-theme": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/igniteui-sassdoc-theme/-/igniteui-sassdoc-theme-2.0.2.tgz", @@ -13674,16 +13362,32 @@ } }, "node_modules/ignore-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", - "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", "dev": true, "license": "ISC", "dependencies": { - "minimatch": "^9.0.0" + "minimatch": "^10.0.3" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/image-size": { @@ -13701,9 +13405,9 @@ } }, "node_modules/immutable": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", - "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", "dev": true, "license": "MIT" }, @@ -13735,9 +13439,9 @@ } }, "node_modules/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", "dev": true, "license": "MIT", "funding": { @@ -13814,15 +13518,11 @@ } }, "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", "dev": true, "license": "MIT", - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, "engines": { "node": ">= 12" } @@ -13900,6 +13600,13 @@ "is-ci": "bin.js" } }, + "node_modules/is-ci/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true, + "license": "MIT" + }, "node_modules/is-core-module": { "version": "2.16.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", @@ -14393,9 +14100,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -14406,6 +14113,13 @@ "node": ">=8" } }, + "node_modules/istanbul-reports/node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, "node_modules/istanbul/node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -14424,9 +14138,9 @@ "license": "MIT" }, "node_modules/istanbul/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -14510,13 +14224,6 @@ "dev": true, "license": "MIT" }, - "node_modules/istanbul/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/istanbul/node_modules/supports-color": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", @@ -14560,47 +14267,26 @@ } }, "node_modules/jasmine": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.7.1.tgz", - "integrity": "sha512-E/4fkRNy/9ALz6z3Z3/tYXFAohoznVy7In9FWutG2fqBSkILJHFzbgZtHJUw5UrL3jgUQ4sdGYOVZ5KpSXYjGw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-5.11.0.tgz", + "integrity": "sha512-MhIYY2pLfRA5hhIvY72ZLilwKeZEBuTyIUv9JDB+b+pEYehsJDW2obKF2dmMtWaFG6pDiFiAUNphpZ7SW7fFMA==", "dev": true, "license": "MIT", "dependencies": { "glob": "^10.2.2", - "jasmine-core": "~5.7.0" + "jasmine-core": "~5.11.0" }, "bin": { "jasmine": "bin/jasmine.js" } }, "node_modules/jasmine-core": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.7.1.tgz", - "integrity": "sha512-QnurrtpKsPoixxG2R3d1xP0St/2kcX5oTZyDyQJMY+Vzi/HUlu1kGm+2V8Tz+9lV991leB1l0xcsyz40s9xOOw==", + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.11.0.tgz", + "integrity": "sha512-MPJ8L5yyNul0F2SuEsLASwESXQjJvBXnKu31JWFyRZSvuv2B79K4GDWN3pSqvLheUNh7Fyb6dXwd4rsz95O2Kg==", "dev": true, "license": "MIT" }, - "node_modules/jasmine/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", @@ -14647,13 +14333,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true, - "license": "MIT" - }, "node_modules/jsdom": { "version": "26.1.0", "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz", @@ -14691,73 +14370,26 @@ "peerDependenciesMeta": { "canvas": { "optional": true - } - } - }, - "node_modules/jsdom/node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/jsdom/node_modules/tough-cookie": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", - "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "tldts": "^6.1.32" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/jsdom/node_modules/tr46": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", - "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "punycode": "^2.3.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/jsdom/node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + } } }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", - "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "node_modules/jsdom/node_modules/tough-cookie": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz", + "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", "dependencies": { - "tr46": "^5.1.0", - "webidl-conversions": "^7.0.0" + "tldts": "^6.1.32" }, "engines": { - "node": ">=18" + "node": ">=16" } }, "node_modules/jsdom/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -14841,9 +14473,9 @@ "license": "MIT" }, "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", "dev": true, "license": "MIT", "dependencies": { @@ -14944,9 +14576,9 @@ } }, "node_modules/karma-coverage/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -15074,10 +14706,35 @@ "node": ">=8" } }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, "node_modules/karma/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -15122,6 +14779,16 @@ "wrap-ansi": "^7.0.0" } }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, "node_modules/karma/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -15157,6 +14824,52 @@ "node": ">= 6" } }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/karma/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -15170,6 +14883,13 @@ "node": "*" } }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, "node_modules/karma/node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -15183,6 +14903,38 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/karma/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -15219,14 +14971,18 @@ "node": ">=8" } }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, "engines": { - "node": ">=14.14" + "node": ">= 0.6" } }, "node_modules/karma/node_modules/wrap-ansi": { @@ -15307,9 +15063,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.36.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", - "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", "dev": true, "license": "MIT" }, @@ -15393,9 +15149,9 @@ } }, "node_modules/less": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/less/-/less-4.3.0.tgz", - "integrity": "sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/less/-/less-4.4.1.tgz", + "integrity": "sha512-X9HKyiXPi0f/ed0XhgUlBeFfxrlDP3xR4M7768Zl+WXLUViuL9AOPPJP4nCV0tgRWvTYvpNmN0SFhZOQzy16PA==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -15485,9 +15241,9 @@ } }, "node_modules/liftoff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.0.tgz", - "integrity": "sha512-a5BQjbCHnB+cy+gsro8lXJ4kZluzOijzJ1UVVfyJYZC+IP2pLv1h4+aysQeKuTmyO8NAqfyQAk4HWaP/HjcKTg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-5.0.1.tgz", + "integrity": "sha512-wwLXMbuxSF8gMvubFcFRp56lkFV69twvbU5vDPbaw+Q+/rF8j0HKjGbIdlSi+LuJm9jf7k9PB+nTxnsLMPcv2Q==", "dev": true, "license": "MIT", "dependencies": { @@ -15539,9 +15295,9 @@ } }, "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -15552,9 +15308,9 @@ } }, "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, "license": "MIT" }, @@ -15584,9 +15340,9 @@ } }, "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { @@ -15602,9 +15358,9 @@ } }, "node_modules/lit": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz", - "integrity": "sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.1.tgz", + "integrity": "sha512-Ksr/8L3PTapbdXJCk+EJVB78jDodUMaP54gD24W186zGRARvwrsPfS60wae/SSCTCNZVPd1chXqio1qHQmu4NA==", "license": "BSD-3-Clause", "dependencies": { "@lit/reactive-element": "^2.1.0", @@ -15613,20 +15369,20 @@ } }, "node_modules/lit-element": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.0.tgz", - "integrity": "sha512-MGrXJVAI5x+Bfth/pU9Kst1iWID6GHDLEzFEnyULB/sFiRLgkd8NPK/PeeXxktA3T6EIIaq8U3KcbTU5XFcP2Q==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.2.1.tgz", + "integrity": "sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==", "license": "BSD-3-Clause", "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.2.0", + "@lit-labs/ssr-dom-shim": "^1.4.0", "@lit/reactive-element": "^2.1.0", "lit-html": "^3.3.0" } }, "node_modules/lit-html": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.0.tgz", - "integrity": "sha512-RHoswrFAxY2d8Cf2mm4OZ1DgzCoBKUKSPvA1fhtSELxUERq2aQQ2h05pO9j81gS1o7RIRJ+CePLogfyahwmynw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.3.1.tgz", + "integrity": "sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==", "license": "BSD-3-Clause", "dependencies": { "@types/trusted-types": "^2.0.2" @@ -15953,9 +15709,9 @@ } }, "node_modules/log-symbols/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", "engines": { @@ -15998,26 +15754,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -16028,20 +15768,20 @@ } }, "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, "license": "MIT" }, "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", "dev": true, "license": "MIT", "dependencies": { - "get-east-asian-width": "^1.0.0" + "get-east-asian-width": "^1.3.1" }, "engines": { "node": ">=18" @@ -16051,9 +15791,9 @@ } }, "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz", + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dev": true, "license": "MIT", "dependencies": { @@ -16086,9 +15826,9 @@ } }, "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", "dev": true, "license": "MIT", "dependencies": { @@ -16243,16 +15983,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -16591,13 +16321,12 @@ "license": "MIT" }, "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "dev": true, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "license": "MIT", "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/memoize-decorator": { @@ -17274,23 +17003,21 @@ } }, "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "mime-db": "^1.54.0" }, "engines": { "node": ">= 0.6" @@ -17496,9 +17223,9 @@ "license": "ISC" }, "node_modules/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", "dev": true, "license": "MIT", "dependencies": { @@ -17668,10 +17395,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==", - "dev": true, + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", "license": "MIT", "engines": { "node": ">= 0.6" @@ -17705,9 +17431,9 @@ } }, "node_modules/ng-packagr": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-20.0.0.tgz", - "integrity": "sha512-p4pKkeulFi8wIOE2oLCPuzGLWE3uCNdrovSHGK5/w3+eA3l6DZmdEcvXM8YrEhbi253aB3yp4nKipc1OlK7hvQ==", + "version": "20.3.0", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-20.3.0.tgz", + "integrity": "sha512-hwPZNeV/6C3pWojK70AHxe6uk1rz2bzoe+WdH+GIWouUcyXrjYQjOFyLfOGD0ia9D+yWVzjsi4CKVK/dQFDQ6Q==", "dev": true, "license": "MIT", "dependencies": { @@ -17743,10 +17469,10 @@ "rollup": "^4.24.0" }, "peerDependencies": { - "@angular/compiler-cli": "^20.0.0 || ^20.0.0-next.0 || ^20.1.0-next.0", + "@angular/compiler-cli": "^20.0.0", "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", "tslib": "^2.3.0", - "typescript": ">=5.8 <5.9" + "typescript": ">=5.8 <6.0" }, "peerDependenciesMeta": { "tailwindcss": { @@ -17817,17 +17543,42 @@ } } }, - "node_modules/node-fetch-native": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.6.tgz", - "integrity": "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==", - "dev": true, - "license": "MIT" - }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/node-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.2.tgz", + "integrity": "sha512-3gD+6zsrLQH7DyYOUIutaauuXrcyxeTPyQuZQCQoNPZMHMMS5m4y0xclNpvYzoK3VNzuyxT6eF4mkIL4WSZ1eQ==", "dev": true, "license": "MIT", "dependencies": { @@ -17895,22 +17646,6 @@ "node": ">=16" } }, - "node_modules/node-gyp/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/node-gyp/node_modules/nopt": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", @@ -17928,17 +17663,16 @@ } }, "node_modules/node-gyp/node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", "dev": true, "license": "ISC", "dependencies": { "@isaacs/fs-minipass": "^4.0.0", "chownr": "^3.0.0", "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", + "minizlib": "^3.1.0", "yallist": "^5.0.0" }, "engines": { @@ -17972,16 +17706,16 @@ } }, "node_modules/node-mock-http": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.0.tgz", - "integrity": "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.3.tgz", + "integrity": "sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog==", "dev": true, "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.21", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.21.tgz", + "integrity": "sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==", "dev": true, "license": "MIT" }, @@ -18055,9 +17789,9 @@ } }, "node_modules/npm-install-checks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", - "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", + "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", "dev": true, "license": "BSD-2-Clause", "dependencies": { @@ -18078,29 +17812,30 @@ } }, "node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", "dev": true, "license": "ISC", "dependencies": { - "hosted-git-info": "^8.0.0", + "hosted-git-info": "^9.0.0", "proc-log": "^5.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": "^20.17.0 || >=22.9.0" } }, "node_modules/npm-packlist": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.0.tgz", - "integrity": "sha512-rht9U6nS8WOBDc53eipZNPo5qkAV4X2rhKE2Oj1DYUQ3DieXfj0mKkVmjnf3iuNdtMd8WfLdi2L6ASkD/8a+Kg==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.2.tgz", + "integrity": "sha512-DrIWNiWT0FTdDRjGOYfEEZUNe1IzaSZ+up7qBTKnrQDySpdmuOQvytrqQlpK5QrCA4IThMvL4wTumqaa1ZvVIQ==", "dev": true, "license": "ISC", "dependencies": { - "ignore-walk": "^7.0.0" + "ignore-walk": "^8.0.0", + "proc-log": "^5.0.0" }, "engines": { "node": "^20.17.0 || >=22.9.0" @@ -18122,6 +17857,42 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/npm-registry-fetch": { "version": "18.0.2", "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", @@ -18142,6 +17913,42 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -18166,9 +17973,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.20", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.20.tgz", - "integrity": "sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==", + "version": "2.2.22", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz", + "integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==", "dev": true, "license": "MIT" }, @@ -18372,9 +18179,9 @@ } }, "node_modules/ora/node_modules/chalk": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", - "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, "license": "MIT", "engines": { @@ -18385,9 +18192,9 @@ } }, "node_modules/ora/node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", "dev": true, "license": "MIT" }, @@ -18471,16 +18278,16 @@ } }, "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", "dev": true, "license": "MIT", "dependencies": { - "yocto-queue": "^0.1.0" + "yocto-queue": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -18502,6 +18309,35 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -18519,9 +18355,9 @@ } }, "node_modules/p-queue": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.0.tgz", - "integrity": "sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", "dev": true, "license": "MIT", "dependencies": { @@ -18661,21 +18497,58 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, "node_modules/pagefind": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.3.0.tgz", - "integrity": "sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.4.0.tgz", + "integrity": "sha512-z2kY1mQlL4J8q5EIsQkLzQjilovKzfNVhX8De6oyE6uHpfFtyBaqUpcl/XzJC/4fjD8vBDyh1zolimIcVrCn9g==", "dev": true, "license": "MIT", "bin": { "pagefind": "lib/runner/bin.cjs" }, "optionalDependencies": { - "@pagefind/darwin-arm64": "1.3.0", - "@pagefind/darwin-x64": "1.3.0", - "@pagefind/linux-arm64": "1.3.0", - "@pagefind/linux-x64": "1.3.0", - "@pagefind/windows-x64": "1.3.0" + "@pagefind/darwin-arm64": "1.4.0", + "@pagefind/darwin-x64": "1.4.0", + "@pagefind/freebsd-x64": "1.4.0", + "@pagefind/linux-arm64": "1.4.0", + "@pagefind/linux-x64": "1.4.0", + "@pagefind/windows-x64": "1.4.0" } }, "node_modules/pako": { @@ -18882,9 +18755,9 @@ } }, "node_modules/parse5/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, "license": "BSD-2-Clause", "engines": { @@ -18995,12 +18868,13 @@ "license": "ISC" }, "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", "license": "MIT", - "engines": { - "node": ">=16" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/path-type": { @@ -19182,20 +19056,6 @@ "postcss": "^8.2.14" } }, - "node_modules/postcss-nested/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==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/postcss-resolve-nested-selector": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", @@ -19258,9 +19118,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "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==", "dev": true, "license": "MIT", "dependencies": { @@ -19299,9 +19159,9 @@ } }, "node_modules/prettier": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", - "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", "bin": { @@ -19523,9 +19383,9 @@ } }, "node_modules/pump": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", - "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", "dev": true, "license": "MIT", "dependencies": { @@ -19587,18 +19447,18 @@ } }, "node_modules/puppeteer": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.9.0.tgz", - "integrity": "sha512-L0pOtALIx8rgDt24Y+COm8X52v78gNtBOW6EmUcEPci0TYD72SAuaXKqasRIx4JXxmg2Tkw5ySKcpPOwN8xXnQ==", + "version": "24.22.3", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.22.3.tgz", + "integrity": "sha512-mnhXzIqSYSJ1SMv1RYH07YMzWP81xCmmQj91Q8iQMZqnf97eVzeHgsGL6kpywiGCi+nQafta/+NkwM4URMy/XQ==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", + "@puppeteer/browsers": "2.10.10", + "chromium-bidi": "9.1.0", "cosmiconfig": "^9.0.0", - "devtools-protocol": "0.0.1439962", - "puppeteer-core": "24.9.0", + "devtools-protocol": "0.0.1495869", + "puppeteer-core": "24.22.3", "typed-query-selector": "^2.12.0" }, "bin": { @@ -19609,27 +19469,28 @@ } }, "node_modules/puppeteer-core": { - "version": "24.9.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.9.0.tgz", - "integrity": "sha512-HFdCeH/wx6QPz8EncafbCqJBqaCG1ENW75xg3cLFMRUoqZDgByT6HSueiumetT2uClZxwqj0qS4qMVZwLHRHHw==", + "version": "24.22.3", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.22.3.tgz", + "integrity": "sha512-M/Jhg4PWRANSbL/C9im//Yb55wsWBS5wdp+h59iwM+EPicVQQCNs56iC5aEAO7avfDPRfxs4MM16wHjOYHNJEw==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@puppeteer/browsers": "2.10.5", - "chromium-bidi": "5.1.0", - "debug": "^4.4.1", - "devtools-protocol": "0.0.1439962", + "@puppeteer/browsers": "2.10.10", + "chromium-bidi": "9.1.0", + "debug": "^4.4.3", + "devtools-protocol": "0.0.1495869", "typed-query-selector": "^2.12.0", - "ws": "^8.18.2" + "webdriver-bidi-protocol": "0.2.11", + "ws": "^8.18.3" }, "engines": { "node": ">=18" } }, "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", "dev": true, "license": "MIT", "engines": { @@ -19671,13 +19532,12 @@ } }, "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dev": true, + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -19731,19 +19591,18 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.1.tgz", + "integrity": "sha512-9G8cA+tuMS75+6G/TzW8OtLzmBDMo8p1JRxN5AZ+LAp8uxGA8V8GZm4GQ4/N5QNQEnLmg6SS7wyuSmbKepiKqA==", "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", - "iconv-lite": "0.4.24", + "iconv-lite": "0.7.0", "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.10" } }, "node_modules/rc": { @@ -20352,9 +20211,9 @@ } }, "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -20398,41 +20257,43 @@ } }, "node_modules/rolldown": { - "version": "1.0.0-beta.32", - "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.32.tgz", - "integrity": "sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==", + "version": "1.0.0-beta.38", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.38.tgz", + "integrity": "sha512-58frPNX55Je1YsyrtPJv9rOSR3G5efUZpRqok94Efsj0EUa8dnqJV3BldShyI7A+bVPleucOtzXHwVpJRcR0kQ==", "dev": true, "license": "MIT", "dependencies": { - "@oxc-project/runtime": "=0.81.0", - "@oxc-project/types": "=0.81.0", - "@rolldown/pluginutils": "1.0.0-beta.32", + "@oxc-project/types": "=0.89.0", + "@rolldown/pluginutils": "1.0.0-beta.38", "ansis": "^4.0.0" }, "bin": { "rolldown": "bin/cli.mjs" }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, "optionalDependencies": { - "@rolldown/binding-android-arm64": "1.0.0-beta.32", - "@rolldown/binding-darwin-arm64": "1.0.0-beta.32", - "@rolldown/binding-darwin-x64": "1.0.0-beta.32", - "@rolldown/binding-freebsd-x64": "1.0.0-beta.32", - "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.32", - "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.32", - "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.32", - "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.32", - "@rolldown/binding-linux-x64-musl": "1.0.0-beta.32", - "@rolldown/binding-openharmony-arm64": "1.0.0-beta.32", - "@rolldown/binding-wasm32-wasi": "1.0.0-beta.32", - "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.32", - "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.32", - "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.32" + "@rolldown/binding-android-arm64": "1.0.0-beta.38", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.38", + "@rolldown/binding-darwin-x64": "1.0.0-beta.38", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.38", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.38", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.38", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.38", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.38", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.38", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.38", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.38", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.38", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.38", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.38" } }, "node_modules/rollup": { - "version": "4.49.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz", - "integrity": "sha512-3IVq0cGJ6H7fKXXEdVt+RcYvRCt8beYY9K1760wGQwSAHZcS9eot1zDG5axUbcp/kWRi5zKIIDX8MoKv/TzvZA==", + "version": "4.52.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.3.tgz", + "integrity": "sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==", "dev": true, "license": "MIT", "dependencies": { @@ -20446,33 +20307,35 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.49.0", - "@rollup/rollup-android-arm64": "4.49.0", - "@rollup/rollup-darwin-arm64": "4.49.0", - "@rollup/rollup-darwin-x64": "4.49.0", - "@rollup/rollup-freebsd-arm64": "4.49.0", - "@rollup/rollup-freebsd-x64": "4.49.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.49.0", - "@rollup/rollup-linux-arm-musleabihf": "4.49.0", - "@rollup/rollup-linux-arm64-gnu": "4.49.0", - "@rollup/rollup-linux-arm64-musl": "4.49.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.49.0", - "@rollup/rollup-linux-ppc64-gnu": "4.49.0", - "@rollup/rollup-linux-riscv64-gnu": "4.49.0", - "@rollup/rollup-linux-riscv64-musl": "4.49.0", - "@rollup/rollup-linux-s390x-gnu": "4.49.0", - "@rollup/rollup-linux-x64-gnu": "4.49.0", - "@rollup/rollup-linux-x64-musl": "4.49.0", - "@rollup/rollup-win32-arm64-msvc": "4.49.0", - "@rollup/rollup-win32-ia32-msvc": "4.49.0", - "@rollup/rollup-win32-x64-msvc": "4.49.0", + "@rollup/rollup-android-arm-eabi": "4.52.3", + "@rollup/rollup-android-arm64": "4.52.3", + "@rollup/rollup-darwin-arm64": "4.52.3", + "@rollup/rollup-darwin-x64": "4.52.3", + "@rollup/rollup-freebsd-arm64": "4.52.3", + "@rollup/rollup-freebsd-x64": "4.52.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.3", + "@rollup/rollup-linux-arm-musleabihf": "4.52.3", + "@rollup/rollup-linux-arm64-gnu": "4.52.3", + "@rollup/rollup-linux-arm64-musl": "4.52.3", + "@rollup/rollup-linux-loong64-gnu": "4.52.3", + "@rollup/rollup-linux-ppc64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-gnu": "4.52.3", + "@rollup/rollup-linux-riscv64-musl": "4.52.3", + "@rollup/rollup-linux-s390x-gnu": "4.52.3", + "@rollup/rollup-linux-x64-gnu": "4.52.3", + "@rollup/rollup-linux-x64-musl": "4.52.3", + "@rollup/rollup-openharmony-arm64": "4.52.3", + "@rollup/rollup-win32-arm64-msvc": "4.52.3", + "@rollup/rollup-win32-ia32-msvc": "4.52.3", + "@rollup/rollup-win32-x64-gnu": "4.52.3", + "@rollup/rollup-win32-x64-msvc": "4.52.3", "fsevents": "~2.3.2" } }, "node_modules/rollup-plugin-dts": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.2.1.tgz", - "integrity": "sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.2.3.tgz", + "integrity": "sha512-UgnEsfciXSPpASuOelix7m4DrmyQgiaWBnvI0TM4GxuDh5FkqW8E5hu57bCxXB90VvR1WNfLV80yEDN18UogSA==", "dev": true, "license": "LGPL-3.0-only", "dependencies": { @@ -20485,20 +20348,13 @@ "url": "https://github.com/sponsors/Swatinem" }, "optionalDependencies": { - "@babel/code-frame": "^7.26.2" + "@babel/code-frame": "^7.27.1" }, "peerDependencies": { "rollup": "^3.29.4 || ^4", "typescript": "^4.5 || ^5.0" } }, - "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, "node_modules/router": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", @@ -20606,9 +20462,9 @@ } }, "node_modules/safe-wipe/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -20672,9 +20528,9 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.92.1.tgz", - "integrity": "sha512-ffmsdbwqb3XeyR8jJR6KelIXARM9bFQe8A6Q3W4Klmwy5Ckd5gz7jgUNHo4UOqutU5Sk1DtKLbpDP0nLCg1xqQ==", + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, "license": "MIT", "dependencies": { @@ -20799,9 +20655,9 @@ } }, "node_modules/sass-embedded": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.92.1.tgz", - "integrity": "sha512-28YwLnF5atAhogt3E4hXzz/NB9dwKffyw08a7DEasLh94P7+aELkG3ENSHYCWB9QFN14hYNLfwr9ozUsPDhcDQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.93.2.tgz", + "integrity": "sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ==", "dev": true, "license": "MIT", "dependencies": { @@ -20821,30 +20677,30 @@ "node": ">=16.0.0" }, "optionalDependencies": { - "sass-embedded-all-unknown": "1.92.1", - "sass-embedded-android-arm": "1.92.1", - "sass-embedded-android-arm64": "1.92.1", - "sass-embedded-android-riscv64": "1.92.1", - "sass-embedded-android-x64": "1.92.1", - "sass-embedded-darwin-arm64": "1.92.1", - "sass-embedded-darwin-x64": "1.92.1", - "sass-embedded-linux-arm": "1.92.1", - "sass-embedded-linux-arm64": "1.92.1", - "sass-embedded-linux-musl-arm": "1.92.1", - "sass-embedded-linux-musl-arm64": "1.92.1", - "sass-embedded-linux-musl-riscv64": "1.92.1", - "sass-embedded-linux-musl-x64": "1.92.1", - "sass-embedded-linux-riscv64": "1.92.1", - "sass-embedded-linux-x64": "1.92.1", - "sass-embedded-unknown-all": "1.92.1", - "sass-embedded-win32-arm64": "1.92.1", - "sass-embedded-win32-x64": "1.92.1" + "sass-embedded-all-unknown": "1.93.2", + "sass-embedded-android-arm": "1.93.2", + "sass-embedded-android-arm64": "1.93.2", + "sass-embedded-android-riscv64": "1.93.2", + "sass-embedded-android-x64": "1.93.2", + "sass-embedded-darwin-arm64": "1.93.2", + "sass-embedded-darwin-x64": "1.93.2", + "sass-embedded-linux-arm": "1.93.2", + "sass-embedded-linux-arm64": "1.93.2", + "sass-embedded-linux-musl-arm": "1.93.2", + "sass-embedded-linux-musl-arm64": "1.93.2", + "sass-embedded-linux-musl-riscv64": "1.93.2", + "sass-embedded-linux-musl-x64": "1.93.2", + "sass-embedded-linux-riscv64": "1.93.2", + "sass-embedded-linux-x64": "1.93.2", + "sass-embedded-unknown-all": "1.93.2", + "sass-embedded-win32-arm64": "1.93.2", + "sass-embedded-win32-x64": "1.93.2" } }, "node_modules/sass-embedded-all-unknown": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.92.1.tgz", - "integrity": "sha512-5t6/YZf+vhO3OY/49h8RCL6Cwo78luva0M+TnTM9gu9ASffRXAuOVLNKciSXa3loptyemDDS6IU5/dVH5w0KmA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.93.2.tgz", + "integrity": "sha512-GdEuPXIzmhRS5J7UKAwEvtk8YyHQuFZRcpnEnkA3rwRUI27kwjyXkNeIj38XjUQ3DzrfMe8HcKFaqWGHvblS7Q==", "cpu": [ "!arm", "!arm64", @@ -20855,13 +20711,35 @@ "license": "MIT", "optional": true, "dependencies": { - "sass": "1.92.1" + "sass": "1.93.2" + } + }, + "node_modules/sass-embedded-all-unknown/node_modules/sass": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", + "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass-embedded-android-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.92.1.tgz", - "integrity": "sha512-4EjpVVzuksERdgAd4BqeSXFnWtWN3DSRyEIUPJ7BhcS9sfDh2Gf6miI2kNTvIQLJ2XIJynDDcEQ8a1U9KwKUTQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.93.2.tgz", + "integrity": "sha512-I8bpO8meZNo5FvFx5FIiE7DGPVOYft0WjuwcCCdeJ6duwfkl6tZdatex1GrSigvTsuz9L0m4ngDcX/Tj/8yMow==", "cpu": [ "arm" ], @@ -20876,9 +20754,9 @@ } }, "node_modules/sass-embedded-android-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.92.1.tgz", - "integrity": "sha512-Q+UruGb7yKawHagVmVDRRKsnc4mJZvWMBnuRCu2coJo2FofyqBmXohVGXbxko97sYceA9TJTrUEx3WVKQUNCbQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.93.2.tgz", + "integrity": "sha512-346f4iVGAPGcNP6V6IOOFkN5qnArAoXNTPr5eA/rmNpeGwomdb7kJyQ717r9rbJXxOG8OAAUado6J0qLsjnjXQ==", "cpu": [ "arm64" ], @@ -20893,9 +20771,9 @@ } }, "node_modules/sass-embedded-android-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.92.1.tgz", - "integrity": "sha512-nCY5btLlX7W7Jc6cCL6D2Yklpiu540EJ2G08YVGu12DrAMCBzqM347CSRf2ojp1H8jyhvmLkaFwnrJWzh+6S+w==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.93.2.tgz", + "integrity": "sha512-hSMW1s4yJf5guT9mrdkumluqrwh7BjbZ4MbBW9tmi1DRDdlw1Wh9Oy1HnnmOG8x9XcI1qkojtPL6LUuEJmsiDg==", "cpu": [ "riscv64" ], @@ -20910,9 +20788,9 @@ } }, "node_modules/sass-embedded-android-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.92.1.tgz", - "integrity": "sha512-qYWR3bftJ77aLYwYDFuzDI4dcwVVixxqQxlIQWNGkHRCexj614qGSSHemr18C2eVj3mjXAQxTQxU68U7pkGPAA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.93.2.tgz", + "integrity": "sha512-JqktiHZduvn+ldGBosE40ALgQ//tGCVNAObgcQ6UIZznEJbsHegqStqhRo8UW3x2cgOO2XYJcrInH6cc7wdKbw==", "cpu": [ "x64" ], @@ -20927,9 +20805,9 @@ } }, "node_modules/sass-embedded-darwin-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.92.1.tgz", - "integrity": "sha512-g2yQ3txjMYLKMjL2cW1xRO9nnV3ijf95NbX/QShtV6tiVUETZNWDsRMDEwBNGYY6PTE/UZerjJL1R/2xpQg6WA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.93.2.tgz", + "integrity": "sha512-qI1X16qKNeBJp+M/5BNW7v/JHCDYWr1/mdoJ7+UMHmP0b5AVudIZtimtK0hnjrLnBECURifd6IkulybR+h+4UA==", "cpu": [ "arm64" ], @@ -20944,9 +20822,9 @@ } }, "node_modules/sass-embedded-darwin-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.92.1.tgz", - "integrity": "sha512-eH+fgxLQhTEPjZPCgPAVuX5e514Qp/4DMAUMtlNShv4cr4TD5qOp1XlsPYR/b7uE7p2cKFkUpUn/bHNqJ2ay4A==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.93.2.tgz", + "integrity": "sha512-4KeAvlkQ0m0enKUnDGQJZwpovYw99iiMb8CTZRSsQm8Eh7halbJZVmx67f4heFY/zISgVOCcxNg19GrM5NTwtA==", "cpu": [ "x64" ], @@ -20961,9 +20839,9 @@ } }, "node_modules/sass-embedded-linux-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.92.1.tgz", - "integrity": "sha512-cT3w8yoQTqrtZvWLJeutEGmawITDTY4J6oSVQjeDcPnnoPt0gOFxem8YMznraACXvahw/2+KJDH33BTNgiPo0A==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.93.2.tgz", + "integrity": "sha512-N3+D/ToHtzwLDO+lSH05Wo6/KRxFBPnbjVHASOlHzqJnK+g5cqex7IFAp6ozzlRStySk61Rp6d+YGrqZ6/P0PA==", "cpu": [ "arm" ], @@ -20978,9 +20856,9 @@ } }, "node_modules/sass-embedded-linux-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.92.1.tgz", - "integrity": "sha512-dNmlpGeZkry1BofhAdGFBXrpM69y9LlYuNnncf+HfsOOUtj8j0q1RwS+zb5asknhKFUOAG8GCGRY1df7Rwu35g==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.93.2.tgz", + "integrity": "sha512-9ftX6nd5CsShJqJ2WRg+ptaYvUW+spqZfJ88FbcKQBNFQm6L87luj3UI1rB6cP5EWrLwHA754OKxRJyzWiaN6g==", "cpu": [ "arm64" ], @@ -20995,9 +20873,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.92.1.tgz", - "integrity": "sha512-nPBos6lI31ef2zQhqTZhFOU7ar4impJbLIax0XsqS269YsiCwjhk11VmUloJTpFlJuKMiVXNo7dPx+katxhD/Q==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.93.2.tgz", + "integrity": "sha512-XBTvx66yRenvEsp3VaJCb3HQSyqCsUh7R+pbxcN5TuzueybZi0LXvn9zneksdXcmjACMlMpIVXi6LyHPQkYc8A==", "cpu": [ "arm" ], @@ -21012,9 +20890,9 @@ } }, "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.92.1.tgz", - "integrity": "sha512-TfiEBkCyNzVoOhjHXUT+vZ6+p0ueDbvRw6f4jHdkvljZzXdXMby4wh7BU1odl69rgRTkSvYKhgbErRLDR/F7pQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.93.2.tgz", + "integrity": "sha512-+3EHuDPkMiAX5kytsjEC1bKZCawB9J6pm2eBIzzLMPWbf5xdx++vO1DpT7hD4bm4ZGn0eVHgSOKIfP6CVz6tVg==", "cpu": [ "arm64" ], @@ -21029,9 +20907,9 @@ } }, "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.92.1.tgz", - "integrity": "sha512-R+RcJA4EYpJDE9JM1GgPYgZo7x94FlxZ6jPodOQkEaZ1S9kvXVCuP5X/0PXRPhu08KJOfeMsAElzfdAjUf7KJg==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.93.2.tgz", + "integrity": "sha512-0sB5kmVZDKTYzmCSlTUnjh6mzOhzmQiW/NNI5g8JS4JiHw2sDNTvt1dsFTuqFkUHyEOY3ESTsfHHBQV8Ip4bEA==", "cpu": [ "riscv64" ], @@ -21046,9 +20924,9 @@ } }, "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.92.1.tgz", - "integrity": "sha512-/HolYRGXJjx8nLw6oj5ZrkR7PFM7X/5kE4MYZaFMpDIPIcw3bqB2fUXLo/MYlRLsw7gBAT6hJAMBrNdKuTphfw==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.93.2.tgz", + "integrity": "sha512-t3ejQ+1LEVuHy7JHBI2tWHhoMfhedUNDjGJR2FKaLgrtJntGnyD1RyX0xb3nuqL/UXiEAtmTmZY+Uh3SLUe1Hg==", "cpu": [ "x64" ], @@ -21063,9 +20941,9 @@ } }, "node_modules/sass-embedded-linux-riscv64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.92.1.tgz", - "integrity": "sha512-b9bxe0CMsbSsLx3nrR0cq8xpIkoAC6X36o4DGMITF3m2v3KsojC7ru9X0Gz+zUFr6rwpq/0lTNzFLNu6sPNo3w==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.93.2.tgz", + "integrity": "sha512-e7AndEwAbFtXaLy6on4BfNGTr3wtGZQmypUgYpSNVcYDO+CWxatKVY4cxbehMPhxG9g5ru+eaMfynvhZt7fLaA==", "cpu": [ "riscv64" ], @@ -21080,9 +20958,9 @@ } }, "node_modules/sass-embedded-linux-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.92.1.tgz", - "integrity": "sha512-xuiK5Jp5NldW4bvlC7AuX1Wf7o0gLZ3md/hNg+bkTvxtCDgnUHtfdo8Q+xWP11bD9QX31xXFWpmUB8UDLi6XQQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.93.2.tgz", + "integrity": "sha512-U3EIUZQL11DU0xDDHXexd4PYPHQaSQa2hzc4EzmhHqrAj+TyfYO94htjWOd+DdTPtSwmLp+9cTWwPZBODzC96w==", "cpu": [ "x64" ], @@ -21097,9 +20975,9 @@ } }, "node_modules/sass-embedded-unknown-all": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.92.1.tgz", - "integrity": "sha512-AT9oXvtNY4N+Nd0wvoWqq9A5HjdH/X3aUH4boQUtXyaJ/9DUwnQmBpP5Gtn028ZS8exOGBdobmmWAuigv0k/OA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.93.2.tgz", + "integrity": "sha512-7VnaOmyewcXohiuoFagJ3SK5ddP9yXpU0rzz+pZQmS1/+5O6vzyFCUoEt3HDRaLctH4GT3nUGoK1jg0ae62IfQ==", "dev": true, "license": "MIT", "optional": true, @@ -21110,13 +20988,35 @@ "!win32" ], "dependencies": { - "sass": "1.92.1" + "sass": "1.93.2" + } + }, + "node_modules/sass-embedded-unknown-all/node_modules/sass": { + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.93.2.tgz", + "integrity": "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass-embedded-win32-arm64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.92.1.tgz", - "integrity": "sha512-KvmpQjY9yTBMtTYz4WBqetlv9bGaDW1aStcu7MSTbH7YiSybX/9fnxlCAEQv1WlIidQhcJAiyk0Eae+LGK7cIQ==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.93.2.tgz", + "integrity": "sha512-Y90DZDbQvtv4Bt0GTXKlcT9pn4pz8AObEjFF8eyul+/boXwyptPZ/A1EyziAeNaIEIfxyy87z78PUgCeGHsx3Q==", "cpu": [ "arm64" ], @@ -21131,9 +21031,9 @@ } }, "node_modules/sass-embedded-win32-x64": { - "version": "1.92.1", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.92.1.tgz", - "integrity": "sha512-B6Nz/GbH7Vkpb2TkQHsGcczWM5t+70VWopWF1x5V5yxLpA8ZzVQ7NTKKi+jDoVY2Efu6ZyzgT9n5KgG2kWliXA==", + "version": "1.93.2", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.93.2.tgz", + "integrity": "sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ==", "cpu": [ "x64" ], @@ -21446,9 +21346,9 @@ } }, "node_modules/sassdoc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, "license": "MIT", "dependencies": { @@ -21813,13 +21713,6 @@ "dev": true, "license": "MIT" }, - "node_modules/sassdoc/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/sassdoc/node_modules/string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -22122,27 +22015,6 @@ "node": ">= 18" } }, - "node_modules/send/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/send/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "license": "MIT", - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, "node_modules/serve-static": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", @@ -22190,17 +22062,17 @@ "license": "ISC" }, "node_modules/sharp": { - "version": "0.33.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", - "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "version": "0.34.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.4.tgz", + "integrity": "sha512-FUH39xp3SBPnxWvd5iib1X8XY7J0K0X7d93sie9CJg2PO8/7gmg89Nve6OjItK53/MlAushNNxteBYfM6DEuoA==", "dev": true, "hasInstallScript": true, "license": "Apache-2.0", "optional": true, "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.3", - "semver": "^7.6.3" + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.0", + "semver": "^7.7.2" }, "engines": { "node": "^18.17.0 || ^20.3.0 || >=21.0.0" @@ -22209,25 +22081,28 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.33.5", - "@img/sharp-darwin-x64": "0.33.5", - "@img/sharp-libvips-darwin-arm64": "1.0.4", - "@img/sharp-libvips-darwin-x64": "1.0.4", - "@img/sharp-libvips-linux-arm": "1.0.5", - "@img/sharp-libvips-linux-arm64": "1.0.4", - "@img/sharp-libvips-linux-s390x": "1.0.4", - "@img/sharp-libvips-linux-x64": "1.0.4", - "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", - "@img/sharp-libvips-linuxmusl-x64": "1.0.4", - "@img/sharp-linux-arm": "0.33.5", - "@img/sharp-linux-arm64": "0.33.5", - "@img/sharp-linux-s390x": "0.33.5", - "@img/sharp-linux-x64": "0.33.5", - "@img/sharp-linuxmusl-arm64": "0.33.5", - "@img/sharp-linuxmusl-x64": "0.33.5", - "@img/sharp-wasm32": "0.33.5", - "@img/sharp-win32-ia32": "0.33.5", - "@img/sharp-win32-x64": "0.33.5" + "@img/sharp-darwin-arm64": "0.34.4", + "@img/sharp-darwin-x64": "0.34.4", + "@img/sharp-libvips-darwin-arm64": "1.2.3", + "@img/sharp-libvips-darwin-x64": "1.2.3", + "@img/sharp-libvips-linux-arm": "1.2.3", + "@img/sharp-libvips-linux-arm64": "1.2.3", + "@img/sharp-libvips-linux-ppc64": "1.2.3", + "@img/sharp-libvips-linux-s390x": "1.2.3", + "@img/sharp-libvips-linux-x64": "1.2.3", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.3", + "@img/sharp-libvips-linuxmusl-x64": "1.2.3", + "@img/sharp-linux-arm": "0.34.4", + "@img/sharp-linux-arm64": "0.34.4", + "@img/sharp-linux-ppc64": "0.34.4", + "@img/sharp-linux-s390x": "0.34.4", + "@img/sharp-linux-x64": "0.34.4", + "@img/sharp-linuxmusl-arm64": "0.34.4", + "@img/sharp-linuxmusl-x64": "0.34.4", + "@img/sharp-wasm32": "0.34.4", + "@img/sharp-win32-arm64": "0.34.4", + "@img/sharp-win32-ia32": "0.34.4", + "@img/sharp-win32-x64": "0.34.4" } }, "node_modules/shebang-command": { @@ -22254,40 +22129,18 @@ } }, "node_modules/shiki": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.6.0.tgz", - "integrity": "sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/core": "3.6.0", - "@shikijs/engine-javascript": "3.6.0", - "@shikijs/engine-oniguruma": "3.6.0", - "@shikijs/langs": "3.6.0", - "@shikijs/themes": "3.6.0", - "@shikijs/types": "3.6.0", - "@shikijs/vscode-textmate": "^10.0.2", - "@types/hast": "^3.0.4" - } - }, - "node_modules/shiki/node_modules/@shikijs/engine-oniguruma": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.6.0.tgz", - "integrity": "sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@shikijs/types": "3.6.0", - "@shikijs/vscode-textmate": "^10.0.2" - } - }, - "node_modules/shiki/node_modules/@shikijs/types": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.6.0.tgz", - "integrity": "sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.13.0.tgz", + "integrity": "sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==", "dev": true, "license": "MIT", "dependencies": { + "@shikijs/core": "3.13.0", + "@shikijs/engine-javascript": "3.13.0", + "@shikijs/engine-oniguruma": "3.13.0", + "@shikijs/langs": "3.13.0", + "@shikijs/themes": "3.13.0", + "@shikijs/types": "3.13.0", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } @@ -22395,29 +22248,10 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true, - "license": "MIT", - "optional": true - }, "node_modules/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", "dev": true, "license": "MIT", "dependencies": { @@ -22464,9 +22298,9 @@ } }, "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", "engines": { @@ -22488,9 +22322,9 @@ } }, "node_modules/smol-toml": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.4.tgz", - "integrity": "sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.4.2.tgz", + "integrity": "sha512-rInDH6lCNiEyn3+hH8KVGFdbjc099j47+OSgbMrfDYX1CmXLfdKd7qi6IfcWj2wFxvSVkuI46M+wPGYfEOEj6g==", "dev": true, "license": "BSD-3-Clause", "engines": { @@ -22602,6 +22436,20 @@ } } }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/socket.io/node_modules/debug": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", @@ -22620,14 +22468,47 @@ } } }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/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/socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "dev": true, "license": "MIT", "dependencies": { - "ip-address": "^9.0.5", + "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" }, "engines": { @@ -22742,16 +22623,16 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", "dev": true, "license": "CC0-1.0" }, "node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true, "license": "BSD-3-Clause" }, @@ -22769,9 +22650,9 @@ } }, "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": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", "license": "MIT", "engines": { "node": ">= 0.8" @@ -22865,17 +22746,15 @@ } }, "node_modules/streamx": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.22.0.tgz", - "integrity": "sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==", + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "dev": true, "license": "MIT", "dependencies": { + "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" - }, - "optionalDependencies": { - "bare-events": "^2.2.0" } }, "node_modules/string_decoder": { @@ -23001,9 +22880,9 @@ } }, "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", "dev": true, "license": "MIT", "dependencies": { @@ -23067,9 +22946,9 @@ } }, "node_modules/stylelint": { - "version": "16.19.1", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz", - "integrity": "sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==", + "version": "16.24.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.24.0.tgz", + "integrity": "sha512-7ksgz3zJaSbTUGr/ujMXvLVKdDhLbGl3R/3arNudH7z88+XZZGNLMTepsY28WlnvEFcuOmUe7fg40Q3lfhOfSQ==", "dev": true, "funding": [ { @@ -23083,9 +22962,9 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2", + "@csstools/css-parser-algorithms": "^3.0.5", + "@csstools/css-tokenizer": "^3.0.4", + "@csstools/media-query-list-parser": "^4.0.3", "@csstools/selector-specificity": "^5.0.0", "@dual-bundle/import-meta-resolve": "^4.1.0", "balanced-match": "^2.0.0", @@ -23093,24 +22972,24 @@ "cosmiconfig": "^9.0.0", "css-functions-list": "^3.2.3", "css-tree": "^3.1.0", - "debug": "^4.3.7", + "debug": "^4.4.1", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^10.0.8", + "file-entry-cache": "^10.1.4", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", "html-tags": "^3.3.1", - "ignore": "^7.0.3", + "ignore": "^7.0.5", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.36.0", + "known-css-properties": "^0.37.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "picocolors": "^1.1.1", - "postcss": "^8.5.3", + "postcss": "^8.5.6", "postcss-resolve-nested-selector": "^0.1.6", "postcss-safe-parser": "^7.0.1", "postcss-selector-parser": "^7.1.0", @@ -23243,9 +23122,9 @@ } }, "node_modules/stylelint-scss": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.0.tgz", - "integrity": "sha512-U7CKhi1YNkM1pXUXl/GMUXi8xKdhl4Ayxdyceie1nZ1XNIdaUgMV6OArpooWcDzEggwgYD0HP/xIgVJo9a655w==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-6.12.1.tgz", + "integrity": "sha512-UJUfBFIvXfly8WKIgmqfmkGKPilKB4L5j38JfsDd+OCg2GBdU0vGUV08Uw82tsRZzd4TbsUURVVNGeOhJVF7pA==", "dev": true, "license": "MIT", "dependencies": { @@ -23265,13 +23144,57 @@ "stylelint": "^16.0.2" } }, + "node_modules/stylelint-scss/node_modules/known-css-properties": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", + "dev": true, + "license": "MIT" + }, "node_modules/stylelint-scss/node_modules/mdn-data": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.21.0.tgz", - "integrity": "sha512-+ZKPQezM5vYJIkCxaC+4DTnRrVZR1CgsKLu5zsQERQx6Tea8Y+wMx5A24rq8A8NepCeatIQufVAekKNgiBMsGQ==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.24.0.tgz", + "integrity": "sha512-i97fklrJl03tL1tdRVw0ZfLLvuDsdb6wxL+TrJ+PKkCbLrp2PCu2+OYdCKychIUm19nSM/35S6qz7pJpnXttoA==", "dev": true, "license": "CC0-1.0" }, + "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stylelint/node_modules/@csstools/selector-specificity": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", + "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss-selector-parser": "^7.0.0" + } + }, "node_modules/stylelint/node_modules/balanced-match": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz", @@ -23280,25 +23203,25 @@ "license": "MIT" }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.0.tgz", - "integrity": "sha512-Et/ex6smi3wOOB+n5mek+Grf7P2AxZR5ueqRUvAAn4qkyatXi3cUC1cuQXVkX0VlzBVsN4BkWJFmY/fYiRTdww==", + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.4.tgz", + "integrity": "sha512-5XRUFc0WTtUbjfGzEwXc42tiGxQHBmtbUG1h9L2apu4SulCGN3Hqm//9D6FAolf8MYNL7f/YlJl9vy08pj5JuA==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^6.1.9" + "flat-cache": "^6.1.13" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.9", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.9.tgz", - "integrity": "sha512-DUqiKkTlAfhtl7g78IuwqYM+YqvT+as0mY+EVk6mfimy19U79pJCzDZQsnqk3Ou/T6hFXWLGbwbADzD/c8Tydg==", + "version": "6.1.14", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.14.tgz", + "integrity": "sha512-ExZSCSV9e7v/Zt7RzCbX57lY2dnPdxzU/h3UE6WJ6NtEMfwBd8jmi1n4otDEUfz+T/R+zxrFDpICFdjhD3H/zw==", "dev": true, "license": "MIT", "dependencies": { - "cacheable": "^1.9.0", + "cacheable": "^2.0.1", "flatted": "^3.3.3", - "hookified": "^1.8.2" + "hookified": "^1.12.0" } }, "node_modules/stylelint/node_modules/global-modules": { @@ -23377,6 +23300,20 @@ "node": ">=0.10.0" } }, + "node_modules/stylelint/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/stylelint/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -23587,9 +23524,9 @@ } }, "node_modules/tar-fs": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz", - "integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", "dev": true, "license": "MIT", "dependencies": { @@ -23845,6 +23782,16 @@ "dev": true, "license": "MIT" }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", @@ -23951,11 +23898,27 @@ } }, "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, "node_modules/trim-lines": { "version": "3.0.1", @@ -24036,6 +23999,16 @@ } } }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tsconfck": { "version": "3.1.6", "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", @@ -24064,15 +24037,15 @@ "license": "0BSD" }, "node_modules/tuf-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", - "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", "dev": true, "license": "MIT", "dependencies": { "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" }, "engines": { "node": "^18.17.0 || >=20.5.0" @@ -24092,27 +24065,27 @@ } }, "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "license": "MIT", "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" }, "engines": { "node": ">= 0.6" @@ -24190,9 +24163,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.40", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", - "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==", + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", "dev": true, "funding": [ { @@ -24304,9 +24277,9 @@ } }, "node_modules/undici-types": { - "version": "6.19.8", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", - "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true, "license": "MIT" }, @@ -24353,13 +24326,14 @@ } }, "node_modules/unifont": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.5.0.tgz", - "integrity": "sha512-4DueXMP5Hy4n607sh+vJ+rajoLu778aU3GzqeTCqsD/EaUcvqZT9wPC8kgK6Vjh22ZskrxyRCR71FwNOaYn6jA==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.5.2.tgz", + "integrity": "sha512-LzR4WUqzH9ILFvjLAUU7dK3Lnou/qd5kD+IakBtBK4S15/+x2y9VX+DcWQv6s551R6W+vzwgVS6tFg3XggGBgg==", "dev": true, "license": "MIT", "dependencies": { "css-tree": "^3.0.0", + "ofetch": "^1.4.1", "ohash": "^2.0.0" } }, @@ -24565,18 +24539,18 @@ } }, "node_modules/unstorage": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.16.0.tgz", - "integrity": "sha512-WQ37/H5A7LcRPWfYOrDa1Ys02xAbpPJq6q5GkO88FBXVSQzHd7+BjEwfRqyaSWCv9MbsJy058GWjjPjcJ16GGA==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.1.tgz", + "integrity": "sha512-KKGwRTT0iVBCErKemkJCLs7JdxNVfqTPc/85ae1XES0+bsHbc/sFBfVi5kJp156cc51BHinIH2l3k0EZ24vOBQ==", "dev": true, "license": "MIT", "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", "destr": "^2.0.5", - "h3": "^1.15.2", + "h3": "^1.15.4", "lru-cache": "^10.4.3", - "node-fetch-native": "^1.6.6", + "node-fetch-native": "^1.6.7", "ofetch": "^1.4.1", "ufo": "^1.6.1" }, @@ -24589,10 +24563,11 @@ "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6.0.3 || ^7.0.0", "@deno/kv": ">=0.9.0", - "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", @@ -24637,6 +24612,9 @@ "@vercel/blob": { "optional": true }, + "@vercel/functions": { + "optional": true + }, "@vercel/kv": { "optional": true }, @@ -24723,6 +24701,39 @@ "url": "https://github.com/yeoman/update-notifier?sponsor=1" } }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/update-notifier/node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -24737,6 +24748,42 @@ "node": ">=8" } }, + "node_modules/update-notifier/node_modules/cli-boxes": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz", + "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/update-notifier/node_modules/widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/upper-case": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", @@ -24834,9 +24881,9 @@ } }, "node_modules/validate-npm-package-name": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", - "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", "dev": true, "license": "ISC", "engines": { @@ -24900,9 +24947,9 @@ } }, "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", "dev": true, "license": "MIT", "dependencies": { @@ -24957,14 +25004,13 @@ } }, "node_modules/vinyl-contents/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, "license": "MIT", "dependencies": { "clone": "^2.1.2", - "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" @@ -24974,14 +25020,14 @@ } }, "node_modules/vinyl-fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.0.tgz", - "integrity": "sha512-7GbgBnYfaquMk3Qu9g22x000vbYkOex32930rBnc3qByw6HfMEAoELjCjoJv4HuEQxHAurT+nvMHm6MnJllFLw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-4.0.2.tgz", + "integrity": "sha512-XRFwBLLTl8lRAOYiBqxY279wY46tVxLaRhSwo3GzKEuLz1giffsOquWWboD/haGf5lx+JyTigCFfe7DWHoARIA==", "dev": true, "license": "MIT", "dependencies": { "fs-mkdirp-stream": "^2.0.1", - "glob-stream": "^8.0.0", + "glob-stream": "^8.0.3", "graceful-fs": "^4.2.11", "iconv-lite": "^0.6.3", "is-valid-glob": "^1.0.0", @@ -24992,7 +25038,7 @@ "streamx": "^2.14.0", "to-through": "^3.0.0", "value-or-function": "^4.0.0", - "vinyl": "^3.0.0", + "vinyl": "^3.0.1", "vinyl-sourcemap": "^2.0.0" }, "engines": { @@ -25023,14 +25069,13 @@ } }, "node_modules/vinyl-fs/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, "license": "MIT", "dependencies": { "clone": "^2.1.2", - "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" @@ -25116,14 +25161,13 @@ } }, "node_modules/vinyl-sourcemap/node_modules/vinyl": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.0.tgz", - "integrity": "sha512-rC2VRfAVVCGEgjnxHUnpIVh3AGuk62rP3tqVrn+yab0YH7UULisC085+NYH+mnqf3Wx4SpSi1RQMwudL89N03g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, "license": "MIT", "dependencies": { "clone": "^2.1.2", - "clone-stats": "^1.0.0", "remove-trailing-separator": "^1.1.0", "replace-ext": "^2.0.0", "teex": "^1.0.1" @@ -25204,24 +25248,24 @@ } }, "node_modules/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.5.tgz", + "integrity": "sha512-4cKBO9wR75r0BeIWWWId9XK9Lj6La5X846Zw9dFfzMRw38IlTk2iCcUt6hsyiDRcPidc55ZParFYDXi0nXOeLQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" + "fdir": "^6.5.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.15" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "^20.19.0 || >=22.12.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" @@ -25230,14 +25274,14 @@ "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", - "less": "*", + "less": "^4.0.0", "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" @@ -25278,18 +25322,36 @@ } } }, + "node_modules/vite/node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, "node_modules/vitefu": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", - "integrity": "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", "dev": true, "license": "MIT", "workspaces": [ "tests/deps/*", - "tests/projects/*" + "tests/projects/*", + "tests/projects/workspace/packages/*" ], "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" }, "peerDependenciesMeta": { "vite": { @@ -25353,12 +25415,22 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/webdriver-bidi-protocol": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.2.11.tgz", + "integrity": "sha512-Y9E1/oi4XMxcR8AT0ZC4OvYntl34SPgwjmELH+owjBr0korAX4jKgZULBWILGCVGdVCQ0dodTToIETozhG8zvA==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "license": "BSD-2-Clause" + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } }, "node_modules/whatwg-encoding": { "version": "3.1.1", @@ -25397,14 +25469,17 @@ } }, "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", "dev": true, "license": "MIT", "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" } }, "node_modules/which": { @@ -25434,16 +25509,44 @@ } }, "node_modules/widest-line": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", - "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", "dev": true, "license": "MIT", "dependencies": { - "string-width": "^4.0.0" + "string-width": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/widest-line/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/widest-line/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/word-wrap": { @@ -25666,9 +25769,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", - "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", "dev": true, "license": "ISC", "bin": { @@ -25679,22 +25782,21 @@ } }, "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", "dev": true, "license": "MIT", "dependencies": { - "cliui": "^8.0.1", + "cliui": "^9.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", + "string-width": "^7.2.0", "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "yargs-parser": "^22.0.0" }, "engines": { - "node": ">=12" + "node": "^20.19.0 || ^22.12.0 || >=23" } }, "node_modules/yargs-parser": { @@ -25707,6 +25809,41 @@ "node": ">=12" } }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.5.0.tgz", + "integrity": "sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", @@ -25729,13 +25866,13 @@ } }, "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", + "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", "dev": true, "license": "MIT", "engines": { - "node": ">=10" + "node": ">=12.20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -25758,9 +25895,9 @@ } }, "node_modules/yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz", + "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==", "dev": true, "license": "MIT", "engines": { @@ -25794,9 +25931,9 @@ } }, "node_modules/zod-to-json-schema": { - "version": "3.24.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", "dev": true, "license": "ISC", "peerDependencies": { diff --git a/package.json b/package.json index db833f8676f..3dd2b79c3c5 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "@types/source-map": "0.5.2", "express": "^5.1.0", "fflate": "^0.8.1", + "igniteui-i18n-core": "0.6.0-alpha.4", "igniteui-theming": "^20.0.0", "igniteui-trial-watermark": "^3.1.0", "lodash-es": "^4.17.21", @@ -120,6 +121,7 @@ "hammerjs": "^2.0.8", "ig-typedoc-theme": "^6.0.0", "igniteui-dockmanager": "^1.17.0", + "igniteui-i18n-resources": "0.6.0-alpha.4", "igniteui-sassdoc-theme": "^2.0.2", "igniteui-webcomponents": "6.2.1", "jasmine": "^5.6.0", diff --git a/projects/igniteui-angular-elements/esbuild.mjs b/projects/igniteui-angular-elements/esbuild.mjs index 9055564728b..be76c7e1402 100644 --- a/projects/igniteui-angular-elements/esbuild.mjs +++ b/projects/igniteui-angular-elements/esbuild.mjs @@ -8,7 +8,7 @@ const config = { minify: false, // temporary disabled due to Webpack issues https://github.com/webpack/webpack/issues/16262 outfile: `${ROOT}/elements.js`, format: 'esm', - external: ['lit'], + external: ['lit', 'igniteui-i18n-core'], target: 'es2022', metafile: true, treeShaking: true diff --git a/projects/igniteui-angular-elements/src/public_api.ts b/projects/igniteui-angular-elements/src/public_api.ts index aa796e8c5b2..ddaaad7d423 100644 --- a/projects/igniteui-angular-elements/src/public_api.ts +++ b/projects/igniteui-angular-elements/src/public_api.ts @@ -1,3 +1,4 @@ +import { getCurrentI18n, getCurrentResourceStrings, registerI18n, setCurrentI18n } from 'igniteui-i18n-core'; import { IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand, IgxTimeFilteringOperand } from 'projects/igniteui-angular/src/lib/data-operations/filtering-condition'; import { FilteringLogic } from 'projects/igniteui-angular/src/lib/data-operations/filtering-expression.interface'; import { FilteringExpressionsTree, FilteringExpressionsTreeType } from 'projects/igniteui-angular/src/lib/data-operations/filtering-expressions-tree'; @@ -55,4 +56,10 @@ export { // overlay position settings (used in grids, paginator, toolbar) HorizontalAlignment, VerticalAlignment, + + // i18n + registerI18n, + setCurrentI18n, + getCurrentI18n, + getCurrentResourceStrings } diff --git a/projects/igniteui-angular-i18n/package.json b/projects/igniteui-angular-i18n/package.json index 427ca9840ce..5402a17551a 100644 --- a/projects/igniteui-angular-i18n/package.json +++ b/projects/igniteui-angular-i18n/package.json @@ -22,5 +22,9 @@ "bugs": { "url": "https://github.com/IgniteUI/igniteui-angular/issues" }, - "homepage": "https://github.com/IgniteUI/igniteui-angular/projects/igniteui-angular-i18n#readme" + "homepage": "https://github.com/IgniteUI/igniteui-angular/projects/igniteui-angular-i18n#readme", + "dependencies": { + "igniteui-i18n-core": "0.6.0-alpha.4", + "igniteui-i18n-resources": "0.6.0-alpha.4" + } } diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/action-strip-resources.ts index f57433cc3c1..ecb27734cce 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/action-strip-resources.ts @@ -1,9 +1,10 @@ -import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsBG as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsBG = { - igx_action_strip_button_more_title: 'Още' -} satisfies MakeRequired; +export const ActionStripResourceStringsBG = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/banner-resources.ts index 64a3a394603..ad2c9eacd88 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsBG as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsBG = { - igx_banner_button_dismiss: 'Отхвърляне' -} satisfies MakeRequired; +export const BannerResourceStringsBG = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/calendar-resources.ts index 095973a46f1..03c1db99470 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsBG as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsBG = { - igx_calendar_previous_month: 'Предходен месец', - igx_calendar_next_month: 'Следващ месец', - igx_calendar_previous_year: 'Предходна година', - igx_calendar_next_year: 'Следваща година', - igx_calendar_previous_years: 'Предходни {0} години', - igx_calendar_next_years: 'Следващи {0} години', - igx_calendar_select_date: 'Избор на дата', - igx_calendar_select_month: 'Избор на месец', - igx_calendar_select_year: 'Избор на година', - igx_calendar_range_start: 'Начало на диапазона', - igx_calendar_range_end: 'Край на диапазона', - igx_calendar_range_label_start: 'Начало', - igx_calendar_range_label_end: 'Край', - igx_calendar_range_placeholder: 'Избери диапазон', - igx_calendar_selected_month_is: 'Избраният месец е ', - igx_calendar_first_picker_of: 'Първия селектор от {0} започва от', - igx_calendar_multi_selection: 'Календар с множествен избор с {0} избирачи на дати', - igx_calendar_range_selection: 'Календар с избор на диапазон с {0} избирачи на дати', - igx_calendar_single_selection: 'Календар с {0} избирачи на дати', - igx_calendar_singular_multi_selection: 'Календар с множествен избор', - igx_calendar_singular_range_selection: 'Календар с избор на диапазон', - igx_calendar_singular_single_selection: 'Календар', -} satisfies MakeRequired; +export const CalendarResourceStringsBG = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/carousel-resources.ts index 8a0b8664f2b..6ce212a654e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsBG as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsBG = { - igx_carousel_of: 'от', - igx_carousel_slide: 'слайд', - igx_carousel_previous_slide: 'предишен слайд', - igx_carousel_next_slide: 'следващ слайд' -} satisfies MakeRequired; +export const CarouselResourceStringsBG = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/chip-resources.ts index 5e72e8c505d..5aeaa782812 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsBG as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsBG = { - igx_chip_remove: 'Премахване на чипa', - igx_chip_select: 'Избор на чип' -} satisfies MakeRequired; +export const ChipResourceStringsBG = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/combo-resources.ts index a898a660578..6fe7e6c28e5 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsBG as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsBG = { - igx_combo_empty_message: 'Списъкът е празен', - igx_combo_filter_search_placeholder: 'Въведете термин за търсене', - igx_combo_addCustomValues_placeholder: 'Добавяне на елемент', - igx_combo_clearItems_placeholder: 'Изчистване на избора', - igx_combo_aria_label_options: 'Има избрани опции', - igx_combo_aria_label_no_options: 'Няма избрани опции' -} satisfies MakeRequired; +export const ComboResourceStringsBG = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/date-picker-resources.ts index f1d58ae521a..b6e663a2851 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsBG as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsBG = { - igx_date_picker_change_date: 'Промяна на датата', - igx_date_picker_choose_date: 'Избор на дата' -} satisfies MakeRequired; +export const DatePickerResourceStringsBG = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/date-range-picker-resources.ts index 6100c9f727a..4259d7dbf56 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsBG as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsBG = { - igx_date_range_picker_date_separator: 'до', - igx_date_range_picker_done_button: 'Завърши', - igx_date_range_picker_cancel_button: 'Отмени', - igx_date_range_picker_last7Days: 'Последните 7 дни', - igx_date_range_picker_currentMonth: 'Текущ месец', - igx_date_range_picker_last30Days: 'Последните 30 дни', - igx_date_range_picker_yearToDate: 'От началото на годината' -} satisfies MakeRequired; +export const DateRangePickerResourceStringsBG = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts index 19f7e184d64..1a8932efe33 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsBG as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsBG = { - igx_grid_groupByArea_message: 'Плъзнете заглавката на колоната и я пуснете тук, за да извършите групиране по тази колона.', - igx_grid_groupByArea_select_message: 'Избери всички редове в групата с име на поле {0} и стойност {1}.', - igx_grid_groupByArea_deselect_message: 'Отмаркирай всички редове в групата с име на поле {0} и стойност {1}.', - igx_grid_emptyFilteredGrid_message: 'Няма открити записи.', - igx_grid_emptyGrid_message: 'Таблицата не съдържа данни.', - igx_grid_filter: 'Филтър', - igx_grid_filter_row_close: 'Затвори', - igx_grid_filter_row_reset: 'Нулирай', - igx_grid_filter_row_placeholder: 'Добави стойност на филтъра', - igx_grid_filter_row_boolean_placeholder: 'Всички', - igx_grid_filter_row_date_placeholder: 'Избери дата', - igx_grid_filter_row_time_placeholder: 'Избери време', - igx_grid_filter_operator_and: 'And', - igx_grid_filter_operator_or: 'Or', - igx_grid_complex_filter: 'Разширен филтър', - igx_grid_filter_contains: 'Съдържа', - igx_grid_filter_doesNotContain: 'Не съдържа', - igx_grid_filter_startsWith: 'Започва с', - igx_grid_filter_endsWith: 'Завършва на', - igx_grid_filter_equals: 'Равно на', - igx_grid_filter_doesNotEqual: 'Не е равно на', - igx_grid_filter_empty: 'Празно', - igx_grid_filter_notEmpty: 'Не е празно', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Не е Null', - igx_grid_filter_before: 'Преди', - igx_grid_filter_after: 'След', - igx_grid_filter_at: 'На', - igx_grid_filter_not_at: 'Не е на', - igx_grid_filter_at_before: 'На или преди', - igx_grid_filter_at_after: 'На или след', - igx_grid_filter_today: 'Днес', - igx_grid_filter_yesterday: 'Вчера', - igx_grid_filter_thisMonth: 'Този месец', - igx_grid_filter_lastMonth: 'Миналия месец', - igx_grid_filter_nextMonth: 'Следващия месец', - igx_grid_filter_thisYear: 'Тази година', - igx_grid_filter_lastYear: 'Миналата година', - igx_grid_filter_nextYear: 'Следващата година', - igx_grid_filter_greaterThan: 'По-голямо от', - igx_grid_filter_lessThan: 'По-малко от', - igx_grid_filter_greaterThanOrEqualTo: 'По-голямо или равно на', - igx_grid_filter_lessThanOrEqualTo: 'По-малко или равно на', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Всички', - igx_grid_filter_condition_placeholder: 'Изберете филтър', - igx_grid_filter_in: 'В/във', - igx_grid_filter_notIn: 'Не е в/във', - igx_grid_summary_count: 'Брой', - igx_grid_summary_min: 'Минимално', - igx_grid_summary_max: 'Максимално', - igx_grid_summary_sum: 'Сума', - igx_grid_summary_average: 'Средно', - igx_grid_summary_earliest: 'Най-стара', - igx_grid_summary_latest: 'Най-нова', - igx_grid_excel_filter_moving_left: 'Премести наляво', - igx_grid_excel_filter_moving_left_short: 'Ляво', - igx_grid_excel_filter_moving_right: 'Премести надясно', - igx_grid_excel_filter_moving_right_short: 'Дясно', - igx_grid_excel_filter_moving_header: 'Премести', - igx_grid_excel_filter_sorting_asc: 'Възходящ', - igx_grid_excel_filter_sorting_asc_short: 'Възх.', - igx_grid_excel_filter_sorting_desc: 'Низходящ', - igx_grid_excel_filter_sorting_desc_short: 'Низх.', - igx_grid_excel_filter_sorting_header: 'Сортирай', - igx_grid_excel_filter_clear: 'Изчисти филтрите на колоните', - igx_grid_excel_custom_dialog_add: 'Добави филтър', - igx_grid_excel_custom_dialog_clear: 'Изчисти филтрите', - igx_grid_excel_custom_dialog_header: 'Персонализиран автоматичен филтър на колона:', - igx_grid_excel_cancel: 'Отмяна', - igx_grid_excel_apply: 'Приложи', - igx_grid_excel_search_placeholder: 'Търсене', - igx_grid_excel_select_all: 'Избери всички', - igx_grid_excel_select_all_search_results: 'Избери на всички резултати от търсенето', - igx_grid_excel_add_to_filter: 'Добави на текущата селекция към филтъра', - igx_grid_excel_blanks: '(Празни)', - igx_grid_excel_hide: 'Скрий колоната', - igx_grid_excel_show: 'Покажи колоната', - igx_grid_excel_pin: 'Закачи колоната', - igx_grid_excel_unpin: 'Откачи колоната', - igx_grid_excel_select: 'Избери колоната', - igx_grid_excel_deselect: 'Премахни избора на колоната', - igx_grid_excel_text_filter: 'Филтър на текста', - igx_grid_excel_number_filter: 'Филтър на номера', - igx_grid_excel_date_filter: 'Филтър на дати', - igx_grid_excel_boolean_filter: 'Булев филтър', - igx_grid_excel_currency_filter: 'Филтър по валута', - igx_grid_excel_custom_filter: 'Персонализиран филтър...', - igx_grid_excel_no_matches: 'Няма съвпадения', - igx_grid_excel_matches_count: '{0} съвпадения.', - igx_grid_advanced_filter_title: 'Разширено филтриране', - igx_grid_advanced_filter_from_label: 'От', - igx_grid_advanced_filter_and_group: '"And" група', - igx_grid_advanced_filter_or_group: '"Or" група', - igx_grid_advanced_filter_end_group: 'Край на групирането', - igx_grid_advanced_filter_create_and_group: 'Създай "And" група', - igx_grid_advanced_filter_create_or_group: 'Създай "Or" група', - igx_grid_advanced_filter_and_label: 'and', - igx_grid_advanced_filter_or_label: 'or', - igx_grid_advanced_filter_switch_group: 'Премини към {0}', - igx_grid_advanced_filter_add_condition: 'Добави условие', - igx_grid_advanced_filter_add_group: 'Добави група', - igx_grid_advanced_filter_add_condition_root: 'Условие', - igx_grid_advanced_filter_add_group_root: 'Група', - igx_grid_advanced_filter_ungroup: 'Разгрупирай', - igx_grid_advanced_filter_delete: 'Изтрий', - igx_grid_advanced_filter_delete_filters: 'Изтрий филтрите', - igx_grid_advanced_filter_initial_text: 'Започнете със създаване на група от условия свързани с "And" или "Or".', - igx_grid_advanced_filter_column_placeholder: 'Избери колона', - igx_grid_advanced_filter_value_placeholder: 'Стойност', - igx_grid_advanced_filter_query_value_placeholder: 'Резултати от подзаявки', - igx_grid_advanced_filter_select_entity: 'Избери обект', - igx_grid_advanced_filter_select_return_field_single: 'Избери поле(та) за връщане', - igx_grid_advanced_filter_dialog_title: 'Потвърждение', - igx_grid_advanced_filter_dialog_message: 'С промяната на обекта ще загубите текущите си настройки. Сигурни ли сте, че искате да продължите?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Не показвай този диалогов прозорец отново', - igx_grid_advanced_filter_drop_ghost_text: 'Постави тук за вмъкване', - igx_grid_pinned_row_indicator: 'Закачени', - igx_grid_hiding_check_all_label: 'Покажи всички', - igx_grid_hiding_uncheck_all_label: 'Скрий всички', - igx_grid_pinning_check_all_label: 'Закачи всички', - igx_grid_pinning_uncheck_all_label: 'Разкачи всички', - igx_grid_row_edit_btn_done: 'Запази', - igx_grid_row_edit_btn_cancel: 'Откажи', - igx_grid_row_edit_text: 'Имате {0} промени на този ред и {1} скрити колони', - igx_grid_toolbar_actions_filter_prompt: 'Филтрирай списъка с колони...', - igx_grid_toolbar_pinning_button_tooltip: 'Отвори списъка със закачени колони.', - igx_grid_toolbar_hiding_button_tooltip: 'Отвори списъка със скрити колони.', - igx_grid_toolbar_pinning_title: 'Закачени колони', - igx_grid_toolbar_hiding_title: 'Видими колони', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Отвори диалога на разширеното филтриране', - igx_grid_toolbar_advanced_filtering_button_label: 'Разширено филтриране', - igx_grid_toolbar_exporter_button_tooltip: 'Отвори списъка на експортъра', - igx_grid_toolbar_exporter_button_label: 'Експортирай', - igx_grid_toolbar_exporter_excel_entry_text: 'Експортирай в Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Експортиране в CSV файл', - igx_grid_snackbar_addrow_label: 'Добавен е ред', - igx_grid_snackbar_addrow_actiontext: 'Покажи', - igx_grid_actions_edit_label: 'Редактирай', - igx_grid_actions_add_label: 'Добави', - igx_grid_add_row_label: 'Добави ред', - igx_grid_actions_add_child_label: 'Добавяне на наследник', - igx_grid_actions_delete_label: 'Изтрий', - igx_grid_actions_pin_label: 'Закачи', - igx_grid_actions_unpin_label: 'Откачи', - igx_grid_actions_jumpUp_label: 'Придвижи се нагоре', - igx_grid_actions_jumpDown_label: 'Придвижи се надолу', - igx_grid_pivot_date_dimension_total: 'Всички периоди', - igx_grid_pivot_aggregate_count: 'Брой', - igx_grid_pivot_aggregate_min: 'Минимум', - igx_grid_pivot_aggregate_max: 'Максимум', - igx_grid_pivot_aggregate_sum: 'Сума', - igx_grid_pivot_aggregate_avg: 'Средно', - igx_grid_pivot_aggregate_date_latest: 'Най-късна дата', - igx_grid_pivot_aggregate_date_earliest: 'Най-ранна дата', - igx_grid_pivot_aggregate_time_latest: 'Най-късен час', - igx_grid_pivot_aggregate_time_earliest: 'Най-ранен час', - igx_grid_pivot_empty_row_drop_area: 'Пуснете поле за редове тук.', - igx_grid_pivot_empty_column_drop_area: 'Пуснете поле за колони тук.', - igx_grid_pivot_empty_filter_drop_area: 'Пуснете поле за филтри тук.', - igx_grid_pivot_empty_value_drop_area: 'Пуснете поле за стойности тук.', - igx_grid_pivot_row_drop_chip: 'Пуснете тук, за да използвате като ред', - igx_grid_pivot_column_drop_chip: 'Пуснете тук, за да използвате като ред', - igx_grid_pivot_filter_drop_chip: 'Пуснете тук, за да използвате като филтър', - igx_grid_pivot_value_drop_chip: 'Пуснете тук, за да използвате като стойност', - igx_grid_pivot_selector_filters: 'Филтри', - igx_grid_pivot_selector_rows: 'Редове', - igx_grid_pivot_selector_columns: 'Колони', - igx_grid_pivot_selector_values: 'Стойнoсти', - igx_grid_pivot_selector_panel_empty: 'Привлачи тук', - igx_grid_pivot_empty_message: 'Обобщената таблица няма размери и стойности.', - igx_grid_required_validation_error: 'Това поле е задължително', - igx_grid_min_validation_error: 'Моля попълнете стойност по-голяма или равна на {0}', - igx_grid_max_validation_error: 'Моля попълнете стойност по-малка или равна на {0}', - igx_grid_min_length_validation_error: 'Входните данни трябва да са дълги поне {0} знака.', - igx_grid_max_length_validation_error: 'Входните данни не трябва да са дълги повече от {0} знака.', - igx_grid_email_validation_error: 'Трябва да бъде въведен валиден имейл адрес.', - igx_grid_pattern_validation_error: 'Въведените данни не спазват зададения образец.' -} satisfies MakeRequired; +export const GridResourceStringsBG = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/input-resources.ts index 98f11633481..a6082e409ea 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsBG as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsBG = { - igx_input_upload_button: 'Качване на файл', - igx_input_file_placeholder: 'Няма избран файл' -} satisfies MakeRequired; +export const InputResourceStringsBG = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/list-resources.ts index b17f20d29c1..ed11eab9390 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsBG as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsBG = { - igx_list_no_items: 'Няма елементи в списъка.', - igx_list_loading: 'Зарежда информация от сървъра...' -} satisfies MakeRequired; +export const ListResourceStringsBG = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/paginator-resources.ts index 5f3c0d94095..3aefc44bde0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsBG as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsBG = { - igx_paginator_label: 'Елементи на страница', - igx_paginator_pager_text: 'от', - igx_paginator_first_page_button_text: 'Към първата страница', - igx_paginator_previous_page_button_text: 'Предишна страница', - igx_paginator_last_page_button_text: 'Към последната страница', - igx_paginator_next_page_button_text: 'Следваща страница', -} satisfies MakeRequired; +export const PaginatorResourceStringsBG = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/query-builder-resources.ts index c131b0619d1..84ab842528e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsBG as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Bulgarian resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsBG = { - igx_query_builder_date_placeholder: 'Избери дата', - igx_query_builder_time_placeholder: 'Избери време', - igx_query_builder_datetime_placeholder: 'Избери дата и час', - igx_query_builder_filter_operator_and: 'And', - igx_query_builder_filter_operator_or: 'Or', - igx_query_builder_filter_contains: 'Съдържа', - igx_query_builder_filter_doesNotContain: 'Не съдържа', - igx_query_builder_filter_startsWith: 'Започва с', - igx_query_builder_filter_endsWith: 'Завършва на', - igx_query_builder_filter_equals: 'Равно на', - igx_query_builder_filter_doesNotEqual: 'Не е равно на', - igx_query_builder_filter_empty: 'Празно', - igx_query_builder_filter_notEmpty: 'Не е празно', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Не е Null', - igx_query_builder_filter_in: 'В/във', - igx_query_builder_filter_notIn: 'Не е в/във', - igx_query_builder_filter_before: 'Преди', - igx_query_builder_filter_after: 'След', - igx_query_builder_filter_at: 'На', - igx_query_builder_filter_not_at: 'Не е на', - igx_query_builder_filter_at_before: 'На или преди', - igx_query_builder_filter_at_after: 'На или след', - igx_query_builder_filter_today: 'Днес', - igx_query_builder_filter_yesterday: 'Вчера', - igx_query_builder_filter_thisMonth: 'Този месец', - igx_query_builder_filter_lastMonth: 'Миналия месец', - igx_query_builder_filter_nextMonth: 'Следващия месец', - igx_query_builder_filter_thisYear: 'Тази година', - igx_query_builder_filter_lastYear: 'Миналата година', - igx_query_builder_filter_nextYear: 'Следващата година', - igx_query_builder_filter_greaterThan: 'По-голямо от', - igx_query_builder_filter_lessThan: 'По-малко от', - igx_query_builder_filter_greaterThanOrEqualTo: 'По-голямо или равно на', - igx_query_builder_filter_lessThanOrEqualTo: 'По-малко или равно на', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Всички', - igx_query_builder_from_label: 'От', - igx_query_builder_select_label: 'Избери', - igx_query_builder_where_label: 'Където', - igx_query_builder_and_group: '"And" група', - igx_query_builder_or_group: '"Or" група', - igx_query_builder_end_group: 'Край на групирането', - igx_query_builder_and_label: 'and', - igx_query_builder_or_label: 'or', - igx_query_builder_switch_group: 'Премини към {0}', - igx_query_builder_add_condition: 'Добави условие', - igx_query_builder_add_group: 'Добави група', - igx_query_builder_add_condition_root: 'Условие', - igx_query_builder_add_group_root: 'Група', - igx_query_builder_ungroup: 'Разгрупирай', - igx_query_builder_delete: 'Изтрий', - igx_query_builder_delete_filters: 'Изтрий филтрите', - igx_query_builder_initial_text: 'Започнете със създаване на група от условия свързани с "And" или "Or".', - igx_query_builder_column_placeholder: 'Избери колона', - igx_query_builder_condition_placeholder: 'Избери филтър', - igx_query_builder_value_placeholder: 'Стойност', - igx_query_builder_query_value_placeholder: 'Резултати от подзаявка', - igx_query_builder_all_fields: 'Всички полета', - igx_query_builder_details: 'Детайли', - igx_query_builder_search: 'Търсене', - igx_query_builder_select_all: 'Избери всички', - igx_query_builder_select_entity: 'Избери обект', - igx_query_builder_select_return_field_single: 'Избери поле за връщане', - igx_query_builder_select_return_fields: 'Избери полета за връщане', - igx_query_builder_dialog_title: 'Потвърждение', - igx_query_builder_dialog_message: 'С промяната на обекта ще загубите текущите си настройки. Сигурни ли сте, че искате да продължите?', - igx_query_builder_dialog_checkbox_text: 'Не показвай този диалогов прозорец отново', - igx_query_builder_dialog_cancel: 'Отказ', - igx_query_builder_dialog_confirm: 'Потвърди', - igx_query_builder_drop_ghost_text: 'Пусни тук за вмъкване' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsBG = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/resources.ts index c6ac832ff4a..91527193d42 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/resources.ts @@ -17,6 +17,9 @@ import { ActionStripResourceStringsBG } from './action-strip-resources'; /** * Bulgarian resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsBG = { ...GridResourceStringsBG, diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/time-picker-resources.ts index 888f04e36f5..747148654d3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsBG as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsBG = { - igx_time_picker_ok: 'ОК', - igx_time_picker_cancel: 'Отмяна', - igx_time_picker_change_time: 'Промяна на времето', - igx_time_picker_choose_time: 'Избор на време' -} satisfies MakeRequired; +export const TimePickerResourceStringsBG = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/BG/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/BG/tree-resources.ts index c74bcc1871c..11b69a0dfd6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/BG/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/BG/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsBG as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Bulgarian resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsBG = { - igx_expand: 'Разгъване', - igx_collapse: 'Свиване', -} satisfies MakeRequired; +export const TreeResourceStringsBG = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/action-strip-resources.ts index aa39e01c62e..c40b0a5c590 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsCS as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsCS = { - igx_action_strip_button_more_title: 'Více' -} satisfies MakeRequired; +export const ActionStripResourceStringsCS = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/banner-resources.ts index b18cfc25e7c..42d3cfdb132 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsCS as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsCS = { - igx_banner_button_dismiss: 'Zavřít' -} satisfies MakeRequired; +export const BannerResourceStringsCS = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/calendar-resources.ts index 086c692c84b..0c32979f304 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsCS as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsCS = { - igx_calendar_previous_month: 'Předchozí měsíc', - igx_calendar_next_month: 'Příští měsíc', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Vyberte měsíc', - igx_calendar_select_year: 'Vyberte rok', - igx_calendar_range_start: 'Začátek dosahu', - igx_calendar_range_end: 'Konec rozsahu', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Vybraný měsíc je ', - igx_calendar_first_picker_of: 'První výběr z {0} začíná od', - igx_calendar_multi_selection: 'Kalendář s více výběry s {0} nástroji pro výběr data', - igx_calendar_range_selection: 'Kalendář výběru rozsahu s {0} nástroji pro výběr data', - igx_calendar_single_selection: 'Kalendář s {0} nástroji pro výběr data', - igx_calendar_singular_multi_selection: 'Kalendář s více výběry', - igx_calendar_singular_range_selection: 'Kalendář výběru rozsahu', - igx_calendar_singular_single_selection: 'Kalendář' -} satisfies MakeRequired; +export const CalendarResourceStringsCS = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/carousel-resources.ts index e437ad73b2f..6b47c3aba1d 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsCS as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsCS = { - igx_carousel_of: 'z', - igx_carousel_slide: 'skluzavka', - igx_carousel_previous_slide: 'předchozí snímek', - igx_carousel_next_slide: 'další snímek' -} satisfies MakeRequired; +export const CarouselResourceStringsCS = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/chip-resources.ts index c08a0a9d411..473ca7f88e6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsCS as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsCS = { - igx_chip_remove: 'Odebrat čip', - igx_chip_select: 'Vybrat čip' -} satisfies MakeRequired; +export const ChipResourceStringsCS = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/combo-resources.ts index c4a808f142f..5ff5162d0d6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsCS as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsCS = { - igx_combo_empty_message: 'Seznam je prázdný', - igx_combo_filter_search_placeholder: 'Zadejte hledaný výraz', - igx_combo_addCustomValues_placeholder: 'Přidat položku', - igx_combo_clearItems_placeholder: 'Vymazat výběr', - igx_combo_aria_label_options: 'Vybrané možnosti', - igx_combo_aria_label_no_options: 'Žádné možnosti nejsou vybrány' -} satisfies MakeRequired; +export const ComboResourceStringsCS = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/date-picker-resources.ts index 776077820af..e0e3d6523c7 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsCS as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsCS = { - igx_date_picker_change_date: 'Změnit datum', - igx_date_picker_choose_date: 'Zvolte datum' -} satisfies MakeRequired; +export const DatePickerResourceStringsCS = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/date-range-picker-resources.ts index 2948610aa33..36d0fd678d1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsCS as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsCS = { - igx_date_range_picker_date_separator: 'na', - igx_date_range_picker_done_button: 'Hotovo', - igx_date_range_picker_cancel_button: 'Zrušit', - igx_date_range_picker_last7Days: 'Posledních 7 dní', - igx_date_range_picker_currentMonth: 'Tento měsíc', - igx_date_range_picker_last30Days: 'Posledních 30 dní', - igx_date_range_picker_yearToDate: 'Od začátku roku', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsCS = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts index 6d036a13426..ea8c956343e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsCS as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsCS = { - igx_grid_groupByArea_message: 'Přetáhněte záhlaví sloupce a přetáhněte jej sem a seskupte podle tohoto sloupce.', - igx_grid_groupByArea_select_message: 'Vyberte všechny řádky ve skupině s názvem pole {0} a hodnotou {1}.', - igx_grid_groupByArea_deselect_message: 'Zrušit výběr všech řádky ve skupině s názvem pole {0} a hodnotou {1}.', - igx_grid_emptyFilteredGrid_message: 'Nenalezeny žádné záznamy.', - igx_grid_emptyGrid_message: 'Grid nemá žádná data.', - igx_grid_filter: 'Filtr', - igx_grid_filter_row_close: 'Zavřít', - igx_grid_filter_row_reset: 'Resetovat', - igx_grid_filter_row_placeholder: 'Přidejte hodnotu filtru', - igx_grid_filter_row_boolean_placeholder: 'Všechno', - igx_grid_filter_row_date_placeholder: 'Datum výdeje', - igx_grid_filter_row_time_placeholder: 'Čas vyzvednutí', - igx_grid_filter_operator_and: 'A', - igx_grid_filter_operator_or: 'Nebo', - igx_grid_complex_filter: 'Složitý filtr', - igx_grid_filter_contains: 'Obsahuje', - igx_grid_filter_doesNotContain: 'Neobsahuje', - igx_grid_filter_startsWith: 'Začíná s', - igx_grid_filter_endsWith: 'Končí s', - igx_grid_filter_equals: 'Se rovná', - igx_grid_filter_doesNotEqual: 'Nerovná se', - igx_grid_filter_empty: 'Prázdný', - igx_grid_filter_notEmpty: 'Není prázdný', - igx_grid_filter_null: 'Nula', - igx_grid_filter_notNull: 'Nenulový', - igx_grid_filter_before: 'Před', - igx_grid_filter_after: 'Po', - igx_grid_filter_at: 'V', - igx_grid_filter_not_at: 'Ne v', - igx_grid_filter_at_before: 'V nebo dříve', - igx_grid_filter_at_after: 'V nebo po', - igx_grid_filter_today: 'Dnes', - igx_grid_filter_yesterday: 'Včera', - igx_grid_filter_thisMonth: 'Tento měsíc', - igx_grid_filter_lastMonth: 'Minulý měsíc', - igx_grid_filter_nextMonth: 'Příští měsíc', - igx_grid_filter_thisYear: 'Tento rok', - igx_grid_filter_lastYear: 'Minulý rok', - igx_grid_filter_nextYear: 'Příští rok', - igx_grid_filter_greaterThan: 'Větší než', - igx_grid_filter_lessThan: 'Méně než', - igx_grid_filter_greaterThanOrEqualTo: 'Větší než nebo rovno', - igx_grid_filter_lessThanOrEqualTo: 'Méně než nebo rovno', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Všechno', - igx_grid_filter_condition_placeholder: 'Vyberte filtr', - igx_grid_filter_in: 'V', - igx_grid_filter_notIn: 'Není v', - igx_grid_summary_count: 'Počet', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Součet', - igx_grid_summary_average: 'Prům', - igx_grid_summary_earliest: 'Nejdříve', - igx_grid_summary_latest: 'Nejnovější', - igx_grid_excel_filter_moving_left: 'pohyb doleva', - igx_grid_excel_filter_moving_left_short: 'vlevo, odjet', - igx_grid_excel_filter_moving_right: 'pohyb vpravo', - igx_grid_excel_filter_moving_right_short: 'že jo', - igx_grid_excel_filter_moving_header: 'hýbat se', - igx_grid_excel_filter_sorting_asc: 'vzestupně', - igx_grid_excel_filter_sorting_asc_short: 'vzest.', - igx_grid_excel_filter_sorting_desc: 'Sestupně', - igx_grid_excel_filter_sorting_desc_short: 'sest.', - igx_grid_excel_filter_sorting_header: 'třídit', - igx_grid_excel_filter_clear: 'Vymazat filtry sloupců', - igx_grid_excel_custom_dialog_add: 'přidat filtr', - igx_grid_excel_custom_dialog_clear: 'Vyčistit filtr', - igx_grid_excel_custom_dialog_header: 'Vlastní automatický filtr na sloupci: ', - igx_grid_excel_cancel: 'zrušení', - igx_grid_excel_apply: 'aplikovat', - igx_grid_excel_search_placeholder: 'Vyhledávání', - igx_grid_excel_select_all: 'Vybrat vše', - igx_grid_excel_select_all_search_results: 'Vyberte všechny výsledky hledání', - igx_grid_excel_add_to_filter: 'Přidat aktuální výběr k filtrování', - igx_grid_excel_blanks: '(Prázdné)', - igx_grid_excel_hide: 'Skrýt sloupec', - igx_grid_excel_show: 'Zobrazit sloupec', - igx_grid_excel_pin: 'Připnout sloupec', - igx_grid_excel_unpin: 'Uvolnit sloupec', - igx_grid_excel_select: 'Vyberte sloupec', - igx_grid_excel_deselect: 'Zrušit výběr sloupce', - igx_grid_excel_text_filter: 'Textový filtr', - igx_grid_excel_number_filter: 'Filtr čísel', - igx_grid_excel_date_filter: 'Filtr data', - igx_grid_excel_boolean_filter: 'Booleovský filtr', - igx_grid_excel_currency_filter: 'Filtr měn', - igx_grid_excel_custom_filter: 'Vlastní filtr ...', - igx_grid_excel_no_matches: 'Žádné shody', - igx_grid_excel_matches_count: 'Počet shod: {0}', - igx_grid_advanced_filter_title: 'Pokročilé filtrování', - igx_grid_advanced_filter_from_label: 'Z', - igx_grid_advanced_filter_and_group: '"A" skupina', - igx_grid_advanced_filter_or_group: '"Nebo" skupina', - igx_grid_advanced_filter_end_group: 'Ukončit skupina', - igx_grid_advanced_filter_create_and_group: 'Vytvořte skupinu "A"', - igx_grid_advanced_filter_create_or_group: 'Vytvořte skupinu "Nebo"', - igx_grid_advanced_filter_and_label: 'a', - igx_grid_advanced_filter_or_label: 'nebo', - igx_grid_advanced_filter_switch_group: 'Přepnout na {0}', - igx_grid_advanced_filter_add_condition: 'Přidat podmínku', - igx_grid_advanced_filter_add_group: 'Přidat skupinu', - igx_grid_advanced_filter_add_condition_root: 'Podmínka:', - igx_grid_advanced_filter_add_group_root: 'Skupina', - igx_grid_advanced_filter_ungroup: 'Oddělit', - igx_grid_advanced_filter_delete: 'Vymazat', - igx_grid_advanced_filter_delete_filters: 'Smazat filtry', - igx_grid_advanced_filter_initial_text: 'Začněte vytvořením skupiny podmínek spojených s "And" nebo "Or"', - igx_grid_advanced_filter_column_placeholder: 'Vyberte sloupec', - igx_grid_advanced_filter_value_placeholder: 'Hodnota', - igx_grid_advanced_filter_query_value_placeholder: 'Výsledky dílčího dotazu', - igx_grid_advanced_filter_select_entity: 'Vyberte pole pro vrácení', - igx_grid_advanced_filter_select_return_field_single: 'Vyberte pole pro vrácení', - igx_grid_advanced_filter_dialog_title: 'Potvrzení', - igx_grid_advanced_filter_dialog_message: 'Změnou entity ztratíte svá aktuální nastavení. Opravdu to chcete udělat?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Tento dialog již příště nezobrazovat', - igx_grid_advanced_filter_drop_ghost_text: 'Přetažením sem vložíte', - igx_grid_pinned_row_indicator: 'Připnuto', - igx_grid_hiding_check_all_label: 'Ukázat vše', - igx_grid_hiding_uncheck_all_label: 'Skrýt vše', - igx_grid_pinning_check_all_label: 'Připnout vše', - igx_grid_pinning_uncheck_all_label: 'Odepnout vše', - igx_grid_row_edit_btn_done: 'Hotovo', - igx_grid_row_edit_btn_cancel: 'Storno', - igx_grid_row_edit_text: 'V tomto řádku máte {0} změn a {1} skryté sloupce', - igx_grid_toolbar_actions_filter_prompt: 'Filtrovat seznam sloupců ...', - igx_grid_toolbar_pinning_button_tooltip: 'Otevřít rozevírací nabídku připnout sloupec', - igx_grid_toolbar_hiding_button_tooltip: 'Otevřít rozevírací nabídku skrýt sloupec', - igx_grid_toolbar_pinning_title: 'Připnuté sloupce', - igx_grid_toolbar_hiding_title: 'Viditelné sloupce', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Otevřít pokročilé dialogové okno filtrování', - igx_grid_toolbar_advanced_filtering_button_label: 'Pokročilé filtrování', - igx_grid_toolbar_exporter_button_tooltip: 'Otevřít rozevírací nabídku vývozce', - igx_grid_toolbar_exporter_button_label: 'Export', - igx_grid_toolbar_exporter_excel_entry_text: 'Export ve formátu Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Export ve formátu CSV', - igx_grid_snackbar_addrow_label: 'Řádek přidán', - igx_grid_snackbar_addrow_actiontext: 'UKÁZAT', - igx_grid_actions_edit_label: 'Upravit', - igx_grid_actions_add_label: 'Přidat', - igx_grid_add_row_label: 'PŘIDAT ŘÁDEK', - igx_grid_actions_add_child_label: 'Přidat dítě', - igx_grid_actions_delete_label: 'Vymazat', - igx_grid_actions_pin_label: 'Kolík', - igx_grid_actions_unpin_label: 'Odepnout', - igx_grid_actions_jumpUp_label: 'Vyskočit', - igx_grid_actions_jumpDown_label: 'Skočit dolů', - igx_grid_pivot_date_dimension_total: 'Všechna období', - igx_grid_pivot_aggregate_count: 'Počet', - igx_grid_pivot_aggregate_min: 'Minimální', - igx_grid_pivot_aggregate_max: 'Maximální', - igx_grid_pivot_aggregate_sum: 'Součet', - igx_grid_pivot_aggregate_avg: 'Průměrný', - igx_grid_pivot_aggregate_date_latest: 'Poslední datum', - igx_grid_pivot_aggregate_date_earliest: 'Nejstarší datum', - igx_grid_pivot_aggregate_time_latest: 'Poslední čas', - igx_grid_pivot_aggregate_time_earliest: 'Nejčasnější čas', - igx_grid_pivot_empty_row_drop_area: 'Sem přetáhněte pole sloupců.', - igx_grid_pivot_empty_column_drop_area: 'Sem přetáhněte pole filtru.', - igx_grid_pivot_empty_filter_drop_area: 'Sem přetáhněte pole řádků.', - igx_grid_pivot_empty_value_drop_area: 'Sem přetáhněte pole hodnot.', - igx_grid_pivot_row_drop_chip: 'Přetáhněte sem, chcete-li použít jako řádek', - igx_grid_pivot_column_drop_chip: 'Přetáhněte sem, chcete-li použít jako sloupec', - igx_grid_pivot_filter_drop_chip: 'Přetáhněte sem, chcete-li použít jako filtr', - igx_grid_pivot_value_drop_chip: 'Přetáhněte sem, chcete-li použít jako hodnotu', - igx_grid_pivot_selector_filters: 'Filtry', - igx_grid_pivot_selector_rows: 'Řádky', - igx_grid_pivot_selector_columns: 'Sloupce', - igx_grid_pivot_selector_values: 'Hodnoty', - igx_grid_pivot_selector_panel_empty: 'Přetažením položek sem', - igx_grid_pivot_empty_message: 'Pivot Grid nemá žádné rozměry a hodnoty.', - igx_grid_required_validation_error: 'Toto pole je povinné', - igx_grid_min_validation_error: 'Je třeba zadat hodnotu alespoň {0}', - igx_grid_max_validation_error: 'Měla by být zadána hodnota nejvýše {0}', - igx_grid_min_length_validation_error: 'Záznam by měl mít alespoň {0} znaků', - igx_grid_max_length_validation_error: 'Záznam by neměl mít více než {0} znaků', - igx_grid_email_validation_error: 'Je třeba zadat platnou e-mailovou adresu', - igx_grid_pattern_validation_error: 'Položka neodpovídá požadovanému vzoru' -} satisfies MakeRequired; +export const GridResourceStringsCS = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/input-resources.ts index b465ab45b73..7bcdece4ef3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsCS as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsCS = { - igx_input_upload_button: 'Nahrát soubor', - igx_input_file_placeholder: 'Není zvolený žádný soubor' -} satisfies MakeRequired; +export const InputResourceStringsCS = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/list-resources.ts index b1f470238b0..b61e1da87e6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsCS as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsCS = { - igx_list_no_items: 'V seznamu nejsou žádné položky.', - igx_list_loading: 'Načítání dat ze serveru...' -} satisfies MakeRequired; +export const ListResourceStringsCS = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/paginator-resources.ts index 8f7dcf09bca..770cca0e90c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/paginator-resources.ts @@ -1,15 +1,11 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsCS as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsCS = { - igx_paginator_label: 'Položek na stráncee', - igx_paginator_pager_text: 'z', - igx_paginator_first_page_button_text: 'Přejít na první stránku', - igx_paginator_previous_page_button_text: 'Předchozí stránka', - igx_paginator_last_page_button_text: 'Přejít na poslední stránku', - igx_paginator_next_page_button_text: 'Další strana', -} satisfies MakeRequired; +export const PaginatorResourceStringsCS = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/query-builder-resources.ts index 1952a80c012..d25e4a6b114 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsCS as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Czech resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsCS = { - igx_query_builder_date_placeholder: 'Datum výdeje', - igx_query_builder_time_placeholder: 'Čas vyzvednutí', - igx_query_builder_datetime_placeholder: 'Vyberte datum a čas', - igx_query_builder_filter_operator_and: 'A', - igx_query_builder_filter_operator_or: 'Nebo', - igx_query_builder_filter_contains: 'Obsahuje', - igx_query_builder_filter_doesNotContain: 'Neobsahuje', - igx_query_builder_filter_startsWith: 'Začíná s', - igx_query_builder_filter_endsWith: 'Končí s', - igx_query_builder_filter_equals: 'Se rovná', - igx_query_builder_filter_doesNotEqual: 'Nerovná se', - igx_query_builder_filter_empty: 'Prázdný', - igx_query_builder_filter_notEmpty: 'Není prázdný', - igx_query_builder_filter_null: 'Nula', - igx_query_builder_filter_notNull: 'Nenulový', - igx_query_builder_filter_in: 'V', - igx_query_builder_filter_notIn: 'Není v', - igx_query_builder_filter_before: 'Před', - igx_query_builder_filter_after: 'Po', - igx_query_builder_filter_at: 'V', - igx_query_builder_filter_not_at: 'Ne v', - igx_query_builder_filter_at_before: 'V nebo dříve', - igx_query_builder_filter_at_after: 'V nebo po', - igx_query_builder_filter_today: 'Dnes', - igx_query_builder_filter_yesterday: 'Včera', - igx_query_builder_filter_thisMonth: 'Tento měsíc', - igx_query_builder_filter_lastMonth: 'Minulý měsíc', - igx_query_builder_filter_nextMonth: 'Příští měsíc', - igx_query_builder_filter_thisYear: 'Tento rok', - igx_query_builder_filter_lastYear: 'Minulý rok', - igx_query_builder_filter_nextYear: 'Příští rok', - igx_query_builder_filter_greaterThan: 'Větší než', - igx_query_builder_filter_lessThan: 'Méně než', - igx_query_builder_filter_greaterThanOrEqualTo: 'Větší než nebo rovno', - igx_query_builder_filter_lessThanOrEqualTo: 'Méně než nebo rovno', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Všechno', - igx_query_builder_from_label: 'Z', - igx_query_builder_select_label: 'Vybrat', - igx_query_builder_where_label: 'Kde', - igx_query_builder_and_group: '"A" skupina', - igx_query_builder_or_group: '"Nebo" skupina', - igx_query_builder_end_group: 'Ukončit skupina', - igx_query_builder_and_label: 'a', - igx_query_builder_or_label: 'nebo', - igx_query_builder_switch_group: 'Přepnout na {0}', - igx_query_builder_add_condition: 'Vytvořte podmínku', - igx_query_builder_add_group: 'Vytvořte skupinu', - igx_query_builder_add_condition_root: 'Podmínka', - igx_query_builder_add_group_root: 'Skupina', - igx_query_builder_ungroup: 'Oddělit', - igx_query_builder_delete: 'Vymazat', - igx_query_builder_delete_filters: 'Smazat filtry', - igx_query_builder_initial_text: 'Začněte vytvořením skupiny podmínek spojených s "And" nebo "Or"', - igx_query_builder_column_placeholder: 'Vyberte sloupec', - igx_query_builder_condition_placeholder: 'Vyberte filtr', - igx_query_builder_value_placeholder: 'Hodnota', - igx_query_builder_query_value_placeholder: 'Výsledky dílčího dotazu', - igx_query_builder_all_fields: 'Všechna pole', - igx_query_builder_details: 'Podrobnosti', - igx_query_builder_search: 'Vyhledávání', - igx_query_builder_select_all: 'Vybrat vše', - igx_query_builder_select_entity: 'Vyberte entitu', - igx_query_builder_select_return_field_single: 'Vyberte návratové pole', - igx_query_builder_select_return_fields: 'Vyberte pole pro vrácení', - igx_query_builder_dialog_title: 'Potvrzení', - igx_query_builder_dialog_message: 'Změnou entity ztratíte svá aktuální nastavení. Opravdu to chcete udělat?', - igx_query_builder_dialog_checkbox_text: 'Tento dialog již příště nezobrazovat', - igx_query_builder_dialog_cancel: 'Zrušení', - igx_query_builder_dialog_confirm: 'Potvrdit', - igx_query_builder_drop_ghost_text: 'Přetažením sem vložíte' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsCS = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/resources.ts index ddee89200c0..4773125403b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsCS } from './action-strip-resources'; /** * Czech resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsCS = { ...GridResourceStringsCS, diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/time-picker-resources.ts index 8e22b07d344..690f3fbcab5 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsCS as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsCS = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Zrušení', - igx_time_picker_change_time: 'Změnit čas', - igx_time_picker_choose_time: 'Zvolte čas' -} satisfies MakeRequired; +export const TimePickerResourceStringsCS = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/CS/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/CS/tree-resources.ts index 01dc505af20..6e1e5f65765 100644 --- a/projects/igniteui-angular-i18n/src/i18n/CS/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/CS/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsCS as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Czech resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsCS = { - igx_expand: 'Rozbalit', - igx_collapse: 'Sbalit' -} satisfies MakeRequired; +export const TreeResourceStringsCS = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/action-strip-resources.ts index c50c075e198..fe50761f7e7 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsDA as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsDA = { - igx_action_strip_button_more_title: 'Mere' -} satisfies MakeRequired; +export const ActionStripResourceStringsDA = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/banner-resources.ts index 1850ba358bb..b1530fbf4df 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsDA as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsDA = { - igx_banner_button_dismiss: 'Afvis' -} satisfies MakeRequired; +export const BannerResourceStringsDA = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/calendar-resources.ts index 01eae9a8f7c..b29a9523cd6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsDA as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsDA = { - igx_calendar_previous_month: 'Forrige måned', - igx_calendar_next_month: 'Næste måned', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Vælg måned', - igx_calendar_select_year: 'Vælg år', - igx_calendar_range_start: 'Interval start', - igx_calendar_range_end: 'Interval slut', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Den valgte måned er ', - igx_calendar_first_picker_of: 'Første vælger af {0} starter fra', - igx_calendar_multi_selection: 'Kalender med flere markeringer med {0} datovælgere', - igx_calendar_range_selection: 'Kalender med intervalmarkering med {0} datovælgere', - igx_calendar_single_selection: 'Kalender med {0} datovælgere', - igx_calendar_singular_multi_selection: 'Kalender med flere markeringer', - igx_calendar_singular_range_selection: 'Kalender med intervalmarkering', - igx_calendar_singular_single_selection: 'Kalender' -} satisfies MakeRequired; +export const CalendarResourceStringsDA = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/carousel-resources.ts index e8c498194da..8e8feb3aeb1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsDA as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsDA = { - igx_carousel_of: 'af', - igx_carousel_slide: 'dias', - igx_carousel_previous_slide: 'forrige dias', - igx_carousel_next_slide: 'næste dias' -} satisfies MakeRequired; +export const CarouselResourceStringsDA = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/chip-resources.ts index 8ac9a876de5..714eb69597e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsDA as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsDA = { - igx_chip_remove: 'Fjern chip', - igx_chip_select: 'Vælg chip' -} satisfies MakeRequired; +export const ChipResourceStringsDA = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/combo-resources.ts index f4eb7291813..8ebe090631b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsDA as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsDA = { - igx_combo_empty_message: 'Listen er tom', - igx_combo_filter_search_placeholder: 'Indtast en søgeterm', - igx_combo_addCustomValues_placeholder: 'Tilføj element', - igx_combo_clearItems_placeholder: 'Ryd markering', - igx_combo_aria_label_options: 'Valgte muligheder', - igx_combo_aria_label_no_options: 'Ingen valgte muligheder' -} satisfies MakeRequired; +export const ComboResourceStringsDA = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/date-picker-resources.ts index 50c2d581fca..dd4993483be 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsDA as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsDA = { - igx_date_picker_change_date: 'Skift dato', - igx_date_picker_choose_date: 'Vælg dato' -} satisfies MakeRequired; +export const DatePickerResourceStringsDA = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/date-range-picker-resources.ts index 3cb1539e56b..5e4037a5bb4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsDA as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsDA = { - igx_date_range_picker_date_separator: 'till', - igx_date_range_picker_done_button: 'Færdigt', - igx_date_range_picker_cancel_button: 'Annuller', - igx_date_range_picker_last7Days: 'Sidste 7 dage', - igx_date_range_picker_currentMonth: 'Denne måned', - igx_date_range_picker_last30Days: 'Sidste 30 dage', - igx_date_range_picker_yearToDate: 'Året til dato', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsDA = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts index 7f4f3684b15..aed5413b11b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsDA as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsDA = { - igx_grid_groupByArea_message: 'Træk et kolonnesidehoved og slip den her for at gruppere efter den kolonne.', - igx_grid_groupByArea_select_message: 'Vælg alle rækker i gruppen med navnet {0} og værdi {1}.', - igx_grid_groupByArea_deselect_message: 'Fravælg alle rækker i gruppen med navnet {0} og værdi {1}.', - igx_grid_emptyFilteredGrid_message: 'Ingen poster fundet', - igx_grid_emptyGrid_message: 'Tabel har ingen data', - igx_grid_filter: 'Filter', - igx_grid_filter_row_close: 'Luk', - igx_grid_filter_row_reset: 'Nulstil', - igx_grid_filter_row_placeholder: 'Tilføj filterværdi', - igx_grid_filter_row_boolean_placeholder: 'Alle', - igx_grid_filter_row_date_placeholder: 'Afhentningsdato', - igx_grid_filter_row_time_placeholder: 'Afhentningstidspunkt', - igx_grid_filter_operator_and: 'Og', - igx_grid_filter_operator_or: 'Eller', - igx_grid_complex_filter: 'Komplekst filter', - igx_grid_filter_contains: 'Indeholder', - igx_grid_filter_doesNotContain: 'Indeholder ikke', - igx_grid_filter_startsWith: 'Starter med', - igx_grid_filter_endsWith: 'Ender med', - igx_grid_filter_equals: 'Lig med', - igx_grid_filter_doesNotEqual: 'Er ikke lig med', - igx_grid_filter_empty: 'Tom', - igx_grid_filter_notEmpty: 'Ikke tom', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Ikke Null', - igx_grid_filter_before: 'Før', - igx_grid_filter_after: 'Efter', - igx_grid_filter_at: 'På', - igx_grid_filter_not_at: 'Ikke på', - igx_grid_filter_at_before: 'På eller før', - igx_grid_filter_at_after: 'På eller efter', - igx_grid_filter_today: 'I dag', - igx_grid_filter_yesterday: 'I går', - igx_grid_filter_thisMonth: 'Denne måned', - igx_grid_filter_lastMonth: 'Sidste måned', - igx_grid_filter_nextMonth: 'Næste måned', - igx_grid_filter_thisYear: 'Dette år', - igx_grid_filter_lastYear: 'Sidste år', - igx_grid_filter_nextYear: 'Næste år', - igx_grid_filter_greaterThan: 'Større end', - igx_grid_filter_lessThan: 'Mindre end', - igx_grid_filter_greaterThanOrEqualTo: 'Større end eller lig med', - igx_grid_filter_lessThanOrEqualTo: 'Mindre end eller lig med', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Alle', - igx_grid_filter_condition_placeholder: 'Vælg filter', - igx_grid_filter_in: 'I', - igx_grid_filter_notIn: 'Ikke i', - igx_grid_summary_count: 'Optælling', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Maks', - igx_grid_summary_sum: 'Sum', - igx_grid_summary_average: 'Gns', - igx_grid_summary_earliest: 'Tidligst', - igx_grid_summary_latest: 'Senest', - igx_grid_excel_filter_moving_left: 'Flyt til venstre', - igx_grid_excel_filter_moving_left_short: 'venstre', - igx_grid_excel_filter_moving_right: 'Flyt til højre', - igx_grid_excel_filter_moving_right_short: 'højre', - igx_grid_excel_filter_moving_header: 'flyt', - igx_grid_excel_filter_sorting_asc: 'stigende', - igx_grid_excel_filter_sorting_asc_short: 'stig', - igx_grid_excel_filter_sorting_desc: 'aftagende', - igx_grid_excel_filter_sorting_desc_short: 'aft', - igx_grid_excel_filter_sorting_header: 'sortér', - igx_grid_excel_filter_clear: 'Ryd kolonnefiltre', - igx_grid_excel_custom_dialog_add: 'tilføj filter', - igx_grid_excel_custom_dialog_clear: 'Ryd filter', - igx_grid_excel_custom_dialog_header: 'Brugerdefineret autofilter på kolonne ', - igx_grid_excel_cancel: 'annuller', - igx_grid_excel_apply: 'anvend', - igx_grid_excel_search_placeholder: 'Søg', - igx_grid_excel_select_all: 'Vælg alle', - igx_grid_excel_select_all_search_results: 'Vælg alle søgeresultater', - igx_grid_excel_add_to_filter: 'Tilføj aktuel markering til filter', - igx_grid_excel_blanks: '(Blanke)', - igx_grid_excel_hide: 'Skjul kolonne', - igx_grid_excel_show: 'Vis kolonne', - igx_grid_excel_pin: 'Fastgør kolonne', - igx_grid_excel_unpin: 'Frigør kolonne', - igx_grid_excel_select: 'Vælg kolonne', - igx_grid_excel_deselect: 'Fravælg kolonne', - igx_grid_excel_text_filter: 'Tekstfilter', - igx_grid_excel_number_filter: 'Talfilter', - igx_grid_excel_date_filter: 'Datofilter', - igx_grid_excel_boolean_filter: 'Boolsk filter', - igx_grid_excel_currency_filter: 'Valutafilter', - igx_grid_excel_custom_filter: 'Brugerdefineret filter', - igx_grid_excel_no_matches: 'Ingen forekomster', - igx_grid_excel_matches_count: '{0} forekomster', - igx_grid_advanced_filter_title: 'Avanceret filtrering', - igx_grid_advanced_filter_from_label: 'Fra', - igx_grid_advanced_filter_and_group: '"Og" gruppe', - igx_grid_advanced_filter_or_group: '"Eller" gruppe', - igx_grid_advanced_filter_end_group: 'Afslut gruppe', - igx_grid_advanced_filter_create_and_group: 'Opret "Og" gruppe', - igx_grid_advanced_filter_create_or_group: 'Opret "Eller" gruppe', - igx_grid_advanced_filter_and_label: 'og', - igx_grid_advanced_filter_or_label: 'eller', - igx_grid_advanced_filter_switch_group: 'Skift til {0}', - igx_grid_advanced_filter_add_condition: 'Tilføj betingelse', - igx_grid_advanced_filter_add_group: 'Tilføj gruppe', - igx_grid_advanced_filter_add_condition_root: 'Betingelse', - igx_grid_advanced_filter_add_group_root: 'Gruppe', - igx_grid_advanced_filter_ungroup: 'Fjern gruppe', - igx_grid_advanced_filter_delete: 'Slet', - igx_grid_advanced_filter_delete_filters: 'Slet filtre', - igx_grid_advanced_filter_initial_text: 'Start med at oprette en tilstandsgruppe, der er knyttet til "Og" eller "Eller"', - igx_grid_advanced_filter_column_placeholder: 'Vælg kolonne', - igx_grid_advanced_filter_value_placeholder: 'Værdi', - igx_grid_advanced_filter_query_value_placeholder: 'Underforespørgselsresultater', - igx_grid_advanced_filter_select_entity: 'Vælg objekt', - igx_grid_advanced_filter_select_return_field_single: 'Vælg returfelt', - igx_grid_advanced_filter_dialog_title: 'Bekræftelse', - igx_grid_advanced_filter_dialog_message: 'Ved at ændre objektet mister du dine nuværende indstillinger. Er du sikker på, at du vil fortsætte?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Vis ikke denne dialogboks igen', - igx_grid_advanced_filter_drop_ghost_text: 'Slip her for at indsætte', - igx_grid_pinned_row_indicator: 'Fastgjort', - igx_grid_hiding_check_all_label: 'Vis alt', - igx_grid_hiding_uncheck_all_label: 'Gem alt', - igx_grid_pinning_check_all_label: 'Fastgør alle', - igx_grid_pinning_uncheck_all_label: 'Frigør alle', - igx_grid_row_edit_btn_done: 'Færdig', - igx_grid_row_edit_btn_cancel: 'Annuller', - igx_grid_row_edit_text: 'Du har {0} ændringer i denne række og {1} skjulte kolonner', - igx_grid_toolbar_actions_filter_prompt: 'Filtrer kolonneliste ...', - igx_grid_toolbar_pinning_button_tooltip: 'Åbn rulleliste til fastgørelse af kolonner', - igx_grid_toolbar_hiding_button_tooltip: 'Åbn rulleliste til skjulning af kolonner', - igx_grid_toolbar_pinning_title: 'Fastgjorte kolonner', - igx_grid_toolbar_hiding_title: 'Synlige kolonner', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Åbn avanceret filtreringsdialog', - igx_grid_toolbar_advanced_filtering_button_label: 'Avanceret filtrering', - igx_grid_toolbar_exporter_button_tooltip: 'Åbn eksportørens rulleliste', - igx_grid_toolbar_exporter_button_label: 'Eksportér', - igx_grid_toolbar_exporter_excel_entry_text: 'Eksportér til Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Eksportér til CSV', - igx_grid_snackbar_addrow_label: 'Række tilføjet', - igx_grid_snackbar_addrow_actiontext: 'VIS', - igx_grid_actions_edit_label: 'Rediger', - igx_grid_actions_add_label: 'Tilføj', - igx_grid_add_row_label: 'TILFØJ RÆKKE', - igx_grid_actions_add_child_label: 'Tilføj Underordnet', - igx_grid_actions_delete_label: 'Slet', - igx_grid_actions_pin_label: 'Fastgør', - igx_grid_actions_unpin_label: 'Frigør', - igx_grid_actions_jumpUp_label: 'Spring op', - igx_grid_actions_jumpDown_label: 'Spring ned', - igx_grid_pivot_date_dimension_total: 'Alle perioder', - igx_grid_pivot_aggregate_count: 'Tælle', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maksimum', - igx_grid_pivot_aggregate_sum: 'Summen', - igx_grid_pivot_aggregate_avg: 'Gennemsnit', - igx_grid_pivot_aggregate_date_latest: 'Seneste dato', - igx_grid_pivot_aggregate_date_earliest: 'Tidligste dato', - igx_grid_pivot_aggregate_time_latest: 'Seneste tid', - igx_grid_pivot_aggregate_time_earliest: 'Tidligste tid', - igx_grid_pivot_empty_row_drop_area: 'Slip rækkefelter her.', - igx_grid_pivot_empty_column_drop_area: 'Slip kolonnefelter her.', - igx_grid_pivot_empty_filter_drop_area: 'Slip filterfelter her.', - igx_grid_pivot_empty_value_drop_area: 'Slip værdifelter her.', - igx_grid_pivot_row_drop_chip: 'Slip her for at bruge som række', - igx_grid_pivot_column_drop_chip: 'Slip her for at bruge som kolonne', - igx_grid_pivot_filter_drop_chip: 'Slip her for at bruge som filter', - igx_grid_pivot_value_drop_chip: 'Slip her for at bruge som værdi', - igx_grid_pivot_selector_filters: 'Filtre', - igx_grid_pivot_selector_rows: 'Rækker', - igx_grid_pivot_selector_columns: 'Kolonner', - igx_grid_pivot_selector_values: 'Værdier', - igx_grid_pivot_selector_panel_empty: 'Træk elementer hertil', - igx_grid_pivot_empty_message: 'Pivottabel har ingen dimensioner og værdier.', - igx_grid_required_validation_error: 'Dette felt er påkrævet', - igx_grid_min_validation_error: 'Der skal indtastes en værdi på mindst {0}', - igx_grid_max_validation_error: 'Der skal indtastes en værdi, der ikke mere end {0}', - igx_grid_min_length_validation_error: 'Indtastningen skal være mindst {0} tegn', - igx_grid_max_length_validation_error: 'Indtastningen må højst være {0} tegn', - igx_grid_email_validation_error: 'Der skal indtastes en gyldig e-mailadresse', - igx_grid_pattern_validation_error: 'Indtastning stemmer ikke overens med det krævede mønster' -} satisfies MakeRequired; +export const GridResourceStringsDA = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/input-resources.ts index 6f3e78a0b83..200ca974605 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsDA as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsDA = { - igx_input_upload_button: 'Upload fil', - igx_input_file_placeholder: 'Der er ikke valgt nogen fil' -} satisfies MakeRequired; +export const InputResourceStringsDA = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/list-resources.ts index 1c070af70c1..ad5318be48a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsDA as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsDA = { - igx_list_no_items: 'Der er ingen elementer på listen.', - igx_list_loading: 'Indlæser data fra serveren...' -} satisfies MakeRequired; +export const ListResourceStringsDA = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/paginator-resources.ts index ad7d26b45ad..6017b03b2e2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsDA as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsDA = { - igx_paginator_label: 'Elementer per side', - igx_paginator_pager_text: 'af', - igx_paginator_first_page_button_text: 'Gå til første side', - igx_paginator_previous_page_button_text: 'Forrige side', - igx_paginator_last_page_button_text: 'Gå til sidste side', - igx_paginator_next_page_button_text: 'Næste side', -} satisfies MakeRequired; +export const PaginatorResourceStringsDA = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/query-builder-resources.ts index 697b8c767d6..d0601ca4fa9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsDA as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Danish resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsDA = { - igx_query_builder_date_placeholder: 'Afhentningsdato', - igx_query_builder_time_placeholder: 'Afhentningstidspunkt', - igx_query_builder_datetime_placeholder: 'Vælg dato og tid', - igx_query_builder_filter_operator_and: 'Og', - igx_query_builder_filter_operator_or: 'Eller', - igx_query_builder_filter_contains: 'Indeholder', - igx_query_builder_filter_doesNotContain: 'Indeholder ikke', - igx_query_builder_filter_startsWith: 'Starter med', - igx_query_builder_filter_endsWith: 'Ender med', - igx_query_builder_filter_equals: 'Lig med', - igx_query_builder_filter_doesNotEqual: 'Er ikke lig med', - igx_query_builder_filter_empty: 'Tom', - igx_query_builder_filter_notEmpty: 'Ikke tom', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Ikke Null', - igx_query_builder_filter_in: 'I', - igx_query_builder_filter_notIn: 'Ikke i', - igx_query_builder_filter_before: 'Før', - igx_query_builder_filter_after: 'Efter', - igx_query_builder_filter_at: 'På', - igx_query_builder_filter_not_at: 'Ikke på', - igx_query_builder_filter_at_before: 'På eller før', - igx_query_builder_filter_at_after: 'På eller efter', - igx_query_builder_filter_today: 'I dag', - igx_query_builder_filter_yesterday: 'I går', - igx_query_builder_filter_thisMonth: 'Denne måned', - igx_query_builder_filter_lastMonth: 'Sidste måned', - igx_query_builder_filter_nextMonth: 'Næste måned', - igx_query_builder_filter_thisYear: 'Dette år', - igx_query_builder_filter_lastYear: 'Sidste år', - igx_query_builder_filter_nextYear: 'Næste år', - igx_query_builder_filter_greaterThan: 'Større end', - igx_query_builder_filter_lessThan: 'Mindre end', - igx_query_builder_filter_greaterThanOrEqualTo: 'Større end eller lig med', - igx_query_builder_filter_lessThanOrEqualTo: 'Mindre end eller lig med', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Alle', - igx_query_builder_from_label: 'Fra', - igx_query_builder_select_label: 'Vælg', - igx_query_builder_where_label: 'Hvor', - igx_query_builder_and_group: '"Og" gruppe', - igx_query_builder_or_group: '"Eller" gruppe', - igx_query_builder_end_group: 'Afslut gruppe', - igx_query_builder_and_label: 'og', - igx_query_builder_or_label: 'eller', - igx_query_builder_switch_group: 'Skift til {0}', - igx_query_builder_add_condition: 'Opret betingelse', - igx_query_builder_add_group: 'Opret gruppe', - igx_query_builder_add_condition_root: 'Betingelse', - igx_query_builder_add_group_root: 'Gruppe', - igx_query_builder_ungroup: 'Fjern gruppe', - igx_query_builder_delete: 'Slet', - igx_query_builder_delete_filters: 'Slet filtre', - igx_query_builder_initial_text: 'Start med at oprette en tilstandsgruppe, der er knyttet til "Og" eller "Eller"', - igx_query_builder_column_placeholder: 'Vælg kolonne', - igx_query_builder_condition_placeholder: 'Vælg filter', - igx_query_builder_value_placeholder: 'Værdi', - igx_query_builder_query_value_placeholder: 'Underforespørgselsresultater', - igx_query_builder_all_fields: 'Alle felter', - igx_query_builder_details: 'Detaljer', - igx_query_builder_search: 'Søg', - igx_query_builder_select_all: 'Vælg alle', - igx_query_builder_select_entity: 'Vælg objekt', - igx_query_builder_select_return_field_single: 'Vælg returfelt', - igx_query_builder_select_return_fields: 'Vælg returfelter', - igx_query_builder_dialog_title: 'Bekræftelse', - igx_query_builder_dialog_message: 'Ved at ændre objektet mister du dine nuværende indstillinger. Er du sikker på, at du vil fortsætte?', - igx_query_builder_dialog_checkbox_text: 'Vis ikke denne dialogboks igen', - igx_query_builder_dialog_cancel: 'Annuller', - igx_query_builder_dialog_confirm: 'Bekræft', - igx_query_builder_drop_ghost_text: 'Slip her for at indsætte' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsDA = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/resources.ts index 62da1930e5f..0129bd8f252 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsDA } from './action-strip-resources'; /** * Danish resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsDA = { ...GridResourceStringsDA, diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/time-picker-resources.ts index fff1e1a99c3..c5fe4f880b1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsDA as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsDA = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Annuller', - igx_time_picker_change_time: 'Skift klokkeslæt', - igx_time_picker_choose_time: 'Vælg et klokkeslæt' -} satisfies MakeRequired; +export const TimePickerResourceStringsDA = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DA/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DA/tree-resources.ts index 353d9ed41e8..63a97c47d38 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DA/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DA/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsDA as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Danish resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsDA = { - igx_expand: 'Udvid', - igx_collapse: 'Skjul' -} satisfies MakeRequired; +export const TreeResourceStringsDA = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/action-strip-resources.ts index 422f2f1f814..5f6ebe57b16 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsDE as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsDE = { - igx_action_strip_button_more_title: 'Mehr' -} satisfies MakeRequired; +export const ActionStripResourceStringsDE = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/banner-resources.ts index 8c9441bb133..0bede0c8666 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsDE as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsDE = { - igx_banner_button_dismiss: 'Schließen' -} satisfies MakeRequired; +export const BannerResourceStringsDE = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/calendar-resources.ts index 8fbbeee0d96..a642385c4bd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsDE as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsDE = { - igx_calendar_previous_month: 'Vorheriger Monat', - igx_calendar_next_month: 'Nächster Monat', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Wähle Monat', - igx_calendar_select_year: 'Wähle Jahr', - igx_calendar_range_start: 'Datumsperiode Anfang', - igx_calendar_range_end: 'Datumsperiode Ende', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Der ausgewählter Monat ist ', - igx_calendar_first_picker_of: 'Die erste Auswahl von {0} beginnt am', - igx_calendar_multi_selection: 'Mehrfachauswahl-Kalender mit {0} Datumswählern', - igx_calendar_range_selection: 'Datumsperiodenauswahl-Kalender mit {0} Datumswählern', - igx_calendar_single_selection: 'Kalender mit {0} Datumswählern', - igx_calendar_singular_multi_selection: 'Mehrfachauswahl-Kalender ', - igx_calendar_singular_range_selection: 'Datumsperiodenauswahl-Kalender', - igx_calendar_singular_single_selection: 'Kalender' -} satisfies MakeRequired; +export const CalendarResourceStringsDE = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/carousel-resources.ts index 938072d2d6a..f80db21dc7c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsDE as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsDE = { - igx_carousel_of: 'von', - igx_carousel_slide: 'Folie', - igx_carousel_previous_slide: 'Vorherige Folie', - igx_carousel_next_slide: 'Nächste Folie' -} satisfies MakeRequired; +export const CarouselResourceStringsDE = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/chip-resources.ts index a10d358d342..76c318eef9d 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsDE as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsDE = { - igx_chip_remove: 'Chip entfernen', - igx_chip_select: 'Chip auswählen' -} satisfies MakeRequired; +export const ChipResourceStringsDE = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/combo-resources.ts index 2039ca49099..76607f9ebde 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsDE as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsDE = { - igx_combo_empty_message: 'Die Liste ist leer', - igx_combo_filter_search_placeholder: 'Suchbegriff eingeben', - igx_combo_addCustomValues_placeholder: 'Element hinzufügen', - igx_combo_clearItems_placeholder: 'Auswahl löschen', - igx_combo_aria_label_options: 'Ausgewählte Optionen', - igx_combo_aria_label_no_options: 'Keine Optionen ausgewählt' -} satisfies MakeRequired; +export const ComboResourceStringsDE = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/date-picker-resources.ts index 3bbde041ece..b295b36abea 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsDE as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsDE = { - igx_date_picker_change_date: 'Datum ändern', - igx_date_picker_choose_date: 'Datum wählen' -} satisfies MakeRequired; +export const DatePickerResourceStringsDE = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/date-range-picker-resources.ts index 20d86f0f1c3..721d5946453 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsDE as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsDE = { - igx_date_range_picker_date_separator: 'bis', - igx_date_range_picker_done_button: 'Fertig', - igx_date_range_picker_cancel_button: 'Abbrechen', - igx_date_range_picker_last7Days: 'Letzte 7 Tage', - igx_date_range_picker_currentMonth: 'Aktueller Monat', - igx_date_range_picker_last30Days: 'Letzte 30 Tage', - igx_date_range_picker_yearToDate: 'Jahr bis heute', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsDE = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts index e0b9594830f..4a3fdcea32f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsDE as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsDE = { - igx_grid_groupByArea_message: 'Lege eine Spaltenüberschrift hier ab, um danach zu gruppieren.', - igx_grid_emptyFilteredGrid_message: 'Keine Einträge gefunden.', - igx_grid_emptyGrid_message: 'Grid hat keine Daten.', - igx_grid_filter: 'Filter', - igx_grid_filter_row_close: 'Schließen', - igx_grid_filter_row_reset: 'Zurücksetzen', - igx_grid_filter_row_placeholder: 'Füge Filterwert hinzu', - igx_grid_filter_row_boolean_placeholder: 'Alle', - igx_grid_filter_row_date_placeholder: 'Wähle Datum', - igx_grid_filter_row_time_placeholder: 'Abholungszeit', - igx_grid_filter_operator_and: 'Und', - igx_grid_filter_operator_or: 'Oder', - igx_grid_complex_filter: 'Komplexer Filter', - igx_grid_filter_contains: 'Enthält', - igx_grid_filter_doesNotContain: 'Enthält nicht', - igx_grid_filter_startsWith: 'Beginnt mit', - igx_grid_filter_endsWith: 'Endet mit', - igx_grid_filter_equals: 'Gleich', - igx_grid_filter_doesNotEqual: 'Nicht gleich', - igx_grid_filter_empty: 'Leer', - igx_grid_filter_notEmpty: 'Nicht leer', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Nicht Null', - igx_grid_filter_before: 'Vor', - igx_grid_filter_after: 'Nach', - igx_grid_filter_at: 'Um', - igx_grid_filter_not_at: 'Nicht um', - igx_grid_filter_at_before: 'Um oder vor', - igx_grid_filter_at_after: 'Um oder nach', - igx_grid_filter_today: 'Heute', - igx_grid_filter_yesterday: 'Gestern', - igx_grid_filter_thisMonth: 'Diesen Monat', - igx_grid_filter_lastMonth: 'Letzten Monat', - igx_grid_filter_nextMonth: 'Nächsten Monat', - igx_grid_filter_thisYear: 'Dieses Jahr', - igx_grid_filter_lastYear: 'Letztes Jahr', - igx_grid_filter_nextYear: 'Nächstes Jahr', - igx_grid_filter_greaterThan: 'Größer als', - igx_grid_filter_lessThan: 'Kleiner als', - igx_grid_filter_greaterThanOrEqualTo: 'Größer als oder gleich', - igx_grid_filter_lessThanOrEqualTo: 'Kleiner als oder gleich', - igx_grid_filter_true: 'Wahr', - igx_grid_filter_false: 'Falsch', - igx_grid_filter_all: 'Alle', - igx_grid_filter_condition_placeholder: 'Wähle Filter', - igx_grid_filter_in: 'In', - igx_grid_filter_notIn: 'Nicht in', - igx_grid_summary_count: 'Anzahl', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Summe', - igx_grid_summary_average: 'Mittel', - igx_grid_summary_earliest: 'Früheste', - igx_grid_summary_latest: 'Späteste', - igx_grid_excel_filter_moving_left: 'Nach links', - igx_grid_excel_filter_moving_left_short: 'Links', - igx_grid_excel_filter_moving_right: 'Nach rechts', - igx_grid_excel_filter_moving_right_short: 'Rechts', - igx_grid_excel_filter_moving_header: 'Verschiebe', - igx_grid_excel_filter_sorting_asc: 'Aufsteigend', - igx_grid_excel_filter_sorting_asc_short: 'Auf', - igx_grid_excel_filter_sorting_desc: 'Absteigend', - igx_grid_excel_filter_sorting_desc_short: 'Ab', - igx_grid_excel_filter_sorting_header: 'Sortiere', - igx_grid_excel_filter_clear: 'Lösche Filter', - igx_grid_excel_custom_dialog_add: 'Füge Filter hinzu', - igx_grid_excel_custom_dialog_clear: 'Lösche Filter', - igx_grid_excel_custom_dialog_header: 'Benutzerdefinierter Filter für Spalte: ', - igx_grid_excel_cancel: 'Abbrechen', - igx_grid_excel_apply: 'Anwenden', - igx_grid_excel_search_placeholder: 'Suche', - igx_grid_excel_select_all: 'Alles auswählen', - igx_grid_excel_select_all_search_results: 'Wähle alle Suchergebnisse aus', - igx_grid_excel_add_to_filter: 'Füge aktuelle Auswahl zum Filter hinzu', - igx_grid_excel_blanks: '(Leer)', - igx_grid_excel_hide: 'Verstecke Spalte', - igx_grid_excel_show: 'Zeige Spalte', - igx_grid_excel_pin: 'Fixiere Spalte', - igx_grid_excel_unpin: 'Löse Spalte', - igx_grid_excel_select: 'Selektiere Spalte', - igx_grid_excel_deselect: 'Spaltenauswahl aufheben', - igx_grid_excel_text_filter: 'Text-Filter', - igx_grid_excel_number_filter: 'Zahlen-Filter', - igx_grid_excel_date_filter: 'Datums-Filter', - igx_grid_excel_boolean_filter: 'Logischer Filter', - igx_grid_excel_currency_filter: 'Währungs Filter', - igx_grid_excel_custom_filter: 'Benutzerdefinierter Filter...', - igx_grid_excel_no_matches: 'Keine Übereinstimmungen', - igx_grid_excel_matches_count: '{0} Übereinstimmungen', - igx_grid_advanced_filter_title: 'Erweiterte Filterung', - igx_grid_advanced_filter_from_label: 'Von', - igx_grid_advanced_filter_and_group: '"Und" Gruppe', - igx_grid_advanced_filter_or_group: '"Oder" Gruppe', - igx_grid_advanced_filter_end_group: 'Beende Gruppe', - igx_grid_advanced_filter_create_and_group: 'Erstelle "Und" Gruppe', - igx_grid_advanced_filter_create_or_group: 'Erstelle "Oder" Gruppe', - igx_grid_advanced_filter_and_label: 'und', - igx_grid_advanced_filter_or_label: 'oder', - igx_grid_advanced_filter_switch_group: 'Wechseln zu {0}', - igx_grid_advanced_filter_add_condition: 'Bedingung hinzufügen', - igx_grid_advanced_filter_add_group: 'Gruppe hinzufügen', - igx_grid_advanced_filter_add_condition_root: 'Bedingung', - igx_grid_advanced_filter_add_group_root: 'Gruppe', - igx_grid_advanced_filter_ungroup: 'Lösche Gruppierung', - igx_grid_advanced_filter_delete: 'Lösche', - igx_grid_advanced_filter_delete_filters: 'Lösche Filter', - igx_grid_advanced_filter_initial_text: 'Fange an mit einer Gruppe von Bedingungen, die mit "Und" oder "Oder" verknüpft sind', - igx_grid_advanced_filter_column_placeholder: 'Wähle Spalte', - igx_grid_advanced_filter_value_placeholder: 'Wert', - igx_grid_advanced_filter_query_value_placeholder: 'Unterabfrageergebnisse', - igx_grid_advanced_filter_select_entity: 'Entität auswählen', - igx_grid_advanced_filter_select_return_field_single: 'Rückgabefeld auswählen', - igx_grid_advanced_filter_dialog_title: 'Bestätigung', - igx_grid_advanced_filter_dialog_message: 'Durch das Ändern der Entität gehen Ihre aktuellen Einstellungen verloren. Möchten Sie wirklich fortfahren?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Dieses Dialogfeld nicht mehr anzeigen', - igx_grid_advanced_filter_drop_ghost_text: 'Hier ablegen, um einzufügen', - igx_grid_pinned_row_indicator: 'Fixiert', - igx_grid_hiding_check_all_label: 'Zeige alle', - igx_grid_hiding_uncheck_all_label: 'Verstecke alle', - igx_grid_pinning_check_all_label: 'Fixiere alle', - igx_grid_pinning_uncheck_all_label: 'Löse alle', - igx_grid_row_edit_btn_done: 'Fertig', - igx_grid_row_edit_btn_cancel: 'Abbrechen', - igx_grid_row_edit_text: 'Sie haben {0} Änderungen in dieser Zeile und {1} ausgeblendete Spalten', - igx_grid_toolbar_actions_filter_prompt: 'Filter Spalten-Liste...', - igx_grid_toolbar_pinning_button_tooltip: 'Öffne Menü, um Spalten zu fixieren', - igx_grid_toolbar_hiding_button_tooltip: 'Öffne Menü, um Spalten zu verstecken', - igx_grid_toolbar_pinning_title: 'Fixierte Spalten', - igx_grid_toolbar_hiding_title: 'Sichtbare Spalten', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Öffne Dialog zur erweiterten Filterung', - igx_grid_toolbar_advanced_filtering_button_label: 'Erweiterte Filterung', - igx_grid_toolbar_exporter_button_tooltip: 'Öffne Menü, um zu exportieren', - igx_grid_toolbar_exporter_button_label: 'Exportiere', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportiere als Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportiere als CSV', - igx_grid_groupByArea_select_message: 'Wähle alle Reihen der Gruppe aus mit Feldnamen {0} und Wert {1}.', - igx_grid_groupByArea_deselect_message: 'Wähle alle Reihen der Gruppe ab mit Feldnamen {0} und Wert {1}.', - igx_grid_snackbar_addrow_label: 'Reihe hinzugefügt', - igx_grid_snackbar_addrow_actiontext: 'HINZUFÜGEN', - igx_grid_actions_edit_label: 'Editiere', - igx_grid_actions_add_label: 'Füge hinzu', - igx_grid_add_row_label: 'FÜGE REIHE HINZU', - igx_grid_actions_add_child_label: 'Füge Kind hinzu', - igx_grid_actions_delete_label: 'Lösche', - igx_grid_actions_pin_label: 'Fixiere', - igx_grid_actions_unpin_label: 'Löse', - igx_grid_actions_jumpUp_label: 'Springe hoch', - igx_grid_actions_jumpDown_label: 'Springe runter', - igx_grid_pivot_date_dimension_total: 'Alle Zeiträume', - igx_grid_pivot_aggregate_count: 'Anzahl', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Summe', - igx_grid_pivot_aggregate_avg: 'Durchschnitt', - igx_grid_pivot_aggregate_date_latest: 'Spätester Datum', - igx_grid_pivot_aggregate_date_earliest: 'Frühestes Datum', - igx_grid_pivot_aggregate_time_latest: 'Spätester Zeitpunkt', - igx_grid_pivot_aggregate_time_earliest: 'Früheste Zeitpunkt', - igx_grid_pivot_empty_row_drop_area: 'Zeilenfelder hier ablegen.', - igx_grid_pivot_empty_column_drop_area: 'Spaltenfelder hier ablegen.', - igx_grid_pivot_empty_filter_drop_area: 'Filterfelder hier ablegen.', - igx_grid_pivot_empty_value_drop_area: 'Wertfelder hier ablegen.', - igx_grid_pivot_row_drop_chip: 'Hier ablegen, um es als Zeile zu verwenden', - igx_grid_pivot_column_drop_chip: 'Hier ablegen, um es als Spalte zu verwenden', - igx_grid_pivot_filter_drop_chip: 'Hier ablegen, um es als Filter zu verwenden', - igx_grid_pivot_value_drop_chip: 'Hier ablegen, um es als Wert zu verwenden', - igx_grid_pivot_selector_filters: 'Filter', - igx_grid_pivot_selector_rows: 'Zeilen', - igx_grid_pivot_selector_columns: 'Spalten', - igx_grid_pivot_selector_values: 'Werte', - igx_grid_pivot_selector_panel_empty: 'Elemente mit der Maus hierhin ziehen', - igx_grid_pivot_empty_message: 'Das Pivot-Grid hat keine Dimensionen und Werte.', - igx_grid_required_validation_error: 'Dieses Feld ist erforderlich', - igx_grid_min_validation_error: 'Bitte geben Sie einen Wert größer oder gleich {0} ein', - igx_grid_max_validation_error: 'Bitte geben Sie einen Wert kleiner oder gleich {0} ein', - igx_grid_min_length_validation_error: 'Bitte geben Sie mindestens {0} Zeichen ein', - igx_grid_max_length_validation_error: 'Bitte geben Sie nicht mehr als {0} Zeichen ein', - igx_grid_email_validation_error: 'Eine gültige E-Mail-Adresse sollte eingegeben werden', - igx_grid_pattern_validation_error: 'Eintrag entspricht nicht dem erforderlichen Muster' -} satisfies MakeRequired; +export const GridResourceStringsDE = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/input-resources.ts index 1900dd7cc97..0c283fef8ec 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsDE as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsDE = { - igx_input_upload_button: 'Datei hochladen', - igx_input_file_placeholder: 'Keine Datei ausgewählt' -} satisfies MakeRequired; +export const InputResourceStringsDE = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/list-resources.ts index b169ae059e3..2fa7b834651 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsDE as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsDE = { - igx_list_no_items: 'Es gibt keine Einträge in der Liste.', - igx_list_loading: 'Lade Daten vom Server...' -} satisfies MakeRequired; +export const ListResourceStringsDE = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/paginator-resources.ts index 496c1762dad..475ebaebc46 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsDE as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsDE = { - igx_paginator_label: 'Einträge pro Seite', - igx_paginator_pager_text: 'von', - igx_paginator_first_page_button_text: 'Gehe zur ersten Seite', - igx_paginator_previous_page_button_text: 'Vorherige Seite', - igx_paginator_last_page_button_text: 'Gehe zur letzten Seite', - igx_paginator_next_page_button_text: 'Nächste Seite' -} satisfies MakeRequired; +export const PaginatorResourceStringsDE = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/query-builder-resources.ts index 52b7285d4f0..595215df0a8 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsDE as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * German resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsDE = { - igx_query_builder_date_placeholder: 'Wähle Datum', - igx_query_builder_time_placeholder: 'Abholungszeit', - igx_query_builder_datetime_placeholder: 'Datum und Uhrzeit auswählen', - igx_query_builder_filter_operator_and: 'Und', - igx_query_builder_filter_operator_or: 'Oder', - igx_query_builder_filter_contains: 'Enthält', - igx_query_builder_filter_doesNotContain: 'Enthält nicht', - igx_query_builder_filter_startsWith: 'Beginnt mit', - igx_query_builder_filter_endsWith: 'Endet mit', - igx_query_builder_filter_equals: 'Gleich', - igx_query_builder_filter_doesNotEqual: 'Nicht gleich', - igx_query_builder_filter_empty: 'Leer', - igx_query_builder_filter_notEmpty: 'Nicht leer', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Nicht Null', - igx_query_builder_filter_in: 'In', - igx_query_builder_filter_notIn: 'Nicht in', - igx_query_builder_filter_before: 'Vor', - igx_query_builder_filter_after: 'Nach', - igx_query_builder_filter_at: 'Um', - igx_query_builder_filter_not_at: 'Nicht um', - igx_query_builder_filter_at_before: 'Um oder vor', - igx_query_builder_filter_at_after: 'Um oder nach', - igx_query_builder_filter_today: 'Heute', - igx_query_builder_filter_yesterday: 'Gestern', - igx_query_builder_filter_thisMonth: 'Diesen Monat', - igx_query_builder_filter_lastMonth: 'Letzten Monat', - igx_query_builder_filter_nextMonth: 'Nächsten Monat', - igx_query_builder_filter_thisYear: 'Dieses Jahr', - igx_query_builder_filter_lastYear: 'Letztes Jahr', - igx_query_builder_filter_nextYear: 'Nächstes Jahr', - igx_query_builder_filter_greaterThan: 'Größer als', - igx_query_builder_filter_lessThan: 'Kleiner als', - igx_query_builder_filter_greaterThanOrEqualTo: 'Größer als oder gleich', - igx_query_builder_filter_lessThanOrEqualTo: 'Kleiner als oder gleich', - igx_query_builder_filter_true: 'Wahr', - igx_query_builder_filter_false: 'Falsch', - igx_query_builder_filter_all: 'Alle', - igx_query_builder_from_label: 'Von', - igx_query_builder_select_label: 'Auswählen', - igx_query_builder_where_label: 'Wo', - igx_query_builder_and_group: '"Und" Gruppe', - igx_query_builder_or_group: '"Oder" Gruppe', - igx_query_builder_end_group: 'Beende Gruppe', - igx_query_builder_and_label: 'und', - igx_query_builder_or_label: 'oder', - igx_query_builder_switch_group: 'Wechseln zu {0}', - igx_query_builder_add_condition: 'Bedingung erstellen', - igx_query_builder_add_group: 'Gruppe erstellen', - igx_query_builder_add_condition_root: 'Bedingung', - igx_query_builder_add_group_root: 'Gruppe', - igx_query_builder_ungroup: 'Lösche Gruppierung', - igx_query_builder_delete: 'Lösche', - igx_query_builder_delete_filters: 'Lösche Filter', - igx_query_builder_initial_text: 'Fange an mit einer Gruppe von Bedingungen, die mit "Und" oder "Oder" verknüpft sind', - igx_query_builder_column_placeholder: 'Wähle Spalte', - igx_query_builder_condition_placeholder: 'Wähle Filter', - igx_query_builder_value_placeholder: 'Wert', - igx_query_builder_query_value_placeholder: 'Unterabfrageergebnisse', - igx_query_builder_all_fields: 'Alle Felder', - igx_query_builder_details: 'Details', - igx_query_builder_search: 'Suchen', - igx_query_builder_select_all: 'Alle auswählen', - igx_query_builder_select_entity: 'Entität auswählen', - igx_query_builder_select_return_field_single: 'Rückgabefeld auswählen', - igx_query_builder_select_return_fields: 'Rückgabefelder auswählen', - igx_query_builder_dialog_title: 'Bestätigung', - igx_query_builder_dialog_message: 'Durch das Ändern der Entität gehen Ihre aktuellen Einstellungen verloren. Möchten Sie wirklich fortfahren?', - igx_query_builder_dialog_checkbox_text: 'Dieses Dialogfeld nicht mehr anzeigen', - igx_query_builder_dialog_cancel: 'Abbrechen', - igx_query_builder_dialog_confirm: 'Bestätigen', - igx_query_builder_drop_ghost_text: 'Hier ablegen, um einzufügen' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsDE = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/resources.ts index 03881492dc9..06c0e1734db 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsDE } from './action-strip-resources'; /** * German resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsDE = { ...GridResourceStringsDE, diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/time-picker-resources.ts index d48d0ab5190..10d12f272a2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsDE as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsDE = { - igx_time_picker_ok: 'Ok', - igx_time_picker_cancel: 'Abbrechen', - igx_time_picker_change_time: 'Uhrzeit ändern', - igx_time_picker_choose_time: 'Uhrzeit wählen' -} satisfies MakeRequired; +export const TimePickerResourceStringsDE = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/DE/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/DE/tree-resources.ts index 451348521e1..1c190829430 100644 --- a/projects/igniteui-angular-i18n/src/i18n/DE/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/DE/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsDE as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * German resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsDE = { - igx_expand: 'Erweitern', - igx_collapse: 'Reduzieren' -} satisfies MakeRequired; +export const TreeResourceStringsDE = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/action-strip-resources.ts index 178aa042e48..554942645f9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsES as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsES = { - igx_action_strip_button_more_title: 'Más' -} satisfies MakeRequired; +export const ActionStripResourceStringsES = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/banner-resources.ts index fcddd2b2853..968cf5f86bc 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsES as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsES = { - igx_banner_button_dismiss: 'Descartar' -} satisfies MakeRequired; +export const BannerResourceStringsES = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/calendar-resources.ts index 996cadfeaca..0f649fd37d1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsES as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsES = { - igx_calendar_previous_month: 'Mes anterior', - igx_calendar_next_month: 'Mes siguiente', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Seleccionar mes', - igx_calendar_select_year: 'Seleccionar año', - igx_calendar_range_start: 'Inicio de rango', - igx_calendar_range_end: 'Fin de rango', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'El mes seleccionado es ', - igx_calendar_first_picker_of: 'El primer selector de {0} comienza en', - igx_calendar_multi_selection: 'Calendario de selección múltiple con {0} selectores de fechas', - igx_calendar_range_selection: 'Calendario de selección de rango con {0} selectores de fecha', - igx_calendar_single_selection: 'Calendario con {0} selectores de fechas', - igx_calendar_singular_multi_selection: 'Calendario de selección múltiple', - igx_calendar_singular_range_selection: 'Calendario de selección de rango', - igx_calendar_singular_single_selection: 'Calendario' -} satisfies MakeRequired; +export const CalendarResourceStringsES = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/carousel-resources.ts index 67848ccdee3..81d429eed17 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsES as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsES = { - igx_carousel_of: 'de', - igx_carousel_slide: 'diapositiva', - igx_carousel_previous_slide: 'diapositiva anterior', - igx_carousel_next_slide: 'diapositiva siguiente' -} satisfies MakeRequired; +export const CarouselResourceStringsES = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/chip-resources.ts index 2918b846738..3fca8964730 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsES as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsES = { - igx_chip_remove: 'Quitar chip', - igx_chip_select: 'Seleccionar chip' -} satisfies MakeRequired; +export const ChipResourceStringsES = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/combo-resources.ts index cc305d830e5..4b79aa95407 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsES as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsES = { - igx_combo_empty_message: 'La lista está vacía', - igx_combo_filter_search_placeholder: 'Escriba un término de búsqueda', - igx_combo_addCustomValues_placeholder: 'Agregar elemento', - igx_combo_clearItems_placeholder: 'Borrar selección', - igx_combo_aria_label_options: 'Opciones seleccionadas', - igx_combo_aria_label_no_options: 'No hay opciones seleccionadas' -} satisfies MakeRequired; +export const ComboResourceStringsES = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/date-picker-resources.ts index 6b4e09b6b4d..0b56ae64ed0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsES as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsES = { - igx_date_picker_change_date: 'Cambiar fecha', - igx_date_picker_choose_date: 'Elige fecha' -} satisfies MakeRequired; +export const DatePickerResourceStringsES = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/date-range-picker-resources.ts index 70698ffd0a7..e4f995a436f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsES as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsES = { - igx_date_range_picker_date_separator: 'a', - igx_date_range_picker_done_button: 'Listo', - igx_date_range_picker_cancel_button: 'Cancelar', - igx_date_range_picker_last7Days: 'Últimos 7 días', - igx_date_range_picker_currentMonth: 'Mes actual', - igx_date_range_picker_last30Days: 'Últimos 30 días', - igx_date_range_picker_yearToDate: 'Año hasta la fecha', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsES = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts index 7ce27fffd9d..556d1229d85 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsES as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsES = { - igx_grid_groupByArea_message: 'Arrastre un encabezado de columna y suéltelo aquí para agrupar por esa columna.', - igx_grid_emptyFilteredGrid_message: 'No se encontraron registros.', - igx_grid_emptyGrid_message: 'La cuadrícula no tiene datos.', - igx_grid_filter: 'Filtro', - igx_grid_filter_row_close: 'Cerrar', - igx_grid_filter_row_reset: 'Limpiar', - igx_grid_filter_row_placeholder: 'Añadir un valor para el filtro', - igx_grid_filter_row_boolean_placeholder: 'Todo', - igx_grid_filter_row_date_placeholder: 'Elegir Fecha', - igx_grid_filter_row_time_placeholder: 'Hora de recogida', - igx_grid_filter_operator_and: 'Y', - igx_grid_filter_operator_or: 'O', - igx_grid_complex_filter: 'Filtro Complejo', - igx_grid_filter_contains: 'Contiene', - igx_grid_filter_doesNotContain: 'No contiene', - igx_grid_filter_startsWith: 'Empieza con', - igx_grid_filter_endsWith: 'Termina con', - igx_grid_filter_equals: 'Es Igual a', - igx_grid_filter_doesNotEqual: 'No es Igual a', - igx_grid_filter_empty: 'Vacío', - igx_grid_filter_notEmpty: 'No Vacío', - igx_grid_filter_null: 'Nulo', - igx_grid_filter_notNull: 'No Nulo', - igx_grid_filter_before: 'Antes', - igx_grid_filter_after: 'Después', - igx_grid_filter_at: 'A la(s)', - igx_grid_filter_not_at: 'No a la(s)', - igx_grid_filter_at_before: 'A o antes de la(s)', - igx_grid_filter_at_after: 'A o después de la(s)', - igx_grid_filter_today: 'Hoy', - igx_grid_filter_yesterday: 'Ayer', - igx_grid_filter_thisMonth: 'Este Mes', - igx_grid_filter_lastMonth: 'Mes Pasado', - igx_grid_filter_nextMonth: 'Próximo Mes', - igx_grid_filter_thisYear: 'Este Año', - igx_grid_filter_lastYear: 'Año Pasado', - igx_grid_filter_nextYear: 'Próximo Año', - igx_grid_filter_greaterThan: 'Mayor Que', - igx_grid_filter_lessThan: 'Menor Que', - igx_grid_filter_greaterThanOrEqualTo: 'Mayor o Igual Que', - igx_grid_filter_lessThanOrEqualTo: 'Menor o Igual Que', - igx_grid_filter_true: 'Verdadero', - igx_grid_filter_false: 'Falso', - igx_grid_filter_all: 'Todo', - igx_grid_filter_condition_placeholder: 'Seleccionar filtro', - igx_grid_filter_in: 'En', - igx_grid_filter_notIn: 'No en', - igx_grid_summary_count: 'Cuenta', - igx_grid_summary_min: 'Mín.', - igx_grid_summary_max: 'Máx.', - igx_grid_summary_sum: 'Sum.', - igx_grid_summary_average: 'Prom.', - igx_grid_summary_earliest: 'Primera', - igx_grid_summary_latest: 'Última', - igx_grid_excel_filter_moving_left: 'izquierda', - igx_grid_excel_filter_moving_left_short: 'izquierda', - igx_grid_excel_filter_moving_right: 'derecha', - igx_grid_excel_filter_moving_right_short: 'derecha', - igx_grid_excel_filter_moving_header: 'mover', - igx_grid_excel_filter_sorting_asc: 'ascendente', - igx_grid_excel_filter_sorting_asc_short: 'asc', - igx_grid_excel_filter_sorting_desc: 'descendente', - igx_grid_excel_filter_sorting_desc_short: 'desc', - igx_grid_excel_filter_sorting_header: 'orden', - igx_grid_excel_filter_clear: 'Borrar filtros de columna', - igx_grid_excel_custom_dialog_add: 'añadir filtro', - igx_grid_excel_custom_dialog_clear: 'Borrar filtro', - igx_grid_excel_custom_dialog_header: 'Auto-filtro personalizado para: ', - igx_grid_excel_cancel: 'cancelar', - igx_grid_excel_apply: 'aceptar', - igx_grid_excel_search_placeholder: 'Buscar', - igx_grid_excel_select_all: 'Seleccionar todos', - igx_grid_excel_select_all_search_results: 'Seleccionar todos los resultados de la búsqueda', - igx_grid_excel_add_to_filter: 'Agregar selección actual a filtro', - igx_grid_excel_blanks: '(En blanco)', - igx_grid_excel_hide: 'Ocultar Columna', - igx_grid_excel_show: 'Mostrar columna', - igx_grid_excel_pin: 'Anclar columna', - igx_grid_excel_unpin: 'Desanclar columna', - igx_grid_excel_select: 'Seleccionar columna', - igx_grid_excel_deselect: 'Anular selección de columna', - igx_grid_excel_text_filter: 'Filtro de texto', - igx_grid_excel_number_filter: 'Filtro numérico', - igx_grid_excel_date_filter: 'Filtro de fecha', - igx_grid_excel_boolean_filter: 'Filtro booleano', - igx_grid_excel_currency_filter: 'Filtro divisa', - igx_grid_excel_custom_filter: 'Filtro personalizado...', - igx_grid_excel_no_matches: 'Ninguna coincidencia', - igx_grid_excel_matches_count: '{0} coincidencias', - igx_grid_advanced_filter_title: 'Filtro Avanzado', - igx_grid_advanced_filter_from_label: 'Desde', - igx_grid_advanced_filter_and_group: 'Grupo "Y"', - igx_grid_advanced_filter_or_group: '"Grupo "O"', - igx_grid_advanced_filter_end_group: 'Grupo Fin', - igx_grid_advanced_filter_create_and_group: 'Crear grupo "Y"', - igx_grid_advanced_filter_create_or_group: 'Crear grupo "O"', - igx_grid_advanced_filter_and_label: 'y', - igx_grid_advanced_filter_or_label: 'o', - igx_grid_advanced_filter_switch_group: 'Cambiar a {0}', - igx_grid_advanced_filter_add_condition: 'Agregar condición', - igx_grid_advanced_filter_add_group: 'Agregar Grupo', - igx_grid_advanced_filter_add_condition_root: 'Condición', - igx_grid_advanced_filter_add_group_root: 'Grupo', - igx_grid_advanced_filter_ungroup: 'Desagrupar', - igx_grid_advanced_filter_delete: 'Eliminar', - igx_grid_advanced_filter_delete_filters: 'Eliminar filtros', - igx_grid_advanced_filter_initial_text: 'Empiece por crear un grupo de condiciones vinculadas con "Y" u "O"', - igx_grid_advanced_filter_column_placeholder: 'Seleccionar columna', - igx_grid_advanced_filter_value_placeholder: 'Valor', - igx_grid_advanced_filter_query_value_placeholder: 'Resultados de la subconsulta', - igx_grid_advanced_filter_select_entity: 'Seleccionar entidad', - igx_grid_advanced_filter_select_return_field_single: 'Seleccionar campos de retorno', - igx_grid_advanced_filter_dialog_title: 'Confirmación', - igx_grid_advanced_filter_dialog_message: 'Al cambiar la entidad, se perderán las configuraciones actuales. ¿Está seguro de que desea continuar?', - igx_grid_advanced_filter_dialog_checkbox_text: 'No volver a mostrar este cuadro de diálogo', - igx_grid_advanced_filter_drop_ghost_text: 'Soltar aquí para insertar', - igx_grid_pinned_row_indicator: 'Anclado', - igx_grid_hiding_check_all_label: 'Mostrar todo', - igx_grid_hiding_uncheck_all_label: 'Ocultar todo', - igx_grid_pinning_check_all_label: 'Anclar todo', - igx_grid_pinning_uncheck_all_label: 'Desanclar todo', - igx_grid_row_edit_btn_done: 'Listo', - igx_grid_row_edit_btn_cancel: 'Cancelar', - igx_grid_row_edit_text: 'Tienes {0} cambios en esta fila y {1} columnas ocultas', - igx_grid_toolbar_actions_filter_prompt: 'Filtrar lista de columnas…', - igx_grid_toolbar_pinning_button_tooltip: 'Abrir menú desplegable para anclar columnas', - igx_grid_toolbar_hiding_button_tooltip: 'Abrir menú desplegable para ocultar columnas', - igx_grid_toolbar_pinning_title: 'Columnas ancladas', - igx_grid_toolbar_hiding_title: 'Columnas visibles', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Abrir cuadro de diálogo de filtrado avanzado', - igx_grid_toolbar_advanced_filtering_button_label: 'Filtrado avanzado', - igx_grid_toolbar_exporter_button_tooltip: 'Abrir menú desplegable del exportador', - igx_grid_toolbar_exporter_button_label: 'Exportar', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportar a Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportar a CSV', - igx_grid_groupByArea_select_message: 'Seleccione todas las filas del grupo con el nombre de campo {0} y el valor {1}.', - igx_grid_groupByArea_deselect_message: 'Anule la selección de todas las filas del grupo con el nombre de campo {0} y el valor {1}.', - igx_grid_snackbar_addrow_label: 'Fila agregada', - igx_grid_snackbar_addrow_actiontext: 'MOSTRAR', - igx_grid_actions_edit_label: 'Editar', - igx_grid_actions_add_label: 'Agregar', - igx_grid_add_row_label: 'AGREGAR FILA', - igx_grid_actions_add_child_label: 'Agregar elemento secundario', - igx_grid_actions_delete_label: 'Eliminar', - igx_grid_actions_pin_label: 'Anclar', - igx_grid_actions_unpin_label: 'Desanclar', - igx_grid_actions_jumpUp_label: 'Saltar arriba', - igx_grid_actions_jumpDown_label: 'Saltar abajo', - igx_grid_pivot_date_dimension_total: 'Todos los períodos', - igx_grid_pivot_aggregate_count: 'Recuento', - igx_grid_pivot_aggregate_min: 'Mínimo', - igx_grid_pivot_aggregate_max: 'Máximo', - igx_grid_pivot_aggregate_sum: 'Suma', - igx_grid_pivot_aggregate_avg: 'Promedio', - igx_grid_pivot_aggregate_date_latest: 'Última fecha', - igx_grid_pivot_aggregate_date_earliest: 'Fecha más temprana', - igx_grid_pivot_aggregate_time_latest: 'Última hora', - igx_grid_pivot_aggregate_time_earliest: 'Hora mas temprana', - igx_grid_pivot_empty_row_drop_area: 'Soltar campos de fila aquí.', - igx_grid_pivot_empty_column_drop_area: 'Soltar campos de columna aquí.', - igx_grid_pivot_empty_filter_drop_area: 'Soltar campos de filtro aquí.', - igx_grid_pivot_empty_value_drop_area: 'Soltar campos de valor aquí.', - igx_grid_pivot_row_drop_chip: 'Soltar aquí para usar como fila', - igx_grid_pivot_column_drop_chip: 'Soltar aquí para usar como columna', - igx_grid_pivot_filter_drop_chip: 'Soltar aquí para usar como filtro', - igx_grid_pivot_value_drop_chip: 'Soltar aquí para usar como valor', - igx_grid_pivot_selector_filters: 'Filtros', - igx_grid_pivot_selector_rows: 'Filas', - igx_grid_pivot_selector_columns: 'Columnas', - igx_grid_pivot_selector_values: 'Valores', - igx_grid_pivot_selector_panel_empty: 'Arrastrar elementos aquí', - igx_grid_pivot_empty_message: 'La cuadrícula de pivote no tiene dimensiones ni valores.', - igx_grid_required_validation_error: 'Este campo es obligatorio', - igx_grid_min_validation_error: 'Escriba un valor mayor o igual a {0}', - igx_grid_max_validation_error: 'Escriba un valor menor o igual a {0}', - igx_grid_min_length_validation_error: 'Escriba {0} caracteres como mínimo', - igx_grid_max_length_validation_error: 'No escriba más de {0} caracteres', - igx_grid_email_validation_error: 'Debe introducirse una dirección de correo electrónico válida.', - igx_grid_pattern_validation_error: 'La entrada no coincide con el patrón necesario.' -} satisfies MakeRequired; +export const GridResourceStringsES = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/input-resources.ts index c051f7fd7a6..0dcb08f680f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsES as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsES = { - igx_input_upload_button: 'Cargar archivo', - igx_input_file_placeholder: 'No hay ningún archivo seleccionado' -} satisfies MakeRequired; +export const InputResourceStringsES = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/list-resources.ts index 0b9e821cd17..f312d53a92e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsES as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsES = { - igx_list_no_items: 'No hay elementos en la lista.', - igx_list_loading: 'Cargando datos desde el servidor…' -} satisfies MakeRequired; +export const ListResourceStringsES = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/paginator-resources.ts index 52ef2d2f511..9c62fcb47b1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsES as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsES = { - igx_paginator_label: 'Elementos por página', - igx_paginator_pager_text: 'de', - igx_paginator_first_page_button_text: 'Ir a la primera página', - igx_paginator_previous_page_button_text: 'Página anterior', - igx_paginator_last_page_button_text: 'Ir a la última página', - igx_paginator_next_page_button_text: 'Página siguiente' -} satisfies MakeRequired; +export const PaginatorResourceStringsES = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/query-builder-resources.ts index d4073ae3142..67489025b7b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsES as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Spanish resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsES = { - igx_query_builder_date_placeholder: 'Elegir Fecha', - igx_query_builder_time_placeholder: 'Hora de recogida', - igx_query_builder_datetime_placeholder: 'Seleccionar fecha y hora', - igx_query_builder_filter_operator_and: 'Y', - igx_query_builder_filter_operator_or: 'O', - igx_query_builder_filter_contains: 'Contiene', - igx_query_builder_filter_doesNotContain: 'No contiene', - igx_query_builder_filter_startsWith: 'Empieza con', - igx_query_builder_filter_endsWith: 'Termina con', - igx_query_builder_filter_equals: 'Es Igual a', - igx_query_builder_filter_doesNotEqual: 'No es Igual a', - igx_query_builder_filter_empty: 'Vacío', - igx_query_builder_filter_notEmpty: 'No Vacío', - igx_query_builder_filter_null: 'Nulo', - igx_query_builder_filter_notNull: 'No Nulo', - igx_query_builder_filter_in: 'En', - igx_query_builder_filter_notIn: 'No en', - igx_query_builder_filter_before: 'Antes', - igx_query_builder_filter_after: 'Después', - igx_query_builder_filter_at: 'A la(s)', - igx_query_builder_filter_not_at: 'No a la(s)', - igx_query_builder_filter_at_before: 'A o antes de la(s)', - igx_query_builder_filter_at_after: 'A o después de la(s)', - igx_query_builder_filter_today: 'Hoy', - igx_query_builder_filter_yesterday: 'Ayer', - igx_query_builder_filter_thisMonth: 'Este Mes', - igx_query_builder_filter_lastMonth: 'Mes Pasado', - igx_query_builder_filter_nextMonth: 'Próximo Mes', - igx_query_builder_filter_thisYear: 'Este Año', - igx_query_builder_filter_lastYear: 'Año Pasado', - igx_query_builder_filter_nextYear: 'Próximo Año', - igx_query_builder_filter_greaterThan: 'Mayor Que', - igx_query_builder_filter_lessThan: 'Menor Que', - igx_query_builder_filter_greaterThanOrEqualTo: 'Mayor o Igual Que', - igx_query_builder_filter_lessThanOrEqualTo: 'Menor o Igual Que', - igx_query_builder_filter_true: 'Verdadero', - igx_query_builder_filter_false: 'Falso', - igx_query_builder_filter_all: 'Todo', - igx_query_builder_from_label: 'Desde', - igx_query_builder_select_label: 'Seleccionar', - igx_query_builder_where_label: 'Donde', - igx_query_builder_and_group: 'Grupo "Y"', - igx_query_builder_or_group: '"Grupo "O"', - igx_query_builder_end_group: 'Grupo Fin', - igx_query_builder_and_label: 'y', - igx_query_builder_or_label: 'o', - igx_query_builder_switch_group: 'Cambiar a {0}', - igx_query_builder_add_condition: 'Crear condición', - igx_query_builder_add_group: 'Crear grupo', - igx_query_builder_add_condition_root: 'Condición', - igx_query_builder_add_group_root: 'Grupo', - igx_query_builder_ungroup: 'Desagrupar', - igx_query_builder_delete: 'Eliminar', - igx_query_builder_delete_filters: 'Eliminar filtros', - igx_query_builder_initial_text: 'Empiece por crear un grupo de condiciones vinculadas con "Y" u "O"', - igx_query_builder_column_placeholder: 'Seleccionar columna', - igx_query_builder_condition_placeholder: 'Seleccionar filtro', - igx_query_builder_value_placeholder: 'Valor', - igx_query_builder_query_value_placeholder: 'Resultados de la subconsulta', - igx_query_builder_all_fields: 'Todos los campos', - igx_query_builder_details: 'Detalles', - igx_query_builder_search: 'Buscar', - igx_query_builder_select_all: 'Seleccionar todo', - igx_query_builder_select_entity: 'Seleccionar entidad', - igx_query_builder_select_return_field_single: 'Seleccionar campo de devolución', - igx_query_builder_select_return_fields: 'Seleccionar campos de retorno', - igx_query_builder_dialog_title: 'Confirmación', - igx_query_builder_dialog_message: 'Al cambiar la entidad, se perderán las configuraciones actuales. ¿Está seguro de que desea continuar?', - igx_query_builder_dialog_checkbox_text: 'No volver a mostrar este cuadro de diálogo', - igx_query_builder_dialog_cancel: 'Cancelar', - igx_query_builder_dialog_confirm: 'Confirmar', - igx_query_builder_drop_ghost_text: 'Soltar aquí para insertar' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsES = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/resources.ts index 26b0a8c5ad3..15c2b264fa2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsES } from './action-strip-resources'; /** * Spanish resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsES = { ...GridResourceStringsES, diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/time-picker-resources.ts index 6321e4bc686..a99bc7bab45 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsES as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsES = { - igx_time_picker_ok: 'Aceptar', - igx_time_picker_cancel: 'Cancelar', - igx_time_picker_change_time: 'Cambiar hora', - igx_time_picker_choose_time: 'Elige hora' -} satisfies MakeRequired; +export const TimePickerResourceStringsES = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ES/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ES/tree-resources.ts index ab8ef5a584f..f745199dfaf 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ES/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ES/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsES as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Spanish resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsES = { - igx_expand: 'Expandir', - igx_collapse: 'Contraer' -} satisfies MakeRequired; +export const TreeResourceStringsES = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/action-strip-resources.ts index fef2e9bd82b..295bf540ba0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsFR as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsFR = { - igx_action_strip_button_more_title: 'Plus' -} satisfies MakeRequired; +export const ActionStripResourceStringsFR = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/banner-resources.ts index 1f2e80941c7..c92a0f70f97 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsFR as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsFR = { - igx_banner_button_dismiss: 'Ignorer' -} satisfies MakeRequired; +export const BannerResourceStringsFR = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/calendar-resources.ts index 4ec12e7fada..149b92cb7e4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsFR as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsFR = { - igx_calendar_previous_month: 'Le mois dernier', - igx_calendar_next_month: 'Le mois prochain', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Sélectionner un mois', - igx_calendar_select_year: 'Sélectionner une année', - igx_calendar_range_start: 'Début de l\'intervalle', - igx_calendar_range_end: 'Fin de l\'intervalle', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Le mois sélectionné est ', - igx_calendar_first_picker_of: 'Le premier sélecteur de {0} commence à partir de', - igx_calendar_multi_selection: 'Calendrier à sélection multiple avec {0} sélecteurs de dates', - igx_calendar_range_selection: 'Calendrier de sélection de la période avec {0} sélecteurs de dates', - igx_calendar_single_selection: 'Calendrier avec {0} sélecteurs de dates', - igx_calendar_singular_multi_selection: 'Calendrier multi-sélection', - igx_calendar_singular_range_selection: 'Calendrier de sélection de la période de date', - igx_calendar_singular_single_selection: 'Calendrier', -} satisfies MakeRequired; +export const CalendarResourceStringsFR = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/carousel-resources.ts index be1765eae3c..287e5c05ea9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsFR as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsFR = { - igx_carousel_of: 'de', - igx_carousel_slide: 'diapositive', - igx_carousel_previous_slide: 'diapositive précédente', - igx_carousel_next_slide: 'diapositive suivante' -} satisfies MakeRequired; +export const CarouselResourceStringsFR = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/chip-resources.ts index 2edafff45e1..9d081766686 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsFR as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsFR = { - igx_chip_remove: 'Supprimer la puce', - igx_chip_select: 'Sélectionner la puce' -} satisfies MakeRequired; +export const ChipResourceStringsFR = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/combo-resources.ts index b6755ea40cd..73ffd40d6f9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsFR as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsFR = { - igx_combo_empty_message: 'La liste est vide', - igx_combo_filter_search_placeholder: 'Entrez un terme de recherche', - igx_combo_addCustomValues_placeholder: 'Ajouter un élément', - igx_combo_clearItems_placeholder: 'Effacer la sélection', - igx_combo_aria_label_options: 'Options sélectionnées', - igx_combo_aria_label_no_options: 'Aucune option sélectionnée' -} satisfies MakeRequired; +export const ComboResourceStringsFR = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/date-picker-resources.ts index 1517e0cf56c..f553f10793e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsFR as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsFR = { - igx_date_picker_change_date: 'Modifier la date', - igx_date_picker_choose_date: 'Choisir la date' -} satisfies MakeRequired; +export const DatePickerResourceStringsFR = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/date-range-picker-resources.ts index e20d341495a..9d88404f8dd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsFR as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsFR = { - igx_date_range_picker_date_separator: 'à', - igx_date_range_picker_done_button: 'Terminée', - igx_date_range_picker_cancel_button: 'Annuler', - igx_date_range_picker_last7Days: '7 derniers jours', - igx_date_range_picker_currentMonth: 'Mois en cours', - igx_date_range_picker_last30Days: '30 derniers jours', - igx_date_range_picker_yearToDate: 'Année à ce jour', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsFR = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts index 9ac06ae7850..dfa75bb219a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsFR as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsFR = { - igx_grid_groupByArea_message: 'Faites glisser un en-tête de colonne et déposez-le ici pour le regrouper par cette colonne.', - igx_grid_emptyFilteredGrid_message: 'Aucun enregistrement trouvé.', - igx_grid_emptyGrid_message: 'La grille n\'a pas de données.', - igx_grid_filter: 'Filtre', - igx_grid_filter_row_close: 'Éteindre', - igx_grid_filter_row_reset: 'Réinitialiser', - igx_grid_filter_row_placeholder: 'Ajouter une valeur de filtre', - igx_grid_filter_row_boolean_placeholder: 'Tout', - igx_grid_filter_row_date_placeholder: 'Choisir la date', - igx_grid_filter_row_time_placeholder: 'Heure de récupération', - igx_grid_filter_operator_and: 'Et', - igx_grid_filter_operator_or: 'Ou', - igx_grid_complex_filter: 'Filtre complexe', - igx_grid_filter_contains: 'Contient', - igx_grid_filter_doesNotContain: 'Ne contient pas', - igx_grid_filter_startsWith: 'Commence avec', - igx_grid_filter_endsWith: 'Se termine par', - igx_grid_filter_equals: 'Égale à', - igx_grid_filter_doesNotEqual: 'N\'est pas égal', - igx_grid_filter_empty: 'Vide', - igx_grid_filter_notEmpty: 'Pas vide', - igx_grid_filter_null: 'Nul', - igx_grid_filter_notNull: 'Pas nul', - igx_grid_filter_before: 'Avant', - igx_grid_filter_after: 'Après', - igx_grid_filter_at: 'À', - igx_grid_filter_not_at: 'Pas à', - igx_grid_filter_at_before: 'À ou avant', - igx_grid_filter_at_after: 'À ou après', - igx_grid_filter_today: 'Aujourd\'hui', - igx_grid_filter_yesterday: 'Hier', - igx_grid_filter_thisMonth: 'Ce mois-ci', - igx_grid_filter_lastMonth: 'Le mois dernier', - igx_grid_filter_nextMonth: 'Le mois prochain', - igx_grid_filter_thisYear: 'Cette année', - igx_grid_filter_lastYear: 'L\'année dernière', - igx_grid_filter_nextYear: 'L\'année prochaine', - igx_grid_filter_greaterThan: 'Plus grand que', - igx_grid_filter_lessThan: 'Inférieur à', - igx_grid_filter_greaterThanOrEqualTo: 'Plus grand ou égal à', - igx_grid_filter_lessThanOrEqualTo: 'Inférieur ou égal à', - igx_grid_filter_true: 'Vrai', - igx_grid_filter_false: 'Faux', - igx_grid_filter_all: 'Tout', - igx_grid_filter_condition_placeholder: 'Sélectionner le filtre', - igx_grid_filter_in: 'Dans', - igx_grid_filter_notIn: 'Pas dans', - igx_grid_summary_count: 'Nombre', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Total', - igx_grid_summary_average: 'Moyenne', - igx_grid_summary_earliest: 'Le plus tôt', - igx_grid_summary_latest: 'Dernier', - igx_grid_excel_filter_moving_left: 'À gauche', - igx_grid_excel_filter_moving_left_short: 'Gauche', - igx_grid_excel_filter_moving_right: 'À droite', - igx_grid_excel_filter_moving_right_short: 'Droite', - igx_grid_excel_filter_moving_header: 'Déplacer', - igx_grid_excel_filter_sorting_asc: 'Ascendant', - igx_grid_excel_filter_sorting_asc_short: 'asc', - igx_grid_excel_filter_sorting_desc: 'Descendant', - igx_grid_excel_filter_sorting_desc_short: 'desc', - igx_grid_excel_filter_sorting_header: 'Trier', - igx_grid_excel_filter_clear: 'Effacer le filtre', - igx_grid_excel_custom_dialog_add: 'Ajouter un filtre', - igx_grid_excel_custom_dialog_clear: 'Effacer le filtre', - igx_grid_excel_custom_dialog_header: 'Filtre personnalisé pour la colonne: ', - igx_grid_excel_cancel: 'Annuler', - igx_grid_excel_apply: 'Appliquer', - igx_grid_excel_search_placeholder: 'Chercher', - igx_grid_excel_select_all: 'Tout sélectionner', - igx_grid_excel_select_all_search_results: 'Sélectionner tous les résultats de la recherche', - igx_grid_excel_add_to_filter: 'Ajouter la sélection actuelle au filtre', - igx_grid_excel_blanks: '(Blancs)', - igx_grid_excel_hide: 'Masquer la colonne', - igx_grid_excel_show: 'Afficher la colonne', - igx_grid_excel_pin: 'Fixer la colonne', - igx_grid_excel_unpin: 'Détacher la colonne', - igx_grid_excel_select: 'Sélectionner la colonne', - igx_grid_excel_deselect: 'Désélectionner la colonne', - igx_grid_excel_text_filter: 'Filtre de texte', - igx_grid_excel_number_filter: 'Filtre numérique', - igx_grid_excel_date_filter: 'Filtre de date', - igx_grid_excel_boolean_filter: 'Filtre booléen', - igx_grid_excel_currency_filter: 'Filtre devise', - igx_grid_excel_custom_filter: 'Filtre personnalisé...', - igx_grid_excel_no_matches: 'Aucune correspondance', - igx_grid_excel_matches_count: '{0} correspondance(s)', - igx_grid_advanced_filter_title: 'Filtrage avancé', - igx_grid_advanced_filter_from_label: 'De', - igx_grid_advanced_filter_and_group: 'Groupe "Et"', - igx_grid_advanced_filter_or_group: 'Groupe "Ou"', - igx_grid_advanced_filter_end_group: 'Quitter le groupe', - igx_grid_advanced_filter_create_and_group: 'Créer un groupe "Et"', - igx_grid_advanced_filter_create_or_group: 'Créer un groupe "Ou"', - igx_grid_advanced_filter_and_label: 'et', - igx_grid_advanced_filter_or_label: 'ou', - igx_grid_advanced_filter_switch_group: 'Passer à {0}', - igx_grid_advanced_filter_add_condition: 'Ajouter une condition', - igx_grid_advanced_filter_add_group: 'Ajouter un groupe', - igx_grid_advanced_filter_add_condition_root: 'Condition', - igx_grid_advanced_filter_add_group_root: 'Groupe', - igx_grid_advanced_filter_ungroup: 'Supprimer le regroupement', - igx_grid_advanced_filter_delete: 'Supprimer', - igx_grid_advanced_filter_delete_filters: 'Supprimer les filtres', - igx_grid_advanced_filter_initial_text: 'Commencer par créer un groupe de conditions liées à "Et" ou "Ou"', - igx_grid_advanced_filter_column_placeholder: 'Sélectionner la colonne', - igx_grid_advanced_filter_value_placeholder: 'Valeur', - igx_grid_advanced_filter_query_value_placeholder: 'Résultats de la sous-requête', - igx_grid_advanced_filter_select_entity: 'Sélectionner une entité', - igx_grid_advanced_filter_select_return_field_single: 'Sélectionner le champ de retour', - igx_grid_advanced_filter_dialog_title: 'Confirmation', - igx_grid_advanced_filter_dialog_message: 'En changeant l\'entité, vous perdrez vos paramètres actuels. Êtes-vous sûr de vouloir faire cela ?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Ne plus afficher cette boîte de dialogue', - igx_grid_advanced_filter_drop_ghost_text: 'Déposez ici pour insérer', - igx_grid_pinned_row_indicator: 'Attachée', - igx_grid_hiding_check_all_label: 'Afficher tout', - igx_grid_hiding_uncheck_all_label: 'Cacher tout', - igx_grid_pinning_check_all_label: 'Attache tout', - igx_grid_pinning_uncheck_all_label: 'Détacher tout', - igx_grid_row_edit_btn_done: 'Terminé', - igx_grid_row_edit_btn_cancel: 'Annuler', - igx_grid_row_edit_text: 'Vous avez {0} modifications dans cette ligne et {1} colonnes masquées', - igx_grid_toolbar_actions_filter_prompt: 'Filtre liste des colonnes ...', - igx_grid_toolbar_pinning_button_tooltip: 'Ouvrir le menu pour attacher les colonnes', - igx_grid_toolbar_hiding_button_tooltip: 'Ouvrir le menu pour masquer les colonnes', - igx_grid_toolbar_pinning_title: 'Colonnes attachées', - igx_grid_toolbar_hiding_title: 'Colonnes visibles', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Ouvrir la boîte de dialogue pour le filtrage avancé', - igx_grid_toolbar_advanced_filtering_button_label: 'Filtrage avancé', - igx_grid_toolbar_exporter_button_tooltip: 'Ouvrir le menu pour exporter', - igx_grid_toolbar_exporter_button_label: 'Exporter', - igx_grid_toolbar_exporter_excel_entry_text: 'Exporter vers Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exporter vers CSV', - igx_grid_groupByArea_select_message: 'Sélectionnez toutes les lignes du groupe avec le nom de champ {0} et la valeur {1}.', - igx_grid_groupByArea_deselect_message: 'Désélectionnez toutes les lignes du groupe avec le nom de champ {0} et la valeur {1}.', - igx_grid_snackbar_addrow_label: 'Ligne ajoutée', - igx_grid_snackbar_addrow_actiontext: 'AJOUTER', - igx_grid_actions_edit_label: 'Éditer', - igx_grid_actions_add_label: 'Ajouter', - igx_grid_add_row_label: 'AJOUTER UNE LIGNE', - igx_grid_actions_add_child_label: 'Ajouter un enfant', - igx_grid_actions_delete_label: 'Effacer', - igx_grid_actions_pin_label: 'Attacher', - igx_grid_actions_unpin_label: 'Détacher', - igx_grid_actions_jumpUp_label: 'Sauter au début', - igx_grid_actions_jumpDown_label: 'Sauter à la fin', - igx_grid_pivot_date_dimension_total: 'Toutes les périodes', - igx_grid_pivot_aggregate_count: 'Décompte', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Total', - igx_grid_pivot_aggregate_avg: 'Moyenne', - igx_grid_pivot_aggregate_date_latest: 'Dernière date', - igx_grid_pivot_aggregate_date_earliest: 'Date la plus ancienne', - igx_grid_pivot_aggregate_time_latest: 'Dernière heure', - igx_grid_pivot_aggregate_time_earliest: 'Heure la plus ancienne', - igx_grid_pivot_empty_row_drop_area: 'Placer les champs de ligne ici.', - igx_grid_pivot_empty_column_drop_area: 'Placer les champs de colonne ici.', - igx_grid_pivot_empty_filter_drop_area: 'Placer les champs de filtre ici.', - igx_grid_pivot_empty_value_drop_area: 'Placer les champs de valeur ici.', - igx_grid_pivot_row_drop_chip: 'Placer ici pour utiliser comme ligne', - igx_grid_pivot_column_drop_chip: 'Placer ici pour utiliser comme colonne', - igx_grid_pivot_filter_drop_chip: 'Placer ici pour utiliser comme filtre', - igx_grid_pivot_value_drop_chip: 'Placer ici pour utiliser comme valeur', - igx_grid_pivot_selector_filters: 'Filtres', - igx_grid_pivot_selector_rows: 'Lignes', - igx_grid_pivot_selector_columns: 'Colonnes', - igx_grid_pivot_selector_values: 'Valeurs', - igx_grid_pivot_selector_panel_empty: 'Déplacer des éléments ici', - igx_grid_pivot_empty_message: 'La grille de pivot n\'a pas de dimensions ni de valeurs.', - igx_grid_required_validation_error: 'Ce champ est obligatoire', - igx_grid_min_validation_error: 'Veuillez entrer une valeur supérieure ou égale à {0}', - igx_grid_max_validation_error: 'Veuillez entrer une valeur inférieure ou égale à {0}', - igx_grid_min_length_validation_error: 'Veuillez entrer au moins {0} caractères', - igx_grid_max_length_validation_error: 'Veuillez sélectionner au maximum {0} caractères', - igx_grid_email_validation_error: 'Une adresse e-mail valide doit être saisie', - igx_grid_pattern_validation_error: 'La valeur entrée ne correspond pas au schéma requis' -} satisfies MakeRequired; +export const GridResourceStringsFR = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/input-resources.ts index b66f1e92783..2caa5abe837 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsFR as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsFR = { - igx_input_upload_button: 'Charger un fichier', - igx_input_file_placeholder: 'Aucun fichier sélectionné' -} satisfies MakeRequired; +export const InputResourceStringsFR = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/list-resources.ts index e7b373e9dd6..c433202b512 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsFR as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsFR = { - igx_list_no_items: 'Il n\'y a aucun élément dans la liste.', - igx_list_loading: 'Chargement des données du serveur...' -} satisfies MakeRequired; +export const ListResourceStringsFR = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/paginator-resources.ts index 72a5223186f..bc44a68527d 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsFR as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsFR = { - igx_paginator_label: 'Entrées par page', - igx_paginator_pager_text: 'de', - igx_paginator_first_page_button_text: 'Aller à la première page', - igx_paginator_previous_page_button_text: 'Page précédente', - igx_paginator_last_page_button_text: 'Aller à la dernière page', - igx_paginator_next_page_button_text: 'Page suivante' -} satisfies MakeRequired; +export const PaginatorResourceStringsFR = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/query-builder-resources.ts index 5c582d27c80..23744dbbd9c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsFR as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * French resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsFR = { - igx_query_builder_date_placeholder: 'Choisir la date', - igx_query_builder_time_placeholder: 'Heure de récupération', - igx_query_builder_datetime_placeholder: 'Sélectionner la date et l\'heure', - igx_query_builder_filter_operator_and: 'Et', - igx_query_builder_filter_operator_or: 'Ou', - igx_query_builder_filter_contains: 'Contient', - igx_query_builder_filter_doesNotContain: 'Ne contient pas', - igx_query_builder_filter_startsWith: 'Commence avec', - igx_query_builder_filter_endsWith: 'Se termine par', - igx_query_builder_filter_equals: 'Égale à', - igx_query_builder_filter_doesNotEqual: 'N\'est pas égal', - igx_query_builder_filter_empty: 'Vide', - igx_query_builder_filter_notEmpty: 'Pas vide', - igx_query_builder_filter_null: 'Nul', - igx_query_builder_filter_notNull: 'Pas nul', - igx_query_builder_filter_in: 'Dans', - igx_query_builder_filter_notIn: 'Pas dans', - igx_query_builder_filter_before: 'Avant', - igx_query_builder_filter_after: 'Après', - igx_query_builder_filter_at: 'À', - igx_query_builder_filter_not_at: 'Pas à', - igx_query_builder_filter_at_before: 'À ou avant', - igx_query_builder_filter_at_after: 'À ou après', - igx_query_builder_filter_today: 'Aujourd\'hui', - igx_query_builder_filter_yesterday: 'Hier', - igx_query_builder_filter_thisMonth: 'Ce mois-ci', - igx_query_builder_filter_lastMonth: 'Le mois dernier', - igx_query_builder_filter_nextMonth: 'Le mois prochain', - igx_query_builder_filter_thisYear: 'Cette année', - igx_query_builder_filter_lastYear: 'L\'année dernière', - igx_query_builder_filter_nextYear: 'L\'année prochaine', - igx_query_builder_filter_greaterThan: 'Plus grand que', - igx_query_builder_filter_lessThan: 'Inférieur à', - igx_query_builder_filter_greaterThanOrEqualTo: 'Plus grand ou égal à', - igx_query_builder_filter_lessThanOrEqualTo: 'Inférieur ou égal à', - igx_query_builder_filter_true: 'Vrai', - igx_query_builder_filter_false: 'Faux', - igx_query_builder_filter_all: 'Tout', - igx_query_builder_from_label: 'De', - igx_query_builder_select_label: 'Sélectionner', - igx_query_builder_where_label: 'Où', - igx_query_builder_and_group: 'Groupe "Et"', - igx_query_builder_or_group: 'Groupe "Ou"', - igx_query_builder_end_group: 'Quitter le groupe', - igx_query_builder_and_label: 'et', - igx_query_builder_or_label: 'ou', - igx_query_builder_switch_group: 'Passer à {0}', - igx_query_builder_add_condition: 'Créer un condition', - igx_query_builder_add_group: 'Créer un groupe', - igx_query_builder_add_condition_root: 'Condition', - igx_query_builder_add_group_root: 'Groupe', - igx_query_builder_ungroup: 'Supprimer le regroupement', - igx_query_builder_delete: 'Supprimer', - igx_query_builder_delete_filters: 'Supprimer les filtres', - igx_query_builder_initial_text: 'Commencer par créer un groupe de conditions liées à "Et" ou "Ou"', - igx_query_builder_column_placeholder: 'Sélectionner la colonne', - igx_query_builder_condition_placeholder: 'Sélectionner le filtre', - igx_query_builder_value_placeholder: 'Valeur', - igx_query_builder_query_value_placeholder: 'Résultats de la sous-requête', - igx_query_builder_all_fields: 'Tous les domaines', - igx_query_builder_details: 'Détails', - igx_query_builder_search: 'Chercher', - igx_query_builder_select_all: 'Sélectionner tout', - igx_query_builder_select_entity: 'Sélectionner une entité', - igx_query_builder_select_return_field_single: 'Sélectionnez le champ de retour', - igx_query_builder_select_return_fields: 'Sélectionner les champs de retour', - igx_query_builder_dialog_title: 'Confirmation', - igx_query_builder_dialog_message: 'En changeant l\'entité, vous perdrez vos paramètres actuels. Êtes-vous sûr de vouloir faire cela ?', - igx_query_builder_dialog_checkbox_text: 'Ne plus afficher cette boîte de dialogue', - igx_query_builder_dialog_cancel: 'Annuler', - igx_query_builder_dialog_confirm: 'Confirmer', - igx_query_builder_drop_ghost_text: 'Déposez ici pour insérer' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsFR = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/resources.ts index 4691ac83c32..9b4db94434e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsFR } from './action-strip-resources'; /** * French resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsFR = { ...GridResourceStringsFR, diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/time-picker-resources.ts index ba6bafaf0ef..b3e4edfda96 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsFR as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsFR = { - igx_time_picker_ok: 'Ok', - igx_time_picker_cancel: 'Annuler', - igx_time_picker_change_time: 'Modifier l’heure', - igx_time_picker_choose_time: 'Choisir l’heure' -} satisfies MakeRequired; +export const TimePickerResourceStringsFR = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/FR/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/FR/tree-resources.ts index eacc34222df..9db0fc633f0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/FR/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/FR/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsFR as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * French resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsFR = { - igx_expand: 'Développer', - igx_collapse: 'Réduire' -} satisfies MakeRequired; +export const TreeResourceStringsFR = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/action-strip-resources.ts index 2e4be357092..18c90fd80e1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsHU as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsHU = { - igx_action_strip_button_more_title: 'Továbbiak' -} satisfies MakeRequired; +export const ActionStripResourceStringsHU = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/banner-resources.ts index 04f8d6a5e94..b8a04da4a1a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsHU as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsHU = { - igx_banner_button_dismiss: 'Bezárás' -} satisfies MakeRequired; +export const BannerResourceStringsHU = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/calendar-resources.ts index f24567552ac..d919f8e03b9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsHU as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsHU = { - igx_calendar_previous_month: 'Előző hónap', - igx_calendar_next_month: 'Következő hónap', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Hónap kiválasztása', - igx_calendar_select_year: 'Év kiválasztása', - igx_calendar_range_start: 'Tartomány kezdete', - igx_calendar_range_end: 'Tartomány vége', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'A kiválasztott hónap ', - igx_calendar_first_picker_of: 'A(z) {0} első választója innen indul:', - igx_calendar_multi_selection: 'Többszörös időpontválasztó naptár {0} dátumválasztóval', - igx_calendar_range_selection: 'Időtartamválasztó naptár {0} dátumválasztóval', - igx_calendar_single_selection: 'Naptár {0} dátumválasztóval', - igx_calendar_singular_multi_selection: 'Többszörös időpontválasztó naptár', - igx_calendar_singular_range_selection: 'Időtartamválasztó naptár', - igx_calendar_singular_single_selection: 'Naptár' -} satisfies MakeRequired; +export const CalendarResourceStringsHU = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/carousel-resources.ts index 657b9df4ada..4c8c6350ada 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsHU as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsHU = { - igx_carousel_of: '/', - igx_carousel_slide: 'dia', - igx_carousel_previous_slide: 'előző dia', - igx_carousel_next_slide: 'következő dia' -} satisfies MakeRequired; +export const CarouselResourceStringsHU = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/chip-resources.ts index 5e096026fdb..3bbc14abe72 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsHU as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsHU = { - igx_chip_remove: 'Eltávolítás chip', - igx_chip_select: 'Kijelöl chip' -} satisfies MakeRequired; +export const ChipResourceStringsHU = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/combo-resources.ts index 64596d302e9..422937e5938 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsHU as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsHU = { - igx_combo_empty_message: 'Üres a lista', - igx_combo_filter_search_placeholder: 'Írjon be egy keresési kifejezést', - igx_combo_addCustomValues_placeholder: 'Elem hozzáadása', - igx_combo_clearItems_placeholder: 'Kiválasztás törlése', - igx_combo_aria_label_options: 'Kiválasztott lehetőségek', - igx_combo_aria_label_no_options: 'Nincsenek kiválasztott lehetőségek' -} satisfies MakeRequired; +export const ComboResourceStringsHU = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/date-picker-resources.ts index 37bd099bbce..91683511beb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsHU as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsHU = { - igx_date_picker_change_date: 'Dátum beállítása', - igx_date_picker_choose_date: 'Dátum módosítása' -} satisfies MakeRequired; +export const DatePickerResourceStringsHU = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/date-range-picker-resources.ts index babadac03fd..7522c3b6463 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsHU as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsHU = { - igx_date_range_picker_date_separator: '-', - igx_date_range_picker_done_button: 'Kész', - igx_date_range_picker_cancel_button: 'Mégse', - igx_date_range_picker_last7Days: 'Az elmúlt 7 nap', - igx_date_range_picker_currentMonth: 'Aktuális hónap', - igx_date_range_picker_last30Days: 'Az elmúlt 30 nap', - igx_date_range_picker_yearToDate: 'Év elejétől napjainkig', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsHU = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts index 80cec6be705..b027fbfdfee 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsHU as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsHU = { - igx_grid_groupByArea_message: 'Húzza és ejtse ide az oszlopfejlécet az adott oszlop szerinti csoportosításhoz.', - igx_grid_groupByArea_select_message: 'Az összes sorok a csoportban mezőnévvel {0} és értékkel {1} kijelölése.', - igx_grid_groupByArea_deselect_message: 'Az összes sorok a csoportban mezőnévvel {0} és értékkel {1} kijelölésének törlése.', - igx_grid_emptyFilteredGrid_message: 'Nincs találat.', - igx_grid_emptyGrid_message: 'A rácsnak nincsenek adatai.', - igx_grid_filter: 'Szűrő', - igx_grid_filter_row_close: 'Bezárás', - igx_grid_filter_row_reset: 'Visszaállítás', - igx_grid_filter_row_placeholder: 'Szűrőérték hozzáadása', - igx_grid_filter_row_boolean_placeholder: 'Összes', - igx_grid_filter_row_date_placeholder: 'Felvétel dátuma', - igx_grid_filter_row_time_placeholder: 'Felvétel időpontja', - igx_grid_filter_operator_and: 'És', - igx_grid_filter_operator_or: 'Vagy', - igx_grid_complex_filter: 'Komplex szűrő', - igx_grid_filter_contains: 'Tartalmazza', - igx_grid_filter_doesNotContain: 'Nem tartalmazza', - igx_grid_filter_startsWith: 'Kezdete', - igx_grid_filter_endsWith: 'Vége', - igx_grid_filter_equals: 'Egyenlő', - igx_grid_filter_doesNotEqual: 'Nem egyenlő', - igx_grid_filter_empty: 'Üres', - igx_grid_filter_notEmpty: 'Nem üres', - igx_grid_filter_null: 'Nullértékű', - igx_grid_filter_notNull: 'Nem nullértékű', - igx_grid_filter_before: 'Előtte', - igx_grid_filter_after: 'Utána', - igx_grid_filter_at: 'Ekkor', - igx_grid_filter_not_at: 'Nem ekkor', - igx_grid_filter_at_before: 'Ekkor vagy előtte', - igx_grid_filter_at_after: 'Ekkor vagy utána', - igx_grid_filter_today: 'Ma', - igx_grid_filter_yesterday: 'Tegnap', - igx_grid_filter_thisMonth: 'Aktuális hónap', - igx_grid_filter_lastMonth: 'Előző hónap', - igx_grid_filter_nextMonth: 'Következő hónap', - igx_grid_filter_thisYear: 'Aktuális év', - igx_grid_filter_lastYear: 'Előző év', - igx_grid_filter_nextYear: 'Következő év', - igx_grid_filter_greaterThan: 'Nagyobb mint', - igx_grid_filter_lessThan: 'Kisebb mint', - igx_grid_filter_greaterThanOrEqualTo: 'Nagyobb vagy egyenlő', - igx_grid_filter_lessThanOrEqualTo: 'Kisebb vagy egyenlő', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Összes', - igx_grid_filter_condition_placeholder: 'Szűrő kiválasztása', - igx_grid_filter_in: 'Itt', - igx_grid_filter_notIn: 'Nem itt', - igx_grid_summary_count: 'Darab', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Szum', - igx_grid_summary_average: 'Átlag', - igx_grid_summary_earliest: 'Legkorábbi', - igx_grid_summary_latest: 'Legkésőbbi', - igx_grid_excel_filter_moving_left: 'mozgatás balra', - igx_grid_excel_filter_moving_left_short: 'bal', - igx_grid_excel_filter_moving_right: 'mozgatás jobbra', - igx_grid_excel_filter_moving_right_short: 'jobb', - igx_grid_excel_filter_moving_header: 'mozgatás', - igx_grid_excel_filter_sorting_asc: 'növekvő', - igx_grid_excel_filter_sorting_asc_short: 'növ', - igx_grid_excel_filter_sorting_desc: 'csökkenő', - igx_grid_excel_filter_sorting_desc_short: 'csökk', - igx_grid_excel_filter_sorting_header: 'rendezés', - igx_grid_excel_filter_clear: 'Oszlopszűrők törlése', - igx_grid_excel_custom_dialog_add: 'szűrő hozzáadása', - igx_grid_excel_custom_dialog_clear: 'Szűrő törlése', - igx_grid_excel_custom_dialog_header: 'Egyéni automatikus szűrés az oszlopon: ', - igx_grid_excel_cancel: 'mégse', - igx_grid_excel_apply: 'alkalmaz', - igx_grid_excel_search_placeholder: 'Keresés', - igx_grid_excel_select_all: 'Mindet kijelöl', - igx_grid_excel_select_all_search_results: 'Az összes keresési találat kijelölése', - igx_grid_excel_add_to_filter: 'Az aktuális kijelölés hozzáadása a szűréshez', - igx_grid_excel_blanks: '(Üresek)', - igx_grid_excel_hide: 'Oszlop elrejtése', - igx_grid_excel_show: 'Oszlop felfedése', - igx_grid_excel_pin: 'Oszlop rögzítése', - igx_grid_excel_unpin: 'Oszlop rögzítésének feloldása', - igx_grid_excel_select: 'Oszlop kiválasztása', - igx_grid_excel_deselect: 'Oszlop kijelölésének megszüntetése', - igx_grid_excel_text_filter: 'Szövegszűrő', - igx_grid_excel_number_filter: 'Számszűrő', - igx_grid_excel_date_filter: 'Dátumszűrő', - igx_grid_excel_boolean_filter: 'Logikai szűrő', - igx_grid_excel_currency_filter: 'Pénznemszűrő', - igx_grid_excel_custom_filter: 'Egyéni szűrő...', - igx_grid_excel_no_matches: 'Nincs találat', - igx_grid_excel_matches_count: '{0} találat', - igx_grid_advanced_filter_title: 'Speciális szűrés', - igx_grid_advanced_filter_from_label: 'Kezdete', - igx_grid_advanced_filter_and_group: '"És" csoport', - igx_grid_advanced_filter_or_group: '"Vagy" Csoport', - igx_grid_advanced_filter_end_group: 'Vége csoport', - igx_grid_advanced_filter_create_and_group: '"És" csoport létrehozása', - igx_grid_advanced_filter_create_or_group: '"Vagy" csoport létrehozása', - igx_grid_advanced_filter_and_label: 'és', - igx_grid_advanced_filter_or_label: 'vagy', - igx_grid_advanced_filter_switch_group: 'Váltás a(z) {0}', - igx_grid_advanced_filter_add_condition: 'Feltétel hozzáadása', - igx_grid_advanced_filter_add_group: 'Csoport hozzáadása', - igx_grid_advanced_filter_add_condition_root: 'Feltétel', - igx_grid_advanced_filter_add_group_root: 'Csoport', - igx_grid_advanced_filter_ungroup: 'Csoportbontás', - igx_grid_advanced_filter_delete: 'Törlés', - igx_grid_advanced_filter_delete_filters: 'Szűrők törlése', - igx_grid_advanced_filter_initial_text: 'Először hozzon létre egy feltételcsoportot, amelyek az "És" vagy a "Vagy" kifejezéssel vannak összekapcsolva', - igx_grid_advanced_filter_column_placeholder: 'Oszlop kiválasztása', - igx_grid_advanced_filter_value_placeholder: 'Érték', - igx_grid_advanced_filter_query_value_placeholder: 'Allekérdezés eredményei', - igx_grid_advanced_filter_select_entity: 'Entitás kiválasztása', - igx_grid_advanced_filter_select_return_field_single: 'Visszatérési mező kiválasztása', - igx_grid_advanced_filter_dialog_title: 'Megerősítés', - igx_grid_advanced_filter_dialog_message: 'Az entitás megváltoztatásával elveszíti jelenlegi beállításait. Biztos, hogy folytatni kívánja?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Ne jelenjen meg többet ez a párbeszédpanel', - igx_grid_advanced_filter_drop_ghost_text: 'Húzza ide a beszúráshoz', - igx_grid_pinned_row_indicator: 'Rögzítve', - igx_grid_hiding_check_all_label: 'Összes felfedése', - igx_grid_hiding_uncheck_all_label: 'Összes elrejtése', - igx_grid_pinning_check_all_label: 'Összes rögzítése', - igx_grid_pinning_uncheck_all_label: 'Összes rögzítésének feloldása', - igx_grid_row_edit_btn_done: 'Kész', - igx_grid_row_edit_btn_cancel: 'Mégse', - igx_grid_row_edit_text: '{0} módosítása van ebben a sorban és {1} rejtett oszlopban', - igx_grid_toolbar_actions_filter_prompt: 'Oszloplista szűrése...', - igx_grid_toolbar_pinning_button_tooltip: 'Nyissa meg az oszlop rögzítésének legördülő', - igx_grid_toolbar_hiding_button_tooltip: 'Nyissa meg az oszlop elrejtése legördülő', - igx_grid_toolbar_pinning_title: 'Rögzített oszlopok', - igx_grid_toolbar_hiding_title: 'Látható oszlopok', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Nyissa meg a speciális szűrési párbeszédpanel', - igx_grid_toolbar_advanced_filtering_button_label: 'Speciális szűrés', - igx_grid_toolbar_exporter_button_tooltip: 'Nyissa meg az exportőr legördülő', - igx_grid_toolbar_exporter_button_label: 'Exportálás', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportálás Excel formátumba', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportálás CSV formátumban', - igx_grid_snackbar_addrow_label: 'Sor hozzáadva', - igx_grid_snackbar_addrow_actiontext: 'MEGJELENÍTÉS', - igx_grid_actions_edit_label: 'Szerkesztés', - igx_grid_actions_add_label: 'Hozzáadás', - igx_grid_add_row_label: 'SOR HOZZÁADÁSA', - igx_grid_actions_add_child_label: 'Gyermek hozzáadása', - igx_grid_actions_delete_label: 'Törlés', - igx_grid_actions_pin_label: 'Rögzítés', - igx_grid_actions_unpin_label: 'Rögzítés feloldása', - igx_grid_actions_jumpUp_label: 'Ugrás felfelé', - igx_grid_actions_jumpDown_label: 'Ugrás lefelé', - igx_grid_pivot_date_dimension_total: 'Minden időszak', - igx_grid_pivot_aggregate_count: 'Darab', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Szum', - igx_grid_pivot_aggregate_avg: 'Átlag', - igx_grid_pivot_aggregate_date_latest: 'Legutóbbi dátum', - igx_grid_pivot_aggregate_date_earliest: 'Legkorábbi dátum', - igx_grid_pivot_aggregate_time_latest: 'Legutóbbi idő', - igx_grid_pivot_aggregate_time_earliest: 'Legkorábbi idő', - igx_grid_pivot_empty_row_drop_area: 'Sormezők ejtése ide.', - igx_grid_pivot_empty_column_drop_area: 'Oszlopmezők ejtése ide.', - igx_grid_pivot_empty_filter_drop_area: 'Szűrőmezők ejtése ide.', - igx_grid_pivot_empty_value_drop_area: 'Értékmezők ejtése ide.', - igx_grid_pivot_row_drop_chip: 'Húzza ide az sorként való használathoz', - igx_grid_pivot_column_drop_chip: 'Húzza ide az oszlopként való használathoz', - igx_grid_pivot_filter_drop_chip: 'Húzza ide az szűrőként való használathoz', - igx_grid_pivot_value_drop_chip: 'Húzza ide az értékként való használathoz', - igx_grid_pivot_selector_filters: 'Szűrők', - igx_grid_pivot_selector_rows: 'Sorok', - igx_grid_pivot_selector_columns: 'Oszlopok', - igx_grid_pivot_selector_values: 'Értékek', - igx_grid_pivot_selector_panel_empty: 'Ide húzza az elemeket', - igx_grid_pivot_empty_message: 'A pivot rácsnak nincsenek méretei és értékei.', - igx_grid_required_validation_error: 'Ez a mező kötelező', - igx_grid_min_validation_error: 'A megadott érték legalább {0} kell, hogy legyen', - igx_grid_max_validation_error: 'A megadott érték legfeljebb {0} lehet', - igx_grid_min_length_validation_error: 'A bejegyzésnek legalább {0} karakter hosszúságúnak kell lennie', - igx_grid_max_length_validation_error: 'A bejegyzés legfeljebb {0} karakter hosszúságú lehet', - igx_grid_email_validation_error: 'Érvényes e-mail címet kell megadni', - igx_grid_pattern_validation_error: 'A bejegyzés nem felel meg a szükséges sémának' -} satisfies MakeRequired; +export const GridResourceStringsHU = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/input-resources.ts index 361fc4ecfa2..4e770395b95 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsHU as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsHU = { - igx_input_upload_button: 'Fájl feltöltése', - igx_input_file_placeholder: 'Nincs fájl kiválasztva' -} satisfies MakeRequired; +export const InputResourceStringsHU = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/list-resources.ts index ae53999bafb..441f893b9d3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsHU as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsHU = { - igx_list_no_items: 'Nincsenek elemek a listában.', - igx_list_loading: 'Adatok betöltése a szerverről...' -} satisfies MakeRequired; +export const ListResourceStringsHU = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/paginator-resources.ts index 72836ebeeed..b7babba598f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsHU as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsHU = { - igx_paginator_label: 'Elemek száma oldalanként', - igx_paginator_pager_text: '/', - igx_paginator_first_page_button_text: 'Ugrás az első oldalra', - igx_paginator_previous_page_button_text: 'Előző oldal', - igx_paginator_last_page_button_text: 'Ugrás az utolsó oldalra', - igx_paginator_next_page_button_text: 'Következő oldal', -} satisfies MakeRequired; +export const PaginatorResourceStringsHU = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/query-builder-resources.ts index 650b8c7200d..6d2790cd252 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsHU as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Hungarian resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsHU = { - igx_query_builder_date_placeholder: 'Felvétel dátuma', - igx_query_builder_time_placeholder: 'Felvétel időpontja', - igx_query_builder_datetime_placeholder: 'Dátum és idő kiválasztása', - igx_query_builder_filter_operator_and: 'És', - igx_query_builder_filter_operator_or: 'Vagy', - igx_query_builder_filter_contains: 'Tartalmazza', - igx_query_builder_filter_doesNotContain: 'Nem tartalmazza', - igx_query_builder_filter_startsWith: 'Kezdete', - igx_query_builder_filter_endsWith: 'Vége', - igx_query_builder_filter_equals: 'Egyenlő', - igx_query_builder_filter_doesNotEqual: 'Nem egyenlő', - igx_query_builder_filter_empty: 'Üres', - igx_query_builder_filter_notEmpty: 'Nem üres', - igx_query_builder_filter_null: 'Nullértékű', - igx_query_builder_filter_notNull: 'Nem nullértékű', - igx_query_builder_filter_in: 'Itt', - igx_query_builder_filter_notIn: 'Nem itt', - igx_query_builder_filter_before: 'Előtte', - igx_query_builder_filter_after: 'Utána', - igx_query_builder_filter_at: 'Ekkor', - igx_query_builder_filter_not_at: 'Nem ekkor', - igx_query_builder_filter_at_before: 'Ekkor vagy előtte', - igx_query_builder_filter_at_after: 'Ekkor vagy utána', - igx_query_builder_filter_today: 'Ma', - igx_query_builder_filter_yesterday: 'Tegnap', - igx_query_builder_filter_thisMonth: 'Aktuális hónap', - igx_query_builder_filter_lastMonth: 'Előző hónap', - igx_query_builder_filter_nextMonth: 'Következő hónap', - igx_query_builder_filter_thisYear: 'Aktuális év', - igx_query_builder_filter_lastYear: 'Előző év', - igx_query_builder_filter_nextYear: 'Következő év', - igx_query_builder_filter_greaterThan: 'Nagyobb mint', - igx_query_builder_filter_lessThan: 'Kisebb mint', - igx_query_builder_filter_greaterThanOrEqualTo: 'Nagyobb vagy egyenlő', - igx_query_builder_filter_lessThanOrEqualTo: 'Kisebb vagy egyenlő', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Összes', - igx_query_builder_from_label: 'Kezdete', - igx_query_builder_select_label: 'Kiválasztás', - igx_query_builder_where_label: 'Ahol', - igx_query_builder_and_group: '"És" csoport', - igx_query_builder_or_group: '"Vagy" Csoport', - igx_query_builder_end_group: 'Vége csoport', - igx_query_builder_and_label: 'és', - igx_query_builder_or_label: 'vagy', - igx_query_builder_switch_group: 'Váltás a(z) {0}', - igx_query_builder_add_condition: 'Feltétel létrehozása', - igx_query_builder_add_group: 'Csoport létrehozása', - igx_query_builder_add_condition_root: 'Feltétel', - igx_query_builder_add_group_root: 'Csoport', - igx_query_builder_ungroup: 'Csoportbontás', - igx_query_builder_delete: 'Törlés', - igx_query_builder_delete_filters: 'Szűrők törlése', - igx_query_builder_initial_text: 'Először hozzon létre egy feltételcsoportot, amelyek az "És" vagy a "Vagy" kifejezéssel vannak összekapcsolva', - igx_query_builder_column_placeholder: 'Oszlop kiválasztása', - igx_query_builder_condition_placeholder: 'Szűrő kiválasztása', - igx_query_builder_value_placeholder: 'Érték', - igx_query_builder_query_value_placeholder: 'Allekérdezés eredményei', - igx_query_builder_all_fields: 'Minden mező', - igx_query_builder_details: 'Részletek', - igx_query_builder_search: 'Keresés', - igx_query_builder_select_all: 'Mindet kijelöli', - igx_query_builder_select_entity: 'Entitás kiválasztása', - igx_query_builder_select_return_field_single: 'Válassza ki a visszatérési mezőt', - igx_query_builder_select_return_fields: 'Visszatérő mezők kiválasztása', - igx_query_builder_dialog_title: 'Megerősítés', - igx_query_builder_dialog_message: 'Az entitás megváltoztatásával elveszíti jelenlegi beállításait. Biztos, hogy folytatni kívánja?', - igx_query_builder_dialog_checkbox_text: 'Ne jelenjen meg többet ez a párbeszédpanel', - igx_query_builder_dialog_cancel: 'Mégse', - igx_query_builder_dialog_confirm: 'Megerősítés', - igx_query_builder_drop_ghost_text: 'Húzza ide a beszúráshoz' -} satisfies MakeRequired; \ No newline at end of file +export const QueryBuilderResourceStringsHU = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/resources.ts index 268a95066fa..6dec49be323 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsHU } from './action-strip-resources'; /** * Hungarian resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsHU = { ...GridResourceStringsHU, diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/time-picker-resources.ts index e8b9ce67a94..cef94887c6f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsHU as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsHU = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Mégse', - igx_time_picker_change_time: 'Idő módosítása', - igx_time_picker_choose_time: 'Idő beállítása' -} satisfies MakeRequired; +export const TimePickerResourceStringsHU = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/HU/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/HU/tree-resources.ts index 828be196ce7..568ce29c7d9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/HU/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/HU/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsHU as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Hungarian resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsHU = { - igx_expand: 'Kibontás', - igx_collapse: 'Összecsukás', -} satisfies MakeRequired; +export const TreeResourceStringsHU = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/action-strip-resources.ts index 4720ecc3fa8..64c21a134f6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsIT as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsIT = { - igx_action_strip_button_more_title: 'Altro' -} satisfies MakeRequired; +export const ActionStripResourceStringsIT = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/banner-resources.ts index 887e812994b..f5fba0dc660 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsIT as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsIT = { - igx_banner_button_dismiss: 'Elimina' -} satisfies MakeRequired; +export const BannerResourceStringsIT = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/calendar-resources.ts index 0a58c109b0d..7c80f0e9b6f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsIT as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsIT = { - igx_calendar_previous_month: 'Mese precedente', - igx_calendar_next_month: 'Mese prossimo', - igx_calendar_previous_year: 'L\'anno precedente', - igx_calendar_next_year: 'L\'anno prossimo', - igx_calendar_previous_years: '{0} anni precedenti', - igx_calendar_next_years: 'Prossimi {0} anni', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Selezionare il mese', - igx_calendar_select_year: 'Selezionare l\'anno', - igx_calendar_range_start: 'Inizio intervallo', - igx_calendar_range_end: 'Fine intervallo', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Mese selezionato: ', - igx_calendar_first_picker_of: 'Il primo selettore di {0} inizia da', - igx_calendar_multi_selection: 'Calendario a selezione multipla con {0} selettori di data', - igx_calendar_range_selection: 'Calendario di selezione intervallo con {0} selettori di data', - igx_calendar_single_selection: 'Calendario con {0} selettori di data', - igx_calendar_singular_multi_selection: 'Calendario a selezione multipla', - igx_calendar_singular_range_selection: 'Calendario di selezione intervallo ', - igx_calendar_singular_single_selection: 'Calendario' -} satisfies MakeRequired; +export const CalendarResourceStringsIT = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/carousel-resources.ts index dd1ae227194..40f173a2272 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsIT as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsIT = { - igx_carousel_of: 'di', - igx_carousel_slide: 'diapositiva', - igx_carousel_previous_slide: 'diapositiva precedente', - igx_carousel_next_slide: 'diapositiva successiva' -} satisfies MakeRequired; +export const CarouselResourceStringsIT = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/chip-resources.ts index 36c3eecc7f2..6bc95dd0c65 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsIT as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsIT = { - igx_chip_remove: 'Rimuovere chip', - igx_chip_select: 'Seleziona chip' -} satisfies MakeRequired; +export const ChipResourceStringsIT = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/combo-resources.ts index dea01ab9463..b0415dc2691 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsIT as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsIT = { - igx_combo_empty_message: 'L\'elenco è vuoto', - igx_combo_filter_search_placeholder: 'Immettere il testo di ricerca', - igx_combo_addCustomValues_placeholder: 'Aggiungi elemento', - igx_combo_clearItems_placeholder: 'Cancella selezione', - igx_combo_aria_label_options: 'Opzioni selezionate', - igx_combo_aria_label_no_options: 'Nessuna opzione selezionata' -} satisfies MakeRequired; +export const ComboResourceStringsIT = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/date-picker-resources.ts index d2e54bff016..955f130f9ae 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsIT as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsIT = { - igx_date_picker_change_date: 'Modifica data', - igx_date_picker_choose_date: 'Scegli data' -} satisfies MakeRequired; +export const DatePickerResourceStringsIT = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/date-range-picker-resources.ts index 508bd953069..1af00a72134 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsIT as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsIT = { - igx_date_range_picker_date_separator: 'a', - igx_date_range_picker_done_button: 'Fine', - igx_date_range_picker_cancel_button: 'Annulla', - igx_date_range_picker_last7Days: 'Ultimi 7 giorni', - igx_date_range_picker_currentMonth: 'Mese corrente', - igx_date_range_picker_last30Days: 'Ultimi 30 giorni', - igx_date_range_picker_yearToDate: 'Anno fino ad oggi', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsIT = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts index 1d3b03a8d1d..63276f24b4a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsIT as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsIT = { - igx_grid_groupByArea_message: 'Trascinare un\'intestazione di colonna e rilasciarla qui per raggruppare in base a quella colonna.', - igx_grid_emptyFilteredGrid_message: 'Nessun record trovato.', - igx_grid_emptyGrid_message: 'La griglia non ha dati.', - igx_grid_filter: 'Filtro', - igx_grid_filter_row_close: 'Chiudi', - igx_grid_filter_row_reset: 'Reimposta', - igx_grid_filter_row_placeholder: 'Aggiungi valore filtro', - igx_grid_filter_row_boolean_placeholder: 'Tutto', - igx_grid_filter_row_date_placeholder: 'Data di prelievo', - igx_grid_filter_row_time_placeholder: 'Ora ritiro', - igx_grid_filter_operator_and: 'E', - igx_grid_filter_operator_or: 'O', - igx_grid_complex_filter: 'Filtro complesso', - igx_grid_filter_contains: 'Contiene', - igx_grid_filter_doesNotContain: 'Non contiene', - igx_grid_filter_startsWith: 'Inizia con', - igx_grid_filter_endsWith: 'Finisce con', - igx_grid_filter_equals: 'Uguale', - igx_grid_filter_doesNotEqual: 'Non è uguale', - igx_grid_filter_empty: 'Vuoto', - igx_grid_filter_notEmpty: 'Non vuoto', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Non null', - igx_grid_filter_before: 'Prima', - igx_grid_filter_after: 'Dopo', - igx_grid_filter_at: 'A', - igx_grid_filter_not_at: 'Non a', - igx_grid_filter_at_before: 'A o prima', - igx_grid_filter_at_after: 'A o dopo', - igx_grid_filter_today: 'Oggi', - igx_grid_filter_yesterday: 'Ieri', - igx_grid_filter_thisMonth: 'Questo mese', - igx_grid_filter_lastMonth: 'Ultimo mese', - igx_grid_filter_nextMonth: 'Prossimo mese', - igx_grid_filter_thisYear: 'Quest\'anno', - igx_grid_filter_lastYear: 'L\'anno scorso', - igx_grid_filter_nextYear: 'Prossimo anno', - igx_grid_filter_greaterThan: 'Maggiore di', - igx_grid_filter_lessThan: 'Minore di', - igx_grid_filter_greaterThanOrEqualTo: 'Maggiore o uguale a', - igx_grid_filter_lessThanOrEqualTo: 'Minore o uguale a', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Tutto', - igx_grid_filter_condition_placeholder: 'Seleziona filtro', - igx_grid_filter_in: 'In', - igx_grid_filter_notIn: 'Non in', - igx_grid_summary_count: 'Conteggio', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Somma', - igx_grid_summary_average: 'Media', - igx_grid_summary_earliest: 'Prima', - igx_grid_summary_latest: 'Più recenti', - igx_grid_excel_filter_moving_left: 'sposta a sinistra', - igx_grid_excel_filter_moving_left_short: 'sinistra', - igx_grid_excel_filter_moving_right: 'sposta a destra', - igx_grid_excel_filter_moving_right_short: 'destra', - igx_grid_excel_filter_moving_header: 'sposta', - igx_grid_excel_filter_sorting_asc: 'crescente', - igx_grid_excel_filter_sorting_asc_short: 'cres', - igx_grid_excel_filter_sorting_desc: 'decrescente', - igx_grid_excel_filter_sorting_desc_short: 'decr', - igx_grid_excel_filter_sorting_header: 'ordina', - igx_grid_excel_filter_clear: 'Cancella i filtri delle colonne', - igx_grid_excel_custom_dialog_add: 'aggiungi filtro', - igx_grid_excel_custom_dialog_clear: 'cancella filtro', - igx_grid_excel_custom_dialog_header: 'Filtro automatico personalizzato nella colonna: ', - igx_grid_excel_cancel: 'cancellato', - igx_grid_excel_apply: 'applica', - igx_grid_excel_search_placeholder: 'Cerca', - igx_grid_excel_select_all: 'Seleziona tutto', - igx_grid_excel_select_all_search_results: 'Seleziona tutti i risultati della ricerca', - igx_grid_excel_add_to_filter: 'Aggiungi la selezione corrente al filtro', - igx_grid_excel_blanks: '(Spazi)', - igx_grid_excel_hide: 'Nascondi colonna', - igx_grid_excel_show: 'Mostra colonna', - igx_grid_excel_pin: 'Appunta colonna', - igx_grid_excel_unpin: 'Sblocca colonna', - igx_grid_excel_select: 'Seleziona colonna', - igx_grid_excel_deselect: 'Deseleziona colonna', - igx_grid_excel_text_filter: 'Filtro testo', - igx_grid_excel_number_filter: 'Filtro numerico', - igx_grid_excel_date_filter: 'Filtro data', - igx_grid_excel_boolean_filter: 'Filtro booleano', - igx_grid_excel_currency_filter: 'Filtro valuta', - igx_grid_excel_custom_filter: 'Filtro personalizzato…', - igx_grid_excel_no_matches: 'Nessuna corrispondenza', - igx_grid_excel_matches_count: '{0} corrispondenze', - igx_grid_advanced_filter_title: 'Filtro avanzato', - igx_grid_advanced_filter_from_label: 'Da', - igx_grid_advanced_filter_and_group: 'Gruppo "And"', - igx_grid_advanced_filter_or_group: 'Gruppo "Or"', - igx_grid_advanced_filter_end_group: 'Gruppo finale', - igx_grid_advanced_filter_create_and_group: 'Crea gruppo "And"', - igx_grid_advanced_filter_create_or_group: 'Crea gruppo "Or"', - igx_grid_advanced_filter_and_label: 'e', - igx_grid_advanced_filter_or_label: 'oppure', - igx_grid_advanced_filter_switch_group: 'Passa a {0}', - igx_grid_advanced_filter_add_condition: 'Aggiungi condizione', - igx_grid_advanced_filter_add_group: 'Aggiungi gruppo', - igx_grid_advanced_filter_add_condition_root: 'Condizione', - igx_grid_advanced_filter_add_group_root: 'Gruppo', - igx_grid_advanced_filter_ungroup: 'Togli dal gruppo', - igx_grid_advanced_filter_delete: 'Elimina', - igx_grid_advanced_filter_delete_filters: 'Elimina filtri', - igx_grid_advanced_filter_initial_text: 'Inizia con la creazione di un gruppo di condizioni collegate con "And" o "Or"', - igx_grid_advanced_filter_column_placeholder: 'Seleziona colonna', - igx_grid_advanced_filter_value_placeholder: 'Valore', - igx_grid_advanced_filter_query_value_placeholder: 'Risultati della sottoquery', - igx_grid_advanced_filter_select_entity: 'Risultati della sottoquery', - igx_grid_advanced_filter_select_return_field_single: 'Seleziona campo di reso', - igx_grid_advanced_filter_dialog_title: 'Conferma', - igx_grid_advanced_filter_dialog_message: 'Modificando l\'entità, perderai le impostazioni correnti. Procedere?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Non visualizzare più questo messaggio', - igx_grid_advanced_filter_drop_ghost_text: 'Trascinare qui per inserire', - igx_grid_pinned_row_indicator: 'Appuntato', - igx_grid_hiding_check_all_label: 'Mostra tutto', - igx_grid_hiding_uncheck_all_label: 'Nascondi tutto', - igx_grid_pinning_check_all_label: 'Appunta tutti', - igx_grid_pinning_uncheck_all_label: 'Sblocca tutto', - igx_grid_row_edit_btn_done: 'Fatto', - igx_grid_row_edit_btn_cancel: 'Annulla', - igx_grid_row_edit_text: 'Hai {0} modifiche in questa riga e {1} colonne nascoste', - igx_grid_toolbar_actions_filter_prompt: 'Filtro elenco colonne...', - igx_grid_toolbar_pinning_button_tooltip: 'Apri il menu a discesa Appuntamento colonna', - igx_grid_toolbar_hiding_button_tooltip: 'Apri il menu a discesa per nascondere la colonna', - igx_grid_toolbar_pinning_title: 'Colonne appuntate', - igx_grid_toolbar_hiding_title: 'Colonne visibili', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Apri la finestra di dialogo del filtro avanzato', - igx_grid_toolbar_advanced_filtering_button_label: 'Filtro avanzato', - igx_grid_toolbar_exporter_button_tooltip: 'Apri il menu a discesa esportatore', - igx_grid_toolbar_exporter_button_label: 'Esporta', - igx_grid_toolbar_exporter_excel_entry_text: 'Esporta in Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Esporta in CSV', - igx_grid_groupByArea_select_message: 'Selezionare tutte le righe del gruppo con nome campo {0} e valore {1}.', - igx_grid_groupByArea_deselect_message: 'Deselezionare tutte le righe del gruppo con il nome campo {0} e il valore {1}.', - igx_grid_snackbar_addrow_label: 'Riga aggiunta', - igx_grid_snackbar_addrow_actiontext: 'Mostra', - igx_grid_actions_edit_label: 'Modifica', - igx_grid_actions_add_label: 'Aggiungi', - igx_grid_add_row_label: 'Aggiungi riga', - igx_grid_actions_add_child_label: 'Aggiungi figlio', - igx_grid_actions_delete_label: 'Elimina', - igx_grid_actions_pin_label: 'Aggiungi', - igx_grid_actions_unpin_label: 'Deseleziona', - igx_grid_actions_jumpUp_label: 'Salta su', - igx_grid_actions_jumpDown_label: 'Salta giù', - igx_grid_pivot_date_dimension_total: 'All Periods', - igx_grid_pivot_aggregate_count: 'Conteggio', - igx_grid_pivot_aggregate_min: 'Minimo', - igx_grid_pivot_aggregate_max: 'Massimo', - igx_grid_pivot_aggregate_sum: 'Somma', - igx_grid_pivot_aggregate_avg: 'Media', - igx_grid_pivot_aggregate_date_latest: 'Ultima data', - igx_grid_pivot_aggregate_date_earliest: 'Prima data', - igx_grid_pivot_aggregate_time_latest: 'Ultima ora', - igx_grid_pivot_aggregate_time_earliest: 'Prima ora', - igx_grid_pivot_empty_row_drop_area: 'Trascinare qui i campi righe.', - igx_grid_pivot_empty_column_drop_area: 'Trascinare qui i campi colonna.', - igx_grid_pivot_empty_filter_drop_area: 'Trascinare qui i campi filtro.', - igx_grid_pivot_empty_value_drop_area: 'Trascinare qui i campi valore.', - igx_grid_pivot_row_drop_chip: 'Trascinare qui da usare come riga', - igx_grid_pivot_column_drop_chip: 'Trascinare qui i campi righe', - igx_grid_pivot_filter_drop_chip: 'Trascinare qui da usare come filtro', - igx_grid_pivot_value_drop_chip: 'Trascinare qui da usare come valore', - igx_grid_pivot_selector_filters: 'Filtri', - igx_grid_pivot_selector_rows: 'Righe', - igx_grid_pivot_selector_columns: 'Colonne', - igx_grid_pivot_selector_values: 'Valori', - igx_grid_pivot_selector_panel_empty: 'Trascinare gli elementi qui', - igx_grid_pivot_empty_message: 'La griglia pivot non ha dimensioni e valori.', - igx_grid_required_validation_error: 'Questo campo è obbligatorio', - igx_grid_min_validation_error: 'È necessario immettere un valore di almeno {0}', - igx_grid_max_validation_error: 'È necessario immettere un valore non superiore a {0}', - igx_grid_min_length_validation_error: 'La voce deve contenere almeno {0} caratteri', - igx_grid_max_length_validation_error: 'La voce non deve contenere più di {0} caratteri', - igx_grid_email_validation_error: 'È necessario inserire un indirizzo e-mail valido', - igx_grid_pattern_validation_error: 'La voce non corrisponde al modello richiesto' -} satisfies MakeRequired; +export const GridResourceStringsIT = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/input-resources.ts index 8ebe7f5784f..51d053a28f0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsIT as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsIT = { - igx_input_upload_button: 'Carica file', - igx_input_file_placeholder: 'Nessun file scelto' -} satisfies MakeRequired; +export const InputResourceStringsIT = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/list-resources.ts index ef617cdd18b..6ac449a5281 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsIT as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsIT = { - igx_list_no_items: 'Non ci sono elementi nell\'elenco.', - igx_list_loading: 'Caricamento dati dal server in corso...' -} satisfies MakeRequired; +export const ListResourceStringsIT = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/paginator-resources.ts index bbce7e883cb..906661e93e2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsIT as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsIT = { - igx_paginator_label: 'Elementi per pagina', - igx_paginator_pager_text: 'di', - igx_paginator_first_page_button_text: 'Vai alla prima pagina', - igx_paginator_previous_page_button_text: 'Pagina precedente', - igx_paginator_last_page_button_text: 'Vai all\'ultima pagina', - igx_paginator_next_page_button_text: 'Pagina successiva' -} satisfies MakeRequired; +export const PaginatorResourceStringsIT = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/query-builder-resources.ts index bdde42dae39..fed6f750df4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsIT as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Italian resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsIT = { - igx_query_builder_date_placeholder: 'Data di prelievo', - igx_query_builder_time_placeholder: 'Ora ritiro', - igx_query_builder_datetime_placeholder: 'Seleziona data e ora', - igx_query_builder_filter_operator_and: 'E', - igx_query_builder_filter_operator_or: 'O', - igx_query_builder_filter_contains: 'Contiene', - igx_query_builder_filter_doesNotContain: 'Non contiene', - igx_query_builder_filter_startsWith: 'Inizia con', - igx_query_builder_filter_endsWith: 'Finisce con', - igx_query_builder_filter_equals: 'Uguale', - igx_query_builder_filter_doesNotEqual: 'Non è uguale', - igx_query_builder_filter_empty: 'Vuoto', - igx_query_builder_filter_notEmpty: 'Non vuoto', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Non null', - igx_query_builder_filter_in: 'In', - igx_query_builder_filter_notIn: 'Non in', - igx_query_builder_filter_before: 'Prima', - igx_query_builder_filter_after: 'Dopo', - igx_query_builder_filter_at: 'A', - igx_query_builder_filter_not_at: 'Non a', - igx_query_builder_filter_at_before: 'A o prima', - igx_query_builder_filter_at_after: 'A o dopo', - igx_query_builder_filter_today: 'Oggi', - igx_query_builder_filter_yesterday: 'Ieri', - igx_query_builder_filter_thisMonth: 'Questo mese', - igx_query_builder_filter_lastMonth: 'Ultimo mese', - igx_query_builder_filter_nextMonth: 'Prossimo mese', - igx_query_builder_filter_thisYear: 'Quest\'anno', - igx_query_builder_filter_lastYear: 'L\'anno scorso', - igx_query_builder_filter_nextYear: 'Prossimo anno', - igx_query_builder_filter_greaterThan: 'Maggiore di', - igx_query_builder_filter_lessThan: 'Minore di', - igx_query_builder_filter_greaterThanOrEqualTo: 'Maggiore o uguale a', - igx_query_builder_filter_lessThanOrEqualTo: 'Minore o uguale a', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Tutto', - igx_query_builder_from_label: 'Da', - igx_query_builder_select_label: 'Seleziona', - igx_query_builder_where_label: 'Dove', - igx_query_builder_and_group: 'Gruppo "And"', - igx_query_builder_or_group: 'Gruppo "Or"', - igx_query_builder_end_group: 'Gruppo finale', - igx_query_builder_and_label: 'e', - igx_query_builder_or_label: 'oppure', - igx_query_builder_switch_group: 'Passa a {0}', - igx_query_builder_add_condition: 'Crea condizione', - igx_query_builder_add_group: 'Crea gruppo', - igx_query_builder_add_condition_root: 'Condizione', - igx_query_builder_add_group_root: 'Gruppo', - igx_query_builder_ungroup: 'Togli dal gruppo', - igx_query_builder_delete: 'Elimina', - igx_query_builder_delete_filters: 'Elimina filtri', - igx_query_builder_initial_text: 'Inizia con la creazione di un gruppo di condizioni collegate con "And" o "Or"', - igx_query_builder_column_placeholder: 'Seleziona colonna', - igx_query_builder_condition_placeholder: 'Seleziona filtro', - igx_query_builder_value_placeholder: 'Valore', - igx_query_builder_query_value_placeholder: 'Risultati della sottoquery', - igx_query_builder_all_fields: 'Tutti i campi', - igx_query_builder_details: 'Dettagli', - igx_query_builder_search: 'Cerca', - igx_query_builder_select_all: 'Seleziona tutto', - igx_query_builder_select_entity: 'Seleziona entità', - igx_query_builder_select_return_field_single: 'Seleziona il campo di ritorno', - igx_query_builder_select_return_fields: 'Seleziona campi di ritorno', - igx_query_builder_dialog_title: 'Conferma', - igx_query_builder_dialog_message: 'Modificando l\'entità, perderai le impostazioni correnti. Procedere?', - igx_query_builder_dialog_checkbox_text: 'Non visualizzare più questo messaggio', - igx_query_builder_dialog_cancel: 'Annulla', - igx_query_builder_dialog_confirm: 'Conferma', - igx_query_builder_drop_ghost_text: 'Trascinare qui per inserire' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsIT = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/resources.ts index e3ad350b4de..b0e3f520551 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsIT } from './action-strip-resources'; /** * Italian resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsIT = { ...CalendarResourceStringsIT, diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/time-picker-resources.ts index ae106ceb877..243a6043abe 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsIT as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsIT = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Annulla', - igx_time_picker_change_time: 'Modifica orario', - igx_time_picker_choose_time: 'Scegli orario' -} satisfies MakeRequired; +export const TimePickerResourceStringsIT = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/IT/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/IT/tree-resources.ts index e30be799f4c..82d0f1fb754 100644 --- a/projects/igniteui-angular-i18n/src/i18n/IT/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/IT/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsIT as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Italian resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsIT = { - igx_expand: 'Espandi', - igx_collapse: 'Comprimi' -} satisfies MakeRequired; +export const TreeResourceStringsIT = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/action-strip-resources.ts index 73f842e3f72..8e12dd047dc 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsJA as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsJA = { - igx_action_strip_button_more_title: 'その他' -} satisfies MakeRequired; +export const ActionStripResourceStringsJA = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/banner-resources.ts index 39b161093b0..22d9ddc8ad0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsJA as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsJA = { - igx_banner_button_dismiss: '閉じる' -} satisfies MakeRequired; +export const BannerResourceStringsJA = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/calendar-resources.ts index fa19b12d63b..f2944a3463d 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsJA as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsJA = { - igx_calendar_previous_month: '前月', - igx_calendar_next_month: '翌月', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: '月の選択', - igx_calendar_select_year: '年の選択', - igx_calendar_range_start: '範囲開始', - igx_calendar_range_end: '範囲終了', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: '選択した月: ', - igx_calendar_first_picker_of: '{0} の最初のピッカーの開始: ', - igx_calendar_multi_selection: '{0} 日付ピッカーの複数選択カレンダー', - igx_calendar_range_selection: '{0} 日付ピッカーの範囲選択カレンダー', - igx_calendar_single_selection: '{0} 日付ピッカーのカレンダー', - igx_calendar_singular_multi_selection: '複数選択カレンダー', - igx_calendar_singular_range_selection: '範囲選択カレンダー', - igx_calendar_singular_single_selection: 'カレンダー' -} satisfies MakeRequired; +export const CalendarResourceStringsJA = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/carousel-resources.ts index 65343d29852..6f7cbb377f7 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsJA as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsJA = { - igx_carousel_of: '/', - igx_carousel_slide: 'スライド', - igx_carousel_previous_slide: '前のスライド', - igx_carousel_next_slide: '次のスライド' -} satisfies MakeRequired; +export const CarouselResourceStringsJA = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/chip-resources.ts index 6178fb97034..209d3845dc9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsJA as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsJA = { - igx_chip_remove: 'チップを削除', - igx_chip_select: 'チップを選択' -} satisfies MakeRequired; +export const ChipResourceStringsJA = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/combo-resources.ts index 9a85705a7df..8c0a9f1e4cb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsJA as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsJA = { - igx_combo_empty_message: 'リストが空です', - igx_combo_filter_search_placeholder: '検索条件の入力', - igx_combo_addCustomValues_placeholder: '項目の追加', - igx_combo_clearItems_placeholder: '選択のクリア', - igx_combo_aria_label_options: '選択されたオプション', - igx_combo_aria_label_no_options: '選択されたオプションはありません' -} satisfies MakeRequired; +export const ComboResourceStringsJA = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/date-picker-resources.ts index 52dd105639c..af182f4162f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsJA as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsJA = { - igx_date_picker_change_date: '日付の変更', - igx_date_picker_choose_date: '日付の選択' -} satisfies MakeRequired; +export const DatePickerResourceStringsJA = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/date-range-picker-resources.ts index 15375c13059..9b6e6964de4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsJA as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsJA = { - igx_date_range_picker_date_separator: '~', - igx_date_range_picker_done_button: '完了', - igx_date_range_picker_cancel_button: 'キャンセル', - igx_date_range_picker_last7Days: '過去7日間', - igx_date_range_picker_currentMonth: '今月', - igx_date_range_picker_last30Days: '過去30日間', - igx_date_range_picker_yearToDate: '年初来', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsJA = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts index f76c4cdfa42..2f1bbce5900 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsJA as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsJA = { - igx_grid_groupByArea_message: '列ヘッダーをここへドラッグして列をグループ化します。', - igx_grid_emptyFilteredGrid_message: 'レコードは見つかりませんでした。', - igx_grid_emptyGrid_message: 'グリッドにデータがありません。', - igx_grid_filter: 'フィルター', - igx_grid_filter_row_close: '閉じる', - igx_grid_filter_row_reset: 'リセット', - igx_grid_filter_row_placeholder: 'フィルター値の追加', - igx_grid_filter_row_boolean_placeholder: 'すべて', - igx_grid_filter_row_date_placeholder: '日付の選択', - igx_grid_filter_row_time_placeholder: 'ピックアップ時間', - igx_grid_filter_operator_and: 'And', - igx_grid_filter_operator_or: 'Or', - igx_grid_complex_filter: '高度なフィルター', - igx_grid_filter_contains: 'を含む', - igx_grid_filter_doesNotContain: '含まない', - igx_grid_filter_startsWith: 'で始まる', - igx_grid_filter_endsWith: 'で終わる', - igx_grid_filter_equals: '等しい', - igx_grid_filter_doesNotEqual: '等しくない', - igx_grid_filter_empty: '空', - igx_grid_filter_notEmpty: '空以外', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Null 以外', - igx_grid_filter_before: '前', - igx_grid_filter_after: '後', - igx_grid_filter_at: '特定の時間', - igx_grid_filter_not_at: '特定の時間以外', - igx_grid_filter_at_before: '以前', - igx_grid_filter_at_after: '以後', - igx_grid_filter_today: '今日', - igx_grid_filter_yesterday: '昨日', - igx_grid_filter_thisMonth: '今月', - igx_grid_filter_lastMonth: '先月', - igx_grid_filter_nextMonth: '翌月', - igx_grid_filter_thisYear: '今年', - igx_grid_filter_lastYear: '昨年', - igx_grid_filter_nextYear: '翌年', - igx_grid_filter_greaterThan: 'より大きい', - igx_grid_filter_lessThan: 'より小さい', - igx_grid_filter_greaterThanOrEqualTo: '以上', - igx_grid_filter_lessThanOrEqualTo: '以下', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'すべて', - igx_grid_filter_condition_placeholder: 'フィルターの選択', - igx_grid_filter_in: '~に含まれる', - igx_grid_filter_notIn: '~に含まれない', - igx_grid_summary_count: 'カウント', - igx_grid_summary_min: '最小', - igx_grid_summary_max: '最大', - igx_grid_summary_sum: '合計', - igx_grid_summary_average: '平均', - igx_grid_summary_earliest: '最も早い日', - igx_grid_summary_latest: '最も遅い日', - igx_grid_excel_filter_moving_left: '左へ移動', - igx_grid_excel_filter_moving_left_short: '左', - igx_grid_excel_filter_moving_right: '右へ移動', - igx_grid_excel_filter_moving_right_short: '右', - igx_grid_excel_filter_moving_header: '移動', - igx_grid_excel_filter_sorting_asc: '昇順', - igx_grid_excel_filter_sorting_asc_short: '昇', - igx_grid_excel_filter_sorting_desc: '降順', - igx_grid_excel_filter_sorting_desc_short: '降', - igx_grid_excel_filter_sorting_header: '並べ替え', - igx_grid_excel_filter_clear: '列フィルターのクリア', - igx_grid_excel_custom_dialog_add: 'フィルターの追加', - igx_grid_excel_custom_dialog_clear: 'フィルターのクリア', - igx_grid_excel_custom_dialog_header: '列のカスタム自動フィルター: ', - igx_grid_excel_cancel: 'キャンセル', - igx_grid_excel_apply: '適用', - igx_grid_excel_search_placeholder: '検索', - igx_grid_excel_select_all: 'すべて選択', - igx_grid_excel_select_all_search_results: 'すべての検索結果を選択', - igx_grid_excel_add_to_filter: '現在の選択をフィルターに追加', - igx_grid_excel_blanks: '(空)', - igx_grid_excel_hide: '列の非表示', - igx_grid_excel_show: '列の表示', - igx_grid_excel_pin: '列のピン固定', - igx_grid_excel_unpin: '列のピン固定解除', - igx_grid_excel_select: '列の選択', - igx_grid_excel_deselect: '列選択の解除', - igx_grid_excel_text_filter: 'テキスト フィルター', - igx_grid_excel_number_filter: '数値フィルター', - igx_grid_excel_date_filter: '日付フィルター', - igx_grid_excel_boolean_filter: 'ブール値フィルター', - igx_grid_excel_currency_filter: '通貨フィルター', - igx_grid_excel_custom_filter: 'カスタム フィルター...', - igx_grid_excel_no_matches: '一致がありませんでした', - igx_grid_excel_matches_count: '{0} 件の一致', - igx_grid_advanced_filter_title: '高度なフィルター', - igx_grid_advanced_filter_from_label: '開始', - igx_grid_advanced_filter_and_group: '"And" グループ', - igx_grid_advanced_filter_or_group: '"Or" グループ', - igx_grid_advanced_filter_end_group: 'End グループ', - igx_grid_advanced_filter_create_and_group: '"And" グループの作成', - igx_grid_advanced_filter_create_or_group: '"Or" グループの作成', - igx_grid_advanced_filter_and_label: 'and', - igx_grid_advanced_filter_or_label: 'or', - igx_grid_advanced_filter_switch_group: '開始:', - igx_grid_advanced_filter_add_condition: '条件の追加', - igx_grid_advanced_filter_add_group: 'グループの追加', - igx_grid_advanced_filter_add_condition_root: '条件', - igx_grid_advanced_filter_add_group_root: 'グループ', - igx_grid_advanced_filter_ungroup: 'グループ解除', - igx_grid_advanced_filter_delete: '削除', - igx_grid_advanced_filter_delete_filters: 'フィルターの削除', - igx_grid_advanced_filter_initial_text: '"And" あるいは "Or" にリンクされた条件のグループの作成から始めます。', - igx_grid_advanced_filter_column_placeholder: '列の選択', - igx_grid_advanced_filter_value_placeholder: '値', - igx_grid_advanced_filter_query_value_placeholder: 'サブクエリの結果', - igx_grid_advanced_filter_select_entity: 'エンティティの選択', - igx_grid_advanced_filter_select_return_field_single: '返却フィールドの選択', - igx_grid_advanced_filter_dialog_title: '確認', - igx_grid_advanced_filter_dialog_message: 'エンティティを変更すると、現在の設定は失われます。続行しますか?', - igx_grid_advanced_filter_dialog_checkbox_text: '今後このダイアログを表示しない', - igx_grid_advanced_filter_drop_ghost_text: '挿入するにはここにドロップします', - igx_grid_pinned_row_indicator: '固定済み', - igx_grid_hiding_check_all_label: 'すべて表示', - igx_grid_hiding_uncheck_all_label: 'すべて非表示', - igx_grid_pinning_check_all_label: 'すべて固定', - igx_grid_pinning_uncheck_all_label: 'すべて固定解除', - igx_grid_row_edit_btn_done: '完了', - igx_grid_row_edit_btn_cancel: 'キャンセル', - igx_grid_row_edit_text: 'この行には {0} 個の変更があり、{1} 個の非表示の列があります', - igx_grid_toolbar_actions_filter_prompt: '列リストのフィルター', - igx_grid_toolbar_pinning_button_tooltip: '列ピン固定のドロップダウンを開く', - igx_grid_toolbar_hiding_button_tooltip: '列非表示のドロップダウンを開く', - igx_grid_toolbar_pinning_title: 'ピン固定列', - igx_grid_toolbar_hiding_title: '表示列', - igx_grid_toolbar_advanced_filtering_button_tooltip: '高度なフィルタリング ダイアログを開く', - igx_grid_toolbar_advanced_filtering_button_label: '高度なフィルタリング', - igx_grid_toolbar_exporter_button_tooltip: 'エクスポーターのドロップダウンを開く', - igx_grid_toolbar_exporter_button_label: 'エクスポート', - igx_grid_toolbar_exporter_excel_entry_text: 'Excel へエクスポート', - igx_grid_toolbar_exporter_csv_entry_text: 'CSV へのエクスポート', - igx_grid_groupByArea_select_message: 'フィールド名 {0}、値 {1} のグループ内のすべての行を選択します。', - igx_grid_groupByArea_deselect_message: 'フィールド名 {0}、値 {1} のグループ内のすべての行を選択解除します。', - igx_grid_snackbar_addrow_label: '行が追加されました', - igx_grid_snackbar_addrow_actiontext: '表示', - igx_grid_actions_edit_label: '編集', - igx_grid_actions_add_label: '追加', - igx_grid_add_row_label: '行の追加', - igx_grid_actions_add_child_label: '子の追加', - igx_grid_actions_delete_label: '削除', - igx_grid_actions_pin_label: '固定', - igx_grid_actions_unpin_label: '固定解除', - igx_grid_actions_jumpUp_label: '上へ移動', - igx_grid_actions_jumpDown_label: '下へ移動', - igx_grid_pivot_date_dimension_total: 'すべての期間', - igx_grid_pivot_aggregate_count: 'カウント', - igx_grid_pivot_aggregate_min: '最小値', - igx_grid_pivot_aggregate_max: '最大値', - igx_grid_pivot_aggregate_sum: '合計', - igx_grid_pivot_aggregate_avg: '平均', - igx_grid_pivot_aggregate_date_latest: '最新の日付', - igx_grid_pivot_aggregate_date_earliest: '最も早い日付', - igx_grid_pivot_aggregate_time_latest: '最新の時刻', - igx_grid_pivot_aggregate_time_earliest: '最も早い時刻', - igx_grid_pivot_empty_row_drop_area: '行フィールドをここにドロップします。', - igx_grid_pivot_empty_column_drop_area: '列フィールドをここにドロップします。', - igx_grid_pivot_empty_filter_drop_area: 'フィルター フィールドをここにドロップします。', - igx_grid_pivot_empty_value_drop_area: '値フィールドをここにドロップします。', - igx_grid_pivot_row_drop_chip: 'ここにドロップして行として使用', - igx_grid_pivot_column_drop_chip: 'ここにドロップして列として使用', - igx_grid_pivot_filter_drop_chip: 'ここにドロップしてフィルターとして使用', - igx_grid_pivot_value_drop_chip: 'ここにドロップして値として使用', - igx_grid_pivot_selector_filters: 'フィルター', - igx_grid_pivot_selector_rows: '行', - igx_grid_pivot_selector_columns: '列', - igx_grid_pivot_selector_values: '値', - igx_grid_pivot_selector_panel_empty: 'ここに項目をドラッグして', - igx_grid_pivot_empty_message: 'ピボット グリッドにはディメンションと値がありません。', - igx_grid_required_validation_error: 'このフィールドは必須フィールドです。', - igx_grid_min_validation_error: "{0} 以上の値を入力してください", - igx_grid_max_validation_error: "{0} 以下の値を入力してください", - igx_grid_min_length_validation_error: '入力の長さは少なくとも {0} 文字である必要があります', - igx_grid_max_length_validation_error: '入力の長さは {0} 文字以下である必要があります', - igx_grid_email_validation_error: '有効なメール アドレスを入力してください', - igx_grid_pattern_validation_error: '入力が所定のパターンに一致しません' -} satisfies MakeRequired; +export const GridResourceStringsJA = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/input-resources.ts index 90099dd9494..7f20e77e351 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsJA as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsJA = { - igx_input_upload_button: 'ファイルのアップロード', - igx_input_file_placeholder: 'ファイルが指定されていません' -} satisfies MakeRequired; +export const InputResourceStringsJA = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/list-resources.ts index 336c1d0d979..f7a55f9b997 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsJA as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsJA = { - igx_list_no_items: 'リストに項目がありません。', - igx_list_loading: 'サーバーからデータを読み込んでいます。' -} satisfies MakeRequired; +export const ListResourceStringsJA = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/paginator-resources.ts index e6c3b152b3e..e80c3231cc3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsJA as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsJA = { - igx_paginator_label: 'ページごとの項目', - igx_paginator_pager_text: '/', - igx_paginator_first_page_button_text: '最初のページに移動', - igx_paginator_previous_page_button_text: '前のページ', - igx_paginator_last_page_button_text: '最後のページに移動', - igx_paginator_next_page_button_text: '次のページ' -} satisfies MakeRequired; +export const PaginatorResourceStringsJA = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/query-builder-resources.ts index 89b29821a01..033a9996532 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsJA as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Japanese resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsJA = { - igx_query_builder_date_placeholder: '日付の選択', - igx_query_builder_time_placeholder: 'ピックアップ時間', - igx_query_builder_datetime_placeholder: '日付と時間の選択', - igx_query_builder_filter_operator_and: 'And', - igx_query_builder_filter_operator_or: 'Or', - igx_query_builder_filter_contains: 'を含む', - igx_query_builder_filter_doesNotContain: '含まない', - igx_query_builder_filter_startsWith: 'で始まる', - igx_query_builder_filter_endsWith: 'で終わる', - igx_query_builder_filter_equals: '等しい', - igx_query_builder_filter_doesNotEqual: '等しくない', - igx_query_builder_filter_empty: '空', - igx_query_builder_filter_notEmpty: '空以外', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Null 以外', - igx_query_builder_filter_in: '~に含まれる', - igx_query_builder_filter_notIn: '~に含まれない', - igx_query_builder_filter_before: '前', - igx_query_builder_filter_after: '後', - igx_query_builder_filter_at: '特定の時間', - igx_query_builder_filter_not_at: '特定の時間以外', - igx_query_builder_filter_at_before: '以前', - igx_query_builder_filter_at_after: '以後', - igx_query_builder_filter_today: '今日', - igx_query_builder_filter_yesterday: '昨日', - igx_query_builder_filter_thisMonth: '今月', - igx_query_builder_filter_lastMonth: '先月', - igx_query_builder_filter_nextMonth: '翌月', - igx_query_builder_filter_thisYear: '今年', - igx_query_builder_filter_lastYear: '昨年', - igx_query_builder_filter_nextYear: '翌年', - igx_query_builder_filter_greaterThan: 'より大きい', - igx_query_builder_filter_lessThan: 'より小さい', - igx_query_builder_filter_greaterThanOrEqualTo: '以上', - igx_query_builder_filter_lessThanOrEqualTo: '以下', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'すべて', - igx_query_builder_from_label: 'から', - igx_query_builder_select_label: '選択', - igx_query_builder_where_label: '条件', - igx_query_builder_and_group: '"And" グループ', - igx_query_builder_or_group: '"Or" グループ', - igx_query_builder_end_group: 'End グループ', - igx_query_builder_and_label: 'and', - igx_query_builder_or_label: 'or', - igx_query_builder_switch_group: '{0} に切り替える', - igx_query_builder_add_condition: '条件の作成', - igx_query_builder_add_group: 'グループの作成', - igx_query_builder_add_condition_root: '条件', - igx_query_builder_add_group_root: 'グループ', - igx_query_builder_ungroup: 'グループ解除', - igx_query_builder_delete: '削除', - igx_query_builder_delete_filters: 'フィルターの削除', - igx_query_builder_initial_text: '"And" あるいは "Or" にリンクされた条件のグループの作成から始めます。', - igx_query_builder_column_placeholder: '列の選択', - igx_query_builder_condition_placeholder: 'フィルターの選択', - igx_query_builder_value_placeholder: '値', - igx_query_builder_query_value_placeholder: 'サブクエリの結果', - igx_query_builder_all_fields: 'すべてのフィールド', - igx_query_builder_details: '詳細', - igx_query_builder_search: '検索', - igx_query_builder_select_all: 'すべて選択', - igx_query_builder_select_entity: 'エンティティの選択', - igx_query_builder_select_return_field_single: '返却フィールドの選択', - igx_query_builder_select_return_fields: '返却フィールドの選択', - igx_query_builder_dialog_title: '確認', - igx_query_builder_dialog_message: 'エンティティを変更すると、現在の設定は失われます。続行しますか?', - igx_query_builder_dialog_checkbox_text: '今後このダイアログを表示しない', - igx_query_builder_dialog_cancel: 'キャンセル', - igx_query_builder_dialog_confirm: '確認', - igx_query_builder_drop_ghost_text: 'ここにドロップして挿入' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsJA = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/resources.ts index fffb4121519..2ac843728a1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsJA } from './action-strip-resources'; /** * Japanese resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsJA = { ...GridResourceStringsJA, diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/time-picker-resources.ts index 7131509a7ef..2a744f2da0f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsJA as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsJA = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'キャンセル', - igx_time_picker_change_time: '時間の変更', - igx_time_picker_choose_time: '時間の選択' -} satisfies MakeRequired; +export const TimePickerResourceStringsJA = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/JA/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/JA/tree-resources.ts index 1547d90bce2..ffc15cd55bd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/JA/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/JA/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsJA as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Japanese resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsJA = { - igx_expand: '展開', - igx_collapse: '縮小' -} satisfies MakeRequired; +export const TreeResourceStringsJA = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/action-strip-resources.ts index 8a80529281b..63f08eb8262 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsKO as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsKO = { - igx_action_strip_button_more_title: '더 보기' -} satisfies MakeRequired; +export const ActionStripResourceStringsKO = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/banner-resources.ts index f001afb7b67..506f1cf6e55 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsKO as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsKO = { - igx_banner_button_dismiss: '해제' -} satisfies MakeRequired; +export const BannerResourceStringsKO = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/calendar-resources.ts index 9da5aaea61c..8a23a39e198 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsKO as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsKO = { - igx_calendar_previous_month: '이전 달', - igx_calendar_next_month: '다음 달', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: '월 선택', - igx_calendar_select_year: '연도 선택', - igx_calendar_range_start: '범위 시작', - igx_calendar_range_end: '범위 끝', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: '선택한 달은 ', - igx_calendar_first_picker_of: '{0} 의 첫 번째 선택기는 다음에서 시작', - igx_calendar_multi_selection: '{0} 날짜 선택기가있는 다중 선택 달력', - igx_calendar_range_selection: '{0} 날짜 선택기가있는 범위 선택 달력', - igx_calendar_single_selection: '{0} 날짜 선택기가있는 달력', - igx_calendar_singular_multi_selection: '다중 선택 달력', - igx_calendar_singular_range_selection: '범위 선택 달력', - igx_calendar_singular_single_selection: '달력' -} satisfies MakeRequired; +export const CalendarResourceStringsKO = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/carousel-resources.ts index bb8e840b52b..ca784e86dd9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsKO as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsKO = { - igx_carousel_of: '의', - igx_carousel_slide: '슬라이드', - igx_carousel_previous_slide: '이전 슬라이드', - igx_carousel_next_slide: '다음 슬라이드' -} satisfies MakeRequired; +export const CarouselResourceStringsKO = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/chip-resources.ts index ff18c0bb340..d9a3f4dded6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsKO as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsKO = { - igx_chip_remove: '칩 제거', - igx_chip_select: '칩 선택' -} satisfies MakeRequired; +export const ChipResourceStringsKO = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/combo-resources.ts index 77ff1c15c1f..f2d0d323583 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsKO as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsKO = { - igx_combo_empty_message: '목록이 비어 있음', - igx_combo_filter_search_placeholder: '검색어 입력', - igx_combo_addCustomValues_placeholder: '항목 추가', - igx_combo_clearItems_placeholder: '선택 지우기', - igx_combo_aria_label_options: '선택된 옵션', - igx_combo_aria_label_no_options: '선택된 옵션 없음' -} satisfies MakeRequired; +export const ComboResourceStringsKO = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/date-picker-resources.ts index 3ba7fa2224d..aaba4094000 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsKO as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsKO = { - igx_date_picker_change_date: '날짜 변경', - igx_date_picker_choose_date: '날짜 선택' -} satisfies MakeRequired; +export const DatePickerResourceStringsKO = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/date-range-picker-resources.ts index 25076d94c2d..829d6eae410 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsKO as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsKO = { - igx_date_range_picker_date_separator: '에', - igx_date_range_picker_done_button: '완료', - igx_date_range_picker_cancel_button: '취소', - igx_date_range_picker_last7Days: '지난 7일', - igx_date_range_picker_currentMonth: '이번 달', - igx_date_range_picker_last30Days: '지난 30일', - igx_date_range_picker_yearToDate: '올해 초부터 현재까지', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsKO = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts index def5a4a457f..cee45837674 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsKO as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsKO = { - igx_grid_groupByArea_message: '열 머리글을 끌어서 여기에 놓아 해당 열을 기준으로 그룹화합니다.', - igx_grid_emptyFilteredGrid_message: '기록이 없습니다.', - igx_grid_emptyGrid_message: '그리드에 데이터가 없습니다.', - igx_grid_filter: '필터', - igx_grid_filter_row_close: '닫기', - igx_grid_filter_row_reset: '재설정', - igx_grid_filter_row_placeholder: '필터 값 추가', - igx_grid_filter_row_boolean_placeholder: '모두', - igx_grid_filter_row_date_placeholder: '픽업 날짜', - igx_grid_filter_row_time_placeholder: '인도 시간', - igx_grid_filter_operator_and: '그리고', - igx_grid_filter_operator_or: '또는', - igx_grid_complex_filter: '복잡한 필터', - igx_grid_filter_contains: '포함', - igx_grid_filter_doesNotContain: '포함하지 않습니다', - igx_grid_filter_startsWith: '시작', - igx_grid_filter_endsWith: '마지막', - igx_grid_filter_equals: '같음', - igx_grid_filter_doesNotEqual: '같지 않습니다', - igx_grid_filter_empty: '비우기', - igx_grid_filter_notEmpty: '비우지 않음', - igx_grid_filter_null: '널', - igx_grid_filter_notNull: '널이 아님', - igx_grid_filter_before: '전에', - igx_grid_filter_after: '후에', - igx_grid_filter_at: '지정한 값과 같음', - igx_grid_filter_not_at: '지정한 값과 다름', - igx_grid_filter_at_before: '지정한 값 이전', - igx_grid_filter_at_after: '지정한 값 이후', - igx_grid_filter_today: '오늘', - igx_grid_filter_yesterday: '어제', - igx_grid_filter_thisMonth: '이번 달', - igx_grid_filter_lastMonth: '지난 달', - igx_grid_filter_nextMonth: '다음 달', - igx_grid_filter_thisYear: '올해', - igx_grid_filter_lastYear: '지난 해', - igx_grid_filter_nextYear: '다음 해', - igx_grid_filter_greaterThan: '보다 큼', - igx_grid_filter_lessThan: '보다 작음', - igx_grid_filter_greaterThanOrEqualTo: '보다 크거나 같음', - igx_grid_filter_lessThanOrEqualTo: '작거나 같음', - igx_grid_filter_true: '참', - igx_grid_filter_false: '거짓', - igx_grid_filter_all: '모두', - igx_grid_filter_condition_placeholder: '필터 선택', - igx_grid_filter_in: '포함', - igx_grid_filter_notIn: '포함 안 함', - igx_grid_summary_count: '셈', - igx_grid_summary_min: '최소', - igx_grid_summary_max: '최대', - igx_grid_summary_sum: '합', - igx_grid_summary_average: '평균', - igx_grid_summary_earliest: '가장 빠른', - igx_grid_summary_latest: '최신', - igx_grid_excel_filter_moving_left: '왼쪽으로 이동', - igx_grid_excel_filter_moving_left_short: '왼쪽', - igx_grid_excel_filter_moving_right: '오른쪽으로 이동', - igx_grid_excel_filter_moving_right_short: '오른쪽', - igx_grid_excel_filter_moving_header: '이동', - igx_grid_excel_filter_sorting_asc: '오름차순', - igx_grid_excel_filter_sorting_asc_short: '오름차순', - igx_grid_excel_filter_sorting_desc: '내림차순', - igx_grid_excel_filter_sorting_desc_short: '내림차순', - igx_grid_excel_filter_sorting_header: '정렬', - igx_grid_excel_filter_clear: '열 필터 지우기', - igx_grid_excel_custom_dialog_add: '필터 추가', - igx_grid_excel_custom_dialog_clear: '필터 지우기', - igx_grid_excel_custom_dialog_header: '열의 사용자 자동 필터: ', - igx_grid_excel_cancel: '취소', - igx_grid_excel_apply: '적용', - igx_grid_excel_search_placeholder: '검색', - igx_grid_excel_select_all: '모두 선택', - igx_grid_excel_select_all_search_results: '모든 검색 결과를 선택하십시오', - igx_grid_excel_add_to_filter: '필터에 현재 선택 추가', - igx_grid_excel_blanks: '(빈칸)', - igx_grid_excel_hide: '열 숨기기', - igx_grid_excel_show: '열 표시', - igx_grid_excel_pin: '열 고정', - igx_grid_excel_unpin: '열 고정 해제', - igx_grid_excel_select: '열 선택', - igx_grid_excel_deselect: '열 선택 취소', - igx_grid_excel_text_filter: '텍스트 필터', - igx_grid_excel_number_filter: '숫자 필터', - igx_grid_excel_date_filter: '날짜 필터', - igx_grid_excel_boolean_filter: '불린 필터', - igx_grid_excel_currency_filter: '통화 필터', - igx_grid_excel_custom_filter: '사용자 필터...', - igx_grid_excel_no_matches: '일치하는 항목 없음', - igx_grid_excel_matches_count: '일치하는 항목 {0} 개', - igx_grid_advanced_filter_title: '고급 필터링', - igx_grid_advanced_filter_from_label: '부터', - igx_grid_advanced_filter_and_group: '그룹 "그리고"', - igx_grid_advanced_filter_or_group: '그룹 "또는"', - igx_grid_advanced_filter_end_group: '그룹 종료', - igx_grid_advanced_filter_create_and_group: '그룹 "그리고" 생성', - igx_grid_advanced_filter_create_or_group: '그룹 "또는" 생성', - igx_grid_advanced_filter_and_label: '그리고', - igx_grid_advanced_filter_or_label: '또는', - igx_grid_advanced_filter_switch_group: '{0} 으로 전환', - igx_grid_advanced_filter_add_condition: '조건 추가', - igx_grid_advanced_filter_add_group: '그룹 추가', - igx_grid_advanced_filter_add_condition_root: '조건', - igx_grid_advanced_filter_add_group_root: '그룹', - igx_grid_advanced_filter_ungroup: '그룹 해제', - igx_grid_advanced_filter_delete: '삭제', - igx_grid_advanced_filter_delete_filters: '필터 삭제', - igx_grid_advanced_filter_initial_text: '"그리고" 또는 "또는" 과 연결된 조건 그룹을 생성하는 것으로 시작', - igx_grid_advanced_filter_column_placeholder: '열 선택', - igx_grid_advanced_filter_value_placeholder: '값', - igx_grid_advanced_filter_query_value_placeholder: '하위 쿼리 결과', - igx_grid_advanced_filter_select_entity: '엔터티 선택', - igx_grid_advanced_filter_select_return_field_single: '반환 필드 선택', - igx_grid_advanced_filter_dialog_title: '확인', - igx_grid_advanced_filter_dialog_message: '엔터티를 변경하면 현재 설정이 손실됩니다. 계속하시겠습니까?', - igx_grid_advanced_filter_dialog_checkbox_text: '이 대화 상자를 다시 표시하지 않기', - igx_grid_advanced_filter_drop_ghost_text: '삽입하려면 여기에 드롭', - igx_grid_pinned_row_indicator: '고정', - igx_grid_hiding_check_all_label: '모두 표시', - igx_grid_hiding_uncheck_all_label: '모두 숨기기', - igx_grid_pinning_check_all_label: '모두 고정', - igx_grid_pinning_uncheck_all_label: '모두 고정 해제', - igx_grid_row_edit_btn_done: '완료', - igx_grid_row_edit_btn_cancel: '취소', - igx_grid_row_edit_text: '이 행에는 {0}개의 변경 사항과 {1}개의 숨겨진 열이 있습니다.', - igx_grid_toolbar_actions_filter_prompt: '필터 열 목록 ...', - igx_grid_toolbar_pinning_button_tooltip: '열 고정 드롭 다운 열기', - igx_grid_toolbar_hiding_button_tooltip: '열 숨기기 드롭 다운 열기', - igx_grid_toolbar_pinning_title: '고정된 열', - igx_grid_toolbar_hiding_title: '보이는 열', - igx_grid_toolbar_advanced_filtering_button_tooltip: '고급 필터링 대화 상자 열기', - igx_grid_toolbar_advanced_filtering_button_label: '고급 필터링', - igx_grid_toolbar_exporter_button_tooltip: '내보내기 내보내기 드롭 다운', - igx_grid_toolbar_exporter_button_label: '내보내기', - igx_grid_toolbar_exporter_excel_entry_text: 'Excel 로 내보내기', - igx_grid_toolbar_exporter_csv_entry_text: 'CSV 로 내보내기', - igx_grid_groupByArea_select_message: '필드 이름이 {0} 이고 값이 {1} 인 그룹의 모든 행을 선택하십시오.', - igx_grid_groupByArea_deselect_message: '필드 이름이 {0} 이고 값이 {1} 인 그룹의 모든 행을 선택 취소합니다.', - igx_grid_snackbar_addrow_label: '추가된 열', - igx_grid_snackbar_addrow_actiontext: '표시', - igx_grid_actions_edit_label: '편집', - igx_grid_actions_add_label: '추가', - igx_grid_add_row_label: '행 추가', - igx_grid_actions_add_child_label: '하위 추가', - igx_grid_actions_delete_label: '삭제', - igx_grid_actions_pin_label: '고정', - igx_grid_actions_unpin_label: '고정 해제', - igx_grid_actions_jumpUp_label: '위로 이동', - igx_grid_actions_jumpDown_label: '아래로 이동', - igx_grid_pivot_date_dimension_total: '모든 기간', - igx_grid_pivot_aggregate_count: '총계', - igx_grid_pivot_aggregate_min: '최소', - igx_grid_pivot_aggregate_max: '최고', - igx_grid_pivot_aggregate_sum: '합계', - igx_grid_pivot_aggregate_avg: '평균', - igx_grid_pivot_aggregate_date_latest: '최신 날짜', - igx_grid_pivot_aggregate_date_earliest: '가장 빠른 날짜', - igx_grid_pivot_aggregate_time_latest: '최근 시간', - igx_grid_pivot_aggregate_time_earliest: '가장 이른 시간', - igx_grid_pivot_empty_row_drop_area: '여기에 행 필드를 드롭.', - igx_grid_pivot_empty_column_drop_area: '여기에 열 필드를 드롭.', - igx_grid_pivot_empty_filter_drop_area: '여기에 필터 필드를 드롭.', - igx_grid_pivot_empty_value_drop_area: '여기에 값 필드를 드롭.', - igx_grid_pivot_row_drop_chip: '행으로 사용하려면 여기에 드롭', - igx_grid_pivot_column_drop_chip: '열로 사용하려면 여기에 드롭', - igx_grid_pivot_filter_drop_chip: '필터로 사용하려면 여기에 드롭', - igx_grid_pivot_value_drop_chip: '값으로 사용하려면 여기에 드롭', - igx_grid_pivot_selector_filters: '필터', - igx_grid_pivot_selector_rows: '행', - igx_grid_pivot_selector_columns: '열', - igx_grid_pivot_selector_values: '값', - igx_grid_pivot_selector_panel_empty: '항목을 여기로 끌어', - igx_grid_pivot_empty_message: '피벗 그리드에는 차원과 값이 없습니다.', - igx_grid_required_validation_error: '이 필드는 필수입니다', - igx_grid_min_validation_error: '최소 {0} 의 값을 입력해야합니다', - igx_grid_max_validation_error: '{0} 이하의 값을 입력해야합니다', - igx_grid_min_length_validation_error: '항목은 {0} 자 이상이어야합니다', - igx_grid_max_length_validation_error: '항목은 {0} 자 이상이어야합니다', - igx_grid_email_validation_error: '유효한 이메일 주소를 입력해야합니다', - igx_grid_pattern_validation_error: '항목이 필요한 패턴과 일치하지 않습니다' -} satisfies MakeRequired; +export const GridResourceStringsKO = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/input-resources.ts index b11c6e9de1e..74807ff6a15 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsKO as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsKO = { - igx_input_upload_button: '파일 업로드', - igx_input_file_placeholder: '파일이 선택되지 않음' -} satisfies MakeRequired; +export const InputResourceStringsKO = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/list-resources.ts index 6b7dd14bef1..0cb5cb11359 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsKO as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsKO = { - igx_list_no_items: '목록에 항목이 없습니다.', - igx_list_loading: '서버에서 데이터를로드하는 중...' -} satisfies MakeRequired; +export const ListResourceStringsKO = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/paginator-resources.ts index d488e79570d..6d16db90dce 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsKO as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsKO = { - igx_paginator_label: '페이지 당 항목', - igx_paginator_pager_text: '의', - igx_paginator_first_page_button_text: '첫 페이지로 이동', - igx_paginator_previous_page_button_text: '이전 페이지', - igx_paginator_last_page_button_text: '마지막 페이지로 이동', - igx_paginator_next_page_button_text: '다음 페이지' -} satisfies MakeRequired; +export const PaginatorResourceStringsKO = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/query-builder-resources.ts index fe2e383f9bc..ac4dd070fac 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsKO as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Korean resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsKO = { - igx_query_builder_date_placeholder: '픽업 날짜', - igx_query_builder_time_placeholder: '인도 시간', - igx_query_builder_datetime_placeholder: '날짜 및 시간 선택', - igx_query_builder_filter_operator_and: '그리고', - igx_query_builder_filter_operator_or: '또는', - igx_query_builder_filter_contains: '포함', - igx_query_builder_filter_doesNotContain: '포함하지 않습니다', - igx_query_builder_filter_startsWith: '시작', - igx_query_builder_filter_endsWith: '마지막', - igx_query_builder_filter_equals: '같음', - igx_query_builder_filter_doesNotEqual: '같지 않습니다', - igx_query_builder_filter_empty: '비우기', - igx_query_builder_filter_notEmpty: '비우지 않음', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Null 아님', - igx_query_builder_filter_in: '포함', - igx_query_builder_filter_notIn: '포함 안 함', - igx_query_builder_filter_before: '전에', - igx_query_builder_filter_after: '후에', - igx_query_builder_filter_at: '해당', - igx_query_builder_filter_not_at: '해당 아님', - igx_query_builder_filter_at_before: '해당 또는 이전', - igx_query_builder_filter_at_after: '해당 또는 이후', - igx_query_builder_filter_today: '오늘', - igx_query_builder_filter_yesterday: '어제', - igx_query_builder_filter_thisMonth: '이번 달', - igx_query_builder_filter_lastMonth: '지난 달', - igx_query_builder_filter_nextMonth: '다음 달', - igx_query_builder_filter_thisYear: '올해', - igx_query_builder_filter_lastYear: '지난 해', - igx_query_builder_filter_nextYear: '다음 해', - igx_query_builder_filter_greaterThan: '보다 큼', - igx_query_builder_filter_lessThan: '보다 작음', - igx_query_builder_filter_greaterThanOrEqualTo: '보다 크거나 같음', - igx_query_builder_filter_lessThanOrEqualTo: '작거나 같음', - igx_query_builder_filter_true: '참', - igx_query_builder_filter_false: '거짓', - igx_query_builder_filter_all: '모두', - igx_query_builder_from_label: '부터', - igx_query_builder_select_label: '선택', - igx_query_builder_where_label: '선택', - igx_query_builder_and_group: '그룹 "그리고"', - igx_query_builder_or_group: '그룹 "또는"', - igx_query_builder_end_group: '그룹 종료', - igx_query_builder_and_label: '그리고', - igx_query_builder_or_label: '또는', - igx_query_builder_switch_group: '{0} 으로 전환', - igx_query_builder_add_condition: '생성 조건', - igx_query_builder_add_group: '그룹 생성', - igx_query_builder_add_condition_root: '조건', - igx_query_builder_add_group_root: '그룹', - igx_query_builder_ungroup: '그룹 해제', - igx_query_builder_delete: '삭제', - igx_query_builder_delete_filters: '필터 삭제', - igx_query_builder_initial_text: '"그리고" 또는 "또는" 과 연결된 조건 그룹을 생성하는 것으로 시작', - igx_query_builder_column_placeholder: '열 선택', - igx_query_builder_condition_placeholder: '필터 선택', - igx_query_builder_value_placeholder: '값', - igx_query_builder_query_value_placeholder: '하위 쿼리 결과', - igx_query_builder_all_fields: '모든 분야', - igx_query_builder_details: '세부', - igx_query_builder_search: '검색', - igx_query_builder_select_all: '모두 선택', - igx_query_builder_select_entity: '엔터티 선택', - igx_query_builder_select_return_field_single: '반환 필드를 선택', - igx_query_builder_select_return_fields: '반환 필드 선택', - igx_query_builder_dialog_title: '반환 필드 선택', - igx_query_builder_dialog_message: '엔터티를 변경하면 현재 설정이 손실됩니다. 계속하시겠습니까?', - igx_query_builder_dialog_checkbox_text: '이 대화 상자를 다시 표시하지 않기', - igx_query_builder_dialog_cancel: '취소', - igx_query_builder_dialog_confirm: '확인', - igx_query_builder_drop_ghost_text: '삽입하려면 여기에 드롭' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsKO = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/resources.ts index 991f5a1bd08..fbf73bdc817 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/resources.ts @@ -16,6 +16,9 @@ import { QueryBuilderResourceStringsKO } from './query-builder-resources'; /** * Korean resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsKO = { ...GridResourceStringsKO, diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/time-picker-resources.ts index 4d05476804b..6a5e2807faa 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsKO as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsKO = { - igx_time_picker_ok: '확인', - igx_time_picker_cancel: '취소', - igx_time_picker_change_time: '시간 변경', - igx_time_picker_choose_time: '시간 선택' -} satisfies MakeRequired; +export const TimePickerResourceStringsKO = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/KO/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/KO/tree-resources.ts index f2ec360d73d..2afe6402e50 100644 --- a/projects/igniteui-angular-i18n/src/i18n/KO/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/KO/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsKO as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Korean resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsKO = { - igx_expand: '확장', - igx_collapse: '축소' -} satisfies MakeRequired; +export const TreeResourceStringsKO = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/action-strip-resources.ts index ef0c59282ff..a6eb1655d7b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsNB as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsNB = { - igx_action_strip_button_more_title: 'Mer' -} satisfies MakeRequired; +export const ActionStripResourceStringsNB = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/banner-resources.ts index ff345b05d65..4dde145158b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsNB as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsNB = { - igx_banner_button_dismiss: 'Lukk' -} satisfies MakeRequired; +export const BannerResourceStringsNB = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/calendar-resources.ts index 0c0e21ed23d..1a6f00f3531 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsNB as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsNB = { - igx_calendar_previous_month: 'Forrige måned', - igx_calendar_next_month: 'Neste måned', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Velg måned', - igx_calendar_select_year: 'Velg år', - igx_calendar_range_start: 'Rekkevidde start', - igx_calendar_range_end: 'Rekkevidde slutt', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Valgt måned er ', - igx_calendar_first_picker_of: 'Den første plukkeren på {0} starter fra', - igx_calendar_multi_selection: 'Flervalgskalender med {0} datovelgere', - igx_calendar_range_selection: 'Områdevalgskalender med {0} datovelgere', - igx_calendar_single_selection: 'Kalender med {0} datovelgere', - igx_calendar_singular_multi_selection: 'Kalender med flere valg', - igx_calendar_singular_range_selection: 'Områdevalgskalender', - igx_calendar_singular_single_selection: 'Kalender' -} satisfies MakeRequired; +export const CalendarResourceStringsNB = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/carousel-resources.ts index 76f92239267..5b1b2f21e23 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsNB as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsNB = { - igx_carousel_of: 'av', - igx_carousel_slide: 'lysbilde', - igx_carousel_previous_slide: 'forrige lysbilde', - igx_carousel_next_slide: 'neste lysbilde' -} satisfies MakeRequired; +export const CarouselResourceStringsNB = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/chip-resources.ts index 1fdf412b7bb..00c248eb886 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsNB as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsNB = { - igx_chip_remove: 'Fjern brikke', - igx_chip_select: 'Velg brikke' -} satisfies MakeRequired; +export const ChipResourceStringsNB = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/combo-resources.ts index 685413faeec..3ff33c35d5a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsNB as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsNB = { - igx_combo_empty_message: 'Listen er tom', - igx_combo_filter_search_placeholder: 'Skriv inn søkeord', - igx_combo_addCustomValues_placeholder: 'Legg til element', - igx_combo_clearItems_placeholder: 'Fjern valg', - igx_combo_aria_label_options: 'Valgte alternativer', - igx_combo_aria_label_no_options: 'Ingen valgte alternativer' -} satisfies MakeRequired; +export const ComboResourceStringsNB = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/date-picker-resources.ts index 972d0b6fb1e..490f5b09bcb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsNB as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsNB = { - igx_date_picker_change_date: 'Endre dato', - igx_date_picker_choose_date: 'Velg dato' -} satisfies MakeRequired; +export const DatePickerResourceStringsNB = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/date-range-picker-resources.ts index 793022218ef..fb7f4b365c4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsNB as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsNB = { - igx_date_range_picker_date_separator: 'til', - igx_date_range_picker_done_button: 'Ferdig', - igx_date_range_picker_cancel_button: 'Avbryt', - igx_date_range_picker_last7Days: 'Siste 7 dager', - igx_date_range_picker_currentMonth: 'Denne måneden', - igx_date_range_picker_last30Days: 'Siste 30 dager', - igx_date_range_picker_yearToDate: 'Året til dato', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsNB = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts index c9b8d7f38f0..c06bed358c0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsNB as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsNB = { - igx_grid_groupByArea_message: 'Dra en kolonneoverskrift og slipp den her for å gruppere etter den kolonnen.', - igx_grid_groupByArea_select_message: 'Velg alle radene i gruppen med feltnavn {0} og verdi {1}.', - igx_grid_groupByArea_deselect_message: 'Opphev valg av alle radene i gruppen med feltnavn {0} og verdi {1}.', - igx_grid_emptyFilteredGrid_message: 'Ingen opptak funnet.', - igx_grid_emptyGrid_message: 'Rutenettet har ingen data.', - igx_grid_filter: 'Filter', - igx_grid_filter_row_close: 'Lukk', - igx_grid_filter_row_reset: 'Nullstille', - igx_grid_filter_row_placeholder: 'Legg til filterverdi', - igx_grid_filter_row_boolean_placeholder: 'Alle', - igx_grid_filter_row_date_placeholder: 'Hentedato', - igx_grid_filter_row_time_placeholder: 'Hentetid', - igx_grid_filter_operator_and: 'Og', - igx_grid_filter_operator_or: 'Eller', - igx_grid_complex_filter: 'Kompleks filter', - igx_grid_filter_contains: 'Inneholder', - igx_grid_filter_doesNotContain: 'Inneholder ikke', - igx_grid_filter_startsWith: 'Begynner med', - igx_grid_filter_endsWith: 'Slutter med', - igx_grid_filter_equals: 'Er lik', - igx_grid_filter_doesNotEqual: 'Er ikke lik', - igx_grid_filter_empty: 'Tømme', - igx_grid_filter_notEmpty: 'Ikke tom', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Ikke null', - igx_grid_filter_before: 'Før', - igx_grid_filter_after: 'Etter', - igx_grid_filter_at: 'På', - igx_grid_filter_not_at: 'Ikke på', - igx_grid_filter_at_before: 'Kl. eller før', - igx_grid_filter_at_after: 'Kl. eller etter', - igx_grid_filter_today: 'I dag', - igx_grid_filter_yesterday: 'I går', - igx_grid_filter_thisMonth: 'Denne måneden', - igx_grid_filter_lastMonth: 'Forrige måned', - igx_grid_filter_nextMonth: 'Neste måned', - igx_grid_filter_thisYear: 'I år', - igx_grid_filter_lastYear: 'I fjor', - igx_grid_filter_nextYear: 'Neste år', - igx_grid_filter_greaterThan: 'Større enn', - igx_grid_filter_lessThan: 'Mindre enn', - igx_grid_filter_greaterThanOrEqualTo: 'Større enn eller lik', - igx_grid_filter_lessThanOrEqualTo: 'Mindre enn eller lik', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Alle', - igx_grid_filter_condition_placeholder: 'Velg filter', - igx_grid_filter_in: 'I', - igx_grid_filter_notIn: 'Ikke i', - igx_grid_summary_count: 'Telle', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Maks', - igx_grid_summary_sum: 'Sum', - igx_grid_summary_average: 'Gj.sn', - igx_grid_summary_earliest: 'Tidligst', - igx_grid_summary_latest: 'Siste', - igx_grid_excel_filter_moving_left: 'gå til venstre', - igx_grid_excel_filter_moving_left_short: 'venstre', - igx_grid_excel_filter_moving_right: 'Flytt til høyre', - igx_grid_excel_filter_moving_right_short: 'Ikke sant', - igx_grid_excel_filter_moving_header: 'bevege seg', - igx_grid_excel_filter_sorting_asc: 'stigende', - igx_grid_excel_filter_sorting_asc_short: 'stige', - igx_grid_excel_filter_sorting_desc: 'synkende', - igx_grid_excel_filter_sorting_desc_short: 'synk', - igx_grid_excel_filter_sorting_header: 'sortere', - igx_grid_excel_filter_clear: 'Fjern kolonnefiltre', - igx_grid_excel_custom_dialog_add: 'legg til filter', - igx_grid_excel_custom_dialog_clear: 'Tøm filteret', - igx_grid_excel_custom_dialog_header: 'Egendefinert automatisk filtrering i kolonnen: ', - igx_grid_excel_cancel: 'avbryt', - igx_grid_excel_apply: 'søke om', - igx_grid_excel_search_placeholder: 'Søk', - igx_grid_excel_select_all: 'Velg alle', - igx_grid_excel_select_all_search_results: 'Velg alle søkeresultatene', - igx_grid_excel_add_to_filter: 'Legg til gjeldende valg for å filtrere', - igx_grid_excel_blanks: '(Tomme)', - igx_grid_excel_hide: 'Skjul kolonne', - igx_grid_excel_show: 'Vis kolonne', - igx_grid_excel_pin: 'Fest kolonne', - igx_grid_excel_unpin: 'Løsne kolonnen', - igx_grid_excel_select: 'Velg kolonne', - igx_grid_excel_deselect: 'Opphev valg av kolonne', - igx_grid_excel_text_filter: 'Tekstfilter', - igx_grid_excel_number_filter: 'Nummerfilter', - igx_grid_excel_date_filter: 'Datofilter', - igx_grid_excel_boolean_filter: 'Boolsk filter', - igx_grid_excel_currency_filter: 'Valutafilter', - igx_grid_excel_custom_filter: 'Tilpasset filter...', - igx_grid_excel_no_matches: 'Ingen treff', - igx_grid_excel_matches_count: '{0} treff', - igx_grid_advanced_filter_title: 'Avansert filtrering', - igx_grid_advanced_filter_from_label: 'Fra', - igx_grid_advanced_filter_and_group: '"Og"-gruppe', - igx_grid_advanced_filter_or_group: '"Eller"-gruppe', - igx_grid_advanced_filter_end_group: 'Sluttgruppe', - igx_grid_advanced_filter_create_and_group: 'Opprett "Og"-gruppe', - igx_grid_advanced_filter_create_or_group: 'Opprett "Eller"-gruppe', - igx_grid_advanced_filter_and_label: 'og', - igx_grid_advanced_filter_or_label: 'eller', - igx_grid_advanced_filter_switch_group: 'Gruppe', - igx_grid_advanced_filter_add_condition: 'Legg til betingelse', - igx_grid_advanced_filter_add_group: 'Legg til gruppe', - igx_grid_advanced_filter_add_condition_root: 'Betingelse', - igx_grid_advanced_filter_add_group_root: 'Gruppe', - igx_grid_advanced_filter_ungroup: 'Opphev gruppering', - igx_grid_advanced_filter_delete: 'Slett', - igx_grid_advanced_filter_delete_filters: 'Slett filtre', - igx_grid_advanced_filter_initial_text: 'Start med å opprette en gruppe forhold knyttet til "Og" eller "Eller"', - igx_grid_advanced_filter_column_placeholder: 'Velg kolonne', - igx_grid_advanced_filter_value_placeholder: 'Verdi', - igx_grid_advanced_filter_query_value_placeholder: 'Delspørringsresultater', - igx_grid_advanced_filter_select_entity: 'Velg enhet', - igx_grid_advanced_filter_select_return_field_single: 'Velg enhet', - igx_grid_advanced_filter_dialog_title: 'Bekreftelse', - igx_grid_advanced_filter_dialog_message: 'Ved å endre enheten vil du miste de nåværende innstillingene dine. Er du sikker på at du vil fortsette?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Ikke vis denne dialogboksen igjen', - igx_grid_advanced_filter_drop_ghost_text: 'Slipp her for å sette inn', - igx_grid_pinned_row_indicator: 'Festet', - igx_grid_hiding_check_all_label: 'Gjem alle', - igx_grid_hiding_uncheck_all_label: 'Vis alt', - igx_grid_pinning_check_all_label: 'Fest alle', - igx_grid_pinning_uncheck_all_label: 'Løsne alle', - igx_grid_row_edit_btn_done: 'Ferdig', - igx_grid_row_edit_btn_cancel: 'Avbryt', - igx_grid_row_edit_text: 'Du har {0} endringer i denne raden og {1} skjulte kolonner', - igx_grid_toolbar_actions_filter_prompt: 'Filtrer kolonneliste...', - igx_grid_toolbar_pinning_button_tooltip: 'Åpne rullegardinmenyen for kolonnefester', - igx_grid_toolbar_hiding_button_tooltip: 'Åpne kolonne som skjuler rullegardinmenyen', - igx_grid_toolbar_pinning_title: 'Festede kolonner', - igx_grid_toolbar_hiding_title: 'Synlige kolonner', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Åpne avansert filtreringsdialogboks', - igx_grid_toolbar_advanced_filtering_button_label: 'Avansert filtrering', - igx_grid_toolbar_exporter_button_tooltip: 'Åpne rullegardinmenyen for eksportør', - igx_grid_toolbar_exporter_button_label: 'Eksporter', - igx_grid_toolbar_exporter_excel_entry_text: 'Eksporter til Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Eksporter til CSV', - igx_grid_snackbar_addrow_label: 'Rad lagt til', - igx_grid_snackbar_addrow_actiontext: 'FORESTILLING', - igx_grid_actions_edit_label: 'Redigere', - igx_grid_actions_add_label: 'Legge til', - igx_grid_add_row_label: 'LEGG TIL RAD', - igx_grid_actions_add_child_label: 'Legg til barn', - igx_grid_actions_delete_label: 'Slett', - igx_grid_actions_pin_label: 'Fest', - igx_grid_actions_unpin_label: 'Løsne', - igx_grid_actions_jumpUp_label: 'Hoppe opp', - igx_grid_actions_jumpDown_label: 'Hopp ned', - igx_grid_pivot_date_dimension_total: 'Alle perioder', - igx_grid_pivot_aggregate_count: 'Tall', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maksimum', - igx_grid_pivot_aggregate_sum: 'Sum', - igx_grid_pivot_aggregate_avg: 'Gjennomsnitt', - igx_grid_pivot_aggregate_date_latest: 'Siste dato', - igx_grid_pivot_aggregate_date_earliest: 'Tidligste dato', - igx_grid_pivot_aggregate_time_latest: 'Siste tid', - igx_grid_pivot_aggregate_time_earliest: 'Tidligste tid', - igx_grid_pivot_empty_row_drop_area: 'Slipp radfelt her.', - igx_grid_pivot_empty_column_drop_area: 'Slipp kolonnefelt her.', - igx_grid_pivot_empty_filter_drop_area: 'Slipp filterfelt her.', - igx_grid_pivot_empty_value_drop_area: 'Slipp verdifelt her.', - igx_grid_pivot_row_drop_chip: 'Slipp her for å bruke som rad', - igx_grid_pivot_column_drop_chip: 'Slipp her for å bruke som kolonne', - igx_grid_pivot_filter_drop_chip: 'Slipp her for å bruke som filter', - igx_grid_pivot_value_drop_chip: 'Slipp her for å bruke som verdi', - igx_grid_pivot_selector_filters: 'Filtre', - igx_grid_pivot_selector_rows: 'Rader', - igx_grid_pivot_selector_columns: 'Kolonner', - igx_grid_pivot_selector_values: 'Verdier', - igx_grid_pivot_selector_panel_empty: 'Dra elementer hit', - igx_grid_pivot_empty_message: 'Pivotrutenett har ingen dimensjoner og verdier.', - igx_grid_required_validation_error: 'Dette feltet er obligatorisk', - igx_grid_min_validation_error: 'Du må angi en verdi på minst {0}', - igx_grid_max_validation_error: 'Du må angi en verdi som ikke er mer enn {0}', - igx_grid_min_length_validation_error: 'Oppføringen skal være minst {0} tegn(er) lang', - igx_grid_max_length_validation_error: 'Oppføringen må ikke være mer enn {0} tegn(er) lang', - igx_grid_email_validation_error: 'Du må angi en gyldig e-postadresse', - igx_grid_pattern_validation_error: 'Oppføringen samsvarer ikke med det nødvendige mønsteret' -} satisfies MakeRequired; +export const GridResourceStringsNB = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/input-resources.ts index 34cf144da59..1aca12dd265 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsNB as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsNB = { - igx_input_upload_button: 'Last opp fil', - igx_input_file_placeholder: 'Det er ikke valgt noen fil' -} satisfies MakeRequired; +export const InputResourceStringsNB = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/list-resources.ts index d7da51fcd87..472164082d4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsNB as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsNB = { - igx_list_no_items: 'Det er ingen elementer på listen.', - igx_list_loading: 'Laster inn data fra serveren...' -} satisfies MakeRequired; +export const ListResourceStringsNB = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/paginator-resources.ts index 80ae2b745ca..54d4854683e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsNB as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsNB = { - igx_paginator_label: 'Elementer per side', - igx_paginator_pager_text: 'av', - igx_paginator_first_page_button_text: 'Gå til første side', - igx_paginator_previous_page_button_text: 'Forrige side', - igx_paginator_last_page_button_text: 'Gå til siste side', - igx_paginator_next_page_button_text: 'Neste side' -} satisfies MakeRequired; +export const PaginatorResourceStringsNB = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/query-builder-resources.ts index e2ec1225dfb..48bb0dea165 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsNB as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Norwegian resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsNB = { - igx_query_builder_date_placeholder: 'Hentedato', - igx_query_builder_time_placeholder: 'Hentetid', - igx_query_builder_datetime_placeholder: 'Velg dato og tid', - igx_query_builder_filter_operator_and: 'Og', - igx_query_builder_filter_operator_or: 'Eller', - igx_query_builder_filter_contains: 'Inneholder', - igx_query_builder_filter_doesNotContain: 'Inneholder ikke', - igx_query_builder_filter_startsWith: 'Begynner med', - igx_query_builder_filter_endsWith: 'Slutter med', - igx_query_builder_filter_equals: 'Er lik', - igx_query_builder_filter_doesNotEqual: 'Er ikke lik', - igx_query_builder_filter_empty: 'Tømme', - igx_query_builder_filter_notEmpty: 'Ikke tom', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Ikke null', - igx_query_builder_filter_in: 'I', - igx_query_builder_filter_notIn: 'Ikke i', - igx_query_builder_filter_before: 'Før', - igx_query_builder_filter_after: 'Etter', - igx_query_builder_filter_at: 'På', - igx_query_builder_filter_not_at: 'Ikke på', - igx_query_builder_filter_at_before: 'Kl. eller før', - igx_query_builder_filter_at_after: 'Kl. eller etter', - igx_query_builder_filter_today: 'I dag', - igx_query_builder_filter_yesterday: 'I går', - igx_query_builder_filter_thisMonth: 'Denne måneden', - igx_query_builder_filter_lastMonth: 'Forrige måned', - igx_query_builder_filter_nextMonth: 'Neste måned', - igx_query_builder_filter_thisYear: 'I år', - igx_query_builder_filter_lastYear: 'I fjor', - igx_query_builder_filter_nextYear: 'Neste år', - igx_query_builder_filter_greaterThan: 'Større enn', - igx_query_builder_filter_lessThan: 'Mindre enn', - igx_query_builder_filter_greaterThanOrEqualTo: 'Større enn eller lik', - igx_query_builder_filter_lessThanOrEqualTo: 'Mindre enn eller lik', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Alle', - igx_query_builder_from_label: 'Fra', - igx_query_builder_select_label: 'Velg', - igx_query_builder_where_label: 'Hvor', - igx_query_builder_and_group: '"Og"-gruppe', - igx_query_builder_or_group: '"Eller"-gruppe', - igx_query_builder_end_group: 'Sluttgruppe', - igx_query_builder_and_label: 'og', - igx_query_builder_or_label: 'eller', - igx_query_builder_switch_group: 'Bytt til {0}', - igx_query_builder_add_condition: 'Opprett betingelse', - igx_query_builder_add_group: 'Opprett gruppe', - igx_query_builder_add_condition_root: 'Betingelse', - igx_query_builder_add_group_root: 'Gruppe', - igx_query_builder_ungroup: 'Opphev gruppering', - igx_query_builder_delete: 'Slett', - igx_query_builder_delete_filters: 'Slett filtre', - igx_query_builder_initial_text: 'Start med å opprette en gruppe forhold knyttet til "Og" eller "Eller"', - igx_query_builder_column_placeholder: 'Velg kolonne', - igx_query_builder_condition_placeholder: 'Velg filter', - igx_query_builder_value_placeholder: 'Verdi', - igx_query_builder_query_value_placeholder: 'Delspørringsresultater', - igx_query_builder_all_fields: 'Alle felt', - igx_query_builder_details: 'Detaljer', - igx_query_builder_search: 'Søk', - igx_query_builder_select_all: 'Velg alle', - igx_query_builder_select_entity: 'Velg enhet', - igx_query_builder_select_return_field_single: 'Velg returfelt', - igx_query_builder_select_return_fields: 'Velg returfelter', - igx_query_builder_dialog_title: 'Bekreftelse', - igx_query_builder_dialog_message: 'Ved å endre enheten vil du miste de nåværende innstillingene dine. Er du sikker på at du vil fortsette?', - igx_query_builder_dialog_checkbox_text: 'Ikke vis denne dialogboksen igjen', - igx_query_builder_dialog_cancel: 'Avbryt', - igx_query_builder_dialog_confirm: 'Bekreft', - igx_query_builder_drop_ghost_text: 'Slipp her for å sette inn' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsNB = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/resources.ts index ba030e13e85..7ba4ed09204 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsNB } from './action-strip-resources'; /** * Norwegian resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsNB = { ...GridResourceStringsNB, diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/time-picker-resources.ts index fd5ea2bb2ec..619762fd55d 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsNB as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsNB = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Avbryt', - igx_time_picker_change_time: 'Endre tid', - igx_time_picker_choose_time: 'Velg tid' -} satisfies MakeRequired; +export const TimePickerResourceStringsNB = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NB/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NB/tree-resources.ts index 8f3f2e0591b..a9e8d95cf56 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NB/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NB/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsNB as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Norwegian resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsNB = { - igx_expand: 'Vis', - igx_collapse: 'Skjul' -} satisfies MakeRequired; +export const TreeResourceStringsNB = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/action-strip-resources.ts index 842f170a5b2..1cbb3f70574 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsNL as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsNL = { - igx_action_strip_button_more_title: 'Meer' -} satisfies MakeRequired; +export const ActionStripResourceStringsNL = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/banner-resources.ts index a95350eb091..3455b14a714 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsNL as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsNL = { - igx_banner_button_dismiss: 'Sluiten' -} satisfies MakeRequired; +export const BannerResourceStringsNL = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/calendar-resources.ts index b934e7a47c5..b73a6203e8b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsNL as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsNL = { - igx_calendar_previous_month: 'Vorige maand', - igx_calendar_next_month: 'Volgende maand', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Selecteer maand', - igx_calendar_select_year: 'Selecteer jaar', - igx_calendar_range_start: 'Begin van bereik', - igx_calendar_range_end: 'Einde van bereik', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Geselecteerde maand is ', - igx_calendar_first_picker_of: 'De eerste kiezer van {0} begint vanaf', - igx_calendar_multi_selection: 'Multi-selectiekalender met {0} datumkiezers', - igx_calendar_range_selection: 'Bereikkalender met {0} datumkiezers', - igx_calendar_single_selection: 'Kalender met {0} datumkiezers', - igx_calendar_singular_multi_selection: 'Multi-selectie kalender', - igx_calendar_singular_range_selection: 'Bereikselectie kalender', - igx_calendar_singular_single_selection: 'Kalender' -} satisfies MakeRequired; +export const CalendarResourceStringsNL = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/carousel-resources.ts index b220e3f6a32..7dab2176bbb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsNL as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsNL = { - igx_carousel_of: 'van', - igx_carousel_slide: 'dia', - igx_carousel_previous_slide: 'vorige dia', - igx_carousel_next_slide: 'volgende dia' -} satisfies MakeRequired; +export const CarouselResourceStringsNL = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/chip-resources.ts index b3b09380939..e355e251194 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsNL as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsNL = { - igx_chip_remove: 'Chip verwijderen', - igx_chip_select: 'Selecteren chip' -} satisfies MakeRequired; +export const ChipResourceStringsNL = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/combo-resources.ts index 9d147b71e07..9d5a07a8882 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsNL as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsNL = { - igx_combo_empty_message: 'De lijst is leeg', - igx_combo_filter_search_placeholder: 'Typ een zoekterm', - igx_combo_addCustomValues_placeholder: 'Item toevoegen', - igx_combo_clearItems_placeholder: 'Selectie wissen', - igx_combo_aria_label_options: 'Geselecteerde opties', - igx_combo_aria_label_no_options: 'Geen geselecteerde opties' -} satisfies MakeRequired; +export const ComboResourceStringsNL = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/date-picker-resources.ts index 6abf79d82af..c663e71ad3e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsNL as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsNL = { - igx_date_picker_change_date: 'Datum wijzigen', - igx_date_picker_choose_date: 'Datum kiezen' -} satisfies MakeRequired; +export const DatePickerResourceStringsNL = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/date-range-picker-resources.ts index 43d66ebc4ff..456fde1563c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsNL as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsNL = { - igx_date_range_picker_date_separator: 'tot', - igx_date_range_picker_done_button: 'Gereed', - igx_date_range_picker_cancel_button: 'Annuleren', - igx_date_range_picker_last7Days: 'Laatste 7 dagen', - igx_date_range_picker_currentMonth: 'Huidige maand', - igx_date_range_picker_last30Days: 'Laatste 30 dagen', - igx_date_range_picker_yearToDate: 'Jaar tot datum', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsNL = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts index 130cea29c99..cb10a543306 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsNL as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsNL = { - igx_grid_groupByArea_message: 'Sleep een kolomkop en zet deze hier neer om op die kolom te groeperen.', - igx_grid_groupByArea_select_message: 'Selecteer alle rijen in de groep met veldnaam {0} en waarde {1}.', - igx_grid_groupByArea_deselect_message: 'Deselecteer alle rijen in de groep met veldnaam {0} en waarde {1}.', - igx_grid_emptyFilteredGrid_message: 'Geen records gevonden.', - igx_grid_emptyGrid_message: 'Raster bevat geen gegevens.', - igx_grid_filter: 'Filteren', - igx_grid_filter_row_close: 'Sluiten', - igx_grid_filter_row_reset: 'Resetten', - igx_grid_filter_row_placeholder: 'Filterwaarde toevoegen', - igx_grid_filter_row_boolean_placeholder: 'Alle', - igx_grid_filter_row_date_placeholder: 'Ophaaldatum', - igx_grid_filter_row_time_placeholder: 'Ophaaltijd', - igx_grid_filter_operator_and: 'En', - igx_grid_filter_operator_or: 'Of', - igx_grid_complex_filter: 'Complex filter', - igx_grid_filter_contains: 'Bevat', - igx_grid_filter_doesNotContain: 'Bevat niet', - igx_grid_filter_startsWith: 'Begint met', - igx_grid_filter_endsWith: 'Eindigt op', - igx_grid_filter_equals: 'Is gelijk aan', - igx_grid_filter_doesNotEqual: 'Is niet gelijk', - igx_grid_filter_empty: 'Leeg', - igx_grid_filter_notEmpty: 'Niet leeg', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Niet null', - igx_grid_filter_before: 'Voor', - igx_grid_filter_after: 'Na', - igx_grid_filter_at: 'Op', - igx_grid_filter_not_at: 'Niet op', - igx_grid_filter_at_before: 'Op of voor', - igx_grid_filter_at_after: 'Op of na', - igx_grid_filter_today: 'Vandaag', - igx_grid_filter_yesterday: 'Gisteren', - igx_grid_filter_thisMonth: 'Deze maand', - igx_grid_filter_lastMonth: 'Vorige maand', - igx_grid_filter_nextMonth: 'Volgende maand', - igx_grid_filter_thisYear: 'Dit jaar', - igx_grid_filter_lastYear: 'Vorig jaar', - igx_grid_filter_nextYear: 'Volgend jaar', - igx_grid_filter_greaterThan: 'Groter dan', - igx_grid_filter_lessThan: 'Kleiner dan', - igx_grid_filter_greaterThanOrEqualTo: 'Groter dan of gelijk aan', - igx_grid_filter_lessThanOrEqualTo: 'Kleiner dan of gelijk aan', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Alles', - igx_grid_filter_condition_placeholder: 'Selecteer filter', - igx_grid_filter_in: 'In', - igx_grid_filter_notIn: 'Niet In', - igx_grid_summary_count: 'Aantal', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Som', - igx_grid_summary_average: 'Gem', - igx_grid_summary_earliest: 'Vroegste', - igx_grid_summary_latest: 'Nieuwste', - igx_grid_excel_filter_moving_left: 'naar links verplaatsen', - igx_grid_excel_filter_moving_left_short: 'links', - igx_grid_excel_filter_moving_right: 'naar rechts verplaatsen', - igx_grid_excel_filter_moving_right_short: 'juist', - igx_grid_excel_filter_moving_header: 'verplaatsen', - igx_grid_excel_filter_sorting_asc: 'oplopend', - igx_grid_excel_filter_sorting_asc_short: 'opl', - igx_grid_excel_filter_sorting_desc: 'aflopend', - igx_grid_excel_filter_sorting_desc_short: 'afl', - igx_grid_excel_filter_sorting_header: 'sorteren', - igx_grid_excel_filter_clear: 'Kolomfilters wissen', - igx_grid_excel_custom_dialog_add: 'filter toevoegen', - igx_grid_excel_custom_dialog_clear: 'Filter wissen', - igx_grid_excel_custom_dialog_header: 'Aangepast automatisch filter op kolom: ', - igx_grid_excel_cancel: 'annuleren', - igx_grid_excel_apply: 'toepassen', - igx_grid_excel_search_placeholder: 'Zoeken', - igx_grid_excel_select_all: 'Alles selecteren', - igx_grid_excel_select_all_search_results: 'Selecteer alle zoekresultaten', - igx_grid_excel_add_to_filter: 'Voeg de huidige selectie toe aan filter', - igx_grid_excel_blanks: '(Lege cellen)', - igx_grid_excel_hide: 'Kolom verbergen', - igx_grid_excel_show: 'Kolom weergeven', - igx_grid_excel_pin: 'Kolom vastmaken', - igx_grid_excel_unpin: 'Kolom losmaken', - igx_grid_excel_select: 'Kolom selecteren', - igx_grid_excel_deselect: 'Kolom deselecteren', - igx_grid_excel_text_filter: 'Tekstfilter', - igx_grid_excel_number_filter: 'Nummerfilter', - igx_grid_excel_date_filter: 'Datumfilter', - igx_grid_excel_boolean_filter: 'Booleaans filter', - igx_grid_excel_currency_filter: 'Valutafilter', - igx_grid_excel_custom_filter: 'Aangepast filter ...', - igx_grid_excel_no_matches: 'Geen overeenkomsten', - igx_grid_excel_matches_count: '{0} overeenkomsten', - igx_grid_advanced_filter_title: 'Geavanceerd filteren', - igx_grid_advanced_filter_from_label: 'Van', - igx_grid_advanced_filter_and_group: 'En-groep', - igx_grid_advanced_filter_or_group: 'Of-groep', - igx_grid_advanced_filter_end_group: 'Groep beëindigen', - igx_grid_advanced_filter_create_and_group: 'En-groep maken', - igx_grid_advanced_filter_create_or_group: 'Of-groep maken', - igx_grid_advanced_filter_and_label: 'en', - igx_grid_advanced_filter_or_label: 'of', - igx_grid_advanced_filter_switch_group: 'Overschakelen naar {0}', - igx_grid_advanced_filter_add_condition: 'Voorwaarde toevoegen', - igx_grid_advanced_filter_add_group: 'Groep toevoegen', - igx_grid_advanced_filter_add_condition_root: 'Voorwaarde', - igx_grid_advanced_filter_add_group_root: 'Groep', - igx_grid_advanced_filter_ungroup: 'Groep opheffen', - igx_grid_advanced_filter_delete: 'Verwijderen', - igx_grid_advanced_filter_delete_filters: 'Filters verwijderen', - igx_grid_advanced_filter_initial_text: 'Begin met het maken van een groep voorwaarden die is gekoppeld aan "En" of "Of"', - igx_grid_advanced_filter_column_placeholder: 'Selecteer kolom', - igx_grid_advanced_filter_value_placeholder: 'Waarde', - igx_grid_advanced_filter_query_value_placeholder: 'Subquery-resultaten', - igx_grid_advanced_filter_select_entity: 'Entiteit selecteren', - igx_grid_advanced_filter_select_return_field_single: 'Retourveld selecteren', - igx_grid_advanced_filter_dialog_title: 'Bevestiging', - igx_grid_advanced_filter_dialog_message: 'Door de entiteit te wijzigen, verliest u uw huidige instellingen. Weet u zeker dat u wilt doorgaan?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Deze dialoog niet meer weergeven', - igx_grid_advanced_filter_drop_ghost_text: 'Zet hier neer om in te voegen', - igx_grid_pinned_row_indicator: 'Vastgemaakt', - igx_grid_hiding_check_all_label: 'Alles weergeven', - igx_grid_hiding_uncheck_all_label: 'Alles verbergen', - igx_grid_pinning_check_all_label: 'Alles vastmaken', - igx_grid_pinning_uncheck_all_label: 'Alles losmaken', - igx_grid_row_edit_btn_done: 'Gereed', - igx_grid_row_edit_btn_cancel: 'Annuleren', - igx_grid_row_edit_text: 'U hebt {0} wijzigingen in deze rij en {1} verborgen kolommen', - igx_grid_toolbar_actions_filter_prompt: 'Lijst met filterkolommen ...', - igx_grid_toolbar_pinning_button_tooltip: 'Vervolgkeuzelijst kolom vastmaken openen', - igx_grid_toolbar_hiding_button_tooltip: 'Vervolgkeuzelijst kolom verbergen openen', - igx_grid_toolbar_pinning_title: 'Vastgemaakte kolommen', - igx_grid_toolbar_hiding_title: 'Zichtbare kolommen', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Dialoogvenster Geavanceerd filteren openen', - igx_grid_toolbar_advanced_filtering_button_label: 'Geavanceerd filteren', - igx_grid_toolbar_exporter_button_tooltip: 'Vervolgkeuzelijst exporteur openen', - igx_grid_toolbar_exporter_button_label: 'Exporteren', - igx_grid_toolbar_exporter_excel_entry_text: 'Exporteren naar Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exporteren naar CSV', - igx_grid_snackbar_addrow_label: 'Rij toegevoegd', - igx_grid_snackbar_addrow_actiontext: 'WEERGEVEN', - igx_grid_actions_edit_label: 'Bewerken', - igx_grid_actions_add_label: 'Toevoegen', - igx_grid_add_row_label: 'RIJ TOEVOEGEN', - igx_grid_actions_add_child_label: 'Onderliggende toevoegen', - igx_grid_actions_delete_label: 'Verwijderen', - igx_grid_actions_pin_label: 'Vastmaken', - igx_grid_actions_unpin_label: 'Losmaken', - igx_grid_actions_jumpUp_label: 'Omhoog springen', - igx_grid_actions_jumpDown_label: 'Omlaag springen', - igx_grid_pivot_date_dimension_total: 'Alle perioden', - igx_grid_pivot_aggregate_count: 'Aantal', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Som', - igx_grid_pivot_aggregate_avg: 'Gemiddeld', - igx_grid_pivot_aggregate_date_latest: 'Laatste datum', - igx_grid_pivot_aggregate_date_earliest: 'Vroegste datum', - igx_grid_pivot_aggregate_time_latest: 'Laatste tijd', - igx_grid_pivot_aggregate_time_earliest: 'Vroegste tijd', - igx_grid_pivot_empty_row_drop_area: 'Rijvelden hier neerzetten.', - igx_grid_pivot_empty_column_drop_area: 'Kolomvelden hier neerzetten.', - igx_grid_pivot_empty_filter_drop_area: 'Filtervelden hier neerzetten.', - igx_grid_pivot_empty_value_drop_area: 'Waardevelden hier neerzetten.', - igx_grid_pivot_row_drop_chip: 'Zet hier neer om als rij te gebruiken', - igx_grid_pivot_column_drop_chip: 'Zet hier neer om als kolom te gebruiken', - igx_grid_pivot_filter_drop_chip: 'Zet hier neer om als filter te gebruiken', - igx_grid_pivot_value_drop_chip: 'Zet hier neer om als waarde te gebruiken', - igx_grid_pivot_selector_filters: 'Filters', - igx_grid_pivot_selector_rows: 'Rijen', - igx_grid_pivot_selector_columns: 'Kolommen', - igx_grid_pivot_selector_values: 'Waarden', - igx_grid_pivot_selector_panel_empty: 'Sleep items hiernaartoe', - igx_grid_pivot_empty_message: 'Draairaster heeft geen dimensies en waarden.', - igx_grid_required_validation_error: 'Dit veld is verplicht', - igx_grid_min_validation_error: 'Er moet een waarde van minimaal {0} worden ingevoerd', - igx_grid_max_validation_error: 'Er moet een waarde van niet meer dan {0} worden ingevoerd', - igx_grid_min_length_validation_error: 'Invoer moet minimaal {0} teken(s) lang zijn', - igx_grid_max_length_validation_error: 'Invoer mag niet meer dan {0} teken(s) lang zijn', - igx_grid_email_validation_error: 'Er moet een geldig e-mailadres worden ingevoerd', - igx_grid_pattern_validation_error: 'Invoer komt niet overeen met het vereiste patroon' -} satisfies MakeRequired; +export const GridResourceStringsNL = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/input-resources.ts index ebda0f0e10f..6af5b747bc9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsNL as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsNL = { - igx_input_upload_button: 'Bestand uploaden', - igx_input_file_placeholder: 'Geen bestand gekozen' -} satisfies MakeRequired; +export const InputResourceStringsNL = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/list-resources.ts index c41104f215f..028c0891de9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsNL as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsNL = { - igx_list_no_items: 'Er zijn geen items in de lijst.', - igx_list_loading: 'Gegevens van de server laden...' -} satisfies MakeRequired; +export const ListResourceStringsNL = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/paginator-resources.ts index 9b3367aa890..ae3286edb4c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsNL as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsNL = { - igx_paginator_label: 'Items per pagina', - igx_paginator_pager_text: 'van', - igx_paginator_first_page_button_text: 'Ga naar de eerste pagina', - igx_paginator_previous_page_button_text: 'Vorige pagina', - igx_paginator_last_page_button_text: 'Ga naar de laatste pagina', - igx_paginator_next_page_button_text: 'Volgende pagina', -} satisfies MakeRequired; +export const PaginatorResourceStringsNL = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/query-builder-resources.ts index 502e95e9396..725ee197dc4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsNL as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Dutch resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsNL = { - igx_query_builder_date_placeholder: 'Ophaaldatum', - igx_query_builder_time_placeholder: 'Ophaaltijd', - igx_query_builder_datetime_placeholder: 'Datum en tijd selecteren', - igx_query_builder_filter_operator_and: 'En', - igx_query_builder_filter_operator_or: 'Of', - igx_query_builder_filter_contains: 'Bevat', - igx_query_builder_filter_doesNotContain: 'Bevat niet', - igx_query_builder_filter_startsWith: 'Begint met', - igx_query_builder_filter_endsWith: 'Eindigt op', - igx_query_builder_filter_equals: 'Is gelijk aan', - igx_query_builder_filter_doesNotEqual: 'Is niet gelijk', - igx_query_builder_filter_empty: 'Leeg', - igx_query_builder_filter_notEmpty: 'Niet leeg', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Niet null', - igx_query_builder_filter_in: 'In', - igx_query_builder_filter_notIn: 'Niet In', - igx_query_builder_filter_before: 'Voor', - igx_query_builder_filter_after: 'Na', - igx_query_builder_filter_at: 'Op', - igx_query_builder_filter_not_at: 'Niet op', - igx_query_builder_filter_at_before: 'Op of voor', - igx_query_builder_filter_at_after: 'Op of na', - igx_query_builder_filter_today: 'Vandaag', - igx_query_builder_filter_yesterday: 'Gisteren', - igx_query_builder_filter_thisMonth: 'Deze maand', - igx_query_builder_filter_lastMonth: 'Vorige maand', - igx_query_builder_filter_nextMonth: 'Volgende maand', - igx_query_builder_filter_thisYear: 'Dit jaar', - igx_query_builder_filter_lastYear: 'Vorig jaar', - igx_query_builder_filter_nextYear: 'Volgend jaar', - igx_query_builder_filter_greaterThan: 'Groter dan', - igx_query_builder_filter_lessThan: 'Kleiner dan', - igx_query_builder_filter_greaterThanOrEqualTo: 'Groter dan of gelijk aan', - igx_query_builder_filter_lessThanOrEqualTo: 'Kleiner dan of gelijk aan', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Alles', - igx_query_builder_from_label: 'Van', - igx_query_builder_select_label: 'Selecteer', - igx_query_builder_where_label: 'Waar', - igx_query_builder_and_group: 'En-groep', - igx_query_builder_or_group: 'Of-groep', - igx_query_builder_end_group: 'Groep beëindigen', - igx_query_builder_and_label: 'en', - igx_query_builder_or_label: 'of', - igx_query_builder_switch_group: 'Overschakelen naar {0}', - igx_query_builder_add_condition: 'Voorwaarde maken', - igx_query_builder_add_group: 'Groep maken', - igx_query_builder_add_condition_root: 'Voorwaarde', - igx_query_builder_add_group_root: 'Groep', - igx_query_builder_ungroup: 'Groep opheffen', - igx_query_builder_delete: 'Verwijderen', - igx_query_builder_delete_filters: 'Filters verwijderen', - igx_query_builder_initial_text: 'Begin met het maken van een groep voorwaarden die is gekoppeld aan "En" of "Of"', - igx_query_builder_column_placeholder: 'Selecteer kolom', - igx_query_builder_condition_placeholder: 'Selecteer filter', - igx_query_builder_value_placeholder: 'Waarde', - igx_query_builder_query_value_placeholder: 'Subquery-resultaten', - igx_query_builder_all_fields: 'Alle velden', - igx_query_builder_details: 'Details', - igx_query_builder_search: 'Zoeken', - igx_query_builder_select_all: 'Alles selecteren', - igx_query_builder_select_entity: 'Entiteit selecteren', - igx_query_builder_select_return_field_single: 'Selecteer retourveld', - igx_query_builder_select_return_fields: 'Retourvelden selecteren', - igx_query_builder_dialog_title: 'Bevestiging', - igx_query_builder_dialog_message: 'Door de entiteit te wijzigen, verliest u uw huidige instellingen. Weet u zeker dat u wilt doorgaan?', - igx_query_builder_dialog_checkbox_text: 'Deze dialoog niet meer weergeven', - igx_query_builder_dialog_cancel: 'Annuleren', - igx_query_builder_dialog_confirm: 'Bevestigen', - igx_query_builder_drop_ghost_text: 'Zet hier neer om in te voegen' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsNL = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/resources.ts index ca23a38911d..f3896f8b517 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsNL } from './action-strip-resources'; /** * Dutch resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsNL = { ...GridResourceStringsNL, diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/time-picker-resources.ts index f13e64448c4..038a85eb7db 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsNL as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsNL = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Annuleren', - igx_time_picker_change_time: 'Tijd wijzigen', - igx_time_picker_choose_time: 'Tijd kiezen' -} satisfies MakeRequired; +export const TimePickerResourceStringsNL = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/NL/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/NL/tree-resources.ts index 147cdce2aef..302a304548f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/NL/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/NL/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsNL as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Dutch resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsNL = { - igx_expand: 'Uitvouwen', - igx_collapse: 'Samenvouwen' -} satisfies MakeRequired; +export const TreeResourceStringsNL = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/action-strip-resources.ts index c1d8a59f01a..696b1601eff 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsPL as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsPL = { - igx_action_strip_button_more_title: 'Więcej' -} satisfies MakeRequired; +export const ActionStripResourceStringsPL = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/banner-resources.ts index d3b97a6896e..308ce5d6850 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsPL as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsPL = { - igx_banner_button_dismiss: 'Odrzuć' -} satisfies MakeRequired; +export const BannerResourceStringsPL = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/calendar-resources.ts index f0eff5d2c42..78429ee26a4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsPL as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsPL = { - igx_calendar_previous_month: 'Poprzedni miesiąc', - igx_calendar_next_month: 'W przyszłym miesiącu', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_month: 'Wybierz miesiąc', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_year: 'Wybierz rok', - igx_calendar_range_start: 'Początek zakresu', - igx_calendar_range_end: 'Koniec zakresu', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Wybrany miesiąc to ', - igx_calendar_first_picker_of: 'Pierwszy wybór {0} zaczyna się od', - igx_calendar_multi_selection: 'Kalendarz wielokrotnego wyboru z {0} selektorami dat', - igx_calendar_range_selection: 'Kalendarz wyboru ciągłego z {0} selektorami dat', - igx_calendar_single_selection: 'Kalendarz z {0} selektorami dat', - igx_calendar_singular_multi_selection: 'Kalendarz wielokrotnego wyboru', - igx_calendar_singular_range_selection: 'Kalendarz wyboru ciągłego', - igx_calendar_singular_single_selection: 'Kalendarz' -} satisfies MakeRequired; +export const CalendarResourceStringsPL = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/carousel-resources.ts index f536d2adba5..e793f7cde88 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsPL as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsPL = { - igx_carousel_of: 'z', - igx_carousel_slide: 'slajd', - igx_carousel_previous_slide: 'poprzedni slajd', - igx_carousel_next_slide: 'następny slajd' -} satisfies MakeRequired; +export const CarouselResourceStringsPL = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/chip-resources.ts index 816bd7a733f..f40e9f65c70 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsPL as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsPL = { - igx_chip_remove: 'Usuń chip', - igx_chip_select: 'Wybierz chip' -} satisfies MakeRequired; +export const ChipResourceStringsPL = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/combo-resources.ts index c9549c22d8f..f2384984789 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsPL as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsPL = { - igx_combo_empty_message: 'Lista jest pusta', - igx_combo_filter_search_placeholder: 'Wprowadź tekst wyszukiwania', - igx_combo_addCustomValues_placeholder: 'Dodaj element', - igx_combo_clearItems_placeholder: 'Wyczyść wybór', - igx_combo_aria_label_options: 'Wybrane opcje', - igx_combo_aria_label_no_options: 'Brak wybranych opcji' -} satisfies MakeRequired; +export const ComboResourceStringsPL = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/date-picker-resources.ts index 9ab0f3464c5..e1d78eae2a4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsPL as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsPL = { - igx_date_picker_change_date: 'Zmień datę', - igx_date_picker_choose_date: 'Wybierz datę' -} satisfies MakeRequired; +export const DatePickerResourceStringsPL = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/date-range-picker-resources.ts index 2f46ac0cb93..e1c90a2eb03 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsPL as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsPL = { - igx_date_range_picker_date_separator: 'do', - igx_date_range_picker_done_button: 'Gotowe', - igx_date_range_picker_cancel_button: 'Anuluj', - igx_date_range_picker_last7Days: 'Ostatnie 7 dni', - igx_date_range_picker_currentMonth: 'Bieżący miesiąc', - igx_date_range_picker_last30Days: 'Ostatnie 30 dni', - igx_date_range_picker_yearToDate: 'Od początku roku', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsPL = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts index c5eb11c021b..c2a2add433b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsPL as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsPL = { - igx_grid_groupByArea_message: 'Przeciągnij nagłówek kolumny i upuść go tutaj, aby grupować według tej kolumny.', - igx_grid_groupByArea_select_message: 'Wybierz wszystkie wiersze w grupie o nazwie pola {0} i wartości {1}.', - igx_grid_groupByArea_deselect_message: 'Odznacz wszystkie wiersze w grupie o nazwie pola {0} i wartości {1}.', - igx_grid_emptyFilteredGrid_message: 'Nie znaleziono rekordów.', - igx_grid_emptyGrid_message: 'W siatce nie ma danych.', - igx_grid_filter: 'Filtr', - igx_grid_filter_row_close: 'Zamknij', - igx_grid_filter_row_reset: 'Resetuj', - igx_grid_filter_row_placeholder: 'Dodaj wartość filtru', - igx_grid_filter_row_boolean_placeholder: 'Wszystko', - igx_grid_filter_row_date_placeholder: 'Data odbioru', - igx_grid_filter_row_time_placeholder: 'Godzina odbioru', - igx_grid_filter_operator_and: 'I', - igx_grid_filter_operator_or: 'Lub', - igx_grid_complex_filter: 'Filtr złożony', - igx_grid_filter_contains: 'Zawiera', - igx_grid_filter_doesNotContain: 'Nie zawiera', - igx_grid_filter_startsWith: 'Rozpoczyna się od', - igx_grid_filter_endsWith: 'Kończy się na', - igx_grid_filter_equals: 'Równa się', - igx_grid_filter_doesNotEqual: 'Nie równa się', - igx_grid_filter_empty: 'Puste', - igx_grid_filter_notEmpty: 'Niepuste', - igx_grid_filter_null: 'Zero', - igx_grid_filter_notNull: 'Niezerowe', - igx_grid_filter_before: 'Przed', - igx_grid_filter_after: 'Po', - igx_grid_filter_at: 'W', - igx_grid_filter_not_at: 'Nie w', - igx_grid_filter_at_before: 'Nie później niż', - igx_grid_filter_at_after: 'Nie wcześniej niż', - igx_grid_filter_today: 'Dzisiaj', - igx_grid_filter_yesterday: 'Wczoraj', - igx_grid_filter_thisMonth: 'W tym miesiącu', - igx_grid_filter_lastMonth: 'W ubiegłym miesiącu', - igx_grid_filter_nextMonth: 'W przyszłym miesiącu', - igx_grid_filter_thisYear: 'W tym roku', - igx_grid_filter_lastYear: 'W ubiegłym roku', - igx_grid_filter_nextYear: 'W przyszłym roku', - igx_grid_filter_greaterThan: 'Większe niż', - igx_grid_filter_lessThan: 'Mniejsze niż', - igx_grid_filter_greaterThanOrEqualTo: 'Większe niż lub równe', - igx_grid_filter_lessThanOrEqualTo: 'Mniejsze niż lub równe', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Wszystko', - igx_grid_filter_condition_placeholder: 'Wybierz filtr', - igx_grid_filter_in: 'W', - igx_grid_filter_notIn: 'Nie w', - igx_grid_summary_count: 'Liczba', - igx_grid_summary_min: 'Min.', - igx_grid_summary_max: 'Maks', - igx_grid_summary_sum: 'Suma', - igx_grid_summary_average: 'Śr.', - igx_grid_summary_earliest: 'Najwcześniej', - igx_grid_summary_latest: 'Najpóźniej', - igx_grid_excel_filter_moving_left: 'przenieś w lewo', - igx_grid_excel_filter_moving_left_short: 'do lewej', - igx_grid_excel_filter_moving_right: 'przenieś w prawo', - igx_grid_excel_filter_moving_right_short: 'do prawej', - igx_grid_excel_filter_moving_header: 'przenieś', - igx_grid_excel_filter_sorting_asc: 'rosnąco', - igx_grid_excel_filter_sorting_asc_short: 'rosn', - igx_grid_excel_filter_sorting_desc: 'malejąco', - igx_grid_excel_filter_sorting_desc_short: 'mal', - igx_grid_excel_filter_sorting_header: 'sortuj', - igx_grid_excel_filter_clear: 'Wyczyść filtry kolumn', - igx_grid_excel_custom_dialog_add: 'dodaj filtr', - igx_grid_excel_custom_dialog_clear: 'Wyczyść filtr', - igx_grid_excel_custom_dialog_header: 'Niestandardowy automatyczny filtr w kolumnie: ', - igx_grid_excel_cancel: 'anuluj', - igx_grid_excel_apply: 'zastosuj', - igx_grid_excel_search_placeholder: 'Szukaj', - igx_grid_excel_select_all: 'Zaznacz wszystko', - igx_grid_excel_select_all_search_results: 'Zaznacz wszystkie wyniki wyszukiwania', - igx_grid_excel_add_to_filter: 'Dodaj bieżące zaznaczenie do filtru', - igx_grid_excel_blanks: '(Puste)', - igx_grid_excel_hide: 'Ukryj kolumnę', - igx_grid_excel_show: 'Pokaż kolumnę', - igx_grid_excel_pin: 'Przypnij kolumnę', - igx_grid_excel_unpin: 'Odepnij kolumnę', - igx_grid_excel_select: 'Zaznacz kolumnę', - igx_grid_excel_deselect: 'Anuluj wybór kolumny', - igx_grid_excel_text_filter: 'Filtr tekstu', - igx_grid_excel_number_filter: 'Filtr liczb', - igx_grid_excel_date_filter: 'Filtr daty', - igx_grid_excel_boolean_filter: 'Filtr logiczny', - igx_grid_excel_currency_filter: 'Filtr walutowy', - igx_grid_excel_custom_filter: 'Filtr niestandardowy...', - igx_grid_excel_no_matches: 'Brak dopasowań', - igx_grid_excel_matches_count: 'Liczba dopasowań: {0}', - igx_grid_advanced_filter_title: 'Zaawansowane filtrowanie', - igx_grid_advanced_filter_from_label: 'Od', - igx_grid_advanced_filter_and_group: '"I" grupuj', - igx_grid_advanced_filter_or_group: '"Lub" grupuj', - igx_grid_advanced_filter_end_group: 'Koniec grupy', - igx_grid_advanced_filter_create_and_group: 'Utwórz "I" grupuj', - igx_grid_advanced_filter_create_or_group: 'Utwórz "Lub" grupuj', - igx_grid_advanced_filter_and_label: 'i', - igx_grid_advanced_filter_or_label: 'lub', - igx_grid_advanced_filter_switch_group: 'Przełącz na {0}', - igx_grid_advanced_filter_add_condition: 'Dodaj warunek', - igx_grid_advanced_filter_add_group: 'Dodaj grupę', - igx_grid_advanced_filter_add_condition_root: 'Warunek', - igx_grid_advanced_filter_add_group_root: 'Grupa', - igx_grid_advanced_filter_ungroup: 'Rozgrupuj', - igx_grid_advanced_filter_delete: 'Usuń', - igx_grid_advanced_filter_delete_filters: 'Usuń filtry', - igx_grid_advanced_filter_initial_text: 'Zacznij od utworzenia grupy warunków połączonych z "I" lub "Lub"', - igx_grid_advanced_filter_column_placeholder: 'Zaznacz kolumnę', - igx_grid_advanced_filter_value_placeholder: 'Wartość', - igx_grid_advanced_filter_query_value_placeholder: 'Wyniki podzapytania', - igx_grid_advanced_filter_select_entity: 'Wybierz encję', - igx_grid_advanced_filter_select_return_field_single: 'Wybierz pole zwrotu', - igx_grid_advanced_filter_dialog_title: 'Potwierdzenie', - igx_grid_advanced_filter_dialog_message: 'Zmieniając encję, stracisz swoje aktualne ustawienia. Czy na pewno chcesz to zrobić?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Nie pokazuj tego okna dialogowego ponownie', - igx_grid_advanced_filter_drop_ghost_text: 'Upuść tutaj, aby wstawić', - igx_grid_pinned_row_indicator: 'Przypięte', - igx_grid_hiding_check_all_label: 'Pokaż wszystko', - igx_grid_hiding_uncheck_all_label: 'Ukryj wszystko', - igx_grid_pinning_check_all_label: 'Przypnij wszystko', - igx_grid_pinning_uncheck_all_label: 'Odepnij wszystko', - igx_grid_row_edit_btn_done: 'Gotowe', - igx_grid_row_edit_btn_cancel: 'Anuluj', - igx_grid_row_edit_text: 'Masz {0} zmian w tym wierszu i {1} ukrytych kolumnach', - igx_grid_toolbar_actions_filter_prompt: 'Filtruj listę kolumn...', - igx_grid_toolbar_pinning_button_tooltip: 'Otwórz menu przypinania kolumn', - igx_grid_toolbar_hiding_button_tooltip: 'Otwórz menu ukrywania kolumn', - igx_grid_toolbar_pinning_title: 'Przypięte kolumny', - igx_grid_toolbar_hiding_title: 'Widoczne kolumny', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Otwórz okno dialogowe zaawansowanego filtrowania', - igx_grid_toolbar_advanced_filtering_button_label: 'Zaawansowane filtrowanie', - igx_grid_toolbar_exporter_button_tooltip: 'Otwórz menu rozwijane eksportera', - igx_grid_toolbar_exporter_button_label: 'Eksportuj', - igx_grid_toolbar_exporter_excel_entry_text: 'Eksportuj do programu Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Eksportuj do pliku CSV', - igx_grid_snackbar_addrow_label: 'Dodano wiersz', - igx_grid_snackbar_addrow_actiontext: 'POKAŻ', - igx_grid_actions_edit_label: 'Edytuj', - igx_grid_actions_add_label: 'Dodaj', - igx_grid_add_row_label: 'DODAJ WIERSZ', - igx_grid_actions_add_child_label: 'Dodaj element podrzędny', - igx_grid_actions_delete_label: 'Usuń', - igx_grid_actions_pin_label: 'Przypnij', - igx_grid_actions_unpin_label: 'Odepnij', - igx_grid_actions_jumpUp_label: 'Skok w górę', - igx_grid_actions_jumpDown_label: 'Skok w dół', - igx_grid_pivot_date_dimension_total: 'Wszystkie okresy', - igx_grid_pivot_aggregate_count: 'Liczba', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maksimum', - igx_grid_pivot_aggregate_sum: 'Suma', - igx_grid_pivot_aggregate_avg: 'Średnia', - igx_grid_pivot_aggregate_date_latest: 'Ostatnia data', - igx_grid_pivot_aggregate_date_earliest: 'Najwcześniejsza data', - igx_grid_pivot_aggregate_time_latest: 'Ostatni czas', - igx_grid_pivot_aggregate_time_earliest: 'Najwcześniejszy czas', - igx_grid_pivot_empty_row_drop_area: 'Upuść pola wierszy tutaj.', - igx_grid_pivot_empty_column_drop_area: 'Upuść pola kolumn tutaj.', - igx_grid_pivot_empty_filter_drop_area: 'Upuść pola filtru tutaj.', - igx_grid_pivot_empty_value_drop_area: 'Upuść pola wartości tutaj.', - igx_grid_pivot_row_drop_chip: 'Upuść tutaj, aby użyć jako wiersza', - igx_grid_pivot_column_drop_chip: 'Upuść tutaj, aby użyć jako kolumny', - igx_grid_pivot_filter_drop_chip: 'Upuść tutaj, aby użyć jako filtra', - igx_grid_pivot_value_drop_chip: 'Upuść tutaj, aby użyć jako wartości', - igx_grid_pivot_selector_filters: 'Filtry', - igx_grid_pivot_selector_rows: 'Wiersze', - igx_grid_pivot_selector_columns: 'Kolumny', - igx_grid_pivot_selector_values: 'Wartości', - igx_grid_pivot_selector_panel_empty: 'Przeciągnij elementy tutaj', - igx_grid_pivot_empty_message: 'Siatka przestawna nie ma wymiarów ani wartości.', - igx_grid_required_validation_error: 'To pole jest wymagane', - igx_grid_min_validation_error: 'Należy wprowadzić wartość równą co najmniej {0}', - igx_grid_max_validation_error: 'Należy wprowadzić wartość nie większą niż {0}', - igx_grid_min_length_validation_error: 'Wpis powinien mieć co najmniej {0} znaków', - igx_grid_max_length_validation_error: 'Długość wpisu nie może przekraczać {0} znaków', - igx_grid_email_validation_error: 'Należy podać prawidłowy adres e-mail', - igx_grid_pattern_validation_error: 'Wpis nie pasuje do wymaganego wzorca' -} satisfies MakeRequired; +export const GridResourceStringsPL = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/input-resources.ts index 5ada8c961fe..b1e6cc9d179 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsPL as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsPL = { - igx_input_upload_button: 'Przekaż plik', - igx_input_file_placeholder: 'Nie wybrano pliku' -} satisfies MakeRequired; +export const InputResourceStringsPL = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/list-resources.ts index c0da3823e6d..9710ce8479a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsPL as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsPL = { - igx_list_no_items: 'Na liście nie ma żadnych elementów.', - igx_list_loading: 'Ładowanie danych z serwera...' -} satisfies MakeRequired; +export const ListResourceStringsPL = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/paginator-resources.ts index 146ca371d5d..a5dd588a01a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsPL as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsPL = { - igx_paginator_label: 'Liczba elementów na stronie', - igx_paginator_pager_text: 'z', - igx_paginator_first_page_button_text: 'Przejdź do pierwszej strony', - igx_paginator_previous_page_button_text: 'Poprzednia strona', - igx_paginator_last_page_button_text: 'Przejdź do ostatniej strony', - igx_paginator_next_page_button_text: 'Następna strona', -} satisfies MakeRequired; +export const PaginatorResourceStringsPL = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/query-builder-resources.ts index f516972b4a0..00ae061b70f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsPL as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Polish resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsPL = { - igx_query_builder_date_placeholder: 'Data odbioru', - igx_query_builder_time_placeholder: 'Godzina odbioru', - igx_query_builder_datetime_placeholder: 'Wybierz datę i godzinę', - igx_query_builder_filter_operator_and: 'I', - igx_query_builder_filter_operator_or: 'Lub', - igx_query_builder_filter_contains: 'Zawiera', - igx_query_builder_filter_doesNotContain: 'Nie zawiera', - igx_query_builder_filter_startsWith: 'Rozpoczyna się od', - igx_query_builder_filter_endsWith: 'Kończy się na', - igx_query_builder_filter_equals: 'Równa się', - igx_query_builder_filter_doesNotEqual: 'Nie równa się', - igx_query_builder_filter_empty: 'Puste', - igx_query_builder_filter_notEmpty: 'Niepuste', - igx_query_builder_filter_null: 'Zero', - igx_query_builder_filter_notNull: 'Niezerowe', - igx_query_builder_filter_in: 'W', - igx_query_builder_filter_notIn: 'Nie w', - igx_query_builder_filter_before: 'Przed', - igx_query_builder_filter_after: 'Po', - igx_query_builder_filter_at: 'W', - igx_query_builder_filter_not_at: 'Nie w', - igx_query_builder_filter_at_before: 'Nie później niż', - igx_query_builder_filter_at_after: 'Nie wcześniej niż', - igx_query_builder_filter_today: 'Dzisiaj', - igx_query_builder_filter_yesterday: 'Wczoraj', - igx_query_builder_filter_thisMonth: 'W tym miesiącu', - igx_query_builder_filter_lastMonth: 'W ubiegłym miesiącu', - igx_query_builder_filter_nextMonth: 'W przyszłym miesiącu', - igx_query_builder_filter_thisYear: 'W tym roku', - igx_query_builder_filter_lastYear: 'W ubiegłym roku', - igx_query_builder_filter_nextYear: 'W przyszłym roku', - igx_query_builder_filter_greaterThan: 'Większe niż', - igx_query_builder_filter_lessThan: 'Mniejsze niż', - igx_query_builder_filter_greaterThanOrEqualTo: 'Większe niż lub równe', - igx_query_builder_filter_lessThanOrEqualTo: 'Mniejsze niż lub równe', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Wszystko', - igx_query_builder_from_label: 'Od', - igx_query_builder_select_label: 'Wybierz', - igx_query_builder_where_label: 'Gdzie', - igx_query_builder_and_group: '"I" grupuj', - igx_query_builder_or_group: '"Lub" grupuj', - igx_query_builder_end_group: 'Koniec grupy', - igx_query_builder_and_label: 'i', - igx_query_builder_or_label: 'lub', - igx_query_builder_switch_group: 'Przełącz na {0}', - igx_query_builder_add_condition: 'Utwórz Warunek', - igx_query_builder_add_group: 'Utwórz grupuj', - igx_query_builder_add_condition_root: 'Warunek', - igx_query_builder_add_group_root: 'Grupuj', - igx_query_builder_ungroup: 'Rozgrupuj', - igx_query_builder_delete: 'Usuń', - igx_query_builder_delete_filters: 'Usuń filtry', - igx_query_builder_initial_text: 'Zacznij od utworzenia grupy warunków połączonych z "I" lub "Lub"', - igx_query_builder_column_placeholder: 'Wybierz kolumnę', - igx_query_builder_condition_placeholder: 'Wybierz filtr', - igx_query_builder_value_placeholder: 'Wartość', - igx_query_builder_query_value_placeholder: 'Wyniki podzapytania', - igx_query_builder_all_fields: 'Wszystkie pola', - igx_query_builder_details: 'Szczegóły', - igx_query_builder_search: 'Szukaj', - igx_query_builder_select_all: 'Wybierz wszystko', - igx_query_builder_select_entity: 'Wybierz encję', - igx_query_builder_select_return_field_single: 'Wybierz pole zwrotne', - igx_query_builder_select_return_fields: 'Wybierz pola zwrotne', - igx_query_builder_dialog_title: 'Potwierdzenie', - igx_query_builder_dialog_message: 'Zmieniając encję, stracisz swoje aktualne ustawienia. Czy na pewno chcesz to zrobić?', - igx_query_builder_dialog_checkbox_text: 'Nie pokazuj tego okna dialogowego ponownie', - igx_query_builder_dialog_cancel: 'Anuluj', - igx_query_builder_dialog_confirm: 'Potwierdź', - igx_query_builder_drop_ghost_text: 'Upuść tutaj, aby wstawić' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsPL = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/resources.ts index 0bf8573d6c1..15b509ef40f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsPL } from './action-strip-resources'; /** * Polish resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsPL = { ...GridResourceStringsPL, diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/time-picker-resources.ts index 23eb7a211db..7985f711a33 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsPL as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsPL = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Anuluj', - igx_time_picker_change_time: 'Zmień czas', - igx_time_picker_choose_time: 'Wybierz czas' -} satisfies MakeRequired; +export const TimePickerResourceStringsPL = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PL/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PL/tree-resources.ts index d3167a653e7..4e563011f5a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PL/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PL/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsPL as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Polish resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsPL = { - igx_expand: 'Rozwiń', - igx_collapse: 'Zwiń' -} satisfies MakeRequired; +export const TreeResourceStringsPL = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/action-strip-resources.ts index 325fd5aa6a6..b68a36b7369 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsPT as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsPT = { - igx_action_strip_button_more_title: 'Mais' -} satisfies MakeRequired; +export const ActionStripResourceStringsPT = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/banner-resources.ts index a0d41104226..961088e1043 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsPT as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsPT = { - igx_banner_button_dismiss: 'Dispensar' -} satisfies MakeRequired; +export const BannerResourceStringsPT = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/calendar-resources.ts index 9b761cf0113..aa5812926cc 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsPT as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsPT = { - igx_calendar_previous_month: 'Mês anterior', - igx_calendar_next_month: 'Mês seguinte', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_month: 'Selecionar mês', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_year: 'Selecionar ano', - igx_calendar_range_start: 'Início do intervalo', - igx_calendar_range_end: 'Fim do intervalo', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'O mês selecionado é ', - igx_calendar_first_picker_of: 'O primeiro selecionador de {0} começa em', - igx_calendar_multi_selection: 'Calendário de seleção múltipla com {0} selecionadores de data', - igx_calendar_range_selection: 'Calendário de seleção de intervalo com {0} selecionadores de data', - igx_calendar_single_selection: 'Calendário com seletores de datas {0}', - igx_calendar_singular_multi_selection: 'Calendário de seleção múltipla', - igx_calendar_singular_range_selection: 'Calendário de seleção de intervalo', - igx_calendar_singular_single_selection: 'Calendário' -} satisfies MakeRequired; +export const CalendarResourceStringsPT = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/carousel-resources.ts index 32d26c4ad05..9375e7afa3f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsPT as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsPT = { - igx_carousel_of: 'de', - igx_carousel_slide: 'deslizar', - igx_carousel_previous_slide: 'diapositivo anterior', - igx_carousel_next_slide: 'próximo diapositivo' -} satisfies MakeRequired; +export const CarouselResourceStringsPT = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/chip-resources.ts index a6d8fbfb108..f87954f679a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsPT as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsPT = { - igx_chip_remove: 'Remova o chip', - igx_chip_select: 'Selecione o chip' -} satisfies MakeRequired; +export const ChipResourceStringsPT = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/combo-resources.ts index 0b342f6b665..6ea8c23aba2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsPT as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsPT = { - igx_combo_empty_message: 'A lista está vazia', - igx_combo_filter_search_placeholder: 'Digite um termo de pesquisa', - igx_combo_addCustomValues_placeholder: 'Adicionar item', - igx_combo_clearItems_placeholder: 'Limpar seleção', - igx_combo_aria_label_options: 'Opções selecionadas', - igx_combo_aria_label_no_options: 'Nenhuma opção selecionada' -} satisfies MakeRequired; +export const ComboResourceStringsPT = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/date-picker-resources.ts index 3760f552469..af764c85d4b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsPT as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsPT = { - igx_date_picker_change_date: 'Alterar data', - igx_date_picker_choose_date: 'Escolher data' -} satisfies MakeRequired; +export const DatePickerResourceStringsPT = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/date-range-picker-resources.ts index ec9b08992d1..3ee568fcdbd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsPT as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsPT = { - igx_date_range_picker_date_separator: 'para', - igx_date_range_picker_done_button: 'Concluído', - igx_date_range_picker_cancel_button: 'Cancelar', - igx_date_range_picker_last7Days: 'Últimos 7 dias', - igx_date_range_picker_currentMonth: 'Mês atual', - igx_date_range_picker_last30Days: 'Últimos 30 dias', - igx_date_range_picker_yearToDate: 'Ano até hoje', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsPT = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts index 72af0c54275..1f6db53157a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsPT as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsPT = { - igx_grid_groupByArea_message: 'Arraste o cabeçalho de uma coluna e largue-o aqui para agrupar por essa coluna.', - igx_grid_groupByArea_select_message: 'Selecionar todas as linhas no grupo com o nome do campo {0} e o valor {1}.', - igx_grid_groupByArea_deselect_message: 'Desselecionar todas as linhas do grupo com o nome do campo {0} e o valor {1}.', - igx_grid_emptyFilteredGrid_message: 'Não foram encontrados registos.', - igx_grid_emptyGrid_message: 'A grelha não tem dados.', - igx_grid_filter: 'Filtro', - igx_grid_filter_row_close: 'Fechar', - igx_grid_filter_row_reset: 'Reiniciar', - igx_grid_filter_row_placeholder: 'Adicionar valor do filtro', - igx_grid_filter_row_boolean_placeholder: 'Todos', - igx_grid_filter_row_date_placeholder: 'Data de recolha', - igx_grid_filter_row_time_placeholder: 'Hora do levantamento', - igx_grid_filter_operator_and: 'E', - igx_grid_filter_operator_or: 'Ou', - igx_grid_complex_filter: 'Filtro complexo', - igx_grid_filter_contains: 'Contém', - igx_grid_filter_doesNotContain: 'Não contém', - igx_grid_filter_startsWith: 'Começa com', - igx_grid_filter_endsWith: 'Termina com', - igx_grid_filter_equals: 'Igual a', - igx_grid_filter_doesNotEqual: 'Não é igual', - igx_grid_filter_empty: 'Vazio', - igx_grid_filter_notEmpty: 'Não vazio', - igx_grid_filter_null: 'Nulo', - igx_grid_filter_notNull: 'Não nulo', - igx_grid_filter_before: 'Antes', - igx_grid_filter_after: 'Após', - igx_grid_filter_at: 'Em', - igx_grid_filter_not_at: 'Não em', - igx_grid_filter_at_before: 'Em ou antes', - igx_grid_filter_at_after: 'Em ou depois', - igx_grid_filter_today: 'Hoje', - igx_grid_filter_yesterday: 'Ontem', - igx_grid_filter_thisMonth: 'Este mês', - igx_grid_filter_lastMonth: 'Último mês', - igx_grid_filter_nextMonth: 'Mês seguinte', - igx_grid_filter_thisYear: 'Este ano', - igx_grid_filter_lastYear: 'Ano passado', - igx_grid_filter_nextYear: 'Ano que vem', - igx_grid_filter_greaterThan: 'Maior que', - igx_grid_filter_lessThan: 'Menor que', - igx_grid_filter_greaterThanOrEqualTo: 'Maior ou igual a', - igx_grid_filter_lessThanOrEqualTo: 'Menor ou igual a', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Todos', - igx_grid_filter_condition_placeholder: 'Selecionar filtro', - igx_grid_filter_in: 'Em', - igx_grid_filter_notIn: 'Não em', - igx_grid_summary_count: 'Contagem', - igx_grid_summary_min: 'Mín.', - igx_grid_summary_max: 'Máx.', - igx_grid_summary_sum: 'Soma', - igx_grid_summary_average: 'Média', - igx_grid_summary_earliest: 'Primeiros', - igx_grid_summary_latest: 'Últimos', - igx_grid_excel_filter_moving_left: 'mover para a esquerda', - igx_grid_excel_filter_moving_left_short: 'esquerda', - igx_grid_excel_filter_moving_right: 'mover para a direita', - igx_grid_excel_filter_moving_right_short: 'direita', - igx_grid_excel_filter_moving_header: 'mover', - igx_grid_excel_filter_sorting_asc: 'ascendente', - igx_grid_excel_filter_sorting_asc_short: 'asc', - igx_grid_excel_filter_sorting_desc: 'descendente', - igx_grid_excel_filter_sorting_desc_short: 'desc', - igx_grid_excel_filter_sorting_header: 'ordenar', - igx_grid_excel_filter_clear: 'Limpar filtros de colunas', - igx_grid_excel_custom_dialog_add: 'adicionar filtro', - igx_grid_excel_custom_dialog_clear: 'Limpar filtro', - igx_grid_excel_custom_dialog_header: 'Filtro automático personalizado na coluna: ', - igx_grid_excel_cancel: 'cancelar', - igx_grid_excel_apply: 'aplicar', - igx_grid_excel_search_placeholder: 'Pesquisar', - igx_grid_excel_select_all: 'Selecionar tudo', - igx_grid_excel_select_all_search_results: 'Selecionar todos os resultados da pesquisa', - igx_grid_excel_add_to_filter: 'Adicionar seleção atual ao filtro', - igx_grid_excel_blanks: '(Espaços em branco)', - igx_grid_excel_hide: 'Ocultar coluna', - igx_grid_excel_show: 'Mostrar coluna', - igx_grid_excel_pin: 'Fixar coluna', - igx_grid_excel_unpin: 'Soltar coluna', - igx_grid_excel_select: 'Selecionar coluna', - igx_grid_excel_deselect: 'Desselecionar coluna', - igx_grid_excel_text_filter: 'Filtro de texto', - igx_grid_excel_number_filter: 'Filtro numérico', - igx_grid_excel_date_filter: 'Filtro de data', - igx_grid_excel_boolean_filter: 'Filtro booleano', - igx_grid_excel_currency_filter: 'Filtro de moeda', - igx_grid_excel_custom_filter: 'Filtro personalizado...', - igx_grid_excel_no_matches: 'Sem correspondências', - igx_grid_excel_matches_count: '{0} correspondências', - igx_grid_advanced_filter_title: 'Filtragem avançada', - igx_grid_advanced_filter_from_label: 'De', - igx_grid_advanced_filter_and_group: '"E" grupo', - igx_grid_advanced_filter_or_group: '"Ou" grupo', - igx_grid_advanced_filter_end_group: 'Terminar grupo', - igx_grid_advanced_filter_create_and_group: 'Criar grupo "E"', - igx_grid_advanced_filter_create_or_group: 'Criar grupo "Ou"', - igx_grid_advanced_filter_and_label: 'e', - igx_grid_advanced_filter_or_label: 'ou', - igx_grid_advanced_filter_switch_group: 'Mudar para {0}', - igx_grid_advanced_filter_add_condition: 'Adicionar condição', - igx_grid_advanced_filter_add_group: 'Adicionar grupo', - igx_grid_advanced_filter_add_condition_root: 'Condição', - igx_grid_advanced_filter_add_group_root: 'Grupo', - igx_grid_advanced_filter_ungroup: 'Desagrupar', - igx_grid_advanced_filter_delete: 'Eliminar', - igx_grid_advanced_filter_delete_filters: 'Eliminar filtros', - igx_grid_advanced_filter_initial_text: 'Comece por criar um grupo de condições vinculadas a "E" ou "Ou"', - igx_grid_advanced_filter_column_placeholder: 'Selecionar coluna', - igx_grid_advanced_filter_value_placeholder: 'Valor', - igx_grid_advanced_filter_query_value_placeholder: 'Resultados da subconsulta', - igx_grid_advanced_filter_select_entity: 'Selecionar entidade', - igx_grid_advanced_filter_select_return_field_single: 'Selecionar campo de retorno', - igx_grid_advanced_filter_dialog_title: 'Confirmação', - igx_grid_advanced_filter_dialog_message: 'Ao alterar a entidade, você perderá suas configurações atuais. Tem a certeza que pretende continuar?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Não voltar a mostrar esta caixa de diálogo', - igx_grid_advanced_filter_drop_ghost_text: 'Largar aqui para inserir', - igx_grid_pinned_row_indicator: 'Afixado', - igx_grid_hiding_check_all_label: 'Mostrar tudo', - igx_grid_hiding_uncheck_all_label: 'Ocultar tudo', - igx_grid_pinning_check_all_label: 'Fixar tudo', - igx_grid_pinning_uncheck_all_label: 'Desafixar tudo', - igx_grid_row_edit_btn_done: 'Concluído', - igx_grid_row_edit_btn_cancel: 'Cancelar', - igx_grid_row_edit_text: 'Tem {0} alterações nesta linha e {1} colunas ocultas', - igx_grid_toolbar_actions_filter_prompt: 'Filtrar lista de colunas...', - igx_grid_toolbar_pinning_button_tooltip: 'Abrir lista pendente de fixação de coluna', - igx_grid_toolbar_hiding_button_tooltip: 'Abrir lista pendente de ocultação de coluna', - igx_grid_toolbar_pinning_title: 'Colunas afixados', - igx_grid_toolbar_hiding_title: 'Colunas visíveis', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Abrir caixa de diálogo de filtragem avançada', - igx_grid_toolbar_advanced_filtering_button_label: 'Filtragem avançada', - igx_grid_toolbar_exporter_button_tooltip: 'Abrir lista pendente de exportador', - igx_grid_toolbar_exporter_button_label: 'Exportar', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportar para Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportar para CSV', - igx_grid_snackbar_addrow_label: 'Linha adicionada', - igx_grid_snackbar_addrow_actiontext: 'MOSTRAR', - igx_grid_actions_edit_label: 'Editar', - igx_grid_actions_add_label: 'Adicionar', - igx_grid_add_row_label: 'ADICIONAR LINHA', - igx_grid_actions_add_child_label: 'Adicionar Subordinado', - igx_grid_actions_delete_label: 'Eliminar', - igx_grid_actions_pin_label: 'Fixar', - igx_grid_actions_unpin_label: 'Desafixar', - igx_grid_actions_jumpUp_label: 'Ir para cima', - igx_grid_actions_jumpDown_label: 'Ir para baixo', - igx_grid_pivot_date_dimension_total: 'Todos os períodos', - igx_grid_pivot_aggregate_count: 'Contagem', - igx_grid_pivot_aggregate_min: 'Mínimo', - igx_grid_pivot_aggregate_max: 'Máximo', - igx_grid_pivot_aggregate_sum: 'Soma', - igx_grid_pivot_aggregate_avg: 'Média', - igx_grid_pivot_aggregate_date_latest: 'Última data', - igx_grid_pivot_aggregate_date_earliest: 'Data mais antiga', - igx_grid_pivot_aggregate_time_latest: 'Última hora', - igx_grid_pivot_aggregate_time_earliest: 'Hora mais antiga', - igx_grid_pivot_empty_row_drop_area: 'Largar campos de linhas aqui.', - igx_grid_pivot_empty_column_drop_area: 'Largar campos de colunas aqui.', - igx_grid_pivot_empty_filter_drop_area: 'Largar campos de filtros aqui.', - igx_grid_pivot_empty_value_drop_area: 'Largar campos de valor aqui.', - igx_grid_pivot_row_drop_chip: 'Largar aqui para usar como linha', - igx_grid_pivot_column_drop_chip: 'Largar aqui para usar como coluna', - igx_grid_pivot_filter_drop_chip: 'Largar aqui para usar como filtro', - igx_grid_pivot_value_drop_chip: 'Largar aqui para usar como valor', - igx_grid_pivot_selector_filters: 'Filtros', - igx_grid_pivot_selector_rows: 'Linhas', - igx_grid_pivot_selector_columns: 'Colunas', - igx_grid_pivot_selector_values: 'Valores', - igx_grid_pivot_selector_panel_empty: 'Arraste os itens para aqui', - igx_grid_pivot_empty_message: 'A grelha dinâmica não tem dimensões e valores.', - igx_grid_required_validation_error: 'Este campo é obrigatório', - igx_grid_min_validation_error: 'Um valor de pelo menos {0} deve ser inserido', - igx_grid_max_validation_error: 'Um valor não superior a {0} deve ser introduzido', - igx_grid_min_length_validation_error: 'A entrada deve ter pelo menos {0} caracteres', - igx_grid_max_length_validation_error: 'A entrada não deve ter mais de {0} caracteres', - igx_grid_email_validation_error: 'Deve ser introduzido um endereço de e-mail válido', - igx_grid_pattern_validation_error: 'A entrada não corresponde ao padrão necessário' -} satisfies MakeRequired; +export const GridResourceStringsPT = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/input-resources.ts index 2225acc4512..47ff6d27cdf 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsPT as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsPT = { - igx_input_upload_button: 'Carregar ficheiro', - igx_input_file_placeholder: 'Nenhum ficheiro selecionado' -} satisfies MakeRequired; +export const InputResourceStringsPT = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/list-resources.ts index 466ed4ef1ad..e42e173c6fa 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsPT as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsPT = { - igx_list_no_items: 'Não há itens na lista.', - igx_list_loading: 'A carregar dados do servidor...' -} satisfies MakeRequired; +export const ListResourceStringsPT = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/paginator-resources.ts index 759896b0e7d..b054bed8274 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsPT as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsPT = { - igx_paginator_label: 'Itens por página', - igx_paginator_pager_text: 'de', - igx_paginator_first_page_button_text: 'Ir para a primeira página', - igx_paginator_previous_page_button_text: 'Página anterior', - igx_paginator_last_page_button_text: 'Ir para a última página', - igx_paginator_next_page_button_text: 'Página seguinte', -} satisfies MakeRequired; +export const PaginatorResourceStringsPT = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/query-builder-resources.ts index f9abdc41157..c36529f8975 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsPT as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Portuguese resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsPT = { - igx_query_builder_date_placeholder: 'Data de recolha', - igx_query_builder_time_placeholder: 'Hora do levantamento', - igx_query_builder_datetime_placeholder: 'Selecionar data e hora', - igx_query_builder_filter_operator_and: 'E', - igx_query_builder_filter_operator_or: 'Ou', - igx_query_builder_filter_contains: 'Contém', - igx_query_builder_filter_doesNotContain: 'Não contém', - igx_query_builder_filter_startsWith: 'Começa com', - igx_query_builder_filter_endsWith: 'Termina com', - igx_query_builder_filter_equals: 'Igual a', - igx_query_builder_filter_doesNotEqual: 'Não é igual', - igx_query_builder_filter_empty: 'Vazio', - igx_query_builder_filter_notEmpty: 'Não vazio', - igx_query_builder_filter_null: 'Nulo', - igx_query_builder_filter_notNull: 'Não nulo', - igx_query_builder_filter_in: 'Em', - igx_query_builder_filter_notIn: 'Não em', - igx_query_builder_filter_before: 'Antes', - igx_query_builder_filter_after: 'Após', - igx_query_builder_filter_at: 'Em', - igx_query_builder_filter_not_at: 'Não em', - igx_query_builder_filter_at_before: 'Em ou antes', - igx_query_builder_filter_at_after: 'Em ou depois', - igx_query_builder_filter_today: 'Hoje', - igx_query_builder_filter_yesterday: 'Ontem', - igx_query_builder_filter_thisMonth: 'Este mês', - igx_query_builder_filter_lastMonth: 'Último mês', - igx_query_builder_filter_nextMonth: 'Mês seguinte', - igx_query_builder_filter_thisYear: 'Este ano', - igx_query_builder_filter_lastYear: 'Ano passado', - igx_query_builder_filter_nextYear: 'Ano que vem', - igx_query_builder_filter_greaterThan: 'Maior que', - igx_query_builder_filter_lessThan: 'Menor que', - igx_query_builder_filter_greaterThanOrEqualTo: 'Maior ou igual a', - igx_query_builder_filter_lessThanOrEqualTo: 'Menor ou igual a', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Todos', - igx_query_builder_from_label: 'De', - igx_query_builder_select_label: 'Selecionar', - igx_query_builder_where_label: 'Onde', - igx_query_builder_and_group: '"E" grupo', - igx_query_builder_or_group: '"Ou" grupo', - igx_query_builder_end_group: 'Terminar grupo', - igx_query_builder_and_label: 'e', - igx_query_builder_or_label: 'ou', - igx_query_builder_switch_group: 'Mudar para {0}', - igx_query_builder_add_condition: 'Add condição', - igx_query_builder_add_group: 'Criar grupo', - igx_query_builder_add_condition_root: 'Condição', - igx_query_builder_add_group_root: 'Grupo', - igx_query_builder_ungroup: 'Desagrupar', - igx_query_builder_delete: 'Eliminar', - igx_query_builder_delete_filters: 'Eliminar filtros', - igx_query_builder_initial_text: 'Comece por criar um grupo de condições vinculadas a "E" ou "Ou"', - igx_query_builder_column_placeholder: 'Selecionar coluna', - igx_query_builder_condition_placeholder: 'Selecionar filtro', - igx_query_builder_value_placeholder: 'Valor', - igx_query_builder_query_value_placeholder: 'Resultados da subconsulta', - igx_query_builder_all_fields: 'Todos os campos', - igx_query_builder_details: 'Detalhes', - igx_query_builder_search: 'Pesquisar', - igx_query_builder_select_all: 'Selecionar tudo', - igx_query_builder_select_entity: 'Selecionar entidade', - igx_query_builder_select_return_field_single: 'Selecione o campo de retorno', - igx_query_builder_select_return_fields: 'Selecionar campos de retorno', - igx_query_builder_dialog_title: 'Confirmação', - igx_query_builder_dialog_message: 'Ao alterar a entidade, você perderá suas configurações atuais. Tem a certeza que pretende continuar?', - igx_query_builder_dialog_checkbox_text: 'Não voltar a mostrar esta caixa de diálogo', - igx_query_builder_dialog_cancel: 'Cancelar', - igx_query_builder_dialog_confirm: 'Confirmar', - igx_query_builder_drop_ghost_text: 'Largar aqui para inserir' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsPT = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/resources.ts index 20c1193984a..7056612945a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsPT } from './action-strip-resources'; /** * Portuguese resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsPT = { ...GridResourceStringsPT, diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/time-picker-resources.ts index cfc6b752b27..60c14348d32 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsPT as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsPT = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Cancelar', - igx_time_picker_change_time: 'Alterar hora', - igx_time_picker_choose_time: 'Escolher hora' -} satisfies MakeRequired; +export const TimePickerResourceStringsPT = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/PT/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/PT/tree-resources.ts index 9f966e8c7f8..65546598bc3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/PT/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/PT/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsPT as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Portuguese resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsPT = { - igx_expand: 'Expandir', - igx_collapse: 'Fechar' -} satisfies MakeRequired; +export const TreeResourceStringsPT = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/action-strip-resources.ts index 36c6f90fe78..6c9c859a73c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsRO as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsRO = { - igx_action_strip_button_more_title: 'Mai mult' -} satisfies MakeRequired; +export const ActionStripResourceStringsRO = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/banner-resources.ts index d2e76647b9b..0a16eca86fd 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsRO as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsRO = { - igx_banner_button_dismiss: 'Îndepărtare' -} satisfies MakeRequired; +export const BannerResourceStringsRO = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/calendar-resources.ts index 95f598a18ba..80b0f521ef0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsRO as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsRO = { - igx_calendar_previous_month: 'Luna trecută', - igx_calendar_next_month: 'Luna viitoare', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Alege luna', - igx_calendar_select_year: 'Selectați Anul', - igx_calendar_range_start: 'Începutul intervalului', - igx_calendar_range_end: 'Sfârșitul intervalului', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Luna selectată este ', - igx_calendar_first_picker_of: 'Primul selector din {0} începe de la', - igx_calendar_multi_selection: 'Calendar cu selecție multiplă cu {0} selectoare de date', - igx_calendar_range_selection: 'Calendar de selecție a intervalului cu {0} selector de date', - igx_calendar_single_selection: 'Calendar cu {0} selectoare de date', - igx_calendar_singular_multi_selection: 'Calendar de selecție multiplă', - igx_calendar_singular_range_selection: 'Calendar de selectare a gamei', - igx_calendar_singular_single_selection: 'Calendar' -} satisfies MakeRequired; +export const CalendarResourceStringsRO = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/carousel-resources.ts index 62318a8ec00..18d6292d04c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsRO as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsRO = { - igx_carousel_of: 'din', - igx_carousel_slide: 'alunecare', - igx_carousel_previous_slide: 'diapozitivul anterior', - igx_carousel_next_slide: 'următorul diapozitiv' -} satisfies MakeRequired; +export const CarouselResourceStringsRO = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/chip-resources.ts index cb16722fb06..60778f6fc13 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsRO as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsRO = { - igx_chip_remove: 'Eliminați cip', - igx_chip_select: 'Selectați cip' -} satisfies MakeRequired; +export const ChipResourceStringsRO = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/combo-resources.ts index 6ba4bc08a7e..6713af71a83 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsRO as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsRO = { - igx_combo_empty_message: 'Lista este goală', - igx_combo_filter_search_placeholder: 'Introduceți termenul de căutare', - igx_combo_addCustomValues_placeholder: 'Adăugați element', - igx_combo_clearItems_placeholder: 'Ștergeți selecția', - igx_combo_aria_label_options: 'Opțiuni selectate', - igx_combo_aria_label_no_options: 'Nicio opțiune selectată' -} satisfies MakeRequired; +export const ComboResourceStringsRO = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/date-picker-resources.ts index df2f7b1e675..786c13b50d6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsRO as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsRO = { - igx_date_picker_change_date: 'Modificați data', - igx_date_picker_choose_date: 'Alegeți data' -} satisfies MakeRequired; +export const DatePickerResourceStringsRO = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/date-range-picker-resources.ts index 12e8c9007b0..b734862126f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsRO as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsRO = { - igx_date_range_picker_date_separator: 'la', - igx_date_range_picker_done_button: 'Gata', - igx_date_range_picker_cancel_button: 'Anulează', - igx_date_range_picker_last7Days: 'Ultimele 7 zile', - igx_date_range_picker_currentMonth: 'Luna curentă', - igx_date_range_picker_last30Days: 'Ultimele 30 de zile', - igx_date_range_picker_yearToDate: 'De la începutul anului', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsRO = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts index ff2ff41718a..3beae5a6773 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsRO as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsRO = { - igx_grid_groupByArea_message: 'Trageți un antet de coloană și plasați-l aici pentru a grupa după coloana respectivă.', - igx_grid_groupByArea_select_message: 'Selectați toate rândurile din grup cu numele câmpului {0} și valoarea {1}.', - igx_grid_groupByArea_deselect_message: 'Deselectați toate rândurile din grup cu numele câmpului {0} și valoarea {1}.', - igx_grid_emptyFilteredGrid_message: 'Nu au fost găsite înregistrări.', - igx_grid_emptyGrid_message: 'Grila nu are date.', - igx_grid_filter: 'Filtru', - igx_grid_filter_row_close: 'Închide', - igx_grid_filter_row_reset: 'Resetați', - igx_grid_filter_row_placeholder: 'Adăugați o valoare a filtrului', - igx_grid_filter_row_boolean_placeholder: 'Toate', - igx_grid_filter_row_date_placeholder: 'Data ridicării', - igx_grid_filter_row_time_placeholder: 'Ora preluării', - igx_grid_filter_operator_and: 'Și', - igx_grid_filter_operator_or: 'Sau', - igx_grid_complex_filter: 'Filtru complex', - igx_grid_filter_contains: 'Conține', - igx_grid_filter_doesNotContain: 'Nu conține', - igx_grid_filter_startsWith: 'Începe cu', - igx_grid_filter_endsWith: 'Se termină cu', - igx_grid_filter_equals: 'La fel', - igx_grid_filter_doesNotEqual: 'Nu este egal', - igx_grid_filter_empty: 'Gol', - igx_grid_filter_notEmpty: 'Nu gol', - igx_grid_filter_null: 'Nul', - igx_grid_filter_notNull: 'Nu nul', - igx_grid_filter_before: 'Înainte de', - igx_grid_filter_after: 'După', - igx_grid_filter_at: 'La', - igx_grid_filter_not_at: 'Nu la', - igx_grid_filter_at_before: 'La sau înainte', - igx_grid_filter_at_after: 'La sau după', - igx_grid_filter_today: 'Azi', - igx_grid_filter_yesterday: 'Ieri', - igx_grid_filter_thisMonth: 'Luna aceasta', - igx_grid_filter_lastMonth: 'Luna trecuta', - igx_grid_filter_nextMonth: 'Luna viitoare', - igx_grid_filter_thisYear: 'Anul acesta', - igx_grid_filter_lastYear: 'Anul trecut', - igx_grid_filter_nextYear: 'Anul următor', - igx_grid_filter_greaterThan: 'Mai mare ca', - igx_grid_filter_lessThan: 'Mai puțin decât', - igx_grid_filter_greaterThanOrEqualTo: 'Mai mare decât sau egal cu', - igx_grid_filter_lessThanOrEqualTo: 'Mai mic sau egal cu', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Toate', - igx_grid_filter_condition_placeholder: 'Selectați filtrul', - igx_grid_filter_in: 'În', - igx_grid_filter_notIn: 'Nu în', - igx_grid_summary_count: 'Numără', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Sumă', - igx_grid_summary_average: 'Media', - igx_grid_summary_earliest: 'Cel mai devreme', - igx_grid_summary_latest: 'Cele mai recente', - igx_grid_excel_filter_moving_left: 'mută la stânga', - igx_grid_excel_filter_moving_left_short: 'stânga', - igx_grid_excel_filter_moving_right: 'mută la dreapta', - igx_grid_excel_filter_moving_right_short: 'dreapta', - igx_grid_excel_filter_moving_header: 'mișcare', - igx_grid_excel_filter_sorting_asc: 'ascendent', - igx_grid_excel_filter_sorting_asc_short: 'asc', - igx_grid_excel_filter_sorting_desc: 'descendentă', - igx_grid_excel_filter_sorting_desc_short: 'desc', - igx_grid_excel_filter_sorting_header: 'sortare', - igx_grid_excel_filter_clear: 'Ștergeți filtrele de coloane', - igx_grid_excel_custom_dialog_add: 'adăugați filtru', - igx_grid_excel_custom_dialog_clear: 'Ștergeți filtrul', - igx_grid_excel_custom_dialog_header: 'Filtru automat personalizat pe coloană: ', - igx_grid_excel_cancel: 'anulare', - igx_grid_excel_apply: 'aplica', - igx_grid_excel_search_placeholder: 'Căutare', - igx_grid_excel_select_all: 'Selectează tot', - igx_grid_excel_select_all_search_results: 'Selectați toate rezultatele căutării', - igx_grid_excel_add_to_filter: 'Adăugați selecția curentă pentru a filtra', - igx_grid_excel_blanks: '(Goluri)', - igx_grid_excel_hide: 'Ascundeți coloana', - igx_grid_excel_show: 'Afișați coloana', - igx_grid_excel_pin: 'Fixați coloana', - igx_grid_excel_unpin: 'Anulați fixarea coloanei', - igx_grid_excel_select: 'Selectați coloana', - igx_grid_excel_deselect: 'Deselectați coloana', - igx_grid_excel_text_filter: 'Filtru text', - igx_grid_excel_number_filter: 'Filtru numeric', - igx_grid_excel_date_filter: 'Filtru de dată', - igx_grid_excel_boolean_filter: 'Filtru boolean', - igx_grid_excel_currency_filter: 'Filtru valutar', - igx_grid_excel_custom_filter: 'Filtru customizat...', - igx_grid_excel_no_matches: 'Nicio potrivire', - igx_grid_excel_matches_count: '{0} potriviri', - igx_grid_advanced_filter_title: 'Filtrare avansată', - igx_grid_advanced_filter_from_label: 'Din', - igx_grid_advanced_filter_and_group: '"Și" Grup', - igx_grid_advanced_filter_or_group: '"Sau" grup', - igx_grid_advanced_filter_end_group: 'Sfârșitul grupului', - igx_grid_advanced_filter_create_and_group: 'Creați grupul "Și"', - igx_grid_advanced_filter_create_or_group: 'Creați un grup "Sau"', - igx_grid_advanced_filter_and_label: 'și', - igx_grid_advanced_filter_or_label: 'sau', - igx_grid_advanced_filter_switch_group: 'Comută la {0}', - igx_grid_advanced_filter_add_condition: 'Adăugați o condiție', - igx_grid_advanced_filter_add_group: 'Adăugați un grup', - igx_grid_advanced_filter_add_condition_root: 'Condition', - igx_grid_advanced_filter_add_group_root: 'Grup', - igx_grid_advanced_filter_ungroup: 'Anulează grupare', - igx_grid_advanced_filter_delete: 'Șterge', - igx_grid_advanced_filter_delete_filters: 'Ștergeți filtrele', - igx_grid_advanced_filter_initial_text: 'Începeți cu crearea unui grup de condiții legate de "Și" sau "Sau"', - igx_grid_advanced_filter_column_placeholder: 'Selectați coloana', - igx_grid_advanced_filter_value_placeholder: 'Valoare', - igx_grid_advanced_filter_query_value_placeholder: 'Rezultatele subinterogării', - igx_grid_advanced_filter_select_entity: 'Selectează entitate', - igx_grid_advanced_filter_select_return_field_single: 'Selectează câmpul de returnare', - igx_grid_advanced_filter_dialog_title: 'Confirmare', - igx_grid_advanced_filter_dialog_message: 'Prin modificarea entității, veți pierde setările curente. Ești sigur că vrei să faci asta?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Nu se mai afișează această casetă de dialog', - igx_grid_advanced_filter_drop_ghost_text: 'Aruncaţi aici pentru a introduce', - igx_grid_pinned_row_indicator: 'Fixat', - igx_grid_hiding_check_all_label: 'Arata tot', - igx_grid_hiding_uncheck_all_label: 'Ascunde tot', - igx_grid_pinning_check_all_label: 'Fixați toate', - igx_grid_pinning_uncheck_all_label: 'Anulați fixarea tuturor', - igx_grid_row_edit_btn_done: 'Terminat', - igx_grid_row_edit_btn_cancel: 'Anulați', - igx_grid_row_edit_text: 'Aveți {0} modificări în acest rând și {1} coloane ascunse', - igx_grid_toolbar_actions_filter_prompt: 'Filtrează lista coloanelor ...', - igx_grid_toolbar_pinning_button_tooltip: 'Deschideți meniul derulant de fixare a coloanei', - igx_grid_toolbar_hiding_button_tooltip: 'Deschideți meniul derulant de ascundere a coloanei', - igx_grid_toolbar_pinning_title: 'Coloane fixate', - igx_grid_toolbar_hiding_title: 'Coloane vizibile', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Deschideți dialogul de filtrare avansată', - igx_grid_toolbar_advanced_filtering_button_label: 'Filtrare avansată', - igx_grid_toolbar_exporter_button_tooltip: 'Deschideți meniul derulant pentru exportator', - igx_grid_toolbar_exporter_button_label: 'Exportați', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportați în Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportați în CSV', - igx_grid_snackbar_addrow_label: 'Rând adăugat', - igx_grid_snackbar_addrow_actiontext: 'ARATĂ', - igx_grid_actions_edit_label: 'Editați', - igx_grid_actions_add_label: 'Adăuga', - igx_grid_add_row_label: 'ADAUGĂ RÂND', - igx_grid_actions_add_child_label: 'Adaugă copil', - igx_grid_actions_delete_label: 'Șterge', - igx_grid_actions_pin_label: 'Fixare', - igx_grid_actions_unpin_label: 'Anulați fixarea', - igx_grid_actions_jumpUp_label: 'Sari sus', - igx_grid_actions_jumpDown_label: 'Sari jos', - igx_grid_pivot_date_dimension_total: 'Toate Perioadele', - igx_grid_pivot_aggregate_count: 'Numără', - igx_grid_pivot_aggregate_min: 'Maxim', - igx_grid_pivot_aggregate_max: 'Minim', - igx_grid_pivot_aggregate_sum: 'Sumă', - igx_grid_pivot_aggregate_avg: 'Toate Perioadele', - igx_grid_pivot_aggregate_date_latest: 'Ultima dată', - igx_grid_pivot_aggregate_date_earliest: 'Prima dată', - igx_grid_pivot_aggregate_time_latest: 'Ultima ora', - igx_grid_pivot_aggregate_time_earliest: 'Prima ora', - igx_grid_pivot_empty_row_drop_area: 'Aruncaţi câmpurile de rând aici.', - igx_grid_pivot_empty_column_drop_area: 'Aruncaţi câmpurile de coloană aici.', - igx_grid_pivot_empty_filter_drop_area: 'Aruncaţi câmpurile de filtrare aici.', - igx_grid_pivot_empty_value_drop_area: 'Aruncaţi câmpurile de valoare aici.', - igx_grid_pivot_row_drop_chip: 'Aruncaţi aici pentru a utiliza ca rând', - igx_grid_pivot_column_drop_chip: 'Aruncaţi aici pentru a utiliza ca coloană', - igx_grid_pivot_filter_drop_chip: 'Aruncaţi aici pentru a utiliza ca filtru', - igx_grid_pivot_value_drop_chip: 'Aruncaţi aici pentru a utiliza ca valoare', - igx_grid_pivot_selector_filters: 'Filtre', - igx_grid_pivot_selector_rows: 'Rânduri', - igx_grid_pivot_selector_columns: 'Coloane', - igx_grid_pivot_selector_values: 'Valori', - igx_grid_pivot_selector_panel_empty: 'Glisați aici elementele', - igx_grid_pivot_empty_message: 'Grila pivot nu are dimensiuni și valori.', - igx_grid_required_validation_error: 'Acest câmp este obligatoriu', - igx_grid_min_validation_error: 'Trebuie introdusă o valoare de cel puțin {0}', - igx_grid_max_validation_error: 'Trebuie introdusă o valoare de maximum {0}', - igx_grid_min_length_validation_error: 'Intrarea trebuie să aibă cel puțin {0} caractere', - igx_grid_max_length_validation_error: 'Intrarea nu trebuie să aibă mai mult de {0} caractere', - igx_grid_email_validation_error: 'Ar trebui introdusă o adresă de e-mail validă', - igx_grid_pattern_validation_error: 'Intrarea nu se potrivește cu modelul cerut' -} satisfies MakeRequired; +export const GridResourceStringsRO = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/input-resources.ts index ce026bd3bc9..5c0ba9505f6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsRO as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsRO = { - igx_input_upload_button: 'Încărcare fişier', - igx_input_file_placeholder: 'Niciun fișier ales' -} satisfies MakeRequired; +export const InputResourceStringsRO = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/list-resources.ts index ae302dbc4e2..408e6fb6dd8 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsRO as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsRO = { - igx_list_no_items: 'Nu există articole în listă.', - igx_list_loading: 'Se încarcă datele de pe server...' -} satisfies MakeRequired; +export const ListResourceStringsRO = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/paginator-resources.ts index 196fe7297b1..a744c7c49fe 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsRO as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsRO = { - igx_paginator_label: 'Articole pe pagină', - igx_paginator_pager_text: 'de', - igx_paginator_first_page_button_text: 'Accesați prima pagină', - igx_paginator_previous_page_button_text: 'Pagina precedentă', - igx_paginator_last_page_button_text: 'Accesați ultima pagină', - igx_paginator_next_page_button_text: 'Pagina următoare', -} satisfies MakeRequired; +export const PaginatorResourceStringsRO = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/query-builder-resources.ts index 2cd80af352b..7eb925e845c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsRO as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Romanian resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsRO = { - igx_query_builder_date_placeholder: 'Data ridicării', - igx_query_builder_time_placeholder: 'Ora preluării', - igx_query_builder_datetime_placeholder: 'Selectează data și ora', - igx_query_builder_filter_operator_and: 'Și', - igx_query_builder_filter_operator_or: 'Sau', - igx_query_builder_filter_contains: 'Conține', - igx_query_builder_filter_doesNotContain: 'Nu conține', - igx_query_builder_filter_startsWith: 'Începe cu', - igx_query_builder_filter_endsWith: 'Se termină cu', - igx_query_builder_filter_equals: 'La fel', - igx_query_builder_filter_doesNotEqual: 'Nu este egal', - igx_query_builder_filter_empty: 'Gol', - igx_query_builder_filter_notEmpty: 'Nu gol', - igx_query_builder_filter_null: 'Nul', - igx_query_builder_filter_notNull: 'Nu nul', - igx_query_builder_filter_in: 'În', - igx_query_builder_filter_notIn: 'Nu în', - igx_query_builder_filter_before: 'Înainte de', - igx_query_builder_filter_after: 'După', - igx_query_builder_filter_at: 'La', - igx_query_builder_filter_not_at: 'Nu la', - igx_query_builder_filter_at_before: 'La sau înainte', - igx_query_builder_filter_at_after: 'La sau după', - igx_query_builder_filter_today: 'Azi', - igx_query_builder_filter_yesterday: 'Ieri', - igx_query_builder_filter_thisMonth: 'Luna aceasta', - igx_query_builder_filter_lastMonth: 'Luna trecuta', - igx_query_builder_filter_nextMonth: 'Luna viitoare', - igx_query_builder_filter_thisYear: 'Anul acesta', - igx_query_builder_filter_lastYear: 'Anul trecut', - igx_query_builder_filter_nextYear: 'Anul următor', - igx_query_builder_filter_greaterThan: 'Mai mare ca', - igx_query_builder_filter_lessThan: 'Mai puțin decât', - igx_query_builder_filter_greaterThanOrEqualTo: 'Mai mare decât sau egal cu', - igx_query_builder_filter_lessThanOrEqualTo: 'Mai mic sau egal cu', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Toate', - igx_query_builder_from_label: 'Din', - igx_query_builder_select_label: 'Selectează', - igx_query_builder_where_label: 'Unde', - igx_query_builder_and_group: '"Și" Grup', - igx_query_builder_or_group: '"Sau" grup', - igx_query_builder_end_group: 'Sfârșitul grupului', - igx_query_builder_and_label: 'și', - igx_query_builder_or_label: 'sau', - igx_query_builder_switch_group: 'Comută la {0}', - igx_query_builder_add_condition: 'Creați condiție', - igx_query_builder_add_group: 'Creați grupul', - igx_query_builder_add_condition_root: 'Condiție', - igx_query_builder_add_group_root: 'Grupul', - igx_query_builder_ungroup: 'Anulează grupare', - igx_query_builder_delete: 'Șterge', - igx_query_builder_delete_filters: 'Ștergeți filtrele', - igx_query_builder_initial_text: 'Începeți cu crearea unui grup de condiții legate de "Și" sau "Sau"', - igx_query_builder_column_placeholder: 'Selectați coloana', - igx_query_builder_condition_placeholder: 'Selectați filtrul', - igx_query_builder_value_placeholder: 'Valoare', - igx_query_builder_query_value_placeholder: 'Rezultatele subinterogării', - igx_query_builder_all_fields: 'Toate câmpurile', - igx_query_builder_details: 'Detalii', - igx_query_builder_search: 'Căutare', - igx_query_builder_select_all: 'Selectează tot', - igx_query_builder_select_entity: 'Selectează entitate', - igx_query_builder_select_return_field_single: 'Selectați câmpul de returnare', - igx_query_builder_select_return_fields: 'Selectează câmpuri de returnare', - igx_query_builder_dialog_title: 'Confirmare', - igx_query_builder_dialog_message: 'Prin modificarea entității, veți pierde setările curente. Ești sigur că vrei să faci asta?', - igx_query_builder_dialog_checkbox_text: 'Nu se mai afișează această casetă de dialog', - igx_query_builder_dialog_cancel: 'Anulare', - igx_query_builder_dialog_confirm: 'Confirmare', - igx_query_builder_drop_ghost_text: 'Aruncaţi aici pentru a introduce' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsRO = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/resources.ts index b748ec55403..917a25be57f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsRO } from './action-strip-resources'; /** * Romanian resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsRO = { ...GridResourceStringsRO, diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/time-picker-resources.ts index e14843dd82a..23bf4d7735a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsRO as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsRO = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Anulare', - igx_time_picker_change_time: 'Schimbați ora', - igx_time_picker_choose_time: 'Alegeți ora' -} satisfies MakeRequired; +export const TimePickerResourceStringsRO = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/RO/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/RO/tree-resources.ts index 4761a9e655f..0cc152b61b2 100644 --- a/projects/igniteui-angular-i18n/src/i18n/RO/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/RO/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsRO as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Romanian resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsRO = { - igx_expand: 'Extindere', - igx_collapse: 'Restrângere' -} satisfies MakeRequired; +export const TreeResourceStringsRO = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/action-strip-resources.ts index cd7877b0cf4..1ce4052def0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsSV as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsSV = { - igx_action_strip_button_more_title: 'Mer' -} satisfies MakeRequired; +export const ActionStripResourceStringsSV = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/banner-resources.ts index ee4b8d2bfb2..bdc0c0f090e 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsSV as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsSV = { - igx_banner_button_dismiss: 'Stäng' -} satisfies MakeRequired; +export const BannerResourceStringsSV = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/calendar-resources.ts index d64c3d82fc0..8b6f64ce354 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsSV as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsSV = { - igx_calendar_previous_month: 'Förra månaden', - igx_calendar_next_month: 'Nästa månad', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Välj månad', - igx_calendar_select_year: 'Välj år', - igx_calendar_range_start: 'Områdesstart', - igx_calendar_range_end: 'Områdesslut', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Vald månad är ', - igx_calendar_first_picker_of: 'Första väljaren av {0} börjar från', - igx_calendar_multi_selection: 'Flervalskalender med {0} datumväljare', - igx_calendar_range_selection: 'Områdesvalskalender med {0} datumväljare', - igx_calendar_single_selection: 'Kalender med {0} datumväljare', - igx_calendar_singular_multi_selection: 'Flervalskalender', - igx_calendar_singular_range_selection: 'Områdesvalskalender', - igx_calendar_singular_single_selection: 'Kalender' -} satisfies MakeRequired; +export const CalendarResourceStringsSV = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/carousel-resources.ts index eff62b05e07..684cf045031 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsSV as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsSV = { - igx_carousel_of: 'av', - igx_carousel_slide: 'bild', - igx_carousel_previous_slide: 'föregående bild', - igx_carousel_next_slide: 'nästa bild' -} satisfies MakeRequired; +export const CarouselResourceStringsSV = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/chip-resources.ts index 5373dfdb8f9..57464686960 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsSV as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsSV = { - igx_chip_remove: 'Ta bort chip', - igx_chip_select: 'Välj chip' -} satisfies MakeRequired; +export const ChipResourceStringsSV = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/combo-resources.ts index e857350215f..fe85f5e3492 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsSV as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsSV = { - igx_combo_empty_message: 'Listan är tom', - igx_combo_filter_search_placeholder: 'Ange sökterm', - igx_combo_addCustomValues_placeholder: 'Lägg till objekt', - igx_combo_clearItems_placeholder: 'Rensa urval', - igx_combo_aria_label_options: 'Valda alternativ', - igx_combo_aria_label_no_options: 'Inga valda alternativ' -} satisfies MakeRequired; +export const ComboResourceStringsSV = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/date-picker-resources.ts index fe0b014e4ae..a3e52343468 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsSV as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsSV = { - igx_date_picker_change_date: 'Ändra datum', - igx_date_picker_choose_date: 'Välj datum' -} satisfies MakeRequired; +export const DatePickerResourceStringsSV = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/date-range-picker-resources.ts index 7332568a6e1..f786e62aafa 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsSV as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsSV = { - igx_date_range_picker_date_separator: 'till', - igx_date_range_picker_done_button: 'Färdig', - igx_date_range_picker_cancel_button: 'Avbryt', - igx_date_range_picker_last7Days: 'Senaste 7 dagarna', - igx_date_range_picker_currentMonth: 'Aktuell månad', - igx_date_range_picker_last30Days: 'Senaste 30 dagarna', - igx_date_range_picker_yearToDate: 'Året hittills', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsSV = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts index dc0d9719147..40fd432b6ed 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsSV as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsSV = { - igx_grid_groupByArea_message: 'Dra en kolumnrubrik och släpp den här för att gruppera efter den kolumnen.', - igx_grid_groupByArea_select_message: 'Välj alla rader i gruppen med fältnamn {0} och värde {1}.', - igx_grid_groupByArea_deselect_message: 'Avmarkera alla rader i gruppen med fältnamn {0} och värde {1}.', - igx_grid_emptyFilteredGrid_message: 'Inga uppgifter funna.', - igx_grid_emptyGrid_message: 'Rutnätet har ingen data.', - igx_grid_filter: 'Filtrera', - igx_grid_filter_row_close: 'Stäng', - igx_grid_filter_row_reset: 'Återställ', - igx_grid_filter_row_placeholder: 'Lägg till filtervärde', - igx_grid_filter_row_boolean_placeholder: 'Allt', - igx_grid_filter_row_date_placeholder: 'Upphämtningsdatum', - igx_grid_filter_row_time_placeholder: 'Upphämtningstid', - igx_grid_filter_operator_and: 'Och', - igx_grid_filter_operator_or: 'Eller', - igx_grid_complex_filter: 'Komplext filter', - igx_grid_filter_contains: 'Innehåller', - igx_grid_filter_doesNotContain: 'Innehåller inte', - igx_grid_filter_startsWith: 'Börjar med', - igx_grid_filter_endsWith: 'Slutar med', - igx_grid_filter_equals: 'Är lika med', - igx_grid_filter_doesNotEqual: 'Är inte lika med', - igx_grid_filter_empty: 'Tom', - igx_grid_filter_notEmpty: 'Inte tom', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Inte null', - igx_grid_filter_before: 'Innan', - igx_grid_filter_after: 'Efter', - igx_grid_filter_at: 'Vid', - igx_grid_filter_not_at: 'Inte vid', - igx_grid_filter_at_before: 'Vid eller före', - igx_grid_filter_at_after: 'Vid eller efter', - igx_grid_filter_today: 'I dag', - igx_grid_filter_yesterday: 'I går', - igx_grid_filter_thisMonth: 'Den här månaden', - igx_grid_filter_lastMonth: 'Förra månaden', - igx_grid_filter_nextMonth: 'Nästa månad', - igx_grid_filter_thisYear: 'Det här året', - igx_grid_filter_lastYear: 'Förra året', - igx_grid_filter_nextYear: 'Nästa år', - igx_grid_filter_greaterThan: 'Större än', - igx_grid_filter_lessThan: 'Mindre än', - igx_grid_filter_greaterThanOrEqualTo: 'Större än eller lika med', - igx_grid_filter_lessThanOrEqualTo: 'Mindre än eller lika med', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'Allt', - igx_grid_filter_condition_placeholder: 'Välj filter', - igx_grid_filter_in: 'I', - igx_grid_filter_notIn: 'Inte i', - igx_grid_summary_count: 'Räkna', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Summa', - igx_grid_summary_average: 'Genomsnitt', - igx_grid_summary_earliest: 'Tidigast', - igx_grid_summary_latest: 'Senast', - igx_grid_excel_filter_moving_left: 'flytta vänster', - igx_grid_excel_filter_moving_left_short: 'vänster', - igx_grid_excel_filter_moving_right: 'flytta höger', - igx_grid_excel_filter_moving_right_short: 'höger', - igx_grid_excel_filter_moving_header: 'flytta', - igx_grid_excel_filter_sorting_asc: 'stigande', - igx_grid_excel_filter_sorting_asc_short: 'stig', - igx_grid_excel_filter_sorting_desc: 'fallande', - igx_grid_excel_filter_sorting_desc_short: 'fall', - igx_grid_excel_filter_sorting_header: 'sortera', - igx_grid_excel_filter_clear: 'Rensa kolumnfilter', - igx_grid_excel_custom_dialog_add: 'lägg till filter', - igx_grid_excel_custom_dialog_clear: 'Rensa filter', - igx_grid_excel_custom_dialog_header: 'Anpassat autofilter i kolumn: ', - igx_grid_excel_cancel: 'avbryt', - igx_grid_excel_apply: 'tillämpa', - igx_grid_excel_search_placeholder: 'Sök', - igx_grid_excel_select_all: 'Välj alla', - igx_grid_excel_select_all_search_results: 'Välj alla sökresultat', - igx_grid_excel_add_to_filter: 'Lägg till aktuellt val till filter', - igx_grid_excel_blanks: '(Tomt)', - igx_grid_excel_hide: 'Dölj kolumn', - igx_grid_excel_show: 'Visa kolumn', - igx_grid_excel_pin: 'Fäst kolumn', - igx_grid_excel_unpin: 'Lossa kolumnen', - igx_grid_excel_select: 'Välj kolumn', - igx_grid_excel_deselect: 'Avmarkera kolumn', - igx_grid_excel_text_filter: 'Textfilter', - igx_grid_excel_number_filter: 'Nummerfilter', - igx_grid_excel_date_filter: 'Datumfilter', - igx_grid_excel_boolean_filter: 'Booleskt filter', - igx_grid_excel_currency_filter: 'Valutafilter', - igx_grid_excel_custom_filter: 'Anpassat filter ...', - igx_grid_excel_no_matches: 'Inga träffar', - igx_grid_excel_matches_count: '{0} träffar', - igx_grid_advanced_filter_title: 'Avancerad filtrering', - igx_grid_advanced_filter_from_label: 'Från', - igx_grid_advanced_filter_and_group: '"Och" -grupp', - igx_grid_advanced_filter_or_group: '"Eller" -grupp', - igx_grid_advanced_filter_end_group: 'Slutgrupp', - igx_grid_advanced_filter_create_and_group: 'Skapa "Och" -grupp', - igx_grid_advanced_filter_create_or_group: 'Skapa "Eller" -grupp', - igx_grid_advanced_filter_and_label: 'och', - igx_grid_advanced_filter_or_label: 'eller', - igx_grid_advanced_filter_switch_group: 'Byt till {0}', - igx_grid_advanced_filter_add_condition: 'Lägg till villkor', - igx_grid_advanced_filter_add_group: 'Lägg till grupp', - igx_grid_advanced_filter_add_condition_root: 'Villkor', - igx_grid_advanced_filter_add_group_root: 'Grupp', - igx_grid_advanced_filter_ungroup: 'Avgruppera', - igx_grid_advanced_filter_delete: 'Radera', - igx_grid_advanced_filter_delete_filters: 'Ta bort filter', - igx_grid_advanced_filter_initial_text: 'Börja med att skapa en grupp villkor kopplade till "Och" eller "Eller"', - igx_grid_advanced_filter_column_placeholder: 'Välj kolumn', - igx_grid_advanced_filter_value_placeholder: 'Värde', - igx_grid_advanced_filter_query_value_placeholder: 'Underfrågeresultat', - igx_grid_advanced_filter_select_entity: 'Välj enhet', - igx_grid_advanced_filter_select_return_field_single: 'Välj enhet', - igx_grid_advanced_filter_dialog_title: 'Bekräftelse', - igx_grid_advanced_filter_dialog_message: 'Genom att ändra entitet förlorar du dina nuvarande inställningar. Är du säker på att du vill göra det?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Visa inte den här dialogrutan igen', - igx_grid_advanced_filter_drop_ghost_text: 'Släpp här för att infoga', - igx_grid_pinned_row_indicator: 'Fäst', - igx_grid_hiding_check_all_label: 'Visa alla', - igx_grid_hiding_uncheck_all_label: 'Dölj alla', - igx_grid_pinning_check_all_label: 'Fäst alla', - igx_grid_pinning_uncheck_all_label: 'Lossa alla', - igx_grid_row_edit_btn_done: 'Klar', - igx_grid_row_edit_btn_cancel: 'Avbryt', - igx_grid_row_edit_text: 'Du har {0} ändringar i den här raden och {1} dolda kolumner', - igx_grid_toolbar_actions_filter_prompt: 'Filtrera kolumnlista ...', - igx_grid_toolbar_pinning_button_tooltip: 'Öppna rullgardinsmenyn med kolumnfästning', - igx_grid_toolbar_hiding_button_tooltip: 'Öppna rullgardinsmenyn som döljer kolumnen', - igx_grid_toolbar_pinning_title: 'Fästa kolumner', - igx_grid_toolbar_hiding_title: 'Synliga kolumner', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Öppna avancerad filtreringsdialog', - igx_grid_toolbar_advanced_filtering_button_label: 'Avancerad filtrering', - igx_grid_toolbar_exporter_button_tooltip: 'Öppna rullgardinsmenyn för exportör', - igx_grid_toolbar_exporter_button_label: 'Exportera', - igx_grid_toolbar_exporter_excel_entry_text: 'Exportera till Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Exportera till CSV', - igx_grid_snackbar_addrow_label: 'Rad tillagd', - igx_grid_snackbar_addrow_actiontext: 'VISA', - igx_grid_actions_edit_label: 'Redigera', - igx_grid_actions_add_label: 'Lägg till', - igx_grid_add_row_label: 'LÄGG TILL RAD', - igx_grid_actions_add_child_label: 'Lägg till barn', - igx_grid_actions_delete_label: 'Radera', - igx_grid_actions_pin_label: 'Fäst', - igx_grid_actions_unpin_label: 'Lossa', - igx_grid_actions_jumpUp_label: 'Hoppa upp', - igx_grid_actions_jumpDown_label: 'Hoppa ner', - igx_grid_pivot_date_dimension_total: 'Alla perioder', - igx_grid_pivot_aggregate_count: 'Räkna', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Summa', - igx_grid_pivot_aggregate_avg: 'Genomsnitt', - igx_grid_pivot_aggregate_date_latest: 'Senaste datum', - igx_grid_pivot_aggregate_date_earliest: 'Tidigaste datum', - igx_grid_pivot_aggregate_time_latest: 'Senaste tid', - igx_grid_pivot_aggregate_time_earliest: 'Tidigaste tid', - igx_grid_pivot_empty_row_drop_area: 'Släpp radfält här.', - igx_grid_pivot_empty_column_drop_area: 'Släpp kolumnfält här.', - igx_grid_pivot_empty_filter_drop_area: 'Släpp filterfält här.', - igx_grid_pivot_empty_value_drop_area: 'Släpp värdefält här.', - igx_grid_pivot_row_drop_chip: 'Släpp här för att använda som rad', - igx_grid_pivot_column_drop_chip: 'Släpp här för att använda som kolumn', - igx_grid_pivot_filter_drop_chip: 'Släpp här för att använda som filter', - igx_grid_pivot_value_drop_chip: 'Släpp här för att använda som värde', - igx_grid_pivot_selector_filters: 'Filter', - igx_grid_pivot_selector_rows: 'Rader', - igx_grid_pivot_selector_columns: 'Kolumner', - igx_grid_pivot_selector_values: 'Värden', - igx_grid_pivot_selector_panel_empty: 'Dra objekt hit', - igx_grid_pivot_empty_message: 'Pivotrutnät har inga dimensioner och värden.', - igx_grid_required_validation_error: 'Detta fält krävs', - igx_grid_min_validation_error: 'Ett värde på minst {0} borde anges', - igx_grid_max_validation_error: 'Ett värde högst {0} borde anges', - igx_grid_min_length_validation_error: 'Inmatningen ska innehålla minst {0} tecken', - igx_grid_max_length_validation_error: 'Inmatningen får inte vara längre än {0} tecken', - igx_grid_email_validation_error: 'En giltig e-postadress borde anges', - igx_grid_pattern_validation_error: 'Inmatningen matchar inte det önskade mönstret' -} satisfies MakeRequired; +export const GridResourceStringsSV = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/input-resources.ts index 01d269e0c14..a035b2deb03 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsSV as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsSV = { - igx_input_upload_button: 'Ladda upp fil', - igx_input_file_placeholder: 'Ingen fil har valts' -} satisfies MakeRequired; +export const InputResourceStringsSV = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/list-resources.ts index 4a66c1fd7ec..0b2c53dd381 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsSV as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsSV = { - igx_list_no_items: 'Det finns inga objekt i listan.', - igx_list_loading: 'Laddar data från servern...' -} satisfies MakeRequired; +export const ListResourceStringsSV = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/paginator-resources.ts index d9b5632a8f3..566b3999e62 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsSV as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsSV = { - igx_paginator_label: 'Objekt per sida', - igx_paginator_pager_text: 'av', - igx_paginator_first_page_button_text: 'Gå till första sidan', - igx_paginator_previous_page_button_text: 'Föregående sida', - igx_paginator_last_page_button_text: 'Gå till sista sidan', - igx_paginator_next_page_button_text: 'Nästa sida', -} satisfies MakeRequired; +export const PaginatorResourceStringsSV = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/query-builder-resources.ts index e9e32f57f25..ef3cda28dfb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsSV as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Swedish resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsSV = { - igx_query_builder_date_placeholder: 'Upphämtningsdatum', - igx_query_builder_time_placeholder: 'Upphämtningstid', - igx_query_builder_datetime_placeholder: 'Välj datum och tid', - igx_query_builder_filter_operator_and: 'Och', - igx_query_builder_filter_operator_or: 'Eller', - igx_query_builder_filter_contains: 'Innehåller', - igx_query_builder_filter_doesNotContain: 'Innehåller inte', - igx_query_builder_filter_startsWith: 'Börjar med', - igx_query_builder_filter_endsWith: 'Slutar med', - igx_query_builder_filter_equals: 'Är lika med', - igx_query_builder_filter_doesNotEqual: 'Är inte lika med', - igx_query_builder_filter_empty: 'Tom', - igx_query_builder_filter_notEmpty: 'Inte tom', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Inte null', - igx_query_builder_filter_in: 'I', - igx_query_builder_filter_notIn: 'Inte i', - igx_query_builder_filter_before: 'Innan', - igx_query_builder_filter_after: 'Efter', - igx_query_builder_filter_at: 'Vid', - igx_query_builder_filter_not_at: 'Inte vid', - igx_query_builder_filter_at_before: 'Vid eller före', - igx_query_builder_filter_at_after: 'Vid eller efter', - igx_query_builder_filter_today: 'I dag', - igx_query_builder_filter_yesterday: 'I går', - igx_query_builder_filter_thisMonth: 'Den här månaden', - igx_query_builder_filter_lastMonth: 'Förra månaden', - igx_query_builder_filter_nextMonth: 'Nästa månad', - igx_query_builder_filter_thisYear: 'Det här året', - igx_query_builder_filter_lastYear: 'Förra året', - igx_query_builder_filter_nextYear: 'Nästa år', - igx_query_builder_filter_greaterThan: 'Större än', - igx_query_builder_filter_lessThan: 'Mindre än', - igx_query_builder_filter_greaterThanOrEqualTo: 'Större än eller lika med', - igx_query_builder_filter_lessThanOrEqualTo: 'Mindre än eller lika med', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'Allt', - igx_query_builder_from_label: 'Från', - igx_query_builder_select_label: 'Välj', - igx_query_builder_where_label: 'Där', - igx_query_builder_and_group: '"Och" -grupp', - igx_query_builder_or_group: '"Eller" -grupp', - igx_query_builder_end_group: 'Slutgrupp', - igx_query_builder_and_label: 'och', - igx_query_builder_or_label: 'eller', - igx_query_builder_switch_group: 'Byt till {0}', - igx_query_builder_add_condition: 'Skapa villkor', - igx_query_builder_add_group: 'Skapa grupp', - igx_query_builder_add_condition_root: 'Villkor', - igx_query_builder_add_group_root: 'Group', - igx_query_builder_ungroup: 'Avgruppera', - igx_query_builder_delete: 'Radera', - igx_query_builder_delete_filters: 'Ta bort filter', - igx_query_builder_initial_text: 'Börja med att skapa en grupp villkor kopplade till "Och" eller "Eller"', - igx_query_builder_column_placeholder: 'Välj kolumn', - igx_query_builder_condition_placeholder: 'Välj filter', - igx_query_builder_value_placeholder: 'Värde', - igx_query_builder_query_value_placeholder: 'Underfrågeresultat', - igx_query_builder_all_fields: 'Alla fält', - igx_query_builder_details: 'Detaljer', - igx_query_builder_search: 'Sök', - igx_query_builder_select_all: 'Välj alla', - igx_query_builder_select_entity: 'Välj enhet', - igx_query_builder_select_return_field_single: 'Välj returfält', - igx_query_builder_select_return_fields: 'Välj returfält', - igx_query_builder_dialog_title: 'Bekräftelse', - igx_query_builder_dialog_message: 'Genom att ändra entitet förlorar du dina nuvarande inställningar. Vill du fortsätta?', - igx_query_builder_dialog_checkbox_text: 'Visa inte den här dialogrutan igen', - igx_query_builder_dialog_cancel: 'Avbryt', - igx_query_builder_dialog_confirm: 'Bekräfta', - igx_query_builder_drop_ghost_text: 'Släpp här för att infoga' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsSV = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/resources.ts index c54912f55d5..e455faa84b4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/resources.ts @@ -15,6 +15,9 @@ import { ActionStripResourceStringsSV } from './action-strip-resources'; /** * Swedish resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsSV = { ...GridResourceStringsSV, diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/time-picker-resources.ts index f3a50b1c1e5..40fe3bb4441 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsSV as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsSV = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Avbryt', - igx_time_picker_change_time: 'Ändra tid', - igx_time_picker_choose_time: 'Välj tid' -} satisfies MakeRequired; +export const TimePickerResourceStringsSV = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/SV/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/SV/tree-resources.ts index 56c0b7b44e0..607ab6db828 100644 --- a/projects/igniteui-angular-i18n/src/i18n/SV/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/SV/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsSV as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Swedish resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsSV = { - igx_expand: 'Expandera', - igx_collapse: 'Reducera' -} satisfies MakeRequired; +export const TreeResourceStringsSV = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/action-strip-resources.ts index adf04616d44..830a4c8b989 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsTR as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsTR = { - igx_action_strip_button_more_title: 'Diğer' -} satisfies MakeRequired; +export const ActionStripResourceStringsTR = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/banner-resources.ts index f27d5b75f67..4b38dbc9182 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsTR as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsTR = { - igx_banner_button_dismiss: 'Kapat' -} satisfies MakeRequired; +export const BannerResourceStringsTR = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/calendar-resources.ts index 9176642954b..f27296f5ef0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsTR as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsTR = { - igx_calendar_previous_month: 'Geçtiğimiz ay', - igx_calendar_next_month: 'Gelecek ay', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Ay seç', - igx_calendar_select_year: 'Yıl Seç', - igx_calendar_range_start: 'Aralık başlangıcı', - igx_calendar_range_end: 'Aralık bitişi', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Seçilen ay ', - igx_calendar_first_picker_of: '{0} için ilk seçici başlangıcı', - igx_calendar_multi_selection: '{0} tarih seçicili çoklu seçim takvimi', - igx_calendar_range_selection: '{0} tarih seçicili aralık seçim takvimi', - igx_calendar_single_selection: '{0} tarih seçicili takvim', - igx_calendar_singular_multi_selection: 'Çoklu seçim takvimi', - igx_calendar_singular_range_selection: 'Aralık seçim takvimi', - igx_calendar_singular_single_selection: 'Takvim' -} satisfies MakeRequired; +export const CalendarResourceStringsTR = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/carousel-resources.ts index ed5dbfae704..d41ef7b105b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsTR as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsTR = { - igx_carousel_of: '/', - igx_carousel_slide: 'slayt', - igx_carousel_previous_slide: 'önceki slayt', - igx_carousel_next_slide: 'sonraki slayt' -} satisfies MakeRequired; +export const CarouselResourceStringsTR = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/chip-resources.ts index f8cc8b93b66..7ae972416f9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsTR as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsTR = { - igx_chip_remove: 'Çip kaldır', - igx_chip_select: 'Çip seçin' -} satisfies MakeRequired; +export const ChipResourceStringsTR = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/combo-resources.ts index 4f7a6167e9f..bf5ecbeacee 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsTR as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsTR = { - igx_combo_empty_message: 'Liste boş', - igx_combo_filter_search_placeholder: 'Arama terimi girin', - igx_combo_addCustomValues_placeholder: 'Öğe ekle', - igx_combo_clearItems_placeholder: 'Seçimi temizle', - igx_combo_aria_label_options: 'Seçilen seçenekler', - igx_combo_aria_label_no_options: 'Seçilen seçenek yok' -} satisfies MakeRequired; +export const ComboResourceStringsTR = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/date-picker-resources.ts index 8c57784f2b7..db3ef55a1af 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsTR as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsTR = { - igx_date_picker_change_date: 'Tarihi değiştir', - igx_date_picker_choose_date: 'Tarih seçin' -} satisfies MakeRequired; +export const DatePickerResourceStringsTR = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/date-range-picker-resources.ts index d2664e3580a..05faa1cd85a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsTR as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsTR = { - igx_date_range_picker_date_separator: '-', - igx_date_range_picker_done_button: 'Bitti', - igx_date_range_picker_cancel_button: 'İptal', - igx_date_range_picker_last7Days: 'Son 7 gün', - igx_date_range_picker_currentMonth: 'Geçerli ay', - igx_date_range_picker_last30Days: 'Son 30 gün', - igx_date_range_picker_yearToDate: 'Yılbaşı itibarıyla', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsTR = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts index a68fbf87159..eb79404bdf6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsTR as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsTR = { - igx_grid_groupByArea_message: 'Bir sütun başlığını sürükleyin ve o sütuna göre gruplandırmak için buraya bırakın.', - igx_grid_groupByArea_select_message: 'Alan adı {0} ve değeri {1} olan gruptaki tüm satırları seçin.', - igx_grid_groupByArea_deselect_message: 'Gruptaki {0} alan adına ve {1} değerine sahip tüm satırların seçimini kaldırın.', - igx_grid_emptyFilteredGrid_message: 'Kayıt bulunamadı.', - igx_grid_emptyGrid_message: 'Kılavuz veri içermiyor.', - igx_grid_filter: 'Filtrele', - igx_grid_filter_row_close: 'Kapat', - igx_grid_filter_row_reset: 'Sıfırla', - igx_grid_filter_row_placeholder: 'Filtre değeri ekle', - igx_grid_filter_row_boolean_placeholder: 'Tümü', - igx_grid_filter_row_date_placeholder: 'Alma tarihi', - igx_grid_filter_row_time_placeholder: 'Alma saati', - igx_grid_filter_operator_and: 'Ve', - igx_grid_filter_operator_or: 'Veya', - igx_grid_complex_filter: 'Karmaşık Filtre', - igx_grid_filter_contains: 'İçerir', - igx_grid_filter_doesNotContain: 'İçermez', - igx_grid_filter_startsWith: 'Başlangıcı', - igx_grid_filter_endsWith: 'Sonu', - igx_grid_filter_equals: 'Eşittir', - igx_grid_filter_doesNotEqual: 'Eşit değildir', - igx_grid_filter_empty: 'Boş', - igx_grid_filter_notEmpty: 'Boş değil', - igx_grid_filter_null: 'Geçersiz', - igx_grid_filter_notNull: 'Geçersiz değil', - igx_grid_filter_before: 'Önce', - igx_grid_filter_after: 'Sonra', - igx_grid_filter_at: 'Şu zaman', - igx_grid_filter_not_at: 'Şu zamanda değil', - igx_grid_filter_at_before: 'Şu zamanda veya öncesinde', - igx_grid_filter_at_after: 'Şu zamanda veya sonrasında', - igx_grid_filter_today: 'Bugün', - igx_grid_filter_yesterday: 'Dün', - igx_grid_filter_thisMonth: 'Bu ay', - igx_grid_filter_lastMonth: 'Geçen ay', - igx_grid_filter_nextMonth: 'Gelecek ay', - igx_grid_filter_thisYear: 'Bu yıl', - igx_grid_filter_lastYear: 'Geçen yıl', - igx_grid_filter_nextYear: 'Gelecek yıl', - igx_grid_filter_greaterThan: 'Büyüktür', - igx_grid_filter_lessThan: 'Küçüktür', - igx_grid_filter_greaterThanOrEqualTo: 'Büyüktür veya Eşittir', - igx_grid_filter_lessThanOrEqualTo: 'Küçüktür veya Eşittir', - igx_grid_filter_true: 'Doğru', - igx_grid_filter_false: 'Yanlış', - igx_grid_filter_all: 'Tümü', - igx_grid_filter_condition_placeholder: 'Filtre seç', - igx_grid_filter_in: 'İçinde', - igx_grid_filter_notIn: 'İçinde değil', - igx_grid_summary_count: 'Sayım', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Maks', - igx_grid_summary_sum: 'Toplam', - igx_grid_summary_average: 'Ort.', - igx_grid_summary_earliest: 'En erken', - igx_grid_summary_latest: 'En geç', - igx_grid_excel_filter_moving_left: 'sola taşı', - igx_grid_excel_filter_moving_left_short: 'sol', - igx_grid_excel_filter_moving_right: 'sağa taşı', - igx_grid_excel_filter_moving_right_short: 'sağ', - igx_grid_excel_filter_moving_header: 'taşı', - igx_grid_excel_filter_sorting_asc: 'artan', - igx_grid_excel_filter_sorting_asc_short: 'art', - igx_grid_excel_filter_sorting_desc: 'azalan', - igx_grid_excel_filter_sorting_desc_short: 'aza', - igx_grid_excel_filter_sorting_header: 'sırala', - igx_grid_excel_filter_clear: 'Sütun filtrelerini temizle', - igx_grid_excel_custom_dialog_add: 'filtre ekle', - igx_grid_excel_custom_dialog_clear: 'Filtreyi temizle', - igx_grid_excel_custom_dialog_header: 'Sütunda özel otomatik filtre: ', - igx_grid_excel_cancel: 'iptal', - igx_grid_excel_apply: 'uygula', - igx_grid_excel_search_placeholder: 'Arama', - igx_grid_excel_select_all: 'Tümünü Seç', - igx_grid_excel_select_all_search_results: 'Tüm arama sonuçlarını seç', - igx_grid_excel_add_to_filter: 'Geçerli seçimi filtrelemek için ekle', - igx_grid_excel_blanks: '(Boşluklar)', - igx_grid_excel_hide: 'Sütunu gizle', - igx_grid_excel_show: 'Sütunu göster', - igx_grid_excel_pin: 'Sütunu sabitle', - igx_grid_excel_unpin: 'Sütunun sabitlemesini kaldır', - igx_grid_excel_select: 'Sütun seç', - igx_grid_excel_deselect: 'Sütunun seçimini kaldır', - igx_grid_excel_text_filter: 'Metin filtresi', - igx_grid_excel_number_filter: 'Sayı filtresi', - igx_grid_excel_date_filter: 'Tarih filtresi', - igx_grid_excel_boolean_filter: 'Boole filtresi', - igx_grid_excel_currency_filter: 'Para birimi filtresi', - igx_grid_excel_custom_filter: 'Özel filtre...', - igx_grid_excel_no_matches: 'Eşleşme yok', - igx_grid_excel_matches_count: '{0} eşleşme', - igx_grid_advanced_filter_title: 'Gelişmiş Filtreleme', - igx_grid_advanced_filter_from_label: 'Başlangıç', - igx_grid_advanced_filter_and_group: '"Ve" Grubu', - igx_grid_advanced_filter_or_group: '"Veya" Grubu', - igx_grid_advanced_filter_end_group: 'Bitiş Grubu', - igx_grid_advanced_filter_create_and_group: '"Ve" Grubu Oluştur', - igx_grid_advanced_filter_create_or_group: '"Veya" Grubu Oluştur', - igx_grid_advanced_filter_and_label: 've', - igx_grid_advanced_filter_or_label: 'veya', - igx_grid_advanced_filter_switch_group: 'Şura geç: {0}', - igx_grid_advanced_filter_add_condition: 'Koşul ekle', - igx_grid_advanced_filter_add_group: 'Grup ekle', - igx_grid_advanced_filter_add_condition_root: 'Koşul', - igx_grid_advanced_filter_add_group_root: 'Grup', - igx_grid_advanced_filter_ungroup: 'Grubu çöz', - igx_grid_advanced_filter_delete: 'Sil', - igx_grid_advanced_filter_delete_filters: 'Filtreleri sil', - igx_grid_advanced_filter_initial_text: '"Ve" veya "Veya" ile bağlantılı bir grup koşul oluşturarak başlayın', - igx_grid_advanced_filter_column_placeholder: 'Sütun seç', - igx_grid_advanced_filter_value_placeholder: 'Değer', - igx_grid_advanced_filter_query_value_placeholder: 'Alt sorgu sonuçları', - igx_grid_advanced_filter_select_entity: 'Varlık seç', - igx_grid_advanced_filter_select_return_field_single: 'Dönüş alanını seç', - igx_grid_advanced_filter_dialog_title: 'Onay', - igx_grid_advanced_filter_dialog_message: 'Varlığı değiştirdiğinizde mevcut ayarlarınızı kaybedersiniz. Devam etmek istiyor musunuz?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Bu iletişim kutusunu bir daha gösterme', - igx_grid_advanced_filter_drop_ghost_text: 'Eklemek için buraya bırakın', - igx_grid_pinned_row_indicator: 'Sabitlendi', - igx_grid_hiding_check_all_label: 'Tümünü Göster', - igx_grid_hiding_uncheck_all_label: 'Tümünü Gizle', - igx_grid_pinning_check_all_label: 'Tümünü Sabitle', - igx_grid_pinning_uncheck_all_label: 'Tümünün Sabitlemesini Kaldır', - igx_grid_row_edit_btn_done: 'Bitti', - igx_grid_row_edit_btn_cancel: 'İptal', - igx_grid_row_edit_text: 'Bu satırda {0} değişikliğiniz ve {1} gizli sütununuz var', - igx_grid_toolbar_actions_filter_prompt: 'Sütun listesini filtrele ...', - igx_grid_toolbar_pinning_button_tooltip: 'Sütun sabitleme açılır menüsünü aç', - igx_grid_toolbar_hiding_button_tooltip: 'Sütun gizleme açılır menüsünü aç', - igx_grid_toolbar_pinning_title: 'Sabitlenmiş sütunlar', - igx_grid_toolbar_hiding_title: 'Görülür sütunlar', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Gelişmiş filtreleme iletişim kutusunu aç', - igx_grid_toolbar_advanced_filtering_button_label: 'Gelişmiş filtreleme', - igx_grid_toolbar_exporter_button_tooltip: 'İhracatçı açılır menüsünü aç', - igx_grid_toolbar_exporter_button_label: 'Dışarı Aktarma', - igx_grid_toolbar_exporter_excel_entry_text: 'Excel\'ye Aktar', - igx_grid_toolbar_exporter_csv_entry_text: 'CSV\'ye Aktar', - igx_grid_snackbar_addrow_label: 'Satır eklendi', - igx_grid_snackbar_addrow_actiontext: 'GÖSTER', - igx_grid_actions_edit_label: 'Düzenle', - igx_grid_actions_add_label: 'Ekle', - igx_grid_add_row_label: 'SATIR EKLE', - igx_grid_actions_add_child_label: 'Alt Birim Ekle', - igx_grid_actions_delete_label: 'Sil', - igx_grid_actions_pin_label: 'Sabitle', - igx_grid_actions_unpin_label: 'Sabitlemeyi Kaldır', - igx_grid_actions_jumpUp_label: 'Yukarı atla', - igx_grid_actions_jumpDown_label: 'Aşağı atla', - igx_grid_pivot_date_dimension_total: 'Tüm Dönemler', - igx_grid_pivot_aggregate_count: 'Sayı', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maksimum', - igx_grid_pivot_aggregate_sum: 'Toplam', - igx_grid_pivot_aggregate_avg: 'Ortalama', - igx_grid_pivot_aggregate_date_latest: 'Son tarih', - igx_grid_pivot_aggregate_date_earliest: 'En erken tarih', - igx_grid_pivot_aggregate_time_latest: 'Son zaman', - igx_grid_pivot_aggregate_time_earliest: 'En erken zaman', - igx_grid_pivot_empty_row_drop_area: 'Satır Alanlarını Buraya Bırakın.', - igx_grid_pivot_empty_column_drop_area: 'Sütun Alanlarını Buraya Bırakın.', - igx_grid_pivot_empty_filter_drop_area: 'Filtre Alanlarını Buraya Bırakın.', - igx_grid_pivot_empty_value_drop_area: 'Değer Alanlarını Buraya Bırakın.', - igx_grid_pivot_row_drop_chip: 'Satır olarak kullanmak için buraya bırakın', - igx_grid_pivot_column_drop_chip: 'Sütun olarak kullanmak için buraya bırakın', - igx_grid_pivot_filter_drop_chip: 'Filtre olarak kullanmak için buraya bırakın', - igx_grid_pivot_value_drop_chip: 'Değer olarak kullanmak için buraya bırakın', - igx_grid_pivot_selector_filters: 'Filtreler', - igx_grid_pivot_selector_rows: 'Satırlar', - igx_grid_pivot_selector_columns: 'Sütunlar', - igx_grid_pivot_selector_values: 'Değerler', - igx_grid_pivot_selector_panel_empty: 'Öğeleri buraya sürükleyin', - igx_grid_pivot_empty_message: 'Pivot Kılavuz boyutları ve değerleri yoktur.', - igx_grid_required_validation_error: 'Bu alan gereklidir', - igx_grid_min_validation_error: 'En az {0} değeri girilmelidir', - igx_grid_max_validation_error: 'En fazla {0} değeri girilmelidir', - igx_grid_min_length_validation_error: 'Giriş en az {0} karakter uzunluğunda olmalıdır', - igx_grid_max_length_validation_error: 'Giriş, {0} karakterden uzun olmamalıdır', - igx_grid_email_validation_error: 'Geçerli bir e-posta adresi girilmelidir', - igx_grid_pattern_validation_error: 'Giriş, gerekli modelle eşleşmiyor' -} satisfies MakeRequired; +export const GridResourceStringsTR = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/input-resources.ts index 1f955ae7905..c99940c0014 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsTR as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsTR = { - igx_input_upload_button: 'Dosya yükle', - igx_input_file_placeholder: 'Dosya seçilmedi' -} satisfies MakeRequired; +export const InputResourceStringsTR = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/list-resources.ts index 91282165347..11847b96e3c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsTR as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsTR = { - igx_list_no_items: 'Listede hiç öğe yok.', - igx_list_loading: 'Sunucudan veri yükleniyor...' -} satisfies MakeRequired; +export const ListResourceStringsTR = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/paginator-resources.ts index 843e7e46755..b3921f10efb 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsTR as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsTR = { - igx_paginator_label: 'Sayfa başına öğeler', - igx_paginator_pager_text: '/', - igx_paginator_first_page_button_text: 'İlk sayfaya git', - igx_paginator_previous_page_button_text: 'Önceki sayfa', - igx_paginator_last_page_button_text: 'Son sayfaya git', - igx_paginator_next_page_button_text: 'Sonraki Sayfa', -} satisfies MakeRequired; +export const PaginatorResourceStringsTR = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/query-builder-resources.ts index 055476f0707..977691309db 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsTR as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Turkish resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsTR = { - igx_query_builder_date_placeholder: 'Alma tarihi', - igx_query_builder_time_placeholder: 'Alma saati', - igx_query_builder_datetime_placeholder: 'Tarih ve saat seç', - igx_query_builder_filter_operator_and: 'Ve', - igx_query_builder_filter_operator_or: 'Veya', - igx_query_builder_filter_contains: 'İçerir', - igx_query_builder_filter_doesNotContain: 'İçermez', - igx_query_builder_filter_startsWith: 'Başlangıcı', - igx_query_builder_filter_endsWith: 'Sonu', - igx_query_builder_filter_equals: 'Eşittir', - igx_query_builder_filter_doesNotEqual: 'Eşit değildir', - igx_query_builder_filter_empty: 'Boş', - igx_query_builder_filter_notEmpty: 'Boş değil', - igx_query_builder_filter_null: 'Geçersiz', - igx_query_builder_filter_notNull: 'Geçersiz değil', - igx_query_builder_filter_in: 'İçinde', - igx_query_builder_filter_notIn: 'İçinde değil', - igx_query_builder_filter_before: 'Önce', - igx_query_builder_filter_after: 'Sonra', - igx_query_builder_filter_at: 'Şu zaman', - igx_query_builder_filter_not_at: 'Şu zamanda değil', - igx_query_builder_filter_at_before: 'Şu zamanda veya öncesinde', - igx_query_builder_filter_at_after: 'Şu zamanda veya sonrasında', - igx_query_builder_filter_today: 'Bugün', - igx_query_builder_filter_yesterday: 'Dün', - igx_query_builder_filter_thisMonth: 'Bu ay', - igx_query_builder_filter_lastMonth: 'Geçen ay', - igx_query_builder_filter_nextMonth: 'Gelecek ay', - igx_query_builder_filter_thisYear: 'Bu yıl', - igx_query_builder_filter_lastYear: 'Geçen yıl', - igx_query_builder_filter_nextYear: 'Gelecek yıl', - igx_query_builder_filter_greaterThan: 'Büyüktür', - igx_query_builder_filter_lessThan: 'Küçüktür', - igx_query_builder_filter_greaterThanOrEqualTo: 'Büyüktür veya Eşittir', - igx_query_builder_filter_lessThanOrEqualTo: 'Küçüktür veya Eşittir', - igx_query_builder_filter_true: 'Doğru', - igx_query_builder_filter_false: 'Yanlış', - igx_query_builder_filter_all: 'Tümü', - igx_query_builder_from_label: 'Başlangıç', - igx_query_builder_select_label: 'Seç', - igx_query_builder_where_label: 'Nerede', - igx_query_builder_and_group: '"Ve" Grubu', - igx_query_builder_or_group: '"Veya" Grubu', - igx_query_builder_end_group: 'Bitiş Grubu', - igx_query_builder_and_label: 've', - igx_query_builder_or_label: 'veya', - igx_query_builder_switch_group: 'Şura geç: {0}', - igx_query_builder_add_condition: 'Koşul oluştur', - igx_query_builder_add_group: 'Grubu oluştur', - igx_query_builder_add_condition_root: 'Koşul', - igx_query_builder_add_group_root: 'Grubu', - igx_query_builder_ungroup: 'Grubu çöz', - igx_query_builder_delete: 'Sil', - igx_query_builder_delete_filters: 'Filtreleri sil', - igx_query_builder_initial_text: '"Ve" veya "Veya" ile bağlantılı bir grup koşul oluşturarak başlayın', - igx_query_builder_column_placeholder: 'Sütun seç', - igx_query_builder_condition_placeholder: 'Filtre seç', - igx_query_builder_value_placeholder: 'Değer', - igx_query_builder_query_value_placeholder: 'Alt sorgu sonuçları', - igx_query_builder_all_fields: 'Tüm alanlar', - igx_query_builder_details: 'Detaylar', - igx_query_builder_search: 'Arama', - igx_query_builder_select_all: 'Tümünü seç', - igx_query_builder_select_entity: 'Varlık seç', - igx_query_builder_select_return_field_single: 'Dönüş alanını seçin', - igx_query_builder_select_return_fields: 'Dönüş alanlarını seç', - igx_query_builder_dialog_title: 'Onay', - igx_query_builder_dialog_message: 'Varlığı değiştirdiğinizde mevcut ayarlarınızı kaybedersiniz. Devam etmek istiyor musunuz?', - igx_query_builder_dialog_checkbox_text: 'Bu iletişim kutusunu bir daha gösterme', - igx_query_builder_dialog_cancel: 'İptal', - igx_query_builder_dialog_confirm: 'Onayla', - igx_query_builder_drop_ghost_text: 'Eklemek için buraya bırakın' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsTR = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/resources.ts index 1af62bf93bf..e653ce5af62 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsTR } from './action-strip-resources'; /** * Turkish resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsTR = { ...GridResourceStringsTR, diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/time-picker-resources.ts index d970b7b161e..a99515564a0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsTR as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsTR = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Iptal', - igx_time_picker_change_time: 'Saati değiştir', - igx_time_picker_choose_time: 'Saat seçin' -} satisfies MakeRequired; +export const TimePickerResourceStringsTR = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/TR/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/TR/tree-resources.ts index 50a06ce61f3..359efca064c 100644 --- a/projects/igniteui-angular-i18n/src/i18n/TR/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/TR/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsTR as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Turkish resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsTR = { - igx_expand: 'Genişlet', - igx_collapse: 'Daralt' -} satisfies MakeRequired; +export const TreeResourceStringsTR = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/action-strip-resources.ts index 89c6869553d..86b544592d5 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsZHHANS as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsZHHANS = { - igx_action_strip_button_more_title: '其他' -} satisfies MakeRequired; +export const ActionStripResourceStringsZHHANS = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/banner-resources.ts index 9c0ad70b521..fd493e4d30b 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsZHHANS as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsZHHANS = { - igx_banner_button_dismiss: '取消' -} satisfies MakeRequired; +export const BannerResourceStringsZHHANS = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/calendar-resources.ts index 9453317a2a9..19963dd34ff 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsZHHANS as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsZHHANS = { - igx_calendar_previous_month: '上个月', - igx_calendar_next_month: '下个月', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: '选择月', - igx_calendar_select_year: '选择年', - igx_calendar_range_start: '范围开始', - igx_calendar_range_end: '范围结束', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: '所选月份: ', - igx_calendar_first_picker_of: '{0} 的第一个选择器从开始', - igx_calendar_multi_selection: '带有 {0} 日期选择器的多选日历', - igx_calendar_range_selection: '带有 {0} 日期选择器的范围选择日历', - igx_calendar_single_selection: '带有 {0} 日期选择器的日历', - igx_calendar_singular_multi_selection: '多选日历', - igx_calendar_singular_range_selection: '范围选择日历', - igx_calendar_singular_single_selection: '日历' -} satisfies MakeRequired; +export const CalendarResourceStringsZHHANS = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/carousel-resources.ts index 484ae8dca98..4e4e93b449f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsZHHANS as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsZHHANS = { - igx_carousel_of: '的', - igx_carousel_slide: '幻灯片', - igx_carousel_previous_slide: '上一张幻灯片', - igx_carousel_next_slide: '下一张幻灯片' -} satisfies MakeRequired; +export const CarouselResourceStringsZHHANS = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/chip-resources.ts index 0d203106771..0ef6d7f0c03 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsZHHANS as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsZHHANS = { - igx_chip_remove: '移除芯片', - igx_chip_select: '选择芯片' -} satisfies MakeRequired; +export const ChipResourceStringsZHHANS = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/combo-resources.ts index f8d6de7873a..e219e468908 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsZHHANS as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsZHHANS = { - igx_combo_empty_message: '列表为空', - igx_combo_filter_search_placeholder: '输入搜索字符串', - igx_combo_addCustomValues_placeholder: '添加项目', - igx_combo_clearItems_placeholder: '清除选择', - igx_combo_aria_label_options: '选定的选项', - igx_combo_aria_label_no_options: '没有选定的选项' -} satisfies MakeRequired; +export const ComboResourceStringsZHHANS = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-picker-resources.ts index 02a2b4ef0ac..fe32b9fbef9 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsZHHANS as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsZHHANS = { - igx_date_picker_change_date: '更改日期', - igx_date_picker_choose_date: '选择日期' -} satisfies MakeRequired; +export const DatePickerResourceStringsZHHANS = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-range-picker-resources.ts index 3613a51959c..ef0e645d8c4 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsZHHANS as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsZHHANS = { - igx_date_range_picker_date_separator: '至', - igx_date_range_picker_done_button: '完成', - igx_date_range_picker_cancel_button: '取消', - igx_date_range_picker_last7Days: '最近7天', - igx_date_range_picker_currentMonth: '本月', - igx_date_range_picker_last30Days: '最近30天', - igx_date_range_picker_yearToDate: '年初至今', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsZHHANS = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts index b4887b9be69..dd5ae4e1fec 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsZHHANS as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsZHHANS = { - igx_grid_groupByArea_message: '将列标题拖放到此处以按该列分组。', - igx_grid_emptyFilteredGrid_message: '未找到任何记录。', - igx_grid_emptyGrid_message: '网格无数据。', - igx_grid_filter: '筛选器', - igx_grid_filter_row_close: '关闭', - igx_grid_filter_row_reset: '重置', - igx_grid_filter_row_placeholder: '添加筛选器值', - igx_grid_filter_row_boolean_placeholder: '全部', - igx_grid_filter_row_date_placeholder: '选择日期', - igx_grid_filter_row_time_placeholder: '取车时间', - igx_grid_filter_operator_and: '和', - igx_grid_filter_operator_or: '或', - igx_grid_complex_filter: '复合筛选器', - igx_grid_filter_contains: '包含', - igx_grid_filter_doesNotContain: '不包含', - igx_grid_filter_startsWith: '开始条件', - igx_grid_filter_endsWith: '结束条件', - igx_grid_filter_equals: '等于', - igx_grid_filter_doesNotEqual: '不等于', - igx_grid_filter_empty: '空白', - igx_grid_filter_notEmpty: '非空', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: '非 Null', - igx_grid_filter_before: '之前', - igx_grid_filter_after: '之后', - igx_grid_filter_at: '在', - igx_grid_filter_not_at: '不在', - igx_grid_filter_at_before: '不晚于', - igx_grid_filter_at_after: '不早于', - igx_grid_filter_today: '今天', - igx_grid_filter_yesterday: '昨天', - igx_grid_filter_thisMonth: '本月', - igx_grid_filter_lastMonth: '上个月', - igx_grid_filter_nextMonth: '下个月', - igx_grid_filter_thisYear: '本年', - igx_grid_filter_lastYear: '去年', - igx_grid_filter_nextYear: '明年', - igx_grid_filter_greaterThan: '大于', - igx_grid_filter_lessThan: '小于', - igx_grid_filter_greaterThanOrEqualTo: '大于或等于', - igx_grid_filter_lessThanOrEqualTo: '小于或等于', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: '全部', - igx_grid_filter_condition_placeholder: '选择筛选器', - igx_grid_filter_in: '在', - igx_grid_filter_notIn: '不在', - igx_grid_summary_count: '计算', - igx_grid_summary_min: '最小', - igx_grid_summary_max: '最大', - igx_grid_summary_sum: '合计', - igx_grid_summary_average: '平均', - igx_grid_summary_earliest: '最早', - igx_grid_summary_latest: '最新', - igx_grid_excel_filter_moving_left: '向左移动', - igx_grid_excel_filter_moving_left_short: '左', - igx_grid_excel_filter_moving_right: '向右移动', - igx_grid_excel_filter_moving_right_short: '右', - igx_grid_excel_filter_moving_header: '移动', - igx_grid_excel_filter_sorting_asc: '升序', - igx_grid_excel_filter_sorting_asc_short: '升序', - igx_grid_excel_filter_sorting_desc: '降序', - igx_grid_excel_filter_sorting_desc_short: '降序', - igx_grid_excel_filter_sorting_header: '排序', - igx_grid_excel_filter_clear: '清除列筛选器', - igx_grid_excel_custom_dialog_add: '添加筛选器', - igx_grid_excel_custom_dialog_clear: '清除筛选器', - igx_grid_excel_custom_dialog_header: '在列上自定义自动筛选器: ', - igx_grid_excel_cancel: '取消', - igx_grid_excel_apply: '应用', - igx_grid_excel_search_placeholder: '搜索', - igx_grid_excel_select_all: '全部选择', - igx_grid_excel_select_all_search_results: '选择所有搜索结果', - igx_grid_excel_add_to_filter: '将当前选择添加至筛选器', - igx_grid_excel_blanks: '(空白)', - igx_grid_excel_hide: '隐藏列', - igx_grid_excel_show: '显示列', - igx_grid_excel_pin: '固定列', - igx_grid_excel_unpin: '取消固定列', - igx_grid_excel_select: '选择列', - igx_grid_excel_deselect: '取消选择列', - igx_grid_excel_text_filter: '文本筛选器', - igx_grid_excel_number_filter: '数字筛选器', - igx_grid_excel_date_filter: '日期筛选器', - igx_grid_excel_boolean_filter: '布尔筛选器', - igx_grid_excel_currency_filter: '货币筛选器', - igx_grid_excel_custom_filter: '自定义筛选器...', - igx_grid_excel_no_matches: '无匹配项', - igx_grid_excel_matches_count: '{0} 个匹配项', - igx_grid_advanced_filter_title: '高级筛选', - igx_grid_advanced_filter_from_label: '从', - igx_grid_advanced_filter_and_group: '"And" 组', - igx_grid_advanced_filter_or_group: '"Or" 组', - igx_grid_advanced_filter_end_group: '结束组', - igx_grid_advanced_filter_create_and_group: '创建 "And" 组', - igx_grid_advanced_filter_create_or_group: '创建 "Or" 组', - igx_grid_advanced_filter_and_label: '和', - igx_grid_advanced_filter_or_label: '或', - igx_grid_advanced_filter_switch_group: '切换至 {0}', - igx_grid_advanced_filter_add_condition: '添加条件', - igx_grid_advanced_filter_add_group: '添加组', - igx_grid_advanced_filter_add_condition_root: '条件', - igx_grid_advanced_filter_add_group_root: '组', - igx_grid_advanced_filter_ungroup: '取消分组', - igx_grid_advanced_filter_delete: '删除', - igx_grid_advanced_filter_delete_filters: '删除筛选器', - igx_grid_advanced_filter_initial_text: '首先创建与 "And" 或 "Or" 链接的一组条件', - igx_grid_advanced_filter_column_placeholder: '选择列', - igx_grid_advanced_filter_value_placeholder: '数值', - igx_grid_advanced_filter_query_value_placeholder: '子查询结果', - igx_grid_advanced_filter_select_entity: '选择实体', - igx_grid_advanced_filter_select_return_field_single: '选择返回字段', - igx_grid_advanced_filter_dialog_title: '确认', - igx_grid_advanced_filter_dialog_message: '通过更改实体,您将丢失当前设置。确定要继续?', - igx_grid_advanced_filter_dialog_checkbox_text: '不再显示此对话框', - igx_grid_advanced_filter_drop_ghost_text: '拖放此处以插入', - igx_grid_pinned_row_indicator: '已固定', - igx_grid_hiding_check_all_label: '全部显示', - igx_grid_hiding_uncheck_all_label: '全部隐藏', - igx_grid_pinning_check_all_label: '全部固定', - igx_grid_pinning_uncheck_all_label: '全部取消固定', - igx_grid_row_edit_btn_done: '完成', - igx_grid_row_edit_btn_cancel: '取消', - igx_grid_row_edit_text: '您在此行和 {1} 个隐藏列中有 {0} 个更改', - igx_grid_toolbar_actions_filter_prompt: '筛选列列表...', - igx_grid_toolbar_pinning_button_tooltip: '打开列固定下拉列表', - igx_grid_toolbar_hiding_button_tooltip: '打开列隐藏下拉列表', - igx_grid_toolbar_pinning_title: '固定列', - igx_grid_toolbar_hiding_title: '可见列', - igx_grid_toolbar_advanced_filtering_button_tooltip: '打开高级筛选对话框', - igx_grid_toolbar_advanced_filtering_button_label: '高级筛选', - igx_grid_toolbar_exporter_button_tooltip: '打开导出器下拉列表', - igx_grid_toolbar_exporter_button_label: '导出', - igx_grid_toolbar_exporter_excel_entry_text: '导出至 Excel', - igx_grid_toolbar_exporter_csv_entry_text: '导出为 CSV', - igx_grid_groupByArea_select_message: '选择组中字段名称为 {0} 且值为 {1} 的所有行。', - igx_grid_groupByArea_deselect_message: '取消选择组中字段名称为 {0} 且值为 {1} 的所有行。', - igx_grid_snackbar_addrow_label: '已添加行', - igx_grid_snackbar_addrow_actiontext: '显示', - igx_grid_actions_edit_label: '编辑', - igx_grid_actions_add_label: '添加', - igx_grid_add_row_label: '添加行', - igx_grid_actions_add_child_label: '添加子项', - igx_grid_actions_delete_label: '删除', - igx_grid_actions_pin_label: '固定', - igx_grid_actions_unpin_label: '取消固定', - igx_grid_actions_jumpUp_label: '跳上', - igx_grid_actions_jumpDown_label: '跳下', - igx_grid_pivot_date_dimension_total: '所有时期', - igx_grid_pivot_aggregate_count: '计算', - igx_grid_pivot_aggregate_min: '最小值', - igx_grid_pivot_aggregate_max: '最大值', - igx_grid_pivot_aggregate_sum: '合计', - igx_grid_pivot_aggregate_avg: '平均', - igx_grid_pivot_aggregate_date_latest: '最晚日期', - igx_grid_pivot_aggregate_date_earliest: '最早日期', - igx_grid_pivot_aggregate_time_latest: '最新时间', - igx_grid_pivot_aggregate_time_earliest: '最早时间', - igx_grid_pivot_empty_row_drop_area: '将行字段拖放到此处.', - igx_grid_pivot_empty_column_drop_area: '将列字段拖放到此处.', - igx_grid_pivot_empty_filter_drop_area: '将筛选器字段拖放到此处.', - igx_grid_pivot_empty_value_drop_area: '将值字段拖放到此处.', - igx_grid_pivot_row_drop_chip: '放在这里用作行', - igx_grid_pivot_column_drop_chip: '放在这里用作列', - igx_grid_pivot_filter_drop_chip: '放在这里用作筛选器', - igx_grid_pivot_value_drop_chip: '放在这里用作值', - igx_grid_pivot_selector_filters: '筛选器', - igx_grid_pivot_selector_rows: '行', - igx_grid_pivot_selector_columns: '列', - igx_grid_pivot_selector_values: '值', - igx_grid_pivot_selector_panel_empty: '拖动项目到此处', - igx_grid_pivot_empty_message: '透视网格没有维度和值。', - igx_grid_required_validation_error: '此字段为必填项', - igx_grid_min_validation_error: '至少应输入 {0} 的值', - igx_grid_max_validation_error: '必须输入不超过 {0} 的值', - igx_grid_min_length_validation_error: '输入项的字符长度至少应为 {0} 个字符', - igx_grid_max_length_validation_error: '输入项的字符不得超过 {0} 个字符', - igx_grid_email_validation_error: '必须输入有效的电子邮件地址', - igx_grid_pattern_validation_error: '输入项与要求的模式不匹配' -} satisfies MakeRequired; +export const GridResourceStringsZHHANS = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/input-resources.ts index db24853d6f1..afaec51e531 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsZHHANS as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsZHHANS = { - igx_input_upload_button: '上传文件', - igx_input_file_placeholder: '未选择文件' -} satisfies MakeRequired; +export const InputResourceStringsZHHANS = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/list-resources.ts index 18a631b0160..c8738e198a6 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsZHHANS as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsZHHANS = { - igx_list_no_items: '列表中没有任何项。', - igx_list_loading: '正在从服务器加载数据...' -} satisfies MakeRequired; +export const ListResourceStringsZHHANS = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/paginator-resources.ts index f2f012a422c..2731404f142 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsZHHANS as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsZHHANS = { - igx_paginator_label: '每页的项数', - igx_paginator_pager_text: '/', - igx_paginator_first_page_button_text: '转到第一页', - igx_paginator_previous_page_button_text: '上一页', - igx_paginator_last_page_button_text: '转到最后一页', - igx_paginator_next_page_button_text: '下一页' -} satisfies MakeRequired; +export const PaginatorResourceStringsZHHANS = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/query-builder-resources.ts index 38a6fac41ea..5c4226d510f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsZHHANS as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Simplified Chinese (zh-Hans) resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsZHHANS = { - igx_query_builder_date_placeholder: '选择日期', - igx_query_builder_time_placeholder: '取车时间', - igx_query_builder_datetime_placeholder: '选择日期和时间', - igx_query_builder_filter_operator_and: '和', - igx_query_builder_filter_operator_or: '或', - igx_query_builder_filter_contains: '包含', - igx_query_builder_filter_doesNotContain: '不包含', - igx_query_builder_filter_startsWith: '开始条件', - igx_query_builder_filter_endsWith: '结束条件', - igx_query_builder_filter_equals: '等于', - igx_query_builder_filter_doesNotEqual: '不等于', - igx_query_builder_filter_empty: '空白', - igx_query_builder_filter_notEmpty: '非空', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: '非 Null', - igx_query_builder_filter_in: '在', - igx_query_builder_filter_notIn: '不在', - igx_query_builder_filter_before: '之前', - igx_query_builder_filter_after: '之后', - igx_query_builder_filter_at: '在', - igx_query_builder_filter_not_at: '不在', - igx_query_builder_filter_at_before: '不晚于', - igx_query_builder_filter_at_after: '不早于', - igx_query_builder_filter_today: '今天', - igx_query_builder_filter_yesterday: '昨天', - igx_query_builder_filter_thisMonth: '本月', - igx_query_builder_filter_lastMonth: '上个月', - igx_query_builder_filter_nextMonth: '下个月', - igx_query_builder_filter_thisYear: '本年', - igx_query_builder_filter_lastYear: '去年', - igx_query_builder_filter_nextYear: '明年', - igx_query_builder_filter_greaterThan: '大于', - igx_query_builder_filter_lessThan: '小于', - igx_query_builder_filter_greaterThanOrEqualTo: '大于或等于', - igx_query_builder_filter_lessThanOrEqualTo: '小于或等于', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: '全部', - igx_query_builder_from_label: '从', - igx_query_builder_select_label: '选择', - igx_query_builder_where_label: '在哪里', - igx_query_builder_and_group: '"And" 组', - igx_query_builder_or_group: '"Or" 组', - igx_query_builder_end_group: '结束组', - igx_query_builder_and_label: '和', - igx_query_builder_or_label: '或', - igx_query_builder_switch_group: '切换至 {0}', - igx_query_builder_add_condition: '创建 条件', - igx_query_builder_add_group: '创建 组', - igx_query_builder_add_condition_root: '条件', - igx_query_builder_add_group_root: '组', - igx_query_builder_ungroup: '取消分组', - igx_query_builder_delete: '删除', - igx_query_builder_delete_filters: '删除筛选器', - igx_query_builder_initial_text: '首先创建与 "And" 或 "Or" 链接的一组条件', - igx_query_builder_column_placeholder: '选择列', - igx_query_builder_condition_placeholder: '选择筛选器', - igx_query_builder_value_placeholder: '数值', - igx_query_builder_query_value_placeholder: '子查询结果', - igx_query_builder_all_fields: '所有字段', - igx_query_builder_details: '详细信息', - igx_query_builder_search: '搜索', - igx_query_builder_select_all: '全选', - igx_query_builder_select_entity: '选择实体', - igx_query_builder_select_return_field_single: '选择返回字段', - igx_query_builder_select_return_fields: '选择返回字段', - igx_query_builder_dialog_title: '确认', - igx_query_builder_dialog_message: '通过更改实体,您将丢失当前设置。确定要继续?', - igx_query_builder_dialog_checkbox_text: '不再显示此对话框', - igx_query_builder_dialog_cancel: '取消', - igx_query_builder_dialog_confirm: '确认', - igx_query_builder_drop_ghost_text: '拖放此处以插入' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsZHHANS = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/resources.ts index d92bdb46af8..794a48fe844 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsZHHANS } from './action-strip-resources'; /** * Simplified Chinese (zh-Hans) resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsZHHANS = { ...CalendarResourceStringsZHHANS, diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/time-picker-resources.ts index e6866657969..16eb940d448 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsZHHANS as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsZHHANS = { - igx_time_picker_ok: '确定', - igx_time_picker_cancel: '取消', - igx_time_picker_change_time: '更改时间', - igx_time_picker_choose_time: '选择时间' -} satisfies MakeRequired; +export const TimePickerResourceStringsZHHANS = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/tree-resources.ts index f71fc957619..9dd2fdb86e7 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANS/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsZHHANS as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Simplified Chinese (zh-Hans) resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsZHHANS = { - igx_expand: '展开', - igx_collapse: '折叠' -} satisfies MakeRequired; +export const TreeResourceStringsZHHANS = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/action-strip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/action-strip-resources.ts index 36d7c7b7222..527f135b1ed 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/action-strip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/action-strip-resources.ts @@ -1,9 +1,11 @@ import { IActionStripResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsZHHANT as AActionStripResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxActionStrip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ActionStripResourceStringsZHHANT = { - igx_action_strip_button_more_title: '其他' -} satisfies MakeRequired; +export const ActionStripResourceStringsZHHANT = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/banner-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/banner-resources.ts index 85312793a9c..6aa913e5256 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/banner-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/banner-resources.ts @@ -1,9 +1,10 @@ -import { IBannerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { BannerResourceStringsZHHANT as ABannerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxBanner + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const BannerResourceStringsZHHANT = { - igx_banner_button_dismiss: '關閉' -} satisfies MakeRequired; +export const BannerResourceStringsZHHANT = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/calendar-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/calendar-resources.ts index 61d23d6f71c..a04f997141f 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/calendar-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/calendar-resources.ts @@ -1,30 +1,10 @@ -import { ICalendarResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CalendarResourceStringsZHHANT as ACalendarResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxCalendar + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CalendarResourceStringsZHHANT = { - igx_calendar_previous_month: '上個月', - igx_calendar_next_month: '下個月', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: '選取月', - igx_calendar_select_year: '選取年', - igx_calendar_range_start: '範圍開始', - igx_calendar_range_end: '範圍結束', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: '選取的月份: ', - igx_calendar_first_picker_of: '{0} 的第一個選擇器從開始', - igx_calendar_multi_selection: '帶有 {0} 日期選擇器的多重選擇日曆', - igx_calendar_range_selection: '帶有 {0} 日期選擇器的範圍選擇日曆', - igx_calendar_single_selection: '帶有 {0} 日期選擇器的日曆', - igx_calendar_singular_multi_selection: '多重選擇日曆', - igx_calendar_singular_range_selection: '範圍選擇日曆', - igx_calendar_singular_single_selection: '日曆' -} satisfies MakeRequired; +export const CalendarResourceStringsZHHANT = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/carousel-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/carousel-resources.ts index 60414b532fb..5cbf3da8eb0 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/carousel-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/carousel-resources.ts @@ -1,12 +1,10 @@ -import { ICarouselResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { CarouselResourceStringsZHHANT as ACarouselResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxCarousel + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const CarouselResourceStringsZHHANT = { - igx_carousel_of: '的', - igx_carousel_slide: '投影片', - igx_carousel_previous_slide: '上一張投影片', - igx_carousel_next_slide: '下一張投影片' -} satisfies MakeRequired; +export const CarouselResourceStringsZHHANT = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/chip-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/chip-resources.ts index f49d88b94ef..b7a707c89ae 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/chip-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/chip-resources.ts @@ -1,10 +1,10 @@ -import { IChipResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ChipResourceStringsZHHANT as AChipResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxChip + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ChipResourceStringsZHHANT = { - igx_chip_remove: '移除晶片', - igx_chip_select: '選取晶片' -} satisfies MakeRequired; +export const ChipResourceStringsZHHANT = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/combo-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/combo-resources.ts index 7ca83831ef4..a9b8db54b09 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/combo-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/combo-resources.ts @@ -1,14 +1,10 @@ -import { IComboResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ComboResourceStringsZHHANT as AComboResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxCombo + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ComboResourceStringsZHHANT = { - igx_combo_empty_message: '清單是空的', - igx_combo_filter_search_placeholder: '輸入搜尋字串', - igx_combo_addCustomValues_placeholder: '新增項目', - igx_combo_clearItems_placeholder: '清除選擇', - igx_combo_aria_label_options: '已選擇的選項', - igx_combo_aria_label_no_options: '沒有已選擇的選項' -} satisfies MakeRequired; +export const ComboResourceStringsZHHANT = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-picker-resources.ts index ca36a4b950a..b2397c96d00 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-picker-resources.ts @@ -1,10 +1,10 @@ -import { IDatePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DatePickerResourceStringsZHHANT as ADatePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxDatePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DatePickerResourceStringsZHHANT = { - igx_date_picker_change_date: '變更日期', - igx_date_picker_choose_date: '選擇日期' -} satisfies MakeRequired; +export const DatePickerResourceStringsZHHANT = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-range-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-range-picker-resources.ts index a58f09701a9..224edeee564 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-range-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/date-range-picker-resources.ts @@ -1,15 +1,10 @@ -import { IDateRangePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { DateRangePickerResourceStringsZHHANT as ADateRangePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxDateRangePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const DateRangePickerResourceStringsZHHANT = { - igx_date_range_picker_date_separator: '到', - igx_date_range_picker_done_button: '完成', - igx_date_range_picker_cancel_button: '取消', - igx_date_range_picker_last7Days: '最近7天', - igx_date_range_picker_currentMonth: '本月', - igx_date_range_picker_last30Days: '最近30天', - igx_date_range_picker_yearToDate: '年初至今', -} satisfies MakeRequired; +export const DateRangePickerResourceStringsZHHANT = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts index 76aa56d39ee..c85a5c9eeb1 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/grid-resources.ts @@ -1,187 +1,10 @@ -import { IGridResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { GridResourceStringsZHHANT as AGridResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxGrid + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const GridResourceStringsZHHANT = { - igx_grid_groupByArea_message: '將列標題拖曳至此處,以按該列分組。', - igx_grid_emptyFilteredGrid_message: '未找到任何記錄。', - igx_grid_emptyGrid_message: '網格沒有資料。', - igx_grid_filter: '篩選條件', - igx_grid_filter_row_close: '關閉', - igx_grid_filter_row_reset: '重設', - igx_grid_filter_row_placeholder: '新增篩選條件值', - igx_grid_filter_row_boolean_placeholder: '全部', - igx_grid_filter_row_date_placeholder: '領取日期', - igx_grid_filter_row_time_placeholder: '取車時間', - igx_grid_filter_operator_and: '和', - igx_grid_filter_operator_or: '或', - igx_grid_complex_filter: '複合過濾器', - igx_grid_filter_contains: '包含', - igx_grid_filter_doesNotContain: '不包含', - igx_grid_filter_startsWith: '開始於', - igx_grid_filter_endsWith: '結束於', - igx_grid_filter_equals: '等於', - igx_grid_filter_doesNotEqual: '不等於', - igx_grid_filter_empty: '空的', - igx_grid_filter_notEmpty: '不是空的', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: '非 Null', - igx_grid_filter_before: '之前', - igx_grid_filter_after: '之後', - igx_grid_filter_at: '在', - igx_grid_filter_not_at: '不在', - igx_grid_filter_at_before: '不晚於', - igx_grid_filter_at_after: '不早於', - igx_grid_filter_today: '今天', - igx_grid_filter_yesterday: '昨天', - igx_grid_filter_thisMonth: '本月', - igx_grid_filter_lastMonth: '上個月', - igx_grid_filter_nextMonth: '下個月', - igx_grid_filter_thisYear: '本年', - igx_grid_filter_lastYear: '去年', - igx_grid_filter_nextYear: '明年', - igx_grid_filter_greaterThan: '大於', - igx_grid_filter_lessThan: '小於', - igx_grid_filter_greaterThanOrEqualTo: '大於或等於', - igx_grid_filter_lessThanOrEqualTo: '小於或等於', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: '全部', - igx_grid_filter_condition_placeholder: '選擇篩選條件', - igx_grid_filter_in: '在', - igx_grid_filter_notIn: '不在', - igx_grid_summary_count: '計數', - igx_grid_summary_min: '最小', - igx_grid_summary_max: '最大', - igx_grid_summary_sum: '總和', - igx_grid_summary_average: '平均', - igx_grid_summary_earliest: '最早', - igx_grid_summary_latest: '最新', - igx_grid_excel_filter_moving_left: '向左移動', - igx_grid_excel_filter_moving_left_short: '左', - igx_grid_excel_filter_moving_right: '向右移動', - igx_grid_excel_filter_moving_right_short: '右', - igx_grid_excel_filter_moving_header: '移動', - igx_grid_excel_filter_sorting_asc: '升序', - igx_grid_excel_filter_sorting_asc_short: '升序', - igx_grid_excel_filter_sorting_desc: '降序', - igx_grid_excel_filter_sorting_desc_short: '降序', - igx_grid_excel_filter_sorting_header: '排序', - igx_grid_excel_filter_clear: '清除列篩選條件', - igx_grid_excel_custom_dialog_add: '新增篩選條件', - igx_grid_excel_custom_dialog_clear: '清除篩選條件', - igx_grid_excel_custom_dialog_header: '自訂自動篩選列: ', - igx_grid_excel_cancel: '取消', - igx_grid_excel_apply: '套用', - igx_grid_excel_search_placeholder: '搜尋', - igx_grid_excel_select_all: '全部選擇', - igx_grid_excel_select_all_search_results: '選擇所有搜索結果', - igx_grid_excel_add_to_filter: '新增當前選擇項至篩選條件', - igx_grid_excel_blanks: '(空白)', - igx_grid_excel_hide: '隱藏列', - igx_grid_excel_show: '顯示列', - igx_grid_excel_pin: '釘選列', - igx_grid_excel_unpin: '取消釘選列', - igx_grid_excel_select: '選擇列', - igx_grid_excel_deselect: '取消選擇列', - igx_grid_excel_text_filter: '文字篩選條件', - igx_grid_excel_number_filter: '編號篩選條件', - igx_grid_excel_date_filter: '日期篩選條件', - igx_grid_excel_boolean_filter: '布林值篩選條件', - igx_grid_excel_currency_filter: '貨幣篩選條件', - igx_grid_excel_custom_filter: '自訂篩選條件...', - igx_grid_excel_no_matches: '沒有相符項目', - igx_grid_excel_matches_count: '{0} 個相符項目', - igx_grid_advanced_filter_title: '進階篩選', - igx_grid_advanced_filter_from_label: '從', - igx_grid_advanced_filter_and_group: '“And” 群組', - igx_grid_advanced_filter_or_group: '“Or” 群組', - igx_grid_advanced_filter_end_group: '結束群組', - igx_grid_advanced_filter_create_and_group: '建立 "And" 群組', - igx_grid_advanced_filter_create_or_group: '建立 "Or" 群組', - igx_grid_advanced_filter_and_label: '和', - igx_grid_advanced_filter_or_label: '或', - igx_grid_advanced_filter_switch_group: '切換到 {0}', - igx_grid_advanced_filter_add_condition: '新增條件', - igx_grid_advanced_filter_add_group: '新增群組', - igx_grid_advanced_filter_add_condition_root: '條件', - igx_grid_advanced_filter_add_group_root: '群組', - igx_grid_advanced_filter_ungroup: '取消分組', - igx_grid_advanced_filter_delete: '刪除', - igx_grid_advanced_filter_delete_filters: '刪除篩選條件', - igx_grid_advanced_filter_initial_text: '開始創建一組條件,這些條件與 "And" 或 "Or" 連接', - igx_grid_advanced_filter_column_placeholder: '選擇列', - igx_grid_advanced_filter_value_placeholder: '數值', - igx_grid_advanced_filter_query_value_placeholder: '子查詢結果', - igx_grid_advanced_filter_select_entity: '選取實體', - igx_grid_advanced_filter_select_return_field_single: '選取返回欄位', - igx_grid_advanced_filter_dialog_title: '確認', - igx_grid_advanced_filter_dialog_message: '透過變更實體,您將遺失目前設定。確定要繼續?', - igx_grid_advanced_filter_dialog_checkbox_text: '不要再顯示這個對話方塊', - igx_grid_advanced_filter_drop_ghost_text: '拖放至此處插入', - igx_grid_pinned_row_indicator: '釘選', - igx_grid_hiding_check_all_label: '顯示全部', - igx_grid_hiding_uncheck_all_label: '隱藏全部', - igx_grid_pinning_check_all_label: '釘選全部', - igx_grid_pinning_uncheck_all_label: '取消全部釘選', - igx_grid_row_edit_btn_done: '完成', - igx_grid_row_edit_btn_cancel: '取消', - igx_grid_row_edit_text: '您對此行和 {1} 個隱藏列進行了 {0} 項更改', - igx_grid_toolbar_actions_filter_prompt: '篩選條件列清單...', - igx_grid_toolbar_pinning_button_tooltip: '打開列釘選下拉式選單', - igx_grid_toolbar_hiding_button_tooltip: '打開列隱藏下拉式選單', - igx_grid_toolbar_pinning_title: '釘選列', - igx_grid_toolbar_hiding_title: '可見列', - igx_grid_toolbar_advanced_filtering_button_tooltip: '打開高級過濾對話框', - igx_grid_toolbar_advanced_filtering_button_label: '進階篩選', - igx_grid_toolbar_exporter_button_tooltip: '打開導出器下拉式選單', - igx_grid_toolbar_exporter_button_label: '匯出', - igx_grid_toolbar_exporter_excel_entry_text: '匯出至 Excel', - igx_grid_toolbar_exporter_csv_entry_text: '匯出至 CSV', - igx_grid_groupByArea_select_message: '選擇欄位名稱為 {0} 且值為 {1} 的群組中的所有行。', - igx_grid_groupByArea_deselect_message: '取消選擇組中所有具有欄位名稱 {0} 和值 {1} 的行。', - igx_grid_snackbar_addrow_label: '已新增行', - igx_grid_snackbar_addrow_actiontext: '顯示', - igx_grid_actions_edit_label: '編輯', - igx_grid_actions_add_label: '新增', - igx_grid_add_row_label: '新增行', - igx_grid_actions_add_child_label: '新增子項', - igx_grid_actions_delete_label: '刪除', - igx_grid_actions_pin_label: '釘選', - igx_grid_actions_unpin_label: '取消釘選', - igx_grid_actions_jumpUp_label: '跳上', - igx_grid_actions_jumpDown_label: '跳下', - igx_grid_pivot_date_dimension_total: '所有時期', - igx_grid_pivot_aggregate_count: '計數', - igx_grid_pivot_aggregate_min: '最小', - igx_grid_pivot_aggregate_max: '最大', - igx_grid_pivot_aggregate_sum: '總和', - igx_grid_pivot_aggregate_avg: '平均值', - igx_grid_pivot_aggregate_date_latest: '最晚日期', - igx_grid_pivot_aggregate_date_earliest: '最早日期', - igx_grid_pivot_aggregate_time_latest: '最晚時間', - igx_grid_pivot_aggregate_time_earliest: '最早時間', - igx_grid_pivot_empty_row_drop_area: '將行欄位拖放到此處.', - igx_grid_pivot_empty_column_drop_area: '將列欄位拖至此處.', - igx_grid_pivot_empty_filter_drop_area: '將篩選器欄位拖放至此處.', - igx_grid_pivot_empty_value_drop_area: '將值欄位拖放至此處.', - igx_grid_pivot_row_drop_chip: '放在這裡用作行', - igx_grid_pivot_column_drop_chip: '放在這裡用作列', - igx_grid_pivot_filter_drop_chip: '放在這裡用作篩選器', - igx_grid_pivot_value_drop_chip: '放在這裡用作值', - igx_grid_pivot_selector_filters: '篩選器', - igx_grid_pivot_selector_rows: '行', - igx_grid_pivot_selector_columns: '列', - igx_grid_pivot_selector_values: '值', - igx_grid_pivot_selector_panel_empty: '拖曳項目到此處', - igx_grid_pivot_empty_message: '樞紐網格沒有維度和值。', - igx_grid_required_validation_error: '此欄位為必填項', - igx_grid_min_validation_error: '必須輸入至少 {0} 的值', - igx_grid_max_validation_error: '必須輸入不超過 {0} 的值', - igx_grid_min_length_validation_error: '輸入內容必須至少 {0} 個字元', - igx_grid_max_length_validation_error: '輸入內容不得超過 {0} 個字元', - igx_grid_email_validation_error: '必須輸入有效的電子郵件地址', - igx_grid_pattern_validation_error: '輸入的內容不符合要求的格式' -} satisfies MakeRequired; +export const GridResourceStringsZHHANT = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/input-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/input-resources.ts index 661371518a0..bb6bc8a5f1a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/input-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/input-resources.ts @@ -1,10 +1,10 @@ -import { IInputResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { InputResourceStringsZHHANT as AInputResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxInput + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const InputResourceStringsZHHANT = { - igx_input_upload_button: '上傳檔案', - igx_input_file_placeholder: '未選擇檔案' -} satisfies MakeRequired; +export const InputResourceStringsZHHANT = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/list-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/list-resources.ts index faf813d8cc7..88d2af2db4a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/list-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/list-resources.ts @@ -1,10 +1,10 @@ -import { IListResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { ListResourceStringsZHHANT as AListResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxList + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const ListResourceStringsZHHANT = { - igx_list_no_items: '清單中沒有任何項目。', - igx_list_loading: '正在從伺服器載入資料...' -} satisfies MakeRequired; +export const ListResourceStringsZHHANT = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/paginator-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/paginator-resources.ts index 971c73278a2..c172e221017 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/paginator-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/paginator-resources.ts @@ -1,14 +1,10 @@ -import { IPaginatorResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { PaginatorResourceStringsZHHANT as APaginatorResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxPaginator + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const PaginatorResourceStringsZHHANT = { - igx_paginator_label: '每頁項目', - igx_paginator_pager_text: '/', - igx_paginator_first_page_button_text: '前往首頁', - igx_paginator_previous_page_button_text: '上一頁', - igx_paginator_last_page_button_text: '轉到最後一頁', - igx_paginator_next_page_button_text: '下一頁' -} satisfies MakeRequired; +export const PaginatorResourceStringsZHHANT = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/query-builder-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/query-builder-resources.ts index 0c5c5d0d080..ecf597c1cfa 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/query-builder-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/query-builder-resources.ts @@ -1,79 +1,10 @@ -import { IQueryBuilderResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { QueryBuilderResourceStringsZHHANT as AQueryBuilderResourceStrings } from 'igniteui-i18n-resources'; /** * Traditional Chinese (zh-Hant) resource strings for IgxQueryBuilder + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const QueryBuilderResourceStringsZHHANT = { - igx_query_builder_date_placeholder: '領取日期', - igx_query_builder_time_placeholder: '取車時間', - igx_query_builder_datetime_placeholder: '選取日期和時間', - igx_query_builder_filter_operator_and: '和', - igx_query_builder_filter_operator_or: '或', - igx_query_builder_filter_contains: '包含', - igx_query_builder_filter_doesNotContain: '不包含', - igx_query_builder_filter_startsWith: '開始於', - igx_query_builder_filter_endsWith: '結束於', - igx_query_builder_filter_equals: '等於', - igx_query_builder_filter_doesNotEqual: '不等於', - igx_query_builder_filter_empty: '空的', - igx_query_builder_filter_notEmpty: '不是空的', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: '非 Null', - igx_query_builder_filter_in: '在', - igx_query_builder_filter_notIn: '不在', - igx_query_builder_filter_before: '之前', - igx_query_builder_filter_after: '之後', - igx_query_builder_filter_at: '在', - igx_query_builder_filter_not_at: '不在', - igx_query_builder_filter_at_before: '不晚於', - igx_query_builder_filter_at_after: '不早於', - igx_query_builder_filter_today: '今天', - igx_query_builder_filter_yesterday: '昨天', - igx_query_builder_filter_thisMonth: '本月', - igx_query_builder_filter_lastMonth: '上個月', - igx_query_builder_filter_nextMonth: '下個月', - igx_query_builder_filter_thisYear: '本年', - igx_query_builder_filter_lastYear: '去年', - igx_query_builder_filter_nextYear: '明年', - igx_query_builder_filter_greaterThan: '大於', - igx_query_builder_filter_lessThan: '小於', - igx_query_builder_filter_greaterThanOrEqualTo: '大於或等於', - igx_query_builder_filter_lessThanOrEqualTo: '小於或等於', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: '全部', - igx_query_builder_from_label: '從', - igx_query_builder_select_label: '選擇', - igx_query_builder_where_label: '在哪裡', - igx_query_builder_and_group: '“And” 群組', - igx_query_builder_or_group: '“Or” 群組', - igx_query_builder_end_group: '結束群組', - igx_query_builder_and_label: '和', - igx_query_builder_or_label: '或', - igx_query_builder_switch_group: '切換到 {0}', - igx_query_builder_add_condition: '建立 條件', - igx_query_builder_add_group: '建立 群組', - igx_query_builder_add_condition_root: '條件', - igx_query_builder_add_group_root: '群組', - igx_query_builder_ungroup: '取消分組', - igx_query_builder_delete: '刪除', - igx_query_builder_delete_filters: '刪除篩選條件', - igx_query_builder_initial_text: '開始創建一組條件,這些條件與 "And" 或 "Or" 連接', - igx_query_builder_column_placeholder: '選擇列', - igx_query_builder_condition_placeholder: '選擇篩選條件', - igx_query_builder_value_placeholder: '數值', - igx_query_builder_query_value_placeholder: '子查詢結果', - igx_query_builder_all_fields: '所有領域', - igx_query_builder_details: '詳細資訊', - igx_query_builder_search: '搜尋', - igx_query_builder_select_all: '全選', - igx_query_builder_select_entity: '選取實體', - igx_query_builder_select_return_field_single: '選擇返回欄位', - igx_query_builder_select_return_fields: '選取返回欄位', - igx_query_builder_dialog_title: '確認', - igx_query_builder_dialog_message: '透過變更實體,您將遺失目前設定。確定要繼續?', - igx_query_builder_dialog_checkbox_text: '不要再顯示這個對話方塊', - igx_query_builder_dialog_cancel: '取消', - igx_query_builder_dialog_confirm: '確認', - igx_query_builder_drop_ghost_text: '拖放至此處插入' -} satisfies MakeRequired; +export const QueryBuilderResourceStringsZHHANT = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/resources.ts index 7211e32bd37..c5abf9c217a 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/resources.ts @@ -16,6 +16,9 @@ import { ActionStripResourceStringsZHHANT } from './action-strip-resources'; /** * Traditional Chinese (zh-Hant) resource strings for all components + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ export const IgxResourceStringsZHHANT = { ...CalendarResourceStringsZHHANT, diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/time-picker-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/time-picker-resources.ts index 2b30471949c..a632d25d563 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/time-picker-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/time-picker-resources.ts @@ -1,12 +1,10 @@ -import { ITimePickerResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TimePickerResourceStringsZHHANT as ATimePickerResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxTimePicker + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TimePickerResourceStringsZHHANT = { - igx_time_picker_ok: '確定', - igx_time_picker_cancel: '取消', - igx_time_picker_change_time: '變更時間', - igx_time_picker_choose_time: '選擇時間' -} satisfies MakeRequired; +export const TimePickerResourceStringsZHHANT = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/tree-resources.ts b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/tree-resources.ts index 5d173196ed0..e18e5be5bc3 100644 --- a/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/tree-resources.ts +++ b/projects/igniteui-angular-i18n/src/i18n/ZH-HANT/tree-resources.ts @@ -1,10 +1,10 @@ -import { ITreeResourceStrings } from 'igniteui-angular'; +import { IGX_PREFIX, prefixResource } from 'igniteui-i18n-core'; +import { TreeResourceStringsZHHANT as ATreeResourceStrings } from 'igniteui-i18n-resources'; -// only use `satisfies` operator so export is typed by its schema /** * Traditional Chinese (zh-Hant) resource strings for IgxTree + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new API and resources from 'igniteui-i18n-resources'. */ -export const TreeResourceStringsZHHANT = { - igx_expand: '展開', - igx_collapse: '摺疊' -} satisfies MakeRequired; +export const TreeResourceStringsZHHANT = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular-i18n/src/i18n/expand-type.ts b/projects/igniteui-angular-i18n/src/i18n/expand-type.ts deleted file mode 100644 index 39ab7ecfb0d..00000000000 --- a/projects/igniteui-angular-i18n/src/i18n/expand-type.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ -/** - * @internal - * Removes 'optional' attributes making properties required - */ -type MakeRequired = { [K in keyof T]-?: T[K] }; diff --git a/projects/igniteui-angular-i18n/tsconfig.build.json b/projects/igniteui-angular-i18n/tsconfig.build.json index bf9ecd79719..5ac8d16b951 100644 --- a/projects/igniteui-angular-i18n/tsconfig.build.json +++ b/projects/igniteui-angular-i18n/tsconfig.build.json @@ -2,7 +2,7 @@ "compilerOptions": { "baseUrl": "./", "rootDir": "./src", - "target": "es2015", + "target": "es2022", "module": "esnext", "moduleResolution": "node", "declaration": true, diff --git a/projects/igniteui-angular/i18n/ng-package.json b/projects/igniteui-angular/i18n/ng-package.json new file mode 100644 index 00000000000..d91d18a6424 --- /dev/null +++ b/projects/igniteui-angular/i18n/ng-package.json @@ -0,0 +1,6 @@ +{ + "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json", + "lib": { + "entryFile": "public_api_i18n.ts" + } +} diff --git a/projects/igniteui-angular/i18n/public_api_i18n.ts b/projects/igniteui-angular/i18n/public_api_i18n.ts new file mode 100644 index 00000000000..6313e537258 --- /dev/null +++ b/projects/igniteui-angular/i18n/public_api_i18n.ts @@ -0,0 +1,26 @@ +/* + * Public API Surface of igniteui-angular/i18n + */ + +/** + * i18n + */ +export { + type IResourceStrings, + type IActionStripResourceStrings, + type IBannerResourceStrings, + type ICalendarResourceStrings, + type ICarouselResourceStrings, + type IChipResourceStrings, + type IComboResourceStrings, + type IDatePickerResourceStrings, + type IDateRangePickerResourceStrings, + type IGridResourceStrings, + type IInputResourceStrings, + type IListResourceStrings, + type IPaginatorResourceStrings, + type IQueryBuilderResourceStrings, + type ITimePickerResourceStrings, + type ITreeResourceStrings +} from 'igniteui-i18n-core'; +export * from 'igniteui-i18n-core/en'; diff --git a/projects/igniteui-angular/ng-package.json b/projects/igniteui-angular/ng-package.json index 6a528535930..d219b53e2c9 100644 --- a/projects/igniteui-angular/ng-package.json +++ b/projects/igniteui-angular/ng-package.json @@ -12,6 +12,7 @@ "igniteui-trial-watermark", "lodash-es", "@igniteui/material-icons-extended", - "igniteui-theming" + "igniteui-theming", + "igniteui-i18n-core" ] } diff --git a/projects/igniteui-angular/ng-package.prod.json b/projects/igniteui-angular/ng-package.prod.json index b1ae10482e4..decf5d8ddf2 100644 --- a/projects/igniteui-angular/ng-package.prod.json +++ b/projects/igniteui-angular/ng-package.prod.json @@ -11,6 +11,7 @@ "igniteui-trial-watermark", "lodash-es", "@igniteui/material-icons-extended", - "igniteui-theming" + "igniteui-theming", + "igniteui-i18n-core" ] } diff --git a/projects/igniteui-angular/package.json b/projects/igniteui-angular/package.json index 894e9f0a680..b0ce77e0f82 100644 --- a/projects/igniteui-angular/package.json +++ b/projects/igniteui-angular/package.json @@ -73,6 +73,7 @@ "tslib": "^2.3.0", "igniteui-trial-watermark": "^3.1.0", "lodash-es": "^4.17.21", + "igniteui-i18n-core": "0.6.0-alpha.4", "igniteui-theming": "^20.0.0", "@igniteui/material-icons-extended": "^3.1.0" }, diff --git a/projects/igniteui-angular/schematics/utils/dependency-handler.ts b/projects/igniteui-angular/schematics/utils/dependency-handler.ts index 4595fee52af..103db7b42da 100644 --- a/projects/igniteui-angular/schematics/utils/dependency-handler.ts +++ b/projects/igniteui-angular/schematics/utils/dependency-handler.ts @@ -25,6 +25,7 @@ export const DEPENDENCIES_MAP: PackageEntry[] = [ { name: 'igniteui-trial-watermark', target: PackageTarget.NONE }, { name: 'lodash-es', target: PackageTarget.NONE }, { name: '@igniteui/material-icons-extended', target: PackageTarget.REGULAR }, + { name: 'igniteui-i18n-core', target: PackageTarget.REGULAR }, { name: 'igniteui-theming', target: PackageTarget.NONE }, // peerDependencies { name: '@angular/forms', target: PackageTarget.NONE }, diff --git a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts index ff848fa4846..9580d5caf93 100644 --- a/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts +++ b/projects/igniteui-angular/src/lib/action-strip/action-strip.component.ts @@ -13,7 +13,9 @@ import { ChangeDetectorRef, AfterViewInit, ElementRef, - booleanAttribute + booleanAttribute, + inject, + DestroyRef } from '@angular/core'; import { ActionStripResourceStringsEN, IActionStripResourceStrings } from '../core/i18n/action-strip-resources'; import { IgxDropDownComponent } from '../drop-down/drop-down.component'; @@ -28,7 +30,7 @@ import { NgTemplateOutlet } from '@angular/common'; import { getCurrentResourceStrings } from '../core/i18n/resources'; import { IgxIconButtonDirective } from '../directives/button/icon-button.directive'; import { IgxActionStripToken } from './token'; -import { trackByIdentity } from '../core/utils'; +import { onResourceChangeHandle, trackByIdentity } from '../core/utils'; @Directive({ selector: '[igxActionStripMenuItem]', @@ -149,7 +151,7 @@ export class IgxActionStripComponent implements IgxActionStripToken, AfterConten } public get resourceStrings(): IActionStripResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -187,8 +189,10 @@ export class IgxActionStripComponent implements IgxActionStripToken, AfterConten */ public menuOverlaySettings: OverlaySettings = { scrollStrategy: new CloseScrollStrategy() }; + private _destroyRef = inject(DestroyRef); private _hidden = false; - private _resourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN); + private _resourceStrings: IActionStripResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN); private _originalParent!: HTMLElement; constructor( @@ -197,7 +201,11 @@ export class IgxActionStripComponent implements IgxActionStripToken, AfterConten protected el: ElementRef, /** @hidden @internal **/ public cdr: ChangeDetectorRef, - ) { } + ) { + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(ActionStripResourceStringsEN, false); + }, this); + } /** * Menu Items list. diff --git a/projects/igniteui-angular/src/lib/banner/banner.component.ts b/projects/igniteui-angular/src/lib/banner/banner.component.ts index b6055d350a1..0d2d8b79d95 100644 --- a/projects/igniteui-angular/src/lib/banner/banner.component.ts +++ b/projects/igniteui-angular/src/lib/banner/banner.component.ts @@ -1,9 +1,11 @@ import { Component, ContentChild, + DestroyRef, ElementRef, EventEmitter, HostBinding, + inject, Input, Output, ViewChild @@ -14,7 +16,7 @@ import { IToggleView } from '../core/navigation'; import { IgxButtonDirective } from '../directives/button/button.directive'; import { IgxRippleDirective } from '../directives/ripple/ripple.directive'; import { IgxBannerActionsDirective } from './banner.directives'; -import { CancelableEventArgs, IBaseEventArgs } from '../core/utils'; +import { CancelableEventArgs, IBaseEventArgs, onResourceChangeHandle } from '../core/utils'; import { ToggleAnimationSettings } from '../expansion-panel/toggle-animation-component'; import { IgxExpansionPanelBodyComponent } from '../expansion-panel/expansion-panel-body.component'; import { IgxExpansionPanelComponent } from '../expansion-panel/expansion-panel.component'; @@ -153,7 +155,7 @@ export class IgxBannerComponent implements IToggleView { } public get resourceStrings(): IBannerResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -231,13 +233,19 @@ export class IgxBannerComponent implements IToggleView { @ContentChild(IgxBannerActionsDirective) private _bannerActionTemplate: IgxBannerActionsDirective; + private _destroyRef = inject(DestroyRef); private _expanded: boolean = false; private _shouldFireEvent: boolean = false; private _bannerEvent: BannerEventArgs; private _animationSettings: ToggleAnimationSettings; - private _resourceStrings = getCurrentResourceStrings(BannerResourceStringsEN); + private _resourceStrings: IBannerResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN); - constructor(public elementRef: ElementRef) { } + constructor(public elementRef: ElementRef) { + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(BannerResourceStringsEN, false); + }, this); + } /** * Opens the banner diff --git a/projects/igniteui-angular/src/lib/calendar/calendar-base.ts b/projects/igniteui-angular/src/lib/calendar/calendar-base.ts index f1df4db3341..b9cc7c11c35 100644 --- a/projects/igniteui-angular/src/lib/calendar/calendar-base.ts +++ b/projects/igniteui-angular/src/lib/calendar/calendar-base.ts @@ -1,16 +1,16 @@ -import { Input, Output, EventEmitter, Directive, Inject, LOCALE_ID, HostListener, booleanAttribute, ViewChildren, QueryList, ElementRef, ChangeDetectorRef } from '@angular/core'; +import { Input, Output, EventEmitter, Directive, Inject, LOCALE_ID, HostListener, booleanAttribute, ViewChildren, QueryList, ElementRef, ChangeDetectorRef, inject, DestroyRef } from '@angular/core'; import { WEEKDAYS, IFormattingOptions, IFormattingViews, IViewDateChangeEventArgs, ScrollDirection, IgxCalendarView, CalendarSelection } from './calendar'; import { ControlValueAccessor } from '@angular/forms'; import { DateRangeDescriptor } from '../core/dates'; import { noop, Subject } from 'rxjs'; -import { isDate, isEqual, PlatformUtil } from '../core/utils'; +import { getLocaleFirstDayOfWeek, isDate, isEqual, onResourceChangeHandle, PlatformUtil } from '../core/utils'; import { CalendarResourceStringsEN, ICalendarResourceStrings } from '../core/i18n/calendar-resources'; import { DateTimeUtil } from '../date-common/util/date-time.util'; -import { getLocaleFirstDayOfWeek } from "@angular/common"; -import { getCurrentResourceStrings } from '../core/i18n/resources'; +import { DEFAULT_LOCALE, getCurrentResourceStrings } from '../core/i18n/resources'; import { KeyboardNavigationService } from './calendar.services'; import { getYearRange, isDateInRanges } from './common/helpers'; import { CalendarDay } from './common/model'; +import { getCurrentI18n, getDateFormatter, IResourceChangeEventArgs } from 'igniteui-i18n-core'; /** @hidden @internal */ @Directive({ @@ -131,32 +131,44 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { /** * @hidden */ - protected formatterWeekday: Intl.DateTimeFormat; + protected get formatterWeekday(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { weekday: this._formatOptions.weekday }); + } /** * @hidden */ - protected formatterDay: Intl.DateTimeFormat; + protected get formatterDay(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { day: this._formatOptions.day }); + } /** * @hidden */ - protected formatterMonth: Intl.DateTimeFormat; + protected get formatterMonth(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { month: this._formatOptions.month }); + } /** * @hidden */ - protected formatterYear: Intl.DateTimeFormat; + protected get formatterYear(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { year: this._formatOptions.year }); + } /** * @hidden */ - protected formatterMonthday: Intl.DateTimeFormat; + protected get formatterMonthDay(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { month: this._formatOptions.month, day: this._formatOptions.day }); + } /** * @hidden */ - protected formatterRangeday: Intl.DateTimeFormat; + protected get formatterRangeDay(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { day: this._formatOptions.day, month: 'short' }); + } /** * @hidden @@ -182,11 +194,21 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ private _locale: string; + /** + * @hidden + */ + private _defaultLocale: string; + /** * @hidden */ private _weekStart: WEEKDAYS | number; + /** + * @hidden + */ + private _localeWeekStart: WEEKDAYS | number; + /** * @hidden */ @@ -217,8 +239,9 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ private _selection: CalendarSelection | string = CalendarSelection.SINGLE; - /** @hidden @internal */ - private _resourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN); + protected _destroyRef = inject(DestroyRef); + private _resourceStrings: ICalendarResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN); /** * @hidden @@ -252,7 +275,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { * An accessor that returns the resource strings. */ public get resourceStrings(): ICalendarResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -262,7 +285,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ @Input() public get weekStart(): WEEKDAYS | number { - return this._weekStart; + return this._weekStart || this._localeWeekStart; } /** @@ -279,7 +302,7 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ @Input() public get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } /** @@ -288,20 +311,8 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ public set locale(value: string) { this._locale = value; - - // if value is not a valid BCP 47 tag, set it back to _localeId - try { - getLocaleFirstDayOfWeek(this._locale); - } catch (e) { - this._locale = this._localeId; - } - - // changing locale runtime needs to update the `weekStart` too, if `weekStart` is not explicitly set - if (!this.weekStart) { - this.weekStart = getLocaleFirstDayOfWeek(this._locale); - } - - this.initFormatters(); + // changing locale runtime needs to update the `weekStart` too + this._localeWeekStart = getLocaleFirstDayOfWeek(this._locale); } /** @@ -318,7 +329,6 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { */ public set formatOptions(formatOptions: IFormattingOptions) { this._formatOptions = {...this._formatOptions, ...formatOptions}; - this.initFormatters(); } /** @@ -656,11 +666,11 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { protected keyboardNavigation?: KeyboardNavigationService, protected cdr?: ChangeDetectorRef, ) { - this.locale = _localeId; + this.initLocale(); this.viewDate = this.viewDate ? this.viewDate : new Date(); - this.initFormatters(); } + /** * Multi/Range selection with shift key * @@ -973,18 +983,6 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { } } - /** - * @hidden - */ - protected initFormatters() { - this.formatterDay = new Intl.DateTimeFormat(this._locale, { day: this._formatOptions.day }); - this.formatterWeekday = new Intl.DateTimeFormat(this._locale, { weekday: this._formatOptions.weekday }); - this.formatterMonth = new Intl.DateTimeFormat(this._locale, { month: this._formatOptions.month }); - this.formatterYear = new Intl.DateTimeFormat(this._locale, { year: this._formatOptions.year }); - this.formatterMonthday = new Intl.DateTimeFormat(this._locale, { month: this._formatOptions.month, day: this._formatOptions.day }); - this.formatterRangeday = new Intl.DateTimeFormat(this._locale, { day: this._formatOptions.day, month: 'short' }); - } - /** * @hidden */ @@ -1019,4 +1017,17 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor { private validateDate(value: Date) { return DateTimeUtil.isValidDate(value) ? value : new Date(); } + + private initLocale() { + this._defaultLocale = getCurrentI18n(); + this._locale = this._localeId !== DEFAULT_LOCALE ? this._localeId : this._locale; + this._localeWeekStart = getLocaleFirstDayOfWeek(this.locale); + onResourceChangeHandle(this._destroyRef, this.onResourceChange, this); + } + + private onResourceChange(args: CustomEvent) { + this._defaultLocale = args.detail.newLocale; + this._defaultResourceStrings = getCurrentResourceStrings(CalendarResourceStringsEN, false); + this._localeWeekStart = getLocaleFirstDayOfWeek(this.locale); + } } diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts b/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts index 2e9696dac8a..80502a29474 100644 --- a/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts +++ b/projects/igniteui-angular/src/lib/calendar/calendar.component.spec.ts @@ -2931,7 +2931,7 @@ describe("IgxCalendar - ", () => { it("Should prioritize weekStart property over locale.", fakeAsync(() => { calendar.locale = "en"; fixture.detectChanges(); - expect(calendar.weekStart).toEqual(1); + expect(calendar.weekStart).toEqual(0); calendar.weekStart = WEEKDAYS.FRIDAY; expect(calendar.weekStart).toEqual(5); @@ -2943,14 +2943,16 @@ describe("IgxCalendar - ", () => { flush(); })); - it("Should respect passing invalid value for locale, then setting weekStart.", fakeAsync(() => { - calendar.locale = "frrr"; - calendar.weekStart = WEEKDAYS.FRIDAY; - fixture.detectChanges(); - - expect(calendar.locale).toEqual("fr"); - expect(calendar.weekStart).toEqual(WEEKDAYS.FRIDAY); + it("Should throw error when setting incorrect locale", fakeAsync(() => { + let errorThrown; + try { + calendar.locale = "frrr"; + fixture.detectChanges(); + } catch(err) { + errorThrown = err; + } + expect(errorThrown).not.toBeUndefined(); flush(); })); diff --git a/projects/igniteui-angular/src/lib/calendar/calendar.component.ts b/projects/igniteui-angular/src/lib/calendar/calendar.component.ts index 301ff268f53..aa7ed7457bb 100644 --- a/projects/igniteui-angular/src/lib/calendar/calendar.component.ts +++ b/projects/igniteui-angular/src/lib/calendar/calendar.component.ts @@ -9,11 +9,10 @@ import { AfterViewInit, ViewChildren, QueryList, - OnDestroy, booleanAttribute, HostListener, } from '@angular/core'; -import { NgTemplateOutlet, DatePipe } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { @@ -34,6 +33,8 @@ import { areSameMonth, formatToParts, getClosestActiveDate, isDateInRanges } fro import { CalendarDay } from './common/model'; import { IgxCalendarBaseDirective } from './calendar-base'; import { KeyboardNavigationService } from './calendar.services'; +import { IgxDateFormatterPipe } from '../grids/common/pipes'; +import { getDateFormatter } from 'igniteui-i18n-core'; let NEXT_ID = 0; @@ -71,9 +72,9 @@ let NEXT_ID = 0; ], selector: 'igx-calendar', templateUrl: 'calendar.component.html', - imports: [NgTemplateOutlet, IgxCalendarScrollPageDirective, IgxIconComponent, IgxDaysViewComponent, IgxMonthsViewComponent, IgxYearsViewComponent, DatePipe, IgxMonthViewSlotsCalendar, IgxGetViewDateCalendar] + imports: [NgTemplateOutlet, IgxCalendarScrollPageDirective, IgxIconComponent, IgxDaysViewComponent, IgxMonthsViewComponent, IgxYearsViewComponent, IgxDateFormatterPipe, IgxMonthViewSlotsCalendar, IgxGetViewDateCalendar] }) -export class IgxCalendarComponent extends IgxCalendarBaseDirective implements AfterViewInit, OnDestroy { +export class IgxCalendarComponent extends IgxCalendarBaseDirective implements AfterViewInit { /** * @hidden * @internal @@ -511,6 +512,10 @@ export class IgxCalendarComponent extends IgxCalendarBaseDirective implements Af currentValue: this.viewDate }); }); + + this._destroyRef.onDestroy(() => { + this.keyboardNavigation.detachKeyboardHandlers(); + }); } protected onWrapperFocus(_event: FocusEvent) { @@ -875,12 +880,12 @@ export class IgxCalendarComponent extends IgxCalendarBaseDirective implements Af */ protected getFormattedDate(): { weekday: string; monthday: string } { const date = this.headerDate; - const monthFormatter = new Intl.DateTimeFormat(this.locale, { month: 'short', day: 'numeric' }) - const dayFormatter = new Intl.DateTimeFormat(this.locale, { weekday: 'short' }) + const monthFormatted = getDateFormatter().formatDateTime(date, this.locale, { month: 'short', day: 'numeric' }); + const dayFormatted = getDateFormatter().formatDateTime(date, this.locale,{ weekday: 'short' }); return { - monthday: monthFormatter.format(date), - weekday: dayFormatter.format(date), + monthday: monthFormatted, + weekday: dayFormatted, }; } @@ -892,8 +897,8 @@ export class IgxCalendarComponent extends IgxCalendarBaseDirective implements Af const dates = this.selectedDates as Date[]; return { - start: this.formatterRangeday.format(dates.at(0)), - end: this.formatterRangeday.format(dates.at(-1)) + start: this.formatterRangeDay.format(dates.at(0)), + end: this.formatterRangeDay.format(dates.at(-1)) }; } @@ -1050,14 +1055,6 @@ export class IgxCalendarComponent extends IgxCalendarBaseDirective implements Af this.activeDate = outOfRange ? date : target.native; } - /** - * @hidden - * @internal - */ - public ngOnDestroy(): void { - this.keyboardNavigation.detachKeyboardHandlers(); - } - /** * @hidden * @internal diff --git a/projects/igniteui-angular/src/lib/calendar/common/calendar-view.directive.ts b/projects/igniteui-angular/src/lib/calendar/common/calendar-view.directive.ts index 174da6a25f9..3bd4ad4c653 100644 --- a/projects/igniteui-angular/src/lib/calendar/common/calendar-view.directive.ts +++ b/projects/igniteui-angular/src/lib/calendar/common/calendar-view.directive.ts @@ -10,6 +10,8 @@ import { HostBinding, InjectionToken, Inject, + inject, + DestroyRef, } from "@angular/core"; import { noop } from "rxjs"; import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms"; @@ -21,7 +23,8 @@ import { import { CalendarDay, DayInterval } from "../common/model"; import { getNextActiveDate, isDateInRanges } from "./helpers"; import { DateRangeType } from "../../core/dates"; -import { isDate } from "../../core/utils"; +import { isDate, onResourceChangeHandle } from "../../core/utils"; +import { getCurrentI18n, getDateFormatter, IResourceChangeEventArgs } from 'igniteui-i18n-core'; export enum Direction { NEXT = 1, @@ -108,18 +111,22 @@ export abstract class IgxCalendarViewDirective implements ControlValueAccessor { /** * @hidden */ - protected _formatter: Intl.DateTimeFormat; + protected get formatter(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale); + } /** * @hidden */ - protected _locale = "en"; + protected _locale; /** * @hidden - * @internal */ - private _date = new Date(); + protected _defaultLocale; + + private _date = new Date(); + private _destroyRef = inject(DestroyRef); /** * @hidden @@ -162,7 +169,7 @@ export abstract class IgxCalendarViewDirective implements ControlValueAccessor { */ @Input() public get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } /** @@ -174,11 +181,10 @@ export abstract class IgxCalendarViewDirective implements ControlValueAccessor { */ public set locale(value: string) { this._locale = value; - this.initFormatter(); } constructor(@Inject(DAY_INTERVAL_TOKEN) protected dayInterval?: DayInterval) { - this.initFormatter(); + this.initLocale(); } /** @@ -328,13 +334,15 @@ export abstract class IgxCalendarViewDirective implements ControlValueAccessor { this.activeDateChanged.emit(this.date); } - /** - * @hidden - */ - protected abstract initFormatter(): void; - /** * @hidden */ protected abstract get range(): Date[]; + + private initLocale() { + this._defaultLocale = getCurrentI18n(); + onResourceChangeHandle(this._destroyRef, (args: CustomEvent) => { + this._defaultLocale = args.detail.newLocale; + }, this); + } } diff --git a/projects/igniteui-angular/src/lib/calendar/common/helpers.ts b/projects/igniteui-angular/src/lib/calendar/common/helpers.ts index 8971144bb59..f3960682786 100644 --- a/projects/igniteui-angular/src/lib/calendar/common/helpers.ts +++ b/projects/igniteui-angular/src/lib/calendar/common/helpers.ts @@ -7,6 +7,7 @@ import { } from "./model"; import { DateRangeDescriptor, DateRangeType } from "./types"; import { first, last, modulo } from "../../core/utils"; +import { getDateFormatter } from 'igniteui-i18n-core'; interface IFormattedParts { value: string; @@ -185,7 +186,7 @@ export function formatToParts( options: Intl.DateTimeFormatOptions, parts: string[], ): Record { - const formatter = new Intl.DateTimeFormat(locale, options); + const formatter = getDateFormatter().getIntlFormatter(locale, options); const result: Record = { date, full: formatter.format(date), diff --git a/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts b/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts index 173dbbce11d..243b02e7bab 100644 --- a/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts +++ b/projects/igniteui-angular/src/lib/calendar/days-view/days-view.component.ts @@ -31,6 +31,7 @@ import { isDateInRanges, } from "../common/helpers"; import { CalendarDay } from '../common/model'; +import { getDateFormatter } from 'igniteui-i18n-core'; let NEXT_ID = 0; @@ -399,7 +400,7 @@ export class IgxDaysViewComponent extends IgxCalendarBaseDirective { */ public get weekHeaderLabels(): {long: string, formatted: string}[] { const weekdays = []; - const rawFormatter = new Intl.DateTimeFormat(this.locale, { weekday: 'long' }); + const rawFormatter = getDateFormatter().getIntlFormatter(this.locale, { weekday: 'long' }); for (const day of this.monthWeeks.at(0)) { weekdays.push({ diff --git a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts index 1929f51da7c..8c390189b72 100644 --- a/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts +++ b/projects/igniteui-angular/src/lib/calendar/month-picker/month-picker.component.ts @@ -6,10 +6,9 @@ import { Input, ElementRef, AfterViewInit, - OnDestroy, OnInit, } from "@angular/core"; -import { NgTemplateOutlet, DatePipe } from "@angular/common"; +import { NgTemplateOutlet } from "@angular/common"; import { NG_VALUE_ACCESSOR } from "@angular/forms"; import { IgxMonthsViewComponent } from "../months-view/months-view.component"; @@ -21,6 +20,7 @@ import { CalendarDay } from "../common/model"; import { IgxCalendarBaseDirective } from "../calendar-base"; import { KeyboardNavigationService } from "../calendar.services"; import { formatToParts } from "../common/helpers"; +import { IgxDateFormatterPipe } from '../../grids/common/pipes'; let NEXT_ID = 0; @Component({ @@ -39,13 +39,13 @@ let NEXT_ID = 0; templateUrl: "month-picker.component.html", imports: [ NgTemplateOutlet, - DatePipe, + IgxDateFormatterPipe, IgxIconComponent, IgxMonthsViewComponent, IgxYearsViewComponent, ] }) -export class IgxMonthPickerComponent extends IgxCalendarBaseDirective implements OnInit, AfterViewInit, OnDestroy { +export class IgxMonthPickerComponent extends IgxCalendarBaseDirective implements OnInit, AfterViewInit { /** * Sets/gets the `id` of the month picker. * If not set, the `id` will have value `"igx-month-picker-0"`. @@ -339,6 +339,10 @@ export class IgxMonthPickerComponent extends IgxCalendarBaseDirective implements currentValue: this.viewDate }); }); + + this._destroyRef.onDestroy(() => { + this.keyboardNavigation.detachKeyboardHandlers(); + }); } protected onWrapperFocus(event: FocusEvent) { @@ -447,14 +451,6 @@ export class IgxMonthPickerComponent extends IgxCalendarBaseDirective implements } } - /** - * @hidden - * @internal - */ - public ngOnDestroy(): void { - this.keyboardNavigation.detachKeyboardHandlers(); - } - /** * @hidden * @internal diff --git a/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts b/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts index 956e7acc000..4b6b0a9eb3f 100644 --- a/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts +++ b/projects/igniteui-angular/src/lib/calendar/months-view/months-view.component.ts @@ -16,6 +16,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms"; import { CalendarDay } from "../common/model"; import type { DayInterval } from "../common/model"; import { calendarRange } from "../common/helpers"; +import { getDateFormatter } from 'igniteui-i18n-core'; let NEXT_ID = 0; @@ -96,7 +97,6 @@ export class IgxMonthsViewComponent extends IgxCalendarViewDirective implements */ public set monthFormat(value: any) { this._monthFormat = value; - this.initFormatter(); } /** @@ -123,6 +123,13 @@ export class IgxMonthsViewComponent extends IgxCalendarViewDirective implements ).map((m) => m.native); } + /** + * @hidden + */ + protected override get formatter() { + return getDateFormatter().getIntlFormatter(this.locale, { month: this.monthFormat }); + } + /** * @hidden */ @@ -150,7 +157,7 @@ export class IgxMonthsViewComponent extends IgxCalendarViewDirective implements * @hidden */ public formattedMonth(value: Date): { long: string; formatted: string } { - const rawFormatter = new Intl.DateTimeFormat(this.locale, { + const rawFormatter = getDateFormatter().getIntlFormatter(this.locale, { month: "long", year: "numeric", }); @@ -158,7 +165,7 @@ export class IgxMonthsViewComponent extends IgxCalendarViewDirective implements if (this.formatView) { return { long: rawFormatter.format(value), - formatted: this._formatter.format(value), + formatted: this.formatter.format(value), }; } @@ -174,13 +181,4 @@ export class IgxMonthsViewComponent extends IgxCalendarViewDirective implements public monthTracker(_: number, item: Date): string { return `${item.getMonth()}}`; } - - /** - * @hidden - */ - protected initFormatter() { - this._formatter = new Intl.DateTimeFormat(this._locale, { - month: this.monthFormat, - }); - } } diff --git a/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts b/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts index 07fd46a8de5..116380e540f 100644 --- a/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts +++ b/projects/igniteui-angular/src/lib/calendar/years-view/years-view.component.ts @@ -14,6 +14,7 @@ import { ControlValueAccessor, NG_VALUE_ACCESSOR } from "@angular/forms"; import { CalendarDay } from "../common/model"; import type { DayInterval } from "../common/model"; import { calendarRange } from "../common/helpers"; +import { getDateFormatter } from 'igniteui-i18n-core'; @Component({ providers: [ @@ -55,6 +56,13 @@ export class IgxYearsViewComponent extends IgxCalendarViewDirective implements C this.#standalone = value; } + /** + * @hidden + */ + protected override get formatter(): Intl.DateTimeFormat { + return getDateFormatter().getIntlFormatter(this.locale, { year: this.yearFormat}); + } + /** * @hidden */ @@ -86,7 +94,6 @@ export class IgxYearsViewComponent extends IgxCalendarViewDirective implements C */ public set yearFormat(value: any) { this._yearFormat = value; - this.initFormatter(); } /** @@ -123,12 +130,12 @@ export class IgxYearsViewComponent extends IgxCalendarViewDirective implements C * @hidden */ public formattedYear(value: Date): {long: string, formatted: string} { - const rawFormatter = new Intl.DateTimeFormat(this.locale, { year: 'numeric' }); + const rawFormatter = getDateFormatter().getIntlFormatter(this.locale, { year: 'numeric' }); if (this.formatView) { return { long: rawFormatter.format(value), - formatted: this._formatter.format(value) + formatted: this.formatter.format(value) } } @@ -145,15 +152,6 @@ export class IgxYearsViewComponent extends IgxCalendarViewDirective implements C return `${item.getFullYear()}}`; } - /** - * @hidden - */ - protected initFormatter() { - this._formatter = new Intl.DateTimeFormat(this._locale, { - year: this.yearFormat, - }); - } - /** * @hidden */ diff --git a/projects/igniteui-angular/src/lib/carousel/carousel.component.ts b/projects/igniteui-angular/src/lib/carousel/carousel.component.ts index d2932e3ecaf..d2f7de53355 100644 --- a/projects/igniteui-angular/src/lib/carousel/carousel.component.ts +++ b/projects/igniteui-angular/src/lib/carousel/carousel.component.ts @@ -28,7 +28,7 @@ import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-br import { merge, Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { CarouselResourceStringsEN, ICarouselResourceStrings } from '../core/i18n/carousel-resources'; -import { first, IBaseEventArgs, last, PlatformUtil } from '../core/utils'; +import { first, IBaseEventArgs, last, onResourceChangeHandle, PlatformUtil } from '../core/utils'; import { IgxAngularAnimationService } from '../services/animation/angular-animation-service'; import { AnimationService } from '../services/animation/animation'; import { Direction, IgxCarouselComponentBase } from './carousel-base'; @@ -405,7 +405,8 @@ export class IgxCarouselComponent extends IgxCarouselComponentBase implements On protected override currentItem: IgxSlideComponent; protected override previousItem: IgxSlideComponent; private _interval: number; - private _resourceStrings = getCurrentResourceStrings(CarouselResourceStringsEN); + private _resourceStrings: ICarouselResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(CarouselResourceStringsEN); private lastInterval: any; private playing: boolean; private destroyed: boolean; @@ -427,7 +428,7 @@ export class IgxCarouselComponent extends IgxCarouselComponentBase implements On * An accessor that returns the resource strings. */ public get resourceStrings(): ICarouselResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @hidden */ @@ -576,6 +577,9 @@ export class IgxCarouselComponent extends IgxCarouselComponentBase implements On ) { super(animationService, cdr); this.differ = this.iterableDiffers.find([]).create(null); + onResourceChangeHandle(this.destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(CarouselResourceStringsEN, false); + }, this); } /** @hidden */ diff --git a/projects/igniteui-angular/src/lib/chips/chip.component.ts b/projects/igniteui-angular/src/lib/chips/chip.component.ts index b4ef3466e29..1df7397bfea 100644 --- a/projects/igniteui-angular/src/lib/chips/chip.component.ts +++ b/projects/igniteui-angular/src/lib/chips/chip.component.ts @@ -17,7 +17,7 @@ import { DOCUMENT } from '@angular/core'; import { IgxDragDirective, IDragBaseEventArgs, IDragStartEventArgs, IDropBaseEventArgs, IDropDroppedEventArgs, IgxDropDirective } from '../directives/drag-drop/drag-drop.directive'; -import { IBaseEventArgs } from '../core/utils'; +import { IBaseEventArgs, onResourceChangeHandle } from '../core/utils'; import { ChipResourceStringsEN, IChipResourceStrings } from '../core/i18n/chip-resources'; import { Subject } from 'rxjs'; import { IgxIconComponent } from '../icon/icon.component'; @@ -348,7 +348,7 @@ export class IgxChipComponent implements OnInit, OnDestroy { * An accessor that returns the resource strings. */ public get resourceStrings(): IChipResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -604,13 +604,18 @@ export class IgxChipComponent implements OnInit, OnDestroy { protected _selectedItemClass = 'igx-chip__item--selected'; protected _movedWhileRemoving = false; protected computedStyles; - private _resourceStrings = getCurrentResourceStrings(ChipResourceStringsEN); + private _resourceStrings: IChipResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN); constructor( public cdr: ChangeDetectorRef, private ref: ElementRef, private renderer: Renderer2, - @Inject(DOCUMENT) public document: any) { } + @Inject(DOCUMENT) public document: any) { + onResourceChangeHandle(this.destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(ChipResourceStringsEN, false); + }, this); + } /** * @hidden diff --git a/projects/igniteui-angular/src/lib/combo/combo.common.ts b/projects/igniteui-angular/src/lib/combo/combo.common.ts index e78a67c49b4..ab484cc09aa 100644 --- a/projects/igniteui-angular/src/lib/combo/combo.common.ts +++ b/projects/igniteui-angular/src/lib/combo/combo.common.ts @@ -30,7 +30,7 @@ import { caseSensitive } from '@igniteui/material-icons-extended'; import { noop, Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { IgxSelectionAPIService } from '../core/selection'; -import { CancelableBrowserEventArgs, cloneArray, IBaseCancelableBrowserEventArgs, IBaseEventArgs, rem } from '../core/utils'; +import { CancelableBrowserEventArgs, cloneArray, IBaseCancelableBrowserEventArgs, IBaseEventArgs, onResourceChangeHandle, rem } from '../core/utils'; import { SortingDirection } from '../data-operations/sorting-strategy'; import { IForOfState, IgxForOfDirective } from '../directives/for-of/for_of.directive'; import { IgxIconService } from '../icon/icon.service'; @@ -463,7 +463,7 @@ export abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewCh */ @Input() public get resourceStrings(): IComboResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } public set resourceStrings(value: IComboResourceStrings) { this._resourceStrings = Object.assign({}, this._resourceStrings, value); @@ -941,7 +941,8 @@ export abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewCh protected _filteredData = []; protected _displayKey: string; protected _remoteSelection = {}; - protected _resourceStrings = getCurrentResourceStrings(ComboResourceStringsEN); + protected _resourceStrings: IComboResourceStrings = null; + protected _defaultResourceStrings = getCurrentResourceStrings(ComboResourceStringsEN); protected _valid = IgxInputState.INITIAL; protected ngControl: NgControl = null; protected destroy$ = new Subject(); @@ -974,7 +975,11 @@ export abstract class IgxComboBaseDirective implements IgxComboBase, AfterViewCh @Optional() @Inject(IGX_INPUT_GROUP_TYPE) protected _inputGroupType: IgxInputGroupType, @Optional() protected _injector: Injector, @Optional() @Inject(IgxIconService) protected _iconService?: IgxIconService, - ) { } + ) { + onResourceChangeHandle(this.destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(ComboResourceStringsEN, false); + }, this); + } public ngAfterViewChecked() { const targetElement = this.inputGroup.element.nativeElement.querySelector('.igx-input-group__bundle') as HTMLElement; diff --git a/projects/igniteui-angular/src/lib/core/i18n/action-strip-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/action-strip-resources.ts index 5f49236c43e..5fb0d5858e1 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/action-strip-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/action-strip-resources.ts @@ -1,7 +1,11 @@ -export interface IActionStripResourceStrings { - igx_action_strip_button_more_title?: string; -} +import { + type IActionStripResourceStrings as IAActionStripResourceStrings, + type PrefixedResourceStrings, + ActionStripResourceStringsEN as AActionStripResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const ActionStripResourceStringsEN: IActionStripResourceStrings = { - igx_action_strip_button_more_title: 'More' -}; +export type IActionStripResourceStrings = PrefixedResourceStrings; + +export const ActionStripResourceStringsEN: IActionStripResourceStrings = prefixResource(IGX_PREFIX, AActionStripResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/banner-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/banner-resources.ts index f9cb275eb72..b866976ca81 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/banner-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/banner-resources.ts @@ -1,7 +1,11 @@ -export interface IBannerResourceStrings { - igx_banner_button_dismiss?: string; -} +import { + type IBannerResourceStrings as IABannerResourceStrings, + type PrefixedResourceStrings, + BannerResourceStringsEN as ABannerResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const BannerResourceStringsEN: IBannerResourceStrings = { - igx_banner_button_dismiss: 'Dismiss' -}; +export type IBannerResourceStrings = PrefixedResourceStrings; + +export const BannerResourceStringsEN: IBannerResourceStrings = prefixResource(IGX_PREFIX, ABannerResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/calendar-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/calendar-resources.ts index 6f8c77ceaf6..bf05419a99f 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/calendar-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/calendar-resources.ts @@ -1,49 +1,11 @@ -export interface ICalendarResourceStrings { - igx_calendar_previous_month?: string; - igx_calendar_next_month?: string; - igx_calendar_previous_year?: string; - igx_calendar_next_year?: string; - igx_calendar_previous_years?: string; - igx_calendar_next_years?: string; - igx_calendar_select_date?: string; - igx_calendar_select_month?: string; - igx_calendar_select_year?: string; - igx_calendar_range_start?: string; - igx_calendar_range_end?: string; - igx_calendar_range_label_start?: string; - igx_calendar_range_label_end?: string; - igx_calendar_range_placeholder?: string; - igx_calendar_selected_month_is?: string; - igx_calendar_first_picker_of?: string; - igx_calendar_multi_selection?: string; - igx_calendar_range_selection?: string; - igx_calendar_single_selection?: string; - igx_calendar_singular_multi_selection?: string; - igx_calendar_singular_range_selection?: string; - igx_calendar_singular_single_selection?: string; -} +import { + type ICalendarResourceStrings as IACalendarResourceStrings, + CalendarResourceStringsEN as ACalendarResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const CalendarResourceStringsEN: ICalendarResourceStrings = { - igx_calendar_previous_month: 'Previous Month', - igx_calendar_next_month: 'Next Month', - igx_calendar_previous_year: 'Previous Year', - igx_calendar_next_year: 'Next Year', - igx_calendar_previous_years: 'Previous {0} Years', - igx_calendar_next_years: 'Next {0} Years', - igx_calendar_select_date: 'Select Date', - igx_calendar_select_month: 'Select Month', - igx_calendar_select_year: 'Select Year', - igx_calendar_range_start: 'Range start', - igx_calendar_range_end: 'Range end', - igx_calendar_range_label_start: 'Start', - igx_calendar_range_label_end: 'End', - igx_calendar_range_placeholder: 'Select Range', - igx_calendar_selected_month_is: 'Selected month is ', - igx_calendar_first_picker_of: 'First picker of {0} starts from', - igx_calendar_multi_selection: 'Multi selection calendar with {0} date pickers', - igx_calendar_range_selection: 'Range selection calendar with {0} date pickers', - igx_calendar_single_selection: 'Calendar with {0} date pickers', - igx_calendar_singular_multi_selection: 'Multi selection calendar', - igx_calendar_singular_range_selection: 'Range selection calendar', - igx_calendar_singular_single_selection: 'Calendar', -}; +export type ICalendarResourceStrings = PrefixedResourceStrings; + +export const CalendarResourceStringsEN: ICalendarResourceStrings = prefixResource(IGX_PREFIX, ACalendarResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/carousel-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/carousel-resources.ts index 4745b4ecc88..58f67c6efec 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/carousel-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/carousel-resources.ts @@ -1,13 +1,11 @@ -export interface ICarouselResourceStrings { - igx_carousel_of?: string; - igx_carousel_slide?: string; - igx_carousel_previous_slide?: string; - igx_carousel_next_slide?: string; -} +import { + type ICarouselResourceStrings as IACarouselResourceStrings, + CarouselResourceStringsEN as ACarouselResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const CarouselResourceStringsEN: ICarouselResourceStrings = { - igx_carousel_of: 'of', - igx_carousel_slide: 'slide', - igx_carousel_previous_slide: 'previous slide', - igx_carousel_next_slide: 'next slide' -}; +export type ICarouselResourceStrings = PrefixedResourceStrings; + +export const CarouselResourceStringsEN: ICarouselResourceStrings = prefixResource(IGX_PREFIX, ACarouselResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/chip-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/chip-resources.ts index 276c3615112..c1f4c51b4d5 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/chip-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/chip-resources.ts @@ -1,9 +1,11 @@ -export interface IChipResourceStrings { - igx_chip_remove?: string; - igx_chip_select?: string; -} +import { + type IChipResourceStrings as IAChipResourceStrings, + type PrefixedResourceStrings, + ChipResourceStringsEN as AChipResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const ChipResourceStringsEN: IChipResourceStrings = { - igx_chip_remove: 'remove chip', - igx_chip_select: 'select chip' -}; +export type IChipResourceStrings = PrefixedResourceStrings; + +export const ChipResourceStringsEN: IChipResourceStrings = prefixResource(IGX_PREFIX, AChipResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/combo-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/combo-resources.ts index 1df1321d629..e9ad8085c06 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/combo-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/combo-resources.ts @@ -1,17 +1,11 @@ -export interface IComboResourceStrings { - igx_combo_empty_message?: string; - igx_combo_filter_search_placeholder?: string; - igx_combo_addCustomValues_placeholder?: string; - igx_combo_clearItems_placeholder?: string; - igx_combo_aria_label_options?: string; - igx_combo_aria_label_no_options?: string; -} +import { + type IComboResourceStrings as IAComboResourceStrings, + type PrefixedResourceStrings, + ComboResourceStringsEN as AComboResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const ComboResourceStringsEN: IComboResourceStrings = { - igx_combo_empty_message: 'The list is empty', - igx_combo_filter_search_placeholder: 'Enter a Search Term', - igx_combo_addCustomValues_placeholder: 'Add Item', - igx_combo_clearItems_placeholder: 'Clear Selection', - igx_combo_aria_label_options: 'Selected options', - igx_combo_aria_label_no_options: 'No options selected' -}; +export type IComboResourceStrings = PrefixedResourceStrings; + +export const ComboResourceStringsEN: IComboResourceStrings = prefixResource(IGX_PREFIX, AComboResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/date-picker-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/date-picker-resources.ts index e3a2f736374..734395b6561 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/date-picker-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/date-picker-resources.ts @@ -1,9 +1,11 @@ -export interface IDatePickerResourceStrings { - igx_date_picker_change_date?: string; - igx_date_picker_choose_date?: string; -} +import { + type IDatePickerResourceStrings as IADatePickerResourceStrings, + type PrefixedResourceStrings, + DatePickerResourceStringsEN as ADatePickerResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const DatePickerResourceStringsEN: IDatePickerResourceStrings = { - igx_date_picker_change_date: 'Change Date', - igx_date_picker_choose_date: 'Choose Date' -}; +export type IDatePickerResourceStrings = PrefixedResourceStrings; + +export const DatePickerResourceStringsEN: IDatePickerResourceStrings = prefixResource(IGX_PREFIX, ADatePickerResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/date-range-picker-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/date-range-picker-resources.ts index 2229be14bfe..4aef90c0862 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/date-range-picker-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/date-range-picker-resources.ts @@ -1,19 +1,11 @@ -export interface IDateRangePickerResourceStrings { - igx_date_range_picker_date_separator?: string; - igx_date_range_picker_done_button?: string; - igx_date_range_picker_cancel_button?: string; - igx_date_range_picker_last7Days?: string; - igx_date_range_picker_currentMonth?: string; - igx_date_range_picker_last30Days?: string; - igx_date_range_picker_yearToDate?: string; -} +import { + type IDateRangePickerResourceStrings as IADateRangePickerResourceStrings, + type PrefixedResourceStrings, + DateRangePickerResourceStringsEN as ADateRangePickerResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const DateRangePickerResourceStringsEN: IDateRangePickerResourceStrings = { - igx_date_range_picker_date_separator: 'to', - igx_date_range_picker_done_button: 'Done', - igx_date_range_picker_cancel_button: 'Cancel', - igx_date_range_picker_last7Days: 'Last 7 Days', - igx_date_range_picker_currentMonth: 'Current Month', - igx_date_range_picker_last30Days: 'Last 30 Days', - igx_date_range_picker_yearToDate: 'Year to Date', -}; +export type IDateRangePickerResourceStrings = PrefixedResourceStrings; + +export const DateRangePickerResourceStringsEN: IDateRangePickerResourceStrings = prefixResource(IGX_PREFIX, ADateRangePickerResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts index e6e05412c8b..74156a6b395 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts @@ -1,363 +1,11 @@ -export interface IGridResourceStrings { - igx_grid_groupByArea_message?: string; - igx_grid_groupByArea_select_message?: string; - igx_grid_groupByArea_deselect_message?: string; - igx_grid_emptyFilteredGrid_message?: string; - igx_grid_emptyGrid_message?: string; - igx_grid_filter?: string; - igx_grid_filter_row_close?: string; - igx_grid_filter_row_reset?: string; - igx_grid_filter_row_placeholder?: string; - igx_grid_filter_row_boolean_placeholder?: string; - igx_grid_filter_row_date_placeholder?: string; - igx_grid_filter_row_time_placeholder?: string; - igx_grid_filter_operator_and?: string; - igx_grid_complex_filter?: string; - igx_grid_filter_operator_or?: string; - igx_grid_filter_contains?: string; - igx_grid_filter_doesNotContain?: string; - igx_grid_filter_startsWith?: string; - igx_grid_filter_endsWith?: string; - igx_grid_filter_equals?: string; - igx_grid_filter_doesNotEqual?: string; - igx_grid_filter_empty?: string; - igx_grid_filter_notEmpty?: string; - igx_grid_filter_null?: string; - igx_grid_filter_notNull?: string; - igx_grid_filter_before?: string; - igx_grid_filter_after?: string; - igx_grid_filter_at?: string; - igx_grid_filter_not_at?: string; - igx_grid_filter_at_before?: string; - igx_grid_filter_at_after?: string; - igx_grid_filter_today?: string; - igx_grid_filter_yesterday?: string; - igx_grid_filter_thisMonth?: string; - igx_grid_filter_lastMonth?: string; - igx_grid_filter_nextMonth?: string; - igx_grid_filter_thisYear?: string; - igx_grid_filter_lastYear?: string; - igx_grid_filter_nextYear?: string; - igx_grid_filter_greaterThan?: string; - igx_grid_filter_lessThan?: string; - igx_grid_filter_greaterThanOrEqualTo?: string; - igx_grid_filter_lessThanOrEqualTo?: string; - igx_grid_filter_true?: string; - igx_grid_filter_false?: string; - igx_grid_filter_all?: string; - igx_grid_filter_in?: string; - igx_grid_filter_notIn?: string; - igx_grid_filter_condition_placeholder?: string; - igx_grid_summary_count?: string; - igx_grid_summary_min?: string; - igx_grid_summary_max?: string; - igx_grid_summary_sum?: string; - igx_grid_summary_average?: string; - igx_grid_summary_earliest?: string; - igx_grid_summary_latest?: string; - igx_grid_excel_filter_moving_left?: string; - igx_grid_excel_filter_moving_left_short?: string; - igx_grid_excel_filter_moving_right?: string; - igx_grid_excel_filter_moving_right_short?: string; - igx_grid_excel_filter_moving_header?: string; - igx_grid_excel_filter_sorting_asc?: string; - igx_grid_excel_filter_sorting_asc_short?: string; - igx_grid_excel_filter_sorting_desc?: string; - igx_grid_excel_filter_sorting_desc_short?: string; - igx_grid_excel_filter_sorting_header?: string; - igx_grid_excel_filter_clear?: string; - igx_grid_excel_custom_dialog_add?: string; - igx_grid_excel_custom_dialog_clear?: string; - igx_grid_excel_custom_dialog_header?: string; - igx_grid_excel_cancel?: string; - igx_grid_excel_apply?: string; - igx_grid_excel_search_placeholder?: string; - igx_grid_excel_select_all?: string; - igx_grid_excel_select_all_search_results?: string; - igx_grid_excel_add_to_filter?: string; - igx_grid_excel_blanks?: string; - igx_grid_excel_hide?: string; - igx_grid_excel_show?: string; - igx_grid_excel_pin?: string; - igx_grid_excel_unpin?: string; - igx_grid_excel_select?: string; - igx_grid_excel_deselect?: string; - igx_grid_excel_text_filter?: string; - igx_grid_excel_number_filter?: string; - igx_grid_excel_date_filter?: string; - igx_grid_excel_boolean_filter?: string; - igx_grid_excel_currency_filter?: string; - igx_grid_excel_custom_filter?: string; - igx_grid_excel_no_matches?: string; - igx_grid_excel_matches_count?: string; - igx_grid_advanced_filter_title?: string; - igx_grid_advanced_filter_from_label?: string; - igx_grid_advanced_filter_and_group?: string; - igx_grid_advanced_filter_or_group?: string; - igx_grid_advanced_filter_end_group?: string; - igx_grid_advanced_filter_create_and_group?: string; - igx_grid_advanced_filter_create_or_group?: string; - igx_grid_advanced_filter_and_label?: string; - igx_grid_advanced_filter_or_label?: string; - igx_grid_advanced_filter_add_condition?: string; - igx_grid_advanced_filter_add_condition_root?: string; - igx_grid_advanced_filter_add_group?: string; - igx_grid_advanced_filter_add_group_root?: string; - igx_grid_advanced_filter_ungroup?: string; - igx_grid_advanced_filter_delete?: string; - igx_grid_advanced_filter_delete_filters?: string; - igx_grid_advanced_filter_initial_text?: string; - igx_grid_advanced_filter_column_placeholder?: string; - igx_grid_advanced_filter_value_placeholder?: string; - igx_grid_advanced_filter_query_value_placeholder?: string; - igx_grid_advanced_filter_switch_group?: string; - igx_grid_advanced_filter_dialog_title? : string; - igx_grid_advanced_filter_dialog_message? : string; - igx_grid_advanced_filter_dialog_checkbox_text? : string; - igx_grid_advanced_filter_drop_ghost_text?: string; - igx_grid_advanced_filter_select_entity?: string; - igx_grid_advanced_filter_select_return_field_single?: string; - igx_grid_pinned_row_indicator?: string; - igx_grid_hiding_check_all_label?: string; - igx_grid_hiding_uncheck_all_label?: string; - igx_grid_pinning_check_all_label?: string; - igx_grid_pinning_uncheck_all_label?: string; - igx_grid_row_edit_btn_done?: string; - igx_grid_row_edit_btn_cancel?: string; - igx_grid_row_edit_text?: string; - igx_grid_toolbar_actions_filter_prompt?: string; - igx_grid_toolbar_pinning_button_tooltip?: string; - igx_grid_toolbar_hiding_button_tooltip?: string; - igx_grid_toolbar_pinning_title?: string; - igx_grid_toolbar_hiding_title?: string; - igx_grid_toolbar_advanced_filtering_button_tooltip?: string; - igx_grid_toolbar_advanced_filtering_button_label?: string; - igx_grid_toolbar_exporter_button_tooltip?: string; - igx_grid_toolbar_exporter_button_label?: string; - igx_grid_toolbar_exporter_excel_entry_text?: string; - igx_grid_toolbar_exporter_csv_entry_text?: string; - igx_grid_snackbar_addrow_label?: string; - igx_grid_snackbar_addrow_actiontext?: string; - igx_grid_actions_edit_label?: string; - igx_grid_actions_add_label?: string; - igx_grid_add_row_label?: string; - igx_grid_actions_add_child_label?: string; - igx_grid_actions_delete_label?: string; - igx_grid_actions_pin_label?: string; - igx_grid_actions_unpin_label?: string; - igx_grid_actions_jumpUp_label?: string; - igx_grid_actions_jumpDown_label?: string; - igx_grid_pivot_date_dimension_total?: string; - igx_grid_pivot_aggregate_count?: string; - igx_grid_pivot_aggregate_min?: string; - igx_grid_pivot_aggregate_max?: string; - igx_grid_pivot_aggregate_sum?: string; - igx_grid_pivot_aggregate_avg?: string; - igx_grid_pivot_aggregate_date_latest?: string; - igx_grid_pivot_aggregate_date_earliest?: string; - igx_grid_pivot_aggregate_time_latest?: string; - igx_grid_pivot_aggregate_time_earliest?: string; - igx_grid_pivot_empty_row_drop_area?: string; - igx_grid_pivot_empty_column_drop_area?: string; - igx_grid_pivot_empty_filter_drop_area?: string; - igx_grid_pivot_empty_value_drop_area?: string; - igx_grid_pivot_row_drop_chip?: string; - igx_grid_pivot_column_drop_chip?: string; - igx_grid_pivot_filter_drop_chip?: string; - igx_grid_pivot_value_drop_chip?: string; - igx_grid_pivot_empty_message?: string; - igx_grid_pivot_selector_filters?: string; - igx_grid_pivot_selector_rows?: string; - igx_grid_pivot_selector_columns?: string; - igx_grid_pivot_selector_values?: string; - igx_grid_pivot_selector_panel_empty?: string; - igx_grid_required_validation_error?: string; - igx_grid_min_validation_error?: string; - igx_grid_max_validation_error?: string; - igx_grid_min_length_validation_error?: string; - igx_grid_max_length_validation_error?: string; - igx_grid_email_validation_error?: string; - igx_grid_pattern_validation_error?: string; -} +import { + type IGridResourceStrings as IAGridResourceStrings, + type PrefixedResourceStrings, + GridResourceStringsEN as AGridResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const GridResourceStringsEN: IGridResourceStrings = { - igx_grid_groupByArea_message: 'Drag a column header and drop it here to group by that column.', - igx_grid_groupByArea_select_message: 'Select all rows in the group with field name {0} and value {1}.', - igx_grid_groupByArea_deselect_message: 'Deselect all rows in the group with field name {0} and value {1}.', - igx_grid_emptyFilteredGrid_message: 'No records found.', - igx_grid_emptyGrid_message: 'Grid has no data.', - igx_grid_filter: 'Filter', - igx_grid_filter_row_close: 'Close', - igx_grid_filter_row_reset: 'Reset', - igx_grid_filter_row_placeholder: 'Add filter value', - igx_grid_filter_row_boolean_placeholder: 'All', - igx_grid_filter_row_date_placeholder: 'Pick up date', - igx_grid_filter_row_time_placeholder: 'Pick up time', - igx_grid_filter_operator_and: 'And', - igx_grid_filter_operator_or: 'Or', - igx_grid_complex_filter: 'Complex Filter', - igx_grid_filter_contains: 'Contains', - igx_grid_filter_doesNotContain: 'Does Not Contain', - igx_grid_filter_startsWith: 'Starts With', - igx_grid_filter_endsWith: 'Ends With', - igx_grid_filter_equals: 'Equals', - igx_grid_filter_doesNotEqual: 'Does Not Equal', - igx_grid_filter_empty: 'Empty', - igx_grid_filter_notEmpty: 'Not Empty', - igx_grid_filter_null: 'Null', - igx_grid_filter_notNull: 'Not Null', - igx_grid_filter_before: 'Before', - igx_grid_filter_after: 'After', - igx_grid_filter_at: 'At', - igx_grid_filter_not_at: 'Not At', - igx_grid_filter_at_before: 'At or Before', - igx_grid_filter_at_after: 'At or After', - igx_grid_filter_today: 'Today', - igx_grid_filter_yesterday: 'Yesterday', - igx_grid_filter_thisMonth: 'This Month', - igx_grid_filter_lastMonth: 'Last Month', - igx_grid_filter_nextMonth: 'Next Month', - igx_grid_filter_thisYear: 'This Year', - igx_grid_filter_lastYear: 'Last Year', - igx_grid_filter_nextYear: 'Next Year', - igx_grid_filter_greaterThan: 'Greater Than', - igx_grid_filter_lessThan: 'Less Than', - igx_grid_filter_greaterThanOrEqualTo: 'Greater Than Or Equal To', - igx_grid_filter_lessThanOrEqualTo: 'Less Than Or Equal To', - igx_grid_filter_true: 'True', - igx_grid_filter_false: 'False', - igx_grid_filter_all: 'All', - igx_grid_filter_condition_placeholder: 'Select filter', - igx_grid_filter_in: 'In', - igx_grid_filter_notIn: 'Not In', - igx_grid_summary_count: 'Count', - igx_grid_summary_min: 'Min', - igx_grid_summary_max: 'Max', - igx_grid_summary_sum: 'Sum', - igx_grid_summary_average: 'Avg', - igx_grid_summary_earliest: 'Earliest', - igx_grid_summary_latest: 'Latest', - igx_grid_excel_filter_moving_left: 'move left', - igx_grid_excel_filter_moving_left_short: 'left', - igx_grid_excel_filter_moving_right: 'move right', - igx_grid_excel_filter_moving_right_short: 'right', - igx_grid_excel_filter_moving_header: 'move', - igx_grid_excel_filter_sorting_asc: 'ascending', - igx_grid_excel_filter_sorting_asc_short: 'asc', - igx_grid_excel_filter_sorting_desc: 'descending', - igx_grid_excel_filter_sorting_desc_short: 'desc', - igx_grid_excel_filter_sorting_header: 'sort', - igx_grid_excel_filter_clear: 'Clear column filters', - igx_grid_excel_custom_dialog_add: 'add filter', - igx_grid_excel_custom_dialog_clear: 'Clear filter', - igx_grid_excel_custom_dialog_header: 'Custom auto-filter on column: ', - igx_grid_excel_cancel: 'Cancel', - igx_grid_excel_apply: 'Apply', - igx_grid_excel_search_placeholder: 'Search', - igx_grid_excel_select_all: 'Select All', - igx_grid_excel_select_all_search_results: 'Select all search results', - igx_grid_excel_add_to_filter: 'Add current selection to filter', - igx_grid_excel_blanks: '(Blanks)', - igx_grid_excel_hide: 'Hide column', - igx_grid_excel_show: 'Show column', - igx_grid_excel_pin: 'Pin column', - igx_grid_excel_unpin: 'Unpin column', - igx_grid_excel_select: 'Select column', - igx_grid_excel_deselect: 'Deselect column', - igx_grid_excel_text_filter: 'Text filter', - igx_grid_excel_number_filter: 'Number filter', - igx_grid_excel_date_filter: 'Date filter', - igx_grid_excel_boolean_filter: 'Boolean filter', - igx_grid_excel_currency_filter: 'Currency filter', - igx_grid_excel_custom_filter: 'Custom filter...', - igx_grid_excel_no_matches: 'No matches', - igx_grid_excel_matches_count: '{0} matches.', - igx_grid_advanced_filter_title: 'Advanced Filtering', - igx_grid_advanced_filter_from_label: 'From', - igx_grid_advanced_filter_and_group: '"And" Group', - igx_grid_advanced_filter_or_group: '"Or" Group', - igx_grid_advanced_filter_end_group: 'End Group', - igx_grid_advanced_filter_create_and_group: 'Create "And" Group', - igx_grid_advanced_filter_create_or_group: 'Create "Or" Group', - igx_grid_advanced_filter_and_label: 'and', - igx_grid_advanced_filter_or_label: 'or', - igx_grid_advanced_filter_switch_group: 'Switch to {0}', - igx_grid_advanced_filter_add_condition: 'Add condition', - igx_grid_advanced_filter_add_group: 'Add group', - igx_grid_advanced_filter_add_condition_root: 'Condition', - igx_grid_advanced_filter_add_group_root: 'Group', - igx_grid_advanced_filter_ungroup: 'Ungroup', - igx_grid_advanced_filter_delete: 'Delete', - igx_grid_advanced_filter_delete_filters: 'Delete filters', - igx_grid_advanced_filter_initial_text: 'Start with creating a group of conditions linked with "And" or "Or"', - igx_grid_advanced_filter_column_placeholder: 'Select column', - igx_grid_advanced_filter_value_placeholder: 'Value', - igx_grid_advanced_filter_query_value_placeholder: 'Sub-query results', - igx_grid_advanced_filter_select_entity: 'Select entity', - igx_grid_advanced_filter_select_return_field_single: 'Select return field', - igx_grid_advanced_filter_dialog_title: 'Confirmation', - igx_grid_advanced_filter_dialog_message: 'By changing the entity, you will lose your current settings. Are you sure you want to do that?', - igx_grid_advanced_filter_dialog_checkbox_text: 'Do not show this dialog again', - igx_grid_advanced_filter_drop_ghost_text: 'Drop here to insert', - igx_grid_pinned_row_indicator: 'Pinned', - igx_grid_hiding_check_all_label: 'Show All', - igx_grid_hiding_uncheck_all_label: 'Hide All', - igx_grid_pinning_check_all_label: 'Pin All', - igx_grid_pinning_uncheck_all_label: 'Unpin All', - igx_grid_row_edit_btn_done: 'Done', - igx_grid_row_edit_btn_cancel: 'Cancel', - igx_grid_row_edit_text: 'You have {0} changes in this row and {1} hidden columns', - igx_grid_toolbar_actions_filter_prompt: 'Filter columns list ...', - igx_grid_toolbar_pinning_button_tooltip: 'Open column pinning dropdown', - igx_grid_toolbar_hiding_button_tooltip: 'Open column hiding dropdown', - igx_grid_toolbar_pinning_title: 'Pinned columns', - igx_grid_toolbar_hiding_title: 'Visible columns', - igx_grid_toolbar_advanced_filtering_button_tooltip: 'Open advanced filtering dialog', - igx_grid_toolbar_advanced_filtering_button_label: 'Advanced filtering', - igx_grid_toolbar_exporter_button_tooltip: 'Open exporter dropdown', - igx_grid_toolbar_exporter_button_label: 'Export', - igx_grid_toolbar_exporter_excel_entry_text: 'Export to Excel', - igx_grid_toolbar_exporter_csv_entry_text: 'Export to CSV', - igx_grid_snackbar_addrow_label: 'Row added', - igx_grid_snackbar_addrow_actiontext: 'SHOW', - igx_grid_actions_edit_label: 'Edit', - igx_grid_actions_add_label: 'Add', - igx_grid_add_row_label: 'ADD ROW', - igx_grid_actions_add_child_label: 'Add Child', - igx_grid_actions_delete_label: 'Delete', - igx_grid_actions_pin_label: 'Pin', - igx_grid_actions_unpin_label: 'Unpin', - igx_grid_actions_jumpUp_label: 'Jump up', - igx_grid_actions_jumpDown_label: 'Jump down', - igx_grid_pivot_date_dimension_total: 'All Periods', - igx_grid_pivot_aggregate_count: 'Count', - igx_grid_pivot_aggregate_min: 'Minimum', - igx_grid_pivot_aggregate_max: 'Maximum', - igx_grid_pivot_aggregate_sum: 'Sum', - igx_grid_pivot_aggregate_avg: 'Average', - igx_grid_pivot_aggregate_date_latest: 'Latest Date', - igx_grid_pivot_aggregate_date_earliest: 'Earliest Date', - igx_grid_pivot_aggregate_time_latest: 'Latest Time', - igx_grid_pivot_aggregate_time_earliest: 'Earliest Time', - igx_grid_pivot_empty_row_drop_area: 'Drop Row Fields here.', - igx_grid_pivot_empty_column_drop_area: 'Drop Column Fields here.', - igx_grid_pivot_empty_filter_drop_area: 'Drop Filter Fields here.', - igx_grid_pivot_empty_value_drop_area: 'Drop Value Fields here.', - igx_grid_pivot_row_drop_chip: 'Drop here to use as row', - igx_grid_pivot_column_drop_chip: 'Drop here to use as column', - igx_grid_pivot_filter_drop_chip: 'Drop here to use as filter', - igx_grid_pivot_value_drop_chip: 'Drop here to use as value', - igx_grid_pivot_empty_message: 'Pivot grid has no dimensions and values.', - igx_grid_pivot_selector_filters: 'Filters', - igx_grid_pivot_selector_rows: 'Rows', - igx_grid_pivot_selector_columns: 'Columns', - igx_grid_pivot_selector_values: 'Values', - igx_grid_pivot_selector_panel_empty: 'Drop Items Here', - igx_grid_required_validation_error: 'This field is required', - igx_grid_min_validation_error: 'A value of at least {0} should be entered', - igx_grid_max_validation_error: 'A value no more than {0} should be entered', - igx_grid_min_length_validation_error: 'Entry should be at least {0} character(s) long', - igx_grid_max_length_validation_error: 'Entry should be no more than {0} character(s) long', - igx_grid_email_validation_error: 'A valid email address should be entered', - igx_grid_pattern_validation_error: 'Entry does not match the required pattern' -}; +export type IGridResourceStrings = PrefixedResourceStrings; + +export const GridResourceStringsEN: IGridResourceStrings = prefixResource(IGX_PREFIX, AGridResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/input-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/input-resources.ts index 5b8c244506e..6e58c39d2a7 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/input-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/input-resources.ts @@ -1,9 +1,11 @@ -export interface IInputResourceStrings { - igx_input_upload_button?: string; - igx_input_file_placeholder?: string; -} +import { + type IInputResourceStrings as IAInputResourceStrings, + type PrefixedResourceStrings, + InputResourceStringsEN as AInputResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const InputResourceStringsEN: IInputResourceStrings = { - igx_input_upload_button: 'Browse', - igx_input_file_placeholder: 'No file chosen', -}; +export type IInputResourceStrings = PrefixedResourceStrings; + +export const InputResourceStringsEN: IInputResourceStrings = prefixResource(IGX_PREFIX, AInputResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/list-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/list-resources.ts index 06a4b2d1e9d..466a0af349e 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/list-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/list-resources.ts @@ -1,9 +1,11 @@ -export interface IListResourceStrings { - igx_list_no_items?: string; - igx_list_loading?: string; -} +import { + type IListResourceStrings as IAListResourceStrings, + type PrefixedResourceStrings, + ListResourceStringsEN as AListResourceStrings, + IGX_PREFIX, + prefixResource +} from 'igniteui-i18n-core'; -export const ListResourceStringsEN: IListResourceStrings = { - igx_list_no_items: 'There are no items in the list.', - igx_list_loading: 'Loading data from the server...' -}; +export type IListResourceStrings = PrefixedResourceStrings; + +export const ListResourceStringsEN: IListResourceStrings = prefixResource(IGX_PREFIX, AListResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/paginator-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/paginator-resources.ts index a43a89bbde8..7ebdd55c4ca 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/paginator-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/paginator-resources.ts @@ -1,17 +1,11 @@ -export interface IPaginatorResourceStrings { - igx_paginator_label?: string; - igx_paginator_pager_text?: string; - igx_paginator_first_page_button_text?: string; - igx_paginator_previous_page_button_text?: string; - igx_paginator_last_page_button_text?: string; - igx_paginator_next_page_button_text?: string; -} +import { + type IPaginatorResourceStrings as IAPaginatorResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + PaginatorResourceStringsEN as APaginatorResourceStrings, + prefixResource +} from 'igniteui-i18n-core'; -export const PaginatorResourceStringsEN: IPaginatorResourceStrings = { - igx_paginator_label: 'Items per page', - igx_paginator_pager_text: 'of', - igx_paginator_first_page_button_text: 'Go to first page', - igx_paginator_previous_page_button_text: 'Previous page', - igx_paginator_last_page_button_text: 'Go to last page', - igx_paginator_next_page_button_text: 'Next page', -}; +export type IPaginatorResourceStrings = PrefixedResourceStrings; + +export const PaginatorResourceStringsEN: IPaginatorResourceStrings = prefixResource(IGX_PREFIX, APaginatorResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/query-builder-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/query-builder-resources.ts index e486e6ba242..4edbbe9d8ef 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/query-builder-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/query-builder-resources.ts @@ -1,149 +1,11 @@ -export interface IQueryBuilderResourceStrings { - igx_query_builder_date_placeholder?: string; - igx_query_builder_time_placeholder?: string; - igx_query_builder_datetime_placeholder?: string; - igx_query_builder_filter_operator_and?: string; - igx_query_builder_filter_operator_or?: string; - igx_query_builder_filter_contains?: string; - igx_query_builder_filter_doesNotContain?: string; - igx_query_builder_filter_startsWith?: string; - igx_query_builder_filter_endsWith?: string; - igx_query_builder_filter_equals?: string; - igx_query_builder_filter_doesNotEqual?: string; - igx_query_builder_filter_empty?: string; - igx_query_builder_filter_notEmpty?: string; - igx_query_builder_filter_null?: string; - igx_query_builder_filter_notNull?: string; - igx_query_builder_filter_in?: string; - igx_query_builder_filter_notIn?: string; - igx_query_builder_filter_before?: string; - igx_query_builder_filter_after?: string; - igx_query_builder_filter_at?: string; - igx_query_builder_filter_not_at?: string; - igx_query_builder_filter_at_before?: string; - igx_query_builder_filter_at_after?: string; - igx_query_builder_filter_today?: string; - igx_query_builder_filter_yesterday?: string; - igx_query_builder_filter_thisMonth?: string; - igx_query_builder_filter_lastMonth?: string; - igx_query_builder_filter_nextMonth?: string; - igx_query_builder_filter_thisYear?: string; - igx_query_builder_filter_lastYear?: string; - igx_query_builder_filter_nextYear?: string; - igx_query_builder_filter_greaterThan?: string; - igx_query_builder_filter_lessThan?: string; - igx_query_builder_filter_greaterThanOrEqualTo?: string; - igx_query_builder_filter_lessThanOrEqualTo?: string; - igx_query_builder_filter_true?: string; - igx_query_builder_filter_false?: string; - igx_query_builder_filter_all?: string; - igx_query_builder_from_label?: string; - igx_query_builder_select_label?: string; - igx_query_builder_where_label?: string; - igx_query_builder_and_group?: string; - igx_query_builder_or_group?: string; - igx_query_builder_end_group?: string; - igx_query_builder_and_label?: string; - igx_query_builder_or_label?: string; - igx_query_builder_switch_group?: string; - igx_query_builder_add_condition?: string; - igx_query_builder_add_group?: string; - igx_query_builder_add_condition_root?: string; - igx_query_builder_add_group_root?: string; - igx_query_builder_ungroup?: string; - igx_query_builder_delete?: string; - igx_query_builder_delete_filters?: string; - igx_query_builder_initial_text?: string; - igx_query_builder_column_placeholder?: string; - igx_query_builder_condition_placeholder?: string; - igx_query_builder_value_placeholder?: string; - igx_query_builder_query_value_placeholder?: string; - igx_query_builder_all_fields?: string; - igx_query_builder_details?: string; - igx_query_builder_search?: string; - igx_query_builder_select_all?: string; - igx_query_builder_select_entity?: string; - igx_query_builder_select_return_field_single?: string; - igx_query_builder_select_return_fields?: string; - igx_query_builder_dialog_title?: string; - igx_query_builder_dialog_message?: string; - igx_query_builder_dialog_checkbox_text?: string; - igx_query_builder_dialog_cancel?: string; - igx_query_builder_dialog_confirm?: string; - igx_query_builder_drop_ghost_text?: string; -} +import { + type IQueryBuilderResourceStrings as IAQueryBuilderResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + QueryBuilderResourceStringsEN as AQueryBuilderResourceStrings, + prefixResource +} from 'igniteui-i18n-core'; -export const QueryBuilderResourceStringsEN: IQueryBuilderResourceStrings = { - igx_query_builder_date_placeholder: 'Select date', - igx_query_builder_time_placeholder: 'Select time', - igx_query_builder_datetime_placeholder: 'Select date & time', - igx_query_builder_filter_operator_and: 'And', - igx_query_builder_filter_operator_or: 'Or', - igx_query_builder_filter_contains: 'Contains', - igx_query_builder_filter_doesNotContain: 'Does Not Contain', - igx_query_builder_filter_startsWith: 'Starts With', - igx_query_builder_filter_endsWith: 'Ends With', - igx_query_builder_filter_equals: 'Equals', - igx_query_builder_filter_doesNotEqual: 'Does Not Equal', - igx_query_builder_filter_empty: 'Empty', - igx_query_builder_filter_notEmpty: 'Not Empty', - igx_query_builder_filter_null: 'Null', - igx_query_builder_filter_notNull: 'Not Null', - igx_query_builder_filter_in: 'In', - igx_query_builder_filter_notIn: 'Not In', - igx_query_builder_filter_before: 'Before', - igx_query_builder_filter_after: 'After', - igx_query_builder_filter_at: 'At', - igx_query_builder_filter_not_at: 'Not At', - igx_query_builder_filter_at_before: 'At or Before', - igx_query_builder_filter_at_after: 'At or After', - igx_query_builder_filter_today: 'Today', - igx_query_builder_filter_yesterday: 'Yesterday', - igx_query_builder_filter_thisMonth: 'This Month', - igx_query_builder_filter_lastMonth: 'Last Month', - igx_query_builder_filter_nextMonth: 'Next Month', - igx_query_builder_filter_thisYear: 'This Year', - igx_query_builder_filter_lastYear: 'Last Year', - igx_query_builder_filter_nextYear: 'Next Year', - igx_query_builder_filter_greaterThan: 'Greater Than', - igx_query_builder_filter_lessThan: 'Less Than', - igx_query_builder_filter_greaterThanOrEqualTo: 'Greater Than Or Equal To', - igx_query_builder_filter_lessThanOrEqualTo: 'Less Than Or Equal To', - igx_query_builder_filter_true: 'True', - igx_query_builder_filter_false: 'False', - igx_query_builder_filter_all: 'All', - igx_query_builder_from_label: 'From', - igx_query_builder_select_label: 'Select', - igx_query_builder_where_label: 'Where', - igx_query_builder_and_group: '"And" Group', - igx_query_builder_or_group: '"Or" Group', - igx_query_builder_end_group: 'End Group', - igx_query_builder_and_label: 'and', - igx_query_builder_or_label: 'or', - igx_query_builder_switch_group: 'Switch to {0}', - igx_query_builder_add_condition: 'Add condition', - igx_query_builder_add_group: 'Add group', - igx_query_builder_add_condition_root: 'Condition', - igx_query_builder_add_group_root: 'Group', - igx_query_builder_ungroup: 'Ungroup', - igx_query_builder_delete: 'Delete', - igx_query_builder_delete_filters: 'Delete filters', - igx_query_builder_initial_text: 'Start with creating a group of conditions linked with "And" or "Or"', - igx_query_builder_column_placeholder: 'Select column', - igx_query_builder_condition_placeholder: 'Select filter', - igx_query_builder_value_placeholder: 'Value', - igx_query_builder_query_value_placeholder: 'Sub-query results', - igx_query_builder_all_fields: 'All fields', - igx_query_builder_details: 'Details', - igx_query_builder_search: 'Search', - igx_query_builder_select_all: 'Select All', - igx_query_builder_select_entity: 'Select entity', - igx_query_builder_select_return_field_single: 'Select return field', - igx_query_builder_select_return_fields: 'Select return fields', - igx_query_builder_dialog_title: 'Confirmation', - igx_query_builder_dialog_message: 'By changing the entity, you will lose your current settings. Are you sure you want to do that?', - igx_query_builder_dialog_checkbox_text: 'Do not show this dialog again', - igx_query_builder_dialog_cancel: 'Cancel', - igx_query_builder_dialog_confirm: 'Confirm', - igx_query_builder_drop_ghost_text: 'Drop here to insert' -}; \ No newline at end of file +export type IQueryBuilderResourceStrings = PrefixedResourceStrings; + +export const QueryBuilderResourceStringsEN: IQueryBuilderResourceStrings = prefixResource(IGX_PREFIX, AQueryBuilderResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/resources.spec.ts b/projects/igniteui-angular/src/lib/core/i18n/resources.spec.ts new file mode 100644 index 00000000000..0190600c57e --- /dev/null +++ b/projects/igniteui-angular/src/lib/core/i18n/resources.spec.ts @@ -0,0 +1,133 @@ +import { getCurrentResourceStrings, getI18nManager, registerI18n, setCurrentI18n } from 'igniteui-i18n-core'; +import { ActionStripResourceStringsEN } from './action-strip-resources'; +import { BannerResourceStringsEN } from './banner-resources'; +import { changei18n, getCurrentResourceStrings as igxGetCurrentResourceStrings } from './resources'; +import { ActionStripResourceStringsBG } from 'projects/igniteui-angular-i18n/src/i18n/BG/action-strip-resources'; +import { BannerResourceStringsBG, ResourceStringsBG } from 'igniteui-i18n-resources'; + +describe('i18n', () => { + beforeEach(() => { + // Clear manager state between tests. + getI18nManager()['_resourcesMap'] = new Map([[getI18nManager().currentLocale, {}]]); + }); + + describe('old public API', () => { + it('should correctly register old igx_ prefixed resources to new manager', () => { + expect(getCurrentResourceStrings()).toEqual({}); + changei18n(ActionStripResourceStringsEN); + + expect(getCurrentResourceStrings()).toEqual({ + action_strip_button_more_title: 'More' + }); + }); + + it('should append new registered resources, if they have different keys', () => { + changei18n(ActionStripResourceStringsEN); + changei18n(BannerResourceStringsEN); + + expect(getCurrentResourceStrings()).toEqual({ + action_strip_button_more_title: 'More', + banner_button_dismiss: 'Dismiss' + }); + }); + + it('should override old registered resources, if they have same keys', () => { + changei18n(ActionStripResourceStringsEN); + changei18n(BannerResourceStringsEN); + changei18n(ActionStripResourceStringsBG); + + expect(getCurrentResourceStrings()).toEqual({ + action_strip_button_more_title: 'Още', + banner_button_dismiss: 'Dismiss' + }); + }); + }); + + describe('internal API', () => { + it('should correctly return component resources based on registered init resources', () => { + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'More' + }); + }); + + it('should correctly filter out component resources based on registered init resources', () => { + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + igxGetCurrentResourceStrings(BannerResourceStringsEN, true); + + expect(getCurrentResourceStrings()).toEqual({ + action_strip_button_more_title: 'More', + banner_button_dismiss: 'Dismiss' + }); + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'More' + }); + }); + + it('getting correctly filter out component resources should interfere with other calls for getting resources', () => { + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false); + igxGetCurrentResourceStrings(BannerResourceStringsEN, true); + igxGetCurrentResourceStrings(BannerResourceStringsEN, false); + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false); + + expect(getCurrentResourceStrings()).toEqual({ + action_strip_button_more_title: 'More', + banner_button_dismiss: 'Dismiss' + }); + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'More' + }); + }); + }); + + describe('new public API', () => { + it('should return correct component resources when locale is changed using new API', () => { + // Components init their default locales + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + igxGetCurrentResourceStrings(BannerResourceStringsEN, true); + + // User registers new locale + registerI18n(ResourceStringsBG, 'bg'); + setCurrentI18n('bg'); + + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'Още' + }); + + setCurrentI18n('en-US'); + }) + + it('should return default strings if locale is changed using new API, but its missing resources', () => { + // Components init their default locales + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + igxGetCurrentResourceStrings(BannerResourceStringsEN, true); + + // User registers new locale + setCurrentI18n('bg'); + + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'More' + }); + + setCurrentI18n('en-US'); + }); + + it('should return default strings if locale is changed using new API, but its missing resources for this particular component', () => { + // Components init their default locales + igxGetCurrentResourceStrings(ActionStripResourceStringsEN, true); + igxGetCurrentResourceStrings(BannerResourceStringsEN, true); + + // User registers new locale + registerI18n(BannerResourceStringsBG, 'bg'); + setCurrentI18n('bg'); + + expect(igxGetCurrentResourceStrings(ActionStripResourceStringsEN, false)).toEqual({ + igx_action_strip_button_more_title: 'More' + }); + + setCurrentI18n('en-US'); + }); + }); +}); diff --git a/projects/igniteui-angular/src/lib/core/i18n/resources.ts b/projects/igniteui-angular/src/lib/core/i18n/resources.ts index e8eed61033f..9611970db08 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/resources.ts @@ -13,48 +13,84 @@ import { IActionStripResourceStrings } from './action-strip-resources'; import { IQueryBuilderResourceStrings } from './query-builder-resources'; import { IComboResourceStrings } from './combo-resources'; import { IBannerResourceStrings } from './banner-resources'; +import { + getCurrentResourceStrings as getCurrentResourceStringsCore, + IResourceStrings as IResourceStringsCore, + getI18nManager +} from 'igniteui-i18n-core'; + +export const DEFAULT_LOCALE = 'en-US'; export interface IResourceStrings extends IGridResourceStrings, ITimePickerResourceStrings, ICalendarResourceStrings, ICarouselResourceStrings, IChipResourceStrings, IComboResourceStrings, IInputResourceStrings, IDatePickerResourceStrings, IDateRangePickerResourceStrings, IListResourceStrings, IPaginatorResourceStrings, ITreeResourceStrings, IActionStripResourceStrings, IQueryBuilderResourceStrings, IBannerResourceStrings { } -export class igxI18N { - private static _instance: igxI18N; - - private _currentResourceStrings: IResourceStrings = { }; - private constructor() { } - - public static instance() { - return this._instance || (this._instance = new this()); +function igxRegisterI18n(resourceStrings: IResourceStrings, locale: string) { + // Remove `igx_` prefix for compatibility with older versions. + const genericResourceStrings: IResourceStringsCore = {}; + for (const key of Object.keys(resourceStrings)) { + let stringKey = key; + if (stringKey.startsWith("igx_")) { + stringKey = stringKey.replace("igx_", ""); + } + genericResourceStrings[stringKey] = resourceStrings[key]; } + getI18nManager().registerI18n(genericResourceStrings, locale); +} - /** - * Changes the resource strings for all components in the application - * ``` - * @param resourceStrings to be applied - */ - public changei18n(resourceStrings: IResourceStrings) { - for (const key of Object.keys(resourceStrings)) { - this._currentResourceStrings[key] = resourceStrings[key]; - } +/** Get current resource strings based on default. Result is truncated result, containing only relevant locale strings. */ +export function getCurrentResourceStrings(defaultEN: T, init = true) { + const igxResourceStringKeys = Object.keys(defaultEN); + if (init) { + igxRegisterI18n(defaultEN, getI18nManager().defaultLocale); } - public getCurrentResourceStrings(en: IResourceStrings): IResourceStrings { - for (const key of Object.keys(en)) { - if (!this._currentResourceStrings[key]) { - this._currentResourceStrings[key] = en[key]; - } + // Append back `igx_` prefix for compatibility with older versions. + const resourceStrings = getCurrentResourceStringsCore(); + const normalizedResourceStrings: T = {} as T; + const resourceStringsKeys = Object.keys(resourceStrings); + for (const igxKey of igxResourceStringKeys) { + let coreKey = igxKey; + if (coreKey.startsWith("igx_")) { + coreKey = coreKey.replace("igx_", ""); + } + if (resourceStringsKeys.includes(coreKey)) { + normalizedResourceStrings[igxKey] = resourceStrings[coreKey]; + } else { + normalizedResourceStrings[igxKey] = defaultEN[igxKey]; } - return this._currentResourceStrings; } -} -export function getCurrentResourceStrings(en: IResourceStrings) { - return igxI18N.instance().getCurrentResourceStrings(en); + return normalizedResourceStrings; } +/** + * Change resource strings for all components globally. The locale is not taken into account and this method should be called when the locale is changed. + * + * Note: This is an old implementation that uses outdated API for resource management. + * We recommend using the new 'registerI18n' and 'setCurrentI18n' API. It uses the resources from 'igniteui-i18n-resources' as well. + */ export function changei18n(resourceStrings: IResourceStrings) { - igxI18N.instance().changei18n(resourceStrings); + igxRegisterI18n(resourceStrings, getI18nManager().defaultLocale); +} + +const angularLocalizationProp = Symbol.for('igx.i18n.angularLocalization'); + +/** Toggle Angular's localization and formatting in favor of the new Intl implementation. + * @enable If should be enabled(true) or disabled(false). True by default. + * @returns If is now enabled or disabled. + */ +export function toggleIgxAngularLocalization(enable?: boolean): boolean { + globalThis[angularLocalizationProp] = enable != null ? enable : !globalThis[angularLocalizationProp]; + return globalThis[angularLocalizationProp]; +} + +/** Get if the Angular's localization and formatting is enabled. It is true by default. */ +export function isIgxAngularLocalizationEnabled(): boolean { + if (globalThis[angularLocalizationProp] == null) { + globalThis[angularLocalizationProp] = true; + } + return globalThis[angularLocalizationProp]; } diff --git a/projects/igniteui-angular/src/lib/core/i18n/tests/tests.mjs b/projects/igniteui-angular/src/lib/core/i18n/tests/tests.mjs index 912a85e9958..288edf72c38 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/tests/tests.mjs +++ b/projects/igniteui-angular/src/lib/core/i18n/tests/tests.mjs @@ -18,7 +18,7 @@ class i18nTests { i18nFilesMatchForAllLanguages() { this.getDirectories(i18nLanguagesPath).forEach(dir => { const curDirPath = path.join(i18nLanguagesPath, dir); - if (this.getFiles(curDirPath).length !== this.getFiles(i18nProductPath).length) { + if (this.getFiles(curDirPath).length !== this.getFiles(i18nProductPath).filter(fileName => fileName.endsWith('resources.ts')).length) { errors.push(`Not all i18n component files that are available for localization have matching files for ${dir} language. Check and add the appropriate resource strings with EN translation and mark the PR as 'pending localization'` ); diff --git a/projects/igniteui-angular/src/lib/core/i18n/time-picker-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/time-picker-resources.ts index d6571a266fa..abf75d388f8 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/time-picker-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/time-picker-resources.ts @@ -1,13 +1,11 @@ -export interface ITimePickerResourceStrings { - igx_time_picker_ok?: string; - igx_time_picker_cancel?: string; - igx_time_picker_change_time?: string; - igx_time_picker_choose_time?: string; -} +import { + type ITimePickerResourceStrings as IATimePickerResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + TimePickerResourceStringsEN as ATimePickerResourceStrings, + prefixResource +} from 'igniteui-i18n-core'; -export const TimePickerResourceStringsEN: ITimePickerResourceStrings = { - igx_time_picker_ok: 'OK', - igx_time_picker_cancel: 'Cancel', - igx_time_picker_change_time: 'Change Time', - igx_time_picker_choose_time: 'Choose Time' -}; +export type ITimePickerResourceStrings = PrefixedResourceStrings; + +export const TimePickerResourceStringsEN: ITimePickerResourceStrings = prefixResource(IGX_PREFIX, ATimePickerResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/i18n/tree-resources.ts b/projects/igniteui-angular/src/lib/core/i18n/tree-resources.ts index 2ac191e8f3b..7d85df0267a 100644 --- a/projects/igniteui-angular/src/lib/core/i18n/tree-resources.ts +++ b/projects/igniteui-angular/src/lib/core/i18n/tree-resources.ts @@ -1,9 +1,11 @@ -export interface ITreeResourceStrings { - igx_expand?: string; - igx_collapse?: string; -} +import { + type ITreeResourceStrings as IATreeResourceStrings, + type PrefixedResourceStrings, + IGX_PREFIX, + TreeResourceStringsEN as ATreeResourceStrings, + prefixResource +} from 'igniteui-i18n-core'; -export const TreeResourceStringsEN: ITreeResourceStrings = { - igx_expand: 'Expand', - igx_collapse: 'Collapse', -}; +export type ITreeResourceStrings = PrefixedResourceStrings; + +export const TreeResourceStringsEN: ITreeResourceStrings = prefixResource(IGX_PREFIX, ATreeResourceStrings); diff --git a/projects/igniteui-angular/src/lib/core/utils.spec.ts b/projects/igniteui-angular/src/lib/core/utils.spec.ts index f51f33406d7..3ba9ee6b2bf 100644 --- a/projects/igniteui-angular/src/lib/core/utils.spec.ts +++ b/projects/igniteui-angular/src/lib/core/utils.spec.ts @@ -1,5 +1,6 @@ -import { cloneValue, isObject, isDate } from './utils'; +import { cloneValue, isObject, isDate, getCurrencyCode, getCurrencySymbol, getLocaleFirstDayOfWeek, formatDate, formatCurrency, formatPercent, formatNumber, getLocaleDateFormat, getLocaleDateTimeFormat } from './utils'; import { SampleTestData } from '../test-utils/sample-test-data.spec'; +import { toggleIgxAngularLocalization } from './i18n/resources'; describe('Utils', () => { const complexObject = { @@ -253,4 +254,153 @@ describe('Utils', () => { expect(isDate(variable)).toBeFalsy(); }); }); + + describe('Localization', () => { + describe('number formatting', () => { + it('should format number correctly', () => { + expect(formatNumber(1.25, 'en')).toEqual('1.25'); + expect(formatNumber(125, 'en')).toEqual('125'); + expect(formatNumber(1250, 'en')).toEqual('1,250'); + expect(formatNumber(12500, 'en')).toEqual('12,500'); + + expect(formatNumber(1.25, 'bg')).toEqual('1,25'); + expect(formatNumber(125, 'bg')).toEqual('125'); + expect(formatNumber(1250, 'bg')).toEqual('1250'); + expect(formatNumber(12500, 'bg')).toEqual('12 500'); + + expect(formatNumber(1.25, 'de')).toEqual('1,25'); + expect(formatNumber(125, 'de')).toEqual('125'); + expect(formatNumber(1250, 'de')).toEqual('1.250'); + expect(formatNumber(12500, 'de')).toEqual('12.500'); + }); + + it('should format percent correctly', () => { + expect(formatPercent(1.25, 'en')).toEqual('125%'); + expect(formatPercent(125, 'en')).toEqual('12,500%'); + expect(formatPercent(1.25, 'bg')).toEqual('125%'); + expect(formatPercent(125, 'bg')).toEqual('12 500%'); + }); + + it('should format currency correctly', () => { + expect(formatCurrency(12345, 'en', 'symbol', 'EUR')).toEqual('€12,345.00'); + expect(formatCurrency(12345, 'en', 'symbol', 'EUR', '1.0-3')).toEqual('€12,345'); + expect(formatCurrency('12345.33', 'en', 'symbol', 'EUR', '1.0-3')).toEqual('€12,345.33'); + expect(formatCurrency(12345, 'en', 'symbol', 'EUR', '1.1-3')).toEqual('€12,345.0'); + expect(formatCurrency('12345', 'en', 'symbol', 'EUR', '1.1-3')).toEqual('€12,345.0'); + }); + }) + + describe('date formatting', () => { + it('should format string to dateTime using Angular', () => { + // Angular expects time to be already in local time so we don't exact check timezone... + expect(formatDate('2025-01-25T14:15:00', 'short', 'en-US')).toEqual('1/25/25, 2:15 PM'); + expect(formatDate('2025-01-25T14:15:00', 'medium', 'en-US')).toEqual('Jan 25, 2025, 2:15:00 PM'); + expect(formatDate('2025-01-25T14:15:00', 'long', 'en-US')).toContain('January 25, 2025 at 2:15:00 PM GMT'); + expect(formatDate('2025-01-25T14:15:00', 'full', 'en-US')).toContain('Saturday, January 25, 2025 at 2:15:00 PM GMT'); + }); + + it('should format string to dateTime using Intl', () => { + toggleIgxAngularLocalization(false); + expect(formatDate('2025-01-25T14:15:00+02:00', 'short', 'en-US', "Europe/Sofia")).toEqual('1/25/25, 2:15 PM'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'medium', 'en-US', "Europe/Sofia")).toEqual('Jan 25, 2025, 2:15:00 PM'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'long', 'en-US', "Europe/Sofia")).toEqual('January 25, 2025 at 2:15:00 PM GMT+2'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'full', 'en-US', "Europe/Sofia")).toEqual('Saturday, January 25, 2025 at 2:15:00 PM Eastern European Standard Time'); + toggleIgxAngularLocalization(true); + }); + + it('should format string to date using Angular', () => { + expect(formatDate('2025-01-25T14:15:00', 'shortDate', 'en-US', "Europe/Sofia")).toEqual('1/25/25'); + expect(formatDate('2025-01-25T14:15:00', 'mediumDate', 'en-US', "Europe/Sofia")).toEqual('Jan 25, 2025'); + expect(formatDate('2025-01-25T14:15:00', 'longDate', 'en-US', "Europe/Sofia")).toEqual('January 25, 2025'); + expect(formatDate('2025-01-25T14:15:00', 'fullDate', 'en-US', "Europe/Sofia")).toEqual('Saturday, January 25, 2025'); + }); + + it('should format string to time using Angular', () => { + // Angular expects time to be already in local time so we don't exact check timezone... + expect(formatDate('2025-01-25T14:15:00', 'shortTime', 'en-US')).toEqual('2:15 PM'); + expect(formatDate('2025-01-25T14:15:00', 'mediumTime', 'en-US')).toEqual('2:15:00 PM'); + expect(formatDate('2025-01-25T14:15:00', 'longTime', 'en-US')).toContain('2:15:00 PM GMT'); + expect(formatDate('2025-01-25T14:15:00', 'fullTime', 'en-US')).toContain('2:15:00 PM GMT'); + }); + + it('should format string to time using Intl', () => { + toggleIgxAngularLocalization(false); + expect(formatDate('2025-01-25T14:15:00+02:00', 'shortTime', 'en-US', "Europe/Sofia")).toEqual('2:15 PM'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'mediumTime', 'en-US', "Europe/Sofia")).toEqual('2:15:00 PM'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'longTime', 'en-US', "Europe/Sofia")).toEqual('2:15:00 PM GMT+2'); + expect(formatDate('2025-01-25T14:15:00+02:00', 'fullTime', 'en-US', "Europe/Sofia")).toEqual('2:15:00 PM Eastern European Standard Time'); + toggleIgxAngularLocalization(true); + }); + + it('should format string to custom format', () => { + expect(formatDate('2025-01-25T14:15:00', 'ex: hh:mm bbb GGG', 'en-US')).toEqual('ex: 02:15 in th. af. AD'); + expect(formatDate('2025-01-25T14:15:00', 'ex: HH:mm bbb GGG', 'en-US')).toEqual('ex: 14:15 in th. af. AD'); + }); + + it('should return correct date format per locale', () => { + // Defaults to Angular's one because they are registered in tests + expect(getLocaleDateFormat('en', 'short')).toEqual('M/d/yy'); + expect(getLocaleDateFormat('en', 'medium')).toEqual('MMM d, y'); + expect(getLocaleDateFormat('en', 'long')).toEqual('MMMM d, y'); + expect(getLocaleDateFormat('en', 'full')).toEqual('EEEE, MMMM d, y'); + + expect(getLocaleDateFormat('de', 'short')).toEqual('dd.MM.yy'); + expect(getLocaleDateFormat('de', 'medium')).toEqual('dd.MM.y'); + expect(getLocaleDateFormat('de', 'long')).toEqual('d. MMMM y'); + expect(getLocaleDateFormat('de', 'full')).toEqual('EEEE, d. MMMM y'); + + // There's no registered locale for IT in tests, so use new API + expect(getLocaleDateFormat('it', 'short')).toEqual('dd/MM/yy'); + expect(getLocaleDateFormat('it', 'medium')).toEqual('d MMM yyyy'); + expect(getLocaleDateFormat('it', 'long')).toEqual(`d MMMM yyyy`); + expect(getLocaleDateFormat('it', 'full')).toEqual(`EEEE d MMMM yyyy`); + }); + + it('should return correct datetime format per locale', () => { + // Defaults to Angular's one because they are registered in tests + expect(getLocaleDateTimeFormat('en', 'short')).toEqual('{1}, {0}'); + expect(getLocaleDateTimeFormat('en', 'medium')).toEqual('{1}, {0}'); + expect(getLocaleDateTimeFormat('en', 'long')).toEqual(`{1} 'at' {0}`); + expect(getLocaleDateTimeFormat('en', 'full')).toEqual(`{1} 'at' {0}`); + + expect(getLocaleDateTimeFormat('de', 'short')).toEqual('{1}, {0}'); + expect(getLocaleDateTimeFormat('de', 'medium')).toEqual('{1}, {0}'); + expect(getLocaleDateTimeFormat('de', 'long')).toEqual(`{1} 'um' {0}`); + expect(getLocaleDateTimeFormat('de', 'full')).toEqual(`{1} 'um' {0}`); + + // There's no registered locale for IT in tests, so use new API + expect(getLocaleDateTimeFormat('it', 'short')).toEqual('dd/MM/yy, HH:mm'); + expect(getLocaleDateTimeFormat('it', 'medium')).toEqual('d MMM yyyy, HH:mm:ss'); + expect(getLocaleDateTimeFormat('it', 'long')).toEqual(`d MMMM yyyy alle ore HH:mm:ss z`); + expect(getLocaleDateTimeFormat('it', 'full')).toEqual(`EEEE d MMMM yyyy alle ore HH:mm:ss zzzz`); + }); + }); + + describe('other', () => { + it('getCurrencyCode should return default USD as currency code for locale, if no Angular is defined', () => { + expect(getCurrencyCode('en-US')).toEqual('USD'); + + // Registered in tests, that's why they are available + expect(getCurrencyCode('bg')).toEqual('BGN'); + expect(getCurrencyCode('de')).toEqual('EUR'); + + // This is not registered in tests yet + expect(getCurrencyCode('it')).toEqual('USD'); + }); + + it('getCurrencySymbol should return correct currency symbol', () => { + expect(getCurrencySymbol('USD', 'en-US')).toEqual('$'); + expect(getCurrencySymbol('BGN', 'bg')).toEqual('лв.'); + expect(getCurrencySymbol('EUR', 'de')).toEqual('€'); + expect(getCurrencySymbol('EUR', 'it')).toEqual('€'); + }); + + it('getLocaleFirstDayOfWeek should return correct values per locale', () => { + expect(getLocaleFirstDayOfWeek('en-US')).toEqual(0); // This is Angular's default + expect(getLocaleFirstDayOfWeek('bg')).toEqual(1); + expect(getLocaleFirstDayOfWeek('de')).toEqual(1); + expect(getLocaleFirstDayOfWeek('it')).toEqual(1); + }); + }); + }); }); diff --git a/projects/igniteui-angular/src/lib/core/utils.ts b/projects/igniteui-angular/src/lib/core/utils.ts index 6b0b7b7acbd..4e4b2f95373 100644 --- a/projects/igniteui-angular/src/lib/core/utils.ts +++ b/projects/igniteui-angular/src/lib/core/utils.ts @@ -1,10 +1,20 @@ -import { CurrencyPipe, formatDate as _formatDate, isPlatformBrowser } from '@angular/common'; -import { Inject, Injectable, InjectionToken, PLATFORM_ID, inject } from '@angular/core'; +import { + formatDate as ngFormatDate, + getLocaleCurrencyCode, + getLocaleDateFormat as ngGetLocaleDateFormat, + getLocaleDateTimeFormat as ngGetLocaleDateTimeFormat, + getLocaleFirstDayOfWeek as ngGetLocaleFirstDayOfWeek, + isPlatformBrowser, + FormatWidth +} from '@angular/common'; +import { DestroyRef, Inject, Injectable, InjectionToken, PLATFORM_ID, inject, ɵR3Injector as R3Injector } from '@angular/core'; import { mergeWith } from 'lodash-es'; -import { NEVER, Observable } from 'rxjs'; +import { NEVER, Observable, Subject } from 'rxjs'; import { setImmediate } from './setImmediate'; import { isDevMode } from '@angular/core'; import type { IgxTheme } from '../services/theme/theme.token'; +import { getDateFormatter, getI18nManager, getNumberFormatter, IResourceChangeEventArgs } from 'igniteui-i18n-core'; +import { isIgxAngularLocalizationEnabled } from './i18n/resources'; /** @hidden @internal */ export const ELEMENTS_TOKEN = /*@__PURE__*/new InjectionToken('elements environment'); @@ -599,18 +609,224 @@ export const yieldingLoop = (count: number, chunkSize: number, callback: (index: export const isConstructor = (ref: any) => typeof ref === 'function' && Boolean(ref.prototype) && Boolean(ref.prototype.constructor); +/** + * Bind to the i18n manager's onResourceChange event + * @param destroyObj Object responsible for signaling destruction of the handling object + * @param context Reference to the object's this context + */ +export function onResourceChangeHandle(destroyObj: Subject | DestroyRef, callback: (event?: CustomEvent) => void, context: any) { + const onResourceChangeHandler = callback.bind(context); + getI18nManager().addEventListener("onResourceChange", onResourceChangeHandler); + + // Handle removal of listener on context destroy + const removeHandler = () => { + getI18nManager().removeEventListener("onResourceChange", onResourceChangeHandler); + } + if (destroyObj instanceof DestroyRef || destroyObj instanceof R3Injector) { + // R3Injector is for tests only + destroyObj.onDestroy(() => removeHandler()); + } else if (destroyObj) { + destroyObj.subscribe({ + complete: () => removeHandler() + }); + } +} + +//#region Localization +const angularDisabledError = new Error('Angular localization disabled!'); +const IntlDateTimeStyleValues = { + full: 'Full', + long: 'Long', + medium: 'Medium', + short: 'Short' +}; + +/** + * Returns the date format based on a provided locale. + * Supports Angular's DatePipe format options: `short`, `medium`, `long`, `full`, `shortDate`, `mediumDate`, `longDate` and `fullDate`. + */ +export function getLocaleDateFormat(locale: string, displayFormat?: string): string { + const formatKeys = Object.keys(IntlDateTimeStyleValues) as (keyof typeof IntlDateTimeStyleValues)[]; + const targetKey = formatKeys.find(k => k === displayFormat?.toLowerCase().replace('date', '')); + if (!targetKey) { + // if displayFormat is not shortDate, longDate, etc. + // or if it is not set by the user + return displayFormat; + } + let format: string; + try { + if (isIgxAngularLocalizationEnabled()) { + format = ngGetLocaleDateFormat(locale, FormatWidth[IntlDateTimeStyleValues[targetKey]]); + } else { + throw angularDisabledError; + } + } catch { + // No longer throw warnings. Back up is to use Intl now, which should return the format without registering locales. + format = getDateFormatter().getLocaleDateTimeFormat(locale, false, { dateStyle: targetKey }); + } + + return format; +} + +/** + * Returns the date and time format based on a provided locale. + * Supports Angular's DatePipe format options: `short`, `medium`, `long`, `full`, `shortDate`, `mediumDate`, `longDate` and `fullDate`. + */ +export function getLocaleDateTimeFormat(locale: string, displayFormat?: string) { + const formatKeys = Object.keys(IntlDateTimeStyleValues) as (keyof typeof IntlDateTimeStyleValues)[]; + const targetKey = formatKeys.find(k => k === displayFormat?.toLowerCase().replace('date', '')); + if (!targetKey) { + // if displayFormat is not shortDate, longDate, etc. + // or if it is not set by the user + return displayFormat; + } + let format: string; + try { + if (isIgxAngularLocalizationEnabled()) { + format = ngGetLocaleDateTimeFormat(locale, FormatWidth[IntlDateTimeStyleValues[targetKey]]); + } else { + throw angularDisabledError; + } + } catch { + // No longer throw warnings. Back up is to use Intl now, which should return the format without registering locales. + format = getDateFormatter().getLocaleDateTimeFormat(locale, false, { dateStyle: targetKey, timeStyle: targetKey }); + } + + return format; +} + /** * Similar to Angular's formatDate. However it will not throw on `undefined | null | ''` instead * coalescing to an empty string. */ -export const formatDate = (value: string | number | Date, format: string, locale: string, timezone?: string): string => { +export function formatDate(value: Date | string | number | null | undefined, format: string, locale: string, timezone?: string): string { + let formattedDate: string; + try { + if (isIgxAngularLocalizationEnabled()) { + formattedDate = ngFormatDate(value, format, locale, timezone); + } else { + throw angularDisabledError; + } + } catch { + if (value === null || value === undefined || value === '') { + return ''; + } + if (typeof value === "string" || typeof value === "number") { + value = getDateFormatter().createDateFromValue(value); + } + let dateStyle = undefined, timeStyle = undefined; + if (format === 'short' || format === 'medium' || format === 'long' || format === 'full') { + dateStyle = format; + timeStyle = format; + } else if (format?.includes('Date')) { + dateStyle = format.replace('Date', ''); + } else if (format?.includes('Time')) { + timeStyle = format.replace('Time', ''); + } else if (format) { + return getDateFormatter().formatDateCustomFormat(value, locale, format, false, timezone); + } + const options: Intl.DateTimeFormatOptions = { + dateStyle, + timeStyle, + timeZone: timezone + }; + formattedDate = getDateFormatter().formatDateTime(value, locale, options); + } + + return formattedDate; +} + +function parseDigitsInfo(value?: string) { + let minIntegerDigits = undefined, minFractionDigits = undefined, maxFractionDigits = undefined; + if (value) { + const parts = value.split("-"); + const innerParts = parts[0].split("."); + if (innerParts.length > 0) { + minIntegerDigits = parseInt(innerParts[0]); + } + if (innerParts.length == 2) { + minFractionDigits = parseInt(innerParts[1]); + } + if (parts.length == 2) { + maxFractionDigits = parseInt(parts[1]); + } + } + return { minIntegerDigits, minFractionDigits, maxFractionDigits }; +} + +function formatNumberGeneric(value: number | string | null | undefined, style?: 'decimal' | 'percent' | 'currency', locale?: string, digitsInfo?: string, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string) { if (value === null || value === undefined || value === '') { return ''; } - return _formatDate(value, format, locale, timezone); -}; + if (typeof value === "string") { + value = parseFloat(value); + } + const parsedDigitsInfo = parseDigitsInfo(digitsInfo); + let currencyDisplay: keyof Intl.NumberFormatOptionsCurrencyDisplayRegistry; + if (display !== 'code' && display !== 'symbol' && display !== 'symbol-narrow' && display !== 'narrowSymbol' && display !== "name") { + currencyDisplay = 'symbol'; + } else if (display === 'symbol-narrow') { + currencyDisplay = 'narrowSymbol'; + } else { + currencyDisplay = display || undefined; + } + const options: Intl.NumberFormatOptions = { + style: style, + currency: currencyCode, + currencyDisplay: currencyDisplay, + minimumIntegerDigits: parsedDigitsInfo.minIntegerDigits, + minimumFractionDigits: parsedDigitsInfo.minFractionDigits, + maximumFractionDigits: parsedDigitsInfo.maxFractionDigits + }; + return getNumberFormatter().formatNumber(value, locale, options); +} -export const formatCurrency = new CurrencyPipe(undefined).transform; +export function formatNumber(value: number | string | null | undefined, locale?: string, digitsInfo?: string): string { + return formatNumberGeneric(value, "decimal", locale, digitsInfo); +} + +export function formatPercent(value: number | string | null | undefined, locale?: string, digitsInfo?: string) { + return formatNumberGeneric(value, "percent", locale, digitsInfo); +} + +export function formatCurrency(value: number | string | null | undefined, locale?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string, currencyCode?: string, digitsInfo?: string): string | null { + return formatNumberGeneric(value, "currency", locale, digitsInfo, currencyCode, display); +} + +export function getCurrencyCode(locale: string, overrideCode?: string) { + let currencyCode = 'USD'; + if (overrideCode) { + return overrideCode; + } else { + try { + if (isIgxAngularLocalizationEnabled()) { + currencyCode = getLocaleCurrencyCode(locale); + } else { + throw angularDisabledError; + } + } catch { + // If not available the user needs to define it. + } + } + return currencyCode; +} + +export function getCurrencySymbol(currencyCode: string, locale?: string, currencyDisplay: keyof Intl.NumberFormatOptionsCurrencyDisplayRegistry = "symbol") { + return getNumberFormatter().getCurrencySymbol(currencyCode, locale, currencyDisplay); +} + +export function getLocaleFirstDayOfWeek(locale?: string) { + try { + if (isIgxAngularLocalizationEnabled()) { + // Angular returns 0 for Sunday... + return ngGetLocaleFirstDayOfWeek(locale); + } else { + throw angularDisabledError; + } + } catch {} + return getDateFormatter().getFirstDayOfWeek(locale); +} +//#endregion /** Converts pixel values to their rem counterparts for a base value */ export const rem = (value: number | string) => { diff --git a/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts b/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts index 6a5f0c932fa..8d903daed08 100644 --- a/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts +++ b/projects/igniteui-angular/src/lib/data-operations/filtering-strategy.ts @@ -1,10 +1,9 @@ import { FilteringLogic, type IFilteringExpression } from './filtering-expression.interface'; import { FilteringExpressionsTree, type IFilteringExpressionsTree } from './filtering-expressions-tree'; -import { resolveNestedPath, parseDate, formatDate, formatCurrency, columnFieldPath } from '../core/utils'; +import { resolveNestedPath, parseDate, formatDate, formatCurrency, columnFieldPath, formatNumber, formatPercent, getCurrencyCode } from '../core/utils'; import type { ColumnType, EntityType, GridType } from '../grids/common/grid.interface'; import { GridColumnDataType } from './data-util'; import { SortingDirection } from './sorting-strategy'; -import { formatNumber, formatPercent, getLocaleCurrencyCode } from '@angular/common'; import type { IFilteringState } from './filtering-state.interface'; import { isTree } from './expressions-tree-util'; import type { IgxHierarchicalGridComponent } from '../grids/hierarchical-grid/hierarchical-grid.component'; @@ -169,8 +168,9 @@ export abstract class BaseFilteringStrategy implements IFilteringStrategy { case GridColumnDataType.DateTime: case GridColumnDataType.Time: return formatDate(value, format, locale, timezone); - case GridColumnDataType.Currency: - return formatCurrency(value, currencyCode || getLocaleCurrencyCode(locale), display, digitsInfo, locale); + case GridColumnDataType.Currency: { + const currencyCodeFinal = getCurrencyCode(locale, currencyCode); + return formatCurrency(value, locale, display, currencyCodeFinal, digitsInfo); } case GridColumnDataType.Number: return formatNumber(value, locale, digitsInfo); case GridColumnDataType.Percent: diff --git a/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts b/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts index 8f411394fed..712b1f3a538 100644 --- a/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts +++ b/projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts @@ -3,14 +3,12 @@ import { AfterViewInit, booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter, Inject, Input, LOCALE_ID, OnDestroy, Optional, Output, QueryList, ViewChild } from '@angular/core'; -import { getLocaleFirstDayOfWeek } from "@angular/common"; - import { merge, Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { EditorProvider } from '../core/edit-provider'; import { IToggleView } from '../core/navigation'; -import { IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils'; +import { getLocaleFirstDayOfWeek, IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils'; import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive'; import { OverlaySettings } from '../services/overlay/utilities'; import { IgxPickerClearComponent, IgxPickerToggleComponent } from './picker-icons.common'; @@ -21,6 +19,8 @@ import { IGX_INPUT_GROUP_TYPE, IgxInputGroupType } from '../input-group/inputGro import { IgxPrefixDirective } from '../directives/prefix/prefix.directive'; import { IgxSuffixDirective } from '../directives/suffix/suffix.directive'; import { IgxInputGroupComponent } from '../input-group/input-group.component'; +import { getCurrentI18n, IResourceChangeEventArgs } from 'igniteui-i18n-core'; +import { DEFAULT_LOCALE } from '../core/i18n/resources'; @Directive() export abstract class PickerBaseDirective implements IToggleView, EditorProvider, AfterViewInit, AfterContentChecked, OnDestroy { @@ -134,7 +134,7 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider */ @Input() public get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } /** @@ -143,12 +143,6 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider */ public set locale(value: string) { this._locale = value; - // if value is invalid, set it back to _localeId - try { - getLocaleFirstDayOfWeek(this._locale); - } catch (e) { - this._locale = this._localeId; - } } /** @@ -158,7 +152,7 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider */ @Input() public get weekStart(): WEEKDAYS | number { - return this._weekStart ?? getLocaleFirstDayOfWeek(this._locale); + return this._weekStart ?? getLocaleFirstDayOfWeek(this.locale); } /** @@ -275,6 +269,7 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider protected inputGroup: IgxInputGroupComponent; protected _locale: string; + protected _defaultLocale: string; protected _collapsed = true; protected _type: IgxInputGroupType; protected _minValue: Date | string; @@ -320,7 +315,7 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider constructor(public element: ElementRef, @Inject(LOCALE_ID) protected _localeId: string, @Optional() @Inject(IGX_INPUT_GROUP_TYPE) protected _inputGroupType?: IgxInputGroupType) { - this.locale = this.locale || this._localeId; + this.initLocale(); } /** @hidden @internal */ @@ -365,6 +360,15 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider .subscribe(() => subscribeToClick(components)); } + protected initLocale() { + this._defaultLocale = getCurrentI18n(); + this._locale = this._localeId !== DEFAULT_LOCALE ? this._localeId : this._locale; + } + + protected onResourceChange(args: CustomEvent) { + this._defaultLocale = args.detail.newLocale; + } + public abstract select(value: Date | DateRange | string): void; public abstract open(settings?: OverlaySettings): void; public abstract toggle(settings?: OverlaySettings): void; diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts index 76226569d2f..91243d005fc 100644 --- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts +++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.spec.ts @@ -496,7 +496,7 @@ describe('IgxDatePicker', () => { flush(); })); - it('Should passing invalid value for locale, then setting weekStart must be respected.', fakeAsync(() => { + it('Should throw error when passing invalid value for locale', fakeAsync(() => { fixture = TestBed.createComponent(IgxDatePickerReactiveFormComponent); fixture.detectChanges(); datePicker = fixture.componentInstance.datePicker; @@ -508,12 +508,14 @@ describe('IgxDatePicker', () => { expect(datePicker.locale).toEqual(locale); expect(datePicker.weekStart).toEqual(WEEKDAYS.SUNDAY) - datePicker.locale = 'frrr'; - datePicker.weekStart = WEEKDAYS.FRIDAY; - fixture.detectChanges(); - - expect(datePicker.locale).toEqual('en-US'); - expect(datePicker.weekStart).toEqual(WEEKDAYS.FRIDAY); + let errorThrown; + try { + datePicker.locale = "frrr"; + fixture.detectChanges(); + } catch(err) { + errorThrown = err; + } + expect(errorThrown).not.toBeUndefined(); })); it('should set initial validity state when the form group is disabled', () => { diff --git a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts index 76636ab7e5d..b3c087c43fd 100644 --- a/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts +++ b/projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts @@ -45,7 +45,7 @@ import { filter, takeUntil } from 'rxjs/operators'; import { DateRangeDescriptor, DateRangeType } from '../core/dates/dateRange'; import { DatePickerResourceStringsEN, IDatePickerResourceStrings } from '../core/i18n/date-picker-resources'; -import { IBaseCancelableBrowserEventArgs, isDate, PlatformUtil } from '../core/utils'; +import { IBaseCancelableBrowserEventArgs, isDate, onResourceChangeHandle, PlatformUtil } from '../core/utils'; import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component'; import { PickerBaseDirective } from '../date-common/picker-base.directive'; import { IgxPickerActionsDirective } from '../date-common/public_api'; @@ -67,6 +67,7 @@ import { getCurrentResourceStrings } from '../core/i18n/resources'; import { fadeIn, fadeOut } from 'igniteui-angular/animations'; import { PickerCalendarOrientation } from '../date-common/types'; import { IgxReadOnlyInputDirective } from '../directives/input/read-only-input.directive'; +import { IResourceChangeEventArgs } from 'igniteui-i18n-core'; let NEXT_ID = 0; @@ -526,7 +527,7 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr private cdr: ChangeDetectorRef, @Optional() @Inject(IGX_INPUT_GROUP_TYPE) _inputGroupType?: IgxInputGroupType) { super(element, _localeId, _inputGroupType); - this.locale = this.locale || this._localeId; + this.initLocale(); } /** @hidden @internal */ @@ -769,8 +770,6 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr /** @hidden @internal */ public ngOnInit(): void { this._ngControl = this._injector.get(NgControl, null); - - this.locale = this.locale || this._localeId; } /** @hidden @internal */ @@ -1005,4 +1004,14 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr componentInstance.calendarClose.pipe(takeUntil(this._destroy$)).subscribe(() => this.close()); componentInstance.todaySelection.pipe(takeUntil(this._destroy$)).subscribe(() => this.selectToday()); } + + protected override initLocale() { + super.initLocale(); + onResourceChangeHandle(this._destroy$, this.onResourceChange, this); + } + + protected override onResourceChange(args: CustomEvent) { + super.onResourceChange(args); + this._resourceStrings = getCurrentResourceStrings(DatePickerResourceStringsEN, false); + } } diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts index 9eb9c3b9b42..6fb9732e4ce 100644 --- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts +++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker-inputs.common.ts @@ -10,7 +10,7 @@ import { IgxIconComponent } from '../icon/icon.component'; import { IgxSuffixDirective } from '../directives/suffix/suffix.directive'; import { IgxButtonDirective } from '../directives/button/button.directive'; import { IgxPrefixDirective } from '../directives/prefix/prefix.directive'; -import { NgTemplateOutlet, NgClass } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; /** Represents a range between two dates. */ export interface DateRange { diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts index 2f6871b8e29..271cf761bde 100644 --- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts +++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.spec.ts @@ -136,7 +136,9 @@ describe('IgxDateRangePicker', () => { mockAnimationService = new IgxAngularAnimationService(mockAnimationBuilder); overlay = new IgxOverlayService( mockApplicationRef, mockDocument, mockNgZone, mockPlatformUtil, mockAnimationService); - mockCalendar = new IgxCalendarComponent(platform, 'en'); + mockCalendar = TestBed.runInInjectionContext(() => { + return new IgxCalendarComponent(platform, 'en'); + }); mockDaysView = { focusActiveDate: jasmine.createSpy() @@ -2007,7 +2009,7 @@ describe('IgxDateRangePicker', () => { dateRange.weekStart = WEEKDAYS.FRIDAY; fixture.detectChanges(); - expect(dateRange.locale).toEqual('en-US'); + expect(dateRange.locale).toEqual('frrr'); expect(dateRange.weekStart).toEqual(WEEKDAYS.FRIDAY); })); diff --git a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts index 46347ae67c4..fddb54a7172 100644 --- a/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts +++ b/projects/igniteui-angular/src/lib/date-range-picker/date-range-picker.component.ts @@ -4,7 +4,7 @@ import { OnChanges, OnDestroy, OnInit, Optional, Output, QueryList, SimpleChanges, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core'; -import { NgTemplateOutlet, getLocaleFirstDayOfWeek } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; import { AbstractControl, ControlValueAccessor, NgControl, NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator @@ -16,7 +16,7 @@ import { filter, takeUntil } from 'rxjs/operators'; import { CalendarSelection, IgxCalendarComponent, IgxCalendarHeaderTemplateDirective, IgxCalendarHeaderTitleTemplateDirective, IgxCalendarSubheaderTemplateDirective } from '../calendar/public_api'; import { DateRangeDescriptor, DateRangeType } from '../core/dates'; import { DateRangePickerResourceStringsEN, IDateRangePickerResourceStrings } from '../core/i18n/date-range-picker-resources'; -import { clamp, IBaseCancelableBrowserEventArgs, isDate, parseDate, PlatformUtil } from '../core/utils'; +import { clamp, IBaseCancelableBrowserEventArgs, isDate, onResourceChangeHandle, parseDate, PlatformUtil } from '../core/utils'; import { IgxCalendarContainerComponent } from '../date-common/calendar-container/calendar-container.component'; import { PickerBaseDirective } from '../date-common/picker-base.directive'; import { IgxPickerActionsDirective } from '../date-common/picker-icons.common'; @@ -38,6 +38,7 @@ import { fadeIn, fadeOut } from 'igniteui-angular/animations'; import { PickerCalendarOrientation } from '../date-common/types'; import { calendarRange, isDateInRanges } from '../calendar/common/helpers'; import { IgxReadOnlyInputDirective } from '../directives/input/read-only-input.directive'; +import { IResourceChangeEventArgs } from 'igniteui-i18n-core'; const SingleInputDatesConcatenationString = ' - '; @@ -309,7 +310,7 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective * An accessor that returns the resource strings. */ public get resourceStrings(): IDateRangePickerResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -465,7 +466,7 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective */ @Input() public override get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } /** @@ -474,12 +475,6 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective */ public override set locale(value: string) { this._locale = value; - // if value is invalid, set it back to _localeId - try { - getLocaleFirstDayOfWeek(this._locale); - } catch (e) { - this._locale = this._localeId; - } if (this.hasProjectedInputs) { this.updateInputLocale(); this.updateDisplayFormat(); @@ -573,7 +568,8 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective return range?.start ?? range?.end ?? null; } - private _resourceStrings = getCurrentResourceStrings(DateRangePickerResourceStringsEN); + private _resourceStrings: IDateRangePickerResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(DateRangePickerResourceStringsEN); private _doneButtonText = null; private _cancelButtonText = null; private _dateSeparator = null; @@ -617,7 +613,7 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective @Inject(IgxOverlayService) private _overlayService: IgxOverlayService, @Optional() @Inject(IGX_INPUT_GROUP_TYPE) _inputGroupType?: IgxInputGroupType) { super(element, _localeId, _inputGroupType); - this.locale = this.locale || this._localeId; + this.initLocale(); } /** @hidden @internal */ @@ -808,8 +804,6 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective /** @hidden */ public ngOnInit(): void { this._ngControl = this._injector.get(NgControl, null); - - this.locale = this.locale || this._localeId; } /** @hidden */ @@ -1276,6 +1270,20 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective }); } + protected override initLocale() { + super.initLocale(); + onResourceChangeHandle(this._destroy$, this.onResourceChange, this); + } + + protected override onResourceChange(args: CustomEvent) { + super.onResourceChange(args); + this._defaultResourceStrings = getCurrentResourceStrings(DateRangePickerResourceStringsEN, false); + if (this.hasProjectedInputs) { + this.updateInputLocale(); + this.updateDisplayFormat(); + } + } + private _initializeCalendarContainer(componentInstance: IgxCalendarContainerComponent) { this._calendar = componentInstance.calendar; this._calendar.hasHeader = !this.isDropdown && !this.hideHeader; diff --git a/projects/igniteui-angular/src/lib/grids/cell.component.ts b/projects/igniteui-angular/src/lib/grids/cell.component.ts index d7e4071e662..67cbd692744 100644 --- a/projects/igniteui-angular/src/lib/grids/cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/cell.component.ts @@ -20,14 +20,14 @@ import { AfterViewInit, booleanAttribute } from '@angular/core'; -import { formatPercent, NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe, getLocaleCurrencyCode, getCurrencySymbol } from '@angular/common'; +import { NgClass, NgTemplateOutlet } from '@angular/common'; import { FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms'; import { first, takeUntil, takeWhile } from 'rxjs/operators'; import { Subject } from 'rxjs'; import { IgxTextHighlightDirective } from '../directives/text-highlight/text-highlight.directive'; -import { formatCurrency, formatDate, PlatformUtil } from '../core/utils'; +import { formatCurrency, formatDate, formatPercent, getCurrencyCode, getCurrencySymbol, PlatformUtil } from '../core/utils'; import { IgxGridSelectionService } from './selection/selection.service'; import { HammerGesturesManager } from '../core/touch'; import { GridSelectionMode } from './common/enums'; @@ -39,7 +39,7 @@ import { IgxGridCell } from './grid-public-cell'; import { ISelectionNode } from './common/types'; import { AutoPositionStrategy, HorizontalAlignment, IgxOverlayService } from '../services/public_api'; import { IgxIconComponent } from '../icon/icon.component'; -import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from './common/pipes'; +import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxDateFormatterPipe, IgxCurrencyFormatterPipe, IgxPercentFormatterPipe } from './common/pipes'; import { IgxTooltipDirective } from '../directives/tooltip/tooltip.directive'; import { IgxTooltipTargetDirective } from '../directives/tooltip/tooltip-target.directive'; import { IgxSuffixDirective } from '../directives/suffix/suffix.directive'; @@ -76,10 +76,10 @@ import { fadeOut, scaleInCenter } from 'igniteui-angular/animations'; imports: [ NgClass, NgTemplateOutlet, - DecimalPipe, - PercentPipe, - CurrencyPipe, - DatePipe, + IgxNumberFormatterPipe, + IgxPercentFormatterPipe, + IgxCurrencyFormatterPipe, + IgxDateFormatterPipe, ReactiveFormsModule, IgxChipComponent, IgxTextHighlightDirective, @@ -421,7 +421,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT case GridColumnDataType.Percent: return formatPercent(this.value, locale, args.digitsInfo); case GridColumnDataType.Currency: - return formatCurrency(this.value, this.currencyCode, args.display, args.digitsInfo, locale); + return formatCurrency(this.value, locale, args.display, this.currencyCode, args.digitsInfo); case GridColumnDataType.Date: case GridColumnDataType.DateTime: case GridColumnDataType.Time: @@ -814,13 +814,12 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy, CellT /** @hidden @internal */ public get currencyCode(): string { - return this.column.pipeArgs.currencyCode ? - this.column.pipeArgs.currencyCode : getLocaleCurrencyCode(this.grid.locale); + return getCurrencyCode(this.grid.locale, this.column.pipeArgs.currencyCode); } /** @hidden @internal */ public get currencyCodeSymbol(): string { - return getCurrencySymbol(this.currencyCode, 'wide', this.grid.locale); + return getCurrencySymbol(this.currencyCode, this.grid.locale); } protected _lastSearchInfo: ISearchInfo; diff --git a/projects/igniteui-angular/src/lib/grids/common/pipes.ts b/projects/igniteui-angular/src/lib/grids/common/pipes.ts index 23bc4d4a9b0..d271351461b 100644 --- a/projects/igniteui-angular/src/lib/grids/common/pipes.ts +++ b/projects/igniteui-angular/src/lib/grids/common/pipes.ts @@ -1,6 +1,6 @@ import { Pipe, PipeTransform, Inject } from '@angular/core'; import { DataUtil } from '../../data-operations/data-util'; -import { cloneArray, columnFieldPath, resolveNestedPath } from '../../core/utils'; +import { cloneArray, columnFieldPath, formatCurrency, formatDate, formatNumber, formatPercent, resolveNestedPath } from '../../core/utils'; import { GridType, IGX_GRID_BASE, RowType } from './grid.interface'; import { IgxAddRow } from './crud.service'; import { IgxSummaryOperand, IgxSummaryResult } from '../summaries/grid-summary'; @@ -381,6 +381,51 @@ export class IgxColumnFormatterPipe implements PipeTransform { } } +@Pipe({ + name: 'date', + standalone: true +}) +export class IgxDateFormatterPipe implements PipeTransform { + + public transform(value: Date | string | number | null | undefined, format?: string, timezone?: string, locale?: string) { + return formatDate(value, format, locale, timezone); + } +} + +@Pipe({ + name: 'number', + standalone: true +}) +export class IgxNumberFormatterPipe implements PipeTransform { + + public transform(value: number | string | null | undefined, digitsInfo?: string, locale?: string) { + return formatNumber(value, locale, digitsInfo); + } +} + +@Pipe({ + name: 'percent', + standalone: true +}) +export class IgxPercentFormatterPipe implements PipeTransform { + + public transform(value: number | string | null | undefined, digitsInfo?: string, locale?: string) { + return formatPercent(value, locale, digitsInfo); + } +} + +@Pipe({ + name: 'currency', + standalone: true +}) +export class IgxCurrencyFormatterPipe implements PipeTransform { + + public transform(value: number | string | null | undefined, currencyCode?: string, display?: 'code' | 'symbol' | 'symbol-narrow' | string , digitsInfo?: string, locale?: string) { + + return formatCurrency(value, locale, display, currencyCode, digitsInfo); + } +} + @Pipe({ name: 'summaryFormatter', standalone: true diff --git a/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.html b/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.html index eb11d0aaa6c..b5270a643b6 100644 --- a/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.html +++ b/projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.html @@ -8,6 +8,7 @@ (); private _overlayComponentId: string; private _overlayService: IgxOverlayService; private _grid: GridType; - constructor(public cdr: ChangeDetectorRef, protected platform: PlatformUtil) { } + constructor(public cdr: ChangeDetectorRef, protected platform: PlatformUtil) { + onResourceChangeHandle(this.destroy$, () => { + this.assignResourceStrings(false); + }, this); + } /** * @hidden @internal */ @@ -222,13 +230,12 @@ export class IgxAdvancedFilteringDialogComponent implements AfterViewInit, OnDes } } - private assignResourceStrings() { + private assignResourceStrings(init = true) { // If grid has custom resource strings set for the advanced filtering, // they are passed to the query builder resource strings. const gridRS = this.grid.resourceStrings; - if (gridRS !== GridResourceStringsEN) { - const queryBuilderRS = getCurrentResourceStrings(QueryBuilderResourceStringsEN); + const queryBuilderRS = getCurrentResourceStrings(QueryBuilderResourceStringsEN, init); Object.keys(gridRS).forEach((prop) => { const reg = /^igx_grid_(advanced_)?filter_(row_)?/; if (!reg.test(prop)) { @@ -243,6 +250,8 @@ export class IgxAdvancedFilteringDialogComponent implements AfterViewInit, OnDes queryBuilderRS[generalProp] = gridRS[prop]; } }); + + this.queryBuilderResourceStrings = queryBuilderRS; } } } diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts index 63b3e590c46..6bfca0fb723 100644 --- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts +++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-date-expression.component.ts @@ -2,7 +2,6 @@ import { Component, Input, ViewChild } from '@angular/core'; import { IgxExcelStyleDefaultExpressionComponent } from './excel-style-default-expression.component'; import { IgxInputDirective } from '../../../directives/input/input.directive'; import { IgxTimePickerComponent } from '../../../time-picker/time-picker.component'; -import { getLocaleFirstDayOfWeek } from "@angular/common"; import { IgxOverlayOutletDirective } from '../../../directives/toggle/toggle.directive'; import { IgxButtonGroupComponent } from '../../../buttonGroup/buttonGroup.component'; import { IgxButtonDirective } from '../../../directives/button/button.directive'; @@ -16,6 +15,7 @@ import { IgxIconComponent } from '../../../icon/icon.component'; import { IgxPrefixDirective } from '../../../directives/prefix/prefix.directive'; import { IgxSelectComponent } from '../../../select/select.component'; import { IgxIconButtonDirective } from '../../../directives/button/icon-button.directive'; +import { getLocaleFirstDayOfWeek } from '../../../core/utils'; /** * @hidden diff --git a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts index fc77989a402..3a73ac963ad 100644 --- a/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts +++ b/projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts @@ -21,12 +21,12 @@ import { DOCUMENT } from '@angular/core'; import { FilteringExpressionsTree, IFilteringExpressionsTree } from '../../../data-operations/filtering-expressions-tree'; -import { PlatformUtil, formatDate, formatCurrency } from '../../../core/utils'; +import { PlatformUtil, formatDate, formatCurrency, formatNumber, formatPercent, getCurrencyCode } from '../../../core/utils'; import { GridColumnDataType } from '../../../data-operations/data-util'; import { Subscription } from 'rxjs'; import { GridSelectionMode } from '../../common/enums'; import { IgxFilterItem } from '../../../data-operations/filtering-strategy'; -import { formatNumber, formatPercent, getLocaleCurrencyCode, NgClass } from '@angular/common'; +import { NgClass } from '@angular/common'; import { BaseFilteringComponent } from './base-filtering.component'; import { ExpressionUI, FilterListItem, generateExpressionsList } from './common'; import { ColumnType, GridType, IGX_GRID_BASE } from '../../common/grid.interface'; @@ -736,8 +736,9 @@ export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent case GridColumnDataType.DateTime: case GridColumnDataType.Time: return formatDate(value, format, locale, timezone); - case GridColumnDataType.Currency: - return formatCurrency(value, currencyCode || getLocaleCurrencyCode(locale), display, digitsInfo, locale); + case GridColumnDataType.Currency: { + const currencyCodeFinal = getCurrencyCode(locale, currencyCode); + return formatCurrency(value, locale, display, currencyCodeFinal, digitsInfo); } case GridColumnDataType.Number: return formatNumber(value, locale, digitsInfo); case GridColumnDataType.Percent: diff --git a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts index 1f62ef8aa99..fd9a63fa47e 100644 --- a/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts +++ b/projects/igniteui-angular/src/lib/grids/grid-base.directive.ts @@ -1,4 +1,3 @@ -import { formatNumber, getLocaleNumberFormat, NumberFormatStyle } from '@angular/common'; import { AfterContentInit, AfterViewInit, @@ -33,7 +32,7 @@ import { ViewContainerRef, DOCUMENT } from '@angular/core'; -import { areEqualArrays, columnFieldPath, formatDate, resizeObservable } from '../core/utils'; +import { areEqualArrays, columnFieldPath, formatDate, formatNumber, onResourceChangeHandle, resizeObservable } from '../core/utils'; import { IgcTrialWatermark } from 'igniteui-trial-watermark'; import { Subject, pipe, fromEvent, animationFrameScheduler, merge } from 'rxjs'; import { takeUntil, first, filter, throttleTime, map, shareReplay, takeWhile } from 'rxjs/operators'; @@ -182,10 +181,11 @@ import { IgxGridFilteringRowComponent } from './filtering/base/grid-filtering-ro import { DefaultDataCloneStrategy, IDataCloneStrategy } from '../data-operations/data-clone-strategy'; import { IgxGridCellComponent } from './cell.component'; import { IgxGridValidationService } from './grid/grid-validation.service'; -import { getCurrentResourceStrings } from '../core/i18n/resources'; +import { DEFAULT_LOCALE, getCurrentResourceStrings } from '../core/i18n/resources'; import { isTree, recreateTree, recreateTreeFromFields } from '../data-operations/expressions-tree-util'; import { getUUID } from './common/random'; import { DefaultMergeStrategy, IGridMergeStrategy } from '../data-operations/merge-strategy'; +import { getCurrentI18n, getNumberFormatter, IResourceChangeEventArgs } from 'igniteui-i18n-core'; interface IMatchInfoCache { row: any; @@ -1859,11 +1859,12 @@ export abstract class IgxGridBaseDirective implements GridType, */ @Input() public set resourceStrings(value: IGridResourceStrings) { - this._resourceStrings = Object.assign({}, this._resourceStrings, value); + this._resourceStrings = Object.assign({}, this.resourceStrings, value); + this.notifyChanges(); } public get resourceStrings(): IGridResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -1996,7 +1997,7 @@ export abstract class IgxGridBaseDirective implements GridType, */ @Input() public get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } public set locale(value: string) { @@ -2904,9 +2905,7 @@ export abstract class IgxGridBaseDirective implements GridType, if (this._currencyPositionLeft !== undefined) { return this._currencyPositionLeft; } - const format = getLocaleNumberFormat(this.locale, NumberFormatStyle.Currency); - const formatParts = format.split(','); - const i = formatParts.indexOf(formatParts.find(c => c.includes('¤'))); + const i = getNumberFormatter().getCurrencyPosition(this.locale); return this._currencyPositionLeft = i < 1; } @@ -3281,11 +3280,13 @@ export abstract class IgxGridBaseDirective implements GridType, private _loadingGridTemplate: TemplateRef; private _cdrRequests = false; - private _resourceStrings = getCurrentResourceStrings(GridResourceStringsEN); + private _resourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(GridResourceStringsEN); private _emptyGridMessage = null; private _emptyFilteredGridMessage = null; private _isLoading = false; private _locale: string; + private _defaultLocale: string; private overlayIDs = []; private _sortingStrategy: IGridSortingStrategy; private _pinning: IPinningConfig = { columns: ColumnPinningPosition.Start }; @@ -3562,7 +3563,7 @@ export abstract class IgxGridBaseDirective implements GridType, protected platform: PlatformUtil, @Optional() @Inject(IgxGridTransaction) protected _diTransactions?: TransactionService, ) { - this.locale = this.locale || this.localeId; + this.initLocale(); this._transactions = this.transactionFactory.create(TRANSACTION_TYPE.None); this._transactions.cloneStrategy = this.dataCloneStrategy; this.cdr.detach(); @@ -8278,4 +8279,21 @@ export abstract class IgxGridBaseDirective implements GridType, this.notifyChanges(); } } + + private initLocale() { + this._defaultLocale = getCurrentI18n(); + this._locale = this.localeId !== DEFAULT_LOCALE ? this.localeId : this._locale; + onResourceChangeHandle(this.destroy$, this.onResourceChange, this); + } + + private onResourceChange(args: CustomEvent) { + this._defaultLocale = args.detail.newLocale; + this._defaultResourceStrings = getCurrentResourceStrings(GridResourceStringsEN, false); + // Reset currency position because of new locale. + this._currencyPositionLeft = undefined; + if (!this._init) { + this.pipeTrigger++; + this.notifyChanges(true); + } + } } diff --git a/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts index 5d527637f60..3140bb8dd85 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/column-moving.spec.ts @@ -811,7 +811,6 @@ describe('IgxGrid - Column Moving #grid', () => { })); it('Should be able to scroll/reorder columns that are out of view - with pinned columns.', (async () => { - grid.getColumnByName('ID').pinned = true; fixture.detectChanges(); @@ -828,7 +827,7 @@ describe('IgxGrid - Column Moving #grid', () => { UIInteractions.simulatePointerEvent('pointermove', header, 456, 56); await wait(50); UIInteractions.simulatePointerEvent('pointermove', header, 110, 30); - await wait(1000); + await wait(2000); fixture.detectChanges(); // step 4 - verify the column being moved can be reordered among new columns diff --git a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts index 98e933fe227..88a96d35020 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/expandable-cell.component.ts @@ -13,12 +13,12 @@ import { } from '@angular/core'; import { IgxGridCellComponent } from '../cell.component'; import { PlatformUtil } from '../../core/utils'; -import { NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe } from '@angular/common'; +import { NgClass, NgTemplateOutlet } from '@angular/common'; import { IgxGridSelectionService } from '../selection/selection.service'; import { HammerGesturesManager } from '../../core/touch'; import { GridType, IGX_GRID_BASE } from '../common/grid.interface'; import { IgxOverlayService } from '../../services/public_api'; -import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from '../common/pipes'; +import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe } from '../common/pipes'; import { IgxTooltipDirective } from '../../directives/tooltip/tooltip.directive'; import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive'; import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive'; @@ -40,7 +40,11 @@ import { IgxChipComponent } from '../../chips/chip.component'; selector: 'igx-expandable-grid-cell', templateUrl: 'expandable-cell.component.html', providers: [HammerGesturesManager], - imports: [IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxCheckboxComponent, IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxSuffixDirective, NgTemplateOutlet, IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe] + imports: [IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, + IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxCheckboxComponent, IgxDatePickerComponent, + IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxSuffixDirective, NgTemplateOutlet, + IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, IgxStringReplacePipe, + IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe] }) export class IgxGridExpandableCellComponent extends IgxGridCellComponent implements OnInit { /** diff --git a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts index 5006fbf41e8..9184bcad47c 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/grid-filtering-ui.spec.ts @@ -22,7 +22,6 @@ import { IgxBadgeComponent } from '../../badge/badge.component'; import { IgxIconComponent } from '../../icon/icon.component'; import { DefaultSortingStrategy, SortingDirection } from '../../data-operations/sorting-strategy'; import { IgxGridHeaderGroupComponent } from '../headers/grid-header-group.component'; -import { igxI18N } from '../../core/i18n/resources'; import { DatePipe, registerLocaleData } from '@angular/common'; import localeDe from '@angular/common/locales/de'; import localeFr from '@angular/common/locales/fr'; @@ -50,12 +49,13 @@ import { GridSelectionMode, FilterMode, Size } from '../common/enums'; import { ControlsFunction } from '../../test-utils/controls-functions.spec'; import { FilteringStrategy, FormattedValuesFilteringStrategy } from '../../data-operations/filtering-strategy'; import { IgxInputGroupComponent } from '../../input-group/public_api'; -import { formatDate, getComponentSize } from '../../core/utils'; +import { getComponentSize } from '../../core/utils'; import { IgxCalendarComponent } from '../../calendar/calendar.component'; import { GridResourceStringsEN } from '../../core/i18n/grid-resources'; import { setElementSize } from '../../test-utils/helper-utils.spec'; import { IgxDateTimeEditorDirective } from '../../directives/date-time-editor/date-time-editor.directive'; import { IgxTimePickerComponent } from '../../time-picker/time-picker.component'; +import { changei18n } from '../../core/i18n/resources'; const DEBOUNCE_TIME = 30; const FILTER_UI_ROW = 'igx-grid-filtering-row'; @@ -1206,10 +1206,10 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => { it('Should correctly change resource strings for filter row using Changei18n.', fakeAsync(() => { fix = TestBed.createComponent(IgxGridFilteringComponent); - const strings = GridResourceStringsEN; + const strings = Object.assign({}, GridResourceStringsEN); strings.igx_grid_filter = 'My filter'; strings.igx_grid_filter_row_close = 'My close'; - igxI18N.instance().changei18n(strings); + changei18n(strings); fix.detectChanges(); const initialChips = GridFunctions.getFilteringChips(fix); @@ -1227,7 +1227,7 @@ describe('IgxGrid - Filtering Row UI actions #grid', () => { expect(close.nativeElement.childNodes[1].textContent.trim()).toBe('My close'); expect(reset.nativeElement.childNodes[1].textContent.trim()).toBe('Reset'); - igxI18N.instance().changei18n({ + changei18n({ igx_grid_filter: 'Filter', igx_grid_filter_row_close: 'Close' }); diff --git a/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts b/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts index 4928dda109a..c8e3138a382 100644 --- a/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts +++ b/projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts @@ -11,7 +11,7 @@ import { OnDestroy, Inject } from '@angular/core'; -import { NgTemplateOutlet, DecimalPipe, DatePipe, getLocaleCurrencyCode, PercentPipe, CurrencyPipe } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; import { takeUntil } from 'rxjs/operators'; import { Subject } from 'rxjs'; @@ -27,7 +27,8 @@ import { ISelectionNode } from '../common/types'; import { IgxCheckboxComponent } from '../../checkbox/checkbox.component'; import { IgxBadgeComponent } from '../../badge/badge.component'; import { IgxIconComponent } from '../../icon/icon.component'; -import { IgxColumnFormatterPipe } from '../common/pipes'; +import { IgxColumnFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe } from '../common/pipes'; +import { getCurrencyCode } from '../../core/utils'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -35,10 +36,10 @@ import { IgxColumnFormatterPipe } from '../common/pipes'; templateUrl: './groupby-row.component.html', imports: [ NgTemplateOutlet, - DecimalPipe, - DatePipe, - PercentPipe, - CurrencyPipe, + IgxNumberFormatterPipe, + IgxDateFormatterPipe, + IgxPercentFormatterPipe, + IgxCurrencyFormatterPipe, IgxIconComponent, IgxBadgeComponent, IgxCheckboxComponent, @@ -139,8 +140,7 @@ export class IgxGridGroupByRowComponent implements OnDestroy { /** @hidden @internal */ public get currencyCode(): string { - return this.groupRow.column.pipeArgs.currencyCode ? - this.groupRow.column.pipeArgs.currencyCode : getLocaleCurrencyCode(this.grid.locale); + return getCurrencyCode(this.grid.locale, this.groupRow.column.pipeArgs.currencyCode); } constructor( diff --git a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts index 40c670a0f9f..59a7bfb9f94 100644 --- a/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-cell.component.ts @@ -5,7 +5,7 @@ import { HammerGesturesManager } from '../../core/touch'; import { PlatformUtil } from '../../core/utils'; import { GridType, IGX_GRID_BASE } from '../common/grid.interface'; import { IgxOverlayService } from '../../services/public_api'; -import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from '../common/pipes'; +import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe } from '../common/pipes'; import { IgxTooltipDirective } from '../../directives/tooltip/tooltip.directive'; import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive'; import { IgxSuffixDirective } from '../../directives/suffix/suffix.directive'; @@ -22,14 +22,19 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { IgxIconComponent } from '../../icon/icon.component'; import { IgxTextHighlightDirective } from '../../directives/text-highlight/text-highlight.directive'; import { IgxChipComponent } from '../../chips/chip.component'; -import { NgClass, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe } from '@angular/common'; +import { NgClass, NgTemplateOutlet } from '@angular/common'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'igx-hierarchical-grid-cell', templateUrl: '../cell.component.html', providers: [HammerGesturesManager], - imports: [IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxTextSelectionDirective, IgxCheckboxComponent, IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, IgxSuffixDirective, NgTemplateOutlet, IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe] + imports: [IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, NgClass, FormsModule, ReactiveFormsModule, + IgxInputGroupComponent, IgxInputDirective, IgxFocusDirective, IgxTextSelectionDirective, IgxCheckboxComponent, + IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorDirective, IgxPrefixDirective, + IgxSuffixDirective, NgTemplateOutlet, IgxTooltipTargetDirective, IgxTooltipDirective, IgxGridCellImageAltPipe, + IgxStringReplacePipe, IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe, + IgxCurrencyFormatterPipe, IgxDateFormatterPipe] }) export class IgxHierarchicalGridCellComponent extends IgxGridCellComponent implements OnInit { // protected hSelection; diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.ts index 52ce5e82670..546bddea4cd 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-data-selector.component.ts @@ -47,7 +47,6 @@ import { IgxIconComponent } from "../../icon/icon.component"; import { IgxInputGroupComponent } from "../../input-group/input-group.component"; import { fadeIn, fadeOut } from 'igniteui-angular/animations'; import { Size } from '../common/enums'; -import { GridColumnDataType } from '../../data-operations/data-util'; interface IDataSelectorPanel { name: string; diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid-dimensions.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid-dimensions.ts index 65d461bca17..3bf28ba6ad6 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid-dimensions.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid-dimensions.ts @@ -3,6 +3,7 @@ import { getCurrentResourceStrings } from '../../core/i18n/resources'; import { GridColumnDataType } from '../../data-operations/data-util'; import { IPivotDimension } from './pivot-grid.interface'; import { PivotUtil } from './pivot-util'; +import { getDateFormatter } from 'igniteui-i18n-core'; export interface IPivotDateDimensionOptions { /** Enables/Disables total value of all periods. */ @@ -75,7 +76,7 @@ export class IgxPivotDateDimension implements IPivotDimension { } public get resourceStrings(): IGridResourceStrings { - return this._resourceStrings; + return this._resourceStrings || getCurrentResourceStrings(GridResourceStringsEN, false); } /** @@ -108,11 +109,9 @@ export class IgxPivotDateDimension implements IPivotDimension { /** @hidden @internal */ public memberName = 'AllPeriods'; public displayName: string; - private _resourceStrings = getCurrentResourceStrings(GridResourceStringsEN); + private _resourceStrings: IGridResourceStrings = null; private _baseDimension: IPivotDimension; private _options: IPivotDateDimensionOptions = {}; - private _monthIntl = new Intl.DateTimeFormat('default', { month: 'long' }); - /** * Creates additional pivot date dimensions based on a provided dimension describing date data: @@ -147,7 +146,8 @@ export class IgxPivotDateDimension implements IPivotDimension { memberName: 'Months', memberFunction: (rec) => { const recordValue = PivotUtil.extractValueFromDimension(inBaseDimension, rec); - return recordValue ? this._monthIntl.format(new Date(recordValue)) : rec['Months']; + const dateValue = recordValue ? getDateFormatter().createDateFromValue(recordValue) : null; + return recordValue ? getDateFormatter().formatDateTime(dateValue, undefined, { month: 'long'}) : rec['Months']; }, enabled: true, childLevel: baseDimension @@ -158,7 +158,8 @@ export class IgxPivotDateDimension implements IPivotDimension { memberName: 'Quarters', memberFunction: (rec) => { const recordValue = PivotUtil.extractValueFromDimension(inBaseDimension, rec); - return recordValue ? `Q` + Math.ceil((new Date(recordValue).getMonth() + 1) / 3) : rec['Quarters']; + const dateValue = recordValue ? getDateFormatter().createDateFromValue(recordValue) : null; + return recordValue ? `Q` + Math.ceil((dateValue.getMonth() + 1) / 3) : rec['Quarters']; }, enabled: true, childLevel: monthDimension @@ -169,7 +170,8 @@ export class IgxPivotDateDimension implements IPivotDimension { memberName: 'Years', memberFunction: (rec) => { const recordValue = PivotUtil.extractValueFromDimension(inBaseDimension, rec); - return recordValue ? (new Date(recordValue)).getFullYear().toString() : rec['Years']; + const dateValue = recordValue ? getDateFormatter().createDateFromValue(recordValue) : null; + return recordValue ? dateValue.getFullYear().toString() : rec['Years']; }, enabled: true, childLevel: quarterDimension diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts index 57890443e81..22e69588fb1 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts @@ -70,7 +70,7 @@ import { IgxGridExcelStyleFilteringComponent, IgxExcelStyleColumnOperationsTempl import { IgxPivotGridNavigationService } from './pivot-grid-navigation.service'; import { IgxPivotColumnResizingService } from '../resizing/pivot-grid/pivot-resizing.service'; import { IgxFlatTransactionFactory, IgxOverlayService, State, Transaction, TransactionService } from '../../services/public_api'; -import { cloneArray, PlatformUtil, resizeObservable } from '../../core/utils'; +import { cloneArray, onResourceChangeHandle, PlatformUtil, resizeObservable } from '../../core/utils'; import { IgxPivotFilteringService } from './pivot-filtering.service'; import { DataUtil, GridColumnDataType } from '../../data-operations/data-util'; import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree'; @@ -1082,6 +1082,11 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni this.generateConfig(); } this.setupColumns(); + // Bind to onResourceChange after the columns have initialized the first time to avoid premature initialization. + onResourceChangeHandle(this.destroy$, () => { + // Since the columns are kinda static, due to assigning DisplayName on init, they need to be regenerated. + this.setupColumns(); + }, this); }); if (this.valueChipTemplateDirective) { this.valueChipTemplate = this.valueChipTemplateDirective.template; @@ -1098,6 +1103,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni Promise.resolve().then(() => { super.ngAfterViewInit(); }); + } /** diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.spec.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.spec.ts index 481c29cfec1..c3f89a795df 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.spec.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.spec.ts @@ -23,6 +23,7 @@ import { setElementSize } from '../../test-utils/helper-utils.spec'; import { IgxPivotRowDimensionMrlRowComponent } from './pivot-row-dimension-mrl-row.component'; import { IgxPivotRowDimensionContentComponent } from './pivot-row-dimension-content.component'; import { IgxGridCellComponent } from '../cell.component'; +import { getI18nManager } from 'igniteui-i18n-core'; const CSS_CLASS_LIST = 'igx-drop-down__list'; const CSS_CLASS_ITEM = 'igx-drop-down__item'; @@ -316,9 +317,10 @@ describe('IgxPivotGrid #pivotGrid', () => { { memberName: 'Date', enabled: true - }, { - total: false - } + }, + { + total: false + } ); pivotGrid.notifyDimensionChange(true); expect(pivotGrid.columns.length).toBe(5); @@ -760,7 +762,7 @@ describe('IgxPivotGrid #pivotGrid', () => { expect(pivotGrid.columns.length).toBe(3); }); - it('should calculate row headers according to grid size', async() => { + it('should calculate row headers according to grid size', async () => { const pivotGrid = fixture.componentInstance.pivotGrid; const rowHeightSmall = 32; const rowHeightMedium = 40; @@ -797,7 +799,7 @@ describe('IgxPivotGrid #pivotGrid', () => { expect(rowHeader[0].nativeElement.offsetHeight).toBe(rowHeightMedium); }); - it('should render with correct width when set to 100% inside of flex container', async() => { + it('should render with correct width when set to 100% inside of flex container', async () => { fixture = TestBed.createComponent(IgxPivotGridFlexContainerComponent); fixture.detectChanges(); await wait(100); @@ -2119,7 +2121,7 @@ describe('IgxPivotGrid #pivotGrid', () => { cell.nativeElement.click(); const cellClickargs: IGridCellEventArgs = { cell, event: new MouseEvent('click') }; - const gridCell = cellClickargs.cell as IgxGridCellComponent; + const gridCell = cellClickargs.cell as IgxGridCellComponent; const firstEntry = gridCell.rowData.aggregationValues.entries().next().value; expect(firstEntry).toEqual(['USA-UnitsSold', 829]); }); @@ -2233,38 +2235,38 @@ describe('IgxPivotGrid #pivotGrid', () => { columns: fixture.componentInstance.pivotConfigHierarchy.columns, rows: fixture.componentInstance.pivotConfigHierarchy.rows, values: [ - { - member: 'UnitsSold', - aggregate: { - aggregator: IgxPivotNumericAggregate.sum, - key: 'SUM', - label: 'Sum' - }, - enabled: true, - formatter: (value, row, column) => { - if (!column || !column.value || column.value.member !== 'UnitsSold') { - correctFirstColumnData = false; + { + member: 'UnitsSold', + aggregate: { + aggregator: IgxPivotNumericAggregate.sum, + key: 'SUM', + label: 'Sum' + }, + enabled: true, + formatter: (value, row, column) => { + if (!column || !column.value || column.value.member !== 'UnitsSold') { + correctFirstColumnData = false; + } + return value; } - return value; - } - }, - { - member: 'AmountOfSale', - displayName: 'Amount of Sale', - aggregate: { - aggregator: IgxTotalSaleAggregate.totalSale, - key: 'TOTAL', - label: 'Total' }, - enabled: true, - formatter: (value, row, column) => { - if (!column || !column.value || column.value.member !== 'AmountOfSale') { - correctSecondColumnData = false; + { + member: 'AmountOfSale', + displayName: 'Amount of Sale', + aggregate: { + aggregator: IgxTotalSaleAggregate.totalSale, + key: 'TOTAL', + label: 'Total' + }, + enabled: true, + formatter: (value, row, column) => { + if (!column || !column.value || column.value.member !== 'AmountOfSale') { + correctSecondColumnData = false; + } + return value; } - return value; } - } - ] + ] }; pivotGrid.width = '1500px'; diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-header-row.component.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-header-row.component.ts index 6fd9016f8f6..d1678c4fbcc 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-header-row.component.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-header-row.component.ts @@ -38,6 +38,7 @@ import { IgxIconComponent } from '../../icon/icon.component'; import { IgxDropDirective } from '../../directives/drag-drop/drag-drop.directive'; import { NgTemplateOutlet, NgClass, NgStyle } from '@angular/common'; import { IgxPivotRowHeaderGroupComponent } from './pivot-row-header-group.component'; +import { IgxPivotRowDimensionHeaderGroupComponent } from './pivot-row-dimension-header-group.component'; /** * diff --git a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-util.ts b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-util.ts index 37367e0706a..4d1d14c2380 100644 --- a/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-util.ts +++ b/projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-util.ts @@ -3,7 +3,7 @@ import { DataUtil, GridColumnDataType } from '../../data-operations/data-util'; import { FilteringLogic } from '../../data-operations/filtering-expression.interface'; import { FilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree'; import { ISortingExpression } from '../../data-operations/sorting-strategy'; -import { ColumnType, PivotGridType } from '../common/grid.interface'; +import { PivotGridType } from '../common/grid.interface'; import { IGridSortingStrategy, IgxSorting } from '../common/strategy'; import { IgxPivotAggregate, IgxPivotDateAggregate, IgxPivotNumericAggregate, IgxPivotTimeAggregate } from './pivot-grid-aggregate'; import { IPivotAggregator, IPivotConfiguration, IPivotDimension, IPivotGridRecord, IPivotKeys, IPivotValue, PivotDimensionType, PivotSummaryPosition } from './pivot-grid.interface'; diff --git a/projects/igniteui-angular/src/lib/grids/summaries/summary-cell.component.ts b/projects/igniteui-angular/src/lib/grids/summaries/summary-cell.component.ts index 8f4da37f72e..5a93ec63510 100644 --- a/projects/igniteui-angular/src/lib/grids/summaries/summary-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/summaries/summary-cell.component.ts @@ -4,10 +4,10 @@ import { IgxSummaryResult } from './grid-summary'; import { GridColumnDataType } from '../../data-operations/data-util'; -import { formatCurrency, formatDate, formatNumber, formatPercent, getLocaleCurrencyCode, getLocaleCurrencySymbol, NgTemplateOutlet } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; import { ISelectionNode } from '../common/types'; import { ColumnType } from '../common/grid.interface'; -import { trackByIdentity } from '../../core/utils'; +import { formatCurrency, formatDate, formatNumber, formatPercent, getCurrencyCode, trackByIdentity } from '../../core/utils'; @Component({ changeDetection: ChangeDetectionStrategy.OnPush, @@ -35,6 +35,12 @@ export class IgxSummaryCellComponent { @Input() public summaryTemplate: TemplateRef; + @Input() + public locale; + + @Input() + public gridResourceStrings; + /** @hidden */ @Input() @HostBinding('class.igx-grid-summary--active') @@ -103,23 +109,14 @@ export class IgxSummaryCellComponent { * @hidden @internal */ public get currencyCode(): string { - return this.column.pipeArgs.currencyCode ? - this.column.pipeArgs.currencyCode : getLocaleCurrencyCode(this.grid.locale); - } - - /** - * @hidden @internal - */ - public get currencySymbol(): string { - return this.column.pipeArgs.display ? - this.column.pipeArgs.display : getLocaleCurrencySymbol(this.grid.locale); + return getCurrencyCode(this.locale, this.column.pipeArgs.currencyCode); } /** cached single summary res after filter resets collection */ protected trackSummaryResult = trackByIdentity; public translateSummary(summary: IgxSummaryResult): string { - return this.grid.resourceStrings[`igx_grid_summary_${summary.key}`] || summary.label; + return this.gridResourceStrings[`igx_grid_summary_${summary.key}`] || summary.label; } /** @@ -135,7 +132,7 @@ export class IgxSummaryCellComponent { } const args = this.column.pipeArgs; - const locale = this.grid.locale; + const locale = this.locale; if (summary.key === 'count') { return formatNumber(summary.summaryResult, locale) @@ -150,7 +147,7 @@ export class IgxSummaryCellComponent { case GridColumnDataType.Time: return formatDate(summary.summaryResult, args.format, locale, args.timezone); case GridColumnDataType.Currency: - return formatCurrency(summary.summaryResult, locale, this.currencySymbol, this.currencyCode, args.digitsInfo); + return formatCurrency(summary.summaryResult, locale, args.display, this.currencyCode, args.digitsInfo); case GridColumnDataType.Percent: return formatPercent(summary.summaryResult, locale, args.digitsInfo); } diff --git a/projects/igniteui-angular/src/lib/grids/summaries/summary-row.component.html b/projects/igniteui-angular/src/lib/grids/summaries/summary-row.component.html index 6588859cf17..3b4301dcfa2 100644 --- a/projects/igniteui-angular/src/lib/grids/summaries/summary-row.component.html +++ b/projects/igniteui-angular/src/lib/grids/summaries/summary-row.component.html @@ -17,6 +17,8 @@ [class.igx-grid-summary--empty]="!col.hasSummary" [class.igx-grid-summary--pinned-last]="col.isLastPinned" [column]="col" + [locale]="grid.locale" + [gridResourceStrings]="grid.resourceStrings" [rowIndex]="index" [firstCellIndentation]="firstCellIndentation" [summaryResults]="getColumnSummaries(col.field)" @@ -45,6 +47,8 @@ [class.igx-grid-summary--pinned-first]="col.isFirstPinned" [class.igx-grid-summary--pinned-last]="col.isLastPinned" [column]="col" + [locale]="grid.locale" + [gridResourceStrings]="grid.resourceStrings" [firstCellIndentation]="firstCellIndentation" [rowIndex]="index" [summaryResults]="getColumnSummaries(col.field)" diff --git a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.ts b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.ts index e27d68065ba..a8a0e95a222 100644 --- a/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.ts +++ b/projects/igniteui-angular/src/lib/grids/tree-grid/tree-cell.component.ts @@ -3,13 +3,13 @@ import { Component, Input } from '@angular/core'; -import { NgClass, NgStyle, NgTemplateOutlet, DecimalPipe, PercentPipe, CurrencyPipe, DatePipe } from '@angular/common'; +import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common'; import { HammerGesturesManager } from '../../core/touch'; import { IgxGridExpandableCellComponent } from '../grid/expandable-cell.component'; import { IgxTreeGridRow } from '../grid-public-row'; import { RowType } from '../common/grid.interface'; -import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe } from '../common/pipes'; +import { IgxGridCellImageAltPipe, IgxStringReplacePipe, IgxColumnFormatterPipe, IgxNumberFormatterPipe, IgxPercentFormatterPipe, IgxCurrencyFormatterPipe, IgxDateFormatterPipe } from '../common/pipes'; import { IgxTooltipDirective } from '../../directives/tooltip/tooltip.directive'; import { IgxTooltipTargetDirective } from '../../directives/tooltip/tooltip-target.directive'; import { IgxCircularProgressBarComponent } from '../../progressbar/progressbar.component'; @@ -37,10 +37,10 @@ import { IgxTextSelectionDirective } from '../../directives/text-selection/text- NgClass, NgStyle, NgTemplateOutlet, - DecimalPipe, - PercentPipe, - CurrencyPipe, - DatePipe, + IgxNumberFormatterPipe, + IgxPercentFormatterPipe, + IgxCurrencyFormatterPipe, + IgxDateFormatterPipe, IgxChipComponent, IgxTextHighlightDirective, IgxIconComponent, diff --git a/projects/igniteui-angular/src/lib/input-group/input-group.component.ts b/projects/igniteui-angular/src/lib/input-group/input-group.component.ts index 86a739ffa42..50eba119e66 100644 --- a/projects/igniteui-angular/src/lib/input-group/input-group.component.ts +++ b/projects/igniteui-angular/src/lib/input-group/input-group.component.ts @@ -1,4 +1,4 @@ -import { NgTemplateOutlet, NgClass } from '@angular/common'; +import { NgTemplateOutlet } from '@angular/common'; import { ChangeDetectorRef, Component, @@ -14,7 +14,7 @@ import { AfterContentChecked } from '@angular/core'; import { IInputResourceStrings, InputResourceStringsEN } from '../core/i18n/input-resources'; -import { PlatformUtil, getComponentTheme } from '../core/utils'; +import { PlatformUtil, getComponentTheme, onResourceChangeHandle } from '../core/utils'; import { IgxButtonDirective } from '../directives/button/button.directive'; import { IgxHintDirective } from '../directives/hint/hint.directive'; import { @@ -50,7 +50,7 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh * Returns the resource strings. */ public get resourceStrings(): IInputResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -125,7 +125,8 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh private _type: IgxInputGroupType = null; private _filled = false; private _theme: IgxTheme; - private _resourceStrings = getCurrentResourceStrings(InputResourceStringsEN); + private _resourceStrings: IInputResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(InputResourceStringsEN); private _readOnly: undefined | boolean; /** @hidden @internal */ @@ -239,6 +240,9 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh } }); this._destroyRef.onDestroy(() => themeChange.unsubscribe()); + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(InputResourceStringsEN, false); + }, this); } /** @hidden */ @@ -385,7 +389,7 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh /** @hidden @internal */ public get fileNames() { - return this.input.fileNames || this._resourceStrings.igx_input_file_placeholder; + return this.input.fileNames || this.resourceStrings.igx_input_file_placeholder; } /** diff --git a/projects/igniteui-angular/src/lib/list/list.component.ts b/projects/igniteui-angular/src/lib/list/list.component.ts index 32b4d00b75d..aae2d0f20ab 100644 --- a/projects/igniteui-angular/src/lib/list/list.component.ts +++ b/projects/igniteui-angular/src/lib/list/list.component.ts @@ -13,7 +13,9 @@ import { TemplateRef, ViewChild, Directive, - booleanAttribute + booleanAttribute, + inject, + DestroyRef } from '@angular/core'; @@ -27,7 +29,7 @@ import { IgxListItemLeftPanningTemplateDirective, IgxListItemRightPanningTemplateDirective } from './list.common'; -import { IBaseEventArgs } from '../core/utils'; +import { IBaseEventArgs, onResourceChangeHandle } from '../core/utils'; import { IListResourceStrings, ListResourceStringsEN } from '../core/i18n/list-resources'; import { getCurrentResourceStrings } from '../core/i18n/resources'; @@ -442,7 +444,9 @@ export class IgxListComponent extends IgxListBaseDirective { @ViewChild('defaultDataLoading', { read: TemplateRef, static: true }) protected defaultDataLoadingTemplate: TemplateRef; - private _resourceStrings = getCurrentResourceStrings(ListResourceStringsEN); + private _destroyRef = inject(DestroyRef); + private _resourceStrings: IListResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN); /** * Sets the resource strings. @@ -457,11 +461,14 @@ export class IgxListComponent extends IgxListBaseDirective { * Returns the resource strings. */ public get resourceStrings(): IListResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } constructor(public element: ElementRef) { super(element); + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(ListResourceStringsEN, false); + }, this); } /** diff --git a/projects/igniteui-angular/src/lib/paginator/paginator.component.ts b/projects/igniteui-angular/src/lib/paginator/paginator.component.ts index 0a702ce25d8..4a0ba1baef1 100644 --- a/projects/igniteui-angular/src/lib/paginator/paginator.component.ts +++ b/projects/igniteui-angular/src/lib/paginator/paginator.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectorRef, Component, ContentChild, Directive, ElementRef, EventEmitter, Host, HostBinding, Input, Output, forwardRef } from '@angular/core'; +import { ChangeDetectorRef, Component, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, Host, HostBinding, Input, Output, forwardRef, inject } from '@angular/core'; import { IPageCancellableEventArgs, IPageEventArgs } from './paginator-interfaces'; import { IPaginatorResourceStrings, PaginatorResourceStringsEN } from '../core/i18n/paginator-resources'; import { OverlaySettings } from '../services/overlay/utilities'; @@ -10,6 +10,7 @@ import { IgxRippleDirective } from '../directives/ripple/ripple.directive'; import { getCurrentResourceStrings } from '../core/i18n/resources'; import { IgxIconButtonDirective } from '../directives/button/icon-button.directive'; import { IgxPaginatorToken } from './token'; +import { onResourceChangeHandle } from '../core/utils'; @Directive({ selector: '[igxPaginatorContent],igx-paginator-content', @@ -122,7 +123,9 @@ export class IgxPaginatorComponent implements IgxPaginatorToken { protected _selectOptions = [5, 10, 15, 25, 50, 100, 500]; protected _perPage = 15; - private _resourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN); + private _destroyRef = inject(DestroyRef); + private _resourceStrings: IPaginatorResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, true); private _overlaySettings: OverlaySettings = {}; private defaultSelectValues = [5, 10, 15, 25, 50, 100, 500]; @@ -257,10 +260,14 @@ export class IgxPaginatorComponent implements IgxPaginatorToken { * An accessor that returns the resource strings. */ public get resourceStrings(): IPaginatorResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } - constructor(private elementRef: ElementRef, private cdr: ChangeDetectorRef) { } + constructor(private elementRef: ElementRef, private cdr: ChangeDetectorRef) { + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(PaginatorResourceStringsEN, false); + }, this); + } /** * Returns if the current page is the last page. diff --git a/projects/igniteui-angular/src/lib/progressbar/progressbar.component.ts b/projects/igniteui-angular/src/lib/progressbar/progressbar.component.ts index c3b0b9361e7..80e1974a0f7 100644 --- a/projects/igniteui-angular/src/lib/progressbar/progressbar.component.ts +++ b/projects/igniteui-angular/src/lib/progressbar/progressbar.component.ts @@ -9,7 +9,6 @@ import { Renderer2, ViewChild, ContentChild, - AfterViewInit, AfterContentInit, Directive, booleanAttribute, diff --git a/projects/igniteui-angular/src/lib/query-builder/query-builder-header.component.ts b/projects/igniteui-angular/src/lib/query-builder/query-builder-header.component.ts index 714dc83c16f..f5b10f98ff0 100644 --- a/projects/igniteui-angular/src/lib/query-builder/query-builder-header.component.ts +++ b/projects/igniteui-angular/src/lib/query-builder/query-builder-header.component.ts @@ -1,6 +1,7 @@ -import { Component, HostBinding, Input } from '@angular/core'; +import { Component, DestroyRef, HostBinding, inject, Input } from '@angular/core'; import { IQueryBuilderResourceStrings, QueryBuilderResourceStringsEN } from '../core/i18n/query-builder-resources'; import { getCurrentResourceStrings } from '../core/i18n/resources'; +import { onResourceChangeHandle } from '../core/utils'; @Component({ selector: 'igx-query-builder-header', @@ -8,7 +9,9 @@ import { getCurrentResourceStrings } from '../core/i18n/resources'; }) export class IgxQueryBuilderHeaderComponent { - private _resourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); + private _destroyRef = inject(DestroyRef); + private _resourceStrings: IQueryBuilderResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); /** * @hidden @internal @@ -55,6 +58,12 @@ export class IgxQueryBuilderHeaderComponent { * Returns the resource strings. */ public get resourceStrings(): IQueryBuilderResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; + } + + constructor() { + onResourceChangeHandle(this._destroyRef, () => { + this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false); + }, this); } } diff --git a/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.html b/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.html index 4d6696ad3ea..1fca459aa7e 100644 --- a/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.html +++ b/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.html @@ -470,7 +470,8 @@ [expectedReturnField]="this.selectedField?.field" [expressionTree]="expressionItem.inEditMode ? (innerQueryNewExpressionTree ?? getExpressionTreeCopy(expressionItem.expression.searchTree, true)) : expressionItem.expression.searchTree" (inEditModeChange)="onInEditModeChanged($event)" - [searchValueTemplate]="searchValueTemplate"> + [searchValueTemplate]="searchValueTemplate" + [resourceStrings]="resourceStrings"> } diff --git a/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts b/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts index f456b40dbc7..b546be14f01 100644 --- a/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts +++ b/projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts @@ -5,7 +5,7 @@ import { Output, TemplateRef } from '@angular/core'; -import { getLocaleFirstDayOfWeek, NgTemplateOutlet, NgClass, DatePipe } from '@angular/common'; +import { NgTemplateOutlet, NgClass } from '@angular/common'; import { Inject } from '@angular/core'; import { Component, Input, ViewChild, ChangeDetectorRef, ViewChildren, QueryList, ElementRef, OnDestroy, HostBinding @@ -14,7 +14,7 @@ import { FormsModule } from '@angular/forms'; import { Subject } from 'rxjs'; import { IgxChipComponent } from '../chips/chip.component'; import { IQueryBuilderResourceStrings, QueryBuilderResourceStringsEN } from '../core/i18n/query-builder-resources'; -import { PlatformUtil, trackByIdentity } from '../core/utils'; +import { onResourceChangeHandle, PlatformUtil, trackByIdentity } from '../core/utils'; import { DataType, DataUtil } from '../data-operations/data-util'; import { IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand, IgxTimeFilteringOperand } from '../data-operations/filtering-condition'; import { FilteringLogic, IFilteringExpression } from '../data-operations/filtering-expression.interface'; @@ -36,7 +36,7 @@ import { IgxInputGroupComponent } from '../input-group/input-group.component'; import { IgxSelectItemComponent } from '../select/select-item.component'; import { IgxPrefixDirective } from '../directives/prefix/prefix.directive'; import { IgxIconComponent } from '../icon/icon.component'; -import { getCurrentResourceStrings } from '../core/i18n/resources'; +import { DEFAULT_LOCALE, getCurrentResourceStrings } from '../core/i18n/resources'; import { IgxIconButtonDirective } from '../directives/button/icon-button.directive'; import { IComboSelectionChangingEventArgs, IgxComboComponent } from "../combo/combo.component"; import { IgxComboHeaderDirective } from '../combo/public_api'; @@ -55,6 +55,8 @@ import { IgxDropDownItemNavigationDirective } from '../drop-down/drop-down-navig import { IgxQueryBuilderDragService } from './query-builder-drag.service'; import { isTree } from '../data-operations/expressions-tree-util'; import { ExpressionGroupItem, ExpressionItem, ExpressionOperandItem, IgxFieldFormatterPipe } from './query-builder.common'; +import { getCurrentI18n, IResourceChangeEventArgs } from 'igniteui-i18n-core'; +import { IgxDateFormatterPipe } from '../grids/common/pipes'; const DEFAULT_PIPE_DATE_FORMAT = 'mediumDate'; const DEFAULT_PIPE_TIME_FORMAT = 'mediumTime'; @@ -68,7 +70,7 @@ const DEFAULT_CHIP_FOCUS_DELAY = 50; templateUrl: './query-builder-tree.component.html', host: { 'class': 'igx-query-builder-tree' }, imports: [ - DatePipe, + IgxDateFormatterPipe, FormsModule, IgxButtonDirective, IgxCheckboxComponent, @@ -172,9 +174,9 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { @Input() public set fields(fields: FieldType[]) { this._fields = fields; - + this._fields = this._fields?.map(f => ({...f, filters: this.getFilters(f), pipeArgs: this.getPipeArgs(f) })); - + if (!this._fields && this.isAdvancedFiltering()) { this._fields = this.entities[0].fields; } @@ -209,7 +211,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { */ @Input() public get locale(): string { - return this._locale; + return this._locale || this._defaultLocale; } /** @@ -218,12 +220,6 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { */ public set locale(value: string) { this._locale = value; - // if value is invalid, set it back to _localeId - try { - getLocaleFirstDayOfWeek(this._locale); - } catch { - this._locale = this._localeId; - } } /** @@ -239,7 +235,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { * Returns the resource strings. */ public get resourceStrings(): IQueryBuilderResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -473,8 +469,10 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { private _expandedExpressions: IFilteringExpression[] = []; private _fields: FieldType[]; private _locale; + private _defaultLocale; private _entityNewValue: EntityType; - private _resourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); + private _resourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); /** * Returns if the select entity dropdown at the root level is disabled after the initial selection. @@ -545,7 +543,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { protected platform: PlatformUtil, private elRef: ElementRef, @Inject(LOCALE_ID) protected _localeId: string) { - this.locale = this.locale || this._localeId; + this.initLocale(); this.dragService.register(this, elRef); } @@ -560,7 +558,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { this.returnFieldSelectOverlaySettings.outlet = this.overlayOutlet; this.addExpressionDropDownOverlaySettings.outlet = this.overlayOutlet; this.groupContextMenuDropDownOverlaySettings.outlet = this.overlayOutlet; - + if (this.isAdvancedFiltering() && this.entities?.length === 1) { this.selectedEntity = this.entities[0].name; if (this._selectedEntity.fields.find(f => f.field === this.expectedReturnField)) { @@ -967,7 +965,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { this.selectedField.filters.condition(this.selectedCondition)?.isUnary ); } - + /** * @hidden @internal */ @@ -1530,7 +1528,7 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { DEFAULT_PIPE_TIME_FORMAT : field.dataType === DataType.DateTime ? DEFAULT_PIPE_DATE_TIME_FORMAT : DEFAULT_PIPE_DATE_FORMAT; } - + return pipeArgs; } @@ -1723,6 +1721,17 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy { } } + private initLocale() { + this._defaultLocale = getCurrentI18n(); + this._locale = this._localeId !== DEFAULT_LOCALE ? this._localeId : this._locale; + onResourceChangeHandle(this.destroy$, this.onResourceChange, this); + } + + private onResourceChange(args: CustomEvent) { + this._defaultLocale = args.detail.newLocale; + this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false); + } + /** rootGroup is recreated after clicking Apply, which sets new expressionTree and calls init()*/ protected trackExpressionItem = trackByIdentity; } diff --git a/projects/igniteui-angular/src/lib/query-builder/query-builder.component.ts b/projects/igniteui-angular/src/lib/query-builder/query-builder.component.ts index f14f2055c2f..cfd5d69291a 100644 --- a/projects/igniteui-angular/src/lib/query-builder/query-builder.component.ts +++ b/projects/igniteui-angular/src/lib/query-builder/query-builder.component.ts @@ -13,6 +13,7 @@ import { IgxIconService } from '../icon/icon.service'; import { editor } from '@igniteui/material-icons-extended'; import { IgxQueryBuilderSearchValueTemplateDirective } from './query-builder.directives'; import { recreateTree } from '../data-operations/expressions-tree-util'; +import { onResourceChangeHandle } from '../core/utils'; /** * A component used for operating with complex filters by creating or editing conditions @@ -168,7 +169,7 @@ export class IgxQueryBuilderComponent implements OnDestroy { * Returns the resource strings. */ public get resourceStrings(): IQueryBuilderResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -206,7 +207,8 @@ export class IgxQueryBuilderComponent implements OnDestroy { public queryTree: IgxQueryBuilderTreeComponent; private destroy$ = new Subject(); - private _resourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); + private _resourceStrings: IQueryBuilderResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN); private _expressionTree: IExpressionTree; private _fields: FieldType[]; private _entities: EntityType[]; @@ -214,6 +216,9 @@ export class IgxQueryBuilderComponent implements OnDestroy { constructor(protected iconService: IgxIconService) { this.registerSVGIcons(); + onResourceChangeHandle(this.destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(QueryBuilderResourceStringsEN, false); + }, this); } /** diff --git a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts index b32987f463b..10cda7d26fe 100644 --- a/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts +++ b/projects/igniteui-angular/src/lib/services/exporter-common/base-export-service.ts @@ -1,5 +1,5 @@ import { EventEmitter } from '@angular/core'; -import { cloneArray, cloneValue, columnFieldPath, IBaseEventArgs, resolveNestedPath, yieldingLoop } from '../../core/utils'; +import { cloneArray, cloneValue, columnFieldPath, formatDate, getCurrencyCode, IBaseEventArgs, resolveNestedPath, yieldingLoop } from '../../core/utils'; import { GridColumnDataType, DataUtil } from '../../data-operations/data-util'; import { ExportUtilities } from './export-utilities'; import { IgxExporterOptionsBase } from './exporter-options-base'; @@ -9,7 +9,7 @@ import { IGroupingState } from '../../data-operations/groupby-state.interface'; import { getHierarchy, isHierarchyMatch } from '../../data-operations/operations'; import { IGroupByExpandState } from '../../data-operations/groupby-expand-state.interface'; import { IFilteringState } from '../../data-operations/filtering-state.interface'; -import { DatePipe, FormatWidth, getLocaleCurrencyCode, getLocaleDateFormat, getLocaleDateTimeFormat } from '@angular/common'; +import { FormatWidth, getLocaleDateFormat, getLocaleDateTimeFormat } from '@angular/common'; import { IGroupByRecord } from '../../data-operations/groupby-record.interface'; import { ColumnType, GridType, IPathSegment } from '../../grids/common/grid.interface'; import { FilterUtil } from '../../data-operations/filtering-strategy'; @@ -1057,8 +1057,7 @@ export abstract class IgxBaseExporter { if (isDate) { const timeZoneOffset = recordVal.getTimezoneOffset() * 60000; const isoString = (new Date(recordVal - timeZoneOffset)).toISOString(); - const pipe = new DatePipe(grid.locale); - recordVal = pipe.transform(isoString); + recordVal = formatDate(isoString, 'mediumDate', grid.locale); } const groupExpressionName = record.column && record.column.header ? @@ -1162,9 +1161,7 @@ export abstract class IgxBaseExporter { }; if (column.dataType === 'currency') { - columnInfo.currencyCode = column.pipeArgs.currencyCode - ? column.pipeArgs.currencyCode - : getLocaleCurrencyCode(this.locale); + columnInfo.currencyCode = getCurrencyCode(this.locale, column.pipeArgs.currencyCode);; columnInfo.displayFormat = column.pipeArgs.display ? column.pipeArgs.display diff --git a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts index d331b240cc6..258924c9ac5 100644 --- a/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts +++ b/projects/igniteui-angular/src/lib/time-picker/time-picker.component.ts @@ -45,7 +45,7 @@ import { IgxButtonDirective } from '../directives/button/button.directive'; import { IgxDateTimeEditorDirective } from '../directives/date-time-editor/date-time-editor.directive'; import { IgxToggleDirective } from '../directives/toggle/toggle.directive'; import { ITimePickerResourceStrings, TimePickerResourceStringsEN } from '../core/i18n/time-picker-resources'; -import { IBaseEventArgs, isEqual, isDate, PlatformUtil, IBaseCancelableBrowserEventArgs } from '../core/utils'; +import { IBaseEventArgs, isEqual, isDate, PlatformUtil, IBaseCancelableBrowserEventArgs, onResourceChangeHandle } from '../core/utils'; import { PickerInteractionMode } from '../date-common/types'; import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive'; import { IgxLabelDirective } from '../directives/label/label.directive'; @@ -446,7 +446,8 @@ export class IgxTimePickerComponent extends PickerBaseDirective private _dateMinValue: Date; private _dateMaxValue: Date; private _selectedDate: Date; - private _resourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN); + private _resourceStrings: ITimePickerResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN); private _okButtonLabel = null; private _cancelButtonLabel = null; private _itemsDelta: Pick = @@ -531,7 +532,7 @@ export class IgxTimePickerComponent extends PickerBaseDirective * An accessor that returns the resource strings. */ public get resourceStrings(): ITimePickerResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -608,7 +609,9 @@ export class IgxTimePickerComponent extends PickerBaseDirective private cdr: ChangeDetectorRef, ) { super(element, _localeId, _inputGroupType); - this.locale = this.locale || this._localeId; + onResourceChangeHandle(this._destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN, false); + }, this); } /** @hidden @internal */ diff --git a/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts b/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts index 36955bd179f..184ef4543f7 100644 --- a/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts +++ b/projects/igniteui-angular/src/lib/tree/tree-node/tree-node.component.ts @@ -40,6 +40,7 @@ import { IgxCheckboxComponent } from '../../checkbox/checkbox.component'; import { IgxIconComponent } from '../../icon/icon.component'; import { NgTemplateOutlet, NgClass } from '@angular/common'; import { getCurrentResourceStrings } from '../../core/i18n/resources'; +import { onResourceChangeHandle } from '../../core/utils'; // TODO: Implement aria functionality /** @@ -226,7 +227,7 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements Ig * An accessor that returns the resource strings. */ public get resourceStrings(): ITreeResourceStrings { - return this._resourceStrings; + return this._resourceStrings || this._defaultResourceStrings; } /** @@ -378,9 +379,8 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements Ig /** @hidden @internal */ public registeredChildren: IgxTreeNodeLinkDirective[] = []; - /** @hidden @internal */ - private _resourceStrings = getCurrentResourceStrings(TreeResourceStringsEN); - + private _resourceStrings: ITreeResourceStrings = null; + private _defaultResourceStrings = getCurrentResourceStrings(TreeResourceStringsEN); private _tabIndex = null; private _disabled = false; @@ -395,6 +395,9 @@ export class IgxTreeNodeComponent extends ToggleAnimationPlayer implements Ig @Optional() @SkipSelf() @Inject(IGX_TREE_NODE_COMPONENT) public parentNode: IgxTreeNode ) { super(animationService); + onResourceChangeHandle(this.destroy$, () => { + this._defaultResourceStrings = getCurrentResourceStrings(TreeResourceStringsEN, false); + }, this); } /** diff --git a/projects/igniteui-angular/src/public_api.ts b/projects/igniteui-angular/src/public_api.ts index d4a70104a95..d8198d0f964 100644 --- a/projects/igniteui-angular/src/public_api.ts +++ b/projects/igniteui-angular/src/public_api.ts @@ -122,7 +122,8 @@ export { CancelableEventArgs, CancelableBrowserEventArgs } from './lib/core/util /** * i18n */ -export { igxI18N, IResourceStrings, changei18n } from './lib/core/i18n/resources'; +export { registerI18n, setCurrentI18n, getCurrentI18n, getCurrentResourceStrings } from 'igniteui-i18n-core'; +export { IResourceStrings, changei18n, toggleIgxAngularLocalization, isIgxAngularLocalizationEnabled } from './lib/core/i18n/resources'; export { ICarouselResourceStrings, CarouselResourceStringsEN } from './lib/core/i18n/carousel-resources'; export { IGridResourceStrings, GridResourceStringsEN } from './lib/core/i18n/grid-resources'; export { IComboResourceStrings, ComboResourceStringsEN } from './lib/core/i18n/combo-resources'; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index c3d2d4d104b..76d72f327fb 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -476,6 +476,11 @@ export class AppComponent implements OnInit { icon: 'list', name: 'List Performance' }, + { + link: '/localization', + icon: 'translate', + name: 'Localization' + }, { link: '/monthPicker', icon: 'event', diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 5234d396dc1..118db2b8a4f 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -128,6 +128,7 @@ import { TreeShowcaseSampleComponent } from './tree-showcase/tree-showcase.sampl import { GridColumnTypesSampleComponent } from './grid-column-types/grid-column-types.sample'; import { AccordionSampleComponent } from './accordion/accordion.sample'; import { GridLocalizationSampleComponent } from './grid-localization/grid-localization.sample'; +import { LocalizationSampleComponent } from './localization/localization.sample'; import { TreeGridGroupBySampleComponent } from './tree-grid-groupby/tree-grid-groupby.sample'; import { PaginationSampleComponent } from './pagination/pagination.component'; import { GridCellAPISampleComponent } from './grid-cell-api/grid-cell-api.sample'; @@ -714,5 +715,9 @@ export const appRoutes: Routes = [ { path: 'labelDirective', component: LabelSampleComponent + }, + { + path: 'localization', + component: LocalizationSampleComponent } ]; diff --git a/src/app/date-picker/date-picker.sample.ts b/src/app/date-picker/date-picker.sample.ts index fcc1d9042ed..c8ef3b8418c 100644 --- a/src/app/date-picker/date-picker.sample.ts +++ b/src/app/date-picker/date-picker.sample.ts @@ -93,6 +93,13 @@ export class DatePickerSampleComponent { ); public panelConfig: PropertyPanelConfig = { + locale: { + control: { + type: 'locale', + options: ['HI', 'BG', 'EN', 'DE', 'ES', 'FR', 'IT', 'JA', 'KO', 'zh-Hans', 'zh-Hant'], + defaultValue: 'EN', + } + }, size: { control: { type: 'button-group', diff --git a/src/app/grid-localization/grid-localization.sample.html b/src/app/grid-localization/grid-localization.sample.html index 28cff2ae551..a9c535d0466 100644 --- a/src/app/grid-localization/grid-localization.sample.html +++ b/src/app/grid-localization/grid-localization.sample.html @@ -1,7 +1,13 @@ -
+
+ + + +
+
- + Grid with Localization @@ -12,17 +18,18 @@ } - - - - - - - - - - + + + + + + + + + + + +
diff --git a/src/app/grid-localization/grid-localization.sample.ts b/src/app/grid-localization/grid-localization.sample.ts index d760416129b..fecee5e4e82 100644 --- a/src/app/grid-localization/grid-localization.sample.ts +++ b/src/app/grid-localization/grid-localization.sample.ts @@ -1,6 +1,6 @@ -import { Component, OnInit, ViewChild } from '@angular/core'; -import { registerLocaleData } from '@angular/common'; -import { FormsModule } from '@angular/forms'; +import { Component, CUSTOM_ELEMENTS_SCHEMA, OnInit, ViewChild } from '@angular/core'; +import { formatDate, registerLocaleData } from '@angular/common'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import localeBG from '@angular/common/locales/bg'; import localeEN from '@angular/common/locales/en'; @@ -19,13 +19,43 @@ import { IgxResourceStringsBG, IgxResourceStringsDE, IgxResourceStringsES, IgxResourceStringsFR, IgxResourceStringsIT, IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsZHHANS, IgxResourceStringsZHHANT } from 'igniteui-angular-i18n'; -import { IResourceStrings, GridResourceStringsEN, IgxColumnComponent, IgxGridComponent, IgxSelectComponent, IgxSelectItemComponent, IgxGridToolbarComponent, IgxGridToolbarTitleComponent } from 'igniteui-angular'; +import { + IResourceStrings, + GridResourceStringsEN, + IgxColumnComponent, + IgxGridComponent, + IgxSelectComponent, + IgxSelectItemComponent, + IgxGridToolbarComponent, + IgxGridToolbarTitleComponent, + IgxPaginatorComponent, + changei18n, + IgxGridPinningActionsComponent, + IgxGridEditingActionsComponent, + IgxActionStripComponent +} from 'igniteui-angular'; +import { setCurrentI18n, registerI18n, ResourceStringsEN, getDateFormatter } from 'igniteui-i18n-core'; +import { GridResourceStringsBG, ResourceStringsBG, ResourceStringsDE, ResourceStringsES, ResourceStringsFR, ResourceStringsIT, ResourceStringsJA, ResourceStringsKO, ResourceStringsZHHANS, ResourceStringsZHHANT } from 'igniteui-i18n-resources'; +import { toggleIgxAngularLocalization } from 'igniteui-angular/src/lib/core/i18n/resources'; @Component({ selector: 'app-grid-localization', styleUrls: ['./grid-localization.sample.scss'], templateUrl: 'grid-localization.sample.html', - imports: [IgxGridComponent, IgxColumnComponent, IgxGridToolbarComponent, IgxGridToolbarTitleComponent, IgxSelectComponent, FormsModule, IgxSelectItemComponent] + imports: [ + FormsModule, + ReactiveFormsModule, + IgxGridComponent, + IgxColumnComponent, + IgxGridToolbarComponent, + IgxGridToolbarTitleComponent, + IgxSelectComponent, + IgxSelectItemComponent, + IgxPaginatorComponent, + IgxGridPinningActionsComponent, + IgxGridEditingActionsComponent, + IgxActionStripComponent + ] }) export class GridLocalizationSampleComponent implements OnInit { @@ -37,20 +67,10 @@ export class GridLocalizationSampleComponent implements OnInit { public selectLocales = ['HI', 'BG', 'EN', 'DE', 'ES', 'FR', 'IT', 'JA', 'KO', 'zh-Hans', 'zh-Hant']; public cashedLocalizationEN: IResourceStrings; public partialCustomHindi: IResourceStrings; + public inputValue; constructor() { } public ngOnInit(): void { - registerLocaleData(localeBG); - registerLocaleData(localeEN); - registerLocaleData(localeDE); - registerLocaleData(localeES); - registerLocaleData(localeFR); - registerLocaleData(localeIT); - registerLocaleData(localeJA); - registerLocaleData(localeKO); - registerLocaleData(localeHans); - registerLocaleData(localeHant); - registerLocaleData(localeHI); this.data = DATA; this.cashedLocalizationEN = Object.assign({}, GridResourceStringsEN); // Creating a custom locale (HI) for specific grid strings. @@ -78,10 +98,49 @@ export class GridLocalizationSampleComponent implements OnInit { ]; this.locale = 'EN'; + + // Old way by Angular + // registerLocaleData(localeBG); + // registerLocaleData(localeEN); + // registerLocaleData(localeDE); + // registerLocaleData(localeES); + // registerLocaleData(localeFR); + // registerLocaleData(localeIT); + // registerLocaleData(localeJA); + // registerLocaleData(localeKO); + // registerLocaleData(localeHans); + // registerLocaleData(localeHant); + // registerLocaleData(localeHI); + + // New API + registerI18n(ResourceStringsBG, 'bg'); + registerI18n(ResourceStringsEN, 'en'); + registerI18n(ResourceStringsDE, 'de'); + registerI18n(ResourceStringsES, 'es'); + registerI18n(ResourceStringsFR, 'fr'); + registerI18n(ResourceStringsIT, 'it'); + registerI18n(ResourceStringsJA, 'ja'); + registerI18n(ResourceStringsKO, 'ko'); + registerI18n(ResourceStringsZHHANS, 'zh-Hans'); + registerI18n(ResourceStringsZHHANT, 'zh-Hant'); + + toggleIgxAngularLocalization(false); } public updateLocale() { const newLocale = this.locales.find(x => x.type === this.locale).resource; - this.grid.resourceStrings = newLocale; + // Manual assign of resource strings. + //this.grid.resourceStrings = newLocale; + + // Old API + // changei18n(newLocale); + + // New API + setCurrentI18n(this.locale); + } + + public onButtonClick() { + console.log("Old: " + formatDate(new Date("10/10/1993"), this.inputValue, this.locale)); + console.log("New: " + getDateFormatter().formatDateCustomFormat(new Date("10/10/1993"), this.locale, this.inputValue)); } } diff --git a/src/app/localization/localization.sample.html b/src/app/localization/localization.sample.html new file mode 100644 index 00000000000..19db9e0b628 --- /dev/null +++ b/src/app/localization/localization.sample.html @@ -0,0 +1,337 @@ +
+ + @for (locale of selectLocales; track locale) { + {{ locale }} + } + +
+
+ + You are currently offline. + +
+
+ +
+
+ + @for (slide of slides; track slide) { + +
+ +
+
+ } +
+
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
+ + + + + + + + + + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+
+ + + +
+
+
diff --git a/src/app/localization/localization.sample.scss b/src/app/localization/localization.sample.scss new file mode 100644 index 00000000000..787524b6ad6 --- /dev/null +++ b/src/app/localization/localization.sample.scss @@ -0,0 +1,58 @@ +:host { + + .sample-column { + display: flex; + flex-flow: row wrap !important; + width: 100%; + height: 100vh; + } + + .sample-row { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + margin-bottom: 3rem; + } + + .grid-wrapper { + width: 70%; + } + + --ig-size: var(--ig-size-small); + +} + +:host ::ng-deep{ + .image-container { + max-width: 85%; + display: flex; + align-items: center; + justify-content: center; + } + + .igx-carousel { + max-width: 100%; + width: unset; + } + + .igx-slide { + display: flex; + justify-content: center; + align-items: center; + max-width: 100%; + width: unset; + } + + .igx-slide img { + object-fit: fill; + max-width: 90%; + } +} + +.pivot-container { + display: flex; + flex: 1 1 auto; + order: 0; + align-items: stretch; +} diff --git a/src/app/localization/localization.sample.ts b/src/app/localization/localization.sample.ts new file mode 100644 index 00000000000..414b02b2387 --- /dev/null +++ b/src/app/localization/localization.sample.ts @@ -0,0 +1,1493 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; + +import { DATA } from '../shared/financialData'; + +import { + IgxResourceStringsBG, IgxResourceStringsDE, IgxResourceStringsES, IgxResourceStringsFR, IgxResourceStringsIT, + IgxResourceStringsJA, IgxResourceStringsKO, IgxResourceStringsZHHANS, IgxResourceStringsZHHANT +} from 'igniteui-angular-i18n'; +import { IResourceStrings, GridResourceStringsEN, IgxColumnComponent, IgxGridComponent, IgxSelectComponent, IgxSelectItemComponent, IgxGridToolbarComponent, IgxPaginatorComponent, IgxGridPinningActionsComponent, IgxGridEditingActionsComponent, IgxActionStripComponent, IgxGridToolbarExporterComponent, IgxGridToolbarAdvancedFilteringComponent, IgxGridToolbarHidingComponent, IgxGridToolbarPinningComponent, IgxGridToolbarActionsComponent, IgxBannerComponent, IgxCalendarComponent, IgxCarouselComponent, IgxSlideComponent, IgxChipComponent, IgxComboComponent, IgxDatePickerComponent, IgxDateRangePickerComponent, IgxTreeGridComponent, IgxHierarchicalGridComponent, IgxRowIslandComponent, IgxGridToolbarDirective, IgxPivotGridComponent, IgxPivotDataSelectorComponent, GridColumnDataType, IgxPivotDateDimension, IgxPivotNumericAggregate, IPivotConfiguration } from 'igniteui-angular'; +import { setCurrentI18n, registerI18n, ResourceStringsEN } from 'igniteui-i18n-core'; +import { ResourceStringsBG, ResourceStringsDE, ResourceStringsES, ResourceStringsFR, ResourceStringsIT, ResourceStringsJA, ResourceStringsKO, ResourceStringsZHHANS, ResourceStringsZHHANT } from 'igniteui-i18n-resources'; +import { toggleIgxAngularLocalization } from 'igniteui-angular/src/lib/core/i18n/resources'; + +@Component({ + selector: 'app-localization', + styleUrls: ['./localization.sample.scss'], + templateUrl: 'localization.sample.html', + imports: [ + FormsModule, + ReactiveFormsModule, + IgxGridComponent, + IgxColumnComponent, + IgxGridToolbarComponent, + IgxSelectComponent, + IgxSelectItemComponent, + IgxPaginatorComponent, + IgxGridPinningActionsComponent, + IgxGridEditingActionsComponent, + IgxActionStripComponent, + IgxGridToolbarExporterComponent, + IgxGridToolbarAdvancedFilteringComponent, + IgxGridToolbarHidingComponent, + IgxGridToolbarPinningComponent, + IgxGridToolbarActionsComponent, + IgxBannerComponent, + IgxCalendarComponent, + IgxCarouselComponent, + IgxSlideComponent, + IgxChipComponent, + IgxComboComponent, + IgxDatePickerComponent, + IgxDateRangePickerComponent, + IgxTreeGridComponent, + IgxHierarchicalGridComponent, + IgxRowIslandComponent, + IgxGridToolbarDirective, + IgxPivotGridComponent, + IgxPivotDataSelectorComponent + ] +}) + +export class LocalizationSampleComponent implements OnInit { + @ViewChild('grid', { read: IgxGridComponent, static: true }) + public grid: IgxGridComponent; + + @ViewChild(IgxBannerComponent, { static: true }) + public banner: IgxBannerComponent; + + public data: any[]; + public locale: string; + public locales: { type: string, resource: IResourceStrings }[]; + public selectLocales = ['HI', 'BG', 'EN', 'DE', 'ES', 'FR', 'IT', 'JA', 'KO', 'zh-Hans', 'zh-Hant']; + public cashedLocalizationEN: IResourceStrings; + public partialCustomHindi: IResourceStrings; + public inputValue; + + public slides = [ + { + src: 'https://www.infragistics.com/angular-demos-lob/assets/images/carousel/ignite-ui-angular-indigo-design.png' + }, + { + src: 'https://www.infragistics.com/angular-demos-lob/assets/images/carousel/slider-image-chart.png' + }, + { + src: 'https://www.infragistics.com/angular-demos-lob/assets/images/carousel/ignite-ui-angular-charts.png' + } + ]; + + public lData = [ + { id: 1, name: 'India' }, + { id: 2, name: 'USA' }, + { id: 3, name: 'UK' }, + { id: 4, name: 'Germany' }, + { id: 5, name: 'France' } + ]; + + public tgData = [ + { + Address: 'Obere Str. 57', + Age: 55, + City: 'Berlin', + Country: 'Germany', + Fax: '030-0076545', + HireDate: new Date(2008, 3, 20), + ID: 1, + Name: 'Johnathan Winchester', + ParentID: -1, + Phone: '030-0074321', + PostalCode: '12209', + Title: 'Development Manager' + }, + { + Address: 'Avda. de la Constitución 2222', + Age: 42, + City: 'México D.F.', + Country: 'Mexico', + Fax: '(5) 555-3745', + HireDate: new Date(2014, 1, 22), + ID: 4, + Name: 'Ana Sanders', + ParentID: -1, + Phone: '(5) 555-4729', + PostalCode: '05021', + Title: 'CEO' + }, + { + Address: 'Mataderos 2312', + Age: 49, + City: 'México D.F.', + Country: 'Mexico', + Fax: '(5) 555-3995', + HireDate: new Date(2014, 1, 22), + ID: 18, + Name: 'Victoria Lincoln', + ParentID: -1, + Phone: '(5) 555-3932', + PostalCode: '05023', + Title: 'Accounting Manager' + }, + { + Address: '120 Hanover Sq.', + Age: 61, + City: 'London', + Country: 'UK', + Fax: '(171) 555-6750', + HireDate: new Date(2010, 1, 1), + ID: 10, + Name: 'Yang Wang', + ParentID: -1, + Phone: '(171) 555-7788', + PostalCode: 'WA1 1DP', + Title: 'Localization Manager' + }, + { + Address: 'Berguvsvägen 8', + Age: 43, + City: 'Luleå', + Country: 'Sweden', + Fax: '0921-12 34 67', + HireDate: new Date(2011, 6, 3), + ID: 3, + Name: 'Michael Burke', + ParentID: 1, + Phone: '0921-12 34 65', + PostalCode: 'S-958 22', + Title: 'Senior Software Developer' + }, + { + Address: 'Forsterstr. 57', + Age: 29, + City: 'Mannheim', + Country: 'Germany', + Fax: '0621-08924', + HireDate: new Date(2009, 6, 19), + ID: 2, + Name: 'Thomas Anderson', + ParentID: 1, + Phone: '0621-08460', + PostalCode: '68306', + Title: 'Senior Software Developer' + }, + { + Address: '24, place Kléber', + Age: 31, + City: 'Strasbourg', + Country: 'France', + Fax: '88.60.15.32', + HireDate: new Date(2014, 8, 18), + ID: 11, + Name: 'Monica Reyes', + ParentID: 1, + Phone: '88.60.15.31', + PostalCode: '67000', + Title: 'Software Development Team Lead' + } + ]; + + public hData = [{ + ID: 0, + Artist: 'Naomí Yepes', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/naomi.jpg', + Debut: 2011, + GrammyNominations: 6, + GrammyAwards: 0, + HasGrammyAward: false, + Tours: [ + { + Tour: 'Faithful Tour', + StartedOn: 'Sep 12', + Location: 'Worldwide', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'City Jam Sessions', + StartedOn: 'Aug 13', + Location: 'North America', + Headliner: 'YES', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Christmas NYC 2013', + StartedOn: 'Dec 13', + Location: 'United States', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Christmas NYC 2014', + StartedOn: 'Dec 14', + Location: 'North America', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Watermelon Tour', + StartedOn: 'Feb 15', + Location: 'Worldwide', + Headliner: 'YES', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Christmas NYC 2016', + StartedOn: 'Dec 16', + Location: 'United States', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'The Dragon Tour', + StartedOn: 'Feb 17', + Location: 'Worldwide', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Organic Sessions', + StartedOn: 'Aug 18', + Location: 'United States, England', + Headliner: 'YES', + TouredBy: 'Naomí Yepes' + }, + { + Tour: 'Hope World Tour', + StartedOn: 'Mar 19', + Location: 'Worldwide', + Headliner: 'NO', + TouredBy: 'Naomí Yepes' + } + ], + Albums: [ + { + Album: 'Initiation', + LaunchDate: new Date('September 3, 2013'), + BillboardReview: 86, + USBillboard200: 1, + Artist: 'Naomí Yepes', + Songs: [{ + Number: 1, + Title: 'Ambitious', + Released: new Date('28 Apr 2015'), + Genre: 'Dance-pop R&B', + Album: 'Initiation' + }, + { + Number: 2, + Title: 'My heart will go on', + Released: new Date('24 May 2015'), + Genre: 'Dance-pop R&B', + Album: 'Initiation' + }, + { + Number: 3, + Title: 'Sing to me', + Released: new Date('28 May 2015'), + Genre: 'Dance-pop R&B', + Album: 'Initiation' + }, + { + Number: 4, + Title: 'Want to dance with somebody', + Released: new Date('03 Jun 2015'), + Genre: 'Dance-pop R&B', + Album: 'Initiation' + }] + }, + { + Album: 'Dream Driven', + LaunchDate: new Date('August 25, 2014'), + BillboardReview: 81, + USBillboard200: 1, + Artist: 'Naomí Yepes', + Songs: [{ + Number: 1, + Title: 'Intro', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 2, + Title: 'Ferocious', + Released: new Date('28 Apr 2014'), + Genre: 'Dance-pop R&B', + Album: 'Dream Driven' + }, + { + Number: 3, + Title: 'Going crazy', + Released: new Date('10 Feb 2015'), + Genre: 'Dance-pop EDM', + Album: 'Dream Driven' + }, + { + Number: 4, + Title: 'Future past', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 5, + Title: 'Roaming like them', + Released: new Date('2 Jul 2014'), + Genre: 'Electro house Electropop', + Album: 'Dream Driven' + }, + { + Number: 6, + Title: 'Last Wishes', + Released: new Date('12 Aug 2014'), + Genre: 'R&B', + Album: 'Dream Driven' + }, + { + Number: 7, + Title: 'Stay where you are', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 8, + Title: 'Imaginarium', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 9, + Title: 'Tell me', + Released: new Date('30 Sep 2014'), + Genre: 'Synth-pop R&B', + Album: 'Dream Driven' + }, + { + Number: 10, + Title: 'Shredded into pieces', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 11, + Title: 'Capture this moment', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }, + { + Number: 12, + Title: 'Dream Driven', + Released: null, + Genre: '*', + Album: 'Dream Driven' + }] + }, + { + Album: 'The dragon journey', + LaunchDate: new Date('May 20, 2016'), + BillboardReview: 60, + USBillboard200: 2, + Artist: 'Naomí Yepes', + Songs: [{ + Number: 1, + Title: 'My dream', + Released: new Date('13 Jan 2017'), + Genre: 'Dance-pop EDM', + Album: 'The dragon journey' + }, + { + Number: 2, + Title: 'My passion', + Released: new Date('23 Sep 2017'), + Genre: 'Crunk reggaeton', + Album: 'The dragon journey' + }, + { + Number: 3, + Title: 'What is love', + Released: new Date('28 Nov 2018'), + Genre: 'Dance-pop R&B', + Album: 'The dragon journey' + }, + { + Number: 4, + Title: 'Negative', + Released: new Date('01 Dec 2018'), + Genre: 'Dance-pop EDM', + Album: 'The dragon journey' + }] + }, + { + Album: 'Organic me', + LaunchDate: new Date('August 17, 2018'), + BillboardReview: 82, + USBillboard200: 1, + Artist: 'Naomí Yepes', + Songs: [{ + Number: 1, + Title: 'I Love', + Released: new Date('11 May 2019'), + Genre: 'Crunk reggaeton', + Album: 'Organic me' + }, + { + Number: 2, + Title: 'Early Morning Compass', + Released: new Date('15 Jan 2020'), + Genre: 'mystical parody-bap ', + Album: 'Organic me' + }, + { + Number: 3, + Title: 'Key Fields Forever', + Released: new Date('2 Jan 2020'), + Genre: 'Dance-pop EDM', + Album: 'Organic me' + }, + { + Number: 4, + Title: 'Stand by Your Goblins', + Released: new Date('20 Nov 2019'), + Genre: '*', + Album: 'Organic me' + }, + { + Number: 5, + Title: 'Mad to Walk', + Released: new Date('12 May 2019'), + Genre: 'Electro house Electropop', + Album: 'Organic me' + }, + { + Number: 6, + Title: 'Alice\'s Waiting', + Released: new Date('28 Jan 2020'), + Genre: 'R&B', + Album: 'Organic me' + }, + { + Number: 7, + Title: 'We Shall Kiss', + Released: new Date('30 Oct 2019'), + Genre: '*', + Album: 'Organic me' + }, + { + Number: 8, + Title: 'Behind Single Ants', + Released: new Date('2 Oct 2019'), + Genre: '*', + Album: 'Organic me' + }, + { + Number: 9, + Title: 'Soap Autopsy', + Released: new Date('8 Aug 2019'), + Genre: 'Synth-pop R&B', + Album: 'Organic me' + }, + { + Number: 10, + Title: 'Have You Met Rich?', + Released: new Date('1 Jul 2019'), + Genre: 'ethno-tunes', + Album: 'Organic me' + }, + { + Number: 11, + Title: 'Livin\' on a Banana', + Released: new Date('22 Nov 2019'), + Genre: 'Crunk reggaeton', + Album: 'Organic me' + }] + }, + { + Album: 'Curiosity', + LaunchDate: new Date('December 7, 2019'), + BillboardReview: 75, + USBillboard200: 12, + Artist: 'Naomí Yepes', + Songs: [{ + Number: 1, + Title: 'Goals', + Released: new Date('07 Dec 2019'), + Genre: '*', + Album: 'Curiosity' + }, + { + Number: 2, + Title: 'Explorer', + Released: new Date('08 Dec 2019'), + Genre: 'Crunk reggaeton', + Album: 'Curiosity' + }, + { + Number: 3, + Title: 'I need to know', + Released: new Date('09 Dec 2019'), + Genre: 'Dance-pop R&B', + Album: 'Curiosity' + }, + { + Number: 4, + Title: 'Finding my purpose', + Released: new Date('10 Dec 2019'), + Genre: 'Heavy metal', + Album: 'Curiosity' + }, + { + Number: 5, + Title: 'Faster than the speed of love', + Released: new Date('21 Dec 2019'), + Genre: 'Dance-pop EDM', + Album: 'Curiosity' + }, + { + Number: 6, + Title: 'I like it', + Released: new Date('01 Jan 2020'), + Genre: 'Dance-pop EDM', + Album: 'Curiosity' + }] + } + ] + }, + { + ID: 1, + Artist: 'Babila Ebwélé', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/babila.jpg', + Debut: 2009, + GrammyNominations: 0, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + { + Tour: 'The last straw', + StartedOn: 'May 09', + Location: 'Europe, Asia', + Headliner: 'NO', + TouredBy: 'Babila Ebwélé' + }, + { + Tour: 'No foundations', + StartedOn: 'Jun 04', + Location: 'United States, Europe', + Headliner: 'YES', + TouredBy: 'Babila Ebwélé' + }, + { + Tour: 'Crazy eyes', + StartedOn: 'Jun 08', + Location: 'North America', + Headliner: 'NO', + TouredBy: 'Babila Ebwélé' + }, + { + Tour: 'Zero gravity', + StartedOn: 'Apr 19', + Location: 'United States', + Headliner: 'NO', + TouredBy: 'Babila Ebwélé' + }, + { + Tour: 'Battle with myself', + StartedOn: 'Mar 08', + Location: 'North America', + Headliner: 'YES', + TouredBy: 'Babila Ebwélé' + }], + Albums: [ + { + Album: 'Pushing up daisies', + LaunchDate: new Date('May 31, 2000'), + BillboardReview: 86, + USBillboard200: 42, + Artist: 'Babila Ebwélé', + Songs: [{ + Number: 1, + Title: 'Wood Shavings Forever', + Released: new Date('9 Jun 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }, + { + Number: 2, + Title: 'Early Morning Drive', + Released: new Date('20 May 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }, + { + Number: 3, + Title: 'Don\'t Natter', + Released: new Date('10 Jun 2019'), + Genre: 'adult calypso-industrial', + Album: 'Pushing up daisies' + }, + { + Number: 4, + Title: 'Stairway to Balloons', + Released: new Date('18 Jun 2019'), + Genre: 'calypso and mariachi', + Album: 'Pushing up daisies' + }, + { + Number: 5, + Title: 'The Number of your Apple', + Released: new Date('29 Oct 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }, + { + Number: 6, + Title: 'Your Delightful Heart', + Released: new Date('24 Feb 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }, + { + Number: 7, + Title: 'Nice Weather For Balloons', + Released: new Date('1 Aug 2019'), + Genre: 'rap-hop', + Album: 'Pushing up daisies' + }, + { + Number: 8, + Title: 'The Girl From Cornwall', + Released: new Date('4 May 2019'), + Genre: 'enigmatic rock-and-roll', + Album: 'Pushing up daisies' + }, + { + Number: 9, + Title: 'Here Without Jack', + Released: new Date('24 Oct 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }, + { + Number: 10, + Title: 'Born Rancid', + Released: new Date('19 Mar 2019'), + Genre: '*', + Album: 'Pushing up daisies' + }] + }, + { + Album: 'Death\'s dead', + LaunchDate: new Date('June 8, 2016'), + BillboardReview: 85, + USBillboard200: 95, + Artist: 'Babila Ebwélé', + Songs: [{ + Number: 1, + Title: 'Men Sound Better With You', + Released: new Date('20 Oct 2016'), + Genre: 'rap-hop', + Album: 'Death\'s dead' + }, + { + Number: 2, + Title: 'Ghost in My Rod', + Released: new Date('5 Oct 2016'), + Genre: 'enigmatic rock-and-roll', + Album: 'Death\'s dead' + }, + { + Number: 3, + Title: 'Bed of Men', + Released: new Date('14 Nov 2016'), + Genre: 'whimsical comedy-grass ', + Album: 'Death\'s dead' + }, + { + Number: 4, + Title: 'Don\'t Push', + Released: new Date('2 Jan 2017'), + Genre: 'unblack electronic-trip-hop', + Album: 'Death\'s dead' + }, + { + Number: 5, + Title: 'Nice Weather For Men', + Released: new Date('18 Dec 2017'), + Genre: '*', + Album: 'Death\'s dead' + }, + { + Number: 6, + Title: 'Rancid Rhapsody', + Released: new Date('10 Mar 2017'), + Genre: '*', + Album: 'Death\'s dead' + }, + { + Number: 7, + Title: 'Push, Push, Push!', + Released: new Date('21 Feb 2017'), + Genre: '*', + Album: 'Death\'s dead' + }, + { + Number: 8, + Title: 'My Name is Sarah', + Released: new Date('15 Nov 2017'), + Genre: '*', + Album: 'Death\'s dead' + }, + { + Number: 9, + Title: 'The Girl From My Hotel', + Released: new Date('6 Nov 2017'), + Genre: '*', + Album: 'Death\'s dead' + }, + { + Number: 10, + Title: 'Free Box', + Released: new Date('18 Apr 2017'), + Genre: 'splitter-funk', + Album: 'Death\'s dead' + }, + { + Number: 11, + Title: 'Hotel Cardiff', + Released: new Date('30 Dec 2017'), + Genre: 'guilty pleasure ebm', + Album: 'Death\'s dead' + }] + }] + }, + { + ID: 2, + Artist: 'Ahmad Nazeri', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/ahmad.jpg', + Debut: 2004, + GrammyNominations: 3, + GrammyAwards: 1, + HasGrammyAward: true, + Tours: [], + Albums: [ + { + Album: 'Emergency', + LaunchDate: new Date('March 6, 2004'), + BillboardReview: 98, + USBillboard200: 69, + Artist: 'Ahmad Nazeri', + Songs: [{ + Number: 1, + Title: 'I am machine', + Released: new Date('20 Oct 2004'), + Genre: 'Heavy metal', + Album: 'Emergency' + }, + { + Number: 2, + Title: 'I wish I knew', + Released: new Date('21 Oct 2004'), + Genre: 'rap-hop', + Album: 'Emergency' + }, + { + Number: 3, + Title: 'How I feel', + Released: new Date('22 Oct 2004'), + Genre: 'Heavy metal', + Album: 'Emergency' + }, + { + Number: 4, + Title: 'I am machine', + Released: new Date('30 Oct 2004'), + Genre: 'Heavy metal', + Album: 'Emergency' + }, + { + Number: 5, + Title: 'Monsters under my bed', + Released: new Date('01 Nov 2004'), + Genre: 'rap-hop', + Album: 'Emergency' + }, + { + Number: 6, + Title: 'I know what you want', + Released: new Date('20 Nov 2004'), + Genre: 'rap-hop', + Album: 'Emergency' + }, + { + Number: 7, + Title: 'Lies', + Released: new Date('21 Nov 2004'), + Genre: 'Heavy metal', + Album: 'Emergency' + }, + { + Number: 8, + Title: 'I did it for you', + Released: new Date('22 Nov 2004'), + Genre: 'rap-hop', + Album: 'Emergency' + }] + }, + { + Album: 'Bursting bubbles', + LaunchDate: new Date('April 17, 2006'), + BillboardReview: 69, + USBillboard200: 39, + Artist: 'Ahmad Nazeri', + Songs: [{ + Number: 1, + Title: 'Ghosts', + Released: new Date('20 Apr 2006'), + Genre: 'Hip-hop', + Album: 'Bursting bubbles' + }, + { + Number: 2, + Title: 'What goes around comes around', + Released: new Date('20 Apr 2006'), + Genre: 'Heavy metal', + Album: 'Bursting bubbles' + }, + { + Number: 3, + Title: 'I want nothing', + Released: new Date('21 Apr 2006'), + Genre: 'Heavy metal', + Album: 'Bursting bubbles' + }, + { + Number: 4, + Title: 'Me and you', + Released: new Date('22 Apr 2006'), + Genre: 'Rock', + Album: 'Bursting bubbles' + }] + } + ] + }, + { + ID: 3, + Artist: 'Kimmy McIlmorie', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/kimmy.jpg', + Debut: 2007, + GrammyNominations: 21, + GrammyAwards: 3, + HasGrammyAward: true, + Albums: [ + { + Album: 'Here we go again', + LaunchDate: new Date('November 18, 2017'), + BillboardReview: 68, + USBillboard200: 1, + Artist: 'Kimmy McIlmorie', + Songs: [{ + Number: 1, + Title: 'Same old love', + Released: new Date('20 Nov 2017'), + Genre: 'Hip-hop', + Album: 'Here we go again' + }, + { + Number: 2, + Title: 'Sick of it', + Released: new Date('20 Nov 2017'), + Genre: 'Hip-hop', + Album: 'Here we go again' + }, + { + Number: 3, + Title: 'No one', + Released: new Date('21 Nov 2017'), + Genre: 'Metal', + Album: 'Here we go again' + }, + { + Number: 4, + Title: 'Circles', + Released: new Date('22 Nov 2017'), + Genre: 'Heavy metal', + Album: 'Here we go again' + }, + { + Number: 5, + Title: 'Coming for you', + Released: new Date('30 Nov 2017'), + Genre: 'Hip-hop', + Album: 'Here we go again' + }] + } + ] + }, + { + ID: 4, + Artist: 'Mar Rueda', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/mar.jpg', + Debut: 1996, + GrammyNominations: 14, + GrammyAwards: 2, + HasGrammyAward: true, + Albums: [ + { + Album: 'Trouble', + LaunchDate: new Date('November 18, 2017'), + BillboardReview: 65, + USBillboard200: 2, + Artist: 'Mar Rueda', + Songs: [{ + Number: 1, + Title: 'You knew I was trouble', + Released: new Date('20 Nov 2017'), + Genre: 'Pop', + Album: 'Trouble' + }, + { + Number: 2, + Title: 'Cannot live without you', + Released: new Date('20 Nov 2017'), + Genre: 'Pop', + Album: 'Trouble' + }, + { + Number: 3, + Title: 'Lost you', + Released: new Date('21 Nov 2017'), + Genre: 'Metal', + Album: 'Trouble' + }, + { + Number: 4, + Title: 'Happiness starts with you', + Released: new Date('22 Nov 2017'), + Genre: '*', + Album: 'Trouble' + }, + { + Number: 5, + Title: 'I saw it coming', + Released: new Date('30 Dec 2017'), + Genre: 'Hip-hop', + Album: 'Trouble' + }] + } + ] + }, + { + ID: 5, + Artist: 'Izabella Tabakova', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/izabella.jpg', + Debut: 2017, + GrammyNominations: 7, + GrammyAwards: 11, + HasGrammyAward: true, + Tours: [ + { + Tour: 'Final breath', + StartedOn: 'Jun 13', + Location: 'Europe', + Headliner: 'YES', + TouredBy: 'Izabella Tabakova' + }, + { + Tour: 'Once bitten', + StartedOn: 'Dec 18', + Location: 'Australia, United States', + Headliner: 'NO', + TouredBy: 'Izabella Tabakova' + }, + { + Tour: 'Code word', + StartedOn: 'Sep 19', + Location: 'United States, Europe', + Headliner: 'NO', + TouredBy: 'Izabella Tabakova' + }, + { + Tour: 'Final draft', + StartedOn: 'Sep 17', + Location: 'United States, Europe', + Headliner: 'YES', + TouredBy: 'Izabella Tabakova' + } + ], + Albums: [ + { + Album: 'Once bitten', + LaunchDate: new Date('July 16, 2007'), + BillboardReview: 79, + USBillboard200: 53, + Artist: 'Izabella Tabakova', + Songs: [{ + Number: 1, + Title: 'Whole Lotta Super Cats', + Released: new Date('21 May 2019'), + Genre: '*', + Album: 'Once bitten' + }, + { + Number: 2, + Title: 'Enter Becky', + Released: new Date('16 Jan 2020'), + Genre: '*', + Album: 'Once bitten' + }, + { + Number: 3, + Title: 'Your Cheatin\' Flamingo', + Released: new Date('14 Jan 2020'), + Genre: '*', + Album: 'Once bitten' + }, + { + Number: 4, + Title: 'Mad to Kiss', + Released: new Date('6 Nov 2019'), + Genre: 'Synth-pop R&B', + Album: 'Once bitten' + }, + { + Number: 5, + Title: 'Hotel Prague', + Released: new Date('20 Oct 2019'), + Genre: 'ethno-tunes', + Album: 'Once bitten' + }, + { + Number: 6, + Title: 'Jail on My Mind', + Released: new Date('31 May 2019'), + Genre: 'Crunk reggaeton', + Album: 'Once bitten' + }, + { + Number: 7, + Title: 'Amazing Blues', + Released: new Date('29 May 2019'), + Genre: 'mystical parody-bap ', + Album: 'Once bitten' + }, + { + Number: 8, + Title: 'Goody Two Iron Filings', + Released: new Date('4 Jul 2019'), + Genre: 'Electro house Electropop', + Album: 'Once bitten' + }, + { + Number: 9, + Title: 'I Love in Your Arms', + Released: new Date('7 Jun 2019'), + Genre: 'R&B', + Album: 'Once bitten' + }, + { + Number: 10, + Title: 'Truly Madly Amazing', + Released: new Date('12 Sep 2019'), + Genre: 'ethno-tunes', + Album: 'Once bitten' + } + ] + }, + { + Album: 'Your graciousness', + LaunchDate: new Date('November 17, 2004'), + BillboardReview: 69, + USBillboard200: 30, + Artist: 'Izabella Tabakova', + Songs: [ + { + Number: 1, + Title: 'We Shall Tickle', + Released: new Date('31 Aug 2019'), + Genre: 'old emo-garage ', + Album: 'Your graciousness' + }, + { + Number: 2, + Title: 'Snail Boogie', + Released: new Date('14 Jun 2019'), + Genre: '*', + Album: 'Your graciousness' + }, + { + Number: 3, + Title: 'Amazing Liz', + Released: new Date('15 Oct 2019'), + Genre: '*', + Album: 'Your graciousness' + }, + { + Number: 4, + Title: 'When Sexy Aardvarks Cry', + Released: new Date('1 Oct 2019'), + Genre: 'whimsical comedy-grass ', + Album: 'Your graciousness' + }, + { + Number: 5, + Title: 'Stand By Dave', + Released: new Date('18 Aug 2019'), + Genre: 'unblack electronic-trip-hop', + Album: 'Your graciousness' + }, + { + Number: 6, + Title: 'The Golf Course is Your Land', + Released: new Date('2 Apr 2019'), + Genre: '*', + Album: 'Your graciousness' + }, + { + Number: 7, + Title: 'Where Have All the Men Gone?', + Released: new Date('29 Apr 2019'), + Genre: '*', + Album: 'Your graciousness' + }, + { + Number: 8, + Title: 'Rhythm of the Leg', + Released: new Date('5 Aug 2019'), + Genre: 'ethno-tunes', + Album: 'Your graciousness' + }, + { + Number: 9, + Title: 'Baby, I Need Your Hats', + Released: new Date('5 Dec 2019'), + Genre: 'neuro-tunes', + Album: 'Your graciousness' + }, + { + Number: 10, + Title: 'Stand by Your Cat', + Released: new Date('25 Jul 2019'), + Genre: '*', + Album: 'Your graciousness' + }] + }, + { + Album: 'Dark matters', + LaunchDate: new Date('November 3, 2002'), + BillboardReview: 79, + USBillboard200: 85, + Artist: 'Izabella Tabakova', + Songs: [{ + Number: 1, + Title: 'The Sun', + Released: new Date('31 Oct 2002'), + Genre: 'old emo-garage ', + Album: 'Dark matters' + }, + { + Number: 2, + Title: 'I will survive', + Released: new Date('03 Nov 2002'), + Genre: 'old emo-garage ', + Album: 'Dark matters' + }, + { + Number: 3, + Title: 'Try', + Released: new Date('04 Nov 2002'), + Genre: 'old emo-garage ', + Album: 'Dark matters' + }, + { + Number: 4, + Title: 'Miracle', + Released: new Date('05 Nov 2002'), + Genre: 'old emo-garage ', + Album: 'Dark matters' + }] + } + ] + }, + { + ID: 6, + Artist: 'Nguyễn Diệp Chi', + Photo: 'https://staging.infragistics.com/angular-demos/assets/images/hgrid/nguyen.jpg', + Debut: 1992, + GrammyNominations: 4, + GrammyAwards: 2, + HasGrammyAward: true, + Albums: [ + { + Album: 'Library of liberty', + LaunchDate: new Date('December 22, 2003'), + BillboardReview: 93, + USBillboard200: 5, + Artist: 'Nguyễn Diệp Chi', + Songs: [{ + Number: 1, + Title: 'Book of love', + Released: new Date('31 Dec 2003'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }, + { + Number: 2, + Title: 'Commitment', + Released: new Date('01 Jan 2004'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }, + { + Number: 3, + Title: 'Satisfaction', + Released: new Date('01 Jan 2004'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }, + { + Number: 4, + Title: 'Obsession', + Released: new Date('01 Jan 2004'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }, + { + Number: 5, + Title: 'Oblivion', + Released: new Date('02 Jan 2004'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }, + { + Number: 6, + Title: 'Energy', + Released: new Date('03 Jan 2004'), + Genre: 'Hip-hop', + Album: 'Library of liberty' + }] + } + ] + }]; + + public pData = [ + { + "Country": "Japan", + "Product": "Royal Oak", + "Units Sold": "1958", + "Manufacturing Price": 5, + "Sale Price": 125, + "Gross Sales": 244750, + "Discounts": null, + "Sales": 244750, + "COGS": 319860, + "Profit": 75110, + "Date": "7/1/20", + "Month Name": "July", + "Year": "2020", + "undefined": "20" + }, + { + "Country": "Brazil", + "Product": "Royal Oak", + "Units Sold": "3271", + "Manufacturing Price": 5, + "Sale Price": 300, + "Gross Sales": 981300, + "Discounts": null, + "Sales": 981300, + "COGS": 239500, + "Profit": 741800, + "Date": "8/1/20", + "Month Name": "August", + "Year": "2020" + }, + { + "Country": "India", + "Product": "Royal Oak", + "Units Sold": "2091", + "Manufacturing Price": 5, + "Sale Price": 7, + "Gross Sales": 14637, + "Discounts": null, + "Sales": 14637, + "COGS": 10730, + "Profit": 3907, + "Date": "9/1/20", + "Month Name": "September", + "Year": "2020" + }, + { + "Country": "USA", + "Product": "Royal Oak", + "Units Sold": "2825", + "Manufacturing Price": 5, + "Sale Price": 15, + "Gross Sales": 42375, + "Discounts": null, + "Sales": 42375, + "COGS": 6150, + "Profit": 36225, + "Date": "12/1/20", + "Month Name": "December", + "Year": "2020" + }, + { + "Country": "Japan", + "Product": "Vermont", + "Units Sold": "2513", + "Manufacturing Price": 10, + "Sale Price": 20, + "Gross Sales": 50260, + "Discounts": null, + "Sales": 50260, + "COGS": 2920, + "Profit": 47340, + "Date": "2/1/20", + "Month Name": "February", + "Year": "2020" + }, + { + "Country": "Brazil", + "Product": "Vermont", + "Units Sold": "883", + "Manufacturing Price": 10, + "Sale Price": 15, + "Gross Sales": 13245, + "Discounts": null, + "Sales": 13245, + "COGS": 9740, + "Profit": 3505, + "Date": "2/1/20", + "Month Name": "February", + "Year": "2020" + }, + { + "Country": "Japan", + "Product": "Vermont", + "Units Sold": "2087", + "Manufacturing Price": 10, + "Sale Price": 12, + "Gross Sales": 25044, + "Discounts": null, + "Sales": 25044, + "COGS": 7554, + "Profit": 17490, + "Date": "6/1/20", + "Month Name": "June", + "Year": "2020" + }]; + + public pivotConfigHierarchy: IPivotConfiguration; + + public dateDimension: IgxPivotDateDimension; + + constructor() { + this.dateDimension = new IgxPivotDateDimension({ + memberName: 'Date', + enabled: true + }, { + months: false, + quarters: true, + years: true + }); + + this.pivotConfigHierarchy = { + columns: [ + + { + memberName: 'Country', + enabled: true + }, + { + + memberName: 'Product', + enabled: true + } + ], + rows: [ + this.dateDimension + ], + values: [ + { + member: 'Sales', + aggregate: { + aggregator: IgxPivotNumericAggregate.sum, + key: 'Sum Of Sales', + label: 'Sum' + }, + enabled: false, + dataType: GridColumnDataType.Currency + }, + { + member: 'Profit', + aggregate: { + aggregator: IgxPivotNumericAggregate.sum, + key: 'Sum Of Profit', + label: 'Sum' + }, + enabled: true, + dataType: GridColumnDataType.Currency + } + ], + filters: [ + { + memberName: 'Month', + memberFunction: (data) => data['Month Name'], + enabled: false + } + ] + }; + } + public ngOnInit(): void { + this.data = DATA; + this.cashedLocalizationEN = Object.assign({}, GridResourceStringsEN); + // Creating a custom locale (HI) for specific grid strings. + // Similarly can localize all needed strings in a separate IgxResourceStringsHI file (feel free to contribute) + this.partialCustomHindi = { + igx_grid_summary_count: 'गणना', + igx_grid_summary_min: 'न्यून', + igx_grid_summary_max: 'अधिक', + igx_grid_summary_sum: 'योग', + igx_grid_summary_average: 'औसत' + }; + + this.locales = [ + { type: 'BG', resource: IgxResourceStringsBG }, + { type: 'DE', resource: IgxResourceStringsDE }, + { type: 'ES', resource: IgxResourceStringsES }, + { type: 'FR', resource: IgxResourceStringsFR }, + { type: 'IT', resource: IgxResourceStringsIT }, + { type: 'JA', resource: IgxResourceStringsJA }, + { type: 'KO', resource: IgxResourceStringsKO }, + { type: 'zh-Hans', resource: IgxResourceStringsZHHANS }, + { type: 'zh-Hant', resource: IgxResourceStringsZHHANT }, + { type: 'EN', resource: this.cashedLocalizationEN }, + { type: 'HI', resource: this.partialCustomHindi } + ]; + + this.locale = 'EN'; + + // New API + registerI18n(ResourceStringsBG, 'bg'); + registerI18n(ResourceStringsEN, 'en'); + registerI18n(ResourceStringsDE, 'de'); + registerI18n(ResourceStringsES, 'es'); + registerI18n(ResourceStringsFR, 'fr'); + registerI18n(ResourceStringsIT, 'it'); + registerI18n(ResourceStringsJA, 'ja'); + registerI18n(ResourceStringsKO, 'ko'); + registerI18n(ResourceStringsZHHANS, 'zh-Hans'); + registerI18n(ResourceStringsZHHANT, 'zh-Hant'); + + toggleIgxAngularLocalization(false); + + this.banner.open(); + } + + public updateLocale() { + setCurrentI18n(this.locale); + } +} diff --git a/src/app/properties-panel/properties-panel.component.html b/src/app/properties-panel/properties-panel.component.html index 4095e896edb..4020f4b85e3 100644 --- a/src/app/properties-panel/properties-panel.component.html +++ b/src/app/properties-panel/properties-panel.component.html @@ -8,6 +8,16 @@
Properties Panel
} + @if (getControlType(key) === 'locale') { + + @for (locale of config[key]?.control.options; track locale) { + + {{ locale }} + + } + + } + @if (getControlType(key) === 'text') { diff --git a/src/app/properties-panel/properties-panel.component.ts b/src/app/properties-panel/properties-panel.component.ts index bea4a983f64..b3590b5768e 100644 --- a/src/app/properties-panel/properties-panel.component.ts +++ b/src/app/properties-panel/properties-panel.component.ts @@ -6,7 +6,7 @@ import { inject, } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms'; +import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms'; import { PropertyChangeService, PropertyPanelConfig, @@ -26,8 +26,10 @@ import { IgxDatePickerComponent, IgxTimePickerComponent, IgxDateTimeEditorModule, - IgxDateRangePickerComponent + IgxDateRangePickerComponent, + ISelectionEventArgs } from 'igniteui-angular'; +import { setCurrentI18n } from 'igniteui-i18n-core'; @Component({ selector: 'app-properties-panel', @@ -35,6 +37,7 @@ import { templateUrl: './properties-panel.component.html', styleUrl: './properties-panel.component.scss', imports: [ + FormsModule, ReactiveFormsModule, CommonModule, IgxButtonDirective, @@ -133,4 +136,8 @@ export class PropertiesPanelComponent { ? labels : options.map((option) => option.label || option.toString()); } + + protected updateLocale(event: ISelectionEventArgs) { + setCurrentI18n(event.newSelection.value); + } } diff --git a/src/app/properties-panel/property-change.service.ts b/src/app/properties-panel/property-change.service.ts index b6f0344d107..2c83423debe 100644 --- a/src/app/properties-panel/property-change.service.ts +++ b/src/app/properties-panel/property-change.service.ts @@ -14,7 +14,8 @@ export type ControlType = 'date' | 'time' | 'date-time' | - 'date-range'; + 'date-range' | + 'locale'; // eslint-disable-next-line @typescript-eslint/consistent-type-definitions export type PropertyPanelConfig = { diff --git a/src/app/shared/financialData.ts b/src/app/shared/financialData.ts index 88513178f50..85f0791ab4b 100644 --- a/src/app/shared/financialData.ts +++ b/src/app/shared/financialData.ts @@ -86,7 +86,8 @@ export const DATA: any[] = [ 'High(Y)': 1306, 'Low(Y)': 1047.20, 'Start(Y)': 1176.60, - 'Change On Year(%)': 8.8502 + 'Change On Year(%)': 8.8502, + LastOrderDate:new Date('2020-03-17'), }, { Category: 'Metal', @@ -104,7 +105,8 @@ export const DATA: any[] = [ 'High(Y)': 18.06, 'Low(Y)': 13.73, 'Start(Y)': 15.895, - 'Change On Year(%)': 9.5942 + 'Change On Year(%)': 9.5942, + LastOrderDate: new Date('2024-05-07').toISOString(), }, { Category: 'Metal', @@ -122,7 +124,8 @@ export const DATA: any[] = [ 'High(Y)': 2.94, 'Low(Y)': 1.96, 'Start(Y)': 2.45, - 'Change On Year(%)': -13.7551 + 'Change On Year(%)': -13.7551, + LastOrderDate: new Date(2019, 2, 12, 14, 4, 50).toISOString(), }, { Category: 'Metal', @@ -140,7 +143,8 @@ export const DATA: any[] = [ 'High(Y)': 1120.60, 'Low(Y)': 812.40, 'Start(Y)': 966.50, - 'Change On Year(%)': 10.8225 + 'Change On Year(%)': 10.8225, + LastOrderDate: new Date(2020, 8, 25, 14, 4, 50), }, { Category: 'Metal', @@ -158,7 +162,8 @@ export const DATA: any[] = [ 'High(Y)': 690, 'Low(Y)': 458.6, 'Start(Y)': 574.3, - 'Change On Year(%)': 4.6492 + 'Change On Year(%)': 4.6492, + LastOrderDate: new Date('2009-02-13').toISOString(), }, { Category: 'Oil', @@ -176,7 +181,8 @@ export const DATA: any[] = [ 'High(Y)': 65.28, 'Low(Y)': 30.79, 'Start(Y)': 48.035, - 'Change On Year(%)': -4.6739 + 'Change On Year(%)': -4.6739, + LastOrderDate: new Date('2014-06-17').toISOString(), }, { Category: 'Oil', @@ -194,7 +200,8 @@ export const DATA: any[] = [ 'High(Y)': 71.14, 'Low(Y)': 30.02, 'Start(Y)': 50.58, - 'Change On Year(%)': -8.9561 + 'Change On Year(%)': -8.9561, + LastOrderDate: new Date('2015-11-01').toISOString(), }, { Category: 'Oil', @@ -212,7 +219,8 @@ export const DATA: any[] = [ 'High(Y)': 3.20, 'Low(Y)': 1.84, 'Start(Y)': 2.52, - 'Change On Year(%)': -16.5079 + 'Change On Year(%)': -16.5079, + LastOrderDate: new Date('2013-04-18').toISOString(), }, { Category: 'Oil', @@ -230,7 +238,8 @@ export const DATA: any[] = [ 'High(Y)': 2.05, 'Low(Y)': 1.15, 'Start(Y)': 1.60, - 'Change On Year(%)': 22.0727 + 'Change On Year(%)': 22.0727, + LastOrderDate: new Date('2017-12-24').toISOString(), }, { Category: 'Oil', @@ -248,7 +257,8 @@ export const DATA: any[] = [ 'High(Y)': 2.11, 'Low(Y)': 0.92, 'Start(Y)': 1.515, - 'Change On Year(%)': -10.4026 + 'Change On Year(%)': -10.4026, + LastOrderDate: new Date('2020-05-22').toISOString(), }, { Category: 'Oil', @@ -266,7 +276,8 @@ export const DATA: any[] = [ 'High(Y)': 2.7538, 'Low(Y)': 1.1168, 'Start(Y)': 1.475, - 'Change On Year(%)': 86.7011 + 'Change On Year(%)': 86.7011, + LastOrderDate: new Date('2016-08-08').toISOString(), }, { Category: 'Oil', @@ -284,7 +295,8 @@ export const DATA: any[] = [ 'High(Y)': 29.32, 'Low(Y)': 21.28, 'Start(Y)': 25.30, - 'Change On Year(%)': 9.0119 + 'Change On Year(%)': 9.0119, + LastOrderDate: new Date('2022-07-15').toISOString(), }, { Category: 'Oil', @@ -302,7 +314,8 @@ export const DATA: any[] = [ 'High(Y)': 0.4841, 'Low(Y)': 0.3954, 'Start(Y)': 0.4398, - 'Change On Year(%)': -5.3326 + 'Change On Year(%)': -5.3326, + LastOrderDate: new Date('2023-11-29').toISOString(), }, { Category: 'Agriculture', @@ -320,7 +333,8 @@ export const DATA: any[] = [ 'High(Y)': 628.50, 'Low(Y)': 449.50, 'Start(Y)': 539.00, - 'Change On Year(%)': -13.6327 + 'Change On Year(%)': -13.6327, + LastOrderDate: new Date('2025-03-11').toISOString(), }, { Category: 'Agriculture', @@ -338,7 +352,8 @@ export const DATA: any[] = [ 'High(Y)': 471.25, 'Low(Y)': 351.25, 'Start(Y)': 411.25, - 'Change On Year(%)': -7.6468 + 'Change On Year(%)': -7.6468, + LastOrderDate: new Date('2005-01-19').toISOString(), }, { Category: 'Agriculture', @@ -356,7 +371,8 @@ export const DATA: any[] = [ 'High(Y)': 16.87, 'Low(Y)': 11.37, 'Start(Y)': 14.12, - 'Change On Year(%)': 3.9249 + 'Change On Year(%)': 3.9249, + LastOrderDate: new Date('2006-05-10').toISOString(), }, { Category: 'Agriculture', @@ -374,7 +390,8 @@ export const DATA: any[] = [ 'High(Y)': 1057.00, 'Low(Y)': 859.50, 'Start(Y)': 958.25, - 'Change On Year(%)': 8.3869 + 'Change On Year(%)': 8.3869, + LastOrderDate: new Date('2007-04-06').toISOString(), }, { Category: 'Agriculture', @@ -392,7 +409,8 @@ export const DATA: any[] = [ 'High(Y)': 35.43, 'Low(Y)': 26.61, 'Start(Y)': 31.02, - 'Change On Year(%)': 8.8692 + 'Change On Year(%)': 8.8692, + LastOrderDate: new Date('2011-07-23').toISOString(), }, { Category: 'Agriculture', @@ -410,7 +428,8 @@ export const DATA: any[] = [ 'High(Y)': 353.40, 'Low(Y)': 261.70, 'Start(Y)': 307.55, - 'Change On Year(%)': 11.403 + 'Change On Year(%)': 11.403, + LastOrderDate: new Date('2012-08-12').toISOString(), }, { Category: 'Agriculture', @@ -428,7 +447,8 @@ export const DATA: any[] = [ 'High(Y)': 155.95, 'Low(Y)': 113.00, 'Start(Y)': 134.475, - 'Change On Year(%)': 4.2493 + 'Change On Year(%)': 4.2493, + LastOrderDate: new Date('2012-03-24').toISOString(), }, { Category: 'Agriculture', @@ -446,7 +466,8 @@ export const DATA: any[] = [ 'High(Y)': 155.75, 'Low(Y)': 115.35, 'Start(Y)': 135.55, - 'Change On Year(%)': -7.2741 + 'Change On Year(%)': -7.2741, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -464,7 +485,8 @@ export const DATA: any[] = [ 'High(Y)': 3406.00, 'Low(Y)': 2746.00, 'Start(Y)': 3076.00, - 'Change On Year(%)': 0.001 + 'Change On Year(%)': 0.001, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -482,7 +504,8 @@ export const DATA: any[] = [ 'High(Y)': 14.14, 'Low(Y)': 9.70, 'Start(Y)': 11.92, - 'Change On Year(%)': -12.6228 + 'Change On Year(%)': -12.6228, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -500,7 +523,8 @@ export const DATA: any[] = [ 'High(Y)': 241.25, 'Low(Y)': 183.75, 'Start(Y)': 212.50, - 'Change On Year(%)': -8.6034 + 'Change On Year(%)': -8.6034, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -518,7 +542,8 @@ export const DATA: any[] = [ 'High(Y)': 16.96, 'Low(Y)': 12.81, 'Start(Y)': 14.885, - 'Change On Year(%)': -13.6043 + 'Change On Year(%)': -13.6043, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -536,7 +561,8 @@ export const DATA: any[] = [ 'High(Y)': 67.59, 'Low(Y)': 54.33, 'Start(Y)': 60.96, - 'Change On Year(%)': 1.3123 + 'Change On Year(%)': 1.3123, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Agriculture', @@ -554,7 +580,8 @@ export const DATA: any[] = [ 'High(Y)': 317.10, 'Low(Y)': 236.00, 'Start(Y)': 276.55, - 'Change On Year(%)': 10.1426 + 'Change On Year(%)': 10.1426, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Livestock', @@ -572,7 +599,8 @@ export const DATA: any[] = [ 'High(Y)': 147.98, 'Low(Y)': 113.90, 'Start(Y)': 130.94, - 'Change On Year(%)': -7.8166 + 'Change On Year(%)': -7.8166, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Livestock', @@ -590,7 +618,8 @@ export const DATA: any[] = [ 'High(Y)': 190.00, 'Low(Y)': 138.10, 'Start(Y)': 164.05, - 'Change On Year(%)': -9.4139 + 'Change On Year(%)': -9.4139, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Livestock', @@ -608,7 +637,8 @@ export const DATA: any[] = [ 'High(Y)': 83.98, 'Low(Y)': 70.25, 'Start(Y)': 77.115, - 'Change On Year(%)': 6.0943 + 'Change On Year(%)': 6.0943, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -626,7 +656,8 @@ export const DATA: any[] = [ 'High(Y)': 100.70, 'Low(Y)': 91.88, 'Start(Y)': 96.29, - 'Change On Year(%)': -2.6151 + 'Change On Year(%)': -2.6151, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -644,7 +675,8 @@ export const DATA: any[] = [ 'High(Y)': 9483.00, 'Low(Y)': 0.93, 'Start(Y)': 4741.965, - 'Change On Year(%)': 95.6432 + 'Change On Year(%)': 95.6432, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -662,7 +694,8 @@ export const DATA: any[] = [ 'High(Y)': 1.59, 'Low(Y)': 1.1941, 'Start(Y)': 1.485, - 'Change On Year(%)': -19.59 + 'Change On Year(%)': -19.59, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -680,7 +713,8 @@ export const DATA: any[] = [ 'High(Y)': 0.79, 'Low(Y)': 0.68, 'Start(Y)': 0.735, - 'Change On Year(%)': 1.2789 + 'Change On Year(%)': 1.2789, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -698,7 +732,8 @@ export const DATA: any[] = [ 'High(Y)': 0.9545, 'Low(Y)': 0.68, 'Start(Y)': 0.755, - 'Change On Year(%)': 26.4295 + 'Change On Year(%)': 26.4295, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Currencies', @@ -716,7 +751,8 @@ export const DATA: any[] = [ 'High(Y)': 1.11, 'Low(Y)': 0.98, 'Start(Y)': 1.045, - 'Change On Year(%)': -0.1244 + 'Change On Year(%)': -0.1244, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Index', @@ -734,7 +770,8 @@ export const DATA: any[] = [ 'High(Y)': 18083.00, 'Low(Y)': 15299.00, 'Start(Y)': 16691.00, - 'Change On Year(%)': 6.118 + 'Change On Year(%)': 6.118, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Index', @@ -752,7 +789,8 @@ export const DATA: any[] = [ 'High(Y)': 2105.50, 'Low(Y)': 1794.50, 'Start(Y)': 1950.00, - 'Change On Year(%)': 5.4668 + 'Change On Year(%)': 5.4668, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Index', @@ -770,7 +808,8 @@ export const DATA: any[] = [ 'High(Y)': 4719.75, 'Low(Y)': 3867.75, 'Start(Y)': 4293.75, - 'Change On Year(%)': 1.107 + 'Change On Year(%)': 1.107, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Index', @@ -788,7 +827,8 @@ export const DATA: any[] = [ 'High(Y)': 1527.30, 'Low(Y)': 1236.00, 'Start(Y)': 1381.65, - 'Change On Year(%)': 5.3654 + 'Change On Year(%)': 5.3654, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Index', @@ -806,7 +846,8 @@ export const DATA: any[] = [ 'High(Y)': 620.32, 'Low(Y)': 595.90, 'Start(Y)': 608.11, - 'Change On Year(%)': 13.1177 + 'Change On Year(%)': 13.1177, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Interest Rate', @@ -824,7 +865,8 @@ export const DATA: any[] = [ 'High(Y)': 169.38, 'Low(Y)': 151.47, 'Start(Y)': 160.425, - 'Change On Year(%)': 2.3271 + 'Change On Year(%)': 2.3271, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Interest Rate', @@ -842,7 +884,8 @@ export const DATA: any[] = [ 'High(Y)': 109.80, 'Low(Y)': 108.62, 'Start(Y)': 109.21, - 'Change On Year(%)': 0.1634 + 'Change On Year(%)': 0.1634, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Interest Rate', @@ -860,7 +903,8 @@ export const DATA: any[] = [ 'High(Y)': 132.64, 'Low(Y)': 125.48, 'Start(Y)': 129.06, - 'Change On Year(%)': 1.1797 + 'Change On Year(%)': 1.1797, + LastOrderDate: new Date('2003-03-17').toISOString(), }, { Category: 'Interest Rate', @@ -878,7 +922,8 @@ export const DATA: any[] = [ 'High(Y)': 99.38, 'Low(Y)': 98.41, 'Start(Y)': 98.895, - 'Change On Year(%)': 0.2781 + 'Change On Year(%)': 0.2781, + LastOrderDate: new Date('2003-03-17').toISOString(), } ]; diff --git a/src/main.ts b/src/main.ts index a544bbda38b..062cbbe59b1 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,17 +1,5 @@ -import { registerLocaleData } from '@angular/common'; -import localeFr from '@angular/common/locales/fr'; -import localeDe from '@angular/common/locales/de'; -import localeJa from '@angular/common/locales/ja'; -import localeBb from '@angular/common/locales/bg'; -import localeZh from '@angular/common/locales/zh'; import { AppComponent } from './app/app.component'; import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; -registerLocaleData(localeFr); -registerLocaleData(localeDe); -registerLocaleData(localeJa); -registerLocaleData(localeBb); -registerLocaleData(localeZh); - bootstrapApplication(AppComponent, appConfig).catch(err => console.log(err)); diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json index d727a568dc7..718ed829af6 100644 --- a/src/tsconfig.app.json +++ b/src/tsconfig.app.json @@ -10,8 +10,7 @@ "files": [ "main.ts", "main.server.ts", - "server.ts", - "../projects/igniteui-angular-i18n/src/i18n/expand-type.ts" + "server.ts" ], "include": [ "**/*.d.ts" diff --git a/tsconfig.json b/tsconfig.json index 58ac0576fa5..8995b47ff11 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -29,7 +29,8 @@ ], "igniteui-angular-i18n": [ "projects/igniteui-angular-i18n/src/index.ts" - ] + ], + }, "rootDir": ".", "useDefineForClassFields": false,