@refrakt-md/runes 0.14.2 → 0.14.3
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/config.d.ts.map +1 -1
- package/dist/config.js +384 -34
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/layouts/grid.d.ts +1 -1
- package/dist/tags/badge.d.ts +20 -0
- package/dist/tags/badge.d.ts.map +1 -0
- package/dist/tags/badge.js +61 -0
- package/dist/tags/badge.js.map +1 -0
- package/dist/tags/nav.d.ts.map +1 -1
- package/dist/tags/nav.js +358 -55
- package/dist/tags/nav.js.map +1 -1
- package/package.json +3 -3
package/dist/tags/nav.js
CHANGED
|
@@ -7,6 +7,13 @@ import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
|
7
7
|
export const NAV_AUTO_SENTINEL = '__nav-auto';
|
|
8
8
|
/** Marker attribute placed on each NavGroup of a collapsible nav; resolved during postProcess */
|
|
9
9
|
export const NAV_COLLAPSED_AUTO = 'auto';
|
|
10
|
+
/** True for renderable nodes that count as "list" content within a nav group
|
|
11
|
+
* (lists carry the items themselves). Anything else — paragraph, blockquote,
|
|
12
|
+
* image, nested rune — is a "content block" eligible for the position-based
|
|
13
|
+
* intro / footer slot rule in a menubar group. */
|
|
14
|
+
function isListNode(node) {
|
|
15
|
+
return Markdoc.Tag.isTag(node) && (node.name === 'ul' || node.name === 'ol');
|
|
16
|
+
}
|
|
10
17
|
const navItem = createContentModelSchema({
|
|
11
18
|
contentModel: {
|
|
12
19
|
type: 'sequence',
|
|
@@ -26,24 +33,76 @@ const navItem = createContentModelSchema({
|
|
|
26
33
|
},
|
|
27
34
|
},
|
|
28
35
|
}));
|
|
29
|
-
const
|
|
36
|
+
const directLinks = children.tag('a').toArray();
|
|
30
37
|
const slug = children.tag('span');
|
|
31
38
|
const nestedItems = children.tag('ul');
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
const badges = children.toArray().filter(n => Markdoc.Tag.isTag(n) && n.attributes?.['data-rune'] === 'badge');
|
|
40
|
+
// SPEC-054 — paragraphs that appear under a list item (CommonMark
|
|
41
|
+
// indented continuation) become per-item descriptions. In a CommonMark
|
|
42
|
+
// *loose* list, the link itself is wrapped in a paragraph too, so we
|
|
43
|
+
// separate link-wrapping paragraphs (extract their <a> child) from
|
|
44
|
+
// pure-description paragraphs.
|
|
45
|
+
const paragraphs = children.tag('p').toArray();
|
|
46
|
+
const linkParagraphs = [];
|
|
47
|
+
const descriptionParagraphs = [];
|
|
48
|
+
for (const p of paragraphs) {
|
|
49
|
+
const hasLink = p.children.some(c => Markdoc.Tag.isTag(c) && c.name === 'a');
|
|
50
|
+
if (hasLink)
|
|
51
|
+
linkParagraphs.push(p);
|
|
52
|
+
else
|
|
53
|
+
descriptionParagraphs.push(p);
|
|
54
|
+
}
|
|
55
|
+
const linksFromParagraphs = linkParagraphs.flatMap(p => p.children.filter((c) => Markdoc.Tag.isTag(c) && c.name === 'a'));
|
|
56
|
+
const allLinks = [...directLinks, ...linksFromParagraphs];
|
|
57
|
+
const descriptionText = descriptionParagraphs.flatMap(p => p.children);
|
|
58
|
+
const description = descriptionText.length > 0
|
|
59
|
+
? new Markdoc.Tag('span', {
|
|
60
|
+
'data-name': 'description',
|
|
61
|
+
class: 'rf-nav-item__description',
|
|
62
|
+
}, descriptionText)
|
|
63
|
+
: undefined;
|
|
64
|
+
// Explicit links (e.g., [Label](/path)) pass through — slug resolution
|
|
65
|
+
// happens at postProcess time (SPEC-055). The per-item description is
|
|
66
|
+
// appended *inside* the <a> so the whole item is one click target,
|
|
67
|
+
// matching the shape produced by auto=true frontmatter enrichment.
|
|
68
|
+
if (allLinks.length > 0) {
|
|
69
|
+
const enrichedLinks = description
|
|
70
|
+
? allLinks.map(a => ({
|
|
71
|
+
...a,
|
|
72
|
+
children: [...(a.children ?? []), description],
|
|
73
|
+
}))
|
|
74
|
+
: allLinks;
|
|
75
|
+
const extraChildren = [];
|
|
76
|
+
if (badges.length > 0) {
|
|
77
|
+
for (const b of badges)
|
|
78
|
+
b.attributes['data-name'] = 'badge';
|
|
79
|
+
extraChildren.push(...badges);
|
|
80
|
+
}
|
|
81
|
+
return createComponentRenderable({
|
|
82
|
+
rune: 'nav-item',
|
|
35
83
|
tag: 'li',
|
|
36
|
-
properties: {},
|
|
37
|
-
children:
|
|
84
|
+
properties: description ? { description } : {},
|
|
85
|
+
children: [...enrichedLinks, ...extraChildren],
|
|
38
86
|
});
|
|
39
87
|
}
|
|
40
|
-
const itemChildren =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
88
|
+
const itemChildren = [];
|
|
89
|
+
if (slug.count() > 0)
|
|
90
|
+
itemChildren.push(...slug.toArray());
|
|
91
|
+
if (description)
|
|
92
|
+
itemChildren.push(description);
|
|
93
|
+
if (badges.length > 0) {
|
|
94
|
+
for (const b of badges)
|
|
95
|
+
b.attributes['data-name'] = 'badge';
|
|
96
|
+
itemChildren.push(...badges);
|
|
97
|
+
}
|
|
98
|
+
if (nestedItems.count() > 0)
|
|
99
|
+
itemChildren.push(...nestedItems.toArray());
|
|
100
|
+
return createComponentRenderable({
|
|
101
|
+
rune: 'nav-item',
|
|
44
102
|
tag: 'li',
|
|
45
103
|
properties: {
|
|
46
104
|
slug,
|
|
105
|
+
...(description ? { description } : {}),
|
|
47
106
|
children: nestedItems.count() > 0
|
|
48
107
|
? nestedItems.flatten().tag('li')
|
|
49
108
|
: undefined,
|
|
@@ -52,46 +111,192 @@ const navItem = createContentModelSchema({
|
|
|
52
111
|
});
|
|
53
112
|
},
|
|
54
113
|
});
|
|
55
|
-
|
|
114
|
+
/** Parse the nav's transformed children into top-level items, group sections,
|
|
115
|
+
* and column-break markers. Preserves all non-list content inside groups so
|
|
116
|
+
* the menubar slot rule and the columns flow rule can both operate on the
|
|
117
|
+
* same parse output. */
|
|
118
|
+
function parseNavStructure(allNodes) {
|
|
56
119
|
const topLevel = [];
|
|
57
|
-
const
|
|
58
|
-
let
|
|
59
|
-
let currentItems = [];
|
|
120
|
+
const sequence = [];
|
|
121
|
+
let currentGroup = null;
|
|
60
122
|
const flush = () => {
|
|
61
|
-
if (
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
properties: {
|
|
66
|
-
title: currentHeading,
|
|
67
|
-
item: currentItems.flatMap(ul => ul.children.filter((c) => Markdoc.Tag.isTag(c) && c.name === 'li')),
|
|
68
|
-
},
|
|
69
|
-
children: [currentHeading, ...currentItems], }));
|
|
123
|
+
if (currentGroup) {
|
|
124
|
+
sequence.push(currentGroup);
|
|
125
|
+
currentGroup = null;
|
|
126
|
+
}
|
|
70
127
|
};
|
|
71
128
|
for (const node of allNodes) {
|
|
72
|
-
|
|
129
|
+
// Headings open a new group section.
|
|
130
|
+
if (Markdoc.Tag.isTag(node) && /^h[1-6]$/.test(node.name)) {
|
|
73
131
|
flush();
|
|
74
|
-
|
|
75
|
-
|
|
132
|
+
currentGroup = { kind: 'group', heading: node, children: [] };
|
|
133
|
+
continue;
|
|
76
134
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
135
|
+
// <hr> between groups (at the nav top level) is a column-break marker
|
|
136
|
+
// for the columns layout. Other layouts ignore it.
|
|
137
|
+
if (Markdoc.Tag.isTag(node) && node.name === 'hr') {
|
|
138
|
+
if (currentGroup) {
|
|
139
|
+
flush();
|
|
81
140
|
}
|
|
82
|
-
|
|
83
|
-
|
|
141
|
+
sequence.push({ kind: 'column-break' });
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
// Lists before the first heading become the top-level item row.
|
|
145
|
+
if (!currentGroup) {
|
|
146
|
+
if (Markdoc.Tag.isTag(node) && isListNode(node)) {
|
|
147
|
+
topLevel.push(...node.children.filter((c) => Markdoc.Tag.isTag(c) && c.name === 'li'));
|
|
84
148
|
}
|
|
149
|
+
continue;
|
|
85
150
|
}
|
|
151
|
+
// Inside a group: keep every child in source order (list or otherwise).
|
|
152
|
+
currentGroup.children.push(node);
|
|
86
153
|
}
|
|
87
154
|
flush();
|
|
88
|
-
return { topLevel,
|
|
155
|
+
return { topLevel, sequence };
|
|
156
|
+
}
|
|
157
|
+
/** Classify a group's children into intro / footer / body slots per SPEC-054.
|
|
158
|
+
*
|
|
159
|
+
* Body content = lists and nested rune blocks (e.g. a `{% nav layout="columns" %}`
|
|
160
|
+
* inside the group). They carry their own structure and always render in
|
|
161
|
+
* the panel body. Slot material = prose (paragraphs, blockquotes, images,
|
|
162
|
+
* etc.) that wraps the body.
|
|
163
|
+
*
|
|
164
|
+
* Position rule: a slot candidate that appears before any body block is
|
|
165
|
+
* intro; one that appears after all body blocks is footer. Middle slot
|
|
166
|
+
* candidates fall back to body in source order. With no body at all, a
|
|
167
|
+
* single slot becomes intro; two or more get split into intro+footer. */
|
|
168
|
+
function partitionGroupChildren(children) {
|
|
169
|
+
const isBodyBlock = (c) => {
|
|
170
|
+
if (!Markdoc.Tag.isTag(c))
|
|
171
|
+
return false;
|
|
172
|
+
if (c.name === 'ul' || c.name === 'ol')
|
|
173
|
+
return true;
|
|
174
|
+
return Boolean(c.attributes?.['data-rune']);
|
|
175
|
+
};
|
|
176
|
+
const isSlotCandidate = (c) => {
|
|
177
|
+
return Markdoc.Tag.isTag(c) && !isBodyBlock(c);
|
|
178
|
+
};
|
|
179
|
+
let firstBodyIdx = -1;
|
|
180
|
+
let lastBodyIdx = -1;
|
|
181
|
+
children.forEach((c, i) => {
|
|
182
|
+
if (isBodyBlock(c)) {
|
|
183
|
+
if (firstBodyIdx === -1)
|
|
184
|
+
firstBodyIdx = i;
|
|
185
|
+
lastBodyIdx = i;
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
let introIdx;
|
|
189
|
+
let footerIdx;
|
|
190
|
+
if (firstBodyIdx !== -1) {
|
|
191
|
+
// Intro: first slot candidate before the first body block.
|
|
192
|
+
for (let i = 0; i < firstBodyIdx; i++) {
|
|
193
|
+
if (isSlotCandidate(children[i])) {
|
|
194
|
+
introIdx = i;
|
|
195
|
+
break;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// Footer: last slot candidate after the last body block.
|
|
199
|
+
for (let i = children.length - 1; i > lastBodyIdx; i--) {
|
|
200
|
+
if (isSlotCandidate(children[i])) {
|
|
201
|
+
footerIdx = i;
|
|
202
|
+
break;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
// No body. Preserve the prior simple-group behaviour: a lone slot
|
|
208
|
+
// becomes intro, two or more split into intro + footer.
|
|
209
|
+
const slots = [];
|
|
210
|
+
children.forEach((c, i) => {
|
|
211
|
+
if (isSlotCandidate(c))
|
|
212
|
+
slots.push(i);
|
|
213
|
+
});
|
|
214
|
+
if (slots.length === 1) {
|
|
215
|
+
introIdx = slots[0];
|
|
216
|
+
}
|
|
217
|
+
else if (slots.length >= 2) {
|
|
218
|
+
introIdx = slots[0];
|
|
219
|
+
footerIdx = slots[slots.length - 1];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
const intro = introIdx !== undefined ? children[introIdx] : undefined;
|
|
223
|
+
const footer = footerIdx !== undefined ? children[footerIdx] : undefined;
|
|
224
|
+
const body = [];
|
|
225
|
+
children.forEach((c, i) => {
|
|
226
|
+
if (i === introIdx || i === footerIdx)
|
|
227
|
+
return;
|
|
228
|
+
body.push(c);
|
|
229
|
+
});
|
|
230
|
+
return { intro, body, footer };
|
|
231
|
+
}
|
|
232
|
+
/** Build a NavGroup renderable from a parsed group, wrapping the intro and
|
|
233
|
+
* footer slots in `data-name`-stamped divs so the engine emits
|
|
234
|
+
* `.rf-nav-group__intro` / `.rf-nav-group__footer` classes. Everything
|
|
235
|
+
* except the heading is further wrapped in a `<div data-name="panel">`
|
|
236
|
+
* container so layouts that treat the panel as a single positioned box
|
|
237
|
+
* (menubar dropdowns, mega panels) can target one selector regardless of
|
|
238
|
+
* whether the panel contains a flat list, a nested nav, or rich slot
|
|
239
|
+
* content. */
|
|
240
|
+
function buildGroupTag(group) {
|
|
241
|
+
const { intro, body, footer } = partitionGroupChildren(group.children);
|
|
242
|
+
// Collect items property: every <li> across every list child.
|
|
243
|
+
const items = [];
|
|
244
|
+
for (const c of body) {
|
|
245
|
+
if (Markdoc.Tag.isTag(c) && isListNode(c)) {
|
|
246
|
+
items.push(...c.children.filter((x) => Markdoc.Tag.isTag(x) && x.name === 'li'));
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
const panelChildren = [];
|
|
250
|
+
if (intro) {
|
|
251
|
+
panelChildren.push(new Markdoc.Tag('div', { 'data-name': 'intro' }, [intro]));
|
|
252
|
+
}
|
|
253
|
+
panelChildren.push(...body);
|
|
254
|
+
if (footer) {
|
|
255
|
+
panelChildren.push(new Markdoc.Tag('div', { 'data-name': 'footer' }, [footer]));
|
|
256
|
+
}
|
|
257
|
+
const groupChildren = [group.heading];
|
|
258
|
+
if (panelChildren.length > 0) {
|
|
259
|
+
groupChildren.push(new Markdoc.Tag('div', { 'data-name': 'panel' }, panelChildren));
|
|
260
|
+
}
|
|
261
|
+
return createComponentRenderable({
|
|
262
|
+
rune: 'nav-group',
|
|
263
|
+
tag: 'section',
|
|
264
|
+
properties: {
|
|
265
|
+
title: group.heading,
|
|
266
|
+
item: items,
|
|
267
|
+
},
|
|
268
|
+
children: groupChildren,
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
/** Bucket a NavSequence into columns separated by column-break markers.
|
|
272
|
+
* Used by the columns layout. Empty leading / trailing buckets are dropped. */
|
|
273
|
+
function bucketColumns(sequence) {
|
|
274
|
+
const columns = [];
|
|
275
|
+
let current = [];
|
|
276
|
+
for (const entry of sequence) {
|
|
277
|
+
if (entry.kind === 'column-break') {
|
|
278
|
+
if (current.length > 0)
|
|
279
|
+
columns.push(current);
|
|
280
|
+
current = [];
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
current.push(entry);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (current.length > 0)
|
|
287
|
+
columns.push(current);
|
|
288
|
+
return columns;
|
|
89
289
|
}
|
|
90
290
|
export const nav = createContentModelSchema({
|
|
91
291
|
attributes: {
|
|
92
292
|
ordered: { type: Boolean, required: false, description: 'Use numbered list for navigation items' },
|
|
93
293
|
auto: { type: Boolean, required: false, description: 'Automatically generate from child pages' },
|
|
94
|
-
layout: {
|
|
294
|
+
layout: {
|
|
295
|
+
type: String,
|
|
296
|
+
required: false,
|
|
297
|
+
matches: ['vertical', 'menubar', 'columns', 'cards', 'strip'],
|
|
298
|
+
description: 'Presentation layout: sidebar (vertical), horizontal menubar (header), column grid (footer), cards (section landing), or strip (compact secondary nav). Defaults to vertical.',
|
|
299
|
+
},
|
|
95
300
|
collapsible: { type: Boolean, required: false, description: 'Make each group collapsible. The group containing the current page auto-expands; others start collapsed. Only meaningful for vertical layout.' },
|
|
96
301
|
defaultOpen: { type: String, required: false, description: 'Comma-separated group titles to expand by default, overriding the URL-driven auto-open behaviour.' },
|
|
97
302
|
},
|
|
@@ -102,9 +307,14 @@ export const nav = createContentModelSchema({
|
|
|
102
307
|
},
|
|
103
308
|
transform(resolved, attrs, config) {
|
|
104
309
|
const collapsible = Boolean(attrs.collapsible);
|
|
310
|
+
const sourcePath = config.variables?.__sourcePath;
|
|
105
311
|
const forwardLayout = (tag) => {
|
|
106
312
|
if (attrs.layout)
|
|
107
313
|
tag.attributes.layout = attrs.layout;
|
|
314
|
+
if (sourcePath)
|
|
315
|
+
tag.attributes['data-source-path'] = sourcePath;
|
|
316
|
+
if (attrs.auto)
|
|
317
|
+
tag.attributes['data-auto'] = 'true';
|
|
108
318
|
if (collapsible) {
|
|
109
319
|
tag.attributes['data-collapsible'] = 'true';
|
|
110
320
|
const existing = tag.attributes.class ?? '';
|
|
@@ -131,7 +341,8 @@ export const nav = createContentModelSchema({
|
|
|
131
341
|
// Emit a placeholder with an empty nav and a sentinel meta tag.
|
|
132
342
|
// The core post-process hook will replace this with resolved child page items.
|
|
133
343
|
const sentinelMeta = new Markdoc.Tag('meta', { 'data-field': NAV_AUTO_SENTINEL, content: 'true' });
|
|
134
|
-
return forwardLayout(createComponentRenderable({
|
|
344
|
+
return forwardLayout(createComponentRenderable({
|
|
345
|
+
rune: 'nav',
|
|
135
346
|
tag: 'nav',
|
|
136
347
|
properties: {
|
|
137
348
|
group: [],
|
|
@@ -152,39 +363,131 @@ export const nav = createContentModelSchema({
|
|
|
152
363
|
},
|
|
153
364
|
},
|
|
154
365
|
}));
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
366
|
+
// Strip layout — flat list of items, no groups, no top-level container.
|
|
367
|
+
// Headings are silently rendered as plain children (the warning lives
|
|
368
|
+
// downstream if needed; the schema doesn't have a ctx hook here).
|
|
369
|
+
if (attrs.layout === 'strip') {
|
|
370
|
+
const flatItems = children.flatten().tag('li');
|
|
371
|
+
return forwardLayout(createComponentRenderable({
|
|
372
|
+
rune: 'nav',
|
|
373
|
+
tag: 'nav',
|
|
374
|
+
class: attrs.ordered ? 'ordered' : undefined,
|
|
375
|
+
properties: {
|
|
376
|
+
group: [],
|
|
377
|
+
item: flatItems,
|
|
378
|
+
},
|
|
379
|
+
children: children.toArray(),
|
|
380
|
+
}));
|
|
381
|
+
}
|
|
382
|
+
const { topLevel, sequence } = parseNavStructure(children.toArray());
|
|
383
|
+
const groups = sequence.filter((s) => s.kind === 'group');
|
|
384
|
+
const hasGroups = groups.length > 0;
|
|
385
|
+
const hasColumnBreaks = sequence.some(s => s.kind === 'column-break');
|
|
386
|
+
// Headingless mode: no `##` sections. If `<hr>`s are present and the
|
|
387
|
+
// layout is columns, bucket the flat items at the top level into
|
|
388
|
+
// columns. Otherwise fall through to the existing flat-list path.
|
|
389
|
+
if (!hasGroups) {
|
|
390
|
+
if (attrs.layout === 'columns' && hasColumnBreaks) {
|
|
391
|
+
// Walk the original children, splitting by hr; each segment's
|
|
392
|
+
// items become a column.
|
|
393
|
+
const columns = [];
|
|
394
|
+
let buf = [];
|
|
395
|
+
const flushColumn = () => {
|
|
396
|
+
if (buf.length > 0) {
|
|
397
|
+
columns.push([new Markdoc.Tag('ul', {}, buf)]);
|
|
398
|
+
buf = [];
|
|
399
|
+
}
|
|
400
|
+
};
|
|
401
|
+
for (const node of children.toArray()) {
|
|
402
|
+
if (Markdoc.Tag.isTag(node) && node.name === 'hr') {
|
|
403
|
+
flushColumn();
|
|
404
|
+
continue;
|
|
405
|
+
}
|
|
406
|
+
if (Markdoc.Tag.isTag(node) && isListNode(node)) {
|
|
407
|
+
buf.push(...node.children.filter((c) => Markdoc.Tag.isTag(c) && c.name === 'li'));
|
|
408
|
+
}
|
|
161
409
|
}
|
|
410
|
+
flushColumn();
|
|
411
|
+
const columnTags = columns.map(col => new Markdoc.Tag('div', { 'data-name': 'column' }, col));
|
|
412
|
+
const allItems = children.flatten().tag('li');
|
|
413
|
+
return forwardLayout(createComponentRenderable({
|
|
414
|
+
rune: 'nav',
|
|
415
|
+
tag: 'nav',
|
|
416
|
+
class: attrs.ordered ? 'ordered' : undefined,
|
|
417
|
+
properties: {
|
|
418
|
+
group: [],
|
|
419
|
+
item: allItems,
|
|
420
|
+
},
|
|
421
|
+
children: maybeWithTrigger(columnTags),
|
|
422
|
+
}));
|
|
162
423
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
424
|
+
// Flat list (no groups, no column breaks).
|
|
425
|
+
const allItems = children.flatten().tag('li');
|
|
426
|
+
return forwardLayout(createComponentRenderable({
|
|
427
|
+
rune: 'nav',
|
|
428
|
+
tag: 'nav',
|
|
429
|
+
class: attrs.ordered ? 'ordered' : undefined,
|
|
430
|
+
properties: {
|
|
431
|
+
group: [],
|
|
432
|
+
item: allItems,
|
|
433
|
+
},
|
|
434
|
+
children: maybeWithTrigger(children.toArray()),
|
|
435
|
+
}));
|
|
436
|
+
}
|
|
437
|
+
// Has groups. Build group tags with intro/footer slot detection.
|
|
438
|
+
const groupTags = groups.map(buildGroupTag);
|
|
439
|
+
if (collapsible) {
|
|
440
|
+
for (const group of groupTags) {
|
|
441
|
+
group.attributes['data-collapsed'] = NAV_COLLAPSED_AUTO;
|
|
442
|
+
}
|
|
443
|
+
}
|
|
444
|
+
const topLevelContainer = topLevel.length > 0
|
|
445
|
+
? new Markdoc.Tag('div', { 'data-name': 'top-level' }, [new Markdoc.Tag('ul', {}, topLevel)])
|
|
446
|
+
: null;
|
|
447
|
+
const allGroupItems = groupTags.flatMap(g => {
|
|
448
|
+
// Lists now live inside the group's `<div data-name="panel">` wrapper
|
|
449
|
+
// (added by buildGroupTag). Walk the group's descendants once to
|
|
450
|
+
// collect every <li> regardless of nesting depth.
|
|
451
|
+
const items = [];
|
|
452
|
+
const walk = (n) => {
|
|
453
|
+
if (!Markdoc.Tag.isTag(n))
|
|
454
|
+
return;
|
|
455
|
+
if (n.name === 'li') {
|
|
456
|
+
items.push(n);
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
for (const c of n.children)
|
|
460
|
+
walk(c);
|
|
461
|
+
};
|
|
462
|
+
for (const c of g.children)
|
|
463
|
+
walk(c);
|
|
464
|
+
return items;
|
|
465
|
+
});
|
|
466
|
+
// Columns layout with `<hr>`s between sections: bucket groups into columns.
|
|
467
|
+
if (attrs.layout === 'columns' && hasColumnBreaks) {
|
|
468
|
+
const columns = bucketColumns(sequence);
|
|
469
|
+
const groupTagByRef = new Map(groups.map((g, i) => [g, groupTags[i]]));
|
|
470
|
+
const columnTags = columns.map(col => new Markdoc.Tag('div', { 'data-name': 'column' }, col.map(g => groupTagByRef.get(g)).filter(Boolean)));
|
|
471
|
+
return forwardLayout(createComponentRenderable({
|
|
472
|
+
rune: 'nav',
|
|
169
473
|
tag: 'nav',
|
|
170
474
|
class: attrs.ordered ? 'ordered' : undefined,
|
|
171
475
|
properties: {
|
|
172
|
-
group:
|
|
476
|
+
group: groupTags,
|
|
173
477
|
item: [...topLevel, ...allGroupItems],
|
|
174
478
|
},
|
|
175
|
-
children: maybeWithTrigger(topLevelContainer ? [topLevelContainer, ...
|
|
479
|
+
children: maybeWithTrigger(topLevelContainer ? [topLevelContainer, ...columnTags] : columnTags),
|
|
176
480
|
}));
|
|
177
481
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return forwardLayout(createComponentRenderable({ rune: 'nav',
|
|
482
|
+
return forwardLayout(createComponentRenderable({
|
|
483
|
+
rune: 'nav',
|
|
181
484
|
tag: 'nav',
|
|
182
485
|
class: attrs.ordered ? 'ordered' : undefined,
|
|
183
486
|
properties: {
|
|
184
|
-
group:
|
|
185
|
-
item:
|
|
487
|
+
group: groupTags,
|
|
488
|
+
item: [...topLevel, ...allGroupItems],
|
|
186
489
|
},
|
|
187
|
-
children: maybeWithTrigger(
|
|
490
|
+
children: maybeWithTrigger(topLevelContainer ? [topLevelContainer, ...groupTags] : groupTags),
|
|
188
491
|
}));
|
|
189
492
|
},
|
|
190
493
|
});
|
package/dist/tags/nav.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../src/tags/nav.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nav.js","sourceRoot":"","sources":["../../src/tags/nav.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/runes",
|
|
3
3
|
"description": "Semantic Markdoc runes for refrakt.md",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"build": "tsc"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@refrakt-md/types": "0.14.
|
|
33
|
-
"@refrakt-md/transform": "0.14.
|
|
32
|
+
"@refrakt-md/types": "0.14.3",
|
|
33
|
+
"@refrakt-md/transform": "0.14.3",
|
|
34
34
|
"@markdoc/markdoc": "0.4.0",
|
|
35
35
|
"reflect-metadata": "^0.2.0",
|
|
36
36
|
"fast-xml-parser": "4.5.1",
|