@humanspeak/svelte-markdown 0.6.0 → 0.6.8

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 (113) hide show
  1. package/README.md +45 -38
  2. package/dist/Parser.svelte +12 -7
  3. package/dist/SvelteMarkdown.svelte +10 -8
  4. package/dist/SvelteMarkdown.svelte.d.ts +1 -1
  5. package/dist/renderers/Blockquote.svelte.d.ts +3 -2
  6. package/dist/renderers/Br.svelte.d.ts +3 -2
  7. package/dist/renderers/Code.svelte.d.ts +3 -2
  8. package/dist/renderers/Codespan.svelte.d.ts +3 -2
  9. package/dist/renderers/Del.svelte.d.ts +3 -2
  10. package/dist/renderers/Em.svelte.d.ts +3 -2
  11. package/dist/renderers/Heading.svelte.d.ts +3 -2
  12. package/dist/renderers/Image.svelte.d.ts +3 -2
  13. package/dist/renderers/Link.svelte.d.ts +3 -2
  14. package/dist/renderers/List.svelte.d.ts +3 -2
  15. package/dist/renderers/ListItem.svelte.d.ts +3 -2
  16. package/dist/renderers/Paragraph.svelte.d.ts +3 -2
  17. package/dist/renderers/Strong.svelte.d.ts +3 -2
  18. package/dist/renderers/Table.svelte.d.ts +3 -2
  19. package/dist/renderers/TableBody.svelte.d.ts +3 -2
  20. package/dist/renderers/TableCell.svelte.d.ts +4 -3
  21. package/dist/renderers/TableHead.svelte.d.ts +3 -2
  22. package/dist/renderers/TableRow.svelte.d.ts +3 -2
  23. package/dist/renderers/Text.svelte.d.ts +3 -2
  24. package/dist/renderers/html/A.svelte +1 -1
  25. package/dist/renderers/html/Abbr.svelte +1 -1
  26. package/dist/renderers/html/Address.svelte +1 -1
  27. package/dist/renderers/html/Article.svelte +1 -1
  28. package/dist/renderers/html/Aside.svelte +1 -1
  29. package/dist/renderers/html/Audio.svelte +1 -1
  30. package/dist/renderers/html/B.svelte +1 -1
  31. package/dist/renderers/html/Bdi.svelte +1 -1
  32. package/dist/renderers/html/Bdo.svelte +1 -1
  33. package/dist/renderers/html/Blockquote.svelte +1 -1
  34. package/dist/renderers/html/Button.svelte +1 -1
  35. package/dist/renderers/html/Canvas.svelte +1 -1
  36. package/dist/renderers/html/Cite.svelte +1 -1
  37. package/dist/renderers/html/Code.svelte +1 -1
  38. package/dist/renderers/html/Datalist.svelte +1 -1
  39. package/dist/renderers/html/Dd.svelte +1 -1
  40. package/dist/renderers/html/Del.svelte +1 -1
  41. package/dist/renderers/html/Details.svelte +1 -1
  42. package/dist/renderers/html/Dfn.svelte +1 -1
  43. package/dist/renderers/html/Dialog.svelte +1 -1
  44. package/dist/renderers/html/Div.svelte +1 -1
  45. package/dist/renderers/html/Dl.svelte +1 -1
  46. package/dist/renderers/html/Dt.svelte +1 -1
  47. package/dist/renderers/html/Em.svelte +1 -1
  48. package/dist/renderers/html/Embed.svelte +1 -1
  49. package/dist/renderers/html/Fieldset.svelte +1 -1
  50. package/dist/renderers/html/Footer.svelte +1 -1
  51. package/dist/renderers/html/Form.svelte +1 -1
  52. package/dist/renderers/html/H1.svelte +1 -1
  53. package/dist/renderers/html/H2.svelte +1 -1
  54. package/dist/renderers/html/H3.svelte +1 -1
  55. package/dist/renderers/html/H4.svelte +1 -1
  56. package/dist/renderers/html/H5.svelte +1 -1
  57. package/dist/renderers/html/H6.svelte +1 -1
  58. package/dist/renderers/html/Header.svelte +1 -1
  59. package/dist/renderers/html/Hgroup.svelte +1 -1
  60. package/dist/renderers/html/Hr.svelte +1 -3
  61. package/dist/renderers/html/I.svelte +1 -1
  62. package/dist/renderers/html/Iframe.svelte +1 -1
  63. package/dist/renderers/html/Img.svelte +1 -3
  64. package/dist/renderers/html/Input.svelte +1 -1
  65. package/dist/renderers/html/Kbd.svelte +1 -1
  66. package/dist/renderers/html/Label.svelte +1 -1
  67. package/dist/renderers/html/Legend.svelte +1 -1
  68. package/dist/renderers/html/Li.svelte +1 -1
  69. package/dist/renderers/html/Main.svelte +1 -1
  70. package/dist/renderers/html/Mark.svelte +1 -1
  71. package/dist/renderers/html/Menu.svelte +1 -1
  72. package/dist/renderers/html/Meter.svelte +1 -1
  73. package/dist/renderers/html/Nav.svelte +1 -1
  74. package/dist/renderers/html/Ol.svelte +1 -1
  75. package/dist/renderers/html/Optgroup.svelte +1 -1
  76. package/dist/renderers/html/Option.svelte +1 -1
  77. package/dist/renderers/html/Output.svelte +1 -1
  78. package/dist/renderers/html/P.svelte +1 -1
  79. package/dist/renderers/html/Param.svelte +1 -1
  80. package/dist/renderers/html/Picture.svelte +1 -1
  81. package/dist/renderers/html/Pre.svelte +1 -1
  82. package/dist/renderers/html/Progress.svelte +1 -1
  83. package/dist/renderers/html/S.svelte +1 -1
  84. package/dist/renderers/html/Samp.svelte +1 -1
  85. package/dist/renderers/html/Section.svelte +1 -1
  86. package/dist/renderers/html/Select.svelte +1 -1
  87. package/dist/renderers/html/Small.svelte +1 -1
  88. package/dist/renderers/html/Source.svelte +1 -1
  89. package/dist/renderers/html/Span.svelte +1 -1
  90. package/dist/renderers/html/Strong.svelte +1 -1
  91. package/dist/renderers/html/Sub.svelte +1 -1
  92. package/dist/renderers/html/Summary.svelte +1 -1
  93. package/dist/renderers/html/Table.svelte +1 -1
  94. package/dist/renderers/html/Tbody.svelte +1 -1
  95. package/dist/renderers/html/Td.svelte +1 -1
  96. package/dist/renderers/html/Textarea.svelte +1 -3
  97. package/dist/renderers/html/Tfoot.svelte +1 -1
  98. package/dist/renderers/html/Th.svelte +1 -1
  99. package/dist/renderers/html/Thead.svelte +1 -1
  100. package/dist/renderers/html/Tr.svelte +1 -1
  101. package/dist/renderers/html/Track.svelte +1 -1
  102. package/dist/renderers/html/U.svelte +1 -1
  103. package/dist/renderers/html/Ul.svelte +1 -1
  104. package/dist/renderers/html/Var.svelte +1 -1
  105. package/dist/renderers/html/index.js +108 -2
  106. package/dist/utils/markdown-parser.d.ts +28 -3
  107. package/dist/utils/token-cleanup.d.ts +13 -2
  108. package/dist/utils/token-cleanup.js +191 -52
  109. package/package.json +24 -23
  110. package/dist/renderers/html/Object.svelte +0 -12
  111. package/dist/renderers/html/Object.svelte.d.ts +0 -7
  112. package/dist/renderers/html/Video.svelte +0 -12
  113. package/dist/renderers/html/Video.svelte.d.ts +0 -7
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  A markdown parser that renders into Svelte Components. Inspired by [ReactMarkdown](https://github.com/remarkjs/react-markdown).
4
4
 
5
+ Rewriten for Svelte5 and all the updated goodies that have happened over the last two years. Also moved to Typescript because its the future!
6
+
5
7
  ## Installation
6
8
 
7
9
  You can install it with
@@ -74,15 +76,16 @@ This would render something like
74
76
 
75
77
  ## Note
76
78
 
77
- Just like with React Markdown, this package doesn't use `{@html ...}` unless you need to render HTML.
79
+ Just like with React Markdown, this package doesn't use `{@html ...}`. Even if you add HTML tags to the code, all if it is managed by either the defaults or YOU! If you want to spice things up you can! 🥰
78
80
 
79
81
  ## Props
80
82
 
81
83
  The SvelteMarkdown component accepts the following props:
82
84
 
83
- - `source` - _string_ or _array_ The Markdown source to be parsed, or an array of tokens to be rendered directly.
84
- - `renderers` - _object (optional)_ An object where the keys represent a node type and the value is a Svelte component. This object will be merged with the default renderers. For now you can check how the default renderers are written in the source code at `src/renderers`.
85
- - `options` - _object (optional)_ An object containing [options for Marked](https://marked.js.org/using_advanced#options)
85
+ - `source` - _string_ or _array_ The Markdown source to be parsed, or an array of tokens to be rendered directly.
86
+ - `renderers` - _object (optional)_ An object where the keys represent a node type and the value is a Svelte component. This object will be merged with the default renderers. For now you can check how the default renderers are written in the source code at `src/renderers`.
87
+ - `renderes.html` - _object (optional)_ An object where the key represents the HTML tag and the value is a Svelte component. This object will be merged with the default renderers. For now you can check how the default renderers are written in the source code at `src/renderers/html`.
88
+ - `options` - _object (optional)_ An object containing [options for Marked](https://marked.js.org/using_advanced#options)
86
89
 
87
90
  ## Renderers
88
91
 
@@ -91,10 +94,14 @@ To create custom renderer for an element, you can create a Svelte component with
91
94
  _`ImageComponent.svelte`_
92
95
 
93
96
  ```svelte
94
- <script>
95
- export let href = ''
96
- export let title = undefined
97
- export let text = ''
97
+ <script lang="ts">
98
+ interface Props {
99
+ href?: string
100
+ title?: string
101
+ text?: string
102
+ }
103
+
104
+ const { href = '', title = undefined, text = '' }: Props = $props()
98
105
  </script>
99
106
 
100
107
  <img src={href} {title} alt={text} />
@@ -103,7 +110,7 @@ _`ImageComponent.svelte`_
103
110
  So you can import the component and pass to the `renderers` props:
104
111
 
105
112
  ```svelte
106
- <script>
113
+ <script lang="ts">
107
114
  import SvelteMarkdown from '@humanspeak/svelte-markdown'
108
115
  import ImageComponent from './renderers/ImageComponent.svelte'
109
116
  export let content
@@ -117,7 +124,7 @@ So you can import the component and pass to the `renderers` props:
117
124
  For greater flexibility, an array of tokens may be given as `source`, in which case parsing is skipped and the tokens will be rendered directly. This alows you to generate and transform the tokens freely beforehand. Example:
118
125
 
119
126
  ```html
120
- <script>
127
+ <script lang="ts">
121
128
  import SvelteMarkdown from '@humanspeak/svelte-markdown'
122
129
  import { marked } from 'marked'
123
130
 
@@ -143,7 +150,7 @@ This will render the following:
143
150
  A `parsed` event will be fired when the final tokens have been calculated, allowing you to access the raw token array if needed for things like generating Table of Contents from headings.
144
151
 
145
152
  ```html
146
- <script>
153
+ <script lang="ts">
147
154
  import SvelteMarkdown from '@humanspeak/svelte-markdown'
148
155
 
149
156
  const source = `# This is a header`
@@ -160,26 +167,26 @@ A `parsed` event will be fired when the final tokens have been calculated, allow
160
167
 
161
168
  These would be the property names expected by the `renderers` option.
162
169
 
163
- - `text` - Text rendered inside of other elements, such as paragraphs
164
- - `paragraph` - Paragraph (`<p>`)
165
- - `em` - Emphasis (`<em>`)
166
- - `strong` - Strong/bold (`<strong>`)
167
- - `hr` - Horizontal rule / thematic break (`<hr>`)
168
- - `blockquote` - Block quote (`<blockquote>`)
169
- - `del` - Deleted/strike-through (`<del>`)
170
- - `link` - Link (`<a>`)
171
- - `image` - Image (`<img>`)
172
- - `table` - Table (`<table>`)
173
- - `tablehead` - Table head (`<thead>`)
174
- - `tablebody` - Table body (`<tbody>`)
175
- - `tablerow` - Table row (`<tr>`)
176
- - `tablecell` - Table cell (`<td>`/`<th>`)
177
- - `list` - List (`<ul>`/`<ol>`)
178
- - `listitem` - List item (`<li>`)
179
- - `heading` - Heading (`<h1>`-`<h6>`)
180
- - `codespan` - Inline code (`<code>`)
181
- - `code` - Block of code (`<pre><code>`)
182
- - `html` - HTML node
170
+ - `text` - Text rendered inside of other elements, such as paragraphs
171
+ - `paragraph` - Paragraph (`<p>`)
172
+ - `em` - Emphasis (`<em>`)
173
+ - `strong` - Strong/bold (`<strong>`)
174
+ - `hr` - Horizontal rule / thematic break (`<hr>`)
175
+ - `blockquote` - Block quote (`<blockquote>`)
176
+ - `del` - Deleted/strike-through (`<del>`)
177
+ - `link` - Link (`<a>`)
178
+ - `image` - Image (`<img>`)
179
+ - `table` - Table (`<table>`)
180
+ - `tablehead` - Table head (`<thead>`)
181
+ - `tablebody` - Table body (`<tbody>`)
182
+ - `tablerow` - Table row (`<tr>`)
183
+ - `tablecell` - Table cell (`<td>`/`<th>`)
184
+ - `list` - List (`<ul>`/`<ol>`)
185
+ - `listitem` - List item (`<li>`)
186
+ - `heading` - Heading (`<h1>`-`<h6>`)
187
+ - `codespan` - Inline code (`<code>`)
188
+ - `code` - Block of code (`<pre><code>`)
189
+ - `html` - HTML node
183
190
 
184
191
  ### Optional List Renderers
185
192
 
@@ -187,8 +194,8 @@ For fine detail styling of lists, it can be useful to differentiate between orde
187
194
  If either key is missing, the default `listitem` will be used. There are two
188
195
  optional keys in the `renderers` option which can provide this:
189
196
 
190
- - `orderedlistitem` - A list item appearing inside an ordered list
191
- - `unorderedlistitem` A list item appearing inside an un-ordered list
197
+ - `orderedlistitem` - A list item appearing inside an ordered list
198
+ - `unorderedlistitem` A list item appearing inside an un-ordered list
192
199
 
193
200
  As an example, if we have an `orderedlistitem`:
194
201
 
@@ -245,11 +252,11 @@ yarn link @humanspeak/svelte-markdown
245
252
 
246
253
  And then import it like in the example above.
247
254
 
248
- As of now the only external dependency of this project is `marked`.
255
+ As of now the only external dependencys of this project is `marked`, `github-slugger`, `htmlparser2`.
249
256
 
250
257
  ## Related
251
258
 
252
- - [ReactMarkdown](https://github.com/remarkjs/react-markdown) - React library to render markdown using React components. Inspiration for this library.
253
- - [Svelte](https://svelte.dev) - JavaScript front-end framework.
254
- - [Marked](https://marked.js.org/) - Markdown parser
255
- - [Original](https://github.com/pablo-abc/svelte-markdown) - Original component
259
+ - [ReactMarkdown](https://github.com/remarkjs/react-markdown) - React library to render markdown using React components. Inspiration for this library.
260
+ - [Svelte](https://svelte.dev) - JavaScript front-end framework.
261
+ - [Marked](https://marked.js.org/) - Markdown parser
262
+ - [Original](https://github.com/pablo-abc/svelte-markdown) - Original component
@@ -1,7 +1,13 @@
1
1
  <script lang="ts">
2
2
  import Parser from './Parser.svelte'
3
3
  import Html from './renderers/html/index.js'
4
- import type { Renderers, Token, TokensList, Tokens } from './utils/markdown-parser.js'
4
+ import type {
5
+ Renderers,
6
+ Token,
7
+ TokensList,
8
+ Tokens,
9
+ RendererComponent
10
+ } from './utils/markdown-parser.js'
5
11
 
6
12
  interface Props {
7
13
  type?: string
@@ -28,7 +34,7 @@
28
34
  {#if !type}
29
35
  {#if tokens}
30
36
  {#each tokens as token}
31
- {@const { text, raw, ...parserRest } = rest}
37
+ {@const { text: _text, raw: _raw, ...parserRest } = rest}
32
38
  <Parser {...token} {renderers} {...parserRest} />
33
39
  {/each}
34
40
  {/if}
@@ -40,10 +46,9 @@
40
46
  {#each header ?? [] as headerItem, i}
41
47
  <renderers.tablecell
42
48
  header={true}
43
- align={rest.align[i] || 'center'}
49
+ align={(rest.align as string[])[i] || 'center'}
44
50
  {...rest}
45
51
  >
46
- {rest.align[i]}
47
52
  <Parser tokens={headerItem.tokens} {renderers} />
48
53
  </renderers.tablecell>
49
54
  {/each}
@@ -55,7 +60,7 @@
55
60
  {#each row ?? [] as cells, i}
56
61
  <renderers.tablecell
57
62
  header={false}
58
- align={rest.align[i] ?? 'center'}
63
+ align={(rest.align as string[])[i] ?? 'center'}
59
64
  {...rest}
60
65
  >
61
66
  <Parser tokens={cells.tokens} {renderers} />
@@ -107,10 +112,10 @@
107
112
  />
108
113
  {/if}
109
114
  {:else}
110
- {@const GeneralComponent = renderers[type]}
115
+ {@const GeneralComponent = renderers[type as keyof Renderers] as RendererComponent}
111
116
  <GeneralComponent {...rest}>
112
117
  {#if tokens}
113
- {@const { text, raw, ...parserRest } = rest}
118
+ {@const { text: _text, raw: _raw, ...parserRest } = rest}
114
119
  <Parser {tokens} {renderers} {...parserRest} />
115
120
  {:else}
116
121
  {rest.raw}
@@ -14,7 +14,7 @@
14
14
 
15
15
  interface Props {
16
16
  source: Token[] | string
17
- renderers?: Renderers
17
+ renderers?: Partial<Renderers>
18
18
  options?: SvelteMarkdownOptions
19
19
  isInline?: boolean
20
20
  parsed?: (tokens: Token[] | TokensList) => void // eslint-disable-line no-unused-vars
@@ -30,15 +30,17 @@
30
30
  }: Props & {
31
31
  [key: string]: unknown
32
32
  } = $props()
33
- let tokens: Token[] | TokensList | undefined = $state<Token[] | TokensList | undefined>(
34
- undefined
35
- )
36
- let lexer: Lexer | undefined = undefined
33
+ let tokens: Token[] | undefined
34
+ let previousSource = $state<string | Token[] | undefined>(undefined)
35
+ let lexer: Lexer
37
36
 
38
37
  const slugger = source ? new Slugger() : undefined
39
38
  const combinedOptions = { ...defaultOptions, ...options }
40
39
 
41
40
  $effect.pre(() => {
41
+ if (source === previousSource) return
42
+ previousSource = source
43
+
42
44
  if (Array.isArray(source)) {
43
45
  tokens = shrinkHtmlTokens(source) as Token[]
44
46
  } else {
@@ -48,8 +50,10 @@
48
50
  )
49
51
  }
50
52
  })
53
+
51
54
  $effect(() => {
52
- if (tokens) parsed($state.snapshot(tokens))
55
+ if (!tokens) return
56
+ parsed($state.snapshot(tokens))
53
57
  })
54
58
 
55
59
  const combinedRenderers = {
@@ -60,8 +64,6 @@
60
64
  ...renderers.html
61
65
  }
62
66
  }
63
-
64
- $inspect(tokens)
65
67
  </script>
66
68
 
67
69
  <Parser
@@ -1,7 +1,7 @@
1
1
  import { type Token, type TokensList, type SvelteMarkdownOptions, type Renderers } from './utils/markdown-parser.js';
2
2
  declare const SvelteMarkdown: import("svelte").Component<{
3
3
  source: Token[] | string;
4
- renderers?: Renderers;
4
+ renderers?: Partial<Renderers>;
5
5
  options?: SvelteMarkdownOptions;
6
6
  isInline?: boolean;
7
7
  parsed?: (tokens: Token[] | TokensList) => void;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Blockquote: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Blockquote: import("svelte").Component<Props, {}, "">;
5
6
  type Blockquote = ReturnType<typeof Blockquote>;
6
7
  export default Blockquote;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Br: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Br: import("svelte").Component<Props, {}, "">;
5
6
  type Br = ReturnType<typeof Br>;
6
7
  export default Br;
@@ -1,6 +1,7 @@
1
- declare const Code: import("svelte").Component<{
1
+ interface Props {
2
2
  lang: string;
3
3
  text: string;
4
- }, {}, "">;
4
+ }
5
+ declare const Code: import("svelte").Component<Props, {}, "">;
5
6
  type Code = ReturnType<typeof Code>;
6
7
  export default Code;
@@ -1,5 +1,6 @@
1
- declare const Codespan: import("svelte").Component<{
1
+ interface Props {
2
2
  raw: string;
3
- }, {}, "">;
3
+ }
4
+ declare const Codespan: import("svelte").Component<Props, {}, "">;
4
5
  type Codespan = ReturnType<typeof Codespan>;
5
6
  export default Codespan;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Del: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Del: import("svelte").Component<Props, {}, "">;
5
6
  type Del = ReturnType<typeof Del>;
6
7
  export default Del;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Em: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Em: import("svelte").Component<Props, {}, "">;
5
6
  type Em = ReturnType<typeof Em>;
6
7
  export default Em;
@@ -1,12 +1,13 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { SvelteMarkdownOptions } from '../utils/markdown-parser.js';
3
- declare const Heading: import("svelte").Component<{
3
+ interface Props {
4
4
  depth: number;
5
5
  raw: string;
6
6
  text: string;
7
7
  options: SvelteMarkdownOptions;
8
8
  slug: (val: string) => string;
9
9
  children?: Snippet;
10
- }, {}, "">;
10
+ }
11
+ declare const Heading: import("svelte").Component<Props, {}, "">;
11
12
  type Heading = ReturnType<typeof Heading>;
12
13
  export default Heading;
@@ -1,7 +1,8 @@
1
- declare const Image: import("svelte").Component<{
1
+ interface Props {
2
2
  href?: string;
3
3
  title?: string;
4
4
  text?: string;
5
- }, {}, "">;
5
+ }
6
+ declare const Image: import("svelte").Component<Props, {}, "">;
6
7
  type Image = ReturnType<typeof Image>;
7
8
  export default Image;
@@ -1,8 +1,9 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Link: import("svelte").Component<{
2
+ interface Props {
3
3
  href?: string;
4
4
  title?: string;
5
5
  children?: Snippet;
6
- }, {}, "">;
6
+ }
7
+ declare const Link: import("svelte").Component<Props, {}, "">;
7
8
  type Link = ReturnType<typeof Link>;
8
9
  export default Link;
@@ -1,8 +1,9 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const List: import("svelte").Component<{
2
+ interface Props {
3
3
  ordered?: boolean;
4
4
  start?: number;
5
5
  children?: Snippet;
6
- }, {}, "">;
6
+ }
7
+ declare const List: import("svelte").Component<Props, {}, "">;
7
8
  type List = ReturnType<typeof List>;
8
9
  export default List;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const ListItem: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const ListItem: import("svelte").Component<Props, {}, "">;
5
6
  type ListItem = ReturnType<typeof ListItem>;
6
7
  export default ListItem;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Paragraph: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Paragraph: import("svelte").Component<Props, {}, "">;
5
6
  type Paragraph = ReturnType<typeof Paragraph>;
6
7
  export default Paragraph;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Strong: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Strong: import("svelte").Component<Props, {}, "">;
5
6
  type Strong = ReturnType<typeof Strong>;
6
7
  export default Strong;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const Table: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Table: import("svelte").Component<Props, {}, "">;
5
6
  type Table = ReturnType<typeof Table>;
6
7
  export default Table;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const TableBody: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const TableBody: import("svelte").Component<Props, {}, "">;
5
6
  type TableBody = ReturnType<typeof TableBody>;
6
7
  export default TableBody;
@@ -1,8 +1,9 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const TableCell: import("svelte").Component<{
2
+ interface Props {
3
3
  header: boolean;
4
- align: "left" | "center" | "right" | "justify" | "char" | null | undefined;
4
+ align: 'left' | 'center' | 'right' | 'justify' | 'char' | null | undefined;
5
5
  children?: Snippet;
6
- }, {}, "">;
6
+ }
7
+ declare const TableCell: import("svelte").Component<Props, {}, "">;
7
8
  type TableCell = ReturnType<typeof TableCell>;
8
9
  export default TableCell;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const TableHead: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const TableHead: import("svelte").Component<Props, {}, "">;
5
6
  type TableHead = ReturnType<typeof TableHead>;
6
7
  export default TableHead;
@@ -1,6 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
- declare const TableRow: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const TableRow: import("svelte").Component<Props, {}, "">;
5
6
  type TableRow = ReturnType<typeof TableRow>;
6
7
  export default TableRow;
@@ -1,6 +1,7 @@
1
1
  import { type Snippet } from 'svelte';
2
- declare const Text: import("svelte").Component<{
2
+ interface Props {
3
3
  children?: Snippet;
4
- }, {}, "">;
4
+ }
5
+ declare const Text: import("svelte").Component<Props, {}, "">;
5
6
  type Text = ReturnType<typeof Text>;
6
7
  export default Text;
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()
@@ -3,7 +3,7 @@
3
3
 
4
4
  interface Props {
5
5
  children?: Snippet
6
- attributes?: Record<string, any>
6
+ attributes?: Record<string, any> // eslint-disable-line @typescript-eslint/no-explicit-any
7
7
  }
8
8
 
9
9
  const { children, attributes }: Props = $props()