diff --git a/docs/api/badge.md b/docs/api/badge.md
index 0013735812f..c7682a087a3 100644
--- a/docs/api/badge.md
+++ b/docs/api/badge.md
@@ -25,6 +25,18 @@ import Basic from '@site/static/usage/v8/badge/basic/index.md';
 
 
 
+## Tabボタン内のバッジ
+
+バッジはTabボタン内に追加することができ、多くの場合、通知を示したり、要素に関連する追加項目を強調するために使用されます。
+
+:::info
+Empty badges are only available for `md` mode.
+:::
+
+import InsideTabBar from '@site/static/usage/v8/badge/inside-tab-bar/index.md';
+
+
+
 ## テーマ
 
 ### Colors
diff --git a/docs/api/picker.md b/docs/api/picker.md
index 36d7b886785..da95bd588ab 100644
--- a/docs/api/picker.md
+++ b/docs/api/picker.md
@@ -111,6 +111,37 @@ Each [Picker Column](./picker-column) can be navigated using the keyboard when f
 | Home      | Scroll to the first option.          |
 | End       | Scroll to the last option.           |
 
+## Accessibility
+
+### Screen Readers
+
+Picker supports navigation using a screen reader by implementing the [`slider` role](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role) on each [Picker Column](./picker-column). The following gestures can be used to navigate the Picker.
+
+| Gesture | Function |
+| - | - |
+| Swipe Left | Move focus to the previous Picker Column. |
+| Swipe Right | Move focus to the next Picker Column. |
+| Swipe Up | Select the next option in the Picker Column. |
+| Swipe Down | Select the previous option in the Picker Column. |
+| Double Tap and Slide Up/Down | Adjust the selected option in the Picker Column. Can be used as an alternative to swiping up and down. |
+
+:::caution
+The Swipe Up and Swipe Down gestures rely on the correct key events being synthesized as noted on the [`slider` documentation](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/slider_role). [Chromium-based browsers do not synthesize keyboard events correctly](https://issues.chromium.org/issues/40816094), but the "Double Tap and Slide Up/Down" gesture can be used as an alternative until this has been implemented in Chromium-based browsers.
+:::
+
+### Keyboard Interactions
+
+Each [Picker Column](./picker-column) can be navigated using the keyboard when focused.
+
+| Key                  | Description                          |
+| -------------------- | ------------------------------------ |
+| ArrowUp   | Scroll to the previous option.       |
+| ArrowDown | Scroll to the next option.           |
+| PageUp    | Scroll up by more than one option.   |
+| PageDown  | Scroll down by more than one option. |
+| Home      | Scroll to the first option.          |
+| End       | Scroll to the last option.           |
+
 ## プロパティ
 
 
diff --git a/docs/api/tab-bar.md b/docs/api/tab-bar.md
index d0b26c21581..bbe1fdb8ec2 100644
--- a/docs/api/tab-bar.md
+++ b/docs/api/tab-bar.md
@@ -148,7 +148,19 @@ export default defineComponent({
 
 
 
-## プロパティ
+## Tabボタン内のバッジ
+
+バッジはTabボタン内に追加することができ、多くの場合、通知を示したり、要素に関連する追加項目を強調するために使用されます。
+
+:::info
+Empty badges are only available for `md` mode.
+:::
+
+import InsideTabBar from '@site/static/usage/v8/badge/inside-tab-bar/index.md';
+
+
+
+## Properties
 
 
 ## イベント
diff --git a/static/code/stackblitz/v7/react/package-lock.json b/static/code/stackblitz/v7/react/package-lock.json
index 70bb51c74cd..bc200a81ab1 100644
--- a/static/code/stackblitz/v7/react/package-lock.json
+++ b/static/code/stackblitz/v7/react/package-lock.json
@@ -1030,25 +1030,25 @@
       "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA=="
     },
     "node_modules/@types/node": {
-      "version": "22.13.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
-      "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
+      "version": "22.14.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
+      "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
       "dependencies": {
-        "undici-types": "~6.20.0"
+        "undici-types": "~6.21.0"
       }
     },
     "node_modules/@types/react": {
-      "version": "19.0.10",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
-      "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==",
       "dependencies": {
         "csstype": "^3.0.2"
       }
     },
     "node_modules/@types/react-dom": {
-      "version": "19.0.4",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
-      "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
+      "version": "19.1.1",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz",
+      "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==",
       "peerDependencies": {
         "@types/react": "^19.0.0"
       }
@@ -1418,22 +1418,22 @@
       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
     },
     "node_modules/react": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
-      "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
       "engines": {
         "node": ">=0.10.0"
       }
     },
     "node_modules/react-dom": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
-      "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
+      "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
       "dependencies": {
-        "scheduler": "^0.25.0"
+        "scheduler": "^0.26.0"
       },
       "peerDependencies": {
-        "react": "^19.0.0"
+        "react": "^19.1.0"
       }
     },
     "node_modules/react-refresh": {
@@ -1546,9 +1546,9 @@
       }
     },
     "node_modules/scheduler": {
-      "version": "0.25.0",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
-      "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
+      "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
     },
     "node_modules/semver": {
       "version": "6.3.1",
@@ -1594,9 +1594,9 @@
       }
     },
     "node_modules/undici-types": {
-      "version": "6.20.0",
-      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
-      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
+      "version": "6.21.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+      "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
     },
     "node_modules/update-browserslist-db": {
       "version": "1.1.1",
@@ -1633,9 +1633,9 @@
       "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
     },
     "node_modules/vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dependencies": {
         "esbuild": "^0.25.0",
         "postcss": "^8.5.3",
@@ -2277,25 +2277,25 @@
       "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA=="
     },
     "@types/node": {
-      "version": "22.13.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
-      "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
+      "version": "22.14.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
+      "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
       "requires": {
-        "undici-types": "~6.20.0"
+        "undici-types": "~6.21.0"
       }
     },
     "@types/react": {
-      "version": "19.0.10",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
-      "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==",
       "requires": {
         "csstype": "^3.0.2"
       }
     },
     "@types/react-dom": {
-      "version": "19.0.4",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
-      "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
+      "version": "19.1.1",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz",
+      "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==",
       "requires": {}
     },
     "@types/react-router": {
@@ -2546,16 +2546,16 @@
       }
     },
     "react": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
