@humanspeak/svelte-markdown 0.8.16 → 0.8.17

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 (230) hide show
  1. package/dist/SvelteMarkdown.svelte +3 -3
  2. package/dist/index.d.ts +49 -0
  3. package/dist/index.js +48 -3
  4. package/dist/renderers/Blockquote.svelte +4 -0
  5. package/dist/renderers/Blockquote.svelte.d.ts +1 -0
  6. package/dist/renderers/Br.svelte +4 -0
  7. package/dist/renderers/Br.svelte.d.ts +1 -0
  8. package/dist/renderers/Code.svelte +8 -0
  9. package/dist/renderers/Code.svelte.d.ts +7 -0
  10. package/dist/renderers/Codespan.svelte +4 -0
  11. package/dist/renderers/Codespan.svelte.d.ts +1 -0
  12. package/dist/renderers/Del.svelte +4 -0
  13. package/dist/renderers/Del.svelte.d.ts +1 -0
  14. package/dist/renderers/Em.svelte +4 -0
  15. package/dist/renderers/Em.svelte.d.ts +1 -0
  16. package/dist/renderers/Escape.svelte +4 -0
  17. package/dist/renderers/Escape.svelte.d.ts +1 -0
  18. package/dist/renderers/Heading.svelte +15 -1
  19. package/dist/renderers/Heading.svelte.d.ts +13 -0
  20. package/dist/renderers/Hr.svelte +4 -0
  21. package/dist/renderers/Hr.svelte.d.ts +1 -0
  22. package/dist/renderers/Image.svelte +15 -0
  23. package/dist/renderers/Image.svelte.d.ts +14 -0
  24. package/dist/renderers/Link.svelte +8 -0
  25. package/dist/renderers/Link.svelte.d.ts +7 -0
  26. package/dist/renderers/List.svelte +8 -0
  27. package/dist/renderers/List.svelte.d.ts +7 -0
  28. package/dist/renderers/ListItem.svelte +7 -0
  29. package/dist/renderers/ListItem.svelte.d.ts +6 -0
  30. package/dist/renderers/Paragraph.svelte +4 -0
  31. package/dist/renderers/Paragraph.svelte.d.ts +1 -0
  32. package/dist/renderers/RawText.svelte +4 -0
  33. package/dist/renderers/RawText.svelte.d.ts +1 -0
  34. package/dist/renderers/Strong.svelte +4 -0
  35. package/dist/renderers/Strong.svelte.d.ts +1 -0
  36. package/dist/renderers/Table.svelte +4 -0
  37. package/dist/renderers/Table.svelte.d.ts +1 -0
  38. package/dist/renderers/TableBody.svelte +4 -0
  39. package/dist/renderers/TableBody.svelte.d.ts +1 -0
  40. package/dist/renderers/TableCell.svelte +9 -0
  41. package/dist/renderers/TableCell.svelte.d.ts +8 -0
  42. package/dist/renderers/TableHead.svelte +4 -0
  43. package/dist/renderers/TableHead.svelte.d.ts +1 -0
  44. package/dist/renderers/TableRow.svelte +4 -0
  45. package/dist/renderers/TableRow.svelte.d.ts +1 -0
  46. package/dist/renderers/Text.svelte +4 -0
  47. package/dist/renderers/Text.svelte.d.ts +1 -0
  48. package/dist/renderers/_Unsupported.svelte +4 -0
  49. package/dist/renderers/_Unsupported.svelte.d.ts +1 -0
  50. package/dist/renderers/html/A.svelte +5 -1
  51. package/dist/renderers/html/A.svelte.d.ts +1 -0
  52. package/dist/renderers/html/Abbr.svelte +5 -1
  53. package/dist/renderers/html/Abbr.svelte.d.ts +1 -0
  54. package/dist/renderers/html/Address.svelte +5 -1
  55. package/dist/renderers/html/Address.svelte.d.ts +1 -0
  56. package/dist/renderers/html/Article.svelte +5 -1
  57. package/dist/renderers/html/Article.svelte.d.ts +1 -0
  58. package/dist/renderers/html/Aside.svelte +5 -1
  59. package/dist/renderers/html/Aside.svelte.d.ts +1 -0
  60. package/dist/renderers/html/Audio.svelte +5 -1
  61. package/dist/renderers/html/Audio.svelte.d.ts +1 -0
  62. package/dist/renderers/html/B.svelte +5 -1
  63. package/dist/renderers/html/B.svelte.d.ts +1 -0
  64. package/dist/renderers/html/Bdi.svelte +5 -1
  65. package/dist/renderers/html/Bdi.svelte.d.ts +1 -0
  66. package/dist/renderers/html/Bdo.svelte +5 -1
  67. package/dist/renderers/html/Bdo.svelte.d.ts +1 -0
  68. package/dist/renderers/html/Blockquote.svelte +5 -1
  69. package/dist/renderers/html/Blockquote.svelte.d.ts +1 -0
  70. package/dist/renderers/html/Br.svelte +5 -1
  71. package/dist/renderers/html/Br.svelte.d.ts +1 -0
  72. package/dist/renderers/html/Button.svelte +5 -1
  73. package/dist/renderers/html/Button.svelte.d.ts +1 -0
  74. package/dist/renderers/html/Canvas.svelte +5 -1
  75. package/dist/renderers/html/Canvas.svelte.d.ts +1 -0
  76. package/dist/renderers/html/Cite.svelte +5 -1
  77. package/dist/renderers/html/Cite.svelte.d.ts +1 -0
  78. package/dist/renderers/html/Code.svelte +5 -1
  79. package/dist/renderers/html/Code.svelte.d.ts +1 -0
  80. package/dist/renderers/html/Datalist.svelte +5 -1
  81. package/dist/renderers/html/Datalist.svelte.d.ts +1 -0
  82. package/dist/renderers/html/Dd.svelte +5 -1
  83. package/dist/renderers/html/Dd.svelte.d.ts +1 -0
  84. package/dist/renderers/html/Del.svelte +5 -1
  85. package/dist/renderers/html/Del.svelte.d.ts +1 -0
  86. package/dist/renderers/html/Details.svelte +5 -1
  87. package/dist/renderers/html/Details.svelte.d.ts +1 -0
  88. package/dist/renderers/html/Dfn.svelte +5 -1
  89. package/dist/renderers/html/Dfn.svelte.d.ts +1 -0
  90. package/dist/renderers/html/Dialog.svelte +5 -1
  91. package/dist/renderers/html/Dialog.svelte.d.ts +1 -0
  92. package/dist/renderers/html/Div.svelte +5 -1
  93. package/dist/renderers/html/Div.svelte.d.ts +1 -0
  94. package/dist/renderers/html/Dl.svelte +5 -1
  95. package/dist/renderers/html/Dl.svelte.d.ts +1 -0
  96. package/dist/renderers/html/Dt.svelte +5 -1
  97. package/dist/renderers/html/Dt.svelte.d.ts +1 -0
  98. package/dist/renderers/html/Em.svelte +5 -1
  99. package/dist/renderers/html/Em.svelte.d.ts +1 -0
  100. package/dist/renderers/html/Embed.svelte +5 -1
  101. package/dist/renderers/html/Embed.svelte.d.ts +1 -0
  102. package/dist/renderers/html/Fieldset.svelte +5 -1
  103. package/dist/renderers/html/Fieldset.svelte.d.ts +1 -0
  104. package/dist/renderers/html/Footer.svelte +5 -1
  105. package/dist/renderers/html/Footer.svelte.d.ts +1 -0
  106. package/dist/renderers/html/Form.svelte +5 -1
  107. package/dist/renderers/html/Form.svelte.d.ts +1 -0
  108. package/dist/renderers/html/H1.svelte +5 -1
  109. package/dist/renderers/html/H1.svelte.d.ts +1 -0
  110. package/dist/renderers/html/H2.svelte +5 -1
  111. package/dist/renderers/html/H2.svelte.d.ts +1 -0
  112. package/dist/renderers/html/H3.svelte +5 -1
  113. package/dist/renderers/html/H3.svelte.d.ts +1 -0
  114. package/dist/renderers/html/H4.svelte +5 -1
  115. package/dist/renderers/html/H4.svelte.d.ts +1 -0
  116. package/dist/renderers/html/H5.svelte +5 -1
  117. package/dist/renderers/html/H5.svelte.d.ts +1 -0
  118. package/dist/renderers/html/H6.svelte +5 -1
  119. package/dist/renderers/html/H6.svelte.d.ts +1 -0
  120. package/dist/renderers/html/Header.svelte +5 -1
  121. package/dist/renderers/html/Header.svelte.d.ts +1 -0
  122. package/dist/renderers/html/Hgroup.svelte +5 -1
  123. package/dist/renderers/html/Hgroup.svelte.d.ts +1 -0
  124. package/dist/renderers/html/Hr.svelte +5 -1
  125. package/dist/renderers/html/Hr.svelte.d.ts +1 -0
  126. package/dist/renderers/html/I.svelte +5 -1
  127. package/dist/renderers/html/I.svelte.d.ts +1 -0
  128. package/dist/renderers/html/Iframe.svelte +5 -1
  129. package/dist/renderers/html/Iframe.svelte.d.ts +1 -0
  130. package/dist/renderers/html/Img.svelte +5 -1
  131. package/dist/renderers/html/Img.svelte.d.ts +1 -0
  132. package/dist/renderers/html/Input.svelte +5 -1
  133. package/dist/renderers/html/Input.svelte.d.ts +1 -0
  134. package/dist/renderers/html/Kbd.svelte +5 -1
  135. package/dist/renderers/html/Kbd.svelte.d.ts +1 -0
  136. package/dist/renderers/html/Label.svelte +5 -1
  137. package/dist/renderers/html/Label.svelte.d.ts +1 -0
  138. package/dist/renderers/html/Legend.svelte +5 -1
  139. package/dist/renderers/html/Legend.svelte.d.ts +1 -0
  140. package/dist/renderers/html/Li.svelte +5 -1
  141. package/dist/renderers/html/Li.svelte.d.ts +1 -0
  142. package/dist/renderers/html/Main.svelte +5 -1
  143. package/dist/renderers/html/Main.svelte.d.ts +1 -0
  144. package/dist/renderers/html/Mark.svelte +5 -1
  145. package/dist/renderers/html/Mark.svelte.d.ts +1 -0
  146. package/dist/renderers/html/Menu.svelte +5 -1
  147. package/dist/renderers/html/Menu.svelte.d.ts +1 -0
  148. package/dist/renderers/html/Meter.svelte +5 -1
  149. package/dist/renderers/html/Meter.svelte.d.ts +1 -0
  150. package/dist/renderers/html/Nav.svelte +5 -1
  151. package/dist/renderers/html/Nav.svelte.d.ts +1 -0
  152. package/dist/renderers/html/Ol.svelte +5 -1
  153. package/dist/renderers/html/Ol.svelte.d.ts +1 -0
  154. package/dist/renderers/html/Optgroup.svelte +5 -1
  155. package/dist/renderers/html/Optgroup.svelte.d.ts +1 -0
  156. package/dist/renderers/html/Option.svelte +5 -1
  157. package/dist/renderers/html/Option.svelte.d.ts +1 -0
  158. package/dist/renderers/html/Output.svelte +5 -1
  159. package/dist/renderers/html/Output.svelte.d.ts +1 -0
  160. package/dist/renderers/html/P.svelte +5 -1
  161. package/dist/renderers/html/P.svelte.d.ts +1 -0
  162. package/dist/renderers/html/Param.svelte +5 -1
  163. package/dist/renderers/html/Param.svelte.d.ts +1 -0
  164. package/dist/renderers/html/Picture.svelte +5 -1
  165. package/dist/renderers/html/Picture.svelte.d.ts +1 -0
  166. package/dist/renderers/html/Pre.svelte +5 -1
  167. package/dist/renderers/html/Pre.svelte.d.ts +1 -0
  168. package/dist/renderers/html/Progress.svelte +5 -1
  169. package/dist/renderers/html/Progress.svelte.d.ts +1 -0
  170. package/dist/renderers/html/S.svelte +5 -1
  171. package/dist/renderers/html/S.svelte.d.ts +1 -0
  172. package/dist/renderers/html/Samp.svelte +5 -1
  173. package/dist/renderers/html/Samp.svelte.d.ts +1 -0
  174. package/dist/renderers/html/Section.svelte +5 -1
  175. package/dist/renderers/html/Section.svelte.d.ts +1 -0
  176. package/dist/renderers/html/Select.svelte +5 -1
  177. package/dist/renderers/html/Select.svelte.d.ts +1 -0
  178. package/dist/renderers/html/Small.svelte +5 -1
  179. package/dist/renderers/html/Small.svelte.d.ts +1 -0
  180. package/dist/renderers/html/Source.svelte +5 -1
  181. package/dist/renderers/html/Source.svelte.d.ts +1 -0
  182. package/dist/renderers/html/Span.svelte +5 -1
  183. package/dist/renderers/html/Span.svelte.d.ts +1 -0
  184. package/dist/renderers/html/Strong.svelte +5 -1
  185. package/dist/renderers/html/Strong.svelte.d.ts +1 -0
  186. package/dist/renderers/html/Sub.svelte +5 -1
  187. package/dist/renderers/html/Sub.svelte.d.ts +1 -0
  188. package/dist/renderers/html/Summary.svelte +5 -1
  189. package/dist/renderers/html/Summary.svelte.d.ts +1 -0
  190. package/dist/renderers/html/Sup.svelte +4 -0
  191. package/dist/renderers/html/Sup.svelte.d.ts +1 -0
  192. package/dist/renderers/html/Table.svelte +5 -1
  193. package/dist/renderers/html/Table.svelte.d.ts +1 -0
  194. package/dist/renderers/html/Tbody.svelte +5 -1
  195. package/dist/renderers/html/Tbody.svelte.d.ts +1 -0
  196. package/dist/renderers/html/Td.svelte +5 -1
  197. package/dist/renderers/html/Td.svelte.d.ts +1 -0
  198. package/dist/renderers/html/Textarea.svelte +5 -1
  199. package/dist/renderers/html/Textarea.svelte.d.ts +1 -0
  200. package/dist/renderers/html/Tfoot.svelte +5 -1
  201. package/dist/renderers/html/Tfoot.svelte.d.ts +1 -0
  202. package/dist/renderers/html/Th.svelte +5 -1
  203. package/dist/renderers/html/Th.svelte.d.ts +1 -0
  204. package/dist/renderers/html/Thead.svelte +5 -1
  205. package/dist/renderers/html/Thead.svelte.d.ts +1 -0
  206. package/dist/renderers/html/Tr.svelte +5 -1
  207. package/dist/renderers/html/Tr.svelte.d.ts +1 -0
  208. package/dist/renderers/html/Track.svelte +5 -1
  209. package/dist/renderers/html/Track.svelte.d.ts +1 -0
  210. package/dist/renderers/html/U.svelte +5 -1
  211. package/dist/renderers/html/U.svelte.d.ts +1 -0
  212. package/dist/renderers/html/Ul.svelte +5 -1
  213. package/dist/renderers/html/Ul.svelte.d.ts +1 -0
  214. package/dist/renderers/html/Var.svelte +5 -1
  215. package/dist/renderers/html/Var.svelte.d.ts +1 -0
  216. package/dist/renderers/html/_UnsupportedHTML.svelte +4 -0
  217. package/dist/renderers/html/_UnsupportedHTML.svelte.d.ts +1 -0
  218. package/dist/renderers/html/index.d.ts +31 -0
  219. package/dist/renderers/html/index.js +25 -0
  220. package/dist/renderers/index.d.ts +13 -0
  221. package/dist/renderers/index.js +13 -0
  222. package/dist/types.d.ts +42 -0
  223. package/dist/utils/markdown-parser.d.ts +11 -0
  224. package/dist/utils/markdown-parser.js +11 -0
  225. package/dist/utils/rendererKeys.d.ts +28 -0
  226. package/dist/utils/rendererKeys.js +20 -0
  227. package/dist/utils/token-cache.js +23 -15
  228. package/dist/utils/token-cleanup.d.ts +0 -9
  229. package/dist/utils/token-cleanup.js +20 -18
  230. package/package.json +1 -1
