From 0dd9a868eb3d708d85e05a5d71fd7c04b744547a Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 16 Mar 2023 16:31:44 -0400 Subject: [PATCH 01/13] fix: add spacing underneath tooltip --- src/components/TheSnackBar.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/TheSnackBar.vue b/src/components/TheSnackBar.vue index 138fd98..249d986 100644 --- a/src/components/TheSnackBar.vue +++ b/src/components/TheSnackBar.vue @@ -7,6 +7,7 @@ :timeout='timeoutValue' :top='position.y === "top"' class='ma-0 pa-0' + content-class='tooltip_bottom' > \ No newline at end of file From 4709949df9c6d1bd26c4c4feb78f3770db1cd4b8 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 11 May 2023 09:11:54 -0400 Subject: [PATCH 02/13] chore: dependencies updated --- package-lock.json | 1053 +++++++++++++++++++------------------- package.json | 48 +- env.d.ts => src/env.d.ts | 0 tsconfig.config.json | 10 +- tsconfig.json | 42 +- 5 files changed, 569 insertions(+), 584 deletions(-) rename env.d.ts => src/env.d.ts (100%) diff --git a/package-lock.json b/package-lock.json index c50ee04..86593e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,46 +1,46 @@ { "name": "staticpi-vue", - "version": "0.1.2", + "version": "0.1.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "staticpi-vue", - "version": "0.1.2", - "dependencies": { - "@vuelidate/core": "^2.0.0", - "@vuelidate/validators": "^2.0.0", - "@vueuse/core": "^9.13.0", - "@vueuse/head": "^1.1.23", - "axios": "^1.3.4", - "hibp": "^12.0.0", - "pinia": "^2.0.33", + "version": "0.1.3", + "dependencies": { + "@vuelidate/core": "^2.0.2", + "@vuelidate/validators": "^2.0.2", + "@vueuse/core": "^10.1.2", + "@vueuse/head": "^1.1.26", + "axios": "^1.4.0", + "hibp": "^13.0.0", + "pinia": "^2.0.36", "pinia-plugin-persistedstate": "^3.1.0", "prismjs": "^1.29.0", - "qrcode.vue": "^3.3.4", + "qrcode.vue": "^3.4.0", "secure-json-parse": "^2.7.0", - "vue": "^3.2.47", - "vue-router": "^4.1.6", - "vuetify": "^3.1.8" + "vue": "^3.3.1", + "vue-router": "^4.2.0", + "vuetify": "^3.2.3" }, "devDependencies": { - "@mdi/js": "^7.1.96", - "@types/node": "^18.15.1", + "@mdi/js": "^7.2.96", + "@types/node": "^20.1.2", "@types/prismjs": "^1.26.0", "@types/secure-json-parse": "^1.0.3", - "@vitejs/plugin-vue": "^4.0.0", - "@vue/eslint-config-typescript": "^11.0.2", - "@vue/tsconfig": "^0.1.3", - "eslint": "^8.36.0", - "eslint-plugin-vue": "^9.9.0", - "sass": "^1.59.2", - "typescript": "^4.9.5", - "unplugin-auto-import": "^0.15.1", - "vite": "^4.1.4", + "@vitejs/plugin-vue": "^4.2.2", + "@vue/eslint-config-typescript": "^11.0.3", + "@vue/tsconfig": "^0.3.2", + "eslint": "^8.40.0", + "eslint-plugin-vue": "^9.12.0", + "sass": "^1.62.1", + "typescript": "^5.0.4", + "unplugin-auto-import": "^0.15.3", + "vite": "^4.3.5", "vite-plugin-compression": "^0.5.1", - "vite-plugin-pwa": "^0.14.4", + "vite-plugin-pwa": "^0.14.7", "vite-plugin-vuetify": "^1.0.2", - "vue-tsc": "^1.2.0" + "vue-tsc": "^1.6.4" } }, "node_modules/@ampproject/remapping": { @@ -608,9 +608,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.13", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz", - "integrity": "sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==", + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1803,9 +1803,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.11.tgz", + "integrity": "sha512-CdyX6sRVh1NzFCsf5vw3kULwlAhfy9wVt8SZlrhQ7eL2qBjGbFhRBWkkAzuZm9IIEOCKJw4DXA6R85g+qc8RDw==", "cpu": [ "arm" ], @@ -1818,9 +1818,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.11.tgz", + "integrity": "sha512-QnK4d/zhVTuV4/pRM4HUjcsbl43POALU2zvBynmrrqZt9LPcLA3x1fTZPBg2RRguBQnJcnU059yKr+bydkntjg==", "cpu": [ "arm64" ], @@ -1833,9 +1833,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.11.tgz", + "integrity": "sha512-3PL3HKtsDIXGQcSCKtWD/dy+mgc4p2Tvo2qKgKHj9Yf+eniwFnuoQ0OUhlSfAEpKAFzF9N21Nwgnap6zy3L3MQ==", "cpu": [ "x64" ], @@ -1848,9 +1848,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.11.tgz", + "integrity": "sha512-pJ950bNKgzhkGNO3Z9TeHzIFtEyC2GDQL3wxkMApDEghYx5Qers84UTNc1bAxWbRkuJOgmOha5V0WUeh8G+YGw==", "cpu": [ "arm64" ], @@ -1863,9 +1863,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.11.tgz", + "integrity": "sha512-iB0dQkIHXyczK3BZtzw1tqegf0F0Ab5texX2TvMQjiJIWXAfM4FQl7D909YfXWnB92OQz4ivBYQ2RlxBJrMJOw==", "cpu": [ "x64" ], @@ -1878,9 +1878,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.11.tgz", + "integrity": "sha512-7EFzUADmI1jCHeDRGKgbnF5sDIceZsQGapoO6dmw7r/ZBEKX7CCDnIz8m9yEclzr7mFsd+DyasHzpjfJnmBB1Q==", "cpu": [ "arm64" ], @@ -1893,9 +1893,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.11.tgz", + "integrity": "sha512-iPgenptC8i8pdvkHQvXJFzc1eVMR7W2lBPrTE6GbhR54sLcF42mk3zBOjKPOodezzuAz/KSu8CPyFSjcBMkE9g==", "cpu": [ "x64" ], @@ -1908,9 +1908,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.11.tgz", + "integrity": "sha512-M9iK/d4lgZH0U5M1R2p2gqhPV/7JPJcRz+8O8GBKVgqndTzydQ7B2XGDbxtbvFkvIs53uXTobOhv+RyaqhUiMg==", "cpu": [ "arm" ], @@ -1923,9 +1923,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.11.tgz", + "integrity": "sha512-Qxth3gsWWGKz2/qG2d5DsW/57SeA2AmpSMhdg9TSB5Svn2KDob3qxfQSkdnWjSd42kqoxIPy3EJFs+6w1+6Qjg==", "cpu": [ "arm64" ], @@ -1938,9 +1938,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.11.tgz", + "integrity": "sha512-dB1nGaVWtUlb/rRDHmuDQhfqazWE0LMro/AIbT2lWM3CDMHJNpLckH+gCddQyhhcLac2OYw69ikUMO34JLt3wA==", "cpu": [ "ia32" ], @@ -1953,9 +1953,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.11.tgz", + "integrity": "sha512-aCWlq70Q7Nc9WDnormntGS1ar6ZFvUpqr8gXtO+HRejRYPweAFQN615PcgaSJkZjhHp61+MNLhzyVALSF2/Q0g==", "cpu": [ "loong64" ], @@ -1968,9 +1968,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.11.tgz", + "integrity": "sha512-cGeGNdQxqY8qJwlYH1BP6rjIIiEcrM05H7k3tR7WxOLmD1ZxRMd6/QIOWMb8mD2s2YJFNRuNQ+wjMhgEL2oCEw==", "cpu": [ "mips64el" ], @@ -1983,9 +1983,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.11.tgz", + "integrity": "sha512-BdlziJQPW/bNe0E8eYsHB40mYOluS+jULPCjlWiHzDgr+ZBRXPtgMV1nkLEGdpjrwgmtkZHEGEPaKdS/8faLDA==", "cpu": [ "ppc64" ], @@ -1998,9 +1998,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.11.tgz", + "integrity": "sha512-MDLwQbtF+83oJCI1Cixn68Et/ME6gelmhssPebC40RdJaect+IM+l7o/CuG0ZlDs6tZTEIoxUe53H3GmMn8oMA==", "cpu": [ "riscv64" ], @@ -2013,9 +2013,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.11.tgz", + "integrity": "sha512-4N5EMESvws0Ozr2J94VoUD8HIRi7X0uvUv4c0wpTHZyZY9qpaaN7THjosdiW56irQ4qnJ6Lsc+i+5zGWnyqWqQ==", "cpu": [ "s390x" ], @@ -2028,9 +2028,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.11.tgz", + "integrity": "sha512-rM/v8UlluxpytFSmVdbCe1yyKQd/e+FmIJE2oPJvbBo+D0XVWi1y/NQ4iTNx+436WmDHQBjVLrbnAQLQ6U7wlw==", "cpu": [ "x64" ], @@ -2043,9 +2043,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.11.tgz", + "integrity": "sha512-4WaAhuz5f91h3/g43VBGdto1Q+X7VEZfpcWGtOFXnggEuLvjV+cP6DyLRU15IjiU9fKLLk41OoJfBFN5DhPvag==", "cpu": [ "x64" ], @@ -2058,9 +2058,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.11.tgz", + "integrity": "sha512-UBj135Nx4FpnvtE+C8TWGp98oUgBcmNmdYgl5ToKc0mBHxVVqVE7FUS5/ELMImOp205qDAittL6Ezhasc2Ev/w==", "cpu": [ "x64" ], @@ -2073,9 +2073,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.11.tgz", + "integrity": "sha512-1/gxTifDC9aXbV2xOfCbOceh5AlIidUrPsMpivgzo8P8zUtczlq1ncFpeN1ZyQJ9lVs2hILy1PG5KPp+w8QPPg==", "cpu": [ "x64" ], @@ -2088,9 +2088,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.11.tgz", + "integrity": "sha512-vtSfyx5yRdpiOW9yp6Ax0zyNOv9HjOAw8WaZg3dF5djEHKKm3UnoohftVvIJtRh0Ec7Hso0RIdTqZvPXJ7FdvQ==", "cpu": [ "arm64" ], @@ -2103,9 +2103,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.11.tgz", + "integrity": "sha512-GFPSLEGQr4wHFTiIUJQrnJKZhZjjq4Sphf+mM76nQR6WkQn73vm7IsacmBRPkALfpOCHsopSvLgqdd4iUW2mYw==", "cpu": [ "ia32" ], @@ -2118,9 +2118,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.11.tgz", + "integrity": "sha512-N9vXqLP3eRL8BqSy8yn4Y98cZI2pZ8fyuHx6lKjiG2WABpT2l01TXdzq5Ma2ZUBzfB7tx5dXVhge8X9u0S70ZQ==", "cpu": [ "x64" ], @@ -2133,9 +2133,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz", - "integrity": "sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" @@ -2157,14 +2157,14 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.1.tgz", - "integrity": "sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.0", + "espree": "^9.5.2", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2180,9 +2180,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.36.0.tgz", - "integrity": "sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", + "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2279,8 +2279,7 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.14", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "devOptional": true + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.17", @@ -2293,9 +2292,9 @@ } }, "node_modules/@mdi/js": { - "version": "7.1.96", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.1.96.tgz", - "integrity": "sha512-wlrJs6Ryhaa5CqhK3FjTfMRnb/s7HeLkKMFqwQySkK86cdN1TGdzpSM3O4tsmzCA1dYBeTbXvOwSE/Y42cUrvA==", + "version": "7.2.96", + "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.2.96.tgz", + "integrity": "sha512-paR9M9ZT7rKbh2boksNUynuSZMHhqRYnEZOm/KrZTjQ4/FzyhjLHuvw/8XYzP+E7fS4+/Ms/82EN1pl/OFsiIA==", "dev": true }, "node_modules/@nodelib/fs.scandir": { @@ -2505,9 +2504,9 @@ } }, "node_modules/@remix-run/web-fetch": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.3.2.tgz", - "integrity": "sha512-aRNaaa0Fhyegv/GkJ/qsxMhXvyWGjPNgCKrStCvAvV1XXphntZI0nQO/Fl02LIQg3cGL8lDiOXOS1gzqDOlG5w==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.3.4.tgz", + "integrity": "sha512-AUM1XBa4hcgeNt2CD86OlB5aDLlqdMl0uJ+89R8dPGx07I5BwMXnbopCaPAkvSBIoHeT/IoLWIuZrLi7RvXS+Q==", "dependencies": { "@remix-run/web-blob": "^3.0.4", "@remix-run/web-form-data": "^3.0.3", @@ -2614,9 +2613,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.15.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.1.tgz", - "integrity": "sha512-U2TWca8AeHSmbpi314QBESRk7oPjSZjDsR+c+H4ECC1l+kFgpZf8Ydhv3SJpPy51VyZHHqxlb6mTTqYNNRVAIw==", + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz", + "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g==", "devOptional": true }, "node_modules/@types/prismjs": { @@ -2653,23 +2652,24 @@ "dev": true }, "node_modules/@types/web-bluetooth": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz", - "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==" + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", + "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz", - "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz", + "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/type-utils": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.1", + "@typescript-eslint/type-utils": "5.59.1", + "@typescript-eslint/utils": "5.59.1", "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" }, @@ -2691,14 +2691,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz", - "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz", + "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.59.1", + "@typescript-eslint/types": "5.59.1", + "@typescript-eslint/typescript-estree": "5.59.1", "debug": "^4.3.4" }, "engines": { @@ -2718,13 +2718,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz", - "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz", + "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0" + "@typescript-eslint/types": "5.59.1", + "@typescript-eslint/visitor-keys": "5.59.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2735,13 +2735,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz", - "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz", + "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.49.0", - "@typescript-eslint/utils": "5.49.0", + "@typescript-eslint/typescript-estree": "5.59.1", + "@typescript-eslint/utils": "5.59.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2762,9 +2762,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz", - "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz", + "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2775,13 +2775,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz", - "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz", + "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/visitor-keys": "5.49.0", + "@typescript-eslint/types": "5.59.1", + "@typescript-eslint/visitor-keys": "5.59.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2802,18 +2802,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz", - "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz", + "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.49.0", - "@typescript-eslint/types": "5.49.0", - "@typescript-eslint/typescript-estree": "5.49.0", + "@typescript-eslint/scope-manager": "5.59.1", + "@typescript-eslint/types": "5.59.1", + "@typescript-eslint/typescript-estree": "5.59.1", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" }, "engines": { @@ -2828,12 +2828,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz", - "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==", + "version": "5.59.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz", + "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.49.0", + "@typescript-eslint/types": "5.59.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2845,23 +2845,23 @@ } }, "node_modules/@unhead/dom": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.1.23.tgz", - "integrity": "sha512-Ofa427IF7tMhL/Qw4JzlAbRVBnQjURZONcjhGHVOCoNLU+GAKfbDLBpR2r3kXQFFcv2aDKygoSVyxU6R0cLptw==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.1.26.tgz", + "integrity": "sha512-6I8z170OAO19h/AslASN4Xw0hqItQFMKhRJQtplQs1BZ62LsDmNKuqJiYueX39U+IfIvIV3j/q1mQwt9lgMwTw==", "dependencies": { - "@unhead/schema": "1.1.23", - "@unhead/shared": "1.1.23" + "@unhead/schema": "1.1.26", + "@unhead/shared": "1.1.26" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, "node_modules/@unhead/schema": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.1.23.tgz", - "integrity": "sha512-ens8dY3ji8xLVutrcLnNmWq4dpBQIzvSHBr6yZqj7mF8RORXYNwJsY0LRAyAgTyv9aD5aEVpQIiz9s4f2+Nncg==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.1.26.tgz", + "integrity": "sha512-l93zaizm+pu36uMssdtzSC2Y61ncZaBBouZn0pB8rVI14V0hPxeXuSNIuPh2WjAm8wfb8EnCSE3LNguoqTar7g==", "dependencies": { - "hookable": "^5.4.2", + "hookable": "^5.5.3", "zhead": "^2.0.4" }, "funding": { @@ -2869,37 +2869,37 @@ } }, "node_modules/@unhead/shared": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.1.23.tgz", - "integrity": "sha512-6uFEn/DRainxc3IE+RTMV6AK4Xi8osg7qAUAVMz3KpF0EoHzGbBjVBuSrkf7CnrE9Eg+/QYGLdwTvONJHCcYOA==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.1.26.tgz", + "integrity": "sha512-gnUfNrl8w7hQHke9P0au7klcG9bHVOXqbDvya2uARA/8TyxNz87i0uakraO+P6/+zf484dw3b3MYkXq0thK2eg==", "dependencies": { - "@unhead/schema": "1.1.23" + "@unhead/schema": "1.1.26" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, "node_modules/@unhead/ssr": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.1.23.tgz", - "integrity": "sha512-msxPjkHG2TtgTCRBFjTTTVHPOgGSmNtQCz3zjN1xxY1BRb7NdUN6Yure85qNt+yNUtcQ5C45NmJIxdNDjrJhlQ==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.1.26.tgz", + "integrity": "sha512-KYJDGgVNtU2i+NHu17o2zFXqsoLukOFEz81XrWQ8nQdY5+VNjy7IiTLp1dlx3umn1ohZjHySz4LXQCT4zUApSw==", "dependencies": { - "@unhead/schema": "1.1.23", - "@unhead/shared": "1.1.23" + "@unhead/schema": "1.1.26", + "@unhead/shared": "1.1.26" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" } }, "node_modules/@unhead/vue": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.1.23.tgz", - "integrity": "sha512-v693TmDYIZyVkZBW+YGyy4Zgl78gQZby84yXpok+E9tmqg2POQ9oG0ILdPNdlwLfWeSrhb8dTahWb68v608LdA==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.1.26.tgz", + "integrity": "sha512-UpxQ0KGmOoiN+Dg19zto5KTcnGV5chBmgiVJTDqUF4BPfr24vRrR65sZGdMoNV7weuD3AD/K0osk2ru+vXxRrA==", "dependencies": { - "@unhead/schema": "1.1.23", - "@unhead/shared": "1.1.23", - "hookable": "^5.4.2", - "unhead": "1.1.23" + "@unhead/schema": "1.1.26", + "@unhead/shared": "1.1.26", + "hookable": "^5.5.3", + "unhead": "1.1.26" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -2909,9 +2909,9 @@ } }, "node_modules/@vitejs/plugin-vue": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz", - "integrity": "sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.2.tgz", + "integrity": "sha512-kNH4wMAqs13UiZe/2If1ioO0Mjz71rr2oALTl2c5ajBIox9Vz/UGW/wGkr7GA3SC6Eb29c1HtzAtxdGfbXAkfQ==", "dev": true, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -2922,45 +2922,48 @@ } }, "node_modules/@volar/language-core": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.3.0-alpha.0.tgz", - "integrity": "sha512-W3uMzecHPcbwddPu4SJpUcPakRBK/y/BP+U0U6NiPpUX1tONLC4yCawt+QBJqtgJ+sfD6ztf5PyvPL3hQRqfOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.4.1.tgz", + "integrity": "sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==", "dev": true, "dependencies": { - "@volar/source-map": "1.3.0-alpha.0" + "@volar/source-map": "1.4.1" } }, "node_modules/@volar/source-map": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.3.0-alpha.0.tgz", - "integrity": "sha512-jSdizxWFvDTvkPYZnO6ew3sBZUnS0abKCbuopkc0JrIlFbznWC/fPH3iPFIMS8/IIkRxq1Jh9VVG60SmtsdaMQ==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.4.1.tgz", + "integrity": "sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==", "dev": true, "dependencies": { "muggle-string": "^0.2.2" } }, "node_modules/@volar/typescript": { - "version": "1.3.0-alpha.0", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.3.0-alpha.0.tgz", - "integrity": "sha512-5UItyW2cdH2mBLu4RrECRNJRgtvvzKrSCn2y3v/D61QwIDkGx4aeil6x8RFuUL5TFtV6QvVHXnsOHxNgd+sCow==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.4.1.tgz", + "integrity": "sha512-phTy6p9yG6bgMIKQWEeDOi/aeT0njZsb1a/G1mrEuDsLmAn24Le4gDwSsGNhea6Uhu+3gdpUZn2PmZXa+WG2iQ==", "dev": true, "dependencies": { - "@volar/language-core": "1.3.0-alpha.0" + "@volar/language-core": "1.4.1" + }, + "peerDependencies": { + "typescript": "*" } }, "node_modules/@volar/vue-language-core": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.2.0.tgz", - "integrity": "sha512-w7yEiaITh2WzKe6u8ZdeLKCUz43wdmY/OqAmsB/PGDvvhTcVhCJ6f0W/RprZL1IhqH8wALoWiwEh/Wer7ZviMQ==", - "dev": true, - "dependencies": { - "@volar/language-core": "1.3.0-alpha.0", - "@volar/source-map": "1.3.0-alpha.0", - "@vue/compiler-dom": "^3.2.47", - "@vue/compiler-sfc": "^3.2.47", - "@vue/reactivity": "^3.2.47", - "@vue/shared": "^3.2.47", - "minimatch": "^6.1.6", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@volar/vue-language-core/-/vue-language-core-1.6.4.tgz", + "integrity": "sha512-1o+cAtN2DIDNAX/HS8rkjZc8wTMTK+zCab/qtYbvEVlmokhZiDrQeoD9/l0Ug7YCNg+mVuMNHKNBY7pX8U2/Jw==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.4.1", + "@volar/source-map": "1.4.1", + "@vue/compiler-dom": "^3.3.0-beta.3", + "@vue/compiler-sfc": "^3.3.0-beta.3", + "@vue/reactivity": "^3.3.0-beta.3", + "@vue/shared": "^3.3.0-beta.3", + "minimatch": "^9.0.0", "muggle-string": "^0.2.2", "vue-template-compiler": "^2.7.14" } @@ -2975,82 +2978,88 @@ } }, "node_modules/@volar/vue-language-core/node_modules/minimatch": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-6.2.0.tgz", - "integrity": "sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@volar/vue-typescript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.2.0.tgz", - "integrity": "sha512-zjmRi9y3J1EkG+pfuHp8IbHmibihrKK485cfzsHjiuvJMGrpkWvlO5WVEk8oslMxxeGC5XwBFE9AOlvh378EPA==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/@volar/vue-typescript/-/vue-typescript-1.6.4.tgz", + "integrity": "sha512-qKwgP0KVQR/aaH/SN3AP7RB8NnXPWDn3tjyXP6IT6etxkDeZLBLsXWUD9KMak/RvV1DgbXDuz4F9yuZlbt29rA==", "dev": true, "dependencies": { - "@volar/typescript": "1.3.0-alpha.0", - "@volar/vue-language-core": "1.2.0" + "@volar/typescript": "1.4.1", + "@volar/vue-language-core": "1.6.4" + }, + "peerDependencies": { + "typescript": "*" } }, "node_modules/@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.1.tgz", + "integrity": "sha512-5le1qYSBgLWg2jdLrbydlhnPJkkzMw46UrRUvTnOKlfg6pThtm9ohhqBhNPHbr0RcM1MCbK5WZe/3Ghz0SZjpQ==", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.21.3", + "@vue/shared": "3.3.1", "estree-walker": "^2.0.2", - "source-map": "^0.6.1" + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.1.tgz", + "integrity": "sha512-VmgIsoLivCft3+oNc5KM7b9wd0nZxP/g2qilMwi1hJyGA624KWnNKHn4hzBQs4FpzydUVpNy+TWVT8KiRCh3MQ==", "dependencies": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-core": "3.3.1", + "@vue/shared": "3.3.1" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.1.tgz", + "integrity": "sha512-G+FPwBbXSLaA4+Ry5/bdD9Oda+sRslQcE9o6JSZaougRiT4OjVL0vtkbQHPrGRTULZV28OcrAjRfSZOSB0OTXQ==", + "dependencies": { + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.1", + "@vue/compiler-dom": "3.3.1", + "@vue/compiler-ssr": "3.3.1", + "@vue/reactivity-transform": "3.3.1", + "@vue/shared": "3.3.1", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", + "magic-string": "^0.30.0", "postcss": "^8.1.10", - "source-map": "^0.6.1" + "source-map-js": "^1.0.2" } }, "node_modules/@vue/compiler-sfc/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.1.tgz", + "integrity": "sha512-QOQWGNCWuSeyKx4KvWSJlnIMGg+/2oCHgkFUYo7aJ+9Uaaz45yRgKQ+FNigy50NYBQIhpXn2e4OSR8GXh4knrQ==", "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.3.1", + "@vue/shared": "3.3.1" } }, "node_modules/@vue/devtools-api": { @@ -3059,14 +3068,14 @@ "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" }, "node_modules/@vue/eslint-config-typescript": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.2.tgz", - "integrity": "sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==", + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz", + "integrity": "sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "vue-eslint-parser": "^9.0.0" + "@typescript-eslint/eslint-plugin": "^5.59.1", + "@typescript-eslint/parser": "^5.59.1", + "vue-eslint-parser": "^9.1.1" }, "engines": { "node": "^14.17.0 || >=16.0.0" @@ -3083,87 +3092,82 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", - "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.1.tgz", + "integrity": "sha512-zCfmazOtyUdC1NS/EPiSYJ4RqojqmTAviJyBbyVvY8zAv5NhK44Yfw0E1tt+m5vz0ZO1ptI9jDKBr3MWIEkpgw==", "dependencies": { - "@vue/shared": "3.2.47" + "@vue/shared": "3.3.1" } }, "node_modules/@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.1.tgz", + "integrity": "sha512-MkOrJauAGH4MNdxGW/PmrDegMyOGX0wGIdKUZJRBXOTpotDONg7/TPJe2QeGeBCow/5v9iOqZOWCfvmOWIaDMg==", "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", + "@babel/parser": "^7.20.15", + "@vue/compiler-core": "3.3.1", + "@vue/shared": "3.3.1", "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" + "magic-string": "^0.30.0" } }, "node_modules/@vue/reactivity-transform/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", "dependencies": { - "sourcemap-codec": "^1.4.8" + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" } }, "node_modules/@vue/runtime-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", - "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.1.tgz", + "integrity": "sha512-Ljb37LYafhQqKIasc0r32Cva8gIh6VeSMjlwO6V03tCjHd18gmjP0F4UD+8/a59sGTysAgA8Rb9lIC2DVxRz2Q==", "dependencies": { - "@vue/reactivity": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/reactivity": "3.3.1", + "@vue/shared": "3.3.1" } }, "node_modules/@vue/runtime-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", - "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.1.tgz", + "integrity": "sha512-NBjYbQPtMklb7lsJsM2Juv5Ygry6mvZP7PdH1GZqrzfLkvlplQT3qCtQMd/sib6yiy8t9m/Y4hVU7X9nzb9Oeg==", "dependencies": { - "@vue/runtime-core": "3.2.47", - "@vue/shared": "3.2.47", - "csstype": "^2.6.8" + "@vue/runtime-core": "3.3.1", + "@vue/shared": "3.3.1", + "csstype": "^3.1.1" } }, "node_modules/@vue/server-renderer": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", - "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.1.tgz", + "integrity": "sha512-sod8ggOwbkQXw3lBjfzrbdxRS9lw/lNHoMaXghHawNYowf+4WoaLWD5ouz6fPZadUqNKAsqK95p8DYb1vcVfPA==", "dependencies": { - "@vue/compiler-ssr": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-ssr": "3.3.1", + "@vue/shared": "3.3.1" }, "peerDependencies": { - "vue": "3.2.47" + "vue": "3.3.1" } }, "node_modules/@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==" + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.1.tgz", + "integrity": "sha512-ybDBtQ+479HL/bkeIOIAwgpeAEACzztkvulJLbK3JMFuTOv4qDivmV3AIsR8RHYJ+RD9tQxcHWBsX4GqEcYrfw==" }, "node_modules/@vue/tsconfig": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz", - "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==", - "dev": true, - "peerDependencies": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.3.2.tgz", + "integrity": "sha512-jWzZbGyrZAEbHYGn0kPzJ+MMtIkIxb0+hL5+RghBowyOxMRs9jMdp5XvpXz3wgCzjRZiUucy29042HBe9cxoYA==", + "dev": true }, "node_modules/@vuelidate/core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.0.tgz", - "integrity": "sha512-xIFgdQlScO0aaSZ0wTGPJh8YcTMNAj5veI8yPgiAyxOT+GV7vNQFiU1vpYWCL4cklkkhYvRRSC2OEX7YOZNmPQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.2.tgz", + "integrity": "sha512-aG1OZWv6xVws3ljyKy/pyxq1rdZZ2ryj+FEREcC9d4GP4qOvNHHZUl/NQxa0Bck3Ooc0RfXU8vwCA9piRoWy6w==", "dependencies": { "vue-demi": "^0.13.11" }, @@ -3203,9 +3207,9 @@ } }, "node_modules/@vuelidate/validators": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0.tgz", - "integrity": "sha512-fQQcmDWfz7pyH5/JPi0Ng2GEgNK1pUHn/Z/j5rG/Q+HwhgIXvJblTPcZwKOj1ABL7V4UVuGKECvZCDHNGOwdrg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.2.tgz", + "integrity": "sha512-6y6QLoK567XVmaLP3Paf1vkg6K2zO6xax3yTyczy1RnJ4PsLDLLGzP1PFzSpwb16aw4CKduBgI63HvIuctJhQg==", "dependencies": { "vue-demi": "^0.13.11" }, @@ -3259,23 +3263,23 @@ } }, "node_modules/@vueuse/core": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz", - "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.1.2.tgz", + "integrity": "sha512-roNn8WuerI56A5uiTyF/TEYX0Y+VKlhZAF94unUfdhbDUI+NfwQMn4FUnUscIRUhv3344qvAghopU4bzLPNFlA==", "dependencies": { - "@types/web-bluetooth": "^0.0.16", - "@vueuse/metadata": "9.13.0", - "@vueuse/shared": "9.13.0", - "vue-demi": "*" + "@types/web-bluetooth": "^0.0.17", + "@vueuse/metadata": "10.1.2", + "@vueuse/shared": "10.1.2", + "vue-demi": ">=0.14.0" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.0.tgz", + "integrity": "sha512-gt58r2ogsNQeVoQ3EhoUAvUsH9xviydl0dWJj7dabBC/2L4uBId7ujtCwDRD0JhkGsV1i0CtfLAeyYKBht9oWg==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -3298,42 +3302,42 @@ } }, "node_modules/@vueuse/head": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-1.1.23.tgz", - "integrity": "sha512-bJiiQXrICvCI740jR2CLK+FhXyvMx2dIfyeF3FdOsYJn6OtexdBI2wchyuKNYmiAQ8cibAHxmDUytAFqIdIRJg==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-1.1.26.tgz", + "integrity": "sha512-VUrqvcxKtxt2moKtUa7R/KscnDsNYj5u7HFULLsr84VhWsztzBedxW/8Wh/kTz2+/eMf5gC1KtkZBTFQYOmauQ==", "dependencies": { - "@unhead/dom": "^1.1.23", - "@unhead/schema": "^1.1.23", - "@unhead/ssr": "^1.1.23", - "@unhead/vue": "^1.1.23" + "@unhead/dom": "^1.1.26", + "@unhead/schema": "^1.1.26", + "@unhead/ssr": "^1.1.26", + "@unhead/vue": "^1.1.26" }, "peerDependencies": { "vue": ">=2.7 || >=3" } }, "node_modules/@vueuse/metadata": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz", - "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.1.2.tgz", + "integrity": "sha512-3mc5BqN9aU2SqBeBuWE7ne4OtXHoHKggNgxZR2K+zIW4YLsy6xoZ4/9vErQs6tvoKDX6QAqm3lvsrv0mczAwIQ==", "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared": { - "version": "9.13.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz", - "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.1.2.tgz", + "integrity": "sha512-1uoUTPBlgyscK9v6ScGeVYDDzlPSFXBlxuK7SfrDGyUTBiznb3mNceqhwvZHjtDRELZEN79V5uWPTF1VDV8svA==", "dependencies": { - "vue-demi": "*" + "vue-demi": ">=0.14.0" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.1.tgz", + "integrity": "sha512-rt+yuCtXvscYot9SQQj3WKZJVSriPNqVkpVBNEHPzSgBv7QIYzsS410VqVgvx8f9AAPgjg+XPKvmV3vOqqkJQQ==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -3512,9 +3516,9 @@ } }, "node_modules/axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -3922,9 +3926,9 @@ } }, "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/data-uri-to-buffer": { "version": "3.0.1", @@ -4177,9 +4181,9 @@ } }, "node_modules/esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "version": "0.17.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.11.tgz", + "integrity": "sha512-pAMImyokbWDtnA/ufPxjQg0fYo2DDuzAlqwnDvbXqHLphe+m80eF++perYKVm8LeTuj2zUuFXC+xgSVxyoHUdg==", "devOptional": true, "hasInstallScript": true, "bin": { @@ -4189,28 +4193,28 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "@esbuild/android-arm": "0.17.11", + "@esbuild/android-arm64": "0.17.11", + "@esbuild/android-x64": "0.17.11", + "@esbuild/darwin-arm64": "0.17.11", + "@esbuild/darwin-x64": "0.17.11", + "@esbuild/freebsd-arm64": "0.17.11", + "@esbuild/freebsd-x64": "0.17.11", + "@esbuild/linux-arm": "0.17.11", + "@esbuild/linux-arm64": "0.17.11", + "@esbuild/linux-ia32": "0.17.11", + "@esbuild/linux-loong64": "0.17.11", + "@esbuild/linux-mips64el": "0.17.11", + "@esbuild/linux-ppc64": "0.17.11", + "@esbuild/linux-riscv64": "0.17.11", + "@esbuild/linux-s390x": "0.17.11", + "@esbuild/linux-x64": "0.17.11", + "@esbuild/netbsd-x64": "0.17.11", + "@esbuild/openbsd-x64": "0.17.11", + "@esbuild/sunos-x64": "0.17.11", + "@esbuild/win32-arm64": "0.17.11", + "@esbuild/win32-ia32": "0.17.11", + "@esbuild/win32-x64": "0.17.11" } }, "node_modules/escalade": { @@ -4235,15 +4239,15 @@ } }, "node_modules/eslint": { - "version": "8.36.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz", - "integrity": "sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw==", + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", + "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.1", - "@eslint/js": "8.36.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -4253,9 +4257,9 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.5.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -4292,12 +4296,12 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz", - "integrity": "sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ==", + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.12.0.tgz", + "integrity": "sha512-xH8PgpDW2WwmFSmRfs/3iWogef1CJzQqX264I65zz77jDuxF2yLy7+GA2diUM8ZNATuSl1+UehMQkb5YEyau5w==", "dev": true, "dependencies": { - "eslint-utils": "^3.0.0", + "@eslint-community/eslint-utils": "^4.3.0", "natural-compare": "^1.4.0", "nth-check": "^2.0.1", "postcss-selector-parser": "^6.0.9", @@ -4325,46 +4329,22 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -4372,6 +4352,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -4384,14 +4367,14 @@ } }, "node_modules/espree": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.0.tgz", - "integrity": "sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "dependencies": { "acorn": "^8.8.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -5043,21 +5026,21 @@ } }, "node_modules/hibp": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/hibp/-/hibp-12.0.0.tgz", - "integrity": "sha512-83ZjOy3MNLYd4rydSvAmdoS2J6qfgiitLC73CEYWH3FxEFnN2Euem2k384WK8fMEaxbEJr/G78qeMFpaWned9w==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/hibp/-/hibp-13.0.0.tgz", + "integrity": "sha512-d3D2W9fqhIu4EJ8Wa85rXKHBxpIB9dEsHDIWNB26bcptlU18VD3PCfDVsVBE8nd/zImJmbNqRgfpzgO6pJ68Sg==", "dependencies": { - "@remix-run/web-fetch": "^4.3.2", + "@remix-run/web-fetch": "^4.3.4", "jssha": "^3.3.0" }, "engines": { - "node": ">= 14.13.1" + "node": ">= 16.0.0" } }, "node_modules/hookable": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz", - "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==" + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==" }, "node_modules/https-proxy-agent": { "version": "5.0.1", @@ -5233,7 +5216,7 @@ "version": "2.11.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "devOptional": true, + "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -5911,15 +5894,15 @@ } }, "node_modules/mlly": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.1.tgz", - "integrity": "sha512-Jnlh4W/aI4GySPo6+DyTN17Q75KKbLTyFK8BrGhjNP4rxuUjbRWhE6gHg3bs33URWAF44FRm7gdQA348i3XxRw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.2.0.tgz", + "integrity": "sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww==", "dev": true, "dependencies": { "acorn": "^8.8.2", "pathe": "^1.1.0", - "pkg-types": "^1.0.1", - "ufo": "^1.1.0" + "pkg-types": "^1.0.2", + "ufo": "^1.1.1" } }, "node_modules/mri": { @@ -5954,9 +5937,15 @@ "dev": true }, "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -6155,7 +6144,7 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "devOptional": true + "dev": true }, "node_modules/path-type": { "version": "4.0.0", @@ -6190,9 +6179,9 @@ } }, "node_modules/pinia": { - "version": "2.0.33", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.33.tgz", - "integrity": "sha512-HOj1yVV2itw6rNIrR2f7+MirGNxhORjrULL8GWgRwXsGSvEqIQ+SE0MYt6cwtpegzCda3i+rVTZM+AM7CG+kRg==", + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.36.tgz", + "integrity": "sha512-4UKApwjlmJH+VuHKgA+zQMddcCb3ezYnyewQ9NVrsDqZ/j9dMv5+rh+1r48whKNdpFkZAWVxhBp5ewYaYX9JcQ==", "dependencies": { "@vue/devtools-api": "^6.5.0", "vue-demi": "*" @@ -6323,9 +6312,9 @@ } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "funding": [ { "type": "opencollective", @@ -6334,10 +6323,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -6429,9 +6422,9 @@ } }, "node_modules/qrcode.vue": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.3.4.tgz", - "integrity": "sha512-ZVPmKZUUqM/wZ19mIhecFJs7mO6KXFiZZmBZyU6wiB2aXZfYc/VpolXakQcKw/9aGFEmSHHVKfgNwyxtw/Q2Sw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.4.0.tgz", + "integrity": "sha512-4XeImbv10Fin16Fl2DArCMhGyAdvIg2jb7vDT+hZiIAMg/6H6mz9nUZr/dR8jBcun5VzNzkiwKhiqOGbloinwA==", "peerDependencies": { "vue": "^3.0.0" } @@ -6565,18 +6558,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/regexpu-core": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.2.2.tgz", @@ -6634,7 +6615,7 @@ "version": "1.22.1", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", - "devOptional": true, + "dev": true, "dependencies": { "is-core-module": "^2.9.0", "path-parse": "^1.0.7", @@ -6682,9 +6663,9 @@ } }, "node_modules/rollup": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.11.0.tgz", - "integrity": "sha512-+uWPPkpWQ2H3Qi7sNBcRfhhHJyUNgBYhG4wKe5wuGRj2m55kpo+0p5jubKNBjQODyPe6tSBE3tNpdDwEisQvAQ==", + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz", + "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==", "devOptional": true, "bin": { "rollup": "dist/bin/rollup" @@ -6755,9 +6736,9 @@ } }, "node_modules/sass": { - "version": "1.59.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.59.2.tgz", - "integrity": "sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw==", + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -6768,7 +6749,7 @@ "sass": "sass.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/scule": { @@ -6854,6 +6835,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -6880,7 +6862,8 @@ "version": "1.4.8", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true }, "node_modules/std-env": { "version": "3.3.2", @@ -7031,7 +7014,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "devOptional": true, + "dev": true, "engines": { "node": ">= 0.4" }, @@ -7213,22 +7196,22 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "devOptional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=12.20" } }, "node_modules/ufo": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.0.tgz", - "integrity": "sha512-LQc2s/ZDMaCN3QLpa+uzHUOQ7SdV0qgv3VBXOolQGXTaaZpIur6PwUclF5nN2hNkiTRcUugXd1zFOW3FLJ135Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", + "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", "dev": true }, "node_modules/unbox-primitive": { @@ -7272,14 +7255,14 @@ } }, "node_modules/unhead": { - "version": "1.1.23", - "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.1.23.tgz", - "integrity": "sha512-nM74sM3+puqhHLC9cbwk0rOsjZR41aP0UJeQcoYVuzFlX0+abECgPkpkSI+/HZsXeRVTGxs9WWmjiFHaG18DrQ==", + "version": "1.1.26", + "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.1.26.tgz", + "integrity": "sha512-MshcPoPLXSGRgYtczddGvMgLUISTbt2pxihqD5kZVXKmY2FZLj1OQIY111aX45Xq47XJxjvYavvoyeUFroKQcg==", "dependencies": { - "@unhead/dom": "1.1.23", - "@unhead/schema": "1.1.23", - "@unhead/shared": "1.1.23", - "hookable": "^5.4.2" + "@unhead/dom": "1.1.26", + "@unhead/schema": "1.1.26", + "@unhead/shared": "1.1.26", + "hookable": "^5.5.3" }, "funding": { "url": "https://github.com/sponsors/harlan-zw" @@ -7326,9 +7309,9 @@ } }, "node_modules/unimport": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.0.2.tgz", - "integrity": "sha512-OQ0hShpcerS1PSsISsyn/NV2dGe5xfdUn4p5nwOodq0iqq5xxYQrTidHqlFGjxIliPDtDJp80OeySzyPTjYHmA==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.0.6.tgz", + "integrity": "sha512-GYxGJ1Bri1oqx8VFDjdgooGzeK7jBk3bvhXmamTIpu3nONOcUMGwZbX7X0L5RA7OWMXpR4vzpSQP7pXUzJg1/Q==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.2", @@ -7336,12 +7319,12 @@ "fast-glob": "^3.2.12", "local-pkg": "^0.4.3", "magic-string": "^0.30.0", - "mlly": "^1.1.1", + "mlly": "^1.2.0", "pathe": "^1.1.0", "pkg-types": "^1.0.2", "scule": "^1.0.0", "strip-literal": "^1.0.1", - "unplugin": "^1.1.0" + "unplugin": "^1.3.1" } }, "node_modules/unimport/node_modules/escape-string-regexp": { @@ -7390,9 +7373,9 @@ } }, "node_modules/unplugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.1.0.tgz", - "integrity": "sha512-I8obQ8Rs/hnkxokRV6g8JKOQFgYNnTd9DL58vcSt5IJ9AkK8wbrtsnzD5hi4BJlvcY536JzfEXj9L6h7j559/A==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.3.1.tgz", + "integrity": "sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==", "dev": true, "dependencies": { "acorn": "^8.8.2", @@ -7402,18 +7385,18 @@ } }, "node_modules/unplugin-auto-import": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.1.tgz", - "integrity": "sha512-xLS+BfVNy00Y3IkqBmEd0IThvjx8kSGIgSuf/1kETttiENK8sHrDA+poKkQxRCPTKYH4yWM6txGQANPTzwpUWQ==", + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz", + "integrity": "sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==", "dev": true, "dependencies": { "@antfu/utils": "^0.7.2", "@rollup/pluginutils": "^5.0.2", "local-pkg": "^0.4.3", "magic-string": "^0.30.0", - "minimatch": "^7.4.2", - "unimport": "^3.0.2", - "unplugin": "^1.1.0" + "minimatch": "^9.0.0", + "unimport": "^3.0.6", + "unplugin": "^1.3.1" }, "engines": { "node": ">=14" @@ -7456,15 +7439,15 @@ } }, "node_modules/unplugin-auto-import/node_modules/minimatch": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.2.tgz", - "integrity": "sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -7548,15 +7531,14 @@ "dev": true }, "node_modules/vite": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz", - "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz", + "integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==", "devOptional": true, "dependencies": { - "esbuild": "^0.16.14", - "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.10.0" + "esbuild": "^0.17.5", + "postcss": "^8.4.23", + "rollup": "^3.21.0" }, "bin": { "vite": "bin/vite.js" @@ -7611,9 +7593,9 @@ } }, "node_modules/vite-plugin-pwa": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.14.4.tgz", - "integrity": "sha512-M7Ct0so8OlouMkTWgXnl8W1xU95glITSKIe7qswZf1tniAstO2idElGCnsrTJ5NPNSx1XqfTCOUj8j94S6FD7Q==", + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.14.7.tgz", + "integrity": "sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==", "dev": true, "dependencies": { "@rollup/plugin-replace": "^5.0.1", @@ -7652,21 +7634,21 @@ } }, "node_modules/vue": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", - "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.1.tgz", + "integrity": "sha512-3Rwy4I5idbPVSDZu6I+fFh6tdDSZbauImCTqLxE7y0LpHtiDvPeY01OI7RkFPbva1nk4hoO0sv/NzosH2h60sg==", "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-sfc": "3.2.47", - "@vue/runtime-dom": "3.2.47", - "@vue/server-renderer": "3.2.47", - "@vue/shared": "3.2.47" + "@vue/compiler-dom": "3.3.1", + "@vue/compiler-sfc": "3.3.1", + "@vue/runtime-dom": "3.3.1", + "@vue/server-renderer": "3.3.1", + "@vue/shared": "3.3.1" } }, "node_modules/vue-eslint-parser": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz", - "integrity": "sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.1.tgz", + "integrity": "sha512-C2aI/r85Q6tYcz4dpgvrs4wH/MqVrRAVIdpYedrxnATDHHkb+TroeRcDpKWGZCx/OcECMWfz7tVwQ8e+Opy6rA==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -7710,11 +7692,11 @@ } }, "node_modules/vue-router": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", - "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.0.tgz", + "integrity": "sha512-c+usESa6ZoWsm4PPdzRSyenp5A4dsUtnDJnrI03fY1IpIihA9TK3x5ffgkFDpjhLJZewsXoKURapNLFdZjuqTg==", "dependencies": { - "@vue/devtools-api": "^6.4.5" + "@vue/devtools-api": "^6.5.0" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -7734,13 +7716,14 @@ } }, "node_modules/vue-tsc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.2.0.tgz", - "integrity": "sha512-rIlzqdrhyPYyLG9zxsVRa+JEseeS9s8F2BbVVVWRRsTZvJO2BbhLEb2HW3MY+DFma0378tnIqs+vfTzbcQtRFw==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.6.4.tgz", + "integrity": "sha512-8rg8S1AhRJ6/WriENQEhyqH5wsxSxuD5iaD+QnkZn2ArZ6evlhqfBAIcVN8mfSyCV9DeLkQXkOSv/MaeJiJPAQ==", "dev": true, "dependencies": { - "@volar/vue-language-core": "1.2.0", - "@volar/vue-typescript": "1.2.0" + "@volar/vue-language-core": "1.6.4", + "@volar/vue-typescript": "1.6.4", + "semver": "^7.3.8" }, "bin": { "vue-tsc": "bin/vue-tsc.js" @@ -7750,9 +7733,9 @@ } }, "node_modules/vuetify": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.1.8.tgz", - "integrity": "sha512-yODCnRxERSvcBwC6qPiySVhmZzNZ2Yme6b2lNLY1G8W/hbipAtbTCFVGB4ZY/qY7D7JNQBxzgVfZme7bDY9ZrQ==", + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.2.3.tgz", + "integrity": "sha512-o7IJm/P5Ttp9ItF1ytQihsLzv4jxIYVfI4Ypkkqc4A7N2MeTmkDOPGbDNUgJ+G1p2upL00LCbc73A9YM8xYVpg==", "engines": { "node": "^12.20 || >=14.13" }, diff --git a/package.json b/package.json index 16e1f00..2257f26 100644 --- a/package.json +++ b/package.json @@ -11,39 +11,39 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore" }, "dependencies": { - "@vuelidate/core": "^2.0.0", - "@vuelidate/validators": "^2.0.0", - "@vueuse/core": "^9.13.0", - "@vueuse/head": "^1.1.23", - "axios": "^1.3.4", - "hibp": "^12.0.0", - "pinia": "^2.0.33", + "@vuelidate/core": "^2.0.2", + "@vuelidate/validators": "^2.0.2", + "@vueuse/core": "^10.1.2", + "@vueuse/head": "^1.1.26", + "axios": "^1.4.0", + "hibp": "^13.0.0", + "pinia": "^2.0.36", "pinia-plugin-persistedstate": "^3.1.0", "prismjs": "^1.29.0", - "qrcode.vue": "^3.3.4", + "qrcode.vue": "^3.4.0", "secure-json-parse": "^2.7.0", - "vue": "^3.2.47", - "vue-router": "^4.1.6", - "vuetify": "^3.1.8" + "vue": "^3.3.1", + "vue-router": "^4.2.0", + "vuetify": "^3.2.3" }, "devDependencies": { - "@mdi/js": "^7.1.96", - "@types/node": "^18.15.1", + "@mdi/js": "^7.2.96", + "@types/node": "^20.1.2", "@types/prismjs": "^1.26.0", "@types/secure-json-parse": "^1.0.3", - "@vitejs/plugin-vue": "^4.0.0", - "@vue/eslint-config-typescript": "^11.0.2", - "@vue/tsconfig": "^0.1.3", - "eslint": "^8.36.0", - "eslint-plugin-vue": "^9.9.0", - "sass": "^1.59.2", - "typescript": "^4.9.5", - "unplugin-auto-import": "^0.15.1", - "vite": "^4.1.4", + "@vitejs/plugin-vue": "^4.2.2", + "@vue/eslint-config-typescript": "^11.0.3", + "@vue/tsconfig": "^0.3.2", + "eslint": "^8.40.0", + "eslint-plugin-vue": "^9.12.0", + "sass": "^1.62.1", + "typescript": "^5.0.4", + "unplugin-auto-import": "^0.15.3", + "vite": "^4.3.5", "vite-plugin-compression": "^0.5.1", - "vite-plugin-pwa": "^0.14.4", + "vite-plugin-pwa": "^0.14.7", "vite-plugin-vuetify": "^1.0.2", - "vue-tsc": "^1.2.0" + "vue-tsc": "^1.6.4" }, "buildDate": "Mon 13 2023 March 11:28:09 EDT", "homepage": "https://github.com/mrjackwills/staticpi_vue" diff --git a/env.d.ts b/src/env.d.ts similarity index 100% rename from env.d.ts rename to src/env.d.ts diff --git a/tsconfig.config.json b/tsconfig.config.json index 75c31a1..b967933 100644 --- a/tsconfig.config.json +++ b/tsconfig.config.json @@ -1,10 +1,10 @@ { - "extends": "@vue/tsconfig/tsconfig.node.json", - "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"], "compilerOptions": { - "experimentalDecorators": true, "composite": true, - "types": ["node", "vite-plugin-pwa/client",] - } + "module": "ESNext", + "moduleResolution": "Node", + "allowSyntheticDefaultImports": true + }, + "include": ["./vite.config.ts"] } \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index bfe6d01..fc6ac0d 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,27 +1,29 @@ { - "extends": "@vue/tsconfig/tsconfig.web.json", - "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], - "module": "ESNext", - "target": "esnext", - "resolveJsonModule": true, "compilerOptions": { - "typeRoots": [ - "./node_modules/@types", - "./node_modules/vuetify/types" - ], - "lib": ["esnext", "dom"], + "baseUrl": ".", + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "moduleResolution": "Node", + "strict": true, + "jsx": "preserve", + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "lib": ["ESNext", "DOM"], + "skipLibCheck": true, + "noEmit": true, "experimentalDecorators": true, - "baseUrl": ".", "paths": { - "@/*": ["./src/*"] - } + "@/*": [ + "src/*" + ] + } }, + "extends": "@vue/tsconfig/tsconfig.dom.json", "types": ["node", "vite-plugin-pwa/client", "vuetify", ], - - "references": [ - { - "path": "./tsconfig.config.json" - } - ], -} + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "references": [{ "path": "./tsconfig.config.json" }], + "exclude": ["node_modules"] + } \ No newline at end of file From b5c37ae63e02e469548e88c50e2fadf80174b0d0 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 11 May 2023 09:14:14 -0400 Subject: [PATCH 03/13] fix: switchRow isComponent ternary --- src/components/Devices/AddDevice/SwitchRow.vue | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/components/Devices/AddDevice/SwitchRow.vue b/src/components/Devices/AddDevice/SwitchRow.vue index 3b383b5..0574f8a 100644 --- a/src/components/Devices/AddDevice/SwitchRow.vue +++ b/src/components/Devices/AddDevice/SwitchRow.vue @@ -26,10 +26,10 @@
@@ -60,11 +60,7 @@ watch(() => switched.value, (i) => { }); const isComponent = computed(() => { - if (props.component === 'DevicePassword') { - return DevicePassword; - } if (props.component === 'MaxClients') { - return MaxClients; - } + return props.component === 'DevicePassword' ? DevicePassword : MaxClients; }); const props = defineProps({ From 9bee8add8e0d3b413bc4f9153968a236040743fe Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 11 May 2023 13:17:30 -0400 Subject: [PATCH 04/13] fix: defineProps with types --- src/App.vue | 2 +- src/components/Admin/AdminConnectedCount.vue | 8 +- src/components/Admin/AdminContact.vue | 8 +- src/components/Admin/AdminDeviceRow.vue | 11 +-- src/components/Admin/AdminEmails.vue | 8 +- src/components/Admin/AdminInvite.vue | 8 +- src/components/Admin/AdminLimits.vue | 7 +- src/components/Admin/AdminMemory.vue | 7 +- src/components/Admin/AdminUserRow.vue | 11 +-- src/components/Admin/AdminUsers.vue | 7 +- src/components/Buttons/ActionButton.vue | 69 +++++--------- src/components/Buttons/BackButton.vue | 7 +- src/components/Buttons/CopyButton.vue | 68 ++++--------- src/components/Buttons/DocumentationLink.vue | 21 ++-- src/components/Buttons/FabTooltip.vue | 30 ++---- src/components/Buttons/ProUserChip.vue | 7 +- src/components/Card/AppCard.vue | 95 +++++++------------ src/components/Card/CardHeading.vue | 55 +++-------- src/components/Card/DocumentationCard.vue | 15 ++- src/components/Card/SubHeading.vue | 45 ++------- src/components/CodeBlock.vue | 19 +--- .../Devices/AddDevice/SwitchRow.vue | 30 ++---- .../AllDeviceTable/Cells/CellApiKey.vue | 15 +-- .../AllDeviceTable/Cells/CellBandwidth.vue | 13 +-- .../AllDeviceTable/Cells/CellDelete.vue | 12 +-- .../AllDeviceTable/Cells/CellDeviceName.vue | 12 +-- .../Cells/CellDevicePassword.vue | 12 +-- .../AllDeviceTable/Cells/CellMaxClients.vue | 14 +-- .../AllDeviceTable/Cells/CellOnline.vue | 13 +-- .../AllDeviceTable/Cells/CellPause.vue | 13 +-- .../Cells/CellStructuredData.vue | 12 +-- .../Devices/AllDeviceTable/DeviceRow.vue | 7 +- .../ExtraInformation/ExtraBandwidth.vue | 16 +--- .../ExtraInformation/ExtraBandwidthCell.vue | 25 ++--- .../ExtraBandwidthDetailed.vue | 8 +- .../ExtraInformation/ExtraBandwidthSimple.vue | 7 +- .../ExtraInformation/ExtraConnectedTable.vue | 25 ++--- .../ExtraInformation/ExtraInfo.vue | 7 +- .../ExtraInformation/ExtraIp.vue | 7 +- .../ExtraInformation/ExtraOnlineSince.vue | 6 +- .../ExtraInformation/ExtraSendMessage.vue | 11 +-- src/components/Devices/NumberOfDevices.vue | 8 +- .../Documentation/DocAddressRow.vue | 31 ++---- src/components/Documentation/DocBinary.vue | 34 ++----- src/components/Documentation/DocConnect.vue | 34 ++----- .../Documentation/DocConnectWithPassword.vue | 35 ++----- .../Documentation/DocRateLimits.vue | 24 +---- .../Documentation/DocStructuredData.vue | 35 ++----- src/components/Hibp/HibpMessage.vue | 7 +- src/components/Plans/PlanCard.vue | 29 +++--- src/components/Plans/PlanUserCell.vue | 11 +-- src/components/Settings/SettingSection.vue | 11 +-- .../Settings/TwoFA/TFAInstructions.vue | 8 +- .../Settings/TwoFA/TFAStatusRow.vue | 12 +-- src/components/StaticPi.vue | 8 +- src/components/ThePage.vue | 83 ++++------------ src/types/index.ts | 4 +- 57 files changed, 311 insertions(+), 836 deletions(-) diff --git a/src/App.vue b/src/App.vue index a4b4b43..87e3601 100644 --- a/src/App.vue +++ b/src/App.vue @@ -5,8 +5,8 @@ - + diff --git a/src/components/Admin/AdminConnectedCount.vue b/src/components/Admin/AdminConnectedCount.vue index bf2785e..ec85e45 100644 --- a/src/components/Admin/AdminConnectedCount.vue +++ b/src/components/Admin/AdminConnectedCount.vue @@ -65,10 +65,6 @@ const data = computed(() => { ]; }); -const props = defineProps({ - connectedCount: { - type: Object as () => TAdminConnectedCount, - required: true - } -}); +const props = defineProps<{connectedCount: TAdminConnectedCount}>(); + \ No newline at end of file diff --git a/src/components/Admin/AdminContact.vue b/src/components/Admin/AdminContact.vue index ab23f42..f0988ac 100644 --- a/src/components/Admin/AdminContact.vue +++ b/src/components/Admin/AdminContact.vue @@ -80,10 +80,6 @@ const delete_message = async (contact_id: number): Promise => { emit('update'); }; -const props = defineProps({ - contact_messages: { - type: Object as () => Array, - required: true - } -}); +const props = defineProps<{contact_messages: Array}>(); + \ No newline at end of file diff --git a/src/components/Admin/AdminDeviceRow.vue b/src/components/Admin/AdminDeviceRow.vue index b840272..98797a2 100644 --- a/src/components/Admin/AdminDeviceRow.vue +++ b/src/components/Admin/AdminDeviceRow.vue @@ -181,15 +181,6 @@ watch(() => props.device.connections.length, (i) => { } }); -const props = defineProps({ - device: { - type: Object as () => AdminDeviceAndConnections, - required: true, - }, - email: { - type: String, - required: true - } -}); +const props = defineProps<{device: AdminDeviceAndConnections, email: string}>(); \ No newline at end of file diff --git a/src/components/Admin/AdminEmails.vue b/src/components/Admin/AdminEmails.vue index a21ada8..c6555e4 100644 --- a/src/components/Admin/AdminEmails.vue +++ b/src/components/Admin/AdminEmails.vue @@ -61,10 +61,6 @@ const data = computed(() => { ]; }); -const props = defineProps({ - emails: { - type: Object as () => TAdminEmailCount, - required: true - } -}); +const props = defineProps<{emails: TAdminEmailCount}>(); + \ No newline at end of file diff --git a/src/components/Admin/AdminInvite.vue b/src/components/Admin/AdminInvite.vue index c1a7962..64ca598 100644 --- a/src/components/Admin/AdminInvite.vue +++ b/src/components/Admin/AdminInvite.vue @@ -196,10 +196,6 @@ const addInvite_confirm = async (auth: TAuthObject): Promise => { }; -defineProps({ - inviteCodes: { - type: Object as () => Array, - required: true - } -}); +defineProps<{inviteCodes: Array}>(); + \ No newline at end of file diff --git a/src/components/Admin/AdminLimits.vue b/src/components/Admin/AdminLimits.vue index 1d386fc..752ca40 100644 --- a/src/components/Admin/AdminLimits.vue +++ b/src/components/Admin/AdminLimits.vue @@ -99,10 +99,5 @@ const remove_key = async (key: string) :Promise => { emit('update'); }; -defineProps({ - limits: { - type: Object as () => Array, - required: true - } -}); +defineProps<{limits: Array}>(); \ No newline at end of file diff --git a/src/components/Admin/AdminMemory.vue b/src/components/Admin/AdminMemory.vue index 389d016..5dbc6fc 100644 --- a/src/components/Admin/AdminMemory.vue +++ b/src/components/Admin/AdminMemory.vue @@ -72,10 +72,5 @@ const data = computed(() => { ]; }); -const props = defineProps({ - memory: { - type: Object as () => TAdminMemory, - required: true - } -}); +const props = defineProps<{memory: TAdminMemory}>(); \ No newline at end of file diff --git a/src/components/Admin/AdminUserRow.vue b/src/components/Admin/AdminUserRow.vue index 0c744e8..09129a8 100644 --- a/src/components/Admin/AdminUserRow.vue +++ b/src/components/Admin/AdminUserRow.vue @@ -334,16 +334,7 @@ const fake_device = computed((): TDeviceInfo => { const emit = defineEmits([ 'update' ]); -const props = defineProps({ - user: { - type: Object as () => TAdminUser, - required: true - }, - sessions: { - type: Object as () => Array, - required: true - } -}); +const props = defineProps<{user: TAdminUser, sessions: Array}>(); const loading = computed({ get (): boolean { diff --git a/src/components/Admin/AdminUsers.vue b/src/components/Admin/AdminUsers.vue index 724eed3..5e4476b 100644 --- a/src/components/Admin/AdminUsers.vue +++ b/src/components/Admin/AdminUsers.vue @@ -70,11 +70,6 @@ const headers = [ ]; const emit = defineEmits([ 'update' ]); +const props = defineProps<{users: Array}>(); -const props = defineProps({ - users: { - type: Object as () => Array, - required: true - } -}); diff --git a/src/components/Buttons/ActionButton.vue b/src/components/Buttons/ActionButton.vue index ee3792f..a8da214 100644 --- a/src/components/Buttons/ActionButton.vue +++ b/src/components/Buttons/ActionButton.vue @@ -107,52 +107,29 @@ onMounted(() => { localDisabled.value = props.disabled; }); - -const props = defineProps({ - block: { - type: Boolean, - default: false - }, - color: { - type: String, - default: 'primary', - }, - disabled: { - type: Boolean, - default: false, - }, - icon: { - type: String, - default: undefined, - }, - iconFirst: { - type: Boolean, - default: false, - }, - overrideDisabled: { - type: Boolean, - default: false - }, - mouseOverEvents: { - type: Boolean, - default: false, - }, - monospace: { - type: Boolean, - default: false - }, - routerLink: { - type: String, - default: '' - }, - small: { - type: Boolean, - default: false - }, - text: { - type: String, - default: 'submit', - }, + +const props = withDefaults(defineProps<{ + block: boolean, + color: string, + disabled: boolean, + icon?: string, + iconFirst: boolean, + monospace: boolean, + mouseOverEvents: boolean, + overrideDisabled: boolean, + routerLink?: string + small: boolean, + text: string +}>(), { + block: false, + color: 'primary', + disabled: false, + iconFirst: false, + monospace: false, + mouseOverEvents: false, + overrideDisabled: false, + small: false, + text: 'submit' }); watch(() => props.disabled, (i) => { diff --git a/src/components/Buttons/BackButton.vue b/src/components/Buttons/BackButton.vue index f703af0..f2c9168 100644 --- a/src/components/Buttons/BackButton.vue +++ b/src/components/Buttons/BackButton.vue @@ -24,10 +24,5 @@ const goBack = (): void => { else router.push(FrontEndRoutes.BASE); }; -defineProps({ - disabled: { - type: Boolean, - default: false - } -}); +withDefaults(defineProps<{disabled: boolean}>(), { disabled: false }); \ No newline at end of file diff --git a/src/components/Buttons/CopyButton.vue b/src/components/Buttons/CopyButton.vue index d58ec72..615596a 100644 --- a/src/components/Buttons/CopyButton.vue +++ b/src/components/Buttons/CopyButton.vue @@ -10,7 +10,7 @@ @mouseenter='mouseenter' @mouseleave='mouseleave' :dark='disabled && dark' - :density='to_density' + :density='density' :disabled='disabled' :size='iconSize' class='fab-fix pa-0 ma-0' @@ -31,8 +31,7 @@ import { mdiContentCopy } from '@mdi/js'; import { useClipboard } from '@vueuse/core'; import { useDisplay } from 'vuetify'; -import type { TDensity } from '@/types'; - +import type { VBtn } from 'vuetify/components/VBtn'; const { smAndDown } = useDisplay(); onBeforeUnmount(() => { @@ -57,16 +56,6 @@ const onMobile = computed((): boolean => { return smAndDown.value || props.xsmall; }); -const to_density = computed((): TDensity => { - switch (props.density) { - case 'compact': - return 'compact'; - case 'comfortable': - return 'comfortable'; - } - return 'default'; -}); - const message = computed((): string => { return click.value? props.tooltipMessage : props.hoverMessage; }); @@ -104,43 +93,22 @@ const onIntersect = (is_i: boolean, _entries: Array, isIntersecting.value = is_i; }; -const props = defineProps({ - dark: { - type: Boolean, - default: false - }, - density: { - type: String, - default: 'default' - }, - disabled: { - type: Boolean, - default: false - }, - color: { - type: String, - default: 'black' - }, - hoverMessage: { - type: String, - default: '' - }, - toCopy: { - type: String, - required: true - }, - tooltipMessage: { - type: String, - required: true - }, - xsmall: { - type: Boolean, - required: false - }, - small: { - type: Boolean, - required: false - }, +const props = withDefaults(defineProps<{ + color: string, + dark: boolean, + density: VBtn['$props']['density'], + disabled: boolean, + hoverMessage: string, + small?:boolean + toCopy: string, + tooltipMessage: string, + xsmall?: boolean, +}>(), { + color: 'black', + dark: false, + density: 'default', + disabled: false, + hoverMessage: '', }); watch(isIntersecting, (i) => { diff --git a/src/components/Buttons/DocumentationLink.vue b/src/components/Buttons/DocumentationLink.vue index 76ae140..d2b88b5 100644 --- a/src/components/Buttons/DocumentationLink.vue +++ b/src/components/Buttons/DocumentationLink.vue @@ -31,18 +31,13 @@ const iconSize = computed((): string => { return 'default'; }); -const props = defineProps({ - section: { - type: String, - required: true, - }, - small: { - type: Boolean, - default: true - }, - xsmall: { - type: Boolean, - default: false - } +const props = withDefaults(defineProps<{ + section: string, + small: boolean, + xsmall: boolean, +}>(), { + small: true, + xsmall: false, }); + \ No newline at end of file diff --git a/src/components/Buttons/FabTooltip.vue b/src/components/Buttons/FabTooltip.vue index 5c6287d..9483aad 100644 --- a/src/components/Buttons/FabTooltip.vue +++ b/src/components/Buttons/FabTooltip.vue @@ -39,27 +39,15 @@ const iconSize = computed(() => { return 'default'; }); -const props = defineProps({ - color: { - type: String, - required: true - }, - disabled: { - type: Boolean, - default: false, - }, - icon: { - type: String, - required: true - }, - medium: { - type: Boolean, - default: false - }, - tooltip_text: { - type: String, - required: true - }, +const props = withDefaults(defineProps<{ + color: string, + disabled: boolean, + icon: string, + medium: boolean, + tooltip_text: string +}>(), { + disabled: false, + medium: false, }); const emit = defineEmits([ 'click' ]); diff --git a/src/components/Buttons/ProUserChip.vue b/src/components/Buttons/ProUserChip.vue index d3c5e60..996caa9 100644 --- a/src/components/Buttons/ProUserChip.vue +++ b/src/components/Buttons/ProUserChip.vue @@ -26,10 +26,5 @@ const size = computed(() => { } }); -defineProps({ - order: { - type: String, - default: '1' - } -}); +withDefaults(defineProps<{order: string}>(), { order: '1' }); diff --git a/src/components/Card/AppCard.vue b/src/components/Card/AppCard.vue index 3b1d702..87bbed9 100644 --- a/src/components/Card/AppCard.vue +++ b/src/components/Card/AppCard.vue @@ -41,6 +41,8 @@ --> \ No newline at end of file diff --git a/src/components/Documentation/DocStructuredData.vue b/src/components/Documentation/DocStructuredData.vue index b92353a..8b7b1ed 100644 --- a/src/components/Documentation/DocStructuredData.vue +++ b/src/components/Documentation/DocStructuredData.vue @@ -254,31 +254,12 @@ const structured_id = (short: TStructuredKey): string => { return `${route.path}#${structured_key_id(short)}`; }; -const props = defineProps({ - address_token: { - type: String, - required: true, - }, - address_wss_client: { - type: String, - required: true, - }, - address_wss_pi: { - type: String, - required: true, - }, - apiKey: { - type: String, - required: true - }, - componentKey: { - type: Number, - required: true - }, - password: { - type: String, - required: true, - }, -}); - +const props = defineProps<{ + address_token: string, + address_wss_client: string, + address_wss_pi: string, + apiKey: string, + componentKey: number, + password: string +}>(); \ No newline at end of file diff --git a/src/components/Hibp/HibpMessage.vue b/src/components/Hibp/HibpMessage.vue index e096add..6ec1cd4 100644 --- a/src/components/Hibp/HibpMessage.vue +++ b/src/components/Hibp/HibpMessage.vue @@ -24,10 +24,5 @@ const pSize = computed((): string => { return mdAndDown.value ? 'text-caption': 'text-body-2'; }); -defineProps({ - mt: { - type: String, - default: '' - } -}); +defineProps<{mt?: string}>(); \ No newline at end of file diff --git a/src/components/Plans/PlanCard.vue b/src/components/Plans/PlanCard.vue index 6b53892..c6c010b 100644 --- a/src/components/Plans/PlanCard.vue +++ b/src/components/Plans/PlanCard.vue @@ -100,25 +100,18 @@ const tooltipText = (description: string): string => { } }; onMounted(() => { - sorted_details.value = [ ...props.details as Array<{icon: number, description: string, detail: string}> ]; + sorted_details.value = [ ...props.details ]; }); -const props = defineProps({ - heading: { - type: String, - required: true - }, - price: { - type: String, - required: true - }, - perMonth: { - type: Boolean, - default: false, - }, - details: { - type: Array, - required: true - } +type TDetails = {icon: number, description: string, detail: string} + +const props = withDefaults(defineProps<{ + heading: string, + price: string, + perMonth: boolean, + details: Array +}>(), { + perMonth: false, }); + \ No newline at end of file diff --git a/src/components/Plans/PlanUserCell.vue b/src/components/Plans/PlanUserCell.vue index 4c07d54..dd9c328 100644 --- a/src/components/Plans/PlanUserCell.vue +++ b/src/components/Plans/PlanUserCell.vue @@ -32,14 +32,5 @@ const order_detail = computed((): string => { return mdAndUp.value ? '2' : '1'; }); -const props = defineProps({ - freePlan: { - type: Boolean, - required: true - }, - detail: { - type: String, - required: true - }, -}); +const props = defineProps<{freePlan: boolean, detail: string}>(); \ No newline at end of file diff --git a/src/components/Settings/SettingSection.vue b/src/components/Settings/SettingSection.vue index aebfac5..a42ad5f 100644 --- a/src/components/Settings/SettingSection.vue +++ b/src/components/Settings/SettingSection.vue @@ -64,14 +64,5 @@ const title = computed((): string => { return smAndDown.value ? 'text-h7' : 'text-h6'; }); -defineProps({ - disabled: { - type: Boolean, - default: false - }, - proOnly: { - type: Boolean, - default: false - } -}); +withDefaults(defineProps<{disabled: boolean, proOnly: boolean}>(), { disabled: false, proOnly: false }); \ No newline at end of file diff --git a/src/components/Settings/TwoFA/TFAInstructions.vue b/src/components/Settings/TwoFA/TFAInstructions.vue index a299015..7962891 100644 --- a/src/components/Settings/TwoFA/TFAInstructions.vue +++ b/src/components/Settings/TwoFA/TFAInstructions.vue @@ -37,7 +37,7 @@
- + secret: {{ secret }} @@ -138,7 +138,11 @@ const email = computed((): string => { return userModule().email; }); const qrCode = computed((): string => { - return `otpauth://totp/staticPi:${email.value}?secret=${secret.value}&issuer=staticPi&digits=6&period=30`; + console.log(secret.value); + const t = `otpauth://totp/staticPi:${email.value}?secret=${secret.value}&issuer=staticPi&digits=6&period=30`; + console.log(t); + return t; + // return `otpauth://totp/staticPi:${email.value}?secret=${secret.value}&issuer=staticPi&digits=6&period=30`; }); const size = computed((): number => { return mdAndUp.value ? 200 : 125; diff --git a/src/components/Settings/TwoFA/TFAStatusRow.vue b/src/components/Settings/TwoFA/TFAStatusRow.vue index 5198cc1..d06c438 100644 --- a/src/components/Settings/TwoFA/TFAStatusRow.vue +++ b/src/components/Settings/TwoFA/TFAStatusRow.vue @@ -59,14 +59,6 @@ const emit = defineEmits([ 'click' ]); const click = (): void => { emit('click'); }; -const props = defineProps({ - active: { - type: Boolean, - required: true - }, - text: { - type: String, - required: true - }, -}); + +const props = defineProps<{active: boolean, text: string}>(); \ No newline at end of file diff --git a/src/components/StaticPi.vue b/src/components/StaticPi.vue index 19740b5..b0b3e84 100644 --- a/src/components/StaticPi.vue +++ b/src/components/StaticPi.vue @@ -3,11 +3,9 @@ \ No newline at end of file diff --git a/src/components/ThePage.vue b/src/components/ThePage.vue index ede2a80..efae787 100644 --- a/src/components/ThePage.vue +++ b/src/components/ThePage.vue @@ -6,11 +6,11 @@ :indeterminate='loading' bg-opacity='0' class='mb-n2' - color='primary' + color='error' top /> - + @@ -18,7 +18,7 @@ import CardHeading from '@/components/Card/CardHeading.vue'; -import type { TJustify } from '@/types'; +import type { VRow } from 'vuetify/components/VGrid'; const loading = computed((): boolean => { return loadingModule().loading; }); -const heading_justify = computed((): TJustify=> { - switch (props.headingJustify) { - case 'end': - return 'end'; - case 'start': - return 'start'; - case 'space-around': - return 'space-around'; - case 'space-between': - return 'space-between'; - case 'space-evenly': - return 'space-evenly'; - case 'stretch': - return 'stretch'; - } - return 'center'; +withDefaults(defineProps<{ + fillHeight: boolean, + heading: string, + headingJustify: VRow['$props']['justify'], + justify: VRow['$props']['justify'], + margin: string, + pageReady: boolean +}>(), { + fillHeight: false, + heading: '', + headingJustify: 'center', + justify: 'center', + margin: '', + pageReady: true }); -const to_justify = computed((): TJustify=> { - switch (props.justify) { - case 'end': - return 'end'; - case 'start': - return 'start'; - case 'space-around': - return 'space-around'; - case 'space-between': - return 'space-between'; - case 'space-evenly': - return 'space-evenly'; - case 'stretch': - return 'stretch'; - } - return 'center'; -}); - -const props = defineProps({ - heading: { - type: String, - default: '', - }, - fillHeight: { - type: Boolean, - default: false - }, - justify: { - type: String, - default: 'center', - }, - headingJustify: { - type: String, - default: 'center', - }, - margin: { - type: String, - default: '' - }, - pageReady: { - type: Boolean, - default: true - } -}) ; -