create-vuetify 2.3.0 → 2.4.0
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/dist/index.mjs +1110 -127
- package/package.json +20 -25
- 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 +14 -2
- package/template/javascript/default/package.json +10 -10
- package/template/javascript/default/src/components/AppFooter.vue +6 -3
- package/template/javascript/default/src/components/HelloWorld.vue +41 -108
- package/template/javascript/default/vite.config.mjs +8 -2
- package/template/javascript/essentials/_eslintrc-auto-import.json +11 -1
- package/template/javascript/essentials/package.json +3 -3
- package/template/javascript/essentials/src/App.vue +9 -0
- package/template/javascript/essentials/src/layouts/README.md +1 -1
- package/template/javascript/essentials/src/layouts/default.vue +4 -6
- 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 +13 -1
- package/template/typescript/default/README.md +1 -1
- package/template/typescript/default/package.json +12 -14
- package/template/typescript/default/src/components/HelloWorld.vue +41 -108
- package/template/typescript/default/vite.config.mts +6 -0
- 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/App.vue +9 -0
- 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/src/layouts/default.vue +4 -6
- package/template/typescript/essentials/vite.config.mts +18 -4
- 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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-vuetify",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"author": "Elijah Kotyluk <elijah@elijahkotyluk.com>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -22,35 +22,30 @@
|
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "node ./scripts/build.js",
|
|
24
24
|
"start": "node ./index.js",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
25
|
+
"dev": "node --run build && node --run start",
|
|
26
|
+
"lint": "eslint --fix .",
|
|
27
|
+
"prepublishOnly": "node --run build"
|
|
27
28
|
},
|
|
28
29
|
"dependencies": {
|
|
29
|
-
"kolorist": "^1.
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"package-manager-detector": "^0.
|
|
30
|
+
"kolorist": "^1.8.0",
|
|
31
|
+
"magicast": "^0.3.5",
|
|
32
|
+
"minimist": "^1.2.8",
|
|
33
|
+
"package-manager-detector": "^1.0.0",
|
|
33
34
|
"prompts": "^2.4.2",
|
|
34
|
-
"validate-npm-package-name": "^
|
|
35
|
+
"validate-npm-package-name": "^6.0.0"
|
|
35
36
|
},
|
|
36
37
|
"devDependencies": {
|
|
37
|
-
"@release-it/conventional-changelog": "^
|
|
38
|
-
"@types/minimist": "^1.2.
|
|
39
|
-
"@types/node": "^
|
|
40
|
-
"@types/prompts": "^2.
|
|
41
|
-
"@types/validate-npm-package-name": "^4.0.
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"eslint-plugin-local-rules": "^1.3.0",
|
|
49
|
-
"eslint-plugin-lodash-template": "^0.21.0",
|
|
50
|
-
"husky": "^8.0.1",
|
|
51
|
-
"lint-staged": "^13.0.3",
|
|
52
|
-
"release-it": "^17.0.3",
|
|
53
|
-
"typescript": "^4.7.4"
|
|
38
|
+
"@release-it/conventional-changelog": "^10.0.0",
|
|
39
|
+
"@types/minimist": "^1.2.5",
|
|
40
|
+
"@types/node": "^22.13.10",
|
|
41
|
+
"@types/prompts": "^2.4.9",
|
|
42
|
+
"@types/validate-npm-package-name": "^4.0.2",
|
|
43
|
+
"esbuild": "^0.25.1",
|
|
44
|
+
"eslint": "^9.23.0",
|
|
45
|
+
"eslint-config-vuetify": "^3.0.3",
|
|
46
|
+
"nypm": "^0.6.0",
|
|
47
|
+
"release-it": "^18.1.2",
|
|
48
|
+
"typescript": "^5.8.2"
|
|
54
49
|
},
|
|
55
50
|
"packageManager": "pnpm@9.12.2+sha512.22721b3a11f81661ae1ec68ce1a7b879425a1ca5b991c975b074ac220b187ce56c708fe5db69f4c962c989452eee76c82877f4ee80f474cebd61ee13461b6228"
|
|
56
51
|
}
|
|
@@ -1,23 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import pluginVue from 'eslint-plugin-vue'
|
|
3
|
-
|
|
4
|
-
export default [
|
|
5
|
-
{
|
|
6
|
-
name: 'app/files-to-lint',
|
|
7
|
-
files: ['**/*.{js,mjs,jsx,vue}'],
|
|
8
|
-
},
|
|
9
|
-
|
|
10
|
-
{
|
|
11
|
-
name: 'app/files-to-ignore',
|
|
12
|
-
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
|
|
13
|
-
},
|
|
14
|
-
|
|
15
|
-
js.configs.recommended,
|
|
16
|
-
...pluginVue.configs['flat/recommended'],
|
|
17
|
-
|
|
18
|
-
{
|
|
19
|
-
rules: {
|
|
20
|
-
'vue/multi-word-component-names': 'off',
|
|
21
|
-
},
|
|
22
|
-
}
|
|
23
|
-
]
|
|
1
|
+
export { default } from 'eslint-config-vuetify'
|
|
@@ -3,14 +3,10 @@
|
|
|
3
3
|
"lint": "eslint . --fix"
|
|
4
4
|
},
|
|
5
5
|
"devDependencies": {
|
|
6
|
-
"
|
|
7
|
-
"eslint": "^
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"eslint-plugin-promise": "^6.4.0",
|
|
12
|
-
"eslint-plugin-vue": "^9.30.0",
|
|
13
|
-
"vue-router": "^4.4.0",
|
|
14
|
-
"unplugin-vue-router": "^0.10.0"
|
|
6
|
+
"eslint": "^9.23.0",
|
|
7
|
+
"eslint-config-vuetify": "^3.0.3",
|
|
8
|
+
"globals": "^16.0.0",
|
|
9
|
+
"vue-router": "^4.5.0",
|
|
10
|
+
"unplugin-vue-router": "^0.12.0"
|
|
15
11
|
}
|
|
16
12
|
}
|
|
@@ -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,132 +20,71 @@
|
|
|
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>
|
|
40
36
|
<div class="text-subtitle-1">
|
|
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>
|
|
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>
|
|
@@ -14,7 +14,7 @@ export default defineConfig({
|
|
|
14
14
|
plugins: [
|
|
15
15
|
VueRouter(),
|
|
16
16
|
Vue({
|
|
17
|
-
template: { transformAssetUrls }
|
|
17
|
+
template: { transformAssetUrls },
|
|
18
18
|
}),
|
|
19
19
|
// https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
|
|
20
20
|
Vuetify({
|
|
@@ -33,10 +33,19 @@ export default defineConfig({
|
|
|
33
33
|
},
|
|
34
34
|
}),
|
|
35
35
|
],
|
|
36
|
+
optimizeDeps: {
|
|
37
|
+
exclude: [
|
|
38
|
+
'vuetify',
|
|
39
|
+
'vue-router',
|
|
40
|
+
'unplugin-vue-router/runtime',
|
|
41
|
+
'unplugin-vue-router/data-loaders',
|
|
42
|
+
'unplugin-vue-router/data-loaders/basic',
|
|
43
|
+
],
|
|
44
|
+
},
|
|
36
45
|
define: { 'process.env': {} },
|
|
37
46
|
resolve: {
|
|
38
47
|
alias: {
|
|
39
|
-
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
48
|
+
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
40
49
|
},
|
|
41
50
|
extensions: [
|
|
42
51
|
'.js',
|
|
@@ -56,6 +65,9 @@ export default defineConfig({
|
|
|
56
65
|
sass: {
|
|
57
66
|
api: 'modern-compiler',
|
|
58
67
|
},
|
|
68
|
+
scss: {
|
|
69
|
+
api: 'modern-compiler',
|
|
70
|
+
},
|
|
59
71
|
},
|
|
60
72
|
},
|
|
61
73
|
})
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@mdi/font": "7.4.47",
|
|
12
12
|
"roboto-fontface": "*",
|
|
13
|
-
"vue": "^3.
|
|
14
|
-
"vuetify": "^3.
|
|
13
|
+
"vue": "^3.5.13",
|
|
14
|
+
"vuetify": "^3.8.1"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
|
-
"@vitejs/plugin-vue": "^5.
|
|
18
|
-
"
|
|
19
|
-
"sass-embedded": "^1.
|
|
20
|
-
"unplugin-fonts": "^1.
|
|
21
|
-
"unplugin-vue-components": "^
|
|
22
|
-
"vite-plugin-vuetify": "^2.
|
|
23
|
-
"vite": "^
|
|
17
|
+
"@vitejs/plugin-vue": "^5.2.3",
|
|
18
|
+
"globals": "^16.0.0",
|
|
19
|
+
"sass-embedded": "^1.86.3",
|
|
20
|
+
"unplugin-fonts": "^1.3.1",
|
|
21
|
+
"unplugin-vue-components": "^28.4.1",
|
|
22
|
+
"vite-plugin-vuetify": "^2.1.1",
|
|
23
|
+
"vite": "^6.2.2"
|
|
24
24
|
}
|
|
25
|
-
}
|
|
25
|
+
}
|
|
@@ -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"
|
|
@@ -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>
|
|
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>
|
|
@@ -12,7 +12,7 @@ import { fileURLToPath, URL } from 'node:url'
|
|
|
12
12
|
export default defineConfig({
|
|
13
13
|
plugins: [
|
|
14
14
|
Vue({
|
|
15
|
-
template: { transformAssetUrls }
|
|
15
|
+
template: { transformAssetUrls },
|
|
16
16
|
}),
|
|
17
17
|
// https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme
|
|
18
18
|
Vuetify(),
|
|
@@ -26,10 +26,13 @@ export default defineConfig({
|
|
|
26
26
|
},
|
|
27
27
|
}),
|
|
28
28
|
],
|
|
29
|
+
optimizeDeps: {
|
|
30
|
+
exclude: ['vuetify'],
|
|
31
|
+
},
|
|
29
32
|
define: { 'process.env': {} },
|
|
30
33
|
resolve: {
|
|
31
34
|
alias: {
|
|
32
|
-
'@': fileURLToPath(new URL('./src', import.meta.url))
|
|
35
|
+
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
|
33
36
|
},
|
|
34
37
|
extensions: [
|
|
35
38
|
'.js',
|
|
@@ -49,6 +52,9 @@ export default defineConfig({
|
|
|
49
52
|
sass: {
|
|
50
53
|
api: 'modern-compiler',
|
|
51
54
|
},
|
|
55
|
+
scss: {
|
|
56
|
+
api:'modern-compiler',
|
|
57
|
+
},
|
|
52
58
|
},
|
|
53
59
|
},
|
|
54
60
|
})
|