@frontlit/text-editor 0.1.0-alpha.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.
@@ -0,0 +1,1058 @@
1
+ /*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
2
+ @layer properties;
3
+ @layer theme, base, components, utilities;
4
+ @layer theme {
5
+ :root, :host {
6
+ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
7
+ "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
8
+ --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
9
+ "Courier New", monospace;
10
+ --spacing: 0.25rem;
11
+ --container-sm: 24rem;
12
+ --container-3xl: 48rem;
13
+ --text-xs: 0.75rem;
14
+ --text-xs--line-height: calc(1 / 0.75);
15
+ --text-sm: 0.875rem;
16
+ --text-sm--line-height: calc(1.25 / 0.875);
17
+ --text-base: 1rem;
18
+ --text-base--line-height: calc(1.5 / 1);
19
+ --text-2xl: 1.5rem;
20
+ --text-2xl--line-height: calc(2 / 1.5);
21
+ --text-3xl: 1.875rem;
22
+ --text-3xl--line-height: calc(2.25 / 1.875);
23
+ --text-4xl: 2.25rem;
24
+ --text-4xl--line-height: calc(2.5 / 2.25);
25
+ --font-weight-medium: 500;
26
+ --font-weight-semibold: 600;
27
+ --font-weight-bold: 700;
28
+ --tracking-tight: -0.025em;
29
+ --tracking-normal: 0em;
30
+ --default-transition-duration: 150ms;
31
+ --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
32
+ --default-font-family: var(--font-sans);
33
+ --default-mono-font-family: var(--font-mono);
34
+ }
35
+ }
36
+ @layer base {
37
+ *, ::after, ::before, ::backdrop, ::file-selector-button {
38
+ box-sizing: border-box;
39
+ margin: 0;
40
+ padding: 0;
41
+ border: 0 solid;
42
+ }
43
+ html, :host {
44
+ line-height: 1.5;
45
+ -webkit-text-size-adjust: 100%;
46
+ tab-size: 4;
47
+ font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
48
+ font-feature-settings: var(--default-font-feature-settings, normal);
49
+ font-variation-settings: var(--default-font-variation-settings, normal);
50
+ -webkit-tap-highlight-color: transparent;
51
+ }
52
+ hr {
53
+ height: 0;
54
+ color: inherit;
55
+ border-top-width: 1px;
56
+ }
57
+ abbr:where([title]) {
58
+ -webkit-text-decoration: underline dotted;
59
+ text-decoration: underline dotted;
60
+ }
61
+ h1, h2, h3, h4, h5, h6 {
62
+ font-size: inherit;
63
+ font-weight: inherit;
64
+ }
65
+ a {
66
+ color: inherit;
67
+ -webkit-text-decoration: inherit;
68
+ text-decoration: inherit;
69
+ }
70
+ b, strong {
71
+ font-weight: bolder;
72
+ }
73
+ code, kbd, samp, pre {
74
+ font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
75
+ font-feature-settings: var(--default-mono-font-feature-settings, normal);
76
+ font-variation-settings: var(--default-mono-font-variation-settings, normal);
77
+ font-size: 1em;
78
+ }
79
+ small {
80
+ font-size: 80%;
81
+ }
82
+ sub, sup {
83
+ font-size: 75%;
84
+ line-height: 0;
85
+ position: relative;
86
+ vertical-align: baseline;
87
+ }
88
+ sub {
89
+ bottom: -0.25em;
90
+ }
91
+ sup {
92
+ top: -0.5em;
93
+ }
94
+ table {
95
+ text-indent: 0;
96
+ border-color: inherit;
97
+ border-collapse: collapse;
98
+ }
99
+ :-moz-focusring {
100
+ outline: auto;
101
+ }
102
+ progress {
103
+ vertical-align: baseline;
104
+ }
105
+ summary {
106
+ display: list-item;
107
+ }
108
+ ol, ul, menu {
109
+ list-style: none;
110
+ }
111
+ img, svg, video, canvas, audio, iframe, embed, object {
112
+ display: block;
113
+ vertical-align: middle;
114
+ }
115
+ img, video {
116
+ max-width: 100%;
117
+ height: auto;
118
+ }
119
+ button, input, select, optgroup, textarea, ::file-selector-button {
120
+ font: inherit;
121
+ font-feature-settings: inherit;
122
+ font-variation-settings: inherit;
123
+ letter-spacing: inherit;
124
+ color: inherit;
125
+ border-radius: 0;
126
+ background-color: transparent;
127
+ opacity: 1;
128
+ }
129
+ :where(select:is([multiple], [size])) optgroup {
130
+ font-weight: bolder;
131
+ }
132
+ :where(select:is([multiple], [size])) optgroup option {
133
+ padding-inline-start: 20px;
134
+ }
135
+ ::file-selector-button {
136
+ margin-inline-end: 4px;
137
+ }
138
+ ::placeholder {
139
+ opacity: 1;
140
+ }
141
+ @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
142
+ ::placeholder {
143
+ color: currentcolor;
144
+ @supports (color: color-mix(in lab, red, red)) {
145
+ color: color-mix(in oklab, currentcolor 50%, transparent);
146
+ }
147
+ }
148
+ }
149
+ textarea {
150
+ resize: vertical;
151
+ }
152
+ ::-webkit-search-decoration {
153
+ -webkit-appearance: none;
154
+ }
155
+ ::-webkit-date-and-time-value {
156
+ min-height: 1lh;
157
+ text-align: inherit;
158
+ }
159
+ ::-webkit-datetime-edit {
160
+ display: inline-flex;
161
+ }
162
+ ::-webkit-datetime-edit-fields-wrapper {
163
+ padding: 0;
164
+ }
165
+ ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
166
+ padding-block: 0;
167
+ }
168
+ ::-webkit-calendar-picker-indicator {
169
+ line-height: 1;
170
+ }
171
+ :-moz-ui-invalid {
172
+ box-shadow: none;
173
+ }
174
+ button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
175
+ appearance: button;
176
+ }
177
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
178
+ height: auto;
179
+ }
180
+ [hidden]:where(:not([hidden="until-found"])) {
181
+ display: none !important;
182
+ }
183
+ }
184
+ @layer utilities {
185
+ .absolute {
186
+ position: absolute;
187
+ }
188
+ .fixed {
189
+ position: fixed;
190
+ }
191
+ .relative {
192
+ position: relative;
193
+ }
194
+ .static {
195
+ position: static;
196
+ }
197
+ .sticky {
198
+ position: sticky;
199
+ }
200
+ .top-0 {
201
+ top: 0;
202
+ }
203
+ .top-full {
204
+ top: 100%;
205
+ }
206
+ .right-0 {
207
+ right: 0;
208
+ }
209
+ .left-0 {
210
+ left: 0;
211
+ }
212
+ .left-2 {
213
+ left: calc(var(--spacing) * 2);
214
+ }
215
+ .z-20 {
216
+ z-index: 20;
217
+ }
218
+ .z-30 {
219
+ z-index: 30;
220
+ }
221
+ .mx-1 {
222
+ margin-inline: var(--spacing);
223
+ }
224
+ .mx-2 {
225
+ margin-inline: calc(var(--spacing) * 2);
226
+ }
227
+ .my-1 {
228
+ margin-block: var(--spacing);
229
+ }
230
+ .mt-1 {
231
+ margin-top: var(--spacing);
232
+ }
233
+ .mt-2 {
234
+ margin-top: calc(var(--spacing) * 2);
235
+ }
236
+ .ml-auto {
237
+ margin-left: auto;
238
+ }
239
+ .block {
240
+ display: block;
241
+ }
242
+ .flex {
243
+ display: flex;
244
+ }
245
+ .hidden {
246
+ display: none;
247
+ }
248
+ .inline {
249
+ display: inline;
250
+ }
251
+ .inline-flex {
252
+ display: inline-flex;
253
+ }
254
+ .table {
255
+ display: table;
256
+ }
257
+ .size-4 {
258
+ width: calc(var(--spacing) * 4);
259
+ height: calc(var(--spacing) * 4);
260
+ }
261
+ .h-4 {
262
+ height: calc(var(--spacing) * 4);
263
+ }
264
+ .h-6 {
265
+ height: calc(var(--spacing) * 6);
266
+ }
267
+ .h-8 {
268
+ height: calc(var(--spacing) * 8);
269
+ }
270
+ .h-auto {
271
+ height: auto;
272
+ }
273
+ .h-px {
274
+ height: 1px;
275
+ }
276
+ .min-h-11 {
277
+ min-height: calc(var(--spacing) * 11);
278
+ }
279
+ .min-h-\[200px\] {
280
+ min-height: 200px;
281
+ }
282
+ .w-4 {
283
+ width: calc(var(--spacing) * 4);
284
+ }
285
+ .w-8 {
286
+ width: calc(var(--spacing) * 8);
287
+ }
288
+ .w-40 {
289
+ width: calc(var(--spacing) * 40);
290
+ }
291
+ .w-48 {
292
+ width: calc(var(--spacing) * 48);
293
+ }
294
+ .w-52 {
295
+ width: calc(var(--spacing) * 52);
296
+ }
297
+ .w-full {
298
+ width: 100%;
299
+ }
300
+ .w-px {
301
+ width: 1px;
302
+ }
303
+ .max-w-3xl {
304
+ max-width: var(--container-3xl);
305
+ }
306
+ .max-w-full {
307
+ max-width: 100%;
308
+ }
309
+ .max-w-sm {
310
+ max-width: var(--container-sm);
311
+ }
312
+ .min-w-28 {
313
+ min-width: calc(var(--spacing) * 28);
314
+ }
315
+ .shrink-0 {
316
+ flex-shrink: 0;
317
+ }
318
+ .cursor-pointer {
319
+ cursor: pointer;
320
+ }
321
+ .resize {
322
+ resize: both;
323
+ }
324
+ .scroll-m-20 {
325
+ scroll-margin: calc(var(--spacing) * 20);
326
+ }
327
+ .flex-col {
328
+ flex-direction: column;
329
+ }
330
+ .flex-wrap {
331
+ flex-wrap: wrap;
332
+ }
333
+ .items-center {
334
+ align-items: center;
335
+ }
336
+ .justify-between {
337
+ justify-content: space-between;
338
+ }
339
+ .justify-center {
340
+ justify-content: center;
341
+ }
342
+ .justify-end {
343
+ justify-content: flex-end;
344
+ }
345
+ .gap-1 {
346
+ gap: var(--spacing);
347
+ }
348
+ .gap-1\.5 {
349
+ gap: calc(var(--spacing) * 1.5);
350
+ }
351
+ .gap-2 {
352
+ gap: calc(var(--spacing) * 2);
353
+ }
354
+ .gap-3 {
355
+ gap: calc(var(--spacing) * 3);
356
+ }
357
+ .gap-4 {
358
+ gap: calc(var(--spacing) * 4);
359
+ }
360
+ .overflow-visible {
361
+ overflow: visible;
362
+ }
363
+ .rounded {
364
+ border-radius: 0.25rem;
365
+ }
366
+ .rounded-md {
367
+ border-radius: calc(var(--radius) - 2px);
368
+ }
369
+ .border {
370
+ border-style: var(--tw-border-style);
371
+ border-width: 1px;
372
+ }
373
+ .border-b {
374
+ border-bottom-style: var(--tw-border-style);
375
+ border-bottom-width: 1px;
376
+ }
377
+ .border-border {
378
+ border-color: var(--border);
379
+ }
380
+ .border-input {
381
+ border-color: var(--input);
382
+ }
383
+ .border-primary {
384
+ border-color: var(--primary);
385
+ }
386
+ .border-transparent {
387
+ border-color: transparent;
388
+ }
389
+ .bg-accent {
390
+ background-color: var(--accent);
391
+ }
392
+ .bg-background {
393
+ background-color: var(--background);
394
+ }
395
+ .bg-border {
396
+ background-color: var(--border);
397
+ }
398
+ .bg-card {
399
+ background-color: var(--card);
400
+ }
401
+ .bg-popover {
402
+ background-color: var(--popover);
403
+ }
404
+ .bg-primary {
405
+ background-color: var(--primary);
406
+ }
407
+ .bg-transparent {
408
+ background-color: transparent;
409
+ }
410
+ .p-1 {
411
+ padding: var(--spacing);
412
+ }
413
+ .p-2 {
414
+ padding: calc(var(--spacing) * 2);
415
+ }
416
+ .p-3 {
417
+ padding: calc(var(--spacing) * 3);
418
+ }
419
+ .px-2 {
420
+ padding-inline: calc(var(--spacing) * 2);
421
+ }
422
+ .px-2\.5 {
423
+ padding-inline: calc(var(--spacing) * 2.5);
424
+ }
425
+ .px-3 {
426
+ padding-inline: calc(var(--spacing) * 3);
427
+ }
428
+ .px-4 {
429
+ padding-inline: calc(var(--spacing) * 4);
430
+ }
431
+ .py-1 {
432
+ padding-block: var(--spacing);
433
+ }
434
+ .py-2 {
435
+ padding-block: calc(var(--spacing) * 2);
436
+ }
437
+ .pl-8 {
438
+ padding-left: calc(var(--spacing) * 8);
439
+ }
440
+ .text-left {
441
+ text-align: left;
442
+ }
443
+ .text-2xl {
444
+ font-size: var(--text-2xl);
445
+ line-height: var(--tw-leading, var(--text-2xl--line-height));
446
+ }
447
+ .text-3xl {
448
+ font-size: var(--text-3xl);
449
+ line-height: var(--tw-leading, var(--text-3xl--line-height));
450
+ }
451
+ .text-4xl {
452
+ font-size: var(--text-4xl);
453
+ line-height: var(--tw-leading, var(--text-4xl--line-height));
454
+ }
455
+ .text-base {
456
+ font-size: var(--text-base);
457
+ line-height: var(--tw-leading, var(--text-base--line-height));
458
+ }
459
+ .text-sm {
460
+ font-size: var(--text-sm);
461
+ line-height: var(--tw-leading, var(--text-sm--line-height));
462
+ }
463
+ .text-xs {
464
+ font-size: var(--text-xs);
465
+ line-height: var(--tw-leading, var(--text-xs--line-height));
466
+ }
467
+ .font-bold {
468
+ --tw-font-weight: var(--font-weight-bold);
469
+ font-weight: var(--font-weight-bold);
470
+ }
471
+ .font-medium {
472
+ --tw-font-weight: var(--font-weight-medium);
473
+ font-weight: var(--font-weight-medium);
474
+ }
475
+ .font-semibold {
476
+ --tw-font-weight: var(--font-weight-semibold);
477
+ font-weight: var(--font-weight-semibold);
478
+ }
479
+ .tracking-normal {
480
+ --tw-tracking: var(--tracking-normal);
481
+ letter-spacing: var(--tracking-normal);
482
+ }
483
+ .tracking-tight {
484
+ --tw-tracking: var(--tracking-tight);
485
+ letter-spacing: var(--tracking-tight);
486
+ }
487
+ .text-accent-foreground {
488
+ color: var(--accent-foreground);
489
+ }
490
+ .text-destructive {
491
+ color: var(--destructive);
492
+ }
493
+ .text-foreground {
494
+ color: var(--foreground);
495
+ }
496
+ .text-muted-foreground {
497
+ color: var(--muted-foreground);
498
+ }
499
+ .text-popover-foreground {
500
+ color: var(--popover-foreground);
501
+ }
502
+ .text-primary {
503
+ color: var(--primary);
504
+ }
505
+ .text-primary-foreground {
506
+ color: var(--primary-foreground);
507
+ }
508
+ .italic {
509
+ font-style: italic;
510
+ }
511
+ .tabular-nums {
512
+ --tw-numeric-spacing: tabular-nums;
513
+ font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
514
+ }
515
+ .underline {
516
+ text-decoration-line: underline;
517
+ }
518
+ .shadow {
519
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
520
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
521
+ }
522
+ .shadow-lg {
523
+ --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
524
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
525
+ }
526
+ .shadow-xl {
527
+ --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
528
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
529
+ }
530
+ .transition-colors {
531
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
532
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
533
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
534
+ }
535
+ .hover\:bg-\[var\(--primary-soft\)\] {
536
+ &:hover {
537
+ @media (hover: hover) {
538
+ background-color: var(--primary-soft);
539
+ }
540
+ }
541
+ }
542
+ .hover\:bg-destructive\/10 {
543
+ &:hover {
544
+ @media (hover: hover) {
545
+ background-color: var(--destructive);
546
+ @supports (color: color-mix(in lab, red, red)) {
547
+ background-color: color-mix(in oklab, var(--destructive) 10%, transparent);
548
+ }
549
+ }
550
+ }
551
+ }
552
+ .hover\:bg-muted {
553
+ &:hover {
554
+ @media (hover: hover) {
555
+ background-color: var(--muted);
556
+ }
557
+ }
558
+ }
559
+ .hover\:bg-primary\/90 {
560
+ &:hover {
561
+ @media (hover: hover) {
562
+ background-color: var(--primary);
563
+ @supports (color: color-mix(in lab, red, red)) {
564
+ background-color: color-mix(in oklab, var(--primary) 90%, transparent);
565
+ }
566
+ }
567
+ }
568
+ }
569
+ .focus-visible\:outline {
570
+ &:focus-visible {
571
+ outline-style: var(--tw-outline-style);
572
+ outline-width: 1px;
573
+ }
574
+ }
575
+ .focus-visible\:outline-2 {
576
+ &:focus-visible {
577
+ outline-style: var(--tw-outline-style);
578
+ outline-width: 2px;
579
+ }
580
+ }
581
+ .focus-visible\:outline-offset-2 {
582
+ &:focus-visible {
583
+ outline-offset: 2px;
584
+ }
585
+ }
586
+ .focus-visible\:outline-primary {
587
+ &:focus-visible {
588
+ outline-color: var(--primary);
589
+ }
590
+ }
591
+ .disabled\:cursor-not-allowed {
592
+ &:disabled {
593
+ cursor: not-allowed;
594
+ }
595
+ }
596
+ .disabled\:opacity-50 {
597
+ &:disabled {
598
+ opacity: 50%;
599
+ }
600
+ }
601
+ .xl\:inline {
602
+ @media (width >= 80rem) {
603
+ display: inline;
604
+ }
605
+ }
606
+ }
607
+ .tiptap-editor, .bubble-menu {
608
+ --background: hsl(0 0% 100%);
609
+ --foreground: hsl(222.2 84% 4.9%);
610
+ --card: hsl(0 0% 100%);
611
+ --card-foreground: hsl(222.2 84% 4.9%);
612
+ --popover: hsl(0 0% 100%);
613
+ --popover-foreground: hsl(222.2 84% 4.9%);
614
+ --primary: hsl(222.2 47.4% 11.2%);
615
+ --primary-foreground: hsl(210 40% 98%);
616
+ --primary-soft: hsl(222.2 47.4% 11.2% / 0.08);
617
+ --secondary: hsl(210 40% 96.1%);
618
+ --secondary-foreground: hsl(222.2 47.4% 11.2%);
619
+ --muted: hsl(210 40% 96.1%);
620
+ --muted-foreground: hsl(215.4 16.3% 46.9%);
621
+ --accent: hsl(210 40% 96.1%);
622
+ --accent-foreground: hsl(222.2 47.4% 11.2%);
623
+ --destructive: hsl(0 84.2% 60.2%);
624
+ --destructive-foreground: hsl(210 40% 98%);
625
+ --border: hsl(214.3 31.8% 91.4%);
626
+ --input: hsl(214.3 31.8% 91.4%);
627
+ --ring: hsl(222.2 84% 4.9%);
628
+ --radius: 0.5rem;
629
+ }
630
+ .tiptap-editor {
631
+ display: flex;
632
+ flex-direction: column;
633
+ gap: 0.75rem;
634
+ border-color: var(--border);
635
+ }
636
+ .tiptap-editor .ProseMirror:not([class*="min-h-"]) {
637
+ min-height: 12.5rem;
638
+ }
639
+ .tiptap-editor .ProseMirror {
640
+ padding: 1rem;
641
+ border-radius: 0.5rem;
642
+ outline: none;
643
+ word-break: break-word;
644
+ }
645
+ .tiptap-editor .ProseMirror.writing-editor-content {
646
+ min-height: 26rem;
647
+ padding: 0 2.5rem 8rem;
648
+ font-size: 1.0625rem;
649
+ line-height: 1.75;
650
+ }
651
+ .tiptap-editor .ProseMirror.writing-editor-content p {
652
+ margin: 0 0 1.35rem;
653
+ }
654
+ @media (max-width: 640px) {
655
+ .tiptap-editor .ProseMirror.writing-editor-content {
656
+ padding-right: 1.5rem;
657
+ padding-left: 1.5rem;
658
+ }
659
+ }
660
+ .tiptap-editor .ProseMirror p.is-editor-empty:first-child::before {
661
+ color: var(--muted-foreground);
662
+ content: attr(data-placeholder);
663
+ float: left;
664
+ height: 0;
665
+ pointer-events: none;
666
+ }
667
+ .tiptap-editor .ProseMirror a {
668
+ color: var(--primary);
669
+ text-decoration: underline;
670
+ text-decoration-thickness: 0.1em;
671
+ text-decoration-color: var(--primary);
672
+ }
673
+ .tiptap-editor .ProseMirror ul, .tiptap-editor .ProseMirror ol {
674
+ padding-left: 1.5rem;
675
+ margin: 0.75rem 0;
676
+ }
677
+ .tiptap-editor .ProseMirror ul li {
678
+ list-style: disc;
679
+ }
680
+ .tiptap-editor .ProseMirror ol li {
681
+ list-style: decimal;
682
+ }
683
+ .tiptap-editor .ProseMirror blockquote {
684
+ border-left: 3px solid var(--border);
685
+ margin: 0.75rem 0;
686
+ padding-left: 1rem;
687
+ color: var(--muted-foreground);
688
+ font-style: italic;
689
+ }
690
+ .tiptap-editor .ProseMirror h1, .tiptap-editor .ProseMirror h2, .tiptap-editor .ProseMirror h3, .tiptap-editor .ProseMirror h4, .tiptap-editor .ProseMirror h5, .tiptap-editor .ProseMirror h6 {
691
+ font-weight: 600;
692
+ line-height: 1.25;
693
+ margin: 1.5rem 0 0.75rem;
694
+ }
695
+ .tiptap-editor .ProseMirror h1 {
696
+ font-size: clamp(2rem, 3vw, 2.5rem);
697
+ }
698
+ .tiptap-editor .ProseMirror h2 {
699
+ font-size: clamp(1.75rem, 2.5vw, 2rem);
700
+ }
701
+ .tiptap-editor .ProseMirror h3 {
702
+ font-size: clamp(1.5rem, 2vw, 1.75rem);
703
+ }
704
+ .tiptap-editor .ProseMirror pre {
705
+ background-color: var(--muted, hsl(210 40% 96.1%));
706
+ border: 1px solid var(--border, hsl(214.3 31.8% 91.4%));
707
+ border-radius: 0.5rem;
708
+ color: var(--foreground, hsl(222.2 84% 4.9%));
709
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
710
+ font-size: 0.875rem;
711
+ margin: 0.75rem 0;
712
+ padding: 1rem;
713
+ overflow-x: auto;
714
+ }
715
+ .tiptap-editor .ProseMirror pre code {
716
+ background: none;
717
+ color: inherit;
718
+ padding: 0;
719
+ }
720
+ .tiptap-editor .ProseMirror code {
721
+ background-color: var(--muted, hsl(210 40% 96.1%));
722
+ border-radius: 0.375rem;
723
+ padding: 0.125rem 0.375rem;
724
+ font-size: 0.875em;
725
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
726
+ }
727
+ .tiptap-editor .ProseMirror hr {
728
+ border: none;
729
+ border-top: 1px solid var(--border);
730
+ margin: 1.5rem 0;
731
+ }
732
+ .tiptap-editor .ProseMirror table {
733
+ border-collapse: collapse;
734
+ border: 1px solid var(--border);
735
+ margin: 1rem 0;
736
+ width: 100%;
737
+ table-layout: fixed;
738
+ }
739
+ .tiptap-editor .ProseMirror table th, .tiptap-editor .ProseMirror table td {
740
+ border: 1px solid var(--border);
741
+ padding: 0.5rem;
742
+ vertical-align: top;
743
+ }
744
+ .tiptap-editor .ProseMirror table th {
745
+ background-color: var(--muted);
746
+ font-weight: 600;
747
+ text-align: left;
748
+ }
749
+ .tiptap-editor .ProseMirror img {
750
+ display: block;
751
+ max-width: 100%;
752
+ height: auto;
753
+ border-radius: 0.5rem;
754
+ margin: 1rem auto;
755
+ }
756
+ .tiptap-editor .ProseMirror iframe {
757
+ width: 100%;
758
+ aspect-ratio: 16 / 9;
759
+ border: 0;
760
+ border-radius: 0.75rem;
761
+ background-color: #000;
762
+ margin: 1.5rem 0;
763
+ }
764
+ .bubble-menu {
765
+ position: absolute;
766
+ display: flex;
767
+ align-items: center;
768
+ gap: 0.375rem;
769
+ padding: 0.5rem;
770
+ border-radius: 0.5rem;
771
+ border: 1px solid var(--border, hsl(214.3 31.8% 91.4%));
772
+ background-color: var(--popover, hsl(0 0% 100%));
773
+ color: var(--popover-foreground, hsl(222.2 84% 4.9%));
774
+ box-shadow: var(--shadow-popover, 0 10px 15px -3px rgba(15, 23, 42, 0.12));
775
+ z-index: 50;
776
+ }
777
+ .te-popover {
778
+ background-color: var(--popover, hsl(0 0% 100%));
779
+ color: var(--popover-foreground, hsl(222.2 84% 4.9%));
780
+ border: 1px solid var(--border, hsl(214.3 31.8% 91.4%));
781
+ }
782
+ .tiptap-editor .ProseMirror pre .hljs-comment, .tiptap-editor .ProseMirror pre .hljs-quote, .tiptap-renderer pre .hljs-comment, .tiptap-renderer pre .hljs-quote {
783
+ color: #64748b;
784
+ }
785
+ .tiptap-editor .ProseMirror pre .hljs-keyword, .tiptap-editor .ProseMirror pre .hljs-selector-tag, .tiptap-renderer pre .hljs-keyword, .tiptap-renderer pre .hljs-selector-tag {
786
+ color: #6d28d9;
787
+ }
788
+ .tiptap-editor .ProseMirror pre .hljs-string, .tiptap-editor .ProseMirror pre .hljs-attr, .tiptap-renderer pre .hljs-string, .tiptap-renderer pre .hljs-attr {
789
+ color: #047857;
790
+ }
791
+ .tiptap-editor .ProseMirror pre .hljs-number, .tiptap-editor .ProseMirror pre .hljs-literal, .tiptap-renderer pre .hljs-number, .tiptap-renderer pre .hljs-literal {
792
+ color: #c2410c;
793
+ }
794
+ .tiptap-editor .ProseMirror pre .hljs-title, .tiptap-editor .ProseMirror pre .hljs-function, .tiptap-renderer pre .hljs-title, .tiptap-renderer pre .hljs-function {
795
+ color: #1d4ed8;
796
+ }
797
+ .tiptap-editor .ProseMirror pre .hljs-built_in, .tiptap-editor .ProseMirror pre .hljs-type, .tiptap-renderer pre .hljs-built_in, .tiptap-renderer pre .hljs-type {
798
+ color: #a16207;
799
+ }
800
+ .tiptap-editor .ProseMirror pre .hljs-variable, .tiptap-editor .ProseMirror pre .hljs-template-variable, .tiptap-renderer pre .hljs-variable, .tiptap-renderer pre .hljs-template-variable {
801
+ color: #be185d;
802
+ }
803
+ .tiptap-renderer {
804
+ line-height: 1.7;
805
+ color: inherit;
806
+ }
807
+ .tiptap-renderer p {
808
+ margin: 0.75rem 0;
809
+ }
810
+ .tiptap-renderer h1, .tiptap-renderer h2, .tiptap-renderer h3, .tiptap-renderer h4, .tiptap-renderer h5, .tiptap-renderer h6 {
811
+ line-height: 1.25;
812
+ margin: 1.5rem 0 0.75rem;
813
+ }
814
+ .tiptap-renderer h1:not([class*="text-"]) {
815
+ font-size: clamp(1.75rem, 3vw, 2.25rem);
816
+ font-weight: 700;
817
+ }
818
+ .tiptap-renderer h2:not([class*="text-"]) {
819
+ font-size: clamp(1.35rem, 2.4vw, 1.75rem);
820
+ font-weight: 650;
821
+ }
822
+ .tiptap-renderer h3:not([class*="text-"]) {
823
+ font-size: 1.25rem;
824
+ font-weight: 600;
825
+ }
826
+ .tiptap-renderer ul, .tiptap-renderer ol {
827
+ padding-left: 1.5rem;
828
+ margin: 0.75rem 0;
829
+ }
830
+ .tiptap-renderer ul li {
831
+ list-style: disc;
832
+ }
833
+ .tiptap-renderer ol li {
834
+ list-style: decimal;
835
+ }
836
+ .tiptap-renderer blockquote {
837
+ border-left: 3px solid var(--border, hsl(214.3 31.8% 91.4%));
838
+ margin: 0.75rem 0;
839
+ padding-left: 1rem;
840
+ color: var(--muted-foreground, hsl(215.4 16.3% 46.9%));
841
+ font-style: italic;
842
+ }
843
+ .tiptap-renderer .te-code-block {
844
+ position: relative;
845
+ margin: 0.75rem 0;
846
+ }
847
+ .tiptap-renderer pre {
848
+ background-color: var(--muted, hsl(210 40% 96.1%));
849
+ border: 1px solid var(--border, hsl(214.3 31.8% 91.4%));
850
+ border-radius: 0.5rem;
851
+ color: var(--foreground, hsl(222.2 84% 4.9%));
852
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
853
+ font-size: 0.875rem;
854
+ margin: 0.75rem 0;
855
+ padding: 1rem;
856
+ overflow-x: auto;
857
+ }
858
+ .tiptap-renderer .te-code-block pre {
859
+ margin: 0;
860
+ padding-right: 2.75rem;
861
+ }
862
+ .tiptap-renderer .te-code-copy {
863
+ appearance: none;
864
+ position: absolute;
865
+ top: 0.45rem;
866
+ right: 0.45rem;
867
+ display: inline-flex;
868
+ align-items: center;
869
+ justify-content: center;
870
+ width: 1.75rem;
871
+ height: 1.75rem;
872
+ padding: 0;
873
+ border: 1px solid var(--border, hsl(214.3 31.8% 91.4%));
874
+ border-radius: 0.375rem;
875
+ background: var(--background, hsl(0 0% 100%));
876
+ color: var(--muted-foreground, hsl(215.4 16.3% 46.9%));
877
+ cursor: pointer;
878
+ }
879
+ .tiptap-renderer .te-code-copy:hover {
880
+ color: var(--foreground, hsl(222.2 84% 4.9%));
881
+ background: var(--card, hsl(0 0% 100%));
882
+ }
883
+ .tiptap-renderer .te-code-copy__icon {
884
+ width: 0.875rem;
885
+ height: 0.875rem;
886
+ }
887
+ .tiptap-renderer pre code {
888
+ background: none;
889
+ color: inherit;
890
+ padding: 0;
891
+ }
892
+ .tiptap-renderer code {
893
+ background-color: var(--muted, hsl(210 40% 96.1%));
894
+ border-radius: 0.375rem;
895
+ padding: 0.125rem 0.375rem;
896
+ font-size: 0.875em;
897
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
898
+ }
899
+ .tiptap-renderer hr {
900
+ border: none;
901
+ border-top: 1px solid var(--border);
902
+ margin: 1.5rem 0;
903
+ }
904
+ .tiptap-renderer table {
905
+ border-collapse: collapse;
906
+ border: 1px solid var(--border);
907
+ margin: 1rem 0;
908
+ width: 100%;
909
+ table-layout: fixed;
910
+ }
911
+ .tiptap-renderer table th, .tiptap-renderer table td {
912
+ border: 1px solid var(--border);
913
+ padding: 0.5rem;
914
+ }
915
+ .tiptap-renderer table th {
916
+ background-color: var(--muted);
917
+ font-weight: 600;
918
+ text-align: left;
919
+ }
920
+ .tiptap-renderer img {
921
+ display: block;
922
+ max-width: 100%;
923
+ height: auto;
924
+ border-radius: 0.5rem;
925
+ margin: 1rem auto;
926
+ }
927
+ @property --tw-border-style {
928
+ syntax: "*";
929
+ inherits: false;
930
+ initial-value: solid;
931
+ }
932
+ @property --tw-font-weight {
933
+ syntax: "*";
934
+ inherits: false;
935
+ }
936
+ @property --tw-tracking {
937
+ syntax: "*";
938
+ inherits: false;
939
+ }
940
+ @property --tw-ordinal {
941
+ syntax: "*";
942
+ inherits: false;
943
+ }
944
+ @property --tw-slashed-zero {
945
+ syntax: "*";
946
+ inherits: false;
947
+ }
948
+ @property --tw-numeric-figure {
949
+ syntax: "*";
950
+ inherits: false;
951
+ }
952
+ @property --tw-numeric-spacing {
953
+ syntax: "*";
954
+ inherits: false;
955
+ }
956
+ @property --tw-numeric-fraction {
957
+ syntax: "*";
958
+ inherits: false;
959
+ }
960
+ @property --tw-shadow {
961
+ syntax: "*";
962
+ inherits: false;
963
+ initial-value: 0 0 #0000;
964
+ }
965
+ @property --tw-shadow-color {
966
+ syntax: "*";
967
+ inherits: false;
968
+ }
969
+ @property --tw-shadow-alpha {
970
+ syntax: "<percentage>";
971
+ inherits: false;
972
+ initial-value: 100%;
973
+ }
974
+ @property --tw-inset-shadow {
975
+ syntax: "*";
976
+ inherits: false;
977
+ initial-value: 0 0 #0000;
978
+ }
979
+ @property --tw-inset-shadow-color {
980
+ syntax: "*";
981
+ inherits: false;
982
+ }
983
+ @property --tw-inset-shadow-alpha {
984
+ syntax: "<percentage>";
985
+ inherits: false;
986
+ initial-value: 100%;
987
+ }
988
+ @property --tw-ring-color {
989
+ syntax: "*";
990
+ inherits: false;
991
+ }
992
+ @property --tw-ring-shadow {
993
+ syntax: "*";
994
+ inherits: false;
995
+ initial-value: 0 0 #0000;
996
+ }
997
+ @property --tw-inset-ring-color {
998
+ syntax: "*";
999
+ inherits: false;
1000
+ }
1001
+ @property --tw-inset-ring-shadow {
1002
+ syntax: "*";
1003
+ inherits: false;
1004
+ initial-value: 0 0 #0000;
1005
+ }
1006
+ @property --tw-ring-inset {
1007
+ syntax: "*";
1008
+ inherits: false;
1009
+ }
1010
+ @property --tw-ring-offset-width {
1011
+ syntax: "<length>";
1012
+ inherits: false;
1013
+ initial-value: 0px;
1014
+ }
1015
+ @property --tw-ring-offset-color {
1016
+ syntax: "*";
1017
+ inherits: false;
1018
+ initial-value: #fff;
1019
+ }
1020
+ @property --tw-ring-offset-shadow {
1021
+ syntax: "*";
1022
+ inherits: false;
1023
+ initial-value: 0 0 #0000;
1024
+ }
1025
+ @property --tw-outline-style {
1026
+ syntax: "*";
1027
+ inherits: false;
1028
+ initial-value: solid;
1029
+ }
1030
+ @layer properties {
1031
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
1032
+ *, ::before, ::after, ::backdrop {
1033
+ --tw-border-style: solid;
1034
+ --tw-font-weight: initial;
1035
+ --tw-tracking: initial;
1036
+ --tw-ordinal: initial;
1037
+ --tw-slashed-zero: initial;
1038
+ --tw-numeric-figure: initial;
1039
+ --tw-numeric-spacing: initial;
1040
+ --tw-numeric-fraction: initial;
1041
+ --tw-shadow: 0 0 #0000;
1042
+ --tw-shadow-color: initial;
1043
+ --tw-shadow-alpha: 100%;
1044
+ --tw-inset-shadow: 0 0 #0000;
1045
+ --tw-inset-shadow-color: initial;
1046
+ --tw-inset-shadow-alpha: 100%;
1047
+ --tw-ring-color: initial;
1048
+ --tw-ring-shadow: 0 0 #0000;
1049
+ --tw-inset-ring-color: initial;
1050
+ --tw-inset-ring-shadow: 0 0 #0000;
1051
+ --tw-ring-inset: initial;
1052
+ --tw-ring-offset-width: 0px;
1053
+ --tw-ring-offset-color: #fff;
1054
+ --tw-ring-offset-shadow: 0 0 #0000;
1055
+ --tw-outline-style: solid;
1056
+ }
1057
+ }
1058
+ }