plutonium 0.23.1 → 0.23.2

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.
data/src/css/easymde.css CHANGED
@@ -1,1198 +1,168 @@
1
1
  /**
2
- * EasyMDE + CodeMirror Styles
3
- * Based on https://cdn.jsdelivr.net/npm/easymde@2.18.0/dist/easymde.min.css
4
- * Adapted for Flowbite with dark mode support
5
- */
2
+ * EasyMDE Tailwind Integration
3
+ * Overrides for theming with Tailwind colors and dark mode support
4
+ * Import this AFTER the original easymde.css
5
+ */
6
6
 
7
- .CodeMirror {
8
- font-family: monospace;
9
- height: 300px;
10
- color: #000;
11
- direction: ltr;
12
- background: #fff;
13
- position: relative;
14
- overflow: hidden;
15
- }
16
-
17
- .dark .CodeMirror {
18
- color: #E0E7FF;
19
- background: #101828;
20
- }
21
-
22
- .CodeMirror-lines {
23
- padding: 4px 0;
24
- cursor: text;
25
- min-height: 1px;
26
- }
27
-
28
- .CodeMirror pre.CodeMirror-line,
29
- .CodeMirror pre.CodeMirror-line-like {
30
- padding: 0 4px;
31
- }
32
-
33
- .CodeMirror-gutter-filler,
34
- .CodeMirror-scrollbar-filler {
35
- background-color: #fff;
36
- position: absolute;
37
- z-index: 6;
38
- display: none;
39
- outline: none;
40
- }
41
-
42
- .dark .CodeMirror-gutter-filler,
43
- .dark .CodeMirror-scrollbar-filler {
44
- background-color: #101828;
45
- }
46
-
47
- .CodeMirror-gutters {
48
- border-right: 1px solid #ddd;
49
- background-color: #f7f7f7;
50
- white-space: nowrap;
51
- }
52
-
53
- .dark .CodeMirror-gutters {
54
- border-right: 1px solid #25304A;
55
- background-color: #172033;
56
- }
57
-
58
- .CodeMirror-linenumber {
59
- padding: 0 3px 0 5px;
60
- min-width: 20px;
61
- text-align: right;
62
- color: #999;
63
- white-space: nowrap;
64
- }
65
-
66
- .dark .CodeMirror-linenumber {
67
- color: #A0AEC0;
68
- }
69
-
70
- .CodeMirror-guttermarker {
71
- color: #000;
72
- }
73
-
74
- .dark .CodeMirror-guttermarker {
75
- color: #E0E7FF;
76
- }
77
-
78
- .CodeMirror-guttermarker-subtle {
79
- color: #999;
80
- }
81
-
82
- .dark .CodeMirror-guttermarker-subtle {
83
- color: #A0AEC0;
84
- }
85
-
86
- .CodeMirror-cursor {
87
- border-left: 1px solid #000;
88
- border-right: none;
89
- width: 0;
90
- position: absolute;
91
- pointer-events: none;
92
- }
93
-
94
- .dark .CodeMirror-cursor {
95
- border-left: 1px solid #E0E7FF;
96
- }
97
-
98
- .CodeMirror div.CodeMirror-secondarycursor {
99
- border-left: 1px solid silver;
100
- }
101
-
102
- .dark .CodeMirror div.CodeMirror-secondarycursor {
103
- border-left: 1px solid #A0AEC0;
104
- }
105
-
106
- .cm-fat-cursor .CodeMirror-cursor {
107
- width: auto;
108
- border: 0 !important;
109
- background: #7e7;
110
- }
111
-
112
- .dark .cm-fat-cursor .CodeMirror-cursor {
113
- background: #4ade80;
114
- }
115
-
116
- .cm-s-default .cm-header {
117
- color: #00f;
118
- }
119
-
120
- .dark .cm-s-default .cm-header {
121
- color: #90cdf4;
122
- }
123
-
124
- .cm-s-default .cm-quote {
125
- color: #090;
126
- }
127
-
128
- .dark .cm-s-default .cm-quote {
129
- color: #81e6d9;
130
- }
131
-
132
- .cm-negative {
133
- color: #d44;
134
- }
135
-
136
- .dark .cm-negative {
137
- color: #f56565;
138
- }
139
-
140
- .cm-positive {
141
- color: #292;
142
- }
143
-
144
- .dark .cm-positive {
145
- color: #68d391;
146
- }
147
-
148
- .cm-header,
149
- .cm-strong {
150
- font-weight: 700;
151
- }
152
-
153
- .cm-em {
154
- font-style: italic;
155
- }
156
-
157
- .cm-link {
158
- text-decoration: underline;
159
- }
160
-
161
- .cm-strikethrough {
162
- text-decoration: line-through;
163
- }
164
-
165
- .cm-s-default .cm-keyword {
166
- color: #708;
167
- }
168
-
169
- .dark .cm-s-default .cm-keyword {
170
- color: #d6bcfa;
171
- }
172
-
173
- .cm-s-default .cm-atom {
174
- color: #219;
175
- }
176
-
177
- .dark .cm-s-default .cm-atom {
178
- color: #90cdf4;
179
- }
180
-
181
- .cm-s-default .cm-number {
182
- color: #164;
183
- }
184
-
185
- .dark .cm-s-default .cm-number {
186
- color: #a3bffa;
187
- }
188
-
189
- .cm-s-default .cm-def {
190
- color: #00f;
191
- }
192
-
193
- .dark .cm-s-default .cm-def {
194
- color: #90cdf4;
195
- }
196
-
197
- .cm-s-default .cm-variable-2 {
198
- color: #05a;
199
- }
200
-
201
- .dark .cm-s-default .cm-variable-2 {
202
- color: #9f7aea;
203
- }
204
-
205
- .cm-s-default .cm-type,
206
- .cm-s-default .cm-variable-3 {
207
- color: #085;
208
- }
209
-
210
- .dark .cm-s-default .cm-type,
211
- .dark .cm-s-default .cm-variable-3 {
212
- color: #81e6d9;
213
- }
214
-
215
- .cm-s-default .cm-comment {
216
- color: #a50;
217
- }
218
-
219
- .dark .cm-s-default .cm-comment {
220
- color: #feb2b2;
221
- }
222
-
223
- .cm-s-default .cm-string {
224
- color: #a11;
225
- }
226
-
227
- .dark .cm-s-default .cm-string {
228
- color: #f56565;
229
- }
230
-
231
- .cm-s-default .cm-string-2 {
232
- color: #f50;
233
- }
234
-
235
- .dark .cm-s-default .cm-string-2 {
236
- color: #fdba74;
237
- }
238
-
239
- .cm-s-default .cm-meta {
240
- color: #555;
241
- }
242
-
243
- .dark .cm-s-default .cm-meta {
244
- color: #b2f5ea;
245
- }
246
-
247
- .cm-s-default .cm-qualifier {
248
- color: #555;
249
- }
250
-
251
- .dark .cm-s-default .cm-qualifier {
252
- color: #b2f5ea;
253
- }
254
-
255
- .cm-s-default .cm-builtin {
256
- color: #30a;
257
- }
258
-
259
- .dark .cm-s-default .cm-builtin {
260
- color: #c084fc;
261
- }
262
-
263
- .cm-s-default .cm-bracket {
264
- color: #997;
265
- }
266
-
267
- .dark .cm-s-default .cm-bracket {
268
- color: #fde047;
269
- }
270
-
271
- .cm-s-default .cm-tag {
272
- color: #170;
273
- }
274
-
275
- .dark .cm-s-default .cm-tag {
276
- color: #86efac;
277
- }
278
-
279
- .cm-s-default .cm-attribute {
280
- color: #00c;
281
- }
282
-
283
- .dark .cm-s-default .cm-attribute {
284
- color: #93c5fd;
285
- }
286
-
287
- .cm-s-default .cm-hr {
288
- color: #999;
289
- }
290
-
291
- .dark .cm-s-default .cm-hr {
292
- color: #A0AEC0;
293
- }
294
-
295
- .cm-s-default .cm-link {
296
- color: #00c;
297
- }
298
-
299
- .dark .cm-s-default .cm-link {
300
- color: #93c5fd;
301
- }
302
-
303
- .cm-s-default .cm-error {
304
- color: red;
305
- }
306
-
307
- .dark .cm-s-default .cm-error {
308
- color: #f87171;
309
- }
310
-
311
- .cm-invalidchar {
312
- color: red;
313
- }
314
-
315
- .dark .cm-invalidchar {
316
- color: #f87171;
317
- }
318
-
319
- .CodeMirror-composing {
320
- border-bottom: 2px solid;
321
- }
322
-
323
- div.CodeMirror span.CodeMirror-matchingbracket {
324
- color: #0b0;
325
- }
326
-
327
- .dark div.CodeMirror span.CodeMirror-matchingbracket {
328
- color: #6ee7b7;
329
- }
330
-
331
- div.CodeMirror span.CodeMirror-nonmatchingbracket {
332
- color: #a22;
333
- }
334
-
335
- .dark div.CodeMirror span.CodeMirror-nonmatchingbracket {
336
- color: #fca5a5;
337
- }
338
-
339
- .CodeMirror-matchingtag {
340
- background: rgba(255, 150, 0, .3);
341
- }
342
-
343
- .dark .CodeMirror-matchingtag {
344
- background: rgba(251, 191, 36, .4);
345
- }
346
-
347
- .CodeMirror-activeline-background {
348
- background: #e8f2ff;
349
- }
350
-
351
- .dark .CodeMirror-activeline-background {
352
- background: #25304A;
353
- }
354
-
355
- .CodeMirror-scroll {
356
- overflow: scroll !important;
357
- margin-bottom: -50px;
358
- margin-right: -50px;
359
- padding-bottom: 50px;
360
- height: 100%;
361
- outline: 0;
362
- position: relative;
363
- z-index: 0;
364
- }
365
-
366
- .CodeMirror-sizer {
367
- position: relative;
368
- border-right: 50px solid transparent;
369
- }
370
-
371
- .CodeMirror-vscrollbar,
372
- .CodeMirror-hscrollbar {
373
- position: absolute;
374
- z-index: 6;
375
- display: none;
376
- outline: 0;
377
- }
378
-
379
- .CodeMirror-vscrollbar {
380
- right: 0;
381
- top: 0;
382
- overflow-x: hidden;
383
- overflow-y: scroll;
384
- }
385
-
386
- .CodeMirror-hscrollbar {
387
- bottom: 0;
388
- left: 0;
389
- overflow-y: hidden;
390
- overflow-x: scroll;
391
- }
392
-
393
- .CodeMirror-gutters {
394
- position: absolute;
395
- left: 0;
396
- top: 0;
397
- min-height: 100%;
398
- z-index: 3;
399
- }
400
-
401
- .CodeMirror-gutter {
402
- white-space: normal;
403
- height: 100%;
404
- display: inline-block;
405
- vertical-align: top;
406
- margin-bottom: -50px;
407
- }
408
-
409
- .CodeMirror-gutter-wrapper {
410
- position: absolute;
411
- z-index: 4;
412
- background: 0 0 !important;
413
- border: none !important;
414
- }
415
-
416
- .CodeMirror-gutter-background {
417
- position: absolute;
418
- top: 0;
419
- bottom: 0;
420
- z-index: 4;
421
- }
422
-
423
- .CodeMirror-gutter-elt {
424
- position: absolute;
425
- cursor: default;
426
- z-index: 4;
427
- }
428
-
429
- .CodeMirror-gutter-wrapper ::selection {
430
- background-color: transparent;
431
- }
432
-
433
- .CodeMirror-gutter-wrapper ::-moz-selection {
434
- background-color: transparent;
435
- }
436
-
437
- .CodeMirror pre.CodeMirror-line,
438
- .CodeMirror pre.CodeMirror-line-like {
439
- -moz-border-radius: 0;
440
- -webkit-border-radius: 0;
441
- border-radius: 0;
442
- border-width: 0;
443
- background: 0 0;
444
- font-family: inherit;
445
- font-size: inherit;
446
- margin: 0;
447
- white-space: pre;
448
- word-wrap: normal;
449
- line-height: inherit;
450
- color: inherit;
451
- z-index: 2;
452
- position: relative;
453
- overflow: visible;
454
- -webkit-tap-highlight-color: transparent;
455
- -webkit-font-variant-ligatures: contextual;
456
- font-variant-ligatures: contextual;
457
- }
458
-
459
- .CodeMirror-wrap pre.CodeMirror-line,
460
- .CodeMirror-wrap pre.CodeMirror-line-like {
461
- word-wrap: break-word;
462
- white-space: pre-wrap;
463
- word-break: normal;
464
- }
465
-
466
- .CodeMirror-linebackground {
467
- position: absolute;
468
- left: 0;
469
- right: 0;
470
- top: 0;
471
- bottom: 0;
472
- z-index: 0;
473
- }
474
-
475
- .CodeMirror-linewidget {
476
- position: relative;
477
- z-index: 2;
478
- padding: .1px;
479
- }
480
-
481
- .CodeMirror-rtl pre {
482
- direction: rtl;
483
- }
484
-
485
- .CodeMirror-code {
486
- outline: 0;
487
- }
488
-
489
- .CodeMirror-gutter,
490
- .CodeMirror-gutters,
491
- .CodeMirror-linenumber,
492
- .CodeMirror-scroll,
493
- .CodeMirror-sizer {
494
- -moz-box-sizing: content-box;
495
- box-sizing: content-box;
496
- }
497
-
498
- .CodeMirror-measure {
499
- position: absolute;
500
- width: 100%;
501
- height: 0;
502
- overflow: hidden;
503
- visibility: hidden;
504
- }
505
-
506
- .CodeMirror-measure pre {
507
- position: static;
508
- }
509
-
510
- div.CodeMirror-cursors {
511
- visibility: hidden;
512
- position: relative;
513
- z-index: 3;
514
- }
515
-
516
- div.CodeMirror-dragcursors {
517
- visibility: visible;
7
+ /* Container and CodeMirror theming */
8
+ .EasyMDEContainer .CodeMirror {
9
+ @apply border-gray-300 bg-white text-gray-900 dark:border-gray-600 dark:bg-gray-800 dark:text-gray-100;
518
10
  }
519
11
 
520
- .CodeMirror-focused div.CodeMirror-cursors {
521
- visibility: visible;
12
+ .EasyMDEContainer .CodeMirror-focused .CodeMirror-selected {
13
+ @apply bg-primary-100 dark:bg-primary-900;
522
14
  }
523
15
 
524
16
  .CodeMirror-selected {
525
- background: #d9d9d9;
526
- }
527
-
528
- .dark .CodeMirror-selected {
529
- background: #25304A;
530
- }
531
-
532
- .CodeMirror-focused .CodeMirror-selected {
533
- background: #d7d4f0;
534
- }
535
-
536
- .dark .CodeMirror-focused .CodeMirror-selected {
537
- background: #36415F;
538
- }
539
-
540
- .CodeMirror-crosshair {
541
- cursor: crosshair;
17
+ @apply bg-gray-200 dark:bg-gray-700;
542
18
  }
543
19
 
544
20
  .CodeMirror-line::selection,
545
21
  .CodeMirror-line>span::selection,
546
22
  .CodeMirror-line>span>span::selection {
547
- background: #d7d4f0;
548
- }
549
-
550
- .dark .CodeMirror-line::selection,
551
- .dark .CodeMirror-line>span::selection,
552
- .dark .CodeMirror-line>span>span::selection {
553
- background: #36415F;
23
+ @apply bg-primary-100 dark:bg-primary-900;
554
24
  }
555
25
 
556
26
  .CodeMirror-line::-moz-selection,
557
27
  .CodeMirror-line>span::-moz-selection,
558
28
  .CodeMirror-line>span>span::-moz-selection {
559
- background: #d7d4f0;
560
- }
561
-
562
- .dark .CodeMirror-line::-moz-selection,
563
- .dark .CodeMirror-line>span::-moz-selection,
564
- .dark .CodeMirror-line>span>span::-moz-selection {
565
- background: #36415F;
566
- }
567
-
568
- .cm-searching {
569
- background-color: #ffa;
570
- background-color: rgba(255, 255, 0, .4);
571
- }
572
-
573
- .dark .cm-searching {
574
- background-color: #facc15;
575
- background-color: rgba(250, 204, 21, .4);
576
- }
577
-
578
- .cm-force-border {
579
- padding-right: .1px;
580
- }
581
-
582
- @media print {
583
- .CodeMirror div.CodeMirror-cursors {
584
- visibility: hidden;
585
- }
586
- }
587
-
588
- .cm-tab-wrap-hack:after {
589
- content: '';
590
- }
591
-
592
- span.CodeMirror-selectedtext {
593
- background: 0 0;
594
- }
595
-
596
- .EasyMDEContainer {
597
- display: block;
598
- }
599
-
600
- .EasyMDEContainer.sided--no-fullscreen {
601
- display: flex;
602
- flex-direction: row;
603
- flex-wrap: wrap;
604
- }
605
-
606
- .EasyMDEContainer .CodeMirror {
607
- box-sizing: border-box;
608
- height: auto;
609
- border: 1px solid #ced4da;
610
- border-bottom-left-radius: 4px;
611
- border-bottom-right-radius: 4px;
612
- padding: 10px;
613
- font: inherit;
614
- z-index: 0;
615
- word-wrap: break-word;
616
- }
617
-
618
- .dark .EasyMDEContainer .CodeMirror {
619
- border: 1px solid #25304A;
620
- }
621
-
622
- .EasyMDEContainer .CodeMirror-scroll {
623
- cursor: text;
624
- }
625
-
626
- .EasyMDEContainer .CodeMirror-fullscreen {
627
- background: #fff;
628
- position: fixed !important;
629
- top: 50px;
630
- left: 0;
631
- right: 0;
632
- bottom: 0;
633
- height: auto;
634
- z-index: 8;
635
- border-right: none !important;
636
- border-bottom-right-radius: 0 !important;
637
- }
638
-
639
- .dark .EasyMDEContainer .CodeMirror-fullscreen {
640
- background: #0A0F1A;
641
- }
642
-
643
- .EasyMDEContainer .CodeMirror-sided {
644
- width: 50% !important;
29
+ @apply bg-primary-100 dark:bg-primary-900;
645
30
  }
646
31
 
647
- .EasyMDEContainer.sided--no-fullscreen .CodeMirror-sided {
648
- border-right: none !important;
649
- border-bottom-right-radius: 0;
650
- position: relative;
651
- flex: 1 1 auto;
652
- }
653
-
654
- .EasyMDEContainer .CodeMirror-placeholder {
655
- opacity: .5;
32
+ /* Gutter theming */
33
+ .CodeMirror-gutters {
34
+ @apply border-gray-300 bg-gray-50 dark:border-gray-600 dark:bg-gray-700;
656
35
  }
657
36
 
658
- .EasyMDEContainer .CodeMirror-focused .CodeMirror-selected {
659
- background: #d9d9d9;
37
+ .CodeMirror-linenumber {
38
+ @apply text-gray-500 dark:text-gray-400;
660
39
  }
661
40
 
662
- .dark .EasyMDEContainer .CodeMirror-focused .CodeMirror-selected {
663
- background: #25304A;
41
+ .CodeMirror-cursor {
42
+ @apply border-gray-900 dark:border-gray-100;
664
43
  }
665
44
 
45
+ /* Toolbar theming */
666
46
  .editor-toolbar {
667
- position: relative;
668
- -webkit-user-select: none;
669
- -moz-user-select: none;
670
- -ms-user-select: none;
671
- -o-user-select: none;
672
- user-select: none;
673
- padding: 9px 10px;
674
- border-top: 1px solid #ced4da;
675
- border-left: 1px solid #ced4da;
676
- border-right: 1px solid #ced4da;
677
- border-top-left-radius: 4px;
678
- border-top-right-radius: 4px;
679
- }
680
-
681
- .dark .editor-toolbar {
682
- border-top: 1px solid #25304A;
683
- border-left: 1px solid #25304A;
684
- border-right: 1px solid #25304A;
685
- background: #172033;
47
+ @apply border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800;
686
48
  }
687
49
 
688
50
  .editor-toolbar.fullscreen {
689
- width: 100%;
690
- height: 50px;
691
- padding-top: 10px;
692
- padding-bottom: 10px;
693
- box-sizing: border-box;
694
- background: #fff;
695
- border: 0;
696
- position: fixed;
697
- top: 0;
698
- left: 0;
699
- opacity: 1;
700
- z-index: 9;
701
- }
702
-
703
- .dark .editor-toolbar.fullscreen {
704
- background: #172033;
705
- }
706
-
707
- .editor-toolbar.fullscreen::before {
708
- width: 20px;
709
- height: 50px;
710
- background: linear-gradient(to right, #fff 0, rgba(255, 255, 255, 0) 100%);
711
- position: fixed;
712
- top: 0;
713
- left: 0;
714
- margin: 0;
715
- padding: 0;
716
- }
717
-
718
- .dark .editor-toolbar.fullscreen::before {
719
- background: linear-gradient(to right, #172033 0, rgba(23, 32, 51, 0) 100%);
720
- }
721
-
722
- .editor-toolbar.fullscreen::after {
723
- width: 20px;
724
- height: 50px;
725
- background: linear-gradient(to right, rgba(255, 255, 255, 0) 0, #fff 100%);
726
- position: fixed;
727
- top: 0;
728
- right: 0;
729
- margin: 0;
730
- padding: 0;
731
- }
732
-
733
- .dark .editor-toolbar.fullscreen::after {
734
- background: linear-gradient(to right, rgba(23, 32, 51, 0) 0, #172033 100%);
735
- }
736
-
737
- .EasyMDEContainer.sided--no-fullscreen .editor-toolbar {
738
- width: 100%;
739
- }
740
-
741
- .editor-toolbar .easymde-dropdown,
742
- .editor-toolbar button {
743
- background: transparent;
744
- display: inline-block;
745
- text-align: center;
746
- text-decoration: none !important;
747
- height: 30px;
748
- margin: 0;
749
- padding: 0 6px;
750
- border: 1px solid transparent;
751
- border-radius: 3px;
752
- cursor: pointer;
51
+ @apply bg-white dark:bg-gray-800;
753
52
  }
754
53
 
755
54
  .editor-toolbar button {
756
- font-weight: 700;
757
- min-width: 30px;
758
- white-space: nowrap;
759
- color: #333;
760
- }
761
-
762
- .dark .editor-toolbar button {
763
- color: #E0E7FF;
55
+ @apply text-gray-700 hover:bg-gray-100 hover:border-gray-400 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:border-gray-500;
764
56
  }
765
57
 
766
58
  .editor-toolbar button.active,
767
59
  .editor-toolbar button:hover {
768
- background: #fcfcfc;
769
- border-color: #95a5a6;
770
- }
771
-
772
- .dark .editor-toolbar button.active,
773
- .dark .editor-toolbar button:hover {
774
- background: #25304A;
775
- border-color: #36415F;
60
+ @apply bg-gray-100 border-gray-400 dark:bg-gray-700 dark:border-gray-500;
776
61
  }
777
62
 
778
63
  .editor-toolbar i.separator {
779
- display: inline-block;
780
- width: 0;
781
- border-left: 1px solid #d9d9d9;
782
- border-right: 1px solid #fff;
783
- color: transparent;
784
- text-indent: -10px;
785
- margin: 0 6px;
786
- }
787
-
788
- .dark .editor-toolbar i.separator {
789
- border-left: 1px solid #25304A;
790
- border-right: 1px solid #172033;
791
- }
792
-
793
- .editor-toolbar button:after {
794
- font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
795
- font-size: 65%;
796
- vertical-align: text-bottom;
797
- position: relative;
798
- top: 2px;
799
- }
800
-
801
- .editor-toolbar button.heading-1:after {
802
- content: "1";
803
- }
804
-
805
- .editor-toolbar button.heading-2:after {
806
- content: "2";
807
- }
808
-
809
- .editor-toolbar button.heading-3:after {
810
- content: "3";
811
- }
812
-
813
- .editor-toolbar button.heading-bigger:after {
814
- content: "▲";
815
- }
816
-
817
- .editor-toolbar button.heading-smaller:after {
818
- content: "▼";
819
- }
820
-
821
- .editor-toolbar.disabled-for-preview button:not(.no-disable) {
822
- opacity: .6;
823
- pointer-events: none;
824
- }
825
-
826
- @media only screen and (max-width:700px) {
827
- .editor-toolbar i.no-mobile {
828
- display: none;
829
- }
64
+ @apply border-l-gray-300 border-r-white dark:border-l-gray-600 dark:border-r-gray-800;
830
65
  }
831
66
 
67
+ /* Status bar */
832
68
  .editor-statusbar {
833
- padding: 8px 10px;
834
- font-size: 12px;
835
- color: #959694;
836
- text-align: right;
837
- background: #f7f7f7;
838
- }
839
-
840
- .dark .editor-statusbar {
841
- color: #A0AEC0;
842
- background: #172033;
843
- }
844
-
845
- .EasyMDEContainer.sided--no-fullscreen .editor-statusbar {
846
- width: 100%;
847
- }
848
-
849
- .editor-statusbar span {
850
- display: inline-block;
851
- min-width: 4em;
852
- margin-left: 1em;
853
- }
854
-
855
- .editor-statusbar .lines:before {
856
- content: 'lines: ';
857
- }
858
-
859
- .editor-statusbar .words:before {
860
- content: 'words: ';
861
- }
862
-
863
- .editor-statusbar .characters:before {
864
- content: 'characters: ';
865
- }
866
-
867
- .editor-preview-full {
868
- position: absolute;
869
- width: 100%;
870
- height: 100%;
871
- top: 0;
872
- left: 0;
873
- z-index: 7;
874
- overflow: auto;
875
- display: none;
876
- box-sizing: border-box;
877
- padding: 10px;
878
- background: #fafafa;
879
- }
880
-
881
- .dark .editor-preview-full {
882
- background: #172033;
883
- color: #E0E7FF;
884
- }
885
-
886
- .editor-preview-side {
887
- position: fixed;
888
- bottom: 0;
889
- width: 50%;
890
- top: 50px;
891
- right: 0;
892
- z-index: 9;
893
- overflow: auto;
894
- display: none;
895
- box-sizing: border-box;
896
- border: 1px solid #ddd;
897
- word-wrap: break-word;
898
- background: #fff;
899
- }
900
-
901
- .dark .editor-preview-side {
902
- border: 1px solid #25304A;
903
- background: #101828;
904
- }
905
-
906
- .editor-preview-active-side {
907
- display: block;
908
- }
909
-
910
- .EasyMDEContainer.sided--no-fullscreen .editor-preview-active-side {
911
- flex: 1 1 auto;
912
- height: auto;
913
- position: static;
914
- }
915
-
916
- .editor-preview-active {
917
- display: block;
69
+ @apply text-gray-600 dark:text-gray-400;
918
70
  }
919
71
 
72
+ /* Preview theming */
920
73
  .editor-preview {
921
- padding: 10px;
922
- background: #fafafa;
923
- color: #333;
924
- }
925
-
926
- .dark .editor-preview {
927
- background: #172033;
928
- color: #E0E7FF;
929
- }
930
-
931
- .editor-preview>p {
932
- margin-top: 0;
74
+ @apply bg-gray-50 text-gray-900 dark:bg-gray-800 dark:text-gray-100;
933
75
  }
934
76
 
935
77
  .editor-preview pre {
936
- background: #eee;
937
- margin-bottom: 10px;
938
- color: #333;
939
- }
940
-
941
- .dark .editor-preview pre {
942
- background: #101828;
943
- color: #E0E7FF;
78
+ @apply bg-gray-200 dark:bg-gray-700;
944
79
  }
945
80
 
946
81
  .editor-preview table td,
947
82
  .editor-preview table th {
948
- border: 1px solid #ddd;
949
- padding: 5px;
950
- }
951
-
952
- .dark .editor-preview table td,
953
- .dark .editor-preview table th {
954
- border: 1px solid #36415F;
955
- }
956
-
957
- .cm-s-easymde .cm-tag {
958
- color: #63a35c;
959
- }
960
-
961
- .dark .cm-s-easymde .cm-tag {
962
- color: #8eda7f;
963
- }
964
-
965
- .cm-s-easymde .cm-attribute {
966
- color: #795da3;
967
- }
968
-
969
- .dark .cm-s-easymde .cm-attribute {
970
- color: #b59cd7;
971
- }
972
-
973
- .cm-s-easymde .cm-string {
974
- color: #183691;
975
- }
976
-
977
- .dark .cm-s-easymde .cm-string {
978
- color: #6c8eef;
979
- }
980
-
981
- .cm-s-easymde .cm-header-1 {
982
- font-size: calc(1.375rem + 1.5vw);
83
+ @apply border-gray-300 dark:border-gray-600;
983
84
  }
984
85
 
985
- .cm-s-easymde .cm-header-2 {
986
- font-size: calc(1.325rem + .9vw);
987
- }
988
-
989
- .cm-s-easymde .cm-header-3 {
990
- font-size: calc(1.3rem + .6vw);
991
- }
992
-
993
- .cm-s-easymde .cm-header-4 {
994
- font-size: calc(1.275rem + .3vw);
995
- }
996
-
997
- .cm-s-easymde .cm-header-5 {
998
- font-size: 1.25rem;
999
- margin-bottom: .5rem;
1000
- line-height: 1.2;
1001
- }
1002
-
1003
- .cm-s-easymde .cm-header-6 {
1004
- font-size: 1rem;
1005
- margin-bottom: .5rem;
1006
- line-height: 1.2;
86
+ .editor-preview-side {
87
+ @apply border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800;
1007
88
  }
1008
89
 
1009
- .cm-s-easymde .cm-header-1,
1010
- .cm-s-easymde .cm-header-2,
1011
- .cm-s-easymde .cm-header-3,
1012
- .cm-s-easymde .cm-header-4 {
1013
- margin-bottom: .5rem;
1014
- line-height: 1.2;
90
+ /* CodeMirror syntax highlighting - dark mode support */
91
+ .dark .cm-s-easymde .cm-header-1,
92
+ .dark .cm-s-easymde .cm-header-2,
93
+ .dark .cm-s-easymde .cm-header-3,
94
+ .dark .cm-s-easymde .cm-header-4,
95
+ .dark .cm-s-easymde .cm-header-5,
96
+ .dark .cm-s-easymde .cm-header-6 {
97
+ @apply text-blue-300;
1015
98
  }
1016
99
 
1017
- .cm-s-easymde .cm-comment {
1018
- background: rgba(0, 0, 0, .05);
1019
- border-radius: 2px;
100
+ .dark .cm-s-easymde .cm-quote {
101
+ @apply text-green-400;
1020
102
  }
1021
103
 
1022
104
  .dark .cm-s-easymde .cm-comment {
1023
- background: rgba(224, 231, 255, .08);
1024
- color: #A0AEC0;
1025
- }
1026
-
1027
- .cm-s-easymde .cm-link {
1028
- color: #7f8c8d;
1029
- text-decoration: underline;
105
+ @apply bg-gray-700;
1030
106
  }
1031
107
 
1032
108
  .dark .cm-s-easymde .cm-link {
1033
- color: #a0aec0;
1034
- }
1035
-
1036
- .cm-s-easymde .cm-url {
1037
- color: #aab2b3;
109
+ @apply text-blue-400;
1038
110
  }
1039
111
 
1040
112
  .dark .cm-s-easymde .cm-url {
1041
- color: #cbd5e0;
1042
- }
1043
-
1044
- .cm-s-easymde .cm-quote {
1045
- color: #7f8c8d;
1046
- font-style: italic;
113
+ @apply text-blue-300;
1047
114
  }
1048
115
 
1049
- .dark .cm-s-easymde .cm-quote {
1050
- color: #a0aec0;
1051
- }
1052
-
1053
- .editor-toolbar .easymde-dropdown {
1054
- position: relative;
1055
- background: linear-gradient(to bottom right, #fff 0, #fff 84%, #333 50%, #333 100%);
1056
- border-radius: 0;
1057
- border: 1px solid #fff;
116
+ .dark .cm-s-easymde .cm-tag {
117
+ @apply text-green-400;
1058
118
  }
1059
119
 
1060
- .dark .editor-toolbar .easymde-dropdown {
1061
- background: linear-gradient(to bottom right, #25304A 0, #25304A 84%, #A0AEC0 50%, #A0AEC0 100%);
1062
- border: 1px solid #36415F;
120
+ .dark .cm-s-easymde .cm-attribute {
121
+ @apply text-purple-400;
1063
122
  }
1064
123
 
1065
- .editor-toolbar .easymde-dropdown:hover {
1066
- background: linear-gradient(to bottom right, #fff 0, #fff 84%, #333 50%, #333 100%);
124
+ .dark .cm-s-easymde .cm-string {
125
+ @apply text-orange-400;
1067
126
  }
1068
127
 
1069
- .dark .editor-toolbar .easymde-dropdown:hover {
1070
- background: linear-gradient(to bottom right, #36415F 0, #36415F 84%, #b0b9c9 50%, #b0b9c9 100%);
128
+ /* Dropdown theming */
129
+ .editor-toolbar .easymde-dropdown {
130
+ @apply bg-white border-gray-300 dark:bg-gray-800 dark:border-gray-600;
1071
131
  }
1072
132
 
1073
133
  .easymde-dropdown-content {
1074
- display: block;
1075
- visibility: hidden;
1076
- position: absolute;
1077
- background-color: #f9f9f9;
1078
- box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .2);
1079
- padding: 8px;
1080
- z-index: 2;
1081
- top: 30px;
1082
- }
1083
-
1084
- .dark .easymde-dropdown-content {
1085
- background-color: #172033;
1086
- box-shadow: 0 8px 16px 0 rgba(0, 0, 0, .5);
1087
- }
1088
-
1089
- .easymde-dropdown:active .easymde-dropdown-content,
1090
- .easymde-dropdown:focus .easymde-dropdown-content,
1091
- .easymde-dropdown:focus-within .easymde-dropdown-content {
1092
- visibility: visible;
134
+ @apply bg-white shadow-lg border border-gray-200 dark:bg-gray-800 dark:border-gray-600 dark:shadow-gray-900/20;
1093
135
  }
1094
136
 
1095
137
  .easymde-dropdown-content button {
1096
- display: block;
1097
- }
1098
-
1099
- span[data-img-src]::after {
1100
- content: '';
1101
- background-image: var(--bg-image);
1102
- display: block;
1103
- max-height: 100%;
1104
- max-width: 100%;
1105
- background-size: contain;
1106
- height: 0;
1107
- padding-top: var(--height);
1108
- width: var(--width);
1109
- background-repeat: no-repeat;
1110
- }
1111
-
1112
- .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) {
1113
- background: rgba(255, 0, 0, .15);
138
+ @apply text-gray-700 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-700;
1114
139
  }
1115
140
 
141
+ /* Spell check error in dark mode */
1116
142
  .dark .CodeMirror .cm-spell-error:not(.cm-url):not(.cm-comment):not(.cm-tag):not(.cm-word) {
1117
- background: rgba(239, 68, 68, .25);
143
+ @apply bg-red-500/20;
1118
144
  }
1119
145
 
1120
- .cm-fat-cursor div.CodeMirror-cursors {
1121
- z-index: 1;
146
+ /* Placeholder text */
147
+ .dark .EasyMDEContainer .CodeMirror-placeholder {
148
+ @apply text-gray-500;
1122
149
  }
1123
150
 
1124
- .cm-fat-cursor {
1125
- caret-color: transparent;
1126
- }
1127
-
1128
- .cm-tab {
1129
- display: inline-block;
1130
- text-decoration: inherit;
1131
- }
1132
-
1133
- .CodeMirror-ruler {
1134
- border-left: 1px solid #ced4da;
1135
- top: 0;
1136
- bottom: 0;
1137
- position: absolute;
1138
- }
1139
-
1140
- .dark .CodeMirror-ruler {
1141
- border-left: 1px solid #25304A;
1142
- }
1143
-
1144
- .cm-s-easymde .cm-type {
1145
- color: #1a202c;
1146
- }
1147
-
1148
- .dark .cm-s-easymde .cm-type {
1149
- color: #fff;
1150
- }
1151
-
1152
- .cm-s-easymde .cm-qualifier {
1153
- color: #4A5568;
1154
- }
1155
-
1156
- .dark .cm-s-easymde .cm-qualifier {
1157
- color: #A0AEC0;
1158
- }
1159
-
1160
- .cm-s-easymde .cm-builtin {
1161
- color: #2b6cb0;
1162
- }
1163
-
1164
- .dark .cm-s-easymde .cm-builtin {
1165
- color: #63b3ed;
1166
- }
1167
-
1168
- .cm-s-easymde .cm-bracket {
1169
- color: #b7791f;
1170
- }
1171
-
1172
- .dark .cm-s-easymde .cm-bracket {
1173
- color: #f6e05e;
1174
- }
1175
-
1176
- .cm-s-easymde .cm-hr {
1177
- color: #718096;
1178
- }
1179
-
1180
- .dark .cm-s-easymde .cm-hr {
1181
- color: #A0AEC0;
1182
- }
1183
-
1184
- .cm-s-easymde .cm-meta {
1185
- color: #4A5568;
151
+ /* Active line background */
152
+ .dark .CodeMirror-activeline-background {
153
+ @apply bg-gray-700/50;
1186
154
  }
1187
155
 
1188
- .dark .cm-s-easymde .cm-meta {
1189
- color: #A0AEC0;
156
+ /* Matching brackets */
157
+ .dark div.CodeMirror span.CodeMirror-matchingbracket {
158
+ @apply text-green-400;
1190
159
  }
1191
160
 
1192
- .cm-s-easymde .cm-string.cm-url {
1193
- color: #c53030;
161
+ .dark div.CodeMirror span.CodeMirror-nonmatchingbracket {
162
+ @apply text-red-400;
1194
163
  }
1195
164
 
1196
- .dark .cm-s-easymde .cm-string.cm-url {
1197
- color: #fc8181;
165
+ /* Search highlighting */
166
+ .dark .cm-searching {
167
+ @apply bg-yellow-500/30;
1198
168
  }