6 --editor-color-primary: #206ea7;
11 @include mixins.lightDark(background-color, #FFF, #222);
18 .editor-toolbar-main {
21 justify-content: center;
22 border-top: 1px solid #DDD;
23 border-bottom: 1px solid #DDD;
24 @include mixins.lightDark(border-color, #DDD, #000);
27 @include mixins.smaller-than(vars.$bp-xl) {
28 .editor-toolbar-main {
31 justify-content: start;
35 body.editor-is-fullscreen {
41 .editor-content-area {
48 .editor-content-wrap {
51 padding-inline: vars.$s;
55 // Variation specific styles
56 .comment-editor-container,
57 .basic-editor-container {
58 border-left: 1px solid #DDD;
59 border-right: 1px solid #DDD;
60 border-bottom: 1px solid #DDD;
62 @include mixins.lightDark(border-color, #DDD, #000);
64 .editor-toolbar-main {
65 border-radius: 3px 3px 0 0;
70 .basic-editor-container .editor-content-area {
79 @include mixins.lightDark(color, #444, #999);
83 justify-content: center;
86 .editor-button:hover {
87 background-color: #EEE;
88 @include mixins.lightDark(background-color, #EEE, #333);
92 .editor-button[disabled] {
97 .editor-button-active, .editor-button-active:hover {
98 @include mixins.lightDark(background-color, #ceebff, #444);
101 .editor-button-long {
102 display: flex !important;
105 justify-content: start;
108 .editor-button-text {
110 @include mixins.lightDark(color, #000, #AAA);
113 padding-inline-end: 4px;
115 .editor-button-format-preview {
119 .editor-button-long .editor-button-icon {
123 .editor-button-icon svg {
130 .editor-menu-button-icon {
137 .editor-container[dir="rtl"] .editor-menu-button-icon {
140 .editor-button-with-menu-container {
144 align-items: stretch;
146 .editor-dropdown-menu-container {
149 .editor-dropdown-menu-container > .editor-dropdown-menu {
152 .editor-dropdown-menu-container > .editor-button {
154 margin-inline-start: -3px;
162 @include mixins.lightDark(outline-color, #DDD, #111);
163 outline-offset: -3px;
168 .editor-dropdown-menu-container {
171 .editor-dropdown-menu {
174 @include mixins.lightDark(background-color, #FFF, #292929);
175 @include mixins.lightDark(border-color, #FFF, #333);
176 @include mixins.lightDark(box-shadow, 0 0 6px 0 rgba(0, 0, 0, 0.15), 0 1px 4px 0 rgba(0, 0, 0, 0.4));
182 .editor-dropdown-menu-vertical {
184 flex-direction: column;
185 align-items: stretch;
188 .editor-dropdown-menu-vertical .editor-button {
194 .editor-dropdown-menu-vertical > .editor-dropdown-menu-container .editor-dropdown-menu {
195 inset-inline-start: 100%;
203 @include mixins.lightDark(background-color, #DDD, #000);
206 .editor-format-menu-toggle {
211 padding-inline: 12px;
212 justify-content: start;
213 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23666" d="M7.41 8L12 12.58 16.59 8 18 9.41l-6 6-6-6z"/></svg>');
214 background-repeat: no-repeat;
215 background-position: 98% 50%;
216 background-size: 28px;
218 .editor-container[dir="rtl"] .editor-format-menu-toggle {
219 background-position: 2% 50%;
221 .editor-format-menu .editor-dropdown-menu {
223 .editor-dropdown-menu {
226 .editor-button-icon {
230 .editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container > .editor-button {
234 .editor-overflow-container {
236 border-inline: 1px solid #DDD;
238 @include mixins.lightDark(border-color, #DDD, #000);
240 border-inline-start: none;
243 border-inline-end: none;
245 + .editor-overflow-container {
246 border-inline-start: none;
250 .editor-context-toolbar {
252 border: 1px solid #DDD;
253 @include mixins.lightDark(background-color, #FFF, #222);
254 @include mixins.lightDark(border-color, #DDD, #333);
255 @include mixins.lightDark(box-shadow, 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 1px 4px 0 rgba(0, 0, 0, 0.4));
267 @include mixins.lightDark(background-color, #FFF, #222);
268 border-top: 1px solid #DDD;
269 border-left: 1px solid #DDD;
270 @include mixins.lightDark(border-color, #DDD, #333);
271 transform: rotate(45deg);
277 top: calc(100% - 5px);
278 transform: rotate(225deg);
283 .editor-modal-wrapper {
287 justify-content: center;
289 background-color: rgba(0, 0, 0, 0.5);
294 @include mixins.lightDark(background-color, #FFF, #222);
297 box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
302 .editor-modal-header {
304 justify-content: space-between;
305 align-items: stretch;
306 background-color: var(--color-primary);
309 .editor-modal-title {
310 padding: 8px vars.$m;
312 .editor-modal-close {
314 padding: 8px vars.$m;
316 justify-content: center;
319 background-color: rgba(255, 255, 255, 0.1);
332 // Specific UI elements
333 .editor-color-select-row {
336 .editor-color-select-option {
342 justify-content: center;
344 .editor-color-select-option:hover {
346 box-sizing: border-box;
348 box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.25);
350 .editor-color-select-option[data-color=""] svg {
355 .editor-table-creator-row {
358 .editor-table-creator-cell {
360 @include mixins.lightDark(border-color, #DDD, #000);
365 background-color: var(--editor-color-primary);
368 .editor-table-creator-display {
372 .editor-external-content {
380 // In-editor elements
383 display: inline-flex;
385 .editor-node-resizer {
389 display: inline-block;
390 outline: 2px dashed var(--editor-color-primary);
392 pointer-events: none;
394 .editor-node-resizer-handle {
395 pointer-events: auto;
400 border: 2px solid var(--editor-color-primary);
402 @include mixins.lightDark(background-color, #FFF, #000);
405 inset-inline-start: -5px;
406 inset-block-start: -5px;
410 inset-inline-end: -5px;
411 inset-block-start: -5px;
415 inset-inline-end: -5px;
416 inset-block-end: -5px;
420 inset-inline-start: -5px;
421 inset-block-end: -5px;
425 .editor-node-resizer-ghost {
434 pointer-events: none;
435 background-color: var(--editor-color-primary);
437 .editor-node-resizer.active .editor-node-resizer-ghost {
440 .editor-content-area details[contenteditable="false"],
441 .editor-content-area summary[contenteditable="false"] {
444 .editor-content-area details[contenteditable="false"] > details * {
445 pointer-events: none;
447 .editor-content-area details summary {
448 caret-color: transparent;
450 .editor-content-area details.selected {
451 outline: 1px dashed var(--editor-color-primary);
455 .editor-table-marker {
457 background-color: var(--editor-color-primary);
465 .editor-table-marker-column {
469 .editor-table-marker-row {
474 .editor-code-block-wrap {
477 pointer-events: none;
479 &.selected .cm-editor {
480 border: 1px dashed var(--editor-color-primary);
483 .editor-diagram.selected {
484 outline: 2px dashed var(--editor-color-primary);
488 display: inline-block;
491 pointer-events: none;
506 * Fake task list checkboxes
508 .editor-content-area .task-list-item {
512 .editor-content-area .task-list-item > input[type="checkbox"] {
515 .editor-content-area .task-list-item:before {
517 display: inline-block;
518 border: 2px solid #CCC;
523 vertical-align: text-top;
529 .editor-content-area .task-list-item[checked]:before {
530 background-color: #CCC;
531 background-image: url('data:image/svg+xml;utf8,<svg fill="%23FFFFFF" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m8.4856 20.274-6.736-6.736 2.9287-2.7823 3.8073 3.8073 10.836-10.836 2.9287 2.9287z" stroke-width="1.4644"/></svg>');
532 background-position: 50% 50%;
533 background-size: 100% 100%;
541 .editor-form-field-wrapper {
542 margin-bottom: .5rem;
544 .editor-form-field-input {
550 @include mixins.lightDark(border-color, #DDD, #000);
553 @include mixins.lightDark(color, #444, #BBB);
556 @include mixins.smaller-than(vars.$bp-xs) {
557 .editor-form-field-input {
562 textarea.editor-form-field-input {
563 font-family: var(--font-code);
568 .editor-form-field-label {
573 .editor-form-actions {
575 justify-content: end;
579 .editor-form-actions > button {
583 padding: vars.$xs*1.3 vars.$m;
589 outline: 1px dotted currentColor;
590 outline-offset: -(vars.$xs);
592 filter: brightness(90%);
595 .editor-form-action-primary {
596 background-color: var(--color-primary);
598 border: 1px solid var(--color-primary);
600 @include mixins.lightDark(box-shadow, vars.$bs-light, vars.$bs-dark);
601 filter: brightness(110%);
604 .editor-form-action-secondary {
606 @include mixins.lightDark(border-color, #CCC, #666);
607 @include mixins.lightDark(color, #666, #AAA);
608 &:hover, &:focus, &:active {
609 @include mixins.lightDark(color, #444, #BBB);
610 border: 1px solid #CCC;
611 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
612 background-color: #F2F2F2;
613 @include mixins.lightDark(background-color, #f8f8f8, #444);
618 background-color: #DDD;
620 box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
623 .editor-form-tab-container {
628 .editor-form-tab-controls {
630 flex-direction: column;
631 align-items: stretch;
635 @include mixins.smaller-than(vars.$bp-m) {
636 .editor-form-tab-container {
637 flex-direction: column;
640 .editor-form-tab-controls {
645 .editor-form-tab-control {
648 @include mixins.lightDark(color, #444, #666);
649 border-bottom: 2px solid transparent;
652 padding: .25rem .5rem;
654 &[aria-selected="true"] {
655 border-color: var(--editor-color-primary);
656 color: var(--editor-color-primary) !important;
658 &[aria-selected="true"]:after, &:hover:after {
659 background-color: var(--editor-color-primary);
670 .editor-form-tab-contents {
674 .editor-action-input-container {
678 justify-content: space-between;
684 width: $inputWidth - 40px;
687 .editor-color-field-container {
692 .editor-dropdown-menu-container {
698 // Specific field styles
699 textarea.editor-form-field-input[name="source"] {
706 // Editor theme styles
710 .editor-theme-italic {
713 .editor-theme-strikethrough {
714 text-decoration-line: line-through;
716 .editor-theme-underline {
717 text-decoration-line: underline;
719 .editor-theme-underline-strikethrough {
720 text-decoration: underline line-through;