@fuzdev/fuz_ui 0.203.1 → 0.205.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.
Files changed (137) hide show
  1. package/dist/Alert.svelte +31 -17
  2. package/dist/Alert.svelte.d.ts +8 -2
  3. package/dist/Alert.svelte.d.ts.map +1 -1
  4. package/dist/ApiModule.svelte +14 -1
  5. package/dist/ApiModule.svelte.d.ts.map +1 -1
  6. package/dist/Card.svelte +28 -10
  7. package/dist/Card.svelte.d.ts +7 -2
  8. package/dist/Card.svelte.d.ts.map +1 -1
  9. package/dist/CopyToClipboard.svelte +5 -1
  10. package/dist/CopyToClipboard.svelte.d.ts.map +1 -1
  11. package/dist/DeclarationDetail.svelte +15 -4
  12. package/dist/DeclarationDetail.svelte.d.ts.map +1 -1
  13. package/dist/DocsLink.svelte +15 -4
  14. package/dist/DocsLink.svelte.d.ts +8 -1
  15. package/dist/DocsLink.svelte.d.ts.map +1 -1
  16. package/dist/DocsMenu.svelte +1 -1
  17. package/dist/DocsPageLinks.svelte +1 -1
  18. package/dist/EcosystemLinks.svelte +5 -2
  19. package/dist/EcosystemLinks.svelte.d.ts +2 -1
  20. package/dist/EcosystemLinks.svelte.d.ts.map +1 -1
  21. package/dist/EcosystemLinksPanel.svelte +4 -2
  22. package/dist/EcosystemLinksPanel.svelte.d.ts +2 -1
  23. package/dist/EcosystemLinksPanel.svelte.d.ts.map +1 -1
  24. package/dist/Hashlink.svelte +1 -1
  25. package/dist/ImgOrSvg.svelte +6 -5
  26. package/dist/ImgOrSvg.svelte.d.ts +2 -1
  27. package/dist/ImgOrSvg.svelte.d.ts.map +1 -1
  28. package/dist/LibraryDetail.svelte +5 -2
  29. package/dist/LibraryDetail.svelte.d.ts +3 -1
  30. package/dist/LibraryDetail.svelte.d.ts.map +1 -1
  31. package/dist/LibrarySummary.svelte +4 -2
  32. package/dist/LibrarySummary.svelte.d.ts +2 -1
  33. package/dist/LibrarySummary.svelte.d.ts.map +1 -1
  34. package/dist/PasteFromClipboard.svelte +3 -1
  35. package/dist/PasteFromClipboard.svelte.d.ts.map +1 -1
  36. package/dist/PendingButton.svelte +0 -2
  37. package/dist/PendingButton.svelte.d.ts.map +1 -1
  38. package/dist/StyleVariableButton.svelte +5 -1
  39. package/dist/StyleVariableButton.svelte.d.ts.map +1 -1
  40. package/dist/Svg.svelte +1 -1
  41. package/dist/TomeContent.svelte +5 -2
  42. package/dist/TomeContent.svelte.d.ts +2 -1
  43. package/dist/TomeContent.svelte.d.ts.map +1 -1
  44. package/dist/TypeLink.svelte +13 -4
  45. package/dist/TypeLink.svelte.d.ts +7 -1
  46. package/dist/TypeLink.svelte.d.ts.map +1 -1
  47. package/package.json +12 -36
  48. package/dist/Mdz.svelte +0 -34
  49. package/dist/Mdz.svelte.d.ts +0 -11
  50. package/dist/Mdz.svelte.d.ts.map +0 -1
  51. package/dist/MdzNodeView.svelte +0 -107
  52. package/dist/MdzNodeView.svelte.d.ts +0 -9
  53. package/dist/MdzNodeView.svelte.d.ts.map +0 -1
  54. package/dist/MdzPrecompiled.svelte +0 -30
  55. package/dist/MdzPrecompiled.svelte.d.ts +0 -11
  56. package/dist/MdzPrecompiled.svelte.d.ts.map +0 -1
  57. package/dist/MdzRoot.svelte +0 -30
  58. package/dist/MdzRoot.svelte.d.ts +0 -12
  59. package/dist/MdzRoot.svelte.d.ts.map +0 -1
  60. package/dist/MdzStream.svelte +0 -32
  61. package/dist/MdzStream.svelte.d.ts +0 -12
  62. package/dist/MdzStream.svelte.d.ts.map +0 -1
  63. package/dist/MdzStreamNodeView.svelte +0 -106
  64. package/dist/MdzStreamNodeView.svelte.d.ts +0 -9
  65. package/dist/MdzStreamNodeView.svelte.d.ts.map +0 -1
  66. package/dist/mdz.d.ts +0 -112
  67. package/dist/mdz.d.ts.map +0 -1
  68. package/dist/mdz.js +0 -1186
  69. package/dist/mdz_components.d.ts +0 -63
  70. package/dist/mdz_components.d.ts.map +0 -1
  71. package/dist/mdz_components.js +0 -32
  72. package/dist/mdz_helpers.d.ts +0 -164
  73. package/dist/mdz_helpers.d.ts.map +0 -1
  74. package/dist/mdz_helpers.js +0 -424
  75. package/dist/mdz_lexer.d.ts +0 -93
  76. package/dist/mdz_lexer.d.ts.map +0 -1
  77. package/dist/mdz_lexer.js +0 -732
  78. package/dist/mdz_opcodes.d.ts +0 -174
  79. package/dist/mdz_opcodes.d.ts.map +0 -1
  80. package/dist/mdz_opcodes.js +0 -14
  81. package/dist/mdz_opcodes_to_nodes.d.ts +0 -20
  82. package/dist/mdz_opcodes_to_nodes.d.ts.map +0 -1
  83. package/dist/mdz_opcodes_to_nodes.js +0 -332
  84. package/dist/mdz_stream_parser.d.ts +0 -80
  85. package/dist/mdz_stream_parser.d.ts.map +0 -1
  86. package/dist/mdz_stream_parser.js +0 -354
  87. package/dist/mdz_stream_parser_block.d.ts +0 -76
  88. package/dist/mdz_stream_parser_block.d.ts.map +0 -1
  89. package/dist/mdz_stream_parser_block.js +0 -458
  90. package/dist/mdz_stream_parser_inline.d.ts +0 -52
  91. package/dist/mdz_stream_parser_inline.d.ts.map +0 -1
  92. package/dist/mdz_stream_parser_inline.js +0 -378
  93. package/dist/mdz_stream_parser_link.d.ts +0 -22
  94. package/dist/mdz_stream_parser_link.d.ts.map +0 -1
  95. package/dist/mdz_stream_parser_link.js +0 -215
  96. package/dist/mdz_stream_parser_state.d.ts +0 -187
  97. package/dist/mdz_stream_parser_state.d.ts.map +0 -1
  98. package/dist/mdz_stream_parser_state.js +0 -398
  99. package/dist/mdz_stream_parser_text.d.ts +0 -14
  100. package/dist/mdz_stream_parser_text.d.ts.map +0 -1
  101. package/dist/mdz_stream_parser_text.js +0 -50
  102. package/dist/mdz_stream_parser_url.d.ts +0 -60
  103. package/dist/mdz_stream_parser_url.d.ts.map +0 -1
  104. package/dist/mdz_stream_parser_url.js +0 -307
  105. package/dist/mdz_stream_state.svelte.d.ts +0 -44
  106. package/dist/mdz_stream_state.svelte.d.ts.map +0 -1
  107. package/dist/mdz_stream_state.svelte.js +0 -357
  108. package/dist/mdz_to_svelte.d.ts +0 -41
  109. package/dist/mdz_to_svelte.d.ts.map +0 -1
  110. package/dist/mdz_to_svelte.js +0 -100
  111. package/dist/mdz_token_parser.d.ts +0 -14
  112. package/dist/mdz_token_parser.d.ts.map +0 -1
  113. package/dist/mdz_token_parser.js +0 -344
  114. package/dist/svelte_preprocess_mdz.d.ts +0 -65
  115. package/dist/svelte_preprocess_mdz.d.ts.map +0 -1
  116. package/dist/svelte_preprocess_mdz.js +0 -529
  117. package/dist/tsdoc_mdz.d.ts +0 -45
  118. package/dist/tsdoc_mdz.d.ts.map +0 -1
  119. package/dist/tsdoc_mdz.js +0 -88
  120. package/src/lib/mdz.ts +0 -1532
  121. package/src/lib/mdz_components.ts +0 -64
  122. package/src/lib/mdz_helpers.ts +0 -449
  123. package/src/lib/mdz_lexer.ts +0 -1012
  124. package/src/lib/mdz_opcodes.ts +0 -205
  125. package/src/lib/mdz_opcodes_to_nodes.ts +0 -375
  126. package/src/lib/mdz_stream_parser.ts +0 -415
  127. package/src/lib/mdz_stream_parser_block.ts +0 -532
  128. package/src/lib/mdz_stream_parser_inline.ts +0 -414
  129. package/src/lib/mdz_stream_parser_link.ts +0 -271
  130. package/src/lib/mdz_stream_parser_state.ts +0 -539
  131. package/src/lib/mdz_stream_parser_text.ts +0 -77
  132. package/src/lib/mdz_stream_parser_url.ts +0 -365
  133. package/src/lib/mdz_stream_state.svelte.ts +0 -387
  134. package/src/lib/mdz_to_svelte.ts +0 -141
  135. package/src/lib/mdz_token_parser.ts +0 -434
  136. package/src/lib/svelte_preprocess_mdz.ts +0 -742
  137. package/src/lib/tsdoc_mdz.ts +0 -97
