@humanspeak/svelte-markdown 0.6.0 → 0.6.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.
@@ -61,7 +61,7 @@
61
61
  }
62
62
  }
63
63
 
64
- $inspect(tokens)
64
+ // $inspect(tokens)
65
65
  </script>
66
66
 
67
67
  <Parser
@@ -1,12 +1,14 @@
1
- import { type Token, type TokensList, type SvelteMarkdownOptions, type Renderers } from './utils/markdown-parser.js';
2
- declare const SvelteMarkdown: import("svelte").Component<{
1
+ type Props = {
3
2
  source: Token[] | string;
4
3
  renderers?: Renderers;
5
4
  options?: SvelteMarkdownOptions;
6
5
  isInline?: boolean;
7
6
  parsed?: (tokens: Token[] | TokensList) => void;
8
- } & {
7
+ };
8
+ type $$ComponentProps = Props & {
9
9
  [key: string]: unknown;
10
- }, {}, "">;
10
+ };
11
+ import { type Token, type TokensList, type SvelteMarkdownOptions, type Renderers } from './utils/markdown-parser.js';
12
+ declare const SvelteMarkdown: import("svelte").Component<$$ComponentProps, {}, "">;
11
13
  type SvelteMarkdown = ReturnType<typeof SvelteMarkdown>;
12
14
  export default SvelteMarkdown;
@@ -1,6 +1,7 @@
1
- import type { Snippet } from 'svelte';
2
- declare const Blockquote: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const Br: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
+ type 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
+ type 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
- import type { Snippet } from 'svelte';
2
- declare const Del: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const Em: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- import type { SvelteMarkdownOptions } from '../utils/markdown-parser.js';
3
- declare const Heading: import("svelte").Component<{
1
+ type Props = {
4
2
  depth: number;
5
3
  raw: string;
6
4
  text: string;
7
5
  options: SvelteMarkdownOptions;
8
6
  slug: (val: string) => string;
9
7
  children?: Snippet;
10
- }, {}, "">;
8
+ };
9
+ import type { Snippet } from 'svelte';
10
+ import type { SvelteMarkdownOptions } from '../utils/markdown-parser.js';
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
+ type 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
- import type { Snippet } from 'svelte';
2
- declare const Link: import("svelte").Component<{
1
+ type Props = {
3
2
  href?: string;
4
3
  title?: string;
5
4
  children?: Snippet;
6
- }, {}, "">;
5
+ };
6
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const List: import("svelte").Component<{
1
+ type Props = {
3
2
  ordered?: boolean;
4
3
  start?: number;
5
4
  children?: Snippet;
6
- }, {}, "">;
5
+ };
6
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const ListItem: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const Paragraph: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const Strong: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const Table: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const TableBody: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const TableCell: import("svelte").Component<{
1
+ type Props = {
3
2
  header: boolean;
4
- align: "left" | "center" | "right" | "justify" | "char" | null | undefined;
3
+ align: 'left' | 'center' | 'right' | 'justify' | 'char' | null | undefined;
5
4
  children?: Snippet;
6
- }, {}, "">;
5
+ };
6
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const TableHead: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import type { Snippet } from 'svelte';
2
- declare const TableRow: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import type { Snippet } from 'svelte';
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
- import { type Snippet } from 'svelte';
2
- declare const Text: import("svelte").Component<{
1
+ type Props = {
3
2
  children?: Snippet;
4
- }, {}, "">;
3
+ };
4
+ import { type Snippet } from 'svelte';
5
+ declare const Text: import("svelte").Component<Props, {}, "">;
5
6
  type Text = ReturnType<typeof Text>;
6
7
  export default Text;
@@ -1,61 +1,169 @@
1
1
  import A from './A.svelte';
2
+ import Abbr from './Abbr.svelte';
3
+ import Address from './Address.svelte';
4
+ import Article from './Article.svelte';
5
+ import Aside from './Aside.svelte';
6
+ import Audio from './Audio.svelte';
7
+ import B from './B.svelte';
8
+ import Bdi from './Bdi.svelte';
9
+ import Bdo from './Bdo.svelte';
2
10
  import Blockquote from './Blockquote.svelte';
