@jotx-labs/editor 2.4.130 → 2.4.131

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 (45) hide show
  1. package/dist/styles/BlockMenu.css +111 -0
  2. package/dist/styles/ButtonNodeView.css +169 -0
  3. package/dist/styles/ChartNodeView.css +99 -0
  4. package/dist/styles/CodeBlockNodeView.css +90 -0
  5. package/dist/styles/DateTimeNodeView.css +89 -0
  6. package/dist/styles/GridCardNodeView.css +231 -0
  7. package/dist/styles/ImageToolbar.css +67 -0
  8. package/dist/styles/ImageVideoBlocks.css +441 -0
  9. package/dist/styles/JotxEditor.css +691 -0
  10. package/dist/styles/JotxLinkNodeView.css +149 -0
  11. package/dist/styles/LinkDialog.css +118 -0
  12. package/dist/styles/MathNodeView.css +97 -0
  13. package/dist/styles/MermaidNodeView.css +146 -0
  14. package/dist/styles/NodePickerDialog.css +189 -0
  15. package/dist/styles/ReadonlyBlockRenderer.css +389 -0
  16. package/dist/styles/SearchBar.css +167 -0
  17. package/dist/styles/SearchHighlight.css +48 -0
  18. package/dist/styles/SectionNodeView.css +90 -0
  19. package/dist/styles/SlashMenu.css +135 -0
  20. package/dist/styles/SpellCheck.css +16 -0
  21. package/dist/styles/TableToolbar.css +137 -0
  22. package/dist/styles/ToggleNodeView.css +56 -0
  23. package/package.json +4 -3
  24. package/src/styles/BlockMenu.css +111 -0
  25. package/src/styles/ButtonNodeView.css +169 -0
  26. package/src/styles/ChartNodeView.css +99 -0
  27. package/src/styles/CodeBlockNodeView.css +90 -0
  28. package/src/styles/DateTimeNodeView.css +89 -0
  29. package/src/styles/GridCardNodeView.css +231 -0
  30. package/src/styles/ImageToolbar.css +67 -0
  31. package/src/styles/ImageVideoBlocks.css +441 -0
  32. package/src/styles/JotxEditor.css +691 -0
  33. package/src/styles/JotxLinkNodeView.css +149 -0
  34. package/src/styles/LinkDialog.css +118 -0
  35. package/src/styles/MathNodeView.css +97 -0
  36. package/src/styles/MermaidNodeView.css +146 -0
  37. package/src/styles/NodePickerDialog.css +189 -0
  38. package/src/styles/ReadonlyBlockRenderer.css +389 -0
  39. package/src/styles/SearchBar.css +167 -0
  40. package/src/styles/SearchHighlight.css +48 -0
  41. package/src/styles/SectionNodeView.css +90 -0
  42. package/src/styles/SlashMenu.css +135 -0
  43. package/src/styles/SpellCheck.css +16 -0
  44. package/src/styles/TableToolbar.css +137 -0
  45. package/src/styles/ToggleNodeView.css +56 -0