@@ -71,7 +71,7 @@
71
71
  [key: string]: unknown
72
72
  } = $props()
73
73
 
74
- const combinedOptions = { ...defaultOptions, ...options }
74
+ const combinedOptions = $derived({ ...defaultOptions, ...options })
75
75
  const slugger = new Slugger()
76
76
 
77
77
  const tokens = $derived.by(() => {
@@ -94,7 +94,7 @@
94
94
  parsed(tokens)
95
95
  })
96
96
 
97
- const combinedRenderers = {
97
+ const combinedRenderers = $derived({
98
98
  ...defaultRenderers,
99
99
  ...renderers,
100
100
  html: renderers.html
@@ -103,7 +103,7 @@
103
103
  ...renderers.html
104
104
  }
105
105
  : defaultRenderers.html
106
- }
106
+ })
107
107
  </script>
108
108
 
109
109
  <Parser
package/dist/index.d.ts CHANGED
@@ -1,14 +1,63 @@
1
+ /**
2
+ * Public API for `@humanspeak/svelte-markdown`.
3
+ *
4
+ * This module re-exports every symbol that consumers of the package can
5
+ * import. Exports are organized into the following groups:
6
+ *
7
+ * - **Default export** — the main `SvelteMarkdown` component
8
+ * - **Component helpers** — `Html`, `Unsupported`, and `UnsupportedHTML`
9
+ * - **Filter utilities** — allow/deny helpers for HTML tags and renderers
10
+ * - **Constants** — `defaultRenderers`, `rendererKeys`, `htmlRendererKeys`
11
+ * - **Cache utilities** — `MemoryCache`, `TokenCache`, `tokenCache`
12
+ * - **Types** — `HtmlRenderers`, `Renderers`, `RendererComponent`,
13
+ * `SvelteMarkdownProps`, `SvelteMarkdownOptions`, `Token`, `TokensList`
14
+ *
15
+ * @see {@link https://markdown.svelte.page} — documentation site
16
+ * @module @humanspeak/svelte-markdown
17
+ */
1
18
  import { type HtmlRenderers } from './renderers/html/index.js';