-      "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ=="
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="
     },
     "react-dom": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
-      "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
+      "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
       "requires": {
-        "scheduler": "^0.25.0"
+        "scheduler": "^0.26.0"
       }
     },
     "react-refresh": {
@@ -2652,9 +2652,9 @@
       }
     },
     "scheduler": {
-      "version": "0.25.0",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
-      "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
+      "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
     },
     "semver": {
       "version": "6.3.1",
@@ -2687,9 +2687,9 @@
       "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="
     },
     "undici-types": {
-      "version": "6.20.0",
-      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
-      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
+      "version": "6.21.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+      "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
     },
     "update-browserslist-db": {
       "version": "1.1.1",
@@ -2706,9 +2706,9 @@
       "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
     },
     "vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "requires": {
         "esbuild": "^0.25.0",
         "fsevents": "~2.3.3",
diff --git a/static/code/stackblitz/v7/vue/package-lock.json b/static/code/stackblitz/v7/vue/package-lock.json
index 82eb982220c..dd49e31c109 100644
--- a/static/code/stackblitz/v7/vue/package-lock.json
+++ b/static/code/stackblitz/v7/vue/package-lock.json
@@ -761,9 +761,9 @@
       "dev": true
     },
     "node_modules/@vitejs/plugin-vue": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
-      "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==",
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
+      "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
       "dev": true,
       "engines": {
         "node": "^18.0.0 || >=20.0.0"
@@ -1222,9 +1222,9 @@
       }
     },
     "node_modules/vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dev": true,
       "dependencies": {
         "esbuild": "^0.25.0",
@@ -1747,9 +1747,9 @@
       "dev": true
     },
     "@vitejs/plugin-vue": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
-      "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==",
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
+      "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
       "dev": true,
       "requires": {}
     },
