suneditor
Version:
Vanilla JavaScript based WYSIWYG web editor
1,775 lines (1,574 loc) • 129 kB
CSS
@import url('design/index.css');
/** --- suneditor main */
.sun-editor {
width: auto;
height: auto;
box-sizing: border-box;
font-family: var(--se-main-font-family);
border: 1px solid var(--se-main-out-color);
background-color: var(--se-main-background-color);
color: var(--se-main-color);
font-size: var(--se-main-font-size);
}
.sun-editor * {
box-sizing: border-box;
overflow: visible;
}
.sun-editor-common body,
.sun-editor-common div,
.sun-editor-common dl,
.sun-editor-common dt,
.sun-editor-common dd,
.sun-editor-common ul,
.sun-editor-common ol,
.sun-editor-common li,
.sun-editor-common h1,
.sun-editor-common h2,
.sun-editor-common h3,
.sun-editor-common h4,
.sun-editor-common h5,
.sun-editor-common h6,
.sun-editor-common pre,
.sun-editor-common code,
.sun-editor-common form,
.sun-editor-common fieldset,
.sun-editor-common legend,
.sun-editor-common p,
.sun-editor-common blockquote,
.sun-editor-common th,
.sun-editor-common td,
.sun-editor-common input,
.sun-editor-common select,
.sun-editor-common textarea,
.sun-editor-common button {
margin: 0;
padding: 0;
border: 0;
}
.sun-editor-common input,
.sun-editor-common select,
.sun-editor-common textarea {
background-color: inherit;
}
.sun-editor-common dl,
.sun-editor-common ul,
.sun-editor-common ol,
.sun-editor-common menu {
list-style: none;
}
.sun-editor-common hr {
margin: 6px 0 6px 0 !important;
}
.sun-editor textarea {
resize: none;
border: 0;
padding: 0;
}
.sun-editor button {
border: 0 none;
background-color: transparent;
touch-action: manipulation;
cursor: pointer;
outline: none;
}
.sun-editor input,
.sun-editor select,
.sun-editor textarea,
.sun-editor button {
vertical-align: middle;
}
.sun-editor button span {
display: block;
margin: 0;
padding: 0;
}
.sun-editor button .se-txt {
display: block;
margin-top: 0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
line-height: 2;
max-height: 24px;
}
/** --- se-type-document ---------------------------------------------------------- */
.sun-editor .se-wrapper.se-type-document {
padding: clamp(var(--se-doc-min-padding), var(--se-doc-min-padding) + calc(var(--se-doc-padding-factor) * 1vw), var(--se-doc-max-padding));
background-color: var(--se-doc-background);
box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.1);
}
.sun-editor .se-wrapper.se-type-document > .se-wrapper-inner {
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
/* se-type-document - header */
.sun-editor .se-wrapper.se-type-document .se-document-lines {
width: var(--se-doc-info-width);
min-width: var(--se-doc-info-min-width);
font-size: var(--se-doc-info-font-size);
overflow-y: auto;
overflow-x: hidden;
background-color: transparent;
z-index: 1;
}
.sun-editor .se-wrapper.se-type-document .se-document-lines.se-document-responsible {
min-width: unset !important;
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner {
padding: var(--se-doc-info-inner-padding);
padding-right: var(--se-doc-info-inner-line-padding);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-item {
color: var(--se-doc-info-font-color);
width: 100%;
padding: var(--se-doc-info-inner-line-padding);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: inline-block;
cursor: pointer;
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-item:hover {
text-decoration: underline;
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-item.active {
color: var(--se-doc-info-active-color);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h1 {
font-weight: var(--se-doc-info-inner-line-weight-h1);
padding-left: var(--se-doc-info-inner-line-indent-h1);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h2 {
font-weight: var(--se-doc-info-inner-line-weight-h2);
padding-left: var(--se-doc-info-inner-line-indent-h2);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h3 {
font-weight: var(--se-doc-info-inner-line-weight-h3);
padding-left: var(--se-doc-info-inner-line-indent-h3);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h4 {
font-weight: var(--se-doc-info-inner-line-weight-h4);
padding-left: var(--se-doc-info-inner-line-indent-h4);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h5 {
font-weight: var(--se-doc-info-inner-line-weight-h5);
padding-left: var(--se-doc-info-inner-line-indent-h5);
}
.sun-editor .se-wrapper.se-type-document .se-document-lines .se-document-lines-inner > div.se-doc-h6 {
font-weight: var(--se-doc-info-inner-line-weight-h6);
padding-left: var(--se-doc-info-inner-line-indent-h6);
}
/* se-type-document - page */
.sun-editor .se-wrapper.se-type-document .se-document-page {
position: relative;
text-align: center;
pointer-events: none;
}
.sun-editor .se-wrapper.se-type-document .se-document-page > div {
position: absolute;
width: var(--se-doc-info-page-width);
color: var(--se-doc-info-page-font-color);
background-color: var(--se-doc-info-page-background-color);
font-size: inherit;
left: 0px;
padding: 1px 0;
margin-left: 1px;
}
.sun-editor .se-wrapper.se-type-document .se-document-page > div > div.se-document-page-line {
position: absolute;
display: block;
height: 0px;
border-bottom: 1px dashed var(--se-doc-info-page-background-color);
top: 0px;
right: 100%;
}
/* se-type-document - placeholder position set */
.sun-editor .se-wrapper.se-type-document .se-placeholder {
top: clamp(var(--se-doc-min-padding));
left: clamp(var(--se-doc-min-padding));
right: clamp(var(--se-doc-min-padding));
padding: var(--se-edit-inner-padding-doc-type);
}
.sun-editor .se-wrapper.se-type-document.se-type-document-header .se-placeholder {
margin-left: max(var(--se-doc-info-min-width), var(--se-doc-info-width));
margin-right: max(var(--se-doc-info-min-width), var(--se-doc-info-width));
}
/** --- se-type-document end ---------------------------------------------------------- */
.sun-editor .se-wrapper .se-code-viewer-mirror,
.sun-editor .se-wrapper .cm-editor,
.sun-editor .se-wrapper .CodeMirror {
font-size: var(--se-main-font-size);
}
/* button children are pointer event none */
.sun-editor button * {
pointer-events: none;
backface-visibility: hidden;
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
}
/** button */
.sun-editor button {
color: var(--se-main-color);
}
/** --- se buttons ---------------------------------------------------------- */
/** --- se-btn */
.sun-editor .se-btn {
float: left;
width: var(--se-input-btn-size);
height: var(--se-input-btn-size);
margin: 1px;
padding: 0;
font-size: var(--se-btn-font-size);
line-height: 1.8;
border-width: 0;
border-style: solid;
border-color: var(--se-input-btn-border-color);
border-radius: var(--se-border-radius);
transition:
border-color 0.3s ease,
background-color 0.3s ease,
color 0.3s ease;
}
.sun-editor .se-form-group button.se-btn {
border-width: 1px;
}
.sun-editor .se-btn:not(.on):not(.active):enabled:hover,
.sun-editor .se-btn:not(.on):not(.active):enabled:focus {
color: var(--se-hover-color);
background-color: var(--se-hover-light-color);
border-color: var(--se-hover-dark-color);
}
.sun-editor .se-btn:not(.on):not(.active):enabled:active,
.sun-editor .se-btn:not(.on):not(.active):enabled.__se__active {
background-color: var(--se-hover-light2-color);
border-color: var(--se-hover-dark2-color) !important;
outline: 1px solid var(--se-hover-dark3-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-hover-light2-color);
transition: box-shadow 0.1s ease-in-out;
}
/* after, before button : hover */
.sun-editor .se-menu-list li:hover .se-side-btn-a:not(.on):not(.active):enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-b:not(.on):not(.active):enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-after:not(.on):not(.active):enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-before:not(.on):not(.active):enabled,
.sun-editor .se-menu-list li:hover .se-btn-input input:enabled {
border-width: 1px;
border-style: solid;
border-color: var(--se-hover-dark-color);
}
/* after, before button - on, active */
.sun-editor .se-menu-list li .se-side-btn-after.on:enabled,
.sun-editor .se-menu-list li .se-side-btn-before.on:enabled,
.sun-editor .se-menu-list li .se-side-btn-after.active:enabled,
.sun-editor .se-menu-list li .se-side-btn-before.active:enabled,
.sun-editor .se-menu-list li .se-btn-input.on input:enabled,
.sun-editor .se-menu-list li .se-btn-input.active input:enabled {
border-color: var(--se-active-dark3-color);
}
/* after, before button : hover - on, active - border */
.sun-editor .se-menu-list li .se-side-btn-after.on:enabled,
.sun-editor .se-menu-list li .se-side-btn-after.active:enabled {
border-right: 0;
border-left: 1px solid;
}
.sun-editor .se-menu-list li .se-side-btn-before.on:enabled,
.sun-editor .se-menu-list li .se-side-btn-before.active:enabled {
border-left: 0;
border-right: 1px solid;
}
.sun-editor .se-menu-list li .se-btn-input.on input:enabled,
.sun-editor .se-menu-list li .se-btn-input.active input:enabled {
border-width: 1px;
border-style: solid;
}
/* after, before button : hover - on, active */
.sun-editor .se-menu-list li:hover .se-side-btn-after.on:enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-before.on:enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-after.active:enabled,
.sun-editor .se-menu-list li:hover .se-side-btn-before.active:enabled,
.sun-editor .se-menu-list li:hover .se-btn-input.on input:enabled,
.sun-editor .se-menu-list li:hover .se-btn-input.active input:enabled {
border-color: var(--se-active-dark4-color);
}
/* se-btn.on */
.sun-editor .se-btn:enabled.on {
background-color: var(--se-active-light2-color);
color: var(--se-active-dark3-color);
border-color: var(--se-active-light5-color);
}
.sun-editor .se-btn:enabled.on:hover,
.sun-editor .se-btn:enabled.on:focus {
background-color: var(--se-active-light3-color);
color: var(--se-active-hover-color);
border-color: var(--se-active-light5-color);
}
.sun-editor .se-btn:enabled.on:active,
.sun-editor .se-btn:enabled.on.__se__active {
background-color: var(--se-active-light3-color);
color: var(--se-active-color);
border-color: var(--se-active-light3-color) !important;
outline: 1px solid var(--se-active-color) !important;
color: 1px solid var(--se-active-color);
box-shadow: 0 0 0 0.3rem var(--se-active-light3-color);
transition: box-shadow 0.1s ease-in-out;
}
/* se-btn.active */
.sun-editor .se-btn:enabled.active {
background-color: var(--se-active-light4-color);
color: var(--se-active-dark3-color);
border-color: var(--se-active-dark-color);
}
.sun-editor .se-btn:enabled.active:hover,
.sun-editor .se-btn:enabled.active:focus {
background-color: var(--se-active-light5-color);
color: var(--se-active-hover-color);
border-color: var(--se-active-dark4-color);
}
.sun-editor .se-btn:enabled.active:active,
.sun-editor .se-btn:enabled.active.__se__active {
background-color: var(--se-active-light5-color);
color: var(--se-active-hover-color);
border-color: var(--se-active-dark5-color) !important;
outline: 1px solid var(--se-active-dark5-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-active-light5-color);
transition: box-shadow 0.1s ease-in-out;
z-index: 1;
}
/** -- plain text button */
.sun-editor .se-btn.se-btn-plain {
background-color: transparent;
border-color: transparent;
box-shadow: none;
}
.sun-editor .se-btn.se-btn-plain:not(.on):not(.active):enabled:hover,
.sun-editor .se-btn.se-btn-plain:not(.on):not(.active):enabled:focus {
background-color: transparent;
border-color: transparent;
box-shadow: none;
}
.sun-editor .se-btn.se-btn-plain:not(.on):not(.active):enabled:active,
.sun-editor .se-btn.se-btn-plain:not(.on):not(.active):enabled.__se__active {
background-color: transparent;
border-color: transparent !important;
box-shadow: none;
outline: none !important;
}
/** --- primary button */
.sun-editor .se-btn-primary {
background-color: var(--se-active-light2-color);
border: 1px solid var(--se-active-dark5-color);
border-radius: var(--se-border-radius);
outline: 0 none;
transition:
border-color 0.3s ease,
background-color 0.3s ease,
color 0.3s ease;
}
.sun-editor .se-btn-primary:hover,
.sun-editor .se-btn-primary:focus {
background-color: var(--se-active-light5-color);
}
.sun-editor .se-btn-primary:active,
.sun-editor .se-btn-primary.__se__active {
background-color: var(--se-active-light2-color);
border-color: var(--se-active-light2-color) !important;
outline: 1px solid var(--se-active-dark5-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-active-light2-color);
transition: box-shadow 0.1s ease-in-out;
}
/* --- se-btn.success */
.sun-editor .se-btn.se-btn-success {
color: var(--se-success-color);
border-color: var(--se-success-light5-color);
}
.sun-editor .se-btn.se-btn-success:not(.on):not(.active):enabled:hover,
.sun-editor .se-btn.se-btn-success:not(.on):not(.active):enabled:focus {
background-color: var(--se-success-light-color);
border-color: var(--se-success-light5-color);
}
.sun-editor .se-btn.se-btn-success:not(.on):not(.active):enabled:active,
.sun-editor .se-btn.se-btn-success:not(.on):not(.active):enabled.__se__active {
background-color: var(--se-success-light-color);
border-color: var(--se-success-light-color) !important;
outline: 1px solid var(--se-success-light5-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-success-light-color);
transition: box-shadow 0.1s ease-in-out;
}
/* se-btn.success.on */
.sun-editor .se-btn.se-btn-success:enabled.on {
background-color: var(--se-success-light-color);
color: var(--se-success-color);
border-color: var(--se-success-light5-color);
}
.sun-editor .se-btn.se-btn-success:enabled.on:hover,
.sun-editor .se-btn.se-btn-success:enabled.on:focus {
background-color: var(--se-success-light2-color);
color: var(--se-success-color);
border-color: var(--se-success-light4-color);
}
.sun-editor .se-btn.se-btn-success:enabled.on:active,
.sun-editor .se-btn.se-btn-success:enabled.on.__se__active {
background-color: var(--se-success-light2-color);
color: var(--se-success-color);
border-color: var(--se-success-light2-color) !important;
outline: 1px solid var(--se-success-dark-color) !important;
color: 1px solid var(--se-success-color);
box-shadow: 0 0 0 0.3rem var(--se-success-light2-color);
transition: box-shadow 0.1s ease-in-out;
}
/* se-btn.success.active */
.sun-editor .se-btn.se-btn-success:enabled.active {
background-color: var(--se-success-light2-color);
color: var(--se-success-color);
border-color: var(--se-success-dark2-color);
}
.sun-editor .se-btn.se-btn-success:enabled.active:hover,
.sun-editor .se-btn.se-btn-success:enabled.active:focus {
background-color: var(--se-success-light3-color);
color: var(--se-success-dark3-color);
border-color: var(--se-success-dark2-color);
}
.sun-editor .se-btn.se-btn-success:enabled.active:active,
.sun-editor .se-btn.se-btn-success:enabled.active.__se__active {
background-color: var(--se-success-light3-color);
color: var(--se-success-dark3-color);
border-color: var(--se-success-light3-color) !important;
outline: 1px solid var(--se-success-dark2-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-success-light3-color);
transition: box-shadow 0.1s ease-in-out;
}
/* --- se-btn.danger */
.sun-editor .se-btn.se-btn-danger {
color: var(--se-error-color);
border-color: var(--se-error-dark-color);
}
.sun-editor .se-btn.se-btn-danger:not(.on):not(.active):enabled:hover,
.sun-editor .se-btn.se-btn-danger:not(.on):not(.active):enabled:focus {
background-color: var(--se-error-light5-color);
border-color: var(--se-error-dark-color);
}
.sun-editor .se-btn.se-btn-danger:not(.on):not(.active):enabled:active,
.sun-editor .se-btn.se-btn-danger:not(.on):not(.active):enabled.__se__active {
background-color: var(--se-error-light5-color);
border-color: var(--se-error-light5-color) !important;
outline: 1px solid var(--se-error-dark-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-error-light5-color);
transition: box-shadow 0.1s ease-in-out;
}
/* se-btn.danger.on */
.sun-editor .se-btn.se-btn-danger:enabled.on {
background-color: var(--se-error-light5-color);
color: var(--se-error-color);
border-color: var(--se-error-dark-color);
}
.sun-editor .se-btn.se-btn-danger:enabled.on:hover,
.sun-editor .se-btn.se-btn-danger:enabled.on:focus {
background-color: var(--se-error-light4-color);
color: var(--se-error-color);
border-color: var(--se-error-dark-color);
}
.sun-editor .se-btn.se-btn-danger:enabled.on:active,
.sun-editor .se-btn.se-btn-danger:enabled.on.__se__active {
background-color: var(--se-error-light-color);
color: var(--se-error-color);
border-color: var(--se-error-light-color) !important;
outline: 1px solid var(--se-error-dark3-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-error-light4-color);
transition: box-shadow 0.1s ease-in-out;
}
/* se-btn.danger.active */
.sun-editor .se-btn.se-btn-danger:enabled.active {
background-color: var(--se-error-light4-color);
color: var(--se-error-color);
border-color: var(--se-error-dark3-color);
}
.sun-editor .se-btn.se-btn-danger:enabled.active:hover,
.sun-editor .se-btn.se-btn-danger:enabled.active:focus {
background-color: var(--se-error-light-color);
color: var(--se-error-color);
border-color: var(--se-error-dark3-color);
}
.sun-editor .se-btn.se-btn-danger:enabled.active:active,
.sun-editor .se-btn.se-btn-danger:enabled.active.__se__active {
background-color: var(--se-error-light-color);
color: var(--se-error-color);
border-color: var(--se-error-light-color) !important;
outline: 1px solid var(--se-error-dark3-color) !important;
box-shadow: 0 0 0 0.3rem var(--se-error-light-color);
transition: box-shadow 0.1s ease-in-out;
}
/** --- Input */
.sun-editor input,
.sun-editor select,
.sun-editor textarea {
color: var(--se-main-color);
border: 1px solid var(--se-input-btn-border-color);
border-radius: var(--se-border-radius);
}
/* disabled buttons, icon blur */
.sun-editor .se-btn:disabled,
.sun-editor button:disabled,
.sun-editor input:disabled {
cursor: default;
color: var(--se-input-btn-disabled-color);
}
/* dropdown layer - list button */
.sun-editor .se-btn-list {
width: 100%;
height: auto;
min-height: 32px;
padding: 0 14px;
cursor: pointer;
font-size: var(--se-btn-font-size);
line-height: normal;
text-indent: 0;
text-decoration: none;
text-align: left;
}
.sun-editor .se-btn-list.default_value {
border: 1px dashed var(--se-main-outline-color);
}
.sun-editor .se-sub-list:has(:not([style*='display: none'])) {
font-size: 0.75rem;
letter-spacing: 0.25px;
color: color-mix(in srgb, currentColor 45%, transparent);
padding: 14px 14px 3px 14px;
cursor: auto;
}
.sun-editor .se-sub-list:has(:not([style*='display: none'])) {
border-bottom: 1px dashed var(--se-main-outline-color);
}
/* page navigator */
.sun-editor .se-btn.se-btn-tool-pageNavigator > input {
width: var(--se-input-btn-size);
text-align: center;
color: var(--se-main-color-lighter);
}
.sun-editor .se-btn.se-btn-tool-pageNavigator > input[type='number'] {
-webkit-appearance: textfield;
-moz-appearance: textfield;
appearance: textfield;
}
.sun-editor .se-btn.se-btn-tool-pageNavigator > input[type='number']::-webkit-inner-spin-button,
.sun-editor .se-btn.se-btn-tool-pageNavigator > input[type='number']::-webkit-outer-spin-button {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
margin: 0;
}
.sun-editor .se-btn.se-btn-tool-pageNavigator ~ span {
text-align: center;
font-size: var(--se-main-font-size);
align-content: center;
margin-left: -10px;
}
.sun-editor .se-btn.se-btn-tool-pageNavigator ~ span::before {
content: '/';
margin: 0 0.6em;
}
/** --- Icons ---------------------------------------------------------- */
/* default svg */
.sun-editor svg {
fill: currentColor;
vertical-align: super;
}
.sun-editor button > svg,
.sun-editor .se-svg {
width: 20px;
height: 20px;
margin: auto;
fill: currentColor;
display: block;
text-align: center;
float: none;
}
.sun-editor button > svg.se-ci {
width: 15px;
height: 15px;
}
.sun-editor .se-text-prefix-icon {
width: 20px;
height: 20px;
float: left;
}
.sun-editor .se-text-prefix-icon svg {
vertical-align: middle;
}
/* sub button size */
.sun-editor button.se-sub-arrow-btn {
width: 18px;
}
.sun-editor button.se-sub-arrow-btn svg {
width: 8px;
}
.sun-editor button.se-sub-btn {
width: 24px;
}
.sun-editor button.se-sub-btn svg {
width: 12px;
}
/* side button */
.sun-editor button.se-side-btn {
border-radius: 0;
margin-left: 0;
margin-right: 0;
}
.sun-editor button.se-side-btn-a {
float: left;
border-radius: var(--se-border-radius) 0 0 var(--se-border-radius);
margin-right: 0;
}
.sun-editor button.se-side-btn-b {
float: left;
border-radius: 0 var(--se-border-radius) var(--se-border-radius) 0;
margin-left: 0;
}
.sun-editor button.se-side-btn-before {
float: left;
margin-right: 0;
border-radius: var(--se-border-radius) 0 0 var(--se-border-radius);
}
.sun-editor button.se-side-btn-after {
margin-left: 0;
border-radius: 0 var(--se-border-radius) var(--se-border-radius) 0;
}
/* list button icons */
.sun-editor button.se-btn-list > * li::before {
content: '';
display: inline-block;
width: 18px;
height: 13px;
background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE5LDEzSDVWMTFIMTlWMTNaIiBmaWxsPSJibGFjayIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxIiAvPjwvc3ZnPg==');
background-size: cover;
opacity: 0.5;
}
/* se-select-btn icon */
.sun-editor .se-btn-select > svg {
float: right;
width: 8px !important;
height: 8px !important;
}
/* se-btn-list inner icon */
.sun-editor .se-select-item .se-list-icon {
display: inline-block;
width: 16px;
height: 16px;
margin: 0 6px 6px 0;
vertical-align: middle;
}
/* select menu inner icon */
.sun-editor .se-btn-list > .se-list-icon {
display: inline-block;
width: 16px;
height: 16px;
margin: -1px 10px 0 0;
vertical-align: middle;
}
/* icon class */
.sun-editor button > i::before {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
font-size: var(--se-modal-title-font-size);
line-height: 2;
}
.sun-editor button > [class='se-icon-text'] {
font-size: 20px;
line-height: 1;
}
/** --- arrow icon ---------------------------------------------------------- */
.sun-editor .se-arrow,
.sun-editor .se-arrow::after {
position: absolute;
display: block;
width: 0;
height: 0;
border: 12px solid transparent;
margin-right: 0;
margin-left: -12px;
}
.sun-editor .se-controller .se-arrow {
left: 20px;
right: auto;
margin-left: -12px;
margin-right: 0;
}
/* arrow up */
.sun-editor .se-arrow.se-arrow-up {
top: -12px;
border-top-width: 0;
border-bottom-color: var(--se-controller-border-color);
}
.sun-editor .se-arrow.se-arrow-up::after {
top: 1px;
content: ' ';
border-top-width: 0;
border-bottom-color: var(--se-main-background-color);
}
/* arrow down */
.sun-editor .se-arrow.se-arrow-down {
bottom: -12px;
border-bottom-width: 0;
border-top-color: var(--se-controller-border-color);
}
.sun-editor .se-arrow.se-arrow-down::after {
top: -14px;
content: ' ';
border-bottom-width: 0;
border-top-color: var(--se-controller-background-color);
}
/** --- container */
.sun-editor .se-container {
position: relative;
width: auto;
height: auto;
}
/** --- loading box */
.sun-editor .se-loading-box {
position: fixed;
display: none;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-color: transparent;
z-index: 2147483647;
}
.sun-editor .se-container .se-loading-box {
position: absolute;
}
.sun-editor .se-loading-box .se-loading-effect {
position: absolute;
display: block;
top: 50%;
left: 50%;
height: 44px;
width: 44px;
border: 2px solid transparent;
border-top: 2px solid var(--se-loading-color);
border-right: 2px solid var(--se-loading-color);
border-radius: 50%;
-webkit-animation: spinner 0.8s linear infinite;
animation: spinner 0.8s linear infinite;
margin: -25px 0 0 -25px;
}
/** --- line breaker --- component - top, bottom */
.sun-editor .se-line-breaker-component {
position: absolute;
display: none;
width: 24px;
height: 24px;
color: var(--se-drag-over-color);
background-color: var(--se-main-background-color);
border: 1px solid var(--se-drag-over-color);
opacity: 0.95;
border-radius: var(--se-border-radius);
cursor: pointer;
z-index: 2147483647;
transition:
opacity 0.3s ease,
color 0.3s ease,
background-color 0.3s ease;
}
.sun-editor .se-line-breaker-component.se-on-selected {
color: var(--se-active-color);
background-color: var(--se-main-background-color);
border: 1px solid var(--se-active-color);
}
.sun-editor .se-line-breaker-component:hover {
opacity: 0.9;
color: var(--se-main-background-color);
background-color: var(--se-active-dark3-color);
border-color: var(--se-active-color);
}
/** --- toolbar ---------------------------------------------------------- */
.sun-editor .se-toolbar {
display: block;
position: sticky;
top: 0;
height: auto;
width: 100%;
overflow: visible;
padding: 0;
margin: 0;
background-color: var(--se-main-background-color);
outline: 1px solid var(--se-main-divider-color);
z-index: 7;
}
.sun-editor .se-toolbar-shadow {
display: block !important;
position: relative !important;
width: 100% !important;
height: 0px !important;
overflow: visible !important;
visibility: hidden !important;
padding: 0 !important;
margin: 0 !important;
background-color: transparent !important;
outline: none !important;
border: none !important;
z-index: 0 !important;
}
/* inline toolbar */
.sun-editor .se-toolbar.se-toolbar-inline {
display: none;
position: absolute;
}
/* balloon toolbar */
.sun-editor .se-toolbar.se-toolbar-balloon {
display: none;
position: absolute;
z-index: 2147483646;
width: auto;
box-shadow: 0 3px 9px var(--se-shadow-layer-color);
-webkit-box-shadow: 0 3px 9px var(--se-shadow-layer-color);
}
/* JS fallback: initial state — override CSS sticky */
.sun-editor .se-toolbar.se-toolbar-relative {
position: relative;
top: auto;
}
/* JS fallback: sticky active — overrides both default and relative */
.sun-editor .se-toolbar.se-toolbar-sticky {
position: fixed;
top: 0px;
}
.sun-editor .se-toolbar-sticky-dummy {
display: none;
position: static;
z-index: -1;
}
/* Bottom toolbar: sticky from bottom */
.sun-editor .se-toolbar.se-toolbar-bottom {
top: auto;
bottom: 0;
}
/* Bottom toolbar: more layer opens above buttons */
.sun-editor .se-toolbar.se-toolbar-bottom .se-btn-tray {
display: flex;
flex-wrap: wrap;
padding: 4px 3px;
}
.sun-editor .se-toolbar.se-toolbar-bottom .se-btn-tray > .se-toolbar-more-layer {
order: -1;
width: 100%;
border-top: none;
}
.sun-editor .se-toolbar.se-toolbar-bottom .se-toolbar-more-layer .se-more-layer {
border-top: none;
border-bottom: 1px solid var(--se-main-divider-color);
margin-bottom: 4px;
}
/* JS fallback sticky for bottom */
.sun-editor .se-toolbar.se-toolbar-sticky.se-toolbar-bottom {
top: auto;
bottom: 0px;
}
/* toolbar arrow up */
.sun-editor .se-toolbar .se-arrow.se-arrow-up {
border-bottom-color: var(--se-main-divider-color);
}
.sun-editor .se-toolbar .se-arrow.se-arrow-up::after {
border-bottom-color: var(--se-main-background-color);
}
/* toolbar arrow down */
.sun-editor .se-toolbar .se-arrow.se-arrow-down {
border-top-color: var(--se-main-divider-color);
}
.sun-editor .se-toolbar .se-arrow.se-arrow-down::after {
border-top-color: var(--se-main-background-color);
}
/** --- tool bar --- module --- button, module, group ---------------------------------------------------------- */
/* module */
.sun-editor .se-btn-module {
display: inline-block;
}
/* button group */
.sun-editor .se-btn-module-border {
border: 1px solid var(--se-main-divider-color);
border: none;
border-radius: var(--se-border-radius);
margin-left: 1px;
margin-right: 1px;
}
/* separator vertical */
.sun-editor .se-toolbar-separator-vertical {
display: inline-block;
height: var(--se-input-btn-size);
width: 1px;
margin: 1px;
vertical-align: top;
background-color: var(--se-main-divider-color);
}
.sun-editor .se-btn-module-enter {
display: block;
width: 100%;
height: 0px;
margin: 0;
padding: 0;
background-color: transparent;
}
/* ---more - layer */
.sun-editor .se-toolbar-more-layer {
margin: 0 -3px;
background-color: var(--se-main-background-color);
}
.sun-editor .se-toolbar-more-layer .se-more-layer {
display: none;
border-top: 1px solid var(--se-main-divider-color);
}
.sun-editor .se-toolbar-more-layer .se-more-layer .se-more-form {
display: inline-block;
width: 100%;
height: auto;
padding: 4px 3px 0 3px;
}
/* ---more - button */
.sun-editor .se-btn-module .se-btn-more.se-btn-more-text {
width: auto;
padding: 0 4px;
}
/* innser ul */
.sun-editor .se-menu-list {
float: left;
padding: 0;
margin: 0;
}
.sun-editor .se-menu-list li {
position: relative;
float: left;
padding: 0;
margin: 0;
}
.sun-editor .se-menu-list li.se-toolbar-hidden-btn {
display: none;
}
.sun-editor .se-menu-list li .se-toolbar-btn:not(input) {
border-color: transparent;
}
/* tool bar select button (font, fontSize, blockStyle) */
.sun-editor .se-btn-select {
width: auto;
display: flex;
padding: 4px 6px;
}
.sun-editor .se-btn-select .se-txt {
flex: auto;
display: flex;
text-align: left;
margin-right: 4px;
align-items: center;
}
.sun-editor .se-btn-select .se-not-arrow-text {
flex: auto;
text-align: center;
margin: 0;
}
.sun-editor .se-btn-select.on .se-txt + svg {
transform: rotate(-180deg);
}
.sun-editor .se-btn-select.se-btn-tool-font {
width: 128px;
}
.sun-editor .se-btn-select.se-btn-tool-format {
width: 96px;
}
.sun-editor .se-btn-select.se-btn-tool-font-size .se-txt {
width: 66px;
margin: 0;
}
.sun-editor .se-btn-select.se-btn-tool-font-size .se-not-arrow-text {
width: 50px;
}
/* tool bar input button (fontSize) */
.sun-editor .se-btn-input {
padding: 0 !important;
border: 0 !important;
}
.sun-editor .se-btn-input input {
font-size: var(--se-main-font-size);
height: var(--se-input-btn-size);
border: 0;
}
.sun-editor .se-btn-input input:hover {
border: 1px solid var(--se-main-border-color);
}
.sun-editor .se-btn-input input:focus {
border: 1px solid var(--se-active-color) !important;
outline: 0;
}
/** --- menu tray -------------------------------------------------------------- */
.sun-editor .se-btn-tray {
position: relative;
width: 100%;
height: auto;
padding: 4px 3px 0 3px;
margin: 0;
}
.sun-editor .se-menu-tray {
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 0px;
z-index: 2147483646;
}
/** --- dropdown layer ---------------------------------------------------------- */
.sun-editor .se-dropdown {
overflow-x: hidden;
overflow-y: auto;
}
.sun-editor .se-menu-container {
overflow-x: unset;
overflow-y: unset;
}
.sun-editor .se-list-layer {
display: none;
position: absolute;
top: 0px;
left: 0px;
height: auto;
z-index: 5;
border: 1px solid var(--se-main-divider-color);
border-radius: var(--se-border-radius);
padding: 4px;
background-color: var(--se-main-background-color);
box-shadow: 0 3px 9px var(--se-shadow-layer-color);
outline: 0 none;
}
.sun-editor .se-list-layer .se-list-inner {
padding: 0;
margin: 0;
overflow: visible;
}
.sun-editor .se-list-layer button {
margin: 0 0 2px 0;
width: 100%;
}
.sun-editor .se-list-inner ul {
width: 100%;
padding: 0;
margin: auto;
}
.sun-editor .se-list-inner :not(.se-list-horizontal) li > button {
min-width: 100%;
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
}
/* dropdown layer - basic list */
.sun-editor .se-list-inner .se-list-basic li {
width: 100%;
}
.sun-editor .se-list-inner input {
border-radius: 0;
}
.sun-editor .se-list-inner ul.se-list-carrier {
width: 165px;
height: 52px;
}
.sun-editor .se-list-inner ul.se-list-carrier li button > ol,
.sun-editor .se-list-inner ul.se-list-carrier li button > ul {
font-size: 10px;
}
/* dropdown layer - checked list */
.sun-editor .se-list-inner .se-list-checked li .se-svg {
float: left;
padding: 6px 6px 0 0;
}
.sun-editor .se-list-inner .se-list-checked li .se-svg > svg {
display: none;
}
.sun-editor .se-list-inner .se-list-checked li.se-checked * {
color: var(--se-active-dark3-color);
}
.sun-editor .se-list-inner .se-list-checked li.se-checked .se-svg > svg {
display: block;
}
/* dropdown layer - se-list-horizontal */
.sun-editor .se-list-inner .se-list-horizontal {
display: flex;
padding: 2px;
}
.sun-editor .se-list-inner .se-list-horizontal li {
padding: 0;
margin: 0 2px;
}
/** --- dropdown layer - se-list-inner > exception */
/* dropdown layer - font size */
.sun-editor .se-list-layer.se-list-font-size {
min-width: 140px;
max-height: 300px;
}
/* dropdown layer - code block */
.sun-editor .se-list-layer.se-list-code-block {
min-width: 140px;
max-height: 310px;
}
/* dropdown layer - font family */
.sun-editor .se-list-layer.se-list-font-family {
min-width: 156px;
}
.sun-editor .se-list-layer.se-list-font-family .default {
border-bottom: 1px solid var(--se-input-btn-border-color);
}
/* dropdown layer - hr */
.sun-editor .se-list-layer.se-list-line {
width: 125px;
}
.sun-editor .se-list-layer.se-list-line hr {
border-width: 1px 0 0;
height: 1px;
border-color: var(--se-edit-hr-color);
}
/* dropdown layer - align */
.sun-editor .se-list-layer.se-list-align .se-list-inner {
left: 9px;
}
/** dropdown layer - format block, paragraph style, text style */
.sun-editor .se-list-layer.se-list-format {
min-width: 156px;
}
.sun-editor .se-list-layer.se-list-format li {
padding: 0;
width: 100%;
}
.sun-editor .se-list-layer.se-list-format ul .se-btn-list {
line-height: 100%;
}
.sun-editor .se-list-layer.se-list-format ul .se-btn-list[data-value='h1'] {
height: 40px;
}
.sun-editor .se-list-layer.se-list-format ul .se-btn-list[data-value='h2'] {
height: 34px;
}
.sun-editor .se-list-layer.se-list-format ul p {
font-size: var(--se-main-font-size);
}
.sun-editor .se-list-layer.se-list-format ul div {
font-size: var(--se-main-font-size);
padding: 4px 2px;
}
.sun-editor .se-list-layer.se-list-format ul h1 {
font-size: 2em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul h2 {
font-size: 1.5em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul h3 {
font-size: 1.17em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul h4 {
font-size: 1em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul h5 {
font-size: 0.83em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul h6 {
font-size: 0.67em;
font-weight: bold;
}
.sun-editor .se-list-layer.se-list-format ul blockquote {
font-size: var(--se-main-font-size);
color: var(--se-edit-font-quote);
height: 22px;
margin: 0;
background-color: transparent;
line-height: 1.5;
border-style: solid;
border-color: var(--se-edit-border-dark);
padding: 0 0 0 7px;
border-width: 0;
border-left-width: 5px;
}
.sun-editor .se-list-layer.se-list-format ul pre {
font-size: var(--se-main-font-size);
color: var(--se-edit-font-pre);
padding: 4px 11px;
margin: 0;
background-color: var(--se-edit-background-pre);
border: 1px solid var(--se-edit-border-light);
border-radius: var(--se-border-radius);
}
.sun-editor-editable[contenteditable='true'],
.sun-editor-editable[contenteditable='true'] * {
scroll-margin: var(--se-edit-scroll-margin);
}
.sun-editor-editable[contenteditable='true'].se-copy-format-cursor {
cursor:
url('data:image/svg+xml;base64,PHN2ZwogIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICB3aWR0aD0iMjQiCiAgaGVpZ2h0PSIxNiIKICB2aWV3Qm94PSIwIDAgMjQgMTYiCj4KICA8ZGVmcz4KICAgIDxmaWx0ZXIgaWQ9IndoaXRlLW91dGxpbmUiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiI+CiAgICAgIDxmZU1vcnBob2xvZ3kgaW49IlNvdXJjZUFscGhhIiByZXN1bHQ9ImRpbGF0ZWQiIG9wZXJhdG9yPSJkaWxhdGUiIHJhZGl1cz0iMSIvPgogICAgICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0id2hpdGUiIHJlc3VsdD0id2hpdGUiLz4KICAgICAgPGZlQ29tcG9zaXRlIGluPSJ3aGl0ZSIgaW4yPSJkaWxhdGVkIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0ib3V0bGluZSIvPgogICAgICA8ZmVNZXJnZT4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49Im91dGxpbmUiLz4KICAgICAgICA8ZmVNZXJnZU5vZGUgaW49IlNvdXJjZUdyYXBoaWMiLz4KICAgICAgPC9mZU1lcmdlPgogICAgPC9maWx0ZXI+CiAgPC9kZWZzPgogIDxnIGZpbHRlcj0idXJsKCN3aGl0ZS1vdXRsaW5lKSI+CiAgICA8cGF0aAogICAgICBkPSJNNC4zMzIgMTIuNjY4CiAgICAgICAgIEM0LjMzMiAxMy4wMzUgNC40ODQgMTMuMzMyIDQuNjY4IDEzLjMzMgogICAgICAgICBMNS4zMzIgMTMuMzMyCiAgICAgICAgIEw1LjMzMiAxNC42NjgKICAgICAgICAgTDQuNSAxNC42NjgKICAgICAgICAgQzQuMzE2IDE0LjY2OCA0IDE0LjM2NyA0IDE0CiAgICAgICAgIEM0IDE0LjM2NyAzLjY4NCAxNC42NjggMy41IDE0LjY2OAogICAgICAgICBMMi42NjggMTQuNjY4CiAgICAgICAgIEwyLjY2OCAxMy4zMzIKICAgICAgICAgTDMuMzMyIDEzLjMzMgogICAgICAgICBDMy41MTYgMTMuMzMyIDMuNjY4IDEzLjAzNSAzLjY2OCAxMi42NjgKICAgICAgICAgTDMuNjY4IDMuMzMyCiAgICAgICAgIEMzLjY2OCAyLjk2NSAzLjUxNiAyLjY2OCAzLjMzMiAyLjY2OAogICAgICAgICBMMi42NjggMi42NjgKICAgICAgICAgTDIuNjY4IDEuMzMyCiAgICAgICAgIEwzLjUgMS4zMzIKICAgICAgICAgQzMuNjg0IDEuMzMyIDQgMS42MzMgNCAyCiAgICAgICAgIEM0IDEuNjMzIDQuMzE2IDEuMzMyIDQuNSAxLjMzMgogICAgICAgICBMNS4zMzIgMS4zMzIKICAgICAgICAgTDUuMzMyIDIuNjY4CiAgICAgICAgIEw0LjY2OCAyLjY2OAogICAgICAgICBDNC40ODQgMi42NjggNC4zMzIgMi45NjUgNC4zMzIgMy4zMzIKICAgICAgICAgWiIKICAgICAgZmlsbD0iYmxhY2siCiAgICAvPgogICAgPHBhdGgKICAgICAgZD0iTTIwIDIuNjY4CiAgICAgICAgIEwyMCAyCiAgICAgICAgIEMyMCAxLjYzMyAxOS43MDMgMS4zMzIgMTkuMzMyIDEuMzMyCiAgICAgICAgIEwxMS4zMzIgMS4zMzIKICAgICAgICAgQzEwLjk2NSAxLjMzMiAxMC42NjggMS42MzMgMTAuNjY4IDIKICAgICAgICAgTDEwLjY2OCA0LjY2OAogICAgICAgICBDMTAuNjY4IDUuMDM1IDEwLjk2NSA1LjMzMiAxMS4zMzIgNS4zMzIKICAgICAgICAgTDE5LjMzMiA1LjMzMgogICAgICAgICBDMTkuNzAzIDUuMzMyIDIwIDUuMDM1IDIwIDQuNjY4CiAgICAgICAgIEwyMCA0CiAgICAgICAgIEwyMC42NjggNAogICAgICAgICBMMjAuNjY4IDYuNjY4CiAgICAgICAgIEwxNCA2LjY2OAogICAgICAgICBMMTQgMTQKICAgICAgICAgQzE0IDE0LjM2NyAxNC4yOTcgMTQuNjY4IDE0LjY2OCAxNC42NjgKICAgICAgICAgTDE2IDE0LjY2OAogICAgICAgICBDMTYuMzY3IDE0LjY2OCAxNi42NjggMTQuMzY3IDE2LjY2OCAxNAogICAgICAgICBMMTYuNjY4IDgKICAgICAgICAgTDIyIDgKICAgICAgICAgTDIyIDIuNjY4CiAgICAgICAgIFoiCiAgICAgIGZpbGw9ImJsYWNrIgogICAgLz4KICA8L2c+Cjwvc3ZnPgo=')
0 8,
text;
}
/* table resize */
/* table resize - ew */
.sun-editor-editable[contenteditable='true'] table th:not(.se-selected-table-cell):hover::before,
.sun-editor-editable[contenteditable='true'] table td:not(.se-selected-table-cell):hover::before {
content: '';
position: absolute;
top: 0;
left: -2px;
width: 4px;
height: 100%;
background-color: transparent;
cursor: ew-resize;
}
.sun-editor-editable[contenteditable='true'] table th:not(.se-selected-table-cell):hover::after,
.sun-editor-editable[contenteditable='true'] table td:not(.se-selected-table-cell):hover::after {
content: '';
position: absolute;
top: 0;
right: -2px;
width: 4px;
height: 100%;
background-color: transparent;
cursor: ew-resize;
}
/* table resize - lines */
.sun-editor .se-table-resize-line {
position: absolute;
top: 0;
width: 6px;
height: 100%;
margin-left: -3px;
background-color: var(--se-active-dark-color);
opacity: 0.4;
pointer-events: none;
display: none;
}
/* table resize - row, cursor */
.sun-editor .se-table-resize-row {
position: absolute;
left: 0;
width: 100%;
height: 6px;
margin-top: -3px;
background-color: var(--se-active-dark-color);
opacity: 0.4;
pointer-events: none;
display: none;
}
.sun-editor .se-table-resize-line-prev {
position: absolute;
top: 0;
width: 4px;
height: 100%;
margin-left: -1px;
border-left: 1px dashed var(--se-drag-over-color);
background-color: transparent;
opacity: 0.8;
pointer-events: none;
display: none;
}
.sun-editor .se-table-resize-row-prev {
position: absolute;
left: 0;
width: 100%;
height: 4px;
margin-top: -1px;
border-top: 1px dashed var(--se-drag-over-color);
background-color: transparent;
opacity: 0.8;
pointer-events: none;
display: none;
}
/* dropdown layer --- table selector */
.sun-editor .se-selector-table {
display: none;
position: absolute;
overflow: hidden;
top: var(--se-input-btn-size);
left: 1px;
z-index: 5;
padding: 5px 0;
float: left;
margin: 2px 0 0;
font-size: var(--se-main-font-size);
text-align: left;
list-style: none;
background-color: var(--se-main-background-color);
-webkit-background-clip: padding-box;
background-clip: padding-box;
border: 1px solid var(--se-input-btn-border-color);
border-radius: var(--se-border-radius);
box-shadow: 0 6px 12px var(--se-shadow-layer-color);
}
.sun-editor .se-selector-table .se-table-size {
font-size: 18px;
padding: 0 5px;
}
/* When modifying the values of this style, you must also adjust the values of "table/index:#OnMouseMoveTablePicke()" */
.sun-editor .se-selector-table .se-table-size-picker {
position: absolute !important;
z-index: 3;
font-size: 18px;
width: 10em;
height: 10em;
cursor: pointer;
}
.sun-editor .se-selector-table .se-table-size-highlighted {
position: absolute !important;
z-index: 2;
font-size: 18px;
width: 1em;
height: 1em;
background-color: var(--se-table-picker-highlight-color);
background-image: linear-gradient(to right, var(--se-table-picker-highlight-border-color) 1px, transparent 1px), linear-gradient(to bottom, var(--se-table-picker-highlight-border-color) 1px, transparent 1px);
background-size: 1em 1em;
border-right: 1px solid var(--se-table-picker-highlight-border-color);
border-bottom: 1px solid var(--se-table-picker-highlight-border-color);
}
.sun-editor .se-selector-table .se-table-size-unhighlighted {
position: relative !important;
z-index: 1;
font-size: 18px;
width: 5em;
height: 5em;
background-color: var(--se-table-picker-color);
background-image: linear-gradient(to right, var(--se-table-picker-border-color) 1px, transparent 1px), linear-gradient(to bottom, var(--se-table-picker-border-color) 1px, transparent 1px);
background-size: 1em 1em;
border-right: 1px solid var(--se-table-picker-border-color);
border-bottom: 1px solid var(--se-table-picker-border-color);
}
.sun-editor .se-selector-table .se-table-size-display {
padding-left: 5px;
}
.sun-editor .se-list-layer.se-table-split {
top: 36px;
}
/* dropdown layer --- color selector button */
.sun-editor .se-list-layer .se-selector-color {
display: block;
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
max-width: 252px;
height: auto;
padding: 0;
margin: auto;
}
.sun-editor .se-list-layer .se-selector-color .se-color-pallet {
width: 100%;
height: 100%;
padding: 0;
}
.sun-editor .se-list-layer .se-selector-color .se-color-pallet li {
display: flex;
float: left;
position: relative;
margin: 0;
}
.sun-editor .se-list-layer .se-selector-color .se-color-pallet button {
display: block;
cursor: default;
width: 28px;
height: 28px;
margin: 0;
border-radius: 0;
border: 0;
text-indent: -9999px;
transition:
transform 0.2s,
box-shadow 0.2s;
}
.sun-editor .se-list-layer .se-selector-color .se-color-pallet button.active,
.sun-editor .se-list-layer .se-selector-color .se-color-pallet button:hover {
box-shadow: 0 0 0 1px transparent inset;
transform: scale(0.8);
}
.sun-editor .se-list-layer .se-selector-color .se-color-pallet button.active > svg {
color: #fff;
stroke: #000;
stroke-width: 2px;
}
/* --- hue slider -------------------------------------------------------------- */
.sun-editor .se-hue-slider {
padding: 14px;
}
.sun-editor .se-hue-slider-container {
position: relative;
width: auto;
height: auto;
border-radius: 50%;
outline: 2px solid #fff;
}
.sun-editor .se-hue-slider-container .se-hue-wheel {
cursor: pointer;
border-radius: 50%;
}
.sun-editor .se-hue-slider-container .se-hue-wheel-pointer {
position: absolute;
width: 10px;
height: 10px;
border: 2px solid #fff;
outline: 2px solid #000;
border-radius: 50%;
background-color: transparent;
box-shadow: 0 0 2px #000;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
}
.sun-editor .se-hue-gradient-container {
position: relative;
margin-top: 14px;
height: 28px;
outline: 2px solid #fff;
}
.sun-editor .se-hue-gradient-container .se-hue-gradient {
cursor: pointer;
height: 28px;
background: linear-gradient(to right, #000, #fff);
position: relative;
}
.sun-editor .se-hue-gradient-container .se-hue-gradient-pointer {
position: absolute;
width: 14px;
height: 14px;
border: 2px solid #fff;
outline: 2px solid #000;
border-radius: 50%;
background-color: transparent;
box-shadow: 0 0 2px #000;
top: 14px;
left: calc(100% - 14px);
transform: translate(-50%, -50%);
pointer-events: none;
}
.sun-editor .se-hue-final-hex {
display: flex;
margin-top: 10px;
}
/** --- form group - input -------------------------------------------------------------- */
.sun-editor .se-form-group {
display: flex;
width: 100%;
min-height: 40px;
height: auto;
padding: 4px;
}
.sun-editor .se-form-group.se-form-w0 {
padding-left: 0;
padding-right: 0;
}
.sun-editor .se-form-group.se-form-h0 {
padding-top: 0;
padding-bottom: 0;
}
.sun-editor .se-form-group input,
.sun-editor .se-btn-group input {
flex: auto;
display: inline-block;
width: auto;
height: var(--se-input-btn-size);
font-size: var(--se-btn-font-size);
margin: 1px 0 1px 0;
padding: 0 4px;
/* border-radius: 0.25rem; */
border: 1px solid var(--se-input-btn-border-color);
}
.sun-editor .se-btn-group input {
margin: 1px 3px;
}
.sun-editor .se-form-group button,
.sun-editor .se-dropdown-form-group button {
float: right;
width: var(--se-input-btn-size);
height: var(--se-input-btn-size);
margin: 1px;
}
.sun-editor .se-form-group.se-form-flex-btn button {
float: none;
flex: auto;
}
.sun-editor .se-form-group .se-group-item {
position: relative;
}
.sun-editor .se-form-group label {
display: inline-block;
max-width: 100%;
margin-bottom: 5px;
font-weight: bold;
}
/** --- form group - label -------------------------------------------------------------- */
.sun-editor .se-form-group-label {
width: 100%;
height: auto;
padding: 0px 4px;
}
.sun-editor .se-form-group-label label {
font-size: var(--se-main-font-size);
font-weight: bold;
}
/** form group - dropdown input */
.sun-editor .se-dropdown .se-form-group input {
height: var(--se-input-btn-size);
color: var(--se-dropdown-font-color);
}
.sun-editor .se-dropdown .se-form-group .se-color-input:focus {
border-bottom: 3px solid var(--se-main-outline-color);
}
/** --- editor area */
.sun-editor .se-wrapper {
display: flex;
position: relative !important;
width: 100%;
height: auto;
overflow: hidden;
z-index: 1;
}
/* [editable - no iframe], codeview */
.sun-editor .se-wrapper .se-wrapper-inner {
height: 100%;
min-height: var(--se-min-height);
}
/* [editable - common], codeview */
.sun-editor .se-wrapper .se-wrapper-inner,
.sun-editor body.sun-editor-editable {
width: 100%;
max-width: 100%;
overflow-y: auto;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
user-select: auto;
-o-user-select: auto;
-moz-user-select: auto;
-khtml-user-select: auto;
-webkit-user-select: auto;
-ms-user-select: auto;
}
.sun-editor .se-wrapper .se-wrapper-inner:focus,
.sun-editor body.sun-editor-editable:focus {
outline: none;
}
.sun-editor .se-wrapper .se-code-wrapper {
width: 100%;
overflow: hidden;
}
.sun-editor .se-wrapper .se-code-wrapper > div {
flex: 1;
min-width: 0;
}
.sun-editor .se-wrapper .se-code-wrapper .se-code-view-line {
background-color: var(--se-code-view-line-background-color);
color: var(--se-code-view-line-color);
text-align: right;
width: 50px;
font-size: var(--se-main-font-size);
line-height: 1.5;
padding: 4px 6px;
overflow: hidden;
resize: none !important;
}
.sun-editor .se-wrapper .se-code-viewer {
flex: 1;
min-width: 0;
background-color: var(--se-co