2
19
  import SvelteMarkdown from './SvelteMarkdown.svelte';
3
20
  import type { SvelteMarkdownOptions, SvelteMarkdownProps } from './types.js';
4
21
  import { defaultRenderers, type RendererComponent, type Renderers, type Token, type TokensList } from './utils/markdown-parser.js';
22
+ /** The primary markdown rendering component. */
5
23
  export default SvelteMarkdown;
24
+ /** Default HTML tag-to-component map and the unsupported-tag placeholder. */
6
25
  export { default as Html, UnsupportedHTML } from './renderers/html/index.js';
26
+ /** Placeholder component rendered for blocked markdown token types. */
7
27
  export { Unsupported } from './renderers/index.js';
28
+ /**
29
+ * Filter utilities for restricting which HTML tags are rendered.
30
+ *
31
+ * - `allowHtmlOnly` — allow *only* the listed tags
32
+ * - `excludeHtmlOnly` — block specific tags, allow the rest
33
+ * - `buildUnsupportedHTML` — block every HTML tag
34
+ */
8
35
  export { allowHtmlOnly, buildUnsupportedHTML, excludeHtmlOnly } from './utils/unsupportedHtmlRenderers.js';
36
+ /**
37
+ * Filter utilities for restricting which markdown renderers are active.
38
+ *
39
+ * - `allowRenderersOnly` — allow *only* the listed renderers
40
+ * - `excludeRenderersOnly` — block specific renderers, allow the rest
41
+ * - `buildUnsupportedRenderers` — block every markdown renderer
42
+ */
9
43
  export { allowRenderersOnly, buildUnsupportedRenderers, excludeRenderersOnly } from './utils/unsupportedRenderers.js';