@@ -1,97 +0,0 @@
1
- /**
2
- * Bridge between TSDoc format and mdz for rendering.
3
- *
4
- * This module converts raw TSDoc syntax (from the analysis library) to mdz format
5
- * (Fuz's documentation rendering dialect). It lives in fuz_ui, not the extracted
6
- * analysis library, to keep that library format-agnostic.
7
- *
8
- * @module
9
- */
10
-
11
- import {mdz_is_url} from './mdz_helpers.js';
12
-
13
- /** Format a reference as mdz: URLs pass through, identifiers get backticks. */
14
- const format_reference = (ref: string): string => (mdz_is_url(ref) ? ref : `\`${ref}\``);
15
-
16
- /**
17
- * Convert raw TSDoc `@see` content to mdz format for rendering.
18
- *
19
- * Handles TSDoc link syntax:
20
- * - `{@link url|text}` → `[text](url)` (markdown link, TSDoc canonical form)
21
- * - `{@link url text}` → `[text](url)` (TS-lenient space-separated form)
22
- * - `{@link https://...}` → `https://...` (bare URL, auto-linked by mdz)
23
- * - `{@link identifier}` → `` `identifier` `` (code formatting)
24
- * - Bare URLs → returned as-is
25
- * - Bare markdown links (`[text](url)` ...) → returned as-is
26
- * - Bare identifiers → wrapped in backticks
27
- * - `identifier description text` → `` `identifier` description text `` (first token is the reference)
28
- *
29
- * @param content - raw `@see` tag content in TSDoc format
30
- * @returns mdz-formatted string ready for `Mdz` component
31
- *
32
- * @example
33
- * ```ts
34
- * tsdoc_see_to_mdz('{@link https://fuz.dev|API Docs}')
35
- * // → '[API Docs](https://fuz.dev)'
36
- *
37
- * tsdoc_see_to_mdz('{@link SomeType}')
38
- * // → '`SomeType`'
39
- *
40
- * tsdoc_see_to_mdz('https://fuz.dev')
41
- * // → 'https://fuz.dev'
42
- *
43
- * tsdoc_see_to_mdz('[svelte-docinfo](https://github.com/ryanatkn/svelte-docinfo) for the analysis library')
44
- * // → '[svelte-docinfo](https://github.com/ryanatkn/svelte-docinfo) for the analysis library'
45
- *
46
- * tsdoc_see_to_mdz('tome.ts for the documentation system')
47
- * // → '`tome.ts` for the documentation system'
48
- * ```
49
- */
50
- export const tsdoc_see_to_mdz = (content: string): string => {
51
- const trimmed = content.trim();
52
- if (!trimmed) return '';
53
-
54
- // Check for {@link ...} or {@see ...} syntax
55
- const link_match = /^\{@(?:link|see)\s+([^}]+)\}$/.exec(trimmed);
56
- if (link_match) {
57
- const inner = link_match[1]!.trim();
58
-
59
- // Pipe separator takes precedence (TSDoc canonical form)
60
- const pipe_index = inner.indexOf('|');
61
- if (pipe_index !== -1) {
62
- const reference = inner.slice(0, pipe_index).trim();
63
- const display_text = inner.slice(pipe_index + 1).trim();
64
- return `[${display_text}](${reference})`;
65
- }
66
-
67
- // Space-separated form: TS accepts `{@link url text}` as equivalent to `{@link url|text}`.
68
- // Only treat space as a separator when the first token looks like a link target (URL),
69
- // so identifier-style references like `module.function` aren't split.
70
- const space_index = inner.indexOf(' ');
71
- if (space_index !== -1) {
72
- const reference = inner.slice(0, space_index);
73
- if (mdz_is_url(reference)) {
74
- const display_text = inner.slice(space_index + 1).trim();
75
- return `[${display_text}](${reference})`;
76
- }
77
- }
78
-
79
- return format_reference(inner);
80
- }
81
-
82
- // Pass through bare markdown links (`[text](url)` optionally followed by description)
83
- // so authors can write `@see [text](url) for context` directly.
84
- if (trimmed.charCodeAt(0) === 91 /* [ */ && /^\[[^\]]+\]\([^)\s]+\)/.test(trimmed)) {
85
- return trimmed;
86
- }
87
-
88
- // Split at first whitespace: first token is the reference, rest is description
89
- const space_index = trimmed.indexOf(' ');
90
- if (space_index === -1) {
91
- return format_reference(trimmed);
92
- }
93
-
94
- const reference = trimmed.slice(0, space_index);
95
- const description = trimmed.slice(space_index); // preserve leading space
96
- return format_reference(reference) + description;
97
- };