@refrakt-md/marketing 0.18.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 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAavE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAqJ7C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAavE,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAqK7C,CAAC"}
package/dist/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { resolveGap, ratioToFr, resolveValign } from '@refrakt-md/transform';
1
+ import { resolveValign } from '@refrakt-md/transform';
2
2
  // ─── RuneConfig entries ───
3
3
  const pageSectionAutoLabel = {
4
4
  header: 'preamble',
@@ -13,19 +13,15 @@ export const config = {
13
13
  defaultDensity: 'full',
14
14
  defaultWidth: 'full',
15
15
  modifiers: {
16
- layout: { source: 'meta', default: 'stacked' },
16
+ 'media-position': { source: 'meta', default: 'top', noBemClass: true },
17
17
  align: { source: 'meta', default: 'center' },
18
- ratio: { source: 'meta', default: '1 1', noBemClass: true },
19
- valign: { source: 'meta', default: 'top', noBemClass: true },
20
- gap: { source: 'meta', default: 'default', noBemClass: true },
18
+ 'media-ratio': { source: 'meta', noBemClass: true },
19
+ valign: { source: 'meta', noBemClass: true },
21
20
  collapse: { source: 'meta', noBemClass: true },
22
21
  },
23
22
  styles: {
24
- ratio: { prop: '--split-ratio', transform: ratioToFr },
25
23
  valign: { prop: '--split-valign', transform: resolveValign },
26
- gap: { prop: '--split-gap', transform: resolveGap },
27
24
  },
28
- contextModifiers: { 'feature': 'in-feature' },
29
25
  sections: { preamble: 'preamble', headline: 'title', blurb: 'description', media: 'media' },
30
26
  mediaSlots: { media: 'hero' },
31
27
  autoLabel: { ...pageSectionAutoLabel, media: 'media' },
@@ -36,31 +32,47 @@ export const config = {
36
32
  block: 'bento',
37
33
  defaultDensity: 'full',
38
34
  childDensity: 'compact',
39
- sections: { preamble: 'preamble', headline: 'title', blurb: 'description' },
40
35
  modifiers: {
41
- columns: { source: 'meta', default: '4' },
42
- gap: { source: 'meta', default: '1rem' },
43
- sizing: { source: 'meta', default: 'tiered' },
36
+ columns: { source: 'meta', default: '6', noBemClass: true },
37
+ gap: { source: 'meta', default: '1rem', noBemClass: true },
38
+ 'row-height': { source: 'meta', noBemClass: true },
39
+ 'content-height': { source: 'meta', noBemClass: true },
40
+ 'media-ratio': { source: 'meta', noBemClass: true },
41
+ collapse: { source: 'meta', noBemClass: true },
44
42
  },
45
43
  styles: {
46
44
  columns: '--bento-columns',
47
45
  gap: '--bento-gap',
48
46
  },
49
- autoLabel: pageSectionAutoLabel,
50
- editHints: { headline: 'inline', eyebrow: 'inline', blurb: 'inline' },
51
47
  },
52
48
  BentoCell: {
53
49
  block: 'bento-cell',
54
- parent: 'Bento',
50
+ parent: 'Bento', requiresParent: 'Bento',
55
51
  modifiers: {
56
- size: { source: 'meta', default: 'medium' },
57
- span: { source: 'meta', noBemClass: true },
52
+ size: { source: 'meta', default: 'medium', noBemClass: true },
53
+ cols: { source: 'meta', noBemClass: true },
54
+ rows: { source: 'meta', noBemClass: true },
55
+ 'content-height': { source: 'meta', noBemClass: true },
56
+ 'media-ratio': { source: 'meta', noBemClass: true },
57
+ },
58
+ sections: { media: 'media' },
59
+ // SPEC-081/091: the transform emits flat slots; `layout` builds the
60
+ // skeleton — media beside/above a `content` wrapper grouping title/body/
61
+ // footer. A base `layout` is the prerequisite for the cover variant
62
+ // ({% ref "SPEC-089" /%}).
63
+ layout: {
64
+ root: ['media', 'content'],
65
+ content: { tag: 'div', children: ['title', 'body', 'footer'] },
58
66
  },
67
+ // SPEC-089 — cover (full scope) works via the shared cover layer keyed on
68
+ // `data-media-position="cover"` (set by bento.ts), so no variant is needed
69
+ // here (media-position is not an engine modifier on the cell); height comes
70
+ // from the grid row track.
59
71
  styles: {
60
- span: '--cell-span',
72
+ cols: '--cell-cols',
73
+ rows: '--cell-rows',
61
74
  },
62
- autoLabel: { name: 'title' },
63
- editHints: { title: 'inline', icon: 'icon' },
75
+ editHints: { title: 'inline' },
64
76
  },
65
77
  Feature: {
66
78
  block: 'feature',
@@ -69,45 +81,49 @@ export const config = {
69
81
  sections: { preamble: 'preamble', headline: 'title', blurb: 'description', media: 'media' },
70
82
  mediaSlots: { media: 'cover' },
71
83
  modifiers: {
72
- layout: { source: 'meta', default: 'stacked' },
84
+ 'media-position': { source: 'meta', default: 'top', noBemClass: true },
73
85
  align: { source: 'meta', default: 'center' },
74
- ratio: { source: 'meta', default: '1 1', noBemClass: true },
75
- valign: { source: 'meta', default: 'top', noBemClass: true },
76
- gap: { source: 'meta', default: 'default', noBemClass: true },
86
+ 'media-ratio': { source: 'meta', noBemClass: true },
87
+ valign: { source: 'meta', noBemClass: true },
77
88
  collapse: { source: 'meta', noBemClass: true },
78
89
  },
90
+ // SPEC-091: the grid-vs-stack of the definitions list is a config variant
91
+ // keyed on media-position, replacing the old transform branch. Stacked
92
+ // media (top/bottom, the default) tiles definitions as a grid; beside
93
+ // media (start/end) leaves them stacked in the content column.
94
+ variants: {
95
+ 'media-position': {
96
+ top: { staticModifiers: ['definitions-grid'] },
97
+ bottom: { staticModifiers: ['definitions-grid'] },
98
+ },
99
+ },
79
100
  styles: {
80
- ratio: { prop: '--split-ratio', transform: ratioToFr },
81
101
  valign: { prop: '--split-valign', transform: resolveValign },
82
- gap: { prop: '--split-gap', transform: resolveGap },
83
102
  },
84
103
  contextModifiers: { 'hero': 'in-hero', 'grid': 'in-grid' },
85
104
  autoLabel: { ...pageSectionAutoLabel, dl: 'definitions' },
86
105
  editHints: { headline: 'inline', eyebrow: 'inline', blurb: 'inline', title: 'inline', description: 'inline', icon: 'icon' },
87
106
  },
88
- Definition: { block: 'definition', parent: 'Feature' },
107
+ Definition: { block: 'definition', parent: 'Feature', requiresParent: 'Feature' },
89
108
  Steps: { block: 'steps', defaultDensity: 'full', sequence: 'numbered', sections: { preamble: 'preamble', headline: 'title', blurb: 'description' }, autoLabel: pageSectionAutoLabel, editHints: { headline: 'inline', eyebrow: 'inline', blurb: 'inline' } },
90
109
  Step: {
91
110
  block: 'step',
92
- parent: 'Steps',
111
+ parent: 'Steps', requiresParent: 'Steps',
93
112
  modifiers: {
94
- layout: { source: 'meta', default: 'stacked' },
95
- ratio: { source: 'meta', default: '1 1', noBemClass: true },
96
- valign: { source: 'meta', default: 'top', noBemClass: true },
97
- gap: { source: 'meta', default: 'default', noBemClass: true },
113
+ 'media-position': { source: 'meta', default: 'top', noBemClass: true },
114
+ 'media-ratio': { source: 'meta', noBemClass: true },
115
+ valign: { source: 'meta', noBemClass: true },
98
116
  collapse: { source: 'meta', noBemClass: true },
99
117
  },
100
118
  styles: {
101
- ratio: { prop: '--split-ratio', transform: ratioToFr },
102
119
  valign: { prop: '--split-valign', transform: resolveValign },
103
- gap: { prop: '--split-gap', transform: resolveGap },
104
120
  },
105
121
  mediaSlots: { media: 'cover' },
106
122
  editHints: { content: 'none', media: 'image' },
107
123
  },
108
124
  Pricing: { block: 'pricing', defaultDensity: 'full', defaultWidth: 'full', sections: { preamble: 'preamble', headline: 'title', blurb: 'description' }, autoLabel: pageSectionAutoLabel, editHints: { headline: 'inline', eyebrow: 'inline', blurb: 'inline' } },
109
- Tier: { block: 'tier', parent: 'Pricing', editHints: { name: 'inline', price: 'inline' } },
110
- FeaturedTier: { block: 'tier', parent: 'Pricing', staticModifiers: ['featured'], editHints: { name: 'inline', price: 'inline' } },
125
+ Tier: { block: 'tier', parent: 'Pricing', requiresParent: 'Pricing', editHints: { name: 'inline', price: 'inline' } },
126
+ FeaturedTier: { block: 'tier', parent: 'Pricing', requiresParent: 'Pricing', staticModifiers: ['featured'], editHints: { name: 'inline', price: 'inline' } },
111
127
  Testimonial: {
112
128
  block: 'testimonial',
113
129
  defaultDensity: 'compact',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { config } from './config.js';
10
10
  export const marketing = {
11
11
  name: 'marketing',
12
12
  displayName: 'Marketing',
13
- version: '0.18.0',
13
+ version: '0.20.0',
14
14
  runes: {
15
15
  'hero': {
16
16
  transform: hero,
@@ -1,4 +1,12 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  export declare const bentoCell: Markdoc.Schema;
3
+ /** Resolve a size preset to (cols, rows) spans, **proportional to the column
4
+ * count** so a preset holds its ratio at any `columns` (small ⅓, medium ½,
5
+ * large ⅔ × 2 rows, full = all → 2/3/4/6 @ 6 cols). */
6
+ declare function presetSpans(size: string, columns: number): {
7
+ cols: number;
8
+ rows: number;
9
+ };
10
+ export { presetSpans };
3
11
  export declare const bento: Markdoc.Schema;
4
12
  //# sourceMappingURL=bento.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAiBvC,eAAO,MAAM,SAAS,gBAyEpB,CAAC;AA2EH,eAAO,MAAM,KAAK,gBAiEhB,CAAC"}
1
+ {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA4BvC,eAAO,MAAM,SAAS,gBA6HpB,CAAC;AAcH;;wDAEwD;AACxD,iBAAS,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CASlF;AA0ED,OAAO,EAAE,WAAW,EAAE,CAAC;AAEvB,eAAO,MAAM,KAAK,gBAyGhB,CAAC"}
@@ -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":"feature.d.ts","sourceRoot":"","sources":["../../src/tags/feature.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA0BvC,eAAO,MAAM,UAAU,gBA6DrB,CAAC;AAIH,eAAO,MAAM,OAAO,gBA4HlB,CAAC"}
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../src/tags/feature.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA0BvC,eAAO,MAAM,UAAU,gBA6DrB,CAAC;AAIH,eAAO,MAAM,OAAO,gBA+GlB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Tag, Ast } = Markdoc;
3
- import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor, SplitLayoutModel, pageSectionProperties } from '@refrakt-md/runes';
3
+ import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas, pageSectionProperties } from '@refrakt-md/runes';
4
4
  /** Check if a paragraph node contains an image, icon tag, or strong element. */
5
5
  function isTermParagraph(node) {
6
6
  for (const child of node.walk()) {
@@ -106,22 +106,25 @@ export const feature = createContentModelSchema({
106
106
  contentModel: {
107
107
  type: 'delimited',
108
108
  delimiter: 'hr',
109
+ // Media-first body shape: `media --- content`. `content` is the primary
110
+ // zone so a feature without an `---` block lands its whole body in content.
109
111
  zones: [
110
112
  {
111
- name: 'content',
113
+ name: 'media',
112
114
  type: 'sequence',
113
115
  fields: [
114
- { name: 'eyebrow', match: 'paragraph', optional: true },
115
- { name: 'headline', match: 'heading', optional: true },
116
- { name: 'blurb', match: 'paragraph', optional: true },
117
- { name: 'definitions', match: 'list', optional: true, greedy: true, template: '- **Title**\n\n Description' },
116
+ { name: 'media', match: 'any', optional: true, greedy: true },
118
117
  ],
119
118
  },
120
119
  {
121
- name: 'media',
120
+ name: 'content',
121
+ primary: true,
122
122
  type: 'sequence',
123
123
  fields: [
124
- { name: 'media', match: 'any', optional: true, greedy: true },
124
+ { name: 'eyebrow', match: 'paragraph', optional: true },
125
+ { name: 'headline', match: 'heading', optional: true },
126
+ { name: 'blurb', match: 'paragraph', optional: true },
127
+ { name: 'definitions', match: 'list', optional: true, greedy: true, template: '- **Title**\n\n Description' },
125
128
  ],
126
129
  },
127
130
  ],
@@ -135,7 +138,11 @@ export const feature = createContentModelSchema({
135
138
  contentZone.blurb,
136
139
  ].filter(Boolean);
137
140
  const header = new RenderableNodeCursor(Markdoc.transform(headerAstNodes, config));
138
- // Transform definitions with custom node overrides
141
+ // Transform definitions with custom node overrides. The output is flat:
142
+ // always a `<dl>` carrying the item count. Whether the definitions tile as
143
+ // a grid (media stacked) or stack in a column (media beside) is no longer
144
+ // branched here — it's a `media-position` engine variant (SPEC-091) that
145
+ // toggles the `--definitions-grid` modifier class, styled by CSS.
139
146
  const defConfig = {
140
147
  ...config,
141
148
  nodes: {
@@ -147,8 +154,7 @@ export const feature = createContentModelSchema({
147
154
  },
148
155
  list: {
149
156
  transform(node, innerConfig) {
150
- const layout = attrs.layout || 'stacked';
151
- return new Tag('dl', layout !== 'stacked' ? {} : { 'data-layout': 'grid', 'data-columns': node.children.length }, node.transformChildren(innerConfig));
157
+ return new Tag('dl', { 'data-columns': node.children.length }, node.transformChildren(innerConfig));
152
158
  },
153
159
  },
154
160
  },
@@ -156,27 +162,15 @@ export const feature = createContentModelSchema({
156
162
  const definitions = new RenderableNodeCursor(Markdoc.transform(asNodes(contentZone.definitions), defConfig));
157
163
  const side = new RenderableNodeCursor(Markdoc.transform(asNodes(mediaZone.media), config));
158
164
  const align = attrs.align || 'center';
159
- const layout = attrs.layout || 'stacked';
160
- const ratio = attrs.ratio || '1 1';
161
- const valign = attrs.valign || 'top';
162
- const gap = attrs.gap || 'default';
163
- const collapse = attrs.collapse;
164
- const layoutMeta = new Tag('meta', { content: layout });
165
165
  const alignMeta = new Tag('meta', { content: align });
166
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
167
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
168
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
169
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
166
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
167
+ const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta } = layoutMetas;
170
168
  const headerContent = header.count() > 0 ? [header.wrap('header').next()] : [];
171
169
  const mainContent = new RenderableNodeCursor([...headerContent, ...definitions.toArray()]).wrap('div');
172
170
  const mediaContent = side.wrap('div');
173
171
  const children = [
174
- layoutMeta,
175
172
  alignMeta,
176
- ...(ratioMeta ? [ratioMeta] : []),
177
- ...(valignMeta ? [valignMeta] : []),
178
- ...(gapMeta ? [gapMeta] : []),
179
- ...(collapseMeta ? [collapseMeta] : []),
173
+ ...layoutChildren,
180
174
  mainContent.next(),
181
175
  ...(side.toArray().length > 0 ? [mediaContent.next()] : []),
182
176
  ];
@@ -184,11 +178,10 @@ export const feature = createContentModelSchema({
184
178
  tag: 'section',
185
179
  property: 'contentSection',
186
180
  properties: {
187
- layout: layoutMeta,
181
+ 'media-position': mediaPositionMeta,
188
182
  align: alignMeta,
189
- ratio: ratioMeta,
183
+ 'media-ratio': mediaRatioMeta,
190
184
  valign: valignMeta,
191
- gap: gapMeta,
192
185
  collapse: collapseMeta,
193
186
  },
194
187
  refs: {
@@ -201,11 +194,6 @@ export const feature = createContentModelSchema({
201
194
  });
202
195
  },
203
196
  deprecations: {
204
- split: {
205
- newName: 'layout',
206
- transform: (val, attrs) => val ? (attrs.mirror ? 'split-reverse' : 'split') : undefined,
207
- },
208
- mirror: { newName: '_consumed' },
209
197
  justify: { newName: 'align' },
210
198
  },
211
199
  });
@@ -1 +1 @@
1
- {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/tags/feature.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../src/tags/feature.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/tags/hero.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,eAAO,MAAM,IAAI,gBAsIf,CAAC"}
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/tags/hero.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,eAAO,MAAM,IAAI,gBA0Hf,CAAC"}
package/dist/tags/hero.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Tag } = Markdoc;
3
- import { createContentModelSchema, createComponentRenderable, RenderableNodeCursor, SplitLayoutModel, linkItem, pageSectionProperties } from '@refrakt-md/runes';
3
+ import { createContentModelSchema, createComponentRenderable, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas, linkItem, pageSectionProperties } from '@refrakt-md/runes';
4
4
  export const hero = createContentModelSchema({
5
5
  base: SplitLayoutModel,
6
6
  attributes: {
@@ -9,22 +9,25 @@ export const hero = createContentModelSchema({
9
9
  contentModel: {
10
10
  type: 'delimited',
11
11
  delimiter: 'hr',
12
+ // Media-first body shape: `media --- content`. `content` is the primary
13
+ // zone so a hero without an `---` image lands its whole body in content.
12
14
  zones: [
13
15
  {
14
- name: 'content',
16
+ name: 'media',
15
17
  type: 'sequence',
16
18
  fields: [
17
- { name: 'eyebrow', match: 'paragraph', optional: true },
18
- { name: 'headline', match: 'heading', optional: false },
19
- { name: 'blurb', match: 'paragraph', optional: true },
20
- { name: 'actions', match: 'list|fence', optional: true, greedy: true },
19
+ { name: 'media', match: 'any', optional: true, greedy: true },
21
20
  ],
22
21
  },
23
22
  {
24
- name: 'media',
23
+ name: 'content',
24
+ primary: true,
25
25
  type: 'sequence',
26
26
  fields: [
27
- { name: 'media', match: 'any', optional: true, greedy: true },
27
+ { name: 'eyebrow', match: 'paragraph', optional: true },
28
+ { name: 'headline', match: 'heading', optional: false },
29
+ { name: 'blurb', match: 'paragraph', optional: true },
30
+ { name: 'actions', match: 'list|fence', optional: true, greedy: true },
28
31
  ],
29
32
  },
30
33
  ],
@@ -62,20 +65,11 @@ export const hero = createContentModelSchema({
62
65
  // Transform media AST nodes
63
66
  const mediaAstNodes = (Array.isArray(mediaZone.media) ? mediaZone.media : []);
64
67
  const side = new RenderableNodeCursor(Markdoc.transform(mediaAstNodes, config));
65
- // Layout attribute defaults
68
+ // Layout meta tags (shared with every media+content rune)
66
69
  const align = attrs.align || 'center';
67
- const layout = attrs.layout || 'stacked';
68
- const ratio = attrs.ratio || '1 1';
69
- const valign = attrs.valign || 'top';
70
- const gap = attrs.gap || 'default';
71
- const collapse = attrs.collapse;
72
- // Create meta tags for identity transform
73
70
  const alignMeta = new Tag('meta', { content: align });
74
- const layoutMeta = new Tag('meta', { content: layout });
75
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
76
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
77
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
78
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
71
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
72
+ const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta } = layoutMetas;
79
73
  // Structural wrapping
80
74
  const actionsDiv = actions.wrap('div');
81
75
  const headerContent = header.count() > 0 ? [header.wrap('header').next()] : [];
@@ -89,10 +83,9 @@ export const hero = createContentModelSchema({
89
83
  property: 'contentSection',
90
84
  properties: {
91
85
  align: alignMeta,
92
- layout: layoutMeta,
93
- ratio: ratioMeta,
86
+ 'media-position': mediaPositionMeta,
87
+ 'media-ratio': mediaRatioMeta,
94
88
  valign: valignMeta,
95
- gap: gapMeta,
96
89
  collapse: collapseMeta,
97
90
  },
98
91
  refs: {
@@ -105,11 +98,7 @@ export const hero = createContentModelSchema({
105
98
  },
106
99
  children: [
107
100
  alignMeta,
108
- layoutMeta,
109
- ...(ratioMeta ? [ratioMeta] : []),
110
- ...(valignMeta ? [valignMeta] : []),
111
- ...(gapMeta ? [gapMeta] : []),
112
- ...(collapseMeta ? [collapseMeta] : []),
101
+ ...layoutChildren,
113
102
  mainContent.next(),
114
103
  ...(side.toArray().length > 0 ? [mediaDiv.next()] : []),
115
104
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../src/tags/hero.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEjK,MAAM,CAAC,MAAM,IAAI,GAAG,wBAAwB,CAAC;IAC5C,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE;QACX,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE;KAC7I;IACD,YAAY,EAAE;QACb,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,KAAK,EAAE;YACN;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACvD,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;oBACvD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;oBACrD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBACtE;aACD;YACD;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACP,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBAC7D;aACD;SACD;KACD;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAoB,CAAC;QAChE,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAoB,CAAC;QAE5D,oEAAoE;QACpE,MAAM,cAAc,GAAG;YACtB,WAAW,CAAC,OAAO;YACnB,WAAW,CAAC,QAAQ;YACpB,WAAW,CAAC,KAAK;SACjB,CAAC,MAAM,CAAC,OAAO,CAAW,CAAC;QAC5B,MAAM,MAAM,GAAG,IAAI,oBAAoB,CACtC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAyB,CACjE,CAAC;QAEF,mFAAmF;QACnF,MAAM,cAAc,GAAG,CACtB,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CACjG,CAAC;QACZ,sEAAsE;QACtE,qEAAqE;QACrE,qDAAqD;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC;QAC1B,MAAM,YAAY,GAAG;YACpB,GAAG,MAAM;YACT,KAAK,EAAE;gBACN,GAAG,MAAM,CAAC,KAAK;gBACf,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACN,SAAS,CAAC,IAAU;wBACnB,MAAM,MAAM,GAAG,IAAI,oBAAoB,CACtC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAyB,CAC7D,CAAC;wBACF,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC5C,CAAC;iBACD;aACD;SACD,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,oBAAoB,CACvC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAyB,CACvE,CAAC;QAEF,4BAA4B;QAC5B,MAAM,aAAa,GAAG,CACrB,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC3C,CAAC;QACZ,MAAM,IAAI,GAAG,IAAI,oBAAoB,CACpC,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAyB,CAChE,CAAC;QAEF,4BAA4B;QAC5B,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,QAAQ,CAAC;QAClD,MAAM,MAAM,GAAI,KAAK,CAAC,MAAiB,IAAI,SAAS,CAAC;QACrD,MAAM,KAAK,GAAI,KAAK,CAAC,KAAgB,IAAI,KAAK,CAAC;QAC/C,MAAM,MAAM,GAAI,KAAK,CAAC,MAAiB,IAAI,KAAK,CAAC;QACjD,MAAM,GAAG,GAAI,KAAK,CAAC,GAAc,IAAI,SAAS,CAAC;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAA8B,CAAC;QAEtD,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClF,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnF,sBAAsB;QACtB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC;YAC5C,GAAG,aAAa;YAChB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACnD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM;YAC9C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACX,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;gBAClB,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,YAAY;aACtB;YACD,IAAI,EAAE;gBACL,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBAChC,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;aACtC;YACD,QAAQ,EAAE;gBACT,SAAS;gBACT,UAAU;gBACV,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvC,WAAW,CAAC,IAAI,EAAE;gBAClB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACvD;SACD,CAAC,CAAC;IACJ,CAAC;IACD,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;CAC/C,CAAC,CAAC"}
1
+ {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../src/tags/hero.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,IAAI,gBAkFf,CAAC;AAEH,eAAO,MAAM,KAAK,gBA8EhB,CAAC"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,IAAI,gBAgEf,CAAC;AAEH,eAAO,MAAM,KAAK,gBA8EhB,CAAC"}
@@ -1,22 +1,25 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Ast, Tag } = Markdoc;
3
- import { createComponentRenderable, createContentModelSchema, SplitLayoutModel, nameHelper as name, pageSectionProperties, asNodes } from '@refrakt-md/runes';
3
+ import { createComponentRenderable, createContentModelSchema, SplitLayoutModel, buildLayoutMetas, nameHelper as name, pageSectionProperties, asNodes } from '@refrakt-md/runes';
4
4
  import { RenderableNodeCursor } from '@refrakt-md/runes';
5
5
  export const step = createContentModelSchema({
6
6
  base: SplitLayoutModel,
7
7
  contentModel: {
8
8
  type: 'delimited',
9
9
  delimiter: 'hr',
10
+ // Media-first body shape: `media --- content`. `content` is the primary
11
+ // zone so a step without an `---` block lands its whole body in content.
10
12
  zones: [
11
13
  {
12
- name: 'main',
14
+ name: 'media',
13
15
  type: 'sequence',
14
16
  fields: [
15
17
  { name: 'content', match: 'any', optional: true, greedy: true },
16
18
  ],
17
19
  },
18
20
  {
19
- name: 'side',
21
+ name: 'content',
22
+ primary: true,
20
23
  type: 'sequence',
21
24
  fields: [
22
25
  { name: 'content', match: 'any', optional: true, greedy: true },
@@ -25,28 +28,16 @@ export const step = createContentModelSchema({
25
28
  ],
26
29
  },
27
30
  transform(resolved, attrs, config) {
28
- const mainZone = (resolved.main ?? {});
29
- const sideZone = (resolved.side ?? {});
30
- const main = new RenderableNodeCursor(Markdoc.transform(asNodes(mainZone.content), config));
31
- const side = new RenderableNodeCursor(Markdoc.transform(asNodes(sideZone.content), config));
31
+ const contentZone = (resolved.content ?? {});
32
+ const mediaZone = (resolved.media ?? {});
33
+ const main = new RenderableNodeCursor(Markdoc.transform(asNodes(contentZone.content), config));
34
+ const side = new RenderableNodeCursor(Markdoc.transform(asNodes(mediaZone.content), config));
32
35
  const mainContent = main.wrap('div');
33
36
  const sideContent = side.wrap('div');
34
- const layout = attrs.layout || 'stacked';
35
- const ratio = attrs.ratio || '1 1';
36
- const valign = attrs.valign || 'top';
37
- const gap = attrs.gap || 'default';
38
- const collapse = attrs.collapse;
39
- const layoutMeta = new Tag('meta', { content: layout });
40
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
41
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
42
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
43
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
37
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
38
+ const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta } = layoutMetas;
44
39
  const children = [
45
- layoutMeta,
46
- ...(ratioMeta ? [ratioMeta] : []),
47
- ...(valignMeta ? [valignMeta] : []),
48
- ...(gapMeta ? [gapMeta] : []),
49
- ...(collapseMeta ? [collapseMeta] : []),
40
+ ...layoutChildren,
50
41
  mainContent.next(),
51
42
  ...(side.toArray().length > 0 ? [sideContent.next()] : []),
52
43
  ];
@@ -54,10 +45,9 @@ export const step = createContentModelSchema({
54
45
  tag: 'li',
55
46
  properties: {
56
47
  name: name(main),
57
- layout: layoutMeta,
58
- ratio: ratioMeta,
48
+ 'media-position': mediaPositionMeta,
49
+ 'media-ratio': mediaRatioMeta,
59
50
  valign: valignMeta,
60
- gap: gapMeta,
61
51
  collapse: collapseMeta,
62
52
  },
63
53
  refs: {
@@ -67,13 +57,6 @@ export const step = createContentModelSchema({
67
57
  children,
68
58
  });
69
59
  },
70
- deprecations: {
71
- split: {
72
- newName: 'layout',
73
- transform: (val, attrs) => val ? (attrs.mirror ? 'split-reverse' : 'split') : undefined,
74
- },
75
- mirror: { newName: '_consumed' },
76
- },
77
60
  });
78
61
  export const steps = createContentModelSchema({
79
62
  attributes: {},
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAC7B,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,IAAI,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAChL,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,CAAC,MAAM,IAAI,GAAG,wBAAwB,CAAC;IAC3C,IAAI,EAAE,gBAAgB;IACtB,YAAY,EAAE;QACZ,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,IAAI;QACf,wEAAwE;QACxE,yEAAyE;QACzE,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBAChE;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBAChE;aACF;SACF;KACF;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAC/B,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAoB,CAAC;QAChE,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAoB,CAAC;QAE5D,MAAM,IAAI,GAAG,IAAI,oBAAoB,CACnC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAyB,CAChF,CAAC;QACF,MAAM,IAAI,GAAG,IAAI,oBAAoB,CACnC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAyB,CAC9E,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QAEjI,MAAM,QAAQ,GAAG;YACf,GAAG,cAAc;YACjB,WAAW,CAAC,IAAI,EAAE;YAClB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;QAEF,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM;YAC7C,GAAG,EAAE,IAAI;YACT,UAAU,EAAE;gBACV,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;gBAChB,gBAAgB,EAAE,iBAAiB;gBACnC,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,UAAU;gBAClB,QAAQ,EAAE,YAAY;aACvB;YACD,IAAI,EAAE;gBACJ,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC/B,KAAK,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;aAC9B;YACD,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG,wBAAwB,CAAC;IAC5C,UAAU,EAAE,EAAE;IACd,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE;YACJ;gBACE,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAClC,KAAK,EAAE;oBACL,IAAI,EAAE,UAAmB;oBACzB,cAAc,EAAE,SAAS;oBACzB,MAAM,EAAE;wBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;qBAC7E;oBACD,YAAY,EAAE;wBACZ,IAAI,EAAE,UAAmB;wBACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;qBACvE;iBACF;aACF;SACF;QACD,OAAO,EAAE;YACP,IAAI,EAAE,UAAmB;YACzB,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBACpE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE;aACxD;SACF;KACF,CAAC;IACF,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAC/B,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAC1C,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAyB,CAC5E,CAAC;QAEF,IAAI,SAAoC,CAAC;QAEzC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAGxB,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAC1C,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAClF,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAyB,CAChE,CAAC;YACF,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,4DAA4D;YAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAqB,CAAC;YAC/D,MAAM,SAAS,GAAG,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACxC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAC/C,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,oBAAoB,CACzC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAyB,CAChE,CAAC;YACF,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAExD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;YACtC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;YACtC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEf,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO;YAC9C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACJ,GAAG,qBAAqB,CAAC,WAAW,CAAC;aACtC;YACD,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/marketing",
3
3
  "description": "Marketing runes for refrakt.md — hero, CTA, pricing, and more",
4
- "version": "0.18.0",
4
+ "version": "0.20.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -21,9 +21,9 @@
21
21
  "build": "tsc"
22
22
  },
23
23
  "dependencies": {
24
- "@refrakt-md/types": "0.18.0",
25
- "@refrakt-md/transform": "0.18.0",
26
- "@refrakt-md/runes": "0.18.0",
24
+ "@refrakt-md/types": "0.20.0",
25
+ "@refrakt-md/transform": "0.20.0",
26
+ "@refrakt-md/runes": "0.20.0",
27
27
  "@markdoc/markdoc": "0.4.0",
28
28
  "reflect-metadata": "^0.2.0"
29
29
  }