@@ -2102,9 +2102,9 @@
       "devOptional": true
     },
     "vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dev": true,
       "requires": {
         "esbuild": "^0.25.0",
diff --git a/static/code/stackblitz/v8/angular/package.json b/static/code/stackblitz/v8/angular/package.json
index 42afd346323..9420b1c8775 100644
--- a/static/code/stackblitz/v8/angular/package.json
+++ b/static/code/stackblitz/v8/angular/package.json
@@ -15,8 +15,8 @@
     "@angular/platform-browser": "^19.0.0",
     "@angular/platform-browser-dynamic": "^19.0.0",
     "@angular/router": "^19.0.0",
-    "@ionic/angular": "8.5.0",
-    "@ionic/core": "8.5.0",
+    "@ionic/angular": "8.5.3",
+    "@ionic/core": "8.5.3",
     "ionicons": "7.4.0",
     "rxjs": "^7.8.1",
     "tslib": "^2.5.0",
diff --git a/static/code/stackblitz/v8/html/package.json b/static/code/stackblitz/v8/html/package.json
index 5ec11861bb2..d53b4f764d5 100644
--- a/static/code/stackblitz/v8/html/package.json
+++ b/static/code/stackblitz/v8/html/package.json
@@ -1,6 +1,6 @@
 {
   "dependencies": {
-    "@ionic/core": "8.5.0",
+    "@ionic/core": "8.5.3",
     "ionicons": "7.4.0"
   }
 }
diff --git a/static/code/stackblitz/v8/react/package-lock.json b/static/code/stackblitz/v8/react/package-lock.json
index d2cd7f3307a..a884dfb211f 100644
--- a/static/code/stackblitz/v8/react/package-lock.json
+++ b/static/code/stackblitz/v8/react/package-lock.json
@@ -8,8 +8,8 @@
       "name": "vite-react-typescript",
       "version": "0.1.0",
       "dependencies": {
-        "@ionic/react": "8.5.0",
-        "@ionic/react-router": "8.5.0",
+        "@ionic/react": "8.5.3",
+        "@ionic/react-router": "8.5.3",
         "@types/node": "^22.0.0",
         "@types/react": "^19.0.0",
         "@types/react-dom": "^19.0.0",
@@ -661,9 +661,9 @@
       }
     },
     "node_modules/@ionic/core": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.0.tgz",
-      "integrity": "sha512-4U6I3hGWhHu9YUL5NzwjT6zbcSABTKBMfGRwHw5F3bUsV23w18s4Oku+WZ3aIVhtnMugR0vhYiR1dh94RAKycw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.3.tgz",
+      "integrity": "sha512-AiBK1gpzi9Knd3xbGWkuFja/f8hQTt+FIubdHBcRThUSjzJLgqYsfiSGkcdEAMf/t5mtaqRUUN1UbCcf2Ue9Xg==",
       "dependencies": {
         "@stencil/core": "4.20.0",
         "ionicons": "^7.2.2",
@@ -671,11 +671,11 @@
       }
     },
     "node_modules/@ionic/react": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.5.0.tgz",
-      "integrity": "sha512-MpcPU2cm/c8v+lq0j+iZkruB+M31GP2YuxFU0ikTZwuJpVtKLzq3IDyqor0FvIo5kojaginn6r0n3hhmSrf1nw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.5.3.tgz",
+      "integrity": "sha512-kg/RxLUYNqTMl/qZpSDVZMaerTAAfBEh1z7aPPpAOO2Z/VSrNRIJQci8bcGJUDlAlI8YMwQ69SbuURaD0N61rg==",
       "dependencies": {
-        "@ionic/core": "8.5.0",
+        "@ionic/core": "8.5.3",
         "ionicons": "^7.0.0",
         "tslib": "*"
       },
@@ -685,11 +685,11 @@
       }
     },
     "node_modules/@ionic/react-router": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.5.0.tgz",