11
+ import Button from './Button.svelte';
12
+ import Canvas from './Canvas.svelte';
13
+ import Cite from './Cite.svelte';
3
14
  import Code from './Code.svelte';
15
+ import Datalist from './Datalist.svelte';
16
+ import Dd from './Dd.svelte';
4
17
  import Del from './Del.svelte';
18
+ import Details from './Details.svelte';
19
+ import Dfn from './Dfn.svelte';
20
+ import Dialog from './Dialog.svelte';
21
+ import Div from './Div.svelte';
22
+ import Dl from './Dl.svelte';
23
+ import Dt from './Dt.svelte';
5
24
  import Em from './Em.svelte';
25
+ import Embed from './Embed.svelte';
26
+ import Fieldset from './Fieldset.svelte';
27
+ import Footer from './Footer.svelte';
28
+ import Form from './Form.svelte';
6
29
  import H1 from './H1.svelte';
7
30
  import H2 from './H2.svelte';
8
31
  import H3 from './H3.svelte';
9
32
  import H4 from './H4.svelte';
10
33
  import H5 from './H5.svelte';
11
34
  import H6 from './H6.svelte';
35
+ import Header from './Header.svelte';
36
+ import Hgroup from './Hgroup.svelte';
12
37
  import Hr from './Hr.svelte';
13
38
  import I from './I.svelte';
39
+ import Iframe from './Iframe.svelte';
14
40
  import Img from './Img.svelte';
41
+ import Input from './Input.svelte';
42
+ import Kbd from './Kbd.svelte';
43
+ import Label from './Label.svelte';
44
+ import Legend from './Legend.svelte';
15
45
  import Li from './Li.svelte';
46
+ import Main from './Main.svelte';
47
+ import Mark from './Mark.svelte';
48
+ import Menu from './Menu.svelte';
49
+ import Meter from './Meter.svelte';
50
+ import Nav from './Nav.svelte';
51
+ import Object from './Object.svelte';
16
52
  import Ol from './Ol.svelte';
53
+ import Optgroup from './Optgroup.svelte';
54
+ import Option from './Option.svelte';
55
+ import Output from './Output.svelte';
17
56
  import P from './P.svelte';
57
+ import Param from './Param.svelte';
58
+ import Picture from './Picture.svelte';
18
59
  import Pre from './Pre.svelte';
60
+ import Progress from './Progress.svelte';
61
+ import S from './S.svelte';
62
+ import Samp from './Samp.svelte';
63
+ import Section from './Section.svelte';
64
+ import Select from './Select.svelte';
65
+ import Small from './Small.svelte';
66
+ import Source from './Source.svelte';
67
+ import Span from './Span.svelte';
19
68
  import Strong from './Strong.svelte';
20
69
  import Sub from './Sub.svelte';
70
+ import Summary from './Summary.svelte';
21
71
  import Sup from './Sup.svelte';
22
72
  import Table from './Table.svelte';
23
73
  import Tbody from './Tbody.svelte';
24
74
  import Td from './Td.svelte';
75
+ import Textarea from './Textarea.svelte';
25
76
  import Tfoot from './Tfoot.svelte';
26
77
  import Th from './Th.svelte';
27
78
  import Thead from './Thead.svelte';
28
79
  import Tr from './Tr.svelte';
80
+ import Track from './Track.svelte';
81
+ import U from './U.svelte';
29
82
  import Ul from './Ul.svelte';
