@frontlit/page-builder 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (98) hide show
  1. package/README.md +32 -0
  2. package/dist/blocks/index.d.ts +33 -21
  3. package/dist/blocks/index.js +3 -3
  4. package/dist/builder/index.d.ts +7 -8
  5. package/dist/builder/index.js +6 -5
  6. package/dist/{button-Bzt1GDO-.d.ts → button-OLKN3wPf.d.ts} +2 -2
  7. package/dist/{chunk-H4P5MFJI.js → chunk-36QHCIPM.js} +205 -251
  8. package/dist/chunk-36QHCIPM.js.map +1 -0
  9. package/dist/chunk-BBI7UHOA.js +56 -0
  10. package/dist/chunk-BBI7UHOA.js.map +1 -0
  11. package/dist/{chunk-KQKSLI3L.js → chunk-GIKTOAQS.js} +335 -122
  12. package/dist/chunk-GIKTOAQS.js.map +1 -0
  13. package/dist/chunk-HWOVSHIW.js +4 -0
  14. package/dist/{chunk-RUYOL7JZ.js.map → chunk-HWOVSHIW.js.map} +1 -1
  15. package/dist/{chunk-HDINUNI2.js → chunk-IU4KATI2.js} +69 -96
  16. package/dist/chunk-IU4KATI2.js.map +1 -0
  17. package/dist/{chunk-SGNRWWG3.js → chunk-J7Z4UW45.js} +530 -135
  18. package/dist/chunk-J7Z4UW45.js.map +1 -0
  19. package/dist/{chunk-UO7XGBGM.js → chunk-K4WCLHMS.js} +1182 -1033
  20. package/dist/chunk-K4WCLHMS.js.map +1 -0
  21. package/dist/components/index.d.ts +33 -8
  22. package/dist/components/index.js +42 -2
  23. package/dist/components/index.js.map +1 -1
  24. package/dist/data-slots.d.ts +3 -3
  25. package/dist/fonts/archivo/archivo-latin-variable.woff2 +0 -0
  26. package/dist/fonts/hanken-grotesk/hanken-grotesk-latin-variable.woff2 +0 -0
  27. package/dist/fonts/jetbrains-mono/jetbrains-mono-latin-variable.woff2 +0 -0
  28. package/dist/fonts/spline-sans-mono/spline-sans-mono-latin-variable.woff2 +0 -0
  29. package/dist/heading-DQCxQt38.d.ts +20 -0
  30. package/dist/image-Bk8kPXwP.d.ts +52 -0
  31. package/dist/index.d.ts +17 -10
  32. package/dist/index.js +7 -6
  33. package/dist/models/index.d.ts +5 -5
  34. package/dist/models/index.js +1 -1
  35. package/dist/{page-W3hQga4w.d.ts → page-B5Gmm-Ys.d.ts} +1 -1
  36. package/dist/primitives/index.d.ts +44 -9
  37. package/dist/primitives/index.js +1 -1
  38. package/dist/renderer/index.d.ts +12 -8
  39. package/dist/renderer/index.js +5 -4
  40. package/dist/{section-background-MsdE40Rk.d.ts → section-background-6V_LCi5e.d.ts} +1 -1
  41. package/dist/server/index.d.ts +103 -0
  42. package/dist/server/index.js +2649 -0
  43. package/dist/server/index.js.map +1 -0
  44. package/dist/server/islands/code-snippet.d.ts +17 -0
  45. package/dist/server/islands/code-snippet.js +72 -0
  46. package/dist/server/islands/code-snippet.js.map +1 -0
  47. package/dist/server/islands/email-form.d.ts +50 -0
  48. package/dist/server/islands/email-form.js +406 -0
  49. package/dist/server/islands/email-form.js.map +1 -0
  50. package/dist/server/islands/header-mobile-menu.d.ts +22 -0
  51. package/dist/server/islands/header-mobile-menu.js +422 -0
  52. package/dist/server/islands/header-mobile-menu.js.map +1 -0
  53. package/dist/server/islands/inline-embed.d.ts +28 -0
  54. package/dist/server/islands/inline-embed.js +84 -0
  55. package/dist/server/islands/inline-embed.js.map +1 -0
  56. package/dist/server/islands/marquee-track.d.ts +18 -0
  57. package/dist/server/islands/marquee-track.js +67 -0
  58. package/dist/server/islands/marquee-track.js.map +1 -0
  59. package/dist/server/islands/nav-link.d.ts +37 -0
  60. package/dist/server/islands/nav-link.js +67 -0
  61. package/dist/server/islands/nav-link.js.map +1 -0
  62. package/dist/server/islands/support-form.d.ts +17 -0
  63. package/dist/server/islands/support-form.js +469 -0
  64. package/dist/server/islands/support-form.js.map +1 -0
  65. package/dist/server/islands/theme-mode-switcher.d.ts +38 -0
  66. package/dist/server/islands/theme-mode-switcher.js +169 -0
  67. package/dist/server/islands/theme-mode-switcher.js.map +1 -0
  68. package/dist/server/islands/video-with-preview.d.ts +13 -0
  69. package/dist/server/islands/video-with-preview.js +269 -0
  70. package/dist/server/islands/video-with-preview.js.map +1 -0
  71. package/dist/server/primitives.d.ts +200 -0
  72. package/dist/server/primitives.js +888 -0
  73. package/dist/server/primitives.js.map +1 -0
  74. package/dist/server/schema.d.ts +11308 -0
  75. package/dist/server/schema.js +6179 -0
  76. package/dist/server/schema.js.map +1 -0
  77. package/dist/server/theme-CF3fIKvw.d.ts +9 -0
  78. package/dist/server/theme-style-5_AGy-4V.d.ts +183 -0
  79. package/dist/server/theme-style-BPaMwk88.d.ts +183 -0
  80. package/dist/server/theme.d.ts +28 -0
  81. package/dist/server/theme.js +1671 -0
  82. package/dist/server/theme.js.map +1 -0
  83. package/dist/server/widget-YH9BrOwY.d.ts +77 -0
  84. package/dist/styles.css +121 -15
  85. package/dist/{theme-style-Cbl7NM-T.d.ts → theme-style-BVd5tOsc.d.ts} +20 -0
  86. package/dist/theme.css +12 -0
  87. package/dist/{widget-B_RoG6se.d.ts → widget-CpE2HdgU.d.ts} +17 -14
  88. package/package.json +60 -12
  89. package/schema/page.v1.json +3855 -0
  90. package/schema/site.v1.json +3811 -0
  91. package/dist/alignment-dZDzN96G.d.ts +0 -5
  92. package/dist/chunk-H4P5MFJI.js.map +0 -1
  93. package/dist/chunk-HDINUNI2.js.map +0 -1
  94. package/dist/chunk-KQKSLI3L.js.map +0 -1
  95. package/dist/chunk-RUYOL7JZ.js +0 -4
  96. package/dist/chunk-SGNRWWG3.js.map +0 -1
  97. package/dist/chunk-UO7XGBGM.js.map +0 -1
  98. package/dist/image-DAWVx1zQ.d.ts +0 -31
