vue-stream-markdown 0.1.1 → 0.1.3

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 (72) hide show
  1. package/README.md +9 -0
  2. package/dist/button-2wMU7qkH.js +5 -0
  3. package/dist/{button-dU2iYZBS.js → button-CJyeXWq2.js} +1 -1
  4. package/dist/{code-BfJ58lYO.js → code-CJ4tMt6L.js} +8 -8
  5. package/dist/code-block-BucFZooo.js +9 -0
  6. package/dist/{code-block-CZHD64ft.js → code-block-CQ4lgva1.js} +13 -17
  7. package/dist/{composables-BwAY_BDJ.js → composables-Cj6_jbwr.js} +54 -33
  8. package/dist/dropdown-dsCfq0Hl.js +5 -0
  9. package/dist/error-component-B0mmLhh6.js +4 -0
  10. package/dist/{error-component-CiIR_1Cg.js → error-component-ClGLfmwy.js} +1 -1
  11. package/dist/{image-BporCeem.js → image-xeiC5YFM.js} +4 -4
  12. package/dist/index.css +627 -17
  13. package/dist/index.d.ts +34 -4
  14. package/dist/index.js +63 -17
  15. package/dist/{inline-math-BfG4600m.js → inline-math-C2NUSasr.js} +12 -15
  16. package/dist/{link-D-OnakwP.js → link-BceXudNH.js} +2 -2
  17. package/dist/{math-CvKkCYb9.js → math-DXOLG3Xg.js} +12 -15
  18. package/dist/{mermaid-FgnWaZtT.js → mermaid-CU4hpB6S.js} +5 -5
  19. package/dist/{previewers-CoU4RlpQ.js → previewers-qHMi6xZ3.js} +1 -1
  20. package/dist/segmented-BeHqXuFx.js +6 -0
  21. package/dist/{segmented-Baxxk3UJ.js → segmented-CF6exjdD.js} +1 -1
  22. package/dist/{shiki-BHOZKGKS.js → shiki-BlfngIRi.js} +9 -14
  23. package/dist/{renderer-CZ41eK_V.js → shiki-token-renderer-D164wC7Y.js} +10 -23
  24. package/dist/{table-B__TdLr7.js → table-C5VHgkTQ.js} +3 -3
  25. package/dist/tooltip-BzVZqo7w.js +4 -0
  26. package/dist/{tooltip-CA6Kp7Ek.js → tooltip-gxsqaBNg.js} +1 -1
  27. package/dist/vanilla-CKj7EQLx.js +4 -0
  28. package/dist/vanilla-D5DzB31q.js +39 -0
  29. package/dist/zoom-container-CwEDlKRx.js +6 -0
  30. package/dist/{zoom-container-Dlqv-z-t.js → zoom-container-D_fBClW2.js} +8 -10
  31. package/package.json +2 -1
  32. package/dist/blockquote-DFANmQEB.css +0 -13
  33. package/dist/button-Bz0s_F3s.js +0 -5
  34. package/dist/button-C12sn_G5.css +0 -24
  35. package/dist/code-NAXHb0o2.css +0 -4
  36. package/dist/code-block-BFUXyGQH.js +0 -9
  37. package/dist/code-block-Bv8s2E8I.css +0 -62
  38. package/dist/delete-Ci7IJDoT.css +0 -4
  39. package/dist/dropdown-RWgcV-8w.js +0 -5
  40. package/dist/emphasis-BseYvUae.css +0 -4
  41. package/dist/error-component-BIPPxd-M.css +0 -21
  42. package/dist/error-component-CR9t-T1D.js +0 -4
  43. package/dist/heading-KxpVX3-u.css +0 -30
  44. package/dist/html-C5_wsY4-.css +0 -5
  45. package/dist/image-B77jbMUB.css +0 -46
  46. package/dist/inline-code-Eo65bj3F.css +0 -12
  47. package/dist/inline-math-DgBjIrPT.css +0 -7
  48. package/dist/link-BA_j8di3.css +0 -12
  49. package/dist/list-CcVBNIly.css +0 -11
  50. package/dist/list-item-Y6Cphjrp.css +0 -15
  51. package/dist/math-Cq89zpB6.css +0 -11
  52. package/dist/mermaid-C9ZUejzK.css +0 -8
  53. package/dist/modal-CWdgVkH_.css +0 -48
  54. package/dist/node-list-C9O-A1aZ.css +0 -11
  55. package/dist/paragraph-wRNmMYAI.css +0 -6
  56. package/dist/segmented-C0uEAYuJ.js +0 -6
  57. package/dist/segmented-DLmggl-e.css +0 -8
  58. package/dist/shiki-CMgjqKKu.css +0 -20
  59. package/dist/spin-B2FU3Sx6.css +0 -19
  60. package/dist/strong-DpeQmP2J.css +0 -4
  61. package/dist/table-BWn_kG8W.css +0 -19
  62. package/dist/table-CJzlDdmv.css +0 -34
  63. package/dist/text-D098eCyi.css +0 -5
  64. package/dist/thematic-break-C5zxgoE9.css +0 -6
  65. package/dist/tooltip-DAngu9Wp.css +0 -5
  66. package/dist/tooltip-DoIUaZgq.js +0 -4
  67. package/dist/vanilla-BZ8bn5Yz.css +0 -4
  68. package/dist/vanilla-CA9QO96X.js +0 -3
  69. package/dist/vanilla-DkX6g0dm.js +0 -87
  70. package/dist/yaml-McBkYbxI.css +0 -5
  71. package/dist/zoom-container-BENM7TpV.css +0 -28
  72. package/dist/zoom-container-BPbftW_I.js +0 -6
