1
1
export default defineNuxtSchema ( {
2
2
appConfig : {
3
- /**
4
- * Stylô theme configuration.
5
- *
6
- * @studioIcon material-symbols:docs
7
- */
8
3
stylo : {
9
- /**
10
- * Website title, used as header default title and meta title.
11
- *
12
- * @studioIcon material-symbols:title
13
- */
14
- title : 'Stylô' ,
15
- /**
16
- * Header configuration.
17
- *
18
- * @studioIcon fluent:document-header-24-regular
19
- */
4
+ $schema : {
5
+ title : 'Stylô' ,
6
+ description : 'Stylô theme configuration.' ,
7
+ tags : [
8
+ '@studioIcon material-symbols:docs'
9
+ ] ,
10
+ } ,
11
+ title : {
12
+ $default : 'Stylô' ,
13
+ $schema : {
14
+ type : "string" ,
15
+ title : 'Title' ,
16
+ description : 'Website title, used as header default title and meta title.' ,
17
+ tags : [
18
+ '@studioIcon material-symbols:title' ,
19
+ '@studioInput string' ,
20
+ ] ,
21
+ } ,
22
+ } ,
20
23
header : {
21
- displayTitle : true ,
24
+ $schema : {
25
+ title : 'Header' ,
26
+ description : 'Header configuration.' ,
27
+ tags : [
28
+ '@studioIcon fluent:document-header-24-regular' ,
29
+ ] ,
30
+ } ,
31
+ displayTitle : {
32
+ $default : true ,
33
+ $schema : {
34
+ type : "boolean" ,
35
+ title : 'Display title' ,
36
+ description : 'Show or hide the title in the header.' ,
37
+ tags : [
38
+ '@studioInput boolean' ,
39
+ ] ,
40
+ } ,
41
+ } ,
22
42
logo : {
23
- src : '' ,
24
- srcDark : '' ,
25
- alt : '' ,
43
+ $schema : {
44
+ title : 'Logo' ,
45
+ description : 'Header logo configuration.' ,
46
+ tags : [
47
+ '@studioIcon material-symbols:image' ,
48
+ ] ,
49
+ } ,
50
+ src : {
51
+ $default : '' ,
52
+ $schema : {
53
+ type : 'string' ,
54
+ title : 'Logo (light)' ,
55
+ description : 'Header logo image for light mode.' ,
56
+ tags : [
57
+ '@studioIcon material-symbols:image' ,
58
+ '@studioInput media' ,
59
+ ] ,
60
+ }
61
+ } ,
62
+ srcDark : {
63
+ $default : '' ,
64
+ $schema : {
65
+ type : 'string' ,
66
+ title : 'Logo (dark)' ,
67
+ description : 'Header logo image for dark mode.' ,
68
+ tags : [
69
+ '@studioIcon material-symbols:image-outline' ,
70
+ '@studioInput media' ,
71
+ ] ,
72
+ }
73
+ } ,
74
+ alt : {
75
+ $default : '' ,
76
+ $schema : {
77
+ type : 'string' ,
78
+ title : 'Logo alt' ,
79
+ description : 'Header logo alternative text.' ,
80
+ tags : [
81
+ '@studioInput string' ,
82
+ ] ,
83
+ }
84
+ } ,
26
85
} ,
27
86
} ,
28
87
footer : {
88
+ $schema : {
89
+ title : 'Footer' ,
90
+ description : 'Footer configuration.' ,
91
+ tags : [
92
+ '@studioIcon fluent:document-footer-24-regular' ,
93
+ ] ,
94
+ } ,
29
95
action : {
30
- enabled : true ,
31
- title : 'Subscribe to our Newsletter' ,
32
- text : 'Keep up with the latest news, updates and exclusive content by subscribing to our newsletter!' ,
96
+ $schema : {
97
+ title : 'Action' ,
98
+ description : 'Footer call-to-action configuration.' ,
99
+ tags : [
100
+ '@studioIcon fluent:button-20-regular' ,
101
+ ] ,
102
+ } ,
103
+ enabled : false ,
104
+ title : '' ,
105
+ text : '' ,
33
106
link : {
34
107
href : '#' ,
35
108
text : 'Subscribe' ,
@@ -38,11 +111,57 @@ export default defineNuxtSchema({
38
111
} ,
39
112
} ,
40
113
logo : {
41
- src : '' ,
42
- srcDark : '' ,
43
- alt : '' ,
114
+ $schema : {
115
+ title : 'Logo' ,
116
+ description : 'Footer logo configuration.' ,
117
+ tags : [
118
+ '@studioIcon material-symbols:image' ,
119
+ ] ,
120
+ } ,
121
+ src : {
122
+ $default : '' ,
123
+ $schema : {
124
+ type : 'string' ,
125
+ title : 'Logo (light)' ,
126
+ description : 'Footer logo image for light mode.' ,
127
+ tags : [
128
+ '@studioIcon material-symbols:image' ,
129
+ '@studioInput media' ,
130
+ ] ,
131
+ }
132
+ } ,
133
+ srcDark : {
134
+ $default : '' ,
135
+ $schema : {
136
+ type : 'string' ,
137
+ title : 'Logo (dark)' ,
138
+ description : 'Footer logo image for dark mode.' ,
139
+ tags : [
140
+ '@studioIcon material-symbols:image-outline' ,
141
+ '@studioInput media' ,
142
+ ] ,
143
+ }
144
+ } ,
145
+ alt : {
146
+ $default : '' ,
147
+ $schema : {
148
+ type : 'string' ,
149
+ title : 'Logo alt' ,
150
+ description : 'Footer logo alternative text.' ,
151
+ tags : [
152
+ '@studioInput string' ,
153
+ ] ,
154
+ }
155
+ } ,
44
156
} ,
45
157
copyright : {
158
+ $schema : {
159
+ title : 'Copyrigth' ,
160
+ description : 'Footer copyrigth configuration.' ,
161
+ tags : [
162
+ '@studioIcon material-symbols:copyright' ,
163
+ ] ,
164
+ } ,
46
165
enabled : false ,
47
166
text : '' ,
48
167
href : '' ,
@@ -52,6 +171,11 @@ export default defineNuxtSchema({
52
171
social : {
53
172
$schema : {
54
173
type : 'array' ,
174
+ title : 'Social networks' ,
175
+ description : 'Footer social links configuration.' ,
176
+ tags : [
177
+ '@studioIcon material-symbols:share' ,
178
+ ] ,
55
179
items : {
56
180
type : 'object' ,
57
181
required : [ 'icon' , 'href' ] ,
@@ -68,6 +192,11 @@ export default defineNuxtSchema({
68
192
links : {
69
193
$schema : {
70
194
type : 'array' ,
195
+ title : 'Links' ,
196
+ description : 'Footer links configuration.' ,
197
+ tags : [
198
+ '@studioIcon material-symbols:link' ,
199
+ ] ,
71
200
items : {
72
201
type : 'object' ,
73
202
required : [ 'text' , 'href' ] ,
0 commit comments