svelte-streamdown 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/README.md +58 -0
  2. package/dist/Block.svelte +34 -0
  3. package/dist/Block.svelte.d.ts +6 -0
  4. package/dist/Elements/A.svelte +48 -0
  5. package/dist/Elements/A.svelte.d.ts +4 -0
  6. package/dist/Elements/Alert.svelte +78 -0
  7. package/dist/Elements/Alert.svelte.d.ts +4 -0
  8. package/dist/Elements/Blockquote.svelte +26 -0
  9. package/dist/Elements/Blockquote.svelte.d.ts +4 -0
  10. package/dist/Elements/Code.svelte +123 -0
  11. package/dist/Elements/Code.svelte.d.ts +4 -0
  12. package/dist/Elements/Del.svelte +24 -0
  13. package/dist/Elements/Del.svelte.d.ts +4 -0
  14. package/dist/Elements/Element.svelte +122 -0
  15. package/dist/Elements/Element.svelte.d.ts +12 -0
  16. package/dist/Elements/Em.svelte +23 -0
  17. package/dist/Elements/Em.svelte.d.ts +4 -0
  18. package/dist/Elements/H1.svelte +23 -0
  19. package/dist/Elements/H1.svelte.d.ts +4 -0
  20. package/dist/Elements/H2.svelte +23 -0
  21. package/dist/Elements/H2.svelte.d.ts +4 -0
  22. package/dist/Elements/H3.svelte +23 -0
  23. package/dist/Elements/H3.svelte.d.ts +4 -0
  24. package/dist/Elements/H4.svelte +23 -0
  25. package/dist/Elements/H4.svelte.d.ts +4 -0
  26. package/dist/Elements/H5.svelte +23 -0
  27. package/dist/Elements/H5.svelte.d.ts +4 -0
  28. package/dist/Elements/H6.svelte +23 -0
  29. package/dist/Elements/H6.svelte.d.ts +4 -0
  30. package/dist/Elements/Hr.svelte +20 -0
  31. package/dist/Elements/Hr.svelte.d.ts +4 -0
  32. package/dist/Elements/Image.svelte +49 -0
  33. package/dist/Elements/Image.svelte.d.ts +4 -0
  34. package/dist/Elements/InlineCode.svelte +23 -0
  35. package/dist/Elements/InlineCode.svelte.d.ts +4 -0
  36. package/dist/Elements/Li.svelte +23 -0
  37. package/dist/Elements/Li.svelte.d.ts +4 -0
  38. package/dist/Elements/Math.svelte +73 -0
  39. package/dist/Elements/Math.svelte.d.ts +5 -0
  40. package/dist/Elements/Mermaid.svelte +80 -0
  41. package/dist/Elements/Mermaid.svelte.d.ts +4 -0
  42. package/dist/Elements/Ol.svelte +23 -0
  43. package/dist/Elements/Ol.svelte.d.ts +4 -0
  44. package/dist/Elements/P.svelte +23 -0
  45. package/dist/Elements/P.svelte.d.ts +4 -0
  46. package/dist/Elements/Slot.svelte +19 -0
  47. package/dist/Elements/Slot.svelte.d.ts +9 -0
  48. package/dist/Elements/Strong.svelte +23 -0
  49. package/dist/Elements/Strong.svelte.d.ts +4 -0
  50. package/dist/Elements/Sub.svelte +23 -0
  51. package/dist/Elements/Sub.svelte.d.ts +4 -0
  52. package/dist/Elements/Sup.svelte +23 -0
  53. package/dist/Elements/Sup.svelte.d.ts +4 -0
  54. package/dist/Elements/Table.svelte +25 -0
  55. package/dist/Elements/Table.svelte.d.ts +4 -0
  56. package/dist/Elements/Tbody.svelte +23 -0
  57. package/dist/Elements/Tbody.svelte.d.ts +4 -0
  58. package/dist/Elements/Td.svelte +23 -0
  59. package/dist/Elements/Td.svelte.d.ts +4 -0
  60. package/dist/Elements/Th.svelte +23 -0
  61. package/dist/Elements/Th.svelte.d.ts +4 -0
  62. package/dist/Elements/Thead.svelte +23 -0
  63. package/dist/Elements/Thead.svelte.d.ts +4 -0
  64. package/dist/Elements/Tr.svelte +23 -0
  65. package/dist/Elements/Tr.svelte.d.ts +4 -0
  66. package/dist/Elements/Ul.svelte +23 -0
  67. package/dist/Elements/Ul.svelte.d.ts +4 -0
  68. package/dist/Elements/element.d.ts +8 -0
  69. package/dist/Elements/element.js +1 -0
  70. package/dist/Elements/index.d.ts +34 -0
  71. package/dist/Elements/index.js +34 -0
  72. package/dist/Streamdown.d.ts +83 -0
  73. package/dist/Streamdown.js +1 -0
  74. package/dist/Streamdown.svelte +128 -0
  75. package/dist/Streamdown.svelte.d.ts +18 -0
  76. package/dist/hightlighter.svelte.d.ts +25 -0
  77. package/dist/hightlighter.svelte.js +413 -0
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.js +2 -0
  80. package/dist/theme.d.ts +247 -0
  81. package/dist/theme.js +138 -0
  82. package/dist/utils/alerts.d.ts +12 -0
  83. package/dist/utils/alerts.js +207 -0
  84. package/dist/utils/bind.d.ts +1 -0
  85. package/dist/utils/bind.js +6 -0
  86. package/dist/utils/copy.svelte.d.ts +7 -0
  87. package/dist/utils/copy.svelte.js +35 -0
  88. package/dist/utils/parse-blocks.d.ts +1 -0
  89. package/dist/utils/parse-blocks.js +40 -0
  90. package/dist/utils/parse-incomplete-markdown.d.ts +1 -0
  91. package/dist/utils/parse-incomplete-markdown.js +442 -0
  92. package/dist/utils/parse.d.ts +3 -0
  93. package/dist/utils/parse.js +144 -0
  94. package/dist/utils/save.d.ts +1 -0
  95. package/dist/utils/save.js +11 -0
  96. package/dist/utils/url.d.ts +2 -0
  97. package/dist/utils/url.js +71 -0
  98. package/package.json +92 -0
