From b92611672525676844fa4897fca84e7c13a639cc Mon Sep 17 00:00:00 2001 From: Lucas Koehler Date: Tue, 7 Apr 2026 18:17:16 +0200 Subject: [PATCH 1/3] dev: Update to Node 24 and pnpm 10.33.0 and update GH actions - Update node to ^24 - Update pnpm corepack version to 10.33.0 - Update @types/node dependency to 24 and update lockfile - Update GitHub Actions to actions/checkout@v6, actions/setup-node@v6, and pnpm/action-setup v5.0.0 - Remove now obsolete npm update step from publish workflow --- .devcontainer/Dockerfile | 4 +- .github/workflows/ci.yaml | 8 +- .github/workflows/publish.yaml | 12 +- .nvmrc | 2 +- README.md | 4 +- package.json | 6 +- packages/angular-material/package.json | 2 +- packages/examples/package.json | 2 +- packages/vue-vanilla/package.json | 2 +- packages/vue-vuetify/package.json | 2 +- packages/vue/package.json | 2 +- pnpm-lock.yaml | 647 +++++++++++++------------ 12 files changed, 370 insertions(+), 323 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index fcd3732236..2c810860f3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,7 +1,7 @@ # See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.191.1/containers/javascript-node/.devcontainer/base.Dockerfile -# [Choice] Node.js version: 22 -ARG VARIANT="22" +# [Choice] Node.js version: 24 +ARG VARIANT="24" FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:1-${VARIANT} # Install chromium and point the CHROME_BIN environment variable to it diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4e4a8440a4..fb2ce8d6b9 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -21,14 +21,14 @@ jobs: - windows-latest name: Run on ${{ matrix.os }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 24 - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 name: Install pnpm id: pnpm-install with: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml index 969912743a..97f6536e2c 100644 --- a/.github/workflows/publish.yaml +++ b/.github/workflows/publish.yaml @@ -27,7 +27,7 @@ jobs: id-token: 'write' # Required for npm OIDC runs-on: 'ubuntu-latest' steps: - - uses: 'actions/checkout@v4' + - uses: 'actions/checkout@v6' with: token: '${{ secrets.JSONFORMS_PUBLISH_PAT }}' @@ -36,22 +36,18 @@ jobs: git config user.name "jsonforms-publish[bot]" git config user.email "jsonforms-publish@eclipsesource.com" - - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0 + - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0 name: Install pnpm id: pnpm-install with: run_install: false - name: 'Setup node' - uses: 'actions/setup-node@v4' + uses: 'actions/setup-node@v6' with: - node-version: '22' + node-version: '24' registry-url: 'https://registry.npmjs.org' - # Ensure npm 11.5.1 or later for trusted publishing - - name: Update npm - run: npm install -g npm@latest - - name: 'Install Packages' run: 'pnpm i --frozen-lockfile' diff --git a/.nvmrc b/.nvmrc index 2bd5a0a98a..a45fd52cc5 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22 +24 diff --git a/README.md b/README.md index 2917ddb303..9517ca381c 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,8 @@ Independently of the assigned milestone, contributions are always accepted and a ### First time setup -- Install [node.js](https://nodejs.org/) (only Node v22+ < 23 is currently supported) -- Install pnpm: (use pnpm 10.4.1+) or use [corepack](https://nodejs.org/docs/latest-v18.x/api/corepack.html) to enable the recommended version +- Install [node.js](https://nodejs.org/) (only Node v24+ < 25 is currently supported) +- Install pnpm: (use pnpm 10.33.0+) or use [corepack](https://nodejs.org/docs/latest-v18.x/api/corepack.html) to enable the recommended version - Clone this repository - Install dependencies: `pnpm i --frozen-lockfile` diff --git a/package.json b/package.json index a665c3a12b..6702e8aed0 100644 --- a/package.json +++ b/package.json @@ -1,10 +1,10 @@ { "name": "jsonforms-monorepo", "engines": { - "node": "^22", - "pnpm": "^10.4.1" + "node": "^24", + "pnpm": "^10.33.0" }, - "packageManager": "pnpm@10.22.0+sha512.bf049efe995b28f527fd2b41ae0474ce29186f7edcb3bf545087bd61fbbebb2bf75362d1307fda09c2d288e1e499787ac12d4fcb617a974718a6051f2eee741c", + "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319", "scripts": { "lerna": "lerna", "preparePublish": "git clean -dfx && pnpm i --frozen-lockfile && pnpm run clean && pnpm run build && pnpm run doc && pnpm run test", diff --git a/packages/angular-material/package.json b/packages/angular-material/package.json index 0bebcdd2fb..f04b4581f8 100644 --- a/packages/angular-material/package.json +++ b/packages/angular-material/package.json @@ -107,7 +107,7 @@ "@ngtools/webpack": "^19.0.0", "@types/jasmine": "~3.8.0", "@types/lodash": "4.14.149", - "@types/node": "^22.13.8", + "@types/node": "^24.12.2", "@typescript-eslint/eslint-plugin": "^5.54.1", "@typescript-eslint/parser": "^5.54.1", "babel-loader": "^8.0.6", diff --git a/packages/examples/package.json b/packages/examples/package.json index 1906bcefb6..c9f4df08b4 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -55,7 +55,7 @@ }, "devDependencies": { "@jsonforms/core": "workspace:*", - "@types/node": "^22.13.8", + "@types/node": "^24.12.2", "@typescript-eslint/eslint-plugin": "^5.54.1", "@typescript-eslint/parser": "^5.54.1", "eslint": "^8.56.0", diff --git a/packages/vue-vanilla/package.json b/packages/vue-vanilla/package.json index 57882f7b6b..fc68a41e1f 100644 --- a/packages/vue-vanilla/package.json +++ b/packages/vue-vanilla/package.json @@ -64,7 +64,7 @@ "@types/chai": "^4.2.11", "@types/jest": "^29.5.14", "@types/mocha": "^5.2.4", - "@types/node": "^22.13.8", + "@types/node": "^24.12.2", "@typescript-eslint/eslint-plugin": "^5.54.1", "@typescript-eslint/parser": "^5.54.1", "@vue/cli-plugin-babel": "~5.0.8", diff --git a/packages/vue-vuetify/package.json b/packages/vue-vuetify/package.json index cad8b0eee9..936093f30c 100644 --- a/packages/vue-vuetify/package.json +++ b/packages/vue-vuetify/package.json @@ -81,7 +81,7 @@ "@tsconfig/node20": "^20.1.4", "@types/jsdom": "^21.1.6", "@types/lodash": "^4.14.172", - "@types/node": "^22.13.8", + "@types/node": "^24.12.2", "@types/splitpanes": "^2.2.6", "@vitejs/plugin-vue": "^5.0.4", "@vitest/coverage-v8": "^1.6.0", diff --git a/packages/vue/package.json b/packages/vue/package.json index e3b1d62e8b..483c510d80 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -57,7 +57,7 @@ "@jsonforms/core": "workspace:*", "@rollup/plugin-alias": "^3.1.8", "@types/jest": "^29.5.14", - "@types/node": "^22.13.8", + "@types/node": "^24.12.2", "@typescript-eslint/eslint-plugin": "^5.54.1", "@typescript-eslint/parser": "^5.54.1", "@vue/cli-plugin-babel": "~5.0.8", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2066080e3e..5e193a6bd3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 3.3.0 lerna: specifier: ^9.0.1 - version: 9.0.1(@types/node@22.13.8)(babel-plugin-macros@3.1.0) + version: 9.0.1(@types/node@24.12.2)(babel-plugin-macros@3.1.0) nan: specifier: ^2.14.2 version: 2.19.0 @@ -70,7 +70,7 @@ importers: version: 9.5.1(typescript@5.5.4)(webpack@5.91.0) ts-node: specifier: ^10.4.0 - version: 10.9.2(@types/node@22.13.8)(typescript@5.5.4) + version: 10.9.2(@types/node@24.12.2)(typescript@5.5.4) tslib: specifier: ^2.5.0 version: 2.6.2 @@ -177,7 +177,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^19.0.0 - version: 19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@22.13.8)(chokidar@4.0.1)(html-webpack-plugin@5.6.0(webpack@5.91.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(jiti@1.21.0)(karma@6.4.3)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(protractor@7.0.0)(stylus@0.57.0)(typescript@5.5.4)(vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))(yaml@2.8.1) + version: 19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@24.12.2)(chokidar@4.0.1)(html-webpack-plugin@5.6.0(webpack@5.91.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(jiti@1.21.0)(karma@6.4.3)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(protractor@7.0.0)(stylus@0.57.0)(typescript@5.5.4)(vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))(yaml@2.8.1) '@angular-devkit/core': specifier: ^19.0.0 version: 19.2.17(chokidar@4.0.1) @@ -201,7 +201,7 @@ importers: version: 19.2.19(@angular/common@19.2.20(@angular/core@19.2.20(rxjs@6.6.7)(zone.js@0.15.1))(rxjs@6.6.7))(@angular/core@19.2.20(rxjs@6.6.7)(zone.js@0.15.1))(rxjs@6.6.7) '@angular/cli': specifier: ^19.0.0 - version: 19.2.22(@types/node@22.13.8)(chokidar@4.0.1) + version: 19.2.22(@types/node@24.12.2)(chokidar@4.0.1) '@angular/common': specifier: ^19.0.0 version: 19.2.20(@angular/core@19.2.20(rxjs@6.6.7)(zone.js@0.15.1))(rxjs@6.6.7) @@ -254,8 +254,8 @@ importers: specifier: 4.14.149 version: 4.14.149 '@types/node': - specifier: ^22.13.8 - version: 22.13.8 + specifier: ^24.12.2 + version: 24.12.2 '@typescript-eslint/eslint-plugin': specifier: ^5.54.1 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) @@ -439,7 +439,7 @@ importers: version: 0.5.21 ts-node: specifier: ^10.4.0 - version: 10.9.2(@types/node@22.13.8)(typescript@5.5.4) + version: 10.9.2(@types/node@24.12.2)(typescript@5.5.4) tslib: specifier: ^2.5.0 version: 2.6.2 @@ -463,8 +463,8 @@ importers: specifier: workspace:* version: link:../core '@types/node': - specifier: ^22.13.8 - version: 22.13.8 + specifier: ^24.12.2 + version: 24.12.2 '@typescript-eslint/eslint-plugin': specifier: ^5.54.1 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) @@ -685,7 +685,7 @@ importers: version: 7.34.1(eslint@8.57.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + version: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -730,7 +730,7 @@ importers: version: 0.2.4 ts-jest: specifier: ^29.4.5 - version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4) + version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4) ts-loader: specifier: ^9.5.1 version: 9.5.1(typescript@5.5.4)(webpack@5.91.0) @@ -812,7 +812,7 @@ importers: version: 7.34.1(eslint@8.57.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + version: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jsdom: specifier: ^27.2.0 version: 27.2.0 @@ -854,7 +854,7 @@ importers: version: 5.12.0(rollup@2.80.0) ts-jest: specifier: ^29.4.5 - version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4) + version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4) tslib: specifier: ^2.5.0 version: 2.6.2 @@ -933,7 +933,7 @@ importers: version: 7.34.1(eslint@8.57.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + version: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -978,13 +978,13 @@ importers: version: 0.2.4 ts-jest: specifier: ^29.4.5 - version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4) + version: 29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4) ts-loader: specifier: ^9.5.1 version: 9.5.1(typescript@5.5.4)(webpack@5.91.0) ts-node: specifier: ^10.4.0 - version: 10.9.2(@types/node@22.13.8)(typescript@5.5.4) + version: 10.9.2(@types/node@24.12.2)(typescript@5.5.4) tslib: specifier: ^2.5.0 version: 2.6.2 @@ -1026,8 +1026,8 @@ importers: specifier: ^29.5.14 version: 29.5.14 '@types/node': - specifier: ^22.13.8 - version: 22.13.8 + specifier: ^24.12.2 + version: 24.12.2 '@typescript-eslint/eslint-plugin': specifier: ^5.54.1 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) @@ -1051,7 +1051,7 @@ importers: version: 2.4.6 '@vue/vue3-jest': specifier: ^29.2.6 - version: 29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4)) + version: 29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4)) core-js: specifier: ^3.9.1 version: 3.37.1 @@ -1075,7 +1075,7 @@ importers: version: 9.26.0(eslint@8.57.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + version: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-environment-jsdom: specifier: 29.7.0 version: 29.7.0 @@ -1105,7 +1105,7 @@ importers: version: 6.0.0(@vue/compiler-sfc@3.5.17) ts-jest: specifier: ^29.4.5 - version: 29.4.5(@babel/core@7.24.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4) + version: 29.4.5(@babel/core@7.24.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4) tslib: specifier: ^2.5.0 version: 2.6.2 @@ -1150,8 +1150,8 @@ importers: specifier: ^5.2.4 version: 5.2.7 '@types/node': - specifier: ^22.13.8 - version: 22.13.8 + specifier: ^24.12.2 + version: 24.12.2 '@typescript-eslint/eslint-plugin': specifier: ^5.54.1 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) @@ -1178,7 +1178,7 @@ importers: version: 2.4.6 '@vue/vue3-jest': specifier: ^29.2.6 - version: 29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4)) + version: 29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4)) chai: specifier: ^4.1.2 version: 4.4.1 @@ -1273,17 +1273,17 @@ importers: specifier: ^4.14.172 version: 4.17.7 '@types/node': - specifier: ^22.13.8 - version: 22.13.8 + specifier: ^24.12.2 + version: 24.12.2 '@types/splitpanes': specifier: ^2.2.6 version: 2.2.6 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.1.2(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4)) + version: 5.1.2(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4)) '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@22.13.8)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) + version: 1.6.0(vitest@1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) '@vue/eslint-config-prettier': specifier: ^9.0.0 version: 9.0.0(@types/eslint@8.56.10)(eslint@8.57.0)(prettier@3.3.3) @@ -1349,7 +1349,7 @@ importers: version: 6.1.0 rollup-plugin-postcss: specifier: ^4.0.2 - version: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + version: 4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) splitpanes: specifier: ^3.1.5 version: 3.1.5 @@ -1361,22 +1361,22 @@ importers: version: 5.5.4 vite: specifier: ^5.4.21 - version: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + version: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) vite-plugin-dts: specifier: ^3.9.1 - version: 3.9.1(@types/node@22.13.8)(rollup@4.59.0)(typescript@5.5.4)(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) + version: 3.9.1(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.5.4)(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) vite-plugin-node-polyfills: specifier: ^0.21.0 - version: 0.21.0(rollup@4.59.0)(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) + version: 0.21.0(rollup@4.59.0)(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) vite-plugin-static-copy: specifier: ^2.3.2 - version: 2.3.2(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) + version: 2.3.2(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)) vite-plugin-vuetify: specifier: ^2.1.1 - version: 2.1.1(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0) + version: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0) vitest: specifier: ^1.4.0 - version: 1.6.0(@types/node@22.13.8)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + version: 1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) vue: specifier: ^3.5.17 version: 3.5.17(typescript@5.5.4) @@ -4272,42 +4272,49 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] '@napi-rs/nice-linux-arm64-musl@1.1.1': resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] '@napi-rs/nice-linux-ppc64-gnu@1.1.1': resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} engines: {node: '>= 10'} cpu: [ppc64] os: [linux] + libc: [glibc] '@napi-rs/nice-linux-riscv64-gnu@1.1.1': resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] + libc: [glibc] '@napi-rs/nice-linux-s390x-gnu@1.1.1': resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} engines: {node: '>= 10'} cpu: [s390x] os: [linux] + libc: [glibc] '@napi-rs/nice-linux-x64-gnu@1.1.1': resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] '@napi-rs/nice-linux-x64-musl@1.1.1': resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] '@napi-rs/nice-openharmony-arm64@1.1.1': resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} @@ -4484,21 +4491,25 @@ packages: resolution: {integrity: sha512-2jvS8MYYOI8eUBRTmE8HKm5mRVLqS5Cvlj06tEAjxrmH5d7Bv8BG5Ps9yZzT0qswfVKChpzIliwPZomUjLTxmA==} cpu: [arm64] os: [linux] + libc: [glibc] '@nx/nx-linux-arm64-musl@22.0.4': resolution: {integrity: sha512-IK9gf8/AOtTW6rZajmGAFCN7EBzjmkIevt9MtOehQGlNXlMXydvUYKE5VU7d4oglvYs8aJJyayihfiZbFnTS8g==} cpu: [arm64] os: [linux] + libc: [musl] '@nx/nx-linux-x64-gnu@22.0.4': resolution: {integrity: sha512-CdALjMqqNgiffQQIlyxx6mrxJCOqDzmN6BW3w9msCPHVSPOPp4AenlT0kpC7ALvmNEUm0lC4r093QbN2t6a/wA==} cpu: [x64] os: [linux] + libc: [glibc] '@nx/nx-linux-x64-musl@22.0.4': resolution: {integrity: sha512-2GPy+mAQo4JnfjTtsgGrHhZbTmmGy4RqaGowe0qMYCMuBME33ChG9iiRmArYmVtCAhYZVn26rK76/Vn3tK7fgg==} cpu: [x64] os: [linux] + libc: [musl] '@nx/nx-win32-arm64-msvc@22.0.4': resolution: {integrity: sha512-jnZCCnTXoqOIrH0L31+qHVHmJuDYPoN6sl37/S1epP9n4fhcy9tjSx4xvx/WQSd417lU9saC+g7Glx2uFdgcTw==} @@ -4597,36 +4608,42 @@ packages: engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -4831,171 +4848,205 @@ packages: resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-gnueabihf@4.52.4': resolution: {integrity: sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-gnueabihf@4.59.0': resolution: {integrity: sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==} cpu: [arm] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm-musleabihf@4.34.8': resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm-musleabihf@4.52.4': resolution: {integrity: sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm-musleabihf@4.59.0': resolution: {integrity: sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==} cpu: [arm] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-gnu@4.34.8': resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-gnu@4.52.4': resolution: {integrity: sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-gnu@4.59.0': resolution: {integrity: sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==} cpu: [arm64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-arm64-musl@4.34.8': resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-musl@4.52.4': resolution: {integrity: sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-arm64-musl@4.59.0': resolution: {integrity: sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==} cpu: [arm64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loong64-gnu@4.52.4': resolution: {integrity: sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-gnu@4.59.0': resolution: {integrity: sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-loong64-musl@4.59.0': resolution: {integrity: sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==} cpu: [loong64] os: [linux] + libc: [musl] '@rollup/rollup-linux-loongarch64-gnu@4.34.8': resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} cpu: [loong64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.52.4': resolution: {integrity: sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-gnu@4.59.0': resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.59.0': resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} cpu: [ppc64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-gnu@4.34.8': resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.52.4': resolution: {integrity: sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-gnu@4.59.0': resolution: {integrity: sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==} cpu: [riscv64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-riscv64-musl@4.52.4': resolution: {integrity: sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-riscv64-musl@4.59.0': resolution: {integrity: sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==} cpu: [riscv64] os: [linux] + libc: [musl] '@rollup/rollup-linux-s390x-gnu@4.34.8': resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.52.4': resolution: {integrity: sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-s390x-gnu@4.59.0': resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.34.8': resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.52.4': resolution: {integrity: sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.59.0': resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} cpu: [x64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-musl@4.34.8': resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-linux-x64-musl@4.52.4': resolution: {integrity: sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-linux-x64-musl@4.59.0': resolution: {integrity: sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==} cpu: [x64] os: [linux] + libc: [musl] '@rollup/rollup-openbsd-x64@4.59.0': resolution: {integrity: sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==} @@ -5365,8 +5416,8 @@ packages: '@types/node-forge@1.3.11': resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} - '@types/node@22.13.8': - resolution: {integrity: sha512-G3EfaZS+iOGYWLLRCEAXdWK9my08oHNZ+FHluRiggIYJPOXzhOiDgpVCUHaUvyIC5/fj7C/p637jdzC666AOKQ==} + '@types/node@24.12.2': + resolution: {integrity: sha512-A1sre26ke7HDIuY/M23nd9gfB+nrmhtYyMINbjI1zHJxYteKR6qSMX56FsmjMcDb3SMcjJg5BiRRgOCC/yBD0g==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -13792,8 +13843,8 @@ packages: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} - undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} @@ -14777,13 +14828,13 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@22.13.8)(chokidar@4.0.1)(html-webpack-plugin@5.6.0(webpack@5.91.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(jiti@1.21.0)(karma@6.4.3)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(protractor@7.0.0)(stylus@0.57.0)(typescript@5.5.4)(vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))(yaml@2.8.1)': + '@angular-devkit/build-angular@19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@24.12.2)(chokidar@4.0.1)(html-webpack-plugin@5.6.0(webpack@5.91.0))(jest-environment-jsdom@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(jiti@1.21.0)(karma@6.4.3)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(protractor@7.0.0)(stylus@0.57.0)(typescript@5.5.4)(vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1902.17(chokidar@4.0.1) '@angular-devkit/build-webpack': 0.1902.17(chokidar@4.0.1)(webpack-dev-server@5.2.2(webpack@5.91.0))(webpack@5.98.0(esbuild@0.25.4)) '@angular-devkit/core': 19.2.17(chokidar@4.0.1) - '@angular/build': 19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@22.13.8)(chokidar@4.0.1)(jiti@1.21.0)(karma@6.4.3)(less@4.2.2)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(postcss@8.5.2)(stylus@0.57.0)(terser@5.39.0)(typescript@5.5.4)(yaml@2.8.1) + '@angular/build': 19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@24.12.2)(chokidar@4.0.1)(jiti@1.21.0)(karma@6.4.3)(less@4.2.2)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(postcss@8.5.2)(stylus@0.57.0)(terser@5.39.0)(typescript@5.5.4)(yaml@2.8.1) '@angular/compiler-cli': 19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4) '@babel/core': 7.26.10 '@babel/generator': 7.26.10 @@ -14796,7 +14847,7 @@ snapshots: '@babel/runtime': 7.26.10 '@discoveryjs/json-ext': 0.6.3 '@ngtools/webpack': 19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(typescript@5.5.4)(webpack@5.98.0(esbuild@0.25.4)) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1)) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1)) ansi-colors: 4.1.3 autoprefixer: 10.4.20(postcss@8.5.2) babel-loader: 9.2.1(@babel/core@7.26.10)(webpack@5.98.0(esbuild@0.25.4)) @@ -14838,7 +14889,7 @@ snapshots: webpack-subresource-integrity: 5.1.0(html-webpack-plugin@5.6.0(webpack@5.91.0))(webpack@5.98.0(esbuild@0.25.4)) optionalDependencies: esbuild: 0.25.4 - jest: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-environment-jsdom: 29.7.0 karma: 6.4.3 ng-packagr: 19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4) @@ -14976,7 +15027,7 @@ snapshots: '@angular/core': 19.2.20(rxjs@6.6.7)(zone.js@0.15.1) tslib: 2.6.3 - '@angular/build@19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@22.13.8)(chokidar@4.0.1)(jiti@1.21.0)(karma@6.4.3)(less@4.2.2)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(postcss@8.5.2)(stylus@0.57.0)(terser@5.39.0)(typescript@5.5.4)(yaml@2.8.1)': + '@angular/build@19.2.17(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(@angular/compiler@19.2.20)(@types/node@24.12.2)(chokidar@4.0.1)(jiti@1.21.0)(karma@6.4.3)(less@4.2.2)(ng-packagr@19.2.2(@angular/compiler-cli@19.2.20(@angular/compiler@19.2.20)(typescript@5.5.4))(tslib@2.6.2)(typescript@5.5.4))(postcss@8.5.2)(stylus@0.57.0)(terser@5.39.0)(typescript@5.5.4)(yaml@2.8.1)': dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.1902.17(chokidar@4.0.1) @@ -14986,8 +15037,8 @@ snapshots: '@babel/helper-annotate-as-pure': 7.25.9 '@babel/helper-split-export-declaration': 7.24.7 '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.10) - '@inquirer/confirm': 5.1.6(@types/node@22.13.8) - '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1)) + '@inquirer/confirm': 5.1.6(@types/node@24.12.2) + '@vitejs/plugin-basic-ssl': 1.2.0(vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1)) beasties: 0.3.2 browserslist: 4.24.2 esbuild: 0.25.4 @@ -15005,7 +15056,7 @@ snapshots: semver: 7.7.1 source-map-support: 0.5.21 typescript: 5.5.4 - vite: 6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1) + vite: 6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1) watchpack: 2.4.2 optionalDependencies: karma: 6.4.3 @@ -15034,13 +15085,13 @@ snapshots: rxjs: 6.6.7 tslib: 2.6.3 - '@angular/cli@19.2.22(@types/node@22.13.8)(chokidar@4.0.1)': + '@angular/cli@19.2.22(@types/node@24.12.2)(chokidar@4.0.1)': dependencies: '@angular-devkit/architect': 0.1902.22(chokidar@4.0.1) '@angular-devkit/core': 19.2.22(chokidar@4.0.1) '@angular-devkit/schematics': 19.2.22(chokidar@4.0.1) - '@inquirer/prompts': 7.3.2(@types/node@22.13.8) - '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.3.2(@types/node@22.13.8)) + '@inquirer/prompts': 7.3.2(@types/node@24.12.2) + '@listr2/prompt-adapter-inquirer': 2.0.18(@inquirer/prompts@7.3.2(@types/node@24.12.2)) '@schematics/angular': 19.2.22(chokidar@4.0.1) '@yarnpkg/lockfile': 1.1.0 ini: 5.0.0 @@ -17264,124 +17315,124 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.0(@types/node@22.13.8)': + '@inquirer/checkbox@4.3.0(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/type': 3.0.9(@types/node@24.12.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/checkbox@4.3.2(@types/node@22.13.8)': + '@inquirer/checkbox@4.3.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/confirm@5.1.21(@types/node@22.13.8)': + '@inquirer/confirm@5.1.21(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/confirm@5.1.6(@types/node@22.13.8)': + '@inquirer/confirm@5.1.6(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.2.2(@types/node@22.13.8) - '@inquirer/type': 3.0.8(@types/node@22.13.8) + '@inquirer/core': 10.2.2(@types/node@24.12.2) + '@inquirer/type': 3.0.8(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/core@10.2.2(@types/node@22.13.8)': + '@inquirer/core@10.2.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.0 '@inquirer/figures': 1.0.13 - '@inquirer/type': 3.0.8(@types/node@22.13.8) + '@inquirer/type': 3.0.8(@types/node@24.12.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/core@10.3.0(@types/node@22.13.8)': + '@inquirer/core@10.3.0(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.1 '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/type': 3.0.9(@types/node@24.12.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/core@10.3.2(@types/node@22.13.8)': + '@inquirer/core@10.3.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/type': 3.0.10(@types/node@24.12.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/editor@4.2.21(@types/node@22.13.8)': + '@inquirer/editor@4.2.21(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/external-editor': 1.0.2(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/external-editor': 1.0.2(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/editor@4.2.23(@types/node@22.13.8)': + '@inquirer/editor@4.2.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/external-editor': 1.0.3(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/external-editor': 1.0.3(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/expand@4.0.21(@types/node@22.13.8)': + '@inquirer/expand@4.0.21(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/expand@4.0.23(@types/node@22.13.8)': + '@inquirer/expand@4.0.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/external-editor@1.0.2(@types/node@22.13.8)': + '@inquirer/external-editor@1.0.2(@types/node@24.12.2)': dependencies: chardet: 2.1.0 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/external-editor@1.0.3(@types/node@22.13.8)': + '@inquirer/external-editor@1.0.3(@types/node@24.12.2)': dependencies: chardet: 2.1.1 iconv-lite: 0.7.0 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@inquirer/figures@1.0.13': {} @@ -17389,149 +17440,149 @@ snapshots: '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.2.5(@types/node@22.13.8)': + '@inquirer/input@4.2.5(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/input@4.3.1(@types/node@22.13.8)': + '@inquirer/input@4.3.1(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/number@3.0.21(@types/node@22.13.8)': + '@inquirer/number@3.0.21(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/number@3.0.23(@types/node@22.13.8)': + '@inquirer/number@3.0.23(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/password@4.0.21(@types/node@22.13.8)': + '@inquirer/password@4.0.21(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/password@4.0.23(@types/node@22.13.8)': + '@inquirer/password@4.0.23(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 - - '@inquirer/prompts@7.10.1(@types/node@22.13.8)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@22.13.8) - '@inquirer/confirm': 5.1.21(@types/node@22.13.8) - '@inquirer/editor': 4.2.23(@types/node@22.13.8) - '@inquirer/expand': 4.0.23(@types/node@22.13.8) - '@inquirer/input': 4.3.1(@types/node@22.13.8) - '@inquirer/number': 3.0.23(@types/node@22.13.8) - '@inquirer/password': 4.0.23(@types/node@22.13.8) - '@inquirer/rawlist': 4.1.11(@types/node@22.13.8) - '@inquirer/search': 3.2.2(@types/node@22.13.8) - '@inquirer/select': 4.4.2(@types/node@22.13.8) + '@types/node': 24.12.2 + + '@inquirer/prompts@7.10.1(@types/node@24.12.2)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@24.12.2) + '@inquirer/confirm': 5.1.21(@types/node@24.12.2) + '@inquirer/editor': 4.2.23(@types/node@24.12.2) + '@inquirer/expand': 4.0.23(@types/node@24.12.2) + '@inquirer/input': 4.3.1(@types/node@24.12.2) + '@inquirer/number': 3.0.23(@types/node@24.12.2) + '@inquirer/password': 4.0.23(@types/node@24.12.2) + '@inquirer/rawlist': 4.1.11(@types/node@24.12.2) + '@inquirer/search': 3.2.2(@types/node@24.12.2) + '@inquirer/select': 4.4.2(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 - - '@inquirer/prompts@7.3.2(@types/node@22.13.8)': - dependencies: - '@inquirer/checkbox': 4.3.0(@types/node@22.13.8) - '@inquirer/confirm': 5.1.6(@types/node@22.13.8) - '@inquirer/editor': 4.2.21(@types/node@22.13.8) - '@inquirer/expand': 4.0.21(@types/node@22.13.8) - '@inquirer/input': 4.2.5(@types/node@22.13.8) - '@inquirer/number': 3.0.21(@types/node@22.13.8) - '@inquirer/password': 4.0.21(@types/node@22.13.8) - '@inquirer/rawlist': 4.1.9(@types/node@22.13.8) - '@inquirer/search': 3.2.0(@types/node@22.13.8) - '@inquirer/select': 4.4.0(@types/node@22.13.8) + '@types/node': 24.12.2 + + '@inquirer/prompts@7.3.2(@types/node@24.12.2)': + dependencies: + '@inquirer/checkbox': 4.3.0(@types/node@24.12.2) + '@inquirer/confirm': 5.1.6(@types/node@24.12.2) + '@inquirer/editor': 4.2.21(@types/node@24.12.2) + '@inquirer/expand': 4.0.21(@types/node@24.12.2) + '@inquirer/input': 4.2.5(@types/node@24.12.2) + '@inquirer/number': 3.0.21(@types/node@24.12.2) + '@inquirer/password': 4.0.21(@types/node@24.12.2) + '@inquirer/rawlist': 4.1.9(@types/node@24.12.2) + '@inquirer/search': 3.2.0(@types/node@24.12.2) + '@inquirer/select': 4.4.0(@types/node@24.12.2) optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/rawlist@4.1.11(@types/node@22.13.8)': + '@inquirer/rawlist@4.1.11(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/rawlist@4.1.9(@types/node@22.13.8)': + '@inquirer/rawlist@4.1.9(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/search@3.2.0(@types/node@22.13.8)': + '@inquirer/search@3.2.0(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.0(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/type': 3.0.9(@types/node@24.12.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/search@3.2.2(@types/node@22.13.8)': + '@inquirer/search@3.2.2(@types/node@24.12.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/select@4.4.0(@types/node@22.13.8)': + '@inquirer/select@4.4.0(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) '@inquirer/figures': 1.0.14 - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/type': 3.0.9(@types/node@24.12.2) yoctocolors-cjs: 2.1.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/select@4.4.2(@types/node@22.13.8)': + '@inquirer/select@4.4.2(@types/node@24.12.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.13.8) + '@inquirer/core': 10.3.2(@types/node@24.12.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.13.8) + '@inquirer/type': 3.0.10(@types/node@24.12.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@inquirer/type@1.5.5': dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@22.13.8)': + '@inquirer/type@3.0.10(@types/node@24.12.2)': optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/type@3.0.8(@types/node@22.13.8)': + '@inquirer/type@3.0.8(@types/node@24.12.2)': optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@inquirer/type@3.0.9(@types/node@22.13.8)': + '@inquirer/type@3.0.9(@types/node@24.12.2)': optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@isaacs/balanced-match@4.0.1': {} @@ -17572,27 +17623,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0(node-notifier@8.0.2) '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -17621,7 +17672,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -17639,7 +17690,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -17663,7 +17714,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.31 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -17739,7 +17790,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/yargs': 17.0.35 chalk: 4.1.2 @@ -17805,7 +17856,7 @@ snapshots: '@leichtgewicht/ip-codec@2.0.5': {} - '@lerna/create@9.0.1(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(typescript@5.5.4)': + '@lerna/create@9.0.1(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(typescript@5.5.4)': dependencies: '@npmcli/arborist': 9.1.6 '@npmcli/package-json': 7.0.2 @@ -17832,7 +17883,7 @@ snapshots: has-unicode: 2.0.1 ini: 1.3.8 init-package-json: 8.2.2 - inquirer: 12.9.6(@types/node@22.13.8) + inquirer: 12.9.6(@types/node@24.12.2) is-ci: 3.0.1 is-stream: 2.0.0 js-yaml: 4.1.0 @@ -17883,9 +17934,9 @@ snapshots: - supports-color - typescript - '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.3.2(@types/node@22.13.8))': + '@listr2/prompt-adapter-inquirer@2.0.18(@inquirer/prompts@7.3.2(@types/node@24.12.2))': dependencies: - '@inquirer/prompts': 7.3.2(@types/node@22.13.8) + '@inquirer/prompts': 7.3.2(@types/node@24.12.2) '@inquirer/type': 1.5.5 '@lmdb/lmdb-darwin-arm64@3.2.6': @@ -17923,23 +17974,23 @@ snapshots: '@mdi/font@7.4.47': {} - '@microsoft/api-extractor-model@7.28.13(@types/node@22.13.8)': + '@microsoft/api-extractor-model@7.28.13(@types/node@24.12.2)': dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@22.13.8) + '@rushstack/node-core-library': 4.0.2(@types/node@24.12.2) transitivePeerDependencies: - '@types/node' - '@microsoft/api-extractor@7.43.0(@types/node@22.13.8)': + '@microsoft/api-extractor@7.43.0(@types/node@24.12.2)': dependencies: - '@microsoft/api-extractor-model': 7.28.13(@types/node@22.13.8) + '@microsoft/api-extractor-model': 7.28.13(@types/node@24.12.2) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 4.0.2(@types/node@22.13.8) + '@rushstack/node-core-library': 4.0.2(@types/node@24.12.2) '@rushstack/rig-package': 0.5.2 - '@rushstack/terminal': 0.10.0(@types/node@22.13.8) - '@rushstack/ts-command-line': 4.19.1(@types/node@22.13.8) + '@rushstack/terminal': 0.10.0(@types/node@24.12.2) + '@rushstack/ts-command-line': 4.19.1(@types/node@24.12.2) lodash: 4.17.23 minimatch: 3.0.5 resolve: 1.22.8 @@ -18859,7 +18910,7 @@ snapshots: '@rushstack/eslint-patch@1.10.4': {} - '@rushstack/node-core-library@4.0.2(@types/node@22.13.8)': + '@rushstack/node-core-library@4.0.2(@types/node@24.12.2)': dependencies: fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -18868,23 +18919,23 @@ snapshots: semver: 7.5.4 z-schema: 5.0.5 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@rushstack/rig-package@0.5.2': dependencies: resolve: 1.22.8 strip-json-comments: 3.1.1 - '@rushstack/terminal@0.10.0(@types/node@22.13.8)': + '@rushstack/terminal@0.10.0(@types/node@24.12.2)': dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@22.13.8) + '@rushstack/node-core-library': 4.0.2(@types/node@24.12.2) supports-color: 8.1.1 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@rushstack/ts-command-line@4.19.1(@types/node@22.13.8)': + '@rushstack/ts-command-line@4.19.1(@types/node@24.12.2)': dependencies: - '@rushstack/terminal': 0.10.0(@types/node@22.13.8) + '@rushstack/terminal': 0.10.0(@types/node@24.12.2) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -19053,32 +19104,32 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/bonjour@3.5.13': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/chai@4.3.16': {} '@types/cheerio@0.22.35': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.19.1 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/connect@3.4.38': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/cookie@0.4.1': {} '@types/cors@2.8.17': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/enzyme@3.10.18': dependencies: @@ -19103,7 +19154,7 @@ snapshots: '@types/express-serve-static-core@4.19.1': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/qs': 6.9.15 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -19117,20 +19168,20 @@ snapshots: '@types/fs-extra@8.1.5': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/fs-extra@9.0.13': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/hoist-non-react-statics@3.3.5': dependencies: @@ -19143,11 +19194,11 @@ snapshots: '@types/http-proxy@1.17.14': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/http-proxy@1.17.15': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/istanbul-lib-coverage@2.0.6': {} @@ -19168,13 +19219,13 @@ snapshots: '@types/jsdom@20.0.1': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 '@types/jsdom@21.1.7': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 @@ -19198,11 +19249,11 @@ snapshots: '@types/node-forge@1.3.11': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 - '@types/node@22.13.8': + '@types/node@24.12.2': dependencies: - undici-types: 6.20.0 + undici-types: 7.16.0 '@types/normalize-package-data@2.4.4': {} @@ -19274,7 +19325,7 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/serve-index@1.9.4': dependencies: @@ -19283,12 +19334,12 @@ snapshots: '@types/serve-static@1.15.7': dependencies: '@types/http-errors': 2.0.4 - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/send': 0.17.4 '@types/sockjs@0.3.36': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/splitpanes@2.2.6': dependencies: @@ -19306,7 +19357,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 '@types/yargs-parser@21.0.3': {} @@ -19501,16 +19552,16 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))': + '@vitejs/plugin-basic-ssl@1.2.0(vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1))': dependencies: - vite: 6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1) + vite: 6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1) - '@vitejs/plugin-vue@5.1.2(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.2(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))': dependencies: - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) vue: 3.5.17(typescript@5.5.4) - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@22.13.8)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -19525,7 +19576,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@22.13.8)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vitest: 1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) transitivePeerDependencies: - supports-color @@ -20151,7 +20202,7 @@ snapshots: '@vue/tsconfig@0.5.1': {} - '@vue/vue3-jest@29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4))': + '@vue/vue3-jest@29.2.6(@babel/core@7.24.5)(babel-jest@29.7.0(@babel/core@7.24.5))(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4)(vue@3.5.17(typescript@5.5.4))': dependencies: '@babel/core': 7.24.5 '@babel/plugin-transform-modules-commonjs': 7.27.1(@babel/core@7.24.5) @@ -20159,7 +20210,7 @@ snapshots: chalk: 2.4.2 convert-source-map: 1.9.0 css-tree: 2.3.1 - jest: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) source-map: 0.5.6 tsconfig: 7.0.0 vue: 3.5.17(typescript@5.5.4) @@ -21976,13 +22027,13 @@ snapshots: safe-buffer: 5.2.1 sha.js: 2.4.11 - create-jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + create-jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -22643,7 +22694,7 @@ snapshots: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 22.13.8 + '@types/node': 24.12.2 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -24431,17 +24482,17 @@ snapshots: dependencies: tslib: 2.6.3 - inquirer@12.9.6(@types/node@22.13.8): + inquirer@12.9.6(@types/node@24.12.2): dependencies: '@inquirer/ansi': 1.0.1 - '@inquirer/core': 10.3.0(@types/node@22.13.8) - '@inquirer/prompts': 7.10.1(@types/node@22.13.8) - '@inquirer/type': 3.0.9(@types/node@22.13.8) + '@inquirer/core': 10.3.0(@types/node@24.12.2) + '@inquirer/prompts': 7.10.1(@types/node@24.12.2) + '@inquirer/type': 3.0.9(@types/node@24.12.2) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 internal-slot@1.0.7: dependencies: @@ -24858,7 +24909,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3(babel-plugin-macros@3.1.0) @@ -24878,16 +24929,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + jest-cli@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + create-jest: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest-config: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -24899,7 +24950,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + jest-config@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: '@babel/core': 7.26.10 '@jest/test-sequencer': 29.7.0 @@ -24924,8 +24975,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.13.8 - ts-node: 10.9.2(@types/node@22.13.8)(typescript@5.5.4) + '@types/node': 24.12.2 + ts-node: 10.9.2(@types/node@24.12.2)(typescript@5.5.4) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -24962,7 +25013,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -24976,7 +25027,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -24986,7 +25037,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.13.8 + '@types/node': 24.12.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -25025,7 +25076,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -25060,7 +25111,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -25088,7 +25139,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -25134,7 +25185,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -25153,7 +25204,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.13.8 + '@types/node': 24.12.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -25162,23 +25213,23 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest-cli: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) optionalDependencies: node-notifier: 8.0.2 transitivePeerDependencies: @@ -25547,9 +25598,9 @@ snapshots: dependencies: flush-write-stream: 1.1.1 - lerna@9.0.1(@types/node@22.13.8)(babel-plugin-macros@3.1.0): + lerna@9.0.1(@types/node@24.12.2)(babel-plugin-macros@3.1.0): dependencies: - '@lerna/create': 9.0.1(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(typescript@5.5.4) + '@lerna/create': 9.0.1(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(typescript@5.5.4) '@npmcli/arborist': 9.1.6 '@npmcli/package-json': 7.0.2 '@npmcli/run-script': 10.0.2 @@ -25579,7 +25630,7 @@ snapshots: import-local: 3.1.0 ini: 1.3.8 init-package-json: 8.2.2 - inquirer: 12.9.6(@types/node@22.13.8) + inquirer: 12.9.6(@types/node@24.12.2) is-ci: 3.0.1 is-stream: 2.0.0 jest-diff: 30.2.0 @@ -27396,13 +27447,13 @@ snapshots: dependencies: postcss: 8.5.6 - postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + postcss-load-config@3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.5.6 - ts-node: 10.9.2(@types/node@22.13.8)(typescript@5.5.4) + ts-node: 10.9.2(@types/node@24.12.2)(typescript@5.5.4) postcss-loader@6.2.1(postcss@8.4.38)(webpack@5.91.0): dependencies: @@ -28379,7 +28430,7 @@ snapshots: '@rollup/pluginutils': 5.1.0(rollup@2.80.0) rollup: 2.80.0 - rollup-plugin-postcss@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)): + rollup-plugin-postcss@4.0.2(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -28388,7 +28439,7 @@ snapshots: p-queue: 6.6.2 pify: 5.0.0 postcss: 8.5.6 - postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + postcss-load-config: 3.1.4(postcss@8.5.6)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) postcss-modules: 4.3.1(postcss@8.5.6) promise.series: 0.2.0 resolve: 1.22.8 @@ -29582,12 +29633,12 @@ snapshots: dependencies: typescript: 5.5.4 - ts-jest@29.4.5(@babel/core@7.24.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4): + ts-jest@29.4.5(@babel/core@7.24.5)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.5))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.8 - jest: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -29602,12 +29653,12 @@ snapshots: babel-jest: 29.7.0(@babel/core@7.24.5) jest-util: 29.7.0 - ts-jest@29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)))(typescript@5.5.4): + ts-jest@29.4.5(@babel/core@7.26.10)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.10))(jest-util@29.7.0)(jest@29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)))(typescript@5.5.4): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 handlebars: 4.7.8 - jest: 29.7.0(@types/node@22.13.8)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4)) + jest: 29.7.0(@types/node@24.12.2)(babel-plugin-macros@3.1.0)(node-notifier@8.0.2)(ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4)) json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 @@ -29632,14 +29683,14 @@ snapshots: typescript: 5.5.4 webpack: 5.91.0(webpack-cli@5.1.4) - ts-node@10.9.2(@types/node@22.13.8)(typescript@5.5.4): + ts-node@10.9.2(@types/node@24.12.2)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.13.8 + '@types/node': 24.12.2 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -29807,7 +29858,7 @@ snapshots: unc-path-regex@0.1.2: {} - undici-types@6.20.0: {} + undici-types@7.16.0: {} unicode-canonical-property-names-ecmascript@2.0.0: {} @@ -29991,13 +30042,13 @@ snapshots: remove-trailing-separator: 1.1.0 replace-ext: 1.0.1 - vite-node@1.6.0(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): + vite-node@1.6.0(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.1 - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) transitivePeerDependencies: - '@types/node' - less @@ -30009,9 +30060,9 @@ snapshots: - supports-color - terser - vite-plugin-dts@3.9.1(@types/node@22.13.8)(rollup@4.59.0)(typescript@5.5.4)(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): + vite-plugin-dts@3.9.1(@types/node@24.12.2)(rollup@4.59.0)(typescript@5.5.4)(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): dependencies: - '@microsoft/api-extractor': 7.43.0(@types/node@22.13.8) + '@microsoft/api-extractor': 7.43.0(@types/node@24.12.2) '@rollup/pluginutils': 5.1.0(rollup@4.59.0) '@vue/language-core': 1.8.27(typescript@5.5.4) debug: 4.3.4 @@ -30020,54 +30071,54 @@ snapshots: typescript: 5.5.4 vue-tsc: 1.8.27(typescript@5.5.4) optionalDependencies: - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-node-polyfills@0.21.0(rollup@4.59.0)(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): + vite-plugin-node-polyfills@0.21.0(rollup@4.59.0)(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): dependencies: '@rollup/plugin-inject': 5.0.5(rollup@4.59.0) node-stdlib-browser: 1.2.0 - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) transitivePeerDependencies: - rollup - vite-plugin-static-copy@2.3.2(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): + vite-plugin-static-copy@2.3.2(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1)): dependencies: chokidar: 3.6.0 fast-glob: 3.3.3 fs-extra: 11.3.2 p-map: 7.0.4 picocolors: 1.1.1 - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) - vite-plugin-vuetify@2.1.1(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0): + vite-plugin-vuetify@2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0): dependencies: '@vuetify/loader-shared': 2.1.0(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0) debug: 4.3.7 upath: 2.0.1 - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) vue: 3.5.17(typescript@5.5.4) vuetify: 3.9.0(typescript@5.5.4)(vite-plugin-vuetify@2.1.1)(vue@3.5.17(typescript@5.5.4)) transitivePeerDependencies: - supports-color - vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): + vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): dependencies: esbuild: 0.21.5 postcss: 8.5.6 rollup: 4.59.0 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 fsevents: 2.3.3 less: 4.2.2 sass: 1.93.2 stylus: 0.57.0 terser: 5.46.1 - vite@6.3.6(@types/node@22.13.8)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1): + vite@6.3.6(@types/node@24.12.2)(jiti@1.21.0)(less@4.2.2)(sass@1.85.0)(stylus@0.57.0)(terser@5.39.0)(yaml@2.8.1): dependencies: esbuild: 0.25.4 fdir: 6.5.0(picomatch@4.0.2) @@ -30076,7 +30127,7 @@ snapshots: rollup: 4.59.0 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 fsevents: 2.3.3 jiti: 1.21.0 less: 4.2.2 @@ -30085,7 +30136,7 @@ snapshots: terser: 5.39.0 yaml: 2.8.1 - vitest@1.6.0(@types/node@22.13.8)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): + vitest@1.6.0(@types/node@24.12.2)(jsdom@27.2.0)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -30104,11 +30155,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) - vite-node: 1.6.0(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite: 5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) + vite-node: 1.6.0(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.13.8 + '@types/node': 24.12.2 jsdom: 27.2.0 transitivePeerDependencies: - less @@ -30271,7 +30322,7 @@ snapshots: vue: 3.5.17(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 - vite-plugin-vuetify: 2.1.1(vite@5.4.21(@types/node@22.13.8)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0) + vite-plugin-vuetify: 2.1.1(vite@5.4.21(@types/node@24.12.2)(less@4.2.2)(sass@1.93.2)(stylus@0.57.0)(terser@5.46.1))(vue@3.5.17(typescript@5.5.4))(vuetify@3.9.0) w3c-hr-time@1.0.2: dependencies: From 512121ee7c2994d3ee2f9ca83c4eddba1b4539e6 Mon Sep 17 00:00:00 2001 From: Lucas Koehler Date: Fri, 17 Apr 2026 09:51:04 +0000 Subject: [PATCH 2/3] react-material: Update to MUI v9 and MUI X Date Pickers v9 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Bump @mui/material and @mui/icons-material from ^7.0.0 to ^9.0.0 - Bump @mui/x-date-pickers from ^8.0.0 to ^9.0.0 - Migrate deprecated TextField props to slotProps API: InputLabelProps → slotProps.inputLabel, inputProps → slotProps.htmlInput - Migrate Autocomplete renderInput to use v9 params.slotProps structure instead of removed params.InputProps/inputProps - Migrate date/time/datetime picker slotProps.textField to use nested slotProps for PickersTextField (v9 accessible field DOM) - Remove createOnBlurHandler usage from date/time/datetime controls because v9 accessible field structure no longer provides input values via blur events; rely on onChange/onAccept instead - Move Grid system props (justifyContent, alignItems) to sx, removed as direct props in MUI v9 - Move Grid direction='column' to sx={{ flexDirection: 'column' }}, 'column' removed from Grid direction in v9 - Move Stack width prop to sx, removed as direct prop in v9 - Rename ErrorOutline icon to ErrorOutlined, legacy "Outline" variants removed in @mui/icons-material v9 - Remove legacy @material-ui external pattern from rollup config - Deprecate createOnBlurHandler in datejs.tsx (kept for public API) - Update date/time/datetime tests to use picker component props instead of hidden input DOM manipulation --- packages/examples-react/package.json | 2 +- packages/material-renderers/package.json | 12 +- packages/material-renderers/rollup.config.js | 1 - .../src/complex/MaterialTableControl.tsx | 3 +- .../src/complex/TableToolbar.tsx | 3 +- .../src/complex/ValidationIcon.tsx | 4 +- .../src/controls/MaterialDateControl.tsx | 32 +-- .../src/controls/MaterialDateTimeControl.tsx | 31 +-- .../src/controls/MaterialNativeControl.tsx | 2 +- .../src/controls/MaterialTimeControl.tsx | 31 +-- .../src/layouts/ArrayToolbar.tsx | 10 +- .../src/layouts/ExpandPanelRenderer.tsx | 9 +- .../src/mui-controls/MuiAutocomplete.tsx | 9 +- .../material-renderers/src/util/datejs.tsx | 5 + .../material-renderers/src/util/layout.tsx | 3 +- .../renderers/MaterialDateControl.test.tsx | 28 ++- .../MaterialDateTimeControl.test.tsx | 27 ++- .../renderers/MaterialTimeControl.test.tsx | 28 ++- .../material-renderers/test/renderers/util.ts | 6 +- pnpm-lock.yaml | 229 ++++++++---------- 20 files changed, 214 insertions(+), 261 deletions(-) diff --git a/packages/examples-react/package.json b/packages/examples-react/package.json index 55ad85dfb4..d7ace7017e 100644 --- a/packages/examples-react/package.json +++ b/packages/examples-react/package.json @@ -6,7 +6,7 @@ "@jsonforms/core": "workspace:*", "@jsonforms/examples": "workspace:*", "@jsonforms/react": "workspace:*", - "@mui/material": "^7.3.0", + "@mui/material": "^9.0.0", "@types/react-highlight": "^0.12.5", "@types/react-tabs": "^2.3.3", "highlight.js": "^11.3.1", diff --git a/packages/material-renderers/package.json b/packages/material-renderers/package.json index 632c6390f5..bd4ad363a5 100644 --- a/packages/material-renderers/package.json +++ b/packages/material-renderers/package.json @@ -95,9 +95,9 @@ "@emotion/styled": "^11.3.0", "@jsonforms/core": "3.8.0-alpha.0", "@jsonforms/react": "3.8.0-alpha.0", - "@mui/icons-material": "^7.0.0", - "@mui/material": "^7.0.0", - "@mui/x-date-pickers": "^8.0.0", + "@mui/icons-material": "^9.0.0", + "@mui/material": "^9.0.0", + "@mui/x-date-pickers": "^9.0.0", "react": "^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "devDependencies": { @@ -105,9 +105,9 @@ "@emotion/styled": "^11.3.0", "@jsonforms/core": "workspace:*", "@jsonforms/react": "workspace:*", - "@mui/icons-material": "^7.3.0", - "@mui/material": "^7.3.0", - "@mui/x-date-pickers": "^8.11.3", + "@mui/icons-material": "^9.0.0", + "@mui/material": "^9.0.0", + "@mui/x-date-pickers": "^9.0.2", "@rollup/plugin-commonjs": "^23.0.3", "@rollup/plugin-json": "^5.0.2", "@rollup/plugin-node-resolve": "^15.0.1", diff --git a/packages/material-renderers/rollup.config.js b/packages/material-renderers/rollup.config.js index 5a782851d1..95ef9595df 100644 --- a/packages/material-renderers/rollup.config.js +++ b/packages/material-renderers/rollup.config.js @@ -11,7 +11,6 @@ const baseConfig = { ...Object.keys(packageJson.peerDependencies), 'react', /^lodash\/.*/, - /^@material-ui\/.*/, /^dayjs\/.*/, ], }; diff --git a/packages/material-renderers/src/complex/MaterialTableControl.tsx b/packages/material-renderers/src/complex/MaterialTableControl.tsx index f0847c1be4..d31932d6de 100644 --- a/packages/material-renderers/src/complex/MaterialTableControl.tsx +++ b/packages/material-renderers/src/complex/MaterialTableControl.tsx @@ -310,8 +310,7 @@ const NonEmptyRowComponent = ({ {showSortButtons ? ( diff --git a/packages/material-renderers/src/complex/TableToolbar.tsx b/packages/material-renderers/src/complex/TableToolbar.tsx index 4bb27e5d93..f35eb28420 100644 --- a/packages/material-renderers/src/complex/TableToolbar.tsx +++ b/packages/material-renderers/src/complex/TableToolbar.tsx @@ -81,8 +81,7 @@ const TableToolbar = React.memo(function TableToolbar({ diff --git a/packages/material-renderers/src/complex/ValidationIcon.tsx b/packages/material-renderers/src/complex/ValidationIcon.tsx index 5c5612e35c..b5ce1386de 100644 --- a/packages/material-renderers/src/complex/ValidationIcon.tsx +++ b/packages/material-renderers/src/complex/ValidationIcon.tsx @@ -24,7 +24,7 @@ */ import React from 'react'; -import { ErrorOutline } from '@mui/icons-material'; +import { ErrorOutlined } from '@mui/icons-material'; import { Badge, Tooltip, styled } from '@mui/material'; const StyledBadge = styled(Badge)(({ theme }: any) => ({ @@ -40,7 +40,7 @@ const ValidationIcon: React.FC = ({ errorMessages, id }) => { return ( - + ); diff --git a/packages/material-renderers/src/controls/MaterialDateControl.tsx b/packages/material-renderers/src/controls/MaterialDateControl.tsx index c8eb82dab2..e980ff6907 100644 --- a/packages/material-renderers/src/controls/MaterialDateControl.tsx +++ b/packages/material-renderers/src/controls/MaterialDateControl.tsx @@ -23,7 +23,7 @@ THE SOFTWARE. */ import merge from 'lodash/merge'; -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useMemo, useState } from 'react'; import { ControlProps, defaultDateFormat, @@ -37,7 +37,6 @@ import { FormHelperText } from '@mui/material'; import { DatePicker, LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { - createOnBlurHandler, createOnChangeHandler, getData, useFocus, @@ -70,7 +69,6 @@ export const MaterialDateControl = (props: ControlProps) => { appliedUiSchemaOptions.showUnfocusedDescription ); - const [key, setKey] = useState(0); const [open, setOpen] = useState(false); const format = appliedUiSchemaOptions.dateFormat ?? 'YYYY-MM-DD'; @@ -86,25 +84,11 @@ export const MaterialDateControl = (props: ControlProps) => { : null; const secondFormHelperText = showDescription && !isValid ? errors : null; - const updateChild = useCallback(() => setKey((key) => key + 1), []); - const onChange = useMemo( () => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat] ); - const onBlurHandler = useMemo( - () => - createOnBlurHandler( - path, - handleChange, - format, - saveFormat, - updateChild, - onBlur - ), - [path, handleChange, format, saveFormat, updateChild, onBlur] - ); const value = getData(data, saveFormat); if (!visible) { @@ -117,10 +101,10 @@ export const MaterialDateControl = (props: ControlProps) => { open={open} onOpen={() => setOpen(true)} onClose={() => setOpen(false)} - key={key} label={label} value={value} onAccept={onChange} + onChange={onChange} format={format} views={views} disabled={!enabled} @@ -136,13 +120,13 @@ export const MaterialDateControl = (props: ControlProps) => { error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, variant: inputVariant, - inputProps: { - autoFocus: appliedUiSchemaOptions.focus, - type: 'text', - onFocus: onFocus, - onBlur: onBlurHandler, + autoFocus: appliedUiSchemaOptions.focus, + onFocus: onFocus, + onBlur: onBlur, + slotProps: { + htmlInput: { type: 'text' }, + inputLabel: data ? { shrink: true } : undefined, }, - InputLabelProps: data ? { shrink: true } : undefined, }, }} /> diff --git a/packages/material-renderers/src/controls/MaterialDateTimeControl.tsx b/packages/material-renderers/src/controls/MaterialDateTimeControl.tsx index 4c512201c1..0930d7e9a8 100644 --- a/packages/material-renderers/src/controls/MaterialDateTimeControl.tsx +++ b/packages/material-renderers/src/controls/MaterialDateTimeControl.tsx @@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useMemo, useState } from 'react'; import merge from 'lodash/merge'; import { ControlProps, @@ -37,7 +37,6 @@ import { FormHelperText } from '@mui/material'; import { DateTimePicker, LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { - createOnBlurHandler, createOnChangeHandler, getData, useFocus, @@ -75,7 +74,6 @@ export const MaterialDateTimeControl = (props: ControlProps) => { const saveFormat = appliedUiSchemaOptions.dateTimeSaveFormat ?? defaultDateTimeFormat; - const [key, setKey] = useState(0); const [open, setOpen] = useState(false); const views = appliedUiSchemaOptions.views ?? [ @@ -93,25 +91,11 @@ export const MaterialDateTimeControl = (props: ControlProps) => { : null; const secondFormHelperText = showDescription && !isValid ? errors : null; - const updateChild = useCallback(() => setKey((key) => key + 1), []); - const onChange = useMemo( () => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat] ); - const onBlurHandler = useMemo( - () => - createOnBlurHandler( - path, - handleChange, - format, - saveFormat, - updateChild, - onBlur - ), - [path, handleChange, format, saveFormat, updateChild] - ); const value = getData(data, saveFormat); if (!visible) { @@ -123,7 +107,6 @@ export const MaterialDateTimeControl = (props: ControlProps) => { open={open} onOpen={() => setOpen(true)} onClose={() => setOpen(false)} - key={key} label={label} value={value} onAccept={onChange} @@ -144,13 +127,13 @@ export const MaterialDateTimeControl = (props: ControlProps) => { error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, variant: inputVariant, - inputProps: { - autoFocus: appliedUiSchemaOptions.focus, - type: 'text', - onFocus: onFocus, - onBlur: onBlurHandler, + autoFocus: appliedUiSchemaOptions.focus, + onFocus: onFocus, + onBlur: onBlur, + slotProps: { + htmlInput: { type: 'text' }, + inputLabel: data ? { shrink: true } : undefined, }, - InputLabelProps: data ? { shrink: true } : undefined, }, }} /> diff --git a/packages/material-renderers/src/controls/MaterialNativeControl.tsx b/packages/material-renderers/src/controls/MaterialNativeControl.tsx index 6c650f1f50..7c116ffec5 100644 --- a/packages/material-renderers/src/controls/MaterialNativeControl.tsx +++ b/packages/material-renderers/src/controls/MaterialNativeControl.tsx @@ -93,7 +93,7 @@ export const MaterialNativeControl = (props: ControlProps) => { onFocus={onFocus} onBlur={onBlur} helperText={!isValid ? errors : showDescription ? description : null} - InputLabelProps={{ shrink: true }} + slotProps={{ inputLabel: { shrink: true } }} value={inputValue} onChange={onChange} /> diff --git a/packages/material-renderers/src/controls/MaterialTimeControl.tsx b/packages/material-renderers/src/controls/MaterialTimeControl.tsx index e22638b1aa..bf37780657 100644 --- a/packages/material-renderers/src/controls/MaterialTimeControl.tsx +++ b/packages/material-renderers/src/controls/MaterialTimeControl.tsx @@ -22,7 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useMemo, useState } from 'react'; import merge from 'lodash/merge'; import { ControlProps, @@ -37,7 +37,6 @@ import { FormHelperText } from '@mui/material'; import { TimePicker, LocalizationProvider } from '@mui/x-date-pickers'; import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'; import { - createOnBlurHandler, createOnChangeHandler, getData, useFocus, @@ -64,7 +63,6 @@ export const MaterialTimeControl = (props: ControlProps) => { const appliedUiSchemaOptions = merge({}, config, uischema.options); const isValid = errors.length === 0; - const [key, setKey] = useState(0); const [open, setOpen] = useState(false); const showDescription = !isDescriptionHidden( @@ -87,25 +85,11 @@ export const MaterialTimeControl = (props: ControlProps) => { : null; const secondFormHelperText = showDescription && !isValid ? errors : null; - const updateChild = useCallback(() => setKey((key) => key + 1), []); - const onChange = useMemo( () => createOnChangeHandler(path, handleChange, saveFormat), [path, handleChange, saveFormat] ); - const onBlurHandler = useMemo( - () => - createOnBlurHandler( - path, - handleChange, - format, - saveFormat, - updateChild, - onBlur - ), - [path, handleChange, format, saveFormat, updateChild] - ); const value = getData(data, saveFormat); if (!visible) { @@ -117,7 +101,6 @@ export const MaterialTimeControl = (props: ControlProps) => { open={open} onOpen={() => setOpen(true)} onClose={() => setOpen(false)} - key={key} label={label} value={value} onAccept={onChange} @@ -138,13 +121,13 @@ export const MaterialTimeControl = (props: ControlProps) => { error: !isValid, fullWidth: !appliedUiSchemaOptions.trim, variant: inputVariant, - inputProps: { - autoFocus: appliedUiSchemaOptions.focus, - type: 'text', - onBlur: onBlurHandler, - onFocus: onFocus, + autoFocus: appliedUiSchemaOptions.focus, + onFocus: onFocus, + onBlur: onBlur, + slotProps: { + htmlInput: { type: 'text' }, + inputLabel: data ? { shrink: true } : undefined, }, - InputLabelProps: data ? { shrink: true } : undefined, }, }} /> diff --git a/packages/material-renderers/src/layouts/ArrayToolbar.tsx b/packages/material-renderers/src/layouts/ArrayToolbar.tsx index 2d9009c44f..c1952703c8 100644 --- a/packages/material-renderers/src/layouts/ArrayToolbar.tsx +++ b/packages/material-renderers/src/layouts/ArrayToolbar.tsx @@ -35,13 +35,15 @@ export const ArrayLayoutToolbar = React.memo(function ArrayLayoutToolbar({ }: ArrayLayoutToolbarProps) { return ( - - + + diff --git a/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx b/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx index 178321dfd9..83f9a1f8ed 100644 --- a/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx +++ b/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx @@ -148,9 +148,9 @@ const ExpandPanelRendererComponent = (props: ExpandPanelProps) => { onChange={handleExpansion(childPath)} > }> - + - + {index + 1} @@ -160,13 +160,12 @@ const ExpandPanelRendererComponent = (props: ExpandPanelProps) => { - + {showSortButtons && enabled ? ( diff --git a/packages/material-renderers/src/mui-controls/MuiAutocomplete.tsx b/packages/material-renderers/src/mui-controls/MuiAutocomplete.tsx index 89541945ad..15ce9f5279 100644 --- a/packages/material-renderers/src/mui-controls/MuiAutocomplete.tsx +++ b/packages/material-renderers/src/mui-controls/MuiAutocomplete.tsx @@ -126,8 +126,6 @@ export const MuiAutocomplete = ( ); }} diff --git a/packages/material-renderers/src/util/datejs.tsx b/packages/material-renderers/src/util/datejs.tsx index e9e7d56871..2986fa658e 100644 --- a/packages/material-renderers/src/util/datejs.tsx +++ b/packages/material-renderers/src/util/datejs.tsx @@ -19,6 +19,11 @@ export const createOnChangeHandler = } }; +/** + * @deprecated Since MUI X v9, the accessible field DOM structure is the default + * and blur events on the field container no longer contain input values. + * Use the picker's onChange/onAccept callbacks instead. + */ export const createOnBlurHandler = ( path: string, diff --git a/packages/material-renderers/src/util/layout.tsx b/packages/material-renderers/src/util/layout.tsx index 27462c7594..b367999d90 100644 --- a/packages/material-renderers/src/util/layout.tsx +++ b/packages/material-renderers/src/util/layout.tsx @@ -78,7 +78,8 @@ const MaterialLayoutRendererComponent = ({ return ( {renderLayoutElements( diff --git a/packages/material-renderers/test/renderers/MaterialDateControl.test.tsx b/packages/material-renderers/test/renderers/MaterialDateControl.test.tsx index a7fd65984c..ce3aef7391 100644 --- a/packages/material-renderers/test/renderers/MaterialDateControl.test.tsx +++ b/packages/material-renderers/test/renderers/MaterialDateControl.test.tsx @@ -33,6 +33,9 @@ import Enzyme, { mount, ReactWrapper } from 'enzyme'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; import { JsonFormsStateProvider } from '@jsonforms/react'; import { initCore, TestEmitter } from './util'; +import { DatePicker } from '@mui/x-date-pickers'; +import dayjs from 'dayjs'; +import { act } from 'react-dom/test-utils'; Enzyme.configure({ adapter: new Adapter() }); @@ -149,8 +152,9 @@ describe('Material date control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().autoFocus).toBe(true); + const picker = wrapper.find(DatePicker); + const textFieldProps = picker.props().slotProps.textField as any; + expect(textFieldProps.autoFocus).toBe(true); }); it('should not autofocus via option', () => { @@ -222,9 +226,12 @@ describe('Material date control', () => { ); - const input = wrapper.find('input').first(); - (input.getDOMNode() as HTMLInputElement).value = '1961-04-12'; - input.simulate('blur', input); + const picker = wrapper.find(DatePicker); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('1961-04-12')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe('1961-04-12'); }); @@ -416,11 +423,14 @@ describe('Material date control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().value).toBe('1980/06'); + const picker = wrapper.find(DatePicker); + expect(picker.props().format).toBe('YYYY/MM'); - (input.getDOMNode() as HTMLInputElement).value = '1961/04'; - input.simulate('blur', input); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('1961-04-01')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe('04---1961'); }); }); diff --git a/packages/material-renderers/test/renderers/MaterialDateTimeControl.test.tsx b/packages/material-renderers/test/renderers/MaterialDateTimeControl.test.tsx index f6e3298d23..6a3c4ef3f3 100644 --- a/packages/material-renderers/test/renderers/MaterialDateTimeControl.test.tsx +++ b/packages/material-renderers/test/renderers/MaterialDateTimeControl.test.tsx @@ -38,6 +38,8 @@ import Enzyme, { mount, ReactWrapper } from 'enzyme'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; import { JsonFormsStateProvider } from '@jsonforms/react'; import { initCore, TestEmitter } from './util'; +import { DateTimePicker } from '@mui/x-date-pickers'; +import { act } from 'react-dom/test-utils'; Enzyme.configure({ adapter: new Adapter() }); @@ -156,8 +158,9 @@ describe('Material date time control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().autoFocus).toBeTruthy(); + const picker = wrapper.find(DateTimePicker); + const textFieldProps = picker.props().slotProps.textField as any; + expect(textFieldProps.autoFocus).toBeTruthy(); }); it('should not autofocus via option', () => { @@ -229,9 +232,12 @@ describe('Material date time control', () => { ); - const input = wrapper.find('input').first(); - (input.getDOMNode() as HTMLInputElement).value = '1961-12-12 20:15'; - input.simulate('blur', input); + const picker = wrapper.find(DateTimePicker); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('1961-12-12 20:15')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe( dayjs('1961-12-12 20:15').format(defaultDateTimeFormat) ); @@ -431,11 +437,14 @@ describe('Material date time control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().value).toBe('23-04-80 01:37:pm'); + const picker = wrapper.find(DateTimePicker); + expect(picker.props().format).toBe('DD-MM-YY hh:mm:a'); - (input.getDOMNode() as HTMLInputElement).value = '10-12-05 11:22:am'; - input.simulate('blur', input); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('2005-12-10 11:22')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe('2005/12/10 11:22 am'); }); }); diff --git a/packages/material-renderers/test/renderers/MaterialTimeControl.test.tsx b/packages/material-renderers/test/renderers/MaterialTimeControl.test.tsx index 05c86cd08f..3cf18df762 100644 --- a/packages/material-renderers/test/renderers/MaterialTimeControl.test.tsx +++ b/packages/material-renderers/test/renderers/MaterialTimeControl.test.tsx @@ -33,6 +33,9 @@ import Enzyme, { mount, ReactWrapper } from 'enzyme'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; import { JsonFormsStateProvider } from '@jsonforms/react'; import { initCore, TestEmitter } from './util'; +import { TimePicker } from '@mui/x-date-pickers'; +import dayjs from 'dayjs'; +import { act } from 'react-dom/test-utils'; Enzyme.configure({ adapter: new Adapter() }); @@ -149,8 +152,9 @@ describe('Material time control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().autoFocus).toBe(true); + const picker = wrapper.find(TimePicker); + const textFieldProps = picker.props().slotProps.textField as any; + expect(textFieldProps.autoFocus).toBe(true); }); it('should not autofocus via option', () => { @@ -222,9 +226,12 @@ describe('Material time control', () => { ); - const input = wrapper.find('input').first(); - (input.getDOMNode() as HTMLInputElement).value = '08:40'; - input.simulate('blur', input); + const picker = wrapper.find(TimePicker); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('2000-01-01 08:40:00')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe('08:40:00'); }); @@ -416,11 +423,14 @@ describe('Material time control', () => { ); - const input = wrapper.find('input').first(); - expect(input.props().value).toBe('02-13'); + const picker = wrapper.find(TimePicker); + expect(picker.props().format).toBe('mm-HH'); - (input.getDOMNode() as HTMLInputElement).value = '12-01'; - input.simulate('blur', input); + const onAccept = picker.props().onAccept as any; + act(() => { + onAccept(dayjs('2000-01-01 01:12:00')); + }); + wrapper.update(); expect(onChangeData.data.foo).toBe('1//12 am'); }); }); diff --git a/packages/material-renderers/test/renderers/util.ts b/packages/material-renderers/test/renderers/util.ts index c97b3bd9df..60ccfb5541 100644 --- a/packages/material-renderers/test/renderers/util.ts +++ b/packages/material-renderers/test/renderers/util.ts @@ -28,7 +28,6 @@ import { JsonFormsCore, JsonSchema, TesterContext, - createTranslator, Translator, UISchemaElement, } from '@jsonforms/core'; @@ -59,6 +58,5 @@ export const createTesterContext = ( return { rootSchema, config }; }; -export const testTranslator: Translator = createTranslator( - (key) => 'translator.' + key -); +export const testTranslator: Translator = (key: string) => + 'translator.' + key; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e193a6bd3..5f449bd540 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -532,8 +532,8 @@ importers: specifier: workspace:* version: link:../react '@mui/material': - specifier: ^7.3.0 - version: 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + specifier: ^9.0.0 + version: 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) '@types/react-highlight': specifier: ^0.12.5 version: 0.12.8 @@ -621,14 +621,14 @@ importers: specifier: workspace:* version: link:../react '@mui/icons-material': - specifier: ^7.3.0 - version: 7.3.0(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) + specifier: ^9.0.0 + version: 9.0.0(@mui/material@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) '@mui/material': - specifier: ^7.3.0 - version: 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + specifier: ^9.0.0 + version: 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) '@mui/x-date-pickers': - specifier: ^8.11.3 - version: 8.11.3(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(dayjs@1.10.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + specifier: ^9.0.2 + version: 9.0.2(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(dayjs@1.10.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) '@rollup/plugin-commonjs': specifier: ^23.0.3 version: 23.0.7(rollup@2.80.0) @@ -2833,14 +2833,14 @@ packages: resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.2': - resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==} - engines: {node: '>=6.9.0'} - '@babel/runtime@7.28.4': resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} + engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} @@ -4079,27 +4079,27 @@ packages: cpu: [x64] os: [win32] - '@mui/core-downloads-tracker@7.3.0': - resolution: {integrity: sha512-E4eWI90atwCf0rUjuzdlDRI6coA03ZEOAqk5qjEU9IdCLYRlOG65P7WBCpwFYOwDqzUVCHzx8U4q//csULLsOg==} + '@mui/core-downloads-tracker@9.0.0': + resolution: {integrity: sha512-uwQNGkhv0lf7ufxw6QXev77BW6pWbW+7uxYjU5+rfp4lBkFtMEgJCsarTM3Tn+i0lGx6+Ol2u88JdGXr0GDskA==} - '@mui/icons-material@7.3.0': - resolution: {integrity: sha512-46dUO2btNlMfQR0LyUApjtG/wXQ3Uwf6fH9sQeLwG1a0uZawvbQIra8DGJkSUoD+0hKgrwYJVLI04Lzf6wXy6g==} + '@mui/icons-material@9.0.0': + resolution: {integrity: sha512-oDwyvI6LgjWRC9MBcSGvLkPud9S9ELgSBQFYxa1rYcZn6Br55dn22SyvsPDMsn0G8OndFk53iMT45W5mNqrogw==} engines: {node: '>=14.0.0'} peerDependencies: - '@mui/material': ^7.3.0 + '@mui/material': ^9.0.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/material@7.3.0': - resolution: {integrity: sha512-t0fb7+zEDTjnVe4hqzNvoGIopzGJ6AyN+qodGRENAFvL/UV3IT/vFIMHloFGnJ9DPmIgWaWasKgefPUU3OsgOQ==} + '@mui/material@9.0.0': + resolution: {integrity: sha512-+VP/oQCDhDR87NQQgXnNBG8dwy6GNuQLnenS1pZvkbn2dKFSxRSRMybTpH9xUxXP+316mlYDy5CSbYtusnCWtw==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 '@emotion/styled': ^11.3.0 - '@mui/material-pigment-css': ^7.3.0 + '@mui/material-pigment-css': ^9.0.0 '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4113,8 +4113,8 @@ packages: '@types/react': optional: true - '@mui/private-theming@7.3.0': - resolution: {integrity: sha512-qU6rkH377L9byQrgXVW4rGsXVs7Q7H65Rj4IaITK3Vj2J5IP9nomMxJ77/w5kbJcEcaDEoLK42Ro3qMtHmvd4Q==} + '@mui/private-theming@9.0.0': + resolution: {integrity: sha512-JtuZoaiCqwD6vjgYu6Xp3T7DZkrxJlgtDz5yESzhI34fEX5hHMh2VJUbuL9UOg8xrfIFMrq6dcYoH/7Zi4G0RA==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4123,8 +4123,8 @@ packages: '@types/react': optional: true - '@mui/styled-engine@7.3.0': - resolution: {integrity: sha512-O8GNVzpr+ZGzHXCGlYXnc9iSgBldrX3UtPswvLEZX8fyjKfh6wYVvbc7Oa6FdFKdbWWXAnrJ9YTVBQsk2VXDSg==} + '@mui/styled-engine@9.0.0': + resolution: {integrity: sha512-9RLGdX4Jg0aQPRuvqh/OLzYSPlgd5zyEw5/1HIRfdavSiOd03WtUaGZH9/w1RoTYuRKwpgy0hpIFaMHIqPVIWg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.4.1 @@ -4136,8 +4136,8 @@ packages: '@emotion/styled': optional: true - '@mui/system@7.3.0': - resolution: {integrity: sha512-D4VclTIVbMxwrPeDF+PEfwCo9BC+4pYnM1OakA5iFznmE1QRVanyXtpUM3319IhlZolN82EG04iKk3XiiQZmHg==} + '@mui/system@9.0.0': + resolution: {integrity: sha512-YnC5Zg6j04IxiLc/boAKs0464jfZlLFVa7mf5E8lF0XOtZVUvG6R6gJK50lgUYdaaLdyLfxF6xR7LaPuEpeT/g==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.5.0 @@ -4152,34 +4152,16 @@ packages: '@types/react': optional: true - '@mui/types@7.4.5': - resolution: {integrity: sha512-ZPwlAOE3e8C0piCKbaabwrqZbW4QvWz0uapVPWya7fYj6PeDkl5sSJmomT7wjOcZGPB48G/a6Ubidqreptxz4g==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/types@7.4.6': - resolution: {integrity: sha512-NVBbIw+4CDMMppNamVxyTccNv0WxtDb7motWDlMeSC8Oy95saj1TIZMGynPpFLePt3yOD8TskzumeqORCgRGWw==} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@mui/utils@7.3.0': - resolution: {integrity: sha512-YdL6ebwFV7PIOidIsees3HxkZ8hZjj+/atKLuI1ENwvJJ1puiEoLEmuDU72qSbKu911/GeFa7pc7Cn/ZmAj6yQ==} - engines: {node: '>=14.0.0'} + '@mui/types@9.0.0': + resolution: {integrity: sha512-i1cuFCAWN44b3AJWO7mh7tuh1sqbQSeVr/94oG0TX5uXivac8XalgE4/6fQZcmGZigzbQ35IXxj/4jLpRIBYZg==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - '@mui/utils@7.3.2': - resolution: {integrity: sha512-4DMWQGenOdLnM3y/SdFQFwKsCLM+mqxzvoWp9+x2XdEzXapkznauHLiXtSohHs/mc0+5/9UACt1GdugCX2te5g==} + '@mui/utils@9.0.0': + resolution: {integrity: sha512-bQcqyg/gjULUqTuyUjSAFr6LQGLvtkNtDbJerAtoUn9kGZ0hg5QJiN1PLHMLbeFpe3te1831uq7GFl2ITokGdg==} engines: {node: '>=14.0.0'} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -4188,14 +4170,14 @@ packages: '@types/react': optional: true - '@mui/x-date-pickers@8.11.3': - resolution: {integrity: sha512-RCvaACeTvlT930jn4s4weD/3Ow30sy7A4dRK8vmA3Pc3RIBy/b2CC4nYdkMiOwI56cjOVF4WPLFp5hBcEeGSvQ==} + '@mui/x-date-pickers@9.0.2': + resolution: {integrity: sha512-rnyc2wFPnprTS5i8Lq9aX2Rlx+ZRvNZERTd7sPMErf/8HnMCYzxwErITbd+TuImlvo2vaLF1gNynqT8AJMusYw==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 '@emotion/styled': ^11.8.1 - '@mui/material': ^5.15.14 || ^6.0.0 || ^7.0.0 - '@mui/system': ^5.15.14 || ^6.0.0 || ^7.0.0 + '@mui/material': ^7.3.0 || ^9.0.0 + '@mui/system': ^7.3.0 || ^9.0.0 date-fns: ^2.25.0 || ^3.2.0 || ^4.0.0 date-fns-jalali: ^2.13.0-0 || ^3.2.0-0 || ^4.0.0-0 dayjs: ^1.10.7 @@ -4225,8 +4207,8 @@ packages: moment-jalaali: optional: true - '@mui/x-internals@8.11.3': - resolution: {integrity: sha512-Fmp4Op+nNSqsWn2Jwv9yA8WXi3Wem9jmgdUplvMK6JZAt7iA0ZdzGltCcHrdxOcK1Nu/2F7H8KOZuBzpy1lspw==} + '@mui/x-internals@9.0.0': + resolution: {integrity: sha512-E/4rdg69JjhyybpPGypCjAKSKLLnSdCFM+O6P/nkUg47+qt3uftxQEhjQO53rcn6ahHl6du/uNZ9BLgeY6kYxQ==} engines: {node: '>=14.0.0'} peerDependencies: react: ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -7728,6 +7710,9 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + currently-unhandled@0.4.1: resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==} engines: {node: '>=0.10.0'} @@ -12302,8 +12287,8 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - react-is@19.1.1: - resolution: {integrity: sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==} + react-is@19.2.5: + resolution: {integrity: sha512-Dn0t8IQhCmeIT3wu+Apm1/YVsJXsGWi6k4sPdnBIdqMVtHtv0IGi6dcpNpNkNac0zB2uUAqNX3MHzN8c+z2rwQ==} react-redux@7.2.9: resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} @@ -13950,8 +13935,8 @@ packages: resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} engines: {node: '>= 0.4'} - use-sync-external-store@1.5.0: - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -16798,10 +16783,10 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@babel/runtime@7.28.2': {} - '@babel/runtime@7.28.4': {} + '@babel/runtime@7.29.2': {} + '@babel/template@7.24.0': dependencies: '@babel/code-frame': 7.24.2 @@ -16938,7 +16923,7 @@ snapshots: '@emotion/babel-plugin@11.11.0': dependencies: '@babel/helper-module-imports': 7.24.3 - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.28.4 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 '@emotion/serialize': 1.1.4 @@ -17005,7 +16990,7 @@ snapshots: '@emotion/memoize': 0.9.0 '@emotion/unitless': 0.10.0 '@emotion/utils': 1.4.2 - csstype: 3.1.3 + csstype: 3.2.3 '@emotion/sheet@1.2.2': {} @@ -18027,68 +18012,68 @@ snapshots: '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.3': optional: true - '@mui/core-downloads-tracker@7.3.0': {} + '@mui/core-downloads-tracker@9.0.0': {} - '@mui/icons-material@7.3.0(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)': + '@mui/icons-material@9.0.0(@mui/material@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/material': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/material': 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) react: 17.0.2 optionalDependencies: '@types/react': 17.0.80 - '@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@mui/material@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/core-downloads-tracker': 7.3.0 - '@mui/system': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) - '@mui/types': 7.4.5(@types/react@17.0.80) - '@mui/utils': 7.3.0(@types/react@17.0.80)(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/core-downloads-tracker': 9.0.0 + '@mui/system': 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) + '@mui/types': 9.0.0(@types/react@17.0.80) + '@mui/utils': 9.0.0(@types/react@17.0.80)(react@17.0.2) '@popperjs/core': 2.11.8 '@types/react-transition-group': 4.4.12(@types/react@17.0.80) clsx: 2.1.1 - csstype: 3.1.3 + csstype: 3.2.3 prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - react-is: 19.1.1 + react-is: 19.2.5 react-transition-group: 4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2) optionalDependencies: '@emotion/react': 11.11.4(@types/react@17.0.80)(react@17.0.2) '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) '@types/react': 17.0.80 - '@mui/private-theming@7.3.0(@types/react@17.0.80)(react@17.0.2)': + '@mui/private-theming@9.0.0(@types/react@17.0.80)(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/utils': 7.3.0(@types/react@17.0.80)(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/utils': 9.0.0(@types/react@17.0.80)(react@17.0.2) prop-types: 15.8.1 react: 17.0.2 optionalDependencies: '@types/react': 17.0.80 - '@mui/styled-engine@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(react@17.0.2)': + '@mui/styled-engine@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.29.2 '@emotion/cache': 11.14.0 '@emotion/serialize': 1.3.3 '@emotion/sheet': 1.4.0 - csstype: 3.1.3 + csstype: 3.2.3 prop-types: 15.8.1 react: 17.0.2 optionalDependencies: '@emotion/react': 11.11.4(@types/react@17.0.80)(react@17.0.2) '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) - '@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)': + '@mui/system@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/private-theming': 7.3.0(@types/react@17.0.80)(react@17.0.2) - '@mui/styled-engine': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(react@17.0.2) - '@mui/types': 7.4.5(@types/react@17.0.80) - '@mui/utils': 7.3.0(@types/react@17.0.80)(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/private-theming': 9.0.0(@types/react@17.0.80)(react@17.0.2) + '@mui/styled-engine': 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(react@17.0.2) + '@mui/types': 9.0.0(@types/react@17.0.80) + '@mui/utils': 9.0.0(@types/react@17.0.80)(react@17.0.2) clsx: 2.1.1 - csstype: 3.1.3 + csstype: 3.2.3 prop-types: 15.8.1 react: 17.0.2 optionalDependencies: @@ -18096,49 +18081,31 @@ snapshots: '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) '@types/react': 17.0.80 - '@mui/types@7.4.5(@types/react@17.0.80)': - dependencies: - '@babel/runtime': 7.28.2 - optionalDependencies: - '@types/react': 17.0.80 - - '@mui/types@7.4.6(@types/react@17.0.80)': - dependencies: - '@babel/runtime': 7.28.4 - optionalDependencies: - '@types/react': 17.0.80 - - '@mui/utils@7.3.0(@types/react@17.0.80)(react@17.0.2)': + '@mui/types@9.0.0(@types/react@17.0.80)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/types': 7.4.5(@types/react@17.0.80) - '@types/prop-types': 15.7.15 - clsx: 2.1.1 - prop-types: 15.8.1 - react: 17.0.2 - react-is: 19.1.1 + '@babel/runtime': 7.29.2 optionalDependencies: '@types/react': 17.0.80 - '@mui/utils@7.3.2(@types/react@17.0.80)(react@17.0.2)': + '@mui/utils@9.0.0(@types/react@17.0.80)(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.4 - '@mui/types': 7.4.6(@types/react@17.0.80) + '@babel/runtime': 7.29.2 + '@mui/types': 9.0.0(@types/react@17.0.80) '@types/prop-types': 15.7.15 clsx: 2.1.1 prop-types: 15.8.1 react: 17.0.2 - react-is: 19.1.1 + react-is: 19.2.5 optionalDependencies: '@types/react': 17.0.80 - '@mui/x-date-pickers@8.11.3(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(dayjs@1.10.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': + '@mui/x-date-pickers@9.0.2(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@mui/material@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2))(@mui/system@9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(dayjs@1.10.7)(react-dom@17.0.2(react@17.0.2))(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/material': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) - '@mui/system': 7.3.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) - '@mui/utils': 7.3.2(@types/react@17.0.80)(react@17.0.2) - '@mui/x-internals': 8.11.3(@types/react@17.0.80)(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/material': 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react-dom@17.0.2(react@17.0.2))(react@17.0.2) + '@mui/system': 9.0.0(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2))(@types/react@17.0.80)(react@17.0.2) + '@mui/utils': 9.0.0(@types/react@17.0.80)(react@17.0.2) + '@mui/x-internals': 9.0.0(@types/react@17.0.80)(react@17.0.2) '@types/react-transition-group': 4.4.12(@types/react@17.0.80) clsx: 2.1.1 prop-types: 15.8.1 @@ -18152,13 +18119,13 @@ snapshots: transitivePeerDependencies: - '@types/react' - '@mui/x-internals@8.11.3(@types/react@17.0.80)(react@17.0.2)': + '@mui/x-internals@9.0.0(@types/react@17.0.80)(react@17.0.2)': dependencies: - '@babel/runtime': 7.28.2 - '@mui/utils': 7.3.2(@types/react@17.0.80)(react@17.0.2) + '@babel/runtime': 7.29.2 + '@mui/utils': 9.0.0(@types/react@17.0.80)(react@17.0.2) react: 17.0.2 reselect: 5.1.1 - use-sync-external-store: 1.5.0(react@17.0.2) + use-sync-external-store: 1.6.0(react@17.0.2) transitivePeerDependencies: - '@types/react' @@ -19686,7 +19653,7 @@ snapshots: '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5) '@babel/preset-env': 7.24.5(@babel/core@7.24.5) - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.28.4 '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.5) '@vue/babel-preset-jsx': 1.4.0(@babel/core@7.24.5)(vue@3.5.17(typescript@5.5.4)) babel-plugin-dynamic-import-node: 2.3.3 @@ -20961,7 +20928,7 @@ snapshots: babel-plugin-macros@3.1.0: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 cosmiconfig: 7.1.0 resolve: 1.22.8 @@ -22293,6 +22260,8 @@ snapshots: csstype@3.1.3: {} + csstype@3.2.3: {} + currently-unhandled@0.4.1: dependencies: array-find-index: 1.0.2 @@ -22531,8 +22500,8 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.28.2 - csstype: 3.1.3 + '@babel/runtime': 7.29.2 + csstype: 3.2.3 dom-serialize@2.2.1: dependencies: @@ -28041,7 +28010,7 @@ snapshots: react-is@18.3.1: {} - react-is@19.1.1: {} + react-is@19.2.5: {} react-redux@7.2.9(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: @@ -28059,7 +28028,7 @@ snapshots: dependencies: object-assign: 4.1.1 react: 17.0.2 - react-is: 17.0.2 + react-is: 18.3.1 react-tabs@3.2.3(react@17.0.2): dependencies: @@ -28077,7 +28046,7 @@ snapshots: react-transition-group@4.4.5(react-dom@17.0.2(react@17.0.2))(react@17.0.2): dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.29.2 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -28202,7 +28171,7 @@ snapshots: regenerator-transform@0.15.2: dependencies: - '@babel/runtime': 7.28.2 + '@babel/runtime': 7.28.4 regex-parser@2.3.0: {} @@ -29952,7 +29921,7 @@ snapshots: punycode: 1.4.1 qs: 6.13.0 - use-sync-external-store@1.5.0(react@17.0.2): + use-sync-external-store@1.6.0(react@17.0.2): dependencies: react: 17.0.2 From 8856c88fc109c780f5c14892d2b4a87d1836eced Mon Sep 17 00:00:00 2001 From: Lucas Koehler Date: Fri, 17 Apr 2026 13:43:28 +0000 Subject: [PATCH 3/3] react-material: Fix examples app build hanging after MUI v9 upgrade - Replace @mui/icons-material barrel imports with direct path imports to avoid bundling all 10,751 icon modules in the examples app build - Add @mui/icons-material subpath regex to rollup externals so the library build correctly externalizes the new import paths - Add @mui/x-date-pickers subpath regex to rollup externals to fix unresolved dependency warning for AdapterDayjs --- packages/material-renderers/rollup.config.js | 2 ++ .../src/additional/ListWithDetailMasterItem.tsx | 2 +- .../src/complex/MaterialTableControl.tsx | 4 +++- .../material-renderers/src/complex/TableToolbar.tsx | 2 +- .../material-renderers/src/complex/ValidationIcon.tsx | 2 +- .../material-renderers/src/layouts/ArrayToolbar.tsx | 2 +- .../src/layouts/ExpandPanelRenderer.tsx | 10 ++++------ .../src/mui-controls/MuiInputText.tsx | 2 +- 8 files changed, 14 insertions(+), 12 deletions(-) diff --git a/packages/material-renderers/rollup.config.js b/packages/material-renderers/rollup.config.js index 95ef9595df..a7c97e42e7 100644 --- a/packages/material-renderers/rollup.config.js +++ b/packages/material-renderers/rollup.config.js @@ -12,6 +12,8 @@ const baseConfig = { 'react', /^lodash\/.*/, /^dayjs\/.*/, + /^@mui\/icons-material\/.*/, + /^@mui\/x-date-pickers\/.*/, ], }; diff --git a/packages/material-renderers/src/additional/ListWithDetailMasterItem.tsx b/packages/material-renderers/src/additional/ListWithDetailMasterItem.tsx index db0daf7695..289c15e78d 100644 --- a/packages/material-renderers/src/additional/ListWithDetailMasterItem.tsx +++ b/packages/material-renderers/src/additional/ListWithDetailMasterItem.tsx @@ -33,7 +33,7 @@ import { ListItemText, Tooltip, } from '@mui/material'; -import { Delete } from '@mui/icons-material'; +import Delete from '@mui/icons-material/Delete'; import React from 'react'; export const ListWithDetailMasterItem = ({ diff --git a/packages/material-renderers/src/complex/MaterialTableControl.tsx b/packages/material-renderers/src/complex/MaterialTableControl.tsx index d31932d6de..7b7c10032c 100644 --- a/packages/material-renderers/src/complex/MaterialTableControl.tsx +++ b/packages/material-renderers/src/complex/MaterialTableControl.tsx @@ -57,7 +57,9 @@ import { encode, ArrayTranslations, } from '@jsonforms/core'; -import { Delete, ArrowDownward, ArrowUpward } from '@mui/icons-material'; +import Delete from '@mui/icons-material/Delete'; +import ArrowDownward from '@mui/icons-material/ArrowDownward'; +import ArrowUpward from '@mui/icons-material/ArrowUpward'; import { WithDeleteDialogSupport } from './DeleteDialog'; import NoBorderTableCell from './NoBorderTableCell'; diff --git a/packages/material-renderers/src/complex/TableToolbar.tsx b/packages/material-renderers/src/complex/TableToolbar.tsx index f35eb28420..0d21f770ae 100644 --- a/packages/material-renderers/src/complex/TableToolbar.tsx +++ b/packages/material-renderers/src/complex/TableToolbar.tsx @@ -38,7 +38,7 @@ import { FormHelperText, Stack, } from '@mui/material'; -import { Add } from '@mui/icons-material'; +import Add from '@mui/icons-material/Add'; import ValidationIcon from './ValidationIcon'; import NoBorderTableCell from './NoBorderTableCell'; diff --git a/packages/material-renderers/src/complex/ValidationIcon.tsx b/packages/material-renderers/src/complex/ValidationIcon.tsx index b5ce1386de..eae54b7d0e 100644 --- a/packages/material-renderers/src/complex/ValidationIcon.tsx +++ b/packages/material-renderers/src/complex/ValidationIcon.tsx @@ -24,7 +24,7 @@ */ import React from 'react'; -import { ErrorOutlined } from '@mui/icons-material'; +import ErrorOutlined from '@mui/icons-material/ErrorOutlined'; import { Badge, Tooltip, styled } from '@mui/material'; const StyledBadge = styled(Badge)(({ theme }: any) => ({ diff --git a/packages/material-renderers/src/layouts/ArrayToolbar.tsx b/packages/material-renderers/src/layouts/ArrayToolbar.tsx index c1952703c8..6f961f1168 100644 --- a/packages/material-renderers/src/layouts/ArrayToolbar.tsx +++ b/packages/material-renderers/src/layouts/ArrayToolbar.tsx @@ -7,7 +7,7 @@ import { Tooltip, Typography, } from '@mui/material'; -import { Add } from '@mui/icons-material'; +import Add from '@mui/icons-material/Add'; import React from 'react'; import ValidationIcon from '../complex/ValidationIcon'; import { ArrayTranslations } from '@jsonforms/core'; diff --git a/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx b/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx index 83f9a1f8ed..9c0c62a507 100644 --- a/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx +++ b/packages/material-renderers/src/layouts/ExpandPanelRenderer.tsx @@ -40,12 +40,10 @@ import { IconButton, Tooltip, } from '@mui/material'; -import { - ArrowUpward, - ArrowDownward, - Delete, - ExpandMore, -} from '@mui/icons-material'; +import ArrowUpward from '@mui/icons-material/ArrowUpward'; +import ArrowDownward from '@mui/icons-material/ArrowDownward'; +import Delete from '@mui/icons-material/Delete'; +import ExpandMore from '@mui/icons-material/ExpandMore'; const iconStyle: any = { float: 'right' }; diff --git a/packages/material-renderers/src/mui-controls/MuiInputText.tsx b/packages/material-renderers/src/mui-controls/MuiInputText.tsx index 024c19bdaa..7a8e96ce2b 100644 --- a/packages/material-renderers/src/mui-controls/MuiInputText.tsx +++ b/packages/material-renderers/src/mui-controls/MuiInputText.tsx @@ -32,7 +32,7 @@ import { useTheme, } from '@mui/material'; import merge from 'lodash/merge'; -import { Close } from '@mui/icons-material'; +import Close from '@mui/icons-material/Close'; import { JsonFormsTheme, WithInputProps,