@refrakt-md/runes 0.8.5 → 0.9.1
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 +201 -29
- package/dist/config.js.map +1 -1
- package/dist/fence-escape.d.ts +19 -0
- package/dist/fence-escape.d.ts.map +1 -0
- package/dist/fence-escape.js +53 -0
- package/dist/fence-escape.js.map +1 -0
- package/dist/index.d.ts +6 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -50
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +0 -4
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/lib/component.d.ts +16 -10
- package/dist/lib/component.d.ts.map +1 -1
- package/dist/lib/component.js +11 -3
- package/dist/lib/component.js.map +1 -1
- package/dist/lib/index.d.ts +11 -16
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +7 -164
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/node.d.ts +1 -15
- package/dist/lib/node.d.ts.map +1 -1
- package/dist/lib/node.js +0 -35
- package/dist/lib/node.js.map +1 -1
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +2 -1
- package/dist/nodes.js.map +1 -1
- package/dist/packages.js +1 -1
- package/dist/packages.js.map +1 -1
- package/dist/rune.d.ts +6 -4
- package/dist/rune.d.ts.map +1 -1
- package/dist/rune.js +2 -1
- package/dist/rune.js.map +1 -1
- package/dist/sandbox-sources.d.ts +34 -0
- package/dist/sandbox-sources.d.ts.map +1 -0
- package/dist/sandbox-sources.js +204 -0
- package/dist/sandbox-sources.js.map +1 -0
- package/dist/tags/accordion.d.ts.map +1 -1
- package/dist/tags/accordion.js +21 -38
- package/dist/tags/accordion.js.map +1 -1
- package/dist/tags/annotate.d.ts.map +1 -1
- package/dist/tags/annotate.js +2 -3
- package/dist/tags/annotate.js.map +1 -1
- package/dist/tags/blog.d.ts.map +1 -1
- package/dist/tags/blog.js +1 -2
- package/dist/tags/blog.js.map +1 -1
- package/dist/tags/breadcrumb.d.ts.map +1 -1
- package/dist/tags/breadcrumb.js +4 -5
- package/dist/tags/breadcrumb.js.map +1 -1
- package/dist/tags/budget.d.ts.map +1 -1
- package/dist/tags/budget.js +77 -90
- package/dist/tags/budget.js.map +1 -1
- package/dist/tags/chart.d.ts.map +1 -1
- package/dist/tags/chart.js +1 -2
- package/dist/tags/chart.js.map +1 -1
- package/dist/tags/codegroup.d.ts.map +1 -1
- package/dist/tags/codegroup.js +1 -2
- package/dist/tags/codegroup.js.map +1 -1
- package/dist/tags/common.d.ts +46 -15
- package/dist/tags/common.d.ts.map +1 -1
- package/dist/tags/common.js +115 -65
- package/dist/tags/common.js.map +1 -1
- package/dist/tags/compare.d.ts.map +1 -1
- package/dist/tags/compare.js +1 -2
- package/dist/tags/compare.js.map +1 -1
- package/dist/tags/conversation.d.ts.map +1 -1
- package/dist/tags/conversation.js +20 -34
- package/dist/tags/conversation.js.map +1 -1
- package/dist/tags/datatable.d.ts.map +1 -1
- package/dist/tags/datatable.js +1 -2
- package/dist/tags/datatable.js.map +1 -1
- package/dist/tags/details.d.ts.map +1 -1
- package/dist/tags/details.js +1 -2
- package/dist/tags/details.js.map +1 -1
- package/dist/tags/diagram.d.ts.map +1 -1
- package/dist/tags/diagram.js +1 -2
- package/dist/tags/diagram.js.map +1 -1
- package/dist/tags/diff.d.ts.map +1 -1
- package/dist/tags/diff.js +1 -2
- package/dist/tags/diff.js.map +1 -1
- package/dist/tags/embed.d.ts.map +1 -1
- package/dist/tags/embed.js +1 -2
- package/dist/tags/embed.js.map +1 -1
- package/dist/tags/error.d.ts.map +1 -1
- package/dist/tags/error.js +1 -2
- package/dist/tags/error.js.map +1 -1
- package/dist/tags/figure.d.ts.map +1 -1
- package/dist/tags/figure.js +1 -2
- package/dist/tags/figure.js.map +1 -1
- package/dist/tags/form.d.ts +2 -1
- package/dist/tags/form.d.ts.map +1 -1
- package/dist/tags/form.js +49 -72
- package/dist/tags/form.js.map +1 -1
- package/dist/tags/gallery.d.ts.map +1 -1
- package/dist/tags/gallery.js +1 -2
- package/dist/tags/gallery.js.map +1 -1
- package/dist/tags/grid.d.ts.map +1 -1
- package/dist/tags/grid.js +1 -2
- package/dist/tags/grid.js.map +1 -1
- package/dist/tags/hint.d.ts.map +1 -1
- package/dist/tags/hint.js +1 -2
- package/dist/tags/hint.js.map +1 -1
- package/dist/tags/juxtapose.d.ts.map +1 -1
- package/dist/tags/juxtapose.js +4 -4
- package/dist/tags/juxtapose.js.map +1 -1
- package/dist/tags/mediatext.d.ts.map +1 -1
- package/dist/tags/mediatext.js +1 -2
- package/dist/tags/mediatext.js.map +1 -1
- package/dist/tags/nav.d.ts.map +1 -1
- package/dist/tags/nav.js +29 -19
- package/dist/tags/nav.js.map +1 -1
- package/dist/tags/pullquote.d.ts.map +1 -1
- package/dist/tags/pullquote.js +1 -2
- package/dist/tags/pullquote.js.map +1 -1
- package/dist/tags/reveal.d.ts.map +1 -1
- package/dist/tags/reveal.js +18 -24
- package/dist/tags/reveal.js.map +1 -1
- package/dist/tags/sandbox.d.ts.map +1 -1
- package/dist/tags/sandbox.js +82 -60
- package/dist/tags/sandbox.js.map +1 -1
- package/dist/tags/showcase.d.ts.map +1 -1
- package/dist/tags/showcase.js +1 -2
- package/dist/tags/showcase.js.map +1 -1
- package/dist/tags/sidenote.d.ts.map +1 -1
- package/dist/tags/sidenote.js +1 -2
- package/dist/tags/sidenote.js.map +1 -1
- package/dist/tags/tabs.d.ts.map +1 -1
- package/dist/tags/tabs.js +26 -35
- package/dist/tags/tabs.js.map +1 -1
- package/dist/tags/textblock.d.ts.map +1 -1
- package/dist/tags/textblock.js +1 -2
- package/dist/tags/textblock.js.map +1 -1
- package/dist/tags/toc.d.ts.map +1 -1
- package/dist/tags/toc.js +1 -2
- package/dist/tags/toc.js.map +1 -1
- package/dist/tags/xref.d.ts +18 -0
- package/dist/tags/xref.d.ts.map +1 -0
- package/dist/tags/xref.js +54 -0
- package/dist/tags/xref.js.map +1 -0
- package/package.json +3 -3
- package/dist/lib/annotations/annotation.d.ts +0 -11
- package/dist/lib/annotations/annotation.d.ts.map +0 -1
- package/dist/lib/annotations/annotation.js +0 -39
- package/dist/lib/annotations/annotation.js.map +0 -1
- package/dist/lib/annotations/attribute.d.ts +0 -12
- package/dist/lib/annotations/attribute.d.ts.map +0 -1
- package/dist/lib/annotations/attribute.js +0 -17
- package/dist/lib/annotations/attribute.js.map +0 -1
- package/dist/lib/annotations/decoration.d.ts +0 -10
- package/dist/lib/annotations/decoration.d.ts.map +0 -1
- package/dist/lib/annotations/decoration.js +0 -46
- package/dist/lib/annotations/decoration.js.map +0 -1
- package/dist/lib/annotations/group.d.ts +0 -24
- package/dist/lib/annotations/group.d.ts.map +0 -1
- package/dist/lib/annotations/group.js +0 -78
- package/dist/lib/annotations/group.js.map +0 -1
- package/dist/lib/annotations/id.d.ts +0 -19
- package/dist/lib/annotations/id.d.ts.map +0 -1
- package/dist/lib/annotations/id.js +0 -32
- package/dist/lib/annotations/id.js.map +0 -1
- package/dist/lib/annotations/interfaces.d.ts +0 -27
- package/dist/lib/annotations/interfaces.d.ts.map +0 -1
- package/dist/lib/annotations/interfaces.js +0 -2
- package/dist/lib/annotations/interfaces.js.map +0 -1
- package/dist/lib/model.d.ts +0 -17
- package/dist/lib/model.d.ts.map +0 -1
- package/dist/lib/model.js +0 -50
- package/dist/lib/model.js.map +0 -1
- package/dist/registry.d.ts +0 -94
- package/dist/registry.d.ts.map +0 -1
- package/dist/registry.js +0 -94
- package/dist/registry.js.map +0 -1
- package/dist/schema/accordion.d.ts +0 -8
- package/dist/schema/accordion.d.ts.map +0 -1
- package/dist/schema/accordion.js +0 -13
- package/dist/schema/accordion.js.map +0 -1
- package/dist/schema/annotate.d.ts +0 -6
- package/dist/schema/annotate.d.ts.map +0 -1
- package/dist/schema/annotate.js +0 -8
- package/dist/schema/annotate.js.map +0 -1
- package/dist/schema/bg.d.ts +0 -11
- package/dist/schema/bg.d.ts.map +0 -1
- package/dist/schema/bg.js +0 -13
- package/dist/schema/bg.js.map +0 -1
- package/dist/schema/blog.d.ts +0 -16
- package/dist/schema/blog.d.ts.map +0 -1
- package/dist/schema/blog.js +0 -21
- package/dist/schema/blog.js.map +0 -1
- package/dist/schema/breadcrumb.d.ts +0 -8
- package/dist/schema/breadcrumb.d.ts.map +0 -1
- package/dist/schema/breadcrumb.js +0 -12
- package/dist/schema/breadcrumb.js.map +0 -1
- package/dist/schema/budget.d.ts +0 -21
- package/dist/schema/budget.d.ts.map +0 -1
- package/dist/schema/budget.js +0 -27
- package/dist/schema/budget.js.map +0 -1
- package/dist/schema/chart.d.ts +0 -6
- package/dist/schema/chart.d.ts.map +0 -1
- package/dist/schema/chart.js +0 -8
- package/dist/schema/chart.js.map +0 -1
- package/dist/schema/codegroup.d.ts +0 -7
- package/dist/schema/codegroup.d.ts.map +0 -1
- package/dist/schema/codegroup.js +0 -8
- package/dist/schema/codegroup.js.map +0 -1
- package/dist/schema/compare.d.ts +0 -4
- package/dist/schema/compare.d.ts.map +0 -1
- package/dist/schema/compare.js +0 -6
- package/dist/schema/compare.js.map +0 -1
- package/dist/schema/conversation.d.ts +0 -8
- package/dist/schema/conversation.d.ts.map +0 -1
- package/dist/schema/conversation.js +0 -12
- package/dist/schema/conversation.js.map +0 -1
- package/dist/schema/datatable.d.ts +0 -7
- package/dist/schema/datatable.d.ts.map +0 -1
- package/dist/schema/datatable.js +0 -9
- package/dist/schema/datatable.js.map +0 -1
- package/dist/schema/details.d.ts +0 -4
- package/dist/schema/details.d.ts.map +0 -1
- package/dist/schema/details.js +0 -6
- package/dist/schema/details.js.map +0 -1
- package/dist/schema/diagram.d.ts +0 -5
- package/dist/schema/diagram.d.ts.map +0 -1
- package/dist/schema/diagram.js +0 -7
- package/dist/schema/diagram.js.map +0 -1
- package/dist/schema/diff.d.ts +0 -5
- package/dist/schema/diff.d.ts.map +0 -1
- package/dist/schema/diff.js +0 -7
- package/dist/schema/diff.js.map +0 -1
- package/dist/schema/docpage.d.ts +0 -11
- package/dist/schema/docpage.d.ts.map +0 -1
- package/dist/schema/docpage.js +0 -15
- package/dist/schema/docpage.js.map +0 -1
- package/dist/schema/embed.d.ts +0 -9
- package/dist/schema/embed.d.ts.map +0 -1
- package/dist/schema/embed.js +0 -11
- package/dist/schema/embed.js.map +0 -1
- package/dist/schema/error.d.ts +0 -10
- package/dist/schema/error.d.ts.map +0 -1
- package/dist/schema/error.js +0 -14
- package/dist/schema/error.js.map +0 -1
- package/dist/schema/figure.d.ts +0 -6
- package/dist/schema/figure.d.ts.map +0 -1
- package/dist/schema/figure.js +0 -8
- package/dist/schema/figure.js.map +0 -1
- package/dist/schema/form.d.ts +0 -13
- package/dist/schema/form.d.ts.map +0 -1
- package/dist/schema/form.js +0 -17
- package/dist/schema/form.js.map +0 -1
- package/dist/schema/gallery.d.ts +0 -8
- package/dist/schema/gallery.d.ts.map +0 -1
- package/dist/schema/gallery.js +0 -10
- package/dist/schema/gallery.js.map +0 -1
- package/dist/schema/grid.d.ts +0 -3
- package/dist/schema/grid.d.ts.map +0 -1
- package/dist/schema/grid.js +0 -3
- package/dist/schema/grid.js.map +0 -1
- package/dist/schema/hint.d.ts +0 -4
- package/dist/schema/hint.d.ts.map +0 -1
- package/dist/schema/hint.js +0 -6
- package/dist/schema/hint.js.map +0 -1
- package/dist/schema/juxtapose.d.ts +0 -7
- package/dist/schema/juxtapose.d.ts.map +0 -1
- package/dist/schema/juxtapose.js +0 -11
- package/dist/schema/juxtapose.js.map +0 -1
- package/dist/schema/mediatext.d.ts +0 -6
- package/dist/schema/mediatext.d.ts.map +0 -1
- package/dist/schema/mediatext.js +0 -8
- package/dist/schema/mediatext.js.map +0 -1
- package/dist/schema/nav.d.ts +0 -13
- package/dist/schema/nav.d.ts.map +0 -1
- package/dist/schema/nav.js +0 -19
- package/dist/schema/nav.js.map +0 -1
- package/dist/schema/pagination.d.ts +0 -5
- package/dist/schema/pagination.d.ts.map +0 -1
- package/dist/schema/pagination.js +0 -7
- package/dist/schema/pagination.js.map +0 -1
- package/dist/schema/pullquote.d.ts +0 -5
- package/dist/schema/pullquote.d.ts.map +0 -1
- package/dist/schema/pullquote.js +0 -7
- package/dist/schema/pullquote.js.map +0 -1
- package/dist/schema/reveal.d.ts +0 -8
- package/dist/schema/reveal.d.ts.map +0 -1
- package/dist/schema/reveal.js +0 -13
- package/dist/schema/reveal.js.map +0 -1
- package/dist/schema/sandbox.d.ts +0 -9
- package/dist/schema/sandbox.d.ts.map +0 -1
- package/dist/schema/sandbox.js +0 -11
- package/dist/schema/sandbox.js.map +0 -1
- package/dist/schema/showcase.d.ts +0 -8
- package/dist/schema/showcase.d.ts.map +0 -1
- package/dist/schema/showcase.js +0 -10
- package/dist/schema/showcase.js.map +0 -1
- package/dist/schema/sidenote.d.ts +0 -4
- package/dist/schema/sidenote.d.ts.map +0 -1
- package/dist/schema/sidenote.js +0 -6
- package/dist/schema/sidenote.js.map +0 -1
- package/dist/schema/tabs.d.ts +0 -12
- package/dist/schema/tabs.d.ts.map +0 -1
- package/dist/schema/tabs.js +0 -17
- package/dist/schema/tabs.js.map +0 -1
- package/dist/schema/textblock.d.ts +0 -7
- package/dist/schema/textblock.d.ts.map +0 -1
- package/dist/schema/textblock.js +0 -9
- package/dist/schema/textblock.js.map +0 -1
- package/dist/schema/tint.d.ts +0 -5
- package/dist/schema/tint.d.ts.map +0 -1
- package/dist/schema/tint.js +0 -7
- package/dist/schema/tint.js.map +0 -1
- package/dist/schema/toc.d.ts +0 -5
- package/dist/schema/toc.d.ts.map +0 -1
- package/dist/schema/toc.js +0 -7
- package/dist/schema/toc.js.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** A source panel with language, content, and origin tracking */
|
|
2
|
+
export interface SandboxSourcePanel {
|
|
3
|
+
label: string;
|
|
4
|
+
language: string;
|
|
5
|
+
content: string;
|
|
6
|
+
/** Origin file path relative to the src directory, or "inline" */
|
|
7
|
+
origin: string;
|
|
8
|
+
}
|
|
9
|
+
export interface SandboxSourceResult {
|
|
10
|
+
/** Assembled HTML content in data-source annotated format */
|
|
11
|
+
content: string;
|
|
12
|
+
/** Source panels with origin labels for display */
|
|
13
|
+
panels: SandboxSourcePanel[];
|
|
14
|
+
/** Fatal errors that prevent rendering */
|
|
15
|
+
errors: string[];
|
|
16
|
+
/** Non-fatal diagnostic messages */
|
|
17
|
+
warnings: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Scan a directory and assemble sandbox content from discovered files.
|
|
21
|
+
*
|
|
22
|
+
* @param dirPath Absolute path to the sandbox source directory
|
|
23
|
+
* @param srcName Relative name used for display (e.g. "login-form")
|
|
24
|
+
* @param readFile Returns file content or null if not found
|
|
25
|
+
* @param listDir Returns filenames in a directory, or empty array if not found
|
|
26
|
+
* @param dirExists Returns true if the directory exists
|
|
27
|
+
*/
|
|
28
|
+
export declare function assembleFromDirectory(dirPath: string, srcName: string, readFile: (path: string) => string | null, listDir: (path: string) => string[], dirExists?: (path: string) => boolean): SandboxSourceResult;
|
|
29
|
+
/**
|
|
30
|
+
* Merge inline content after file-sourced content.
|
|
31
|
+
* Parses both strings as data-source annotated HTML, then combines each role.
|
|
32
|
+
*/
|
|
33
|
+
export declare function mergeContent(fileContent: string, inlineContent: string): string;
|
|
34
|
+
//# sourceMappingURL=sandbox-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-sources.d.ts","sourceRoot":"","sources":["../src/sandbox-sources.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IACnC,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAsCD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACzC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,EACnC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACnC,mBAAmB,CA2IrB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAmB/E"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/** File types recognized by the sandbox directory scanner */
|
|
2
|
+
const FILE_ROLES = {
|
|
3
|
+
'.html': 'html',
|
|
4
|
+
'.css': 'css',
|
|
5
|
+
'.js': 'js',
|
|
6
|
+
'.svg': 'svg',
|
|
7
|
+
'.glsl-vert': 'glsl-vert',
|
|
8
|
+
'.glsl-frag': 'glsl-frag',
|
|
9
|
+
};
|
|
10
|
+
/** Join a directory path and filename with a forward slash. */
|
|
11
|
+
function joinPath(dir, name) {
|
|
12
|
+
return dir.endsWith('/') ? dir + name : dir + '/' + name;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get the role extension for a file. Handles compound extensions like .glsl-vert.
|
|
16
|
+
*/
|
|
17
|
+
function getFileRole(filename) {
|
|
18
|
+
// Check compound extensions first
|
|
19
|
+
if (filename.endsWith('.glsl-vert'))
|
|
20
|
+
return 'glsl-vert';
|
|
21
|
+
if (filename.endsWith('.glsl-frag'))
|
|
22
|
+
return 'glsl-frag';
|
|
23
|
+
const dotIdx = filename.lastIndexOf('.');
|
|
24
|
+
if (dotIdx === -1)
|
|
25
|
+
return null;
|
|
26
|
+
const ext = filename.slice(dotIdx);
|
|
27
|
+
return FILE_ROLES[ext] ?? null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Scan a directory and assemble sandbox content from discovered files.
|
|
31
|
+
*
|
|
32
|
+
* @param dirPath Absolute path to the sandbox source directory
|
|
33
|
+
* @param srcName Relative name used for display (e.g. "login-form")
|
|
34
|
+
* @param readFile Returns file content or null if not found
|
|
35
|
+
* @param listDir Returns filenames in a directory, or empty array if not found
|
|
36
|
+
* @param dirExists Returns true if the directory exists
|
|
37
|
+
*/
|
|
38
|
+
export function assembleFromDirectory(dirPath, srcName, readFile, listDir, dirExists) {
|
|
39
|
+
const errors = [];
|
|
40
|
+
const warnings = [];
|
|
41
|
+
// Check if directory exists
|
|
42
|
+
if (dirExists && !dirExists(dirPath)) {
|
|
43
|
+
return {
|
|
44
|
+
content: '',
|
|
45
|
+
panels: [],
|
|
46
|
+
errors: [`Sandbox src directory not found: "${srcName}"`],
|
|
47
|
+
warnings: [],
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const entries = listDir(dirPath);
|
|
51
|
+
if (entries.length === 0) {
|
|
52
|
+
return {
|
|
53
|
+
content: '',
|
|
54
|
+
panels: [],
|
|
55
|
+
errors: [],
|
|
56
|
+
warnings: [`Sandbox src directory "${srcName}" contains no .html, .css, or .js files`],
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// Discover and classify files
|
|
60
|
+
const files = [];
|
|
61
|
+
for (const name of entries.sort()) {
|
|
62
|
+
const role = getFileRole(name);
|
|
63
|
+
if (!role)
|
|
64
|
+
continue;
|
|
65
|
+
const content = readFile(joinPath(dirPath, name));
|
|
66
|
+
if (content != null) {
|
|
67
|
+
files.push({ name, role, content });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (files.length === 0) {
|
|
71
|
+
return {
|
|
72
|
+
content: '',
|
|
73
|
+
panels: [],
|
|
74
|
+
errors: [],
|
|
75
|
+
warnings: [`Sandbox src directory "${srcName}" contains no .html, .css, or .js files`],
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Group by role
|
|
79
|
+
const byRole = new Map();
|
|
80
|
+
for (const file of files) {
|
|
81
|
+
const group = byRole.get(file.role) ?? [];
|
|
82
|
+
group.push(file);
|
|
83
|
+
byRole.set(file.role, group);
|
|
84
|
+
}
|
|
85
|
+
// HTML — single file, prefer index.html
|
|
86
|
+
const htmlFiles = byRole.get('html') ?? [];
|
|
87
|
+
let htmlFile;
|
|
88
|
+
if (htmlFiles.length > 1) {
|
|
89
|
+
htmlFile = htmlFiles.find(f => f.name === 'index.html') ?? htmlFiles[0];
|
|
90
|
+
warnings.push(`Sandbox src "${srcName}" has multiple .html files — using ${htmlFile.name}`);
|
|
91
|
+
}
|
|
92
|
+
else if (htmlFiles.length === 1) {
|
|
93
|
+
htmlFile = htmlFiles[0];
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
warnings.push(`Sandbox src "${srcName}" has no .html file — body will be empty`);
|
|
97
|
+
}
|
|
98
|
+
// CSS — concatenate alphabetically
|
|
99
|
+
const cssFiles = byRole.get('css') ?? [];
|
|
100
|
+
const cssContent = cssFiles.map(f => f.content).join('\n');
|
|
101
|
+
// JS — concatenate alphabetically
|
|
102
|
+
const jsFiles = byRole.get('js') ?? [];
|
|
103
|
+
let jsContent = jsFiles.map(f => f.content).join('\n');
|
|
104
|
+
// SVG — inject into HTML body
|
|
105
|
+
const svgFiles = byRole.get('svg') ?? [];
|
|
106
|
+
const svgContent = svgFiles.map(f => f.content).join('\n');
|
|
107
|
+
// Shaders — inject as JS constants
|
|
108
|
+
const vertFile = (byRole.get('glsl-vert') ?? [])[0];
|
|
109
|
+
const fragFile = (byRole.get('glsl-frag') ?? [])[0];
|
|
110
|
+
let shaderPreamble = '';
|
|
111
|
+
if (vertFile) {
|
|
112
|
+
shaderPreamble += `const VERTEX_SHADER = \`${escapeTemplateLiteral(vertFile.content)}\`;\n`;
|
|
113
|
+
}
|
|
114
|
+
if (fragFile) {
|
|
115
|
+
shaderPreamble += `const FRAGMENT_SHADER = \`${escapeTemplateLiteral(fragFile.content)}\`;\n`;
|
|
116
|
+
}
|
|
117
|
+
if (shaderPreamble) {
|
|
118
|
+
jsContent = shaderPreamble + jsContent;
|
|
119
|
+
}
|
|
120
|
+
// Assemble into data-source annotated HTML
|
|
121
|
+
const htmlBody = (htmlFile?.content ?? '') + (svgContent ? '\n' + svgContent : '');
|
|
122
|
+
const parts = [];
|
|
123
|
+
if (htmlBody) {
|
|
124
|
+
parts.push(`<div data-source="HTML">\n${htmlBody}\n</div>`);
|
|
125
|
+
}
|
|
126
|
+
if (cssContent) {
|
|
127
|
+
parts.push(`<style data-source="CSS">\n${cssContent}\n</style>`);
|
|
128
|
+
}
|
|
129
|
+
if (jsContent) {
|
|
130
|
+
parts.push(`<script data-source="JavaScript">\n${jsContent}\n</script>`);
|
|
131
|
+
}
|
|
132
|
+
const content = parts.join('\n');
|
|
133
|
+
// Build source panels with origin labels
|
|
134
|
+
const panels = [];
|
|
135
|
+
if (htmlFile) {
|
|
136
|
+
panels.push({
|
|
137
|
+
label: `HTML`,
|
|
138
|
+
language: 'html',
|
|
139
|
+
content: htmlBody,
|
|
140
|
+
origin: `${srcName}/${htmlFile.name}`,
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
if (cssContent) {
|
|
144
|
+
const originNames = cssFiles.map(f => `${srcName}/${f.name}`).join(', ');
|
|
145
|
+
panels.push({
|
|
146
|
+
label: `CSS`,
|
|
147
|
+
language: 'css',
|
|
148
|
+
content: cssContent,
|
|
149
|
+
origin: originNames,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
if (jsContent) {
|
|
153
|
+
const originParts = [];
|
|
154
|
+
if (vertFile)
|
|
155
|
+
originParts.push(`${srcName}/${vertFile.name}`);
|
|
156
|
+
if (fragFile)
|
|
157
|
+
originParts.push(`${srcName}/${fragFile.name}`);
|
|
158
|
+
originParts.push(...jsFiles.map(f => `${srcName}/${f.name}`));
|
|
159
|
+
panels.push({
|
|
160
|
+
label: `JavaScript`,
|
|
161
|
+
language: 'javascript',
|
|
162
|
+
content: jsContent,
|
|
163
|
+
origin: originParts.join(', '),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return { content, panels, errors, warnings };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Merge inline content after file-sourced content.
|
|
170
|
+
* Parses both strings as data-source annotated HTML, then combines each role.
|
|
171
|
+
*/
|
|
172
|
+
export function mergeContent(fileContent, inlineContent) {
|
|
173
|
+
const fileHtml = extractSection(fileContent, 'div', 'HTML');
|
|
174
|
+
const fileCss = extractSection(fileContent, 'style', 'CSS');
|
|
175
|
+
const fileJs = extractSection(fileContent, 'script', 'JavaScript');
|
|
176
|
+
const inlineHtml = extractSection(inlineContent, 'div', 'HTML');
|
|
177
|
+
const inlineCss = extractSection(inlineContent, 'style', 'CSS');
|
|
178
|
+
const inlineJs = extractSection(inlineContent, 'script', 'JavaScript');
|
|
179
|
+
const html = joinParts(fileHtml, inlineHtml);
|
|
180
|
+
const css = joinParts(fileCss, inlineCss);
|
|
181
|
+
const js = joinParts(fileJs, inlineJs);
|
|
182
|
+
const parts = [];
|
|
183
|
+
if (html)
|
|
184
|
+
parts.push(`<div data-source="HTML">\n${html}\n</div>`);
|
|
185
|
+
if (css)
|
|
186
|
+
parts.push(`<style data-source="CSS">\n${css}\n</style>`);
|
|
187
|
+
if (js)
|
|
188
|
+
parts.push(`<script data-source="JavaScript">\n${js}\n</script>`);
|
|
189
|
+
return parts.join('\n');
|
|
190
|
+
}
|
|
191
|
+
function extractSection(content, tag, label) {
|
|
192
|
+
const regex = new RegExp(`<${tag}[^>]*data-source="${label}"[^>]*>([\\s\\S]*?)</${tag}>`, 'i');
|
|
193
|
+
const match = content.match(regex);
|
|
194
|
+
return match?.[1]?.trim() ?? '';
|
|
195
|
+
}
|
|
196
|
+
function joinParts(a, b) {
|
|
197
|
+
if (a && b)
|
|
198
|
+
return a + '\n' + b;
|
|
199
|
+
return a || b;
|
|
200
|
+
}
|
|
201
|
+
function escapeTemplateLiteral(s) {
|
|
202
|
+
return s.replace(/\\/g, '\\\\').replace(/`/g, '\\`').replace(/\$\{/g, '\\${');
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=sandbox-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-sources.js","sourceRoot":"","sources":["../src/sandbox-sources.ts"],"names":[],"mappings":"AAoBA,6DAA6D;AAC7D,MAAM,UAAU,GAAG;IAClB,OAAO,EAAE,MAAM;IACf,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,WAAW;IACzB,YAAY,EAAE,WAAW;CAChB,CAAC;AAUX,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IAC1C,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB;IACpC,kCAAkC;IAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,WAAW,CAAC;IACxD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,OAAQ,UAAuC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACpC,OAAe,EACf,OAAe,EACf,QAAyC,EACzC,OAAmC,EACnC,SAAqC;IAErC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,4BAA4B;IAC5B,IAAI,SAAS,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO;YACN,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,CAAC,qCAAqC,OAAO,GAAG,CAAC;YACzD,QAAQ,EAAE,EAAE;SACZ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;YACN,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,0BAA0B,OAAO,yCAAyC,CAAC;SACtF,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO;YACN,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,CAAC,0BAA0B,OAAO,yCAAyC,CAAC;SACtF,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAA8B,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,wCAAwC;IACxC,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,QAAoC,CAAC;IACzC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC;QACxE,QAAQ,CAAC,IAAI,CAAC,gBAAgB,OAAO,sCAAsC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACP,QAAQ,CAAC,IAAI,CAAC,gBAAgB,OAAO,0CAA0C,CAAC,CAAC;IAClF,CAAC;IAED,mCAAmC;IACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEvD,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3D,mCAAmC;IACnC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,QAAQ,EAAE,CAAC;QACd,cAAc,IAAI,2BAA2B,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7F,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,cAAc,IAAI,6BAA6B,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;IAC/F,CAAC;IACD,IAAI,cAAc,EAAE,CAAC;QACpB,SAAS,GAAG,cAAc,GAAG,SAAS,CAAC;IACxC,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACnF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,6BAA6B,QAAQ,UAAU,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,8BAA8B,UAAU,YAAY,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,sCAAsC,SAAS,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjC,yCAAyC;IACzC,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,GAAG,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;SACrC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,WAAW;SACnB,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,IAAI,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9D,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC9B,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,WAAmB,EAAE,aAAqB;IACtE,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,cAAc,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEvE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,6BAA6B,IAAI,UAAU,CAAC,CAAC;IAClE,IAAI,GAAG;QAAE,KAAK,CAAC,IAAI,CAAC,8BAA8B,GAAG,YAAY,CAAC,CAAC;IACnE,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,sCAAsC,EAAE,aAAa,CAAC,CAAC;IAE1E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,OAAe,EAAE,GAAW,EAAE,KAAa;IAClE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,qBAAqB,KAAK,wBAAwB,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/F,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS;IACtC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAS;IACvC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,aAAa,gBA0CxB,CAAC;AAEH,eAAO,MAAM,SAAS,gBAgDpB,CAAC"}
|
package/dist/tags/accordion.js
CHANGED
|
@@ -1,43 +1,32 @@
|
|
|
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
1
|
import Markdoc from '@markdoc/markdoc';
|
|
11
2
|
const { Tag } = Markdoc;
|
|
12
|
-
import {
|
|
13
|
-
import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes } from '../lib/index.js';
|
|
3
|
+
import { createComponentRenderable, createContentModelSchema, asNodes } from '../lib/index.js';
|
|
14
4
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
15
5
|
import { pageSectionProperties } from './common.js';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
transform() {
|
|
27
|
-
const nameTag = new Tag('summary', {}, [
|
|
28
|
-
const body =
|
|
6
|
+
export const accordionItem = createContentModelSchema({
|
|
7
|
+
attributes: {
|
|
8
|
+
name: { type: String, required: true },
|
|
9
|
+
},
|
|
10
|
+
contentModel: {
|
|
11
|
+
type: 'sequence',
|
|
12
|
+
fields: [
|
|
13
|
+
{ name: 'body', match: 'any', optional: true, greedy: true },
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
transform(resolved, attrs, config) {
|
|
17
|
+
const nameTag = new Tag('summary', {}, [attrs.name ?? '']);
|
|
18
|
+
const body = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config)).wrap('div');
|
|
29
19
|
const bodyDivs = body.tag('div');
|
|
30
20
|
// For FAQ schema: body div becomes Answer entity with text property
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const textMeta = new Tag('meta', { content: answerText });
|
|
21
|
+
// Wrap children in a div with property="text" so the visible content
|
|
22
|
+
// serves as the schema.org property value (no duplicated meta tag)
|
|
34
23
|
for (const node of bodyDivs.nodes) {
|
|
35
24
|
if (Tag.isTag(node)) {
|
|
36
25
|
node.attributes['typeof'] = 'Answer';
|
|
37
|
-
node.children.
|
|
26
|
+
node.children = [new Tag('div', { property: 'text' }, node.children)];
|
|
38
27
|
}
|
|
39
28
|
}
|
|
40
|
-
return createComponentRenderable(
|
|
29
|
+
return createComponentRenderable({ rune: 'accordion-item', schemaOrgType: 'Question',
|
|
41
30
|
tag: 'details',
|
|
42
31
|
properties: {
|
|
43
32
|
name: nameTag,
|
|
@@ -48,17 +37,11 @@ class AccordionItemModel extends Model {
|
|
|
48
37
|
schema: {
|
|
49
38
|
name: nameTag,
|
|
50
39
|
acceptedAnswer: bodyDivs,
|
|
51
|
-
text: textMeta,
|
|
52
40
|
},
|
|
53
41
|
children: [nameTag, body.next()],
|
|
54
42
|
});
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
__decorate([
|
|
58
|
-
attribute({ type: String, required: true }),
|
|
59
|
-
__metadata("design:type", String)
|
|
60
|
-
], AccordionItemModel.prototype, "name", void 0);
|
|
61
|
-
export const accordionItem = createSchema(AccordionItemModel);
|
|
43
|
+
},
|
|
44
|
+
});
|
|
62
45
|
export const accordion = createContentModelSchema({
|
|
63
46
|
attributes: {
|
|
64
47
|
multiple: { type: Boolean, required: false, description: 'Allow multiple panels to be open at once' },
|
|
@@ -87,7 +70,7 @@ export const accordion = createContentModelSchema({
|
|
|
87
70
|
const children = headerNodes.count() > 0
|
|
88
71
|
? [headerNodes.wrap('header').next(), itemsContainer.next()]
|
|
89
72
|
: [itemsContainer.next()];
|
|
90
|
-
return createComponentRenderable(
|
|
73
|
+
return createComponentRenderable({ rune: 'accordion', schemaOrgType: 'FAQPage',
|
|
91
74
|
tag: 'section',
|
|
92
75
|
property: 'contentSection',
|
|
93
76
|
properties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/tags/accordion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/tags/annotate.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"annotate.d.ts","sourceRoot":"","sources":["../../src/tags/annotate.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,eAAO,MAAM,YAAY,gBAqBvB,CAAC;AAIH,eAAO,MAAM,QAAQ,gBA6BnB,CAAC"}
|
package/dist/tags/annotate.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
const { Tag } = Markdoc;
|
|
3
|
-
import { schema } from '../registry.js';
|
|
4
3
|
import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
|
|
5
4
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
6
5
|
export const annotateNote = createContentModelSchema({
|
|
@@ -12,7 +11,7 @@ export const annotateNote = createContentModelSchema({
|
|
|
12
11
|
},
|
|
13
12
|
transform(resolved, attrs, config) {
|
|
14
13
|
const body = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config)).wrap('div');
|
|
15
|
-
return createComponentRenderable(
|
|
14
|
+
return createComponentRenderable({ rune: 'annotate-note',
|
|
16
15
|
tag: 'aside',
|
|
17
16
|
properties: {},
|
|
18
17
|
refs: {
|
|
@@ -38,7 +37,7 @@ export const annotate = createContentModelSchema({
|
|
|
38
37
|
const variantMeta = new Tag('meta', { content: attrs.variant ?? 'margin' });
|
|
39
38
|
const notes = children.tag('aside').typeof('AnnotateNote');
|
|
40
39
|
const body = children.wrap('div');
|
|
41
|
-
return createComponentRenderable(
|
|
40
|
+
return createComponentRenderable({ rune: 'annotate',
|
|
42
41
|
tag: 'div',
|
|
43
42
|
properties: {
|
|
44
43
|
note: notes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/tags/annotate.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"annotate.js","sourceRoot":"","sources":["../../src/tags/annotate.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;AAE5D,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;IACpD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5D;KACD;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,MAAM,IAAI,GAAG,IAAI,oBAAoB,CACpC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAyB,CACzE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEd,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,eAAe;YACvD,GAAG,EAAE,OAAO;YACZ,UAAU,EAAE,EAAE;YACd,IAAI,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;aACrB;YACD,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SACvB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAC;AAE7D,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAC;IAChD,UAAU,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,sDAAsD,EAAE;KAC7I;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5D;KACD;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACxC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAyB,CACzE,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;QAE5E,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU;YAClD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,WAAW;aACpB;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACpC,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
|
package/dist/tags/blog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"blog.d.ts","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAWvC,eAAO,MAAM,IAAI,gBAgEf,CAAC"}
|
package/dist/tags/blog.js
CHANGED
|
@@ -2,7 +2,6 @@ import Markdoc from '@markdoc/markdoc';
|
|
|
2
2
|
import { createContentModelSchema, createComponentRenderable } from '../lib/index.js';
|
|
3
3
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
4
4
|
import { pageSectionProperties } from './common.js';
|
|
5
|
-
import { schema } from '../registry.js';
|
|
6
5
|
const { Tag } = Markdoc;
|
|
7
6
|
const sortOptions = ['date-desc', 'date-asc', 'title-asc', 'title-desc'];
|
|
8
7
|
const layoutOptions = ['list', 'grid', 'compact'];
|
|
@@ -46,7 +45,7 @@ export const blog = createContentModelSchema({
|
|
|
46
45
|
...headerContent,
|
|
47
46
|
postList,
|
|
48
47
|
];
|
|
49
|
-
return createComponentRenderable(
|
|
48
|
+
return createComponentRenderable({ rune: 'blog', schemaOrgType: 'Blog',
|
|
50
49
|
tag: 'section',
|
|
51
50
|
property: 'contentSection',
|
|
52
51
|
properties: {
|
package/dist/tags/blog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAMvC,wGAAwG;AACxG,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,eAAO,MAAM,UAAU,gBAmHrB,CAAC"}
|
package/dist/tags/breadcrumb.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
const { Tag } = Markdoc;
|
|
3
|
-
import { schema } from '../registry.js';
|
|
4
3
|
import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
|
|
5
4
|
import { RenderableNodeCursor } from '../lib/renderable.js';
|
|
6
5
|
/** Sentinel meta property written by breadcrumb auto mode; consumed by corePipelineHooks.postProcess */
|
|
@@ -28,7 +27,7 @@ export const breadcrumb = createContentModelSchema({
|
|
|
28
27
|
// The core post-process hook will replace the empty ol with resolved items.
|
|
29
28
|
const sentinelMeta = new Tag('meta', { 'data-field': BREADCRUMB_AUTO_SENTINEL, content: 'true' });
|
|
30
29
|
const emptyList = new Tag('ol', {}, []);
|
|
31
|
-
return createComponentRenderable(
|
|
30
|
+
return createComponentRenderable({ rune: 'breadcrumb', schemaOrgType: 'BreadcrumbList',
|
|
32
31
|
tag: 'nav',
|
|
33
32
|
properties: {
|
|
34
33
|
separator: separatorMeta,
|
|
@@ -54,7 +53,7 @@ export const breadcrumb = createContentModelSchema({
|
|
|
54
53
|
if (link) {
|
|
55
54
|
const nameSpan = new Tag('span', { hidden: true }, link.children);
|
|
56
55
|
const urlLink = new Tag('a', { href: link.attributes.href }, link.children);
|
|
57
|
-
listItems.push(createComponentRenderable(
|
|
56
|
+
listItems.push(createComponentRenderable({ rune: 'breadcrumb-item', schemaOrgType: 'ListItem',
|
|
58
57
|
tag: 'li',
|
|
59
58
|
properties: {
|
|
60
59
|
name: nameSpan,
|
|
@@ -72,7 +71,7 @@ export const breadcrumb = createContentModelSchema({
|
|
|
72
71
|
// Last item (no link) — current page
|
|
73
72
|
const text = li.children.filter((c) => typeof c === 'string').join('').trim();
|
|
74
73
|
const nameSpan = new Tag('span', {}, text ? [text] : li.children);
|
|
75
|
-
listItems.push(createComponentRenderable(
|
|
74
|
+
listItems.push(createComponentRenderable({ rune: 'breadcrumb-item', schemaOrgType: 'ListItem',
|
|
76
75
|
tag: 'li',
|
|
77
76
|
properties: {
|
|
78
77
|
name: nameSpan,
|
|
@@ -89,7 +88,7 @@ export const breadcrumb = createContentModelSchema({
|
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
90
|
const itemsList = new Tag('ol', {}, listItems);
|
|
92
|
-
return createComponentRenderable(
|
|
91
|
+
return createComponentRenderable({ rune: 'breadcrumb', schemaOrgType: 'BreadcrumbList',
|
|
93
92
|
tag: 'nav',
|
|
94
93
|
properties: {
|
|
95
94
|
separator: separatorMeta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/tags/budget.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"budget.d.ts","sourceRoot":"","sources":["../../src/tags/budget.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6DvC,eAAO,MAAM,cAAc,gBAsBzB,CAAC;AAmDH,eAAO,MAAM,cAAc,gBAuCzB,CAAC;AAuBH,eAAO,MAAM,MAAM,gBA2EjB,CAAC"}
|