@ebl-vue/editor-full 1.1.1 → 1.1.2
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 +187 -181
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/Editor/Editor.vue +36 -19
- package/src/index.ts +8 -2
- package/types/index.d.ts +5 -1
- package/types/plugins/index.d.ts +0 -0
package/dist/index.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
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
|
|
3
|
-
import
|
|
4
|
-
import { bundledLanguagesInfo as
|
|
5
|
-
import { make as S, isEmpty as
|
|
6
|
-
import { focus as
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
const
|
|
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";
|
|
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";
|
|
7
|
+
import lt from "vanilla-caret-js";
|
|
8
|
+
import Y from "axios";
|
|
9
|
+
const dt = Symbol("INSTALLED_KEY"), Jt = (c, t) => (c.install = (e) => {
|
|
10
10
|
for (const i of [c, ...Object.values({})]) e.component(i.name, i);
|
|
11
11
|
}, c);
|
|
12
|
-
class
|
|
12
|
+
class Qt {
|
|
13
13
|
constructor(t, e, i, s) {
|
|
14
14
|
const { blocks: n, toolbar: r } = i;
|
|
15
15
|
this.toolbar = r, this.borderStyle = s || "1px dashed #aaa", this.api = n, this.holder = document.getElementById(t), this.readOnly = e, this.startBlock = null, this.endBlock = null, this.setDragListener(), this.setDropListener();
|
|
@@ -79,8 +79,8 @@ class se {
|
|
|
79
79
|
this.isTheOnlyBlock() || this.api.move(this.endBlock, this.startBlock);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
const
|
|
83
|
-
class
|
|
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 {
|
|
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
|
}
|
|
@@ -148,7 +148,7 @@ class ne {
|
|
|
148
148
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
149
149
|
}
|
|
150
150
|
get defaultLevel() {
|
|
151
|
-
return { number: 1, tag: "H1", svg:
|
|
151
|
+
return { number: 1, tag: "H1", svg: ht };
|
|
152
152
|
}
|
|
153
153
|
onPaste(t) {
|
|
154
154
|
const e = t.detail;
|
|
@@ -161,10 +161,10 @@ class ne {
|
|
|
161
161
|
return { tags: ["H1"] };
|
|
162
162
|
}
|
|
163
163
|
static get toolbox() {
|
|
164
|
-
return { icon:
|
|
164
|
+
return { icon: ht, title: "H1" };
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
class
|
|
167
|
+
class ee {
|
|
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
|
}
|
|
@@ -232,7 +232,7 @@ class re {
|
|
|
232
232
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
233
233
|
}
|
|
234
234
|
get defaultLevel() {
|
|
235
|
-
return { number: 2, tag: "H2", svg:
|
|
235
|
+
return { number: 2, tag: "H2", svg: ct };
|
|
236
236
|
}
|
|
237
237
|
onPaste(t) {
|
|
238
238
|
const e = t.detail;
|
|
@@ -245,10 +245,10 @@ class re {
|
|
|
245
245
|
return { tags: ["H2"] };
|
|
246
246
|
}
|
|
247
247
|
static get toolbox() {
|
|
248
|
-
return { icon:
|
|
248
|
+
return { icon: ct, title: "H2" };
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
class
|
|
251
|
+
class ie {
|
|
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
|
}
|
|
@@ -316,7 +316,7 @@ class oe {
|
|
|
316
316
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
317
317
|
}
|
|
318
318
|
get defaultLevel() {
|
|
319
|
-
return { number: 3, tag: "H3", svg:
|
|
319
|
+
return { number: 3, tag: "H3", svg: pt };
|
|
320
320
|
}
|
|
321
321
|
onPaste(t) {
|
|
322
322
|
const e = t.detail;
|
|
@@ -329,10 +329,10 @@ class oe {
|
|
|
329
329
|
return { tags: ["H3"] };
|
|
330
330
|
}
|
|
331
331
|
static get toolbox() {
|
|
332
|
-
return { icon:
|
|
332
|
+
return { icon: pt, title: "H3" };
|
|
333
333
|
}
|
|
334
334
|
}
|
|
335
|
-
class
|
|
335
|
+
class se {
|
|
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
|
}
|
|
@@ -400,7 +400,7 @@ class ae {
|
|
|
400
400
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
401
401
|
}
|
|
402
402
|
get defaultLevel() {
|
|
403
|
-
return { number: 4, tag: "H4", svg:
|
|
403
|
+
return { number: 4, tag: "H4", svg: ut };
|
|
404
404
|
}
|
|
405
405
|
onPaste(t) {
|
|
406
406
|
const e = t.detail;
|
|
@@ -413,10 +413,10 @@ class ae {
|
|
|
413
413
|
return { tags: ["H4"] };
|
|
414
414
|
}
|
|
415
415
|
static get toolbox() {
|
|
416
|
-
return { icon:
|
|
416
|
+
return { icon: ut, title: "H4" };
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
|
-
class
|
|
419
|
+
class ne {
|
|
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
|
}
|
|
@@ -484,7 +484,7 @@ class le {
|
|
|
484
484
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
485
485
|
}
|
|
486
486
|
get defaultLevel() {
|
|
487
|
-
return { number: 5, tag: "H5", svg:
|
|
487
|
+
return { number: 5, tag: "H5", svg: gt };
|
|
488
488
|
}
|
|
489
489
|
onPaste(t) {
|
|
490
490
|
const e = t.detail;
|
|
@@ -497,10 +497,10 @@ class le {
|
|
|
497
497
|
return { tags: ["H5"] };
|
|
498
498
|
}
|
|
499
499
|
static get toolbox() {
|
|
500
|
-
return { icon:
|
|
500
|
+
return { icon: gt, title: "H5" };
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
|
-
class
|
|
503
|
+
class re {
|
|
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
|
}
|
|
@@ -568,7 +568,7 @@ class de {
|
|
|
568
568
|
t.dataset.placeholder = this.api.i18n.t(this._settings.placeholder || "");
|
|
569
569
|
}
|
|
570
570
|
get defaultLevel() {
|
|
571
|
-
return { number: 6, tag: "H6", svg:
|
|
571
|
+
return { number: 6, tag: "H6", svg: mt };
|
|
572
572
|
}
|
|
573
573
|
onPaste(t) {
|
|
574
574
|
const e = t.detail;
|
|
@@ -581,10 +581,10 @@ class de {
|
|
|
581
581
|
return { tags: ["H6"] };
|
|
582
582
|
}
|
|
583
583
|
static get toolbox() {
|
|
584
|
-
return { icon:
|
|
584
|
+
return { icon: mt, title: "H6" };
|
|
585
585
|
}
|
|
586
586
|
}
|
|
587
|
-
class
|
|
587
|
+
class ot {
|
|
588
588
|
static get DEFAULT_ALIGNMENT() {
|
|
589
589
|
return "left";
|
|
590
590
|
}
|
|
@@ -593,10 +593,10 @@ class at {
|
|
|
593
593
|
}
|
|
594
594
|
getAlignment() {
|
|
595
595
|
var t, e;
|
|
596
|
-
return (t = this.settings) != null && t.blocks && this.settings.blocks.hasOwnProperty(this.block.name) ? this.settings.blocks[this.block.name] : (e = this.settings) != null && e.default ? this.settings.default :
|
|
596
|
+
return (t = this.settings) != null && t.blocks && this.settings.blocks.hasOwnProperty(this.block.name) ? this.settings.blocks[this.block.name] : (e = this.settings) != null && e.default ? this.settings.default : ot.DEFAULT_ALIGNMENT;
|
|
597
597
|
}
|
|
598
598
|
constructor({ api: t, data: e, config: i, block: s }) {
|
|
599
|
-
this.api = t, this.block = s, this.settings = i, this.data = e || { alignment: this.getAlignment() }, this.alignmentSettings = [{ name: "left", icon:
|
|
599
|
+
this.api = t, this.block = s, this.settings = i, this.data = e || { alignment: this.getAlignment() }, this.alignmentSettings = [{ name: "left", icon: Ht }, { name: "center", icon: It }, { name: "right", icon: Bt }], this._CSS = { alignment: { left: "ce-tune-alignment--left", center: "ce-tune-alignment--center", right: "ce-tune-alignment--right" } };
|
|
600
600
|
}
|
|
601
601
|
wrap(t) {
|
|
602
602
|
return this.wrapper = document.createElement("div"), this.wrapper.classList.toggle(this._CSS.alignment[this.data.alignment]), this.wrapper.append(t), this.wrapper;
|
|
@@ -621,13 +621,13 @@ class at {
|
|
|
621
621
|
return this.data;
|
|
622
622
|
}
|
|
623
623
|
}
|
|
624
|
-
class
|
|
624
|
+
class at {
|
|
625
625
|
static get DEFAULT_PLACEHOLDER() {
|
|
626
626
|
return "";
|
|
627
627
|
}
|
|
628
628
|
constructor({ data: t, config: e, api: i, readOnly: s }) {
|
|
629
629
|
var n;
|
|
630
|
-
this.api = i, this.readOnly = s, this._CSS = { block: this.api.styles.block, wrapper: "ce-paragraph" }, this.readOnly || (this.onKeyUp = this.onKeyUp.bind(this)), this._placeholder = e.placeholder ? e.placeholder :
|
|
630
|
+
this.api = i, this.readOnly = s, this._CSS = { block: this.api.styles.block, wrapper: "ce-paragraph" }, this.readOnly || (this.onKeyUp = this.onKeyUp.bind(this)), this._placeholder = e.placeholder ? e.placeholder : at.DEFAULT_PLACEHOLDER, this._data = t != null ? t : {}, this._element = null, this._preserveBlank = (n = e.preserveBlank) != null ? n : !1;
|
|
631
631
|
}
|
|
632
632
|
onKeyUp(t) {
|
|
633
633
|
if (t.code !== "Backspace" && t.code !== "Delete" || !this._element) return;
|
|
@@ -677,7 +677,7 @@ class lt {
|
|
|
677
677
|
return { tags: ["P"] };
|
|
678
678
|
}
|
|
679
679
|
static get toolbox() {
|
|
680
|
-
return { icon:
|
|
680
|
+
return { icon: Ot, title: "Text" };
|
|
681
681
|
}
|
|
682
682
|
}
|
|
683
683
|
class j {
|
|
@@ -747,7 +747,7 @@ 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"),
|
|
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) => {
|
|
751
751
|
const p = document.createElement("option");
|
|
752
752
|
p.value = h.id, p.text = h.name, o.appendChild(p);
|
|
753
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 }) => {
|
|
@@ -776,7 +776,7 @@ class j {
|
|
|
776
776
|
}
|
|
777
777
|
async runShiki() {
|
|
778
778
|
let t = "";
|
|
779
|
-
return { html: await
|
|
779
|
+
return { html: await Kt(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
|
|
801
|
+
class oe {
|
|
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 he {
|
|
|
851
851
|
return { text: { br: !0 } };
|
|
852
852
|
}
|
|
853
853
|
}
|
|
854
|
-
class
|
|
854
|
+
class ae {
|
|
855
855
|
static get isReadOnlySupported() {
|
|
856
856
|
return !0;
|
|
857
857
|
}
|
|
@@ -899,7 +899,7 @@ class E {
|
|
|
899
899
|
}
|
|
900
900
|
getItemContent(t) {
|
|
901
901
|
const e = t.querySelector(`.${E.CSS.itemContent}`);
|
|
902
|
-
return e ?
|
|
902
|
+
return e ? rt(e) ? "" : e.innerHTML : "";
|
|
903
903
|
}
|
|
904
904
|
getItemMeta() {
|
|
905
905
|
return {};
|
|
@@ -925,7 +925,7 @@ class M {
|
|
|
925
925
|
}
|
|
926
926
|
getItemContent(t) {
|
|
927
927
|
const e = t.querySelector(`.${M.CSS.itemContent}`);
|
|
928
|
-
return e ?
|
|
928
|
+
return e ? rt(e) ? "" : e.innerHTML : "";
|
|
929
929
|
}
|
|
930
930
|
getItemMeta() {
|
|
931
931
|
return {};
|
|
@@ -960,7 +960,7 @@ class C {
|
|
|
960
960
|
}
|
|
961
961
|
getItemContent(t) {
|
|
962
962
|
const e = t.querySelector(`.${C.CSS.itemContent}`);
|
|
963
|
-
return e ?
|
|
963
|
+
return e ? rt(e) ? "" : e.innerHTML : "";
|
|
964
964
|
}
|
|
965
965
|
getItemMeta(t) {
|
|
966
966
|
const e = t.querySelector(`.${C.CSS.checkboxContainer}`);
|
|
@@ -976,7 +976,7 @@ class C {
|
|
|
976
976
|
t.classList.remove(C.CSS.noHover);
|
|
977
977
|
}
|
|
978
978
|
}
|
|
979
|
-
function
|
|
979
|
+
function G(c, t = "after") {
|
|
980
980
|
const e = [];
|
|
981
981
|
let i;
|
|
982
982
|
function s(n) {
|
|
@@ -990,23 +990,23 @@ function X(c, t = "after") {
|
|
|
990
990
|
for (i = s(c); i !== null; ) e.push(i), i = s(i);
|
|
991
991
|
return e.length !== 0 ? e : null;
|
|
992
992
|
}
|
|
993
|
-
function
|
|
993
|
+
function I(c, t = !0) {
|
|
994
994
|
let e = c;
|
|
995
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}`));
|
|
996
996
|
}
|
|
997
997
|
function A(c) {
|
|
998
998
|
return c.querySelector(`.${k.itemChildren}`);
|
|
999
999
|
}
|
|
1000
|
-
function
|
|
1000
|
+
function X(c) {
|
|
1001
1001
|
let t = c;
|
|
1002
|
-
c.classList.contains(k.item) && (t = A(c)), t !== null &&
|
|
1002
|
+
c.classList.contains(k.item) && (t = A(c)), t !== null && I(t).length === 0 && t.remove();
|
|
1003
1003
|
}
|
|
1004
|
-
function
|
|
1004
|
+
function U(c) {
|
|
1005
1005
|
return c.querySelector(`.${k.itemContent}`);
|
|
1006
1006
|
}
|
|
1007
1007
|
function F(c, t = !0) {
|
|
1008
|
-
const e =
|
|
1009
|
-
e &&
|
|
1008
|
+
const e = U(c);
|
|
1009
|
+
e && Yt(e, t);
|
|
1010
1010
|
}
|
|
1011
1011
|
class Z {
|
|
1012
1012
|
get currentItem() {
|
|
@@ -1040,7 +1040,7 @@ class Z {
|
|
|
1040
1040
|
}, !1), "start" in this.data.meta && this.data.meta.start !== void 0 && this.changeStartWith(this.data.meta.start), "counterType" in this.data.meta && this.data.meta.counterType !== void 0 && this.changeCounters(this.data.meta.counterType), this.listWrapper;
|
|
1041
1041
|
}
|
|
1042
1042
|
save(t) {
|
|
1043
|
-
const e = t != null ? t : this.listWrapper, i = (r) =>
|
|
1043
|
+
const e = t != null ? t : this.listWrapper, i = (r) => I(r).map((o) => {
|
|
1044
1044
|
const a = A(o);
|
|
1045
1045
|
return { content: this.renderer.getItemContent(o), meta: this.renderer.getItemMeta(o), items: a ? i(a) : [] };
|
|
1046
1046
|
}), s = e ? i(e) : [];
|
|
@@ -1051,9 +1051,9 @@ class Z {
|
|
|
1051
1051
|
return { tags: ["OL", "UL", "LI"] };
|
|
1052
1052
|
}
|
|
1053
1053
|
merge(t) {
|
|
1054
|
-
const e = this.block.holder.querySelectorAll(`.${k.item}`), i = e[e.length - 1], s =
|
|
1054
|
+
const e = this.block.holder.querySelectorAll(`.${k.item}`), i = e[e.length - 1], s = U(i);
|
|
1055
1055
|
if (i === null || s === null || (s.insertAdjacentHTML("beforeend", t.items[0].content), this.listWrapper === void 0)) return;
|
|
1056
|
-
const n =
|
|
1056
|
+
const n = I(this.listWrapper);
|
|
1057
1057
|
if (n.length === 0) return;
|
|
1058
1058
|
let r = A(n[n.length - 1]);
|
|
1059
1059
|
const o = t.items.shift();
|
|
@@ -1104,7 +1104,7 @@ class Z {
|
|
|
1104
1104
|
backspace(t) {
|
|
1105
1105
|
var i;
|
|
1106
1106
|
const e = this.currentItem;
|
|
1107
|
-
e !== null &&
|
|
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());
|
|
1108
1108
|
}
|
|
1109
1109
|
shiftTab(t) {
|
|
1110
1110
|
t.stopPropagation(), t.preventDefault(), this.currentItem !== null && this.unshiftItem(this.currentItem);
|
|
@@ -1115,19 +1115,19 @@ class Z {
|
|
|
1115
1115
|
if (!e) return;
|
|
1116
1116
|
let i = A(t);
|
|
1117
1117
|
if (t.parentElement === null) return;
|
|
1118
|
-
const s =
|
|
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),
|
|
1121
|
+
}), t.appendChild(i)), e.after(t), F(t, !1), X(e);
|
|
1122
1122
|
}
|
|
1123
1123
|
splitList(t) {
|
|
1124
|
-
const e =
|
|
1124
|
+
const e = I(t), i = this.block, s = this.api.blocks.getCurrentBlockIndex();
|
|
1125
1125
|
if (e.length !== 0) {
|
|
1126
1126
|
const a = e[0];
|
|
1127
1127
|
this.unshiftItem(a), F(t, !1);
|
|
1128
1128
|
}
|
|
1129
1129
|
if (t.previousElementSibling === null && t.parentNode === this.listWrapper) return void this.convertItemToDefaultBlock(s);
|
|
1130
|
-
const n =
|
|
1130
|
+
const n = G(t);
|
|
1131
1131
|
if (n === null) return;
|
|
1132
1132
|
const r = this.renderer.renderWrapper(!0);
|
|
1133
1133
|
n.forEach((a) => {
|
|
@@ -1137,11 +1137,11 @@ 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] =
|
|
1140
|
+
const [e, i] = Xt();
|
|
1141
1141
|
if (e === null) return;
|
|
1142
|
-
const s =
|
|
1142
|
+
const s = U(t);
|
|
1143
1143
|
let n;
|
|
1144
|
-
n = s === null ? "" :
|
|
1144
|
+
n = s === null ? "" : Zt(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
|
}
|
|
@@ -1153,17 +1153,17 @@ class Z {
|
|
|
1153
1153
|
if (!e && !s || e && !R(e)) return;
|
|
1154
1154
|
let n;
|
|
1155
1155
|
if (e) {
|
|
1156
|
-
const p =
|
|
1156
|
+
const p = I(e, !1);
|
|
1157
1157
|
n = p.length !== 0 && p.length !== 0 ? p[p.length - 1] : e;
|
|
1158
1158
|
} else n = s;
|
|
1159
1159
|
const r = this.renderer.getItemContent(t);
|
|
1160
1160
|
if (!n) return;
|
|
1161
1161
|
F(n, !1);
|
|
1162
|
-
const o =
|
|
1162
|
+
const o = U(n);
|
|
1163
1163
|
if (o === null) return;
|
|
1164
1164
|
o.insertAdjacentHTML("beforeend", r);
|
|
1165
|
-
const a =
|
|
1166
|
-
if (a.length === 0) return t.remove(), void
|
|
1165
|
+
const a = I(t);
|
|
1166
|
+
if (a.length === 0) return t.remove(), void X(n);
|
|
1167
1167
|
const d = e || s, l = (h = A(d)) != null ? h : this.renderer.renderWrapper(!1);
|
|
1168
1168
|
e ? a.forEach((p) => {
|
|
1169
1169
|
l.appendChild(p);
|
|
@@ -1184,16 +1184,16 @@ class Z {
|
|
|
1184
1184
|
if (i === null || !R(i)) return;
|
|
1185
1185
|
const s = A(i);
|
|
1186
1186
|
if (s)
|
|
1187
|
-
s.appendChild(e),
|
|
1187
|
+
s.appendChild(e), I(e).forEach((r) => {
|
|
1188
1188
|
s.appendChild(r);
|
|
1189
1189
|
});
|
|
1190
1190
|
else {
|
|
1191
1191
|
const r = this.renderer.renderWrapper(!1);
|
|
1192
|
-
r.appendChild(e),
|
|
1192
|
+
r.appendChild(e), I(e).forEach((o) => {
|
|
1193
1193
|
r.appendChild(o);
|
|
1194
1194
|
}), i.appendChild(r);
|
|
1195
1195
|
}
|
|
1196
|
-
|
|
1196
|
+
X(e), F(e, !1);
|
|
1197
1197
|
}
|
|
1198
1198
|
convertItemToDefaultBlock(t, e) {
|
|
1199
1199
|
let i;
|
|
@@ -1203,12 +1203,12 @@ class Z {
|
|
|
1203
1203
|
convertFirstItemToDefaultBlock() {
|
|
1204
1204
|
const t = this.currentItem;
|
|
1205
1205
|
if (t === null) return;
|
|
1206
|
-
const e =
|
|
1206
|
+
const e = I(t);
|
|
1207
1207
|
if (e.length !== 0) {
|
|
1208
1208
|
const r = e[0];
|
|
1209
1209
|
this.unshiftItem(r), F(t);
|
|
1210
1210
|
}
|
|
1211
|
-
const i =
|
|
1211
|
+
const i = G(t), s = this.api.blocks.getCurrentBlockIndex(), n = i === null;
|
|
1212
1212
|
this.convertItemToDefaultBlock(s, n);
|
|
1213
1213
|
}
|
|
1214
1214
|
renderItem(t, e) {
|
|
@@ -1230,8 +1230,8 @@ class Z {
|
|
|
1230
1230
|
});
|
|
1231
1231
|
}
|
|
1232
1232
|
}
|
|
1233
|
-
const
|
|
1234
|
-
class
|
|
1233
|
+
const le = /* @__PURE__ */ new Map([["Numeric", "numeric"], ["Lower Roman", "lower-roman"], ["Upper Roman", "upper-roman"], ["Lower Alpha", "lower-alpha"], ["Upper Alpha", "upper-alpha"]]);
|
|
1234
|
+
class V {
|
|
1235
1235
|
static get isReadOnlySupported() {
|
|
1236
1236
|
return !0;
|
|
1237
1237
|
}
|
|
@@ -1245,7 +1245,7 @@ class K {
|
|
|
1245
1245
|
return { tags: ["OL", "UL", "LI"] };
|
|
1246
1246
|
}
|
|
1247
1247
|
static get conversionConfig() {
|
|
1248
|
-
return { export: (t) =>
|
|
1248
|
+
return { export: (t) => V.joinRecursive(t), import: (t, e) => ({ meta: {}, items: [{ content: t, meta: {}, items: [] }], style: (e == null ? void 0 : e.defaultStyle) !== void 0 ? e.defaultStyle : "unordered" }) };
|
|
1249
1249
|
}
|
|
1250
1250
|
get listStyle() {
|
|
1251
1251
|
return this.data.style || this.defaultListStyle;
|
|
@@ -1258,7 +1258,7 @@ class K {
|
|
|
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(
|
|
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());
|
|
1262
1262
|
const r = { style: this.defaultListStyle, meta: {}, items: [] };
|
|
1263
1263
|
this.data = Object.keys(t).length ? function(a) {
|
|
1264
1264
|
const d = [];
|
|
@@ -1276,7 +1276,7 @@ class K {
|
|
|
1276
1276
|
}(t) : r, this.listStyle === "ordered" && this.data.meta.counterType === void 0 && (this.data.meta.counterType = "numeric"), this.changeTabulatorByStyle();
|
|
1277
1277
|
}
|
|
1278
1278
|
static joinRecursive(t) {
|
|
1279
|
-
return t.items.map((e) => `${e.content} ${
|
|
1279
|
+
return t.items.map((e) => `${e.content} ${V.joinRecursive(e)}`).join("");
|
|
1280
1280
|
}
|
|
1281
1281
|
render() {
|
|
1282
1282
|
return this.listElement = this.list.render(), this.listElement;
|
|
@@ -1315,7 +1315,7 @@ class K {
|
|
|
1315
1315
|
}
|
|
1316
1316
|
}
|
|
1317
1317
|
}
|
|
1318
|
-
class
|
|
1318
|
+
class de {
|
|
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 ue {
|
|
|
1355
1355
|
document.dispatchEvent(t), (e = this.observer) == null || e.disconnect();
|
|
1356
1356
|
}
|
|
1357
1357
|
}
|
|
1358
|
-
class
|
|
1358
|
+
class he {
|
|
1359
1359
|
constructor({ editor: t, config: e = {}, onUpdate: i, maxLength: s }) {
|
|
1360
1360
|
this.position = 0;
|
|
1361
1361
|
const n = { maxLength: 30, onUpdate() {
|
|
1362
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
|
|
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();
|
|
1364
1364
|
}
|
|
1365
1365
|
static get isReadOnlySupported() {
|
|
1366
1366
|
return !0;
|
|
@@ -1398,7 +1398,7 @@ class ge {
|
|
|
1398
1398
|
}
|
|
1399
1399
|
getCaretIndex(t) {
|
|
1400
1400
|
const e = this.holder.getElementsByClassName("ce-block__content");
|
|
1401
|
-
return new
|
|
1401
|
+
return new lt(e[t].firstChild).getPos();
|
|
1402
1402
|
}
|
|
1403
1403
|
insertDeletedBlock(t, e, i) {
|
|
1404
1404
|
for (let s = 0; s < t.length; s += 1) if (!e[s] || t[s].id !== e[s].id) {
|
|
@@ -1444,7 +1444,7 @@ class ge {
|
|
|
1444
1444
|
}
|
|
1445
1445
|
setCaretIndex(t, e) {
|
|
1446
1446
|
if (e && e !== -1) {
|
|
1447
|
-
const i = this.holder.getElementsByClassName("ce-block__content"), s = new
|
|
1447
|
+
const i = this.holder.getElementsByClassName("ce-block__content"), s = new lt(i[t].firstChild);
|
|
1448
1448
|
setTimeout(() => s.setPos(e), 50);
|
|
1449
1449
|
} else this.caret.setToBlock(t, "end");
|
|
1450
1450
|
}
|
|
@@ -1482,7 +1482,7 @@ class ge {
|
|
|
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 || ((
|
|
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) => {
|
|
1486
1486
|
l(u, o, a) && (u.preventDefault(), this.undo());
|
|
1487
1487
|
}, p = (u) => {
|
|
1488
1488
|
l(u, a, o) && (u.preventDefault(), this.redo());
|
|
@@ -1492,7 +1492,7 @@ class ge {
|
|
|
1492
1492
|
});
|
|
1493
1493
|
}
|
|
1494
1494
|
}
|
|
1495
|
-
class
|
|
1495
|
+
class H {
|
|
1496
1496
|
static get toolbox() {
|
|
1497
1497
|
return { icon: '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763693072662" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2633" id="mx_n_1763693072663" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M83.2 147.2V448c0 25.6 19.2 44.8 44.8 44.8h768c25.6 0 44.8-19.2 44.8-44.8V147.2c0-25.6-19.2-44.8-44.8-44.8H128c-25.6 6.4-44.8 25.6-44.8 44.8z m89.6 256V192h684.8v211.2H172.8zM810.24 642.56c0-25.6-19.2-44.8-44.8-44.8h-640c-25.6 0-44.8 19.2-44.8 44.8 0 25.6 19.2 44.8 44.8 44.8h640c25.6 6.4 44.8-12.8 44.8-44.8zM554.56 866.24c0-25.6-19.2-44.8-44.8-44.8h-384c-25.6 0-44.8 19.2-44.8 44.8 0 25.6 19.2 44.8 44.8 44.8h384c25.6 6.4 44.8-12.8 44.8-44.8z" fill="#262626" p-id="2634"></path></svg>', title: "Alert" };
|
|
1498
1498
|
}
|
|
@@ -1518,7 +1518,7 @@ class _ {
|
|
|
1518
1518
|
return { wrapper: "cdx-alert", wrapperForType: (t) => `cdx-alert-${t}`, wrapperForAlignType: (t) => `cdx-alert-align-${t}`, message: "cdx-alert__message" };
|
|
1519
1519
|
}
|
|
1520
1520
|
constructor({ data: t, config: e, api: i, readOnly: s }) {
|
|
1521
|
-
this.api = i, this.alertTypes = e.alertTypes ||
|
|
1521
|
+
this.api = i, this.alertTypes = e.alertTypes || H.ALERT_TYPES, this.defaultType = e.defaultType || H.DEFAULT_TYPE, this.defaultAlign = e.defaultAlign || H.DEFAULT_ALIGN_TYPE, this.messagePlaceholder = e.messagePlaceholder || H.DEFAULT_MESSAGE_PLACEHOLDER, this.data = { type: this.alertTypes.includes(t.type) ? t.type : this.defaultType, align: H.ALIGN_TYPES.includes(t.align) ? t.align : this.defaultAlign, message: t.message || "" }, this.container = void 0, this.readOnly = s;
|
|
1522
1522
|
}
|
|
1523
1523
|
static get isReadOnlySupported() {
|
|
1524
1524
|
return !0;
|
|
@@ -1571,9 +1571,9 @@ class _ {
|
|
|
1571
1571
|
a.classList.toggle("cdx-alert_setting__icon_active", l === this.data.type);
|
|
1572
1572
|
});
|
|
1573
1573
|
});
|
|
1574
|
-
}),
|
|
1574
|
+
}), H.ALIGN_TYPES.map((s) => {
|
|
1575
1575
|
let n;
|
|
1576
|
-
return s === "left" && (n = document.createElement("div"), n.classList.add("cdx-alert_setting__icon"), n.innerHTML =
|
|
1576
|
+
return s === "left" && (n = document.createElement("div"), n.classList.add("cdx-alert_setting__icon"), n.innerHTML = Ht), s === "right" && (n = document.createElement("div"), n.classList.add("cdx-alert_setting__icon"), n.innerHTML = Bt), s === "center" && (n = document.createElement("div"), n.classList.add("cdx-alert_setting__icon"), n.innerHTML = It), n == null || n.setAttribute("data-align", s), this.api.tooltip.onHover(n, this.api.i18n.t(`align-${s}`), { placement: "top" }), i.appendChild(n), n;
|
|
1577
1577
|
}).forEach((s, n, r) => {
|
|
1578
1578
|
const o = s.getAttribute("data-align") || "";
|
|
1579
1579
|
s.addEventListener("click", () => {
|
|
@@ -1594,7 +1594,7 @@ class _ {
|
|
|
1594
1594
|
});
|
|
1595
1595
|
}
|
|
1596
1596
|
_changeAlignType(t) {
|
|
1597
|
-
this.data.align = t,
|
|
1597
|
+
this.data.align = t, H.ALIGN_TYPES.forEach((e) => {
|
|
1598
1598
|
const i = this.CSS.wrapperForAlignType(e);
|
|
1599
1599
|
this.container.classList.remove(i), t === e && this.container.classList.add(i);
|
|
1600
1600
|
});
|
|
@@ -1620,7 +1620,7 @@ class _ {
|
|
|
1620
1620
|
return { message: !0, type: !1, alignType: !1 };
|
|
1621
1621
|
}
|
|
1622
1622
|
}
|
|
1623
|
-
const
|
|
1623
|
+
const wt = { orientation: !1 }, b = class b {
|
|
1624
1624
|
constructor({ api: t, data: e, config: i, block: s, ...n }) {
|
|
1625
1625
|
var o, a, d, l, h, 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));
|
|
@@ -1656,15 +1656,15 @@ const bt = { orientation: !1 }, b = class b {
|
|
|
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
1657
|
return [{ title: this.rightText, hint: { title: this.api.i18n.t(this.rightText) }, onActivate: (l, h) => {
|
|
1658
1658
|
this.handleIndentRight(), l.title = this.rightText;
|
|
1659
|
-
}, icon:
|
|
1659
|
+
}, icon: kt, name: d }, { title: this.leftText, hint: { title: this.api.i18n.t(this.leftText) }, onActivate: (l, h) => {
|
|
1660
1660
|
this.handleIndentLeft(), l.title = this.leftText;
|
|
1661
|
-
}, icon:
|
|
1661
|
+
}, icon: vt, name: a }];
|
|
1662
1662
|
}
|
|
1663
1663
|
const e = `
|
|
1664
1664
|
<div class="${this.CSS.popoverItem} ${this.CSS.customPopoverItem}" data-item-name='indent' version=${this.config.version}>
|
|
1665
|
-
<button type="button" class="${this.CSS.popoverItemIcon}" data-${this.TuneNames.indentLeft}>${
|
|
1665
|
+
<button type="button" class="${this.CSS.popoverItemIcon}" data-${this.TuneNames.indentLeft}>${vt}</button>
|
|
1666
1666
|
<span class="${this.CSS.popoverItemTitle}">${this.api.sanitizer.clean(this.api.i18n.t("Indent"), {})}</span>
|
|
1667
|
-
<button type="button" class="${this.CSS.popoverItemIcon}" data-${this.TuneNames.indentRight} style="margin-left:10px;">${
|
|
1667
|
+
<button type="button" class="${this.CSS.popoverItemIcon}" data-${this.TuneNames.indentRight} style="margin-left:10px;">${kt}</button>
|
|
1668
1668
|
</div>
|
|
1669
1669
|
`, i = this.createElementFromTemplate(e), s = i.querySelector(`[data-${this.TuneNames.indentRight}]`), n = i.querySelector(`[data-${this.TuneNames.indentLeft}]`);
|
|
1670
1670
|
return s && (s.addEventListener("click", () => this.handleIndentRight()), this.api.tooltip.onHover(s, this.api.i18n.t("Indent right"), { placement: "top" })), n && (n.addEventListener("click", () => this.handleIndentLeft()), this.api.tooltip.onHover(n, this.api.i18n.t("Indent left"), { placement: "top" })), i;
|
|
@@ -1858,7 +1858,7 @@ const bt = { orientation: !1 }, b = class b {
|
|
|
1858
1858
|
return new DOMParser().parseFromString(t, "text/html").body.firstChild;
|
|
1859
1859
|
}
|
|
1860
1860
|
changeConfigBasedOnVersionIfNeeded() {
|
|
1861
|
-
this.config.version && this.config.version < "2.27" && this.config.orientation === "vertical" && (this.config.orientation = "horizontal",
|
|
1861
|
+
this.config.version && this.config.version < "2.27" && this.config.orientation === "vertical" && (this.config.orientation = "horizontal", wt.orientation, wt.orientation = !0);
|
|
1862
1862
|
}
|
|
1863
1863
|
maxWidthForContent(t) {
|
|
1864
1864
|
const e = t.querySelector(`.${this.EditorCSS.content}`);
|
|
@@ -1870,10 +1870,10 @@ const bt = { orientation: !1 }, b = class b {
|
|
|
1870
1870
|
}
|
|
1871
1871
|
};
|
|
1872
1872
|
b.DATA_WRAPPER_NAME = "data-block-indent-wrapper", b.DATA_FOCUSED = "data-focused", b.DATA_INDENT_LEVEL = "data-indent-level";
|
|
1873
|
-
let
|
|
1873
|
+
let st = b;
|
|
1874
1874
|
class W {
|
|
1875
1875
|
static get toolboxIcon() {
|
|
1876
|
-
return
|
|
1876
|
+
return Ct;
|
|
1877
1877
|
}
|
|
1878
1878
|
static get CSS() {
|
|
1879
1879
|
return "cdx-marker";
|
|
@@ -1908,13 +1908,13 @@ class W {
|
|
|
1908
1908
|
(e = this.button) == null || e.classList.toggle(this.iconClasses.active, !!t);
|
|
1909
1909
|
}
|
|
1910
1910
|
get toolboxIcon() {
|
|
1911
|
-
return
|
|
1911
|
+
return Ct;
|
|
1912
1912
|
}
|
|
1913
1913
|
static get sanitize() {
|
|
1914
1914
|
return { mark: { class: W.CSS } };
|
|
1915
1915
|
}
|
|
1916
1916
|
}
|
|
1917
|
-
class
|
|
1917
|
+
class ce {
|
|
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 me {
|
|
|
1953
1953
|
return { span: { style: { color: !0 } } };
|
|
1954
1954
|
}
|
|
1955
1955
|
}
|
|
1956
|
-
class
|
|
1956
|
+
class pe extends ce {
|
|
1957
1957
|
static get sanitize() {
|
|
1958
1958
|
}
|
|
1959
1959
|
}
|
|
@@ -1999,7 +1999,7 @@ const z = class z {
|
|
|
1999
1999
|
}
|
|
2000
2000
|
};
|
|
2001
2001
|
z.isInline = !0;
|
|
2002
|
-
let
|
|
2002
|
+
let nt = z;
|
|
2003
2003
|
class $ {
|
|
2004
2004
|
constructor({ api: t }) {
|
|
2005
2005
|
this.tag = "CODE", this.api = t, this.button = null, this.iconClasses = { base: this.api.styles.inlineToolButton, active: this.api.styles.inlineToolButtonActive };
|
|
@@ -2048,19 +2048,19 @@ function T(c, t, e = {}) {
|
|
|
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
|
|
2051
|
+
function bt(c) {
|
|
2052
2052
|
const t = c.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
|
|
2056
|
-
const e =
|
|
2055
|
+
function J(c, t) {
|
|
2056
|
+
const e = bt(c), 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
|
|
2059
|
+
function yt(c, t) {
|
|
2060
2060
|
var e;
|
|
2061
2061
|
return (e = t == null ? void 0 : t.parentNode) == null ? void 0 : e.insertBefore(c, t);
|
|
2062
2062
|
}
|
|
2063
|
-
function
|
|
2063
|
+
function St(c, t = !0) {
|
|
2064
2064
|
const e = document.createRange(), i = window.getSelection();
|
|
2065
2065
|
e.selectNodeContents(c), e.collapse(t), i == null || i.removeAllRanges(), i == null || i.addRange(e);
|
|
2066
2066
|
}
|
|
@@ -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
|
|
2158
|
-
class
|
|
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 {
|
|
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);
|
|
@@ -2167,9 +2167,9 @@ class ve {
|
|
|
2167
2167
|
this.updateToolboxesPosition(), this.isDragging = !1, this.table.classList.remove("table-resizing"), document.removeEventListener("mousemove", this.handleDocumentMousemove), document.removeEventListener("mouseup", this.handleDocumentMouseup);
|
|
2168
2168
|
}, this.readOnly = t, this.api = e, this.data = i, this.config = s, this.wrapper = null, this.table = null, this.hoveredCell = null, this.isDragging = !1, this.draggingColumn = 0, this.startWidth = 0, this.mouseStartX = 0, this.colWidthArr = [], this.focusedCell = { row: 0, col: 0 }, this.toolboxColumn = this.createColumnToolbox(), this.toolboxRow = this.createRowToolbox(), this.createTableWrapper(), this.hoveredRow = 0, this.hoveredColumn = 0, this.selectedRow = 0, this.selectedColumn = 0, this.tunes = { withHeadings: !1 }, this.resize(), this.data.colWidth.length > 0 && (this.colWidthArr = this.data.colWidth), this.updateColWidth(), this.fill(), this.focusedCell = { row: 0, column: 0 }, this.documentClicked = (n) => {
|
|
2169
2169
|
let r = n.target;
|
|
2170
|
-
const o = r.closest(`.${
|
|
2170
|
+
const o = r.closest(`.${xt}`) !== null, a = r.closest(`.${Lt}`) === null;
|
|
2171
2171
|
(o || a) && this.hideToolboxes();
|
|
2172
|
-
const d = r.closest(`.${
|
|
2172
|
+
const d = r.closest(`.${et}`), l = r.closest(`.${it}`);
|
|
2173
2173
|
d && d.parentNode === this.wrapper ? (this.addRow(void 0, !0), this.hideToolboxes()) : l && l.parentNode === this.wrapper && (this.addColumn(void 0, !0), this.hideToolboxes());
|
|
2174
2174
|
}, this.readOnly || this.bindEvents();
|
|
2175
2175
|
}
|
|
@@ -2197,7 +2197,7 @@ class ve {
|
|
|
2197
2197
|
this.addColumn(this.selectedColumn, !0), this.hideToolboxes(), this.updateColWidth();
|
|
2198
2198
|
} }, { label: this.api.i18n.t("Add column to right"), icon: '<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="M9.13333 14.9167L12.4667 18.25M12.4667 18.25L15.8 14.9167M12.4667 18.25L12.4667 10.0833C12.4667 9.19928 12.1155 8.35143 11.4904 7.72631C10.8652 7.10119 10.0174 6.75 9.13333 6.75"/></svg>', hideIf: () => this.numberOfColumns === this.config.maxcols, onClick: () => {
|
|
2199
2199
|
this.addColumn(this.selectedColumn + 1, !0), this.hideToolboxes(), this.updateColWidth();
|
|
2200
|
-
} }, { label: this.api.i18n.t("Delete column"), icon:
|
|
2200
|
+
} }, { label: this.api.i18n.t("Delete column"), icon: ft, hideIf: () => this.numberOfColumns === 1, confirmationRequired: !0, onClick: () => {
|
|
2201
2201
|
this.deleteColumn(this.selectedColumn), this.hideToolboxes(), this.updateColWidth();
|
|
2202
2202
|
} }], onOpen: () => {
|
|
2203
2203
|
this.selectColumn(this.hoveredColumn), this.hideRowToolbox();
|
|
@@ -2210,7 +2210,7 @@ class ve {
|
|
|
2210
2210
|
this.addRow(this.selectedRow, !0), this.hideToolboxes();
|
|
2211
2211
|
} }, { label: this.api.i18n.t("Add row below"), icon: '<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="M14.8833 9.16666L18.2167 12.5M18.2167 12.5L14.8833 15.8333M18.2167 12.5H10.05C9.16594 12.5 8.31809 12.1488 7.69297 11.5237C7.06785 10.8986 6.71666 10.0507 6.71666 9.16666"/></svg>', hideIf: () => this.numberOfRows === this.config.maxrows, onClick: () => {
|
|
2212
2212
|
this.addRow(this.selectedRow + 1, !0), this.hideToolboxes();
|
|
2213
|
-
} }, { label: this.api.i18n.t("Delete row"), icon:
|
|
2213
|
+
} }, { label: this.api.i18n.t("Delete row"), icon: ft, hideIf: () => this.numberOfRows === 1, confirmationRequired: !0, onClick: () => {
|
|
2214
2214
|
this.deleteRow(this.selectedRow), this.hideToolboxes();
|
|
2215
2215
|
} }], onOpen: () => {
|
|
2216
2216
|
this.selectRow(this.hoveredRow), this.hideColumnToolbox();
|
|
@@ -2243,24 +2243,24 @@ class ve {
|
|
|
2243
2243
|
for (let r = 1; r <= this.numberOfRows; r++) {
|
|
2244
2244
|
let o;
|
|
2245
2245
|
const a = this.createCell();
|
|
2246
|
-
if (t > 0 && t <= i ? (o = this.getCell(r, t),
|
|
2246
|
+
if (t > 0 && t <= i ? (o = this.getCell(r, t), yt(a, o)) : o = this.getRow(r).appendChild(a), r === 1) {
|
|
2247
2247
|
const d = this.getCell(r, t > 0 ? t : i + 1);
|
|
2248
|
-
d && e &&
|
|
2248
|
+
d && e && St(d);
|
|
2249
2249
|
}
|
|
2250
2250
|
}
|
|
2251
|
-
const s = this.wrapper.querySelector(`.${
|
|
2252
|
-
(n = this.config) != null && n.maxcols && this.numberOfColumns > this.config.maxcols - 1 && s && s.classList.add(
|
|
2251
|
+
const s = this.wrapper.querySelector(`.${it}`);
|
|
2252
|
+
(n = this.config) != null && n.maxcols && this.numberOfColumns > this.config.maxcols - 1 && s && s.classList.add(Mt), this.addHeadingAttrToFirstRow(), this.colWidthArr.splice(t - 1, 0, this.defaultCellWidth);
|
|
2253
2253
|
}
|
|
2254
2254
|
addRow(t = -1, e = !1) {
|
|
2255
2255
|
let i, s = T("div", D);
|
|
2256
2256
|
this.tunes.withHeadings && this.removeHeadingAttrFromFirstRow();
|
|
2257
2257
|
let n = this.numberOfColumns;
|
|
2258
2258
|
if (this.config && this.config.maxrows && this.numberOfRows >= this.config.maxrows) return;
|
|
2259
|
-
t > 0 && t <= this.numberOfRows ? i =
|
|
2259
|
+
t > 0 && t <= this.numberOfRows ? i = yt(s, this.getRow(t)) : i = this.table.appendChild(s), this.fillRow(i, n), this.tunes.withHeadings && this.addHeadingAttrToFirstRow();
|
|
2260
2260
|
const r = this.getRowFirstCell(i);
|
|
2261
|
-
r && e &&
|
|
2262
|
-
const o = this.wrapper.querySelector(`.${
|
|
2263
|
-
return this.config && this.config.maxrows && this.numberOfRows >= this.config.maxrows && o && o.classList.add(
|
|
2261
|
+
r && e && St(r);
|
|
2262
|
+
const o = this.wrapper.querySelector(`.${et}`);
|
|
2263
|
+
return this.config && this.config.maxrows && this.numberOfRows >= this.config.maxrows && o && o.classList.add(Et), i;
|
|
2264
2264
|
}
|
|
2265
2265
|
deleteColumn(t) {
|
|
2266
2266
|
for (let i = 1; i <= this.numberOfRows; i++) {
|
|
@@ -2268,16 +2268,16 @@ class ve {
|
|
|
2268
2268
|
if (!s) return;
|
|
2269
2269
|
s.remove();
|
|
2270
2270
|
}
|
|
2271
|
-
const e = this.wrapper.querySelector(`.${
|
|
2272
|
-
e && e.classList.remove(
|
|
2271
|
+
const e = this.wrapper.querySelector(`.${it}`);
|
|
2272
|
+
e && e.classList.remove(Mt), this.colWidthArr.splice(t - 1, 1);
|
|
2273
2273
|
}
|
|
2274
2274
|
deleteRow(t) {
|
|
2275
2275
|
this.getRow(t).remove();
|
|
2276
|
-
const e = this.wrapper.querySelector(`.${
|
|
2277
|
-
e && e.classList.remove(
|
|
2276
|
+
const e = this.wrapper.querySelector(`.${et}`);
|
|
2277
|
+
e && e.classList.remove(Et), this.addHeadingAttrToFirstRow();
|
|
2278
2278
|
}
|
|
2279
2279
|
createTableWrapper() {
|
|
2280
|
-
this.wrapper = T("div",
|
|
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);
|
|
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,12 +2357,12 @@ class ve {
|
|
|
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 } =
|
|
2360
|
+
const i = this.getRow(t), { fromTopBorder: s } = J(this.table, i), { height: n } = i.getBoundingClientRect();
|
|
2361
2361
|
return { top: `${Math.ceil(s + n / 2)}px` };
|
|
2362
2362
|
});
|
|
2363
2363
|
}
|
|
2364
2364
|
setHeadingsSetting(t) {
|
|
2365
|
-
this.tunes.withHeadings = t, t ? (this.table.classList.add(
|
|
2365
|
+
this.tunes.withHeadings = t, t ? (this.table.classList.add(Tt), this.addHeadingAttrToFirstRow()) : (this.table.classList.remove(Tt), this.removeHeadingAttrFromFirstRow());
|
|
2366
2366
|
}
|
|
2367
2367
|
addHeadingAttrToFirstRow() {
|
|
2368
2368
|
for (let t = 1; t <= this.numberOfColumns; t++) {
|
|
@@ -2378,32 +2378,32 @@ class ve {
|
|
|
2378
2378
|
}
|
|
2379
2379
|
selectRow(t) {
|
|
2380
2380
|
const e = this.getRow(t);
|
|
2381
|
-
e && (this.selectedRow = t, e.classList.add(
|
|
2381
|
+
e && (this.selectedRow = t, e.classList.add(Q));
|
|
2382
2382
|
}
|
|
2383
2383
|
unselectRow() {
|
|
2384
2384
|
if (this.selectedRow <= 0) return;
|
|
2385
|
-
const t = this.table.querySelector(`.${
|
|
2386
|
-
t && t.classList.remove(
|
|
2385
|
+
const t = this.table.querySelector(`.${Q}`);
|
|
2386
|
+
t && t.classList.remove(Q), this.selectedRow = 0;
|
|
2387
2387
|
}
|
|
2388
2388
|
selectColumn(t) {
|
|
2389
2389
|
for (let e = 1; e <= this.numberOfRows; e++) {
|
|
2390
2390
|
const i = this.getCell(e, t);
|
|
2391
|
-
i && i.classList.add(
|
|
2391
|
+
i && i.classList.add(tt);
|
|
2392
2392
|
}
|
|
2393
2393
|
this.selectedColumn = t;
|
|
2394
2394
|
}
|
|
2395
2395
|
unselectColumn() {
|
|
2396
2396
|
if (this.selectedColumn <= 0) return;
|
|
2397
|
-
let t = this.table.querySelectorAll(`.${
|
|
2397
|
+
let t = this.table.querySelectorAll(`.${tt}`);
|
|
2398
2398
|
Array.from(t).forEach((e) => {
|
|
2399
|
-
e.classList.remove(
|
|
2399
|
+
e.classList.remove(tt);
|
|
2400
2400
|
}), this.selectedColumn = 0;
|
|
2401
2401
|
}
|
|
2402
2402
|
getHoveredCell(t) {
|
|
2403
2403
|
let e = this.hoveredRow, i = this.hoveredColumn;
|
|
2404
2404
|
const { width: s, height: n, x: r, y: o } = function(p, u) {
|
|
2405
|
-
const g = p.getBoundingClientRect(), { width: m, height: f, x: v, y: L } = g, { clientX: w, clientY:
|
|
2406
|
-
return { width: m, height: f, x: w - v, y:
|
|
2405
|
+
const g = p.getBoundingClientRect(), { width: m, height: f, x: v, y: L } = g, { clientX: w, clientY: _ } = u;
|
|
2406
|
+
return { width: m, height: f, x: w - v, y: _ - L };
|
|
2407
2407
|
}(this.table, t);
|
|
2408
2408
|
if (r >= 0) {
|
|
2409
2409
|
const p = ({ fromLeftBorder: g }) => r < g, u = ({ fromRightBorder: g }) => r > s - g;
|
|
@@ -2417,14 +2417,14 @@ class ve {
|
|
|
2417
2417
|
return { row: a, column: d, deltaXCell: l, deltaYCell: h };
|
|
2418
2418
|
}
|
|
2419
2419
|
getMousePositionRelateToCell(t, e, i, s) {
|
|
2420
|
-
const n = this.getCell(t, e), { fromTopBorder: r, fromLeftBorder: o } =
|
|
2420
|
+
const n = this.getCell(t, e), { fromTopBorder: r, fromLeftBorder: o } = J(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 =
|
|
2427
|
+
const d = e(n), l = J(this.table, d);
|
|
2428
2428
|
if (i(l)) o = n;
|
|
2429
2429
|
else {
|
|
2430
2430
|
if (!s(l)) break;
|
|
@@ -2446,7 +2446,7 @@ class ve {
|
|
|
2446
2446
|
document.removeEventListener("click", this.documentClicked);
|
|
2447
2447
|
}
|
|
2448
2448
|
}
|
|
2449
|
-
class
|
|
2449
|
+
class me {
|
|
2450
2450
|
static get isReadOnlySupported() {
|
|
2451
2451
|
return !0;
|
|
2452
2452
|
}
|
|
@@ -2460,7 +2460,7 @@ class ke {
|
|
|
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
|
|
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;
|
|
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: () => {
|
|
@@ -2496,8 +2496,8 @@ function P(c, t = null, e = {}) {
|
|
|
2496
2496
|
for (const s in e) e.hasOwnProperty(s) && (i[s] = e[s]);
|
|
2497
2497
|
return i;
|
|
2498
2498
|
}
|
|
2499
|
-
var
|
|
2500
|
-
class
|
|
2499
|
+
var q = ((c) => (c.Empty = "empty", c.Uploading = "uploading", c.Filled = "filled", c))(q || {});
|
|
2500
|
+
class fe {
|
|
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 we {
|
|
|
2524
2524
|
this.nodes.caption !== void 0 && (this.nodes.caption.innerHTML = t);
|
|
2525
2525
|
}
|
|
2526
2526
|
toggleStatus(t) {
|
|
2527
|
-
for (const e in
|
|
2528
|
-
const i =
|
|
2527
|
+
for (const e in q) if (Object.prototype.hasOwnProperty.call(q, e)) {
|
|
2528
|
+
const i = q[e];
|
|
2529
2529
|
this.nodes.wrapper.classList.toggle(`${this.CSS.wrapper}--${i}`, i === t);
|
|
2530
2530
|
}
|
|
2531
2531
|
}
|
|
@@ -2535,12 +2535,12 @@ class we {
|
|
|
2535
2535
|
createFileButton() {
|
|
2536
2536
|
var e;
|
|
2537
2537
|
const t = P("div", [this.CSS.button]);
|
|
2538
|
-
return t.innerHTML = (e = this.config.buttonContent) != null ? e : `${
|
|
2538
|
+
return t.innerHTML = (e = this.config.buttonContent) != null ? e : `${At} ${this.api.i18n.t("Select an Image")}`, t.addEventListener("click", () => {
|
|
2539
2539
|
this.onSelectFile();
|
|
2540
2540
|
}), t;
|
|
2541
2541
|
}
|
|
2542
2542
|
}
|
|
2543
|
-
class
|
|
2543
|
+
class Ce {
|
|
2544
2544
|
constructor({ config: t, onUpload: e, onError: i }) {
|
|
2545
2545
|
this.config = t, this.onUpload = e, this.onError = i;
|
|
2546
2546
|
}
|
|
@@ -2551,9 +2551,9 @@ class be {
|
|
|
2551
2551
|
let f = !0;
|
|
2552
2552
|
return new Promise((v, L) => {
|
|
2553
2553
|
let w = document.createElement("INPUT");
|
|
2554
|
-
w.type = "file", m.multiple && w.setAttribute("multiple", "multiple"), m.accept && w.setAttribute("accept", m.accept), w.style.display = "none", document.body.appendChild(w), w.addEventListener("change", (
|
|
2554
|
+
w.type = "file", m.multiple && w.setAttribute("multiple", "multiple"), m.accept && w.setAttribute("accept", m.accept), w.style.display = "none", document.body.appendChild(w), w.addEventListener("change", (_) => {
|
|
2555
2555
|
f = !1;
|
|
2556
|
-
const B =
|
|
2556
|
+
const B = _.target.files;
|
|
2557
2557
|
v(B), document.body.removeChild(w);
|
|
2558
2558
|
}, !1), window.addEventListener("focus", () => {
|
|
2559
2559
|
setTimeout(() => {
|
|
@@ -2577,7 +2577,7 @@ class be {
|
|
|
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 =
|
|
2580
|
+
const h = Y.create({ timeout: 18e5, headers: l });
|
|
2581
2581
|
l["Content-Type"] = "application/json";
|
|
2582
2582
|
const p = await h.post(this.config.endpoints.byFile, { fileName: r.name, contentType: r.type });
|
|
2583
2583
|
if (p.status !== 200) return void this.onError(p.statusText);
|
|
@@ -2595,7 +2595,7 @@ class be {
|
|
|
2595
2595
|
const s = this.config.userStore.token, n = this.config.userStore.tokenName, r = this.config.userStore.tokenPrefix;
|
|
2596
2596
|
s && n && (i[n] = r + " " + s);
|
|
2597
2597
|
}
|
|
2598
|
-
e =
|
|
2598
|
+
e = Y.create({ timeout: 18e5, headers: i }).post(this.config.endpoints.byUrl, { url: t, accept: ".jpg,.jpeg,.gif,.png,.webp" }), e.then((s) => {
|
|
2599
2599
|
if (s.status !== 200 || s.data.success === !1) return void this.onError(s.data.message);
|
|
2600
2600
|
let n = { success: 1, file: { url: s.data.data.cdn + s.data.data.objectKey } };
|
|
2601
2601
|
this.onUpload(n);
|
|
@@ -2612,7 +2612,7 @@ class be {
|
|
|
2612
2612
|
const p = this.config.userStore.token, u = this.config.userStore.tokenName, g = this.config.userStore.tokenPrefix;
|
|
2613
2613
|
p && u && (r[u] = g + " " + p);
|
|
2614
2614
|
}
|
|
2615
|
-
const o =
|
|
2615
|
+
const o = Y.create({ timeout: 18e5, headers: r });
|
|
2616
2616
|
r["Content-Type"] = "application/json";
|
|
2617
2617
|
const a = await o.post(this.config.endpoints.byFile, { fileName: t.name, contentType: t.type });
|
|
2618
2618
|
if (a.status !== 200) return void this.onError(a.statusText);
|
|
@@ -2626,10 +2626,10 @@ class be {
|
|
|
2626
2626
|
});
|
|
2627
2627
|
}
|
|
2628
2628
|
}
|
|
2629
|
-
class
|
|
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
|
|
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: () => {
|
|
2633
2633
|
this.uploader.uploadSelectedFile({ onPreview: (o) => {
|
|
2634
2634
|
this.ui.showPreloader(o);
|
|
2635
2635
|
}, noSelectedFile: () => {
|
|
@@ -2647,7 +2647,7 @@ class Y {
|
|
|
2647
2647
|
return !0;
|
|
2648
2648
|
}
|
|
2649
2649
|
static get toolbox() {
|
|
2650
|
-
return { icon:
|
|
2650
|
+
return { icon: At, title: "Image" };
|
|
2651
2651
|
}
|
|
2652
2652
|
static get tunes() {
|
|
2653
2653
|
return [{ name: "withBorder", icon: '<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="M18.9919 9.5H19.0015"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.5 5H14.5096"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M14.625 5H15C17.2091 5 19 6.79086 19 9V9.375"/><path stroke="currentColor" stroke-width="2" d="M9.375 5L9 5C6.79086 5 5 6.79086 5 9V9.375"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.3725 5H9.38207"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 9.5H5.00957"/><path stroke="currentColor" stroke-width="2" d="M9.375 19H9C6.79086 19 5 17.2091 5 15V14.625"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9.3725 19H9.38207"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 14.55H5.00957"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 13V16M16 19V16M19 16H16M16 16H13"/></svg>', title: "With border", toggle: !0 }, { name: "stretched", icon: '<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 9L20 12L17 15"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14 12H20"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M7 9L4 12L7 15"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 12H10"/></svg>', title: "Stretch image", toggle: !0 }, { name: "withBackground", icon: '<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="M11 19V19C9.13623 19 8.20435 19 7.46927 18.6955C6.48915 18.2895 5.71046 17.5108 5.30448 16.5307C5 15.7956 5 14.8638 5 13V12C5 9.19108 5 7.78661 5.67412 6.77772C5.96596 6.34096 6.34096 5.96596 6.77772 5.67412C7.78661 5 9.19108 5 12 5H13.5C14.8956 5 15.5933 5 16.1611 5.17224C17.4395 5.56004 18.44 6.56046 18.8278 7.83886C19 8.40666 19 9.10444 19 10.5V10.5"/><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M16 13V16M16 19V16M19 16H16M16 16H13"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6.5 17.5L17.5 6.5"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18.9919 10.5H19.0015"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10.9919 19H11.0015"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13L13 5"/></svg>', title: "With background", toggle: !0 }];
|
|
@@ -2665,8 +2665,8 @@ class Y {
|
|
|
2665
2665
|
}
|
|
2666
2666
|
renderSettings() {
|
|
2667
2667
|
var n;
|
|
2668
|
-
const t =
|
|
2669
|
-
((n = this.config.features) == null ? void 0 : n.caption) === "optional" && t.push({ name: "caption", icon:
|
|
2668
|
+
const t = K.tunes.concat(this.config.actions || []), e = { border: "withBorder", background: "withBackground", stretch: "stretched", caption: "caption" };
|
|
2669
|
+
((n = this.config.features) == null ? void 0 : n.caption) === "optional" && t.push({ name: "caption", icon: Ot, title: "With caption", toggle: !0 });
|
|
2670
2670
|
const i = t.filter((r) => {
|
|
2671
2671
|
var a, d;
|
|
2672
2672
|
const o = Object.keys(e).find((l) => e[l] === r.name);
|
|
@@ -2709,7 +2709,7 @@ class Y {
|
|
|
2709
2709
|
}
|
|
2710
2710
|
set data(t) {
|
|
2711
2711
|
var e;
|
|
2712
|
-
this.image = t.file, this._data.caption = t.caption || "", this.ui.fillCaption(this._data.caption),
|
|
2712
|
+
this.image = t.file, this._data.caption = t.caption || "", this.ui.fillCaption(this._data.caption), K.tunes.forEach(({ name: i }) => {
|
|
2713
2713
|
const s = t[i] !== void 0 && (t[i] === !0 || t[i] === "true");
|
|
2714
2714
|
this.setTune(i, s);
|
|
2715
2715
|
}), (t.caption || ((e = this.config.features) == null ? void 0 : e.caption) === !0) && this.setTune("caption", !0);
|
|
@@ -2745,10 +2745,10 @@ class Y {
|
|
|
2745
2745
|
this.ui.showPreloader(t), this.uploader.uploadByUrl(t);
|
|
2746
2746
|
}
|
|
2747
2747
|
}
|
|
2748
|
-
class
|
|
2748
|
+
class ve {
|
|
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,
|
|
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: (
|
|
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: "" };
|
|
2752
2752
|
}
|
|
2753
2753
|
static get isTune() {
|
|
2754
2754
|
return !0;
|
|
@@ -2940,42 +2940,48 @@ class ye {
|
|
|
2940
2940
|
this.setTune(t);
|
|
2941
2941
|
}
|
|
2942
2942
|
}
|
|
2943
|
-
const
|
|
2944
|
-
const
|
|
2945
|
-
let
|
|
2946
|
-
const
|
|
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 }) {
|
|
2944
|
+
const i = zt("EblEditorSettings");
|
|
2945
|
+
let s = e;
|
|
2946
|
+
const n = c;
|
|
2947
2947
|
let r = null;
|
|
2948
2948
|
const o = ["indent", "blockAlignment"];
|
|
2949
2949
|
function a() {
|
|
2950
|
-
|
|
2951
|
-
|
|
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));
|
|
2952
2953
|
});
|
|
2953
2954
|
}
|
|
2954
|
-
return
|
|
2955
|
-
const d =
|
|
2956
|
-
r = new
|
|
2957
|
-
|
|
2955
|
+
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);
|
|
2958
2959
|
}, onReady: () => {
|
|
2959
|
-
new
|
|
2960
|
-
} }).initialize(d),
|
|
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");
|
|
2961
2962
|
} });
|
|
2962
|
-
}),
|
|
2963
|
+
}), Wt(() => {
|
|
2963
2964
|
r !== null && (r.destroy(), r = null);
|
|
2964
|
-
}), (
|
|
2965
|
-
|
|
2966
|
-
|
|
2967
|
-
|
|
2968
|
-
|
|
2969
|
-
|
|
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));
|
|
2969
|
+
});
|
|
2970
|
+
} }), (d, l) => (jt(), $t("div", ke, [Ut("button", { onClick: a }, "保存")]));
|
|
2971
|
+
} }), _t = [we];
|
|
2972
|
+
let Rt = [];
|
|
2973
|
+
for (let c in _t) {
|
|
2974
|
+
const t = Jt(_t[c]);
|
|
2975
|
+
Rt.push(t);
|
|
2970
2976
|
}
|
|
2971
|
-
const
|
|
2972
|
-
t[
|
|
2973
|
-
} }))(
|
|
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;
|
|
2974
2980
|
export {
|
|
2975
|
-
|
|
2976
|
-
|
|
2977
|
-
|
|
2978
|
-
|
|
2979
|
-
|
|
2981
|
+
we as EblEditor,
|
|
2982
|
+
Dt as default,
|
|
2983
|
+
_e as install,
|
|
2984
|
+
Ie as version,
|
|
2985
|
+
Me as zhCn
|
|
2980
2986
|
};
|
|
2981
2987
|
//# sourceMappingURL=index.mjs.map
|