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;
60 @include mixins.lightDark(color, #444, #999);
64 justify-content: center;
67 .editor-button:hover {
68 background-color: #EEE;
69 @include mixins.lightDark(background-color, #EEE, #333);
73 .editor-button[disabled] {
78 .editor-button-active, .editor-button-active:hover {
79 @include mixins.lightDark(background-color, #ceebff, #444);
83 display: flex !important;
86 justify-content: start;
91 @include mixins.lightDark(color, #000, #AAA);
94 padding-inline-end: 4px;
96 .editor-button-format-preview {
100 .editor-button-long .editor-button-icon {
104 .editor-button-icon svg {
111 .editor-menu-button-icon {
118 .editor-container[dir="rtl"] .editor-menu-button-icon {
121 .editor-button-with-menu-container {
125 align-items: stretch;
127 .editor-dropdown-menu-container {
130 .editor-dropdown-menu-container > .editor-dropdown-menu {
133 .editor-dropdown-menu-container > .editor-button {
135 margin-inline-start: -3px;
143 @include mixins.lightDark(outline-color, #DDD, #111);
144 outline-offset: -3px;
149 .editor-dropdown-menu-container {
152 .editor-dropdown-menu {
155 @include mixins.lightDark(background-color, #FFF, #292929);
156 @include mixins.lightDark(border-color, #FFF, #333);
157 @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));
163 .editor-dropdown-menu-vertical {
165 flex-direction: column;
166 align-items: stretch;
169 .editor-dropdown-menu-vertical .editor-button {
175 .editor-dropdown-menu-vertical > .editor-dropdown-menu-container .editor-dropdown-menu {
176 inset-inline-start: 100%;
184 @include mixins.lightDark(background-color, #DDD, #000);
187 .editor-format-menu-toggle {
192 padding-inline: 12px;
193 justify-content: start;
194 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>');
195 background-repeat: no-repeat;
196 background-position: 98% 50%;
197 background-size: 28px;
199 .editor-container[dir="rtl"] .editor-format-menu-toggle {
200 background-position: 2% 50%;
202 .editor-format-menu .editor-dropdown-menu {
204 .editor-dropdown-menu {
207 .editor-button-icon {
211 .editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container > .editor-button {
215 .editor-overflow-container {
217 border-inline: 1px solid #DDD;
219 @include mixins.lightDark(border-color, #DDD, #000);
221 border-inline-start: none;
224 border-inline-end: none;
226 + .editor-overflow-container {
227 border-inline-start: none;
231 .editor-context-toolbar {
233 border: 1px solid #DDD;
234 @include mixins.lightDark(background-color, #FFF, #222);
235 @include mixins.lightDark(border-color, #DDD, #333);
236 @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));
248 @include mixins.lightDark(background-color, #FFF, #222);
249 border-top: 1px solid #DDD;
250 border-left: 1px solid #DDD;
251 @include mixins.lightDark(border-color, #DDD, #333);
252 transform: rotate(45deg);
258 top: calc(100% - 5px);
259 transform: rotate(225deg);
264 .editor-modal-wrapper {
268 justify-content: center;
270 background-color: rgba(0, 0, 0, 0.5);
275 @include mixins.lightDark(background-color, #FFF, #222);
278 box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3);
283 .editor-modal-header {
285 justify-content: space-between;
286 align-items: stretch;
287 background-color: var(--color-primary);
290 .editor-modal-title {
291 padding: 8px vars.$m;
293 .editor-modal-close {
295 padding: 8px vars.$m;
297 justify-content: center;
300 background-color: rgba(255, 255, 255, 0.1);
313 // Specific UI elements
314 .editor-color-select-row {
317 .editor-color-select-option {
323 justify-content: center;
325 .editor-color-select-option:hover {
327 box-sizing: border-box;
329 box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.25);
331 .editor-color-select-option[data-color=""] svg {
336 .editor-table-creator-row {
339 .editor-table-creator-cell {
341 @include mixins.lightDark(border-color, #DDD, #000);
346 background-color: var(--editor-color-primary);
349 .editor-table-creator-display {
354 // In-editor elements
357 display: inline-flex;
359 .editor-node-resizer {
363 display: inline-block;
364 outline: 2px dashed var(--editor-color-primary);
367 .editor-node-resizer-handle {
372 border: 2px solid var(--editor-color-primary);
374 @include mixins.lightDark(background-color, #FFF, #000);
377 inset-inline-start: -5px;
378 inset-block-start: -5px;
382 inset-inline-end: -5px;
383 inset-block-start: -5px;
387 inset-inline-end: -5px;
388 inset-block-end: -5px;
392 inset-inline-start: -5px;
393 inset-block-end: -5px;
397 .editor-node-resizer-ghost {
406 pointer-events: none;
407 background-color: var(--editor-color-primary);
409 .editor-node-resizer.active .editor-node-resizer-ghost {
413 .editor-table-marker {
415 background-color: var(--editor-color-primary);
423 .editor-table-marker-column {
427 .editor-table-marker-row {
432 .editor-code-block-wrap {
435 pointer-events: none;
437 &.selected .cm-editor {
438 border: 1px dashed var(--editor-color-primary);
441 .editor-diagram.selected {
442 outline: 2px dashed var(--editor-color-primary);
446 display: inline-block;
449 pointer-events: none;
464 * Fake task list checkboxes
466 .editor-content-area .task-list-item {
470 .editor-content-area .task-list-item > input[type="checkbox"] {
473 .editor-content-area .task-list-item:before {
475 display: inline-block;
476 border: 2px solid #CCC;
481 vertical-align: text-top;
487 .editor-content-area .task-list-item[checked]:before {
488 background-color: #CCC;
489 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>');
490 background-position: 50% 50%;
491 background-size: 100% 100%;
499 .editor-form-field-wrapper {
500 margin-bottom: .5rem;
502 .editor-form-field-input {
508 @include mixins.lightDark(border-color, #DDD, #000);
511 @include mixins.lightDark(color, #444, #BBB);
514 @include mixins.smaller-than(vars.$bp-xs) {
515 .editor-form-field-input {
520 textarea.editor-form-field-input {
521 font-family: var(--font-code);
526 .editor-form-field-label {
531 .editor-form-actions {
533 justify-content: end;
537 .editor-form-actions > button {
541 padding: vars.$xs*1.3 vars.$m;
547 outline: 1px dotted currentColor;
548 outline-offset: -(vars.$xs);
550 filter: brightness(90%);
553 .editor-form-action-primary {
554 background-color: var(--color-primary);
556 border: 1px solid var(--color-primary);
558 @include mixins.lightDark(box-shadow, vars.$bs-light, vars.$bs-dark);
559 filter: brightness(110%);
562 .editor-form-action-secondary {
564 @include mixins.lightDark(border-color, #CCC, #666);
565 @include mixins.lightDark(color, #666, #AAA);
566 &:hover, &:focus, &:active {
567 @include mixins.lightDark(color, #444, #BBB);
568 border: 1px solid #CCC;
569 box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1);
570 background-color: #F2F2F2;
571 @include mixins.lightDark(background-color, #f8f8f8, #444);
576 background-color: #DDD;
578 box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1);
581 .editor-form-tab-container {
586 .editor-form-tab-controls {
588 flex-direction: column;
589 align-items: stretch;
593 @include mixins.smaller-than(vars.$bp-m) {
594 .editor-form-tab-container {
595 flex-direction: column;
598 .editor-form-tab-controls {
603 .editor-form-tab-control {
606 @include mixins.lightDark(color, #444, #666);
607 border-bottom: 2px solid transparent;
610 padding: .25rem .5rem;
612 &[aria-selected="true"] {
613 border-color: var(--editor-color-primary);
614 color: var(--editor-color-primary) !important;
616 &[aria-selected="true"]:after, &:hover:after {
617 background-color: var(--editor-color-primary);
628 .editor-form-tab-contents {
632 .editor-action-input-container {
636 justify-content: space-between;
642 width: $inputWidth - 40px;
646 // Editor theme styles
650 .editor-theme-italic {
653 .editor-theme-strikethrough {
654 text-decoration-line: line-through;
656 .editor-theme-underline {
657 text-decoration-line: underline;
659 .editor-theme-underline-strikethrough {
660 text-decoration: underline line-through;