package/dist/index.css CHANGED
@@ -1,43 +1,653 @@
1
1
  .stream-markdown {
2
- --default-transition-duration: .15s;
3
- --typewriter-transition-duration: .9s;
4
- --font-sans: "Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
5
- --font-serif: "Geist", "Geist Fallback", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
6
- --font-mono: "Geist Mono", "Geist Mono Fallback", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
7
- --radius: .5rem;
2
+ --default-transition-duration: 150ms;
3
+ --typewriter-transition-duration: 900ms;
4
+
5
+ --font-sans:
6
+ 'Geist', 'Geist Fallback', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
7
+ 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
8
+ 'Noto Color Emoji';
9
+ --font-serif: 'Geist', 'Geist Fallback', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
10
+ --font-mono:
11
+ 'Geist Mono', 'Geist Mono Fallback', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
12
+ 'Courier New', monospace;
13
+
14
+ --radius: 0.5rem;
15
+
8
16
  font-family: var(--font-sans);
9
17
  color: var(--foreground);
10
18
  }
19
+
11
20
  .stream-markdown * {
12
21
  box-sizing: border-box;
13
22
  border: 0 solid;
14
23
  margin: 0;
15
24
  padding: 0;
16
25
  }
26
+
27
+ .stream-markdown ::-webkit-scrollbar {
28
+ width: 6px;
29
+ height: 6px;
30
+ }
31
+
32
+ .stream-markdown ::-webkit-scrollbar-track {
33
+ background: transparent;
34
+ }
35
+
36
+ .stream-markdown ::-webkit-scrollbar-thumb {
37
+ background: var(--border);
38
+ border-radius: 3px;
39
+ }
40
+
41
+ .stream-markdown ::-webkit-scrollbar-thumb:hover {
42
+ background: var(--border);
43
+ opacity: 0.5;
44
+ }
45
+
17
46
  .stream-markdown .tippy-box {
18
47
  background: var(--popover);
19
48
  color: var(--popover-foreground);
20
49
  border: 1px solid var(--border);
21
50
  }
51
+
22
52
  .stream-markdown .tippy-arrow {
23
53
  color: var(--popover);
24
54
  }
55
+
25
56
  .stream-markdown .tippy-box > .tippy-svg-arrow {
26
57
  border-top-color: var(--popover);
27
58
  }
