@richscripts/richtexteditor 2.4.0 → 2.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/migration/README.md +100 -0
- package/migration/cli.js +294 -0
- package/migration/index.d.ts +18 -0
- package/migration/index.js +242 -0
- package/migration/report-schema-v2.json +127 -0
- package/package.json +11 -1
- package/richtexteditor/CHANGELOG.md +326 -1
- package/richtexteditor/all_plugins.js +14959 -4832
- package/richtexteditor/all_plugins.min.js +62 -42
- package/richtexteditor/plugins/accessibilitychecker.js +8 -7
- package/richtexteditor/plugins/aitoolkit.css +17 -8
- package/richtexteditor/plugins/aitoolkit.js +8 -8
- package/richtexteditor/plugins/all_plugins.js +14959 -4832
- package/richtexteditor/plugins/all_plugins.min.js +62 -42
- package/richtexteditor/plugins/autocorrect.js +353 -0
- package/richtexteditor/plugins/bookmarkcard.js +12 -1
- package/richtexteditor/plugins/changecase.js +238 -0
- package/richtexteditor/plugins/comments.js +15 -28
- package/richtexteditor/plugins/contentminimap.js +6 -5
- package/richtexteditor/plugins/crossreference.js +408 -0
- package/richtexteditor/plugins/documentimport.js +915 -21
- package/richtexteditor/plugins/documentoutline.js +5 -4
- package/richtexteditor/plugins/docxexport.js +960 -0
- package/richtexteditor/plugins/draghandle.js +309 -0
- package/richtexteditor/plugins/footnotes.js +398 -0
- package/richtexteditor/plugins/formatpainter.js +298 -0
- package/richtexteditor/plugins/formattingmarks.js +246 -0
- package/richtexteditor/plugins/html2pdf.js +108 -4
- package/richtexteditor/plugins/imageeditor.js +37 -7
- package/richtexteditor/plugins/insertgallery.js +553 -170
- package/richtexteditor/plugins/keyboarda11y.js +316 -0
- package/richtexteditor/plugins/linenumbers.js +352 -0
- package/richtexteditor/plugins/linkchecker.js +396 -0
- package/richtexteditor/plugins/mentionplugin.js +4 -3
- package/richtexteditor/plugins/mergefields.js +328 -0
- package/richtexteditor/plugins/multilevellist.js +137 -0
- package/richtexteditor/plugins/pagination.js +505 -0
- package/richtexteditor/plugins/pdfexport.js +1137 -0
- package/richtexteditor/plugins/permanentpen.js +211 -0
- package/richtexteditor/plugins/revisionhistory.js +47 -34
- package/richtexteditor/plugins/rtlui.js +150 -0
- package/richtexteditor/plugins/sanitizer.js +486 -0
- package/richtexteditor/plugins/slashcommand.js +142 -17
- package/richtexteditor/plugins/spellcheck.js +6 -3
- package/richtexteditor/plugins/tableofcontents.js +353 -0
- package/richtexteditor/plugins/tabletools.js +342 -0
- package/richtexteditor/plugins/textdirection.js +313 -0
- package/richtexteditor/plugins/trackedchanges.js +37 -6
- package/richtexteditor/plugins/tui.image-editor/tui-code-snippet.min.js +1 -1
- package/richtexteditor/plugins/tui.image-editor/tui-color-picker.min.js +1 -1
- package/richtexteditor/plugins/tui.image-editor/tui-image-editor.min.js +1 -1
- package/richtexteditor/plugins/vendor/html2pdf.bundle.min.js +3 -0
- package/richtexteditor/plugins/watermark.js +214 -0
- package/richtexteditor/plugins/wordexport.js +0 -0
- package/richtexteditor/plugins/yjscollab.js +49 -11
- package/richtexteditor/rte-config.js +44 -44
- package/richtexteditor/rte.js +91 -63
- package/richtexteditor/rte_theme_default.css +462 -384
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
/* ===== Design tokens =====
|
|
3
|
-
Override these CSS custom properties to retheme the editor chrome �� the
|
|
3
|
+
Override these CSS custom properties to retheme the editor chrome �� the
|
|
4
4
|
same architecture CKEditor 5 documents for its --ck-* variables. Icons in
|
|
5
5
|
rte-config.js use fill/stroke="currentColor" and follow --rte-icon-color.
|
|
6
6
|
The built-in dark mode (end of this file) is pure token overrides. */
|
|
@@ -52,6 +52,11 @@ rte-toolbar-button, rte-toolbar-splitbutton, rte-toolbar-dropdown, rte-toolbar-a
|
|
|
52
52
|
max-width: none !important;
|
|
53
53
|
max-height: none !important;
|
|
54
54
|
border-radius: 0px !important;
|
|
55
|
+
/* Force a dedicated compositing layer: without this, Chromium can fail to
|
|
56
|
+
repaint the element over sticky/fixed page content (e.g. a sticky header)
|
|
57
|
+
when position and z-index change together, leaving stale pixels on screen. */
|
|
58
|
+
transform: translateZ(0) !important;
|
|
59
|
+
will-change: transform !important;
|
|
55
60
|
}
|
|
56
61
|
|
|
57
62
|
.richtexteditor.rte-fullpage rte-toolbar {
|
|
@@ -182,7 +187,7 @@ rte-codebox {
|
|
|
182
187
|
}
|
|
183
188
|
}
|
|
184
189
|
|
|
185
|
-
/* 2026-05-19 Reading mode �� hides toolbars + status, leaves only the editing
|
|
190
|
+
/* 2026-05-19 Reading mode �� hides toolbars + status, leaves only the editing
|
|
186
191
|
surface for distraction-free writing. Toggle via editor.toggleReadingMode(). */
|
|
187
192
|
.richtexteditor.rte-reading-mode rte-toolbar,
|
|
188
193
|
.richtexteditor.rte-reading-mode rte-subtoolbar,
|
|
@@ -190,35 +195,35 @@ rte-codebox {
|
|
|
190
195
|
.richtexteditor.rte-reading-mode rte-plusbtn {
|
|
191
196
|
display: none !important;
|
|
192
197
|
}
|
|
193
|
-
.richtexteditor.rte-reading-mode {
|
|
194
|
-
border: 0 !important;
|
|
195
|
-
box-shadow: none !important;
|
|
196
|
-
background: #fff !important;
|
|
197
|
-
}
|
|
198
|
-
.richtexteditor .rte-reading-mode-exit {
|
|
199
|
-
display: none;
|
|
200
|
-
}
|
|
201
|
-
.richtexteditor.rte-reading-mode .rte-reading-mode-exit {
|
|
202
|
-
position: absolute;
|
|
203
|
-
top: 8px;
|
|
204
|
-
right: 8px;
|
|
205
|
-
z-index: 12;
|
|
206
|
-
display: inline-flex;
|
|
207
|
-
align-items: center;
|
|
208
|
-
gap: 6px;
|
|
209
|
-
padding: 7px 10px;
|
|
210
|
-
border: 1px solid rgba(15, 23, 42, .16);
|
|
211
|
-
border-radius: 8px;
|
|
212
|
-
background: rgba(255, 255, 255, .94);
|
|
213
|
-
color: #172033;
|
|
214
|
-
box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
|
|
215
|
-
font: 600 12px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
216
|
-
cursor: pointer;
|
|
217
|
-
}
|
|
218
|
-
.richtexteditor.rte-reading-mode .rte-reading-mode-exit:hover {
|
|
219
|
-
background: #f8fafc;
|
|
220
|
-
border-color: rgba(37, 99, 235, .35);
|
|
221
|
-
}
|
|
198
|
+
.richtexteditor.rte-reading-mode {
|
|
199
|
+
border: 0 !important;
|
|
200
|
+
box-shadow: none !important;
|
|
201
|
+
background: #fff !important;
|
|
202
|
+
}
|
|
203
|
+
.richtexteditor .rte-reading-mode-exit {
|
|
204
|
+
display: none;
|
|
205
|
+
}
|
|
206
|
+
.richtexteditor.rte-reading-mode .rte-reading-mode-exit {
|
|
207
|
+
position: absolute;
|
|
208
|
+
top: 8px;
|
|
209
|
+
right: 8px;
|
|
210
|
+
z-index: 12;
|
|
211
|
+
display: inline-flex;
|
|
212
|
+
align-items: center;
|
|
213
|
+
gap: 6px;
|
|
214
|
+
padding: 7px 10px;
|
|
215
|
+
border: 1px solid rgba(15, 23, 42, .16);
|
|
216
|
+
border-radius: 8px;
|
|
217
|
+
background: rgba(255, 255, 255, .94);
|
|
218
|
+
color: #172033;
|
|
219
|
+
box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
|
|
220
|
+
font: 600 12px -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
221
|
+
cursor: pointer;
|
|
222
|
+
}
|
|
223
|
+
.richtexteditor.rte-reading-mode .rte-reading-mode-exit:hover {
|
|
224
|
+
background: #f8fafc;
|
|
225
|
+
border-color: rgba(37, 99, 235, .35);
|
|
226
|
+
}
|
|
222
227
|
|
|
223
228
|
/* 2026-05-11 Block drag handles (Notion-style ?? on left edge of blocks).
|
|
224
229
|
Activated via config.blockDragHandles = true. */
|
|
@@ -273,14 +278,14 @@ rte-codebox {
|
|
|
273
278
|
border-radius: 0px;
|
|
274
279
|
}
|
|
275
280
|
|
|
276
|
-
.richtexteditor.rte-modern {
|
|
277
|
-
/* Token-driven so the border themes correctly (dark mode -> #334155);
|
|
278
|
-
previously hardcoded #d5d5d5 stayed light-gray on the dark surface. */
|
|
279
|
-
border: 1px solid var(--rte-border, #d5d5d5);
|
|
280
|
-
border-radius: 10px;
|
|
281
|
-
overflow: hidden;
|
|
282
|
-
background-clip: padding-box;
|
|
283
|
-
}
|
|
281
|
+
.richtexteditor.rte-modern {
|
|
282
|
+
/* Token-driven so the border themes correctly (dark mode -> #334155);
|
|
283
|
+
previously hardcoded #d5d5d5 stayed light-gray on the dark surface. */
|
|
284
|
+
border: 1px solid var(--rte-border, #d5d5d5);
|
|
285
|
+
border-radius: 10px;
|
|
286
|
+
overflow: hidden;
|
|
287
|
+
background-clip: padding-box;
|
|
288
|
+
}
|
|
284
289
|
|
|
285
290
|
/* Round the toolbar's top corners and the status bar's bottom corners to follow
|
|
286
291
|
the editor's rounded border (inner radius = outer 10px - 1px border). Without
|
|
@@ -402,9 +407,9 @@ rte-resizecorner {
|
|
|
402
407
|
}
|
|
403
408
|
|
|
404
409
|
|
|
405
|
-
/* Compact selection float toolbar - sized like Google Docs/Notion (~31px tall).
|
|
406
|
-
Was: 5px padding + 30px buttons = 45px tall; keep the floating glyphs
|
|
407
|
-
smaller than the main toolbar so selection actions do not feel oversized. */
|
|
410
|
+
/* Compact selection float toolbar - sized like Google Docs/Notion (~31px tall).
|
|
411
|
+
Was: 5px padding + 30px buttons = 45px tall; keep the floating glyphs
|
|
412
|
+
smaller than the main toolbar so selection actions do not feel oversized. */
|
|
408
413
|
rte-control-toolbar {
|
|
409
414
|
display: inline-flex;
|
|
410
415
|
align-items: center;
|
|
@@ -419,7 +424,7 @@ rte-control-toolbar {
|
|
|
419
424
|
animation: rteFloatToolbarIn 130ms ease-out;
|
|
420
425
|
}
|
|
421
426
|
|
|
422
|
-
/* The generic rte-toolbar-group adds 2px padding �� remove it here so the
|
|
427
|
+
/* The generic rte-toolbar-group adds 2px padding �� remove it here so the
|
|
423
428
|
buttons fill the bar (smaller chrome, larger-feeling icons). */
|
|
424
429
|
.rte-modern rte-control-toolbar rte-toolbar-group {
|
|
425
430
|
padding: 0;
|
|
@@ -432,47 +437,47 @@ rte-control-toolbar {
|
|
|
432
437
|
box-shadow: 0 22px 54px rgba(15,23,42,.2), 0 6px 18px rgba(37,99,235,.1), inset 0 1px 0 rgba(255,255,255,.95);
|
|
433
438
|
}
|
|
434
439
|
|
|
435
|
-
.rte-modern rte-control-toolbar rte-toolbar-button, .rte-modern rte-control-toolbar rte-toolbar-splitbutton, .rte-modern rte-control-toolbar rte-toolbar-dropdown {
|
|
436
|
-
margin: 0;
|
|
437
|
-
border-radius: 6px;
|
|
438
|
-
width: 26px;
|
|
439
|
-
height: 25px;
|
|
440
|
-
padding: 0;
|
|
441
|
-
color: #334155;
|
|
442
|
-
transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
|
|
443
|
-
}
|
|
440
|
+
.rte-modern rte-control-toolbar rte-toolbar-button, .rte-modern rte-control-toolbar rte-toolbar-splitbutton, .rte-modern rte-control-toolbar rte-toolbar-dropdown {
|
|
441
|
+
margin: 0;
|
|
442
|
+
border-radius: 6px;
|
|
443
|
+
width: 26px;
|
|
444
|
+
height: 25px;
|
|
445
|
+
padding: 0;
|
|
446
|
+
color: #334155;
|
|
447
|
+
transition: background-color 120ms ease, color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
|
|
448
|
+
}
|
|
444
449
|
|
|
445
450
|
.rte-modern rte-control-toolbar rte-toolbar-button svg,
|
|
446
|
-
.rte-modern rte-control-toolbar rte-toolbar-splitbutton svg,
|
|
447
|
-
.rte-modern rte-control-toolbar rte-toolbar-dropdown svg,
|
|
448
|
-
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton svg {
|
|
449
|
-
width: 16px !important;
|
|
450
|
-
height: 16px !important;
|
|
451
|
-
}
|
|
451
|
+
.rte-modern rte-control-toolbar rte-toolbar-splitbutton svg,
|
|
452
|
+
.rte-modern rte-control-toolbar rte-toolbar-dropdown svg,
|
|
453
|
+
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton svg {
|
|
454
|
+
width: 16px !important;
|
|
455
|
+
height: 16px !important;
|
|
456
|
+
}
|
|
452
457
|
|
|
453
458
|
/* The global rte-line-spliter rule carries `margin: 10px auto !important`,
|
|
454
|
-
which inflates the float toolbar's row height �� neutralize it here. */
|
|
455
|
-
.rte-modern rte-control-toolbar rte-line-spliter {
|
|
456
|
-
margin: 0 2px !important;
|
|
457
|
-
height: 14px;
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton {
|
|
461
|
-
margin: 0;
|
|
462
|
-
border-radius: 6px;
|
|
463
|
-
height: 25px;
|
|
464
|
-
width: 35px;
|
|
465
|
-
padding-right: 10px;
|
|
466
|
-
background-position: 23px 7px;
|
|
467
|
-
background-size: 10px 10px;
|
|
468
|
-
}
|
|
469
|
-
|
|
470
|
-
.rte-modern rte-control-toolbar rte-line-break {
|
|
471
|
-
width: 1px;
|
|
472
|
-
height: 14px;
|
|
473
|
-
margin: 0 3px;
|
|
474
|
-
background: rgba(148,163,184,.35);
|
|
475
|
-
}
|
|
459
|
+
which inflates the float toolbar's row height �� neutralize it here. */
|
|
460
|
+
.rte-modern rte-control-toolbar rte-line-spliter {
|
|
461
|
+
margin: 0 2px !important;
|
|
462
|
+
height: 14px;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton {
|
|
466
|
+
margin: 0;
|
|
467
|
+
border-radius: 6px;
|
|
468
|
+
height: 25px;
|
|
469
|
+
width: 35px;
|
|
470
|
+
padding-right: 10px;
|
|
471
|
+
background-position: 23px 7px;
|
|
472
|
+
background-size: 10px 10px;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.rte-modern rte-control-toolbar rte-line-break {
|
|
476
|
+
width: 1px;
|
|
477
|
+
height: 14px;
|
|
478
|
+
margin: 0 3px;
|
|
479
|
+
background: rgba(148,163,184,.35);
|
|
480
|
+
}
|
|
476
481
|
|
|
477
482
|
.rte-modern rte-control-toolbar rte-toolbar-button:hover,
|
|
478
483
|
.rte-modern rte-control-toolbar rte-toolbar-splitbutton:hover,
|
|
@@ -493,8 +498,8 @@ rte-control-toolbar {
|
|
|
493
498
|
box-shadow: inset 0 0 0 1px rgba(37,99,235,.22);
|
|
494
499
|
}
|
|
495
500
|
|
|
496
|
-
rte-control-toolbar .rte-link-url-preview {
|
|
497
|
-
min-height: 28px;
|
|
501
|
+
rte-control-toolbar .rte-link-url-preview {
|
|
502
|
+
min-height: 28px;
|
|
498
503
|
border-radius: 999px;
|
|
499
504
|
background: #f1f7ff;
|
|
500
505
|
border: 1px solid rgba(29,103,186,.16);
|
|
@@ -706,26 +711,26 @@ rte-dropdown-menuitem rte-toolbar-splitbutton-dropdown {
|
|
|
706
711
|
padding: 1px;
|
|
707
712
|
}
|
|
708
713
|
|
|
709
|
-
rte-toolbar-splitbutton-direct {
|
|
710
|
-
display: inline-flex;
|
|
711
|
-
align-content: center;
|
|
712
|
-
align-items: center;
|
|
713
|
-
justify-content: center;
|
|
714
|
-
width: 24px;
|
|
715
|
-
height: 100%;
|
|
716
|
-
min-height: 18px;
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
rte-toolbar-splitbutton-dropdown {
|
|
720
|
-
border-left: solid 1px transparent;
|
|
721
|
-
width: 14px;
|
|
722
|
-
height: 100%;
|
|
723
|
-
min-height: 18px;
|
|
724
|
-
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgcm9sZT0iaW1nIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYW5nbGUtZG93biBmYS13LTEwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiIGNsYXNzPSIiPjwvcGF0aD48L3N2Zz4=');
|
|
725
|
-
background-position: 1px center;
|
|
726
|
-
background-repeat: no-repeat;
|
|
727
|
-
background-size: 12px 12px;
|
|
728
|
-
}
|
|
714
|
+
rte-toolbar-splitbutton-direct {
|
|
715
|
+
display: inline-flex;
|
|
716
|
+
align-content: center;
|
|
717
|
+
align-items: center;
|
|
718
|
+
justify-content: center;
|
|
719
|
+
width: 24px;
|
|
720
|
+
height: 100%;
|
|
721
|
+
min-height: 18px;
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
rte-toolbar-splitbutton-dropdown {
|
|
725
|
+
border-left: solid 1px transparent;
|
|
726
|
+
width: 14px;
|
|
727
|
+
height: 100%;
|
|
728
|
+
min-height: 18px;
|
|
729
|
+
background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgcm9sZT0iaW1nIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgNTEyIiBjbGFzcz0ic3ZnLWlubGluZS0tZmEgZmEtYW5nbGUtZG93biBmYS13LTEwIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0xNDMgMzUyLjNMNyAyMTYuM2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMjIuNi0yMi42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDk2LjQgOTYuNCA5Ni40LTk2LjRjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMjIuNiAyMi42YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0xMzYgMTM2Yy05LjIgOS40LTI0LjQgOS40LTMzLjggMHoiIGNsYXNzPSIiPjwvcGF0aD48L3N2Zz4=');
|
|
730
|
+
background-position: 1px center;
|
|
731
|
+
background-repeat: no-repeat;
|
|
732
|
+
background-size: 12px 12px;
|
|
733
|
+
}
|
|
729
734
|
|
|
730
735
|
rte-color-button-mask {
|
|
731
736
|
position: absolute;
|
|
@@ -773,7 +778,7 @@ rte-color-button-mask {
|
|
|
773
778
|
}
|
|
774
779
|
|
|
775
780
|
|
|
776
|
-
/* Rounded interactive states for the desktop toolbar �� matches the selection
|
|
781
|
+
/* Rounded interactive states for the desktop toolbar �� matches the selection
|
|
777
782
|
float toolbar (7px) and modern editors (Google Docs/Notion). Previously the
|
|
778
783
|
main toolbar's hover/active/focus highlights were hard squares. */
|
|
779
784
|
.rte-modern rte-toolbar-button,
|
|
@@ -831,7 +836,7 @@ rte-color-button-mask {
|
|
|
831
836
|
height: 36px;
|
|
832
837
|
margin-bottom: -4px;
|
|
833
838
|
background-position: 23px 8px;
|
|
834
|
-
/* Open dropdown reads as a tab connected to its panel �� square the
|
|
839
|
+
/* Open dropdown reads as a tab connected to its panel �� square the
|
|
835
840
|
bottom corners so the rounded button doesn't detach from the panel. */
|
|
836
841
|
border-bottom-left-radius: 0;
|
|
837
842
|
border-bottom-right-radius: 0;
|
|
@@ -1565,6 +1570,14 @@ rte-dropdown-panel.rte-panel-backcolor rte-dialog-item-color[rte-tooltip]:hover
|
|
|
1565
1570
|
border-color: rgba(0,0,0,.08) !important;
|
|
1566
1571
|
}
|
|
1567
1572
|
|
|
1573
|
+
rte-dropdown-panel.rte-panel-forecolor rte-dialog-item-color[role="menuitem"]:focus-visible,
|
|
1574
|
+
rte-dropdown-panel.rte-panel-backcolor rte-dialog-item-color[role="menuitem"]:focus-visible {
|
|
1575
|
+
outline: 2px solid #1a73e8 !important;
|
|
1576
|
+
outline-offset: 2px !important;
|
|
1577
|
+
transform: scale(1.15) !important;
|
|
1578
|
+
position: relative !important;
|
|
1579
|
+
z-index: 2 !important;
|
|
1580
|
+
}
|
|
1568
1581
|
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-auto,
|
|
1569
1582
|
rte-dropdown-panel.rte-panel-backcolor rte-dialog-line-auto,
|
|
1570
1583
|
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-more,
|
|
@@ -1586,6 +1599,14 @@ rte-dropdown-panel.rte-panel-backcolor rte-dialog-line-more:hover {
|
|
|
1586
1599
|
border: 0 !important;
|
|
1587
1600
|
}
|
|
1588
1601
|
|
|
1602
|
+
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-auto:focus-visible,
|
|
1603
|
+
rte-dropdown-panel.rte-panel-backcolor rte-dialog-line-auto:focus-visible,
|
|
1604
|
+
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-more:focus-visible,
|
|
1605
|
+
rte-dropdown-panel.rte-panel-backcolor rte-dialog-line-more:focus-visible {
|
|
1606
|
+
outline: 2px solid #1a73e8 !important;
|
|
1607
|
+
outline-offset: 1px !important;
|
|
1608
|
+
background: #f1f5f9 !important;
|
|
1609
|
+
}
|
|
1589
1610
|
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-auto rte-dialog-item-label,
|
|
1590
1611
|
rte-dropdown-panel.rte-panel-backcolor rte-dialog-line-auto rte-dialog-item-label,
|
|
1591
1612
|
rte-dropdown-panel.rte-panel-forecolor rte-dialog-line-more rte-dialog-item-label,
|
|
@@ -2063,86 +2084,86 @@ rte-floatpanel {
|
|
|
2063
2084
|
opacity: 1;
|
|
2064
2085
|
}
|
|
2065
2086
|
|
|
2066
|
-
rte-floatpanel rte-toolbar-button:hover {
|
|
2067
|
-
background: #eef5ff;
|
|
2068
|
-
fill: #1559d6;
|
|
2069
|
-
color: #1559d6;
|
|
2070
|
-
box-shadow: inset 0 0 0 1px rgba(37,99,235,.14);
|
|
2071
|
-
transform: translateY(-1px);
|
|
2072
|
-
}
|
|
2073
|
-
|
|
2074
|
-
/* 2026-07-03 paragraph rail icon polish */
|
|
2075
|
-
rte-floatpanel.rte-floatpanel-paragraphop {
|
|
2076
|
-
width: 28px !important;
|
|
2077
|
-
padding: 9px 3px 4px !important;
|
|
2078
|
-
border-color: rgba(148,163,184,.34) !important;
|
|
2079
|
-
border-radius: 11px !important;
|
|
2080
|
-
background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(248,250,252,.91) 100%) !important;
|
|
2081
|
-
box-shadow: 0 8px 20px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.9) !important;
|
|
2082
|
-
opacity: .86 !important;
|
|
2083
|
-
}
|
|
2084
|
-
|
|
2085
|
-
rte-floatpanel.rte-floatpanel-paragraphop::before {
|
|
2086
|
-
top: 4px;
|
|
2087
|
-
width: 10px;
|
|
2088
|
-
height: 3px;
|
|
2089
|
-
background: radial-gradient(circle, #94a3b8 .9px, transparent 1.3px) 0 0 / 4px 3px;
|
|
2090
|
-
opacity: .62;
|
|
2091
|
-
}
|
|
2092
|
-
|
|
2093
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-group {
|
|
2094
|
-
padding: 0;
|
|
2095
|
-
}
|
|
2096
|
-
|
|
2097
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button {
|
|
2098
|
-
box-sizing: border-box;
|
|
2099
|
-
display: flex;
|
|
2100
|
-
align-items: center;
|
|
2101
|
-
justify-content: center;
|
|
2102
|
-
width: 20px !important;
|
|
2103
|
-
height: 20px !important;
|
|
2104
|
-
min-width: 20px !important;
|
|
2105
|
-
min-height: 20px !important;
|
|
2106
|
-
margin: 1px 0;
|
|
2107
|
-
border-radius: 6px;
|
|
2108
|
-
color: #6b7280;
|
|
2109
|
-
opacity: .8;
|
|
2110
|
-
}
|
|
2111
|
-
|
|
2112
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button:hover {
|
|
2113
|
-
background: rgba(37,99,235,.08);
|
|
2114
|
-
color: #1559d6;
|
|
2115
|
-
box-shadow: inset 0 0 0 1px rgba(37,99,235,.1);
|
|
2116
|
-
opacity: 1;
|
|
2117
|
-
transform: translateY(-.5px);
|
|
2118
|
-
}
|
|
2119
|
-
|
|
2120
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg {
|
|
2121
|
-
display: block !important;
|
|
2122
|
-
width: 13px !important;
|
|
2123
|
-
height: 13px !important;
|
|
2124
|
-
margin: 0 !important;
|
|
2125
|
-
color: currentColor;
|
|
2126
|
-
pointer-events: none;
|
|
2127
|
-
}
|
|
2128
|
-
|
|
2129
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg,
|
|
2130
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg * {
|
|
2131
|
-
stroke-linecap: round;
|
|
2132
|
-
stroke-linejoin: round;
|
|
2133
|
-
stroke-width: 1.35 !important;
|
|
2134
|
-
}
|
|
2135
|
-
|
|
2136
|
-
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button.rte_command_pmore svg {
|
|
2137
|
-
width: 12px !important;
|
|
2138
|
-
height: 12px !important;
|
|
2139
|
-
opacity: .72;
|
|
2140
|
-
}
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
.rte-current-item {
|
|
2144
|
-
background-color: #eef2f7;
|
|
2145
|
-
}
|
|
2087
|
+
rte-floatpanel rte-toolbar-button:hover {
|
|
2088
|
+
background: #eef5ff;
|
|
2089
|
+
fill: #1559d6;
|
|
2090
|
+
color: #1559d6;
|
|
2091
|
+
box-shadow: inset 0 0 0 1px rgba(37,99,235,.14);
|
|
2092
|
+
transform: translateY(-1px);
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
/* 2026-07-03 paragraph rail icon polish */
|
|
2096
|
+
rte-floatpanel.rte-floatpanel-paragraphop {
|
|
2097
|
+
width: 28px !important;
|
|
2098
|
+
padding: 9px 3px 4px !important;
|
|
2099
|
+
border-color: rgba(148,163,184,.34) !important;
|
|
2100
|
+
border-radius: 11px !important;
|
|
2101
|
+
background: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(248,250,252,.91) 100%) !important;
|
|
2102
|
+
box-shadow: 0 8px 20px rgba(15,23,42,.1), inset 0 1px 0 rgba(255,255,255,.9) !important;
|
|
2103
|
+
opacity: .86 !important;
|
|
2104
|
+
}
|
|
2105
|
+
|
|
2106
|
+
rte-floatpanel.rte-floatpanel-paragraphop::before {
|
|
2107
|
+
top: 4px;
|
|
2108
|
+
width: 10px;
|
|
2109
|
+
height: 3px;
|
|
2110
|
+
background: radial-gradient(circle, #94a3b8 .9px, transparent 1.3px) 0 0 / 4px 3px;
|
|
2111
|
+
opacity: .62;
|
|
2112
|
+
}
|
|
2113
|
+
|
|
2114
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-group {
|
|
2115
|
+
padding: 0;
|
|
2116
|
+
}
|
|
2117
|
+
|
|
2118
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button {
|
|
2119
|
+
box-sizing: border-box;
|
|
2120
|
+
display: flex;
|
|
2121
|
+
align-items: center;
|
|
2122
|
+
justify-content: center;
|
|
2123
|
+
width: 20px !important;
|
|
2124
|
+
height: 20px !important;
|
|
2125
|
+
min-width: 20px !important;
|
|
2126
|
+
min-height: 20px !important;
|
|
2127
|
+
margin: 1px 0;
|
|
2128
|
+
border-radius: 6px;
|
|
2129
|
+
color: #6b7280;
|
|
2130
|
+
opacity: .8;
|
|
2131
|
+
}
|
|
2132
|
+
|
|
2133
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button:hover {
|
|
2134
|
+
background: rgba(37,99,235,.08);
|
|
2135
|
+
color: #1559d6;
|
|
2136
|
+
box-shadow: inset 0 0 0 1px rgba(37,99,235,.1);
|
|
2137
|
+
opacity: 1;
|
|
2138
|
+
transform: translateY(-.5px);
|
|
2139
|
+
}
|
|
2140
|
+
|
|
2141
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg {
|
|
2142
|
+
display: block !important;
|
|
2143
|
+
width: 13px !important;
|
|
2144
|
+
height: 13px !important;
|
|
2145
|
+
margin: 0 !important;
|
|
2146
|
+
color: currentColor;
|
|
2147
|
+
pointer-events: none;
|
|
2148
|
+
}
|
|
2149
|
+
|
|
2150
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg,
|
|
2151
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button svg * {
|
|
2152
|
+
stroke-linecap: round;
|
|
2153
|
+
stroke-linejoin: round;
|
|
2154
|
+
stroke-width: 1.35 !important;
|
|
2155
|
+
}
|
|
2156
|
+
|
|
2157
|
+
rte-floatpanel.rte-floatpanel-paragraphop rte-toolbar-button.rte_command_pmore svg {
|
|
2158
|
+
width: 12px !important;
|
|
2159
|
+
height: 12px !important;
|
|
2160
|
+
opacity: .72;
|
|
2161
|
+
}
|
|
2162
|
+
|
|
2163
|
+
|
|
2164
|
+
.rte-current-item {
|
|
2165
|
+
background-color: #eef2f7;
|
|
2166
|
+
}
|
|
2146
2167
|
|
|
2147
2168
|
/* Optional development toggles for hiding editor chrome can live here. */
|
|
2148
2169
|
|
|
@@ -2538,6 +2559,25 @@ rte-content::-webkit-scrollbar-thumb:hover {
|
|
|
2538
2559
|
flex-wrap: wrap;
|
|
2539
2560
|
}
|
|
2540
2561
|
|
|
2562
|
+
/* The toolbar is a flex row whose children are these two groups. Without a
|
|
2563
|
+
display on the groups themselves the buttons stack vertically and the row
|
|
2564
|
+
collapses to the width of its widest label -- which is exactly what shipped
|
|
2565
|
+
when these rules went missing. */
|
|
2566
|
+
.rte-gallery-browser-toolbar-group {
|
|
2567
|
+
display: flex;
|
|
2568
|
+
align-items: center;
|
|
2569
|
+
gap: 8px;
|
|
2570
|
+
min-width: 0;
|
|
2571
|
+
flex: 1 1 auto;
|
|
2572
|
+
flex-wrap: wrap;
|
|
2573
|
+
}
|
|
2574
|
+
|
|
2575
|
+
.rte-gallery-browser-toolbar-group-right {
|
|
2576
|
+
flex: 0 1 auto;
|
|
2577
|
+
justify-content: flex-end;
|
|
2578
|
+
margin-left: auto;
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2541
2581
|
.rte-gallery-browser-button {
|
|
2542
2582
|
border: 1px solid rgba(116, 135, 162, 0.28);
|
|
2543
2583
|
border-radius: 999px;
|
|
@@ -2672,6 +2712,44 @@ rte-content::-webkit-scrollbar-thumb:hover {
|
|
|
2672
2712
|
overflow: hidden;
|
|
2673
2713
|
}
|
|
2674
2714
|
|
|
2715
|
+
/* Folders sit in their own container above the image listbox, so the two are
|
|
2716
|
+
separated by a rule rather than running together in one grid. */
|
|
2717
|
+
.rte-gallery-browser-grid-folders {
|
|
2718
|
+
margin-bottom: 14px;
|
|
2719
|
+
padding-bottom: 14px;
|
|
2720
|
+
border-bottom: 1px solid rgba(116, 135, 162, 0.16);
|
|
2721
|
+
}
|
|
2722
|
+
|
|
2723
|
+
/* Folder tiles have no image to show, so the icon is drawn in CSS. The plugin
|
|
2724
|
+
emits an empty div for it -- with no rule here the tile renders blank. */
|
|
2725
|
+
.rte-gallery-browser-thumbnail-folder {
|
|
2726
|
+
background: linear-gradient(180deg, #fffaea 0%, #fdeec4 100%);
|
|
2727
|
+
border-color: rgba(197, 158, 61, 0.32);
|
|
2728
|
+
}
|
|
2729
|
+
|
|
2730
|
+
.rte-gallery-browser-folder-icon {
|
|
2731
|
+
position: relative;
|
|
2732
|
+
width: 60px;
|
|
2733
|
+
height: 42px;
|
|
2734
|
+
border: 1px solid rgba(178, 138, 45, 0.7);
|
|
2735
|
+
border-radius: 7px;
|
|
2736
|
+
background: linear-gradient(180deg, #ffe6a1 0%, #f3c957 100%);
|
|
2737
|
+
box-shadow: 0 8px 16px rgba(140, 100, 20, 0.18);
|
|
2738
|
+
}
|
|
2739
|
+
|
|
2740
|
+
.rte-gallery-browser-folder-icon:before {
|
|
2741
|
+
content: "";
|
|
2742
|
+
position: absolute;
|
|
2743
|
+
left: 7px;
|
|
2744
|
+
top: -9px;
|
|
2745
|
+
width: 25px;
|
|
2746
|
+
height: 13px;
|
|
2747
|
+
border: 1px solid rgba(178, 138, 45, 0.7);
|
|
2748
|
+
border-bottom: 0;
|
|
2749
|
+
border-radius: 6px 6px 0 0;
|
|
2750
|
+
background: linear-gradient(180deg, #fff1c4 0%, #f8d97c 100%);
|
|
2751
|
+
}
|
|
2752
|
+
|
|
2675
2753
|
.rte-gallery-browser-thumbnail-image {
|
|
2676
2754
|
max-width: 100%;
|
|
2677
2755
|
max-height: 100%;
|
|
@@ -2887,13 +2965,13 @@ rte-dropdown-panel.rte-panel-insertdocument .rte-dialog-button.rte-button-type-c
|
|
|
2887
2965
|
}
|
|
2888
2966
|
|
|
2889
2967
|
/* ===========================================================================
|
|
2890
|
-
* 2026-05-08 dialog polish layer �� applies to every editor dialog (insert
|
|
2968
|
+
* 2026-05-08 dialog polish layer �� applies to every editor dialog (insert
|
|
2891
2969
|
* video / link / image / code / table / find / template / gallery / etc.)
|
|
2892
2970
|
*
|
|
2893
2971
|
* Until this layer landed, every dialog inherited `min-width: 300px` from
|
|
2894
2972
|
* the base `rte-dialog-inner` rule above. That worked for two-button
|
|
2895
2973
|
* confirmations but felt cramped for URL fields, code editors, and any
|
|
2896
|
-
* dialog with a textarea �� the input was about 270 px wide once you
|
|
2974
|
+
* dialog with a textarea �� the input was about 270 px wide once you
|
|
2897
2975
|
* subtracted the 12 px margin on each side.
|
|
2898
2976
|
*
|
|
2899
2977
|
* The rules below set sensible per-dialog defaults, modernise the input
|
|
@@ -2970,7 +3048,7 @@ rte-dialog-outer .rte-dialog-line-input textarea:focus {
|
|
|
2970
3048
|
box-shadow: 0 0 0 3px rgba(21, 89, 214, 0.16);
|
|
2971
3049
|
}
|
|
2972
3050
|
|
|
2973
|
-
/* The label that floats above the input (Url / Width / etc.) �� modern
|
|
3051
|
+
/* The label that floats above the input (Url / Width / etc.) �� modern
|
|
2974
3052
|
feel: smaller, less shouty colour. */
|
|
2975
3053
|
rte-dialog-outer .rte-dialog-line-input rte-dialog-input-label {
|
|
2976
3054
|
font-size: 11px;
|
|
@@ -3002,7 +3080,7 @@ rte-dialog-outer rte-dialog-button {
|
|
|
3002
3080
|
|
|
3003
3081
|
/* === Per-dialog width hints === */
|
|
3004
3082
|
|
|
3005
|
-
/* Insert video: just a URL textarea �� bigger so users can paste long
|
|
3083
|
+
/* Insert video: just a URL textarea �� bigger so users can paste long
|
|
3006
3084
|
YouTube / Vimeo links without horizontal scroll. */
|
|
3007
3085
|
rte-dialog-outer.rte-dialog-insertvideo rte-dialog-inner {
|
|
3008
3086
|
min-width: 520px;
|
|
@@ -3015,7 +3093,7 @@ rte-dialog-outer .rte-dialog-line-url textarea {
|
|
|
3015
3093
|
word-break: break-all;
|
|
3016
3094
|
}
|
|
3017
3095
|
|
|
3018
|
-
/* Insert link / image-by-url: same family �� bigger than the default, but
|
|
3096
|
+
/* Insert link / image-by-url: same family �� bigger than the default, but
|
|
3019
3097
|
not as wide as the code editor. */
|
|
3020
3098
|
rte-dialog-outer.rte-dialog-insertlink rte-dialog-inner,
|
|
3021
3099
|
rte-dialog-outer.rte-panel-insertimage-byurl rte-dialog-inner,
|
|
@@ -3029,13 +3107,13 @@ rte-dialog-outer.rte-dialog-insertcode rte-dialog-inner {
|
|
|
3029
3107
|
max-width: min(880px, calc(100vw - 32px));
|
|
3030
3108
|
}
|
|
3031
3109
|
|
|
3032
|
-
/* Insert table / find / general �� keep a consistent 460 px floor. */
|
|
3110
|
+
/* Insert table / find / general �� keep a consistent 460 px floor. */
|
|
3033
3111
|
rte-dialog-outer.rte-panel-find rte-dialog-inner,
|
|
3034
3112
|
rte-dialog-outer.rte-panel-general rte-dialog-inner {
|
|
3035
3113
|
min-width: 460px;
|
|
3036
3114
|
}
|
|
3037
3115
|
|
|
3038
|
-
/* Insert gallery / template / paste cleanup �� comfortable wide layouts
|
|
3116
|
+
/* Insert gallery / template / paste cleanup �� comfortable wide layouts
|
|
3039
3117
|
for picking from a grid. */
|
|
3040
3118
|
rte-dialog-outer.rte-dialog-insertgallery rte-dialog-inner,
|
|
3041
3119
|
rte-dialog-outer.rte-dialog-inserttemplate rte-dialog-inner,
|
|
@@ -3045,7 +3123,7 @@ rte-dialog-outer.rte-dialog-pasteword rte-dialog-inner {
|
|
|
3045
3123
|
max-width: min(960px, calc(100vw - 32px));
|
|
3046
3124
|
}
|
|
3047
3125
|
|
|
3048
|
-
/* Image editor / HTML2PDF �� full creative surface. */
|
|
3126
|
+
/* Image editor / HTML2PDF �� full creative surface. */
|
|
3049
3127
|
rte-dialog-outer.rte-dialog-imageeditor rte-dialog-inner,
|
|
3050
3128
|
rte-dialog-outer.rte-dialog-html2pdf rte-dialog-inner {
|
|
3051
3129
|
min-width: 760px;
|
|
@@ -3561,7 +3639,7 @@ rte-toolbar-dropdown-item:focus-visible {
|
|
|
3561
3639
|
box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
|
|
3562
3640
|
}
|
|
3563
3641
|
|
|
3564
|
-
/* Dark-mode hover for toolbar dropdown items �� the light-blue gradient above is
|
|
3642
|
+
/* Dark-mode hover for toolbar dropdown items �� the light-blue gradient above is
|
|
3565
3643
|
light-only; without this it renders washed-out (light gradient + dark-blue
|
|
3566
3644
|
text) over the dark panel. */
|
|
3567
3645
|
.rte-dark rte-toolbar-dropdown-item:hover,
|
|
@@ -4429,7 +4507,7 @@ rte-dropdown-panel .rte-dialog-button:active {
|
|
|
4429
4507
|
}
|
|
4430
4508
|
|
|
4431
4509
|
/* ============================================================ */
|
|
4432
|
-
/* Dark mode (UI chrome only �� the document canvas stays white, */
|
|
4510
|
+
/* Dark mode (UI chrome only �� the document canvas stays white, */
|
|
4433
4511
|
/* like Google Docs' dark UI, so authored content isn't harmed).*/
|
|
4434
4512
|
/* Explicit dark mode by default; add rte-auto-dark to */
|
|
4435
4513
|
/* follow prefers-color-scheme; force on with rte-dark. */
|
|
@@ -4502,7 +4580,7 @@ rte-dropdown-panel .rte-dialog-button:active {
|
|
|
4502
4580
|
}
|
|
4503
4581
|
|
|
4504
4582
|
/* ============================================================ */
|
|
4505
|
-
/* Dark mode �� dialog & dropdown panel interiors. */
|
|
4583
|
+
/* Dark mode �� dialog & dropdown panel interiors. */
|
|
4506
4584
|
/* The dialog surface itself is token-driven (var(--rte- */
|
|
4507
4585
|
/* surface-raised)); these rules cover the text/inputs/borders */
|
|
4508
4586
|
/* that don't inherit, so dialogs aren't black-text-on-dark. */
|
|
@@ -4597,7 +4675,7 @@ rte-dropdown-panel .rte-dialog-button:active {
|
|
|
4597
4675
|
}
|
|
4598
4676
|
}
|
|
4599
4677
|
|
|
4600
|
-
/* Dark mode �� floating selection toolbar (rte-control-toolbar). Inside the
|
|
4678
|
+
/* Dark mode �� floating selection toolbar (rte-control-toolbar). Inside the
|
|
4601
4679
|
editor container, so both the explicit class and the media query reach it. */
|
|
4602
4680
|
.rte-dark rte-control-toolbar {
|
|
4603
4681
|
background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
|
|
@@ -4617,10 +4695,10 @@ rte-dropdown-panel .rte-dialog-button:active {
|
|
|
4617
4695
|
}
|
|
4618
4696
|
.rte-dark rte-link-url-preview, .rte-dark rte-link-url-preview a { color: #60a5fa; }
|
|
4619
4697
|
|
|
4620
|
-
@media (prefers-color-scheme: dark) {
|
|
4621
|
-
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar {
|
|
4622
|
-
background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
|
|
4623
|
-
border-color: #334155;
|
|
4698
|
+
@media (prefers-color-scheme: dark) {
|
|
4699
|
+
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar {
|
|
4700
|
+
background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
|
|
4701
|
+
border-color: #334155;
|
|
4624
4702
|
}
|
|
4625
4703
|
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar rte-toolbar-button,
|
|
4626
4704
|
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar rte-toolbar-splitbutton,
|
|
@@ -4631,189 +4709,189 @@ rte-dropdown-panel .rte-dialog-button:active {
|
|
|
4631
4709
|
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar rte-toolbar-button:hover,
|
|
4632
4710
|
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar rte-toolbar-splitbutton:hover,
|
|
4633
4711
|
.richtexteditor.rte-auto-dark:not(.rte-light) rte-control-toolbar rte-toolbar-dropdown:hover {
|
|
4634
|
-
background: #334155;
|
|
4635
|
-
}
|
|
4636
|
-
}
|
|
4637
|
-
|
|
4638
|
-
/* 2026-07-02 toolbar icon polish.
|
|
4639
|
-
Keep this after the token-driven chrome rules so the modern toolbar retains
|
|
4640
|
-
its quiet selected state instead of inheriting the older solid accent fill. */
|
|
4641
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4642
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4643
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4644
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4645
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4646
|
-
box-sizing: border-box;
|
|
4647
|
-
display: inline-flex;
|
|
4648
|
-
align-items: center;
|
|
4649
|
-
justify-content: center;
|
|
4650
|
-
color: var(--rte-icon-color, #5f6368);
|
|
4651
|
-
background-clip: padding-box;
|
|
4652
|
-
transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
|
|
4653
|
-
}
|
|
4654
|
-
|
|
4655
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button svg,
|
|
4656
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton svg,
|
|
4657
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton svg {
|
|
4658
|
-
display: block !important;
|
|
4659
|
-
flex: 0 0 auto;
|
|
4660
|
-
width:
|
|
4661
|
-
height:
|
|
4662
|
-
margin: 0 !important;
|
|
4663
|
-
align-self: center !important;
|
|
4664
|
-
color: currentColor;
|
|
4665
|
-
pointer-events: none;
|
|
4666
|
-
}
|
|
4667
|
-
|
|
4668
|
-
.rte-modern rte-control-toolbar rte-toolbar-button svg,
|
|
4669
|
-
.rte-modern rte-control-toolbar rte-toolbar-splitbutton svg,
|
|
4670
|
-
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton svg,
|
|
4671
|
-
.rte-modern rte-dropdown-panel rte-toolbar-button svg {
|
|
4672
|
-
display: block !important;
|
|
4673
|
-
margin: 0 !important;
|
|
4674
|
-
align-self: center !important;
|
|
4675
|
-
color: currentColor;
|
|
4676
|
-
pointer-events: none;
|
|
4677
|
-
}
|
|
4678
|
-
|
|
4712
|
+
background: #334155;
|
|
4713
|
+
}
|
|
4714
|
+
}
|
|
4715
|
+
|
|
4716
|
+
/* 2026-07-02 toolbar icon polish.
|
|
4717
|
+
Keep this after the token-driven chrome rules so the modern toolbar retains
|
|
4718
|
+
its quiet selected state instead of inheriting the older solid accent fill. */
|
|
4719
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4720
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4721
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4722
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4723
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4724
|
+
box-sizing: border-box;
|
|
4725
|
+
display: inline-flex;
|
|
4726
|
+
align-items: center;
|
|
4727
|
+
justify-content: center;
|
|
4728
|
+
color: var(--rte-icon-color, #5f6368);
|
|
4729
|
+
background-clip: padding-box;
|
|
4730
|
+
transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
|
|
4731
|
+
}
|
|
4732
|
+
|
|
4733
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button svg,
|
|
4734
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton svg,
|
|
4735
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton svg {
|
|
4736
|
+
display: block !important;
|
|
4737
|
+
flex: 0 0 auto;
|
|
4738
|
+
width: 20px !important;
|
|
4739
|
+
height: 20px !important;
|
|
4740
|
+
margin: 0 !important;
|
|
4741
|
+
align-self: center !important;
|
|
4742
|
+
color: currentColor;
|
|
4743
|
+
pointer-events: none;
|
|
4744
|
+
}
|
|
4745
|
+
|
|
4746
|
+
.rte-modern rte-control-toolbar rte-toolbar-button svg,
|
|
4747
|
+
.rte-modern rte-control-toolbar rte-toolbar-splitbutton svg,
|
|
4748
|
+
.rte-modern rte-control-toolbar rte-toolbar-arrowbutton svg,
|
|
4749
|
+
.rte-modern rte-dropdown-panel rte-toolbar-button svg {
|
|
4750
|
+
display: block !important;
|
|
4751
|
+
margin: 0 !important;
|
|
4752
|
+
align-self: center !important;
|
|
4753
|
+
color: currentColor;
|
|
4754
|
+
pointer-events: none;
|
|
4755
|
+
}
|
|
4756
|
+
|
|
4679
4757
|
.rte-modern rte-dropdown-panel rte-toolbar-button svg {
|
|
4680
|
-
width:
|
|
4681
|
-
height:
|
|
4682
|
-
}
|
|
4683
|
-
|
|
4684
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4685
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4686
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4687
|
-
color: #1559d6;
|
|
4688
|
-
background-color: #f3f8ff;
|
|
4689
|
-
border-color: rgba(37,99,235,.14);
|
|
4690
|
-
}
|
|
4691
|
-
|
|
4692
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4693
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4694
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4695
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4696
|
-
color: #1559d6;
|
|
4697
|
-
fill: currentColor;
|
|
4698
|
-
background-color: #edf6ff;
|
|
4699
|
-
border-color: rgba(37,99,235,.22);
|
|
4700
|
-
box-shadow: inset 0 0 0 1px rgba(37,99,235,.12);
|
|
4701
|
-
}
|
|
4702
|
-
|
|
4703
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-disabled,
|
|
4704
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-disabled,
|
|
4705
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-disabled {
|
|
4706
|
-
color: #9aa0a6;
|
|
4707
|
-
opacity: .62;
|
|
4708
|
-
}
|
|
4709
|
-
|
|
4710
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-disabled:hover,
|
|
4711
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-disabled:hover,
|
|
4712
|
-
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-disabled:hover {
|
|
4713
|
-
color: #9aa0a6;
|
|
4714
|
-
background-color: transparent;
|
|
4715
|
-
border-color: transparent;
|
|
4716
|
-
box-shadow: none;
|
|
4717
|
-
}
|
|
4718
|
-
|
|
4719
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4720
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4721
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4722
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4723
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4724
|
-
color: var(--rte-icon-color, #cbd5e1);
|
|
4725
|
-
}
|
|
4726
|
-
|
|
4727
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4728
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4729
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4730
|
-
color: #e2e8f0;
|
|
4731
|
-
background-color: #334155;
|
|
4732
|
-
border-color: #475569;
|
|
4733
|
-
}
|
|
4734
|
-
|
|
4735
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4736
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4737
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4738
|
-
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4739
|
-
color: #bfdbfe;
|
|
4740
|
-
background-color: #1e3a5f;
|
|
4741
|
-
border-color: rgba(96,165,250,.46);
|
|
4742
|
-
box-shadow: inset 0 0 0 1px rgba(96,165,250,.24);
|
|
4743
|
-
}
|
|
4744
|
-
|
|
4745
|
-
@media (prefers-color-scheme: dark) {
|
|
4746
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4747
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4748
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4749
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4750
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4751
|
-
color: var(--rte-icon-color, #cbd5e1);
|
|
4752
|
-
}
|
|
4753
|
-
|
|
4754
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4755
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4756
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4757
|
-
color: #e2e8f0;
|
|
4758
|
-
background-color: #334155;
|
|
4759
|
-
border-color: #475569;
|
|
4760
|
-
}
|
|
4761
|
-
|
|
4762
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4763
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4764
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4765
|
-
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4766
|
-
color: #bfdbfe;
|
|
4767
|
-
background-color: #1e3a5f;
|
|
4768
|
-
border-color: rgba(96,165,250,.46);
|
|
4769
|
-
box-shadow: inset 0 0 0 1px rgba(96,165,250,.24);
|
|
4770
|
-
}
|
|
4771
|
-
}
|
|
4772
|
-
|
|
4773
|
-
/* 2026-07-03 dialog top-chrome guard.
|
|
4774
|
-
Dialogs must clear host sticky menus and also sit above editor dropdown
|
|
4775
|
-
panels, which use a higher default z-index than config.zIndexDialog. */
|
|
4776
|
-
rte-dialog-outer,
|
|
4777
|
-
rte-dialog-float,
|
|
4778
|
-
.rte-alt-editor-popup,
|
|
4779
|
-
.rte-find-replace-dialog,
|
|
4780
|
-
.rte-ai-context-menu,
|
|
4781
|
-
.rte-image-quickbar {
|
|
4782
|
-
--rte-dialog-effective-top-chrome: max(var(--rte-ai-sticky-top-offset, 0px), var(--rte-dialog-detected-top-chrome, 0px));
|
|
4783
|
-
}
|
|
4784
|
-
|
|
4785
|
-
rte-dialog-outer {
|
|
4786
|
-
top: max(0px, var(--rte-dialog-effective-top-chrome)) !important;
|
|
4787
|
-
box-sizing: border-box;
|
|
4788
|
-
padding: 12px;
|
|
4789
|
-
overflow: auto;
|
|
4790
|
-
overscroll-behavior: contain;
|
|
4791
|
-
z-index: 2147483646 !important;
|
|
4792
|
-
}
|
|
4793
|
-
|
|
4794
|
-
rte-dialog-outer rte-dialog-inner {
|
|
4795
|
-
max-height: min(88vh, 760px, calc(100vh - max(32px, calc(var(--rte-dialog-effective-top-chrome) + 32px)))) !important;
|
|
4796
|
-
}
|
|
4797
|
-
|
|
4798
|
-
rte-dialog-float {
|
|
4799
|
-
top: max(12px, calc(var(--rte-dialog-effective-top-chrome) + 12px));
|
|
4800
|
-
max-height: calc(100vh - max(32px, calc(var(--rte-dialog-effective-top-chrome) + 32px)));
|
|
4801
|
-
z-index: 2147483646 !important;
|
|
4802
|
-
}
|
|
4803
|
-
|
|
4804
|
-
rte-dialog-float rte-dialog-inner {
|
|
4805
|
-
max-height: inherit;
|
|
4806
|
-
overflow: auto;
|
|
4807
|
-
}
|
|
4808
|
-
|
|
4809
|
-
.rte-alt-editor-popup,
|
|
4810
|
-
.rte-find-replace-dialog,
|
|
4811
|
-
.rte-ai-context-menu {
|
|
4812
|
-
z-index: 2147483646 !important;
|
|
4813
|
-
}
|
|
4814
|
-
|
|
4815
|
-
.rte-find-replace-dialog {
|
|
4816
|
-
top: max(80px, calc(var(--rte-dialog-effective-top-chrome) + 12px)) !important;
|
|
4817
|
-
max-height: calc(100vh - max(104px, calc(var(--rte-dialog-effective-top-chrome) + 32px)));
|
|
4818
|
-
overflow: auto;
|
|
4758
|
+
width: 20px !important;
|
|
4759
|
+
height: 20px !important;
|
|
4819
4760
|
}
|
|
4761
|
+
|
|
4762
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4763
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4764
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4765
|
+
color: #1559d6;
|
|
4766
|
+
background-color: #f3f8ff;
|
|
4767
|
+
border-color: rgba(37,99,235,.14);
|
|
4768
|
+
}
|
|
4769
|
+
|
|
4770
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4771
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4772
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4773
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4774
|
+
color: #1559d6;
|
|
4775
|
+
fill: currentColor;
|
|
4776
|
+
background-color: #edf6ff;
|
|
4777
|
+
border-color: rgba(37,99,235,.22);
|
|
4778
|
+
box-shadow: inset 0 0 0 1px rgba(37,99,235,.12);
|
|
4779
|
+
}
|
|
4780
|
+
|
|
4781
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-disabled,
|
|
4782
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-disabled,
|
|
4783
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-disabled {
|
|
4784
|
+
color: #9aa0a6;
|
|
4785
|
+
opacity: .62;
|
|
4786
|
+
}
|
|
4787
|
+
|
|
4788
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-disabled:hover,
|
|
4789
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-disabled:hover,
|
|
4790
|
+
.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-disabled:hover {
|
|
4791
|
+
color: #9aa0a6;
|
|
4792
|
+
background-color: transparent;
|
|
4793
|
+
border-color: transparent;
|
|
4794
|
+
box-shadow: none;
|
|
4795
|
+
}
|
|
4796
|
+
|
|
4797
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4798
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4799
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4800
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4801
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4802
|
+
color: var(--rte-icon-color, #cbd5e1);
|
|
4803
|
+
}
|
|
4804
|
+
|
|
4805
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4806
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4807
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4808
|
+
color: #e2e8f0;
|
|
4809
|
+
background-color: #334155;
|
|
4810
|
+
border-color: #475569;
|
|
4811
|
+
}
|
|
4812
|
+
|
|
4813
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4814
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4815
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4816
|
+
.rte-dark.richtexteditor.rte-modern.rte-desktop rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4817
|
+
color: #bfdbfe;
|
|
4818
|
+
background-color: #1e3a5f;
|
|
4819
|
+
border-color: rgba(96,165,250,.46);
|
|
4820
|
+
box-shadow: inset 0 0 0 1px rgba(96,165,250,.24);
|
|
4821
|
+
}
|
|
4822
|
+
|
|
4823
|
+
@media (prefers-color-scheme: dark) {
|
|
4824
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button,
|
|
4825
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton,
|
|
4826
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton,
|
|
4827
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-direct,
|
|
4828
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton-dropdown {
|
|
4829
|
+
color: var(--rte-icon-color, #cbd5e1);
|
|
4830
|
+
}
|
|
4831
|
+
|
|
4832
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button:hover,
|
|
4833
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton:hover,
|
|
4834
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton:hover {
|
|
4835
|
+
color: #e2e8f0;
|
|
4836
|
+
background-color: #334155;
|
|
4837
|
+
border-color: #475569;
|
|
4838
|
+
}
|
|
4839
|
+
|
|
4840
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-button.rte-command-active,
|
|
4841
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-arrowbutton.rte-command-active,
|
|
4842
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-splitbutton.rte-command-active,
|
|
4843
|
+
.richtexteditor.rte-auto-dark.rte-modern.rte-desktop:not(.rte-light) rte-toolbar.rte-toolbar-desktop rte-toolbar-dropdown.rte-command-active {
|
|
4844
|
+
color: #bfdbfe;
|
|
4845
|
+
background-color: #1e3a5f;
|
|
4846
|
+
border-color: rgba(96,165,250,.46);
|
|
4847
|
+
box-shadow: inset 0 0 0 1px rgba(96,165,250,.24);
|
|
4848
|
+
}
|
|
4849
|
+
}
|
|
4850
|
+
|
|
4851
|
+
/* 2026-07-03 dialog top-chrome guard.
|
|
4852
|
+
Dialogs must clear host sticky menus and also sit above editor dropdown
|
|
4853
|
+
panels, which use a higher default z-index than config.zIndexDialog. */
|
|
4854
|
+
rte-dialog-outer,
|
|
4855
|
+
rte-dialog-float,
|
|
4856
|
+
.rte-alt-editor-popup,
|
|
4857
|
+
.rte-find-replace-dialog,
|
|
4858
|
+
.rte-ai-context-menu,
|
|
4859
|
+
.rte-image-quickbar {
|
|
4860
|
+
--rte-dialog-effective-top-chrome: max(var(--rte-ai-sticky-top-offset, 0px), var(--rte-dialog-detected-top-chrome, 0px));
|
|
4861
|
+
}
|
|
4862
|
+
|
|
4863
|
+
rte-dialog-outer {
|
|
4864
|
+
top: max(0px, var(--rte-dialog-effective-top-chrome)) !important;
|
|
4865
|
+
box-sizing: border-box;
|
|
4866
|
+
padding: 12px;
|
|
4867
|
+
overflow: auto;
|
|
4868
|
+
overscroll-behavior: contain;
|
|
4869
|
+
z-index: 2147483646 !important;
|
|
4870
|
+
}
|
|
4871
|
+
|
|
4872
|
+
rte-dialog-outer rte-dialog-inner {
|
|
4873
|
+
max-height: min(88vh, 760px, calc(100vh - max(32px, calc(var(--rte-dialog-effective-top-chrome) + 32px)))) !important;
|
|
4874
|
+
}
|
|
4875
|
+
|
|
4876
|
+
rte-dialog-float {
|
|
4877
|
+
top: max(12px, calc(var(--rte-dialog-effective-top-chrome) + 12px));
|
|
4878
|
+
max-height: calc(100vh - max(32px, calc(var(--rte-dialog-effective-top-chrome) + 32px)));
|
|
4879
|
+
z-index: 2147483646 !important;
|
|
4880
|
+
}
|
|
4881
|
+
|
|
4882
|
+
rte-dialog-float rte-dialog-inner {
|
|
4883
|
+
max-height: inherit;
|
|
4884
|
+
overflow: auto;
|
|
4885
|
+
}
|
|
4886
|
+
|
|
4887
|
+
.rte-alt-editor-popup,
|
|
4888
|
+
.rte-find-replace-dialog,
|
|
4889
|
+
.rte-ai-context-menu {
|
|
4890
|
+
z-index: 2147483646 !important;
|
|
4891
|
+
}
|
|
4892
|
+
|
|
4893
|
+
.rte-find-replace-dialog {
|
|
4894
|
+
top: max(80px, calc(var(--rte-dialog-effective-top-chrome) + 12px)) !important;
|
|
4895
|
+
max-height: calc(100vh - max(104px, calc(var(--rte-dialog-effective-top-chrome) + 32px)));
|
|
4896
|
+
overflow: auto;
|
|
4897
|
+
}
|