├── .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 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
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 |
11 |
12 |
{{ msg }}
13 |
14 | You’ve successfully created a project with
15 | Vite +
16 | Vue 3 .
17 |
18 |
19 |
20 |
21 |
44 |
--------------------------------------------------------------------------------
/src/components/TheWelcome.vue:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Documentation
16 |
17 | Vue’s
18 | official documentation
19 | provides you with all information you need to get started.
20 |
21 |
22 |
23 |
24 |
25 |
26 | Tooling
27 |
28 | This project is served and bundled with
29 | Vite . The recommended IDE
30 | setup is VSCode +
31 | Volar . If you need to test
32 | your components and web pages, check out
33 | Cypress and
34 | Cypress Component Testing .
37 |
38 |
39 |
40 | More instructions are available in README.md
.
41 |
42 |
43 |
44 |
45 |
46 |
47 | Ecosystem
48 |
49 | Get official tools and libraries for your project:
50 | Pinia ,
51 | Vue Router ,
52 | Vue Test Utils , and
53 | Vue Dev Tools . If you need more
54 | resources, we suggest paying
55 | Awesome Vue
56 | a visit.
57 |
58 |
59 |
60 |
61 |
62 |
63 | Community
64 |
65 | Got stuck? Ask your question on
66 | Vue Land , our official Discord server, or
67 | StackOverflow .
68 | You should also subscribe to
69 | our mailing list and follow the official
70 | @vuejs
71 | twitter account for latest news in the Vue world.
72 |
73 |
74 |
75 |
76 |
77 |
78 | Support Vue
79 |
80 | As an independent project, Vue relies on community backing for its sustainability. You can help
81 | us by
82 | becoming a sponsor .
83 |
84 |
85 |
--------------------------------------------------------------------------------
/src/components/WelcomeItem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
87 |
--------------------------------------------------------------------------------
/src/components/icons/IconCommunity.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/components/icons/IconDocumentation.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/components/icons/IconEcosystem.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/components/icons/IconSupport.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/components/icons/IconTooling.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
14 |
18 |
19 |
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 |
--------------------------------------------------------------------------------