From 6cf4ecacf5b8732017d6d3d1c5f556ff65017fa2 Mon Sep 17 00:00:00 2001 From: ko1234 Date: Thu, 17 Apr 2025 14:17:29 +0800 Subject: [PATCH] first commit --- .gitignore | 24 + .vscode/extensions.json | 3 + README.md | 5 + auto-imports.d.ts | 10 + components.d.ts | 31 + index.html | 13 + package-lock.json | 2263 +++++++++++++++++++++++++++++++ package.json | 27 + public/vite.svg | 1 + src/App.vue | 5 + src/assets/bg.jpg | Bin 0 -> 67308 bytes src/assets/vue.svg | 1 + src/components/EnergyBar.vue | 82 ++ src/components/EnergyLine.vue | 105 ++ src/components/EnergySankey.vue | 76 ++ src/components/Navbar.vue | 43 + src/main.ts | 8 + src/reset.css | 31 + src/router/index.ts | 44 + src/style.css | 79 ++ src/views/404.vue | 10 + src/views/ElecPriceRes.vue | 399 ++++++ src/views/ElecPriceStd.vue | 664 +++++++++ src/views/EnergyChart.vue | 226 +++ src/views/Home.vue | 18 + src/views/Register.vue | 28 + src/vite-env.d.ts | 15 + tsconfig.app.json | 14 + tsconfig.json | 7 + tsconfig.node.json | 24 + vite.config.ts | 22 + 31 files changed, 4278 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 README.md create mode 100644 auto-imports.d.ts create mode 100644 components.d.ts create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/vite.svg create mode 100644 src/App.vue create mode 100644 src/assets/bg.jpg create mode 100644 src/assets/vue.svg create mode 100644 src/components/EnergyBar.vue create mode 100644 src/components/EnergyLine.vue create mode 100644 src/components/EnergySankey.vue create mode 100644 src/components/Navbar.vue create mode 100644 src/main.ts create mode 100644 src/reset.css create mode 100644 src/router/index.ts create mode 100644 src/style.css create mode 100644 src/views/404.vue create mode 100644 src/views/ElecPriceRes.vue create mode 100644 src/views/ElecPriceStd.vue create mode 100644 src/views/EnergyChart.vue create mode 100644 src/views/Home.vue create mode 100644 src/views/Register.vue create mode 100644 src/vite-env.d.ts create mode 100644 tsconfig.app.json create mode 100644 tsconfig.json create mode 100644 tsconfig.node.json create mode 100644 vite.config.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..a7cea0b --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar"] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e8146a --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# EMS前台 + +## Vue 3 + TypeScript + Vite +This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..8e62c85 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,2263 @@ +{ + "name": "ems_front", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ems_front", + "version": "0.0.0", + "dependencies": { + "echarts": "^5.6.0", + "element-plus": "^2.9.6", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@types/node": "^22.13.11", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/tsconfig": "^0.7.0", + "typescript": "~5.7.2", + "unplugin-auto-import": "^19.1.1", + "unplugin-vue-components": "^28.4.1", + "vite": "^6.2.0", + "vue-tsc": "^2.2.4" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz", + "integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.10" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.26.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", + "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", + "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", + "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", + "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", + "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", + "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", + "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", + "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", + "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", + "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", + "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", + "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", + "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", + "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", + "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", + "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", + "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", + "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", + "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", + "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", + "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", + "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", + "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", + "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", + "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", + "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", + "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.7", + "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz", + "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.36.0.tgz", + "integrity": "sha512-jgrXjjcEwN6XpZXL0HUeOVGfjXhPyxAbbhD0BlXUB+abTOpbPiN5Wb3kOT7yb+uEtATNYF5x5gIfwutmuBA26w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.36.0.tgz", + "integrity": "sha512-NyfuLvdPdNUfUNeYKUwPwKsE5SXa2J6bCt2LdB/N+AxShnkpiczi3tcLJrm5mA+eqpy0HmaIY9F6XCa32N5yzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.36.0.tgz", + "integrity": "sha512-JQ1Jk5G4bGrD4pWJQzWsD8I1n1mgPXq33+/vP4sk8j/z/C2siRuxZtaUA7yMTf71TCZTZl/4e1bfzwUmFb3+rw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.36.0.tgz", + "integrity": "sha512-6c6wMZa1lrtiRsbDziCmjE53YbTkxMYhhnWnSW8R/yqsM7a6mSJ3uAVT0t8Y/DGt7gxUWYuFM4bwWk9XCJrFKA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.36.0.tgz", + "integrity": "sha512-KXVsijKeJXOl8QzXTsA+sHVDsFOmMCdBRgFmBb+mfEb/7geR7+C8ypAml4fquUt14ZyVXaw2o1FWhqAfOvA4sg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.36.0.tgz", + "integrity": "sha512-dVeWq1ebbvByI+ndz4IJcD4a09RJgRYmLccwlQ8bPd4olz3Y213uf1iwvc7ZaxNn2ab7bjc08PrtBgMu6nb4pQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.36.0.tgz", + "integrity": "sha512-bvXVU42mOVcF4le6XSjscdXjqx8okv4n5vmwgzcmtvFdifQ5U4dXFYaCB87namDRKlUL9ybVtLQ9ztnawaSzvg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.36.0.tgz", + "integrity": "sha512-JFIQrDJYrxOnyDQGYkqnNBtjDwTgbasdbUiQvcU8JmGDfValfH1lNpng+4FWlhaVIR4KPkeddYjsVVbmJYvDcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.36.0.tgz", + "integrity": "sha512-KqjYVh3oM1bj//5X7k79PSCZ6CvaVzb7Qs7VMWS+SlWB5M8p3FqufLP9VNp4CazJ0CsPDLwVD9r3vX7Ci4J56A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.36.0.tgz", + "integrity": "sha512-QiGnhScND+mAAtfHqeT+cB1S9yFnNQ/EwCg5yE3MzoaZZnIV0RV9O5alJAoJKX/sBONVKeZdMfO8QSaWEygMhw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.36.0.tgz", + "integrity": "sha512-1ZPyEDWF8phd4FQtTzMh8FQwqzvIjLsl6/84gzUxnMNFBtExBtpL51H67mV9xipuxl1AEAerRBgBwFNpkw8+Lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.36.0.tgz", + "integrity": "sha512-VMPMEIUpPFKpPI9GZMhJrtu8rxnp6mJR3ZzQPykq4xc2GmdHj3Q4cA+7avMyegXy4n1v+Qynr9fR88BmyO74tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.36.0.tgz", + "integrity": "sha512-ttE6ayb/kHwNRJGYLpuAvB7SMtOeQnVXEIpMtAvx3kepFQeowVED0n1K9nAdraHUPJ5hydEMxBpIR7o4nrm8uA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.36.0.tgz", + "integrity": "sha512-4a5gf2jpS0AIe7uBjxDeUMNcFmaRTbNv7NxI5xOCs4lhzsVyGR/0qBXduPnoWf6dGC365saTiwag8hP1imTgag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.36.0.tgz", + "integrity": "sha512-5KtoW8UWmwFKQ96aQL3LlRXX16IMwyzMq/jSSVIIyAANiE1doaQsx/KRyhAvpHlPjPiSU/AYX/8m+lQ9VToxFQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.36.0.tgz", + "integrity": "sha512-sycrYZPrv2ag4OCvaN5js+f01eoZ2U+RmT5as8vhxiFz+kxwlHrsxOwKPSA8WyS+Wc6Epid9QeI/IkQ9NkgYyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.36.0.tgz", + "integrity": "sha512-qbqt4N7tokFwwSVlWDsjfoHgviS3n/vZ8LK0h1uLG9TYIRuUTJC88E1xb3LM2iqZ/WTqNQjYrtmtGmrmmawB6A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.36.0.tgz", + "integrity": "sha512-t+RY0JuRamIocMuQcfwYSOkmdX9dtkr1PbhKW42AMvaDQa+jOdpUYysroTF/nuPpAaQMWp7ye+ndlmmthieJrQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.36.0.tgz", + "integrity": "sha512-aRXd7tRZkWLqGbChgcMMDEHjOKudo1kChb1Jt1IfR8cY/KIpgNviLeJy5FUb9IpSuQj8dU2fAYNMPW/hLKOSTw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.16", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.16.tgz", + "integrity": "sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "22.13.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.11.tgz", + "integrity": "sha512-iEUCUJoU0i3VnrCmgoWCXttklWcvoCIx4jzcP22fioIVSdTmjgoEvmAO/QPw6TcS9k5FrNgn4w7q5lGOd1CT5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", + "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.12.tgz", + "integrity": "sha512-RLrFdXEaQBWfSnYGVxvR2WrO6Bub0unkdHYIdC31HzIEqATIuuhRRzYu76iGPZ6OtA4Au1SnW0ZwIqPP217YhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/source-map": "2.4.12" + } + }, + "node_modules/@volar/source-map": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.12.tgz", + "integrity": "sha512-bUFIKvn2U0AWojOaqf63ER0N/iHIBYZPpNGogfLPQ68F5Eet6FnLlyho7BS0y2HJ1jFhSif7AcuTx1TqsCzRzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@volar/typescript": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.12.tgz", + "integrity": "sha512-HJB73OTJDgPc80K30wxi3if4fSsZZAOScbj2fcicMuOPoOkcf9NNAINb33o+DzhBdF9xTKC1gnPmIRDous5S0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "2.4.12", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-vue2": { + "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", + "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", + "dev": true, + "license": "MIT", + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/language-core": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.8.tgz", + "integrity": "sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/language-core": "~2.4.11", + "@vue/compiler-dom": "^3.5.0", + "@vue/compiler-vue2": "^2.7.16", + "@vue/shared": "^3.5.0", + "alien-signals": "^1.0.3", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "license": "MIT" + }, + "node_modules/@vue/tsconfig": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", + "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "typescript": "5.x", + "vue": "^3.4.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "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==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.16", + "@vueuse/metadata": "9.13.0", + "@vueuse/shared": "9.13.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/core/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "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==", + "license": "MIT", + "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==", + "license": "MIT", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", + "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/alien-signals": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.4.tgz", + "integrity": "sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/confbox": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.1.tgz", + "integrity": "sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/element-plus": { + "version": "2.9.6", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.6.tgz", + "integrity": "sha512-D9zU28Ce0s/9O/Vp3ewemikxzFVA6gdZyMwmWijHijo+t5/9H3sHRTIm1WlfeNpFW2Yq0y8nHXD0fU5YxU6qlQ==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^3.4.1", + "@element-plus/icons-vue": "^2.3.1", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.14.182", + "@types/lodash-es": "^4.17.6", + "@vueuse/core": "^9.1.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.13", + "escape-html": "^1.0.3", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "lodash-unified": "^1.0.2", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", + "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.1", + "@esbuild/android-arm": "0.25.1", + "@esbuild/android-arm64": "0.25.1", + "@esbuild/android-x64": "0.25.1", + "@esbuild/darwin-arm64": "0.25.1", + "@esbuild/darwin-x64": "0.25.1", + "@esbuild/freebsd-arm64": "0.25.1", + "@esbuild/freebsd-x64": "0.25.1", + "@esbuild/linux-arm": "0.25.1", + "@esbuild/linux-arm64": "0.25.1", + "@esbuild/linux-ia32": "0.25.1", + "@esbuild/linux-loong64": "0.25.1", + "@esbuild/linux-mips64el": "0.25.1", + "@esbuild/linux-ppc64": "0.25.1", + "@esbuild/linux-riscv64": "0.25.1", + "@esbuild/linux-s390x": "0.25.1", + "@esbuild/linux-x64": "0.25.1", + "@esbuild/netbsd-arm64": "0.25.1", + "@esbuild/netbsd-x64": "0.25.1", + "@esbuild/openbsd-arm64": "0.25.1", + "@esbuild/openbsd-x64": "0.25.1", + "@esbuild/sunos-x64": "0.25.1", + "@esbuild/win32-arm64": "0.25.1", + "@esbuild/win32-ia32": "0.25.1", + "@esbuild/win32-x64": "0.25.1" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/exsolve": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.4.tgz", + "integrity": "sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", + "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/local-pkg": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", + "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.7.4", + "pkg-types": "^2.0.1", + "quansync": "^0.2.8" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mlly": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", + "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "pathe": "^2.0.1", + "pkg-types": "^1.3.0", + "ufo": "^1.5.4" + } + }, + "node_modules/mlly/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mlly/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/muggle-string": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-types": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz", + "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.2.1", + "exsolve": "^1.0.1", + "pathe": "^2.0.3" + } + }, + "node_modules/postcss": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/quansync": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.8.tgz", + "integrity": "sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/antfu" + }, + { + "type": "individual", + "url": "https://github.com/sponsors/sxzz" + } + ], + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/rollup": { + "version": "4.36.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.36.0.tgz", + "integrity": "sha512-zwATAXNQxUcd40zgtQG0ZafcRK4g004WtEl7kbuhTWPvf07PsfohXl39jVUvPF7jvNAIkKPQ2XrsDlWuxBd++Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.36.0", + "@rollup/rollup-android-arm64": "4.36.0", + "@rollup/rollup-darwin-arm64": "4.36.0", + "@rollup/rollup-darwin-x64": "4.36.0", + "@rollup/rollup-freebsd-arm64": "4.36.0", + "@rollup/rollup-freebsd-x64": "4.36.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.36.0", + "@rollup/rollup-linux-arm-musleabihf": "4.36.0", + "@rollup/rollup-linux-arm64-gnu": "4.36.0", + "@rollup/rollup-linux-arm64-musl": "4.36.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.36.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.36.0", + "@rollup/rollup-linux-riscv64-gnu": "4.36.0", + "@rollup/rollup-linux-s390x-gnu": "4.36.0", + "@rollup/rollup-linux-x64-gnu": "4.36.0", + "@rollup/rollup-linux-x64-musl": "4.36.0", + "@rollup/rollup-win32-arm64-msvc": "4.36.0", + "@rollup/rollup-win32-ia32-msvc": "4.36.0", + "@rollup/rollup-win32-x64-msvc": "4.36.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/scule": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz", + "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", + "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.3", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "devOptional": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", + "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/unimport": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unimport/-/unimport-4.1.2.tgz", + "integrity": "sha512-oVUL7PSlyVV3QRhsdcyYEMaDX8HJyS/CnUonEJTYA3//bWO+o/4gG8F7auGWWWkrrxBQBYOO8DKe+C53ktpRXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "pkg-types": "^1.3.1", + "scule": "^1.3.0", + "strip-literal": "^3.0.0", + "tinyglobby": "^0.2.11", + "unplugin": "^2.2.0", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unimport/node_modules/confbox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", + "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unimport/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/unimport/node_modules/pkg-types": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", + "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confbox": "^0.1.8", + "mlly": "^1.7.4", + "pathe": "^2.0.1" + } + }, + "node_modules/unplugin": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.2.0.tgz", + "integrity": "sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/unplugin-auto-import": { + "version": "19.1.1", + "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-19.1.1.tgz", + "integrity": "sha512-sCGZZrSR1Bc8RfN8Q0RUDxXtC20rdAt7UB4lDyq8MNtKVHiXXh+5af6Nz4JRp9Q+7HjnbgQfQox0TkEymjdUAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17", + "picomatch": "^4.0.2", + "unimport": "^4.1.2", + "unplugin": "^2.2.0", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@nuxt/kit": "^3.2.2", + "@vueuse/core": "*" + }, + "peerDependenciesMeta": { + "@nuxt/kit": { + "optional": true + }, + "@vueuse/core": { + "optional": true + } + } + }, + "node_modules/unplugin-utils": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.4.tgz", + "integrity": "sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pathe": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + } + }, + "node_modules/unplugin-vue-components": { + "version": "28.4.1", + "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-28.4.1.tgz", + "integrity": "sha512-niGSc0vJD9ueAnsqcfAldmtpkppZ09B6p2G1dL7X5S8KPdgbk1P+txPwaaDCe7N+eZh2VG1aAypLXkuJs3OSUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^3.6.0", + "debug": "^4.4.0", + "local-pkg": "^1.0.0", + "magic-string": "^0.30.17", + "mlly": "^1.7.4", + "tinyglobby": "^0.2.12", + "unplugin": "^2.2.0", + "unplugin-utils": "^0.2.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@babel/parser": "^7.15.8", + "@nuxt/kit": "^3.2.2", + "vue": "2 || 3" + }, + "peerDependenciesMeta": { + "@babel/parser": { + "optional": true + }, + "@nuxt/kit": { + "optional": true + } + } + }, + "node_modules/vite": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.2.tgz", + "integrity": "sha512-yW7PeMM+LkDzc7CgJuRLMW2Jz0FxMOsVJ8Lv3gpgW9WLcb9cTW+121UEr1hvmfR7w3SegR5ItvYyzVz1vxNJgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "postcss": "^8.5.3", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vscode-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-router": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.8.tgz", + "integrity": "sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@volar/typescript": "~2.4.11", + "@vue/language-core": "2.2.8" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": ">=5.0.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..17aadd8 --- /dev/null +++ b/package.json @@ -0,0 +1,27 @@ +{ + "name": "ems_front", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "echarts": "^5.6.0", + "element-plus": "^2.9.6", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@types/node": "^22.13.11", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/tsconfig": "^0.7.0", + "typescript": "~5.7.2", + "unplugin-auto-import": "^19.1.1", + "unplugin-vue-components": "^28.4.1", + "vite": "^6.2.0", + "vue-tsc": "^2.2.4" + } +} diff --git a/public/vite.svg b/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..9affc6b --- /dev/null +++ b/src/App.vue @@ -0,0 +1,5 @@ + + + diff --git a/src/assets/bg.jpg b/src/assets/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c58f8bfbfef5a3e7ec84b64a2068a387fac205e3 GIT binary patch literal 67308 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