44
+ /** Built-in renderer map used when no custom `renderers` prop is provided. */
10
45
  export { defaultRenderers };
46
+ /**
47
+ * Canonical key lists enumerating every valid renderer/HTML tag name.
48
+ *
49
+ * - `rendererKeys` — markdown renderer keys (excludes `html`)
50
+ * - `htmlRendererKeys` — supported HTML tag names
51
+ */
11
52
  export { htmlRendererKeysInternal as htmlRendererKeys, rendererKeysInternal as rendererKeys } from './utils/rendererKeys.js';
53
+ /**
54
+ * Cache utilities for parsed markdown tokens.
55
+ *
56
+ * - `MemoryCache` — generic LRU cache
57
+ * - `TokenCache` — LRU cache specialized for parsed token arrays
58
+ * - `tokenCache` — shared singleton `TokenCache` instance
59
+ */
12
60
  export { MemoryCache } from './utils/cache.js';
13
61
  export { TokenCache, tokenCache } from './utils/token-cache.js';
62
+ /** Re-exported types for consumer convenience. */
14
63
  export type { HtmlRenderers, RendererComponent, Renderers, SvelteMarkdownOptions, SvelteMarkdownProps, Token, TokensList };
package/dist/index.js CHANGED
@@ -1,15 +1,60 @@
1
- // Reexport your entry components here
1
+ /**
2
+ * Public API for `@humanspeak/svelte-markdown`.
3
+ *
4
+ * This module re-exports every symbol that consumers of the package can
5
+ * import. Exports are organized into the following groups:
6
+ *
7
+ * - **Default export** — the main `SvelteMarkdown` component
8
+ * - **Component helpers** — `Html`, `Unsupported`, and `UnsupportedHTML`
9
+ * - **Filter utilities** — allow/deny helpers for HTML tags and renderers
10
+ * - **Constants** — `defaultRenderers`, `rendererKeys`, `htmlRendererKeys`
11
+ * - **Cache utilities** — `MemoryCache`, `TokenCache`, `tokenCache`
12
+ * - **Types** — `HtmlRenderers`, `Renderers`, `RendererComponent`,
13
+ * `SvelteMarkdownProps`, `SvelteMarkdownOptions`, `Token`, `TokensList`
14
+ *
15
+ * @see {@link https://markdown.svelte.page} — documentation site
16
+ * @module @humanspeak/svelte-markdown
17
+ */
2
18
  import {} from './renderers/html/index.js';
