@refrakt-md/runes 0.16.1 → 0.18.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.
Files changed (44) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +74 -377
  3. package/dist/config.js.map +1 -1
  4. package/dist/drawer-pipeline.d.ts.map +1 -1
  5. package/dist/drawer-pipeline.js +7 -22
  6. package/dist/drawer-pipeline.js.map +1 -1
  7. package/dist/index.d.ts +2 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +19 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/lib/component.d.ts.map +1 -1
  12. package/dist/lib/component.js +50 -3
  13. package/dist/lib/component.js.map +1 -1
  14. package/dist/tags/badge.d.ts +5 -6
  15. package/dist/tags/badge.d.ts.map +1 -1
  16. package/dist/tags/badge.js +7 -18
  17. package/dist/tags/badge.js.map +1 -1
  18. package/dist/tags/bar.d.ts +23 -0
  19. package/dist/tags/bar.d.ts.map +1 -0
  20. package/dist/tags/bar.js +64 -0
  21. package/dist/tags/bar.js.map +1 -0
  22. package/dist/tags/budget.d.ts.map +1 -1
  23. package/dist/tags/budget.js +99 -9
  24. package/dist/tags/budget.js.map +1 -1
  25. package/dist/tags/chart.d.ts.map +1 -1
  26. package/dist/tags/chart.js +31 -64
  27. package/dist/tags/chart.js.map +1 -1
  28. package/dist/tags/codegroup.d.ts.map +1 -1
  29. package/dist/tags/codegroup.js +4 -1
  30. package/dist/tags/codegroup.js.map +1 -1
  31. package/dist/tags/deflist.d.ts +20 -0
  32. package/dist/tags/deflist.d.ts.map +1 -0
  33. package/dist/tags/deflist.js +173 -0
  34. package/dist/tags/deflist.js.map +1 -0
  35. package/dist/tags/diagram.d.ts.map +1 -1
  36. package/dist/tags/diagram.js +33 -7
  37. package/dist/tags/diagram.js.map +1 -1
  38. package/dist/tags/embed.d.ts.map +1 -1
  39. package/dist/tags/embed.js +28 -10
  40. package/dist/tags/embed.js.map +1 -1
  41. package/dist/tags/sandbox.d.ts.map +1 -1
  42. package/dist/tags/sandbox.js +32 -50
  43. package/dist/tags/sandbox.js.map +1 -1
  44. package/package.json +3 -3
@@ -1,63 +1,21 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Tag } = Markdoc;
3
3
  import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
4
- import { walkTag } from '../util.js';
5
4
  const chartType = ['bar', 'line', 'pie', 'area'];