5*c8FPf{}DwszIDYHLNn=;hN^) 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≪fX~}=E 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 literal 0 HcmV?d00001 diff --git a/src/assets/vue.svg b/src/assets/vue.svg new file mode 100644 index 0000000..770e9d3 --- /dev/null +++ b/src/assets/vue.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/EnergyBar.vue b/src/components/EnergyBar.vue new file mode 100644 index 0000000..0ad5647 --- /dev/null +++ b/src/components/EnergyBar.vue @@ -0,0 +1,82 @@ + + diff --git a/src/components/EnergyLine.vue b/src/components/EnergyLine.vue new file mode 100644 index 0000000..ce3471d --- /dev/null +++ b/src/components/EnergyLine.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/components/EnergySankey.vue b/src/components/EnergySankey.vue new file mode 100644 index 0000000..d51587e --- /dev/null +++ b/src/components/EnergySankey.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue new file mode 100644 index 0000000..db13931 --- /dev/null +++ b/src/components/Navbar.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..466ad5c --- /dev/null +++ b/src/main.ts @@ -0,0 +1,8 @@ +import { createApp } from 'vue' +import './reset.css' +import App from './App.vue' +import router from './router' + +const app = createApp(App) +app.use(router) +app.mount('#app') diff --git a/src/reset.css b/src/reset.css new file mode 100644 index 0000000..232f849 --- /dev/null +++ b/src/reset.css @@ -0,0 +1,31 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + color-scheme: light dark; + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +body { + margin: 0; + min-width: 320px; + min-height: 100vh; +} + +#app { + width: 100%; + height: 100%; +} + +body { + line-height: 1; +} + +table { + border-collapse: collapse; + border-spacing: 0; + width: 100%; +} \ No newline at end of file diff --git a/src/router/index.ts b/src/router/index.ts new file mode 100644 index 0000000..8f09826 --- /dev/null +++ b/src/router/index.ts @@ -0,0 +1,44 @@ +import { createRouter, createWebHistory } from "vue-router"; +import type { RouteRecordRaw } from "vue-router"; + +const routes: Array = [ + { + path: "/:catchAll(.*)", + name: "Home", + component: () => import("../views/Home.vue"), + children: [ + { + path: "", + name: "EnergyChart", + component: () => import("../views/EnergyChart.vue"), + }, + { + path: "elecPricingSimple", + name: "ElecPricingSimple", + component: () => import("../views/ElecPriceRes.vue"), + }, + { + path: "elecPricingStandard", + name: "ElecPricingStandard", + component: () => import("../views/ElecPriceStd.vue"), + }, + ], + }, + { + path: "/register", + name: "Register", + component: () => import("../views/Register.vue"), + }, + // { + // path: "/:catchAll(.*)", + // name: "404", + // component: () => import("../views/404.vue"), + // }, +]; + +const router = createRouter({ + history: createWebHistory(), + routes, +}); + +export default router; diff --git a/src/style.css b/src/style.css new file mode 100644 index 0000000..f691315 --- /dev/null +++ b/src/style.css @@ -0,0 +1,79 @@ +:root { + font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +.card { + padding: 2em; +} + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/src/views/404.vue b/src/views/404.vue new file mode 100644 index 0000000..b493caa --- /dev/null +++ b/src/views/404.vue @@ -0,0 +1,10 @@ + + + diff --git a/src/views/ElecPriceRes.vue b/src/views/ElecPriceRes.vue new file mode 100644 index 0000000..bd9c20c --- /dev/null +++ b/src/views/ElecPriceRes.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/src/views/ElecPriceStd.vue b/src/views/ElecPriceStd.vue new file mode 100644 index 0000000..c97d459 --- /dev/null +++ b/src/views/ElecPriceStd.vue @@ -0,0 +1,664 @@ + + + + + diff --git a/src/views/EnergyChart.vue b/src/views/EnergyChart.vue new file mode 100644 index 0000000..09c7eb5 --- /dev/null +++ b/src/views/EnergyChart.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..3506684 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/src/views/Register.vue b/src/views/Register.vue new file mode 100644 index 0000000..bf8c126 --- /dev/null +++ b/src/views/Register.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts new file mode 100644 index 0000000..c0942d0 --- /dev/null +++ b/src/vite-env.d.ts @@ -0,0 +1,15 @@ +/// + +// 聲明 .vue 檔案可以被導入為 Vue 元件 +declare module "*.vue" { + import type { DefineComponent } from "vue"; + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any>; + export default component; +} + +// 聲明環境變數 ( .env 檔案) +interface ImportMetaEnv { + readonly VITE_APP_TITLE: string; + readonly VITE_API_URL: string; +} diff --git a/tsconfig.app.json b/tsconfig.app.json new file mode 100644 index 0000000..7fb078c --- /dev/null +++ b/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/tsconfig.node.json b/tsconfig.node.json new file mode 100644 index 0000000..db0becc --- /dev/null +++ b/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/vite.config.ts b/vite.config.ts new file mode 100644 index 0000000..c8997f1 --- /dev/null +++ b/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import AutoImport from "unplugin-auto-import/vite"; +import Components from "unplugin-vue-components/vite"; +import { ElementPlusResolver } from "unplugin-vue-components/resolvers"; + +// https://vite.dev/config/ +export default defineConfig({ + base: 'https://192.168.0.206:8500/file/ibms_ems_front/', + build: { + emptyOutDir: true, + }, + plugins: [ + vue(), + AutoImport({ + resolvers: [ElementPlusResolver()], + }), + Components({ + resolvers: [ElementPlusResolver()], + }), + ], +});