@kopexa/theme 1.7.7 → 2.0.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.
Files changed (139) hide show
  1. package/dist/{chunk-EXBKQDH5.mjs → chunk-3PCDCW7G.mjs} +1 -1
  2. package/dist/{chunk-UEMJVVVF.mjs → chunk-5DOB3IBE.mjs} +14 -1
  3. package/dist/{chunk-SHHD2WUZ.mjs → chunk-7VZZASRG.mjs} +1 -1
  4. package/dist/chunk-BETLBSSF.mjs +23 -0
  5. package/dist/chunk-BWB7MWRC.mjs +22 -0
  6. package/dist/chunk-CPERWXKN.mjs +21 -0
  7. package/dist/chunk-DI54XTS5.mjs +56 -0
  8. package/dist/chunk-GRPMKEI2.mjs +34 -0
  9. package/dist/{chunk-ZL6FAOXE.mjs → chunk-HHOMDBMZ.mjs} +1 -1
  10. package/dist/chunk-HWEYNK3O.mjs +25 -0
  11. package/dist/{chunk-U32YEQZ5.mjs → chunk-IHITEH7V.mjs} +15 -9
  12. package/dist/chunk-IHW4FWFB.mjs +71 -0
  13. package/dist/{chunk-TJDRYBGW.mjs → chunk-JXQPOORM.mjs} +15 -9
  14. package/dist/{chunk-MWG2OZMD.mjs → chunk-LAJQAXSV.mjs} +7 -9
  15. package/dist/{chunk-VCLXE57S.mjs → chunk-LM7MKBHT.mjs} +7 -1
  16. package/dist/chunk-LMCM4CW2.mjs +22 -0
  17. package/dist/chunk-M3GQ563Q.mjs +33 -0
  18. package/dist/chunk-NFOF75HQ.mjs +106 -0
  19. package/dist/{chunk-JHKTRIIA.mjs → chunk-RQYYDG26.mjs} +4 -2
  20. package/dist/chunk-SPQE7K66.mjs +18 -0
  21. package/dist/chunk-TVC4THD6.mjs +16 -0
  22. package/dist/chunk-URGRCBNW.mjs +27 -0
  23. package/dist/chunk-VSVGOX3P.mjs +48 -0
  24. package/dist/chunk-XGUDXC5P.mjs +26 -0
  25. package/dist/{chunk-755GJHKQ.mjs → chunk-XRKUQMGU.mjs} +1 -1
  26. package/dist/{chunk-JQ74U2S3.mjs → chunk-YH6TDPK7.mjs} +4 -4
  27. package/dist/chunk-Z7D56R5U.mjs +70 -0
  28. package/dist/components/alert-dialog.d.mts +9 -9
  29. package/dist/components/alert-dialog.d.ts +9 -9
  30. package/dist/components/alert-dialog.js +11 -2
  31. package/dist/components/alert-dialog.mjs +1 -1
  32. package/dist/components/autocomplete.d.mts +73 -0
  33. package/dist/components/autocomplete.d.ts +73 -0
  34. package/dist/components/autocomplete.js +173 -0
  35. package/dist/components/autocomplete.mjs +8 -0
  36. package/dist/components/avatar.mjs +2 -2
  37. package/dist/components/button.d.mts +15 -0
  38. package/dist/components/button.d.ts +15 -0
  39. package/dist/components/button.js +12 -6
  40. package/dist/components/button.mjs +2 -2
  41. package/dist/components/chip.d.mts +3 -0
  42. package/dist/components/chip.d.ts +3 -0
  43. package/dist/components/chip.js +4 -2
  44. package/dist/components/chip.mjs +1 -1
  45. package/dist/components/color-highlight-button.d.mts +36 -0
  46. package/dist/components/color-highlight-button.d.ts +36 -0
  47. package/dist/components/color-highlight-button.js +45 -0
  48. package/dist/components/color-highlight-button.mjs +6 -0
  49. package/dist/components/command.d.mts +9 -9
  50. package/dist/components/command.d.ts +9 -9
  51. package/dist/components/dialog.js +7 -9
  52. package/dist/components/dialog.mjs +1 -1
  53. package/dist/components/drawer.d.mts +3 -3
  54. package/dist/components/drawer.d.ts +3 -3
  55. package/dist/components/drawer.js +21 -17
  56. package/dist/components/drawer.mjs +2 -2
  57. package/dist/components/dropdown-menu.js +1 -1
  58. package/dist/components/dropdown-menu.mjs +1 -1
  59. package/dist/components/editor-basic.d.mts +44 -0
  60. package/dist/components/editor-basic.d.ts +44 -0
  61. package/dist/components/editor-basic.js +58 -0
  62. package/dist/components/editor-basic.mjs +6 -0
  63. package/dist/components/editor-spinner.d.mts +60 -0
  64. package/dist/components/editor-spinner.d.ts +60 -0
  65. package/dist/components/editor-spinner.js +40 -0
  66. package/dist/components/editor-spinner.mjs +6 -0
  67. package/dist/components/hover-card.mjs +2 -2
  68. package/dist/components/index.d.mts +13 -0
  69. package/dist/components/index.d.ts +13 -0
  70. package/dist/components/index.js +678 -198
  71. package/dist/components/index.mjs +93 -41
  72. package/dist/components/input-group.d.mts +5 -0
  73. package/dist/components/input-group.d.ts +5 -0
  74. package/dist/components/input-group.js +49 -0
  75. package/dist/components/input-group.mjs +6 -0
  76. package/dist/components/input-wrapper.d.mts +25 -0
  77. package/dist/components/input-wrapper.d.ts +25 -0
  78. package/dist/components/input-wrapper.js +72 -0
  79. package/dist/components/input-wrapper.mjs +6 -0
  80. package/dist/components/input.d.mts +30 -129
  81. package/dist/components/input.d.ts +30 -129
  82. package/dist/components/input.js +58 -71
  83. package/dist/components/input.mjs +2 -2
  84. package/dist/components/kbd.d.mts +35 -0
  85. package/dist/components/kbd.d.ts +35 -0
  86. package/dist/components/kbd.js +47 -0
  87. package/dist/components/kbd.mjs +6 -0
  88. package/dist/components/label.d.mts +22 -0
  89. package/dist/components/label.d.ts +22 -0
  90. package/dist/components/label.js +46 -0
  91. package/dist/components/label.mjs +6 -0
  92. package/dist/components/popover.d.mts +79 -14
  93. package/dist/components/popover.d.ts +79 -14
  94. package/dist/components/popover.js +41 -4
  95. package/dist/components/popover.mjs +2 -2
  96. package/dist/components/scroll-area.d.mts +50 -0
  97. package/dist/components/scroll-area.d.ts +50 -0
  98. package/dist/components/scroll-area.js +42 -0
  99. package/dist/components/scroll-area.mjs +6 -0
  100. package/dist/components/select.d.mts +76 -0
  101. package/dist/components/select.d.ts +76 -0
  102. package/dist/components/select.js +145 -0
  103. package/dist/components/select.mjs +7 -0
  104. package/dist/components/separator.d.mts +2 -2
  105. package/dist/components/separator.d.ts +2 -2
  106. package/dist/components/separator.js +7 -1
  107. package/dist/components/separator.mjs +1 -1
  108. package/dist/components/skeleton-avatar.mjs +3 -3
  109. package/dist/components/slash-dropdown-menu.d.mts +54 -0
  110. package/dist/components/slash-dropdown-menu.d.ts +54 -0
  111. package/dist/components/slash-dropdown-menu.js +55 -0
  112. package/dist/components/slash-dropdown-menu.mjs +7 -0
  113. package/dist/components/standard-chip.d.mts +4 -0
  114. package/dist/components/standard-chip.d.ts +4 -0
  115. package/dist/components/standard-chip.js +4 -2
  116. package/dist/components/standard-chip.mjs +2 -2
  117. package/dist/components/textarea.d.mts +25 -0
  118. package/dist/components/textarea.d.ts +25 -0
  119. package/dist/components/textarea.js +72 -0
  120. package/dist/components/textarea.mjs +7 -0
  121. package/dist/components/toolbar.d.mts +34 -0
  122. package/dist/components/toolbar.d.ts +34 -0
  123. package/dist/components/toolbar.js +46 -0
  124. package/dist/components/toolbar.mjs +6 -0
  125. package/dist/editor.css +784 -0
  126. package/dist/index.css +28 -1
  127. package/dist/index.d.mts +13 -0
  128. package/dist/index.d.ts +13 -0
  129. package/dist/index.js +678 -198
  130. package/dist/index.mjs +93 -41
  131. package/dist/utils/classes.d.mts +13 -1
  132. package/dist/utils/classes.d.ts +13 -1
  133. package/dist/utils/classes.js +14 -0
  134. package/dist/utils/classes.mjs +3 -1
  135. package/package.json +24 -18
  136. package/dist/chunk-CPEP2RO4.mjs +0 -17
  137. package/dist/chunk-IKJHZT2S.mjs +0 -19
  138. package/dist/chunk-UMSU2ZEG.mjs +0 -96
  139. /package/dist/{chunk-3ZVSVLZD.mjs → chunk-UWWO4AVU.mjs} +0 -0
