├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── index.html
├── package-lock.json
├── package.json
├── public
└── favicon.ico
├── src
├── App.vue
├── assets
│ ├── base.css
│ ├── logo.svg
│ └── main.css
├── components
│ ├── HelloWorld.vue
│ ├── TheWelcome.vue
│ ├── WelcomeItem.vue
│ └── icons
│ │ ├── IconCommunity.vue
│ │ ├── IconDocumentation.vue
│ │ ├── IconEcosystem.vue
│ │ ├── IconSupport.vue
│ │ └── IconTooling.vue
├── data.json
├── main.js
├── router
│ └── index.js
└── views
│ ├── AboutView.vue
│ ├── CarView.vue
│ ├── DealerView.vue
│ ├── HomeView.vue
│ ├── ManufactorerView.vue
│ └── NotFoundView.vue
└── 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": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # rouuter
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=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.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": "rouuter",
3 | "version": "0.0.0",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "rouuter",
9 | "version": "0.0.0",
10 | "dependencies": {
11 | "vue": "^3.2.38",
12 | "vue-router": "^4.1.5"
13 | },
14 | "devDependencies": {
15 | "@vitejs/plugin-vue": "^3.0.3",
16 | "vite": "^3.0.9"
17 | }
18 | },
19 | "node_modules/@babel/parser": {
20 | "version": "7.19.4",
21 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz",
22 | "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==",
23 | "bin": {
24 | "parser": "bin/babel-parser.js"
25 | },
26 | "engines": {
27 | "node": ">=6.0.0"
28 | }
29 | },
30 | "node_modules/@esbuild/android-arm": {
31 | "version": "0.15.10",
32 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz",
33 | "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==",
34 | "cpu": [
35 | "arm"
36 | ],
37 | "dev": true,
38 | "optional": true,
39 | "os": [
40 | "android"
41 | ],
42 | "engines": {
43 | "node": ">=12"
44 | }
45 | },
46 | "node_modules/@esbuild/linux-loong64": {
47 | "version": "0.15.10",
48 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz",
49 | "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==",
50 | "cpu": [
51 | "loong64"
52 | ],
53 | "dev": true,
54 | "optional": true,
55 | "os": [
56 | "linux"
57 | ],
58 | "engines": {
59 | "node": ">=12"
60 | }
61 | },
62 | "node_modules/@vitejs/plugin-vue": {
63 | "version": "3.1.2",
64 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.2.tgz",
65 | "integrity": "sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==",
66 | "dev": true,
67 | "engines": {
68 | "node": "^14.18.0 || >=16.0.0"
69 | },
70 | "peerDependencies": {
71 | "vite": "^3.0.0",
72 | "vue": "^3.2.25"
73 | }
74 | },
75 | "node_modules/@vue/compiler-core": {
76 | "version": "3.2.40",
77 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz",
78 | "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==",
79 | "dependencies": {
80 | "@babel/parser": "^7.16.4",
81 | "@vue/shared": "3.2.40",
82 | "estree-walker": "^2.0.2",
83 | "source-map": "^0.6.1"
84 | }
85 | },
86 | "node_modules/@vue/compiler-dom": {
87 | "version": "3.2.40",
88 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz",
89 | "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==",
90 | "dependencies": {
91 | "@vue/compiler-core": "3.2.40",
92 | "@vue/shared": "3.2.40"
93 | }
94 | },
95 | "node_modules/@vue/compiler-sfc": {
96 | "version": "3.2.40",
97 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz",
98 | "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==",
99 | "dependencies": {
100 | "@babel/parser": "^7.16.4",
101 | "@vue/compiler-core": "3.2.40",
102 | "@vue/compiler-dom": "3.2.40",
103 | "@vue/compiler-ssr": "3.2.40",
104 | "@vue/reactivity-transform": "3.2.40",
105 | "@vue/shared": "3.2.40",
106 | "estree-walker": "^2.0.2",
107 | "magic-string": "^0.25.7",
108 | "postcss": "^8.1.10",
109 | "source-map": "^0.6.1"
110 | }
111 | },
112 | "node_modules/@vue/compiler-ssr": {
113 | "version": "3.2.40",
114 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz",
115 | "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==",
116 | "dependencies": {
117 | "@vue/compiler-dom": "3.2.40",
118 | "@vue/shared": "3.2.40"
119 | }
120 | },
121 | "node_modules/@vue/devtools-api": {
122 | "version": "6.4.4",
123 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.4.tgz",
124 | "integrity": "sha512-Ku31WzpOV/8cruFaXaEZKF81WkNnvCSlBY4eOGtz5WMSdJvX1v1WWlSMGZeqUwPtQ27ZZz7B62erEMq8JDjcXw=="
125 | },
126 | "node_modules/@vue/reactivity": {
127 | "version": "3.2.40",
128 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.40.tgz",
129 | "integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==",
130 | "dependencies": {
131 | "@vue/shared": "3.2.40"
132 | }
133 | },
134 | "node_modules/@vue/reactivity-transform": {
135 | "version": "3.2.40",
136 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz",
137 | "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==",
138 | "dependencies": {
139 | "@babel/parser": "^7.16.4",
140 | "@vue/compiler-core": "3.2.40",
141 | "@vue/shared": "3.2.40",
142 | "estree-walker": "^2.0.2",
143 | "magic-string": "^0.25.7"
144 | }
145 | },
146 | "node_modules/@vue/runtime-core": {
147 | "version": "3.2.40",
148 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.40.tgz",
149 | "integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==",
150 | "dependencies": {
151 | "@vue/reactivity": "3.2.40",
152 | "@vue/shared": "3.2.40"
153 | }
154 | },
155 | "node_modules/@vue/runtime-dom": {
156 | "version": "3.2.40",
157 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz",
158 | "integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==",
159 | "dependencies": {
160 | "@vue/runtime-core": "3.2.40",
161 | "@vue/shared": "3.2.40",
162 | "csstype": "^2.6.8"
163 | }
164 | },
165 | "node_modules/@vue/server-renderer": {
166 | "version": "3.2.40",
167 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.40.tgz",
168 | "integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==",
169 | "dependencies": {
170 | "@vue/compiler-ssr": "3.2.40",
171 | "@vue/shared": "3.2.40"
172 | },
173 | "peerDependencies": {
174 | "vue": "3.2.40"
175 | }
176 | },
177 | "node_modules/@vue/shared": {
178 | "version": "3.2.40",
179 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz",
180 | "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ=="
181 | },
182 | "node_modules/csstype": {
183 | "version": "2.6.21",
184 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
185 | "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
186 | },
187 | "node_modules/esbuild": {
188 | "version": "0.15.10",
189 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz",
190 | "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==",
191 | "dev": true,
192 | "hasInstallScript": true,
193 | "bin": {
194 | "esbuild": "bin/esbuild"
195 | },
196 | "engines": {
197 | "node": ">=12"
198 | },
199 | "optionalDependencies": {
200 | "@esbuild/android-arm": "0.15.10",
201 | "@esbuild/linux-loong64": "0.15.10",
202 | "esbuild-android-64": "0.15.10",
203 | "esbuild-android-arm64": "0.15.10",
204 | "esbuild-darwin-64": "0.15.10",
205 | "esbuild-darwin-arm64": "0.15.10",
206 | "esbuild-freebsd-64": "0.15.10",
207 | "esbuild-freebsd-arm64": "0.15.10",
208 | "esbuild-linux-32": "0.15.10",
209 | "esbuild-linux-64": "0.15.10",
210 | "esbuild-linux-arm": "0.15.10",
211 | "esbuild-linux-arm64": "0.15.10",
212 | "esbuild-linux-mips64le": "0.15.10",
213 | "esbuild-linux-ppc64le": "0.15.10",
214 | "esbuild-linux-riscv64": "0.15.10",
215 | "esbuild-linux-s390x": "0.15.10",
216 | "esbuild-netbsd-64": "0.15.10",
217 | "esbuild-openbsd-64": "0.15.10",
218 | "esbuild-sunos-64": "0.15.10",
219 | "esbuild-windows-32": "0.15.10",
220 | "esbuild-windows-64": "0.15.10",
221 | "esbuild-windows-arm64": "0.15.10"
222 | }
223 | },
224 | "node_modules/esbuild-android-64": {
225 | "version": "0.15.10",
226 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz",
227 | "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==",
228 | "cpu": [
229 | "x64"
230 | ],
231 | "dev": true,
232 | "optional": true,
233 | "os": [
234 | "android"
235 | ],
236 | "engines": {
237 | "node": ">=12"
238 | }
239 | },
240 | "node_modules/esbuild-android-arm64": {
241 | "version": "0.15.10",
242 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz",
243 | "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==",
244 | "cpu": [
245 | "arm64"
246 | ],
247 | "dev": true,
248 | "optional": true,
249 | "os": [
250 | "android"
251 | ],
252 | "engines": {
253 | "node": ">=12"
254 | }
255 | },
256 | "node_modules/esbuild-darwin-64": {
257 | "version": "0.15.10",
258 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz",
259 | "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==",
260 | "cpu": [
261 | "x64"
262 | ],
263 | "dev": true,
264 | "optional": true,
265 | "os": [
266 | "darwin"
267 | ],
268 | "engines": {
269 | "node": ">=12"
270 | }
271 | },
272 | "node_modules/esbuild-darwin-arm64": {
273 | "version": "0.15.10",
274 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz",
275 | "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==",
276 | "cpu": [
277 | "arm64"
278 | ],
279 | "dev": true,
280 | "optional": true,
281 | "os": [
282 | "darwin"
283 | ],
284 | "engines": {
285 | "node": ">=12"
286 | }
287 | },
288 | "node_modules/esbuild-freebsd-64": {
289 | "version": "0.15.10",
290 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz",
291 | "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==",
292 | "cpu": [
293 | "x64"
294 | ],
295 | "dev": true,
296 | "optional": true,
297 | "os": [
298 | "freebsd"
299 | ],
300 | "engines": {
301 | "node": ">=12"
302 | }
303 | },
304 | "node_modules/esbuild-freebsd-arm64": {
305 | "version": "0.15.10",
306 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz",
307 | "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==",
308 | "cpu": [
309 | "arm64"
310 | ],
311 | "dev": true,
312 | "optional": true,
313 | "os": [
314 | "freebsd"
315 | ],
316 | "engines": {
317 | "node": ">=12"
318 | }
319 | },
320 | "node_modules/esbuild-linux-32": {
321 | "version": "0.15.10",
322 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz",
323 | "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==",
324 | "cpu": [
325 | "ia32"
326 | ],
327 | "dev": true,
328 | "optional": true,
329 | "os": [
330 | "linux"
331 | ],
332 | "engines": {
333 | "node": ">=12"
334 | }
335 | },
336 | "node_modules/esbuild-linux-64": {
337 | "version": "0.15.10",
338 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz",
339 | "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==",
340 | "cpu": [
341 | "x64"
342 | ],
343 | "dev": true,
344 | "optional": true,
345 | "os": [
346 | "linux"
347 | ],
348 | "engines": {
349 | "node": ">=12"
350 | }
351 | },
352 | "node_modules/esbuild-linux-arm": {
353 | "version": "0.15.10",
354 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz",
355 | "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==",
356 | "cpu": [
357 | "arm"
358 | ],
359 | "dev": true,
360 | "optional": true,
361 | "os": [
362 | "linux"
363 | ],
364 | "engines": {
365 | "node": ">=12"
366 | }
367 | },
368 | "node_modules/esbuild-linux-arm64": {
369 | "version": "0.15.10",
370 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz",
371 | "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==",
372 | "cpu": [
373 | "arm64"
374 | ],
375 | "dev": true,
376 | "optional": true,
377 | "os": [
378 | "linux"
379 | ],
380 | "engines": {
381 | "node": ">=12"
382 | }
383 | },
384 | "node_modules/esbuild-linux-mips64le": {
385 | "version": "0.15.10",
386 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz",
387 | "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==",
388 | "cpu": [
389 | "mips64el"
390 | ],
391 | "dev": true,
392 | "optional": true,
393 | "os": [
394 | "linux"
395 | ],
396 | "engines": {
397 | "node": ">=12"
398 | }
399 | },
400 | "node_modules/esbuild-linux-ppc64le": {
401 | "version": "0.15.10",
402 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz",
403 | "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==",
404 | "cpu": [
405 | "ppc64"
406 | ],
407 | "dev": true,
408 | "optional": true,
409 | "os": [
410 | "linux"
411 | ],
412 | "engines": {
413 | "node": ">=12"
414 | }
415 | },
416 | "node_modules/esbuild-linux-riscv64": {
417 | "version": "0.15.10",
418 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz",
419 | "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==",
420 | "cpu": [
421 | "riscv64"
422 | ],
423 | "dev": true,
424 | "optional": true,
425 | "os": [
426 | "linux"
427 | ],
428 | "engines": {
429 | "node": ">=12"
430 | }
431 | },
432 | "node_modules/esbuild-linux-s390x": {
433 | "version": "0.15.10",
434 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz",
435 | "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==",
436 | "cpu": [
437 | "s390x"
438 | ],
439 | "dev": true,
440 | "optional": true,
441 | "os": [
442 | "linux"
443 | ],
444 | "engines": {
445 | "node": ">=12"
446 | }
447 | },
448 | "node_modules/esbuild-netbsd-64": {
449 | "version": "0.15.10",
450 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz",
451 | "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==",
452 | "cpu": [
453 | "x64"
454 | ],
455 | "dev": true,
456 | "optional": true,
457 | "os": [
458 | "netbsd"
459 | ],
460 | "engines": {
461 | "node": ">=12"
462 | }
463 | },
464 | "node_modules/esbuild-openbsd-64": {
465 | "version": "0.15.10",
466 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz",
467 | "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==",
468 | "cpu": [
469 | "x64"
470 | ],
471 | "dev": true,
472 | "optional": true,
473 | "os": [
474 | "openbsd"
475 | ],
476 | "engines": {
477 | "node": ">=12"
478 | }
479 | },
480 | "node_modules/esbuild-sunos-64": {
481 | "version": "0.15.10",
482 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz",
483 | "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==",
484 | "cpu": [
485 | "x64"
486 | ],
487 | "dev": true,
488 | "optional": true,
489 | "os": [
490 | "sunos"
491 | ],
492 | "engines": {
493 | "node": ">=12"
494 | }
495 | },
496 | "node_modules/esbuild-windows-32": {
497 | "version": "0.15.10",
498 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz",
499 | "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==",
500 | "cpu": [
501 | "ia32"
502 | ],
503 | "dev": true,
504 | "optional": true,
505 | "os": [
506 | "win32"
507 | ],
508 | "engines": {
509 | "node": ">=12"
510 | }
511 | },
512 | "node_modules/esbuild-windows-64": {
513 | "version": "0.15.10",
514 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz",
515 | "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==",
516 | "cpu": [
517 | "x64"
518 | ],
519 | "dev": true,
520 | "optional": true,
521 | "os": [
522 | "win32"
523 | ],
524 | "engines": {
525 | "node": ">=12"
526 | }
527 | },
528 | "node_modules/esbuild-windows-arm64": {
529 | "version": "0.15.10",
530 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz",
531 | "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==",
532 | "cpu": [
533 | "arm64"
534 | ],
535 | "dev": true,
536 | "optional": true,
537 | "os": [
538 | "win32"
539 | ],
540 | "engines": {
541 | "node": ">=12"
542 | }
543 | },
544 | "node_modules/estree-walker": {
545 | "version": "2.0.2",
546 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
547 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
548 | },
549 | "node_modules/fsevents": {
550 | "version": "2.3.2",
551 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
552 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
553 | "dev": true,
554 | "hasInstallScript": true,
555 | "optional": true,
556 | "os": [
557 | "darwin"
558 | ],
559 | "engines": {
560 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
561 | }
562 | },
563 | "node_modules/function-bind": {
564 | "version": "1.1.1",
565 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
566 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
567 | "dev": true
568 | },
569 | "node_modules/has": {
570 | "version": "1.0.3",
571 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
572 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
573 | "dev": true,
574 | "dependencies": {
575 | "function-bind": "^1.1.1"
576 | },
577 | "engines": {
578 | "node": ">= 0.4.0"
579 | }
580 | },
581 | "node_modules/is-core-module": {
582 | "version": "2.10.0",
583 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
584 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
585 | "dev": true,
586 | "dependencies": {
587 | "has": "^1.0.3"
588 | },
589 | "funding": {
590 | "url": "https://github.com/sponsors/ljharb"
591 | }
592 | },
593 | "node_modules/magic-string": {
594 | "version": "0.25.9",
595 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
596 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
597 | "dependencies": {
598 | "sourcemap-codec": "^1.4.8"
599 | }
600 | },
601 | "node_modules/nanoid": {
602 | "version": "3.3.4",
603 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
604 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
605 | "bin": {
606 | "nanoid": "bin/nanoid.cjs"
607 | },
608 | "engines": {
609 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
610 | }
611 | },
612 | "node_modules/path-parse": {
613 | "version": "1.0.7",
614 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
615 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
616 | "dev": true
617 | },
618 | "node_modules/picocolors": {
619 | "version": "1.0.0",
620 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
621 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
622 | },
623 | "node_modules/postcss": {
624 | "version": "8.4.17",
625 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
626 | "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
627 | "funding": [
628 | {
629 | "type": "opencollective",
630 | "url": "https://opencollective.com/postcss/"
631 | },
632 | {
633 | "type": "tidelift",
634 | "url": "https://tidelift.com/funding/github/npm/postcss"
635 | }
636 | ],
637 | "dependencies": {
638 | "nanoid": "^3.3.4",
639 | "picocolors": "^1.0.0",
640 | "source-map-js": "^1.0.2"
641 | },
642 | "engines": {
643 | "node": "^10 || ^12 || >=14"
644 | }
645 | },
646 | "node_modules/resolve": {
647 | "version": "1.22.1",
648 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
649 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
650 | "dev": true,
651 | "dependencies": {
652 | "is-core-module": "^2.9.0",
653 | "path-parse": "^1.0.7",
654 | "supports-preserve-symlinks-flag": "^1.0.0"
655 | },
656 | "bin": {
657 | "resolve": "bin/resolve"
658 | },
659 | "funding": {
660 | "url": "https://github.com/sponsors/ljharb"
661 | }
662 | },
663 | "node_modules/rollup": {
664 | "version": "2.78.1",
665 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
666 | "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
667 | "dev": true,
668 | "bin": {
669 | "rollup": "dist/bin/rollup"
670 | },
671 | "engines": {
672 | "node": ">=10.0.0"
673 | },
674 | "optionalDependencies": {
675 | "fsevents": "~2.3.2"
676 | }
677 | },
678 | "node_modules/source-map": {
679 | "version": "0.6.1",
680 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
681 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
682 | "engines": {
683 | "node": ">=0.10.0"
684 | }
685 | },
686 | "node_modules/source-map-js": {
687 | "version": "1.0.2",
688 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
689 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
690 | "engines": {
691 | "node": ">=0.10.0"
692 | }
693 | },
694 | "node_modules/sourcemap-codec": {
695 | "version": "1.4.8",
696 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
697 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
698 | },
699 | "node_modules/supports-preserve-symlinks-flag": {
700 | "version": "1.0.0",
701 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
702 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
703 | "dev": true,
704 | "engines": {
705 | "node": ">= 0.4"
706 | },
707 | "funding": {
708 | "url": "https://github.com/sponsors/ljharb"
709 | }
710 | },
711 | "node_modules/vite": {
712 | "version": "3.1.7",
713 | "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.7.tgz",
714 | "integrity": "sha512-5vCAmU4S8lyVdFCInu9M54f/g8qbOMakVw5xJ4pjoaDy5wgy9sLLZkGdSLN52dlsBqh0tBqxjaqqa8LgPqwRAA==",
715 | "dev": true,
716 | "dependencies": {
717 | "esbuild": "^0.15.9",
718 | "postcss": "^8.4.16",
719 | "resolve": "^1.22.1",
720 | "rollup": "~2.78.0"
721 | },
722 | "bin": {
723 | "vite": "bin/vite.js"
724 | },
725 | "engines": {
726 | "node": "^14.18.0 || >=16.0.0"
727 | },
728 | "optionalDependencies": {
729 | "fsevents": "~2.3.2"
730 | },
731 | "peerDependencies": {
732 | "less": "*",
733 | "sass": "*",
734 | "stylus": "*",
735 | "terser": "^5.4.0"
736 | },
737 | "peerDependenciesMeta": {
738 | "less": {
739 | "optional": true
740 | },
741 | "sass": {
742 | "optional": true
743 | },
744 | "stylus": {
745 | "optional": true
746 | },
747 | "terser": {
748 | "optional": true
749 | }
750 | }
751 | },
752 | "node_modules/vue": {
753 | "version": "3.2.40",
754 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.40.tgz",
755 | "integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==",
756 | "dependencies": {
757 | "@vue/compiler-dom": "3.2.40",
758 | "@vue/compiler-sfc": "3.2.40",
759 | "@vue/runtime-dom": "3.2.40",
760 | "@vue/server-renderer": "3.2.40",
761 | "@vue/shared": "3.2.40"
762 | }
763 | },
764 | "node_modules/vue-router": {
765 | "version": "4.1.5",
766 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz",
767 | "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==",
768 | "dependencies": {
769 | "@vue/devtools-api": "^6.1.4"
770 | },
771 | "funding": {
772 | "url": "https://github.com/sponsors/posva"
773 | },
774 | "peerDependencies": {
775 | "vue": "^3.2.0"
776 | }
777 | }
778 | },
779 | "dependencies": {
780 | "@babel/parser": {
781 | "version": "7.19.4",
782 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz",
783 | "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA=="
784 | },
785 | "@esbuild/android-arm": {
786 | "version": "0.15.10",
787 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.10.tgz",
788 | "integrity": "sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==",
789 | "dev": true,
790 | "optional": true
791 | },
792 | "@esbuild/linux-loong64": {
793 | "version": "0.15.10",
794 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.10.tgz",
795 | "integrity": "sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==",
796 | "dev": true,
797 | "optional": true
798 | },
799 | "@vitejs/plugin-vue": {
800 | "version": "3.1.2",
801 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.2.tgz",
802 | "integrity": "sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==",
803 | "dev": true,
804 | "requires": {}
805 | },
806 | "@vue/compiler-core": {
807 | "version": "3.2.40",
808 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.40.tgz",
809 | "integrity": "sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA==",
810 | "requires": {
811 | "@babel/parser": "^7.16.4",
812 | "@vue/shared": "3.2.40",
813 | "estree-walker": "^2.0.2",
814 | "source-map": "^0.6.1"
815 | }
816 | },
817 | "@vue/compiler-dom": {
818 | "version": "3.2.40",
819 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz",
820 | "integrity": "sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw==",
821 | "requires": {
822 | "@vue/compiler-core": "3.2.40",
823 | "@vue/shared": "3.2.40"
824 | }
825 | },
826 | "@vue/compiler-sfc": {
827 | "version": "3.2.40",
828 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz",
829 | "integrity": "sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg==",
830 | "requires": {
831 | "@babel/parser": "^7.16.4",
832 | "@vue/compiler-core": "3.2.40",
833 | "@vue/compiler-dom": "3.2.40",
834 | "@vue/compiler-ssr": "3.2.40",
835 | "@vue/reactivity-transform": "3.2.40",
836 | "@vue/shared": "3.2.40",
837 | "estree-walker": "^2.0.2",
838 | "magic-string": "^0.25.7",
839 | "postcss": "^8.1.10",
840 | "source-map": "^0.6.1"
841 | }
842 | },
843 | "@vue/compiler-ssr": {
844 | "version": "3.2.40",
845 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz",
846 | "integrity": "sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ==",
847 | "requires": {
848 | "@vue/compiler-dom": "3.2.40",
849 | "@vue/shared": "3.2.40"
850 | }
851 | },
852 | "@vue/devtools-api": {
853 | "version": "6.4.4",
854 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.4.tgz",
855 | "integrity": "sha512-Ku31WzpOV/8cruFaXaEZKF81WkNnvCSlBY4eOGtz5WMSdJvX1v1WWlSMGZeqUwPtQ27ZZz7B62erEMq8JDjcXw=="
856 | },
857 | "@vue/reactivity": {
858 | "version": "3.2.40",
859 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.40.tgz",
860 | "integrity": "sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA==",
861 | "requires": {
862 | "@vue/shared": "3.2.40"
863 | }
864 | },
865 | "@vue/reactivity-transform": {
866 | "version": "3.2.40",
867 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz",
868 | "integrity": "sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw==",
869 | "requires": {
870 | "@babel/parser": "^7.16.4",
871 | "@vue/compiler-core": "3.2.40",
872 | "@vue/shared": "3.2.40",
873 | "estree-walker": "^2.0.2",
874 | "magic-string": "^0.25.7"
875 | }
876 | },
877 | "@vue/runtime-core": {
878 | "version": "3.2.40",
879 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.40.tgz",
880 | "integrity": "sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg==",
881 | "requires": {
882 | "@vue/reactivity": "3.2.40",
883 | "@vue/shared": "3.2.40"
884 | }
885 | },
886 | "@vue/runtime-dom": {
887 | "version": "3.2.40",
888 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz",
889 | "integrity": "sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww==",
890 | "requires": {
891 | "@vue/runtime-core": "3.2.40",
892 | "@vue/shared": "3.2.40",
893 | "csstype": "^2.6.8"
894 | }
895 | },
896 | "@vue/server-renderer": {
897 | "version": "3.2.40",
898 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.40.tgz",
899 | "integrity": "sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w==",
900 | "requires": {
901 | "@vue/compiler-ssr": "3.2.40",
902 | "@vue/shared": "3.2.40"
903 | }
904 | },
905 | "@vue/shared": {
906 | "version": "3.2.40",
907 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.40.tgz",
908 | "integrity": "sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ=="
909 | },
910 | "csstype": {
911 | "version": "2.6.21",
912 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
913 | "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
914 | },
915 | "esbuild": {
916 | "version": "0.15.10",
917 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.10.tgz",
918 | "integrity": "sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==",
919 | "dev": true,
920 | "requires": {
921 | "@esbuild/android-arm": "0.15.10",
922 | "@esbuild/linux-loong64": "0.15.10",
923 | "esbuild-android-64": "0.15.10",
924 | "esbuild-android-arm64": "0.15.10",
925 | "esbuild-darwin-64": "0.15.10",
926 | "esbuild-darwin-arm64": "0.15.10",
927 | "esbuild-freebsd-64": "0.15.10",
928 | "esbuild-freebsd-arm64": "0.15.10",
929 | "esbuild-linux-32": "0.15.10",
930 | "esbuild-linux-64": "0.15.10",
931 | "esbuild-linux-arm": "0.15.10",
932 | "esbuild-linux-arm64": "0.15.10",
933 | "esbuild-linux-mips64le": "0.15.10",
934 | "esbuild-linux-ppc64le": "0.15.10",
935 | "esbuild-linux-riscv64": "0.15.10",
936 | "esbuild-linux-s390x": "0.15.10",
937 | "esbuild-netbsd-64": "0.15.10",
938 | "esbuild-openbsd-64": "0.15.10",
939 | "esbuild-sunos-64": "0.15.10",
940 | "esbuild-windows-32": "0.15.10",
941 | "esbuild-windows-64": "0.15.10",
942 | "esbuild-windows-arm64": "0.15.10"
943 | }
944 | },
945 | "esbuild-android-64": {
946 | "version": "0.15.10",
947 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.10.tgz",
948 | "integrity": "sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==",
949 | "dev": true,
950 | "optional": true
951 | },
952 | "esbuild-android-arm64": {
953 | "version": "0.15.10",
954 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.10.tgz",
955 | "integrity": "sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==",
956 | "dev": true,
957 | "optional": true
958 | },
959 | "esbuild-darwin-64": {
960 | "version": "0.15.10",
961 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.10.tgz",
962 | "integrity": "sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==",
963 | "dev": true,
964 | "optional": true
965 | },
966 | "esbuild-darwin-arm64": {
967 | "version": "0.15.10",
968 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.10.tgz",
969 | "integrity": "sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==",
970 | "dev": true,
971 | "optional": true
972 | },
973 | "esbuild-freebsd-64": {
974 | "version": "0.15.10",
975 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.10.tgz",
976 | "integrity": "sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==",
977 | "dev": true,
978 | "optional": true
979 | },
980 | "esbuild-freebsd-arm64": {
981 | "version": "0.15.10",
982 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.10.tgz",
983 | "integrity": "sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==",
984 | "dev": true,
985 | "optional": true
986 | },
987 | "esbuild-linux-32": {
988 | "version": "0.15.10",
989 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.10.tgz",
990 | "integrity": "sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==",
991 | "dev": true,
992 | "optional": true
993 | },
994 | "esbuild-linux-64": {
995 | "version": "0.15.10",
996 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.10.tgz",
997 | "integrity": "sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==",
998 | "dev": true,
999 | "optional": true
1000 | },
1001 | "esbuild-linux-arm": {
1002 | "version": "0.15.10",
1003 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.10.tgz",
1004 | "integrity": "sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==",
1005 | "dev": true,
1006 | "optional": true
1007 | },
1008 | "esbuild-linux-arm64": {
1009 | "version": "0.15.10",
1010 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.10.tgz",
1011 | "integrity": "sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==",
1012 | "dev": true,
1013 | "optional": true
1014 | },
1015 | "esbuild-linux-mips64le": {
1016 | "version": "0.15.10",
1017 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.10.tgz",
1018 | "integrity": "sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==",
1019 | "dev": true,
1020 | "optional": true
1021 | },
1022 | "esbuild-linux-ppc64le": {
1023 | "version": "0.15.10",
1024 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.10.tgz",
1025 | "integrity": "sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==",
1026 | "dev": true,
1027 | "optional": true
1028 | },
1029 | "esbuild-linux-riscv64": {
1030 | "version": "0.15.10",
1031 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.10.tgz",
1032 | "integrity": "sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==",
1033 | "dev": true,
1034 | "optional": true
1035 | },
1036 | "esbuild-linux-s390x": {
1037 | "version": "0.15.10",
1038 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.10.tgz",
1039 | "integrity": "sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==",
1040 | "dev": true,
1041 | "optional": true
1042 | },
1043 | "esbuild-netbsd-64": {
1044 | "version": "0.15.10",
1045 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.10.tgz",
1046 | "integrity": "sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==",
1047 | "dev": true,
1048 | "optional": true
1049 | },
1050 | "esbuild-openbsd-64": {
1051 | "version": "0.15.10",
1052 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.10.tgz",
1053 | "integrity": "sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==",
1054 | "dev": true,
1055 | "optional": true
1056 | },
1057 | "esbuild-sunos-64": {
1058 | "version": "0.15.10",
1059 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.10.tgz",
1060 | "integrity": "sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==",
1061 | "dev": true,
1062 | "optional": true
1063 | },
1064 | "esbuild-windows-32": {
1065 | "version": "0.15.10",
1066 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.10.tgz",
1067 | "integrity": "sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==",
1068 | "dev": true,
1069 | "optional": true
1070 | },
1071 | "esbuild-windows-64": {
1072 | "version": "0.15.10",
1073 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.10.tgz",
1074 | "integrity": "sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==",
1075 | "dev": true,
1076 | "optional": true
1077 | },
1078 | "esbuild-windows-arm64": {
1079 | "version": "0.15.10",
1080 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.10.tgz",
1081 | "integrity": "sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==",
1082 | "dev": true,
1083 | "optional": true
1084 | },
1085 | "estree-walker": {
1086 | "version": "2.0.2",
1087 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1088 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
1089 | },
1090 | "fsevents": {
1091 | "version": "2.3.2",
1092 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1093 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1094 | "dev": true,
1095 | "optional": true
1096 | },
1097 | "function-bind": {
1098 | "version": "1.1.1",
1099 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1100 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1101 | "dev": true
1102 | },
1103 | "has": {
1104 | "version": "1.0.3",
1105 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1106 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1107 | "dev": true,
1108 | "requires": {
1109 | "function-bind": "^1.1.1"
1110 | }
1111 | },
1112 | "is-core-module": {
1113 | "version": "2.10.0",
1114 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
1115 | "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
1116 | "dev": true,
1117 | "requires": {
1118 | "has": "^1.0.3"
1119 | }
1120 | },
1121 | "magic-string": {
1122 | "version": "0.25.9",
1123 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
1124 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
1125 | "requires": {
1126 | "sourcemap-codec": "^1.4.8"
1127 | }
1128 | },
1129 | "nanoid": {
1130 | "version": "3.3.4",
1131 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1132 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
1133 | },
1134 | "path-parse": {
1135 | "version": "1.0.7",
1136 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1137 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1138 | "dev": true
1139 | },
1140 | "picocolors": {
1141 | "version": "1.0.0",
1142 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1143 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
1144 | },
1145 | "postcss": {
1146 | "version": "8.4.17",
1147 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
1148 | "integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
1149 | "requires": {
1150 | "nanoid": "^3.3.4",
1151 | "picocolors": "^1.0.0",
1152 | "source-map-js": "^1.0.2"
1153 | }
1154 | },
1155 | "resolve": {
1156 | "version": "1.22.1",
1157 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1158 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1159 | "dev": true,
1160 | "requires": {
1161 | "is-core-module": "^2.9.0",
1162 | "path-parse": "^1.0.7",
1163 | "supports-preserve-symlinks-flag": "^1.0.0"
1164 | }
1165 | },
1166 | "rollup": {
1167 | "version": "2.78.1",
1168 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
1169 | "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
1170 | "dev": true,
1171 | "requires": {
1172 | "fsevents": "~2.3.2"
1173 | }
1174 | },
1175 | "source-map": {
1176 | "version": "0.6.1",
1177 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1178 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
1179 | },
1180 | "source-map-js": {
1181 | "version": "1.0.2",
1182 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1183 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
1184 | },
1185 | "sourcemap-codec": {
1186 | "version": "1.4.8",
1187 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1188 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
1189 | },
1190 | "supports-preserve-symlinks-flag": {
1191 | "version": "1.0.0",
1192 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1193 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1194 | "dev": true
1195 | },
1196 | "vite": {
1197 | "version": "3.1.7",
1198 | "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.7.tgz",
1199 | "integrity": "sha512-5vCAmU4S8lyVdFCInu9M54f/g8qbOMakVw5xJ4pjoaDy5wgy9sLLZkGdSLN52dlsBqh0tBqxjaqqa8LgPqwRAA==",
1200 | "dev": true,
1201 | "requires": {
1202 | "esbuild": "^0.15.9",
1203 | "fsevents": "~2.3.2",
1204 | "postcss": "^8.4.16",
1205 | "resolve": "^1.22.1",
1206 | "rollup": "~2.78.0"
1207 | }
1208 | },
1209 | "vue": {
1210 | "version": "3.2.40",
1211 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.40.tgz",
1212 | "integrity": "sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A==",
1213 | "requires": {
1214 | "@vue/compiler-dom": "3.2.40",
1215 | "@vue/compiler-sfc": "3.2.40",
1216 | "@vue/runtime-dom": "3.2.40",
1217 | "@vue/server-renderer": "3.2.40",
1218 | "@vue/shared": "3.2.40"
1219 | }
1220 | },
1221 | "vue-router": {
1222 | "version": "4.1.5",
1223 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.5.tgz",
1224 | "integrity": "sha512-IsvoF5D2GQ/EGTs/Th4NQms9gd2NSqV+yylxIyp/OYp8xOwxmU8Kj/74E9DTSYAyH5LX7idVUngN3JSj1X4xcQ==",
1225 | "requires": {
1226 | "@vue/devtools-api": "^6.1.4"
1227 | }
1228 | }
1229 | }
1230 | }
1231 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "rouuter",
3 | "version": "0.0.0",
4 | "scripts": {
5 | "dev": "vite",
6 | "build": "vite build",
7 | "preview": "vite preview --port 4173"
8 | },
9 | "dependencies": {
10 | "vue": "^3.2.38",
11 | "vue-router": "^4.1.5"
12 | },
13 | "devDependencies": {
14 | "@vitejs/plugin-vue": "^3.0.3",
15 | "vite": "^3.0.9"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/harblaith7/Vue-Router-Crash-Course/02d4e3ec25c095f42182eef079220d4bc8f31e32/public/favicon.ico
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 | Home
8 | About
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/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/assets/main.css:
--------------------------------------------------------------------------------
1 | @import "./base.css";
2 |
3 | .container {
4 | height: 100vh;
5 | display: flex;
6 | align-items: center;
7 | justify-content: center;
8 | flex-direction: column;
9 | max-width: 800px;
10 | margin: 0 auto
11 | }
--------------------------------------------------------------------------------
/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
30 | recommended IDE setup is
31 | VSCode +
32 | Volar . If
33 | you need to test your components and web pages, check out
34 | Cypress and
35 | Cypress Component Testing .
36 |
37 |
38 |
39 | More instructions are available in README.md
.
40 |
41 |
42 |
43 |
44 |
45 |
46 | Ecosystem
47 |
48 | Get official tools and libraries for your project:
49 | Pinia ,
50 | Vue Router ,
51 | Vue Test Utils , and
52 | Vue Dev Tools . If
53 | you need more resources, we suggest paying
54 | Awesome Vue
55 | a visit.
56 |
57 |
58 |
59 |
60 |
61 |
62 | Community
63 |
64 | Got stuck? Ask your question on
65 | Vue Land , our official
66 | Discord server, or
67 | StackOverflow . You should also subscribe to
70 | our mailing list and follow
71 | the official
72 | @vuejs
73 | twitter account for latest news in the Vue world.
74 |
75 |
76 |
77 |
78 |
79 |
80 | Support Vue
81 |
82 | As an independent project, Vue relies on community backing for its sustainability. You can help
83 | us by
84 | becoming a sponsor .
85 |
86 |
87 |
--------------------------------------------------------------------------------
/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/data.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": 1,
4 | "make": "Chevrolet",
5 | "body": "coupe",
6 | "price": 45323,
7 | "year": 2020
8 | },
9 | {
10 | "id": 2,
11 | "make": "Buick",
12 | "body": "sedan",
13 | "price": 25422,
14 | "year": 2016
15 | },
16 | {
17 | "id": 3,
18 | "make": "Porsche",
19 | "body": "SUV",
20 | "price": 77693,
21 | "year": 2018
22 | },
23 | {
24 | "id": 5,
25 | "make": "Audi",
26 | "body": "SUV",
27 | "price": 12242,
28 | "year": 2011
29 | },
30 | {
31 | "id": 6,
32 | "make": "Chevrolet",
33 | "body": "coupe",
34 | "price": 145323,
35 | "year": 2023
36 | },
37 | {
38 | "id": 7,
39 | "make": "Chevrolet",
40 | "body": "SUV",
41 | "price": 434,
42 | "year": 2003
43 | },
44 | {
45 | "id": 8,
46 | "make": "Porsche",
47 | "body": "Coupe",
48 | "price": 277693,
49 | "year": 2023
50 | },
51 | {
52 | "id": 9,
53 | "make": "Audi",
54 | "body": "sedan",
55 | "price": 82242,
56 | "year": 2019
57 | },
58 | {
59 | "id": 10,
60 | "make": "Chevrolet",
61 | "body": "coupe",
62 | "price": 45323,
63 | "year": 2020
64 | }
65 | ]
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 |
5 | import './assets/main.css'
6 |
7 | const app = createApp(App)
8 |
9 | app.use(router)
10 |
11 | app.mount('#app')
12 |
--------------------------------------------------------------------------------
/src/router/index.js:
--------------------------------------------------------------------------------
1 | import { createRouter, createWebHistory } from 'vue-router'
2 | import HomeView from '../views/HomeView.vue'
3 |
4 | const router = createRouter({
5 | history: createWebHistory(import.meta.env.BASE_URL),
6 | routes: [
7 | {
8 | path: '/',
9 | name: 'home',
10 | component: HomeView
11 | },
12 | {
13 | path: '/home',
14 | redirect: { name: 'home' }
15 | },
16 | {
17 | path: '/about',
18 | name: 'about',
19 | component: () => import('../views/AboutView.vue')
20 | },
21 | {
22 | path: '/car/:id',
23 | name: 'car',
24 | component: () => import('../views/CarView.vue'),
25 | children: [
26 | {
27 | path: 'dealer',
28 | component: () => import('../views/DealerView.vue')
29 | },
30 | {
31 | path: 'manufactorer',
32 | component: () => import('../views/ManufactorerView.vue')
33 | }
34 | ]
35 | },
36 | {
37 | path: '/:pathMatch(.*)*',
38 | name: 'NotFound',
39 | component: () => import('../views/NotFoundView.vue')
40 | },
41 | ]
42 | })
43 |
44 | export default router
45 |
--------------------------------------------------------------------------------
/src/views/AboutView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
About
4 |
Lorem ipsum dolor sit amet consectetur adipisicing elit. Facilis rerum nemo at fugit suscipit dolores impedit sapiente, necessitatibus rem iure consectetur facere harum quaerat cum culpa molestias architecto maxime incidunt.
5 |
6 |
7 |
8 |
13 |
--------------------------------------------------------------------------------
/src/views/CarView.vue:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
21 |
The Car
22 |
Make: {{car.make}}
23 |
Body: {{car.body}}
24 |
Price: {{car.price}}
25 |
Year: {{car.year}}
26 |
Contact Dealer
27 |
Contact Manufactorer
28 |
29 |
30 |
31 |
Car not found
32 | Go Back
33 |
34 |
35 |
--------------------------------------------------------------------------------
/src/views/DealerView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
111 222 3333
4 |
5 |
--------------------------------------------------------------------------------
/src/views/HomeView.vue:
--------------------------------------------------------------------------------
1 |
39 |
40 |
41 |
42 |
Our Cars
43 |
Make:
44 |
45 | All
46 | Chevy
47 | Porsche
48 | Audi
49 |
50 |
Price:
51 |
52 | Any
53 | High to Low
54 | Low to High
55 |
56 |
57 |
58 |
{{car.make}}
59 |
${{car.price}}
60 |
61 |
62 |
63 |
64 |
65 |
66 |
93 |
--------------------------------------------------------------------------------
/src/views/ManufactorerView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
ManufactorerView@gmail.com
4 |
5 |
--------------------------------------------------------------------------------
/src/views/NotFoundView.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
404 - Not Found
4 |
5 |
6 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { fileURLToPath, URL } from 'node: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 |
--------------------------------------------------------------------------------