-      "integrity": "sha512-fX2F6wiMIzqSwhZsby+euA3yOYsIabHbZ1J3nbktb5PEtyLS7b0mVjAqAQjH4q5VClCvU7srbFd0TAwOb6CMAQ==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.5.3.tgz",
+      "integrity": "sha512-J3mpq8+dLUeTrNWZmXnVLgnpoByTWLj245cFecA6CyO3WBp/UDU+2Za40zMBB6wqxjdlFiV1gUn+gnqHovfGUA==",
       "dependencies": {
-        "@ionic/react": "8.5.0",
+        "@ionic/react": "8.5.3",
         "tslib": "*"
       },
       "peerDependencies": {
@@ -1030,25 +1030,25 @@
       "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA=="
     },
     "node_modules/@types/node": {
-      "version": "22.13.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
-      "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
+      "version": "22.14.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
+      "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
       "dependencies": {
-        "undici-types": "~6.20.0"
+        "undici-types": "~6.21.0"
       }
     },
     "node_modules/@types/react": {
-      "version": "19.0.10",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
-      "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==",
       "dependencies": {
         "csstype": "^3.0.2"
       }
     },
     "node_modules/@types/react-dom": {
-      "version": "19.0.4",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
-      "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
+      "version": "19.1.1",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz",
+      "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==",
       "peerDependencies": {
         "@types/react": "^19.0.0"
       }
@@ -1418,22 +1418,22 @@
       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
     },
     "node_modules/react": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
-      "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==",
       "engines": {
         "node": ">=0.10.0"
       }
     },
     "node_modules/react-dom": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
-      "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
+      "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
       "dependencies": {
-        "scheduler": "^0.25.0"
+        "scheduler": "^0.26.0"
       },
       "peerDependencies": {
-        "react": "^19.0.0"
+        "react": "^19.1.0"
       }
     },
     "node_modules/react-refresh": {
@@ -1546,9 +1546,9 @@
       }
     },
     "node_modules/scheduler": {
-      "version": "0.25.0",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
-      "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
+      "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
     },
     "node_modules/semver": {
       "version": "6.3.1",
@@ -1594,9 +1594,9 @@
       }
     },
     "node_modules/undici-types": {
-      "version": "6.20.0",
-      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
-      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
+      "version": "6.21.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+      "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
     },
     "node_modules/update-browserslist-db": {
       "version": "1.1.1",
@@ -1633,9 +1633,9 @@
       "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
     },
     "node_modules/vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dependencies": {
         "esbuild": "^0.25.0",
         "postcss": "^8.5.3",
@@ -2048,9 +2048,9 @@
       "optional": true
     },
     "@ionic/core": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.0.tgz",
-      "integrity": "sha512-4U6I3hGWhHu9YUL5NzwjT6zbcSABTKBMfGRwHw5F3bUsV23w18s4Oku+WZ3aIVhtnMugR0vhYiR1dh94RAKycw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.3.tgz",
+      "integrity": "sha512-AiBK1gpzi9Knd3xbGWkuFja/f8hQTt+FIubdHBcRThUSjzJLgqYsfiSGkcdEAMf/t5mtaqRUUN1UbCcf2Ue9Xg==",
       "requires": {
         "@stencil/core": "4.20.0",
         "ionicons": "^7.2.2",
@@ -2058,21 +2058,21 @@
       }
     },
     "@ionic/react": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.5.0.tgz",
-      "integrity": "sha512-MpcPU2cm/c8v+lq0j+iZkruB+M31GP2YuxFU0ikTZwuJpVtKLzq3IDyqor0FvIo5kojaginn6r0n3hhmSrf1nw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/react/-/react-8.5.3.tgz",
+      "integrity": "sha512-kg/RxLUYNqTMl/qZpSDVZMaerTAAfBEh1z7aPPpAOO2Z/VSrNRIJQci8bcGJUDlAlI8YMwQ69SbuURaD0N61rg==",
       "requires": {
-        "@ionic/core": "8.5.0",
+        "@ionic/core": "8.5.3",
         "ionicons": "^7.0.0",
         "tslib": "*"
       }
     },
     "@ionic/react-router": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.5.0.tgz",
-      "integrity": "sha512-fX2F6wiMIzqSwhZsby+euA3yOYsIabHbZ1J3nbktb5PEtyLS7b0mVjAqAQjH4q5VClCvU7srbFd0TAwOb6CMAQ==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/react-router/-/react-router-8.5.3.tgz",
+      "integrity": "sha512-J3mpq8+dLUeTrNWZmXnVLgnpoByTWLj245cFecA6CyO3WBp/UDU+2Za40zMBB6wqxjdlFiV1gUn+gnqHovfGUA==",
       "requires": {
-        "@ionic/react": "8.5.0",
+        "@ionic/react": "8.5.3",
         "tslib": "*"
       }
     },
