@contentrain/astro-kit 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -2
- package/catalog.json +3305 -83
- package/components/_shared/Section.astro +18 -3
- package/components/_shared/measured.ts +152 -0
- package/components/_shared/types.ts +40 -0
- package/components/band/Band.astro +132 -0
- package/components/band/fixtures.json +8 -0
- package/components/band/meta.json +323 -0
- package/components/card-grid/CardGrid.astro +7 -3
- package/components/card-grid/fixtures.json +2 -1
- package/components/card-grid/meta.json +111 -0
- package/components/contact-details/ContactDetails.astro +7 -2
- package/components/contact-details/meta.json +113 -1
- package/components/contact-form/ContactForm.astro +48 -12
- package/components/contact-form/fixtures.json +169 -9
- package/components/contact-form/meta.json +283 -15
- package/components/cta/Cta.astro +52 -12
- package/components/cta/fixtures.json +5 -1
- package/components/cta/meta.json +11 -2
- package/components/faq/Faq.astro +60 -17
- package/components/faq/fixtures.json +75 -0
- package/components/faq/meta.json +8 -2
- package/components/feature-list/FeatureList.astro +34 -6
- package/components/feature-list/fixtures.json +2 -1
- package/components/feature-list/meta.json +125 -1
- package/components/gallery/Gallery.astro +47 -13
- package/components/gallery/fixtures.json +275 -0
- package/components/gallery/meta.json +266 -14
- package/components/hero/Hero.astro +14 -8
- package/components/hero/fixtures.json +2 -1
- package/components/hero/meta.json +111 -0
- package/components/logo-cloud/LogoCloud.astro +85 -21
- package/components/logo-cloud/fixtures.json +239 -0
- package/components/logo-cloud/meta.json +145 -5
- package/components/newsletter/Newsletter.astro +5 -1
- package/components/newsletter/meta.json +113 -1
- package/components/post-card/PostCard.astro +4 -2
- package/components/post-card/meta.json +2 -1
- package/components/post-list/PostList.astro +114 -0
- package/components/post-list/fixtures.json +387 -0
- package/components/post-list/meta.json +308 -0
- package/components/pricing/Pricing.astro +128 -24
- package/components/pricing/fixtures.json +288 -4
- package/components/pricing/meta.json +188 -1
- package/components/split/Split.astro +76 -14
- package/components/split/fixtures.json +8 -1
- package/components/split/meta.json +226 -4
- package/components/stats/Stats.astro +42 -10
- package/components/stats/fixtures.json +173 -0
- package/components/stats/meta.json +153 -5
- package/components/steps/Steps.astro +36 -8
- package/components/steps/fixtures.json +217 -5
- package/components/steps/meta.json +157 -3
- package/components/tabs/Tabs.astro +5 -2
- package/components/tabs/meta.json +2 -1
- package/components/team/Team.astro +52 -8
- package/components/team/fixtures.json +217 -4
- package/components/team/meta.json +168 -3
- package/components/team/team.ts +9 -0
- package/components/testimonial/Testimonial.astro +71 -21
- package/components/testimonial/fixtures.json +73 -0
- package/components/testimonial/meta.json +167 -3
- package/mapping/classic.json +7 -1
- package/mapping/divi.json +21 -4
- package/mapping/elementor.json +33 -8
- package/mapping/gutenberg.json +20 -4
- package/package.json +2 -2
package/catalog.json
CHANGED
|
@@ -91,6 +91,358 @@
|
|
|
91
91
|
"Announcement.astro"
|
|
92
92
|
]
|
|
93
93
|
},
|
|
94
|
+
{
|
|
95
|
+
"id": "band",
|
|
96
|
+
"name": "Band",
|
|
97
|
+
"description": "The styled fallback section: an optional heading, lead, image, a grid of items and buttons, in the section's measured frame and fill. Used where no closer component fits (an unrecognised or low-confidence section), so it still reads as a designed section, never bare text.",
|
|
98
|
+
"category": "section",
|
|
99
|
+
"uses": [],
|
|
100
|
+
"shared": [
|
|
101
|
+
"Button.astro",
|
|
102
|
+
"KitImage.astro",
|
|
103
|
+
"Section.astro",
|
|
104
|
+
"measured.ts",
|
|
105
|
+
"types.ts"
|
|
106
|
+
],
|
|
107
|
+
"variants": {
|
|
108
|
+
"layout": {
|
|
109
|
+
"options": [
|
|
110
|
+
"stack",
|
|
111
|
+
"split"
|
|
112
|
+
],
|
|
113
|
+
"default": "stack",
|
|
114
|
+
"description": "stack: one column. split: the copy beside the image on wide screens (only with an image)."
|
|
115
|
+
},
|
|
116
|
+
"columns": {
|
|
117
|
+
"options": [
|
|
118
|
+
"1",
|
|
119
|
+
"2",
|
|
120
|
+
"3",
|
|
121
|
+
"4"
|
|
122
|
+
],
|
|
123
|
+
"default": "3",
|
|
124
|
+
"description": "Item columns on wide screens when nothing is measured; one on phones, two on tablets."
|
|
125
|
+
},
|
|
126
|
+
"align": {
|
|
127
|
+
"options": [
|
|
128
|
+
"start",
|
|
129
|
+
"center"
|
|
130
|
+
],
|
|
131
|
+
"default": "start",
|
|
132
|
+
"description": "Alignment of the copy and the items."
|
|
133
|
+
},
|
|
134
|
+
"tone": {
|
|
135
|
+
"options": [
|
|
136
|
+
"default",
|
|
137
|
+
"muted",
|
|
138
|
+
"inverse",
|
|
139
|
+
"accent"
|
|
140
|
+
],
|
|
141
|
+
"default": "default",
|
|
142
|
+
"description": "Section background when nothing is measured."
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
"props": {
|
|
146
|
+
"heading": {
|
|
147
|
+
"type": "string",
|
|
148
|
+
"label": "Heading",
|
|
149
|
+
"description": "Section heading."
|
|
150
|
+
},
|
|
151
|
+
"eyebrow": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"label": "Eyebrow",
|
|
154
|
+
"description": "Short line above the heading."
|
|
155
|
+
},
|
|
156
|
+
"lead": {
|
|
157
|
+
"type": "text",
|
|
158
|
+
"label": "Lead",
|
|
159
|
+
"description": "Paragraph under the heading."
|
|
160
|
+
},
|
|
161
|
+
"media": {
|
|
162
|
+
"type": "object",
|
|
163
|
+
"label": "Image",
|
|
164
|
+
"fields": {
|
|
165
|
+
"src": {
|
|
166
|
+
"type": "image",
|
|
167
|
+
"label": "Image",
|
|
168
|
+
"required": true,
|
|
169
|
+
"description": "The image file."
|
|
170
|
+
},
|
|
171
|
+
"alt": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"label": "Image description",
|
|
174
|
+
"description": "What the image shows, for readers who cannot see it; empty when it is decoration."
|
|
175
|
+
},
|
|
176
|
+
"width": {
|
|
177
|
+
"type": "integer",
|
|
178
|
+
"label": "Width",
|
|
179
|
+
"description": "Width in pixels, as uploaded."
|
|
180
|
+
},
|
|
181
|
+
"height": {
|
|
182
|
+
"type": "integer",
|
|
183
|
+
"label": "Height",
|
|
184
|
+
"description": "Height in pixels, as uploaded."
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"description": "The section's image, under or beside the copy."
|
|
188
|
+
},
|
|
189
|
+
"items": {
|
|
190
|
+
"type": "array",
|
|
191
|
+
"label": "Items",
|
|
192
|
+
"items": {
|
|
193
|
+
"type": "object",
|
|
194
|
+
"fields": {
|
|
195
|
+
"value": {
|
|
196
|
+
"type": "string",
|
|
197
|
+
"label": "Figure",
|
|
198
|
+
"description": "A figure drawn large above the title (a stat with its prefix or suffix, a price)."
|
|
199
|
+
},
|
|
200
|
+
"title": {
|
|
201
|
+
"type": "string",
|
|
202
|
+
"label": "Title",
|
|
203
|
+
"description": "The item heading."
|
|
204
|
+
},
|
|
205
|
+
"meta": {
|
|
206
|
+
"type": "string",
|
|
207
|
+
"label": "Detail",
|
|
208
|
+
"description": "A short line under the title (a role, a date, a period)."
|
|
209
|
+
},
|
|
210
|
+
"text": {
|
|
211
|
+
"type": "text",
|
|
212
|
+
"label": "Text",
|
|
213
|
+
"description": "A sentence or two under the title."
|
|
214
|
+
},
|
|
215
|
+
"href": {
|
|
216
|
+
"type": "url",
|
|
217
|
+
"label": "Link",
|
|
218
|
+
"description": "Where the item goes; without a link text the whole item is the link."
|
|
219
|
+
},
|
|
220
|
+
"linkLabel": {
|
|
221
|
+
"type": "string",
|
|
222
|
+
"label": "Link text",
|
|
223
|
+
"description": "The link's own text, shown under the item."
|
|
224
|
+
},
|
|
225
|
+
"media": {
|
|
226
|
+
"type": "image",
|
|
227
|
+
"label": "Image",
|
|
228
|
+
"description": "Image on top of the item."
|
|
229
|
+
},
|
|
230
|
+
"mediaAlt": {
|
|
231
|
+
"type": "string",
|
|
232
|
+
"label": "Image description",
|
|
233
|
+
"description": "What the image shows, for readers who cannot see it; empty when it is decoration."
|
|
234
|
+
},
|
|
235
|
+
"icon": {
|
|
236
|
+
"type": "image",
|
|
237
|
+
"label": "Icon",
|
|
238
|
+
"description": "A small image above the title (decoration)."
|
|
239
|
+
},
|
|
240
|
+
"points": {
|
|
241
|
+
"type": "array",
|
|
242
|
+
"label": "Points",
|
|
243
|
+
"items": "string",
|
|
244
|
+
"description": "A short list under the text (features, facts)."
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"description": "Items in a grid (cards, features, logos), in order."
|
|
249
|
+
},
|
|
250
|
+
"actions": {
|
|
251
|
+
"type": "array",
|
|
252
|
+
"label": "Buttons",
|
|
253
|
+
"items": {
|
|
254
|
+
"type": "object",
|
|
255
|
+
"fields": {
|
|
256
|
+
"label": {
|
|
257
|
+
"type": "string",
|
|
258
|
+
"label": "Label",
|
|
259
|
+
"required": true,
|
|
260
|
+
"description": "The button text."
|
|
261
|
+
},
|
|
262
|
+
"href": {
|
|
263
|
+
"type": "url",
|
|
264
|
+
"label": "Link",
|
|
265
|
+
"required": true,
|
|
266
|
+
"description": "Where the button goes: a page on this site or a full address."
|
|
267
|
+
},
|
|
268
|
+
"newTab": {
|
|
269
|
+
"type": "boolean",
|
|
270
|
+
"label": "Open in a new tab",
|
|
271
|
+
"description": "Open the link in a new tab (an external site the reader should not leave for)."
|
|
272
|
+
},
|
|
273
|
+
"style": {
|
|
274
|
+
"type": "select",
|
|
275
|
+
"label": "Style",
|
|
276
|
+
"options": [
|
|
277
|
+
"primary",
|
|
278
|
+
"secondary",
|
|
279
|
+
"ghost"
|
|
280
|
+
],
|
|
281
|
+
"description": "primary for the main action, secondary or ghost for the ones beside it."
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
},
|
|
285
|
+
"description": "Buttons, in order."
|
|
286
|
+
},
|
|
287
|
+
"headingLevel": {
|
|
288
|
+
"type": "integer",
|
|
289
|
+
"min": 2,
|
|
290
|
+
"max": 3,
|
|
291
|
+
"default": 2,
|
|
292
|
+
"content": false,
|
|
293
|
+
"description": "Level of the section heading; item titles are one below, or at this level when there is no heading."
|
|
294
|
+
},
|
|
295
|
+
"measured": {
|
|
296
|
+
"type": "object",
|
|
297
|
+
"content": false,
|
|
298
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
299
|
+
"fields": {
|
|
300
|
+
"containerPx": {
|
|
301
|
+
"type": "integer",
|
|
302
|
+
"min": 0,
|
|
303
|
+
"max": 2560,
|
|
304
|
+
"description": "The frame's content width."
|
|
305
|
+
},
|
|
306
|
+
"padY": {
|
|
307
|
+
"type": "integer",
|
|
308
|
+
"min": 0,
|
|
309
|
+
"max": 400,
|
|
310
|
+
"description": "Top and bottom padding."
|
|
311
|
+
},
|
|
312
|
+
"padX": {
|
|
313
|
+
"type": "integer",
|
|
314
|
+
"min": 0,
|
|
315
|
+
"max": 200,
|
|
316
|
+
"description": "The frame's side padding (gutter)."
|
|
317
|
+
},
|
|
318
|
+
"bg": {
|
|
319
|
+
"type": "object",
|
|
320
|
+
"description": "The section's background.",
|
|
321
|
+
"fields": {
|
|
322
|
+
"color": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
325
|
+
},
|
|
326
|
+
"image": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
329
|
+
},
|
|
330
|
+
"overlay": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
333
|
+
},
|
|
334
|
+
"size": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
337
|
+
},
|
|
338
|
+
"position": {
|
|
339
|
+
"type": "string",
|
|
340
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
"columns": {
|
|
345
|
+
"type": "object",
|
|
346
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
347
|
+
"fields": {
|
|
348
|
+
"390": {
|
|
349
|
+
"type": "integer",
|
|
350
|
+
"min": 1,
|
|
351
|
+
"max": 6,
|
|
352
|
+
"description": "Phone."
|
|
353
|
+
},
|
|
354
|
+
"768": {
|
|
355
|
+
"type": "integer",
|
|
356
|
+
"min": 1,
|
|
357
|
+
"max": 6,
|
|
358
|
+
"description": "Tablet."
|
|
359
|
+
},
|
|
360
|
+
"1280": {
|
|
361
|
+
"type": "integer",
|
|
362
|
+
"min": 1,
|
|
363
|
+
"max": 6,
|
|
364
|
+
"description": "Desktop."
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
},
|
|
368
|
+
"gap": {
|
|
369
|
+
"type": "integer",
|
|
370
|
+
"min": 0,
|
|
371
|
+
"max": 200,
|
|
372
|
+
"description": "Gap between items."
|
|
373
|
+
},
|
|
374
|
+
"tone": {
|
|
375
|
+
"type": "select",
|
|
376
|
+
"options": [
|
|
377
|
+
"light",
|
|
378
|
+
"dark"
|
|
379
|
+
],
|
|
380
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
381
|
+
},
|
|
382
|
+
"align": {
|
|
383
|
+
"type": "select",
|
|
384
|
+
"options": [
|
|
385
|
+
"start",
|
|
386
|
+
"center",
|
|
387
|
+
"end"
|
|
388
|
+
],
|
|
389
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
390
|
+
},
|
|
391
|
+
"radius": {
|
|
392
|
+
"type": "integer",
|
|
393
|
+
"min": 0,
|
|
394
|
+
"max": 200,
|
|
395
|
+
"description": "Card and item corner radius."
|
|
396
|
+
},
|
|
397
|
+
"minHeight": {
|
|
398
|
+
"type": "integer",
|
|
399
|
+
"min": 0,
|
|
400
|
+
"max": 2000,
|
|
401
|
+
"description": "The section's minimum height."
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
},
|
|
405
|
+
"id": {
|
|
406
|
+
"type": "string",
|
|
407
|
+
"content": false,
|
|
408
|
+
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
"slots": {},
|
|
412
|
+
"js": "none",
|
|
413
|
+
"dependencies": {},
|
|
414
|
+
"sources": {},
|
|
415
|
+
"a11y": "A labelled region (aria-labelledby its heading) when it has one. Item titles sit one level under the heading. An item with a link and no link text is clickable as a whole through its title's link; icons are decoration (alt=\"\").",
|
|
416
|
+
"files": [
|
|
417
|
+
"Band.astro"
|
|
418
|
+
],
|
|
419
|
+
"contentFields": {
|
|
420
|
+
"heading": "heading",
|
|
421
|
+
"eyebrow": "eyebrow",
|
|
422
|
+
"lead": "lead",
|
|
423
|
+
"media": "media",
|
|
424
|
+
"media.src": "media.src",
|
|
425
|
+
"media.alt": "media.alt",
|
|
426
|
+
"media.width": "media.width",
|
|
427
|
+
"media.height": "media.height",
|
|
428
|
+
"items": "items",
|
|
429
|
+
"items[].value": "items[].value",
|
|
430
|
+
"items[].title": "items[].title",
|
|
431
|
+
"items[].meta": "items[].meta",
|
|
432
|
+
"items[].text": "items[].text",
|
|
433
|
+
"items[].href": "items[].href",
|
|
434
|
+
"items[].linkLabel": "items[].link_label",
|
|
435
|
+
"items[].media": "items[].media",
|
|
436
|
+
"items[].mediaAlt": "items[].media_alt",
|
|
437
|
+
"items[].icon": "items[].icon",
|
|
438
|
+
"items[].points": "items[].points",
|
|
439
|
+
"actions": "actions",
|
|
440
|
+
"actions[].label": "actions[].label",
|
|
441
|
+
"actions[].href": "actions[].href",
|
|
442
|
+
"actions[].newTab": "actions[].new_tab",
|
|
443
|
+
"actions[].style": "actions[].style"
|
|
444
|
+
}
|
|
445
|
+
},
|
|
94
446
|
{
|
|
95
447
|
"id": "breadcrumb",
|
|
96
448
|
"name": "Breadcrumb",
|
|
@@ -179,6 +531,7 @@
|
|
|
179
531
|
"KitImage.astro",
|
|
180
532
|
"Section.astro",
|
|
181
533
|
"image.ts",
|
|
534
|
+
"measured.ts",
|
|
182
535
|
"types.ts"
|
|
183
536
|
],
|
|
184
537
|
"variants": {
|
|
@@ -279,6 +632,116 @@
|
|
|
279
632
|
"default": 2,
|
|
280
633
|
"content": false,
|
|
281
634
|
"description": "Level of the section heading; card titles are one below, or at this level when there is no title."
|
|
635
|
+
},
|
|
636
|
+
"measured": {
|
|
637
|
+
"type": "object",
|
|
638
|
+
"content": false,
|
|
639
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
640
|
+
"fields": {
|
|
641
|
+
"containerPx": {
|
|
642
|
+
"type": "integer",
|
|
643
|
+
"min": 0,
|
|
644
|
+
"max": 2560,
|
|
645
|
+
"description": "The frame's content width."
|
|
646
|
+
},
|
|
647
|
+
"padY": {
|
|
648
|
+
"type": "integer",
|
|
649
|
+
"min": 0,
|
|
650
|
+
"max": 400,
|
|
651
|
+
"description": "Top and bottom padding."
|
|
652
|
+
},
|
|
653
|
+
"padX": {
|
|
654
|
+
"type": "integer",
|
|
655
|
+
"min": 0,
|
|
656
|
+
"max": 200,
|
|
657
|
+
"description": "The frame's side padding (gutter)."
|
|
658
|
+
},
|
|
659
|
+
"bg": {
|
|
660
|
+
"type": "object",
|
|
661
|
+
"description": "The section's background.",
|
|
662
|
+
"fields": {
|
|
663
|
+
"color": {
|
|
664
|
+
"type": "string",
|
|
665
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
666
|
+
},
|
|
667
|
+
"image": {
|
|
668
|
+
"type": "string",
|
|
669
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
670
|
+
},
|
|
671
|
+
"overlay": {
|
|
672
|
+
"type": "string",
|
|
673
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
674
|
+
},
|
|
675
|
+
"size": {
|
|
676
|
+
"type": "string",
|
|
677
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
678
|
+
},
|
|
679
|
+
"position": {
|
|
680
|
+
"type": "string",
|
|
681
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
"columns": {
|
|
686
|
+
"type": "object",
|
|
687
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
688
|
+
"fields": {
|
|
689
|
+
"390": {
|
|
690
|
+
"type": "integer",
|
|
691
|
+
"min": 1,
|
|
692
|
+
"max": 6,
|
|
693
|
+
"description": "Phone."
|
|
694
|
+
},
|
|
695
|
+
"768": {
|
|
696
|
+
"type": "integer",
|
|
697
|
+
"min": 1,
|
|
698
|
+
"max": 6,
|
|
699
|
+
"description": "Tablet."
|
|
700
|
+
},
|
|
701
|
+
"1280": {
|
|
702
|
+
"type": "integer",
|
|
703
|
+
"min": 1,
|
|
704
|
+
"max": 6,
|
|
705
|
+
"description": "Desktop."
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
},
|
|
709
|
+
"gap": {
|
|
710
|
+
"type": "integer",
|
|
711
|
+
"min": 0,
|
|
712
|
+
"max": 200,
|
|
713
|
+
"description": "Gap between items."
|
|
714
|
+
},
|
|
715
|
+
"tone": {
|
|
716
|
+
"type": "select",
|
|
717
|
+
"options": [
|
|
718
|
+
"light",
|
|
719
|
+
"dark"
|
|
720
|
+
],
|
|
721
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
722
|
+
},
|
|
723
|
+
"align": {
|
|
724
|
+
"type": "select",
|
|
725
|
+
"options": [
|
|
726
|
+
"start",
|
|
727
|
+
"center",
|
|
728
|
+
"end"
|
|
729
|
+
],
|
|
730
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
731
|
+
},
|
|
732
|
+
"radius": {
|
|
733
|
+
"type": "integer",
|
|
734
|
+
"min": 0,
|
|
735
|
+
"max": 200,
|
|
736
|
+
"description": "Card and item corner radius."
|
|
737
|
+
},
|
|
738
|
+
"minHeight": {
|
|
739
|
+
"type": "integer",
|
|
740
|
+
"min": 0,
|
|
741
|
+
"max": 2000,
|
|
742
|
+
"description": "The section's minimum height."
|
|
743
|
+
}
|
|
744
|
+
}
|
|
282
745
|
}
|
|
283
746
|
},
|
|
284
747
|
"slots": {},
|
|
@@ -397,7 +860,9 @@
|
|
|
397
860
|
"category": "section",
|
|
398
861
|
"uses": [],
|
|
399
862
|
"shared": [
|
|
400
|
-
"Section.astro"
|
|
863
|
+
"Section.astro",
|
|
864
|
+
"measured.ts",
|
|
865
|
+
"types.ts"
|
|
401
866
|
],
|
|
402
867
|
"variants": {
|
|
403
868
|
"layout": {
|
|
@@ -474,6 +939,116 @@
|
|
|
474
939
|
"type": "string",
|
|
475
940
|
"content": false,
|
|
476
941
|
"description": "Section id; the heading gets `<id>-title`."
|
|
942
|
+
},
|
|
943
|
+
"measured": {
|
|
944
|
+
"type": "object",
|
|
945
|
+
"content": false,
|
|
946
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
947
|
+
"fields": {
|
|
948
|
+
"containerPx": {
|
|
949
|
+
"type": "integer",
|
|
950
|
+
"min": 0,
|
|
951
|
+
"max": 2560,
|
|
952
|
+
"description": "The frame's content width."
|
|
953
|
+
},
|
|
954
|
+
"padY": {
|
|
955
|
+
"type": "integer",
|
|
956
|
+
"min": 0,
|
|
957
|
+
"max": 400,
|
|
958
|
+
"description": "Top and bottom padding."
|
|
959
|
+
},
|
|
960
|
+
"padX": {
|
|
961
|
+
"type": "integer",
|
|
962
|
+
"min": 0,
|
|
963
|
+
"max": 200,
|
|
964
|
+
"description": "The frame's side padding (gutter)."
|
|
965
|
+
},
|
|
966
|
+
"bg": {
|
|
967
|
+
"type": "object",
|
|
968
|
+
"description": "The section's background.",
|
|
969
|
+
"fields": {
|
|
970
|
+
"color": {
|
|
971
|
+
"type": "string",
|
|
972
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
973
|
+
},
|
|
974
|
+
"image": {
|
|
975
|
+
"type": "string",
|
|
976
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
977
|
+
},
|
|
978
|
+
"overlay": {
|
|
979
|
+
"type": "string",
|
|
980
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
981
|
+
},
|
|
982
|
+
"size": {
|
|
983
|
+
"type": "string",
|
|
984
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
985
|
+
},
|
|
986
|
+
"position": {
|
|
987
|
+
"type": "string",
|
|
988
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
989
|
+
}
|
|
990
|
+
}
|
|
991
|
+
},
|
|
992
|
+
"columns": {
|
|
993
|
+
"type": "object",
|
|
994
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
995
|
+
"fields": {
|
|
996
|
+
"390": {
|
|
997
|
+
"type": "integer",
|
|
998
|
+
"min": 1,
|
|
999
|
+
"max": 6,
|
|
1000
|
+
"description": "Phone."
|
|
1001
|
+
},
|
|
1002
|
+
"768": {
|
|
1003
|
+
"type": "integer",
|
|
1004
|
+
"min": 1,
|
|
1005
|
+
"max": 6,
|
|
1006
|
+
"description": "Tablet."
|
|
1007
|
+
},
|
|
1008
|
+
"1280": {
|
|
1009
|
+
"type": "integer",
|
|
1010
|
+
"min": 1,
|
|
1011
|
+
"max": 6,
|
|
1012
|
+
"description": "Desktop."
|
|
1013
|
+
}
|
|
1014
|
+
}
|
|
1015
|
+
},
|
|
1016
|
+
"gap": {
|
|
1017
|
+
"type": "integer",
|
|
1018
|
+
"min": 0,
|
|
1019
|
+
"max": 200,
|
|
1020
|
+
"description": "Gap between items."
|
|
1021
|
+
},
|
|
1022
|
+
"tone": {
|
|
1023
|
+
"type": "select",
|
|
1024
|
+
"options": [
|
|
1025
|
+
"light",
|
|
1026
|
+
"dark"
|
|
1027
|
+
],
|
|
1028
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
1029
|
+
},
|
|
1030
|
+
"align": {
|
|
1031
|
+
"type": "select",
|
|
1032
|
+
"options": [
|
|
1033
|
+
"start",
|
|
1034
|
+
"center",
|
|
1035
|
+
"end"
|
|
1036
|
+
],
|
|
1037
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
1038
|
+
},
|
|
1039
|
+
"radius": {
|
|
1040
|
+
"type": "integer",
|
|
1041
|
+
"min": 0,
|
|
1042
|
+
"max": 200,
|
|
1043
|
+
"description": "Card and item corner radius."
|
|
1044
|
+
},
|
|
1045
|
+
"minHeight": {
|
|
1046
|
+
"type": "integer",
|
|
1047
|
+
"min": 0,
|
|
1048
|
+
"max": 2000,
|
|
1049
|
+
"description": "The section's minimum height."
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
477
1052
|
}
|
|
478
1053
|
},
|
|
479
1054
|
"slots": {},
|
|
@@ -511,18 +1086,23 @@
|
|
|
511
1086
|
"name": "Contact form",
|
|
512
1087
|
"description": "The contact section: heading, introduction, contact details (email, phone, address) and a Contentrain Studio form — fields, spam protection and notifications set in Studio, submissions reviewed there. Replaces form plugins; renders the details alone until the site is bound to a Studio project (a section left with only its heading is not drawn: the heading would title a form that is not there). When the owner chose another home at migration (site.config.ts `features.forms`) the form posts to their form service, or the section shows an address to write to or a link to the form on WordPress.",
|
|
513
1088
|
"category": "section",
|
|
514
|
-
"uses": [
|
|
1089
|
+
"uses": [
|
|
1090
|
+
"embed"
|
|
1091
|
+
],
|
|
515
1092
|
"shared": [
|
|
516
|
-
"Section.astro"
|
|
1093
|
+
"Section.astro",
|
|
1094
|
+
"measured.ts",
|
|
1095
|
+
"types.ts"
|
|
517
1096
|
],
|
|
518
1097
|
"variants": {
|
|
519
1098
|
"layout": {
|
|
520
1099
|
"options": [
|
|
521
1100
|
"split",
|
|
522
|
-
"stacked"
|
|
1101
|
+
"stacked",
|
|
1102
|
+
"form-only"
|
|
523
1103
|
],
|
|
524
1104
|
"default": "split",
|
|
525
|
-
"description": "split: details beside the form on wide screens. stacked: one column (see align)."
|
|
1105
|
+
"description": "split: details beside the form on wide screens. stacked: one column (see align). form-only: only the form under its heading; details, hours and map are left out."
|
|
526
1106
|
},
|
|
527
1107
|
"align": {
|
|
528
1108
|
"options": [
|
|
@@ -549,6 +1129,22 @@
|
|
|
549
1129
|
],
|
|
550
1130
|
"default": "top",
|
|
551
1131
|
"description": "Where the heading sits. top: above the introduction and details. after: after them, as a source that writes its lead line and contact buttons first has it; beside a form it titles the form, without one it follows the details."
|
|
1132
|
+
},
|
|
1133
|
+
"detailsStyle": {
|
|
1134
|
+
"options": [
|
|
1135
|
+
"list",
|
|
1136
|
+
"cards"
|
|
1137
|
+
],
|
|
1138
|
+
"default": "list",
|
|
1139
|
+
"description": "The ways to reach you: a plain list, or a card each (label over value)."
|
|
1140
|
+
},
|
|
1141
|
+
"panel": {
|
|
1142
|
+
"options": [
|
|
1143
|
+
"card",
|
|
1144
|
+
"none"
|
|
1145
|
+
],
|
|
1146
|
+
"default": "card",
|
|
1147
|
+
"description": "card: the form on its own surface. none: flush on the section's background."
|
|
552
1148
|
}
|
|
553
1149
|
},
|
|
554
1150
|
"props": {
|
|
@@ -603,6 +1199,166 @@
|
|
|
603
1199
|
"type": "string",
|
|
604
1200
|
"content": false,
|
|
605
1201
|
"description": "Section id; the heading gets `<id>-title`."
|
|
1202
|
+
},
|
|
1203
|
+
"hours": {
|
|
1204
|
+
"type": "text",
|
|
1205
|
+
"label": "Opening hours",
|
|
1206
|
+
"description": "Opening hours as written; line breaks are kept."
|
|
1207
|
+
},
|
|
1208
|
+
"socials": {
|
|
1209
|
+
"type": "array",
|
|
1210
|
+
"label": "Profile links",
|
|
1211
|
+
"description": "Social or profile links, shown as a row under the details.",
|
|
1212
|
+
"items": {
|
|
1213
|
+
"type": "object",
|
|
1214
|
+
"fields": {
|
|
1215
|
+
"label": {
|
|
1216
|
+
"type": "string",
|
|
1217
|
+
"label": "Label",
|
|
1218
|
+
"required": true,
|
|
1219
|
+
"description": "Visible text of the link."
|
|
1220
|
+
},
|
|
1221
|
+
"href": {
|
|
1222
|
+
"type": "url",
|
|
1223
|
+
"label": "Link",
|
|
1224
|
+
"required": true,
|
|
1225
|
+
"description": "The profile address."
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
}
|
|
1229
|
+
},
|
|
1230
|
+
"map": {
|
|
1231
|
+
"type": "object",
|
|
1232
|
+
"label": "Map",
|
|
1233
|
+
"description": "A map of the address, loaded only when the reader asks (no iframe on load); the address is printed under it.",
|
|
1234
|
+
"fields": {
|
|
1235
|
+
"address": {
|
|
1236
|
+
"type": "string",
|
|
1237
|
+
"label": "Address",
|
|
1238
|
+
"description": "The place shown on the map."
|
|
1239
|
+
},
|
|
1240
|
+
"url": {
|
|
1241
|
+
"type": "url",
|
|
1242
|
+
"label": "Map address",
|
|
1243
|
+
"description": "A Google Maps embed address, when the source has one."
|
|
1244
|
+
},
|
|
1245
|
+
"title": {
|
|
1246
|
+
"type": "string",
|
|
1247
|
+
"label": "Map title",
|
|
1248
|
+
"required": true,
|
|
1249
|
+
"description": "What the map is (\"Our studio\"): its accessible name."
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
},
|
|
1253
|
+
"measured": {
|
|
1254
|
+
"type": "object",
|
|
1255
|
+
"content": false,
|
|
1256
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
1257
|
+
"fields": {
|
|
1258
|
+
"containerPx": {
|
|
1259
|
+
"type": "integer",
|
|
1260
|
+
"min": 0,
|
|
1261
|
+
"max": 2560,
|
|
1262
|
+
"description": "The frame's content width."
|
|
1263
|
+
},
|
|
1264
|
+
"padY": {
|
|
1265
|
+
"type": "integer",
|
|
1266
|
+
"min": 0,
|
|
1267
|
+
"max": 400,
|
|
1268
|
+
"description": "Top and bottom padding."
|
|
1269
|
+
},
|
|
1270
|
+
"padX": {
|
|
1271
|
+
"type": "integer",
|
|
1272
|
+
"min": 0,
|
|
1273
|
+
"max": 200,
|
|
1274
|
+
"description": "The frame's side padding (gutter)."
|
|
1275
|
+
},
|
|
1276
|
+
"bg": {
|
|
1277
|
+
"type": "object",
|
|
1278
|
+
"description": "The section's background.",
|
|
1279
|
+
"fields": {
|
|
1280
|
+
"color": {
|
|
1281
|
+
"type": "string",
|
|
1282
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
1283
|
+
},
|
|
1284
|
+
"image": {
|
|
1285
|
+
"type": "string",
|
|
1286
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
1287
|
+
},
|
|
1288
|
+
"overlay": {
|
|
1289
|
+
"type": "string",
|
|
1290
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
1291
|
+
},
|
|
1292
|
+
"size": {
|
|
1293
|
+
"type": "string",
|
|
1294
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
1295
|
+
},
|
|
1296
|
+
"position": {
|
|
1297
|
+
"type": "string",
|
|
1298
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
1299
|
+
}
|
|
1300
|
+
}
|
|
1301
|
+
},
|
|
1302
|
+
"columns": {
|
|
1303
|
+
"type": "object",
|
|
1304
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
1305
|
+
"fields": {
|
|
1306
|
+
"390": {
|
|
1307
|
+
"type": "integer",
|
|
1308
|
+
"min": 1,
|
|
1309
|
+
"max": 6,
|
|
1310
|
+
"description": "Phone."
|
|
1311
|
+
},
|
|
1312
|
+
"768": {
|
|
1313
|
+
"type": "integer",
|
|
1314
|
+
"min": 1,
|
|
1315
|
+
"max": 6,
|
|
1316
|
+
"description": "Tablet."
|
|
1317
|
+
},
|
|
1318
|
+
"1280": {
|
|
1319
|
+
"type": "integer",
|
|
1320
|
+
"min": 1,
|
|
1321
|
+
"max": 6,
|
|
1322
|
+
"description": "Desktop."
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
"gap": {
|
|
1327
|
+
"type": "integer",
|
|
1328
|
+
"min": 0,
|
|
1329
|
+
"max": 200,
|
|
1330
|
+
"description": "Gap between items."
|
|
1331
|
+
},
|
|
1332
|
+
"tone": {
|
|
1333
|
+
"type": "select",
|
|
1334
|
+
"options": [
|
|
1335
|
+
"light",
|
|
1336
|
+
"dark"
|
|
1337
|
+
],
|
|
1338
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
1339
|
+
},
|
|
1340
|
+
"align": {
|
|
1341
|
+
"type": "select",
|
|
1342
|
+
"options": [
|
|
1343
|
+
"start",
|
|
1344
|
+
"center",
|
|
1345
|
+
"end"
|
|
1346
|
+
],
|
|
1347
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
1348
|
+
},
|
|
1349
|
+
"radius": {
|
|
1350
|
+
"type": "integer",
|
|
1351
|
+
"min": 0,
|
|
1352
|
+
"max": 200,
|
|
1353
|
+
"description": "Card and item corner radius."
|
|
1354
|
+
},
|
|
1355
|
+
"minHeight": {
|
|
1356
|
+
"type": "integer",
|
|
1357
|
+
"min": 0,
|
|
1358
|
+
"max": 2000,
|
|
1359
|
+
"description": "The section's minimum height."
|
|
1360
|
+
}
|
|
1361
|
+
}
|
|
606
1362
|
}
|
|
607
1363
|
},
|
|
608
1364
|
"slots": {},
|
|
@@ -634,7 +1390,15 @@
|
|
|
634
1390
|
"details": "details",
|
|
635
1391
|
"details[].label": "details[].label",
|
|
636
1392
|
"details[].value": "details[].value",
|
|
637
|
-
"details[].href": "details[].href"
|
|
1393
|
+
"details[].href": "details[].href",
|
|
1394
|
+
"hours": "hours",
|
|
1395
|
+
"socials": "socials",
|
|
1396
|
+
"socials[].label": "socials[].label",
|
|
1397
|
+
"socials[].href": "socials[].href",
|
|
1398
|
+
"map": "map",
|
|
1399
|
+
"map.address": "map.address",
|
|
1400
|
+
"map.url": "map.url",
|
|
1401
|
+
"map.title": "map.title"
|
|
638
1402
|
}
|
|
639
1403
|
},
|
|
640
1404
|
{
|
|
@@ -645,7 +1409,9 @@
|
|
|
645
1409
|
"uses": [],
|
|
646
1410
|
"shared": [
|
|
647
1411
|
"Button.astro",
|
|
1412
|
+
"KitImage.astro",
|
|
648
1413
|
"Section.astro",
|
|
1414
|
+
"measured.ts",
|
|
649
1415
|
"types.ts"
|
|
650
1416
|
],
|
|
651
1417
|
"variants": {
|
|
@@ -685,6 +1451,30 @@
|
|
|
685
1451
|
],
|
|
686
1452
|
"default": "inherit",
|
|
687
1453
|
"description": "The buttons' alignment. inherit: as the layout sets it. start: at the start edge under centred heading and text (layout centered; a WordPress buttons block with no justification in a centred group). inline and stacked ignore it."
|
|
1454
|
+
},
|
|
1455
|
+
"size": {
|
|
1456
|
+
"options": [
|
|
1457
|
+
"md",
|
|
1458
|
+
"lg"
|
|
1459
|
+
],
|
|
1460
|
+
"default": "md",
|
|
1461
|
+
"description": "md: the usual band. lg: a larger heading and more room above and below."
|
|
1462
|
+
},
|
|
1463
|
+
"align": {
|
|
1464
|
+
"options": [
|
|
1465
|
+
"start",
|
|
1466
|
+
"center"
|
|
1467
|
+
],
|
|
1468
|
+
"default": "start",
|
|
1469
|
+
"description": "Alignment of the heading and text (the centred layout already centres them)."
|
|
1470
|
+
},
|
|
1471
|
+
"mediaSide": {
|
|
1472
|
+
"options": [
|
|
1473
|
+
"end",
|
|
1474
|
+
"start"
|
|
1475
|
+
],
|
|
1476
|
+
"default": "end",
|
|
1477
|
+
"description": "With a picture: the side it takes on wide screens."
|
|
688
1478
|
}
|
|
689
1479
|
},
|
|
690
1480
|
"props": {
|
|
@@ -694,11 +1484,36 @@
|
|
|
694
1484
|
"required": true,
|
|
695
1485
|
"description": "The call's heading (Divi CTA title, Elementor call-to-action title)."
|
|
696
1486
|
},
|
|
1487
|
+
"eyebrow": {
|
|
1488
|
+
"type": "string",
|
|
1489
|
+
"label": "Eyebrow",
|
|
1490
|
+
"description": "A short line above the heading."
|
|
1491
|
+
},
|
|
697
1492
|
"body": {
|
|
698
1493
|
"type": "text",
|
|
699
1494
|
"label": "Text",
|
|
700
1495
|
"description": "One or two sentences under the heading."
|
|
701
1496
|
},
|
|
1497
|
+
"note": {
|
|
1498
|
+
"type": "string",
|
|
1499
|
+
"label": "Small print",
|
|
1500
|
+
"description": "A line under the buttons (No credit card required)."
|
|
1501
|
+
},
|
|
1502
|
+
"image": {
|
|
1503
|
+
"type": "image",
|
|
1504
|
+
"label": "Image",
|
|
1505
|
+
"description": "A small picture beside the text; a large one belongs in a split section."
|
|
1506
|
+
},
|
|
1507
|
+
"bgImage": {
|
|
1508
|
+
"type": "image",
|
|
1509
|
+
"label": "Background image",
|
|
1510
|
+
"description": "A picture behind the band; the text turns light and an overlay keeps it readable."
|
|
1511
|
+
},
|
|
1512
|
+
"bgOverlay": {
|
|
1513
|
+
"type": "string",
|
|
1514
|
+
"content": false,
|
|
1515
|
+
"description": "The colour laid over the background image (a hex or rgb colour); default black at 55 %."
|
|
1516
|
+
},
|
|
702
1517
|
"actions": {
|
|
703
1518
|
"type": "array",
|
|
704
1519
|
"label": "Buttons",
|
|
@@ -737,6 +1552,116 @@
|
|
|
737
1552
|
},
|
|
738
1553
|
"description": "Buttons, in order; usually one."
|
|
739
1554
|
},
|
|
1555
|
+
"measured": {
|
|
1556
|
+
"type": "object",
|
|
1557
|
+
"content": false,
|
|
1558
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
1559
|
+
"fields": {
|
|
1560
|
+
"containerPx": {
|
|
1561
|
+
"type": "integer",
|
|
1562
|
+
"min": 0,
|
|
1563
|
+
"max": 2560,
|
|
1564
|
+
"description": "The frame's content width."
|
|
1565
|
+
},
|
|
1566
|
+
"padY": {
|
|
1567
|
+
"type": "integer",
|
|
1568
|
+
"min": 0,
|
|
1569
|
+
"max": 400,
|
|
1570
|
+
"description": "Top and bottom padding."
|
|
1571
|
+
},
|
|
1572
|
+
"padX": {
|
|
1573
|
+
"type": "integer",
|
|
1574
|
+
"min": 0,
|
|
1575
|
+
"max": 200,
|
|
1576
|
+
"description": "The frame's side padding (gutter)."
|
|
1577
|
+
},
|
|
1578
|
+
"bg": {
|
|
1579
|
+
"type": "object",
|
|
1580
|
+
"description": "The section's background.",
|
|
1581
|
+
"fields": {
|
|
1582
|
+
"color": {
|
|
1583
|
+
"type": "string",
|
|
1584
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
1585
|
+
},
|
|
1586
|
+
"image": {
|
|
1587
|
+
"type": "string",
|
|
1588
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
1589
|
+
},
|
|
1590
|
+
"overlay": {
|
|
1591
|
+
"type": "string",
|
|
1592
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
1593
|
+
},
|
|
1594
|
+
"size": {
|
|
1595
|
+
"type": "string",
|
|
1596
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
1597
|
+
},
|
|
1598
|
+
"position": {
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
1601
|
+
}
|
|
1602
|
+
}
|
|
1603
|
+
},
|
|
1604
|
+
"columns": {
|
|
1605
|
+
"type": "object",
|
|
1606
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
1607
|
+
"fields": {
|
|
1608
|
+
"390": {
|
|
1609
|
+
"type": "integer",
|
|
1610
|
+
"min": 1,
|
|
1611
|
+
"max": 6,
|
|
1612
|
+
"description": "Phone."
|
|
1613
|
+
},
|
|
1614
|
+
"768": {
|
|
1615
|
+
"type": "integer",
|
|
1616
|
+
"min": 1,
|
|
1617
|
+
"max": 6,
|
|
1618
|
+
"description": "Tablet."
|
|
1619
|
+
},
|
|
1620
|
+
"1280": {
|
|
1621
|
+
"type": "integer",
|
|
1622
|
+
"min": 1,
|
|
1623
|
+
"max": 6,
|
|
1624
|
+
"description": "Desktop."
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1627
|
+
},
|
|
1628
|
+
"gap": {
|
|
1629
|
+
"type": "integer",
|
|
1630
|
+
"min": 0,
|
|
1631
|
+
"max": 200,
|
|
1632
|
+
"description": "Gap between items."
|
|
1633
|
+
},
|
|
1634
|
+
"tone": {
|
|
1635
|
+
"type": "select",
|
|
1636
|
+
"options": [
|
|
1637
|
+
"light",
|
|
1638
|
+
"dark"
|
|
1639
|
+
],
|
|
1640
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
1641
|
+
},
|
|
1642
|
+
"align": {
|
|
1643
|
+
"type": "select",
|
|
1644
|
+
"options": [
|
|
1645
|
+
"start",
|
|
1646
|
+
"center",
|
|
1647
|
+
"end"
|
|
1648
|
+
],
|
|
1649
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
1650
|
+
},
|
|
1651
|
+
"radius": {
|
|
1652
|
+
"type": "integer",
|
|
1653
|
+
"min": 0,
|
|
1654
|
+
"max": 200,
|
|
1655
|
+
"description": "Card and item corner radius."
|
|
1656
|
+
},
|
|
1657
|
+
"minHeight": {
|
|
1658
|
+
"type": "integer",
|
|
1659
|
+
"min": 0,
|
|
1660
|
+
"max": 2000,
|
|
1661
|
+
"description": "The section's minimum height."
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
},
|
|
740
1665
|
"id": {
|
|
741
1666
|
"type": "string",
|
|
742
1667
|
"content": false,
|
|
@@ -763,7 +1688,11 @@
|
|
|
763
1688
|
],
|
|
764
1689
|
"contentFields": {
|
|
765
1690
|
"heading": "heading",
|
|
1691
|
+
"eyebrow": "eyebrow",
|
|
766
1692
|
"body": "body",
|
|
1693
|
+
"note": "note",
|
|
1694
|
+
"image": "image",
|
|
1695
|
+
"bgImage": "bg_image",
|
|
767
1696
|
"actions": "actions",
|
|
768
1697
|
"actions[].label": "actions[].label",
|
|
769
1698
|
"actions[].href": "actions[].href",
|
|
@@ -886,9 +1815,35 @@
|
|
|
886
1815
|
"category": "section",
|
|
887
1816
|
"uses": [],
|
|
888
1817
|
"shared": [
|
|
889
|
-
"Section.astro"
|
|
1818
|
+
"Section.astro",
|
|
1819
|
+
"measured.ts",
|
|
1820
|
+
"types.ts"
|
|
890
1821
|
],
|
|
891
1822
|
"variants": {
|
|
1823
|
+
"layout": {
|
|
1824
|
+
"options": [
|
|
1825
|
+
"single",
|
|
1826
|
+
"split"
|
|
1827
|
+
],
|
|
1828
|
+
"default": "single",
|
|
1829
|
+
"description": "single: the heading above one column. split: the heading and introduction stay in a left column beside the list; stacks on a phone."
|
|
1830
|
+
},
|
|
1831
|
+
"columns": {
|
|
1832
|
+
"options": [
|
|
1833
|
+
"1",
|
|
1834
|
+
"2"
|
|
1835
|
+
],
|
|
1836
|
+
"default": "1",
|
|
1837
|
+
"description": "Columns of questions on wide screens."
|
|
1838
|
+
},
|
|
1839
|
+
"icon": {
|
|
1840
|
+
"options": [
|
|
1841
|
+
"plus",
|
|
1842
|
+
"chevron"
|
|
1843
|
+
],
|
|
1844
|
+
"default": "plus",
|
|
1845
|
+
"description": "The marker in each question's row: a plus that turns into a cross, or a chevron that turns over."
|
|
1846
|
+
},
|
|
892
1847
|
"style": {
|
|
893
1848
|
"options": [
|
|
894
1849
|
"lines",
|
|
@@ -946,6 +1901,11 @@
|
|
|
946
1901
|
"label": "Heading",
|
|
947
1902
|
"description": "Section heading."
|
|
948
1903
|
},
|
|
1904
|
+
"intro": {
|
|
1905
|
+
"type": "text",
|
|
1906
|
+
"label": "Introduction",
|
|
1907
|
+
"description": "A sentence under the heading."
|
|
1908
|
+
},
|
|
949
1909
|
"exclusive": {
|
|
950
1910
|
"type": "boolean",
|
|
951
1911
|
"default": false,
|
|
@@ -964,10 +1924,126 @@
|
|
|
964
1924
|
"content": false,
|
|
965
1925
|
"description": "Emit FAQPage JSON-LD built from these items. Use on at most one FAQ per page, and only when the page is really a FAQ."
|
|
966
1926
|
},
|
|
1927
|
+
"measured": {
|
|
1928
|
+
"type": "object",
|
|
1929
|
+
"content": false,
|
|
1930
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
1931
|
+
"fields": {
|
|
1932
|
+
"containerPx": {
|
|
1933
|
+
"type": "integer",
|
|
1934
|
+
"min": 0,
|
|
1935
|
+
"max": 2560,
|
|
1936
|
+
"description": "The frame's content width."
|
|
1937
|
+
},
|
|
1938
|
+
"padY": {
|
|
1939
|
+
"type": "integer",
|
|
1940
|
+
"min": 0,
|
|
1941
|
+
"max": 400,
|
|
1942
|
+
"description": "Top and bottom padding."
|
|
1943
|
+
},
|
|
1944
|
+
"padX": {
|
|
1945
|
+
"type": "integer",
|
|
1946
|
+
"min": 0,
|
|
1947
|
+
"max": 200,
|
|
1948
|
+
"description": "The frame's side padding (gutter)."
|
|
1949
|
+
},
|
|
1950
|
+
"bg": {
|
|
1951
|
+
"type": "object",
|
|
1952
|
+
"description": "The section's background.",
|
|
1953
|
+
"fields": {
|
|
1954
|
+
"color": {
|
|
1955
|
+
"type": "string",
|
|
1956
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
1957
|
+
},
|
|
1958
|
+
"image": {
|
|
1959
|
+
"type": "string",
|
|
1960
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
1961
|
+
},
|
|
1962
|
+
"overlay": {
|
|
1963
|
+
"type": "string",
|
|
1964
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
1965
|
+
},
|
|
1966
|
+
"size": {
|
|
1967
|
+
"type": "string",
|
|
1968
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
1969
|
+
},
|
|
1970
|
+
"position": {
|
|
1971
|
+
"type": "string",
|
|
1972
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
1973
|
+
}
|
|
1974
|
+
}
|
|
1975
|
+
},
|
|
1976
|
+
"columns": {
|
|
1977
|
+
"type": "object",
|
|
1978
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
1979
|
+
"fields": {
|
|
1980
|
+
"390": {
|
|
1981
|
+
"type": "integer",
|
|
1982
|
+
"min": 1,
|
|
1983
|
+
"max": 6,
|
|
1984
|
+
"description": "Phone."
|
|
1985
|
+
},
|
|
1986
|
+
"768": {
|
|
1987
|
+
"type": "integer",
|
|
1988
|
+
"min": 1,
|
|
1989
|
+
"max": 6,
|
|
1990
|
+
"description": "Tablet."
|
|
1991
|
+
},
|
|
1992
|
+
"1280": {
|
|
1993
|
+
"type": "integer",
|
|
1994
|
+
"min": 1,
|
|
1995
|
+
"max": 6,
|
|
1996
|
+
"description": "Desktop."
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
},
|
|
2000
|
+
"gap": {
|
|
2001
|
+
"type": "integer",
|
|
2002
|
+
"min": 0,
|
|
2003
|
+
"max": 200,
|
|
2004
|
+
"description": "Gap between items."
|
|
2005
|
+
},
|
|
2006
|
+
"tone": {
|
|
2007
|
+
"type": "select",
|
|
2008
|
+
"options": [
|
|
2009
|
+
"light",
|
|
2010
|
+
"dark"
|
|
2011
|
+
],
|
|
2012
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
2013
|
+
},
|
|
2014
|
+
"align": {
|
|
2015
|
+
"type": "select",
|
|
2016
|
+
"options": [
|
|
2017
|
+
"start",
|
|
2018
|
+
"center",
|
|
2019
|
+
"end"
|
|
2020
|
+
],
|
|
2021
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
2022
|
+
},
|
|
2023
|
+
"radius": {
|
|
2024
|
+
"type": "integer",
|
|
2025
|
+
"min": 0,
|
|
2026
|
+
"max": 200,
|
|
2027
|
+
"description": "Card and item corner radius."
|
|
2028
|
+
},
|
|
2029
|
+
"minHeight": {
|
|
2030
|
+
"type": "integer",
|
|
2031
|
+
"min": 0,
|
|
2032
|
+
"max": 2000,
|
|
2033
|
+
"description": "The section's minimum height."
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
},
|
|
967
2037
|
"id": {
|
|
968
2038
|
"type": "string",
|
|
969
2039
|
"content": false,
|
|
970
2040
|
"description": "Section id; also the exclusive group's name."
|
|
2041
|
+
},
|
|
2042
|
+
"numbered": {
|
|
2043
|
+
"type": "boolean",
|
|
2044
|
+
"default": false,
|
|
2045
|
+
"content": false,
|
|
2046
|
+
"description": "Count the questions with a leading number, drawn by the page's style rather than written into the text."
|
|
971
2047
|
}
|
|
972
2048
|
},
|
|
973
2049
|
"slots": {},
|
|
@@ -998,7 +2074,8 @@
|
|
|
998
2074
|
"items": "items",
|
|
999
2075
|
"items[].question": "items[].question",
|
|
1000
2076
|
"items[].answer": "items[].answer",
|
|
1001
|
-
"heading": "heading"
|
|
2077
|
+
"heading": "heading",
|
|
2078
|
+
"intro": "intro"
|
|
1002
2079
|
}
|
|
1003
2080
|
},
|
|
1004
2081
|
{
|
|
@@ -1008,7 +2085,9 @@
|
|
|
1008
2085
|
"category": "section",
|
|
1009
2086
|
"uses": [],
|
|
1010
2087
|
"shared": [
|
|
1011
|
-
"Section.astro"
|
|
2088
|
+
"Section.astro",
|
|
2089
|
+
"measured.ts",
|
|
2090
|
+
"types.ts"
|
|
1012
2091
|
],
|
|
1013
2092
|
"variants": {
|
|
1014
2093
|
"columns": {
|
|
@@ -1088,6 +2167,128 @@
|
|
|
1088
2167
|
},
|
|
1089
2168
|
"description": "The features, in order (Elementor icon list or icon boxes without images, Gutenberg list of features, Divi blurbs with icons)."
|
|
1090
2169
|
},
|
|
2170
|
+
"bare": {
|
|
2171
|
+
"type": "boolean",
|
|
2172
|
+
"default": false,
|
|
2173
|
+
"content": false,
|
|
2174
|
+
"description": "Only the list, with no section of its own; a split section uses it under its text."
|
|
2175
|
+
},
|
|
2176
|
+
"titleLevel": {
|
|
2177
|
+
"type": "integer",
|
|
2178
|
+
"default": 3,
|
|
2179
|
+
"content": false,
|
|
2180
|
+
"description": "With `bare`: the item titles' heading level (the section's plus one)."
|
|
2181
|
+
},
|
|
2182
|
+
"measured": {
|
|
2183
|
+
"type": "object",
|
|
2184
|
+
"content": false,
|
|
2185
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
2186
|
+
"fields": {
|
|
2187
|
+
"containerPx": {
|
|
2188
|
+
"type": "integer",
|
|
2189
|
+
"min": 0,
|
|
2190
|
+
"max": 2560,
|
|
2191
|
+
"description": "The frame's content width."
|
|
2192
|
+
},
|
|
2193
|
+
"padY": {
|
|
2194
|
+
"type": "integer",
|
|
2195
|
+
"min": 0,
|
|
2196
|
+
"max": 400,
|
|
2197
|
+
"description": "Top and bottom padding."
|
|
2198
|
+
},
|
|
2199
|
+
"padX": {
|
|
2200
|
+
"type": "integer",
|
|
2201
|
+
"min": 0,
|
|
2202
|
+
"max": 200,
|
|
2203
|
+
"description": "The frame's side padding (gutter)."
|
|
2204
|
+
},
|
|
2205
|
+
"bg": {
|
|
2206
|
+
"type": "object",
|
|
2207
|
+
"description": "The section's background.",
|
|
2208
|
+
"fields": {
|
|
2209
|
+
"color": {
|
|
2210
|
+
"type": "string",
|
|
2211
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
2212
|
+
},
|
|
2213
|
+
"image": {
|
|
2214
|
+
"type": "string",
|
|
2215
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
2216
|
+
},
|
|
2217
|
+
"overlay": {
|
|
2218
|
+
"type": "string",
|
|
2219
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
2220
|
+
},
|
|
2221
|
+
"size": {
|
|
2222
|
+
"type": "string",
|
|
2223
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
2224
|
+
},
|
|
2225
|
+
"position": {
|
|
2226
|
+
"type": "string",
|
|
2227
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
},
|
|
2231
|
+
"columns": {
|
|
2232
|
+
"type": "object",
|
|
2233
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
2234
|
+
"fields": {
|
|
2235
|
+
"390": {
|
|
2236
|
+
"type": "integer",
|
|
2237
|
+
"min": 1,
|
|
2238
|
+
"max": 6,
|
|
2239
|
+
"description": "Phone."
|
|
2240
|
+
},
|
|
2241
|
+
"768": {
|
|
2242
|
+
"type": "integer",
|
|
2243
|
+
"min": 1,
|
|
2244
|
+
"max": 6,
|
|
2245
|
+
"description": "Tablet."
|
|
2246
|
+
},
|
|
2247
|
+
"1280": {
|
|
2248
|
+
"type": "integer",
|
|
2249
|
+
"min": 1,
|
|
2250
|
+
"max": 6,
|
|
2251
|
+
"description": "Desktop."
|
|
2252
|
+
}
|
|
2253
|
+
}
|
|
2254
|
+
},
|
|
2255
|
+
"gap": {
|
|
2256
|
+
"type": "integer",
|
|
2257
|
+
"min": 0,
|
|
2258
|
+
"max": 200,
|
|
2259
|
+
"description": "Gap between items."
|
|
2260
|
+
},
|
|
2261
|
+
"tone": {
|
|
2262
|
+
"type": "select",
|
|
2263
|
+
"options": [
|
|
2264
|
+
"light",
|
|
2265
|
+
"dark"
|
|
2266
|
+
],
|
|
2267
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
2268
|
+
},
|
|
2269
|
+
"align": {
|
|
2270
|
+
"type": "select",
|
|
2271
|
+
"options": [
|
|
2272
|
+
"start",
|
|
2273
|
+
"center",
|
|
2274
|
+
"end"
|
|
2275
|
+
],
|
|
2276
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
2277
|
+
},
|
|
2278
|
+
"radius": {
|
|
2279
|
+
"type": "integer",
|
|
2280
|
+
"min": 0,
|
|
2281
|
+
"max": 200,
|
|
2282
|
+
"description": "Card and item corner radius."
|
|
2283
|
+
},
|
|
2284
|
+
"minHeight": {
|
|
2285
|
+
"type": "integer",
|
|
2286
|
+
"min": 0,
|
|
2287
|
+
"max": 2000,
|
|
2288
|
+
"description": "The section's minimum height."
|
|
2289
|
+
}
|
|
2290
|
+
}
|
|
2291
|
+
},
|
|
1091
2292
|
"id": {
|
|
1092
2293
|
"type": "string",
|
|
1093
2294
|
"content": false,
|
|
@@ -1336,34 +2537,74 @@
|
|
|
1336
2537
|
"KitImage.astro",
|
|
1337
2538
|
"Section.astro",
|
|
1338
2539
|
"image.ts",
|
|
2540
|
+
"measured.ts",
|
|
1339
2541
|
"types.ts"
|
|
1340
2542
|
],
|
|
1341
2543
|
"variants": {
|
|
1342
2544
|
"layout": {
|
|
1343
2545
|
"options": [
|
|
1344
2546
|
"grid",
|
|
1345
|
-
"masonry"
|
|
2547
|
+
"masonry",
|
|
2548
|
+
"row",
|
|
2549
|
+
"mosaic"
|
|
1346
2550
|
],
|
|
1347
2551
|
"default": "grid",
|
|
1348
|
-
"description": "grid:
|
|
2552
|
+
"description": "grid: equal tiles. masonry: columns keeping each image's height. row: a scroll-snap strip (a focusable region). mosaic: the first tile spans 2×2."
|
|
1349
2553
|
},
|
|
1350
2554
|
"columns": {
|
|
1351
2555
|
"options": [
|
|
1352
2556
|
"2",
|
|
1353
2557
|
"3",
|
|
1354
|
-
"4"
|
|
2558
|
+
"4",
|
|
2559
|
+
"5",
|
|
2560
|
+
"6"
|
|
2561
|
+
],
|
|
2562
|
+
"default": "3",
|
|
2563
|
+
"description": "Images per row on wide screens; two on phones."
|
|
2564
|
+
},
|
|
2565
|
+
"open": {
|
|
2566
|
+
"options": [
|
|
2567
|
+
"popover",
|
|
2568
|
+
"link",
|
|
2569
|
+
"none"
|
|
2570
|
+
],
|
|
2571
|
+
"default": "popover",
|
|
2572
|
+
"description": "popover: the image opens large in place (Popover API; Escape or a click outside closes it). link: the thumbnail links to the image file (the WordPress 'link to media file'). none: images only."
|
|
2573
|
+
},
|
|
2574
|
+
"aspect": {
|
|
2575
|
+
"options": [
|
|
2576
|
+
"square",
|
|
2577
|
+
"4:3",
|
|
2578
|
+
"16:9",
|
|
2579
|
+
"auto"
|
|
2580
|
+
],
|
|
2581
|
+
"default": "square",
|
|
2582
|
+
"description": "Tile shape (a masonry keeps each image's own)."
|
|
2583
|
+
},
|
|
2584
|
+
"gap": {
|
|
2585
|
+
"options": [
|
|
2586
|
+
"sm",
|
|
2587
|
+
"md",
|
|
2588
|
+
"lg"
|
|
2589
|
+
],
|
|
2590
|
+
"default": "md",
|
|
2591
|
+
"description": "Space between tiles."
|
|
2592
|
+
},
|
|
2593
|
+
"captionStyle": {
|
|
2594
|
+
"options": [
|
|
2595
|
+
"below",
|
|
2596
|
+
"overlay"
|
|
1355
2597
|
],
|
|
1356
|
-
"default": "
|
|
1357
|
-
"description": "
|
|
2598
|
+
"default": "below",
|
|
2599
|
+
"description": "below: caption under the image. overlay: over the image foot on hover and keyboard focus, always shown below md."
|
|
1358
2600
|
},
|
|
1359
|
-
"
|
|
2601
|
+
"hoverEffect": {
|
|
1360
2602
|
"options": [
|
|
1361
|
-
"
|
|
1362
|
-
"
|
|
1363
|
-
"none"
|
|
2603
|
+
"none",
|
|
2604
|
+
"zoom"
|
|
1364
2605
|
],
|
|
1365
|
-
"default": "
|
|
1366
|
-
"description": "
|
|
2606
|
+
"default": "none",
|
|
2607
|
+
"description": "zoom: a slight scale on hover, only where reduced motion is not requested."
|
|
1367
2608
|
}
|
|
1368
2609
|
},
|
|
1369
2610
|
"props": {
|
|
@@ -1389,6 +2630,11 @@
|
|
|
1389
2630
|
"type": "string",
|
|
1390
2631
|
"label": "Caption",
|
|
1391
2632
|
"description": "Caption under the enlarged image."
|
|
2633
|
+
},
|
|
2634
|
+
"full": {
|
|
2635
|
+
"type": "image",
|
|
2636
|
+
"label": "Full-size image",
|
|
2637
|
+
"description": "The original file the viewer shows large, where the source links to it; otherwise the image itself."
|
|
1392
2638
|
}
|
|
1393
2639
|
}
|
|
1394
2640
|
},
|
|
@@ -1419,6 +2665,128 @@
|
|
|
1419
2665
|
"type": "string",
|
|
1420
2666
|
"content": false,
|
|
1421
2667
|
"description": "Section id, unique per page: viewer ids derive from it (`<id>-image-<n>`)."
|
|
2668
|
+
},
|
|
2669
|
+
"enlargeLabel": {
|
|
2670
|
+
"type": "string",
|
|
2671
|
+
"default": "Enlarge",
|
|
2672
|
+
"content": false,
|
|
2673
|
+
"description": "Prefix of each thumbnail button's name for screen readers (\"Enlarge: <description>\")."
|
|
2674
|
+
},
|
|
2675
|
+
"regionLabel": {
|
|
2676
|
+
"type": "string",
|
|
2677
|
+
"default": "Images",
|
|
2678
|
+
"content": false,
|
|
2679
|
+
"description": "Name of the scrolling row's region when the gallery has no heading."
|
|
2680
|
+
},
|
|
2681
|
+
"measured": {
|
|
2682
|
+
"type": "object",
|
|
2683
|
+
"content": false,
|
|
2684
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
2685
|
+
"fields": {
|
|
2686
|
+
"containerPx": {
|
|
2687
|
+
"type": "integer",
|
|
2688
|
+
"min": 0,
|
|
2689
|
+
"max": 2560,
|
|
2690
|
+
"description": "The frame's content width."
|
|
2691
|
+
},
|
|
2692
|
+
"padY": {
|
|
2693
|
+
"type": "integer",
|
|
2694
|
+
"min": 0,
|
|
2695
|
+
"max": 400,
|
|
2696
|
+
"description": "Top and bottom padding."
|
|
2697
|
+
},
|
|
2698
|
+
"padX": {
|
|
2699
|
+
"type": "integer",
|
|
2700
|
+
"min": 0,
|
|
2701
|
+
"max": 200,
|
|
2702
|
+
"description": "The frame's side padding (gutter)."
|
|
2703
|
+
},
|
|
2704
|
+
"bg": {
|
|
2705
|
+
"type": "object",
|
|
2706
|
+
"description": "The section's background.",
|
|
2707
|
+
"fields": {
|
|
2708
|
+
"color": {
|
|
2709
|
+
"type": "string",
|
|
2710
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
2711
|
+
},
|
|
2712
|
+
"image": {
|
|
2713
|
+
"type": "string",
|
|
2714
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
2715
|
+
},
|
|
2716
|
+
"overlay": {
|
|
2717
|
+
"type": "string",
|
|
2718
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
2719
|
+
},
|
|
2720
|
+
"size": {
|
|
2721
|
+
"type": "string",
|
|
2722
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
2723
|
+
},
|
|
2724
|
+
"position": {
|
|
2725
|
+
"type": "string",
|
|
2726
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
2727
|
+
}
|
|
2728
|
+
}
|
|
2729
|
+
},
|
|
2730
|
+
"columns": {
|
|
2731
|
+
"type": "object",
|
|
2732
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
2733
|
+
"fields": {
|
|
2734
|
+
"390": {
|
|
2735
|
+
"type": "integer",
|
|
2736
|
+
"min": 1,
|
|
2737
|
+
"max": 6,
|
|
2738
|
+
"description": "Phone."
|
|
2739
|
+
},
|
|
2740
|
+
"768": {
|
|
2741
|
+
"type": "integer",
|
|
2742
|
+
"min": 1,
|
|
2743
|
+
"max": 6,
|
|
2744
|
+
"description": "Tablet."
|
|
2745
|
+
},
|
|
2746
|
+
"1280": {
|
|
2747
|
+
"type": "integer",
|
|
2748
|
+
"min": 1,
|
|
2749
|
+
"max": 6,
|
|
2750
|
+
"description": "Desktop."
|
|
2751
|
+
}
|
|
2752
|
+
}
|
|
2753
|
+
},
|
|
2754
|
+
"gap": {
|
|
2755
|
+
"type": "integer",
|
|
2756
|
+
"min": 0,
|
|
2757
|
+
"max": 200,
|
|
2758
|
+
"description": "Gap between items."
|
|
2759
|
+
},
|
|
2760
|
+
"tone": {
|
|
2761
|
+
"type": "select",
|
|
2762
|
+
"options": [
|
|
2763
|
+
"light",
|
|
2764
|
+
"dark"
|
|
2765
|
+
],
|
|
2766
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
2767
|
+
},
|
|
2768
|
+
"align": {
|
|
2769
|
+
"type": "select",
|
|
2770
|
+
"options": [
|
|
2771
|
+
"start",
|
|
2772
|
+
"center",
|
|
2773
|
+
"end"
|
|
2774
|
+
],
|
|
2775
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
2776
|
+
},
|
|
2777
|
+
"radius": {
|
|
2778
|
+
"type": "integer",
|
|
2779
|
+
"min": 0,
|
|
2780
|
+
"max": 200,
|
|
2781
|
+
"description": "Card and item corner radius."
|
|
2782
|
+
},
|
|
2783
|
+
"minHeight": {
|
|
2784
|
+
"type": "integer",
|
|
2785
|
+
"min": 0,
|
|
2786
|
+
"max": 2000,
|
|
2787
|
+
"description": "The section's minimum height."
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
1422
2790
|
}
|
|
1423
2791
|
},
|
|
1424
2792
|
"slots": {},
|
|
@@ -1439,7 +2807,7 @@
|
|
|
1439
2807
|
"classic/gallery"
|
|
1440
2808
|
]
|
|
1441
2809
|
},
|
|
1442
|
-
"a11y": "A list of figures. In popover mode each thumbnail is a <button> named by the image's alt (or caption) that opens the viewer; the viewer has a visible close button, and Escape closes it, returning focus to the thumbnail. Captions are <figcaption>s.",
|
|
2810
|
+
"a11y": "A list of figures. In popover mode each thumbnail is a <button> named by the image's alt (or caption) that opens the viewer; the viewer has a visible close button, and Escape closes it, returning focus to the thumbnail. Captions are <figcaption>s. A scrolling row is a labelled region with tabindex 0 so the keyboard can scroll it; thumbnail buttons are named \"Enlarge: …\". The viewer has no next/previous (it would need script).",
|
|
1443
2811
|
"files": [
|
|
1444
2812
|
"Gallery.astro"
|
|
1445
2813
|
],
|
|
@@ -1448,6 +2816,7 @@
|
|
|
1448
2816
|
"items[].image": "items[].image",
|
|
1449
2817
|
"items[].imageAlt": "items[].image_alt",
|
|
1450
2818
|
"items[].caption": "items[].caption",
|
|
2819
|
+
"items[].full": "items[].full",
|
|
1451
2820
|
"heading": "heading"
|
|
1452
2821
|
}
|
|
1453
2822
|
},
|
|
@@ -1660,6 +3029,7 @@
|
|
|
1660
3029
|
"Button.astro",
|
|
1661
3030
|
"KitImage.astro",
|
|
1662
3031
|
"Section.astro",
|
|
3032
|
+
"measured.ts",
|
|
1663
3033
|
"types.ts"
|
|
1664
3034
|
],
|
|
1665
3035
|
"variants": {
|
|
@@ -1835,6 +3205,116 @@
|
|
|
1835
3205
|
"min": 100,
|
|
1836
3206
|
"max": 2000,
|
|
1837
3207
|
"description": "Layout cover only: the cover's own height in pixels, as the source sets it (520); absent, the layout's default."
|
|
3208
|
+
},
|
|
3209
|
+
"measured": {
|
|
3210
|
+
"type": "object",
|
|
3211
|
+
"content": false,
|
|
3212
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
3213
|
+
"fields": {
|
|
3214
|
+
"containerPx": {
|
|
3215
|
+
"type": "integer",
|
|
3216
|
+
"min": 0,
|
|
3217
|
+
"max": 2560,
|
|
3218
|
+
"description": "The frame's content width."
|
|
3219
|
+
},
|
|
3220
|
+
"padY": {
|
|
3221
|
+
"type": "integer",
|
|
3222
|
+
"min": 0,
|
|
3223
|
+
"max": 400,
|
|
3224
|
+
"description": "Top and bottom padding."
|
|
3225
|
+
},
|
|
3226
|
+
"padX": {
|
|
3227
|
+
"type": "integer",
|
|
3228
|
+
"min": 0,
|
|
3229
|
+
"max": 200,
|
|
3230
|
+
"description": "The frame's side padding (gutter)."
|
|
3231
|
+
},
|
|
3232
|
+
"bg": {
|
|
3233
|
+
"type": "object",
|
|
3234
|
+
"description": "The section's background.",
|
|
3235
|
+
"fields": {
|
|
3236
|
+
"color": {
|
|
3237
|
+
"type": "string",
|
|
3238
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
3239
|
+
},
|
|
3240
|
+
"image": {
|
|
3241
|
+
"type": "string",
|
|
3242
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
3243
|
+
},
|
|
3244
|
+
"overlay": {
|
|
3245
|
+
"type": "string",
|
|
3246
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
3247
|
+
},
|
|
3248
|
+
"size": {
|
|
3249
|
+
"type": "string",
|
|
3250
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
3251
|
+
},
|
|
3252
|
+
"position": {
|
|
3253
|
+
"type": "string",
|
|
3254
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
3255
|
+
}
|
|
3256
|
+
}
|
|
3257
|
+
},
|
|
3258
|
+
"columns": {
|
|
3259
|
+
"type": "object",
|
|
3260
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
3261
|
+
"fields": {
|
|
3262
|
+
"390": {
|
|
3263
|
+
"type": "integer",
|
|
3264
|
+
"min": 1,
|
|
3265
|
+
"max": 6,
|
|
3266
|
+
"description": "Phone."
|
|
3267
|
+
},
|
|
3268
|
+
"768": {
|
|
3269
|
+
"type": "integer",
|
|
3270
|
+
"min": 1,
|
|
3271
|
+
"max": 6,
|
|
3272
|
+
"description": "Tablet."
|
|
3273
|
+
},
|
|
3274
|
+
"1280": {
|
|
3275
|
+
"type": "integer",
|
|
3276
|
+
"min": 1,
|
|
3277
|
+
"max": 6,
|
|
3278
|
+
"description": "Desktop."
|
|
3279
|
+
}
|
|
3280
|
+
}
|
|
3281
|
+
},
|
|
3282
|
+
"gap": {
|
|
3283
|
+
"type": "integer",
|
|
3284
|
+
"min": 0,
|
|
3285
|
+
"max": 200,
|
|
3286
|
+
"description": "Gap between items."
|
|
3287
|
+
},
|
|
3288
|
+
"tone": {
|
|
3289
|
+
"type": "select",
|
|
3290
|
+
"options": [
|
|
3291
|
+
"light",
|
|
3292
|
+
"dark"
|
|
3293
|
+
],
|
|
3294
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
3295
|
+
},
|
|
3296
|
+
"align": {
|
|
3297
|
+
"type": "select",
|
|
3298
|
+
"options": [
|
|
3299
|
+
"start",
|
|
3300
|
+
"center",
|
|
3301
|
+
"end"
|
|
3302
|
+
],
|
|
3303
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
3304
|
+
},
|
|
3305
|
+
"radius": {
|
|
3306
|
+
"type": "integer",
|
|
3307
|
+
"min": 0,
|
|
3308
|
+
"max": 200,
|
|
3309
|
+
"description": "Card and item corner radius."
|
|
3310
|
+
},
|
|
3311
|
+
"minHeight": {
|
|
3312
|
+
"type": "integer",
|
|
3313
|
+
"min": 0,
|
|
3314
|
+
"max": 2000,
|
|
3315
|
+
"description": "The section's minimum height."
|
|
3316
|
+
}
|
|
3317
|
+
}
|
|
1838
3318
|
}
|
|
1839
3319
|
},
|
|
1840
3320
|
"slots": {},
|
|
@@ -1877,32 +3357,62 @@
|
|
|
1877
3357
|
{
|
|
1878
3358
|
"id": "logo-cloud",
|
|
1879
3359
|
"name": "Logo cloud",
|
|
1880
|
-
"description": "A grid of client or partner logos, each optionally linked, under an optional heading (\"Trusted by\").",
|
|
3360
|
+
"description": "A grid, a row or an endless strip of client or partner logos, each optionally linked, under an optional heading (\"Trusted by\").",
|
|
1881
3361
|
"category": "section",
|
|
1882
3362
|
"uses": [],
|
|
1883
3363
|
"shared": [
|
|
1884
3364
|
"KitImage.astro",
|
|
1885
3365
|
"Section.astro",
|
|
1886
3366
|
"image.ts",
|
|
3367
|
+
"measured.ts",
|
|
1887
3368
|
"types.ts"
|
|
1888
3369
|
],
|
|
1889
3370
|
"variants": {
|
|
3371
|
+
"layout": {
|
|
3372
|
+
"options": [
|
|
3373
|
+
"grid",
|
|
3374
|
+
"row",
|
|
3375
|
+
"marquee"
|
|
3376
|
+
],
|
|
3377
|
+
"default": "grid",
|
|
3378
|
+
"description": "grid: logos in columns. row: one line that wraps. marquee: an endless CSS-only strip that stands still for reduced motion."
|
|
3379
|
+
},
|
|
1890
3380
|
"columns": {
|
|
1891
3381
|
"options": [
|
|
1892
3382
|
"2",
|
|
1893
3383
|
"3",
|
|
1894
|
-
"4"
|
|
3384
|
+
"4",
|
|
3385
|
+
"5",
|
|
3386
|
+
"6"
|
|
1895
3387
|
],
|
|
1896
3388
|
"default": "4",
|
|
1897
|
-
"description": "Logos per row on wide screens; two on phones, three on tablets."
|
|
3389
|
+
"description": "Logos per row on wide screens (grid layout); two on phones, three on tablets."
|
|
3390
|
+
},
|
|
3391
|
+
"logoHeight": {
|
|
3392
|
+
"options": [
|
|
3393
|
+
"sm",
|
|
3394
|
+
"md",
|
|
3395
|
+
"lg"
|
|
3396
|
+
],
|
|
3397
|
+
"default": "md",
|
|
3398
|
+
"description": "Height of every logo (the width follows): small, medium or large."
|
|
1898
3399
|
},
|
|
1899
3400
|
"style": {
|
|
1900
3401
|
"options": [
|
|
1901
3402
|
"plain",
|
|
1902
|
-
"grayscale"
|
|
3403
|
+
"grayscale",
|
|
3404
|
+
"mono-light"
|
|
1903
3405
|
],
|
|
1904
3406
|
"default": "plain",
|
|
1905
|
-
"description": "plain: logos in their own colours. grayscale: muted grey, full colour on hover or focus."
|
|
3407
|
+
"description": "plain: logos in their own colours. grayscale: muted grey, full colour on hover or focus. mono-light: drawn white, for a dark band."
|
|
3408
|
+
},
|
|
3409
|
+
"align": {
|
|
3410
|
+
"options": [
|
|
3411
|
+
"center",
|
|
3412
|
+
"start"
|
|
3413
|
+
],
|
|
3414
|
+
"default": "center",
|
|
3415
|
+
"description": "Alignment of the heading and of the logos in a row."
|
|
1906
3416
|
},
|
|
1907
3417
|
"tone": {
|
|
1908
3418
|
"options": [
|
|
@@ -1949,6 +3459,116 @@
|
|
|
1949
3459
|
},
|
|
1950
3460
|
"description": "The logos, in order (a Gutenberg gallery or columns of logos, Elementor image carousel/gallery of logos, Divi images)."
|
|
1951
3461
|
},
|
|
3462
|
+
"measured": {
|
|
3463
|
+
"type": "object",
|
|
3464
|
+
"content": false,
|
|
3465
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
3466
|
+
"fields": {
|
|
3467
|
+
"containerPx": {
|
|
3468
|
+
"type": "integer",
|
|
3469
|
+
"min": 0,
|
|
3470
|
+
"max": 2560,
|
|
3471
|
+
"description": "The frame's content width."
|
|
3472
|
+
},
|
|
3473
|
+
"padY": {
|
|
3474
|
+
"type": "integer",
|
|
3475
|
+
"min": 0,
|
|
3476
|
+
"max": 400,
|
|
3477
|
+
"description": "Top and bottom padding."
|
|
3478
|
+
},
|
|
3479
|
+
"padX": {
|
|
3480
|
+
"type": "integer",
|
|
3481
|
+
"min": 0,
|
|
3482
|
+
"max": 200,
|
|
3483
|
+
"description": "The frame's side padding (gutter)."
|
|
3484
|
+
},
|
|
3485
|
+
"bg": {
|
|
3486
|
+
"type": "object",
|
|
3487
|
+
"description": "The section's background.",
|
|
3488
|
+
"fields": {
|
|
3489
|
+
"color": {
|
|
3490
|
+
"type": "string",
|
|
3491
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
3492
|
+
},
|
|
3493
|
+
"image": {
|
|
3494
|
+
"type": "string",
|
|
3495
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
3496
|
+
},
|
|
3497
|
+
"overlay": {
|
|
3498
|
+
"type": "string",
|
|
3499
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
3500
|
+
},
|
|
3501
|
+
"size": {
|
|
3502
|
+
"type": "string",
|
|
3503
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
3504
|
+
},
|
|
3505
|
+
"position": {
|
|
3506
|
+
"type": "string",
|
|
3507
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
3508
|
+
}
|
|
3509
|
+
}
|
|
3510
|
+
},
|
|
3511
|
+
"columns": {
|
|
3512
|
+
"type": "object",
|
|
3513
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
3514
|
+
"fields": {
|
|
3515
|
+
"390": {
|
|
3516
|
+
"type": "integer",
|
|
3517
|
+
"min": 1,
|
|
3518
|
+
"max": 6,
|
|
3519
|
+
"description": "Phone."
|
|
3520
|
+
},
|
|
3521
|
+
"768": {
|
|
3522
|
+
"type": "integer",
|
|
3523
|
+
"min": 1,
|
|
3524
|
+
"max": 6,
|
|
3525
|
+
"description": "Tablet."
|
|
3526
|
+
},
|
|
3527
|
+
"1280": {
|
|
3528
|
+
"type": "integer",
|
|
3529
|
+
"min": 1,
|
|
3530
|
+
"max": 6,
|
|
3531
|
+
"description": "Desktop."
|
|
3532
|
+
}
|
|
3533
|
+
}
|
|
3534
|
+
},
|
|
3535
|
+
"gap": {
|
|
3536
|
+
"type": "integer",
|
|
3537
|
+
"min": 0,
|
|
3538
|
+
"max": 200,
|
|
3539
|
+
"description": "Gap between items."
|
|
3540
|
+
},
|
|
3541
|
+
"tone": {
|
|
3542
|
+
"type": "select",
|
|
3543
|
+
"options": [
|
|
3544
|
+
"light",
|
|
3545
|
+
"dark"
|
|
3546
|
+
],
|
|
3547
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
3548
|
+
},
|
|
3549
|
+
"align": {
|
|
3550
|
+
"type": "select",
|
|
3551
|
+
"options": [
|
|
3552
|
+
"start",
|
|
3553
|
+
"center",
|
|
3554
|
+
"end"
|
|
3555
|
+
],
|
|
3556
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
3557
|
+
},
|
|
3558
|
+
"radius": {
|
|
3559
|
+
"type": "integer",
|
|
3560
|
+
"min": 0,
|
|
3561
|
+
"max": 200,
|
|
3562
|
+
"description": "Card and item corner radius."
|
|
3563
|
+
},
|
|
3564
|
+
"minHeight": {
|
|
3565
|
+
"type": "integer",
|
|
3566
|
+
"min": 0,
|
|
3567
|
+
"max": 2000,
|
|
3568
|
+
"description": "The section's minimum height."
|
|
3569
|
+
}
|
|
3570
|
+
}
|
|
3571
|
+
},
|
|
1952
3572
|
"id": {
|
|
1953
3573
|
"type": "string",
|
|
1954
3574
|
"content": false,
|
|
@@ -2112,7 +3732,9 @@
|
|
|
2112
3732
|
"category": "section",
|
|
2113
3733
|
"uses": [],
|
|
2114
3734
|
"shared": [
|
|
2115
|
-
"Section.astro"
|
|
3735
|
+
"Section.astro",
|
|
3736
|
+
"measured.ts",
|
|
3737
|
+
"types.ts"
|
|
2116
3738
|
],
|
|
2117
3739
|
"variants": {
|
|
2118
3740
|
"layout": {
|
|
@@ -2206,6 +3828,116 @@
|
|
|
2206
3828
|
"type": "string",
|
|
2207
3829
|
"content": false,
|
|
2208
3830
|
"description": "Section id, unique per page (two sign-ups on one page need two ids): the heading gets `<id>-title`, the inputs `<id>-email`/`<id>-name`."
|
|
3831
|
+
},
|
|
3832
|
+
"measured": {
|
|
3833
|
+
"type": "object",
|
|
3834
|
+
"content": false,
|
|
3835
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
3836
|
+
"fields": {
|
|
3837
|
+
"containerPx": {
|
|
3838
|
+
"type": "integer",
|
|
3839
|
+
"min": 0,
|
|
3840
|
+
"max": 2560,
|
|
3841
|
+
"description": "The frame's content width."
|
|
3842
|
+
},
|
|
3843
|
+
"padY": {
|
|
3844
|
+
"type": "integer",
|
|
3845
|
+
"min": 0,
|
|
3846
|
+
"max": 400,
|
|
3847
|
+
"description": "Top and bottom padding."
|
|
3848
|
+
},
|
|
3849
|
+
"padX": {
|
|
3850
|
+
"type": "integer",
|
|
3851
|
+
"min": 0,
|
|
3852
|
+
"max": 200,
|
|
3853
|
+
"description": "The frame's side padding (gutter)."
|
|
3854
|
+
},
|
|
3855
|
+
"bg": {
|
|
3856
|
+
"type": "object",
|
|
3857
|
+
"description": "The section's background.",
|
|
3858
|
+
"fields": {
|
|
3859
|
+
"color": {
|
|
3860
|
+
"type": "string",
|
|
3861
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
3862
|
+
},
|
|
3863
|
+
"image": {
|
|
3864
|
+
"type": "string",
|
|
3865
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
3866
|
+
},
|
|
3867
|
+
"overlay": {
|
|
3868
|
+
"type": "string",
|
|
3869
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
3870
|
+
},
|
|
3871
|
+
"size": {
|
|
3872
|
+
"type": "string",
|
|
3873
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
3874
|
+
},
|
|
3875
|
+
"position": {
|
|
3876
|
+
"type": "string",
|
|
3877
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
3878
|
+
}
|
|
3879
|
+
}
|
|
3880
|
+
},
|
|
3881
|
+
"columns": {
|
|
3882
|
+
"type": "object",
|
|
3883
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
3884
|
+
"fields": {
|
|
3885
|
+
"390": {
|
|
3886
|
+
"type": "integer",
|
|
3887
|
+
"min": 1,
|
|
3888
|
+
"max": 6,
|
|
3889
|
+
"description": "Phone."
|
|
3890
|
+
},
|
|
3891
|
+
"768": {
|
|
3892
|
+
"type": "integer",
|
|
3893
|
+
"min": 1,
|
|
3894
|
+
"max": 6,
|
|
3895
|
+
"description": "Tablet."
|
|
3896
|
+
},
|
|
3897
|
+
"1280": {
|
|
3898
|
+
"type": "integer",
|
|
3899
|
+
"min": 1,
|
|
3900
|
+
"max": 6,
|
|
3901
|
+
"description": "Desktop."
|
|
3902
|
+
}
|
|
3903
|
+
}
|
|
3904
|
+
},
|
|
3905
|
+
"gap": {
|
|
3906
|
+
"type": "integer",
|
|
3907
|
+
"min": 0,
|
|
3908
|
+
"max": 200,
|
|
3909
|
+
"description": "Gap between items."
|
|
3910
|
+
},
|
|
3911
|
+
"tone": {
|
|
3912
|
+
"type": "select",
|
|
3913
|
+
"options": [
|
|
3914
|
+
"light",
|
|
3915
|
+
"dark"
|
|
3916
|
+
],
|
|
3917
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
3918
|
+
},
|
|
3919
|
+
"align": {
|
|
3920
|
+
"type": "select",
|
|
3921
|
+
"options": [
|
|
3922
|
+
"start",
|
|
3923
|
+
"center",
|
|
3924
|
+
"end"
|
|
3925
|
+
],
|
|
3926
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
3927
|
+
},
|
|
3928
|
+
"radius": {
|
|
3929
|
+
"type": "integer",
|
|
3930
|
+
"min": 0,
|
|
3931
|
+
"max": 200,
|
|
3932
|
+
"description": "Card and item corner radius."
|
|
3933
|
+
},
|
|
3934
|
+
"minHeight": {
|
|
3935
|
+
"type": "integer",
|
|
3936
|
+
"min": 0,
|
|
3937
|
+
"max": 2000,
|
|
3938
|
+
"description": "The section's minimum height."
|
|
3939
|
+
}
|
|
3940
|
+
}
|
|
2209
3941
|
}
|
|
2210
3942
|
},
|
|
2211
3943
|
"slots": {},
|
|
@@ -2409,36 +4141,346 @@
|
|
|
2409
4141
|
"type": "url",
|
|
2410
4142
|
"required": true
|
|
2411
4143
|
}
|
|
2412
|
-
},
|
|
2413
|
-
"description": "Primary category and its archive."
|
|
4144
|
+
},
|
|
4145
|
+
"description": "Primary category and its archive."
|
|
4146
|
+
},
|
|
4147
|
+
"author": {
|
|
4148
|
+
"type": "string",
|
|
4149
|
+
"description": "Author name (posts.author → authors.name)."
|
|
4150
|
+
},
|
|
4151
|
+
"headingLevel": {
|
|
4152
|
+
"type": "integer",
|
|
4153
|
+
"min": 2,
|
|
4154
|
+
"max": 3,
|
|
4155
|
+
"default": 2,
|
|
4156
|
+
"description": "Title heading level in the page outline."
|
|
4157
|
+
},
|
|
4158
|
+
"linkTitle": {
|
|
4159
|
+
"type": "boolean",
|
|
4160
|
+
"default": false,
|
|
4161
|
+
"description": "The title in the site's link colour (--color-link), as themes that colour every link do."
|
|
4162
|
+
},
|
|
4163
|
+
"sizes": {
|
|
4164
|
+
"type": "string",
|
|
4165
|
+
"description": "The image's `sizes` hint; absent, the card's own guess. A list passes the slot its columns give."
|
|
4166
|
+
},
|
|
4167
|
+
"imageHeight": {
|
|
4168
|
+
"type": "string",
|
|
4169
|
+
"description": "The image block's height as the source sets it (a CSS length or clamp()), cropped to fit; wins over imageAspect."
|
|
4170
|
+
},
|
|
4171
|
+
"imageAspect": {
|
|
4172
|
+
"type": "string",
|
|
4173
|
+
"description": "The image block's aspect ratio (16 / 9) where the source sets an aspect ratio; absent, 16 / 9."
|
|
4174
|
+
},
|
|
4175
|
+
"excerptLines": {
|
|
4176
|
+
"type": "integer",
|
|
4177
|
+
"min": 2,
|
|
4178
|
+
"max": 4,
|
|
4179
|
+
"content": false,
|
|
4180
|
+
"description": "Clamp the excerpt to this many lines; absent, the layout's own (3 vertical, 2 otherwise)."
|
|
4181
|
+
}
|
|
4182
|
+
},
|
|
4183
|
+
"slots": {},
|
|
4184
|
+
"js": "none",
|
|
4185
|
+
"dependencies": {},
|
|
4186
|
+
"sources": {
|
|
4187
|
+
"gutenberg": [
|
|
4188
|
+
"core/query",
|
|
4189
|
+
"core/post-template",
|
|
4190
|
+
"core/latest-posts"
|
|
4191
|
+
],
|
|
4192
|
+
"elementor": [
|
|
4193
|
+
"elementor/posts",
|
|
4194
|
+
"elementor/archive-posts"
|
|
4195
|
+
],
|
|
4196
|
+
"divi": [
|
|
4197
|
+
"divi/et_pb_blog"
|
|
4198
|
+
],
|
|
4199
|
+
"classic": [
|
|
4200
|
+
"classic/archive-item"
|
|
4201
|
+
]
|
|
4202
|
+
},
|
|
4203
|
+
"a11y": "An <article> with one link (the title), stretched over the card; the category link sits above it and stays separately focusable. Dates are <time datetime>.",
|
|
4204
|
+
"files": [
|
|
4205
|
+
"PostCard.astro"
|
|
4206
|
+
]
|
|
4207
|
+
},
|
|
4208
|
+
{
|
|
4209
|
+
"id": "post-list",
|
|
4210
|
+
"name": "Post list",
|
|
4211
|
+
"description": "A list of posts as cards: a grid, stacked rows, a featured first post over a grid, or a compact title-and-date list. The posts come from the site's own collection; the switches decide which parts of a card show.",
|
|
4212
|
+
"category": "section",
|
|
4213
|
+
"uses": [
|
|
4214
|
+
"post-card"
|
|
4215
|
+
],
|
|
4216
|
+
"shared": [
|
|
4217
|
+
"Section.astro",
|
|
4218
|
+
"measured.ts",
|
|
4219
|
+
"types.ts"
|
|
4220
|
+
],
|
|
4221
|
+
"variants": {
|
|
4222
|
+
"layout": {
|
|
4223
|
+
"options": [
|
|
4224
|
+
"grid",
|
|
4225
|
+
"list",
|
|
4226
|
+
"featured",
|
|
4227
|
+
"compact"
|
|
4228
|
+
],
|
|
4229
|
+
"default": "grid",
|
|
4230
|
+
"description": "grid: cards in columns. list: stacked horizontal cards. featured: the first post large over a grid. compact: title and date only."
|
|
4231
|
+
},
|
|
4232
|
+
"columns": {
|
|
4233
|
+
"options": [
|
|
4234
|
+
"2",
|
|
4235
|
+
"3",
|
|
4236
|
+
"4"
|
|
4237
|
+
],
|
|
4238
|
+
"default": "3",
|
|
4239
|
+
"description": "Cards per row on wide screens (grid and featured)."
|
|
4240
|
+
}
|
|
4241
|
+
},
|
|
4242
|
+
"props": {
|
|
4243
|
+
"heading": {
|
|
4244
|
+
"type": "string",
|
|
4245
|
+
"label": "Heading",
|
|
4246
|
+
"description": "Section heading above the posts."
|
|
4247
|
+
},
|
|
4248
|
+
"intro": {
|
|
4249
|
+
"type": "text",
|
|
4250
|
+
"label": "Intro",
|
|
4251
|
+
"description": "A line or two under the heading."
|
|
4252
|
+
},
|
|
4253
|
+
"posts": {
|
|
4254
|
+
"type": "array",
|
|
4255
|
+
"label": "Posts",
|
|
4256
|
+
"required": true,
|
|
4257
|
+
"content": false,
|
|
4258
|
+
"description": "The posts to show, newest first: from the posts collection (the query SDK), never copied from a page.",
|
|
4259
|
+
"items": {
|
|
4260
|
+
"type": "object",
|
|
4261
|
+
"fields": {
|
|
4262
|
+
"title": {
|
|
4263
|
+
"type": "string",
|
|
4264
|
+
"required": true
|
|
4265
|
+
},
|
|
4266
|
+
"href": {
|
|
4267
|
+
"type": "url",
|
|
4268
|
+
"required": true
|
|
4269
|
+
},
|
|
4270
|
+
"excerpt": {
|
|
4271
|
+
"type": "text"
|
|
4272
|
+
},
|
|
4273
|
+
"date": {
|
|
4274
|
+
"type": "datetime"
|
|
4275
|
+
},
|
|
4276
|
+
"image": {
|
|
4277
|
+
"type": "object",
|
|
4278
|
+
"fields": {
|
|
4279
|
+
"src": {
|
|
4280
|
+
"type": "image",
|
|
4281
|
+
"required": true
|
|
4282
|
+
},
|
|
4283
|
+
"alt": {
|
|
4284
|
+
"type": "string",
|
|
4285
|
+
"required": true
|
|
4286
|
+
},
|
|
4287
|
+
"width": {
|
|
4288
|
+
"type": "integer"
|
|
4289
|
+
},
|
|
4290
|
+
"height": {
|
|
4291
|
+
"type": "integer"
|
|
4292
|
+
}
|
|
4293
|
+
}
|
|
4294
|
+
},
|
|
4295
|
+
"category": {
|
|
4296
|
+
"type": "object",
|
|
4297
|
+
"fields": {
|
|
4298
|
+
"label": {
|
|
4299
|
+
"type": "string",
|
|
4300
|
+
"required": true
|
|
4301
|
+
},
|
|
4302
|
+
"href": {
|
|
4303
|
+
"type": "url",
|
|
4304
|
+
"required": true
|
|
4305
|
+
}
|
|
4306
|
+
}
|
|
4307
|
+
},
|
|
4308
|
+
"author": {
|
|
4309
|
+
"type": "string"
|
|
4310
|
+
}
|
|
4311
|
+
}
|
|
4312
|
+
}
|
|
2414
4313
|
},
|
|
2415
|
-
"
|
|
2416
|
-
"type": "
|
|
2417
|
-
"
|
|
4314
|
+
"showImage": {
|
|
4315
|
+
"type": "boolean",
|
|
4316
|
+
"default": true,
|
|
4317
|
+
"content": false,
|
|
4318
|
+
"description": "Show each post's cover."
|
|
2418
4319
|
},
|
|
2419
|
-
"
|
|
4320
|
+
"showExcerpt": {
|
|
4321
|
+
"type": "boolean",
|
|
4322
|
+
"default": true,
|
|
4323
|
+
"content": false,
|
|
4324
|
+
"description": "Show each post's excerpt."
|
|
4325
|
+
},
|
|
4326
|
+
"showAuthor": {
|
|
4327
|
+
"type": "boolean",
|
|
4328
|
+
"default": true,
|
|
4329
|
+
"content": false,
|
|
4330
|
+
"description": "Show each post's author."
|
|
4331
|
+
},
|
|
4332
|
+
"showCategory": {
|
|
4333
|
+
"type": "boolean",
|
|
4334
|
+
"default": true,
|
|
4335
|
+
"content": false,
|
|
4336
|
+
"description": "Show each post's category."
|
|
4337
|
+
},
|
|
4338
|
+
"excerptLines": {
|
|
2420
4339
|
"type": "integer",
|
|
2421
4340
|
"min": 2,
|
|
2422
|
-
"max":
|
|
2423
|
-
"
|
|
2424
|
-
"description": "
|
|
4341
|
+
"max": 4,
|
|
4342
|
+
"content": false,
|
|
4343
|
+
"description": "Clamp each excerpt to this many lines."
|
|
2425
4344
|
},
|
|
2426
|
-
"
|
|
2427
|
-
"type": "
|
|
2428
|
-
"
|
|
2429
|
-
"description": "
|
|
4345
|
+
"locale": {
|
|
4346
|
+
"type": "string",
|
|
4347
|
+
"content": false,
|
|
4348
|
+
"description": "BCP 47 locale the dates are written in (site.language)."
|
|
2430
4349
|
},
|
|
2431
|
-
"
|
|
4350
|
+
"surface": {
|
|
2432
4351
|
"type": "string",
|
|
2433
|
-
"
|
|
4352
|
+
"content": false,
|
|
4353
|
+
"description": "plain or card: whether each post is a card of its own (post-card surface)."
|
|
2434
4354
|
},
|
|
2435
|
-
"
|
|
4355
|
+
"moreHref": {
|
|
4356
|
+
"type": "url",
|
|
4357
|
+
"content": false,
|
|
4358
|
+
"description": "Where the full archive lives; with moreLabel a link follows the list."
|
|
4359
|
+
},
|
|
4360
|
+
"moreLabel": {
|
|
2436
4361
|
"type": "string",
|
|
2437
|
-
"
|
|
4362
|
+
"content": false,
|
|
4363
|
+
"description": "Text of the archive link."
|
|
2438
4364
|
},
|
|
2439
|
-
"
|
|
4365
|
+
"tone": {
|
|
2440
4366
|
"type": "string",
|
|
2441
|
-
"
|
|
4367
|
+
"content": false,
|
|
4368
|
+
"description": "Section background: default, muted, inverse or accent."
|
|
4369
|
+
},
|
|
4370
|
+
"id": {
|
|
4371
|
+
"type": "string",
|
|
4372
|
+
"content": false,
|
|
4373
|
+
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
4374
|
+
},
|
|
4375
|
+
"measured": {
|
|
4376
|
+
"type": "object",
|
|
4377
|
+
"content": false,
|
|
4378
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
4379
|
+
"fields": {
|
|
4380
|
+
"containerPx": {
|
|
4381
|
+
"type": "integer",
|
|
4382
|
+
"min": 0,
|
|
4383
|
+
"max": 2560,
|
|
4384
|
+
"description": "The frame's content width."
|
|
4385
|
+
},
|
|
4386
|
+
"padY": {
|
|
4387
|
+
"type": "integer",
|
|
4388
|
+
"min": 0,
|
|
4389
|
+
"max": 400,
|
|
4390
|
+
"description": "Top and bottom padding."
|
|
4391
|
+
},
|
|
4392
|
+
"padX": {
|
|
4393
|
+
"type": "integer",
|
|
4394
|
+
"min": 0,
|
|
4395
|
+
"max": 200,
|
|
4396
|
+
"description": "The frame's side padding (gutter)."
|
|
4397
|
+
},
|
|
4398
|
+
"bg": {
|
|
4399
|
+
"type": "object",
|
|
4400
|
+
"description": "The section's background.",
|
|
4401
|
+
"fields": {
|
|
4402
|
+
"color": {
|
|
4403
|
+
"type": "string",
|
|
4404
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
4405
|
+
},
|
|
4406
|
+
"image": {
|
|
4407
|
+
"type": "string",
|
|
4408
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
4409
|
+
},
|
|
4410
|
+
"overlay": {
|
|
4411
|
+
"type": "string",
|
|
4412
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
4413
|
+
},
|
|
4414
|
+
"size": {
|
|
4415
|
+
"type": "string",
|
|
4416
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
4417
|
+
},
|
|
4418
|
+
"position": {
|
|
4419
|
+
"type": "string",
|
|
4420
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
4421
|
+
}
|
|
4422
|
+
}
|
|
4423
|
+
},
|
|
4424
|
+
"columns": {
|
|
4425
|
+
"type": "object",
|
|
4426
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
4427
|
+
"fields": {
|
|
4428
|
+
"390": {
|
|
4429
|
+
"type": "integer",
|
|
4430
|
+
"min": 1,
|
|
4431
|
+
"max": 6,
|
|
4432
|
+
"description": "Phone."
|
|
4433
|
+
},
|
|
4434
|
+
"768": {
|
|
4435
|
+
"type": "integer",
|
|
4436
|
+
"min": 1,
|
|
4437
|
+
"max": 6,
|
|
4438
|
+
"description": "Tablet."
|
|
4439
|
+
},
|
|
4440
|
+
"1280": {
|
|
4441
|
+
"type": "integer",
|
|
4442
|
+
"min": 1,
|
|
4443
|
+
"max": 6,
|
|
4444
|
+
"description": "Desktop."
|
|
4445
|
+
}
|
|
4446
|
+
}
|
|
4447
|
+
},
|
|
4448
|
+
"gap": {
|
|
4449
|
+
"type": "integer",
|
|
4450
|
+
"min": 0,
|
|
4451
|
+
"max": 200,
|
|
4452
|
+
"description": "Gap between items."
|
|
4453
|
+
},
|
|
4454
|
+
"tone": {
|
|
4455
|
+
"type": "select",
|
|
4456
|
+
"options": [
|
|
4457
|
+
"light",
|
|
4458
|
+
"dark"
|
|
4459
|
+
],
|
|
4460
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
4461
|
+
},
|
|
4462
|
+
"align": {
|
|
4463
|
+
"type": "select",
|
|
4464
|
+
"options": [
|
|
4465
|
+
"start",
|
|
4466
|
+
"center",
|
|
4467
|
+
"end"
|
|
4468
|
+
],
|
|
4469
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
4470
|
+
},
|
|
4471
|
+
"radius": {
|
|
4472
|
+
"type": "integer",
|
|
4473
|
+
"min": 0,
|
|
4474
|
+
"max": 200,
|
|
4475
|
+
"description": "Card and item corner radius."
|
|
4476
|
+
},
|
|
4477
|
+
"minHeight": {
|
|
4478
|
+
"type": "integer",
|
|
4479
|
+
"min": 0,
|
|
4480
|
+
"max": 2000,
|
|
4481
|
+
"description": "The section's minimum height."
|
|
4482
|
+
}
|
|
4483
|
+
}
|
|
2442
4484
|
}
|
|
2443
4485
|
},
|
|
2444
4486
|
"slots": {},
|
|
@@ -2447,7 +4489,6 @@
|
|
|
2447
4489
|
"sources": {
|
|
2448
4490
|
"gutenberg": [
|
|
2449
4491
|
"core/query",
|
|
2450
|
-
"core/post-template",
|
|
2451
4492
|
"core/latest-posts"
|
|
2452
4493
|
],
|
|
2453
4494
|
"elementor": [
|
|
@@ -2461,10 +4502,23 @@
|
|
|
2461
4502
|
"classic/archive-item"
|
|
2462
4503
|
]
|
|
2463
4504
|
},
|
|
2464
|
-
"a11y": "
|
|
4505
|
+
"a11y": "A <ul> of cards, each an <article> with one link (the title, stretched over the card) and a <time datetime>. Cards sit one heading level under the section heading, or at h2 when there is none. Images are decorative next to their title; the featured card keeps reading order.",
|
|
4506
|
+
"pattern": {
|
|
4507
|
+
"summary": "a repeated post card: image + title + excerpt + date, as a grid, rows or a featured first post",
|
|
4508
|
+
"signals": [
|
|
4509
|
+
"2-4 columns",
|
|
4510
|
+
"date text",
|
|
4511
|
+
"one link per card",
|
|
4512
|
+
"repeated card structure"
|
|
4513
|
+
]
|
|
4514
|
+
},
|
|
2465
4515
|
"files": [
|
|
2466
|
-
"
|
|
2467
|
-
]
|
|
4516
|
+
"PostList.astro"
|
|
4517
|
+
],
|
|
4518
|
+
"contentFields": {
|
|
4519
|
+
"heading": "heading",
|
|
4520
|
+
"intro": "intro"
|
|
4521
|
+
}
|
|
2468
4522
|
},
|
|
2469
4523
|
{
|
|
2470
4524
|
"id": "pricing",
|
|
@@ -2475,6 +4529,7 @@
|
|
|
2475
4529
|
"shared": [
|
|
2476
4530
|
"Button.astro",
|
|
2477
4531
|
"Section.astro",
|
|
4532
|
+
"measured.ts",
|
|
2478
4533
|
"types.ts"
|
|
2479
4534
|
],
|
|
2480
4535
|
"variants": {
|
|
@@ -2496,6 +4551,31 @@
|
|
|
2496
4551
|
],
|
|
2497
4552
|
"default": "default",
|
|
2498
4553
|
"description": "Section background."
|
|
4554
|
+
},
|
|
4555
|
+
"layout": {
|
|
4556
|
+
"options": [
|
|
4557
|
+
"cards",
|
|
4558
|
+
"table"
|
|
4559
|
+
],
|
|
4560
|
+
"default": "cards",
|
|
4561
|
+
"description": "cards: plans side by side. table: one comparison table, plans as columns and features as rows (for more than four plans)."
|
|
4562
|
+
},
|
|
4563
|
+
"featureStyle": {
|
|
4564
|
+
"options": [
|
|
4565
|
+
"check",
|
|
4566
|
+
"dot",
|
|
4567
|
+
"plain"
|
|
4568
|
+
],
|
|
4569
|
+
"default": "plain",
|
|
4570
|
+
"description": "The mark before each feature in the cards: a check, a dot, or the list's own bullets."
|
|
4571
|
+
},
|
|
4572
|
+
"billingToggle": {
|
|
4573
|
+
"options": [
|
|
4574
|
+
"none",
|
|
4575
|
+
"radio"
|
|
4576
|
+
],
|
|
4577
|
+
"default": "none",
|
|
4578
|
+
"description": "radio: two labelled radios swap each plan's price for its priceAlt (monthly / yearly), with no script. The radio group is named from the section id, or a hash of the plans without one, so two toggles on a page stay independent."
|
|
2499
4579
|
}
|
|
2500
4580
|
},
|
|
2501
4581
|
"props": {
|
|
@@ -2557,6 +4637,21 @@
|
|
|
2557
4637
|
"type": "boolean",
|
|
2558
4638
|
"label": "Featured",
|
|
2559
4639
|
"description": "Raises the plan and gives it the badge."
|
|
4640
|
+
},
|
|
4641
|
+
"badge": {
|
|
4642
|
+
"type": "string",
|
|
4643
|
+
"label": "Badge",
|
|
4644
|
+
"description": "A badge text on the plan (\"Best value\"); a featured plan without one reads the section's featuredLabel."
|
|
4645
|
+
},
|
|
4646
|
+
"priceAlt": {
|
|
4647
|
+
"type": "string",
|
|
4648
|
+
"label": "Price, other period",
|
|
4649
|
+
"description": "The price for the other billing period (\"€150\"), shown when the toggle is on its second option."
|
|
4650
|
+
},
|
|
4651
|
+
"periodAlt": {
|
|
4652
|
+
"type": "string",
|
|
4653
|
+
"label": "Period, other period",
|
|
4654
|
+
"description": "What the other price is per (\"/year\")."
|
|
2560
4655
|
}
|
|
2561
4656
|
}
|
|
2562
4657
|
},
|
|
@@ -2572,6 +4667,152 @@
|
|
|
2572
4667
|
"type": "string",
|
|
2573
4668
|
"content": false,
|
|
2574
4669
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
4670
|
+
},
|
|
4671
|
+
"compact": {
|
|
4672
|
+
"type": "boolean",
|
|
4673
|
+
"default": false,
|
|
4674
|
+
"content": false,
|
|
4675
|
+
"description": "A denser card: smaller padding, gap and price."
|
|
4676
|
+
},
|
|
4677
|
+
"includedLabel": {
|
|
4678
|
+
"type": "string",
|
|
4679
|
+
"default": "Included",
|
|
4680
|
+
"content": false,
|
|
4681
|
+
"description": "Table cell text for readers where a plan has the feature."
|
|
4682
|
+
},
|
|
4683
|
+
"notIncludedLabel": {
|
|
4684
|
+
"type": "string",
|
|
4685
|
+
"default": "Not included",
|
|
4686
|
+
"content": false,
|
|
4687
|
+
"description": "Table cell text for readers where a plan lacks the feature."
|
|
4688
|
+
},
|
|
4689
|
+
"measured": {
|
|
4690
|
+
"type": "object",
|
|
4691
|
+
"content": false,
|
|
4692
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
4693
|
+
"fields": {
|
|
4694
|
+
"containerPx": {
|
|
4695
|
+
"type": "integer",
|
|
4696
|
+
"min": 0,
|
|
4697
|
+
"max": 2560,
|
|
4698
|
+
"description": "The frame's content width."
|
|
4699
|
+
},
|
|
4700
|
+
"padY": {
|
|
4701
|
+
"type": "integer",
|
|
4702
|
+
"min": 0,
|
|
4703
|
+
"max": 400,
|
|
4704
|
+
"description": "Top and bottom padding."
|
|
4705
|
+
},
|
|
4706
|
+
"padX": {
|
|
4707
|
+
"type": "integer",
|
|
4708
|
+
"min": 0,
|
|
4709
|
+
"max": 200,
|
|
4710
|
+
"description": "The frame's side padding (gutter)."
|
|
4711
|
+
},
|
|
4712
|
+
"bg": {
|
|
4713
|
+
"type": "object",
|
|
4714
|
+
"description": "The section's background.",
|
|
4715
|
+
"fields": {
|
|
4716
|
+
"color": {
|
|
4717
|
+
"type": "string",
|
|
4718
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
4719
|
+
},
|
|
4720
|
+
"image": {
|
|
4721
|
+
"type": "string",
|
|
4722
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
4723
|
+
},
|
|
4724
|
+
"overlay": {
|
|
4725
|
+
"type": "string",
|
|
4726
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
4727
|
+
},
|
|
4728
|
+
"size": {
|
|
4729
|
+
"type": "string",
|
|
4730
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
4731
|
+
},
|
|
4732
|
+
"position": {
|
|
4733
|
+
"type": "string",
|
|
4734
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
4735
|
+
}
|
|
4736
|
+
}
|
|
4737
|
+
},
|
|
4738
|
+
"columns": {
|
|
4739
|
+
"type": "object",
|
|
4740
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
4741
|
+
"fields": {
|
|
4742
|
+
"390": {
|
|
4743
|
+
"type": "integer",
|
|
4744
|
+
"min": 1,
|
|
4745
|
+
"max": 6,
|
|
4746
|
+
"description": "Phone."
|
|
4747
|
+
},
|
|
4748
|
+
"768": {
|
|
4749
|
+
"type": "integer",
|
|
4750
|
+
"min": 1,
|
|
4751
|
+
"max": 6,
|
|
4752
|
+
"description": "Tablet."
|
|
4753
|
+
},
|
|
4754
|
+
"1280": {
|
|
4755
|
+
"type": "integer",
|
|
4756
|
+
"min": 1,
|
|
4757
|
+
"max": 6,
|
|
4758
|
+
"description": "Desktop."
|
|
4759
|
+
}
|
|
4760
|
+
}
|
|
4761
|
+
},
|
|
4762
|
+
"gap": {
|
|
4763
|
+
"type": "integer",
|
|
4764
|
+
"min": 0,
|
|
4765
|
+
"max": 200,
|
|
4766
|
+
"description": "Gap between items."
|
|
4767
|
+
},
|
|
4768
|
+
"tone": {
|
|
4769
|
+
"type": "select",
|
|
4770
|
+
"options": [
|
|
4771
|
+
"light",
|
|
4772
|
+
"dark"
|
|
4773
|
+
],
|
|
4774
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
4775
|
+
},
|
|
4776
|
+
"align": {
|
|
4777
|
+
"type": "select",
|
|
4778
|
+
"options": [
|
|
4779
|
+
"start",
|
|
4780
|
+
"center",
|
|
4781
|
+
"end"
|
|
4782
|
+
],
|
|
4783
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
4784
|
+
},
|
|
4785
|
+
"radius": {
|
|
4786
|
+
"type": "integer",
|
|
4787
|
+
"min": 0,
|
|
4788
|
+
"max": 200,
|
|
4789
|
+
"description": "Card and item corner radius."
|
|
4790
|
+
},
|
|
4791
|
+
"minHeight": {
|
|
4792
|
+
"type": "integer",
|
|
4793
|
+
"min": 0,
|
|
4794
|
+
"max": 2000,
|
|
4795
|
+
"description": "The section's minimum height."
|
|
4796
|
+
}
|
|
4797
|
+
}
|
|
4798
|
+
},
|
|
4799
|
+
"billingMainLabel": {
|
|
4800
|
+
"type": "string",
|
|
4801
|
+
"default": "Monthly",
|
|
4802
|
+
"content": false,
|
|
4803
|
+
"description": "First option of the billing toggle."
|
|
4804
|
+
},
|
|
4805
|
+
"billingAltLabel": {
|
|
4806
|
+
"type": "string",
|
|
4807
|
+
"default": "Yearly",
|
|
4808
|
+
"content": false,
|
|
4809
|
+
"description": "Second option of the billing toggle (the plans' priceAlt)."
|
|
4810
|
+
},
|
|
4811
|
+
"billingLegend": {
|
|
4812
|
+
"type": "string",
|
|
4813
|
+
"default": "Billing period",
|
|
4814
|
+
"content": false,
|
|
4815
|
+
"description": "Legend of the toggle, read to screen readers."
|
|
2575
4816
|
}
|
|
2576
4817
|
},
|
|
2577
4818
|
"slots": {},
|
|
@@ -2588,7 +4829,7 @@
|
|
|
2588
4829
|
"divi/et_pb_pricing_tables"
|
|
2589
4830
|
]
|
|
2590
4831
|
},
|
|
2591
|
-
"a11y": "Plans are a <ul>; each name is an <h3> under the section's <h2>, or an <h2> when the section has no heading. A featured plan is marked by a text badge and a ring, not colour alone. Buttons are links with their own label.",
|
|
4832
|
+
"a11y": "Plans are a <ul>; each name is an <h3> under the section's <h2>, or an <h2> when the section has no heading. A featured plan is marked by a text badge and a ring, not colour alone. Buttons are links with their own label. The table layout is a real <table> with a caption, column and row headers, and Included / Not included text in every cell; the billing toggle is a fieldset with a legend and labelled radios.",
|
|
2592
4833
|
"pattern": {
|
|
2593
4834
|
"summary": "repeated plan units: name + price + feature list + button",
|
|
2594
4835
|
"signals": [
|
|
@@ -2612,7 +4853,10 @@
|
|
|
2612
4853
|
"plans[].features": "plans[].features",
|
|
2613
4854
|
"plans[].ctaLabel": "plans[].cta_label",
|
|
2614
4855
|
"plans[].ctaHref": "plans[].cta_href",
|
|
2615
|
-
"plans[].featured": "plans[].featured"
|
|
4856
|
+
"plans[].featured": "plans[].featured",
|
|
4857
|
+
"plans[].badge": "plans[].badge",
|
|
4858
|
+
"plans[].priceAlt": "plans[].price_alt",
|
|
4859
|
+
"plans[].periodAlt": "plans[].period_alt"
|
|
2616
4860
|
}
|
|
2617
4861
|
},
|
|
2618
4862
|
{
|
|
@@ -2850,11 +5094,15 @@
|
|
|
2850
5094
|
"name": "Split",
|
|
2851
5095
|
"description": "An image beside a block of text — eyebrow, heading, a markdown body and buttons — on either side, stacked on phones. The media-and-text section of a landing page (Gutenberg media-text, a two-column Elementor container with an image, Divi's image + text row).",
|
|
2852
5096
|
"category": "section",
|
|
2853
|
-
"uses": [
|
|
5097
|
+
"uses": [
|
|
5098
|
+
"embed",
|
|
5099
|
+
"feature-list"
|
|
5100
|
+
],
|
|
2854
5101
|
"shared": [
|
|
2855
5102
|
"Button.astro",
|
|
2856
5103
|
"KitImage.astro",
|
|
2857
5104
|
"Section.astro",
|
|
5105
|
+
"measured.ts",
|
|
2858
5106
|
"types.ts"
|
|
2859
5107
|
],
|
|
2860
5108
|
"variants": {
|
|
@@ -2866,6 +5114,64 @@
|
|
|
2866
5114
|
"default": "end",
|
|
2867
5115
|
"description": "Which side the image takes on wide screens: start (left in left-to-right text) or end. Phones always show it after the text."
|
|
2868
5116
|
},
|
|
5117
|
+
"ratio": {
|
|
5118
|
+
"options": [
|
|
5119
|
+
"1:1",
|
|
5120
|
+
"5:7",
|
|
5121
|
+
"7:5"
|
|
5122
|
+
],
|
|
5123
|
+
"default": "1:1",
|
|
5124
|
+
"description": "The text column's share against the image's: equal, text 5 to image 7, or text 7 to image 5."
|
|
5125
|
+
},
|
|
5126
|
+
"imageFit": {
|
|
5127
|
+
"options": [
|
|
5128
|
+
"contain",
|
|
5129
|
+
"cover"
|
|
5130
|
+
],
|
|
5131
|
+
"default": "contain",
|
|
5132
|
+
"description": "contain: the image at its own proportions. cover: it fills the column's height."
|
|
5133
|
+
},
|
|
5134
|
+
"imageShape": {
|
|
5135
|
+
"options": [
|
|
5136
|
+
"none",
|
|
5137
|
+
"rounded",
|
|
5138
|
+
"circle"
|
|
5139
|
+
],
|
|
5140
|
+
"default": "rounded",
|
|
5141
|
+
"description": "The image's corners: square, the theme's rounding, or a circle."
|
|
5142
|
+
},
|
|
5143
|
+
"imageBleed": {
|
|
5144
|
+
"options": [
|
|
5145
|
+
"none",
|
|
5146
|
+
"edge"
|
|
5147
|
+
],
|
|
5148
|
+
"default": "none",
|
|
5149
|
+
"description": "edge: the image runs on to the edge of the screen on its side (wide screens)."
|
|
5150
|
+
},
|
|
5151
|
+
"mediaKind": {
|
|
5152
|
+
"options": [
|
|
5153
|
+
"image",
|
|
5154
|
+
"video"
|
|
5155
|
+
],
|
|
5156
|
+
"default": "image",
|
|
5157
|
+
"description": "image: the picture. video: the picture is the poster of a video that loads only when played."
|
|
5158
|
+
},
|
|
5159
|
+
"featureStyle": {
|
|
5160
|
+
"options": [
|
|
5161
|
+
"check",
|
|
5162
|
+
"icon"
|
|
5163
|
+
],
|
|
5164
|
+
"default": "check",
|
|
5165
|
+
"description": "The marks of the points under the text: a check, or each point's own icon."
|
|
5166
|
+
},
|
|
5167
|
+
"stackOrder": {
|
|
5168
|
+
"options": [
|
|
5169
|
+
"text-first",
|
|
5170
|
+
"media-first"
|
|
5171
|
+
],
|
|
5172
|
+
"default": "text-first",
|
|
5173
|
+
"description": "On a phone: the text first, or the picture first."
|
|
5174
|
+
},
|
|
2869
5175
|
"align": {
|
|
2870
5176
|
"options": [
|
|
2871
5177
|
"start",
|
|
@@ -2879,10 +5185,12 @@
|
|
|
2879
5185
|
"default",
|
|
2880
5186
|
"muted",
|
|
2881
5187
|
"inverse",
|
|
2882
|
-
"accent"
|
|
5188
|
+
"accent",
|
|
5189
|
+
"brand",
|
|
5190
|
+
"none"
|
|
2883
5191
|
],
|
|
2884
5192
|
"default": "default",
|
|
2885
|
-
"description": "Section background."
|
|
5193
|
+
"description": "Section background (brand: the site's brand colour; none: the page's own)."
|
|
2886
5194
|
}
|
|
2887
5195
|
},
|
|
2888
5196
|
"props": {
|
|
@@ -2892,6 +5200,12 @@
|
|
|
2892
5200
|
"required": true,
|
|
2893
5201
|
"description": "The section heading."
|
|
2894
5202
|
},
|
|
5203
|
+
"headingLevel": {
|
|
5204
|
+
"type": "integer",
|
|
5205
|
+
"default": 2,
|
|
5206
|
+
"content": false,
|
|
5207
|
+
"description": "The heading's level: 2 under the page title; 3 or 4 when the section sits inside another."
|
|
5208
|
+
},
|
|
2895
5209
|
"eyebrow": {
|
|
2896
5210
|
"type": "string",
|
|
2897
5211
|
"label": "Eyebrow",
|
|
@@ -2956,21 +5270,173 @@
|
|
|
2956
5270
|
},
|
|
2957
5271
|
"width": {
|
|
2958
5272
|
"type": "integer",
|
|
2959
|
-
"label": "Width",
|
|
2960
|
-
"description": "Width in pixels, as uploaded."
|
|
5273
|
+
"label": "Width",
|
|
5274
|
+
"description": "Width in pixels, as uploaded."
|
|
5275
|
+
},
|
|
5276
|
+
"height": {
|
|
5277
|
+
"type": "integer",
|
|
5278
|
+
"label": "Height",
|
|
5279
|
+
"description": "Height in pixels, as uploaded."
|
|
5280
|
+
}
|
|
5281
|
+
},
|
|
5282
|
+
"description": "The image beside the text. Width and height, when known, let the site reserve its space."
|
|
5283
|
+
},
|
|
5284
|
+
"features": {
|
|
5285
|
+
"type": "array",
|
|
5286
|
+
"label": "Points",
|
|
5287
|
+
"items": {
|
|
5288
|
+
"type": "object",
|
|
5289
|
+
"fields": {
|
|
5290
|
+
"title": {
|
|
5291
|
+
"type": "string",
|
|
5292
|
+
"label": "Title",
|
|
5293
|
+
"required": true,
|
|
5294
|
+
"description": "The point, in a few words."
|
|
5295
|
+
},
|
|
5296
|
+
"text": {
|
|
5297
|
+
"type": "string",
|
|
5298
|
+
"label": "Text",
|
|
5299
|
+
"description": "A line about it."
|
|
5300
|
+
},
|
|
5301
|
+
"icon": {
|
|
5302
|
+
"type": "string",
|
|
5303
|
+
"label": "Icon",
|
|
5304
|
+
"description": "A kit icon name (check, star, bolt, shield, heart, globe, clock, chat)."
|
|
5305
|
+
}
|
|
5306
|
+
}
|
|
5307
|
+
},
|
|
5308
|
+
"description": "Short points under the text (an Elementor icon list or icon box, a Gutenberg list), each with a title and a line."
|
|
5309
|
+
},
|
|
5310
|
+
"videoUrl": {
|
|
5311
|
+
"type": "url",
|
|
5312
|
+
"label": "Video",
|
|
5313
|
+
"description": "A video page (YouTube, Vimeo); the image is its poster and nothing loads from the provider until it is played."
|
|
5314
|
+
},
|
|
5315
|
+
"playLabel": {
|
|
5316
|
+
"type": "string",
|
|
5317
|
+
"content": false,
|
|
5318
|
+
"description": "The play button's text (ui-strings embed.play)."
|
|
5319
|
+
},
|
|
5320
|
+
"measured": {
|
|
5321
|
+
"type": "object",
|
|
5322
|
+
"content": false,
|
|
5323
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
5324
|
+
"fields": {
|
|
5325
|
+
"containerPx": {
|
|
5326
|
+
"type": "integer",
|
|
5327
|
+
"min": 0,
|
|
5328
|
+
"max": 2560,
|
|
5329
|
+
"description": "The frame's content width."
|
|
5330
|
+
},
|
|
5331
|
+
"padY": {
|
|
5332
|
+
"type": "integer",
|
|
5333
|
+
"min": 0,
|
|
5334
|
+
"max": 400,
|
|
5335
|
+
"description": "Top and bottom padding."
|
|
5336
|
+
},
|
|
5337
|
+
"padX": {
|
|
5338
|
+
"type": "integer",
|
|
5339
|
+
"min": 0,
|
|
5340
|
+
"max": 200,
|
|
5341
|
+
"description": "The frame's side padding (gutter)."
|
|
5342
|
+
},
|
|
5343
|
+
"bg": {
|
|
5344
|
+
"type": "object",
|
|
5345
|
+
"description": "The section's background.",
|
|
5346
|
+
"fields": {
|
|
5347
|
+
"color": {
|
|
5348
|
+
"type": "string",
|
|
5349
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
5350
|
+
},
|
|
5351
|
+
"image": {
|
|
5352
|
+
"type": "string",
|
|
5353
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
5354
|
+
},
|
|
5355
|
+
"overlay": {
|
|
5356
|
+
"type": "string",
|
|
5357
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
5358
|
+
},
|
|
5359
|
+
"size": {
|
|
5360
|
+
"type": "string",
|
|
5361
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
5362
|
+
},
|
|
5363
|
+
"position": {
|
|
5364
|
+
"type": "string",
|
|
5365
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
5366
|
+
}
|
|
5367
|
+
}
|
|
5368
|
+
},
|
|
5369
|
+
"columns": {
|
|
5370
|
+
"type": "object",
|
|
5371
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
5372
|
+
"fields": {
|
|
5373
|
+
"390": {
|
|
5374
|
+
"type": "integer",
|
|
5375
|
+
"min": 1,
|
|
5376
|
+
"max": 6,
|
|
5377
|
+
"description": "Phone."
|
|
5378
|
+
},
|
|
5379
|
+
"768": {
|
|
5380
|
+
"type": "integer",
|
|
5381
|
+
"min": 1,
|
|
5382
|
+
"max": 6,
|
|
5383
|
+
"description": "Tablet."
|
|
5384
|
+
},
|
|
5385
|
+
"1280": {
|
|
5386
|
+
"type": "integer",
|
|
5387
|
+
"min": 1,
|
|
5388
|
+
"max": 6,
|
|
5389
|
+
"description": "Desktop."
|
|
5390
|
+
}
|
|
5391
|
+
}
|
|
5392
|
+
},
|
|
5393
|
+
"gap": {
|
|
5394
|
+
"type": "integer",
|
|
5395
|
+
"min": 0,
|
|
5396
|
+
"max": 200,
|
|
5397
|
+
"description": "Gap between items."
|
|
5398
|
+
},
|
|
5399
|
+
"tone": {
|
|
5400
|
+
"type": "select",
|
|
5401
|
+
"options": [
|
|
5402
|
+
"light",
|
|
5403
|
+
"dark"
|
|
5404
|
+
],
|
|
5405
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
5406
|
+
},
|
|
5407
|
+
"align": {
|
|
5408
|
+
"type": "select",
|
|
5409
|
+
"options": [
|
|
5410
|
+
"start",
|
|
5411
|
+
"center",
|
|
5412
|
+
"end"
|
|
5413
|
+
],
|
|
5414
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
5415
|
+
},
|
|
5416
|
+
"radius": {
|
|
5417
|
+
"type": "integer",
|
|
5418
|
+
"min": 0,
|
|
5419
|
+
"max": 200,
|
|
5420
|
+
"description": "Card and item corner radius."
|
|
2961
5421
|
},
|
|
2962
|
-
"
|
|
5422
|
+
"minHeight": {
|
|
2963
5423
|
"type": "integer",
|
|
2964
|
-
"
|
|
2965
|
-
"
|
|
5424
|
+
"min": 0,
|
|
5425
|
+
"max": 2000,
|
|
5426
|
+
"description": "The section's minimum height."
|
|
2966
5427
|
}
|
|
2967
|
-
}
|
|
2968
|
-
"description": "The image beside the text. Width and height, when known, let the site reserve its space."
|
|
5428
|
+
}
|
|
2969
5429
|
},
|
|
2970
5430
|
"id": {
|
|
2971
5431
|
"type": "string",
|
|
2972
5432
|
"content": false,
|
|
2973
5433
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
5434
|
+
},
|
|
5435
|
+
"sticky": {
|
|
5436
|
+
"type": "boolean",
|
|
5437
|
+
"default": false,
|
|
5438
|
+
"content": false,
|
|
5439
|
+
"description": "The picture stays in view while a long text scrolls past it (wide screens)."
|
|
2974
5440
|
}
|
|
2975
5441
|
},
|
|
2976
5442
|
"slots": {},
|
|
@@ -2987,7 +5453,7 @@
|
|
|
2987
5453
|
"divi/et_pb_image"
|
|
2988
5454
|
]
|
|
2989
5455
|
},
|
|
2990
|
-
"a11y": "The section is labelled by its heading. The image is a separate figure in reading order after the text; an empty description marks a decorative one.",
|
|
5456
|
+
"a11y": "The section is labelled by its heading. The image is a separate figure in reading order after the text; an empty description marks a decorative one. With stackOrder media-first the picture comes first on a phone by CSS order only: the DOM and so the reading order stay text first, which is right when the picture is decoration; give the picture an empty description then.",
|
|
2991
5457
|
"pattern": {
|
|
2992
5458
|
"summary": "image beside heading + text",
|
|
2993
5459
|
"signals": [
|
|
@@ -3014,7 +5480,12 @@
|
|
|
3014
5480
|
"image.src": "image.src",
|
|
3015
5481
|
"image.alt": "image.alt",
|
|
3016
5482
|
"image.width": "image.width",
|
|
3017
|
-
"image.height": "image.height"
|
|
5483
|
+
"image.height": "image.height",
|
|
5484
|
+
"features": "features",
|
|
5485
|
+
"features[].title": "features[].title",
|
|
5486
|
+
"features[].text": "features[].text",
|
|
5487
|
+
"features[].icon": "features[].icon",
|
|
5488
|
+
"videoUrl": "video_url"
|
|
3018
5489
|
}
|
|
3019
5490
|
},
|
|
3020
5491
|
{
|
|
@@ -3024,25 +5495,58 @@
|
|
|
3024
5495
|
"category": "section",
|
|
3025
5496
|
"uses": [],
|
|
3026
5497
|
"shared": [
|
|
3027
|
-
"
|
|
5498
|
+
"KitImage.astro",
|
|
5499
|
+
"Section.astro",
|
|
5500
|
+
"image.ts",
|
|
5501
|
+
"measured.ts",
|
|
5502
|
+
"types.ts"
|
|
3028
5503
|
],
|
|
3029
5504
|
"variants": {
|
|
5505
|
+
"layout": {
|
|
5506
|
+
"options": [
|
|
5507
|
+
"grid",
|
|
5508
|
+
"inline"
|
|
5509
|
+
],
|
|
5510
|
+
"default": "grid",
|
|
5511
|
+
"description": "grid: figures in columns. inline: one line that wraps, for two to four short figures."
|
|
5512
|
+
},
|
|
3030
5513
|
"columns": {
|
|
3031
5514
|
"options": [
|
|
3032
5515
|
"2",
|
|
3033
5516
|
"3",
|
|
3034
|
-
"4"
|
|
5517
|
+
"4",
|
|
5518
|
+
"5",
|
|
5519
|
+
"6"
|
|
3035
5520
|
],
|
|
3036
5521
|
"default": "3",
|
|
3037
|
-
"description": "Figures per row on wide screens; two on phones."
|
|
5522
|
+
"description": "Figures per row on wide screens (grid layout); two on phones."
|
|
3038
5523
|
},
|
|
3039
5524
|
"style": {
|
|
3040
5525
|
"options": [
|
|
3041
5526
|
"plain",
|
|
3042
|
-
"card"
|
|
5527
|
+
"card",
|
|
5528
|
+
"divided"
|
|
3043
5529
|
],
|
|
3044
5530
|
"default": "plain",
|
|
3045
|
-
"description": "plain: figures on the section background. card: each figure in its own box."
|
|
5531
|
+
"description": "plain: figures on the section background. card: each figure in its own box. divided: hairlines between the figures (across on a wide screen, above each on a phone), no box; for a single row."
|
|
5532
|
+
},
|
|
5533
|
+
"align": {
|
|
5534
|
+
"options": [
|
|
5535
|
+
"start",
|
|
5536
|
+
"center"
|
|
5537
|
+
],
|
|
5538
|
+
"default": "start",
|
|
5539
|
+
"description": "Alignment of each figure and its label."
|
|
5540
|
+
},
|
|
5541
|
+
"valueSize": {
|
|
5542
|
+
"options": [
|
|
5543
|
+
"md",
|
|
5544
|
+
"lg",
|
|
5545
|
+
"xl",
|
|
5546
|
+
"display"
|
|
5547
|
+
],
|
|
5548
|
+
"default": "lg",
|
|
5549
|
+
"description": "The figure's size: md, lg, xl or a display-size number."
|
|
3046
5550
|
},
|
|
3047
5551
|
"tone": {
|
|
3048
5552
|
"options": [
|
|
@@ -3111,11 +5615,126 @@
|
|
|
3111
5615
|
"type": "string",
|
|
3112
5616
|
"label": "Suffix",
|
|
3113
5617
|
"description": "Printed after the figure (`+`, `%`, `k`)."
|
|
5618
|
+
},
|
|
5619
|
+
"icon": {
|
|
5620
|
+
"type": "image",
|
|
5621
|
+
"label": "Icon",
|
|
5622
|
+
"description": "A small picture above the figure; decorative."
|
|
3114
5623
|
}
|
|
3115
5624
|
}
|
|
3116
5625
|
},
|
|
3117
5626
|
"description": "The figures, in order (Elementor counter, Divi number counter, a Gutenberg columns row of big numbers)."
|
|
3118
5627
|
},
|
|
5628
|
+
"measured": {
|
|
5629
|
+
"type": "object",
|
|
5630
|
+
"content": false,
|
|
5631
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
5632
|
+
"fields": {
|
|
5633
|
+
"containerPx": {
|
|
5634
|
+
"type": "integer",
|
|
5635
|
+
"min": 0,
|
|
5636
|
+
"max": 2560,
|
|
5637
|
+
"description": "The frame's content width."
|
|
5638
|
+
},
|
|
5639
|
+
"padY": {
|
|
5640
|
+
"type": "integer",
|
|
5641
|
+
"min": 0,
|
|
5642
|
+
"max": 400,
|
|
5643
|
+
"description": "Top and bottom padding."
|
|
5644
|
+
},
|
|
5645
|
+
"padX": {
|
|
5646
|
+
"type": "integer",
|
|
5647
|
+
"min": 0,
|
|
5648
|
+
"max": 200,
|
|
5649
|
+
"description": "The frame's side padding (gutter)."
|
|
5650
|
+
},
|
|
5651
|
+
"bg": {
|
|
5652
|
+
"type": "object",
|
|
5653
|
+
"description": "The section's background.",
|
|
5654
|
+
"fields": {
|
|
5655
|
+
"color": {
|
|
5656
|
+
"type": "string",
|
|
5657
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
5658
|
+
},
|
|
5659
|
+
"image": {
|
|
5660
|
+
"type": "string",
|
|
5661
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
5662
|
+
},
|
|
5663
|
+
"overlay": {
|
|
5664
|
+
"type": "string",
|
|
5665
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
5666
|
+
},
|
|
5667
|
+
"size": {
|
|
5668
|
+
"type": "string",
|
|
5669
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
5670
|
+
},
|
|
5671
|
+
"position": {
|
|
5672
|
+
"type": "string",
|
|
5673
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
5674
|
+
}
|
|
5675
|
+
}
|
|
5676
|
+
},
|
|
5677
|
+
"columns": {
|
|
5678
|
+
"type": "object",
|
|
5679
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
5680
|
+
"fields": {
|
|
5681
|
+
"390": {
|
|
5682
|
+
"type": "integer",
|
|
5683
|
+
"min": 1,
|
|
5684
|
+
"max": 6,
|
|
5685
|
+
"description": "Phone."
|
|
5686
|
+
},
|
|
5687
|
+
"768": {
|
|
5688
|
+
"type": "integer",
|
|
5689
|
+
"min": 1,
|
|
5690
|
+
"max": 6,
|
|
5691
|
+
"description": "Tablet."
|
|
5692
|
+
},
|
|
5693
|
+
"1280": {
|
|
5694
|
+
"type": "integer",
|
|
5695
|
+
"min": 1,
|
|
5696
|
+
"max": 6,
|
|
5697
|
+
"description": "Desktop."
|
|
5698
|
+
}
|
|
5699
|
+
}
|
|
5700
|
+
},
|
|
5701
|
+
"gap": {
|
|
5702
|
+
"type": "integer",
|
|
5703
|
+
"min": 0,
|
|
5704
|
+
"max": 200,
|
|
5705
|
+
"description": "Gap between items."
|
|
5706
|
+
},
|
|
5707
|
+
"tone": {
|
|
5708
|
+
"type": "select",
|
|
5709
|
+
"options": [
|
|
5710
|
+
"light",
|
|
5711
|
+
"dark"
|
|
5712
|
+
],
|
|
5713
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
5714
|
+
},
|
|
5715
|
+
"align": {
|
|
5716
|
+
"type": "select",
|
|
5717
|
+
"options": [
|
|
5718
|
+
"start",
|
|
5719
|
+
"center",
|
|
5720
|
+
"end"
|
|
5721
|
+
],
|
|
5722
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
5723
|
+
},
|
|
5724
|
+
"radius": {
|
|
5725
|
+
"type": "integer",
|
|
5726
|
+
"min": 0,
|
|
5727
|
+
"max": 200,
|
|
5728
|
+
"description": "Card and item corner radius."
|
|
5729
|
+
},
|
|
5730
|
+
"minHeight": {
|
|
5731
|
+
"type": "integer",
|
|
5732
|
+
"min": 0,
|
|
5733
|
+
"max": 2000,
|
|
5734
|
+
"description": "The section's minimum height."
|
|
5735
|
+
}
|
|
5736
|
+
}
|
|
5737
|
+
},
|
|
3119
5738
|
"id": {
|
|
3120
5739
|
"type": "string",
|
|
3121
5740
|
"content": false,
|
|
@@ -3156,7 +5775,8 @@
|
|
|
3156
5775
|
"items[].value": "items[].value",
|
|
3157
5776
|
"items[].label": "items[].label",
|
|
3158
5777
|
"items[].prefix": "items[].prefix",
|
|
3159
|
-
"items[].suffix": "items[].suffix"
|
|
5778
|
+
"items[].suffix": "items[].suffix",
|
|
5779
|
+
"items[].icon": "items[].icon"
|
|
3160
5780
|
}
|
|
3161
5781
|
},
|
|
3162
5782
|
{
|
|
@@ -3169,16 +5789,19 @@
|
|
|
3169
5789
|
"KitImage.astro",
|
|
3170
5790
|
"Section.astro",
|
|
3171
5791
|
"image.ts",
|
|
5792
|
+
"measured.ts",
|
|
3172
5793
|
"types.ts"
|
|
3173
5794
|
],
|
|
3174
5795
|
"variants": {
|
|
3175
5796
|
"layout": {
|
|
3176
5797
|
"options": [
|
|
3177
5798
|
"list",
|
|
3178
|
-
"row"
|
|
5799
|
+
"row",
|
|
5800
|
+
"rail",
|
|
5801
|
+
"alternate"
|
|
3179
5802
|
],
|
|
3180
5803
|
"default": "list",
|
|
3181
|
-
"description": "
|
|
5804
|
+
"description": "list: a vertical list. row: across the page. rail: one rail on the start side. alternate: items alternate either side of a centre rail from md (one rail on phones); DOM order stays chronological."
|
|
3182
5805
|
},
|
|
3183
5806
|
"style": {
|
|
3184
5807
|
"options": [
|
|
@@ -3187,6 +5810,31 @@
|
|
|
3187
5810
|
],
|
|
3188
5811
|
"default": "numbered",
|
|
3189
5812
|
"description": "A number badge before each step, or an accent rule beside it."
|
|
5813
|
+
},
|
|
5814
|
+
"kind": {
|
|
5815
|
+
"options": [
|
|
5816
|
+
"steps",
|
|
5817
|
+
"timeline"
|
|
5818
|
+
],
|
|
5819
|
+
"default": "steps",
|
|
5820
|
+
"description": "steps: a numbered sequence. timeline: a date per item on a vertical rail (the rail layouts below; without a layout it uses rail)."
|
|
5821
|
+
},
|
|
5822
|
+
"marker": {
|
|
5823
|
+
"options": [
|
|
5824
|
+
"number",
|
|
5825
|
+
"dot"
|
|
5826
|
+
],
|
|
5827
|
+
"default": "number",
|
|
5828
|
+
"description": "What sits on the rail: the style's number badge, or a plain dot (the timeline default). Not yet: icon and date markers, and a visual emphasis for the current item (it has aria-current and a hidden label only)."
|
|
5829
|
+
},
|
|
5830
|
+
"connector": {
|
|
5831
|
+
"options": [
|
|
5832
|
+
"none",
|
|
5833
|
+
"line",
|
|
5834
|
+
"dashed"
|
|
5835
|
+
],
|
|
5836
|
+
"default": "line",
|
|
5837
|
+
"description": "The rail between items on the rail layouts."
|
|
3190
5838
|
}
|
|
3191
5839
|
},
|
|
3192
5840
|
"props": {
|
|
@@ -3233,6 +5881,16 @@
|
|
|
3233
5881
|
"type": "string",
|
|
3234
5882
|
"label": "Image description",
|
|
3235
5883
|
"description": "What the image shows; empty if decorative."
|
|
5884
|
+
},
|
|
5885
|
+
"date": {
|
|
5886
|
+
"type": "string",
|
|
5887
|
+
"label": "Date",
|
|
5888
|
+
"description": "A timeline's date as written (\"2019\", \"Mar 2021\"); marked up as a <time> only when it is an ISO date or a year."
|
|
5889
|
+
},
|
|
5890
|
+
"current": {
|
|
5891
|
+
"type": "boolean",
|
|
5892
|
+
"label": "Current",
|
|
5893
|
+
"description": "Marks the latest item (aria-current=\"step\" and a hidden \"Current\")."
|
|
3236
5894
|
}
|
|
3237
5895
|
}
|
|
3238
5896
|
},
|
|
@@ -3242,6 +5900,122 @@
|
|
|
3242
5900
|
"type": "string",
|
|
3243
5901
|
"content": false,
|
|
3244
5902
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
5903
|
+
},
|
|
5904
|
+
"currentLabel": {
|
|
5905
|
+
"type": "string",
|
|
5906
|
+
"default": "Current",
|
|
5907
|
+
"content": false,
|
|
5908
|
+
"description": "Visually hidden text on the current item, so it is not shown by colour alone."
|
|
5909
|
+
},
|
|
5910
|
+
"measured": {
|
|
5911
|
+
"type": "object",
|
|
5912
|
+
"content": false,
|
|
5913
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
5914
|
+
"fields": {
|
|
5915
|
+
"containerPx": {
|
|
5916
|
+
"type": "integer",
|
|
5917
|
+
"min": 0,
|
|
5918
|
+
"max": 2560,
|
|
5919
|
+
"description": "The frame's content width."
|
|
5920
|
+
},
|
|
5921
|
+
"padY": {
|
|
5922
|
+
"type": "integer",
|
|
5923
|
+
"min": 0,
|
|
5924
|
+
"max": 400,
|
|
5925
|
+
"description": "Top and bottom padding."
|
|
5926
|
+
},
|
|
5927
|
+
"padX": {
|
|
5928
|
+
"type": "integer",
|
|
5929
|
+
"min": 0,
|
|
5930
|
+
"max": 200,
|
|
5931
|
+
"description": "The frame's side padding (gutter)."
|
|
5932
|
+
},
|
|
5933
|
+
"bg": {
|
|
5934
|
+
"type": "object",
|
|
5935
|
+
"description": "The section's background.",
|
|
5936
|
+
"fields": {
|
|
5937
|
+
"color": {
|
|
5938
|
+
"type": "string",
|
|
5939
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
5940
|
+
},
|
|
5941
|
+
"image": {
|
|
5942
|
+
"type": "string",
|
|
5943
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
5944
|
+
},
|
|
5945
|
+
"overlay": {
|
|
5946
|
+
"type": "string",
|
|
5947
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
5948
|
+
},
|
|
5949
|
+
"size": {
|
|
5950
|
+
"type": "string",
|
|
5951
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
5952
|
+
},
|
|
5953
|
+
"position": {
|
|
5954
|
+
"type": "string",
|
|
5955
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
5956
|
+
}
|
|
5957
|
+
}
|
|
5958
|
+
},
|
|
5959
|
+
"columns": {
|
|
5960
|
+
"type": "object",
|
|
5961
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
5962
|
+
"fields": {
|
|
5963
|
+
"390": {
|
|
5964
|
+
"type": "integer",
|
|
5965
|
+
"min": 1,
|
|
5966
|
+
"max": 6,
|
|
5967
|
+
"description": "Phone."
|
|
5968
|
+
},
|
|
5969
|
+
"768": {
|
|
5970
|
+
"type": "integer",
|
|
5971
|
+
"min": 1,
|
|
5972
|
+
"max": 6,
|
|
5973
|
+
"description": "Tablet."
|
|
5974
|
+
},
|
|
5975
|
+
"1280": {
|
|
5976
|
+
"type": "integer",
|
|
5977
|
+
"min": 1,
|
|
5978
|
+
"max": 6,
|
|
5979
|
+
"description": "Desktop."
|
|
5980
|
+
}
|
|
5981
|
+
}
|
|
5982
|
+
},
|
|
5983
|
+
"gap": {
|
|
5984
|
+
"type": "integer",
|
|
5985
|
+
"min": 0,
|
|
5986
|
+
"max": 200,
|
|
5987
|
+
"description": "Gap between items."
|
|
5988
|
+
},
|
|
5989
|
+
"tone": {
|
|
5990
|
+
"type": "select",
|
|
5991
|
+
"options": [
|
|
5992
|
+
"light",
|
|
5993
|
+
"dark"
|
|
5994
|
+
],
|
|
5995
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
5996
|
+
},
|
|
5997
|
+
"align": {
|
|
5998
|
+
"type": "select",
|
|
5999
|
+
"options": [
|
|
6000
|
+
"start",
|
|
6001
|
+
"center",
|
|
6002
|
+
"end"
|
|
6003
|
+
],
|
|
6004
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
6005
|
+
},
|
|
6006
|
+
"radius": {
|
|
6007
|
+
"type": "integer",
|
|
6008
|
+
"min": 0,
|
|
6009
|
+
"max": 200,
|
|
6010
|
+
"description": "Card and item corner radius."
|
|
6011
|
+
},
|
|
6012
|
+
"minHeight": {
|
|
6013
|
+
"type": "integer",
|
|
6014
|
+
"min": 0,
|
|
6015
|
+
"max": 2000,
|
|
6016
|
+
"description": "The section's minimum height."
|
|
6017
|
+
}
|
|
6018
|
+
}
|
|
3245
6019
|
}
|
|
3246
6020
|
},
|
|
3247
6021
|
"slots": {},
|
|
@@ -3258,7 +6032,7 @@
|
|
|
3258
6032
|
"divi/et_pb_blurb"
|
|
3259
6033
|
]
|
|
3260
6034
|
},
|
|
3261
|
-
"a11y": "Steps are an <ol>, so their order and count are announced; the visible numbers are CSS counters, not text. Each title is an <h3> under the section's <h2>, or an <h2> when the section has no heading. The section is labelled by its heading when it has one.",
|
|
6035
|
+
"a11y": "Steps are an <ol>, so their order and count are announced; the visible numbers are CSS counters, not text. Each title is an <h3> under the section's <h2>, or an <h2> when the section has no heading. The section is labelled by its heading when it has one. A timeline is the same <ol>; a date is a <time datetime> only when machine-readable; the rail and dots are CSS and not in the accessibility tree.",
|
|
3262
6036
|
"pattern": {
|
|
3263
6037
|
"summary": "ordered sequence: numbered title + short text units",
|
|
3264
6038
|
"signals": [
|
|
@@ -3279,7 +6053,9 @@
|
|
|
3279
6053
|
"items[].title": "items[].title",
|
|
3280
6054
|
"items[].text": "items[].text",
|
|
3281
6055
|
"items[].image": "items[].image",
|
|
3282
|
-
"items[].imageAlt": "items[].image_alt"
|
|
6056
|
+
"items[].imageAlt": "items[].image_alt",
|
|
6057
|
+
"items[].date": "items[].date",
|
|
6058
|
+
"items[].current": "items[].current"
|
|
3283
6059
|
}
|
|
3284
6060
|
},
|
|
3285
6061
|
{
|
|
@@ -3289,7 +6065,9 @@
|
|
|
3289
6065
|
"category": "content",
|
|
3290
6066
|
"uses": [],
|
|
3291
6067
|
"shared": [
|
|
3292
|
-
"Section.astro"
|
|
6068
|
+
"Section.astro",
|
|
6069
|
+
"measured.ts",
|
|
6070
|
+
"types.ts"
|
|
3293
6071
|
],
|
|
3294
6072
|
"variants": {
|
|
3295
6073
|
"style": {
|
|
@@ -3320,6 +6098,116 @@
|
|
|
3320
6098
|
}
|
|
3321
6099
|
},
|
|
3322
6100
|
"props": {
|
|
6101
|
+
"measured": {
|
|
6102
|
+
"type": "object",
|
|
6103
|
+
"content": false,
|
|
6104
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
6105
|
+
"fields": {
|
|
6106
|
+
"containerPx": {
|
|
6107
|
+
"type": "integer",
|
|
6108
|
+
"min": 0,
|
|
6109
|
+
"max": 2560,
|
|
6110
|
+
"description": "The frame's content width."
|
|
6111
|
+
},
|
|
6112
|
+
"padY": {
|
|
6113
|
+
"type": "integer",
|
|
6114
|
+
"min": 0,
|
|
6115
|
+
"max": 400,
|
|
6116
|
+
"description": "Top and bottom padding."
|
|
6117
|
+
},
|
|
6118
|
+
"padX": {
|
|
6119
|
+
"type": "integer",
|
|
6120
|
+
"min": 0,
|
|
6121
|
+
"max": 200,
|
|
6122
|
+
"description": "The frame's side padding (gutter)."
|
|
6123
|
+
},
|
|
6124
|
+
"bg": {
|
|
6125
|
+
"type": "object",
|
|
6126
|
+
"description": "The section's background.",
|
|
6127
|
+
"fields": {
|
|
6128
|
+
"color": {
|
|
6129
|
+
"type": "string",
|
|
6130
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
6131
|
+
},
|
|
6132
|
+
"image": {
|
|
6133
|
+
"type": "string",
|
|
6134
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
6135
|
+
},
|
|
6136
|
+
"overlay": {
|
|
6137
|
+
"type": "string",
|
|
6138
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
6139
|
+
},
|
|
6140
|
+
"size": {
|
|
6141
|
+
"type": "string",
|
|
6142
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
6143
|
+
},
|
|
6144
|
+
"position": {
|
|
6145
|
+
"type": "string",
|
|
6146
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
6147
|
+
}
|
|
6148
|
+
}
|
|
6149
|
+
},
|
|
6150
|
+
"columns": {
|
|
6151
|
+
"type": "object",
|
|
6152
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
6153
|
+
"fields": {
|
|
6154
|
+
"390": {
|
|
6155
|
+
"type": "integer",
|
|
6156
|
+
"min": 1,
|
|
6157
|
+
"max": 6,
|
|
6158
|
+
"description": "Phone."
|
|
6159
|
+
},
|
|
6160
|
+
"768": {
|
|
6161
|
+
"type": "integer",
|
|
6162
|
+
"min": 1,
|
|
6163
|
+
"max": 6,
|
|
6164
|
+
"description": "Tablet."
|
|
6165
|
+
},
|
|
6166
|
+
"1280": {
|
|
6167
|
+
"type": "integer",
|
|
6168
|
+
"min": 1,
|
|
6169
|
+
"max": 6,
|
|
6170
|
+
"description": "Desktop."
|
|
6171
|
+
}
|
|
6172
|
+
}
|
|
6173
|
+
},
|
|
6174
|
+
"gap": {
|
|
6175
|
+
"type": "integer",
|
|
6176
|
+
"min": 0,
|
|
6177
|
+
"max": 200,
|
|
6178
|
+
"description": "Gap between items."
|
|
6179
|
+
},
|
|
6180
|
+
"tone": {
|
|
6181
|
+
"type": "select",
|
|
6182
|
+
"options": [
|
|
6183
|
+
"light",
|
|
6184
|
+
"dark"
|
|
6185
|
+
],
|
|
6186
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
6187
|
+
},
|
|
6188
|
+
"align": {
|
|
6189
|
+
"type": "select",
|
|
6190
|
+
"options": [
|
|
6191
|
+
"start",
|
|
6192
|
+
"center",
|
|
6193
|
+
"end"
|
|
6194
|
+
],
|
|
6195
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
6196
|
+
},
|
|
6197
|
+
"radius": {
|
|
6198
|
+
"type": "integer",
|
|
6199
|
+
"min": 0,
|
|
6200
|
+
"max": 200,
|
|
6201
|
+
"description": "Card and item corner radius."
|
|
6202
|
+
},
|
|
6203
|
+
"minHeight": {
|
|
6204
|
+
"type": "integer",
|
|
6205
|
+
"min": 0,
|
|
6206
|
+
"max": 2000,
|
|
6207
|
+
"description": "The section's minimum height."
|
|
6208
|
+
}
|
|
6209
|
+
}
|
|
6210
|
+
},
|
|
3323
6211
|
"items": {
|
|
3324
6212
|
"type": "array",
|
|
3325
6213
|
"required": true,
|
|
@@ -3384,6 +6272,7 @@
|
|
|
3384
6272
|
"KitImage.astro",
|
|
3385
6273
|
"Section.astro",
|
|
3386
6274
|
"image.ts",
|
|
6275
|
+
"measured.ts",
|
|
3387
6276
|
"types.ts"
|
|
3388
6277
|
],
|
|
3389
6278
|
"variants": {
|
|
@@ -3391,10 +6280,11 @@
|
|
|
3391
6280
|
"options": [
|
|
3392
6281
|
"2",
|
|
3393
6282
|
"3",
|
|
3394
|
-
"4"
|
|
6283
|
+
"4",
|
|
6284
|
+
"5"
|
|
3395
6285
|
],
|
|
3396
6286
|
"default": "3",
|
|
3397
|
-
"description": "
|
|
6287
|
+
"description": "Members per row on wide screens; one on phones, two on tablets."
|
|
3398
6288
|
},
|
|
3399
6289
|
"style": {
|
|
3400
6290
|
"options": [
|
|
@@ -3411,6 +6301,32 @@
|
|
|
3411
6301
|
],
|
|
3412
6302
|
"default": "accent",
|
|
3413
6303
|
"description": "The member's role. accent: a small accent-coloured line. plain: body-size text in the text colour, as a byline."
|
|
6304
|
+
},
|
|
6305
|
+
"layout": {
|
|
6306
|
+
"options": [
|
|
6307
|
+
"grid",
|
|
6308
|
+
"list",
|
|
6309
|
+
"featured"
|
|
6310
|
+
],
|
|
6311
|
+
"default": "grid",
|
|
6312
|
+
"description": "grid: cards in columns. list: one row each, photo beside text. featured: the first member large over a grid."
|
|
6313
|
+
},
|
|
6314
|
+
"imageShape": {
|
|
6315
|
+
"options": [
|
|
6316
|
+
"square",
|
|
6317
|
+
"rounded",
|
|
6318
|
+
"circle"
|
|
6319
|
+
],
|
|
6320
|
+
"default": "square",
|
|
6321
|
+
"description": "Shape of the portrait."
|
|
6322
|
+
},
|
|
6323
|
+
"align": {
|
|
6324
|
+
"options": [
|
|
6325
|
+
"start",
|
|
6326
|
+
"center"
|
|
6327
|
+
],
|
|
6328
|
+
"default": "start",
|
|
6329
|
+
"description": "Text and socials from the start edge, or centred."
|
|
3414
6330
|
}
|
|
3415
6331
|
},
|
|
3416
6332
|
"props": {
|
|
@@ -3461,6 +6377,14 @@
|
|
|
3461
6377
|
"type": "url",
|
|
3462
6378
|
"label": "Link",
|
|
3463
6379
|
"description": "Their profile page; makes the whole entry a link."
|
|
6380
|
+
},
|
|
6381
|
+
"links": {
|
|
6382
|
+
"type": "array",
|
|
6383
|
+
"label": "Profile links",
|
|
6384
|
+
"description": "Addresses of the member's social profiles, in order; each is labelled by the network its host names (LinkedIn, GitHub, …).",
|
|
6385
|
+
"items": {
|
|
6386
|
+
"type": "url"
|
|
6387
|
+
}
|
|
3464
6388
|
}
|
|
3465
6389
|
}
|
|
3466
6390
|
},
|
|
@@ -3470,6 +6394,135 @@
|
|
|
3470
6394
|
"type": "string",
|
|
3471
6395
|
"content": false,
|
|
3472
6396
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
6397
|
+
},
|
|
6398
|
+
"bioClamp": {
|
|
6399
|
+
"type": "integer",
|
|
6400
|
+
"min": 2,
|
|
6401
|
+
"max": 4,
|
|
6402
|
+
"content": false,
|
|
6403
|
+
"description": "Clamp a long bio to this many lines; the full text opens in a native <details> (\"Read more\"), no script."
|
|
6404
|
+
},
|
|
6405
|
+
"readMoreLabel": {
|
|
6406
|
+
"type": "string",
|
|
6407
|
+
"default": "Read more",
|
|
6408
|
+
"content": false,
|
|
6409
|
+
"description": "Text of the bio disclosure."
|
|
6410
|
+
},
|
|
6411
|
+
"socialLabel": {
|
|
6412
|
+
"type": "string",
|
|
6413
|
+
"default": "{name} on {network}",
|
|
6414
|
+
"content": false,
|
|
6415
|
+
"description": "Accessible name of a profile link; {name} and {network} are replaced."
|
|
6416
|
+
},
|
|
6417
|
+
"measured": {
|
|
6418
|
+
"type": "object",
|
|
6419
|
+
"content": false,
|
|
6420
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
6421
|
+
"fields": {
|
|
6422
|
+
"containerPx": {
|
|
6423
|
+
"type": "integer",
|
|
6424
|
+
"min": 0,
|
|
6425
|
+
"max": 2560,
|
|
6426
|
+
"description": "The frame's content width."
|
|
6427
|
+
},
|
|
6428
|
+
"padY": {
|
|
6429
|
+
"type": "integer",
|
|
6430
|
+
"min": 0,
|
|
6431
|
+
"max": 400,
|
|
6432
|
+
"description": "Top and bottom padding."
|
|
6433
|
+
},
|
|
6434
|
+
"padX": {
|
|
6435
|
+
"type": "integer",
|
|
6436
|
+
"min": 0,
|
|
6437
|
+
"max": 200,
|
|
6438
|
+
"description": "The frame's side padding (gutter)."
|
|
6439
|
+
},
|
|
6440
|
+
"bg": {
|
|
6441
|
+
"type": "object",
|
|
6442
|
+
"description": "The section's background.",
|
|
6443
|
+
"fields": {
|
|
6444
|
+
"color": {
|
|
6445
|
+
"type": "string",
|
|
6446
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
6447
|
+
},
|
|
6448
|
+
"image": {
|
|
6449
|
+
"type": "string",
|
|
6450
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
6451
|
+
},
|
|
6452
|
+
"overlay": {
|
|
6453
|
+
"type": "string",
|
|
6454
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
6455
|
+
},
|
|
6456
|
+
"size": {
|
|
6457
|
+
"type": "string",
|
|
6458
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
6459
|
+
},
|
|
6460
|
+
"position": {
|
|
6461
|
+
"type": "string",
|
|
6462
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
6463
|
+
}
|
|
6464
|
+
}
|
|
6465
|
+
},
|
|
6466
|
+
"columns": {
|
|
6467
|
+
"type": "object",
|
|
6468
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
6469
|
+
"fields": {
|
|
6470
|
+
"390": {
|
|
6471
|
+
"type": "integer",
|
|
6472
|
+
"min": 1,
|
|
6473
|
+
"max": 6,
|
|
6474
|
+
"description": "Phone."
|
|
6475
|
+
},
|
|
6476
|
+
"768": {
|
|
6477
|
+
"type": "integer",
|
|
6478
|
+
"min": 1,
|
|
6479
|
+
"max": 6,
|
|
6480
|
+
"description": "Tablet."
|
|
6481
|
+
},
|
|
6482
|
+
"1280": {
|
|
6483
|
+
"type": "integer",
|
|
6484
|
+
"min": 1,
|
|
6485
|
+
"max": 6,
|
|
6486
|
+
"description": "Desktop."
|
|
6487
|
+
}
|
|
6488
|
+
}
|
|
6489
|
+
},
|
|
6490
|
+
"gap": {
|
|
6491
|
+
"type": "integer",
|
|
6492
|
+
"min": 0,
|
|
6493
|
+
"max": 200,
|
|
6494
|
+
"description": "Gap between items."
|
|
6495
|
+
},
|
|
6496
|
+
"tone": {
|
|
6497
|
+
"type": "select",
|
|
6498
|
+
"options": [
|
|
6499
|
+
"light",
|
|
6500
|
+
"dark"
|
|
6501
|
+
],
|
|
6502
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
6503
|
+
},
|
|
6504
|
+
"align": {
|
|
6505
|
+
"type": "select",
|
|
6506
|
+
"options": [
|
|
6507
|
+
"start",
|
|
6508
|
+
"center",
|
|
6509
|
+
"end"
|
|
6510
|
+
],
|
|
6511
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
6512
|
+
},
|
|
6513
|
+
"radius": {
|
|
6514
|
+
"type": "integer",
|
|
6515
|
+
"min": 0,
|
|
6516
|
+
"max": 200,
|
|
6517
|
+
"description": "Card and item corner radius."
|
|
6518
|
+
},
|
|
6519
|
+
"minHeight": {
|
|
6520
|
+
"type": "integer",
|
|
6521
|
+
"min": 0,
|
|
6522
|
+
"max": 2000,
|
|
6523
|
+
"description": "The section's minimum height."
|
|
6524
|
+
}
|
|
6525
|
+
}
|
|
3473
6526
|
}
|
|
3474
6527
|
},
|
|
3475
6528
|
"slots": {},
|
|
@@ -3486,7 +6539,7 @@
|
|
|
3486
6539
|
"divi/et_pb_team_member"
|
|
3487
6540
|
]
|
|
3488
6541
|
},
|
|
3489
|
-
"a11y": "Members are a <ul>; each name is an <h3> under the section's <h2> (an <h2> when the section has no heading), and a linked member's link text is the name. A portrait's text defaults to the name. The section is labelled by its heading when it has one.",
|
|
6542
|
+
"a11y": "Members are a <ul>; each name is an <h3> under the section's <h2> (an <h2> when the section has no heading), and a linked member's link text is the name. A portrait's text defaults to the name. The section is labelled by its heading when it has one. A member with socials keeps the name link and the social links apart (no nested links); a clamped bio opens in a <details> with the whole text.",
|
|
3490
6543
|
"pattern": {
|
|
3491
6544
|
"summary": "repeated person units: portrait + name + role",
|
|
3492
6545
|
"signals": [
|
|
@@ -3498,7 +6551,8 @@
|
|
|
3498
6551
|
]
|
|
3499
6552
|
},
|
|
3500
6553
|
"files": [
|
|
3501
|
-
"Team.astro"
|
|
6554
|
+
"Team.astro",
|
|
6555
|
+
"team.ts"
|
|
3502
6556
|
],
|
|
3503
6557
|
"contentFields": {
|
|
3504
6558
|
"heading": "heading",
|
|
@@ -3509,7 +6563,8 @@
|
|
|
3509
6563
|
"items[].bio": "items[].bio",
|
|
3510
6564
|
"items[].image": "items[].image",
|
|
3511
6565
|
"items[].imageAlt": "items[].image_alt",
|
|
3512
|
-
"items[].href": "items[].href"
|
|
6566
|
+
"items[].href": "items[].href",
|
|
6567
|
+
"items[].links": "items[].links"
|
|
3513
6568
|
}
|
|
3514
6569
|
},
|
|
3515
6570
|
{
|
|
@@ -3522,16 +6577,19 @@
|
|
|
3522
6577
|
"KitImage.astro",
|
|
3523
6578
|
"Section.astro",
|
|
3524
6579
|
"image.ts",
|
|
6580
|
+
"measured.ts",
|
|
3525
6581
|
"types.ts"
|
|
3526
6582
|
],
|
|
3527
6583
|
"variants": {
|
|
3528
6584
|
"layout": {
|
|
3529
6585
|
"options": [
|
|
3530
6586
|
"single",
|
|
3531
|
-
"grid"
|
|
6587
|
+
"grid",
|
|
6588
|
+
"row",
|
|
6589
|
+
"masonry"
|
|
3532
6590
|
],
|
|
3533
6591
|
"default": "grid",
|
|
3534
|
-
"description": "single: one large centred quote (the first item stands alone; more items stack). grid: cards, up to three per row."
|
|
6592
|
+
"description": "single: one large centred quote (the first item stands alone; more items stack). grid: cards, up to three per row. row: a horizontal strip that scrolls and snaps, no script. masonry: columns of quotes of different lengths."
|
|
3535
6593
|
},
|
|
3536
6594
|
"tone": {
|
|
3537
6595
|
"options": [
|
|
@@ -3560,6 +6618,32 @@
|
|
|
3560
6618
|
],
|
|
3561
6619
|
"default": "card",
|
|
3562
6620
|
"description": "card: each quote in its box (a bordered, padded card in the grid; the surface colour in a muted section). plain: the quote and who said it straight on the section, across the column, with no box, as Elementor's testimonial widget draws them."
|
|
6621
|
+
},
|
|
6622
|
+
"avatarSize": {
|
|
6623
|
+
"options": [
|
|
6624
|
+
"sm",
|
|
6625
|
+
"md",
|
|
6626
|
+
"lg"
|
|
6627
|
+
],
|
|
6628
|
+
"default": "md",
|
|
6629
|
+
"description": "The portrait's size: small, medium or large."
|
|
6630
|
+
},
|
|
6631
|
+
"avatarPlace": {
|
|
6632
|
+
"options": [
|
|
6633
|
+
"start",
|
|
6634
|
+
"top"
|
|
6635
|
+
],
|
|
6636
|
+
"default": "start",
|
|
6637
|
+
"description": "start: the portrait beside the name. top: above the quote."
|
|
6638
|
+
},
|
|
6639
|
+
"quoteMark": {
|
|
6640
|
+
"options": [
|
|
6641
|
+
"marks",
|
|
6642
|
+
"glyph",
|
|
6643
|
+
"none"
|
|
6644
|
+
],
|
|
6645
|
+
"default": "marks",
|
|
6646
|
+
"description": "marks: quotation marks around the text. glyph: one large decorative mark above. none: no marks."
|
|
3563
6647
|
}
|
|
3564
6648
|
},
|
|
3565
6649
|
"props": {
|
|
@@ -3596,6 +6680,21 @@
|
|
|
3596
6680
|
"type": "string",
|
|
3597
6681
|
"label": "Photo description",
|
|
3598
6682
|
"description": "Who the photo shows; usually their name."
|
|
6683
|
+
},
|
|
6684
|
+
"rating": {
|
|
6685
|
+
"type": "number",
|
|
6686
|
+
"label": "Rating",
|
|
6687
|
+
"description": "Stars out of 5; leave empty for none."
|
|
6688
|
+
},
|
|
6689
|
+
"logo": {
|
|
6690
|
+
"type": "image",
|
|
6691
|
+
"label": "Company logo",
|
|
6692
|
+
"description": "The company's logo beside the name."
|
|
6693
|
+
},
|
|
6694
|
+
"logoAlt": {
|
|
6695
|
+
"type": "string",
|
|
6696
|
+
"label": "Company name",
|
|
6697
|
+
"description": "The company the logo stands for."
|
|
3599
6698
|
}
|
|
3600
6699
|
}
|
|
3601
6700
|
},
|
|
@@ -3606,10 +6705,130 @@
|
|
|
3606
6705
|
"label": "Heading",
|
|
3607
6706
|
"description": "Section heading above the quotes."
|
|
3608
6707
|
},
|
|
6708
|
+
"measured": {
|
|
6709
|
+
"type": "object",
|
|
6710
|
+
"content": false,
|
|
6711
|
+
"description": "The source section's measured style (MeasuredStyle): frame width, padding, fill, image, columns per width, gap, text tone, radius, minimum height — all in pixels. Absent, the site's tokens; present, it wins over tone and columns. Values that are not a number, a colour or a known keyword are dropped.",
|
|
6712
|
+
"fields": {
|
|
6713
|
+
"containerPx": {
|
|
6714
|
+
"type": "integer",
|
|
6715
|
+
"min": 0,
|
|
6716
|
+
"max": 2560,
|
|
6717
|
+
"description": "The frame's content width."
|
|
6718
|
+
},
|
|
6719
|
+
"padY": {
|
|
6720
|
+
"type": "integer",
|
|
6721
|
+
"min": 0,
|
|
6722
|
+
"max": 400,
|
|
6723
|
+
"description": "Top and bottom padding."
|
|
6724
|
+
},
|
|
6725
|
+
"padX": {
|
|
6726
|
+
"type": "integer",
|
|
6727
|
+
"min": 0,
|
|
6728
|
+
"max": 200,
|
|
6729
|
+
"description": "The frame's side padding (gutter)."
|
|
6730
|
+
},
|
|
6731
|
+
"bg": {
|
|
6732
|
+
"type": "object",
|
|
6733
|
+
"description": "The section's background.",
|
|
6734
|
+
"fields": {
|
|
6735
|
+
"color": {
|
|
6736
|
+
"type": "string",
|
|
6737
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
6738
|
+
},
|
|
6739
|
+
"image": {
|
|
6740
|
+
"type": "string",
|
|
6741
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
6742
|
+
},
|
|
6743
|
+
"overlay": {
|
|
6744
|
+
"type": "string",
|
|
6745
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
6746
|
+
},
|
|
6747
|
+
"size": {
|
|
6748
|
+
"type": "string",
|
|
6749
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
6750
|
+
},
|
|
6751
|
+
"position": {
|
|
6752
|
+
"type": "string",
|
|
6753
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
6754
|
+
}
|
|
6755
|
+
}
|
|
6756
|
+
},
|
|
6757
|
+
"columns": {
|
|
6758
|
+
"type": "object",
|
|
6759
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
6760
|
+
"fields": {
|
|
6761
|
+
"390": {
|
|
6762
|
+
"type": "integer",
|
|
6763
|
+
"min": 1,
|
|
6764
|
+
"max": 6,
|
|
6765
|
+
"description": "Phone."
|
|
6766
|
+
},
|
|
6767
|
+
"768": {
|
|
6768
|
+
"type": "integer",
|
|
6769
|
+
"min": 1,
|
|
6770
|
+
"max": 6,
|
|
6771
|
+
"description": "Tablet."
|
|
6772
|
+
},
|
|
6773
|
+
"1280": {
|
|
6774
|
+
"type": "integer",
|
|
6775
|
+
"min": 1,
|
|
6776
|
+
"max": 6,
|
|
6777
|
+
"description": "Desktop."
|
|
6778
|
+
}
|
|
6779
|
+
}
|
|
6780
|
+
},
|
|
6781
|
+
"gap": {
|
|
6782
|
+
"type": "integer",
|
|
6783
|
+
"min": 0,
|
|
6784
|
+
"max": 200,
|
|
6785
|
+
"description": "Gap between items."
|
|
6786
|
+
},
|
|
6787
|
+
"tone": {
|
|
6788
|
+
"type": "select",
|
|
6789
|
+
"options": [
|
|
6790
|
+
"light",
|
|
6791
|
+
"dark"
|
|
6792
|
+
],
|
|
6793
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
6794
|
+
},
|
|
6795
|
+
"align": {
|
|
6796
|
+
"type": "select",
|
|
6797
|
+
"options": [
|
|
6798
|
+
"start",
|
|
6799
|
+
"center",
|
|
6800
|
+
"end"
|
|
6801
|
+
],
|
|
6802
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
6803
|
+
},
|
|
6804
|
+
"radius": {
|
|
6805
|
+
"type": "integer",
|
|
6806
|
+
"min": 0,
|
|
6807
|
+
"max": 200,
|
|
6808
|
+
"description": "Card and item corner radius."
|
|
6809
|
+
},
|
|
6810
|
+
"minHeight": {
|
|
6811
|
+
"type": "integer",
|
|
6812
|
+
"min": 0,
|
|
6813
|
+
"max": 2000,
|
|
6814
|
+
"description": "The section's minimum height."
|
|
6815
|
+
}
|
|
6816
|
+
}
|
|
6817
|
+
},
|
|
3609
6818
|
"id": {
|
|
3610
6819
|
"type": "string",
|
|
3611
6820
|
"content": false,
|
|
3612
6821
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
6822
|
+
},
|
|
6823
|
+
"ratingLabel": {
|
|
6824
|
+
"type": "string",
|
|
6825
|
+
"content": false,
|
|
6826
|
+
"description": "The stars' spoken text; `{rating}` stands for the number (\"{rating} out of 5 stars\")."
|
|
6827
|
+
},
|
|
6828
|
+
"label": {
|
|
6829
|
+
"type": "string",
|
|
6830
|
+
"content": false,
|
|
6831
|
+
"description": "The scrolling row's name for assistive technology when there is no heading (\"Testimonials\")."
|
|
3613
6832
|
}
|
|
3614
6833
|
},
|
|
3615
6834
|
"slots": {},
|
|
@@ -3626,7 +6845,7 @@
|
|
|
3626
6845
|
"classic/testimonial"
|
|
3627
6846
|
]
|
|
3628
6847
|
},
|
|
3629
|
-
"a11y": "Each quote is a <figure> whose <figcaption> names the speaker; the text is in a <blockquote>. Avatars are decorative when their alt is empty. The section is labelled by its heading when it has one.",
|
|
6848
|
+
"a11y": "Each quote is a <figure> whose <figcaption> names the speaker; the text is in a <blockquote>. Avatars are decorative when their alt is empty. The section is labelled by its heading when it has one. Stars are one image named by the real rating (\"4.8 out of 5 stars\"); the row layout is a focusable named region.",
|
|
3630
6849
|
"files": [
|
|
3631
6850
|
"Testimonial.astro"
|
|
3632
6851
|
],
|
|
@@ -3637,6 +6856,9 @@
|
|
|
3637
6856
|
"items[].role": "items[].role",
|
|
3638
6857
|
"items[].avatar": "items[].avatar",
|
|
3639
6858
|
"items[].avatarAlt": "items[].avatar_alt",
|
|
6859
|
+
"items[].rating": "items[].rating",
|
|
6860
|
+
"items[].logo": "items[].logo",
|
|
6861
|
+
"items[].logoAlt": "items[].logo_alt",
|
|
3640
6862
|
"heading": "heading"
|
|
3641
6863
|
}
|
|
3642
6864
|
}
|