@ebl-vue/editor-full 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
1
  (function(){"use strict";try{if(typeof document!="undefined"){var e=document.createElement("style");e.appendChild(document.createTextNode(':root{--color-border: #EFF0F1}.ebl-editor{cursor:text;font-size:16px;font-weight:400;background-color:#fff}.ebl-editor-title{min-height:55px}.ebl-editor-title-wrap{min-height:55px;margin:0 auto}.ebl-editor-title-input{min-height:55px;width:100%;font-weight:600;border:none;background-color:transparent;font-size:34px}.ebl-editor-title-input:focus{outline:none}.ebl-editor-title-input:active{outline:none}.ebl-editor-time-wrap{white-space:nowrap;font-size:14px;font-weight:400;line-height:22px;padding-top:12px;padding-bottom:8px;color:#646a73}.ce-block__content{max-width:650px}@media (min-width: 1050px){.ce-block__content,.ce-toolbar__content{max-width:700px}}.ce-toolbar,.ce-inline-toolbar{z-index:1000}.ce-toolbar__plus{border:1px solid #EFF0F1}.ce-toolbar .ce-popover__items{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.ce-toolbar .ce-popover__items .ce-popover-item{position:relative}.ce-toolbar .ce-popover__items .ce-popover-item__title{display:none}.ce-toolbar .ce-popover-item-html,.ce-toolbar .ce-popover-item-separator,.ce-toolbar .ce-popover-item[data-item-name=convert-to]{width:100%}.ce-toolbar .ce-popover-item[data-item-name=convert-to] .ce-popover-item__title{display:block}.ce-inline-toolbar .ce-popover__items{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}.ce-inline-toolbar .ce-popover__items{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.ce-inline-toolbar .ce-popover__items .ce-popover-item__title{display:none}.ce-block--drop-target .ce-block__content:before{content:"";position:absolute;top:50%;left:-20px;margin-top:-1px;height:8px;width:8px;border:solid #a0a0a0;border-width:1px 1px 0 0;-webkit-transform-origin:right;transform-origin:right;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.ce-block--drop-target .ce-block__content:after{background:none}.ce-header{padding:.6em 0 3px;margin:0;line-height:1.25em;outline:none}.ce-header p,.ce-header div{padding:0!important;margin:0!important}.ce-tune-alignment--right{text-align:right}.ce-tune-alignment--center{text-align:center}.ce-tune-alignment--left{text-align:left}.ce-paragraph{line-height:1.6em;outline:none}.ce-block:only-of-type .ce-paragraph[data-placeholder-active]:empty:before,.ce-block:only-of-type .ce-paragraph[data-placeholder-active][data-empty=true]:before{content:attr(data-placeholder-active)}.ce-paragraph p:first-of-type{margin-top:0}.ce-paragraph p:last-of-type{margin-bottom:0}.ce-editorjs-x-shiki{border-radius:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin:10px 0}.ce-editorjs-x-shiki__code{position:relative;float:left;min-width:100%;overflow-x:auto}.ce-editorjs-x-shiki__selector{display:-webkit-box;display:-ms-flexbox;display:flex;gap:.25rem;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;z-index:12;border-bottom-style:solid;border-color:#9ca3af0d;padding:.5rem}.ce-editorjs-x-shiki__selector-language,.ce-editorjs-x-shiki__selector-theme{font-size:13px;font-family:inherit}.ce-editorjs-x-shiki__selector-language{width:90px}.ce-editorjs-x-shiki__selector select{border:none;outline:none}.ce-editorjs-x-shiki__span{position:relative;z-index:0;padding:20px;margin:0;white-space:pre;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ce-editorjs-x-shiki__textarea{white-space:pre;overflow:hidden;background-color:transparent;position:absolute;padding:20px;inset:0;color:transparent;z-index:0;font-size:13px;caret-color:#999;resize:none;border:none;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.ce-editorjs-x-shiki__copy{width:24px;height:24px;cursor:pointer;position:relative;margin-right:0}.ce-editorjs-x-shiki__copy_tip{font-size:12px;width:60px;margin-left:-20px;background-color:#0c0c0c;color:#ececec;text-align:center;border-radius:6px;padding:5px 10px;position:absolute;z-index:1;top:125%;-webkit-transition:opacity .3s;transition:opacity .3s;visibility:hidden;opacity:0}.ce-editorjs-x-shiki__copy_tip:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent #0c0c0c transparent}.ce-editorjs-x-shiki__copy_tip.visible{visibility:visible;opacity:1}.cdx-quote{overflow:hidden;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;word-wrap:break-word;word-break:break-all}.cdx-quote blockquote{margin:0}.cdx-block-quote{border:solid #acacac;border-width:0 0 0 3px;-webkit-box-shadow:none;box-shadow:none;color:#666;line-height:1.6em;padding:1px 0 0 12px;text-align:left}.ce-delimiter__line__wrapper{height:24px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.ce-delimiter__line{-webkit-box-flex:1;-ms-flex:1;flex:1;height:2px;background-color:#eff0f1}.cdx-list{margin:0;padding:0;outline:none;display:grid;counter-reset:item;grid-gap:var(--spacing-s);padding:var(--spacing-xs);--spacing-s: 8px;--spacing-xs: 6px;--list-counter-type: numeric;--radius-border: 5px;--checkbox-background: #fff;--color-border: #C9C9C9;--color-bg-checked: #369FFF;--line-height: 1.45em;--color-bg-checked-hover: #0059AB;--color-tick: #fff;--size-checkbox: 1.2em}.cdx-list ol{padding-left:0}.cdx-list__item{line-height:var(--line-height);display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;grid-template-areas:"checkbox content" ". child"}.cdx-list__item-children{display:grid;grid-area:child;grid-gap:var(--spacing-s);padding-top:var(--spacing-s)}.cdx-list__item [contenteditable]{outline:none}.cdx-list__item-content{word-break:break-word;white-space:pre-wrap;grid-area:content;padding-left:var(--spacing-s)}.cdx-list__item:before{counter-increment:item;white-space:nowrap}.cdx-list-ordered .cdx-list__item:before{content:counters(item,".",var(--list-counter-type)) "."}.cdx-list-ordered{counter-reset:item}.cdx-list-unordered{padding-left:0}.cdx-list-unordered .cdx-list__item:before{content:"•"}.cdx-list-checklist .cdx-list__item:before{content:""}.cdx-list__settings .cdx-settings-button{width:50%}.cdx-list__checkbox{padding-top:calc((var(--line-height) - var(--size-checkbox)) / 2);grid-area:checkbox;width:var(--size-checkbox);height:var(--size-checkbox);display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.cdx-list__checkbox svg{opacity:0;height:var(--size-checkbox);width:var(--size-checkbox);left:-1px;top:-1px;position:absolute}@media (hover: hover){.cdx-list__checkbox:not(.cdx-list__checkbox--no-hover):hover .cdx-list__checkbox-check svg{opacity:1}}.cdx-list__checkbox--checked{line-height:var(--line-height)}@media (hover: hover){.cdx-list__checkbox--checked:not(.cdx-list__checkbox--checked--no-hover):hover .cdx-checklist__checkbox-check{background:var(--color-bg-checked-hover);border-color:var(--color-bg-checked-hover)}}.cdx-list__checkbox--checked .cdx-list__checkbox-check{background:var(--color-bg-checked);border-color:var(--color-bg-checked)}.cdx-list__checkbox--checked .cdx-list__checkbox-check svg{opacity:1}.cdx-list__checkbox--checked .cdx-list__checkbox-check svg path{stroke:var(--color-tick)}.cdx-list__checkbox--checked .cdx-list__checkbox-check:before{opacity:0;visibility:visible;-webkit-transform:scale(2.5);transform:scale(2.5)}.cdx-list__checkbox-check{cursor:pointer;display:inline-block;position:relative;margin:0 auto;width:var(--size-checkbox);height:var(--size-checkbox);-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--radius-border);border:1px solid var(--color-border);background:var(--checkbox-background)}.cdx-list__checkbox-check:before{content:"";position:absolute;inset:0;border-radius:100%;background-color:var(--color-bg-checked);visibility:hidden;pointer-events:none;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .4s,-webkit-transform .4s ease-out;transition:opacity .4s,-webkit-transform .4s ease-out;transition:transform .4s ease-out,opacity .4s;transition:transform .4s ease-out,opacity .4s,-webkit-transform .4s ease-out}.cdx-list__checkbox-check--disabled{pointer-events:none}.cdx-list-start-with-field{background:#f8f8f8;border:1px solid rgba(226,226,229,.2);border-radius:6px;padding:2px;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto}.cdx-list-start-with-field--invalid{background:#ffeced;border:1px solid #E13F3F}.cdx-list-start-with-field--invalid .cdx-list-start-with-field__input{color:#e13f3f}.cdx-list-start-with-field__input{font-size:14px;outline:none;font-weight:500;font-family:inherit;border:0;background:transparent;margin:0;padding:0;line-height:22px;min-width:calc(100% - var(--toolbox-buttons-size) - var(--icon-margin-right))}.cdx-list-start-with-field__input::-webkit-input-placeholder{color:var(--grayText);font-weight:500}.cdx-list-start-with-field__input::-moz-placeholder{color:var(--grayText);font-weight:500}.cdx-list-start-with-field__input:-ms-input-placeholder{color:var(--grayText);font-weight:500}.cdx-list-start-with-field__input::-ms-input-placeholder{color:var(--grayText);font-weight:500}.cdx-list-start-with-field__input::placeholder{color:var(--grayText);font-weight:500}.cdx-alert{position:relative;padding:10px;border-radius:5px;margin-bottom:10px}.cdx-alert-primary{background-color:#ebf8ff;border:1px solid #4299e1;color:#2b6cb0}.cdx-alert-secondary{background-color:#f7fafc;border:1px solid #cbd5e0;color:#222731}.cdx-alert-info{background-color:#e6fdff;border:1px solid #4cd4ce;color:#00727c}.cdx-alert-success{background-color:#f0fff4;border:1px solid #68d391;color:#2f855a}.cdx-alert-warning{background-color:#fffaf0;border:1px solid #ed8936;color:#c05621}.cdx-alert-danger{background-color:#fff5f5;border:1px solid #fc8181;color:#c53030}.cdx-alert-light{background-color:#fff;border:1px solid #edf2f7;color:#1a202c}.cdx-alert-dark{background-color:#2d3748;border:1px solid #1a202c;color:#d3d3d3}.cdx-alert-align-left{text-align:left}.cdx-alert-align-center{text-align:center}.cdx-alert-align-right{text-align:right}.cdx-alert__message{outline:none}.cdx-alert [contentEditable=true][data-placeholder]:before{position:absolute;content:attr(data-placeholder);color:#707684;font-weight:400;opacity:0}.cdx-alert [contentEditable=true][data-placeholder]:empty:before{opacity:1}.cdx-alert [contentEditable=true][data-placeholder]:empty:focus:before{opacity:0}.ce-popover__item[data-item-name=alert-primary] .ce-popover__item-icon svg #background{fill:#ebf8ff;stroke:#4299e1}.ce-popover__item[data-item-name=alert-primary] .ce-popover__item-icon svg #content{fill:#2b6cb0}.ce-popover__item[data-item-name=alert-secondary] .ce-popover__item-icon svg #background{fill:#f7fafc;stroke:#cbd5e0}.ce-popover__item[data-item-name=alert-secondary] .ce-popover__item-icon svg #content{fill:#222731}.ce-popover__item[data-item-name=alert-info] .ce-popover__item-icon svg #background{fill:#e6fdff;stroke:#4cd4ce}.ce-popover__item[data-item-name=alert-info] .ce-popover__item-icon svg #content{fill:#00727c}.ce-popover__item[data-item-name=alert-success] .ce-popover__item-icon svg #background{fill:#f0fff4;stroke:#68d391}.ce-popover__item[data-item-name=alert-success] .ce-popover__item-icon svg #content{fill:#2f855a}.ce-popover__item[data-item-name=alert-warning] .ce-popover__item-icon svg #background{fill:#fffaf0;stroke:#ed8936}.ce-popover__item[data-item-name=alert-warning] .ce-popover__item-icon svg #content{fill:#c05621}.ce-popover__item[data-item-name=alert-danger] .ce-popover__item-icon svg #background{fill:#fff5f5;stroke:#fc8181}.ce-popover__item[data-item-name=alert-danger] .ce-popover__item-icon svg #content{fill:#c53030}.ce-popover__item[data-item-name=alert-light] .ce-popover__item-icon svg #background{fill:#fff;stroke:#edf2f7}.ce-popover__item[data-item-name=alert-light] .ce-popover__item-icon svg #content{fill:#1a202c}.ce-popover__item[data-item-name=alert-dark] .ce-popover__item-icon svg #background{fill:#2d3748;stroke:#1a202c}.ce-popover__item[data-item-name=alert-dark] .ce-popover__item-icon svg #content{fill:#d3d3d3}.cdx-alert_setting__icon_wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:10px}.cdx-alert_setting__icon_wrapper_align{margin-top:10px}.cdx-alert_setting__icon{display:inline-block;width:24px;height:24px;text-align:center;line-height:24px;cursor:pointer}.cdx-alert_setting__icon_active{opacity:.3}.ce-popover-indent-item{cursor:default!important}.ce-popover-indent-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px}.ce-popover-indent-item[version^="2.26"]{gap:10px}.ce-popover-indent-item:hover{background-color:transparent!important}.ce-popover-indent-item .ce-popover-item__icon{width:26px;height:26px;cursor:pointer;will-change:background-color,color;transition:.3s background-color,.3s color;padding:0;border-width:0px;color:#000;background-color:#fff;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;-o-border-radius:5px;-webkit-transition:.3s background-color,.3s color;-moz-transition:.3s background-color,.3s color;-ms-transition:.3s background-color,.3s color;-o-transition:.3s background-color,.3s color}.ce-popover-indent-item .ce-popover-item--disabled{color:#707684;opacity:.3;cursor:default}.ce-popover-indent-item .ce-popover-item__icon:focus{outline:none}.ce-popover-indent-item[version^="2.26"]:hover .ce-popover-item__icon,.ce-popover-indent-item[version^="2.27"]:hover .ce-popover-item__icon,.ce-popover-indent-item[version^="2.28"]:hover .ce-popover-item__icon,.ce-popover-indent-item[version^="2.29"]:hover .ce-popover-item__icon,.ce-popover-indent-item[version^="2.26"] .ce-popover-item__icon,.ce-popover-indent-item[version^="2.27"] .ce-popover-item__icon,.ce-popover-indent-item[version^="2.28"] .ce-popover-item__icon,.ce-popover-indent-item[version^="2.29"] .ce-popover-item__icon{box-shadow:0 0 0 1px #c9c9cc7a!important;-webkit-box-shadow:0 0 0 1px rgba(201,201,204,.48)!important}.ce-popover-indent-item[version^="2.26"] .ce-popover-item__icon:hover,.ce-popover-indent-item[version^="2.27"] .ce-popover-item__icon:hover,.ce-popover-indent-item[version^="2.28"] .ce-popover-item__icon:hover,.ce-popover-indent-item[version^="2.29"] .ce-popover-item__icon:hover{background-color:#eff2f5}.ce-highlight-indent{display:inline-block;height:1.6em;top:50%;position:absolute;transform:translateY(-50%);-webkit-transform:translate(0px,-50%);-moz-transform:translate(0px,-50%);-ms-transform:translate(0px,-50%);-o-transform:translate(0px,-50%)}.ce-popover-indent-item[version^="2.3"] .ce-popover-item__title{margin-left:4px}.cdx-marker{background:#f5eb6f4a;padding:3px 0}.ce-popover--inline .ce-popover--nested .ce-popover__container{width:-webkit-min-content!important;width:-moz-min-content!important;width:min-content!important;min-width:0!important;min-width:initial!important}.ce-popover--inline .ce-popover--nested .ce-popover__items{width:-webkit-max-content;width:-moz-max-content;width:max-content}.editorjs__color-selector-container{display:grid;grid-gap:10px;padding:4px}.editorjs__color-selector__container-item{width:30px;height:30px;display:block;cursor:pointer;border-radius:100%;-webkit-transition:-webkit-transform .2s ease;transition:-webkit-transform .2s ease;transition:transform .2s ease;transition:transform .2s ease,-webkit-transform .2s ease}.editorjs__color-selector__container-item:hover{-webkit-transform:scale(1.1);transform:scale(1.1)}.cdx-underline{-webkit-text-decoration:underline;text-decoration:underline}.inline-code{background:#faeff0c7;color:#b44437;padding:3px 4px;border-radius:5px;margin:0 1px;font-family:inherit;font-size:.86em;font-weight:500;letter-spacing:.3px}.tc-wrap{--color-background: #f9f9fb;--color-text-secondary: #7b7e89;--color-border: #e8e8eb;--cell-size: 34px;--toolbox-icon-size: 18px;--toolbox-padding: 6px;--toolbox-aiming-field-size: calc(var(--toolbox-icon-size) + var(--toolbox-padding)*2);--col-width: 100px 100px 100px;position:relative;height:100%;margin-top:var(--toolbox-icon-size);-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-grid;z-index:0}.tc-wrap svg{vertical-align:top}@media print{.tc-wrap{border-left-color:var(--color-border);border-left-style:solid;border-left-width:1px}}@media print{.tc-wrap .tc-row:after{display:none}}.tc-table{position:relative;width:100%;height:100%;display:grid;font-size:14px;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border);line-height:1.4;overflow-x:auto}.tc-table:after{width:calc(var(--cell-size));height:100%;left:calc(var(--cell-size)*-1);top:0}.tc-table:after,.tc-table:before{position:absolute;content:""}.tc-table:before{width:100%;height:var(--toolbox-aiming-field-size);top:calc(var(--toolbox-aiming-field-size)*-1);left:0}.tc-table--heading .tc-row:first-child{font-weight:600;border-bottom:2px solid var(--color-border);position:sticky;top:0;z-index:2;background:var(--color-background)}.tc-table--heading .tc-row:first-child [contenteditable]:empty:before{content:attr(heading);color:var(--color-text-secondary)}.tc-table--heading .tc-row:first-child:after{bottom:-2px;border-bottom:2px solid var(--color-border)}.tc-add-column,.tc-add-row{display:-webkit-box;display:-ms-flexbox;display:flex;color:var(--color-text-secondary)}@media print{.tc-add{display:none}}.tc-add-column{display:grid;border-top:1px solid var(--color-border);grid-auto-rows:var(--cell-size);-webkit-box-align:center;-ms-flex-align:center;align-items:center;justify-items:center}.tc-add-column svg{padding:5px;position:sticky;top:0;background-color:var(--color-background)}.tc-add-column--disabled{visibility:hidden}@media print{.tc-add-column{display:none}}.tc-add-row{height:var(--cell-size);-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:4px;position:relative}.tc-add-row--disabled{display:none}.tc-add-row:before{content:"";position:absolute;right:calc(var(--cell-size)*-1);width:var(--cell-size);height:100%}@media print{.tc-add-row{display:none}}.tc-add-column,.tc-add-row{-webkit-transition:0s;transition:0s;cursor:pointer;will-change:background-color}.tc-add-column:hover,.tc-add-row:hover{-webkit-transition:background-color .1s ease;transition:background-color .1s ease;background-color:var(--color-background)}.tc-add-row{margin-top:1px}.tc-add-row:hover:before{-webkit-transition:.1s;transition:.1s;background-color:var(--color-background)}.tc-row{display:grid;grid-template-columns:var(--col-width);position:relative;border-bottom:1px solid var(--color-border)}.tc-row--selected{background:var(--color-background)}.tc-row--selected:after{background:var(--color-background)}.tc-cell{border-right:1px solid var(--color-border);padding:6px 12px;overflow:hidden;outline:none;line-break:normal}.tc-cell--selected{background:var(--color-background)}.tc-wrap--readonly .tc-row:after{display:none}.tc-toolbox{--toolbox-padding: 6px;--popover-margin: 30px;--toggler-click-zone-size: 30px;--toggler-dots-color: #7b7e89;--toggler-dots-color-hovered: #1d202b;position:absolute;cursor:pointer;z-index:1;opacity:0;-webkit-transition:opacity .1s;transition:opacity .1s;will-change:left,opacity}.tc-toolbox--column{top:calc(var(--toggler-click-zone-size)*-1);-webkit-transform:translate(calc(var(--toggler-click-zone-size)*-1/2));transform:translate(calc(var(--toggler-click-zone-size)*-1/2));will-change:left,opacity}.tc-toolbox--row{left:calc(var(--popover-margin)*-1);-webkit-transform:translateY(calc(var(--toggler-click-zone-size)*-1/2));transform:translateY(calc(var(--toggler-click-zone-size)*-1/2));margin-top:-1px;will-change:top,opacity}.tc-toolbox--showed{opacity:1}.tc-toolbox .tc-popover{position:absolute;top:0;left:var(--popover-margin)}.tc-toolbox__toggler{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:var(--toggler-click-zone-size);height:var(--toggler-click-zone-size);color:var(--toggler-dots-color);opacity:0;-webkit-transition:opacity .15s ease;transition:opacity .15s ease;will-change:opacity}.tc-toolbox__toggler:hover{color:var(--toggler-dots-color-hovered)}.tc-toolbox__toggler svg{fill:currentColor}.tc-wrap:hover .tc-toolbox__toggler{opacity:1}.tc-settings .cdx-settings-button{width:50%;margin:0}.tc-popover{--color-border: #eaeaea;--color-background: #fff;--color-background-hover: rgba(232, 232, 235, .49);--color-background-confirm: #e24a4a;--color-background-confirm-hover: #d54040;--color-text-confirm: #fff;background:var(--color-background);border:1px solid var(--color-border);-webkit-box-shadow:0 3px 15px -3px rgba(13,20,33,.12941);box-shadow:0 3px 15px -3px #0d142121;border-radius:6px;padding:6px;display:none;will-change:opacity,transform}.tc-popover--opened{display:block;-webkit-animation:menuShowing .1s cubic-bezier(.215,.61,.355,1) forwards;animation:menuShowing .1s cubic-bezier(.215,.61,.355,1) forwards}.tc-popover__item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:2px 14px 2px 2px;border-radius:5px;cursor:pointer;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tc-popover__item:hover{background:var(--color-background-hover)}.tc-popover__item:not(:last-of-type){margin-bottom:2px}.tc-popover__item-icon{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;width:26px;height:26px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:var(--color-background);border-radius:5px;border:1px solid var(--color-border);margin-right:8px}.tc-popover__item-label{line-height:22px;font-size:14px;font-weight:500}.tc-popover__item--confirm{background:var(--color-background-confirm);color:var(--color-text-confirm)}.tc-popover__item--confirm:hover{background-color:var(--color-background-confirm-hover)}.tc-popover__item--confirm .tc-popover__item-icon{background:var(--color-background-confirm);border-color:#0000001a}.tc-popover__item--confirm .tc-popover__item-icon svg{-webkit-transition:-webkit-transform .2s ease-in;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in;-webkit-transform:rotate(90deg) scale(1.2);transform:rotate(90deg) scale(1.2)}.tc-popover__item--hidden{display:none}@-webkit-keyframes menuShowing{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.9);transform:translateY(-8px) scale(.9)}70%{opacity:1;-webkit-transform:translateY(2px);transform:translateY(2px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes menuShowing{0%{opacity:0;-webkit-transform:translateY(-8px) scale(.9);transform:translateY(-8px) scale(.9)}70%{opacity:1;-webkit-transform:translateY(2px);transform:translateY(2px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.cell-resizable{cursor:col-resize}.image-tool{--bg-color: #cdd1e0;--front-color: #388ae5;--border-color: #e8e8eb }.image-tool__image{border-radius:3px;overflow:hidden;margin-bottom:10px;padding-bottom:0}.image-tool__image-picture{max-width:100%;vertical-align:bottom;display:inline-block}.image-tool__image-preloader{width:50px;height:50px;border-radius:50%;background-size:cover;margin:auto;position:relative;background-color:var(--bg-color);background-position:center center}.image-tool__image-preloader:after{content:"";position:absolute;z-index:3;width:60px;height:60px;border-radius:50%;border:2px solid var(--bg-color);border-top-color:var(--front-color);left:50%;top:50%;margin-top:-30px;margin-left:-30px;-webkit-animation:image-preloader-spin 2s infinite linear;animation:image-preloader-spin 2s infinite linear;-webkit-box-sizing:border-box;box-sizing:border-box}.image-tool__caption{visibility:hidden;position:absolute;bottom:0;left:0;margin-bottom:10px}.image-tool__caption[contentEditable=true][data-placeholder]:before{position:absolute!important}.image-tool__caption[contentEditable=true][data-placeholder]:before{content:attr(data-placeholder);color:#707684;font-weight:400;display:none}.image-tool__caption[contentEditable=true][data-placeholder]:empty:before{display:block}.image-tool__caption[contentEditable=true][data-placeholder]:empty:focus:before{display:none}.image-tool--empty .image-tool__image,.image-tool--empty .image-tool__image-preloader{display:none}.image-tool--empty .image-tool__caption,.image-tool--uploading .image-tool__caption{visibility:hidden!important}.image-tool .cdx-button{display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.image-tool .cdx-button svg{height:auto;margin:0 6px 0 0}.image-tool--filled .cdx-button,.image-tool--filled .image-tool__image-preloader{display:none}.image-tool--uploading .image-tool__image{min-height:200px;display:-webkit-box;display:-ms-flexbox;display:flex;border:1px solid var(--border-color);background-color:#fff}.image-tool--uploading .image-tool__image-picture,.image-tool--uploading .cdx-button{display:none}.image-tool--withBorder .image-tool__image{border:1px solid var(--border-color)}.image-tool--withBackground .image-tool__image{padding:15px;background:var(--bg-color)}.image-tool--withBackground .image-tool__image-picture{max-width:60%;margin:0 auto}.image-tool--stretched .image-tool__image-picture{width:100%}.image-tool--caption .image-tool__caption{visibility:visible}.image-tool--caption{padding-bottom:50px}@-webkit-keyframes image-preloader-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes image-preloader-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cdx-image-tool-tune--floatLeft .cdx-block,.cdx-image-tool-tune--center .cdx-block,.cdx-image-tool-tune--floatRight .cdx-block,.cdx-image-tool-tune--floatLeft .image-tool__image,.cdx-image-tool-tune--center .image-tool__image,.cdx-image-tool-tune--floatRight .image-tool__image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:root{--primary: #2492F5;--primary-content: #E9F4FE}.cdx-settings-button--active{background:#e9f4fe;color:#2492f5}.cdx-settings-button:hover{background:#e9f4fe}.cdx-image-tool-tune--center{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media all and (min-width: 470px){.codex-editor:not(.read-only) .cdx-image-tool-tune--floatLeft.ce-block__content,.codex-editor:not(.read-only) .cdx-image-tool-tune--floatRight.ce-block__content{min-height:20px}.cdx-image-tool-tune--floatLeft.ce-block__content .image-tool__image,.cdx-image-tool-tune--floatRight.ce-block__content .image-tool__image{margin-top:40px}.cdx-image-tool-tune--floatLeft.ce-block__content .image-tool__image{margin-left:20px}.cdx-image-tool-tune--floatRight.ce-block__content .image-tool__image{margin-right:20px}.cdx-image-tool-tune--floatLeft.ce-block__content .cdx-input,.cdx-image-tool-tune--floatRight.ce-block__content .cdx-input{width:calc(100% - 20px)}.cdx-image-tool-tune--floatLeft.ce-block__content .cdx-input{margin-left:20px}.cdx-image-tool-tune--floatRight.ce-block__content .cdx-input{margin-right:20px}.cdx-image-tool-tune--floatLeft .cdx-block{float:left;margin-right:10px}.cdx-image-tool-tune--floatRight .cdx-block{float:right;margin-left:10px}.cdx-image-tool-tune--sizeSmall .cdx-block{max-width:25%!important}.cdx-image-tool-tune--sizeMiddle .cdx-block{max-width:50%!important}.cdx-image-tool-tune--sizeLarge .cdx-block{max-width:75%!important}}.cdx-image-tool-tune--sizeLarge img,.cdx-image-tool-tune--sizeSmall img,.cdx-image-tool-tune--sizeMiddle img{-o-object-fit:cover;object-fit:cover;max-width:100%}.codex-editor.read-only .cdx-input.image-tool__caption:empty,.read-only>.codex-editor .cdx-input.image-tool__caption:empty{display:none}.cdx-image-tool-tune--resize .cdx-block{position:relative;overflow:visible}.cdx-image-tool-tune--resize .cdx-block .resizable{display:none}.cdx-image-tool-tune--resize .image-tool__image-picture{width:100%!important}.cdx-image-tool-tune--resize .cdx-block:hover .resizable{display:block}.cdx-image-tool-tune--resize .cdx-block .resizable .resizers .resizer{width:12px;height:12px;border-radius:50%;background:#e9f4fe;border:3px solid #2492F5;position:absolute}.cdx-image-tool-tune--resize .cdx-block .resizable .resizers .resizer.top-left{left:-5px;top:-5px;cursor:nwse-resize}.cdx-image-tool-tune--resize .cdx-block .resizable .resizers .resizer.top-right{right:-5px;top:-5px;cursor:nesw-resize}.cdx-image-tool-tune--resize .cdx-block .resizable .resizers .resizer.bottom-left{left:-5px;bottom:-5px;cursor:nesw-resize}.cdx-image-tool-tune--resize .cdx-block .resizable .resizers .resizer.bottom-right{right:-5px;bottom:-5px;cursor:nwse-resize}.cdx-image-tool-tune--crop:hover,.cdx-image-tool-tune--crop.isCropping,.cdx-image-tool-tune--resize:hover{z-index:2}.cdx-image-tool-tune--crop .image-tool__image{position:relative}.cdx-image-tool-tune--crop .isCropping .image-tool__image{min-height:600px;min-width:100%}.cdx-image-tool-tune--crop .image-tool__image .crop-btn,.cdx-image-tool-tune--crop .image-tool__image .crop-save{position:absolute;top:0;left:0;padding:7px;background:#2492f5;color:#e9f4fe;text-align:center;line-height:20px;cursor:pointer;display:none}.cdx-image-tool-tune--crop .image-tool__image:hover .crop-btn,.cdx-image-tool-tune--crop .image-tool__image:hover .crop-save{display:block}.cdx-image-tool-tune--crop .image-tool__image img.isCropped{position:absolute;min-width:0;min-width:initial;max-width:none;max-width:initial;min-height:0;min-height:initial;max-height:none;max-height:initial}.cdx-image-tool-tune--crop .cdx-block.image-tool.isCropping{min-width:0!important;min-width:initial!important;max-width:none!important;max-width:initial!important;min-height:0!important;min-height:initial!important;max-height:none!important;max-height:initial!important}.ce-block{margin:.8em 0}.ce-toolbar{z-index:3}.image-tool__caption{background-color:#fff}.image-tool{position:relative;z-index:1}.cdx-image-tool-tune{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;gap:4px;width:100%}')),document.head.appendChild(e)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
2
- import { defineComponent as Nt, inject as zt, onMounted as Ft, toRaw as Pt, onUnmounted as Wt, createElementBlock as $t, openBlock as jt, createElementVNode as Ut } from "vue";
3
- import qt from "@ebl-vue/editorjs";
4
- import { bundledLanguagesInfo as Vt, codeToHtml as Kt } from "shiki";
2
+ import { defineComponent as Nt, inject as zt, onMounted as Ft, toRaw as Pt, onUnmounted as Wt, createElementBlock as $t, openBlock as qt } from "vue";
3
+ import Ut from "@ebl-vue/editorjs";
4
+ import { bundledLanguagesInfo as jt, codeToHtml as Vt } from "shiki";
5
5
  import { make as S, isEmpty as rt } from "@editorjs/dom";
6
- import { focus as Yt, isCaretAtStartOfInput as Gt, getCaretNodeAndOffset as Xt, getContenteditableSlice as Zt } from "@editorjs/caret";
6
+ import { focus as Kt, isCaretAtStartOfInput as Yt, getCaretNodeAndOffset as Gt, getContenteditableSlice as Jt } from "@editorjs/caret";
7
7
  import lt from "vanilla-caret-js";
8
8
  import Y from "axios";
9
- const dt = Symbol("INSTALLED_KEY"), Jt = (c, t) => (c.install = (e) => {
10
- for (const i of [c, ...Object.values({})]) e.component(i.name, i);
11
- }, c);
9
+ const dt = Symbol("INSTALLED_KEY"), Xt = (h, t) => (h.install = (e) => {
10
+ for (const i of [h, ...Object.values({})]) e.component(i.name, i);
11
+ }, h);
12
12
  class Qt {
13
13
  constructor(t, e, i, s) {
14
14
  const { blocks: n, toolbar: r } = i;
@@ -80,7 +80,7 @@ class Qt {
80
80
  }
81
81
  }
82
82
  const ht = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 17V10.2135C19 10.1287 18.9011 10.0824 18.836 10.1367L16 12.5"/></svg>', ct = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 11C16 10 19 9.5 19 12C19 13.9771 16.0684 13.9997 16.0012 16.8981C15.9999 16.9533 16.0448 17 16.1 17L19.3 17"/></svg>', pt = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 11C16 10.5 16.8323 10 17.6 10C18.3677 10 19.5 10.311 19.5 11.5C19.5 12.5315 18.7474 12.9022 18.548 12.9823C18.5378 12.9864 18.5395 13.0047 18.5503 13.0063C18.8115 13.0456 20 13.3065 20 14.8C20 16 19.5 17 17.8 17C17.8 17 16 17 16 16.3"/></svg>', ut = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 10L15.2834 14.8511C15.246 14.9178 15.294 15 15.3704 15C16.8489 15 18.7561 15 20.2 15M19 17C19 15.7187 19 14.8813 19 13.6"/></svg>', gt = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 15.9C16 15.9 16.3768 17 17.8 17C19.5 17 20 15.6199 20 14.7C20 12.7323 17.6745 12.0486 16.1635 12.9894C16.094 13.0327 16 12.9846 16 12.9027V10.1C16 10.0448 16.0448 10 16.1 10H19.8"/></svg>', mt = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6 7L6 12M6 17L6 12M6 12L12 12M12 7V12M12 17L12 12"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19.5 10C16.5 10.5 16 13.3285 16 15M16 15V15C16 16.1046 16.8954 17 18 17H18.3246C19.3251 17 20.3191 16.3492 20.2522 15.3509C20.0612 12.4958 16 12.6611 16 15Z"/></svg>', It = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 7L6 7"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M18 17H6"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 12L8 12"/></svg>', Ht = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M17 7L5 7"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M17 17H5"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M13 12L5 12"/></svg>', Bt = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 7L7 7"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 17H7"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M19 12L11 12"/></svg>', ft = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8 8L12 12M12 12L16 16M12 12L16 8M12 12L8 16"/></svg>', Ct = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="M11.3535 9.31802L12.7678 7.90381C13.5488 7.12276 14.8151 7.12276 15.5962 7.90381C16.3772 8.68486 16.3772 9.95119 15.5962 10.7322L14.182 12.1464M11.3535 9.31802L7.96729 12.7043C7.40889 13.2627 7.02826 13.9739 6.87339 14.7482L6.69798 15.6253C6.55803 16.325 7.17495 16.942 7.87467 16.802L8.75175 16.6266C9.52612 16.4717 10.2373 16.0911 10.7957 15.5327L14.182 12.1464M11.3535 9.31802L14.182 12.1464"/><line x1="15" x2="19" y1="17" y2="17" stroke="currentColor" stroke-linecap="round" stroke-width="2"/></svg>', At = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><rect width="14" height="14" x="5" y="5" stroke="currentColor" stroke-width="2" rx="4"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5.13968 15.32L8.69058 11.5661C9.02934 11.2036 9.48873 11 9.96774 11C10.4467 11 10.9061 11.2036 11.2449 11.5661L15.3871 16M13.5806 14.0664L15.0132 12.533C15.3519 12.1705 15.8113 11.9668 16.2903 11.9668C16.7693 11.9668 17.2287 12.1705 17.5675 12.533L18.841 13.9634"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.7778 9.33331H13.7867"/></svg>', Ot = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M8 9V7.2C8 7.08954 8.08954 7 8.2 7L12 7M16 9V7.2C16 7.08954 15.9105 7 15.8 7L12 7M12 7L12 17M12 17H10M12 17H14"/></svg>', vt = '<svg t="1763708081701" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2604" width="24" height="24"><path d="M469.3330000000001 725.333H896V640H469.3330000000001v85.333zM128 512l170.667 170.667V341.3330000000001L128 512z m0 384h768v-85.333H128V896z m0-768v85.333h768V128H128z m341.333 256H896v-85.333H469.3330000000001V384z m0 170.667H896v-85.334H469.3330000000001v85.334z" p-id="2605" fill="#000000"></path></svg>', kt = '<svg t="1763708124227" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2788" width="24" height="24"><path d="M128 896h768v-85.333H128V896z m0-554.667v341.334L298.667 512 128 341.333z m341.333 384H896V640H469.333v85.333zM128 128v85.333h768V128H128z m341.333 256H896v-85.333H469.333V384z m0 170.667H896v-85.334H469.333v85.334z" p-id="2789" fill="#000000"></path></svg>';
83
- class te {
83
+ class Zt {
84
84
  constructor({ data: t, config: e, api: i, readOnly: s }) {
85
85
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H1" }, this._data = this.normalizeData(t), this._element = this.getTag();
86
86
  }
@@ -164,7 +164,7 @@ class te {
164
164
  return { icon: ht, title: "H1" };
165
165
  }
166
166
  }
167
- class ee {
167
+ class te {
168
168
  constructor({ data: t, config: e, api: i, readOnly: s }) {
169
169
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H2" }, this._data = this.normalizeData(t), this._element = this.getTag();
170
170
  }
@@ -248,7 +248,7 @@ class ee {
248
248
  return { icon: ct, title: "H2" };
249
249
  }
250
250
  }
251
- class ie {
251
+ class ee {
252
252
  constructor({ data: t, config: e, api: i, readOnly: s }) {
253
253
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H3" }, this._data = this.normalizeData(t), this._element = this.getTag();
254
254
  }
@@ -332,7 +332,7 @@ class ie {
332
332
  return { icon: pt, title: "H3" };
333
333
  }
334
334
  }
335
- class se {
335
+ class ie {
336
336
  constructor({ data: t, config: e, api: i, readOnly: s }) {
337
337
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H4" }, this._data = this.normalizeData(t), this._element = this.getTag();
338
338
  }
@@ -416,7 +416,7 @@ class se {
416
416
  return { icon: ut, title: "H4" };
417
417
  }
418
418
  }
419
- class ne {
419
+ class se {
420
420
  constructor({ data: t, config: e, api: i, readOnly: s }) {
421
421
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H5" }, this._data = this.normalizeData(t), this._element = this.getTag();
422
422
  }
@@ -500,7 +500,7 @@ class ne {
500
500
  return { icon: gt, title: "H5" };
501
501
  }
502
502
  }
503
- class re {
503
+ class ne {
504
504
  constructor({ data: t, config: e, api: i, readOnly: s }) {
505
505
  this.api = i, this.readOnly = s, this._settings = { placeholder: "H6" }, this._data = this.normalizeData(t), this._element = this.getTag();
506
506
  }
@@ -680,10 +680,10 @@ class at {
680
680
  return { icon: Ot, title: "Text" };
681
681
  }
682
682
  }
683
- class j {
683
+ class q {
684
684
  constructor({ data: t, config: e, api: i, readOnly: s }) {
685
685
  var n;
686
- this._selectorLanguage = "", this._selectorTheme = "", this.api = i, this.readOnly = s, this.placeholder = this.api.i18n.t(e.placeholder || j.DEFAULT_PLACEHOLDER), this._selectorLanguage = t.lang || e.lang || j.DEFAULT_LANGUAGE, this._selectorTheme = t.theme || e.theme || j.DEFAULT_THEME, this.CSS = { baseClass: this.api.styles.block, input: this.api.styles.input, wrapper: "ce-editorjs-x-shiki", textarea: "ce-editorjs-x-shiki__textarea", span: "ce-editorjs-x-shiki__span", selectorLanguage: "ce-editorjs-x-shiki__selector-language", selectorTheme: "ce-editorjs-x-shiki__selector-theme" }, this.nodes = { holder: null, textarea: null }, this.data = { code: (n = t.code) != null ? n : "", lang: this._selectorLanguage, theme: this._selectorTheme }, this.nodes.holder = this.drawView();
686
+ this._selectorLanguage = "", this._selectorTheme = "", this.api = i, this.readOnly = s, this.placeholder = this.api.i18n.t(e.placeholder || q.DEFAULT_PLACEHOLDER), this._selectorLanguage = t.lang || e.lang || q.DEFAULT_LANGUAGE, this._selectorTheme = t.theme || e.theme || q.DEFAULT_THEME, this.CSS = { baseClass: this.api.styles.block, input: this.api.styles.input, wrapper: "ce-editorjs-x-shiki", textarea: "ce-editorjs-x-shiki__textarea", span: "ce-editorjs-x-shiki__span", selectorLanguage: "ce-editorjs-x-shiki__selector-language", selectorTheme: "ce-editorjs-x-shiki__selector-theme" }, this.nodes = { holder: null, textarea: null }, this.data = { code: (n = t.code) != null ? n : "", lang: this._selectorLanguage, theme: this._selectorTheme }, this.nodes.holder = this.drawView();
687
687
  }
688
688
  static get isReadOnlySupported() {
689
689
  return !0;
@@ -734,10 +734,10 @@ class j {
734
734
  let o;
735
735
  if (i) {
736
736
  const a = function(d, l) {
737
- let h = "";
738
- for (; h !== `
739
- ` && l > 0; ) l -= 1, h = d.substr(l, 1);
740
- return h === `
737
+ let c = "";
738
+ for (; c !== `
739
+ ` && l > 0; ) l -= 1, c = d.substr(l, 1);
740
+ return c === `
741
741
  ` && (l += 1), l;
742
742
  }(n, s);
743
743
  if (n.substr(a, 2) !== r) return;
@@ -747,36 +747,36 @@ class j {
747
747
  }
748
748
  drawView() {
749
749
  const t = document.createElement("div"), e = document.createElement("div"), i = document.createElement("div"), s = document.createElement("div"), n = document.createElement("div"), r = document.createElement("div"), o = document.createElement("select"), a = document.createElement("select"), d = document.createElement("span"), l = document.createElement("textarea");
750
- return t.classList.add(this.CSS.baseClass, this.CSS.wrapper), e.classList.add("ce-editorjs-x-shiki__code"), i.classList.add("ce-editorjs-x-shiki__selector"), s.classList.add("ce-editorjs-x-shiki__lang"), n.classList.add("ce-editorjs-x-shiki__copy"), r.classList.add("ce-editorjs-x-shiki__copy_tip"), o.classList.add(this.CSS.selectorLanguage), l.classList.add(this.CSS.textarea, this.CSS.input), s.innerHTML = this.data.lang, n.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.25 8.5H10.25C9.2835 8.5 8.5 9.2835 8.5 10.25V17.25C8.5 18.2165 9.2835 19 10.25 19H17.25C18.2165 19 19 18.2165 19 17.25V10.25C19 9.2835 18.2165 8.5 17.25 8.5Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.5 8.5V6.75C15.5 6.28587 15.3156 5.84075 14.9874 5.51256C14.6592 5.18437 14.2141 5 13.75 5H6.75C6.28587 5 5.84075 5.18437 5.51256 5.51256C5.18437 5.84075 5 6.28587 5 6.75V13.75C5 14.2141 5.18437 14.6592 5.51256 14.9874C5.84075 15.3156 6.28587 15.5 6.75 15.5H8.5"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 12L15.5 12"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15.5L15.5 15.5"/></svg>', r.innerText = this.api.i18n.t("Copied"), Vt.forEach((h) => {
750
+ return t.classList.add(this.CSS.baseClass, this.CSS.wrapper), e.classList.add("ce-editorjs-x-shiki__code"), i.classList.add("ce-editorjs-x-shiki__selector"), s.classList.add("ce-editorjs-x-shiki__lang"), n.classList.add("ce-editorjs-x-shiki__copy"), r.classList.add("ce-editorjs-x-shiki__copy_tip"), o.classList.add(this.CSS.selectorLanguage), l.classList.add(this.CSS.textarea, this.CSS.input), s.innerHTML = this.data.lang, n.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.25 8.5H10.25C9.2835 8.5 8.5 9.2835 8.5 10.25V17.25C8.5 18.2165 9.2835 19 10.25 19H17.25C18.2165 19 19 18.2165 19 17.25V10.25C19 9.2835 18.2165 8.5 17.25 8.5Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15.5 8.5V6.75C15.5 6.28587 15.3156 5.84075 14.9874 5.51256C14.6592 5.18437 14.2141 5 13.75 5H6.75C6.28587 5 5.84075 5.18437 5.51256 5.51256C5.18437 5.84075 5 6.28587 5 6.75V13.75C5 14.2141 5.18437 14.6592 5.51256 14.9874C5.84075 15.3156 6.28587 15.5 6.75 15.5H8.5"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 12L15.5 12"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 15.5L15.5 15.5"/></svg>', r.innerText = this.api.i18n.t("Copied"), jt.forEach((c) => {
751
751
  const p = document.createElement("option");
752
- p.value = h.id, p.text = h.name, o.appendChild(p);
753
- }), o.value = this.data.lang, l.value = this.data.code, l.placeholder = this.placeholder, l.spellcheck = !1, l.autocomplete = "off", l.autocapitalize = "off", this.readOnly && (l.disabled = !0), e.appendChild(d), e.appendChild(l), this.readOnly ? i.appendChild(s) : i.appendChild(o), n.appendChild(r), i.appendChild(n), t.appendChild(i), t.appendChild(e), this.runShiki().then(({ html: h, preStyle: p }) => {
754
- d.innerHTML = h, t == null || t.setAttribute("style", p), o.setAttribute("style", p), a.setAttribute("style", p);
755
- }), o.addEventListener("change", (h) => {
756
- const p = h.target.value;
752
+ p.value = c.id, p.text = c.name, o.appendChild(p);
753
+ }), o.value = this.data.lang, l.value = this.data.code, l.placeholder = this.placeholder, l.spellcheck = !1, l.autocomplete = "off", l.autocapitalize = "off", this.readOnly && (l.disabled = !0), e.appendChild(d), e.appendChild(l), this.readOnly ? i.appendChild(s) : i.appendChild(o), n.appendChild(r), i.appendChild(n), t.appendChild(i), t.appendChild(e), this.runShiki().then(({ html: c, preStyle: p }) => {
754
+ d.innerHTML = c, t == null || t.setAttribute("style", p), o.setAttribute("style", p), a.setAttribute("style", p);
755
+ }), o.addEventListener("change", (c) => {
756
+ const p = c.target.value;
757
757
  this._selectorLanguage = p, this.runShiki().then(({ html: u, preStyle: g }) => {
758
758
  d.innerHTML = u, s.innerHTML = p;
759
759
  });
760
- }), a.addEventListener("change", (h) => {
761
- const p = h.target.value;
760
+ }), a.addEventListener("change", (c) => {
761
+ const p = c.target.value;
762
762
  this._selectorTheme = p, this.runShiki().then(({ html: u, preStyle: g }) => {
763
763
  d.innerHTML = u, t == null || t.setAttribute("style", g), o.setAttribute("style", g), a.setAttribute("style", g);
764
764
  });
765
765
  }), l.addEventListener("input", () => {
766
- this.data.code = l.value, this.runShiki().then(({ html: h, preStyle: p }) => {
767
- d.innerHTML = h, t == null || t.setAttribute("style", p), o.setAttribute("style", p), a.setAttribute("style", p);
766
+ this.data.code = l.value, this.runShiki().then(({ html: c, preStyle: p }) => {
767
+ d.innerHTML = c, t == null || t.setAttribute("style", p), o.setAttribute("style", p), a.setAttribute("style", p);
768
768
  });
769
- }), l.addEventListener("keydown", (h) => {
770
- h.code === "Tab" && (this.tabHandler(h), this.data.code = l.value, this.runShiki().then(({ html: p, preStyle: u }) => {
769
+ }), l.addEventListener("keydown", (c) => {
770
+ c.code === "Tab" && (this.tabHandler(c), this.data.code = l.value, this.runShiki().then(({ html: p, preStyle: u }) => {
771
771
  d.innerHTML = p;
772
772
  }));
773
- }), n.addEventListener("click", (h) => {
774
- this.copyCode(this.data.code, h);
773
+ }), n.addEventListener("click", (c) => {
774
+ this.copyCode(this.data.code, c);
775
775
  }), this.nodes.textarea = l, t;
776
776
  }
777
777
  async runShiki() {
778
778
  let t = "";
779
- return { html: await Kt(this.data.code, { lang: this._selectorLanguage, theme: this._selectorTheme, transformers: [{ preprocess: (e) => `${e}
779
+ return { html: await Vt(this.data.code, { lang: this._selectorLanguage, theme: this._selectorTheme, transformers: [{ preprocess: (e) => `${e}
780
780
  `, pre(e) {
781
781
  var i;
782
782
  this.addClassToHast(e, "ce-editorjs-x-shiki__span"), t = ((i = e.properties) == null ? void 0 : i.style) || "";
@@ -798,7 +798,7 @@ class j {
798
798
  });
799
799
  }
800
800
  }
801
- class oe {
801
+ class re {
802
802
  constructor({ data: t, api: e, readOnly: i }) {
803
803
  this.api = e, this.readOnly = i, this._data = { text: t.text || "" }, this._CSS = { baseClass: this.api.styles.block, wrapper: "cdx-quote", text: "cdx-quote__text", input: this.api.styles.input };
804
804
  }
@@ -851,7 +851,7 @@ class oe {
851
851
  return { text: { br: !0 } };
852
852
  }
853
853
  }
854
- class ae {
854
+ class oe {
855
855
  static get isReadOnlySupported() {
856
856
  return !0;
857
857
  }
@@ -934,8 +934,8 @@ class M {
934
934
  return {};
935
935
  }
936
936
  }
937
- function R(c) {
938
- return c.nodeType === Node.ELEMENT_NODE;
937
+ function R(h) {
938
+ return h.nodeType === Node.ELEMENT_NODE;
939
939
  }
940
940
  class C {
941
941
  static get CSS() {
@@ -976,7 +976,7 @@ class C {
976
976
  t.classList.remove(C.CSS.noHover);
977
977
  }
978
978
  }
979
- function G(c, t = "after") {
979
+ function G(h, t = "after") {
980
980
  const e = [];
981
981
  let i;
982
982
  function s(n) {
@@ -987,28 +987,28 @@ function G(c, t = "after") {
987
987
  return n.previousElementSibling;
988
988
  }
989
989
  }
990
- for (i = s(c); i !== null; ) e.push(i), i = s(i);
990
+ for (i = s(h); i !== null; ) e.push(i), i = s(i);
991
991
  return e.length !== 0 ? e : null;
992
992
  }
993
- function I(c, t = !0) {
994
- let e = c;
995
- return c.classList.contains(k.item) && (e = c.querySelector(`.${k.itemChildren}`)), e === null ? [] : t ? Array.from(e.querySelectorAll(`:scope > .${k.item}`)) : Array.from(e.querySelectorAll(`.${k.item}`));
993
+ function I(h, t = !0) {
994
+ let e = h;
995
+ return h.classList.contains(k.item) && (e = h.querySelector(`.${k.itemChildren}`)), e === null ? [] : t ? Array.from(e.querySelectorAll(`:scope > .${k.item}`)) : Array.from(e.querySelectorAll(`.${k.item}`));
996
996
  }
997
- function A(c) {
998
- return c.querySelector(`.${k.itemChildren}`);
997
+ function A(h) {
998
+ return h.querySelector(`.${k.itemChildren}`);
999
999
  }
1000
- function X(c) {
1001
- let t = c;
1002
- c.classList.contains(k.item) && (t = A(c)), t !== null && I(t).length === 0 && t.remove();
1000
+ function J(h) {
1001
+ let t = h;
1002
+ h.classList.contains(k.item) && (t = A(h)), t !== null && I(t).length === 0 && t.remove();
1003
1003
  }
1004
- function U(c) {
1005
- return c.querySelector(`.${k.itemContent}`);
1004
+ function U(h) {
1005
+ return h.querySelector(`.${k.itemContent}`);
1006
1006
  }
1007
- function F(c, t = !0) {
1008
- const e = U(c);
1009
- e && Yt(e, t);
1007
+ function F(h, t = !0) {
1008
+ const e = U(h);
1009
+ e && Kt(e, t);
1010
1010
  }
1011
- class Z {
1011
+ class X {
1012
1012
  get currentItem() {
1013
1013
  const t = window.getSelection();
1014
1014
  if (!t) return null;
@@ -1079,9 +1079,9 @@ class Z {
1079
1079
  const n = { style: s, meta: {}, items: [] };
1080
1080
  s === "ordered" && (this.data.meta.counterType = "numeric", this.data.meta.start = 1);
1081
1081
  const r = (o) => Array.from(o.querySelectorAll(":scope > li")).map((a) => {
1082
- var h;
1082
+ var c;
1083
1083
  const d = a.querySelector(`:scope > ${i}`), l = d ? r(d) : [];
1084
- return { content: (h = a.innerHTML) != null ? h : "", meta: {}, items: l };
1084
+ return { content: (c = a.innerHTML) != null ? c : "", meta: {}, items: l };
1085
1085
  });
1086
1086
  return n.items = r(t), n;
1087
1087
  }
@@ -1104,7 +1104,7 @@ class Z {
1104
1104
  backspace(t) {
1105
1105
  var i;
1106
1106
  const e = this.currentItem;
1107
- e !== null && Gt(e) && ((i = window.getSelection()) == null ? void 0 : i.isCollapsed) !== !1 && (t.stopPropagation(), e.parentNode !== this.listWrapper || e.previousElementSibling !== null ? (t.preventDefault(), this.mergeItemWithPrevious(e)) : this.convertFirstItemToDefaultBlock());
1107
+ e !== null && Yt(e) && ((i = window.getSelection()) == null ? void 0 : i.isCollapsed) !== !1 && (t.stopPropagation(), e.parentNode !== this.listWrapper || e.previousElementSibling !== null ? (t.preventDefault(), this.mergeItemWithPrevious(e)) : this.convertFirstItemToDefaultBlock());
1108
1108
  }
1109
1109
  shiftTab(t) {
1110
1110
  t.stopPropagation(), t.preventDefault(), this.currentItem !== null && this.unshiftItem(this.currentItem);
@@ -1118,7 +1118,7 @@ class Z {
1118
1118
  const s = G(t);
1119
1119
  s !== null && (i === null && (i = this.renderer.renderWrapper(!1)), s.forEach((n) => {
1120
1120
  i.appendChild(n);
1121
- }), t.appendChild(i)), e.after(t), F(t, !1), X(e);
1121
+ }), t.appendChild(i)), e.after(t), F(t, !1), J(e);
1122
1122
  }
1123
1123
  splitList(t) {
1124
1124
  const e = I(t), i = this.block, s = this.api.blocks.getCurrentBlockIndex();
@@ -1137,16 +1137,16 @@ class Z {
1137
1137
  o.meta.start = this.data.style == "ordered" ? 1 : void 0, this.api.blocks.insert(i == null ? void 0 : i.name, o, this.config, s + 1), this.convertItemToDefaultBlock(s + 1), r.remove();
1138
1138
  }
1139
1139
  splitItem(t) {
1140
- const [e, i] = Xt();
1140
+ const [e, i] = Gt();
1141
1141
  if (e === null) return;
1142
1142
  const s = U(t);
1143
1143
  let n;
1144
- n = s === null ? "" : Zt(s, e, i, "right", !0);
1144
+ n = s === null ? "" : Jt(s, e, i, "right", !0);
1145
1145
  const r = A(t), o = this.renderItem(n);
1146
1146
  t == null || t.after(o), r && o.appendChild(r), F(o);
1147
1147
  }
1148
1148
  mergeItemWithPrevious(t) {
1149
- var h;
1149
+ var c;
1150
1150
  const e = t.previousElementSibling, i = t.parentNode;
1151
1151
  if (i === null || !R(i)) return;
1152
1152
  const s = i.closest(`.${k.item}`);
@@ -1163,8 +1163,8 @@ class Z {
1163
1163
  if (o === null) return;
1164
1164
  o.insertAdjacentHTML("beforeend", r);
1165
1165
  const a = I(t);
1166
- if (a.length === 0) return t.remove(), void X(n);
1167
- const d = e || s, l = (h = A(d)) != null ? h : this.renderer.renderWrapper(!1);
1166
+ if (a.length === 0) return t.remove(), void J(n);
1167
+ const d = e || s, l = (c = A(d)) != null ? c : this.renderer.renderWrapper(!1);
1168
1168
  e ? a.forEach((p) => {
1169
1169
  l.appendChild(p);
1170
1170
  }) : a.forEach((p) => {
@@ -1193,7 +1193,7 @@ class Z {
1193
1193
  r.appendChild(o);
1194
1194
  }), i.appendChild(r);
1195
1195
  }
1196
- X(e), F(e, !1);
1196
+ J(e), F(e, !1);
1197
1197
  }
1198
1198
  convertItemToDefaultBlock(t, e) {
1199
1199
  let i;
@@ -1230,7 +1230,7 @@ class Z {
1230
1230
  });
1231
1231
  }
1232
1232
  }
1233
- const le = /* @__PURE__ */ new Map([["Numeric", "numeric"], ["Lower Roman", "lower-roman"], ["Upper Roman", "upper-roman"], ["Lower Alpha", "lower-alpha"], ["Upper Alpha", "upper-alpha"]]);
1233
+ const ae = /* @__PURE__ */ new Map([["Numeric", "numeric"], ["Lower Roman", "lower-roman"], ["Upper Roman", "upper-roman"], ["Lower Alpha", "lower-alpha"], ["Upper Alpha", "upper-alpha"]]);
1234
1234
  class V {
1235
1235
  static get isReadOnlySupported() {
1236
1236
  return !0;
@@ -1258,7 +1258,7 @@ class V {
1258
1258
  }
1259
1259
  constructor({ data: t, config: e, api: i, readOnly: s, block: n }) {
1260
1260
  var o;
1261
- this.api = i, this.readOnly = s, this.config = e, this.block = n, this.defaultListStyle = ((o = this.config) == null ? void 0 : o.defaultStyle) || "unordered", this.defaultCounterTypes = this.config.counterTypes || Array.from(le.values());
1261
+ this.api = i, this.readOnly = s, this.config = e, this.block = n, this.defaultListStyle = ((o = this.config) == null ? void 0 : o.defaultStyle) || "unordered", this.defaultCounterTypes = this.config.counterTypes || Array.from(ae.values());
1262
1262
  const r = { style: this.defaultListStyle, meta: {}, items: [] };
1263
1263
  this.data = Object.keys(t).length ? function(a) {
1264
1264
  const d = [];
@@ -1305,17 +1305,17 @@ class V {
1305
1305
  changeTabulatorByStyle() {
1306
1306
  switch (this.listStyle) {
1307
1307
  case "ordered":
1308
- this.list = new Z({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new E(this.readOnly, this.config));
1308
+ this.list = new X({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new E(this.readOnly, this.config));
1309
1309
  break;
1310
1310
  case "unordered":
1311
- this.list = new Z({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new M(this.readOnly, this.config));
1311
+ this.list = new X({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new M(this.readOnly, this.config));
1312
1312
  break;
1313
1313
  case "checklist":
1314
- this.list = new Z({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new C(this.readOnly, this.config));
1314
+ this.list = new X({ data: this.data, readOnly: this.readOnly, api: this.api, config: this.config, block: this.block }, new C(this.readOnly, this.config));
1315
1315
  }
1316
1316
  }
1317
1317
  }
1318
- class de {
1318
+ class le {
1319
1319
  constructor(t, e, i) {
1320
1320
  this.holder = e, this.observer = null, this.debounceTimer = i, this.mutationDebouncer = this.debounce(() => {
1321
1321
  t();
@@ -1355,12 +1355,12 @@ class de {
1355
1355
  document.dispatchEvent(t), (e = this.observer) == null || e.disconnect();
1356
1356
  }
1357
1357
  }
1358
- class he {
1358
+ class de {
1359
1359
  constructor({ editor: t, config: e = {}, onUpdate: i, maxLength: s }) {
1360
1360
  this.position = 0;
1361
1361
  const n = { maxLength: 30, onUpdate() {
1362
- }, config: { debounceTimer: 200, shortcuts: { undo: ["CMD+Z"], redo: ["CMD+Y", "CMD+SHIFT+Z"] } } }, { blocks: r, caret: o } = t, { configuration: a } = t, { holder: d, defaultBlock: l } = a, h = n.config.shortcuts, { shortcuts: p } = e, u = { ...h, ...p }, g = Array.isArray(u.undo) ? u.undo : [u.undo], m = Array.isArray(u.redo) ? u.redo : [u.redo], f = n.config.debounceTimer, { debounceTimer: v = f } = e;
1363
- this.holder = typeof d == "string" ? document.getElementById(d) : d, this.editor = t, this.defaultBlock = l, this.blocks = r, this.caret = o, this.shouldSaveHistory = !0, this.readOnly = a.readOnly, this.maxLength = s || n.maxLength, this.onUpdate = i || n.onUpdate, this.config = { debounceTimer: v, shortcuts: { undo: g, redo: m } }, new de(() => this.registerChange(), this.holder, this.config.debounceTimer).setMutationObserver(), this.setEventListeners(), this.initialItem = null, this.clear();
1362
+ }, config: { debounceTimer: 200, shortcuts: { undo: ["CMD+Z"], redo: ["CMD+Y", "CMD+SHIFT+Z"] } } }, { blocks: r, caret: o } = t, { configuration: a } = t, { holder: d, defaultBlock: l } = a, c = n.config.shortcuts, { shortcuts: p } = e, u = { ...c, ...p }, g = Array.isArray(u.undo) ? u.undo : [u.undo], m = Array.isArray(u.redo) ? u.redo : [u.redo], f = n.config.debounceTimer, { debounceTimer: v = f } = e;
1363
+ this.holder = typeof d == "string" ? document.getElementById(d) : d, this.editor = t, this.defaultBlock = l, this.blocks = r, this.caret = o, this.shouldSaveHistory = !0, this.readOnly = a.readOnly, this.maxLength = s || n.maxLength, this.onUpdate = i || n.onUpdate, this.config = { debounceTimer: v, shortcuts: { undo: g, redo: m } }, new le(() => this.registerChange(), this.holder, this.config.debounceTimer).setMutationObserver(), this.setEventListeners(), this.initialItem = null, this.clear();
1364
1364
  }
1365
1365
  static get isReadOnlySupported() {
1366
1366
  return !0;
@@ -1482,13 +1482,13 @@ class he {
1482
1482
  return i.push(s), i;
1483
1483
  }
1484
1484
  setEventListeners() {
1485
- const { holder: t } = this, { shortcuts: e } = this.config, { undo: i, redo: s } = e, n = i.map((u) => u.replace(/ /g, "").split("+")), r = s.map((u) => u.replace(/ /g, "").split("+")), o = n.map((u) => this.parseKeys(u)), a = r.map((u) => this.parseKeys(u)), d = (u, g) => g.reduce((m, f) => m || ((v, L) => L.length === 3 && v[L[0]] && v[L[1]] && v.key.toLowerCase() === L[2])(u, f), !1), l = (u, g, m) => !(!((f, v) => v.reduce((L, w) => L || ((_, B) => B.length === 2 && _[B[0]] && _.key.toLowerCase() === B[1])(f, w), !1))(u, g) || d(u, m)) || !!d(u, g), h = (u) => {
1485
+ const { holder: t } = this, { shortcuts: e } = this.config, { undo: i, redo: s } = e, n = i.map((u) => u.replace(/ /g, "").split("+")), r = s.map((u) => u.replace(/ /g, "").split("+")), o = n.map((u) => this.parseKeys(u)), a = r.map((u) => this.parseKeys(u)), d = (u, g) => g.reduce((m, f) => m || ((v, L) => L.length === 3 && v[L[0]] && v[L[1]] && v.key.toLowerCase() === L[2])(u, f), !1), l = (u, g, m) => !(!((f, v) => v.reduce((L, w) => L || ((_, B) => B.length === 2 && _[B[0]] && _.key.toLowerCase() === B[1])(f, w), !1))(u, g) || d(u, m)) || !!d(u, g), c = (u) => {
1486
1486
  l(u, o, a) && (u.preventDefault(), this.undo());
1487
1487
  }, p = (u) => {
1488
1488
  l(u, a, o) && (u.preventDefault(), this.redo());
1489
1489
  };
1490
- t.addEventListener("keydown", h), t.addEventListener("keydown", p), t.addEventListener("destroy", () => {
1491
- t.removeEventListener("keydown", h), t.removeEventListener("keydown", p);
1490
+ t.addEventListener("keydown", c), t.addEventListener("keydown", p), t.addEventListener("destroy", () => {
1491
+ t.removeEventListener("keydown", c), t.removeEventListener("keydown", p);
1492
1492
  });
1493
1493
  }
1494
1494
  }
@@ -1622,9 +1622,9 @@ class H {
1622
1622
  }
1623
1623
  const wt = { orientation: !1 }, b = class b {
1624
1624
  constructor({ api: t, data: e, config: i, block: s, ...n }) {
1625
- var o, a, d, l, h, p;
1625
+ var o, a, d, l, c, p;
1626
1626
  this.wrapper = document.createElement("div"), this.DEFAULT_INDENT_KEY = "Tab", this.lastResizeTimeout = null, this.cachedMaxWidthForContent = null, this.api = t, this.block = s, !i && "settings" in n && (i = (o = n.settings) != null ? o : {}), this.config = { indentSize: 24, maxIndent: 8, minIndent: 0, multiblock: !1, autoIndent: !1, tuneName: null, orientation: "horizontal", customBlockIndentLimits: {}, handleShortcut: void 0, direction: "ltr", directionChangeHandler: null, version: "2.30", ...i != null ? i : {} }, this.changeConfigBasedOnVersionIfNeeded(), (a = this.config) != null && a.directionChangeHandler && this.config.directionChangeHandler(this.alignmentChangeListener.bind(this));
1627
- const r = (p = (h = this.config.customBlockIndentLimits[(l = (d = this.block) == null ? void 0 : d.name) != null ? l : ""]) == null ? void 0 : h.min) != null ? p : this.config.minIndent;
1627
+ const r = (p = (c = this.config.customBlockIndentLimits[(l = (d = this.block) == null ? void 0 : d.name) != null ? l : ""]) == null ? void 0 : c.min) != null ? p : this.config.minIndent;
1628
1628
  this.data = { indentLevel: r, ...e != null ? e : {} }, this.config.multiblock && this.config.tuneName, window.addEventListener("resize", (u) => this.onResize.call(this, u)), this.api.events.on("block changed", ({ event: u }) => {
1629
1629
  var f;
1630
1630
  const g = u.detail.target.id;
@@ -1654,9 +1654,9 @@ const wt = { orientation: !1 }, b = class b {
1654
1654
  t() && setTimeout(t, 300);
1655
1655
  }), this.config.orientation === "vertical") {
1656
1656
  const a = `${this.TuneNames.indentLeft}-${(r = this.block) == null ? void 0 : r.id}`, d = `${this.TuneNames.indentRight}-${(o = this.block) == null ? void 0 : o.id}`;
1657
- return [{ title: this.rightText, hint: { title: this.api.i18n.t(this.rightText) }, onActivate: (l, h) => {
1657
+ return [{ title: this.rightText, hint: { title: this.api.i18n.t(this.rightText) }, onActivate: (l, c) => {
1658
1658
  this.handleIndentRight(), l.title = this.rightText;
1659
- }, icon: kt, name: d }, { title: this.leftText, hint: { title: this.api.i18n.t(this.leftText) }, onActivate: (l, h) => {
1659
+ }, icon: kt, name: d }, { title: this.leftText, hint: { title: this.api.i18n.t(this.leftText) }, onActivate: (l, c) => {
1660
1660
  this.handleIndentLeft(), l.title = this.leftText;
1661
1661
  }, icon: vt, name: a }];
1662
1662
  }
@@ -1763,8 +1763,8 @@ const wt = { orientation: !1 }, b = class b {
1763
1763
  const l = d.tunes[(p = this.config.tuneName) != null ? p : ""];
1764
1764
  if (!l) return;
1765
1765
  l.indentLevel = i ? Math.min(this.config.maxIndent, ((u = l.indentLevel) != null ? u : 0) + 1) : Math.max(0, ((g = l.indentLevel) != null ? g : 0) - 1), (m = a.dispatchChange) == null || m.call(a);
1766
- const h = this.getWrapperBlockById(a.id);
1767
- h instanceof HTMLElement && this.applyStylesToWrapper(h, l.indentLevel);
1766
+ const c = this.getWrapperBlockById(a.id);
1767
+ c instanceof HTMLElement && this.applyStylesToWrapper(c, l.indentLevel);
1768
1768
  });
1769
1769
  }
1770
1770
  handleIndentLeft() {
@@ -1813,8 +1813,8 @@ const wt = { orientation: !1 }, b = class b {
1813
1813
  if (r === 0) return void queueMicrotask(() => this.applyStylesToWrapper.bind(this)(t, e));
1814
1814
  const o = (r - this.maxWidthForContent(t)) / 2, a = Math.max(0, Math.min(o, i)), d = 2 * a + "px", l = `${a}px`;
1815
1815
  this.isDirectionInverted ? (t.style.paddingLeft = "0px", t.style.paddingRight = d) : (t.style.paddingLeft = d, t.style.paddingRight = "0px");
1816
- const h = t.querySelector(`.${this.CSS.highlightIndent}`);
1817
- h instanceof HTMLElement && (this.isDirectionInverted ? (h.style.width = l, h.style.left = "100%", h.style.right = "") : (h.style.width = l, h.style.left = "", h.style.right = "100%"));
1816
+ const c = t.querySelector(`.${this.CSS.highlightIndent}`);
1817
+ c instanceof HTMLElement && (this.isDirectionInverted ? (c.style.width = l, c.style.left = "100%", c.style.right = "") : (c.style.width = l, c.style.left = "", c.style.right = "100%"));
1818
1818
  }
1819
1819
  onFocus(t) {
1820
1820
  t.target instanceof HTMLElement && this.wrapper.contains(t.target) && this.wrapper.setAttribute(b.DATA_FOCUSED, "");
@@ -1914,7 +1914,7 @@ class W {
1914
1914
  return { mark: { class: W.CSS } };
1915
1915
  }
1916
1916
  }
1917
- class ce {
1917
+ class he {
1918
1918
  constructor(t) {
1919
1919
  this.tag = "SPAN", this.class = "cdx-text-color", this.defaultColor = "#2644FF", this.lastRange = null, this.colors = ["#182a4e", "#0055cc", "#1f6a83", "#206e4e", "#e56910", "#ae2e24", "#5e4db2", "#758195", "#1e7afd", "#2998bd", "#23a06b", "#fea363", "#c9372c", "#8270db"], this.columns = 7;
1920
1920
  const { api: e, config: i } = t;
@@ -1953,7 +1953,7 @@ class ce {
1953
1953
  return { span: { style: { color: !0 } } };
1954
1954
  }
1955
1955
  }
1956
- class pe extends ce {
1956
+ class ce extends he {
1957
1957
  static get sanitize() {
1958
1958
  }
1959
1959
  }
@@ -2042,27 +2042,27 @@ class $ {
2042
2042
  return { code: { class: $.CSS } };
2043
2043
  }
2044
2044
  }
2045
- function T(c, t, e = {}) {
2046
- const i = document.createElement(c);
2045
+ function T(h, t, e = {}) {
2046
+ const i = document.createElement(h);
2047
2047
  Array.isArray(t) ? i.classList.add(...t) : t && i.classList.add(t);
2048
2048
  for (const s in e) Object.prototype.hasOwnProperty.call(e, s) && i.setAttribute(s, e[s]);
2049
2049
  return i;
2050
2050
  }
2051
- function bt(c) {
2052
- const t = c.getBoundingClientRect();
2051
+ function bt(h) {
2052
+ const t = h.getBoundingClientRect();
2053
2053
  return { y1: Math.floor(t.top + window.pageYOffset), x1: Math.floor(t.left + window.pageXOffset), x2: Math.floor(t.right + window.pageXOffset), y2: Math.floor(t.bottom + window.pageYOffset) };
2054
2054
  }
2055
- function J(c, t) {
2056
- const e = bt(c), i = bt(t);
2055
+ function Q(h, t) {
2056
+ const e = bt(h), i = bt(t);
2057
2057
  return { fromTopBorder: i.y1 - e.y1, fromLeftBorder: i.x1 - e.x1, fromRightBorder: e.x2 - i.x2, fromBottomBorder: e.y2 - i.y2 };
2058
2058
  }
2059
- function yt(c, t) {
2059
+ function yt(h, t) {
2060
2060
  var e;
2061
- return (e = t == null ? void 0 : t.parentNode) == null ? void 0 : e.insertBefore(c, t);
2061
+ return (e = t == null ? void 0 : t.parentNode) == null ? void 0 : e.insertBefore(h, t);
2062
2062
  }
2063
- function St(c, t = !0) {
2063
+ function St(h, t = !0) {
2064
2064
  const e = document.createRange(), i = window.getSelection();
2065
- e.selectNodeContents(c), e.collapse(t), i == null || i.removeAllRanges(), i == null || i.addRange(e);
2065
+ e.selectNodeContents(h), e.collapse(t), i == null || i.removeAllRanges(), i == null || i.addRange(e);
2066
2066
  }
2067
2067
  class y {
2068
2068
  constructor({ items: t }) {
@@ -2154,8 +2154,8 @@ class O {
2154
2154
  (t = this.popover) == null || t.close(), this.wrapper.classList.remove(O.CSS.toolboxShowed);
2155
2155
  }
2156
2156
  }
2157
- const Lt = "tc-wrap", ue = "tc-wrap--readonly", xt = "tc-table", D = "tc-row", Tt = "tc-table--heading", Q = "tc-row--selected", N = "tc-cell", tt = "tc-cell--selected", et = "tc-add-row", Et = "tc-add-row--disabled", it = "tc-add-column", Mt = "tc-add-column--disabled";
2158
- class ge {
2157
+ const Lt = "tc-wrap", pe = "tc-wrap--readonly", xt = "tc-table", D = "tc-row", Tt = "tc-table--heading", Z = "tc-row--selected", N = "tc-cell", tt = "tc-cell--selected", et = "tc-add-row", Et = "tc-add-row--disabled", it = "tc-add-column", Mt = "tc-add-column--disabled";
2158
+ class ue {
2159
2159
  constructor(t, e, i, s) {
2160
2160
  this.minCellWidhth = 50, this.defaultCellWidth = 100, this.handleDocumentMousedown = (n) => {
2161
2161
  this.wrapper.contains(n.target) && n.target.classList.contains("cell-resizable") && (n.preventDefault(), this.isDragging = !0, this.table.classList.add("table-resizing"), document.addEventListener("mousemove", this.handleDocumentMousemove), document.addEventListener("mouseup", this.handleDocumentMouseup), this.draggingColumn = this.hoveredColumn, this.startWidth = this.colWidthArr[this.draggingColumn - 1], this.mouseStartX = n.clientX);
@@ -2277,7 +2277,7 @@ class ge {
2277
2277
  e && e.classList.remove(Et), this.addHeadingAttrToFirstRow();
2278
2278
  }
2279
2279
  createTableWrapper() {
2280
- this.wrapper = T("div", Lt), this.table = T("div", xt), this.readOnly && this.wrapper.classList.add(ue), this.wrapper.appendChild(this.toolboxRow.element), this.wrapper.appendChild(this.toolboxColumn.element), this.wrapper.appendChild(this.table);
2280
+ this.wrapper = T("div", Lt), this.table = T("div", xt), this.readOnly && this.wrapper.classList.add(pe), this.wrapper.appendChild(this.toolboxRow.element), this.wrapper.appendChild(this.toolboxColumn.element), this.wrapper.appendChild(this.table);
2281
2281
  }
2282
2282
  computeInitialSize() {
2283
2283
  const t = this.data && this.data.content, e = Array.isArray(t), i = !!e && t.length, s = e ? t.length : void 0, n = i ? t[0].length : void 0, r = Number.parseInt(this.config && this.config.rows), o = Number.parseInt(this.config && this.config.cols), a = !isNaN(r) && r > 0 ? r : void 0, d = !isNaN(o) && o > 0 ? o : void 0;
@@ -2357,7 +2357,7 @@ class ge {
2357
2357
  }
2358
2358
  updateToolboxesPosition(t = this.hoveredRow, e = this.hoveredColumn) {
2359
2359
  this.isColumnMenuShowing || e > 0 && e <= this.numberOfColumns && this.toolboxColumn.show(() => ({ left: `calc((100% - var(--cell-size)) / (${this.numberOfColumns} * 2) * (1 + (${e} - 1) * 2))` })), this.isRowMenuShowing || t > 0 && t <= this.numberOfRows && this.toolboxRow.show(() => {
2360
- const i = this.getRow(t), { fromTopBorder: s } = J(this.table, i), { height: n } = i.getBoundingClientRect();
2360
+ const i = this.getRow(t), { fromTopBorder: s } = Q(this.table, i), { height: n } = i.getBoundingClientRect();
2361
2361
  return { top: `${Math.ceil(s + n / 2)}px` };
2362
2362
  });
2363
2363
  }
@@ -2378,12 +2378,12 @@ class ge {
2378
2378
  }
2379
2379
  selectRow(t) {
2380
2380
  const e = this.getRow(t);
2381
- e && (this.selectedRow = t, e.classList.add(Q));
2381
+ e && (this.selectedRow = t, e.classList.add(Z));
2382
2382
  }
2383
2383
  unselectRow() {
2384
2384
  if (this.selectedRow <= 0) return;
2385
- const t = this.table.querySelector(`.${Q}`);
2386
- t && t.classList.remove(Q), this.selectedRow = 0;
2385
+ const t = this.table.querySelector(`.${Z}`);
2386
+ t && t.classList.remove(Z), this.selectedRow = 0;
2387
2387
  }
2388
2388
  selectColumn(t) {
2389
2389
  for (let e = 1; e <= this.numberOfRows; e++) {
@@ -2413,18 +2413,18 @@ class ge {
2413
2413
  const p = ({ fromTopBorder: g }) => o < g, u = ({ fromBottomBorder: g }) => o > n - g;
2414
2414
  e = this.binSearch(this.numberOfRows, (g) => this.getCell(g, 1), p, u);
2415
2415
  }
2416
- const a = e || this.hoveredRow, d = i || this.hoveredColumn, { deltaXCell: l, deltaYCell: h } = this.getMousePositionRelateToCell(a, d, r, o);
2417
- return { row: a, column: d, deltaXCell: l, deltaYCell: h };
2416
+ const a = e || this.hoveredRow, d = i || this.hoveredColumn, { deltaXCell: l, deltaYCell: c } = this.getMousePositionRelateToCell(a, d, r, o);
2417
+ return { row: a, column: d, deltaXCell: l, deltaYCell: c };
2418
2418
  }
2419
2419
  getMousePositionRelateToCell(t, e, i, s) {
2420
- const n = this.getCell(t, e), { fromTopBorder: r, fromLeftBorder: o } = J(this.table, n);
2420
+ const n = this.getCell(t, e), { fromTopBorder: r, fromLeftBorder: o } = Q(this.table, n);
2421
2421
  return { deltaXCell: i - o, deltaYCell: s - r };
2422
2422
  }
2423
2423
  binSearch(t, e, i, s) {
2424
2424
  let n, r = 0, o = t + 1, a = 0;
2425
2425
  for (; r < o - 1 && a < 10; ) {
2426
2426
  n = Math.ceil((r + o) / 2);
2427
- const d = e(n), l = J(this.table, d);
2427
+ const d = e(n), l = Q(this.table, d);
2428
2428
  if (i(l)) o = n;
2429
2429
  else {
2430
2430
  if (!s(l)) break;
@@ -2446,7 +2446,7 @@ class ge {
2446
2446
  document.removeEventListener("click", this.documentClicked);
2447
2447
  }
2448
2448
  }
2449
- class me {
2449
+ class ge {
2450
2450
  static get isReadOnlySupported() {
2451
2451
  return !0;
2452
2452
  }
@@ -2460,7 +2460,7 @@ class me {
2460
2460
  return { icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="M10 5V18.5"/><path stroke="currentColor" stroke-width="2" d="M5 10H19"/><rect width="14" height="14" x="5" y="5" stroke="currentColor" stroke-width="2" rx="4"/></svg>', title: "Table" };
2461
2461
  }
2462
2462
  render() {
2463
- return this.table = new ge(this.readOnly, this.api, this.data, this.config), this.container = T("div", this.api.styles.block), this.container.appendChild(this.table.getWrapper()), this.table.setHeadingsSetting(this.data.withHeadings), this.container;
2463
+ return this.table = new ue(this.readOnly, this.api, this.data, this.config), this.container = T("div", this.api.styles.block), this.container.appendChild(this.table.getWrapper()), this.table.setHeadingsSetting(this.data.withHeadings), this.container;
2464
2464
  }
2465
2465
  renderSettings() {
2466
2466
  return [{ label: this.api.i18n.t("With headings"), icon: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path stroke="currentColor" stroke-width="2" d="M5 10H19"/><rect width="14" height="14" x="5" y="5" stroke="currentColor" stroke-width="2" rx="4"/></svg>', isActive: this.data.withHeadings, closeOnActivate: !0, toggle: !0, hint: { title: this.api.i18n.t("With headings") }, onActivate: () => {
@@ -2490,14 +2490,14 @@ class me {
2490
2490
  }
2491
2491
  }
2492
2492
  }
2493
- function P(c, t = null, e = {}) {
2494
- const i = document.createElement(c);
2493
+ function P(h, t = null, e = {}) {
2494
+ const i = document.createElement(h);
2495
2495
  Array.isArray(t) ? i.classList.add(...t) : t !== null && i.classList.add(t);
2496
2496
  for (const s in e) e.hasOwnProperty(s) && (i[s] = e[s]);
2497
2497
  return i;
2498
2498
  }
2499
- var q = ((c) => (c.Empty = "empty", c.Uploading = "uploading", c.Filled = "filled", c))(q || {});
2500
- class fe {
2499
+ var j = ((h) => (h.Empty = "empty", h.Uploading = "uploading", h.Filled = "filled", h))(j || {});
2500
+ class me {
2501
2501
  constructor({ api: t, config: e, onSelectFile: i, readOnly: s }) {
2502
2502
  this.api = t, this.config = e, this.onSelectFile = i, this.readOnly = s, this.nodes = { wrapper: P("div", [this.CSS.baseClass, this.CSS.wrapper]), imageContainer: P("div", [this.CSS.imageContainer]), fileButton: this.createFileButton(), imageEl: void 0, imagePreloader: P("div", this.CSS.imagePreloader), caption: P("div", [this.CSS.input, this.CSS.caption], { contentEditable: !this.readOnly }) }, this.nodes.caption.dataset.placeholder = this.config.captionPlaceholder, this.nodes.imageContainer.appendChild(this.nodes.imagePreloader), this.nodes.wrapper.appendChild(this.nodes.imageContainer), this.nodes.wrapper.appendChild(this.nodes.caption), this.nodes.wrapper.appendChild(this.nodes.fileButton);
2503
2503
  }
@@ -2524,8 +2524,8 @@ class fe {
2524
2524
  this.nodes.caption !== void 0 && (this.nodes.caption.innerHTML = t);
2525
2525
  }
2526
2526
  toggleStatus(t) {
2527
- for (const e in q) if (Object.prototype.hasOwnProperty.call(q, e)) {
2528
- const i = q[e];
2527
+ for (const e in j) if (Object.prototype.hasOwnProperty.call(j, e)) {
2528
+ const i = j[e];
2529
2529
  this.nodes.wrapper.classList.toggle(`${this.CSS.wrapper}--${i}`, i === t);
2530
2530
  }
2531
2531
  }
@@ -2540,7 +2540,7 @@ class fe {
2540
2540
  }), t;
2541
2541
  }
2542
2542
  }
2543
- class Ce {
2543
+ class fe {
2544
2544
  constructor({ config: t, onUpload: e, onError: i }) {
2545
2545
  this.config = t, this.onUpload = e, this.onError = i;
2546
2546
  }
@@ -2577,13 +2577,13 @@ class Ce {
2577
2577
  const m = this.config.userStore.token, f = this.config.userStore.tokenName, v = this.config.userStore.tokenPrefix;
2578
2578
  m && f && (l[f] = v + " " + m);
2579
2579
  }
2580
- const h = Y.create({ timeout: 18e5, headers: l });
2580
+ const c = Y.create({ timeout: 18e5, headers: l });
2581
2581
  l["Content-Type"] = "application/json";
2582
- const p = await h.post(this.config.endpoints.byFile, { fileName: r.name, contentType: r.type });
2582
+ const p = await c.post(this.config.endpoints.byFile, { fileName: r.name, contentType: r.type });
2583
2583
  if (p.status !== 200) return void this.onError(p.statusText);
2584
2584
  const u = p.data;
2585
2585
  if (!u.success) return void this.onError(u.message);
2586
- i = u.data.cdn, s = u.data.objectKey, l["Content-Type"] = r.type, h.put(u.data.presignedUrl, r).then((m) => {
2586
+ i = u.data.cdn, s = u.data.objectKey, l["Content-Type"] = r.type, c.put(u.data.presignedUrl, r).then((m) => {
2587
2587
  m.status === 200 && (m = { success: 1, file: { url: i + s } }), this.onUpload(m);
2588
2588
  }).catch((m) => {
2589
2589
  this.onError(m);
@@ -2618,9 +2618,9 @@ class Ce {
2618
2618
  if (a.status !== 200) return void this.onError(a.statusText);
2619
2619
  const d = a.data;
2620
2620
  if (!d.success) return void this.onError(d.message);
2621
- let l = d.data.cdn, h = d.data.objectKey;
2621
+ let l = d.data.cdn, c = d.data.objectKey;
2622
2622
  r["Content-Type"] = t.type, o.put(d.data.presignedUrl, t).then((p) => {
2623
- p.status === 200 && (p = { success: 1, file: { url: l + h } }), this.onUpload(p);
2623
+ p.status === 200 && (p = { success: 1, file: { url: l + c } }), this.onUpload(p);
2624
2624
  }).catch((p) => {
2625
2625
  this.onError(p);
2626
2626
  });
@@ -2629,7 +2629,7 @@ class Ce {
2629
2629
  class K {
2630
2630
  constructor({ data: t, config: e, api: i, readOnly: s, block: n }) {
2631
2631
  var r;
2632
- this.isCaptionEnabled = null, this.api = i, this.block = n, this.userStore = e == null ? void 0 : e.userStore, this.config = { endpoints: e.endpoints, additionalRequestData: e.additionalRequestData, additionalRequestHeaders: e.additionalRequestHeaders, field: e.field, types: e.types, captionPlaceholder: this.api.i18n.t((r = e.captionPlaceholder) != null ? r : "Caption"), buttonContent: e.buttonContent, uploader: e.uploader, actions: e.actions, features: e.features || {}, userStore: e.userStore }, this.uploader = new Ce({ config: this.config, onUpload: (o) => this.onUpload(o), onError: (o) => this.uploadingFailed(o) }), this.ui = new fe({ api: i, config: this.config, onSelectFile: () => {
2632
+ this.isCaptionEnabled = null, this.api = i, this.block = n, this.userStore = e == null ? void 0 : e.userStore, this.config = { endpoints: e.endpoints, additionalRequestData: e.additionalRequestData, additionalRequestHeaders: e.additionalRequestHeaders, field: e.field, types: e.types, captionPlaceholder: this.api.i18n.t((r = e.captionPlaceholder) != null ? r : "Caption"), buttonContent: e.buttonContent, uploader: e.uploader, actions: e.actions, features: e.features || {}, userStore: e.userStore }, this.uploader = new fe({ config: this.config, onUpload: (o) => this.onUpload(o), onError: (o) => this.uploadingFailed(o) }), this.ui = new me({ api: i, config: this.config, onSelectFile: () => {
2633
2633
  this.uploader.uploadSelectedFile({ onPreview: (o) => {
2634
2634
  this.ui.showPreloader(o);
2635
2635
  }, noSelectedFile: () => {
@@ -2745,10 +2745,10 @@ class K {
2745
2745
  this.ui.showPreloader(t), this.uploader.uploadByUrl(t);
2746
2746
  }
2747
2747
  }
2748
- class ve {
2748
+ class Ce {
2749
2749
  constructor({ api: t, data: e, config: i, block: s }) {
2750
- var n, r, o, a, d, l, h, p, u, g, m, f, v, L, w, _, B;
2751
- this.settings = [], this.api = t, this.block = s, this.data = { floatLeft: (n = e == null ? void 0 : e.floatLeft) != null ? n : !1, floatRight: (r = e == null ? void 0 : e.floatRight) != null ? r : !1, center: (o = e == null ? void 0 : e.center) != null ? o : !1, sizeSmall: (a = e == null ? void 0 : e.sizeSmall) != null ? a : !1, sizeMiddle: (d = e == null ? void 0 : e.sizeMiddle) != null ? d : !1, sizeLarge: (l = e == null ? void 0 : e.sizeLarge) != null ? l : !1, resize: (p = (h = e == null ? void 0 : e.resize) != null ? h : i == null ? void 0 : i.resize) != null ? p : !1, resizeSize: (u = e == null ? void 0 : e.resizeSize) != null ? u : 0, crop: (m = (g = e == null ? void 0 : e.crop) != null ? g : i == null ? void 0 : i.crop) != null ? m : !1, cropperFrameHeight: (f = e == null ? void 0 : e.cropperFrameHeight) != null ? f : 0, cropperFrameWidth: (v = e == null ? void 0 : e.cropperFrameWidth) != null ? v : 0, cropperFrameLeft: (L = e == null ? void 0 : e.cropperFrameLeft) != null ? L : 0, cropperFrameTop: (w = e == null ? void 0 : e.cropperFrameTop) != null ? w : 0, cropperImageHeight: (_ = e == null ? void 0 : e.cropperImageHeight) != null ? _ : 0, cropperImageWidth: (B = e == null ? void 0 : e.cropperImageWidth) != null ? B : 0, cropperInterface: void 0 }, this.wrapper = void 0, this.buttons = [], this.styles = { settingsButton: "cdx-settings-button", settingsButtonActive: "cdx-settings-button--active", settingsButtonModifier: "", settingsButtonModifierActive: "" };
2750
+ var n, r, o, a, d, l, c, p, u, g, m, f, v, L, w, _, B;
2751
+ this.settings = [], this.api = t, this.block = s, this.data = { floatLeft: (n = e == null ? void 0 : e.floatLeft) != null ? n : !1, floatRight: (r = e == null ? void 0 : e.floatRight) != null ? r : !1, center: (o = e == null ? void 0 : e.center) != null ? o : !1, sizeSmall: (a = e == null ? void 0 : e.sizeSmall) != null ? a : !1, sizeMiddle: (d = e == null ? void 0 : e.sizeMiddle) != null ? d : !1, sizeLarge: (l = e == null ? void 0 : e.sizeLarge) != null ? l : !1, resize: (p = (c = e == null ? void 0 : e.resize) != null ? c : i == null ? void 0 : i.resize) != null ? p : !1, resizeSize: (u = e == null ? void 0 : e.resizeSize) != null ? u : 0, crop: (m = (g = e == null ? void 0 : e.crop) != null ? g : i == null ? void 0 : i.crop) != null ? m : !1, cropperFrameHeight: (f = e == null ? void 0 : e.cropperFrameHeight) != null ? f : 0, cropperFrameWidth: (v = e == null ? void 0 : e.cropperFrameWidth) != null ? v : 0, cropperFrameLeft: (L = e == null ? void 0 : e.cropperFrameLeft) != null ? L : 0, cropperFrameTop: (w = e == null ? void 0 : e.cropperFrameTop) != null ? w : 0, cropperImageHeight: (_ = e == null ? void 0 : e.cropperImageHeight) != null ? _ : 0, cropperImageWidth: (B = e == null ? void 0 : e.cropperImageWidth) != null ? B : 0, cropperInterface: void 0 }, this.wrapper = void 0, this.buttons = [], this.styles = { settingsButton: "cdx-settings-button", settingsButtonActive: "cdx-settings-button--active", settingsButtonModifier: "", settingsButtonModifierActive: "" };
2752
2752
  }
2753
2753
  static get isTune() {
2754
2754
  return !0;
@@ -2882,8 +2882,8 @@ class ve {
2882
2882
  const s = document.getElementsByClassName("codex-editor")[0].clientWidth;
2883
2883
  let n = 0, r = 0;
2884
2884
  const o = (d) => {
2885
- const l = d.clientX - n, h = r + l;
2886
- h > 50 && h < s && (t.style.width = h + "px");
2885
+ const l = d.clientX - n, c = r + l;
2886
+ c > 50 && c < s && (t.style.width = c + "px");
2887
2887
  }, a = () => {
2888
2888
  const d = parseInt(window.getComputedStyle(t).width, 10);
2889
2889
  d > 0 && (this.data.resizeSize = d), document.removeEventListener("mousemove", o), document.removeEventListener("mouseup", a), this.block.dispatchChange();
@@ -2940,48 +2940,47 @@ class ve {
2940
2940
  this.setTune(t);
2941
2941
  }
2942
2942
  }
2943
- const ke = { class: "ebl-editor", id: "holder" }, we = Nt({ name: "EblEditor", inheritAttrs: !1, __name: "Editor", props: { readOnly: { type: Boolean, default: !1 }, placeholder: { default: "Enter something" }, data: { default: () => ({ blocks: [] }) }, locale: { default: {} }, userStore: {} }, emits: ["onReady", "onChange"], setup(c, { expose: t, emit: e }) {
2943
+ const ve = { class: "ebl-editor", id: "holder" }, ke = Nt({ name: "EblEditor", inheritAttrs: !1, __name: "Editor", props: { readOnly: { type: Boolean, default: !1 }, placeholder: { default: "Enter something" }, data: { default: () => ({ blocks: [] }) }, locale: { default: {} }, userStore: {} }, emits: ["onReady", "onChange"], setup(h, { expose: t, emit: e }) {
2944
2944
  const i = zt("EblEditorSettings");
2945
2945
  let s = e;
2946
- const n = c;
2946
+ const n = h;
2947
2947
  let r = null;
2948
2948
  const o = ["indent", "blockAlignment"];
2949
- function a() {
2950
- return new Promise((d, l) => {
2951
- if (r === null) return d(!1);
2952
- r.save().then((h) => h.blocks.length > 0 ? d(!0) : d(!1));
2953
- });
2954
- }
2955
2949
  return Ft(() => {
2956
- const d = Pt(n.data);
2957
- r = new qt({ holder: "holder", autofocus: !0, defaultBlock: "paragraph", placeholder: n.placeholder, tunes: o, tools: { inlineCode: $, underline: nt, Color: { class: pe }, marker: { class: W }, indent: { class: st }, alert: { class: H, inlineToolbar: !0 }, List: { class: V, inlineToolbar: !0, config: { defaultStyle: "unordered" } }, h1: { class: te, inlineToolbar: !0 }, h2: { class: ee, inlineToolbar: !0 }, h3: { class: ie, inlineToolbar: !0 }, h4: { class: se, inlineToolbar: !0 }, h5: { class: ne, inlineToolbar: !0 }, h6: { class: re, inlineToolbar: !0 }, paragraph: { class: at, inlineToolbar: !0 }, blockAlignment: { class: ot, inlineToolbar: !0 }, code: { class: j, config: { lang: "javascript", theme: "catppuccin-latte" } }, quote: { class: oe, inlineToolbar: !0 }, delimiter: ae, table: { class: me, inlineToolbar: !0, config: { rows: 2, cols: 3 } }, image: { class: K, inlineToolbar: !0, tunes: o.concat(["imageResize"]), config: { types: ".png,.jpeg,.jpg,.gif,.webp", userStore: n.userStore, endpoints: { byFile: i == null ? void 0 : i.fileUploadEndpoint, byUrl: i == null ? void 0 : i.urlUploadEndpoint }, features: { caption: !1, stretch: !1, border: !1, background: !1 } } }, imageResize: { class: ve, config: { resize: !0, crop: !1 } } }, data: d, readOnly: n.readOnly, i18n: n.locale, onChange: (l, h) => {
2958
- s("onChange", l, h);
2950
+ const a = Pt(n.data);
2951
+ r = new Ut({ holder: "holder", autofocus: !0, defaultBlock: "paragraph", placeholder: n.placeholder, tunes: o, tools: { inlineCode: $, underline: nt, Color: { class: ce }, marker: { class: W }, indent: { class: st }, alert: { class: H, inlineToolbar: !0 }, List: { class: V, inlineToolbar: !0, config: { defaultStyle: "unordered" } }, h1: { class: Zt, inlineToolbar: !0 }, h2: { class: te, inlineToolbar: !0 }, h3: { class: ee, inlineToolbar: !0 }, h4: { class: ie, inlineToolbar: !0 }, h5: { class: se, inlineToolbar: !0 }, h6: { class: ne, inlineToolbar: !0 }, paragraph: { class: at, inlineToolbar: !0 }, blockAlignment: { class: ot, inlineToolbar: !0 }, code: { class: q, config: { lang: "javascript", theme: "catppuccin-latte" } }, quote: { class: re, inlineToolbar: !0 }, delimiter: oe, table: { class: ge, inlineToolbar: !0, config: { rows: 2, cols: 3 } }, image: { class: K, inlineToolbar: !0, tunes: o.concat(["imageResize"]), config: { types: ".png,.jpeg,.jpg,.gif,.webp", userStore: n.userStore, endpoints: { byFile: i == null ? void 0 : i.fileUploadEndpoint, byUrl: i == null ? void 0 : i.urlUploadEndpoint }, features: { caption: !1, stretch: !1, border: !1, background: !1 } } }, imageResize: { class: Ce, config: { resize: !0, crop: !1 } } }, data: a, readOnly: n.readOnly, i18n: n.locale, onChange: (d, l) => {
2952
+ s("onChange", d, l);
2959
2953
  }, onReady: () => {
2960
- new Qt("holder", n.readOnly, r, "1px solid #999"), new he({ editor: r, config: { debounceTimer: 200, maxLength: 100 }, onUpdate: () => {
2961
- } }).initialize(d), s("onReady");
2954
+ new Qt("holder", n.readOnly, r, "1px solid #999"), new de({ editor: r, config: { debounceTimer: 200, maxLength: 100 }, onUpdate: () => {
2955
+ } }).initialize(a), s("onReady");
2962
2956
  } });
2963
2957
  }), Wt(() => {
2964
2958
  r !== null && (r.destroy(), r = null);
2965
- }), t({ validate: a, getData: function() {
2966
- return new Promise((d, l) => {
2967
- if (r === null) return d(null);
2968
- r.save().then((h) => d(h));
2959
+ }), t({ validate: function() {
2960
+ return new Promise((a, d) => {
2961
+ if (r === null) return a(!1);
2962
+ r.save().then((l) => l.blocks.length > 0 ? a(!0) : a(!1));
2963
+ });
2964
+ }, getData: function() {
2965
+ return new Promise((a, d) => {
2966
+ if (r === null) return a(null);
2967
+ r.save().then((l) => a(l));
2969
2968
  });
2970
- } }), (d, l) => (jt(), $t("div", ke, [Ut("button", { onClick: a }, "保存")]));
2971
- } }), _t = [we];
2969
+ } }), (a, d) => (qt(), $t("div", ve));
2970
+ } }), _t = [ke];
2972
2971
  let Rt = [];
2973
- for (let c in _t) {
2974
- const t = Jt(_t[c]);
2972
+ for (let h in _t) {
2973
+ const t = Xt(_t[h]);
2975
2974
  Rt.push(t);
2976
2975
  }
2977
- const Me = { messages: { ui: { blockTunes: { toggler: { "Click to tune": "可拖拽和点击" } }, toolbar: { toolbox: { Add: "添加", Filter: "过滤", "Nothing found": "无内容" }, popover: { Filter: "过滤", "Nothing found": "无内容" } }, popover: { Filter: "筛选", "Nothing found": "未找到任何内容", "Convert to": "转化为" } }, toolNames: { Text: "段落", H1: "一级标题", H2: "二级标题", H3: "三级标题", H4: "四级标题", H5: "五级标题", H6: "六级标题", "Ordered List": "有序列表", "Unordered List": "无序列表", Checklist: "任务列表", Quote: "引用", Code: "代码块", Delimiter: "分割线", Link: "链接", Bold: "加粗", Italic: "倾斜", Alert: "高亮块", indent: "缩进", Marker: "突出显示", Color: "文本颜色", Underline: "下划线", InlineCode: "行内代码", Table: "表格", Image: "图片" }, tools: { image: { "Couldn’t upload image. Please try another.": "上传图片失败,请稍后重试。" }, table: { "Add row above": "在下面插入行", "Add row below": "在下面插入行", "Delete row": "删除行", "Add column to left": "在左边插入列", "Add column to right": "在右边插入列", "Delete column": "删除列", "With headings": "使用标题行", "Without headings": "不使用标题行" }, marker: { Marker: "突出显示" }, link: { "Add a link": "添加链接", Save: "保存", "Pasted link is not valid.": "链接地址无效" }, List: { Unordered: "无序", Ordered: "有序", Checklist: "任务列表", "Counter type": "计数器类型", Numeric: "阿拉伯数字", "Lower Roman": "小写罗马数字", "Upper Roman": "大写罗马数字", "Lower Alpha": "小写字母", "Upper Alpha": "大写字母", "Start with": "从" }, paragraph: { "Enter something": "请输入内容" }, stub: { "The block can not be displayed correctly.": "该模块不能放置在这里" }, code: { "Enter your code": "输入代码", Copied: "已复制" }, convertTo: { "Convert to": "转化为" }, alert: { "alert-primary": "主要样式", "alert-secondary": "次要样式", "alert-info": "信息", "alert-success": "成功", "alert-warning": "警告", "alert-danger": "危险", "alert-light": "浅色", "alert-dark": "深色", "align-left": "左对齐", "align-center": "居中", "align-right": "右对齐" } }, blockTunes: { delete: { Delete: "删除", "Click to delete": "点击删除" }, moveUp: { "Move up": "向上移" }, moveDown: { "Move down": "向下移" }, filter: { Filter: "过滤" }, blockAlignment: { "left align": "左对齐", "center align": "居中对齐", "right align": "右对齐", "justify align": "两端对齐" }, indent: { "Indent right": "向右缩进", "Indent left": "向左缩进" } } } }, Dt = /* @__PURE__ */ ((c = []) => ({ version: "1.1.2", install: (t, e) => {
2978
- t[dt] || (t[dt] = !0, c.forEach((i) => t.use(i)), e && t.provide("EblEditorSettings", e));
2979
- } }))(Rt), _e = Dt.install, Ie = Dt.version;
2976
+ const Ee = { messages: { ui: { blockTunes: { toggler: { "Click to tune": "可拖拽和点击" } }, toolbar: { toolbox: { Add: "添加", Filter: "过滤", "Nothing found": "无内容" }, popover: { Filter: "过滤", "Nothing found": "无内容" } }, popover: { Filter: "筛选", "Nothing found": "未找到任何内容", "Convert to": "转化为" } }, toolNames: { Text: "段落", H1: "一级标题", H2: "二级标题", H3: "三级标题", H4: "四级标题", H5: "五级标题", H6: "六级标题", "Ordered List": "有序列表", "Unordered List": "无序列表", Checklist: "任务列表", Quote: "引用", Code: "代码块", Delimiter: "分割线", Link: "链接", Bold: "加粗", Italic: "倾斜", Alert: "高亮块", indent: "缩进", Marker: "突出显示", Color: "文本颜色", Underline: "下划线", InlineCode: "行内代码", Table: "表格", Image: "图片" }, tools: { image: { "Couldn’t upload image. Please try another.": "上传图片失败,请稍后重试。" }, table: { "Add row above": "在下面插入行", "Add row below": "在下面插入行", "Delete row": "删除行", "Add column to left": "在左边插入列", "Add column to right": "在右边插入列", "Delete column": "删除列", "With headings": "使用标题行", "Without headings": "不使用标题行" }, marker: { Marker: "突出显示" }, link: { "Add a link": "添加链接", Save: "保存", "Pasted link is not valid.": "链接地址无效" }, List: { Unordered: "无序", Ordered: "有序", Checklist: "任务列表", "Counter type": "计数器类型", Numeric: "阿拉伯数字", "Lower Roman": "小写罗马数字", "Upper Roman": "大写罗马数字", "Lower Alpha": "小写字母", "Upper Alpha": "大写字母", "Start with": "从" }, paragraph: { "Enter something": "请输入内容" }, stub: { "The block can not be displayed correctly.": "该模块不能放置在这里" }, code: { "Enter your code": "输入代码", Copied: "已复制" }, convertTo: { "Convert to": "转化为" }, alert: { "alert-primary": "主要样式", "alert-secondary": "次要样式", "alert-info": "信息", "alert-success": "成功", "alert-warning": "警告", "alert-danger": "危险", "alert-light": "浅色", "alert-dark": "深色", "align-left": "左对齐", "align-center": "居中", "align-right": "右对齐" } }, blockTunes: { delete: { Delete: "删除", "Click to delete": "点击删除" }, moveUp: { "Move up": "向上移" }, moveDown: { "Move down": "向下移" }, filter: { Filter: "过滤" }, blockAlignment: { "left align": "左对齐", "center align": "居中对齐", "right align": "右对齐", "justify align": "两端对齐" }, indent: { "Indent right": "向右缩进", "Indent left": "向左缩进" } } } }, Dt = /* @__PURE__ */ ((h = []) => ({ version: "1.1.4", install: (t, e) => {
2977
+ t[dt] || (t[dt] = !0, h.forEach((i) => t.use(i)), e && t.provide("EblEditorSettings", e));
2978
+ } }))(Rt), Me = Dt.install, _e = Dt.version;
2980
2979
  export {
2981
- we as EblEditor,
2980
+ ke as EblEditor,
2982
2981
  Dt as default,
2983
- _e as install,
2984
- Ie as version,
2985
- Me as zhCn
2982
+ Me as install,
2983
+ _e as version,
2984
+ Ee as zhCn
2986
2985
  };
2987
2986
  //# sourceMappingURL=index.mjs.map