@@ -2277,25 +2277,25 @@
       "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA=="
     },
     "@types/node": {
-      "version": "22.13.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
-      "integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
+      "version": "22.14.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.0.tgz",
+      "integrity": "sha512-Kmpl+z84ILoG+3T/zQFyAJsU6EPTmOCj8/2+83fSN6djd6I4o7uOuGIH6vq3PrjY5BGitSbFuMN18j3iknubbA==",
       "requires": {
-        "undici-types": "~6.20.0"
+        "undici-types": "~6.21.0"
       }
     },
     "@types/react": {
-      "version": "19.0.10",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz",
-      "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-UaicktuQI+9UKyA4njtDOGBD/67t8YEBt2xdfqu8+gP9hqPUPsiXlNPcpS2gVdjmis5GKPG3fCxbQLVgxsQZ8w==",
       "requires": {
         "csstype": "^3.0.2"
       }
     },
     "@types/react-dom": {
-      "version": "19.0.4",
-      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz",
-      "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==",
+      "version": "19.1.1",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.1.tgz",
+      "integrity": "sha512-jFf/woGTVTjUJsl2O7hcopJ1r0upqoq/vIOoCj0yLh3RIXxWcljlpuZ+vEBRXsymD1jhfeJrlyTy/S1UW+4y1w==",
       "requires": {}
     },
     "@types/react-router": {
@@ -2546,16 +2546,16 @@
       }
     },
     "react": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz",
-      "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ=="
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz",
+      "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg=="
     },
     "react-dom": {
-      "version": "19.0.0",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz",
-      "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==",
+      "version": "19.1.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz",
+      "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==",
       "requires": {
-        "scheduler": "^0.25.0"
+        "scheduler": "^0.26.0"
       }
     },
     "react-refresh": {
@@ -2652,9 +2652,9 @@
       }
     },
     "scheduler": {
-      "version": "0.25.0",
-      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz",
-      "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA=="
+      "version": "0.26.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz",
+      "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA=="
     },
     "semver": {
       "version": "6.3.1",
@@ -2687,9 +2687,9 @@
       "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="
     },
     "undici-types": {
-      "version": "6.20.0",
-      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
-      "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="
+      "version": "6.21.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
+      "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="
     },
     "update-browserslist-db": {
       "version": "1.1.1",
@@ -2706,9 +2706,9 @@
       "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw=="
     },
     "vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "requires": {
         "esbuild": "^0.25.0",
         "fsevents": "~2.3.3",
diff --git a/static/code/stackblitz/v8/react/package.json b/static/code/stackblitz/v8/react/package.json
index 5cc21181266..b674fe5e4f4 100644
--- a/static/code/stackblitz/v8/react/package.json
+++ b/static/code/stackblitz/v8/react/package.json
@@ -3,8 +3,8 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
-    "@ionic/react": "8.5.0",
-    "@ionic/react-router": "8.5.0",
+    "@ionic/react": "8.5.3",
+    "@ionic/react-router": "8.5.3",
     "@types/node": "^22.0.0",
     "@types/react": "^19.0.0",
     "@types/react-dom": "^19.0.0",
diff --git a/static/code/stackblitz/v8/vue/package-lock.json b/static/code/stackblitz/v8/vue/package-lock.json
index 80c24e050d1..a95bd685194 100644
--- a/static/code/stackblitz/v8/vue/package-lock.json
+++ b/static/code/stackblitz/v8/vue/package-lock.json
@@ -8,8 +8,8 @@
       "name": "vite-vue-starter",
       "version": "0.0.0",
       "dependencies": {
-        "@ionic/vue": "8.5.0",
-        "@ionic/vue-router": "8.5.0",
+        "@ionic/vue": "8.5.3",
+        "@ionic/vue-router": "8.5.3",
         "vue": "^3.2.25",
         "vue-router": "4.5.0"
       },
@@ -464,9 +464,9 @@
       }
     },
     "node_modules/@ionic/core": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.0.tgz",
