@kopexa/theme 1.7.7 → 2.1.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 (161) hide show
  1. package/dist/chunk-2NA54PNL.mjs +43 -0
  2. package/dist/{chunk-EXBKQDH5.mjs → chunk-3PCDCW7G.mjs} +1 -1
  3. package/dist/{chunk-UEMJVVVF.mjs → chunk-5DOB3IBE.mjs} +14 -1
  4. package/dist/{chunk-7O57EDVS.mjs → chunk-63C4SFQK.mjs} +20 -10
  5. package/dist/{chunk-SHHD2WUZ.mjs → chunk-7VZZASRG.mjs} +1 -1
  6. package/dist/{chunk-XAHAVJUM.mjs → chunk-A3F4CV54.mjs} +8 -1
  7. package/dist/chunk-BETLBSSF.mjs +23 -0
  8. package/dist/chunk-CPERWXKN.mjs +21 -0
  9. package/dist/chunk-DI54XTS5.mjs +56 -0
  10. package/dist/{chunk-ZL6FAOXE.mjs → chunk-HHOMDBMZ.mjs} +1 -1
  11. package/dist/chunk-HWEYNK3O.mjs +25 -0
  12. package/dist/{chunk-U32YEQZ5.mjs → chunk-IHITEH7V.mjs} +15 -9
  13. package/dist/chunk-IHW4FWFB.mjs +71 -0
  14. package/dist/{chunk-TJDRYBGW.mjs → chunk-JXQPOORM.mjs} +15 -9
  15. package/dist/{chunk-MWG2OZMD.mjs → chunk-LAJQAXSV.mjs} +7 -9
  16. package/dist/{chunk-VCLXE57S.mjs → chunk-LM7MKBHT.mjs} +7 -1
  17. package/dist/chunk-LMCM4CW2.mjs +22 -0
  18. package/dist/chunk-M3GQ563Q.mjs +33 -0
  19. package/dist/chunk-M4TXKRUU.mjs +7 -0
  20. package/dist/chunk-NFOF75HQ.mjs +106 -0
  21. package/dist/chunk-NUEQ5FLX.mjs +50 -0
  22. package/dist/{chunk-JHKTRIIA.mjs → chunk-RQYYDG26.mjs} +4 -2
  23. package/dist/chunk-SPQE7K66.mjs +18 -0
  24. package/dist/chunk-TVC4THD6.mjs +16 -0
  25. package/dist/chunk-URGRCBNW.mjs +27 -0
  26. package/dist/chunk-VSVGOX3P.mjs +48 -0
  27. package/dist/chunk-WQ446TVH.mjs +39 -0
  28. package/dist/chunk-XGUDXC5P.mjs +26 -0
  29. package/dist/{chunk-755GJHKQ.mjs → chunk-XRKUQMGU.mjs} +1 -1
  30. package/dist/{chunk-JQ74U2S3.mjs → chunk-YH6TDPK7.mjs} +4 -4
  31. package/dist/chunk-Z7D56R5U.mjs +70 -0
  32. package/dist/components/alert-dialog.d.mts +9 -9
  33. package/dist/components/alert-dialog.d.ts +9 -9
  34. package/dist/components/alert-dialog.js +11 -2
  35. package/dist/components/alert-dialog.mjs +1 -1
  36. package/dist/components/autocomplete.d.mts +73 -0
  37. package/dist/components/autocomplete.d.ts +73 -0
  38. package/dist/components/autocomplete.js +173 -0
  39. package/dist/components/autocomplete.mjs +8 -0
  40. package/dist/components/avatar.mjs +2 -2
  41. package/dist/components/button.d.mts +15 -0
  42. package/dist/components/button.d.ts +15 -0
  43. package/dist/components/button.js +12 -6
  44. package/dist/components/button.mjs +2 -2
  45. package/dist/components/callout.d.mts +18 -0
  46. package/dist/components/callout.d.ts +18 -0
  47. package/dist/components/callout.js +8 -1
  48. package/dist/components/callout.mjs +1 -1
  49. package/dist/components/card.d.mts +27 -0
  50. package/dist/components/card.d.ts +27 -0
  51. package/dist/components/card.js +20 -10
  52. package/dist/components/card.mjs +1 -1
  53. package/dist/components/chip.d.mts +3 -0
  54. package/dist/components/chip.d.ts +3 -0
  55. package/dist/components/chip.js +4 -2
  56. package/dist/components/chip.mjs +1 -1
  57. package/dist/components/color-highlight-button.d.mts +36 -0
  58. package/dist/components/color-highlight-button.d.ts +36 -0
  59. package/dist/components/color-highlight-button.js +45 -0
  60. package/dist/components/color-highlight-button.mjs +6 -0
  61. package/dist/components/command.d.mts +9 -9
  62. package/dist/components/command.d.ts +9 -9
  63. package/dist/components/control-extension.d.mts +5 -0
  64. package/dist/components/control-extension.d.ts +5 -0
  65. package/dist/components/control-extension.js +31 -0
  66. package/dist/components/control-extension.mjs +6 -0
  67. package/dist/components/dialog.js +7 -9
  68. package/dist/components/dialog.mjs +1 -1
  69. package/dist/components/drawer.d.mts +3 -3
  70. package/dist/components/drawer.d.ts +3 -3
  71. package/dist/components/drawer.js +21 -17
  72. package/dist/components/drawer.mjs +2 -2
  73. package/dist/components/dropdown-menu.js +1 -1
  74. package/dist/components/dropdown-menu.mjs +1 -1
  75. package/dist/components/editor-basic.d.mts +61 -0
  76. package/dist/components/editor-basic.d.ts +61 -0
  77. package/dist/components/editor-basic.js +74 -0
  78. package/dist/components/editor-basic.mjs +6 -0
  79. package/dist/components/editor-spinner.d.mts +60 -0
  80. package/dist/components/editor-spinner.d.ts +60 -0
  81. package/dist/components/editor-spinner.js +40 -0
  82. package/dist/components/editor-spinner.mjs +6 -0
  83. package/dist/components/hover-card.mjs +2 -2
  84. package/dist/components/index.d.mts +15 -0
  85. package/dist/components/index.d.ts +15 -0
  86. package/dist/components/index.js +787 -209
  87. package/dist/components/index.mjs +111 -51
  88. package/dist/components/input-group.d.mts +5 -0
  89. package/dist/components/input-group.d.ts +5 -0
  90. package/dist/components/input-group.js +49 -0
  91. package/dist/components/input-group.mjs +6 -0
  92. package/dist/components/input-wrapper.d.mts +25 -0
  93. package/dist/components/input-wrapper.d.ts +25 -0
  94. package/dist/components/input-wrapper.js +72 -0
  95. package/dist/components/input-wrapper.mjs +6 -0
  96. package/dist/components/input.d.mts +30 -129
  97. package/dist/components/input.d.ts +30 -129
  98. package/dist/components/input.js +58 -71
  99. package/dist/components/input.mjs +2 -2
  100. package/dist/components/integration-card.d.mts +3 -3
  101. package/dist/components/integration-card.d.ts +3 -3
  102. package/dist/components/kbd.d.mts +35 -0
  103. package/dist/components/kbd.d.ts +35 -0
  104. package/dist/components/kbd.js +47 -0
  105. package/dist/components/kbd.mjs +6 -0
  106. package/dist/components/label.d.mts +22 -0
  107. package/dist/components/label.d.ts +22 -0
  108. package/dist/components/label.js +46 -0
  109. package/dist/components/label.mjs +6 -0
  110. package/dist/components/popover.d.mts +79 -14
  111. package/dist/components/popover.d.ts +79 -14
  112. package/dist/components/popover.js +41 -4
  113. package/dist/components/popover.mjs +2 -2
  114. package/dist/components/scroll-area.d.mts +50 -0
  115. package/dist/components/scroll-area.d.ts +50 -0
  116. package/dist/components/scroll-area.js +42 -0
  117. package/dist/components/scroll-area.mjs +6 -0
  118. package/dist/components/select.d.mts +76 -0
  119. package/dist/components/select.d.ts +76 -0
  120. package/dist/components/select.js +145 -0
  121. package/dist/components/select.mjs +7 -0
  122. package/dist/components/separator.d.mts +2 -2
  123. package/dist/components/separator.d.ts +2 -2
  124. package/dist/components/separator.js +7 -1
  125. package/dist/components/separator.mjs +1 -1
  126. package/dist/components/skeleton-avatar.mjs +3 -3
  127. package/dist/components/slash-dropdown-menu.d.mts +54 -0
  128. package/dist/components/slash-dropdown-menu.d.ts +54 -0
  129. package/dist/components/slash-dropdown-menu.js +55 -0
  130. package/dist/components/slash-dropdown-menu.mjs +7 -0
  131. package/dist/components/standard-chip.d.mts +4 -0
  132. package/dist/components/standard-chip.d.ts +4 -0
  133. package/dist/components/standard-chip.js +4 -2
  134. package/dist/components/standard-chip.mjs +2 -2
  135. package/dist/components/switch.d.mts +62 -0
  136. package/dist/components/switch.d.ts +62 -0
  137. package/dist/components/switch.js +63 -0
  138. package/dist/components/switch.mjs +6 -0
  139. package/dist/components/textarea.d.mts +25 -0
  140. package/dist/components/textarea.d.ts +25 -0
  141. package/dist/components/textarea.js +72 -0
  142. package/dist/components/textarea.mjs +7 -0
  143. package/dist/components/toolbar.d.mts +91 -0
  144. package/dist/components/toolbar.d.ts +91 -0
  145. package/dist/components/toolbar.js +67 -0
  146. package/dist/components/toolbar.mjs +6 -0
  147. package/dist/editor.css +839 -0
  148. package/dist/index.css +28 -1
  149. package/dist/index.d.mts +15 -0
  150. package/dist/index.d.ts +15 -0
  151. package/dist/index.js +787 -209
  152. package/dist/index.mjs +111 -51
  153. package/dist/utils/classes.d.mts +13 -1
  154. package/dist/utils/classes.d.ts +13 -1
  155. package/dist/utils/classes.js +14 -0
  156. package/dist/utils/classes.mjs +3 -1
  157. package/package.json +26 -20
  158. package/dist/chunk-CPEP2RO4.mjs +0 -17
  159. package/dist/chunk-IKJHZT2S.mjs +0 -19
  160. package/dist/chunk-UMSU2ZEG.mjs +0 -96
  161. /package/dist/{chunk-3ZVSVLZD.mjs → chunk-4I5ASWB3.mjs} +0 -0