83
+ import Var from './Var.svelte';
30
84
  export const Html = {
31
85
  a: A,
86
+ abbr: Abbr,
87
+ address: Address,
88
+ article: Article,
89
+ aside: Aside,
90
+ audio: Audio,
91
+ b: B,
92
+ bdi: Bdi,
93
+ bdo: Bdo,
32
94
  blockquote: Blockquote,
95
+ button: Button,
96
+ canvas: Canvas,
97
+ cite: Cite,
33
98
  code: Code,
99
+ datalist: Datalist,
100
+ dd: Dd,
34
101
  del: Del,
102
+ details: Details,
103
+ dfn: Dfn,
104
+ dialog: Dialog,
105
+ div: Div,
106
+ dl: Dl,
107
+ dt: Dt,
35
108
  em: Em,
109
+ embed: Embed,
110
+ fieldset: Fieldset,
111
+ footer: Footer,
112
+ form: Form,
36
113
  h1: H1,
37
114
  h2: H2,
38
115
  h3: H3,
39
116
  h4: H4,
40
117
  h5: H5,
41
118
  h6: H6,
119
+ header: Header,
120
+ hgroup: Hgroup,
42
121
  hr: Hr,
43
122
  i: I,
123
+ iframe: Iframe,
44
124
  img: Img,
125
+ input: Input,
126
+ kbd: Kbd,
127
+ label: Label,
128
+ legend: Legend,
45
129
  li: Li,
130
+ main: Main,
131
+ mark: Mark,
132
+ menu: Menu,
133
+ meter: Meter,
134
+ nav: Nav,
135
+ object: Object,
46
136
  ol: Ol,
137
+ optgroup: Optgroup,
138
+ option: Option,
139
+ output: Output,
47
140
  p: P,
141
+ param: Param,
142
+ picture: Picture,
48
143
  pre: Pre,
144
+ progress: Progress,
145
+ s: S,
146
+ samp: Samp,
147
+ section: Section,
148
+ select: Select,
149
+ small: Small,
150
+ source: Source,
151
+ span: Span,
49
152
  strong: Strong,
50
153
  sub: Sub,
154
+ summary: Summary,
51
155
  sup: Sup,
52
156
  table: Table,
53
157
  tbody: Tbody,
54
158
  td: Td,
159
+ textarea: Textarea,
160
+ tfoot: Tfoot,
55
161
  th: Th,
56
162
  thead: Thead,
57
163
  tr: Tr,
58
- tfoot: Tfoot,
59
- ul: Ul
164
+ track: Track,
165
+ u: U,
166
+ ul: Ul,
167
+ var: Var
60
168
  };
61
169
  export default Html;
@@ -1,6 +1,6 @@
1
- import type { Token, TokensList } from 'marked';
1
+ import type { Token } from 'marked';
2
2
  export declare const isHtmlOpenTag: (raw: string) => {
3
3
  tag: string;
4
4
  isOpening: boolean;
5
5
  } | null;
6
- export declare const shrinkHtmlTokens: (tokens: Token[] | TokensList) => Token[];
6
+ export declare const shrinkHtmlTokens: (tokens: Token[]) => Token[];
@@ -1,3 +1,4 @@
1
+ import { Parser } from 'htmlparser2';
1
2
  // Cache the regex pattern
2
3
  const HTML_TAG_PATTERN = /<\/?([a-zA-Z][a-zA-Z0-9-]{0,})(?:\s+[^>]*)?>/;
3
4
  const htmlTagRegex = new RegExp(HTML_TAG_PATTERN);
@@ -10,63 +11,126 @@ export const isHtmlOpenTag = (raw) => {
10
11
  return null;
11
12
  return { tag: match[1], isOpening: !raw.startsWith('</') };
12
13
  };