@@ -0,0 +1,3855 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://frontlit.app/schema/page.v1.json",
4
+ "title": "FrontLit page",
5
+ "type": "object",
6
+ "properties": {
7
+ "$schema": {
8
+ "type": "string"
9
+ },
10
+ "title": {
11
+ "type": "string",
12
+ "description": "Page title for search results and the browser tab."
13
+ },
14
+ "description": {
15
+ "type": "string",
16
+ "description": "Short summary for search results and link previews."
17
+ },
18
+ "socialImage": {
19
+ "type": "object",
20
+ "properties": {
21
+ "url": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "description": "Absolute URL, or a path relative to the repo."
25
+ },
26
+ "alt": {
27
+ "type": "string"
28
+ }
29
+ },
30
+ "required": [
31
+ "url"
32
+ ],
33
+ "additionalProperties": false,
34
+ "description": "Open Graph image."
35
+ },
36
+ "robotsAllowed": {
37
+ "type": "boolean",
38
+ "description": "false asks search engines not to index the page. Default true."
39
+ },
40
+ "published": {
41
+ "type": "boolean",
42
+ "description": "false imports the page as a draft. Default true."
43
+ },
44
+ "layout": {
45
+ "type": "array",
46
+ "items": {
47
+ "anyOf": [
48
+ {
49
+ "type": "object",
50
+ "properties": {
51
+ "name": {
52
+ "type": "string",
53
+ "const": "hero"
54
+ },
55
+ "settings": {
56
+ "type": "object",
57
+ "properties": {
58
+ "cssId": {
59
+ "type": "string",
60
+ "description": "HTML id, used for in-page links like /#pricing."
61
+ },
62
+ "verticalPadding": {
63
+ "type": "string",
64
+ "enum": [
65
+ "py-0",
66
+ "py-4",
67
+ "py-6",
68
+ "py-8",
69
+ "py-10",
70
+ "py-12",
71
+ "py-16",
72
+ "py-20",
73
+ "py-24",
74
+ "py-32",
75
+ "py-40",
76
+ "py-48",
77
+ "py-56",
78
+ "py-64"
79
+ ]
80
+ },
81
+ "maxWidth": {
82
+ "type": "string",
83
+ "enum": [
84
+ "max-w-2xl",
85
+ "max-w-3xl",
86
+ "max-w-4xl",
87
+ "max-w-5xl",
88
+ "max-w-6xl"
89
+ ]
90
+ },
91
+ "background": {
92
+ "type": "object",
93
+ "properties": {
94
+ "type": {
95
+ "type": "string",
96
+ "enum": [
97
+ "color",
98
+ "image",
99
+ "gradient"
100
+ ]
101
+ },
102
+ "backgroundColor": {
103
+ "type": "string"
104
+ },
105
+ "backgroundColorDark": {
106
+ "type": "string"
107
+ },
108
+ "backgroundImage": {
109
+ "type": "string"
110
+ },
111
+ "backgroundImageDark": {
112
+ "type": "string"
113
+ },
114
+ "backgroundSize": {
115
+ "type": "string"
116
+ },
117
+ "backgroundPosition": {
118
+ "type": "string"
119
+ },
120
+ "backgroundRepeat": {
121
+ "type": "string",
122
+ "enum": [
123
+ "no-repeat",
124
+ "repeat",
125
+ "repeat-x",
126
+ "repeat-y",
127
+ "space",
128
+ "round"
129
+ ]
130
+ },
131
+ "backgroundAttachment": {
132
+ "type": "string",
133
+ "enum": [
134
+ "scroll",
135
+ "fixed",
136
+ "local"
137
+ ]
138
+ },
139
+ "maskImage": {
140
+ "type": "string"
141
+ },
142
+ "gradientBackgroundSize": {
143
+ "type": "string"
144
+ },
145
+ "gradientBackgroundPosition": {
146
+ "type": "string"
147
+ },
148
+ "gradientBackgroundRepeat": {
149
+ "type": "string",
150
+ "enum": [
151
+ "no-repeat",
152
+ "repeat",
153
+ "repeat-x",
154
+ "repeat-y",
155
+ "space",
156
+ "round"
157
+ ]
158
+ },
159
+ "gradientMaskImage": {
160
+ "type": "string"
161
+ },
162
+ "blur": {
163
+ "type": "number",
164
+ "minimum": 0
165
+ },
166
+ "overlay": {
167
+ "type": "object",
168
+ "properties": {
169
+ "color": {
170
+ "type": "string"
171
+ },
172
+ "colorDark": {
173
+ "type": "string"
174
+ },
175
+ "blendMode": {
176
+ "type": "string",
177
+ "enum": [
178
+ "normal",
179
+ "multiply",
180
+ "screen",
181
+ "overlay",
182
+ "darken",
183
+ "lighten",
184
+ "color-dodge",
185
+ "color-burn",
186
+ "hard-light",
187
+ "soft-light",
188
+ "difference",
189
+ "exclusion",
190
+ "hue",
191
+ "saturation",
192
+ "color",
193
+ "luminosity"
194
+ ]
195
+ },
196
+ "opacity": {
197
+ "type": "number",
198
+ "minimum": 0,
199
+ "maximum": 10,
200
+ "description": "0 is invisible, 10 is fully solid."
201
+ }
202
+ },
203
+ "required": [
204
+ "color",
205
+ "blendMode",
206
+ "opacity"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ "media": {
211
+ "type": "object",
212
+ "properties": {
213
+ "url": {
214
+ "type": "string",
215
+ "minLength": 1,
216
+ "description": "Absolute URL, or a path relative to the repo."
217
+ },
218
+ "alt": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "required": [
223
+ "url"
224
+ ],
225
+ "additionalProperties": false
226
+ }
227
+ },
228
+ "required": [
229
+ "type"
230
+ ],
231
+ "additionalProperties": false
232
+ },
233
+ "layout": {
234
+ "type": "string",
235
+ "enum": [
236
+ "normal",
237
+ "card",
238
+ "centered",
239
+ "media-below"
240
+ ],
241
+ "default": "normal"
242
+ },
243
+ "preTitle": {
244
+ "type": "string"
245
+ },
246
+ "title": {
247
+ "type": "string",
248
+ "description": "Wrap words in *asterisks* to highlight them.",
249
+ "default": "Run your whole business from one front office"
250
+ },
251
+ "titleLevel": {
252
+ "type": "string",
253
+ "enum": [
254
+ "h1",
255
+ "h2",
256
+ "h3"
257
+ ]
258
+ },
259
+ "titleSize": {
260
+ "type": "object",
261
+ "properties": {
262
+ "mobile": {
263
+ "type": "integer",
264
+ "exclusiveMinimum": 0
265
+ },
266
+ "tablet": {
267
+ "type": "integer",
268
+ "exclusiveMinimum": 0
269
+ },
270
+ "desktop": {
271
+ "type": "integer",
272
+ "exclusiveMinimum": 0
273
+ }
274
+ },
275
+ "additionalProperties": false,
276
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
277
+ },
278
+ "description": {
279
+ "type": "string",
280
+ "description": "Markdown (CommonMark + GFM)."
281
+ },
282
+ "buttonCaption": {
283
+ "type": "string",
284
+ "default": "See features"
285
+ },
286
+ "buttonAction": {
287
+ "type": "string",
288
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL.",
289
+ "default": "/#features"
290
+ },
291
+ "secondaryButtonCaption": {
292
+ "type": "string",
293
+ "default": "Read the docs"
294
+ },
295
+ "secondaryButtonAction": {
296
+ "type": "string",
297
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL.",
298
+ "default": "/docs"
299
+ },
300
+ "smallPrint": {
301
+ "type": "string"
302
+ },
303
+ "command": {
304
+ "type": "string"
305
+ },
306
+ "media": {
307
+ "type": "object",
308
+ "properties": {
309
+ "url": {
310
+ "type": "string",
311
+ "minLength": 1,
312
+ "description": "Absolute URL, or a path relative to the repo."
313
+ },
314
+ "alt": {
315
+ "type": "string"
316
+ }
317
+ },
318
+ "required": [
319
+ "url"
320
+ ],
321
+ "additionalProperties": false
322
+ },
323
+ "youtubeLink": {
324
+ "type": "string"
325
+ },
326
+ "alignment": {
327
+ "type": "string",
328
+ "enum": [
329
+ "left",
330
+ "center",
331
+ "right",
332
+ "top",
333
+ "bottom"
334
+ ],
335
+ "default": "right"
336
+ },
337
+ "contentAlignment": {
338
+ "type": "string",
339
+ "enum": [
340
+ "left",
341
+ "center",
342
+ "right",
343
+ "top",
344
+ "bottom"
345
+ ],
346
+ "default": "left"
347
+ },
348
+ "mediaRadius": {
349
+ "type": "integer",
350
+ "minimum": 0,
351
+ "maximum": 8,
352
+ "default": 3
353
+ }
354
+ },
355
+ "additionalProperties": false
356
+ }
357
+ },
358
+ "required": [
359
+ "name"
360
+ ],
361
+ "additionalProperties": false
362
+ },
363
+ {
364
+ "type": "object",
365
+ "properties": {
366
+ "name": {
367
+ "type": "string",
368
+ "const": "content"
369
+ },
370
+ "settings": {
371
+ "type": "object",
372
+ "properties": {
373
+ "cssId": {
374
+ "type": "string",
375
+ "description": "HTML id, used for in-page links like /#pricing."
376
+ },
377
+ "verticalPadding": {
378
+ "type": "string",
379
+ "enum": [
380
+ "py-0",
381
+ "py-4",
382
+ "py-6",
383
+ "py-8",
384
+ "py-10",
385
+ "py-12",
386
+ "py-16",
387
+ "py-20",
388
+ "py-24",
389
+ "py-32",
390
+ "py-40",
391
+ "py-48",
392
+ "py-56",
393
+ "py-64"
394
+ ]
395
+ },
396
+ "maxWidth": {
397
+ "type": "string",
398
+ "enum": [
399
+ "max-w-2xl",
400
+ "max-w-3xl",
401
+ "max-w-4xl",
402
+ "max-w-5xl",
403
+ "max-w-6xl"
404
+ ]
405
+ },
406
+ "background": {
407
+ "type": "object",
408
+ "properties": {
409
+ "type": {
410
+ "type": "string",
411
+ "enum": [
412
+ "color",
413
+ "image",
414
+ "gradient"
415
+ ]
416
+ },
417
+ "backgroundColor": {
418
+ "type": "string"
419
+ },
420
+ "backgroundColorDark": {
421
+ "type": "string"
422
+ },
423
+ "backgroundImage": {
424
+ "type": "string"
425
+ },
426
+ "backgroundImageDark": {
427
+ "type": "string"
428
+ },
429
+ "backgroundSize": {
430
+ "type": "string"
431
+ },
432
+ "backgroundPosition": {
433
+ "type": "string"
434
+ },
435
+ "backgroundRepeat": {
436
+ "type": "string",
437
+ "enum": [
438
+ "no-repeat",
439
+ "repeat",
440
+ "repeat-x",
441
+ "repeat-y",
442
+ "space",
443
+ "round"
444
+ ]
445
+ },
446
+ "backgroundAttachment": {
447
+ "type": "string",
448
+ "enum": [
449
+ "scroll",
450
+ "fixed",
451
+ "local"
452
+ ]
453
+ },
454
+ "maskImage": {
455
+ "type": "string"
456
+ },
457
+ "gradientBackgroundSize": {
458
+ "type": "string"
459
+ },
460
+ "gradientBackgroundPosition": {
461
+ "type": "string"
462
+ },
463
+ "gradientBackgroundRepeat": {
464
+ "type": "string",
465
+ "enum": [
466
+ "no-repeat",
467
+ "repeat",
468
+ "repeat-x",
469
+ "repeat-y",
470
+ "space",
471
+ "round"
472
+ ]
473
+ },
474
+ "gradientMaskImage": {
475
+ "type": "string"
476
+ },
477
+ "blur": {
478
+ "type": "number",
479
+ "minimum": 0
480
+ },
481
+ "overlay": {
482
+ "type": "object",
483
+ "properties": {
484
+ "color": {
485
+ "type": "string"
486
+ },
487
+ "colorDark": {
488
+ "type": "string"
489
+ },
490
+ "blendMode": {
491
+ "type": "string",
492
+ "enum": [
493
+ "normal",
494
+ "multiply",
495
+ "screen",
496
+ "overlay",
497
+ "darken",
498
+ "lighten",
499
+ "color-dodge",
500
+ "color-burn",
501
+ "hard-light",
502
+ "soft-light",
503
+ "difference",
504
+ "exclusion",
505
+ "hue",
506
+ "saturation",
507
+ "color",
508
+ "luminosity"
509
+ ]
510
+ },
511
+ "opacity": {
512
+ "type": "number",
513
+ "minimum": 0,
514
+ "maximum": 10,
515
+ "description": "0 is invisible, 10 is fully solid."
516
+ }
517
+ },
518
+ "required": [
519
+ "color",
520
+ "blendMode",
521
+ "opacity"
522
+ ],
523
+ "additionalProperties": false
524
+ },
525
+ "media": {
526
+ "type": "object",
527
+ "properties": {
528
+ "url": {
529
+ "type": "string",
530
+ "minLength": 1,
531
+ "description": "Absolute URL, or a path relative to the repo."
532
+ },
533
+ "alt": {
534
+ "type": "string"
535
+ }
536
+ },
537
+ "required": [
538
+ "url"
539
+ ],
540
+ "additionalProperties": false
541
+ }
542
+ },
543
+ "required": [
544
+ "type"
545
+ ],
546
+ "additionalProperties": false
547
+ },
548
+ "layout": {
549
+ "type": "string",
550
+ "enum": [
551
+ "side",
552
+ "stacked",
553
+ "overlay"
554
+ ]
555
+ },
556
+ "title": {
557
+ "type": "string",
558
+ "default": "One dashboard, every channel"
559
+ },
560
+ "titleLevel": {
561
+ "type": "string",
562
+ "enum": [
563
+ "h1",
564
+ "h2",
565
+ "h3"
566
+ ]
567
+ },
568
+ "titleSize": {
569
+ "type": "object",
570
+ "properties": {
571
+ "mobile": {
572
+ "type": "integer",
573
+ "exclusiveMinimum": 0
574
+ },
575
+ "tablet": {
576
+ "type": "integer",
577
+ "exclusiveMinimum": 0
578
+ },
579
+ "desktop": {
580
+ "type": "integer",
581
+ "exclusiveMinimum": 0
582
+ }
583
+ },
584
+ "additionalProperties": false,
585
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
586
+ },
587
+ "body": {
588
+ "type": "string",
589
+ "description": "Markdown (CommonMark + GFM).",
590
+ "default": "FrontLit brings your website, content, customer support, and audience engagement into one connected front office."
591
+ },
592
+ "media": {
593
+ "type": "object",
594
+ "properties": {
595
+ "url": {
596
+ "type": "string",
597
+ "minLength": 1,
598
+ "description": "Absolute URL, or a path relative to the repo."
599
+ },
600
+ "alt": {
601
+ "type": "string"
602
+ }
603
+ },
604
+ "required": [
605
+ "url"
606
+ ],
607
+ "additionalProperties": false
608
+ },
609
+ "alignment": {
610
+ "type": "string",
611
+ "enum": [
612
+ "left",
613
+ "right"
614
+ ],
615
+ "default": "left"
616
+ },
617
+ "headerAlignment": {
618
+ "type": "string",
619
+ "enum": [
620
+ "left",
621
+ "center",
622
+ "right",
623
+ "top",
624
+ "bottom"
625
+ ],
626
+ "default": "left"
627
+ },
628
+ "mediaRadius": {
629
+ "type": "integer",
630
+ "minimum": 0,
631
+ "maximum": 8,
632
+ "default": 3
633
+ }
634
+ },
635
+ "additionalProperties": false
636
+ }
637
+ },
638
+ "required": [
639
+ "name"
640
+ ],
641
+ "additionalProperties": false
642
+ },
643
+ {
644
+ "type": "object",
645
+ "properties": {
646
+ "name": {
647
+ "type": "string",
648
+ "const": "rich-text"
649
+ },
650
+ "settings": {
651
+ "type": "object",
652
+ "properties": {
653
+ "cssId": {
654
+ "type": "string",
655
+ "description": "HTML id, used for in-page links like /#pricing."
656
+ },
657
+ "verticalPadding": {
658
+ "type": "string",
659
+ "enum": [
660
+ "py-0",
661
+ "py-4",
662
+ "py-6",
663
+ "py-8",
664
+ "py-10",
665
+ "py-12",
666
+ "py-16",
667
+ "py-20",
668
+ "py-24",
669
+ "py-32",
670
+ "py-40",
671
+ "py-48",
672
+ "py-56",
673
+ "py-64"
674
+ ]
675
+ },
676
+ "maxWidth": {
677
+ "type": "string",
678
+ "enum": [
679
+ "max-w-2xl",
680
+ "max-w-3xl",
681
+ "max-w-4xl",
682
+ "max-w-5xl",
683
+ "max-w-6xl"
684
+ ]
685
+ },
686
+ "background": {
687
+ "type": "object",
688
+ "properties": {
689
+ "type": {
690
+ "type": "string",
691
+ "enum": [
692
+ "color",
693
+ "image",
694
+ "gradient"
695
+ ]
696
+ },
697
+ "backgroundColor": {
698
+ "type": "string"
699
+ },
700
+ "backgroundColorDark": {
701
+ "type": "string"
702
+ },
703
+ "backgroundImage": {
704
+ "type": "string"
705
+ },
706
+ "backgroundImageDark": {
707
+ "type": "string"
708
+ },
709
+ "backgroundSize": {
710
+ "type": "string"
711
+ },
712
+ "backgroundPosition": {
713
+ "type": "string"
714
+ },
715
+ "backgroundRepeat": {
716
+ "type": "string",
717
+ "enum": [
718
+ "no-repeat",
719
+ "repeat",
720
+ "repeat-x",
721
+ "repeat-y",
722
+ "space",
723
+ "round"
724
+ ]
725
+ },
726
+ "backgroundAttachment": {
727
+ "type": "string",
728
+ "enum": [
729
+ "scroll",
730
+ "fixed",
731
+ "local"
732
+ ]
733
+ },
734
+ "maskImage": {
735
+ "type": "string"
736
+ },
737
+ "gradientBackgroundSize": {
738
+ "type": "string"
739
+ },
740
+ "gradientBackgroundPosition": {
741
+ "type": "string"
742
+ },
743
+ "gradientBackgroundRepeat": {
744
+ "type": "string",
745
+ "enum": [
746
+ "no-repeat",
747
+ "repeat",
748
+ "repeat-x",
749
+ "repeat-y",
750
+ "space",
751
+ "round"
752
+ ]
753
+ },
754
+ "gradientMaskImage": {
755
+ "type": "string"
756
+ },
757
+ "blur": {
758
+ "type": "number",
759
+ "minimum": 0
760
+ },
761
+ "overlay": {
762
+ "type": "object",
763
+ "properties": {
764
+ "color": {
765
+ "type": "string"
766
+ },
767
+ "colorDark": {
768
+ "type": "string"
769
+ },
770
+ "blendMode": {
771
+ "type": "string",
772
+ "enum": [
773
+ "normal",
774
+ "multiply",
775
+ "screen",
776
+ "overlay",
777
+ "darken",
778
+ "lighten",
779
+ "color-dodge",
780
+ "color-burn",
781
+ "hard-light",
782
+ "soft-light",
783
+ "difference",
784
+ "exclusion",
785
+ "hue",
786
+ "saturation",
787
+ "color",
788
+ "luminosity"
789
+ ]
790
+ },
791
+ "opacity": {
792
+ "type": "number",
793
+ "minimum": 0,
794
+ "maximum": 10,
795
+ "description": "0 is invisible, 10 is fully solid."
796
+ }
797
+ },
798
+ "required": [
799
+ "color",
800
+ "blendMode",
801
+ "opacity"
802
+ ],
803
+ "additionalProperties": false
804
+ },
805
+ "media": {
806
+ "type": "object",
807
+ "properties": {
808
+ "url": {
809
+ "type": "string",
810
+ "minLength": 1,
811
+ "description": "Absolute URL, or a path relative to the repo."
812
+ },
813
+ "alt": {
814
+ "type": "string"
815
+ }
816
+ },
817
+ "required": [
818
+ "url"
819
+ ],
820
+ "additionalProperties": false
821
+ }
822
+ },
823
+ "required": [
824
+ "type"
825
+ ],
826
+ "additionalProperties": false
827
+ },
828
+ "text": {
829
+ "type": "string",
830
+ "description": "Markdown (CommonMark + GFM).",
831
+ "default": "Write anything here — an announcement, a longer explanation, or a passage of prose that doesn't need a title or media."
832
+ },
833
+ "alignment": {
834
+ "type": "string",
835
+ "enum": [
836
+ "left",
837
+ "center",
838
+ "right"
839
+ ],
840
+ "default": "left"
841
+ }
842
+ },
843
+ "additionalProperties": false
844
+ }
845
+ },
846
+ "required": [
847
+ "name"
848
+ ],
849
+ "additionalProperties": false
850
+ },
851
+ {
852
+ "type": "object",
853
+ "properties": {
854
+ "name": {
855
+ "type": "string",
856
+ "const": "featured"
857
+ },
858
+ "settings": {
859
+ "type": "object",
860
+ "properties": {
861
+ "cssId": {
862
+ "type": "string",
863
+ "description": "HTML id, used for in-page links like /#pricing."
864
+ },
865
+ "verticalPadding": {
866
+ "type": "string",
867
+ "enum": [
868
+ "py-0",
869
+ "py-4",
870
+ "py-6",
871
+ "py-8",
872
+ "py-10",
873
+ "py-12",
874
+ "py-16",
875
+ "py-20",
876
+ "py-24",
877
+ "py-32",
878
+ "py-40",
879
+ "py-48",
880
+ "py-56",
881
+ "py-64"
882
+ ]
883
+ },
884
+ "maxWidth": {
885
+ "type": "string",
886
+ "enum": [
887
+ "max-w-2xl",
888
+ "max-w-3xl",
889
+ "max-w-4xl",
890
+ "max-w-5xl",
891
+ "max-w-6xl"
892
+ ]
893
+ },
894
+ "background": {
895
+ "type": "object",
896
+ "properties": {
897
+ "type": {
898
+ "type": "string",
899
+ "enum": [
900
+ "color",
901
+ "image",
902
+ "gradient"
903
+ ]
904
+ },
905
+ "backgroundColor": {
906
+ "type": "string"
907
+ },
908
+ "backgroundColorDark": {
909
+ "type": "string"
910
+ },
911
+ "backgroundImage": {
912
+ "type": "string"
913
+ },
914
+ "backgroundImageDark": {
915
+ "type": "string"
916
+ },
917
+ "backgroundSize": {
918
+ "type": "string"
919
+ },
920
+ "backgroundPosition": {
921
+ "type": "string"
922
+ },
923
+ "backgroundRepeat": {
924
+ "type": "string",
925
+ "enum": [
926
+ "no-repeat",
927
+ "repeat",
928
+ "repeat-x",
929
+ "repeat-y",
930
+ "space",
931
+ "round"
932
+ ]
933
+ },
934
+ "backgroundAttachment": {
935
+ "type": "string",
936
+ "enum": [
937
+ "scroll",
938
+ "fixed",
939
+ "local"
940
+ ]
941
+ },
942
+ "maskImage": {
943
+ "type": "string"
944
+ },
945
+ "gradientBackgroundSize": {
946
+ "type": "string"
947
+ },
948
+ "gradientBackgroundPosition": {
949
+ "type": "string"
950
+ },
951
+ "gradientBackgroundRepeat": {
952
+ "type": "string",
953
+ "enum": [
954
+ "no-repeat",
955
+ "repeat",
956
+ "repeat-x",
957
+ "repeat-y",
958
+ "space",
959
+ "round"
960
+ ]
961
+ },
962
+ "gradientMaskImage": {
963
+ "type": "string"
964
+ },
965
+ "blur": {
966
+ "type": "number",
967
+ "minimum": 0
968
+ },
969
+ "overlay": {
970
+ "type": "object",
971
+ "properties": {
972
+ "color": {
973
+ "type": "string"
974
+ },
975
+ "colorDark": {
976
+ "type": "string"
977
+ },
978
+ "blendMode": {
979
+ "type": "string",
980
+ "enum": [
981
+ "normal",
982
+ "multiply",
983
+ "screen",
984
+ "overlay",
985
+ "darken",
986
+ "lighten",
987
+ "color-dodge",
988
+ "color-burn",
989
+ "hard-light",
990
+ "soft-light",
991
+ "difference",
992
+ "exclusion",
993
+ "hue",
994
+ "saturation",
995
+ "color",
996
+ "luminosity"
997
+ ]
998
+ },
999
+ "opacity": {
1000
+ "type": "number",
1001
+ "minimum": 0,
1002
+ "maximum": 10,
1003
+ "description": "0 is invisible, 10 is fully solid."
1004
+ }
1005
+ },
1006
+ "required": [
1007
+ "color",
1008
+ "blendMode",
1009
+ "opacity"
1010
+ ],
1011
+ "additionalProperties": false
1012
+ },
1013
+ "media": {
1014
+ "type": "object",
1015
+ "properties": {
1016
+ "url": {
1017
+ "type": "string",
1018
+ "minLength": 1,
1019
+ "description": "Absolute URL, or a path relative to the repo."
1020
+ },
1021
+ "alt": {
1022
+ "type": "string"
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "url"
1027
+ ],
1028
+ "additionalProperties": false
1029
+ }
1030
+ },
1031
+ "required": [
1032
+ "type"
1033
+ ],
1034
+ "additionalProperties": false
1035
+ },
1036
+ "layout": {
1037
+ "type": "string",
1038
+ "enum": [
1039
+ "grid",
1040
+ "list",
1041
+ "compact",
1042
+ "numbered"
1043
+ ]
1044
+ },
1045
+ "title": {
1046
+ "type": "string",
1047
+ "default": "Everything you need to run your business online"
1048
+ },
1049
+ "titleLevel": {
1050
+ "type": "string",
1051
+ "enum": [
1052
+ "h1",
1053
+ "h2",
1054
+ "h3"
1055
+ ]
1056
+ },
1057
+ "titleSize": {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "mobile": {
1061
+ "type": "integer",
1062
+ "exclusiveMinimum": 0
1063
+ },
1064
+ "tablet": {
1065
+ "type": "integer",
1066
+ "exclusiveMinimum": 0
1067
+ },
1068
+ "desktop": {
1069
+ "type": "integer",
1070
+ "exclusiveMinimum": 0
1071
+ }
1072
+ },
1073
+ "additionalProperties": false,
1074
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
1075
+ },
1076
+ "description": {
1077
+ "type": "string",
1078
+ "description": "Markdown (CommonMark + GFM)."
1079
+ },
1080
+ "headerAlignment": {
1081
+ "type": "string",
1082
+ "enum": [
1083
+ "left",
1084
+ "center",
1085
+ "right",
1086
+ "top",
1087
+ "bottom"
1088
+ ],
1089
+ "default": "center"
1090
+ },
1091
+ "items": {
1092
+ "type": "array",
1093
+ "items": {
1094
+ "type": "object",
1095
+ "properties": {
1096
+ "title": {
1097
+ "type": "string"
1098
+ },
1099
+ "description": {
1100
+ "type": "string"
1101
+ },
1102
+ "icon": {
1103
+ "type": "string",
1104
+ "description": "Lucide icon name, e.g. \"Globe\"."
1105
+ }
1106
+ },
1107
+ "required": [
1108
+ "title"
1109
+ ],
1110
+ "additionalProperties": false
1111
+ },
1112
+ "default": [
1113
+ {
1114
+ "title": "Website",
1115
+ "description": "Design and publish beautiful pages with a drag-and-drop editor.",
1116
+ "icon": "Globe"
1117
+ },
1118
+ {
1119
+ "title": "Content",
1120
+ "description": "Publish articles, documentation, and product updates from one content system.",
1121
+ "icon": "Newspaper"
1122
+ },
1123
+ {
1124
+ "title": "Support",
1125
+ "description": "Support customers with a shared inbox, ticketing, help center, and AI answers.",
1126
+ "icon": "LifeBuoy"
1127
+ },
1128
+ {
1129
+ "title": "Engage",
1130
+ "description": "Grow your audience and send email without leaving FrontLit.",
1131
+ "icon": "Mail"
1132
+ }
1133
+ ]
1134
+ }
1135
+ },
1136
+ "additionalProperties": false
1137
+ }
1138
+ },
1139
+ "required": [
1140
+ "name"
1141
+ ],
1142
+ "additionalProperties": false
1143
+ },
1144
+ {
1145
+ "type": "object",
1146
+ "properties": {
1147
+ "name": {
1148
+ "type": "string",
1149
+ "const": "grid"
1150
+ },
1151
+ "settings": {
1152
+ "type": "object",
1153
+ "properties": {
1154
+ "cssId": {
1155
+ "type": "string",
1156
+ "description": "HTML id, used for in-page links like /#pricing."
1157
+ },
1158
+ "verticalPadding": {
1159
+ "type": "string",
1160
+ "enum": [
1161
+ "py-0",
1162
+ "py-4",
1163
+ "py-6",
1164
+ "py-8",
1165
+ "py-10",
1166
+ "py-12",
1167
+ "py-16",
1168
+ "py-20",
1169
+ "py-24",
1170
+ "py-32",
1171
+ "py-40",
1172
+ "py-48",
1173
+ "py-56",
1174
+ "py-64"
1175
+ ]
1176
+ },
1177
+ "maxWidth": {
1178
+ "type": "string",
1179
+ "enum": [
1180
+ "max-w-2xl",
1181
+ "max-w-3xl",
1182
+ "max-w-4xl",
1183
+ "max-w-5xl",
1184
+ "max-w-6xl"
1185
+ ]
1186
+ },
1187
+ "background": {
1188
+ "type": "object",
1189
+ "properties": {
1190
+ "type": {
1191
+ "type": "string",
1192
+ "enum": [
1193
+ "color",
1194
+ "image",
1195
+ "gradient"
1196
+ ]
1197
+ },
1198
+ "backgroundColor": {
1199
+ "type": "string"
1200
+ },
1201
+ "backgroundColorDark": {
1202
+ "type": "string"
1203
+ },
1204
+ "backgroundImage": {
1205
+ "type": "string"
1206
+ },
1207
+ "backgroundImageDark": {
1208
+ "type": "string"
1209
+ },
1210
+ "backgroundSize": {
1211
+ "type": "string"
1212
+ },
1213
+ "backgroundPosition": {
1214
+ "type": "string"
1215
+ },
1216
+ "backgroundRepeat": {
1217
+ "type": "string",
1218
+ "enum": [
1219
+ "no-repeat",
1220
+ "repeat",
1221
+ "repeat-x",
1222
+ "repeat-y",
1223
+ "space",
1224
+ "round"
1225
+ ]
1226
+ },
1227
+ "backgroundAttachment": {
1228
+ "type": "string",
1229
+ "enum": [
1230
+ "scroll",
1231
+ "fixed",
1232
+ "local"
1233
+ ]
1234
+ },
1235
+ "maskImage": {
1236
+ "type": "string"
1237
+ },
1238
+ "gradientBackgroundSize": {
1239
+ "type": "string"
1240
+ },
1241
+ "gradientBackgroundPosition": {
1242
+ "type": "string"
1243
+ },
1244
+ "gradientBackgroundRepeat": {
1245
+ "type": "string",
1246
+ "enum": [
1247
+ "no-repeat",
1248
+ "repeat",
1249
+ "repeat-x",
1250
+ "repeat-y",
1251
+ "space",
1252
+ "round"
1253
+ ]
1254
+ },
1255
+ "gradientMaskImage": {
1256
+ "type": "string"
1257
+ },
1258
+ "blur": {
1259
+ "type": "number",
1260
+ "minimum": 0
1261
+ },
1262
+ "overlay": {
1263
+ "type": "object",
1264
+ "properties": {
1265
+ "color": {
1266
+ "type": "string"
1267
+ },
1268
+ "colorDark": {
1269
+ "type": "string"
1270
+ },
1271
+ "blendMode": {
1272
+ "type": "string",
1273
+ "enum": [
1274
+ "normal",
1275
+ "multiply",
1276
+ "screen",
1277
+ "overlay",
1278
+ "darken",
1279
+ "lighten",
1280
+ "color-dodge",
1281
+ "color-burn",
1282
+ "hard-light",
1283
+ "soft-light",
1284
+ "difference",
1285
+ "exclusion",
1286
+ "hue",
1287
+ "saturation",
1288
+ "color",
1289
+ "luminosity"
1290
+ ]
1291
+ },
1292
+ "opacity": {
1293
+ "type": "number",
1294
+ "minimum": 0,
1295
+ "maximum": 10,
1296
+ "description": "0 is invisible, 10 is fully solid."
1297
+ }
1298
+ },
1299
+ "required": [
1300
+ "color",
1301
+ "blendMode",
1302
+ "opacity"
1303
+ ],
1304
+ "additionalProperties": false
1305
+ },
1306
+ "media": {
1307
+ "type": "object",
1308
+ "properties": {
1309
+ "url": {
1310
+ "type": "string",
1311
+ "minLength": 1,
1312
+ "description": "Absolute URL, or a path relative to the repo."
1313
+ },
1314
+ "alt": {
1315
+ "type": "string"
1316
+ }
1317
+ },
1318
+ "required": [
1319
+ "url"
1320
+ ],
1321
+ "additionalProperties": false
1322
+ }
1323
+ },
1324
+ "required": [
1325
+ "type"
1326
+ ],
1327
+ "additionalProperties": false
1328
+ },
1329
+ "title": {
1330
+ "type": "string",
1331
+ "default": "Everything you need, in one place"
1332
+ },
1333
+ "titleLevel": {
1334
+ "type": "string",
1335
+ "enum": [
1336
+ "h1",
1337
+ "h2",
1338
+ "h3"
1339
+ ]
1340
+ },
1341
+ "titleSize": {
1342
+ "type": "object",
1343
+ "properties": {
1344
+ "mobile": {
1345
+ "type": "integer",
1346
+ "exclusiveMinimum": 0
1347
+ },
1348
+ "tablet": {
1349
+ "type": "integer",
1350
+ "exclusiveMinimum": 0
1351
+ },
1352
+ "desktop": {
1353
+ "type": "integer",
1354
+ "exclusiveMinimum": 0
1355
+ }
1356
+ },
1357
+ "additionalProperties": false,
1358
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
1359
+ },
1360
+ "description": {
1361
+ "type": "string",
1362
+ "description": "Markdown (CommonMark + GFM)."
1363
+ },
1364
+ "headerAlignment": {
1365
+ "type": "string",
1366
+ "enum": [
1367
+ "left",
1368
+ "center",
1369
+ "right",
1370
+ "top",
1371
+ "bottom"
1372
+ ],
1373
+ "default": "center"
1374
+ },
1375
+ "buttonCaption": {
1376
+ "type": "string"
1377
+ },
1378
+ "buttonAction": {
1379
+ "type": "string",
1380
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL."
1381
+ },
1382
+ "columns": {
1383
+ "type": "number",
1384
+ "enum": [
1385
+ 2,
1386
+ 3
1387
+ ],
1388
+ "default": 3
1389
+ },
1390
+ "items": {
1391
+ "type": "array",
1392
+ "items": {
1393
+ "type": "object",
1394
+ "properties": {
1395
+ "title": {
1396
+ "type": "string"
1397
+ },
1398
+ "description": {
1399
+ "type": "string"
1400
+ },
1401
+ "icon": {
1402
+ "type": "string",
1403
+ "description": "Lucide icon name, e.g. \"Globe\"."
1404
+ },
1405
+ "media": {
1406
+ "type": "object",
1407
+ "properties": {
1408
+ "url": {
1409
+ "type": "string",
1410
+ "minLength": 1,
1411
+ "description": "Absolute URL, or a path relative to the repo."
1412
+ },
1413
+ "alt": {
1414
+ "type": "string"
1415
+ }
1416
+ },
1417
+ "required": [
1418
+ "url"
1419
+ ],
1420
+ "additionalProperties": false
1421
+ },
1422
+ "mediaAlignment": {
1423
+ "type": "string",
1424
+ "enum": [
1425
+ "top",
1426
+ "bottom",
1427
+ "overlay"
1428
+ ]
1429
+ },
1430
+ "buttonCaption": {
1431
+ "type": "string"
1432
+ },
1433
+ "buttonAction": {
1434
+ "type": "string",
1435
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL."
1436
+ }
1437
+ },
1438
+ "required": [
1439
+ "title"
1440
+ ],
1441
+ "additionalProperties": false
1442
+ },
1443
+ "default": [
1444
+ {
1445
+ "title": "Website builder",
1446
+ "description": "Design and publish pages with a drag-and-drop editor.",
1447
+ "icon": "LayoutTemplate",
1448
+ "mediaAlignment": "top",
1449
+ "buttonCaption": "See features",
1450
+ "buttonAction": "/#features"
1451
+ },
1452
+ {
1453
+ "title": "Blog",
1454
+ "description": "Publish articles and grow your audience.",
1455
+ "icon": "Newspaper",
1456
+ "mediaAlignment": "top",
1457
+ "buttonCaption": "Read articles",
1458
+ "buttonAction": "/blog"
1459
+ },
1460
+ {
1461
+ "title": "Help desk",
1462
+ "description": "Support your customers with a shared inbox.",
1463
+ "icon": "Headset",
1464
+ "mediaAlignment": "top",
1465
+ "buttonCaption": "Contact us",
1466
+ "buttonAction": "/help"
1467
+ }
1468
+ ]
1469
+ }
1470
+ },
1471
+ "additionalProperties": false
1472
+ }
1473
+ },
1474
+ "required": [
1475
+ "name"
1476
+ ],
1477
+ "additionalProperties": false
1478
+ },
1479
+ {
1480
+ "type": "object",
1481
+ "properties": {
1482
+ "name": {
1483
+ "type": "string",
1484
+ "const": "media"
1485
+ },
1486
+ "settings": {
1487
+ "type": "object",
1488
+ "properties": {
1489
+ "cssId": {
1490
+ "type": "string",
1491
+ "description": "HTML id, used for in-page links like /#pricing."
1492
+ },
1493
+ "verticalPadding": {
1494
+ "type": "string",
1495
+ "enum": [
1496
+ "py-0",
1497
+ "py-4",
1498
+ "py-6",
1499
+ "py-8",
1500
+ "py-10",
1501
+ "py-12",
1502
+ "py-16",
1503
+ "py-20",
1504
+ "py-24",
1505
+ "py-32",
1506
+ "py-40",
1507
+ "py-48",
1508
+ "py-56",
1509
+ "py-64"
1510
+ ]
1511
+ },
1512
+ "maxWidth": {
1513
+ "type": "string",
1514
+ "enum": [
1515
+ "max-w-2xl",
1516
+ "max-w-3xl",
1517
+ "max-w-4xl",
1518
+ "max-w-5xl",
1519
+ "max-w-6xl"
1520
+ ]
1521
+ },
1522
+ "background": {
1523
+ "type": "object",
1524
+ "properties": {
1525
+ "type": {
1526
+ "type": "string",
1527
+ "enum": [
1528
+ "color",
1529
+ "image",
1530
+ "gradient"
1531
+ ]
1532
+ },
1533
+ "backgroundColor": {
1534
+ "type": "string"
1535
+ },
1536
+ "backgroundColorDark": {
1537
+ "type": "string"
1538
+ },
1539
+ "backgroundImage": {
1540
+ "type": "string"
1541
+ },
1542
+ "backgroundImageDark": {
1543
+ "type": "string"
1544
+ },
1545
+ "backgroundSize": {
1546
+ "type": "string"
1547
+ },
1548
+ "backgroundPosition": {
1549
+ "type": "string"
1550
+ },
1551
+ "backgroundRepeat": {
1552
+ "type": "string",
1553
+ "enum": [
1554
+ "no-repeat",
1555
+ "repeat",
1556
+ "repeat-x",
1557
+ "repeat-y",
1558
+ "space",
1559
+ "round"
1560
+ ]
1561
+ },
1562
+ "backgroundAttachment": {
1563
+ "type": "string",
1564
+ "enum": [
1565
+ "scroll",
1566
+ "fixed",
1567
+ "local"
1568
+ ]
1569
+ },
1570
+ "maskImage": {
1571
+ "type": "string"
1572
+ },
1573
+ "gradientBackgroundSize": {
1574
+ "type": "string"
1575
+ },
1576
+ "gradientBackgroundPosition": {
1577
+ "type": "string"
1578
+ },
1579
+ "gradientBackgroundRepeat": {
1580
+ "type": "string",
1581
+ "enum": [
1582
+ "no-repeat",
1583
+ "repeat",
1584
+ "repeat-x",
1585
+ "repeat-y",
1586
+ "space",
1587
+ "round"
1588
+ ]
1589
+ },
1590
+ "gradientMaskImage": {
1591
+ "type": "string"
1592
+ },
1593
+ "blur": {
1594
+ "type": "number",
1595
+ "minimum": 0
1596
+ },
1597
+ "overlay": {
1598
+ "type": "object",
1599
+ "properties": {
1600
+ "color": {
1601
+ "type": "string"
1602
+ },
1603
+ "colorDark": {
1604
+ "type": "string"
1605
+ },
1606
+ "blendMode": {
1607
+ "type": "string",
1608
+ "enum": [
1609
+ "normal",
1610
+ "multiply",
1611
+ "screen",
1612
+ "overlay",
1613
+ "darken",
1614
+ "lighten",
1615
+ "color-dodge",
1616
+ "color-burn",
1617
+ "hard-light",
1618
+ "soft-light",
1619
+ "difference",
1620
+ "exclusion",
1621
+ "hue",
1622
+ "saturation",
1623
+ "color",
1624
+ "luminosity"
1625
+ ]
1626
+ },
1627
+ "opacity": {
1628
+ "type": "number",
1629
+ "minimum": 0,
1630
+ "maximum": 10,
1631
+ "description": "0 is invisible, 10 is fully solid."
1632
+ }
1633
+ },
1634
+ "required": [
1635
+ "color",
1636
+ "blendMode",
1637
+ "opacity"
1638
+ ],
1639
+ "additionalProperties": false
1640
+ },
1641
+ "media": {
1642
+ "type": "object",
1643
+ "properties": {
1644
+ "url": {
1645
+ "type": "string",
1646
+ "minLength": 1,
1647
+ "description": "Absolute URL, or a path relative to the repo."
1648
+ },
1649
+ "alt": {
1650
+ "type": "string"
1651
+ }
1652
+ },
1653
+ "required": [
1654
+ "url"
1655
+ ],
1656
+ "additionalProperties": false
1657
+ }
1658
+ },
1659
+ "required": [
1660
+ "type"
1661
+ ],
1662
+ "additionalProperties": false
1663
+ },
1664
+ "media": {
1665
+ "type": "object",
1666
+ "properties": {
1667
+ "url": {
1668
+ "type": "string",
1669
+ "minLength": 1,
1670
+ "description": "Absolute URL, or a path relative to the repo."
1671
+ },
1672
+ "alt": {
1673
+ "type": "string"
1674
+ }
1675
+ },
1676
+ "required": [
1677
+ "url"
1678
+ ],
1679
+ "additionalProperties": false
1680
+ },
1681
+ "youtubeLink": {
1682
+ "type": "string"
1683
+ },
1684
+ "mediaRadius": {
1685
+ "type": "integer",
1686
+ "minimum": 0,
1687
+ "maximum": 8,
1688
+ "default": 2
1689
+ },
1690
+ "aspectRatio": {
1691
+ "type": "string",
1692
+ "description": "e.g. \"16/9\", \"4/3\", \"1/1\".",
1693
+ "default": "16/9"
1694
+ },
1695
+ "objectFit": {
1696
+ "type": "string",
1697
+ "enum": [
1698
+ "cover",
1699
+ "contain",
1700
+ "fill",
1701
+ "none",
1702
+ "scale-down"
1703
+ ],
1704
+ "default": "cover"
1705
+ },
1706
+ "hasBorder": {
1707
+ "type": "boolean",
1708
+ "default": true
1709
+ },
1710
+ "playVideoInModal": {
1711
+ "type": "boolean",
1712
+ "default": false
1713
+ }
1714
+ },
1715
+ "additionalProperties": false
1716
+ }
1717
+ },
1718
+ "required": [
1719
+ "name"
1720
+ ],
1721
+ "additionalProperties": false
1722
+ },
1723
+ {
1724
+ "type": "object",
1725
+ "properties": {
1726
+ "name": {
1727
+ "type": "string",
1728
+ "const": "marquee"
1729
+ },
1730
+ "settings": {
1731
+ "type": "object",
1732
+ "properties": {
1733
+ "cssId": {
1734
+ "type": "string",
1735
+ "description": "HTML id, used for in-page links like /#pricing."
1736
+ },
1737
+ "verticalPadding": {
1738
+ "type": "string",
1739
+ "enum": [
1740
+ "py-0",
1741
+ "py-4",
1742
+ "py-6",
1743
+ "py-8",
1744
+ "py-10",
1745
+ "py-12",
1746
+ "py-16",
1747
+ "py-20",
1748
+ "py-24",
1749
+ "py-32",
1750
+ "py-40",
1751
+ "py-48",
1752
+ "py-56",
1753
+ "py-64"
1754
+ ]
1755
+ },
1756
+ "maxWidth": {
1757
+ "type": "string",
1758
+ "enum": [
1759
+ "max-w-2xl",
1760
+ "max-w-3xl",
1761
+ "max-w-4xl",
1762
+ "max-w-5xl",
1763
+ "max-w-6xl"
1764
+ ]
1765
+ },
1766
+ "background": {
1767
+ "type": "object",
1768
+ "properties": {
1769
+ "type": {
1770
+ "type": "string",
1771
+ "enum": [
1772
+ "color",
1773
+ "image",
1774
+ "gradient"
1775
+ ]
1776
+ },
1777
+ "backgroundColor": {
1778
+ "type": "string"
1779
+ },
1780
+ "backgroundColorDark": {
1781
+ "type": "string"
1782
+ },
1783
+ "backgroundImage": {
1784
+ "type": "string"
1785
+ },
1786
+ "backgroundImageDark": {
1787
+ "type": "string"
1788
+ },
1789
+ "backgroundSize": {
1790
+ "type": "string"
1791
+ },
1792
+ "backgroundPosition": {
1793
+ "type": "string"
1794
+ },
1795
+ "backgroundRepeat": {
1796
+ "type": "string",
1797
+ "enum": [
1798
+ "no-repeat",
1799
+ "repeat",
1800
+ "repeat-x",
1801
+ "repeat-y",
1802
+ "space",
1803
+ "round"
1804
+ ]
1805
+ },
1806
+ "backgroundAttachment": {
1807
+ "type": "string",
1808
+ "enum": [
1809
+ "scroll",
1810
+ "fixed",
1811
+ "local"
1812
+ ]
1813
+ },
1814
+ "maskImage": {
1815
+ "type": "string"
1816
+ },
1817
+ "gradientBackgroundSize": {
1818
+ "type": "string"
1819
+ },
1820
+ "gradientBackgroundPosition": {
1821
+ "type": "string"
1822
+ },
1823
+ "gradientBackgroundRepeat": {
1824
+ "type": "string",
1825
+ "enum": [
1826
+ "no-repeat",
1827
+ "repeat",
1828
+ "repeat-x",
1829
+ "repeat-y",
1830
+ "space",
1831
+ "round"
1832
+ ]
1833
+ },
1834
+ "gradientMaskImage": {
1835
+ "type": "string"
1836
+ },
1837
+ "blur": {
1838
+ "type": "number",
1839
+ "minimum": 0
1840
+ },
1841
+ "overlay": {
1842
+ "type": "object",
1843
+ "properties": {
1844
+ "color": {
1845
+ "type": "string"
1846
+ },
1847
+ "colorDark": {
1848
+ "type": "string"
1849
+ },
1850
+ "blendMode": {
1851
+ "type": "string",
1852
+ "enum": [
1853
+ "normal",
1854
+ "multiply",
1855
+ "screen",
1856
+ "overlay",
1857
+ "darken",
1858
+ "lighten",
1859
+ "color-dodge",
1860
+ "color-burn",
1861
+ "hard-light",
1862
+ "soft-light",
1863
+ "difference",
1864
+ "exclusion",
1865
+ "hue",
1866
+ "saturation",
1867
+ "color",
1868
+ "luminosity"
1869
+ ]
1870
+ },
1871
+ "opacity": {
1872
+ "type": "number",
1873
+ "minimum": 0,
1874
+ "maximum": 10,
1875
+ "description": "0 is invisible, 10 is fully solid."
1876
+ }
1877
+ },
1878
+ "required": [
1879
+ "color",
1880
+ "blendMode",
1881
+ "opacity"
1882
+ ],
1883
+ "additionalProperties": false
1884
+ },
1885
+ "media": {
1886
+ "type": "object",
1887
+ "properties": {
1888
+ "url": {
1889
+ "type": "string",
1890
+ "minLength": 1,
1891
+ "description": "Absolute URL, or a path relative to the repo."
1892
+ },
1893
+ "alt": {
1894
+ "type": "string"
1895
+ }
1896
+ },
1897
+ "required": [
1898
+ "url"
1899
+ ],
1900
+ "additionalProperties": false
1901
+ }
1902
+ },
1903
+ "required": [
1904
+ "type"
1905
+ ],
1906
+ "additionalProperties": false
1907
+ },
1908
+ "items": {
1909
+ "type": "array",
1910
+ "items": {
1911
+ "type": "object",
1912
+ "properties": {
1913
+ "text": {
1914
+ "type": "string"
1915
+ },
1916
+ "href": {
1917
+ "type": "string",
1918
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL."
1919
+ },
1920
+ "icon": {
1921
+ "type": "string",
1922
+ "description": "Lucide icon name, e.g. \"Globe\"."
1923
+ }
1924
+ },
1925
+ "additionalProperties": false
1926
+ },
1927
+ "default": [
1928
+ {
1929
+ "text": "Website"
1930
+ },
1931
+ {
1932
+ "text": "Content"
1933
+ },
1934
+ {
1935
+ "text": "Support"
1936
+ },
1937
+ {
1938
+ "text": "Engage"
1939
+ }
1940
+ ]
1941
+ },
1942
+ "direction": {
1943
+ "type": "string",
1944
+ "enum": [
1945
+ "left",
1946
+ "right"
1947
+ ],
1948
+ "default": "right"
1949
+ },
1950
+ "speed": {
1951
+ "type": "number",
1952
+ "minimum": 0,
1953
+ "description": "Pixels per second.",
1954
+ "default": 60
1955
+ },
1956
+ "pauseOnHover": {
1957
+ "type": "boolean",
1958
+ "default": true
1959
+ },
1960
+ "fadeWidth": {
1961
+ "type": "number",
1962
+ "minimum": 0,
1963
+ "default": 50
1964
+ },
1965
+ "itemBackgroundColor": {
1966
+ "type": "string",
1967
+ "default": ""
1968
+ },
1969
+ "itemForegroundColor": {
1970
+ "type": "string",
1971
+ "default": ""
1972
+ },
1973
+ "itemBorderColor": {
1974
+ "type": "string",
1975
+ "default": ""
1976
+ },
1977
+ "itemBorderRadius": {
1978
+ "type": "number",
1979
+ "minimum": 0,
1980
+ "default": 12
1981
+ },
1982
+ "itemBorderWidth": {
1983
+ "type": "number",
1984
+ "minimum": 0,
1985
+ "default": 1
1986
+ },
1987
+ "itemBorderStyle": {
1988
+ "type": "string",
1989
+ "enum": [
1990
+ "solid",
1991
+ "dashed",
1992
+ "dotted",
1993
+ "double",
1994
+ "none"
1995
+ ],
1996
+ "default": "solid"
1997
+ }
1998
+ },
1999
+ "additionalProperties": false
2000
+ }
2001
+ },
2002
+ "required": [
2003
+ "name"
2004
+ ],
2005
+ "additionalProperties": false
2006
+ },
2007
+ {
2008
+ "type": "object",
2009
+ "properties": {
2010
+ "name": {
2011
+ "type": "string",
2012
+ "const": "pricing"
2013
+ },
2014
+ "settings": {
2015
+ "type": "object",
2016
+ "properties": {
2017
+ "cssId": {
2018
+ "type": "string",
2019
+ "description": "HTML id, used for in-page links like /#pricing."
2020
+ },
2021
+ "verticalPadding": {
2022
+ "type": "string",
2023
+ "enum": [
2024
+ "py-0",
2025
+ "py-4",
2026
+ "py-6",
2027
+ "py-8",
2028
+ "py-10",
2029
+ "py-12",
2030
+ "py-16",
2031
+ "py-20",
2032
+ "py-24",
2033
+ "py-32",
2034
+ "py-40",
2035
+ "py-48",
2036
+ "py-56",
2037
+ "py-64"
2038
+ ]
2039
+ },
2040
+ "maxWidth": {
2041
+ "type": "string",
2042
+ "enum": [
2043
+ "max-w-2xl",
2044
+ "max-w-3xl",
2045
+ "max-w-4xl",
2046
+ "max-w-5xl",
2047
+ "max-w-6xl"
2048
+ ]
2049
+ },
2050
+ "background": {
2051
+ "type": "object",
2052
+ "properties": {
2053
+ "type": {
2054
+ "type": "string",
2055
+ "enum": [
2056
+ "color",
2057
+ "image",
2058
+ "gradient"
2059
+ ]
2060
+ },
2061
+ "backgroundColor": {
2062
+ "type": "string"
2063
+ },
2064
+ "backgroundColorDark": {
2065
+ "type": "string"
2066
+ },
2067
+ "backgroundImage": {
2068
+ "type": "string"
2069
+ },
2070
+ "backgroundImageDark": {
2071
+ "type": "string"
2072
+ },
2073
+ "backgroundSize": {
2074
+ "type": "string"
2075
+ },
2076
+ "backgroundPosition": {
2077
+ "type": "string"
2078
+ },
2079
+ "backgroundRepeat": {
2080
+ "type": "string",
2081
+ "enum": [
2082
+ "no-repeat",
2083
+ "repeat",
2084
+ "repeat-x",
2085
+ "repeat-y",
2086
+ "space",
2087
+ "round"
2088
+ ]
2089
+ },
2090
+ "backgroundAttachment": {
2091
+ "type": "string",
2092
+ "enum": [
2093
+ "scroll",
2094
+ "fixed",
2095
+ "local"
2096
+ ]
2097
+ },
2098
+ "maskImage": {
2099
+ "type": "string"
2100
+ },
2101
+ "gradientBackgroundSize": {
2102
+ "type": "string"
2103
+ },
2104
+ "gradientBackgroundPosition": {
2105
+ "type": "string"
2106
+ },
2107
+ "gradientBackgroundRepeat": {
2108
+ "type": "string",
2109
+ "enum": [
2110
+ "no-repeat",
2111
+ "repeat",
2112
+ "repeat-x",
2113
+ "repeat-y",
2114
+ "space",
2115
+ "round"
2116
+ ]
2117
+ },
2118
+ "gradientMaskImage": {
2119
+ "type": "string"
2120
+ },
2121
+ "blur": {
2122
+ "type": "number",
2123
+ "minimum": 0
2124
+ },
2125
+ "overlay": {
2126
+ "type": "object",
2127
+ "properties": {
2128
+ "color": {
2129
+ "type": "string"
2130
+ },
2131
+ "colorDark": {
2132
+ "type": "string"
2133
+ },
2134
+ "blendMode": {
2135
+ "type": "string",
2136
+ "enum": [
2137
+ "normal",
2138
+ "multiply",
2139
+ "screen",
2140
+ "overlay",
2141
+ "darken",
2142
+ "lighten",
2143
+ "color-dodge",
2144
+ "color-burn",
2145
+ "hard-light",
2146
+ "soft-light",
2147
+ "difference",
2148
+ "exclusion",
2149
+ "hue",
2150
+ "saturation",
2151
+ "color",
2152
+ "luminosity"
2153
+ ]
2154
+ },
2155
+ "opacity": {
2156
+ "type": "number",
2157
+ "minimum": 0,
2158
+ "maximum": 10,
2159
+ "description": "0 is invisible, 10 is fully solid."
2160
+ }
2161
+ },
2162
+ "required": [
2163
+ "color",
2164
+ "blendMode",
2165
+ "opacity"
2166
+ ],
2167
+ "additionalProperties": false
2168
+ },
2169
+ "media": {
2170
+ "type": "object",
2171
+ "properties": {
2172
+ "url": {
2173
+ "type": "string",
2174
+ "minLength": 1,
2175
+ "description": "Absolute URL, or a path relative to the repo."
2176
+ },
2177
+ "alt": {
2178
+ "type": "string"
2179
+ }
2180
+ },
2181
+ "required": [
2182
+ "url"
2183
+ ],
2184
+ "additionalProperties": false
2185
+ }
2186
+ },
2187
+ "required": [
2188
+ "type"
2189
+ ],
2190
+ "additionalProperties": false
2191
+ },
2192
+ "layout": {
2193
+ "type": "string",
2194
+ "enum": [
2195
+ "grid",
2196
+ "stacked",
2197
+ "highlight"
2198
+ ]
2199
+ },
2200
+ "title": {
2201
+ "type": "string",
2202
+ "default": "Simple, transparent pricing"
2203
+ },
2204
+ "titleLevel": {
2205
+ "type": "string",
2206
+ "enum": [
2207
+ "h1",
2208
+ "h2",
2209
+ "h3"
2210
+ ]
2211
+ },
2212
+ "titleSize": {
2213
+ "type": "object",
2214
+ "properties": {
2215
+ "mobile": {
2216
+ "type": "integer",
2217
+ "exclusiveMinimum": 0
2218
+ },
2219
+ "tablet": {
2220
+ "type": "integer",
2221
+ "exclusiveMinimum": 0
2222
+ },
2223
+ "desktop": {
2224
+ "type": "integer",
2225
+ "exclusiveMinimum": 0
2226
+ }
2227
+ },
2228
+ "additionalProperties": false,
2229
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
2230
+ },
2231
+ "description": {
2232
+ "type": "string",
2233
+ "description": "Markdown (CommonMark + GFM)."
2234
+ },
2235
+ "headerAlignment": {
2236
+ "type": "string",
2237
+ "enum": [
2238
+ "left",
2239
+ "center",
2240
+ "right",
2241
+ "top",
2242
+ "bottom"
2243
+ ],
2244
+ "default": "center"
2245
+ },
2246
+ "tiers": {
2247
+ "type": "array",
2248
+ "items": {
2249
+ "type": "object",
2250
+ "properties": {
2251
+ "name": {
2252
+ "type": "string"
2253
+ },
2254
+ "price": {
2255
+ "type": "string",
2256
+ "description": "Display string, e.g. \"$29/mo\"."
2257
+ },
2258
+ "description": {
2259
+ "type": "string"
2260
+ },
2261
+ "features": {
2262
+ "type": "array",
2263
+ "items": {
2264
+ "type": "string"
2265
+ }
2266
+ },
2267
+ "buttonCaption": {
2268
+ "type": "string"
2269
+ },
2270
+ "buttonAction": {
2271
+ "type": "string",
2272
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL."
2273
+ },
2274
+ "highlighted": {
2275
+ "type": "boolean"
2276
+ }
2277
+ },
2278
+ "required": [
2279
+ "name",
2280
+ "price",
2281
+ "features"
2282
+ ],
2283
+ "additionalProperties": false
2284
+ },
2285
+ "default": [
2286
+ {
2287
+ "name": "Starter",
2288
+ "price": "$0/mo",
2289
+ "description": "For hobby sites and side projects.",
2290
+ "features": [
2291
+ "1 website",
2292
+ "FrontLit branding",
2293
+ "Community support"
2294
+ ],
2295
+ "buttonCaption": "Get started",
2296
+ "buttonAction": "/help"
2297
+ },
2298
+ {
2299
+ "name": "Pro",
2300
+ "price": "$29/mo",
2301
+ "description": "For growing businesses that need more.",
2302
+ "features": [
2303
+ "5 websites",
2304
+ "Custom domain",
2305
+ "Blog + Email",
2306
+ "Priority support"
2307
+ ],
2308
+ "buttonCaption": "Talk to us",
2309
+ "buttonAction": "/help",
2310
+ "highlighted": true
2311
+ },
2312
+ {
2313
+ "name": "Business",
2314
+ "price": "$79/mo",
2315
+ "description": "For teams that need scale and control.",
2316
+ "features": [
2317
+ "Unlimited websites",
2318
+ "Help desk & chatbot",
2319
+ "Team seats",
2320
+ "Dedicated support"
2321
+ ],
2322
+ "buttonCaption": "Contact sales",
2323
+ "buttonAction": "/help"
2324
+ }
2325
+ ]
2326
+ }
2327
+ },
2328
+ "additionalProperties": false
2329
+ }
2330
+ },
2331
+ "required": [
2332
+ "name"
2333
+ ],
2334
+ "additionalProperties": false
2335
+ },
2336
+ {
2337
+ "type": "object",
2338
+ "properties": {
2339
+ "name": {
2340
+ "type": "string",
2341
+ "const": "faq"
2342
+ },
2343
+ "settings": {
2344
+ "type": "object",
2345
+ "properties": {
2346
+ "cssId": {
2347
+ "type": "string",
2348
+ "description": "HTML id, used for in-page links like /#pricing."
2349
+ },
2350
+ "verticalPadding": {
2351
+ "type": "string",
2352
+ "enum": [
2353
+ "py-0",
2354
+ "py-4",
2355
+ "py-6",
2356
+ "py-8",
2357
+ "py-10",
2358
+ "py-12",
2359
+ "py-16",
2360
+ "py-20",
2361
+ "py-24",
2362
+ "py-32",
2363
+ "py-40",
2364
+ "py-48",
2365
+ "py-56",
2366
+ "py-64"
2367
+ ]
2368
+ },
2369
+ "maxWidth": {
2370
+ "type": "string",
2371
+ "enum": [
2372
+ "max-w-2xl",
2373
+ "max-w-3xl",
2374
+ "max-w-4xl",
2375
+ "max-w-5xl",
2376
+ "max-w-6xl"
2377
+ ]
2378
+ },
2379
+ "background": {
2380
+ "type": "object",
2381
+ "properties": {
2382
+ "type": {
2383
+ "type": "string",
2384
+ "enum": [
2385
+ "color",
2386
+ "image",
2387
+ "gradient"
2388
+ ]
2389
+ },
2390
+ "backgroundColor": {
2391
+ "type": "string"
2392
+ },
2393
+ "backgroundColorDark": {
2394
+ "type": "string"
2395
+ },
2396
+ "backgroundImage": {
2397
+ "type": "string"
2398
+ },
2399
+ "backgroundImageDark": {
2400
+ "type": "string"
2401
+ },
2402
+ "backgroundSize": {
2403
+ "type": "string"
2404
+ },
2405
+ "backgroundPosition": {
2406
+ "type": "string"
2407
+ },
2408
+ "backgroundRepeat": {
2409
+ "type": "string",
2410
+ "enum": [
2411
+ "no-repeat",
2412
+ "repeat",
2413
+ "repeat-x",
2414
+ "repeat-y",
2415
+ "space",
2416
+ "round"
2417
+ ]
2418
+ },
2419
+ "backgroundAttachment": {
2420
+ "type": "string",
2421
+ "enum": [
2422
+ "scroll",
2423
+ "fixed",
2424
+ "local"
2425
+ ]
2426
+ },
2427
+ "maskImage": {
2428
+ "type": "string"
2429
+ },
2430
+ "gradientBackgroundSize": {
2431
+ "type": "string"
2432
+ },
2433
+ "gradientBackgroundPosition": {
2434
+ "type": "string"
2435
+ },
2436
+ "gradientBackgroundRepeat": {
2437
+ "type": "string",
2438
+ "enum": [
2439
+ "no-repeat",
2440
+ "repeat",
2441
+ "repeat-x",
2442
+ "repeat-y",
2443
+ "space",
2444
+ "round"
2445
+ ]
2446
+ },
2447
+ "gradientMaskImage": {
2448
+ "type": "string"
2449
+ },
2450
+ "blur": {
2451
+ "type": "number",
2452
+ "minimum": 0
2453
+ },
2454
+ "overlay": {
2455
+ "type": "object",
2456
+ "properties": {
2457
+ "color": {
2458
+ "type": "string"
2459
+ },
2460
+ "colorDark": {
2461
+ "type": "string"
2462
+ },
2463
+ "blendMode": {
2464
+ "type": "string",
2465
+ "enum": [
2466
+ "normal",
2467
+ "multiply",
2468
+ "screen",
2469
+ "overlay",
2470
+ "darken",
2471
+ "lighten",
2472
+ "color-dodge",
2473
+ "color-burn",
2474
+ "hard-light",
2475
+ "soft-light",
2476
+ "difference",
2477
+ "exclusion",
2478
+ "hue",
2479
+ "saturation",
2480
+ "color",
2481
+ "luminosity"
2482
+ ]
2483
+ },
2484
+ "opacity": {
2485
+ "type": "number",
2486
+ "minimum": 0,
2487
+ "maximum": 10,
2488
+ "description": "0 is invisible, 10 is fully solid."
2489
+ }
2490
+ },
2491
+ "required": [
2492
+ "color",
2493
+ "blendMode",
2494
+ "opacity"
2495
+ ],
2496
+ "additionalProperties": false
2497
+ },
2498
+ "media": {
2499
+ "type": "object",
2500
+ "properties": {
2501
+ "url": {
2502
+ "type": "string",
2503
+ "minLength": 1,
2504
+ "description": "Absolute URL, or a path relative to the repo."
2505
+ },
2506
+ "alt": {
2507
+ "type": "string"
2508
+ }
2509
+ },
2510
+ "required": [
2511
+ "url"
2512
+ ],
2513
+ "additionalProperties": false
2514
+ }
2515
+ },
2516
+ "required": [
2517
+ "type"
2518
+ ],
2519
+ "additionalProperties": false
2520
+ },
2521
+ "layout": {
2522
+ "type": "string",
2523
+ "enum": [
2524
+ "list",
2525
+ "cards",
2526
+ "columns"
2527
+ ]
2528
+ },
2529
+ "title": {
2530
+ "type": "string",
2531
+ "default": "Frequently asked questions"
2532
+ },
2533
+ "titleLevel": {
2534
+ "type": "string",
2535
+ "enum": [
2536
+ "h1",
2537
+ "h2",
2538
+ "h3"
2539
+ ]
2540
+ },
2541
+ "titleSize": {
2542
+ "type": "object",
2543
+ "properties": {
2544
+ "mobile": {
2545
+ "type": "integer",
2546
+ "exclusiveMinimum": 0
2547
+ },
2548
+ "tablet": {
2549
+ "type": "integer",
2550
+ "exclusiveMinimum": 0
2551
+ },
2552
+ "desktop": {
2553
+ "type": "integer",
2554
+ "exclusiveMinimum": 0
2555
+ }
2556
+ },
2557
+ "additionalProperties": false,
2558
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
2559
+ },
2560
+ "headerAlignment": {
2561
+ "type": "string",
2562
+ "enum": [
2563
+ "left",
2564
+ "center",
2565
+ "right",
2566
+ "top",
2567
+ "bottom"
2568
+ ],
2569
+ "default": "left"
2570
+ },
2571
+ "items": {
2572
+ "type": "array",
2573
+ "items": {
2574
+ "type": "object",
2575
+ "properties": {
2576
+ "question": {
2577
+ "type": "string"
2578
+ },
2579
+ "answer": {
2580
+ "type": "string"
2581
+ }
2582
+ },
2583
+ "required": [
2584
+ "question",
2585
+ "answer"
2586
+ ],
2587
+ "additionalProperties": false
2588
+ },
2589
+ "default": [
2590
+ {
2591
+ "question": "What can I build with FrontLit?",
2592
+ "answer": "A marketing website, articles, documentation, product updates, customer support, and email — all from one connected dashboard."
2593
+ },
2594
+ {
2595
+ "question": "Do I need to know how to code?",
2596
+ "answer": "No. Every page is assembled from ready-made blocks like this one, and you can customize copy, media and layout without touching code."
2597
+ },
2598
+ {
2599
+ "question": "Can I use my own domain?",
2600
+ "answer": "Yes, every FrontLit site can be connected to a custom domain in a few clicks."
2601
+ },
2602
+ {
2603
+ "question": "Is there a free plan?",
2604
+ "answer": "Yes, you can get started for free and upgrade as your audience grows."
2605
+ }
2606
+ ]
2607
+ }
2608
+ },
2609
+ "additionalProperties": false
2610
+ }
2611
+ },
2612
+ "required": [
2613
+ "name"
2614
+ ],
2615
+ "additionalProperties": false
2616
+ },
2617
+ {
2618
+ "type": "object",
2619
+ "properties": {
2620
+ "name": {
2621
+ "type": "string",
2622
+ "const": "banner"
2623
+ },
2624
+ "settings": {
2625
+ "type": "object",
2626
+ "properties": {
2627
+ "cssId": {
2628
+ "type": "string",
2629
+ "description": "HTML id, used for in-page links like /#pricing."
2630
+ },
2631
+ "verticalPadding": {
2632
+ "type": "string",
2633
+ "enum": [
2634
+ "py-0",
2635
+ "py-4",
2636
+ "py-6",
2637
+ "py-8",
2638
+ "py-10",
2639
+ "py-12",
2640
+ "py-16",
2641
+ "py-20",
2642
+ "py-24",
2643
+ "py-32",
2644
+ "py-40",
2645
+ "py-48",
2646
+ "py-56",
2647
+ "py-64"
2648
+ ]
2649
+ },
2650
+ "maxWidth": {
2651
+ "type": "string",
2652
+ "enum": [
2653
+ "max-w-2xl",
2654
+ "max-w-3xl",
2655
+ "max-w-4xl",
2656
+ "max-w-5xl",
2657
+ "max-w-6xl"
2658
+ ]
2659
+ },
2660
+ "background": {
2661
+ "type": "object",
2662
+ "properties": {
2663
+ "type": {
2664
+ "type": "string",
2665
+ "enum": [
2666
+ "color",
2667
+ "image",
2668
+ "gradient"
2669
+ ]
2670
+ },
2671
+ "backgroundColor": {
2672
+ "type": "string"
2673
+ },
2674
+ "backgroundColorDark": {
2675
+ "type": "string"
2676
+ },
2677
+ "backgroundImage": {
2678
+ "type": "string"
2679
+ },
2680
+ "backgroundImageDark": {
2681
+ "type": "string"
2682
+ },
2683
+ "backgroundSize": {
2684
+ "type": "string"
2685
+ },
2686
+ "backgroundPosition": {
2687
+ "type": "string"
2688
+ },
2689
+ "backgroundRepeat": {
2690
+ "type": "string",
2691
+ "enum": [
2692
+ "no-repeat",
2693
+ "repeat",
2694
+ "repeat-x",
2695
+ "repeat-y",
2696
+ "space",
2697
+ "round"
2698
+ ]
2699
+ },
2700
+ "backgroundAttachment": {
2701
+ "type": "string",
2702
+ "enum": [
2703
+ "scroll",
2704
+ "fixed",
2705
+ "local"
2706
+ ]
2707
+ },
2708
+ "maskImage": {
2709
+ "type": "string"
2710
+ },
2711
+ "gradientBackgroundSize": {
2712
+ "type": "string"
2713
+ },
2714
+ "gradientBackgroundPosition": {
2715
+ "type": "string"
2716
+ },
2717
+ "gradientBackgroundRepeat": {
2718
+ "type": "string",
2719
+ "enum": [
2720
+ "no-repeat",
2721
+ "repeat",
2722
+ "repeat-x",
2723
+ "repeat-y",
2724
+ "space",
2725
+ "round"
2726
+ ]
2727
+ },
2728
+ "gradientMaskImage": {
2729
+ "type": "string"
2730
+ },
2731
+ "blur": {
2732
+ "type": "number",
2733
+ "minimum": 0
2734
+ },
2735
+ "overlay": {
2736
+ "type": "object",
2737
+ "properties": {
2738
+ "color": {
2739
+ "type": "string"
2740
+ },
2741
+ "colorDark": {
2742
+ "type": "string"
2743
+ },
2744
+ "blendMode": {
2745
+ "type": "string",
2746
+ "enum": [
2747
+ "normal",
2748
+ "multiply",
2749
+ "screen",
2750
+ "overlay",
2751
+ "darken",
2752
+ "lighten",
2753
+ "color-dodge",
2754
+ "color-burn",
2755
+ "hard-light",
2756
+ "soft-light",
2757
+ "difference",
2758
+ "exclusion",
2759
+ "hue",
2760
+ "saturation",
2761
+ "color",
2762
+ "luminosity"
2763
+ ]
2764
+ },
2765
+ "opacity": {
2766
+ "type": "number",
2767
+ "minimum": 0,
2768
+ "maximum": 10,
2769
+ "description": "0 is invisible, 10 is fully solid."
2770
+ }
2771
+ },
2772
+ "required": [
2773
+ "color",
2774
+ "blendMode",
2775
+ "opacity"
2776
+ ],
2777
+ "additionalProperties": false
2778
+ },
2779
+ "media": {
2780
+ "type": "object",
2781
+ "properties": {
2782
+ "url": {
2783
+ "type": "string",
2784
+ "minLength": 1,
2785
+ "description": "Absolute URL, or a path relative to the repo."
2786
+ },
2787
+ "alt": {
2788
+ "type": "string"
2789
+ }
2790
+ },
2791
+ "required": [
2792
+ "url"
2793
+ ],
2794
+ "additionalProperties": false
2795
+ }
2796
+ },
2797
+ "required": [
2798
+ "type"
2799
+ ],
2800
+ "additionalProperties": false
2801
+ },
2802
+ "layout": {
2803
+ "type": "string",
2804
+ "enum": [
2805
+ "stacked",
2806
+ "split",
2807
+ "boxed"
2808
+ ]
2809
+ },
2810
+ "title": {
2811
+ "type": "string",
2812
+ "default": "Ready to launch your site?"
2813
+ },
2814
+ "titleLevel": {
2815
+ "type": "string",
2816
+ "enum": [
2817
+ "h1",
2818
+ "h2",
2819
+ "h3"
2820
+ ]
2821
+ },
2822
+ "titleSize": {
2823
+ "type": "object",
2824
+ "properties": {
2825
+ "mobile": {
2826
+ "type": "integer",
2827
+ "exclusiveMinimum": 0
2828
+ },
2829
+ "tablet": {
2830
+ "type": "integer",
2831
+ "exclusiveMinimum": 0
2832
+ },
2833
+ "desktop": {
2834
+ "type": "integer",
2835
+ "exclusiveMinimum": 0
2836
+ }
2837
+ },
2838
+ "additionalProperties": false,
2839
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
2840
+ },
2841
+ "description": {
2842
+ "type": "string",
2843
+ "description": "Markdown (CommonMark + GFM)."
2844
+ },
2845
+ "buttonCaption": {
2846
+ "type": "string",
2847
+ "default": "Contact us"
2848
+ },
2849
+ "buttonAction": {
2850
+ "type": "string",
2851
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL.",
2852
+ "default": "/help"
2853
+ },
2854
+ "secondaryButtonCaption": {
2855
+ "type": "string",
2856
+ "default": "Read the docs"
2857
+ },
2858
+ "secondaryButtonAction": {
2859
+ "type": "string",
2860
+ "description": "A site path (\"/pricing\"), anchor (\"/#faq\") or absolute URL.",
2861
+ "default": "/docs"
2862
+ },
2863
+ "contentAlignment": {
2864
+ "type": "string",
2865
+ "enum": [
2866
+ "left",
2867
+ "center",
2868
+ "right",
2869
+ "top",
2870
+ "bottom"
2871
+ ],
2872
+ "default": "center"
2873
+ }
2874
+ },
2875
+ "additionalProperties": false
2876
+ }
2877
+ },
2878
+ "required": [
2879
+ "name"
2880
+ ],
2881
+ "additionalProperties": false
2882
+ },
2883
+ {
2884
+ "type": "object",
2885
+ "properties": {
2886
+ "name": {
2887
+ "type": "string",
2888
+ "const": "email-form"
2889
+ },
2890
+ "settings": {
2891
+ "type": "object",
2892
+ "properties": {
2893
+ "cssId": {
2894
+ "type": "string",
2895
+ "description": "HTML id, used for in-page links like /#pricing."
2896
+ },
2897
+ "verticalPadding": {
2898
+ "type": "string",
2899
+ "enum": [
2900
+ "py-0",
2901
+ "py-4",
2902
+ "py-6",
2903
+ "py-8",
2904
+ "py-10",
2905
+ "py-12",
2906
+ "py-16",
2907
+ "py-20",
2908
+ "py-24",
2909
+ "py-32",
2910
+ "py-40",
2911
+ "py-48",
2912
+ "py-56",
2913
+ "py-64"
2914
+ ]
2915
+ },
2916
+ "maxWidth": {
2917
+ "type": "string",
2918
+ "enum": [
2919
+ "max-w-2xl",
2920
+ "max-w-3xl",
2921
+ "max-w-4xl",
2922
+ "max-w-5xl",
2923
+ "max-w-6xl"
2924
+ ]
2925
+ },
2926
+ "background": {
2927
+ "type": "object",
2928
+ "properties": {
2929
+ "type": {
2930
+ "type": "string",
2931
+ "enum": [
2932
+ "color",
2933
+ "image",
2934
+ "gradient"
2935
+ ]
2936
+ },
2937
+ "backgroundColor": {
2938
+ "type": "string"
2939
+ },
2940
+ "backgroundColorDark": {
2941
+ "type": "string"
2942
+ },
2943
+ "backgroundImage": {
2944
+ "type": "string"
2945
+ },
2946
+ "backgroundImageDark": {
2947
+ "type": "string"
2948
+ },
2949
+ "backgroundSize": {
2950
+ "type": "string"
2951
+ },
2952
+ "backgroundPosition": {
2953
+ "type": "string"
2954
+ },
2955
+ "backgroundRepeat": {
2956
+ "type": "string",
2957
+ "enum": [
2958
+ "no-repeat",
2959
+ "repeat",
2960
+ "repeat-x",
2961
+ "repeat-y",
2962
+ "space",
2963
+ "round"
2964
+ ]
2965
+ },
2966
+ "backgroundAttachment": {
2967
+ "type": "string",
2968
+ "enum": [
2969
+ "scroll",
2970
+ "fixed",
2971
+ "local"
2972
+ ]
2973
+ },
2974
+ "maskImage": {
2975
+ "type": "string"
2976
+ },
2977
+ "gradientBackgroundSize": {
2978
+ "type": "string"
2979
+ },
2980
+ "gradientBackgroundPosition": {
2981
+ "type": "string"
2982
+ },
2983
+ "gradientBackgroundRepeat": {
2984
+ "type": "string",
2985
+ "enum": [
2986
+ "no-repeat",
2987
+ "repeat",
2988
+ "repeat-x",
2989
+ "repeat-y",
2990
+ "space",
2991
+ "round"
2992
+ ]
2993
+ },
2994
+ "gradientMaskImage": {
2995
+ "type": "string"
2996
+ },
2997
+ "blur": {
2998
+ "type": "number",
2999
+ "minimum": 0
3000
+ },
3001
+ "overlay": {
3002
+ "type": "object",
3003
+ "properties": {
3004
+ "color": {
3005
+ "type": "string"
3006
+ },
3007
+ "colorDark": {
3008
+ "type": "string"
3009
+ },
3010
+ "blendMode": {
3011
+ "type": "string",
3012
+ "enum": [
3013
+ "normal",
3014
+ "multiply",
3015
+ "screen",
3016
+ "overlay",
3017
+ "darken",
3018
+ "lighten",
3019
+ "color-dodge",
3020
+ "color-burn",
3021
+ "hard-light",
3022
+ "soft-light",
3023
+ "difference",
3024
+ "exclusion",
3025
+ "hue",
3026
+ "saturation",
3027
+ "color",
3028
+ "luminosity"
3029
+ ]
3030
+ },
3031
+ "opacity": {
3032
+ "type": "number",
3033
+ "minimum": 0,
3034
+ "maximum": 10,
3035
+ "description": "0 is invisible, 10 is fully solid."
3036
+ }
3037
+ },
3038
+ "required": [
3039
+ "color",
3040
+ "blendMode",
3041
+ "opacity"
3042
+ ],
3043
+ "additionalProperties": false
3044
+ },
3045
+ "media": {
3046
+ "type": "object",
3047
+ "properties": {
3048
+ "url": {
3049
+ "type": "string",
3050
+ "minLength": 1,
3051
+ "description": "Absolute URL, or a path relative to the repo."
3052
+ },
3053
+ "alt": {
3054
+ "type": "string"
3055
+ }
3056
+ },
3057
+ "required": [
3058
+ "url"
3059
+ ],
3060
+ "additionalProperties": false
3061
+ }
3062
+ },
3063
+ "required": [
3064
+ "type"
3065
+ ],
3066
+ "additionalProperties": false
3067
+ },
3068
+ "layout": {
3069
+ "type": "string",
3070
+ "enum": [
3071
+ "stacked",
3072
+ "split",
3073
+ "inline"
3074
+ ]
3075
+ },
3076
+ "title": {
3077
+ "type": "string",
3078
+ "default": "Get product updates in your inbox"
3079
+ },
3080
+ "titleLevel": {
3081
+ "type": "string",
3082
+ "enum": [
3083
+ "h1",
3084
+ "h2",
3085
+ "h3"
3086
+ ]
3087
+ },
3088
+ "titleSize": {
3089
+ "type": "object",
3090
+ "properties": {
3091
+ "mobile": {
3092
+ "type": "integer",
3093
+ "exclusiveMinimum": 0
3094
+ },
3095
+ "tablet": {
3096
+ "type": "integer",
3097
+ "exclusiveMinimum": 0
3098
+ },
3099
+ "desktop": {
3100
+ "type": "integer",
3101
+ "exclusiveMinimum": 0
3102
+ }
3103
+ },
3104
+ "additionalProperties": false,
3105
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
3106
+ },
3107
+ "description": {
3108
+ "type": "string",
3109
+ "description": "Markdown (CommonMark + GFM)."
3110
+ },
3111
+ "buttonCaption": {
3112
+ "type": "string",
3113
+ "default": "Subscribe"
3114
+ },
3115
+ "successMessage": {
3116
+ "type": "string",
3117
+ "default": "Thanks for subscribing! Check your inbox soon."
3118
+ },
3119
+ "alignment": {
3120
+ "type": "string",
3121
+ "enum": [
3122
+ "left",
3123
+ "center",
3124
+ "right",
3125
+ "top",
3126
+ "bottom"
3127
+ ],
3128
+ "default": "left"
3129
+ }
3130
+ },
3131
+ "additionalProperties": false
3132
+ }
3133
+ },
3134
+ "required": [
3135
+ "name"
3136
+ ],
3137
+ "additionalProperties": false
3138
+ },
3139
+ {
3140
+ "type": "object",
3141
+ "properties": {
3142
+ "name": {
3143
+ "type": "string",
3144
+ "const": "support-form"
3145
+ },
3146
+ "settings": {
3147
+ "type": "object",
3148
+ "properties": {
3149
+ "cssId": {
3150
+ "type": "string",
3151
+ "description": "HTML id, used for in-page links like /#pricing."
3152
+ },
3153
+ "verticalPadding": {
3154
+ "type": "string",
3155
+ "enum": [
3156
+ "py-0",
3157
+ "py-4",
3158
+ "py-6",
3159
+ "py-8",
3160
+ "py-10",
3161
+ "py-12",
3162
+ "py-16",
3163
+ "py-20",
3164
+ "py-24",
3165
+ "py-32",
3166
+ "py-40",
3167
+ "py-48",
3168
+ "py-56",
3169
+ "py-64"
3170
+ ]
3171
+ },
3172
+ "maxWidth": {
3173
+ "type": "string",
3174
+ "enum": [
3175
+ "max-w-2xl",
3176
+ "max-w-3xl",
3177
+ "max-w-4xl",
3178
+ "max-w-5xl",
3179
+ "max-w-6xl"
3180
+ ]
3181
+ },
3182
+ "background": {
3183
+ "type": "object",
3184
+ "properties": {
3185
+ "type": {
3186
+ "type": "string",
3187
+ "enum": [
3188
+ "color",
3189
+ "image",
3190
+ "gradient"
3191
+ ]
3192
+ },
3193
+ "backgroundColor": {
3194
+ "type": "string"
3195
+ },
3196
+ "backgroundColorDark": {
3197
+ "type": "string"
3198
+ },
3199
+ "backgroundImage": {
3200
+ "type": "string"
3201
+ },
3202
+ "backgroundImageDark": {
3203
+ "type": "string"
3204
+ },
3205
+ "backgroundSize": {
3206
+ "type": "string"
3207
+ },
3208
+ "backgroundPosition": {
3209
+ "type": "string"
3210
+ },
3211
+ "backgroundRepeat": {
3212
+ "type": "string",
3213
+ "enum": [
3214
+ "no-repeat",
3215
+ "repeat",
3216
+ "repeat-x",
3217
+ "repeat-y",
3218
+ "space",
3219
+ "round"
3220
+ ]
3221
+ },
3222
+ "backgroundAttachment": {
3223
+ "type": "string",
3224
+ "enum": [
3225
+ "scroll",
3226
+ "fixed",
3227
+ "local"
3228
+ ]
3229
+ },
3230
+ "maskImage": {
3231
+ "type": "string"
3232
+ },
3233
+ "gradientBackgroundSize": {
3234
+ "type": "string"
3235
+ },
3236
+ "gradientBackgroundPosition": {
3237
+ "type": "string"
3238
+ },
3239
+ "gradientBackgroundRepeat": {
3240
+ "type": "string",
3241
+ "enum": [
3242
+ "no-repeat",
3243
+ "repeat",
3244
+ "repeat-x",
3245
+ "repeat-y",
3246
+ "space",
3247
+ "round"
3248
+ ]
3249
+ },
3250
+ "gradientMaskImage": {
3251
+ "type": "string"
3252
+ },
3253
+ "blur": {
3254
+ "type": "number",
3255
+ "minimum": 0
3256
+ },
3257
+ "overlay": {
3258
+ "type": "object",
3259
+ "properties": {
3260
+ "color": {
3261
+ "type": "string"
3262
+ },
3263
+ "colorDark": {
3264
+ "type": "string"
3265
+ },
3266
+ "blendMode": {
3267
+ "type": "string",
3268
+ "enum": [
3269
+ "normal",
3270
+ "multiply",
3271
+ "screen",
3272
+ "overlay",
3273
+ "darken",
3274
+ "lighten",
3275
+ "color-dodge",
3276
+ "color-burn",
3277
+ "hard-light",
3278
+ "soft-light",
3279
+ "difference",
3280
+ "exclusion",
3281
+ "hue",
3282
+ "saturation",
3283
+ "color",
3284
+ "luminosity"
3285
+ ]
3286
+ },
3287
+ "opacity": {
3288
+ "type": "number",
3289
+ "minimum": 0,
3290
+ "maximum": 10,
3291
+ "description": "0 is invisible, 10 is fully solid."
3292
+ }
3293
+ },
3294
+ "required": [
3295
+ "color",
3296
+ "blendMode",
3297
+ "opacity"
3298
+ ],
3299
+ "additionalProperties": false
3300
+ },
3301
+ "media": {
3302
+ "type": "object",
3303
+ "properties": {
3304
+ "url": {
3305
+ "type": "string",
3306
+ "minLength": 1,
3307
+ "description": "Absolute URL, or a path relative to the repo."
3308
+ },
3309
+ "alt": {
3310
+ "type": "string"
3311
+ }
3312
+ },
3313
+ "required": [
3314
+ "url"
3315
+ ],
3316
+ "additionalProperties": false
3317
+ }
3318
+ },
3319
+ "required": [
3320
+ "type"
3321
+ ],
3322
+ "additionalProperties": false
3323
+ },
3324
+ "layout": {
3325
+ "type": "string",
3326
+ "enum": [
3327
+ "stacked"
3328
+ ]
3329
+ },
3330
+ "title": {
3331
+ "type": "string",
3332
+ "default": "Need help?"
3333
+ },
3334
+ "titleLevel": {
3335
+ "type": "string",
3336
+ "enum": [
3337
+ "h1",
3338
+ "h2",
3339
+ "h3"
3340
+ ]
3341
+ },
3342
+ "titleSize": {
3343
+ "type": "object",
3344
+ "properties": {
3345
+ "mobile": {
3346
+ "type": "integer",
3347
+ "exclusiveMinimum": 0
3348
+ },
3349
+ "tablet": {
3350
+ "type": "integer",
3351
+ "exclusiveMinimum": 0
3352
+ },
3353
+ "desktop": {
3354
+ "type": "integer",
3355
+ "exclusiveMinimum": 0
3356
+ }
3357
+ },
3358
+ "additionalProperties": false,
3359
+ "description": "Per-breakpoint title size in px; unset breakpoints keep the theme size."
3360
+ },
3361
+ "description": {
3362
+ "type": "string",
3363
+ "description": "Markdown (CommonMark + GFM)."
3364
+ },
3365
+ "buttonCaption": {
3366
+ "type": "string",
3367
+ "default": "Submit ticket"
3368
+ },
3369
+ "successMessage": {
3370
+ "type": "string",
3371
+ "default": "Thanks — we've got your ticket and will reply by email soon."
3372
+ },
3373
+ "alignment": {
3374
+ "type": "string",
3375
+ "enum": [
3376
+ "left",
3377
+ "center",
3378
+ "right",
3379
+ "top",
3380
+ "bottom"
3381
+ ],
3382
+ "default": "left"
3383
+ }
3384
+ },
3385
+ "additionalProperties": false
3386
+ }
3387
+ },
3388
+ "required": [
3389
+ "name"
3390
+ ],
3391
+ "additionalProperties": false
3392
+ },
3393
+ {
3394
+ "type": "object",
3395
+ "properties": {
3396
+ "name": {
3397
+ "type": "string",
3398
+ "const": "embed"
3399
+ },
3400
+ "settings": {
3401
+ "type": "object",
3402
+ "properties": {
3403
+ "cssId": {
3404
+ "type": "string",
3405
+ "description": "HTML id, used for in-page links like /#pricing."
3406
+ },
3407
+ "verticalPadding": {
3408
+ "type": "string",
3409
+ "enum": [
3410
+ "py-0",
3411
+ "py-4",
3412
+ "py-6",
3413
+ "py-8",
3414
+ "py-10",
3415
+ "py-12",
3416
+ "py-16",
3417
+ "py-20",
3418
+ "py-24",
3419
+ "py-32",
3420
+ "py-40",
3421
+ "py-48",
3422
+ "py-56",
3423
+ "py-64"
3424
+ ]
3425
+ },
3426
+ "maxWidth": {
3427
+ "type": "string",
3428
+ "enum": [
3429
+ "max-w-2xl",
3430
+ "max-w-3xl",
3431
+ "max-w-4xl",
3432
+ "max-w-5xl",
3433
+ "max-w-6xl"
3434
+ ]
3435
+ },
3436
+ "background": {
3437
+ "type": "object",
3438
+ "properties": {
3439
+ "type": {
3440
+ "type": "string",
3441
+ "enum": [
3442
+ "color",
3443
+ "image",
3444
+ "gradient"
3445
+ ]
3446
+ },
3447
+ "backgroundColor": {
3448
+ "type": "string"
3449
+ },
3450
+ "backgroundColorDark": {
3451
+ "type": "string"
3452
+ },
3453
+ "backgroundImage": {
3454
+ "type": "string"
3455
+ },
3456
+ "backgroundImageDark": {
3457
+ "type": "string"
3458
+ },
3459
+ "backgroundSize": {
3460
+ "type": "string"
3461
+ },
3462
+ "backgroundPosition": {
3463
+ "type": "string"
3464
+ },
3465
+ "backgroundRepeat": {
3466
+ "type": "string",
3467
+ "enum": [
3468
+ "no-repeat",
3469
+ "repeat",
3470
+ "repeat-x",
3471
+ "repeat-y",
3472
+ "space",
3473
+ "round"
3474
+ ]
3475
+ },
3476
+ "backgroundAttachment": {
3477
+ "type": "string",
3478
+ "enum": [
3479
+ "scroll",
3480
+ "fixed",
3481
+ "local"
3482
+ ]
3483
+ },
3484
+ "maskImage": {
3485
+ "type": "string"
3486
+ },
3487
+ "gradientBackgroundSize": {
3488
+ "type": "string"
3489
+ },
3490
+ "gradientBackgroundPosition": {
3491
+ "type": "string"
3492
+ },
3493
+ "gradientBackgroundRepeat": {
3494
+ "type": "string",
3495
+ "enum": [
3496
+ "no-repeat",
3497
+ "repeat",
3498
+ "repeat-x",
3499
+ "repeat-y",
3500
+ "space",
3501
+ "round"
3502
+ ]
3503
+ },
3504
+ "gradientMaskImage": {
3505
+ "type": "string"
3506
+ },
3507
+ "blur": {
3508
+ "type": "number",
3509
+ "minimum": 0
3510
+ },
3511
+ "overlay": {
3512
+ "type": "object",
3513
+ "properties": {
3514
+ "color": {
3515
+ "type": "string"
3516
+ },
3517
+ "colorDark": {
3518
+ "type": "string"
3519
+ },
3520
+ "blendMode": {
3521
+ "type": "string",
3522
+ "enum": [
3523
+ "normal",
3524
+ "multiply",
3525
+ "screen",
3526
+ "overlay",
3527
+ "darken",
3528
+ "lighten",
3529
+ "color-dodge",
3530
+ "color-burn",
3531
+ "hard-light",
3532
+ "soft-light",
3533
+ "difference",
3534
+ "exclusion",
3535
+ "hue",
3536
+ "saturation",
3537
+ "color",
3538
+ "luminosity"
3539
+ ]
3540
+ },
3541
+ "opacity": {
3542
+ "type": "number",
3543
+ "minimum": 0,
3544
+ "maximum": 10,
3545
+ "description": "0 is invisible, 10 is fully solid."
3546
+ }
3547
+ },
3548
+ "required": [
3549
+ "color",
3550
+ "blendMode",
3551
+ "opacity"
3552
+ ],
3553
+ "additionalProperties": false
3554
+ },
3555
+ "media": {
3556
+ "type": "object",
3557
+ "properties": {
3558
+ "url": {
3559
+ "type": "string",
3560
+ "minLength": 1,
3561
+ "description": "Absolute URL, or a path relative to the repo."
3562
+ },
3563
+ "alt": {
3564
+ "type": "string"
3565
+ }
3566
+ },
3567
+ "required": [
3568
+ "url"
3569
+ ],
3570
+ "additionalProperties": false
3571
+ }
3572
+ },
3573
+ "required": [
3574
+ "type"
3575
+ ],
3576
+ "additionalProperties": false
3577
+ },
3578
+ "contentType": {
3579
+ "type": "string",
3580
+ "enum": [
3581
+ "url",
3582
+ "script"
3583
+ ],
3584
+ "default": "url"
3585
+ },
3586
+ "content": {
3587
+ "type": "string",
3588
+ "description": "A URL, or an iframe/script snippet.",
3589
+ "default": ""
3590
+ },
3591
+ "aspectRatio": {
3592
+ "type": "string",
3593
+ "enum": [
3594
+ "16:9",
3595
+ "4:3",
3596
+ "1:1",
3597
+ "default"
3598
+ ],
3599
+ "default": "default"
3600
+ },
3601
+ "height": {
3602
+ "type": "number",
3603
+ "minimum": 0,
3604
+ "description": "Height in px when aspectRatio is \"default\".",
3605
+ "default": 500
3606
+ }
3607
+ },
3608
+ "additionalProperties": false
3609
+ }
3610
+ },
3611
+ "required": [
3612
+ "name"
3613
+ ],
3614
+ "additionalProperties": false
3615
+ },
3616
+ {
3617
+ "type": "object",
3618
+ "properties": {
3619
+ "name": {
3620
+ "type": "string",
3621
+ "const": "code-snippet"
3622
+ },
3623
+ "settings": {
3624
+ "type": "object",
3625
+ "properties": {
3626
+ "cssId": {
3627
+ "type": "string",
3628
+ "description": "HTML id, used for in-page links like /#pricing."
3629
+ },
3630
+ "verticalPadding": {
3631
+ "type": "string",
3632
+ "enum": [
3633
+ "py-0",
3634
+ "py-4",
3635
+ "py-6",
3636
+ "py-8",
3637
+ "py-10",
3638
+ "py-12",
3639
+ "py-16",
3640
+ "py-20",
3641
+ "py-24",
3642
+ "py-32",
3643
+ "py-40",
3644
+ "py-48",
3645
+ "py-56",
3646
+ "py-64"
3647
+ ]
3648
+ },
3649
+ "maxWidth": {
3650
+ "type": "string",
3651
+ "enum": [
3652
+ "max-w-2xl",
3653
+ "max-w-3xl",
3654
+ "max-w-4xl",
3655
+ "max-w-5xl",
3656
+ "max-w-6xl"
3657
+ ]
3658
+ },
3659
+ "background": {
3660
+ "type": "object",
3661
+ "properties": {
3662
+ "type": {
3663
+ "type": "string",
3664
+ "enum": [
3665
+ "color",
3666
+ "image",
3667
+ "gradient"
3668
+ ]
3669
+ },
3670
+ "backgroundColor": {
3671
+ "type": "string"
3672
+ },
3673
+ "backgroundColorDark": {
3674
+ "type": "string"
3675
+ },
3676
+ "backgroundImage": {
3677
+ "type": "string"
3678
+ },
3679
+ "backgroundImageDark": {
3680
+ "type": "string"
3681
+ },
3682
+ "backgroundSize": {
3683
+ "type": "string"
3684
+ },
3685
+ "backgroundPosition": {
3686
+ "type": "string"
3687
+ },
3688
+ "backgroundRepeat": {
3689
+ "type": "string",
3690
+ "enum": [
3691
+ "no-repeat",
3692
+ "repeat",
3693
+ "repeat-x",
3694
+ "repeat-y",
3695
+ "space",
3696
+ "round"
3697
+ ]
3698
+ },
3699
+ "backgroundAttachment": {
3700
+ "type": "string",
3701
+ "enum": [
3702
+ "scroll",
3703
+ "fixed",
3704
+ "local"
3705
+ ]
3706
+ },
3707
+ "maskImage": {
3708
+ "type": "string"
3709
+ },
3710
+ "gradientBackgroundSize": {
3711
+ "type": "string"
3712
+ },
3713
+ "gradientBackgroundPosition": {
3714
+ "type": "string"
3715
+ },
3716
+ "gradientBackgroundRepeat": {
3717
+ "type": "string",
3718
+ "enum": [
3719
+ "no-repeat",
3720
+ "repeat",
3721
+ "repeat-x",
3722
+ "repeat-y",
3723
+ "space",
3724
+ "round"
3725
+ ]
3726
+ },
3727
+ "gradientMaskImage": {
3728
+ "type": "string"
3729
+ },
3730
+ "blur": {
3731
+ "type": "number",
3732
+ "minimum": 0
3733
+ },
3734
+ "overlay": {
3735
+ "type": "object",
3736
+ "properties": {
3737
+ "color": {
3738
+ "type": "string"
3739
+ },
3740
+ "colorDark": {
3741
+ "type": "string"
3742
+ },
3743
+ "blendMode": {
3744
+ "type": "string",
3745
+ "enum": [
3746
+ "normal",
3747
+ "multiply",
3748
+ "screen",
3749
+ "overlay",
3750
+ "darken",
3751
+ "lighten",
3752
+ "color-dodge",
3753
+ "color-burn",
3754
+ "hard-light",
3755
+ "soft-light",
3756
+ "difference",
3757
+ "exclusion",
3758
+ "hue",
3759
+ "saturation",
3760
+ "color",
3761
+ "luminosity"
3762
+ ]
3763
+ },
3764
+ "opacity": {
3765
+ "type": "number",
3766
+ "minimum": 0,
3767
+ "maximum": 10,
3768
+ "description": "0 is invisible, 10 is fully solid."
3769
+ }
3770
+ },
3771
+ "required": [
3772
+ "color",
3773
+ "blendMode",
3774
+ "opacity"
3775
+ ],
3776
+ "additionalProperties": false
3777
+ },
3778
+ "media": {
3779
+ "type": "object",
3780
+ "properties": {
3781
+ "url": {
3782
+ "type": "string",
3783
+ "minLength": 1,
3784
+ "description": "Absolute URL, or a path relative to the repo."
3785
+ },
3786
+ "alt": {
3787
+ "type": "string"
3788
+ }
3789
+ },
3790
+ "required": [
3791
+ "url"
3792
+ ],
3793
+ "additionalProperties": false
3794
+ }
3795
+ },
3796
+ "required": [
3797
+ "type"
3798
+ ],
3799
+ "additionalProperties": false
3800
+ },
3801
+ "code": {
3802
+ "type": "string",
3803
+ "default": "curl -fsSL https://example.com/install.sh | sh"
3804
+ },
3805
+ "showPrompt": {
3806
+ "type": "boolean",
3807
+ "default": true
3808
+ },
3809
+ "caption": {
3810
+ "type": "string"
3811
+ },
3812
+ "contentAlignment": {
3813
+ "type": "string",
3814
+ "enum": [
3815
+ "left",
3816
+ "center",
3817
+ "right",
3818
+ "top",
3819
+ "bottom"
3820
+ ],
3821
+ "default": "center"
3822
+ }
3823
+ },
3824
+ "additionalProperties": false
3825
+ }
3826
+ },
3827
+ "required": [
3828
+ "name"
3829
+ ],
3830
+ "additionalProperties": false
3831
+ },
3832
+ {
3833
+ "type": "object",
3834
+ "properties": {
3835
+ "name": {
3836
+ "type": "string",
3837
+ "const": "content-feed"
3838
+ }
3839
+ },
3840
+ "required": [
3841
+ "name"
3842
+ ],
3843
+ "additionalProperties": false,
3844
+ "description": "The blog, docs or changelog feed. Only on the blog, docs and changelog pages."
3845
+ }
3846
+ ]
3847
+ },
3848
+ "description": "Blocks, top to bottom. The site header and footer come from site.json."
3849
+ }
3850
+ },
3851
+ "required": [
3852
+ "layout"
3853
+ ],
3854
+ "additionalProperties": false
3855
+ }