6
- /**
7
- * Extract table data from rendered Markdoc table tags.
8
- * Returns { headers: string[], rows: string[][] }
9
- */
10
- function extractTableData(children) {
11
- const headers = [];
12
- const rows = [];
13
- for (const child of children) {
14
- if (!Markdoc.Tag.isTag(child))
5
+ /** Find the rendered data `<table>` (possibly inside a table wrapper). */
6
+ function findTable(nodes) {
7
+ for (const n of nodes) {
8
+ if (!Markdoc.Tag.isTag(n))
15
9
  continue;
16
- // Unwrap rf-table-wrapper div if present
17
- let tableNode = child;
18
- if (child.name === 'div' && child.attributes.class === 'rf-table-wrapper') {
19
- const inner = child.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'table');
10
+ if (n.name === 'table')
11
+ return n;
12
+ if (n.name === 'div') {
13
+ const inner = n.children.find(c => Markdoc.Tag.isTag(c) && c.name === 'table');
20
14
  if (inner && Markdoc.Tag.isTag(inner))
21
- tableNode = inner;
22
- }
23
- if (tableNode.name === 'table') {
24
- for (const tableChild of tableNode.children) {
25
- if (!Markdoc.Tag.isTag(tableChild))
26
- continue;
27
- if (tableChild.name === 'thead') {
28
- for (const tr of tableChild.children) {
29
- if (!Markdoc.Tag.isTag(tr) || tr.name !== 'tr')
30
- continue;
31
- for (const th of tr.children) {
32
- if (Markdoc.Tag.isTag(th)) {
33
- const text = Array.from(walkTag(th))
34
- .filter(n => typeof n === 'string')
35
- .join('');
36
- headers.push(text.trim());
37
- }
38
- }
39
- }
40
- }
41
- if (tableChild.name === 'tbody') {
42
- for (const tr of tableChild.children) {
43
- if (!Markdoc.Tag.isTag(tr) || tr.name !== 'tr')
44
- continue;
45
- const row = [];
46
- for (const td of tr.children) {
47
- if (Markdoc.Tag.isTag(td)) {
48
- const text = Array.from(walkTag(td))
49
- .filter(n => typeof n === 'string')
50
- .join('');
51
- row.push(text.trim());
52
- }
53
- }
54
- rows.push(row);
55
- }
56
- }
57
- }
15
+ return inner;
58
16
  }
59
17
  }
60
- return { headers, rows };
18
+ return undefined;
61
19
  }
62
20
  export const chart = createContentModelSchema({
63
21
  attributes: {
@@ -73,24 +31,33 @@ export const chart = createContentModelSchema({
73
31
  },
74
32
  transform(resolved, attrs, config) {
75
33
  const children = Markdoc.transform(asNodes(resolved.body), config);
76
- const typeMeta = new Tag('meta', { content: attrs.type ?? 'bar' });
77
- const titleMeta = new Tag('meta', { content: attrs.title ?? '' });
78
- const stackedMeta = new Tag('meta', { content: String(attrs.stacked ?? false) });
79
- // Extract table data and serialize as JSON
80
- const tableData = extractTableData(children);
81
- const dataMeta = new Tag('meta', { content: JSON.stringify(tableData) });
82
- return createComponentRenderable({ rune: 'chart',
34
+ const type = attrs.type ?? 'bar';
35
+ const title = attrs.title ?? '';
36
+ const stacked = attrs.stacked ?? false;
37
+ // SPEC-083: the authored `<table>` is the single source of truth — the no-JS
38
+ // fallback AND the data the rf-chart web component parses. No JSON-in-meta.
39
+ const table = findTable(children);
40
+ const emitted = table ? [table] : children;
41
+ if (table) {
42
+ table.attributes['data-name'] = 'data';
43
+ if (title)
44
+ table.children = [new Tag('caption', {}, [title]), ...table.children];
45
+ }
46
+ // type / stacked ride the bag (→ data-type / data-stacked for the client);
47
+ // title lives in the table's <caption>, not a field-meta.
48
+ const typeMeta = new Tag('meta', { content: type });
49
+ const stackedMeta = new Tag('meta', { content: String(stacked) });
50
+ const node = createComponentRenderable({ rune: 'chart',
83
51
  tag: 'figure',
84
52
  properties: {
85
53
  type: typeMeta,
86
- title: titleMeta,
87
54
  stacked: stackedMeta,
88
55
  },
89
- refs: {
90
- data: dataMeta,
91
- },
92
- children: [typeMeta, titleMeta, stackedMeta, dataMeta],
56
+ children: emitted,
93
57
  });
58
+ // Emit as the rf-chart custom element; the web component enhances the table.
59
+ node.name = 'rf-chart';
60
+ return node;
94
61
  },
95
62
  });
96
63
  //# sourceMappingURL=chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegroup.d.ts","sourceRoot":"","sources":["../../src/tags/codegroup.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyCvC,eAAO,MAAM,SAAS,gBA4FpB,CAAC"}
1
+ {"version":3,"file":"codegroup.d.ts","sourceRoot":"","sources":["../../src/tags/codegroup.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyCvC,eAAO,MAAM,SAAS,gBA+FpB,CAAC"}
@@ -51,7 +51,10 @@ export const codegroup = createContentModelSchema({
51
51
  const customLabels = attrs.labels?.split(',').map(l => l.trim()) ?? [];
52
52
  const properties = {};
53
53
  const children = [];
54
- if (attrs.title) {
54
+ // Emit the title meta whenever the attribute is *present* — even an
55
+ // empty string. `title=""` opts into the window chrome (stoplights)
56
+ // without a filename; an absent `title` renders no topbar at all.
57
+ if (attrs.title !== undefined) {
55
58
  const titleMeta = new Tag('meta', { content: attrs.title });
56
59
  properties.title = titleMeta;
57
60
  children.push(titleMeta);
@@ -1 +1 @@
1
- {"version":3,"file":"codegroup.js","sourceRoot":"","sources":["../../src/tags/codegroup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegroup.js","sourceRoot":"","sources":["../../src/tags/codegroup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ /**
3
+ * Deflist rune — block-level wrapper that renders the SPEC-079
4
+ * `definition-list` layout primitive over an author-written markdown
5
+ * list. Each list item starting with `**Term:**` produces a `<dt>` +
6
+ * `<dd>` pair; items without that prefix get an empty `<dt>` plus the
7
+ * full content in `<dd>` (plus a build-time warning naming the line).
8
+ *
9
+ * Composable inside any container rune; same DOM as a projected
10
+ * metadata zone using the `definition-list` layout.
11
+ *
12
+ * Usage:
13
+ * {% deflist %}
14
+ * - **Priority:** {% badge sentiment="caution" %}high{% /badge %}
15
+ * - **Complexity:** moderate
16
+ * - **Assignee:** @alice
17
+ * {% /deflist %}
18
+ */
19
+ export declare const deflist: Markdoc.Schema;
20
+ //# sourceMappingURL=deflist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deflist.d.ts","sourceRoot":"","sources":["../../src/tags/deflist.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyFvC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO,gBAmDlB,CAAC"}
@@ -0,0 +1,173 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Ast, Tag } = Markdoc;
3
+ import { createContentModelSchema, asNodes } from '../lib/index.js';
4
+ /** Parse a list item's first paragraph node to look for a `**Term:**`
5
+ * prefix. Returns `{ term, rest }` where `term` is the bold-text
6
+ * content (without the trailing `:`) and `rest` is the remaining
7
+ * inline content of the paragraph + subsequent block children. If no
8
+ * bold prefix is found, returns `null` — the deflist rune falls back
9
+ * to an empty `<dt>` + the item's full content in `<dd>`. */
10
+ function extractTermPrefix(itemNode) {
11
+ const children = itemNode.children ?? [];
12
+ if (children.length === 0)
13
+ return null;
14
+ // Markdoc list items hold their content as either:
15
+ // - a tight `inline` node directly under `item` (simple one-line item)
16
+ // - a `paragraph` wrapping an `inline` node (loose / multi-block item)
17
+ // Handle both shapes — extract the inline node either way.
18
+ let inlineNode;
19
+ let restBlockChildren;
20
+ const first = children[0];
21
+ if (first?.type === 'inline') {
22
+ inlineNode = first;
23
+ restBlockChildren = children.slice(1);
24
+ }
25
+ else if (first?.type === 'paragraph') {
26
+ inlineNode = first.children?.[0];
27
+ restBlockChildren = children.slice(1);
28
+ }
29
+ else {
30
+ return null;
31
+ }
32
+ if (!inlineNode || inlineNode.type !== 'inline')
33
+ return null;
34
+ const inlineKids = inlineNode.children ?? [];
35
+ if (inlineKids.length === 0)
36
+ return null;
37
+ const head = inlineKids[0];
38
+ if (!head || head.type !== 'strong')
39
+ return null;
40
+ // Extract the bold text content; require it to end with `:`.
41
+ const strongChildren = head.children ?? [];
42
+ let strongText = '';
43
+ for (const c of strongChildren) {
44
+ if (c.type === 'text' && typeof c.attributes?.content === 'string') {
45
+ strongText += c.attributes.content;
46
+ }
47
+ }
48
+ if (!strongText.endsWith(':'))
49
+ return null;
50
+ // Remove the trailing `:` from the term — common-case "Priority:" → "Priority".
51
+ const termText = strongText.slice(0, -1);
52
+ const termNodes = [
53
+ // Build a fresh text node with the cleaned term so the dt content
54
+ // is just the term name, no trailing colon.
55
+ new Ast.Node('text', { content: termText }),
56
+ ];
57
+ // Build the rest of the inline content: drop the leading strong, and
58
+ // strip ONE leading whitespace text node if present (the space after
59
+ // `**Term:**` in markdown).
60
+ const remainingInline = inlineKids.slice(1);
61
+ const trimmed = (() => {
62
+ const first = remainingInline[0];
63
+ if (first?.type === 'text' && typeof first.attributes?.content === 'string') {
64
+ const stripped = first.attributes.content.replace(/^\s+/, '');
65
+ if (stripped === '')
66
+ return remainingInline.slice(1);
67
+ const clone = new Ast.Node('text', { content: stripped });
68
+ return [clone, ...remainingInline.slice(1)];
69
+ }
70
+ return remainingInline;
71
+ })();
72
+ const restInline = trimmed.length > 0
73
+ ? [new Ast.Node('inline', {}, trimmed)]
74
+ : [];
75
+ const restParagraph = restInline.length > 0
76
+ ? [new Ast.Node('paragraph', {}, restInline)]
77
+ : [];
78
+ return {
79
+ term: termNodes,
80
+ rest: restInline,
81
+ restBlocks: [...restParagraph, ...restBlockChildren],
82
+ };
83
+ }
84
+ /**
85
+ * Deflist rune — block-level wrapper that renders the SPEC-079
86
+ * `definition-list` layout primitive over an author-written markdown
87
+ * list. Each list item starting with `**Term:**` produces a `<dt>` +
88
+ * `<dd>` pair; items without that prefix get an empty `<dt>` plus the
89
+ * full content in `<dd>` (plus a build-time warning naming the line).
90
+ *
91
+ * Composable inside any container rune; same DOM as a projected
92
+ * metadata zone using the `definition-list` layout.
93
+ *
94
+ * Usage:
95
+ * {% deflist %}
96
+ * - **Priority:** {% badge sentiment="caution" %}high{% /badge %}
97
+ * - **Complexity:** moderate
98
+ * - **Assignee:** @alice
99
+ * {% /deflist %}
100
+ */
101
+ export const deflist = createContentModelSchema({
102
+ attributes: {},
103
+ contentModel: {
104
+ type: 'sequence',
105
+ fields: [
106
+ { name: 'list', match: 'list', optional: false },
107
+ ],
108
+ },
109
+ transform(resolved, _attrs, config) {
110
+ const listNodes = asNodes(resolved.list);
111
+ const listNode = listNodes.find(n => n.type === 'list');
112
+ if (!listNode) {
113
+ // Fallback when the content model didn't capture a list — render
114
+ // an empty dl so DOM stays valid; the content-model resolver
115
+ // already emits its own diagnostic.
116
+ return new Tag('dl', {
117
+ 'data-rune': 'deflist',
118
+ 'data-zone-layout': 'definition-list',
119
+ }, []);
120
+ }
121
+ const items = (listNode.children ?? []).filter(c => c.type === 'item');
122
+ const rows = [];
123
+ for (const item of items) {
124
+ const extracted = extractTermPrefix(item);
125
+ let dt;
126
+ let dd;
127
+ if (extracted) {
128
+ const termRendered = Markdoc.transform(extracted.term, config);
129
+ const valueRendered = Markdoc.transform(extracted.restBlocks, config);
130
+ dt = new Tag('dt', { 'data-meta-label': '' }, termRendered);
131
+ dd = new Tag('dd', {}, unwrapSingleParagraph(valueRendered));
132
+ }
133
+ else {
134
+ // Fallback: empty <dt> + full item content in <dd>. Warn once
135
+ // per process so authors find the unparsed item.
136
+ const fullRendered = Markdoc.transform(item.children ?? [], config);
137
+ dt = new Tag('dt', { 'data-meta-label': '' }, []);
138
+ dd = new Tag('dd', {}, unwrapSingleParagraph(fullRendered));
139
+ warnDeflistUnparsedItem(item);
140
+ }
141
+ rows.push(new Tag('div', { 'data-name': 'row' }, [dt, dd]));
142
+ }
143
+ return new Tag('dl', {
144
+ 'data-rune': 'deflist',
145
+ 'data-zone-layout': 'definition-list',
146
+ }, rows);
147
+ },
148
+ });
149
+ /** When the dd's content is a single `<p>` (the typical case for a
150
+ * short inline value), unwrap it so the dd renders as `<dd>value</dd>`
151
+ * instead of `<dd><p>value</p></dd>`. Multi-paragraph dd content stays
152
+ * wrapped. */
153
+ function unwrapSingleParagraph(nodes) {
154
+ if (nodes.length !== 1)
155
+ return nodes;
156
+ const only = nodes[0];
157
+ if (!Markdoc.Tag.isTag(only) || only.name !== 'p')
158
+ return nodes;
159
+ return only.children;
160
+ }
161
+ const DEFLIST_WARNED = new Set();
162
+ function warnDeflistUnparsedItem(item) {
163
+ const loc = item.location ?? null;
164
+ const key = loc ? `${loc.start?.line ?? '?'}:${loc.start?.character ?? '?'}` : 'unknown';
165
+ if (DEFLIST_WARNED.has(key))
166
+ return;
167
+ DEFLIST_WARNED.add(key);
168
+ // eslint-disable-next-line no-console
169
+ console.warn(`[refrakt] {% deflist %} item at line ${loc?.start?.line ?? '?'} lacks ` +
170
+ `a \`**Term:**\` prefix — rendered with empty <dt>. Prefix the item ` +
171
+ `with bold term text ending in \`:\` to label it.`);
172
+ }
173
+ //# sourceMappingURL=deflist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deflist.js","sourceRoot":"","sources":["../../src/tags/deflist.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.d.ts","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,eAAO,MAAM,OAAO,gBAqClB,CAAC"}
1
+ {"version":3,"file":"diagram.d.ts","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,eAAO,MAAM,OAAO,gBAkElB,CAAC"}
@@ -16,24 +16,50 @@ export const diagram = createContentModelSchema({
16
16
  transform(resolved, attrs) {
17
17
  const language = attrs.language ?? 'mermaid';
18
18
  const title = attrs.title ?? '';
19
- const languageMeta = new Tag('meta', { content: language });
20
- const titleMeta = new Tag('meta', { content: title });
21
19
  // Extract source directly from resolved AST node
22
20
  // to avoid hljs failing on unknown languages like mermaid
23
21
  const sourceNode = asNodes(resolved.source)[0];
24
22
  const source = sourceNode?.attributes?.content || '';
25
- const sourceMeta = new Tag('meta', { content: source });
26
- return createComponentRenderable({ rune: 'diagram',
23
+ // `language` rides the bag only ( `data-language` via the modifier).
24
+ const languageMeta = new Tag('meta', { content: language });
25
+ // SPEC-081: build the SSR fallback structure here (deterministic from
26
+ // authored data) and emit the `rf-diagram` custom element; the behaviors
27
+ // web component hydrates it. No postTransform.
28
+ const children = [];
29
+ let titleEl;
30
+ if (title) {
31
+ titleEl = new Tag('figcaption', {}, [title]);
32
+ children.push(titleEl);
33
+ }
34
+ let sourcePre;
35
+ const containerChildren = [];
36
+ if (source) {
37
+ sourcePre = new Tag('pre', {}, [new Tag('code', {}, [source])]);
38
+ containerChildren.push(sourcePre);
39
+ }
40
+ const containerDiv = new Tag('div', {}, containerChildren);
41
+ children.push(containerDiv);
42
+ // Canonical source for the web component to read. A `<template>` is inert
43
+ // (never rendered, never highlighted/decorated), keeping the renderer's
44
+ // data channel cleanly separate from the presentational `<pre>` fallback.
45
+ if (source) {
46
+ children.push(new Tag('template', { 'data-content': 'source' }, [source]));
47
+ }
48
+ const node = createComponentRenderable({ rune: 'diagram',
27
49
  tag: 'figure',
28
50
  properties: {
29
51
  language: languageMeta,
30
- title: titleMeta,
31
52
  },
32
53
  refs: {
33
- source: sourceMeta,
54
+ ...(titleEl ? { title: titleEl } : {}),
55
+ container: containerDiv,
56
+ ...(sourcePre ? { source: sourcePre } : {}),
34
57
  },
35
- children: [languageMeta, titleMeta, sourceMeta],
58
+ children,
36
59
  });
60
+ // Emit as the `rf-diagram` custom element (the web component upgrades it).
61
+ node.name = 'rf-diagram';
62
+ return node;
37
63
  },
38
64
  });
39
65
  //# sourceMappingURL=diagram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE/D,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;IAC/C,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,+CAA+C,EAAE;QACxI,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,mCAAmC,EAAE;KAC1F;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;KACD;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAEhC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtD,iDAAiD;QACjD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExD,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS;YACjD,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACL,MAAM,EAAE,UAAU;aAClB;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
1
+ {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tags/embed.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAmFvC,eAAO,MAAM,KAAK,gBAkDhB,CAAC"}
1
+ {"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../../src/tags/embed.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAmFvC,eAAO,MAAM,KAAK,gBAuEhB,CAAC"}
@@ -83,33 +83,51 @@ export const embed = createContentModelSchema({
83
83
  transform(resolved, attrs, config) {
84
84
  const url = attrs.url ?? '';
85
85
  const detected = detectProvider(url);
86
- const resolvedType = attrs.type || detected.type;
86
+ const aspect = attrs.aspect ?? '16:9';
87
+ const iframeTitle = attrs.title || 'Embedded content';
88
+ // SPEC-081: build the structure here (it is deterministic from authored
89
+ // data — provider/embed-url are derived above), not in a postTransform.
90
+ const [w, h] = aspect.split(':').map(Number);
91
+ const paddingPercent = h && w ? (h / w) * 100 : 56.25;
92
+ // SEO carriers (schema channel — render inline as RDFa, empties dropped).
87
93
  const urlMeta = new Tag('meta', { content: url });
88
- const typeMeta = new Tag('meta', { content: resolvedType });
89
- const aspectMeta = new Tag('meta', { content: attrs.aspect ?? '16:9' });
90
94
  const titleMeta = new Tag('meta', { content: attrs.title ?? '' });
91
95
  const embedUrlMeta = new Tag('meta', { content: detected.embedUrl });
96
+ // `provider` rides the bag only (→ `data-provider` via the modifier);
97
+ // no field-meta is emitted.
92
98
  const providerMeta = new Tag('meta', { content: detected.provider });
93
99
  const fallback = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.fallback), config)).wrap('div');
100
+ const fallbackDiv = fallback.tag('div');
101
+ const children = [urlMeta, titleMeta, embedUrlMeta];
102
+ let wrapperDiv;
103
+ if (detected.embedUrl) {
104
+ const iframe = new Tag('iframe', {
105
+ src: detected.embedUrl,
106
+ title: iframeTitle,
107
+ frameborder: '0',
108
+ allow: 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture',
109
+ allowfullscreen: '',
110
+ loading: 'lazy',
111
+ }, []);
112
+ wrapperDiv = new Tag('div', { style: `padding-bottom: ${paddingPercent}%` }, [iframe]);
113
+ children.push(wrapperDiv);
114
+ }
115
+ children.push(fallback.next());
94
116
  return createComponentRenderable({ rune: 'embed', schemaOrgType: 'VideoObject',
95
117
  tag: 'figure',
96
118
  properties: {
97
- url: urlMeta,
98
- type: typeMeta,
99
- aspect: aspectMeta,
100
- title: titleMeta,
101
- embedUrl: embedUrlMeta,
102
119
  provider: providerMeta,
103
120
  },
104
121
  refs: {
105
- fallback: fallback.tag('div'),
122
+ ...(wrapperDiv ? { wrapper: wrapperDiv } : {}),
123
+ fallback: fallbackDiv,
106
124
  },
107
125
  schema: {
108
126
  name: titleMeta,
109
127
  contentUrl: urlMeta,
110
128
  embedUrl: embedUrlMeta,
111
129
  },
112
- children: [urlMeta, typeMeta, aspectMeta, titleMeta, embedUrlMeta, providerMeta, fallback.next()],
130
+ children,
113
131
  });
114
132
  },
115
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tags/embed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed.js","sourceRoot":"","sources":["../../src/tags/embed.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tags/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAqDvC,eAAO,MAAM,OAAO,gBAkIlB,CAAC"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/tags/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAqDvC,eAAO,MAAM,OAAO,gBAgHlB,CAAC"}