3
19
  import SvelteMarkdown from './SvelteMarkdown.svelte';
4
20
  import { defaultRenderers } from './utils/markdown-parser.js';
21
+ /** The primary markdown rendering component. */
5
22
  export default SvelteMarkdown;
23
+ /** Default HTML tag-to-component map and the unsupported-tag placeholder. */
6
24
  export { default as Html, UnsupportedHTML } from './renderers/html/index.js';
25
+ /** Placeholder component rendered for blocked markdown token types. */
7
26
  export { Unsupported } from './renderers/index.js';
27
+ /**
28
+ * Filter utilities for restricting which HTML tags are rendered.
29
+ *
30
+ * - `allowHtmlOnly` — allow *only* the listed tags
31
+ * - `excludeHtmlOnly` — block specific tags, allow the rest
32
+ * - `buildUnsupportedHTML` — block every HTML tag
33
+ */
8
34
  export { allowHtmlOnly, buildUnsupportedHTML, excludeHtmlOnly } from './utils/unsupportedHtmlRenderers.js';
35
+ /**
36
+ * Filter utilities for restricting which markdown renderers are active.
37
+ *
38
+ * - `allowRenderersOnly` — allow *only* the listed renderers
39
+ * - `excludeRenderersOnly` — block specific renderers, allow the rest
40
+ * - `buildUnsupportedRenderers` — block every markdown renderer
41
+ */
9
42
  export { allowRenderersOnly, buildUnsupportedRenderers, excludeRenderersOnly } from './utils/unsupportedRenderers.js';
43
+ /** Built-in renderer map used when no custom `renderers` prop is provided. */
10
44
  export { defaultRenderers };
11
- // Canonical key lists (public API names)
45
+ /**
46
+ * Canonical key lists enumerating every valid renderer/HTML tag name.
47
+ *
48
+ * - `rendererKeys` — markdown renderer keys (excludes `html`)
49
+ * - `htmlRendererKeys` — supported HTML tag names
50
+ */
12
51
  export { htmlRendererKeysInternal as htmlRendererKeys, rendererKeysInternal as rendererKeys } from './utils/rendererKeys.js';
13
- // Cache utilities
52
+ /**
53
+ * Cache utilities for parsed markdown tokens.
54
+ *
55
+ * - `MemoryCache` — generic LRU cache
56
+ * - `TokenCache` — LRU cache specialized for parsed token arrays
57
+ * - `tokenCache` — shared singleton `TokenCache` instance
58
+ */
14
59
  export { MemoryCache } from './utils/cache.js';
