@fuzdev/fuz_ui 0.204.0 → 0.205.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.
Files changed (123) hide show
  1. package/dist/ApiModule.svelte +14 -1
  2. package/dist/ApiModule.svelte.d.ts.map +1 -1
  3. package/dist/Breadcrumb.svelte +2 -2
  4. package/dist/Card.svelte +1 -7
  5. package/dist/ColorSchemeInput.svelte +1 -2
  6. package/dist/ContextmenuEntry.svelte +1 -3
  7. package/dist/ContextmenuLinkEntry.svelte +1 -4
  8. package/dist/ContextmenuSeparator.svelte +1 -1
  9. package/dist/ContextmenuSubmenu.svelte +1 -2
  10. package/dist/CopyToClipboard.svelte +5 -5
  11. package/dist/CopyToClipboard.svelte.d.ts.map +1 -1
  12. package/dist/DeclarationDetail.svelte +15 -4
  13. package/dist/DeclarationDetail.svelte.d.ts.map +1 -1
  14. package/dist/Dialog.svelte +1 -2
  15. package/dist/DialogContent.svelte +1 -1
  16. package/dist/DocsList.svelte +1 -1
  17. package/dist/DocsMenu.svelte +1 -1
  18. package/dist/DocsPageLinks.svelte +9 -8
  19. package/dist/DocsPageLinks.svelte.d.ts.map +1 -1
  20. package/dist/DocsPrimaryNav.svelte +1 -1
  21. package/dist/DocsSecondaryNav.svelte +1 -1
  22. package/dist/EcosystemLinks.svelte +1 -1
  23. package/dist/LibraryDetail.svelte +10 -7
  24. package/dist/LibraryDetail.svelte.d.ts.map +1 -1
  25. package/dist/LibrarySummary.svelte +1 -2
  26. package/dist/PendingAnimation.svelte +6 -4
  27. package/dist/PendingAnimation.svelte.d.ts.map +1 -1
  28. package/dist/PendingButton.svelte +1 -2
  29. package/dist/StyleVariableButton.svelte +1 -2
  30. package/dist/Svg.svelte +1 -1
  31. package/dist/ThemeInput.svelte +1 -2
  32. package/dist/TomeSectionHeader.svelte +1 -1
  33. package/package.json +14 -38
  34. package/dist/Mdz.svelte +0 -34
  35. package/dist/Mdz.svelte.d.ts +0 -11
  36. package/dist/Mdz.svelte.d.ts.map +0 -1
  37. package/dist/MdzNodeView.svelte +0 -107
  38. package/dist/MdzNodeView.svelte.d.ts +0 -9
  39. package/dist/MdzNodeView.svelte.d.ts.map +0 -1
  40. package/dist/MdzPrecompiled.svelte +0 -30
  41. package/dist/MdzPrecompiled.svelte.d.ts +0 -11
  42. package/dist/MdzPrecompiled.svelte.d.ts.map +0 -1
  43. package/dist/MdzRoot.svelte +0 -30
  44. package/dist/MdzRoot.svelte.d.ts +0 -12
  45. package/dist/MdzRoot.svelte.d.ts.map +0 -1
  46. package/dist/MdzStream.svelte +0 -32
  47. package/dist/MdzStream.svelte.d.ts +0 -12
  48. package/dist/MdzStream.svelte.d.ts.map +0 -1
  49. package/dist/MdzStreamNodeView.svelte +0 -106
  50. package/dist/MdzStreamNodeView.svelte.d.ts +0 -9
  51. package/dist/MdzStreamNodeView.svelte.d.ts.map +0 -1
  52. package/dist/mdz.d.ts +0 -112
  53. package/dist/mdz.d.ts.map +0 -1
  54. package/dist/mdz.js +0 -1186
  55. package/dist/mdz_components.d.ts +0 -63
  56. package/dist/mdz_components.d.ts.map +0 -1
  57. package/dist/mdz_components.js +0 -32
  58. package/dist/mdz_helpers.d.ts +0 -164
  59. package/dist/mdz_helpers.d.ts.map +0 -1
  60. package/dist/mdz_helpers.js +0 -424
  61. package/dist/mdz_lexer.d.ts +0 -93
  62. package/dist/mdz_lexer.d.ts.map +0 -1
  63. package/dist/mdz_lexer.js +0 -732
  64. package/dist/mdz_opcodes.d.ts +0 -174
  65. package/dist/mdz_opcodes.d.ts.map +0 -1
  66. package/dist/mdz_opcodes.js +0 -14
  67. package/dist/mdz_opcodes_to_nodes.d.ts +0 -20
  68. package/dist/mdz_opcodes_to_nodes.d.ts.map +0 -1
  69. package/dist/mdz_opcodes_to_nodes.js +0 -332
  70. package/dist/mdz_stream_parser.d.ts +0 -80
  71. package/dist/mdz_stream_parser.d.ts.map +0 -1
  72. package/dist/mdz_stream_parser.js +0 -354
  73. package/dist/mdz_stream_parser_block.d.ts +0 -76
  74. package/dist/mdz_stream_parser_block.d.ts.map +0 -1
  75. package/dist/mdz_stream_parser_block.js +0 -458
  76. package/dist/mdz_stream_parser_inline.d.ts +0 -52
  77. package/dist/mdz_stream_parser_inline.d.ts.map +0 -1
  78. package/dist/mdz_stream_parser_inline.js +0 -378
  79. package/dist/mdz_stream_parser_link.d.ts +0 -22
  80. package/dist/mdz_stream_parser_link.d.ts.map +0 -1
  81. package/dist/mdz_stream_parser_link.js +0 -215
  82. package/dist/mdz_stream_parser_state.d.ts +0 -187
  83. package/dist/mdz_stream_parser_state.d.ts.map +0 -1
  84. package/dist/mdz_stream_parser_state.js +0 -398
  85. package/dist/mdz_stream_parser_text.d.ts +0 -14
  86. package/dist/mdz_stream_parser_text.d.ts.map +0 -1
  87. package/dist/mdz_stream_parser_text.js +0 -50
  88. package/dist/mdz_stream_parser_url.d.ts +0 -60
  89. package/dist/mdz_stream_parser_url.d.ts.map +0 -1
  90. package/dist/mdz_stream_parser_url.js +0 -307
  91. package/dist/mdz_stream_state.svelte.d.ts +0 -44
  92. package/dist/mdz_stream_state.svelte.d.ts.map +0 -1
  93. package/dist/mdz_stream_state.svelte.js +0 -357
  94. package/dist/mdz_to_svelte.d.ts +0 -41
  95. package/dist/mdz_to_svelte.d.ts.map +0 -1
  96. package/dist/mdz_to_svelte.js +0 -100
  97. package/dist/mdz_token_parser.d.ts +0 -14
  98. package/dist/mdz_token_parser.d.ts.map +0 -1
  99. package/dist/mdz_token_parser.js +0 -344
  100. package/dist/svelte_preprocess_mdz.d.ts +0 -65
  101. package/dist/svelte_preprocess_mdz.d.ts.map +0 -1
  102. package/dist/svelte_preprocess_mdz.js +0 -529
  103. package/dist/tsdoc_mdz.d.ts +0 -45
  104. package/dist/tsdoc_mdz.d.ts.map +0 -1
  105. package/dist/tsdoc_mdz.js +0 -88
  106. package/src/lib/mdz.ts +0 -1532
  107. package/src/lib/mdz_components.ts +0 -64
  108. package/src/lib/mdz_helpers.ts +0 -449
  109. package/src/lib/mdz_lexer.ts +0 -1012
  110. package/src/lib/mdz_opcodes.ts +0 -205
  111. package/src/lib/mdz_opcodes_to_nodes.ts +0 -375
  112. package/src/lib/mdz_stream_parser.ts +0 -415
  113. package/src/lib/mdz_stream_parser_block.ts +0 -532
  114. package/src/lib/mdz_stream_parser_inline.ts +0 -414
  115. package/src/lib/mdz_stream_parser_link.ts +0 -271
  116. package/src/lib/mdz_stream_parser_state.ts +0 -539
  117. package/src/lib/mdz_stream_parser_text.ts +0 -77
  118. package/src/lib/mdz_stream_parser_url.ts +0 -365
  119. package/src/lib/mdz_stream_state.svelte.ts +0 -387
  120. package/src/lib/mdz_to_svelte.ts +0 -141
  121. package/src/lib/mdz_token_parser.ts +0 -434
  122. package/src/lib/svelte_preprocess_mdz.ts +0 -742
  123. package/src/lib/tsdoc_mdz.ts +0 -97