@@ -0,0 +1,413 @@
1
+ import { createJavaScriptRegexEngine } from 'shiki/engine/javascript';
2
+ import { createHighlighter } from 'shiki';
3
+ // Remove background styles from <pre> tags (inline style)
4
+ const removePreBackground = (html) => {
5
+ return html.replace(/<pre[^>]*style="[^"]*background[^";]*;?[^"]*"[^>]*>/g, (match) => match.replace(/style="[^"]*background[^";]*;?[^"]*"/, ''));
6
+ };
7
+ class HighlighterManager {
8
+ initialized = $state(false);
9
+ initializedPromise = $state(null);
10
+ highlighter = null;
11
+ theme = null;
12
+ loadedLanguages = new Set();
13
+ initializationPromise = null;
14
+ readyStates = new Map();
15
+ getReadyKey(theme, language) {
16
+ return `${theme}-${language}`;
17
+ }
18
+ /**
19
+ * Prepares the highlighter for the given themes and language.
20
+ * This method must be called and awaited before using highlightCode.
21
+ */
22
+ async isReady(theme, language) {
23
+ const readyKey = this.getReadyKey(theme, language);
24
+ // If already ready for this combination, return immediately
25
+ if (this.readyStates.get(readyKey)) {
26
+ return;
27
+ }
28
+ // Ensure only one initialization happens at a time
29
+ if (this.initializationPromise) {
30
+ await this.initializationPromise;
31
+ }
32
+ // Check again after waiting, in case another call initialized it
33
+ if (this.readyStates.get(readyKey)) {
34
+ return;
35
+ }
36
+ // Initialize for this combination
37
+ this.initializationPromise = this.ensureHighlightersInitialized(theme, language);
38
+ await this.initializationPromise;
39
+ this.initializationPromise = null;
40
+ // Mark as ready
41
+ this.readyStates.set(readyKey, true);
42
+ this.initialized = true;
43
+ }
44
+ async ensureHighlightersInitialized(theme, language) {
45
+ const jsEngine = createJavaScriptRegexEngine({ forgiving: true });
46
+ // Check if we need to recreate highlighters due to theme change
47
+ const needsLightRecreation = !this.highlighter || this.theme !== theme;
48
+ if (needsLightRecreation) {
49
+ // If themes changed, reset loaded languages and ready states
50
+ this.loadedLanguages.clear();
51
+ this.readyStates.clear();
52
+ }
53
+ // Check if we need to load the language
54
+ const needsLanguageLoad = !this.loadedLanguages.has(language);
55
+ // Create or recreate light highlighter if needed
56
+ if (needsLightRecreation) {
57
+ this.highlighter = await createHighlighter({
58
+ themes: [theme],
59
+ langs: [language],
60
+ engine: jsEngine
61
+ });
62
+ this.theme = theme;
63
+ this.loadedLanguages.add(language);
64
+ }
65
+ else if (needsLanguageLoad) {
66
+ // Load the language if not already loaded
67
+ await this.highlighter?.loadLanguage(language);
68
+ }
69
+ // Mark language as loaded after both highlighters have it
70
+ if (needsLanguageLoad) {
71
+ this.loadedLanguages.add(language);
72
+ }
73
+ }
74
+ /**
75
+ * Synchronously highlights code. Must call isReady() first for the same themes and language.
76
+ * @throws {Error} If isReady() hasn't been called for this combination of themes and language
77
+ */
78
+ highlightCode(code, language, theme, preClassName) {
79
+ const readyKey = this.getReadyKey(theme, language);
80
+ // Ensure isReady was called first
81
+ if (!this.readyStates.get(readyKey)) {
82
+ throw new Error(`Highlighter not ready for themes [${theme}] and language "${language}". ` +
83
+ `Call await highlighter.isReady(theme, language) first.`);
84
+ }
85
+ // Ensure highlighters exist
86
+ if (!this.highlighter) {
87
+ throw new Error('Highlighters not initialized. This should not happen after calling isReady().');
88
+ }
89
+ const addPreClass = (html) => {
90
+ if (!preClassName) {
91
+ return html;
92
+ }
93
+ return html.replace(/<pre(\s|>)/, `<pre class="${preClassName}"$1`);
94
+ };
95
+ const light = this.highlighter.codeToHtml(code, {
96
+ lang: language,
97
+ theme: theme
98
+ });
99
+ return removePreBackground(addPreClass(light));
100
+ }
101
+ }
102
+ // Export the class for those who want to create their own instances
103
+ export { HighlighterManager };
104
+ // Create and export a singleton instance
105
+ export const highlighter = new HighlighterManager();
106
+ export const languageExtensionMap = {
107
+ '1c': '1c',
108
+ '1c-query': '1cq',
109
+ abap: 'abap',
110
+ 'actionscript-3': 'as',
111
+ ada: 'ada',
112
+ adoc: 'adoc',
113
+ 'angular-html': 'html',
114
+ 'angular-ts': 'ts',
115
+ apache: 'conf',
116
+ apex: 'cls',
117
+ apl: 'apl',
118
+ applescript: 'applescript',
119
+ ara: 'ara',
120
+ asciidoc: 'adoc',
121
+ asm: 'asm',
122
+ astro: 'astro',
123
+ awk: 'awk',
124
+ ballerina: 'bal',
125
+ bash: 'sh',
126
+ bat: 'bat',
127
+ batch: 'bat',
128
+ be: 'be',
129
+ beancount: 'beancount',
130
+ berry: 'berry',
131
+ bibtex: 'bib',
132
+ bicep: 'bicep',
133
+ blade: 'blade.php',
134
+ bsl: 'bsl',
135
+ c: 'c',
136
+ 'c#': 'cs',
137
+ 'c++': 'cpp',
138
+ cadence: 'cdc',
139
+ cairo: 'cairo',
140
+ cdc: 'cdc',
141
+ clarity: 'clar',
142
+ clj: 'clj',
143
+ clojure: 'clj',
144
+ 'closure-templates': 'soy',
145
+ cmake: 'cmake',
146
+ cmd: 'cmd',
147
+ cobol: 'cob',
148
+ codeowners: 'CODEOWNERS',
149
+ codeql: 'ql',
150
+ coffee: 'coffee',
151
+ coffeescript: 'coffee',
152
+ 'common-lisp': 'lisp',
153
+ console: 'sh',
154
+ coq: 'v',
155
+ cpp: 'cpp',
156
+ cql: 'cql',
157
+ crystal: 'cr',
158
+ cs: 'cs',
159
+ csharp: 'cs',
160
+ css: 'css',
161
+ csv: 'csv',
162
+ cue: 'cue',
163
+ cypher: 'cql',
164
+ d: 'd',
165
+ dart: 'dart',
166
+ dax: 'dax',
167
+ desktop: 'desktop',
168
+ diff: 'diff',
169
+ docker: 'dockerfile',
170
+ dockerfile: 'dockerfile',
171
+ dotenv: 'env',
172
+ 'dream-maker': 'dm',
173
+ edge: 'edge',
174
+ elisp: 'el',
175
+ elixir: 'ex',
176
+ elm: 'elm',
177
+ 'emacs-lisp': 'el',
178
+ erb: 'erb',
179
+ erl: 'erl',
180
+ erlang: 'erl',
181
+ f: 'f',
182
+ 'f#': 'fs',
183
+ f03: 'f03',
184
+ f08: 'f08',
185
+ f18: 'f18',
186
+ f77: 'f77',
187
+ f90: 'f90',
188
+ f95: 'f95',
189
+ fennel: 'fnl',
190
+ fish: 'fish',
191
+ fluent: 'ftl',
192
+ for: 'for',
193
+ 'fortran-fixed-form': 'f',
194
+ 'fortran-free-form': 'f90',
195
+ fs: 'fs',
196
+ fsharp: 'fs',
197
+ fsl: 'fsl',
198
+ ftl: 'ftl',
199
+ gdresource: 'tres',
200
+ gdscript: 'gd',
201
+ gdshader: 'gdshader',
202
+ genie: 'gs',
203
+ gherkin: 'feature',
204
+ 'git-commit': 'gitcommit',
205
+ 'git-rebase': 'gitrebase',
206
+ gjs: 'js',
207
+ gleam: 'gleam',
208
+ 'glimmer-js': 'js',
209
+ 'glimmer-ts': 'ts',
210
+ glsl: 'glsl',
211
+ gnuplot: 'plt',
212
+ go: 'go',
213
+ gql: 'gql',
214
+ graphql: 'graphql',
215
+ groovy: 'groovy',
216
+ gts: 'gts',
217
+ hack: 'hack',
218
+ haml: 'haml',
219
+ handlebars: 'hbs',
220
+ haskell: 'hs',
221
+ haxe: 'hx',
222
+ hbs: 'hbs',
223
+ hcl: 'hcl',
224
+ hjson: 'hjson',
225
+ hlsl: 'hlsl',
226
+ hs: 'hs',
227
+ html: 'html',
228
+ 'html-derivative': 'html',
229
+ http: 'http',
230
+ hxml: 'hxml',
231
+ hy: 'hy',
232
+ imba: 'imba',
233
+ ini: 'ini',
234
+ jade: 'jade',
235
+ java: 'java',
236
+ javascript: 'js',
237
+ jinja: 'jinja',
238
+ jison: 'jison',
239
+ jl: 'jl',
240
+ js: 'js',
241
+ json: 'json',
242
+ json5: 'json5',
243
+ jsonc: 'jsonc',
244
+ jsonl: 'jsonl',
245
+ jsonnet: 'jsonnet',
246
+ jssm: 'jssm',
247
+ jsx: 'jsx',
248
+ julia: 'jl',
249
+ kotlin: 'kt',
250
+ kql: 'kql',
251
+ kt: 'kt',
252
+ kts: 'kts',
253
+ kusto: 'kql',
254
+ latex: 'tex',
255
+ lean: 'lean',
256
+ lean4: 'lean',
257
+ less: 'less',
258
+ liquid: 'liquid',
259
+ lisp: 'lisp',
260
+ lit: 'lit',
261
+ llvm: 'll',
262
+ log: 'log',
263
+ logo: 'logo',
264
+ lua: 'lua',
265
+ luau: 'luau',
266
+ make: 'mak',
267
+ makefile: 'mak',
268
+ markdown: 'md',
269
+ marko: 'marko',
270
+ matlab: 'm',
271
+ md: 'md',
272
+ mdc: 'mdc',
273
+ mdx: 'mdx',
274
+ mediawiki: 'wiki',
275
+ mermaid: 'mmd',
276
+ mips: 's',
277
+ mipsasm: 's',
278
+ mmd: 'mmd',
279
+ mojo: 'mojo',
280
+ move: 'move',
281
+ nar: 'nar',
282
+ narrat: 'narrat',
283
+ nextflow: 'nf',
284
+ nf: 'nf',
285
+ nginx: 'conf',
286
+ nim: 'nim',
287
+ nix: 'nix',
288
+ nu: 'nu',
289
+ nushell: 'nu',
290
+ objc: 'm',
291
+ 'objective-c': 'm',
292
+ 'objective-cpp': 'mm',
293
+ ocaml: 'ml',
294
+ pascal: 'pas',
295
+ perl: 'pl',
296
+ perl6: 'p6',
297
+ php: 'php',
298
+ plsql: 'pls',
299
+ po: 'po',
300
+ polar: 'polar',
301
+ postcss: 'pcss',
302
+ pot: 'pot',
303
+ potx: 'potx',
304
+ powerquery: 'pq',
305
+ powershell: 'ps1',
306
+ prisma: 'prisma',
307
+ prolog: 'pl',
308
+ properties: 'properties',
309
+ proto: 'proto',
310
+ protobuf: 'proto',
311
+ ps: 'ps',
312
+ ps1: 'ps1',
313
+ pug: 'pug',
314
+ puppet: 'pp',
315
+ purescript: 'purs',
316
+ py: 'py',
317
+ python: 'py',
318
+ ql: 'ql',
319
+ qml: 'qml',
320
+ qmldir: 'qmldir',
321
+ qss: 'qss',
322
+ r: 'r',
323
+ racket: 'rkt',
324
+ raku: 'raku',
325
+ razor: 'cshtml',
326
+ rb: 'rb',
327
+ reg: 'reg',
328
+ regex: 'regex',
329
+ regexp: 'regexp',
330
+ rel: 'rel',
331
+ riscv: 's',
332
+ rs: 'rs',
333
+ rst: 'rst',
334
+ ruby: 'rb',
335
+ rust: 'rs',
336
+ sas: 'sas',
337
+ sass: 'sass',
338
+ scala: 'scala',
339
+ scheme: 'scm',
340
+ scss: 'scss',
341
+ sdbl: 'sdbl',
342
+ sh: 'sh',
343
+ shader: 'shader',
344
+ shaderlab: 'shader',
345
+ shell: 'sh',
346
+ shellscript: 'sh',
347
+ shellsession: 'sh',
348
+ smalltalk: 'st',
349
+ solidity: 'sol',
350
+ soy: 'soy',
351
+ sparql: 'rq',
352
+ spl: 'spl',
353
+ splunk: 'spl',
354
+ sql: 'sql',
355
+ 'ssh-config': 'config',
356
+ stata: 'do',
357
+ styl: 'styl',
358
+ stylus: 'styl',
359
+ svelte: 'svelte',
360
+ swift: 'swift',
361
+ 'system-verilog': 'sv',
362
+ systemd: 'service',
363
+ talon: 'talon',
364
+ talonscript: 'talon',
365
+ tasl: 'tasl',
366
+ tcl: 'tcl',
367
+ templ: 'templ',
368
+ terraform: 'tf',
369
+ tex: 'tex',
370
+ tf: 'tf',
371
+ tfvars: 'tfvars',
372
+ toml: 'toml',
373
+ ts: 'ts',
374
+ 'ts-tags': 'ts',
375
+ tsp: 'tsp',
376
+ tsv: 'tsv',
377
+ tsx: 'tsx',
378
+ turtle: 'ttl',
379
+ twig: 'twig',
380
+ typ: 'typ',
381
+ typescript: 'ts',
382
+ typespec: 'tsp',
383
+ typst: 'typ',
384
+ v: 'v',
385
+ vala: 'vala',
386
+ vb: 'vb',
387
+ verilog: 'v',
388
+ vhdl: 'vhdl',
389
+ vim: 'vim',
390
+ viml: 'vim',
391
+ vimscript: 'vim',
392
+ vue: 'vue',
393
+ 'vue-html': 'html',
394
+ 'vue-vine': 'vine',
395
+ vy: 'vy',
396
+ vyper: 'vy',
397
+ wasm: 'wasm',
398
+ wenyan: 'wy',
399
+ wgsl: 'wgsl',
400
+ wiki: 'wiki',
401
+ wikitext: 'wiki',
402
+ wit: 'wit',
403
+ wl: 'wl',
404
+ wolfram: 'wl',
405
+ xml: 'xml',
406
+ xsl: 'xsl',
407
+ yaml: 'yaml',
408
+ yml: 'yml',
409
+ zenscript: 'zs',
410
+ zig: 'zig',
411
+ zsh: 'zsh',
412
+ 文言: 'wy'
413
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Streamdown, useStreamdown } from './Streamdown.svelte';
2
+ export * from './Elements/index.js';
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { default as Streamdown, useStreamdown } from './Streamdown.svelte';
2
+ export * from './Elements/index.js';
@@ -0,0 +1,247 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare const cn: (...inputs: ClassValue[]) => string;
3
+ export declare const theme: {
4
+ a: {
5
+ base: string;
6
+ blocked: string;
7
+ };
8
+ h1: {
9
+ base: string;
10
+ };
11
+ h2: {
12
+ base: string;
13
+ };
14
+ h3: {
15
+ base: string;
16
+ };
17
+ h4: {
18
+ base: string;
19
+ };
20
+ h5: {
21
+ base: string;
22
+ };
23
+ h6: {
24
+ base: string;
25
+ };
26
+ p: {
27
+ base: string;
28
+ };
29
+ ul: {
30
+ base: string;
31
+ };
32
+ ol: {
33
+ base: string;
34
+ };
35
+ li: {
36
+ base: string;
37
+ };
38
+ code: {
39
+ base: string;
40
+ container: string;
41
+ header: string;
42
+ button: string;
43
+ language: string;
44
+ skeleton: string;
45
+ pre: string;
46
+ };
47
+ inlineCode: {
48
+ base: string;
49
+ };
50
+ img: {
51
+ container: string;
52
+ base: string;
53
+ downloadButton: string;
54
+ };
55
+ pre: {
56
+ base: string;
57
+ };
58
+ blockquote: {
59
+ base: string;
60
+ };
61
+ alert: {
62
+ base: string;
63
+ title: string;
64
+ icon: string;
65
+ note: string;
66
+ tip: string;
67
+ warning: string;
68
+ caution: string;
69
+ important: string;
70
+ };
71
+ table: {
72
+ base: string;
73
+ container: string;
74
+ };
75
+ thead: {
76
+ base: string;
77
+ };
78
+ tbody: {
79
+ base: string;
80
+ };
81
+ tr: {
82
+ base: string;
83
+ };
84
+ th: {
85
+ base: string;
86
+ };
87
+ td: {
88
+ base: string;
89
+ };
90
+ sup: {
91
+ base: string;
92
+ };
93
+ sub: {
94
+ base: string;
95
+ };
96
+ hr: {
97
+ base: string;
98
+ };
99
+ strong: {
100
+ base: string;
101
+ };
102
+ mermaid: {
103
+ base: string;
104
+ downloadButton: string;
105
+ };
106
+ math: {
107
+ base: string;
108
+ };
109
+ inlineMath: {
110
+ base: string;
111
+ };
112
+ em: {
113
+ base: string;
114
+ };
115
+ ins: {
116
+ base: string;
117
+ };
118
+ del: {
119
+ base: string;
120
+ };
121
+ small: {
122
+ base: string;
123
+ };
124
+ };
125
+ export type Theme = typeof theme;
126
+ export declare const mergeTheme: (customTheme?: Partial<Theme>) => {
127
+ a: {
128
+ base: string;
129
+ blocked: string;
130
+ };
131
+ h1: {
132
+ base: string;
133
+ };
134
+ h2: {
135
+ base: string;
136
+ };
137
+ h3: {
138
+ base: string;
139
+ };
140
+ h4: {
141
+ base: string;
142
+ };
143
+ h5: {
144
+ base: string;
145
+ };
146
+ h6: {
147
+ base: string;
148
+ };
149
+ p: {
150
+ base: string;
151
+ };
152
+ ul: {
153
+ base: string;
154
+ };
155
+ ol: {
156
+ base: string;
157
+ };
158
+ li: {
159
+ base: string;
160
+ };
161
+ code: {
162
+ base: string;
163
+ container: string;
164
+ header: string;
165
+ button: string;
166
+ language: string;
167
+ skeleton: string;
168
+ pre: string;
169
+ };
170
+ inlineCode: {
171
+ base: string;
172
+ };
173
+ img: {
174
+ container: string;
175
+ base: string;
176
+ downloadButton: string;
177
+ };
178
+ pre: {
179
+ base: string;
180
+ };
181
+ blockquote: {
182
+ base: string;
183
+ };
184
+ alert: {
185
+ base: string;
186
+ title: string;
187
+ icon: string;
188
+ note: string;
189
+ tip: string;
190
+ warning: string;
191
+ caution: string;
192
+ important: string;
193
+ };
194
+ table: {
195
+ base: string;
196
+ container: string;
197
+ };
198
+ thead: {
199
+ base: string;
200
+ };
201
+ tbody: {
202
+ base: string;
203
+ };
204
+ tr: {
205
+ base: string;
206
+ };
207
+ th: {
208
+ base: string;
209
+ };
210
+ td: {
211
+ base: string;
212
+ };
213
+ sup: {
214
+ base: string;
215
+ };
216
+ sub: {
217
+ base: string;
218
+ };
219
+ hr: {
220
+ base: string;
221
+ };
222
+ strong: {
223
+ base: string;
224
+ };
225
+ mermaid: {
226
+ base: string;
227
+ downloadButton: string;
228
+ };
229
+ math: {
230
+ base: string;
231
+ };
232
+ inlineMath: {
233
+ base: string;
234
+ };
235
+ em: {
236
+ base: string;
237
+ };
238
+ ins: {
239
+ base: string;
240
+ };
241
+ del: {
242
+ base: string;
243
+ };
244
+ small: {
245
+ base: string;
246
+ };
247
+ };