import{JoomlaEditor as i,JoomlaEditorDecorator as r}from"editor-api";/** * @copyright (C) 2018 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */class n extends r{getValue(){return this.instance.getValue()}setValue(t){return this.instance.setValue(t),this}getSelection(){return this.instance.getSelection()}replaceSelection(t){return this.instance.replaceSelection(t),this}disable(t){return this.instance.editor&&(this.instance.editor.disabled=!t,this.instance.editor.readOnly=!t),this}}class o extends HTMLElement{constructor(){super(),this.editor="",this.unregisterEditor=this.unregisterEditor.bind(this),this.registerEditor=this.registerEditor.bind(this),this.childrenChange=this.childrenChange.bind(this),this.getSelection=this.getSelection.bind(this),new MutationObserver(()=>this.childrenChange()).observe(this,{childList:!0}),this.interactionCallback=()=>{this.editor&&i.setActive(this.editor.id)}}connectedCallback(){this.childrenChange(),this.addEventListener("click",this.interactionCallback)}disconnectedCallback(){this.unregisterEditor(),this.removeEventListener("click",this.interactionCallback)}getValue(){return this.editor.value}setValue(t){this.editor.value=t}getSelection(){return this.editor.selectionStart||this.editor.selectionStart===0?this.editor.value.substring(this.editor.selectionStart,this.editor.selectionEnd):this.editor.value}replaceSelection(t){const e=this.editor;e.selectionStart||e.selectionStart===0?e.value=e.value.substring(0,e.selectionStart)+t+e.value.substring(e.selectionEnd,e.value.length):e.value+=t}registerEditor(){const t=new n(this,"none",this.editor.id);i.register(t)}unregisterEditor(){this.editor&&i.unregister(this.editor.id)}childrenChange(){this.firstElementChild&&this.firstElementChild.tagName&&this.firstElementChild.tagName.toLowerCase()==="textarea"&&this.firstElementChild.getAttribute("id")&&(this.editor=this.firstElementChild,this.unregisterEditor(),this.registerEditor())}}customElements.define("joomla-editor-none",o);