-${e}`),this.focus()}replaceContent(e){E(this,C,Qu).call(this,e)}replaceLineStart(e){let t=E(this,C,q).call(this),r=this.editor.cm.state.doc.lineAt(t.from),n=r.text,o=n.split(" ")[0];if(o===e){let s=n.replace(`${e} `,""),f=t.from+(s.length-n.length);E(this,C,z).call(this,r.from,r.to,s,f);return}let i=n;/^[#>`]/.test(o)?i=n.replace(o,e).trim():e!==""&&(i=`${e} ${n}`);let a=t.from+(i.length-n.length);E(this,C,z).call(this,r.from,r.to,i,a)}wrapSelection(e,t){let r=E(this,C,q).call(this),n=E(this,C,bu).call(this,r);if(!n){E(this,C,ue).call(this,e,t);return}let o=n,i;n.startsWith(e)&&n.endsWith(t)?(o=n.slice(e.length,n.length-t.length),i=r.extend(r.from,r.to-(e.length+t.length))):(o=`${e}${n}${t}`,i=r.extend(r.from,r.to+(e.length+t.length))),E(this,C,z).call(this,r.from,r.to,o,i.anchor,i.head)}replaceLineStartForOrderedList(){let e=E(this,C,q).call(this),t=this.editor.cm.state.doc.lineAt(e.from),n=this.editor.cm.state.doc.line(t.number-1).text.match(/^(\s*)(\d)([).])\s/)||[],o=(Number(n[2])||0)+1,i=n[1]||"",c=n[3]||".",a=`${i}${o}${c}`;return this.replaceLineStart(a)}cycleCalloutTypeAtSelection(){let e=E(this,C,q).call(this),t=this.editor.cm.state.doc.lineAt(e.from),r=["info","success","warning","danger"],n=r.join("|"),i=new RegExp(`class="((${n})\\s+callout|callout\\s+(${n}))"`,"i").exec(t.text),c=(i?i[2]||i[3]:"").toLowerCase();if(c===r[r.length-1])E(this,C,ue).call(this,`<p class="callout ${r[r.length-1]}">`,"</p>");else if(c==="")E(this,C,ue).call(this,'<p class="callout info">',"</p>");else{let a=r.indexOf(c)+1,s=r[a],f=t.text.replace(i[0],i[0].replace(c,s)),d=f.length-t.text.length;E(this,C,z).call(this,t.from,t.to,f,e.anchor+d,e.head+d)}}syncDisplayPosition(e){let t=e.target;if(Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)<1){this.editor.display.scrollToIndex(-1);return}let n=this.editor.cm.lineBlockAtHeight(t.scrollTop),o=this.editor.cm.state.sliceDoc(0,n.from),a=new DOMParser().parseFromString(this.editor.markdown.render(o),"text/html").documentElement.querySelectorAll("body > *");this.editor.display.scrollToIndex(a.length)}async insertTemplate(e,t,r){let n=this.editor.cm.posAtCoords({x:t,y:r},!1),{data:o}=await window.$http.get(`/templates/${e}`),i=o.markdown||o.html;E(this,C,z).call(this,n,n,i,n)}insertClipboardImages(e,t,r){let n=this.editor.cm.posAtCoords({x:t,y:r},!1);for(let o of e)this.uploadImage(o,n)}async uploadImage(e,t=null){if(e===null||e.type.indexOf("image")!==0)return;let r="png";if(t===null&&(t=E(this,C,q).call(this).from),e.name){let s=e.name.match(/\.(.+)$/);s.length>1&&(r=s[1])}let n=`image-${Math.random().toString(16).slice(2)}`,i=`})`;E(this,C,z).call(this,t,t,i,t);let c=`image-${Date.now()}.${r}`,a=new FormData;a.append("file",e,c),a.append("uploaded_to",this.editor.config.pageId);try{let{data:s}=await window.$http.post("/images/gallery",a),f=`[](${s.url})`;E(this,C,A0).call(this,i,f)}catch(s){window.$events.error(s?.data?.message||this.editor.config.text.imageUploadError),E(this,C,A0).call(this,i,""),console.error(s)}}};C=new WeakSet,E0=function(e,t){let r=`<div drawio-diagram="${e.id}"><img src="${e.url}"></div>`;E(this,C,au).call(this,r,r.length,t)},Yu=function(){return this.editor.cm.state.doc.toString()},Qu=function(e,t=null){t=t||E(this,C,q).call(this);let r=this.editor.cm.state.toText(e),n=Math.min(t.from,r.length);E(this,C,z).call(this,0,this.editor.cm.state.doc.length,e,n),this.focus()},au=function(e,t=0,r=null){r=r||this.editor.cm.state.selection.main;let n=r.from+t;E(this,C,z).call(this,r.from,r.to,e,n),this.focus()},bu=function(e=null){return e=e||E(this,C,q).call(this),this.editor.cm.state.sliceDoc(e.from,e.to)},q=function(){return this.editor.cm.state.selection.main},w0=function(e){return e.replace(/\r\n|\r/g,`
+${e}`),this.focus()}replaceContent(e){E(this,C,Qu).call(this,e)}replaceLineStart(e){let t=E(this,C,q).call(this),r=this.editor.cm.state.doc.lineAt(t.from),n=r.text,o=n.split(" ")[0];if(o===e){let s=n.replace(`${e} `,""),f=t.from+(s.length-n.length);E(this,C,z).call(this,r.from,r.to,s,f);return}let i=n;/^[#>`]/.test(o)?i=n.replace(o,e).trim():e!==""&&(i=`${e} ${n}`);let a=t.from+(i.length-n.length);E(this,C,z).call(this,r.from,r.to,i,a)}wrapSelection(e,t){let r=E(this,C,q).call(this),n=E(this,C,bu).call(this,r);if(!n){E(this,C,ue).call(this,e,t);return}let o=n,i;n.startsWith(e)&&n.endsWith(t)?(o=n.slice(e.length,n.length-t.length),i=r.extend(r.from,r.to-(e.length+t.length))):(o=`${e}${n}${t}`,i=r.extend(r.from,r.to+(e.length+t.length))),E(this,C,z).call(this,r.from,r.to,o,i.anchor,i.head)}replaceLineStartForOrderedList(){let e=E(this,C,q).call(this),t=this.editor.cm.state.doc.lineAt(e.from),n=this.editor.cm.state.doc.line(t.number-1).text.match(/^(\s*)(\d)([).])\s/)||[],o=(Number(n[2])||0)+1,i=n[1]||"",c=n[3]||".",a=`${i}${o}${c}`;return this.replaceLineStart(a)}cycleCalloutTypeAtSelection(){let e=E(this,C,q).call(this),t=this.editor.cm.state.doc.lineAt(e.from),r=["info","success","warning","danger"],n=r.join("|"),i=new RegExp(`class="((${n})\\s+callout|callout\\s+(${n}))"`,"i").exec(t.text),c=(i?i[2]||i[3]:"").toLowerCase();if(c===r[r.length-1])E(this,C,ue).call(this,`<p class="callout ${r[r.length-1]}">`,"</p>");else if(c==="")E(this,C,ue).call(this,'<p class="callout info">',"</p>");else{let a=r.indexOf(c)+1,s=r[a],f=t.text.replace(i[0],i[0].replace(c,s)),d=f.length-t.text.length;E(this,C,z).call(this,t.from,t.to,f,e.anchor+d,e.head+d)}}syncDisplayPosition(e){let t=e.target;if(Math.abs(t.scrollHeight-t.clientHeight-t.scrollTop)<1){this.editor.display.scrollToIndex(-1);return}let n=this.editor.cm.lineBlockAtHeight(t.scrollTop),o=this.editor.cm.state.sliceDoc(0,n.from),a=new DOMParser().parseFromString(this.editor.markdown.render(o),"text/html").documentElement.querySelectorAll("body > *");this.editor.display.scrollToIndex(a.length)}async insertTemplate(e,t,r){let n=this.editor.cm.posAtCoords({x:t,y:r},!1),{data:o}=await window.$http.get(`/templates/${e}`),i=o.markdown||o.html;E(this,C,z).call(this,n,n,i,n)}insertClipboardImages(e,t,r){let n=this.editor.cm.posAtCoords({x:t,y:r},!1);for(let o of e)this.uploadImage(o,n)}async uploadImage(e,t=null){if(e===null||e.type.indexOf("image")!==0)return;let r="png";if(t===null&&(t=E(this,C,q).call(this).from),e.name){let s=e.name.match(/\.(.+)$/);s.length>1&&(r=s[1])}let n=`image-${Math.random().toString(16).slice(2)}`,i=`})`;E(this,C,z).call(this,t,t,i,t);let c=`image-${Date.now()}.${r}`,a=new FormData;a.append("file",e,c),a.append("uploaded_to",this.editor.config.pageId);try{let{data:s}=await window.$http.post("/images/gallery",a),f=`[](${s.url})`;E(this,C,A0).call(this,i,f)}catch(s){window.$events.error(s?.data?.message||this.editor.config.text.imageUploadError),E(this,C,A0).call(this,i,""),console.error(s)}}};C=new WeakSet,E0=function(e,t){let r=`<div drawio-diagram="${e.id}"><img src="${e.url}"></div>`;E(this,C,au).call(this,r,r.length,t)},Yu=function(){return this.editor.cm.state.doc.toString()},Qu=function(e,t=null){t=t||E(this,C,q).call(this);let r=this.editor.cm.state.toText(e),n=Math.min(t.from,r.length),o=this.editor.cm.scrollDOM.scrollTop;E(this,C,z).call(this,0,this.editor.cm.state.doc.length,e,n),this.focus(),window.requestAnimationFrame(()=>{this.editor.cm.scrollDOM.scrollTop=o})},au=function(e,t=0,r=null){r=r||this.editor.cm.state.selection.main;let n=r.from+t;E(this,C,z).call(this,r.from,r.to,e,n),this.focus()},bu=function(e=null){return e=e||E(this,C,q).call(this),this.editor.cm.state.sliceDoc(e.from,e.to)},q=function(){return this.editor.cm.state.selection.main},w0=function(e){return e.replace(/\r\n|\r/g,`