storyloco 1.5.0 → 1.5.2

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
  "name": "storyloco",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "A collection of slick Storyblok field plugins built with Svelte 5, TypeScript, and Tailwind CSS",
5
5
  "keywords": [
6
6
  "storyblok",
@@ -1,137 +1,30 @@
1
1
  /**
2
2
  * AUTO-GENERATED FILE. DO NOT EDIT.
3
- * Generated by storyblok-schema plugin on 2025-06-25T16:47:30.157Z.
3
+ * Generated by vite-storyblok-schema plugin on 2025-08-11T20:57:45.903Z.
4
4
  * Any changes will be overwritten.
5
5
  */
6
6
  import type { SbBlokData } from "@storyblok/svelte";
7
7
  export type Blok<T> = SbBlokData & T;
8
8
  export type { StoryblokStory } from "storyblok-generate-ts";
9
- export interface ActionsStoryblok {
10
- title?: string;
11
- items?: LinkStoryblok[];
12
- anchor?: string;
9
+ export interface FeatureStoryblok {
10
+ name?: string;
11
+ test?: string;
13
12
  _uid: string;
14
- component: "actions";
13
+ component: "feature";
15
14
  }
16
- export interface AssetStoryblok {
17
- _uid?: string;
18
- id: number | null;
19
- alt: string | null;
20
- name: string;
21
- focus: string | null;
22
- source: string | null;
23
- title: string | null;
24
- filename: string;
25
- copyright: string | null;
26
- fieldtype?: string;
27
- meta_data?: null | {};
28
- is_external_url?: boolean;
29
- }
30
- export interface CardStoryblok {
31
- image?: AssetStoryblok;
32
- title?: string;
33
- subtitle?: string;
34
- _uid: string;
35
- component: "card";
36
- }
37
- export interface CardsStoryblok {
38
- title?: string;
39
- subtitle?: string;
40
- items?: CardStoryblok[];
41
- anchor?: string;
42
- _uid: string;
43
- component: "cards";
44
- }
45
- export interface RichtextStoryblok {
46
- type: string;
47
- content?: RichtextStoryblok[];
48
- marks?: RichtextStoryblok[];
49
- attrs?: unknown;
50
- text?: string;
51
- }
52
- export interface HeroStoryblok {
53
- anchor?: string;
54
- title?: string;
55
- subtitle?: string;
56
- body?: RichtextStoryblok;
57
- title_tag?: "" | "h1" | "h2" | "h3";
58
- subtitle_tag?: number | string;
59
- _uid: string;
60
- component: "hero";
61
- }
62
- export type MultiassetStoryblok = {
63
- alt?: string;
64
- copyright?: string;
65
- id: number;
66
- filename: string;
67
- name: string;
68
- title?: string;
69
- }[];
70
- export interface LayoutStoryblok {
71
- popular_searches?: string;
72
- footer_title?: string;
73
- footer_links?: LinkStoryblok[];
74
- social_links?: SocialMediaStoryblok[];
75
- contact_email?: string;
76
- contact_tel?: string;
77
- address?: string;
78
- partners?: MultiassetStoryblok;
79
- header_links?: LinkStoryblok[];
80
- _uid: string;
81
- component: "layout";
82
- }
83
- export interface LinkStoryblok {
84
- _uid: string;
85
- component: "link";
86
- }
87
- export interface NewsStoryblok {
88
- anchor?: string;
15
+ export interface GridStoryblok {
16
+ columns?: (FeatureStoryblok | GridStoryblok | PageStoryblok | TeaserStoryblok)[];
89
17
  _uid: string;
90
- component: "news";
18
+ component: "grid";
91
19
  }
92
20
  export interface PageStoryblok {
93
- blocks?: unknown[];
21
+ body?: (FeatureStoryblok | GridStoryblok | PageStoryblok | TeaserStoryblok)[];
94
22
  _uid: string;
95
23
  component: "page";
96
24
  uuid?: string;
97
25
  }
98
- export interface QuoteStoryblok {
99
- suptitle?: string;
100
- title?: string;
101
- subtitle?: string;
102
- image?: AssetStoryblok;
103
- _uid: string;
104
- component: "quote";
105
- }
106
- export interface QuotesStoryblok {
107
- items?: QuoteStoryblok[];
108
- _uid: string;
109
- component: "quotes";
110
- }
111
- export interface SocialMediaStoryblok {
112
- platform: "" | "facebook" | "instagram" | "linkedin" | "whatsapp";
113
- link: string;
114
- _uid: string;
115
- component: "social_media";
116
- }
117
- export interface TabStoryblok {
118
- image?: AssetStoryblok;
119
- title?: string;
120
- subtitle?: string;
121
- body?: RichtextStoryblok;
122
- _uid: string;
123
- component: "tab";
124
- }
125
- export interface TabsStoryblok {
126
- items?: TabStoryblok[];
127
- _uid: string;
128
- component: "tabs";
129
- }
130
- export interface TextImageStoryblok {
131
- anchor?: string;
132
- image?: AssetStoryblok;
133
- title?: string;
134
- body?: RichtextStoryblok;
26
+ export interface TeaserStoryblok {
27
+ headline?: string;
135
28
  _uid: string;
136
- component: "text_image";
29
+ component: "teaser";
137
30
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * AUTO-GENERATED FILE. DO NOT EDIT.
3
- * Generated by storyblok-schema plugin on 2025-06-25T16:47:30.157Z.
3
+ * Generated by vite-storyblok-schema plugin on 2025-08-11T20:57:45.903Z.
4
4
  * Any changes will be overwritten.
5
5
  */
6
6
  export {};
@@ -1,143 +1,21 @@
1
1
  {
2
2
  "components": [
3
3
  {
4
- "name": "actions",
4
+ "name": "feature",
5
5
  "display_name": null,
6
- "description": "",
7
- "created_at": "2025-06-11T08:26:49.565Z",
8
- "updated_at": "2025-06-17T20:59:07.842Z",
9
- "id": 7438856,
10
- "schema": {
11
- "title": {
12
- "type": "text",
13
- "pos": 0,
14
- "id": "DtH5vtWxQOeDXDaiBUHqkQ"
15
- },
16
- "tab-580c7491-1215-4d34-8f28-485432b42001": {
17
- "display_name": "Options",
18
- "keys": [
19
- "anchor"
20
- ],
21
- "pos": 0,
22
- "type": "tab",
23
- "id": "WAx0kRIVTTSPKEhUMrQgAQ"
24
- },
25
- "items": {
26
- "type": "bloks",
27
- "pos": 1,
28
- "maximum": 4,
29
- "restrict_type": "",
30
- "restrict_components": true,
31
- "component_whitelist": [
32
- "link"
33
- ],
34
- "id": "1oI75nz8QmGAFNB2-wKm5Q"
35
- },
36
- "anchor": {
37
- "type": "text",
38
- "pos": 3,
39
- "description": "Adding this will add this section to the page subnav",
40
- "id": "ILXZ8q4sQMGMASY8-TosoA"
41
- }
42
- },
43
- "image": null,
44
- "preview_field": null,
45
- "is_root": false,
46
- "preview_tmpl": null,
47
- "is_nestable": true,
48
- "all_presets": [],
49
- "preset_id": null,
50
- "real_name": "actions",
51
- "component_group_uuid": null,
52
- "color": null,
53
- "icon": null,
54
- "internal_tags_list": [],
55
- "internal_tag_ids": [],
56
- "content_type_asset_preview": null,
57
- "metadata": {}
58
- },
59
- {
60
- "name": "card",
61
- "display_name": null,
62
- "description": "",
63
- "created_at": "2025-06-08T23:43:32.319Z",
64
- "updated_at": "2025-06-08T23:43:49.944Z",
65
- "id": 7430388,
66
- "schema": {
67
- "image": {
68
- "type": "asset",
69
- "pos": 0,
70
- "id": "C1TUpyKlRpiyYfsvVibqXQ"
71
- },
72
- "title": {
73
- "type": "text",
74
- "pos": 1,
75
- "id": "GjypGe7yQoertmF7wi9zxg"
76
- },
77
- "subtitle": {
78
- "type": "text",
79
- "pos": 2,
80
- "id": "Rzn5uP7oTMiJNTQiJRAn-g"
81
- }
82
- },
83
- "image": null,
84
- "preview_field": null,
85
- "is_root": false,
86
- "preview_tmpl": null,
87
- "is_nestable": true,
88
- "all_presets": [],
89
- "preset_id": null,
90
- "real_name": "card",
91
- "component_group_uuid": null,
92
- "color": null,
93
- "icon": null,
94
- "internal_tags_list": [],
95
- "internal_tag_ids": [],
96
- "content_type_asset_preview": null,
97
- "metadata": {}
98
- },
99
- {
100
- "name": "cards",
101
- "display_name": null,
102
- "description": "",
103
- "created_at": "2025-06-08T23:43:04.758Z",
104
- "updated_at": "2025-06-17T20:57:11.535Z",
105
- "id": 7430387,
6
+ "description": null,
7
+ "created_at": "2025-08-11T20:48:08.936Z",
8
+ "updated_at": "2025-08-11T20:57:12.509Z",
9
+ "id": 78871301884040,
106
10
  "schema": {
107
- "title": {
11
+ "name": {
108
12
  "type": "text",
109
- "pos": 0,
110
- "id": "LeW1F1QrTZWAvy-YOOTgVA"
13
+ "id": "AOoCBUvfRiWclfb577rG3w"
111
14
  },
112
- "tab-cb41290b-0b88-46f9-a21a-beec9c98638f": {
113
- "display_name": "Options",
114
- "keys": [
115
- "anchor"
116
- ],
117
- "pos": 0,
118
- "type": "tab",
119
- "id": "y0EpCwuIRvmiGr7snJhjjw"
120
- },
121
- "subtitle": {
15
+ "test": {
122
16
  "type": "text",
123
17
  "pos": 1,
124
- "id": "c4uMHk8cQoa6B4-C7a1lJA"
125
- },
126
- "items": {
127
- "type": "bloks",
128
- "pos": 2,
129
- "restrict_type": "",
130
- "restrict_components": true,
131
- "component_whitelist": [
132
- "card"
133
- ],
134
- "id": "iHy9oGABQoOWEbsJS_uj4Q"
135
- },
136
- "anchor": {
137
- "type": "text",
138
- "pos": 4,
139
- "description": "Adding this will add this section to the page subnav",
140
- "id": "ZFkVx74HSP65Nn1JgzIRKA"
18
+ "id": "gP7CC0d1QFK6Z-zXV_czUg"
141
19
  }
142
20
  },
143
21
  "image": null,
@@ -147,7 +25,7 @@
147
25
  "is_nestable": true,
148
26
  "all_presets": [],
149
27
  "preset_id": null,
150
- "real_name": "cards",
28
+ "real_name": "feature",
151
29
  "component_group_uuid": null,
152
30
  "color": null,
153
31
  "icon": null,
@@ -157,309 +35,16 @@
157
35
  "metadata": {}
158
36
  },
159
37
  {
160
- "name": "hero",
38
+ "name": "grid",
161
39
  "display_name": null,
162
- "description": "",
163
- "created_at": "2025-04-05T18:05:36.645Z",
164
- "updated_at": "2025-06-23T17:45:41.670Z",
165
- "id": 7173135,
166
- "schema": {
167
- "tab-89d98d91-7d02-4839-85f2-2798a2a3939a": {
168
- "display_name": "Tags",
169
- "keys": [
170
- "title_tag",
171
- "subtitle_tag"
172
- ],
173
- "pos": 0,
174
- "type": "tab",
175
- "id": "idmNkX0CSDmF8ieYoqOTmg",
176
- "name": "tab-89d98d91-7d02-4839-85f2-2798a2a3939a"
177
- },
178
- "video": {
179
- "type": "custom",
180
- "pos": 1,
181
- "field_type": "mux-field",
182
- "options": [
183
- {
184
- "name": "MOXY_SECRET_ID",
185
- "value": ""
186
- }
187
- ],
188
- "source": "internal",
189
- "datasource_slug": "mux",
190
- "id": "C6u_ZhmKQZ2O6NMxysPfRw",
191
- "display_name": "Video",
192
- "required": true
193
- },
194
- "tab-28a505ab-358d-48b1-a04a-f25d0d268150": {
195
- "display_name": "Options",
196
- "keys": [
197
- "anchor"
198
- ],
199
- "pos": 2,
200
- "type": "tab",
201
- "id": "KKUFqzWNSLGgSvJdDSaBUA",
202
- "name": "tab-28a505ab-358d-48b1-a04a-f25d0d268150"
203
- },
204
- "anchor": {
205
- "type": "text",
206
- "pos": 3,
207
- "id": "CXne3xSqRAmWirvqrHVqaw",
208
- "description": "Adding this will add this section to the page subnav"
209
- },
210
- "title": {
211
- "type": "text",
212
- "pos": 4,
213
- "id": "6kGHI_1xQ8irrNsj1O8Gwg"
214
- },
215
- "subtitle": {
216
- "type": "text",
217
- "pos": 5,
218
- "id": "68Z4OTg9TBSGlxjdfbSzzA"
219
- },
220
- "body": {
221
- "type": "richtext",
222
- "pos": 6,
223
- "id": "FNQj4geKSDeCGhOXYVL9Vw",
224
- "customize_toolbar": true
225
- },
226
- "title_tag": {
227
- "type": "option",
228
- "pos": 7,
229
- "use_uuid": true,
230
- "options": [
231
- {
232
- "_uid": "eb24c63a-5ad1-445c-b299-0cef1936a485",
233
- "name": "H1",
234
- "value": "h1"
235
- },
236
- {
237
- "_uid": "9768cea3-e6d9-4d8a-a4f1-fec49b766774",
238
- "value": "h2",
239
- "name": "H2"
240
- },
241
- {
242
- "_uid": "c250cc62-93d5-488d-a000-25b20da713c8",
243
- "value": "h3",
244
- "name": "H3"
245
- }
246
- ],
247
- "id": "jduORS9nRBq0OiaXp3D8xA",
248
- "description": "Defaults to a div",
249
- "source": "internal",
250
- "datasource_slug": "tags"
251
- },
252
- "subtitle_tag": {
253
- "type": "option",
254
- "pos": 8,
255
- "use_uuid": true,
256
- "id": "TYzSy7yRQsGwaNk1xjUXcg",
257
- "source": "internal",
258
- "datasource_slug": "tags"
259
- },
260
- "link": {
261
- "type": "custom",
262
- "pos": 9,
263
- "field_type": "loco-link-field",
264
- "options": [],
265
- "id": "EhSDyBH-QkmqCo0kkhQaRg"
266
- }
267
- },
268
- "image": null,
269
- "preview_field": null,
270
- "is_root": false,
271
- "preview_tmpl": null,
272
- "is_nestable": true,
273
- "all_presets": [],
274
- "preset_id": null,
275
- "real_name": "hero",
276
- "component_group_uuid": "all",
277
- "color": null,
278
- "icon": null,
279
- "internal_tags_list": [],
280
- "internal_tag_ids": [],
281
- "content_type_asset_preview": null,
282
- "metadata": {},
283
- "component_group_name": ""
284
- },
285
- {
286
- "name": "layout",
287
- "display_name": null,
288
- "description": "",
289
- "created_at": "2025-05-23T13:26:16.198Z",
290
- "updated_at": "2025-06-23T23:54:55.298Z",
291
- "id": 7379178,
40
+ "description": null,
41
+ "created_at": "2025-08-11T20:48:08.926Z",
42
+ "updated_at": "2025-08-11T20:48:08.926Z",
43
+ "id": 78871301847175,
292
44
  "schema": {
293
- "popular_searches": {
294
- "type": "textarea",
295
- "pos": 0,
296
- "id": "0j6-5dzeTQ-nSiUAqidscA",
297
- "description": "Each popular search phrase on a new line"
298
- },
299
- "footer_title": {
300
- "type": "text",
301
- "pos": 1,
302
- "description": "",
303
- "default_value": "Work of each for weal of all",
304
- "id": "5f7gute7TA-FUXT6wThHxg"
305
- },
306
- "footer_links": {
307
- "type": "bloks",
308
- "pos": 2,
309
- "minimum": 1,
310
- "restrict_type": "",
311
- "restrict_components": true,
312
- "component_whitelist": [
313
- "link"
314
- ],
315
- "id": "ImV7vCyRSXK2x_iAXZqVCg"
316
- },
317
- "social_links": {
318
- "type": "bloks",
319
- "pos": 3,
320
- "restrict_type": "",
321
- "restrict_components": true,
322
- "component_whitelist": [
323
- "social_media"
324
- ],
325
- "id": "x6Xup7pzTkuwr0l_8p18Uw"
326
- },
327
- "contact_email": {
328
- "type": "text",
329
- "pos": 4,
330
- "default_value": "admin@bedales.org.uk",
331
- "id": "p6UEFnLcQUGbALZ_8pLHUQ"
332
- },
333
- "contact_tel": {
334
- "type": "text",
335
- "pos": 5,
336
- "default_value": "01730 300100",
337
- "id": "KGRqbqdYQ7msKbnA3-upPg"
338
- },
339
- "address": {
340
- "type": "textarea",
341
- "pos": 6,
342
- "default_value": "Bedales School\nChurch Road\nSteep\nPetersfield\nGU32 2DG",
343
- "id": "8mSNbdjAR7-8xTJ3V_ZgWA"
344
- },
345
- "partners": {
346
- "type": "multiasset",
347
- "pos": 7,
348
- "restrict_type": "",
349
- "restrict_components": false,
350
- "component_group_whitelist": [],
351
- "id": "jk7St9mESLqpw59fQ2QTBg",
352
- "filetypes": [
353
- "images"
354
- ]
355
- },
356
- "header_links": {
45
+ "columns": {
357
46
  "type": "bloks",
358
- "pos": 8,
359
- "minimum": 1,
360
- "id": "BYt5a6POTvG_1QjtL8nyCw",
361
- "restrict_type": "",
362
- "restrict_components": true,
363
- "component_whitelist": [
364
- "link"
365
- ]
366
- },
367
- "tab-024a90bf-944a-4c48-8ca1-f13c46e4d104": {
368
- "display_name": "Header",
369
- "keys": [
370
- "header_links",
371
- "popular_searches"
372
- ],
373
- "pos": 9,
374
- "type": "tab",
375
- "id": "AkqQv5RKTEiMofE8RuTRBA"
376
- },
377
- "tab-3a8e8955-042c-4221-a1b4-5b908d0efca2": {
378
- "display_name": "Footer",
379
- "keys": [
380
- "footer_links",
381
- "footer_title",
382
- "partners",
383
- "address",
384
- "social_links",
385
- "contact_tel",
386
- "contact_email"
387
- ],
388
- "pos": 10,
389
- "type": "tab",
390
- "id": "Oo6JVQQsQiGhtFuQjQ78og"
391
- }
392
- },
393
- "image": null,
394
- "preview_field": null,
395
- "is_root": true,
396
- "preview_tmpl": null,
397
- "is_nestable": false,
398
- "all_presets": [],
399
- "preset_id": null,
400
- "real_name": "layout",
401
- "component_group_uuid": null,
402
- "color": "#cf9509",
403
- "icon": "block-1-2block",
404
- "internal_tags_list": [],
405
- "internal_tag_ids": [],
406
- "content_type_asset_preview": null,
407
- "metadata": {}
408
- },
409
- {
410
- "name": "link",
411
- "display_name": null,
412
- "description": "",
413
- "created_at": "2025-05-23T13:30:37.993Z",
414
- "updated_at": "2025-06-23T21:11:56.768Z",
415
- "id": 7379193,
416
- "schema": {
417
- "link": {
418
- "type": "custom",
419
- "pos": 0,
420
- "field_type": "loco-link-field",
421
- "options": [],
422
- "id": "4NFRnC34Sg2_VGGMFgfzjQ"
423
- }
424
- },
425
- "image": null,
426
- "preview_field": null,
427
- "is_root": false,
428
- "preview_tmpl": null,
429
- "is_nestable": true,
430
- "all_presets": [],
431
- "preset_id": null,
432
- "real_name": "link",
433
- "component_group_uuid": null,
434
- "color": "#424d6d",
435
- "icon": "block-arrow-pointer",
436
- "internal_tags_list": [],
437
- "internal_tag_ids": [],
438
- "content_type_asset_preview": null,
439
- "metadata": {}
440
- },
441
- {
442
- "name": "news",
443
- "display_name": null,
444
- "description": "",
445
- "created_at": "2025-06-10T23:54:30.192Z",
446
- "updated_at": "2025-06-17T20:58:18.164Z",
447
- "id": 7437620,
448
- "schema": {
449
- "anchor": {
450
- "type": "text",
451
- "pos": 0,
452
- "description": "Adding this will add this section to the page subnav",
453
- "id": "txepHiivSsq2spzHKLak2w"
454
- },
455
- "tab-994c7159-e1a2-44cf-bd0a-4e26be9c0432": {
456
- "display_name": "Options",
457
- "keys": [
458
- "anchor"
459
- ],
460
- "pos": 1,
461
- "type": "tab",
462
- "id": "mUxxWeGiRM-9Ck4mvpwEMg"
47
+ "id": "QxKPw9KfRV6ydqzpRQvGSQ"
463
48
  }
464
49
  },
465
50
  "image": null,
@@ -469,7 +54,7 @@
469
54
  "is_nestable": true,
470
55
  "all_presets": [],
471
56
  "preset_id": null,
472
- "real_name": "news",
57
+ "real_name": "grid",
473
58
  "component_group_uuid": null,
474
59
  "color": null,
475
60
  "icon": null,
@@ -482,17 +67,13 @@
482
67
  "name": "page",
483
68
  "display_name": null,
484
69
  "description": null,
485
- "created_at": "2025-04-05T16:19:54.553Z",
486
- "updated_at": "2025-06-08T23:44:47.555Z",
487
- "id": 7172927,
70
+ "created_at": "2025-08-11T20:48:08.895Z",
71
+ "updated_at": "2025-08-11T20:48:08.895Z",
72
+ "id": 78871301724293,
488
73
  "schema": {
489
- "blocks": {
74
+ "body": {
490
75
  "type": "bloks",
491
- "id": "XWybLtYMQESSX4I_mCnvaQ",
492
- "pos": 0,
493
- "restrict_type": "groups",
494
- "restrict_components": true,
495
- "component_whitelist": []
76
+ "id": "1mcuwNkLTcKu6z3L_GfszA"
496
77
  }
497
78
  },
498
79
  "image": null,
@@ -512,207 +93,16 @@
512
93
  "metadata": {}
513
94
  },
514
95
  {
515
- "name": "quote",
516
- "display_name": null,
517
- "description": "",
518
- "created_at": "2025-06-11T08:50:48.294Z",
519
- "updated_at": "2025-06-11T08:52:59.966Z",
520
- "id": 7439047,
521
- "schema": {
522
- "suptitle": {
523
- "type": "text",
524
- "pos": 0,
525
- "id": "ncAjkwAoRgi_wO4QezQvqw"
526
- },
527
- "title": {
528
- "type": "text",
529
- "pos": 1,
530
- "id": "SsAjjraET9yvjpem3lFvlg"
531
- },
532
- "subtitle": {
533
- "type": "text",
534
- "pos": 2,
535
- "id": "TK6-jGQVR46xjtj7DqU_hw"
536
- },
537
- "image": {
538
- "type": "asset",
539
- "pos": 3,
540
- "id": "MDCBoyp_S4qCsYLg6suP3A"
541
- }
542
- },
543
- "image": null,
544
- "preview_field": null,
545
- "is_root": false,
546
- "preview_tmpl": null,
547
- "is_nestable": true,
548
- "all_presets": [],
549
- "preset_id": null,
550
- "real_name": "quote",
551
- "component_group_uuid": null,
552
- "color": null,
553
- "icon": null,
554
- "internal_tags_list": [],
555
- "internal_tag_ids": [],
556
- "content_type_asset_preview": null,
557
- "metadata": {}
558
- },
559
- {
560
- "name": "quotes",
561
- "display_name": null,
562
- "description": "",
563
- "created_at": "2025-06-11T08:51:33.415Z",
564
- "updated_at": "2025-06-23T21:56:57.140Z",
565
- "id": 7439050,
566
- "schema": {
567
- "items": {
568
- "type": "bloks",
569
- "pos": 0,
570
- "restrict_type": "",
571
- "restrict_components": true,
572
- "component_whitelist": [
573
- "quote"
574
- ],
575
- "id": "zCPLD7DRQcGHR4ZI9oZKxg"
576
- },
577
- "theme": {
578
- "type": "custom",
579
- "pos": 1,
580
- "field_type": "theme-field",
581
- "options": [
582
- {
583
- "name": "Rose",
584
- "value": ""
585
- },
586
- {
587
- "name": "Pollen",
588
- "value": ""
589
- },
590
- {
591
- "name": "Dark",
592
- "value": ""
593
- },
594
- {
595
- "name": "Light",
596
- "value": ""
597
- }
598
- ],
599
- "id": "Az-u9FMdQ5Khr_JFJsrEOQ",
600
- "source": "internal",
601
- "datasource_slug": "themes"
602
- }
603
- },
604
- "image": null,
605
- "preview_field": null,
606
- "is_root": false,
607
- "preview_tmpl": null,
608
- "is_nestable": true,
609
- "all_presets": [],
610
- "preset_id": null,
611
- "real_name": "quotes",
612
- "component_group_uuid": null,
613
- "color": null,
614
- "icon": null,
615
- "internal_tags_list": [],
616
- "internal_tag_ids": [],
617
- "content_type_asset_preview": null,
618
- "metadata": {}
619
- },
620
- {
621
- "name": "social_media",
622
- "display_name": null,
623
- "description": "",
624
- "created_at": "2025-05-23T15:12:45.657Z",
625
- "updated_at": "2025-05-23T15:16:11.852Z",
626
- "id": 7380180,
627
- "schema": {
628
- "platform": {
629
- "type": "option",
630
- "pos": 0,
631
- "use_uuid": true,
632
- "required": true,
633
- "options": [
634
- {
635
- "_uid": "e65574a8-ea81-43f9-a232-dfb207ef600c",
636
- "name": "Facebook",
637
- "value": "facebook"
638
- },
639
- {
640
- "_uid": "fe221bb4-4f22-4023-90c5-f810350d06f4",
641
- "value": "instagram",
642
- "name": "Instagram"
643
- },
644
- {
645
- "_uid": "d76d1a5a-de70-4e64-93e2-59ffee28205f",
646
- "value": "linkedin",
647
- "name": "LinkedIn"
648
- },
649
- {
650
- "_uid": "89916579-cfe7-4399-a2e0-9d061efc5c04",
651
- "value": "whatsapp",
652
- "name": "WhatsApp"
653
- }
654
- ],
655
- "id": "2fJvm4HoTYy0O0wu_mot5Q"
656
- },
657
- "link": {
658
- "type": "text",
659
- "pos": 1,
660
- "id": "Ep6dRwwkTmqYV1Hi_3tWkQ",
661
- "required": true,
662
- "allow_target_blank": false
663
- }
664
- },
665
- "image": null,
666
- "preview_field": null,
667
- "is_root": false,
668
- "preview_tmpl": null,
669
- "is_nestable": true,
670
- "all_presets": [],
671
- "preset_id": null,
672
- "real_name": "social_media",
673
- "component_group_uuid": null,
674
- "color": "#4656ae",
675
- "icon": "block-share",
676
- "internal_tags_list": [],
677
- "internal_tag_ids": [],
678
- "content_type_asset_preview": null,
679
- "metadata": {}
680
- },
681
- {
682
- "name": "tab",
96
+ "name": "teaser",
683
97
  "display_name": null,
684
98
  "description": null,
685
- "created_at": "2025-06-08T22:27:21.901Z",
686
- "updated_at": "2025-06-23T21:06:22.569Z",
687
- "id": 7430378,
99
+ "created_at": "2025-08-11T20:48:08.916Z",
100
+ "updated_at": "2025-08-11T20:48:08.916Z",
101
+ "id": 78871301806214,
688
102
  "schema": {
689
- "image": {
690
- "type": "asset",
691
- "pos": 0,
692
- "id": "OsVUBXk7Q22uIo-qrgtC0Q"
693
- },
694
- "title": {
103
+ "headline": {
695
104
  "type": "text",
696
- "pos": 1,
697
- "id": "TjfQe9itQuGqcBapqre1jQ"
698
- },
699
- "subtitle": {
700
- "type": "text",
701
- "pos": 2,
702
- "id": "S5PK_IPVRwqygSzUk2EEMA"
703
- },
704
- "body": {
705
- "type": "richtext",
706
- "pos": 3,
707
- "id": "hgT_Id9BR721F8Mi0B7BeA",
708
- "customize_toolbar": true
709
- },
710
- "action": {
711
- "type": "custom",
712
- "pos": 4,
713
- "field_type": "loco-link-field",
714
- "options": [],
715
- "id": "kqW5GQLETsqR32CLSAWxGg"
105
+ "id": "F_Vs871DS9WXdjxFM58G6w"
716
106
  }
717
107
  },
718
108
  "image": null,
@@ -722,116 +112,7 @@
722
112
  "is_nestable": true,
723
113
  "all_presets": [],
724
114
  "preset_id": null,
725
- "real_name": "tab",
726
- "component_group_uuid": null,
727
- "color": null,
728
- "icon": null,
729
- "internal_tags_list": [],
730
- "internal_tag_ids": [],
731
- "content_type_asset_preview": null,
732
- "metadata": {}
733
- },
734
- {
735
- "name": "tabs",
736
- "display_name": null,
737
- "description": null,
738
- "created_at": "2025-06-08T13:10:31.520Z",
739
- "updated_at": "2025-06-08T22:30:30.039Z",
740
- "id": 7430017,
741
- "schema": {
742
- "items": {
743
- "type": "bloks",
744
- "pos": 0,
745
- "restrict_type": "",
746
- "restrict_components": true,
747
- "component_whitelist": [
748
- "tab"
749
- ],
750
- "id": "EQXPOyI2TV-Fc6nYOvDEaA"
751
- }
752
- },
753
- "image": null,
754
- "preview_field": null,
755
- "is_root": false,
756
- "preview_tmpl": null,
757
- "is_nestable": true,
758
- "all_presets": [],
759
- "preset_id": null,
760
- "real_name": "tabs",
761
- "component_group_uuid": null,
762
- "color": null,
763
- "icon": null,
764
- "internal_tags_list": [],
765
- "internal_tag_ids": [],
766
- "content_type_asset_preview": null,
767
- "metadata": {}
768
- },
769
- {
770
- "name": "text_image",
771
- "display_name": null,
772
- "description": "",
773
- "created_at": "2025-06-10T21:10:33.540Z",
774
- "updated_at": "2025-06-23T21:23:23.203Z",
775
- "id": 7437497,
776
- "schema": {
777
- "anchor": {
778
- "type": "text",
779
- "pos": 0,
780
- "id": "t9XCrr68RgavP5H6MhQCXg",
781
- "description": "Adding this will add this section to the page subnav"
782
- },
783
- "image": {
784
- "type": "asset",
785
- "pos": 1,
786
- "id": "xnICy4iTTR6-0qz7H7gUlA"
787
- },
788
- "title": {
789
- "type": "text",
790
- "pos": 2,
791
- "id": "8387Ck3xRMKx3eVi7YuCBg"
792
- },
793
- "body": {
794
- "type": "richtext",
795
- "pos": 3,
796
- "customize_toolbar": true,
797
- "id": "R9GSqTZuRO-30nX9DSP_1Q",
798
- "toolbar": [
799
- "blok"
800
- ],
801
- "restrict_type": "",
802
- "restrict_components": true,
803
- "component_whitelist": [
804
- "link"
805
- ]
806
- },
807
- "theme": {
808
- "type": "custom",
809
- "pos": 4,
810
- "field_type": "theme-field",
811
- "options": [],
812
- "source": "internal",
813
- "datasource_slug": "themes",
814
- "id": "4M9ZQpb4Sbq5Nl4QzmVFhA",
815
- "display_name": "Theme"
816
- },
817
- "tab-56e9c8e2-35e9-4843-9b0c-fe2c57922cad": {
818
- "display_name": "Options",
819
- "keys": [
820
- "anchor"
821
- ],
822
- "pos": 5,
823
- "type": "tab",
824
- "id": "VunI4jXpSEObDP4sV5IsrQ"
825
- }
826
- },
827
- "image": null,
828
- "preview_field": null,
829
- "is_root": false,
830
- "preview_tmpl": null,
831
- "is_nestable": true,
832
- "all_presets": [],
833
- "preset_id": null,
834
- "real_name": "text_image",
115
+ "real_name": "teaser",
835
116
  "component_group_uuid": null,
836
117
  "color": null,
837
118
  "icon": null,
@@ -841,13 +122,5 @@
841
122
  "metadata": {}
842
123
  }
843
124
  ],
844
- "component_groups": [
845
- {
846
- "name": "Sections",
847
- "id": 562748,
848
- "uuid": "c2b98f4c-66cd-4a6f-bec7-b2f708118a5d",
849
- "parent_id": null,
850
- "parent_uuid": null
851
- }
852
- ]
125
+ "component_groups": []
853
126
  }
@@ -8,7 +8,7 @@ import ora from "ora";
8
8
  import chalk from "chalk";
9
9
  const name = "vite-storyblok-schema";
10
10
  const logger = ora({
11
- prefixText: chalk.yellow(`[${name}]`)
11
+ prefixText: chalk.yellow(`[${name}]`),
12
12
  });
13
13
  /**
14
14
  * @remarks
@@ -61,6 +61,10 @@ export default function storyblok_schema({ output_path, interval_ms, storyblok_p
61
61
  generate();
62
62
  interval = setInterval(generate, interval_ms);
63
63
  async function generate() {
64
+ if (!storyblok_personal_access_token)
65
+ throw new Error("Storyblok personal access token is required");
66
+ if (!storyblok_space_id)
67
+ throw new Error("Storyblok space ID is required");
64
68
  try {
65
69
  // Check if components file exists
66
70
  let existing_components = "";
@@ -71,13 +75,15 @@ export default function storyblok_schema({ output_path, interval_ms, storyblok_p
71
75
  catch {
72
76
  // No existing file, that's fine
73
77
  }
78
+ // Fetch the new components
79
+ const url = `https://mapi.storyblok.com/v1/spaces/${storyblok_space_id}/components`;
80
+ const headers = new Headers({ Authorization: storyblok_personal_access_token });
81
+ const response = await fetch(url, { headers });
82
+ const new_components = await response.json();
74
83
  // Log in to Storyblok and pull components
75
84
  await $ `chmod u+w ${components_file}`.quiet().nothrow();
76
- await $ `${x} storyblok logout`.quiet().nothrow();
77
- await $ `${x} storyblok login --token ${storyblok_personal_access_token} --region eu`.quiet();
78
- await $ `${x} storyblok pull-components --space=${storyblok_space_id} -p ${output_path}/ -f schema`.quiet();
79
- // Read the new components file
80
- const new_components = await readFile(components_file, "utf-8");
85
+ // Write the data to the components file
86
+ await writeFile(components_file, JSON.stringify(new_components, null, 2));
81
87
  // Compare existing and new components
82
88
  if (existing_components === new_components)
83
89
  return;