-      "integrity": "sha512-4U6I3hGWhHu9YUL5NzwjT6zbcSABTKBMfGRwHw5F3bUsV23w18s4Oku+WZ3aIVhtnMugR0vhYiR1dh94RAKycw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.3.tgz",
+      "integrity": "sha512-AiBK1gpzi9Knd3xbGWkuFja/f8hQTt+FIubdHBcRThUSjzJLgqYsfiSGkcdEAMf/t5mtaqRUUN1UbCcf2Ue9Xg==",
       "dependencies": {
         "@stencil/core": "4.20.0",
         "ionicons": "^7.2.2",
@@ -474,21 +474,21 @@
       }
     },
     "node_modules/@ionic/vue": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.5.0.tgz",
-      "integrity": "sha512-Ax2nbWilU4SDhhvEF6i+S61pa8LYwgFbNmMriv82fs6CfvnBVAcOf3xXTrN1wXPo1Z4/Zw4WogkII0WdQqFHwA==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.5.3.tgz",
+      "integrity": "sha512-9PWdSmo0OhrmqGRRwzkFL1s6oCo5HsgZpiaNaJmUgMW0TtcOL75fDVo3Cyn9Jx7PWeMmKS7nFEx2RMDZqalgHw==",
       "dependencies": {
-        "@ionic/core": "8.5.0",
-        "@stencil/vue-output-target": "0.10.5",
+        "@ionic/core": "8.5.3",
+        "@stencil/vue-output-target": "0.10.7",
         "ionicons": "^7.0.0"
       }
     },
     "node_modules/@ionic/vue-router": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.5.0.tgz",
-      "integrity": "sha512-w+8PNlH2iCnks83i+D46Xmz2J4NhgLM0WM6hy3yHNJGK7eR3MsDH11wYXyNXg5a9aw6HSnyHjH/jPf9+8kgOmg==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.5.3.tgz",
+      "integrity": "sha512-K+N6jAag82xP3BsRund2bhRmTkER/35XnNj+SwC5imLdGoLrl8Q58aQf1/6m5QUYnD2BZScKT5GAgOCXfl4MvQ==",
       "dependencies": {
-        "@ionic/vue": "8.5.0"
+        "@ionic/vue": "8.5.3"
       }
     },
     "node_modules/@jridgewell/sourcemap-codec": {
@@ -756,12 +756,13 @@
       }
     },
     "node_modules/@stencil/vue-output-target": {
-      "version": "0.10.5",
-      "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.10.5.tgz",
-      "integrity": "sha512-Oid81mctAEv5y0Xjl4x92ay+sGMULN0eQ/GOhAva62m/qWKmiII6RrVB+5d3WRaz08inIJkPy3+9WJCR1lL3pA==",
+      "version": "0.10.7",
+      "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.10.7.tgz",
+      "integrity": "sha512-IYxDe+SLCkwhwsWRdynE31rTK1zN3hVwwojQ/V9lrN8Gnx4PTvrUQHiRno9jFo1dk+EaBZWX9gZSmXta0ZaZew==",
       "peerDependencies": {
         "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0",
-        "vue": "^3.4.38"
+        "vue": "^3.4.38",
+        "vue-router": "^4.5.0"
       },
       "peerDependenciesMeta": {
         "@stencil/core": {
@@ -769,6 +770,9 @@
         },
         "vue": {
           "optional": false
+        },
+        "vue-router": {
+          "optional": true
         }
       }
     },
@@ -779,9 +783,9 @@
       "dev": true
     },
     "node_modules/@vitejs/plugin-vue": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
-      "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==",
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
+      "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
       "dev": true,
       "engines": {
         "node": "^18.0.0 || >=20.0.0"
@@ -1240,9 +1244,9 @@
       }
     },
     "node_modules/vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dev": true,
       "dependencies": {
         "esbuild": "^0.25.0",
@@ -1589,9 +1593,9 @@
       "optional": true
     },
     "@ionic/core": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.0.tgz",
-      "integrity": "sha512-4U6I3hGWhHu9YUL5NzwjT6zbcSABTKBMfGRwHw5F3bUsV23w18s4Oku+WZ3aIVhtnMugR0vhYiR1dh94RAKycw==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/core/-/core-8.5.3.tgz",
+      "integrity": "sha512-AiBK1gpzi9Knd3xbGWkuFja/f8hQTt+FIubdHBcRThUSjzJLgqYsfiSGkcdEAMf/t5mtaqRUUN1UbCcf2Ue9Xg==",
       "requires": {
         "@stencil/core": "4.20.0",
         "ionicons": "^7.2.2",
@@ -1599,21 +1603,21 @@
       }
     },
     "@ionic/vue": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.5.0.tgz",