@@ -0,0 +1,839 @@
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-950);
28
+ --tt-codeblock-text: var(--color-default-200);
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: 2em;
270
+ }
271
+
272
+ h2 {
273
+ font-size: 1.25em;
274
+ font-weight: 700;
275
+ margin-top: 1.5em;
276
+ }
277
+
278
+ h3 {
279
+ font-size: 1.125em;
280
+ font-weight: 600;
281
+ margin-top: 1em;
282
+ }
283
+
284
+ h4 {
285
+ font-size: 1em;
286
+ font-weight: 600;
287
+ margin-top: 1em;
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
+ white-space: pre;
521
+
522
+ code {
523
+ background-color: transparent;
524
+ border: none;
525
+ border-radius: 0;
526
+ -webkit-text-fill-color: inherit;
527
+ color: inherit;
528
+ white-space: inherit;
529
+ }
530
+
531
+ /* Code styling */
532
+ .hljs-comment,
533
+ .hljs-quote {
534
+ color: #616161;
535
+ }
536
+
537
+ .hljs-variable,
538
+ .hljs-template-variable,
539
+ .hljs-attribute,
540
+ .hljs-tag,
541
+ .hljs-regexp,
542
+ .hljs-link,
543
+ .hljs-name,
544
+ .hljs-selector-id,
545
+ .hljs-selector-class {
546
+ color: #f98181;
547
+ }
548
+
549
+ .hljs-number,
550
+ .hljs-meta,
551
+ .hljs-built_in,
552
+ .hljs-builtin-name,
553
+ .hljs-literal,
554
+ .hljs-type,
555
+ .hljs-params {
556
+ color: #fbbc88;
557
+ }
558
+
559
+ .hljs-string,
560
+ .hljs-symbol,
561
+ .hljs-bullet {
562
+ color: #b9f18d;
563
+ }
564
+
565
+ .hljs-title,
566
+ .hljs-section {
567
+ color: #faf594;
568
+ }
569
+
570
+ .hljs-keyword,
571
+ .hljs-selector-tag {
572
+ color: #70cff8;
573
+ }
574
+
575
+ .hljs-emphasis {
576
+ font-style: italic;
577
+ }
578
+
579
+ .hljs-strong {
580
+ font-weight: 700;
581
+ }
582
+ }
583
+ }
584
+
585
+ /* =====================
586
+ TABLE
587
+ ===================== */
588
+ .tiptap.ProseMirror {
589
+ .table-wrapper {
590
+ overflow-x: auto;
591
+ width: fit-content;
592
+ max-width: 100%;
593
+ margin-top: 0.5rem;
594
+ margin-bottom: 1rem;
595
+ }
596
+
597
+ table {
598
+ border-collapse: collapse;
599
+ border-style: solid;
600
+ border-width: 1px;
601
+ border-color: var(--color-border);
602
+ width: 100%;
603
+ table-layout: fixed;
604
+ }
605
+
606
+ td,
607
+ th {
608
+ border-style: solid;
609
+ border-width: 1px;
610
+ border-color: var(--color-border);
611
+ min-width: 100px;
612
+ padding: 0.5rem;
613
+ text-align: left;
614
+ vertical-align: top;
615
+ box-sizing: border-box;
616
+ position: relative;
617
+ transition: background-color 0.3s ease;
618
+
619
+ &:first-of-type:not(a) {
620
+ margin-top: 0;
621
+ }
622
+
623
+ p {
624
+ margin: 0 !important;
625
+
626
+ &+p {
627
+ margin-top: 0.75rem !important;
628
+ }
629
+ }
630
+
631
+ >* {
632
+ margin-bottom: 0;
633
+ }
634
+ }
635
+
636
+ th {
637
+ font-weight: 500;
638
+ text-align: start;
639
+ }
640
+
641
+ .column-resize-handle {
642
+ background-color: var(--tt-resize-handle-color);
643
+ position: absolute;
644
+ right: 0;
645
+ top: 0;
646
+ width: 2px;
647
+ height: 100%;
648
+ z-index: 5;
649
+ pointer-events: none;
650
+ }
651
+
652
+ .selectedCell {
653
+ border-style: double;
654
+ border-color: var(--tt-selection-color-border);
655
+ background-color: var(--tt-selection-color);
656
+ }
657
+
658
+ /** Grip Column, Cell Column */
659
+ .grip-column,
660
+ .grip-row {
661
+ display: flex;
662
+ justify-content: center;
663
+ align-items: center;
664
+ position: absolute;
665
+ z-index: 10;
666
+ cursor: pointer;
667
+ background-color: rgba(0, 0, 0, .05);
668
+ }
669
+
670
+ .grip-column {
671
+ width: calc(100% - 1px);
672
+ border-left-width: 1px;
673
+ border-left-color: rgba(0, 0, 0, .2);
674
+ height: .75rem;
675
+ left: 0;
676
+ margin-left: -1px;
677
+ top: -.75rem;
678
+
679
+ &:hover,
680
+ &.selected {
681
+ &::before {
682
+ content: '';
683
+ width: .625rem;
684
+ }
685
+ }
686
+
687
+ &:hover {
688
+ background-color: rgba(0, 0, 0, .1);
689
+
690
+ &::before {
691
+ border-bottom-width: 2px;
692
+ border-style: dotted;
693
+ border-color: rgba(0, 0, 0, .60);
694
+ }
695
+ }
696
+
697
+ &.first {
698
+ border-color: transparent;
699
+ border-top-left-radius: .125rem;
700
+ }
701
+
702
+ &.last {
703
+ border-top-right-radius: .125rem;
704
+ }
705
+
706
+ &.selected {
707
+ --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
708
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
709
+ background-color: rgba(0, 0, 0, .30);
710
+ border-color: rgba(0, 0, 0, .30);
711
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
712
+
713
+ &::before {
714
+ border-bottom-width: 2px;
715
+ border-style: dotted;
716
+ }
717
+ }
718
+ }
719
+
720
+ .grip-row {
721
+ height: calc(100% + 1px);
722
+ border-top-width: 1px;
723
+ border-color: rgba(0, 0, 0, .2);
724
+ left: -.75rem;
725
+ width: .75rem;
726
+ margin-top: -1px;
727
+ top: 0;
728
+
729
+ &:hover,
730
+ &.selected {
731
+ &::before {
732
+ content: '';
733
+ height: .625rem;
734
+ }
735
+ }
736
+
737
+ &:hover {
738
+ background-color: rgba(0, 0, 0, .1);
739
+
740
+ &::before {
741
+ border-left-width: 2px;
742
+ border-style: dotted;
743
+ border-color: rgba(0, 0, 0, .60);
744
+ }
745
+ }
746
+
747
+ &.first {
748
+ border-color: transparent;
749
+ border-top-left-radius: .125rem;
750
+ }
751
+
752
+ &.last {
753
+ border-bottom-left-radius: .125rem;
754
+ }
755
+
756
+ &.selected {
757
+ background-color: rgba(0, 0, 0, .30);
758
+ border-color: rgba(0, 0, 0, .30);
759
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
760
+
761
+ &::before {
762
+ border-left-width: 2px;
763
+ }
764
+ }
765
+ }
766
+
767
+ table {
768
+
769
+ tr[background="none"],
770
+ tr:not([background]) {
771
+ th {
772
+ background-color: var(--color-muted);
773
+ }
774
+ }
775
+ }
776
+
777
+ .table-controls {
778
+ position: absolute;
779
+ }
780
+
781
+ .table-wrapper .table-controls .columns-control,
782
+ .table-wrapper .table-controls .rows-control {
783
+ transition: opacity ease-in 100ms;
784
+ position: absolute;
785
+ z-index: 5;
786
+ display: flex;
787
+ justify-content: center;
788
+ align-items: center;
789
+ }
790
+
791
+ .table-wrapper .table-controls .columns-control {
792
+ height: 20px;
793
+ transform: translateY(-50%);
794
+ }
795
+
796
+ .table-wrapper .table-controls .columns-control .columns-control-div {
797
+ color: white;
798
+ 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");
799
+ width: 30px;
800
+ height: 15px;
801
+ }
802
+
803
+ .table-wrapper .table-controls .rows-control {
804
+ width: 20px;
805
+ transform: translateX(-50%);
806
+ left: -8px;
807
+ }
808
+
809
+ .table-wrapper .table-controls .rows-control .rows-control-div {
810
+ color: white;
811
+ 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");
812
+ height: 30px;
813
+ width: 15px;
814
+ }
815
+
816
+ .table-wrapper .table-controls .rows-control-div,
817
+ .table-wrapper .table-controls .columns-control-div {
818
+ border: 1px solid var(--color-border);
819
+ background-color: var(--color-muted);
820
+ box-shadow: var(--shadow-sm);
821
+ border-radius: 4px;
822
+ background-size: 1.25rem;
823
+ background-repeat: no-repeat;
824
+ background-position: center;
825
+ transition:
826
+ transform ease-out 100ms,
827
+ background-color ease-out 100ms;
828
+ outline: none;
829
+ cursor: pointer;
830
+ }
831
+
832
+ .resize-cursor .table-wrapper .table-controls .rows-control,
833
+ .table-wrapper.controls--disabled .table-controls .rows-control,
834
+ .resize-cursor .table-wrapper .table-controls .columns-control,
835
+ .table-wrapper.controls--disabled .table-controls .columns-control {
836
+ opacity: 0;
837
+ pointer-events: none;
838
+ }
839
+ }