@contentrain/astro-kit 0.29.4 → 0.31.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 +1055 -7
- package/components/_shared/KitImage.astro +6 -4
- package/components/_shared/Section.astro +18 -3
- package/components/_shared/measured.ts +142 -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/meta.json +1 -1
- package/components/cta/meta.json +1 -1
- package/components/faq/meta.json +1 -1
- package/components/feature-list/FeatureList.astro +7 -3
- package/components/feature-list/fixtures.json +2 -1
- package/components/feature-list/meta.json +113 -1
- package/components/gallery/meta.json +1 -1
- 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/meta.json +1 -0
- package/components/nav/Nav.astro +7 -1
- package/components/newsletter/Newsletter.astro +5 -1
- package/components/newsletter/meta.json +113 -1
- package/components/post-card/PostCard.astro +9 -2
- package/components/post-card/meta.json +4 -1
- package/components/pricing/meta.json +1 -0
- package/components/split/meta.json +1 -0
- package/components/stats/meta.json +3 -1
- package/components/steps/meta.json +1 -0
- package/components/tabs/Tabs.astro +5 -2
- package/components/tabs/meta.json +2 -1
- package/components/team/meta.json +1 -0
- package/components/testimonial/meta.json +1 -0
- 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": {},
|
|
@@ -513,7 +1088,9 @@
|
|
|
513
1088
|
"category": "section",
|
|
514
1089
|
"uses": [],
|
|
515
1090
|
"shared": [
|
|
516
|
-
"Section.astro"
|
|
1091
|
+
"Section.astro",
|
|
1092
|
+
"measured.ts",
|
|
1093
|
+
"types.ts"
|
|
517
1094
|
],
|
|
518
1095
|
"variants": {
|
|
519
1096
|
"layout": {
|
|
@@ -646,6 +1223,7 @@
|
|
|
646
1223
|
"shared": [
|
|
647
1224
|
"Button.astro",
|
|
648
1225
|
"Section.astro",
|
|
1226
|
+
"measured.ts",
|
|
649
1227
|
"types.ts"
|
|
650
1228
|
],
|
|
651
1229
|
"variants": {
|
|
@@ -886,7 +1464,9 @@
|
|
|
886
1464
|
"category": "section",
|
|
887
1465
|
"uses": [],
|
|
888
1466
|
"shared": [
|
|
889
|
-
"Section.astro"
|
|
1467
|
+
"Section.astro",
|
|
1468
|
+
"measured.ts",
|
|
1469
|
+
"types.ts"
|
|
890
1470
|
],
|
|
891
1471
|
"variants": {
|
|
892
1472
|
"style": {
|
|
@@ -1008,7 +1588,9 @@
|
|
|
1008
1588
|
"category": "section",
|
|
1009
1589
|
"uses": [],
|
|
1010
1590
|
"shared": [
|
|
1011
|
-
"Section.astro"
|
|
1591
|
+
"Section.astro",
|
|
1592
|
+
"measured.ts",
|
|
1593
|
+
"types.ts"
|
|
1012
1594
|
],
|
|
1013
1595
|
"variants": {
|
|
1014
1596
|
"columns": {
|
|
@@ -1092,6 +1674,116 @@
|
|
|
1092
1674
|
"type": "string",
|
|
1093
1675
|
"content": false,
|
|
1094
1676
|
"description": "Anchor id of the section; the heading gets `<id>-title`."
|
|
1677
|
+
},
|
|
1678
|
+
"measured": {
|
|
1679
|
+
"type": "object",
|
|
1680
|
+
"content": false,
|
|
1681
|
+
"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.",
|
|
1682
|
+
"fields": {
|
|
1683
|
+
"containerPx": {
|
|
1684
|
+
"type": "integer",
|
|
1685
|
+
"min": 0,
|
|
1686
|
+
"max": 2560,
|
|
1687
|
+
"description": "The frame's content width."
|
|
1688
|
+
},
|
|
1689
|
+
"padY": {
|
|
1690
|
+
"type": "integer",
|
|
1691
|
+
"min": 0,
|
|
1692
|
+
"max": 400,
|
|
1693
|
+
"description": "Top and bottom padding."
|
|
1694
|
+
},
|
|
1695
|
+
"padX": {
|
|
1696
|
+
"type": "integer",
|
|
1697
|
+
"min": 0,
|
|
1698
|
+
"max": 200,
|
|
1699
|
+
"description": "The frame's side padding (gutter)."
|
|
1700
|
+
},
|
|
1701
|
+
"bg": {
|
|
1702
|
+
"type": "object",
|
|
1703
|
+
"description": "The section's background.",
|
|
1704
|
+
"fields": {
|
|
1705
|
+
"color": {
|
|
1706
|
+
"type": "string",
|
|
1707
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
1708
|
+
},
|
|
1709
|
+
"image": {
|
|
1710
|
+
"type": "string",
|
|
1711
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
1712
|
+
},
|
|
1713
|
+
"overlay": {
|
|
1714
|
+
"type": "string",
|
|
1715
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
1716
|
+
},
|
|
1717
|
+
"size": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
1720
|
+
},
|
|
1721
|
+
"position": {
|
|
1722
|
+
"type": "string",
|
|
1723
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
1724
|
+
}
|
|
1725
|
+
}
|
|
1726
|
+
},
|
|
1727
|
+
"columns": {
|
|
1728
|
+
"type": "object",
|
|
1729
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
1730
|
+
"fields": {
|
|
1731
|
+
"390": {
|
|
1732
|
+
"type": "integer",
|
|
1733
|
+
"min": 1,
|
|
1734
|
+
"max": 6,
|
|
1735
|
+
"description": "Phone."
|
|
1736
|
+
},
|
|
1737
|
+
"768": {
|
|
1738
|
+
"type": "integer",
|
|
1739
|
+
"min": 1,
|
|
1740
|
+
"max": 6,
|
|
1741
|
+
"description": "Tablet."
|
|
1742
|
+
},
|
|
1743
|
+
"1280": {
|
|
1744
|
+
"type": "integer",
|
|
1745
|
+
"min": 1,
|
|
1746
|
+
"max": 6,
|
|
1747
|
+
"description": "Desktop."
|
|
1748
|
+
}
|
|
1749
|
+
}
|
|
1750
|
+
},
|
|
1751
|
+
"gap": {
|
|
1752
|
+
"type": "integer",
|
|
1753
|
+
"min": 0,
|
|
1754
|
+
"max": 200,
|
|
1755
|
+
"description": "Gap between items."
|
|
1756
|
+
},
|
|
1757
|
+
"tone": {
|
|
1758
|
+
"type": "select",
|
|
1759
|
+
"options": [
|
|
1760
|
+
"light",
|
|
1761
|
+
"dark"
|
|
1762
|
+
],
|
|
1763
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
1764
|
+
},
|
|
1765
|
+
"align": {
|
|
1766
|
+
"type": "select",
|
|
1767
|
+
"options": [
|
|
1768
|
+
"start",
|
|
1769
|
+
"center",
|
|
1770
|
+
"end"
|
|
1771
|
+
],
|
|
1772
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
1773
|
+
},
|
|
1774
|
+
"radius": {
|
|
1775
|
+
"type": "integer",
|
|
1776
|
+
"min": 0,
|
|
1777
|
+
"max": 200,
|
|
1778
|
+
"description": "Card and item corner radius."
|
|
1779
|
+
},
|
|
1780
|
+
"minHeight": {
|
|
1781
|
+
"type": "integer",
|
|
1782
|
+
"min": 0,
|
|
1783
|
+
"max": 2000,
|
|
1784
|
+
"description": "The section's minimum height."
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1095
1787
|
}
|
|
1096
1788
|
},
|
|
1097
1789
|
"slots": {},
|
|
@@ -1336,6 +2028,7 @@
|
|
|
1336
2028
|
"KitImage.astro",
|
|
1337
2029
|
"Section.astro",
|
|
1338
2030
|
"image.ts",
|
|
2031
|
+
"measured.ts",
|
|
1339
2032
|
"types.ts"
|
|
1340
2033
|
],
|
|
1341
2034
|
"variants": {
|
|
@@ -1660,6 +2353,7 @@
|
|
|
1660
2353
|
"Button.astro",
|
|
1661
2354
|
"KitImage.astro",
|
|
1662
2355
|
"Section.astro",
|
|
2356
|
+
"measured.ts",
|
|
1663
2357
|
"types.ts"
|
|
1664
2358
|
],
|
|
1665
2359
|
"variants": {
|
|
@@ -1835,6 +2529,116 @@
|
|
|
1835
2529
|
"min": 100,
|
|
1836
2530
|
"max": 2000,
|
|
1837
2531
|
"description": "Layout cover only: the cover's own height in pixels, as the source sets it (520); absent, the layout's default."
|
|
2532
|
+
},
|
|
2533
|
+
"measured": {
|
|
2534
|
+
"type": "object",
|
|
2535
|
+
"content": false,
|
|
2536
|
+
"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.",
|
|
2537
|
+
"fields": {
|
|
2538
|
+
"containerPx": {
|
|
2539
|
+
"type": "integer",
|
|
2540
|
+
"min": 0,
|
|
2541
|
+
"max": 2560,
|
|
2542
|
+
"description": "The frame's content width."
|
|
2543
|
+
},
|
|
2544
|
+
"padY": {
|
|
2545
|
+
"type": "integer",
|
|
2546
|
+
"min": 0,
|
|
2547
|
+
"max": 400,
|
|
2548
|
+
"description": "Top and bottom padding."
|
|
2549
|
+
},
|
|
2550
|
+
"padX": {
|
|
2551
|
+
"type": "integer",
|
|
2552
|
+
"min": 0,
|
|
2553
|
+
"max": 200,
|
|
2554
|
+
"description": "The frame's side padding (gutter)."
|
|
2555
|
+
},
|
|
2556
|
+
"bg": {
|
|
2557
|
+
"type": "object",
|
|
2558
|
+
"description": "The section's background.",
|
|
2559
|
+
"fields": {
|
|
2560
|
+
"color": {
|
|
2561
|
+
"type": "string",
|
|
2562
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
2563
|
+
},
|
|
2564
|
+
"image": {
|
|
2565
|
+
"type": "string",
|
|
2566
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
2567
|
+
},
|
|
2568
|
+
"overlay": {
|
|
2569
|
+
"type": "string",
|
|
2570
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
2571
|
+
},
|
|
2572
|
+
"size": {
|
|
2573
|
+
"type": "string",
|
|
2574
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
2575
|
+
},
|
|
2576
|
+
"position": {
|
|
2577
|
+
"type": "string",
|
|
2578
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
2579
|
+
}
|
|
2580
|
+
}
|
|
2581
|
+
},
|
|
2582
|
+
"columns": {
|
|
2583
|
+
"type": "object",
|
|
2584
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
2585
|
+
"fields": {
|
|
2586
|
+
"390": {
|
|
2587
|
+
"type": "integer",
|
|
2588
|
+
"min": 1,
|
|
2589
|
+
"max": 6,
|
|
2590
|
+
"description": "Phone."
|
|
2591
|
+
},
|
|
2592
|
+
"768": {
|
|
2593
|
+
"type": "integer",
|
|
2594
|
+
"min": 1,
|
|
2595
|
+
"max": 6,
|
|
2596
|
+
"description": "Tablet."
|
|
2597
|
+
},
|
|
2598
|
+
"1280": {
|
|
2599
|
+
"type": "integer",
|
|
2600
|
+
"min": 1,
|
|
2601
|
+
"max": 6,
|
|
2602
|
+
"description": "Desktop."
|
|
2603
|
+
}
|
|
2604
|
+
}
|
|
2605
|
+
},
|
|
2606
|
+
"gap": {
|
|
2607
|
+
"type": "integer",
|
|
2608
|
+
"min": 0,
|
|
2609
|
+
"max": 200,
|
|
2610
|
+
"description": "Gap between items."
|
|
2611
|
+
},
|
|
2612
|
+
"tone": {
|
|
2613
|
+
"type": "select",
|
|
2614
|
+
"options": [
|
|
2615
|
+
"light",
|
|
2616
|
+
"dark"
|
|
2617
|
+
],
|
|
2618
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
2619
|
+
},
|
|
2620
|
+
"align": {
|
|
2621
|
+
"type": "select",
|
|
2622
|
+
"options": [
|
|
2623
|
+
"start",
|
|
2624
|
+
"center",
|
|
2625
|
+
"end"
|
|
2626
|
+
],
|
|
2627
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
2628
|
+
},
|
|
2629
|
+
"radius": {
|
|
2630
|
+
"type": "integer",
|
|
2631
|
+
"min": 0,
|
|
2632
|
+
"max": 200,
|
|
2633
|
+
"description": "Card and item corner radius."
|
|
2634
|
+
},
|
|
2635
|
+
"minHeight": {
|
|
2636
|
+
"type": "integer",
|
|
2637
|
+
"min": 0,
|
|
2638
|
+
"max": 2000,
|
|
2639
|
+
"description": "The section's minimum height."
|
|
2640
|
+
}
|
|
2641
|
+
}
|
|
1838
2642
|
}
|
|
1839
2643
|
},
|
|
1840
2644
|
"slots": {},
|
|
@@ -1884,6 +2688,7 @@
|
|
|
1884
2688
|
"KitImage.astro",
|
|
1885
2689
|
"Section.astro",
|
|
1886
2690
|
"image.ts",
|
|
2691
|
+
"measured.ts",
|
|
1887
2692
|
"types.ts"
|
|
1888
2693
|
],
|
|
1889
2694
|
"variants": {
|
|
@@ -2112,7 +2917,9 @@
|
|
|
2112
2917
|
"category": "section",
|
|
2113
2918
|
"uses": [],
|
|
2114
2919
|
"shared": [
|
|
2115
|
-
"Section.astro"
|
|
2920
|
+
"Section.astro",
|
|
2921
|
+
"measured.ts",
|
|
2922
|
+
"types.ts"
|
|
2116
2923
|
],
|
|
2117
2924
|
"variants": {
|
|
2118
2925
|
"layout": {
|
|
@@ -2206,6 +3013,116 @@
|
|
|
2206
3013
|
"type": "string",
|
|
2207
3014
|
"content": false,
|
|
2208
3015
|
"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`."
|
|
3016
|
+
},
|
|
3017
|
+
"measured": {
|
|
3018
|
+
"type": "object",
|
|
3019
|
+
"content": false,
|
|
3020
|
+
"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.",
|
|
3021
|
+
"fields": {
|
|
3022
|
+
"containerPx": {
|
|
3023
|
+
"type": "integer",
|
|
3024
|
+
"min": 0,
|
|
3025
|
+
"max": 2560,
|
|
3026
|
+
"description": "The frame's content width."
|
|
3027
|
+
},
|
|
3028
|
+
"padY": {
|
|
3029
|
+
"type": "integer",
|
|
3030
|
+
"min": 0,
|
|
3031
|
+
"max": 400,
|
|
3032
|
+
"description": "Top and bottom padding."
|
|
3033
|
+
},
|
|
3034
|
+
"padX": {
|
|
3035
|
+
"type": "integer",
|
|
3036
|
+
"min": 0,
|
|
3037
|
+
"max": 200,
|
|
3038
|
+
"description": "The frame's side padding (gutter)."
|
|
3039
|
+
},
|
|
3040
|
+
"bg": {
|
|
3041
|
+
"type": "object",
|
|
3042
|
+
"description": "The section's background.",
|
|
3043
|
+
"fields": {
|
|
3044
|
+
"color": {
|
|
3045
|
+
"type": "string",
|
|
3046
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
3047
|
+
},
|
|
3048
|
+
"image": {
|
|
3049
|
+
"type": "string",
|
|
3050
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
3051
|
+
},
|
|
3052
|
+
"overlay": {
|
|
3053
|
+
"type": "string",
|
|
3054
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
3055
|
+
},
|
|
3056
|
+
"size": {
|
|
3057
|
+
"type": "string",
|
|
3058
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
3059
|
+
},
|
|
3060
|
+
"position": {
|
|
3061
|
+
"type": "string",
|
|
3062
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
3063
|
+
}
|
|
3064
|
+
}
|
|
3065
|
+
},
|
|
3066
|
+
"columns": {
|
|
3067
|
+
"type": "object",
|
|
3068
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
3069
|
+
"fields": {
|
|
3070
|
+
"390": {
|
|
3071
|
+
"type": "integer",
|
|
3072
|
+
"min": 1,
|
|
3073
|
+
"max": 6,
|
|
3074
|
+
"description": "Phone."
|
|
3075
|
+
},
|
|
3076
|
+
"768": {
|
|
3077
|
+
"type": "integer",
|
|
3078
|
+
"min": 1,
|
|
3079
|
+
"max": 6,
|
|
3080
|
+
"description": "Tablet."
|
|
3081
|
+
},
|
|
3082
|
+
"1280": {
|
|
3083
|
+
"type": "integer",
|
|
3084
|
+
"min": 1,
|
|
3085
|
+
"max": 6,
|
|
3086
|
+
"description": "Desktop."
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
},
|
|
3090
|
+
"gap": {
|
|
3091
|
+
"type": "integer",
|
|
3092
|
+
"min": 0,
|
|
3093
|
+
"max": 200,
|
|
3094
|
+
"description": "Gap between items."
|
|
3095
|
+
},
|
|
3096
|
+
"tone": {
|
|
3097
|
+
"type": "select",
|
|
3098
|
+
"options": [
|
|
3099
|
+
"light",
|
|
3100
|
+
"dark"
|
|
3101
|
+
],
|
|
3102
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
3103
|
+
},
|
|
3104
|
+
"align": {
|
|
3105
|
+
"type": "select",
|
|
3106
|
+
"options": [
|
|
3107
|
+
"start",
|
|
3108
|
+
"center",
|
|
3109
|
+
"end"
|
|
3110
|
+
],
|
|
3111
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
3112
|
+
},
|
|
3113
|
+
"radius": {
|
|
3114
|
+
"type": "integer",
|
|
3115
|
+
"min": 0,
|
|
3116
|
+
"max": 200,
|
|
3117
|
+
"description": "Card and item corner radius."
|
|
3118
|
+
},
|
|
3119
|
+
"minHeight": {
|
|
3120
|
+
"type": "integer",
|
|
3121
|
+
"min": 0,
|
|
3122
|
+
"max": 2000,
|
|
3123
|
+
"description": "The section's minimum height."
|
|
3124
|
+
}
|
|
3125
|
+
}
|
|
2209
3126
|
}
|
|
2210
3127
|
},
|
|
2211
3128
|
"slots": {},
|
|
@@ -2427,6 +3344,18 @@
|
|
|
2427
3344
|
"type": "boolean",
|
|
2428
3345
|
"default": false,
|
|
2429
3346
|
"description": "The title in the site's link colour (--color-link), as themes that colour every link do."
|
|
3347
|
+
},
|
|
3348
|
+
"sizes": {
|
|
3349
|
+
"type": "string",
|
|
3350
|
+
"description": "The image's `sizes` hint; absent, the card's own guess. A list passes the slot its columns give."
|
|
3351
|
+
},
|
|
3352
|
+
"imageHeight": {
|
|
3353
|
+
"type": "string",
|
|
3354
|
+
"description": "The image block's height as the source sets it (a CSS length or clamp()), cropped to fit; wins over imageAspect."
|
|
3355
|
+
},
|
|
3356
|
+
"imageAspect": {
|
|
3357
|
+
"type": "string",
|
|
3358
|
+
"description": "The image block's aspect ratio (16 / 9) where the source sets an aspect ratio; absent, 16 / 9."
|
|
2430
3359
|
}
|
|
2431
3360
|
},
|
|
2432
3361
|
"slots": {},
|
|
@@ -2463,6 +3392,7 @@
|
|
|
2463
3392
|
"shared": [
|
|
2464
3393
|
"Button.astro",
|
|
2465
3394
|
"Section.astro",
|
|
3395
|
+
"measured.ts",
|
|
2466
3396
|
"types.ts"
|
|
2467
3397
|
],
|
|
2468
3398
|
"variants": {
|
|
@@ -2843,6 +3773,7 @@
|
|
|
2843
3773
|
"Button.astro",
|
|
2844
3774
|
"KitImage.astro",
|
|
2845
3775
|
"Section.astro",
|
|
3776
|
+
"measured.ts",
|
|
2846
3777
|
"types.ts"
|
|
2847
3778
|
],
|
|
2848
3779
|
"variants": {
|
|
@@ -3012,7 +3943,9 @@
|
|
|
3012
3943
|
"category": "section",
|
|
3013
3944
|
"uses": [],
|
|
3014
3945
|
"shared": [
|
|
3015
|
-
"Section.astro"
|
|
3946
|
+
"Section.astro",
|
|
3947
|
+
"measured.ts",
|
|
3948
|
+
"types.ts"
|
|
3016
3949
|
],
|
|
3017
3950
|
"variants": {
|
|
3018
3951
|
"columns": {
|
|
@@ -3157,6 +4090,7 @@
|
|
|
3157
4090
|
"KitImage.astro",
|
|
3158
4091
|
"Section.astro",
|
|
3159
4092
|
"image.ts",
|
|
4093
|
+
"measured.ts",
|
|
3160
4094
|
"types.ts"
|
|
3161
4095
|
],
|
|
3162
4096
|
"variants": {
|
|
@@ -3277,7 +4211,9 @@
|
|
|
3277
4211
|
"category": "content",
|
|
3278
4212
|
"uses": [],
|
|
3279
4213
|
"shared": [
|
|
3280
|
-
"Section.astro"
|
|
4214
|
+
"Section.astro",
|
|
4215
|
+
"measured.ts",
|
|
4216
|
+
"types.ts"
|
|
3281
4217
|
],
|
|
3282
4218
|
"variants": {
|
|
3283
4219
|
"style": {
|
|
@@ -3308,6 +4244,116 @@
|
|
|
3308
4244
|
}
|
|
3309
4245
|
},
|
|
3310
4246
|
"props": {
|
|
4247
|
+
"measured": {
|
|
4248
|
+
"type": "object",
|
|
4249
|
+
"content": false,
|
|
4250
|
+
"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.",
|
|
4251
|
+
"fields": {
|
|
4252
|
+
"containerPx": {
|
|
4253
|
+
"type": "integer",
|
|
4254
|
+
"min": 0,
|
|
4255
|
+
"max": 2560,
|
|
4256
|
+
"description": "The frame's content width."
|
|
4257
|
+
},
|
|
4258
|
+
"padY": {
|
|
4259
|
+
"type": "integer",
|
|
4260
|
+
"min": 0,
|
|
4261
|
+
"max": 400,
|
|
4262
|
+
"description": "Top and bottom padding."
|
|
4263
|
+
},
|
|
4264
|
+
"padX": {
|
|
4265
|
+
"type": "integer",
|
|
4266
|
+
"min": 0,
|
|
4267
|
+
"max": 200,
|
|
4268
|
+
"description": "The frame's side padding (gutter)."
|
|
4269
|
+
},
|
|
4270
|
+
"bg": {
|
|
4271
|
+
"type": "object",
|
|
4272
|
+
"description": "The section's background.",
|
|
4273
|
+
"fields": {
|
|
4274
|
+
"color": {
|
|
4275
|
+
"type": "string",
|
|
4276
|
+
"description": "Fill colour: hex, rgb(a) or hsl(a)."
|
|
4277
|
+
},
|
|
4278
|
+
"image": {
|
|
4279
|
+
"type": "string",
|
|
4280
|
+
"description": "Background image address (http(s) or root-relative), drawn behind the content."
|
|
4281
|
+
},
|
|
4282
|
+
"overlay": {
|
|
4283
|
+
"type": "string",
|
|
4284
|
+
"description": "Colour or linear/radial gradient laid over the image or the fill."
|
|
4285
|
+
},
|
|
4286
|
+
"size": {
|
|
4287
|
+
"type": "string",
|
|
4288
|
+
"description": "cover, contain or auto; anything else draws as cover."
|
|
4289
|
+
},
|
|
4290
|
+
"position": {
|
|
4291
|
+
"type": "string",
|
|
4292
|
+
"description": "One or two of center/top/bottom/left/right or percentages."
|
|
4293
|
+
}
|
|
4294
|
+
}
|
|
4295
|
+
},
|
|
4296
|
+
"columns": {
|
|
4297
|
+
"type": "object",
|
|
4298
|
+
"description": "Item columns at 390 (base), 768 (md) and 1280 (lg) px; a missing width follows the narrower one.",
|
|
4299
|
+
"fields": {
|
|
4300
|
+
"390": {
|
|
4301
|
+
"type": "integer",
|
|
4302
|
+
"min": 1,
|
|
4303
|
+
"max": 6,
|
|
4304
|
+
"description": "Phone."
|
|
4305
|
+
},
|
|
4306
|
+
"768": {
|
|
4307
|
+
"type": "integer",
|
|
4308
|
+
"min": 1,
|
|
4309
|
+
"max": 6,
|
|
4310
|
+
"description": "Tablet."
|
|
4311
|
+
},
|
|
4312
|
+
"1280": {
|
|
4313
|
+
"type": "integer",
|
|
4314
|
+
"min": 1,
|
|
4315
|
+
"max": 6,
|
|
4316
|
+
"description": "Desktop."
|
|
4317
|
+
}
|
|
4318
|
+
}
|
|
4319
|
+
},
|
|
4320
|
+
"gap": {
|
|
4321
|
+
"type": "integer",
|
|
4322
|
+
"min": 0,
|
|
4323
|
+
"max": 200,
|
|
4324
|
+
"description": "Gap between items."
|
|
4325
|
+
},
|
|
4326
|
+
"tone": {
|
|
4327
|
+
"type": "select",
|
|
4328
|
+
"options": [
|
|
4329
|
+
"light",
|
|
4330
|
+
"dark"
|
|
4331
|
+
],
|
|
4332
|
+
"description": "What the text is set for: dark = light text on a dark band. Without it, a fill's own lightness decides."
|
|
4333
|
+
},
|
|
4334
|
+
"align": {
|
|
4335
|
+
"type": "select",
|
|
4336
|
+
"options": [
|
|
4337
|
+
"start",
|
|
4338
|
+
"center",
|
|
4339
|
+
"end"
|
|
4340
|
+
],
|
|
4341
|
+
"description": "Where the heading and lead sit; read by a component whose own align is not set."
|
|
4342
|
+
},
|
|
4343
|
+
"radius": {
|
|
4344
|
+
"type": "integer",
|
|
4345
|
+
"min": 0,
|
|
4346
|
+
"max": 200,
|
|
4347
|
+
"description": "Card and item corner radius."
|
|
4348
|
+
},
|
|
4349
|
+
"minHeight": {
|
|
4350
|
+
"type": "integer",
|
|
4351
|
+
"min": 0,
|
|
4352
|
+
"max": 2000,
|
|
4353
|
+
"description": "The section's minimum height."
|
|
4354
|
+
}
|
|
4355
|
+
}
|
|
4356
|
+
},
|
|
3311
4357
|
"items": {
|
|
3312
4358
|
"type": "array",
|
|
3313
4359
|
"required": true,
|
|
@@ -3372,6 +4418,7 @@
|
|
|
3372
4418
|
"KitImage.astro",
|
|
3373
4419
|
"Section.astro",
|
|
3374
4420
|
"image.ts",
|
|
4421
|
+
"measured.ts",
|
|
3375
4422
|
"types.ts"
|
|
3376
4423
|
],
|
|
3377
4424
|
"variants": {
|
|
@@ -3510,6 +4557,7 @@
|
|
|
3510
4557
|
"KitImage.astro",
|
|
3511
4558
|
"Section.astro",
|
|
3512
4559
|
"image.ts",
|
|
4560
|
+
"measured.ts",
|
|
3513
4561
|
"types.ts"
|
|
3514
4562
|
],
|
|
3515
4563
|
"variants": {
|