This is an automated email from the ASF dual-hosted git repository.

tbonelee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/master by this push:
     new d8da8f387d [MINOR] Refresh frontend Node.js and audit dependencies
d8da8f387d is described below

commit d8da8f387d315f195224b9ae6f487f2c09a88ce1
Author: YONGJAE LEE (이용재) <[email protected]>
AuthorDate: Sat Oct 24 22:28:45 2026 +0900

    [MINOR] Refresh frontend Node.js and audit dependencies
    
    ### What is this PR for?
    
    Update the Angular/React frontend toolchain to [Node.js 
22.23.4](https://github.com/nodejs/node/releases/tag/v22.23.4) for upstream 
security fixes, including DNS null-byte input validation (CVE-2026-105482) and 
`realpathSync` permission-model checks (CVE-2026-106073). Pin npm 11.21.1 in 
Maven and both audit workflows to avoid the npm 10.9.4 `edgesOut` crash in the 
[scheduled audit remediation 
job](https://github.com/apache/zeppelin/actions/runs/40054980691/job/120755869155).
    
    Update Storybook to 10.6.3, Vitest to 4.1.12, and vulnerable transitive 
dependencies. Keep the existing audit policy and braces patch verification. 
Retain npm debug logs for three days on failure to diagnose internal errors 
such as `edgesOut`.
    
    The Angular root audit exclusion and classic UI Node.js versions remain 
outside this change.
    
    ### What type of PR is it?
    
    Bug Fix
    
    ### Todos
    
    * [x] Verify clean installs, audit remediation, tests, and builds locally
    * [x] Confirm GitHub Actions checks
    
    ### What is the Jira issue?
    
    N/A
    
    ### How should this be tested?
    
    Use Node.js 22.23.4 and npm 11.21.1. From `zeppelin-web-angular/`:
    
    ```bash
    npm ci --ignore-scripts --no-audit
    npm run build:projects
    ```
    
    Then, from `zeppelin-web-angular/projects/zeppelin-react/`:
    
    ```bash
    npm ci --ignore-scripts --no-audit
    npm run apply:patches
    npm run audit
    npm audit fix --package-lock-only --ignore-scripts --audit-level=high
    npm run lint
    npm test
    npm run typecheck
    npm run build
    ```
    
    Local checks passed: React audit, 262 tests, lint, typecheck, builds, and 
Maven toolchain installation. GitHub CI and the Docker documentation build 
remain unverified.
    
    ### Screenshots (if appropriate)
    
    N/A
    
    ### Questions:
    
    * Does the license files need to update? No
    * Is there breaking changes for older versions? No
    * Does this needs documentation? Yes
    
    
    Closes #5587 from voidmatcha/fix/node-npm-audit-security.
    
    Signed-off-by: ChanHo Lee <[email protected]>
---
 .github/workflows/frontend.yml                     |   3 +
 .github/workflows/npm-audit-remediation.yml        |  14 +
 docs/setup/deployment/virtual_machine.md           |   2 +-
 scripts/vagrant/zeppelin-dev/README.md             |   2 +-
 zeppelin-web-angular/.nvmrc                        |   2 +-
 zeppelin-web-angular/README.md                     |   4 +-
 zeppelin-web-angular/pom.xml                       |   4 +-
 .../projects/zeppelin-react/package-lock.json      | 428 +++++++++++----------
 .../projects/zeppelin-react/package.json           |   8 +-
 9 files changed, 247 insertions(+), 220 deletions(-)

diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 4d00b10243..6fc62bf94f 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -39,6 +39,9 @@ jobs:
         uses: actions/setup-node@v5
         with:
           node-version-file: 'zeppelin-web-angular/.nvmrc'
+
+      - name: Set up npm
+        run: npm install --global [email protected]
       # TODO: Add zeppelin-web-angular root audit after Angular version 
upgrade and stabilization
       - name: Run npm audit on zeppelin-react
         working-directory: zeppelin-web-angular/projects/zeppelin-react
diff --git a/.github/workflows/npm-audit-remediation.yml 
b/.github/workflows/npm-audit-remediation.yml
index f66ad1b104..d612e91dfb 100644
--- a/.github/workflows/npm-audit-remediation.yml
+++ b/.github/workflows/npm-audit-remediation.yml
@@ -22,6 +22,8 @@ on:
   pull_request:
     paths:
       - '.github/workflows/npm-audit-remediation.yml'
+      - 'zeppelin-web-angular/.nvmrc'
+      - 'zeppelin-web-angular/pom.xml'
       - 'zeppelin-web-angular/projects/zeppelin-react/audit-ci.jsonc'
       - 'zeppelin-web-angular/projects/zeppelin-react/patches/**'
       - 
'zeppelin-web-angular/projects/zeppelin-react/scripts/check-braces-patch.cjs'
@@ -66,6 +68,9 @@ jobs:
         with:
           node-version-file: 'zeppelin-web-angular/.nvmrc'
 
+      - name: Set up npm
+        run: npm install --global [email protected]
+
       - name: Install and verify patched dependencies
         working-directory: ${{ env.PACKAGE_DIRECTORY }}
         run: |
@@ -180,6 +185,15 @@ jobs:
           path: ${{ runner.temp }}/npm-audit-remediation
           retention-days: 1
 
+      - name: Upload npm failure logs
+        if: failure()
+        uses: actions/upload-artifact@v6
+        with:
+          name: npm-audit-failure-logs
+          path: ~/.npm/_logs/*.log
+          if-no-files-found: ignore
+          retention-days: 3
+
   publish:
     needs: prepare
     if: >-
diff --git a/docs/setup/deployment/virtual_machine.md 
b/docs/setup/deployment/virtual_machine.md
index 6ddd07c24c..7cccd2171b 100644
--- a/docs/setup/deployment/virtual_machine.md
+++ b/docs/setup/deployment/virtual_machine.md
@@ -94,7 +94,7 @@ itself, not in the Vagrant scripts.
   </tr>
   <tr>
     <td>Node.js / npm</td>
-    <td>22.21.1 / 10.9.4</td>
+    <td>22.23.4 / 11.21.1</td>
     <td><code>node.version</code> / <code>npm.version</code> in 
<code>zeppelin-web-angular/pom.xml</code></td>
   </tr>
 </table>
diff --git a/scripts/vagrant/zeppelin-dev/README.md 
b/scripts/vagrant/zeppelin-dev/README.md
index 8a52f08456..b9e373a903 100644
--- a/scripts/vagrant/zeppelin-dev/README.md
+++ b/scripts/vagrant/zeppelin-dev/README.md
@@ -66,7 +66,7 @@ not here.
 | --- | --- | --- |
 | OpenJDK / Oracle JDK | 11 | `java.version` in the root `pom.xml` |
 | Maven | 3.6.3 or higher | `maven.version` in the root `pom.xml` |
-| Node.js / npm | 22.21.1 / 10.9.4 | `node.version` / `npm.version` in 
`zeppelin-web-angular/pom.xml` |
+| Node.js / npm | 22.23.4 / 11.21.1 | `node.version` / `npm.version` in 
`zeppelin-web-angular/pom.xml` |
 
 Only the JDK has to be installed by hand. `./mvnw` downloads Maven, and
 `frontend-maven-plugin` downloads the pinned Node.js and npm into each web
diff --git a/zeppelin-web-angular/.nvmrc b/zeppelin-web-angular/.nvmrc
index 5ed27e7757..1a5acc8c37 100644
--- a/zeppelin-web-angular/.nvmrc
+++ b/zeppelin-web-angular/.nvmrc
@@ -8,4 +8,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-22.21.1
+22.23.4
diff --git a/zeppelin-web-angular/README.md b/zeppelin-web-angular/README.md
index 64b8de30c3..c1e515b96b 100644
--- a/zeppelin-web-angular/README.md
+++ b/zeppelin-web-angular/README.md
@@ -23,8 +23,8 @@ Zeppelin notebooks front-end built with Angular.
 
 ### Prerequisites
 
-- [Node.js](https://nodejs.org) 22.21.1 or use 
[creationix/nvm](https://github.com/creationix/nvm).
-- NPM package manager (which is installed with Node.js by default).
+- [Node.js](https://nodejs.org) 22.23.4 or use 
[creationix/nvm](https://github.com/creationix/nvm).
+- npm 11.21.1 (`npm install --global [email protected]` after selecting Node.js).
 - [Angular CLI](https://angular.io/cli) version 8.3.0 or later.
 
 ### Install
diff --git a/zeppelin-web-angular/pom.xml b/zeppelin-web-angular/pom.xml
index 857de6fbf6..dde97c4da8 100644
--- a/zeppelin-web-angular/pom.xml
+++ b/zeppelin-web-angular/pom.xml
@@ -43,8 +43,8 @@
     <!--plugin versions-->
     
<plugin.frontend.nodeDownloadRoot>https://nodejs.org/dist/</plugin.frontend.nodeDownloadRoot>
     
<plugin.frontend.npmDownloadRoot>https://registry.npmjs.org/npm/-/</plugin.frontend.npmDownloadRoot>
-    <node.version>v22.21.1</node.version>
-    <npm.version>10.9.4</npm.version>
+    <node.version>v22.23.4</node.version>
+    <npm.version>11.21.1</npm.version>
   </properties>
 
   <dependencies>
diff --git a/zeppelin-web-angular/projects/zeppelin-react/package-lock.json 
b/zeppelin-web-angular/projects/zeppelin-react/package-lock.json
index b8bff3bcdf..f911906a70 100644
--- a/zeppelin-web-angular/projects/zeppelin-react/package-lock.json
+++ b/zeppelin-web-angular/projects/zeppelin-react/package-lock.json
@@ -30,7 +30,7 @@
       "devDependencies": {
         "@eslint/js": "^9.28.0",
         "@playwright/test": "1.64.0",
-        "@storybook/react-vite": "10.6.1",
+        "@storybook/react-vite": "10.6.3",
         "@testing-library/dom": "10.4.1",
         "@testing-library/react": "16.3.2",
         "@types/file-saver": "2.0.7",
@@ -42,7 +42,7 @@
         "@typescript-eslint/parser": "^8.56.1",
         "@vanilla-extract/vite-plugin": "5.2.6",
         "@vanilla-extract/webpack-plugin": "2.3.27",
-        "@vitest/coverage-v8": "4.1.11",
+        "@vitest/coverage-v8": "4.1.12",
         "@vitest/eslint-plugin": "^1.6.27",
         "audit-ci": "7.1.0",
         "css-loader": "6.8.0",
@@ -53,14 +53,14 @@
         "html-webpack-plugin": "5.5.0",
         "jsdom": "29.1.1",
         "patch-package": "8.0.1",
-        "storybook": "10.6.1",
+        "storybook": "10.6.3",
         "style-loader": "3.3.0",
         "ts-loader": "9.6.2",
         "typescript": "5.9.3",
         "typescript-eslint": "^8.33.1",
         "unified": "11.0.5",
         "vite": "8.2.4",
-        "vitest": "4.1.11",
+        "vitest": "4.1.12",
         "webpack": "5.105.4",
         "webpack-cli": "5.1.4",
         "webpack-dev-server": "6.0.0"
@@ -3908,9 +3908,9 @@
       "license": "MIT"
     },
     "node_modules/@storybook/builder-vite": {
-      "version": "10.6.1",
-      "resolved": 
"https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.6.1.tgz";,
-      "integrity": 
"sha512-kUMRRRS4MpJdxOLhrlQX3cpMYi2vVB3tIIRXyqWmAjVM6xT7OZ1SCQEMFPP+S3ToRqaYWZQb8aBqrJucbbYufA==",
+      "version": "10.6.3",
+      "resolved": 
"https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.6.3.tgz";,
+      "integrity": 
"sha512-1+WCZZg/fPxxyHDB5sFKniFt9/4RFUIzoNqMujv+BLRROM+gQeyUHvdvoyZOZ51+P8ee+/PgnNKHjsTupV+nOA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -3921,7 +3921,7 @@
         "url": "https://opencollective.com/storybook";
       },
       "peerDependencies": {
-        "storybook": "^10.6.1",
+        "storybook": "^10.6.3",
         "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
       }
     },
@@ -3933,9 +3933,9 @@
       "license": "MIT"
     },
     "node_modules/@storybook/icons": {
-      "version": "2.1.0",
-      "resolved": 
"https://registry.npmjs.org/@storybook/icons/-/icons-2.1.0.tgz";,
-      "integrity": 
"sha512-Fxh9vYpX9bQqFeHRiY8h2ApeRGDzRSMLwJwNZ/AIRqnyOKHxRKL+yFe+ctEkVJmuptRE9u1Hrn8ZZNHyfDKKNg==",
+      "version": "2.2.0",
+      "resolved": 
"https://registry.npmjs.org/@storybook/icons/-/icons-2.2.0.tgz";,
+      "integrity": 
"sha512-FpUB/xizIrV1ILhCIYFo+TtQNN9YEoLjfcnAW0JtOXL+BcM2aisSysI0B54JMWDnljriXySBHgN6ps4s9lb75A==",
       "dev": true,
       "license": "MIT",
       "peerDependencies": {
@@ -3943,14 +3943,14 @@
       }
     },
     "node_modules/@storybook/react": {
-      "version": "10.6.1",
-      "resolved": 
"https://registry.npmjs.org/@storybook/react/-/react-10.6.1.tgz";,
-      "integrity": 
"sha512-t0QIzO0MVcpD52UEMZKSv35nO/+8vUnLGoFC1E3BIVjHEIdr6IFFM7ty2E7FWsaZGsah3XrFINKT3dPd2Atz+Q==",
+      "version": "10.6.3",
+      "resolved": 
"https://registry.npmjs.org/@storybook/react/-/react-10.6.3.tgz";,
+      "integrity": 
"sha512-3tfAkZNdUyx3I4IjM8dgbNWg4k0gj89Hi1MPiawfTybRRWhvnX2YqV9Ut4mrud7YzRv0v+U7+ZYEvj+maUPaow==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@storybook/global": "^5.0.0",
-        "@storybook/react-dom-shim": "10.6.1",
+        "@storybook/react-dom-shim": "10.6.3",
         "react-docgen": "^8.0.2",
         "react-docgen-typescript": "^2.2.2"
       },
@@ -3963,7 +3963,7 @@
         "@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
         "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
         "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
-        "storybook": "^10.6.1",
+        "storybook": "^10.6.3",
         "typescript": ">= 4.9.x"
       },
       "peerDependenciesMeta": {
@@ -3979,9 +3979,9 @@
       }
     },
     "node_modules/@storybook/react-dom-shim": {
-      "version": "10.6.1",
-      "resolved": 
"https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.6.1.tgz";,
-      "integrity": 
"sha512-OkPFycR6kVE+9ZsgQWRqnUfZm/sLY6dxsNAn3lsvV7DSAQWH9QnHLkqP9E/N/Hg6cKPDtGzDZ8vPNDz2FuaDuQ==",
+      "version": "10.6.3",
+      "resolved": 
"https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.6.3.tgz";,
+      "integrity": 
"sha512-cJUuPrieiTl06kzlgaU89iG+CtLAgUTt0Xdvm8qFT9yR2qwafSaswhwYWlZCNX4nWuOu7eK7uzWTwzKqyDBOWQ==",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -3993,7 +3993,7 @@
         "@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
         "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
         "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
-        "storybook": "^10.6.1"
+        "storybook": "^10.6.3"
       },
       "peerDependenciesMeta": {
         "@types/react": {
@@ -4005,16 +4005,16 @@
       }
     },
     "node_modules/@storybook/react-vite": {
-      "version": "10.6.1",
-      "resolved": 
"https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.6.1.tgz";,
-      "integrity": 
"sha512-oyUZxuW2lIJN8BRbYyMyZbfjeYqtF6HwmNfqa1SAF525zRnMewYp66wm/5d8FAgwqejOf6N2+wR3hX866lSwMA==",
+      "version": "10.6.3",
+      "resolved": 
"https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.6.3.tgz";,
+      "integrity": 
"sha512-geWwLi9JnaRG2t9bYBfz+94skARzzXNT1Toaf0lk7Oog13rtNK7ay2pWNm9SP6/L2S7mEjoWu9+zHLpwxXvfIw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@joshwooding/vite-plugin-react-docgen-typescript": "^0.7.0",
         "@rollup/pluginutils": "^5.0.2",
-        "@storybook/builder-vite": "10.6.1",
-        "@storybook/react": "10.6.1",
+        "@storybook/builder-vite": "10.6.3",
+        "@storybook/react": "10.6.3",
         "empathic": "^2.0.0",
         "magic-string": "^1.1.0",
         "react-docgen": "^8.0.2",
@@ -4028,7 +4028,7 @@
       "peerDependencies": {
         "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
         "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
-        "storybook": "^10.6.1",
+        "storybook": "^10.6.3",
         "typescript": ">= 4.9.x",
         "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
       },
@@ -4146,9 +4146,9 @@
       }
     },
     "node_modules/@testing-library/user-event": {
-      "version": "14.6.7",
-      "resolved": 
"https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.7.tgz";,
-      "integrity": 
"sha512-MPCpX8bxe8zS+JmmTwLp8jd0dy1rAm60Te/SL8JrQM3qvQJcBOs1d7IefJMyZzqM3EWBrDn/LWDt1BCGu4ASfg==",
+      "version": "14.6.8",
+      "resolved": 
"https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.8.tgz";,
+      "integrity": 
"sha512-vgSSqnANMnkcYR/vUNDbwS7aM3OErRLNUG8vCVVlj4oc6cKffUrccX7UAS5AmJQQNZTSibi9z5GvvRZ0aYgUCQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -4908,14 +4908,14 @@
       }
     },
     "node_modules/@vitest/coverage-v8": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.11.tgz";,
-      "integrity": 
"sha512-8MVGEFnJIcdGjcbfKmeq8z0pZHH0JlVtoVZH9Q/qwUp6wyFnEJUBMrw9DCaj+ra3vShGmhavjalMIhPNxZAUcw==",
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-4.1.12.tgz";,
+      "integrity": 
"sha512-6S7/iVknKglLAxMFxQGNppBI0iqJS2NgM6FBxavitj7KaDq/vywOWGf6dGu7F2L1Qy0G6S3uTp7aGshHrzK8JA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@bcoe/v8-coverage": "^1.0.2",
-        "@vitest/utils": "4.1.11",
+        "@vitest/utils": "4.1.12",
         "ast-v8-to-istanbul": "^1.0.0",
         "istanbul-lib-coverage": "^3.2.2",
         "istanbul-lib-report": "^3.0.1",
@@ -4929,8 +4929,8 @@
         "url": "https://opencollective.com/vitest";
       },
       "peerDependencies": {
-        "@vitest/browser": "4.1.11",
-        "vitest": "4.1.11"
+        "@vitest/browser": "4.1.12",
+        "vitest": "4.1.12"
       },
       "peerDependenciesMeta": {
         "@vitest/browser": {
@@ -4970,27 +4970,101 @@
       }
     },
     "node_modules/@vitest/expect": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/expect/-/expect-4.1.11.tgz";,
-      "integrity": 
"sha512-VX2x5vNJXET47KAFzwERI+KRMtTTCSWTfSMKsW7JsUsXV4psq++e3DvZpuTDOpHcxytiDs6p2nhVb2tVDiiUYw==",
+      "version": "3.2.4",
+      "resolved": 
"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz";,
+      "integrity": 
"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@standard-schema/spec": "^1.1.0",
         "@types/chai": "^5.2.2",
-        "@vitest/spy": "4.1.11",
-        "@vitest/utils": "4.1.11",
-        "chai": "^6.2.2",
-        "tinyrainbow": "^3.1.0"
+        "@vitest/spy": "3.2.4",
+        "@vitest/utils": "3.2.4",
+        "chai": "^5.2.0",
+        "tinyrainbow": "^2.0.0"
       },
       "funding": {
         "url": "https://opencollective.com/vitest";
       }
     },
+    "node_modules/@vitest/expect/node_modules/@vitest/pretty-format": {
+      "version": "3.2.4",
+      "resolved": 
"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz";,
+      "integrity": 
"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "tinyrainbow": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/vitest";
+      }
+    },
+    "node_modules/@vitest/expect/node_modules/@vitest/utils": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz";,
+      "integrity": 
"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@vitest/pretty-format": "3.2.4",
+        "loupe": "^3.1.4",
+        "tinyrainbow": "^2.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/vitest";
+      }
+    },
+    "node_modules/@vitest/expect/node_modules/tinyrainbow": {
+      "version": "2.0.0",
+      "resolved": 
"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz";,
+      "integrity": 
"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/@vitest/mocker": {
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.12.tgz";,
+      "integrity": 
"sha512-fKShNpKZzupWZuY0z7egydvL0sqW4INEZBEExMBMAa6izlENEVHwoXgdaTCaBZ5fwlr4xf2o1wXC83n9RpO+NA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@vitest/spy": "4.1.12",
+        "estree-walker": "^3.0.3",
+        "magic-string": "^0.30.21"
+      },
+      "funding": {
+        "url": "https://opencollective.com/vitest";
+      },
+      "peerDependencies": {
+        "msw": "^2.4.9",
+        "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
+      },
+      "peerDependenciesMeta": {
+        "msw": {
+          "optional": true
+        },
+        "vite": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@vitest/mocker/node_modules/@vitest/spy": {
+      "version": "4.1.12",
+      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.12.tgz";,
+      "integrity": 
"sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "url": "https://opencollective.com/vitest";
+      }
+    },
     "node_modules/@vitest/pretty-format": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.11.tgz";,
-      "integrity": 
"sha512-yiZzPbGTS9Sr/JpFl8zHrcIkAofNbFV6k21vIgQN/cY/oxZeXhJv5sc/MBJ5jFKWmWs+oJHw0UXLZjmf931+Vw==",
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-4.1.12.tgz";,
+      "integrity": 
"sha512-XW9O8+Mxx4VpCtkYdMJLZQQwsVryP9wk7cPKDxtXFfwSak6yRh5+2fep/Y0XF/ElBvJHq8bcYdi6aeuai0opZA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -5001,13 +5075,13 @@
       }
     },
     "node_modules/@vitest/runner": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/runner/-/runner-4.1.11.tgz";,
-      "integrity": 
"sha512-LztvUgdwMNJMIkj3hQnnxiC2Xy1zNxq928W/xhjCLaNCzqTZOudjwbQf6v9IntZGPw132i2Lq2rgTRZHD3JHNw==",
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/runner/-/runner-4.1.12.tgz";,
+      "integrity": 
"sha512-NKlVKCr5QnCe8jijdMnmkpHHU+WTqiLFR6G0pHji9uRjXK9xJl1k1nTw6F3pOOj2PDcsDt2GKQMI7wIsaT491w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vitest/utils": "4.1.11",
+        "@vitest/utils": "4.1.12",
         "pathe": "^2.0.3"
       },
       "funding": {
@@ -5015,14 +5089,14 @@
       }
     },
     "node_modules/@vitest/snapshot": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.11.tgz";,
-      "integrity": 
"sha512-pN7ikn1ON7h8ee4gIAp4AzyK+zBtJPzVbqOgu5LCEh4VaJVbPQcgYQYJIMGQPXVeJJq1fnfazis7a5pFNPahog==",
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/snapshot/-/snapshot-4.1.12.tgz";,
+      "integrity": 
"sha512-ko1y1Qgb/slzQ9mr+b89Cuqud8WG1TKtsPD8r7ZUBdvVOGt85Af2HwCqHujrhwJq95hs/9RM7fcAPg57o1vlzw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vitest/pretty-format": "4.1.11",
-        "@vitest/utils": "4.1.11",
+        "@vitest/pretty-format": "4.1.12",
+        "@vitest/utils": "4.1.12",
         "magic-string": "^0.30.21",
         "pathe": "^2.0.3"
       },
@@ -5031,23 +5105,26 @@
       }
     },
     "node_modules/@vitest/spy": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.11.tgz";,
-      "integrity": 
"sha512-apNa/prQy2qCeywhnixOHPRCgGNhvg7T4Dapfl1GahLp/R+uhBm5cPyFoNVyqsNd2h1nJxL6BqqdIjiABL60YA==",
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz";,
+      "integrity": 
"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "tinyspy": "^4.0.3"
+      },
       "funding": {
         "url": "https://opencollective.com/vitest";
       }
     },
     "node_modules/@vitest/utils": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/utils/-/utils-4.1.11.tgz";,
-      "integrity": 
"sha512-zTCVGpyFsGWBhllOyKlTw/vnr6D9qxsfSDyfbyZmTyjHw5N/VuvzHpHoQjm2ZJzn4RJgx5w4r7V0er69CmLgPQ==",
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/utils/-/utils-4.1.12.tgz";,
+      "integrity": 
"sha512-Q3awXrwOfEV+qc3WmO5ONyE0yO7Q1gQ9/oyHxGLZ/pl7N3NO/ZztqQwKLuwMkV+CA1JYSIeO3gkHnRDIo4AVaA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vitest/pretty-format": "4.1.11",
+        "@vitest/pretty-format": "4.1.12",
         "convert-source-map": "^2.0.0",
         "tinyrainbow": "^3.1.0"
       },
@@ -5866,19 +5943,19 @@
       }
     },
     "node_modules/body-parser": {
-      "version": "2.3.0",
-      "resolved": 
"https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz";,
-      "integrity": 
"sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==",
+      "version": "2.4.0",
+      "resolved": 
"https://registry.npmjs.org/body-parser/-/body-parser-2.4.0.tgz";,
+      "integrity": 
"sha512-Ifk1KcLrxaGt1occQagQNFNNOqRt1LFuehEnHHzB8Z6cRgIxRU1TBaiIsUiCdA+gy5PL7Y1IX31DNKkRmxtXjQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "bytes": "^3.1.2",
-        "content-type": "^2.0.0",
+        "content-type": "^2.1.0",
         "debug": "^4.4.3",
         "http-errors": "^2.0.1",
-        "iconv-lite": "^0.7.2",
+        "iconv-lite": "^0.7.3",
         "on-finished": "^2.4.1",
-        "qs": "^6.15.2",
+        "qs": "^6.16.1",
         "raw-body": "^3.0.2",
         "type-is": "^2.1.0"
       },
@@ -5891,9 +5968,9 @@
       }
     },
     "node_modules/body-parser/node_modules/content-type": {
-      "version": "2.0.0",
-      "resolved": 
"https://registry.npmjs.org/content-type/-/content-type-2.0.0.tgz";,
-      "integrity": 
"sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==",
+      "version": "2.1.0",
+      "resolved": 
"https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz";,
+      "integrity": 
"sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -6160,11 +6237,18 @@
       }
     },
     "node_modules/chai": {
-      "version": "6.2.2",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-6.2.2.tgz";,
-      "integrity": 
"sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==",
+      "version": "5.3.3",
+      "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz";,
+      "integrity": 
"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "assertion-error": "^2.0.1",
+        "check-error": "^2.1.1",
+        "deep-eql": "^5.0.1",
+        "loupe": "^3.1.0",
+        "pathval": "^2.0.0"
+      },
       "engines": {
         "node": ">=18"
       }
@@ -7941,9 +8025,9 @@
       "license": "MIT"
     },
     "node_modules/fast-uri": {
-      "version": "3.1.8",
-      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.8.tgz";,
-      "integrity": 
"sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg==",
+      "version": "3.1.9",
+      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.9.tgz";,
+      "integrity": 
"sha512-hS/0Wt3Ya043oKXs0sIxrMpKQITXhMLIrVAKKXi4gozGC9v7YRWVnXIZzjNPTO02M9BdxLCWqK1yRXgNziVyJQ==",
       "dev": true,
       "funding": [
         {
@@ -12532,9 +12616,9 @@
       }
     },
     "node_modules/qs": {
-      "version": "6.16.0",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz";,
-      "integrity": 
"sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
+      "version": "6.16.1",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.1.tgz";,
+      "integrity": 
"sha512-5Px6J7rfHBAGUhNQ3es4YzcOdBBw0SDcVtThJml4RdnKw4tKs2epA0kPZ+K8X+WiHktT93RHVcQ/3ym5aTCgtg==",
       "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
@@ -13767,9 +13851,9 @@
       }
     },
     "node_modules/storybook": {
-      "version": "10.6.1",
-      "resolved": 
"https://registry.npmjs.org/storybook/-/storybook-10.6.1.tgz";,
-      "integrity": 
"sha512-NeEmukMWPA5OqHizUkQtxCIhGt7MUZLPY4FFgpC0LNiipjrac/oKpH0TxI+9Zc+vI5+IoN+NiskOmBP7gtYfmA==",
+      "version": "10.6.3",
+      "resolved": 
"https://registry.npmjs.org/storybook/-/storybook-10.6.3.tgz";,
+      "integrity": 
"sha512-lNBvcZFG44C98KvQHYzfq1O46m+sl94zY1+na5/9E3ihtNMbvpOgYyMFMIcWYUvOMo3OM4q9jzvB73KU20bU8w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -13815,81 +13899,6 @@
         }
       }
     },
-    "node_modules/storybook/node_modules/@vitest/expect": {
-      "version": "3.2.4",
-      "resolved": 
"https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz";,
-      "integrity": 
"sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/chai": "^5.2.2",
-        "@vitest/spy": "3.2.4",
-        "@vitest/utils": "3.2.4",
-        "chai": "^5.2.0",
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest";
-      }
-    },
-    "node_modules/storybook/node_modules/@vitest/pretty-format": {
-      "version": "3.2.4",
-      "resolved": 
"https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz";,
-      "integrity": 
"sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest";
-      }
-    },
-    "node_modules/storybook/node_modules/@vitest/spy": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz";,
-      "integrity": 
"sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tinyspy": "^4.0.3"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest";
-      }
-    },
-    "node_modules/storybook/node_modules/@vitest/utils": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz";,
-      "integrity": 
"sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vitest/pretty-format": "3.2.4",
-        "loupe": "^3.1.4",
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest";
-      }
-    },
-    "node_modules/storybook/node_modules/chai": {
-      "version": "5.3.3",
-      "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz";,
-      "integrity": 
"sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "assertion-error": "^2.0.1",
-        "check-error": "^2.1.1",
-        "deep-eql": "^5.0.1",
-        "loupe": "^3.1.0",
-        "pathval": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
     "node_modules/storybook/node_modules/open": {
       "version": "10.2.0",
       "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz";,
@@ -13909,16 +13918,6 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/storybook/node_modules/tinyrainbow": {
-      "version": "2.0.0",
-      "resolved": 
"https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz";,
-      "integrity": 
"sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
     "node_modules/storybook/node_modules/wsl-utils": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz";,
@@ -14855,9 +14854,9 @@
       }
     },
     "node_modules/undici": {
-      "version": "7.30.0",
-      "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.0.tgz";,
-      "integrity": 
"sha512-dkrQXeHSaoamnItlYbmzG0wFYrM0ZwDxCIg0A7aKjTyyhh9svRzCNFEzV+Vm05/yehjCzjDZ31KXfGEjYSztDQ==",
+      "version": "7.30.1",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-7.30.1.tgz";,
+      "integrity": 
"sha512-03KrMbjIFDWQR5RNPrSw3bd1r12JpyFQl9/yxjUbJtqkjmllqC5lFjZh6ujeuJCKr8EOQvRW872Oy/az+nLYxg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -15183,19 +15182,19 @@
       }
     },
     "node_modules/vitest": {
-      "version": "4.1.11",
-      "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.11.tgz";,
-      "integrity": 
"sha512-fhACrNXUidIbGSBr5FlbuBkO7VWC1ZyLl0DO4CU2DrQoAPxX84Ysxs+HeGQpii5lZWV1Q4gBZTTu49mF+A6Edw==",
+      "version": "4.1.12",
+      "resolved": "https://registry.npmjs.org/vitest/-/vitest-4.1.12.tgz";,
+      "integrity": 
"sha512-5eWdz2yb3ajxWF3C8C4TjkXl7FGm3n2E/VlazALrQHzK7nYMSGFnCZto0bbPNl77AwkOZVLk0YnBAejUu0NiWA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vitest/expect": "4.1.11",
-        "@vitest/mocker": "4.1.11",
-        "@vitest/pretty-format": "4.1.11",
-        "@vitest/runner": "4.1.11",
-        "@vitest/snapshot": "4.1.11",
-        "@vitest/spy": "4.1.11",
-        "@vitest/utils": "4.1.11",
+        "@vitest/expect": "4.1.12",
+        "@vitest/mocker": "4.1.12",
+        "@vitest/pretty-format": "4.1.12",
+        "@vitest/runner": "4.1.12",
+        "@vitest/snapshot": "4.1.12",
+        "@vitest/spy": "4.1.12",
+        "@vitest/utils": "4.1.12",
         "es-module-lexer": "^2.0.0",
         "expect-type": "^1.3.0",
         "magic-string": "^0.30.21",
@@ -15223,12 +15222,12 @@
         "@edge-runtime/vm": "*",
         "@opentelemetry/api": "^1.9.0",
         "@types/node": "^20.0.0 || ^22.0.0 || >=24.0.0",
-        "@vitest/browser-playwright": "4.1.11",
-        "@vitest/browser-preview": "4.1.11",
-        "@vitest/browser-webdriverio": "4.1.11",
-        "@vitest/coverage-istanbul": "4.1.11",
-        "@vitest/coverage-v8": "4.1.11",
-        "@vitest/ui": "4.1.11",
+        "@vitest/browser-playwright": "4.1.12",
+        "@vitest/browser-preview": "4.1.12",
+        "@vitest/browser-webdriverio": "^4.1.11",
+        "@vitest/coverage-istanbul": "4.1.12",
+        "@vitest/coverage-v8": "4.1.12",
+        "@vitest/ui": "4.1.12",
         "happy-dom": "*",
         "jsdom": "*",
         "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
@@ -15272,31 +15271,42 @@
         }
       }
     },
-    "node_modules/vitest/node_modules/@vitest/mocker": {
-      "version": "4.1.11",
-      "resolved": 
"https://registry.npmjs.org/@vitest/mocker/-/mocker-4.1.11.tgz";,
-      "integrity": 
"sha512-2XJVD55d1o5AZous5CCGKS74g/riOj9odEt2bQpCVZeblHyHdnMeFl4jl0XjU21stf4mbjUkew2eXQZt65g5CQ==",
+    "node_modules/vitest/node_modules/@vitest/expect": {
+      "version": "4.1.12",
+      "resolved": 
"https://registry.npmjs.org/@vitest/expect/-/expect-4.1.12.tgz";,
+      "integrity": 
"sha512-vFlTt+YEu9WBpNjdGayNmlMVzrWPi1+sv853/7t2FU7hpO5gAFBKHzQmkCq5Xjpr+evegF2994LQT3hF3mRlqQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@vitest/spy": "4.1.11",
-        "estree-walker": "^3.0.3",
-        "magic-string": "^0.30.21"
+        "@standard-schema/spec": "^1.1.0",
+        "@types/chai": "^5.2.2",
+        "@vitest/spy": "4.1.12",
+        "@vitest/utils": "4.1.12",
+        "chai": "^6.2.2",
+        "tinyrainbow": "^3.1.0"
       },
       "funding": {
         "url": "https://opencollective.com/vitest";
-      },
-      "peerDependencies": {
-        "msw": "^2.4.9",
-        "vite": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "msw": {
-          "optional": true
-        },
-        "vite": {
-          "optional": true
-        }
+      }
+    },
+    "node_modules/vitest/node_modules/@vitest/spy": {
+      "version": "4.1.12",
+      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-4.1.12.tgz";,
+      "integrity": 
"sha512-RGq9x4JNGNTZHEJxvN0oSiJjeSCExm0n2gZKKJZHY9cX5AVA6M7VJILBT3ZJ/tJ/0J9uWT7fETV9/btoi//vSg==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "url": "https://opencollective.com/vitest";
+      }
+    },
+    "node_modules/vitest/node_modules/chai": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/chai/-/chai-6.3.0.tgz";,
+      "integrity": 
"sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
       }
     },
     "node_modules/w3c-xmlserializer": {
@@ -15970,9 +15980,9 @@
       }
     },
     "node_modules/zod": {
-      "version": "4.6.5",
-      "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.5.tgz";,
-      "integrity": 
"sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q==",
+      "version": "4.6.7",
+      "resolved": "https://registry.npmjs.org/zod/-/zod-4.6.7.tgz";,
+      "integrity": 
"sha512-g8W2D2kU6a8untc053fX1uVBKzM7yqAxW/3zwk83+6RyF2+SKOuV+c0wBDhUwzV1PaGapmZH+rmcUzPf+3CGwg==",
       "dev": true,
       "license": "MIT",
       "funding": {
diff --git a/zeppelin-web-angular/projects/zeppelin-react/package.json 
b/zeppelin-web-angular/projects/zeppelin-react/package.json
index 967698bd41..0d0f0876c0 100644
--- a/zeppelin-web-angular/projects/zeppelin-react/package.json
+++ b/zeppelin-web-angular/projects/zeppelin-react/package.json
@@ -43,7 +43,7 @@
   "devDependencies": {
     "@eslint/js": "^9.28.0",
     "@playwright/test": "1.64.0",
-    "@storybook/react-vite": "10.6.1",
+    "@storybook/react-vite": "10.6.3",
     "@testing-library/dom": "10.4.1",
     "@testing-library/react": "16.3.2",
     "@types/file-saver": "2.0.7",
@@ -55,7 +55,7 @@
     "@typescript-eslint/parser": "^8.56.1",
     "@vanilla-extract/vite-plugin": "5.2.6",
     "@vanilla-extract/webpack-plugin": "2.3.27",
-    "@vitest/coverage-v8": "4.1.11",
+    "@vitest/coverage-v8": "4.1.12",
     "@vitest/eslint-plugin": "^1.6.27",
     "audit-ci": "7.1.0",
     "css-loader": "6.8.0",
@@ -66,14 +66,14 @@
     "html-webpack-plugin": "5.5.0",
     "jsdom": "29.1.1",
     "patch-package": "8.0.1",
-    "storybook": "10.6.1",
+    "storybook": "10.6.3",
     "style-loader": "3.3.0",
     "ts-loader": "9.6.2",
     "typescript": "5.9.3",
     "typescript-eslint": "^8.33.1",
     "unified": "11.0.5",
     "vite": "8.2.4",
-    "vitest": "4.1.11",
+    "vitest": "4.1.12",
     "webpack": "5.105.4",
     "webpack-cli": "5.1.4",
     "webpack-dev-server": "6.0.0"

Reply via email to