@@ -0,0 +1,784 @@
1
+ :root {
2
+ --tt-brand-color-500: var(--color-primary-500);
3
+
4
+ --tt-bg-color: var(--color-background);
5
+ --tt-cursor-color: var(--tt-brand-color-500);
6
+ --tt-selection-color: var(--color-primary-200);
7
+ --tt-selection-color-border: var(--color-primary-500);
8
+ --tt-resize-handle-color: var(--color-default-400);
9
+ --separator-color: var(--color-default-300);
10
+ --placeholder-color: var(--color-default-400);
11
+ --blockquote-bg-color: var(--color-primary-300);
12
+ --link-text-color: var(--color-primary-700);
13
+
14
+ --tt-radius-xs: var(--radius-xs);
15
+ --tt-font-size: var(--text-sm);
16
+
17
+ --tt-checklist-bg-color: var(--color-default-100);
18
+ --tt-checklist-bg-active-color: var(--color-default-900);
19
+ --tt-checklist-border-color: var(--color-default-200);
20
+ --tt-checklist-border-active-color: var(--color-default-900);
21
+ --tt-checklist-check-icon-color: var(--white);
22
+ --tt-checklist-text-active: var(--color-default-500);
23
+
24
+ --tt-inline-code-bg-color: var(--color-default-100);
25
+ --tt-inline-code-text-color: var(--color-default-700);
26
+ --tt-inline-code-border-color: var(--color-default-200);
27
+ --tt-codeblock-bg: var(--color-default-50);
28
+ --tt-codeblock-text: var(--color-default-800);
29
+ --tt-codeblock-border: var(--color-default-200);
30
+
31
+ --tt-color-highlight-gray: var(--color-default-500);
32
+ --tt-color-highlight-gray-contrast: var(--color-default-900);
33
+ --tt-color-highlight-brown: var(--color-yellow-800);
34
+ --tt-color-highlight-brown-contrast: var(--color-yellow-950);
35
+ --tt-color-highlight-orange: var(--color-orange-500);
36
+ --tt-color-highlight-orange-contrast: var(--color-orange-900);
37
+ --tt-color-highlight-pink: var(--color-pink-500);
38
+ --tt-color-highlight-pink-contrast: var(--color-pink-900);
39
+ --tt-color-highlight-green: var(--color-green-500);
40
+ --tt-color-highlight-green-contrast: var(--color-green-900);
41
+ --tt-color-highlight-blue: var(--color-blue-500);
42
+ --tt-color-highlight-blue-contrast: var(--color-blue-900);
43
+ --tt-color-highlight-red: var(--color-red-500);
44
+ --tt-color-highlight-red-contrast: var(--color-red-900);
45
+ --tt-color-highlight-purple: var(--color-purple-500);
46
+ --tt-color-highlight-purple-contrast: var(--color-purple-900);
47
+ --tt-color-highlight-yellow: var(--color-yellow-500);
48
+ --tt-color-highlight-yellow-contrast: var(--color-yellow-900);
49
+ }
50
+
51
+ /* =====================
52
+ CORE EDITOR STYLES
53
+ ===================== */
54
+
55
+ .tiptap.ProseMirror {
56
+ white-space: pre-wrap;
57
+ outline: none;
58
+ font-size: var(--tt-font-size);
59
+ caret-color: var(--tt-cursor-color);
60
+
61
+ /* Paragraph spacing */
62
+ p:not(:first-child) {
63
+ font-size: var(--tt-font-size);
64
+ line-height: 1.6;
65
+ font-weight: normal;
66
+ margin-top: 20px;
67
+ }
68
+
69
+ /* Selection styles */
70
+ &:not(.readonly):not(.ProseMirror-hideselection) {
71
+ ::selection {
72
+ background-color: var(--tt-selection-color);
73
+ }
74
+
75
+ .selection::selection {
76
+ background: transparent;
77
+ }
78
+ }
79
+
80
+ .selection {
81
+ display: inline;
82
+ background-color: var(--tt-selection-color);
83
+ }
84
+
85
+ .ProseMirror-hideselection {
86
+ caret-color: transparent;
87
+ }
88
+
89
+ /* Placeholder */
90
+ >p.is-editor-empty::before {
91
+ content: attr(data-placeholder);
92
+ pointer-events: none;
93
+ color: var(--placeholder-color);
94
+ float: left;
95
+ height: 0;
96
+ }
97
+
98
+ /* Resize cursor */
99
+ &.resize-cursor {
100
+ cursor: ew-resize;
101
+ cursor: col-resize;
102
+ }
103
+
104
+
105
+ /* =====================
106
+ PLACEHOLDER
107
+ ===================== */
108
+ .is-empty:not(.with-slash)[data-placeholder]:has(
109
+ > .ProseMirror-trailingBreak:only-child
110
+ )::before {
111
+ content: attr(data-placeholder);
112
+ }
113
+
114
+ .is-empty.with-slash[data-placeholder]:has(
115
+ > .ProseMirror-trailingBreak:only-child
116
+ )::before {
117
+ content: "Write, type '/' for commands…";
118
+ font-style: italic;
119
+ }
120
+ }
121
+
122
+ /* =====================
123
+ GAP CURSOR
124
+ ===================== */
125
+ .tiptap.ProseMirror {
126
+ .ProseMirror-gapcursor {
127
+ display: none;
128
+ pointer-events: none;
129
+ position: absolute;
130
+
131
+ &:after {
132
+ content: "";
133
+ display: block;
134
+ position: absolute;
135
+ top: 1em;
136
+ width: 1.25em;
137
+ border-top: 1px solid black;
138
+ animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
139
+ }
140
+ }
141
+
142
+ &.ProseMirror-focused,
143
+ &.ProseMirror.ProseMirror-focused {
144
+ .ProseMirror-gapcursor {
145
+ display: block;
146
+ }
147
+ }
148
+ }
149
+
150
+ @keyframes ProseMirror-cursor-blink {
151
+ to {
152
+ visibility: hidden;
153
+ }
154
+ }
155
+
156
+
157
+ /* =====================
158
+ TEXT DECORATION
159
+ ===================== */
160
+ .tiptap.ProseMirror {
161
+
162
+ /* Text decoration inheritance for spans */
163
+ a span {
164
+ text-decoration: underline;
165
+ }
166
+
167
+ s span {
168
+ text-decoration: line-through;
169
+ }
170
+
171
+ u span {
172
+ text-decoration: underline;
173
+ }
174
+ }
175
+
176
+
177
+ /* =====================
178
+ BLOCKQUOTE
179
+ ===================== */
180
+ .tiptap.ProseMirror {
181
+ blockquote {
182
+ position: relative;
183
+ padding-left: 1em;
184
+ padding-top: 0.375em;
185
+ padding-bottom: 0.375em;
186
+ margin: 1.5rem 0;
187
+
188
+ p {
189
+ margin-top: 0;
190
+ }
191
+
192
+ &::before,
193
+ &.is-empty::before {
194
+ position: absolute;
195
+ bottom: 0;
196
+ left: 0;
197
+ top: 0;
198
+ height: 100%;
199
+ width: 0.25em;
200
+ background-color: var(--blockquote-bg-color);
201
+ content: "";
202
+ border-radius: 0;
203
+ }
204
+ }
205
+ }
206
+
207
+ /* =====================
208
+ COLLABORATION
209
+ ===================== */
210
+ .tiptap.ProseMirror {
211
+ .collaboration-cursor {
212
+ &__caret {
213
+ border-right: 1px solid transparent;
214
+ border-left: 1px solid transparent;
215
+ pointer-events: none;
216
+ margin-left: -1px;
217
+ margin-right: -1px;
218
+ position: relative;
219
+ word-break: normal;
220
+ }
221
+
222
+ &__label {
223
+ border-radius: 0.25rem;
224
+ border-bottom-left-radius: 0;
225
+ font-size: 0.75rem;
226
+ font-weight: 600;
227
+ left: -1px;
228
+ line-height: 1;
229
+ padding: 0.125rem 0.375rem;
230
+ position: absolute;
231
+ top: -1.3em;
232
+ user-select: none;
233
+ white-space: nowrap;
234
+ }
235
+ }
236
+ }
237
+
238
+ /* =====================
239
+ EMOJI
240
+ ===================== */
241
+ .tiptap.ProseMirror [data-type="emoji"] img {
242
+ display: inline-block;
243
+ width: 1.25em;
244
+ height: 1.25em;
245
+ cursor: text;
246
+ }
247
+
248
+ /* =====================
249
+ HEADINGS
250
+ ===================== */
251
+ .tiptap.ProseMirror {
252
+
253
+ h1,
254
+ h2,
255
+ h3,
256
+ h4 {
257
+ position: relative;
258
+ color: inherit;
259
+ font-style: inherit;
260
+
261
+ &:first-child {
262
+ margin-top: 0;
263
+ }
264
+ }
265
+
266
+ h1 {
267
+ font-size: 1.5em;
268
+ font-weight: 700;
269
+ margin-top: 3em;
270
+ }
271
+
272
+ h2 {
273
+ font-size: 1.25em;
274
+ font-weight: 700;
275
+ margin-top: 2.5em;
276
+ }
277
+
278
+ h3 {
279
+ font-size: 1.125em;
280
+ font-weight: 600;
281
+ margin-top: 2em;
282
+ }
283
+
284
+ h4 {
285
+ font-size: 1em;
286
+ font-weight: 600;
287
+ margin-top: 2em;
288
+ }
289
+ }
290
+
291
+
292
+ /* =====================
293
+ HORIZONTAL RULE
294
+ ===================== */
295
+ .tiptap.ProseMirror {
296
+ hr {
297
+ margin-top: 3em;
298
+ margin-bottom: 3em;
299
+ border: none;
300
+ height: 1px;
301
+ background-color: var(--separator-color);
302
+ }
303
+
304
+ &.ProseMirror-focused {
305
+ hr.ProseMirror-selectednode {
306
+ border-radius: 9999px;
307
+ outline: 3px solid var(--tt-brand-color-500);
308
+ outline-offset: 2px;
309
+ }
310
+ }
311
+ }
312
+
313
+ /* =====================
314
+ LINKS
315
+ ===================== */
316
+ .tiptap.ProseMirror {
317
+ a {
318
+ color: var(--link-text-color);
319
+ text-decoration: underline;
320
+ }
321
+ }
322
+
323
+ /* =====================
324
+ MENTION
325
+ ===================== */
326
+ .tiptap.ProseMirror {
327
+ [data-type="mention"] {
328
+ display: inline-block;
329
+ color: var(--tt-brand-color-500);
330
+ }
331
+ }
332
+
333
+ /* =====================
334
+ PLACEHOLDER
335
+ ===================== */
336
+ .is-empty[data-placeholder]:has(> .ProseMirror-trailingBreak:only-child)::before {
337
+ content: "Write, type '/' for commands…";
338
+ }
339
+
340
+ .is-empty[data-placeholder]:has(> .ProseMirror-trailingBreak:only-child):before {
341
+ pointer-events: none;
342
+ height: 0;
343
+ position: absolute;
344
+ font-style: italic;
345
+ }
346
+
347
+ .is-empty[data-placeholder]:has(> .ProseMirror-trailingBreak):before {
348
+ color: var(--placeholder-color);
349
+ }
350
+
351
+ /* =====================
352
+ LISTS
353
+ ===================== */
354
+ .tiptap.ProseMirror {
355
+
356
+ /* Common list styles */
357
+ ol,
358
+ ul {
359
+ margin-top: 1.5em;
360
+ margin-bottom: 1.5em;
361
+ padding-left: 1.5em;
362
+
363
+ &:first-child {
364
+ margin-top: 0;
365
+ }
366
+
367
+ &:last-child {
368
+ margin-bottom: 0;
369
+ }
370
+
371
+ ol,
372
+ ul {
373
+ margin-top: 0;
374
+ margin-bottom: 0;
375
+ }
376
+ }
377
+
378
+ li {
379
+ p {
380
+ margin-top: 0;
381
+ }
382
+ }
383
+
384
+ /* Ordered lists */
385
+ ol {
386
+ list-style: decimal;
387
+
388
+ ol {
389
+ list-style: lower-alpha;
390
+
391
+ ol {
392
+ list-style: lower-roman;
393
+ }
394
+ }
395
+ }
396
+
397
+ /* Unordered lists */
398
+ ul:not([data-type="taskList"]) {
399
+ list-style: disc;
400
+
401
+ ul {
402
+ list-style: circle;
403
+
404
+ ul {
405
+ list-style: disc;
406
+ }
407
+ }
408
+ }
409
+
410
+ /* Task lists */
411
+ ul[data-type="taskList"] {
412
+ padding-left: 0.25em;
413
+
414
+ li {
415
+ display: flex;
416
+ flex-direction: row;
417
+ align-items: flex-start;
418
+
419
+ &:not(:has(> p:first-child)) {
420
+ list-style-type: none;
421
+ }
422
+
423
+ &[data-checked="true"] {
424
+ >div>p {
425
+ opacity: 0.5;
426
+ text-decoration: line-through;
427
+ }
428
+
429
+ >div>p span {
430
+ text-decoration: line-through;
431
+ }
432
+ }
433
+
434
+ label {
435
+ position: relative;
436
+ padding-top: 4px;
437
+ padding-right: 8px;
438
+
439
+ input[type="checkbox"] {
440
+ position: absolute;
441
+ opacity: 0;
442
+ width: 0;
443
+ height: 0;
444
+ }
445
+
446
+ span {
447
+ display: block;
448
+ width: 1em;
449
+ height: 1em;
450
+ border: 1px solid var(--tt-checklist-border-color);
451
+ border-radius: var(--tt-radius-xs, 0.25rem);
452
+ position: relative;
453
+ cursor: pointer;
454
+ background-color: var(--tt-checklist-bg-color);
455
+ transition:
456
+ background-color 80ms ease-out,
457
+ border-color 80ms ease-out;
458
+
459
+ &::before {
460
+ content: "";
461
+ position: absolute;
462
+ left: 50%;
463
+ top: 50%;
464
+ transform: translate(-50%, -50%);
465
+ width: 0.75em;
466
+ height: 0.75em;
467
+ background-color: var(--tt-checklist-check-icon-color);
468
+ opacity: 0;
469
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.4142%204.58579C22.1953%205.36683%2022.1953%206.63317%2021.4142%207.41421L10.4142%2018.4142C9.63317%2019.1953%208.36684%2019.1953%207.58579%2018.4142L2.58579%2013.4142C1.80474%2012.6332%201.80474%2011.3668%202.58579%2010.5858C3.36683%209.80474%204.63317%209.80474%205.41421%2010.5858L9%2014.1716L18.5858%204.58579C19.3668%203.80474%2020.6332%203.80474%2021.4142%204.58579Z%22%20fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
470
+ mask: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22currentColor%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.4142%204.58579C22.1953%205.36683%2022.1953%206.63317%2021.4142%207.41421L10.4142%2018.4142C9.63317%2019.1953%208.36684%2019.1953%207.58579%2018.4142L2.58579%2013.4142C1.80474%2012.6332%201.80474%2011.3668%202.58579%2010.5858C3.36683%209.80474%204.63317%209.80474%205.41421%2010.5858L9%2014.1716L18.5858%204.58579C19.3668%203.80474%2020.6332%203.80474%2021.4142%204.58579Z%22%20fill%3D%22currentColor%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
471
+ }
472
+ }
473
+
474
+ input[type="checkbox"]:checked+span {
475
+ background: var(--tt-checklist-bg-active-color);
476
+ border-color: var(--tt-checklist-border-active-color);
477
+
478
+ &::before {
479
+ opacity: 1;
480
+ }
481
+ }
482
+ }
483
+
484
+ div {
485
+ flex: 1 1 0%;
486
+ min-width: 0;
487
+ }
488
+ }
489
+ }
490
+ }
491
+
492
+ /* =====================
493
+ CODE FORMATTING
494
+ ===================== */
495
+ .tiptap.ProseMirror {
496
+
497
+ /* Inline code */
498
+ code {
499
+ background-color: var(--tt-inline-code-bg-color);
500
+ color: var(--tt-inline-code-text-color);
501
+ border: 1px solid var(--tt-inline-code-border-color);
502
+ font-family: "JetBrains Mono NL", monospace;
503
+ font-size: 0.875em;
504
+ line-height: 1.4;
505
+ border-radius: 6px/0.375rem;
506
+ padding: 0.1em 0.2em;
507
+ }
508
+
509
+ /* Code blocks */
510
+ pre {
511
+ background-color: var(--tt-codeblock-bg);
512
+ color: var(--tt-codeblock-text);
513
+ border: 1px solid var(--tt-codeblock-border);
514
+ margin-top: 1.5em;
515
+ margin-bottom: 1.5em;
516
+ padding: 1em;
517
+ font-size: 1rem;
518
+ border-radius: 6px/0.375rem;
519
+
520
+ code {
521
+ background-color: transparent;
522
+ border: none;
523
+ border-radius: 0;
524
+ -webkit-text-fill-color: inherit;
525
+ color: inherit;
526
+ }
527
+ }
528
+ }
529
+
530
+ /* =====================
531
+ TABLE
532
+ ===================== */
533
+ .tiptap.ProseMirror {
534
+ .table-wrapper {
535
+ overflow-x: auto;
536
+ width: fit-content;
537
+ max-width: 100%;
538
+ margin-top: 0.5rem;
539
+ margin-bottom: 1rem;
540
+ }
541
+
542
+ table {
543
+ border-collapse: collapse;
544
+ border-style: solid;
545
+ border-width: 1px;
546
+ border-color: var(--color-border);
547
+ width: 100%;
548
+ table-layout: fixed;
549
+ }
550
+
551
+ td,
552
+ th {
553
+ border-style: solid;
554
+ border-width: 1px;
555
+ border-color: var(--color-border);
556
+ min-width: 100px;
557
+ padding: 0.5rem;
558
+ text-align: left;
559
+ vertical-align: top;
560
+ box-sizing: border-box;
561
+ position: relative;
562
+ transition: background-color 0.3s ease;
563
+
564
+ &:first-of-type:not(a) {
565
+ margin-top: 0;
566
+ }
567
+
568
+ p {
569
+ margin: 0 !important;
570
+
571
+ &+p {
572
+ margin-top: 0.75rem !important;
573
+ }
574
+ }
575
+
576
+ >* {
577
+ margin-bottom: 0;
578
+ }
579
+ }
580
+
581
+ th {
582
+ font-weight: 500;
583
+ text-align: start;
584
+ }
585
+
586
+ .column-resize-handle {
587
+ background-color: var(--tt-resize-handle-color);
588
+ position: absolute;
589
+ right: 0;
590
+ top: 0;
591
+ width: 2px;
592
+ height: 100%;
593
+ z-index: 5;
594
+ pointer-events: none;
595
+ }
596
+
597
+ .selectedCell {
598
+ border-style: double;
599
+ border-color: var(--tt-selection-color-border);
600
+ background-color: var(--tt-selection-color);
601
+ }
602
+
603
+ /** Grip Column, Cell Column */
604
+ .grip-column,
605
+ .grip-row {
606
+ display: flex;
607
+ justify-content: center;
608
+ align-items: center;
609
+ position: absolute;
610
+ z-index: 10;
611
+ cursor: pointer;
612
+ background-color: rgba(0, 0, 0, .05);
613
+ }
614
+
615
+ .grip-column {
616
+ width: calc(100% - 1px);
617
+ border-left-width: 1px;
618
+ border-left-color: rgba(0, 0, 0, .2);
619
+ height: .75rem;
620
+ left: 0;
621
+ margin-left: -1px;
622
+ top: -.75rem;
623
+
624
+ &:hover,
625
+ &.selected {
626
+ &::before {
627
+ content: '';
628
+ width: .625rem;
629
+ }
630
+ }
631
+
632
+ &:hover {
633
+ background-color: rgba(0, 0, 0, .1);
634
+
635
+ &::before {
636
+ border-bottom-width: 2px;
637
+ border-style: dotted;
638
+ border-color: rgba(0, 0, 0, .60);
639
+ }
640
+ }
641
+
642
+ &.first {
643
+ border-color: transparent;
644
+ border-top-left-radius: .125rem;
645
+ }
646
+
647
+ &.last {
648
+ border-top-right-radius: .125rem;
649
+ }
650
+
651
+ &.selected {
652
+ --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
653
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
654
+ background-color: rgba(0, 0, 0, .30);
655
+ border-color: rgba(0, 0, 0, .30);
656
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
657
+
658
+ &::before {
659
+ border-bottom-width: 2px;
660
+ border-style: dotted;
661
+ }
662
+ }
663
+ }
664
+
665
+ .grip-row {
666
+ height: calc(100% + 1px);
667
+ border-top-width: 1px;
668
+ border-color: rgba(0, 0, 0, .2);
669
+ left: -.75rem;
670
+ width: .75rem;
671
+ margin-top: -1px;
672
+ top: 0;
673
+
674
+ &:hover,
675
+ &.selected {
676
+ &::before {
677
+ content: '';
678
+ height: .625rem;
679
+ }
680
+ }
681
+
682
+ &:hover {
683
+ background-color: rgba(0, 0, 0, .1);
684
+
685
+ &::before {
686
+ border-left-width: 2px;
687
+ border-style: dotted;
688
+ border-color: rgba(0, 0, 0, .60);
689
+ }
690
+ }
691
+
692
+ &.first {
693
+ border-color: transparent;
694
+ border-top-left-radius: .125rem;
695
+ }
696
+
697
+ &.last {
698
+ border-bottom-left-radius: .125rem;
699
+ }
700
+
701
+ &.selected {
702
+ background-color: rgba(0, 0, 0, .30);
703
+ border-color: rgba(0, 0, 0, .30);
704
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
705
+
706
+ &::before {
707
+ border-left-width: 2px;
708
+ }
709
+ }
710
+ }
711
+
712
+ table {
713
+
714
+ tr[background="none"],
715
+ tr:not([background]) {
716
+ th {
717
+ background-color: var(--color-muted);
718
+ }
719
+ }
720
+ }
721
+
722
+ .table-controls {
723
+ position: absolute;
724
+ }
725
+
726
+ .table-wrapper .table-controls .columns-control,
727
+ .table-wrapper .table-controls .rows-control {
728
+ transition: opacity ease-in 100ms;
729
+ position: absolute;
730
+ z-index: 5;
731
+ display: flex;
732
+ justify-content: center;
733
+ align-items: center;
734
+ }
735
+
736
+ .table-wrapper .table-controls .columns-control {
737
+ height: 20px;
738
+ transform: translateY(-50%);
739
+ }
740
+
741
+ .table-wrapper .table-controls .columns-control .columns-control-div {
742
+ color: white;
743
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath fill='%238F95B2' d='M4.5 10.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S6 12.825 6 12s-.675-1.5-1.5-1.5zm15 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5S21 12.825 21 12s-.675-1.5-1.5-1.5zm-7.5 0c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z'/%3E%3C/svg%3E");
744
+ width: 30px;
745
+ height: 15px;
746
+ }
747
+
748
+ .table-wrapper .table-controls .rows-control {
749
+ width: 20px;
750
+ transform: translateX(-50%);
751
+ left: -8px;
752
+ }
753
+
754
+ .table-wrapper .table-controls .rows-control .rows-control-div {
755
+ color: white;
756
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath fill='%238F95B2' d='M12 3c-.825 0-1.5.675-1.5 1.5S11.175 6 12 6s1.5-.675 1.5-1.5S12.825 3 12 3zm0 15c-.825 0-1.5.675-1.5 1.5S11.175 21 12 21s1.5-.675 1.5-1.5S12.825 18 12 18zm0-7.5c-.825 0-1.5.675-1.5 1.5s.675 1.5 1.5 1.5 1.5-.675 1.5-1.5-.675-1.5-1.5-1.5z'/%3E%3C/svg%3E");
757
+ height: 30px;
758
+ width: 15px;
759
+ }
760
+
761
+ .table-wrapper .table-controls .rows-control-div,
762
+ .table-wrapper .table-controls .columns-control-div {
763
+ border: 1px solid var(--color-border);
764
+ background-color: var(--color-muted);
765
+ box-shadow: var(--shadow-sm);
766
+ border-radius: 4px;
767
+ background-size: 1.25rem;
768
+ background-repeat: no-repeat;
769
+ background-position: center;
770
+ transition:
771
+ transform ease-out 100ms,
772
+ background-color ease-out 100ms;
773
+ outline: none;
774
+ cursor: pointer;
775
+ }
776
+
777
+ .resize-cursor .table-wrapper .table-controls .rows-control,
778
+ .table-wrapper.controls--disabled .table-controls .rows-control,
779
+ .resize-cursor .table-wrapper .table-controls .columns-control,
780
+ .table-wrapper.controls--disabled .table-controls .columns-control {
781
+ opacity: 0;
782
+ pointer-events: none;
783
+ }
784
+ }