// Common variables :root { --editor-color-primary: #206ea7; } // Main UI elements .editor-container { background-color: #FFF; position: relative; &.fullscreen { z-index: 500; } } .editor-toolbar-main { display: flex; flex-wrap: wrap; justify-content: center; border-top: 1px solid #DDD; border-bottom: 1px solid #DDD; } body.editor-is-fullscreen { overflow: hidden; .edit-area { z-index: 20; } } .editor-content-area { &:focus { outline: 0; } } .editor-content-wrap { overflow-y: scroll; } // Buttons .editor-button { font-size: 12px; padding: 4px; color: #444; border-radius: 4px; display: flex; align-items: center; justify-content: center; margin: 2px; } .editor-button:hover { background-color: #EEE; cursor: pointer; color: #000; } .editor-button[disabled] { pointer-events: none; cursor: not-allowed; opacity: .6; } .editor-button-active, .editor-button-active:hover { background-color: #ceebff; color: #000; } .editor-button-format-preview { padding: 4px 6px; display: block; } .editor-button-icon svg { width: 24px; height: 24px; color: inherit; fill: currentColor; display: block; } // Containers .editor-dropdown-menu-container { position: relative; } .editor-dropdown-menu { position: absolute; background-color: #FFF; box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.15); z-index: 99; min-width: 120px; display: flex; flex-direction: row; } .editor-menu-list { display: flex; flex-direction: column; align-items: stretch; } .editor-menu-list .editor-button { border-bottom: 0; text-align: start; display: block; width: 100%; } .editor-menu-list > .editor-dropdown-menu-container .editor-dropdown-menu { inset-inline-start: 100%; top: 0; flex-direction: column; } .editor-format-menu-toggle { width: 130px; height: 32px; overflow: hidden; padding-inline: 12px; justify-content: start; background-image: url('data:image/svg+xml;utf8,'); background-repeat: no-repeat; background-position: 98% 50%; background-size: 28px; } .editor-format-menu .editor-dropdown-menu { min-width: 300px; .editor-dropdown-menu { min-width: 220px; } } .editor-format-menu .editor-dropdown-menu .editor-dropdown-menu-container > .editor-button { padding: 8px 10px; } .editor-overflow-container { display: flex; border-inline: 1px solid #DDD; padding-inline: 4px; &:first-child { border-inline-start: none; } &:last-child { border-inline-end: none; } + .editor-overflow-container { border-inline-start: none; } } .editor-context-toolbar { position: fixed; background-color: #FFF; border: 1px solid #DDD; padding: .2rem; border-radius: 4px; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12); display: flex; flex-direction: row; &:before { content: ''; z-index: -1; display: block; width: 8px; height: 8px; position: absolute; background-color: #FFF; border-top: 1px solid #DDD; border-left: 1px solid #DDD; transform: rotate(45deg); left: 50%; margin-left: -4px; top: -5px; } } // Modals .editor-modal-wrapper { position: fixed; display: flex; align-items: center; justify-content: center; z-index: 999; background-color: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; } .editor-modal { background-color: #FFF; border-radius: 4px; overflow: hidden; box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.3); } .editor-modal-header { display: flex; justify-content: space-between; align-items: stretch; background-color: var(--color-primary); color: #FFF; } .editor-modal-title { padding: 8px $-m; } .editor-modal-close { color: #FFF; padding: 8px $-m; align-items: center; justify-content: center; cursor: pointer; &:hover { background-color: rgba(255, 255, 255, 0.1); } svg { width: 1rem; height: 1rem; fill: currentColor; display: block; } } .editor-modal-body { padding: $-m; } // Specific UI elements .editor-color-select-row { display: flex; } .editor-color-select-option { width: 28px; height: 28px; cursor: pointer; } .editor-color-select-option:hover { border-radius: 3px; box-sizing: border-box; z-index: 3; box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.25); } .editor-table-creator-row { display: flex; } .editor-table-creator-cell { border: 1px solid #DDD; width: 15px; height: 15px; cursor: pointer; &.active { background-color: var(--editor-color-primary); } } .editor-table-creator-display { text-align: center; padding: 0.2em; } // In-editor elements .editor-image-wrap { position: relative; display: inline-flex; } .editor-image-decorator { position: absolute; left: 0; right: 0; width: 100%; height: 100%; display: inline-block; &.selected { border: 1px dashed var(--editor-color-primary); } } .editor-image-decorator-handle { position: absolute; display: block; width: 10px; height: 10px; border: 2px solid var(--editor-color-primary); background-color: #FFF; user-select: none; &.nw { inset-inline-start: -5px; inset-block-start: -5px; cursor: nw-resize; } &.ne { inset-inline-end: -5px; inset-block-start: -5px; cursor: ne-resize; } &.se { inset-inline-end: -5px; inset-block-end: -5px; cursor: se-resize; } &.sw { inset-inline-start: -5px; inset-block-end: -5px; cursor: sw-resize; } } .editor-table-marker { position: fixed; background-color: var(--editor-color-primary); z-index: 99; user-select: none; opacity: 0; &:hover, &.active { opacity: 0.4; } } .editor-table-marker-column { width: 4px; cursor: col-resize; } .editor-table-marker-row { height: 4px; cursor: row-resize; } .editor-code-block-wrap { user-select: none; > * { pointer-events: none; } } // Editor form elements .editor-form-field-wrapper { margin-bottom: .5rem; } .editor-form-field-input { display: block; width: 100%; min-width: 250px; border: 1px solid #DDD; padding: .5rem; border-radius: 4px; color: #444; } textarea.editor-form-field-input { font-family: var(--font-code); width: 350px; height: 250px; font-size: 12px; } .editor-form-field-label { color: #444; font-weight: 700; font-size: 12px; } .editor-form-actions { display: flex; justify-content: end; gap: $-s; margin-top: $-m; } .editor-form-actions > button { display: block; font-size: 0.85rem; line-height: 1.4em; padding: $-xs*1.3 $-m; font-weight: 400; border-radius: 4px; cursor: pointer; box-shadow: none; &:focus { outline: 1px dotted currentColor; outline-offset: -$-xs; box-shadow: none; filter: brightness(90%); } } .editor-form-action-primary { background-color: var(--color-primary); color: #FFF; border: 1px solid var(--color-primary); &:hover { @include lightDark(box-shadow, $bs-light, $bs-dark); filter: brightness(110%); } } .editor-form-action-secondary { border: 1px solid; @include lightDark(border-color, #CCC, #666); @include lightDark(color, #666, #AAA); &:hover, &:focus, &:active { @include lightDark(color, #444, #BBB); border: 1px solid #CCC; box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.1); background-color: #F2F2F2; @include lightDark(background-color, #f8f8f8, #444); filter: none; } &:active { border-color: #BBB; background-color: #DDD; color: #666; box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.1); } } // Editor theme styles .editor-theme-bold { font-weight: bold; } .editor-theme-italic { font-style: italic; } .editor-theme-strikethrough { text-decoration-line: line-through; } .editor-theme-underline { text-decoration-line: underline; } .editor-theme-underline-strikethrough { text-decoration: underline line-through; }