├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── public └── favicon.ico ├── src ├── App.vue ├── assets │ ├── base.css │ └── logo.svg ├── components │ ├── HelloWorld.vue │ ├── TheWelcome.vue │ ├── WelcomeItem.vue │ └── icons │ │ ├── IconCommunity.vue │ │ ├── IconDocumentation.vue │ │ ├── IconEcosystem.vue │ │ ├── IconSupport.vue │ │ └── IconTooling.vue ├── main.js └── stores │ └── counter.js └── vite.config.js /.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 | /cypress/videos/ 18 | /cypress/screenshots/ 19 | 20 | # Editor directories and files 21 | .vscode/* 22 | !.vscode/extensions.json 23 | .idea 24 | *.suo 25 | *.ntvs* 26 | *.njsproj 27 | *.sln 28 | *.sw? 29 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["johnsoncodehk.volar", "johnsoncodehk.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # todo-app 2 | 3 | This template should help get you started developing with Vue 3 in Vite. 4 | 5 | ## Recommended IDE Setup 6 | 7 | [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=johnsoncodehk.vscode-typescript-vue-plugin). 8 | 9 | ## Customize configuration 10 | 11 | See [Vite Configuration Reference](https://vitejs.dev/config/). 12 | 13 | ## Project Setup 14 | 15 | ```sh 16 | npm install 17 | ``` 18 | 19 | ### Compile and Hot-Reload for Development 20 | 21 | ```sh 22 | npm run dev 23 | ``` 24 | 25 | ### Compile and Minify for Production 26 | 27 | ```sh 28 | npm run build 29 | ``` 30 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "todo-app", 3 | "version": "0.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "todo-app", 9 | "version": "0.0.0", 10 | "dependencies": { 11 | "pinia": "^2.0.13", 12 | "vue": "^3.2.33" 13 | }, 14 | "devDependencies": { 15 | "@vitejs/plugin-vue": "^2.3.1", 16 | "vite": "^2.9.5" 17 | } 18 | }, 19 | "node_modules/@babel/parser": { 20 | "version": "7.18.3", 21 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.3.tgz", 22 | "integrity": "sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==", 23 | "bin": { 24 | "parser": "bin/babel-parser.js" 25 | }, 26 | "engines": { 27 | "node": ">=6.0.0" 28 | } 29 | }, 30 | "node_modules/@vitejs/plugin-vue": { 31 | "version": "2.3.3", 32 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz", 33 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==", 34 | "dev": true, 35 | "engines": { 36 | "node": ">=12.0.0" 37 | }, 38 | "peerDependencies": { 39 | "vite": "^2.5.10", 40 | "vue": "^3.2.25" 41 | } 42 | }, 43 | "node_modules/@vue/compiler-core": { 44 | "version": "3.2.36", 45 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.36.tgz", 46 | "integrity": "sha512-bbyZM5hvBicv0PW3KUfVi+x3ylHnfKG7DOn5wM+f2OztTzTjLEyBb/5yrarIYpmnGitVGbjZqDbODyW4iK8hqw==", 47 | "dependencies": { 48 | "@babel/parser": "^7.16.4", 49 | "@vue/shared": "3.2.36", 50 | "estree-walker": "^2.0.2", 51 | "source-map": "^0.6.1" 52 | } 53 | }, 54 | "node_modules/@vue/compiler-dom": { 55 | "version": "3.2.36", 56 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.36.tgz", 57 | "integrity": "sha512-tcOTAOiW4s24QLnq+ON6J+GRONXJ+A/mqKCORi0LSlIh8XQlNnlm24y8xIL8la+ZDgkdbjarQ9ZqYSvEja6gVA==", 58 | "dependencies": { 59 | "@vue/compiler-core": "3.2.36", 60 | "@vue/shared": "3.2.36" 61 | } 62 | }, 63 | "node_modules/@vue/compiler-sfc": { 64 | "version": "3.2.36", 65 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.36.tgz", 66 | "integrity": "sha512-AvGb4bTj4W8uQ4BqaSxo7UwTEqX5utdRSMyHy58OragWlt8nEACQ9mIeQh3K4di4/SX+41+pJrLIY01lHAOFOA==", 67 | "dependencies": { 68 | "@babel/parser": "^7.16.4", 69 | "@vue/compiler-core": "3.2.36", 70 | "@vue/compiler-dom": "3.2.36", 71 | "@vue/compiler-ssr": "3.2.36", 72 | "@vue/reactivity-transform": "3.2.36", 73 | "@vue/shared": "3.2.36", 74 | "estree-walker": "^2.0.2", 75 | "magic-string": "^0.25.7", 76 | "postcss": "^8.1.10", 77 | "source-map": "^0.6.1" 78 | } 79 | }, 80 | "node_modules/@vue/compiler-ssr": { 81 | "version": "3.2.36", 82 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.36.tgz", 83 | "integrity": "sha512-+KugInUFRvOxEdLkZwE+W43BqHyhBh0jpYXhmqw1xGq2dmE6J9eZ8UUSOKNhdHtQ/iNLWWeK/wPZkVLUf3YGaw==", 84 | "dependencies": { 85 | "@vue/compiler-dom": "3.2.36", 86 | "@vue/shared": "3.2.36" 87 | } 88 | }, 89 | "node_modules/@vue/devtools-api": { 90 | "version": "6.1.4", 91 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz", 92 | "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==" 93 | }, 94 | "node_modules/@vue/reactivity": { 95 | "version": "3.2.36", 96 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.36.tgz", 97 | "integrity": "sha512-c2qvopo0crh9A4GXi2/2kfGYMxsJW4tVILrqRPydVGZHhq0fnzy6qmclWOhBFckEhmyxmpHpdJtIRYGeKcuhnA==", 98 | "dependencies": { 99 | "@vue/shared": "3.2.36" 100 | } 101 | }, 102 | "node_modules/@vue/reactivity-transform": { 103 | "version": "3.2.36", 104 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.36.tgz", 105 | "integrity": "sha512-Jk5o2BhpODC9XTA7o4EL8hSJ4JyrFWErLtClG3NH8wDS7ri9jBDWxI7/549T7JY9uilKsaNM+4pJASLj5dtRwA==", 106 | "dependencies": { 107 | "@babel/parser": "^7.16.4", 108 | "@vue/compiler-core": "3.2.36", 109 | "@vue/shared": "3.2.36", 110 | "estree-walker": "^2.0.2", 111 | "magic-string": "^0.25.7" 112 | } 113 | }, 114 | "node_modules/@vue/runtime-core": { 115 | "version": "3.2.36", 116 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.36.tgz", 117 | "integrity": "sha512-PTWBD+Lub+1U3/KhbCExrfxyS14hstLX+cBboxVHaz+kXoiDLNDEYAovPtxeTutbqtClIXtft+wcGdC+FUQ9qQ==", 118 | "dependencies": { 119 | "@vue/reactivity": "3.2.36", 120 | "@vue/shared": "3.2.36" 121 | } 122 | }, 123 | "node_modules/@vue/runtime-dom": { 124 | "version": "3.2.36", 125 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.36.tgz", 126 | "integrity": "sha512-gYPYblm7QXHVuBohqNRRT7Wez0f2Mx2D40rb4fleehrJU9CnkjG0phhcGEZFfGwCmHZRqBCRgbFWE98bPULqkg==", 127 | "dependencies": { 128 | "@vue/runtime-core": "3.2.36", 129 | "@vue/shared": "3.2.36", 130 | "csstype": "^2.6.8" 131 | } 132 | }, 133 | "node_modules/@vue/server-renderer": { 134 | "version": "3.2.36", 135 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.36.tgz", 136 | "integrity": "sha512-uZE0+jfye6yYXWvAQYeHZv+f50sRryvy16uiqzk3jn8hEY8zTjI+rzlmZSGoE915k+W/Ol9XSw6vxOUD8dGkUg==", 137 | "dependencies": { 138 | "@vue/compiler-ssr": "3.2.36", 139 | "@vue/shared": "3.2.36" 140 | }, 141 | "peerDependencies": { 142 | "vue": "3.2.36" 143 | } 144 | }, 145 | "node_modules/@vue/shared": { 146 | "version": "3.2.36", 147 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.36.tgz", 148 | "integrity": "sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==" 149 | }, 150 | "node_modules/csstype": { 151 | "version": "2.6.20", 152 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 153 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 154 | }, 155 | "node_modules/esbuild": { 156 | "version": "0.14.41", 157 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.41.tgz", 158 | "integrity": "sha512-uZl2CH5nwayLPi1Unhfk+vBBjD3FDlYQ+v24qAlj2oZMYQP8pFs1k3DK5ViD+keF3JnuV4K7JtqVvBmTDwVEbA==", 159 | "dev": true, 160 | "hasInstallScript": true, 161 | "bin": { 162 | "esbuild": "bin/esbuild" 163 | }, 164 | "engines": { 165 | "node": ">=12" 166 | }, 167 | "optionalDependencies": { 168 | "esbuild-android-64": "0.14.41", 169 | "esbuild-android-arm64": "0.14.41", 170 | "esbuild-darwin-64": "0.14.41", 171 | "esbuild-darwin-arm64": "0.14.41", 172 | "esbuild-freebsd-64": "0.14.41", 173 | "esbuild-freebsd-arm64": "0.14.41", 174 | "esbuild-linux-32": "0.14.41", 175 | "esbuild-linux-64": "0.14.41", 176 | "esbuild-linux-arm": "0.14.41", 177 | "esbuild-linux-arm64": "0.14.41", 178 | "esbuild-linux-mips64le": "0.14.41", 179 | "esbuild-linux-ppc64le": "0.14.41", 180 | "esbuild-linux-riscv64": "0.14.41", 181 | "esbuild-linux-s390x": "0.14.41", 182 | "esbuild-netbsd-64": "0.14.41", 183 | "esbuild-openbsd-64": "0.14.41", 184 | "esbuild-sunos-64": "0.14.41", 185 | "esbuild-windows-32": "0.14.41", 186 | "esbuild-windows-64": "0.14.41", 187 | "esbuild-windows-arm64": "0.14.41" 188 | } 189 | }, 190 | "node_modules/esbuild-android-64": { 191 | "version": "0.14.41", 192 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.41.tgz", 193 | "integrity": "sha512-byyo8LPOGHzAqxbwh2Q72d7L+rXXTsr/KALjsiCySrJ60CGMe80i3bwoQ+WODxsGaH08R//yg5oc7xHKgQz4uw==", 194 | "cpu": [ 195 | "x64" 196 | ], 197 | "dev": true, 198 | "optional": true, 199 | "os": [ 200 | "android" 201 | ], 202 | "engines": { 203 | "node": ">=12" 204 | } 205 | }, 206 | "node_modules/esbuild-android-arm64": { 207 | "version": "0.14.41", 208 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.41.tgz", 209 | "integrity": "sha512-7koo9Dm/mwK4M8PGQX8JQRc4UQ4Wj7DT1nD4BQkVs2jxtHbYOlnsQH0fneKSXZVmnBIHYcntr/e1VU5gnYLvGQ==", 210 | "cpu": [ 211 | "arm64" 212 | ], 213 | "dev": true, 214 | "optional": true, 215 | "os": [ 216 | "android" 217 | ], 218 | "engines": { 219 | "node": ">=12" 220 | } 221 | }, 222 | "node_modules/esbuild-darwin-64": { 223 | "version": "0.14.41", 224 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.41.tgz", 225 | "integrity": "sha512-kW8fC2auh9jjmBXudTmlMfbBCMYMuujhxG40CxMhKiQ8NLBK4RU9yUYY6ss7QJp24kVTtKd4IvfwOio9SE53MA==", 226 | "cpu": [ 227 | "x64" 228 | ], 229 | "dev": true, 230 | "optional": true, 231 | "os": [ 232 | "darwin" 233 | ], 234 | "engines": { 235 | "node": ">=12" 236 | } 237 | }, 238 | "node_modules/esbuild-darwin-arm64": { 239 | "version": "0.14.41", 240 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.41.tgz", 241 | "integrity": "sha512-cO0EPkiQt0bERH9sZFIoTywWfGhEpshdpvQpDfLh/ZJLeioQfaarM9YDrmID+f7k77djh0mdyfsC6XpS0HlLsw==", 242 | "cpu": [ 243 | "arm64" 244 | ], 245 | "dev": true, 246 | "optional": true, 247 | "os": [ 248 | "darwin" 249 | ], 250 | "engines": { 251 | "node": ">=12" 252 | } 253 | }, 254 | "node_modules/esbuild-freebsd-64": { 255 | "version": "0.14.41", 256 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.41.tgz", 257 | "integrity": "sha512-6tsMDK6b7czCOjsr68BgVogFXcTCWL3T7yFXRFuAmXwY9ybYgX8sybD7ztrRB03dLAPeMxHo+PzeMD6LdVrLdQ==", 258 | "cpu": [ 259 | "x64" 260 | ], 261 | "dev": true, 262 | "optional": true, 263 | "os": [ 264 | "freebsd" 265 | ], 266 | "engines": { 267 | "node": ">=12" 268 | } 269 | }, 270 | "node_modules/esbuild-freebsd-arm64": { 271 | "version": "0.14.41", 272 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.41.tgz", 273 | "integrity": "sha512-AQ2S/VCLKVBe/+HNiFLyp3w9i7AEtCOWEzKHSkfHk0VO5bPzHd7WJfWmj1Bxliu7vdPESbiDUTJIH3rDt4bzSA==", 274 | "cpu": [ 275 | "arm64" 276 | ], 277 | "dev": true, 278 | "optional": true, 279 | "os": [ 280 | "freebsd" 281 | ], 282 | "engines": { 283 | "node": ">=12" 284 | } 285 | }, 286 | "node_modules/esbuild-linux-32": { 287 | "version": "0.14.41", 288 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.41.tgz", 289 | "integrity": "sha512-sb7Kah5Px6BNZ6gzm0nJLuDeAJKbIlaKIoI9zgZ5dFDxZSn91TMAHJz5W39YDJ8+ZaGJYIdqZSpDo+4G769mZw==", 290 | "cpu": [ 291 | "ia32" 292 | ], 293 | "dev": true, 294 | "optional": true, 295 | "os": [ 296 | "linux" 297 | ], 298 | "engines": { 299 | "node": ">=12" 300 | } 301 | }, 302 | "node_modules/esbuild-linux-64": { 303 | "version": "0.14.41", 304 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.41.tgz", 305 | "integrity": "sha512-PeI0bfbv+5ondZRhPRszptp3RQRRAPxpOB2CYDphKske5+UlCXPi4Af+T++OqhV5TEpymTfxJdJQ1sn1w32coA==", 306 | "cpu": [ 307 | "x64" 308 | ], 309 | "dev": true, 310 | "optional": true, 311 | "os": [ 312 | "linux" 313 | ], 314 | "engines": { 315 | "node": ">=12" 316 | } 317 | }, 318 | "node_modules/esbuild-linux-arm": { 319 | "version": "0.14.41", 320 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.41.tgz", 321 | "integrity": "sha512-8DQ6Sv3XNwgu0cnPA3q+kJSqfOYLDqWzpW8dPF+/Or23bS/5EIT/CzN73uIhR8A3AokXIczn88VKti7Xtv+V2g==", 322 | "cpu": [ 323 | "arm" 324 | ], 325 | "dev": true, 326 | "optional": true, 327 | "os": [ 328 | "linux" 329 | ], 330 | "engines": { 331 | "node": ">=12" 332 | } 333 | }, 334 | "node_modules/esbuild-linux-arm64": { 335 | "version": "0.14.41", 336 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.41.tgz", 337 | "integrity": "sha512-aAhBX6kVG8hTVuANE90ORobioHdpZLzy8Fibf4XBuG4IuJfjgM5N4wFIq2Tpd+Ykit432PL/YOQhZ4W6nVc4cQ==", 338 | "cpu": [ 339 | "arm64" 340 | ], 341 | "dev": true, 342 | "optional": true, 343 | "os": [ 344 | "linux" 345 | ], 346 | "engines": { 347 | "node": ">=12" 348 | } 349 | }, 350 | "node_modules/esbuild-linux-mips64le": { 351 | "version": "0.14.41", 352 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.41.tgz", 353 | "integrity": "sha512-88xo4FRYQ2laMJnrqZu8j5q531XT/odZnhO5NLWO/NdweIdT8F+QL0fNIBIf+nVkC1d0Psgmt+g35GAODMDl8g==", 354 | "cpu": [ 355 | "mips64el" 356 | ], 357 | "dev": true, 358 | "optional": true, 359 | "os": [ 360 | "linux" 361 | ], 362 | "engines": { 363 | "node": ">=12" 364 | } 365 | }, 366 | "node_modules/esbuild-linux-ppc64le": { 367 | "version": "0.14.41", 368 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.41.tgz", 369 | "integrity": "sha512-kJ0r/Cg3LzFzHhbBsvqi/hDPGKMGzFiPGOmUvqTkfVXhRUQtOMkXkyKdP7OEMRb8ctPtnptsZOOXPHRdU0NdJQ==", 370 | "cpu": [ 371 | "ppc64" 372 | ], 373 | "dev": true, 374 | "optional": true, 375 | "os": [ 376 | "linux" 377 | ], 378 | "engines": { 379 | "node": ">=12" 380 | } 381 | }, 382 | "node_modules/esbuild-linux-riscv64": { 383 | "version": "0.14.41", 384 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.41.tgz", 385 | "integrity": "sha512-ZJ7d/qFRx14J3aP75ccrFSZyuYZ1hu8IVfwVqyQg4jQFgNME2FMz7pZMskBJ0fSW8QcYUnN3RubFXWijyjKUug==", 386 | "cpu": [ 387 | "riscv64" 388 | ], 389 | "dev": true, 390 | "optional": true, 391 | "os": [ 392 | "linux" 393 | ], 394 | "engines": { 395 | "node": ">=12" 396 | } 397 | }, 398 | "node_modules/esbuild-linux-s390x": { 399 | "version": "0.14.41", 400 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.41.tgz", 401 | "integrity": "sha512-xeWAEZt1jAfYkYuyIUuHKpH/oj7O862Je5HTH9E+4sEfoOnZaAmFrisbXjGDKXjMRKYscFlM8wXdNBmiqQlT8g==", 402 | "cpu": [ 403 | "s390x" 404 | ], 405 | "dev": true, 406 | "optional": true, 407 | "os": [ 408 | "linux" 409 | ], 410 | "engines": { 411 | "node": ">=12" 412 | } 413 | }, 414 | "node_modules/esbuild-netbsd-64": { 415 | "version": "0.14.41", 416 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.41.tgz", 417 | "integrity": "sha512-X/UE3Asqy594/atYi/STgYtaMQBJwtZKF0KFFdJTkwb6rtaoHCM1o482iHibgnSK7CicuRhyTZ+cNx4OFqRQAg==", 418 | "cpu": [ 419 | "x64" 420 | ], 421 | "dev": true, 422 | "optional": true, 423 | "os": [ 424 | "netbsd" 425 | ], 426 | "engines": { 427 | "node": ">=12" 428 | } 429 | }, 430 | "node_modules/esbuild-openbsd-64": { 431 | "version": "0.14.41", 432 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.41.tgz", 433 | "integrity": "sha512-6m+1dtdO+4KaU3R0UTT82hxWxWpFCjgSHhQl/PKtMmq+CvvxRQDcTwujLC843M7ChGVWNM2q1s6YCwoA0WQ9kw==", 434 | "cpu": [ 435 | "x64" 436 | ], 437 | "dev": true, 438 | "optional": true, 439 | "os": [ 440 | "openbsd" 441 | ], 442 | "engines": { 443 | "node": ">=12" 444 | } 445 | }, 446 | "node_modules/esbuild-sunos-64": { 447 | "version": "0.14.41", 448 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.41.tgz", 449 | "integrity": "sha512-p96tTTcE8/WY7A4Udh+fxVUTGL8rIXOpyxyhZiXug+f7DGbjE24PbewqgIBRSDyM7xRUty+1RzqyJz73YIV6yg==", 450 | "cpu": [ 451 | "x64" 452 | ], 453 | "dev": true, 454 | "optional": true, 455 | "os": [ 456 | "sunos" 457 | ], 458 | "engines": { 459 | "node": ">=12" 460 | } 461 | }, 462 | "node_modules/esbuild-windows-32": { 463 | "version": "0.14.41", 464 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.41.tgz", 465 | "integrity": "sha512-jS+/pGyPPzrL8tgcvOxLEatV1QPICghKm13EjEVgkeRftl8X6tqRyFv/9eKutczdD3sklMDOJfivoPD32D46Ww==", 466 | "cpu": [ 467 | "ia32" 468 | ], 469 | "dev": true, 470 | "optional": true, 471 | "os": [ 472 | "win32" 473 | ], 474 | "engines": { 475 | "node": ">=12" 476 | } 477 | }, 478 | "node_modules/esbuild-windows-64": { 479 | "version": "0.14.41", 480 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.41.tgz", 481 | "integrity": "sha512-vLqmKbV8FJ7LFMrT3zEQpojnUUbXyqhRPVGnAYzc0ESY5yAuom4E9tL7KzZ5H8KEuCUf//AvbyxpE+yOcjpyjA==", 482 | "cpu": [ 483 | "x64" 484 | ], 485 | "dev": true, 486 | "optional": true, 487 | "os": [ 488 | "win32" 489 | ], 490 | "engines": { 491 | "node": ">=12" 492 | } 493 | }, 494 | "node_modules/esbuild-windows-arm64": { 495 | "version": "0.14.41", 496 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.41.tgz", 497 | "integrity": "sha512-TOvj7kRTfpH4GPPmblvuMNf8oNJ3y2h7a6HttanVnc3QLMm5bNFYLSo6TShLOn0SbqFWGJwHIhGhw2JK96aVhg==", 498 | "cpu": [ 499 | "arm64" 500 | ], 501 | "dev": true, 502 | "optional": true, 503 | "os": [ 504 | "win32" 505 | ], 506 | "engines": { 507 | "node": ">=12" 508 | } 509 | }, 510 | "node_modules/estree-walker": { 511 | "version": "2.0.2", 512 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 513 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 514 | }, 515 | "node_modules/fsevents": { 516 | "version": "2.3.2", 517 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 518 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 519 | "dev": true, 520 | "hasInstallScript": true, 521 | "optional": true, 522 | "os": [ 523 | "darwin" 524 | ], 525 | "engines": { 526 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 527 | } 528 | }, 529 | "node_modules/function-bind": { 530 | "version": "1.1.1", 531 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 532 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 533 | "dev": true 534 | }, 535 | "node_modules/has": { 536 | "version": "1.0.3", 537 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 538 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 539 | "dev": true, 540 | "dependencies": { 541 | "function-bind": "^1.1.1" 542 | }, 543 | "engines": { 544 | "node": ">= 0.4.0" 545 | } 546 | }, 547 | "node_modules/is-core-module": { 548 | "version": "2.9.0", 549 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 550 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 551 | "dev": true, 552 | "dependencies": { 553 | "has": "^1.0.3" 554 | }, 555 | "funding": { 556 | "url": "https://github.com/sponsors/ljharb" 557 | } 558 | }, 559 | "node_modules/magic-string": { 560 | "version": "0.25.9", 561 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 562 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 563 | "dependencies": { 564 | "sourcemap-codec": "^1.4.8" 565 | } 566 | }, 567 | "node_modules/nanoid": { 568 | "version": "3.3.4", 569 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 570 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", 571 | "bin": { 572 | "nanoid": "bin/nanoid.cjs" 573 | }, 574 | "engines": { 575 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 576 | } 577 | }, 578 | "node_modules/path-parse": { 579 | "version": "1.0.7", 580 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 581 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 582 | "dev": true 583 | }, 584 | "node_modules/picocolors": { 585 | "version": "1.0.0", 586 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 587 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 588 | }, 589 | "node_modules/pinia": { 590 | "version": "2.0.14", 591 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.14.tgz", 592 | "integrity": "sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==", 593 | "dependencies": { 594 | "@vue/devtools-api": "^6.1.4", 595 | "vue-demi": "*" 596 | }, 597 | "funding": { 598 | "url": "https://github.com/sponsors/posva" 599 | }, 600 | "peerDependencies": { 601 | "@vue/composition-api": "^1.4.0", 602 | "typescript": ">=4.4.4", 603 | "vue": "^2.6.14 || ^3.2.0" 604 | }, 605 | "peerDependenciesMeta": { 606 | "@vue/composition-api": { 607 | "optional": true 608 | }, 609 | "typescript": { 610 | "optional": true 611 | } 612 | } 613 | }, 614 | "node_modules/pinia/node_modules/vue-demi": { 615 | "version": "0.12.5", 616 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz", 617 | "integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==", 618 | "hasInstallScript": true, 619 | "bin": { 620 | "vue-demi-fix": "bin/vue-demi-fix.js", 621 | "vue-demi-switch": "bin/vue-demi-switch.js" 622 | }, 623 | "engines": { 624 | "node": ">=12" 625 | }, 626 | "funding": { 627 | "url": "https://github.com/sponsors/antfu" 628 | }, 629 | "peerDependencies": { 630 | "@vue/composition-api": "^1.0.0-rc.1", 631 | "vue": "^3.0.0-0 || ^2.6.0" 632 | }, 633 | "peerDependenciesMeta": { 634 | "@vue/composition-api": { 635 | "optional": true 636 | } 637 | } 638 | }, 639 | "node_modules/postcss": { 640 | "version": "8.4.14", 641 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 642 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 643 | "funding": [ 644 | { 645 | "type": "opencollective", 646 | "url": "https://opencollective.com/postcss/" 647 | }, 648 | { 649 | "type": "tidelift", 650 | "url": "https://tidelift.com/funding/github/npm/postcss" 651 | } 652 | ], 653 | "dependencies": { 654 | "nanoid": "^3.3.4", 655 | "picocolors": "^1.0.0", 656 | "source-map-js": "^1.0.2" 657 | }, 658 | "engines": { 659 | "node": "^10 || ^12 || >=14" 660 | } 661 | }, 662 | "node_modules/resolve": { 663 | "version": "1.22.0", 664 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 665 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 666 | "dev": true, 667 | "dependencies": { 668 | "is-core-module": "^2.8.1", 669 | "path-parse": "^1.0.7", 670 | "supports-preserve-symlinks-flag": "^1.0.0" 671 | }, 672 | "bin": { 673 | "resolve": "bin/resolve" 674 | }, 675 | "funding": { 676 | "url": "https://github.com/sponsors/ljharb" 677 | } 678 | }, 679 | "node_modules/rollup": { 680 | "version": "2.75.0", 681 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.0.tgz", 682 | "integrity": "sha512-1/wxtweHJ7YwI2AIK3ZgCBU3nbW8sLnBIFwN46cwOTnVzt8f1o6J8zPKjwoiuADvzSjmnLqJce31p0q2vQ+dqw==", 683 | "dev": true, 684 | "bin": { 685 | "rollup": "dist/bin/rollup" 686 | }, 687 | "engines": { 688 | "node": ">=10.0.0" 689 | }, 690 | "optionalDependencies": { 691 | "fsevents": "~2.3.2" 692 | } 693 | }, 694 | "node_modules/source-map": { 695 | "version": "0.6.1", 696 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 697 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 698 | "engines": { 699 | "node": ">=0.10.0" 700 | } 701 | }, 702 | "node_modules/source-map-js": { 703 | "version": "1.0.2", 704 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 705 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 706 | "engines": { 707 | "node": ">=0.10.0" 708 | } 709 | }, 710 | "node_modules/sourcemap-codec": { 711 | "version": "1.4.8", 712 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 713 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 714 | }, 715 | "node_modules/supports-preserve-symlinks-flag": { 716 | "version": "1.0.0", 717 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 718 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 719 | "dev": true, 720 | "engines": { 721 | "node": ">= 0.4" 722 | }, 723 | "funding": { 724 | "url": "https://github.com/sponsors/ljharb" 725 | } 726 | }, 727 | "node_modules/vite": { 728 | "version": "2.9.9", 729 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.9.tgz", 730 | "integrity": "sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==", 731 | "dev": true, 732 | "dependencies": { 733 | "esbuild": "^0.14.27", 734 | "postcss": "^8.4.13", 735 | "resolve": "^1.22.0", 736 | "rollup": "^2.59.0" 737 | }, 738 | "bin": { 739 | "vite": "bin/vite.js" 740 | }, 741 | "engines": { 742 | "node": ">=12.2.0" 743 | }, 744 | "optionalDependencies": { 745 | "fsevents": "~2.3.2" 746 | }, 747 | "peerDependencies": { 748 | "less": "*", 749 | "sass": "*", 750 | "stylus": "*" 751 | }, 752 | "peerDependenciesMeta": { 753 | "less": { 754 | "optional": true 755 | }, 756 | "sass": { 757 | "optional": true 758 | }, 759 | "stylus": { 760 | "optional": true 761 | } 762 | } 763 | }, 764 | "node_modules/vue": { 765 | "version": "3.2.36", 766 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.36.tgz", 767 | "integrity": "sha512-5yTXmrE6gW8IQgttzHW5bfBiFA6mx35ZXHjGLDmKYzW6MMmYvCwuKybANRepwkMYeXw2v1buGg3/lPICY5YlZw==", 768 | "dependencies": { 769 | "@vue/compiler-dom": "3.2.36", 770 | "@vue/compiler-sfc": "3.2.36", 771 | "@vue/runtime-dom": "3.2.36", 772 | "@vue/server-renderer": "3.2.36", 773 | "@vue/shared": "3.2.36" 774 | } 775 | } 776 | }, 777 | "dependencies": { 778 | "@babel/parser": { 779 | "version": "7.18.3", 780 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.3.tgz", 781 | "integrity": "sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==" 782 | }, 783 | "@vitejs/plugin-vue": { 784 | "version": "2.3.3", 785 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz", 786 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==", 787 | "dev": true, 788 | "requires": {} 789 | }, 790 | "@vue/compiler-core": { 791 | "version": "3.2.36", 792 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.36.tgz", 793 | "integrity": "sha512-bbyZM5hvBicv0PW3KUfVi+x3ylHnfKG7DOn5wM+f2OztTzTjLEyBb/5yrarIYpmnGitVGbjZqDbODyW4iK8hqw==", 794 | "requires": { 795 | "@babel/parser": "^7.16.4", 796 | "@vue/shared": "3.2.36", 797 | "estree-walker": "^2.0.2", 798 | "source-map": "^0.6.1" 799 | } 800 | }, 801 | "@vue/compiler-dom": { 802 | "version": "3.2.36", 803 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.36.tgz", 804 | "integrity": "sha512-tcOTAOiW4s24QLnq+ON6J+GRONXJ+A/mqKCORi0LSlIh8XQlNnlm24y8xIL8la+ZDgkdbjarQ9ZqYSvEja6gVA==", 805 | "requires": { 806 | "@vue/compiler-core": "3.2.36", 807 | "@vue/shared": "3.2.36" 808 | } 809 | }, 810 | "@vue/compiler-sfc": { 811 | "version": "3.2.36", 812 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.36.tgz", 813 | "integrity": "sha512-AvGb4bTj4W8uQ4BqaSxo7UwTEqX5utdRSMyHy58OragWlt8nEACQ9mIeQh3K4di4/SX+41+pJrLIY01lHAOFOA==", 814 | "requires": { 815 | "@babel/parser": "^7.16.4", 816 | "@vue/compiler-core": "3.2.36", 817 | "@vue/compiler-dom": "3.2.36", 818 | "@vue/compiler-ssr": "3.2.36", 819 | "@vue/reactivity-transform": "3.2.36", 820 | "@vue/shared": "3.2.36", 821 | "estree-walker": "^2.0.2", 822 | "magic-string": "^0.25.7", 823 | "postcss": "^8.1.10", 824 | "source-map": "^0.6.1" 825 | } 826 | }, 827 | "@vue/compiler-ssr": { 828 | "version": "3.2.36", 829 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.36.tgz", 830 | "integrity": "sha512-+KugInUFRvOxEdLkZwE+W43BqHyhBh0jpYXhmqw1xGq2dmE6J9eZ8UUSOKNhdHtQ/iNLWWeK/wPZkVLUf3YGaw==", 831 | "requires": { 832 | "@vue/compiler-dom": "3.2.36", 833 | "@vue/shared": "3.2.36" 834 | } 835 | }, 836 | "@vue/devtools-api": { 837 | "version": "6.1.4", 838 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz", 839 | "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==" 840 | }, 841 | "@vue/reactivity": { 842 | "version": "3.2.36", 843 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.36.tgz", 844 | "integrity": "sha512-c2qvopo0crh9A4GXi2/2kfGYMxsJW4tVILrqRPydVGZHhq0fnzy6qmclWOhBFckEhmyxmpHpdJtIRYGeKcuhnA==", 845 | "requires": { 846 | "@vue/shared": "3.2.36" 847 | } 848 | }, 849 | "@vue/reactivity-transform": { 850 | "version": "3.2.36", 851 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.36.tgz", 852 | "integrity": "sha512-Jk5o2BhpODC9XTA7o4EL8hSJ4JyrFWErLtClG3NH8wDS7ri9jBDWxI7/549T7JY9uilKsaNM+4pJASLj5dtRwA==", 853 | "requires": { 854 | "@babel/parser": "^7.16.4", 855 | "@vue/compiler-core": "3.2.36", 856 | "@vue/shared": "3.2.36", 857 | "estree-walker": "^2.0.2", 858 | "magic-string": "^0.25.7" 859 | } 860 | }, 861 | "@vue/runtime-core": { 862 | "version": "3.2.36", 863 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.36.tgz", 864 | "integrity": "sha512-PTWBD+Lub+1U3/KhbCExrfxyS14hstLX+cBboxVHaz+kXoiDLNDEYAovPtxeTutbqtClIXtft+wcGdC+FUQ9qQ==", 865 | "requires": { 866 | "@vue/reactivity": "3.2.36", 867 | "@vue/shared": "3.2.36" 868 | } 869 | }, 870 | "@vue/runtime-dom": { 871 | "version": "3.2.36", 872 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.36.tgz", 873 | "integrity": "sha512-gYPYblm7QXHVuBohqNRRT7Wez0f2Mx2D40rb4fleehrJU9CnkjG0phhcGEZFfGwCmHZRqBCRgbFWE98bPULqkg==", 874 | "requires": { 875 | "@vue/runtime-core": "3.2.36", 876 | "@vue/shared": "3.2.36", 877 | "csstype": "^2.6.8" 878 | } 879 | }, 880 | "@vue/server-renderer": { 881 | "version": "3.2.36", 882 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.36.tgz", 883 | "integrity": "sha512-uZE0+jfye6yYXWvAQYeHZv+f50sRryvy16uiqzk3jn8hEY8zTjI+rzlmZSGoE915k+W/Ol9XSw6vxOUD8dGkUg==", 884 | "requires": { 885 | "@vue/compiler-ssr": "3.2.36", 886 | "@vue/shared": "3.2.36" 887 | } 888 | }, 889 | "@vue/shared": { 890 | "version": "3.2.36", 891 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.36.tgz", 892 | "integrity": "sha512-JtB41wXl7Au3+Nl3gD16Cfpj7k/6aCroZ6BbOiCMFCMvrOpkg/qQUXTso2XowaNqBbnkuGHurLAqkLBxNGc1hQ==" 893 | }, 894 | "csstype": { 895 | "version": "2.6.20", 896 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz", 897 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==" 898 | }, 899 | "esbuild": { 900 | "version": "0.14.41", 901 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.41.tgz", 902 | "integrity": "sha512-uZl2CH5nwayLPi1Unhfk+vBBjD3FDlYQ+v24qAlj2oZMYQP8pFs1k3DK5ViD+keF3JnuV4K7JtqVvBmTDwVEbA==", 903 | "dev": true, 904 | "requires": { 905 | "esbuild-android-64": "0.14.41", 906 | "esbuild-android-arm64": "0.14.41", 907 | "esbuild-darwin-64": "0.14.41", 908 | "esbuild-darwin-arm64": "0.14.41", 909 | "esbuild-freebsd-64": "0.14.41", 910 | "esbuild-freebsd-arm64": "0.14.41", 911 | "esbuild-linux-32": "0.14.41", 912 | "esbuild-linux-64": "0.14.41", 913 | "esbuild-linux-arm": "0.14.41", 914 | "esbuild-linux-arm64": "0.14.41", 915 | "esbuild-linux-mips64le": "0.14.41", 916 | "esbuild-linux-ppc64le": "0.14.41", 917 | "esbuild-linux-riscv64": "0.14.41", 918 | "esbuild-linux-s390x": "0.14.41", 919 | "esbuild-netbsd-64": "0.14.41", 920 | "esbuild-openbsd-64": "0.14.41", 921 | "esbuild-sunos-64": "0.14.41", 922 | "esbuild-windows-32": "0.14.41", 923 | "esbuild-windows-64": "0.14.41", 924 | "esbuild-windows-arm64": "0.14.41" 925 | } 926 | }, 927 | "esbuild-android-64": { 928 | "version": "0.14.41", 929 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.41.tgz", 930 | "integrity": "sha512-byyo8LPOGHzAqxbwh2Q72d7L+rXXTsr/KALjsiCySrJ60CGMe80i3bwoQ+WODxsGaH08R//yg5oc7xHKgQz4uw==", 931 | "dev": true, 932 | "optional": true 933 | }, 934 | "esbuild-android-arm64": { 935 | "version": "0.14.41", 936 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.41.tgz", 937 | "integrity": "sha512-7koo9Dm/mwK4M8PGQX8JQRc4UQ4Wj7DT1nD4BQkVs2jxtHbYOlnsQH0fneKSXZVmnBIHYcntr/e1VU5gnYLvGQ==", 938 | "dev": true, 939 | "optional": true 940 | }, 941 | "esbuild-darwin-64": { 942 | "version": "0.14.41", 943 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.41.tgz", 944 | "integrity": "sha512-kW8fC2auh9jjmBXudTmlMfbBCMYMuujhxG40CxMhKiQ8NLBK4RU9yUYY6ss7QJp24kVTtKd4IvfwOio9SE53MA==", 945 | "dev": true, 946 | "optional": true 947 | }, 948 | "esbuild-darwin-arm64": { 949 | "version": "0.14.41", 950 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.41.tgz", 951 | "integrity": "sha512-cO0EPkiQt0bERH9sZFIoTywWfGhEpshdpvQpDfLh/ZJLeioQfaarM9YDrmID+f7k77djh0mdyfsC6XpS0HlLsw==", 952 | "dev": true, 953 | "optional": true 954 | }, 955 | "esbuild-freebsd-64": { 956 | "version": "0.14.41", 957 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.41.tgz", 958 | "integrity": "sha512-6tsMDK6b7czCOjsr68BgVogFXcTCWL3T7yFXRFuAmXwY9ybYgX8sybD7ztrRB03dLAPeMxHo+PzeMD6LdVrLdQ==", 959 | "dev": true, 960 | "optional": true 961 | }, 962 | "esbuild-freebsd-arm64": { 963 | "version": "0.14.41", 964 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.41.tgz", 965 | "integrity": "sha512-AQ2S/VCLKVBe/+HNiFLyp3w9i7AEtCOWEzKHSkfHk0VO5bPzHd7WJfWmj1Bxliu7vdPESbiDUTJIH3rDt4bzSA==", 966 | "dev": true, 967 | "optional": true 968 | }, 969 | "esbuild-linux-32": { 970 | "version": "0.14.41", 971 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.41.tgz", 972 | "integrity": "sha512-sb7Kah5Px6BNZ6gzm0nJLuDeAJKbIlaKIoI9zgZ5dFDxZSn91TMAHJz5W39YDJ8+ZaGJYIdqZSpDo+4G769mZw==", 973 | "dev": true, 974 | "optional": true 975 | }, 976 | "esbuild-linux-64": { 977 | "version": "0.14.41", 978 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.41.tgz", 979 | "integrity": "sha512-PeI0bfbv+5ondZRhPRszptp3RQRRAPxpOB2CYDphKske5+UlCXPi4Af+T++OqhV5TEpymTfxJdJQ1sn1w32coA==", 980 | "dev": true, 981 | "optional": true 982 | }, 983 | "esbuild-linux-arm": { 984 | "version": "0.14.41", 985 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.41.tgz", 986 | "integrity": "sha512-8DQ6Sv3XNwgu0cnPA3q+kJSqfOYLDqWzpW8dPF+/Or23bS/5EIT/CzN73uIhR8A3AokXIczn88VKti7Xtv+V2g==", 987 | "dev": true, 988 | "optional": true 989 | }, 990 | "esbuild-linux-arm64": { 991 | "version": "0.14.41", 992 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.41.tgz", 993 | "integrity": "sha512-aAhBX6kVG8hTVuANE90ORobioHdpZLzy8Fibf4XBuG4IuJfjgM5N4wFIq2Tpd+Ykit432PL/YOQhZ4W6nVc4cQ==", 994 | "dev": true, 995 | "optional": true 996 | }, 997 | "esbuild-linux-mips64le": { 998 | "version": "0.14.41", 999 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.41.tgz", 1000 | "integrity": "sha512-88xo4FRYQ2laMJnrqZu8j5q531XT/odZnhO5NLWO/NdweIdT8F+QL0fNIBIf+nVkC1d0Psgmt+g35GAODMDl8g==", 1001 | "dev": true, 1002 | "optional": true 1003 | }, 1004 | "esbuild-linux-ppc64le": { 1005 | "version": "0.14.41", 1006 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.41.tgz", 1007 | "integrity": "sha512-kJ0r/Cg3LzFzHhbBsvqi/hDPGKMGzFiPGOmUvqTkfVXhRUQtOMkXkyKdP7OEMRb8ctPtnptsZOOXPHRdU0NdJQ==", 1008 | "dev": true, 1009 | "optional": true 1010 | }, 1011 | "esbuild-linux-riscv64": { 1012 | "version": "0.14.41", 1013 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.41.tgz", 1014 | "integrity": "sha512-ZJ7d/qFRx14J3aP75ccrFSZyuYZ1hu8IVfwVqyQg4jQFgNME2FMz7pZMskBJ0fSW8QcYUnN3RubFXWijyjKUug==", 1015 | "dev": true, 1016 | "optional": true 1017 | }, 1018 | "esbuild-linux-s390x": { 1019 | "version": "0.14.41", 1020 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.41.tgz", 1021 | "integrity": "sha512-xeWAEZt1jAfYkYuyIUuHKpH/oj7O862Je5HTH9E+4sEfoOnZaAmFrisbXjGDKXjMRKYscFlM8wXdNBmiqQlT8g==", 1022 | "dev": true, 1023 | "optional": true 1024 | }, 1025 | "esbuild-netbsd-64": { 1026 | "version": "0.14.41", 1027 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.41.tgz", 1028 | "integrity": "sha512-X/UE3Asqy594/atYi/STgYtaMQBJwtZKF0KFFdJTkwb6rtaoHCM1o482iHibgnSK7CicuRhyTZ+cNx4OFqRQAg==", 1029 | "dev": true, 1030 | "optional": true 1031 | }, 1032 | "esbuild-openbsd-64": { 1033 | "version": "0.14.41", 1034 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.41.tgz", 1035 | "integrity": "sha512-6m+1dtdO+4KaU3R0UTT82hxWxWpFCjgSHhQl/PKtMmq+CvvxRQDcTwujLC843M7ChGVWNM2q1s6YCwoA0WQ9kw==", 1036 | "dev": true, 1037 | "optional": true 1038 | }, 1039 | "esbuild-sunos-64": { 1040 | "version": "0.14.41", 1041 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.41.tgz", 1042 | "integrity": "sha512-p96tTTcE8/WY7A4Udh+fxVUTGL8rIXOpyxyhZiXug+f7DGbjE24PbewqgIBRSDyM7xRUty+1RzqyJz73YIV6yg==", 1043 | "dev": true, 1044 | "optional": true 1045 | }, 1046 | "esbuild-windows-32": { 1047 | "version": "0.14.41", 1048 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.41.tgz", 1049 | "integrity": "sha512-jS+/pGyPPzrL8tgcvOxLEatV1QPICghKm13EjEVgkeRftl8X6tqRyFv/9eKutczdD3sklMDOJfivoPD32D46Ww==", 1050 | "dev": true, 1051 | "optional": true 1052 | }, 1053 | "esbuild-windows-64": { 1054 | "version": "0.14.41", 1055 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.41.tgz", 1056 | "integrity": "sha512-vLqmKbV8FJ7LFMrT3zEQpojnUUbXyqhRPVGnAYzc0ESY5yAuom4E9tL7KzZ5H8KEuCUf//AvbyxpE+yOcjpyjA==", 1057 | "dev": true, 1058 | "optional": true 1059 | }, 1060 | "esbuild-windows-arm64": { 1061 | "version": "0.14.41", 1062 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.41.tgz", 1063 | "integrity": "sha512-TOvj7kRTfpH4GPPmblvuMNf8oNJ3y2h7a6HttanVnc3QLMm5bNFYLSo6TShLOn0SbqFWGJwHIhGhw2JK96aVhg==", 1064 | "dev": true, 1065 | "optional": true 1066 | }, 1067 | "estree-walker": { 1068 | "version": "2.0.2", 1069 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1070 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1071 | }, 1072 | "fsevents": { 1073 | "version": "2.3.2", 1074 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 1075 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 1076 | "dev": true, 1077 | "optional": true 1078 | }, 1079 | "function-bind": { 1080 | "version": "1.1.1", 1081 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1082 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1083 | "dev": true 1084 | }, 1085 | "has": { 1086 | "version": "1.0.3", 1087 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1088 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1089 | "dev": true, 1090 | "requires": { 1091 | "function-bind": "^1.1.1" 1092 | } 1093 | }, 1094 | "is-core-module": { 1095 | "version": "2.9.0", 1096 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 1097 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 1098 | "dev": true, 1099 | "requires": { 1100 | "has": "^1.0.3" 1101 | } 1102 | }, 1103 | "magic-string": { 1104 | "version": "0.25.9", 1105 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", 1106 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", 1107 | "requires": { 1108 | "sourcemap-codec": "^1.4.8" 1109 | } 1110 | }, 1111 | "nanoid": { 1112 | "version": "3.3.4", 1113 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", 1114 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" 1115 | }, 1116 | "path-parse": { 1117 | "version": "1.0.7", 1118 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1119 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1120 | "dev": true 1121 | }, 1122 | "picocolors": { 1123 | "version": "1.0.0", 1124 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1125 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 1126 | }, 1127 | "pinia": { 1128 | "version": "2.0.14", 1129 | "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.14.tgz", 1130 | "integrity": "sha512-0nPuZR4TetT/WcLN+feMSjWJku3SQU7dBbXC6uw+R6FLQJCsg+/0pzXyD82T1FmAYe0lsx+jnEDQ1BLgkRKlxA==", 1131 | "requires": { 1132 | "@vue/devtools-api": "^6.1.4", 1133 | "vue-demi": "*" 1134 | }, 1135 | "dependencies": { 1136 | "vue-demi": { 1137 | "version": "0.12.5", 1138 | "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.12.5.tgz", 1139 | "integrity": "sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q==", 1140 | "requires": {} 1141 | } 1142 | } 1143 | }, 1144 | "postcss": { 1145 | "version": "8.4.14", 1146 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 1147 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 1148 | "requires": { 1149 | "nanoid": "^3.3.4", 1150 | "picocolors": "^1.0.0", 1151 | "source-map-js": "^1.0.2" 1152 | } 1153 | }, 1154 | "resolve": { 1155 | "version": "1.22.0", 1156 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", 1157 | "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", 1158 | "dev": true, 1159 | "requires": { 1160 | "is-core-module": "^2.8.1", 1161 | "path-parse": "^1.0.7", 1162 | "supports-preserve-symlinks-flag": "^1.0.0" 1163 | } 1164 | }, 1165 | "rollup": { 1166 | "version": "2.75.0", 1167 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.0.tgz", 1168 | "integrity": "sha512-1/wxtweHJ7YwI2AIK3ZgCBU3nbW8sLnBIFwN46cwOTnVzt8f1o6J8zPKjwoiuADvzSjmnLqJce31p0q2vQ+dqw==", 1169 | "dev": true, 1170 | "requires": { 1171 | "fsevents": "~2.3.2" 1172 | } 1173 | }, 1174 | "source-map": { 1175 | "version": "0.6.1", 1176 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1177 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 1178 | }, 1179 | "source-map-js": { 1180 | "version": "1.0.2", 1181 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 1182 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 1183 | }, 1184 | "sourcemap-codec": { 1185 | "version": "1.4.8", 1186 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 1187 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" 1188 | }, 1189 | "supports-preserve-symlinks-flag": { 1190 | "version": "1.0.0", 1191 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1192 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1193 | "dev": true 1194 | }, 1195 | "vite": { 1196 | "version": "2.9.9", 1197 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.9.tgz", 1198 | "integrity": "sha512-ffaam+NgHfbEmfw/Vuh6BHKKlI/XIAhxE5QSS7gFLIngxg171mg1P3a4LSRME0z2ZU1ScxoKzphkipcYwSD5Ew==", 1199 | "dev": true, 1200 | "requires": { 1201 | "esbuild": "^0.14.27", 1202 | "fsevents": "~2.3.2", 1203 | "postcss": "^8.4.13", 1204 | "resolve": "^1.22.0", 1205 | "rollup": "^2.59.0" 1206 | } 1207 | }, 1208 | "vue": { 1209 | "version": "3.2.36", 1210 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.36.tgz", 1211 | "integrity": "sha512-5yTXmrE6gW8IQgttzHW5bfBiFA6mx35ZXHjGLDmKYzW6MMmYvCwuKybANRepwkMYeXw2v1buGg3/lPICY5YlZw==", 1212 | "requires": { 1213 | "@vue/compiler-dom": "3.2.36", 1214 | "@vue/compiler-sfc": "3.2.36", 1215 | "@vue/runtime-dom": "3.2.36", 1216 | "@vue/server-renderer": "3.2.36", 1217 | "@vue/shared": "3.2.36" 1218 | } 1219 | } 1220 | } 1221 | } 1222 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "todo-app", 3 | "version": "0.0.0", 4 | "scripts": { 5 | "dev": "vite", 6 | "build": "vite build", 7 | "preview": "vite preview --port 5050" 8 | }, 9 | "dependencies": { 10 | "pinia": "^2.0.13", 11 | "vue": "^3.2.33" 12 | }, 13 | "devDependencies": { 14 | "@vitejs/plugin-vue": "^2.3.1", 15 | "vite": "^2.9.5" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Code-Pop/pinia-fundamentals/de98e211d12f6970c18d106f30d825757809f4a2/public/favicon.ico -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 19 | 20 | 82 | -------------------------------------------------------------------------------- /src/assets/base.css: -------------------------------------------------------------------------------- 1 | /* color palette from */ 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 | position: relative; 59 | font-weight: normal; 60 | } 61 | 62 | body { 63 | min-height: 100vh; 64 | color: var(--color-text); 65 | background: var(--color-background); 66 | transition: color 0.5s, background-color 0.5s; 67 | line-height: 1.6; 68 | font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, 69 | Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; 70 | font-size: 15px; 71 | text-rendering: optimizeLegibility; 72 | -webkit-font-smoothing: antialiased; 73 | -moz-osx-font-smoothing: grayscale; 74 | } 75 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/components/HelloWorld.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 20 | 21 | 44 | -------------------------------------------------------------------------------- /src/components/TheWelcome.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 85 | -------------------------------------------------------------------------------- /src/components/WelcomeItem.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 87 | -------------------------------------------------------------------------------- /src/components/icons/IconCommunity.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/components/icons/IconDocumentation.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/components/icons/IconEcosystem.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/components/icons/IconSupport.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /src/components/icons/IconTooling.vue: -------------------------------------------------------------------------------- 1 | 2 | 20 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import { createPinia } from 'pinia' 3 | import App from './App.vue' 4 | 5 | const app = createApp(App) 6 | 7 | app.use(createPinia()) 8 | 9 | app.mount('#app') 10 | -------------------------------------------------------------------------------- /src/stores/counter.js: -------------------------------------------------------------------------------- 1 | import { defineStore } from 'pinia' 2 | 3 | export const useCounterStore = defineStore({ 4 | id: 'counter', 5 | state: () => ({ 6 | counter: 0 7 | }), 8 | getters: { 9 | doubleCount: (state) => state.counter * 2 10 | }, 11 | actions: { 12 | increment() { 13 | this.counter++ 14 | } 15 | } 16 | }) 17 | -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { fileURLToPath, URL } from 'url' 2 | 3 | import { defineConfig } from 'vite' 4 | import vue from '@vitejs/plugin-vue' 5 | 6 | // https://vitejs.dev/config/ 7 | export default defineConfig({ 8 | plugins: [vue()], 9 | resolve: { 10 | alias: { 11 | '@': fileURLToPath(new URL('./src', import.meta.url)) 12 | } 13 | } 14 | }) 15 | --------------------------------------------------------------------------------