@@ -1,107 +0,0 @@
1
- <script lang="ts">
2
- import Code from '@fuzdev/fuz_code/Code.svelte';
3
- import {resolve} from '$app/paths';
4
-
5
- import type {MdzNode} from './mdz.js';
6
- import {resolve_relative_path, mdz_is_safe_reference} from './mdz_helpers.js';
7
- import DocsLink from './DocsLink.svelte';
8
- import MdzNodeView from './MdzNodeView.svelte';
9
- import {
10
- mdz_components_context,
11
- mdz_elements_context,
12
- mdz_base_context,
13
- } from './mdz_components.js';
14
-
15
- const {
16
- node,
17
- }: {
18
- node: MdzNode;
19
- } = $props();
20
-
21
- const get_components = mdz_components_context.get_maybe();
22
- const get_elements = mdz_elements_context.get_maybe();
23
- const get_mdz_base = mdz_base_context.get_maybe();
24
- // TODO make `Code` customizable via context, maybe registered as component Codeblock?
25
- </script>
26
-
27
- {#if node.type === 'Element'}
28
- {@const element_config = get_elements?.()?.get(node.name)}
29
- {#if element_config !== undefined}
30
- <svelte:element this={node.name}>
31
- {#if node.children.length > 0}
32
- {@render render_children(node.children)}
33
- {/if}
34
- </svelte:element>
35
- {:else}
36
- {@render render_unregistered_tag(node.name, node.children)}
37
- {/if}
38
- {:else if node.type === 'Component'}
39
- {@const Component = get_components?.()?.get(node.name)}
40
- {#if Component}
41
- <Component>
42
- {#if node.children.length > 0}
43
- {@render render_children(node.children)}
44
- {/if}
45
- </Component>
46
- {:else}
47
- {@render render_unregistered_tag(node.name, node.children)}
48
- {/if}
49
- {:else if node.type === 'Text'}
50
- {node.content}
51
- {:else if node.type === 'Code'}
52
- <DocsLink reference={node.content} />
53
- {:else if node.type === 'Bold'}
54
- <strong>{@render render_children(node.children)}</strong>
55
- {:else if node.type === 'Italic'}
56
- <em>{@render render_children(node.children)}</em>
57
- {:else if node.type === 'Strikethrough'}
58
- <s>{@render render_children(node.children)}</s>
59
- {:else if node.type === 'Link'}
60
- {@const {reference} = node}
61
- {#if !mdz_is_safe_reference(reference)}
62
- {@render render_children(node.children)}
63
- {:else if node.link_type === 'internal'}
64
- {@const skip_resolve = reference.startsWith('#') || reference.startsWith('?')}
65
- {@const mdz_base = get_mdz_base?.()}
66
- {#if reference.startsWith('.') && mdz_base}
67
- {@const resolved = resolve_relative_path(reference, mdz_base)}
68
- <a href={resolve(resolved as any)}>{@render render_children(node.children)}</a>
69
- {:else if skip_resolve || reference.startsWith('.')}
70
- <!-- Fragment, query, and relative links without base skip resolve() -->
71
- <!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
72
- <a href={reference}>{@render render_children(node.children)}</a>
73
- {:else}
74
- <a href={resolve(reference as any)}>{@render render_children(node.children)}</a>
75
- {/if}
76
- {:else}
77
- <!-- external link -->
78
- <!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
79
- <a href={reference} target="_blank" rel="noopener">{@render render_children(node.children)}</a>
80
- {/if}
81
- {:else if node.type === 'Paragraph'}
82
- <p>{@render render_children(node.children)}</p>
83
- {:else if node.type === 'Hr'}
84
- <hr />
85
- {:else if node.type === 'Heading'}
86
- <svelte:element this={`h${node.level}`} id={node.id}>
87
- {@render render_children(node.children)}
88
- </svelte:element>
89
- {:else if node.type === 'Codeblock'}
90
- <Code lang={node.lang} content={node.content} />
91
- {/if}
92
-
93
- {#snippet render_children(nodes: Array<MdzNode>)}
94
- {#each nodes as node (node)}
95
- <MdzNodeView {node} />
96
- {/each}
97
- {/snippet}
98
-
99
- {#snippet render_unregistered_tag(name: string, children: Array<MdzNode>)}
100
- {#if children.length > 0}
101
- <code class="color_c_50">&lt;{name}&gt;</code>{@render render_children(children)}<code
102
- class="color_c_50">&lt;/{name}&gt;</code
103
- >
104
- {:else}
105
- <code class="color_c_50">&lt;{name} /&gt;</code>
106
- {/if}
107
- {/snippet}
@@ -1,9 +0,0 @@
1
- import type { MdzNode } from './mdz.js';
2
- import MdzNodeView from './MdzNodeView.svelte';
3
- type $$ComponentProps = {
4
- node: MdzNode;
5
- };
6
- declare const MdzNodeView: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type MdzNodeView = ReturnType<typeof MdzNodeView>;
8
- export default MdzNodeView;
9
- //# sourceMappingURL=MdzNodeView.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdzNodeView.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdzNodeView.svelte"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGtC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAO9C,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,OAAO,CAAC;CACd,CAAC;AAuGH,QAAA,MAAM,WAAW,sDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -1,30 +0,0 @@
1
- <script lang="ts">
2
- import type {Snippet} from 'svelte';
3
- import type {SvelteHTMLElements} from 'svelte/elements';
4
-
5
- /**
6
- * Wrapper for precompiled mdz content. Used by `svelte_preprocess_mdz`.
7
- * Not intended for direct use.
8
- *
9
- * @module
10
- */
11
-
12
- const {
13
- inline = false,
14
- nowrap = false,
15
- children,
16
- ...rest
17
- }: (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
18
- inline?: boolean;
19
- nowrap?: boolean;
20
- children: Snippet;
21
- } = $props();
22
- </script>
23
-
24
- <svelte:element
25
- this={inline ? 'span' : 'div'}
26
- {...rest}
27
- style:white-space={nowrap ? 'pre' : 'pre-wrap'}
28
- >
29
- {@render children()}
30
- </svelte:element>
@@ -1,11 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- import type { SvelteHTMLElements } from 'svelte/elements';
3
- type $$ComponentProps = (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
4
- inline?: boolean;
5
- nowrap?: boolean;
6
- children: Snippet;
7
- };
8
- declare const MdzPrecompiled: import("svelte").Component<$$ComponentProps, {}, "">;
9
- type MdzPrecompiled = ReturnType<typeof MdzPrecompiled>;
10
- export default MdzPrecompiled;
11
- //# sourceMappingURL=MdzPrecompiled.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdzPrecompiled.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdzPrecompiled.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AACpC,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAEvD,KAAK,gBAAgB,GAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG;IACnF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA0BH,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -1,30 +0,0 @@
1
- <script lang="ts">
2
- import type {Snippet} from 'svelte';
3
-
4
- import {
5
- mdz_base_context,
6
- mdz_components_context,
7
- mdz_elements_context,
8
- set_mdz_context_with_fallback,
9
- type MdzComponents,
10
- type MdzElements,
11
- } from './mdz_components.js';
12
-
13
- const {
14
- base,
15
- components,
16
- elements,
17
- children,
18
- }: {
19
- base?: string;
20
- components?: MdzComponents;
21
- elements?: MdzElements;
22
- children: Snippet;
23
- } = $props();
24
-
25
- set_mdz_context_with_fallback(mdz_base_context, () => base);
26
- set_mdz_context_with_fallback(mdz_components_context, () => components);
27
- set_mdz_context_with_fallback(mdz_elements_context, () => elements);
28
- </script>
29
-
30
- {@render children()}
@@ -1,12 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- import { type MdzComponents, type MdzElements } from './mdz_components.js';
3
- type $$ComponentProps = {
4
- base?: string;
5
- components?: MdzComponents;
6
- elements?: MdzElements;
7
- children: Snippet;
8
- };
9
- declare const MdzRoot: import("svelte").Component<$$ComponentProps, {}, "">;
10
- type MdzRoot = ReturnType<typeof MdzRoot>;
11
- export default MdzRoot;
12
- //# sourceMappingURL=MdzRoot.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdzRoot.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdzRoot.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,MAAM,qBAAqB,CAAC;AAE7B,KAAK,gBAAgB,GAAI;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAsBH,QAAA,MAAM,OAAO,sDAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -1,32 +0,0 @@
1
- <script lang="ts">
2
- import type {SvelteHTMLElements} from 'svelte/elements';
3
-
4
- import MdzStreamNodeView from './MdzStreamNodeView.svelte';
5
- import {mdz_base_context, set_mdz_context_with_fallback} from './mdz_components.js';
6
- import type {MdzStreamState} from './mdz_stream_state.svelte.js';
7
-
8
- const {
9
- state,
10
- inline = false,
11
- nowrap = false,
12
- base,
13
- ...rest
14
- }: (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
15
- state: MdzStreamState;
16
- inline?: boolean;
17
- nowrap?: boolean;
18
- base?: string;
19
- } = $props();
20
-
21
- set_mdz_context_with_fallback(mdz_base_context, () => base);
22
- </script>
23
-
24
- <svelte:element
25
- this={inline ? 'span' : 'div'}
26
- {...rest}
27
- style:white-space={nowrap ? 'pre' : 'pre-wrap'}
28
- >
29
- {#each state.root as node (node.id)}
30
- <MdzStreamNodeView {node} />
31
- {/each}
32
- </svelte:element>
@@ -1,12 +0,0 @@
1
- import type { SvelteHTMLElements } from 'svelte/elements';
2
- import type { MdzStreamState } from './mdz_stream_state.svelte.js';
3
- type $$ComponentProps = (SvelteHTMLElements['div'] | SvelteHTMLElements['span']) & {
4
- state: MdzStreamState;
5
- inline?: boolean;
6
- nowrap?: boolean;
7
- base?: string;
8
- };
9
- declare const MdzStream: import("svelte").Component<$$ComponentProps, {}, "">;
10
- type MdzStream = ReturnType<typeof MdzStream>;
11
- export default MdzStream;
12
- //# sourceMappingURL=MdzStream.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdzStream.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdzStream.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAIxD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAEhE,KAAK,gBAAgB,GAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG;IACnF,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AA2BH,QAAA,MAAM,SAAS,sDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -1,106 +0,0 @@
1
- <script lang="ts">
2
- import Code from '@fuzdev/fuz_code/Code.svelte';
3
- import {resolve} from '$app/paths';
4
-
5
- import {resolve_relative_path, mdz_is_safe_reference} from './mdz_helpers.js';
6
- import DocsLink from './DocsLink.svelte';
7
- import MdzStreamNodeView from './MdzStreamNodeView.svelte';
8
- import {
9
- mdz_components_context,
10
- mdz_elements_context,
11
- mdz_base_context,
12
- } from './mdz_components.js';
13
- import type {MdzStreamNode} from './mdz_stream_state.svelte.js';
14
-
15
- const {
16
- node,
17
- }: {
18
- node: MdzStreamNode;
19
- } = $props();
20
-
21
- const get_components = mdz_components_context.get_maybe();
22
- const get_elements = mdz_elements_context.get_maybe();
23
- const get_mdz_base = mdz_base_context.get_maybe();
24
- </script>
25
-
26
- {#if node.type === 'Element'}
27
- {@const element_config = get_elements?.()?.get(node.name ?? '')}
28
- {#if element_config !== undefined}
29
- <svelte:element this={node.name}>
30
- {#if node.children.length > 0}
31
- {@render render_children(node.children)}
32
- {/if}
33
- </svelte:element>
34
- {:else}
35
- {@render render_unregistered_tag(node.name ?? '', node.children)}
36
- {/if}
37
- {:else if node.type === 'Component'}
38
- {@const Component = get_components?.()?.get(node.name ?? '')}
39
- {#if Component}
40
- <Component>
41
- {#if node.children.length > 0}
42
- {@render render_children(node.children)}
43
- {/if}
44
- </Component>
45
- {:else}
46
- {@render render_unregistered_tag(node.name ?? '', node.children)}
47
- {/if}
48
- {:else if node.type === 'Text'}
49
- {node.content}
50
- {:else if node.type === 'Code'}
51
- <DocsLink reference={node.content} />
52
- {:else if node.type === 'Bold'}
53
- <strong>{@render render_children(node.children)}</strong>
54
- {:else if node.type === 'Italic'}
55
- <em>{@render render_children(node.children)}</em>
56
- {:else if node.type === 'Strikethrough'}
57
- <s>{@render render_children(node.children)}</s>
58
- {:else if node.type === 'Link'}
59
- {@const reference = node.reference ?? ''}
60
- {#if !mdz_is_safe_reference(reference)}
61
- {@render render_children(node.children)}
62
- {:else if node.link_type === 'internal'}
63
- {@const skip_resolve = reference.startsWith('#') || reference.startsWith('?')}
64
- {@const mdz_base = get_mdz_base?.()}
65
- {#if reference.startsWith('.') && mdz_base}
66
- {@const resolved = resolve_relative_path(reference, mdz_base)}
67
- <a href={resolve(resolved as any)}>{@render render_children(node.children)}</a>
68
- {:else if skip_resolve || reference.startsWith('.')}
69
- <!-- Fragment, query, and relative links without base skip resolve() -->
70
- <!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
71
- <a href={reference}>{@render render_children(node.children)}</a>
72
- {:else}
73
- <a href={resolve(reference as any)}>{@render render_children(node.children)}</a>
74
- {/if}
75
- {:else}
76
- <!-- external link -->
77
- <!-- eslint-disable-next-line svelte/no-navigation-without-resolve -->
78
- <a href={reference} target="_blank" rel="noopener">{@render render_children(node.children)}</a>
79
- {/if}
80
- {:else if node.type === 'Paragraph'}
81
- <p>{@render render_children(node.children)}</p>
82
- {:else if node.type === 'Hr'}
83
- <hr />
84
- {:else if node.type === 'Heading'}
85
- <svelte:element this={`h${node.level}`} id={node.heading_id}>
86
- {@render render_children(node.children)}
87
- </svelte:element>
88
- {:else if node.type === 'Codeblock'}
89
- <Code lang={node.lang} content={node.content} />
90
- {/if}
91
-
92
- {#snippet render_children(nodes: Array<MdzStreamNode>)}
93
- {#each nodes as node (node.id)}
94
- <MdzStreamNodeView {node} />
95
- {/each}
96
- {/snippet}
97
-
98
- {#snippet render_unregistered_tag(name: string, children: Array<MdzStreamNode>)}
99
- {#if children.length > 0}
100
- <code class="color_c_50">&lt;{name}&gt;</code>{@render render_children(children)}<code
101
- class="color_c_50">&lt;/{name}&gt;</code
102
- >
103
- {:else}
104
- <code class="color_c_50">&lt;{name} /&gt;</code>
105
- {/if}
106
- {/snippet}
@@ -1,9 +0,0 @@
1
- import MdzStreamNodeView from './MdzStreamNodeView.svelte';
2
- import type { MdzStreamNode } from './mdz_stream_state.svelte.js';
3
- type $$ComponentProps = {
4
- node: MdzStreamNode;
5
- };
6
- declare const MdzStreamNodeView: import("svelte").Component<$$ComponentProps, {}, "">;
7
- type MdzStreamNodeView = ReturnType<typeof MdzStreamNodeView>;
8
- export default MdzStreamNodeView;
9
- //# sourceMappingURL=MdzStreamNodeView.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MdzStreamNodeView.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/MdzStreamNodeView.svelte"],"names":[],"mappings":"AAQA,OAAO,iBAAiB,MAAM,4BAA4B,CAAC;AAM3D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAE/D,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,aAAa,CAAC;CACpB,CAAC;AAsGH,QAAA,MAAM,iBAAiB,sDAAwC,CAAC;AAChE,KAAK,iBAAiB,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC9D,eAAe,iBAAiB,CAAC"}
package/dist/mdz.d.ts DELETED
@@ -1,112 +0,0 @@
1
- /**
2
- * mdz - minimal markdown dialect for Fuz documentation.
3
- *
4
- * Parses an enhanced markdown dialect with:
5
- * - inline formatting: `code`, **bold**, _italic_, ~strikethrough~
6
- * - auto-detected links: external URLs (`https://...`) and internal paths (`/path`)
7
- * - markdown links: `[text](url)` with custom display text
8
- * - inline code in backticks (creates `Code` nodes; auto-linking to identifiers/modules
9
- * is handled by the rendering layer via `MdzNodeView.svelte`)
10
- * - paragraph breaks (double newline)
11
- * - block elements: headings, horizontal rules, code blocks
12
- * - HTML elements and Svelte components (opt-in via context)
13
- *
14
- * Key constraint: preserves ALL whitespace exactly as authored,
15
- * and is rendered with white-space pre or pre-wrap.
16
- *
17
- * ## Design philosophy
18
- *
19
- * - **False negatives over false positives**: When in doubt, treat as plain text.
20
- * Block elements can interrupt paragraphs without blank lines; inline formatting is strict.
21
- * - **One way to do things**: Single unambiguous syntax per feature. No alternatives.
22
- * - **Explicit over implicit**: Clear delimiters and column-0 requirements avoid ambiguity.
23
- * - **Simple over complete**: Prefer simple parsing rules over complex edge case handling.
24
- *
25
- * ## Status
26
- *
27
- * This is an early proof of concept with missing features and edge cases.
28
- *
29
- * @module
30
- */
31
- /**
32
- * Parses text to an array of `MdzNode`.
33
- */
34
- export declare const mdz_parse: (text: string) => Array<MdzNode>;
35
- export type MdzNode = MdzTextNode | MdzCodeNode | MdzCodeblockNode | MdzBoldNode | MdzItalicNode | MdzStrikethroughNode | MdzLinkNode | MdzParagraphNode | MdzHrNode | MdzHeadingNode | MdzElementNode | MdzComponentNode;
36
- export interface MdzBaseNode {
37
- type: string;
38
- start: number;
39
- end: number;
40
- }
41
- export interface MdzTextNode extends MdzBaseNode {
42
- type: 'Text';
43
- content: string;
44
- }
45
- export interface MdzCodeNode extends MdzBaseNode {
46
- type: 'Code';
47
- content: string;
48
- }
49
- export interface MdzCodeblockNode extends MdzBaseNode {
50
- type: 'Codeblock';
51
- lang: string | null;
52
- content: string;
53
- }
54
- export interface MdzBoldNode extends MdzBaseNode {
55
- type: 'Bold';
56
- children: Array<MdzNode>;
57
- }
58
- export interface MdzItalicNode extends MdzBaseNode {
59
- type: 'Italic';
60
- children: Array<MdzNode>;
61
- }
62
- export interface MdzStrikethroughNode extends MdzBaseNode {
63
- type: 'Strikethrough';
64
- children: Array<MdzNode>;
65
- }
66
- export interface MdzLinkNode extends MdzBaseNode {
67
- type: 'Link';
68
- reference: string;
69
- children: Array<MdzNode>;
70
- link_type: 'external' | 'internal';
71
- }
72
- export interface MdzParagraphNode extends MdzBaseNode {
73
- type: 'Paragraph';
74
- children: Array<MdzNode>;
75
- }
76
- export interface MdzHrNode extends MdzBaseNode {
77
- type: 'Hr';
78
- }
79
- export interface MdzHeadingNode extends MdzBaseNode {
80
- type: 'Heading';
81
- level: 1 | 2 | 3 | 4 | 5 | 6;
82
- id: string;
83
- children: Array<MdzNode>;
84
- }
85
- export interface MdzElementNode extends MdzBaseNode {
86
- type: 'Element';
87
- name: string;
88
- children: Array<MdzNode>;
89
- }
90
- export interface MdzComponentNode extends MdzBaseNode {
91
- type: 'Component';
92
- name: string;
93
- children: Array<MdzNode>;
94
- }
95
- /**
96
- * Parser for mdz format.
97
- * Single-pass lexer/parser with text accumulation for efficiency.
98
- * Used by `mdz_parse`, which should be preferred for simple usage.
99
- */
100
- export declare class MdzParser {
101
- #private;
102
- constructor(template: string);
103
- /**
104
- * Main parse method. Returns flat array of nodes,
105
- * with paragraph nodes wrapping content between double newlines.
106
- *
107
- * Block elements (headings, HR, codeblocks) are detected at every column-0
108
- * position — they can interrupt paragraphs without requiring blank lines.
109
- */
110
- parse(): Array<MdzNode>;
111
- }
112
- //# sourceMappingURL=mdz.d.ts.map
package/dist/mdz.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"mdz.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/mdz.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AA0CH;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,KAAK,CAAC,OAAO,CAAgC,CAAC;AAEvF,MAAM,MAAM,OAAO,GAChB,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,oBAAoB,GACpB,WAAW,GACX,gBAAgB,GAChB,SAAS,GACT,cAAc,GACd,cAAc,GACd,gBAAgB,CAAC;AAEpB,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,WAAW;IACjD,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACxD,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACzB,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;CACnC;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC7C,IAAI,EAAE,IAAI,CAAC;CACX;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACpD,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,SAAS;;gBAQT,QAAQ,EAAE,MAAM;IAI5B;;;;;;OAMG;IACH,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;CAi0CvB"}