@refrakt-md/marketing 0.17.0 → 0.20.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.
@@ -1,133 +1,227 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Ast, Tag } = Markdoc;
3
- import { createComponentRenderable, createContentModelSchema, RenderableNodeCursor, pageSectionProperties, asNodes } from '@refrakt-md/runes';
4
- /** Check if a node is a paragraph containing an icon tag. */
5
- function isIconParagraph(node) {
6
- if (node.type !== 'paragraph')
7
- return false;
8
- return Array.from(node.walk()).some(c => c.type === 'tag' && c.tag === 'icon');
3
+ import { createComponentRenderable, createContentModelSchema, RenderableNodeCursor, asNodes, unwrapParagraphImages } from '@refrakt-md/runes';
4
+ /** Uniform outline level for every cell title cells are siblings in the grid,
5
+ * so their titles share one heading level (and one visual size), regardless of
6
+ * the input heading level (which only drives tile size). */
7
+ const CELL_TITLE_LEVEL = 3;
8
+ /** Split a node list on top-level `hr` (`---`) into zones. */
9
+ function splitZones(nodes) {
10
+ const zones = [[]];
11
+ for (const n of nodes) {
12
+ if (n.type === 'hr')
13
+ zones.push([]);
14
+ else
15
+ zones[zones.length - 1].push(n);
16
+ }
17
+ return zones;
9
18
  }
10
- /** Split children into icon paragraphs and body content. */
11
- function splitBentoCellChildren(nodes) {
12
- // Pass through — splitting happens in transform
13
- return nodes;
19
+ /** Map hr-delimited zones to media / body / footer by count, mirroring `card`:
20
+ * 1 → body; 2 → media + body; 3+ → media + body… + footer. */
21
+ function zoneRoles(zones) {
22
+ if (zones.length === 1)
23
+ return { media: [], body: zones[0], footer: [] };
24
+ if (zones.length === 2)
25
+ return { media: zones[0], body: zones[1], footer: [] };
26
+ return { media: zones[0], footer: zones[zones.length - 1], body: zones.slice(1, -1).flat() };
14
27
  }
15
28
  export const bentoCell = createContentModelSchema({
16
29
  attributes: {
17
- name: { type: String, required: false },
18
30
  size: { type: String, required: false },
19
- span: { type: String, required: false },
31
+ cols: { type: Number, required: false },
32
+ rows: { type: Number, required: false },
33
+ 'media-position': { type: String, required: false, matches: ['top', 'bottom', 'start', 'end', 'cover'] },
34
+ 'content-height': { type: String, required: false, matches: ['sm', 'md', 'lg', 'xl'], description: 'Override the grid content-height for this cell (column cells): pin its text area to sm/md/lg/xl' },
35
+ 'media-ratio': { type: String, required: false, matches: ['1/3', '2/5', '1/2', '3/5', '2/3'], description: 'Override the grid media-ratio for this cell (beside cells): the media zone\'s share of the cell width' },
36
+ href: { type: String, required: false },
20
37
  },
21
38
  contentModel: {
22
- type: 'custom',
23
- processChildren: splitBentoCellChildren,
24
- description: 'A bento cell: optional leading image, icon rune, or emoji-only paragraph becomes the cell\'s visual element. Remaining content (headings, paragraphs, lists) becomes the cell body, rendered below or beside the visual depending on the cell\'s size.',
39
+ type: 'sequence',
40
+ fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
25
41
  },
26
42
  transform(resolved, attrs, config) {
27
- const allChildren = asNodes(resolved.children);
28
- // Split into icon paragraphs and body content
29
- const iconNodes = [];
30
- const bodyNodes = [];
31
- for (const node of allChildren) {
32
- if (isIconParagraph(node)) {
33
- iconNodes.push(node);
34
- }
35
- else {
36
- bodyNodes.push(node);
37
- }
43
+ const all = asNodes(resolved.body);
44
+ // The leading heading (the cell's generating heading, or an author-written
45
+ // one) is the title — rendered at a uniform level, not the input level.
46
+ let titleNode;
47
+ let rest = all;
48
+ if (all[0]?.type === 'heading') {
49
+ titleNode = all[0];
50
+ titleNode.attributes = { ...titleNode.attributes, level: CELL_TITLE_LEVEL };
51
+ rest = all.slice(1);
38
52
  }
39
- const nameTag = new Tag('span', {}, [attrs.name ?? '']);
40
- const sizeMeta = new Tag('meta', { content: attrs.size ?? 'small' });
41
- // Transform icon paragraphs, extracting just the icon tag
42
- const iconRendered = [];
43
- for (const node of iconNodes) {
44
- const iconTag = Array.from(node.walk()).find(n => n.type === 'tag' && n.tag === 'icon');
45
- if (iconTag) {
46
- iconRendered.push(Markdoc.transform(iconTag, config));
47
- }
48
- else {
49
- iconRendered.push(Markdoc.transform(node, config));
53
+ // The remainder splits on `---` into media / body / footer, like card.
54
+ const { media, body, footer } = zoneRoles(splitZones(rest));
55
+ const children = [];
56
+ const refs = {};
57
+ const properties = {};
58
+ // size (preset name → data-size) + the resolved grid spans. Explicit
59
+ // `cols`/`rows` (e.g. from an author or a non-default grid) override the
60
+ // preset; otherwise fall back to the medium preset spans.
61
+ const size = attrs.size ?? 'medium';
62
+ const sizeMeta = new Tag('meta', { content: size });
63
+ properties.size = sizeMeta;
64
+ children.push(sizeMeta);
65
+ const fallback = presetSpans(size, 6);
66
+ const cols = attrs.cols ? String(attrs.cols) : String(fallback.cols);
67
+ const rows = attrs.rows ? String(attrs.rows) : String(fallback.rows);
68
+ const colsMeta = new Tag('meta', { content: cols });
69
+ const rowsMeta = new Tag('meta', { content: rows });
70
+ properties.cols = colsMeta;
71
+ properties.rows = rowsMeta;
72
+ children.push(colsMeta, rowsMeta);
73
+ // Per-cell overrides of the grid's content-height / media-ratio defaults.
74
+ // Empty when unset → the cell inherits the grid-level var (or the theme
75
+ // fallback). content-height applies to column cells, media-ratio to beside.
76
+ const contentHeightMeta = new Tag('meta', { content: attrs['content-height'] ?? '' });
77
+ const mediaRatioMeta = new Tag('meta', { content: attrs['media-ratio'] ?? '' });
78
+ properties['content-height'] = contentHeightMeta;
79
+ properties['media-ratio'] = mediaRatioMeta;
80
+ children.push(contentHeightMeta, mediaRatioMeta);
81
+ // Media zone — clipped/sized by the shared media-zone selector (WORK-339);
82
+ // no bento-specific per-guest CSS.
83
+ if (media.length > 0) {
84
+ const mediaInner = unwrapParagraphImages(new RenderableNodeCursor(Markdoc.transform(media, config)).toArray());
85
+ const mediaDiv = new Tag('div', { 'data-section': 'media', 'data-name': 'media' }, mediaInner);
86
+ refs.media = mediaDiv;
87
+ children.push(mediaDiv);
88
+ }
89
+ // SPEC-081/091 flat-slot model: emit flat `data-name` slots (media · title ·
90
+ // body · footer · link); the engine's `layout` config groups title/body/
91
+ // footer into the `content` wrapper and places it beside / above media
92
+ // (WORK-348). A base `layout` is the prerequisite for the cover variant
93
+ // ({% ref "SPEC-089" /%}).
94
+ let titleTag;
95
+ if (titleNode) {
96
+ const t = new RenderableNodeCursor(Markdoc.transform([titleNode], config)).toArray()[0];
97
+ if (Markdoc.Tag.isTag(t)) {
98
+ titleTag = t;
50
99
  }
51
100
  }
52
- const iconContent = new RenderableNodeCursor(iconRendered);
53
- const body = new RenderableNodeCursor(Markdoc.transform(bodyNodes, config)).wrap('div');
54
- const hasIcon = iconContent.count() > 0;
55
- const properties = { name: nameTag, size: sizeMeta };
56
- const refs = { body: body.tag('div') };
57
- const children = [];
58
- if (hasIcon) {
59
- const iconWrapper = iconContent.wrap('div');
60
- properties.iconSource = iconContent.tags('svg', 'span');
61
- refs.icon = iconWrapper;
62
- children.push(iconWrapper.next());
101
+ const bodyInner = unwrapParagraphImages(new RenderableNodeCursor(Markdoc.transform(body, config)).toArray());
102
+ const bodyDiv = new Tag('div', { 'data-name': 'body' }, bodyInner);
103
+ let footerTag;
104
+ if (footer.length > 0) {
105
+ const footerInner = new RenderableNodeCursor(Markdoc.transform(footer, config)).toArray();
106
+ footerTag = new Tag('footer', { 'data-name': 'footer' }, footerInner);
63
107
  }
64
- children.push(nameTag, sizeMeta);
65
- if (attrs.span) {
66
- const spanMeta = new Tag('meta', { content: attrs.span });
67
- properties.span = spanMeta;
68
- children.push(spanMeta);
108
+ // Flat slots, in order. The engine's layout assembly wraps title/body/
109
+ // footer into `content`.
110
+ if (titleTag) {
111
+ refs.title = titleTag;
112
+ children.push(titleTag);
69
113
  }
70
- children.push(body.next());
71
- return createComponentRenderable({ rune: 'bento-cell',
114
+ refs.body = bodyDiv;
115
+ children.push(bodyDiv);
116
+ if (footerTag) {
117
+ refs.footer = footerTag;
118
+ children.push(footerTag);
119
+ }
120
+ // Whole-cell link (stretched overlay; nested links stay clickable).
121
+ const href = String(attrs.href ?? '');
122
+ let linkTag;
123
+ if (href) {
124
+ linkTag = new Tag('a', { 'data-name': 'link', href, 'aria-hidden': 'true', tabindex: '-1' }, []);
125
+ refs.link = linkTag;
126
+ children.push(linkTag);
127
+ }
128
+ const node = createComponentRenderable({
129
+ rune: 'bento-cell',
72
130
  tag: 'div',
73
131
  properties,
74
132
  refs,
75
133
  children,
76
134
  });
135
+ // Author-controlled media placement, with a size-derived default: large/
136
+ // full cells place media beside the body; smaller cells stack it on top.
137
+ const defaultPosition = (size === 'large' || size === 'full') ? 'start' : 'top';
138
+ node.attributes = { ...node.attributes, 'data-media-position': attrs['media-position'] ?? defaultPosition };
139
+ return node;
77
140
  },
78
141
  });
79
- function tieredSize(headingLevel, level) {
80
- const diff = level - headingLevel;
81
- if (headingLevel === 1) {
82
- if (diff === 0)
83
- return 'full';
84
- if (diff === 1)
85
- return 'large';
86
- if (diff === 2)
87
- return 'medium';
88
- return 'small';
89
- }
90
- if (diff === 0)
142
+ /** Heading level → size preset. Absolute (no auto-detected base): every input
143
+ * level maps to the same tile size everywhere, so `### Coral` is always a
144
+ * medium 3 × 1 tile regardless of what else is in the grid. h1 is a full-width
145
+ * banner; h5+ clamps to small. (Input level is purely a sizing dial — every
146
+ * cell title still renders at CELL_TITLE_LEVEL in the DOM.) */
147
+ function tieredSize(level) {
148
+ if (level === 1)
149
+ return 'full';
150
+ if (level === 2)
91
151
  return 'large';
92
- if (diff === 1)
152
+ if (level === 3)
93
153
  return 'medium';
94
154
  return 'small';
95
155
  }
96
- function spanForLevel(level, columns) {
97
- return Math.max(1, Math.min(columns, columns + 1 - level));
156
+ /** Resolve a size preset to (cols, rows) spans, **proportional to the column
157
+ * count** so a preset holds its ratio at any `columns` (small ⅓, medium ½,
158
+ * large ⅔ × 2 rows, full = all → 2/3/4/6 @ 6 cols). */
159
+ function presetSpans(size, columns) {
160
+ const clamp = (n) => Math.max(1, Math.min(columns, Math.round(n)));
161
+ switch (size) {
162
+ case 'full': return { cols: columns, rows: 1 };
163
+ case 'large': return { cols: clamp((columns * 2) / 3), rows: 2 };
164
+ case 'medium': return { cols: clamp(columns / 2), rows: 1 };
165
+ case 'small':
166
+ default: return { cols: clamp(columns / 3), rows: 1 };
167
+ }
168
+ }
169
+ /** Parse a `levels` ladder ("6,5,4,3,2,1" or "4x2,3x1,2x1") into per-depth
170
+ * footprints: a bare `W` → W cols × 1 row; `WxH` → W cols × H rows. Malformed
171
+ * rungs are dropped with a warning; an all-malformed spec yields an empty ladder
172
+ * (the caller then falls back to tiered sizing). */
173
+ function parseLevels(spec) {
174
+ const rungs = [];
175
+ for (const raw of spec.split(',')) {
176
+ const entry = raw.trim();
177
+ if (!entry)
178
+ continue;
179
+ const m = entry.match(/^(\d+)(?:x(\d+))?$/i);
180
+ if (!m) {
181
+ console.warn(`[bento] Ignoring malformed levels rung "${entry}" — expected a column count like "4" or a footprint like "4x2".`);
182
+ continue;
183
+ }
184
+ rungs.push({ cols: parseInt(m[1], 10), rows: m[2] ? parseInt(m[2], 10) : 1 });
185
+ }
186
+ return rungs;
98
187
  }
99
- function convertHeadings(nodes, headingLevel, sizing, columns) {
100
- const baseLevel = headingLevel;
101
- const isSpanMode = sizing === 'span';
102
- // In span mode, default to 6 columns (matches 6 heading levels)
103
- const effectiveColumns = isSpanMode && columns === 4 ? 6 : columns;
188
+ /** Convert headings into bento-cell tags. The heading *level* sets the tile
189
+ * footprint via an **absolute** mapping — h1 = full, h2 = large, h3 = medium,
190
+ * h4+ = small so `### Coral` always means medium regardless of context. With
191
+ * a `levels` ladder, level - 1 is the rung index (rung 0 = h1, rung 1 = h2, …),
192
+ * clamped to the last rung. The heading itself becomes the cell title; content
193
+ * before the first heading is returned as-is (bento is a grid primitive, not a
194
+ * page-section — no preamble semantics). */
195
+ function convertHeadings(nodes, columns, ladder, gridPos, gridFrame) {
104
196
  const preamble = [];
105
197
  const cells = [];
106
198
  let currentHeading = null;
107
199
  let currentChildren = [];
108
200
  let seenFirstCellHeading = false;
109
201
  const flush = () => {
110
- if (currentHeading) {
111
- const level = currentHeading.attributes?.level ?? baseLevel;
112
- const name = Array.from(currentHeading.walk())
113
- .filter(n => n.type === 'text')
114
- .map(t => t.attributes.content).join(' ');
115
- const iconTag = Array.from(currentHeading.walk()).find(n => n.type === 'tag' && n.tag === 'icon');
116
- const cellChildren = iconTag
117
- ? [new Ast.Node('paragraph', {}, [iconTag]), ...currentChildren]
118
- : [...currentChildren];
119
- if (isSpanMode) {
120
- const spanValue = spanForLevel(level, effectiveColumns);
121
- cells.push(new Ast.Node('tag', { name, size: 'span', span: String(spanValue) }, cellChildren, 'bento-cell'));
122
- }
123
- else {
124
- const size = tieredSize(baseLevel, level);
125
- cells.push(new Ast.Node('tag', { name, size }, cellChildren, 'bento-cell'));
126
- }
202
+ if (!currentHeading)
203
+ return;
204
+ const level = currentHeading.attributes?.level ?? 2;
205
+ const cellChildren = [currentHeading, ...currentChildren];
206
+ const posAttr = { ...(gridPos ? { 'media-position': gridPos } : {}), ...(gridFrame ?? {}) };
207
+ if (ladder && ladder.length > 0) {
208
+ // Explicit ladder footprint, indexed by absolute heading level
209
+ // (rung 0 = h1; clamped to the last rung). No tiered preset → neutral
210
+ // `size` (empty), so the cell keeps its author-defined width: the
211
+ // size-based responsive collapse rules don't target it, while the span
212
+ // auto-cap still applies.
213
+ const rungIndex = Math.max(0, level - 1);
214
+ const { cols, rows } = ladder[Math.min(rungIndex, ladder.length - 1)];
215
+ cells.push(new Ast.Node('tag', { size: '', cols, rows, ...posAttr }, cellChildren, 'bento-cell'));
216
+ }
217
+ else {
218
+ const size = tieredSize(level);
219
+ const { cols, rows } = presetSpans(size, columns);
220
+ cells.push(new Ast.Node('tag', { size, cols, rows, ...posAttr }, cellChildren, 'bento-cell'));
127
221
  }
128
222
  };
129
223
  for (const node of nodes) {
130
- if (node.type === 'heading' && node.attributes.level >= baseLevel) {
224
+ if (node.type === 'heading') {
131
225
  seenFirstCellHeading = true;
132
226
  flush();
133
227
  currentHeading = node;
@@ -143,53 +237,105 @@ function convertHeadings(nodes, headingLevel, sizing, columns) {
143
237
  flush();
144
238
  return [...preamble, ...cells];
145
239
  }
240
+ export { presetSpans };
146
241
  export const bento = createContentModelSchema({
147
242
  attributes: {
148
243
  gap: { type: String, required: false, description: 'Space between grid cells (CSS length value)' },
149
- columns: { type: Number, required: false, description: 'Number of columns in the bento grid' },
150
- sizing: { type: String, required: false, matches: ['tiered', 'span'], description: 'Cell sizing mode: tiered assigns sizes by heading depth, span sets column span' },
244
+ columns: { type: Number, required: false, description: 'Number of columns in the bento grid (default 6)' },
245
+ levels: { type: String, required: false, description: 'Heading-sugar footprint ladder, indexed by absolute heading level (rung 0 = h1, rung 1 = h2, …): comma-separated rungs, each a column count "W" (× 1 row) or a footprint "WxH" (e.g. "6,5,4,3,2,1" or "4x2,3x1,2x1"). Depths beyond the last rung clamp to it. Omit for tiered sizing. Ignored for explicit-cell grids.' },
246
+ 'row-height': { type: String, required: false, matches: ['sm', 'md', 'lg', 'xl'], description: 'Uniform grid row track height: sm, md (default), lg, or xl' },
247
+ 'content-height': { type: String, required: false, matches: ['sm', 'md', 'lg', 'xl'], description: 'Grid default: pin each column cell\'s text area to a fixed height (sm/md/lg/xl) so cells align vertically; per-cell overridable; reverts to natural height on mobile' },
248
+ 'media-ratio': { type: String, required: false, matches: ['1/3', '2/5', '1/2', '3/5', '2/3'], description: 'Grid default for beside (start/end) cells: the media zone\'s share of the cell width; per-cell overridable' },
249
+ 'media-position': { type: String, required: false, matches: ['top', 'bottom', 'start', 'end', 'cover'], description: 'Grid default media placement for every cell (overrides the per-cell size-derived default); a cell\'s own media-position still wins' },
250
+ collapse: { type: String, required: false, matches: ['sm', 'md', 'lg', 'never'], description: 'Binary collapse breakpoint: above it the grid renders as authored, below it cells stack into a single column with auto row tracks. Default sm (640px). `never` to disable.' },
151
251
  },
152
252
  contentModel: (attrs) => ({
153
253
  type: 'custom',
154
- processChildren: (nodes) => convertHeadings(nodes, 2, attrs.sizing ?? 'tiered', attrs.columns ?? 4),
155
- description: 'Converts headings to bento grid cells with size based on heading level. Supports tiered sizing (large/medium/small) and span mode (column span based on level).',
254
+ processChildren: (nodes) => {
255
+ const ns = nodes;
256
+ // Grid-level media-position is the default for cells that don't set
257
+ // their own (generated or explicit); a cell's own value still wins, and
258
+ // without a grid default each cell keeps its size-derived default.
259
+ const gridPos = attrs['media-position'];
260
+ // SPEC-086/087 — grid-level surface chrome (`frame` preset + facets,
261
+ // and `elevation`) is the default for cells that don't set their own,
262
+ // since heading-sugar cells have no per-cell attribute surface. Mirrors
263
+ // the media-position cascade. The grid itself never claims this chrome
264
+ // (cells are the visual cards), so the attrs are consumed here and
265
+ // stripped from the grid. A cell's own value still wins.
266
+ const GRID_CASCADE = ['frame', 'frame-aspect', 'frame-displace', 'frame-offset', 'frame-oversize', 'frame-place', 'frame-anchor', 'frame-shadow', 'elevation'];
267
+ const gridFrame = {};
268
+ for (const k of GRID_CASCADE) {
269
+ const v = attrs[k];
270
+ if (v != null && v !== '')
271
+ gridFrame[k] = String(v);
272
+ }
273
+ const stripGridFrame = () => { for (const k of GRID_CASCADE)
274
+ delete attrs[k]; };
275
+ // Two front doors (no mixing): if the grid contains explicit
276
+ // `{% bento-cell %}` tags, use them directly and short-circuit heading
277
+ // conversion (headings/loose content are ignored — explicit wins).
278
+ const hasExplicit = ns.some(n => n.type === 'tag' && n.tag === 'bento-cell');
279
+ if (hasExplicit) {
280
+ const cells = ns.filter(n => n.type === 'tag' && n.tag === 'bento-cell');
281
+ for (const cell of cells) {
282
+ if (gridPos && cell.attributes?.['media-position'] === undefined) {
283
+ cell.attributes = { ...cell.attributes, 'media-position': gridPos };
284
+ }
285
+ for (const [k, v] of Object.entries(gridFrame)) {
286
+ if (cell.attributes?.[k] === undefined)
287
+ cell.attributes = { ...cell.attributes, [k]: v };
288
+ }
289
+ }
290
+ stripGridFrame();
291
+ return cells;
292
+ }
293
+ const ladder = attrs.levels ? parseLevels(attrs.levels) : null;
294
+ const cells = convertHeadings(ns, attrs.columns ?? 6, ladder, gridPos, gridFrame);
295
+ stripGridFrame();
296
+ return cells;
297
+ },
298
+ description: 'A grid of cells. Heading sugar (each heading → a cell, tile size from depth) OR explicit {% bento-cell %} cells (full control). A grid primitive — no page-section preamble.',
156
299
  }),
157
300
  transform(resolved, attrs, config) {
158
301
  const allChildren = asNodes(resolved.children);
159
- // Separate header content (pre-heading paragraphs) from cell tag nodes
160
- const headerAst = [];
302
+ // Cells (bento-cell tags) vs any stray pre-grid content.
303
+ const leadAst = [];
161
304
  const cellAst = [];
162
305
  for (const child of allChildren) {
163
- if (child.type === 'tag' && child.tag === 'bento-cell') {
306
+ if (child.type === 'tag' && child.tag === 'bento-cell')
164
307
  cellAst.push(child);
165
- }
166
- else {
167
- headerAst.push(child);
168
- }
308
+ else
309
+ leadAst.push(child);
169
310
  }
170
- const header = new RenderableNodeCursor(Markdoc.transform(headerAst, config));
311
+ const lead = new RenderableNodeCursor(Markdoc.transform(leadAst, config));
171
312
  const cellStream = new RenderableNodeCursor(Markdoc.transform(cellAst, config));
172
- const sizing = attrs.sizing ?? 'tiered';
173
- const columns = attrs.columns ?? 4;
174
- const effectiveColumns = sizing === 'span' && columns === 4 ? 6 : columns;
313
+ const columns = attrs.columns ?? 6;
175
314
  const gapMeta = new Tag('meta', { content: attrs.gap ?? '1rem' });
176
- const columnsMeta = new Tag('meta', { content: String(effectiveColumns) });
177
- const sizingMeta = new Tag('meta', { content: sizing });
315
+ const columnsMeta = new Tag('meta', { content: String(columns) });
316
+ const rowHeightMeta = new Tag('meta', { content: attrs['row-height'] ?? '' });
317
+ const contentHeightMeta = new Tag('meta', { content: attrs['content-height'] ?? '' });
318
+ const mediaRatioMeta = new Tag('meta', { content: attrs['media-ratio'] ?? '' });
319
+ const collapseMeta = new Tag('meta', { content: attrs.collapse ?? '' });
178
320
  const cells = cellStream.tag('div').typeof('BentoCell');
179
321
  const grid = cells.wrap('div');
180
- const children = header.count() > 0
181
- ? [header.wrap('header').next(), gapMeta, columnsMeta, sizingMeta, grid.next()]
182
- : [gapMeta, columnsMeta, sizingMeta, grid.next()];
183
- return createComponentRenderable({ rune: 'bento',
322
+ const children = [gapMeta, columnsMeta, rowHeightMeta, contentHeightMeta, mediaRatioMeta, collapseMeta];
323
+ if (lead.count() > 0)
324
+ children.push(...lead.toArray());
325
+ children.push(grid.next());
326
+ return createComponentRenderable({
327
+ rune: 'bento',
184
328
  tag: 'section',
185
- property: 'contentSection',
186
329
  properties: {
187
330
  gap: gapMeta,
188
331
  columns: columnsMeta,
189
- sizing: sizingMeta,
332
+ 'row-height': rowHeightMeta,
333
+ 'content-height': contentHeightMeta,
334
+ 'media-ratio': mediaRatioMeta,
335
+ collapse: collapseMeta,
190
336
  cell: cells,
191
337
  },
192
- refs: { ...pageSectionProperties(header), grid },
338
+ refs: { grid },
193
339
  children,
194
340
  });
195
341
  },
@@ -1 +1 @@
1
- {"version":3,"file":"bento.js","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bento.js","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../src/tags/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6FvC,QAAA,MAAM,aAAa,gBA8BjB,CAAC;AAEH,QAAA,MAAM,gBAAgB,gBAkCpB,CAAC;AA2HH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;AAE3C,eAAO,MAAM,UAAU,gBAmFrB,CAAC"}
1
+ {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../src/tags/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6FvC,QAAA,MAAM,aAAa,gBA8BjB,CAAC;AAEH,QAAA,MAAM,gBAAgB,gBAkCpB,CAAC;AA2HH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC;AA0G3C,eAAO,MAAM,UAAU,gBAoErB,CAAC"}