@@ -0,0 +1,691 @@
1
+ /**
2
+ * Jotx Editor Styles - Beautiful, Notion-like
3
+ */
4
+
5
+ .jotx-editor {
6
+ width: 100%;
7
+ min-height: calc(100vh - var(--jotx-header-height, 60px));
8
+ padding: var(--jotx-editor-padding, 40px);
9
+ }
10
+
11
+ .jotx-editor-wrapper {
12
+ max-width: var(--jotx-editor-maxWidth, 900px);
13
+ margin: 0 auto;
14
+ position: relative;
15
+ }
16
+
17
+ .jotx-editor-loading {
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ min-height: 400px;
22
+ color: var(--jotx-textSecondary);
23
+ font-size: 14px;
24
+ }
25
+
26
+ /* Tiptap Editor Content */
27
+ .jotx-editor-content {
28
+ position: relative;
29
+ outline: none;
30
+ font-size: var(--jotx-editor-fontSize, 16px);
31
+ line-height: var(--jotx-editor-lineHeight, 1.6);
32
+ color: var(--jotx-text);
33
+ }
34
+
35
+ /* Placeholder */
36
+ .jotx-editor-content .is-editor-empty:first-child::before {
37
+ content: attr(data-placeholder);
38
+ float: left;
39
+ color: var(--jotx-textMuted);
40
+ pointer-events: none;
41
+ height: 0;
42
+ }
43
+
44
+ /* Headings */
45
+ .jotx-editor-content h1 {
46
+ font-size: 2em;
47
+ font-weight: 700;
48
+ line-height: 1.2;
49
+ margin: 1.5em 0 0.5em;
50
+ color: var(--jotx-text);
51
+ }
52
+
53
+ .jotx-editor-content h1:first-child {
54
+ margin-top: 0;
55
+ }
56
+
57
+ .jotx-editor-content h2 {
58
+ font-size: 1.5em;
59
+ font-weight: 600;
60
+ line-height: 1.3;
61
+ margin: 1.2em 0 0.4em;
62
+ color: var(--jotx-text);
63
+ }
64
+
65
+ .jotx-editor-content h3 {
66
+ font-size: 1.25em;
67
+ font-weight: 600;
68
+ line-height: 1.4;
69
+ margin: 1em 0 0.3em;
70
+ color: var(--jotx-text);
71
+ }
72
+
73
+ /* Paragraph */
74
+ .jotx-editor-content p {
75
+ margin: 0.75em 0;
76
+ color: var(--jotx-text);
77
+ }
78
+
79
+ .jotx-editor-content p:first-child {
80
+ margin-top: 0;
81
+ }
82
+
83
+ /* Lists */
84
+ .jotx-editor-content ul,
85
+ .jotx-editor-content ol {
86
+ /* Default list indent: one extra level in from paragraph baseline */
87
+ padding-left: 2.25em;
88
+ margin: 0.75em 0;
89
+ position: relative;
90
+ list-style-position: outside;
91
+ }
92
+
93
+ .jotx-editor-content ul {
94
+ list-style: disc;
95
+ }
96
+
97
+ .jotx-editor-content ol {
98
+ list-style: decimal;
99
+ }
100
+
101
+ .jotx-editor-content ul ul {
102
+ list-style: circle;
103
+ }
104
+
105
+ .jotx-editor-content ol ol {
106
+ list-style: lower-alpha;
107
+ }
108
+
109
+ /* Nested lists spacing (no rails; indentation is the visual cue) */
110
+ .jotx-editor-content ul ul,
111
+ .jotx-editor-content ul ol,
112
+ .jotx-editor-content ol ul,
113
+ .jotx-editor-content ol ol {
114
+ margin-top: 0.25em;
115
+ margin-bottom: 0.25em;
116
+ padding-left: 1.75em;
117
+ }
118
+
119
+ .jotx-editor-content li {
120
+ margin: 0.25em 0;
121
+ color: var(--jotx-text);
122
+ }
123
+
124
+ .jotx-editor-content li p {
125
+ margin: 0;
126
+ }
127
+
128
+ /* Task list (Checklist) */
129
+ .jotx-editor-content ul[data-type="taskList"] {
130
+ list-style: none;
131
+ padding-left: 0;
132
+ margin: 0.75em 0;
133
+ position: relative;
134
+ }
135
+
136
+ /* CRITICAL: Force flexbox on task item to keep checkbox and text on same line */
137
+ .jotx-editor-content li[data-type="taskItem"],
138
+ .ProseMirror li[data-type="taskItem"],
139
+ ul[data-type="taskList"]>li {
140
+ display: flex !important;
141
+ flex-direction: row !important;
142
+ flex-wrap: nowrap !important;
143
+ align-items: flex-start !important;
144
+ gap: 0.5em;
145
+ padding: 0.15em 0;
146
+ }
147
+
148
+ /* Checkbox label - must be inline */
149
+ .jotx-editor-content li[data-type="taskItem"]>label,
150
+ .ProseMirror li[data-type="taskItem"]>label {
151
+ position: static !important;
152
+ margin: 0 !important;
153
+ padding: 0;
154
+ line-height: 1.5;
155
+ user-select: none;
156
+ display: inline-flex !important;
157
+ align-items: center;
158
+ flex-shrink: 0;
159
+ margin-top: 2px !important;
160
+ }
161
+
162
+ /* Checkbox input */
163
+ .jotx-editor-content li[data-type="taskItem"]>label input[type="checkbox"],
164
+ .ProseMirror li[data-type="taskItem"]>label input[type="checkbox"] {
165
+ width: 16px;
166
+ height: 16px;
167
+ accent-color: var(--jotx-primary);
168
+ margin: 0;
169
+ flex-shrink: 0;
170
+ }
171
+
172
+ /* Content div - MUST BE INLINE to keep on same line as checkbox */
173
+ .jotx-editor-content li[data-type="taskItem"]>div,
174
+ .ProseMirror li[data-type="taskItem"]>div {
175
+ min-width: 0;
176
+ flex: 1 1 auto;
177
+ display: inline !important;
178
+ /* Changed from block to inline */
179
+ }
180
+
181
+ .jotx-editor-content li[data-type="taskItem"]>div>*,
182
+ .ProseMirror li[data-type="taskItem"]>div>* {
183
+ margin: 0;
184
+ display: inline !important;
185
+ }
186
+
187
+ .jotx-editor-content li[data-type="taskItem"] p,
188
+ .ProseMirror li[data-type="taskItem"] p {
189
+ margin: 0;
190
+ display: inline !important;
191
+ line-height: 1.5;
192
+ }
193
+
194
+ /* Nested task lists spacing (no rails) */
195
+ .jotx-editor-content ul[data-type="taskList"] ul[data-type="taskList"] {
196
+ margin-top: 0.25em;
197
+ margin-bottom: 0.25em;
198
+ padding-left: 1.75em;
199
+ position: relative;
200
+ }
201
+
202
+ /* Blockquote */
203
+ .jotx-editor-content blockquote {
204
+ border-left: 3px solid var(--jotx-primary);
205
+ padding-left: 1em;
206
+ margin: 1em 0;
207
+ color: var(--jotx-textSecondary);
208
+ font-style: italic;
209
+ }
210
+
211
+ /* Code Block */
212
+ .jotx-editor-content pre {
213
+ background-color: var(--jotx-backgroundSecondary);
214
+ border: 1px solid var(--jotx-border);
215
+ border-radius: 6px;
216
+ padding: 1em;
217
+ margin: 1em 0;
218
+ overflow-x: auto;
219
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
220
+ font-size: 0.9em;
221
+ line-height: 1.5;
222
+ }
223
+
224
+ .jotx-editor-content pre code {
225
+ background: none;
226
+ padding: 0;
227
+ border: none;
228
+ color: var(--jotx-text);
229
+ }
230
+
231
+ /* Inline Code */
232
+ .jotx-editor-content code {
233
+ background-color: var(--jotx-backgroundSecondary);
234
+ padding: 0.2em 0.4em;
235
+ border-radius: 3px;
236
+ font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
237
+ font-size: 0.9em;
238
+ color: var(--jotx-text);
239
+ }
240
+
241
+ /* Horizontal Rule */
242
+ .jotx-editor-content hr {
243
+ border: none;
244
+ border-top: 2px solid var(--jotx-border);
245
+ margin: 2em 0;
246
+ }
247
+
248
+ /* Callout */
249
+ .jotx-editor-content div[data-type="callout"] {
250
+ border: 1px solid var(--jotx-border);
251
+ background: var(--jotx-backgroundSecondary);
252
+ border-radius: 10px;
253
+ padding: 12px 14px;
254
+ margin: 1em 0;
255
+ position: relative;
256
+ overflow: hidden;
257
+ }
258
+
259
+ .jotx-callout-toolbar {
260
+ display: flex;
261
+ gap: 6px;
262
+ padding: 6px;
263
+ border-radius: 10px;
264
+ border: 1px solid var(--jotx-border);
265
+ background: var(--jotx-backgroundSecondary);
266
+ }
267
+
268
+ .jotx-callout-toolbar-floating {
269
+ position: fixed;
270
+ z-index: 12000;
271
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
272
+ }
273
+
274
+ .jotx-callout-chip {
275
+ border: 1px solid var(--jotx-border);
276
+ background: transparent;
277
+ color: var(--jotx-textSecondary);
278
+ padding: 4px 8px;
279
+ border-radius: 999px;
280
+ font-size: 11px;
281
+ font-weight: 600;
282
+ text-transform: uppercase;
283
+ cursor: pointer;
284
+ }
285
+
286
+ .jotx-callout-chip[data-variant="info"] {
287
+ border-color: rgba(148, 163, 184, 0.75);
288
+ }
289
+
290
+ .jotx-callout-chip[data-variant="warning"] {
291
+ border-color: rgba(245, 158, 11, 0.75);
292
+ }
293
+
294
+ .jotx-callout-chip[data-variant="success"] {
295
+ border-color: rgba(34, 197, 94, 0.75);
296
+ }
297
+
298
+ .jotx-callout-chip[data-variant="danger"] {
299
+ border-color: rgba(239, 68, 68, 0.75);
300
+ }
301
+
302
+ .jotx-callout-chip.active {
303
+ color: var(--jotx-text);
304
+ box-shadow: inset 0 0 0 1px currentColor;
305
+ }
306
+
307
+ .jotx-callout-chip.active[data-variant="info"] {
308
+ color: rgba(148, 163, 184, 0.95);
309
+ }
310
+
311
+ .jotx-callout-chip.active[data-variant="warning"] {
312
+ color: rgba(245, 158, 11, 0.95);
313
+ }
314
+
315
+ .jotx-callout-chip.active[data-variant="success"] {
316
+ color: rgba(34, 197, 94, 0.95);
317
+ }
318
+
319
+ .jotx-callout-chip.active[data-variant="danger"] {
320
+ color: rgba(239, 68, 68, 0.95);
321
+ }
322
+
323
+ .jotx-callout-chip:hover {
324
+ color: var(--jotx-text);
325
+ background: var(--jotx-backgroundTertiary);
326
+ }
327
+
328
+ .jotx-editor-content div[data-type="callout"]::before {
329
+ content: "";
330
+ position: absolute;
331
+ left: 0;
332
+ top: 0;
333
+ bottom: 0;
334
+ width: 4px;
335
+ background: rgba(148, 163, 184, 0.95);
336
+ /* info = grey */
337
+ opacity: 0.9;
338
+ }
339
+
340
+ .jotx-editor-content div[data-type="callout"][data-variant="info"] {
341
+ background: rgba(148, 163, 184, 0.10);
342
+ }
343
+
344
+ .jotx-editor-content div[data-type="callout"][data-variant="warning"] {
345
+ background: rgba(245, 158, 11, 0.12);
346
+ }
347
+
348
+ .jotx-editor-content div[data-type="callout"][data-variant="danger"] {
349
+ background: rgba(239, 68, 68, 0.12);
350
+ }
351
+
352
+ .jotx-editor-content div[data-type="callout"][data-variant="success"] {
353
+ background: rgba(34, 197, 94, 0.12);
354
+ }
355
+
356
+ .jotx-editor-content div[data-type="callout"][data-variant="warning"]::before {
357
+ background: rgba(245, 158, 11, 0.95);
358
+ }
359
+
360
+ .jotx-editor-content div[data-type="callout"][data-variant="success"]::before {
361
+ background: rgba(34, 197, 94, 0.95);
362
+ }
363
+
364
+ .jotx-editor-content div[data-type="callout"][data-variant="danger"]::before {
365
+ background: rgba(239, 68, 68, 0.95);
366
+ }
367
+
368
+ .jotx-editor-content div[data-type="callout"][data-variant="warning"] {
369
+ border-color: rgba(245, 158, 11, 0.55);
370
+ }
371
+
372
+ .jotx-editor-content div[data-type="callout"][data-variant="danger"] {
373
+ border-color: rgba(239, 68, 68, 0.55);
374
+ }
375
+
376
+ .jotx-editor-content div[data-type="callout"][data-variant="success"] {
377
+ border-color: rgba(34, 197, 94, 0.55);
378
+ }
379
+
380
+ .jotx-editor-content div[data-type="callout"] p {
381
+ margin: 0;
382
+ }
383
+
384
+ /* Link card + Attach card */
385
+ .jotx-editor-content div[data-type="linkCard"],
386
+ .jotx-editor-content div[data-type="attach"] {
387
+ border: 1px solid var(--jotx-border);
388
+ background: var(--jotx-backgroundSecondary);
389
+ border-radius: 10px;
390
+ padding: 10px 12px;
391
+ margin: 1em 0;
392
+ }
393
+
394
+ .jotx-editor-content div[data-type="linkCard"] p,
395
+ .jotx-editor-content div[data-type="attach"] p {
396
+ margin: 0;
397
+ }
398
+
399
+ .jotx-editor-content div[data-type="linkCard"] {
400
+ border-left: 3px solid var(--jotx-primary);
401
+ }
402
+
403
+ .jotx-editor-content div[data-type="attach"] {
404
+ border-left: 3px solid var(--jotx-textSecondary);
405
+ }
406
+
407
+ /* Image */
408
+ .jotx-editor-content img {
409
+ max-width: 100%;
410
+ height: auto;
411
+ border-radius: 10px;
412
+ margin: 1em 0;
413
+ border: 1px solid var(--jotx-border);
414
+ }
415
+
416
+ /* Table */
417
+ .jotx-editor-content table {
418
+ width: 100%;
419
+ border-collapse: separate;
420
+ border-spacing: 0;
421
+ border: 1px solid var(--jotx-border);
422
+ border-radius: 10px;
423
+ overflow: hidden;
424
+ margin: 1em 0;
425
+ background: var(--jotx-background);
426
+ }
427
+
428
+ .jotx-editor-content th,
429
+ .jotx-editor-content td {
430
+ border-right: 1px solid var(--jotx-border);
431
+ border-bottom: 1px solid var(--jotx-border);
432
+ padding: 10px 12px;
433
+ vertical-align: top;
434
+ }
435
+
436
+ .jotx-editor-content tr:last-child td {
437
+ border-bottom: none;
438
+ }
439
+
440
+ .jotx-editor-content th:last-child,
441
+ .jotx-editor-content td:last-child {
442
+ border-right: none;
443
+ }
444
+
445
+ .jotx-editor-content th {
446
+ background: var(--jotx-backgroundSecondary);
447
+ font-weight: 700;
448
+ font-size: 12px;
449
+ color: var(--jotx-textSecondary);
450
+ text-transform: uppercase;
451
+ letter-spacing: 0.5px;
452
+ }
453
+
454
+ .jotx-editor-content table[data-type="properties"] th {
455
+ background: rgba(148, 163, 184, 0.10);
456
+ }
457
+
458
+ /* Table Cell Selection - Tiptap adds .selectedCell class */
459
+ .jotx-editor-content .selectedCell,
460
+ .jotx-editor-content td.selectedCell,
461
+ .jotx-editor-content th.selectedCell,
462
+ .ProseMirror .selectedCell {
463
+ background: rgba(0, 200, 200, 0.3) !important;
464
+ outline: 2px solid var(--jotx-primary, #00c8c8);
465
+ outline-offset: -2px;
466
+ }
467
+
468
+ /* Improve table cell selection cursor */
469
+ .jotx-editor-content table td,
470
+ .jotx-editor-content table th {
471
+ cursor: cell;
472
+ user-select: text;
473
+ }
474
+
475
+ /* Column/Row resize handles */
476
+ .jotx-editor-content .column-resize-handle {
477
+ position: absolute;
478
+ right: -2px;
479
+ top: 0;
480
+ bottom: -2px;
481
+ width: 4px;
482
+ background-color: var(--jotx-primary);
483
+ pointer-events: auto;
484
+ cursor: col-resize;
485
+ }
486
+
487
+ .jotx-editor-content .tableWrapper {
488
+ overflow-x: auto;
489
+ }
490
+
491
+ .jotx-editor-content table.resize-cursor {
492
+ cursor: col-resize;
493
+ }
494
+
495
+ /* Links */
496
+ .jotx-editor-content a {
497
+ color: var(--jotx-primary);
498
+ text-decoration: none;
499
+ border-bottom: 1px solid transparent;
500
+ transition: border-color 0.2s;
501
+ }
502
+
503
+ .jotx-editor-content a:hover {
504
+ border-bottom-color: var(--jotx-primary);
505
+ }
506
+
507
+ /* Inline highlight */
508
+ .jotx-editor-content mark {
509
+ background: rgba(250, 204, 21, 0.35);
510
+ padding: 0.08em 0.2em;
511
+ border-radius: 0.25em;
512
+ }
513
+
514
+ /* Selection */
515
+ .jotx-editor-content ::selection {
516
+ background-color: var(--jotx-primary);
517
+ color: white;
518
+ }
519
+
520
+ /* Focus */
521
+ .jotx-editor-content:focus {
522
+ outline: none;
523
+ }
524
+
525
+ /* Smooth transitions */
526
+ .jotx-editor-content * {
527
+ transition: color 0.2s, background-color 0.2s, border-color 0.2s;
528
+ }
529
+
530
+ /* Empty state */
531
+ .jotx-editor-content:empty::before {
532
+ content: 'Start typing or press \'/\' for commands...';
533
+ color: var(--jotx-textMuted);
534
+ pointer-events: none;
535
+ }
536
+
537
+ /* Link Block */
538
+ .jotx-link-block {
539
+ margin: 0.5em 0;
540
+ padding: 8px 12px;
541
+ border-radius: 4px;
542
+ background-color: var(--jotx-bgSecondary, rgba(0, 0, 0, 0.03));
543
+ border-left: 3px solid var(--jotx-primary, #007bff);
544
+ transition: background-color 0.2s, border-color 0.2s;
545
+ }
546
+
547
+ .jotx-link-block:hover {
548
+ background-color: var(--jotx-bgHover, rgba(0, 0, 0, 0.05));
549
+ }
550
+
551
+ .jotx-link-block-anchor {
552
+ color: var(--jotx-primary, #007bff);
553
+ text-decoration: none;
554
+ font-weight: 500;
555
+ display: inline-flex;
556
+ align-items: center;
557
+ gap: 6px;
558
+ }
559
+
560
+ .jotx-link-block-anchor::before {
561
+ content: '🔗';
562
+ font-size: 1em;
563
+ }
564
+
565
+ .jotx-link-block-anchor:hover {
566
+ text-decoration: underline;
567
+ }
568
+
569
+ /* Template Picker Modal */
570
+ .jotx-modal-overlay {
571
+ position: fixed;
572
+ top: 0;
573
+ left: 0;
574
+ right: 0;
575
+ bottom: 0;
576
+ background-color: rgba(0, 0, 0, 0.6);
577
+ display: flex;
578
+ align-items: center;
579
+ justify-content: center;
580
+ z-index: 10000;
581
+ animation: fadeIn 0.1s ease;
582
+ }
583
+
584
+ @keyframes fadeIn {
585
+ from {
586
+ opacity: 0;
587
+ }
588
+
589
+ to {
590
+ opacity: 1;
591
+ }
592
+ }
593
+
594
+ .jotx-modal-content {
595
+ background-color: var(--vscode-quickInput-background, var(--vscode-editor-background));
596
+ border: 1px solid var(--vscode-quickInput-border, var(--vscode-widget-border));
597
+ border-radius: 6px;
598
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
599
+ max-width: 480px;
600
+ width: 90%;
601
+ max-height: 500px;
602
+ overflow: hidden;
603
+ display: flex;
604
+ flex-direction: column;
605
+ animation: slideUp 0.15s ease;
606
+ }
607
+
608
+ @keyframes slideUp {
609
+ from {
610
+ transform: translateY(10px);
611
+ opacity: 0;
612
+ }
613
+
614
+ to {
615
+ transform: translateY(0);
616
+ opacity: 1;
617
+ }
618
+ }
619
+
620
+ .jotx-modal-header {
621
+ padding: 12px 16px;
622
+ border-bottom: 1px solid var(--vscode-quickInput-border, var(--vscode-widget-border));
623
+ display: flex;
624
+ align-items: center;
625
+ justify-content: space-between;
626
+ }
627
+
628
+ .jotx-modal-header h3 {
629
+ margin: 0;
630
+ font-size: 13px;
631
+ font-weight: 600;
632
+ color: var(--vscode-quickInput-foreground, var(--vscode-foreground));
633
+ }
634
+
635
+ .jotx-modal-close {
636
+ background: none;
637
+ border: none;
638
+ font-size: 16px;
639
+ color: var(--vscode-icon-foreground);
640
+ cursor: pointer;
641
+ padding: 4px;
642
+ line-height: 1;
643
+ transition: opacity 0.2s;
644
+ opacity: 0.7;
645
+ }
646
+
647
+ .jotx-modal-close:hover {
648
+ opacity: 1;
649
+ }
650
+
651
+ .jotx-template-list {
652
+ padding: 8px;
653
+ overflow-y: auto;
654
+ flex: 1;
655
+ }
656
+
657
+ .jotx-template-item {
658
+ display: flex;
659
+ align-items: center;
660
+ gap: 10px;
661
+ padding: 8px 12px;
662
+ margin: 2px 0;
663
+ background: transparent;
664
+ border: 1px solid transparent;
665
+ border-radius: 4px;
666
+ cursor: pointer;
667
+ transition: all 0.1s;
668
+ width: 100%;
669
+ text-align: left;
670
+ font-size: 13px;
671
+ }
672
+
673
+ .jotx-template-item:hover {
674
+ background: var(--vscode-list-hoverBackground);
675
+ border-color: var(--vscode-list-focusOutline, var(--vscode-focusBorder));
676
+ }
677
+
678
+ .jotx-template-item:active {
679
+ background: var(--vscode-list-activeSelectionBackground);
680
+ }
681
+
682
+ .jotx-template-icon {
683
+ font-size: 16px;
684
+ flex-shrink: 0;
685
+ opacity: 0.8;
686
+ }
687
+
688
+ .jotx-template-name {
689
+ font-weight: 400;
690
+ color: var(--vscode-quickInput-foreground, var(--vscode-foreground));
691
+ }