@brightsideoy/kama 0.1.0-alpha.113 → 0.1.0-alpha.115

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.
Files changed (60) hide show
  1. package/bin/cli.js +172 -379
  2. package/content/definitions/blocks/button.yaml +7 -8
  3. package/content/definitions/blocks/header.yaml +7 -9
  4. package/content/definitions/blocks/header_image.yaml +14 -15
  5. package/content/definitions/blocks/hero.yaml +22 -21
  6. package/content/definitions/blocks/image_card.yaml +46 -47
  7. package/content/definitions/blocks/single_image.yaml +19 -20
  8. package/content/definitions/blocks/text.yaml +8 -9
  9. package/content/definitions/channels/ecommerce.yaml +14 -16
  10. package/content/definitions/channels/website.yaml +20 -21
  11. package/content/definitions/field-sets/access.yaml +3 -5
  12. package/content/definitions/field-sets/channel-base.yaml +25 -25
  13. package/content/definitions/field-sets/content-block.yaml +36 -41
  14. package/content/definitions/field-sets/page-base.yaml +40 -45
  15. package/content/definitions/field-sets/page-meta.yaml +1 -4
  16. package/content/definitions/field-sets/page-social.yaml +6 -8
  17. package/content/definitions/field-sets/tree-base.yaml +25 -25
  18. package/content/definitions/nodes/address.yaml +29 -21
  19. package/content/definitions/nodes/article.yaml +24 -19
  20. package/content/definitions/nodes/event.yaml +32 -26
  21. package/content/definitions/nodes/external-link.yaml +20 -17
  22. package/content/definitions/nodes/page.yaml +38 -35
  23. package/content/definitions/nodes/person.yaml +29 -27
  24. package/content/definitions/nodes/product.yaml +52 -49
  25. package/content/definitions/trees/navigation.yaml +26 -21
  26. package/content/definitions/trees/social-links.yaml +5 -2
  27. package/dist/assets/index-8T39DEP3.js +162 -0
  28. package/dist/assets/index-B9oh2_TL.css +1 -0
  29. package/dist/index.html +2 -2
  30. package/dist/index.js +6492 -4249
  31. package/package.json +5 -6
  32. package/schema.sql +5 -13
  33. package/templates/astro-starter/astro.config.mjs +40 -0
  34. package/templates/astro-starter/package.json.template +20 -0
  35. package/templates/astro-starter/src/components/blocks/BlockRenderer.astro +125 -0
  36. package/templates/astro-starter/src/components/blocks/ColumnLayout.astro +66 -0
  37. package/templates/astro-starter/src/components/blocks/HeaderImage.astro +131 -0
  38. package/templates/astro-starter/src/components/blocks/Hero.astro +218 -0
  39. package/templates/astro-starter/src/components/blocks/ImageBlock.astro +160 -0
  40. package/templates/astro-starter/src/components/blocks/TextBlock.astro +13 -0
  41. package/templates/astro-starter/src/components/global/Breadcrumb.astro +62 -0
  42. package/templates/astro-starter/src/components/global/Footer.astro +48 -0
  43. package/templates/astro-starter/src/components/global/Header.astro +92 -0
  44. package/templates/astro-starter/src/components/global/NavigationMenu.astro +450 -0
  45. package/templates/astro-starter/src/components/ui/KamaImage.astro +148 -0
  46. package/templates/astro-starter/src/kama-image-service.ts +41 -0
  47. package/templates/astro-starter/src/layouts/Layout.astro +280 -0
  48. package/templates/astro-starter/src/lib/cms.ts +149 -0
  49. package/templates/astro-starter/src/lib/media-url.ts +34 -0
  50. package/templates/astro-starter/src/middleware.ts +306 -0
  51. package/templates/astro-starter/src/pages/404.astro +46 -0
  52. package/templates/astro-starter/src/pages/[...slug].astro +234 -0
  53. package/templates/astro-starter/src/pages/media/[...path].ts +113 -0
  54. package/templates/astro-starter/tsconfig.json +0 -0
  55. package/test-local.sh +76 -0
  56. package/dist/assets/index-10GEw0KY.css +0 -1
  57. package/dist/assets/index-THJ6BqPP.js +0 -1394
  58. package/kama-worker/bundled-definitions.js +0 -2394
  59. package/kama-worker/bundled-definitions.ts +0 -2395
  60. package/scripts/bundle-definitions.js +0 -224
