create-vuetify 2.3.1 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -3
- package/dist/index.mjs +1704 -137
- package/package.json +27 -29
- package/template/javascript/base/eslint.config.js +1 -23
- package/template/javascript/base/package.json +5 -9
- package/template/javascript/base/src/components/HelloWorld.vue +42 -109
- package/template/javascript/base/src/router/index.js +0 -1
- package/template/javascript/base/vite.config.mjs +24 -9
- package/template/javascript/default/package.json +11 -11
- package/template/javascript/default/src/components/AppFooter.vue +6 -3
- package/template/javascript/default/src/components/HelloWorld.vue +41 -108
- package/template/javascript/default/src/main.js +3 -0
- package/template/javascript/default/vite.config.mjs +18 -9
- package/template/javascript/essentials/_eslintrc-auto-import.json +11 -1
- package/template/javascript/essentials/package.json +3 -3
- package/template/javascript/essentials/src/layouts/README.md +1 -1
- package/template/javascript/essentials/vite.config.mjs +20 -4
- package/template/typescript/base/eslint.config.js +1 -36
- package/template/typescript/base/package.json +4 -9
- package/template/typescript/base/src/components/HelloWorld.vue +42 -109
- package/template/typescript/base/vite.config.mts +28 -9
- package/template/typescript/default/README.md +1 -1
- package/template/typescript/default/package.json +13 -15
- package/template/typescript/default/src/components/HelloWorld.vue +41 -108
- package/template/typescript/default/src/main.ts +3 -0
- package/template/typescript/default/vite.config.mts +16 -7
- package/template/typescript/essentials/_eslintrc-auto-import.json +13 -0
- package/template/typescript/essentials/env.d.ts +1 -1
- package/template/typescript/essentials/package.json +3 -3
- package/template/typescript/essentials/src/auto-imports.d.ts +16 -66
- package/template/typescript/essentials/src/components/AppFooter.vue +6 -3
- package/template/typescript/essentials/src/layouts/README.md +1 -1
- package/template/typescript/essentials/vite.config.mts +25 -8
- package/template/typescript/nuxt/assets/logo.png +0 -0
- package/template/typescript/nuxt/assets/logo.svg +6 -0
- package/template/typescript/nuxt/components/AppFooter.vue +38 -35
- package/template/typescript/nuxt/components/HelloWorld.vue +44 -107
- package/template/typescript/nuxt/modules/vuetify.ts +35 -10
- package/template/typescript/nuxt/pages/index.vue +0 -1
- package/template/typescript/nuxt/plugins/vuetify-nuxt.ts +2 -2
- package/template/typescript/nuxt/plugins/vuetify.ts +1 -1
- package/dist/output.cjs +0 -303
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-container class="fill-height">
|
|
3
|
-
<
|
|
4
|
-
class="align-centerfill-height mx-auto"
|
|
5
|
-
max-width="900"
|
|
6
|
-
>
|
|
2
|
+
<v-container class="fill-height" max-width="900">
|
|
3
|
+
<div>
|
|
7
4
|
<v-img
|
|
8
5
|
class="mb-4"
|
|
9
6
|
height="150"
|
|
10
7
|
src="@/assets/logo.png"
|
|
11
8
|
/>
|
|
12
9
|
|
|
13
|
-
<div class="text-center">
|
|
10
|
+
<div class="mb-8 text-center">
|
|
14
11
|
<div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
|
|
15
|
-
|
|
16
12
|
<h1 class="text-h2 font-weight-bold">Vuetify</h1>
|
|
17
13
|
</div>
|
|
18
14
|
|
|
19
|
-
<div class="py-4" />
|
|
20
|
-
|
|
21
15
|
<v-row>
|
|
22
16
|
<v-col cols="12">
|
|
23
17
|
<v-card
|
|
@@ -26,14 +20,16 @@
|
|
|
26
20
|
image="https://cdn.vuetifyjs.com/docs/images/one/create/feature.png"
|
|
27
21
|
prepend-icon="mdi-rocket-launch-outline"
|
|
28
22
|
rounded="lg"
|
|
29
|
-
variant="
|
|
23
|
+
variant="tonal"
|
|
30
24
|
>
|
|
31
25
|
<template #image>
|
|
32
26
|
<v-img position="top right" />
|
|
33
27
|
</template>
|
|
34
28
|
|
|
35
29
|
<template #title>
|
|
36
|
-
<h2 class="text-h5 font-weight-bold">
|
|
30
|
+
<h2 class="text-h5 font-weight-bold">
|
|
31
|
+
Get started
|
|
32
|
+
</h2>
|
|
37
33
|
</template>
|
|
38
34
|
|
|
39
35
|
<template #subtitle>
|
|
@@ -41,117 +37,54 @@
|
|
|
41
37
|
Change this page by updating <v-kbd>{{ `<HelloWorld />` }}</v-kbd> in <v-kbd>components/HelloWorld.vue</v-kbd>.
|
|
42
38
|
</div>
|
|
43
39
|
</template>
|
|
44
|
-
|
|
45
|
-
<v-overlay
|
|
46
|
-
opacity=".12"
|
|
47
|
-
scrim="primary"
|
|
48
|
-
contained
|
|
49
|
-
model-value
|
|
50
|
-
persistent
|
|
51
|
-
/>
|
|
52
|
-
</v-card>
|
|
53
|
-
</v-col>
|
|
54
|
-
|
|
55
|
-
<v-col cols="6">
|
|
56
|
-
<v-card
|
|
57
|
-
append-icon="mdi-open-in-new"
|
|
58
|
-
class="py-4"
|
|
59
|
-
color="surface-variant"
|
|
60
|
-
href="https://vuetifyjs.com/"
|
|
61
|
-
prepend-icon="mdi-text-box-outline"
|
|
62
|
-
rel="noopener noreferrer"
|
|
63
|
-
rounded="lg"
|
|
64
|
-
subtitle="Learn about all things Vuetify in our documentation."
|
|
65
|
-
target="_blank"
|
|
66
|
-
title="Documentation"
|
|
67
|
-
variant="text"
|
|
68
|
-
>
|
|
69
|
-
<v-overlay
|
|
70
|
-
opacity=".06"
|
|
71
|
-
scrim="primary"
|
|
72
|
-
contained
|
|
73
|
-
model-value
|
|
74
|
-
persistent
|
|
75
|
-
/>
|
|
76
|
-
</v-card>
|
|
77
|
-
</v-col>
|
|
78
|
-
|
|
79
|
-
<v-col cols="6">
|
|
80
|
-
<v-card
|
|
81
|
-
append-icon="mdi-open-in-new"
|
|
82
|
-
class="py-4"
|
|
83
|
-
color="surface-variant"
|
|
84
|
-
href="https://vuetifyjs.com/introduction/why-vuetify/#feature-guides"
|
|
85
|
-
prepend-icon="mdi-star-circle-outline"
|
|
86
|
-
rel="noopener noreferrer"
|
|
87
|
-
rounded="lg"
|
|
88
|
-
subtitle="Explore available framework Features."
|
|
89
|
-
target="_blank"
|
|
90
|
-
title="Features"
|
|
91
|
-
variant="text"
|
|
92
|
-
>
|
|
93
|
-
<v-overlay
|
|
94
|
-
opacity=".06"
|
|
95
|
-
scrim="primary"
|
|
96
|
-
contained
|
|
97
|
-
model-value
|
|
98
|
-
persistent
|
|
99
|
-
/>
|
|
100
40
|
</v-card>
|
|
101
41
|
</v-col>
|
|
102
42
|
|
|
103
|
-
<v-col cols="6">
|
|
43
|
+
<v-col v-for="link in links" :key="link.href" cols="6">
|
|
104
44
|
<v-card
|
|
105
45
|
append-icon="mdi-open-in-new"
|
|
106
46
|
class="py-4"
|
|
107
47
|
color="surface-variant"
|
|
108
|
-
href="
|
|
109
|
-
prepend-icon="
|
|
48
|
+
:href="link.href"
|
|
49
|
+
:prepend-icon="link.icon"
|
|
110
50
|
rel="noopener noreferrer"
|
|
111
51
|
rounded="lg"
|
|
112
|
-
subtitle="
|
|
52
|
+
:subtitle="link.subtitle"
|
|
113
53
|
target="_blank"
|
|
114
|
-
title="
|
|
115
|
-
variant="
|
|
116
|
-
|
|
117
|
-
<v-overlay
|
|
118
|
-
opacity=".06"
|
|
119
|
-
scrim="primary"
|
|
120
|
-
contained
|
|
121
|
-
model-value
|
|
122
|
-
persistent
|
|
123
|
-
/>
|
|
124
|
-
</v-card>
|
|
125
|
-
</v-col>
|
|
126
|
-
|
|
127
|
-
<v-col cols="6">
|
|
128
|
-
<v-card
|
|
129
|
-
append-icon="mdi-open-in-new"
|
|
130
|
-
class="py-4"
|
|
131
|
-
color="surface-variant"
|
|
132
|
-
href="https://discord.vuetifyjs.com"
|
|
133
|
-
prepend-icon="mdi-account-group-outline"
|
|
134
|
-
rel="noopener noreferrer"
|
|
135
|
-
rounded="lg"
|
|
136
|
-
subtitle="Connect with Vuetify developers."
|
|
137
|
-
target="_blank"
|
|
138
|
-
title="Community"
|
|
139
|
-
variant="text"
|
|
140
|
-
>
|
|
141
|
-
<v-overlay
|
|
142
|
-
opacity=".06"
|
|
143
|
-
scrim="primary"
|
|
144
|
-
contained
|
|
145
|
-
model-value
|
|
146
|
-
persistent
|
|
147
|
-
/>
|
|
148
|
-
</v-card>
|
|
54
|
+
:title="link.title"
|
|
55
|
+
variant="tonal"
|
|
56
|
+
/>
|
|
149
57
|
</v-col>
|
|
150
58
|
</v-row>
|
|
151
|
-
</
|
|
59
|
+
</div>
|
|
152
60
|
</v-container>
|
|
153
61
|
</template>
|
|
154
62
|
|
|
155
63
|
<script setup lang="ts">
|
|
156
|
-
|
|
64
|
+
const links = [
|
|
65
|
+
{
|
|
66
|
+
href: 'https://vuetifyjs.com/',
|
|
67
|
+
icon: 'mdi-text-box-outline',
|
|
68
|
+
subtitle: 'Learn about all things Vuetify in our documentation.',
|
|
69
|
+
title: 'Documentation',
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
href: 'https://vuetifyjs.com/introduction/why-vuetify/#feature-guides',
|
|
73
|
+
icon: 'mdi-star-circle-outline',
|
|
74
|
+
subtitle: 'Explore available framework Features.',
|
|
75
|
+
title: 'Features',
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
href: 'https://vuetifyjs.com/components/all',
|
|
79
|
+
icon: 'mdi-widgets-outline',
|
|
80
|
+
subtitle: 'Discover components in the API Explorer.',
|
|
81
|
+
title: 'Components',
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
href: 'https://discord.vuetifyjs.com',
|
|
85
|
+
icon: 'mdi-account-group-outline',
|
|
86
|
+
subtitle: 'Connect with Vuetify developers.',
|
|
87
|
+
title: 'Community',
|
|
88
|
+
},
|
|
89
|
+
]
|
|
157
90
|
</script>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import Components from 'unplugin-vue-components/vite'
|
|
3
3
|
import Vue from '@vitejs/plugin-vue'
|
|
4
4
|
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
|
|
5
|
-
import
|
|
5
|
+
import Fonts from 'unplugin-fonts/vite'
|
|
6
6
|
|
|
7
7
|
// Utilities
|
|
8
8
|
import { defineConfig } from 'vite'
|
|
@@ -17,15 +17,21 @@ export default defineConfig({
|
|
|
17
17
|
// https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
|
|
18
18
|
Vuetify(),
|
|
19
19
|
Components(),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
families: [
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
Fonts({
|
|
21
|
+
fontsource: {
|
|
22
|
+
families: [
|
|
23
|
+
{
|
|
24
|
+
name: 'Roboto',
|
|
25
|
+
weights: [100, 300, 400, 500, 700, 900],
|
|
26
|
+
styles: ['normal', 'italic'],
|
|
27
|
+
},
|
|
28
|
+
],
|
|
26
29
|
},
|
|
27
30
|
}),
|
|
28
31
|
],
|
|
32
|
+
optimizeDeps: {
|
|
33
|
+
exclude: ['vuetify'],
|
|
34
|
+
},
|
|
29
35
|
define: { 'process.env': {} },
|
|
30
36
|
resolve: {
|
|
31
37
|
alias: {
|
|
@@ -49,6 +55,9 @@ export default defineConfig({
|
|
|
49
55
|
sass: {
|
|
50
56
|
api: 'modern-compiler',
|
|
51
57
|
},
|
|
58
|
+
scss: {
|
|
59
|
+
api: 'modern-compiler',
|
|
60
|
+
},
|
|
52
61
|
},
|
|
53
62
|
},
|
|
54
63
|
})
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
"Component": true,
|
|
4
4
|
"ComponentPublicInstance": true,
|
|
5
5
|
"ComputedRef": true,
|
|
6
|
+
"DirectiveBinding": true,
|
|
6
7
|
"EffectScope": true,
|
|
7
8
|
"ExtractDefaultPropTypes": true,
|
|
8
9
|
"ExtractPropTypes": true,
|
|
9
10
|
"ExtractPublicPropTypes": true,
|
|
10
11
|
"InjectionKey": true,
|
|
12
|
+
"MaybeRef": true,
|
|
13
|
+
"MaybeRefOrGetter": true,
|
|
11
14
|
"PropType": true,
|
|
12
15
|
"Ref": true,
|
|
16
|
+
"Slot": true,
|
|
17
|
+
"Slots": true,
|
|
13
18
|
"VNode": true,
|
|
14
19
|
"WritableComputedRef": true,
|
|
15
20
|
"computed": true,
|
|
@@ -17,6 +22,7 @@
|
|
|
17
22
|
"customRef": true,
|
|
18
23
|
"defineAsyncComponent": true,
|
|
19
24
|
"defineComponent": true,
|
|
25
|
+
"defineStore": true,
|
|
20
26
|
"effectScope": true,
|
|
21
27
|
"getCurrentInstance": true,
|
|
22
28
|
"getCurrentScope": true,
|
|
@@ -30,6 +36,8 @@
|
|
|
30
36
|
"nextTick": true,
|
|
31
37
|
"onActivated": true,
|
|
32
38
|
"onBeforeMount": true,
|
|
39
|
+
"onBeforeRouteLeave": true,
|
|
40
|
+
"onBeforeRouteUpdate": true,
|
|
33
41
|
"onBeforeUnmount": true,
|
|
34
42
|
"onBeforeUpdate": true,
|
|
35
43
|
"onDeactivated": true,
|
|
@@ -41,6 +49,7 @@
|
|
|
41
49
|
"onServerPrefetch": true,
|
|
42
50
|
"onUnmounted": true,
|
|
43
51
|
"onUpdated": true,
|
|
52
|
+
"onWatcherCleanup": true,
|
|
44
53
|
"provide": true,
|
|
45
54
|
"reactive": true,
|
|
46
55
|
"readonly": true,
|
|
@@ -49,6 +58,7 @@
|
|
|
49
58
|
"shallowReactive": true,
|
|
50
59
|
"shallowReadonly": true,
|
|
51
60
|
"shallowRef": true,
|
|
61
|
+
"storeToRefs": true,
|
|
52
62
|
"toRaw": true,
|
|
53
63
|
"toRef": true,
|
|
54
64
|
"toRefs": true,
|
|
@@ -58,9 +68,12 @@
|
|
|
58
68
|
"useAttrs": true,
|
|
59
69
|
"useCssModule": true,
|
|
60
70
|
"useCssVars": true,
|
|
71
|
+
"useId": true,
|
|
72
|
+
"useModel": true,
|
|
61
73
|
"useRoute": true,
|
|
62
74
|
"useRouter": true,
|
|
63
75
|
"useSlots": true,
|
|
76
|
+
"useTemplateRef": true,
|
|
64
77
|
"watch": true,
|
|
65
78
|
"watchEffect": true,
|
|
66
79
|
"watchPostEffect": true,
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// @ts-nocheck
|
|
4
4
|
// noinspection JSUnusedGlobalSymbols
|
|
5
5
|
// Generated by unplugin-auto-import
|
|
6
|
+
// biome-ignore lint: disable
|
|
6
7
|
export {}
|
|
7
8
|
declare global {
|
|
8
9
|
const EffectScope: typeof import('vue')['EffectScope']
|
|
@@ -11,6 +12,7 @@ declare global {
|
|
|
11
12
|
const customRef: typeof import('vue')['customRef']
|
|
12
13
|
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
|
13
14
|
const defineComponent: typeof import('vue')['defineComponent']
|
|
15
|
+
const defineStore: typeof import('pinia')['defineStore']
|
|
14
16
|
const effectScope: typeof import('vue')['effectScope']
|
|
15
17
|
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
|
16
18
|
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
|
@@ -37,6 +39,7 @@ declare global {
|
|
|
37
39
|
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
|
38
40
|
const onUnmounted: typeof import('vue')['onUnmounted']
|
|
39
41
|
const onUpdated: typeof import('vue')['onUpdated']
|
|
42
|
+
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
|
40
43
|
const provide: typeof import('vue')['provide']
|
|
41
44
|
const reactive: typeof import('vue')['reactive']
|
|
42
45
|
const readonly: typeof import('vue')['readonly']
|
|
@@ -45,6 +48,7 @@ declare global {
|
|
|
45
48
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
|
46
49
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
|
47
50
|
const shallowRef: typeof import('vue')['shallowRef']
|
|
51
|
+
const storeToRefs: typeof import('pinia')['storeToRefs']
|
|
48
52
|
const toRaw: typeof import('vue')['toRaw']
|
|
49
53
|
const toRef: typeof import('vue')['toRef']
|
|
50
54
|
const toRefs: typeof import('vue')['toRefs']
|
|
@@ -54,10 +58,12 @@ declare global {
|
|
|
54
58
|
const useAttrs: typeof import('vue')['useAttrs']
|
|
55
59
|
const useCssModule: typeof import('vue')['useCssModule']
|
|
56
60
|
const useCssVars: typeof import('vue')['useCssVars']
|
|
57
|
-
const
|
|
61
|
+
const useId: typeof import('vue')['useId']
|
|
62
|
+
const useModel: typeof import('vue')['useModel']
|
|
58
63
|
const useRoute: typeof import('vue-router')['useRoute']
|
|
59
64
|
const useRouter: typeof import('vue-router')['useRouter']
|
|
60
65
|
const useSlots: typeof import('vue')['useSlots']
|
|
66
|
+
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
|
61
67
|
const watch: typeof import('vue')['watch']
|
|
62
68
|
const watchEffect: typeof import('vue')['watchEffect']
|
|
63
69
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
|
@@ -66,9 +72,10 @@ declare global {
|
|
|
66
72
|
// for type re-export
|
|
67
73
|
declare global {
|
|
68
74
|
// @ts-ignore
|
|
69
|
-
export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
|
|
75
|
+
export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
|
70
76
|
import('vue')
|
|
71
77
|
}
|
|
78
|
+
|
|
72
79
|
// for vue template auto import
|
|
73
80
|
import { UnwrapRef } from 'vue'
|
|
74
81
|
declare module 'vue' {
|
|
@@ -80,6 +87,7 @@ declare module 'vue' {
|
|
|
80
87
|
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
|
81
88
|
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
|
82
89
|
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
|
90
|
+
readonly defineStore: UnwrapRef<typeof import('pinia')['defineStore']>
|
|
83
91
|
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
|
84
92
|
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
|
85
93
|
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
|
@@ -106,6 +114,7 @@ declare module 'vue' {
|
|
|
106
114
|
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
|
107
115
|
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
|
108
116
|
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
|
117
|
+
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
|
|
109
118
|
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
|
110
119
|
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
|
111
120
|
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
|
@@ -114,6 +123,7 @@ declare module 'vue' {
|
|
|
114
123
|
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
|
115
124
|
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
|
116
125
|
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
|
126
|
+
readonly storeToRefs: UnwrapRef<typeof import('pinia')['storeToRefs']>
|
|
117
127
|
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
|
118
128
|
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
|
119
129
|
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
|
@@ -123,75 +133,15 @@ declare module 'vue' {
|
|
|
123
133
|
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
|
124
134
|
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
|
125
135
|
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
|
126
|
-
readonly
|
|
136
|
+
readonly useId: UnwrapRef<typeof import('vue')['useId']>
|
|
137
|
+
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
|
|
127
138
|
readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
|
|
128
139
|
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
|
|
129
140
|
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
|
141
|
+
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
|
|
130
142
|
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
|
131
143
|
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
|
132
144
|
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
|
133
145
|
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
|
134
146
|
}
|
|
135
|
-
}
|
|
136
|
-
declare module '@vue/runtime-core' {
|
|
137
|
-
interface GlobalComponents {}
|
|
138
|
-
interface ComponentCustomProperties {
|
|
139
|
-
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
|
|
140
|
-
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
|
141
|
-
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
|
|
142
|
-
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
|
143
|
-
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
|
144
|
-
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
|
145
|
-
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
|
146
|
-
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
|
147
|
-
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
|
148
|
-
readonly h: UnwrapRef<typeof import('vue')['h']>
|
|
149
|
-
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
|
150
|
-
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
|
151
|
-
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
|
152
|
-
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
|
153
|
-
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
|
154
|
-
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
|
155
|
-
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
|
156
|
-
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
|
157
|
-
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
|
158
|
-
readonly onBeforeRouteLeave: UnwrapRef<typeof import('vue-router')['onBeforeRouteLeave']>
|
|
159
|
-
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('vue-router')['onBeforeRouteUpdate']>
|
|
160
|
-
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
|
161
|
-
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
|
162
|
-
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
|
163
|
-
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
|
164
|
-
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
|
165
|
-
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
|
166
|
-
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
|
167
|
-
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
|
168
|
-
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
|
169
|
-
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
|
170
|
-
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
|
171
|
-
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
|
172
|
-
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
|
173
|
-
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
|
174
|
-
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
|
175
|
-
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
|
176
|
-
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
|
177
|
-
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
|
178
|
-
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
|
179
|
-
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
|
180
|
-
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
|
181
|
-
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
|
182
|
-
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
|
|
183
|
-
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
|
184
|
-
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
|
185
|
-
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
|
186
|
-
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
|
187
|
-
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
|
188
|
-
readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']>
|
|
189
|
-
readonly useRoute: UnwrapRef<typeof import('vue-router')['useRoute']>
|
|
190
|
-
readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
|
|
191
|
-
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
|
192
|
-
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
|
193
|
-
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
|
194
|
-
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
|
195
|
-
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
|
196
|
-
}
|
|
197
|
-
}
|
|
147
|
+
}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-footer
|
|
2
|
+
<v-footer
|
|
3
|
+
app
|
|
4
|
+
height="40"
|
|
5
|
+
>
|
|
3
6
|
<a
|
|
4
7
|
v-for="item in items"
|
|
5
8
|
:key="item.title"
|
|
6
|
-
:href="item.href"
|
|
7
|
-
:title="item.title"
|
|
8
9
|
class="d-inline-block mx-2 social-link"
|
|
10
|
+
:href="item.href"
|
|
9
11
|
rel="noopener noreferrer"
|
|
10
12
|
target="_blank"
|
|
13
|
+
:title="item.title"
|
|
11
14
|
>
|
|
12
15
|
<v-icon
|
|
13
16
|
:icon="item.icon"
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
|
|
3
3
|
Layouts are reusable components that wrap around pages. They are used to provide a consistent look and feel across multiple pages.
|
|
4
4
|
|
|
5
|
-
Full documentation for this feature can be found in the Official [vite-plugin-vue-layouts](https://github.com/
|
|
5
|
+
Full documentation for this feature can be found in the Official [vite-plugin-vue-layouts-next](https://github.com/loicduong/vite-plugin-vue-layouts-next) repository.
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import AutoImport from 'unplugin-auto-import/vite'
|
|
3
3
|
import Components from 'unplugin-vue-components/vite'
|
|
4
4
|
import Fonts from 'unplugin-fonts/vite'
|
|
5
|
-
import Layouts from 'vite-plugin-vue-layouts'
|
|
5
|
+
import Layouts from 'vite-plugin-vue-layouts-next'
|
|
6
6
|
import Vue from '@vitejs/plugin-vue'
|
|
7
7
|
import VueRouter from 'unplugin-vue-router/vite'
|
|
8
|
+
import { VueRouterAutoImports } from 'unplugin-vue-router'
|
|
8
9
|
import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify'
|
|
9
10
|
|
|
10
11
|
// Utilities
|
|
@@ -21,9 +22,10 @@ export default defineConfig({
|
|
|
21
22
|
AutoImport({
|
|
22
23
|
imports: [
|
|
23
24
|
'vue',
|
|
25
|
+
VueRouterAutoImports,
|
|
24
26
|
{
|
|
25
|
-
'
|
|
26
|
-
}
|
|
27
|
+
'pinia': ['defineStore', 'storeToRefs'],
|
|
28
|
+
},
|
|
27
29
|
],
|
|
28
30
|
dts: 'src/auto-imports.d.ts',
|
|
29
31
|
eslintrc: {
|
|
@@ -45,14 +47,26 @@ export default defineConfig({
|
|
|
45
47
|
},
|
|
46
48
|
}),
|
|
47
49
|
Fonts({
|
|
48
|
-
|
|
49
|
-
families: [
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
50
|
+
fontsource: {
|
|
51
|
+
families: [
|
|
52
|
+
{
|
|
53
|
+
name: 'Roboto',
|
|
54
|
+
weights: [100, 300, 400, 500, 700, 900],
|
|
55
|
+
styles: ['normal', 'italic'],
|
|
56
|
+
},
|
|
57
|
+
],
|
|
53
58
|
},
|
|
54
59
|
}),
|
|
55
60
|
],
|
|
61
|
+
optimizeDeps: {
|
|
62
|
+
exclude: [
|
|
63
|
+
'vuetify',
|
|
64
|
+
'vue-router',
|
|
65
|
+
'unplugin-vue-router/runtime',
|
|
66
|
+
'unplugin-vue-router/data-loaders',
|
|
67
|
+
'unplugin-vue-router/data-loaders/basic',
|
|
68
|
+
],
|
|
69
|
+
},
|
|
56
70
|
define: { 'process.env': {} },
|
|
57
71
|
resolve: {
|
|
58
72
|
alias: {
|
|
@@ -76,6 +90,9 @@ export default defineConfig({
|
|
|
76
90
|
sass: {
|
|
77
91
|
api: 'modern-compiler',
|
|
78
92
|
},
|
|
93
|
+
scss: {
|
|
94
|
+
api: 'modern-compiler',
|
|
95
|
+
},
|
|
79
96
|
},
|
|
80
97
|
},
|
|
81
98
|
})
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M261.126 140.65L164.624 307.732L256.001 466L377.028 256.5L498.001 47H315.192L261.126 140.65Z" fill="#1697F6"/>
|
|
3
|
+
<path d="M135.027 256.5L141.365 267.518L231.64 111.178L268.731 47H256H14L135.027 256.5Z" fill="#AEDDFF"/>
|
|
4
|
+
<path d="M315.191 47C360.935 197.446 256 466 256 466L164.624 307.732L315.191 47Z" fill="#1867C0"/>
|
|
5
|
+
<path d="M268.731 47C76.0026 47 141.366 267.518 141.366 267.518L268.731 47Z" fill="#7BC6FF"/>
|
|
6
|
+
</svg>
|