28
- .stream-markdown ::-webkit-scrollbar {
29
- width: 6px;
30
- height: 6px;
59
+
60
+ .stream-markdown [data-stream-markdown='button'] {
61
+ display: flex;
62
+ align-items: center;
63
+ justify-content: center;
64
+ gap: 0.25rem;
65
+ padding: 0.5rem;
66
+ cursor: pointer;
67
+ border: none;
68
+ border-radius: 0.375rem;
69
+ font-size: 0.75rem;
70
+ line-height: 1rem;
71
+ background-color: transparent;
72
+ color: var(--muted-foreground);
73
+ transition-duration: var(--default-transition-duration);
31
74
  }
32
- .stream-markdown ::-webkit-scrollbar-track {
33
- background: none;
75
+
76
+ .stream-markdown [data-stream-markdown='button']:hover {
77
+ color: var(--foreground);
78
+ background-color: var(--accent);
34
79
  }
35
- .stream-markdown ::-webkit-scrollbar-thumb {
36
- background: var(--border);
37
- border-radius: 3px;
80
+
81
+ .stream-markdown [data-stream-markdown='dropdown-overlay'] {
82
+ padding: 0.25rem;
38
83
  }
39
- .stream-markdown ::-webkit-scrollbar-thumb:hover {
40
- background: var(--border);
41
- opacity: .5;
84
+
85
+ .stream-markdown [data-stream-markdown='error-component'] {
86
+ display: inline-block;
87
+ color: var(--muted-foreground);
88
+ font-family: var(--font-mono);
89
+ font-size: 0.875rem;
90
+ line-height: 1.25rem;
91
+ }
92
+
93
+ .stream-markdown [data-stream-markdown='error-component'] span {
94
+ flex: 1;
95
+ min-width: 0;
96
+ word-break: break-word;
97
+ overflow-wrap: break-word;
98
+ }
99
+
100
+ .stream-markdown [data-stream-markdown='error-component-icon'] {
101
+ display: inline-flex;
102
+ align-items: center;
103
+ line-height: 1;
104
+ vertical-align: text-bottom;
105
+ margin-right: 0.5rem;
106
+ }
107
+
108
+ .stream-markdown [data-stream-markdown='error-component'] {
109
+ display: inline-block;
110
+ color: var(--muted-foreground);
111
+ font-family: var(--font-mono);
112
+ font-size: 0.875rem;
113
+ line-height: 1.25rem;
114
+ }
115
+
116
+ .stream-markdown [data-stream-markdown='error-component'] span {
117
+ flex: 1;
118
+ min-width: 0;
119
+ word-break: break-word;
120
+ overflow-wrap: break-word;
121
+ }
122
+
123
+ .stream-markdown [data-stream-markdown='error-component-icon'] {
124
+ display: inline-flex;
125
+ align-items: center;
126
+ line-height: 1;
127
+ vertical-align: text-bottom;
128
+ margin-right: 0.5rem;
129
+ }
130
+
131
+ .stream-markdown [data-stream-markdown='modal'] {
132
+ position: fixed;
133
+ inset: 0;
134
+ display: flex;
135
+ flex-direction: column;
136
+ background-color: var(--background);
137
+ }
138
+
139
+ .stream-markdown [data-stream-markdown='modal-header'] {
140
+ position: relative;
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: space-between;
144
+ flex-shrink: 0;
145
+ padding-inline: 1rem;
146
+ padding-block: 0.5rem;
147
+ background-color: color-mix(in oklab, var(--muted) 80%, transparent);
148
+ color: var(--muted-foreground);
149
+ border-bottom: 1px solid var(--border);
150
+ }
151
+
152
+ .stream-markdown [data-stream-markdown='modal-actions'] {
153
+ display: flex;
154
+ align-items: center;
155
+ gap: 0.5rem;
156
+ }
157
+
158
+ .stream-markdown [data-stream-markdown='modal-body'] {
159
+ flex: 1 1 0%;
160
+ overflow: auto;
161
+ }
162
+
163
+ .stream-markdown [data-stream-markdown='modal-header'] > :first-child {
164
+ flex: 1;
165
+ }
166
+
167
+ .stream-markdown [data-stream-markdown='modal-header'] > :last-child {
168
+ flex: 1;
169
+ display: flex;
170
+ justify-content: flex-end;
171
+ }
172
+
173
+ .stream-markdown [data-stream-markdown='modal-header'] > :nth-child(2) {
174
+ position: absolute;
175
+ left: 50%;
176
+ transform: translateX(-50%);
177
+ }
178
+
179
+ .stream-markdown .typewriter-enter-from {
180
+ opacity: 0;
181
+ }
182
+ .stream-markdown .typewriter-enter-active {
183
+ transition: opacity var(--typewriter-transition-duration) ease-out;
184
+ will-change: opacity;
185
+ }
186
+ .stream-markdown .typewriter-enter-to {
187
+ opacity: 1;
188
+ }
189
+
190
+ .stream-markdown [data-stream-markdown='segmented'] {
191
+ display: flex;
192
+ align-items: center;
193
+ gap: 0.25rem;
194
+ padding: 0.125rem;
195
+ border-radius: 0.375rem;
196
+ }
197
+
198
+ .stream-markdown [data-stream-markdown='spin'] {
199
+ display: inline-block;
200
+ height: 1rem;
201
+ width: 1rem;
202
+ margin-block: 1rem;
203
+ border: 2px solid var(--foreground);
204
+ border-top-color: transparent;
205
+ border-radius: 50%;
206
+ animation: spin 1s linear infinite;
207
+ }
208
+
209
+ .stream-markdown [data-stream-markdown='table'] {
210
+ width: 100%;
211
+ border-collapse: collapse;
212
+ border: 1px solid var(--border);
213
+ border-radius: 0.5rem;
214
+ overflow: hidden;
215
+ }
216
+
217
+ .stream-markdown [data-stream-markdown='table-header'] {
218
+ position: relative;
219
+ background-color: color-mix(in oklab, var(--muted) 80%, transparent);
220
+ }
221
+
222
+ .stream-markdown [data-stream-markdown='table-body'] {
223
+ position: relative;
224
+ border-color: var(--border);
225
+ border-block-width: 1px;
226
+ font-weight: 600;
227
+ background-color: color-mix(in oklab, var(--muted) 40%, transparent);
228
+ }
229
+
230
+ .stream-markdown [data-stream-markdown='table'] tr {
231
+ border-bottom: 1px solid var(--border);
232
+ }
233
+
234
+ .stream-markdown [data-stream-markdown='table'] p {
235
+ margin: 0;
236
+ }
237
+
238
+ .stream-markdown [data-stream-markdown='table-header'] th {
239
+ white-space: nowrap;
240
+ }
241
+
242
+ .stream-markdown [data-stream-markdown='table-header'] th,
243
+ .stream-markdown [data-stream-markdown='table-body'] td {
244
+ padding-inline: 1rem;
245
+ padding-block: 0.5rem;
246
+ font-size: 0.875rem;
247
+ line-height: 1.25rem;
248
+ }
249
+
250
+ .stream-markdown [data-stream-markdown='tooltip-overlay'] {
251
+ padding-block: 0.25rem;
252
+ padding-inline: 0.5rem;
253
+ }
254
+
255
+ .stream-markdown [data-stream-markdown='zoom-container'] {
256
+ height: 100%;
257
+ position: relative;
258
+ overflow: hidden;
259
+ touch-action: none;
260
+ }
261
+
262
+ .stream-markdown [data-stream-markdown='zoom-inner'] {
263
+ display: flex;
264
+ align-items: center;
265
+ justify-content: center;
266
+ height: 100%;
267
+ width: 100%;
268
+ }
269
+
270
+ .stream-markdown [data-stream-markdown='zoom-transform-container'] {
271
+ width: 100%;
272
+ flex-shrink: 0;
273
+ }
274
+
275
+ .stream-markdown [data-stream-markdown='zoom-controls'] {
276
+ position: absolute;
277
+ z-index: 10;
278
+ display: flex;
279
+ align-items: center;
280
+ gap: 0.25rem;
281
+ padding: 0.25rem;
282
+ border-radius: 0.75rem;
283
+ border: 1px solid var(--border);
284
+ background-color: var(--background);
285
+ }
286
+
287
+ .stream-markdown [data-stream-markdown='actions'] {
288
+ display: flex;
289
+ align-items: center;
290
+ gap: 0.25rem;
291
+ }
292
+
293
+ .stream-markdown [data-stream-markdown='code-block'] {
294
+ margin-block: 1rem;
295
+ border-radius: 0.75rem;
296
+ border: 1px solid var(--border);
297
+ overflow: hidden;
298
+ }
299
+
300
+ .stream-markdown [data-stream-markdown='code-block'][data-collapsed='true'] [data-stream-markdown='code-block-header'] {
301
+ border-bottom: none;
302
+ }
303
+
304
+ .stream-markdown [data-stream-markdown='code-block-header'] {
305
+ position: relative;
306
+ display: flex;
307
+ justify-content: space-between;
308
+ align-items: center;
309
+ padding-inline: 1rem;
310
+ padding-block: 0.375rem;
311
+ border-bottom: 1px solid var(--border);
312
+ font-size: 0.875rem;
313
+ line-height: 1.25rem;
314
+ background-color: color-mix(in oklab, var(--muted) 80%, transparent);
315
+ color: var(--muted-foreground);
316
+ }
317
+
318
+ @media (max-width: 1024px) {
319
+ .stream-markdown [data-stream-markdown='code-block-header'] {
320
+ padding-inline: 0.75rem;
321
+ }
42
322
  }
43
323
 
324
+ .stream-markdown [data-stream-markdown='code-block-content'] {
325
+ overflow: auto;
326
+ }
327
+
328
+ .stream-markdown [data-stream-markdown='code-block-header'] > :first-child {
329
+ flex: 1;
330
+ }
331
+ .stream-markdown [data-stream-markdown='code-block-header'] > :last-child {
332
+ flex: 1;
333
+ display: flex;
334
+ justify-content: flex-end;
335
+ }
336
+ .stream-markdown [data-stream-markdown='code-block-header'] > :nth-child(2) {
337
+ position: absolute;
338
+ left: 50%;
339
+ transform: translateX(-50%);
340
+ }
341
+
342
+ .stream-markdown [data-stream-markdown='language-title'] {
343
+ display: flex;
344
+ align-items: center;
345
+ gap: 0.5rem;
346
+ }
347
+
348
+ .stream-markdown [data-stream-markdown='language-name'] {
349
+ font-family: var(--font-mono);
350
+ font-size: 0.875rem;
351
+ line-height: 1.25rem;
352
+ text-transform: lowercase;
353
+ }
354
+
355
+ .stream-markdown [data-stream-markdown='html-previewer'] {
356
+ height: 100%;
357
+ width: 100%;
358
+ }
359
+
360
+ .stream-markdown [data-stream-markdown='mermaid-previewer'] {
361
+ text-align: center;
362
+ }
363
+
364
+ .stream-markdown [data-stream-markdown='mermaid'] {
365
+ display: flex;
366
+ justify-content: center;
367
+ user-select: none;
368
+ }
369
+
370
+ .stream-markdown [data-stream-markdown='blockquote'] {
371
+ position: relative;
372
+ margin-inline: 0;
373
+ margin-block: 1rem;
374
+ padding-left: 1rem;
375
+ border-left: 4px solid color-mix(in oklab, var(--muted-foreground) 30%, transparent);
376
+ font-style: italic;
377
+ color: var(--muted-foreground);
378
+ }
379
+
380
+ .stream-markdown [data-stream-markdown='blockquote'] p {
381
+ margin-bottom: 0;
382
+ }
383
+
384
+ .stream-markdown [data-stream-markdown='delete'] {
385
+ text-decoration: line-through;
386
+ }
387
+
388
+ .stream-markdown [data-stream-markdown='emphasis'] {
389
+ font-style: italic;
390
+ }
391
+
392
+ .stream-markdown [data-stream-markdown='heading-1'],
393
+ .stream-markdown [data-stream-markdown='heading-2'],
394
+ .stream-markdown [data-stream-markdown='heading-3'],
395
+ .stream-markdown [data-stream-markdown='heading-4'],
396
+ .stream-markdown [data-stream-markdown='heading-5'],
397
+ .stream-markdown [data-stream-markdown='heading-6'] {
398
+ margin-top: 1.5rem;
399
+ margin-bottom: 0.5rem;
400
+ font-weight: 600;
401
+ }
402
+
403
+ .stream-markdown [data-stream-markdown='heading-1'] {
404
+ font-size: 1.875rem;
405
+ line-height: 2.25rem;
406
+ }
407
+
408
+ .stream-markdown [data-stream-markdown='heading-2'] {
409
+ font-size: 1.5rem;
410
+ line-height: 2rem;
411
+ }
412
+
413
+ .stream-markdown [data-stream-markdown='heading-3'] {
414
+ font-size: 1.25rem;
415
+ line-height: 1.75rem;
416
+ }
417
+
418
+ .stream-markdown [data-stream-markdown='heading-4'] {
419
+ font-size: 1.125rem;
420
+ line-height: 1.75rem;
421
+ }
422
+
423
+ .stream-markdown [data-stream-markdown='heading-5'] {
424
+ font-size: 1rem;
425
+ line-height: 1.5rem;
426
+ }
427
+
428
+ .stream-markdown [data-stream-markdown='heading-6'] {
429
+ font-size: 0.875rem;
430
+ line-height: 1.25rem;
431
+ }
432
+
433
+ .stream-markdown [data-stream-markdown='image-figure'] {
434
+ display: inline-block;
435
+ }
436
+
437
+ .stream-markdown [data-stream-markdown='image-wrapper'] {
438
+ position: relative;
439
+ text-align: center;
440
+ }
441
+
442
+ .stream-markdown [data-stream-markdown='image'] {
443
+ display: block;
444
+ max-width: 100%;
445
+ height: auto;
446
+ object-fit: contain;
447
+ border-radius: 0.5rem;
448
+ }
449
+
450
+ .stream-markdown [data-stream-markdown='image-caption'] {
451
+ text-align: center;
452
+ font-size: 0.875rem;
453
+ line-height: 1.25rem;
454
+ font-style: italic;
455
+ }
456
+
457
+ .stream-markdown [data-stream-markdown='image-mask'] {
458
+ display: none;
459
+ position: absolute;
460
+ inset: 0;
461
+ border-radius: 0.5rem;
462
+ background-color: rgb(0 0 0 / 0.1);
463
+ pointer-events: none;
464
+ }
465
+
466
+ .stream-markdown [data-stream-markdown='image-download-button'] {
467
+ pointer-events: all;
468
+ position: absolute;
469
+ bottom: 0.5rem;
470
+ right: 0.5rem;
471
+ }
472
+
473
+ .stream-markdown [data-stream-markdown='inline-code'] {
474
+ background-color: var(--muted);
475
+ border-radius: 0.25rem;
476
+ padding-inline: 0.375rem;
477
+ padding-block: 0.125rem;
478
+ font-family: var(--font-mono);
479
+ font-size: 0.875rem;
480
+ line-height: 1.25rem;
481
+ white-space: normal;
482
+ overflow-wrap: break-word;
483
+ }
484
+
485
+ .stream-markdown [data-stream-markdown='link'] {
486
+ color: var(--primary);
487
+ text-decoration: underline;
488
+ overflow-wrap: anywhere;
489
+ }
490
+
491
+ .stream-markdown [data-stream-markdown='link'][data-stream-markdown-loading='true'] {
492
+ position: relative;
493
+ cursor: default;
494
+ text-decoration: none;
495
+ pointer-events: none;
496
+ }
497
+
498
+ .stream-markdown [data-stream-markdown='list-item'] {
499
+ padding-block: 0.25rem;
500
+ padding-left: 0.25rem;
501
+ }
502
+
503
+ .stream-markdown [data-stream-markdown='list-item'] p {
504
+ margin: 0;
505
+ }
506
+
507
+ .stream-markdown [data-stream-markdown='task-list-item'] p {
508
+ display: inline-block;
509
+ }
510
+
511
+ .stream-markdown [data-stream-markdown='task-list-item-checkbox'] {
512
+ margin-right: 0.5rem;
513
+ vertical-align: middle;
514
+ }
515
+
516
+ .stream-markdown [data-stream-markdown='ordered-list'],
517
+ .stream-markdown [data-stream-markdown='unordered-list'],
518
+ .stream-markdown [data-stream-markdown='task-list'] {
519
+ padding-left: 1.25rem;
520
+ white-space: normal;
521
+ }
522
+
523
+ .stream-markdown [data-stream-markdown='ordered-list'] {
524
+ list-style-type: decimal;
525
+ }
526
+
527
+ .stream-markdown [data-stream-markdown='unordered-list'],
528
+ .stream-markdown [data-stream-markdown='task-list'] {
529
+ list-style-type: disc;
530
+ }
531
+
532
+ .stream-markdown [data-stream-markdown='math'] {
533
+ text-align: center;
534
+ margin-block: 1rem;
535
+ }
536
+
537
+ .stream-markdown [data-stream-markdown='paragraph'] {
538
+ margin-bottom: 1rem;
539
+ vertical-align: middle;
540
+ transition: height var(--default-transition-duration) ease;
541
+ }
542
+
543
+ .stream-markdown [data-stream-markdown='strong'] {
544
+ font-weight: 600;
545
+ }
546
+
547
+ .stream-markdown [data-stream-markdown='table-wrapper'] {
548
+ display: flex;
549
+ align-items: center;
550
+ flex-direction: column;
551
+ gap: 0.5rem;
552
+ margin-block: 1rem;
553
+ }
554
+
555
+ .stream-markdown [data-stream-markdown='table-controls'] {
556
+ width: 100%;
557
+ display: flex;
558
+ align-items: center;
559
+ justify-content: end;
560
+ gap: 0.25rem;
561
+ }
562
+
563
+ .stream-markdown [data-stream-markdown='table-inner-wrapper'] {
564
+ width: 100%;
565
+ overflow-x: auto;
566
+ }
567
+
568
+ .stream-markdown [data-stream-markdown='text'] {
569
+ white-space: pre-wrap;
570
+ overflow-wrap: break-word;
571
+ }
572
+
573
+ .stream-markdown [data-stream-markdown='thematic-break'] {
574
+ margin-top: 1.5rem;
575
+ margin-bottom: 1.5rem;
576
+ border-top: 1px solid var(--border);
577
+ }
578
+
579
+ .stream-markdown [data-stream-markdown='yaml'] {
580
+ width: 100%;
581
+ overflow-x: auto;
582
+ }
583
+
584
+ .stream-markdown [data-stream-markdown='code'],
585
+ .stream-markdown [data-stream-markdown='code'] code {
586
+ font-family: var(--font-mono);
587
+ font-size: 0.875rem;
588
+ }
589
+
590
+ .stream-markdown [data-stream-markdown='code'] [data-stream-markdown='code-line'] {
591
+ display: block;
592
+ position: relative;
593
+ font-size: 0.875rem;
594
+ min-height: 1rem;
595
+ }
596
+
597
+ .stream-markdown [data-stream-markdown='code'] [data-stream-markdown='code-line']::before {
598
+ display: inline-block;
599
+ width: 1rem;
600
+ margin-right: 1rem;
601
+ font-size: 13px;
602
+ text-align: right;
603
+ color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
604
+ font-family: var(--font-mono);
605
+ content: counter(line);
606
+ counter-increment: line;
607
+ user-select: none;
608
+ }
609
+
610
+ .stream-markdown
611
+ [data-stream-markdown='code'][data-show-line-numbers='false']
612
+ [data-stream-markdown='code-line']::before {
613
+ display: none;
614
+ }
615
+
616
+ .stream-markdown [data-stream-markdown='code'] {
617
+ padding: 1rem;
618
+ }
619
+
620
+ .stream-markdown .modal-enter-from,
621
+ .stream-markdown .modal-leave-to {
622
+ opacity: 0;
623
+ }
624
+ .stream-markdown .modal-enter-active,
625
+ .stream-markdown .modal-leave-active {
626
+ transition: opacity var(--default-transition-duration) ease;
627
+ }
628
+
629
+ .stream-markdown .img-switch-enter-active,
630
+ .stream-markdown .img-switch-leave-active {
631
+ transition:
632
+ opacity var(--default-transition-duration) ease,
633
+ transform var(--default-transition-duration) ease;
634
+ }
635
+ .stream-markdown .img-switch-enter-from,
636
+ .stream-markdown .img-switch-leave-to {
637
+ opacity: 0;
638
+ transform: translateY(6px);
639
+ }
640
+ .stream-markdown .img-switch-enter-to,
641
+ .stream-markdown .img-switch-leave-from {
642
+ opacity: 1;
643
+ transform: translateY(0);
644
+ }
645
+
646
+ @keyframes spin {
647
+ from {
648
+ transform: rotate(0deg);
649
+ }
650
+ to {
651
+ transform: rotate(360deg);
652
+ }
653
+ }