@refrakt-md/runes 0.17.0 → 0.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/aggregate-resolve.d.ts.map +1 -1
- package/dist/aggregate-resolve.js +69 -0
- package/dist/aggregate-resolve.js.map +1 -1
- package/dist/collection-helpers.d.ts +24 -2
- package/dist/collection-helpers.d.ts.map +1 -1
- package/dist/collection-helpers.js +24 -3
- package/dist/collection-helpers.js.map +1 -1
- package/dist/collection-resolve.d.ts.map +1 -1
- package/dist/collection-resolve.js +15 -8
- package/dist/collection-resolve.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +60 -354
- package/dist/config.js.map +1 -1
- package/dist/drawer-pipeline.d.ts.map +1 -1
- package/dist/drawer-pipeline.js +7 -22
- package/dist/drawer-pipeline.js.map +1 -1
- package/dist/fence-escape.d.ts.map +1 -1
- package/dist/fence-escape.js +7 -1
- package/dist/fence-escape.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/component.d.ts.map +1 -1
- package/dist/lib/component.js +50 -3
- package/dist/lib/component.js.map +1 -1
- package/dist/lib/resolver.d.ts.map +1 -1
- package/dist/lib/resolver.js +13 -2
- package/dist/lib/resolver.js.map +1 -1
- package/dist/tags/aggregate.d.ts.map +1 -1
- package/dist/tags/aggregate.js +10 -3
- package/dist/tags/aggregate.js.map +1 -1
- package/dist/tags/budget.d.ts.map +1 -1
- package/dist/tags/budget.js +99 -9
- package/dist/tags/budget.js.map +1 -1
- package/dist/tags/card.d.ts.map +1 -1
- package/dist/tags/card.js +26 -43
- package/dist/tags/card.js.map +1 -1
- package/dist/tags/chart.d.ts.map +1 -1
- package/dist/tags/chart.js +31 -64
- package/dist/tags/chart.js.map +1 -1
- package/dist/tags/common.d.ts +37 -8
- package/dist/tags/common.d.ts.map +1 -1
- package/dist/tags/common.js +59 -24
- package/dist/tags/common.js.map +1 -1
- package/dist/tags/diagram.d.ts.map +1 -1
- package/dist/tags/diagram.js +33 -7
- package/dist/tags/diagram.js.map +1 -1
- package/dist/tags/embed.d.ts.map +1 -1
- package/dist/tags/embed.js +28 -10
- package/dist/tags/embed.js.map +1 -1
- package/dist/tags/gallery.d.ts.map +1 -1
- package/dist/tags/gallery.js +1 -6
- package/dist/tags/gallery.js.map +1 -1
- package/dist/tags/sandbox.d.ts.map +1 -1
- package/dist/tags/sandbox.js +32 -50
- package/dist/tags/sandbox.js.map +1 -1
- package/package.json +3 -3
package/dist/tags/card.js
CHANGED
|
@@ -2,7 +2,7 @@ import Markdoc from '@markdoc/markdoc';
|
|
|
2
2
|
const { Tag } = Markdoc;
|
|
3
3
|
import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
|
|
4
4
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
5
|
-
import { SplitLayoutModel, buildLayoutMetas, extractMediaImage } from './common.js';
|
|
5
|
+
import { SplitLayoutModel, buildLayoutMetas, splitMediaBodyFooter, extractMediaImage } from './common.js';
|
|
6
6
|
/**
|
|
7
7
|
* `card` (SPEC-070) — a generic, self-contained content card.
|
|
8
8
|
*
|
|
@@ -35,30 +35,10 @@ export const card = createContentModelSchema({
|
|
|
35
35
|
fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
|
|
36
36
|
},
|
|
37
37
|
transform(resolved, attrs, config) {
|
|
38
|
-
// Split the body
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
if (n.type === 'hr')
|
|
43
|
-
zones.push([]);
|
|
44
|
-
else
|
|
45
|
-
zones[zones.length - 1].push(n);
|
|
46
|
-
}
|
|
47
|
-
let mediaNodes = [];
|
|
48
|
-
let bodyNodes = [];
|
|
49
|
-
let footerNodes = [];
|
|
50
|
-
if (zones.length === 1) {
|
|
51
|
-
bodyNodes = zones[0];
|
|
52
|
-
}
|
|
53
|
-
else if (zones.length === 2) {
|
|
54
|
-
mediaNodes = zones[0];
|
|
55
|
-
bodyNodes = zones[1];
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
mediaNodes = zones[0];
|
|
59
|
-
footerNodes = zones[zones.length - 1];
|
|
60
|
-
bodyNodes = zones.slice(1, -1).flat();
|
|
61
|
-
}
|
|
38
|
+
// Split the body on `---` into media / body / footer zones. The shared
|
|
39
|
+
// helper enforces the canonical media-first body shape (1 group = body,
|
|
40
|
+
// 2 = media + body, 3+ = media + body + footer).
|
|
41
|
+
const { media: mediaNodes, body: bodyNodes, footer: footerNodes } = splitMediaBodyFooter(asNodes(resolved.body));
|
|
62
42
|
const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
|
|
63
43
|
const children = [...layoutChildren];
|
|
64
44
|
// Media zone — unwrap a bare image; otherwise render arbitrary content.
|
|
@@ -78,46 +58,49 @@ export const card = createContentModelSchema({
|
|
|
78
58
|
eyebrowNode = bodyNodes[0];
|
|
79
59
|
mainBodyNodes = bodyNodes.slice(1);
|
|
80
60
|
}
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
61
|
+
// SPEC-081/091 flat-slot model: the transform emits flat `data-name` slots
|
|
62
|
+
// (media · eyebrow · body · footer · link); the engine's `layout` config
|
|
63
|
+
// groups eyebrow/body/footer into the `content` wrapper and places it
|
|
64
|
+
// beside media. This is what lets cover ({% ref "SPEC-089" /%}) be a
|
|
65
|
+
// `media-position` variant on card.
|
|
84
66
|
let eyebrowTag;
|
|
85
67
|
if (eyebrowNode) {
|
|
86
68
|
const eyebrowCursor = new RenderableNodeCursor(Markdoc.transform([eyebrowNode], config));
|
|
87
69
|
const first = eyebrowCursor.toArray()[0];
|
|
88
70
|
if (Markdoc.Tag.isTag(first)) {
|
|
89
71
|
eyebrowTag = first;
|
|
90
|
-
bodyInner.push(eyebrowTag);
|
|
91
72
|
}
|
|
92
73
|
}
|
|
93
74
|
const bodyCursor = new RenderableNodeCursor(Markdoc.transform(mainBodyNodes, config));
|
|
94
75
|
const bodyRendered = bodyCursor.toArray();
|
|
95
76
|
// The body's leading heading is the card title — give it a hook so it can
|
|
96
|
-
// sit tight under an eyebrow
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
bodyInner.push(...bodyRendered);
|
|
103
|
-
const bodyDiv = new Tag('div', { 'data-name': 'body' }, bodyInner);
|
|
104
|
-
const contentChildren = [bodyDiv];
|
|
77
|
+
// sit tight under an eyebrow (or a leading `bar` strip) instead of carrying
|
|
78
|
+
// default prose top margin. Find the first heading rather than only
|
|
79
|
+
// position 0, so a composed header (e.g. a `{% bar %}` before the title)
|
|
80
|
+
// doesn't leave the title with a prose-sized gap.
|
|
81
|
+
const titleTag = bodyRendered.find((n) => Markdoc.Tag.isTag(n) && /^h[1-6]$/.test(n.name));
|
|
82
|
+
const bodyDiv = new Tag('div', { 'data-name': 'body' }, bodyRendered);
|
|
105
83
|
let footerTag;
|
|
106
84
|
if (footerNodes.length > 0) {
|
|
107
85
|
const footerCursor = new RenderableNodeCursor(Markdoc.transform(footerNodes, config));
|
|
108
86
|
footerTag = new Tag('footer', { 'data-name': 'footer' }, footerCursor.toArray());
|
|
109
|
-
contentChildren.push(footerTag);
|
|
110
87
|
}
|
|
111
|
-
|
|
112
|
-
|
|
88
|
+
// Flat slots, in order. The engine's layout assembly wraps
|
|
89
|
+
// eyebrow/body/footer into `content`.
|
|
90
|
+
if (eyebrowTag)
|
|
91
|
+
children.push(eyebrowTag);
|
|
92
|
+
children.push(bodyDiv);
|
|
93
|
+
if (footerTag)
|
|
94
|
+
children.push(footerTag);
|
|
113
95
|
// Whole-card link as a stretched overlay (keeps nested links valid).
|
|
96
|
+
// Unlisted in `layout`, so it stays a direct child of the card root.
|
|
114
97
|
let linkTag;
|
|
115
98
|
const href = String(attrs.href ?? '');
|
|
116
99
|
if (href) {
|
|
117
100
|
linkTag = new Tag('a', { 'data-name': 'link', href, 'aria-hidden': 'true', tabindex: '-1' }, []);
|
|
118
101
|
children.push(linkTag);
|
|
119
102
|
}
|
|
120
|
-
const refs = {
|
|
103
|
+
const refs = { body: bodyDiv };
|
|
121
104
|
if (titleTag)
|
|
122
105
|
refs.title = titleTag;
|
|
123
106
|
if (eyebrowTag)
|
|
@@ -129,7 +112,7 @@ export const card = createContentModelSchema({
|
|
|
129
112
|
return createComponentRenderable({
|
|
130
113
|
rune: 'card',
|
|
131
114
|
tag: 'div',
|
|
132
|
-
properties: {
|
|
115
|
+
properties: { 'media-position': layoutMetas.mediaPosition },
|
|
133
116
|
refs,
|
|
134
117
|
children,
|
|
135
118
|
});
|
package/dist/tags/card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/tags/card.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/tags/card.ts"],"names":[],"mappings":"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"}
|
package/dist/tags/chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAoBvC,eAAO,MAAM,KAAK,gBA6ChB,CAAC"}
|
package/dist/tags/chart.js
CHANGED
|
@@ -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
|
-
|
|
8
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
if (
|
|
19
|
-
const inner =
|
|
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
|
-
|
|
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
|
|
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
|
|
77
|
-
const
|
|
78
|
-
const
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
const
|
|
82
|
-
|
|
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
|
-
|
|
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
|
package/dist/tags/chart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chart.js","sourceRoot":"","sources":["../../src/tags/chart.ts"],"names":[],"mappings":"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"}
|
package/dist/tags/common.d.ts
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
|
-
import type { Tag, RenderableTreeNode, SchemaAttribute } from '@markdoc/markdoc';
|
|
2
|
+
import type { Tag, Node, RenderableTreeNode, SchemaAttribute } from '@markdoc/markdoc';
|
|
3
3
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
4
4
|
/** @deprecated Split layout attributes are now provided by splitLayoutAttributes */
|
|
5
5
|
export declare const SplitablePageSectionModel: undefined;
|
|
6
|
-
/**
|
|
6
|
+
/** Shared layout attributes for media+content runes — same vocabulary as
|
|
7
|
+
* `bento-cell`, so every media-bearing surface (card, recipe, hero, feature,
|
|
8
|
+
* step, realm, faction, playlist) speaks one language. `media-position` covers
|
|
9
|
+
* all four placements (the old `layout`'s `stacked`/`split`/`split-reverse` are
|
|
10
|
+
* the `top`/`start`/`end` subset, with `bottom` as a new mode). `media-ratio`
|
|
11
|
+
* uses the same preset percentages as `bento-cell` instead of the open-ended
|
|
12
|
+
* `ratio="2 1"` string. `valign` is the orientation-agnostic cross-axis dial
|
|
13
|
+
* (kept as a rare escape hatch for runes where content can be much shorter than
|
|
14
|
+
* media). The old `gap` attribute was dropped — each rune curates its own
|
|
15
|
+
* inter-zone spacing via theme tokens. */
|
|
7
16
|
export declare const splitLayoutAttributes: Record<string, SchemaAttribute>;
|
|
8
17
|
/**
|
|
9
18
|
* @deprecated Use `splitLayoutAttributes` instead.
|
|
@@ -14,22 +23,42 @@ export declare const linkItem: Markdoc.Schema;
|
|
|
14
23
|
export declare function name(cursor: RenderableNodeCursor): RenderableNodeCursor<Markdoc.Tag<"h1" | "h2" | "h3" | "h4" | "h5" | "h6", Record<string, any>>>;
|
|
15
24
|
export declare function description(cursor: RenderableNodeCursor): RenderableNodeCursor<Markdoc.Tag<"p", Record<string, any>>>;
|
|
16
25
|
export interface LayoutMetas {
|
|
17
|
-
|
|
18
|
-
|
|
26
|
+
mediaPosition: Tag;
|
|
27
|
+
mediaRatio: Tag | undefined;
|
|
19
28
|
valign: Tag | undefined;
|
|
20
|
-
gap: Tag | undefined;
|
|
21
29
|
collapse: Tag | undefined;
|
|
22
30
|
}
|
|
23
31
|
/**
|
|
24
|
-
* Build the
|
|
25
|
-
*
|
|
26
|
-
*
|
|
32
|
+
* Build the layout meta tags shared by all media+content runes. Accepts the
|
|
33
|
+
* attrs object from a `splitLayoutAttributes`-based schema and returns the
|
|
34
|
+
* meta Tag instances plus a convenience array of the non-undefined tags
|
|
27
35
|
* suitable for spreading into a children array.
|
|
36
|
+
*
|
|
37
|
+
* `media-position` is always emitted (default: `top`) — the rune always has a
|
|
38
|
+
* placement, even if the author didn't pick one. `media-ratio` and `valign` are
|
|
39
|
+
* only emitted when the layout is side-by-side (`start` / `end`) — they have no
|
|
40
|
+
* effect on stacked layouts. `collapse` is only emitted when the author sets it.
|
|
28
41
|
*/
|
|
29
42
|
export declare function buildLayoutMetas(attrs: Record<string, any>): {
|
|
30
43
|
metas: LayoutMetas;
|
|
31
44
|
children: Tag[];
|
|
32
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Split a node list on top-level `hr` (`---`) into media / body / footer zones,
|
|
48
|
+
* by group count (matching the card / bento-cell pattern):
|
|
49
|
+
*
|
|
50
|
+
* 1 group → body only
|
|
51
|
+
* 2 groups → media + body
|
|
52
|
+
* 3+ groups → media + body... + footer (middle groups merged into body)
|
|
53
|
+
*
|
|
54
|
+
* This is the canonical "media-first body shape" for media+content runes.
|
|
55
|
+
* Authoring is consistent across every rune that uses it.
|
|
56
|
+
*/
|
|
57
|
+
export declare function splitMediaBodyFooter(nodes: Node[]): {
|
|
58
|
+
media: Node[];
|
|
59
|
+
body: Node[];
|
|
60
|
+
footer: Node[];
|
|
61
|
+
};
|
|
33
62
|
/**
|
|
34
63
|
* Extract a bare `<img>` tag from rendered media nodes.
|
|
35
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG5D,oFAAoF;AACpF,eAAO,MAAM,yBAAyB,WAAY,CAAC;AAEnD;;;;;;;;;0CAS0C;AAC1C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAKjE,CAAC;AAOF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,yCAAwB,CAAC;AAEtD,eAAO,MAAM,QAAQ,gBA6BnB,CAAC;AAEH,wBAAgB,IAAI,CAAC,MAAM,EAAE,oBAAoB,mGAEhD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,+DAEvD;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,UAAU,EAAE,GAAG,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,GAAG,GAAG,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB,CAsBA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG;IAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAAC,MAAM,EAAE,IAAI,EAAE,CAAA;CAAE,CASnG;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,GAAG,GAAG,SAAS,CAa/E;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EAAE,CAavF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,oBAAoB;aAUtC,GAAG,GAAG,SAAS;cACd,GAAG,GAAG,SAAS;;WAEZ,GAAG,GAAG,SAAS;EAkC9C"}
|
package/dist/tags/common.js
CHANGED
|
@@ -4,17 +4,25 @@ import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
|
4
4
|
import { registerAttributePreset } from '../attribute-presets.js';
|
|
5
5
|
/** @deprecated Split layout attributes are now provided by splitLayoutAttributes */
|
|
6
6
|
export const SplitablePageSectionModel = undefined;
|
|
7
|
-
/**
|
|
7
|
+
/** Shared layout attributes for media+content runes — same vocabulary as
|
|
8
|
+
* `bento-cell`, so every media-bearing surface (card, recipe, hero, feature,
|
|
9
|
+
* step, realm, faction, playlist) speaks one language. `media-position` covers
|
|
10
|
+
* all four placements (the old `layout`'s `stacked`/`split`/`split-reverse` are
|
|
11
|
+
* the `top`/`start`/`end` subset, with `bottom` as a new mode). `media-ratio`
|
|
12
|
+
* uses the same preset percentages as `bento-cell` instead of the open-ended
|
|
13
|
+
* `ratio="2 1"` string. `valign` is the orientation-agnostic cross-axis dial
|
|
14
|
+
* (kept as a rare escape hatch for runes where content can be much shorter than
|
|
15
|
+
* media). The old `gap` attribute was dropped — each rune curates its own
|
|
16
|
+
* inter-zone spacing via theme tokens. */
|
|
8
17
|
export const splitLayoutAttributes = {
|
|
9
|
-
|
|
10
|
-
ratio: { type: String, required: false, description: '
|
|
11
|
-
valign: { type: String, required: false, matches: ['top', 'center', 'bottom'], description: '
|
|
12
|
-
|
|
13
|
-
collapse: { type: String, required: false, matches: ['sm', 'md', 'lg', 'never'], description: 'Breakpoint at which split layout collapses to stacked' },
|
|
18
|
+
'media-position': { type: String, required: false, matches: ['top', 'bottom', 'start', 'end'], description: 'Where the media zone sits relative to the content: above (top), below (bottom), or beside (start/end)' },
|
|
19
|
+
'media-ratio': { type: String, required: false, matches: ['1/3', '2/5', '1/2', '3/5', '2/3'], description: 'Media zone’s share of the row width when media is beside content (start/end)' },
|
|
20
|
+
valign: { type: String, required: false, matches: ['top', 'center', 'bottom', 'stretch'], description: 'Cross-axis alignment when media is beside content (start/end); applies to the shorter zone' },
|
|
21
|
+
collapse: { type: String, required: false, matches: ['sm', 'md', 'lg', 'never'], description: 'Breakpoint at which side-by-side layouts collapse to a single stacked column' },
|
|
14
22
|
};
|
|
15
23
|
registerAttributePreset(splitLayoutAttributes, {
|
|
16
24
|
name: 'split layout',
|
|
17
|
-
description: 'Layout controls
|
|
25
|
+
description: 'Layout controls shared by media+content runes — `media-position`, `media-ratio`, `valign`, `collapse`.',
|
|
18
26
|
});
|
|
19
27
|
/**
|
|
20
28
|
* @deprecated Use `splitLayoutAttributes` instead.
|
|
@@ -54,36 +62,63 @@ export function description(cursor) {
|
|
|
54
62
|
return cursor.tag('p').limit(1);
|
|
55
63
|
}
|
|
56
64
|
/**
|
|
57
|
-
* Build the
|
|
58
|
-
*
|
|
59
|
-
*
|
|
65
|
+
* Build the layout meta tags shared by all media+content runes. Accepts the
|
|
66
|
+
* attrs object from a `splitLayoutAttributes`-based schema and returns the
|
|
67
|
+
* meta Tag instances plus a convenience array of the non-undefined tags
|
|
60
68
|
* suitable for spreading into a children array.
|
|
69
|
+
*
|
|
70
|
+
* `media-position` is always emitted (default: `top`) — the rune always has a
|
|
71
|
+
* placement, even if the author didn't pick one. `media-ratio` and `valign` are
|
|
72
|
+
* only emitted when the layout is side-by-side (`start` / `end`) — they have no
|
|
73
|
+
* effect on stacked layouts. `collapse` is only emitted when the author sets it.
|
|
61
74
|
*/
|
|
62
75
|
export function buildLayoutMetas(attrs) {
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
const valign = attrs.valign
|
|
66
|
-
const gap = attrs.gap || 'default';
|
|
76
|
+
const mediaPosition = attrs['media-position'] || 'top';
|
|
77
|
+
const mediaRatio = attrs['media-ratio'];
|
|
78
|
+
const valign = attrs.valign;
|
|
67
79
|
const collapse = attrs.collapse;
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
const
|
|
80
|
+
const beside = mediaPosition === 'start' || mediaPosition === 'end';
|
|
81
|
+
const mediaPositionMeta = new Markdoc.Tag('meta', { content: mediaPosition });
|
|
82
|
+
const mediaRatioMeta = beside && mediaRatio ? new Markdoc.Tag('meta', { content: mediaRatio }) : undefined;
|
|
83
|
+
const valignMeta = beside && valign ? new Markdoc.Tag('meta', { content: valign }) : undefined;
|
|
72
84
|
const collapseMeta = collapse ? new Markdoc.Tag('meta', { content: collapse }) : undefined;
|
|
73
|
-
const children = [
|
|
74
|
-
if (
|
|
75
|
-
children.push(
|
|
85
|
+
const children = [mediaPositionMeta];
|
|
86
|
+
if (mediaRatioMeta)
|
|
87
|
+
children.push(mediaRatioMeta);
|
|
76
88
|
if (valignMeta)
|
|
77
89
|
children.push(valignMeta);
|
|
78
|
-
if (gapMeta)
|
|
79
|
-
children.push(gapMeta);
|
|
80
90
|
if (collapseMeta)
|
|
81
91
|
children.push(collapseMeta);
|
|
82
92
|
return {
|
|
83
|
-
metas: {
|
|
93
|
+
metas: { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta },
|
|
84
94
|
children,
|
|
85
95
|
};
|
|
86
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Split a node list on top-level `hr` (`---`) into media / body / footer zones,
|
|
99
|
+
* by group count (matching the card / bento-cell pattern):
|
|
100
|
+
*
|
|
101
|
+
* 1 group → body only
|
|
102
|
+
* 2 groups → media + body
|
|
103
|
+
* 3+ groups → media + body... + footer (middle groups merged into body)
|
|
104
|
+
*
|
|
105
|
+
* This is the canonical "media-first body shape" for media+content runes.
|
|
106
|
+
* Authoring is consistent across every rune that uses it.
|
|
107
|
+
*/
|
|
108
|
+
export function splitMediaBodyFooter(nodes) {
|
|
109
|
+
const zones = [[]];
|
|
110
|
+
for (const n of nodes) {
|
|
111
|
+
if (n.type === 'hr')
|
|
112
|
+
zones.push([]);
|
|
113
|
+
else
|
|
114
|
+
zones[zones.length - 1].push(n);
|
|
115
|
+
}
|
|
116
|
+
if (zones.length === 1)
|
|
117
|
+
return { media: [], body: zones[0], footer: [] };
|
|
118
|
+
if (zones.length === 2)
|
|
119
|
+
return { media: zones[0], body: zones[1], footer: [] };
|
|
120
|
+
return { media: zones[0], body: zones.slice(1, -1).flat(), footer: zones[zones.length - 1] };
|
|
121
|
+
}
|
|
87
122
|
/**
|
|
88
123
|
* Extract a bare `<img>` tag from rendered media nodes.
|
|
89
124
|
*
|
package/dist/tags/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,oFAAoF;AACpF,MAAM,CAAC,MAAM,yBAAyB,GAAG,SAAS,CAAC;AAEnD
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.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,
|
|
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"}
|
package/dist/tags/diagram.js
CHANGED
|
@@ -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
|
-
|
|
26
|
-
|
|
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
|
-
|
|
54
|
+
...(titleEl ? { title: titleEl } : {}),
|
|
55
|
+
container: containerDiv,
|
|
56
|
+
...(sourcePre ? { source: sourcePre } : {}),
|
|
34
57
|
},
|
|
35
|
-
children
|
|
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
|
package/dist/tags/diagram.js.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"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"}
|
package/dist/tags/embed.d.ts.map
CHANGED
|
@@ -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,
|
|
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"}
|