storyloco 1.9.2 → 1.9.3
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
|
* AUTO-GENERATED FILE. DO NOT EDIT.
|
|
3
|
-
* Generated by vite-storyblok-schema plugin on 2025-08-
|
|
3
|
+
* Generated by vite-storyblok-schema plugin on 2025-08-26T10:23:02.498Z.
|
|
4
4
|
* Any changes will be overwritten.
|
|
5
5
|
*/
|
|
6
6
|
import type { StoryblokCustomPlugins } from "../../vite.config.js";
|
|
@@ -8,16 +8,16 @@ import type { SbBlokData } from "@storyblok/svelte";
|
|
|
8
8
|
export type Blok<T> = SbBlokData & T;
|
|
9
9
|
import type { ISbStoryData } from "@storyblok/js";
|
|
10
10
|
export interface Acc {
|
|
11
|
-
component
|
|
12
|
-
_uid
|
|
11
|
+
component?: "acc";
|
|
12
|
+
_uid?: string;
|
|
13
13
|
}
|
|
14
14
|
export interface Accord {
|
|
15
15
|
title?: string;
|
|
16
16
|
body?: StoryblokRichtext;
|
|
17
17
|
images?: StoryblokMultiasset;
|
|
18
18
|
embed?: string;
|
|
19
|
-
component
|
|
20
|
-
_uid
|
|
19
|
+
component?: "accord";
|
|
20
|
+
_uid?: string;
|
|
21
21
|
}
|
|
22
22
|
export interface Accordion {
|
|
23
23
|
split?: boolean;
|
|
@@ -30,8 +30,8 @@ export interface Accordion {
|
|
|
30
30
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
31
31
|
body?: StoryblokRichtext;
|
|
32
32
|
items?: Accord[];
|
|
33
|
-
component
|
|
34
|
-
_uid
|
|
33
|
+
component?: "accordion";
|
|
34
|
+
_uid?: string;
|
|
35
35
|
}
|
|
36
36
|
export interface Actions {
|
|
37
37
|
alt?: boolean;
|
|
@@ -46,37 +46,37 @@ export interface Actions {
|
|
|
46
46
|
subtitle?: StoryblokRichtext;
|
|
47
47
|
items?: Link[];
|
|
48
48
|
image?: StoryblokAsset;
|
|
49
|
-
component
|
|
50
|
-
_uid
|
|
49
|
+
component?: "actions";
|
|
50
|
+
_uid?: string;
|
|
51
51
|
}
|
|
52
52
|
export interface Alumni {
|
|
53
53
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
54
54
|
photo?: StoryblokAsset;
|
|
55
55
|
body?: StoryblokRichtext;
|
|
56
|
-
component
|
|
57
|
-
_uid
|
|
56
|
+
component?: "alumni";
|
|
57
|
+
_uid?: string;
|
|
58
58
|
}
|
|
59
59
|
export interface BLOCK {
|
|
60
60
|
anchor?: string;
|
|
61
61
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
62
62
|
padding_top?: number | string;
|
|
63
63
|
padding_bottom?: number | string;
|
|
64
|
-
component
|
|
65
|
-
_uid
|
|
64
|
+
component?: "__ BLOCK ___";
|
|
65
|
+
_uid?: string;
|
|
66
66
|
}
|
|
67
67
|
export interface Blog {
|
|
68
68
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
69
69
|
image?: StoryblokAsset;
|
|
70
70
|
content?: (ImageCarousel | RichText)[];
|
|
71
71
|
school?: (number | string)[];
|
|
72
|
-
component
|
|
73
|
-
_uid
|
|
72
|
+
component?: "blog";
|
|
73
|
+
_uid?: string;
|
|
74
74
|
}
|
|
75
75
|
export interface Button {
|
|
76
76
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
77
77
|
outline?: boolean;
|
|
78
|
-
component
|
|
79
|
-
_uid
|
|
78
|
+
component?: "button";
|
|
79
|
+
_uid?: string;
|
|
80
80
|
}
|
|
81
81
|
export interface Card {
|
|
82
82
|
image?: StoryblokAsset;
|
|
@@ -88,15 +88,15 @@ export interface Card {
|
|
|
88
88
|
shape?: "" | "5_6-01" | "5_6-02" | "6_5-06" | "5_6-03" | "5_6-04";
|
|
89
89
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
90
90
|
marker?: boolean;
|
|
91
|
-
component
|
|
92
|
-
_uid
|
|
91
|
+
component?: "card";
|
|
92
|
+
_uid?: string;
|
|
93
93
|
}
|
|
94
94
|
export interface Cardgroup {
|
|
95
95
|
title?: string;
|
|
96
96
|
subtitle?: string;
|
|
97
97
|
items?: Card[];
|
|
98
|
-
component
|
|
99
|
-
_uid
|
|
98
|
+
component?: "cardgroup";
|
|
99
|
+
_uid?: string;
|
|
100
100
|
}
|
|
101
101
|
export interface CardLite {
|
|
102
102
|
populate?: ISbStoryData<Member> | ISbStoryData<Alumni> | string;
|
|
@@ -111,8 +111,8 @@ export interface CardLite {
|
|
|
111
111
|
modal_image?: StoryblokAsset;
|
|
112
112
|
modal_quote?: string;
|
|
113
113
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
114
|
-
component
|
|
115
|
-
_uid
|
|
114
|
+
component?: "card_lite";
|
|
115
|
+
_uid?: string;
|
|
116
116
|
}
|
|
117
117
|
export interface Cardousel {
|
|
118
118
|
anchor?: string;
|
|
@@ -120,8 +120,8 @@ export interface Cardousel {
|
|
|
120
120
|
items?: Card[];
|
|
121
121
|
padding_top?: number | string;
|
|
122
122
|
padding_bottom?: number | string;
|
|
123
|
-
component
|
|
124
|
-
_uid
|
|
123
|
+
component?: "cardousel";
|
|
124
|
+
_uid?: string;
|
|
125
125
|
}
|
|
126
126
|
export interface Cards {
|
|
127
127
|
title?: string;
|
|
@@ -131,8 +131,8 @@ export interface Cards {
|
|
|
131
131
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
132
132
|
padding_top?: number | string;
|
|
133
133
|
padding_bottom?: number | string;
|
|
134
|
-
component
|
|
135
|
-
_uid
|
|
134
|
+
component?: "cards";
|
|
135
|
+
_uid?: string;
|
|
136
136
|
}
|
|
137
137
|
export interface Centerpiece {
|
|
138
138
|
anchor?: string;
|
|
@@ -141,8 +141,8 @@ export interface Centerpiece {
|
|
|
141
141
|
padding_bottom?: number | string;
|
|
142
142
|
title?: string;
|
|
143
143
|
body?: StoryblokRichtext;
|
|
144
|
-
component
|
|
145
|
-
_uid
|
|
144
|
+
component?: "centerpiece";
|
|
145
|
+
_uid?: string;
|
|
146
146
|
}
|
|
147
147
|
export interface Collagousel {
|
|
148
148
|
anchor?: string;
|
|
@@ -152,24 +152,24 @@ export interface Collagousel {
|
|
|
152
152
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
153
153
|
body?: StoryblokRichtext;
|
|
154
154
|
images?: StoryblokMultiasset;
|
|
155
|
-
component
|
|
156
|
-
_uid
|
|
155
|
+
component?: "collagousel";
|
|
156
|
+
_uid?: string;
|
|
157
157
|
}
|
|
158
158
|
export interface Divider {
|
|
159
159
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
160
160
|
padding_top?: number | string;
|
|
161
161
|
padding_bottom?: number | string;
|
|
162
|
-
component
|
|
163
|
-
_uid
|
|
162
|
+
component?: "divider";
|
|
163
|
+
_uid?: string;
|
|
164
164
|
}
|
|
165
165
|
export interface Embed {
|
|
166
166
|
code?: string;
|
|
167
|
-
component
|
|
168
|
-
_uid
|
|
167
|
+
component?: "embed";
|
|
168
|
+
_uid?: string;
|
|
169
169
|
}
|
|
170
170
|
export interface Enquire {
|
|
171
|
-
component
|
|
172
|
-
_uid
|
|
171
|
+
component?: "enquire";
|
|
172
|
+
_uid?: string;
|
|
173
173
|
}
|
|
174
174
|
export interface Event {
|
|
175
175
|
override_terms?: StoryblokRichtext;
|
|
@@ -179,8 +179,8 @@ export interface Event {
|
|
|
179
179
|
override_description?: StoryblokRichtext;
|
|
180
180
|
override_image?: StoryblokAsset;
|
|
181
181
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
182
|
-
component
|
|
183
|
-
_uid
|
|
182
|
+
component?: "event";
|
|
183
|
+
_uid?: string;
|
|
184
184
|
}
|
|
185
185
|
export interface Float {
|
|
186
186
|
anchor?: string;
|
|
@@ -188,8 +188,8 @@ export interface Float {
|
|
|
188
188
|
padding_top?: number | string;
|
|
189
189
|
padding_bottom?: number | string;
|
|
190
190
|
images?: StoryblokMultiasset;
|
|
191
|
-
component
|
|
192
|
-
_uid
|
|
191
|
+
component?: "float";
|
|
192
|
+
_uid?: string;
|
|
193
193
|
}
|
|
194
194
|
export interface Frame {
|
|
195
195
|
anchor?: string;
|
|
@@ -201,17 +201,17 @@ export interface Frame {
|
|
|
201
201
|
} | {
|
|
202
202
|
linktype?: "asset";
|
|
203
203
|
}>;
|
|
204
|
-
component
|
|
205
|
-
_uid
|
|
204
|
+
component?: "frame";
|
|
205
|
+
_uid?: string;
|
|
206
206
|
}
|
|
207
207
|
export interface Gallery {
|
|
208
208
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
209
209
|
image?: StoryblokAsset;
|
|
210
210
|
body?: StoryblokRichtext;
|
|
211
|
-
images
|
|
211
|
+
images?: StoryblokMultiasset;
|
|
212
212
|
school?: (number | string)[];
|
|
213
|
-
component
|
|
214
|
-
_uid
|
|
213
|
+
component?: "gallery";
|
|
214
|
+
_uid?: string;
|
|
215
215
|
}
|
|
216
216
|
export interface Header {
|
|
217
217
|
anchor?: string;
|
|
@@ -219,8 +219,8 @@ export interface Header {
|
|
|
219
219
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
220
220
|
trail?: boolean;
|
|
221
221
|
accent?: "" | "true";
|
|
222
|
-
component
|
|
223
|
-
_uid
|
|
222
|
+
component?: "header";
|
|
223
|
+
_uid?: string;
|
|
224
224
|
}
|
|
225
225
|
export interface Heading {
|
|
226
226
|
anchor?: string;
|
|
@@ -230,8 +230,8 @@ export interface Heading {
|
|
|
230
230
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
231
231
|
body?: StoryblokRichtext;
|
|
232
232
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
233
|
-
component
|
|
234
|
-
_uid
|
|
233
|
+
component?: "heading";
|
|
234
|
+
_uid?: string;
|
|
235
235
|
}
|
|
236
236
|
export interface Hero {
|
|
237
237
|
accent?: boolean;
|
|
@@ -244,13 +244,13 @@ export interface Hero {
|
|
|
244
244
|
padding_bottom?: number | string;
|
|
245
245
|
video?: StoryblokCustomPlugins["mux-field"];
|
|
246
246
|
image?: StoryblokAsset;
|
|
247
|
-
component
|
|
248
|
-
_uid
|
|
247
|
+
component?: "hero";
|
|
248
|
+
_uid?: string;
|
|
249
249
|
}
|
|
250
250
|
export interface ImageCarousel {
|
|
251
|
-
assets
|
|
252
|
-
component
|
|
253
|
-
_uid
|
|
251
|
+
assets?: StoryblokMultiasset;
|
|
252
|
+
component?: "image_carousel";
|
|
253
|
+
_uid?: string;
|
|
254
254
|
}
|
|
255
255
|
export interface Infousel {
|
|
256
256
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
@@ -262,8 +262,8 @@ export interface Infousel {
|
|
|
262
262
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
263
263
|
padding_top?: number | string;
|
|
264
264
|
padding_bottom?: number | string;
|
|
265
|
-
component
|
|
266
|
-
_uid
|
|
265
|
+
component?: "infousel";
|
|
266
|
+
_uid?: string;
|
|
267
267
|
}
|
|
268
268
|
export interface Intro {
|
|
269
269
|
titlesize?: "" | "large" | "medium" | "small";
|
|
@@ -277,8 +277,8 @@ export interface Intro {
|
|
|
277
277
|
image?: StoryblokAsset;
|
|
278
278
|
body?: StoryblokRichtext;
|
|
279
279
|
action?: StoryblokCustomPlugins["loco-link-field"];
|
|
280
|
-
component
|
|
281
|
-
_uid
|
|
280
|
+
component?: "intro";
|
|
281
|
+
_uid?: string;
|
|
282
282
|
}
|
|
283
283
|
export interface Kickousel {
|
|
284
284
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
@@ -287,8 +287,8 @@ export interface Kickousel {
|
|
|
287
287
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
288
288
|
padding_top?: number | string;
|
|
289
289
|
padding_bottom?: number | string;
|
|
290
|
-
component
|
|
291
|
-
_uid
|
|
290
|
+
component?: "kickousel";
|
|
291
|
+
_uid?: string;
|
|
292
292
|
}
|
|
293
293
|
export interface Latest {
|
|
294
294
|
anchor?: string;
|
|
@@ -300,8 +300,8 @@ export interface Latest {
|
|
|
300
300
|
title?: string;
|
|
301
301
|
subtitle?: string;
|
|
302
302
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
303
|
-
component
|
|
304
|
-
_uid
|
|
303
|
+
component?: "latest";
|
|
304
|
+
_uid?: string;
|
|
305
305
|
}
|
|
306
306
|
export interface Layout {
|
|
307
307
|
foot_title?: string;
|
|
@@ -320,15 +320,15 @@ export interface Layout {
|
|
|
320
320
|
shortcuts?: Link[];
|
|
321
321
|
pattern?: StoryblokAsset;
|
|
322
322
|
illustration?: StoryblokAsset;
|
|
323
|
-
component
|
|
324
|
-
_uid
|
|
323
|
+
component?: "layout";
|
|
324
|
+
_uid?: string;
|
|
325
325
|
}
|
|
326
326
|
export interface Link {
|
|
327
327
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
328
328
|
subtitle?: string;
|
|
329
329
|
download?: boolean;
|
|
330
|
-
component
|
|
331
|
-
_uid
|
|
330
|
+
component?: "link";
|
|
331
|
+
_uid?: string;
|
|
332
332
|
}
|
|
333
333
|
export interface Linklist {
|
|
334
334
|
plain?: boolean;
|
|
@@ -340,15 +340,15 @@ export interface Linklist {
|
|
|
340
340
|
title?: string;
|
|
341
341
|
body?: StoryblokRichtext;
|
|
342
342
|
items?: Link[];
|
|
343
|
-
component
|
|
344
|
-
_uid
|
|
343
|
+
component?: "linklist";
|
|
344
|
+
_uid?: string;
|
|
345
345
|
}
|
|
346
346
|
export interface Links {
|
|
347
347
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
348
348
|
items?: Link[];
|
|
349
349
|
gap?: boolean;
|
|
350
|
-
component
|
|
351
|
-
_uid
|
|
350
|
+
component?: "links";
|
|
351
|
+
_uid?: string;
|
|
352
352
|
}
|
|
353
353
|
export interface Linktiles {
|
|
354
354
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
@@ -358,20 +358,20 @@ export interface Linktiles {
|
|
|
358
358
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
359
359
|
padding_top?: number | string;
|
|
360
360
|
padding_bottom?: number | string;
|
|
361
|
-
component
|
|
362
|
-
_uid
|
|
361
|
+
component?: "linktiles";
|
|
362
|
+
_uid?: string;
|
|
363
363
|
}
|
|
364
364
|
export interface Member {
|
|
365
|
-
title
|
|
366
|
-
photo
|
|
367
|
-
education
|
|
365
|
+
title?: string;
|
|
366
|
+
photo?: StoryblokAsset;
|
|
367
|
+
education?: StoryblokRichtext;
|
|
368
368
|
quote?: string;
|
|
369
369
|
interview1?: StoryblokRichtext;
|
|
370
370
|
image?: StoryblokAsset;
|
|
371
371
|
passions?: Passion[];
|
|
372
372
|
interview2?: StoryblokRichtext;
|
|
373
|
-
component
|
|
374
|
-
_uid
|
|
373
|
+
component?: "member";
|
|
374
|
+
_uid?: string;
|
|
375
375
|
}
|
|
376
376
|
export interface Navblock {
|
|
377
377
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
@@ -385,31 +385,31 @@ export interface Navblock {
|
|
|
385
385
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
386
386
|
padding_top?: number | string;
|
|
387
387
|
padding_bottom?: number | string;
|
|
388
|
-
component
|
|
389
|
-
_uid
|
|
388
|
+
component?: "navblock";
|
|
389
|
+
_uid?: string;
|
|
390
390
|
}
|
|
391
391
|
export interface News {
|
|
392
392
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
393
393
|
image?: StoryblokAsset;
|
|
394
394
|
content?: (ImageCarousel | RichText)[];
|
|
395
395
|
school?: (number | string)[];
|
|
396
|
-
component
|
|
397
|
-
_uid
|
|
396
|
+
component?: "news";
|
|
397
|
+
_uid?: string;
|
|
398
398
|
}
|
|
399
399
|
export interface Page {
|
|
400
400
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
401
401
|
show_discover_block?: boolean;
|
|
402
402
|
blocks?: (Accordion | Actions | BLOCK | Cardousel | Cards | Centerpiece | Collagousel | Divider | Float | Frame | Header | Heading | Hero | Infousel | Intro | Kickousel | Latest | Linklist | Linktiles | Navblock | Photousel | Postdex | Questions | Quoteo | Quotes | Sideaccord | Sidekick | Staff | Table | Tabs | Timeline | Vacancies | Vertabs | Vertcards)[];
|
|
403
|
-
component
|
|
404
|
-
_uid
|
|
403
|
+
component?: "page";
|
|
404
|
+
_uid?: string;
|
|
405
405
|
}
|
|
406
406
|
export interface Passion {
|
|
407
407
|
suptitle?: string;
|
|
408
408
|
title?: string;
|
|
409
409
|
image?: StoryblokAsset;
|
|
410
410
|
shape?: number | string;
|
|
411
|
-
component
|
|
412
|
-
_uid
|
|
411
|
+
component?: "passion";
|
|
412
|
+
_uid?: string;
|
|
413
413
|
}
|
|
414
414
|
export interface Photousel {
|
|
415
415
|
anchor?: string;
|
|
@@ -417,33 +417,33 @@ export interface Photousel {
|
|
|
417
417
|
padding_top?: number | string;
|
|
418
418
|
padding_bottom?: number | string;
|
|
419
419
|
items?: StoryblokMultiasset;
|
|
420
|
-
component
|
|
421
|
-
_uid
|
|
420
|
+
component?: "photousel";
|
|
421
|
+
_uid?: string;
|
|
422
422
|
}
|
|
423
423
|
export interface Postdex {
|
|
424
424
|
anchor?: string;
|
|
425
425
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
426
426
|
padding_top?: number | string;
|
|
427
427
|
padding_bottom?: number | string;
|
|
428
|
-
type
|
|
429
|
-
component
|
|
430
|
-
_uid
|
|
428
|
+
type?: "" | "news" | "thoughts" | "events";
|
|
429
|
+
component?: "postdex";
|
|
430
|
+
_uid?: string;
|
|
431
431
|
}
|
|
432
432
|
export interface Question {
|
|
433
|
-
question
|
|
434
|
-
answer
|
|
435
|
-
component
|
|
436
|
-
_uid
|
|
433
|
+
question?: string;
|
|
434
|
+
answer?: StoryblokRichtext;
|
|
435
|
+
component?: "question";
|
|
436
|
+
_uid?: string;
|
|
437
437
|
}
|
|
438
438
|
export interface Questions {
|
|
439
|
-
items
|
|
439
|
+
items?: Question[];
|
|
440
440
|
anchor?: string;
|
|
441
441
|
image?: StoryblokAsset;
|
|
442
442
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
443
443
|
padding_top?: number | string;
|
|
444
444
|
padding_bottom?: number | string;
|
|
445
|
-
component
|
|
446
|
-
_uid
|
|
445
|
+
component?: "questions";
|
|
446
|
+
_uid?: string;
|
|
447
447
|
}
|
|
448
448
|
export interface Quote {
|
|
449
449
|
super?: boolean;
|
|
@@ -457,8 +457,8 @@ export interface Quote {
|
|
|
457
457
|
avatar?: StoryblokAsset;
|
|
458
458
|
image?: StoryblokAsset;
|
|
459
459
|
link?: StoryblokCustomPlugins["loco-link-field"];
|
|
460
|
-
component
|
|
461
|
-
_uid
|
|
460
|
+
component?: "quote";
|
|
461
|
+
_uid?: string;
|
|
462
462
|
}
|
|
463
463
|
export interface Quoteo {
|
|
464
464
|
video?: StoryblokCustomPlugins["mux-field"];
|
|
@@ -469,8 +469,8 @@ export interface Quoteo {
|
|
|
469
469
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
470
470
|
padding_top?: number | string;
|
|
471
471
|
padding_bottom?: number | string;
|
|
472
|
-
component
|
|
473
|
-
_uid
|
|
472
|
+
component?: "quoteo";
|
|
473
|
+
_uid?: string;
|
|
474
474
|
}
|
|
475
475
|
export interface Quotes {
|
|
476
476
|
vertical?: boolean;
|
|
@@ -478,13 +478,13 @@ export interface Quotes {
|
|
|
478
478
|
anchor?: string;
|
|
479
479
|
padding_top?: number | string;
|
|
480
480
|
padding_bottom?: number | string;
|
|
481
|
-
component
|
|
482
|
-
_uid
|
|
481
|
+
component?: "quotes";
|
|
482
|
+
_uid?: string;
|
|
483
483
|
}
|
|
484
484
|
export interface RichText {
|
|
485
|
-
content
|
|
486
|
-
component
|
|
487
|
-
_uid
|
|
485
|
+
content?: StoryblokRichtext;
|
|
486
|
+
component?: "rich_text";
|
|
487
|
+
_uid?: string;
|
|
488
488
|
}
|
|
489
489
|
export interface Sideaccord {
|
|
490
490
|
image?: StoryblokAsset;
|
|
@@ -495,8 +495,8 @@ export interface Sideaccord {
|
|
|
495
495
|
padding_top?: number | string;
|
|
496
496
|
padding_bottom?: number | string;
|
|
497
497
|
body?: StoryblokRichtext;
|
|
498
|
-
component
|
|
499
|
-
_uid
|
|
498
|
+
component?: "sideaccord";
|
|
499
|
+
_uid?: string;
|
|
500
500
|
}
|
|
501
501
|
export interface Sidekick {
|
|
502
502
|
split?: "" | "6" | "7" | "8";
|
|
@@ -519,14 +519,14 @@ export interface Sidekick {
|
|
|
519
519
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
520
520
|
subtitle?: StoryblokCustomPlugins["heading-field"];
|
|
521
521
|
body?: StoryblokRichtext;
|
|
522
|
-
component
|
|
523
|
-
_uid
|
|
522
|
+
component?: "sidekick";
|
|
523
|
+
_uid?: string;
|
|
524
524
|
}
|
|
525
525
|
export interface SocialMedia {
|
|
526
|
-
platform
|
|
527
|
-
link
|
|
528
|
-
component
|
|
529
|
-
_uid
|
|
526
|
+
platform?: "" | "facebook" | "instagram" | "linkedin" | "whatsapp";
|
|
527
|
+
link?: string;
|
|
528
|
+
component?: "social_media";
|
|
529
|
+
_uid?: string;
|
|
530
530
|
}
|
|
531
531
|
export interface Staff {
|
|
532
532
|
perpage?: string;
|
|
@@ -534,8 +534,8 @@ export interface Staff {
|
|
|
534
534
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
535
535
|
padding_top?: number | string;
|
|
536
536
|
padding_bottom?: number | string;
|
|
537
|
-
component
|
|
538
|
-
_uid
|
|
537
|
+
component?: "staff";
|
|
538
|
+
_uid?: string;
|
|
539
539
|
}
|
|
540
540
|
export interface Subject {
|
|
541
541
|
image?: StoryblokAsset;
|
|
@@ -545,8 +545,8 @@ export interface Subject {
|
|
|
545
545
|
faculty_title?: string;
|
|
546
546
|
faculty_body?: StoryblokRichtext;
|
|
547
547
|
faculty_gallery?: StoryblokMultiasset;
|
|
548
|
-
component
|
|
549
|
-
_uid
|
|
548
|
+
component?: "subject";
|
|
549
|
+
_uid?: string;
|
|
550
550
|
}
|
|
551
551
|
export interface Tab {
|
|
552
552
|
image?: StoryblokAsset;
|
|
@@ -555,22 +555,22 @@ export interface Tab {
|
|
|
555
555
|
body?: StoryblokRichtext;
|
|
556
556
|
action?: StoryblokCustomPlugins["loco-link-field"];
|
|
557
557
|
shape?: number | string;
|
|
558
|
-
component
|
|
559
|
-
_uid
|
|
558
|
+
component?: "tab";
|
|
559
|
+
_uid?: string;
|
|
560
560
|
}
|
|
561
561
|
export interface Tabaccord {
|
|
562
562
|
title?: string;
|
|
563
563
|
body?: StoryblokRichtext;
|
|
564
564
|
blocks?: (Hero | Photousel | Accordion)[];
|
|
565
565
|
staff?: Card[];
|
|
566
|
-
component
|
|
567
|
-
_uid
|
|
566
|
+
component?: "tabaccord";
|
|
567
|
+
_uid?: string;
|
|
568
568
|
}
|
|
569
569
|
export interface Tabgroup {
|
|
570
570
|
title?: string;
|
|
571
571
|
blocks?: (Accordion | Actions | BLOCK | Cardousel | Cards | Centerpiece | Collagousel | Divider | Float | Frame | Header | Heading | Hero | Infousel | Intro | Kickousel | Latest | Linklist | Linktiles | Navblock | Photousel | Postdex | Questions | Quoteo | Quotes | Sideaccord | Sidekick | Staff | Table | Tabs | Timeline | Vacancies | Vertabs | Vertcards)[];
|
|
572
|
-
component
|
|
573
|
-
_uid
|
|
572
|
+
component?: "tabgroup";
|
|
573
|
+
_uid?: string;
|
|
574
574
|
}
|
|
575
575
|
export interface Table {
|
|
576
576
|
header?: boolean;
|
|
@@ -580,8 +580,8 @@ export interface Table {
|
|
|
580
580
|
padding_top?: number | string;
|
|
581
581
|
padding_bottom?: number | string;
|
|
582
582
|
cells?: StoryblokTable;
|
|
583
|
-
component
|
|
584
|
-
_uid
|
|
583
|
+
component?: "table";
|
|
584
|
+
_uid?: string;
|
|
585
585
|
}
|
|
586
586
|
export interface Tabs {
|
|
587
587
|
tabs?: Tabgroup[];
|
|
@@ -590,8 +590,8 @@ export interface Tabs {
|
|
|
590
590
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
591
591
|
padding_top?: number | string;
|
|
592
592
|
padding_bottom?: number | string;
|
|
593
|
-
component
|
|
594
|
-
_uid
|
|
593
|
+
component?: "tabs";
|
|
594
|
+
_uid?: string;
|
|
595
595
|
}
|
|
596
596
|
export interface Timeline {
|
|
597
597
|
anchor?: string;
|
|
@@ -600,16 +600,16 @@ export interface Timeline {
|
|
|
600
600
|
padding_bottom?: number | string;
|
|
601
601
|
title?: StoryblokCustomPlugins["heading-field"];
|
|
602
602
|
items?: Card[];
|
|
603
|
-
component
|
|
604
|
-
_uid
|
|
603
|
+
component?: "timeline";
|
|
604
|
+
_uid?: string;
|
|
605
605
|
}
|
|
606
606
|
export interface Vacancies {
|
|
607
607
|
anchor?: string;
|
|
608
608
|
theme?: StoryblokCustomPlugins["theme-field"];
|
|
609
609
|
padding_top?: number | string;
|
|
610
610
|
padding_bottom?: number | string;
|
|
611
|
-
component
|
|
612
|
-
_uid
|
|
611
|
+
component?: "vacancies";
|
|
612
|
+
_uid?: string;
|
|
613
613
|
}
|
|
614
614
|
export interface Vertabs {
|
|
615
615
|
anchor?: string;
|
|
@@ -620,8 +620,8 @@ export interface Vertabs {
|
|
|
620
620
|
subtitle?: StoryblokCustomPlugins["heading-field"];
|
|
621
621
|
body?: StoryblokRichtext;
|
|
622
622
|
tabs?: Cardgroup[];
|
|
623
|
-
component
|
|
624
|
-
_uid
|
|
623
|
+
component?: "vertabs";
|
|
624
|
+
_uid?: string;
|
|
625
625
|
}
|
|
626
626
|
export interface Vertcards {
|
|
627
627
|
large?: boolean;
|
|
@@ -633,15 +633,15 @@ export interface Vertcards {
|
|
|
633
633
|
title?: string;
|
|
634
634
|
body?: StoryblokRichtext;
|
|
635
635
|
items?: Card[];
|
|
636
|
-
component
|
|
637
|
-
_uid
|
|
636
|
+
component?: "vertcards";
|
|
637
|
+
_uid?: string;
|
|
638
638
|
}
|
|
639
639
|
export interface Video {
|
|
640
|
-
video
|
|
640
|
+
video?: StoryblokCustomPlugins["mux-field"];
|
|
641
641
|
metatags?: StoryblokCustomPlugins["seo-metatags"];
|
|
642
642
|
image?: StoryblokAsset;
|
|
643
|
-
component
|
|
644
|
-
_uid
|
|
643
|
+
component?: "video";
|
|
644
|
+
_uid?: string;
|
|
645
645
|
}
|
|
646
646
|
type StoryblokPropertyType = "asset" | "multiasset" | "multilink" | "table" | "richtext";
|
|
647
647
|
interface StoryblokAsset {
|
|
@@ -126,11 +126,13 @@ export default function storyblok_schema({ output_path, interval_ms, storyblok_p
|
|
|
126
126
|
await mkdir(path.dirname(components_file), { recursive: true });
|
|
127
127
|
// Write the data to the components file
|
|
128
128
|
await writeFile(components_file, JSON.stringify(new_components, null, 2));
|
|
129
|
-
const here = (str) =>
|
|
129
|
+
const here = (str) => process.env.SCHEMA_DEV
|
|
130
|
+
? path.join("src/lib", str)
|
|
131
|
+
: path.join("node_modules/storyloco/packages/vite/dist", str);
|
|
130
132
|
// Generate types
|
|
131
133
|
logger.start("Generating TypeScript definitions...");
|
|
132
134
|
await $ `chmod u+w ${schema_ts_file}`.quiet().nothrow();
|
|
133
|
-
await $ `${x} storyblok@4.2.0 ts generate -s ${storyblok_space_id} -p .svelte-kit/storyblok --compiler-options ${here("compiler_options.js")} --custom-fields-parser ${here("custom_fields_parser.js")} --strict
|
|
135
|
+
await $ `${x} storyblok@4.2.0 ts generate -s ${storyblok_space_id} -p .svelte-kit/storyblok --compiler-options ${here("compiler_options.js")} --custom-fields-parser ${here("custom_fields_parser.js")} --strict`.quiet();
|
|
134
136
|
logger.succeed("TypeScript definitions generated.");
|
|
135
137
|
// Get generated files
|
|
136
138
|
const component_types = await readFile(`.svelte-kit/storyblok/types/${storyblok_space_id}/storyblok-components.d.ts`, "utf-8");
|
|
@@ -161,6 +163,8 @@ import type { ISbStoryData } from '@storyblok/js';`, "");
|
|
|
161
163
|
// Try and use unknown instead of any
|
|
162
164
|
content = content.replace(/Record<string, any>/g, "Record<string, unknown>");
|
|
163
165
|
content = content.replace(/any\[]/g, "unknown[]");
|
|
166
|
+
// Make _uid and component optional (helps us reuse Storyblok types for non-storyblok components)
|
|
167
|
+
content = content.replace(/^([a-zA-Z0-9_]+):/gm, "$1?:");
|
|
164
168
|
const formatted = await prettier.format(content, { parser: "typescript" });
|
|
165
169
|
// Write the final file
|
|
166
170
|
logger.start("Finalising schema file...");
|