@refrakt-md/runes 0.1.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/attributes.d.ts +15 -0
- package/dist/attributes.d.ts.map +1 -0
- package/dist/attributes.js +46 -0
- package/dist/attributes.js.map +1 -0
- package/dist/documents/doc.d.ts +4 -0
- package/dist/documents/doc.d.ts.map +1 -0
- package/dist/documents/doc.js +4 -0
- package/dist/documents/doc.js.map +1 -0
- package/dist/documents/footer.d.ts +2 -0
- package/dist/documents/footer.d.ts.map +1 -0
- package/dist/documents/footer.js +60 -0
- package/dist/documents/footer.js.map +1 -0
- package/dist/documents/menu.d.ts +2 -0
- package/dist/documents/menu.d.ts.map +1 -0
- package/dist/documents/menu.js +40 -0
- package/dist/documents/menu.js.map +1 -0
- package/dist/documents/page.d.ts +10 -0
- package/dist/documents/page.d.ts.map +1 -0
- package/dist/documents/page.js +30 -0
- package/dist/documents/page.js.map +1 -0
- package/dist/documents/summary.d.ts +3 -0
- package/dist/documents/summary.d.ts.map +1 -0
- package/dist/documents/summary.js +63 -0
- package/dist/documents/summary.js.map +1 -0
- package/dist/hljs-markdoc.d.ts +3 -0
- package/dist/hljs-markdoc.d.ts.map +1 -0
- package/dist/hljs-markdoc.js +37 -0
- package/dist/hljs-markdoc.js.map +1 -0
- package/dist/index.d.ts +131 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +295 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces.d.ts +44 -0
- package/dist/interfaces.d.ts.map +1 -0
- package/dist/interfaces.js +11 -0
- package/dist/interfaces.js.map +1 -0
- package/dist/layouts/grid.d.ts +23 -0
- package/dist/layouts/grid.d.ts.map +1 -0
- package/dist/layouts/grid.js +30 -0
- package/dist/layouts/grid.js.map +1 -0
- package/dist/layouts/index.d.ts +3 -0
- package/dist/layouts/index.d.ts.map +1 -0
- package/dist/layouts/index.js +3 -0
- package/dist/layouts/index.js.map +1 -0
- package/dist/layouts/split.d.ts +15 -0
- package/dist/layouts/split.d.ts.map +1 -0
- package/dist/layouts/split.js +26 -0
- package/dist/layouts/split.js.map +1 -0
- package/dist/lib/annotations/annotation.d.ts +11 -0
- package/dist/lib/annotations/annotation.d.ts.map +1 -0
- package/dist/lib/annotations/annotation.js +21 -0
- package/dist/lib/annotations/annotation.js.map +1 -0
- package/dist/lib/annotations/attribute.d.ts +12 -0
- package/dist/lib/annotations/attribute.d.ts.map +1 -0
- package/dist/lib/annotations/attribute.js +17 -0
- package/dist/lib/annotations/attribute.js.map +1 -0
- package/dist/lib/annotations/decoration.d.ts +10 -0
- package/dist/lib/annotations/decoration.d.ts.map +1 -0
- package/dist/lib/annotations/decoration.js +46 -0
- package/dist/lib/annotations/decoration.js.map +1 -0
- package/dist/lib/annotations/group.d.ts +24 -0
- package/dist/lib/annotations/group.d.ts.map +1 -0
- package/dist/lib/annotations/group.js +78 -0
- package/dist/lib/annotations/group.js.map +1 -0
- package/dist/lib/annotations/id.d.ts +19 -0
- package/dist/lib/annotations/id.d.ts.map +1 -0
- package/dist/lib/annotations/id.js +32 -0
- package/dist/lib/annotations/id.js.map +1 -0
- package/dist/lib/annotations/interfaces.d.ts +27 -0
- package/dist/lib/annotations/interfaces.d.ts.map +1 -0
- package/dist/lib/annotations/interfaces.js +2 -0
- package/dist/lib/annotations/interfaces.js.map +1 -0
- package/dist/lib/component.d.ts +26 -0
- package/dist/lib/component.d.ts.map +1 -0
- package/dist/lib/component.js +28 -0
- package/dist/lib/component.js.map +1 -0
- package/dist/lib/index.d.ts +10 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +25 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/model.d.ts +13 -0
- package/dist/lib/model.d.ts.map +1 -0
- package/dist/lib/model.js +33 -0
- package/dist/lib/model.js.map +1 -0
- package/dist/lib/node.d.ts +18 -0
- package/dist/lib/node.d.ts.map +1 -0
- package/dist/lib/node.js +49 -0
- package/dist/lib/node.js.map +1 -0
- package/dist/lib/renderable.d.ts +22 -0
- package/dist/lib/renderable.d.ts.map +1 -0
- package/dist/lib/renderable.js +52 -0
- package/dist/lib/renderable.js.map +1 -0
- package/dist/lib/types.d.ts +8 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +14 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/nodes.d.ts +18 -0
- package/dist/nodes.d.ts.map +1 -0
- package/dist/nodes.js +181 -0
- package/dist/nodes.js.map +1 -0
- package/dist/registry.d.ts +47 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +60 -0
- package/dist/registry.js.map +1 -0
- package/dist/rune.d.ts +34 -0
- package/dist/rune.d.ts.map +1 -0
- package/dist/rune.js +29 -0
- package/dist/rune.js.map +1 -0
- package/dist/tags/accordion.d.ts +4 -0
- package/dist/tags/accordion.d.ts.map +1 -0
- package/dist/tags/accordion.js +98 -0
- package/dist/tags/accordion.js.map +1 -0
- package/dist/tags/breadcrumb.d.ts +3 -0
- package/dist/tags/breadcrumb.d.ts.map +1 -0
- package/dist/tags/breadcrumb.js +76 -0
- package/dist/tags/breadcrumb.js.map +1 -0
- package/dist/tags/changelog.d.ts +4 -0
- package/dist/tags/changelog.d.ts.map +1 -0
- package/dist/tags/changelog.js +124 -0
- package/dist/tags/changelog.js.map +1 -0
- package/dist/tags/codegroup.d.ts +2 -0
- package/dist/tags/codegroup.d.ts.map +1 -0
- package/dist/tags/codegroup.js +60 -0
- package/dist/tags/codegroup.js.map +1 -0
- package/dist/tags/common.d.ts +17 -0
- package/dist/tags/common.d.ts.map +1 -0
- package/dist/tags/common.js +61 -0
- package/dist/tags/common.js.map +1 -0
- package/dist/tags/compare.d.ts +3 -0
- package/dist/tags/compare.d.ts.map +1 -0
- package/dist/tags/compare.js +61 -0
- package/dist/tags/compare.js.map +1 -0
- package/dist/tags/cta.d.ts +3 -0
- package/dist/tags/cta.d.ts.map +1 -0
- package/dist/tags/cta.js +75 -0
- package/dist/tags/cta.js.map +1 -0
- package/dist/tags/details.d.ts +3 -0
- package/dist/tags/details.d.ts.map +1 -0
- package/dist/tags/details.js +55 -0
- package/dist/tags/details.js.map +1 -0
- package/dist/tags/embed.d.ts +3 -0
- package/dist/tags/embed.d.ts.map +1 -0
- package/dist/tags/embed.js +130 -0
- package/dist/tags/embed.js.map +1 -0
- package/dist/tags/error.d.ts +3 -0
- package/dist/tags/error.d.ts.map +1 -0
- package/dist/tags/error.js +50 -0
- package/dist/tags/error.js.map +1 -0
- package/dist/tags/feature.d.ts +16 -0
- package/dist/tags/feature.d.ts.map +1 -0
- package/dist/tags/feature.js +98 -0
- package/dist/tags/feature.js.map +1 -0
- package/dist/tags/figure.d.ts +3 -0
- package/dist/tags/figure.d.ts.map +1 -0
- package/dist/tags/figure.js +64 -0
- package/dist/tags/figure.js.map +1 -0
- package/dist/tags/grid.d.ts +2 -0
- package/dist/tags/grid.d.ts.map +1 -0
- package/dist/tags/grid.js +56 -0
- package/dist/tags/grid.js.map +1 -0
- package/dist/tags/hero.d.ts +3 -0
- package/dist/tags/hero.d.ts.map +1 -0
- package/dist/tags/hero.js +75 -0
- package/dist/tags/hero.js.map +1 -0
- package/dist/tags/hint.d.ts +3 -0
- package/dist/tags/hint.d.ts.map +1 -0
- package/dist/tags/hint.js +41 -0
- package/dist/tags/hint.js.map +1 -0
- package/dist/tags/layout.d.ts +3 -0
- package/dist/tags/layout.d.ts.map +1 -0
- package/dist/tags/layout.js +32 -0
- package/dist/tags/layout.js.map +1 -0
- package/dist/tags/music-playlist.d.ts +3 -0
- package/dist/tags/music-playlist.d.ts.map +1 -0
- package/dist/tags/music-playlist.js +80 -0
- package/dist/tags/music-playlist.js.map +1 -0
- package/dist/tags/music-recording.d.ts +17 -0
- package/dist/tags/music-recording.d.ts.map +1 -0
- package/dist/tags/music-recording.js +99 -0
- package/dist/tags/music-recording.js.map +1 -0
- package/dist/tags/nav.d.ts +3 -0
- package/dist/tags/nav.d.ts.map +1 -0
- package/dist/tags/nav.js +114 -0
- package/dist/tags/nav.js.map +1 -0
- package/dist/tags/pricing.d.ts +12 -0
- package/dist/tags/pricing.d.ts.map +1 -0
- package/dist/tags/pricing.js +78 -0
- package/dist/tags/pricing.js.map +1 -0
- package/dist/tags/region.d.ts +3 -0
- package/dist/tags/region.d.ts.map +1 -0
- package/dist/tags/region.js +37 -0
- package/dist/tags/region.js.map +1 -0
- package/dist/tags/steps.d.ts +4 -0
- package/dist/tags/steps.d.ts.map +1 -0
- package/dist/tags/steps.js +71 -0
- package/dist/tags/steps.js.map +1 -0
- package/dist/tags/tabs.d.ts +4 -0
- package/dist/tags/tabs.d.ts.map +1 -0
- package/dist/tags/tabs.js +119 -0
- package/dist/tags/tabs.js.map +1 -0
- package/dist/tags/testimonial.d.ts +3 -0
- package/dist/tags/testimonial.d.ts.map +1 -0
- package/dist/tags/testimonial.js +99 -0
- package/dist/tags/testimonial.js.map +1 -0
- package/dist/tags/timeline.d.ts +4 -0
- package/dist/tags/timeline.d.ts.map +1 -0
- package/dist/tags/timeline.js +125 -0
- package/dist/tags/timeline.js.map +1 -0
- package/dist/tags/toc.d.ts +3 -0
- package/dist/tags/toc.d.ts.map +1 -0
- package/dist/tags/toc.js +53 -0
- package/dist/tags/toc.js.map +1 -0
- package/dist/util.d.ts +21 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +99 -0
- package/dist/util.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AbstractElementWrapper } from '@refract-md/types';
|
|
2
|
+
import { Tag } from '@markdoc/markdoc';
|
|
3
|
+
export class TagWrapper extends AbstractElementWrapper {
|
|
4
|
+
get children() {
|
|
5
|
+
return this.elem.children.filter(c => Tag.isTag(c)).map(t => new TagWrapper(t));
|
|
6
|
+
}
|
|
7
|
+
get attributes() {
|
|
8
|
+
return this.elem.attributes;
|
|
9
|
+
}
|
|
10
|
+
get text() {
|
|
11
|
+
return this.elem.children.filter(c => !Tag.isTag(c)).join(' ');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,OAAO,UAAW,SAAQ,sBAA2B;IACzD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;CACF"}
|
package/dist/nodes.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import Markdoc from '@markdoc/markdoc';
|
|
2
|
+
import type { Schema } from '@markdoc/markdoc';
|
|
3
|
+
export interface TargetFile {
|
|
4
|
+
_id: string;
|
|
5
|
+
content: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const heading: Schema;
|
|
8
|
+
export declare const paragraph: Schema;
|
|
9
|
+
export declare const fence: Schema;
|
|
10
|
+
export declare const list: Schema;
|
|
11
|
+
export declare const item: Schema;
|
|
12
|
+
export declare const em: Schema;
|
|
13
|
+
export declare const strong: Schema;
|
|
14
|
+
export declare const text: Schema;
|
|
15
|
+
export declare const link: Schema;
|
|
16
|
+
export declare const hardbreak: Markdoc.Schema;
|
|
17
|
+
export declare const image: Schema;
|
|
18
|
+
//# sourceMappingURL=nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAU/C,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,OAAO,EAAE,MAyBrB,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,MAMvB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,MAkBnB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,MAclB,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,MAkBlB,CAAC;AAEF,eAAO,MAAM,EAAE,EAAE,MAMhB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,MAMpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,MAalB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,MAqBlB,CAAA;AAED,eAAO,MAAM,SAAS,gBAA0B,CAAC;AAEjD,eAAO,MAAM,KAAK,EAAE,MAkCnB,CAAC"}
|
package/dist/nodes.js
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import pb from 'path-browserify';
|
|
2
|
+
import Markdoc from '@markdoc/markdoc';
|
|
3
|
+
import * as xml from 'fast-xml-parser';
|
|
4
|
+
import hljs from 'highlight.js';
|
|
5
|
+
import { markdoc } from './hljs-markdoc.js';
|
|
6
|
+
hljs.registerLanguage('markdoc', markdoc);
|
|
7
|
+
const { dirname, join, isAbsolute } = pb;
|
|
8
|
+
const { Tag } = Markdoc;
|
|
9
|
+
export const heading = {
|
|
10
|
+
children: ['inline'],
|
|
11
|
+
attributes: {
|
|
12
|
+
level: { type: 'Number', required: true, render: false },
|
|
13
|
+
property: { type: String, required: false },
|
|
14
|
+
},
|
|
15
|
+
transform(node, config) {
|
|
16
|
+
const attributes = node.transformAttributes(config);
|
|
17
|
+
const children = node.transformChildren(config);
|
|
18
|
+
if (!attributes.id || typeof attributes.id !== 'string') {
|
|
19
|
+
attributes.id = children
|
|
20
|
+
.filter((child) => typeof child === 'string')
|
|
21
|
+
.join(' ')
|
|
22
|
+
.replace(/[?]/g, '')
|
|
23
|
+
.replace(/\s+/g, '-')
|
|
24
|
+
.toLowerCase();
|
|
25
|
+
}
|
|
26
|
+
return new Tag(`h${node.attributes['level']}`, attributes, children);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const paragraph = {
|
|
30
|
+
children: ['inline'],
|
|
31
|
+
attributes: {
|
|
32
|
+
property: { type: String, required: false },
|
|
33
|
+
},
|
|
34
|
+
render: 'p',
|
|
35
|
+
};
|
|
36
|
+
export const fence = {
|
|
37
|
+
render: 'fence',
|
|
38
|
+
attributes: {
|
|
39
|
+
content: {
|
|
40
|
+
type: String,
|
|
41
|
+
render: false,
|
|
42
|
+
},
|
|
43
|
+
process: { type: Boolean, render: false, default: false },
|
|
44
|
+
language: { type: String, render: 'data-language', default: 'shell' },
|
|
45
|
+
},
|
|
46
|
+
transform(node, config) {
|
|
47
|
+
const attributes = node.transformAttributes(config);
|
|
48
|
+
const content = hljs.highlight(node.attributes.content, { language: attributes['data-language'] });
|
|
49
|
+
return new Tag('pre', attributes, [
|
|
50
|
+
new Tag('code', { 'data-codeblock': true, content: '' }, [content.value])
|
|
51
|
+
]);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
export const list = {
|
|
55
|
+
children: ['item'],
|
|
56
|
+
attributes: {
|
|
57
|
+
ordered: { type: Boolean, render: false, required: true },
|
|
58
|
+
start: { type: Number },
|
|
59
|
+
marker: { type: String, render: false },
|
|
60
|
+
},
|
|
61
|
+
transform(node, config) {
|
|
62
|
+
return new Tag(node.attributes.ordered ? 'ol' : 'ul', node.transformAttributes(config), node.transformChildren(config));
|
|
63
|
+
},
|
|
64
|
+
};
|
|
65
|
+
export const item = {
|
|
66
|
+
render: 'li',
|
|
67
|
+
children: [
|
|
68
|
+
'inline',
|
|
69
|
+
'heading',
|
|
70
|
+
'paragraph',
|
|
71
|
+
'image',
|
|
72
|
+
'table',
|
|
73
|
+
'tag',
|
|
74
|
+
'fence',
|
|
75
|
+
'blockquote',
|
|
76
|
+
'list',
|
|
77
|
+
'hr',
|
|
78
|
+
],
|
|
79
|
+
attributes: {
|
|
80
|
+
property: { type: String, required: false },
|
|
81
|
+
typeof: { type: String, required: false },
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
export const em = {
|
|
85
|
+
render: 'em',
|
|
86
|
+
children: ['strong', 's', 'link', 'code', 'text', 'tag'],
|
|
87
|
+
attributes: {
|
|
88
|
+
marker: { type: String, render: true },
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
export const strong = {
|
|
92
|
+
render: 'strong',
|
|
93
|
+
children: ['em', 's', 'link', 'code', 'text', 'tag'],
|
|
94
|
+
attributes: {
|
|
95
|
+
marker: { type: String, render: true },
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
export const text = {
|
|
99
|
+
attributes: {
|
|
100
|
+
content: { type: String, required: true },
|
|
101
|
+
property: { type: String, required: false },
|
|
102
|
+
},
|
|
103
|
+
transform(node, config) {
|
|
104
|
+
const attr = node.transformAttributes(config);
|
|
105
|
+
if (attr.property) {
|
|
106
|
+
return new Tag('span', { property: attr.property }, [node.attributes.content]);
|
|
107
|
+
}
|
|
108
|
+
return node.attributes.content;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
export const link = {
|
|
112
|
+
children: ['strong', 'em', 's', 'code', 'text', 'tag'],
|
|
113
|
+
attributes: {
|
|
114
|
+
href: { type: String, required: true },
|
|
115
|
+
title: { type: String },
|
|
116
|
+
},
|
|
117
|
+
render: 'a',
|
|
118
|
+
transform(node, config) {
|
|
119
|
+
const { urls, path } = config.variables || {};
|
|
120
|
+
const dirName = dirname(path);
|
|
121
|
+
let attributes = node.attributes;
|
|
122
|
+
const absPath = dirName !== '/'
|
|
123
|
+
? join(dirName, node.attributes.href)
|
|
124
|
+
: node.attributes.href;
|
|
125
|
+
if (absPath in (urls || {})) {
|
|
126
|
+
const href = urls[absPath];
|
|
127
|
+
attributes = { ...attributes, href };
|
|
128
|
+
}
|
|
129
|
+
return new Tag(this.render, attributes, node.transformChildren(config));
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
export const hardbreak = Markdoc.nodes.hardbreak;
|
|
133
|
+
export const image = {
|
|
134
|
+
render: 'img',
|
|
135
|
+
attributes: {
|
|
136
|
+
src: { type: String, required: true },
|
|
137
|
+
alt: { type: String },
|
|
138
|
+
title: { type: String },
|
|
139
|
+
property: { type: String },
|
|
140
|
+
},
|
|
141
|
+
transform(node, config) {
|
|
142
|
+
const attr = node.transformAttributes(config);
|
|
143
|
+
const svgFiles = config.variables?.svg || [];
|
|
144
|
+
let src = node.attributes.src;
|
|
145
|
+
if (!isAbsolute(src)) {
|
|
146
|
+
src = join('/', dirname(config.variables?.path), src);
|
|
147
|
+
}
|
|
148
|
+
const svg = svgFiles.find(file => file._id === src);
|
|
149
|
+
if (svg) {
|
|
150
|
+
const parser = new xml.XMLParser({ ignoreAttributes: false });
|
|
151
|
+
let jObj = parser.parse(svg.content);
|
|
152
|
+
const tag = jObjToTag('svg', jObj.svg);
|
|
153
|
+
if (attr.property) {
|
|
154
|
+
tag.attributes.property = attr.property;
|
|
155
|
+
}
|
|
156
|
+
tag.attributes.xmlns = undefined;
|
|
157
|
+
return tag;
|
|
158
|
+
}
|
|
159
|
+
return new Tag(this.render, attr, node.transformChildren(config));
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
function jObjToTag(tagName, content) {
|
|
163
|
+
if (Array.isArray(content)) {
|
|
164
|
+
return content.map(c => jObjToTag(tagName, c));
|
|
165
|
+
}
|
|
166
|
+
let children = [];
|
|
167
|
+
let attr = {};
|
|
168
|
+
for (const [k, v] of Object.entries(content)) {
|
|
169
|
+
if (k.startsWith('@_')) {
|
|
170
|
+
attr[k.slice(2)] = v;
|
|
171
|
+
}
|
|
172
|
+
else if (k === '#text') {
|
|
173
|
+
children.push(v);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
children.push(jObjToTag(k, v));
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return new Tag(tagName, attr, children);
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=nodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PageComponent, PageSectionComponent, DocPageComponent, HeadingsComponent, HintComponent, NavComponent, NavGroupComponent, NavItemComponent, SequentialPaginationComponent, StepsComponent, StepComponent, TabGroupComponent, TabComponent, TabPanelComponent, MusicPlaylistComponent, MusicRecordingComponent, CallToActionComponent, LinkItemComponent, CommandComponent, FeatureComponent, FeatureDefinitionComponent, EditorComponent, PricingComponent, TierComponent, GridComponent, ErrorComponent, DebugInfoComponent, DetailsComponent, FigureComponent, AccordionComponent, AccordionItemComponent, TableOfContentsComponent, HeroComponent, TestimonialComponent, TimelineComponent, TimelineEntryComponent, ChangelogComponent, ChangelogReleaseComponent, EmbedComponent, BreadcrumbComponent, BreadcrumbItemComponent, CompareComponent } from '@refrakt-md/types';
|
|
2
|
+
export declare const schema: {
|
|
3
|
+
Page: import("@refrakt-md/types").Type<PageComponent>;
|
|
4
|
+
PageSection: import("@refrakt-md/types").Type<PageSectionComponent>;
|
|
5
|
+
DocPage: import("@refrakt-md/types").Type<DocPageComponent>;
|
|
6
|
+
Headings: import("@refrakt-md/types").Type<HeadingsComponent>;
|
|
7
|
+
Hint: import("@refrakt-md/types").Type<HintComponent>;
|
|
8
|
+
SequentialPagination: import("@refrakt-md/types").Type<SequentialPaginationComponent>;
|
|
9
|
+
Steps: import("@refrakt-md/types").Type<StepsComponent>;
|
|
10
|
+
Step: import("@refrakt-md/types").Type<StepComponent>;
|
|
11
|
+
TabGroup: import("@refrakt-md/types").Type<TabGroupComponent>;
|
|
12
|
+
Tab: import("@refrakt-md/types").Type<TabComponent>;
|
|
13
|
+
TabPanel: import("@refrakt-md/types").Type<TabPanelComponent>;
|
|
14
|
+
MusicPlaylist: import("@refrakt-md/types").Type<MusicPlaylistComponent>;
|
|
15
|
+
MusicRecording: import("@refrakt-md/types").Type<MusicRecordingComponent>;
|
|
16
|
+
CallToAction: import("@refrakt-md/types").Type<CallToActionComponent>;
|
|
17
|
+
LinkItem: import("@refrakt-md/types").Type<LinkItemComponent>;
|
|
18
|
+
Command: import("@refrakt-md/types").Type<CommandComponent>;
|
|
19
|
+
Feature: import("@refrakt-md/types").Type<FeatureComponent>;
|
|
20
|
+
FeatureDefinition: import("@refrakt-md/types").Type<FeatureDefinitionComponent>;
|
|
21
|
+
Editor: import("@refrakt-md/types").Type<EditorComponent>;
|
|
22
|
+
Pricing: import("@refrakt-md/types").Type<PricingComponent>;
|
|
23
|
+
Tier: import("@refrakt-md/types").Type<TierComponent>;
|
|
24
|
+
FeaturedTier: import("@refrakt-md/types").Type<TierComponent>;
|
|
25
|
+
Grid: import("@refrakt-md/types").Type<GridComponent>;
|
|
26
|
+
Error: import("@refrakt-md/types").Type<ErrorComponent>;
|
|
27
|
+
DebugInfo: import("@refrakt-md/types").Type<DebugInfoComponent>;
|
|
28
|
+
Nav: import("@refrakt-md/types").Type<NavComponent>;
|
|
29
|
+
NavGroup: import("@refrakt-md/types").Type<NavGroupComponent>;
|
|
30
|
+
NavItem: import("@refrakt-md/types").Type<NavItemComponent>;
|
|
31
|
+
Details: import("@refrakt-md/types").Type<DetailsComponent>;
|
|
32
|
+
Figure: import("@refrakt-md/types").Type<FigureComponent>;
|
|
33
|
+
Accordion: import("@refrakt-md/types").Type<AccordionComponent>;
|
|
34
|
+
AccordionItem: import("@refrakt-md/types").Type<AccordionItemComponent>;
|
|
35
|
+
TableOfContents: import("@refrakt-md/types").Type<TableOfContentsComponent>;
|
|
36
|
+
Hero: import("@refrakt-md/types").Type<HeroComponent>;
|
|
37
|
+
Testimonial: import("@refrakt-md/types").Type<TestimonialComponent>;
|
|
38
|
+
Timeline: import("@refrakt-md/types").Type<TimelineComponent>;
|
|
39
|
+
TimelineEntry: import("@refrakt-md/types").Type<TimelineEntryComponent>;
|
|
40
|
+
Changelog: import("@refrakt-md/types").Type<ChangelogComponent>;
|
|
41
|
+
ChangelogRelease: import("@refrakt-md/types").Type<ChangelogReleaseComponent>;
|
|
42
|
+
Embed: import("@refrakt-md/types").Type<EmbedComponent>;
|
|
43
|
+
Breadcrumb: import("@refrakt-md/types").Type<BreadcrumbComponent>;
|
|
44
|
+
BreadcrumbItem: import("@refrakt-md/types").Type<BreadcrumbItemComponent>;
|
|
45
|
+
Compare: import("@refrakt-md/types").Type<CompareComponent>;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAEC,aAAa,EAAE,oBAAoB,EAChC,gBAAgB,EACf,iBAAiB,EACrB,aAAa,EACd,YAAY,EACP,iBAAiB,EAClB,gBAAgB,EACH,6BAA6B,EAC5C,cAAc,EACf,aAAa,EACT,iBAAiB,EACtB,YAAY,EACP,iBAAiB,EACZ,sBAAsB,EACrB,uBAAuB,EACzB,qBAAqB,EACzB,iBAAiB,EAClB,gBAAgB,EAChB,gBAAgB,EACN,0BAA0B,EACrC,eAAe,EACd,gBAAgB,EACnB,aAAa,EACb,aAAa,EACZ,cAAc,EACV,kBAAkB,EAEpB,gBAAgB,EACjB,eAAe,EACZ,kBAAkB,EACd,sBAAsB,EACpB,wBAAwB,EACnC,aAAa,EACN,oBAAoB,EACvB,iBAAiB,EACZ,sBAAsB,EAC1B,kBAAkB,EACX,yBAAyB,EACpC,cAAc,EACT,mBAAmB,EACf,uBAAuB,EAC9B,gBAAgB,EAC1B,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDlB,CAAA"}
|
package/dist/registry.js
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useSchema, Page, DocPage, Headings, Hint, Nav, NavGroup, NavItem, SequentialPagination, Steps, Step, TabGroup, Tab, TabPanel, MusicPlaylist, MusicRecording, CallToAction, LinkItem, Command, Feature, FeatureDefinition, Editor, Pricing, Tier, Grid, Error, DebugInfo, PageSection, Details, Figure, Accordion, AccordionItem, TableOfContents, Hero, Testimonial, Timeline, TimelineEntry, Changelog, ChangelogRelease, Embed, Breadcrumb, BreadcrumbItem, Compare, } from '@refrakt-md/types';
|
|
2
|
+
export const schema = {
|
|
3
|
+
Page: useSchema(Page).defineType('Page'),
|
|
4
|
+
PageSection: useSchema(PageSection).defineType('PageSection'),
|
|
5
|
+
DocPage: useSchema(DocPage).defineType('DocPage'),
|
|
6
|
+
Headings: useSchema(Headings).defineType('Headings'),
|
|
7
|
+
Hint: useSchema(Hint).defineType('Hint'),
|
|
8
|
+
SequentialPagination: useSchema(SequentialPagination).defineType('SequentialPagination'),
|
|
9
|
+
Steps: useSchema(Steps).defineType('Steps'),
|
|
10
|
+
Step: useSchema(Step).defineType('Step'),
|
|
11
|
+
TabGroup: useSchema(TabGroup).defineType('TabGroup'),
|
|
12
|
+
Tab: useSchema(Tab).defineType('Tab'),
|
|
13
|
+
TabPanel: useSchema(TabPanel).defineType('TabPanel'),
|
|
14
|
+
MusicPlaylist: useSchema(MusicPlaylist).defineType('MusicPlaylist', {
|
|
15
|
+
schema: 'http://schema.org/',
|
|
16
|
+
MusicPlaylist: 'schema:MusicPlaylist',
|
|
17
|
+
headline: 'schema:name schema:headline',
|
|
18
|
+
image: 'schema:image',
|
|
19
|
+
track: 'schema:track',
|
|
20
|
+
}),
|
|
21
|
+
MusicRecording: useSchema(MusicRecording).defineType('MusicRecording', {
|
|
22
|
+
schema: 'http://schema.org/',
|
|
23
|
+
MusicRecording: 'schema:MusicRecording',
|
|
24
|
+
name: 'schema:name',
|
|
25
|
+
byArtist: 'schema:byArtist',
|
|
26
|
+
duration: 'schema:duration',
|
|
27
|
+
copyrightYear: 'schema:copyrightYear',
|
|
28
|
+
}),
|
|
29
|
+
CallToAction: useSchema(CallToAction).defineType('CallToAction'),
|
|
30
|
+
LinkItem: useSchema(LinkItem).defineType('LinkItem'),
|
|
31
|
+
Command: useSchema(Command).defineType('Command'),
|
|
32
|
+
Feature: useSchema(Feature).defineType('Feature'),
|
|
33
|
+
FeatureDefinition: useSchema(FeatureDefinition).defineType('FeatureDefinition'),
|
|
34
|
+
Editor: useSchema(Editor).defineType('Editor'),
|
|
35
|
+
Pricing: useSchema(Pricing).defineType('Pricing'),
|
|
36
|
+
Tier: useSchema(Tier).defineType('Tier'),
|
|
37
|
+
FeaturedTier: useSchema(Tier).defineType('FeaturedTier'),
|
|
38
|
+
Grid: useSchema(Grid).defineType('Grid'),
|
|
39
|
+
Error: useSchema(Error).defineType('Error'),
|
|
40
|
+
DebugInfo: useSchema(DebugInfo).defineType('DebugInfo'),
|
|
41
|
+
Nav: useSchema(Nav).defineType('Nav'),
|
|
42
|
+
NavGroup: useSchema(NavGroup).defineType('NavGroup'),
|
|
43
|
+
NavItem: useSchema(NavItem).defineType('NavItem'),
|
|
44
|
+
Details: useSchema(Details).defineType('Details'),
|
|
45
|
+
Figure: useSchema(Figure).defineType('Figure'),
|
|
46
|
+
Accordion: useSchema(Accordion).defineType('Accordion'),
|
|
47
|
+
AccordionItem: useSchema(AccordionItem).defineType('AccordionItem'),
|
|
48
|
+
TableOfContents: useSchema(TableOfContents).defineType('TableOfContents'),
|
|
49
|
+
Hero: useSchema(Hero).defineType('Hero'),
|
|
50
|
+
Testimonial: useSchema(Testimonial).defineType('Testimonial'),
|
|
51
|
+
Timeline: useSchema(Timeline).defineType('Timeline'),
|
|
52
|
+
TimelineEntry: useSchema(TimelineEntry).defineType('TimelineEntry'),
|
|
53
|
+
Changelog: useSchema(Changelog).defineType('Changelog'),
|
|
54
|
+
ChangelogRelease: useSchema(ChangelogRelease).defineType('ChangelogRelease'),
|
|
55
|
+
Embed: useSchema(Embed).defineType('Embed'),
|
|
56
|
+
Breadcrumb: useSchema(Breadcrumb).defineType('Breadcrumb'),
|
|
57
|
+
BreadcrumbItem: useSchema(BreadcrumbItem).defineType('BreadcrumbItem'),
|
|
58
|
+
Compare: useSchema(Compare).defineType('Compare'),
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
package/dist/rune.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Schema } from '@markdoc/markdoc';
|
|
2
|
+
import { Type, ComponentType } from '@refrakt-md/types';
|
|
3
|
+
export interface RuneDescriptor {
|
|
4
|
+
/** The primary tag name used in Markdoc (e.g., 'cta') */
|
|
5
|
+
name: string;
|
|
6
|
+
/** Alternative tag names (e.g., ['call-to-action']) */
|
|
7
|
+
aliases?: string[];
|
|
8
|
+
/** The Markdoc Schema this rune produces */
|
|
9
|
+
schema: Schema;
|
|
10
|
+
/** Human-readable description for docs and AI theme generation */
|
|
11
|
+
description?: string;
|
|
12
|
+
/** How this rune reinterprets standard Markdown primitives */
|
|
13
|
+
reinterprets?: Record<string, string>;
|
|
14
|
+
/** Schema.org type for SEO JSON-LD generation */
|
|
15
|
+
seoType?: string;
|
|
16
|
+
/** The Type from the registry this rune renders as */
|
|
17
|
+
type?: Type<ComponentType<object>>;
|
|
18
|
+
}
|
|
19
|
+
export declare class Rune {
|
|
20
|
+
readonly name: string;
|
|
21
|
+
readonly aliases: string[];
|
|
22
|
+
readonly schema: Schema;
|
|
23
|
+
readonly description: string;
|
|
24
|
+
readonly reinterprets: Record<string, string>;
|
|
25
|
+
readonly seoType: string | undefined;
|
|
26
|
+
readonly type: Type<ComponentType<object>> | undefined;
|
|
27
|
+
constructor(descriptor: RuneDescriptor);
|
|
28
|
+
/** All names this rune can be referenced by (primary + aliases) */
|
|
29
|
+
get names(): string[];
|
|
30
|
+
}
|
|
31
|
+
export declare function defineRune(descriptor: RuneDescriptor): Rune;
|
|
32
|
+
/** Build a Markdoc-compatible tags record from a collection of runes */
|
|
33
|
+
export declare function runeTagMap(runes: Record<string, Rune>): Record<string, Schema>;
|
|
34
|
+
//# sourceMappingURL=rune.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rune.d.ts","sourceRoot":"","sources":["../src/rune.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IAEb,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IAEf,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEtC,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC;AAED,qBAAa,IAAI;IACf,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;gBAE3C,UAAU,EAAE,cAAc;IAUtC,mEAAmE;IACnE,IAAI,KAAK,IAAI,MAAM,EAAE,CAEpB;CACF;AAED,wBAAgB,UAAU,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI,CAE3D;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ9E"}
|
package/dist/rune.js
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class Rune {
|
|
2
|
+
constructor(descriptor) {
|
|
3
|
+
this.name = descriptor.name;
|
|
4
|
+
this.aliases = descriptor.aliases ?? [];
|
|
5
|
+
this.schema = descriptor.schema;
|
|
6
|
+
this.description = descriptor.description ?? '';
|
|
7
|
+
this.reinterprets = descriptor.reinterprets ?? {};
|
|
8
|
+
this.seoType = descriptor.seoType;
|
|
9
|
+
this.type = descriptor.type;
|
|
10
|
+
}
|
|
11
|
+
/** All names this rune can be referenced by (primary + aliases) */
|
|
12
|
+
get names() {
|
|
13
|
+
return [this.name, ...this.aliases];
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function defineRune(descriptor) {
|
|
17
|
+
return new Rune(descriptor);
|
|
18
|
+
}
|
|
19
|
+
/** Build a Markdoc-compatible tags record from a collection of runes */
|
|
20
|
+
export function runeTagMap(runes) {
|
|
21
|
+
const tags = {};
|
|
22
|
+
for (const rune of Object.values(runes)) {
|
|
23
|
+
for (const name of rune.names) {
|
|
24
|
+
tags[name] = rune.schema;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return tags;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=rune.js.map
|
package/dist/rune.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rune.js","sourceRoot":"","sources":["../src/rune.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,IAAI;IASf,YAAY,UAA0B;QACpC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,mEAAmE;IACnE,IAAI,KAAK;QACP,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,UAAU,CAAC,UAA0B;IACnD,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,KAA2B;IACpD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuFvC,eAAO,MAAM,aAAa,gBAAmC,CAAC;AAE9D,eAAO,MAAM,SAAS,gBAA+B,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Markdoc from '@markdoc/markdoc';
|
|
11
|
+
const { Ast, Tag } = Markdoc;
|
|
12
|
+
import { headingsToList } from '../util.js';
|
|
13
|
+
import { schema } from '../registry.js';
|
|
14
|
+
import { NodeStream } from '../lib/node.js';
|
|
15
|
+
import { attribute, group, Model, createComponentRenderable, createSchema } from '../lib/index.js';
|
|
16
|
+
import { pageSectionProperties } from './common.js';
|
|
17
|
+
class AccordionItemModel extends Model {
|
|
18
|
+
transform() {
|
|
19
|
+
const nameTag = new Tag('span', {}, [this.name]);
|
|
20
|
+
const body = this.transformChildren().wrap('div');
|
|
21
|
+
return createComponentRenderable(schema.AccordionItem, {
|
|
22
|
+
tag: 'div',
|
|
23
|
+
properties: {
|
|
24
|
+
name: nameTag,
|
|
25
|
+
},
|
|
26
|
+
refs: {
|
|
27
|
+
body: body.tag('div'),
|
|
28
|
+
},
|
|
29
|
+
children: [nameTag, body.next()],
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
__decorate([
|
|
34
|
+
attribute({ type: String, required: true }),
|
|
35
|
+
__metadata("design:type", String)
|
|
36
|
+
], AccordionItemModel.prototype, "name", void 0);
|
|
37
|
+
class AccordionModel extends Model {
|
|
38
|
+
constructor() {
|
|
39
|
+
super(...arguments);
|
|
40
|
+
this.headingLevel = undefined;
|
|
41
|
+
this.multiple = true;
|
|
42
|
+
}
|
|
43
|
+
convertHeadings(nodes) {
|
|
44
|
+
const converted = headingsToList({ level: this.headingLevel })(nodes);
|
|
45
|
+
const n = converted.length - 1;
|
|
46
|
+
const tags = converted[n].children.map(item => {
|
|
47
|
+
const heading = item.children[0];
|
|
48
|
+
const name = Array.from(heading.walk()).filter(n => n.type === 'text').map(t => t.attributes.content).join(' ');
|
|
49
|
+
return new Ast.Node('tag', { name }, item.children.slice(1), 'accordion-item');
|
|
50
|
+
});
|
|
51
|
+
converted.splice(n, 1, ...tags);
|
|
52
|
+
return converted;
|
|
53
|
+
}
|
|
54
|
+
processChildren(nodes) {
|
|
55
|
+
if (this.headingLevel !== undefined) {
|
|
56
|
+
return super.processChildren(this.convertHeadings(nodes));
|
|
57
|
+
}
|
|
58
|
+
return super.processChildren(nodes);
|
|
59
|
+
}
|
|
60
|
+
transform() {
|
|
61
|
+
const header = this.header.transform();
|
|
62
|
+
const itemStream = this.itemgroup.transform();
|
|
63
|
+
const items = itemStream.tag('div').typeof('AccordionItem');
|
|
64
|
+
const itemsContainer = items.wrap('div');
|
|
65
|
+
const children = header.count() > 0
|
|
66
|
+
? [header.wrap('header').next(), itemsContainer.next()]
|
|
67
|
+
: [itemsContainer.next()];
|
|
68
|
+
return createComponentRenderable(schema.Accordion, {
|
|
69
|
+
tag: 'section',
|
|
70
|
+
property: 'contentSection',
|
|
71
|
+
properties: {
|
|
72
|
+
...pageSectionProperties(header),
|
|
73
|
+
item: items,
|
|
74
|
+
},
|
|
75
|
+
refs: { items: itemsContainer },
|
|
76
|
+
children,
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
__decorate([
|
|
81
|
+
attribute({ type: Number, required: false }),
|
|
82
|
+
__metadata("design:type", Object)
|
|
83
|
+
], AccordionModel.prototype, "headingLevel", void 0);
|
|
84
|
+
__decorate([
|
|
85
|
+
attribute({ type: Boolean, required: false }),
|
|
86
|
+
__metadata("design:type", Boolean)
|
|
87
|
+
], AccordionModel.prototype, "multiple", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
group({ include: ['heading', 'paragraph'] }),
|
|
90
|
+
__metadata("design:type", NodeStream)
|
|
91
|
+
], AccordionModel.prototype, "header", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
group({ include: ['tag'] }),
|
|
94
|
+
__metadata("design:type", NodeStream)
|
|
95
|
+
], AccordionModel.prototype, "itemgroup", void 0);
|
|
96
|
+
export const accordionItem = createSchema(AccordionItemModel);
|
|
97
|
+
export const accordion = createSchema(AccordionModel);
|
|
98
|
+
//# sourceMappingURL=accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA0EvC,eAAO,MAAM,UAAU,gBAAgC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Markdoc from '@markdoc/markdoc';
|
|
11
|
+
const { Tag } = Markdoc;
|
|
12
|
+
import { schema } from '../registry.js';
|
|
13
|
+
import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
|
|
14
|
+
class BreadcrumbModel extends Model {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.separator = '/';
|
|
18
|
+
}
|
|
19
|
+
transform() {
|
|
20
|
+
const separatorMeta = new Tag('meta', { content: this.separator });
|
|
21
|
+
const children = this.transformChildren();
|
|
22
|
+
// Extract list items from children — each <li> with an <a> becomes a breadcrumb item
|
|
23
|
+
const listItems = [];
|
|
24
|
+
for (const node of children.toArray()) {
|
|
25
|
+
if (Tag.isTag(node) && (node.name === 'ul' || node.name === 'ol')) {
|
|
26
|
+
for (const li of node.children) {
|
|
27
|
+
if (Tag.isTag(li) && li.name === 'li') {
|
|
28
|
+
// Find the link inside the list item
|
|
29
|
+
const link = li.children.find((c) => Tag.isTag(c) && c.name === 'a');
|
|
30
|
+
if (link) {
|
|
31
|
+
const nameSpan = new Tag('span', {}, link.children);
|
|
32
|
+
const urlLink = new Tag('a', { href: link.attributes.href }, link.children);
|
|
33
|
+
listItems.push(createComponentRenderable(schema.BreadcrumbItem, {
|
|
34
|
+
tag: 'li',
|
|
35
|
+
properties: {
|
|
36
|
+
name: nameSpan,
|
|
37
|
+
url: urlLink,
|
|
38
|
+
},
|
|
39
|
+
children: [nameSpan, urlLink],
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// Last item (no link) — current page
|
|
44
|
+
const text = li.children.filter((c) => typeof c === 'string').join('').trim();
|
|
45
|
+
const nameSpan = new Tag('span', {}, text ? [text] : li.children);
|
|
46
|
+
listItems.push(createComponentRenderable(schema.BreadcrumbItem, {
|
|
47
|
+
tag: 'li',
|
|
48
|
+
properties: {
|
|
49
|
+
name: nameSpan,
|
|
50
|
+
},
|
|
51
|
+
children: [nameSpan],
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const itemsList = new Tag('ol', {}, listItems);
|
|
59
|
+
return createComponentRenderable(schema.Breadcrumb, {
|
|
60
|
+
tag: 'nav',
|
|
61
|
+
properties: {
|
|
62
|
+
separator: separatorMeta,
|
|
63
|
+
},
|
|
64
|
+
refs: {
|
|
65
|
+
items: itemsList,
|
|
66
|
+
},
|
|
67
|
+
children: [separatorMeta, itemsList],
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
__decorate([
|
|
72
|
+
attribute({ type: String, required: false }),
|
|
73
|
+
__metadata("design:type", String)
|
|
74
|
+
], BreadcrumbModel.prototype, "separator", void 0);
|
|
75
|
+
export const breadcrumb = createSchema(BreadcrumbModel);
|
|
76
|
+
//# sourceMappingURL=breadcrumb.js.map
|