@nuxtify/pages 0.6.0 → 0.6.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/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
ref,
|
|
9
9
|
submitFormData,
|
|
10
10
|
useDisplay,
|
|
11
|
-
useId,
|
|
12
11
|
useNuxtifyConfig
|
|
13
12
|
} from "#imports";
|
|
14
13
|
const props = defineProps({
|
|
@@ -53,7 +52,6 @@ const props = defineProps({
|
|
|
53
52
|
default: ""
|
|
54
53
|
}
|
|
55
54
|
});
|
|
56
|
-
const id = useId();
|
|
57
55
|
const nuxtifyConfig = useNuxtifyConfig();
|
|
58
56
|
const { xs } = useDisplay();
|
|
59
57
|
const form = ref();
|
|
@@ -117,76 +115,78 @@ async function handleSubmit() {
|
|
|
117
115
|
</script>
|
|
118
116
|
|
|
119
117
|
<template>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
validate-on="submit"
|
|
125
|
-
@submit.prevent="handleSubmit"
|
|
118
|
+
<v-card
|
|
119
|
+
flat
|
|
120
|
+
max-width="600"
|
|
121
|
+
width="100%"
|
|
126
122
|
>
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
123
|
+
<!-- Form -->
|
|
124
|
+
<v-form
|
|
125
|
+
v-if="!isSubmitted"
|
|
126
|
+
ref="form"
|
|
127
|
+
validate-on="submit"
|
|
128
|
+
@submit.prevent="handleSubmit"
|
|
129
|
+
>
|
|
130
|
+
<div class="d-flex flex-column flex-sm-row">
|
|
131
|
+
<v-text-field
|
|
132
|
+
v-model="formInput.email"
|
|
133
|
+
type="email"
|
|
134
|
+
variant="outlined"
|
|
135
|
+
color="secondary"
|
|
136
|
+
:placeholder="emailPlaceholder"
|
|
137
|
+
:rules="[formRules.required, formRules.validEmail]"
|
|
138
|
+
:rounded="xs ? 'lg' : '0 s-lg'"
|
|
139
|
+
hide-details="auto"
|
|
140
|
+
class="flex-grow-1 text-start"
|
|
141
|
+
>
|
|
142
|
+
<template #message="{ message }">
|
|
143
|
+
<span :class="dark ? 'text-red-lighten-3' : ''">{{ message }}</span>
|
|
144
|
+
</template>
|
|
145
|
+
</v-text-field>
|
|
146
|
+
<v-btn
|
|
147
|
+
type="submit"
|
|
148
|
+
color="secondary"
|
|
149
|
+
size="x-large"
|
|
150
|
+
class="d-flex align-center py-7 mt-2 mt-sm-0"
|
|
151
|
+
:loading
|
|
152
|
+
:rounded="rounded()"
|
|
153
|
+
:append-icon="appendButtonIcon"
|
|
154
|
+
:prepend-icon="prependButtonIcon"
|
|
155
|
+
:block="xs"
|
|
156
|
+
>
|
|
157
|
+
{{ buttonText }}
|
|
158
|
+
</v-btn>
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<!-- Supporting Text -->
|
|
162
|
+
<div
|
|
163
|
+
v-if="showPrivacy || marketingConsentText"
|
|
164
|
+
:class="`text-body-2 ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'} mt-2`"
|
|
157
165
|
>
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
166
|
+
<span v-if="marketingConsentText">
|
|
167
|
+
{{ marketingConsentText }}
|
|
168
|
+
</span>
|
|
169
|
+
<span v-if="showPrivacy">
|
|
170
|
+
By signing up you agree to the
|
|
171
|
+
<NuxtLink
|
|
172
|
+
:to="nuxtifyConfig.policies?.privacyUrl"
|
|
173
|
+
:class="`text-decoration-none ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'}`"
|
|
174
|
+
>
|
|
175
|
+
Privacy Policy</NuxtLink>.
|
|
176
|
+
</span>
|
|
177
|
+
</div>
|
|
178
|
+
</v-form>
|
|
161
179
|
|
|
162
|
-
<!--
|
|
180
|
+
<!-- Thank You -->
|
|
163
181
|
<div
|
|
164
|
-
v-
|
|
165
|
-
|
|
182
|
+
v-else
|
|
183
|
+
class="text-body-1"
|
|
166
184
|
>
|
|
167
|
-
|
|
168
|
-
{{ marketingConsentText }}
|
|
169
|
-
</span>
|
|
170
|
-
<span v-if="showPrivacy">
|
|
171
|
-
By signing up you agree to the
|
|
172
|
-
<NuxtLink
|
|
173
|
-
:to="nuxtifyConfig.policies?.privacyUrl"
|
|
174
|
-
:class="`text-decoration-none ${dark ? 'text-grey-lighten-2' : 'text-medium-emphasis'}`"
|
|
175
|
-
>
|
|
176
|
-
Privacy Policy</NuxtLink>.
|
|
177
|
-
</span>
|
|
185
|
+
{{ thankYouMessage }}
|
|
178
186
|
</div>
|
|
179
|
-
</v-
|
|
180
|
-
|
|
181
|
-
<!-- Thank You -->
|
|
182
|
-
<div
|
|
183
|
-
v-else
|
|
184
|
-
class="text-body-1"
|
|
185
|
-
>
|
|
186
|
-
{{ thankYouMessage }}
|
|
187
|
-
</div>
|
|
187
|
+
</v-card>
|
|
188
188
|
</template>
|
|
189
189
|
|
|
190
190
|
<style scoped>
|
|
191
|
-
:deep(.v-input__details){padding-inline:0}:deep(.v-text-field .v-input__details){padding-inline:0}a:hover{text-decoration:underline!important}
|
|
191
|
+
:deep(.v-input__details){padding-inline:0}:deep(.v-text-field .v-input__details){padding-inline:0}a:hover{text-decoration:underline!important;text-underline-offset:4px}
|
|
192
192
|
</style>
|
|
@@ -14,113 +14,115 @@ const brandColWidth = computed(() => {
|
|
|
14
14
|
</script>
|
|
15
15
|
|
|
16
16
|
<template>
|
|
17
|
-
<v-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
17
|
+
<v-footer class="bg-primary justify-center mt-8 mt-md-16">
|
|
18
|
+
<v-row
|
|
19
|
+
class="px-sm-1 pt-12 pb-4 mb-1"
|
|
20
|
+
style="max-width: 1280px"
|
|
21
|
+
>
|
|
22
|
+
<v-col cols="12">
|
|
23
|
+
<FooterCallToAction v-if="nuxtifyConfig.footer?.cta?.show" />
|
|
23
24
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
<v-row class="mb-2">
|
|
26
|
+
<!-- Brand -->
|
|
27
|
+
<v-col
|
|
28
|
+
cols="12"
|
|
29
|
+
:lg="brandColWidth"
|
|
30
|
+
>
|
|
31
|
+
<!-- Logo -->
|
|
32
|
+
<NuxtLink to="/">
|
|
33
|
+
<AppLogo dark />
|
|
34
|
+
</NuxtLink>
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
<!-- Tagline -->
|
|
37
|
+
<p class="mt-2 clip-text">
|
|
38
|
+
{{ nuxtifyConfig.brand?.tagline }}
|
|
39
|
+
</p>
|
|
40
|
+
</v-col>
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
<v-spacer />
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
>
|
|
53
|
-
<p class="text-body-1 font-weight-bold mb-3">
|
|
54
|
-
{{ group.title }}
|
|
55
|
-
</p>
|
|
56
|
-
<div
|
|
57
|
-
v-for="link in group.links"
|
|
58
|
-
:key="link.text"
|
|
44
|
+
<!-- Primary Links -->
|
|
45
|
+
<v-col :lg="12 - brandColWidth">
|
|
46
|
+
<v-row>
|
|
47
|
+
<v-col
|
|
48
|
+
v-for="group in footerPrimaryLinks"
|
|
49
|
+
:key="group.title"
|
|
50
|
+
cols="6"
|
|
51
|
+
md="3"
|
|
52
|
+
lg="3"
|
|
59
53
|
>
|
|
60
|
-
<
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
:
|
|
66
|
-
:target="link.openInNew ? '_blank' : void 0"
|
|
67
|
-
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
68
|
-
class="px-0"
|
|
54
|
+
<p class="opacity-60 text-body-1 mb-3">
|
|
55
|
+
{{ group.title }}
|
|
56
|
+
</p>
|
|
57
|
+
<div
|
|
58
|
+
v-for="link in group.links"
|
|
59
|
+
:key="link.text"
|
|
69
60
|
>
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
61
|
+
<v-btn
|
|
62
|
+
:to="link.to"
|
|
63
|
+
:href="link.href"
|
|
64
|
+
variant="text"
|
|
65
|
+
:active="false"
|
|
66
|
+
:ripple="false"
|
|
67
|
+
:target="link.openInNew ? '_blank' : void 0"
|
|
68
|
+
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
69
|
+
class="px-0"
|
|
70
|
+
>
|
|
71
|
+
{{ link.text }}
|
|
72
|
+
<v-icon
|
|
73
|
+
v-if="link.openInNew"
|
|
74
|
+
icon="mdi-arrow-top-right"
|
|
75
|
+
size="small"
|
|
76
|
+
color="grey"
|
|
77
|
+
class="ml-1"
|
|
78
|
+
/>
|
|
79
|
+
</v-btn>
|
|
80
|
+
</div>
|
|
81
|
+
</v-col>
|
|
82
|
+
</v-row>
|
|
83
|
+
</v-col>
|
|
84
|
+
</v-row>
|
|
84
85
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
<v-row>
|
|
87
|
+
<v-col
|
|
88
|
+
cols="12"
|
|
89
|
+
sm="9"
|
|
90
|
+
>
|
|
91
|
+
<AppCredits class="opacity-60" />
|
|
91
92
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
<v-divider
|
|
94
|
+
v-if="footerSecondaryLinks?.length"
|
|
95
|
+
class="my-4"
|
|
96
|
+
style="width: 50px"
|
|
97
|
+
/>
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
size="small"
|
|
106
|
-
:ripple="false"
|
|
107
|
-
:target="link.openInNew ? '_blank' : void 0"
|
|
108
|
-
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
109
|
-
class="text-capitalize pl-0 mb-2"
|
|
110
|
-
>
|
|
111
|
-
{{ link.text }}
|
|
112
|
-
<v-icon
|
|
113
|
-
v-if="link.openInNew"
|
|
114
|
-
icon="mdi-arrow-top-right"
|
|
99
|
+
<!-- Secondary Links -->
|
|
100
|
+
<v-btn
|
|
101
|
+
v-for="link in footerSecondaryLinks"
|
|
102
|
+
:key="link.text"
|
|
103
|
+
:to="link.to"
|
|
104
|
+
:href="link.href"
|
|
105
|
+
variant="plain"
|
|
115
106
|
size="small"
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
107
|
+
:ripple="false"
|
|
108
|
+
:target="link.openInNew ? '_blank' : void 0"
|
|
109
|
+
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
110
|
+
class="text-capitalize pl-0 mb-2"
|
|
111
|
+
>
|
|
112
|
+
{{ link.text }}
|
|
113
|
+
<v-icon
|
|
114
|
+
v-if="link.openInNew"
|
|
115
|
+
icon="mdi-arrow-top-right"
|
|
116
|
+
size="small"
|
|
117
|
+
color="grey"
|
|
118
|
+
class="ml-1"
|
|
119
|
+
/>
|
|
120
|
+
</v-btn>
|
|
121
|
+
</v-col>
|
|
122
|
+
</v-row>
|
|
123
|
+
</v-col>
|
|
124
|
+
</v-row>
|
|
125
|
+
</v-footer>
|
|
124
126
|
</template>
|
|
125
127
|
|
|
126
128
|
<style scoped>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxtify/pages",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Nuxtify pages module powered by Nuxt and Vuetify.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://nuxtify.dev",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"test:types": "vue-tsc --noEmit && cd playground && vue-tsc --noEmit"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@nuxtify/core": "^0.4.
|
|
47
|
+
"@nuxtify/core": "^0.4.1",
|
|
48
48
|
"defu": "^6.1.4"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|