14
+ function extractAttributes(raw) {
15
+ const attributes = {};
16
+ const attributeRegex = /(\w+)=["']([^"']*?)["']/g;
17
+ let match;
18
+ while ((match = attributeRegex.exec(raw)) !== null) {
19
+ const [, key, value] = match;
20
+ attributes[key] = value.trim();
21
+ }
22
+ return attributes;
23
+ }
24
+ function parseHtmlBlock(html) {
25
+ const tokens = [];
26
+ let currentText = '';
27
+ const parser = new Parser({
28
+ onopentag(name, attributes) {
29
+ if (currentText.trim()) {
30
+ tokens.push({
31
+ type: 'text',
32
+ raw: currentText,
33
+ text: currentText
34
+ });
35
+ currentText = '';
36
+ }
37
+ tokens.push({
38
+ type: 'html',
39
+ raw: `<${name}${Object.entries(attributes)
40
+ .map(([key, value]) => ` ${key}="${value}"`)
41
+ .join('')}>`,
42
+ tag: name,
43
+ attributes
44
+ });
45
+ },
46
+ ontext(text) {
47
+ currentText += text;
48
+ },
49
+ onclosetag(name) {
50
+ if (currentText.trim()) {
51
+ tokens.push({
52
+ type: 'text',
53
+ raw: currentText,
54
+ text: currentText
55
+ });
56
+ currentText = '';
57
+ }
58
+ tokens.push({
59
+ type: 'html',
60
+ raw: `</${name}>`,
61
+ tag: name
62
+ });
63
+ }
64
+ });
65
+ parser.write(html);
66
+ parser.end();
67
+ return tokens;
68
+ }
69
+ function containsMultipleTags(html) {
70
+ // Count the number of opening tags (excluding self-closing)
71
+ const openingTags = html.match(/<[a-zA-Z][^>]*>/g) || [];
72
+ const closingTags = html.match(/<\/[a-zA-Z][^>]*>/g) || [];
73
+ return openingTags.length > 1 || closingTags.length > 1;
74
+ }
13
75
  export const shrinkHtmlTokens = (tokens) => {
14
76
  const result = [];
15
- const len = tokens.length;
16
- for (let i = 0; i < len; i++) {
17
- const currentToken = { ...tokens[i] };
18
- // Handle nested tokens first
19
- if ('tokens' in currentToken && currentToken.tokens) {
20
- currentToken.tokens = shrinkHtmlTokens(currentToken.tokens);
21
- result.push(currentToken);
22
- continue;
77
+ for (const token of tokens) {
78
+ if (token.type === 'html' && containsMultipleTags(token.raw)) {
79
+ // Parse HTML with multiple tags into separate tokens
80
+ result.push(...parseHtmlBlock(token.raw));
23
81
  }
24
- // Check for HTML pattern
25
- if (currentToken.type === 'html') {
26
- const openTag = isHtmlOpenTag(currentToken.raw);
27
- if (openTag?.isOpening) {
28
- // Search forward for the next matching closing tag
29
- let closingIndex = -1;
30
- let depth = 0;
31
- for (let j = i + 1; j < len; j++) {
32
- const potentialTag = isHtmlOpenTag(tokens[j].raw);
33
- if (potentialTag?.tag === openTag.tag) {
34
- if (potentialTag.isOpening) {
35
- depth++;
36
- }
37
- else if (depth === 0) {
38
- closingIndex = j;
39
- break;
40
- }
41
- else {
42
- depth--;
43
- }
44
- }
45
- }
46
- if (closingIndex !== -1) {
47
- // Collect all content between tags
48
- const contentTokens = tokens.slice(i + 1, closingIndex);
49
- result.push({
50
- type: 'html',
51
- raw: currentToken.raw,
52
- text: currentToken.raw.replace(/<|>/g, ''),
53
- tokens: shrinkHtmlTokens(contentTokens),
54
- tag: openTag.tag,
55
- attributes: Object.fromEntries((currentToken.raw.match(/\s+([^>]*)/)?.[1] || '')
56
- .split(/\s+/)
57
- .filter(Boolean)
58
- .map((attr) => {
59
- const [key, value] = attr.split('=');
60
- return [key, value ? value.replace(/['"]/g, '') : true];
61
- }))
62
- });
63
- // Skip ahead past the closing tag
64
- i = closingIndex;
82
+ else {
83
+ result.push(token);
84
+ }
85
+ }
86
+ // Then process the tokens as before
87
+ return processHtmlTokens(result);
88
+ };
89
+ // Rename the existing shrinkHtmlTokens logic to processHtmlTokens
90
+ function processHtmlTokens(tokens) {
91
+ const result = [];
92
+ const stack = [];
93
+ for (let i = 0; i < tokens.length; i++) {
94
+ const token = tokens[i];
95
+ // Recursively process any nested tokens first
96
+ if ('tokens' in token && Array.isArray(token.tokens)) {
97
+ token.tokens = processHtmlTokens(token.tokens);
98
+ }
99
+ if (token.type === 'html') {
100
+ const tagInfo = isHtmlOpenTag(token.raw);
101
+ if (!tagInfo) {
102
+ result.push(token);
103
+ continue;
104
+ }
105
+ if (tagInfo.isOpening) {
106
+ stack.push({ tag: tagInfo.tag, startIndex: result.length });
107
+ result.push(token);
108
+ }
109
+ else {
110
+ const lastOpening = stack.pop();
111
+ if (!lastOpening || lastOpening.tag !== tagInfo.tag) {
112
+ result.push(token);
65
113
  continue;
66
114
  }
115
+ const startIndex = lastOpening.startIndex;
116
+ const innerTokens = result.splice(startIndex + 1, result.length - startIndex - 1);
117
+ const openingToken = result.pop();
118
+ const attributes = extractAttributes(openingToken.raw);
119
+ result.push({
120
+ type: 'html',
121
+ raw: openingToken.raw,
122
+ tag: tagInfo.tag,
123
+ tokens: processHtmlTokens(innerTokens),
124
+ attributes
125
+ });
67
126
  }
68
127
  }
69
- result.push(currentToken);
128
+ else {
129
+ result.push(token);
130
+ }
131
+ }
132
+ if (stack.length > 0) {
133
+ return tokens;
70
134
  }
71
135
  return result;
72
- };
136
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@humanspeak/svelte-markdown",
3
3
  "description": "A markdown renderer for Svelte",
4
- "version": "0.6.0",
4
+ "version": "0.6.1",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "vite build && npm run package",
@@ -53,23 +53,24 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "github-slugger": "^2.0.0",
56
+ "htmlparser2": "^9.1.0",
56
57
  "marked": "^15.0.0"
57
58
  },
58
59
  "devDependencies": {
59
- "@eslint/eslintrc": "^3.1.0",
60
- "@eslint/js": "^9.14.0",
60
+ "@eslint/eslintrc": "^3.2.0",
61
+ "@eslint/js": "^9.15.0",
61
62
  "@sveltejs/adapter-auto": "^3.3.1",
62
- "@sveltejs/kit": "^2.8.0",
63
+ "@sveltejs/kit": "^2.8.1",
63
64
  "@sveltejs/package": "^2.3.7",
64
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
65
+ "@sveltejs/vite-plugin-svelte": "^4.0.1",
65
66
  "@testing-library/jest-dom": "^6.6.3",
66
67
  "@testing-library/svelte": "^5.2.4",
67
68
  "@testing-library/user-event": "^14.5.2",
68
69
  "@types/node": "^22.9.0",
69
70
  "@typescript-eslint/eslint-plugin": "^8.14.0",
70
71
  "@typescript-eslint/parser": "^8.14.0",
71
- "@vitest/coverage-v8": "^2.1.4",
72
- "eslint": "^9.14.0",
72
+ "@vitest/coverage-v8": "^2.1.5",
73
+ "eslint": "^9.15.0",
73
74
  "eslint-config-prettier": "^9.1.0",
74
75
  "eslint-plugin-svelte": "^2.46.0",
75
76
  "globals": "^15.12.0",
@@ -79,11 +80,11 @@
79
80
  "prettier-plugin-svelte": "^3.2.8",
80
81
  "prettier-plugin-tailwindcss": "^0.6.8",
81
82
  "publint": "^0.2.12",
82
- "svelte": "^5.1.15",
83
- "svelte-check": "^4.0.7",
83
+ "svelte": "^5.2.2",
84
+ "svelte-check": "^4.0.9",
84
85
  "typescript": "^5.6.3",
85
86
  "vite": "^5.4.11",
86
- "vitest": "^2.1.4"
87
+ "vitest": "^2.1.5"
87
88
  },
88
89
  "overrides": {
89
90
  "@sveltejs/kit": {
@@ -1,12 +0,0 @@
1
- <script lang="ts">
2
- import type { Snippet } from 'svelte'
3
-
4
- interface Props {
5
- children?: Snippet
6
- attributes?: Record<string, any>
7
- }
8
-
9
- const { children, attributes }: Props = $props()
10
- </script>
11
-
12
- <video {...attributes}>{@render children?.()}</video>
@@ -1,7 +0,0 @@
1
- import type { Snippet } from 'svelte';
2
- declare const Video: import("svelte").Component<{
3
- children?: Snippet;
4
- attributes?: Record<string, any>;
5
- }, {}, "">;
6
- type Video = ReturnType<typeof Video>;
7
- export default Video;