diff --git a/package-lock.json b/package-lock.json
index 876e6bef7f..d00f0044e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -51,7 +51,7 @@
         "tributejs": "5.1.3",
         "uint8-to-base64": "0.2.0",
         "vanilla-colorful": "0.7.2",
-        "vue": "3.5.6",
+        "vue": "3.5.8",
         "vue-chartjs": "5.3.1",
         "vue-loader": "17.4.2",
         "vue3-calendar-heatmap": "2.0.5",
@@ -5325,39 +5325,39 @@
       }
     },
     "node_modules/@vue/compiler-core": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.6.tgz",
-      "integrity": "sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.8.tgz",
+      "integrity": "sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==",
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.25.3",
-        "@vue/shared": "3.5.6",
+        "@vue/shared": "3.5.8",
         "entities": "^4.5.0",
         "estree-walker": "^2.0.2",
         "source-map-js": "^1.2.0"
       }
     },
     "node_modules/@vue/compiler-dom": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz",
-      "integrity": "sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.8.tgz",
+      "integrity": "sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-core": "3.5.6",
-        "@vue/shared": "3.5.6"
+        "@vue/compiler-core": "3.5.8",
+        "@vue/shared": "3.5.8"
       }
     },
     "node_modules/@vue/compiler-sfc": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz",
-      "integrity": "sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.8.tgz",
+      "integrity": "sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==",
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.25.3",
-        "@vue/compiler-core": "3.5.6",
-        "@vue/compiler-dom": "3.5.6",
-        "@vue/compiler-ssr": "3.5.6",
-        "@vue/shared": "3.5.6",
+        "@vue/compiler-core": "3.5.8",
+        "@vue/compiler-dom": "3.5.8",
+        "@vue/compiler-ssr": "3.5.8",
+        "@vue/shared": "3.5.8",
         "estree-walker": "^2.0.2",
         "magic-string": "^0.30.11",
         "postcss": "^8.4.47",
@@ -5374,63 +5374,63 @@
       }
     },
     "node_modules/@vue/compiler-ssr": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz",
-      "integrity": "sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.8.tgz",
+      "integrity": "sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-dom": "3.5.6",
-        "@vue/shared": "3.5.6"
+        "@vue/compiler-dom": "3.5.8",
+        "@vue/shared": "3.5.8"
       }
     },
     "node_modules/@vue/reactivity": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.6.tgz",
-      "integrity": "sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.8.tgz",
+      "integrity": "sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==",
       "license": "MIT",
       "dependencies": {
-        "@vue/shared": "3.5.6"
+        "@vue/shared": "3.5.8"
       }
     },
     "node_modules/@vue/runtime-core": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.6.tgz",
-      "integrity": "sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.8.tgz",
+      "integrity": "sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==",
       "license": "MIT",
       "dependencies": {
-        "@vue/reactivity": "3.5.6",
-        "@vue/shared": "3.5.6"
+        "@vue/reactivity": "3.5.8",
+        "@vue/shared": "3.5.8"
       }
     },
     "node_modules/@vue/runtime-dom": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.6.tgz",
-      "integrity": "sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.8.tgz",
+      "integrity": "sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==",
       "license": "MIT",
       "dependencies": {
-        "@vue/reactivity": "3.5.6",
-        "@vue/runtime-core": "3.5.6",
-        "@vue/shared": "3.5.6",
+        "@vue/reactivity": "3.5.8",
+        "@vue/runtime-core": "3.5.8",
+        "@vue/shared": "3.5.8",
         "csstype": "^3.1.3"
       }
     },
     "node_modules/@vue/server-renderer": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.6.tgz",
-      "integrity": "sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.8.tgz",
+      "integrity": "sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-ssr": "3.5.6",
-        "@vue/shared": "3.5.6"
+        "@vue/compiler-ssr": "3.5.8",
+        "@vue/shared": "3.5.8"
       },
       "peerDependencies": {
-        "vue": "3.5.6"
+        "vue": "3.5.8"
       }
     },
     "node_modules/@vue/shared": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.6.tgz",
-      "integrity": "sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.8.tgz",
+      "integrity": "sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==",
       "license": "MIT"
     },
     "node_modules/@vue/test-utils": {
@@ -16343,16 +16343,16 @@
       "license": "MIT"
     },
     "node_modules/vue": {
-      "version": "3.5.6",
-      "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.6.tgz",
-      "integrity": "sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==",
+      "version": "3.5.8",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.8.tgz",
+      "integrity": "sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-dom": "3.5.6",
-        "@vue/compiler-sfc": "3.5.6",
-        "@vue/runtime-dom": "3.5.6",
-        "@vue/server-renderer": "3.5.6",
-        "@vue/shared": "3.5.6"
+        "@vue/compiler-dom": "3.5.8",
+        "@vue/compiler-sfc": "3.5.8",
+        "@vue/runtime-dom": "3.5.8",
+        "@vue/server-renderer": "3.5.8",
+        "@vue/shared": "3.5.8"
       },
       "peerDependencies": {
         "typescript": "*"
diff --git a/package.json b/package.json
index c22a9af1e2..fd083ea6f4 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,7 @@
     "tributejs": "5.1.3",
     "uint8-to-base64": "0.2.0",
     "vanilla-colorful": "0.7.2",
-    "vue": "3.5.6",
+    "vue": "3.5.8",
     "vue-chartjs": "5.3.1",
     "vue-loader": "17.4.2",
     "vue3-calendar-heatmap": "2.0.5",