create-vuetify 2.1.2 → 2.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-vuetify",
3
- "version": "2.1.2",
3
+ "version": "2.2.1",
4
4
  "main": "dist/output.cjs",
5
5
  "author": "Elijah Kotyluk <elijah@elijahkotyluk.com>",
6
6
  "license": "MIT",
@@ -1,3 +1,4 @@
1
+
1
2
  /**
2
3
  * router/index.ts
3
4
  *
@@ -6,11 +7,9 @@
6
7
 
7
8
  // Composables
8
9
  import { createRouter, createWebHistory } from 'vue-router/auto'
9
- import { setupLayouts } from 'virtual:generated-layouts'
10
10
 
11
11
  const router = createRouter({
12
- history: createWebHistory(process.env.BASE_URL),
13
- extendRoutes: setupLayouts,
12
+ history: createWebHistory(import.meta.env.BASE_URL),
14
13
  })
15
14
 
16
15
  export default router
@@ -8,8 +8,8 @@
8
8
  "dependencies": {
9
9
  "@mdi/font": "7.0.96",
10
10
  "roboto-fontface": "*",
11
- "vue": "^3.3.0",
12
- "vuetify": "^3.0.0"
11
+ "vue": "^3.4.0",
12
+ "vuetify": "^3.5.0"
13
13
  },
14
14
  "devDependencies": {
15
15
  "@vitejs/plugin-vue": "^5.0.4",
@@ -3,6 +3,8 @@
3
3
  <v-main>
4
4
  <HelloWorld />
5
5
  </v-main>
6
+
7
+ <AppFooter />
6
8
  </v-app>
7
9
  </template>
8
10
 
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <v-footer height="40" app>
3
+ <a
4
+ v-for="item in items"
5
+ :key="item.title"
6
+ :href="item.href"
7
+ :title="item.title"
8
+ class="d-inline-block mx-2 social-link"
9
+ rel="noopener noreferrer"
10
+ target="_blank"
11
+ >
12
+ <v-icon
13
+ :icon="item.icon"
14
+ :size="item.icon === '$vuetify' ? 24 : 16"
15
+ />
16
+ </a>
17
+
18
+ <div
19
+ class="text-caption text-disabled"
20
+ style="position: absolute; right: 16px;"
21
+ >
22
+ &copy; 2016-{{ (new Date()).getFullYear() }} <span class="d-none d-sm-inline-block">Vuetify, LLC</span>
23
+
24
+ <a
25
+ class="text-decoration-none on-surface"
26
+ href="https://vuetifyjs.com/about/licensing/"
27
+ rel="noopener noreferrer"
28
+ target="_blank"
29
+ >
30
+ MIT License
31
+ </a>
32
+ </div>
33
+ </v-footer>
34
+ </template>
35
+
36
+ <script setup>
37
+ const items = [
38
+ {
39
+ title: 'Vuetify Documentation',
40
+ icon: `$vuetify`,
41
+ href: 'https://vuetifyjs.com/',
42
+ },
43
+ {
44
+ title: 'Vuetify Support',
45
+ icon: 'mdi-shield-star-outline',
46
+ href: 'https://support.vuetifyjs.com/',
47
+ },
48
+ {
49
+ title: 'Vuetify X',
50
+ icon: `svg:M2.04875 3.00002L9.77052 13.3248L1.99998 21.7192H3.74882L10.5519 14.3697L16.0486 21.7192H22L13.8437 10.8137L21.0765 3.00002H19.3277L13.0624 9.76874L8.0001 3.00002H2.04875ZM4.62054 4.28821H7.35461L19.4278 20.4308H16.6937L4.62054 4.28821Z`,
51
+ href: 'https://x.com/vuetifyjs',
52
+ },
53
+ {
54
+ title: 'Vuetify GitHub',
55
+ icon: `mdi-github`,
56
+ href: 'https://github.com/vuetifyjs/vuetify',
57
+ },
58
+ {
59
+ title: 'Vuetify Discord',
60
+ icon: `mdi-discord`,
61
+ href: 'https://community.vuetifyjs.com/',
62
+ },
63
+ {
64
+ title: 'Vuetify Reddit',
65
+ icon: `mdi-reddit`,
66
+ href: 'https://reddit.com/r/vuetifyjs',
67
+ },
68
+ ]
69
+ </script>
70
+
71
+ <style scoped lang="sass">
72
+ .social-link :deep(.v-icon)
73
+ color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity))
74
+ text-decoration: none
75
+ transition: .2s ease-in-out
76
+
77
+ &:hover
78
+ color: rgba(25, 118, 210, 1)
79
+ </style>
@@ -1,69 +1,151 @@
1
1
  <template>
2
2
  <v-container class="fill-height">
3
- <v-responsive class="align-center text-center fill-height">
4
- <v-img height="300" src="@/assets/logo.svg" />
3
+ <v-responsive
4
+ class="align-centerfill-height mx-auto"
5
+ max-width="900"
6
+ >
7
+ <v-img
8
+ class="mb-4"
9
+ height="150"
10
+ src="@/assets/logo.png"
11
+ />
5
12
 
6
- <div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
13
+ <div class="text-center">
14
+ <div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
7
15
 
8
- <h1 class="text-h2 font-weight-bold">Vuetify</h1>
16
+ <h1 class="text-h2 font-weight-bold">Vuetify</h1>
17
+ </div>
9
18
 
10
- <div class="py-14" />
19
+ <div class="py-4" />
11
20
 
12
- <v-row class="d-flex align-center justify-center">
13
- <v-col cols="auto">
14
- <v-btn
15
- href="https://vuetifyjs.com/components/all/"
16
- min-width="164"
21
+ <v-row>
22
+ <v-col cols="12">
23
+ <v-card
24
+ class="py-4"
25
+ color="surface-variant"
26
+ image="https://cdn.vuetifyjs.com/docs/images/one/create/feature.png"
27
+ prepend-icon="mdi-rocket-launch-outline"
28
+ rounded="lg"
29
+ variant="outlined"
30
+ >
31
+ <template #image>
32
+ <v-img position="top right" />
33
+ </template>
34
+
35
+ <template #title>
36
+ <h2 class="text-h5 font-weight-bold">Get started</h2>
37
+ </template>
38
+
39
+ <template #subtitle>
40
+ <div class="text-subtitle-1">
41
+ Replace this page by removing <v-kbd>{{ `<HelloWorld />` }}</v-kbd> in <v-kbd>pages/index.vue</v-kbd>.
42
+ </div>
43
+ </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"
17
62
  rel="noopener noreferrer"
63
+ rounded="lg"
64
+ subtitle="Learn about all things Vuetify in our documentation."
18
65
  target="_blank"
66
+ title="Documentation"
19
67
  variant="text"
20
68
  >
21
- <v-icon
22
- icon="mdi-view-dashboard"
23
- size="large"
24
- start
69
+ <v-overlay
70
+ opacity=".06"
71
+ scrim="primary"
72
+ contained
73
+ model-value
74
+ persistent
25
75
  />
26
-
27
- Components
28
- </v-btn>
76
+ </v-card>
29
77
  </v-col>
30
78
 
31
- <v-col cols="auto">
32
- <v-btn
33
- color="primary"
79
+ <v-col cols="6">
80
+ <v-card
81
+ append-icon="mdi-open-in-new"
82
+ class="py-4"
83
+ color="surface-variant"
34
84
  href="https://vuetifyjs.com/introduction/why-vuetify/#feature-guides"
35
- min-width="228"
85
+ prepend-icon="mdi-star-circle-outline"
36
86
  rel="noopener noreferrer"
37
- size="x-large"
87
+ rounded="lg"
88
+ subtitle="Explore available framework Features."
38
89
  target="_blank"
39
- variant="flat"
90
+ title="Features"
91
+ variant="text"
40
92
  >
41
- <v-icon
42
- icon="mdi-speedometer"
43
- size="large"
44
- start
93
+ <v-overlay
94
+ opacity=".06"
95
+ scrim="primary"
96
+ contained
97
+ model-value
98
+ persistent
45
99
  />
46
-
47
- Get Started
48
- </v-btn>
100
+ </v-card>
49
101
  </v-col>
50
102
 
51
- <v-col cols="auto">
52
- <v-btn
53
- href="https://community.vuetifyjs.com/"
54
- min-width="164"
103
+ <v-col cols="6">
104
+ <v-card
105
+ append-icon="mdi-open-in-new"
106
+ class="py-4"
107
+ color="surface-variant"
108
+ href="https://vuetifyjs.com/components/all"
109
+ prepend-icon="mdi-widgets-outline"
55
110
  rel="noopener noreferrer"
111
+ rounded="lg"
112
+ subtitle="Discover components in the API Explorer."
56
113
  target="_blank"
114
+ title="Components"
57
115
  variant="text"
58
116
  >
59
- <v-icon
60
- icon="mdi-account-group"
61
- size="large"
62
- start
117
+ <v-overlay
118
+ opacity=".06"
119
+ scrim="primary"
120
+ contained
121
+ model-value
122
+ persistent
63
123
  />
124
+ </v-card>
125
+ </v-col>
64
126
 
65
- Community
66
- </v-btn>
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>
67
149
  </v-col>
68
150
  </v-row>
69
151
  </v-responsive>
@@ -13,5 +13,7 @@ import { createVuetify } from 'vuetify'
13
13
 
14
14
  // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
15
15
  export default createVuetify({
16
- //
16
+ theme: {
17
+ defaultTheme: 'dark',
18
+ },
17
19
  })
@@ -1,12 +1,13 @@
1
1
  <template>
2
2
  <v-app>
3
- <DefaultBar />
3
+ <v-main>
4
+ <router-view />
5
+ </v-main>
4
6
 
5
- <DefaultView />
7
+ <AppFooter />
6
8
  </v-app>
7
9
  </template>
8
10
 
9
11
  <script setup>
10
- import DefaultBar from './default/AppBar.vue'
11
- import DefaultView from './default/View.vue'
12
+ //
12
13
  </script>
@@ -6,9 +6,11 @@
6
6
 
7
7
  // Composables
8
8
  import { createRouter, createWebHistory } from 'vue-router/auto'
9
+ import { setupLayouts } from 'virtual:generated-layouts'
9
10
 
10
11
  const router = createRouter({
11
- history: createWebHistory(process.env.BASE_URL),
12
+ history: createWebHistory(import.meta.env.BASE_URL),
13
+ extendRoutes: setupLayouts,
12
14
  })
13
15
 
14
16
  export default router
@@ -8,7 +8,7 @@
8
8
  import { createRouter, createWebHistory } from 'vue-router/auto'
9
9
 
10
10
  const router = createRouter({
11
- history: createWebHistory(process.env.BASE_URL),
11
+ history: createWebHistory(import.meta.env.BASE_URL),
12
12
  })
13
13
 
14
14
  export default router
@@ -1,69 +1,151 @@
1
1
  <template>
2
2
  <v-container class="fill-height">
3
- <v-responsive class="align-center text-center fill-height">
4
- <v-img height="300" src="@/assets/logo.svg" />
3
+ <v-responsive
4
+ class="align-centerfill-height mx-auto"
5
+ max-width="900"
6
+ >
7
+ <v-img
8
+ class="mb-4"
9
+ height="150"
10
+ src="@/assets/logo.png"
11
+ />
5
12
 
6
- <div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
13
+ <div class="text-center">
14
+ <div class="text-body-2 font-weight-light mb-n1">Welcome to</div>
7
15
 
8
- <h1 class="text-h2 font-weight-bold">Vuetify</h1>
16
+ <h1 class="text-h2 font-weight-bold">Vuetify</h1>
17
+ </div>
9
18
 
10
- <div class="py-14" />
19
+ <div class="py-4" />
11
20
 
12
- <v-row class="d-flex align-center justify-center">
13
- <v-col cols="auto">
14
- <v-btn
15
- href="https://vuetifyjs.com/components/all/"
16
- min-width="164"
21
+ <v-row>
22
+ <v-col cols="12">
23
+ <v-card
24
+ class="py-4"
25
+ color="surface-variant"
26
+ image="https://cdn.vuetifyjs.com/docs/images/one/create/feature.png"
27
+ prepend-icon="mdi-rocket-launch-outline"
28
+ rounded="lg"
29
+ variant="outlined"
30
+ >
31
+ <template #image>
32
+ <v-img position="top right" />
33
+ </template>
34
+
35
+ <template #title>
36
+ <h2 class="text-h5 font-weight-bold">Get started</h2>
37
+ </template>
38
+
39
+ <template #subtitle>
40
+ <div class="text-subtitle-1">
41
+ Replace this page by removing <v-kbd>{{ `<HelloWorld />` }}</v-kbd> in <v-kbd>pages/index.vue</v-kbd>.
42
+ </div>
43
+ </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"
17
62
  rel="noopener noreferrer"
63
+ rounded="lg"
64
+ subtitle="Learn about all things Vuetify in our documentation."
18
65
  target="_blank"
66
+ title="Documentation"
19
67
  variant="text"
20
68
  >
21
- <v-icon
22
- icon="mdi-view-dashboard"
23
- size="large"
24
- start
69
+ <v-overlay
70
+ opacity=".06"
71
+ scrim="primary"
72
+ contained
73
+ model-value
74
+ persistent
25
75
  />
26
-
27
- Components
28
- </v-btn>
76
+ </v-card>
29
77
  </v-col>
30
78
 
31
- <v-col cols="auto">
32
- <v-btn
33
- color="primary"
79
+ <v-col cols="6">
80
+ <v-card
81
+ append-icon="mdi-open-in-new"
82
+ class="py-4"
83
+ color="surface-variant"
34
84
  href="https://vuetifyjs.com/introduction/why-vuetify/#feature-guides"
35
- min-width="228"
85
+ prepend-icon="mdi-star-circle-outline"
36
86
  rel="noopener noreferrer"
37
- size="x-large"
87
+ rounded="lg"
88
+ subtitle="Explore available framework Features."
38
89
  target="_blank"
39
- variant="flat"
90
+ title="Features"
91
+ variant="text"
40
92
  >
41
- <v-icon
42
- icon="mdi-speedometer"
43
- size="large"
44
- start
93
+ <v-overlay
94
+ opacity=".06"
95
+ scrim="primary"
96
+ contained
97
+ model-value
98
+ persistent
45
99
  />
46
-
47
- Get Started
48
- </v-btn>
100
+ </v-card>
49
101
  </v-col>
50
102
 
51
- <v-col cols="auto">
52
- <v-btn
53
- href="https://community.vuetifyjs.com/"
54
- min-width="164"
103
+ <v-col cols="6">
104
+ <v-card
105
+ append-icon="mdi-open-in-new"
106
+ class="py-4"
107
+ color="surface-variant"
108
+ href="https://vuetifyjs.com/components/all"
109
+ prepend-icon="mdi-widgets-outline"
55
110
  rel="noopener noreferrer"
111
+ rounded="lg"
112
+ subtitle="Discover components in the API Explorer."
56
113
  target="_blank"
114
+ title="Components"
57
115
  variant="text"
58
116
  >
59
- <v-icon
60
- icon="mdi-account-group"
61
- size="large"
62
- start
117
+ <v-overlay
118
+ opacity=".06"
119
+ scrim="primary"
120
+ contained
121
+ model-value
122
+ persistent
63
123
  />
124
+ </v-card>
125
+ </v-col>
64
126
 
65
- Community
66
- </v-btn>
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>
67
149
  </v-col>
68
150
  </v-row>
69
151
  </v-responsive>
@@ -13,5 +13,7 @@ import { createVuetify } from 'vuetify'
13
13
 
14
14
  // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides
15
15
  export default createVuetify({
16
- //
16
+ theme: {
17
+ defaultTheme: 'dark',
18
+ },
17
19
  })
@@ -0,0 +1,79 @@
1
+ <template>
2
+ <v-footer height="40" app>
3
+ <a
4
+ v-for="item in items"
5
+ :key="item.title"
6
+ :href="item.href"
7
+ :title="item.title"
8
+ class="d-inline-block mx-2 social-link"
9
+ rel="noopener noreferrer"
10
+ target="_blank"
11
+ >
12
+ <v-icon
13
+ :icon="item.icon"
14
+ :size="item.icon === '$vuetify' ? 24 : 16"
15
+ />
16
+ </a>
17
+
18
+ <div
19
+ class="text-caption text-disabled"
20
+ style="position: absolute; right: 16px;"
21
+ >
22
+ &copy; 2016-{{ (new Date()).getFullYear() }} <span class="d-none d-sm-inline-block">Vuetify, LLC</span>
23
+
24
+ <a
25
+ class="text-decoration-none on-surface"
26
+ href="https://vuetifyjs.com/about/licensing/"
27
+ rel="noopener noreferrer"
28
+ target="_blank"
29
+ >
30
+ MIT License
31
+ </a>
32
+ </div>
33
+ </v-footer>
34
+ </template>
35
+
36
+ <script setup lang="ts">
37
+ const items = [
38
+ {
39
+ title: 'Vuetify Documentation',
40
+ icon: `$vuetify`,
41
+ href: 'https://vuetifyjs.com/',
42
+ },
43
+ {
44
+ title: 'Vuetify Support',
45
+ icon: 'mdi-shield-star-outline',
46
+ href: 'https://support.vuetifyjs.com/',
47
+ },
48
+ {
49
+ title: 'Vuetify X',
50
+ icon: `svg:M2.04875 3.00002L9.77052 13.3248L1.99998 21.7192H3.74882L10.5519 14.3697L16.0486 21.7192H22L13.8437 10.8137L21.0765 3.00002H19.3277L13.0624 9.76874L8.0001 3.00002H2.04875ZM4.62054 4.28821H7.35461L19.4278 20.4308H16.6937L4.62054 4.28821Z`,
51
+ href: 'https://x.com/vuetifyjs',
52
+ },
53
+ {
54
+ title: 'Vuetify GitHub',
55
+ icon: `mdi-github`,
56
+ href: 'https://github.com/vuetifyjs/vuetify',
57
+ },
58
+ {
59
+ title: 'Vuetify Discord',
60
+ icon: `mdi-discord`,
61
+ href: 'https://community.vuetifyjs.com/',
62
+ },
63
+ {
64
+ title: 'Vuetify Reddit',
65
+ icon: `mdi-reddit`,
66
+ href: 'https://reddit.com/r/vuetifyjs',
67
+ },
68
+ ]
69
+ </script>
70
+
71
+ <style scoped lang="sass">
72
+ .social-link :deep(.v-icon)
73
+ color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity))
74
+ text-decoration: none
75
+ transition: .2s ease-in-out
76
+
77
+ &:hover
78
+ color: rgba(25, 118, 210, 1)
79
+ </style>
@@ -1,12 +1,13 @@
1
1
  <template>
2
2
  <v-app>
3
- <DefaultBar />
3
+ <v-main>
4
+ <router-view />
5
+ </v-main>
4
6
 
5
- <DefaultView />
7
+ <AppFooter />
6
8
  </v-app>
7
9
  </template>
8
10
 
9
11
  <script lang="ts" setup>
10
- import DefaultBar from './default/AppBar.vue'
11
- import DefaultView from './default/View.vue'
12
+ //
12
13
  </script>
@@ -9,7 +9,7 @@ import { createRouter, createWebHistory } from 'vue-router/auto'
9
9
  import { setupLayouts } from 'virtual:generated-layouts'
10
10
 
11
11
  const router = createRouter({
12
- history: createWebHistory(process.env.BASE_URL),
12
+ history: createWebHistory(import.meta.env.BASE_URL),
13
13
  extendRoutes: setupLayouts,
14
14
  })
15
15
 
@@ -1,13 +0,0 @@
1
- <template>
2
- <v-app-bar flat>
3
- <v-app-bar-title>
4
- <v-icon icon="mdi-circle-slice-6" />
5
-
6
- Essentials Preset
7
- </v-app-bar-title>
8
- </v-app-bar>
9
- </template>
10
-
11
- <script setup>
12
- //
13
- </script>
@@ -1,9 +0,0 @@
1
- <template>
2
- <v-main>
3
- <router-view />
4
- </v-main>
5
- </template>
6
-
7
- <script setup>
8
- //
9
- </script>
@@ -1,13 +0,0 @@
1
- <template>
2
- <v-app-bar flat>
3
- <v-app-bar-title>
4
- <v-icon icon="mdi-circle-slice-6" />
5
-
6
- Essentials Preset
7
- </v-app-bar-title>
8
- </v-app-bar>
9
- </template>
10
-
11
- <script lang="ts" setup>
12
- //
13
- </script>
@@ -1,9 +0,0 @@
1
- <template>
2
- <v-main>
3
- <router-view />
4
- </v-main>
5
- </template>
6
-
7
- <script lang="ts" setup>
8
- //
9
- </script>