-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
144 lines (134 loc) · 2.33 KB
/
types.ts
File metadata and controls
144 lines (134 loc) · 2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
interface Link {
text: string
to?: string
href?: string
icon?: string
openInNew?: boolean
}
interface TitledLinks {
title: string
links: Link[]
}
interface BrandOptions {
/**
* The name of the brand.
*
* @default "@nuxtify/core"
*/
name?: string
/**
* The domain of the brand.
*
* @default ""
*/
domain?: string
/**
* The tagline of the brand.
*
* @default ""
*/
tagline?: string
/**
* The logo of the brand.
*/
logo?: {
/**
* The URL of the light logo. Recommended 5:1 aspect ratio (e.g. 400 x 80 px).
*
* @default ""
*/
lightUrl?: string
/**
* The URL of the dark logo. Recommended 5:1 aspect ratio (e.g. 400 x 80 px).
*
* @default ""
*/
darkUrl?: string
/**
* The width of the logo.
*
* @default 200
*/
width?: number
/**
* The width of the logo on mobile.
*
* @default 160
*/
mobileWidth?: number
/**
* The height of the logo.
*
* @default 50
*/
height?: number
/**
* The height of the logo on mobile.
*
* @default 40
*/
mobileHeight?: number
/**
* The format of the logo.
*
* @default "webp"
*/
format?: 'webp' | 'avif' | 'jpeg' | 'jpg' | 'png' | 'gif' | 'svg'
}
}
interface PoliciesOptions {
privacyUrl: string
termsUrl: string
}
export interface ModuleOptions {
/**
* Verbose logging
*/
verboseLogs?: boolean
/**
* Brand options
*/
brand?: BrandOptions
/**
* Policies options
*/
policies?: PoliciesOptions
/**
* Announcement options
*/
announcement?: {
show?: boolean
message?: string
buttonText?: string
buttonUrl?: string
exclude?: string[]
}
/**
* Navigation options
*/
navigation?: {
primary?: Link[]
secondary?: Link[]
altPrimary?: TitledLinks[]
altSecondary?: Link[]
}
/**
* Credits options
*/
credits?: {
creator?: {
name?: string
domain?: string
}
prependText?: string
appendText?: string
showPoweredBy?: boolean
}
/**
* Email options
*/
email?: {
general?: string
support?: string
}
}