@nuxtify/pages 0.1.0 → 0.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/README.md +200 -203
- package/dist/module.json +4 -4
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/EmailSubscribeForm.vue +133 -156
- package/dist/runtime/components/EmailSubscribeForm.vue.d.ts +94 -0
- package/dist/runtime/components/FooterCallToAction.vue +32 -34
- package/dist/runtime/components/FooterCallToAction.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppAnnouncementBar.vue +31 -35
- package/dist/runtime/components/app/AppAnnouncementBar.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppBar.vue +116 -120
- package/dist/runtime/components/app/AppBar.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppDialog.vue +34 -36
- package/dist/runtime/components/app/AppDialog.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppFooter.vue +136 -142
- package/dist/runtime/components/app/AppFooter.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppLoading.vue +10 -10
- package/dist/runtime/components/app/AppLoading.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppLogo.vue +26 -40
- package/dist/runtime/components/app/AppLogo.vue.d.ts +23 -0
- package/dist/runtime/components/app/AppNavigationDrawer.vue +93 -97
- package/dist/runtime/components/app/AppNavigationDrawer.vue.d.ts +2 -0
- package/dist/runtime/components/app/AppToast.vue +12 -14
- package/dist/runtime/components/app/AppToast.vue.d.ts +2 -0
- package/dist/runtime/layouts/DefaultLayout.vue +27 -29
- package/dist/runtime/layouts/DefaultLayout.vue.d.ts +12 -0
- package/dist/runtime/pages/DynamicSlug.vue +17 -19
- package/dist/runtime/pages/DynamicSlug.vue.d.ts +2 -0
- package/dist/runtime/pages/IndexPage.vue +14 -18
- package/dist/runtime/pages/IndexPage.vue.d.ts +2 -0
- package/dist/runtime/server/tsconfig.json +3 -3
- package/dist/runtime/utils/formRules.d.ts +1 -0
- package/dist/runtime/utils/formRules.js +1 -0
- package/dist/types.d.mts +2 -2
- package/package.json +65 -60
- package/dist/module.cjs +0 -5
- package/dist/module.d.ts +0 -139
- package/dist/types.d.ts +0 -7
|
@@ -1,55 +1,41 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useAppConfig, useDisplay, computed } from
|
|
3
|
-
|
|
4
|
-
// Props
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useAppConfig, useDisplay, computed } from "#imports";
|
|
5
3
|
const props = defineProps({
|
|
6
4
|
dark: {
|
|
7
5
|
type: Boolean,
|
|
8
|
-
default: false
|
|
6
|
+
default: false
|
|
9
7
|
},
|
|
10
8
|
width: {
|
|
11
9
|
type: Number,
|
|
12
|
-
default:
|
|
13
|
-
}
|
|
14
|
-
})
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const { smAndDown } = useDisplay()
|
|
19
|
-
|
|
20
|
-
// Image URL logic
|
|
21
|
-
// Set default to the light image url
|
|
22
|
-
let imageUrl = nuxtifyConfig.brand.logo.lightUrl
|
|
23
|
-
|
|
24
|
-
// If it's dark theme logo and there's a dark image url, use that
|
|
10
|
+
default: void 0
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
const nuxtifyConfig = useAppConfig().nuxtify;
|
|
14
|
+
const { smAndDown } = useDisplay();
|
|
15
|
+
let imageUrl = nuxtifyConfig.brand.logo.lightUrl;
|
|
25
16
|
if (props.dark && nuxtifyConfig.brand.logo.darkUrl) {
|
|
26
|
-
imageUrl = nuxtifyConfig.brand.logo.darkUrl
|
|
17
|
+
imageUrl = nuxtifyConfig.brand.logo.darkUrl;
|
|
27
18
|
}
|
|
28
|
-
|
|
29
|
-
// Image width logic
|
|
30
19
|
const width = computed(() => {
|
|
31
20
|
if (props.width) {
|
|
32
|
-
return props.width
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return smAndDown.value
|
|
36
|
-
? nuxtifyConfig.brand.logo.mobileWidth
|
|
37
|
-
: nuxtifyConfig.brand.logo.width
|
|
21
|
+
return props.width;
|
|
22
|
+
} else {
|
|
23
|
+
return smAndDown.value ? nuxtifyConfig.brand.logo.mobileWidth : nuxtifyConfig.brand.logo.width;
|
|
38
24
|
}
|
|
39
|
-
})
|
|
25
|
+
});
|
|
40
26
|
</script>
|
|
41
27
|
|
|
42
28
|
<template>
|
|
43
|
-
<v-img
|
|
44
|
-
v-if="imageUrl"
|
|
45
|
-
:width
|
|
46
|
-
:src="imageUrl"
|
|
47
|
-
:alt="`${nuxtifyConfig.brand.name} logo`"
|
|
48
|
-
/>
|
|
49
|
-
<span
|
|
50
|
-
v-else
|
|
51
|
-
:class="`text-subtitle-1 text-sm-h6 ${dark ? '' : 'text-primary'}`"
|
|
52
|
-
>
|
|
53
|
-
{{ nuxtifyConfig.brand.name }}
|
|
54
|
-
</span>
|
|
29
|
+
<v-img
|
|
30
|
+
v-if="imageUrl"
|
|
31
|
+
:width
|
|
32
|
+
:src="imageUrl"
|
|
33
|
+
:alt="`${nuxtifyConfig.brand.name} logo`"
|
|
34
|
+
/>
|
|
35
|
+
<span
|
|
36
|
+
v-else
|
|
37
|
+
:class="`text-subtitle-1 text-sm-h6 ${dark ? '' : 'text-primary'}`"
|
|
38
|
+
>
|
|
39
|
+
{{ nuxtifyConfig.brand.name }}
|
|
40
|
+
</span>
|
|
55
41
|
</template>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
dark: {
|
|
3
|
+
type: BooleanConstructor;
|
|
4
|
+
default: boolean;
|
|
5
|
+
};
|
|
6
|
+
width: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
default: undefined;
|
|
9
|
+
};
|
|
10
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
11
|
+
dark: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
15
|
+
width: {
|
|
16
|
+
type: NumberConstructor;
|
|
17
|
+
default: undefined;
|
|
18
|
+
};
|
|
19
|
+
}>> & Readonly<{}>, {
|
|
20
|
+
dark: boolean;
|
|
21
|
+
width: number;
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
23
|
+
export default _default;
|
|
@@ -1,101 +1,97 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useDisplay, useDrawer, useNuxtifyConfig, mdiArrowTopRight } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
// Navigation
|
|
10
|
-
const primaryNavLinks = nuxtifyConfig.navigation?.primary
|
|
11
|
-
const secondaryNavLinks = nuxtifyConfig.navigation?.secondary
|
|
12
|
-
const featuredSecondaryLink = secondaryNavLinks?.slice(0, 1)[0] // first link gets featured
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useDisplay, useDrawer, useNuxtifyConfig, mdiArrowTopRight } from "#imports";
|
|
3
|
+
const { smAndDown } = useDisplay();
|
|
4
|
+
const nuxtifyConfig = useNuxtifyConfig();
|
|
5
|
+
const drawer = useDrawer();
|
|
6
|
+
const primaryNavLinks = nuxtifyConfig.navigation?.primary;
|
|
7
|
+
const secondaryNavLinks = nuxtifyConfig.navigation?.secondary;
|
|
8
|
+
const featuredSecondaryLink = secondaryNavLinks?.slice(0, 1)[0];
|
|
13
9
|
</script>
|
|
14
10
|
|
|
15
11
|
<template>
|
|
16
|
-
<v-navigation-drawer
|
|
17
|
-
v-if="smAndDown"
|
|
18
|
-
v-model="drawer"
|
|
19
|
-
location="right"
|
|
20
|
-
>
|
|
21
|
-
<nav>
|
|
22
|
-
<v-list nav>
|
|
23
|
-
<!-- Primary links -->
|
|
24
|
-
<v-list-item
|
|
25
|
-
v-for="(link, i) in primaryNavLinks"
|
|
26
|
-
:key="i"
|
|
27
|
-
:to="link.to"
|
|
28
|
-
:href="link.href"
|
|
29
|
-
:prepend-icon="link.icon"
|
|
30
|
-
color="primary"
|
|
31
|
-
:target="link.openInNew ? '_blank' :
|
|
32
|
-
:rel="link.openInNew ? 'noopener nofollow' :
|
|
33
|
-
slim
|
|
34
|
-
exact
|
|
35
|
-
>
|
|
36
|
-
<v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
|
|
37
|
-
{{ link.text }}
|
|
38
|
-
<v-icon
|
|
39
|
-
v-if="link.openInNew"
|
|
40
|
-
:icon="mdiArrowTopRight"
|
|
41
|
-
size="x-small"
|
|
42
|
-
color="grey"
|
|
43
|
-
class="ml-1"
|
|
44
|
-
/>
|
|
45
|
-
</v-list-item-title>
|
|
46
|
-
</v-list-item>
|
|
47
|
-
|
|
48
|
-
<!-- Secondary links -->
|
|
49
|
-
<v-list-item
|
|
50
|
-
v-for="link in secondaryNavLinks?.slice(1).reverse()"
|
|
51
|
-
:key="link.text"
|
|
52
|
-
:to="link.to"
|
|
53
|
-
:href="link.href"
|
|
54
|
-
:prepend-icon="link.icon"
|
|
55
|
-
:target="link.openInNew ? '_blank' :
|
|
56
|
-
:rel="link.openInNew ? 'noopener nofollow' :
|
|
57
|
-
slim
|
|
58
|
-
exact
|
|
59
|
-
>
|
|
60
|
-
<v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
|
|
61
|
-
{{ link.text }}
|
|
62
|
-
<v-icon
|
|
63
|
-
v-if="link.openInNew"
|
|
64
|
-
:icon="mdiArrowTopRight"
|
|
65
|
-
size="x-small"
|
|
66
|
-
color="grey"
|
|
67
|
-
class="ml-1"
|
|
68
|
-
/>
|
|
69
|
-
</v-list-item-title>
|
|
70
|
-
</v-list-item>
|
|
71
|
-
</v-list>
|
|
72
|
-
</nav>
|
|
73
|
-
|
|
74
|
-
<template #append>
|
|
75
|
-
<!-- Featured secondary link -->
|
|
76
|
-
<div
|
|
77
|
-
v-if="featuredSecondaryLink?.text"
|
|
78
|
-
class="ma-2"
|
|
79
|
-
>
|
|
80
|
-
<v-btn
|
|
81
|
-
:to="featuredSecondaryLink.to"
|
|
82
|
-
:href="featuredSecondaryLink.href"
|
|
83
|
-
:prepend-icon="featuredSecondaryLink.icon"
|
|
84
|
-
variant="flat"
|
|
85
|
-
size="large"
|
|
86
|
-
:target="featuredSecondaryLink.openInNew ? '_blank' :
|
|
87
|
-
:rel="featuredSecondaryLink.openInNew ? 'noopener nofollow' :
|
|
88
|
-
block
|
|
89
|
-
>
|
|
90
|
-
{{ featuredSecondaryLink.text }}
|
|
91
|
-
<v-icon
|
|
92
|
-
v-if="featuredSecondaryLink.openInNew"
|
|
93
|
-
:icon="mdiArrowTopRight"
|
|
94
|
-
size="small"
|
|
95
|
-
class="ml-1"
|
|
96
|
-
/>
|
|
97
|
-
</v-btn>
|
|
98
|
-
</div>
|
|
99
|
-
</template>
|
|
100
|
-
</v-navigation-drawer>
|
|
12
|
+
<v-navigation-drawer
|
|
13
|
+
v-if="smAndDown"
|
|
14
|
+
v-model="drawer"
|
|
15
|
+
location="right"
|
|
16
|
+
>
|
|
17
|
+
<nav>
|
|
18
|
+
<v-list nav>
|
|
19
|
+
<!-- Primary links -->
|
|
20
|
+
<v-list-item
|
|
21
|
+
v-for="(link, i) in primaryNavLinks"
|
|
22
|
+
:key="i"
|
|
23
|
+
:to="link.to"
|
|
24
|
+
:href="link.href"
|
|
25
|
+
:prepend-icon="link.icon"
|
|
26
|
+
color="primary"
|
|
27
|
+
:target="link.openInNew ? '_blank' : void 0"
|
|
28
|
+
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
29
|
+
slim
|
|
30
|
+
exact
|
|
31
|
+
>
|
|
32
|
+
<v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
|
|
33
|
+
{{ link.text }}
|
|
34
|
+
<v-icon
|
|
35
|
+
v-if="link.openInNew"
|
|
36
|
+
:icon="mdiArrowTopRight"
|
|
37
|
+
size="x-small"
|
|
38
|
+
color="grey"
|
|
39
|
+
class="ml-1"
|
|
40
|
+
/>
|
|
41
|
+
</v-list-item-title>
|
|
42
|
+
</v-list-item>
|
|
43
|
+
|
|
44
|
+
<!-- Secondary links -->
|
|
45
|
+
<v-list-item
|
|
46
|
+
v-for="link in secondaryNavLinks?.slice(1).reverse()"
|
|
47
|
+
:key="link.text"
|
|
48
|
+
:to="link.to"
|
|
49
|
+
:href="link.href"
|
|
50
|
+
:prepend-icon="link.icon"
|
|
51
|
+
:target="link.openInNew ? '_blank' : void 0"
|
|
52
|
+
:rel="link.openInNew ? 'noopener nofollow' : void 0"
|
|
53
|
+
slim
|
|
54
|
+
exact
|
|
55
|
+
>
|
|
56
|
+
<v-list-item-title class="text-subtitle-1 font-weight-bold py-1">
|
|
57
|
+
{{ link.text }}
|
|
58
|
+
<v-icon
|
|
59
|
+
v-if="link.openInNew"
|
|
60
|
+
:icon="mdiArrowTopRight"
|
|
61
|
+
size="x-small"
|
|
62
|
+
color="grey"
|
|
63
|
+
class="ml-1"
|
|
64
|
+
/>
|
|
65
|
+
</v-list-item-title>
|
|
66
|
+
</v-list-item>
|
|
67
|
+
</v-list>
|
|
68
|
+
</nav>
|
|
69
|
+
|
|
70
|
+
<template #append>
|
|
71
|
+
<!-- Featured secondary link -->
|
|
72
|
+
<div
|
|
73
|
+
v-if="featuredSecondaryLink?.text"
|
|
74
|
+
class="ma-2"
|
|
75
|
+
>
|
|
76
|
+
<v-btn
|
|
77
|
+
:to="featuredSecondaryLink.to"
|
|
78
|
+
:href="featuredSecondaryLink.href"
|
|
79
|
+
:prepend-icon="featuredSecondaryLink.icon"
|
|
80
|
+
variant="flat"
|
|
81
|
+
size="large"
|
|
82
|
+
:target="featuredSecondaryLink.openInNew ? '_blank' : void 0"
|
|
83
|
+
:rel="featuredSecondaryLink.openInNew ? 'noopener nofollow' : void 0"
|
|
84
|
+
block
|
|
85
|
+
>
|
|
86
|
+
{{ featuredSecondaryLink.text }}
|
|
87
|
+
<v-icon
|
|
88
|
+
v-if="featuredSecondaryLink.openInNew"
|
|
89
|
+
:icon="mdiArrowTopRight"
|
|
90
|
+
size="small"
|
|
91
|
+
class="ml-1"
|
|
92
|
+
/>
|
|
93
|
+
</v-btn>
|
|
94
|
+
</div>
|
|
95
|
+
</template>
|
|
96
|
+
</v-navigation-drawer>
|
|
101
97
|
</template>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useToast } from
|
|
3
|
-
|
|
4
|
-
// App state
|
|
5
|
-
const toast = useToast()
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useToast } from "#imports";
|
|
3
|
+
const toast = useToast();
|
|
6
4
|
</script>
|
|
7
5
|
|
|
8
6
|
<template>
|
|
9
|
-
<v-snackbar
|
|
10
|
-
v-model="toast.show"
|
|
11
|
-
:timeout="
|
|
12
|
-
color="info"
|
|
13
|
-
:min-width="0"
|
|
14
|
-
close-on-content-click
|
|
15
|
-
>
|
|
16
|
-
{{ toast.message }}
|
|
17
|
-
</v-snackbar>
|
|
7
|
+
<v-snackbar
|
|
8
|
+
v-model="toast.show"
|
|
9
|
+
:timeout="5e3"
|
|
10
|
+
color="info"
|
|
11
|
+
:min-width="0"
|
|
12
|
+
close-on-content-click
|
|
13
|
+
>
|
|
14
|
+
{{ toast.message }}
|
|
15
|
+
</v-snackbar>
|
|
18
16
|
</template>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useDisplay, useNuxtifyConfig } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const nuxtifyConfig = useNuxtifyConfig()
|
|
6
|
-
const { mdAndUp } = useDisplay()
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useDisplay, useNuxtifyConfig } from "#imports";
|
|
3
|
+
const nuxtifyConfig = useNuxtifyConfig();
|
|
4
|
+
const { mdAndUp } = useDisplay();
|
|
7
5
|
</script>
|
|
8
6
|
|
|
9
7
|
<template>
|
|
10
|
-
<v-app>
|
|
11
|
-
<!-- Accessibility -->
|
|
12
|
-
<NuxtRouteAnnouncer />
|
|
13
|
-
|
|
14
|
-
<AppBar class="d-print-none" />
|
|
15
|
-
|
|
16
|
-
<AppNavigationDrawer class="d-print-none" />
|
|
17
|
-
|
|
18
|
-
<AppAnnouncementBar
|
|
19
|
-
v-if="nuxtifyConfig.announcement?.show"
|
|
20
|
-
class="d-print-none"
|
|
21
|
-
/>
|
|
22
|
-
|
|
23
|
-
<v-main :min-height="mdAndUp ? 800 : 550">
|
|
24
|
-
<slot />
|
|
25
|
-
</v-main>
|
|
26
|
-
|
|
27
|
-
<AppToast />
|
|
28
|
-
|
|
29
|
-
<v-footer class="bg-primary justify-center mt-8">
|
|
30
|
-
<AppFooter />
|
|
31
|
-
</v-footer>
|
|
32
|
-
</v-app>
|
|
8
|
+
<v-app>
|
|
9
|
+
<!-- Accessibility -->
|
|
10
|
+
<NuxtRouteAnnouncer />
|
|
11
|
+
|
|
12
|
+
<AppBar class="d-print-none" />
|
|
13
|
+
|
|
14
|
+
<AppNavigationDrawer class="d-print-none" />
|
|
15
|
+
|
|
16
|
+
<AppAnnouncementBar
|
|
17
|
+
v-if="nuxtifyConfig.announcement?.show"
|
|
18
|
+
class="d-print-none"
|
|
19
|
+
/>
|
|
20
|
+
|
|
21
|
+
<v-main :min-height="mdAndUp ? 800 : 550">
|
|
22
|
+
<slot />
|
|
23
|
+
</v-main>
|
|
24
|
+
|
|
25
|
+
<AppToast />
|
|
26
|
+
|
|
27
|
+
<v-footer class="bg-primary justify-center mt-8">
|
|
28
|
+
<AppFooter />
|
|
29
|
+
</v-footer>
|
|
30
|
+
</v-app>
|
|
33
31
|
</template>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare var __VLS_26: {};
|
|
2
|
+
type __VLS_Slots = {} & {
|
|
3
|
+
default?: (props: typeof __VLS_26) => any;
|
|
4
|
+
};
|
|
5
|
+
declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
6
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
7
|
+
export default _default;
|
|
8
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
9
|
+
new (): {
|
|
10
|
+
$slots: S;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useRoute, capitalizeFirstLetter } from
|
|
3
|
-
|
|
4
|
-
// Page info
|
|
5
|
-
const route = useRoute()
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useRoute, capitalizeFirstLetter } from "#imports";
|
|
3
|
+
const route = useRoute();
|
|
6
4
|
</script>
|
|
7
5
|
|
|
8
6
|
<template>
|
|
9
|
-
<v-container>
|
|
10
|
-
<v-row justify="center">
|
|
11
|
-
<v-col
|
|
12
|
-
cols="12"
|
|
13
|
-
sm="10"
|
|
14
|
-
lg="8"
|
|
15
|
-
xl="6"
|
|
16
|
-
>
|
|
17
|
-
<h1 class="text-h5 mt-4">
|
|
18
|
-
{{ capitalizeFirstLetter(route.params.slug
|
|
19
|
-
</h1>
|
|
20
|
-
</v-col>
|
|
21
|
-
</v-row>
|
|
22
|
-
</v-container>
|
|
7
|
+
<v-container>
|
|
8
|
+
<v-row justify="center">
|
|
9
|
+
<v-col
|
|
10
|
+
cols="12"
|
|
11
|
+
sm="10"
|
|
12
|
+
lg="8"
|
|
13
|
+
xl="6"
|
|
14
|
+
>
|
|
15
|
+
<h1 class="text-h5 mt-4">
|
|
16
|
+
{{ capitalizeFirstLetter(route.params.slug) }}
|
|
17
|
+
</h1>
|
|
18
|
+
</v-col>
|
|
19
|
+
</v-row>
|
|
20
|
+
</v-container>
|
|
23
21
|
</template>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
<script setup
|
|
2
|
-
import { useServerSeoMeta, useNuxtifyConfig } from
|
|
3
|
-
|
|
4
|
-
// Page info
|
|
1
|
+
<script setup>
|
|
2
|
+
import { useServerSeoMeta, useNuxtifyConfig } from "#imports";
|
|
5
3
|
useServerSeoMeta({
|
|
6
|
-
title:
|
|
7
|
-
description:
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
// App state
|
|
11
|
-
const nuxtifyConfig = useNuxtifyConfig()
|
|
4
|
+
title: "@nuxtify/pages",
|
|
5
|
+
description: "This is the @nuxtify/pages homepage."
|
|
6
|
+
});
|
|
7
|
+
const nuxtifyConfig = useNuxtifyConfig();
|
|
12
8
|
</script>
|
|
13
9
|
|
|
14
10
|
<template>
|
|
15
|
-
<v-container class="text-center">
|
|
16
|
-
<ClientOnly>
|
|
17
|
-
<h1>{{ nuxtifyConfig.brand?.name }} Home</h1>
|
|
18
|
-
<template #fallback>
|
|
19
|
-
<AppLoading />
|
|
20
|
-
</template>
|
|
21
|
-
</ClientOnly>
|
|
22
|
-
</v-container>
|
|
11
|
+
<v-container class="text-center">
|
|
12
|
+
<ClientOnly>
|
|
13
|
+
<h1>{{ nuxtifyConfig.brand?.name }} Home</h1>
|
|
14
|
+
<template #fallback>
|
|
15
|
+
<AppLoading />
|
|
16
|
+
</template>
|
|
17
|
+
</ClientOnly>
|
|
18
|
+
</v-container>
|
|
23
19
|
</template>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../../.nuxt/tsconfig.server.json",
|
|
3
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"extends": "../../../.nuxt/tsconfig.server.json",
|
|
3
|
+
}
|
|
@@ -10,6 +10,7 @@ export declare const formRules: {
|
|
|
10
10
|
maxLength200: (v: string) => true | "Must not be longer than 200 characters";
|
|
11
11
|
maxLength300: (v: string) => true | "Must not be longer than 300 characters";
|
|
12
12
|
maxLength600: (v: string) => true | "Must not be longer than 600 characters";
|
|
13
|
+
maxLength1200: (v: string) => true | "Must not be longer than 1200 characters";
|
|
13
14
|
isInteger: (v: string) => true | "Must be an integer";
|
|
14
15
|
gt0: (v: string) => true | "Must be greater than 0";
|
|
15
16
|
gte6: (v: string) => true | "Must be greater than or equal to 6";
|
|
@@ -13,6 +13,7 @@ export const formRules = {
|
|
|
13
13
|
maxLength200: (v) => v ? v.length <= 200 || "Must not be longer than 200 characters" : true,
|
|
14
14
|
maxLength300: (v) => v ? v.length <= 300 || "Must not be longer than 300 characters" : true,
|
|
15
15
|
maxLength600: (v) => v ? v.length <= 600 || "Must not be longer than 600 characters" : true,
|
|
16
|
+
maxLength1200: (v) => v ? v.length <= 1200 || "Must not be longer than 1200 characters" : true,
|
|
16
17
|
// Number
|
|
17
18
|
isInteger: (v) => Number.isInteger(+v) || "Must be an integer",
|
|
18
19
|
gt0: (v) => Number.parseFloat(v) > 0 || "Must be greater than 0",
|
package/dist/types.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { NuxtModule } from '@nuxt/schema'
|
|
2
2
|
|
|
3
|
-
import type { default as Module } from './module.
|
|
3
|
+
import type { default as Module } from './module.mjs'
|
|
4
4
|
|
|
5
5
|
export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
|
|
6
6
|
|
|
7
|
-
export { default } from './module.
|
|
7
|
+
export { default } from './module.mjs'
|