-      "integrity": "sha512-Ax2nbWilU4SDhhvEF6i+S61pa8LYwgFbNmMriv82fs6CfvnBVAcOf3xXTrN1wXPo1Z4/Zw4WogkII0WdQqFHwA==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-8.5.3.tgz",
+      "integrity": "sha512-9PWdSmo0OhrmqGRRwzkFL1s6oCo5HsgZpiaNaJmUgMW0TtcOL75fDVo3Cyn9Jx7PWeMmKS7nFEx2RMDZqalgHw==",
       "requires": {
-        "@ionic/core": "8.5.0",
-        "@stencil/vue-output-target": "0.10.5",
+        "@ionic/core": "8.5.3",
+        "@stencil/vue-output-target": "0.10.7",
         "ionicons": "^7.0.0"
       }
     },
     "@ionic/vue-router": {
-      "version": "8.5.0",
-      "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.5.0.tgz",
-      "integrity": "sha512-w+8PNlH2iCnks83i+D46Xmz2J4NhgLM0WM6hy3yHNJGK7eR3MsDH11wYXyNXg5a9aw6HSnyHjH/jPf9+8kgOmg==",
+      "version": "8.5.3",
+      "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-8.5.3.tgz",
+      "integrity": "sha512-K+N6jAag82xP3BsRund2bhRmTkER/35XnNj+SwC5imLdGoLrl8Q58aQf1/6m5QUYnD2BZScKT5GAgOCXfl4MvQ==",
       "requires": {
-        "@ionic/vue": "8.5.0"
+        "@ionic/vue": "8.5.3"
       }
     },
     "@jridgewell/sourcemap-codec": {
@@ -1760,9 +1764,9 @@
       "integrity": "sha512-WPrTHFngvN081RY+dJPneKQLwnOFD60OMCOQGmmSHfCW0f4ujPMzzhwWU1gcSwXPWXz5O+8cBiiCaxAbJU7kAg=="
     },
     "@stencil/vue-output-target": {
-      "version": "0.10.5",
-      "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.10.5.tgz",
-      "integrity": "sha512-Oid81mctAEv5y0Xjl4x92ay+sGMULN0eQ/GOhAva62m/qWKmiII6RrVB+5d3WRaz08inIJkPy3+9WJCR1lL3pA==",
+      "version": "0.10.7",
+      "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.10.7.tgz",
+      "integrity": "sha512-IYxDe+SLCkwhwsWRdynE31rTK1zN3hVwwojQ/V9lrN8Gnx4PTvrUQHiRno9jFo1dk+EaBZWX9gZSmXta0ZaZew==",
       "requires": {}
     },
     "@types/estree": {
@@ -1772,9 +1776,9 @@
       "dev": true
     },
     "@vitejs/plugin-vue": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
-      "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==",
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz",
+      "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==",
       "dev": true,
       "requires": {}
     },
