[READ-ONLY] Mirror of https://github.com/graphieros/vue-data-ui. An open source user-empowering data visualization Vue 3 components library for eloquent data storytelling vue-data-ui.graphieros.com/
charts components-library dashboard data-storytelling data-visualization donut gauge heatmap quadrant radar rating-stars scatter screenshot skeleton-loader sparkline table vue-data-ui vue3 vuejs vuejs3
3

Configure Feed

Select the types of activity you want to include in your feed.

Dev environment - Improve manual testing arena with dedicated app

graphieros (Nov 27, 2025, 2:33 PM +0100) ef69abd7 b0d85967

+3904
+36
manual-testing/.gitignore
··· 1 + # Logs 2 + logs 3 + *.log 4 + npm-debug.log* 5 + yarn-debug.log* 6 + yarn-error.log* 7 + pnpm-debug.log* 8 + lerna-debug.log* 9 + 10 + node_modules 11 + .DS_Store 12 + dist 13 + dist-ssr 14 + coverage 15 + *.local 16 + 17 + # Editor directories and files 18 + .vscode/* 19 + !.vscode/extensions.json 20 + .idea 21 + *.suo 22 + *.ntvs* 23 + *.njsproj 24 + *.sln 25 + *.sw? 26 + 27 + *.tsbuildinfo 28 + 29 + .eslintcache 30 + 31 + # Cypress 32 + /cypress/videos/ 33 + /cypress/screenshots/ 34 + 35 + # Vitest 36 + __screenshots__/
+3
manual-testing/.vscode/extensions.json
··· 1 + { 2 + "recommendations": ["Vue.volar"] 3 + }
+42
manual-testing/README.md
··· 1 + # manual-testing 2 + 3 + This template should help get you started developing with Vue 3 in Vite. 4 + 5 + ## Recommended IDE Setup 6 + 7 + [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur). 8 + 9 + ## Recommended Browser Setup 10 + 11 + - Chromium-based browsers (Chrome, Edge, Brave, etc.): 12 + - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) 13 + - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters) 14 + - Firefox: 15 + - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/) 16 + - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/) 17 + 18 + ## Type Support for `.vue` Imports in TS 19 + 20 + TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types. 21 + 22 + ## Customize configuration 23 + 24 + See [Vite Configuration Reference](https://vite.dev/config/). 25 + 26 + ## Project Setup 27 + 28 + ```sh 29 + npm install 30 + ``` 31 + 32 + ### Compile and Hot-Reload for Development 33 + 34 + ```sh 35 + npm run dev 36 + ``` 37 + 38 + ### Type-Check, Compile and Minify for Production 39 + 40 + ```sh 41 + npm run build 42 + ```
+23
manual-testing/add-dev-dep.cjs
··· 1 + const fs = require('fs'); 2 + 3 + fs.readFile('package.json', 'utf8', (err, data) => { 4 + if (err) { 5 + console.error('Error reading package.json:', err); 6 + return; 7 + } 8 + let packageJson = JSON.parse(data); 9 + 10 + // Add the local build generated in the main project 11 + packageJson.devDependencies = { 12 + ...packageJson.devDependencies, 13 + "vue-data-ui": "file:../../vue-data-ui" 14 + }; 15 + 16 + fs.writeFile('package.json', JSON.stringify(packageJson, null, 2), 'utf8', (err) => { 17 + if (err) { 18 + console.error('Error writing to package.json:', err); 19 + return; 20 + } 21 + console.log('-- DEV MODE : Local vue-data-ui package added successfully --'); 22 + }); 23 + });
+1
manual-testing/env.d.ts
··· 1 + /// <reference types="vite/client" />
+13
manual-testing/index.html
··· 1 + <!DOCTYPE html> 2 + <html lang=""> 3 + <head> 4 + <meta charset="UTF-8"> 5 + <link rel="icon" href="/favicon.ico"> 6 + <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 + <title>Vue Data UI - Manual testing</title> 8 + </head> 9 + <body> 10 + <div id="app"></div> 11 + <script type="module" src="/src/main.ts"></script> 12 + </body> 13 + </html>
+2956
manual-testing/package-lock.json
··· 1 + { 2 + "name": "manual-testing", 3 + "version": "0.0.0", 4 + "lockfileVersion": 3, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "manual-testing", 9 + "version": "0.0.0", 10 + "dependencies": { 11 + "vue": "^3.5.22", 12 + "vue-router": "^4.6.3" 13 + }, 14 + "devDependencies": { 15 + "@tsconfig/node22": "^22.0.2", 16 + "@types/node": "^22.18.11", 17 + "@vitejs/plugin-vue": "^6.0.1", 18 + "@vue/tsconfig": "^0.8.1", 19 + "npm-run-all2": "^8.0.4", 20 + "typescript": "~5.9.0", 21 + "vite": "^7.1.11", 22 + "vite-plugin-vue-devtools": "^8.0.3", 23 + "vue-data-ui": "file:../../vue-data-ui", 24 + "vue-tsc": "^3.1.1" 25 + }, 26 + "engines": { 27 + "node": "^20.19.0 || >=22.12.0" 28 + } 29 + }, 30 + "..": { 31 + "version": "3.7.11", 32 + "dev": true, 33 + "license": "MIT", 34 + "devDependencies": { 35 + "@vitejs/plugin-vue": "^6.0.2", 36 + "cypress": "^15.7.0", 37 + "remove-attr": "^0.0.13", 38 + "sass": "^1.57.1", 39 + "simple-git": "^3.24.0", 40 + "vite": "^7.2.4", 41 + "vitest": "^4.0.13", 42 + "vue": "^3.5.25" 43 + }, 44 + "peerDependencies": { 45 + "jspdf": "^3.0.1", 46 + "vue": ">=3.3.0" 47 + }, 48 + "peerDependenciesMeta": { 49 + "jspdf": { 50 + "optional": true 51 + } 52 + } 53 + }, 54 + "../vue-data-ui": { 55 + "extraneous": true 56 + }, 57 + "node_modules/@babel/code-frame": { 58 + "version": "7.27.1", 59 + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", 60 + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", 61 + "dev": true, 62 + "license": "MIT", 63 + "dependencies": { 64 + "@babel/helper-validator-identifier": "^7.27.1", 65 + "js-tokens": "^4.0.0", 66 + "picocolors": "^1.1.1" 67 + }, 68 + "engines": { 69 + "node": ">=6.9.0" 70 + } 71 + }, 72 + "node_modules/@babel/compat-data": { 73 + "version": "7.28.5", 74 + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", 75 + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", 76 + "dev": true, 77 + "license": "MIT", 78 + "engines": { 79 + "node": ">=6.9.0" 80 + } 81 + }, 82 + "node_modules/@babel/core": { 83 + "version": "7.28.5", 84 + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", 85 + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", 86 + "dev": true, 87 + "license": "MIT", 88 + "dependencies": { 89 + "@babel/code-frame": "^7.27.1", 90 + "@babel/generator": "^7.28.5", 91 + "@babel/helper-compilation-targets": "^7.27.2", 92 + "@babel/helper-module-transforms": "^7.28.3", 93 + "@babel/helpers": "^7.28.4", 94 + "@babel/parser": "^7.28.5", 95 + "@babel/template": "^7.27.2", 96 + "@babel/traverse": "^7.28.5", 97 + "@babel/types": "^7.28.5", 98 + "@jridgewell/remapping": "^2.3.5", 99 + "convert-source-map": "^2.0.0", 100 + "debug": "^4.1.0", 101 + "gensync": "^1.0.0-beta.2", 102 + "json5": "^2.2.3", 103 + "semver": "^6.3.1" 104 + }, 105 + "engines": { 106 + "node": ">=6.9.0" 107 + }, 108 + "funding": { 109 + "type": "opencollective", 110 + "url": "https://opencollective.com/babel" 111 + } 112 + }, 113 + "node_modules/@babel/generator": { 114 + "version": "7.28.5", 115 + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", 116 + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", 117 + "dev": true, 118 + "license": "MIT", 119 + "dependencies": { 120 + "@babel/parser": "^7.28.5", 121 + "@babel/types": "^7.28.5", 122 + "@jridgewell/gen-mapping": "^0.3.12", 123 + "@jridgewell/trace-mapping": "^0.3.28", 124 + "jsesc": "^3.0.2" 125 + }, 126 + "engines": { 127 + "node": ">=6.9.0" 128 + } 129 + }, 130 + "node_modules/@babel/helper-annotate-as-pure": { 131 + "version": "7.27.3", 132 + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", 133 + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", 134 + "dev": true, 135 + "license": "MIT", 136 + "dependencies": { 137 + "@babel/types": "^7.27.3" 138 + }, 139 + "engines": { 140 + "node": ">=6.9.0" 141 + } 142 + }, 143 + "node_modules/@babel/helper-compilation-targets": { 144 + "version": "7.27.2", 145 + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", 146 + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", 147 + "dev": true, 148 + "license": "MIT", 149 + "dependencies": { 150 + "@babel/compat-data": "^7.27.2", 151 + "@babel/helper-validator-option": "^7.27.1", 152 + "browserslist": "^4.24.0", 153 + "lru-cache": "^5.1.1", 154 + "semver": "^6.3.1" 155 + }, 156 + "engines": { 157 + "node": ">=6.9.0" 158 + } 159 + }, 160 + "node_modules/@babel/helper-create-class-features-plugin": { 161 + "version": "7.28.5", 162 + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", 163 + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", 164 + "dev": true, 165 + "license": "MIT", 166 + "dependencies": { 167 + "@babel/helper-annotate-as-pure": "^7.27.3", 168 + "@babel/helper-member-expression-to-functions": "^7.28.5", 169 + "@babel/helper-optimise-call-expression": "^7.27.1", 170 + "@babel/helper-replace-supers": "^7.27.1", 171 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 172 + "@babel/traverse": "^7.28.5", 173 + "semver": "^6.3.1" 174 + }, 175 + "engines": { 176 + "node": ">=6.9.0" 177 + }, 178 + "peerDependencies": { 179 + "@babel/core": "^7.0.0" 180 + } 181 + }, 182 + "node_modules/@babel/helper-globals": { 183 + "version": "7.28.0", 184 + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", 185 + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", 186 + "dev": true, 187 + "license": "MIT", 188 + "engines": { 189 + "node": ">=6.9.0" 190 + } 191 + }, 192 + "node_modules/@babel/helper-member-expression-to-functions": { 193 + "version": "7.28.5", 194 + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", 195 + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", 196 + "dev": true, 197 + "license": "MIT", 198 + "dependencies": { 199 + "@babel/traverse": "^7.28.5", 200 + "@babel/types": "^7.28.5" 201 + }, 202 + "engines": { 203 + "node": ">=6.9.0" 204 + } 205 + }, 206 + "node_modules/@babel/helper-module-imports": { 207 + "version": "7.27.1", 208 + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", 209 + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", 210 + "dev": true, 211 + "license": "MIT", 212 + "dependencies": { 213 + "@babel/traverse": "^7.27.1", 214 + "@babel/types": "^7.27.1" 215 + }, 216 + "engines": { 217 + "node": ">=6.9.0" 218 + } 219 + }, 220 + "node_modules/@babel/helper-module-transforms": { 221 + "version": "7.28.3", 222 + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", 223 + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", 224 + "dev": true, 225 + "license": "MIT", 226 + "dependencies": { 227 + "@babel/helper-module-imports": "^7.27.1", 228 + "@babel/helper-validator-identifier": "^7.27.1", 229 + "@babel/traverse": "^7.28.3" 230 + }, 231 + "engines": { 232 + "node": ">=6.9.0" 233 + }, 234 + "peerDependencies": { 235 + "@babel/core": "^7.0.0" 236 + } 237 + }, 238 + "node_modules/@babel/helper-optimise-call-expression": { 239 + "version": "7.27.1", 240 + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", 241 + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", 242 + "dev": true, 243 + "license": "MIT", 244 + "dependencies": { 245 + "@babel/types": "^7.27.1" 246 + }, 247 + "engines": { 248 + "node": ">=6.9.0" 249 + } 250 + }, 251 + "node_modules/@babel/helper-plugin-utils": { 252 + "version": "7.27.1", 253 + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", 254 + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", 255 + "dev": true, 256 + "license": "MIT", 257 + "engines": { 258 + "node": ">=6.9.0" 259 + } 260 + }, 261 + "node_modules/@babel/helper-replace-supers": { 262 + "version": "7.27.1", 263 + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", 264 + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", 265 + "dev": true, 266 + "license": "MIT", 267 + "dependencies": { 268 + "@babel/helper-member-expression-to-functions": "^7.27.1", 269 + "@babel/helper-optimise-call-expression": "^7.27.1", 270 + "@babel/traverse": "^7.27.1" 271 + }, 272 + "engines": { 273 + "node": ">=6.9.0" 274 + }, 275 + "peerDependencies": { 276 + "@babel/core": "^7.0.0" 277 + } 278 + }, 279 + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { 280 + "version": "7.27.1", 281 + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", 282 + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", 283 + "dev": true, 284 + "license": "MIT", 285 + "dependencies": { 286 + "@babel/traverse": "^7.27.1", 287 + "@babel/types": "^7.27.1" 288 + }, 289 + "engines": { 290 + "node": ">=6.9.0" 291 + } 292 + }, 293 + "node_modules/@babel/helper-string-parser": { 294 + "version": "7.27.1", 295 + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", 296 + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", 297 + "license": "MIT", 298 + "engines": { 299 + "node": ">=6.9.0" 300 + } 301 + }, 302 + "node_modules/@babel/helper-validator-identifier": { 303 + "version": "7.28.5", 304 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", 305 + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", 306 + "license": "MIT", 307 + "engines": { 308 + "node": ">=6.9.0" 309 + } 310 + }, 311 + "node_modules/@babel/helper-validator-option": { 312 + "version": "7.27.1", 313 + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", 314 + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", 315 + "dev": true, 316 + "license": "MIT", 317 + "engines": { 318 + "node": ">=6.9.0" 319 + } 320 + }, 321 + "node_modules/@babel/helpers": { 322 + "version": "7.28.4", 323 + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", 324 + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", 325 + "dev": true, 326 + "license": "MIT", 327 + "dependencies": { 328 + "@babel/template": "^7.27.2", 329 + "@babel/types": "^7.28.4" 330 + }, 331 + "engines": { 332 + "node": ">=6.9.0" 333 + } 334 + }, 335 + "node_modules/@babel/parser": { 336 + "version": "7.28.5", 337 + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", 338 + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", 339 + "license": "MIT", 340 + "dependencies": { 341 + "@babel/types": "^7.28.5" 342 + }, 343 + "bin": { 344 + "parser": "bin/babel-parser.js" 345 + }, 346 + "engines": { 347 + "node": ">=6.0.0" 348 + } 349 + }, 350 + "node_modules/@babel/plugin-proposal-decorators": { 351 + "version": "7.28.0", 352 + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", 353 + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", 354 + "dev": true, 355 + "license": "MIT", 356 + "dependencies": { 357 + "@babel/helper-create-class-features-plugin": "^7.27.1", 358 + "@babel/helper-plugin-utils": "^7.27.1", 359 + "@babel/plugin-syntax-decorators": "^7.27.1" 360 + }, 361 + "engines": { 362 + "node": ">=6.9.0" 363 + }, 364 + "peerDependencies": { 365 + "@babel/core": "^7.0.0-0" 366 + } 367 + }, 368 + "node_modules/@babel/plugin-syntax-decorators": { 369 + "version": "7.27.1", 370 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", 371 + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", 372 + "dev": true, 373 + "license": "MIT", 374 + "dependencies": { 375 + "@babel/helper-plugin-utils": "^7.27.1" 376 + }, 377 + "engines": { 378 + "node": ">=6.9.0" 379 + }, 380 + "peerDependencies": { 381 + "@babel/core": "^7.0.0-0" 382 + } 383 + }, 384 + "node_modules/@babel/plugin-syntax-import-attributes": { 385 + "version": "7.27.1", 386 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", 387 + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", 388 + "dev": true, 389 + "license": "MIT", 390 + "dependencies": { 391 + "@babel/helper-plugin-utils": "^7.27.1" 392 + }, 393 + "engines": { 394 + "node": ">=6.9.0" 395 + }, 396 + "peerDependencies": { 397 + "@babel/core": "^7.0.0-0" 398 + } 399 + }, 400 + "node_modules/@babel/plugin-syntax-import-meta": { 401 + "version": "7.10.4", 402 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", 403 + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", 404 + "dev": true, 405 + "license": "MIT", 406 + "dependencies": { 407 + "@babel/helper-plugin-utils": "^7.10.4" 408 + }, 409 + "peerDependencies": { 410 + "@babel/core": "^7.0.0-0" 411 + } 412 + }, 413 + "node_modules/@babel/plugin-syntax-jsx": { 414 + "version": "7.27.1", 415 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", 416 + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", 417 + "dev": true, 418 + "license": "MIT", 419 + "dependencies": { 420 + "@babel/helper-plugin-utils": "^7.27.1" 421 + }, 422 + "engines": { 423 + "node": ">=6.9.0" 424 + }, 425 + "peerDependencies": { 426 + "@babel/core": "^7.0.0-0" 427 + } 428 + }, 429 + "node_modules/@babel/plugin-syntax-typescript": { 430 + "version": "7.27.1", 431 + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", 432 + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", 433 + "dev": true, 434 + "license": "MIT", 435 + "dependencies": { 436 + "@babel/helper-plugin-utils": "^7.27.1" 437 + }, 438 + "engines": { 439 + "node": ">=6.9.0" 440 + }, 441 + "peerDependencies": { 442 + "@babel/core": "^7.0.0-0" 443 + } 444 + }, 445 + "node_modules/@babel/plugin-transform-typescript": { 446 + "version": "7.28.5", 447 + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", 448 + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", 449 + "dev": true, 450 + "license": "MIT", 451 + "dependencies": { 452 + "@babel/helper-annotate-as-pure": "^7.27.3", 453 + "@babel/helper-create-class-features-plugin": "^7.28.5", 454 + "@babel/helper-plugin-utils": "^7.27.1", 455 + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", 456 + "@babel/plugin-syntax-typescript": "^7.27.1" 457 + }, 458 + "engines": { 459 + "node": ">=6.9.0" 460 + }, 461 + "peerDependencies": { 462 + "@babel/core": "^7.0.0-0" 463 + } 464 + }, 465 + "node_modules/@babel/template": { 466 + "version": "7.27.2", 467 + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", 468 + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", 469 + "dev": true, 470 + "license": "MIT", 471 + "dependencies": { 472 + "@babel/code-frame": "^7.27.1", 473 + "@babel/parser": "^7.27.2", 474 + "@babel/types": "^7.27.1" 475 + }, 476 + "engines": { 477 + "node": ">=6.9.0" 478 + } 479 + }, 480 + "node_modules/@babel/traverse": { 481 + "version": "7.28.5", 482 + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", 483 + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", 484 + "dev": true, 485 + "license": "MIT", 486 + "dependencies": { 487 + "@babel/code-frame": "^7.27.1", 488 + "@babel/generator": "^7.28.5", 489 + "@babel/helper-globals": "^7.28.0", 490 + "@babel/parser": "^7.28.5", 491 + "@babel/template": "^7.27.2", 492 + "@babel/types": "^7.28.5", 493 + "debug": "^4.3.1" 494 + }, 495 + "engines": { 496 + "node": ">=6.9.0" 497 + } 498 + }, 499 + "node_modules/@babel/types": { 500 + "version": "7.28.5", 501 + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", 502 + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", 503 + "license": "MIT", 504 + "dependencies": { 505 + "@babel/helper-string-parser": "^7.27.1", 506 + "@babel/helper-validator-identifier": "^7.28.5" 507 + }, 508 + "engines": { 509 + "node": ">=6.9.0" 510 + } 511 + }, 512 + "node_modules/@esbuild/aix-ppc64": { 513 + "version": "0.25.12", 514 + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", 515 + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", 516 + "cpu": [ 517 + "ppc64" 518 + ], 519 + "dev": true, 520 + "license": "MIT", 521 + "optional": true, 522 + "os": [ 523 + "aix" 524 + ], 525 + "engines": { 526 + "node": ">=18" 527 + } 528 + }, 529 + "node_modules/@esbuild/android-arm": { 530 + "version": "0.25.12", 531 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", 532 + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", 533 + "cpu": [ 534 + "arm" 535 + ], 536 + "dev": true, 537 + "license": "MIT", 538 + "optional": true, 539 + "os": [ 540 + "android" 541 + ], 542 + "engines": { 543 + "node": ">=18" 544 + } 545 + }, 546 + "node_modules/@esbuild/android-arm64": { 547 + "version": "0.25.12", 548 + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", 549 + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", 550 + "cpu": [ 551 + "arm64" 552 + ], 553 + "dev": true, 554 + "license": "MIT", 555 + "optional": true, 556 + "os": [ 557 + "android" 558 + ], 559 + "engines": { 560 + "node": ">=18" 561 + } 562 + }, 563 + "node_modules/@esbuild/android-x64": { 564 + "version": "0.25.12", 565 + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", 566 + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", 567 + "cpu": [ 568 + "x64" 569 + ], 570 + "dev": true, 571 + "license": "MIT", 572 + "optional": true, 573 + "os": [ 574 + "android" 575 + ], 576 + "engines": { 577 + "node": ">=18" 578 + } 579 + }, 580 + "node_modules/@esbuild/darwin-arm64": { 581 + "version": "0.25.12", 582 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", 583 + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", 584 + "cpu": [ 585 + "arm64" 586 + ], 587 + "dev": true, 588 + "license": "MIT", 589 + "optional": true, 590 + "os": [ 591 + "darwin" 592 + ], 593 + "engines": { 594 + "node": ">=18" 595 + } 596 + }, 597 + "node_modules/@esbuild/darwin-x64": { 598 + "version": "0.25.12", 599 + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", 600 + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", 601 + "cpu": [ 602 + "x64" 603 + ], 604 + "dev": true, 605 + "license": "MIT", 606 + "optional": true, 607 + "os": [ 608 + "darwin" 609 + ], 610 + "engines": { 611 + "node": ">=18" 612 + } 613 + }, 614 + "node_modules/@esbuild/freebsd-arm64": { 615 + "version": "0.25.12", 616 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", 617 + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", 618 + "cpu": [ 619 + "arm64" 620 + ], 621 + "dev": true, 622 + "license": "MIT", 623 + "optional": true, 624 + "os": [ 625 + "freebsd" 626 + ], 627 + "engines": { 628 + "node": ">=18" 629 + } 630 + }, 631 + "node_modules/@esbuild/freebsd-x64": { 632 + "version": "0.25.12", 633 + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", 634 + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", 635 + "cpu": [ 636 + "x64" 637 + ], 638 + "dev": true, 639 + "license": "MIT", 640 + "optional": true, 641 + "os": [ 642 + "freebsd" 643 + ], 644 + "engines": { 645 + "node": ">=18" 646 + } 647 + }, 648 + "node_modules/@esbuild/linux-arm": { 649 + "version": "0.25.12", 650 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", 651 + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", 652 + "cpu": [ 653 + "arm" 654 + ], 655 + "dev": true, 656 + "license": "MIT", 657 + "optional": true, 658 + "os": [ 659 + "linux" 660 + ], 661 + "engines": { 662 + "node": ">=18" 663 + } 664 + }, 665 + "node_modules/@esbuild/linux-arm64": { 666 + "version": "0.25.12", 667 + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", 668 + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", 669 + "cpu": [ 670 + "arm64" 671 + ], 672 + "dev": true, 673 + "license": "MIT", 674 + "optional": true, 675 + "os": [ 676 + "linux" 677 + ], 678 + "engines": { 679 + "node": ">=18" 680 + } 681 + }, 682 + "node_modules/@esbuild/linux-ia32": { 683 + "version": "0.25.12", 684 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", 685 + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", 686 + "cpu": [ 687 + "ia32" 688 + ], 689 + "dev": true, 690 + "license": "MIT", 691 + "optional": true, 692 + "os": [ 693 + "linux" 694 + ], 695 + "engines": { 696 + "node": ">=18" 697 + } 698 + }, 699 + "node_modules/@esbuild/linux-loong64": { 700 + "version": "0.25.12", 701 + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", 702 + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", 703 + "cpu": [ 704 + "loong64" 705 + ], 706 + "dev": true, 707 + "license": "MIT", 708 + "optional": true, 709 + "os": [ 710 + "linux" 711 + ], 712 + "engines": { 713 + "node": ">=18" 714 + } 715 + }, 716 + "node_modules/@esbuild/linux-mips64el": { 717 + "version": "0.25.12", 718 + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", 719 + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", 720 + "cpu": [ 721 + "mips64el" 722 + ], 723 + "dev": true, 724 + "license": "MIT", 725 + "optional": true, 726 + "os": [ 727 + "linux" 728 + ], 729 + "engines": { 730 + "node": ">=18" 731 + } 732 + }, 733 + "node_modules/@esbuild/linux-ppc64": { 734 + "version": "0.25.12", 735 + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", 736 + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", 737 + "cpu": [ 738 + "ppc64" 739 + ], 740 + "dev": true, 741 + "license": "MIT", 742 + "optional": true, 743 + "os": [ 744 + "linux" 745 + ], 746 + "engines": { 747 + "node": ">=18" 748 + } 749 + }, 750 + "node_modules/@esbuild/linux-riscv64": { 751 + "version": "0.25.12", 752 + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", 753 + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", 754 + "cpu": [ 755 + "riscv64" 756 + ], 757 + "dev": true, 758 + "license": "MIT", 759 + "optional": true, 760 + "os": [ 761 + "linux" 762 + ], 763 + "engines": { 764 + "node": ">=18" 765 + } 766 + }, 767 + "node_modules/@esbuild/linux-s390x": { 768 + "version": "0.25.12", 769 + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", 770 + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", 771 + "cpu": [ 772 + "s390x" 773 + ], 774 + "dev": true, 775 + "license": "MIT", 776 + "optional": true, 777 + "os": [ 778 + "linux" 779 + ], 780 + "engines": { 781 + "node": ">=18" 782 + } 783 + }, 784 + "node_modules/@esbuild/linux-x64": { 785 + "version": "0.25.12", 786 + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", 787 + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", 788 + "cpu": [ 789 + "x64" 790 + ], 791 + "dev": true, 792 + "license": "MIT", 793 + "optional": true, 794 + "os": [ 795 + "linux" 796 + ], 797 + "engines": { 798 + "node": ">=18" 799 + } 800 + }, 801 + "node_modules/@esbuild/netbsd-arm64": { 802 + "version": "0.25.12", 803 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", 804 + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", 805 + "cpu": [ 806 + "arm64" 807 + ], 808 + "dev": true, 809 + "license": "MIT", 810 + "optional": true, 811 + "os": [ 812 + "netbsd" 813 + ], 814 + "engines": { 815 + "node": ">=18" 816 + } 817 + }, 818 + "node_modules/@esbuild/netbsd-x64": { 819 + "version": "0.25.12", 820 + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", 821 + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", 822 + "cpu": [ 823 + "x64" 824 + ], 825 + "dev": true, 826 + "license": "MIT", 827 + "optional": true, 828 + "os": [ 829 + "netbsd" 830 + ], 831 + "engines": { 832 + "node": ">=18" 833 + } 834 + }, 835 + "node_modules/@esbuild/openbsd-arm64": { 836 + "version": "0.25.12", 837 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", 838 + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", 839 + "cpu": [ 840 + "arm64" 841 + ], 842 + "dev": true, 843 + "license": "MIT", 844 + "optional": true, 845 + "os": [ 846 + "openbsd" 847 + ], 848 + "engines": { 849 + "node": ">=18" 850 + } 851 + }, 852 + "node_modules/@esbuild/openbsd-x64": { 853 + "version": "0.25.12", 854 + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", 855 + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", 856 + "cpu": [ 857 + "x64" 858 + ], 859 + "dev": true, 860 + "license": "MIT", 861 + "optional": true, 862 + "os": [ 863 + "openbsd" 864 + ], 865 + "engines": { 866 + "node": ">=18" 867 + } 868 + }, 869 + "node_modules/@esbuild/openharmony-arm64": { 870 + "version": "0.25.12", 871 + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", 872 + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", 873 + "cpu": [ 874 + "arm64" 875 + ], 876 + "dev": true, 877 + "license": "MIT", 878 + "optional": true, 879 + "os": [ 880 + "openharmony" 881 + ], 882 + "engines": { 883 + "node": ">=18" 884 + } 885 + }, 886 + "node_modules/@esbuild/sunos-x64": { 887 + "version": "0.25.12", 888 + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", 889 + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", 890 + "cpu": [ 891 + "x64" 892 + ], 893 + "dev": true, 894 + "license": "MIT", 895 + "optional": true, 896 + "os": [ 897 + "sunos" 898 + ], 899 + "engines": { 900 + "node": ">=18" 901 + } 902 + }, 903 + "node_modules/@esbuild/win32-arm64": { 904 + "version": "0.25.12", 905 + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", 906 + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", 907 + "cpu": [ 908 + "arm64" 909 + ], 910 + "dev": true, 911 + "license": "MIT", 912 + "optional": true, 913 + "os": [ 914 + "win32" 915 + ], 916 + "engines": { 917 + "node": ">=18" 918 + } 919 + }, 920 + "node_modules/@esbuild/win32-ia32": { 921 + "version": "0.25.12", 922 + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", 923 + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", 924 + "cpu": [ 925 + "ia32" 926 + ], 927 + "dev": true, 928 + "license": "MIT", 929 + "optional": true, 930 + "os": [ 931 + "win32" 932 + ], 933 + "engines": { 934 + "node": ">=18" 935 + } 936 + }, 937 + "node_modules/@esbuild/win32-x64": { 938 + "version": "0.25.12", 939 + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", 940 + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", 941 + "cpu": [ 942 + "x64" 943 + ], 944 + "dev": true, 945 + "license": "MIT", 946 + "optional": true, 947 + "os": [ 948 + "win32" 949 + ], 950 + "engines": { 951 + "node": ">=18" 952 + } 953 + }, 954 + "node_modules/@jridgewell/gen-mapping": { 955 + "version": "0.3.13", 956 + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", 957 + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", 958 + "dev": true, 959 + "license": "MIT", 960 + "dependencies": { 961 + "@jridgewell/sourcemap-codec": "^1.5.0", 962 + "@jridgewell/trace-mapping": "^0.3.24" 963 + } 964 + }, 965 + "node_modules/@jridgewell/remapping": { 966 + "version": "2.3.5", 967 + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", 968 + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", 969 + "dev": true, 970 + "license": "MIT", 971 + "dependencies": { 972 + "@jridgewell/gen-mapping": "^0.3.5", 973 + "@jridgewell/trace-mapping": "^0.3.24" 974 + } 975 + }, 976 + "node_modules/@jridgewell/resolve-uri": { 977 + "version": "3.1.2", 978 + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 979 + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 980 + "dev": true, 981 + "license": "MIT", 982 + "engines": { 983 + "node": ">=6.0.0" 984 + } 985 + }, 986 + "node_modules/@jridgewell/sourcemap-codec": { 987 + "version": "1.5.5", 988 + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", 989 + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", 990 + "license": "MIT" 991 + }, 992 + "node_modules/@jridgewell/trace-mapping": { 993 + "version": "0.3.31", 994 + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", 995 + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", 996 + "dev": true, 997 + "license": "MIT", 998 + "dependencies": { 999 + "@jridgewell/resolve-uri": "^3.1.0", 1000 + "@jridgewell/sourcemap-codec": "^1.4.14" 1001 + } 1002 + }, 1003 + "node_modules/@polka/url": { 1004 + "version": "1.0.0-next.29", 1005 + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", 1006 + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", 1007 + "dev": true, 1008 + "license": "MIT" 1009 + }, 1010 + "node_modules/@rolldown/pluginutils": { 1011 + "version": "1.0.0-beta.50", 1012 + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz", 1013 + "integrity": "sha512-5e76wQiQVeL1ICOZVUg4LSOVYg9jyhGCin+icYozhsUzM+fHE7kddi1bdiE0jwVqTfkjba3jUFbEkoC9WkdvyA==", 1014 + "dev": true, 1015 + "license": "MIT" 1016 + }, 1017 + "node_modules/@rollup/rollup-android-arm-eabi": { 1018 + "version": "4.53.3", 1019 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz", 1020 + "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", 1021 + "cpu": [ 1022 + "arm" 1023 + ], 1024 + "dev": true, 1025 + "license": "MIT", 1026 + "optional": true, 1027 + "os": [ 1028 + "android" 1029 + ] 1030 + }, 1031 + "node_modules/@rollup/rollup-android-arm64": { 1032 + "version": "4.53.3", 1033 + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz", 1034 + "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", 1035 + "cpu": [ 1036 + "arm64" 1037 + ], 1038 + "dev": true, 1039 + "license": "MIT", 1040 + "optional": true, 1041 + "os": [ 1042 + "android" 1043 + ] 1044 + }, 1045 + "node_modules/@rollup/rollup-darwin-arm64": { 1046 + "version": "4.53.3", 1047 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz", 1048 + "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", 1049 + "cpu": [ 1050 + "arm64" 1051 + ], 1052 + "dev": true, 1053 + "license": "MIT", 1054 + "optional": true, 1055 + "os": [ 1056 + "darwin" 1057 + ] 1058 + }, 1059 + "node_modules/@rollup/rollup-darwin-x64": { 1060 + "version": "4.53.3", 1061 + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz", 1062 + "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", 1063 + "cpu": [ 1064 + "x64" 1065 + ], 1066 + "dev": true, 1067 + "license": "MIT", 1068 + "optional": true, 1069 + "os": [ 1070 + "darwin" 1071 + ] 1072 + }, 1073 + "node_modules/@rollup/rollup-freebsd-arm64": { 1074 + "version": "4.53.3", 1075 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz", 1076 + "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", 1077 + "cpu": [ 1078 + "arm64" 1079 + ], 1080 + "dev": true, 1081 + "license": "MIT", 1082 + "optional": true, 1083 + "os": [ 1084 + "freebsd" 1085 + ] 1086 + }, 1087 + "node_modules/@rollup/rollup-freebsd-x64": { 1088 + "version": "4.53.3", 1089 + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz", 1090 + "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", 1091 + "cpu": [ 1092 + "x64" 1093 + ], 1094 + "dev": true, 1095 + "license": "MIT", 1096 + "optional": true, 1097 + "os": [ 1098 + "freebsd" 1099 + ] 1100 + }, 1101 + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 1102 + "version": "4.53.3", 1103 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz", 1104 + "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", 1105 + "cpu": [ 1106 + "arm" 1107 + ], 1108 + "dev": true, 1109 + "license": "MIT", 1110 + "optional": true, 1111 + "os": [ 1112 + "linux" 1113 + ] 1114 + }, 1115 + "node_modules/@rollup/rollup-linux-arm-musleabihf": { 1116 + "version": "4.53.3", 1117 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz", 1118 + "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", 1119 + "cpu": [ 1120 + "arm" 1121 + ], 1122 + "dev": true, 1123 + "license": "MIT", 1124 + "optional": true, 1125 + "os": [ 1126 + "linux" 1127 + ] 1128 + }, 1129 + "node_modules/@rollup/rollup-linux-arm64-gnu": { 1130 + "version": "4.53.3", 1131 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz", 1132 + "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", 1133 + "cpu": [ 1134 + "arm64" 1135 + ], 1136 + "dev": true, 1137 + "license": "MIT", 1138 + "optional": true, 1139 + "os": [ 1140 + "linux" 1141 + ] 1142 + }, 1143 + "node_modules/@rollup/rollup-linux-arm64-musl": { 1144 + "version": "4.53.3", 1145 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz", 1146 + "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", 1147 + "cpu": [ 1148 + "arm64" 1149 + ], 1150 + "dev": true, 1151 + "license": "MIT", 1152 + "optional": true, 1153 + "os": [ 1154 + "linux" 1155 + ] 1156 + }, 1157 + "node_modules/@rollup/rollup-linux-loong64-gnu": { 1158 + "version": "4.53.3", 1159 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz", 1160 + "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", 1161 + "cpu": [ 1162 + "loong64" 1163 + ], 1164 + "dev": true, 1165 + "license": "MIT", 1166 + "optional": true, 1167 + "os": [ 1168 + "linux" 1169 + ] 1170 + }, 1171 + "node_modules/@rollup/rollup-linux-ppc64-gnu": { 1172 + "version": "4.53.3", 1173 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz", 1174 + "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", 1175 + "cpu": [ 1176 + "ppc64" 1177 + ], 1178 + "dev": true, 1179 + "license": "MIT", 1180 + "optional": true, 1181 + "os": [ 1182 + "linux" 1183 + ] 1184 + }, 1185 + "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1186 + "version": "4.53.3", 1187 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz", 1188 + "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", 1189 + "cpu": [ 1190 + "riscv64" 1191 + ], 1192 + "dev": true, 1193 + "license": "MIT", 1194 + "optional": true, 1195 + "os": [ 1196 + "linux" 1197 + ] 1198 + }, 1199 + "node_modules/@rollup/rollup-linux-riscv64-musl": { 1200 + "version": "4.53.3", 1201 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz", 1202 + "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", 1203 + "cpu": [ 1204 + "riscv64" 1205 + ], 1206 + "dev": true, 1207 + "license": "MIT", 1208 + "optional": true, 1209 + "os": [ 1210 + "linux" 1211 + ] 1212 + }, 1213 + "node_modules/@rollup/rollup-linux-s390x-gnu": { 1214 + "version": "4.53.3", 1215 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz", 1216 + "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", 1217 + "cpu": [ 1218 + "s390x" 1219 + ], 1220 + "dev": true, 1221 + "license": "MIT", 1222 + "optional": true, 1223 + "os": [ 1224 + "linux" 1225 + ] 1226 + }, 1227 + "node_modules/@rollup/rollup-linux-x64-gnu": { 1228 + "version": "4.53.3", 1229 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz", 1230 + "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", 1231 + "cpu": [ 1232 + "x64" 1233 + ], 1234 + "dev": true, 1235 + "license": "MIT", 1236 + "optional": true, 1237 + "os": [ 1238 + "linux" 1239 + ] 1240 + }, 1241 + "node_modules/@rollup/rollup-linux-x64-musl": { 1242 + "version": "4.53.3", 1243 + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz", 1244 + "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", 1245 + "cpu": [ 1246 + "x64" 1247 + ], 1248 + "dev": true, 1249 + "license": "MIT", 1250 + "optional": true, 1251 + "os": [ 1252 + "linux" 1253 + ] 1254 + }, 1255 + "node_modules/@rollup/rollup-openharmony-arm64": { 1256 + "version": "4.53.3", 1257 + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz", 1258 + "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", 1259 + "cpu": [ 1260 + "arm64" 1261 + ], 1262 + "dev": true, 1263 + "license": "MIT", 1264 + "optional": true, 1265 + "os": [ 1266 + "openharmony" 1267 + ] 1268 + }, 1269 + "node_modules/@rollup/rollup-win32-arm64-msvc": { 1270 + "version": "4.53.3", 1271 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz", 1272 + "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", 1273 + "cpu": [ 1274 + "arm64" 1275 + ], 1276 + "dev": true, 1277 + "license": "MIT", 1278 + "optional": true, 1279 + "os": [ 1280 + "win32" 1281 + ] 1282 + }, 1283 + "node_modules/@rollup/rollup-win32-ia32-msvc": { 1284 + "version": "4.53.3", 1285 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz", 1286 + "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", 1287 + "cpu": [ 1288 + "ia32" 1289 + ], 1290 + "dev": true, 1291 + "license": "MIT", 1292 + "optional": true, 1293 + "os": [ 1294 + "win32" 1295 + ] 1296 + }, 1297 + "node_modules/@rollup/rollup-win32-x64-gnu": { 1298 + "version": "4.53.3", 1299 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz", 1300 + "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", 1301 + "cpu": [ 1302 + "x64" 1303 + ], 1304 + "dev": true, 1305 + "license": "MIT", 1306 + "optional": true, 1307 + "os": [ 1308 + "win32" 1309 + ] 1310 + }, 1311 + "node_modules/@rollup/rollup-win32-x64-msvc": { 1312 + "version": "4.53.3", 1313 + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz", 1314 + "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", 1315 + "cpu": [ 1316 + "x64" 1317 + ], 1318 + "dev": true, 1319 + "license": "MIT", 1320 + "optional": true, 1321 + "os": [ 1322 + "win32" 1323 + ] 1324 + }, 1325 + "node_modules/@tsconfig/node22": { 1326 + "version": "22.0.5", 1327 + "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.5.tgz", 1328 + "integrity": "sha512-hLf2ld+sYN/BtOJjHUWOk568dvjFQkHnLNa6zce25GIH+vxKfvTgm3qpaH6ToF5tu/NN0IH66s+Bb5wElHrLcw==", 1329 + "dev": true, 1330 + "license": "MIT" 1331 + }, 1332 + "node_modules/@types/estree": { 1333 + "version": "1.0.8", 1334 + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", 1335 + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", 1336 + "dev": true, 1337 + "license": "MIT" 1338 + }, 1339 + "node_modules/@types/node": { 1340 + "version": "22.19.1", 1341 + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.1.tgz", 1342 + "integrity": "sha512-LCCV0HdSZZZb34qifBsyWlUmok6W7ouER+oQIGBScS8EsZsQbrtFTUrDX4hOl+CS6p7cnNC4td+qrSVGSCTUfQ==", 1343 + "dev": true, 1344 + "license": "MIT", 1345 + "dependencies": { 1346 + "undici-types": "~6.21.0" 1347 + } 1348 + }, 1349 + "node_modules/@vitejs/plugin-vue": { 1350 + "version": "6.0.2", 1351 + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.2.tgz", 1352 + "integrity": "sha512-iHmwV3QcVGGvSC1BG5bZ4z6iwa1SOpAPWmnjOErd4Ske+lZua5K9TtAVdx0gMBClJ28DViCbSmZitjWZsWO3LA==", 1353 + "dev": true, 1354 + "license": "MIT", 1355 + "dependencies": { 1356 + "@rolldown/pluginutils": "1.0.0-beta.50" 1357 + }, 1358 + "engines": { 1359 + "node": "^20.19.0 || >=22.12.0" 1360 + }, 1361 + "peerDependencies": { 1362 + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", 1363 + "vue": "^3.2.25" 1364 + } 1365 + }, 1366 + "node_modules/@volar/language-core": { 1367 + "version": "2.4.23", 1368 + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.23.tgz", 1369 + "integrity": "sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==", 1370 + "dev": true, 1371 + "license": "MIT", 1372 + "dependencies": { 1373 + "@volar/source-map": "2.4.23" 1374 + } 1375 + }, 1376 + "node_modules/@volar/source-map": { 1377 + "version": "2.4.23", 1378 + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.23.tgz", 1379 + "integrity": "sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==", 1380 + "dev": true, 1381 + "license": "MIT" 1382 + }, 1383 + "node_modules/@volar/typescript": { 1384 + "version": "2.4.23", 1385 + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.23.tgz", 1386 + "integrity": "sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==", 1387 + "dev": true, 1388 + "license": "MIT", 1389 + "dependencies": { 1390 + "@volar/language-core": "2.4.23", 1391 + "path-browserify": "^1.0.1", 1392 + "vscode-uri": "^3.0.8" 1393 + } 1394 + }, 1395 + "node_modules/@vue/babel-helper-vue-transform-on": { 1396 + "version": "1.5.0", 1397 + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", 1398 + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", 1399 + "dev": true, 1400 + "license": "MIT" 1401 + }, 1402 + "node_modules/@vue/babel-plugin-jsx": { 1403 + "version": "1.5.0", 1404 + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", 1405 + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", 1406 + "dev": true, 1407 + "license": "MIT", 1408 + "dependencies": { 1409 + "@babel/helper-module-imports": "^7.27.1", 1410 + "@babel/helper-plugin-utils": "^7.27.1", 1411 + "@babel/plugin-syntax-jsx": "^7.27.1", 1412 + "@babel/template": "^7.27.2", 1413 + "@babel/traverse": "^7.28.0", 1414 + "@babel/types": "^7.28.2", 1415 + "@vue/babel-helper-vue-transform-on": "1.5.0", 1416 + "@vue/babel-plugin-resolve-type": "1.5.0", 1417 + "@vue/shared": "^3.5.18" 1418 + }, 1419 + "peerDependencies": { 1420 + "@babel/core": "^7.0.0-0" 1421 + }, 1422 + "peerDependenciesMeta": { 1423 + "@babel/core": { 1424 + "optional": true 1425 + } 1426 + } 1427 + }, 1428 + "node_modules/@vue/babel-plugin-resolve-type": { 1429 + "version": "1.5.0", 1430 + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", 1431 + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", 1432 + "dev": true, 1433 + "license": "MIT", 1434 + "dependencies": { 1435 + "@babel/code-frame": "^7.27.1", 1436 + "@babel/helper-module-imports": "^7.27.1", 1437 + "@babel/helper-plugin-utils": "^7.27.1", 1438 + "@babel/parser": "^7.28.0", 1439 + "@vue/compiler-sfc": "^3.5.18" 1440 + }, 1441 + "funding": { 1442 + "url": "https://github.com/sponsors/sxzz" 1443 + }, 1444 + "peerDependencies": { 1445 + "@babel/core": "^7.0.0-0" 1446 + } 1447 + }, 1448 + "node_modules/@vue/compiler-core": { 1449 + "version": "3.5.25", 1450 + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.25.tgz", 1451 + "integrity": "sha512-vay5/oQJdsNHmliWoZfHPoVZZRmnSWhug0BYT34njkYTPqClh3DNWLkZNJBVSjsNMrg0CCrBfoKkjZQPM/QVUw==", 1452 + "license": "MIT", 1453 + "dependencies": { 1454 + "@babel/parser": "^7.28.5", 1455 + "@vue/shared": "3.5.25", 1456 + "entities": "^4.5.0", 1457 + "estree-walker": "^2.0.2", 1458 + "source-map-js": "^1.2.1" 1459 + } 1460 + }, 1461 + "node_modules/@vue/compiler-dom": { 1462 + "version": "3.5.25", 1463 + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.25.tgz", 1464 + "integrity": "sha512-4We0OAcMZsKgYoGlMjzYvaoErltdFI2/25wqanuTu+S4gismOTRTBPi4IASOjxWdzIwrYSjnqONfKvuqkXzE2Q==", 1465 + "license": "MIT", 1466 + "dependencies": { 1467 + "@vue/compiler-core": "3.5.25", 1468 + "@vue/shared": "3.5.25" 1469 + } 1470 + }, 1471 + "node_modules/@vue/compiler-sfc": { 1472 + "version": "3.5.25", 1473 + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.25.tgz", 1474 + "integrity": "sha512-PUgKp2rn8fFsI++lF2sO7gwO2d9Yj57Utr5yEsDf3GNaQcowCLKL7sf+LvVFvtJDXUp/03+dC6f2+LCv5aK1ag==", 1475 + "license": "MIT", 1476 + "dependencies": { 1477 + "@babel/parser": "^7.28.5", 1478 + "@vue/compiler-core": "3.5.25", 1479 + "@vue/compiler-dom": "3.5.25", 1480 + "@vue/compiler-ssr": "3.5.25", 1481 + "@vue/shared": "3.5.25", 1482 + "estree-walker": "^2.0.2", 1483 + "magic-string": "^0.30.21", 1484 + "postcss": "^8.5.6", 1485 + "source-map-js": "^1.2.1" 1486 + } 1487 + }, 1488 + "node_modules/@vue/compiler-ssr": { 1489 + "version": "3.5.25", 1490 + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.25.tgz", 1491 + "integrity": "sha512-ritPSKLBcParnsKYi+GNtbdbrIE1mtuFEJ4U1sWeuOMlIziK5GtOL85t5RhsNy4uWIXPgk+OUdpnXiTdzn8o3A==", 1492 + "license": "MIT", 1493 + "dependencies": { 1494 + "@vue/compiler-dom": "3.5.25", 1495 + "@vue/shared": "3.5.25" 1496 + } 1497 + }, 1498 + "node_modules/@vue/devtools-api": { 1499 + "version": "6.6.4", 1500 + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", 1501 + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", 1502 + "license": "MIT" 1503 + }, 1504 + "node_modules/@vue/devtools-core": { 1505 + "version": "8.0.5", 1506 + "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.5.tgz", 1507 + "integrity": "sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==", 1508 + "dev": true, 1509 + "license": "MIT", 1510 + "dependencies": { 1511 + "@vue/devtools-kit": "^8.0.5", 1512 + "@vue/devtools-shared": "^8.0.5", 1513 + "mitt": "^3.0.1", 1514 + "nanoid": "^5.1.5", 1515 + "pathe": "^2.0.3", 1516 + "vite-hot-client": "^2.1.0" 1517 + }, 1518 + "peerDependencies": { 1519 + "vue": "^3.0.0" 1520 + } 1521 + }, 1522 + "node_modules/@vue/devtools-core/node_modules/nanoid": { 1523 + "version": "5.1.6", 1524 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz", 1525 + "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==", 1526 + "dev": true, 1527 + "funding": [ 1528 + { 1529 + "type": "github", 1530 + "url": "https://github.com/sponsors/ai" 1531 + } 1532 + ], 1533 + "license": "MIT", 1534 + "bin": { 1535 + "nanoid": "bin/nanoid.js" 1536 + }, 1537 + "engines": { 1538 + "node": "^18 || >=20" 1539 + } 1540 + }, 1541 + "node_modules/@vue/devtools-kit": { 1542 + "version": "8.0.5", 1543 + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz", 1544 + "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==", 1545 + "dev": true, 1546 + "license": "MIT", 1547 + "dependencies": { 1548 + "@vue/devtools-shared": "^8.0.5", 1549 + "birpc": "^2.6.1", 1550 + "hookable": "^5.5.3", 1551 + "mitt": "^3.0.1", 1552 + "perfect-debounce": "^2.0.0", 1553 + "speakingurl": "^14.0.1", 1554 + "superjson": "^2.2.2" 1555 + } 1556 + }, 1557 + "node_modules/@vue/devtools-shared": { 1558 + "version": "8.0.5", 1559 + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz", 1560 + "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==", 1561 + "dev": true, 1562 + "license": "MIT", 1563 + "dependencies": { 1564 + "rfdc": "^1.4.1" 1565 + } 1566 + }, 1567 + "node_modules/@vue/language-core": { 1568 + "version": "3.1.5", 1569 + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.1.5.tgz", 1570 + "integrity": "sha512-FMcqyzWN+sYBeqRMWPGT2QY0mUasZMVIuHvmb5NT3eeqPrbHBYtCP8JWEUCDCgM+Zr62uuWY/qoeBrPrzfa78w==", 1571 + "dev": true, 1572 + "license": "MIT", 1573 + "dependencies": { 1574 + "@volar/language-core": "2.4.23", 1575 + "@vue/compiler-dom": "^3.5.0", 1576 + "@vue/shared": "^3.5.0", 1577 + "alien-signals": "^3.0.0", 1578 + "muggle-string": "^0.4.1", 1579 + "path-browserify": "^1.0.1", 1580 + "picomatch": "^4.0.2" 1581 + }, 1582 + "peerDependencies": { 1583 + "typescript": "*" 1584 + }, 1585 + "peerDependenciesMeta": { 1586 + "typescript": { 1587 + "optional": true 1588 + } 1589 + } 1590 + }, 1591 + "node_modules/@vue/reactivity": { 1592 + "version": "3.5.25", 1593 + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.25.tgz", 1594 + "integrity": "sha512-5xfAypCQepv4Jog1U4zn8cZIcbKKFka3AgWHEFQeK65OW+Ys4XybP6z2kKgws4YB43KGpqp5D/K3go2UPPunLA==", 1595 + "license": "MIT", 1596 + "dependencies": { 1597 + "@vue/shared": "3.5.25" 1598 + } 1599 + }, 1600 + "node_modules/@vue/runtime-core": { 1601 + "version": "3.5.25", 1602 + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.25.tgz", 1603 + "integrity": "sha512-Z751v203YWwYzy460bzsYQISDfPjHTl+6Zzwo/a3CsAf+0ccEjQ8c+0CdX1WsumRTHeywvyUFtW6KvNukT/smA==", 1604 + "license": "MIT", 1605 + "dependencies": { 1606 + "@vue/reactivity": "3.5.25", 1607 + "@vue/shared": "3.5.25" 1608 + } 1609 + }, 1610 + "node_modules/@vue/runtime-dom": { 1611 + "version": "3.5.25", 1612 + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.25.tgz", 1613 + "integrity": "sha512-a4WrkYFbb19i9pjkz38zJBg8wa/rboNERq3+hRRb0dHiJh13c+6kAbgqCPfMaJ2gg4weWD3APZswASOfmKwamA==", 1614 + "license": "MIT", 1615 + "dependencies": { 1616 + "@vue/reactivity": "3.5.25", 1617 + "@vue/runtime-core": "3.5.25", 1618 + "@vue/shared": "3.5.25", 1619 + "csstype": "^3.1.3" 1620 + } 1621 + }, 1622 + "node_modules/@vue/server-renderer": { 1623 + "version": "3.5.25", 1624 + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.25.tgz", 1625 + "integrity": "sha512-UJaXR54vMG61i8XNIzTSf2Q7MOqZHpp8+x3XLGtE3+fL+nQd+k7O5+X3D/uWrnQXOdMw5VPih+Uremcw+u1woQ==", 1626 + "license": "MIT", 1627 + "dependencies": { 1628 + "@vue/compiler-ssr": "3.5.25", 1629 + "@vue/shared": "3.5.25" 1630 + }, 1631 + "peerDependencies": { 1632 + "vue": "3.5.25" 1633 + } 1634 + }, 1635 + "node_modules/@vue/shared": { 1636 + "version": "3.5.25", 1637 + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.25.tgz", 1638 + "integrity": "sha512-AbOPdQQnAnzs58H2FrrDxYj/TJfmeS2jdfEEhgiKINy+bnOANmVizIEgq1r+C5zsbs6l1CCQxtcj71rwNQ4jWg==", 1639 + "license": "MIT" 1640 + }, 1641 + "node_modules/@vue/tsconfig": { 1642 + "version": "0.8.1", 1643 + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz", 1644 + "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==", 1645 + "dev": true, 1646 + "license": "MIT", 1647 + "peerDependencies": { 1648 + "typescript": "5.x", 1649 + "vue": "^3.4.0" 1650 + }, 1651 + "peerDependenciesMeta": { 1652 + "typescript": { 1653 + "optional": true 1654 + }, 1655 + "vue": { 1656 + "optional": true 1657 + } 1658 + } 1659 + }, 1660 + "node_modules/alien-signals": { 1661 + "version": "3.1.1", 1662 + "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.1.tgz", 1663 + "integrity": "sha512-ogkIWbVrLwKtHY6oOAXaYkAxP+cTH7V5FZ5+Tm4NZFd8VDZ6uNMDrfzqctTZ42eTMCSR3ne3otpcxmqSnFfPYA==", 1664 + "dev": true, 1665 + "license": "MIT" 1666 + }, 1667 + "node_modules/ansi-styles": { 1668 + "version": "6.2.3", 1669 + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", 1670 + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", 1671 + "dev": true, 1672 + "license": "MIT", 1673 + "engines": { 1674 + "node": ">=12" 1675 + }, 1676 + "funding": { 1677 + "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1678 + } 1679 + }, 1680 + "node_modules/ansis": { 1681 + "version": "4.2.0", 1682 + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz", 1683 + "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==", 1684 + "dev": true, 1685 + "license": "ISC", 1686 + "engines": { 1687 + "node": ">=14" 1688 + } 1689 + }, 1690 + "node_modules/baseline-browser-mapping": { 1691 + "version": "2.8.31", 1692 + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.31.tgz", 1693 + "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", 1694 + "dev": true, 1695 + "license": "Apache-2.0", 1696 + "bin": { 1697 + "baseline-browser-mapping": "dist/cli.js" 1698 + } 1699 + }, 1700 + "node_modules/birpc": { 1701 + "version": "2.8.0", 1702 + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.8.0.tgz", 1703 + "integrity": "sha512-Bz2a4qD/5GRhiHSwj30c/8kC8QGj12nNDwz3D4ErQ4Xhy35dsSDvF+RA/tWpjyU0pdGtSDiEk6B5fBGE1qNVhw==", 1704 + "dev": true, 1705 + "license": "MIT", 1706 + "funding": { 1707 + "url": "https://github.com/sponsors/antfu" 1708 + } 1709 + }, 1710 + "node_modules/browserslist": { 1711 + "version": "4.28.0", 1712 + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.0.tgz", 1713 + "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", 1714 + "dev": true, 1715 + "funding": [ 1716 + { 1717 + "type": "opencollective", 1718 + "url": "https://opencollective.com/browserslist" 1719 + }, 1720 + { 1721 + "type": "tidelift", 1722 + "url": "https://tidelift.com/funding/github/npm/browserslist" 1723 + }, 1724 + { 1725 + "type": "github", 1726 + "url": "https://github.com/sponsors/ai" 1727 + } 1728 + ], 1729 + "license": "MIT", 1730 + "dependencies": { 1731 + "baseline-browser-mapping": "^2.8.25", 1732 + "caniuse-lite": "^1.0.30001754", 1733 + "electron-to-chromium": "^1.5.249", 1734 + "node-releases": "^2.0.27", 1735 + "update-browserslist-db": "^1.1.4" 1736 + }, 1737 + "bin": { 1738 + "browserslist": "cli.js" 1739 + }, 1740 + "engines": { 1741 + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1742 + } 1743 + }, 1744 + "node_modules/bundle-name": { 1745 + "version": "4.1.0", 1746 + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", 1747 + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", 1748 + "dev": true, 1749 + "license": "MIT", 1750 + "dependencies": { 1751 + "run-applescript": "^7.0.0" 1752 + }, 1753 + "engines": { 1754 + "node": ">=18" 1755 + }, 1756 + "funding": { 1757 + "url": "https://github.com/sponsors/sindresorhus" 1758 + } 1759 + }, 1760 + "node_modules/caniuse-lite": { 1761 + "version": "1.0.30001757", 1762 + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001757.tgz", 1763 + "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==", 1764 + "dev": true, 1765 + "funding": [ 1766 + { 1767 + "type": "opencollective", 1768 + "url": "https://opencollective.com/browserslist" 1769 + }, 1770 + { 1771 + "type": "tidelift", 1772 + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1773 + }, 1774 + { 1775 + "type": "github", 1776 + "url": "https://github.com/sponsors/ai" 1777 + } 1778 + ], 1779 + "license": "CC-BY-4.0" 1780 + }, 1781 + "node_modules/convert-source-map": { 1782 + "version": "2.0.0", 1783 + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1784 + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1785 + "dev": true, 1786 + "license": "MIT" 1787 + }, 1788 + "node_modules/copy-anything": { 1789 + "version": "4.0.5", 1790 + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", 1791 + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", 1792 + "dev": true, 1793 + "license": "MIT", 1794 + "dependencies": { 1795 + "is-what": "^5.2.0" 1796 + }, 1797 + "engines": { 1798 + "node": ">=18" 1799 + }, 1800 + "funding": { 1801 + "url": "https://github.com/sponsors/mesqueeb" 1802 + } 1803 + }, 1804 + "node_modules/cross-spawn": { 1805 + "version": "7.0.6", 1806 + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1807 + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1808 + "dev": true, 1809 + "license": "MIT", 1810 + "dependencies": { 1811 + "path-key": "^3.1.0", 1812 + "shebang-command": "^2.0.0", 1813 + "which": "^2.0.1" 1814 + }, 1815 + "engines": { 1816 + "node": ">= 8" 1817 + } 1818 + }, 1819 + "node_modules/cross-spawn/node_modules/isexe": { 1820 + "version": "2.0.0", 1821 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1822 + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1823 + "dev": true, 1824 + "license": "ISC" 1825 + }, 1826 + "node_modules/cross-spawn/node_modules/which": { 1827 + "version": "2.0.2", 1828 + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1829 + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1830 + "dev": true, 1831 + "license": "ISC", 1832 + "dependencies": { 1833 + "isexe": "^2.0.0" 1834 + }, 1835 + "bin": { 1836 + "node-which": "bin/node-which" 1837 + }, 1838 + "engines": { 1839 + "node": ">= 8" 1840 + } 1841 + }, 1842 + "node_modules/csstype": { 1843 + "version": "3.2.3", 1844 + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", 1845 + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", 1846 + "license": "MIT" 1847 + }, 1848 + "node_modules/debug": { 1849 + "version": "4.4.3", 1850 + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", 1851 + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", 1852 + "dev": true, 1853 + "license": "MIT", 1854 + "dependencies": { 1855 + "ms": "^2.1.3" 1856 + }, 1857 + "engines": { 1858 + "node": ">=6.0" 1859 + }, 1860 + "peerDependenciesMeta": { 1861 + "supports-color": { 1862 + "optional": true 1863 + } 1864 + } 1865 + }, 1866 + "node_modules/default-browser": { 1867 + "version": "5.4.0", 1868 + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", 1869 + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", 1870 + "dev": true, 1871 + "license": "MIT", 1872 + "dependencies": { 1873 + "bundle-name": "^4.1.0", 1874 + "default-browser-id": "^5.0.0" 1875 + }, 1876 + "engines": { 1877 + "node": ">=18" 1878 + }, 1879 + "funding": { 1880 + "url": "https://github.com/sponsors/sindresorhus" 1881 + } 1882 + }, 1883 + "node_modules/default-browser-id": { 1884 + "version": "5.0.1", 1885 + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", 1886 + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", 1887 + "dev": true, 1888 + "license": "MIT", 1889 + "engines": { 1890 + "node": ">=18" 1891 + }, 1892 + "funding": { 1893 + "url": "https://github.com/sponsors/sindresorhus" 1894 + } 1895 + }, 1896 + "node_modules/define-lazy-prop": { 1897 + "version": "3.0.0", 1898 + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", 1899 + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", 1900 + "dev": true, 1901 + "license": "MIT", 1902 + "engines": { 1903 + "node": ">=12" 1904 + }, 1905 + "funding": { 1906 + "url": "https://github.com/sponsors/sindresorhus" 1907 + } 1908 + }, 1909 + "node_modules/electron-to-chromium": { 1910 + "version": "1.5.262", 1911 + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.262.tgz", 1912 + "integrity": "sha512-NlAsMteRHek05jRUxUR0a5jpjYq9ykk6+kO0yRaMi5moe7u0fVIOeQ3Y30A8dIiWFBNUoQGi1ljb1i5VtS9WQQ==", 1913 + "dev": true, 1914 + "license": "ISC" 1915 + }, 1916 + "node_modules/entities": { 1917 + "version": "4.5.0", 1918 + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 1919 + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 1920 + "license": "BSD-2-Clause", 1921 + "engines": { 1922 + "node": ">=0.12" 1923 + }, 1924 + "funding": { 1925 + "url": "https://github.com/fb55/entities?sponsor=1" 1926 + } 1927 + }, 1928 + "node_modules/error-stack-parser-es": { 1929 + "version": "1.0.5", 1930 + "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz", 1931 + "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==", 1932 + "dev": true, 1933 + "license": "MIT", 1934 + "funding": { 1935 + "url": "https://github.com/sponsors/antfu" 1936 + } 1937 + }, 1938 + "node_modules/esbuild": { 1939 + "version": "0.25.12", 1940 + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", 1941 + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", 1942 + "dev": true, 1943 + "hasInstallScript": true, 1944 + "license": "MIT", 1945 + "bin": { 1946 + "esbuild": "bin/esbuild" 1947 + }, 1948 + "engines": { 1949 + "node": ">=18" 1950 + }, 1951 + "optionalDependencies": { 1952 + "@esbuild/aix-ppc64": "0.25.12", 1953 + "@esbuild/android-arm": "0.25.12", 1954 + "@esbuild/android-arm64": "0.25.12", 1955 + "@esbuild/android-x64": "0.25.12", 1956 + "@esbuild/darwin-arm64": "0.25.12", 1957 + "@esbuild/darwin-x64": "0.25.12", 1958 + "@esbuild/freebsd-arm64": "0.25.12", 1959 + "@esbuild/freebsd-x64": "0.25.12", 1960 + "@esbuild/linux-arm": "0.25.12", 1961 + "@esbuild/linux-arm64": "0.25.12", 1962 + "@esbuild/linux-ia32": "0.25.12", 1963 + "@esbuild/linux-loong64": "0.25.12", 1964 + "@esbuild/linux-mips64el": "0.25.12", 1965 + "@esbuild/linux-ppc64": "0.25.12", 1966 + "@esbuild/linux-riscv64": "0.25.12", 1967 + "@esbuild/linux-s390x": "0.25.12", 1968 + "@esbuild/linux-x64": "0.25.12", 1969 + "@esbuild/netbsd-arm64": "0.25.12", 1970 + "@esbuild/netbsd-x64": "0.25.12", 1971 + "@esbuild/openbsd-arm64": "0.25.12", 1972 + "@esbuild/openbsd-x64": "0.25.12", 1973 + "@esbuild/openharmony-arm64": "0.25.12", 1974 + "@esbuild/sunos-x64": "0.25.12", 1975 + "@esbuild/win32-arm64": "0.25.12", 1976 + "@esbuild/win32-ia32": "0.25.12", 1977 + "@esbuild/win32-x64": "0.25.12" 1978 + } 1979 + }, 1980 + "node_modules/escalade": { 1981 + "version": "3.2.0", 1982 + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 1983 + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 1984 + "dev": true, 1985 + "license": "MIT", 1986 + "engines": { 1987 + "node": ">=6" 1988 + } 1989 + }, 1990 + "node_modules/estree-walker": { 1991 + "version": "2.0.2", 1992 + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1993 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 1994 + "license": "MIT" 1995 + }, 1996 + "node_modules/fdir": { 1997 + "version": "6.5.0", 1998 + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", 1999 + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", 2000 + "dev": true, 2001 + "license": "MIT", 2002 + "engines": { 2003 + "node": ">=12.0.0" 2004 + }, 2005 + "peerDependencies": { 2006 + "picomatch": "^3 || ^4" 2007 + }, 2008 + "peerDependenciesMeta": { 2009 + "picomatch": { 2010 + "optional": true 2011 + } 2012 + } 2013 + }, 2014 + "node_modules/fsevents": { 2015 + "version": "2.3.3", 2016 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 2017 + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 2018 + "dev": true, 2019 + "hasInstallScript": true, 2020 + "license": "MIT", 2021 + "optional": true, 2022 + "os": [ 2023 + "darwin" 2024 + ], 2025 + "engines": { 2026 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 2027 + } 2028 + }, 2029 + "node_modules/gensync": { 2030 + "version": "1.0.0-beta.2", 2031 + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 2032 + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 2033 + "dev": true, 2034 + "license": "MIT", 2035 + "engines": { 2036 + "node": ">=6.9.0" 2037 + } 2038 + }, 2039 + "node_modules/hookable": { 2040 + "version": "5.5.3", 2041 + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", 2042 + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", 2043 + "dev": true, 2044 + "license": "MIT" 2045 + }, 2046 + "node_modules/is-docker": { 2047 + "version": "3.0.0", 2048 + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", 2049 + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", 2050 + "dev": true, 2051 + "license": "MIT", 2052 + "bin": { 2053 + "is-docker": "cli.js" 2054 + }, 2055 + "engines": { 2056 + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2057 + }, 2058 + "funding": { 2059 + "url": "https://github.com/sponsors/sindresorhus" 2060 + } 2061 + }, 2062 + "node_modules/is-inside-container": { 2063 + "version": "1.0.0", 2064 + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", 2065 + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", 2066 + "dev": true, 2067 + "license": "MIT", 2068 + "dependencies": { 2069 + "is-docker": "^3.0.0" 2070 + }, 2071 + "bin": { 2072 + "is-inside-container": "cli.js" 2073 + }, 2074 + "engines": { 2075 + "node": ">=14.16" 2076 + }, 2077 + "funding": { 2078 + "url": "https://github.com/sponsors/sindresorhus" 2079 + } 2080 + }, 2081 + "node_modules/is-what": { 2082 + "version": "5.5.0", 2083 + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", 2084 + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", 2085 + "dev": true, 2086 + "license": "MIT", 2087 + "engines": { 2088 + "node": ">=18" 2089 + }, 2090 + "funding": { 2091 + "url": "https://github.com/sponsors/mesqueeb" 2092 + } 2093 + }, 2094 + "node_modules/is-wsl": { 2095 + "version": "3.1.0", 2096 + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", 2097 + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", 2098 + "dev": true, 2099 + "license": "MIT", 2100 + "dependencies": { 2101 + "is-inside-container": "^1.0.0" 2102 + }, 2103 + "engines": { 2104 + "node": ">=16" 2105 + }, 2106 + "funding": { 2107 + "url": "https://github.com/sponsors/sindresorhus" 2108 + } 2109 + }, 2110 + "node_modules/isexe": { 2111 + "version": "3.1.1", 2112 + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", 2113 + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", 2114 + "dev": true, 2115 + "license": "ISC", 2116 + "engines": { 2117 + "node": ">=16" 2118 + } 2119 + }, 2120 + "node_modules/js-tokens": { 2121 + "version": "4.0.0", 2122 + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2123 + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2124 + "dev": true, 2125 + "license": "MIT" 2126 + }, 2127 + "node_modules/jsesc": { 2128 + "version": "3.1.0", 2129 + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", 2130 + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", 2131 + "dev": true, 2132 + "license": "MIT", 2133 + "bin": { 2134 + "jsesc": "bin/jsesc" 2135 + }, 2136 + "engines": { 2137 + "node": ">=6" 2138 + } 2139 + }, 2140 + "node_modules/json-parse-even-better-errors": { 2141 + "version": "4.0.0", 2142 + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", 2143 + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", 2144 + "dev": true, 2145 + "license": "MIT", 2146 + "engines": { 2147 + "node": "^18.17.0 || >=20.5.0" 2148 + } 2149 + }, 2150 + "node_modules/json5": { 2151 + "version": "2.2.3", 2152 + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 2153 + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 2154 + "dev": true, 2155 + "license": "MIT", 2156 + "bin": { 2157 + "json5": "lib/cli.js" 2158 + }, 2159 + "engines": { 2160 + "node": ">=6" 2161 + } 2162 + }, 2163 + "node_modules/kolorist": { 2164 + "version": "1.8.0", 2165 + "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", 2166 + "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", 2167 + "dev": true, 2168 + "license": "MIT" 2169 + }, 2170 + "node_modules/lru-cache": { 2171 + "version": "5.1.1", 2172 + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 2173 + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 2174 + "dev": true, 2175 + "license": "ISC", 2176 + "dependencies": { 2177 + "yallist": "^3.0.2" 2178 + } 2179 + }, 2180 + "node_modules/magic-string": { 2181 + "version": "0.30.21", 2182 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", 2183 + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", 2184 + "license": "MIT", 2185 + "dependencies": { 2186 + "@jridgewell/sourcemap-codec": "^1.5.5" 2187 + } 2188 + }, 2189 + "node_modules/memorystream": { 2190 + "version": "0.3.1", 2191 + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 2192 + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", 2193 + "dev": true, 2194 + "engines": { 2195 + "node": ">= 0.10.0" 2196 + } 2197 + }, 2198 + "node_modules/mitt": { 2199 + "version": "3.0.1", 2200 + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", 2201 + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", 2202 + "dev": true, 2203 + "license": "MIT" 2204 + }, 2205 + "node_modules/mrmime": { 2206 + "version": "2.0.1", 2207 + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", 2208 + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", 2209 + "dev": true, 2210 + "license": "MIT", 2211 + "engines": { 2212 + "node": ">=10" 2213 + } 2214 + }, 2215 + "node_modules/ms": { 2216 + "version": "2.1.3", 2217 + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2218 + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2219 + "dev": true, 2220 + "license": "MIT" 2221 + }, 2222 + "node_modules/muggle-string": { 2223 + "version": "0.4.1", 2224 + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", 2225 + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", 2226 + "dev": true, 2227 + "license": "MIT" 2228 + }, 2229 + "node_modules/nanoid": { 2230 + "version": "3.3.11", 2231 + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", 2232 + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", 2233 + "funding": [ 2234 + { 2235 + "type": "github", 2236 + "url": "https://github.com/sponsors/ai" 2237 + } 2238 + ], 2239 + "license": "MIT", 2240 + "bin": { 2241 + "nanoid": "bin/nanoid.cjs" 2242 + }, 2243 + "engines": { 2244 + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2245 + } 2246 + }, 2247 + "node_modules/node-releases": { 2248 + "version": "2.0.27", 2249 + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", 2250 + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", 2251 + "dev": true, 2252 + "license": "MIT" 2253 + }, 2254 + "node_modules/npm-normalize-package-bin": { 2255 + "version": "4.0.0", 2256 + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", 2257 + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", 2258 + "dev": true, 2259 + "license": "ISC", 2260 + "engines": { 2261 + "node": "^18.17.0 || >=20.5.0" 2262 + } 2263 + }, 2264 + "node_modules/npm-run-all2": { 2265 + "version": "8.0.4", 2266 + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz", 2267 + "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==", 2268 + "dev": true, 2269 + "license": "MIT", 2270 + "dependencies": { 2271 + "ansi-styles": "^6.2.1", 2272 + "cross-spawn": "^7.0.6", 2273 + "memorystream": "^0.3.1", 2274 + "picomatch": "^4.0.2", 2275 + "pidtree": "^0.6.0", 2276 + "read-package-json-fast": "^4.0.0", 2277 + "shell-quote": "^1.7.3", 2278 + "which": "^5.0.0" 2279 + }, 2280 + "bin": { 2281 + "npm-run-all": "bin/npm-run-all/index.js", 2282 + "npm-run-all2": "bin/npm-run-all/index.js", 2283 + "run-p": "bin/run-p/index.js", 2284 + "run-s": "bin/run-s/index.js" 2285 + }, 2286 + "engines": { 2287 + "node": "^20.5.0 || >=22.0.0", 2288 + "npm": ">= 10" 2289 + } 2290 + }, 2291 + "node_modules/ohash": { 2292 + "version": "2.0.11", 2293 + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", 2294 + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", 2295 + "dev": true, 2296 + "license": "MIT" 2297 + }, 2298 + "node_modules/open": { 2299 + "version": "10.2.0", 2300 + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", 2301 + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", 2302 + "dev": true, 2303 + "license": "MIT", 2304 + "dependencies": { 2305 + "default-browser": "^5.2.1", 2306 + "define-lazy-prop": "^3.0.0", 2307 + "is-inside-container": "^1.0.0", 2308 + "wsl-utils": "^0.1.0" 2309 + }, 2310 + "engines": { 2311 + "node": ">=18" 2312 + }, 2313 + "funding": { 2314 + "url": "https://github.com/sponsors/sindresorhus" 2315 + } 2316 + }, 2317 + "node_modules/path-browserify": { 2318 + "version": "1.0.1", 2319 + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 2320 + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 2321 + "dev": true, 2322 + "license": "MIT" 2323 + }, 2324 + "node_modules/path-key": { 2325 + "version": "3.1.1", 2326 + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2327 + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2328 + "dev": true, 2329 + "license": "MIT", 2330 + "engines": { 2331 + "node": ">=8" 2332 + } 2333 + }, 2334 + "node_modules/pathe": { 2335 + "version": "2.0.3", 2336 + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", 2337 + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", 2338 + "dev": true, 2339 + "license": "MIT" 2340 + }, 2341 + "node_modules/perfect-debounce": { 2342 + "version": "2.0.0", 2343 + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.0.0.tgz", 2344 + "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==", 2345 + "dev": true, 2346 + "license": "MIT" 2347 + }, 2348 + "node_modules/picocolors": { 2349 + "version": "1.1.1", 2350 + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2351 + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2352 + "license": "ISC" 2353 + }, 2354 + "node_modules/picomatch": { 2355 + "version": "4.0.3", 2356 + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", 2357 + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", 2358 + "dev": true, 2359 + "license": "MIT", 2360 + "engines": { 2361 + "node": ">=12" 2362 + }, 2363 + "funding": { 2364 + "url": "https://github.com/sponsors/jonschlinkert" 2365 + } 2366 + }, 2367 + "node_modules/pidtree": { 2368 + "version": "0.6.0", 2369 + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", 2370 + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", 2371 + "dev": true, 2372 + "license": "MIT", 2373 + "bin": { 2374 + "pidtree": "bin/pidtree.js" 2375 + }, 2376 + "engines": { 2377 + "node": ">=0.10" 2378 + } 2379 + }, 2380 + "node_modules/postcss": { 2381 + "version": "8.5.6", 2382 + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", 2383 + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", 2384 + "funding": [ 2385 + { 2386 + "type": "opencollective", 2387 + "url": "https://opencollective.com/postcss/" 2388 + }, 2389 + { 2390 + "type": "tidelift", 2391 + "url": "https://tidelift.com/funding/github/npm/postcss" 2392 + }, 2393 + { 2394 + "type": "github", 2395 + "url": "https://github.com/sponsors/ai" 2396 + } 2397 + ], 2398 + "license": "MIT", 2399 + "dependencies": { 2400 + "nanoid": "^3.3.11", 2401 + "picocolors": "^1.1.1", 2402 + "source-map-js": "^1.2.1" 2403 + }, 2404 + "engines": { 2405 + "node": "^10 || ^12 || >=14" 2406 + } 2407 + }, 2408 + "node_modules/read-package-json-fast": { 2409 + "version": "4.0.0", 2410 + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz", 2411 + "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==", 2412 + "dev": true, 2413 + "license": "ISC", 2414 + "dependencies": { 2415 + "json-parse-even-better-errors": "^4.0.0", 2416 + "npm-normalize-package-bin": "^4.0.0" 2417 + }, 2418 + "engines": { 2419 + "node": "^18.17.0 || >=20.5.0" 2420 + } 2421 + }, 2422 + "node_modules/rfdc": { 2423 + "version": "1.4.1", 2424 + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", 2425 + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", 2426 + "dev": true, 2427 + "license": "MIT" 2428 + }, 2429 + "node_modules/rollup": { 2430 + "version": "4.53.3", 2431 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz", 2432 + "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", 2433 + "dev": true, 2434 + "license": "MIT", 2435 + "dependencies": { 2436 + "@types/estree": "1.0.8" 2437 + }, 2438 + "bin": { 2439 + "rollup": "dist/bin/rollup" 2440 + }, 2441 + "engines": { 2442 + "node": ">=18.0.0", 2443 + "npm": ">=8.0.0" 2444 + }, 2445 + "optionalDependencies": { 2446 + "@rollup/rollup-android-arm-eabi": "4.53.3", 2447 + "@rollup/rollup-android-arm64": "4.53.3", 2448 + "@rollup/rollup-darwin-arm64": "4.53.3", 2449 + "@rollup/rollup-darwin-x64": "4.53.3", 2450 + "@rollup/rollup-freebsd-arm64": "4.53.3", 2451 + "@rollup/rollup-freebsd-x64": "4.53.3", 2452 + "@rollup/rollup-linux-arm-gnueabihf": "4.53.3", 2453 + "@rollup/rollup-linux-arm-musleabihf": "4.53.3", 2454 + "@rollup/rollup-linux-arm64-gnu": "4.53.3", 2455 + "@rollup/rollup-linux-arm64-musl": "4.53.3", 2456 + "@rollup/rollup-linux-loong64-gnu": "4.53.3", 2457 + "@rollup/rollup-linux-ppc64-gnu": "4.53.3", 2458 + "@rollup/rollup-linux-riscv64-gnu": "4.53.3", 2459 + "@rollup/rollup-linux-riscv64-musl": "4.53.3", 2460 + "@rollup/rollup-linux-s390x-gnu": "4.53.3", 2461 + "@rollup/rollup-linux-x64-gnu": "4.53.3", 2462 + "@rollup/rollup-linux-x64-musl": "4.53.3", 2463 + "@rollup/rollup-openharmony-arm64": "4.53.3", 2464 + "@rollup/rollup-win32-arm64-msvc": "4.53.3", 2465 + "@rollup/rollup-win32-ia32-msvc": "4.53.3", 2466 + "@rollup/rollup-win32-x64-gnu": "4.53.3", 2467 + "@rollup/rollup-win32-x64-msvc": "4.53.3", 2468 + "fsevents": "~2.3.2" 2469 + } 2470 + }, 2471 + "node_modules/run-applescript": { 2472 + "version": "7.1.0", 2473 + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", 2474 + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", 2475 + "dev": true, 2476 + "license": "MIT", 2477 + "engines": { 2478 + "node": ">=18" 2479 + }, 2480 + "funding": { 2481 + "url": "https://github.com/sponsors/sindresorhus" 2482 + } 2483 + }, 2484 + "node_modules/semver": { 2485 + "version": "6.3.1", 2486 + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2487 + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2488 + "dev": true, 2489 + "license": "ISC", 2490 + "bin": { 2491 + "semver": "bin/semver.js" 2492 + } 2493 + }, 2494 + "node_modules/shebang-command": { 2495 + "version": "2.0.0", 2496 + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2497 + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2498 + "dev": true, 2499 + "license": "MIT", 2500 + "dependencies": { 2501 + "shebang-regex": "^3.0.0" 2502 + }, 2503 + "engines": { 2504 + "node": ">=8" 2505 + } 2506 + }, 2507 + "node_modules/shebang-regex": { 2508 + "version": "3.0.0", 2509 + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2510 + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2511 + "dev": true, 2512 + "license": "MIT", 2513 + "engines": { 2514 + "node": ">=8" 2515 + } 2516 + }, 2517 + "node_modules/shell-quote": { 2518 + "version": "1.8.3", 2519 + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", 2520 + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", 2521 + "dev": true, 2522 + "license": "MIT", 2523 + "engines": { 2524 + "node": ">= 0.4" 2525 + }, 2526 + "funding": { 2527 + "url": "https://github.com/sponsors/ljharb" 2528 + } 2529 + }, 2530 + "node_modules/sirv": { 2531 + "version": "3.0.2", 2532 + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz", 2533 + "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==", 2534 + "dev": true, 2535 + "license": "MIT", 2536 + "dependencies": { 2537 + "@polka/url": "^1.0.0-next.24", 2538 + "mrmime": "^2.0.0", 2539 + "totalist": "^3.0.0" 2540 + }, 2541 + "engines": { 2542 + "node": ">=18" 2543 + } 2544 + }, 2545 + "node_modules/source-map-js": { 2546 + "version": "1.2.1", 2547 + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2548 + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 2549 + "license": "BSD-3-Clause", 2550 + "engines": { 2551 + "node": ">=0.10.0" 2552 + } 2553 + }, 2554 + "node_modules/speakingurl": { 2555 + "version": "14.0.1", 2556 + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", 2557 + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", 2558 + "dev": true, 2559 + "license": "BSD-3-Clause", 2560 + "engines": { 2561 + "node": ">=0.10.0" 2562 + } 2563 + }, 2564 + "node_modules/superjson": { 2565 + "version": "2.2.5", 2566 + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.5.tgz", 2567 + "integrity": "sha512-zWPTX96LVsA/eVYnqOM2+ofcdPqdS1dAF1LN4TS2/MWuUpfitd9ctTa87wt4xrYnZnkLtS69xpBdSxVBP5Rm6w==", 2568 + "dev": true, 2569 + "license": "MIT", 2570 + "dependencies": { 2571 + "copy-anything": "^4" 2572 + }, 2573 + "engines": { 2574 + "node": ">=16" 2575 + } 2576 + }, 2577 + "node_modules/tinyglobby": { 2578 + "version": "0.2.15", 2579 + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", 2580 + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", 2581 + "dev": true, 2582 + "license": "MIT", 2583 + "dependencies": { 2584 + "fdir": "^6.5.0", 2585 + "picomatch": "^4.0.3" 2586 + }, 2587 + "engines": { 2588 + "node": ">=12.0.0" 2589 + }, 2590 + "funding": { 2591 + "url": "https://github.com/sponsors/SuperchupuDev" 2592 + } 2593 + }, 2594 + "node_modules/totalist": { 2595 + "version": "3.0.1", 2596 + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", 2597 + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", 2598 + "dev": true, 2599 + "license": "MIT", 2600 + "engines": { 2601 + "node": ">=6" 2602 + } 2603 + }, 2604 + "node_modules/typescript": { 2605 + "version": "5.9.3", 2606 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", 2607 + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", 2608 + "devOptional": true, 2609 + "license": "Apache-2.0", 2610 + "bin": { 2611 + "tsc": "bin/tsc", 2612 + "tsserver": "bin/tsserver" 2613 + }, 2614 + "engines": { 2615 + "node": ">=14.17" 2616 + } 2617 + }, 2618 + "node_modules/undici-types": { 2619 + "version": "6.21.0", 2620 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", 2621 + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", 2622 + "dev": true, 2623 + "license": "MIT" 2624 + }, 2625 + "node_modules/unplugin-utils": { 2626 + "version": "0.3.1", 2627 + "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz", 2628 + "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==", 2629 + "dev": true, 2630 + "license": "MIT", 2631 + "dependencies": { 2632 + "pathe": "^2.0.3", 2633 + "picomatch": "^4.0.3" 2634 + }, 2635 + "engines": { 2636 + "node": ">=20.19.0" 2637 + }, 2638 + "funding": { 2639 + "url": "https://github.com/sponsors/sxzz" 2640 + } 2641 + }, 2642 + "node_modules/update-browserslist-db": { 2643 + "version": "1.1.4", 2644 + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", 2645 + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", 2646 + "dev": true, 2647 + "funding": [ 2648 + { 2649 + "type": "opencollective", 2650 + "url": "https://opencollective.com/browserslist" 2651 + }, 2652 + { 2653 + "type": "tidelift", 2654 + "url": "https://tidelift.com/funding/github/npm/browserslist" 2655 + }, 2656 + { 2657 + "type": "github", 2658 + "url": "https://github.com/sponsors/ai" 2659 + } 2660 + ], 2661 + "license": "MIT", 2662 + "dependencies": { 2663 + "escalade": "^3.2.0", 2664 + "picocolors": "^1.1.1" 2665 + }, 2666 + "bin": { 2667 + "update-browserslist-db": "cli.js" 2668 + }, 2669 + "peerDependencies": { 2670 + "browserslist": ">= 4.21.0" 2671 + } 2672 + }, 2673 + "node_modules/vite": { 2674 + "version": "7.2.4", 2675 + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", 2676 + "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", 2677 + "dev": true, 2678 + "license": "MIT", 2679 + "dependencies": { 2680 + "esbuild": "^0.25.0", 2681 + "fdir": "^6.5.0", 2682 + "picomatch": "^4.0.3", 2683 + "postcss": "^8.5.6", 2684 + "rollup": "^4.43.0", 2685 + "tinyglobby": "^0.2.15" 2686 + }, 2687 + "bin": { 2688 + "vite": "bin/vite.js" 2689 + }, 2690 + "engines": { 2691 + "node": "^20.19.0 || >=22.12.0" 2692 + }, 2693 + "funding": { 2694 + "url": "https://github.com/vitejs/vite?sponsor=1" 2695 + }, 2696 + "optionalDependencies": { 2697 + "fsevents": "~2.3.3" 2698 + }, 2699 + "peerDependencies": { 2700 + "@types/node": "^20.19.0 || >=22.12.0", 2701 + "jiti": ">=1.21.0", 2702 + "less": "^4.0.0", 2703 + "lightningcss": "^1.21.0", 2704 + "sass": "^1.70.0", 2705 + "sass-embedded": "^1.70.0", 2706 + "stylus": ">=0.54.8", 2707 + "sugarss": "^5.0.0", 2708 + "terser": "^5.16.0", 2709 + "tsx": "^4.8.1", 2710 + "yaml": "^2.4.2" 2711 + }, 2712 + "peerDependenciesMeta": { 2713 + "@types/node": { 2714 + "optional": true 2715 + }, 2716 + "jiti": { 2717 + "optional": true 2718 + }, 2719 + "less": { 2720 + "optional": true 2721 + }, 2722 + "lightningcss": { 2723 + "optional": true 2724 + }, 2725 + "sass": { 2726 + "optional": true 2727 + }, 2728 + "sass-embedded": { 2729 + "optional": true 2730 + }, 2731 + "stylus": { 2732 + "optional": true 2733 + }, 2734 + "sugarss": { 2735 + "optional": true 2736 + }, 2737 + "terser": { 2738 + "optional": true 2739 + }, 2740 + "tsx": { 2741 + "optional": true 2742 + }, 2743 + "yaml": { 2744 + "optional": true 2745 + } 2746 + } 2747 + }, 2748 + "node_modules/vite-dev-rpc": { 2749 + "version": "1.1.0", 2750 + "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz", 2751 + "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==", 2752 + "dev": true, 2753 + "license": "MIT", 2754 + "dependencies": { 2755 + "birpc": "^2.4.0", 2756 + "vite-hot-client": "^2.1.0" 2757 + }, 2758 + "funding": { 2759 + "url": "https://github.com/sponsors/antfu" 2760 + }, 2761 + "peerDependencies": { 2762 + "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0" 2763 + } 2764 + }, 2765 + "node_modules/vite-hot-client": { 2766 + "version": "2.1.0", 2767 + "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz", 2768 + "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==", 2769 + "dev": true, 2770 + "license": "MIT", 2771 + "funding": { 2772 + "url": "https://github.com/sponsors/antfu" 2773 + }, 2774 + "peerDependencies": { 2775 + "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" 2776 + } 2777 + }, 2778 + "node_modules/vite-plugin-inspect": { 2779 + "version": "11.3.3", 2780 + "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz", 2781 + "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==", 2782 + "dev": true, 2783 + "license": "MIT", 2784 + "dependencies": { 2785 + "ansis": "^4.1.0", 2786 + "debug": "^4.4.1", 2787 + "error-stack-parser-es": "^1.0.5", 2788 + "ohash": "^2.0.11", 2789 + "open": "^10.2.0", 2790 + "perfect-debounce": "^2.0.0", 2791 + "sirv": "^3.0.1", 2792 + "unplugin-utils": "^0.3.0", 2793 + "vite-dev-rpc": "^1.1.0" 2794 + }, 2795 + "engines": { 2796 + "node": ">=14" 2797 + }, 2798 + "funding": { 2799 + "url": "https://github.com/sponsors/antfu" 2800 + }, 2801 + "peerDependencies": { 2802 + "vite": "^6.0.0 || ^7.0.0-0" 2803 + }, 2804 + "peerDependenciesMeta": { 2805 + "@nuxt/kit": { 2806 + "optional": true 2807 + } 2808 + } 2809 + }, 2810 + "node_modules/vite-plugin-vue-devtools": { 2811 + "version": "8.0.5", 2812 + "resolved": "https://registry.npmjs.org/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-8.0.5.tgz", 2813 + "integrity": "sha512-p619BlKFOqQXJ6uDWS1vUPQzuJOD6xJTfftj57JXBGoBD/yeQCowR7pnWcr/FEX4/HVkFbreI6w2uuGBmQOh6A==", 2814 + "dev": true, 2815 + "license": "MIT", 2816 + "dependencies": { 2817 + "@vue/devtools-core": "^8.0.5", 2818 + "@vue/devtools-kit": "^8.0.5", 2819 + "@vue/devtools-shared": "^8.0.5", 2820 + "sirv": "^3.0.2", 2821 + "vite-plugin-inspect": "^11.3.3", 2822 + "vite-plugin-vue-inspector": "^5.3.2" 2823 + }, 2824 + "engines": { 2825 + "node": ">=v14.21.3" 2826 + }, 2827 + "peerDependencies": { 2828 + "vite": "^6.0.0 || ^7.0.0-0" 2829 + } 2830 + }, 2831 + "node_modules/vite-plugin-vue-inspector": { 2832 + "version": "5.3.2", 2833 + "resolved": "https://registry.npmjs.org/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.2.tgz", 2834 + "integrity": "sha512-YvEKooQcSiBTAs0DoYLfefNja9bLgkFM7NI2b07bE2SruuvX0MEa9cMaxjKVMkeCp5Nz9FRIdcN1rOdFVBeL6Q==", 2835 + "dev": true, 2836 + "license": "MIT", 2837 + "dependencies": { 2838 + "@babel/core": "^7.23.0", 2839 + "@babel/plugin-proposal-decorators": "^7.23.0", 2840 + "@babel/plugin-syntax-import-attributes": "^7.22.5", 2841 + "@babel/plugin-syntax-import-meta": "^7.10.4", 2842 + "@babel/plugin-transform-typescript": "^7.22.15", 2843 + "@vue/babel-plugin-jsx": "^1.1.5", 2844 + "@vue/compiler-dom": "^3.3.4", 2845 + "kolorist": "^1.8.0", 2846 + "magic-string": "^0.30.4" 2847 + }, 2848 + "peerDependencies": { 2849 + "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0" 2850 + } 2851 + }, 2852 + "node_modules/vscode-uri": { 2853 + "version": "3.1.0", 2854 + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz", 2855 + "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==", 2856 + "dev": true, 2857 + "license": "MIT" 2858 + }, 2859 + "node_modules/vue": { 2860 + "version": "3.5.25", 2861 + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.25.tgz", 2862 + "integrity": "sha512-YLVdgv2K13WJ6n+kD5owehKtEXwdwXuj2TTyJMsO7pSeKw2bfRNZGjhB7YzrpbMYj5b5QsUebHpOqR3R3ziy/g==", 2863 + "license": "MIT", 2864 + "dependencies": { 2865 + "@vue/compiler-dom": "3.5.25", 2866 + "@vue/compiler-sfc": "3.5.25", 2867 + "@vue/runtime-dom": "3.5.25", 2868 + "@vue/server-renderer": "3.5.25", 2869 + "@vue/shared": "3.5.25" 2870 + }, 2871 + "peerDependencies": { 2872 + "typescript": "*" 2873 + }, 2874 + "peerDependenciesMeta": { 2875 + "typescript": { 2876 + "optional": true 2877 + } 2878 + } 2879 + }, 2880 + "node_modules/vue-data-ui": { 2881 + "resolved": "..", 2882 + "link": true 2883 + }, 2884 + "node_modules/vue-router": { 2885 + "version": "4.6.3", 2886 + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.3.tgz", 2887 + "integrity": "sha512-ARBedLm9YlbvQomnmq91Os7ck6efydTSpRP3nuOKCvgJOHNrhRoJDSKtee8kcL1Vf7nz6U+PMBL+hTvR3bTVQg==", 2888 + "license": "MIT", 2889 + "dependencies": { 2890 + "@vue/devtools-api": "^6.6.4" 2891 + }, 2892 + "funding": { 2893 + "url": "https://github.com/sponsors/posva" 2894 + }, 2895 + "peerDependencies": { 2896 + "vue": "^3.5.0" 2897 + } 2898 + }, 2899 + "node_modules/vue-tsc": { 2900 + "version": "3.1.5", 2901 + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.1.5.tgz", 2902 + "integrity": "sha512-L/G9IUjOWhBU0yun89rv8fKqmKC+T0HfhrFjlIml71WpfBv9eb4E9Bev8FMbyueBIU9vxQqbd+oOsVcDa5amGw==", 2903 + "dev": true, 2904 + "license": "MIT", 2905 + "dependencies": { 2906 + "@volar/typescript": "2.4.23", 2907 + "@vue/language-core": "3.1.5" 2908 + }, 2909 + "bin": { 2910 + "vue-tsc": "bin/vue-tsc.js" 2911 + }, 2912 + "peerDependencies": { 2913 + "typescript": ">=5.0.0" 2914 + } 2915 + }, 2916 + "node_modules/which": { 2917 + "version": "5.0.0", 2918 + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", 2919 + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", 2920 + "dev": true, 2921 + "license": "ISC", 2922 + "dependencies": { 2923 + "isexe": "^3.1.1" 2924 + }, 2925 + "bin": { 2926 + "node-which": "bin/which.js" 2927 + }, 2928 + "engines": { 2929 + "node": "^18.17.0 || >=20.5.0" 2930 + } 2931 + }, 2932 + "node_modules/wsl-utils": { 2933 + "version": "0.1.0", 2934 + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", 2935 + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", 2936 + "dev": true, 2937 + "license": "MIT", 2938 + "dependencies": { 2939 + "is-wsl": "^3.1.0" 2940 + }, 2941 + "engines": { 2942 + "node": ">=18" 2943 + }, 2944 + "funding": { 2945 + "url": "https://github.com/sponsors/sindresorhus" 2946 + } 2947 + }, 2948 + "node_modules/yallist": { 2949 + "version": "3.1.1", 2950 + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 2951 + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 2952 + "dev": true, 2953 + "license": "ISC" 2954 + } 2955 + } 2956 + }
+32
manual-testing/package.json
··· 1 + { 2 + "name": "manual-testing", 3 + "version": "0.0.0", 4 + "private": true, 5 + "type": "module", 6 + "engines": { 7 + "node": "^20.19.0 || >=22.12.0" 8 + }, 9 + "scripts": { 10 + "dev": "node add-dev-dep.cjs && npm i && vite", 11 + "build": "run-p type-check \"build-only {@}\" --", 12 + "preview": "vite preview", 13 + "build-only": "vite build", 14 + "type-check": "vue-tsc --build" 15 + }, 16 + "dependencies": { 17 + "vue": "^3.5.22", 18 + "vue-router": "^4.6.3" 19 + }, 20 + "devDependencies": { 21 + "@tsconfig/node22": "^22.0.2", 22 + "@types/node": "^22.18.11", 23 + "@vitejs/plugin-vue": "^6.0.1", 24 + "@vue/tsconfig": "^0.8.1", 25 + "npm-run-all2": "^8.0.4", 26 + "typescript": "~5.9.0", 27 + "vite": "^7.1.11", 28 + "vite-plugin-vue-devtools": "^8.0.3", 29 + "vue-tsc": "^3.1.1", 30 + "vue-data-ui": "file:../../vue-data-ui" 31 + } 32 + }
manual-testing/public/favicon.ico

This is a binary file and will not be displayed.

+264
manual-testing/src/App.vue
··· 1 + <script setup lang="ts"> 2 + import { ref, computed } from 'vue' 3 + import { RouterLink, RouterView } from 'vue-router' 4 + //@ts-ignore 5 + import BaseIcon from "../../src/atoms/BaseIcon.vue" 6 + import "../../src/vue-data-ui.css" 7 + 8 + const components = [ 9 + { name: 'ArenaVueUi3dBar', icon: 'chart3dBar'}, 10 + { name: 'ArenaVueUiAgePyramid', icon: 'chartAgePyramid'}, 11 + { name: 'ArenaVueUiBullet', icon: 'chartBullet'}, 12 + { name: 'ArenaVueUiCandlestick', icon : 'chartCandlestick'}, 13 + { name: 'ArenaVueUiCarouselTable', icon: 'carouselTable'}, 14 + { name: 'ArenaVueUiChestnut', icon: 'chartChestnut'}, 15 + { name: 'ArenaVueUiChord', icon: 'chartChord'}, 16 + { name: 'ArenaVueUiCirclePack', icon: 'chartCirclePack'}, 17 + { name: 'ArenaVueUiDashboard', icon: 'dashboard'}, 18 + { name: 'ArenaVueUiDonut', icon: 'chartDonut'}, 19 + { name: 'ArenaVueUiDonutEvolution', icon: 'chartDonutEvolution'}, 20 + { name: 'ArenaVueUiDumbbell', icon: 'chartDumbbell'}, 21 + { name: 'ArenaVueUiFlow', icon: 'chartFlow'}, 22 + { name: 'ArenaVueUiFunnel', icon: 'chartFunnel'}, 23 + { name: 'ArenaVueUiGalaxy', icon: 'chartGalaxy'}, 24 + { name: 'ArenaVueUiGauge', icon: 'chartGauge'}, 25 + { name: 'ArenaVueUiGizmo', icon: 'battery'}, 26 + { name: 'ArenaVueUiHeatmap', icon: 'chartHeatmap'}, 27 + { name: 'ArenaVueUiHistoryPlot', icon: 'chartHistoryPlot'}, 28 + { name: 'ArenaVueUiHorizontalBar', icon: 'chartVerticalBar'}, 29 + { name: 'ArenaVueUiIcon', icon: 'icons'}, 30 + { name: 'ArenaVueUiKpi', icon: 'kpiBox'}, 31 + { name: 'ArenaVueUiMolecule', icon: 'chartCluster'}, 32 + { name: 'ArenaVueUiMoodRadar', icon: 'chartMoodRadar'}, 33 + { name: 'ArenaVueUiNestedDonuts', icon: 'chartNestedDonuts'}, 34 + { name: 'ArenaVueUiOnion', icon: 'chartOnion'}, 35 + { name: 'ArenaVueUiParallelCoordinatePlot', icon: 'chartParallelCoordinatePlot'}, 36 + { name: 'ArenaVueUiQuadrant', icon: 'chartQuadrant'}, 37 + { name: 'ArenaVueUiQuickChart', icon: 'vueDataUi'}, 38 + { name: 'ArenaVueUiRadar', icon: 'chartRadar'}, 39 + { name: 'ArenaVueUiRating', icon: 'star'}, 40 + { name: 'ArenaVueUiRelationCircle', icon: 'chartRelationCircle'}, 41 + { name: 'ArenaVueUiRidgeline', icon: 'chartRidgeline'}, 42 + { name: 'ArenaVueUiRings', icon: 'chartRings'}, 43 + { name: 'ArenaVueUiScatter', icon: 'chartScatter'}, 44 + { name: 'ArenaVueUiSmiley', icon: 'smiley'}, 45 + { name: 'ArenaVueUiSparkGauge', icon: 'chartGauge'}, 46 + { name: 'ArenaVueUiSparkHistogram', icon: 'chartSparkHistogram'}, 47 + { name: 'ArenaVueUiSparkStackbar', icon: 'chartSparkStackbar'}, 48 + { name: 'ArenaVueUiSparkTrend', icon: 'trend'}, 49 + { name: 'ArenaVueUiSparkbar', icon: 'chartSparkbar'}, 50 + { name: 'ArenaVueUiSparkline', icon: 'chartSparkline'}, 51 + { name: 'ArenaVueUiStackbar', icon: 'chartStackbar'}, 52 + { name: 'ArenaVueUiStackline', icon: 'chartStackline'}, 53 + { name: 'ArenaVueUiStripPlot', icon: 'chartStripPlot'}, 54 + { name: 'ArenaVueUiTable', icon: 'chartTable'}, 55 + { name: 'ArenaVueUiTableHeatmap', icon: 'chartTable'}, 56 + { name: 'ArenaVueUiTableSparkline', icon: 'chartTableSparkline'}, 57 + { name: 'ArenaVueUiThermometer', icon: 'chartThermometer'}, 58 + { name: 'ArenaVueUiTimer', icon: 'lap'}, 59 + { name: 'ArenaVueUiTiremarks', icon: 'chartTiremarks'}, 60 + { name: 'ArenaVueUiTreemap', icon: 'chartTreemap'}, 61 + { name: 'ArenaVueUiWaffle', icon: 'chartWaffle'}, 62 + { name: 'ArenaVueUiWheel', icon: 'chartWheel'}, 63 + { name: 'ArenaVueUiWordCloud', icon: 'chartWordCloud'}, 64 + { name: 'ArenaVueUiWorld', icon: 'world'}, 65 + { name: 'ArenaVueUiXy', icon: 'chartLine'}, 66 + { name: 'ArenaVueUiXyCanvas', icon: 'chartLine'}, 67 + { name: 'ArenaVueUiAnnotator', icon: 'annotator'}, 68 + ].map(componentItem => ({ 69 + path: `/${componentItem.name}`, 70 + name: componentItem.name.replace('Arena', ''), 71 + icon: componentItem.icon 72 + })) 73 + 74 + const searchText = ref('') 75 + 76 + const filteredComponents = computed(() => { 77 + const term = searchText.value.trim().toLowerCase() 78 + if (!term) { 79 + return components 80 + } 81 + return components.filter(componentItem => 82 + componentItem.name.toLowerCase().includes(term) 83 + ) 84 + }) 85 + </script> 86 + 87 + <template> 88 + <header> 89 + <div class="wrapper"> 90 + <nav> 91 + <div class="sticked"> 92 + <div class="nav-header"> 93 + <div class="nav-logo"> 94 + <img alt="Vue logo" src="@/assets/logo.png" width="48" /> 95 + <span class="gradient-text" style="font-weight: bolder">Testing arena</span> 96 + </div> 97 + 98 + <div class="nav-search-wrapper"> 99 + <input 100 + v-model="searchText" 101 + type="text" 102 + class="nav-search" 103 + placeholder="Search components" 104 + /> 105 + <button @click="searchText = ''"><BaseIcon name="close"/> </button> 106 + </div> 107 + 108 + <div style="display:flex; margin-left: -1rem;"> 109 + <RouterLink to="/"> 110 + <div style="display:flex;align-items:center;gap:1rem;"> 111 + <BaseIcon name="home" /> Home 112 + </div> 113 + </RouterLink> 114 + </div> 115 + </div> 116 + </div> 117 + 118 + <div style="padding: 0 1rem; margin: 1rem 0 2rem 0; width:100%; display: flex; flex-direction: column;"> 119 + <RouterLink 120 + v-for="componentItem in filteredComponents" 121 + :key="componentItem.path" 122 + :to="componentItem.path" 123 + > 124 + <div class="nav-item"> 125 + <div class="nav-icon"> 126 + <BaseIcon :name="componentItem.icon" stroke="#8A8A8A" /> 127 + </div> 128 + <span> 129 + {{ componentItem.name }} 130 + </span> 131 + </div> 132 + </RouterLink> 133 + </div> 134 + </nav> 135 + </div> 136 + </header> 137 + 138 + <main> 139 + <RouterView /> 140 + </main> 141 + </template> 142 + 143 + <style scoped> 144 + header { 145 + line-height: 1.5; 146 + max-height: 100vh; 147 + } 148 + 149 + nav { 150 + width: 100%; 151 + font-size: 12px; 152 + text-align: center; 153 + margin-top: 0; 154 + position: fixed; 155 + top: 0; 156 + left: 0; 157 + width: 300px; 158 + height: 100vh; 159 + height: 100svh; 160 + display: flex; 161 + flex-direction: column; 162 + overflow-y: auto; 163 + border-right: 1px solid #3A3A3A; 164 + } 165 + 166 + .sticked { 167 + position: sticky; 168 + top: 0; 169 + z-index: 10; 170 + background: var(--color-background); 171 + padding: 1rem 2rem; 172 + border-bottom: 1px solid #3A3A3A; 173 + } 174 + 175 + .nav-logo { 176 + display: flex; 177 + flex-direction: row; 178 + gap: 1rem; 179 + align-items:center; 180 + justify-content: space-between; 181 + font-size: 1.5rem; 182 + } 183 + 184 + .nav-header { 185 + display: flex; 186 + flex-direction: column; 187 + gap: 0.5rem; 188 + } 189 + 190 + .nav-search-wrapper { 191 + display: flex; 192 + flex-direction: row; 193 + align-items: center; 194 + } 195 + 196 + .nav-search-wrapper button { 197 + display: flex; 198 + align-items:center; 199 + justify-content:center; 200 + background-color: #3A3A3A; 201 + border-radius: 0 0.3rem 0.3rem 0; 202 + border: none; 203 + padding: 0.2rem; 204 + cursor: pointer; 205 + } 206 + .nav-search-wrapper button:hover { 207 + background-color: #4A4A4A; 208 + } 209 + 210 + .nav-search { 211 + width: 100%; 212 + box-sizing: border-box; 213 + padding: 0.35rem 0.5rem; 214 + border-radius: 0.3rem 0 0 0.3rem; 215 + border: 1px solid var(--color-border); 216 + font-size: 0.85rem; 217 + background: #2A2A2A; 218 + color: #CCCCCC; 219 + } 220 + 221 + .nav-item { 222 + display:flex; 223 + flex-direction: row; 224 + gap: 1rem; 225 + align-items:center; 226 + padding: 0.2rem 0; 227 + } 228 + 229 + .nav-item:hover { 230 + background: #42d39230; 231 + } 232 + 233 + .nav-icon { 234 + width: 1.5rem; 235 + height: 1.5rem; 236 + display: flex; 237 + align-items:center; 238 + } 239 + 240 + nav a.router-link-exact-active { 241 + background: linear-gradient(90deg, #42d392, #5f8aee); 242 + background-size: 100% 100%; 243 + background-repeat: no-repeat; 244 + -webkit-background-clip: text; 245 + -webkit-text-fill-color: transparent; 246 + background-clip: text; 247 + color: transparent; 248 + font-weight: 900 !important; 249 + } 250 + 251 + nav a.router-link-exact-active:hover { 252 + background-color: transparent; 253 + } 254 + 255 + nav :has(.router-link-exact-active) svg path { 256 + fill: #5f8aee; 257 + } 258 + 259 + nav a { 260 + display: inline-block; 261 + padding: 0 1rem; 262 + font-size: 1rem; 263 + } 264 + </style>
+86
manual-testing/src/assets/base.css
··· 1 + /* color palette from <https://github.com/vuejs/theme> */ 2 + :root { 3 + --vt-c-white: #ffffff; 4 + --vt-c-white-soft: #f8f8f8; 5 + --vt-c-white-mute: #f2f2f2; 6 + 7 + --vt-c-black: #181818; 8 + --vt-c-black-soft: #222222; 9 + --vt-c-black-mute: #282828; 10 + 11 + --vt-c-indigo: #2c3e50; 12 + 13 + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); 14 + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); 15 + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); 16 + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); 17 + 18 + --vt-c-text-light-1: var(--vt-c-indigo); 19 + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); 20 + --vt-c-text-dark-1: var(--vt-c-white); 21 + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); 22 + } 23 + 24 + /* semantic color variables for this project */ 25 + :root { 26 + --color-background: var(--vt-c-white); 27 + --color-background-soft: var(--vt-c-white-soft); 28 + --color-background-mute: var(--vt-c-white-mute); 29 + 30 + --color-border: var(--vt-c-divider-light-2); 31 + --color-border-hover: var(--vt-c-divider-light-1); 32 + 33 + --color-heading: var(--vt-c-text-light-1); 34 + --color-text: var(--vt-c-text-light-1); 35 + 36 + --section-gap: 160px; 37 + } 38 + 39 + @media (prefers-color-scheme: dark) { 40 + :root { 41 + --color-background: var(--vt-c-black); 42 + --color-background-soft: var(--vt-c-black-soft); 43 + --color-background-mute: var(--vt-c-black-mute); 44 + 45 + --color-border: var(--vt-c-divider-dark-2); 46 + --color-border-hover: var(--vt-c-divider-dark-1); 47 + 48 + --color-heading: var(--vt-c-text-dark-1); 49 + --color-text: var(--vt-c-text-dark-2); 50 + } 51 + } 52 + 53 + *, 54 + *::before, 55 + *::after { 56 + box-sizing: border-box; 57 + margin: 0; 58 + font-weight: normal; 59 + } 60 + 61 + body { 62 + min-height: 100vh; 63 + color: var(--color-text); 64 + background: var(--color-background); 65 + transition: 66 + color 0.5s, 67 + background-color 0.5s; 68 + line-height: 1.6; 69 + font-family: 70 + Inter, 71 + -apple-system, 72 + BlinkMacSystemFont, 73 + 'Segoe UI', 74 + Roboto, 75 + Oxygen, 76 + Ubuntu, 77 + Cantarell, 78 + 'Fira Sans', 79 + 'Droid Sans', 80 + 'Helvetica Neue', 81 + sans-serif; 82 + font-size: 15px; 83 + text-rendering: optimizeLegibility; 84 + -webkit-font-smoothing: antialiased; 85 + -moz-osx-font-smoothing: grayscale; 86 + }
manual-testing/src/assets/logo.png

This is a binary file and will not be displayed.

+30
manual-testing/src/assets/main.css
··· 1 + @import './base.css'; 2 + 3 + a, 4 + .green { 5 + text-decoration: none; 6 + color: #8A8A8A; 7 + transition: 0.4s; 8 + padding: 3px; 9 + } 10 + 11 + body { 12 + display: flex; 13 + place-items: center; 14 + } 15 + 16 + #app { 17 + display: grid; 18 + grid-template-columns: 300px 1fr; 19 + padding: 0 2rem; 20 + } 21 + 22 + .gradient-text { 23 + background: linear-gradient(90deg, #42d392, #5f8aee); 24 + background-size: 100% 100%; 25 + background-repeat: no-repeat; 26 + -webkit-background-clip: text; 27 + -webkit-text-fill-color: transparent; 28 + background-clip: text; 29 + color: transparent; 30 + }
+82
manual-testing/src/components/TheWelcome.vue
··· 1 + <script setup lang="ts"> 2 + //@ts-ignore 3 + import BaseIcon from "../../../src/atoms/BaseIcon.vue" 4 + </script> 5 + 6 + <template> 7 + <main> 8 + <h1 class="gradient-text">Welcome to the vue-data-ui manual testing arena</h1> 9 + <div class="prereq"> 10 + <ol> 11 + <li> 12 + Make sure to build the package at the root of the main project: 13 + <ul> 14 + <li><code>npm i</code></li> 15 + <li><code>npm run prod</code> runs all tests before building the package. Run it when it is your first time, or before submitting a PR, since <strong>all tests must pass.</strong></li> 16 + <li><code>npm run preprod</code> skips tests and builds the package. Run this during dev, to test the build versions of modified components in the arena.</li> 17 + </ul> 18 + </li> 19 + 20 + <li> 21 + cd into the manual-testing directory: 22 + <ul> 23 + <li><code>npm run dev</code> adds the local package to the testing directory and runs the testing app</li> 24 + <li>changes made to the library components will be reflected live on the local instances of tested components, which can be compared to their state from the current build.</li> 25 + </ul> 26 + </li> 27 + 28 + <li> 29 + Change datasets, tweak configs inside Arena{component} files 30 + </li> 31 + 32 + <li> 33 + 🎉 Thank you for contributing to vue-data-ui ! 34 + </li> 35 + </ol> 36 + </div> 37 + 38 + <div class="hint"> 39 + <BaseIcon stroke="#83a4f2" name="arrowLeft"/>Select a component to start testing... 40 + </div> 41 + </main> 42 + </template> 43 + 44 + <style scoped> 45 + h1 { 46 + margin-bottom: 2rem; 47 + width: fit-content; 48 + font-weight: bolder; 49 + } 50 + 51 + .hint { 52 + display: flex; 53 + flex-direction: row; 54 + align-items:center; 55 + gap: 1rem; 56 + font-size: 1.5rem; 57 + } 58 + 59 + .prereq { 60 + margin-bottom: 2rem; 61 + } 62 + 63 + code { 64 + color: #42d392; 65 + background: #2A2A2A; 66 + padding: 0.2rem; 67 + } 68 + strong { 69 + font-weight:bolder; 70 + color: #5f8aee; 71 + } 72 + 73 + ol li { 74 + font-weight: bolder; 75 + margin-bottom: 1rem; 76 + } 77 + 78 + ul li { 79 + font-weight: normal; 80 + margin-bottom: 0; 81 + } 82 + </style>
+87
manual-testing/src/components/WelcomeItem.vue
··· 1 + <template> 2 + <div class="item"> 3 + <i> 4 + <slot name="icon"></slot> 5 + </i> 6 + <div class="details"> 7 + <h3> 8 + <slot name="heading"></slot> 9 + </h3> 10 + <slot></slot> 11 + </div> 12 + </div> 13 + </template> 14 + 15 + <style scoped> 16 + .item { 17 + margin-top: 2rem; 18 + display: flex; 19 + position: relative; 20 + } 21 + 22 + .details { 23 + flex: 1; 24 + margin-left: 1rem; 25 + } 26 + 27 + i { 28 + display: flex; 29 + place-items: center; 30 + place-content: center; 31 + width: 32px; 32 + height: 32px; 33 + 34 + color: var(--color-text); 35 + } 36 + 37 + h3 { 38 + font-size: 1.2rem; 39 + font-weight: 500; 40 + margin-bottom: 0.4rem; 41 + color: var(--color-heading); 42 + } 43 + 44 + @media (min-width: 1024px) { 45 + .item { 46 + margin-top: 0; 47 + padding: 0.4rem 0 1rem calc(var(--section-gap) / 2); 48 + } 49 + 50 + i { 51 + top: calc(50% - 25px); 52 + left: -26px; 53 + position: absolute; 54 + border: 1px solid var(--color-border); 55 + background: var(--color-background); 56 + border-radius: 8px; 57 + width: 50px; 58 + height: 50px; 59 + } 60 + 61 + .item:before { 62 + content: ' '; 63 + border-left: 1px solid var(--color-border); 64 + position: absolute; 65 + left: 0; 66 + bottom: calc(50% + 25px); 67 + height: calc(50% - 25px); 68 + } 69 + 70 + .item:after { 71 + content: ' '; 72 + border-left: 1px solid var(--color-border); 73 + position: absolute; 74 + left: 0; 75 + top: calc(50% + 25px); 76 + height: calc(50% - 25px); 77 + } 78 + 79 + .item:first-of-type:before { 80 + display: none; 81 + } 82 + 83 + .item:last-of-type:after { 84 + display: none; 85 + } 86 + } 87 + </style>
+7
manual-testing/src/components/icons/IconCommunity.vue
··· 1 + <template> 2 + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> 3 + <path 4 + d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z" 5 + /> 6 + </svg> 7 + </template>
+7
manual-testing/src/components/icons/IconDocumentation.vue
··· 1 + <template> 2 + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="17" fill="currentColor"> 3 + <path 4 + d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z" 5 + /> 6 + </svg> 7 + </template>
+7
manual-testing/src/components/icons/IconEcosystem.vue
··· 1 + <template> 2 + <svg xmlns="http://www.w3.org/2000/svg" width="18" height="20" fill="currentColor"> 3 + <path 4 + d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z" 5 + /> 6 + </svg> 7 + </template>
+7
manual-testing/src/components/icons/IconSupport.vue
··· 1 + <template> 2 + <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor"> 3 + <path 4 + d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z" 5 + /> 6 + </svg> 7 + </template>
+19
manual-testing/src/components/icons/IconTooling.vue
··· 1 + <!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license--> 2 + <template> 3 + <svg 4 + xmlns="http://www.w3.org/2000/svg" 5 + xmlns:xlink="http://www.w3.org/1999/xlink" 6 + aria-hidden="true" 7 + role="img" 8 + class="iconify iconify--mdi" 9 + width="24" 10 + height="24" 11 + preserveAspectRatio="xMidYMid meet" 12 + viewBox="0 0 24 24" 13 + > 14 + <path 15 + d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z" 16 + fill="currentColor" 17 + ></path> 18 + </svg> 19 + </template>
+36
manual-testing/src/main.ts
··· 1 + // TESTING ARENA 2 + // Not destined to be built 3 + 4 + import { createApp } from 'vue' 5 + import './assets/main.css' 6 + import App from './App.vue' 7 + import router from './router' 8 + import { 9 + Arrow, 10 + VueUiAnnotator, 11 + VueUiDigits, 12 + VueUiDonut, 13 + VueUiMiniLoader, 14 + VueUiSkeleton, 15 + VueUiAccordion, 16 + VueUiPattern, 17 + VueDataUi 18 + } from 'vue-data-ui'; 19 + import 'vue-data-ui/style.css'; 20 + 21 + // import VueUiXy from "vue-data-ui/vue-ui-xy"; 22 + 23 + const app = createApp(App) 24 + app.use(router) 25 + 26 + app.component("Arrow", Arrow); 27 + app.component("VueDataUi", VueDataUi); 28 + app.component("VueUiAnnotator", VueUiAnnotator); 29 + app.component("VueUiDigits", VueUiDigits); 30 + app.component("VueUiDonut", VueUiDonut); 31 + app.component("VueUiMiniLoader", VueUiMiniLoader); 32 + app.component("VueUiSkeleton", VueUiSkeleton); 33 + app.component("VueUiAccordion", VueUiAccordion); 34 + app.component('VueUiPattern', VueUiPattern); 35 + 36 + app.mount('#app');
+82
manual-testing/src/router/index.ts
··· 1 + import { createRouter, createWebHistory } from 'vue-router' 2 + import HomeView from '../views/HomeView.vue' 3 + 4 + const components = [ 5 + 'ArenaVueUiStackline', 6 + 'ArenaVueUiXy', 7 + 'ArenaVueUiDonut', 8 + 'ArenaVueUiTreemap', 9 + 'ArenaVueUiWaffle', 10 + 'ArenaVueUiRadar', 11 + 'ArenaVueUiQuadrant', 12 + 'ArenaVueUiGauge', 13 + 'ArenaVueUiWheel', 14 + 'ArenaVueUiTiremarks', 15 + 'ArenaVueUiChestnut', 16 + 'ArenaVueUiOnion', 17 + 'ArenaVueUiHorizontalBar', 18 + 'ArenaVueUiHeatmap', 19 + 'ArenaVueUiScatter', 20 + 'ArenaVueUiCandlestick', 21 + 'ArenaVueUiSparkline', 22 + 'ArenaVueUiSparkbar', 23 + 'ArenaVueUiSparkStackbar', 24 + 'ArenaVueUiSparkHistogram', 25 + 'ArenaVueUiSparkGauge', 26 + 'ArenaVueUiSparkTrend', 27 + 'ArenaVueUiQuickChart', 28 + 'ArenaVueUiAgePyramid', 29 + 'ArenaVueUiRelationCircle', 30 + 'ArenaVueUiThermometer', 31 + 'ArenaVueUiRings', 32 + 'ArenaVueUiDonutEvolution', 33 + 'ArenaVueUiIcon', 34 + 'ArenaVueUiMoodRadar', 35 + 'ArenaVueUiMolecule', 36 + 'ArenaVueUiNestedDonuts', 37 + 'ArenaVueUiGalaxy', 38 + 'ArenaVueUiStripPlot', 39 + 'ArenaVueUiDumbbell', 40 + 'ArenaVueUi3dBar', 41 + 'ArenaVueUiTableSparkline', 42 + 'ArenaVueUiTableHeatmap', 43 + 'ArenaVueUiWordCloud', 44 + 'ArenaVueUiXyCanvas', 45 + 'ArenaVueUiFlow', 46 + 'ArenaVueUiParallelCoordinatePlot', 47 + 'ArenaVueUiTimer', 48 + 'ArenaVueUiCarouselTable', 49 + 'ArenaVueUiGizmo', 50 + 'ArenaVueUiKpi', 51 + 'ArenaVueUiStackbar', 52 + 'ArenaVueUiRating', 53 + 'ArenaVueUiSmiley', 54 + 'ArenaVueUiBullet', 55 + 'ArenaVueUiFunnel', 56 + 'ArenaVueUiHistoryPlot', 57 + 'ArenaVueUiCirclePack', 58 + 'ArenaVueUiWorld', 59 + 'ArenaVueUiTable', 60 + 'ArenaVueUiRidgeline', 61 + 'ArenaVueUiChord', 62 + 'ArenaVueUiDashboard', 63 + 'ArenaVueUiAnnotator' 64 + ].map(c => ({ 65 + path: `/${c}`, 66 + name: c, 67 + component: () => import(`../../../TestingArena/${c}.vue`) 68 + })) 69 + 70 + const router = createRouter({ 71 + history: createWebHistory(import.meta.env.BASE_URL), 72 + routes: [ 73 + { 74 + path: '/', 75 + name: 'home', 76 + component: HomeView, 77 + }, 78 + ...components, 79 + ], 80 + }) 81 + 82 + export default router
+15
manual-testing/src/views/AboutView.vue
··· 1 + <template> 2 + <div class="about"> 3 + <h1>This is an about page</h1> 4 + </div> 5 + </template> 6 + 7 + <style> 8 + @media (min-width: 1024px) { 9 + .about { 10 + min-height: 100vh; 11 + display: flex; 12 + align-items: center; 13 + } 14 + } 15 + </style>
+9
manual-testing/src/views/HomeView.vue
··· 1 + <script setup lang="ts"> 2 + import TheWelcome from '../components/TheWelcome.vue' 3 + </script> 4 + 5 + <template> 6 + <main> 7 + <TheWelcome /> 8 + </main> 9 + </template>
+12
manual-testing/tsconfig.app.json
··· 1 + { 2 + "extends": "@vue/tsconfig/tsconfig.dom.json", 3 + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], 4 + "exclude": ["src/**/__tests__/*"], 5 + "compilerOptions": { 6 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 7 + 8 + "paths": { 9 + "@/*": ["./src/*"] 10 + } 11 + } 12 + }
+11
manual-testing/tsconfig.json
··· 1 + { 2 + "files": [], 3 + "references": [ 4 + { 5 + "path": "./tsconfig.node.json" 6 + }, 7 + { 8 + "path": "./tsconfig.app.json" 9 + } 10 + ] 11 + }
+19
manual-testing/tsconfig.node.json
··· 1 + { 2 + "extends": "@tsconfig/node22/tsconfig.json", 3 + "include": [ 4 + "vite.config.*", 5 + "vitest.config.*", 6 + "cypress.config.*", 7 + "nightwatch.conf.*", 8 + "playwright.config.*", 9 + "eslint.config.*" 10 + ], 11 + "compilerOptions": { 12 + "noEmit": true, 13 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 14 + 15 + "module": "ESNext", 16 + "moduleResolution": "Bundler", 17 + "types": ["node"] 18 + } 19 + }
+18
manual-testing/vite.config.ts
··· 1 + import { fileURLToPath, URL } from 'node:url' 2 + 3 + import { defineConfig } from 'vite' 4 + import vue from '@vitejs/plugin-vue' 5 + import vueDevTools from 'vite-plugin-vue-devtools' 6 + 7 + // https://vite.dev/config/ 8 + export default defineConfig({ 9 + plugins: [ 10 + vue(), 11 + vueDevTools(), 12 + ], 13 + resolve: { 14 + alias: { 15 + '@': fileURLToPath(new URL('./src', import.meta.url)) 16 + }, 17 + }, 18 + })