@@ -1,2395 +0,0 @@
1
- // Auto-generated pre-bundled definitions for Kama Core Engine
2
- export const BUNDLED_DEFINITIONS = {
3
- "rawNodes": {
4
- "address": {
5
- "id": "address",
6
- "label": "Address",
7
- "inTree": false,
8
- "tabs": {
9
- "settings": {
10
- "label": "Address",
11
- "fields": [
12
- {
13
- "title": {
14
- "label": "Address Title",
15
- "required": true
16
- }
17
- },
18
- {
19
- "street": {
20
- "label": "Street"
21
- }
22
- },
23
- {
24
- "city": {
25
- "label": "City"
26
- }
27
- },
28
- {
29
- "area": {
30
- "label": "County / Area"
31
- }
32
- },
33
- {
34
- "zip": {
35
- "label": "ZIP"
36
- }
37
- },
38
- {
39
- "country": {
40
- "label": "Country"
41
- }
42
- }
43
- ]
44
- },
45
- "geolocation": {
46
- "label": "Geolocation",
47
- "fields": [
48
- {
49
- "lat": {
50
- "label": "Latitude"
51
- }
52
- },
53
- {
54
- "lng": {
55
- "label": "Longitude"
56
- }
57
- },
58
- {
59
- "timezone": {
60
- "label": "Timezone"
61
- }
62
- },
63
- {
64
- "fieldSet": "access"
65
- }
66
- ]
67
- }
68
- },
69
- "inVault": true,
70
- "hasCanvas": false,
71
- "fields": {
72
- "title": {
73
- "label": "Address Title",
74
- "required": true
75
- },
76
- "street": {
77
- "label": "Street"
78
- },
79
- "city": {
80
- "label": "City"
81
- },
82
- "area": {
83
- "label": "County / Area"
84
- },
85
- "zip": {
86
- "label": "ZIP"
87
- },
88
- "country": {
89
- "label": "Country"
90
- },
91
- "lat": {
92
- "label": "Latitude"
93
- },
94
- "lng": {
95
- "label": "Longitude"
96
- },
97
- "timezone": {
98
- "label": "Timezone"
99
- },
100
- "fieldSet": "access"
101
- }
102
- },
103
- "article": {
104
- "id": "article",
105
- "label": "Article",
106
- "inTree": false,
107
- "hasCanvas": true,
108
- "directLinking": true,
109
- "regions": {
110
- "content": {
111
- "label": "Content"
112
- }
113
- },
114
- "allowedBlocks": [
115
- "header",
116
- "hero",
117
- "text",
118
- "image_card",
119
- "header_image",
120
- "two-column",
121
- "three-column",
122
- "single_image"
123
- ],
124
- "tabs": {
125
- "settings": {
126
- "label": "Article",
127
- "fields": [
128
- {
129
- "fieldSet": "page-base"
130
- },
131
- {
132
- "title": {
133
- "label": "Article title",
134
- "required": true
135
- }
136
- },
137
- {
138
- "slug": {
139
- "linkedTo": "title"
140
- }
141
- },
142
- {
143
- "articleDate": {
144
- "type": "date",
145
- "label": "Article Date",
146
- "public": true,
147
- "default": "now",
148
- "index": true
149
- }
150
- },
151
- {
152
- "abstract": {
153
- "label": "Abstract",
154
- "type": "textarea",
155
- "public": true
156
- }
157
- },
158
- {
159
- "fieldSet": "page-meta"
160
- },
161
- {
162
- "fieldSet": "page-social"
163
- },
164
- {
165
- "fieldSet": "access"
166
- }
167
- ]
168
- }
169
- },
170
- "inVault": true,
171
- "fields": {
172
- "fieldSet": "access",
173
- "title": {
174
- "label": "Article title",
175
- "required": true
176
- },
177
- "slug": {
178
- "linkedTo": "title"
179
- },
180
- "articleDate": {
181
- "type": "date",
182
- "label": "Article Date",
183
- "public": true,
184
- "default": "now",
185
- "index": true
186
- },
187
- "abstract": {
188
- "label": "Abstract",
189
- "type": "textarea",
190
- "public": true
191
- }
192
- }
193
- },
194
- "event": {
195
- "id": "event",
196
- "label": "Event",
197
- "inTree": false,
198
- "hasCanvas": true,
199
- "directLinking": true,
200
- "regions": {
201
- "main": {
202
- "label": "Content"
203
- }
204
- },
205
- "allowedBlocks": [
206
- "header",
207
- "hero",
208
- "text",
209
- "image_card",
210
- "header_image",
211
- "two-column",
212
- "three-column",
213
- "single_image"
214
- ],
215
- "tabs": {
216
- "settings": {
217
- "label": "Event",
218
- "fields": [
219
- {
220
- "fieldSet": "page-base"
221
- },
222
- {
223
- "title": {
224
- "label": "Event Title",
225
- "required": true,
226
- "showAsEditorTitle": true
227
- }
228
- },
229
- {
230
- "slug": {
231
- "linkedTo": "title"
232
- }
233
- },
234
- {
235
- "startTime": {
236
- "type": "datetime",
237
- "label": "Starts",
238
- "public": true,
239
- "index": true,
240
- "showAsEditorTitle": true
241
- }
242
- },
243
- {
244
- "endTime": {
245
- "type": "datetime",
246
- "label": "Finishes",
247
- "public": true,
248
- "index": true
249
- }
250
- },
251
- {
252
- "abstract": {
253
- "label": "Abstract",
254
- "type": "textarea",
255
- "public": true
256
- }
257
- },
258
- {
259
- "fieldSet": "page-meta"
260
- },
261
- {
262
- "fieldSet": "page-social"
263
- },
264
- {
265
- "fieldSet": "access"
266
- }
267
- ]
268
- }
269
- },
270
- "inVault": true,
271
- "fields": {
272
- "fieldSet": "access",
273
- "title": {
274
- "label": "Event Title",
275
- "required": true,
276
- "showAsEditorTitle": true
277
- },
278
- "slug": {
279
- "linkedTo": "title"
280
- },
281
- "startTime": {
282
- "type": "datetime",
283
- "label": "Starts",
284
- "public": true,
285
- "index": true,
286
- "showAsEditorTitle": true
287
- },
288
- "endTime": {
289
- "type": "datetime",
290
- "label": "Finishes",
291
- "public": true,
292
- "index": true
293
- },
294
- "abstract": {
295
- "label": "Abstract",
296
- "type": "textarea",
297
- "public": true
298
- }
299
- }
300
- },
301
- "external-link": {
302
- "id": "external-link",
303
- "label": "External Link",
304
- "inTree": true,
305
- "tabs": {
306
- "settings": {
307
- "label": "Link",
308
- "fields": [
309
- {
310
- "fieldSet": "page-base"
311
- },
312
- "nodeType",
313
- {
314
- "title": {
315
- "label": "Link Text"
316
- }
317
- },
318
- {
319
- "iconName": {
320
- "label": "Icon",
321
- "type": "icon",
322
- "dbType": "text",
323
- "packages": [
324
- "heroicons",
325
- "lucide",
326
- "mdi"
327
- ]
328
- }
329
- },
330
- {
331
- "slug": {
332
- "label": "Slug",
333
- "linkedTo": "menuTitle, title"
334
- }
335
- },
336
- {
337
- "url": {
338
- "label": "URL",
339
- "type": "text",
340
- "public": true
341
- }
342
- },
343
- {
344
- "fieldSet": "access"
345
- }
346
- ]
347
- }
348
- },
349
- "inVault": true,
350
- "hasCanvas": false,
351
- "fields": {
352
- "fieldSet": "access",
353
- "title": {
354
- "label": "Link Text"
355
- },
356
- "iconName": {
357
- "label": "Icon",
358
- "type": "icon",
359
- "dbType": "text",
360
- "packages": [
361
- "heroicons",
362
- "lucide",
363
- "mdi"
364
- ]
365
- },
366
- "slug": {
367
- "label": "Slug",
368
- "linkedTo": "menuTitle, title"
369
- },
370
- "url": {
371
- "label": "URL",
372
- "type": "text",
373
- "public": true
374
- }
375
- }
376
- },
377
- "page": {
378
- "id": "page",
379
- "label": "Page",
380
- "inTree": true,
381
- "inVault": true,
382
- "hasCanvas": true,
383
- "directLinking": true,
384
- "defaultLayout": "single-column",
385
- "allowedBlocks": [
386
- "header",
387
- "hero",
388
- "text",
389
- "image_card",
390
- "header_image",
391
- "two-column",
392
- "three-column",
393
- "single_image"
394
- ],
395
- "tabs": {
396
- "settings": {
397
- "label": "Page",
398
- "fields": [
399
- {
400
- "fieldSet": "page-base"
401
- },
402
- {
403
- "layoutId": {
404
- "label": "Page Layout",
405
- "type": "layout-select",
406
- "dbType": "text",
407
- "default": "inherit",
408
- "inheritsFromParent": true,
409
- "allowedLayouts": [
410
- "two-column",
411
- "single-column",
412
- "three-column",
413
- "landing-page"
414
- ],
415
- "options": [
416
- {
417
- "label": "Inherit Layout",
418
- "value": "inherit"
419
- }
420
- ]
421
- }
422
- },
423
- {
424
- "subpageLayoutId": {
425
- "label": "Subpages Layout Rule",
426
- "type": "layout-select",
427
- "dbType": "text",
428
- "default": "inherit",
429
- "inheritsFromParent": true,
430
- "allowedLayouts": [
431
- "two-column",
432
- "three-column",
433
- "single-column",
434
- "landing-page"
435
- ],
436
- "options": [
437
- {
438
- "label": "Inherit Layout",
439
- "value": "inherit"
440
- }
441
- ]
442
- }
443
- },
444
- {
445
- "menuTitle": {
446
- "label": "Menu Title",
447
- "type": "text",
448
- "dbType": "text",
449
- "public": true
450
- }
451
- },
452
- {
453
- "fieldSet": "page-meta"
454
- },
455
- {
456
- "fieldSet": "page-social"
457
- },
458
- {
459
- "fieldSet": "access"
460
- }
461
- ]
462
- }
463
- },
464
- "fields": {
465
- "fieldSet": "access",
466
- "layoutId": {
467
- "label": "Page Layout",
468
- "type": "layout-select",
469
- "dbType": "text",
470
- "default": "inherit",
471
- "inheritsFromParent": true,
472
- "allowedLayouts": [
473
- "two-column",
474
- "single-column",
475
- "three-column",
476
- "landing-page"
477
- ],
478
- "options": [
479
- {
480
- "label": "Inherit Layout",
481
- "value": "inherit"
482
- }
483
- ]
484
- },
485
- "subpageLayoutId": {
486
- "label": "Subpages Layout Rule",
487
- "type": "layout-select",
488
- "dbType": "text",
489
- "default": "inherit",
490
- "inheritsFromParent": true,
491
- "allowedLayouts": [
492
- "two-column",
493
- "three-column",
494
- "single-column",
495
- "landing-page"
496
- ],
497
- "options": [
498
- {
499
- "label": "Inherit Layout",
500
- "value": "inherit"
501
- }
502
- ]
503
- },
504
- "menuTitle": {
505
- "label": "Menu Title",
506
- "type": "text",
507
- "dbType": "text",
508
- "public": true
509
- }
510
- }
511
- },
512
- "person": {
513
- "id": "person",
514
- "label": "Person",
515
- "inTree": false,
516
- "inVault": true,
517
- "hasCanvas": false,
518
- "tabs": {
519
- "settings": {
520
- "label": "Person",
521
- "fields": [
522
- {
523
- "image": {
524
- "label": "Image",
525
- "type": "asset",
526
- "multiple": false,
527
- "maxSizeMB": 15,
528
- "allowedTypes": [
529
- "image/*"
530
- ],
531
- "maxPreviewWidth": 300,
532
- "crops": {
533
- "list_thumb": {
534
- "label": "List View",
535
- "aspectRatio": 1,
536
- "shape": "circle"
537
- }
538
- },
539
- "public": true
540
- }
541
- },
542
- {
543
- "title": {
544
- "label": "Title",
545
- "required": false
546
- }
547
- },
548
- {
549
- "firstName": {
550
- "label": "First Name",
551
- "showAsEditorTitle": true
552
- }
553
- },
554
- {
555
- "lastName": {
556
- "label": "Last Name",
557
- "showAsEditorTitle": true
558
- }
559
- },
560
- {
561
- "position": {
562
- "label": "Position",
563
- "required": false
564
- }
565
- },
566
- {
567
- "fieldSet": "access"
568
- }
569
- ]
570
- }
571
- },
572
- "fields": {
573
- "image": {
574
- "label": "Image",
575
- "type": "asset",
576
- "multiple": false,
577
- "maxSizeMB": 15,
578
- "allowedTypes": [
579
- "image/*"
580
- ],
581
- "maxPreviewWidth": 300,
582
- "crops": {
583
- "list_thumb": {
584
- "label": "List View",
585
- "aspectRatio": 1,
586
- "shape": "circle"
587
- }
588
- },
589
- "public": true
590
- },
591
- "title": {
592
- "label": "Title",
593
- "required": false
594
- },
595
- "firstName": {
596
- "label": "First Name",
597
- "showAsEditorTitle": true
598
- },
599
- "lastName": {
600
- "label": "Last Name",
601
- "showAsEditorTitle": true
602
- },
603
- "position": {
604
- "label": "Position",
605
- "required": false
606
- },
607
- "fieldSet": "access"
608
- }
609
- },
610
- "product": {
611
- "id": "product",
612
- "label": "Product",
613
- "inTree": false,
614
- "inVault": true,
615
- "hasCanvas": false,
616
- "directLinking": true,
617
- "layout": {
618
- "columns": "3fr 1fr",
619
- "areas": [
620
- [
621
- "main",
622
- "sidebar"
623
- ]
624
- ]
625
- },
626
- "regions": {
627
- "main": {
628
- "label": "Product Content"
629
- },
630
- "sidebar": {
631
- "label": "Sidebar"
632
- }
633
- },
634
- "allowedBlocks": [
635
- "header",
636
- "hero",
637
- "text",
638
- "image_card",
639
- "header_image",
640
- "two-column",
641
- "three-column",
642
- "single_image"
643
- ],
644
- "tabs": {
645
- "settings": {
646
- "label": "Product",
647
- "fields": [
648
- {
649
- "fieldSet": "page-base"
650
- },
651
- {
652
- "title": {
653
- "label": "Product Name",
654
- "required": true,
655
- "public": true
656
- }
657
- },
658
- {
659
- "slug": {
660
- "linkedTo": "title"
661
- }
662
- },
663
- {
664
- "price": {
665
- "label": "Price (€)",
666
- "type": "number",
667
- "public": true
668
- }
669
- },
670
- {
671
- "description": {
672
- "label": "Short Abstract",
673
- "type": "textarea",
674
- "public": true
675
- }
676
- },
677
- {
678
- "fieldSet": "meta"
679
- },
680
- {
681
- "fieldSet": "access"
682
- }
683
- ]
684
- },
685
- "media": {
686
- "label": "Media",
687
- "fields": [
688
- {
689
- "featuredImage": {
690
- "label": "Main Product Image",
691
- "description": "This is the primary image used in product grids, search results, and catalogs.",
692
- "type": "asset",
693
- "multiple": false,
694
- "maxSizeMB": 15,
695
- "allowedTypes": [
696
- "image/jpeg",
697
- "image/png",
698
- "image/webp"
699
- ],
700
- "crops": {
701
- "list_thumb": {
702
- "label": "List View (4:3)",
703
- "aspectRatio": 1.333
704
- },
705
- "catalog_card": {
706
- "label": "Portrait Card (3:4)",
707
- "aspectRatio": 0.75
708
- }
709
- },
710
- "public": true
711
- }
712
- },
713
- {
714
- "gallery": {
715
- "label": "Product Gallery",
716
- "description": "Drag up to 10 images here for the product detail carousel.",
717
- "type": "asset",
718
- "multiple": true,
719
- "maxItems": 10,
720
- "allowedTypes": [
721
- "image/jpeg",
722
- "image/png",
723
- "image/webp"
724
- ],
725
- "crops": {
726
- "carousel": {
727
- "label": "Carousel Hero (16:9)",
728
- "aspectRatio": 1.777
729
- },
730
- "zoom": {
731
- "label": "Detail Zoom (Square)",
732
- "aspectRatio": 1
733
- }
734
- },
735
- "public": true
736
- }
737
- }
738
- ]
739
- }
740
- },
741
- "fields": {
742
- "fieldSet": "access",
743
- "title": {
744
- "label": "Product Name",
745
- "required": true,
746
- "public": true
747
- },
748
- "slug": {
749
- "linkedTo": "title"
750
- },
751
- "price": {
752
- "label": "Price (€)",
753
- "type": "number",
754
- "public": true
755
- },
756
- "description": {
757
- "label": "Short Abstract",
758
- "type": "textarea",
759
- "public": true
760
- },
761
- "featuredImage": {
762
- "label": "Main Product Image",
763
- "description": "This is the primary image used in product grids, search results, and catalogs.",
764
- "type": "asset",
765
- "multiple": false,
766
- "maxSizeMB": 15,
767
- "allowedTypes": [
768
- "image/jpeg",
769
- "image/png",
770
- "image/webp"
771
- ],
772
- "crops": {
773
- "list_thumb": {
774
- "label": "List View (4:3)",
775
- "aspectRatio": 1.333
776
- },
777
- "catalog_card": {
778
- "label": "Portrait Card (3:4)",
779
- "aspectRatio": 0.75
780
- }
781
- },
782
- "public": true
783
- },
784
- "gallery": {
785
- "label": "Product Gallery",
786
- "description": "Drag up to 10 images here for the product detail carousel.",
787
- "type": "asset",
788
- "multiple": true,
789
- "maxItems": 10,
790
- "allowedTypes": [
791
- "image/jpeg",
792
- "image/png",
793
- "image/webp"
794
- ],
795
- "crops": {
796
- "carousel": {
797
- "label": "Carousel Hero (16:9)",
798
- "aspectRatio": 1.777
799
- },
800
- "zoom": {
801
- "label": "Detail Zoom (Square)",
802
- "aspectRatio": 1
803
- }
804
- },
805
- "public": true
806
- }
807
- }
808
- }
809
- },
810
- "rawTrees": {
811
- "navigation": {
812
- "id": "navigation",
813
- "label": "Site Navigation",
814
- "tabs": {
815
- "settings": {
816
- "label": "Tree",
817
- "fields": [
818
- {
819
- "fieldSet": "tree-base"
820
- },
821
- {
822
- "baseUrl": {
823
- "label": "Base URL",
824
- "type": "text",
825
- "dbType": "text",
826
- "public": true
827
- }
828
- },
829
- {
830
- "defaultLanguage": {
831
- "label": "Channel Language / Locale",
832
- "type": "language-select",
833
- "dbType": "text",
834
- "public": true
835
- }
836
- },
837
- {
838
- "maxDepth": {
839
- "type": "select",
840
- "label": "Maximum Menu Depth",
841
- "default": "3",
842
- "options": [
843
- "1",
844
- "2",
845
- "3",
846
- "4"
847
- ]
848
- }
849
- },
850
- {
851
- "fieldSet": "access"
852
- }
853
- ]
854
- }
855
- }
856
- },
857
- "social-links": {
858
- "id": "social-links",
859
- "label": "Social links",
860
- "tabs": {
861
- "settings": {
862
- "label": "Tree",
863
- "fields": [
864
- {
865
- "fieldSet": "tree-base"
866
- },
867
- {
868
- "fieldSet": "access"
869
- }
870
- ]
871
- }
872
- }
873
- }
874
- },
875
- "rawChannels": {
876
- "ecommerce": {
877
- "id": "ecommerce",
878
- "label": "E-Commerce",
879
- "tabs": {
880
- "settings": {
881
- "label": "Channel",
882
- "fields": [
883
- {
884
- "fieldSet": "channel-base"
885
- },
886
- {
887
- "currency": {
888
- "label": "Default Currency",
889
- "type": "select",
890
- "default": "EUR",
891
- "options": [
892
- "EUR",
893
- "USD",
894
- "GBP"
895
- ]
896
- }
897
- },
898
- {
899
- "checkoutUrl": {
900
- "label": "Checkout Endpoint URL",
901
- "type": "text",
902
- "public": true
903
- }
904
- },
905
- {
906
- "fieldSet": "access"
907
- }
908
- ]
909
- }
910
- }
911
- },
912
- "website": {
913
- "id": "website",
914
- "label": "Website",
915
- "tabs": {
916
- "settings": {
917
- "label": "Channel",
918
- "fields": [
919
- {
920
- "fieldSet": "channel-base"
921
- },
922
- {
923
- "domain": {
924
- "label": "Hostname",
925
- "type": "text",
926
- "dbType": "text",
927
- "index": true,
928
- "public": true
929
- }
930
- },
931
- {
932
- "baseUrl": {
933
- "label": "Base URL",
934
- "type": "text",
935
- "dbType": "text",
936
- "public": true
937
- }
938
- },
939
- {
940
- "defaultLanguage": {
941
- "label": "Channel Language / Locale",
942
- "type": "language-select",
943
- "dbType": "text",
944
- "public": true
945
- }
946
- }
947
- ]
948
- },
949
- "access": {
950
- "label": "Access",
951
- "fields": [
952
- {
953
- "fieldSet": "access"
954
- }
955
- ]
956
- }
957
- }
958
- }
959
- },
960
- "rawBlocks": {
961
- "button": {
962
- "id": "button",
963
- "label": "Button",
964
- "group": "Content",
965
- "description": "Button text",
966
- "fields": [
967
- {
968
- "text": {
969
- "label": "Text",
970
- "type": "richtext",
971
- "editor": "button",
972
- "public": true
973
- }
974
- },
975
- {
976
- "fieldSet": "access"
977
- },
978
- {
979
- "hidden": {
980
- "default": false
981
- }
982
- }
983
- ]
984
- },
985
- "header": {
986
- "id": "header",
987
- "label": "Header",
988
- "group": "Content",
989
- "fields": [
990
- {
991
- "headline": {
992
- "type": "richtext",
993
- "editor": "header",
994
- "label": "Headline",
995
- "public": true,
996
- "default": "Header here..."
997
- }
998
- },
999
- {
1000
- "fieldSet": "access"
1001
- },
1002
- {
1003
- "hidden": {
1004
- "default": false
1005
- }
1006
- }
1007
- ]
1008
- },
1009
- "header_image": {
1010
- "id": "header_image",
1011
- "label": "Header Image",
1012
- "group": "Media",
1013
- "description": "Image for page header.",
1014
- "fields": [
1015
- {
1016
- "image": {
1017
- "label": "Image",
1018
- "type": "asset",
1019
- "required": true,
1020
- "multiple": false,
1021
- "maxSizeMB": 15,
1022
- "allowedTypes": [
1023
- "image/*"
1024
- ],
1025
- "crops": {
1026
- "standard": {
1027
- "label": "Page header (21:9)",
1028
- "aspectRatio": 2.333
1029
- }
1030
- },
1031
- "public": true
1032
- }
1033
- },
1034
- {
1035
- "fieldSet": "access"
1036
- },
1037
- {
1038
- "hidden": {
1039
- "default": false
1040
- }
1041
- }
1042
- ]
1043
- },
1044
- "hero": {
1045
- "id": "hero",
1046
- "label": "Hero",
1047
- "group": "Content",
1048
- "fields": [
1049
- {
1050
- "heroBadge": {
1051
- "type": "text",
1052
- "label": "Badge",
1053
- "public": true
1054
- }
1055
- },
1056
- {
1057
- "heroTitle": {
1058
- "type": "text",
1059
- "label": "Title",
1060
- "public": true
1061
- }
1062
- },
1063
- {
1064
- "heroSubTitle": {
1065
- "type": "text",
1066
- "label": "Sub-Title",
1067
- "public": true
1068
- }
1069
- },
1070
- {
1071
- "headline": {
1072
- "type": "richtext",
1073
- "editor": "header",
1074
- "label": "Headline",
1075
- "public": true,
1076
- "default": "Header here..."
1077
- }
1078
- },
1079
- {
1080
- "fieldSet": "access"
1081
- },
1082
- {
1083
- "hidden": {
1084
- "default": false
1085
- }
1086
- }
1087
- ]
1088
- },
1089
- "image_card": {
1090
- "id": "image_card",
1091
- "label": "Image Card",
1092
- "Group": "Content",
1093
- "description": "A versatile card with an image, text, and a CTA button.",
1094
- "fields": [
1095
- {
1096
- "image": {
1097
- "label": "Card Image",
1098
- "showLabel": false,
1099
- "type": "asset",
1100
- "required": true,
1101
- "multiple": false,
1102
- "maxSizeMB": 15,
1103
- "maxPreviewWidth": "300px",
1104
- "allowedTypes": [
1105
- "image/*"
1106
- ],
1107
- "crops": {
1108
- "standard": {
1109
- "label": "Card Header (16:9)",
1110
- "aspectRatio": 3
1111
- }
1112
- },
1113
- "public": true
1114
- }
1115
- },
1116
- {
1117
- "headline": {
1118
- "label": "Headline",
1119
- "type": "text",
1120
- "required": true,
1121
- "public": true,
1122
- "default": "Headline..."
1123
- }
1124
- },
1125
- {
1126
- "summary": {
1127
- "label": "Text",
1128
- "description": "Keep it brief, 2-3 sentences max.",
1129
- "type": "richtext",
1130
- "editor": "minimal",
1131
- "public": true,
1132
- "default": "Card text content..."
1133
- }
1134
- },
1135
- {
1136
- "link": {
1137
- "label": "Link",
1138
- "type": "link",
1139
- "allowedLinkTypes": [
1140
- "tree",
1141
- "node",
1142
- "url",
1143
- "file",
1144
- "email",
1145
- "telephone"
1146
- ]
1147
- }
1148
- },
1149
- {
1150
- "linkText": {
1151
- "label": "Button Text",
1152
- "type": "text",
1153
- "description": "e.g., 'Read More' or 'Buy Now'",
1154
- "default": "Read More",
1155
- "public": true
1156
- }
1157
- },
1158
- {
1159
- "fieldSet": "access"
1160
- },
1161
- {
1162
- "hidden": {
1163
- "default": false
1164
- }
1165
- }
1166
- ]
1167
- },
1168
- "single_image": {
1169
- "id": "single_image",
1170
- "label": "Single Image",
1171
- "group": "Media",
1172
- "description": "Just a single image block.",
1173
- "fields": [
1174
- {
1175
- "image": {
1176
- "label": "Image",
1177
- "type": "asset",
1178
- "required": true,
1179
- "multiple": false,
1180
- "maxSizeMB": 15,
1181
- "allowedTypes": [
1182
- "image/*"
1183
- ],
1184
- "public": true
1185
- }
1186
- },
1187
- {
1188
- "link": {
1189
- "label": "Link",
1190
- "type": "link",
1191
- "position": "sidebar",
1192
- "allowedLinkTypes": [
1193
- "tree",
1194
- "node",
1195
- "url",
1196
- "file"
1197
- ]
1198
- }
1199
- },
1200
- {
1201
- "fieldSet": "access"
1202
- },
1203
- {
1204
- "hidden": {
1205
- "default": false
1206
- }
1207
- }
1208
- ]
1209
- },
1210
- "text": {
1211
- "id": "text",
1212
- "label": "Text",
1213
- "group": "Content",
1214
- "description": "Paragraph body",
1215
- "fields": [
1216
- {
1217
- "body": {
1218
- "label": "Text",
1219
- "type": "richtext",
1220
- "editor": "default",
1221
- "default": "Write content here...",
1222
- "public": true
1223
- }
1224
- },
1225
- {
1226
- "fieldSet": "access"
1227
- },
1228
- {
1229
- "hidden": {
1230
- "default": false
1231
- }
1232
- }
1233
- ]
1234
- }
1235
- },
1236
- "rawElements": {
1237
- "button": {
1238
- "id": "button",
1239
- "label": "Button",
1240
- "group": "Content",
1241
- "description": "Button text",
1242
- "fields": [
1243
- {
1244
- "text": {
1245
- "label": "Text",
1246
- "type": "richtext",
1247
- "editor": "button",
1248
- "public": true
1249
- }
1250
- },
1251
- {
1252
- "fieldSet": "access"
1253
- },
1254
- {
1255
- "hidden": {
1256
- "default": false
1257
- }
1258
- }
1259
- ]
1260
- },
1261
- "header": {
1262
- "id": "header",
1263
- "label": "Header",
1264
- "group": "Content",
1265
- "fields": [
1266
- {
1267
- "headline": {
1268
- "type": "richtext",
1269
- "editor": "header",
1270
- "label": "Headline",
1271
- "public": true,
1272
- "default": "Header here..."
1273
- }
1274
- },
1275
- {
1276
- "fieldSet": "access"
1277
- },
1278
- {
1279
- "hidden": {
1280
- "default": false
1281
- }
1282
- }
1283
- ]
1284
- },
1285
- "header_image": {
1286
- "id": "header_image",
1287
- "label": "Header Image",
1288
- "group": "Media",
1289
- "description": "Image for page header.",
1290
- "fields": [
1291
- {
1292
- "image": {
1293
- "label": "Image",
1294
- "type": "asset",
1295
- "required": true,
1296
- "multiple": false,
1297
- "maxSizeMB": 15,
1298
- "allowedTypes": [
1299
- "image/*"
1300
- ],
1301
- "crops": {
1302
- "standard": {
1303
- "label": "Page header (21:9)",
1304
- "aspectRatio": 2.333
1305
- }
1306
- },
1307
- "public": true
1308
- }
1309
- },
1310
- {
1311
- "fieldSet": "access"
1312
- },
1313
- {
1314
- "hidden": {
1315
- "default": false
1316
- }
1317
- }
1318
- ]
1319
- },
1320
- "hero": {
1321
- "id": "hero",
1322
- "label": "Hero",
1323
- "group": "Content",
1324
- "fields": [
1325
- {
1326
- "heroBadge": {
1327
- "type": "text",
1328
- "label": "Badge",
1329
- "public": true
1330
- }
1331
- },
1332
- {
1333
- "heroTitle": {
1334
- "type": "text",
1335
- "label": "Title",
1336
- "public": true
1337
- }
1338
- },
1339
- {
1340
- "heroSubTitle": {
1341
- "type": "text",
1342
- "label": "Sub-Title",
1343
- "public": true
1344
- }
1345
- },
1346
- {
1347
- "headline": {
1348
- "type": "richtext",
1349
- "editor": "header",
1350
- "label": "Headline",
1351
- "public": true,
1352
- "default": "Header here..."
1353
- }
1354
- },
1355
- {
1356
- "fieldSet": "access"
1357
- },
1358
- {
1359
- "hidden": {
1360
- "default": false
1361
- }
1362
- }
1363
- ]
1364
- },
1365
- "image_card": {
1366
- "id": "image_card",
1367
- "label": "Image Card",
1368
- "Group": "Content",
1369
- "description": "A versatile card with an image, text, and a CTA button.",
1370
- "fields": [
1371
- {
1372
- "image": {
1373
- "label": "Card Image",
1374
- "showLabel": false,
1375
- "type": "asset",
1376
- "required": true,
1377
- "multiple": false,
1378
- "maxSizeMB": 15,
1379
- "maxPreviewWidth": "300px",
1380
- "allowedTypes": [
1381
- "image/*"
1382
- ],
1383
- "crops": {
1384
- "standard": {
1385
- "label": "Card Header (16:9)",
1386
- "aspectRatio": 3
1387
- }
1388
- },
1389
- "public": true
1390
- }
1391
- },
1392
- {
1393
- "headline": {
1394
- "label": "Headline",
1395
- "type": "text",
1396
- "required": true,
1397
- "public": true,
1398
- "default": "Headline..."
1399
- }
1400
- },
1401
- {
1402
- "summary": {
1403
- "label": "Text",
1404
- "description": "Keep it brief, 2-3 sentences max.",
1405
- "type": "richtext",
1406
- "editor": "minimal",
1407
- "public": true,
1408
- "default": "Card text content..."
1409
- }
1410
- },
1411
- {
1412
- "link": {
1413
- "label": "Link",
1414
- "type": "link",
1415
- "allowedLinkTypes": [
1416
- "tree",
1417
- "node",
1418
- "url",
1419
- "file",
1420
- "email",
1421
- "telephone"
1422
- ]
1423
- }
1424
- },
1425
- {
1426
- "linkText": {
1427
- "label": "Button Text",
1428
- "type": "text",
1429
- "description": "e.g., 'Read More' or 'Buy Now'",
1430
- "default": "Read More",
1431
- "public": true
1432
- }
1433
- },
1434
- {
1435
- "fieldSet": "access"
1436
- },
1437
- {
1438
- "hidden": {
1439
- "default": false
1440
- }
1441
- }
1442
- ]
1443
- },
1444
- "single_image": {
1445
- "id": "single_image",
1446
- "label": "Single Image",
1447
- "group": "Media",
1448
- "description": "Just a single image block.",
1449
- "fields": [
1450
- {
1451
- "image": {
1452
- "label": "Image",
1453
- "type": "asset",
1454
- "required": true,
1455
- "multiple": false,
1456
- "maxSizeMB": 15,
1457
- "allowedTypes": [
1458
- "image/*"
1459
- ],
1460
- "public": true
1461
- }
1462
- },
1463
- {
1464
- "link": {
1465
- "label": "Link",
1466
- "type": "link",
1467
- "position": "sidebar",
1468
- "allowedLinkTypes": [
1469
- "tree",
1470
- "node",
1471
- "url",
1472
- "file"
1473
- ]
1474
- }
1475
- },
1476
- {
1477
- "fieldSet": "access"
1478
- },
1479
- {
1480
- "hidden": {
1481
- "default": false
1482
- }
1483
- }
1484
- ]
1485
- },
1486
- "text": {
1487
- "id": "text",
1488
- "label": "Text",
1489
- "group": "Content",
1490
- "description": "Paragraph body",
1491
- "fields": [
1492
- {
1493
- "body": {
1494
- "label": "Text",
1495
- "type": "richtext",
1496
- "editor": "default",
1497
- "default": "Write content here...",
1498
- "public": true
1499
- }
1500
- },
1501
- {
1502
- "fieldSet": "access"
1503
- },
1504
- {
1505
- "hidden": {
1506
- "default": false
1507
- }
1508
- }
1509
- ]
1510
- }
1511
- },
1512
- "rawBlockLayouts": {
1513
- "three-column": {
1514
- "id": "three-column",
1515
- "label": "Three Columns (33/33/33)",
1516
- "showLabel": false,
1517
- "group": "Sub-Layouts",
1518
- "layout": {
1519
- "columns": "1fr 1fr 1fr",
1520
- "areas": [
1521
- [
1522
- "left",
1523
- "middle",
1524
- "right"
1525
- ]
1526
- ]
1527
- },
1528
- "regions": {
1529
- "left": {
1530
- "label": "Left Column",
1531
- "showLabel": false
1532
- },
1533
- "middle": {
1534
- "label": "Middle Column",
1535
- "showLabel": false
1536
- },
1537
- "right": {
1538
- "label": "Right Column",
1539
- "showLabel": false
1540
- }
1541
- }
1542
- },
1543
- "two-column": {
1544
- "id": "two-column",
1545
- "label": "Two Columns (50/50)",
1546
- "showLabel": false,
1547
- "group": "Sub-Layouts",
1548
- "layout": {
1549
- "columns": "1fr 1fr",
1550
- "areas": [
1551
- [
1552
- "left",
1553
- "right"
1554
- ]
1555
- ]
1556
- },
1557
- "regions": {
1558
- "left": {
1559
- "label": "Left Column",
1560
- "showLabel": false
1561
- },
1562
- "right": {
1563
- "label": "Right Column",
1564
- "showLabel": false
1565
- }
1566
- },
1567
- "fields": {
1568
- "gap": {
1569
- "label": "Column Gap",
1570
- "type": "select",
1571
- "default": "2rem",
1572
- "options": [
1573
- {
1574
- "label": "None",
1575
- "value": "0"
1576
- },
1577
- {
1578
- "label": "Small",
1579
- "value": "1rem"
1580
- },
1581
- {
1582
- "label": "Medium",
1583
- "value": "2rem"
1584
- },
1585
- {
1586
- "label": "Large",
1587
- "value": "4rem"
1588
- }
1589
- ]
1590
- }
1591
- }
1592
- }
1593
- },
1594
- "rawNodeLayouts": {
1595
- "landing-page": {
1596
- "id": "landing-page",
1597
- "label": "Landing Page",
1598
- "layout": {
1599
- "columns": "1fr",
1600
- "areas": [
1601
- [
1602
- "header"
1603
- ],
1604
- [
1605
- "hero"
1606
- ],
1607
- [
1608
- "content"
1609
- ],
1610
- [
1611
- "footer"
1612
- ]
1613
- ]
1614
- },
1615
- "regions": {
1616
- "header": {
1617
- "label": "Header",
1618
- "inherit": "parent"
1619
- },
1620
- "hero": {
1621
- "label": "Hero / Top Banner"
1622
- },
1623
- "content": {
1624
- "label": "Content"
1625
- },
1626
- "footer": {
1627
- "label": "Footer",
1628
- "inherit": "parent"
1629
- }
1630
- }
1631
- },
1632
- "single-column": {
1633
- "id": "single-column",
1634
- "label": "Single Column",
1635
- "layout": {
1636
- "columns": "1fr",
1637
- "areas": [
1638
- [
1639
- "header"
1640
- ],
1641
- [
1642
- "content"
1643
- ],
1644
- [
1645
- "footer"
1646
- ]
1647
- ]
1648
- },
1649
- "regions": {
1650
- "header": {
1651
- "label": "Header Image",
1652
- "showLabel": true,
1653
- "inherit": "parent",
1654
- "allowOverride": true,
1655
- "dropType": "image",
1656
- "maxPreviewWidth": "800px",
1657
- "multiple": false,
1658
- "maxSizeMB": 20,
1659
- "allowedTypes": [
1660
- "image/*"
1661
- ],
1662
- "crops": {
1663
- "standard": {
1664
- "label": "Desktop Header (4:1)",
1665
- "aspectRatio": 4
1666
- },
1667
- "tablet": {
1668
- "label": "Tablet Header (2:1)",
1669
- "aspectRatio": 2
1670
- },
1671
- "mobile": {
1672
- "label": "Mobile Header (4:3)",
1673
- "aspectRatio": 1.33
1674
- }
1675
- },
1676
- "public": true
1677
- },
1678
- "content": {
1679
- "label": "Content"
1680
- },
1681
- "footer": {
1682
- "label": "Footer",
1683
- "inherit": "parent"
1684
- }
1685
- }
1686
- },
1687
- "three-column": {
1688
- "id": "three-column",
1689
- "label": "Three Column",
1690
- "layout": {
1691
- "columns": "2fr 7fr 3fr",
1692
- "areas": [
1693
- [
1694
- "header",
1695
- "header",
1696
- "header"
1697
- ],
1698
- [
1699
- "left_nav",
1700
- "content",
1701
- "right_sidebar"
1702
- ],
1703
- [
1704
- "footer",
1705
- "footer",
1706
- "footer"
1707
- ]
1708
- ]
1709
- },
1710
- "regions": {
1711
- "header": {
1712
- "label": "Header Image",
1713
- "showLabel": true,
1714
- "inherit": "parent",
1715
- "allowOverride": true,
1716
- "dropType": "image",
1717
- "maxPreviewWidth": "800px",
1718
- "multiple": false,
1719
- "maxSizeMB": 20,
1720
- "allowedTypes": [
1721
- "image/*"
1722
- ],
1723
- "crops": {
1724
- "standard": {
1725
- "label": "Desktop Header (4:1)",
1726
- "aspectRatio": 4
1727
- },
1728
- "tablet": {
1729
- "label": "Tablet Header (2:1)",
1730
- "aspectRatio": 2
1731
- },
1732
- "mobile": {
1733
- "label": "Mobile Header (4:3)",
1734
- "aspectRatio": 1.33
1735
- }
1736
- },
1737
- "public": true
1738
- },
1739
- "left_nav": {
1740
- "label": "Left Navigation"
1741
- },
1742
- "content": {
1743
- "label": "Content"
1744
- },
1745
- "right_sidebar": {
1746
- "label": "Right Sidebar"
1747
- },
1748
- "footer": {
1749
- "label": "Footer",
1750
- "inherit": "parent"
1751
- }
1752
- }
1753
- },
1754
- "two-column": {
1755
- "id": "two-column",
1756
- "label": "Two Column",
1757
- "layout": {
1758
- "columns": "10fr 4fr",
1759
- "areas": [
1760
- [
1761
- "header",
1762
- "header"
1763
- ],
1764
- [
1765
- "content",
1766
- "sidebar"
1767
- ],
1768
- [
1769
- "footer",
1770
- "footer"
1771
- ]
1772
- ]
1773
- },
1774
- "regions": {
1775
- "header": {
1776
- "label": "Header Image",
1777
- "showLabel": true,
1778
- "inherit": "parent",
1779
- "allowOverride": true,
1780
- "dropType": "image",
1781
- "maxPreviewWidth": "800px",
1782
- "multiple": false,
1783
- "maxSizeMB": 20,
1784
- "allowedTypes": [
1785
- "image/*"
1786
- ],
1787
- "crops": {
1788
- "standard": {
1789
- "label": "Desktop Header (4:1)",
1790
- "aspectRatio": 4
1791
- },
1792
- "tablet": {
1793
- "label": "Tablet Header (2:1)",
1794
- "aspectRatio": 2
1795
- },
1796
- "mobile": {
1797
- "label": "Mobile Header (4:3)",
1798
- "aspectRatio": 1.33
1799
- }
1800
- },
1801
- "public": true
1802
- },
1803
- "content": {
1804
- "label": "Content"
1805
- },
1806
- "sidebar": {
1807
- "label": "Sidebar"
1808
- },
1809
- "footer": {
1810
- "label": "Footer",
1811
- "inherit": "parent"
1812
- }
1813
- }
1814
- }
1815
- },
1816
- "rawLayouts": {
1817
- "landing-page": {
1818
- "id": "landing-page",
1819
- "label": "Landing Page",
1820
- "layout": {
1821
- "columns": "1fr",
1822
- "areas": [
1823
- [
1824
- "header"
1825
- ],
1826
- [
1827
- "hero"
1828
- ],
1829
- [
1830
- "content"
1831
- ],
1832
- [
1833
- "footer"
1834
- ]
1835
- ]
1836
- },
1837
- "regions": {
1838
- "header": {
1839
- "label": "Header",
1840
- "inherit": "parent"
1841
- },
1842
- "hero": {
1843
- "label": "Hero / Top Banner"
1844
- },
1845
- "content": {
1846
- "label": "Content"
1847
- },
1848
- "footer": {
1849
- "label": "Footer",
1850
- "inherit": "parent"
1851
- }
1852
- }
1853
- },
1854
- "single-column": {
1855
- "id": "single-column",
1856
- "label": "Single Column",
1857
- "layout": {
1858
- "columns": "1fr",
1859
- "areas": [
1860
- [
1861
- "header"
1862
- ],
1863
- [
1864
- "content"
1865
- ],
1866
- [
1867
- "footer"
1868
- ]
1869
- ]
1870
- },
1871
- "regions": {
1872
- "header": {
1873
- "label": "Header Image",
1874
- "showLabel": true,
1875
- "inherit": "parent",
1876
- "allowOverride": true,
1877
- "dropType": "image",
1878
- "maxPreviewWidth": "800px",
1879
- "multiple": false,
1880
- "maxSizeMB": 20,
1881
- "allowedTypes": [
1882
- "image/*"
1883
- ],
1884
- "crops": {
1885
- "standard": {
1886
- "label": "Desktop Header (4:1)",
1887
- "aspectRatio": 4
1888
- },
1889
- "tablet": {
1890
- "label": "Tablet Header (2:1)",
1891
- "aspectRatio": 2
1892
- },
1893
- "mobile": {
1894
- "label": "Mobile Header (4:3)",
1895
- "aspectRatio": 1.33
1896
- }
1897
- },
1898
- "public": true
1899
- },
1900
- "content": {
1901
- "label": "Content"
1902
- },
1903
- "footer": {
1904
- "label": "Footer",
1905
- "inherit": "parent"
1906
- }
1907
- }
1908
- },
1909
- "three-column": {
1910
- "id": "three-column",
1911
- "label": "Three Columns (33/33/33)",
1912
- "showLabel": false,
1913
- "group": "Sub-Layouts",
1914
- "layout": {
1915
- "columns": "1fr 1fr 1fr",
1916
- "areas": [
1917
- [
1918
- "left",
1919
- "middle",
1920
- "right"
1921
- ]
1922
- ]
1923
- },
1924
- "regions": {
1925
- "left": {
1926
- "label": "Left Column",
1927
- "showLabel": false
1928
- },
1929
- "middle": {
1930
- "label": "Middle Column",
1931
- "showLabel": false
1932
- },
1933
- "right": {
1934
- "label": "Right Column",
1935
- "showLabel": false
1936
- }
1937
- }
1938
- },
1939
- "two-column": {
1940
- "id": "two-column",
1941
- "label": "Two Columns (50/50)",
1942
- "showLabel": false,
1943
- "group": "Sub-Layouts",
1944
- "layout": {
1945
- "columns": "1fr 1fr",
1946
- "areas": [
1947
- [
1948
- "left",
1949
- "right"
1950
- ]
1951
- ]
1952
- },
1953
- "regions": {
1954
- "left": {
1955
- "label": "Left Column",
1956
- "showLabel": false
1957
- },
1958
- "right": {
1959
- "label": "Right Column",
1960
- "showLabel": false
1961
- }
1962
- },
1963
- "fields": {
1964
- "gap": {
1965
- "label": "Column Gap",
1966
- "type": "select",
1967
- "default": "2rem",
1968
- "options": [
1969
- {
1970
- "label": "None",
1971
- "value": "0"
1972
- },
1973
- {
1974
- "label": "Small",
1975
- "value": "1rem"
1976
- },
1977
- {
1978
- "label": "Medium",
1979
- "value": "2rem"
1980
- },
1981
- {
1982
- "label": "Large",
1983
- "value": "4rem"
1984
- }
1985
- ]
1986
- }
1987
- }
1988
- }
1989
- },
1990
- "rawFieldSets": {
1991
- "access": {
1992
- "tab": {
1993
- "id": "access",
1994
- "label": "Access"
1995
- },
1996
- "fields": {
1997
- "isHidden": {
1998
- "type": "boolean",
1999
- "label": "Hidden",
2000
- "default": false,
2001
- "public": false,
2002
- "variant": "danger",
2003
- "dbType": "integer",
2004
- "index": true,
2005
- "position": "sidebar",
2006
- "liveSync": true
2007
- },
2008
- "startShowingAt": {
2009
- "type": "datetime",
2010
- "label": "Start Showing At",
2011
- "position": "sidebar",
2012
- "public": false,
2013
- "index": true
2014
- },
2015
- "stopShowingAt": {
2016
- "type": "datetime",
2017
- "label": "Stop Showing At",
2018
- "position": "sidebar",
2019
- "public": false,
2020
- "index": true
2021
- }
2022
- }
2023
- },
2024
- "channel-base": {
2025
- "id": "channel-base",
2026
- "label": "Channel Base Properties",
2027
- "fields": [
2028
- {
2029
- "id": {
2030
- "label": "Internal ID",
2031
- "type": "hidden",
2032
- "dbType": "integer",
2033
- "primaryKey": true
2034
- }
2035
- },
2036
- {
2037
- "label": {
2038
- "label": "Channel Name",
2039
- "type": "text",
2040
- "dbType": "text",
2041
- "public": true,
2042
- "rules": {
2043
- "required": true
2044
- }
2045
- }
2046
- },
2047
- {
2048
- "key": {
2049
- "label": "API Identifier",
2050
- "type": "slug",
2051
- "dbType": "text",
2052
- "public": true,
2053
- "index": true,
2054
- "linkedTo": "label",
2055
- "placeholder": "e.g. main-site, store-eu",
2056
- "rules": {
2057
- "required": true,
2058
- "unique": true,
2059
- "pattern": "^[a-z0-9-_]+$",
2060
- "customMessage": "API key must be unique and contain only lowercase letters, numbers, hyphens, or underscores."
2061
- }
2062
- }
2063
- }
2064
- ]
2065
- },
2066
- "comments": {
2067
- "tab": {
2068
- "id": "comments",
2069
- "label": "Comments"
2070
- },
2071
- "fields": {
2072
- "isHidden": {
2073
- "type": "textarea",
2074
- "label": "Comments",
2075
- "public": false,
2076
- "index": true,
2077
- "position": "sidebar"
2078
- }
2079
- }
2080
- },
2081
- "content-block": {
2082
- "id": "content-block",
2083
- "label": "Content Block Base Properties",
2084
- "fields": [
2085
- {
2086
- "id": {
2087
- "label": "ID",
2088
- "type": "hidden",
2089
- "dbType": "text",
2090
- "primaryKey": true
2091
- }
2092
- },
2093
- {
2094
- "contentId": {
2095
- "label": "Node ID",
2096
- "type": "text",
2097
- "dbType": "text",
2098
- "rules": {
2099
- "required": true
2100
- }
2101
- }
2102
- },
2103
- {
2104
- "sortOrder": {
2105
- "label": "Sort Order",
2106
- "type": "number",
2107
- "dbType": "integer",
2108
- "rules": {
2109
- "required": true
2110
- }
2111
- }
2112
- },
2113
- {
2114
- "elementType": {
2115
- "label": "Element Component Type",
2116
- "type": "text",
2117
- "dbType": "text",
2118
- "rules": {
2119
- "required": true
2120
- }
2121
- }
2122
- },
2123
- {
2124
- "dataJson": {
2125
- "label": "Content Field Data",
2126
- "type": "json",
2127
- "dbType": "json",
2128
- "rules": {
2129
- "required": true
2130
- }
2131
- }
2132
- },
2133
- {
2134
- "region": {
2135
- "label": "Grid Region",
2136
- "type": "text",
2137
- "dbType": "text",
2138
- "default": "main",
2139
- "rules": {
2140
- "required": true
2141
- }
2142
- }
2143
- }
2144
- ]
2145
- },
2146
- "page-base": {
2147
- "id": "page-base",
2148
- "label": "Base Page Properties",
2149
- "fields": [
2150
- {
2151
- "id": {
2152
- "label": "ID",
2153
- "type": "hidden",
2154
- "dbType": "text",
2155
- "primaryKey": true,
2156
- "public": true
2157
- }
2158
- },
2159
- {
2160
- "channelId": {
2161
- "label": "Channel ID",
2162
- "type": "hidden",
2163
- "dbType": "text",
2164
- "public": true,
2165
- "index": true
2166
- }
2167
- },
2168
- {
2169
- "nodeType": {
2170
- "label": "Type",
2171
- "type": "select",
2172
- "dbType": "text",
2173
- "default": "page",
2174
- "public": true,
2175
- "position": "sidebar",
2176
- "rules": {
2177
- "required": true
2178
- }
2179
- }
2180
- },
2181
- {
2182
- "title": {
2183
- "label": "Page Title",
2184
- "type": "text",
2185
- "dbType": "text",
2186
- "public": true,
2187
- "rules": {
2188
- "required": true
2189
- }
2190
- }
2191
- },
2192
- {
2193
- "slug": {
2194
- "label": "URL Slug",
2195
- "type": "slug",
2196
- "linkedTo": "title",
2197
- "dbType": "text",
2198
- "public": true,
2199
- "index": true,
2200
- "rules": {
2201
- "required": true,
2202
- "uniqueSibling": true,
2203
- "pattern": "^[a-z0-9_-]+$",
2204
- "customMessage": "Slug can only contain lowercase letters, numbers, hyphens, and underscores."
2205
- }
2206
- }
2207
- }
2208
- ]
2209
- },
2210
- "page-meta": {
2211
- "tab": {
2212
- "id": "page-meta",
2213
- "label": "Meta"
2214
- },
2215
- "fields": {
2216
- "metaDescription": {
2217
- "label": "Meta Description",
2218
- "type": "textarea",
2219
- "public": true
2220
- },
2221
- "metaKeywords": {
2222
- "label": "Meta Keywords",
2223
- "type": "textarea",
2224
- "required": false,
2225
- "public": true
2226
- },
2227
- "titlePrefix": {
2228
- "label": "Title Prefix",
2229
- "type": "text",
2230
- "required": false,
2231
- "public": true,
2232
- "inherits": "titlePrefix"
2233
- },
2234
- "titleSuffix": {
2235
- "label": "Title Suffix",
2236
- "type": "text",
2237
- "required": false,
2238
- "public": true,
2239
- "inherits": "titleSuffix"
2240
- }
2241
- }
2242
- },
2243
- "page-social": {
2244
- "tab": {
2245
- "id": "page-social",
2246
- "label": "Social"
2247
- },
2248
- "fields": {
2249
- "fbTitle": {
2250
- "label": "Facebook Title (og:title)",
2251
- "type": "text",
2252
- "inherits": "title",
2253
- "public": true,
2254
- "description": "The title of your article as it should appear on Facebook."
2255
- },
2256
- "fbDescription": {
2257
- "label": "Facebook Description (og:description)",
2258
- "type": "textarea",
2259
- "inherits": "metaDescription",
2260
- "public": true,
2261
- "description": "A 2-4 sentence summary of the content."
2262
- },
2263
- "xTitle": {
2264
- "label": "X Title (twitter:title)",
2265
- "type": "text",
2266
- "inherits": "fbTitle",
2267
- "public": true,
2268
- "description": "Keep it concise (under 70 characters is ideal for X)."
2269
- },
2270
- "xDescription": {
2271
- "label": "X Description (twitter:description)",
2272
- "type": "textarea",
2273
- "inherits": "fbDescription",
2274
- "public": true
2275
- },
2276
- "socialImage": {
2277
- "label": "Master Social Image",
2278
- "type": "image",
2279
- "maxPreviewWidth": "620px",
2280
- "multiple": false,
2281
- "maxSizeMB": 10,
2282
- "allowedTypes": [
2283
- "image/jpeg",
2284
- "image/png",
2285
- "image/webp"
2286
- ],
2287
- "public": true
2288
- },
2289
- "fbImage": {
2290
- "label": "Facebook / LinkedIn Image",
2291
- "type": "image",
2292
- "maxPreviewWidth": "620px",
2293
- "inherits": "socialImage",
2294
- "public": true,
2295
- "description": "Auto-cropped to 1.91:1. Drop a new image here to override.",
2296
- "crops": {
2297
- "aspectRatio": 1.91
2298
- }
2299
- },
2300
- "xImage": {
2301
- "label": "X (Twitter) Image",
2302
- "type": "image",
2303
- "maxPreviewWidth": "620px",
2304
- "inherits": "socialImage",
2305
- "public": true,
2306
- "description": "Auto-cropped to 2:1. Drop a new image here to override.",
2307
- "crops": {
2308
- "aspectRatio": 2
2309
- }
2310
- },
2311
- "whatsappImage": {
2312
- "label": "Messaging / Square Image",
2313
- "type": "image",
2314
- "maxPreviewWidth": "620px",
2315
- "inherits": "socialImage",
2316
- "public": true,
2317
- "description": "Auto-cropped to 1:1. Drop a new image here to override.",
2318
- "crops": {
2319
- "whatsappImage": {
2320
- "label": "WhatsApp Image (1:1)",
2321
- "aspectRatio": 1
2322
- }
2323
- }
2324
- }
2325
- }
2326
- },
2327
- "tree-base": {
2328
- "id": "tree-base",
2329
- "label": "Tree Base Properties",
2330
- "fields": [
2331
- {
2332
- "id": {
2333
- "label": "Internal ID",
2334
- "type": "hidden",
2335
- "dbType": "integer",
2336
- "primaryKey": true
2337
- }
2338
- },
2339
- {
2340
- "label": {
2341
- "label": "Label",
2342
- "type": "text",
2343
- "dbType": "text",
2344
- "public": true,
2345
- "rules": {
2346
- "required": true
2347
- }
2348
- }
2349
- },
2350
- {
2351
- "key": {
2352
- "label": "API Identifier",
2353
- "type": "slug",
2354
- "dbType": "text",
2355
- "index": true,
2356
- "public": true,
2357
- "linkedTo": "label",
2358
- "placeholder": "e.g. main-site, store-eu",
2359
- "rules": {
2360
- "required": true,
2361
- "unique": true,
2362
- "pattern": "^[a-z0-9-_]+$",
2363
- "customMessage": "API key must be unique and contain only lowercase letters, numbers, hyphens, or underscores."
2364
- }
2365
- }
2366
- }
2367
- ]
2368
- },
2369
- "visibility": {
2370
- "fields": {
2371
- "showInMenus": {
2372
- "type": "boolean",
2373
- "label": "Show in Menus",
2374
- "default": true,
2375
- "position": "sidebar",
2376
- "public": true,
2377
- "variant": "alert"
2378
- }
2379
- }
2380
- }
2381
- },
2382
- "rawTemplates": {},
2383
- "nodeTemplate": {
2384
- "fields": {}
2385
- },
2386
- "treeTemplate": {
2387
- "fields": {}
2388
- },
2389
- "channelTemplate": {
2390
- "fields": {}
2391
- },
2392
- "userTemplate": {
2393
- "fields": {}
2394
- }
2395
- };