15
60
  export { TokenCache, tokenCache } from './utils/token-cache.js';
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown blockquote (`>`) as a `<blockquote>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown blockquote (`>`) as a `<blockquote>` element. */
5
6
  declare const Blockquote: import("svelte").Component<Props, {}, "">;
6
7
  type Blockquote = ReturnType<typeof Blockquote>;
7
8
  export default Blockquote;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown line break as a `<br />` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown line break as a `<br />` element. */
5
6
  declare const Br: import("svelte").Component<Props, {}, "">;
6
7
  type Br = ReturnType<typeof Br>;
7
8
  export default Br;
@@ -1,3 +1,11 @@
1
+ <!--
2
+ @component
3
+ Renders a fenced code block as a `<pre><code>` element. The language identifier
4
+ is applied as a CSS class on the `<pre>` for use with syntax highlighting libraries.
5
+
6
+ @prop {string} lang - Language identifier from the code fence (e.g. `"js"`, `"typescript"`).
7
+ @prop {string} text - Raw text content of the code block.
8
+ -->
1
9
  <script lang="ts">
2
10
  interface Props {
3
11
  lang: string
@@ -2,6 +2,13 @@ interface Props {
2
2
  lang: string;
3
3
  text: string;
4
4
  }
5
+ /**
6
+ * Renders a fenced code block as a `<pre><code>` element. The language identifier
7
+ * is applied as a CSS class on the `<pre>` for use with syntax highlighting libraries.
8
+ *
9
+ * @prop {string} lang - Language identifier from the code fence (e.g. `"js"`, `"typescript"`).
10
+ * @prop {string} text - Raw text content of the code block.
11
+ */
5
12
  declare const Code: import("svelte").Component<Props, {}, "">;
6
13
  type Code = ReturnType<typeof Code>;
7
14
  export default Code;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders an inline code span (`` `code` ``) as a `<code>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  interface Props {
3
7
  raw: string
@@ -1,6 +1,7 @@
1
1
  interface Props {
2
2
  raw: string;
3
3
  }
4
+ /** Renders an inline code span (`` `code` ``) as a `<code>` element. */
4
5
  declare const Codespan: import("svelte").Component<Props, {}, "">;
5
6
  type Codespan = ReturnType<typeof Codespan>;
6
7
  export default Codespan;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown strikethrough (`~~text~~`) as a `<del>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown strikethrough (`~~text~~`) as a `<del>` element. */
5
6
  declare const Del: import("svelte").Component<Props, {}, "">;
6
7
  type Del = ReturnType<typeof Del>;
7
8
  export default Del;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders markdown emphasis (`*text*` or `_text_`) as an `<em>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders markdown emphasis (`*text*` or `_text_`) as an `<em>` element. */
5
6
  declare const Em: import("svelte").Component<Props, {}, "">;
6
7
  type Em = ReturnType<typeof Em>;
7
8
  export default Em;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown escape sequence (e.g. `\*`) as plain text.
4
+ -->
1
5
  <script lang="ts">
2
6
  interface Props {
3
7
  text?: string
@@ -1,6 +1,7 @@
1
1
  interface Props {
2
2
  text?: string;
3
3
  }
4
+ /** Renders a markdown escape sequence (e.g. `\*`) as plain text. */
4
5
  declare const Escape: import("svelte").Component<Props, {}, "">;
5
6
  type Escape = ReturnType<typeof Escape>;
6
7
  export default Escape;
@@ -1,3 +1,17 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown heading (`# … ######`) as an `<h1>` through `<h6>` element.
4
+
5
+ When `options.headerIds` is `true`, an `id` attribute is generated from the
6
+ heading text via `github-slugger`, optionally prefixed by `options.headerPrefix`.
7
+
8
+ @prop {number} depth - Heading level (1–6).
9
+ @prop {string} raw - Original markdown source of the heading line.
10
+ @prop {string} text - Plain-text content used for slug generation.
11
+ @prop {SvelteMarkdownOptions} options - Parser options (controls ID generation).
12
+ @prop {(val: string) => string} slug - Slugger function for generating heading IDs.
13
+ @prop {Snippet} [children] - Rendered inline content of the heading.
14
+ -->
1
15
  <script lang="ts">
2
16
  import type { Snippet } from 'svelte'
3
17
  import type { SvelteMarkdownOptions } from '../types.js'
@@ -7,7 +21,7 @@
7
21
  raw: string
8
22
  text: string
9
23
  options: SvelteMarkdownOptions
10
- slug: (val: string) => string // eslint-disable-line no-unused-vars
24
+ slug: (val: string) => string // trunk-ignore(eslint/no-unused-vars)
11
25
  children?: Snippet
12
26
  }
13
27
 
@@ -8,6 +8,19 @@ interface Props {
8
8
  slug: (val: string) => string;
9
9
  children?: Snippet;
10
10
  }
11
+ /**
12
+ * Renders a markdown heading (`# … ######`) as an `<h1>` through `<h6>` element.
13
+ *
14
+ * When `options.headerIds` is `true`, an `id` attribute is generated from the
15
+ * heading text via `github-slugger`, optionally prefixed by `options.headerPrefix`.
16
+ *
17
+ * @prop {number} depth - Heading level (1–6).
18
+ * @prop {string} raw - Original markdown source of the heading line.
19
+ * @prop {string} text - Plain-text content used for slug generation.
20
+ * @prop {SvelteMarkdownOptions} options - Parser options (controls ID generation).
21
+ * @prop {(val: string) => string} slug - Slugger function for generating heading IDs.
22
+ * @prop {Snippet} [children] - Rendered inline content of the heading.
23
+ */
11
24
  declare const Heading: import("svelte").Component<Props, {}, "">;
12
25
  type Heading = ReturnType<typeof Heading>;
13
26
  export default Heading;
@@ -1 +1,5 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown thematic break (`---`, `***`, or `___`) as an `<hr />` element.
4
+ -->
1
5
  <hr />
@@ -6,6 +6,7 @@ type Hr = SvelteComponent<{
6
6
  }, {}> & {
7
7
  $$bindings?: string | undefined;
8
8
  };
9
+ /** Renders a markdown thematic break (`---`, `***`, or `___`) as an `<hr />` element. */
9
10
  declare const Hr: $$__sveltets_2_IsomorphicComponent<{
10
11
  [x: string]: never;
11
12
  }, {
@@ -1,3 +1,18 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown image (`![alt](src "title")`) as an `<img>` element with
4
+ optional lazy loading and fade-in animation.
5
+
6
+ Uses `IntersectionObserver` to defer loading until the image scrolls near the
7
+ viewport (configurable via `lazy`). On load the image fades in; on error it
8
+ is displayed with reduced opacity and a grayscale filter.
9
+
10
+ @prop {string} [href=''] - Image source URL.
11
+ @prop {string} [title] - Tooltip text for the image.
12
+ @prop {string} [text=''] - Alt text for accessibility.
13
+ @prop {boolean} [lazy=true] - Enable lazy loading via IntersectionObserver.
14
+ @prop {boolean} [fadeIn=true] - Enable a CSS fade-in transition on load.
15
+ -->
1
16
  <script lang="ts">
2
17
  import { onMount } from 'svelte'
3
18
 
@@ -5,6 +5,20 @@ interface Props {
5
5
  lazy?: boolean;
6
6
  fadeIn?: boolean;
7
7
  }
8
+ /**
9
+ * Renders a markdown image (`![alt](src "title")`) as an `<img>` element with
10
+ * optional lazy loading and fade-in animation.
11
+ *
12
+ * Uses `IntersectionObserver` to defer loading until the image scrolls near the
13
+ * viewport (configurable via `lazy`). On load the image fades in; on error it
14
+ * is displayed with reduced opacity and a grayscale filter.
15
+ *
16
+ * @prop {string} [href=''] - Image source URL.
17
+ * @prop {string} [title] - Tooltip text for the image.
18
+ * @prop {string} [text=''] - Alt text for accessibility.
19
+ * @prop {boolean} [lazy=true] - Enable lazy loading via IntersectionObserver.
20
+ * @prop {boolean} [fadeIn=true] - Enable a CSS fade-in transition on load.
21
+ */
8
22
  declare const Image: import("svelte").Component<Props, {}, "">;
9
23
  type Image = ReturnType<typeof Image>;
10
24
  export default Image;
@@ -1,3 +1,11 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown link (`[text](url "title")`) as an `<a>` element.
4
+
5
+ @prop {string} [href=''] - Link destination URL.
6
+ @prop {string} [title] - Tooltip text displayed on hover.
7
+ @prop {Snippet} [children] - Rendered inline content of the link.
8
+ -->
1
9
  <script lang="ts">
2
10
  import type { Snippet } from 'svelte'
3
11
 
@@ -4,6 +4,13 @@ interface Props {
4
4
  title?: string;
5
5
  children?: Snippet;
6
6
  }
7
+ /**
8
+ * Renders a markdown link (`[text](url "title")`) as an `<a>` element.
9
+ *
10
+ * @prop {string} [href=''] - Link destination URL.
11
+ * @prop {string} [title] - Tooltip text displayed on hover.
12
+ * @prop {Snippet} [children] - Rendered inline content of the link.
13
+ */
7
14
  declare const Link: import("svelte").Component<Props, {}, "">;
8
15
  type Link = ReturnType<typeof Link>;
9
16
  export default Link;
@@ -1,3 +1,11 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown list as either an `<ol>` (ordered) or `<ul>` (unordered) element.
4
+
5
+ @prop {boolean} [ordered=false] - When `true`, renders an ordered `<ol>` list.
6
+ @prop {number} [start=1] - Starting number for ordered lists (the `start` attribute).
7
+ @prop {Snippet} [children] - List item content.
8
+ -->
1
9
  <script lang="ts">
2
10
  import type { Snippet } from 'svelte'
3
11
 
@@ -4,6 +4,13 @@ interface Props {
4
4
  start?: number;
5
5
  children?: Snippet;
6
6
  }
7
+ /**
8
+ * Renders a markdown list as either an `<ol>` (ordered) or `<ul>` (unordered) element.
9
+ *
10
+ * @prop {boolean} [ordered=false] - When `true`, renders an ordered `<ol>` list.
11
+ * @prop {number} [start=1] - Starting number for ordered lists (the `start` attribute).
12
+ * @prop {Snippet} [children] - List item content.
13
+ */
7
14
  declare const List: import("svelte").Component<Props, {}, "">;
8
15
  type List = ReturnType<typeof List>;
9
16
  export default List;
@@ -1,3 +1,10 @@
1
+ <!--
2
+ @component
3
+ Renders a single list item as an `<li>` element.
4
+
5
+ @prop {Snippet} [children] - Content of the list item.
6
+ @prop {number} [listItemIndex] - Zero-based index of this item within its parent list.
7
+ -->
1
8
  <script lang="ts">
2
9
  import type { Snippet } from 'svelte'
3
10
 
@@ -3,6 +3,12 @@ interface Props {
3
3
  children?: Snippet;
4
4
  listItemIndex?: number;
5
5
  }
6
+ /**
7
+ * Renders a single list item as an `<li>` element.
8
+ *
9
+ * @prop {Snippet} [children] - Content of the list item.
10
+ * @prop {number} [listItemIndex] - Zero-based index of this item within its parent list.
11
+ */
6
12
  declare const ListItem: import("svelte").Component<Props, {}, "">;
7
13
  type ListItem = ReturnType<typeof ListItem>;
8
14
  export default ListItem;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown paragraph as a `<p>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown paragraph as a `<p>` element. */
5
6
  declare const Paragraph: import("svelte").Component<Props, {}, "">;
6
7
  type Paragraph = ReturnType<typeof Paragraph>;
7
8
  export default Paragraph;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders raw text content without any wrapping HTML element.
4
+ -->
1
5
  <script lang="ts">
2
6
  interface Props {
3
7
  text?: string
@@ -1,6 +1,7 @@
1
1
  interface Props {
2
2
  text?: string;
3
3
  }
4
+ /** Renders raw text content without any wrapping HTML element. */
4
5
  declare const RawText: import("svelte").Component<Props, {}, "">;
5
6
  type RawText = ReturnType<typeof RawText>;
6
7
  export default RawText;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders markdown strong emphasis (`**text**` or `__text__`) as a `<strong>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders markdown strong emphasis (`**text**` or `__text__`) as a `<strong>` element. */
5
6
  declare const Strong: import("svelte").Component<Props, {}, "">;
6
7
  type Strong = ReturnType<typeof Strong>;
7
8
  export default Strong;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown table as a `<table>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown table as a `<table>` element. */
5
6
  declare const Table: import("svelte").Component<Props, {}, "">;
6
7
  type Table = ReturnType<typeof Table>;
7
8
  export default Table;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown table body section as a `<tbody>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown table body section as a `<tbody>` element. */
5
6
  declare const TableBody: import("svelte").Component<Props, {}, "">;
6
7
  type TableBody = ReturnType<typeof TableBody>;
7
8
  export default TableBody;
@@ -1,3 +1,12 @@
1
+ <!--
2
+ @component
3
+ Renders a table cell as either `<th>` (header) or `<td>` (data), with optional
4
+ text alignment applied as an inline `text-align` style.
5
+
6
+ @prop {boolean} header - When `true`, renders a `<th>`; otherwise renders a `<td>`.
7
+ @prop {'left'|'center'|'right'|'justify'|'char'|null|undefined} align - Column alignment.
8
+ @prop {Snippet} [children] - Cell content.
9
+ -->
1
10
  <script lang="ts">
2
11
  import type { Snippet } from 'svelte'
3
12
 
@@ -4,6 +4,14 @@ interface Props {
4
4
  align: 'left' | 'center' | 'right' | 'justify' | 'char' | null | undefined;
5
5
  children?: Snippet;
6
6
  }
7
+ /**
8
+ * Renders a table cell as either `<th>` (header) or `<td>` (data), with optional
9
+ * text alignment applied as an inline `text-align` style.
10
+ *
11
+ * @prop {boolean} header - When `true`, renders a `<th>`; otherwise renders a `<td>`.
12
+ * @prop {'left'|'center'|'right'|'justify'|'char'|null|undefined} align - Column alignment.
13
+ * @prop {Snippet} [children] - Cell content.
14
+ */
7
15
  declare const TableCell: import("svelte").Component<Props, {}, "">;
8
16
  type TableCell = ReturnType<typeof TableCell>;
9
17
  export default TableCell;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown table header section as a `<thead>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown table header section as a `<thead>` element. */
5
6
  declare const TableHead: import("svelte").Component<Props, {}, "">;
6
7
  type TableHead = ReturnType<typeof TableHead>;
7
8
  export default TableHead;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown table row as a `<tr>` element.
4
+ -->
1
5
  <script lang="ts">
2
6
  import type { Snippet } from 'svelte'
3
7
 
@@ -2,6 +2,7 @@ import type { Snippet } from 'svelte';
2
2
  interface Props {
3
3
  children?: Snippet;
4
4
  }
5
+ /** Renders a markdown table row as a `<tr>` element. */
5
6
  declare const TableRow: import("svelte").Component<Props, {}, "">;
6
7
  type TableRow = ReturnType<typeof TableRow>;
7
8
  export default TableRow;
@@ -1,3 +1,7 @@
1
+ <!--
2
+ @component
3
+ Renders a markdown text token by rendering its child content.
4
+ -->
1
5
  <script lang="ts">
2
6
  import { type Snippet } from 'svelte'
3
7