@@ -2127,9 +2131,9 @@
       "devOptional": true
     },
     "vite": {
-      "version": "6.2.1",
-      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.1.tgz",
-      "integrity": "sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==",
+      "version": "6.2.5",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz",
+      "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==",
       "dev": true,
       "requires": {
         "esbuild": "^0.25.0",
diff --git a/static/code/stackblitz/v8/vue/package.json b/static/code/stackblitz/v8/vue/package.json
index 0c9969c4fe9..9b9ae2b34b5 100644
--- a/static/code/stackblitz/v8/vue/package.json
+++ b/static/code/stackblitz/v8/vue/package.json
@@ -8,8 +8,8 @@
     "preview": "vite preview"
   },
   "dependencies": {
-    "@ionic/vue": "8.5.0",
-    "@ionic/vue-router": "8.5.0",
+    "@ionic/vue": "8.5.3",
+    "@ionic/vue-router": "8.5.3",
     "vue": "^3.2.25",
     "vue-router": "4.5.0"
   },
diff --git a/static/usage/v8/badge/inside-tab-bar/angular/example_component_html.md b/static/usage/v8/badge/inside-tab-bar/angular/example_component_html.md
new file mode 100644
index 00000000000..e300331495d
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/angular/example_component_html.md
@@ -0,0 +1,20 @@
+```html
+
+  
+    
+    Favorites
+    
+  
+
+  
+    
+    Music
+  
+
+  
+    
+    Calendar
+    47
+  
+
+```
diff --git a/static/usage/v8/badge/inside-tab-bar/angular/example_component_ts.md b/static/usage/v8/badge/inside-tab-bar/angular/example_component_ts.md
new file mode 100644
index 00000000000..9454e1984a0
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/angular/example_component_ts.md
@@ -0,0 +1,23 @@
+```ts
+import { Component } from '@angular/core';
+import { IonBadge, IonTabBar, IonTabButton, IonIcon, IonLabel } from '@ionic/angular/standalone';
+import { addIcons } from 'ionicons';
+import { heart, calendar, musicalNote } from 'ionicons/icons';
+
+@Component({
+  selector: 'app-example',
+  templateUrl: 'example.component.html',
+  styleUrls: ['./example.component.css'],
+  imports: [IonBadge, IonTabBar, IonTabButton, IonIcon, IonLabel],
+})
+export class ExampleComponent {
+  constructor() {
+    /**
+     * Any icons you want to use in your application
+     * can be registered in app.component.ts and then
+     * referenced by name anywhere in your application.
+     */
+    addIcons({ heart, calendar, musicalNote });
+  }
+}
+```
diff --git a/static/usage/v8/badge/inside-tab-bar/demo.html b/static/usage/v8/badge/inside-tab-bar/demo.html
new file mode 100644
index 00000000000..dbd8f6c7060
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/demo.html
@@ -0,0 +1,45 @@
+
+
+  
+    
+    
+    Badge
+    
+    
+    
+    
+
+    
+  
+
+  
+    
+      
+        
+          
+            
+              
+              Favorites
+              
+            
+
+            
+              
+              Music
+            
+
+            
+              
+              Calendar
+              47
+            
+          
+        
+      
+    
+  
+
diff --git a/static/usage/v8/badge/inside-tab-bar/index.md b/static/usage/v8/badge/inside-tab-bar/index.md
new file mode 100644
index 00000000000..66e65779a9c
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/index.md
@@ -0,0 +1,24 @@
+import Playground from '@site/src/components/global/Playground';
+
+import javascript from './javascript.md';
+import react from './react.md';
+import vue from './vue.md';
+
+import angular_example_component_html from './angular/example_component_html.md';
+import angular_example_component_ts from './angular/example_component_ts.md';
+
+
diff --git a/static/usage/v8/badge/inside-tab-bar/javascript.md b/static/usage/v8/badge/inside-tab-bar/javascript.md
new file mode 100644
index 00000000000..e300331495d
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/javascript.md
@@ -0,0 +1,20 @@
+```html
+
+  
+    
+    Favorites
+    
+  
+
+  
+    
+    Music
+  
+
+  
+    
+    Calendar
+    47
+  
+
+```
diff --git a/static/usage/v8/badge/inside-tab-bar/react.md b/static/usage/v8/badge/inside-tab-bar/react.md
new file mode 100644
index 00000000000..7ba592426fb
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/react.md
@@ -0,0 +1,29 @@
+```tsx
+import React from 'react';
+import { IonBadge, IonTabBar, IonTabButton, IonIcon, IonLabel } from '@ionic/react';
+import { heart, calendar, musicalNote } from 'ionicons/icons';
+
+function Example() {
+  return (
+    <>
+      
+        
+          
+          Favorites
+          
+        
+        
+          
+          Music
+        
+        
+          
+          Calendar
+          47
+        
+      
+    >
+  );
+}
+export default Example;
+```
diff --git a/static/usage/v8/badge/inside-tab-bar/vue.md b/static/usage/v8/badge/inside-tab-bar/vue.md
new file mode 100644
index 00000000000..3534095941b
--- /dev/null
+++ b/static/usage/v8/badge/inside-tab-bar/vue.md
@@ -0,0 +1,41 @@
+```html
+
+  
+    
+      
+      Favorites
+      
+    
+
+    
+      
+      Music
+    
+
+    
+      
+      Calendar
+      47
+    
+  
+
+
+
+```