@prolibu-suite/cobalt-core 0.11.1 → 0.11.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/custom-elements.json +113 -34
- package/dist/cjs/co-button.cjs.entry.js +1 -1
- package/dist/cjs/co-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/co-document-editor.cjs.entry.js +1 -1
- package/dist/cjs/co-modal.cjs.entry.js +27 -1
- package/dist/cjs/co-overlay.cjs.entry.js +205 -34
- package/dist/cjs/co-rich-text-editor.cjs.entry.js +2 -2
- package/dist/cjs/co-rich-text-viewer.cjs.entry.js +1 -1
- package/dist/cjs/cobalt.cjs.js +1 -1
- package/dist/cjs/{index-oMHzCXm6.js → index-BbSD1Eyw.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pagination-DV43TRj9.js → pagination-S2sSAgdl.js} +26 -2
- package/dist/cobalt/cobalt.esm.js +1 -1
- package/dist/cobalt/{p-d6e7c258.entry.js → p-02ff847e.entry.js} +1 -1
- package/dist/cobalt/{p-87e62e2b.entry.js → p-12914c0a.entry.js} +1 -1
- package/dist/cobalt/p-38eb2615.entry.js +1 -0
- package/dist/cobalt/{p-47eca182.entry.js → p-6c7e423c.entry.js} +1 -1
- package/dist/cobalt/p-93063876.entry.js +1 -0
- package/dist/cobalt/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
- package/dist/cobalt/p-DGLDAl09.js +1 -0
- package/dist/cobalt/{p-3b6efb79.entry.js → p-bb7bbe70.entry.js} +1 -1
- package/dist/cobalt/p-efd3e0de.entry.js +1 -0
- package/dist/collection/components/co-autocomplete/co-autocomplete.js +1 -1
- package/dist/collection/components/co-avatar-group/co-avatar-group.js +1 -1
- package/dist/collection/components/co-button/co-button.css +15 -0
- package/dist/collection/components/co-checkbox-group/co-checkbox-group.js +1 -1
- package/dist/collection/components/co-chip/co-chip.css +16 -11
- package/dist/collection/components/co-color-area/co-color-area.js +2 -2
- package/dist/collection/components/co-color-slider/co-color-slider.js +1 -1
- package/dist/collection/components/co-combobox/co-combobox.js +1 -1
- package/dist/collection/components/co-command-search/co-command-search.js +1 -1
- package/dist/collection/components/co-data-table/co-data-table.js +1 -1
- package/dist/collection/components/co-date-range-picker/co-date-range-picker.js +2 -2
- package/dist/collection/components/co-document-editor/co-document-editor.js +5 -5
- package/dist/collection/components/co-modal/co-modal.js +68 -1
- package/dist/collection/components/co-overlay/co-overlay.css +7 -0
- package/dist/collection/components/co-overlay/co-overlay.js +130 -26
- package/dist/collection/components/co-overlay/focusTrap.js +111 -3
- package/dist/collection/components/co-popover/co-popover.js +1 -1
- package/dist/collection/components/co-radio-group/co-radio-group.js +1 -1
- package/dist/collection/components/co-ref-field/co-ref-field.js +4 -4
- package/dist/collection/components/co-segmented-bar/co-segmented-bar.js +1 -1
- package/dist/collection/components/co-select/co-select.js +1 -1
- package/dist/collection/components/co-sidebar-nav/co-sidebar-nav.js +1 -1
- package/dist/collection/components/co-toast/co-toast.js +2 -2
- package/dist/collection/components/co-transfer-list/co-transfer-list.js +1 -1
- package/dist/collection/components/co-tree-item/co-tree-item.js +2 -2
- package/dist/components/co-autocomplete.js +1 -1
- package/dist/components/co-button.js +1 -1
- package/dist/components/co-chip.js +1 -1
- package/dist/components/co-column-picker.js +1 -1
- package/dist/components/co-combobox.js +1 -1
- package/dist/components/co-command-search.js +1 -1
- package/dist/components/co-data-table.js +1 -1
- package/dist/components/co-date-picker.js +1 -1
- package/dist/components/co-date-range-picker.js +1 -1
- package/dist/components/co-date-range.js +1 -1
- package/dist/components/co-date-time-picker.js +1 -1
- package/dist/components/co-document-editor.js +1 -1
- package/dist/components/co-drawer.js +1 -1
- package/dist/components/co-modal.js +1 -1
- package/dist/components/co-overlay.js +1 -1
- package/dist/components/co-rich-text-editor.js +1 -1
- package/dist/components/co-rich-text-viewer.js +1 -1
- package/dist/components/{p-BVdCvEza.js → p-BI_VaFsx.js} +1 -1
- package/dist/components/{p-Du8EpQb-.js → p-C_6szR7t.js} +1 -1
- package/dist/components/{p-RVQJEYxa.js → p-Ch-Tygdb.js} +1 -1
- package/dist/components/{p-zJ3pjFzW.js → p-DB8DGMc-.js} +1 -1
- package/dist/components/p-DGLDAl09.js +1 -0
- package/dist/components/{p-Hi57w2_2.js → p-DhPxNA2f.js} +1 -1
- package/dist/components/p-wUXcJGdy.js +1 -0
- package/dist/esm/co-button.entry.js +1 -1
- package/dist/esm/co-chip_2.entry.js +1 -1
- package/dist/esm/co-document-editor.entry.js +1 -1
- package/dist/esm/co-modal.entry.js +28 -2
- package/dist/esm/co-overlay.entry.js +205 -34
- package/dist/esm/co-rich-text-editor.entry.js +2 -2
- package/dist/esm/co-rich-text-viewer.entry.js +1 -1
- package/dist/esm/cobalt.js +1 -1
- package/dist/esm/{index-Cpo8HTwr.js → index-CgyOJePd.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pagination-D9OfZUnY.js → pagination-BzrIQtrk.js} +26 -2
- package/dist/types/components/co-modal/co-modal.d.ts +23 -0
- package/dist/types/components/co-overlay/co-overlay.d.ts +29 -1
- package/dist/types/components/co-overlay/focusTrap.d.ts +24 -3
- package/dist/types/components.d.ts +21 -2
- package/package.json +4 -4
- package/dist/cobalt/p-1a5bec8c.entry.js +0 -1
- package/dist/cobalt/p-67a024dd.entry.js +0 -1
- package/dist/cobalt/p-B1JT7us1.js +0 -1
- package/dist/cobalt/p-c4c997f3.entry.js +0 -1
- package/dist/components/p-B1JT7us1.js +0 -1
- package/dist/components/p-nrwDl_gx.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as e,H as t,c as o,h as r,t as i}from"./index.js";import{R as a}from"./p-B1JT7us1.js";import{g as n,d as c}from"./p-B9wdMd_0.js";import{E as s,p as l,a as d,b,c as u,s as h,d as p}from"./p-BmdKHBZP.js";import{d as m}from"./p-KK2vAKs-.js";const f=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.coInput=o(this,"coInput",7),this.coChange=o(this,"coChange",7),this.coFocus=o(this,"coFocus",7),this.coBlur=o(this,"coBlur",7),this.coClear=o(this,"coClear",7),this.coReady=o(this,"coReady",7),this.coFontPopupShow=o(this,"coFontPopupShow",7),this.coFontPopupHide=o(this,"coFontPopupHide",7),this.coAttachmentsSelected=o(this,"coAttachmentsSelected",7),this.value=null,this.preset="task",this.placeholder="",this.status="default",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.showCharacterCount=!1,this.autofocus=!1,this.toolbar="auto",this.toolbarPosition="top",this.attachmentsEnabled=!1,this.locale="en",this.ready=!1,this.hasFocus=!1,this.charCount=0,this.bubbleDragged=!1,this.bubbleDragOffset={x:0,y:0},this.bubbleDragPos={x:0,y:0},this.bubblePositionLocked=!1,this.bubbleLockPos={x:0,y:0},this.applyingBubbleLock=!1,this._loadedAccountFonts=[],this._fontLoaderCalled=!1,this._fontLoaderLoading=!1,this.echo=new s,this.applyingExternal=!1,this.rt=a,this.imgLayoutVisible=!1,this.handleUpdate=e=>{if(this.refreshCharCount(),this.applyingExternal)return;const t=this.buildOutput(e);this.echo.markEmitted(t),this.coInput.emit(t),this.readonly&&this.coChange.emit(t)},this.handleFocus=()=>{this.hasFocus=!0,this.coFocus.emit()},this.handleBlur=()=>{clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((()=>{var e,t;(null===(e=this.editor)||void 0===e?void 0:e.isFocused)||(null===(t=this.bubbleEl)||void 0===t?void 0:t.contains(document.activeElement))||(this.hasFocus=!1,this.editor&&this.coChange.emit(this.buildOutput(this.editor)),this.coBlur.emit())}),100)}}async componentDidLoad(){var e,t;if(!this.contentEl)return;const o="none"!==this.resolvedToolbar&&!this.readonly&&!this.disabled;o&&(this.bubbleEl=this.createBubbleElement()),this.editor=this.rt.createEditor({preset:this.preset,element:this.contentEl,content:l(this.value),editable:!this.disabled&&!this.readonly,placeholder:this.placeholder,maxLength:this.maxLength,features:this.parsedFeatures,customExtensions:null!==(e=this.customExtensions)&&void 0!==e?e:[],bubbleMenuElement:this.bubbleEl,imageUpload:this.imageUpload,onUpdate:e=>this.handleUpdate(e),onFocus:()=>this.handleFocus(),onBlur:()=>this.handleBlur()}),"document"===this.preset&&this.contentEl.classList.add("co-rte-content--site"),o&&this.imagesEnabled&&(this.contentEl.style.position="relative",this.imgLayoutEl=this.createImageLayoutBar(),this.contentEl.appendChild(this.imgLayoutEl)),this.editor.on("transaction",(({transaction:e})=>{this.bubbleEl&&(this.updateBubbleActiveStates(),(this.bubbleDragged||this.bubblePositionLocked)&&this.bubbleEl&&this.applyBubbleFixedPosition()),this.imagesEnabled&&e.docChanged&&this.syncImageLayouts(),this.updateImageLayoutBar()})),this.bubbleEl&&this.toolbarEl&&(this.toolbarEl.addEventListener("mousedown",(()=>{this.closeBubbleDropdowns()})),this.toolbarEl.addEventListener("coPopoverChange",(e=>{var t;const o=null===(t=e.detail)||void 0===t?void 0:t.open;this.suppressBubble(!!o)}))),this.echo.seed(null!==(t=this.value)&&void 0!==t?t:null),this.ready=!0,this.refreshCharCount(),this.syncToolbar(),this.coReady.emit(),this.autofocus&&this.editor.commands.focus(),requestAnimationFrame((()=>this.syncImageLayouts()))}disconnectedCallback(){var e,t,o,r;clearTimeout(this.blurTimeout),clearTimeout(this.bubbleLockTimer),null===(e=this.bubbleStyleObserver)||void 0===e||e.disconnect(),this.bubbleDragMoveHandler&&document.removeEventListener("mousemove",this.bubbleDragMoveHandler),this.bubbleDragEndHandler&&document.removeEventListener("mouseup",this.bubbleDragEndHandler),this.bubbleOutsideClickHandler&&document.removeEventListener("click",this.bubbleOutsideClickHandler,!0),null===(t=this.editor)||void 0===t||t.destroy(),this.editor=void 0,null===(o=this.bubbleEl)||void 0===o||o.remove(),null===(r=this.imgLayoutEl)||void 0===r||r.remove()}componentDidRender(){this.syncToolbar()}onAccountFontsChange(){var e;if(this._fontDropdownRenderFn){const t=(null===(e=this._fontDropdownSearchInput)||void 0===e?void 0:e.value)||"";this._fontDropdownRenderFn(t)}}onValueChange(e){if(!this.editor||this.applyingExternal)return;const t=null!=e?e:null;if(!this.echo.isEcho(t)){this.applyingExternal=!0;try{d(this.editor,t)}finally{this.applyingExternal=!1,this.echo.seed(t),this.refreshCharCount()}}}onEditableChange(){var e;null===(e=this.editor)||void 0===e||e.setEditable(!this.disabled&&!this.readonly)}async getJSON(){return this.editor&&!this.editor.isEmpty?this.editor.getJSON():null}async getHtml(){return this.editor?this.sanitizeHtml(this.editor.getHTML()):""}async getText(){var e,t;return null!==(t=null===(e=this.editor)||void 0===e?void 0:e.getText())&&void 0!==t?t:""}async clear(){this.editor&&(this.editor.commands.clearContent(!0),this.coClear.emit())}async focusEditor(){var e;null===(e=this.editor)||void 0===e||e.commands.focus()}async setContent(e){var t;null===(t=this.editor)||void 0===t||t.commands.setContent(e)}async getEditorInstance(){var e;return null!==(e=this.editor)&&void 0!==e?e:null}get imagesEnabled(){var e;const t=this.parsedFeatures;return null!==(e=null==t?void 0:t.image)&&void 0!==e?e:"document"===this.preset}get parsedFeatures(){return b(this.features)}sanitizeHtml(e){return this.rt.sanitize(e,this.preset,this.parsedFeatures)}buildOutput(e){return u(e,(e=>this.sanitizeHtml(e)))}lockBubblePosition(e=1e3){if(!this.bubbleEl)return;const t=this.bubbleEl.getBoundingClientRect();0!==t.width&&(this.bubbleLockPos={x:t.left,y:t.top},this.bubblePositionLocked=!0,clearTimeout(this.bubbleLockTimer),this.bubbleLockTimer=setTimeout((()=>{this.bubblePositionLocked=!1}),e))}applyBubbleFixedPosition(){if(!this.bubbleEl)return;const e=this.bubbleDragged?this.bubbleDragPos:this.bubbleLockPos;this.applyingBubbleLock=!0,this.bubbleEl.style.position="fixed",this.bubbleEl.style.top=e.y+"px",this.bubbleEl.style.left=e.x+"px",this.bubbleEl.style.transform="none",this.bubbleEl.style.visibility="visible",requestAnimationFrame((()=>{this.applyingBubbleLock=!1}))}setupBubbleStyleObserver(e){e.addEventListener("co-bubble-hide",(()=>{this.bubbleDragged=!1,this.bubblePositionLocked=!1,clearTimeout(this.bubbleLockTimer),this.closeBubbleDropdowns(),e.style.position="",e.style.top="",e.style.left="",e.style.transform=""})),e.addEventListener("co-bubble-show",(()=>{this.bubbleDragged=!1,this.bubblePositionLocked=!1})),this.bubbleStyleObserver=new MutationObserver((()=>{this.applyingBubbleLock||(this.bubblePositionLocked||this.bubbleDragged)&&this.applyBubbleFixedPosition()})),this.bubbleStyleObserver.observe(e,{attributes:!0,attributeFilter:["style"]})}suppressBubble(e){this.bubbleEl&&(this.bubbleEl.classList.toggle("co-rte-bubble--suppressed",e),e&&this.closeBubbleDropdowns())}closeBubbleDropdowns(){this.bubbleEl&&(this.bubbleEl.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__panel").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-menu").forEach((e=>{e.style.display="none"})),this.bubbleLinkFormEl&&(this.bubbleLinkFormEl.style.display="none"))}refreshCharCount(){var e;const t=null===(e=this.editor)||void 0===e?void 0:e.storage;(null==t?void 0:t.characterCount)&&(this.charCount=t.characterCount.characters(),this.charCountEl&&(this.charCountEl.textContent=null!=this.maxLength?`${this.charCount} / ${this.maxLength}`:""+this.charCount))}syncToolbar(){h(this.toolbarEl,this.editor,this.imageUpload)}get resolvedToolbar(){return"auto"!==this.toolbar?this.toolbar:this.rt.defaultToolbarForPreset(this.preset)}get resolvedFontFamilies(){if(!this.fontFamilies)return e.DEFAULT_FONTS;if("string"==typeof this.fontFamilies)try{return JSON.parse(this.fontFamilies)}catch(t){return e.DEFAULT_FONTS}return this.fontFamilies}get resolvedAccountFonts(){if(this.accountFonts){if("string"==typeof this.accountFonts)try{return JSON.parse(this.accountFonts)}catch(e){return[]}return this.accountFonts}return this._loadedAccountFonts}registerFontFace(t,o){if(o&&t&&!e._registeredFonts.has(t)){e._registeredFonts.add(t);try{const e=new FontFace(t,`url("${o}")`);e.load().then((()=>document.fonts.add(e))).catch((()=>{}))}catch(e){}}}async loadFontsViaCallback(){var e,t,o;if(!this._fontLoaderCalled&&this.fontLoader){this._fontLoaderCalled=!0,this._fontLoaderLoading=!0,null===(e=this._fontDropdownRenderFn)||void 0===e||e.call(this,"");try{const e=await this.fontLoader();Array.isArray(e)&&(this._loadedAccountFonts=e.map((e=>(e.url&&this.registerFontFace(e.label,e.url),{label:e.label,value:e.value}))))}catch(e){console.error("[co-rich-text-editor] fontLoader error",e)}finally{this._fontLoaderLoading=!1;const e=(null===(t=this._fontDropdownSearchInput)||void 0===t?void 0:t.value)||"";null===(o=this._fontDropdownRenderFn)||void 0===o||o.call(this,e)}}}get helperIcon(){switch(this.status){case"error":case"warning":return"warning-circle";case"success":return"check-circle";default:return"info"}}createBubbleElement(){const e=document.createElement("div");e.className="co-rte-bubble",e.style.visibility="hidden",e.style.position="absolute",e.style.top="0",e.style.left="0",e.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),this.bubbleOutsideClickHandler=t=>{e.contains(t.target)||this.closeBubbleDropdowns()},document.addEventListener("click",this.bubbleOutsideClickHandler,!0),this.setupBubbleStyleObserver(e);const t="document"===this.preset;if(t){const t=document.createElement("div");t.className="co-rte-bubble__drag-handle",t.innerHTML='<co-icon name="dots-six-vertical" size="14"></co-icon>',t.addEventListener("mousedown",(t=>{t.preventDefault(),t.stopPropagation();const o=e.getBoundingClientRect();this.bubbleDragOffset={x:t.clientX-o.left,y:t.clientY-o.top},this.bubbleDragged||(this.bubbleDragPos={x:o.left,y:o.top}),this.bubbleDragged=!0,this.bubbleDragMoveHandler=t=>{this.bubbleDragPos.x=t.clientX-this.bubbleDragOffset.x,this.bubbleDragPos.y=t.clientY-this.bubbleDragOffset.y,e.style.position="fixed",e.style.top=this.bubbleDragPos.y+"px",e.style.left=this.bubbleDragPos.x+"px",e.style.transform="none",e.style.visibility="visible"},this.bubbleDragEndHandler=()=>{document.removeEventListener("mousemove",this.bubbleDragMoveHandler),document.removeEventListener("mouseup",this.bubbleDragEndHandler)},document.addEventListener("mousemove",this.bubbleDragMoveHandler),document.addEventListener("mouseup",this.bubbleDragEndHandler)})),e.appendChild(t)}const o=document.createElement("div");o.className="co-rte-bubble__row";let r=null,i=null,a=null,c=null,s=null,l=null;if(t){const e=this.createBubbleFontFamilySelect();o.appendChild(e),r=this.createBubbleFontSizePanel(),o.appendChild(r.wrap),i=this.createBubbleFontWeightPanel(),o.appendChild(i.wrap),o.appendChild(this.createSep());const t=this.createBubbleColorPicker("textColor",(e=>{this.editor&&this.editor.chain().focus().setColor(e).run()}));o.appendChild(t),o.appendChild(this.createSep())}const d=n(this.locale),b=[{action:"bold",icon:"text-b",label:d.bold,check:"bold"},{action:"italic",icon:"text-italic",label:d.italic,check:"italic"}];"comment"!==this.preset&&b.push({action:"underline",icon:"text-underline",label:d.underline,check:"underline"}),b.forEach((({action:e,icon:t,label:r,check:i})=>{const a=this.createBubbleBtn(t,r,e,i,(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"bold":t.toggleBold().run();break;case"italic":t.toggleItalic().run();break;case"underline":t.toggleUnderline().run()}}));o.appendChild(a)})),o.appendChild(this.createSep()),(t||"email"===this.preset)&&([{align:"left",icon:"text-align-left",label:d.alignLeft},{align:"center",icon:"text-align-center",label:d.center},{align:"right",icon:"text-align-right",label:d.alignRight},{align:"justify",icon:"text-align-justify",label:d.justify}].forEach((({align:e,icon:t,label:r})=>{const i=document.createElement("button");i.type="button",i.className="co-rte-bubble__btn",i.title=r,i.setAttribute("aria-label",r),i.setAttribute("data-action","textAlign"),i.setAttribute("data-align",e),i.innerHTML=`<co-icon name="${t}" size="16"></co-icon>`,i.addEventListener("click",(()=>{this.editor&&this.editor.chain().focus().setTextAlign(e).run()})),o.appendChild(i)})),o.appendChild(this.createSep())),"comment"===this.preset||t||(o.appendChild(this.createBubbleBtn("list-bullets",d.bulletList,"bulletList","bulletList",(()=>{this.editor&&this.editor.chain().focus().toggleBulletList().run()}))),o.appendChild(this.createBubbleBtn("list-numbers",d.orderedList,"orderedList","orderedList",(()=>{this.editor&&this.editor.chain().focus().toggleOrderedList().run()}))),o.appendChild(this.createSep()));const u=this.createBubbleBtn("link",d.link,"link","link",(()=>{this.editor&&this.toggleBubbleLinkForm(!0)}));o.appendChild(u),t&&(o.appendChild(this.createSep()),a=this.createBubbleLineHeightPanel(),c=this.createBubbleLetterSpacingPanel(),s=this.createBubbleBgColorPanel(),l=this.createBubbleOverflowMenu({lineHeight:a,letterSpacing:c,bgColor:s}),o.appendChild(l.overflowWrap)),e.appendChild(o),t&&(r&&e.appendChild(r.panelEl),i&&e.appendChild(i.panelEl),a&&e.appendChild(a),c&&e.appendChild(c),s&&e.appendChild(s));const h=document.createElement("div");h.className="co-rte-bubble__link-form",h.style.display="none",this.bubbleLinkFormEl=h;const p=document.createElement("input");p.type="url",p.className="co-rte-bubble__link-input",p.placeholder="https://...",this.bubbleLinkInputEl=p,p.addEventListener("keydown",(e=>{"Enter"===e.key&&this.submitBubbleLinkImperative(),"Escape"===e.key&&(e.stopPropagation(),this.toggleBubbleLinkForm(!1))}));const m=document.createElement("button");m.type="button",m.className="co-rte-bubble__link-btn",m.innerHTML='<co-icon name="check" size="14"></co-icon>',m.addEventListener("click",(()=>this.submitBubbleLinkImperative()));const f=document.createElement("button");return f.type="button",f.className="co-rte-bubble__link-btn co-rte-bubble__link-unlink",f.title=d.unlinkLink,f.innerHTML='<co-icon name="link-break" size="14"></co-icon>',f.addEventListener("click",(()=>{this.editor&&(this.editor.chain().focus().unsetLink().run(),this.toggleBubbleLinkForm(!1))})),this.bubbleLinkUnlinkEl=f,h.appendChild(p),h.appendChild(m),h.appendChild(f),e.appendChild(h),e}createSep(){const e=document.createElement("span");return e.className="co-rte-bubble__sep",e}positionDropdown(e,t){const o=e.getBoundingClientRect();t.removeAttribute("data-position"),t.style.removeProperty("left"),t.style.removeProperty("transform");const r=t.offsetWidth||224,i=window.innerHeight-o.bottom;if(t.setAttribute("data-position",i>=(t.offsetHeight||320)||i>o.top?"below":"above"),t.classList.contains("co-rte-bubble__color-dropdown")){const o=(e.parentElement||e).getBoundingClientRect(),i=o.left+o.width/2-r/2,a=i+r,n=8;i<n?(t.style.left="0",t.style.transform="none"):a>window.innerWidth-n&&(t.style.left="auto",t.style.right="0",t.style.transform="none")}}positionPanelNearBubble(e){if(!this.bubbleEl)return;const t=this.bubbleEl.querySelector(".co-rte-bubble__overflow-menu"),o=t&&"none"!==t.style.display?t.getBoundingClientRect():this.bubbleEl.getBoundingClientRect(),r=e.offsetHeight||320,i=e.offsetWidth||230;let a=o.top;a+r>window.innerHeight-8&&(a=window.innerHeight-8-r),a<8&&(a=8);let n=o.left-i-4;n<8&&(n=o.right+4),n+i>window.innerWidth-8&&(n=window.innerWidth-8-i),e.style.position="fixed",e.style.top=a+"px",e.style.left=n+"px",e.style.bottom="auto",e.style.right="auto",e.style.transform="none",e.removeAttribute("data-position")}createBubbleBtn(e,t,o,r,i){const a=document.createElement("button");return a.type="button",a.className="co-rte-bubble__btn",a.title=t,a.setAttribute("aria-label",t),a.setAttribute("data-action",o),a.setAttribute("data-check",r),a.innerHTML=`<co-icon name="${e}" size="16"></co-icon>`,a.addEventListener("click",i),a}createBubbleFontFamilySelect(){const e=document.createElement("div");e.className="co-rte-bubble__select co-rte-bubble__select--font",e.setAttribute("data-select","fontFamily");const t=document.createElement("button");t.type="button",t.className="co-rte-bubble__select-trigger",t.innerHTML='<span class="co-rte-bubble__select-label">Sans-serif</span><co-icon name="caret-down" size="12"></co-icon>';const o=document.createElement("div");o.className="co-rte-bubble__select-dropdown co-rte-bubble__select-dropdown--font",o.style.display="none";const r=document.createElement("div");r.className="co-rte-bubble__font-search";const i=document.createElement("input");i.type="text",i.className="co-rte-bubble__font-search-input",i.placeholder=n(this.locale).searchFont,r.appendChild(i),o.appendChild(r);const a=document.createElement("div");a.className="co-rte-bubble__font-list",o.appendChild(a);const c=(e,r)=>{const a=document.createElement("button");return a.type="button",a.className="co-rte-bubble__select-option",a.setAttribute("data-value",r),a.textContent=e,a.style.fontFamily=r.includes(",")?r:`"${r}", sans-serif`,a.addEventListener("click",(()=>{if(!this.editor)return;this.editor.chain().focus().setFontFamily(r).run(),o.style.display="none";const a=t.querySelector(".co-rte-bubble__select-label");a&&(a.textContent=e),i.value="",this.coFontPopupHide.emit()})),a},s=e=>{a.innerHTML="";const t=e.toLowerCase(),o=this.resolvedAccountFonts,r=this.resolvedFontFamilies,i=t?o.filter((e=>e.label.toLowerCase().includes(t))):o,s=t?r.filter((e=>e.label.toLowerCase().includes(t))):r;if(!i.length&&!s.length){const e=document.createElement("div");return e.className="co-rte-bubble__font-empty",e.textContent=n(this.locale).noResults,void a.appendChild(e)}if((this.fontsLoading||this._fontLoaderLoading)&&!i.length){const e=document.createElement("div");e.className="co-rte-bubble__font-empty",e.textContent=n(this.locale).loadingFonts,a.appendChild(e)}if(i.length){const e=document.createElement("div");e.className="co-rte-bubble__font-section-header",e.textContent=n(this.locale).importedFonts,a.appendChild(e),i.forEach((({label:e,value:t})=>a.appendChild(c(e,t))))}if(s.length){const e=document.createElement("div");e.className="co-rte-bubble__font-section-header",e.textContent=n(this.locale).systemFonts,a.appendChild(e),s.forEach((({label:e,value:t})=>a.appendChild(c(e,t))))}};return i.addEventListener("input",(()=>s(i.value))),this._fontDropdownRenderFn=s,this._fontDropdownSearchInput=i,t.addEventListener("click",(()=>{const r=e.closest(".co-rte-bubble");r&&(r.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e!==o&&(e.style.display="none")})),r.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})));const a="none"!==o.style.display;o.style.display=a?"none":"block",a?this.coFontPopupHide.emit():(this.coFontPopupShow.emit(),this.loadFontsViaCallback(),this.positionDropdown(t,o),s(""),setTimeout((()=>i.focus()),0))})),e.appendChild(t),e.appendChild(o),e}createBubbleSelect(e,t,o,r){const i=document.createElement("div");i.className="co-rte-bubble__select",i.setAttribute("data-select",e);const a=document.createElement("button");a.type="button",a.className="co-rte-bubble__select-trigger",a.innerHTML=`<span class="co-rte-bubble__select-label">${o}</span><co-icon name="caret-down" size="12"></co-icon>`;const n=document.createElement("div");return n.className="co-rte-bubble__select-dropdown",n.style.display="none",t.forEach((({label:t,value:o})=>{const i=document.createElement("button");i.type="button",i.className="co-rte-bubble__select-option",i.setAttribute("data-value",o),i.textContent=t,"fontWeight"===e&&(i.style.fontWeight=o),i.addEventListener("click",(()=>{r(o),n.style.display="none";const e=a.querySelector(".co-rte-bubble__select-label");e&&(e.textContent=t)})),n.appendChild(i)})),a.addEventListener("click",(()=>{const e=i.closest(".co-rte-bubble");e&&(e.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e!==n&&(e.style.display="none")})),e.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})));const t="none"!==n.style.display;n.style.display=t?"none":"block",t||this.positionDropdown(a,n)})),i.appendChild(a),i.appendChild(n),i}createBubbleColorPicker(e,t){const o=document.createElement("div");o.className="co-rte-bubble__color",o.setAttribute("data-color",e);const r="textColor"===e?"":"highlighter",i=document.createElement("button");i.type="button",i.className="co-rte-bubble__btn";const a=n(this.locale);i.title="textColor"===e?a.textColor:a.backgroundColor,i.innerHTML="textColor"===e?'<span class="co-rte-bubble__color-indicator"><span class="co-rte-bubble__color-letter">A</span><span class="co-rte-bubble__color-bar" style="background:#000000"></span></span>':`<co-icon name="${r}" size="16"></co-icon>`;const c=document.createElement("div");c.className="co-rte-bubble__color-dropdown",c.style.display="none";const s="textColor"===e?a.textColor:a.backgroundColor,{resetDrag:l}=this.addDragHeader(c,s);c.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()}));const d=document.createElement("div");d.className="co-rte-bubble__color-grid",["#000000","#434343","#666666","#999999","#b7b7b7","#cccccc","#d9d9d9","#efefef","#f3f3f3","#ffffff","#980000","#ff0000","#ff9900","#ffff00","#00ff00","#00ffff","#4a86e8","#0000ff","#9900ff","#ff00ff","#e6b8af","#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#c9daf8","#cfe2f3","#d9d2e9","#ead1dc"].forEach((e=>{const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__color-swatch",o.style.background=e,"#ffffff"===e&&(o.style.border="1px solid #e0e0e0"),o.addEventListener("click",(()=>{t(e),c.style.display="none"})),d.appendChild(o)}));const b=document.createElement("div");b.className="co-rte-bubble__color-hex";const u=document.createElement("input");u.type="text",u.className="co-rte-bubble__color-hex-input",u.placeholder="#hex",u.maxLength=7,u.addEventListener("keydown",(e=>{if("Enter"===e.key){const e=u.value.trim();/^#[0-9a-fA-F]{3,6}$/.test(e)&&(t(e),c.style.display="none",u.value="")}}));const h=document.createElement("button");return h.type="button",h.className="co-rte-bubble__color-clear",h.innerHTML='<co-icon name="x" size="12"></co-icon> '+a.noColor,h.addEventListener("click",(()=>{this.editor&&("textColor"===e?this.editor.chain().focus().unsetColor().run():this.editor.chain().focus().unsetHighlight().run(),c.style.display="none")})),c.appendChild(d),b.appendChild(u),c.appendChild(b),c.appendChild(h),i.addEventListener("click",(()=>{const e=o.closest(".co-rte-bubble");e&&(e.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e.style.display="none"})),e.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e!==c&&(e.style.display="none")}))),"none"!==c.style.display?c.style.display="none":(l(),c.style.position="",c.style.top="",c.style.left="",c.style.bottom="",c.style.right="",c.style.transform="",c.style.display="block",this.positionDropdown(i,c))})),o.appendChild(i),o.appendChild(c),o}closeAllBubblePopups(...e){if(!this.bubbleEl)return;const t=e.filter(Boolean);this.bubbleEl.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__panel").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-menu").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleLinkFormEl&&!t.includes(this.bubbleLinkFormEl)&&(this.bubbleLinkFormEl.style.display="none")}addDragHeader(e,t){let o=!1,r={x:0,y:0},i={x:0,y:0};const a=document.createElement("div");a.className="co-rte-bubble__panel-header";const n=document.createElement("div");n.className="co-rte-bubble__panel-drag",n.innerHTML='<co-icon name="dots-six" size="14"></co-icon>';const c=document.createElement("span");c.className="co-rte-bubble__panel-title",c.textContent=t;const s=document.createElement("button");return s.type="button",s.className="co-rte-bubble__panel-close",s.innerHTML='<co-icon name="x" size="14"></co-icon>',s.addEventListener("click",(()=>{e.style.display="none"})),a.appendChild(n),a.appendChild(c),a.appendChild(s),n.addEventListener("mousedown",(t=>{t.preventDefault(),t.stopPropagation();const a=e.getBoundingClientRect();i={x:t.clientX-a.left,y:t.clientY-a.top},o||(r={x:a.left,y:a.top}),o=!0;const n=t=>{r.x=t.clientX-i.x,r.y=t.clientY-i.y,e.style.position="fixed",e.style.top=r.y+"px",e.style.left=r.x+"px",e.style.bottom="auto",e.style.right="auto",e.style.transform="none",e.removeAttribute("data-position")},c=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",c)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",c)})),e.insertBefore(a,e.firstChild),{header:a,resetDrag:()=>{o=!1}}}createBubblePanel(e){const t=document.createElement("div");t.className="co-rte-bubble__select",t.setAttribute("data-select",e.name);const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__select-trigger",o.innerHTML=`<span class="co-rte-bubble__select-label">${e.triggerLabel}</span><co-icon name="caret-down" size="12"></co-icon>`;const r=document.createElement("div");r.className="co-rte-bubble__panel",r.setAttribute("data-panel",e.name),r.style.display="none";const i=document.createElement("div");i.className="co-rte-bubble__panel-header";const a=document.createElement("div");a.className="co-rte-bubble__panel-drag",a.innerHTML='<co-icon name="dots-six" size="14"></co-icon>';const n=document.createElement("span");n.className="co-rte-bubble__panel-title",n.textContent=e.title;const c=document.createElement("button");c.type="button",c.className="co-rte-bubble__panel-close",c.innerHTML='<co-icon name="x" size="14"></co-icon>',c.addEventListener("click",(()=>{r.style.display="none"})),i.appendChild(a),i.appendChild(n),i.appendChild(c),r.appendChild(i);let s=!1,l={x:0,y:0},d={x:0,y:0};if(a.addEventListener("mousedown",(e=>{e.preventDefault(),e.stopPropagation();const t=r.getBoundingClientRect();d={x:e.clientX-t.left,y:e.clientY-t.top},s||(l={x:t.left,y:t.top}),s=!0;const o=e=>{l.x=e.clientX-d.x,l.y=e.clientY-d.y,r.style.position="fixed",r.style.top=l.y+"px",r.style.left=l.x+"px",r.style.bottom="auto",r.style.right="auto",r.style.transform="none",r.removeAttribute("data-position")},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)})),e.hasCustomInput){const t=document.createElement("div");t.className="co-rte-bubble__panel-input-wrap";const o=document.createElement("input");o.type=e.inputType||"text",o.className="co-rte-bubble__panel-input",o.placeholder=e.inputPlaceholder||"",o.addEventListener("mousedown",(e=>e.stopPropagation())),o.addEventListener("keydown",(t=>{if("Enter"===t.key){const t=o.value.trim();t&&e.onCustomInput&&(e.onCustomInput(t),o.value="")}"Escape"===t.key&&(t.stopPropagation(),r.style.display="none")})),t.appendChild(o),r.appendChild(t)}const b=document.createElement("div");return b.className="co-rte-bubble__panel-options",e.options.forEach((t=>{const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__panel-option",o.setAttribute("data-value",t.value),e.renderOption?e.renderOption(t,o):o.textContent=t.label,o.addEventListener("click",(()=>{e.onSelect(t.value),r.style.display="none",s=!1})),b.appendChild(o)})),r.appendChild(b),r.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),o.addEventListener("click",(()=>{this.closeAllBubblePopups(r),"none"!==r.style.display?r.style.display="none":(s=!1,r.style.position="",r.style.top="",r.style.left="",r.style.bottom="",r.style.right="",r.style.transform="",r.style.display="block",this.positionDropdown(o,r))})),t.appendChild(o),{wrap:t,panelEl:r,updateLabel:e=>{const t=o.querySelector(".co-rte-bubble__select-label");t&&(t.textContent=e)}}}createBubbleFontSizePanel(){const e=n(this.locale),t=[{label:e.title,value:"h1"},{label:e.heading1,value:"h2"},{label:e.heading2,value:"h3"},{label:"---",value:"---"},...["8px","10px","12px","14px","16px","18px","20px","24px","28px","32px","36px","48px","64px","72px"].map((e=>({label:e,value:e})))];return this.createBubblePanel({name:"fontSize",title:e.fontSize,triggerLabel:"16px",hasCustomInput:!0,inputType:"number",inputPlaceholder:e.writeSize,options:t,renderOption:(e,t)=>{if("---"===e.value)return t.className="co-rte-bubble__panel-sep",t.disabled=!0,void(t.style.pointerEvents="none");"h1"===e.value?(t.textContent=e.label,t.style.fontSize="24px",t.style.fontWeight="700",t.style.padding="6px 8px"):"h2"===e.value?(t.textContent=e.label,t.style.fontSize="18px",t.style.fontWeight="700",t.style.padding="5px 8px"):"h3"===e.value?(t.textContent=e.label,t.style.fontSize="15px",t.style.fontWeight="700",t.style.padding="4px 8px"):(t.textContent=e.label,t.style.fontSize=Math.min(parseInt(e.value),36)+"px",t.style.lineHeight="1.3")},onSelect:e=>{if(!this.editor||"---"===e)return;const t=this.editor.chain().focus();"h1"===e?t.toggleHeading({level:1}).run():"h2"===e?t.toggleHeading({level:2}).run():"h3"===e?t.toggleHeading({level:3}).run():t.setFontSize(e).run()},onCustomInput:e=>{if(!this.editor)return;const t=parseInt(e);t>0&&this.editor.chain().focus().setFontSize(t+"px").run()}})}createBubbleFontWeightPanel(){return this.createBubblePanel({name:"fontWeight",title:n(this.locale).fontWeight,triggerLabel:"Regular",hasCustomInput:!1,options:[{label:"Thin",value:"100"},{label:"Extra Light",value:"200"},{label:"Light",value:"300"},{label:"Regular",value:"400"},{label:"Medium",value:"500"},{label:"Semi Bold",value:"600"},{label:"Bold",value:"700"},{label:"Extra Bold",value:"800"},{label:"Black",value:"900"}],renderOption:(e,t)=>{t.style.fontWeight=e.value,t.innerHTML=`<span class="co-rte-bubble__panel-opt-row"><span>${e.label}</span><span class="co-rte-bubble__panel-opt-value">${e.value}</span></span>`},onSelect:e=>{this.editor&&this.editor.chain().focus().setFontWeight(e).run()}})}createBubbleLineHeightPanel(){const{panelEl:e}=this.createBubblePanel({name:"lineHeight",title:n(this.locale).lineSpacing,triggerLabel:"1.5",hasCustomInput:!0,inputPlaceholder:"1.5, 20px, 150%...",options:[{label:"0.5",value:"0.5"},{label:"1",value:"1"},{label:"1.15",value:"1.15"},{label:"1.5",value:"1.5"},{label:"1.75",value:"1.75"},{label:"2",value:"2"},{label:"2.5",value:"2.5"},{label:"3",value:"3"},{label:"---",value:"---"},{label:"16px",value:"16px"},{label:"20px",value:"20px"},{label:"24px",value:"24px"},{label:"32px",value:"32px"},{label:"---",value:"---2"},{label:"100%",value:"100%"},{label:"150%",value:"150%"},{label:"200%",value:"200%"}],renderOption:(e,t)=>{if(e.value.startsWith("---"))return t.className="co-rte-bubble__panel-sep",t.disabled=!0,void(t.style.pointerEvents="none");t.textContent=e.label},onSelect:e=>{this.editor&&!e.startsWith("---")&&this.editor.chain().focus().setLineHeight(e).run()},onCustomInput:e=>{this.editor&&this.editor.chain().focus().setLineHeight(e).run()}});return e}createBubbleLetterSpacingPanel(){const{panelEl:e}=this.createBubblePanel({name:"letterSpacing",title:n(this.locale).letterSpacing,triggerLabel:n(this.locale).normal,hasCustomInput:!0,inputPlaceholder:"Custom (em)...",options:[{label:"-0.05em",value:"-0.05em"},{label:"Normal",value:"normal"},{label:"0.05em",value:"0.05em"},{label:"0.1em",value:"0.1em"},{label:"0.2em",value:"0.2em"}],onSelect:e=>{this.editor&&("normal"===e?this.editor.chain().focus().unsetLetterSpacing().run():this.editor.chain().focus().setLetterSpacing(e).run())},onCustomInput:e=>{if(!this.editor)return;const t=e.includes("em")||e.includes("px")?e:e+"em";this.editor.chain().focus().setLetterSpacing(t).run()}});return e}createBubbleBgColorPanel(){const e=this.createBubbleColorPicker("bgColor",(e=>{this.editor&&this.editor.chain().focus().toggleHighlight({color:e}).run()})),t=e.querySelector(".co-rte-bubble__btn");return t&&(t.style.display="none"),e}createBubbleOverflowMenu(e){const t=document.createElement("div");t.className="co-rte-bubble__overflow";const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__btn";const r=n(this.locale);o.title=r.moreOptions,o.setAttribute("aria-label",r.moreOptions),o.innerHTML='<co-icon name="dots-three" size="16"></co-icon>';const i=document.createElement("div");i.className="co-rte-bubble__overflow-menu",i.style.display="none";const{resetDrag:a}=this.addDragHeader(i,r.moreOptions);i.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),[{icon:"text-strikethrough",label:r.strikethrough,action:"strike",check:"strike",type:"toggle"},{icon:"highlighter",label:r.backgroundColor,action:"bgColor",type:"panel",panel:e.bgColor},{icon:"list-bullets",label:r.bulletList,action:"bulletList",check:"bulletList",type:"toggle"},{icon:"list-numbers",label:r.orderedList,action:"orderedList",check:"orderedList",type:"toggle"},{icon:"text-superscript",label:r.superscript,action:"superscript",check:"superscript",type:"toggle"},{icon:"text-subscript",label:r.subscript,action:"subscript",check:"subscript",type:"toggle"},{icon:"line-segments",label:r.lineSpacing,action:"lineHeight",type:"panel",panel:e.lineHeight,valueAttr:"lineHeight"},{icon:"text-aa",label:r.letterSpacing,action:"letterSpacing",type:"panel",panel:e.letterSpacing,valueAttr:"letterSpacing"},{icon:"minus",label:r.horizontalRule,action:"horizontalRule",type:"toggle"},{icon:"eraser",label:r.clearFormat,action:"clearFormat",type:"toggle"}].forEach((e=>{if("lineHeight"===e.action||"horizontalRule"===e.action){const e=document.createElement("div");e.className="co-rte-bubble__overflow-sep",i.appendChild(e)}const t=document.createElement("button");t.type="button",t.className="co-rte-bubble__overflow-item",t.setAttribute("data-overflow-item",e.action),e.check&&t.setAttribute("data-check",e.check);let o="";e.valueAttr&&(o=`<span class="co-rte-bubble__overflow-value" data-overflow-value="${e.valueAttr}"></span>`),t.innerHTML=`<co-icon name="${e.icon}" size="16"></co-icon><span>${e.label}</span>${o}`,t.addEventListener("click",(()=>{if(!this.editor)return;if("panel"===e.type&&e.panel){if("bgColor"===e.action){const t=e.panel.querySelector(".co-rte-bubble__color-dropdown");if(t){const e="none"!==t.style.display;this.closeAllBubblePopups(i,e?void 0:t),t.style.display=e?"none":"block",e||this.positionPanelNearBubble(t)}}else{const t="none"!==e.panel.style.display;this.closeAllBubblePopups(i,t?void 0:e.panel),e.panel.style.display=t?"none":"block",t||this.positionPanelNearBubble(e.panel)}return}const t=this.editor.chain().focus();switch(e.action){case"strike":t.toggleStrike().run();break;case"bulletList":t.toggleBulletList().run();break;case"orderedList":t.toggleOrderedList().run();break;case"superscript":t.toggleSuperscript().run();break;case"subscript":t.toggleSubscript().run();break;case"horizontalRule":t.setHorizontalRule().run(),i.style.display="none";break;case"clearFormat":t.unsetAllMarks().clearNodes().run(),i.style.display="none"}})),i.appendChild(t)}));const c=document.createElement("div");c.className="co-rte-bubble__overflow-table-section",c.style.display="none";const s=document.createElement("div");s.className="co-rte-bubble__overflow-sep",c.appendChild(s);const l=document.createElement("div");l.className="co-rte-bubble__overflow-section-title",l.textContent=r.tableOptions,c.appendChild(l),[{action:"addColumnBefore",icon:"columns-plus-left",label:r.addColumnBefore},{action:"addColumnAfter",icon:"columns-plus-right",label:r.addColumnAfter},{action:"addRowBefore",icon:"rows-plus-top",label:r.addRowAbove},{action:"addRowAfter",icon:"rows-plus-bottom",label:r.addRowBelow},{action:"mergeCells",icon:"arrows-merge",label:r.mergeCells},{action:"splitCell",icon:"arrows-split",label:r.splitCell},{action:"toggleHeaderRow",icon:"rows",label:r.headerRow}].forEach((({action:e,icon:t,label:o})=>{const r=document.createElement("button");r.type="button",r.className="co-rte-bubble__overflow-item",r.setAttribute("data-overflow-item",e),"toggleHeaderRow"===e&&r.setAttribute("data-check","toggleHeaderRow"),r.innerHTML=`<co-icon name="${t}" size="16"></co-icon><span>${o}</span>`,r.addEventListener("click",(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"addColumnAfter":t.addColumnAfter().run();break;case"addColumnBefore":t.addColumnBefore().run();break;case"addRowAfter":t.addRowAfter().run();break;case"addRowBefore":t.addRowBefore().run();break;case"mergeCells":t.mergeCells().run();break;case"splitCell":t.splitCell().run();break;case"toggleHeaderRow":t.toggleHeaderRow().run()}})),c.appendChild(r)}));const d=document.createElement("div");return d.className="co-rte-bubble__overflow-sep",c.appendChild(d),[{action:"deleteColumn",icon:"minus-square",label:r.deleteColumn},{action:"deleteRow",icon:"x-square",label:r.deleteRow},{action:"deleteTable",icon:"trash",label:r.deleteTable}].forEach((({action:e,icon:t,label:o})=>{const r=document.createElement("button");r.type="button",r.className="co-rte-bubble__overflow-item co-rte-bubble__overflow-item--danger",r.setAttribute("data-overflow-item",e),r.innerHTML=`<co-icon name="${t}" size="16"></co-icon><span>${o}</span>`,r.addEventListener("click",(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"deleteColumn":t.deleteColumn().run();break;case"deleteRow":t.deleteRow().run();break;case"deleteTable":t.deleteTable().run(),i.style.display="none"}})),c.appendChild(r)})),i.appendChild(c),o.addEventListener("click",(()=>{this.closeAllBubblePopups(i),"none"!==i.style.display?i.style.display="none":(a(),i.style.position="",i.style.top="",i.style.left="",i.style.bottom="",i.style.right="",i.style.transform="",i.style.display="block",this.positionDropdown(o,i))})),t.appendChild(o),t.appendChild(i),{overflowWrap:t,overflowMenu:i}}toggleBubbleLinkForm(e){var t,o;if(this.bubbleLinkFormEl&&this.bubbleLinkInputEl&&(this.bubbleLinkFormEl.style.display=e?"flex":"none",e)){const e=(null===(t=this.editor)||void 0===t?void 0:t.isActive("link"))&&(null===(o=this.editor.getAttributes("link"))||void 0===o?void 0:o.href)||"";this.bubbleLinkInputEl.value=e,this.bubbleLinkUnlinkEl&&(this.bubbleLinkUnlinkEl.style.display=e?"flex":"none"),setTimeout((()=>{var e;return null===(e=this.bubbleLinkInputEl)||void 0===e?void 0:e.focus()}),0)}}submitBubbleLinkImperative(){if(!this.editor||!this.bubbleLinkInputEl)return;const e=this.bubbleLinkInputEl.value.trim();e?(this.editor.chain().focus().setLink({href:e}).run(),this.toggleBubbleLinkForm(!1)):this.toggleBubbleLinkForm(!1)}updateBubbleActiveStates(){if(!this.editor||!this.bubbleEl)return;this.bubbleEl.querySelectorAll(".co-rte-bubble__btn[data-check]").forEach((e=>{const t=e.getAttribute("data-check");t&&e.classList.toggle("co-rte-bubble__btn--active",this.editor.isActive(t))})),this.bubbleEl.querySelectorAll(".co-rte-bubble__btn[data-align]").forEach((e=>{const t=e.getAttribute("data-align");t&&e.classList.toggle("co-rte-bubble__btn--active",this.editor.isActive({textAlign:t}))}));const e=this.bubbleEl.querySelector('[data-select="fontFamily"] .co-rte-bubble__select-label');if(e){const t=this.editor.getAttributes("textStyle"),o=(null==t?void 0:t.fontFamily)||"";e.textContent=o?o.split(",")[0].replace(/['"]/g,"").trim():"Sans-serif"}const t=this.bubbleEl.querySelector('[data-select="fontSize"] .co-rte-bubble__select-label');if(t){const e=this.editor.getAttributes("textStyle"),o=n(this.locale);t.textContent=this.editor.isActive("heading",{level:1})?o.title:this.editor.isActive("heading",{level:2})?o.headingAbbr1:this.editor.isActive("heading",{level:3})?o.headingAbbr2:(null==e?void 0:e.fontSize)||"16px"}const o=this.bubbleEl.querySelector('[data-select="fontWeight"] .co-rte-bubble__select-label');if(o){const e=this.editor.getAttributes("textStyle");o.textContent={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi-bold",700:"Bold",800:"Extra-bold",900:"Black"}[(null==e?void 0:e.fontWeight)||"400"]||"Regular"}this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-item[data-check]").forEach((e=>{const t=e.getAttribute("data-check");t&&e.classList.toggle("co-rte-bubble__overflow-item--active",this.editor.isActive(t))}));const r=this.bubbleEl.querySelector('[data-overflow-value="lineHeight"]');if(r){const e=this.editor.getAttributes("paragraph"),t=this.editor.getAttributes("heading");r.textContent=(null==e?void 0:e.lineHeight)||(null==t?void 0:t.lineHeight)||""}const i=this.bubbleEl.querySelector('[data-overflow-value="letterSpacing"]');if(i){const e=this.editor.getAttributes("textStyle");i.textContent=(null==e?void 0:e.letterSpacing)||""}const a=this.bubbleEl.querySelector(".co-rte-bubble__color-bar");if(a){const e=this.editor.getAttributes("textStyle");a.style.background=(null==e?void 0:e.color)||"#000000"}const c=this.bubbleEl.querySelector(".co-rte-bubble__overflow-table-section");if(c){const e=this.editor.isActive("table");if(c.style.display=e?"block":"none",e){const e=c.querySelector('[data-overflow-item="toggleHeaderRow"]');if(e){const t=this.editor.view,{$anchor:o}=this.editor.state.selection;let r=o.depth,i=!1;for(;r>0;){if("table"===o.node(r).type.name){const e=t.nodeDOM(o.start(r)-1);if(e){const t=(e.querySelector("table")||e).querySelector("tr");i=!!t&&null!==t.querySelector("th")}break}r--}e.classList.toggle("co-rte-bubble__overflow-item--active",i)}}}}createImageLayoutBar(){const t=document.createElement("div");t.className="co-rte-img-layout",t.style.display="none",t.addEventListener("mousedown",(e=>{e.preventDefault(),e.stopPropagation()}));const o=n(this.locale),r={inline:o.imageLayoutInline,"wrap-left":o.imageLayoutWrapLeft,"wrap-right":o.imageLayoutWrapRight,center:o.imageLayoutCenter,"full-width":o.imageLayoutFullWidth};return["inline","wrap-left","wrap-right","center","full-width"].forEach((o=>{const i=document.createElement("button");i.type="button",i.className="co-rte-img-layout__btn",i.setAttribute("data-layout",o),i.setAttribute("data-tooltip",r[o]||o),i.setAttribute("aria-label",r[o]||o),i.innerHTML=`<co-icon name="${e.IMG_LAYOUT_ICONS[o]}" size="18"></co-icon>`,i.addEventListener("click",(()=>this.setImageLayout(o))),t.appendChild(i)})),t}setImageLayout(e){if(!this.editor||!this.contentEl)return;const{state:t}=this.editor,o=t.selection;if("NodeSelection"!==o.constructor.name)return;const r=o.node;if("image"!==(null==r?void 0:r.type.name))return;const i=o.from,a=t.tr.setNodeMarkup(i,void 0,Object.assign(Object.assign({},r.attrs),{imageLayout:e}));this.editor.view.dispatch(a),this.editor.commands.setNodeSelection(i),requestAnimationFrame((()=>{this.syncImageLayouts(),this.updateImageLayoutBar()}))}getSelectedImageInfo(){var e;if(!this.editor)return null;const{state:t}=this.editor,o=t.selection;if("NodeSelection"!==o.constructor.name)return null;const r=o.node;if("image"!==(null==r?void 0:r.type.name))return null;const i=o.from,a=this.editor.view.nodeDOM(i);return a?{node:r,pos:i,container:(null===(e=a.closest)||void 0===e?void 0:e.call(a,"[data-resize-container]"))||a}:null}syncImageLayouts(){this.editor&&p(this.editor)}updateImageLayoutBarPosition(){if(!this.imgLayoutEl||!this.contentEl)return;const e=this.getSelectedImageInfo();if(!e)return;const t=e.container.getBoundingClientRect(),o=this.contentEl.getBoundingClientRect(),r=this.imgLayoutEl.offsetWidth||194;let i=t.left+t.width/2-o.left+this.contentEl.scrollLeft-r/2;i=Math.max(4,Math.min(i,o.width-r-4));const a=t.bottom-o.top+this.contentEl.scrollTop+8;this.imgLayoutEl.style.left=i+"px",this.imgLayoutEl.style.top=a+"px"}updateImageLayoutBar(){if(!this.imgLayoutEl||!this.editor)return;const e=this.getSelectedImageInfo();if(!e)return void(this.imgLayoutVisible&&(this.imgLayoutEl.style.display="none",this.imgLayoutVisible=!1));this.imgLayoutEl.style.display="flex",this.imgLayoutVisible=!0,this.updateImageLayoutBarPosition();const t=e.node.attrs.imageLayout||"inline";this.imgLayoutEl.querySelectorAll(".co-rte-img-layout__btn").forEach((e=>{e.classList.toggle("co-rte-img-layout__btn--active",e.getAttribute("data-layout")===t)}))}render(){const e=this.showCharacterCount||null!=this.maxLength,t="bottom"===this.toolbarPosition,o="none"!==this.resolvedToolbar&&!this.readonly&&!this.disabled&&r("co-rich-text-toolbar",{key:"6bcb6ab2d8023c96062ce4aa64ef6450357c22e7",class:"co-rich-text-editor__toolbar",part:"toolbar",variant:this.resolvedToolbar,position:this.toolbarPosition,disabled:this.disabled||this.readonly,locale:this.locale,attachmentsEnabled:this.attachmentsEnabled,attachmentAccept:this.attachmentAccept,onCoAttachmentsSelected:e=>{e.stopPropagation(),this.coAttachmentsSelected.emit(e.detail)},ref:e=>this.toolbarEl=e});return r("div",{key:"acb670aca986206aa8cae2960a9ace5723d5b710",class:{"co-rich-text-editor":!0,"co-rich-text-editor--focused":this.hasFocus,"co-rich-text-editor--disabled":this.disabled,"co-rich-text-editor--readonly":this.readonly,"co-rich-text-editor--loading":!this.ready,["co-rich-text-editor--"+this.status]:"default"!==this.status,"co-rich-text-editor--flat":"flat"===this.variant,"co-rich-text-editor--toolbar-bottom":t},part:"wrapper"},(this.label||this.secondaryLabel)&&r("div",{key:"0bbda76dde378f9f9dc49593409036efa0306982",class:"co-rich-text-editor__labels"},this.label&&r("label",{key:"328d770182eeba4010337e32359f6e1f96c32e54",class:"co-rich-text-editor__label",part:"label"},this.label),this.secondaryLabel&&r("span",{key:"d8b3ac25a32189686226b9fe6da311f6672ca331",class:"co-rich-text-editor__secondary-label"},this.secondaryLabel)),r("div",{key:"ed9d88e6e62a3defe9f302d252eb7f8dd33d4a0a",class:"co-rich-text-editor__frame"},!t&&o,r("div",{key:"96625d0fbbc619e7a7f7812c83d1e86df8086da4",class:"co-rich-text-editor__box"},r("div",{key:"77ce10f2902b9e758c18dabd5e91c5544c0cdd54",class:"co-rte-content",part:"content",role:"textbox","aria-multiline":"true","aria-label":this.label,"aria-required":this.required?"true":void 0,"aria-invalid":"error"===this.status?"true":void 0,ref:e=>this.contentEl=e})),r("slot",{key:"6c2fbaa3625889c4bb6a493be037f4c64b60fece",name:"content-end"}),t&&r("div",{key:"eda6a58e138c36dc412a84aa995dfcbfd6d7e93f",class:"co-rich-text-editor__toolbar-row",part:"toolbar-row"},o,r("slot",{key:"f8b01d2d2b27851d474bb174e4e42b45efd96758",name:"toolbar-end"}))),r("div",{key:"fdffcf44d4d181d30cc6f48e073e3a18c18f48ca",class:"co-rich-text-editor__footer"},this.helperText&&r("div",{key:"52ab70e42dad525b1fc1c4c27bdb98bedaf5cd90",class:"co-rich-text-editor__helper co-rich-text-editor__helper--"+this.status,part:"helper"},r("co-icon",{key:"c7e79a0292c51c9cf7927eb504401be5fd68b767",name:this.helperIcon,size:14}),r("span",{key:"4a09b04c257f3cd605f9b753d12c118312cb65fc"},this.helperText)),e&&r("span",{key:"7c25580b095af4d0ef11e77d13b07cedbf3e61c4",class:"co-rich-text-editor__count",ref:e=>this.charCountEl=e},this.charCount,null!=this.maxLength?" / "+this.maxLength:"")))}get el(){return this}static get watchers(){return{accountFonts:[{onAccountFontsChange:0}],value:[{onValueChange:0}],disabled:[{onEditableChange:0}],readonly:[{onEditableChange:0}]}}static get style(){return'co-rich-text-editor{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body)}.co-rich-text-editor{display:flex;flex-direction:column;gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__label,.co-rich-text-editor__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-rich-text-editor__frame{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:0;flex:1;position:relative;overflow:visible}.co-rich-text-editor__box{display:flex;flex-direction:column;min-height:0;flex:1;position:relative;overflow-y:auto;overflow-x:hidden}.co-rich-text-editor--flat .co-rich-text-editor__frame{background:transparent;border-color:transparent}.co-rich-text-editor--focused .co-rich-text-editor__frame{border-color:var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));box-shadow:0 0 0 3px var(--co-semantic-border-focus-ring, rgba(37, 99, 235, 0.15))}.co-rich-text-editor--error .co-rich-text-editor__frame{border-color:var(--co-color-status-error)}.co-rich-text-editor--success .co-rich-text-editor__frame{border-color:var(--co-color-status-success)}.co-rich-text-editor--disabled .co-rich-text-editor__frame,.co-rich-text-editor--readonly .co-rich-text-editor__frame{opacity:0.7;cursor:not-allowed}.co-rich-text-editor--loading .co-rte-content{min-height:96px;background:linear-gradient(90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100%);background-size:200% 100%;animation:co-rte-skeleton 1.2s ease-in-out infinite}@keyframes co-rte-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.co-rich-text-editor__toolbar{position:relative;flex-shrink:0;z-index:60;border-top-left-radius:calc(var(--co-border-radius-xs) - 1px);border-top-right-radius:calc(var(--co-border-radius-xs) - 1px)}.co-rich-text-editor__toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-md);flex-shrink:0;min-width:0;border-top:1px solid var(--co-semantic-border-subtle)}.co-rich-text-editor--toolbar-bottom .co-rich-text-editor__toolbar{border-top-left-radius:0;border-top-right-radius:0;min-width:0}.co-rte-content{min-height:96px;color:var(--co-semantic-text-default);flex:1 0 auto;display:flex;flex-direction:column}.co-rte-content .ProseMirror{outline:none;flex:1 0 auto;line-height:1.5;padding:var(--co-spacing-md);box-sizing:border-box}.co-rte-content .ProseMirror p{margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror p:last-child{margin-bottom:0}.co-rte-content .ProseMirror>p{margin-bottom:var(--co-spacing-sm) !important}.co-rte-content .ProseMirror>p:last-child{margin-bottom:0 !important}.co-rte-content .ProseMirror [style*="text-align: justify"]{text-align-last:left}.co-rte-content .ProseMirror [style*="text-align: center"]{text-align:center}.co-rte-content .ProseMirror [style*="text-align: right"]{text-align:right}.co-rte-content .ProseMirror h1,.co-rte-content .ProseMirror h2,.co-rte-content .ProseMirror h3,.co-rte-content .ProseMirror h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rte-content .ProseMirror h1{font-size:var(--co-font-size-28, 28px)}.co-rte-content .ProseMirror h2{font-size:var(--co-font-size-20, 20px)}.co-rte-content .ProseMirror h3{font-size:var(--co-font-size-16, 16px)}.co-rte-content .ProseMirror ul,.co-rte-content .ProseMirror ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"]{list-style:none;padding-left:0;margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"] li{display:flex;align-items:flex-start;gap:var(--co-spacing-sm, 8px)}.co-rte-content .ProseMirror ul[data-type="taskList"] li>label{flex:0 0 auto;margin-top:0.15em;user-select:none}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div{flex:1 1 auto;min-width:0}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div>p{margin:0}.co-rte-content .ProseMirror ul[data-type="taskList"] input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="strike"] li[data-checked="true"]>div{text-decoration:line-through;color:var(--co-semantic-text-muted, #999)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="plain"] li[data-checked="true"]>div{text-decoration:none}.co-rte-content .ProseMirror blockquote{border-left:3px solid var(--co-semantic-border-default, var(--co-semantic-border-subtle));padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm) 0;color:var(--co-semantic-text-secondary)}.co-rte-content .ProseMirror a{color:var(--co-color-base-negro, #1a1a1a);text-decoration:underline;text-underline-offset:2px}.co-rte-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0;cursor:default;-webkit-user-drag:none;user-select:none}.co-rte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a)}.co-rte-content [data-resize-container].ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-container]{position:relative;display:inline-block;width:fit-content;max-width:100%;margin:var(--co-spacing-sm) 0;line-height:0}.co-rte-content [data-resize-container][data-resize-state="true"]{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-wrapper]{position:relative;display:inline-block;line-height:0}.co-rte-content [data-resize-handle]{width:10px;height:10px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:5;opacity:0;pointer-events:none}.co-rte-content [data-resize-container][data-resize-state="true"] [data-resize-handle],.co-rte-content [data-resize-container].ProseMirror-selectednode [data-resize-handle]{opacity:1;pointer-events:auto}.co-rte-content [data-resize-handle="top-left"]{cursor:nw-resize}.co-rte-content [data-resize-handle="top-right"]{cursor:ne-resize}.co-rte-content [data-resize-handle="bottom-left"]{cursor:sw-resize}.co-rte-content [data-resize-handle="bottom-right"]{cursor:se-resize}.co-rte-content [data-resize-handle="top"],.co-rte-content [data-resize-handle="bottom"]{width:30px;height:6px;border-radius:3px;left:50% !important;transform:translateX(-50%)}.co-rte-content [data-resize-handle="top"]{cursor:n-resize}.co-rte-content [data-resize-handle="bottom"]{cursor:s-resize}.co-rte-content [data-resize-handle="left"],.co-rte-content [data-resize-handle="right"]{width:6px;height:30px;border-radius:3px;top:50% !important;transform:translateY(-50%)}.co-rte-content [data-resize-handle="left"]{cursor:w-resize}.co-rte-content [data-resize-handle="right"]{cursor:e-resize}.co-rte-content [data-resize-container] img{max-width:100%;display:block;border-radius:0;margin:0}.co-rte-content .ProseMirror hr{border:none;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin:var(--co-spacing-lg) 0}.co-rte-content .ProseMirror code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rte-content .ProseMirror pre{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:var(--co-spacing-md);border-radius:var(--co-border-radius-xs);overflow-x:auto;margin:var(--co-spacing-sm) 0}.co-rte-content .ProseMirror pre code{background:none;padding:0;border-radius:0}.co-rte-content .ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);color:var(--co-semantic-text-muted);float:left;height:0;pointer-events:none}.co-rte-content .co-rte-variable,.co-rte-content .co-rte-mention{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:0.9em;white-space:nowrap}.co-rte-content .co-rte-mention{background:var(--co-color-azul-200);color:var(--co-color-azul-800)}.co-rich-text-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-xs);min-height:0}.co-rich-text-editor__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12, 12px)}.co-rich-text-editor__helper--error{color:var(--co-color-status-error)}.co-rich-text-editor__helper--success{color:var(--co-color-status-success)}.co-rich-text-editor__count{margin-left:auto;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12, 12px)}.co-rte-bubble.co-rte-bubble--suppressed{display:none !important}.co-rte-bubble{position:absolute;z-index:50;display:flex;flex-direction:row;align-items:center;gap:2px;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);user-select:none;white-space:nowrap;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.co-rte-bubble__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--co-semantic-text-muted, #999);width:18px;height:28px;margin:0 2px 0 0;flex-shrink:0}.co-rte-bubble__drag-handle:hover{color:var(--co-semantic-text-secondary, #555)}.co-rte-bubble__drag-handle:active{cursor:grabbing}.co-rte-bubble__row{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-width:100%;min-width:0}.co-rte-bubble__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer}.co-rte-bubble__btn:hover:not(.co-rte-bubble__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-bubble__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-bubble__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-bubble__sep{display:inline-block;width:1px;height:18px;margin:0 4px;background:var(--co-semantic-border-default, rgba(0, 0, 0, 0.12));flex-shrink:0}.co-rte-bubble__select{position:relative}.co-rte-bubble__select-trigger{display:flex;align-items:center;gap:2px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-bubble__select-trigger:hover{background:var(--co-semantic-surface-hover, #f5f5f5);border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rte-bubble__select-label{max-width:72px;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__select--font .co-rte-bubble__select-label{max-width:110px}.co-rte-bubble__select-dropdown{position:absolute;bottom:100%;left:0;z-index:120;min-width:100px;max-height:260px;overflow-y:auto;padding:var(--co-spacing-xxs, 2px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal}.co-rte-bubble__select-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__select-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__select-option{display:block;width:100%;padding:4px 8px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.co-rte-bubble__select-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__select-dropdown--font{min-width:200px;max-height:320px;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;white-space:normal}.co-rte-bubble__font-search{padding:6px 6px 4px;flex-shrink:0}.co-rte-bubble__font-search-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none;box-sizing:border-box}.co-rte-bubble__font-search-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__font-list{max-height:260px;overflow-y:auto;padding:0 var(--co-spacing-xxs, 2px) var(--co-spacing-xxs, 2px)}.co-rte-bubble__font-section-header{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);text-transform:uppercase;letter-spacing:0.5px}.co-rte-bubble__font-empty{padding:12px 8px;text-align:center;color:var(--co-semantic-text-muted, #888);font-size:12px}.co-rte-bubble__color{position:relative}.co-rte-bubble__color-dropdown{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:120;width:224px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal;max-width:calc(100vw - 16px)}.co-rte-bubble__color-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__color-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rte-bubble__color-swatch{width:20px;height:20px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rte-bubble__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rte-bubble__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none}.co-rte-bubble__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-clear{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;margin-top:4px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;border-radius:3px}.co-rte-bubble__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__link-form{display:flex;align-items:center;gap:4px;margin-left:4px}.co-rte-bubble__link-input{width:160px;padding:3px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none}.co-rte-bubble__link-input::placeholder{color:var(--co-semantic-text-muted, #999)}.co-rte-bubble__link-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rte-bubble__link-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:var(--co-color-base-negro, #1a1a1a);color:#fff;cursor:pointer}.co-rte-bubble__link-btn:hover{opacity:0.9}.co-rte-bubble__link-unlink{background:var(--co-semantic-status-error, #aa2e1b)}.co-rte-bubble__panel{position:absolute;z-index:140;width:230px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);overflow:hidden;user-select:none}.co-rte-bubble__panel-header{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-subtle, #eee)}.co-rte-bubble__panel-drag{cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted, #999);flex-shrink:0}.co-rte-bubble__panel-drag:active{cursor:grabbing}.co-rte-bubble__panel-title{flex:1;font-size:12px;font-weight:600;color:var(--co-semantic-text-default, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__panel-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-muted, #999);cursor:pointer;flex-shrink:0}.co-rte-bubble__panel-close:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input-wrap{padding:6px 8px}.co-rte-bubble__panel-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__panel-options{max-height:280px;overflow-y:auto;padding:2px 4px 4px}.co-rte-bubble__panel-option{display:block;width:100%;padding:5px 8px;border:none;border-radius:3px;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__panel-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:4px 8px}.co-rte-bubble__panel-opt-row{display:flex;justify-content:space-between;align-items:center;width:100%}.co-rte-bubble__panel-opt-value{color:var(--co-semantic-text-muted, #999);font-size:11px;font-weight:400 !important;min-width:28px;text-align:right}.co-rte-bubble__panel[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px}.co-rte-bubble__panel[data-position="below"]{top:100%;bottom:auto;margin-top:4px}.co-rte-bubble__overflow{position:relative}.co-rte-bubble__overflow-menu{position:absolute;bottom:100%;right:0;z-index:130;min-width:230px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px}.co-rte-bubble__overflow-menu[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__overflow-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;font-family:inherit;font-size:13px;color:var(--co-semantic-text-default, #333);cursor:pointer;text-align:left;white-space:nowrap}.co-rte-bubble__overflow-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__overflow-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-color-base-negro, #1a1a1a);font-weight:600}.co-rte-bubble__overflow-value{margin-left:auto;color:var(--co-semantic-text-muted, #999);font-size:11px}.co-rte-bubble__overflow-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:3px 8px}.co-rte-bubble__overflow-section-title{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);letter-spacing:0.5px}.co-rte-bubble__overflow-item--danger{color:var(--co-color-status-error, #aa2e1b)}.co-rte-bubble__overflow-item--danger:hover{background:rgba(170, 46, 27, 0.06)}.co-rte-bubble__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rte-bubble__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rte-bubble__color-bar{width:14px;height:3px;border-radius:1px}.co-rte-content .callout{display:flex;gap:0.75rem;padding:1rem;border-radius:var(--co-border-radius-xs, 8px);border:2px solid;margin:1rem 0}.co-rte-content .callout--info{background:#eff6ff;border-color:#bfdbfe}.co-rte-content .callout--warning{background:#fffbeb;border-color:#fde68a}.co-rte-content .callout--success{background:#f0fdf4;border-color:#bbf7d0}.co-rte-content .callout--error{background:#fef2f2;border-color:#fecaca}.co-rte-content .callout__icon{flex-shrink:0;font-size:1.2em}.co-rte-content .callout__content{flex:1}.co-rte-content .callout__content p{margin:0}.co-rte-content table{border-collapse:collapse;table-layout:auto;width:100%;margin:1rem 0;overflow:hidden}.co-rte-content .tableWrapper{overflow-x:auto;max-width:100%}.co-rte-content td,.co-rte-content th{min-width:1em;border:1px solid var(--co-semantic-border-default, #e0e0e0);padding:0.5rem;vertical-align:top;box-sizing:border-box;position:relative}.co-rte-content th{font-weight:600;text-align:left;background-color:#e3e3e3;color:var(--co-semantic-text-default, #333)}.co-rte-content .ProseMirror table th{background-color:#e3e3e3}.co-rte-content .selectedCell{background:rgba(0, 0, 0, 0.06)}.co-rte-content .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--co-color-base-negro, #1a1a1a);pointer-events:none}.co-rte-content .ProseMirror.resize-cursor,.co-rte-content .ProseMirror.resize-cursor *{cursor:col-resize}.co-rte-content iframe{border-radius:var(--co-border-radius-xs, 8px);max-width:100%;aspect-ratio:16 / 9;width:100%;height:auto;display:block;margin:0}.co-rte-content .co-rte-embed{position:relative;display:block;max-width:100%;margin:1rem 0;line-height:0}.co-rte-content .co-rte-embed::before{content:\'\';position:absolute;inset:0;z-index:1}.co-rte-content .co-rte-embed.ProseMirror-selectednode,.co-rte-content .co-rte-embed--selected{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:2px;border-radius:var(--co-border-radius-xs, 8px)}.co-rte-content .co-rte-embed__handle{position:absolute;width:12px;height:12px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:3;opacity:0;pointer-events:none}.co-rte-content .co-rte-embed.ProseMirror-selectednode .co-rte-embed__handle,.co-rte-content .co-rte-embed--selected .co-rte-embed__handle{opacity:1;pointer-events:auto}.co-rte-content .co-rte-embed__handle--bottom-right{right:-6px;bottom:-6px;cursor:nwse-resize}.co-rte-content .co-rte-embed__handle--bottom-left{left:-6px;bottom:-6px;cursor:nesw-resize}.co-rte-content .co-rte-embed--resizing{outline:2px dashed var(--co-color-base-negro, #1a1a1a);outline-offset:2px}.co-rich-text-editor--readonly .co-rte-embed::before,.co-rich-text-editor--disabled .co-rte-embed::before{display:none}.co-rich-text-editor--readonly .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--readonly .co-rte-embed--selected,.co-rich-text-editor--disabled .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--disabled .co-rte-embed--selected{outline:none !important}.co-rte-img-layout{position:absolute;z-index:50;display:flex;align-items:center;gap:2px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 2px 12px rgba(0, 0, 0, 0.12);pointer-events:auto}.co-rte-img-layout__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-img-layout__btn:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-img-layout__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-img-layout__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-img-layout__btn[data-tooltip]{position:relative}.co-rte-img-layout__btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:100}.co-rte-img-layout__btn[data-tooltip]:hover::after{opacity:1;transition-delay:0.3s}.co-rte-content [data-resize-container][data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rte-content [data-resize-container][data-image-layout="center"]{display:block;margin:12px auto}.co-rte-content [data-resize-container][data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}.co-rte-content [data-resize-container][data-image-layout="full-width"] [data-resize-wrapper],.co-rte-content [data-resize-container][data-image-layout="full-width"] img{width:100%}@media (max-width: 768px){.co-rte-content [data-resize-container][data-image-layout="wrap-left"],.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rte-content--site .ProseMirror{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rte-content--site .ProseMirror{width:100%}}.co-rich-text-editor--readonly [data-resize-handle],.co-rich-text-editor--disabled [data-resize-handle]{display:none !important}.co-rich-text-editor--readonly [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--disabled [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--readonly img.ProseMirror-selectednode,.co-rich-text-editor--disabled img.ProseMirror-selectednode{outline:none !important}'}},[260,"co-rich-text-editor",{value:[1025],preset:[1],placeholder:[1],label:[1],secondaryLabel:[1,"secondary-label"],helperText:[1,"helper-text"],status:[1],variant:[513],disabled:[4],readonly:[4],required:[4],maxLength:[2,"max-length"],showCharacterCount:[4,"show-character-count"],autofocus:[4],toolbar:[1],toolbarPosition:[513,"toolbar-position"],features:[1],customExtensions:[16],imageUpload:[16],attachmentsEnabled:[4,"attachments-enabled"],attachmentAccept:[1,"attachment-accept"],fontFamilies:[1,"font-families"],accountFonts:[1,"account-fonts"],fontsLoading:[4,"fonts-loading"],fontLoader:[16],locale:[1],ready:[32],hasFocus:[32],getJSON:[64],getHtml:[64],getText:[64],clear:[64],focusEditor:[64],setContent:[64],getEditorInstance:[64]},void 0,{accountFonts:[{onAccountFontsChange:0}],value:[{onValueChange:0}],disabled:[{onEditableChange:0}],readonly:[{onEditableChange:0}]}]);function x(){"undefined"!=typeof customElements&&["co-rich-text-editor","co-icon","co-rich-text-toolbar"].forEach((e=>{switch(e){case"co-rich-text-editor":customElements.get(i(e))||customElements.define(i(e),f);break;case"co-icon":customElements.get(i(e))||m();break;case"co-rich-text-toolbar":customElements.get(i(e))||c()}}))}f.DEFAULT_FONTS=[{label:"Arial",value:"Arial, sans-serif"},{label:"Calibri",value:"Calibri, sans-serif"},{label:"Cambria",value:"Cambria, serif"},{label:"Comic Sans MS",value:"'Comic Sans MS', cursive"},{label:"Courier New",value:"'Courier New', monospace"},{label:"Georgia",value:"Georgia, serif"},{label:"Geist",value:"'Geist', sans-serif"},{label:"Helvetica",value:"Helvetica, Arial, sans-serif"},{label:"Impact",value:"Impact, sans-serif"},{label:"Inter",value:"'Inter', sans-serif"},{label:"Lato",value:"'Lato', sans-serif"},{label:"Montserrat",value:"'Montserrat', sans-serif"},{label:"Open Sans",value:"'Open Sans', sans-serif"},{label:"Poppins",value:"'Poppins', sans-serif"},{label:"Roboto",value:"'Roboto', sans-serif"},{label:"Segoe UI",value:"'Segoe UI', sans-serif"},{label:"Tahoma",value:"Tahoma, sans-serif"},{label:"Times New Roman",value:"'Times New Roman', serif"},{label:"Trebuchet MS",value:"'Trebuchet MS', sans-serif"},{label:"Verdana",value:"Verdana, sans-serif"}],f._registeredFonts=new Set,f.IMG_LAYOUT_ICONS={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",center:"text-align-center","full-width":"arrows-horizontal"},x();const g=f,v=x;export{g as CoRichTextEditor,v as defineCustomElement}
|
|
1
|
+
import{p as e,H as t,c as o,h as r,t as i}from"./index.js";import{R as a}from"./p-DGLDAl09.js";import{g as n,d as c}from"./p-B9wdMd_0.js";import{E as s,p as l,a as d,b,c as u,s as h,d as p}from"./p-BmdKHBZP.js";import{d as m}from"./p-KK2vAKs-.js";const f=e(class e extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.coInput=o(this,"coInput",7),this.coChange=o(this,"coChange",7),this.coFocus=o(this,"coFocus",7),this.coBlur=o(this,"coBlur",7),this.coClear=o(this,"coClear",7),this.coReady=o(this,"coReady",7),this.coFontPopupShow=o(this,"coFontPopupShow",7),this.coFontPopupHide=o(this,"coFontPopupHide",7),this.coAttachmentsSelected=o(this,"coAttachmentsSelected",7),this.value=null,this.preset="task",this.placeholder="",this.status="default",this.variant="default",this.disabled=!1,this.readonly=!1,this.required=!1,this.showCharacterCount=!1,this.autofocus=!1,this.toolbar="auto",this.toolbarPosition="top",this.attachmentsEnabled=!1,this.locale="en",this.ready=!1,this.hasFocus=!1,this.charCount=0,this.bubbleDragged=!1,this.bubbleDragOffset={x:0,y:0},this.bubbleDragPos={x:0,y:0},this.bubblePositionLocked=!1,this.bubbleLockPos={x:0,y:0},this.applyingBubbleLock=!1,this._loadedAccountFonts=[],this._fontLoaderCalled=!1,this._fontLoaderLoading=!1,this.echo=new s,this.applyingExternal=!1,this.rt=a,this.imgLayoutVisible=!1,this.handleUpdate=e=>{if(this.refreshCharCount(),this.applyingExternal)return;const t=this.buildOutput(e);this.echo.markEmitted(t),this.coInput.emit(t),this.readonly&&this.coChange.emit(t)},this.handleFocus=()=>{this.hasFocus=!0,this.coFocus.emit()},this.handleBlur=()=>{clearTimeout(this.blurTimeout),this.blurTimeout=setTimeout((()=>{var e,t;(null===(e=this.editor)||void 0===e?void 0:e.isFocused)||(null===(t=this.bubbleEl)||void 0===t?void 0:t.contains(document.activeElement))||(this.hasFocus=!1,this.editor&&this.coChange.emit(this.buildOutput(this.editor)),this.coBlur.emit())}),100)}}async componentDidLoad(){var e,t;if(!this.contentEl)return;const o="none"!==this.resolvedToolbar&&!this.readonly&&!this.disabled;o&&(this.bubbleEl=this.createBubbleElement()),this.editor=this.rt.createEditor({preset:this.preset,element:this.contentEl,content:l(this.value),editable:!this.disabled&&!this.readonly,placeholder:this.placeholder,maxLength:this.maxLength,features:this.parsedFeatures,customExtensions:null!==(e=this.customExtensions)&&void 0!==e?e:[],bubbleMenuElement:this.bubbleEl,imageUpload:this.imageUpload,onUpdate:e=>this.handleUpdate(e),onFocus:()=>this.handleFocus(),onBlur:()=>this.handleBlur()}),"document"===this.preset&&this.contentEl.classList.add("co-rte-content--site"),o&&this.imagesEnabled&&(this.contentEl.style.position="relative",this.imgLayoutEl=this.createImageLayoutBar(),this.contentEl.appendChild(this.imgLayoutEl)),this.editor.on("transaction",(({transaction:e})=>{this.bubbleEl&&(this.updateBubbleActiveStates(),(this.bubbleDragged||this.bubblePositionLocked)&&this.bubbleEl&&this.applyBubbleFixedPosition()),this.imagesEnabled&&e.docChanged&&this.syncImageLayouts(),this.updateImageLayoutBar()})),this.bubbleEl&&this.toolbarEl&&(this.toolbarEl.addEventListener("mousedown",(()=>{this.closeBubbleDropdowns()})),this.toolbarEl.addEventListener("coPopoverChange",(e=>{var t;const o=null===(t=e.detail)||void 0===t?void 0:t.open;this.suppressBubble(!!o)}))),this.echo.seed(null!==(t=this.value)&&void 0!==t?t:null),this.ready=!0,this.refreshCharCount(),this.syncToolbar(),this.coReady.emit(),this.autofocus&&this.editor.commands.focus(),requestAnimationFrame((()=>this.syncImageLayouts()))}disconnectedCallback(){var e,t,o,r;clearTimeout(this.blurTimeout),clearTimeout(this.bubbleLockTimer),null===(e=this.bubbleStyleObserver)||void 0===e||e.disconnect(),this.bubbleDragMoveHandler&&document.removeEventListener("mousemove",this.bubbleDragMoveHandler),this.bubbleDragEndHandler&&document.removeEventListener("mouseup",this.bubbleDragEndHandler),this.bubbleOutsideClickHandler&&document.removeEventListener("click",this.bubbleOutsideClickHandler,!0),null===(t=this.editor)||void 0===t||t.destroy(),this.editor=void 0,null===(o=this.bubbleEl)||void 0===o||o.remove(),null===(r=this.imgLayoutEl)||void 0===r||r.remove()}componentDidRender(){this.syncToolbar()}onAccountFontsChange(){var e;if(this._fontDropdownRenderFn){const t=(null===(e=this._fontDropdownSearchInput)||void 0===e?void 0:e.value)||"";this._fontDropdownRenderFn(t)}}onValueChange(e){if(!this.editor||this.applyingExternal)return;const t=null!=e?e:null;if(!this.echo.isEcho(t)){this.applyingExternal=!0;try{d(this.editor,t)}finally{this.applyingExternal=!1,this.echo.seed(t),this.refreshCharCount()}}}onEditableChange(){var e;null===(e=this.editor)||void 0===e||e.setEditable(!this.disabled&&!this.readonly)}async getJSON(){return this.editor&&!this.editor.isEmpty?this.editor.getJSON():null}async getHtml(){return this.editor?this.sanitizeHtml(this.editor.getHTML()):""}async getText(){var e,t;return null!==(t=null===(e=this.editor)||void 0===e?void 0:e.getText())&&void 0!==t?t:""}async clear(){this.editor&&(this.editor.commands.clearContent(!0),this.coClear.emit())}async focusEditor(){var e;null===(e=this.editor)||void 0===e||e.commands.focus()}async setContent(e){var t;null===(t=this.editor)||void 0===t||t.commands.setContent(e)}async getEditorInstance(){var e;return null!==(e=this.editor)&&void 0!==e?e:null}get imagesEnabled(){var e;const t=this.parsedFeatures;return null!==(e=null==t?void 0:t.image)&&void 0!==e?e:"document"===this.preset}get parsedFeatures(){return b(this.features)}sanitizeHtml(e){return this.rt.sanitize(e,this.preset,this.parsedFeatures)}buildOutput(e){return u(e,(e=>this.sanitizeHtml(e)))}lockBubblePosition(e=1e3){if(!this.bubbleEl)return;const t=this.bubbleEl.getBoundingClientRect();0!==t.width&&(this.bubbleLockPos={x:t.left,y:t.top},this.bubblePositionLocked=!0,clearTimeout(this.bubbleLockTimer),this.bubbleLockTimer=setTimeout((()=>{this.bubblePositionLocked=!1}),e))}applyBubbleFixedPosition(){if(!this.bubbleEl)return;const e=this.bubbleDragged?this.bubbleDragPos:this.bubbleLockPos;this.applyingBubbleLock=!0,this.bubbleEl.style.position="fixed",this.bubbleEl.style.top=e.y+"px",this.bubbleEl.style.left=e.x+"px",this.bubbleEl.style.transform="none",this.bubbleEl.style.visibility="visible",requestAnimationFrame((()=>{this.applyingBubbleLock=!1}))}setupBubbleStyleObserver(e){e.addEventListener("co-bubble-hide",(()=>{this.bubbleDragged=!1,this.bubblePositionLocked=!1,clearTimeout(this.bubbleLockTimer),this.closeBubbleDropdowns(),e.style.position="",e.style.top="",e.style.left="",e.style.transform=""})),e.addEventListener("co-bubble-show",(()=>{this.bubbleDragged=!1,this.bubblePositionLocked=!1})),this.bubbleStyleObserver=new MutationObserver((()=>{this.applyingBubbleLock||(this.bubblePositionLocked||this.bubbleDragged)&&this.applyBubbleFixedPosition()})),this.bubbleStyleObserver.observe(e,{attributes:!0,attributeFilter:["style"]})}suppressBubble(e){this.bubbleEl&&(this.bubbleEl.classList.toggle("co-rte-bubble--suppressed",e),e&&this.closeBubbleDropdowns())}closeBubbleDropdowns(){this.bubbleEl&&(this.bubbleEl.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__panel").forEach((e=>{e.style.display="none"})),this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-menu").forEach((e=>{e.style.display="none"})),this.bubbleLinkFormEl&&(this.bubbleLinkFormEl.style.display="none"))}refreshCharCount(){var e;const t=null===(e=this.editor)||void 0===e?void 0:e.storage;(null==t?void 0:t.characterCount)&&(this.charCount=t.characterCount.characters(),this.charCountEl&&(this.charCountEl.textContent=null!=this.maxLength?`${this.charCount} / ${this.maxLength}`:""+this.charCount))}syncToolbar(){h(this.toolbarEl,this.editor,this.imageUpload)}get resolvedToolbar(){return"auto"!==this.toolbar?this.toolbar:this.rt.defaultToolbarForPreset(this.preset)}get resolvedFontFamilies(){if(!this.fontFamilies)return e.DEFAULT_FONTS;if("string"==typeof this.fontFamilies)try{return JSON.parse(this.fontFamilies)}catch(t){return e.DEFAULT_FONTS}return this.fontFamilies}get resolvedAccountFonts(){if(this.accountFonts){if("string"==typeof this.accountFonts)try{return JSON.parse(this.accountFonts)}catch(e){return[]}return this.accountFonts}return this._loadedAccountFonts}registerFontFace(t,o){if(o&&t&&!e._registeredFonts.has(t)){e._registeredFonts.add(t);try{const e=new FontFace(t,`url("${o}")`);e.load().then((()=>document.fonts.add(e))).catch((()=>{}))}catch(e){}}}async loadFontsViaCallback(){var e,t,o;if(!this._fontLoaderCalled&&this.fontLoader){this._fontLoaderCalled=!0,this._fontLoaderLoading=!0,null===(e=this._fontDropdownRenderFn)||void 0===e||e.call(this,"");try{const e=await this.fontLoader();Array.isArray(e)&&(this._loadedAccountFonts=e.map((e=>(e.url&&this.registerFontFace(e.label,e.url),{label:e.label,value:e.value}))))}catch(e){console.error("[co-rich-text-editor] fontLoader error",e)}finally{this._fontLoaderLoading=!1;const e=(null===(t=this._fontDropdownSearchInput)||void 0===t?void 0:t.value)||"";null===(o=this._fontDropdownRenderFn)||void 0===o||o.call(this,e)}}}get helperIcon(){switch(this.status){case"error":case"warning":return"warning-circle";case"success":return"check-circle";default:return"info"}}createBubbleElement(){const e=document.createElement("div");e.className="co-rte-bubble",e.style.visibility="hidden",e.style.position="absolute",e.style.top="0",e.style.left="0",e.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),this.bubbleOutsideClickHandler=t=>{e.contains(t.target)||this.closeBubbleDropdowns()},document.addEventListener("click",this.bubbleOutsideClickHandler,!0),this.setupBubbleStyleObserver(e);const t="document"===this.preset;if(t){const t=document.createElement("div");t.className="co-rte-bubble__drag-handle",t.innerHTML='<co-icon name="dots-six-vertical" size="14"></co-icon>',t.addEventListener("mousedown",(t=>{t.preventDefault(),t.stopPropagation();const o=e.getBoundingClientRect();this.bubbleDragOffset={x:t.clientX-o.left,y:t.clientY-o.top},this.bubbleDragged||(this.bubbleDragPos={x:o.left,y:o.top}),this.bubbleDragged=!0,this.bubbleDragMoveHandler=t=>{this.bubbleDragPos.x=t.clientX-this.bubbleDragOffset.x,this.bubbleDragPos.y=t.clientY-this.bubbleDragOffset.y,e.style.position="fixed",e.style.top=this.bubbleDragPos.y+"px",e.style.left=this.bubbleDragPos.x+"px",e.style.transform="none",e.style.visibility="visible"},this.bubbleDragEndHandler=()=>{document.removeEventListener("mousemove",this.bubbleDragMoveHandler),document.removeEventListener("mouseup",this.bubbleDragEndHandler)},document.addEventListener("mousemove",this.bubbleDragMoveHandler),document.addEventListener("mouseup",this.bubbleDragEndHandler)})),e.appendChild(t)}const o=document.createElement("div");o.className="co-rte-bubble__row";let r=null,i=null,a=null,c=null,s=null,l=null;if(t){const e=this.createBubbleFontFamilySelect();o.appendChild(e),r=this.createBubbleFontSizePanel(),o.appendChild(r.wrap),i=this.createBubbleFontWeightPanel(),o.appendChild(i.wrap),o.appendChild(this.createSep());const t=this.createBubbleColorPicker("textColor",(e=>{this.editor&&this.editor.chain().focus().setColor(e).run()}));o.appendChild(t),o.appendChild(this.createSep())}const d=n(this.locale),b=[{action:"bold",icon:"text-b",label:d.bold,check:"bold"},{action:"italic",icon:"text-italic",label:d.italic,check:"italic"}];"comment"!==this.preset&&b.push({action:"underline",icon:"text-underline",label:d.underline,check:"underline"}),b.forEach((({action:e,icon:t,label:r,check:i})=>{const a=this.createBubbleBtn(t,r,e,i,(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"bold":t.toggleBold().run();break;case"italic":t.toggleItalic().run();break;case"underline":t.toggleUnderline().run()}}));o.appendChild(a)})),o.appendChild(this.createSep()),(t||"email"===this.preset)&&([{align:"left",icon:"text-align-left",label:d.alignLeft},{align:"center",icon:"text-align-center",label:d.center},{align:"right",icon:"text-align-right",label:d.alignRight},{align:"justify",icon:"text-align-justify",label:d.justify}].forEach((({align:e,icon:t,label:r})=>{const i=document.createElement("button");i.type="button",i.className="co-rte-bubble__btn",i.title=r,i.setAttribute("aria-label",r),i.setAttribute("data-action","textAlign"),i.setAttribute("data-align",e),i.innerHTML=`<co-icon name="${t}" size="16"></co-icon>`,i.addEventListener("click",(()=>{this.editor&&this.editor.chain().focus().setTextAlign(e).run()})),o.appendChild(i)})),o.appendChild(this.createSep())),"comment"===this.preset||t||(o.appendChild(this.createBubbleBtn("list-bullets",d.bulletList,"bulletList","bulletList",(()=>{this.editor&&this.editor.chain().focus().toggleBulletList().run()}))),o.appendChild(this.createBubbleBtn("list-numbers",d.orderedList,"orderedList","orderedList",(()=>{this.editor&&this.editor.chain().focus().toggleOrderedList().run()}))),o.appendChild(this.createSep()));const u=this.createBubbleBtn("link",d.link,"link","link",(()=>{this.editor&&this.toggleBubbleLinkForm(!0)}));o.appendChild(u),t&&(o.appendChild(this.createSep()),a=this.createBubbleLineHeightPanel(),c=this.createBubbleLetterSpacingPanel(),s=this.createBubbleBgColorPanel(),l=this.createBubbleOverflowMenu({lineHeight:a,letterSpacing:c,bgColor:s}),o.appendChild(l.overflowWrap)),e.appendChild(o),t&&(r&&e.appendChild(r.panelEl),i&&e.appendChild(i.panelEl),a&&e.appendChild(a),c&&e.appendChild(c),s&&e.appendChild(s));const h=document.createElement("div");h.className="co-rte-bubble__link-form",h.style.display="none",this.bubbleLinkFormEl=h;const p=document.createElement("input");p.type="url",p.className="co-rte-bubble__link-input",p.placeholder="https://...",this.bubbleLinkInputEl=p,p.addEventListener("keydown",(e=>{"Enter"===e.key&&this.submitBubbleLinkImperative(),"Escape"===e.key&&(e.stopPropagation(),this.toggleBubbleLinkForm(!1))}));const m=document.createElement("button");m.type="button",m.className="co-rte-bubble__link-btn",m.innerHTML='<co-icon name="check" size="14"></co-icon>',m.addEventListener("click",(()=>this.submitBubbleLinkImperative()));const f=document.createElement("button");return f.type="button",f.className="co-rte-bubble__link-btn co-rte-bubble__link-unlink",f.title=d.unlinkLink,f.innerHTML='<co-icon name="link-break" size="14"></co-icon>',f.addEventListener("click",(()=>{this.editor&&(this.editor.chain().focus().unsetLink().run(),this.toggleBubbleLinkForm(!1))})),this.bubbleLinkUnlinkEl=f,h.appendChild(p),h.appendChild(m),h.appendChild(f),e.appendChild(h),e}createSep(){const e=document.createElement("span");return e.className="co-rte-bubble__sep",e}positionDropdown(e,t){const o=e.getBoundingClientRect();t.removeAttribute("data-position"),t.style.removeProperty("left"),t.style.removeProperty("transform");const r=t.offsetWidth||224,i=window.innerHeight-o.bottom;if(t.setAttribute("data-position",i>=(t.offsetHeight||320)||i>o.top?"below":"above"),t.classList.contains("co-rte-bubble__color-dropdown")){const o=(e.parentElement||e).getBoundingClientRect(),i=o.left+o.width/2-r/2,a=i+r,n=8;i<n?(t.style.left="0",t.style.transform="none"):a>window.innerWidth-n&&(t.style.left="auto",t.style.right="0",t.style.transform="none")}}positionPanelNearBubble(e){if(!this.bubbleEl)return;const t=this.bubbleEl.querySelector(".co-rte-bubble__overflow-menu"),o=t&&"none"!==t.style.display?t.getBoundingClientRect():this.bubbleEl.getBoundingClientRect(),r=e.offsetHeight||320,i=e.offsetWidth||230;let a=o.top;a+r>window.innerHeight-8&&(a=window.innerHeight-8-r),a<8&&(a=8);let n=o.left-i-4;n<8&&(n=o.right+4),n+i>window.innerWidth-8&&(n=window.innerWidth-8-i),e.style.position="fixed",e.style.top=a+"px",e.style.left=n+"px",e.style.bottom="auto",e.style.right="auto",e.style.transform="none",e.removeAttribute("data-position")}createBubbleBtn(e,t,o,r,i){const a=document.createElement("button");return a.type="button",a.className="co-rte-bubble__btn",a.title=t,a.setAttribute("aria-label",t),a.setAttribute("data-action",o),a.setAttribute("data-check",r),a.innerHTML=`<co-icon name="${e}" size="16"></co-icon>`,a.addEventListener("click",i),a}createBubbleFontFamilySelect(){const e=document.createElement("div");e.className="co-rte-bubble__select co-rte-bubble__select--font",e.setAttribute("data-select","fontFamily");const t=document.createElement("button");t.type="button",t.className="co-rte-bubble__select-trigger",t.innerHTML='<span class="co-rte-bubble__select-label">Sans-serif</span><co-icon name="caret-down" size="12"></co-icon>';const o=document.createElement("div");o.className="co-rte-bubble__select-dropdown co-rte-bubble__select-dropdown--font",o.style.display="none";const r=document.createElement("div");r.className="co-rte-bubble__font-search";const i=document.createElement("input");i.type="text",i.className="co-rte-bubble__font-search-input",i.placeholder=n(this.locale).searchFont,r.appendChild(i),o.appendChild(r);const a=document.createElement("div");a.className="co-rte-bubble__font-list",o.appendChild(a);const c=(e,r)=>{const a=document.createElement("button");return a.type="button",a.className="co-rte-bubble__select-option",a.setAttribute("data-value",r),a.textContent=e,a.style.fontFamily=r.includes(",")?r:`"${r}", sans-serif`,a.addEventListener("click",(()=>{if(!this.editor)return;this.editor.chain().focus().setFontFamily(r).run(),o.style.display="none";const a=t.querySelector(".co-rte-bubble__select-label");a&&(a.textContent=e),i.value="",this.coFontPopupHide.emit()})),a},s=e=>{a.innerHTML="";const t=e.toLowerCase(),o=this.resolvedAccountFonts,r=this.resolvedFontFamilies,i=t?o.filter((e=>e.label.toLowerCase().includes(t))):o,s=t?r.filter((e=>e.label.toLowerCase().includes(t))):r;if(!i.length&&!s.length){const e=document.createElement("div");return e.className="co-rte-bubble__font-empty",e.textContent=n(this.locale).noResults,void a.appendChild(e)}if((this.fontsLoading||this._fontLoaderLoading)&&!i.length){const e=document.createElement("div");e.className="co-rte-bubble__font-empty",e.textContent=n(this.locale).loadingFonts,a.appendChild(e)}if(i.length){const e=document.createElement("div");e.className="co-rte-bubble__font-section-header",e.textContent=n(this.locale).importedFonts,a.appendChild(e),i.forEach((({label:e,value:t})=>a.appendChild(c(e,t))))}if(s.length){const e=document.createElement("div");e.className="co-rte-bubble__font-section-header",e.textContent=n(this.locale).systemFonts,a.appendChild(e),s.forEach((({label:e,value:t})=>a.appendChild(c(e,t))))}};return i.addEventListener("input",(()=>s(i.value))),this._fontDropdownRenderFn=s,this._fontDropdownSearchInput=i,t.addEventListener("click",(()=>{const r=e.closest(".co-rte-bubble");r&&(r.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e!==o&&(e.style.display="none")})),r.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})));const a="none"!==o.style.display;o.style.display=a?"none":"block",a?this.coFontPopupHide.emit():(this.coFontPopupShow.emit(),this.loadFontsViaCallback(),this.positionDropdown(t,o),s(""),setTimeout((()=>i.focus()),0))})),e.appendChild(t),e.appendChild(o),e}createBubbleSelect(e,t,o,r){const i=document.createElement("div");i.className="co-rte-bubble__select",i.setAttribute("data-select",e);const a=document.createElement("button");a.type="button",a.className="co-rte-bubble__select-trigger",a.innerHTML=`<span class="co-rte-bubble__select-label">${o}</span><co-icon name="caret-down" size="12"></co-icon>`;const n=document.createElement("div");return n.className="co-rte-bubble__select-dropdown",n.style.display="none",t.forEach((({label:t,value:o})=>{const i=document.createElement("button");i.type="button",i.className="co-rte-bubble__select-option",i.setAttribute("data-value",o),i.textContent=t,"fontWeight"===e&&(i.style.fontWeight=o),i.addEventListener("click",(()=>{r(o),n.style.display="none";const e=a.querySelector(".co-rte-bubble__select-label");e&&(e.textContent=t)})),n.appendChild(i)})),a.addEventListener("click",(()=>{const e=i.closest(".co-rte-bubble");e&&(e.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e!==n&&(e.style.display="none")})),e.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e.style.display="none"})));const t="none"!==n.style.display;n.style.display=t?"none":"block",t||this.positionDropdown(a,n)})),i.appendChild(a),i.appendChild(n),i}createBubbleColorPicker(e,t){const o=document.createElement("div");o.className="co-rte-bubble__color",o.setAttribute("data-color",e);const r="textColor"===e?"":"highlighter",i=document.createElement("button");i.type="button",i.className="co-rte-bubble__btn";const a=n(this.locale);i.title="textColor"===e?a.textColor:a.backgroundColor,i.innerHTML="textColor"===e?'<span class="co-rte-bubble__color-indicator"><span class="co-rte-bubble__color-letter">A</span><span class="co-rte-bubble__color-bar" style="background:#000000"></span></span>':`<co-icon name="${r}" size="16"></co-icon>`;const c=document.createElement("div");c.className="co-rte-bubble__color-dropdown",c.style.display="none";const s="textColor"===e?a.textColor:a.backgroundColor,{resetDrag:l}=this.addDragHeader(c,s);c.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()}));const d=document.createElement("div");d.className="co-rte-bubble__color-grid",["#000000","#434343","#666666","#999999","#b7b7b7","#cccccc","#d9d9d9","#efefef","#f3f3f3","#ffffff","#980000","#ff0000","#ff9900","#ffff00","#00ff00","#00ffff","#4a86e8","#0000ff","#9900ff","#ff00ff","#e6b8af","#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#c9daf8","#cfe2f3","#d9d2e9","#ead1dc"].forEach((e=>{const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__color-swatch",o.style.background=e,"#ffffff"===e&&(o.style.border="1px solid #e0e0e0"),o.addEventListener("click",(()=>{t(e),c.style.display="none"})),d.appendChild(o)}));const b=document.createElement("div");b.className="co-rte-bubble__color-hex";const u=document.createElement("input");u.type="text",u.className="co-rte-bubble__color-hex-input",u.placeholder="#hex",u.maxLength=7,u.addEventListener("keydown",(e=>{if("Enter"===e.key){const e=u.value.trim();/^#[0-9a-fA-F]{3,6}$/.test(e)&&(t(e),c.style.display="none",u.value="")}}));const h=document.createElement("button");return h.type="button",h.className="co-rte-bubble__color-clear",h.innerHTML='<co-icon name="x" size="12"></co-icon> '+a.noColor,h.addEventListener("click",(()=>{this.editor&&("textColor"===e?this.editor.chain().focus().unsetColor().run():this.editor.chain().focus().unsetHighlight().run(),c.style.display="none")})),c.appendChild(d),b.appendChild(u),c.appendChild(b),c.appendChild(h),i.addEventListener("click",(()=>{const e=o.closest(".co-rte-bubble");e&&(e.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{e.style.display="none"})),e.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{e!==c&&(e.style.display="none")}))),"none"!==c.style.display?c.style.display="none":(l(),c.style.position="",c.style.top="",c.style.left="",c.style.bottom="",c.style.right="",c.style.transform="",c.style.display="block",this.positionDropdown(i,c))})),o.appendChild(i),o.appendChild(c),o}closeAllBubblePopups(...e){if(!this.bubbleEl)return;const t=e.filter(Boolean);this.bubbleEl.querySelectorAll(".co-rte-bubble__select-dropdown").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__color-dropdown").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__panel").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-menu").forEach((e=>{t.includes(e)||(e.style.display="none")})),this.bubbleLinkFormEl&&!t.includes(this.bubbleLinkFormEl)&&(this.bubbleLinkFormEl.style.display="none")}addDragHeader(e,t){let o=!1,r={x:0,y:0},i={x:0,y:0};const a=document.createElement("div");a.className="co-rte-bubble__panel-header";const n=document.createElement("div");n.className="co-rte-bubble__panel-drag",n.innerHTML='<co-icon name="dots-six" size="14"></co-icon>';const c=document.createElement("span");c.className="co-rte-bubble__panel-title",c.textContent=t;const s=document.createElement("button");return s.type="button",s.className="co-rte-bubble__panel-close",s.innerHTML='<co-icon name="x" size="14"></co-icon>',s.addEventListener("click",(()=>{e.style.display="none"})),a.appendChild(n),a.appendChild(c),a.appendChild(s),n.addEventListener("mousedown",(t=>{t.preventDefault(),t.stopPropagation();const a=e.getBoundingClientRect();i={x:t.clientX-a.left,y:t.clientY-a.top},o||(r={x:a.left,y:a.top}),o=!0;const n=t=>{r.x=t.clientX-i.x,r.y=t.clientY-i.y,e.style.position="fixed",e.style.top=r.y+"px",e.style.left=r.x+"px",e.style.bottom="auto",e.style.right="auto",e.style.transform="none",e.removeAttribute("data-position")},c=()=>{document.removeEventListener("mousemove",n),document.removeEventListener("mouseup",c)};document.addEventListener("mousemove",n),document.addEventListener("mouseup",c)})),e.insertBefore(a,e.firstChild),{header:a,resetDrag:()=>{o=!1}}}createBubblePanel(e){const t=document.createElement("div");t.className="co-rte-bubble__select",t.setAttribute("data-select",e.name);const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__select-trigger",o.innerHTML=`<span class="co-rte-bubble__select-label">${e.triggerLabel}</span><co-icon name="caret-down" size="12"></co-icon>`;const r=document.createElement("div");r.className="co-rte-bubble__panel",r.setAttribute("data-panel",e.name),r.style.display="none";const i=document.createElement("div");i.className="co-rte-bubble__panel-header";const a=document.createElement("div");a.className="co-rte-bubble__panel-drag",a.innerHTML='<co-icon name="dots-six" size="14"></co-icon>';const n=document.createElement("span");n.className="co-rte-bubble__panel-title",n.textContent=e.title;const c=document.createElement("button");c.type="button",c.className="co-rte-bubble__panel-close",c.innerHTML='<co-icon name="x" size="14"></co-icon>',c.addEventListener("click",(()=>{r.style.display="none"})),i.appendChild(a),i.appendChild(n),i.appendChild(c),r.appendChild(i);let s=!1,l={x:0,y:0},d={x:0,y:0};if(a.addEventListener("mousedown",(e=>{e.preventDefault(),e.stopPropagation();const t=r.getBoundingClientRect();d={x:e.clientX-t.left,y:e.clientY-t.top},s||(l={x:t.left,y:t.top}),s=!0;const o=e=>{l.x=e.clientX-d.x,l.y=e.clientY-d.y,r.style.position="fixed",r.style.top=l.y+"px",r.style.left=l.x+"px",r.style.bottom="auto",r.style.right="auto",r.style.transform="none",r.removeAttribute("data-position")},i=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",i)};document.addEventListener("mousemove",o),document.addEventListener("mouseup",i)})),e.hasCustomInput){const t=document.createElement("div");t.className="co-rte-bubble__panel-input-wrap";const o=document.createElement("input");o.type=e.inputType||"text",o.className="co-rte-bubble__panel-input",o.placeholder=e.inputPlaceholder||"",o.addEventListener("mousedown",(e=>e.stopPropagation())),o.addEventListener("keydown",(t=>{if("Enter"===t.key){const t=o.value.trim();t&&e.onCustomInput&&(e.onCustomInput(t),o.value="")}"Escape"===t.key&&(t.stopPropagation(),r.style.display="none")})),t.appendChild(o),r.appendChild(t)}const b=document.createElement("div");return b.className="co-rte-bubble__panel-options",e.options.forEach((t=>{const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__panel-option",o.setAttribute("data-value",t.value),e.renderOption?e.renderOption(t,o):o.textContent=t.label,o.addEventListener("click",(()=>{e.onSelect(t.value),r.style.display="none",s=!1})),b.appendChild(o)})),r.appendChild(b),r.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),o.addEventListener("click",(()=>{this.closeAllBubblePopups(r),"none"!==r.style.display?r.style.display="none":(s=!1,r.style.position="",r.style.top="",r.style.left="",r.style.bottom="",r.style.right="",r.style.transform="",r.style.display="block",this.positionDropdown(o,r))})),t.appendChild(o),{wrap:t,panelEl:r,updateLabel:e=>{const t=o.querySelector(".co-rte-bubble__select-label");t&&(t.textContent=e)}}}createBubbleFontSizePanel(){const e=n(this.locale),t=[{label:e.title,value:"h1"},{label:e.heading1,value:"h2"},{label:e.heading2,value:"h3"},{label:"---",value:"---"},...["8px","10px","12px","14px","16px","18px","20px","24px","28px","32px","36px","48px","64px","72px"].map((e=>({label:e,value:e})))];return this.createBubblePanel({name:"fontSize",title:e.fontSize,triggerLabel:"16px",hasCustomInput:!0,inputType:"number",inputPlaceholder:e.writeSize,options:t,renderOption:(e,t)=>{if("---"===e.value)return t.className="co-rte-bubble__panel-sep",t.disabled=!0,void(t.style.pointerEvents="none");"h1"===e.value?(t.textContent=e.label,t.style.fontSize="24px",t.style.fontWeight="700",t.style.padding="6px 8px"):"h2"===e.value?(t.textContent=e.label,t.style.fontSize="18px",t.style.fontWeight="700",t.style.padding="5px 8px"):"h3"===e.value?(t.textContent=e.label,t.style.fontSize="15px",t.style.fontWeight="700",t.style.padding="4px 8px"):(t.textContent=e.label,t.style.fontSize=Math.min(parseInt(e.value),36)+"px",t.style.lineHeight="1.3")},onSelect:e=>{if(!this.editor||"---"===e)return;const t=this.editor.chain().focus();"h1"===e?t.toggleHeading({level:1}).run():"h2"===e?t.toggleHeading({level:2}).run():"h3"===e?t.toggleHeading({level:3}).run():t.setFontSize(e).run()},onCustomInput:e=>{if(!this.editor)return;const t=parseInt(e);t>0&&this.editor.chain().focus().setFontSize(t+"px").run()}})}createBubbleFontWeightPanel(){return this.createBubblePanel({name:"fontWeight",title:n(this.locale).fontWeight,triggerLabel:"Regular",hasCustomInput:!1,options:[{label:"Thin",value:"100"},{label:"Extra Light",value:"200"},{label:"Light",value:"300"},{label:"Regular",value:"400"},{label:"Medium",value:"500"},{label:"Semi Bold",value:"600"},{label:"Bold",value:"700"},{label:"Extra Bold",value:"800"},{label:"Black",value:"900"}],renderOption:(e,t)=>{t.style.fontWeight=e.value,t.innerHTML=`<span class="co-rte-bubble__panel-opt-row"><span>${e.label}</span><span class="co-rte-bubble__panel-opt-value">${e.value}</span></span>`},onSelect:e=>{this.editor&&this.editor.chain().focus().setFontWeight(e).run()}})}createBubbleLineHeightPanel(){const{panelEl:e}=this.createBubblePanel({name:"lineHeight",title:n(this.locale).lineSpacing,triggerLabel:"1.5",hasCustomInput:!0,inputPlaceholder:"1.5, 20px, 150%...",options:[{label:"0.5",value:"0.5"},{label:"1",value:"1"},{label:"1.15",value:"1.15"},{label:"1.5",value:"1.5"},{label:"1.75",value:"1.75"},{label:"2",value:"2"},{label:"2.5",value:"2.5"},{label:"3",value:"3"},{label:"---",value:"---"},{label:"16px",value:"16px"},{label:"20px",value:"20px"},{label:"24px",value:"24px"},{label:"32px",value:"32px"},{label:"---",value:"---2"},{label:"100%",value:"100%"},{label:"150%",value:"150%"},{label:"200%",value:"200%"}],renderOption:(e,t)=>{if(e.value.startsWith("---"))return t.className="co-rte-bubble__panel-sep",t.disabled=!0,void(t.style.pointerEvents="none");t.textContent=e.label},onSelect:e=>{this.editor&&!e.startsWith("---")&&this.editor.chain().focus().setLineHeight(e).run()},onCustomInput:e=>{this.editor&&this.editor.chain().focus().setLineHeight(e).run()}});return e}createBubbleLetterSpacingPanel(){const{panelEl:e}=this.createBubblePanel({name:"letterSpacing",title:n(this.locale).letterSpacing,triggerLabel:n(this.locale).normal,hasCustomInput:!0,inputPlaceholder:"Custom (em)...",options:[{label:"-0.05em",value:"-0.05em"},{label:"Normal",value:"normal"},{label:"0.05em",value:"0.05em"},{label:"0.1em",value:"0.1em"},{label:"0.2em",value:"0.2em"}],onSelect:e=>{this.editor&&("normal"===e?this.editor.chain().focus().unsetLetterSpacing().run():this.editor.chain().focus().setLetterSpacing(e).run())},onCustomInput:e=>{if(!this.editor)return;const t=e.includes("em")||e.includes("px")?e:e+"em";this.editor.chain().focus().setLetterSpacing(t).run()}});return e}createBubbleBgColorPanel(){const e=this.createBubbleColorPicker("bgColor",(e=>{this.editor&&this.editor.chain().focus().toggleHighlight({color:e}).run()})),t=e.querySelector(".co-rte-bubble__btn");return t&&(t.style.display="none"),e}createBubbleOverflowMenu(e){const t=document.createElement("div");t.className="co-rte-bubble__overflow";const o=document.createElement("button");o.type="button",o.className="co-rte-bubble__btn";const r=n(this.locale);o.title=r.moreOptions,o.setAttribute("aria-label",r.moreOptions),o.innerHTML='<co-icon name="dots-three" size="16"></co-icon>';const i=document.createElement("div");i.className="co-rte-bubble__overflow-menu",i.style.display="none";const{resetDrag:a}=this.addDragHeader(i,r.moreOptions);i.addEventListener("mousedown",(e=>{"INPUT"!==e.target.tagName&&e.preventDefault(),this.lockBubblePosition()})),[{icon:"text-strikethrough",label:r.strikethrough,action:"strike",check:"strike",type:"toggle"},{icon:"highlighter",label:r.backgroundColor,action:"bgColor",type:"panel",panel:e.bgColor},{icon:"list-bullets",label:r.bulletList,action:"bulletList",check:"bulletList",type:"toggle"},{icon:"list-numbers",label:r.orderedList,action:"orderedList",check:"orderedList",type:"toggle"},{icon:"text-superscript",label:r.superscript,action:"superscript",check:"superscript",type:"toggle"},{icon:"text-subscript",label:r.subscript,action:"subscript",check:"subscript",type:"toggle"},{icon:"line-segments",label:r.lineSpacing,action:"lineHeight",type:"panel",panel:e.lineHeight,valueAttr:"lineHeight"},{icon:"text-aa",label:r.letterSpacing,action:"letterSpacing",type:"panel",panel:e.letterSpacing,valueAttr:"letterSpacing"},{icon:"minus",label:r.horizontalRule,action:"horizontalRule",type:"toggle"},{icon:"eraser",label:r.clearFormat,action:"clearFormat",type:"toggle"}].forEach((e=>{if("lineHeight"===e.action||"horizontalRule"===e.action){const e=document.createElement("div");e.className="co-rte-bubble__overflow-sep",i.appendChild(e)}const t=document.createElement("button");t.type="button",t.className="co-rte-bubble__overflow-item",t.setAttribute("data-overflow-item",e.action),e.check&&t.setAttribute("data-check",e.check);let o="";e.valueAttr&&(o=`<span class="co-rte-bubble__overflow-value" data-overflow-value="${e.valueAttr}"></span>`),t.innerHTML=`<co-icon name="${e.icon}" size="16"></co-icon><span>${e.label}</span>${o}`,t.addEventListener("click",(()=>{if(!this.editor)return;if("panel"===e.type&&e.panel){if("bgColor"===e.action){const t=e.panel.querySelector(".co-rte-bubble__color-dropdown");if(t){const e="none"!==t.style.display;this.closeAllBubblePopups(i,e?void 0:t),t.style.display=e?"none":"block",e||this.positionPanelNearBubble(t)}}else{const t="none"!==e.panel.style.display;this.closeAllBubblePopups(i,t?void 0:e.panel),e.panel.style.display=t?"none":"block",t||this.positionPanelNearBubble(e.panel)}return}const t=this.editor.chain().focus();switch(e.action){case"strike":t.toggleStrike().run();break;case"bulletList":t.toggleBulletList().run();break;case"orderedList":t.toggleOrderedList().run();break;case"superscript":t.toggleSuperscript().run();break;case"subscript":t.toggleSubscript().run();break;case"horizontalRule":t.setHorizontalRule().run(),i.style.display="none";break;case"clearFormat":t.unsetAllMarks().clearNodes().run(),i.style.display="none"}})),i.appendChild(t)}));const c=document.createElement("div");c.className="co-rte-bubble__overflow-table-section",c.style.display="none";const s=document.createElement("div");s.className="co-rte-bubble__overflow-sep",c.appendChild(s);const l=document.createElement("div");l.className="co-rte-bubble__overflow-section-title",l.textContent=r.tableOptions,c.appendChild(l),[{action:"addColumnBefore",icon:"columns-plus-left",label:r.addColumnBefore},{action:"addColumnAfter",icon:"columns-plus-right",label:r.addColumnAfter},{action:"addRowBefore",icon:"rows-plus-top",label:r.addRowAbove},{action:"addRowAfter",icon:"rows-plus-bottom",label:r.addRowBelow},{action:"mergeCells",icon:"arrows-merge",label:r.mergeCells},{action:"splitCell",icon:"arrows-split",label:r.splitCell},{action:"toggleHeaderRow",icon:"rows",label:r.headerRow}].forEach((({action:e,icon:t,label:o})=>{const r=document.createElement("button");r.type="button",r.className="co-rte-bubble__overflow-item",r.setAttribute("data-overflow-item",e),"toggleHeaderRow"===e&&r.setAttribute("data-check","toggleHeaderRow"),r.innerHTML=`<co-icon name="${t}" size="16"></co-icon><span>${o}</span>`,r.addEventListener("click",(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"addColumnAfter":t.addColumnAfter().run();break;case"addColumnBefore":t.addColumnBefore().run();break;case"addRowAfter":t.addRowAfter().run();break;case"addRowBefore":t.addRowBefore().run();break;case"mergeCells":t.mergeCells().run();break;case"splitCell":t.splitCell().run();break;case"toggleHeaderRow":t.toggleHeaderRow().run()}})),c.appendChild(r)}));const d=document.createElement("div");return d.className="co-rte-bubble__overflow-sep",c.appendChild(d),[{action:"deleteColumn",icon:"minus-square",label:r.deleteColumn},{action:"deleteRow",icon:"x-square",label:r.deleteRow},{action:"deleteTable",icon:"trash",label:r.deleteTable}].forEach((({action:e,icon:t,label:o})=>{const r=document.createElement("button");r.type="button",r.className="co-rte-bubble__overflow-item co-rte-bubble__overflow-item--danger",r.setAttribute("data-overflow-item",e),r.innerHTML=`<co-icon name="${t}" size="16"></co-icon><span>${o}</span>`,r.addEventListener("click",(()=>{if(!this.editor)return;const t=this.editor.chain().focus();switch(e){case"deleteColumn":t.deleteColumn().run();break;case"deleteRow":t.deleteRow().run();break;case"deleteTable":t.deleteTable().run(),i.style.display="none"}})),c.appendChild(r)})),i.appendChild(c),o.addEventListener("click",(()=>{this.closeAllBubblePopups(i),"none"!==i.style.display?i.style.display="none":(a(),i.style.position="",i.style.top="",i.style.left="",i.style.bottom="",i.style.right="",i.style.transform="",i.style.display="block",this.positionDropdown(o,i))})),t.appendChild(o),t.appendChild(i),{overflowWrap:t,overflowMenu:i}}toggleBubbleLinkForm(e){var t,o;if(this.bubbleLinkFormEl&&this.bubbleLinkInputEl&&(this.bubbleLinkFormEl.style.display=e?"flex":"none",e)){const e=(null===(t=this.editor)||void 0===t?void 0:t.isActive("link"))&&(null===(o=this.editor.getAttributes("link"))||void 0===o?void 0:o.href)||"";this.bubbleLinkInputEl.value=e,this.bubbleLinkUnlinkEl&&(this.bubbleLinkUnlinkEl.style.display=e?"flex":"none"),setTimeout((()=>{var e;return null===(e=this.bubbleLinkInputEl)||void 0===e?void 0:e.focus()}),0)}}submitBubbleLinkImperative(){if(!this.editor||!this.bubbleLinkInputEl)return;const e=this.bubbleLinkInputEl.value.trim();e?(this.editor.chain().focus().setLink({href:e}).run(),this.toggleBubbleLinkForm(!1)):this.toggleBubbleLinkForm(!1)}updateBubbleActiveStates(){if(!this.editor||!this.bubbleEl)return;this.bubbleEl.querySelectorAll(".co-rte-bubble__btn[data-check]").forEach((e=>{const t=e.getAttribute("data-check");t&&e.classList.toggle("co-rte-bubble__btn--active",this.editor.isActive(t))})),this.bubbleEl.querySelectorAll(".co-rte-bubble__btn[data-align]").forEach((e=>{const t=e.getAttribute("data-align");t&&e.classList.toggle("co-rte-bubble__btn--active",this.editor.isActive({textAlign:t}))}));const e=this.bubbleEl.querySelector('[data-select="fontFamily"] .co-rte-bubble__select-label');if(e){const t=this.editor.getAttributes("textStyle"),o=(null==t?void 0:t.fontFamily)||"";e.textContent=o?o.split(",")[0].replace(/['"]/g,"").trim():"Sans-serif"}const t=this.bubbleEl.querySelector('[data-select="fontSize"] .co-rte-bubble__select-label');if(t){const e=this.editor.getAttributes("textStyle"),o=n(this.locale);t.textContent=this.editor.isActive("heading",{level:1})?o.title:this.editor.isActive("heading",{level:2})?o.headingAbbr1:this.editor.isActive("heading",{level:3})?o.headingAbbr2:(null==e?void 0:e.fontSize)||"16px"}const o=this.bubbleEl.querySelector('[data-select="fontWeight"] .co-rte-bubble__select-label');if(o){const e=this.editor.getAttributes("textStyle");o.textContent={100:"Thin",200:"Extra Light",300:"Light",400:"Regular",500:"Medium",600:"Semi-bold",700:"Bold",800:"Extra-bold",900:"Black"}[(null==e?void 0:e.fontWeight)||"400"]||"Regular"}this.bubbleEl.querySelectorAll(".co-rte-bubble__overflow-item[data-check]").forEach((e=>{const t=e.getAttribute("data-check");t&&e.classList.toggle("co-rte-bubble__overflow-item--active",this.editor.isActive(t))}));const r=this.bubbleEl.querySelector('[data-overflow-value="lineHeight"]');if(r){const e=this.editor.getAttributes("paragraph"),t=this.editor.getAttributes("heading");r.textContent=(null==e?void 0:e.lineHeight)||(null==t?void 0:t.lineHeight)||""}const i=this.bubbleEl.querySelector('[data-overflow-value="letterSpacing"]');if(i){const e=this.editor.getAttributes("textStyle");i.textContent=(null==e?void 0:e.letterSpacing)||""}const a=this.bubbleEl.querySelector(".co-rte-bubble__color-bar");if(a){const e=this.editor.getAttributes("textStyle");a.style.background=(null==e?void 0:e.color)||"#000000"}const c=this.bubbleEl.querySelector(".co-rte-bubble__overflow-table-section");if(c){const e=this.editor.isActive("table");if(c.style.display=e?"block":"none",e){const e=c.querySelector('[data-overflow-item="toggleHeaderRow"]');if(e){const t=this.editor.view,{$anchor:o}=this.editor.state.selection;let r=o.depth,i=!1;for(;r>0;){if("table"===o.node(r).type.name){const e=t.nodeDOM(o.start(r)-1);if(e){const t=(e.querySelector("table")||e).querySelector("tr");i=!!t&&null!==t.querySelector("th")}break}r--}e.classList.toggle("co-rte-bubble__overflow-item--active",i)}}}}createImageLayoutBar(){const t=document.createElement("div");t.className="co-rte-img-layout",t.style.display="none",t.addEventListener("mousedown",(e=>{e.preventDefault(),e.stopPropagation()}));const o=n(this.locale),r={inline:o.imageLayoutInline,"wrap-left":o.imageLayoutWrapLeft,"wrap-right":o.imageLayoutWrapRight,center:o.imageLayoutCenter,"full-width":o.imageLayoutFullWidth};return["inline","wrap-left","wrap-right","center","full-width"].forEach((o=>{const i=document.createElement("button");i.type="button",i.className="co-rte-img-layout__btn",i.setAttribute("data-layout",o),i.setAttribute("data-tooltip",r[o]||o),i.setAttribute("aria-label",r[o]||o),i.innerHTML=`<co-icon name="${e.IMG_LAYOUT_ICONS[o]}" size="18"></co-icon>`,i.addEventListener("click",(()=>this.setImageLayout(o))),t.appendChild(i)})),t}setImageLayout(e){if(!this.editor||!this.contentEl)return;const{state:t}=this.editor,o=t.selection;if("NodeSelection"!==o.constructor.name)return;const r=o.node;if("image"!==(null==r?void 0:r.type.name))return;const i=o.from,a=t.tr.setNodeMarkup(i,void 0,Object.assign(Object.assign({},r.attrs),{imageLayout:e}));this.editor.view.dispatch(a),this.editor.commands.setNodeSelection(i),requestAnimationFrame((()=>{this.syncImageLayouts(),this.updateImageLayoutBar()}))}getSelectedImageInfo(){var e;if(!this.editor)return null;const{state:t}=this.editor,o=t.selection;if("NodeSelection"!==o.constructor.name)return null;const r=o.node;if("image"!==(null==r?void 0:r.type.name))return null;const i=o.from,a=this.editor.view.nodeDOM(i);return a?{node:r,pos:i,container:(null===(e=a.closest)||void 0===e?void 0:e.call(a,"[data-resize-container]"))||a}:null}syncImageLayouts(){this.editor&&p(this.editor)}updateImageLayoutBarPosition(){if(!this.imgLayoutEl||!this.contentEl)return;const e=this.getSelectedImageInfo();if(!e)return;const t=e.container.getBoundingClientRect(),o=this.contentEl.getBoundingClientRect(),r=this.imgLayoutEl.offsetWidth||194;let i=t.left+t.width/2-o.left+this.contentEl.scrollLeft-r/2;i=Math.max(4,Math.min(i,o.width-r-4));const a=t.bottom-o.top+this.contentEl.scrollTop+8;this.imgLayoutEl.style.left=i+"px",this.imgLayoutEl.style.top=a+"px"}updateImageLayoutBar(){if(!this.imgLayoutEl||!this.editor)return;const e=this.getSelectedImageInfo();if(!e)return void(this.imgLayoutVisible&&(this.imgLayoutEl.style.display="none",this.imgLayoutVisible=!1));this.imgLayoutEl.style.display="flex",this.imgLayoutVisible=!0,this.updateImageLayoutBarPosition();const t=e.node.attrs.imageLayout||"inline";this.imgLayoutEl.querySelectorAll(".co-rte-img-layout__btn").forEach((e=>{e.classList.toggle("co-rte-img-layout__btn--active",e.getAttribute("data-layout")===t)}))}render(){const e=this.showCharacterCount||null!=this.maxLength,t="bottom"===this.toolbarPosition,o="none"!==this.resolvedToolbar&&!this.readonly&&!this.disabled&&r("co-rich-text-toolbar",{key:"6bcb6ab2d8023c96062ce4aa64ef6450357c22e7",class:"co-rich-text-editor__toolbar",part:"toolbar",variant:this.resolvedToolbar,position:this.toolbarPosition,disabled:this.disabled||this.readonly,locale:this.locale,attachmentsEnabled:this.attachmentsEnabled,attachmentAccept:this.attachmentAccept,onCoAttachmentsSelected:e=>{e.stopPropagation(),this.coAttachmentsSelected.emit(e.detail)},ref:e=>this.toolbarEl=e});return r("div",{key:"acb670aca986206aa8cae2960a9ace5723d5b710",class:{"co-rich-text-editor":!0,"co-rich-text-editor--focused":this.hasFocus,"co-rich-text-editor--disabled":this.disabled,"co-rich-text-editor--readonly":this.readonly,"co-rich-text-editor--loading":!this.ready,["co-rich-text-editor--"+this.status]:"default"!==this.status,"co-rich-text-editor--flat":"flat"===this.variant,"co-rich-text-editor--toolbar-bottom":t},part:"wrapper"},(this.label||this.secondaryLabel)&&r("div",{key:"0bbda76dde378f9f9dc49593409036efa0306982",class:"co-rich-text-editor__labels"},this.label&&r("label",{key:"328d770182eeba4010337e32359f6e1f96c32e54",class:"co-rich-text-editor__label",part:"label"},this.label),this.secondaryLabel&&r("span",{key:"d8b3ac25a32189686226b9fe6da311f6672ca331",class:"co-rich-text-editor__secondary-label"},this.secondaryLabel)),r("div",{key:"ed9d88e6e62a3defe9f302d252eb7f8dd33d4a0a",class:"co-rich-text-editor__frame"},!t&&o,r("div",{key:"96625d0fbbc619e7a7f7812c83d1e86df8086da4",class:"co-rich-text-editor__box"},r("div",{key:"77ce10f2902b9e758c18dabd5e91c5544c0cdd54",class:"co-rte-content",part:"content",role:"textbox","aria-multiline":"true","aria-label":this.label,"aria-required":this.required?"true":void 0,"aria-invalid":"error"===this.status?"true":void 0,ref:e=>this.contentEl=e})),r("slot",{key:"6c2fbaa3625889c4bb6a493be037f4c64b60fece",name:"content-end"}),t&&r("div",{key:"eda6a58e138c36dc412a84aa995dfcbfd6d7e93f",class:"co-rich-text-editor__toolbar-row",part:"toolbar-row"},o,r("slot",{key:"f8b01d2d2b27851d474bb174e4e42b45efd96758",name:"toolbar-end"}))),r("div",{key:"fdffcf44d4d181d30cc6f48e073e3a18c18f48ca",class:"co-rich-text-editor__footer"},this.helperText&&r("div",{key:"52ab70e42dad525b1fc1c4c27bdb98bedaf5cd90",class:"co-rich-text-editor__helper co-rich-text-editor__helper--"+this.status,part:"helper"},r("co-icon",{key:"c7e79a0292c51c9cf7927eb504401be5fd68b767",name:this.helperIcon,size:14}),r("span",{key:"4a09b04c257f3cd605f9b753d12c118312cb65fc"},this.helperText)),e&&r("span",{key:"7c25580b095af4d0ef11e77d13b07cedbf3e61c4",class:"co-rich-text-editor__count",ref:e=>this.charCountEl=e},this.charCount,null!=this.maxLength?" / "+this.maxLength:"")))}get el(){return this}static get watchers(){return{accountFonts:[{onAccountFontsChange:0}],value:[{onValueChange:0}],disabled:[{onEditableChange:0}],readonly:[{onEditableChange:0}]}}static get style(){return'co-rich-text-editor{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);letter-spacing:var(--co-font-letter-spacing-body)}.co-rich-text-editor{display:flex;flex-direction:column;gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__labels{display:flex;align-items:center;justify-content:space-between;padding:0 var(--co-spacing-xs);gap:var(--co-spacing-sm2, 6px)}.co-rich-text-editor__label,.co-rich-text-editor__secondary-label{color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-14);font-weight:400;line-height:1}.co-rich-text-editor__frame{display:flex;flex-direction:column;background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out);min-height:0;flex:1;position:relative;overflow:visible}.co-rich-text-editor__box{display:flex;flex-direction:column;min-height:0;flex:1;position:relative;overflow-y:auto;overflow-x:hidden}.co-rich-text-editor--flat .co-rich-text-editor__frame{background:transparent;border-color:transparent}.co-rich-text-editor--focused .co-rich-text-editor__frame{border-color:var(--co-semantic-border-focus, var(--co-color-base-negro, #1a1a1a));box-shadow:0 0 0 3px var(--co-semantic-border-focus-ring, rgba(37, 99, 235, 0.15))}.co-rich-text-editor--error .co-rich-text-editor__frame{border-color:var(--co-color-status-error)}.co-rich-text-editor--success .co-rich-text-editor__frame{border-color:var(--co-color-status-success)}.co-rich-text-editor--disabled .co-rich-text-editor__frame,.co-rich-text-editor--readonly .co-rich-text-editor__frame{opacity:0.7;cursor:not-allowed}.co-rich-text-editor--loading .co-rte-content{min-height:96px;background:linear-gradient(90deg, var(--co-semantic-surface-secondary) 0%, var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.04)) 50%, var(--co-semantic-surface-secondary) 100%);background-size:200% 100%;animation:co-rte-skeleton 1.2s ease-in-out infinite}@keyframes co-rte-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.co-rich-text-editor__toolbar{position:relative;flex-shrink:0;z-index:60;border-top-left-radius:calc(var(--co-border-radius-xs) - 1px);border-top-right-radius:calc(var(--co-border-radius-xs) - 1px)}.co-rich-text-editor__toolbar-row{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-md);flex-shrink:0;min-width:0;border-top:1px solid var(--co-semantic-border-subtle)}.co-rich-text-editor--toolbar-bottom .co-rich-text-editor__toolbar{border-top-left-radius:0;border-top-right-radius:0;min-width:0}.co-rte-content{min-height:96px;color:var(--co-semantic-text-default);flex:1 0 auto;display:flex;flex-direction:column}.co-rte-content .ProseMirror{outline:none;flex:1 0 auto;line-height:1.5;padding:var(--co-spacing-md);box-sizing:border-box}.co-rte-content .ProseMirror p{margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror p:last-child{margin-bottom:0}.co-rte-content .ProseMirror>p{margin-bottom:var(--co-spacing-sm) !important}.co-rte-content .ProseMirror>p:last-child{margin-bottom:0 !important}.co-rte-content .ProseMirror [style*="text-align: justify"]{text-align-last:left}.co-rte-content .ProseMirror [style*="text-align: center"]{text-align:center}.co-rte-content .ProseMirror [style*="text-align: right"]{text-align:right}.co-rte-content .ProseMirror h1,.co-rte-content .ProseMirror h2,.co-rte-content .ProseMirror h3,.co-rte-content .ProseMirror h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rte-content .ProseMirror h1{font-size:var(--co-font-size-28, 28px)}.co-rte-content .ProseMirror h2{font-size:var(--co-font-size-20, 20px)}.co-rte-content .ProseMirror h3{font-size:var(--co-font-size-16, 16px)}.co-rte-content .ProseMirror ul,.co-rte-content .ProseMirror ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"]{list-style:none;padding-left:0;margin:0 0 var(--co-spacing-sm) 0}.co-rte-content .ProseMirror ul[data-type="taskList"] li{display:flex;align-items:flex-start;gap:var(--co-spacing-sm, 8px)}.co-rte-content .ProseMirror ul[data-type="taskList"] li>label{flex:0 0 auto;margin-top:0.15em;user-select:none}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div{flex:1 1 auto;min-width:0}.co-rte-content .ProseMirror ul[data-type="taskList"] li>div>p{margin:0}.co-rte-content .ProseMirror ul[data-type="taskList"] input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="strike"] li[data-checked="true"]>div{text-decoration:line-through;color:var(--co-semantic-text-muted, #999)}.co-rte-content .ProseMirror ul[data-type="taskList"][data-variant="plain"] li[data-checked="true"]>div{text-decoration:none}.co-rte-content .ProseMirror blockquote{border-left:3px solid var(--co-semantic-border-default, var(--co-semantic-border-subtle));padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm) 0;color:var(--co-semantic-text-secondary)}.co-rte-content .ProseMirror a{color:var(--co-color-base-negro, #1a1a1a);text-decoration:underline;text-underline-offset:2px}.co-rte-content .ProseMirror img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0;cursor:default;-webkit-user-drag:none;user-select:none}.co-rte-content .ProseMirror img.ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a)}.co-rte-content [data-resize-container].ProseMirror-selectednode{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-container]{position:relative;display:inline-block;width:fit-content;max-width:100%;margin:var(--co-spacing-sm) 0;line-height:0}.co-rte-content [data-resize-container][data-resize-state="true"]{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:0px;border-radius:0}.co-rte-content [data-resize-wrapper]{position:relative;display:inline-block;line-height:0}.co-rte-content [data-resize-handle]{width:10px;height:10px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:5;opacity:0;pointer-events:none}.co-rte-content [data-resize-container][data-resize-state="true"] [data-resize-handle],.co-rte-content [data-resize-container].ProseMirror-selectednode [data-resize-handle]{opacity:1;pointer-events:auto}.co-rte-content [data-resize-handle="top-left"]{cursor:nw-resize}.co-rte-content [data-resize-handle="top-right"]{cursor:ne-resize}.co-rte-content [data-resize-handle="bottom-left"]{cursor:sw-resize}.co-rte-content [data-resize-handle="bottom-right"]{cursor:se-resize}.co-rte-content [data-resize-handle="top"],.co-rte-content [data-resize-handle="bottom"]{width:30px;height:6px;border-radius:3px;left:50% !important;transform:translateX(-50%)}.co-rte-content [data-resize-handle="top"]{cursor:n-resize}.co-rte-content [data-resize-handle="bottom"]{cursor:s-resize}.co-rte-content [data-resize-handle="left"],.co-rte-content [data-resize-handle="right"]{width:6px;height:30px;border-radius:3px;top:50% !important;transform:translateY(-50%)}.co-rte-content [data-resize-handle="left"]{cursor:w-resize}.co-rte-content [data-resize-handle="right"]{cursor:e-resize}.co-rte-content [data-resize-container] img{max-width:100%;display:block;border-radius:0;margin:0}.co-rte-content .ProseMirror hr{border:none;border-top:1px solid var(--co-semantic-border-default, #e0e0e0);margin:var(--co-spacing-lg) 0}.co-rte-content .ProseMirror code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rte-content .ProseMirror pre{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:var(--co-spacing-md);border-radius:var(--co-border-radius-xs);overflow-x:auto;margin:var(--co-spacing-sm) 0}.co-rte-content .ProseMirror pre code{background:none;padding:0;border-radius:0}.co-rte-content .ProseMirror p.is-editor-empty:first-child::before{content:attr(data-placeholder);color:var(--co-semantic-text-muted);float:left;height:0;pointer-events:none}.co-rte-content .co-rte-variable,.co-rte-content .co-rte-mention{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-size:0.9em;white-space:nowrap}.co-rte-content .co-rte-mention{background:var(--co-color-azul-200);color:var(--co-color-azul-800)}.co-rich-text-editor__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--co-spacing-sm);padding:0 var(--co-spacing-xs);min-height:0}.co-rich-text-editor__helper{display:flex;align-items:center;gap:var(--co-spacing-xs);color:var(--co-semantic-text-secondary);font-size:var(--co-font-size-12, 12px)}.co-rich-text-editor__helper--error{color:var(--co-color-status-error)}.co-rich-text-editor__helper--success{color:var(--co-color-status-success)}.co-rich-text-editor__count{margin-left:auto;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12, 12px)}.co-rte-bubble.co-rte-bubble--suppressed{display:none !important}.co-rte-bubble{position:absolute;z-index:50;display:flex;flex-direction:row;align-items:center;gap:2px;padding:var(--co-spacing-xs, 4px) var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);user-select:none;white-space:nowrap;max-width:100%;box-sizing:border-box;flex-wrap:wrap}.co-rte-bubble__drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--co-semantic-text-muted, #999);width:18px;height:28px;margin:0 2px 0 0;flex-shrink:0}.co-rte-bubble__drag-handle:hover{color:var(--co-semantic-text-secondary, #555)}.co-rte-bubble__drag-handle:active{cursor:grabbing}.co-rte-bubble__row{display:flex;align-items:center;gap:2px;flex-wrap:wrap;max-width:100%;min-width:0}.co-rte-bubble__btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer}.co-rte-bubble__btn:hover:not(.co-rte-bubble__btn--active){background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-bubble__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-bubble__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-bubble__sep{display:inline-block;width:1px;height:18px;margin:0 4px;background:var(--co-semantic-border-default, rgba(0, 0, 0, 0.12));flex-shrink:0}.co-rte-bubble__select{position:relative}.co-rte-bubble__select-trigger{display:flex;align-items:center;gap:2px;height:28px;padding:0 6px;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;white-space:nowrap;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-bubble__select-trigger:hover{background:var(--co-semantic-surface-hover, #f5f5f5);border-color:var(--co-semantic-border-default, #e0e0e0)}.co-rte-bubble__select-label{max-width:72px;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__select--font .co-rte-bubble__select-label{max-width:110px}.co-rte-bubble__select-dropdown{position:absolute;bottom:100%;left:0;z-index:120;min-width:100px;max-height:260px;overflow-y:auto;padding:var(--co-spacing-xxs, 2px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xxs, 4px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal}.co-rte-bubble__select-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__select-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__select-option{display:block;width:100%;padding:4px 8px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;text-align:left;cursor:pointer;white-space:nowrap}.co-rte-bubble__select-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__select-dropdown--font{min-width:200px;max-height:320px;overflow:hidden;overflow-y:auto;display:flex;flex-direction:column;white-space:normal}.co-rte-bubble__font-search{padding:6px 6px 4px;flex-shrink:0}.co-rte-bubble__font-search-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none;box-sizing:border-box}.co-rte-bubble__font-search-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__font-list{max-height:260px;overflow-y:auto;padding:0 var(--co-spacing-xxs, 2px) var(--co-spacing-xxs, 2px)}.co-rte-bubble__font-section-header{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);text-transform:uppercase;letter-spacing:0.5px}.co-rte-bubble__font-empty{padding:12px 8px;text-align:center;color:var(--co-semantic-text-muted, #888);font-size:12px}.co-rte-bubble__color{position:relative}.co-rte-bubble__color-dropdown{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);z-index:120;width:224px;padding:var(--co-spacing-sm, 8px);background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px;white-space:normal;max-width:calc(100vw - 16px)}.co-rte-bubble__color-dropdown[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px;margin-top:0}.co-rte-bubble__color-dropdown[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__color-grid{display:grid;grid-template-columns:repeat(10, 1fr);gap:2px}.co-rte-bubble__color-swatch{width:20px;height:20px;padding:0;border:none;border-radius:3px;cursor:pointer;transition:transform var(--co-motion-duration-fast), box-shadow var(--co-motion-duration-fast)}.co-rte-bubble__color-swatch:hover{transform:scale(1.2);box-shadow:0 0 0 2px var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-hex{display:flex;align-items:center;gap:4px;margin-top:6px}.co-rte-bubble__color-hex-input{width:100%;padding:3px 6px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:3px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-mono, monospace);font-size:11px;outline:none}.co-rte-bubble__color-hex-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__color-clear{display:flex;align-items:center;gap:4px;width:100%;padding:3px 6px;margin-top:4px;border:none;background:transparent;color:var(--co-semantic-text-secondary, #666);font-family:var(--co-font-family-primary);font-size:11px;cursor:pointer;border-radius:3px}.co-rte-bubble__color-clear:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__link-form{display:flex;align-items:center;gap:4px;margin-left:4px}.co-rte-bubble__link-input{width:160px;padding:3px 8px;border:1px solid var(--co-semantic-border-default, #ccc);border-radius:4px;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333);font-family:var(--co-font-family-primary);font-size:12px;outline:none}.co-rte-bubble__link-input::placeholder{color:var(--co-semantic-text-muted, #999)}.co-rte-bubble__link-input:focus{border-color:var(--co-color-base-negro, #1a1a1a);box-shadow:0 0 0 2px rgba(0, 0, 0, 0.1)}.co-rte-bubble__link-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:4px;background:var(--co-color-base-negro, #1a1a1a);color:#fff;cursor:pointer}.co-rte-bubble__link-btn:hover{opacity:0.9}.co-rte-bubble__link-unlink{background:var(--co-semantic-status-error, #aa2e1b)}.co-rte-bubble__panel{position:absolute;z-index:140;width:230px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);overflow:hidden;user-select:none}.co-rte-bubble__panel-header{display:flex;align-items:center;gap:4px;padding:6px 8px;border-bottom:1px solid var(--co-semantic-border-subtle, #eee)}.co-rte-bubble__panel-drag{cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--co-semantic-text-muted, #999);flex-shrink:0}.co-rte-bubble__panel-drag:active{cursor:grabbing}.co-rte-bubble__panel-title{flex:1;font-size:12px;font-weight:600;color:var(--co-semantic-text-default, #333);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.co-rte-bubble__panel-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:3px;background:transparent;color:var(--co-semantic-text-muted, #999);cursor:pointer;flex-shrink:0}.co-rte-bubble__panel-close:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input-wrap{padding:6px 8px}.co-rte-bubble__panel-input{width:100%;padding:4px 8px;border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:4px;font-size:12px;font-family:inherit;outline:none;box-sizing:border-box;background:var(--co-semantic-surface-secondary, #fff);color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-input:focus{border-color:var(--co-color-base-negro, #1a1a1a)}.co-rte-bubble__panel-options{max-height:280px;overflow-y:auto;padding:2px 4px 4px}.co-rte-bubble__panel-option{display:block;width:100%;padding:5px 8px;border:none;border-radius:3px;background:transparent;cursor:pointer;text-align:left;font-family:inherit;color:var(--co-semantic-text-default, #333)}.co-rte-bubble__panel-option:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__panel-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:4px 8px}.co-rte-bubble__panel-opt-row{display:flex;justify-content:space-between;align-items:center;width:100%}.co-rte-bubble__panel-opt-value{color:var(--co-semantic-text-muted, #999);font-size:11px;font-weight:400 !important;min-width:28px;text-align:right}.co-rte-bubble__panel[data-position="above"]{bottom:100%;top:auto;margin-bottom:4px}.co-rte-bubble__panel[data-position="below"]{top:100%;bottom:auto;margin-top:4px}.co-rte-bubble__overflow{position:relative}.co-rte-bubble__overflow-menu{position:absolute;bottom:100%;right:0;z-index:130;min-width:230px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 4px 16px rgba(0, 0, 0, 0.12);margin-bottom:4px}.co-rte-bubble__overflow-menu[data-position="below"]{top:100%;bottom:auto;margin-top:4px;margin-bottom:0}.co-rte-bubble__overflow-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:4px;background:transparent;font-family:inherit;font-size:13px;color:var(--co-semantic-text-default, #333);cursor:pointer;text-align:left;white-space:nowrap}.co-rte-bubble__overflow-item:hover{background:var(--co-semantic-surface-hover, #f5f5f5)}.co-rte-bubble__overflow-item--active{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));color:var(--co-color-base-negro, #1a1a1a);font-weight:600}.co-rte-bubble__overflow-value{margin-left:auto;color:var(--co-semantic-text-muted, #999);font-size:11px}.co-rte-bubble__overflow-sep{height:1px;background:var(--co-semantic-border-subtle, #eee);margin:3px 8px}.co-rte-bubble__overflow-section-title{padding:6px 8px 2px;font-size:11px;font-weight:600;color:var(--co-semantic-text-muted, #888);letter-spacing:0.5px}.co-rte-bubble__overflow-item--danger{color:var(--co-color-status-error, #aa2e1b)}.co-rte-bubble__overflow-item--danger:hover{background:rgba(170, 46, 27, 0.06)}.co-rte-bubble__color-indicator{display:flex;flex-direction:column;align-items:center;gap:1px;line-height:1}.co-rte-bubble__color-letter{font-family:var(--co-font-family-primary);font-size:14px;font-weight:700;color:var(--co-semantic-text-default, #333);line-height:1}.co-rte-bubble__color-bar{width:14px;height:3px;border-radius:1px}.co-rte-content .callout{display:flex;gap:0.75rem;padding:1rem;border-radius:var(--co-border-radius-xs, 8px);border:2px solid;margin:1rem 0}.co-rte-content .callout--info{background:#eff6ff;border-color:#bfdbfe}.co-rte-content .callout--warning{background:#fffbeb;border-color:#fde68a}.co-rte-content .callout--success{background:#f0fdf4;border-color:#bbf7d0}.co-rte-content .callout--error{background:#fef2f2;border-color:#fecaca}.co-rte-content .callout__icon{flex-shrink:0;font-size:1.2em}.co-rte-content .callout__content{flex:1}.co-rte-content .callout__content p{margin:0}.co-rte-content table{border-collapse:collapse;table-layout:auto;width:100%;margin:1rem 0;overflow:hidden}.co-rte-content .tableWrapper{overflow-x:auto;max-width:100%}.co-rte-content td,.co-rte-content th{min-width:1em;border:1px solid var(--co-semantic-border-default, #e0e0e0);padding:0.5rem;vertical-align:top;box-sizing:border-box;position:relative}.co-rte-content th{font-weight:600;text-align:left;background-color:#e3e3e3;color:var(--co-semantic-text-default, #333)}.co-rte-content .ProseMirror table th{background-color:#e3e3e3}.co-rte-content .selectedCell{background:rgba(0, 0, 0, 0.06)}.co-rte-content .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;background-color:var(--co-color-base-negro, #1a1a1a);pointer-events:none}.co-rte-content .ProseMirror.resize-cursor,.co-rte-content .ProseMirror.resize-cursor *{cursor:col-resize}.co-rte-content iframe{border-radius:var(--co-border-radius-xs, 8px);max-width:100%;aspect-ratio:16 / 9;width:100%;height:auto;display:block;margin:0}.co-rte-content .co-rte-embed{position:relative;display:block;max-width:100%;margin:1rem 0;line-height:0}.co-rte-content .co-rte-embed::before{content:\'\';position:absolute;inset:0;z-index:1}.co-rte-content .co-rte-embed.ProseMirror-selectednode,.co-rte-content .co-rte-embed--selected{outline:2px solid var(--co-color-base-negro, #1a1a1a);outline-offset:2px;border-radius:var(--co-border-radius-xs, 8px)}.co-rte-content .co-rte-embed__handle{position:absolute;width:12px;height:12px;background:var(--co-color-base-negro, #1a1a1a);border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 2px rgba(0, 0, 0, 0.3);z-index:3;opacity:0;pointer-events:none}.co-rte-content .co-rte-embed.ProseMirror-selectednode .co-rte-embed__handle,.co-rte-content .co-rte-embed--selected .co-rte-embed__handle{opacity:1;pointer-events:auto}.co-rte-content .co-rte-embed__handle--bottom-right{right:-6px;bottom:-6px;cursor:nwse-resize}.co-rte-content .co-rte-embed__handle--bottom-left{left:-6px;bottom:-6px;cursor:nesw-resize}.co-rte-content .co-rte-embed--resizing{outline:2px dashed var(--co-color-base-negro, #1a1a1a);outline-offset:2px}.co-rich-text-editor--readonly .co-rte-embed::before,.co-rich-text-editor--disabled .co-rte-embed::before{display:none}.co-rich-text-editor--readonly .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--readonly .co-rte-embed--selected,.co-rich-text-editor--disabled .co-rte-embed.ProseMirror-selectednode,.co-rich-text-editor--disabled .co-rte-embed--selected{outline:none !important}.co-rte-img-layout{position:absolute;z-index:50;display:flex;align-items:center;gap:2px;padding:4px;background:var(--co-semantic-surface-secondary, #fff);border:1px solid var(--co-semantic-border-default, #e0e0e0);border-radius:var(--co-border-radius-xs, 8px);box-shadow:0 2px 12px rgba(0, 0, 0, 0.12);pointer-events:auto}.co-rte-img-layout__btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid transparent;border-radius:var(--co-border-radius-xxs, 4px);background:transparent;color:var(--co-semantic-text-default, #333);cursor:pointer;transition:background var(--co-motion-duration-fast), border-color var(--co-motion-duration-fast)}.co-rte-img-layout__btn:hover{background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06))}.co-rte-img-layout__btn--active{background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff)}.co-rte-img-layout__btn--active:hover{background:var(--co-color-base-negro, #333)}.co-rte-img-layout__btn[data-tooltip]{position:relative}.co-rte-img-layout__btn[data-tooltip]::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);padding:4px 8px;background:var(--co-color-base-negro, #1a1a1a);color:var(--co-color-base-blanco, #fff);font-family:var(--co-font-family-primary);font-size:11px;font-weight:500;line-height:1.3;white-space:nowrap;border-radius:4px;pointer-events:none;opacity:0;transition:opacity var(--co-motion-duration-fast) var(--co-motion-ease-out);z-index:100}.co-rte-img-layout__btn[data-tooltip]:hover::after{opacity:1;transition-delay:0.3s}.co-rte-content [data-resize-container][data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rte-content [data-resize-container][data-image-layout="center"]{display:block;margin:12px auto}.co-rte-content [data-resize-container][data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}.co-rte-content [data-resize-container][data-image-layout="full-width"] [data-resize-wrapper],.co-rte-content [data-resize-container][data-image-layout="full-width"] img{width:100%}@media (max-width: 768px){.co-rte-content [data-resize-container][data-image-layout="wrap-left"],.co-rte-content [data-resize-container][data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rte-content--site .ProseMirror{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rte-content--site .ProseMirror{width:100%}}.co-rich-text-editor--readonly [data-resize-handle],.co-rich-text-editor--disabled [data-resize-handle]{display:none !important}.co-rich-text-editor--readonly [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--disabled [data-resize-container].ProseMirror-selectednode,.co-rich-text-editor--readonly img.ProseMirror-selectednode,.co-rich-text-editor--disabled img.ProseMirror-selectednode{outline:none !important}'}},[260,"co-rich-text-editor",{value:[1025],preset:[1],placeholder:[1],label:[1],secondaryLabel:[1,"secondary-label"],helperText:[1,"helper-text"],status:[1],variant:[513],disabled:[4],readonly:[4],required:[4],maxLength:[2,"max-length"],showCharacterCount:[4,"show-character-count"],autofocus:[4],toolbar:[1],toolbarPosition:[513,"toolbar-position"],features:[1],customExtensions:[16],imageUpload:[16],attachmentsEnabled:[4,"attachments-enabled"],attachmentAccept:[1,"attachment-accept"],fontFamilies:[1,"font-families"],accountFonts:[1,"account-fonts"],fontsLoading:[4,"fonts-loading"],fontLoader:[16],locale:[1],ready:[32],hasFocus:[32],getJSON:[64],getHtml:[64],getText:[64],clear:[64],focusEditor:[64],setContent:[64],getEditorInstance:[64]},void 0,{accountFonts:[{onAccountFontsChange:0}],value:[{onValueChange:0}],disabled:[{onEditableChange:0}],readonly:[{onEditableChange:0}]}]);function x(){"undefined"!=typeof customElements&&["co-rich-text-editor","co-icon","co-rich-text-toolbar"].forEach((e=>{switch(e){case"co-rich-text-editor":customElements.get(i(e))||customElements.define(i(e),f);break;case"co-icon":customElements.get(i(e))||m();break;case"co-rich-text-toolbar":customElements.get(i(e))||c()}}))}f.DEFAULT_FONTS=[{label:"Arial",value:"Arial, sans-serif"},{label:"Calibri",value:"Calibri, sans-serif"},{label:"Cambria",value:"Cambria, serif"},{label:"Comic Sans MS",value:"'Comic Sans MS', cursive"},{label:"Courier New",value:"'Courier New', monospace"},{label:"Georgia",value:"Georgia, serif"},{label:"Geist",value:"'Geist', sans-serif"},{label:"Helvetica",value:"Helvetica, Arial, sans-serif"},{label:"Impact",value:"Impact, sans-serif"},{label:"Inter",value:"'Inter', sans-serif"},{label:"Lato",value:"'Lato', sans-serif"},{label:"Montserrat",value:"'Montserrat', sans-serif"},{label:"Open Sans",value:"'Open Sans', sans-serif"},{label:"Poppins",value:"'Poppins', sans-serif"},{label:"Roboto",value:"'Roboto', sans-serif"},{label:"Segoe UI",value:"'Segoe UI', sans-serif"},{label:"Tahoma",value:"Tahoma, sans-serif"},{label:"Times New Roman",value:"'Times New Roman', serif"},{label:"Trebuchet MS",value:"'Trebuchet MS', sans-serif"},{label:"Verdana",value:"Verdana, sans-serif"}],f._registeredFonts=new Set,f.IMG_LAYOUT_ICONS={inline:"image-square","wrap-left":"text-align-left","wrap-right":"text-align-right",center:"text-align-center","full-width":"arrows-horizontal"},x();const g=f,v=x;export{g as CoRichTextEditor,v as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t,p as e,H as i,h as r}from"./index.js";import{p as a}from"./p-B2QLgWrz.js";const o={comment:["p","br","strong","em","a","span","ul","ol","li","h1","h2","h3","h4"],task:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote"],notes:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","mark"],email:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h2","h3","div","img"],document:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h1","h2","h3","h4","hr","div","mark","img","table","thead","tbody","tr","th","td","iframe"],"block-email":["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h2","h3","div","img"],print:["p","br","strong","em","s","code","a","span","mark","h1","h2","h3","h4","ul","ol","li","blockquote","pre","hr","img","div","table","colgroup","col","thead","tbody","tr","th","td"],"print-header":["p","br","strong","em","s","code","span","mark","img"]},c=/^https:\/\/[^\s"'<>]+$/i,s=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.value=null,this.format="html",this.preset="document",this.compact=!1,this.html=""}componentWillLoad(){return this.compute()}watchInputs(){return this.compute()}get parsedFeatures(){if(this.features){if("string"==typeof this.features)try{return JSON.parse(this.features)}catch(t){return}return this.features}}sanitizeHtml(t){var e,i;a.addHook("afterSanitizeAttributes",(t=>{if("A"!==t.tagName)return;const e=t.getAttribute("href")||"";/^https?:\/\//i.test(e)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer nofollow"))})),a.addHook("uponSanitizeElement",((t,e)=>{var i,r;if("input"===e.tagName&&"checkbox"!==t.type&&(null===(i=t.parentNode)||void 0===i||i.removeChild(t)),"iframe"===e.tagName){const e=t.getAttribute("src")||"";c.test(e)||null===(r=t.parentNode)||void 0===r||r.removeChild(t)}}));const r=["href","target","rel","data-variable","data-mention-id","data-mention-label","style","colspan","rowspan","src","alt","width","height","allowfullscreen","frameborder","allow","loading","data-youtube-video","data-iframe","data-image-layout","data-file-id","type","checked","disabled","data-color"];if(null===(e=this.parsedFeatures)||void 0===e?void 0:e.mentions)for(const t of["data-id","data-value","data-denotation-char","data-index"])r.includes(t)||r.push(t);try{return a.sanitize(t,{ALLOWED_TAGS:null!==(i=o[this.preset])&&void 0!==i?i:o.document,ALLOWED_ATTR:r,ALLOW_DATA_ATTR:!1,FORBID_TAGS:["script","object","embed","form","textarea","style"],ADD_ATTR:["allowfullscreen","frameborder","allow","loading"]})}finally{a.removeHook("uponSanitizeElement"),a.removeHook("afterSanitizeAttributes")}}async compute(){if(this.value)if("html"!==this.format)try{const t=JSON.parse(this.value),e=await import("./p-
|
|
1
|
+
import{t,p as e,H as i,h as r}from"./index.js";import{p as a}from"./p-B2QLgWrz.js";const o={comment:["p","br","strong","em","a","span","ul","ol","li","h1","h2","h3","h4"],task:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote"],notes:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","mark"],email:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h2","h3","div","img"],document:["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h1","h2","h3","h4","hr","div","mark","img","table","thead","tbody","tr","th","td","iframe"],"block-email":["p","br","strong","em","a","span","u","s","code","ul","ol","li","blockquote","h2","h3","div","img"],print:["p","br","strong","em","s","code","a","span","mark","h1","h2","h3","h4","ul","ol","li","blockquote","pre","hr","img","div","table","colgroup","col","thead","tbody","tr","th","td"],"print-header":["p","br","strong","em","s","code","span","mark","img"]},c=/^https:\/\/[^\s"'<>]+$/i,s=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.value=null,this.format="html",this.preset="document",this.compact=!1,this.html=""}componentWillLoad(){return this.compute()}watchInputs(){return this.compute()}get parsedFeatures(){if(this.features){if("string"==typeof this.features)try{return JSON.parse(this.features)}catch(t){return}return this.features}}sanitizeHtml(t){var e,i;a.addHook("afterSanitizeAttributes",(t=>{if("A"!==t.tagName)return;const e=t.getAttribute("href")||"";/^https?:\/\//i.test(e)&&(t.setAttribute("target","_blank"),t.setAttribute("rel","noopener noreferrer nofollow"))})),a.addHook("uponSanitizeElement",((t,e)=>{var i,r;if("input"===e.tagName&&"checkbox"!==t.type&&(null===(i=t.parentNode)||void 0===i||i.removeChild(t)),"iframe"===e.tagName){const e=t.getAttribute("src")||"";c.test(e)||null===(r=t.parentNode)||void 0===r||r.removeChild(t)}}));const r=["href","target","rel","data-variable","data-mention-id","data-mention-label","style","colspan","rowspan","src","alt","width","height","allowfullscreen","frameborder","allow","loading","data-youtube-video","data-iframe","data-image-layout","data-file-id","type","checked","disabled","data-color"];if(null===(e=this.parsedFeatures)||void 0===e?void 0:e.mentions)for(const t of["data-id","data-value","data-denotation-char","data-index"])r.includes(t)||r.push(t);try{return a.sanitize(t,{ALLOWED_TAGS:null!==(i=o[this.preset])&&void 0!==i?i:o.document,ALLOWED_ATTR:r,ALLOW_DATA_ATTR:!1,FORBID_TAGS:["script","object","embed","form","textarea","style"],ADD_ATTR:["allowfullscreen","frameborder","allow","loading"]})}finally{a.removeHook("uponSanitizeElement"),a.removeHook("afterSanitizeAttributes")}}async compute(){if(this.value)if("html"!==this.format)try{const t=JSON.parse(this.value),e=await import("./p-DGLDAl09.js").then((function(t){return t.R}));this.html=e.jsonToHtml(t,this.preset)}catch(t){this.html=""}else this.html=this.sanitizeHtml(this.value);else this.html=""}render(){return this.html?r("div",{class:{"co-rich-text-viewer":!0,"co-rich-text-viewer--compact":this.compact,"co-rich-text-viewer--site":"document"===this.preset},part:"content",innerHTML:this.html}):r("div",{class:"co-rich-text-viewer co-rich-text-viewer--empty",part:"empty"},this.emptyText||"")}static get watchers(){return{value:[{watchInputs:0}],format:[{watchInputs:0}],preset:[{watchInputs:0}],features:[{watchInputs:0}]}}static get style(){return':host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14);color:var(--co-semantic-text-default);line-height:1.5}.co-rich-text-viewer{padding:var(--co-spacing-md) 0}.co-rich-text-viewer--compact{padding:var(--co-spacing-sm) 0}.co-rich-text-viewer--empty{color:var(--co-semantic-text-muted);font-style:italic}.co-rich-text-viewer p{margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer p:last-child{margin-bottom:0}.co-rich-text-viewer h1,.co-rich-text-viewer h2,.co-rich-text-viewer h3,.co-rich-text-viewer h4{margin:var(--co-spacing-md) 0 var(--co-spacing-sm);font-weight:600;line-height:1.3}.co-rich-text-viewer h1{font-size:var(--co-font-size-28, 28px)}.co-rich-text-viewer h2{font-size:var(--co-font-size-20, 20px)}.co-rich-text-viewer h3{font-size:var(--co-font-size-16, 16px)}.co-rich-text-viewer ul,.co-rich-text-viewer ol{padding-left:var(--co-spacing-xl);margin:0 0 var(--co-spacing-sm)}.co-rich-text-viewer blockquote{border-left:3px solid var(--co-semantic-border-subtle);padding-left:var(--co-spacing-md);margin:0 0 var(--co-spacing-sm);color:var(--co-semantic-text-secondary)}.co-rich-text-viewer a{color:var(--co-color-primary-azul);text-decoration:underline}.co-rich-text-viewer img{max-width:100%;height:auto;border-radius:var(--co-border-radius-xs);margin:var(--co-spacing-sm) 0}.co-rich-text-viewer img[data-image-layout="wrap-left"]{float:left;max-width:50%;margin:4px 16px 8px 0}.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:right;max-width:50%;margin:4px 0 8px 16px}.co-rich-text-viewer img[data-image-layout="center"]{display:block;margin:12px auto}.co-rich-text-viewer img[data-image-layout="full-width"]{display:block;width:100%;margin:12px 0}@media (max-width: 768px){.co-rich-text-viewer img[data-image-layout="wrap-left"],.co-rich-text-viewer img[data-image-layout="wrap-right"]{float:none;max-width:100%;display:block;margin:12px 0}}.co-rich-text-viewer img[style*="position:absolute"],.co-rich-text-viewer img[style*="position: absolute"]{position:static !important;left:auto !important;top:auto !important;z-index:auto !important}.co-rich-text-viewer iframe{width:100%;max-width:100%;aspect-ratio:16 / 9;height:auto;display:block;border:0;border-radius:var(--co-border-radius-xs);margin:0}.co-rich-text-viewer .co-rte-iframe,.co-rich-text-viewer [data-youtube-video]{display:block;max-width:100%;margin:var(--co-spacing-sm) 0}.co-rich-text-viewer code{font-family:var(--co-font-family-mono);font-size:0.9em;background:var(--co-semantic-surface-hover, rgba(0, 0, 0, 0.06));padding:0.1em 0.3em;border-radius:var(--co-border-radius-xxs)}.co-rich-text-viewer .co-rte-variable,.co-rich-text-viewer [data-variable]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-primary-azul);color:var(--co-color-base-blanco, #fff);font-size:0.9em}.co-rich-text-viewer [data-mention-id],.co-rich-text-viewer [data-denotation-char=\'@\'][data-id]{display:inline-block;padding:0.05em 0.4em;border-radius:var(--co-border-radius-xxs);background:var(--co-color-azul-200);color:var(--co-color-azul-800);font-size:0.9em;white-space:nowrap}.co-rich-text-viewer #userMentionsTracker{display:none}.co-rich-text-viewer--site{width:var(--co-rte-content-width, 80%);max-width:100%;margin:0 auto}@media (max-width: 768px){.co-rich-text-viewer--site{width:100%}}'}},[1,"co-rich-text-viewer",{value:[1],format:[1],preset:[1],emptyText:[1,"empty-text"],compact:[4],features:[1],html:[32]},void 0,{value:[{watchInputs:0}],format:[{watchInputs:0}],preset:[{watchInputs:0}],features:[{watchInputs:0}]}]);function n(){"undefined"!=typeof customElements&&["co-rich-text-viewer"].forEach((e=>{"co-rich-text-viewer"===e&&(customElements.get(t(e))||customElements.define(t(e),s))}))}n();const l=s,h=n;export{l as CoRichTextViewer,h as defineCustomElement}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e,p as t,H as a,c as r,h as i}from"./index.js";import{R as o}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as n}from"./p-C4sZjIDj.js";import{d as l}from"./p-zJ3pjFzW.js";import{d}from"./p-KK2vAKs-.js";import{d as h}from"./p-BH184F0X.js";import{d as p}from"./p-nrwDl_gx.js";import{d as g}from"./p-TGRbLkLz.js";import{e as m,h as u,p as f,c as b,t as _,j as k,s as v,a as y,f as x}from"./p-DJ468fPu.js";const w=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coRangeStartChange=r(this,"coRangeStartChange",7),this.coRangeEndChange=r(this,"coRangeEndChange",7),this.coRangeChange=r(this,"coRangeChange",7),this.coApply=r(this,"coApply",7),this.coCancel=r(this,"coCancel",7),this.coClear=r(this,"coClear",7),this.coOpen=r(this,"coOpen",3),this.coClose=r(this,"coClose",3),this.value="",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.presets=!0,this.allowSameDay=!0,this.clearable=!0,this.applyOnSelect=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.layout="vertical",this.size="md",this.variant="default",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.draftFrom=null,this.draftTo=null,this.isMobile=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit()),this.syncDraftFromValue()},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit()),this.syncDraftFromValue()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.handleCancel())},this.onCalendarRange=e=>{this.updateDraft(e.detail.start,e.detail.end)},this.onFromChange=e=>{this.updateDraft(e.detail,this.draftTo)},this.onToChange=e=>{this.updateDraft(this.draftFrom,e.detail)},this.openSheet=()=>{this.disabled||this.open||(this.syncDraftFromValue(),this.open=!0,this.coOpen.emit())},this.handleApply=()=>{this.canApply&&(this.value=JSON.stringify({from:this.draftFrom,to:this.draftTo}),this.coApply.emit({from:this.draftFrom,to:this.draftTo}),this.open=!1)},this.handleCancel=()=>{this.coCancel.emit(),this.syncDraftFromValue(),this.open=!1},this.handleClear=()=>{this.value="",this.draftFrom=null,this.draftTo=null,this.coClear.emit(),this.coRangeChange.emit({from:null,to:null}),this.open=!1}}componentWillLoad(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}onValueChange(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}parseValue(){if(!this.value)return{from:null,to:null};try{const e=JSON.parse(this.value);return{from:m(e.from)?e.from:null,to:m(e.to)?e.to:null}}catch(e){return{from:null,to:null}}}get committed(){return this.parseValue()}inclusiveDays(e,t){const a=u(f(t)).getTime()-u(f(e)).getTime();return Math.round(a/864e5)+1}get canApply(){const e=this.draftFrom,t=this.draftTo;if(!e||!t)return!1;if(b(e,t)>0)return!1;if(!this.allowSameDay&&0===b(e,t))return!1;const a=this.inclusiveDays(e,t);return!(this.minRangeDays&&a<this.minRangeDays||this.maxRangeDays&&a>this.maxRangeDays)}syncDraftFromValue(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}updateDraft(e,t){const a=this.draftFrom,r=this.draftTo;this.draftFrom=e,this.draftTo=t,e!==a&&this.coRangeStartChange.emit(e),t!==r&&this.coRangeEndChange.emit(t),this.coRangeChange.emit({from:e,to:t}),this.applyOnSelect&&this.canApply&&this.scheduleApply()}scheduleApply(){clearTimeout(this.applyTimer),this.applyTimer=setTimeout((()=>{this.canApply&&this.handleApply()}),250)}applyPreset(e){const t=_();let a=null,r=null;switch(e){case"today":a=t,r=t;break;case"yesterday":a=y(t,-1),r=a;break;case"last7Days":r=t,a=y(t,-6);break;case"last14Days":r=t,a=y(t,-13);break;case"last30Days":r=t,a=y(t,-29);break;case"last90Days":r=t,a=y(t,-89);break;case"thisWeek":a=function(e,t){const a=f(e);if(!a)return e;const r=u(a).getDay();return y(e,-(r-t+7)%7)}(t,this.firstDayOfWeek),r=y(a,6);break;case"thisMonth":a=v(t),r=C(t);break;case"lastMonth":{const e=k(t,-1);a=v(e),r=C(e);break}case"thisYear":{const e=f(t).year;a=`${e}-01-01`,r=`${e}-12-31`;break}case"lastYear":{const e=f(t).year-1;a=`${e}-01-01`,r=`${e}-12-31`;break}case"custom":a=null,r=null}this.updateDraft(a,r)}get hasCommitted(){const e=this.committed;return!(!e.from&&!e.to)}triggerText(e){const t=this.committed,a=t.from?x(t.from,this.displayFormat,this.locale):null,r=t.to?x(t.to,this.displayFormat,this.locale):null;return a&&r?`${a} → ${r}`:a?`${a} → …`:r?`… → ${r}`:this.placeholder||e.setDate}presetItems(e){const t=function(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}(this.presetIds);return(t.length?t:["today","yesterday","last7Days","last30Days","thisWeek","thisMonth","lastMonth","custom"]).map((t=>{var a;return{id:t,label:null!==(a=e[t])&&void 0!==a?a:t}}))}renderTriggerChildren(e,t){var a;return[i("co-icon",{name:"calendar",size:16,class:"co-date-range-picker__icon"}),i("span",{class:{"co-date-range-picker__trigger-text":!0,"co-date-range-picker__trigger-text--placeholder":!this.hasCommitted}},this.triggerText(e)),t&&i("button",{class:"co-date-range-picker__clear",type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),this.handleClear()},"aria-label":null!==(a=this.clearLabel)&&void 0!==a?a:e.clear},i("co-icon",{name:"x-circle",size:16,weight:"fill"})),i("co-icon",{name:"caret-down",size:14,class:"co-date-range-picker__caret"})]}renderPanel(e,t){var a,r,o,s,c,n;return i("div",{class:"co-date-range-picker__panel"},i("div",{class:"co-date-range-picker__fields"},i("co-date-field",{class:"co-date-range-picker__field",label:null!==(a=this.fromLabel)&&void 0!==a?a:e.from,value:this.draftFrom,min:this.min,max:null!==(r=this.draftTo)&&void 0!==r?r:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onFromChange}),i("co-date-field",{class:"co-date-range-picker__field",label:null!==(o=this.toLabel)&&void 0!==o?o:e.to,value:this.draftTo,min:null!==(s=this.draftFrom)&&void 0!==s?s:this.min,max:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onToChange})),i("div",{class:{"co-date-range-picker__body":!0,"co-date-range-picker__body--touch":t}},this.presets&&i("div",{class:"co-date-range-picker__presets"},this.presetItems(e).map((e=>i("button",{key:e.id,type:"button",class:"co-date-range-picker__preset",onClick:()=>this.applyPreset(e.id)},e.label)))),i("co-calendar",{mode:"range","data-touch":t?"":void 0,rangeStart:this.draftFrom,rangeEnd:this.draftTo,min:this.min,max:this.max,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoRangeSelect:this.onCalendarRange})),i("div",{class:"co-date-range-picker__footer"},i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--ghost",onClick:this.handleCancel},null!==(c=this.cancelLabel)&&void 0!==c?c:e.cancel),i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--primary",disabled:!this.canApply,onClick:this.handleApply},null!==(n=this.applyLabel)&&void 0!==n?n:e.apply)))}renderHelper(e,t){return t?i("div",{class:{"co-date-range-picker__helper":!0,"co-date-range-picker__helper--error":e},part:"helper"},e&&i("co-icon",{name:"warning-circle",size:14}),i("span",null,t)):null}render(){const e=s(this.locale),t=this.invalid,a=t?this.errorMessage:this.helperText,r=this.clearable&&this.hasCommitted&&!this.disabled&&!this.readonly,c={"co-date-range-picker__trigger":!0,"co-date-range-picker__trigger--open":this.open,"co-date-range-picker__trigger--disabled":this.disabled,"co-date-range-picker__trigger--flat":"flat"===this.variant};return this.isMobile?i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("div",{class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false",onClick:this.openSheet},this.renderTriggerChildren(e,r)),i("co-drawer",{position:"bottom",open:this.open,heading:e.selectDate,onCoClose:this.handleCancel},this.renderPanel(e,!0)),this.renderHelper(t,a)):i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},i("div",{slot:"trigger",class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false"},this.renderTriggerChildren(e,r)),this.open&&this.renderPanel(e,!1)),this.renderHelper(t,a))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14)}.co-date-range-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-range-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);line-height:1;padding:0 var(--co-spacing-xs)}.co-date-range-picker co-popover{display:block;width:100%}.co-date-range-picker--s .co-date-range-picker__trigger{min-height:28px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--sm .co-date-range-picker__trigger{min-height:32px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--lg .co-date-range-picker__trigger{min-height:48px;padding:0 var(--co-spacing-lg)}.co-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);width:100%;min-height:40px;padding:0 var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);cursor:pointer;color:var(--co-semantic-text-default);box-sizing:border-box;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__trigger--flat{background:transparent;border-color:transparent}.co-date-range-picker__trigger--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-range-picker__trigger--disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker--invalid .co-date-range-picker__trigger{border-color:var(--co-semantic-status-error)}.co-date-range-picker__icon,.co-date-range-picker__caret{color:var(--co-semantic-text-muted);flex-shrink:0}.co-date-range-picker__trigger-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-date-range-picker__trigger-text--placeholder{color:var(--co-semantic-text-muted)}.co-date-range-picker__clear{background:none;border:0;padding:0;cursor:pointer;color:var(--co-semantic-text-muted);display:inline-flex;align-items:center;flex-shrink:0}.co-date-range-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-range-picker__panel{display:flex;flex-direction:column;gap:var(--co-spacing-md);padding:var(--co-spacing-md);min-width:280px}.co-date-range-picker__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--co-spacing-sm)}.co-date-range-picker__body{display:flex;gap:var(--co-spacing-md);align-items:flex-start}.co-date-range-picker__body:not(.co-date-range-picker__body--touch) co-calendar{flex:1;min-width:0;--co-calendar-width:100%;--co-calendar-col:minmax(var(--co-calendar-day-size), 1fr);--co-calendar-day-width:100%}.co-date-range-picker__body--touch{flex-direction:column;align-items:stretch}.co-date-range-picker__body--touch .co-date-range-picker__presets{flex-direction:row;flex-wrap:wrap;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid var(--co-semantic-border-subtle);padding-bottom:var(--co-spacing-sm)}.co-date-range-picker__body--touch co-calendar{align-self:center}.co-date-range-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);min-width:120px;border-right:1px solid var(--co-semantic-border-subtle);padding-right:var(--co-spacing-md)}.co-date-range-picker__preset{text-align:left;background:none;border:0;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-sm);padding-top:var(--co-spacing-sm);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-range-picker__btn{padding:var(--co-spacing-xs) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;font-weight:500;cursor:pointer;border:0}.co-date-range-picker__btn--ghost{background:transparent;color:var(--co-semantic-text-default)}.co-date-range-picker__btn--ghost:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-range-picker__btn--primary:hover:not(:disabled){opacity:0.88}.co-date-range-picker__btn--primary:disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker__helper{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);font-size:var(--co-font-size-14);color:var(--co-semantic-text-muted);padding:0 var(--co-spacing-xs)}.co-date-range-picker__helper--error{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-date-range-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-range-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-range-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-range-picker>:not(.co-date-range-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-range-picker",{value:[1025],min:[1],max:[1],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],presets:[4],presetIds:[1,"preset-ids"],allowSameDay:[4,"allow-same-day"],minRangeDays:[2,"min-range-days"],maxRangeDays:[2,"max-range-days"],clearable:[4],applyOnSelect:[4,"apply-on-select"],disabled:[4],readonly:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],label:[1],required:[4],placeholder:[1],layout:[513],size:[513],variant:[513],placement:[1],open:[1540],applyLabel:[1,"apply-label"],cancelLabel:[1,"cancel-label"],clearLabel:[1,"clear-label"],fromLabel:[1,"from-label"],toLabel:[1,"to-label"],mobileBreakpoint:[2,"mobile-breakpoint"],draftFrom:[32],draftTo:[32],isMobile:[32]},void 0,{value:[{onValueChange:0}]}]);function C(e){return y(v(k(e,1)),-1)}function z(){"undefined"!=typeof customElements&&["co-date-range-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((t=>{switch(t){case"co-date-range-picker":customElements.get(e(t))||customElements.define(e(t),w);break;case"co-calendar":customElements.get(e(t))||c();break;case"co-date-field":customElements.get(e(t))||n();break;case"co-drawer":customElements.get(e(t))||l();break;case"co-icon":customElements.get(e(t))||d();break;case"co-loader":customElements.get(e(t))||h();break;case"co-overlay":customElements.get(e(t))||p();break;case"co-popover":customElements.get(e(t))||g()}}))}z();export{w as C,z as d}
|
|
1
|
+
import{t as e,p as t,H as a,c as r,h as i}from"./index.js";import{R as o}from"./p-CWneqh4n.js";import{g as s}from"./p-jYd9gu_c.js";import{d as c}from"./p-D4XP17VP.js";import{d as n}from"./p-C4sZjIDj.js";import{d as l}from"./p-DB8DGMc-.js";import{d}from"./p-KK2vAKs-.js";import{d as h}from"./p-BH184F0X.js";import{d as p}from"./p-wUXcJGdy.js";import{d as g}from"./p-TGRbLkLz.js";import{e as m,h as u,p as f,c as b,t as _,j as k,s as v,a as y,f as x}from"./p-DJ468fPu.js";const w=t(class extends a{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.coRangeStartChange=r(this,"coRangeStartChange",7),this.coRangeEndChange=r(this,"coRangeEndChange",7),this.coRangeChange=r(this,"coRangeChange",7),this.coApply=r(this,"coApply",7),this.coCancel=r(this,"coCancel",7),this.coClear=r(this,"coClear",7),this.coOpen=r(this,"coOpen",3),this.coClose=r(this,"coClose",3),this.value="",this.locale="es-CO",this.displayFormat="d MMM yyyy",this.firstDayOfWeek=1,this.presets=!0,this.allowSameDay=!0,this.clearable=!0,this.applyOnSelect=!1,this.disabled=!1,this.readonly=!1,this.invalid=!1,this.required=!1,this.layout="vertical",this.size="md",this.variant="default",this.placement="bottom-start",this.open=!1,this.mobileBreakpoint=600,this.draftFrom=null,this.draftTo=null,this.isMobile=!1,this.mqlHandler=e=>{this.isMobile=e.matches},this.onPopoverOpen=()=>{this.open||(this.open=!0,this.coOpen.emit()),this.syncDraftFromValue()},this.onPopoverClose=()=>{this.open&&(this.open=!1,this.coClose.emit()),this.syncDraftFromValue()},this.onRootKeyDown=e=>{"Escape"===e.key&&this.open&&(e.stopPropagation(),this.handleCancel())},this.onCalendarRange=e=>{this.updateDraft(e.detail.start,e.detail.end)},this.onFromChange=e=>{this.updateDraft(e.detail,this.draftTo)},this.onToChange=e=>{this.updateDraft(this.draftFrom,e.detail)},this.openSheet=()=>{this.disabled||this.open||(this.syncDraftFromValue(),this.open=!0,this.coOpen.emit())},this.handleApply=()=>{this.canApply&&(this.value=JSON.stringify({from:this.draftFrom,to:this.draftTo}),this.coApply.emit({from:this.draftFrom,to:this.draftTo}),this.open=!1)},this.handleCancel=()=>{this.coCancel.emit(),this.syncDraftFromValue(),this.open=!1},this.handleClear=()=>{this.value="",this.draftFrom=null,this.draftTo=null,this.coClear.emit(),this.coRangeChange.emit({from:null,to:null}),this.open=!1}}componentWillLoad(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}connectedCallback(){this.mql=window.matchMedia(`(max-width: ${this.mobileBreakpoint}px)`),this.isMobile=this.mql.matches,this.mql.addEventListener("change",this.mqlHandler)}disconnectedCallback(){var e;null===(e=this.mql)||void 0===e||e.removeEventListener("change",this.mqlHandler)}onValueChange(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}parseValue(){if(!this.value)return{from:null,to:null};try{const e=JSON.parse(this.value);return{from:m(e.from)?e.from:null,to:m(e.to)?e.to:null}}catch(e){return{from:null,to:null}}}get committed(){return this.parseValue()}inclusiveDays(e,t){const a=u(f(t)).getTime()-u(f(e)).getTime();return Math.round(a/864e5)+1}get canApply(){const e=this.draftFrom,t=this.draftTo;if(!e||!t)return!1;if(b(e,t)>0)return!1;if(!this.allowSameDay&&0===b(e,t))return!1;const a=this.inclusiveDays(e,t);return!(this.minRangeDays&&a<this.minRangeDays||this.maxRangeDays&&a>this.maxRangeDays)}syncDraftFromValue(){const e=this.parseValue();this.draftFrom=e.from,this.draftTo=e.to}updateDraft(e,t){const a=this.draftFrom,r=this.draftTo;this.draftFrom=e,this.draftTo=t,e!==a&&this.coRangeStartChange.emit(e),t!==r&&this.coRangeEndChange.emit(t),this.coRangeChange.emit({from:e,to:t}),this.applyOnSelect&&this.canApply&&this.scheduleApply()}scheduleApply(){clearTimeout(this.applyTimer),this.applyTimer=setTimeout((()=>{this.canApply&&this.handleApply()}),250)}applyPreset(e){const t=_();let a=null,r=null;switch(e){case"today":a=t,r=t;break;case"yesterday":a=y(t,-1),r=a;break;case"last7Days":r=t,a=y(t,-6);break;case"last14Days":r=t,a=y(t,-13);break;case"last30Days":r=t,a=y(t,-29);break;case"last90Days":r=t,a=y(t,-89);break;case"thisWeek":a=function(e,t){const a=f(e);if(!a)return e;const r=u(a).getDay();return y(e,-(r-t+7)%7)}(t,this.firstDayOfWeek),r=y(a,6);break;case"thisMonth":a=v(t),r=C(t);break;case"lastMonth":{const e=k(t,-1);a=v(e),r=C(e);break}case"thisYear":{const e=f(t).year;a=`${e}-01-01`,r=`${e}-12-31`;break}case"lastYear":{const e=f(t).year-1;a=`${e}-01-01`,r=`${e}-12-31`;break}case"custom":a=null,r=null}this.updateDraft(a,r)}get hasCommitted(){const e=this.committed;return!(!e.from&&!e.to)}triggerText(e){const t=this.committed,a=t.from?x(t.from,this.displayFormat,this.locale):null,r=t.to?x(t.to,this.displayFormat,this.locale):null;return a&&r?`${a} → ${r}`:a?`${a} → …`:r?`… → ${r}`:this.placeholder||e.setDate}presetItems(e){const t=function(e){if(Array.isArray(e))return e;if("string"==typeof e&&e.trim()){const t=e.trim();try{const e=JSON.parse(t);if(Array.isArray(e))return e.map(String)}catch(e){}return t.split(",").map((e=>e.trim())).filter(Boolean)}return[]}(this.presetIds);return(t.length?t:["today","yesterday","last7Days","last30Days","thisWeek","thisMonth","lastMonth","custom"]).map((t=>{var a;return{id:t,label:null!==(a=e[t])&&void 0!==a?a:t}}))}renderTriggerChildren(e,t){var a;return[i("co-icon",{name:"calendar",size:16,class:"co-date-range-picker__icon"}),i("span",{class:{"co-date-range-picker__trigger-text":!0,"co-date-range-picker__trigger-text--placeholder":!this.hasCommitted}},this.triggerText(e)),t&&i("button",{class:"co-date-range-picker__clear",type:"button",tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:e=>{e.stopPropagation(),this.handleClear()},"aria-label":null!==(a=this.clearLabel)&&void 0!==a?a:e.clear},i("co-icon",{name:"x-circle",size:16,weight:"fill"})),i("co-icon",{name:"caret-down",size:14,class:"co-date-range-picker__caret"})]}renderPanel(e,t){var a,r,o,s,c,n;return i("div",{class:"co-date-range-picker__panel"},i("div",{class:"co-date-range-picker__fields"},i("co-date-field",{class:"co-date-range-picker__field",label:null!==(a=this.fromLabel)&&void 0!==a?a:e.from,value:this.draftFrom,min:this.min,max:null!==(r=this.draftTo)&&void 0!==r?r:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onFromChange}),i("co-date-field",{class:"co-date-range-picker__field",label:null!==(o=this.toLabel)&&void 0!==o?o:e.to,value:this.draftTo,min:null!==(s=this.draftFrom)&&void 0!==s?s:this.min,max:this.max,locale:this.locale,displayFormat:this.displayFormat,clearable:!1,onCoChange:this.onToChange})),i("div",{class:{"co-date-range-picker__body":!0,"co-date-range-picker__body--touch":t}},this.presets&&i("div",{class:"co-date-range-picker__presets"},this.presetItems(e).map((e=>i("button",{key:e.id,type:"button",class:"co-date-range-picker__preset",onClick:()=>this.applyPreset(e.id)},e.label)))),i("co-calendar",{mode:"range","data-touch":t?"":void 0,rangeStart:this.draftFrom,rangeEnd:this.draftTo,min:this.min,max:this.max,locale:this.locale,firstDayOfWeek:this.firstDayOfWeek,onCoRangeSelect:this.onCalendarRange})),i("div",{class:"co-date-range-picker__footer"},i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--ghost",onClick:this.handleCancel},null!==(c=this.cancelLabel)&&void 0!==c?c:e.cancel),i("button",{type:"button",class:"co-date-range-picker__btn co-date-range-picker__btn--primary",disabled:!this.canApply,onClick:this.handleApply},null!==(n=this.applyLabel)&&void 0!==n?n:e.apply)))}renderHelper(e,t){return t?i("div",{class:{"co-date-range-picker__helper":!0,"co-date-range-picker__helper--error":e},part:"helper"},e&&i("co-icon",{name:"warning-circle",size:14}),i("span",null,t)):null}render(){const e=s(this.locale),t=this.invalid,a=t?this.errorMessage:this.helperText,r=this.clearable&&this.hasCommitted&&!this.disabled&&!this.readonly,c={"co-date-range-picker__trigger":!0,"co-date-range-picker__trigger--open":this.open,"co-date-range-picker__trigger--disabled":this.disabled,"co-date-range-picker__trigger--flat":"flat"===this.variant};return this.isMobile?i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("div",{class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false",onClick:this.openSheet},this.renderTriggerChildren(e,r)),i("co-drawer",{position:"bottom",open:this.open,heading:e.selectDate,onCoClose:this.handleCancel},this.renderPanel(e,!0)),this.renderHelper(t,a)):i("div",{class:{"co-date-range-picker":!0,"co-date-range-picker--invalid":t,[`co-date-range-picker--${this.size}`]:!0},onKeyDown:this.onRootKeyDown},this.label&&i("label",{class:"co-date-range-picker__label",part:"label"},this.label,i(o,{required:this.required})),i("co-popover",{open:this.open,placement:this.placement,offset:4,closeOnEscape:!1,onCoOpen:this.onPopoverOpen,onCoClose:this.onPopoverClose},i("div",{slot:"trigger",class:c,part:"trigger",role:"button",tabIndex:this.disabled?-1:0,"aria-haspopup":"dialog","aria-expanded":this.open?"true":"false"},this.renderTriggerChildren(e,r)),this.open&&this.renderPanel(e,!1)),this.renderHelper(t,a))}get el(){return this}static get watchers(){return{value:[{onValueChange:0}]}}static get style(){return":host{display:block;font-family:var(--co-font-family-primary);font-size:var(--co-font-size-14)}.co-date-range-picker{display:flex;flex-direction:column;gap:var(--co-spacing-sm2)}.co-date-range-picker__label{font-size:var(--co-font-size-14);font-weight:400;color:var(--co-semantic-text-secondary);line-height:1;padding:0 var(--co-spacing-xs)}.co-date-range-picker co-popover{display:block;width:100%}.co-date-range-picker--s .co-date-range-picker__trigger{min-height:28px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--sm .co-date-range-picker__trigger{min-height:32px;padding:0 var(--co-spacing-sm)}.co-date-range-picker--lg .co-date-range-picker__trigger{min-height:48px;padding:0 var(--co-spacing-lg)}.co-date-range-picker__trigger{display:inline-flex;align-items:center;gap:var(--co-spacing-sm2);width:100%;min-height:40px;padding:0 var(--co-spacing-md);background:var(--co-semantic-surface-page);border:1px solid var(--co-semantic-border-field);border-radius:var(--co-border-radius-xs);cursor:pointer;color:var(--co-semantic-text-default);box-sizing:border-box;transition:border-color var(--co-motion-duration-fast) var(--co-motion-ease-out), box-shadow var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__trigger--flat{background:transparent;border-color:transparent}.co-date-range-picker__trigger--open{border-color:var(--co-semantic-border-focus);box-shadow:0 0 0 2px var(--co-semantic-border-focus-ring)}.co-date-range-picker__trigger--disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker--invalid .co-date-range-picker__trigger{border-color:var(--co-semantic-status-error)}.co-date-range-picker__icon,.co-date-range-picker__caret{color:var(--co-semantic-text-muted);flex-shrink:0}.co-date-range-picker__trigger-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.co-date-range-picker__trigger-text--placeholder{color:var(--co-semantic-text-muted)}.co-date-range-picker__clear{background:none;border:0;padding:0;cursor:pointer;color:var(--co-semantic-text-muted);display:inline-flex;align-items:center;flex-shrink:0}.co-date-range-picker__clear:hover{color:var(--co-semantic-text-default)}.co-date-range-picker__panel{display:flex;flex-direction:column;gap:var(--co-spacing-md);padding:var(--co-spacing-md);min-width:280px}.co-date-range-picker__fields{display:grid;grid-template-columns:1fr 1fr;gap:var(--co-spacing-sm)}.co-date-range-picker__body{display:flex;gap:var(--co-spacing-md);align-items:flex-start}.co-date-range-picker__body:not(.co-date-range-picker__body--touch) co-calendar{flex:1;min-width:0;--co-calendar-width:100%;--co-calendar-col:minmax(var(--co-calendar-day-size), 1fr);--co-calendar-day-width:100%}.co-date-range-picker__body--touch{flex-direction:column;align-items:stretch}.co-date-range-picker__body--touch .co-date-range-picker__presets{flex-direction:row;flex-wrap:wrap;min-width:0;border-right:0;padding-right:0;border-bottom:1px solid var(--co-semantic-border-subtle);padding-bottom:var(--co-spacing-sm)}.co-date-range-picker__body--touch co-calendar{align-self:center}.co-date-range-picker__presets{display:flex;flex-direction:column;gap:var(--co-spacing-xxs);min-width:120px;border-right:1px solid var(--co-semantic-border-subtle);padding-right:var(--co-spacing-md)}.co-date-range-picker__preset{text-align:left;background:none;border:0;padding:var(--co-spacing-xs) var(--co-spacing-sm);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;color:var(--co-semantic-text-default);cursor:pointer;transition:background var(--co-motion-duration-fast) var(--co-motion-ease-out)}.co-date-range-picker__preset:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__footer{display:flex;justify-content:flex-end;gap:var(--co-spacing-sm);padding-top:var(--co-spacing-sm);border-top:1px solid var(--co-semantic-border-subtle)}.co-date-range-picker__btn{padding:var(--co-spacing-xs) var(--co-spacing-md);border-radius:var(--co-border-radius-xs);font-size:var(--co-font-size-14);font-family:inherit;font-weight:500;cursor:pointer;border:0}.co-date-range-picker__btn--ghost{background:transparent;color:var(--co-semantic-text-default)}.co-date-range-picker__btn--ghost:hover{background:var(--co-semantic-surface-hover)}.co-date-range-picker__btn--primary{background:var(--co-semantic-surface-primary);color:var(--co-semantic-on-primary)}.co-date-range-picker__btn--primary:hover:not(:disabled){opacity:0.88}.co-date-range-picker__btn--primary:disabled{opacity:0.5;cursor:not-allowed}.co-date-range-picker__helper{display:inline-flex;align-items:center;gap:var(--co-spacing-xs);font-size:var(--co-font-size-14);color:var(--co-semantic-text-muted);padding:0 var(--co-spacing-xs)}.co-date-range-picker__helper--error{color:var(--co-semantic-status-error)}:host([layout='horizontal']) .co-date-range-picker{display:grid;grid-template-columns:var(--co-field-label-width, max-content) 1fr;align-items:start;column-gap:var(--co-spacing-md);row-gap:var(--co-spacing-sm2)}:host([layout='horizontal']) .co-date-range-picker__label{grid-column:1;grid-row:1;padding-top:var(--co-spacing-sm2);min-width:0}:host([layout='horizontal']) .co-date-range-picker__label{white-space:normal}:host([layout='horizontal']) .co-date-range-picker>:not(.co-date-range-picker__label){grid-column:2;min-width:0}.co-field-required{margin-left:2px;color:var(--co-color-status-error)}.co-field-required__caption{margin-left:4px;color:var(--co-semantic-text-muted);font-size:var(--co-font-size-12);font-weight:400}.co-field-required__caption::before{content:var(--co-field-required-text, ' (required)')}"}},[1,"co-date-range-picker",{value:[1025],min:[1],max:[1],locale:[1],displayFormat:[1,"display-format"],firstDayOfWeek:[2,"first-day-of-week"],presets:[4],presetIds:[1,"preset-ids"],allowSameDay:[4,"allow-same-day"],minRangeDays:[2,"min-range-days"],maxRangeDays:[2,"max-range-days"],clearable:[4],applyOnSelect:[4,"apply-on-select"],disabled:[4],readonly:[4],invalid:[4],errorMessage:[1,"error-message"],helperText:[1,"helper-text"],label:[1],required:[4],placeholder:[1],layout:[513],size:[513],variant:[513],placement:[1],open:[1540],applyLabel:[1,"apply-label"],cancelLabel:[1,"cancel-label"],clearLabel:[1,"clear-label"],fromLabel:[1,"from-label"],toLabel:[1,"to-label"],mobileBreakpoint:[2,"mobile-breakpoint"],draftFrom:[32],draftTo:[32],isMobile:[32]},void 0,{value:[{onValueChange:0}]}]);function C(e){return y(v(k(e,1)),-1)}function z(){"undefined"!=typeof customElements&&["co-date-range-picker","co-calendar","co-date-field","co-drawer","co-icon","co-loader","co-overlay","co-popover"].forEach((t=>{switch(t){case"co-date-range-picker":customElements.get(e(t))||customElements.define(e(t),w);break;case"co-calendar":customElements.get(e(t))||c();break;case"co-date-field":customElements.get(e(t))||n();break;case"co-drawer":customElements.get(e(t))||l();break;case"co-icon":customElements.get(e(t))||d();break;case"co-loader":customElements.get(e(t))||h();break;case"co-overlay":customElements.get(e(t))||p();break;case"co-popover":customElements.get(e(t))||g()}}))}z();export{w as C,z as d}
|