X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/f4dd38ea9409193aee6daafc8fe509fd95cd0421..refs/pull/5721/head:/resources/sass/_tinymce.scss diff --git a/resources/sass/_tinymce.scss b/resources/sass/_tinymce.scss index 7170f8101..8cc96df41 100644 --- a/resources/sass/_tinymce.scss +++ b/resources/sass/_tinymce.scss @@ -1,3 +1,6 @@ +@use "mixins"; +@use "vars"; + // Custom full screen mode .tox.tox-fullscreen { @@ -9,12 +12,33 @@ z-index: 100; } +// Editor wrapper edits +.tox.tox-tinymce { + border-inline: 0; + border-bottom: 0; +} + // In editor body overrides .page-content.mce-content-body { padding-block-start: 1rem; padding-block-end: 1rem; outline: 0; display: block; + max-width: 870px; +} + +.wysiwyg-input.mce-content-body { + padding-block-start: 1rem; + padding-block-end: 1rem; + outline: 0; + display: block; +} + +.wysiwyg-input.mce-content-body:before { + padding: 1rem; + top: 4px; + font-style: italic; + @include mixins.lightDark(color, rgba(34,47,62,.5), rgba(155,155,155,.5)) } // Default styles for our custom root nodes @@ -25,11 +49,6 @@ display: block; } -// In editor line height override -.page-content.mce-content-body p { - line-height: 1.6; -} - // Pad out bottom of editor body.page-content.mce-content-body { padding-bottom: 5rem; @@ -58,14 +77,48 @@ body.page-content.mce-content-body { pointer-events: none; } .page-content.mce-content-body details doc-root { - padding: $-s; - margin-left: (2px - $-s); - margin-right: (2px - $-s); - margin-bottom: (2px - $-s); - margin-top: (2px - $-s); + padding: vars.$s; + margin-left: (2px - vars.$s); + margin-right: (2px - vars.$s); + margin-bottom: (2px - vars.$s); + margin-top: (2px - vars.$s); overflow: hidden; } +// Allow alignment to be reflected in media embed wrappers +.page-content.mce-content-body .mce-preview-object.align-right { + float: right !important; + margin: vars.$xs 0 vars.$xs vars.$s; +} + +.page-content.mce-content-body .mce-preview-object.align-left { + float: left !important; + margin: vars.$xs vars.$m vars.$m 0; +} + +.page-content.mce-content-body .mce-preview-object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +.page-content.mce-content-body .mce-preview-object iframe, +.page-content.mce-content-body .mce-preview-object video { + display: block; + margin: 0 !important; + float: none !important; +} + +.page-content.mce-content-body td[data-mce-selected]::after, +.page-content.mce-content-body th[data-mce-selected]::after { + top: 1px; + left: 1px; + bottom: 1px; + right: 1px; + outline: 1px dashed #1a85ff; + outline-offset: 0; +} + /** * Dark Mode Overrides */ @@ -110,7 +163,7 @@ body.page-content.mce-content-body { border-left: 3px solid currentColor !important; } .tox-menu .tox-collection__item[title^="<"] > div > div { - font-family: $mono !important; + font-family: var(--font-code) !important; border: 1px solid #DDD !important; background-color: #EEE !important; padding: 4px 6px !important; @@ -123,7 +176,7 @@ body.page-content.mce-content-body { * Fake task list checkboxes */ .page-content.mce-content-body .task-list-item { - margin-left: 0; + margin-inline-start: 0; position: relative; } .page-content.mce-content-body .task-list-item > input[type="checkbox"] { @@ -136,11 +189,11 @@ body.page-content.mce-content-body { width: 12px; height: 12px; border-radius: 2px; - margin-right: 8px; + margin-inline-end: 8px; vertical-align: text-top; cursor: pointer; position: absolute; - left: -24px; + inset-inline-start: -24px; top: 4px; }