@elixpo/lixeditor 2.1.6

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,518 @@
1
+ /* ===== Slash menu / dropdown ===== */
2
+
3
+ .blog-editor-wrapper .mantine-Menu-dropdown,
4
+ .blog-editor-wrapper .bn-suggestion-menu {
5
+ background: var(--bg-surface) !important;
6
+ border: 1px solid var(--border-default) !important;
7
+ border-radius: 12px !important;
8
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.5) !important;
9
+ scrollbar-width: thin;
10
+ scrollbar-color: var(--bg-elevated) transparent;
11
+ }
12
+
13
+ .blog-editor-wrapper .bn-suggestion-menu::-webkit-scrollbar {
14
+ width: 6px;
15
+ }
16
+
17
+ .blog-editor-wrapper .bn-suggestion-menu::-webkit-scrollbar-track {
18
+ background: transparent;
19
+ }
20
+
21
+ .blog-editor-wrapper .bn-suggestion-menu::-webkit-scrollbar-thumb {
22
+ background: var(--bg-elevated);
23
+ border-radius: 3px;
24
+ }
25
+
26
+ .blog-editor-wrapper .bn-suggestion-menu::-webkit-scrollbar-thumb:hover {
27
+ background: var(--border-hover);
28
+ }
29
+
30
+ /* Slash menu group headers */
31
+ .blog-editor-wrapper .bn-suggestion-menu [class*="group"] {
32
+ color: var(--text-faint) !important;
33
+ font-size: 11px !important;
34
+ text-transform: uppercase !important;
35
+ letter-spacing: 0.05em !important;
36
+ }
37
+
38
+ .blog-editor-wrapper .mantine-Menu-item {
39
+ color: var(--text-primary) !important;
40
+ border-radius: 8px !important;
41
+ }
42
+
43
+ .blog-editor-wrapper .mantine-Menu-item:hover,
44
+ .blog-editor-wrapper .mantine-Menu-item[data-hovered] {
45
+ background: var(--bg-active) !important;
46
+ }
47
+
48
+ .blog-editor-wrapper .mantine-Menu-itemLabel {
49
+ color: var(--text-primary) !important;
50
+ }
51
+
52
+ .blog-editor-wrapper .mantine-Menu-itemSection {
53
+ color: var(--text-muted) !important;
54
+ }
55
+
56
+ /* Block type selector dropdown */
57
+ .blog-editor-wrapper .bn-toolbar select,
58
+ .blog-editor-wrapper .bn-toolbar [class*="select"],
59
+ .blog-editor-wrapper .bn-toolbar [role="listbox"] {
60
+ background: var(--bg-surface) !important;
61
+ color: var(--text-primary) !important;
62
+ border-color: var(--border-default) !important;
63
+ }
64
+
65
+ /* Mantine Select / Combobox dropdowns (block type picker) */
66
+ .blog-editor-wrapper .mantine-Combobox-dropdown,
67
+ .blog-editor-wrapper .mantine-Select-dropdown {
68
+ background: var(--bg-surface) !important;
69
+ border: 1px solid var(--border-default) !important;
70
+ border-radius: 10px !important;
71
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3) !important;
72
+ }
73
+
74
+ .blog-editor-wrapper .mantine-Combobox-option {
75
+ color: var(--text-primary) !important;
76
+ border-radius: 6px !important;
77
+ }
78
+
79
+ .blog-editor-wrapper .mantine-Combobox-option:hover,
80
+ .blog-editor-wrapper .mantine-Combobox-option[data-combobox-selected] {
81
+ background: var(--bg-active) !important;
82
+ }
83
+
84
+ .blog-editor-wrapper .mantine-Combobox-option[data-combobox-active] {
85
+ background: var(--bg-active) !important;
86
+ }
87
+
88
+ .blog-editor-wrapper .mantine-Input-input {
89
+ background: var(--bg-surface) !important;
90
+ color: var(--text-primary) !important;
91
+ border-color: var(--border-default) !important;
92
+ }
93
+
94
+ /* ===== Formatting toolbar ===== */
95
+
96
+ .blog-editor-wrapper .bn-toolbar {
97
+ background: var(--bg-surface);
98
+ border: 1px solid var(--border-default);
99
+ border-radius: 10px;
100
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
101
+ overflow: hidden;
102
+ }
103
+
104
+ /* When a link is selected, the link toolbar appears — hide AI + link + color from formatting toolbar */
105
+ .blog-editor-wrapper:has(.bn-link-toolbar) .bn-toolbar:not(.bn-link-toolbar) [data-test="createLink"],
106
+ .blog-editor-wrapper:has(.bn-link-toolbar) .bn-toolbar:not(.bn-link-toolbar) .ai-star-btn,
107
+ .blog-editor-wrapper:has(.bn-link-toolbar) .bn-toolbar:not(.bn-link-toolbar) .ai-toolbar-sep,
108
+ .blog-editor-wrapper:has(.bn-link-toolbar) .bn-toolbar:not(.bn-link-toolbar) .toolbar-color-btn,
109
+ .blog-editor-wrapper:has(.bn-link-toolbar) .bn-toolbar:not(.bn-link-toolbar) .toolbar-color-sep {
110
+ display: none !important;
111
+ }
112
+
113
+ .blog-editor-wrapper .bn-toolbar button {
114
+ color: var(--text-muted);
115
+ }
116
+
117
+ /* Link create button — highlight it */
118
+ .blog-editor-wrapper .bn-toolbar [data-test="createLink"] {
119
+ color: var(--text-muted);
120
+ }
121
+
122
+ .blog-editor-wrapper .bn-toolbar [data-test="createLink"]:hover {
123
+ color: #7ba8f0;
124
+ background: rgba(123, 168, 240, 0.1);
125
+ }
126
+
127
+ .blog-editor-wrapper .bn-toolbar [data-test="createLink"][data-active="true"] {
128
+ color: #7ba8f0;
129
+ }
130
+
131
+ .blog-editor-wrapper .bn-toolbar button:hover {
132
+ color: #7ba8f0;
133
+ background: var(--border-default);
134
+ }
135
+
136
+ .blog-editor-wrapper .bn-toolbar button[data-active="true"] {
137
+ color: #7ba8f0;
138
+ }
139
+
140
+ /* AI star button inside native toolbar */
141
+ .ai-toolbar-sep {
142
+ width: 1px;
143
+ height: 18px;
144
+ background: var(--border-default);
145
+ margin: 0 4px;
146
+ align-self: center;
147
+ }
148
+
149
+ .ai-star-btn {
150
+ display: flex;
151
+ align-items: center;
152
+ justify-content: center;
153
+ width: 28px;
154
+ height: 28px;
155
+ border: none;
156
+ border-radius: 6px;
157
+ background: transparent;
158
+ color: #9b7bf7;
159
+ cursor: pointer;
160
+ transition: background 0.15s, color 0.15s;
161
+ position: relative;
162
+ }
163
+
164
+ .ai-star-btn:hover {
165
+ background: rgba(155, 123, 247, 0.1);
166
+ color: #b69aff;
167
+ }
168
+
169
+
170
+ /* ===== Toolbar Color/Highlight Buttons ===== */
171
+
172
+ .toolbar-color-btn,
173
+ .toolbar-highlight-btn {
174
+ display: flex;
175
+ align-items: center;
176
+ justify-content: center;
177
+ width: 28px;
178
+ height: 28px;
179
+ border: none;
180
+ border-radius: 6px;
181
+ background: transparent;
182
+ color: var(--text-secondary);
183
+ cursor: pointer;
184
+ transition: background 0.15s, color 0.15s;
185
+ position: relative;
186
+ flex-direction: column;
187
+ gap: 1px;
188
+ }
189
+
190
+ .toolbar-color-btn:hover,
191
+ .toolbar-highlight-btn:hover {
192
+ background: rgba(255, 255, 255, 0.08);
193
+ color: var(--text-primary);
194
+ }
195
+
196
+ .toolbar-color-indicator {
197
+ display: block;
198
+ width: 12px;
199
+ height: 2.5px;
200
+ border-radius: 1px;
201
+ margin-top: -2px;
202
+ }
203
+
204
+ .toolbar-color-popover {
205
+ background: var(--bg-surface);
206
+ border: 1px solid var(--border-default);
207
+ border-radius: 10px;
208
+ padding: 10px;
209
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.55);
210
+ animation: aiMenuFadeIn 0.1s ease-out;
211
+ min-width: 160px;
212
+ }
213
+
214
+ .toolbar-color-popover-label {
215
+ font-size: 10px;
216
+ font-weight: 600;
217
+ color: var(--text-faint);
218
+ text-transform: uppercase;
219
+ letter-spacing: 0.05em;
220
+ margin-bottom: 8px;
221
+ }
222
+
223
+ .toolbar-color-grid {
224
+ display: grid;
225
+ grid-template-columns: repeat(5, 1fr);
226
+ gap: 5px;
227
+ }
228
+
229
+ .toolbar-color-swatch {
230
+ width: 26px;
231
+ height: 26px;
232
+ border-radius: 6px;
233
+ border: 1.5px solid rgba(255, 255, 255, 0.08);
234
+ cursor: pointer;
235
+ transition: transform 0.1s, border-color 0.15s;
236
+ }
237
+
238
+ .toolbar-color-swatch:hover {
239
+ transform: scale(1.15);
240
+ border-color: rgba(255, 255, 255, 0.3);
241
+ }
242
+
243
+ /* ===== AI Command Menu (space trigger) ===== */
244
+
245
+ .ai-command-menu {
246
+ width: 260px;
247
+ background: var(--bg-surface);
248
+ border: 1px solid var(--border-default);
249
+ border-radius: 12px;
250
+ box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
251
+ padding: 6px;
252
+ overflow: hidden;
253
+ animation: aiMenuFadeIn 0.12s ease-out;
254
+ }
255
+
256
+ @keyframes aiMenuFadeIn {
257
+ from {
258
+ opacity: 0;
259
+ transform: translateY(-4px);
260
+ }
261
+ to {
262
+ opacity: 1;
263
+ transform: translateY(0);
264
+ }
265
+ }
266
+
267
+ .ai-command-group {
268
+ margin-bottom: 2px;
269
+ }
270
+
271
+ .ai-command-group-label {
272
+ font-size: 10px;
273
+ font-weight: 600;
274
+ text-transform: uppercase;
275
+ letter-spacing: 0.06em;
276
+ color: var(--text-faint);
277
+ padding: 8px 10px 4px;
278
+ }
279
+
280
+ .ai-command-item {
281
+ display: flex;
282
+ align-items: center;
283
+ gap: 10px;
284
+ width: 100%;
285
+ padding: 8px 10px;
286
+ border: none;
287
+ background: transparent;
288
+ color: var(--text-secondary);
289
+ font-size: 13px;
290
+ border-radius: 8px;
291
+ cursor: pointer;
292
+ transition: background 0.1s, color 0.1s;
293
+ text-align: left;
294
+ }
295
+
296
+ .ai-command-item:hover,
297
+ .ai-command-item-active {
298
+ background: var(--border-default);
299
+ color: #fff;
300
+ }
301
+
302
+ .ai-command-item-active .ai-command-icon {
303
+ color: #9b7bf7;
304
+ }
305
+
306
+ .ai-command-icon {
307
+ display: flex;
308
+ align-items: center;
309
+ justify-content: center;
310
+ width: 28px;
311
+ height: 28px;
312
+ border-radius: 6px;
313
+ background: var(--bg-elevated);
314
+ border: 1px solid var(--border-default);
315
+ color: var(--text-muted);
316
+ flex-shrink: 0;
317
+ font-size: 16px;
318
+ transition: color 0.1s;
319
+ }
320
+
321
+ .ai-command-label {
322
+ white-space: nowrap;
323
+ overflow: hidden;
324
+ text-overflow: ellipsis;
325
+ }
326
+
327
+ /* ===== AI slash menu icon sparkle tint ===== */
328
+
329
+ .ai-slash-icon {
330
+ color: #9b7bf7;
331
+ }
332
+
333
+ /* ===== Slash menu group labels for Media / AI ===== */
334
+
335
+ .blog-editor-wrapper .bn-suggestion-menu [data-group="Media"] .bn-suggestion-menu-group-label,
336
+ .blog-editor-wrapper .bn-suggestion-menu [data-group="AI Generate"] .bn-suggestion-menu-group-label {
337
+ color: #9b7bf7 !important;
338
+ }
339
+
340
+ /* Link tooltip — only keep Edit link and Open link */
341
+ .blog-editor-wrapper .bn-link-toolbar {
342
+ background: var(--bg-surface);
343
+ border: 1px solid var(--border-default);
344
+ border-radius: 8px;
345
+ }
346
+
347
+ /* Hide the delete/unlink button (3rd child) */
348
+ .blog-editor-wrapper .bn-link-toolbar > *:nth-child(3) {
349
+ display: none !important;
350
+ }
351
+ /* Hide any further toolbar buttons that may appear (4th+) */
352
+ .blog-editor-wrapper .bn-link-toolbar > *:nth-child(n+4):not([data-radix-popper-content-wrapper]) {
353
+ display: none !important;
354
+ }
355
+
356
+ /* Style the edit link popover form */
357
+ .blog-editor-wrapper .bn-form-popover {
358
+ background: var(--bg-surface);
359
+ border: 1px solid var(--border-default);
360
+ border-radius: 10px;
361
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
362
+ padding: 8px;
363
+ min-width: 280px;
364
+ }
365
+
366
+ [data-theme="dark"] .blog-editor-wrapper .bn-form-popover {
367
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
368
+ }
369
+
370
+ .blog-editor-wrapper .bn-form-popover .bn-text-input,
371
+ .blog-editor-wrapper .bn-popover-content input {
372
+ width: 100%;
373
+ padding: 8px 10px;
374
+ font-size: 13px;
375
+ border: 1px solid var(--border-default);
376
+ border-radius: 6px;
377
+ background: var(--bg-app);
378
+ color: var(--text-primary);
379
+ outline: none;
380
+ margin-bottom: 6px;
381
+ }
382
+
383
+ .blog-editor-wrapper .bn-form-popover .bn-text-input:focus,
384
+ .blog-editor-wrapper .bn-popover-content input:focus {
385
+ border-color: #9b7bf7;
386
+ }
387
+
388
+ .blog-editor-wrapper .bn-form-popover .bn-text-input::placeholder,
389
+ .blog-editor-wrapper .bn-popover-content input::placeholder {
390
+ color: var(--text-faint);
391
+ }
392
+
393
+ /* Style the create link popover */
394
+ .blog-editor-wrapper .bn-popover-content {
395
+ background: var(--bg-surface);
396
+ border: 1px solid var(--border-default);
397
+ border-radius: 10px;
398
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
399
+ padding: 8px;
400
+ min-width: 280px;
401
+ }
402
+
403
+ [data-theme="dark"] .blog-editor-wrapper .bn-popover-content {
404
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
405
+ }
406
+
407
+ /* ===== Custom Link Editor Popup ===== */
408
+
409
+ .link-editor-popup {
410
+ position: fixed;
411
+ z-index: 99;
412
+ width: 320px;
413
+ background: var(--bg-surface);
414
+ border: 1px solid var(--border-default);
415
+ border-radius: 12px;
416
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
417
+ overflow: hidden;
418
+ animation: confirmDialogIn 0.15s cubic-bezier(0.16, 1, 0.3, 1);
419
+ }
420
+
421
+ [data-theme="dark"] .link-editor-popup {
422
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
423
+ }
424
+
425
+ .link-editor-header {
426
+ display: flex;
427
+ align-items: center;
428
+ gap: 6px;
429
+ padding: 10px 14px 0;
430
+ font-size: 12px;
431
+ font-weight: 600;
432
+ color: var(--text-muted);
433
+ }
434
+
435
+ .link-editor-fields {
436
+ padding: 10px 14px;
437
+ display: flex;
438
+ flex-direction: column;
439
+ gap: 8px;
440
+ }
441
+
442
+ .link-editor-field {
443
+ display: flex;
444
+ flex-direction: column;
445
+ gap: 4px;
446
+ }
447
+
448
+ .link-editor-label {
449
+ font-size: 10px;
450
+ font-weight: 600;
451
+ text-transform: uppercase;
452
+ letter-spacing: 0.5px;
453
+ color: var(--text-faint);
454
+ }
455
+
456
+ .link-editor-input {
457
+ width: 100%;
458
+ padding: 8px 10px;
459
+ font-size: 13px;
460
+ border: 1px solid var(--border-default);
461
+ border-radius: 6px;
462
+ background: var(--bg-app);
463
+ color: var(--text-primary);
464
+ outline: none;
465
+ box-sizing: border-box;
466
+ }
467
+
468
+ .link-editor-input:focus {
469
+ border-color: #9b7bf7;
470
+ }
471
+
472
+ .link-editor-input::placeholder {
473
+ color: var(--text-faint);
474
+ }
475
+
476
+ .link-editor-actions {
477
+ display: flex;
478
+ justify-content: flex-end;
479
+ gap: 8px;
480
+ padding: 8px 14px;
481
+ border-top: 1px solid var(--divider);
482
+ }
483
+
484
+ .link-editor-cancel {
485
+ padding: 5px 12px;
486
+ font-size: 12px;
487
+ color: var(--text-muted);
488
+ background: none;
489
+ border: none;
490
+ cursor: pointer;
491
+ border-radius: 6px;
492
+ transition: color 0.15s;
493
+ }
494
+
495
+ .link-editor-cancel:hover {
496
+ color: var(--text-primary);
497
+ }
498
+
499
+ .link-editor-save {
500
+ padding: 5px 14px;
501
+ font-size: 12px;
502
+ font-weight: 600;
503
+ color: white;
504
+ background: #9b7bf7;
505
+ border: none;
506
+ border-radius: 6px;
507
+ cursor: pointer;
508
+ transition: background 0.15s;
509
+ }
510
+
511
+ .link-editor-save:hover {
512
+ background: #8b6ae6;
513
+ }
514
+
515
+ .link-editor-save:disabled {
516
+ opacity: 0.4;
517
+ cursor: not-allowed;
518
+ }