@orchestra-mcp/editor 0.2.0

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.
package/dist/index.css ADDED
@@ -0,0 +1,977 @@
1
+ /* src/CodeEditor/CodeEditor.css */
2
+ .code-editor {
3
+ display: flex;
4
+ flex-direction: column;
5
+ border: 1px solid var(--color-border, #e2e8f0);
6
+ border-radius: 8px;
7
+ overflow: hidden;
8
+ background: var(--color-bg-contrast, #1e293b);
9
+ font-family:
10
+ ui-monospace,
11
+ "SF Mono",
12
+ Menlo,
13
+ Consolas,
14
+ monospace;
15
+ }
16
+ .code-editor__header {
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 8px;
20
+ padding: 6px 12px;
21
+ background: var(--color-bg-alt, #0f172a);
22
+ border-bottom: 1px solid var(--color-border, #334155);
23
+ }
24
+ .code-editor__filename {
25
+ font-size: 12px;
26
+ color: var(--color-fg, #e2e8f0);
27
+ font-weight: 500;
28
+ }
29
+ .code-editor__badge {
30
+ font-size: 10px;
31
+ padding: 1px 6px;
32
+ border-radius: 4px;
33
+ background: var(--color-accent, #3b82f6);
34
+ color: #fff;
35
+ }
36
+ .code-editor__footer {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: 12px;
40
+ padding: 4px 12px;
41
+ background: var(--color-bg-alt, #0f172a);
42
+ border-top: 1px solid var(--color-border, #334155);
43
+ font-size: 11px;
44
+ color: var(--color-fg-muted, #64748b);
45
+ }
46
+ .code-editor__cursor-info {
47
+ flex: 1;
48
+ }
49
+ .code-editor__language {
50
+ text-transform: capitalize;
51
+ }
52
+ .code-editor__readonly {
53
+ padding: 1px 6px;
54
+ border-radius: 3px;
55
+ background: var(--color-fg-muted, #475569);
56
+ color: var(--color-bg, #0f172a);
57
+ font-weight: 600;
58
+ }
59
+ .code-editor__lsp {
60
+ padding: 1px 6px;
61
+ border-radius: 3px;
62
+ font-weight: 600;
63
+ font-size: 10px;
64
+ }
65
+ .code-editor__lsp--connected {
66
+ background: #22c55e;
67
+ color: #052e16;
68
+ }
69
+ .code-editor__lsp--connecting {
70
+ background: var(--color-accent, #3b82f6);
71
+ color: #fff;
72
+ animation: code-editor-lsp-pulse 1.5s ease-in-out infinite;
73
+ }
74
+ .code-editor__lsp--error {
75
+ background: #ef4444;
76
+ color: #fff;
77
+ }
78
+ @keyframes code-editor-lsp-pulse {
79
+ 0%, 100% {
80
+ opacity: 1;
81
+ }
82
+ 50% {
83
+ opacity: 0.5;
84
+ }
85
+ }
86
+ .code-editor__loading {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ min-height: 200px;
91
+ height: 100%;
92
+ background: var(--color-bg-contrast, #1e293b);
93
+ }
94
+ .code-editor__loading-shimmer {
95
+ width: 80%;
96
+ height: 60%;
97
+ min-height: 100px;
98
+ background:
99
+ linear-gradient(
100
+ 90deg,
101
+ var(--color-bg-alt, #0f172a) 25%,
102
+ var(--color-bg-active, #283048) 50%,
103
+ var(--color-bg-alt, #0f172a) 75%);
104
+ background-size: 200% 100%;
105
+ animation: code-editor-shimmer 1.5s infinite;
106
+ border-radius: 4px;
107
+ }
108
+ @keyframes code-editor-shimmer {
109
+ 0% {
110
+ background-position: 200% 0;
111
+ }
112
+ 100% {
113
+ background-position: -200% 0;
114
+ }
115
+ }
116
+ .code-editor--legacy {
117
+ font-size: var(--editor-font-size, 14px);
118
+ line-height: 1.6;
119
+ }
120
+ .code-editor__body {
121
+ display: flex;
122
+ height: var(--editor-height, 400px);
123
+ overflow: hidden;
124
+ }
125
+ .code-editor__gutter {
126
+ flex-shrink: 0;
127
+ width: 48px;
128
+ padding: 8px 0;
129
+ overflow: hidden;
130
+ text-align: right;
131
+ background: var(--color-bg-alt, #0f172a);
132
+ border-right: 1px solid var(--color-border, #334155);
133
+ user-select: none;
134
+ }
135
+ .code-editor__line-number {
136
+ padding: 0 8px;
137
+ color: var(--color-fg-muted, #475569);
138
+ height: 1.6em;
139
+ }
140
+ .code-editor__textarea {
141
+ flex: 1;
142
+ padding: 8px 12px;
143
+ border: none;
144
+ outline: none;
145
+ resize: none;
146
+ background: transparent;
147
+ color: var(--color-fg, #e2e8f0);
148
+ font: inherit;
149
+ line-height: inherit;
150
+ tab-size: 2;
151
+ white-space: pre;
152
+ overflow: auto;
153
+ }
154
+ .code-editor__textarea::placeholder {
155
+ color: var(--color-fg-muted, #475569);
156
+ }
157
+ [data-variant=compact] .code-editor__header {
158
+ padding: 4px 8px;
159
+ }
160
+ [data-variant=compact] .code-editor__footer {
161
+ padding: 2px 8px;
162
+ font-size: 10px;
163
+ }
164
+ [data-variant=compact] .code-editor__gutter {
165
+ width: 36px;
166
+ }
167
+ [data-variant=modern] .code-editor {
168
+ border-radius: 12px;
169
+ }
170
+ [data-variant=modern] .code-editor__header {
171
+ padding: 8px 16px;
172
+ }
173
+
174
+ /* src/CodeBlock/CodeBlock.css */
175
+ .code-block {
176
+ border: 1px solid var(--color-border);
177
+ border-radius: 8px;
178
+ overflow: hidden;
179
+ background: var(--color-bg-contrast);
180
+ font-family:
181
+ ui-monospace,
182
+ "SF Mono",
183
+ "Cascadia Code",
184
+ Menlo,
185
+ Consolas,
186
+ monospace;
187
+ position: relative;
188
+ }
189
+ .code-block__header {
190
+ display: flex;
191
+ align-items: center;
192
+ justify-content: space-between;
193
+ padding: 8px 14px;
194
+ background: var(--color-bg-alt);
195
+ border-bottom: 1px solid var(--color-border);
196
+ min-height: 38px;
197
+ }
198
+ .code-block__header-left {
199
+ display: flex;
200
+ align-items: center;
201
+ gap: 12px;
202
+ }
203
+ .code-block__dots {
204
+ display: flex;
205
+ align-items: center;
206
+ gap: 6px;
207
+ }
208
+ .code-block__dot {
209
+ width: 12px;
210
+ height: 12px;
211
+ border-radius: 50%;
212
+ display: block;
213
+ }
214
+ .code-block__dot--red {
215
+ background: #ff5f57;
216
+ }
217
+ .code-block__dot--yellow {
218
+ background: #febc2e;
219
+ }
220
+ .code-block__dot--green {
221
+ background: #28c840;
222
+ }
223
+ .code-block__badge {
224
+ font-size: 12px;
225
+ font-weight: 500;
226
+ color: var(--color-fg-muted);
227
+ text-transform: uppercase;
228
+ letter-spacing: 0.5px;
229
+ user-select: none;
230
+ }
231
+ .code-block__actions {
232
+ display: flex;
233
+ align-items: center;
234
+ gap: 2px;
235
+ margin-left: auto;
236
+ opacity: 0;
237
+ transition: opacity 0.2s ease;
238
+ }
239
+ .code-block:hover .code-block__actions {
240
+ opacity: 1;
241
+ }
242
+ .code-block__btn {
243
+ display: flex;
244
+ align-items: center;
245
+ justify-content: center;
246
+ width: 28px;
247
+ height: 28px;
248
+ padding: 0;
249
+ border: none;
250
+ border-radius: 6px;
251
+ background: transparent;
252
+ color: var(--color-fg-dim);
253
+ cursor: pointer;
254
+ transition: all 0.15s ease;
255
+ }
256
+ .code-block__btn:hover {
257
+ background: var(--color-bg-active);
258
+ color: var(--color-fg);
259
+ }
260
+ .code-block__btn--copied {
261
+ color: var(--syntax-green, #c3e88d);
262
+ }
263
+ .code-block__btn svg {
264
+ width: 16px;
265
+ height: 16px;
266
+ flex-shrink: 0;
267
+ }
268
+ .code-block__body {
269
+ display: flex;
270
+ overflow: hidden;
271
+ }
272
+ .code-block__body--scrollable {
273
+ overflow: auto;
274
+ }
275
+ .code-block__gutter {
276
+ flex-shrink: 0;
277
+ padding: 12px 0;
278
+ background: var(--color-bg-alt);
279
+ border-right: 1px solid var(--color-border);
280
+ user-select: none;
281
+ }
282
+ .code-block__line-number {
283
+ padding: 0 12px;
284
+ text-align: right;
285
+ font-size: 13px;
286
+ line-height: 1.5;
287
+ color: var(--color-fg-muted);
288
+ min-width: 40px;
289
+ }
290
+ .code-block__code {
291
+ flex: 1;
292
+ margin: 0;
293
+ padding: 12px 16px;
294
+ overflow-x: auto;
295
+ font-size: 13px;
296
+ line-height: 1.5;
297
+ color: var(--color-fg);
298
+ background: transparent;
299
+ tab-size: 2;
300
+ }
301
+ .code-block__code--wrapped {
302
+ white-space: pre-wrap;
303
+ word-break: break-word;
304
+ overflow-x: hidden;
305
+ }
306
+ .code-block__line {
307
+ min-height: 1.5em;
308
+ }
309
+ .code-block__line--highlighted {
310
+ background: var(--color-bg-active);
311
+ margin: 0 -16px;
312
+ padding: 0 16px;
313
+ }
314
+ .syn-keyword {
315
+ color: var(--syntax-purple, #c792ea);
316
+ font-weight: 500;
317
+ }
318
+ .syn-string {
319
+ color: var(--syntax-green, #c3e88d);
320
+ }
321
+ .syn-number {
322
+ color: var(--syntax-orange, #f78c6c);
323
+ }
324
+ .syn-comment {
325
+ color: var(--color-fg-muted, #546e7a);
326
+ font-style: italic;
327
+ }
328
+ .syn-type {
329
+ color: var(--syntax-yellow, #ffcb6b);
330
+ }
331
+ .syn-variable {
332
+ color: var(--syntax-red, #ff5370);
333
+ }
334
+ .syn-punctuation {
335
+ color: var(--syntax-cyan, #89ddff);
336
+ }
337
+ .code-block--exporting .code-block__actions {
338
+ display: none !important;
339
+ }
340
+ .code-block--exporting .code-block__gutter {
341
+ display: none !important;
342
+ }
343
+ [data-variant=compact] .code-block {
344
+ border-radius: 6px;
345
+ }
346
+ [data-variant=compact] .code-block__header {
347
+ padding: 4px 8px;
348
+ min-height: 28px;
349
+ }
350
+ [data-variant=compact] .code-block__dots {
351
+ gap: 5px;
352
+ }
353
+ [data-variant=compact] .code-block__dot {
354
+ width: 10px;
355
+ height: 10px;
356
+ }
357
+ [data-variant=compact] .code-block__badge {
358
+ font-size: 11px;
359
+ }
360
+ [data-variant=compact] .code-block__btn {
361
+ width: 24px;
362
+ height: 24px;
363
+ }
364
+ [data-variant=compact] .code-block__btn svg {
365
+ width: 14px;
366
+ height: 14px;
367
+ }
368
+ [data-variant=compact] .code-block__gutter {
369
+ padding: 8px 0;
370
+ }
371
+ [data-variant=compact] .code-block__line-number {
372
+ font-size: 12px;
373
+ padding: 0 8px;
374
+ min-width: 32px;
375
+ }
376
+ [data-variant=compact] .code-block__code {
377
+ padding: 8px 12px;
378
+ font-size: 12px;
379
+ }
380
+ [data-variant=compact] .code-block__line--highlighted {
381
+ margin: 0 -12px;
382
+ padding: 0 12px;
383
+ }
384
+ [data-variant=modern] .code-block {
385
+ border-radius: 12px;
386
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
387
+ border: none;
388
+ }
389
+ [data-variant=modern] .code-block__header {
390
+ padding: 10px 16px;
391
+ min-height: 42px;
392
+ }
393
+ [data-variant=modern] .code-block__dot {
394
+ width: 13px;
395
+ height: 13px;
396
+ }
397
+ [data-variant=modern] .code-block__badge {
398
+ font-size: 13px;
399
+ font-weight: 600;
400
+ }
401
+ [data-variant=modern] .code-block__btn {
402
+ width: 32px;
403
+ height: 32px;
404
+ border-radius: 8px;
405
+ }
406
+ [data-variant=modern] .code-block__btn svg {
407
+ width: 18px;
408
+ height: 18px;
409
+ }
410
+ [data-variant=modern] .code-block__code {
411
+ padding: 16px 20px;
412
+ font-size: 14px;
413
+ }
414
+ [data-variant=modern] .code-block__line--highlighted {
415
+ margin: 0 -20px;
416
+ padding: 0 20px;
417
+ }
418
+ [data-variant=modern] .code-block__gutter {
419
+ padding: 16px 0;
420
+ }
421
+ [data-variant=modern] .code-block__line-number {
422
+ font-size: 14px;
423
+ padding: 0 16px;
424
+ }
425
+
426
+ /* src/GitDiffView/GitDiffView.css */
427
+ .git-diff {
428
+ border: 1px solid var(--color-border, #e2e8f0);
429
+ border-radius: 8px;
430
+ overflow: hidden;
431
+ font-family:
432
+ ui-monospace,
433
+ "SF Mono",
434
+ Menlo,
435
+ monospace;
436
+ font-size: 13px;
437
+ line-height: 1.5;
438
+ background: var(--color-bg, #ffffff);
439
+ }
440
+ .git-diff__header {
441
+ display: flex;
442
+ align-items: center;
443
+ justify-content: space-between;
444
+ padding: 8px 12px;
445
+ background: var(--color-bg-alt, #f8fafc);
446
+ border-bottom: 1px solid var(--color-border, #e2e8f0);
447
+ }
448
+ .git-diff__header-left {
449
+ display: flex;
450
+ align-items: center;
451
+ gap: 8px;
452
+ }
453
+ .git-diff__filename {
454
+ font-weight: 600;
455
+ color: var(--color-fg, #0f172a);
456
+ }
457
+ .git-diff__badge {
458
+ font-size: 11px;
459
+ padding: 1px 6px;
460
+ border-radius: 4px;
461
+ background: var(--color-accent, #3b82f6);
462
+ color: #fff;
463
+ }
464
+ .git-diff__stats {
465
+ display: flex;
466
+ gap: 8px;
467
+ font-size: 12px;
468
+ font-weight: 600;
469
+ }
470
+ .git-diff__stat--added {
471
+ color: #22c55e;
472
+ }
473
+ .git-diff__stat--removed {
474
+ color: #ef4444;
475
+ }
476
+ .git-diff__stat--none {
477
+ color: var(--color-fg-muted, #94a3b8);
478
+ }
479
+ .git-diff__body {
480
+ overflow-x: auto;
481
+ }
482
+ .git-diff__line {
483
+ display: flex;
484
+ min-height: 22px;
485
+ white-space: pre;
486
+ }
487
+ .git-diff__line--added {
488
+ background: rgba(34, 197, 94, 0.12);
489
+ }
490
+ .git-diff__line--removed {
491
+ background: rgba(239, 68, 68, 0.12);
492
+ }
493
+ .git-diff__line--unchanged {
494
+ background: transparent;
495
+ }
496
+ .git-diff__line--empty {
497
+ background: var(--color-bg-alt, #f8fafc);
498
+ }
499
+ .git-diff__gutter {
500
+ display: inline-block;
501
+ width: 48px;
502
+ min-width: 48px;
503
+ text-align: right;
504
+ padding: 0 8px;
505
+ color: var(--color-fg-muted, #94a3b8);
506
+ user-select: none;
507
+ border-right: 1px solid var(--color-border, #e2e8f0);
508
+ }
509
+ .git-diff__prefix {
510
+ display: inline-block;
511
+ width: 20px;
512
+ min-width: 20px;
513
+ text-align: center;
514
+ color: var(--color-fg-muted, #94a3b8);
515
+ user-select: none;
516
+ }
517
+ .git-diff__content {
518
+ padding: 0 8px;
519
+ flex: 1;
520
+ color: var(--color-fg, #0f172a);
521
+ }
522
+ .git-diff__sbs-body {
523
+ display: flex;
524
+ overflow-x: auto;
525
+ }
526
+ .git-diff__side {
527
+ flex: 1;
528
+ min-width: 0;
529
+ overflow-x: auto;
530
+ }
531
+ .git-diff__side + .git-diff__side {
532
+ border-left: 1px solid var(--color-border, #e2e8f0);
533
+ }
534
+ [data-variant=compact] .git-diff {
535
+ font-size: 12px;
536
+ }
537
+ [data-variant=compact] .git-diff__header {
538
+ padding: 4px 8px;
539
+ }
540
+ [data-variant=compact] .git-diff__gutter {
541
+ width: 36px;
542
+ min-width: 36px;
543
+ padding: 0 4px;
544
+ }
545
+ [data-variant=modern] .git-diff {
546
+ border-radius: 12px;
547
+ }
548
+ [data-variant=modern] .git-diff__header {
549
+ padding: 10px 16px;
550
+ }
551
+
552
+ /* src/MarkdownRenderer/MarkdownRenderer.css */
553
+ .markdown-renderer {
554
+ color: var(--color-fg);
555
+ line-height: 1.6;
556
+ font-size: 14px;
557
+ word-wrap: break-word;
558
+ overflow-wrap: break-word;
559
+ }
560
+ .markdown-renderer h1,
561
+ .markdown-renderer h2,
562
+ .markdown-renderer h3,
563
+ .markdown-renderer h4,
564
+ .markdown-renderer h5,
565
+ .markdown-renderer h6 {
566
+ color: var(--color-fg);
567
+ font-weight: 600;
568
+ line-height: 1.25;
569
+ position: relative;
570
+ margin: 24px 0 16px;
571
+ }
572
+ .markdown-renderer h1 {
573
+ font-size: 1.75em;
574
+ padding-bottom: 0.3em;
575
+ border-bottom: 1px solid var(--color-border);
576
+ }
577
+ .markdown-renderer h2 {
578
+ font-size: 1.45em;
579
+ padding-bottom: 0.3em;
580
+ border-bottom: 1px solid var(--color-border);
581
+ }
582
+ .markdown-renderer h3 {
583
+ font-size: 1.2em;
584
+ }
585
+ .markdown-renderer h4 {
586
+ font-size: 1.05em;
587
+ }
588
+ .markdown-renderer h5 {
589
+ font-size: 0.95em;
590
+ }
591
+ .markdown-renderer h6 {
592
+ font-size: 0.85em;
593
+ color: var(--color-fg-dim);
594
+ }
595
+ .markdown-renderer > h1:first-child,
596
+ .markdown-renderer > h2:first-child,
597
+ .markdown-renderer > h3:first-child,
598
+ .markdown-renderer > h4:first-child,
599
+ .markdown-renderer > h5:first-child,
600
+ .markdown-renderer > h6:first-child {
601
+ margin-top: 0;
602
+ }
603
+ .markdown-renderer h1,
604
+ .markdown-renderer h2,
605
+ .markdown-renderer h3,
606
+ .markdown-renderer h4,
607
+ .markdown-renderer h5,
608
+ .markdown-renderer h6 {
609
+ cursor: default;
610
+ }
611
+ .markdown-renderer__heading-anchor {
612
+ position: absolute;
613
+ left: -1.25em;
614
+ color: var(--color-link, var(--color-primary, var(--primary, #6366f1)));
615
+ opacity: 0;
616
+ font-weight: 400;
617
+ text-decoration: none;
618
+ transition: opacity 0.15s ease;
619
+ user-select: none;
620
+ }
621
+ .markdown-renderer h1:hover .markdown-renderer__heading-anchor,
622
+ .markdown-renderer h2:hover .markdown-renderer__heading-anchor,
623
+ .markdown-renderer h3:hover .markdown-renderer__heading-anchor,
624
+ .markdown-renderer h4:hover .markdown-renderer__heading-anchor,
625
+ .markdown-renderer h5:hover .markdown-renderer__heading-anchor,
626
+ .markdown-renderer h6:hover .markdown-renderer__heading-anchor {
627
+ opacity: 0.5;
628
+ }
629
+ .markdown-renderer__heading-anchor:hover {
630
+ opacity: 1 !important;
631
+ text-decoration: none;
632
+ }
633
+ .markdown-renderer p {
634
+ margin: 0 0 16px;
635
+ }
636
+ .markdown-renderer p:last-child {
637
+ margin-bottom: 0;
638
+ }
639
+ .markdown-renderer__link {
640
+ color: var(--color-link, var(--color-accent, var(--primary, #6366f1)));
641
+ opacity: 0.75;
642
+ text-decoration: none;
643
+ transition: opacity 0.15s ease;
644
+ cursor: pointer;
645
+ }
646
+ .markdown-renderer__link:hover {
647
+ opacity: 1;
648
+ text-decoration: underline;
649
+ }
650
+ .markdown-renderer blockquote {
651
+ margin: 0 0 16px;
652
+ padding: 0 16px;
653
+ border-left: 3px solid var(--color-border);
654
+ color: var(--color-fg-dim);
655
+ }
656
+ .markdown-renderer blockquote > p:last-child {
657
+ margin-bottom: 0;
658
+ }
659
+ .markdown-renderer__inline-code {
660
+ background: var(--color-bg-alt);
661
+ padding: 2px 6px;
662
+ border-radius: 6px;
663
+ font-family:
664
+ ui-monospace,
665
+ "SF Mono",
666
+ "Cascadia Code",
667
+ Menlo,
668
+ Consolas,
669
+ monospace;
670
+ font-size: 0.85em;
671
+ border: 1px solid var(--color-border);
672
+ }
673
+ .markdown-renderer ul,
674
+ .markdown-renderer ol {
675
+ margin: 0 0 16px;
676
+ padding-left: 2em;
677
+ }
678
+ .markdown-renderer ul {
679
+ list-style-type: disc;
680
+ }
681
+ .markdown-renderer ol {
682
+ list-style-type: decimal;
683
+ }
684
+ .markdown-renderer li {
685
+ margin: 4px 0;
686
+ display: list-item;
687
+ }
688
+ .markdown-renderer li > p {
689
+ margin: 0;
690
+ }
691
+ .markdown-renderer li > ul,
692
+ .markdown-renderer li > ol {
693
+ margin-top: 4px;
694
+ margin-bottom: 0;
695
+ }
696
+ .markdown-renderer strong {
697
+ font-weight: 600;
698
+ }
699
+ .markdown-renderer del {
700
+ text-decoration: line-through;
701
+ opacity: 0.7;
702
+ }
703
+ .markdown-renderer .task-list {
704
+ list-style: none;
705
+ padding-left: 0;
706
+ }
707
+ .markdown-renderer .task-list__item {
708
+ display: flex;
709
+ align-items: baseline;
710
+ gap: 6px;
711
+ padding: 2px 0;
712
+ }
713
+ .markdown-renderer .task-list__checkbox {
714
+ flex-shrink: 0;
715
+ }
716
+ .markdown-renderer .task-list__item > span {
717
+ line-height: 1.5;
718
+ }
719
+ .markdown-renderer hr {
720
+ border: none;
721
+ border-top: 1px solid var(--color-border);
722
+ margin: 24px 0;
723
+ height: 0;
724
+ }
725
+ .markdown-renderer__img {
726
+ max-width: 100%;
727
+ border-radius: 6px;
728
+ display: block;
729
+ margin: 16px 0;
730
+ cursor: zoom-in;
731
+ }
732
+ .markdown-renderer__frontmatter {
733
+ margin: 0 0 20px;
734
+ border: 1px solid var(--color-border);
735
+ border-radius: 8px;
736
+ overflow: hidden;
737
+ background: var(--color-bg-contrast);
738
+ }
739
+ .markdown-renderer__frontmatter-header {
740
+ padding: 6px 14px;
741
+ font-size: 11px;
742
+ font-weight: 600;
743
+ text-transform: uppercase;
744
+ letter-spacing: 0.5px;
745
+ color: var(--color-fg-muted);
746
+ background: var(--color-bg-alt);
747
+ border-bottom: 1px solid var(--color-border);
748
+ }
749
+ .markdown-renderer__frontmatter-table {
750
+ width: 100%;
751
+ border-collapse: collapse;
752
+ }
753
+ .markdown-renderer__frontmatter-table tr:not(:last-child) {
754
+ border-bottom: 1px solid var(--color-border);
755
+ }
756
+ .markdown-renderer__frontmatter-key {
757
+ padding: 6px 14px;
758
+ font-size: 12px;
759
+ font-weight: 500;
760
+ color: var(--color-fg-muted);
761
+ white-space: nowrap;
762
+ width: 1%;
763
+ font-family:
764
+ ui-monospace,
765
+ "SF Mono",
766
+ "Cascadia Code",
767
+ Menlo,
768
+ Consolas,
769
+ monospace;
770
+ }
771
+ .markdown-renderer__frontmatter-value {
772
+ padding: 6px 14px;
773
+ font-size: 13px;
774
+ color: var(--color-fg);
775
+ word-break: break-word;
776
+ }
777
+ .markdown-renderer .code-block,
778
+ .markdown-renderer .data-table-container {
779
+ margin: 16px 0;
780
+ }
781
+ [data-variant=compact] .markdown-renderer {
782
+ font-size: 13px;
783
+ line-height: 1.5;
784
+ }
785
+ [data-variant=compact] .markdown-renderer h1 {
786
+ font-size: 1.5em;
787
+ }
788
+ [data-variant=compact] .markdown-renderer h2 {
789
+ font-size: 1.3em;
790
+ }
791
+ [data-variant=compact] .markdown-renderer h3 {
792
+ font-size: 1.1em;
793
+ }
794
+ [data-variant=compact] .markdown-renderer h1,
795
+ [data-variant=compact] .markdown-renderer h2,
796
+ [data-variant=compact] .markdown-renderer h3,
797
+ [data-variant=compact] .markdown-renderer h4,
798
+ [data-variant=compact] .markdown-renderer h5,
799
+ [data-variant=compact] .markdown-renderer h6 {
800
+ margin: 16px 0 8px;
801
+ }
802
+ [data-variant=compact] .markdown-renderer p,
803
+ [data-variant=compact] .markdown-renderer ul,
804
+ [data-variant=compact] .markdown-renderer ol,
805
+ [data-variant=compact] .markdown-renderer blockquote {
806
+ margin: 0 0 8px;
807
+ }
808
+ [data-variant=modern] .markdown-renderer {
809
+ font-size: 15px;
810
+ line-height: 1.7;
811
+ }
812
+ [data-variant=modern] .markdown-renderer h1 {
813
+ font-size: 2em;
814
+ }
815
+ [data-variant=modern] .markdown-renderer h2 {
816
+ font-size: 1.6em;
817
+ }
818
+ [data-variant=modern] .markdown-renderer h3 {
819
+ font-size: 1.35em;
820
+ }
821
+ [data-variant=modern] .markdown-renderer p,
822
+ [data-variant=modern] .markdown-renderer ul,
823
+ [data-variant=modern] .markdown-renderer ol,
824
+ [data-variant=modern] .markdown-renderer blockquote {
825
+ margin: 0 0 20px;
826
+ }
827
+ [data-variant=modern] .markdown-renderer blockquote {
828
+ padding: 4px 20px;
829
+ border-left-width: 4px;
830
+ border-radius: 0 6px 6px 0;
831
+ }
832
+
833
+ /* src/MarkdownEditor/MarkdownEditor.css */
834
+ .md-editor {
835
+ display: flex;
836
+ flex-direction: column;
837
+ height: 100%;
838
+ border: 1px solid var(--color-border);
839
+ border-radius: 6px;
840
+ overflow: hidden;
841
+ }
842
+ .md-editor__toolbar {
843
+ display: flex;
844
+ flex-direction: row;
845
+ align-items: center;
846
+ gap: 2px;
847
+ padding: 6px 8px;
848
+ background: var(--color-bg-alt);
849
+ border-bottom: 1px solid var(--color-border);
850
+ flex-shrink: 0;
851
+ }
852
+ .md-editor__toolbar-btn {
853
+ display: inline-flex;
854
+ align-items: center;
855
+ justify-content: center;
856
+ background: transparent;
857
+ border: none;
858
+ color: var(--color-fg-dim);
859
+ cursor: pointer;
860
+ padding: 4px 8px;
861
+ border-radius: 4px;
862
+ font-size: 13px;
863
+ font-family:
864
+ system-ui,
865
+ -apple-system,
866
+ sans-serif;
867
+ font-weight: 500;
868
+ line-height: 1;
869
+ transition: all 0.15s ease;
870
+ }
871
+ .md-editor__toolbar-btn:hover:not(:disabled) {
872
+ color: var(--color-fg);
873
+ background: var(--color-bg-active);
874
+ }
875
+ .md-editor__toolbar-btn:disabled {
876
+ opacity: 0.4;
877
+ cursor: not-allowed;
878
+ }
879
+ .md-editor__body {
880
+ display: flex;
881
+ flex-direction: row;
882
+ flex: 1;
883
+ min-height: 0;
884
+ }
885
+ .md-editor__source {
886
+ flex: 1;
887
+ display: flex;
888
+ }
889
+ .md-editor__source textarea {
890
+ width: 100%;
891
+ height: 100%;
892
+ border: none;
893
+ outline: none;
894
+ resize: none;
895
+ padding: 12px;
896
+ font-family:
897
+ ui-monospace,
898
+ "SF Mono",
899
+ "Cascadia Code",
900
+ Menlo,
901
+ Consolas,
902
+ monospace;
903
+ font-size: 13px;
904
+ line-height: 1.6;
905
+ background: var(--color-bg-contrast);
906
+ color: var(--color-fg);
907
+ }
908
+ .md-editor__source textarea::placeholder {
909
+ color: var(--color-fg-muted);
910
+ }
911
+ .md-editor__divider {
912
+ width: 1px;
913
+ background: var(--color-border);
914
+ flex-shrink: 0;
915
+ }
916
+ .md-editor__preview {
917
+ flex: 1;
918
+ overflow-y: auto;
919
+ padding: 12px;
920
+ background: var(--color-bg);
921
+ }
922
+ .md-editor__footer {
923
+ display: flex;
924
+ flex-direction: row;
925
+ align-items: center;
926
+ gap: 12px;
927
+ padding: 4px 12px;
928
+ border-top: 1px solid var(--color-border);
929
+ background: var(--color-bg-alt);
930
+ color: var(--color-fg-muted);
931
+ font-size: 12px;
932
+ font-family:
933
+ system-ui,
934
+ -apple-system,
935
+ sans-serif;
936
+ flex-shrink: 0;
937
+ }
938
+ [data-variant=compact] .md-editor__toolbar {
939
+ padding: 4px 6px;
940
+ gap: 1px;
941
+ }
942
+ [data-variant=compact] .md-editor__toolbar-btn {
943
+ padding: 2px 6px;
944
+ font-size: 12px;
945
+ }
946
+ [data-variant=compact] .md-editor__source textarea {
947
+ padding: 8px;
948
+ font-size: 12px;
949
+ }
950
+ [data-variant=compact] .md-editor__preview {
951
+ padding: 8px;
952
+ }
953
+ [data-variant=compact] .md-editor__footer {
954
+ padding: 2px 8px;
955
+ font-size: 11px;
956
+ }
957
+ [data-variant=modern] .md-editor__toolbar {
958
+ padding: 8px 12px;
959
+ gap: 4px;
960
+ }
961
+ [data-variant=modern] .md-editor__toolbar-btn {
962
+ padding: 6px 10px;
963
+ border-radius: 6px;
964
+ font-size: 13px;
965
+ }
966
+ [data-variant=modern] .md-editor__source textarea {
967
+ padding: 16px;
968
+ font-size: 14px;
969
+ }
970
+ [data-variant=modern] .md-editor__preview {
971
+ padding: 16px;
972
+ }
973
+ [data-variant=modern] .md-editor__footer {
974
+ padding: 6px 16px;
975
+ font-size: 12px;
976
+ gap: 16px;
977
+ }