bookstack/public/dist/wysiwyg.js

32 lines
282 KiB
JavaScript

// See the "/licenses" URI for full package license details
function $(o){return __DEV__?{type:o}:{}}var we=$("SELECTION_CHANGE_COMMAND"),nr=$("SELECTION_INSERT_CLIPBOARD_NODES_COMMAND"),Mo=$("CLICK_COMMAND"),Ze=$("DELETE_CHARACTER_COMMAND"),It=$("INSERT_LINE_BREAK_COMMAND"),$t=$("INSERT_PARAGRAPH_COMMAND"),rt=$("CONTROLLED_TEXT_INSERTION_COMMAND"),no=$("PASTE_COMMAND"),mn=$("REMOVE_TEXT_COMMAND"),Ct=$("DELETE_WORD_COMMAND"),it=$("DELETE_LINE_COMMAND"),Ne=$("FORMAT_TEXT_COMMAND"),ro=$("UNDO_COMMAND"),io=$("REDO_COMMAND"),As=$("KEYDOWN_COMMAND"),vo=$("KEY_ARROW_RIGHT_COMMAND"),Rs=$("MOVE_TO_END"),wo=$("KEY_ARROW_LEFT_COMMAND"),ks=$("MOVE_TO_START"),Pt=$("KEY_ARROW_UP_COMMAND"),Bt=$("KEY_ARROW_DOWN_COMMAND"),He=$("KEY_ENTER_COMMAND"),rr=$("KEY_SPACE_COMMAND"),Ht=$("KEY_BACKSPACE_COMMAND"),Do=$("KEY_ESCAPE_COMMAND"),Ft=$("KEY_DELETE_COMMAND"),Oo=$("KEY_TAB_COMMAND"),Is=$("INSERT_TAB_COMMAND"),Th=$("INDENT_CONTENT_COMMAND"),Ch=$("OUTDENT_CONTENT_COMMAND"),Ao=$("DROP_COMMAND"),ir=$("DRAGSTART_COMMAND"),sr=$("DRAGOVER_COMMAND"),$s=$("DRAGEND_COMMAND"),so=$("COPY_COMMAND"),lo=$("CUT_COMMAND"),pn=$("SELECT_ALL_COMMAND"),Ps=$("CLEAR_EDITOR_COMMAND"),Bs=$("CLEAR_HISTORY_COMMAND"),ao=$("CAN_REDO_COMMAND"),co=$("CAN_UNDO_COMMAND"),lr=$("FOCUS_COMMAND"),Hs=$("BLUR_COMMAND"),Fs=$("KEY_MODIFIER_COMMAND");var fe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";var _h=fe&&"documentMode"in document?document.documentMode:null,Fe=fe&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Ke=fe&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),uo=fe&&"InputEvent"in window&&!_h?"getTargetRanges"in new window.InputEvent("input"):!1,Kt=fe&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),_t=fe&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,dd=fe&&/Android/.test(navigator.userAgent),Ks=fe&&/^(?=.*Chrome).*/i.test(navigator.userAgent),Us=fe&&dd&&Ks,Ut=fe&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!Ks;var fo=1,Ue=3,bt=0,zs=1,zt=2,cd=0,oi=1,ni=2,ar=1,dr=2,gn=4,hn=8,cr=16,ur=32,fr=64,mr=128,Ws=ar|dr|gn|hn|cr|ur|fr|mr,ri=1,Nn=2;var ud="\xA0",bh="\u200B",xn=Kt||_t||Ut?ud:bh,Ve=`
`,fd=Ke?ud:xn,md="\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC",pd="A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\u02B8\u0300-\u0590\u0800-\u1FFF\u200E\u2C00-\uFB1C\uFE00-\uFE6F\uFEFD-\uFFFF",yh=new RegExp("^[^"+pd+"]*["+md+"]"),Sh=new RegExp("^[^"+md+"]*["+pd+"]"),Xe={bold:ar,code:cr,highlight:mr,italic:dr,strikethrough:gn,subscript:ur,superscript:fr,underline:hn},gd={directionless:ri,unmergeable:Nn},hd={normal:cd,segmented:ni,token:oi},Nd={[cd]:"normal",[ni]:"segmented",[oi]:"token"};function x(o,e,...t){if(!o){for(let n of t)e=(e||"").replace("%s",n);throw new Error(e)}}function yt(...o){let e=[];for(let t of o)if(t&&typeof t=="string")for(let[n]of t.matchAll(/\S+/g))e.push(n);return e}var Lh=100,Ys=!1,Zs=0;function xd(){return Ys}function Mh(o){Zs=o.timeStamp}function vh(o){Zs===0&&En(o).addEventListener("textInput",Mh,!0)}function qs(o,e,t){return e.__lexicalLineBreak===o||o[`__lexicalKey_${t._key}`]!==void 0}function wh(o){return o.getEditorState().read(()=>{let e=T();return e!==null?e.clone():null})}function Dh(o,e,t){let n=be(t._window),r=null,i=null;n!==null&&n.anchorNode===o&&(r=n.anchorOffset,i=n.focusOffset);let s=o.nodeValue;s!==null&&pr(e,s,r,i,!1)}function Oh(o,e,t){return e.nodeType===Ue&&t.isAttached()}function Ed(o,e,t){Ys=!0;let n=performance.now()-Zs>Lh;try{xe(o,()=>{let r=T()||wh(o),i=new Map,s=o.getRootElement(),l=o._editorState,a=o._blockCursorElement,d=!1,f="";for(let c=0;c<e.length;c++){let u=e[c],p=u.type,g=u.target,h=Q(g,l);if(!(h===null&&g!==s||B(h))){if(p==="characterData")n&&y(h)&&Oh(r,g,h)&&Dh(g,h,o);else if(p==="childList"){d=!0;let C=u.addedNodes;for(let M=0;M<C.length;M++){let S=C[M],R=Vs(S),O=S.parentNode;if(O!=null&&S!==a&&R===null&&(S.nodeName!=="BR"||!qs(S,O,o))){if(Ke){let k=S.innerText||S.nodeValue;k&&(f+=k)}O.removeChild(S)}}let N=u.removedNodes,L=N.length;if(L>0){let M=0;for(let S=0;S<L;S++){let R=N[S];(R.nodeName==="BR"&&qs(R,g,o)||a===R)&&(g.appendChild(R),M++)}L!==M&&(g===s&&(h=Xs(l)),i.set(g,h))}}}}if(i.size>0)for(let[c,u]of i)if(E(u)){let p=u.getChildrenKeys(),g=c.firstChild;for(let h=0;h<p.length;h++){let C=p[h],N=o.getElementByKey(C);N!==null&&(g==null?(c.appendChild(N),g=N):g!==N&&c.replaceChild(N,g),g=g.nextSibling)}}else y(u)&&u.markDirty();let m=t.takeRecords();if(m.length>0){for(let c=0;c<m.length;c++){let u=m[c],p=u.addedNodes,g=u.target;for(let h=0;h<p.length;h++){let C=p[h],N=C.parentNode;N!=null&&C.nodeName==="BR"&&!qs(C,g,o)&&N.removeChild(C)}}t.takeRecords()}r!==null&&(d&&(r.dirty=!0,Y(r)),Ke&&li(o)&&r.insertRawText(f))})}finally{Ys=!1}}function ii(o){let e=o._observer;if(e!==null){let t=e.takeRecords();Ed(o,t,e)}}function si(o){vh(o),o._observer=new MutationObserver((e,t)=>{Ed(o,e,t)})}function Td(o,e){let t=o.__mode,n=o.__format,r=o.__style,i=e.__mode,s=e.__format,l=e.__style;return(t===null||t===i)&&(n===null||n===s)&&(r===null||r===l)}function Cd(o,e){let t=o.mergeWithSibling(e),n=G()._normalizedNodes;return n.add(o.__key),n.add(e.__key),t}function js(o){let e=o;if(e.__text===""&&e.isSimpleText()&&!e.isUnmergeable()){e.remove();return}let t;for(;(t=e.getPreviousSibling())!==null&&y(t)&&t.isSimpleText()&&!t.isUnmergeable();)if(t.__text==="")t.remove();else if(Td(t,e)){e=Cd(t,e);break}else break;let n;for(;(n=e.getNextSibling())!==null&&y(n)&&n.isSimpleText()&&!n.isUnmergeable();)if(n.__text==="")n.remove();else if(Td(e,n)){e=Cd(e,n);break}else break}function Ro(o){return _d(o.anchor),_d(o.focus),o}function _d(o){for(;o.type==="element";){let e=o.getNode(),t=o.offset,n,r;if(t===e.getChildrenSize()?(n=e.getChildAtIndex(t-1),r=!0):(n=e.getChildAtIndex(t),r=!1),y(n)){o.set(n.__key,r?n.getTextContentSize():0,"text");break}else if(!E(n))break;o.set(n.__key,r?n.getChildrenSize():0,"element")}}var Ah=1;function Rh(){return""+Ah++}function Sd(o,e){let t=o._nodes.get(e);return t===void 0&&x(!1,"registeredNode: Type %s not found",e),t}var XT=Array.isArray,Ld=typeof queueMicrotask=="function"?queueMicrotask:o=>{Promise.resolve().then(o)};function Md(o){return B(Q(o))}function bn(o){let e=document.activeElement;if(e===null)return!1;let t=e.nodeName;return B(Q(o))&&(t==="INPUT"||t==="TEXTAREA"||e.contentEditable==="true"&&ko(e)==null)}function Wt(o,e,t){let n=o.getRootElement();try{return n!==null&&n.contains(e)&&n.contains(t)&&e!==null&&!bn(e)&&ai(e)===o}catch{return!1}}function yn(o){return o instanceof go}function ai(o){let e=o;for(;e!=null;){let t=ko(e);if(yn(t))return t;e=mi(e)}return null}function ko(o){return o?o.__lexicalEditor:null}function ze(o){return o.isToken()||o.isSegmented()}function kh(o){return o.nodeType===Ue}function Sn(o){let e=o;for(;e!=null;){if(kh(e))return e;e=e.firstChild}return null}function hr(o,e,t){let n=Xe[e];if(t!==null&&(o&n)===(t&n))return o;let r=o^n;return e==="subscript"?r&=~Xe.superscript:e==="superscript"&&(r&=~Xe.subscript),r}function Nr(o){return y(o)||De(o)||B(o)}function vd(o,e){if(e!=null){__DEV__&&Ih(o,e),o.__key=e;return}de(),sl();let t=G(),n=Ge(),r=Rh();n._nodeMap.set(r,o),E(o)?t._dirtyElements.set(r,!0):t._dirtyLeaves.add(r),t._cloneNotNeeded.add(r),t._dirtyType=zs,o.__key=r}function Ih(o,e){let t=mc();if(!t)return;let n=t._nodeMap.get(e);n&&n.constructor!==o.constructor&&(o.constructor.name!==n.constructor.name?x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with constructor %s. Keys must not be re-used when the type is changed.",o.constructor.name,n.constructor.name):x(!1,"Lexical node with constructor %s attempted to re-use key from node in active editor state with different constructor with the same name (possibly due to invalid Hot Module Replacement). Keys must not be re-used when the type is changed.",o.constructor.name))}function $h(o,e,t){let n=o;for(;n!==null;){if(t.has(n))return;let r=e.get(n);if(r===void 0)break;t.set(n,!1),n=r.__parent}}function qt(o){let e=o.getParent();if(e!==null){let t=o.getWritable(),n=e.getWritable(),r=o.getPreviousSibling(),i=o.getNextSibling();if(r===null)if(i!==null){let s=i.getWritable();n.__first=i.__key,s.__prev=null}else n.__first=null;else{let s=r.getWritable();if(i!==null){let l=i.getWritable();l.__prev=s.__key,s.__next=l.__key}else s.__next=null;t.__prev=null}if(i===null)if(r!==null){let s=r.getWritable();n.__last=r.__key,s.__next=null}else n.__last=null;else{let s=i.getWritable();if(r!==null){let l=r.getWritable();l.__next=s.__key,s.__prev=l.__key}else s.__prev=null;t.__next=null}n.__size--,t.__parent=null}}function gr(o){sl();let e=o.getLatest(),t=e.__parent,n=Ge(),r=G(),i=n._nodeMap,s=r._dirtyElements;t!==null&&$h(t,i,s);let l=e.__key;r._dirtyType=zs,E(o)?s.set(l,!0):r._dirtyLeaves.add(l)}function wd(o){let e=o.getPreviousSibling(),t=o.getNextSibling();e!==null&&gr(e),t!==null&&gr(t)}function se(o){de();let e=G(),t=e._compositionKey;if(o!==t){if(e._compositionKey=o,t!==null){let n=J(t);n!==null&&n.getWritable()}if(o!==null){let n=J(o);n!==null&&n.getWritable()}}}function je(){return st()?null:G()._compositionKey}function J(o,e){let n=(e||Ge())._nodeMap.get(o);return n===void 0?null:n}function Vs(o,e){let t=G(),n=o[`__lexicalKey_${t._key}`];return n!==void 0?J(n,e):null}function Q(o,e){let t=o;for(;t!=null;){let n=Vs(t,e);if(n!==null)return n;t=mi(t)}return null}function di(o){let e=o._decorators,t=Object.assign({},e);return o._pendingDecorators=t,t}function Js(o){return o.read(()=>H().getTextContent())}function Dd(o,e){xe(o,()=>{let t=Ge();if(t.isEmpty())return;if(e==="root"){H().markDirty();return}let n=t._nodeMap;for(let[,r]of n)r.markDirty()},o._pendingEditorState===null?{tag:"history-merge"}:void 0)}function H(){return Xs(Ge())}function Xs(o){return o._nodeMap.get("root")}function Y(o){de();let e=Ge();o!==null&&(__DEV__&&Object.isFrozen(o)&&x(!1,"$setSelection called on frozen selection object. Ensure selection is cloned before passing in."),o.dirty=!0,o.setCachedNodes(null)),e._selection=o}function Od(){de();let o=G();ii(o)}function Io(o){let e=G(),t=Ph(o,e);if(t===null){let n=e.getRootElement();return o===n?J("root"):null}return J(t)}function Qs(o,e){return e?o.getTextContentSize():0}function Ph(o,e){let t=o;for(;t!=null;){let n=t[`__lexicalKey_${e._key}`];if(n!==void 0)return n;t=mi(t)}return null}function ci(o){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(o)}function xr(o){let e=[],t=o;for(;t!==null;)e.push(t),t=t._parentEditor;return e}function el(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}function tl(o){return o.nodeType===Ue?o.nodeValue:null}function ui(o,e,t){let n=be(e._window);if(n===null)return;let r=n.anchorNode,{anchorOffset:i,focusOffset:s}=n;if(r!==null){let l=tl(r),a=Q(r);if(l!==null&&y(a)){if(l===xn&&t){let d=t.length;l=t,i=d,s=d}l!==null&&pr(a,l,i,s,o)}}}function pr(o,e,t,n,r){let i=o;if(i.isAttached()&&(r||!i.isDirty())){let s=i.isComposing(),l=e;(s||r)&&e[e.length-1]===xn&&(l=e.slice(0,-1));let a=i.getTextContent();if(r||l!==a){if(l===""){if(se(null),!Kt&&!_t&&!Ut){let g=G();setTimeout(()=>{g.update(()=>{i.isAttached()&&i.remove()})},20)}else i.remove();return}let d=i.getParent(),f=We(),m=i.getTextContentSize(),c=je(),u=i.getKey();if(i.isToken()||c!==null&&u===c&&!s||_(f)&&(d!==null&&!d.canInsertTextBefore()&&f.anchor.offset===0||f.anchor.key===o.__key&&f.anchor.offset===0&&!i.canInsertTextBefore()&&!s||f.focus.key===o.__key&&f.focus.offset===m&&!i.canInsertTextAfter()&&!s)){i.markDirty();return}let p=T();if(!_(p)||t===null||n===null){i.setTextContent(l);return}if(p.setTextNodeRange(i,t,i,n),i.isSegmented()){let g=i.getTextContent(),h=q(g);i.replace(h),i=h}i.setTextContent(l)}}}function Bh(o){let e=o.getPreviousSibling();return(y(e)||E(e)&&e.isInline())&&!e.canInsertTextAfter()}function Ad(o,e){if(e.isSegmented())return!0;if(!o.isCollapsed())return!1;let t=o.anchor.offset,n=e.getParentOrThrow(),r=e.isToken();return t===0?!e.canInsertTextBefore()||!n.canInsertTextBefore()&&!e.isComposing()||r||Bh(e):t===e.getTextContentSize()?!e.canInsertTextAfter()||!n.canInsertTextAfter()&&!e.isComposing()||r:!1}function Rd(o,e,t,n){return o==="Tab"&&!e&&!t&&!n}function kd(o,e,t,n){return o.toLowerCase()==="b"&&!e&&Er(t,n)}function Id(o,e,t,n){return o.toLowerCase()==="i"&&!e&&Er(t,n)}function $d(o,e,t,n){return o.toLowerCase()==="u"&&!e&&Er(t,n)}function Pd(o,e){return sc(o)&&!e}function Bd(o,e){return sc(o)&&e}function Hd(o,e){return Fe&&e&&o.toLowerCase()==="o"}function Fd(o,e,t){return Tn(o)&&(Fe?e:t)}function Kd(o,e,t){return Cn(o)&&(Fe?e:t)}function Ud(o,e){return Fe&&e&&Tn(o)}function zd(o,e){return Fe&&e&&Cn(o)}function Wd(o,e,t,n){return Fe?e||t?!1:Tn(o)||o.toLowerCase()==="h"&&n:n||e||t?!1:Tn(o)}function qd(o,e,t,n,r){return Fe?t||n||r?!1:Cn(o)||o.toLowerCase()==="d"&&e:e||n||r?!1:Cn(o)}function Yd(o,e,t,n){return o.toLowerCase()==="z"&&!e&&Er(t,n)}function Zd(o,e,t,n){return Fe?o.toLowerCase()==="z"&&t&&e:o.toLowerCase()==="y"&&n||o.toLowerCase()==="z"&&n&&e}function Vd(o,e,t,n){return e?!1:o.toLowerCase()==="c"?Fe?t:n:!1}function Xd(o,e,t,n){return e?!1:o.toLowerCase()==="x"?Fe?t:n:!1}function jd(o){return o==="ArrowLeft"}function Gd(o){return o==="ArrowRight"}function Hh(o){return o==="ArrowUp"}function Fh(o){return o==="ArrowDown"}function Jd(o,e,t,n){return jd(o)&&!e&&!n&&!t}function Qd(o,e,t,n,r){return jd(o)&&!n&&!t&&(e||r)}function ec(o,e,t,n){return Gd(o)&&!e&&!n&&!t}function tc(o,e,t,n,r){return Gd(o)&&!n&&!t&&(e||r)}function oc(o,e,t){return Hh(o)&&!e&&!t}function nc(o,e,t){return Fh(o)&&!e&&!t}function rc(o,e,t,n){return o||e||t||n}function ic(o){return o===" "}function Er(o,e){return Fe?o:e}function sc(o){return o==="Enter"}function Tn(o){return o==="Backspace"}function lc(o){return o==="Escape"}function Cn(o){return o==="Delete"}function ol(o,e,t){return o.toLowerCase()==="a"&&Er(e,t)}function nl(){let o=H(),e=o.select(0,o.getChildrenSize());Y(Ro(e))}function mo(o,e){o.__lexicalClassNameCache===void 0&&(o.__lexicalClassNameCache={});let t=o.__lexicalClassNameCache,n=t[e];if(n!==void 0)return n;let r=o[e];if(typeof r=="string"){let i=yt(r);return t[e]=i,i}return r}function fi(o,e,t,n,r){if(t.size===0)return;let i=n.__type,s=n.__key,l=e.get(i);l===void 0&&x(!1,"Type %s not in registeredNodes",i);let a=l.klass,d=o.get(a);d===void 0&&(d=new Map,o.set(a,d));let f=d.get(s),m=f==="destroyed"&&r==="created";(f===void 0||m)&&d.set(s,m?"updated":r)}function bd(o,e,t){let n=o.getParent(),r=t,i=o;return n!==null&&(e&&t===0?(r=i.getIndexWithinParent(),i=n):!e&&t===i.getChildrenSize()&&(r=i.getIndexWithinParent()+1,i=n)),i.getChildAtIndex(e?r-1:r)}function Yt(o,e){let t=o.offset;if(o.type==="element"){let n=o.getNode();return bd(n,e,t)}else{let n=o.getNode();if(e&&t===0||!e&&t===n.getTextContentSize()){let r=e?n.getPreviousSibling():n.getNextSibling();return r===null?bd(n.getParentOrThrow(),e,n.getIndexWithinParent()+(e?0:1)):r}}return null}function li(o){let e=En(o).event,t=e&&e.inputType;return t==="insertFromPaste"||t==="insertFromPasteAsQuotation"}function D(o,e,t){return ll(o,e,t)}function Tr(o){return!oe(o)&&!o.isLastChild()&&!o.isInline()}function Ln(o,e){let t=o._keyToDOMMap.get(e);return t===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",e),t}function mi(o){let e=o.assignedSlot||o.parentElement;return e!==null&&e.nodeType===11?e.host:e}function ac(o,e,t){let n=t.ownerDocument,r=n.defaultView;if(r===null)return;let{top:i,bottom:s}=e,l=0,a=0,d=t;for(;d!==null;){let f=d===n.body;if(f)l=0,a=En(o).innerHeight;else{let c=d.getBoundingClientRect();l=c.top,a=c.bottom}let m=0;if(i<l?m=-(l-i):s>a&&(m=s-a),m!==0)if(f)r.scrollBy(0,m);else{let c=d.scrollTop;d.scrollTop+=m;let u=d.scrollTop-c;i-=u,s-=u}if(f)break;d=mi(d)}}function dc(o){let e=T();if(!_(e)||!E(o))return e;let{anchor:t,focus:n}=e,r=t.getNode(),i=n.getNode();return _n(r,o)&&t.set(o.__key,0,"element"),_n(i,o)&&n.set(o.__key,0,"element"),e}function _n(o,e){let t=o.getParent();for(;t!==null;){if(t.is(e))return!0;t=t.getParent()}return!1}function cc(o){let e=o.ownerDocument;return e&&e.defaultView||null}function En(o){let e=o._window;return e===null&&x(!1,"window object not found"),e}function rl(o){let e=o.getParentOrThrow();for(;e!==null;){if(me(e))return e;e=e.getParentOrThrow()}return e}var jT=Symbol.for("@lexical/ShadowRootNodeBrand");function me(o){return oe(o)||E(o)&&o.isShadowRoot()}function ne(o){let e=G(),t=o.constructor.getType(),n=e._nodes.get(t);n===void 0&&x(!1,'$initializeNode failed. Ensure node has been registered to the editor. You can do this by passing the node class via the "nodes" array in the editor config.');let r=n.replace;if(r!==null){let i=r(o);return i instanceof o.constructor||x(!1,"$initializeNode failed. Ensure replacement node is a subclass of the original node."),i}return o}function pi(o,e){let t=o.getParent();oe(t)&&!E(e)&&!B(e)&&x(!1,"Only element or decorator nodes can be inserted in to the root node")}function Kh(o){let e=o.theme,t=document.createElement("div");t.contentEditable="false",t.setAttribute("data-lexical-cursor","true");let n=e.blockCursor;if(n!==void 0){if(typeof n=="string"){let r=yt(n);n=e.blockCursor=r}n!==void 0&&t.classList.add(...n)}return t}function Gs(o){return(B(o)||E(o)&&!o.canBeEmpty())&&!o.isInline()}function Cr(o,e,t){t.style.removeProperty("caret-color"),e._blockCursorElement=null;let n=o.parentElement;n!==null&&n.removeChild(o)}function uc(o,e,t){let n=o._blockCursorElement;if(_(t)&&t.isCollapsed()&&t.anchor.type==="element"&&e.contains(document.activeElement)){let r=t.anchor,i=r.getNode(),s=r.offset,l=i.getChildrenSize(),a=!1,d=null;if(s===l){let f=i.getChildAtIndex(s-1);Gs(f)&&(a=!0)}else{let f=i.getChildAtIndex(s);if(Gs(f)){let m=f.getPreviousSibling();(m===null||Gs(m))&&(a=!0,d=o.getElementByKey(f.__key))}}if(a){let f=o.getElementByKey(i.__key);n===null&&(o._blockCursorElement=n=Kh(o._config)),e.style.caretColor="transparent",d===null?f.appendChild(n):f.insertBefore(n,d);return}}n!==null&&Cr(n,o,e)}function be(o){return fe?(o||window).getSelection():null}function gi(o){return pe(o)&&o.tagName==="A"}function pe(o){return o.nodeType===1}function $o(o){let e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return o.nodeName.match(e)!==null}function po(o){let e=new RegExp(/^(address|article|aside|blockquote|canvas|dd|div|dl|dt|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hr|li|main|nav|noscript|ol|p|pre|section|table|td|tfoot|ul|video)$/,"i");return o.nodeName.match(e)!==null}function Po(o){if(oe(o)||B(o)&&!o.isInline())return!0;if(!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||De(e)||y(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function hi(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function il(){return G()}var yd=new WeakMap,Uh=new Map;function fc(o){if(!o._readOnly&&o.isEmpty())return Uh;x(o._readOnly,"getCachedTypeToNodeMap called with a writable EditorState");let e=yd.get(o);if(!e){e=new Map,yd.set(o,e);for(let[t,n]of o._nodeMap){let r=n.__type,i=e.get(r);i||(i=new Map,e.set(r,i)),i.set(t,n)}}return e}function Zt(o){let e=o.constructor,t=e.clone(o);return t.afterCloneFrom(o),__DEV__&&(x(t.__key===o.__key,"$cloneWithProperties: %s.clone(node) (with type '%s') did not return a node with the same key, make sure to specify node.__key as the last argument to the constructor",e.name,e.getType()),x(t.__parent===o.__parent&&t.__next===o.__next&&t.__prev===o.__prev,"$cloneWithProperties: %s.clone(node) (with type '%s') overrided afterCloneFrom but did not call super.afterCloneFrom(prevNode)",e.name,e.getType())),t}function pc(o,e){let t=o._decorators,r=o._pendingDecorators||t,i=e._nodeMap,s;for(s in r)i.has(s)||(r===t&&(r=di(o)),delete r[s])}function gc(o,e,t,n,r,i){let s=o.getFirstChild();for(;s!==null;){let l=s.__key;s.__parent===e&&(E(s)&&gc(s,l,t,n,r,i),t.has(l)||i.delete(l),r.push(l)),s=s.getNextSibling()}}function hc(o,e,t,n){let r=o._nodeMap,i=e._nodeMap,s=[];for(let[l]of n){let a=i.get(l);a!==void 0&&(a.isAttached()||(E(a)&&gc(a,l,r,i,s,n),r.has(l)||n.delete(l),s.push(l)))}for(let l of s)i.delete(l);for(let l of t){let a=i.get(l);a!==void 0&&!a.isAttached()&&(r.has(l)||t.delete(l),i.delete(l))}}var ce="",ho=null,lt="",Vt="",Mn,ye,br,xc=!1,xi=!1,Ei,dl,cl,Bo,at,ul,yr;function Ti(o,e){let t=Bo.get(o);if(e!==null){let n=pl(o);n.parentNode===e&&e.removeChild(n)}if(at.has(o)||ye._keyToDOMMap.delete(o),E(t)){let n=Ni(t,Bo);fl(n,0,n.length-1,null)}t!==void 0&&fi(yr,br,Ei,t,"destroyed")}function fl(o,e,t,n){let r=e;for(;r<=t;++r){let i=o[r];i!==void 0&&Ti(i,n)}}function Ci(o,e,t){let n=at.get(o);n===void 0&&x(!1,"createNode: node does not exist in nodeMap");let r=n.createDOM(Mn,ye);if(Xh(o,r,ye),y(n)?r.setAttribute("data-lexical-text","true"):B(n)&&r.setAttribute("data-lexical-decorator","true"),E(n)){let i=n.__size;if(i!==0){let s=i-1,l=Ni(n,at);ml(l,n,0,s,r,null)}n.isInline()||Ec(null,n,r),Tr(n)&&(ce+=Ve,Vt+=Ve)}else{let i=n.getTextContent();if(B(n)){let s=n.decorate(ye,Mn);s!==null&&Tc(o,s),r.contentEditable="false"}ce+=i,Vt+=i}if(e!==null&&!n?.insertDOMIntoParent(r,e))if(t!=null)e.insertBefore(r,t);else{let s=e.__lexicalLineBreak;s!=null?e.insertBefore(r,s):e.appendChild(r)}return __DEV__&&Object.freeze(n),fi(yr,br,Ei,n,"created"),r}function ml(o,e,t,n,r,i){let s=ce;ce="";let l=t;for(;l<=n;++l){Ci(o[l],r,i);let a=at.get(o[l]);a!==null&&y(a)&&(ho===null&&(ho=a.getFormat()),lt===""&&(lt=a.getStyle()))}Tr(e)&&(ce+=Ve),r.__lexicalTextContent=ce,ce=s+ce}function Nc(o,e){let t=e.get(o);return De(t)||B(t)&&t.isInline()}function Ec(o,e,t){let n=o!==null&&(o.__size===0||Nc(o.__last,Bo)),r=e.__size===0||Nc(e.__last,at);if(n){if(!r){let i=t.__lexicalLineBreak;if(i!=null)try{t.removeChild(i)}catch(s){if(typeof s=="object"&&s!=null){let l=`${s.toString()} Parent: ${t.tagName}, child: ${i.tagName}.`;throw new Error(l)}else throw s}t.__lexicalLineBreak=null}}else if(r){let i=document.createElement("br");t.__lexicalLineBreak=i,t.appendChild(i)}}function zh(o){dt(o)&&ho!=null&&!xi&&o.setTextStyle(lt)}function Wh(o){dt(o)&&lt!==""&&lt!==o.__textStyle&&!xi&&o.setTextStyle(lt)}function qh(o,e,t){ho=null,lt="",Yh(o,e,t),zh(e),Wh(e)}function Ni(o,e){let t=[],n=o.__first;for(;n!==null;){let r=e.get(n);r===void 0&&x(!1,"createChildrenArray: node does not exist in nodeMap"),t.push(n),n=r.__next}return t}function Yh(o,e,t){let n=ce,r=o.__size,i=e.__size;if(ce="",r===1&&i===1){let s=o.__first,l=e.__first;if(s===l)_r(s,t);else{let d=pl(s),f=Ci(l,null,null);try{t.replaceChild(f,d)}catch(m){if(typeof m=="object"&&m!=null){let c=`${m.toString()} Parent: ${t.tagName}, new child: {tag: ${f.tagName} key: ${l}}, old child: {tag: ${d.tagName}, key: ${s}}.`;throw new Error(c)}else throw m}Ti(s,null)}let a=at.get(l);y(a)&&(ho===null&&(ho=a.getFormat()),lt===""&&(lt=a.getStyle()))}else{let s=Ni(o,Bo),l=Ni(e,at);if(r===0)i!==0&&ml(l,e,0,i-1,t,null);else if(i===0){if(r!==0){let d=t.__lexicalLineBreak==null;fl(s,0,r-1,d?null:t),d&&(t.textContent="")}}else Vh(e,s,l,r,i,t)}Tr(e)&&(ce+=Ve),t.__lexicalTextContent=ce,ce=n+ce}function _r(o,e){let t=Bo.get(o),n=at.get(o);(t===void 0||n===void 0)&&x(!1,"reconcileNode: prevNode or nextNode does not exist in nodeMap");let r=xc||cl.has(o)||dl.has(o),i=Ln(ye,o);if(t===n&&!r){if(E(t)){let s=i.__lexicalTextContent;s!==void 0&&(ce+=s,Vt+=s)}else{let s=t.getTextContent();Vt+=s,ce+=s}return i}if(t!==n&&r&&fi(yr,br,Ei,n,"updated"),n.updateDOM(t,i,Mn)){let s=Ci(o,null,null);return e===null&&x(!1,"reconcileNode: parentDOM is null"),e.replaceChild(s,i),Ti(o,null),s}if(E(t)&&E(n))r&&(qh(t,n,i),!oe(n)&&!n.isInline()&&Ec(t,n,i)),Tr(n)&&(ce+=Ve,Vt+=Ve);else{let s=n.getTextContent();if(B(n)){let l=n.decorate(ye,Mn);l!==null&&Tc(o,l)}ce+=s,Vt+=s}if(!xi&&oe(n)&&n.__cachedText!==Vt){let s=n.getWritable();s.__cachedText=Vt,n=s}return __DEV__&&Object.freeze(n),i}function Tc(o,e){let t=ye._pendingDecorators,n=ye._decorators;if(t===null){if(n[o]===e)return;t=di(ye)}t[o]=e}function Zh(o){return o.firstChild}function al(o){let e=o.nextSibling;return e!==null&&e===ye._blockCursorElement&&(e=e.nextSibling),e}function Vh(o,e,t,n,r,i){let s=n-1,l=r-1,a,d,f=Zh(i),m=0,c=0;for(;m<=s&&c<=l;){let g=e[m],h=t[c];if(g===h)f=al(_r(h,i)),m++,c++;else{a===void 0&&(a=new Set(e)),d===void 0&&(d=new Set(t));let N=d.has(g),L=a.has(h);if(!N)f=al(pl(g)),Ti(g,i),m++;else if(!L)Ci(h,i,f),c++;else{let M=Ln(ye,h);M===f?f=al(_r(h,i)):(f!=null?i.insertBefore(M,f):i.appendChild(M),_r(h,i)),m++,c++}}let C=at.get(h);C!==null&&y(C)&&(ho===null&&(ho=C.getFormat()),lt===""&&(lt=C.getStyle()))}let u=m>s,p=c>l;if(u&&!p){let g=t[l+1],h=g===void 0?null:ye.getElementByKey(g);ml(t,o,c,l,i,h)}else p&&!u&&fl(e,m,s,i)}function Cc(o,e,t,n,r,i){ce="",Vt="",xc=n===zt,ye=t,Mn=t._config,br=t._nodes,Ei=ye._listeners.mutation,dl=r,cl=i,Bo=o._nodeMap,at=e._nodeMap,xi=e._readOnly,ul=new Map(t._keyToDOMMap);let s=new Map;return yr=s,_r("root",null),ye=void 0,br=void 0,dl=void 0,cl=void 0,Bo=void 0,at=void 0,Mn=void 0,ul=void 0,yr=void 0,s}function Xh(o,e,t){let n=t._keyToDOMMap;e["__lexicalKey_"+t._key]=o,n.set(o,e)}function pl(o){let e=ul.get(o);return e===void 0&&x(!1,"Reconciliation: could not find DOM element for node key %s",o),e}var Xt=Object.freeze({}),El=30,gl=[["keydown",rN],["pointerdown",Gh],["compositionstart",oN],["compositionend",nN],["input",tN],["click",jh],["cut",Xt],["copy",Xt],["dragstart",Xt],["dragover",Xt],["dragend",Xt],["paste",Xt],["focus",Xt],["blur",Xt],["drop",Xt]];uo&&gl.push(["beforeinput",(o,e)=>eN(o,e)]);var Mr=0,Lc=null,Mc=0,vn=null,_i=new WeakMap,hl=!1,Nl=!1,Lr=!1,Sr=!1,vc=[0,"",0,"root",0];function wc(o,e,t,n,r){let i=o.anchor,s=o.focus,l=i.getNode(),a=G(),d=be(a._window),f=d!==null?d.anchorNode:null,m=i.key,c=a.getElementByKey(m),u=t.length;return m!==s.key||!y(l)||(!r&&(!uo||Mc<n+50)||l.isDirty()&&u<2||ci(t))&&i.offset!==s.offset&&!l.isComposing()||ze(l)||l.isDirty()&&u>1||(r||!uo)&&c!==null&&!l.isComposing()&&f!==Sn(c)||d!==null&&e!==null&&(!e.collapsed||e.startContainer!==d.anchorNode||e.startOffset!==d.anchorOffset)||l.getFormat()!==o.format||l.getStyle()!==o.style||Ad(o,l)}function _c(o,e){return o!==null&&o.nodeValue!==null&&o.nodeType===Ue&&e!==0&&e!==o.nodeValue.length}function bc(o,e,t){let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:s}=o;hl&&(hl=!1,_c(n,r)&&_c(i,s))||xe(e,()=>{if(!t){Y(null);return}if(!Wt(e,n,i))return;let l=T();if(_(l)){let a=l.anchor,d=a.getNode();if(l.isCollapsed()){o.type==="Range"&&o.anchorNode===o.focusNode&&(l.dirty=!0);let f=En(e).event,m=f?f.timeStamp:performance.now(),[c,u,p,g,h]=vc,C=H(),N=e.isComposing()===!1&&C.getTextContent()==="";if(m<h+200&&a.offset===p&&a.key===g)l.format=c,l.style=u;else if(a.type==="text")x(y(d),"Point.getNode() must return TextNode when type is text"),l.format=d.getFormat(),l.style=d.getStyle();else if(a.type==="element"&&!N){let L=a.getNode();l.style="",L instanceof ct&&L.getChildrenSize()===0?l.style=L.getTextStyle():l.format=0}}else{let f=a.key,c=l.focus.key,u=l.getNodes(),p=u.length,g=l.isBackward(),h=g?s:r,C=g?r:s,N=g?c:f,L=g?f:c,M=Ws,S=!1;for(let R=0;R<p;R++){let O=u[R],k=O.getTextContentSize();if(y(O)&&k!==0&&!(R===0&&O.__key===N&&h===k||R===p-1&&O.__key===L&&C===0)&&(S=!0,M&=O.getFormat(),M===0))break}l.format=S?M:0}}D(e,we,void 0)})}function jh(o,e){xe(e,()=>{let t=T(),n=be(e._window),r=We();if(n){if(_(t)){let i=t.anchor,s=i.getNode();if(i.type==="element"&&i.offset===0&&t.isCollapsed()&&!oe(s)&&H().getChildrenSize()===1&&s.getTopLevelElementOrThrow().isEmpty()&&r!==null&&t.is(r))n.removeAllRanges(),t.dirty=!0;else if(o.detail===3&&!t.isCollapsed()){let a=t.focus.getNode();s!==a&&(E(s)?s.select(0):s.getParentOrThrow().select(0))}}else if(o.pointerType==="touch"){let i=n.anchorNode;if(i!==null){let s=i.nodeType;if(s===fo||s===Ue){let l=vr(r,n,e,o);Y(l)}}}}D(e,Mo,o)})}function Gh(o,e){let t=o.target,n=o.pointerType;t instanceof Node&&n!=="touch"&&xe(e,()=>{Md(t)||(Nl=!0)})}function Dc(o){if(!o.getTargetRanges)return null;let e=o.getTargetRanges();return e.length===0?null:e[0]}function Jh(o,e){return o!==e||E(o)||E(e)||!o.isToken()||!e.isToken()}function Qh(o){return Lc==="MediaLast"&&o<Mr+El}function eN(o,e){let t=o.inputType,n=Dc(o);t==="deleteCompositionText"||Ke&&li(e)||t!=="insertCompositionText"&&xe(e,()=>{let r=T();if(t==="deleteContentBackward"){if(r===null){let f=We();if(!_(f))return;Y(f.clone())}if(_(r)){let f=r.anchor.key===r.focus.key;if(Qh(o.timeStamp)&&e.isComposing()&&f){if(se(null),Mr=0,setTimeout(()=>{xe(e,()=>{se(null)})},El),_(r)){let m=r.anchor.getNode();m.markDirty(),x(y(m),"Anchor node must be a TextNode"),r.style=m.getStyle()}}else{se(null),o.preventDefault();let m=r.anchor.getNode().getTextContent(),c=r.anchor.offset===0&&r.focus.offset===m.length;Us&&f&&!c||D(e,Ze,!0)}return}}if(!_(r))return;let i=o.data;vn!==null&&ui(!1,e,vn),(!r.dirty||vn!==null)&&r.isCollapsed()&&!oe(r.anchor.getNode())&&n!==null&&r.applyDOMRange(n),vn=null;let s=r.anchor,l=r.focus,a=s.getNode(),d=l.getNode();if(t==="insertText"||t==="insertTranspose"){if(i===`
`)o.preventDefault(),D(e,It,!1);else if(i===Ve)o.preventDefault(),D(e,$t,void 0);else if(i==null&&o.dataTransfer){let f=o.dataTransfer.getData("text/plain");o.preventDefault(),r.insertRawText(f)}else i!=null&&wc(r,n,i,o.timeStamp,!0)?(o.preventDefault(),D(e,rt,i)):vn=i;Mc=o.timeStamp;return}switch(o.preventDefault(),t){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":{D(e,rt,o);break}case"insertFromComposition":{se(null),D(e,rt,o);break}case"insertLineBreak":{se(null),D(e,It,!1);break}case"insertParagraph":{se(null),Lr&&!_t?(Lr=!1,D(e,It,!1)):D(e,$t,void 0);break}case"insertFromPaste":case"insertFromPasteAsQuotation":{D(e,no,o);break}case"deleteByComposition":{Jh(a,d)&&D(e,mn,o);break}case"deleteByDrag":case"deleteByCut":{D(e,mn,o);break}case"deleteContent":{D(e,Ze,!1);break}case"deleteWordBackward":{D(e,Ct,!0);break}case"deleteWordForward":{D(e,Ct,!1);break}case"deleteHardLineBackward":case"deleteSoftLineBackward":{D(e,it,!0);break}case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":{D(e,it,!1);break}case"formatStrikeThrough":{D(e,Ne,"strikethrough");break}case"formatBold":{D(e,Ne,"bold");break}case"formatItalic":{D(e,Ne,"italic");break}case"formatUnderline":{D(e,Ne,"underline");break}case"historyUndo":{D(e,ro,void 0);break}case"historyRedo":{D(e,io,void 0);break}default:}})}function tN(o,e){o.stopPropagation(),xe(e,()=>{let t=T(),n=o.data,r=Dc(o);if(n!=null&&_(t)&&wc(t,r,n,o.timeStamp,!1)){Sr&&(xl(e,n),Sr=!1);let s=t.anchor.getNode(),l=be(e._window);if(l===null)return;let a=t.isBackward(),d=a?t.anchor.offset:t.focus.offset,f=a?t.focus.offset:t.anchor.offset;(!uo||t.isCollapsed()||!y(s)||l.anchorNode===null||s.getTextContent().slice(0,d)+n+s.getTextContent().slice(d+f)!==tl(l.anchorNode))&&D(e,rt,n);let m=n.length;Ke&&m>1&&o.inputType==="insertCompositionText"&&!e.isComposing()&&(t.anchor.offset-=m),!Kt&&!_t&&!Ut&&e.isComposing()&&(Mr=0,se(null))}else ui(!1,e,n!==null?n:void 0),Sr&&(xl(e,n||void 0),Sr=!1);Od()}),vn=null}function oN(o,e){xe(e,()=>{let t=T();if(_(t)&&!e.isComposing()){let n=t.anchor,r=t.anchor.getNode();se(n.key),(o.timeStamp<Mr+El||n.type==="element"||!t.isCollapsed()||y(r)&&r.getStyle()!==t.style)&&D(e,rt,fd)}})}function xl(o,e){let t=o._compositionKey;if(se(null),t!==null&&e!=null){if(e===""){let n=J(t),r=Sn(o.getElementByKey(t));r!==null&&r.nodeValue!==null&&y(n)&&pr(n,r.nodeValue,null,null,!0);return}if(e[e.length-1]===`
`){let n=T();if(_(n)){let r=n.focus;n.anchor.set(r.key,r.offset,r.type),D(o,He,null);return}}}ui(!0,o,e)}function nN(o,e){Ke?Sr=!0:xe(e,()=>{xl(e,o.data)})}function rN(o,e){if(Mr=o.timeStamp,Lc=o.key,e.isComposing())return;let{key:t,shiftKey:n,ctrlKey:r,metaKey:i,altKey:s}=o;if(!D(e,As,o)&&t!=null){if(ec(t,r,s,i))D(e,vo,o);else if(tc(t,r,n,s,i))D(e,Rs,o);else if(Jd(t,r,s,i))D(e,wo,o);else if(Qd(t,r,n,s,i))D(e,ks,o);else if(oc(t,r,i))D(e,Pt,o);else if(nc(t,r,i))D(e,Bt,o);else if(Bd(t,n))Lr=!0,D(e,He,o);else if(ic(t))D(e,rr,o);else if(Hd(t,r))o.preventDefault(),Lr=!0,D(e,It,!0);else if(Pd(t,n))Lr=!1,D(e,He,o);else if(Wd(t,s,i,r))Tn(t)?D(e,Ht,o):(o.preventDefault(),D(e,Ze,!0));else if(lc(t))D(e,Do,o);else if(qd(t,r,n,s,i))Cn(t)?D(e,Ft,o):(o.preventDefault(),D(e,Ze,!1));else if(Fd(t,s,r))o.preventDefault(),D(e,Ct,!0);else if(Kd(t,s,r))o.preventDefault(),D(e,Ct,!1);else if(Ud(t,i))o.preventDefault(),D(e,it,!0);else if(zd(t,i))o.preventDefault(),D(e,it,!1);else if(kd(t,s,i,r))o.preventDefault(),D(e,Ne,"bold");else if($d(t,s,i,r))o.preventDefault(),D(e,Ne,"underline");else if(Id(t,s,i,r))o.preventDefault(),D(e,Ne,"italic");else if(Rd(t,s,r,i))D(e,Oo,o);else if(Yd(t,n,i,r))o.preventDefault(),D(e,ro,void 0);else if(Zd(t,n,i,r))o.preventDefault(),D(e,io,void 0);else{let l=e._editorState._selection;Se(l)?Vd(t,n,i,r)?(o.preventDefault(),D(e,so,o)):Xd(t,n,i,r)?(o.preventDefault(),D(e,lo,o)):ol(t,i,r)&&(o.preventDefault(),D(e,pn,o)):!Ke&&ol(t,i,r)&&(o.preventDefault(),D(e,pn,o))}rc(r,n,s,i)&&D(e,Fs,o)}}function Oc(o){let e=o.__lexicalEventHandles;return e===void 0&&(e=[],o.__lexicalEventHandles=e),e}var wn=new Map;function Ac(o){let e=o.target,t=e==null?null:e.nodeType===9?e.defaultView:e.ownerDocument.defaultView,n=be(t);if(n===null)return;let r=ai(n.anchorNode);if(r===null)return;Nl&&(Nl=!1,xe(r,()=>{let f=We(),m=n.anchorNode;if(m===null)return;let c=m.nodeType;if(c!==fo&&c!==Ue)return;let u=vr(f,n,r,o);Y(u)}));let i=xr(r),s=i[i.length-1],l=s._key,a=wn.get(l),d=a||s;d!==r&&bc(n,d,!1),bc(n,r,!0),r!==s?wn.set(l,r):a&&wn.delete(l)}function yc(o){o._lexicalHandled=!0}function Sc(o){return o._lexicalHandled===!0}function Rc(o,e){let t=o.ownerDocument,n=_i.get(t);(n===void 0||n<1)&&t.addEventListener("selectionchange",Ac),_i.set(t,(n||0)+1),o.__lexicalEditor=e;let r=Oc(o);for(let i=0;i<gl.length;i++){let[s,l]=gl[i],a=typeof l=="function"?d=>{Sc(d)||(yc(d),(e.isEditable()||s==="click")&&l(d,e))}:d=>{if(Sc(d))return;yc(d);let f=e.isEditable();switch(s){case"cut":return f&&D(e,lo,d);case"copy":return D(e,so,d);case"paste":return f&&D(e,no,d);case"dragstart":return f&&D(e,ir,d);case"dragover":return f&&D(e,sr,d);case"dragend":return f&&D(e,$s,d);case"focus":return f&&D(e,lr,d);case"blur":return f&&D(e,Hs,d);case"drop":return f&&D(e,Ao,d)}};o.addEventListener(s,a),r.push(()=>{o.removeEventListener(s,a)})}}function kc(o){let e=o.ownerDocument,t=_i.get(e);x(t!==void 0,"Root element not registered");let n=t-1;x(n>=0,"Root element count less than 0"),_i.set(e,n),n===0&&e.removeEventListener("selectionchange",Ac);let r=ko(o);yn(r)?(iN(r),o.__lexicalEditor=null):r&&x(!1,"Attempted to remove event handlers from a node that does not belong to this build of Lexical");let i=Oc(o);for(let s=0;s<i.length;s++)i[s]();o.__lexicalEventHandles=[]}function iN(o){if(o._parentEditor!==null){let e=xr(o),n=e[e.length-1]._key;wn.get(n)===o&&wn.delete(n)}else wn.delete(o._key)}function Ic(){hl=!0}function $c(o,e,t,n,r){vc=[o,e,t,n,r]}function Tl(o,e,t){de();let n=o.__key,r=o.getParent();if(r===null)return;let i=dc(o),s=!1;if(_(i)&&e){let l=i.anchor,a=i.focus;l.key===n&&(On(l,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0),a.key===n&&(On(a,o,r,o.getPreviousSibling(),o.getNextSibling()),s=!0)}else Se(i)&&e&&o.isSelected()&&o.selectPrevious();if(_(i)&&e&&!s){let l=o.getIndexWithinParent();qt(o),Dn(i,r,l,-1)}else qt(o);!t&&!me(r)&&!r.canBeEmpty()&&r.isEmpty()&&Tl(r,e),e&&oe(r)&&r.isEmpty()&&r.selectEnd()}var St=class{static getType(){x(!1,"LexicalNode: Node %s does not implement .getType().",this.name)}static clone(e){x(!1,"LexicalNode: Node %s does not implement .clone().",this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,vd(this,e),__DEV__&&this.__type!=="root"&&(de(),sN(this.__type,this.constructor))}getType(){return this.__type}isInline(){x(!1,"LexicalNode: Node %s does not implement .isInline().",this.constructor.name)}isAttached(){let e=this.__key;for(;e!==null;){if(e==="root")return!0;let t=J(e);if(t===null)break;e=t.__parent}return!1}isSelected(e){let t=e||T();if(t==null)return!1;let n=t.getNodes().some(i=>i.__key===this.__key);if(y(this))return n;if(_(t)&&t.anchor.type==="element"&&t.focus.type==="element"){if(t.isCollapsed())return!1;let i=this.getParent();if(B(this)&&this.isInline()&&i){let s=t.isBackward()?t.focus:t.anchor,l=s.getNode();if(s.offset===l.getChildrenSize()&&l.is(i)&&l.getLastChildOrThrow().is(this))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){let e=this.getParent();if(e===null)return-1;let t=e.getFirstChild(),n=0;for(;t!==null;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){let e=this.getLatest().__parent;return e===null?null:J(e)}getParentOrThrow(){let e=this.getParent();return e===null&&x(!1,"Expected node %s to have a parent.",this.__key),e}getTopLevelElement(){let e=this;for(;e!==null;){let t=e.getParent();if(me(t))return x(E(e)||e===this&&B(e),"Children of root nodes must be elements or decorators"),e;e=t}return null}getTopLevelElementOrThrow(){let e=this.getTopLevelElement();return e===null&&x(!1,"Expected node %s to have a top parent element.",this.__key),e}getParents(){let e=[],t=this.getParent();for(;t!==null;)e.push(t),t=t.getParent();return e}getParentKeys(){let e=[],t=this.getParent();for(;t!==null;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){let t=this.getLatest().__prev;return t===null?null:J(t)}getPreviousSiblings(){let e=[],t=this.getParent();if(t===null)return e;let n=t.getFirstChild();for(;n!==null&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){let t=this.getLatest().__next;return t===null?null:J(t)}getNextSiblings(){let e=[],t=this.getNextSibling();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){let t=this.getParents(),n=e.getParents();E(this)&&t.unshift(this),E(e)&&n.unshift(e);let r=t.length,i=n.length;if(r===0||i===0||t[r-1]!==n[i-1])return null;let s=new Set(n);for(let l=0;l<r;l++){let a=t[l];if(s.has(a))return a}return null}is(e){return e==null?!1:this.__key===e.__key}isBefore(e){if(this===e)return!1;if(e.isParentOf(this))return!0;if(this.isParentOf(e))return!1;let t=this.getCommonAncestor(e),n=0,r=0,i=this;for(;;){let s=i.getParentOrThrow();if(s===t){n=i.getIndexWithinParent();break}i=s}for(i=e;;){let s=i.getParentOrThrow();if(s===t){r=i.getIndexWithinParent();break}i=s}return n<r}isParentOf(e){let t=this.__key;if(t===e.__key)return!1;let n=e;for(;n!==null;){if(n.__key===t)return!0;n=n.getParent()}return!1}getNodesBetween(e){let t=this.isBefore(e),n=[],r=new Set,i=this;for(;i!==null;){let s=i.__key;if(r.has(s)||(r.add(s),n.push(i)),i===e)break;let l=E(i)?t?i.getFirstChild():i.getLastChild():null;if(l!==null){i=l;continue}let a=t?i.getNextSibling():i.getPreviousSibling();if(a!==null){i=a;continue}let d=i.getParentOrThrow();if(r.has(d.__key)||n.push(d),d===e)break;let f=null,m=d;do if(m===null&&x(!1,"getNodesBetween: ancestor is null"),f=t?m.getNextSibling():m.getPreviousSibling(),m=m.getParent(),m!==null)f===null&&!r.has(m.__key)&&n.push(m);else break;while(f===null);i=f}return t||n.reverse(),n}isDirty(){let t=G()._dirtyLeaves;return t!==null&&t.has(this.__key)}getLatest(){let e=J(this.__key);return e===null&&x(!1,"Lexical node does not exist in active editor state. Avoid using the same node references between nested closures from editorState.read/editor.update."),e}getWritable(){de();let e=Ge(),t=G(),n=e._nodeMap,r=this.__key,i=this.getLatest(),s=t._cloneNotNeeded,l=T();if(l!==null&&l.setCachedNodes(null),s.has(r))return gr(i),i;let a=Zt(i);return s.add(r),gr(a),n.set(r,a),a}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(e,t){x(!1,"createDOM: base method not extended")}updateDOM(e,t,n){x(!1,"updateDOM: base method not extended")}exportDOM(e){return{element:this.createDOM(e._config,e)}}exportJSON(){x(!1,"exportJSON: base method not extended")}static importJSON(e){x(!1,"LexicalNode: Node %s does not implement .importJSON().",this.name)}static transform(){return null}remove(e){Tl(this,!0,e)}replace(e,t){de();let n=T();n!==null&&(n=n.clone()),pi(this,e);let r=this.getLatest(),i=this.__key,s=e.__key,l=e.getWritable(),a=this.getParentOrThrow().getWritable(),d=a.__size;qt(l);let f=r.getPreviousSibling(),m=r.getNextSibling(),c=r.__prev,u=r.__next,p=r.__parent;if(Tl(r,!1,!0),f===null)a.__first=s;else{let g=f.getWritable();g.__next=s}if(l.__prev=c,m===null)a.__last=s;else{let g=m.getWritable();g.__prev=s}if(l.__next=u,l.__parent=p,a.__size=d,t&&(x(E(this)&&E(l),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(g=>{l.append(g)})),_(n)){Y(n);let g=n.anchor,h=n.focus;g.key===i&&Cl(g,l),h.key===i&&Cl(h,l)}return je()===i&&se(s),l}insertAfter(e,t=!0){de(),pi(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.getParent(),s=T(),l=!1,a=!1;if(i!==null){let u=e.getIndexWithinParent();if(qt(r),_(s)){let p=i.__key,g=s.anchor,h=s.focus;l=g.type==="element"&&g.key===p&&g.offset===u+1,a=h.type==="element"&&h.key===p&&h.offset===u+1}}let d=this.getNextSibling(),f=this.getParentOrThrow().getWritable(),m=r.__key,c=n.__next;if(d===null)f.__last=m;else{let u=d.getWritable();u.__prev=m}if(f.__size++,n.__next=m,r.__next=c,r.__prev=n.__key,r.__parent=n.__parent,t&&_(s)){let u=this.getIndexWithinParent();Dn(s,f,u+1);let p=f.__key;l&&s.anchor.set(p,u+2,"element"),a&&s.focus.set(p,u+2,"element")}return e}insertBefore(e,t=!0){de(),pi(this,e);let n=this.getWritable(),r=e.getWritable(),i=r.__key;qt(r);let s=this.getPreviousSibling(),l=this.getParentOrThrow().getWritable(),a=n.__prev,d=this.getIndexWithinParent();if(s===null)l.__first=i;else{let m=s.getWritable();m.__next=i}l.__size++,n.__prev=i,r.__prev=a,r.__next=n.__key,r.__parent=n.__parent;let f=T();if(t&&_(f)){let m=this.getParentOrThrow();Dn(f,m,d)}return e}isParentRequired(){return!1}createParentElementNode(){return I()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){de();let n=this.getPreviousSibling(),r=this.getParentOrThrow();if(n===null)return r.select(0,0);if(E(n))return n.select();if(!y(n)){let i=n.getIndexWithinParent()+1;return r.select(i,i)}return n.select(e,t)}selectNext(e,t){de();let n=this.getNextSibling(),r=this.getParentOrThrow();if(n===null)return r.select();if(E(n))return n.select(0,0);if(!y(n)){let i=n.getIndexWithinParent();return r.select(i,i)}return n.select(e,t)}markDirty(){this.getWritable()}insertDOMIntoParent(e,t){return!1}};function sN(o,e){let t=G()._nodes.get(o);t===void 0&&x(!1,"Create node: Attempted to create node %s that was not configured to be used on the editor.",e.name);let n=t.klass;n!==e&&x(!1,"Create node: Type %s in node %s does not match registered node %s with the same type",o,e.name,n.name)}function Pc(o,e,t){let n=t||e.getParentOrThrow().getLastChild(),r=e,i=[e];for(;r!==n;)r.getNextSibling()||x(!1,"insertRangeAfter: lastToInsert must be a later sibling of firstToInsert"),r=r.getNextSibling(),i.push(r);let s=o;for(let l of i)s=s.insertAfter(l)}var Ho=class o extends St{static getType(){return"linebreak"}static clone(e){return new o(e.__key)}constructor(e){super(e)}getTextContent(){return`
`}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:e=>aN(e)||dN(e)?null:{conversion:lN,priority:0}}}static importJSON(e){return ut()}exportJSON(){return{type:"linebreak",version:1}}};function lN(o){return{node:ut()}}function ut(){return ne(new Ho)}function De(o){return o instanceof Ho}function aN(o){let e=o.parentElement;if(e!==null&&po(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&bi(t)){let n=e.lastChild;if(n===o||n.previousSibling===o&&bi(n))return!0}}return!1}function dN(o){let e=o.parentElement;if(e!==null&&po(e)){let t=e.firstChild;if(t===o||t.nextSibling===o&&bi(t))return!1;let n=e.lastChild;if(n===o||n.previousSibling===o&&bi(n))return!0}return!1}function bi(o){return o.nodeType===Ue&&/^( |\t|\r?\n)+$/.test(o.textContent||"")}function _l(o,e){return e&cr?"code":e&mr?"mark":e&ur?"sub":e&fr?"sup":null}function bl(o,e){return e&ar?"strong":e&dr?"em":"span"}function Kc(o,e,t,n,r){let i=n.classList,s=mo(r,"base");s!==void 0&&i.add(...s),s=mo(r,"underlineStrikethrough");let l=!1,a=e&hn&&e&gn,d=t&hn&&t&gn;s!==void 0&&(d?(l=!0,a||i.add(...s)):a&&i.remove(...s));for(let f in Xe){let c=Xe[f];if(s=mo(r,f),s!==void 0)if(t&c){if(l&&(f==="underline"||f==="strikethrough")){e&c&&i.remove(...s);continue}((e&c)===0||a&&f==="underline"||f==="strikethrough")&&i.add(...s)}else e&c&&i.remove(...s)}}function cN(o,e){let t=o.length,n=e.length,r=0,i=0;for(;r<t&&r<n&&o[r]===e[r];)r++;for(;i+r<t&&i+r<n&&o[t-i-1]===e[n-i-1];)i++;return[r,t-r-i,e.slice(r,n-i)]}function Uc(o,e,t){let n=e.firstChild,r=t.isComposing(),s=o+(r?xn:"");if(n==null)e.textContent=s;else{let l=n.nodeValue;if(l!==s)if(r||Ke){let[a,d,f]=cN(l,s);d!==0&&n.deleteData(a,d),n.insertData(a,f)}else n.nodeValue=s}}function Bc(o,e,t,n,r,i){Uc(r,o,e);let l=i.theme.text;l!==void 0&&Kc(t,0,n,o,l)}function yi(o,e){let t=document.createElement(e);return t.appendChild(o),t}var Je=class o extends St{static getType(){return"text"}static clone(e){return new o(e.__text,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__format=e.__format,this.__style=e.__style,this.__mode=e.__mode,this.__detail=e.__detail}constructor(e,t){super(t),this.__text=e,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let e=this.getLatest();return Nd[e.__mode]}getStyle(){return this.getLatest().__style}isToken(){return this.getLatest().__mode===oi}isComposing(){return this.__key===je()}isSegmented(){return this.getLatest().__mode===ni}isDirectionless(){return(this.getLatest().__detail&ri)!==0}isUnmergeable(){return(this.getLatest().__detail&Nn)!==0}hasFormat(e){let t=Xe[e];return(this.getFormat()&t)!==0}isSimpleText(){return this.__type==="text"&&this.__mode===0}getTextContent(){return this.getLatest().__text}getFormatFlags(e,t){let r=this.getLatest().__format;return hr(r,e,t)}canHaveFormat(){return!0}createDOM(e,t){let n=this.__format,r=_l(this,n),i=bl(this,n),s=r===null?i:r,l=document.createElement(s),a=l;this.hasFormat("code")&&l.setAttribute("spellcheck","false"),r!==null&&(a=document.createElement(i),l.appendChild(a));let d=this.__text;Bc(a,this,i,n,d,e);let f=this.__style;return f!==""&&(l.style.cssText=f),l}updateDOM(e,t,n){let r=this.__text,i=e.__format,s=this.__format,l=_l(this,i),a=_l(this,s),d=bl(this,i),f=bl(this,s);if((l===null?d:l)!==(a===null?f:a))return!0;if(l===a&&d!==f){let N=t.firstChild;N==null&&x(!1,"updateDOM: prevInnerDOM is null or undefined");let L=document.createElement(f);return Bc(L,this,f,s,r,n),t.replaceChild(L,N),!1}let u=t;a!==null&&l!==null&&(u=t.firstChild,u==null&&x(!1,"updateDOM: innerDOM is null or undefined")),Uc(r,u,this);let g=n.theme.text;g!==void 0&&i!==s&&Kc(f,i,s,u,g);let h=e.__style,C=this.__style;return h!==C&&(t.style.cssText=C),!1}static importDOM(){return{"#text":()=>({conversion:gN,priority:0}),b:()=>({conversion:fN,priority:0}),code:()=>({conversion:No,priority:0}),em:()=>({conversion:No,priority:0}),i:()=>({conversion:No,priority:0}),s:()=>({conversion:No,priority:0}),span:()=>({conversion:uN,priority:0}),strong:()=>({conversion:No,priority:0}),sub:()=>({conversion:No,priority:0}),sup:()=>({conversion:No,priority:0}),u:()=>({conversion:No,priority:0})}}static importJSON(e){let t=q(e.text);return t.setFormat(e.format),t.setDetail(e.detail),t.setMode(e.mode),t.setStyle(e.style),t}exportDOM(e){let{element:t}=super.exportDOM(e);x(t!==null&&pe(t),"Expected TextNode createDOM to always return a HTMLElement");let n=this.getTextContent();/^\s|\s$/.test(n)&&(t.style.whiteSpace="pre-wrap");for(let r of Array.from(t.classList.values()))r.startsWith("editor-theme-")&&t.classList.remove(r);return t.classList.length===0&&t.removeAttribute("class"),t.nodeName==="SPAN"&&!t.getAttribute("style")&&(t=document.createTextNode(n)),this.hasFormat("bold")&&(t=yi(t,"b")),this.hasFormat("italic")&&(t=yi(t,"em")),this.hasFormat("strikethrough")&&(t=yi(t,"s")),this.hasFormat("underline")&&(t=yi(t,"u")),{element:t}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(e,t){}setFormat(e){let t=this.getWritable();return t.__format=typeof e=="string"?Xe[e]:e,t}setDetail(e){let t=this.getWritable();return t.__detail=typeof e=="string"?gd[e]:e,t}setStyle(e){let t=this.getWritable();return t.__style=e,t}toggleFormat(e){let t=this.getFormat(),n=hr(t,e,null);return this.setFormat(n)}toggleDirectionless(){let e=this.getWritable();return e.__detail^=ri,e}toggleUnmergeable(){let e=this.getWritable();return e.__detail^=Nn,e}setMode(e){let t=hd[e];if(this.__mode===t)return this;let n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;let t=this.getWritable();return t.__text=e,t}select(e,t){de();let n=e,r=t,i=T(),s=this.getTextContent(),l=this.__key;if(typeof s=="string"){let a=s.length;n===void 0&&(n=a),r===void 0&&(r=a)}else n=0,r=0;if(_(i)){let a=je();(a===i.anchor.key||a===i.focus.key)&&se(l),i.setTextNodeRange(this,n,this,r)}else return Si(l,n,l,r,"text","text");return i}selectStart(){return this.select(0,0)}selectEnd(){let e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){let i=this.getWritable(),s=i.__text,l=n.length,a=e;a<0&&(a=l+a,a<0&&(a=0));let d=T();if(r&&_(d)){let m=e+l;d.setTextNodeRange(i,m,i,m)}let f=s.slice(0,a)+n+s.slice(a+t);return i.__text=f,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){de();let t=this.getLatest(),n=t.getTextContent(),r=t.__key,i=je(),s=new Set(e),l=[],a=n.length,d="";for(let S=0;S<a;S++)d!==""&&s.has(S)&&(l.push(d),d=""),d+=n[S];d!==""&&l.push(d);let f=l.length;if(f===0)return[];if(l[0]===n)return[t];let m=l[0],c=t.getParent(),u,p=t.getFormat(),g=t.getStyle(),h=t.__detail,C=!1;t.isSegmented()?(u=q(m),u.__format=p,u.__style=g,u.__detail=h,C=!0):(u=t.getWritable(),u.__text=m);let N=T(),L=[u],M=m.length;for(let S=1;S<f;S++){let R=l[S],O=R.length,k=q(R).getWritable();k.__format=p,k.__style=g,k.__detail=h;let P=k.__key,A=M+O;if(_(N)){let W=N.anchor,ie=N.focus;W.key===r&&W.type==="text"&&W.offset>M&&W.offset<=A&&(W.key=P,W.offset-=M,N.dirty=!0),ie.key===r&&ie.type==="text"&&ie.offset>M&&ie.offset<=A&&(ie.key=P,ie.offset-=M,N.dirty=!0)}i===r&&se(P),M=A,L.push(k)}if(c!==null){wd(this);let S=c.getWritable(),R=this.getIndexWithinParent();C?(S.splice(R,0,L),this.remove()):S.splice(R,1,L),_(N)&&Dn(N,c,R,f-1)}return L}mergeWithSibling(e){let t=e===this.getPreviousSibling();!t&&e!==this.getNextSibling()&&x(!1,"mergeWithSibling: sibling must be a previous or next sibling");let n=this.__key,r=e.__key,i=this.__text,s=i.length;je()===r&&se(n);let a=T();if(_(a)){let c=a.anchor,u=a.focus;c!==null&&c.key===r&&(yl(c,t,n,e,s),a.dirty=!0),u!==null&&u.key===r&&(yl(u,t,n,e,s),a.dirty=!0)}let d=e.__text,f=t?d+i:i+d;this.setTextContent(f);let m=this.getWritable();return e.remove(),m}isTextEntity(){return!1}};function uN(o){let t=o.style;return{forChild:Sl(t),node:null}}function fN(o){let e=o,t=e.style.fontWeight==="normal";return{forChild:Sl(e.style,t?void 0:"bold"),node:null}}var Hc=new WeakMap;function mN(o){return o.nodeName==="PRE"||o.nodeType===fo&&o.style!==void 0&&o.style.whiteSpace!==void 0&&o.style.whiteSpace.startsWith("pre")}function pN(o){let e,t=o.parentNode,n=[o];for(;t!==null&&(e=Hc.get(t))===void 0&&!mN(t);)n.push(t),t=t.parentNode;let r=e===void 0?t:e;for(let i=0;i<n.length;i++)Hc.set(n[i],r);return r}function gN(o){let e=o,t=o.parentElement;x(t!==null,"Expected parentElement of Text not to be null");let n=e.textContent||"";if(pN(e)!==null){let r=n.split(/(\r?\n|\t)/),i=[],s=r.length;for(let l=0;l<s;l++){let a=r[l];a===`
`||a===`\r
`?i.push(ut()):a===" "?i.push(Lt()):a!==""&&i.push(q(a))}return{node:i}}if(n=n.replace(/\r/g,"").replace(/[ \t\n]+/g," "),n==="")return{node:null};if(n[0]===" "){let r=e,i=!0;for(;r!==null&&(r=Fc(r,!1))!==null;){let s=r.textContent||"";if(s.length>0){/[ \t\n]$/.test(s)&&(n=n.slice(1)),i=!1;break}}i&&(n=n.slice(1))}if(n[n.length-1]===" "){let r=e,i=!0;for(;r!==null&&(r=Fc(r,!0))!==null;)if((r.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){i=!1;break}i&&(n=n.slice(0,n.length-1))}return n===""?{node:null}:{node:q(n)}}function Fc(o,e){let t=o;for(;;){let n;for(;(n=e?t.nextSibling:t.previousSibling)===null;){let i=t.parentElement;if(i===null)return null;t=i}if(t=n,t.nodeType===fo){let i=t.style.display;if(i===""&&!$o(t)||i!==""&&!i.startsWith("inline"))return null}let r=t;for(;(r=e?t.firstChild:t.lastChild)!==null;)t=r;if(t.nodeType===Ue)return t;if(t.nodeName==="BR")return null}}var hN={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function No(o){let e=hN[o.nodeName.toLowerCase()];return e==="code"&&o.closest("pre")?{node:null}:e===void 0?{node:null}:{forChild:Sl(o.style,e),node:null}}function q(o=""){return ne(new Je(o))}function y(o){return o instanceof Je}function Sl(o,e){let t=o.fontWeight,n=o.textDecoration.split(" "),r=t==="700"||t==="bold",i=n.includes("line-through"),s=o.fontStyle==="italic",l=n.includes("underline"),a=o.verticalAlign,d=o.color,f=o.backgroundColor;return m=>{if(!y(m))return m;r&&!m.hasFormat("bold")&&m.toggleFormat("bold"),i&&!m.hasFormat("strikethrough")&&m.toggleFormat("strikethrough"),s&&!m.hasFormat("italic")&&m.toggleFormat("italic"),l&&!m.hasFormat("underline")&&m.toggleFormat("underline"),a==="sub"&&!m.hasFormat("subscript")&&m.toggleFormat("subscript"),a==="super"&&!m.hasFormat("superscript")&&m.toggleFormat("superscript");let c=m.getStyle();return d&&(c+=`color: ${d};`),f&&f!=="transparent"&&(c+=`background-color: ${f};`),c&&m.setStyle(c),e&&!m.hasFormat(e)&&m.toggleFormat(e),m}}var Fo=class o extends Je{static getType(){return"tab"}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text}constructor(e){super(" ",e),this.__detail=Nn}static importDOM(){return null}static importJSON(e){let t=Lt();return t.setFormat(e.format),t.setStyle(e.style),t}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(e){x(!1,"TabNode does not support setTextContent")}setDetail(e){x(!1,"TabNode does not support setDetail")}setMode(e){x(!1,"TabNode does not support setMode")}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}};function Lt(){return ne(new Fo)}function Ll(o){return o instanceof Fo}function jt(...o){return()=>{for(let e=o.length-1;e>=0;e--)o[e]();o.length=0}}var An=new Map;function Ml(o){let e={},t=o.split(";");for(let n of t)if(n!==""){let[r,i]=n.split(/:([^]+)/);r&&i&&(e[r.trim()]=i.trim())}return e}function Rn(o){let e=An.get(o);return e===void 0&&(e=Ml(o),An.set(o,e)),__DEV__&&Object.freeze(e),e}function zc(o){let e="";for(let t in o)t&&(e+=`${t}: ${o[t]};`);return e}function wr(o,e){let t=o.getStartEndPoints();if(e.isSelected(o)&&!e.isSegmented()&&!e.isToken()&&t!==null){let[n,r]=t,i=o.isBackward(),s=n.getNode(),l=r.getNode(),a=e.is(s),d=e.is(l);if(a||d){let[f,m]=Dr(o),c=s.is(l),u=e.is(i?l:s),p=e.is(i?s:l),g=0,h;if(c)g=f>m?m:f,h=f>m?f:m;else if(u)g=i?m:f,h=void 0;else if(p){let C=i?f:m;g=0,h=C}return e.__text=e.__text.slice(g,h),e}}return e}function vl(o){let e=o.getStyle(),t=Ml(e);An.set(e,t)}function kn(o,e){let t=Rn("getStyle"in o?o.getStyle():o.style),n=Object.entries(e).reduce((i,[s,l])=>(typeof l=="function"?i[s]=l(t[s],o):l===null?delete i[s]:i[s]=l,i),{...t}),r=zc(n);o.setStyle(r),An.set(r,n)}function wl(o,e){let t=o.getNodes(),n=t.length,r=o.getStartEndPoints();if(r===null)return;let[i,s]=r,l=n-1,a=t[0],d=t[l];if(o.isCollapsed()&&_(o)){kn(o,e);return}let m=a.getTextContent().length,c=s.offset,u=i.offset,p=i.isBefore(s),g=p?u:c,h=p?c:u,C=p?i.type:s.type,N=p?s.type:i.type,L=p?s.key:i.key;if(y(a)&&g===m){let M=a.getNextSibling();y(M)&&(u=0,g=0,a=M)}if(t.length===1){if(y(a)&&a.canHaveFormat()){if(g=C==="element"?0:u>c?c:u,h=N==="element"?m:u>c?u:c,g===h)return;if(ze(a)||g===0&&h===m)kn(a,e),a.select(g,h);else{let M=a.splitText(g,h),S=g===0?M[0]:M[1];kn(S,e),S.select(0,h-g)}}}else{if(y(a)&&g<a.getTextContentSize()&&a.canHaveFormat()&&(g!==0&&!ze(a)&&(a=a.splitText(g)[1],g=0,p?i.set(a.getKey(),g,"text"):s.set(a.getKey(),g,"text")),kn(a,e)),y(d)&&d.canHaveFormat()){let S=d.getTextContent().length;d.__key!==L&&h!==0&&(h=S),h!==S&&!ze(d)&&([d]=d.splitText(h)),(h!==0||N==="element")&&kn(d,e)}for(let M=1;M<l;M++){let S=t[M],R=S.getKey();y(S)&&S.canHaveFormat()&&R!==a.getKey()&&R!==d.getKey()&&!S.isToken()&&kn(S,e)}}}function Li(o,e){if(o===null)return;let t=o.getStartEndPoints(),n=t?t[0]:null;if(n!==null&&n.key==="root"){let s=e(),l=H(),a=l.getFirstChild();a?a.replace(s,!0):l.append(s);return}let r=o.getNodes(),i=n!==null?xN(n.getNode(),Wc):!1;i&&r.indexOf(i)===-1&&r.push(i);for(let s=0;s<r.length;s++){let l=r[s];if(!Wc(l))continue;x(E(l),"Expected block node to be an ElementNode");let a=e();l.replace(a,!0)}}function Mi(o,e){let t=Yt(o.focus,e);return B(t)&&!t.isIsolated()||E(t)&&!t.isInline()&&!t.canBeEmpty()}function qc(o,e,t,n){o.modify(e?"extend":"move",t,n)}function Yc(o){let e=o.anchor.getNode();return(oe(e)?e:e.getParentOrThrow()).getDirection()==="rtl"}function vi(o,e,t){let n=Yc(o);qc(o,e,t?!n:n,"character")}function NN(o,e,t){let n=o.getStyle(),r=Rn(n);return r!==null&&r[e]||t}function Dl(o,e,t=""){let n=null,r=o.getNodes(),i=o.anchor,s=o.focus,l=o.isBackward(),a=l?s.offset:i.offset,d=l?s.getNode():i.getNode();if(_(o)&&o.isCollapsed()&&o.style!==""){let f=o.style,m=Rn(f);if(m!==null&&e in m)return m[e]}for(let f=0;f<r.length;f++){let m=r[f];if(!(f!==0&&a===0&&m.is(d))&&y(m)){let c=NN(m,e,t);if(n===null)n=c;else if(n!==c){n="";break}}}return n===null?t:n}function Wc(o){if(B(o)||!E(o)||me(o))return!1;let e=o.getFirstChild(),t=e===null||De(e)||y(e)||e.isInline();return!o.isInline()&&o.canBeEmpty()!==!1&&t}function xN(o,e){let t=o;for(;t!==null&&t.getParent()!==null&&!e(t);)t=t.getParentOrThrow();return e(t)?t:null}function Te(o,...e){let t=yt(...e);t.length>0&&o.classList.add(...t)}function wi(o,...e){let t=yt(...e);t.length>0&&o.classList.remove(...t)}function Vc(o,e){let t=o;for(;t!=null;){if(t instanceof e)return t;t=t.getParent()}return null}function Xc(o){let e=F(o,t=>E(t)&&!t.isInline());return E(e)||x(!1,"Expected node %s to have closest block element node.",o.__key),e}var F=(o,e)=>{let t=o;for(;t!==H()&&t!=null;){if(e(t))return t;t=t.getParent()}return null};function ft(o,e){return o!==null?Object.getPrototypeOf(o).constructor.name===e.name:!1}function Di(o,e){let t=e.body?e.body.childNodes:[],n=[],r=[];for(let i=0;i<t.length;i++){let s=t[i];if(!Jc.has(s.nodeName)){let l=Qc(s,o,r,!1);l!==null&&(n=n.concat(l))}}return bN(r),n}function Oi(o,e){if(typeof document>"u"||typeof window>"u"&&typeof global.window>"u")throw new Error("To use $generateHtmlFromNodes in headless mode please initialize a headless browser implementation such as JSDom before calling this function.");let t=document.createElement("div"),r=H().getChildren();for(let i=0;i<r.length;i++){let s=r[i];Gc(o,s,t,e)}return t.innerHTML}function Gc(o,e,t,n=null){let r=n!==null?e.isSelected(n):!0,i=E(e)&&e.excludeFromCopy("html"),s=e;if(n!==null){let u=Zt(e);u=y(u)&&n!==null?wr(n,u):u,s=u}let l=E(s)?s.getChildren():[],a=o._nodes.get(s.getType()),d;a&&a.exportDOM!==void 0?d=a.exportDOM(o,s):d=s.exportDOM(o);let{element:f,after:m}=d;if(!f)return!1;let c=document.createDocumentFragment();for(let u=0;u<l.length;u++){let p=l[u],g=Gc(o,p,c,n);!r&&E(e)&&g&&e.extractWithChild(p,n,"html")&&(r=!0)}if(r&&!i){if(pe(f)&&f.append(c),t.append(f),m){let u=m.call(s,f);u&&f.replaceWith(u)}}else t.append(c);return r}function _N(o,e){let{nodeName:t}=o,n=e._htmlConversions.get(t.toLowerCase()),r=null;if(n!==void 0)for(let i of n){let s=i(o);s!==null&&(r===null||(r.priority||0)<(s.priority||0))&&(r=s)}return r!==null?r.conversion:null}var Jc=new Set(["STYLE","SCRIPT"]);function Qc(o,e,t,n,r=new Map,i){let s=[];if(Jc.has(o.nodeName))return s;let l=null,a=_N(o,e),d=a?a(o):null,f=null;if(d!==null){f=d.after;let p=d.node;if(p==="ignore")return s;if(l=Array.isArray(p)?p[p.length-1]:p,l!==null){for(let[,g]of r)if(l=g(l,i),!l)break;l&&s.push(...Array.isArray(p)?p:[l])}d.forChild!=null&&r.set(o.nodeName,d.forChild)}let m=o.childNodes,c=[],u=l!=null&&me(l)?!1:l!=null&&Ko(l)||n;for(let p=0;p<m.length;p++)c.push(...Qc(m[p],e,t,u,new Map(r),l));return f!=null&&(c=f(c)),po(o)&&(u?c=jc(o,c,()=>{let p=new xo;return t.push(p),p}):c=jc(o,c,I)),l==null?c.length>0?s=s.concat(c):po(o)&&yN(o)&&(s=s.concat(ut())):E(l)&&l.append(...c),s}function jc(o,e,t){let n=[],r=[];for(let i=0;i<e.length;i++){let s=e[i];if(Ko(s))n.push(s);else if(r.push(s),i===e.length-1||i<e.length-1&&Ko(e[i+1])){let l=t();l.append(...r),n.push(l),r=[]}}return n}function bN(o){for(let e of o)e.getNextSibling()instanceof xo&&e.insertAfter(ut());for(let e of o){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove()}}function yN(o){return o.nextSibling==null||o.previousSibling==null?!1:$o(o.nextSibling)&&$o(o.previousSibling)}function b(o,e={},t=[]){let n=document.createElement(o),r=Object.keys(e);for(let i of r)e[i]!==null&&n.setAttribute(i,e[i]);for(let i of t)typeof i=="string"?n.append(document.createTextNode(i)):n.append(i);return n}function eu(o){return new DOMParser().parseFromString(o,"text/html")}function mt(o,e="px"){return typeof o=="number"||/^-?\d+$/.test(o)?`${o}${e}`:o}function Uo(o){return/^-?\d+$/.test(o)?Number(o):/^-?\d+\.\d+$/.test(o)?Math.round(Number(o)):/^-?\d+px\s*$/.test(o)?Number(o.trim().replace("px","")):0}function In(o){let e=new Map,n=(o.getAttribute("style")||"").split(";");for(let r of n){let[i,s]=r.split(":");!i||!s||e.set(i.trim().toLowerCase(),s.trim())}return e}function tu(o,e,t){t?o.setAttribute(e,t):o.removeAttribute(e)}function SN(o){return o.map(e=>{if(y(e)){let t=I();return t.append(e),t}return e})}function Eo(o,e){let t=eu(e),n=Di(o,t);return SN(n)}function Mt(o,e){for(let t of o.getParents())if(e(t))return t;return null}function Ol(o,e){e||(e=H());let t=[];for(let n of e.getChildren())o(n)&&t.push(n),E(n)&&t.push(...Ol(o,n));return t}function ou(o,e,t){let n=H().getChildren();for(let r of n){let i=o.getElementByKey(r.__key);if(!i)continue;let s=i.getBoundingClientRect();if(t<=s.bottom)return r}return null}function zo(o){let e=t=>(E(t)||B(t))&&!t.isInline()&&!oe(t);return e(o)?o:F(o,e)}function nu(o){let e=[],t=i=>{for(let s of i.getChildren())e.push(s.getKey()),E(s)&&t(s)},n=H();t(n);let r=Array.from(o);return r.sort((i,s)=>{let l=e.indexOf(i.getKey()),a=e.indexOf(s.getKey());return l-a}),r}function Or(o,e){let t=zo(o)||o,n=e?t.getNextSibling():t.getPreviousSibling();return n||(n=I(),e?t.insertAfter(n):t.insertBefore(n)),e?n.selectStart():n.selectEnd()}function Ar(o){return"__alignment"in o}function ru(o){return"__inset"in o}var iu=new WeakMap;function le(o){return iu.get(o)||null}function su(o,e){iu.set(o,e)}function ae(o,e){return Z(o,e)!==null}function Z(o,e){if(!o)return null;for(let t of o.getNodes()){if(e(t))return t;let n=Mt(t,e);if(n)return n}return null}function lu(o){return Z(o,y)}function au(o,e){if(!o)return!1;for(let t of o.getNodes())if(y(t)&&t.hasFormat(e))return!0;return!1}function $n(o,e){let t=T(),n=t?Xc(t.getNodes()[0]):null;t&&o(n)?Li(t,I):Li(t,e)}function Wo(o,e=!0){Al([o],e)}function Al(o,e=!0){let t=T()?.getNodes()||[],n=t.length>0?zo(t[0]):null;if(n)if(e)for(let r=o.length-1;r>=0;r--)n.insertAfter(o[r]);else for(let r of o)n.insertBefore(r);else H().append(...o)}function Oe(o){let e=Yo();e.add(o.getKey()),Y(e)}function du(o){for(let e of o){if(y(e))return e;if(E(e)){let t=e.getChildren(),n=du(t);if(n!==null)return n}}return null}function cu(o){let e=[...o].reverse();for(let t of e){if(y(t))return t;if(E(t)){let n=[...t.getChildren()].reverse(),r=cu(n);if(r!==null)return r}}return null}function uu(o){if(o.length===0)return;let e=qo(),t=du(o),n=cu(o);t&&n&&(e.setTextNodeRange(t,0,n,n.getTextContentSize()||0),Y(e))}function fu(o){let e=le(o);e&&window.requestAnimationFrame(()=>{o.update(()=>{Y(e.clone())})})}function Ai(o,e){if(!o)return!1;let t=e.getKey();for(let n of o.getNodes())if(n.getKey()===t)return!0;return!1}function Rr(o,e){let t=[...o?.getNodes()||[],...vt(o)];for(let n of t)if(Ar(n)&&n.getAlignment()===e)return!0;return!1}function Rl(o,e){let t=[...o?.getNodes()||[],...vt(o)];for(let n of t)if(Ko(n)&&n.getDirection()===e)return!0;return!1}function vt(o){if(!o)return[];let e=new Map;for(let t of o.getNodes()){let n=zo(t);E(n)&&e.set(n.getKey(),n)}return Array.from(e.values())}var $l=class{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode(),r=this.offset,i=e.offset;if(E(t)){let s=t.getDescendantByIndex(r);t=s??t}if(E(n)){let s=n.getDescendantByIndex(i);n=s??n}return t===n?r<i:t.isBefore(n)}getNode(){let e=this.key,t=J(e);return t===null&&x(!1,"Point.getNode: node not found"),t}set(e,t,n){let r=this._selection,i=this.key;this.key=e,this.offset=t,this.type=n,st()||(je()===i&&se(e),r!==null&&(r.setCachedNodes(null),r.dirty=!0))}};function Ae(o,e,t){return new $l(o,e,t)}function kl(o,e){let t=e.__key,n=o.offset,r="element";if(y(e)){r="text";let i=e.getTextContentSize();n>i&&(n=i)}else if(!E(e)){let i=e.getNextSibling();if(y(i))t=i.__key,n=0,r="text";else{let s=e.getParent();s&&(t=s.__key,n=e.getIndexWithinParent()+1)}}o.set(t,n,r)}function Cl(o,e){if(E(e)){let t=e.getLastDescendant();E(t)||y(t)?kl(o,t):kl(o,e)}else kl(o,e)}function LN(o,e,t,n){let r=o.getNode(),i=r.getChildAtIndex(o.offset),s=q(),l=oe(r)?I().append(s):s;s.setFormat(t),s.setStyle(n),i===null?r.append(l):i.insertBefore(l),o.is(e)&&e.set(s.__key,0,"text"),o.set(s.__key,0,"text")}function To(o,e,t,n){o.key=e,o.offset=t,o.type=n}var Ri=class o{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Se(e))return!1;let t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every(r=>n.has(r))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new o(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.getNodes(),n=t.length,r=t[n-1],i;if(y(r))i=r.select();else{let s=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(s,s)}i.insertNodes(e);for(let s=0;s<n;s++)t[s].remove()}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this._nodes,n=[];for(let r of t){let i=J(r);i!==null&&n.push(i)}return st()||(this._cachedNodes=n),n}getTextContent(){let e=this.getNodes(),t="";for(let n=0;n<e.length;n++)t+=e[n].getTextContent();return t}};function _(o){return o instanceof Co}var Co=class o{constructor(e,t,n,r){this.anchor=e,this.focus=t,e._selection=this,t._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return _(e)?this.anchor.is(e.anchor)&&this.focus.is(e.focus)&&this.format===e.format&&this.style===e.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor,n=this.focus,r=t.isBefore(n),i=r?t:n,s=r?n:t,l=i.getNode(),a=s.getNode(),d=i.offset,f=s.offset;if(E(l)){let c=l.getDescendantByIndex(d);l=c??l}if(E(a)){let c=a.getDescendantByIndex(f);c!==null&&c!==l&&a.getChildAtIndex(f)===c&&(c=c.getPreviousSibling()),a=c??a}let m;return l.is(a)?E(l)&&l.getChildrenSize()>0?m=[]:m=[l]:m=l.getNodesBetween(a),st()||(this._cachedNodes=m),m}setTextNodeRange(e,t,n,r){To(this.anchor,e.__key,t,"text"),To(this.focus,n.__key,r,"text"),this._cachedNodes=null,this.dirty=!0}getTextContent(){let e=this.getNodes();if(e.length===0)return"";let t=e[0],n=e[e.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[l,a]=Dr(this),d="",f=!0;for(let m=0;m<e.length;m++){let c=e[m];if(E(c)&&!c.isInline())f||(d+=`
`),c.isEmpty()?f=!1:f=!0;else if(f=!1,y(c)){let u=c.getTextContent();c===t?c===n?(r.type!=="element"||i.type!=="element"||i.offset===r.offset)&&(u=l<a?u.slice(l,a):u.slice(a,l)):u=s?u.slice(l):u.slice(a):c===n&&(u=s?u.slice(0,a):u.slice(0,l)),d+=u}else(B(c)||De(c))&&(c!==n||!this.isCollapsed())&&(d+=c.getTextContent())}return d}applyDOMRange(e){let t=G(),r=t.getEditorState()._selection,i=Eu(e.startContainer,e.startOffset,e.endContainer,e.endOffset,t,r);if(i===null)return;let[s,l]=i;To(this.anchor,s.key,s.offset,s.type),To(this.focus,l.key,l.offset,l.type),this._cachedNodes=null}clone(){let e=this.anchor,t=this.focus;return new o(Ae(e.key,e.offset,e.type),Ae(t.key,t.offset,t.type),this.format,this.style)}toggleFormat(e){this.format=hr(this.format,e,null),this.dirty=!0}setStyle(e){this.style=e,this.dirty=!0}hasFormat(e){let t=Xe[e];return(this.format&t)!==0}insertRawText(e){let t=e.split(/(\r?\n|\t)/),n=[],r=t.length;for(let i=0;i<r;i++){let s=t[i];s===`
`||s===`\r
`?n.push(ut()):s===" "?n.push(Lt()):n.push(q(s))}this.insertNodes(n)}insertText(e){let t=this.anchor,n=this.focus,r=this.format,i=this.style,s=t,l=n;!this.isCollapsed()&&n.isBefore(t)&&(s=n,l=t),s.type==="element"&&LN(s,l,r,i);let a=s.offset,d=l.offset,f=this.getNodes(),m=f.length,c=f[0];y(c)||x(!1,"insertText: first node is not a text node");let p=c.getTextContent().length,g=c.getParentOrThrow(),h=m-1,C=f[h];if(m===1&&l.type==="element"&&(d=p,l.set(s.key,d,"text")),this.isCollapsed()&&a===p&&(c.isSegmented()||c.isToken()||!c.canInsertTextAfter()||!g.canInsertTextAfter()&&c.getNextSibling()===null)){let N=c.getNextSibling();if((!y(N)||!N.canInsertTextBefore()||ze(N))&&(N=q(),N.setFormat(r),N.setStyle(i),g.canInsertTextAfter()?c.insertAfter(N):g.insertAfter(N)),N.select(0,0),c=N,e!==""){this.insertText(e);return}}else if(this.isCollapsed()&&a===0&&(c.isSegmented()||c.isToken()||!c.canInsertTextBefore()||!g.canInsertTextBefore()&&c.getPreviousSibling()===null)){let N=c.getPreviousSibling();if((!y(N)||ze(N))&&(N=q(),N.setFormat(r),g.canInsertTextBefore()?c.insertBefore(N):g.insertBefore(N)),N.select(),c=N,e!==""){this.insertText(e);return}}else if(c.isSegmented()&&a!==p){let N=q(c.getTextContent());N.setFormat(r),c.replace(N),c=N}else if(!this.isCollapsed()&&e!==""){let N=C.getParent();if(!g.canInsertTextBefore()||!g.canInsertTextAfter()||E(N)&&(!N.canInsertTextBefore()||!N.canInsertTextAfter())){this.insertText(""),xu(this.anchor,this.focus,null),this.insertText(e);return}}if(m===1){if(c.isToken()){let S=q(e);S.select(),c.replace(S);return}let N=c.getFormat(),L=c.getStyle();if(a===d&&(N!==r||L!==i))if(c.getTextContent()==="")c.setFormat(r),c.setStyle(i);else{let S=q(e);if(S.setFormat(r),S.setStyle(i),S.select(),a===0)c.insertBefore(S,!1);else{let[R]=c.splitText(a);R.insertAfter(S,!1)}S.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);return}else if(Ll(c)){let S=q(e);S.setFormat(r),S.setStyle(i),S.select(),c.replace(S);return}let M=d-a;c=c.spliceText(a,M,e,!0),c.getTextContent()===""?c.remove():this.anchor.type==="text"&&(c.isComposing()?this.anchor.offset-=e.length:(this.format=N,this.style=L))}else{let N=new Set([...c.getParentKeys(),...C.getParentKeys()]),L=E(c)?c:c.getParentOrThrow(),M=E(C)?C:C.getParentOrThrow(),S=C;if(!L.is(M)&&M.isInline())do S=M,M=M.getParentOrThrow();while(M.isInline());if(l.type==="text"&&(d!==0||C.getTextContent()==="")||l.type==="element"&&C.getIndexWithinParent()<d)if(y(C)&&!C.isToken()&&d!==C.getTextContentSize()){if(C.isSegmented()){let A=q(C.getTextContent());C.replace(A),C=A}!oe(l.getNode())&&l.type==="text"&&(C=C.spliceText(0,d,"")),N.add(C.__key)}else{let A=C.getParentOrThrow();!A.canBeEmpty()&&A.getChildrenSize()===1?A.remove():C.remove()}else N.add(C.__key);let R=M.getChildren(),O=new Set(f),k=L.is(M),P=L.isInline()&&c.getNextSibling()===null?L:c;for(let A=R.length-1;A>=0;A--){let W=R[A];if(W.is(c)||E(W)&&W.isParentOf(c))break;W.isAttached()&&(!O.has(W)||W.is(S)?k||P.insertAfter(W,!1):W.remove())}if(!k){let A=M,W=null;for(;A!==null;){let ie=A.getChildren(),un=ie.length;(un===0||ie[un-1].is(W))&&(N.delete(A.__key),W=A),A=A.getParent()}}if(!c.isToken())c=c.spliceText(a,p-a,e,!0),c.getTextContent()===""?c.remove():c.isComposing()&&this.anchor.type==="text"&&(this.anchor.offset-=e.length);else if(a===p)c.select();else{let A=q(e);A.select(),c.replace(A)}for(let A=1;A<m;A++){let W=f[A],ie=W.__key;N.has(ie)||W.remove()}}}removeText(){this.insertText("")}formatText(e){if(this.isCollapsed()){this.toggleFormat(e),se(null);return}let t=this.getNodes(),n=[];for(let N of t)y(N)&&n.push(N);let r=n.length;if(r===0){this.toggleFormat(e),se(null);return}let i=this.anchor,s=this.focus,l=this.isBackward(),a=l?s:i,d=l?i:s,f=0,m=n[0],c=a.type==="element"?0:a.offset;if(a.type==="text"&&c===m.getTextContentSize()&&(f=1,m=n[1],c=0),m==null)return;let u=m.getFormatFlags(e,null),p=r-1,g=n[p],h=d.type==="text"?d.offset:g.getTextContentSize();if(m.is(g)){if(c===h)return;if(ze(m)||c===0&&h===m.getTextContentSize())m.setFormat(u);else{let N=m.splitText(c,h),L=c===0?N[0]:N[1];L.setFormat(u),a.type==="text"&&a.set(L.__key,0,"text"),d.type==="text"&&d.set(L.__key,h-c,"text")}this.format=u;return}c!==0&&!ze(m)&&([,m]=m.splitText(c),c=0),m.setFormat(u);let C=g.getFormatFlags(e,u);h>0&&(h!==g.getTextContentSize()&&!ze(g)&&([g]=g.splitText(h)),g.setFormat(C));for(let N=f+1;N<p;N++){let L=n[N],M=L.getFormatFlags(e,C);L.setFormat(M)}a.type==="text"&&a.set(m.__key,c,"text"),d.type==="text"&&d.set(g.__key,h,"text"),this.format=u|C}insertNodes(e){if(e.length===0)return;if(this.anchor.key==="root"){this.insertParagraph();let h=T();return x(_(h),"Expected RangeSelection after insertParagraph"),h.insertNodes(e)}let t=this.isBackward()?this.focus:this.anchor,n=hi(t.getNode(),Po),r=e[e.length-1];if("__language"in n&&E(n)){if("__language"in e[0])this.insertText(e[0].getTextContent());else{let h=Il(this);n.splice(h,0,e),r.selectEnd()}return}let i=h=>(E(h)||B(h))&&!h.isInline();if(!e.some(i)){x(E(n),"Expected 'firstBlock' to be an ElementNode");let h=Il(this);n.splice(h,0,e),r.selectEnd();return}let s=AN(e),l=s.getLastDescendant(),a=s.getChildren(),d=h=>E(h)&&Po(h)&&!h.isEmpty()&&E(n)&&(!n.isEmpty()||n.canMergeWhenEmpty()),m=!E(n)||!n.isEmpty()?this.insertParagraph():null,c=a[a.length-1],u=a[0];d(u)&&(x(E(n),"Expected 'firstBlock' to be an ElementNode"),n.append(...u.getChildren()),u=a[1]),u&&Pc(n,u);let p=hi(l,Po);m&&E(p)&&(m.canMergeWhenEmpty()||Po(c))&&(p.append(...m.getChildren()),m.remove()),E(n)&&n.isEmpty()&&n.remove(),l.selectEnd();let g=E(n)?n.getLastChild():null;De(g)&&p!==n&&g.remove()}insertParagraph(){if(this.anchor.key==="root"){let s=I();return H().splice(this.anchor.offset,0,[s]),s.select(),s}let e=Il(this),t=hi(this.anchor.getNode(),Po);x(E(t),"Expected ancestor to be an ElementNode");let n=t.getChildAtIndex(e),r=n?[n,...n.getNextSiblings()]:[],i=t.insertNewAfter(this,!1);return i?(i.append(...r),i.selectStart(),i):null}insertLineBreak(e){let t=ut();if(this.insertNodes([t]),e){let n=t.getParentOrThrow(),r=t.getIndexWithinParent();n.select(r,r)}}extract(){let e=this.getNodes(),t=e.length,n=t-1,r=this.anchor,i=this.focus,s=e[0],l=e[n],[a,d]=Dr(this);if(t===0)return[];if(t===1){if(y(s)&&!this.isCollapsed()){let m=a>d?d:a,c=a>d?a:d,u=s.splitText(m,c),p=m===0?u[0]:u[1];return p!=null?[p]:[]}return[s]}let f=r.isBefore(i);if(y(s)){let m=f?a:d;m===s.getTextContentSize()?e.shift():m!==0&&([,s]=s.splitText(m),e[0]=s)}if(y(l)){let c=l.getTextContent().length,u=f?d:a;u===0?e.pop():u!==c&&([l]=l.splitText(u),e[n]=l)}return e}modify(e,t,n){let r=this.focus,i=this.anchor,s=e==="move",l=Yt(r,t);if(B(l)&&!l.isIsolated()){if(s&&l.isKeyboardSelectable()){let u=Yo();u.add(l.__key),Y(u);return}let c=t?l.getPreviousSibling():l.getNextSibling();if(y(c)){let u=c.__key,p=t?c.getTextContent().length:0;r.set(u,p,"text"),s&&i.set(u,p,"text");return}else{let u=l.getParentOrThrow(),p,g;E(c)?(g=c.__key,p=t?c.getChildrenSize():0):(p=l.getIndexWithinParent(),g=u.__key,t||p++),r.set(g,p,"element"),s&&i.set(g,p,"element");return}}let a=G(),d=be(a._window);if(!d)return;let f=a._blockCursorElement,m=a._rootElement;if(m!==null&&f!==null&&E(l)&&!l.isInline()&&!l.canBeEmpty()&&Cr(f,a,m),vN(d,e,t?"backward":"forward",n),d.rangeCount>0){let c=d.getRangeAt(0),u=this.anchor.getNode(),p=oe(u)?u:rl(u);if(this.applyDOMRange(c),this.dirty=!0,!s){let g=this.getNodes(),h=[],C=!1;for(let N=0;N<g.length;N++){let L=g[N];_n(L,p)?h.push(L):C=!0}if(C&&h.length>0)if(t){let N=h[0];E(N)?N.selectStart():N.getParentOrThrow().selectStart()}else{let N=h[h.length-1];E(N)?N.selectEnd():N.getParentOrThrow().selectEnd()}(d.anchorNode!==c.startContainer||d.anchorOffset!==c.startOffset)&&MN(this)}}}forwardDeletion(e,t,n){if(!n&&(e.type==="element"&&E(t)&&e.offset===t.getChildrenSize()||e.type==="text"&&e.offset===t.getTextContentSize())){let r=t.getParent(),i=t.getNextSibling()||(r===null?null:r.getNextSibling());if(E(i)&&i.isShadowRoot())return!0}return!1}deleteCharacter(e){let t=this.isCollapsed();if(this.isCollapsed()){let n=this.anchor,r=n.getNode();if(this.forwardDeletion(n,r,e))return;let i=this.focus,s=Yt(i,e);if(B(s)&&!s.isIsolated()){if(s.isKeyboardSelectable()&&E(r)&&r.getChildrenSize()===0){r.remove();let l=Yo();l.add(s.__key),Y(l)}else s.remove(),G().dispatchCommand(we,void 0);return}else if(!e&&E(s)&&E(r)&&r.isEmpty()){r.remove(),s.selectStart();return}if(this.modify("extend",e,"character"),this.isCollapsed()){if(e&&n.offset===0&&(n.type==="element"?n.getNode():n.getNode().getParentOrThrow()).collapseAtStart(this))return}else{let l=i.type==="text"?i.getNode():null;if(r=n.type==="text"?n.getNode():null,l!==null&&l.isSegmented()){let a=i.offset,d=l.getTextContentSize();if(l.is(r)||e&&a!==d||!e&&a!==0){pu(l,e,a);return}}else if(r!==null&&r.isSegmented()){let a=n.offset,d=r.getTextContentSize();if(r.is(l)||e&&a!==0||!e&&a!==d){pu(r,e,a);return}}wN(this,e)}}if(this.removeText(),e&&!t&&this.isCollapsed()&&this.anchor.type==="element"&&this.anchor.offset===0){let n=this.anchor.getNode();n.isEmpty()&&oe(n.getParent())&&n.getIndexWithinParent()===0&&n.collapseAtStart(this)}}deleteLine(e){if(this.isCollapsed()){let t=this.anchor.type==="element";if(t&&this.insertText(" "),this.modify("extend",e,"lineboundary"),(e?this.focus:this.anchor).offset===0&&this.modify("extend",e,"character"),t){let r=e?this.anchor:this.focus;r.set(r.key,r.offset+1,r.type)}}this.removeText()}deleteWord(e){if(this.isCollapsed()){let t=this.anchor,n=t.getNode();if(this.forwardDeletion(t,n,e))return;this.modify("extend",e,"word")}this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}};function Se(o){return o instanceof Ri}function mu(o){let e=o.offset;if(o.type==="text")return e;let t=o.getNode();return e===t.getChildrenSize()?t.getTextContent().length:0}function Dr(o){let e=o.getStartEndPoints();if(e===null)return[0,0];let[t,n]=e;return t.type==="element"&&n.type==="element"&&t.key===n.key&&t.offset===n.offset?[0,0]:[mu(t),mu(n)]}function MN(o){let e=o.focus,t=o.anchor,n=t.key,r=t.offset,i=t.type;To(t,e.key,e.offset,e.type),To(e,n,r,i),o._cachedNodes=null}function vN(o,e,t,n){o.modify(e,t,n)}function wN(o,e){let t=o.anchor,n=o.focus,r=t.getNode(),i=n.getNode();if(r===i&&t.type==="text"&&n.type==="text"){let s=t.offset,l=n.offset,a=s<l,d=a?s:l,f=a?l:s,m=f-1;if(d!==m){let c=r.getTextContent().slice(d,f);ci(c)||(e?n.offset=m:t.offset=m)}}}function pu(o,e,t){let n=o,i=n.getTextContent().split(/(?=\s)/g),s=i.length,l=0,a=0;for(let f=0;f<s;f++){let m=i[f],c=f===s-1;if(a=l,l+=m.length,e&&l===t||l>t||c){i.splice(f,1),c&&(a=void 0);break}}let d=i.join("").trim();d===""?n.remove():(n.setTextContent(d),n.select(a,a))}function DN(o,e,t){let n=o.getParent();return t===null||n===null||!n.canBeEmpty()||n!==t.getNode()}function gu(o,e,t,n){let r=e,i;if(o.nodeType===fo){let s=!1,l=o.childNodes,a=l.length,d=n._blockCursorElement;r===a&&(s=!0,r=a-1);let f=l[r],m=!1;if(f===d)f=l[r+1],m=!0;else if(d!==null){let c=d.parentNode;if(o===c){let u=Array.prototype.indexOf.call(c.children,d);e>u&&r--}}if(i=Io(f),y(i))r=Qs(i,s);else{let c=Io(o);if(c===null)return null;if(E(c)){r=Math.min(c.getChildrenSize(),r);let u=c.getChildAtIndex(r);if(E(u)&&DN(u,r,t)){let p=s?u.getLastDescendant():u.getFirstDescendant();p===null?c=u:(u=p,c=E(u)?u:u.getParentOrThrow()),r=0}y(u)?(i=u,c=null,r=Qs(u,s)):u!==c&&s&&!m&&r++}else{let u=c.getIndexWithinParent();e===0&&B(c)&&Io(o)===c?r=u:r=u+1,c=c.getParentOrThrow()}if(E(c))return Ae(c.__key,r,"element")}}else i=Io(o);return y(i)?Ae(i.__key,r,"text"):null}function hu(o,e,t){let n=o.offset,r=o.getNode();if(n===0){let i=r.getPreviousSibling(),s=r.getParent();if(!e)E(i)&&!t&&i.isInline()?(o.key=i.__key,o.offset=i.getChildrenSize(),o.type="element"):y(i)&&(o.key=i.__key,o.offset=i.getTextContent().length);else if((t||!e)&&i===null&&E(s)&&s.isInline()){let l=s.getPreviousSibling();y(l)&&(o.key=l.__key,o.offset=l.getTextContent().length)}}else if(n===r.getTextContent().length){let i=r.getNextSibling(),s=r.getParent();if(e&&E(i)&&i.isInline())o.key=i.__key,o.offset=0,o.type="element";else if((t||e)&&i===null&&E(s)&&s.isInline()&&!s.canInsertTextAfter()){let l=s.getNextSibling();y(l)&&(o.key=l.__key,o.offset=0)}}}function xu(o,e,t){if(o.type==="text"&&e.type==="text"){let n=o.isBefore(e),r=o.is(e);hu(o,n,r),hu(e,!n,r),r&&(e.key=o.key,e.offset=o.offset,e.type=o.type);let i=G();if(i.isComposing()&&i._compositionKey!==o.key&&_(t)){let s=t.anchor,l=t.focus;To(o,s.key,s.offset,s.type),To(e,l.key,l.offset,l.type)}}}function Eu(o,e,t,n,r,i){if(o===null||t===null||!Wt(r,o,t))return null;let s=gu(o,e,_(i)?i.anchor:null,r);if(s===null)return null;let l=gu(t,n,_(i)?i.focus:null,r);if(l===null)return null;if(s.type==="element"&&l.type==="element"){let a=Io(o),d=Io(t);if(B(a)&&B(d))return null}return xu(s,l,i),[s,l]}function Ko(o){return E(o)&&!o.isInline()}function Si(o,e,t,n,r,i){let s=Ge(),l=new Co(Ae(o,e,r),Ae(t,n,i),0,"");return l.dirty=!0,s._selection=l,l}function qo(){let o=Ae("root",0,"element"),e=Ae("root",0,"element");return new Co(o,e,0,"")}function Yo(){return new Ri(new Set)}function Tu(o){let t=o.getEditorState()._selection,n=be(o._window);return _(t)||t==null?vr(t,n,o,null):t.clone()}function Pl(o,e){return vr(null,o,e,null)}function vr(o,e,t,n){let r=t._window;if(r===null)return null;let i=n||r.event,s=i?i.type:void 0,l=s==="selectionchange",a=!xd()&&(l||s==="beforeinput"||s==="compositionstart"||s==="compositionend"||s==="click"&&i&&i.detail===3||s==="drop"||s===void 0),d,f,m,c;if(!_(o)||a){if(e===null)return null;if(d=e.anchorNode,f=e.focusNode,m=e.anchorOffset,c=e.focusOffset,l&&_(o)&&!Wt(t,d,f))return o.clone()}else return o.clone();let u=Eu(d,m,f,c,t,o);if(u===null)return null;let[p,g]=u;return new Co(p,g,_(o)?o.format:0,_(o)?o.style:"")}function T(){return Ge()._selection}function We(){return G()._editorState._selection}function Dn(o,e,t,n=1){let r=o.anchor,i=o.focus,s=r.getNode(),l=i.getNode();if(!e.is(s)&&!e.is(l))return;let a=e.__key;if(o.isCollapsed()){let d=r.offset;if(t<=d&&n>0||t<d&&n<0){let f=Math.max(0,d+n);r.set(a,f,"element"),i.set(a,f,"element"),Nu(o)}}else{let d=o.isBackward(),f=d?i:r,m=f.getNode(),c=d?r:i,u=c.getNode();if(e.is(m)){let p=f.offset;(t<=p&&n>0||t<p&&n<0)&&f.set(a,Math.max(0,p+n),"element")}if(e.is(u)){let p=c.offset;(t<=p&&n>0||t<p&&n<0)&&c.set(a,Math.max(0,p+n),"element")}}Nu(o)}function Nu(o){let e=o.anchor,t=e.offset,n=o.focus,r=n.offset,i=e.getNode(),s=n.getNode();if(o.isCollapsed()){if(!E(i))return;let l=i.getChildrenSize(),a=t>=l,d=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(y(d)){let f=0;a&&(f=d.getTextContentSize()),e.set(d.__key,f,"text"),n.set(d.__key,f,"text")}return}if(E(i)){let l=i.getChildrenSize(),a=t>=l,d=a?i.getChildAtIndex(l-1):i.getChildAtIndex(t);if(y(d)){let f=0;a&&(f=d.getTextContentSize()),e.set(d.__key,f,"text")}}if(E(s)){let l=s.getChildrenSize(),a=r>=l,d=a?s.getChildAtIndex(l-1):s.getChildAtIndex(r);if(y(d)){let f=0;a&&(f=d.getTextContentSize()),n.set(d.__key,f,"text")}}}function Cu(o,e){let n=e.getEditorState()._selection,r=o._selection;if(_(r)){let i=r.anchor,s=r.focus,l;if(i.type==="text"&&(l=i.getNode(),l.selectionTransform(n,r)),s.type==="text"){let a=s.getNode();l!==a&&a.selectionTransform(n,r)}}}function On(o,e,t,n,r){let i=null,s=0,l=null;n!==null?(i=n.__key,y(n)?(s=n.getTextContentSize(),l="text"):E(n)&&(s=n.getChildrenSize(),l="element")):r!==null&&(i=r.__key,y(r)?l="text":E(r)&&(l="element")),i!==null&&l!==null?o.set(i,s,l):(s=e.getIndexWithinParent(),s===-1&&(s=t.getChildrenSize()),o.set(t.__key,s,"element"))}function yl(o,e,t,n,r){o.type==="text"?(o.key=t,e||(o.offset+=r)):o.offset>n.getIndexWithinParent()&&(o.offset-=1)}function _u(o,e,t,n,r,i,s){let l=n.anchorNode,a=n.focusNode,d=n.anchorOffset,f=n.focusOffset,m=document.activeElement;if(r.has("collaboration")&&m!==i||m!==null&&bn(m))return;if(!_(e)){if(m!==null&&n.isCollapsed&&a instanceof Node){let A=Q(a);if(B(A)){n.removeAllRanges(),Oe(A);return}}o!==null&&Wt(t,l,a)&&n.removeAllRanges();return}let c=e.anchor,u=e.focus,p=c.key,g=u.key,h=Ln(t,p),C=Ln(t,g),N=c.offset,L=u.offset,M=e.format,S=e.style,R=e.isCollapsed(),O=h,k=C,P=!1;if(c.type==="text"){O=Sn(h);let A=c.getNode();P=A.getFormat()!==M||A.getStyle()!==S}else _(o)&&o.anchor.type==="text"&&(P=!0);if(u.type==="text"&&(k=Sn(C)),!(O===null||k===null)&&(R&&(o===null||P||_(o)&&(o.format!==M||o.style!==S))&&$c(M,S,N,p,performance.now()),!(d===N&&f===L&&l===O&&a===k&&!(n.type==="Range"&&R)&&((m===null||!i.contains(m))&&i.focus({preventScroll:!0}),c.type!=="element")))){try{n.setBaseAndExtent(O,N,k,L)}catch(A){__DEV__&&console.warn(A)}if(!r.has("skip-scroll-into-view")&&e.isCollapsed()&&i!==null&&i===document.activeElement){let A=e instanceof Co&&e.anchor.type==="element"?O.childNodes[N]||null:n.rangeCount>0?n.getRangeAt(0):null;if(A!==null){let W;if(A instanceof Text){let ie=document.createRange();ie.selectNode(A),W=ie.getBoundingClientRect()}else W=A.getBoundingClientRect();ac(t,W,i)}}Ic()}}function Le(o){let e=T()||We();e===null&&(e=H().selectEnd()),e.insertNodes(o)}function Il(o){let e=o;o.isCollapsed()||e.removeText();let t=T();_(t)&&(e=t),x(_(e),"Unexpected dirty selection to be null");let n=e.anchor,r=n.getNode(),i=n.offset;for(;!Po(r);)[r,i]=ON(r,i);return i}function ON(o,e){let t=o.getParent();if(!t){let r=I();return H().append(r),r.select(),[H(),0]}if(y(o)){let r=o.splitText(e);if(r.length===0)return[t,o.getIndexWithinParent()];let i=e===0?0:1,s=r[0].getIndexWithinParent()+i;return[t,s]}if(!E(o)||e===0)return[t,o.getIndexWithinParent()];let n=o.getChildAtIndex(e);if(n){let r=new Co(Ae(o.__key,e,"element"),Ae(o.__key,e,"element"),0,""),i=o.insertNewAfter(r);i&&i.append(n,...n.getNextSiblings())}return[t,o.getIndexWithinParent()+1]}function AN(o){let e=I(),t=null;for(let n=0;n<o.length;n++){let r=o[n],i=De(r);if(i||B(r)&&r.isInline()||E(r)&&r.isInline()||y(r)||r.isParentRequired()){if(t===null&&(t=r.createParentElementNode(),e.append(t),i))continue;t!==null&&t.append(r)}else e.append(r),t=null}return e}var ue=null,ge=null,Re=!1,Bl=!1,ki=0,bu={characterData:!0,childList:!0,subtree:!0};function st(){return Re||ue!==null&&ue._readOnly}function de(){Re&&x(!1,"Cannot use method in read-only mode.")}function sl(){ki>99&&x(!1,"One or more transforms are endlessly triggering additional transforms. May have encountered infinite recursion caused by transforms that have their preconditions too lose and/or conflict with each other.")}function Ge(){return ue===null&&x(!1,"Unable to find an active editor state. State helpers or node methods can only be used synchronously during the callback of editor.update(), editor.read(), or editorState.read().%s",Mu()),ue}function G(){return ge===null&&x(!1,"Unable to find an active editor. This method can only be used synchronously during the callback of editor.update() or editor.read().%s",Mu()),ge}function Mu(){let o=0,e=new Set,t=go.version;if(typeof window<"u")for(let r of document.querySelectorAll("[contenteditable]")){let i=ko(r);if(yn(i))o++;else if(i){let s=String(i.constructor.version||"<0.17.1");s===t&&(s+=" (separately built, likely a bundler configuration issue)"),e.add(s)}}let n=` Detected on the page: ${o} compatible editor(s) with version ${t}`;return e.size&&(n+=` and incompatible editors with versions ${Array.from(e).join(", ")}`),n}function vu(){return ge}function mc(){return ue}function yu(o,e,t){let n=e.__type,r=Sd(o,n),i=t.get(n);i===void 0&&(i=Array.from(r.transforms),t.set(n,i));let s=i.length;for(let l=0;l<s&&(i[l](e),!!e.isAttached());l++);}function Su(o,e){return o!==void 0&&o.__key!==e&&o.isAttached()}function RN(o,e){let t=e._dirtyLeaves,n=o._nodeMap;for(let r of t){let i=n.get(r);y(i)&&i.isAttached()&&i.isSimpleText()&&!i.isUnmergeable()&&js(i)}}function kN(o,e){let t=e._dirtyLeaves,n=e._dirtyElements,r=o._nodeMap,i=je(),s=new Map,l=t,a=l.size,d=n,f=d.size;for(;a>0||f>0;){if(a>0){e._dirtyLeaves=new Set;for(let m of l){let c=r.get(m);y(c)&&c.isAttached()&&c.isSimpleText()&&!c.isUnmergeable()&&js(c),c!==void 0&&Su(c,i)&&yu(e,c,s),t.add(m)}if(l=e._dirtyLeaves,a=l.size,a>0){ki++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map;for(let m of d){let c=m[0],u=m[1];if(c!=="root"&&!u)continue;let p=r.get(c);p!==void 0&&Su(p,i)&&yu(e,p,s),n.set(c,u)}l=e._dirtyLeaves,a=l.size,d=e._dirtyElements,f=d.size,ki++}e._dirtyLeaves=t,e._dirtyElements=n}function Hl(o){return Fl(o,G()._nodes)}function Fl(o,e){let t=o.type,n=e.get(t);n===void 0&&x(!1,'parseEditorState: type "%s" + not found',t);let r=n.klass;o.type!==r.getType()&&x(!1,"LexicalNode: Node %s does not implement .importJSON().",r.name);let i=r.importJSON(o),s=o.children;if(E(i)&&Array.isArray(s))for(let l=0;l<s.length;l++){let a=s[l],d=Fl(a,e);i.append(d)}return i}function wu(o,e,t){let n=kr(),r=ue,i=Re,s=ge,l=e._dirtyElements,a=e._dirtyLeaves,d=e._cloneNotNeeded,f=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,ue=n,Re=!1,ge=e;try{let m=e._nodes,c=o.root;Fl(c,m),t&&t(),n._readOnly=!0,__DEV__&&Du(n)}catch(m){m instanceof Error&&e._onError(m)}finally{e._dirtyElements=l,e._dirtyLeaves=a,e._cloneNotNeeded=d,e._dirtyType=f,ue=r,Re=i,ge=s}return n}function Kl(o,e,t){let n=ue,r=Re,i=ge;ue=e,Re=!0,ge=o;try{return t()}finally{ue=n,Re=r,ge=i}}function Du(o){let e=o._nodeMap;e.set=()=>{throw new Error("Cannot call set() on a frozen Lexical node map")},e.clear=()=>{throw new Error("Cannot call clear() on a frozen Lexical node map")},e.delete=()=>{throw new Error("Cannot call delete() on a frozen Lexical node map")}}function wt(o,e){let t=o._pendingEditorState,n=o._rootElement,r=o._headless||n===null;if(t===null)return;let i=o._editorState,s=i._selection,l=t._selection,a=o._dirtyType!==bt,d=ue,f=Re,m=ge,c=o._updating,u=o._observer,p=null;if(o._pendingEditorState=null,o._editorState=t,!r&&a&&u!==null){ge=o,ue=t,Re=!1,o._updating=!0;try{let O=o._dirtyType,k=o._dirtyElements,P=o._dirtyLeaves;u.disconnect(),p=Cc(i,t,o,O,k,P)}catch(O){if(O instanceof Error&&o._onError(O),!Bl)Ul(o,null,n,t),si(o),o._dirtyType=zt,Bl=!0,wt(o,i),Bl=!1;else throw O;return}finally{u.observe(n,bu),o._updating=c,ue=d,Re=f,ge=m}}t._readOnly||(t._readOnly=!0,__DEV__&&(Du(t),_(l)&&(Object.freeze(l.anchor),Object.freeze(l.focus)),Object.freeze(l)));let g=o._dirtyLeaves,h=o._dirtyElements,C=o._normalizedNodes,N=o._updateTags,L=o._deferred,M=t._nodeMap.size;a&&(o._dirtyType=bt,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements=new Map,o._normalizedNodes=new Set,o._updateTags=new Set),pc(o,t);let S=r?null:be(o._window);if(o._editable&&S!==null&&(a||l===null||l.dirty)){ge=o,ue=t;try{if(u!==null&&u.disconnect(),a||l===null||l.dirty){let O=o._blockCursorElement;O!==null&&Cr(O,o,n),_u(s,l,o,S,N,n,M)}uc(o,n,l),u!==null&&u.observe(n,bu)}finally{ge=m,ue=d}}p!==null&&$N(o,p,N,g,i),!_(l)&&l!==null&&(s===null||!s.is(l))&&o.dispatchCommand(we,void 0);let R=o._pendingDecorators;R!==null&&(o._decorators=R,o._pendingDecorators=null,Pn("decorator",o,!0,R)),IN(o,e||i,t),Pn("update",o,!0,{dirtyElements:h,dirtyLeaves:g,editorState:t,normalizedNodes:C,prevEditorState:e||i,tags:N}),BN(o,L),PN(o)}function IN(o,e,t){let n=Js(e),r=Js(t);n!==r&&Pn("textcontent",o,!0,r)}function $N(o,e,t,n,r){let i=Array.from(o._listeners.mutation),s=i.length;for(let l=0;l<s;l++){let[a,d]=i[l],f=e.get(d);f!==void 0&&a(f,{dirtyLeaves:n,prevEditorState:r,updateTags:t})}}function Pn(o,e,t,...n){let r=e._updating;e._updating=t;try{let i=Array.from(e._listeners[o]);for(let s=0;s<i.length;s++)i[s].apply(null,n)}finally{e._updating=r}}function ll(o,e,t){if(o._updating===!1||ge!==o){let r=!1;return o.update(()=>{r=ll(o,e,t)}),r}let n=xr(o);for(let r=4;r>=0;r--)for(let i=0;i<n.length;i++){let a=n[i]._commands.get(e);if(a!==void 0){let d=a[r];if(d!==void 0){let f=Array.from(d),m=f.length;for(let c=0;c<m;c++)if(f[c](t,o)===!0)return!0}}}return!1}function PN(o){let e=o._updates;if(e.length!==0){let t=e.shift();if(t){let[n,r]=t;Ou(o,n,r)}}}function BN(o,e){if(o._deferred=[],e.length!==0){let t=o._updating;o._updating=!0;try{for(let n=0;n<e.length;n++)e[n]()}finally{o._updating=t}}}function Lu(o,e){let t=o._updates,n=e||!1;for(;t.length!==0;){let r=t.shift();if(r){let[i,s]=r,l,a;if(s!==void 0){if(l=s.onUpdate,a=s.tag,s.skipTransforms&&(n=!0),s.discrete){let d=o._pendingEditorState;x(d!==null,"Unexpected empty pending editor state on discrete nested update"),d._flushSync=!0}l&&o._deferred.push(l),a&&o._updateTags.add(a)}i()}}return n}function Ou(o,e,t){let n=o._updateTags,r,i,s=!1,l=!1;t!==void 0&&(r=t.onUpdate,i=t.tag,i!=null&&n.add(i),s=t.skipTransforms||!1,l=t.discrete||!1),r&&o._deferred.push(r);let a=o._editorState,d=o._pendingEditorState,f=!1;(d===null||d._readOnly)&&(d=o._pendingEditorState=Ru(d||a),f=!0),d._flushSync=l;let m=ue,c=Re,u=ge,p=o._updating;ue=d,Re=!1,o._updating=!0,ge=o;try{f&&(o._headless?a._selection!==null&&(d._selection=a._selection.clone()):d._selection=Tu(o));let h=o._compositionKey;e(),s=Lu(o,s),Cu(d,o),o._dirtyType!==bt&&(s?RN(d,o):kN(d,o),Lu(o),hc(a,d,o._dirtyLeaves,o._dirtyElements));let C=o._compositionKey;h!==C&&(d._flushSync=!0);let N=d._selection;if(_(N)){let L=d._nodeMap,M=N.anchor.key,S=N.focus.key;(L.get(M)===void 0||L.get(S)===void 0)&&x(!1,"updateEditor: selection has been lost because the previously selected nodes have been removed and selection wasn't moved to another node. Ensure selection changes after removing/replacing a selected node.")}else Se(N)&&N._nodes.size===0&&(d._selection=null)}catch(h){h instanceof Error&&o._onError(h),o._pendingEditorState=a,o._dirtyType=zt,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),wt(o);return}finally{ue=m,Re=c,ge=u,o._updating=p,ki=0}o._dirtyType!==bt||Au(d,o)?d._flushSync?(d._flushSync=!1,wt(o)):f&&Ld(()=>{wt(o)}):(d._flushSync=!1,f&&(n.clear(),o._deferred=[],o._pendingEditorState=null))}function xe(o,e,t){o._updating?o._updates.push([e,t]):Ou(o,e,t)}var V=class extends St{constructor(e){super(e),this.__first=null,this.__last=null,this.__size=0,this.__style="",this.__dir=null}afterCloneFrom(e){super.afterCloneFrom(e),this.__first=e.__first,this.__last=e.__last,this.__size=e.__size,this.__style=e.__style,this.__dir=e.__dir}getStyle(){return this.getLatest().__style}getChildren(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t),t=t.getNextSibling();return e}getChildrenKeys(){let e=[],t=this.getFirstChild();for(;t!==null;)e.push(t.__key),t=t.getNextSibling();return e}getChildrenSize(){return this.getLatest().__size}isEmpty(){return this.getChildrenSize()===0}isDirty(){let t=G()._dirtyElements;return t!==null&&t.has(this.__key)}isLastChild(){let e=this.getLatest(),t=this.getParentOrThrow().getLastChild();return t!==null&&t.is(e)}getAllTextNodes(){let e=[],t=this.getFirstChild();for(;t!==null;){if(y(t)&&e.push(t),E(t)){let n=t.getAllTextNodes();e.push(...n)}t=t.getNextSibling()}return e}getFirstDescendant(){let e=this.getFirstChild();for(;E(e);){let t=e.getFirstChild();if(t===null)break;e=t}return e}getLastDescendant(){let e=this.getLastChild();for(;E(e);){let t=e.getLastChild();if(t===null)break;e=t}return e}getDescendantByIndex(e){let t=this.getChildren(),n=t.length;if(e>=n){let i=t[n-1];return E(i)&&i.getLastDescendant()||i||null}let r=t[e];return E(r)&&r.getFirstDescendant()||r||null}getFirstChild(){let t=this.getLatest().__first;return t===null?null:J(t)}getFirstChildOrThrow(){let e=this.getFirstChild();return e===null&&x(!1,"Expected node %s to have a first child.",this.__key),e}getLastChild(){let t=this.getLatest().__last;return t===null?null:J(t)}getLastChildOrThrow(){let e=this.getLastChild();return e===null&&x(!1,"Expected node %s to have a last child.",this.__key),e}getChildAtIndex(e){let t=this.getChildrenSize(),n,r;if(e<t/2){for(n=this.getFirstChild(),r=0;n!==null&&r<=e;){if(r===e)return n;n=n.getNextSibling(),r++}return null}for(n=this.getLastChild(),r=t-1;n!==null&&r>=e;){if(r===e)return n;n=n.getPreviousSibling(),r--}return null}getTextContent(){let e="",t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContent(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve)}return e}getTextContentSize(){let e=0,t=this.getChildren(),n=t.length;for(let r=0;r<n;r++){let i=t[r];e+=i.getTextContentSize(),E(i)&&r!==n-1&&!i.isInline()&&(e+=Ve.length)}return e}getDirection(){return this.getLatest().__dir}select(e,t){de();let n=T(),r=e,i=t,s=this.getChildrenSize();if(!this.canBeEmpty()){if(e===0&&t===0){let a=this.getFirstChild();if(y(a)||E(a))return a.select(0,0)}else if((e===void 0||e===s)&&(t===void 0||t===s)){let a=this.getLastChild();if(y(a)||E(a))return a.select()}}r===void 0&&(r=s),i===void 0&&(i=s);let l=this.__key;if(_(n))n.anchor.set(l,r,"element"),n.focus.set(l,i,"element"),n.dirty=!0;else return Si(l,r,l,i,"element","element");return n}selectStart(){let e=this.getFirstDescendant();return e?e.selectStart():this.select()}selectEnd(){let e=this.getLastDescendant();return e?e.selectEnd():this.select()}clear(){let e=this.getWritable();return this.getChildren().forEach(n=>n.remove()),e}append(...e){return this.splice(this.getChildrenSize(),0,e)}setDirection(e){let t=this.getWritable();return t.__dir=e,t}setStyle(e){let t=this.getWritable();return t.__style=e||"",this}splice(e,t,n){let r=n.length,i=this.getChildrenSize(),s=this.getWritable(),l=s.__key,a=[],d=[],f=this.getChildAtIndex(e+t),m=null,c=i-t+r;if(e!==0)if(e===i)m=this.getLastChild();else{let p=this.getChildAtIndex(e);p!==null&&(m=p.getPreviousSibling())}if(t>0){let p=m===null?this.getFirstChild():m.getNextSibling();for(let g=0;g<t;g++){p===null&&x(!1,"splice: sibling not found");let h=p.getNextSibling(),C=p.__key,N=p.getWritable();qt(N),d.push(C),p=h}}let u=m;for(let p=0;p<r;p++){let g=n[p];u!==null&&g.is(u)&&(m=u=u.getPreviousSibling());let h=g.getWritable();h.__parent===l&&c--,qt(h);let C=g.__key;if(u===null)s.__first=C,h.__prev=null;else{let N=u.getWritable();N.__next=C,h.__prev=N.__key}g.__key===l&&x(!1,"append: attempting to append self"),h.__parent=l,a.push(C),u=g}if(e+t===i){if(u!==null){let p=u.getWritable();p.__next=null,s.__last=u.__key}}else if(f!==null){let p=f.getWritable();if(u!==null){let g=u.getWritable();p.__prev=u.__key,g.__next=f.__key}else p.__prev=null}if(s.__size=c,d.length){let p=T();if(_(p)){let g=new Set(d),h=new Set(a),{anchor:C,focus:N}=p;ku(C,g,h)&&On(C,C.getNode(),this,m,f),ku(N,g,h)&&On(N,N.getNode(),this,m,f),c===0&&!this.canBeEmpty()&&!me(this)&&this.remove()}}return s}exportJSON(){return{children:[],direction:this.getDirection(),type:"element",version:1}}insertNewAfter(e,t){return null}canIndent(){return!0}collapseAtStart(e){return!1}excludeFromCopy(e){return!1}canReplaceWith(e){return!0}canInsertAfter(e){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(e){return!1}extractWithChild(e,t,n){return!1}canMergeWhenEmpty(){return!1}};function E(o){return o instanceof V}function ku(o,e,t){let n=o.getNode();for(;n;){let r=n.__key;if(e.has(r)&&!t.has(r))return!0;n=n.getParent()}return!1}var Dt=class extends St{constructor(e){super(e)}decorate(e,t){x(!1,"decorate: base method not extended")}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}};function B(o){return o instanceof Dt}var Zo=class o extends V{static getType(){return"root"}static clone(){return new o}constructor(){super("root"),this.__cachedText=null}getTopLevelElementOrThrow(){x(!1,"getTopLevelElementOrThrow: root nodes are not top level elements")}getTextContent(){let e=this.__cachedText;return(st()||G()._dirtyType===bt)&&e!==null?e:super.getTextContent()}remove(){x(!1,"remove: cannot be called on root nodes")}replace(e){x(!1,"replace: cannot be called on root nodes")}insertBefore(e){x(!1,"insertBefore: cannot be called on root nodes")}insertAfter(e){x(!1,"insertAfter: cannot be called on root nodes")}updateDOM(e,t){return!1}append(...e){for(let t=0;t<e.length;t++){let n=e[t];!E(n)&&!B(n)&&x(!1,"rootNode.append: Only element or decorator nodes can be appended to the root node")}return super.append(...e)}static importJSON(e){let t=H();return t.setDirection(e.direction),t}exportJSON(){return{children:[],direction:this.getDirection(),type:"root",version:1}}collapseAtStart(){return!0}};function Iu(){return new Zo}function oe(o){return o instanceof Zo}function Au(o,e){let t=e.getEditorState()._selection,n=o._selection;if(n!==null){if(n.dirty||!n.is(t))return!0}else if(t!==null)return!0;return!1}function Ru(o){return new Ii(new Map(o._nodeMap))}function kr(){return new Ii(new Map([["root",Iu()]]))}function $u(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not match the serialized type. Check if .exportJSON() is implemented and it is returning the correct type.",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name);let r=o.getChildren();for(let i=0;i<r.length;i++){let s=r[i],l=$u(s);n.push(l)}}return e}var Ii=class o{constructor(e,t){this._nodeMap=e,this._selection=t||null,this._flushSync=!1,this._readOnly=!1}isEmpty(){return this._nodeMap.size===1&&this._selection===null}read(e,t){return Kl(t&&t.editor||null,this,e)}clone(e){let t=new o(this._nodeMap,e===void 0?this._selection:e);return t._readOnly=!0,t}toJSON(){return Kl(null,this,()=>({root:$u(H())}))}};var xo=class extends V{static getType(){return"artificial"}createDOM(e){return document.createElement("div")}};var Pu=["left","right","center","justify"];function Ir(o){let e=o.style.textAlign||"";return Pu.includes(e)?e:o.classList.contains("align-left")?"left":o.classList.contains("align-right")?"right":o.classList.contains("align-center")?"center":o.classList.contains("align-justify")?"justify":""}function HN(o){let e=o.style.paddingLeft||"0";return Uo(e)}function $r(o){let e=(o.dir||"").toLowerCase();return e==="rtl"||e==="ltr"?e:null}function Qe(o,e){o.id&&e.setId(o.id),e.setAlignment(Ir(o)),e.setInset(HN(o)),e.setDirection($r(o))}function _o(o,e){return o.__id!==e.__id||o.__alignment!==e.__alignment||o.__inset!==e.__inset||o.__dir!==e.__dir}function Bu(o,e,t){if(o.__id!==e.__id&&t.setAttribute("id",e.__id),o.__alignment!==e.__alignment){for(let n of Pu)t.classList.remove("align-"+n);e.__alignment&&t.classList.add("align-"+e.__alignment)}o.__inset!==e.__inset&&(e.__inset?t.style.paddingLeft=`${e.__inset}px`:t.style.removeProperty("paddingLeft")),o.__dir!==e.__dir&&(e.__dir?t.dir=e.__dir:t.removeAttribute("dir"))}function et(o,e){e.__id&&o.setAttribute("id",e.__id),e.__alignment&&o.classList.add("align-"+e.__alignment),e.__inset&&(o.style.paddingLeft=`${e.__inset}px`),e.__dir&&(o.dir=e.__dir)}function tt(o,e){e.setId(o.id),e.setAlignment(o.alignment),e.setInset(o.inset),e.setDirection(o.direction)}var Ot=class extends V{constructor(){super(...arguments);this.__id="";this.__alignment="";this.__inset=0}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}exportJSON(){return{...super.exportJSON(),id:this.__id,alignment:this.__alignment,inset:this.__inset}}};function bo(o,e){e.__alignment=o.__alignment,e.__inset=o.__inset}var ct=class o extends Ot{constructor(e){super(e),this.__textStyle=""}static getType(){return"paragraph"}getTextStyle(){return this.getLatest().__textStyle}setTextStyle(e){let t=this.getWritable();return t.__textStyle=e,t}static clone(e){return new o(e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__textStyle=e.__textStyle,bo(e,this)}createDOM(e){let t=document.createElement("p"),n=mo(e.theme,"paragraph");return n!==void 0&&t.classList.add(...n),et(t,this),t}updateDOM(e,t,n){return _o(e,this)}static importDOM(){return{p:e=>({conversion:FN,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=I();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),textStyle:this.getTextStyle(),type:"paragraph",version:1}}insertNewAfter(e,t){let n=I();n.setTextStyle(e.style);let r=this.getDirection();return n.setDirection(r),n.setStyle(this.getTextStyle()),this.insertAfter(n,t),n}collapseAtStart(){let e=this.getChildren();if(e.length===0||y(e[0])&&e[0].getTextContent().trim()===""){if(this.getNextSibling()!==null)return this.selectNext(),this.remove(),!0;if(this.getPreviousSibling()!==null)return this.selectPrevious(),this.remove(),!0}return!1}};function FN(o){let e=I();return Qe(o,e),{node:e}}function I(){return ne(new ct)}function dt(o){return o instanceof ct}var KN=!0,j=0,pt=1,Bn=2,qe=3,ke=4;function Ul(o,e,t,n){let r=o._keyToDOMMap;r.clear(),o._editorState=kr(),o._pendingEditorState=n,o._compositionKey=null,o._dirtyType=bt,o._cloneNotNeeded.clear(),o._dirtyLeaves=new Set,o._dirtyElements.clear(),o._normalizedNodes=new Set,o._updateTags=new Set,o._updates=[],o._blockCursorElement=null;let i=o._observer;i!==null&&(i.disconnect(),o._observer=null),e!==null&&(e.textContent=""),t!==null&&(t.textContent="",r.set("root",t))}function UN(o,e){let t=new Map,n=new Set,r=i=>{Object.keys(i).forEach(s=>{let l=t.get(s);l===void 0&&(l=[],t.set(s,l)),l.push(i[s])})};return o.forEach(i=>{let s=i.klass.importDOM;if(s==null||n.has(s))return;n.add(s);let l=s.call(i.klass);l!==null&&r(l)}),e&&r(e),t}function zl(o){let e=o||{},t=vu(),n=e.theme||{},r=o===void 0?t:e.parentEditor||null,i=e.disableEvents||!1,s=kr(),l=e.namespace||(r!==null?r._config.namespace:el()),a=e.editorState,d=[Zo,Je,Ho,Fo,ct,xo,...e.nodes||[]],{onError:f,html:m}=e,c=e.editable!==void 0?e.editable:!0,u;if(o===void 0&&t!==null)u=t._nodes;else{u=new Map;for(let g=0;g<d.length;g++){let h=d[g],C=null,N=null;if(typeof h!="function"){let R=h;h=R.replace,C=R.with,N=R.withKlass||null}if(__DEV__){let R=Object.prototype.hasOwnProperty.call(h,"getType")&&h.getType(),O=h.name;if(N&&x(N.prototype instanceof h,"%s doesn't extend the %s",N.name,O),O!=="RootNode"&&R!=="root"&&R!=="artificial"){let k=h.prototype;["getType","clone"].forEach(P=>{h.hasOwnProperty(P)||console.warn(`${O} must implement static "${P}" method`)}),!h.hasOwnProperty("importDOM")&&h.hasOwnProperty("exportDOM")&&console.warn(`${O} should implement "importDOM" if using a custom "exportDOM" method to ensure HTML serialization (important for copy & paste) works as expected`),k instanceof Dt&&(k.hasOwnProperty("decorate")||console.warn(`${k.constructor.name} must implement "decorate" method`)),h.hasOwnProperty("importJSON")||console.warn(`${O} should implement "importJSON" method to ensure JSON and default HTML serialization works as expected`),k.hasOwnProperty("exportJSON")||console.warn(`${O} should implement "exportJSON" method to ensure JSON and default HTML serialization works as expected`)}}let L=h.getType(),M=h.transform(),S=new Set;M!==null&&S.add(M),u.set(L,{exportDOM:m&&m.export?m.export.get(h):void 0,klass:h,replace:C,replaceWithKlass:N,transforms:S})}}let p=new go(s,r,u,{disableEvents:i,namespace:l,theme:n},f||console.error,UN(u,m?m.import:void 0),c);return a!==void 0&&(p._pendingEditorState=a,p._dirtyType=zt),p}var go=class{constructor(e,t,n,r,i,s,l){this._parentEditor=t,this._rootElement=null,this._editorState=e,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=!1,this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set},this._commands=new Map,this._config=r,this._nodes=n,this._decorators={},this._pendingDecorators=null,this._dirtyType=bt,this._cloneNotNeeded=new Set,this._dirtyLeaves=new Set,this._dirtyElements=new Map,this._normalizedNodes=new Set,this._updateTags=new Set,this._observer=null,this._key=el(),this._onError=i,this._htmlConversions=s,this._editable=l,this._headless=t!==null&&t._headless,this._window=null,this._blockCursorElement=null}isComposing(){return this._compositionKey!=null}registerUpdateListener(e){let t=this._listeners.update;return t.add(e),()=>{t.delete(e)}}registerEditableListener(e){let t=this._listeners.editable;return t.add(e),()=>{t.delete(e)}}registerDecoratorListener(e){let t=this._listeners.decorator;return t.add(e),()=>{t.delete(e)}}registerTextContentListener(e){let t=this._listeners.textcontent;return t.add(e),()=>{t.delete(e)}}registerRootListener(e){let t=this._listeners.root;return e(this._rootElement,null),t.add(e),()=>{e(null,this._rootElement),t.delete(e)}}registerCommand(e,t,n){n===void 0&&x(!1,'Listener for type "command" requires a "priority".');let r=this._commands;r.has(e)||r.set(e,[new Set,new Set,new Set,new Set,new Set]);let i=r.get(e);i===void 0&&x(!1,"registerCommand: Command %s not found in command map",String(e));let s=i[n];return s.add(t),()=>{s.delete(t),i.every(l=>l.size===0)&&r.delete(e)}}registerMutationListener(e,t,n){let r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(e)).klass,i=this._listeners.mutation;i.set(t,r);let s=n&&n.skipInitialization;return(s===void 0?KN:s)||this.initializeMutationListener(t,r),()=>{i.delete(t)}}getRegisteredNode(e){let t=this._nodes.get(e.getType());return t===void 0&&x(!1,"Node %s has not been registered. Ensure node has been passed to createEditor.",e.name),t}resolveRegisteredNodeAfterReplacements(e){for(;e.replaceWithKlass;)e=this.getRegisteredNode(e.replaceWithKlass);return e}initializeMutationListener(e,t){let n=this._editorState,r=fc(n).get(t.getType());if(!r)return;let i=new Map;for(let s of r.keys())i.set(s,"created");i.size>0&&e(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])})}registerNodeTransformToKlass(e,t){let n=this.getRegisteredNode(e);return n.transforms.add(t),n}registerNodeTransform(e,t){let n=this.registerNodeTransformToKlass(e,t),r=[n],i=n.replaceWithKlass;if(i!=null){let s=this.registerNodeTransformToKlass(i,t);r.push(s)}return Dd(this,e.getType()),()=>{r.forEach(s=>s.transforms.delete(t))}}hasNode(e){return this._nodes.has(e.getType())}hasNodes(e){return e.every(this.hasNode.bind(this))}dispatchCommand(e,t){return D(this,e,t)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(e){let t=this._rootElement;if(e!==t){let n=mo(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=e,Ul(this,t,e,r),t!==null&&(this._config.disableEvents||kc(t),n!=null&&t.classList.remove(...n)),e!==null){let i=cc(e),s=e.style;s.userSelect="text",s.whiteSpace="pre-wrap",s.wordBreak="break-word",e.setAttribute("data-lexical-editor","true"),this._window=i,this._dirtyType=zt,si(this),this._updateTags.add("history-merge"),wt(this),this._config.disableEvents||Rc(e,this),n!=null&&e.classList.add(...n)}else this._editorState=r,this._pendingEditorState=null,this._window=null;Pn("root",this,!1,e,t)}}getElementByKey(e){return this._keyToDOMMap.get(e)||null}getEditorState(){return this._editorState}setEditorState(e,t){e.isEmpty()&&x(!1,"setEditorState: the editor state is empty. Ensure the editor state's root node never becomes empty."),ii(this);let n=this._pendingEditorState,r=this._updateTags,i=t!==void 0?t.tag:null;n!==null&&!n.isEmpty()&&(i!=null&&r.add(i),wt(this)),this._pendingEditorState=e,this._dirtyType=zt,this._dirtyElements.set("root",!1),this._compositionKey=null,i!=null&&r.add(i),wt(this)}parseEditorState(e,t){let n=typeof e=="string"?JSON.parse(e):e;return wu(n,this,t)}read(e){return wt(this),this.getEditorState().read(e,{editor:this})}update(e,t){xe(this,e,t)}updateAndCommit(e,t){this.update(e,t),this.commitUpdates()}focus(e,t={}){let n=this._rootElement;n!==null&&(n.setAttribute("autocapitalize","off"),xe(this,()=>{let r=T(),i=H();r!==null?r.dirty=!0:i.getChildrenSize()!==0&&(t.defaultSelection==="rootStart"?i.selectStart():i.selectEnd())},{onUpdate:()=>{n.removeAttribute("autocapitalize"),e&&e()},tag:"focus"}),this._pendingEditorState===null&&n.removeAttribute("autocapitalize"))}commitUpdates(){wt(this)}blur(){let e=this._rootElement;e!==null&&e.blur();let t=be(this._window);t!==null&&t.removeAllRanges()}isEditable(){return this._editable}setEditable(e){this._editable!==e&&(this._editable=e,Pn("editable",this,!0,e))}toJSON(){return{editorState:this._editorState.toJSON()}}};go.version="0.17.1";var $i=0,Wl=1,ql=2,gt=0,zN=1,Hu=2,WN=3,qN=4;function YN(o,e,t){let n=o._nodeMap,r=[];for(let i of e){let s=n.get(i);s!==void 0&&r.push(s)}for(let[i,s]of t){if(!s)continue;let l=n.get(i);l!==void 0&&!oe(l)&&r.push(l)}return r}function ZN(o,e,t,n,r){if(o===null||t.size===0&&n.size===0&&!r)return gt;let i=e._selection,s=o._selection;if(r)return zN;if(!_(i)||!_(s)||!s.isCollapsed()||!i.isCollapsed())return gt;let l=YN(e,t,n);if(l.length===0)return gt;if(l.length>1){let C=e._nodeMap,N=C.get(i.anchor.key),L=C.get(s.anchor.key);return N&&L&&!o._nodeMap.has(N.__key)&&y(N)&&N.__text.length===1&&i.anchor.offset===1?Hu:gt}let a=l[0],d=o._nodeMap.get(a.__key);if(!y(d)||!y(a)||d.__mode!==a.__mode)return gt;let f=d.__text,m=a.__text;if(f===m)return gt;let c=i.anchor,u=s.anchor;if(c.key!==u.key||c.type!=="text")return gt;let p=c.offset,g=u.offset,h=m.length-f.length;return h===1&&g===p-1?Hu:h===-1&&g===p+1?WN:h===-1&&g===p?qN:gt}function VN(o,e,t){let n=e._nodeMap.get(o),r=t._nodeMap.get(o),i=e._selection,s=t._selection;return!(_(i)&&_(s)&&i.anchor.type==="element"&&i.focus.type==="element"&&s.anchor.type==="text"&&s.focus.type==="text")&&y(n)&&y(r)&&n.__parent===r.__parent?JSON.stringify(e.read(()=>n.exportJSON()))===JSON.stringify(t.read(()=>r.exportJSON())):!1}function XN(o,e){let t=Date.now(),n=gt;return(r,i,s,l,a,d)=>{let f=Date.now();if(d.has("historic"))return n=gt,t=f,ql;let m=ZN(r,i,l,a,o.isComposing()),c=(()=>{let u=s===null||s.editor===o,p=d.has("history-push");if(!p&&u&&d.has("history-merge"))return $i;if(r===null)return Wl;let h=i._selection;if(!(l.size>0||a.size>0))return h!==null?$i:ql;if(p===!1&&m!==gt&&m===n&&f<t+e&&u)return $i;if(l.size===1){let N=Array.from(l)[0];if(VN(N,r,i))return $i}return Wl})();return t=f,n=m,c}}function jN(o,e){let t=e.redoStack,n=e.undoStack;if(t.length!==0){let r=e.current;r!==null&&(n.push(r),o.dispatchCommand(co,!0));let i=t.pop();t.length===0&&o.dispatchCommand(ao,!1),e.current=i||null,i&&i.editor.setEditorState(i.editorState,{tag:"historic"})}}function GN(o,e){let t=e.redoStack,n=e.undoStack;if(n.length!==0){let i=e.current,s=n.pop();i!==null&&(t.push(i),o.dispatchCommand(ao,!0)),n.length===0&&o.dispatchCommand(co,!1),e.current=s||null,s&&s.editor.setEditorState(s.editorState,{tag:"historic"})}}function Fu(o){o.undoStack=[],o.redoStack=[],o.current=null}function Ku(o,e,t){let n=XN(o,t),r=({editorState:s,prevEditorState:l,dirtyLeaves:a,dirtyElements:d,tags:f})=>{let m=e.current,c=e.redoStack,u=e.undoStack,p=m===null?null:m.editorState;if(m!==null&&s===p)return;let g=n(l,s,m,a,d,f);if(g===Wl)c.length!==0&&(e.redoStack=[],o.dispatchCommand(ao,!1)),m!==null&&(u.push({...m}),o.dispatchCommand(co,!0));else if(g===ql)return;e.current={editor:o,editorState:s}};return jt(o.registerCommand(ro,()=>(GN(o,e),!0),j),o.registerCommand(io,()=>(jN(o,e),!0),j),o.registerCommand(Ps,()=>(Fu(e),!1),j),o.registerCommand(Bs,()=>(Fu(e),o.dispatchCommand(ao,!1),o.dispatchCommand(co,!1),!0),j),o.registerUpdateListener(r))}function Uu(){return{current:null,redoStack:[],undoStack:[]}}var Wu=o=>fe?(o||window).getSelection():null;function qu(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),_(e)&&e.isCollapsed()||e.getNodes().length===0?"":Oi(o,e)}function Yu(o,e=T()){return e==null&&x(!1,"Expected valid LexicalSelection"),_(e)&&e.isCollapsed()||e.getNodes().length===0?null:JSON.stringify(Vu(o,e))}function Pi(o,e,t){let n=o.getData("application/x-lexical-editor");if(n)try{let s=JSON.parse(n);if(s.namespace===t._config.namespace&&Array.isArray(s.nodes)){let l=Xu(s.nodes);return Yl(t,l,e)}}catch{}let r=o.getData("text/html");if(r)try{let l=new DOMParser().parseFromString(r,"text/html"),a=Di(t,l);return Yl(t,a,e)}catch{}let i=o.getData("text/plain")||o.getData("text/uri-list");if(i!=null)if(_(e)){let s=i.split(/(\r?\n|\t)/);s[s.length-1]===""&&s.pop();for(let l=0;l<s.length;l++){let a=T();if(_(a)){let d=s[l];d===`
`||d===`\r
`?a.insertParagraph():d===" "?a.insertNodes([Lt()]):a.insertText(d)}}}else e.insertRawText(i)}function Yl(o,e,t){o.dispatchCommand(nr,{nodes:e,selection:t})||t.insertNodes(e)}function JN(o){let e=o.exportJSON(),t=o.constructor;if(e.type!==t.getType()&&x(!1,"LexicalNode: Node %s does not implement .exportJSON().",t.name),E(o)){let n=e.children;Array.isArray(n)||x(!1,"LexicalNode: Node %s is an element but .exportJSON() does not have a children array.",t.name)}return e}function Zu(o,e,t,n=[]){let r=e!==null?t.isSelected(e):!0,i=E(t)&&t.excludeFromCopy("html"),s=t;if(e!==null){let d=Zt(t);d=y(d)&&e!==null?wr(e,d):d,s=d}let l=E(s)?s.getChildren():[],a=JN(s);if(y(s)){let d=s.__text;d.length>0?a.text=d:r=!1}for(let d=0;d<l.length;d++){let f=l[d],m=Zu(o,e,f,a.children);!r&&E(t)&&m&&t.extractWithChild(f,e,"clone")&&(r=!0)}if(r&&!i)n.push(a);else if(Array.isArray(a.children))for(let d=0;d<a.children.length;d++){let f=a.children[d];n.push(f)}return r}function Vu(o,e){let t=[],r=H().getChildren();for(let i=0;i<r.length;i++){let s=r[i];Zu(o,e,s,t)}return{namespace:o._config.namespace,nodes:t}}function Xu(o){let e=[];for(let t=0;t<o.length;t++){let n=o[t],r=Hl(n);y(r)&&vl(r),e.push(r)}return e}var QN=50,Hn=null;async function Fn(o,e,t){if(Hn!==null)return!1;if(e!==null)return new Promise((a,d)=>{o.update(()=>{a(zu(o,e,t))})});let n=o.getRootElement(),r=o._window==null?window.document:o._window.document,i=Wu(o._window);if(n===null||i===null)return!1;let s=r.createElement("span");s.style.cssText="position: fixed; top: -1000px;",s.append(r.createTextNode("#")),n.append(s);let l=new Range;return l.setStart(s,0),l.setEnd(s,1),i.removeAllRanges(),i.addRange(l),new Promise((a,d)=>{let f=o.registerCommand(so,m=>(ft(m,ClipboardEvent)&&(f(),Hn!==null&&(window.clearTimeout(Hn),Hn=null),a(zu(o,m,t))),!0),ke);Hn=window.setTimeout(()=>{f(),Hn=null,a(!1)},QN),r.execCommand("copy"),s.remove()})}function zu(o,e,t){if(t===void 0){let r=Wu(o._window);if(!r)return!1;let i=r.anchorNode,s=r.focusNode;if(i!==null&&s!==null&&!Wt(o,i,s))return!1;let l=T();if(l===null)return!1;t=Bi(l)}e.preventDefault();let n=e.clipboardData;return n===null?!1:(ju(n,t),!0)}var ex=[["text/html",qu],["application/x-lexical-editor",Yu]];function Bi(o=T()){let e={"text/plain":o?o.getTextContent():""};if(o){let t=il();for(let[n,r]of ex){let i=r(t,o);i!==null&&(e[n]=i)}}return e}function ju(o,e){for(let t in e){let n=e[t];n!==void 0&&o.setData(t,n)}}function Hi(o,e){if(typeof document.caretRangeFromPoint<"u"){let t=document.caretRangeFromPoint(o,e);return t===null?null:{node:t.startContainer,offset:t.startOffset}}else if(document.caretPositionFromPoint!=="undefined"){let t=document.caretPositionFromPoint(o,e);return t===null?null:{node:t.offsetNode,offset:t.offset}}else return null}var Gu=$("DRAG_DROP_PASTE_FILE");function tx(o,e){o.preventDefault(),e.update(()=>{let t=T(),n=ft(o,InputEvent)||ft(o,KeyboardEvent)?null:o.clipboardData;n!=null&&t!==null&&Pi(n,t,e)},{tag:"paste"})}async function ox(o,e){await Fn(e,ft(o,ClipboardEvent)?o:null),e.update(()=>{let t=T();_(t)?t.removeText():Se(t)&&t.getNodes().forEach(n=>n.remove())})}function Fi(o){let e=null;if(ft(o,DragEvent)?e=o.dataTransfer:ft(o,ClipboardEvent)&&(e=o.clipboardData),e===null)return[!1,[],!1];let t=e.types,n=t.includes("Files"),r=t.includes("text/html")||t.includes("text/plain");return[n,Array.from(e.files),r]}function Ki(o){let e=Q(o);return B(e)}function nx(o){let e=o.focus;return e.key==="root"&&e.offset===H().getChildrenSize()}function Ju(o){return jt(o.registerCommand(Mo,t=>{let n=T();return Se(n)?(n.clear(),!0):!1},0),o.registerCommand(Ze,t=>{let n=T();return _(n)?(n.deleteCharacter(t),!0):!1},j),o.registerCommand(Ct,t=>{let n=T();return _(n)?(n.deleteWord(t),!0):!1},j),o.registerCommand(it,t=>{let n=T();return _(n)?(n.deleteLine(t),!0):!1},j),o.registerCommand(rt,t=>{let n=T();if(typeof t=="string")n!==null&&n.insertText(t);else{if(n===null)return!1;let r=t.dataTransfer;if(r!=null)Pi(r,n,o);else if(_(n)){let i=t.data;return i&&n.insertText(i),!0}}return!0},j),o.registerCommand(mn,()=>{let t=T();return _(t)?(t.removeText(),!0):!1},j),o.registerCommand(Ne,t=>{let n=T();return _(n)?(n.formatText(t),!0):!1},j),o.registerCommand(It,t=>{let n=T();return _(n)?(n.insertLineBreak(t),!0):!1},j),o.registerCommand($t,()=>{let t=T();return _(t)?(t.insertParagraph(),!0):!1},j),o.registerCommand(Is,()=>(Le([Lt()]),!0),j),o.registerCommand(Pt,t=>{let n=T();if(Se(n)&&!Ki(t.target)){let r=n.getNodes();if(r.length>0)return r[0].selectPrevious(),!0}else if(_(n)){let r=Yt(n.focus,!0);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectPrevious(),t.preventDefault(),!0}return!1},j),o.registerCommand(Bt,t=>{let n=T();if(Se(n)){let r=n.getNodes();if(r.length>0)return r[0].selectNext(0,0),!0}else if(_(n)){if(nx(n))return t.preventDefault(),!0;let r=Yt(n.focus,!1);if(!t.shiftKey&&B(r)&&!r.isIsolated()&&!r.isInline())return r.selectNext(),t.preventDefault(),!0}return!1},j),o.registerCommand(wo,t=>{let n=T();if(Se(n)){let r=n.getNodes();if(r.length>0)return t.preventDefault(),r[0].selectPrevious(),!0}if(!_(n))return!1;if(Mi(n,!0)){let r=t.shiftKey;return t.preventDefault(),vi(n,r,!0),!0}return!1},j),o.registerCommand(vo,t=>{let n=T();if(Se(n)&&!Ki(t.target)){let i=n.getNodes();if(i.length>0)return t.preventDefault(),i[0].selectNext(0,0),!0}if(!_(n))return!1;let r=t.shiftKey;return Mi(n,!1)?(t.preventDefault(),vi(n,r,!1),!0):!1},j),o.registerCommand(Ht,t=>{if(Ki(t.target))return!1;let n=T();return _(n)?(t.preventDefault(),o.dispatchCommand(Ze,!0)):!1},j),o.registerCommand(Ft,t=>{if(Ki(t.target))return!1;let n=T();return _(n)?(t.preventDefault(),o.dispatchCommand(Ze,!1)):!1},j),o.registerCommand(He,t=>{let n=T();if(!_(n))return!1;if(t!==null){if((_t||Kt||Ut)&&uo)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(It,!1)}return o.dispatchCommand($t,void 0)},j),o.registerCommand(Do,()=>{let t=T();return _(t)?(o.blur(),!0):!1},j),o.registerCommand(Ao,t=>{let[,n]=Fi(t);if(n.length>0){let i=t.clientX,s=t.clientY,l=Hi(i,s);if(l!==null){let{offset:a,node:d}=l,f=Q(d);if(f!==null){let m=qo();if(y(f))m.anchor.set(f.getKey(),a,"text"),m.focus.set(f.getKey(),a,"text");else{let u=f.getParentOrThrow().getKey(),p=f.getIndexWithinParent()+1;m.anchor.set(u,p,"element"),m.focus.set(u,p,"element")}let c=Ro(m);Y(c)}o.dispatchCommand(Gu,n)}return t.preventDefault(),!0}let r=T();return!!_(r)},j),o.registerCommand(ir,t=>{let[n]=Fi(t),r=T();return!(n&&!_(r))},j),o.registerCommand(sr,t=>{let[n]=Fi(t),r=T();if(n&&!_(r))return!1;let i=t.clientX,s=t.clientY,l=Hi(i,s);if(l!==null){let a=Q(l.node);B(a)&&t.preventDefault()}return!0},j),o.registerCommand(pn,()=>(nl(),!0),j),o.registerCommand(so,t=>(Fn(o,ft(t,ClipboardEvent)?t:null),!0),j),o.registerCommand(lo,t=>(ox(t,o),!0),j),o.registerCommand(no,t=>{let[,n,r]=Fi(t);return n.length>0&&!r?(o.dispatchCommand(Gu,n),!0):bn(t.target)?!1:T()!==null?(tx(t,o),!0):!1},j))}var Vo=class o extends V{constructor(t,n){super(n);this.__id="";this.__category="info";this.__alignment="";this.__inset=0;this.__category=t}static getType(){return"callout"}static clone(t){let n=new o(t.__category,t.__key);return n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setCategory(t){let n=this.getWritable();n.__category=t}getCategory(){return this.getLatest().__category}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}createDOM(t,n){let r=document.createElement("p");return r.classList.add("callout",this.__category||""),et(r,this),r}updateDOM(t){return t.__category!==this.__category||_o(t,this)}insertNewAfter(t,n){let r=t?t.anchor.offset:0,i=r===this.getTextContentSize()||!t?I():Kn(this.__category);if(i.setDirection(this.getDirection()),this.insertAfter(i,n),r===0&&!this.isEmpty()&&t){let s=I();s.select(),this.replace(s,!0)}return i}static importDOM(){return{p(t){return t.classList.contains("callout")?{conversion:n=>{let r="info",i=["info","success","warning","danger"];for(let l of i)if(n.classList.contains(l)){r=l;break}let s=new o(r);return Qe(n,s),{node:s}},priority:3}:null}}}exportJSON(){return{...super.exportJSON(),type:"callout",version:1,category:this.__category,id:this.__id,alignment:this.__alignment,inset:this.__inset}}static importJSON(t){let n=Kn(t.category);return tt(t,n),n}};function Kn(o="info"){return new Vo(o)}function Zl(o){return o instanceof Vo}function Vl(o,e="info"){return o instanceof Vo&&o.getCategory()===e}var rx=new Set(["http:","https:","mailto:","sms:","tel:"]),Un=class o extends V{static getType(){return"link"}static clone(e){return new o(e.__url,{rel:e.__rel,target:e.__target,title:e.__title},e.__key)}constructor(e,t={},n){super(n);let{target:r=null,rel:i=null,title:s=null}=t;this.__url=e,this.__target=r,this.__rel=i,this.__title=s}createDOM(e){let t=document.createElement("a");return t.href=this.sanitizeUrl(this.__url),this.__target!==null&&(t.target=this.__target),this.__rel!==null&&(t.rel=this.__rel),this.__title!==null&&(t.title=this.__title),Te(t,e.theme.link),t}updateDOM(e,t,n){if(t instanceof HTMLAnchorElement){let r=this.__url,i=this.__target,s=this.__rel,l=this.__title;r!==e.__url&&(t.href=r),i!==e.__target&&(i?t.target=i:t.removeAttribute("target")),s!==e.__rel&&(s?t.rel=s:t.removeAttribute("rel")),l!==e.__title&&(l?t.title=l:t.removeAttribute("title"))}return!1}static importDOM(){return{a:e=>({conversion:ix,priority:1})}}static importJSON(e){let t=ht(e.url,{rel:e.rel,target:e.target,title:e.title});return t.setDirection(e.direction),t}sanitizeUrl(e){try{let t=new URL(e);if(!rx.has(t.protocol))return"about:blank"}catch{return e}return e}exportJSON(){return{...super.exportJSON(),rel:this.getRel(),target:this.getTarget(),title:this.getTitle(),type:"link",url:this.getURL(),version:1}}getURL(){return this.getLatest().__url}setURL(e){let t=this.getWritable();t.__url=e}getTarget(){return this.getLatest().__target}setTarget(e){let t=this.getWritable();t.__target=e}getRel(){return this.getLatest().__rel}setRel(e){let t=this.getWritable();t.__rel=e}getTitle(){return this.getLatest().__title}setTitle(e){let t=this.getWritable();t.__title=e}insertNewAfter(e,t=!0){let n=ht(this.__url,{rel:this.__rel,target:this.__target,title:this.__title});return this.insertAfter(n,t),n}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}canBeEmpty(){return!1}isInline(){return!0}extractWithChild(e,t,n){if(!_(t))return!1;let r=t.anchor.getNode(),i=t.focus.getNode();return this.isParentOf(r)&&this.isParentOf(i)&&t.getTextContent().length>0}isEmailURI(){return this.__url.startsWith("mailto:")}isWebSiteURI(){return this.__url.startsWith("https://")||this.__url.startsWith("http://")}};function ix(o){let e=null;if(gi(o)){let t=o.textContent;(t!==null&&t!==""||o.children.length>0)&&(e=ht(o.getAttribute("href")||"",{rel:o.getAttribute("rel"),target:o.getAttribute("target"),title:o.getAttribute("title")}))}return{node:e}}function ht(o,e){return ne(new Un(o,e))}function At(o){return o instanceof Un}var c0=$("TOGGLE_LINK_COMMAND");var Xo=class o extends V{constructor(t,n,r){super(r);this.__src="";this.__alt="";this.__width=0;this.__height=0;this.__alignment="";this.__src=t,n.alt&&(this.__alt=n.alt),n.width&&(this.__width=n.width),n.height&&(this.__height=n.height)}static getType(){return"image"}static clone(t){let n=new o(t.__src,{alt:t.__alt,width:t.__width,height:t.__height},t.__key);return n.__alignment=t.__alignment,n}setSrc(t){let n=this.getWritable();n.__src=t}getSrc(){return this.getLatest().__src}setAltText(t){let n=this.getWritable();n.__alt=t}getAltText(){return this.getLatest().__alt}setHeight(t){let n=this.getWritable();n.__height=t}getHeight(){return this.getLatest().__height}setWidth(t){let n=this.getWritable();n.__width=t}getWidth(){return this.getLatest().__width}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}isInline(){return!0}createDOM(t,n){let r=document.createElement("img");return r.setAttribute("src",this.__src),this.__width&&r.setAttribute("width",String(this.__width)),this.__height&&r.setAttribute("height",String(this.__height)),this.__alt&&r.setAttribute("alt",this.__alt),this.__alignment&&r.classList.add("align-"+this.__alignment),r.addEventListener("click",i=>{n.update(()=>{this.select()})}),r}updateDOM(t,n){return t.__src!==this.__src&&n.setAttribute("src",this.__src),t.__width!==this.__width&&(this.__width?n.setAttribute("width",String(this.__width)):n.removeAttribute("width")),t.__height!==this.__height&&(this.__height?n.setAttribute("height",String(this.__height)):n.removeAttribute("height")),t.__alt!==this.__alt&&(this.__alt?n.setAttribute("alt",String(this.__alt)):n.removeAttribute("alt")),t.__alignment!==this.__alignment&&(t.__alignment&&n.classList.remove("align-"+t.__alignment),this.__alignment&&n.classList.add("align-"+this.__alignment)),!1}static importDOM(){return{img(t){return{conversion:n=>{let r=n.getAttribute("src")||"",i={alt:n.getAttribute("alt")||"",height:Number.parseInt(n.getAttribute("height")||"0"),width:Number.parseInt(n.getAttribute("width")||"0")},s=new o(r,i);return s.setAlignment(Ir(n)),{node:s}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"image",version:1,src:this.__src,alt:this.__alt,height:this.__height,width:this.__width,alignment:this.__alignment}}static importJSON(t){let n=jo(t.src,{alt:t.alt,width:t.width,height:t.height});return n.setAlignment(t.alignment),n}};function jo(o,e={}){return new Xo(o,e)}function Nt(o){return o instanceof Xo}var zn=class o extends V{constructor(){super(...arguments);this.__id="";this.__summary="";this.__open=!1}static getType(){return"details"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setSummary(t){let n=this.getWritable();n.__summary=t}getSummary(){return this.getLatest().__summary}setOpen(t){let n=this.getWritable();n.__open=t}getOpen(){return this.getLatest().__open}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n.__dir=t.__dir,n.__summary=t.__summary,n.__open=t.__open,n}createDOM(t,n){let r=document.createElement("details");this.__id&&r.setAttribute("id",this.__id),this.__dir&&r.setAttribute("dir",this.__dir),this.__open&&r.setAttribute("open","true");let i=document.createElement("summary");return i.textContent=this.__summary,i.setAttribute("contenteditable","false"),i.addEventListener("click",s=>{s.preventDefault(),n.update(()=>{this.select()})}),r.append(i),r}updateDOM(t,n){return t.__open!==this.__open&&n.toggleAttribute("open",this.__open),t.__id!==this.__id||t.__dir!==this.__dir||t.__summary!==this.__summary}static importDOM(){return{details(t){return{conversion:n=>{let r=new o;n.id&&r.setId(n.id),n.dir&&r.setDirection($r(n));let i=Array.from(n.children).find(s=>s.nodeName==="SUMMARY");return r.setSummary(i?.textContent||""),{node:r}},priority:3}},summary(t){return{conversion:n=>({node:"ignore"}),priority:3}}}}exportDOM(t){let n=this.createDOM(t._config,t),r=n.querySelectorAll("[contenteditable]");for(let i of r)i.removeAttribute("contenteditable");return n.removeAttribute("open"),{element:n}}exportJSON(){return{...super.exportJSON(),type:"details",version:1,id:this.__id,summary:this.__summary}}static importJSON(t){let n=Xl();return n.setId(t.id),n.setDirection(t.direction),n}};function Xl(){return new zn}function Ie(o){return o instanceof zn}function jl(o){let e=1,t=o.getParent();for(;t!=null;){if(X(t)){let n=t.getParent();if(U(n)){e++,t=n.getParent();continue}x(!1,"A ListItemNode must have a ListNode for a parent.")}return e}return e}function Gl(o){let e=o.getParent();U(e)||x(!1,"A ListItemNode must have a ListNode for a parent.");let t=e;for(;t!==null;)t=t.getParent(),U(t)&&(e=t);return e}function Jl(o){let e=[],t=o.getChildren().filter(X);for(let n=0;n<t.length;n++){let r=t[n],i=r.getFirstChild();U(i)?e=e.concat(Jl(i)):e.push(r)}return e}var H0=Symbol.for("@lexical/NestedListNodeBrand");function Wn(o){return X(o)&&U(o.getFirstChild())}function Qu(o){return $e().append(o)}function tf(o,e){return X(o)&&(e.length===0||e.length===1&&o.is(e[0])&&o.getChildrenSize()===0)}function Ql(o,e){o.update(()=>{let t=T();if(t!==null){let n=t.getNodes();if(_(t)){let i=t.getStartEndPoints();x(i!==null,"insertList: anchor should be defined");let[s]=i,l=s.getNode(),a=l.getParent();if(tf(l,n)){let d=Ce(e);if(me(a)){l.replace(d);let f=$e();d.append(f)}else if(X(l)){let f=l.getParentOrThrow();Pr(d,f.getChildren()),f.replace(d)}return}}let r=new Set;for(let i=0;i<n.length;i++){let s=n[i];if(E(s)&&s.isEmpty()&&!X(s)&&!r.has(s.getKey())){ef(s,e);continue}if(Nr(s)){let l=s.getParent();for(;l!=null;){let a=l.getKey();if(U(l)){if(!r.has(a)){let d=Ce(e);Pr(d,l.getChildren()),l.replace(d),r.add(a)}break}else{let d=l.getParent();if(me(d)&&!r.has(a)){r.add(a),ef(l,e);break}l=d}}}}}})}function Pr(o,e){o.splice(o.getChildrenSize(),0,e)}function ef(o,e){if(U(o))return o;let t=o.getPreviousSibling(),n=o.getNextSibling(),r=$e();if(Pr(r,o.getChildren()),U(t)&&e===t.getListType())return t.append(r),o.remove(),U(n)&&e===n.getListType()&&(Pr(t,n.getChildren()),n.remove()),t;if(U(n)&&e===n.getListType())return n.getFirstChildOrThrow().insertBefore(r),o.remove(),n;{let i=Ce(e);return i.append(r),o.replace(i),i}}function Ui(o,e){let t=o.getLastChild(),n=e.getFirstChild();t&&n&&Wn(t)&&Wn(n)&&(Ui(t.getFirstChild(),n.getFirstChild()),n.remove());let r=e.getChildren();r.length>0&&o.append(...r),e.remove()}function ea(o){o.update(()=>{let e=T();if(_(e)){let t=new Set,n=e.getNodes(),r=e.anchor.getNode();if(tf(r,n))t.add(Gl(r));else for(let i=0;i<n.length;i++){let s=n[i];if(Nr(s)){let l=Vc(s,Gt);l!=null&&t.add(Gl(l))}}for(let i of t){let s=i,l=Jl(i);for(let a of l){let d=I();Pr(d,a.getChildren()),s.insertAfter(d),s=d,a.__key===e.anchor.key&&e.anchor.set(d.getKey(),0,"element"),a.__key===e.focus.key&&e.focus.set(d.getKey(),0,"element"),a.remove()}i.remove()}}})}function of(o){let e=o.getListType()!=="check",t=o.getStart();for(let n of o.getChildren())X(n)&&(n.getValue()!==t&&n.setValue(t),e&&n.getLatest().__checked!=null&&n.setChecked(void 0),U(n.getFirstChild())||t++)}function nf(o){let e=o.getNextSibling();U(e)&&o.getListType()===e.getListType()&&Ui(o,e)}var Gt=class o extends V{static getType(){return"listitem"}static clone(e){return new o(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=e===void 0?1:e,this.__checked=t}createDOM(e){let t=document.createElement("li"),n=this.getParent();return U(n)&&n.getListType()==="check"&&sf(t,this),t.value=this.__value,rf(this)&&(t.style.listStyle="none"),t}updateDOM(e,t,n){let r=this.getParent();return U(r)&&r.getListType()==="check"&&sf(t,this),t.style.listStyle=rf(this)?"none":"",t.value=this.__value,!1}static transform(){return e=>{if(x(X(e),"node is not a ListItemNode"),e.__checked==null)return;let t=e.getParent();U(t)&&t.getListType()!=="check"&&e.getChecked()!=null&&e.setChecked(void 0)}}static importDOM(){return{li:()=>({conversion:sx,priority:0})}}static importJSON(e){let t=$e();return t.setChecked(e.checked),t.setValue(e.value),t.setDirection(e.direction),t}exportDOM(e){let t=this.createDOM(e._config);if(t.classList.contains("task-list-item")){let n=b("input",{type:"checkbox",disabled:"disabled"});t.hasAttribute("checked")&&(n.setAttribute("checked","checked"),t.removeAttribute("checked")),t.prepend(n)}return{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t<e.length;t++){let n=e[t];if(E(n)&&this.canMergeWith(n)){let r=n.getChildren();this.append(...r),n.remove()}else super.append(n)}return this}replace(e,t){if(X(e))return super.replace(e);let n=this.getParentOrThrow();if(!U(n))return e;if(n.__first===this.getKey())n.insertBefore(e);else if(n.__last===this.getKey())n.insertAfter(e);else{let r=Ce(n.getListType()),i=this.getNextSibling();for(;i;){let s=i;i=i.getNextSibling(),r.append(s)}n.insertAfter(e),e.insertAfter(r)}return t&&(x(E(e),"includeChildren should only be true for ElementNodes"),this.getChildren().forEach(r=>{e.append(r)})),this.remove(),n.getChildrenSize()===0&&n.remove(),e}insertAfter(e,t=!0){let n=this.getParentOrThrow();if(U(n)||x(!1,"insertAfter: list node is not parent of list item node"),X(e))return super.insertAfter(e,t);let r=this.getNextSiblings();if(n.insertAfter(e,t),r.length!==0){let i=Ce(n.getListType());r.forEach(s=>i.append(s)),e.insertAfter(i,t)}return e}remove(e){let t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&Wn(t)&&Wn(n)&&(Ui(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){if(this.getTextContent().trim()===""&&this.isLastChild()){let r=this.getParentOrThrow(),i=r.getParent();if(X(i))return i.insertAfter(this),this.selectStart(),null;{let s=I();return r.insertAfter(s,t),this.remove(),s}}let n=$e(this.__checked==null?void 0:!1);return this.insertAfter(n,t),n}collapseAtStart(e){let t=I();this.getChildren().forEach(l=>t.append(l));let r=this.getParentOrThrow(),i=r.getParentOrThrow(),s=X(i);if(r.getChildrenSize()===1)if(s)r.remove(),i.select();else{r.insertBefore(t),r.remove();let l=e.anchor,a=e.focus,d=t.getKey();l.type==="element"&&l.getNode().is(this)&&l.set(d,l.offset,"element"),a.type==="element"&&a.getNode().is(this)&&a.set(d,a.offset,"element")}else r.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){let t=this.getWritable();t.__value=e}getChecked(){let e=this.getLatest(),t,n=this.getParent();return U(n)&&(t=n.getListType()),t==="check"?!!e.__checked:void 0}setChecked(e){let t=this.getWritable();t.__checked=e}toggleChecked(){this.setChecked(!this.__checked)}canInsertAfter(e){return X(e)}canReplaceWith(e){return X(e)}canMergeWith(e){return dt(e)||X(e)}extractWithChild(e,t){if(!_(t))return!1;let n=t.anchor.getNode(),r=t.focus.getNode();return this.isParentOf(n)&&this.isParentOf(r)&&this.getTextContent().length===t.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return Ce("bullet")}canMergeWhenEmpty(){return!0}};function rf(o){let e=o.getChildren(),t=!1,n=!1;for(let r of e)U(r)?n=!0:r.getTextContent().trim().length>0&&(t=!0);return n&&!t}function sf(o,e){let t=!U(e.getFirstChild());o.classList.toggle("task-list-item",t),e.__checked?o.setAttribute("checked","checked"):o.removeAttribute("checked")}function sx(o){if(o.classList.contains("task-list-item")){for(let r of o.children)if(r.tagName==="INPUT")return lx(r)}let t=o.getAttribute("aria-checked");return{node:$e(t==="true"?!0:t==="false"?!1:void 0)}}function lx(o){if(!(o.getAttribute("type")==="checkbox"))return{node:null};let t=o.hasAttribute("checked");return{node:$e(t)}}function $e(o){return ne(new Gt(void 0,o))}function X(o){return o instanceof Gt}var Go=class o extends V{constructor(t,n,r){super(r);this.__id="";let i=cx[t]||t;this.__listType=i,this.__tag=i==="number"?"ol":"ul",this.__start=n}static getType(){return"list"}static clone(t){let n=new o(t.__listType,t.__start,t.__key);return n.__id=t.__id,n.__dir=t.__dir,n}getTag(){return this.__tag}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setListType(t){let n=this.getWritable();n.__listType=t,n.__tag=t==="number"?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(t,n){let r=this.__tag,i=document.createElement(r);return this.__start!==1&&i.setAttribute("start",String(this.__start)),i.__lexicalListType=this.__listType,lf(i,t.theme,this),this.__id&&i.setAttribute("id",this.__id),this.__dir&&i.setAttribute("dir",this.__dir),i}updateDOM(t,n,r){return t.__tag!==this.__tag||t.__dir!==this.__dir||t.__id!==this.__id?!0:(lf(n,r.theme,this),!1)}static transform(){return t=>{x(U(t),"node is not a ListNode"),nf(t),of(t)}}static importDOM(){return{ol:()=>({conversion:af,priority:0}),ul:()=>({conversion:af,priority:0})}}static importJSON(t){let n=Ce(t.listType,t.start);return n.setId(t.id),n.setDirection(t.direction),n}exportDOM(t){let{element:n}=super.exportDOM(t);return n&&pe(n)&&(this.__start!==1&&n.setAttribute("start",String(this.__start)),this.__listType==="check"&&n.setAttribute("__lexicalListType","check")),{element:n}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1,id:this.__id}}canBeEmpty(){return!1}canIndent(){return!1}append(...t){for(let n=0;n<t.length;n++){let r=t[n];if(X(r))super.append(r);else{let i=$e();if(U(r))i.append(r);else if(E(r)){let s=q(r.getTextContent());i.append(s)}else i.append(r);super.append(i)}}return this}extractWithChild(t){return X(t)}};function lf(o,e,t){let n=[],r=[],i=e.list;if(i!==void 0){let s=i[`${t.__tag}Depth`]||[],l=jl(t)-1,a=l%s.length,d=s[a],f=i[t.__tag],m,c=i.nested,u=i.checklist;if(c!==void 0&&c.list&&(m=c.list),f!==void 0&&n.push(f),u!==void 0&&t.__listType==="check"&&n.push(u),d!==void 0){n.push(...yt(d));for(let p=0;p<s.length;p++)p!==a&&r.push(t.__tag+p)}if(m!==void 0){let p=yt(m);l>1?n.push(...p):r.push(...p)}}r.length>0&&wi(o,...r),n.length>0&&Te(o,...n)}function ax(o){let e=[];for(let t of o)X(t)?e.push(t):e.push(Qu(t));return e}function dx(o){if(o.getAttribute("__lexicallisttype")==="check"||o.classList.contains("contains-task-list"))return!0;for(let e of o.childNodes)if(pe(e)&&(e.hasAttribute("aria-checked")||e.classList.contains("task-list-item")||e.firstElementChild&&e.firstElementChild.matches('input[type="checkbox"]')))return!0;return!1}function af(o){let e=o.nodeName.toLowerCase(),t=null;if(e==="ol"){let n=o.start;t=Ce("number",n)}else e==="ul"&&(dx(o)?t=Ce("check"):t=Ce("bullet"));return o.id&&t&&t.setId(o.id),o.dir&&t&&t.setDirection($r(o)),{after:ax,node:t}}var cx={ol:"number",ul:"bullet"};function Ce(o,e=1){return ne(new Go(o,e))}function U(o){return o instanceof Go}var kL=$("INSERT_UNORDERED_LIST_COMMAND"),IL=$("INSERT_ORDERED_LIST_COMMAND"),$L=$("INSERT_CHECK_LIST_COMMAND"),PL=$("REMOVE_LIST_COMMAND");var re={BOTH:3,COLUMN:2,NO_STATUS:0,ROW:1},Jt=class o extends V{constructor(t=re.NO_STATUS,n=1,r,i){super(i);this.__styles=new Map;this.__alignment="";this.__colSpan=n,this.__rowSpan=1,this.__headerState=t,this.__width=r,this.__backgroundColor=null}static getType(){return"tablecell"}static clone(t){let n=new o(t.__headerState,t.__colSpan,t.__width,t.__key);return n.__rowSpan=t.__rowSpan,n.__backgroundColor=t.__backgroundColor,n.__styles=new Map(t.__styles),n.__alignment=t.__alignment,n}static importDOM(){return{td:t=>({conversion:df,priority:0}),th:t=>({conversion:df,priority:0})}}static importJSON(t){let n=Pe(t.headerState,t.colSpan,t.width);return t.rowSpan&&n.setRowSpan(t.rowSpan),n.setStyles(new Map(Object.entries(t.styles))),n.setAlignment(t.alignment),n}createDOM(t){let n=document.createElement(this.getTag());this.__width&&(n.style.width=`${this.__width}px`),this.__colSpan>1&&(n.colSpan=this.__colSpan),this.__rowSpan>1&&(n.rowSpan=this.__rowSpan),this.__backgroundColor!==null&&(n.style.backgroundColor=this.__backgroundColor),Te(n,t.theme.tableCell,this.hasHeader()&&t.theme.tableCellHeader);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return this.__alignment&&n.classList.add("align-"+this.__alignment),n}exportDOM(t){let{element:n}=super.exportDOM(t);return{element:n}}exportJSON(){return{...super.exportJSON(),backgroundColor:this.getBackgroundColor(),colSpan:this.__colSpan,headerState:this.__headerState,rowSpan:this.__rowSpan,type:"tablecell",width:this.getWidth(),styles:Object.fromEntries(this.__styles),alignment:this.__alignment}}getColSpan(){return this.__colSpan}setColSpan(t){return this.getWritable().__colSpan=t,this}getRowSpan(){return this.__rowSpan}setRowSpan(t){return this.getWritable().__rowSpan=t,this}getTag(){return this.hasHeader()?"th":"td"}setHeaderStyles(t){let n=this.getWritable();return n.__headerState=t,this.__headerState}getHeaderStyles(){return this.getLatest().__headerState}setWidth(t){let n=this.getWritable();return n.__width=t,this.__width}getWidth(){return this.getLatest().__width}clearWidth(){let t=this.getWritable();t.__width=void 0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}updateTag(t){let r=t.toLowerCase()==="th"?re.ROW:re.NO_STATUS,i=this.getWritable();i.__headerState=r}getBackgroundColor(){return this.getLatest().__backgroundColor}setBackgroundColor(t){this.getWritable().__backgroundColor=t}toggleHeaderStyle(t){let n=this.getWritable();return(n.__headerState&t)===t?n.__headerState-=t:n.__headerState+=t,n}hasHeaderState(t){return(this.getHeaderStyles()&t)===t}hasHeader(){return this.getLatest().__headerState!==re.NO_STATUS}updateDOM(t){return t.__headerState!==this.__headerState||t.__width!==this.__width||t.__colSpan!==this.__colSpan||t.__rowSpan!==this.__rowSpan||t.__backgroundColor!==this.__backgroundColor||t.__styles!==this.__styles||t.__alignment!==this.__alignment}isShadowRoot(){return!0}collapseAtStart(){return!0}canBeEmpty(){return!1}canIndent(){return!1}};function df(o){let e=o,t=o.nodeName.toLowerCase(),n;/^(\d+(?:\.\d+)?)px$/.test(e.style.width)&&(n=parseFloat(e.style.width));let i=Pe(t==="th"?re.ROW:re.NO_STATUS,e.colSpan,n);i.__rowSpan=e.rowSpan;let s=e.style,l=s.textDecoration.split(" "),a=s.fontWeight==="700"||s.fontWeight==="bold",d=l.includes("line-through"),f=s.fontStyle==="italic",m=l.includes("underline");return o instanceof HTMLElement&&(i.setStyles(In(o)),i.setAlignment(Ir(o))),{after:c=>(c.length===0&&c.push(I()),c),forChild:(c,u)=>{if(w(u)&&!E(c)){let p=I();return De(c)&&c.getTextContent()===`
`?null:(y(c)&&(a&&c.toggleFormat("bold"),d&&c.toggleFormat("strikethrough"),f&&c.toggleFormat("italic"),m&&c.toggleFormat("underline")),p.append(c),p)}return c},node:i}}function Pe(o=re.NO_STATUS,e=1,t){return ne(new Jt(o,e,t))}function w(o){return o instanceof Jt}var ux=$("INSERT_TABLE_COMMAND");var Qt=class o extends V{constructor(t){super(t);this.__styles=new Map}static getType(){return"tablerow"}static clone(t){let n=new o(t.__key);return n.__styles=new Map(t.__styles),n}static importDOM(){return{tr:t=>({conversion:fx,priority:0})}}static importJSON(t){let n=Jo();return n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"tablerow",version:1,styles:Object.fromEntries(this.__styles),height:this.__height||0}}createDOM(t){let n=document.createElement("tr");this.__height&&(n.style.height=`${this.__height}px`);for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i);return Te(n,t.theme.tableRow),n}isShadowRoot(){return!0}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}setHeight(t){let n=this.getWritable();return n.__height=t,this.__height}getHeight(){return this.getLatest().__height}updateDOM(t){return t.__height!==this.__height||t.__styles!==this.__styles}canBeEmpty(){return!1}canIndent(){return!1}};function fx(o){let e=Jo(),n=Uo(o.style.height);return e.setHeight(n),o instanceof HTMLElement&&e.setStyles(In(o)),{node:e}}function Jo(){return ne(new Qt)}function ee(o){return o instanceof Qt}var qn=class o extends V{static getType(){return"caption"}static clone(e){return new o(e.__key)}createDOM(e,t){return document.createElement("caption")}updateDOM(e,t,n){return!1}isParentRequired(){return!0}canBeEmpty(){return!1}exportJSON(){return{...super.exportJSON(),type:"caption",version:1}}insertDOMIntoParent(e,t){return t.insertBefore(e,t.firstChild),!0}static importJSON(e){return ta()}static importDOM(){return{caption:e=>({conversion(t){return{node:ta()}},priority:0})}}};function ta(){return new qn}function Br(o){return o instanceof qn}function oa(o){for(let e of o.getChildren())if(Br(e))return!0;return!1}function cf(o,e=""){let t=ta(),n=q(e||" ");t.append(n),o.append(t)}function ra(o,e,t=!0){let n=Fr();for(let r=0;r<o;r++){let i=Jo();for(let s=0;s<e;s++){let l=re.NO_STATUS;typeof t=="object"?(r===0&&t.rows&&(l|=re.ROW),s===0&&t.columns&&(l|=re.COLUMN)):t&&(r===0&&(l|=re.ROW),s===0&&(l|=re.COLUMN));let a=Pe(l),d=I();d.append(q()),a.append(d),i.append(a)}n.append(i)}return n}var na=(o,e)=>o===re.BOTH||o===e?e:re.NO_STATUS;function zi(o=!0){let e=T();x(_(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.focus.getNode(),[n,,r]=Me(t),[i,s]=ot(r,n,n),l=i[0].length,{startRow:a}=s;if(o){let d=a+n.__rowSpan-1,f=i[d],m=Jo();for(let u=0;u<l;u++){let{cell:p,startRow:g}=f[u];if(g+p.__rowSpan-1<=d){let C=f[u].cell.__headerState,N=na(C,re.COLUMN);m.append(Pe(N).append(I()))}else p.setRowSpan(p.__rowSpan+1)}let c=r.getChildAtIndex(d);x(ee(c),"focusEndRow is not a TableRowNode"),c.insertAfter(m)}else{let d=i[a],f=Jo();for(let c=0;c<l;c++){let{cell:u,startRow:p}=d[c];if(p===a){let h=d[c].cell.__headerState,C=na(h,re.COLUMN);f.append(Pe(C).append(I()))}else u.setRowSpan(u.__rowSpan+1)}let m=r.getChildAtIndex(a);x(ee(m),"focusEndRow is not a TableRowNode"),m.insertBefore(f)}}function Wi(o=!0){let e=T();x(_(e)||z(e),"Expected a RangeSelection or TableSelection");let t=e.anchor.getNode(),n=e.focus.getNode(),[r]=Me(t),[i,,s]=Me(n),[l,a,d]=ot(s,i,r),f=l.length,m=o?Math.max(a.startColumn,d.startColumn):Math.min(a.startColumn,d.startColumn),c=o?m+i.__colSpan-1:m-1,u=s.getFirstChild();x(ee(u),"Expected firstTable child to be a row");let p=null;function g(C=re.NO_STATUS){let N=Pe(C).append(I());return p===null&&(p=N),N}let h=u;e:for(let C=0;C<f;C++){if(C!==0){let k=h.getNextSibling();x(ee(k),"Expected row nextSibling to be a row"),h=k}let N=l[C],L=N[c<0?0:c].cell.__headerState,M=na(L,re.ROW);if(c<0){la(h,g(M));continue}let{cell:S,startColumn:R,startRow:O}=N[c];if(R+S.__colSpan-1<=c){let k=S,P=O,A=c;for(;P!==C&&k.__rowSpan>1;)if(A-=S.__colSpan,A>=0){let{cell:W,startRow:ie}=N[A];k=W,P=ie}else{h.append(g(M));continue e}k.insertAfter(g(M))}else S.setColSpan(S.__colSpan+1)}p!==null&&Hr(p)}function ia(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Me(e),[i]=Me(t),[s,l,a]=ot(r,n,i),{startRow:d}=l,{startRow:f}=a,m=f+i.__rowSpan-1;if(s.length===m-d+1){r.remove();return}let c=s[0].length,u=s[m+1],p=r.getChildAtIndex(m+1);for(let g=m;g>=d;g--){for(let C=c-1;C>=0;C--){let{cell:N,startRow:L,startColumn:M}=s[g][C];if(M===C&&(g===d&&L<d&&N.setRowSpan(N.__rowSpan-(L-d)),L>=d&&L+N.__rowSpan-1>m))if(N.setRowSpan(N.__rowSpan-(m-L+1)),x(p!==null,"Expected nextRowNode not to be null"),C===0)la(p,N);else{let{cell:S}=u[C-1];S.insertAfter(N)}}let h=r.getChildAtIndex(g);x(ee(h),"Expected GridNode childAtIndex(%s) to be RowNode",String(g)),h.remove()}if(u!==void 0){let{cell:g}=u[0];Hr(g)}else{let g=s[d-1],{cell:h}=g[0];Hr(h)}}function sa(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),t=o.focus.getNode(),[n,,r]=Me(e),[i]=Me(t),[s,l,a]=ot(r,n,i),{startColumn:d}=l,{startRow:f,startColumn:m}=a,c=Math.min(d,m),u=Math.max(d+n.__colSpan-1,m+i.__colSpan-1),p=u-c+1;if(s[0].length===u-c+1){r.selectPrevious(),r.remove();return}let h=s.length;for(let L=0;L<h;L++)for(let M=c;M<=u;M++){let{cell:S,startColumn:R}=s[L][M];if(R<c){if(M===c){let O=c-R;S.setColSpan(S.__colSpan-Math.min(p,S.__colSpan-O))}}else if(R+S.__colSpan-1>u){if(M===u){let O=u-R+1;S.setColSpan(S.__colSpan-O)}}else S.remove()}let C=s[f],N=d>m?C[d+n.__colSpan]:C[m+i.__colSpan];if(N!==void 0){let{cell:L}=N;Hr(L)}else{let L=m<d?C[m-1]:C[d-1],{cell:M}=L;Hr(M)}}function Hr(o){let e=o.getFirstDescendant();e==null?o.selectStart():e.getParentOrThrow().selectStart()}function la(o,e){let t=o.getFirstChild();t!==null?t.insertBefore(e):o.append(e)}function aa(){let o=T();x(_(o)||z(o),"Expected a RangeSelection or TableSelection");let e=o.anchor.getNode(),[t,n,r]=Me(e),i=t.__colSpan,s=t.__rowSpan;if(i>1){for(let l=1;l<i;l++)t.insertAfter(Pe(re.NO_STATUS).append(I()));t.setColSpan(1)}if(s>1){let[l,a]=ot(r,t,t),{startColumn:d,startRow:f}=a,m;for(let c=1;c<s;c++){let u=f+c,p=l[u];m=(m||n).getNextSibling(),x(ee(m),"Expected row next sibling to be a row");let g=null;for(let h=0;h<d;h++){let C=p[h],N=C.cell;C.startRow===u&&(g=N),N.__colSpan>1&&(h+=N.__colSpan-1)}if(g===null)for(let h=0;h<i;h++)la(m,Pe(re.NO_STATUS).append(I()));else for(let h=0;h<i;h++)g.insertAfter(Pe(re.NO_STATUS).append(I()))}t.setRowSpan(1)}}function ot(o,e,t){let[n,r,i]=uf(o,e,t);return x(r!==null,"Anchor not found in Grid"),x(i!==null,"Focus not found in Grid"),[n,r,i]}function uf(o,e,t){let n=[],r=null,i=null;function s(d,f,m){let c={cell:m,startColumn:f,startRow:d},u=m.__rowSpan,p=m.__colSpan;for(let g=0;g<u;g++){n[d+g]===void 0&&(n[d+g]=[]);for(let h=0;h<p;h++)n[d+g][f+h]=c}e!==null&&e.is(m)&&(r=c),t!==null&&t.is(m)&&(i=c)}function l(d,f){return n[d]===void 0||n[d][f]===void 0}let a=o.getChildren().filter(d=>!Br(d));for(let d=0;d<a.length;d++){let f=a[d];x(ee(f),"Expected GridNode children to be TableRowNode");let m=f.getChildren(),c=0;for(let u of m){for(x(w(u),"Expected TableRowNode children to be TableCellNode");!l(d,c);)c++;s(d,c,u),c+=u.__colSpan}}return[n,r,i]}function Me(o){let e;if(o instanceof Jt)e=o;else if("__type"in o){let r=F(o,w);x(w(r),"Expected to find a parent TableCellNode"),e=r}else{let r=F(o.getNode(),w);x(w(r),"Expected to find a parent TableCellNode"),e=r}let t=e.getParent();x(ee(t),"Expected TableCellNode to have a parent TableRowNode");let n=t.getParent();return x(K(n),"Expected TableRowNode to have a parent GridNode"),[e,t,n]}function qi(o){let[e,,t]=Me(o),n=t.getChildren(),r=n.length,i=n[0].getChildren().length,s=new Array(r);for(let l=0;l<r;l++)s[l]=new Array(i);for(let l=0;l<r;l++){let d=n[l].getChildren(),f=0;for(let m=0;m<d.length;m++){for(;s[l][f];)f++;let c=d[m],u=c.__rowSpan||1,p=c.__colSpan||1;for(let g=0;g<u;g++)for(let h=0;h<p;h++)s[l+g][f+h]=c;if(e===c)return{colSpan:p,columnIndex:f,rowIndex:l,rowSpan:u};f+=p}}return null}var Yi=class o{constructor(e,t,n){this.anchor=t,this.focus=n,t._selection=this,n._selection=this,this._cachedNodes=null,this.dirty=!1,this.tableKey=e}getStartEndPoints(){return[this.anchor,this.focus]}isBackward(){return this.focus.isBefore(this.anchor)}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return z(e)?this.tableKey===e.tableKey&&this.anchor.is(e.anchor)&&this.focus.is(e.focus):!1}set(e,t,n){this.dirty=!0,this.tableKey=e,this.anchor.key=t,this.focus.key=n,this._cachedNodes=null}clone(){return new o(this.tableKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){let t=this.focus.getNode();x(E(t),"Expected TableSelection focus to be an ElementNode"),Ro(t.select(0,t.getChildrenSize())).insertNodes(e)}getShape(){let e=J(this.anchor.key);x(w(e),"Expected TableSelection anchor to be (or a child of) TableCellNode");let t=qi(e);x(t!==null,"getCellRect: expected to find AnchorNode");let n=J(this.focus.key);x(w(n),"Expected TableSelection focus to be (or a child of) TableCellNode");let r=qi(n);x(r!==null,"getCellRect: expected to find focusCellNode");let i=Math.min(t.columnIndex,r.columnIndex),s=Math.max(t.columnIndex,r.columnIndex),l=Math.min(t.rowIndex,r.rowIndex),a=Math.max(t.rowIndex,r.rowIndex);return{fromX:Math.min(i,s),fromY:Math.min(l,a),toX:Math.max(i,s),toY:Math.max(l,a)}}getNodes(){let e=this._cachedNodes;if(e!==null)return e;let t=this.anchor.getNode(),n=this.focus.getNode(),r=F(t,w),i=F(n,w);x(w(r),"Expected TableSelection anchor to be (or a child of) TableCellNode"),x(w(i),"Expected TableSelection focus to be (or a child of) TableCellNode");let s=r.getParent();x(ee(s),"Expected anchorCell to have a parent TableRowNode");let l=s.getParent();x(K(l),"Expected tableNode to have a parent TableNode");let a=i.getParents()[1];if(a!==l){if(l.isParentOf(i)){let O=a.getParent();x(O!=null,"Expected focusCellParent to have a parent"),this.set(this.tableKey,i.getKey(),O.getKey())}else{let O=l.getParent();x(O!=null,"Expected gridParent to have a parent"),this.set(this.tableKey,O.getKey(),i.getKey())}return this.getNodes()}let[d,f,m]=ot(l,r,i),c=Math.min(f.startColumn,m.startColumn),u=Math.min(f.startRow,m.startRow),p=Math.max(f.startColumn+f.cell.__colSpan-1,m.startColumn+m.cell.__colSpan-1),g=Math.max(f.startRow+f.cell.__rowSpan-1,m.startRow+m.cell.__rowSpan-1),h=c,C=u,N=c,L=u;function M(O){let{cell:k,startColumn:P,startRow:A}=O;c=Math.min(c,P),u=Math.min(u,A),p=Math.max(p,P+k.__colSpan-1),g=Math.max(g,A+k.__rowSpan-1)}for(;c<h||u<C||p>N||g>L;){if(c<h){let O=L-C,k=h-1;for(let P=0;P<=O;P++)M(d[C+P][k]);h=k}if(u<C){let O=N-h,k=C-1;for(let P=0;P<=O;P++)M(d[k][h+P]);C=k}if(p>N){let O=L-C,k=N+1;for(let P=0;P<=O;P++)M(d[C+P][k]);N=k}if(g>L){let O=N-h,k=L+1;for(let P=0;P<=O;P++)M(d[k][h+P]);L=k}}let S=[l],R=null;for(let O=u;O<=g;O++)for(let k=c;k<=p;k++){let{cell:P}=d[O][k],A=P.getParent();x(ee(A),"Expected TableCellNode parent to be a TableRowNode"),A!==R&&S.push(A),S.push(P,...mx(P)),R=A}return st()||(this._cachedNodes=S),S}getTextContent(){let e=this.getNodes().filter(n=>w(n)),t="";for(let n=0;n<e.length;n++){let r=e[n],i=r.__parent,s=(e[n+1]||{}).__parent;t+=r.getTextContent()+(s!==i?`
`:" ")}return t}};function z(o){return o instanceof Yi}function Zi(){let o=Ae("root",0,"element"),e=Ae("root",0,"element");return new Yi("root",o,e)}function mx(o){let e=[],t=[o];for(;t.length>0;){let n=t.pop();x(n!==void 0,"Stack.length > 0; can't be undefined"),E(n)&&t.unshift(...n.getChildren()),n!==o&&e.push(n)}return e}var Ur=class{constructor(e,t){this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.listenersToRemove=new Set,this.tableNodeKey=t,this.editor=e,this.table={columns:0,domRows:[],rows:0},this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.trackTable(),this.isSelecting=!1}getTable(){return this.table}removeListeners(){Array.from(this.listenersToRemove).forEach(e=>e())}trackTable(){let e=new MutationObserver(t=>{this.editor.update(()=>{let n=!1;for(let i=0;i<t.length;i++){let a=t[i].target.nodeName;if(a==="TABLE"||a==="TBODY"||a==="THEAD"||a==="TR"){n=!0;break}}if(!n)return;let r=this.editor.getElementByKey(this.tableNodeKey);if(!r)throw new Error("Expected to find TableElement in DOM");this.table=Qo(r)})});this.editor.update(()=>{let t=this.editor.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");this.table=Qo(t),e.observe(t,{attributes:!0,childList:!0,subtree:!0})})}clearHighlight(){let e=this.editor;this.isHighlightingCells=!1,this.anchorX=-1,this.anchorY=-1,this.focusX=-1,this.focusY=-1,this.tableSelection=null,this.anchorCellNodeKey=null,this.focusCellNodeKey=null,this.anchorCell=null,this.focusCell=null,this.hasHijackedSelectionStyles=!1,this.enableHighlightStyle(),e.update(()=>{let t=J(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=e.getElementByKey(this.tableNodeKey);if(!n)throw new Error("Expected to find TableElement in DOM");let r=Qo(n);Kr(e,r,null),Y(null),e.dispatchCommand(we,void 0)})}enableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");wi(t,e._config.theme.tableSelection),t.classList.remove("disable-selection"),this.hasHijackedSelectionStyles=!1})}disableHighlightStyle(){let e=this.editor;e.update(()=>{let t=e.getElementByKey(this.tableNodeKey);if(!t)throw new Error("Expected to find TableElement in DOM");Te(t,e._config.theme.tableSelection),this.hasHijackedSelectionStyles=!0})}updateTableTableSelection(e){if(e!==null&&e.tableKey===this.tableNodeKey){let t=this.editor;this.tableSelection=e,this.isHighlightingCells=!0,this.disableHighlightStyle(),Kr(t,this.table,this.tableSelection)}else e==null?this.clearHighlight():(this.tableNodeKey=e.tableKey,this.updateTableTableSelection(e))}setFocusCellForSelection(e,t=!1){let n=this.editor;n.update(()=>{let r=J(this.tableNodeKey);if(!K(r))throw new Error("Expected TableNode.");if(!n.getElementByKey(this.tableNodeKey))throw new Error("Expected to find TableElement in DOM");let s=e.x,l=e.y;if(this.focusCell=e,this.anchorCell!==null){let a=da(n._window);a&&a.setBaseAndExtent(this.anchorCell.elem,0,this.focusCell.elem,0)}if(!this.isHighlightingCells&&(this.anchorX!==s||this.anchorY!==l||t))this.isHighlightingCells=!0,this.disableHighlightStyle();else if(s===this.focusX&&l===this.focusY)return;if(this.focusX=s,this.focusY=l,this.isHighlightingCells){let a=Q(e.elem);if(this.tableSelection!=null&&this.anchorCellNodeKey!=null&&w(a)&&r.is(yo(a))){let d=a.getKey();this.tableSelection=this.tableSelection.clone()||Zi(),this.focusCellNodeKey=d,this.tableSelection.set(this.tableNodeKey,this.anchorCellNodeKey,this.focusCellNodeKey),Y(this.tableSelection),n.dispatchCommand(we,void 0),Kr(n,this.table,this.tableSelection)}}})}setAnchorCellForSelection(e){this.isHighlightingCells=!1,this.anchorCell=e,this.anchorX=e.x,this.anchorY=e.y,this.editor.update(()=>{let t=Q(e.elem);if(w(t)){let n=t.getKey();this.tableSelection=this.tableSelection!=null?this.tableSelection.clone():Zi(),this.anchorCellNodeKey=n}})}formatCells(e){this.editor.update(()=>{let t=T();z(t)||x(!1,"Expected grid selection");let n=qo(),r=n.anchor,i=n.focus;t.getNodes().forEach(s=>{w(s)&&s.getTextContentSize()!==0&&(r.set(s.getKey(),0,"element"),i.set(s.getKey(),s.getChildrenSize(),"element"),n.formatText(e))}),Y(t),this.editor.dispatchCommand(we,void 0)})}clearText(){let e=this.editor;e.update(()=>{let t=J(this.tableNodeKey);if(!K(t))throw new Error("Expected TableNode.");let n=T();z(n)||x(!1,"Expected grid selection");let r=n.getNodes().filter(w);if(r.length===this.table.columns*this.table.rows){t.selectPrevious(),t.remove(),H().selectStart();return}r.forEach(i=>{if(E(i)){let s=I(),l=q();s.append(l),i.append(s),i.getChildren().forEach(a=>{a!==s&&a.remove()})}}),Kr(e,this.table,null),Y(null),e.dispatchCommand(we,void 0)})}};var px="__lexicalTableSelection",da=o=>fe?(o||window).getSelection():null,gx=o=>(o.buttons&1)===1;function fa(o,e,t,n){let r=t.getRootElement();if(r===null)throw new Error("No root element.");let i=new Ur(t,o.getKey()),s=t._window||window;hx(e,i);let l=()=>{let c=()=>{i.isSelecting=!1,s.removeEventListener("mouseup",c),s.removeEventListener("mousemove",u)},u=p=>{setTimeout(()=>{if(!gx(p)&&i.isSelecting){i.isSelecting=!1,s.removeEventListener("mouseup",c),s.removeEventListener("mousemove",u);return}let g=ua(p.target);g!==null&&(i.anchorX!==g.x||i.anchorY!==g.y)&&(p.preventDefault(),i.setFocusCellForSelection(g))},0)};return{onMouseMove:u,onMouseUp:c}};e.addEventListener("mousedown",c=>{setTimeout(()=>{if(c.button!==0||!s)return;let u=ua(c.target);u!==null&&(tn(c),i.setAnchorCellForSelection(u));let{onMouseUp:p,onMouseMove:g}=l();i.isSelecting=!0,s.addEventListener("mouseup",p),s.addEventListener("mousemove",g)},0)});let a=c=>{c.button===0&&t.update(()=>{let u=T(),p=c.target;z(u)&&u.tableKey===i.tableNodeKey&&r.contains(p)&&i.clearHighlight()})};s.addEventListener("mousedown",a),i.listenersToRemove.add(()=>s.removeEventListener("mousedown",a)),i.listenersToRemove.add(t.registerCommand(Bt,c=>zr(t,c,"down",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Pt,c=>zr(t,c,"up",o,i),qe)),i.listenersToRemove.add(t.registerCommand(wo,c=>zr(t,c,"backward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(vo,c=>zr(t,c,"forward",o,i),qe)),i.listenersToRemove.add(t.registerCommand(Do,c=>{let u=T();if(z(u)){let p=F(u.focus.getNode(),w);if(w(p))return tn(c),p.selectEnd(),!0}return!1},qe));let d=c=>()=>{let u=T();if(!en(u,o))return!1;if(z(u))return i.clearText(),!0;if(_(u)){let p=F(u.anchor.getNode(),R=>w(R));if(!w(p))return!1;let g=u.anchor.getNode(),h=u.focus.getNode(),C=o.isParentOf(g),N=o.isParentOf(h);if(C&&!N||N&&!C)return i.clearText(),!0;let M=F(u.anchor.getNode(),R=>E(R)),S=M&&F(M,R=>E(R)&&w(R.getParent()));if(!E(S)||!E(M))return!1;if(c===it&&S.getPreviousSibling()===null)return!0}return!1};[Ct,it,Ze].forEach(c=>{i.listenersToRemove.add(t.registerCommand(c,d(c),ke))});let f=c=>{let u=T();if(!en(u,o)){let p=u?u.getNodes():null;if(p){let g=p.find(h=>K(h)&&h.getKey()===i.tableNodeKey);if(K(g)){if(!g.getParent())return!1;g.remove()}}return!1}if(z(u))return c&&(c.preventDefault(),c.stopPropagation()),i.clearText(),!0;if(_(u)){let p=F(u.anchor.getNode(),g=>w(g));if(!w(p))return!1}return!1};i.listenersToRemove.add(t.registerCommand(Ht,f,ke)),i.listenersToRemove.add(t.registerCommand(Ft,f,ke)),i.listenersToRemove.add(t.registerCommand(lo,c=>{let u=T();if(u){if(!(z(u)||_(u)))return!1;Fn(t,ft(c,ClipboardEvent)?c:null,Bi(u));let p=f(c);return _(u)&&u.removeText(),p}return!1},ke)),i.listenersToRemove.add(t.registerCommand(Ne,c=>{let u=T();if(!en(u,o))return!1;if(z(u))return i.formatCells(c),!0;if(_(u)){let p=F(u.anchor.getNode(),g=>w(g));if(!w(p))return!1}return!1},ke)),i.listenersToRemove.add(t.registerCommand(rt,c=>{let u=T();if(!en(u,o))return!1;if(z(u))return i.clearHighlight(),!1;if(_(u)){let p=F(u.anchor.getNode(),g=>w(g));if(!w(p))return!1;if(typeof c=="string"){let g=pf(t,u,o);if(g)return mf(g,o,[q(c)]),!0}}return!1},ke)),n&&i.listenersToRemove.add(t.registerCommand(Oo,c=>{let u=T();if(!_(u)||!u.isCollapsed()||!en(u,o))return!1;let p=Xi(u.anchor.getNode());if(p===null)return!1;tn(c);let g=o.getCordsFromCellNode(p,i.table);return gf(i,o,g.x,g.y,c.shiftKey?"backward":"forward"),!0},ke)),i.listenersToRemove.add(t.registerCommand(lr,c=>o.isSelected(),qe));function m(c){let u=o.getCordsFromCellNode(c,i.table);return o.getDOMCellFromCordsOrThrow(u.x,u.y,i.table)}return i.listenersToRemove.add(t.registerCommand(nr,c=>{let{nodes:u,selection:p}=c,g=p.getStartEndPoints(),h=z(p),N=_(p)&&F(p.anchor.getNode(),Be=>w(Be))!==null&&F(p.focus.getNode(),Be=>w(Be))!==null||h;if(u.length!==1||!K(u[0])||!N||g===null)return!1;let[L]=g,M=u[0],S=M.getChildren(),R=M.getFirstChildOrThrow().getChildrenSize(),O=M.getChildrenSize(),k=F(L.getNode(),Be=>w(Be)),P=k&&F(k,Be=>ee(Be)),A=P&&F(P,Be=>K(Be));if(!w(k)||!ee(P)||!K(A))return!1;let W=P.getIndexWithinParent(),ie=Math.min(A.getChildrenSize()-1,W+O-1),un=k.getIndexWithinParent(),nd=Math.min(P.getChildrenSize()-1,un+R-1),fh=Math.min(un,nd),mh=Math.min(W,ie),ph=Math.max(un,nd),gh=Math.max(W,ie),hh=A.getChildren(),rd=0;for(let Be=mh;Be<=gh;Be++){let id=hh[Be];if(!ee(id))return!1;let sd=S[rd];if(!ee(sd))return!1;let Nh=id.getChildren(),xh=sd.getChildren(),ld=0;for(let Os=fh;Os<=ph;Os++){let ti=Nh[Os];if(!w(ti))return!1;let ad=xh[ld];if(!w(ad))return!1;let Eh=ti.getChildren();ad.getChildren().forEach(fn=>{y(fn)&&I().append(fn),ti.append(fn)}),Eh.forEach(fn=>fn.remove()),ld++}rd++}return!0},ke)),i.listenersToRemove.add(t.registerCommand(we,()=>{let c=T(),u=We();if(_(c)){let{anchor:p,focus:g}=c,h=p.getNode(),C=g.getNode(),N=Xi(h),L=Xi(C),M=!!(N&&o.is(yo(N))),S=!!(L&&o.is(yo(L))),R=M!==S,O=M&&S,k=c.isBackward();if(R){let P=c.clone();if(S){let[A]=ot(o,L,L),W=A[0][0].cell,ie=A[A.length-1].at(-1).cell;P.focus.set(k?W.getKey():ie.getKey(),k?W.getChildrenSize():ie.getChildrenSize(),"element")}Y(P),ff(t,i)}else O&&(N.is(L)||(i.setAnchorCellForSelection(m(N)),i.setFocusCellForSelection(m(L),!0),i.isSelecting||setTimeout(()=>{let{onMouseUp:P,onMouseMove:A}=l();i.isSelecting=!0,s.addEventListener("mouseup",P),s.addEventListener("mousemove",A)},0)))}else if(c&&z(c)&&c.is(u)&&c.tableKey===o.getKey()){let p=da(t._window);if(p&&p.anchorNode&&p.focusNode){let g=Q(p.focusNode),h=g&&!o.is(yo(g)),C=Q(p.anchorNode),N=C&&o.is(yo(C));if(h&&N&&p.rangeCount>0){let L=Pl(p,t);L&&(L.anchor.set(o.getKey(),c.isBackward()?o.getChildrenSize():0,"element"),p.removeAllRanges(),Y(L))}}}return c&&!c.is(u)&&(z(c)||z(u))&&i.tableSelection&&!i.tableSelection.is(u)?(z(c)&&c.tableKey===i.tableNodeKey?i.updateTableTableSelection(c):!z(c)&&z(u)&&u.tableKey===i.tableNodeKey&&i.updateTableTableSelection(null),!1):(i.hasHijackedSelectionStyles&&!o.isSelected()?Nx(t,i):!i.hasHijackedSelectionStyles&&o.isSelected()&&ff(t,i),!1)},ke)),i.listenersToRemove.add(t.registerCommand($t,()=>{let c=T();if(!_(c)||!c.isCollapsed()||!en(c,o))return!1;let u=pf(t,c,o);return u?(mf(u,o),!0):!1},ke)),i}function hx(o,e){o[px]=e}function ua(o){let e=o;for(;e!=null;){let t=e.nodeName;if(t==="TD"||t==="TH"){let n=e._cell;return n===void 0?null:n}e=e.parentNode}return null}function Qo(o){let e=[],t={columns:0,domRows:e,rows:0},n=o.firstChild,r=0,i=0;for(e.length=0;n!=null;){let s=n.nodeName;if(s==="COLGROUP"||s==="CAPTION"){n=n.nextSibling;continue}if(s==="TD"||s==="TH"){let d=n,f={elem:d,hasBackgroundColor:d.style.backgroundColor!=="",highlighted:!1,x:r,y:i};n._cell=f;let m=e[i];m===void 0&&(m=e[i]=[]),m[r]=f}else{let d=n.firstChild;if(d!=null){n=d;continue}}let l=n.nextSibling;if(l!=null){r++,n=l;continue}let a=n.parentNode;if(a!=null){let d=a.nextSibling;if(d==null)break;i++,r=0,n=d}}return t.columns=r+1,t.rows=i+1,t}function Kr(o,e,t){let n=new Set(t?t.getNodes():[]);ma(e,(r,i)=>{let s=r.elem;n.has(i)?(r.highlighted=!0,hf(o,r)):(r.highlighted=!1,Nf(o,r),s.getAttribute("style")||s.removeAttribute("style"))})}function ma(o,e){let{domRows:t}=o;for(let n=0;n<t.length;n++){let r=t[n];if(r)for(let i=0;i<r.length;i++){let s=r[i];if(!s)continue;let l=Q(s.elem);l!==null&&e(s,l,{x:i,y:n})}}}function ff(o,e){e.disableHighlightStyle(),ma(e.table,t=>{t.highlighted=!0,hf(o,t)})}function Nx(o,e){e.enableHighlightStyle(),ma(e.table,t=>{let n=t.elem;t.highlighted=!1,Nf(o,t),n.getAttribute("style")||n.removeAttribute("style")})}var gf=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)?Vi(e.getCellNodeFromCordsOrThrow(t+(i?1:-1),n,o.table),i):n!==(i?o.table.rows-1:0)?Vi(e.getCellNodeFromCordsOrThrow(i?0:o.table.columns-1,n+(i?1:-1),o.table),i):i?e.selectNext():e.selectPrevious(),!0;case"up":return n!==0?Vi(e.getCellNodeFromCordsOrThrow(t,n-1,o.table),!1):Or(e,!1),!0;case"down":return n!==o.table.rows-1?Vi(e.getCellNodeFromCordsOrThrow(t,n+1,o.table),!0):Or(e,!0),!0;default:return!1}},xx=(o,e,t,n,r)=>{let i=r==="forward";switch(r){case"backward":case"forward":return t!==(i?o.table.columns-1:0)&&o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t+(i?1:-1),n,o.table)),!0;case"up":return n!==0?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n-1,o.table)),!0):!1;case"down":return n!==o.table.rows-1?(o.setFocusCellForSelection(e.getDOMCellFromCordsOrThrow(t,n+1,o.table)),!0):!1;default:return!1}};function en(o,e){if(_(o)||z(o)){let t=e.isParentOf(o.anchor.getNode()),n=e.isParentOf(o.focus.getNode());return t&&n}return!1}function Vi(o,e){e?o.selectStart():o.selectEnd()}var ca="172,206,247";function hf(o,e){let t=e.elem,n=Q(t);x(w(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null?t.style.setProperty("background-color",`rgb(${ca})`):t.style.setProperty("background-image",`linear-gradient(to right, rgba(${ca},0.85), rgba(${ca},0.85))`),t.style.setProperty("caret-color","transparent")}function Nf(o,e){let t=e.elem,n=Q(t);x(w(n),"Expected to find LexicalNode from Table Cell DOMNode"),n.getBackgroundColor()===null&&t.style.removeProperty("background-color"),t.style.removeProperty("background-image"),t.style.removeProperty("caret-color")}function Xi(o){let e=F(o,w);return w(e)?e:null}function yo(o){let e=F(o,K);return K(e)?e:null}function zr(o,e,t,n,r){if((t==="up"||t==="down")&&Ex(o))return!1;let i=T();if(!en(i,n)){if(_(i)){if(i.isCollapsed()&&t==="backward"){let s=i.anchor.type,l=i.anchor.offset;if(s!=="element"&&!(s==="text"&&l===0))return!1;let a=i.anchor.getNode();if(!a)return!1;let d=F(a,m=>E(m)&&!m.isInline());if(!d)return!1;let f=d.getPreviousSibling();return!f||!K(f)?!1:(tn(e),f.selectEnd(),!0)}else if(e.shiftKey&&(t==="up"||t==="down")){let s=i.focus.getNode();if(me(s)){let l=i.getNodes()[0];if(l){let a=F(l,w);if(a&&n.isParentOf(a)){let d=n.getFirstDescendant(),f=n.getLastDescendant();if(!d||!f)return!1;let[m]=Me(d),[c]=Me(f),u=n.getCordsFromCellNode(m,r.table),p=n.getCordsFromCellNode(c,r.table),g=n.getDOMCellFromCordsOrThrow(u.x,u.y,r.table),h=n.getDOMCellFromCordsOrThrow(p.x,p.y,r.table);return r.setAnchorCellForSelection(g),r.setFocusCellForSelection(h,!0),!0}}return!1}else{let l=F(s,d=>E(d)&&!d.isInline());if(!l)return!1;let a=t==="down"?l.getNextSibling():l.getPreviousSibling();if(K(a)&&r.tableNodeKey===a.getKey()){let d=a.getFirstDescendant(),f=a.getLastDescendant();if(!d||!f)return!1;let[m]=Me(d),[c]=Me(f),u=i.clone();return u.focus.set((t==="up"?m:c).getKey(),t==="up"?0:c.getChildrenSize(),"element"),Y(u),!0}}}}return!1}if(_(i)&&i.isCollapsed()){let{anchor:s,focus:l}=i,a=F(s.getNode(),w),d=F(l.getNode(),w);if(!w(a)||!a.is(d))return!1;let f=yo(a);if(f!==n&&f!=null){let N=o.getElementByKey(f.getKey());if(N!=null)return r.table=Qo(N),zr(o,e,t,f,r)}if(t==="backward"||t==="forward"){let N=s.type,L=s.offset,M=s.getNode();if(!M)return!1;let S=i.getNodes();return S.length===1&&B(S[0])?!1:Tx(N,L,M,t)?bx(e,M,n,t):!1}let m=o.getElementByKey(a.__key),c=o.getElementByKey(s.key);if(c==null||m==null)return!1;let u;if(s.type==="element")u=c.getBoundingClientRect();else{let N=window.getSelection();if(N===null||N.rangeCount===0)return!1;u=N.getRangeAt(0).getBoundingClientRect()}let p=t==="up"?a.getFirstChild():a.getLastChild();if(p==null)return!1;let g=o.getElementByKey(p.__key);if(g==null)return!1;let h=g.getBoundingClientRect();if(t==="up"?h.top>u.top-u.height:u.bottom+u.height>h.bottom){tn(e);let N=n.getCordsFromCellNode(a,r.table);if(e.shiftKey){let L=n.getDOMCellFromCordsOrThrow(N.x,N.y,r.table);r.setAnchorCellForSelection(L),r.setFocusCellForSelection(L,!0)}else return gf(r,n,N.x,N.y,t);return!0}}else if(z(i)){let{anchor:s,focus:l}=i,a=F(s.getNode(),w),d=F(l.getNode(),w),[f]=i.getNodes(),m=o.getElementByKey(f.getKey());if(!w(a)||!w(d)||!K(f)||m==null)return!1;r.updateTableTableSelection(i);let c=Qo(m),u=n.getCordsFromCellNode(a,c),p=n.getDOMCellFromCordsOrThrow(u.x,u.y,c);if(r.setAnchorCellForSelection(p),tn(e),e.shiftKey){let g=n.getCordsFromCellNode(d,c);return xx(r,f,g.x,g.y,t)}else d.selectEnd();return!0}return!1}function tn(o){o.preventDefault(),o.stopImmediatePropagation(),o.stopPropagation()}function Ex(o){let e=o.getRootElement();return e?e.hasAttribute("aria-controls")&&e.getAttribute("aria-controls")==="typeahead-menu":!1}function Tx(o,e,t,n){return Cx(o,t,n)||_x(o,e,t,n)}function Cx(o,e,t){return o==="element"&&(t==="backward"?e.getPreviousSibling()===null:e.getNextSibling()===null)}function _x(o,e,t,n){let r=F(t,s=>E(s)&&!s.isInline());if(!r)return!1;let i=n==="backward"?e===0:e===t.getTextContentSize();return o==="text"&&i&&(n==="backward"?r.getPreviousSibling()===null:r.getNextSibling()===null)}function bx(o,e,t,n){let r=F(e,w);if(!w(r))return!1;let[i,s]=ot(t,r,r);if(!yx(i,s,n))return!1;let l=Sx(e,n,t);return!l||K(l)?!1:(tn(o),n==="backward"?l.selectEnd():l.selectStart(),!0)}function yx(o,e,t){let n=o[0][0],r=o[o.length-1][o[0].length-1],{startColumn:i,startRow:s}=e;return t==="backward"?i===n.startColumn&&s===n.startRow:i===r.startColumn&&s===r.startRow}function Sx(o,e,t){let n=F(o,i=>E(i)&&!i.isInline());if(!n)return;let r=e==="backward"?n.getPreviousSibling():n.getNextSibling();return r&&K(r)?r:e==="backward"?t.getPreviousSibling():t.getNextSibling()}function mf(o,e,t){let n=I();o==="first"?e.insertBefore(n):e.insertAfter(n),n.append(...t||[]),n.selectEnd()}function pf(o,e,t){let n=t.getParent();if(!n)return;let r=o.getElementByKey(n.getKey());if(!r)return;let i=window.getSelection();if(!i||i.anchorNode!==r)return;let s=F(e.anchor.getNode(),h=>w(h));if(!s)return;let l=F(s,h=>K(h));if(!K(l)||!l.is(t))return;let[a,d]=ot(t,s,s),f=a[0][0],m=a[a.length-1][a[0].length-1],{startRow:c,startColumn:u}=d,p=c===f.startRow&&u===f.startColumn,g=c===m.startRow&&u===m.startColumn;return p?"first":g?"last":void 0}var Rt=class{constructor(e){this.rowCount=0;this.columnCount=0;this.cells=[];this.buildCellMap(e)}buildCellMap(e){let t=[],n=(a,d,f)=>{typeof t[d]>"u"&&(t[d]=[]),t[d][a]=f},r=(a,d)=>!!(t[d]&&t[d][a]),i=e.getChildren().filter(a=>ee(a));for(let a=0;a<i.length;a++){let f=i[a].getChildren().filter(c=>w(c)),m=0;for(let c=0;c<f.length;c++){let u=f[c],p=u.getColSpan()||1,g=u.getRowSpan()||1;for(let h=m;h<m+p;h++)for(let C=a;C<a+g;C++){for(;r(h,C);)m+=1,h+=1;n(h,C,u)}m+=p}}this.rowCount=t.length,this.columnCount=Math.max(...t.map(a=>a.length));let s=[],l=t[0][0];for(let a=0;a<this.rowCount;a++)for(let d=0;d<this.columnCount;d++)!t[a]||!t[a][d]?s.push(l):(s.push(t[a][d]),l=t[a][d]);this.cells=s}getCellAtPosition(e,t){let n=t*this.columnCount+e;if(n>=this.cells.length)throw new Error(`TableMap Error: Attempted to get cell ${n+1} of ${this.cells.length}`);return this.cells[n]}getCellsInRange(e){let t=Math.max(Math.min(e.fromX,e.toX),0),n=Math.min(Math.max(e.fromX,e.toX),this.columnCount-1),r=Math.max(Math.min(e.fromY,e.toY),0),i=Math.min(Math.max(e.fromY,e.toY),this.rowCount-1),s=new Set;for(let l=r;l<=i;l++)for(let a=t;a<=n;a++)s.add(this.getCellAtPosition(a,l));return[...s.values()]}getCellsInColumn(e){return this.getCellsInRange({fromX:e,toX:e,fromY:0,toY:this.rowCount-1})}getRangeForCell(e){let t=null,n=e.getKey();for(let r=0;r<this.rowCount;r++)for(let i=0;i<this.columnCount;i++){let s=r*this.columnCount+i;this.cells[s].getKey()===n&&(t===null?t={fromX:i,toX:i,fromY:r,toY:r}:(t.fromX=Math.min(t.fromX,i),t.toX=Math.max(t.toX,i),t.fromY=Math.min(t.fromY,r),t.toY=Math.max(t.toY,r)))}return t}};function pa(o){return Mt(o,K)}function Ef(o){let e=Tf(o),t=o.querySelector("colgroup"),n=[];return t&&(t.childElementCount===e?.childElementCount||!e)&&(n=xf(t)),n.filter(Boolean).length===0&&e&&(n=xf(e)),n}function Tf(o){let e=o.querySelectorAll("tr"),t=0,n=null;for(let r of e)r.childElementCount>t&&(n=r,t=r.childElementCount);return n}function xf(o){return[...o.children].map(e=>Lx(e))}function Lx(o){let e=o.style.width||o.getAttribute("width");return e&&!Number.isNaN(Number(e))&&(e=e+"px"),e||""}function ga(o,e,t){let n=o.getChildren(),r=0;for(let s of n){let l=s.getChildren().length;l>r&&(r=l)}let i=o.getColWidths();(i.length===0||i.length<r)&&(i=Array(r).fill("")),e+1>i.length&&console.error(`Attempted to set table column width for column [${e}] but only ${i.length} columns found`),i[e]=mt(t),o.setColWidths(i)}function Cf(o,e,t){let n=e.getColWidths();if(n.length>t&&n[t].endsWith("px"))return Number(n[t].replace("px",""));let r=o.getElementByKey(e.__key);if(r){let i=Tf(r);if(i&&i.children.length>t)return i.children[t].clientWidth}return 0}function _f(o){let e=o.getParent();if(!ee(e))return-1;let t=0,n=e.getChildren();for(let r of n){let i=r.getColSpan()||1;if(t+=i,r.getKey()===o.getKey())break}return t-1}function bf(o,e){let t=pa(o),n=_f(o);t&&n>=0&&ga(t,n,e)}function yf(o,e){let t=pa(e),n=_f(e);if(!t)return"";let r=t.getColWidths();return r.length>n?r[n]:""}function ha(o){if(o.length===0)return null;let e=b("colgroup");for(let t of o){let n=b("col");t&&(n.style.width=t),e.append(n)}return e}function on(o){if(z(o))return o.getNodes().filter(n=>w(n));let e=Z(o,w);return e?[e]:[]}function Sf(o){let e=o.getShape(),t=on(o);if(t.length===0)return;let n=pa(t[0]);if(!n)return;let r=new Rt(n),i=r.getCellAtPosition(e.toX,e.toY);if(!i)return;let s=e.toX+((i.getColSpan()||1)-1),l=e.toY+((i.getRowSpan()||1)-1),a=r.getCellsInRange({fromX:e.fromX,fromY:e.fromY,toX:s,toY:l});if(a.length===0)return;let d=a[0],f=Math.abs(e.fromX-s)+1,m=Math.abs(e.fromY-l)+1;for(let c=1;c<a.length;c++){let u=a[c];d.append(...u.getChildren()),u.remove()}d.setColSpan(f),d.setRowSpan(m)}function eo(o){let e=on(o),t={};for(let n of e){let r=n.getParent();ee(r)&&(t[r.getKey()]=r)}return Object.values(t)}function xt(o){let e=on(o);if(e.length===0)return null;let t=Mt(e[0],K);return K(t)?t:null}function Lf(o){o.setColWidths([]);for(let e of o.getChildren()){if(!ee(e))continue;let t=e.getStyles();t.delete("height"),t.delete("width"),e.setStyles(t);let n=e.getChildren().filter(r=>w(r));for(let r of n){let i=r.getStyles();i.delete("height"),i.delete("width"),r.setStyles(i),r.clearWidth()}}}function Mf(o){o.setColWidths([]),o.setStyles(new Map);for(let e of o.getChildren()){if(!ee(e))continue;e.setStyles(new Map);let t=e.getChildren().filter(n=>w(n));for(let n of t)n.setStyles(new Map),n.clearWidth()}}function Na(o,e){e:for(let t of o.getChildren()){if(!ee(t))continue;let n=t.getChildren();for(let r of n){if(!w(r))return;if(e(r)===!1)break e}}}function vf(o){let e=null;return Na(o,t=>{let n=t.getStyles().get("padding")||"";if(e===null&&(e=n),n!==e)return e=null,!1}),e||""}var Et=class o extends Ot{constructor(t){super(t);this.__colWidths=[];this.__styles=new Map}static getType(){return"table"}static clone(t){let n=new o(t.__key);return bo(t,n),n.__colWidths=[...t.__colWidths],n.__styles=new Map(t.__styles),n}static importDOM(){return{table:t=>({conversion:Mx,priority:1})}}static importJSON(t){let n=Fr();return tt(t,n),n.setColWidths(t.colWidths),n.setStyles(new Map(Object.entries(t.styles))),n}exportJSON(){return{...super.exportJSON(),type:"table",version:1,colWidths:this.__colWidths,styles:Object.fromEntries(this.__styles)}}createDOM(t,n){let r=document.createElement("table");Te(r,t.theme.table),et(r,this);let i=this.getColWidths(),s=ha(i);s&&r.append(s);for(let[l,a]of this.__styles.entries())r.style.setProperty(l,a);return r}updateDOM(t,n){if(Bu(t,this,n),this.__colWidths.join(":")!==t.__colWidths.join(":")){let r=Array.from(n.children).find(s=>s.nodeName==="COLGROUP"),i=ha(this.__colWidths);r&&r.remove(),i&&n.prepend(i)}if(Array.from(this.__styles.values()).join(":")!==Array.from(t.__styles.values()).join(":")){n.style.cssText="";for(let[r,i]of this.__styles.entries())n.style.setProperty(r,i)}return!1}exportDOM(t){return{...super.exportDOM(t),after:n=>{if(!n)return;let r=n.cloneNode(),i=document.createElement("tbody");if(pe(n))for(let s of Array.from(n.children))s.nodeName==="TR"?i.append(s):s.nodeName==="CAPTION"?r.insertBefore(s,r.firstChild):r.append(s);return r.append(i),r}}}canBeEmpty(){return!1}isShadowRoot(){return!0}setColWidths(t){let n=this.getWritable();n.__colWidths=t}getColWidths(){return[...this.getLatest().__colWidths]}getStyles(){let t=this.getLatest();return new Map(t.__styles)}setStyles(t){let n=this.getWritable();n.__styles=new Map(t)}getCordsFromCellNode(t,n){let{rows:r,domRows:i}=n;for(let s=0;s<r;s++){let l=i[s];if(l==null)continue;let a=l.findIndex(d=>{if(!d)return;let{elem:f}=d;return Q(f)===t});if(a!==-1)return{x:a,y:s}}throw new Error("Cell not found in table.")}getDOMCellFromCords(t,n,r){let{domRows:i}=r,s=i[n];if(s==null)return null;let l=t<s.length?t:s.length-1,a=s[l];return a??null}getDOMCellFromCordsOrThrow(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(!i)throw new Error("Cell not found at cords.");return i}getCellNodeFromCords(t,n,r){let i=this.getDOMCellFromCords(t,n,r);if(i==null)return null;let s=Q(i.elem);return w(s)?s:null}getCellNodeFromCordsOrThrow(t,n,r){let i=this.getCellNodeFromCords(t,n,r);if(!i)throw new Error("Node at cords not TableCellNode.");return i}canSelectBefore(){return!0}canIndent(){return!1}};function Mx(o){let e=Fr();Qe(o,e);let t=Ef(o);return e.setColWidths(t),e.setStyles(In(o)),{node:e}}function Fr(){return ne(new Et)}function K(o){return o instanceof Et}var Yn=class o extends V{constructor(){super(...arguments);this.__id=""}static getType(){return"horizontal-rule"}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}static clone(t){let n=new o(t.__key);return n.__id=t.__id,n}createDOM(t,n){let r=document.createElement("hr");return this.__id&&r.setAttribute("id",this.__id),r}updateDOM(t,n){return t.__id!==this.__id}static importDOM(){return{hr(t){return{conversion:n=>{let r=new o;return n.id&&r.setId(n.id),{node:r}},priority:3}}}}exportJSON(){return{...super.exportJSON(),type:"horizontal-rule",version:1,id:this.__id}}static importJSON(t){let n=xa();return n.setId(t.id),n}};function xa(){return new Yn}function wf(o){return o instanceof Yn}var Df=o=>(o.split(" ").filter(t=>t.startsWith("language-"))[0]||"").replace("language-",""),nn=class o extends Dt{constructor(t="",n="",r){super(r);this.__id="";this.__language="";this.__code="";this.__language=t,this.__code=n}static getType(){return"code-block"}static clone(t){let n=new o(t.__language,t.__code,t.__key);return n.__id=t.__id,n}setLanguage(t){let n=this.getWritable();n.__language=t}getLanguage(){return this.getLatest().__language}setCode(t){let n=this.getWritable();n.__code=t}getCode(){return this.getLatest().__code}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"code",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){let r=b("pre",{id:this.__id||null},[b("code",{class:this.__language?`language-${this.__language}`:null},[this.__code])]);return b("div",{class:"editor-code-block-wrap"},[r])}updateDOM(t,n){let r=n.querySelector("code");return r&&(t.__language!==this.__language&&(r.className=this.__language?`language-${this.__language}`:""),t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__code!==this.__code&&(r.textContent=this.__code)),!1}exportDOM(t){return{element:this.createDOM(t._config,t).querySelector("pre")}}static importDOM(){return{pre(t){return{conversion:n=>{let r=n.querySelector("code"),i=Df(n.className)||r&&Df(r.className)||"",s=r?(r.textContent||"").trim():(n.textContent||"").trim(),l=ji(i,s);return n.id&&l.setId(n.id),{node:l,after(a){return[]}}},priority:3}}}}exportJSON(){return{type:"code-block",version:1,id:this.__id,language:this.__language,code:this.__code}}static importJSON(t){let n=ji(t.language,t.code);return n.setId(t.id||""),n}};function ji(o="",e=""){return new nn(o,e)}function Gi(o){return o instanceof nn}function Wr(o,e){let t=e.getCode(),n=e.getLanguage();window.$components.first("code-editor").open(t,n,"ltr",(i,s)=>{o.update(()=>{e.setCode(i),e.setLanguage(s)})},()=>{})}var So=class o extends Dt{constructor(t,n,r){super(r);this.__id="";this.__drawingId="";this.__drawingUrl="";this.__drawingId=t,this.__drawingUrl=n}static getType(){return"diagram"}static clone(t){let n=new o(t.__drawingId,t.__drawingUrl);return n.__id=t.__id,n}setDrawingIdAndUrl(t,n){let r=this.getWritable();r.__drawingUrl=n,r.__drawingId=t}getDrawingIdAndUrl(){let t=this.getLatest();return{id:t.__drawingId,url:t.__drawingUrl}}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}decorate(t,n){return{type:"diagram",getNode:()=>this}}isInline(){return!1}isIsolated(){return!0}createDOM(t,n){return b("div",{id:this.__id||null,"drawio-diagram":this.__drawingId},[b("img",{src:this.__drawingUrl})])}updateDOM(t,n){let r=n.querySelector("img");return r&&(t.__id!==this.__id&&n.setAttribute("id",this.__id),t.__drawingUrl!==this.__drawingUrl&&r.setAttribute("src",this.__drawingUrl),t.__drawingId!==this.__drawingId&&n.setAttribute("drawio-diagram",this.__drawingId)),!1}static importDOM(){return{div(t){return t.hasAttribute("drawio-diagram")?{conversion:n=>{let i=n.querySelector("img")?.getAttribute("src")||"",s=n.getAttribute("drawio-diagram")||"",l=Zn(s,i);return n.id&&l.setId(n.id),{node:l}},priority:3}:null}}}exportJSON(){return{type:"diagram",version:1,id:this.__id,drawingId:this.__drawingId,drawingUrl:this.__drawingUrl}}static importJSON(t){let n=Zn(t.drawingId,t.drawingUrl);return n.setId(t.id||""),n}};function Zn(o="",e=""){return new So(o,e)}var vx=["width","height","style","title","name","src","allow","allowfullscreen","loading","sandbox","type","data","controls","autoplay","controlslist","loop","muted","playsinline","poster","preload"];function wx(o){let e={};for(let t of Object.keys(o))vx.includes(t)&&(e[t]=o[t]);return e}function Of(o,e){let t=Af(o),n={};for(let i of e.attributes)n[i.name]=i.value;t.setAttributes(n);let r=[];if(o==="video"||o==="audio"){for(let i of e.children)if(i.tagName==="SOURCE"){let s=i.getAttribute("src"),l=i.getAttribute("type");s&&l&&r.push({src:s,type:l})}t.setSources(r)}return Qe(e,t),t}var Lo=class o extends V{constructor(t,n){super(n);this.__id="";this.__alignment="";this.__attributes={};this.__sources=[];this.__inset=0;this.__tag=t}static getType(){return"media"}static clone(t){let n=new o(t.__tag,t.__key);return n.__attributes=Object.assign({},t.__attributes),n.__sources=t.__sources.map(r=>Object.assign({},r)),n.__id=t.__id,n.__alignment=t.__alignment,n.__inset=t.__inset,n}setTag(t){let n=this.getWritable();n.__tag=t}getTag(){return this.getLatest().__tag}setAttributes(t){let n=this.getWritable();n.__attributes=wx(t)}getAttributes(){return this.getLatest().__attributes}setSources(t){let n=this.getWritable();n.__sources=t}getSources(){return this.getLatest().__sources}setSrc(t){let n=Object.assign({},this.getAttributes());this.__tag==="object"?n.data=t:n.src=t,this.setAttributes(n)}setWidthAndHeight(t,n){let r=Object.assign({},this.getAttributes(),{width:t,height:n});this.setAttributes(r)}setId(t){let n=this.getWritable();n.__id=t}getId(){return this.getLatest().__id}setAlignment(t){let n=this.getWritable();n.__alignment=t}getAlignment(){return this.getLatest().__alignment}setInset(t){let n=this.getWritable();n.__inset=t}getInset(){return this.getLatest().__inset}setHeight(t){if(!t)return;let n=Object.assign({},this.getAttributes(),{height:t});this.setAttributes(n)}getHeight(){let t=this.getLatest();return Uo(t.__attributes.height||"0")}setWidth(t){let n=Object.assign({},this.getAttributes(),{width:t});this.setAttributes(n)}getWidth(){let t=this.getLatest();return Uo(t.__attributes.width||"0")}isInline(){return!0}isParentRequired(){return!0}createInnerDOM(){let n=(this.__tag==="video"||this.__tag==="audio"?this.__sources:[]).map(i=>b("source",i)),r=b(this.__tag,this.__attributes,n);return et(r,this),r}createDOM(t,n){let r=this.createInnerDOM(),i=b("span",{class:r.className+" editor-media-wrap"},[r]);return i.addEventListener("click",s=>{n.update(()=>Oe(this))}),i}updateDOM(t,n){if(t.__tag!==this.__tag||JSON.stringify(t.__sources)!==JSON.stringify(this.__sources)||JSON.stringify(t.__attributes)!==JSON.stringify(this.__attributes))return!0;let r=n.firstElementChild;return t.__id!==this.__id&&tu(r,"id",this.__id),t.__alignment!==this.__alignment&&(t.__alignment&&(n.classList.remove(`align-${t.__alignment}`),r.classList.remove(`align-${t.__alignment}`)),this.__alignment&&(n.classList.add(`align-${this.__alignment}`),r.classList.add(`align-${this.__alignment}`))),t.__inset!==this.__inset&&(n.style.paddingLeft=`${this.__inset}px`),!1}static importDOM(){let t=n=>r=>({conversion:i=>({node:Of(n,i)}),priority:3});return{iframe:t("iframe"),embed:t("embed"),object:t("object"),video:t("video"),audio:t("audio")}}exportDOM(t){return{element:this.createInnerDOM()}}exportJSON(){return{...super.exportJSON(),type:"media",version:1,id:this.__id,alignment:this.__alignment,inset:this.__inset,tag:this.__tag,attributes:this.__attributes,sources:this.__sources}}static importJSON(t){let n=Af(t.tag);return tt(t,n),n}};function Af(o){return new Lo(o)}function Rf(o){let n=new DOMParser().parseFromString(`<body>${o}</body>`,"text/html").body.children[0];if(!(n instanceof HTMLElement))return null;let r=n.tagName.toLowerCase();return["embed","iframe","video","audio","object"].includes(r)?Of(r,n):null}var Dx=[{regex:/.*?youtu\.be\/([\w\-_\?&=.]+)/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"},{regex:/.*youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?.*/i,w:560,h:314,url:"https://www.youtube.com/embed/$2?$4"},{regex:/.*youtube.com\/embed\/([a-z0-9\?&=\-_]+).*/i,w:560,h:314,url:"https://www.youtube.com/embed/$1"}],Ox=["mp4","mpeg","m4v","m4p","mov"],Ax=["3gp","aac","flac","mp3","m4a","ogg","wav","webm"],Rx=["html","htm","php","asp","aspx",""];function kf(o){for(let s of Dx)if(o.match(s.regex)){let a=o.replace(s.regex,s.url),d=new Lo("iframe");return d.setSrc(a),d.setHeight(s.h),d.setWidth(s.w),d}let e="iframe",n=(o.split("?")[0].split("/").pop()||"").split("."),r=(n.length>1?n[n.length-1]:"").toLowerCase();Ox.includes(r)?e="video":Ax.includes(r)?e="audio":r&&!Rx.includes(r)&&(e="embed");let i=new Lo(e);return i.setSrc(o),i}function to(o){return o instanceof Lo}var jn=class o extends Ot{static getType(){return"heading"}static clone(e){let t=new o(e.__tag,e.__key);return bo(e,t),t}constructor(e,t){super(t),this.__tag=e}getTag(){return this.__tag}createDOM(e){let t=this.__tag,n=document.createElement(t),i=e.theme.heading;if(i!==void 0){let s=i[t];Te(n,s)}return et(n,this),n}updateDOM(e,t){return _o(e,this)}static importDOM(){return{h1:e=>({conversion:Vn,priority:0}),h2:e=>({conversion:Vn,priority:0}),h3:e=>({conversion:Vn,priority:0}),h4:e=>({conversion:Vn,priority:0}),h5:e=>({conversion:Vn,priority:0}),h6:e=>({conversion:Vn,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=Xn(e.tag);return tt(e,t),t}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(e,t=!0){let n=e?e.anchor.offset:0,r=this.getLastDescendant(),s=!r||e&&e.anchor.key===r.getKey()&&n===r.getTextContentSize()||!e?I():Xn(this.getTag()),l=this.getDirection();if(s.setDirection(l),this.insertAfter(s,t),n===0&&!this.isEmpty()&&e){let a=I();a.select(),this.replace(a,!0)}return s}collapseAtStart(){let e=this.isEmpty()?I():Xn(this.getTag());return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}extractWithChild(){return!0}};function Vn(o){let e=o.nodeName.toLowerCase(),t=null;return(e==="h1"||e==="h2"||e==="h3"||e==="h4"||e==="h5"||e==="h6")&&(t=Xn(e),Qe(o,t)),{node:t}}function Xn(o){return ne(new jn(o))}function Gn(o){return o instanceof jn}var Jn=class o extends Ot{static getType(){return"quote"}static clone(e){let t=new o(e.__key);return bo(e,t),t}constructor(e){super(e)}createDOM(e){let t=document.createElement("blockquote");return Te(t,e.theme.quote),et(t,this),t}updateDOM(e,t){return _o(e,this)}static importDOM(){return{blockquote:e=>({conversion:kx,priority:0})}}exportDOM(e){let{element:t}=super.exportDOM(e);return t&&pe(t)&&this.isEmpty()&&t.append(document.createElement("br")),{element:t}}static importJSON(e){let t=Ji();return tt(e,t),t}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(e,t){let n=I(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,t),n}collapseAtStart(){let e=I();return this.getChildren().forEach(n=>e.append(n)),this.replace(e),!0}canMergeWhenEmpty(){return!0}};function Ji(){return ne(new Jn)}function Qi(o){return o instanceof Jn}function kx(o){let e=Ji();return Qe(o,e),{node:e}}function If(){return[Vo,jn,Jn,Go,Gt,Et,Qt,Jt,qn,Xo,Yn,zn,nn,So,Lo,ct,Un]}function $f(o){let e=[Xo,nn,So],t=n=>{for(let[r,i]of n)if(i==="destroyed"){let s=o.manager.getDecoratorByNodeKey(r);s&&s.destroy(o)}};for(let n of e)o.editor.registerMutationListener(n,r=>t(r))}function Ea(o){return"build"in o}var ve=class{constructor(){this.dom=null;this.context=null}setContext(e){this.context=e}getContext(){if(this.context===null)throw new Error("Attempted to use EditorUIContext before it has been set");return this.context}getDOMElement(){return this.dom||(this.dom=this.buildDOM()),this.dom}rebuildDOM(){let e=this.buildDOM();return this.dom?.replaceWith(e),this.dom=e,this.dom}trans(e){return this.getContext().translate(e)}updateState(e){}emitEvent(e,t={}){this.dom&&this.dom.dispatchEvent(new CustomEvent("editor::"+e,{detail:t,bubbles:!0}))}onEvent(e,t,n=null){let r=n||this.dom;r&&r.addEventListener("editor::"+e,i=>{t(i.detail)})}},te=class extends ve{constructor(t){super();this.children=[];this.children.push(...t)}buildDOM(){return b("div",{},this.getChildren().map(t=>t.getDOMElement()))}getChildren(){return this.children}addChildren(...t){this.children.push(...t)}removeChildren(...t){for(let n of t)this.removeChild(n)}removeChild(t){let n=this.children.indexOf(t);n!==-1&&this.children.splice(n,1)}updateState(t){for(let n of this.children)n.updateState(t)}setContext(t){super.setContext(t);for(let n of this.getChildren())n.setContext(t)}},es=class extends te{constructor(e,t){super(t),this.className=e}buildDOM(){return b("div",{class:this.className},this.getChildren().map(e=>e.getDOMElement()))}};var v=class extends ve{constructor(t){super();this.active=!1;this.completedSetup=!1;this.disabled=!1;t.action!==void 0?this.definition=t:this.definition={...t,action(){return!1},isActive:()=>!1}}setContext(t){super.setContext(t),this.definition.setup&&!this.completedSetup&&(this.definition.setup(t,this),this.completedSetup=!0)}buildDOM(){let t=this.getLabel(),n=this.definition.format||"small",r=[];if(this.definition.icon||n==="long"){let s=b("div",{class:"editor-button-icon"});s.innerHTML=this.definition.icon||"",r.push(s)}if(!this.definition.icon||n==="long"){let s=b("div",{class:"editor-button-text"},[t]);r.push(s)}let i=b("button",{type:"button",class:`editor-button editor-button-${n}`,title:this.definition.icon?t:null,disabled:this.disabled?"true":null},r);return i.addEventListener("click",this.onClick.bind(this)),i}onClick(){let t=this.definition.action(this.getContext(),this);t instanceof Promise?t.then(n=>{n===!1&&this.emitEvent("button-action")}):t!==!1&&this.emitEvent("button-action")}updateActiveState(t){let n=this.definition.isActive(t,this.getContext());this.setActiveState(n)}updateDisabledState(t){if(this.definition.isDisabled){let n=this.definition.isDisabled(t,this.getContext());this.toggleDisabled(n)}}setActiveState(t){this.active=t,this.dom?.classList.toggle("editor-button-active",this.active)}updateState(t){this.updateActiveState(t.selection),this.updateDisabledState(t.selection)}isActive(){return this.active}getLabel(){return this.trans(this.definition.label)}toggleDisabled(t){this.disabled=t,t?this.dom?.setAttribute("disabled","true"):this.dom?.removeAttribute("disabled")}};var ts=class extends te{buildDOM(){let e=this.getChildren().map(i=>i.getDOMElement()),t=b("div",{class:"editor-format-menu-dropdown editor-dropdown-menu editor-dropdown-menu-vertical",hidden:"true"},e),n=b("button",{class:"editor-format-menu-toggle editor-button",type:"button"},[this.trans("Formats")]),r=b("div",{class:"editor-format-menu editor-dropdown-menu-container"},[n,t]);return this.getContext().manager.dropdowns.handle({toggle:n,menu:t}),this.onEvent("button-action",()=>{this.getContext().manager.dropdowns.closeAll()},r),r}updateState(e){super.updateState(e);for(let t of this.children){if(t instanceof v&&t.isActive()){this.updateToggleLabel(t.getLabel());return}if(t instanceof te){for(let n of t.getChildren())if(n instanceof v&&n.isActive()){this.updateToggleLabel(n.getLabel());return}}}this.updateToggleLabel(this.trans("Formats"))}updateToggleLabel(e){let t=this.getDOMElement().querySelector("button");t&&(t.innerText=e)}};var Ye=class extends v{constructor(e,t){super(t),this.previewSampleElement=e}buildDOM(){let e=super.buildDOM();e.innerHTML="";let t=b("span",{class:"editor-button-format-preview"},[this.getLabel()]),n=this.getStylesFromPreview();for(let r of Object.keys(n))t.style.setProperty(r,n[r]);return e.append(t),e}getStylesFromPreview(){let e=b("div",{style:"display: none",hidden:"true",class:"page-content"}),t=this.previewSampleElement.cloneNode();t.textContent=this.getLabel(),e.append(t),document.body.append(e);let n=["color","font-size","background-color","border-inline-start"],r={},i=window.getComputedStyle(t);for(let s of n)r[s]=i.getPropertyValue(s);return e.remove(),r}};var Pf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"/><path d="M0 0h24v24H0z" fill="none"/></svg>';var os=class extends v{buildDOM(){let e=super.buildDOM(),t=b("div",{class:"editor-menu-button-icon"});return t.innerHTML=Pf,e.append(t),e}};var $x={showOnHover:!1,direction:"horizontal",showAside:void 0,hideOnAction:!0,button:{label:"Menu"}},Ee=class extends te{constructor(t,n){super(n);this.open=!1;if(this.childItems=n,this.options=Object.assign({},$x,t),t.button instanceof v)this.button=t.button;else{let r=t.button.format==="long"?os:v;this.button=new r({...t.button,action(){return!1},isActive:()=>this.open})}this.addChildren(this.button)}insertItems(...t){this.addChildren(...t),this.childItems.push(...t)}buildDOM(){let t=this.button.getDOMElement(),n=this.childItems.map(s=>s.getDOMElement()),r=b("div",{class:`editor-dropdown-menu editor-dropdown-menu-${this.options.direction}`,hidden:"true"},n),i=b("div",{class:"editor-dropdown-menu-container"},[t,r]);return this.getContext().manager.dropdowns.handle({toggle:t,menu:r,showOnHover:this.options.showOnHover,showAside:typeof this.options.showAside=="boolean"?this.options.showAside:this.options.direction==="vertical",onOpen:()=>{this.open=!0,this.getContext().manager.triggerStateUpdateForElement(this.button)},onClose:()=>{this.open=!1,this.getContext().manager.triggerStateUpdateForElement(this.button)}}),this.options.hideOnAction&&this.onEvent("button-action",()=>{this.getContext().manager.dropdowns.closeAll()},i),i}};var Bf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M800-436q0 36-8 69t-22 63l-62-60q6-17 9-34.5t3-37.5q0-47-17.5-89T650-600L480-768l-88 86-56-56 144-142 226 222q44 42 69 99.5T800-436Zm-8 380L668-180q-41 29-88 44.5T480-120q-133 0-226.5-92.5T160-436q0-51 16-98t48-90L56-792l56-56 736 736-56 56ZM480-200q36 0 68.5-10t61.5-28L280-566q-21 32-30.5 64t-9.5 66q0 98 70 167t170 69Zm-37-204Zm110-116Z"/></svg>';var Hf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 32.5-156t88-127Q256-817 330-848.5T488-880q80 0 151 27.5t124.5 76q53.5 48.5 85 115T880-518q0 115-70 176.5T640-280h-74q-9 0-12.5 5t-3.5 11q0 12 15 34.5t15 51.5q0 50-27.5 74T480-80Zm0-400Zm-220 40q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120-160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm200 0q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm120 160q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17ZM480-160q9 0 14.5-5t5.5-13q0-14-15-33t-15-57q0-42 29-67t71-25h70q66 0 113-38.5T800-518q0-121-92.5-201.5T488-800q-136 0-232 93t-96 227q0 133 93.5 226.5T480-160Z"/></svg>';function Ff(){let o=()=>((1+Math.random())*65536|0).toString(16).substring(1);return`${o()+o()}-${o()}-${o()}-${o()}-${o()}${o()}${o()}`}function ns(){return((1+Math.random())*65536|0).toString(16).substring(1)}var Kf=["#000000","#ffffff","#BFEDD2","#FBEEB8","#F8CAC6","#ECCAFA","#C2E0F4","#2DC26B","#F1C40F","#E03E2D","#B96AD9","#3598DB","#169179","#E67E23","#BA372A","#843FA1","#236FA1","#ECF0F1","#CED4D9","#95A5A6","#7E8C8D","#34495E"],Uf="bs-lexical-custom-colors",rn=class extends ve{constructor(e){super(),this.callback=e}buildDOM(){let e=ns(),n=[...Kf,...this.getCustomColorChoices()].map(d=>b("div",{class:"editor-color-select-option",style:`background-color: ${d}`,"data-color":d,"aria-label":d})),r=b("div",{class:"editor-color-select-option","data-color":"",title:this.getContext().translate("Remove color")},[]);r.innerHTML=Bf,n.push(r);let i=b("label",{class:"editor-color-select-option",for:`color-select-${e}`,"data-color":"",title:this.getContext().translate("Custom color")},[]);i.innerHTML=Hf,n.push(i);let s=b("input",{type:"color",hidden:"true",id:`color-select-${e}`});n.push(s),s.addEventListener("change",d=>{s.value&&(this.storeCustomColorChoice(s.value),this.setColor(s.value),this.rebuildDOM())});let l=[];for(let d=0;d<n.length;d+=5){let f=n.slice(d,d+5);l.push(b("div",{class:"editor-color-select-row"},f))}let a=b("div",{class:"editor-color-select"},l);return a.addEventListener("click",this.onClick.bind(this)),a}storeCustomColorChoice(e){if(Kf.includes(e))return;let t=this.getCustomColorChoices();t.includes(e)||(t.push(e),window.localStorage.setItem(Uf,JSON.stringify(t)))}getCustomColorChoices(){return JSON.parse(window.localStorage.getItem(Uf)||"[]")}onClick(e){let t=e.target.closest("[data-color]");if(!t)return;let n=t.dataset.color;this.setColor(n)}setColor(e){this.callback(e,this.getContext())}};var rs=class extends ve{buildDOM(){let t=[],n=[];for(let s=1;s<11;s++){let l=[];for(let a=1;a<11;a++){let d=b("div",{class:"editor-table-creator-cell","data-rows":String(s),"data-columns":String(a)});l.push(d),n.push(d)}t.push(b("div",{class:"editor-table-creator-row"},l))}let r=b("div",{class:"editor-table-creator-display"},["0 x 0"]),i=b("div",{class:"editor-table-creator-grid"},t);return i.addEventListener("mousemove",s=>{let l=s.target.closest(".editor-table-creator-cell");if(l){let a=Number(l.dataset.rows||0),d=Number(l.dataset.columns||0);this.updateGridSelection(a,d,n,r)}}),i.addEventListener("click",s=>{let l=s.target.closest(".editor-table-creator-cell");l&&this.onCellClick(l)}),i.addEventListener("mouseleave",s=>{this.updateGridSelection(0,0,n,r)}),b("div",{class:"editor-table-creator"},[i,r])}updateGridSelection(e,t,n,r){for(let i of n){let s=Number(i.dataset.rows)<=e&&Number(i.dataset.columns)<=t;i.classList.toggle("active",s)}r.textContent=`${e} x ${t}`}onCellClick(e){let t=Number(e.dataset.rows||0),n=Number(e.dataset.columns||0);if(t<1||n<1)return;let r=Math.min(Math.round(840/n),240),i=Array(n).fill(r+"px");this.getContext().editor.update(()=>{let s=ra(t,n,!1);s.setColWidths(i),Wo(s)})}};var qr=class extends v{constructor(e,t){super(e),this.style=t}getColorBar(){let e=this.getDOMElement().querySelector("svg .editor-icon-color-bar");if(!e)throw new Error(`Could not find expected color bar in the icon for this ${this.definition.label} button`);return e}updateState(e){if(super.updateState(e),_(e.selection)){let t=Dl(e.selection,this.style);this.getColorBar().setAttribute("fill",t)}}};var zf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z"/></svg>';var nt=class extends te{constructor(e,t){super(t),this.size=e,this.content=t,this.overflowButton=new Ee({button:{label:"More",icon:zf},hideOnAction:!1},[]),this.addChildren(this.overflowButton)}buildDOM(){let e=this.content.length>this.size?this.size-1:this.size,t=this.content.slice(0,e),n=this.content.slice(e),r=t.map(i=>i.getDOMElement());return n.length>0&&(this.removeChildren(...n),this.overflowButton.insertItems(...n),r.push(this.overflowButton.getDOMElement())),b("div",{class:"editor-overflow-container"},r)}};var Ta='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200q-33 0-56.5-23.5T120-200Zm80-400h560v-160H200v160Zm213 200h134v-120H413v120Zm0 200h134v-120H413v120ZM200-400h133v-120H200v120Zm427 0h133v-120H627v120ZM200-200h133v-120H200v120Zm427 0h133v-120H627v120Z"/></svg>';var is='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14V5H5v14z"/><path d="m13.711 15.423-1.71-1.712-1.712 1.712c-1.14 1.14-2.852-.57-1.71-1.712l1.71-1.71-1.71-1.712c-1.143-1.142.568-2.853 1.71-1.71L12 10.288l1.711-1.71c1.141-1.142 2.852.57 1.712 1.71L13.71 12l1.626 1.626c1.345 1.345-.76 2.663-1.626 1.797z" style="fill-rule:nonzero;stroke-width:1.20992"/></svg>';var Wf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14c1.1 0 2 .9 2 2zm-2 0V5h-4v2.2h-2V5h-2v2.2H9V5H5v14h4v-2.1h2V19h2v-2.1h2V19Z"/><path d="M14.829 10.585 13.415 12l1.414 1.414c.943.943-.472 2.357-1.414 1.414L12 13.414l-1.414 1.414c-.944.944-2.358-.47-1.414-1.414L10.586 12l-1.414-1.415c-.943-.942.471-2.357 1.414-1.414L12 10.585l1.344-1.343c1.111-1.112 2.2.627 1.485 1.343z" style="fill-rule:nonzero"/></svg>';var qf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14c0 1.1-.9 2-2 2zm0-2h14v-4h-2.2v-2H19v-2h-2.2V9H19V5H5v4h2.1v2H5v2h2.1v2H5Z"/><path d="M13.415 14.829 12 13.415l-1.414 1.414c-.943.943-2.357-.472-1.414-1.414L10.586 12l-1.414-1.414c-.944-.944.47-2.358 1.414-1.414L12 10.586l1.415-1.414c.942-.943 2.357.471 1.414 1.414L13.415 12l1.343 1.344c1.112 1.111-.627 2.2-1.343 1.485z" style="fill-rule:nonzero"/></svg>';var Yf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 5h-5v14h5c1.235 0 1.234 2 0 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11c1.229 0 1.236 2 0 2zm-7 6V5H5v6zm0 8v-6H5v6zm11.076-6h-2v2c0 1.333-2 1.333-2 0v-2h-2c-1.335 0-1.335-2 0-2h2V9c0-1.333 2-1.333 2 0v2h1.9c1.572 0 1.113 2 .1 2z"/></svg>';var Zf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8 19h5V5H8C6.764 5 6.766 3 8 3h11a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H8c-1.229 0-1.236-2 0-2zm7-6v6h4v-6zm0-8v6h4V5ZM3.924 11h2V9c0-1.333 2-1.333 2 0v2h2c1.335 0 1.335 2 0 2h-2v2c0 1.333-2 1.333-2 0v-2h-1.9c-1.572 0-1.113-2-.1-2z"/></svg>';var Vf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 8v5h14V8c0-1.235 2-1.234 2 0v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8C3 6.77 5 6.764 5 8zm6 7H5v4h6zm8 0h-6v4h6zM13 3.924v2h2c1.333 0 1.333 2 0 2h-2v2c0 1.335-2 1.335-2 0v-2H9c-1.333 0-1.333-2 0-2h2v-1.9c0-1.572 2-1.113 2-.1z"/></svg>';var Xf='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 16v-5H5v5c0 1.235-2 1.234-2 0V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v11c0 1.229-2 1.236-2 0zm-6-7h6V5h-6zM5 9h6V5H5Zm6 11.076v-2H9c-1.333 0-1.333-2 0-2h2v-2c0-1.335 2-1.335 2 0v2h2c1.333 0 1.333 2 0 2h-2v1.9c0 1.572-2 1.113-2 .1z"/></svg>';var kt=class extends ve{constructor(e){super(),this.definition=e}setValue(e){let t=this.getDOMElement().querySelector("input,select,textarea");this.definition.type==="checkbox"?t.checked=!!e:t.value=e,t.dispatchEvent(new Event("change"))}getName(){return this.definition.name}buildDOM(){let e=`editor-form-field-${this.definition.name}-${Date.now()}`,t;if(this.definition.type==="select"){let n=this.definition.valuesByLabel,i=Object.keys(n).map(s=>b("option",{value:n[s]},[this.trans(s)]));t=b("select",{id:e,name:this.definition.name,class:"editor-form-field-input"},i)}else this.definition.type==="textarea"?t=b("textarea",{id:e,name:this.definition.name,class:"editor-form-field-input"}):this.definition.type==="checkbox"?t=b("input",{id:e,name:this.definition.name,type:"checkbox",class:"editor-form-field-input-checkbox",value:"true"}):t=b("input",{id:e,name:this.definition.name,class:"editor-form-field-input"});return b("div",{class:"editor-form-field-wrapper"},[b("label",{class:"editor-form-field-label",for:e},[this.trans(this.definition.label)]),t])}},ss=class extends te{constructor(t){let n=t.fields.map(r=>Ea(r)?r.build():new kt(r));super(n);this.onCancel=null;this.onSuccessfulSubmit=null;this.definition=t}setValues(t){for(let n of Object.keys(t)){let r=this.getFieldByName(n);r&&r.setValue(t[n])}}setOnCancel(t){this.onCancel=t}setOnSuccessfulSubmit(t){this.onSuccessfulSubmit=t}getFieldByName(t){let n=r=>{for(let i of r){if(i instanceof kt&&i.getName()===t)return i;if(i instanceof te){let s=n(i.getChildren());if(s)return s}}return null};return n(this.getChildren())}buildDOM(){let t=b("button",{type:"button",class:"editor-form-action-secondary"},[this.trans("Cancel")]),n=b("form",{},[...this.children.map(r=>r.getDOMElement()),b("div",{class:"editor-form-actions"},[t,b("button",{type:"submit",class:"editor-form-action-primary"},[this.trans(this.definition.submitText)])])]);return n.addEventListener("submit",async r=>{r.preventDefault();let i=new FormData(n);await this.definition.action(i,this.getContext())&&this.onSuccessfulSubmit&&this.onSuccessfulSubmit()}),t.addEventListener("click",r=>{this.onCancel&&this.onCancel()}),n}},Ca=class extends te{constructor(e){let t=e.contents.map(n=>Ea(n)?n.build():new kt(n));super(t),this.definition=e,this.fields=t,this.id=Ff()}getLabel(){return this.getContext().translate(this.definition.label)}getId(){return this.id}buildDOM(){return b("div",{class:"editor-form-tab-content",role:"tabpanel",id:`editor-tabpanel-${this.id}`,"aria-labelledby":`editor-tab-${this.id}`},this.fields.map(e=>e.getDOMElement()))}},sn=class extends te{constructor(t){let n=t.map(r=>new Ca(r));super(n);this.definitions=[];this.tabs=[];this.definitions=t,this.tabs=n}buildDOM(){let t=[],n=[],r=i=>{for(let s=0;s<t.length;s++)t[s].setAttribute("aria-selected",s===i?"true":"false");for(let s=0;s<n.length;s++)n[s].hidden=s!==i};for(let i of this.tabs){let s=b("button",{class:"editor-form-tab-control",type:"button",role:"tab",id:`editor-tab-${i.getId()}`,"aria-controls":`editor-tabpanel-${i.getId()}`},[i.getLabel()]);n.push(i.getDOMElement()),t.push(s),s.addEventListener("click",l=>{r(t.indexOf(s))})}return r(0),b("div",{class:"editor-form-tab-container"},[b("div",{class:"editor-form-tab-controls"},t),b("div",{class:"editor-form-tab-contents"},n)])}};var jf=`<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<pattern id="pattern2" x="0.40000001" patternTransform="scale(200)" preserveAspectRatio="xMidYMid" xlink:href="#Checkerboard"/>
<pattern id="Checkerboard" width="2" height="2" fill="#b6b6b6" patternTransform="translate(0) scale(10)" patternUnits="userSpaceOnUse" preserveAspectRatio="xMidYMid">
<rect width="1" height="1"/>
<rect x="1" y="1" width="1" height="1"/>
</pattern>
</defs>
<rect class="editor-icon-color-display" x="103.53" y="-856.47" width="752.94" height="752.94" rx="47.059" ry="47.059" fill="url(#pattern2)" stroke="#666" stroke-linecap="square" stroke-linejoin="round" stroke-width="47.059"/>
</svg>
`;var _a=class extends te{constructor(e){super([]),this.input=e,this.pickerButton=new Ee({button:{icon:jf,label:"Select color"}},[new rn(this.onColorSelect.bind(this))]),this.addChildren(this.pickerButton,this.input)}buildDOM(){let e=this.input.getDOMElement();e.append(this.pickerButton.getDOMElement()),e.classList.add("editor-color-field-container");let t=e.querySelector("input");return t.addEventListener("change",()=>{this.setIconColor(t.value)}),e}onColorSelect(e,t){this.input.setValue(e)}setIconColor(e){let t=this.getDOMElement().querySelector("svg .editor-icon-color-display");t&&t.setAttribute("fill",e||"url(#pattern2)")}};function ln(o){return{build(){return new _a(new kt(o))}}}var ba={label:"Border style",name:"border_style",type:"select",valuesByLabel:{"Select...":"",Solid:"solid",Dotted:"dotted",Dashed:"dashed",Double:"double",Groove:"groove",Ridge:"ridge",Inset:"inset",Outset:"outset",None:"none",Hidden:"hidden"}},ya={label:"Border color",name:"border_color",type:"text"},Sa={label:"Background color",name:"background_color",type:"text"},Gf={label:"Alignment",name:"align",type:"select",valuesByLabel:{None:"",Left:"left",Center:"center",Right:"right"}};function Jf(o,e){let t=o.getStyles(),n=e.manager.createModal("cell_properties");return n.show({width:yf(e.editor,o),height:t.get("height")||"",type:o.getTag(),h_align:o.getAlignment(),v_align:t.get("vertical-align")||"",border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var Qf={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=on(T());for(let n of t){let r=o.get("width")?.toString()||"";bf(n,r),n.updateTag(o.get("type")?.toString()||""),n.setAlignment(o.get("h_align")?.toString()||"");let i=n.getStyles();i.set("height",mt(o.get("height")?.toString()||"")),i.set("vertical-align",o.get("v_align")?.toString()||""),i.set("border-width",mt(o.get("border_width")?.toString()||"")),i.set("border-style",o.get("border_style")?.toString()||""),i.set("border-color",o.get("border_color")?.toString()||""),i.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(i)}}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell type",name:"type",type:"select",valuesByLabel:{Cell:"td","Header cell":"th"}},{...Gf,label:"Horizontal align",name:"h_align"},{label:"Vertical align",name:"v_align",type:"select",valuesByLabel:{None:"",Top:"top",Middle:"middle",Bottom:"bottom"}}],e=[{label:"Border width",name:"border_width",type:"text"},ba,ln(ya),ln(Sa)];return new sn([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function em(o,e){let t=o.getStyles(),n=e.manager.createModal("row_properties");return n.show({height:t.get("height")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||""}),n}var tm={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=eo(T());for(let n of t){let r=n.getStyles();r.set("height",mt(o.get("height")?.toString()||"")),r.set("border-style",o.get("border_style")?.toString()||""),r.set("border-color",o.get("border_color")?.toString()||""),r.set("background-color",o.get("background_color")?.toString()||""),n.setStyles(r)}}),!0},fields:[{label:"Height",name:"height",type:"text"},ba,ln(ya),ln(Sa)]};function om(o,e){let t=o.getStyles(),n=e.manager.createModal("table_properties");return n.show({width:t.get("width")||"",height:t.get("height")||"",cell_spacing:t.get("cell-spacing")||"",cell_padding:vf(o),border_width:t.get("border-width")||"",border_style:t.get("border-style")||"",border_color:t.get("border-color")||"",background_color:t.get("background-color")||"",caption:oa(o)?"true":"",align:o.getAlignment()}),n}var nm={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=xt(T());if(!t)return;let n=t.getStyles();n.set("width",mt(o.get("width")?.toString()||"")),n.set("height",mt(o.get("height")?.toString()||"")),n.set("cell-spacing",mt(o.get("cell_spacing")?.toString()||"")),n.set("border-width",mt(o.get("border_width")?.toString()||"")),n.set("border-style",o.get("border_style")?.toString()||""),n.set("border-color",o.get("border_color")?.toString()||""),n.set("background-color",o.get("background_color")?.toString()||""),t.setStyles(n),t.setAlignment(o.get("align"));let r=o.get("cell_padding")?.toString()||"";if(r){let l=mt(r);Na(t,a=>{let d=a.getStyles();d.set("padding",l),a.setStyles(d)})}let i=!!o.get("caption")?.toString(),s=oa(t);if(i&&!s)cf(t,e.translate("Caption"));else if(!i&&s)for(let l of t.getChildren())Br(l)&&l.remove()}),!0},fields:[{build(){let o=[{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"},{label:"Cell spacing",name:"cell_spacing",type:"text"},{label:"Cell padding",name:"cell_padding",type:"text"},{label:"Border width",name:"border_width",type:"text"},{label:"Show caption",name:"caption",type:"checkbox"},Gf],e=[ba,ln(ya),ln(Sa)];return new sn([{label:"General",contents:o},{label:"Advanced",contents:e}])}}]};function rm(o){let e=E(o)?o.getChildren():[];return{node:o.exportJSON(),children:e.map(t=>rm(t))}}function im(o,{node:e,children:t}){let n=o._nodes.get(e.type)?.klass.importJSON(e);if(!n)return null;let r=t.map(i=>im(o,i));for(let i of r)i&&E(n)&&n.append(i);return n}var Yr=class{constructor(){this.store=[]}set(...e){this.store.splice(0,this.store.length);for(let t of e)this.store.push(rm(t))}get(e){return this.store.map(t=>im(e,t)).filter(t=>t!==null)}size(){return this.store.length}};var Zr=new Yr;function La(){return Zr.size()===0}function sm(o){let e=null;for(let t of o){let n=t.getChildren().filter(i=>w(i)),r=0;for(let i of n)if(r+=i.getColSpan()||1,i.getRowSpan()>1)throw Error("Cannot copy rows with merged cells");if(e===null)e=r;else if(e!==r)throw Error("Cannot copy rows with inconsistent sizes")}}function lm(o,e){let t=new Rt(e).columnCount;for(let n of o){let r=n.getChildren().filter(s=>w(s)),i=0;for(let s of r)i+=s.getColSpan()||1;if(i>t)throw Error("Cannot paste rows that are wider than target table");for(;i<t;)n.append(Pe()),i++}}function am(){let o=eo(T());sm(o),Zr.set(...o);for(let e of o)e.remove()}function dm(){let o=eo(T());sm(o),Zr.set(...o)}function cm(o){let e=T(),t=eo(e),n=xt(e),r=t[t.length-1];if(r&&n){let i=Zr.get(o);lm(i,n);for(let s of i)r.insertBefore(s)}}function um(o){let e=T(),t=eo(e),n=xt(e),r=t[t.length-1];if(r&&n){let i=Zr.get(o).reverse();lm(i,n);for(let s of i)r.insertAfter(s)}}var ls=[];function fm(o){let e=o.map(t=>{let n=new Yr;return n.set(...t),n});ls.splice(0,ls.length,...e)}function Ma(){return ls.length===0}function mm(o){if(z(o)){let i=o.getShape();return{from:i.fromX,to:i.toX}}let e=Z(o,w),t=xt(o);if(!w(e)||!t)return null;let r=new Rt(t).getRangeForCell(e);return r?{from:r.fromX,to:r.toX}:null}function pm(o,e){let t=new Rt(e),n=[];for(let r=o.from;r<=o.to;r++){let i=t.getCellsInColumn(r);n.push(i)}return n}function gm(o){let e=null;for(let t of o){let n=0;for(let r of t)if(n+=r.getRowSpan()||1,r.getColSpan()>1)throw Error("Cannot copy columns with merged cells");if(e===null)e=n;else if(e!==n)throw Error("Cannot copy columns with inconsistent sizes")}}function hm(){let o=T(),e=mm(o),t=xt(o);if(!e||!t)return;let n=t.getColWidths(),r=pm(e,t);gm(r),fm(r);for(let s of r)for(let l of s)l.remove();let i=[...n].splice(e.from,e.to-e.from+1);t.setColWidths(i)}function Nm(){let o=T(),e=mm(o),t=xt(o);if(!e||!t)return;let n=pm(e,t);gm(n),fm(n)}function Xx(o,e){let t=new Rt(e).rowCount;for(let n of o){let r=0;for(let i of n)r+=i.getRowSpan()||1;if(r>t)throw Error("Cannot paste columns that are taller than target table");for(;r<t;)n.push(Pe()),r++}}function xm(o,e){let t=T(),n=xt(t),r=on(t),i=r[e?0:r.length-1];if(!n||!i)return;let s=ls.map(u=>u.get(o));e||s.reverse(),Xx(s,n);let l=new Rt(n),a=l.getRangeForCell(i);if(!a)return;let d=e?a.fromX:a.toX,f=n.getColWidths();for(let u=0;u<l.rowCount;u++){let p=l.getCellAtPosition(d,u);for(let g of s){let h=g[u];e?p.insertBefore(h):p.insertAfter(h)}}let m=f[d],c=s.map(u=>m);f.splice(e?d:d+1,0,...c)}function Em(o){xm(o,!0)}function Tm(o){xm(o,!1)}var he=()=>!1,_e=o=>!ae(o,w),Cm={label:"Table",icon:Ta},va={label:"Table properties",icon:Ta,action(o){o.editor.getEditorState().read(()=>{let e=xt(T());K(e)&&om(e,o)})},isActive:he,isDisabled:_e},_m={label:"Clear table formatting",format:"long",action(o){o.editor.update(()=>{let e=Z(T(),w);if(!w(e))return;let t=Mt(e,K);K(t)&&Mf(t)})},isActive:he,isDisabled:_e},bm={label:"Resize to contents",format:"long",action(o){o.editor.update(()=>{let e=Z(T(),w);if(!w(e))return;let t=Mt(e,K);K(t)&&Lf(t)})},isActive:he,isDisabled:_e},wa={label:"Delete table",icon:is,action(o){o.editor.update(()=>{let e=Z(T(),K);e&&e.remove()})},isActive(){return!1}},ym={...wa,format:"long",isDisabled(o){return!ae(o,K)}},Da={label:"Insert row before",icon:Vf,action(o){o.editor.update(()=>{zi(!1)})},isActive:he,isDisabled:_e},Oa={label:"Insert row after",icon:Xf,action(o){o.editor.update(()=>{zi(!0)})},isActive:he,isDisabled:_e},Aa={label:"Delete row",icon:qf,action(o){o.editor.update(()=>{ia()})},isActive:he,isDisabled:_e},Sm={label:"Row properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=eo(T());ee(e[0])&&em(e[0],o)})},isActive:he,isDisabled:_e},Lm={label:"Cut row",format:"long",action(o){o.editor.update(()=>{try{am()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Mm={label:"Copy row",format:"long",action(o){o.editor.getEditorState().read(()=>{try{dm()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},vm={label:"Paste row before",format:"long",action(o){o.editor.update(()=>{try{cm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||La()},wm={label:"Paste row after",format:"long",action(o){o.editor.update(()=>{try{um(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||La()},Dm={label:"Cut column",format:"long",action(o){o.editor.update(()=>{try{hm()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Om={label:"Copy column",format:"long",action(o){o.editor.getEditorState().read(()=>{try{Nm()}catch(e){o.error(e)}})},isActive:he,isDisabled:_e},Am={label:"Paste column before",format:"long",action(o){o.editor.update(()=>{try{Em(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||Ma()},Rm={label:"Paste column after",format:"long",action(o){o.editor.update(()=>{try{Tm(o.editor)}catch(e){o.error(e)}})},isActive:he,isDisabled:o=>_e(o)||Ma()},Ra={label:"Insert column before",icon:Zf,action(o){o.editor.update(()=>{Wi(!1)})},isActive(){return!1}},ka={label:"Insert column after",icon:Yf,action(o){o.editor.update(()=>{Wi(!0)})},isActive(){return!1}},Ia={label:"Delete column",icon:Wf,action(o){o.editor.update(()=>{sa()})},isActive(){return!1}},km={label:"Cell properties",format:"long",action(o){o.editor.getEditorState().read(()=>{let e=Z(T(),w);w(e)&&Jf(e,o)})},isActive:he,isDisabled:_e},Im={label:"Merge cells",format:"long",action(o){o.editor.update(()=>{let e=T();z(e)&&Sf(e)})},isActive:he,isDisabled(o){return!z(o)}},$m={label:"Split cell",format:"long",action(o){o.editor.update(()=>{aa()})},isActive:he,isDisabled(o){let e=Z(o,w);return e?!(e.getRowSpan()>1||e.getColSpan()>1):!0}};var Pm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M280-200v-80h284q63 0 109.5-40T720-420q0-60-46.5-100T564-560H312l104 104-56 56-200-200 200-200 56 56-104 104h252q97 0 166.5 63T800-420q0 94-69.5 157T564-200H280Z"/></svg>';var Bm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" ><path d="M396-200q-97 0-166.5-63T160-420q0-94 69.5-157T396-640h252L544-744l56-56 200 200-200 200-56-56 104-104H396q-63 0-109.5 40T240-420q0 60 46.5 100T396-280h284v80H396Z"/></svg>';var Hm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-58-86-86 86-86-56-58-144 144 144 144Zm192 0 144-144-144-144-56 58 86 86-86 86 56 58ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h168q13-36 43.5-58t68.5-22q38 0 68.5 22t43.5 58h168q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm280-590q13 0 21.5-8.5T510-820q0-13-8.5-21.5T480-850q-13 0-21.5 8.5T450-820q0 13 8.5 21.5T480-790ZM200-200v-560 560Z"/></svg>';var Fm='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-200h80v120h120v80H120Zm520 0v-80h120v-120h80v200H640ZM120-640v-200h200v80H200v120h-80Zm640 0v-120H640v-80h200v200h-80Z"/></svg>';var Km='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>';function Qn(o,e){o.update(()=>{let t=H();for(let r of t.getChildren())r.remove(!0);let n=Eo(o,e);t.append(...n)})}function Um(o,e){o.update(()=>{let t=H(),n=Eo(o,e);t.append(...n)})}function zm(o,e){o.update(()=>{let t=H(),n=Eo(o,e),r=t.getChildren()[0];for(let i=n.length-1;i>=0;i--)r?r.insertBefore(n[i]):t.append(n[i]),r=n[i]})}function Wm(o,e){o.update(()=>{let t=T(),n=Eo(o,e),r=t?.getNodes()[0],i=r?.getParents()||[];if(i[i.length-1]&&r)for(let l=n.length-1;l>=0;l--)r.insertAfter(n[l])})}function as(o){return new Promise((e,t)=>{o.getEditorState().read(()=>{let n=Oi(o);e(n)})})}function qm(o){o.focus(()=>{},{defaultSelection:"rootStart"})}var Ym={label:"Undo",icon:Pm,action(o){o.editor.dispatchCommand(ro,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(co,t=>(e.toggleDisabled(!t),!1),pt)}},Zm={label:"Redo",icon:Bm,action(o){o.editor.dispatchCommand(io,void 0),o.manager.triggerFutureStateRefresh()},isActive(o){return!1},setup(o,e){e.toggleDisabled(!0),o.editor.registerCommand(ao,t=>(e.toggleDisabled(!t),!1),pt)}},Vm={label:"Source code",icon:Hm,async action(o){let e=o.manager.createModal("source"),t=await as(o.editor);e.show({source:t})},isActive(){return!1}},Xm={label:"Fullscreen",icon:Fm,async action(o,e){let t=o.containerDOM.classList.contains("fullscreen");o.containerDOM.classList.toggle("fullscreen",!t),o.containerDOM.closest("body").classList.toggle("editor-is-fullscreen",!t),e.setActiveState(!t)},isActive(o,e){return e.containerDOM.classList.contains("fullscreen")}},jm={label:"About the editor",icon:Km,async action(o,e){o.manager.createModal("about").show({})},isActive(o,e){return!1}};var tE=(o,e)=>Gn(o)&&o.getTag()===e;function ds(o,e){o.update(()=>{$n(t=>tE(t,e),()=>Xn(e))})}function Vr(o){o.update(()=>{$n(dt,I)})}function Xr(o){o.update(()=>{$n(Qi,Ji)})}function jr(o,e){o.getEditorState().read(()=>{let t=T();ae(t,r=>U(r)&&r.getListType()===e)?ea(o):Ql(o,e)})}function Gr(o){o.getEditorState().read(()=>{let e=T(),t=le(o),n=Z(t,Gi);n===null?o.update(()=>{let r=ji();r.setCode(e?.getTextContent()||"");let i=vt(e),s=i[0],l=i.slice(1);s?(s.replace(r),l.forEach(a=>a.remove())):Wo(r,!0),Wr(o,r),Oe(r)}):Wr(o,n)})}function Gm(o){o.update(()=>{let e=T(),t=vt(e),n=!1;for(let i of t)Zl(i)||(i.replace(Kn("info"),!0),n=!0);if(n)return;let r=["info","warning","danger","success"];for(let i of t)if(Zl(i)){let s=i.getCategory(),a=(r.indexOf(s)+1)%r.length,d=r[a];i.setCategory(d)}})}function cs(o,e){o.update(()=>{let t=T(),n=Z(t,At);if(At(n)?(n.setURL(e.url),n.setTarget(e.target),n.setTitle(e.title)):(n=ht(e.url,{title:e.title,target:e.target}),Le([n])),At(n)){for(let r of n.getChildren())r.remove(!0);n.append(q(e.text))}})}function us(o,e){return{label:e,action(t){t.editor.update(()=>{$n(n=>Vl(n,o),()=>Kn(o))})},isActive(t){return ae(t,n=>Vl(n,o))}}}var Jm=us("info","Info"),Qm=us("danger","Danger"),ep=us("warning","Warning"),tp=us("success","Success"),oE=(o,e)=>Gn(o)&&o.getTag()===e;function fs(o,e){return{label:e,action(t){ds(t.editor,o)},isActive(t){return ae(t,n=>oE(n,o))}}}var op=fs("h2","Large Header"),np=fs("h3","Medium Header"),rp=fs("h4","Small Header"),ip=fs("h5","Tiny Header"),sp={label:"Blockquote",action(o){Xr(o.editor)},isActive(o){return ae(o,Qi)}},lp={label:"Paragraph",action(o){Vr(o.editor)},isActive(o){return ae(o,dt)}};var ap='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M272-200v-560h221q65 0 120 40t55 111q0 51-23 78.5T602-491q25 11 55.5 41t30.5 90q0 89-65 124.5T501-200H272Zm121-112h104q48 0 58.5-24.5T566-372q0-11-10.5-35.5T494-432H393v120Zm0-228h93q33 0 48-17t15-38q0-24-17-39t-44-15h-95v109Z"/></svg>';var dp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-200v-100h160l120-360H320v-100h400v100H580L460-300h140v100H200Z"/></svg>';var cp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120v-80h560v80H200Zm280-160q-101 0-157-63t-56-167v-330h103v336q0 56 28 91t82 35q54 0 82-35t28-91v-336h103v330q0 104-56 167t-157 63Z"/></svg>';var up=`<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-3e-6v-160h800v160z"/><path d="m220-280 210-560h100l210 560h-96l-50-144h-226l-52 144zm176-224h168l-82-232h-4z"/></svg>
`;var fp='<svg version="1.1" viewBox="0 -960 960 960" xmlns="http://www.w3.org/2000/svg"><path class="editor-icon-color-bar" d="m80-2e-6v-160h800v160z"/><path d="m584-480-104-104-160 160 103 104zm-47-160 103 103 160-159-104-104zm-84-29 216 216-189 190c-16 16-34.833 24-56.5 24s-40.5-8-56.5-24l-27 23h-200l126-125c-16-16-24.333-35.167-25-57.5s7-41.5 23-57.5zm0 0 187-187c16-16 34.833-24 56.5-24s40.5 8 56.5 24l104 103c16 16 24 34.833 24 56.5s-8 40.5-24 56.5l-188 187z"/></svg>';var mp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M80-400v-80h800v80H80Zm340-160v-120H200v-120h560v120H540v120H420Zm0 400v-160h120v160H420Z"/></svg>';var pp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-600v-80q0-17 11.5-28.5T800-720h80v-40H760v-40h120q17 0 28.5 11.5T920-760v40q0 17-11.5 28.5T880-680h-80v40h120v40H760ZM235-160l185-291-172-269h106l124 200h4l123-200h107L539-451l186 291H618L482-377h-4L342-160H235Z"/></svg>';var gp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M760-160v-80q0-17 11.5-28.5T800-280h80v-40H760v-40h120q17 0 28.5 11.5T920-320v40q0 17-11.5 28.5T880-240h-80v40h120v40H760Zm-525-80 185-291-172-269h106l124 200h4l123-200h107L539-531l186 291H618L482-457h-4L342-240H235Z"/></svg>';var hp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M320-240 80-480l240-240 57 57-184 184 183 183-56 56Zm320 0-57-57 184-184-183-183 56-56 240 240-240 240Z"/></svg>';var Np='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m528-546-93-93-121-121h486v120H568l-40 94ZM792-56 460-388l-80 188H249l119-280L56-792l56-56 736 736-56 56Z"/></svg>';function an(o,e,t){return{label:o,icon:t,action(n){n.editor.dispatchCommand(Ne,e)},isActive(n){return au(n,e)}}}var xp=an("Bold","bold",ap),Ep=an("Italic","italic",dp),Tp=an("Underline","underline",cp),Cp={label:"Text color",icon:up},_p={label:"Background color",icon:fp};function bp(o,e,t){o.editor.update(()=>{let n=T();n&&wl(n,{[e]:t||null})})}var yp=(o,e)=>bp(e,"color",o),Sp=(o,e)=>bp(e,"color",o),Lp=an("Strikethrough","strikethrough",mp),Mp=an("Superscript","superscript",pp),vp=an("Subscript","subscript",gp),wp=an("Inline code","code",hp),Dp={label:"Clear formatting",icon:Np,action(o){o.editor.update(()=>{let e=T();for(let t of e?.getNodes()||[])y(t)&&(t.setFormat(0),t.setStyle(""))})},isActive(){return!1}};var Op='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Zm0-160v-80h480v80H120Zm0-160v-80h720v80H120Z"/></svg>';var Ap='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm160-160v-80h400v80H280ZM120-440v-80h720v80H120Zm160-160v-80h400v80H280ZM120-760v-80h720v80H120Z"/></svg>';var Rp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-760v-80h720v80H120Zm240 160v-80h480v80H360ZM120-440v-80h720v80H120Zm240 160v-80h480v80H360ZM120-120v-80h720v80H120Z"/></svg>';var kp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Zm0-160v-80h720v80H120Z"/></svg>';var Ip='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80Zm-80 160v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Zm328 520H160q-17 0-28.5-11.5T120-240q0-17 11.5-28.5T160-280h528l-36-36q-11-11-11-28t11-28q11-11 28-11t28 11l104 104q12 12 12 28t-12 28L708-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l36-36Z"/></svg>';var $p='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M440-800v400q0 17-11.5 28.5T400-360q-17 0-28.5-11.5T360-400v-160q-66 0-113-47t-47-113q0-66 47-113t113-47h280q17 0 28.5 11.5T680-840q0 17-11.5 28.5T640-800h-40v400q0 17-11.5 28.5T560-360q-17 0-28.5-11.5T520-400v-400h-80ZM272-200l36 36q11 11 11 28t-11 28q-11 11-28 11t-28-11L148-212q-12-12-12-28t12-28l104-104q11-11 28-11t28 11q11 11 11 28t-11 28l-36 36h528q17 0 28.5 11.5T840-240q0 17-11.5 28.5T800-200H272Zm88-440v-160q-33 0-56.5 23.5T280-720q0 33 23.5 56.5T360-640Zm0-80Z"/></svg>';function ms(o,e){let t=le(o.editor),n=t?.getNodes()||[];if(n.length===1&&E(n[0])&&n[0].isInline()&&Ar(n[0])){n[0].setAlignment(e),Oe(n[0]),o.manager.triggerFutureStateRefresh();return}let i=vt(t).filter(a=>Ar(a)),l=i.every(a=>a.getAlignment()===e)?"":e;for(let a of i)a.setAlignment(l);o.manager.triggerFutureStateRefresh()}function Pp(o,e){let t=le(o.editor),n=vt(t);for(let r of n)r.setDirection(e);o.manager.triggerFutureStateRefresh()}var Bp={label:"Align left",icon:Op,action(o){o.editor.update(()=>ms(o,"left"))},isActive(o){return Rr(o,"left")}},Hp={label:"Align center",icon:Ap,action(o){o.editor.update(()=>ms(o,"center"))},isActive(o){return Rr(o,"center")}},Fp={label:"Align right",icon:Rp,action(o){o.editor.update(()=>ms(o,"right"))},isActive(o){return Rr(o,"right")}},Kp={label:"Justify",icon:kp,action(o){o.editor.update(()=>ms(o,"justify"))},isActive(o){return Rr(o,"justify")}},Up={label:"Left to right",icon:Ip,action(o){o.editor.update(()=>Pp(o,"ltr"))},isActive(o){return Rl(o,"ltr")}},zp={label:"Right to left",icon:$p,action(o){o.editor.update(()=>Pp(o,"rtl"))},isActive(o){return Rl(o,"rtl")}};var Wp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M360-200v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360ZM200-160q-33 0-56.5-23.5T120-240q0-33 23.5-56.5T200-320q33 0 56.5 23.5T280-240q0 33-23.5 56.5T200-160Zm0-240q-33 0-56.5-23.5T120-480q0-33 23.5-56.5T200-560q33 0 56.5 23.5T280-480q0 33-23.5 56.5T200-400Zm0-240q-33 0-56.5-23.5T120-720q0-33 23.5-56.5T200-800q33 0 56.5 23.5T280-720q0 33-23.5 56.5T200-640Z"/></svg>';var qp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-80v-60h100v-30h-60v-60h60v-30H120v-60h120q17 0 28.5 11.5T280-280v40q0 17-11.5 28.5T240-200q17 0 28.5 11.5T280-160v40q0 17-11.5 28.5T240-80H120Zm0-280v-110q0-17 11.5-28.5T160-510h60v-30H120v-60h120q17 0 28.5 11.5T280-560v70q0 17-11.5 28.5T240-450h-60v30h100v60H120Zm60-280v-180h-60v-60h120v240h-60Zm180 440v-80h480v80H360Zm0-240v-80h480v80H360Zm0-240v-80h480v80H360Z"/></svg>';var Yp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M222-200 80-342l56-56 85 85 170-170 56 57-225 226Zm0-320L80-662l56-56 85 85 170-170 56 57-225 226Zm298 240v-80h360v80H520Zm0-320v-80h360v80H520Z"/></svg>';var Zp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm0 440v-320l160 160-160 160Z"/></svg>';var Vp='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M120-120v-80h720v80H120Zm320-160v-80h400v80H440Zm0-160v-80h400v80H440Zm0-160v-80h400v80H440ZM120-760v-80h720v80H120Zm160 440L120-480l160-160v320Z"/></svg>';function yE(o){let e=o.getParent();if(!U(e))return o;let t=o.getChildren().filter(d=>U(d))[0]||null,n=t?.getChildren()||[],r=e.getChildren(),i=r.findIndex(d=>d.getKey()===o.getKey()),s=i===0,l=$e(),a=Ce(e.getListType());if(a.append(l),l.append(...o.getChildren()),s?o.append(a):(r[i-1].append(a),o.remove()),t){for(let d of n)l.insertAfter(d);t.remove()}return l}function SE(o){let e=o.getParent(),t=e?.getParent(),n=t?.getParent();if(!U(e)||!U(n)||!X(t))return o;let r=o.getNextSiblings();if(t.insertAfter(o),e.getChildren().length===0&&e.remove(),r.length>0){let i=Ce(e.getListType());i.append(...r),o.append(i)}return e.getChildrenSize()===0&&e.remove(),t.getChildren().length===0&&t.remove(),o}function LE(o){let e=o?.getNodes()||[],[t,n]=o?.getStartEndPoints()||[null,null],r=new Set;if(o&&t){o.isBackward()&&n&&([n,t]=[t,n]);let s=t.getNode().getParents(),l=!1;for(let a of s)X(a)&&(l?r.add(a.getKey()):l=!0)}let i=[];e:for(let s of e){if(X(s)){r.has(s.getKey())||i.push(s);continue}let l=s.getParents();for(let a of l)if(X(a)){r.has(a.getKey())||i.push(a);continue e}i.push(null)}return i}function ME(o){let e={};for(let n of o){if(n===null)continue;let r=n.getKey();typeof e[r]>"u"&&(e[r]=n)}let t=Object.values(e);return nu(t)}function Jr(o,e){let t=T(),n=t?.getStartEndPoints(),r=LE(t);if(r.length>0&&!r.includes(null)){let l=[],a=ME(r);if(e>0)for(let d of a)l.push(yE(d));else if(e<0){for(let d of[...a].reverse())l.push(SE(d));l.reverse()}if(l.length===1&&n){let d=l[0],f=d.getChildren()[0];f||(f=q(""),d.append(f)),f.select(n[0].offset,n[1].offset)}else uu(l);return}let s=vt(t);for(let l of s)if(ru(l)){let a=l.getInset(),d=Math.min(Math.max(a+e,0),500);l.setInset(d)}fu(o)}function $a(o,e,t){return{label:o,icon:t,action(n){jr(n.editor,e)},isActive(n){return ae(n,r=>U(r)&&r.getListType()===e)}}}var Xp=$a("Bullet list","bullet",Wp),jp=$a("Numbered list","number",qp),Gp=$a("Task list","check",Yp),Jp={label:"Increase indent",icon:Zp,action(o){o.editor.update(()=>{Jr(o.editor,40)})},isActive(){return!1}},Qp={label:"Decrease indent",icon:Vp,action(o){o.editor.update(()=>{Jr(o.editor,-40)})},isActive(){return!1}};var eg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M680-160v-120H560v-80h120v-120h80v120h120v80H760v120h-80ZM440-280H280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h160v80H280q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h320v80H320Zm560-40h-80q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480Z"/></svg>';var tg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m770-302-60-62q40-11 65-42.5t25-73.5q0-50-35-85t-85-35H520v-80h160q83 0 141.5 58.5T880-480q0 57-29.5 105T770-302ZM634-440l-80-80h86v80h-6ZM792-56 56-792l56-56 736 736-56 56ZM440-280H280q-83 0-141.5-58.5T80-480q0-69 42-123t108-71l74 74h-24q-50 0-85 35t-35 85q0 50 35 85t85 35h160v80ZM320-440v-80h65l79 80H320Z"/></svg>';var og='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm480-480v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80ZM240-280h480L570-480 450-320l-90-120-120 160Zm-40-480v560-560Z"/></svg>';var ng='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M160-440v-80h640v80H160Z"/></svg>';var rg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var ig='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"/><path fill="none" d="M0 0h24v24H0z"/></svg>';var sg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M480-60q-63 0-106.5-43.5T330-210q0-52 31-91.5t79-53.5v-85H200v-160H100v-280h280v280H280v80h400v-85q-48-14-79-53.5T570-750q0-63 43.5-106.5T720-900q63 0 106.5 43.5T870-750q0 52-31 91.5T760-605v165H520v85q48 14 79 53.5t31 91.5q0 63-43.5 106.5T480-60Zm240-620q29 0 49.5-20.5T790-750q0-29-20.5-49.5T720-820q-29 0-49.5 20.5T650-750q0 29 20.5 49.5T720-680Zm-540 0h120v-120H180v120Zm300 540q29 0 49.5-20.5T550-210q0-29-20.5-49.5T480-280q-29 0-49.5 20.5T410-210q0 29 20.5 49.5T480-140ZM240-740Zm480-10ZM480-210Z"/></svg>';var lg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-480H200v480Zm80-280v-80h400v80H280Zm0 160v-80h240v80H280Z"/></svg>';var ag=`<svg viewbox="0 0 24 24"><path d="M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0 .39-.39.39-1.02 0-1.41l-3.17-3.17c-.39-.39-1.02-.39-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41zm7.76-14.6c-.39-.39-1.02-.39-1.41 0L12 7.17 9.53 4.7c-.39-.39-1.02-.39-1.41 0-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42z"/></svg>
`;var dg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m21.41 11.41-8.83-8.83c-.37-.37-.88-.58-1.41-.58H4c-1.1 0-2 .9-2 2v7.17c0 .53.21 1.04.59 1.41l8.83 8.83c.78.78 2.05.78 2.83 0l7.17-7.17c.78-.78.78-2.04-.01-2.83M6.5 8C5.67 8 5 7.33 5 6.5S5.67 5 6.5 5 8 5.67 8 6.5 7.33 8 6.5 8"/></svg>';var cg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="m380-300 280-180-280-180v360ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>';var er=class extends Error{constructor(e,t){super(e.statusText),this.data=t,this.headers=e.headers,this.redirected=e.redirected,this.status=e.status,this.statusText=e.statusText,this.url=e.url,this.original=e}};function ps(o){return new Promise((e,t)=>{o.oncomplete=o.onsuccess=()=>e(o.result),o.onabort=o.onerror=()=>t(o.error)})}function HE(o,e){let t,n=()=>{if(t)return t;let r=indexedDB.open(o);return r.onupgradeneeded=()=>r.result.createObjectStore(e),t=ps(r),t.then(i=>{i.onclose=()=>t=void 0},()=>{}),t};return(r,i)=>n().then(s=>i(s.transaction(e,r).objectStore(e)))}var Pa;function Ba(){return Pa||(Pa=HE("keyval-store","keyval")),Pa}function Ha(o,e=Ba()){return e("readonly",t=>ps(t.get(o)))}function Fa(o,e,t=Ba()){return t("readwrite",n=>(n.put(e,o),ps(n.transaction)))}function Ka(o,e=Ba()){return e("readwrite",t=>(t.delete(o),ps(t.transaction)))}var Tt=null,Wa,gs,Ua,za="last-drawing-save";function qa(o){Tt?.contentWindow?.postMessage(JSON.stringify(o),Wa)}function KE(o){Fa(za,o.data),Ua&&Ua(o.data).then(()=>{Ka(za)})}function UE(o){qa({action:"export",format:"xmlpng",xml:o.xml,spin:"Updating drawing"})}function zE(){gs&&gs().then(o=>{qa({action:"load",autosave:1,xml:o})})}function WE(){let o={};Tt&&(window.$events.emitPublic(Tt,"editor-drawio::configure",{config:o}),qa({action:"configure",config:o}))}function ug(){window.removeEventListener("message",fg),Tt&&document.body.removeChild(Tt)}function fg(o){if(!o.data||o.data.length<1||o.origin!==Wa)return;let e=JSON.parse(o.data);e.event==="init"?zE():e.event==="exit"?ug():e.event==="save"?UE(e):e.event==="export"?KE(e):e.event==="configure"&&WE()}async function qE(){let o=await Ha(za),e=document.getElementById("unsaved-drawing-dialog");e||console.error("Missing expected unsaved-drawing dialog"),o&&e&&await window.$components.firstOnElement(e,"confirm-dialog").show()&&(gs=async()=>o)}async function mg(o,e,t){gs=e,Ua=t,await qE(),Tt=document.createElement("iframe"),Tt.setAttribute("frameborder","0"),window.addEventListener("message",fg),Tt.setAttribute("src",o),Tt.setAttribute("class","fullscreen"),Tt.style.backgroundColor="#FFFFFF",document.body.appendChild(Tt),Wa=new URL(o).origin}async function pg(o,e){let t={image:o,uploaded_to:e};return(await window.$http.post(window.baseUrl("/images/drawio"),t)).data}function Ya(){ug()}async function gg(o){try{return`data:image/png;base64,${(await window.$http.get(window.baseUrl(`/images/drawio/base64/${o}`))).data.content}`}catch(e){throw e instanceof er&&window.$events.showResponseError(e),Ya(),e}}function dn(o){return o instanceof So}function ZE(o,e){o.status===413?window.$events.emit("error",e.options.translations.serverUploadLimitText||""):window.$events.emit("error",e.options.translations.imageUploadErrorText||""),console.error(o)}async function VE(o,e){return await new Promise((n,r)=>{o.getEditorState().read(()=>{let{id:i}=e.getDrawingIdAndUrl();n(i)})})||""}async function XE(o,e,t,n){if(Ya(),n){let r=window.baseUrl("/loading.gif");o.editor.update(()=>{e.setDrawingIdAndUrl("",r)})}try{let r=await pg(t,o.options.pageId);o.editor.update(()=>{e.setDrawingIdAndUrl(String(r.id),r.url)})}catch(r){throw r instanceof er&&ZE(r,o),n&&o.editor.update(()=>{e.remove()}),new Error(`Failed to save image with error: ${r}`)}}function Qr(o,e){let t=!1;mg(o.options.drawioUrl,async()=>{let n=await VE(o.editor,e);return t=!n,t?"":gg(n)},async n=>XE(o,e,n,t))}function jE(o){window.$components.first("image-manager").show(t=>{o(t)},"drawio")}function hg(o){let e=le(o.editor);jE(t=>{o.editor.update(()=>{let n=Zn(t.id,t.url),r=Z(e,dn);dn(r)?r.replace(n):Le([n])})})}function hs(o){window.$components.first("image-manager").show(t=>{o(t)},"gallery")}function Ng(o){let e=o.thumbs?.display||o.url,t=ht(e,{target:"_blank"}),n=jo(e,{alt:o.name});return t.append(n),t}async function xg(o,e){if(o===null||o.type.indexOf("image")!==0)throw new Error("Not an image file");let t=o.name||`image-${Date.now()}.png`,n=new FormData;return n.append("file",o,t),n.append("uploaded_to",e),(await window.$http.post("/images/gallery",n)).data}var ei=class extends te{constructor(e,t){super([e,t]),this.input=e,this.action=t}buildDOM(){return b("div",{class:"editor-action-input-container"},[this.input.getDOMElement(),this.action.getDOMElement()])}};var Eg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960"><path d="M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h200v80H200v560h560v-214l80 80v134q0 33-23.5 56.5T760-120H200Zm40-160 120-160 90 120 120-160 150 200H240Zm622-144L738-548q-21 14-45 21t-51 7q-74 0-126-52.5T464-700q0-75 52.5-127.5T644-880q75 0 127.5 52.5T824-700q0 27-8 52t-20 46l122 122-56 56ZM644-600q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Z"/></svg>';var Tg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"/><path fill="none" d="M0 0h24v24H0z"/></svg>';function Ns(o,e){window.$components.first("entity-selector-popup").show(n=>o(n),{initialValue:e,searchEndpoint:"/search/entity-selector",entityTypes:"page,book,chapter,bookshelf",entityPermission:"view"})}var xs=class extends te{constructor(t){super([t]);this.headerMap=new Map;this.input=t}buildDOM(){let t="editor-form-datalist-"+this.input.getName()+"-"+Date.now(),n=this.input.getDOMElement(),r=n.querySelector("input");r?.setAttribute("list",t),r?.setAttribute("autocomplete","off");let i=b("datalist",{id:t}),s=b("div",{class:"editor-link-field-container"},[n,i]);return r?.addEventListener("focusin",()=>{this.updateDataList(i)}),r?.addEventListener("input",()=>{let l=r.value,a=this.headerMap.get(l);a&&this.updateFormFromHeader(a)}),s}updateFormFromHeader(t){this.getHeaderIdAndText(t).then(({id:n,text:r})=>{let i=this.getContext().manager.getActiveModal("link");i&&i.getForm().setValues({url:`#${n}`,text:r,title:r})})}getHeaderIdAndText(t){return new Promise(n=>{this.getContext().editor.update(()=>{let r=t.getId();r||(r="header-"+ns(),t.setId(r));let i=t.getTextContent();n({id:r,text:i})})})}updateDataList(t){this.getContext().editor.getEditorState().read(()=>{let n=Ol(Gn);this.headerMap.clear();let r=[];for(let i of n){let s="header-"+i.getKey();this.headerMap.set(s,i),r.push(b("option",{value:s,label:i.getTextContent().substring(0,54)}))}t.innerHTML="",t.append(...r)})}};function Cg(o,e){let t=e.manager.createModal("image"),n=o.getHeight(),r=o.getWidth(),i={src:o.getSrc(),alt:o.getAltText(),height:n===0?"":String(n),width:r===0?"":String(r)};t.show(i)}var _g={submitText:"Apply",async action(o,e){return e.editor.update(()=>{let t=le(e.editor),n=Z(t,Nt);Nt(n)&&(n.setSrc(o.get("src")?.toString()||""),n.setAltText(o.get("alt")?.toString()||""),n.setWidth(Number(o.get("width")?.toString()||"0")),n.setHeight(Number(o.get("height")?.toString()||"0")))}),!0},fields:[{build(){return new ei(new kt({label:"Source",name:"src",type:"text"}),new v({label:"Browse files",icon:Eg,action(o){hs(e=>{let t=o.manager.getActiveModal("image");t&&t.getForm().setValues({src:e.thumbs?.display||e.url,alt:e.name})})}}))}},{label:"Alternative description",name:"alt",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]};function Es(o,e){let t=e.manager.createModal("link");if(o){let n={url:o.getURL(),text:o.getTextContent(),title:o.getTitle()||"",target:o.getTarget()||""};e.editor.update(()=>{let r=Yo();r.add(o.getKey()),Y(r)}),t.show(n)}else e.editor.getEditorState().read(()=>{let i={text:T()?.getTextContent()||""};t.show(i)})}var bg={submitText:"Apply",async action(o,e){return cs(e.editor,{url:o.get("url")?.toString()||"",title:o.get("title")?.toString()||"",target:o.get("target")?.toString()||"",text:o.get("text")?.toString()||""}),!0},fields:[{build(){return new ei(new xs(new kt({label:"URL",name:"url",type:"text"})),new v({label:"Browse links",icon:Tg,action(o){Ns(e=>{let t=o.manager.getActiveModal("link");t&&t.getForm().setValues({url:e.link,text:e.name,title:e.name})})}}))}},{label:"Text to display",name:"text",type:"text"},{label:"Title",name:"title",type:"text"},{label:"Open link in...",name:"target",type:"select",valuesByLabel:{"Current window":"","New window":"_blank"}}]};function yg(o,e){let t=e.manager.createModal("media"),n={};if(o){let r=o.getAttributes();n={src:r.src||r.data||"",width:r.width,height:r.height,embed:""}}t.show(n)}var Sg={submitText:"Save",async action(o,e){let t=await new Promise((r,i)=>{e.editor.getEditorState().read(()=>{let s=Z(T(),to);r(s)})}),n=(o.get("embed")||"").toString().trim();return n?(e.editor.update(()=>{let r=Rf(n);t&&r?t.replace(r):r&&Le([r])}),!0):(e.editor.update(()=>{let r=(o.get("src")||"").toString().trim(),i=(o.get("height")||"").toString().trim(),s=(o.get("width")||"").toString().trim();if(t){t.setSrc(r),t.setWidthAndHeight(s,i);return}let l=kf(r);(s||i)&&l.setWidthAndHeight(s,i),Le([l])}),!0)},fields:[{build(){return new sn([{label:"General",contents:[{label:"Source",name:"src",type:"text"},{label:"Width",name:"width",type:"text"},{label:"Height",name:"height",type:"text"}]},{label:"Embed",contents:[{label:"Paste your embed code below:",name:"embed",type:"textarea"}]}])}}]};function Lg(o,e){let t=e.manager.createModal("details");o&&t.show({summary:o.getSummary()})}var Mg={submitText:"Save",async action(o,e){return e.editor.update(()=>{let t=Z(T(),Ie),n=(o.get("summary")||"").toString().trim();Ie(t)&&t.setSummary(n)}),!0},fields:[{label:"Toggle label",name:"summary",type:"text"}]};var Za={label:"Insert/edit link",icon:eg,action(o){o.editor.getEditorState().read(()=>{let e=Z(T(),At);Es(e,o)})},isActive(o){return ae(o,At)}},vg={label:"Remove link",icon:tg,action(o){o.editor.update(()=>{let e=le(o.editor),t=Z(e,At);if(t){let n=t.getChildren().reverse();for(let r of n)t.insertAfter(r);t.remove(),n[n.length-1].selectStart(),o.manager.triggerFutureStateRefresh()}})},isActive(o){return!1}},Va={label:"Insert/Edit Image",icon:og,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=Z(e,Nt);if(t){Cg(t,o);return}hs(n=>{o.editor.update(()=>{let r=Ng(n);Le([r])})})})},isActive(o){return ae(o,Nt)}},wg={label:"Insert horizontal line",icon:ng,action(o){o.editor.update(()=>{Wo(xa(),!1)})},isActive(o){return ae(o,wf)}},Xa={label:"Insert code block",icon:rg,action(o){Gr(o.editor)},isActive(o){return ae(o,Gi)}},Dg=Object.assign({},Xa,{label:"Edit code block",icon:ig}),Og={label:"Insert/edit drawing",icon:sg,action(o){o.editor.getEditorState().read(()=>{let e=le(o.editor),t=Z(e,dn);t===null?o.editor.update(()=>{let n=Zn();Wo(n,!0),Qr(o,n),n.selectStart()}):Qr(o,t)})},isActive(o){return ae(o,dn)}},Ag={label:"Drawing manager",action(o){hg(o)},isActive(){return!1}},Rg={label:"Insert/edit media",icon:cg,action(o){o.editor.getEditorState().read(()=>{let e=T(),t=Z(e,to);yg(t,o)})},isActive(o){return ae(o,to)}},kg={label:"Insert collapsible block",icon:lg,action(o){o.editor.update(()=>{let e=T(),t=Xl(),r=(e?.getNodes()||[]).map(s=>s.getTopLevelElement()).filter(s=>s!==null),i=[...new Set(r)];i.length>0?i[0].insertAfter(t):H().append(t);for(let s of i)t.append(s)})},isActive(o){return ae(o,Ie)}},Ig={label:"Edit label",icon:dg,action(o){o.editor.getEditorState().read(()=>{let e=Z(T(),Ie);Ie(e)&&Lg(e,o)})},isActive(o){return!1}},$g={label:"Toggle open/closed",icon:ag,action(o){o.editor.update(()=>{let e=Z(T(),Ie);Ie(e)&&(e.setOpen(!e.getOpen()),o.manager.triggerLayoutUpdate())})},isActive(o){return!1}},Pg={label:"Unwrap",icon:is,action(o){o.editor.update(()=>{let e=Z(T(),Ie);if(Ie(e)){let t=e.getChildren();for(let n of t)e.insertBefore(n);e.remove(),o.manager.triggerLayoutUpdate()}})},isActive(o){return!1}};var Bg=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="m2 6.9159 10 10.168 10-10.168z" stroke-width="2.0168"/></svg>
`;var Ts=class extends te{constructor(e,t){super([e]),this.button=e,this.dropdownButton=new Ee({button:{label:"Menu",icon:Bg},showOnHover:!1,direction:"vertical",showAside:!1},t),this.addChildren(this.dropdownButton)}buildDOM(){return b("div",{class:"editor-button-with-menu-container"},[this.button.getDOMElement(),this.dropdownButton.getDOMElement()])}};var cn=class extends ve{buildDOM(){return b("div",{class:"editor-separator"})}};function Hg(o){let e=o.manager.getDefaultDirection()==="rtl";return new es("editor-toolbar-main",[new nt(2,[new v(Ym),new v(Zm)]),new ts([new Ye(b("h2"),op),new Ye(b("h3"),np),new Ye(b("h4"),rp),new Ye(b("h5"),ip),new Ye(b("blockquote"),sp),new Ye(b("p"),lp),new Ee({button:{label:"Callouts",format:"long"},showOnHover:!0,direction:"vertical"},[new Ye(b("p",{class:"callout info"}),Jm),new Ye(b("p",{class:"callout success"}),tp),new Ye(b("p",{class:"callout warning"}),ep),new Ye(b("p",{class:"callout danger"}),Qm)])]),new nt(6,[new v(xp),new v(Ep),new v(Tp),new Ee({button:new qr(Cp,"color")},[new rn(yp)]),new Ee({button:new qr(_p,"background-color")},[new rn(Sp)]),new v(Lp),new v(Mp),new v(vp),new v(wp),new v(Dp)]),new nt(6,[new v(Bp),new v(Hp),new v(Fp),new v(Kp),e?new v(Up):null,e?new v(zp):null].filter(t=>t!==null)),new nt(3,[new v(Xp),new v(jp),new v(Gp),new v(Qp),new v(Jp)]),new nt(4,[new v(Za),new Ee({button:Cm,direction:"vertical",showAside:!1},[new Ee({button:{label:"Insert",format:"long"},showOnHover:!0,showAside:!0},[new rs]),new cn,new Ee({button:{label:"Cell",format:"long"},direction:"vertical",showOnHover:!0},[new v(km),new v(Im),new v($m)]),new Ee({button:{label:"Row",format:"long"},direction:"vertical",showOnHover:!0},[new v({...Da,format:"long"}),new v({...Oa,format:"long"}),new v({...Aa,format:"long"}),new v(Sm),new cn,new v(Lm),new v(Mm),new v(vm),new v(wm)]),new Ee({button:{label:"Column",format:"long"},direction:"vertical",showOnHover:!0},[new v({...Ra,format:"long"}),new v({...ka,format:"long"}),new v({...Ia,format:"long"}),new cn,new v(Dm),new v(Om),new v(Am),new v(Rm)]),new cn,new v({...va,format:"long"}),new v(_m),new v(bm),new v(ym)]),new v(Va),new v(wg),new v(Xa),new Ts(new v(Og),[new v(Ag)]),new v(Rg),new v(kg)]),new nt(3,[new v(Vm),new v(jm),new v(Xm)])])}function Fg(){return[new v(Va)]}function Kg(){return[new v(Za),new v(vg)]}function Ug(){return[new v(Dg)]}function zg(){return[new nt(2,[new v(va),new v(wa)]),new nt(3,[new v(Da),new v(Oa),new v(Aa)]),new nt(3,[new v(Ra),new v(ka),new v(Ia)])]}function Wg(){return[new v(Ig),new v($g),new v(Pg)]}var qg='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>';var Cs=class extends te{constructor(e,t){super([new ss(e.form)]),this.definition=e,this.key=t}show(e){let t=this.getDOMElement();document.body.append(t);let n=this.getForm();n.setValues(e),n.setOnCancel(this.hide.bind(this)),n.setOnSuccessfulSubmit(this.hide.bind(this)),this.getContext().manager.setModalActive(this.key,this)}hide(){this.getDOMElement().remove(),this.getContext().manager.setModalInactive(this.key)}getForm(){return this.children[0]}buildDOM(){let e=b("button",{class:"editor-modal-close",type:"button",title:this.trans("Close")});e.innerHTML=qg,e.addEventListener("click",this.hide.bind(this));let t=b("div",{class:"editor-modal editor-form-modal"},[b("div",{class:"editor-modal-header"},[b("div",{class:"editor-modal-title"},[this.trans(this.definition.title)]),e]),b("div",{class:"editor-modal-body"},[this.getForm().getDOMElement()])]),n=b("div",{class:"editor-modal-wrapper"},[t]);return n.addEventListener("click",r=>{r.target&&!t.contains(r.target)&&this.hide()}),n}};var _s=class extends te{constructor(e,t){super(t),this.target=e}buildDOM(){return b("div",{class:"editor-context-toolbar"},this.getChildren().map(e=>e.getDOMElement()))}updatePosition(){let e=this.getContext().scrollDOM.getBoundingClientRect(),t=this.target.getBoundingClientRect(),n=this.getDOMElement(),r=n.getBoundingClientRect(),i=t.bottom>e.top&&t.top<e.bottom;if(n.hidden=!i,!i)return;let s=t.bottom+6+r.height>e.bottom;n.classList.toggle("is-above",s);let a=t.left+t.width/2-r.width/2;s?n.style.top=t.top-6-r.height+"px":n.style.top=t.bottom+6+"px",n.style.left=a+"px"}insert(e){this.addChildren(...e),this.getDOMElement().append(...e.map(n=>n.getDOMElement()))}empty(){let e=this.getChildren();for(let t of e)t.getDOMElement().remove();this.removeChildren(...e)}destroy(){this.empty(),this.getDOMElement().remove()}};function tT(o,e,t){let n=e.getBoundingClientRect(),r=o.getBoundingClientRect();if(o.style.position="fixed",t){let i=n.right;n.right+r.width>window.innerWidth&&(i=Math.max(n.left-r.width,0)),o.style.top=n.top+"px",o.style.left=i+"px"}else{let i=n.left+r.width>window.innerWidth,s=n.left;i&&(s=Math.max(n.right-r.width,0)),o.style.top=n.bottom+"px",o.style.left=s+"px"}}var bs=class{constructor(){this.dropdownOptions=new WeakMap;this.openDropdowns=new Set;this.onMenuMouseOver=this.onMenuMouseOver.bind(this),window.addEventListener("click",e=>{let t=e.target;this.closeAllNotContainingElement(t)})}closeAllNotContainingElement(e){for(let t of this.openDropdowns)t.parentElement?.contains(e)||this.closeDropdown(t)}onMenuMouseOver(e){let t=e.target;this.closeAllNotContainingElement(t)}closeAll(){for(let e of this.openDropdowns)this.closeDropdown(e)}closeDropdown(e){e.hidden=!0,e.style.removeProperty("position"),e.style.removeProperty("left"),e.style.removeProperty("top"),this.openDropdowns.delete(e),e.removeEventListener("mouseover",this.onMenuMouseOver);let t=this.getOptions(e).onClose;t&&t()}openDropdown(e){let{toggle:t,showAside:n,onOpen:r}=this.getOptions(e);e.hidden=!1,tT(e,t,!!n),this.openDropdowns.add(e),e.addEventListener("mouseover",this.onMenuMouseOver),r&&r()}getOptions(e){let t=this.dropdownOptions.get(e);if(!t)throw new Error("Can't find options for dropdown menu");return t}handle(e){let{menu:t,toggle:n,showOnHover:r}=e;this.dropdownOptions.set(t,e);let i=s=>{t.hasAttribute("hidden")?this.openDropdown(t):this.closeDropdown(t)};n.addEventListener("click",i),r&&n.addEventListener("mouseenter",()=>{this.openDropdown(t)})}};var ys=class{constructor(){this.modalDefinitionsByKey={};this.activeModalsByKey={};this.decoratorConstructorsByType={};this.decoratorInstancesByNodeKey={};this.context=null;this.toolbar=null;this.contextToolbarDefinitionsByKey={};this.activeContextToolbars=[];this.selectionChangeHandlers=new Set;this.dropdowns=new bs}setContext(e){this.context=e,this.setupEventListeners(e),this.setupEditor(e.editor)}getContext(){if(this.context===null)throw new Error("Context attempted to be used without being set");return this.context}triggerStateUpdateForElement(e){e.updateState({selection:null,editor:this.getContext().editor})}registerModal(e,t){this.modalDefinitionsByKey[e]=t}createModal(e){let t=this.modalDefinitionsByKey[e];if(!t)throw new Error(`Attempted to show modal of key [${e}] but no modal registered for that key`);let n=new Cs(t,e);return n.setContext(this.getContext()),n}setModalActive(e,t){this.activeModalsByKey[e]=t}setModalInactive(e){delete this.activeModalsByKey[e]}getActiveModal(e){return this.activeModalsByKey[e]}registerDecoratorType(e,t){this.decoratorConstructorsByType[e]=t}getDecorator(e,t){if(this.decoratorInstancesByNodeKey[t])return this.decoratorInstancesByNodeKey[t];let n=this.decoratorConstructorsByType[e];if(!n)throw new Error(`Attempted to use decorator of type [${e}] but not decorator registered for that type`);let r=new n(t);return this.decoratorInstancesByNodeKey[t]=r,r}getDecoratorByNodeKey(e){return this.decoratorInstancesByNodeKey[e]||null}setToolbar(e){this.toolbar&&this.toolbar.getDOMElement().remove(),this.toolbar=e,e.setContext(this.getContext()),this.getContext().containerDOM.prepend(e.getDOMElement())}registerContextToolbar(e,t){this.contextToolbarDefinitionsByKey[e]=t}triggerStateUpdate(e){su(e.editor,e.selection),this.toolbar?.updateState(e),this.updateContextToolbars(e);for(let t of this.activeContextToolbars)t.updateState(e);this.triggerSelectionChange(e.selection)}triggerStateRefresh(){let e=this.getContext().editor,t={editor:e,selection:le(e)};this.triggerStateUpdate(t),this.updateContextToolbars(t)}triggerFutureStateRefresh(){requestAnimationFrame(()=>{this.getContext().editor.getEditorState().read(()=>{this.triggerStateRefresh()})})}triggerSelectionChange(e){if(e)for(let t of this.selectionChangeHandlers)t(e)}onSelectionChange(e){this.selectionChangeHandlers.add(e)}offSelectionChange(e){this.selectionChangeHandlers.delete(e)}triggerLayoutUpdate(){window.requestAnimationFrame(()=>{for(let e of this.activeContextToolbars)e.updatePosition()})}getDefaultDirection(){return this.getContext().options.textDirection==="rtl"?"rtl":"ltr"}updateContextToolbars(e){for(let s=this.activeContextToolbars.length-1;s>=0;s--)this.activeContextToolbars[s].destroy(),this.activeContextToolbars.splice(s,1);let t=(e.selection?.getNodes()||[])[0]||null;if(!t)return;let n=e.editor.getElementByKey(t.getKey());if(!n)return;let r=Object.keys(this.contextToolbarDefinitionsByKey),i=new Map;for(let s of r){let l=this.contextToolbarDefinitionsByKey[s],a=n.closest(l.selector)||n.querySelector(l.selector);if(a){let d=l.displayTargetLocator?l.displayTargetLocator(a):a;i.has(d)||i.set(d,[]),i.get(d).push(...l.content)}}for(let[s,l]of i){let a=new _s(s,l);a.setContext(this.getContext()),this.activeContextToolbars.push(a),this.getContext().containerDOM.append(a.getDOMElement()),a.updatePosition()}}setupEditor(e){let t=n=>{e.getEditorState().read(()=>{let r=Object.keys(n);for(let i of r){let s=e.getElementByKey(i);if(!s)continue;let l=n[i],a=this.getDecorator(l.type,i);a.setNode(l.getNode());let d=a.render(this.getContext(),s);d&&s.append(d)}})};e.registerDecoratorListener(t),e.registerUpdateListener(({editorState:n,prevEditorState:r})=>{!r._selection?.is(n._selection)&&e.update(()=>{let s=T();this.triggerStateUpdate({editor:e,selection:s})})})}setupEventListeners(e){let t=this.triggerLayoutUpdate.bind(this);window.addEventListener("scroll",t,{capture:!0,passive:!0}),window.addEventListener("resize",t,{passive:!0})}};var tr=class{constructor(e){this.node=null;this.onDestroyCallbacks=[];this.context=e}getNode(){if(!this.node)throw new Error("Attempted to get use node without it being set");return this.node}setNode(e){this.node=e}onDestroy(e){this.onDestroyCallbacks.push(e)}destroy(e){for(let t of this.onDestroyCallbacks)t()}};var Ss=class extends tr{constructor(){super(...arguments);this.completedSetup=!1;this.latestCode="";this.latestLanguage="";this.editor=null}setup(t,n){let r=this.getNode(),i=n.querySelector("pre");if(!i)return;i&&(i.hidden=!0),this.latestCode=r.__code,this.latestLanguage=r.__language;let l=this.latestCode.split(`
`).length*19.2+18+24;n.style.height=`${l}px`;let a=Date.now();n.addEventListener("click",m=>{requestAnimationFrame(()=>{t.editor.update(()=>{Oe(this.getNode())})})}),n.addEventListener("dblclick",m=>{t.editor.getEditorState().read(()=>{Wr(t.editor,this.getNode())})});let d=m=>{n.classList.toggle("selected",Ai(m,r))};t.manager.onSelectionChange(d),this.onDestroy(()=>{t.manager.offSelectionChange(d)});let f=m=>{this.editor=m.wysiwygView(n,document,this.latestCode,this.latestLanguage),setTimeout(()=>{n.style.height=""},12)};window.importVersioned("code").then(m=>{let c=Date.now()-a<20?20:0;setTimeout(()=>f(m),c)}),this.completedSetup=!0}update(){let t=this.getNode(),n=t.getCode(),r=t.getLanguage();this.latestCode===n&&this.latestLanguage===r||(this.latestLanguage=r,this.latestCode=n,this.editor&&(this.editor.setContent(n),this.editor.setMode(r,n)))}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var Ls=class extends tr{constructor(){super(...arguments);this.completedSetup=!1}setup(t,n){let r=this.getNode();n.classList.add("editor-diagram"),t.editor.registerCommand(Mo,s=>n.contains(s.target)?(t.editor.update(()=>{Oe(this.getNode())}),!0):!1,Bn),n.addEventListener("dblclick",s=>{t.editor.getEditorState().read(()=>{Qr(t,this.getNode())})});let i=s=>{n.classList.toggle("selected",Ai(s,r))};t.manager.onSelectionChange(i),this.onDestroy(()=>{t.manager.offSelectionChange(i)}),this.completedSetup=!0}update(){}render(t,n){this.completedSetup?this.update():this.setup(t,n)}};var Ms=class extends ve{constructor(t){super();this.url="";this.url=t}buildDOM(){let t=b("div",{class:"editor-external-content"});return window.$http.get(this.url).then(n=>{typeof n.data=="string"&&(t.innerHTML=n.data)}),t}};var Yg={submitText:"Save",async action(o,e){return Qn(e.editor,o.get("source")?.toString()||""),!0},fields:[{label:"Source",name:"source",type:"textarea"}]},Zg={submitText:"Close",async action(){return!0},fields:[{build(){return new Ms("/help/wysiwyg")}}]};var ja={link:{title:"Insert/Edit Link",form:bg},image:{title:"Insert/Edit Image",form:_g},media:{title:"Insert/Edit Media",form:Sg},source:{title:"Source code",form:Yg},cell_properties:{title:"Cell Properties",form:Qf},row_properties:{title:"Row Properties",form:tm},table_properties:{title:"Table Properties",form:nm},details:{title:"Edit collapsible block",form:Mg},about:{title:"About the WYSIWYG Editor",form:Zg}};function Vg(o,e,t,n,r){let i=new ys,s={editor:n,containerDOM:o,editorDOM:e,scrollDOM:t,manager:i,translate(l){return r.translations[l]||l},error(l){let a=l instanceof Error?l.message:l;window.$events.error(a)},options:r};i.setContext(s),i.setToolbar(Hg(s));for(let l of Object.keys(ja))i.registerModal(l,ja[l]);return i.registerContextToolbar("image",{selector:"img:not([drawio-diagram] img)",content:Fg()}),i.registerContextToolbar("link",{selector:"a",content:Kg(),displayTargetLocator(l){return l.querySelector("img")||l}}),i.registerContextToolbar("code",{selector:".editor-code-block-wrap",content:Ug()}),i.registerContextToolbar("table",{selector:"td,th",content:zg(),displayTargetLocator(l){return l.closest("table")}}),i.registerContextToolbar("details",{selector:"details",content:Wg()}),i.registerDecoratorType("code",Ss),i.registerDecoratorType("diagram",Ls),s}var or=class{constructor(e,t,n){this.startX=0;this.startY=0;this.target=null;this.container=e,this.dragTargetSelector=t,this.options=n,this.onMouseDown=this.onMouseDown.bind(this),this.onMouseMove=this.onMouseMove.bind(this),this.onMouseUp=this.onMouseUp.bind(this),this.container.addEventListener("mousedown",this.onMouseDown)}teardown(){this.container.removeEventListener("mousedown",this.onMouseDown),this.container.removeEventListener("mouseup",this.onMouseUp),this.container.removeEventListener("mousemove",this.onMouseMove)}onMouseDown(e){this.target=e.target.closest(this.dragTargetSelector),this.target&&(this.startX=e.screenX,this.startY=e.screenY,window.addEventListener("mousemove",this.onMouseMove),window.addEventListener("mouseup",this.onMouseUp),this.options.down&&this.options.down(e,this.target))}onMouseMove(e){this.options.move&&this.target&&this.options.move(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}onMouseUp(e){window.removeEventListener("mousemove",this.onMouseMove),window.removeEventListener("mouseup",this.onMouseUp),this.options.up&&this.target&&this.options.up(e,this.target,{x:e.screenX-this.startX,y:e.screenY-this.startY})}};var Ga=class{constructor(e,t){this.markerDom=null;this.mouseTracker=null;this.dragging=!1;this.targetCell=null;this.xMarkerAtStart=!1;this.yMarkerAtStart=!1;this.editor=e,this.editScrollContainer=t,this.setupListeners()}teardown(){this.editScrollContainer.removeEventListener("mousemove",this.onCellMouseMove),window.removeEventListener("scroll",this.onScrollOrResize,{capture:!0}),window.removeEventListener("resize",this.onScrollOrResize),this.mouseTracker&&this.mouseTracker.teardown()}setupListeners(){this.onCellMouseMove=this.onCellMouseMove.bind(this),this.onScrollOrResize=this.onScrollOrResize.bind(this),this.editScrollContainer.addEventListener("mousemove",this.onCellMouseMove),window.addEventListener("scroll",this.onScrollOrResize,{capture:!0,passive:!0}),window.addEventListener("resize",this.onScrollOrResize,{passive:!0})}onScrollOrResize(){this.updateCurrentMarkerTargetPosition()}onCellMouseMove(e){let t=e.target.closest("td,th");if(!t||this.dragging)return;let n=t.getBoundingClientRect(),r=n.left+n.width/2,i=n.top+n.height/2;this.targetCell=t,this.xMarkerAtStart=e.clientX<=r,this.yMarkerAtStart=e.clientY<=i;let s=this.xMarkerAtStart?n.left:n.right,l=this.yMarkerAtStart?n.top:n.bottom;this.updateMarkersTo(t,s,l)}updateMarkersTo(e,t,n){let r=this.getMarkers(),s=e.closest("table").getBoundingClientRect(),l=this.editScrollContainer.getBoundingClientRect(),a=Math.max(s.top,l.top),f=Math.min(s.bottom,l.bottom)-a;r.x.style.left=t+"px",r.x.style.top=a+"px",r.x.style.height=f+"px",r.y.style.top=n+"px",r.y.style.left=s.left+"px",r.y.style.width=s.width+"px",r.y.hidden=n<l.top||n>l.bottom,r.x.hidden=s.top>l.bottom||s.bottom<l.top}updateCurrentMarkerTargetPosition(){if(!this.targetCell)return;let e=this.targetCell.getBoundingClientRect(),t=this.xMarkerAtStart?e.left:e.right,n=this.yMarkerAtStart?e.top:e.bottom;this.updateMarkersTo(this.targetCell,t,n)}getMarkers(){if(!this.markerDom){this.markerDom={x:b("div",{class:"editor-table-marker editor-table-marker-column"}),y:b("div",{class:"editor-table-marker editor-table-marker-row"})};let e=b("div",{class:"editor-table-marker-wrap"},[this.markerDom.x,this.markerDom.y]);this.editScrollContainer.after(e),this.watchMarkerMouseDrags(e)}return this.markerDom}watchMarkerMouseDrags(e){let t=this,n=0,r="left";this.mouseTracker=new or(e,".editor-table-marker",{down(i,s){s.classList.add("active"),t.dragging=!0,r=s.classList.contains("editor-table-marker-column")?"left":"top",n=Number(s.style[r].replace("px",""))},move(i,s,l){s.style[r]=n+l[r==="left"?"x":"y"]+"px"},up(i,s,l){s.classList.remove("active"),s.style.left="0",s.style.top="0",t.dragging=!1;let a=t.targetCell?.closest("table");if(r==="left"&&t.targetCell&&a){let d=t.getTargetCellColumnIndex(),f=l.x;t.xMarkerAtStart&&d>0?d-=1:t.xMarkerAtStart&&d===0&&(f=-f),t.editor.update(()=>{let m=Q(a);if(m instanceof Et){let c=Cf(t.editor,m,d),u=Math.max(c+f,10);ga(m,d,u)}})}if(r==="top"&&t.targetCell){let d=t.targetCell;t.editor.update(()=>{let m=Q(d)?.getParent(),c=m?.getIndexWithinParent()||0,u=l.y;t.yMarkerAtStart&&c>0?c-=1:t.yMarkerAtStart&&c===0&&(u=-u);let p=m?.getParent()?.getChildren()[c];if(p instanceof Qt){let g=p.getHeight()||0,h=Math.max(g+u,10);p.setHeight(h)}})}}})}getTargetCellColumnIndex(){let e=this.targetCell;if(e===null)return-1;let t=0,n=e.parentElement;for(let r of n?.children||[]){let i=Number(r.getAttribute("colspan"));if((Number.isNaN(i)||i<1)&&(i=1),t+=i,r===e)return t-1}return-1}};function Xg(o,e){let t=new Ga(o,e);return()=>{t.teardown()}}function vs(o){return o.html||""}function jg(o){window.$events.listen("editor::replace",t=>{let n=vs(t);Qn(o,n)}),window.$events.listen("editor::append",t=>{let n=vs(t);Um(o,n)}),window.$events.listen("editor::prepend",t=>{let n=vs(t);zm(o,n)}),window.$events.listen("editor::insert",t=>{let n=vs(t);Wm(o,n)}),window.$events.listen("editor::focus",()=>{qm(o)});let e=!0;o.registerUpdateListener(({dirtyElements:t,dirtyLeaves:n,editorState:r,prevEditorState:i})=>{(t.size>0||n.size>0)&&(e?e=!1:window.$events.emit("editor-html-change",""))})}var ws=class{constructor(e){this.data=e}hasItems(){return!!this.data&&!!this.data.types&&this.data.types.length>0}containsTabularData(){let e=this.data.getData("text/rtf");return!!e&&e.includes("\\trowd")}getImages(){return this.getFiles().filter(e=>e.type.includes("image"))}getFiles(){let{files:e}=this.data;return[...e]}};function oT(o,e){let t=o.clientX,n=o.clientY;return document.elementFromPoint(t,n)?ou(e,o.clientX,o.clientY):null}function Gg(o,e,t){let n=oT(e,t);n&&Oe(n),Al(o,!0),(!B(n)||!n?.getTextContent())&&n?.remove()}async function nT(o,e,t){let i=((await window.$http.get(`/templates/${e}`)).data||{html:""}).html||"";o.update(()=>{let s=Eo(o,i);Gg(s,t,o)})}function Jg(o,e){let t=new ws(o),n=!1;if(!t.hasItems()||t.containsTabularData())return n;let r=t.getImages();return r.length>0&&(n=!0),e.editor.update(async()=>{for(let i of r){let s=window.baseUrl("/loading.gif"),l=jo(s),a=I();a.append(l),Le([a]);try{let d=await xg(i,e.options.pageId),f=d.name.replace(/"/g,"");e.editor.update(()=>{let m=jo(d.thumbs?.display||"",{alt:f}),c=ht(d.url,{target:"_blank"});c.append(m),l.replace(c)})}catch(d){e.editor.update(()=>{l.remove(!1)}),window.$events.error(d?.data?.message||e.options.translations.imageUploadErrorText),console.error(d)}}}),n}function rT(o,e){let t=/https?:\/\/([^?#]*?)\.(png|jpeg|jpg|gif|webp|bmp|avif)/i,n=o.getData("text/plain");return n&&t.test(n)?(e.editor.update(()=>{let r=jo(n);Le([r]),r.select()}),!0):!1}function iT(o){let e=o.editor;return t=>{let n=t.dataTransfer?.getData("bookstack/template")||"";if(n)return nT(e,n,t),t.preventDefault(),t.stopPropagation(),!0;let r=t.dataTransfer?.getData("text/html")||"";return r?(e.update(()=>{let i=Eo(e,r);Gg(i,t,e)}),t.preventDefault(),t.stopPropagation(),!0):t.dataTransfer&&Jg(t.dataTransfer,o)?(t.preventDefault(),t.stopPropagation(),!0):!1}}function sT(o){return e=>{if(!e.clipboardData)return!1;let t=rT(e.clipboardData,o)||Jg(e.clipboardData,o);return t&&e.preventDefault(),t}}function Qg(o){let e=iT(o),t=sT(o),n=o.editor.registerCommand(Ao,e,qe),r=o.editor.registerCommand(no,t,qe);return o.scrollDOM.addEventListener("drop",e),()=>{n(),r(),o.scrollDOM.removeEventListener("drop",e)}}var Ja=class{constructor(e,t){this.editor=e,this.editorContainer=t,this.setupListeners()}setupListeners(){this.handleClick=this.handleClick.bind(this),this.editorContainer.addEventListener("click",this.handleClick)}handleClick(e){let t=e.target;t instanceof HTMLElement&&t.nodeName==="LI"&&t.classList.contains("task-list-item")&&(this.handleTaskListItemClick(t,e),e.preventDefault())}handleTaskListItemClick(e,t){let n=e.getBoundingClientRect();t.clientX<=n.right&&t.clientX>=n.left&&t.clientY>=n.top&&t.clientY<=n.bottom||this.editor.update(()=>{let i=Q(e);X(i)&&i.setChecked(!i.getChecked())})}teardown(){this.editorContainer.removeEventListener("click",this.handleClick)}};function eh(o,e){let t=new Ja(o,e);return()=>{t.teardown()}}var Qa=class{constructor(e){this.tableSelections=new Map;this.unregisterMutationListener=()=>{};this.editor=e,this.init()}init(){this.unregisterMutationListener=this.editor.registerMutationListener(Et,e=>{for(let[t,n]of e)if(n==="created")this.editor.getEditorState().read(()=>{let r=J(t);K(r)&&this.initializeTableNode(r)});else if(n==="destroyed"){let r=this.tableSelections.get(t);r!==void 0&&(r.removeListeners(),this.tableSelections.delete(t))}})}initializeTableNode(e){let t=e.getKey(),n=this.editor.getElementByKey(t);if(n&&!this.tableSelections.has(t)){let r=fa(e,n,this.editor,!0);this.tableSelections.set(t,r)}}teardown(){this.unregisterMutationListener();for(let[,e]of this.tableSelections)e.removeListeners()}};function th(o){let e=new Qa(o);return()=>{e.teardown()}}function Ds(o,e){return ds(o,e),!0}function oo(o){return e=>(o(e),!0)}function oh(o){return o.dispatchCommand(Ne,"code"),!0}var nh={"meta+s":()=>(window.$events.emit("editor-save-draft"),!0),"meta+enter":()=>(window.$events.emit("editor-save-page"),!0),"meta+1":o=>Ds(o,"h1"),"meta+2":o=>Ds(o,"h2"),"meta+3":o=>Ds(o,"h3"),"meta+4":o=>Ds(o,"h4"),"meta+5":oo(Vr),"meta+d":oo(Vr),"meta+6":oo(Xr),"meta+q":oo(Xr),"meta+7":oo(Gr),"meta+e":oo(Gr),"meta+8":oh,"meta+shift+e":oh,"meta+9":oo(Gm),"meta+o":oo(o=>jr(o,"number")),"meta+p":oo(o=>jr(o,"bullet")),"meta+k":(o,e)=>(o.getEditorState().read(()=>{let t=Z(T(),At);Es(t,e)}),!0),"meta+shift+k":(o,e)=>(Ns(t=>{cs(o,{text:t.name,title:t.link,target:"",url:t.link})}),!0)};function lT(o){return e=>{let t=aT(e);nh[t]&&nh[t](o.editor,o)&&(e.stopPropagation(),e.preventDefault())}}function aT(o){return[(rh()?o.metaKey:o.ctrlKey)?"meta":"",o.shiftKey?"shift":"",o.key].filter(Boolean).join("+").toLowerCase()}function rh(){return window.navigator.userAgent.includes("Mac OS X")}function dT(o){o.registerCommand(He,e=>rh()?e?.metaKey||!1:e?.ctrlKey||!1,qe)}function ih(o){let e=lT(o);return dT(o.editor),o.editor.registerRootListener((t,n)=>{t?.addEventListener("keydown",e),n?.removeEventListener("keydown",e)})}function cT(o){return Nt(o)||to(o)}var ed=class{constructor(e){this.dom=null;this.mouseTracker=null;this.activeSelection="";this.context=e,this.scrollContainer=e.scrollDOM,this.onSelectionChange=this.onSelectionChange.bind(this),e.manager.onSelectionChange(this.onSelectionChange)}onSelectionChange(e){let t=e?.getNodes()||[];if(this.activeSelection&&this.hide(),t.length===1&&cT(t[0])){let n=t[0],r=n.getKey(),i=this.context.editor.getElementByKey(r);i&&i.nodeName==="SPAN"&&(i=i.firstElementChild),i&&this.showForNode(n,i)}}teardown(){this.context.manager.offSelectionChange(this.onSelectionChange),this.hide()}showForNode(e,t){this.dom=this.buildDOM();let n=b("span",{class:"editor-node-resizer-ghost"});Nt(e)&&(n=b("img",{src:t.getAttribute("src"),class:"editor-node-resizer-ghost"})),this.dom.append(n),this.context.scrollDOM.append(this.dom),this.updateDOMPosition(t),this.mouseTracker=this.setupTracker(this.dom,e,t),this.activeSelection=e.getKey()}updateDOMPosition(e){if(!this.dom)return;let t=this.scrollContainer.getBoundingClientRect(),n=e.getBoundingClientRect(),r=n.top-(t.top-this.scrollContainer.scrollTop),i=n.left-t.left;this.dom.style.top=`${r}px`,this.dom.style.left=`${i}px`,this.dom.style.width=n.width+"px",this.dom.style.height=n.height+"px"}updateDOMSize(e,t){this.dom&&(this.dom.style.width=e+"px",this.dom.style.height=t+"px")}hide(){this.mouseTracker?.teardown(),this.dom?.remove(),this.activeSelection=""}buildDOM(){let t=["nw","ne","se","sw"].map(n=>b("div",{class:`editor-node-resizer-handle ${n}`}));return b("div",{class:"editor-node-resizer"},t)}setupTracker(e,t,n){let r=0,i=0,s=0,l=!1,a=this,d=!1,f=!1,m=c=>{let u=c.x;d&&(u=0-u);let p=c.y;f&&(p=0-p);let g=Math.sqrt(Math.pow(Math.abs(u),2)+Math.pow(Math.abs(p),2)),C=u+p>0?g:0-g,N=Math.max(5,Math.round(r+C)),L=Math.round(N*s);return{width:N,height:L}};return new or(e,".editor-node-resizer-handle",{down(c,u){a.dom?.classList.add("active"),a.context.editor.getEditorState().read(()=>{let p=n.getBoundingClientRect();r=t.getWidth()||p.width,i=t.getHeight()||p.height,t.getHeight()&&(l=!0),s=i/r}),d=u.classList.contains("nw")||u.classList.contains("sw"),f=u.classList.contains("nw")||u.classList.contains("ne")},move(c,u,p){let g=m(p);a.updateDOMSize(g.width,g.height)},up(c,u,p){let g=m(p);a.context.editor.update(()=>{t.setWidth(g.width),t.setHeight(l?g.height:0),a.context.manager.triggerLayoutUpdate(),requestAnimationFrame(()=>{a.updateDOMPosition(n)})}),a.dom?.classList.remove("active")}})}};function sh(o){let e=new ed(o);return()=>{e.teardown()}}function td(o){if(o.length===1){let e=o[0];if(B(e)||Nt(e)||to(e)||dn(e))return!0}return!1}function lh(o){let e=le(o)?.getNodes()||[];td(e)&&o.update(()=>{e[0].remove()})}function uT(o,e){let t=le(o)?.getNodes()||[];if(td(t)){let n=t[0],r=zo(n)||n,i=e?.shiftKey===!0;if(r)return requestAnimationFrame(()=>{o.update(()=>{let s=I();i?r.insertBefore(s):r.insertAfter(s),s.select()})}),e?.preventDefault(),!0}return!1}function ah(o,e,t=!0){let n=le(o)?.getNodes()||[];if(!td(n))return!1;e?.preventDefault();let r=n[0];return o.update(()=>{Or(r,t)}),!0}function fT(o,e){let t=dh(o);return t===null||t.detailsSibling?!1:(o.update(()=>{let n=I();t.parentDetails.insertAfter(n),n.select()}),e?.preventDefault(),!0)}function mT(o,e){let t=dh(o);if(t===null||t.parentBlock.getTextContent()!=="")return!1;e?.preventDefault();let n=t.parentDetails.getNextSibling();return o.update(()=>{if(n)n.selectStart();else{let r=I();t.parentDetails.insertAfter(r),r.select()}t.parentBlock.remove()}),!0}function dh(o){let t=le(o)?.getNodes()[0];if(!t)return null;let n=zo(t),r=Mt(t,Ie);if(!Ie(r)||n===null||n.getKey()!==r.getLastChild()?.getKey())return null;let i=r.getNextSibling();return{parentDetails:r,parentBlock:n,detailsSibling:i}}function pT(o){if(o.length!==1)return!1;let e=o[0];return X(e)||X(e.getParent())}function gT(o,e){let t=e?.shiftKey?-40:40,r=T()?.getNodes()||[];return r.length>1||pT(r)?(o.update(()=>{Jr(o,t)}),e?.preventDefault(),!0):!1}function ch(o){let e=o.editor.registerCommand(Ht,()=>(lh(o.editor),!1),pt),t=o.editor.registerCommand(Ft,()=>(lh(o.editor),!1),pt),n=o.editor.registerCommand(He,l=>uT(o.editor,l)||mT(o.editor,l),pt),r=o.editor.registerCommand(Oo,l=>gT(o.editor,l),pt),i=o.editor.registerCommand(Pt,l=>ah(o.editor,l,!1),pt),s=o.editor.registerCommand(Bt,l=>fT(o.editor,l)||ah(o.editor,l,!0),pt);return()=>{e(),t(),n(),r(),i(),s()}}function hT(o){return o.toLowerCase().startsWith("http")?/(http|https):\/\/(\S+)\.\S+$/.test(o):!1}function NT(o,e,t){let n=e.getStartEndPoints();if(!n)return;let r=n[0].offset,i=o.getTextContent(),a=i.slice(0,r).lastIndexOf(" ")+1,d=i.slice(a,r);hT(d)&&t.update(()=>{let f=ht(d);f.append(new Je(d));let m=o.splitText(a,r),c=a>0?1:0,u=m[c];u&&u.replace(f)})}function uh(o){let e=r=>{let i=T(),s=lu(i);return s&&i&&NT(s,i,o),!1},t=o.registerCommand(rr,e,Bn),n=o.registerCommand(He,e,Bn);return()=>{t(),n()}}function FP(o,e,t={}){let n={namespace:"BookStackPageEditor",nodes:If(),onError:console.error,theme:{text:{bold:"editor-theme-bold",code:"editor-theme-code",italic:"editor-theme-italic",strikethrough:"editor-theme-strikethrough",subscript:"editor-theme-subscript",superscript:"editor-theme-superscript",underline:"editor-theme-underline",underlineStrikethrough:"editor-theme-underline-strikethrough"}}},r=b("div",{contenteditable:"true",class:"editor-content-area page-content"}),i=b("div",{class:"editor-content-wrap"},[r]);o.append(i),o.classList.add("editor-container"),o.setAttribute("dir",t.textDirection),t.darkMode&&o.classList.add("editor-dark");let s=zl(n);s.setRootElement(r);let l=Vg(o,r,i,s,t);jt(Ju(s),Ku(s,Uu(),300),ih(l),ch(l),Xg(s,i),th(s),eh(s,r),Qg(l),sh(l),uh(s)),jg(s),Qn(s,e);let a=document.getElementById("lexical-debug");return a&&(a.hidden=!0,s.registerUpdateListener(({dirtyElements:d,dirtyLeaves:f,editorState:m,prevEditorState:c})=>{a.textContent=JSON.stringify(m.toJSON(),null,2)})),window.debugEditorState=()=>{console.log(s.getEditorState().toJSON())},$f(l),new od(s)}var od=class{constructor(e){this.editor=e}async getContentAsHtml(){return await as(this.editor)}};export{od as SimpleWysiwygEditorInterface,FP as createPageEditorInstance};
//# sourceMappingURL=wysiwyg.js.map