lexxy 0.1.13.beta → 0.1.14.beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/README.md +7 -1
 - data/app/assets/javascript/lexxy.js +289 -148
 - data/app/assets/javascript/lexxy.js.br +0 -0
 - data/app/assets/javascript/lexxy.js.gz +0 -0
 - data/app/assets/javascript/lexxy.min.js +2 -2
 - data/app/assets/javascript/lexxy.min.js.br +0 -0
 - data/app/assets/javascript/lexxy.min.js.gz +0 -0
 - data/app/assets/stylesheets/lexxy-content.css +24 -1
 - data/app/assets/stylesheets/lexxy-editor.css +30 -6
 - data/app/assets/stylesheets/lexxy-variables.css +5 -3
 - data/app/views/action_text/attachables/_remote_video.html.erb +10 -0
 - data/lib/action_text/attachables/remote_video.rb +46 -0
 - data/lib/lexxy/attachable.rb +15 -0
 - data/lib/lexxy/engine.rb +2 -0
 - data/lib/lexxy/rich_text_area_tag.rb +10 -6
 - data/lib/lexxy/version.rb +1 -1
 - metadata +5 -2
 
| 
         @@ -1337,7 +1337,7 @@ var purify = createDOMPurify(); 
     | 
|
| 
       1337 
1337 
     | 
    
         | 
| 
       1338 
1338 
     | 
    
         
             
            purify.addHook("uponSanitizeElement", (node, data) => {
         
     | 
| 
       1339 
1339 
     | 
    
         
             
              if (data.tagName === "strong" || data.tagName === "em") {
         
     | 
| 
       1340 
     | 
    
         
            -
                node.removeAttribute( 
     | 
| 
      
 1340 
     | 
    
         
            +
                node.removeAttribute("class");
         
     | 
| 
       1341 
1341 
     | 
    
         
             
              }
         
     | 
| 
       1342 
1342 
     | 
    
         
             
            });
         
     | 
| 
       1343 
1343 
     | 
    
         | 
| 
         @@ -1351,10 +1351,10 @@ purify.addHook("uponSanitizeElement", (node, data) => { 
     | 
|
| 
       1351 
1351 
     | 
    
         | 
| 
       1352 
1352 
     | 
    
         
             
            function t(t,...e){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",t);for(const t of e)r.append("v",t);throw n.search=r.toString(),Error(`Minified Lexical error #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}const e="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,n=e&&"documentMode"in document?document.documentMode:null,r=e&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),i=e&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),s=!(!e||!("InputEvent"in window)||n)&&"getTargetRanges"in new window.InputEvent("input"),o=e&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),l=e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,c=e&&/Android/.test(navigator.userAgent),a=e&&/^(?=.*Chrome).*/i.test(navigator.userAgent),u=e&&c&&a,f$1=e&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!a;function d$2(...t){const e=[];for(const n of t)if(n&&"string"==typeof n)for(const[t]of n.matchAll(/\S+/g))e.push(t);return e}const h$4=1,g$3=3,_$3=9,p$1=11,y$4=0,m$4=1,x$3=2,C$3=0,S$4=1,v$4=2,b$2=4,N$3=8,A$2=128,O$3=1792|(112|(3|b$2|N$3)|A$2),D$4=1,P$3=2,F$2=3,L$3=4,I$5=5,z$5=6,K$3=o||l||f$1?" ":"",B$3="\n\n",R$5=i?" ":K$3,W$4="֑-߿יִ-﷽ﹰ-ﻼ",J$5="A-Za-zÀ-ÖØ-öø-ʸ̀-ࠀ-Ⰰ-︀--",U$4=new RegExp("^[^"+J$5+"]*["+W$4+"]"),$$3=new RegExp("^[^"+W$4+"]*["+J$5+"]"),j$4={bold:1,capitalize:1024,code:16,highlight:A$2,italic:2,lowercase:256,strikethrough:b$2,subscript:32,superscript:64,underline:N$3,uppercase:512},V$3={directionless:1,unmergeable:2},Y$3={center:P$3,end:z$5,justify:L$3,left:D$4,right:F$2,start:I$5},H$1={[P$3]:"center",[z$5]:"end",[L$3]:"justify",[D$4]:"left",[F$2]:"right",[I$5]:"start"},q$4={normal:0,segmented:2,token:1},G$4={[C$3]:"normal",[v$4]:"segmented",[S$4]:"token"},X$4="$";function Q$3(t,e,n,r,i,s){let o=t.getFirstChild();for(;null!==o;){const t=o.__key;o.__parent===e&&(di(o)&&Q$3(o,t,n,r,i,s),n.has(t)||s.delete(t),i.push(t)),o=o.getNextSibling();}}const Z$3=100;let tt$2=false,et$2=0;function nt$2(t){et$2=t.timeStamp;}function rt$3(t,e,n){const r="BR"===t.nodeName,i=e.__lexicalLineBreak;return i&&(t===i||r&&t.previousSibling===i)||r&&void 0!==ds(t,n)}function it$4(t,e,n){const r=lo(Xs(n));let i=null,s=null;null!==r&&r.anchorNode===t&&(i=r.anchorOffset,s=r.focusOffset);const o=t.nodeValue;null!==o&&Ns(e,o,i,s,false);}function st$3(t,e,n){if(cr(t)){const e=t.anchor.getNode();if(e.is(n)&&t.format!==e.getFormat())return  false}return ts(e)&&n.isAttached()}function ot$3(t,e,n,r){for(let i=t;i&&!No(i);i=$s(i)){const t=ds(i,e);if(void 0!==t){const e=us(t,n);if(e)return _i(e)||!fo(i)?void 0:[i,e]}else if(i===r)return [r,ys(n)]}}function lt$2(t,e,n){tt$2=true;const r=performance.now()-et$2>Z$3;try{ci(t,(()=>{const s=Nr()||function(t){return t.getEditorState().read((()=>{const t=Nr();return null!==t?t.clone():null}))}(t),o=new Map,l=t.getRootElement(),c=t._editorState,a=t._blockCursorElement;let u=!1,f="";for(let n=0;n<e.length;n++){const d=e[n],h=d.type,g=d.target,_=ot$3(g,t,c,l);if(!_)continue;const[p,y]=_;if("characterData"===h)r&&Qn(y)&&ts(g)&&st$3(s,g,y)&&it$4(g,y,t);else if("childList"===h){u=!0;const e=d.addedNodes;for(let n=0;n<e.length;n++){const r=e[n],s=fs(r),o=r.parentNode;if(null!=o&&r!==a&&null===s&&!rt$3(r,o,t)){if(i){const t=(fo(r)?r.innerText:null)||r.nodeValue;t&&(f+=t);}o.removeChild(r);}}const n=d.removedNodes,r=n.length;if(r>0){let e=0;for(let i=0;i<r;i++){const r=n[i];(rt$3(r,g,t)||a===r)&&(g.appendChild(r),e++);}r!==e&&o.set(p,y);}}}if(o.size>0)for(const[e,n]of o)n.reconcileObservedMutation(e,t);const d=n.takeRecords();if(d.length>0){for(let e=0;e<d.length;e++){const n=d[e],r=n.addedNodes,i=n.target;for(let e=0;e<r.length;e++){const n=r[e],s=n.parentNode;null==s||"BR"!==n.nodeName||rt$3(n,i,t)||s.removeChild(n);}}n.takeRecords();}null!==s&&(u&&ms(s),i&&Rs(t)&&s.insertRawText(f));}));}finally{tt$2=false;}}function ct$3(t){const e=t._observer;if(null!==e){lt$2(t,e.takeRecords(),e);}}function at$1(t){!function(t){0===et$2&&Xs(t).addEventListener("textInput",nt$2,true);}(t),t._observer=new MutationObserver(((e,n)=>{lt$2(t,e,n);}));}let pt$4 = class pt{constructor(t,e=new Map,n=void 0,r=new Map,i=void 0){this.node=t,this.sharedConfigMap=e,this.unknownState=n,this.knownState=r;const s=void 0!==i?i:function(t,e,n){let r=n.size;if(e)for(const i in e){const e=t.get(i);e&&n.has(e)||r++;}return r}(e,n,r);this.size=s;}getValue(t){const e=this.knownState.get(t);if(void 0!==e)return e;this.sharedConfigMap.set(t.key,t);let n=t.defaultValue;if(this.unknownState&&t.key in this.unknownState){const e=this.unknownState[t.key];void 0!==e&&(n=t.parse(e)),this.updateFromKnown(t,n);}return n}getInternalState(){return [this.unknownState,this.knownState]}toJSON(){const t={...this.unknownState};for(const[e,n]of this.knownState)e.isEqual(n,e.defaultValue)?delete t[e.key]:t[e.key]=e.unparse(n);return yt$4(t)?{[X$4]:t}:{}}getWritable(t){if(this.node===t)return this;const e=new Map(this.knownState),n=yt$4(r=this.unknownState)&&{...r};var r;if(n)for(const t of e.keys())delete n[t.key];return new pt(t,this.sharedConfigMap,yt$4(n),e,this.size)}updateFromKnown(t,e){const n=t.key;this.sharedConfigMap.set(n,t);const{knownState:r,unknownState:i}=this;r.has(t)||i&&n in i||this.size++,r.set(t,e);}updateFromUnknown(t,e){const n=this.sharedConfigMap.get(t);n?this.updateFromKnown(n,n.parse(e)):(this.unknownState=this.unknownState||{},t in this.unknownState||this.size++,this.unknownState[t]=e);}updateFromJSON(t){const{knownState:e}=this;for(const t of e.keys())e.set(t,t.defaultValue);if(this.size=e.size,this.unknownState={},t)for(const[e,n]of Object.entries(t))this.updateFromUnknown(e,n);this.unknownState=yt$4(this.unknownState);}};function yt$4(t){if(t)for(const e in t)return t}function mt$4(t){const e=t.getWritable(),n=e.__state?e.__state.getWritable(e):new pt$4(e);return e.__state=n,n}function xt$3(t,e){const n=t.__mode,r=t.__format,i=t.__style,s=e.__mode,o=e.__format,l=e.__style,c=t.__state,a=e.__state;return (null===n||n===s)&&(null===r||r===o)&&(null===i||i===l)&&(null===t.__state||c===a||function(t,e){if(t===e)return  true;if(t&&e&&t.size!==e.size)return  false;const n=new Set,r=(t,e)=>{for(const[r,i]of t.knownState){if(n.has(r.key))continue;n.add(r.key);const t=e?e.getValue(r):r.defaultValue;if(t!==i&&!r.isEqual(t,i))return  true}return  false},i=(t,e)=>{const{unknownState:r}=t,i=e?e.unknownState:void 0;if(r)for(const[t,e]of Object.entries(r))if(!n.has(t)&&(n.add(t),e!==(i?i[t]:void 0)))return  true;return  false};return !(t&&r(t,e)||e&&r(e,t)||t&&i(t,e)||e&&i(e,t))}(c,a))}function Ct$2(t,e){const n=t.mergeWithSibling(e),r=qr()._normalizedNodes;return r.add(t.__key),r.add(e.__key),n}function St$3(t){let e,n,r=t;if(""!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(e=r.getPreviousSibling())&&Qn(e)&&e.isSimpleText()&&!e.isUnmergeable();){if(""!==e.__text){if(xt$3(e,r)){r=Ct$2(e,r);break}break}e.remove();}for(;null!==(n=r.getNextSibling())&&Qn(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(""!==n.__text){if(xt$3(r,n)){r=Ct$2(r,n);break}break}n.remove();}}else r.remove();}function vt$4(t){return kt$1(t.anchor),kt$1(t.focus),t}function kt$1(t){for(;"element"===t.type;){const e=t.getNode(),n=t.offset;let r,i;if(n===e.getChildrenSize()?(r=e.getChildAtIndex(n-1),i=true):(r=e.getChildAtIndex(n),i=false),Qn(r)){t.set(r.__key,i?r.getTextContentSize():0,"text",true);break}if(!di(r))break;t.set(r.__key,i?r.getChildrenSize():0,"element",true);}}let Tt$3,bt$1,Nt$3,wt$3,Et$2,Mt$1,At$1,Ot$1,Dt$1,Pt$2,Ft$2="",Lt$2="",It$2=null,zt="",Kt="",Bt$1=false,Rt$1=false,Wt=null;function Jt(t,e){const n=At$1.get(t);if(null!==e){const n=se$1(t);n.parentNode===e&&e.removeChild(n);}if(Ot$1.has(t)||bt$1._keyToDOMMap.delete(t),di(n)){const t=te(n,At$1);Ut(t,0,t.length-1,null);} void 0!==n&&Is(Pt$2,Nt$3,wt$3,n,"destroyed");}function Ut(t,e,n,r){let i=e;for(;i<=n;++i){const e=t[i];void 0!==e&&Jt(e,r);}}function $t$1(t,e){t.setProperty("text-align",e);}const jt="40px";function Vt(t,e){const n=Tt$3.theme.indent;if("string"==typeof n){const r=t.classList.contains(n);e>0&&!r?t.classList.add(n):e<1&&r&&t.classList.remove(n);}const r=getComputedStyle(t).getPropertyValue("--lexical-indent-base-value")||jt;t.style.setProperty("padding-inline-start",0===e?"":`calc(${e} * ${r})`);}function Yt(t,e){const n=t.style;0===e?$t$1(n,""):e===D$4?$t$1(n,"left"):e===P$3?$t$1(n,"center"):e===F$2?$t$1(n,"right"):e===L$3?$t$1(n,"justify"):e===I$5?$t$1(n,"start"):e===z$5&&$t$1(n,"end");}function Ht(e,n){const r=Ot$1.get(e);void 0===r&&t(60);const i=r.createDOM(Tt$3,bt$1);if(function(t,e,n){const r=n._keyToDOMMap;((function(t,e,n){const r=`__lexicalKey_${e._key}`;t[r]=n;}))(e,n,t),r.set(t,e);}(e,i,bt$1),Qn(r)?i.setAttribute("data-lexical-text","true"):_i(r)&&i.setAttribute("data-lexical-decorator","true"),di(r)){const t=r.__indent,e=r.__size;if(0!==t&&Vt(i,t),0!==e){const t=e-1;!function(t,e,n,r){const i=Lt$2;Lt$2="",qt(t,n,0,e,n.getDOMSlot(r)),Qt(n,r),Lt$2=i;}(te(r,Ot$1),t,r,i);}const n=r.__format;0!==n&&Yt(i,n),r.isInline()||Xt(null,r,i),Js(r)&&(Ft$2+=B$3,Kt+=B$3);}else {const t=r.getTextContent();if(_i(r)){const t=r.decorate(bt$1,Tt$3);null!==t&&ne(e,t),i.contentEditable="false";}else Qn(r)&&(r.isDirectionless()||(Lt$2+=t));Ft$2+=t,Kt+=t;}return null!==n&&n.insertChild(i),Is(Pt$2,Nt$3,wt$3,r,"created"),i}function qt(t,e,n,r,i){const s=Ft$2;Ft$2="";let o=n;for(;o<=r;++o){Ht(t[o],i);const e=Ot$1.get(t[o]);null!==e&&Qn(e)&&(null===It$2&&(It$2=e.getFormat()),""===zt&&(zt=e.getStyle()));}Js(e)&&(Ft$2+=B$3);i.element.__lexicalTextContent=Ft$2,Ft$2=s+Ft$2;}function Gt(t,e){if(t){const n=t.__last;if(n){const t=e.get(n);if(t)return Fn(t)?"line-break":_i(t)&&t.isInline()?"decorator":null}return "empty"}return null}function Xt(t,e,n){const r=Gt(t,At$1),i=Gt(e,Ot$1);r!==i&&e.getDOMSlot(n).setManagedLineBreak(i);}function Qt(t,e){const n=e.__lexicalDirTextContent||"",r=e.__lexicalDir||"";if(n!==Lt$2||r!==Wt){const n=""===Lt$2,i=n?Wt:function(t){if(U$4.test(t))return "rtl";if($$3.test(t))return "ltr";return null}(Lt$2);if(i!==r){const s=e.classList,o=Tt$3.theme;let l=null!==r?o[r]:void 0,c=null!==i?o[i]:void 0;if(void 0!==l){if("string"==typeof l){const t=d$2(l);l=o[r]=t;}s.remove(...l);}if(null===i||n&&"ltr"===i)e.removeAttribute("dir");else {if(void 0!==c){if("string"==typeof c){const t=d$2(c);c=o[i]=t;} void 0!==c&&s.add(...c);}e.dir=i;}if(!Rt$1){t.getWritable().__dir=i;}}Wt=i,e.__lexicalDirTextContent=Lt$2,e.__lexicalDir=i;}}function Zt(e,n,r){const i=Lt$2;var s;Lt$2="",It$2=null,zt="",function(e,n,r){const i=Ft$2,s=e.__size,o=n.__size;Ft$2="";const l=r.element;if(1===s&&1===o){const t=e.__first,r=n.__first;if(t===r)ee(t,l);else {const e=se$1(t),n=Ht(r,null);try{l.replaceChild(n,e);}catch(i){if("object"==typeof i&&null!=i){const s=`${i.toString()} Parent: ${l.tagName}, new child: {tag: ${n.tagName} key: ${r}}, old child: {tag: ${e.tagName}, key: ${t}}.`;throw new Error(s)}throw i}Jt(t,null);}const i=Ot$1.get(r);Qn(i)&&(null===It$2&&(It$2=i.getFormat()),""===zt&&(zt=i.getStyle()));}else {const i=te(e,At$1),c=te(n,Ot$1);if(i.length!==s&&t(227),c.length!==o&&t(228),0===s)0!==o&&qt(c,n,0,o-1,r);else if(0===o){if(0!==s){const t=null==r.after&&null==r.before&&null==r.element.__lexicalLineBreak;Ut(i,0,s-1,t?null:l),t&&(l.textContent="");}}else !function(t,e,n,r,i,s){const o=r-1,l=i-1;let c,a,u=s.getFirstChild(),f=0,d=0;for(;f<=o&&d<=l;){const t=e[f],r=n[d];if(t===r)u=re$1(ee(r,s.element)),f++,d++;else { void 0===c&&(c=new Set(e)),void 0===a&&(a=new Set(n));const i=a.has(t),o=c.has(r);if(i)if(o){const t=Us(bt$1,r);t===u?u=re$1(ee(r,s.element)):(s.withBefore(u).insertChild(t),ee(r,s.element)),f++,d++;}else Ht(r,s.withBefore(u)),d++;else u=re$1(se$1(t)),Jt(t,s.element),f++;}const i=Ot$1.get(r);null!==i&&Qn(i)&&(null===It$2&&(It$2=i.getFormat()),""===zt&&(zt=i.getStyle()));}const h=f>o,g=d>l;if(h&&!g){const e=n[l+1],r=void 0===e?null:bt$1.getElementByKey(e);qt(n,t,d,l,s.withBefore(r));}else g&&!h&&Ut(e,f,o,s.element);}(n,i,c,s,o,r);}Js(n)&&(Ft$2+=B$3);l.__lexicalTextContent=Ft$2,Ft$2=i+Ft$2;}(e,n,n.getDOMSlot(r)),Qt(n,r),s=n,null==It$2||It$2===s.__textFormat||Rt$1||s.setTextFormat(It$2),function(t){""===zt||zt===t.__textStyle||Rt$1||t.setTextStyle(zt);}(n),Lt$2=i;}function te(e,n){const r=[];let i=e.__first;for(;null!==i;){const e=n.get(i);void 0===e&&t(101),r.push(i),i=e.__next;}return r}function ee(e,n){const r=At$1.get(e);let i=Ot$1.get(e);void 0!==r&&void 0!==i||t(61);const s=Bt$1||Mt$1.has(e)||Et$2.has(e),o=Us(bt$1,e);if(r===i&&!s){if(di(r)){const t=o.__lexicalTextContent;void 0!==t&&(Ft$2+=t,Kt+=t);const e=o.__lexicalDirTextContent;void 0!==e&&(Lt$2+=e);}else {const t=r.getTextContent();Qn(r)&&!r.isDirectionless()&&(Lt$2+=t),Kt+=t,Ft$2+=t;}return o}if(r!==i&&s&&Is(Pt$2,Nt$3,wt$3,i,"updated"),i.updateDOM(r,o,Tt$3)){const r=Ht(e,null);return null===n&&t(62),n.replaceChild(r,o),Jt(e,null),r}if(di(r)&&di(i)){const t=i.__indent;t!==r.__indent&&Vt(o,t);const e=i.__format;e!==r.__format&&Yt(o,e),s&&(Zt(r,i,o),yi(i)||i.isInline()||Xt(r,i,o)),Js(i)&&(Ft$2+=B$3,Kt+=B$3);}else {const t=i.getTextContent();if(_i(i)){const t=i.decorate(bt$1,Tt$3);null!==t&&ne(e,t);}else Qn(i)&&!i.isDirectionless()&&(Lt$2+=t);Ft$2+=t,Kt+=t;}if(!Rt$1&&yi(i)&&i.__cachedText!==Kt){const t=i.getWritable();t.__cachedText=Kt,i=t;}return o}function ne(t,e){let n=bt$1._pendingDecorators;const r=bt$1._decorators;if(null===n){if(r[t]===e)return;n=gs(bt$1);}n[t]=e;}function re$1(t){let e=t.nextSibling;return null!==e&&e===bt$1._blockCursorElement&&(e=e.nextSibling),e}function ie$1(t,e,n,r,i,s){Ft$2="",Kt="",Lt$2="",Bt$1=r===x$3,Wt=null,bt$1=n,Tt$3=n._config,Nt$3=n._nodes,wt$3=bt$1._listeners.mutation,Et$2=i,Mt$1=s,At$1=t._nodeMap,Ot$1=e._nodeMap,Rt$1=e._readOnly,Dt$1=new Map(n._keyToDOMMap);const o=new Map;return Pt$2=o,ee("root",null),bt$1=void 0,Nt$3=void 0,Et$2=void 0,Mt$1=void 0,At$1=void 0,Ot$1=void 0,Tt$3=void 0,Dt$1=void 0,Pt$2=void 0,o}function se$1(e){const n=Dt$1.get(e);return void 0===n&&t(75,e),n}function oe$1(t){return {type:t}}const le$1=oe$1("SELECTION_CHANGE_COMMAND"),ce$1=oe$1("SELECTION_INSERT_CLIPBOARD_NODES_COMMAND"),ae$1=oe$1("CLICK_COMMAND"),ue$1=oe$1("DELETE_CHARACTER_COMMAND"),fe$1=oe$1("INSERT_LINE_BREAK_COMMAND"),de$1=oe$1("INSERT_PARAGRAPH_COMMAND"),he$1=oe$1("CONTROLLED_TEXT_INSERTION_COMMAND"),ge$1=oe$1("PASTE_COMMAND"),_e$1=oe$1("REMOVE_TEXT_COMMAND"),pe$1=oe$1("DELETE_WORD_COMMAND"),ye$1=oe$1("DELETE_LINE_COMMAND"),me=oe$1("FORMAT_TEXT_COMMAND"),xe$1=oe$1("UNDO_COMMAND"),Ce$1=oe$1("REDO_COMMAND"),Se$1=oe$1("KEYDOWN_COMMAND"),ve$1=oe$1("KEY_ARROW_RIGHT_COMMAND"),ke$1=oe$1("MOVE_TO_END"),Te$1=oe$1("KEY_ARROW_LEFT_COMMAND"),be$1=oe$1("MOVE_TO_START"),Ne$1=oe$1("KEY_ARROW_UP_COMMAND"),we$1=oe$1("KEY_ARROW_DOWN_COMMAND"),Ee$1=oe$1("KEY_ENTER_COMMAND"),Me$1=oe$1("KEY_SPACE_COMMAND"),Ae$1=oe$1("KEY_BACKSPACE_COMMAND"),Oe$1=oe$1("KEY_ESCAPE_COMMAND"),De$1=oe$1("KEY_DELETE_COMMAND"),Pe$1=oe$1("KEY_TAB_COMMAND"),Fe$1=oe$1("INSERT_TAB_COMMAND"),Le$1=oe$1("INDENT_CONTENT_COMMAND"),Ie$1=oe$1("OUTDENT_CONTENT_COMMAND"),ze$1=oe$1("DROP_COMMAND"),Ke$1=oe$1("FORMAT_ELEMENT_COMMAND"),Be$1=oe$1("DRAGSTART_COMMAND"),Re$1=oe$1("DRAGOVER_COMMAND"),We$1=oe$1("DRAGEND_COMMAND"),Je$1=oe$1("COPY_COMMAND"),Ue$1=oe$1("CUT_COMMAND"),$e$1=oe$1("SELECT_ALL_COMMAND"),je$1=oe$1("CLEAR_EDITOR_COMMAND"),Ve=oe$1("CLEAR_HISTORY_COMMAND"),Ye=oe$1("CAN_REDO_COMMAND"),He$1=oe$1("CAN_UNDO_COMMAND"),qe$1=oe$1("FOCUS_COMMAND"),Ge$1=oe$1("BLUR_COMMAND"),Xe$1=oe$1("KEY_MODIFIER_COMMAND"),Qe$1=Object.freeze({}),Ze$1=30,tn=[["keydown",function(t,e){if(en=t.timeStamp,nn=t.key,e.isComposing())return;if(Ws(e,Se$1,t))return;if(null==t.key)return;if(fn&&Ds(t))return ci(e,(()=>{Sn(e,dn);})),fn=false,void(dn="");if(function(t){return Ms(t,"ArrowRight",{shiftKey:"any"})}(t))Ws(e,ve$1,t);else if(function(t){return Ms(t,"ArrowRight",As)}(t))Ws(e,ke$1,t);else if(function(t){return Ms(t,"ArrowLeft",{shiftKey:"any"})}(t))Ws(e,Te$1,t);else if(function(t){return Ms(t,"ArrowLeft",As)}(t))Ws(e,be$1,t);else if(function(t){return Ms(t,"ArrowUp",{altKey:"any",shiftKey:"any"})}(t))Ws(e,Ne$1,t);else if(function(t){return Ms(t,"ArrowDown",{altKey:"any",shiftKey:"any"})}(t))Ws(e,we$1,t);else if(function(t){return Ms(t,"Enter",{altKey:"any",ctrlKey:"any",metaKey:"any",shiftKey:true})}(t))an=true,Ws(e,Ee$1,t);else if(function(t){return " "===t.key}(t))Ws(e,Me$1,t);else if(function(t){return r&&Ms(t,"o",{ctrlKey:true})}(t))t.preventDefault(),an=true,Ws(e,fe$1,true);else if(function(t){return Ms(t,"Enter",{altKey:"any",ctrlKey:"any",metaKey:"any"})}(t))an=false,Ws(e,Ee$1,t);else if(function(t){return Ms(t,"Backspace",{shiftKey:"any"})||r&&Ms(t,"h",{ctrlKey:true})}(t))Ds(t)?Ws(e,Ae$1,t):(t.preventDefault(),Ws(e,ue$1,true));else if(function(t){return "Escape"===t.key}(t))Ws(e,Oe$1,t);else if(function(t){return Ms(t,"Delete",{})||r&&Ms(t,"d",{ctrlKey:true})}(t))!function(t){return "Delete"===t.key}(t)?(t.preventDefault(),Ws(e,ue$1,false)):Ws(e,De$1,t);else if(function(t){return Ms(t,"Backspace",Os)}(t))t.preventDefault(),Ws(e,pe$1,true);else if(function(t){return Ms(t,"Delete",Os)}(t))t.preventDefault(),Ws(e,pe$1,false);else if(function(t){return r&&Ms(t,"Backspace",{metaKey:true})}(t))t.preventDefault(),Ws(e,ye$1,true);else if(function(t){return r&&(Ms(t,"Delete",{metaKey:true})||Ms(t,"k",{ctrlKey:true}))}(t))t.preventDefault(),Ws(e,ye$1,false);else if(function(t){return Ms(t,"b",As)}(t))t.preventDefault(),Ws(e,me,"bold");else if(function(t){return Ms(t,"u",As)}(t))t.preventDefault(),Ws(e,me,"underline");else if(function(t){return Ms(t,"i",As)}(t))t.preventDefault(),Ws(e,me,"italic");else if(function(t){return Ms(t,"Tab",{shiftKey:"any"})}(t))Ws(e,Pe$1,t);else if(function(t){return Ms(t,"z",As)}(t))t.preventDefault(),Ws(e,xe$1,void 0);else if(function(t){if(r)return Ms(t,"z",{metaKey:true,shiftKey:true});return Ms(t,"y",{ctrlKey:true})||Ms(t,"z",{ctrlKey:true,shiftKey:true})}(t))t.preventDefault(),Ws(e,Ce$1,void 0);else {const n=e._editorState._selection;null===n||cr(n)?Ps(t)&&(t.preventDefault(),Ws(e,$e$1,t)):!function(t){return Ms(t,"c",As)}(t)?!function(t){return Ms(t,"x",As)}(t)?Ps(t)&&(t.preventDefault(),Ws(e,$e$1,t)):(t.preventDefault(),Ws(e,Ue$1,t)):(t.preventDefault(),Ws(e,Je$1,t));}(function(t){return t.ctrlKey||t.shiftKey||t.altKey||t.metaKey})(t)&&Ws(e,Xe$1,t);}],["pointerdown",function(t,e){const n=t.target,r=t.pointerType;ho(n)&&"touch"!==r&&"pen"!==r&&0===t.button&&ci(e,(()=>{Vi(n)||(cn=true);}));}],["compositionstart",function(t,e){ci(e,(()=>{const n=Nr();if(cr(n)&&!e.isComposing()){const r=n.anchor,i=n.anchor.getNode();cs(r.key),(t.timeStamp<en+Ze$1||"element"===r.type||!n.isCollapsed()||i.getFormat()!==n.format||Qn(i)&&i.getStyle()!==n.style)&&Ws(e,he$1,R$5);}}));}],["compositionend",function(t,e){i?un=true:l||!o&&!f$1?ci(e,(()=>{Sn(e,t.data);})):(fn=true,dn=t.data);}],["input",function(t,e){t.stopPropagation(),ci(e,(()=>{if(fo(t.target)&&Vi(t.target))return;const n=Nr(),r=t.data,c=Cn(t);if(null!=r&&cr(n)&&_n(n,c,r,t.timeStamp,false)){un&&(Sn(e,r),un=false);const c=n.anchor.getNode(),a=lo(Xs(e));if(null===a)return;const u=n.isBackward(),d=u?n.anchor.offset:n.focus.offset,h=u?n.focus.offset:n.anchor.offset;s&&!n.isCollapsed()&&Qn(c)&&null!==a.anchorNode&&c.getTextContent().slice(0,d)+r+c.getTextContent().slice(d+h)===Ts(a.anchorNode)||Ws(e,he$1,r);const g=r.length;i&&g>1&&"insertCompositionText"===t.inputType&&!e.isComposing()&&(n.anchor.offset-=g),o||l||f$1||!e.isComposing()||(en=0,cs(null));}else {bs(false,e,null!==r?r:void 0),un&&(Sn(e,r||void 0),un=false);}!function(){Vr();const t=qr();ct$3(t);}();}),{event:t}),sn=null;}],["click",function(t,e){ci(e,(()=>{const n=Nr(),r=lo(Xs(e)),i=wr();if(r)if(cr(n)){const e=n.anchor,s=e.getNode();if("element"===e.type&&0===e.offset&&n.isCollapsed()&&!yi(s)&&1===ps().getChildrenSize()&&s.getTopLevelElementOrThrow().isEmpty()&&null!==i&&n.is(i))r.removeAllRanges(),n.dirty=true;else if(3===t.detail&&!n.isCollapsed()){if(s!==n.focus.getNode()){const t=function(t,e){let n=t;for(;n!==ps()&&null!=n;){if(e(n))return n;n=n.getParent();}return null}(s,(t=>di(t)&&!t.isInline()));di(t)&&t.select(0);}}}else if("touch"===t.pointerType||"pen"===t.pointerType){const n=r.anchorNode;if(fo(n)||ts(n)){ms(br(i,r,e,t));}}Ws(e,ae$1,t);}));}],["cut",Qe$1],["copy",Qe$1],["dragstart",Qe$1],["dragover",Qe$1],["dragend",Qe$1],["paste",Qe$1],["focus",Qe$1],["blur",Qe$1],["drop",Qe$1]];s&&tn.push(["beforeinput",(e,n)=>function(e,n){const r=e.inputType,s=Cn(e);if("deleteCompositionText"===r||i&&Rs(n))return;if("insertCompositionText"===r)return;ci(n,(()=>{const i=Nr();if("deleteContentBackward"===r){if(null===i){const t=wr();if(!cr(t))return;ms(t.clone());}if(cr(i)){const r=i.anchor.key===i.focus.key;if(o=e.timeStamp,"MediaLast"===nn&&o<en+Ze$1&&n.isComposing()&&r){if(cs(null),en=0,setTimeout((()=>{ci(n,(()=>{cs(null);}));}),Ze$1),cr(i)){const e=i.anchor.getNode();e.markDirty(),Qn(e)||t(142),xn(i,e);}}else {cs(null),e.preventDefault();const t=i.anchor.getNode(),s=t.getTextContent(),o=t.canInsertTextAfter(),l=0===i.anchor.offset&&i.focus.offset===s.length;let c=u&&r&&!l&&o;if(c&&i.isCollapsed()&&(c=!_i(Bs(i.anchor,true))),!c){Ws(n,ue$1,true);const t=Nr();u&&cr(t)&&t.isCollapsed()&&(hn=t,setTimeout((()=>hn=null)));}}return}}var o;if(!cr(i))return;const c=e.data;null!==sn&&bs(false,n,sn),i.dirty&&null===sn||!i.isCollapsed()||yi(i.anchor.getNode())||null===s||i.applyDOMRange(s),sn=null;const a=i.anchor,f=i.focus,d=a.getNode(),h=f.getNode();if("insertText"!==r&&"insertTranspose"!==r)switch(e.preventDefault(),r){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":Ws(n,he$1,e);break;case "insertFromComposition":cs(null),Ws(n,he$1,e);break;case "insertLineBreak":cs(null),Ws(n,fe$1,false);break;case "insertParagraph":cs(null),an&&!l?(an=false,Ws(n,fe$1,false)):Ws(n,de$1,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":Ws(n,ge$1,e);break;case "deleteByComposition":(function(t,e){return t!==e||di(t)||di(e)||!Qi(t)||!Qi(e)})(d,h)&&Ws(n,_e$1,e);break;case "deleteByDrag":case "deleteByCut":Ws(n,_e$1,e);break;case "deleteContent":Ws(n,ue$1,false);break;case "deleteWordBackward":Ws(n,pe$1,true);break;case "deleteWordForward":Ws(n,pe$1,false);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":Ws(n,ye$1,true);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":Ws(n,ye$1,false);break;case "formatStrikeThrough":Ws(n,me,"strikethrough");break;case "formatBold":Ws(n,me,"bold");break;case "formatItalic":Ws(n,me,"italic");break;case "formatUnderline":Ws(n,me,"underline");break;case "historyUndo":Ws(n,xe$1,void 0);break;case "historyRedo":Ws(n,Ce$1,void 0);}else {if("\n"===c)e.preventDefault(),Ws(n,fe$1,false);else if(c===B$3)e.preventDefault(),Ws(n,de$1,void 0);else if(null==c&&e.dataTransfer){const t=e.dataTransfer.getData("text/plain");e.preventDefault(),i.insertRawText(t);}else null!=c&&_n(i,s,c,e.timeStamp,true)?(e.preventDefault(),Ws(n,he$1,c)):sn=c;rn=e.timeStamp;}}));}(e,n)]);let en=0,nn=null,rn=0,sn=null;const on=new WeakMap;let ln=false,cn=false,an=false,un=false,fn=false,dn="",hn=null,gn=[0,"",0,"root",0];function _n(t,e,n,r,i){const o=t.anchor,l=t.focus,c=o.getNode(),a=qr(),u=lo(Xs(a)),f=null!==u?u.anchorNode:null,d=o.key,h=a.getElementByKey(d),g=n.length;return d!==l.key||!Qn(c)||(!i&&(!s||rn<r+50)||c.isDirty()&&g<2||Ss(n))&&o.offset!==l.offset&&!c.isComposing()||Zi(c)||c.isDirty()&&g>1||(i||!s)&&null!==h&&!c.isComposing()&&f!==ns(h)||null!==u&&null!==e&&(!e.collapsed||e.startContainer!==u.anchorNode||e.startOffset!==u.anchorOffset)||c.getFormat()!==t.format||c.getStyle()!==t.style||function(t,e){if(e.isSegmented())return  true;if(!t.isCollapsed())return  false;const n=t.anchor.offset,r=e.getParentOrThrow(),i=Qi(e);return 0===n?!e.canInsertTextBefore()||!r.canInsertTextBefore()&&!e.isComposing()||i||function(t){const e=t.getPreviousSibling();return (Qn(e)||di(e)&&e.isInline())&&!e.canInsertTextAfter()}(e):n===e.getTextContentSize()&&(!e.canInsertTextAfter()||!r.canInsertTextAfter()&&!e.isComposing()||i)}(t,c)}function pn(t,e){return ts(t)&&null!==t.nodeValue&&0!==e&&e!==t.nodeValue.length}function yn(e,n,r){const{anchorNode:i,anchorOffset:s,focusNode:o,focusOffset:l}=e;ln&&(ln=false,pn(i,s)&&pn(o,l)&&!hn)||ci(n,(()=>{if(!r)return void ms(null);if(!Hi(n,i,o))return;let c=Nr();if(hn&&cr(c)&&c.isCollapsed()){const t=c.anchor,e=hn.anchor;(t.key===e.key&&t.offset===e.offset+1||1===t.offset&&e.getNode().is(t.getNode().getPreviousSibling()))&&(c=hn.clone(),ms(c));}if(hn=null,cr(c)){const r=c.anchor,i=r.getNode();if(c.isCollapsed()){"Range"===e.type&&e.anchorNode===e.focusNode&&(c.dirty=true);const s=Xs(n).event,o=s?s.timeStamp:performance.now(),[l,a,u,f,d]=gn,h=ps(),g=false===n.isComposing()&&""===h.getTextContent();if(o<d+200&&r.offset===u&&r.key===f)mn(c,l,a);else if("text"===r.type)Qn(i)||t(141),xn(c,i);else if("element"===r.type&&!g){di(i)||t(259);const e=r.getNode();e.isEmpty()?function(t,e){const n=e.getTextFormat(),r=e.getTextStyle();mn(t,n,r);}(c,e):mn(c,0,"");}}else {const t=r.key,e=c.focus.key,n=c.getNodes(),i=n.length,o=c.isBackward(),a=o?l:s,u=o?s:l,f=o?e:t,d=o?t:e;let h=O$3,g=false;for(let t=0;t<i;t++){const e=n[t],r=e.getTextContentSize();if(Qn(e)&&0!==r&&!(0===t&&e.__key===f&&a===r||t===i-1&&e.__key===d&&0===u)&&(g=true,h&=e.getFormat(),0===h))break}c.format=g?h:0;}}Ws(n,le$1,void 0);}));}function mn(t,e,n){t.format===e&&t.style===n||(t.format=e,t.style=n,t.dirty=true);}function xn(t,e){mn(t,e.getFormat(),e.getStyle());}function Cn(t){if(!t.getTargetRanges)return null;const e=t.getTargetRanges();return 0===e.length?null:e[0]}function Sn(t,e){const n=t._compositionKey;if(cs(null),null!==n&&null!=e){if(""===e){const e=us(n),r=ns(t.getElementByKey(n));return void(null!==r&&null!==r.nodeValue&&Qn(e)&&Ns(e,r.nodeValue,null,null,true))}if("\n"===e[e.length-1]){const e=Nr();if(cr(e)){const n=e.focus;return e.anchor.set(n.key,n.offset,n.type),void Ws(t,Ee$1,null)}}}bs(true,t,e);}function vn(t){let e=t.__lexicalEventHandles;return void 0===e&&(e=[],t.__lexicalEventHandles=e),e}const kn=new Map;function Tn(t){const e=co(t.target);if(null===e)return;const n=Gi(e.anchorNode);if(null===n)return;cn&&(cn=false,ci(n,(()=>{const r=wr(),i=e.anchorNode;if(fo(i)||ts(i)){ms(br(r,e,n,t));}})));const r=vs(n),i=r[r.length-1],s=i._key,o=kn.get(s),l=o||i;l!==n&&yn(e,l,false),yn(e,n,true),n!==i?kn.set(s,n):o&&kn.delete(s);}function bn(t){t._lexicalHandled=true;}function Nn(t){return  true===t._lexicalHandled}function En(e){const n=e.ownerDocument,r=on.get(n);if(void 0===r)return void 0;const i=r-1;i>=0||t(164),on.set(n,i),0===i&&n.removeEventListener("selectionchange",Tn);const s=Xi(e);qi(s)?(!function(t){if(null!==t._parentEditor){const e=vs(t),n=e[e.length-1]._key;kn.get(n)===t&&kn.delete(n);}else kn.delete(t._key);}(s),e.__lexicalEditor=null):s&&t(198);const o=vn(e);for(let t=0;t<o.length;t++)o[t]();e.__lexicalEventHandles=[];}function Mn(t,e,n){Vr();const r=t.__key,i=t.getParent();if(null===i)return;const s=function(t){const e=Nr();if(!cr(e)||!di(t))return e;const{anchor:n,focus:r}=e,i=n.getNode(),s=r.getNode();qs(i,t)&&n.set(t.__key,0,"element");qs(s,t)&&r.set(t.__key,0,"element");return e}(t);let o=false;if(cr(s)&&e){const e=s.anchor,n=s.focus;e.key===r&&(Ar(e,t,i,t.getPreviousSibling(),t.getNextSibling()),o=true),n.key===r&&(Ar(n,t,i,t.getPreviousSibling(),t.getNextSibling()),o=true);}else ur(s)&&e&&t.isSelected()&&t.selectPrevious();if(cr(s)&&e&&!o){const e=t.getIndexWithinParent();os(t),Er(s,i,e,-1);}else os(t);n||to(i)||i.canBeEmpty()||!i.isEmpty()||Mn(i,e),e&&s&&yi(i)&&i.isEmpty()&&i.selectEnd();}class An{static getType(){t(64,this.name);}static clone(e){t(65,this.name);}afterCloneFrom(t){this.__parent=t.__parent,this.__next=t.__next,this.__prev=t.__prev,this.__state=t.__state;}constructor(t){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,Object.defineProperty(this,"__state",{configurable:true,enumerable:false,value:void 0,writable:true}),ss(this,t);}getType(){return this.__type}isInline(){t(137,this.constructor.name);}isAttached(){let t=this.__key;for(;null!==t;){if("root"===t)return  true;const e=us(t);if(null===e)break;t=e.__parent;}return  false}isSelected(t){const e=t||Nr();if(null==e)return  false;const n=e.getNodes().some((t=>t.__key===this.__key));if(Qn(this))return n;if(cr(e)&&"element"===e.anchor.type&&"element"===e.focus.type){if(e.isCollapsed())return  false;const t=this.getParent();if(_i(this)&&this.isInline()&&t){const n=e.isBackward()?e.focus:e.anchor;if(t.is(n.getNode())&&n.offset===t.getChildrenSize()&&this.is(t.getLastChild()))return  false}}return n}getKey(){return this.__key}getIndexWithinParent(){const t=this.getParent();if(null===t)return  -1;let e=t.getFirstChild(),n=0;for(;null!==e;){if(this.is(e))return n;n++,e=e.getNextSibling();}return  -1}getParent(){const t=this.getLatest().__parent;return null===t?null:us(t)}getParentOrThrow(){const e=this.getParent();return null===e&&t(66,this.__key),e}getTopLevelElement(){let e=this;for(;null!==e;){const n=e.getParent();if(to(n))return di(e)||e===this&&_i(e)||t(194),e;e=n;}return null}getTopLevelElementOrThrow(){const e=this.getTopLevelElement();return null===e&&t(67,this.__key),e}getParents(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e),e=e.getParent();return t}getParentKeys(){const t=[];let e=this.getParent();for(;null!==e;)t.push(e.__key),e=e.getParent();return t}getPreviousSibling(){const t=this.getLatest().__prev;return null===t?null:us(t)}getPreviousSiblings(){const t=[],e=this.getParent();if(null===e)return t;let n=e.getFirstChild();for(;null!==n&&!n.is(this);)t.push(n),n=n.getNextSibling();return t}getNextSibling(){const t=this.getLatest().__next;return null===t?null:us(t)}getNextSiblings(){const t=[];let e=this.getNextSibling();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getCommonAncestor(t){const e=di(this)?this:this.getParent(),n=di(t)?t:t.getParent(),r=e&&n?ol(e,n):null;return r?r.commonAncestor:null}is(t){return null!=t&&this.__key===t.__key}isBefore(e){const n=ol(this,e);return null!==n&&("descendant"===n.type||("branch"===n.type?-1===rl(n):("same"!==n.type&&"ancestor"!==n.type&&t(279),false)))}isParentOf(t){const e=ol(this,t);return null!==e&&"ancestor"===e.type}getNodesBetween(e){const n=this.isBefore(e),r=[],i=new Set;let s=this;for(;null!==s;){const o=s.__key;if(i.has(o)||(i.add(o),r.push(s)),s===e)break;const l=di(s)?n?s.getFirstChild():s.getLastChild():null;if(null!==l){s=l;continue}const c=n?s.getNextSibling():s.getPreviousSibling();if(null!==c){s=c;continue}const a=s.getParentOrThrow();if(i.has(a.__key)||r.push(a),a===e)break;let u=null,f=a;do{if(null===f&&t(68),u=n?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),null===f)break;null!==u||i.has(f.__key)||r.push(f);}while(null===u);s=u;}return n||r.reverse(),r}isDirty(){const t=qr()._dirtyLeaves;return null!==t&&t.has(this.__key)}getLatest(){const e=us(this.__key);return null===e&&t(113),e}getWritable(){Vr();const t=Hr(),e=qr(),n=t._nodeMap,r=this.__key,i=this.getLatest(),s=e._cloneNotNeeded,o=Nr();if(null!==o&&o.setCachedNodes(null),s.has(r))return ls(i),i;const l=ko(i);return s.add(r),ls(l),n.set(r,l),l}getTextContent(){return ""}getTextContentSize(){return this.getTextContent().length}createDOM(e,n){t(70);}updateDOM(e,n,r){t(71);}exportDOM(t){return {element:this.createDOM(t._config,t)}}exportJSON(){const t=this.__state?this.__state.toJSON():void 0;return {type:this.__type,version:1,...t}}static importJSON(e){t(18,this.name);}updateFromJSON(t){return function(t,e){const n=t.getWritable();return (e||n.__state)&&mt$4(t).updateFromJSON(e),n}(this,t.$)}static transform(){return null}remove(t){Mn(this,true,t);}replace(e,n){Vr();let r=Nr();null!==r&&(r=r.clone()),ro(this,e);const i=this.getLatest(),s=this.__key,o=e.__key,l=e.getWritable(),c=this.getParentOrThrow().getWritable(),a=c.__size;os(l);const u=i.getPreviousSibling(),f=i.getNextSibling(),d=i.__prev,h=i.__next,g=i.__parent;if(Mn(i,false,true),null===u)c.__first=o;else {u.getWritable().__next=o;}if(l.__prev=d,null===f)c.__last=o;else {f.getWritable().__prev=o;}if(l.__next=h,l.__parent=g,c.__size=a,n&&(di(this)&&di(l)||t(139),this.getChildren().forEach((t=>{l.append(t);}))),cr(r)){ms(r);const t=r.anchor,e=r.focus;t.key===s&&or(t,l),e.key===s&&or(e,l);}return as()===s&&cs(o),l}insertAfter(t,e=true){Vr(),ro(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.getParent(),s=Nr();let o=false,l=false;if(null!==i){const e=t.getIndexWithinParent();if(os(r),cr(s)){const t=i.__key,n=s.anchor,r=s.focus;o="element"===n.type&&n.key===t&&n.offset===e+1,l="element"===r.type&&r.key===t&&r.offset===e+1;}}const c=this.getNextSibling(),a=this.getParentOrThrow().getWritable(),u=r.__key,f=n.__next;if(null===c)a.__last=u;else {c.getWritable().__prev=u;}if(a.__size++,n.__next=u,r.__next=f,r.__prev=n.__key,r.__parent=n.__parent,e&&cr(s)){const t=this.getIndexWithinParent();Er(s,a,t+1);const e=a.__key;o&&s.anchor.set(e,t+2,"element"),l&&s.focus.set(e,t+2,"element");}return t}insertBefore(t,e=true){Vr(),ro(this,t);const n=this.getWritable(),r=t.getWritable(),i=r.__key;os(r);const s=this.getPreviousSibling(),o=this.getParentOrThrow().getWritable(),l=n.__prev,c=this.getIndexWithinParent();if(null===s)o.__first=i;else {s.getWritable().__next=i;}o.__size++,n.__prev=i,r.__prev=l,r.__next=n.__key,r.__parent=n.__parent;const a=Nr();if(e&&cr(a)){Er(a,this.getParentOrThrow(),c);}return t}isParentRequired(){return  false}createParentElementNode(){return Pi()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(t,e){Vr();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(di(n))return n.select();if(!Qn(n)){const t=n.getIndexWithinParent()+1;return r.select(t,t)}return n.select(t,e)}selectNext(t,e){Vr();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(di(n))return n.select(0,0);if(!Qn(n)){const t=n.getIndexWithinParent();return r.select(t,t)}return n.select(t,e)}markDirty(){this.getWritable();}reconcileObservedMutation(t,e){this.markDirty();}}class On extends An{static getType(){return "linebreak"}static clone(t){return new On(t.__key)}constructor(t){super(t);}getTextContent(){return "\n"}createDOM(){return document.createElement("br")}updateDOM(){return  false}isInline(){return  true}static importDOM(){return {br:t=>function(t){const e=t.parentElement;if(null!==e&&po(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Ln(n)){const n=e.lastChild;if(n===t||n.previousSibling===t&&Ln(n))return  true}}return  false}(t)||function(t){const e=t.parentElement;if(null!==e&&po(e)){const n=e.firstChild;if(n===t||n.nextSibling===t&&Ln(n))return  false;const r=e.lastChild;if(r===t||r.previousSibling===t&&Ln(r))return  true}return  false}(t)?null:{conversion:Dn,priority:0}}}static importJSON(t){return Pn().updateFromJSON(t)}}function Dn(t){return {node:Pn()}}function Pn(){return no(new On)}function Fn(t){return t instanceof On}function Ln(t){return ts(t)&&/^( |\t|\r?\n)+$/.test(t.textContent||"")}function In(t,e){return 16&e?"code":e&A$2?"mark":32&e?"sub":64&e?"sup":null}function zn(t,e){return 1&e?"strong":2&e?"em":"span"}function Kn(t,e,n,r,i){const s=r.classList;let o=Ls(i,"base");void 0!==o&&s.add(...o),o=Ls(i,"underlineStrikethrough");let l=false;const c=e&N$3&&e&b$2;void 0!==o&&(n&N$3&&n&b$2?(l=true,c||s.add(...o)):c&&s.remove(...o));for(const t in j$4){const r=j$4[t];if(o=Ls(i,t),void 0!==o)if(n&r){if(l&&("underline"===t||"strikethrough"===t)){e&r&&s.remove(...o);continue}e&r&&(!c||"underline"!==t)&&"strikethrough"!==t||s.add(...o);}else e&r&&s.remove(...o);}}function Bn(t,e,n){const r=e.firstChild,s=n.isComposing(),o=t+(s?K$3:"");if(null==r)e.textContent=o;else {const t=r.nodeValue;if(t!==o)if(s||i){const[e,n,i]=function(t,e){const n=t.length,r=e.length;let i=0,s=0;for(;i<n&&i<r&&t[i]===e[i];)i++;for(;s+i<n&&s+i<r&&t[n-s-1]===e[r-s-1];)s++;return [i,n-i-s,e.slice(i,r-s)]}(t,o);0!==n&&r.deleteData(e,n),r.insertData(e,i);}else r.nodeValue=o;}}function Rn(t,e,n,r,i,s){Bn(i,t,e);const o=s.theme.text;void 0!==o&&Kn(0,0,r,t,o);}function Wn(t,e){const n=document.createElement(e);return n.appendChild(t),n}class Jn extends An{static getType(){return "text"}static clone(t){return new Jn(t.__text,t.__key)}afterCloneFrom(t){super.afterCloneFrom(t),this.__text=t.__text,this.__format=t.__format,this.__style=t.__style,this.__mode=t.__mode,this.__detail=t.__detail;}constructor(t="",e){super(e),this.__text=t,this.__format=0,this.__style="",this.__mode=0,this.__detail=0;}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){const t=this.getLatest();return G$4[t.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===as()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return !!(1&this.getLatest().__detail)}isUnmergeable(){return !!(2&this.getLatest().__detail)}hasFormat(t){const e=j$4[t];return !!(this.getFormat()&e)}isSimpleText(){return "text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(t,e){return rs(this.getLatest().__format,t,e)}canHaveFormat(){return  true}isInline(){return  true}createDOM(t,e){const n=this.__format,r=In(0,n),i=zn(0,n),s=null===r?i:r,o=document.createElement(s);let l=o;this.hasFormat("code")&&o.setAttribute("spellcheck","false"),null!==r&&(l=document.createElement(i),o.appendChild(l));Rn(l,this,0,n,this.__text,t);const c=this.__style;return ""!==c&&(o.style.cssText=c),o}updateDOM(e,n,r){const i=this.__text,s=e.__format,o=this.__format,l=In(0,s),c=In(0,o),a=zn(0,s),u=zn(0,o);if((null===l?a:l)!==(null===c?u:c))return  true;if(l===c&&a!==u){const e=n.firstChild;null==e&&t(48);const s=document.createElement(u);return Rn(s,this,0,o,i,r),n.replaceChild(s,e),false}let f=n;null!==c&&null!==l&&(f=n.firstChild,null==f&&t(49)),Bn(i,f,this);const d=r.theme.text;void 0!==d&&s!==o&&Kn(0,s,o,f,d);const h=e.__style,g=this.__style;return h!==g&&(n.style.cssText=g),false}static importDOM(){return {"#text":()=>({conversion:Yn,priority:0}),b:()=>({conversion:$n,priority:0}),code:()=>({conversion:Gn,priority:0}),em:()=>({conversion:Gn,priority:0}),i:()=>({conversion:Gn,priority:0}),mark:()=>({conversion:Gn,priority:0}),s:()=>({conversion:Gn,priority:0}),span:()=>({conversion:Un,priority:0}),strong:()=>({conversion:Gn,priority:0}),sub:()=>({conversion:Gn,priority:0}),sup:()=>({conversion:Gn,priority:0}),u:()=>({conversion:Gn,priority:0})}}static importJSON(t){return Xn().updateFromJSON(t)}updateFromJSON(t){return super.updateFromJSON(t).setTextContent(t.text).setFormat(t.format).setDetail(t.detail).setMode(t.mode).setStyle(t.style)}exportDOM(e){let{element:n}=super.exportDOM(e);return fo(n)||t(132),n.style.whiteSpace="pre-wrap",this.hasFormat("lowercase")?n.style.textTransform="lowercase":this.hasFormat("uppercase")?n.style.textTransform="uppercase":this.hasFormat("capitalize")&&(n.style.textTransform="capitalize"),this.hasFormat("bold")&&(n=Wn(n,"b")),this.hasFormat("italic")&&(n=Wn(n,"i")),this.hasFormat("strikethrough")&&(n=Wn(n,"s")),this.hasFormat("underline")&&(n=Wn(n,"u")),{element:n}}exportJSON(){return {detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),...super.exportJSON()}}selectionTransform(t,e){}setFormat(t){const e=this.getWritable();return e.__format="string"==typeof t?j$4[t]:t,e}setDetail(t){const e=this.getWritable();return e.__detail="string"==typeof t?V$3[t]:t,e}setStyle(t){const e=this.getWritable();return e.__style=t,e}toggleFormat(t){const e=rs(this.getFormat(),t,null);return this.setFormat(e)}toggleDirectionless(){const t=this.getWritable();return t.__detail^=1,t}toggleUnmergeable(){const t=this.getWritable();return t.__detail^=2,t}setMode(t){const e=q$4[t];if(this.__mode===e)return this;const n=this.getWritable();return n.__mode=e,n}setTextContent(t){if(this.__text===t)return this;const e=this.getWritable();return e.__text=t,e}select(t,e){Vr();let n=t,r=e;const i=Nr(),s=this.getTextContent(),o=this.__key;if("string"==typeof s){const t=s.length;void 0===n&&(n=t),void 0===r&&(r=t);}else n=0,r=0;if(!cr(i))return Sr(o,n,o,r,"text","text");{const t=as();t!==i.anchor.key&&t!==i.focus.key||cs(o),i.setTextNodeRange(this,n,this,r);}return i}selectStart(){return this.select(0,0)}selectEnd(){const t=this.getTextContentSize();return this.select(t,t)}spliceText(t,e,n,r){const i=this.getWritable(),s=i.__text,o=n.length;let l=t;l<0&&(l=o+l,l<0&&(l=0));const c=Nr();if(r&&cr(c)){const e=t+o;c.setTextNodeRange(i,e,i,e);}const a=s.slice(0,l)+n+s.slice(l+e);return i.__text=a,i}canInsertTextBefore(){return  true}canInsertTextAfter(){return  true}splitText(...t){Vr();const e=this.getLatest(),n=e.getTextContent();if(""===n)return [];const r=e.__key,i=as(),s=n.length;t.sort(((t,e)=>t-e)),t.push(s);const o=[],l=t.length;for(let e=0,r=0;e<s&&r<=l;r++){const i=t[r];i>e&&(o.push(n.slice(e,i)),e=i);}const c=o.length;if(1===c)return [e];const a=o[0],u=e.getParent();let f;const d=e.getFormat(),h=e.getStyle(),g=e.__detail;let _=false,p=null,y=null;const m=Nr();if(cr(m)){const[t,e]=m.isBackward()?[m.focus,m.anchor]:[m.anchor,m.focus];"text"===t.type&&t.key===r&&(p=t),"text"===e.type&&e.key===r&&(y=e);}e.isSegmented()?(f=Xn(a),f.__format=d,f.__style=h,f.__detail=g,_=true):f=e.setTextContent(a);const x=[f];for(let t=1;t<c;t++){const e=Xn(o[t]);e.__format=d,e.__style=h,e.__detail=g;const n=e.__key;i===r&&cs(n),x.push(e);}const C=p?p.offset:null,S=y?y.offset:null;let v=0;for(const t of x){if(!p&&!y)break;const e=v+t.getTextContentSize();if(null!==p&&null!==C&&C<=e&&C>=v&&(p.set(t.getKey(),C-v,"text"),C<e&&(p=null)),null!==y&&null!==S&&S<=e&&S>=v){y.set(t.getKey(),S-v,"text");break}v=e;}if(null!==u){!function(t){const e=t.getPreviousSibling(),n=t.getNextSibling();null!==e&&ls(e);null!==n&&ls(n);}(this);const t=u.getWritable(),e=this.getIndexWithinParent();_?(t.splice(e,0,x),this.remove()):t.splice(e,1,x),cr(m)&&Er(m,u,e,c-1);}return x}mergeWithSibling(e){const n=e===this.getPreviousSibling();n||e===this.getNextSibling()||t(50);const r=this.__key,i=e.__key,s=this.__text,o=s.length;as()===i&&cs(r);const l=Nr();if(cr(l)){const t=l.anchor,s=l.focus;null!==t&&t.key===i&&Or(t,n,r,e,o),null!==s&&s.key===i&&Or(s,n,r,e,o);}const c=e.__text,a=n?c+s:s+c;this.setTextContent(a);const u=this.getWritable();return e.remove(),u}isTextEntity(){return  false}}function Un(t){return {forChild:Zn(t.style),node:null}}function $n(t){const e=t,n="normal"===e.style.fontWeight;return {forChild:Zn(e.style,n?void 0:"bold"),node:null}}const jn=new WeakMap;function Vn(t){if(!fo(t))return  false;if("PRE"===t.nodeName)return  true;const e=t.style.whiteSpace;return "string"==typeof e&&e.startsWith("pre")}function Yn(e){const n=e;null===e.parentElement&&t(129);let r=n.textContent||"";if(null!==function(t){let e,n=t.parentNode;const r=[t];for(;null!==n&&void 0===(e=jn.get(n))&&!Vn(n);)r.push(n),n=n.parentNode;const i=void 0===e?n:e;for(let t=0;t<r.length;t++)jn.set(r[t],i);return i}(n)){const t=r.split(/(\r?\n|\t)/),e=[],n=t.length;for(let r=0;r<n;r++){const n=t[r];"\n"===n||"\r\n"===n?e.push(Pn()):"\t"===n?e.push(er()):""!==n&&e.push(Xn(n));}return {node:e}}if(r=r.replace(/\r/g,"").replace(/[ \t\n]+/g," "),""===r)return {node:null};if(" "===r[0]){let t=n,e=true;for(;null!==t&&null!==(t=Hn(t,false));){const n=t.textContent||"";if(n.length>0){/[ \t\n]$/.test(n)&&(r=r.slice(1)),e=false;break}}e&&(r=r.slice(1));}if(" "===r[r.length-1]){let t=n,e=true;for(;null!==t&&null!==(t=Hn(t,true));){if((t.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){e=false;break}}e&&(r=r.slice(0,r.length-1));}return ""===r?{node:null}:{node:Xn(r)}}function Hn(t,e){let n=t;for(;;){let t;for(;null===(t=e?n.nextSibling:n.previousSibling);){const t=n.parentElement;if(null===t)return null;n=t;}if(n=t,fo(n)){const t=n.style.display;if(""===t&&!_o(n)||""!==t&&!t.startsWith("inline"))return null}let r=n;for(;null!==(r=e?n.firstChild:n.lastChild);)n=r;if(ts(n))return n;if("BR"===n.nodeName)return null}}const qn={code:"code",em:"italic",i:"italic",mark:"highlight",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function Gn(t){const e=qn[t.nodeName.toLowerCase()];return void 0===e?{node:null}:{forChild:Zn(t.style,e),node:null}}function Xn(t=""){return no(new Jn(t))}function Qn(t){return t instanceof Jn}function Zn(t,e){const n=t.fontWeight,r=t.textDecoration.split(" "),i="700"===n||"bold"===n,s=r.includes("line-through"),o="italic"===t.fontStyle,l=r.includes("underline"),c=t.verticalAlign;return t=>Qn(t)?(i&&!t.hasFormat("bold")&&t.toggleFormat("bold"),s&&!t.hasFormat("strikethrough")&&t.toggleFormat("strikethrough"),o&&!t.hasFormat("italic")&&t.toggleFormat("italic"),l&&!t.hasFormat("underline")&&t.toggleFormat("underline"),"sub"!==c||t.hasFormat("subscript")||t.toggleFormat("subscript"),"super"!==c||t.hasFormat("superscript")||t.toggleFormat("superscript"),e&&!t.hasFormat(e)&&t.toggleFormat(e),t):t}class tr extends Jn{static getType(){return "tab"}static clone(t){return new tr(t.__key)}constructor(t){super("\t",t),this.__detail=2;}static importDOM(){return null}createDOM(t){const e=super.createDOM(t),n=Ls(t.theme,"tab");if(void 0!==n){e.classList.add(...n);}return e}static importJSON(t){return er().updateFromJSON(t)}setTextContent(e){return "\t"!==e&&""!==e&&t(126),super.setTextContent("\t")}spliceText(e,n,r,i){return ""===r&&0===n||"\t"===r&&1===n||t(286),this}setDetail(e){return 2!==e&&t(127),this}setMode(e){return "normal"!==e&&t(128),this}canInsertTextBefore(){return  false}canInsertTextAfter(){return  false}}function er(){return no(new tr)}function nr(t){return t instanceof tr}class rr{constructor(t,e,n){this._selection=null,this.key=t,this.offset=e,this.type=n;}is(t){return this.key===t.key&&this.offset===t.offset&&this.type===t.type}isBefore(t){if(this.key===t.key)return this.offset<t.offset;return nl(pl(ll(this,"next")),pl(ll(t,"next")))<0}getNode(){const e=us(this.key);return null===e&&t(20),e}set(t,e,n,r){const i=this._selection,s=this.key;r&&this.key===t&&this.offset===e&&this.type===n||(this.key=t,this.offset=e,this.type=n,jr()||(as()===s&&cs(t),null!==i&&(i.setCachedNodes(null),i.dirty=true)));}}function ir(t,e,n){return new rr(t,e,n)}function sr(t,e){let n=e.__key,r=t.offset,i="element";if(Qn(e)){i="text";const t=e.getTextContentSize();r>t&&(r=t);}else if(!di(e)){const t=e.getNextSibling();if(Qn(t))n=t.__key,r=0,i="text";else {const t=e.getParent();t&&(n=t.__key,r=e.getIndexWithinParent()+1);}}t.set(n,r,i);}function or(t,e){if(di(e)){const n=e.getLastDescendant();di(n)||Qn(n)?sr(t,n):sr(t,e);}else sr(t,e);}class lr{constructor(t){this._cachedNodes=null,this._nodes=t,this.dirty=false;}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t;}is(t){if(!ur(t))return  false;const e=this._nodes,n=t._nodes;return e.size===n.size&&Array.from(e).every((t=>n.has(t)))}isCollapsed(){return  false}isBackward(){return  false}getStartEndPoints(){return null}add(t){this.dirty=true,this._nodes.add(t),this._cachedNodes=null;}delete(t){this.dirty=true,this._nodes.delete(t),this._cachedNodes=null;}clear(){this.dirty=true,this._nodes.clear(),this._cachedNodes=null;}has(t){return this._nodes.has(t)}clone(){return new lr(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(t){}insertText(){}insertNodes(t){const e=this.getNodes(),n=e.length,r=e[n-1];let i;if(Qn(r))i=r.select();else {const t=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(t,t);}i.insertNodes(t);for(let t=0;t<n;t++)e[t].remove();}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=this._nodes,n=[];for(const t of e){const e=us(t);null!==e&&n.push(e);}return jr()||(this._cachedNodes=n),n}getTextContent(){const t=this.getNodes();let e="";for(let n=0;n<t.length;n++)e+=t[n].getTextContent();return e}deleteNodes(){const t=this.getNodes();if((Nr()||wr())===this&&t[0]){const e=Jo(t[0],"next");al(tl(e,e));}for(const e of t)e.remove();}}function cr(t){return t instanceof ar}class ar{constructor(t,e,n,r){this.anchor=t,this.focus=e,t._selection=this,e._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=false;}getCachedNodes(){return this._cachedNodes}setCachedNodes(t){this._cachedNodes=t;}is(t){return !!cr(t)&&(this.anchor.is(t.anchor)&&this.focus.is(t.focus)&&this.format===t.format&&this.style===t.style)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){const t=this._cachedNodes;if(null!==t)return t;const e=function(t){const e=[],[n,r]=t.getTextSlices();n&&e.push(n.caret.origin);const i=new Set,s=new Set;for(const n of t)if(Ko(n)){const{origin:t}=n;0===e.length?i.add(t):(s.add(t),e.push(t));}else {const{origin:t}=n;di(t)&&s.has(t)||e.push(t);}r&&e.push(r.caret.origin);if(zo(t.focus)&&di(t.focus.origin)&&null===t.focus.getNodeAtCaret())for(let n=Vo(t.focus.origin,"previous");Ko(n)&&i.has(n.origin)&&!n.origin.isEmpty()&&n.origin.is(e[e.length-1]);n=Ho(n))i.delete(n.origin),e.pop();for(;e.length>1;){const t=e[e.length-1];if(!di(t)||s.has(t)||t.isEmpty()||i.has(t))break;e.pop();}if(0===e.length&&t.isCollapsed()){const n=pl(t.anchor),r=pl(t.anchor.getFlipped()),i=t=>Lo(t)?t.origin:t.getNodeAtCaret(),s=i(n)||i(r)||(t.anchor.getNodeAtCaret()?n.origin:r.origin);e.push(s);}return e}(xl(fl(this),"next"));return jr()||(this._cachedNodes=e),e}setTextNodeRange(t,e,n,r){this.anchor.set(t.__key,e,"text"),this.focus.set(n.__key,r,"text");}getTextContent(){const t=this.getNodes();if(0===t.length)return "";const e=t[0],n=t[t.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[o,l]=dr(this);let c="",a=true;for(let u=0;u<t.length;u++){const f=t[u];if(di(f)&&!f.isInline())a||(c+="\n"),a=!f.isEmpty();else if(a=false,Qn(f)){let t=f.getTextContent();f===e?f===n?"element"===r.type&&"element"===i.type&&i.offset!==r.offset||(t=o<l?t.slice(o,l):t.slice(l,o)):t=s?t.slice(o):t.slice(l):f===n&&(t=s?t.slice(0,l):t.slice(0,o)),c+=t;}else !_i(f)&&!Fn(f)||f===n&&this.isCollapsed()||(c+=f.getTextContent());}return c}applyDOMRange(t){const e=qr(),n=e.getEditorState()._selection,r=xr(t.startContainer,t.startOffset,t.endContainer,t.endOffset,e,n);if(null===r)return;const[i,s]=r;this.anchor.set(i.key,i.offset,i.type,true),this.focus.set(s.key,s.offset,s.type,true),vt$4(this);}clone(){const t=this.anchor,e=this.focus;return new ar(ir(t.key,t.offset,t.type),ir(e.key,e.offset,e.type),this.format,this.style)}toggleFormat(t){this.format=rs(this.format,t,null),this.dirty=true;}setStyle(t){this.style=t,this.dirty=true;}hasFormat(t){const e=j$4[t];return !!(this.format&e)}insertRawText(t){const e=t.split(/(\r?\n|\t)/),n=[],r=e.length;for(let t=0;t<r;t++){const r=e[t];"\n"===r||"\r\n"===r?n.push(Pn()):"\t"===r?n.push(er()):n.push(Xn(r));}this.insertNodes(n);}insertText(e){const n=this.anchor,r=this.focus,i=this.format,s=this.style;let o=n,l=r;!this.isCollapsed()&&r.isBefore(n)&&(o=r,l=n),"element"===o.type&&function(t,e,n,r){const i=t.getNode(),s=i.getChildAtIndex(t.offset),o=Xn(),l=yi(i)?Pi().append(o):o;o.setFormat(n),o.setStyle(r),null===s?i.append(l):s.insertBefore(l),t.is(e)&&e.set(o.__key,0,"text"),t.set(o.__key,0,"text");}(o,l,i,s),"element"===l.type&&cl(l,pl(ll(l,"next")));const c=o.offset;let a=l.offset;const u=this.getNodes(),f=u.length;let d=u[0];Qn(d)||t(26);const h=d.getTextContent().length,g=d.getParentOrThrow();let _=u[f-1];if(1===f&&"element"===l.type&&(a=h,l.set(o.key,a,"text")),this.isCollapsed()&&c===h&&(Zi(d)||!d.canInsertTextAfter()||!g.canInsertTextAfter()&&null===d.getNextSibling())){let t=d.getNextSibling();if(Qn(t)&&t.canInsertTextBefore()&&!Zi(t)||(t=Xn(),t.setFormat(i),t.setStyle(s),g.canInsertTextAfter()?d.insertAfter(t):g.insertAfter(t)),t.select(0,0),d=t,""!==e)return void this.insertText(e)}else if(this.isCollapsed()&&0===c&&(Zi(d)||!d.canInsertTextBefore()||!g.canInsertTextBefore()&&null===d.getPreviousSibling())){let t=d.getPreviousSibling();if(Qn(t)&&!Zi(t)||(t=Xn(),t.setFormat(i),g.canInsertTextBefore()?d.insertBefore(t):g.insertBefore(t)),t.select(),d=t,""!==e)return void this.insertText(e)}else if(d.isSegmented()&&c!==h){const t=Xn(d.getTextContent());t.setFormat(i),d.replace(t),d=t;}else if(!this.isCollapsed()&&""!==e){const t=_.getParent();if(!g.canInsertTextBefore()||!g.canInsertTextAfter()||di(t)&&(!t.canInsertTextBefore()||!t.canInsertTextAfter()))return this.insertText(""),mr(this.anchor,this.focus,null),void this.insertText(e)}if(1===f){if(Qi(d)){const t=Xn(e);return t.select(),void d.replace(t)}const t=d.getFormat(),n=d.getStyle();if(c!==a||t===i&&n===s){if(nr(d)){const t=Xn(e);return t.setFormat(i),t.setStyle(s),t.select(),void d.replace(t)}}else {if(""!==d.getTextContent()){const t=Xn(e);if(t.setFormat(i),t.setStyle(s),t.select(),0===c)d.insertBefore(t,false);else {const[e]=d.splitText(c);e.insertAfter(t,false);}return void(t.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=e.length))}d.setFormat(i),d.setStyle(s);}const r=a-c;d=d.spliceText(c,r,e,true),""===d.getTextContent()?d.remove():"text"===this.anchor.type&&(d.isComposing()?this.anchor.offset-=e.length:(this.format=t,this.style=n));}else {const t=new Set([...d.getParentKeys(),..._.getParentKeys()]),n=di(d)?d:d.getParentOrThrow();let r=di(_)?_:_.getParentOrThrow(),i=_;if(!n.is(r)&&r.isInline())do{i=r,r=r.getParentOrThrow();}while(r.isInline());if("text"===l.type&&(0!==a||""===_.getTextContent())||"element"===l.type&&_.getIndexWithinParent()<a)if(Qn(_)&&!Qi(_)&&a!==_.getTextContentSize()){if(_.isSegmented()){const t=Xn(_.getTextContent());_.replace(t),_=t;}yi(l.getNode())||"text"!==l.type||(_=_.spliceText(0,a,"")),t.add(_.__key);}else {const t=_.getParentOrThrow();t.canBeEmpty()||1!==t.getChildrenSize()?_.remove():t.remove();}else t.add(_.__key);const s=r.getChildren(),o=new Set(u),g=n.is(r),p=n.isInline()&&null===d.getNextSibling()?n:d;for(let t=s.length-1;t>=0;t--){const e=s[t];if(e.is(d)||di(e)&&e.isParentOf(d))break;e.isAttached()&&(!o.has(e)||e.is(i)?g||p.insertAfter(e,false):e.remove());}if(!g){let e=r,n=null;for(;null!==e;){const r=e.getChildren(),i=r.length;(0===i||r[i-1].is(n))&&(t.delete(e.__key),n=e),e=e.getParent();}}if(Qi(d))if(c===h)d.select();else {const t=Xn(e);t.select(),d.replace(t);}else d=d.spliceText(c,h-c,e,true),""===d.getTextContent()?d.remove():d.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=e.length);for(let e=1;e<f;e++){const n=u[e],r=n.__key;t.has(r)||n.remove();}}}removeText(){const t=Nr()===this;ul(this,_l(fl(this))),t&&Nr()!==this&&ms(this);}formatText(t,e=null){if(this.isCollapsed())return this.toggleFormat(t),void cs(null);const n=this.getNodes(),r=[];for(const t of n)Qn(t)&&r.push(t);const i=e=>{n.forEach((n=>{if(di(n)){const r=n.getFormatFlags(t,e);n.setTextFormat(r);}}));},s=r.length;if(0===s)return this.toggleFormat(t),cs(null),void i(e);const o=this.anchor,l=this.focus,c=this.isBackward(),a=c?l:o,u=c?o:l;let f=0,d=r[0],h="element"===a.type?0:a.offset;if("text"===a.type&&h===d.getTextContentSize()&&(f=1,d=r[1],h=0),null==d)return;const g=d.getFormatFlags(t,e);i(g);const _=s-1;let p=r[_];const y="text"===u.type?u.offset:p.getTextContentSize();if(d.is(p)){if(h===y)return;if(Zi(d)||0===h&&y===d.getTextContentSize())d.setFormat(g);else {const t=d.splitText(h,y),e=0===h?t[0]:t[1];e.setFormat(g),"text"===a.type&&a.set(e.__key,0,"text"),"text"===u.type&&u.set(e.__key,y-h,"text");}return void(this.format=g)}0===h||Zi(d)||([,d]=d.splitText(h),h=0),d.setFormat(g);const m=p.getFormatFlags(t,g);y>0&&(y===p.getTextContentSize()||Zi(p)||([p]=p.splitText(y)),p.setFormat(m));for(let e=f+1;e<_;e++){const n=r[e],i=n.getFormatFlags(t,m);n.setFormat(i);}"text"===a.type&&a.set(d.__key,h,"text"),"text"===u.type&&u.set(p.__key,y,"text"),this.format=g|m;}insertNodes(e){if(0===e.length)return;if(this.isCollapsed()||this.removeText(),"root"===this.anchor.key){this.insertParagraph();const n=Nr();return cr(n)||t(134),n.insertNodes(e)}const n=(this.isBackward()?this.focus:this.anchor).getNode(),r=mo(n,yo),i=e[e.length-1];if(di(r)&&"__language"in r){if("__language"in e[0])this.insertText(e[0].getTextContent());else {const t=Ir(this);r.splice(t,0,e),i.selectEnd();}return}if(!e.some((t=>(di(t)||_i(t))&&!t.isInline()))){di(r)||t(211,n.constructor.name,n.getType());const s=Ir(this);return r.splice(s,0,e),void i.selectEnd()}const s=function(t){const e=Pi();let n=null;for(let r=0;r<t.length;r++){const i=t[r],s=Fn(i);if(s||_i(i)&&i.isInline()||di(i)&&i.isInline()||Qn(i)||i.isParentRequired()){if(null===n&&(n=i.createParentElementNode(),e.append(n),s))continue;null!==n&&n.append(i);}else e.append(i),n=null;}return e}(e),o=s.getLastDescendant(),l=s.getChildren(),c=!di(r)||!r.isEmpty()?this.insertParagraph():null,a=l[l.length-1];let u=l[0];var f;di(f=u)&&yo(f)&&!f.isEmpty()&&di(r)&&(!r.isEmpty()||r.canMergeWhenEmpty())&&(di(r)||t(211,n.constructor.name,n.getType()),r.append(...u.getChildren()),u=l[1]),u&&(null===r&&t(212,n.constructor.name,n.getType()),function(e,n,r){const i=n.getParentOrThrow().getLastChild();let s=n;const o=[n];for(;s!==i;)s.getNextSibling()||t(140),s=s.getNextSibling(),o.push(s);let l=e;for(const t of o)l=l.insertAfter(t);}(r,u));const d=mo(o,yo);c&&di(d)&&(c.canMergeWhenEmpty()||yo(a))&&(d.append(...c.getChildren()),c.remove()),di(r)&&r.isEmpty()&&r.remove(),o.selectEnd();const h=di(r)?r.getLastChild():null;Fn(h)&&d!==r&&h.remove();}insertParagraph(){if("root"===this.anchor.key){const t=Pi();return ps().splice(this.anchor.offset,0,[t]),t.select(),t}const e=Ir(this),n=mo(this.anchor.getNode(),yo);di(n)||t(213);const r=n.getChildAtIndex(e),i=r?[r,...r.getNextSiblings()]:[],s=n.insertNewAfter(this,false);return s?(s.append(...i),s.selectStart(),s):null}insertLineBreak(t){const e=Pn();if(this.insertNodes([e]),t){const t=e.getParentOrThrow(),n=e.getIndexWithinParent();t.select(n,n);}}extract(){const t=this.getNodes(),e=t.length,n=e-1,r=this.anchor,i=this.focus;let s=t[0],o=t[n];const[l,c]=dr(this);if(0===e)return [];if(1===e){if(Qn(s)&&!this.isCollapsed()){const t=l>c?c:l,e=l>c?l:c,n=s.splitText(t,e),r=0===t?n[0]:n[1];return null!=r?[r]:[]}return [s]}const a=r.isBefore(i);if(Qn(s)){const e=a?l:c;e===s.getTextContentSize()?t.shift():0!==e&&([,s]=s.splitText(e),t[0]=s);}if(Qn(o)){const e=o.getTextContent().length,r=a?c:l;0===r?t.pop():r!==e&&([o]=o.splitText(r),t[n]=o);}return t}modify(t,e,n){if(Kr(this,t,e,n))return;const r="move"===t,i=qr(),s=lo(Xs(i));if(!s)return;const o=i._blockCursorElement,l=i._rootElement,c=this.focus.getNode();if(null===l||null===o||!di(c)||c.isInline()||c.canBeEmpty()||oo(o,i,l),this.dirty){let t=Us(i,this.anchor.key),e=Us(i,this.focus.key);"text"===this.anchor.type&&(t=ns(t)),"text"===this.focus.type&&(e=ns(e)),t&&e&&Dr(s,t,this.anchor.offset,e,this.focus.offset);}if(function(t,e,n,r){t.modify(e,n,r);}(s,t,e?"backward":"forward",n),s.rangeCount>0){const t=s.getRangeAt(0),n=this.anchor.getNode(),i=yi(n)?n:Zs(n);if(this.applyDOMRange(t),this.dirty=true,!r){const n=this.getNodes(),r=[];let o=false;for(let t=0;t<n.length;t++){const e=n[t];qs(e,i)?r.push(e):o=true;}if(o&&r.length>0)if(e){const t=r[0];di(t)?t.selectStart():t.getParentOrThrow().selectStart();}else {const t=r[r.length-1];di(t)?t.selectEnd():t.getParentOrThrow().selectEnd();}s.anchorNode===t.startContainer&&s.anchorOffset===t.startOffset||function(t){const e=t.focus,n=t.anchor,r=n.key,i=n.offset,s=n.type;n.set(e.key,e.offset,e.type,true),e.set(r,i,s,true);}(this);}}"lineboundary"===n&&Kr(this,t,e,n,"decorators");}forwardDeletion(t,e,n){if(!n&&("element"===t.type&&di(e)&&t.offset===e.getChildrenSize()||"text"===t.type&&t.offset===e.getTextContentSize())){const t=e.getParent(),n=e.getNextSibling()||(null===t?null:t.getNextSibling());if(di(n)&&n.isShadowRoot())return  true}return  false}deleteCharacter(t){const e=this.isCollapsed();if(this.isCollapsed()){const e=this.anchor;let n=e.getNode();if(this.forwardDeletion(e,n,t))return;const r=Qo(ll(e,t?"previous":"next"));if(r.getTextSlices().every((t=>null===t||0===t.distance))){let t={type:"initial"};for(const e of r.iterNodeCarets("shadowRoot"))if(Ko(e))if(e.origin.isInline());else {if(e.origin.isShadowRoot()){if("merge-block"===t.type)break;if(di(r.anchor.origin)&&r.anchor.origin.isEmpty()){const t=pl(e);ul(this,tl(t,t)),r.anchor.origin.remove();}return}"merge-next-block"!==t.type&&"merge-block"!==t.type||(t={block:t.block,caret:e,type:"merge-block"});}else {if("merge-block"===t.type)break;if(zo(e)){if(di(e.origin)){if(e.origin.isInline()){if(!e.origin.isParentOf(r.anchor.origin))break}else t={block:e.origin,type:"merge-next-block"};continue}if(_i(e.origin)){if(e.origin.isIsolated());else if("merge-next-block"===t.type&&(e.origin.isKeyboardSelectable()||!e.origin.isInline())&&di(r.anchor.origin)&&r.anchor.origin.isEmpty()){r.anchor.origin.remove();const t=kr();t.add(e.origin.getKey()),ms(t);}else e.origin.remove();return}break}}if("merge-block"===t.type){const{caret:e,block:n}=t;return ul(this,tl(!e.origin.isEmpty()&&n.isEmpty()?dl(Jo(n,e.direction)):r.anchor,e)),this.removeText()}}const i=this.focus;if(this.modify("extend",t,"character"),this.isCollapsed()){if(t&&0===e.offset&&hr(this,e.getNode()))return}else {const r="text"===i.type?i.getNode():null;if(n="text"===e.type?e.getNode():null,null!==r&&r.isSegmented()){const e=i.offset,s=r.getTextContentSize();if(r.is(n)||t&&e!==s||!t&&0!==e)return void _r(r,t,e)}else if(null!==n&&n.isSegmented()){const i=e.offset,s=n.getTextContentSize();if(n.is(r)||t&&0!==i||!t&&i!==s)return void _r(n,t,i)}!function(t,e){const n=t.anchor,r=t.focus,i=n.getNode(),s=r.getNode();if(i===s&&"text"===n.type&&"text"===r.type){const t=n.offset,s=r.offset,o=t<s,l=o?t:s,c=o?s:t,a=c-1;if(l!==a){(function(t){return !(Ss(t)||gr(t))})(i.getTextContent().slice(l,c))&&(e?r.set(r.key,a,r.type):n.set(n.key,a,n.type));}}}(this,t);}}if(this.removeText(),t&&!e&&this.isCollapsed()&&"element"===this.anchor.type&&0===this.anchor.offset){const t=this.anchor.getNode();t.isEmpty()&&yi(t.getParent())&&null===t.getPreviousSibling()&&hr(this,t);}}deleteLine(t){this.isCollapsed()&&this.modify("extend",t,"lineboundary"),this.isCollapsed()?this.deleteCharacter(t):this.removeText();}deleteWord(t){if(this.isCollapsed()){const e=this.anchor,n=e.getNode();if(this.forwardDeletion(e,n,t))return;this.modify("extend",t,"word");}this.removeText();}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return [this.anchor,this.focus]}}function ur(t){return t instanceof lr}function fr(t){const e=t.offset;if("text"===t.type)return e;const n=t.getNode();return e===n.getChildrenSize()?n.getTextContent().length:0}function dr(t){const e=t.getStartEndPoints();if(null===e)return [0,0];const[n,r]=e;return "element"===n.type&&"element"===r.type&&n.key===r.key&&n.offset===r.offset?[0,0]:[fr(n),fr(r)]}function hr(t,e){for(let n=e;n;n=n.getParent()){if(di(n)){if(n.collapseAtStart(t))return  true;if(to(n))break}if(n.getPreviousSibling())break}return  false}const gr=(()=>{try{const t=new RegExp("\\p{Emoji}","u"),e=t.test.bind(t);if(e("❤️")&&e("#️⃣")&&e("👍"))return e}catch(t){}return ()=>false})();function _r(t,e,n){const r=t,i=r.getTextContent().split(/(?=\s)/g),s=i.length;let o=0,l=0;for(let t=0;t<s;t++){const r=t===s-1;if(l=o,o+=i[t].length,e&&o===n||o>n||r){i.splice(t,1),r&&(l=void 0);break}}const c=i.join("").trim();""===c?r.remove():(r.setTextContent(c),r.select(l,l));}function pr(e,n,r,i){let s,o=n;if(fo(e)){let l=false;const c=e.childNodes,a=c.length,u=i._blockCursorElement;o===a&&(l=true,o=a-1);let f=c[o],d=false;if(f===u)f=c[o+1],d=true;else if(null!==u){const t=u.parentNode;if(e===t){n>Array.prototype.indexOf.call(t.children,u)&&o--;}}if(s=xs(f),Qn(s))o=Cs(s,l);else {let c=xs(e);if(null===c)return null;if(di(c)){const a=i.getElementByKey(c.getKey());null===a&&t(214);const u=c.getDOMSlot(a);[c,o]=u.resolveChildIndex(c,a,e,n),di(c)||t(215),l&&o>=c.getChildrenSize()&&(o=Math.max(0,c.getChildrenSize()-1));let f=c.getChildAtIndex(o);if(di(f)&&function(t,e,n){const r=t.getParent();return null===n||null===r||!r.canBeEmpty()||r!==n.getNode()}(f,0,r)){const t=l?f.getLastDescendant():f.getFirstDescendant();null===t?c=f:(f=t,c=di(f)?f:f.getParentOrThrow()),o=0;}Qn(f)?(s=f,c=null,o=Cs(f,l)):f!==c&&l&&!d&&(di(c)||t(216),o=Math.min(c.getChildrenSize(),o+1));}else {const t=c.getIndexWithinParent();o=0===n&&_i(c)&&xs(e)===c?t:t+1,c=c.getParentOrThrow();}if(di(c))return ir(c.__key,o,"element")}}else s=xs(e);return Qn(s)?ir(s.__key,o,"text"):null}function yr(t,e,n){const r=t.offset,i=t.getNode();if(0===r){const r=i.getPreviousSibling(),s=i.getParent();if(e){if((n||!e)&&null===r&&di(s)&&s.isInline()){const e=s.getPreviousSibling();Qn(e)&&t.set(e.__key,e.getTextContent().length,"text");}}else di(r)&&!n&&r.isInline()?t.set(r.__key,r.getChildrenSize(),"element"):Qn(r)&&t.set(r.__key,r.getTextContent().length,"text");}else if(r===i.getTextContent().length){const r=i.getNextSibling(),s=i.getParent();if(e&&di(r)&&r.isInline())t.set(r.__key,0,"element");else if((n||e)&&null===r&&di(s)&&s.isInline()&&!s.canInsertTextAfter()){const e=s.getNextSibling();Qn(e)&&t.set(e.__key,0,"text");}}}function mr(t,e,n){if("text"===t.type&&"text"===e.type){const r=t.isBefore(e),i=t.is(e);yr(t,r,i),yr(e,!r,i),i&&e.set(t.key,t.offset,t.type);const s=qr();if(s.isComposing()&&s._compositionKey!==t.key&&cr(n)){const r=n.anchor,i=n.focus;t.set(r.key,r.offset,r.type,true),e.set(i.key,i.offset,i.type,true);}}}function xr(t,e,n,r,i,s){if(null===t||null===n||!Hi(i,t,n))return null;const o=pr(t,e,cr(s)?s.anchor:null,i);if(null===o)return null;const l=pr(n,r,cr(s)?s.focus:null,i);if(null===l)return null;if("element"===o.type&&"element"===l.type){const e=xs(t),r=xs(n);if(_i(e)&&_i(r))return null}return mr(o,l,s),[o,l]}function Cr(t){return di(t)&&!t.isInline()}function Sr(t,e,n,r,i,s){const o=Hr(),l=new ar(ir(t,e,i),ir(n,r,s),0,"");return l.dirty=true,o._selection=l,l}function vr(){const t=ir("root",0,"element"),e=ir("root",0,"element");return new ar(t,e,0,"")}function kr(){return new lr(new Set)}function br(t,e,n,r){const i=n._window;if(null===i)return null;const s=r||i.event,o=s?s.type:void 0,l="selectionchange"===o,c=!tt$2&&(l||"beforeinput"===o||"compositionstart"===o||"compositionend"===o||"click"===o&&s&&3===s.detail||"drop"===o||void 0===o);let a,u,f,d;if(cr(t)&&!c)return t.clone();if(null===e)return null;if(a=e.anchorNode,u=e.focusNode,f=e.anchorOffset,d=e.focusOffset,l&&cr(t)&&!Hi(n,a,u))return t.clone();const h=xr(a,f,u,d,n,t);if(null===h)return null;const[g,_]=h;return new ar(g,_,cr(t)?t.format:0,cr(t)?t.style:"")}function Nr(){return Hr()._selection}function wr(){return qr()._editorState._selection}function Er(t,e,n,r=1){const i=t.anchor,s=t.focus,o=i.getNode(),l=s.getNode();if(!e.is(o)&&!e.is(l))return;const c=e.__key;if(t.isCollapsed()){const e=i.offset;if(n<=e&&r>0||n<e&&r<0){const n=Math.max(0,e+r);i.set(c,n,"element"),s.set(c,n,"element"),Mr(t);}}else {const o=t.isBackward(),l=o?s:i,a=l.getNode(),u=o?i:s,f=u.getNode();if(e.is(a)){const t=l.offset;(n<=t&&r>0||n<t&&r<0)&&l.set(c,Math.max(0,t+r),"element");}if(e.is(f)){const t=u.offset;(n<=t&&r>0||n<t&&r<0)&&u.set(c,Math.max(0,t+r),"element");}}Mr(t);}function Mr(t){const e=t.anchor,n=e.offset,r=t.focus,i=r.offset,s=e.getNode(),o=r.getNode();if(t.isCollapsed()){if(!di(s))return;const t=s.getChildrenSize(),i=n>=t,o=i?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(Qn(o)){let t=0;i&&(t=o.getTextContentSize()),e.set(o.__key,t,"text"),r.set(o.__key,t,"text");}}else {if(di(s)){const t=s.getChildrenSize(),r=n>=t,i=r?s.getChildAtIndex(t-1):s.getChildAtIndex(n);if(Qn(i)){let t=0;r&&(t=i.getTextContentSize()),e.set(i.__key,t,"text");}}if(di(o)){const t=o.getChildrenSize(),e=i>=t,n=e?o.getChildAtIndex(t-1):o.getChildAtIndex(i);if(Qn(n)){let t=0;e&&(t=n.getTextContentSize()),r.set(n.__key,t,"text");}}}}function Ar(t,e,n,r,i){let s=null,o=0,l=null;null!==r?(s=r.__key,Qn(r)?(o=r.getTextContentSize(),l="text"):di(r)&&(o=r.getChildrenSize(),l="element")):null!==i&&(s=i.__key,Qn(i)?l="text":di(i)&&(l="element")),null!==s&&null!==l?t.set(s,o,l):(o=e.getIndexWithinParent(),-1===o&&(o=n.getChildrenSize()),t.set(n.__key,o,"element"));}function Or(t,e,n,r,i){"text"===t.type?t.set(n,t.offset+(e?0:i),"text"):t.offset>r.getIndexWithinParent()&&t.set(t.key,t.offset-1,"element");}function Dr(t,e,n,r,i){try{t.setBaseAndExtent(e,n,r,i);}catch(t){}}function Pr(t,e,n,r,i,s,o){const l=r.anchorNode,c=r.focusNode,a=r.anchorOffset,u=r.focusOffset,f=document.activeElement;if(i.has(Ni)&&f!==s||null!==f&&Yi(f))return;if(!cr(e))return void(null!==t&&Hi(n,l,c)&&r.removeAllRanges());const d=e.anchor,h=e.focus,g=d.key,_=h.key,p=Us(n,g),y=Us(n,_),m=d.offset,x=h.offset,C=e.format,S=e.style,v=e.isCollapsed();let k=p,T=y,b=false;if("text"===d.type){k=ns(p);const t=d.getNode();b=t.getFormat()!==C||t.getStyle()!==S;}else cr(t)&&"text"===t.anchor.type&&(b=true);var N,w,E,M,A;if(("text"===h.type&&(T=ns(y)),null!==k&&null!==T)&&(v&&(null===t||b||cr(t)&&(t.format!==C||t.style!==S))&&(N=C,w=S,E=m,M=g,A=performance.now(),gn=[N,w,E,M,A]),a!==m||u!==x||l!==k||c!==T||"Range"===r.type&&v||(null!==f&&s.contains(f)||s.focus({preventScroll:true}),"element"===d.type))){if(Dr(r,k,m,T,x),!i.has(Ei)&&e.isCollapsed()&&null!==s&&s===document.activeElement){const t=cr(e)&&"element"===e.anchor.type?k.childNodes[m]||null:r.rangeCount>0?r.getRangeAt(0):null;if(null!==t){let e;if(t instanceof Text){const n=document.createRange();n.selectNode(t),e=n.getBoundingClientRect();}else e=t.getBoundingClientRect();!function(t,e,n){const r=js(n),i=Gs(r);if(null===r||null===i)return;let{top:s,bottom:o}=e,l=0,c=0,a=n;for(;null!==a;){const e=a===r.body;if(e)l=0,c=Xs(t).innerHeight;else {const t=a.getBoundingClientRect();l=t.top,c=t.bottom;}let n=0;if(s<l?n=-(l-s):o>c&&(n=o-c),0!==n)if(e)i.scrollBy(0,n);else {const t=a.scrollTop;a.scrollTop+=n;const e=a.scrollTop-t;s-=e,o-=e;}if(e)break;a=$s(a);}}(n,e,s);}}ln=true;}}function Fr(t){let e=Nr()||wr();null===e&&(e=ps().selectEnd()),e.insertNodes(t);}function Ir(e){let n=e;e.isCollapsed()||n.removeText();const r=Nr();cr(r)&&(n=r),cr(n)||t(161);const i=n.anchor;let s=i.getNode(),o=i.offset;for(;!yo(s);){const t=s;if([s,o]=zr(s,o),t.is(s))break}return o}function zr(t,e){const n=t.getParent();if(!n){const t=Pi();return ps().append(t),t.select(),[ps(),0]}if(Qn(t)){const r=t.splitText(e);if(0===r.length)return [n,t.getIndexWithinParent()];const i=0===e?0:1;return [n,r[0].getIndexWithinParent()+i]}if(!di(t)||0===e)return [n,t.getIndexWithinParent()];const r=t.getChildAtIndex(e);if(r){const n=new ar(ir(t.__key,e,"element"),ir(t.__key,e,"element"),0,""),i=t.insertNewAfter(n);i&&i.append(r,...r.getNextSiblings());}return [n,t.getIndexWithinParent()+1]}function Kr(t,e,n,r,i="decorators-and-blocks"){if("move"===e&&"character"===r&&!t.isCollapsed()){const[e,r]=n===t.isBackward()?[t.focus,t.anchor]:[t.anchor,t.focus];return r.set(e.key,e.offset,e.type),true}const s=ll(t.focus,n?"previous":"next"),o="lineboundary"===r,l="move"===e;let c=s,a="decorators-and-blocks"===i;if(!yl(c)){for(const t of c){a=false;const{origin:e}=t;if(!_i(e)||e.isIsolated()||(c=t,!o||!e.isInline()))break}if(a)for(const t of Qo(s).iterNodeCarets("extend"===e?"shadowRoot":"root")){if(Ko(t))t.origin.isInline()||(c=t);else {if(di(t.origin))continue;_i(t.origin)&&!t.origin.isInline()&&(c=t);}break}}if(c===s)return  false;if(l&&!o&&_i(c.origin)&&c.origin.isKeyboardSelectable()){const t=kr();return t.add(c.origin.getKey()),ms(t),true}return c=pl(c),l&&cl(t.anchor,c),cl(t.focus,c),a||!o}let Br=null,Rr=null,Wr=false,Jr=false,Ur=0;const $r={characterData:true,childList:true,subtree:true};function jr(){return Wr||null!==Br&&Br._readOnly}function Vr(){Wr&&t(13);}function Yr(){Ur>99&&t(14);}function Hr(){return null===Br&&t(195,Gr()),Br}function qr(){return null===Rr&&t(196,Gr()),Rr}function Gr(){let t=0;const e=new Set,n=Ji.version;if("undefined"!=typeof window)for(const r of document.querySelectorAll("[contenteditable]")){const i=Xi(r);if(qi(i))t++;else if(i){let t=String(i.constructor.version||"<0.17.1");t===n&&(t+=" (separately built, likely a bundler configuration issue)"),e.add(t);}}let r=` Detected on the page: ${t} compatible editor(s) with version ${n}`;return e.size&&(r+=` and incompatible editors with versions ${Array.from(e).join(", ")}`),r}function Xr(){return Rr}function Qr(e,n,r){const i=n.__type,s=function(e,n){const r=e._nodes.get(n);void 0===r&&t(30,n);return r}(e,i);let o=r.get(i);void 0===o&&(o=Array.from(s.transforms),r.set(i,o));const l=o.length;for(let t=0;t<l&&(o[t](n),n.isAttached());t++);}function Zr(t,e){return void 0!==t&&t.__key!==e&&t.isAttached()}function ti(t,e){if(!e)return;const n=t._updateTags;let r=e;Array.isArray(e)||(r=[e]);for(const t of r)n.add(t);}function ei(t){return ni(t,qr()._nodes)}function ni(e,n){const r=e.type,i=n.get(r);void 0===i&&t(17,r);const s=i.klass;e.type!==s.getType()&&t(18,s.name);const o=s.importJSON(e),l=e.children;if(di(o)&&Array.isArray(l))for(let t=0;t<l.length;t++){const e=ni(l[t],n);o.append(e);}return o}function ri(t,e,n){const r=Br,i=Wr,s=Rr;Br=e,Wr=true,Rr=t;try{return n()}finally{Br=r,Wr=i,Rr=s;}}function ii(t,e){const n=t._pendingEditorState,r=t._rootElement,i=t._headless||null===r;if(null===n)return;const s=t._editorState,o=s._selection,l=n._selection,c=t._dirtyType!==y$4,a=Br,u=Wr,f=Rr,h=t._updating,g=t._observer;let _=null;if(t._pendingEditorState=null,t._editorState=n,!i&&c&&null!==g){Rr=t,Br=n,Wr=false,t._updating=true;try{const e=t._dirtyType,r=t._dirtyElements,i=t._dirtyLeaves;g.disconnect(),_=ie$1(s,n,t,e,r,i);}catch(e){if(e instanceof Error&&t._onError(e),Jr)throw e;return Ri(t,null,r,n),at$1(t),t._dirtyType=x$3,Jr=true,ii(t,s),void(Jr=false)}finally{g.observe(r,$r),t._updating=h,Br=a,Wr=u,Rr=f;}}n._readOnly||(n._readOnly=true);const p=t._dirtyLeaves,m=t._dirtyElements,C=t._normalizedNodes,S=t._updateTags,v=t._deferred;c&&(t._dirtyType=y$4,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements=new Map,t._normalizedNodes=new Set,t._updateTags=new Set),function(t,e){const n=t._decorators;let r=t._pendingDecorators||n;const i=e._nodeMap;let s;for(s in r)i.has(s)||(r===n&&(r=gs(t)),delete r[s]);}(t,n);const k=i?null:lo(Xs(t));if(t._editable&&null!==k&&(c||null===l||l.dirty)&&null!==r&&!S.has(Mi)){Rr=t,Br=n;try{if(null!==g&&g.disconnect(),c||null===l||l.dirty){const e=t._blockCursorElement;null!==e&&oo(e,t,r),Pr(o,l,t,k,S,r);}!function(t,e,n){let r=t._blockCursorElement;if(cr(n)&&n.isCollapsed()&&"element"===n.anchor.type&&e.contains(document.activeElement)){const i=n.anchor,s=i.getNode(),o=i.offset;let l=!1,c=null;if(o===s.getChildrenSize()){so(s.getChildAtIndex(o-1))&&(l=!0);}else {const e=s.getChildAtIndex(o);if(null!==e&&so(e)){const n=e.getPreviousSibling();(null===n||so(n))&&(l=!0,c=t.getElementByKey(e.__key));}}if(l){const n=t.getElementByKey(s.__key);return null===r&&(t._blockCursorElement=r=function(t){const e=t.theme,n=document.createElement("div");n.contentEditable="false",n.setAttribute("data-lexical-cursor","true");let r=e.blockCursor;if(void 0!==r){if("string"==typeof r){const t=d$2(r);r=e.blockCursor=t;}void 0!==r&&n.classList.add(...r);}return n}(t._config)),e.style.caretColor="transparent",void(null===c?n.appendChild(r):n.insertBefore(r,c))}}null!==r&&oo(r,t,e);}(t,r,l);}finally{null!==g&&g.observe(r,$r),Rr=f,Br=a;}}null!==_&&function(t,e,n,r,i){const s=Array.from(t._listeners.mutation),o=s.length;for(let t=0;t<o;t++){const[o,l]=s[t],c=e.get(l);void 0!==c&&o(c,{dirtyLeaves:r,prevEditorState:i,updateTags:n});}}(t,_,S,p,s),cr(l)||null===l||null!==o&&o.is(l)||t.dispatchCommand(le$1,void 0);const T=t._pendingDecorators;null!==T&&(t._decorators=T,t._pendingDecorators=null,si("decorator",t,true,T)),function(t,e,n){const r=_s(e),i=_s(n);r!==i&&si("textcontent",t,true,i);}(t,e||s,n),si("update",t,true,{dirtyElements:m,dirtyLeaves:p,editorState:n,mutatedNodes:_,normalizedNodes:C,prevEditorState:e||s,tags:S}),function(t,e){if(t._deferred=[],0!==e.length){const n=t._updating;t._updating=true;try{for(let t=0;t<e.length;t++)e[t]();}finally{t._updating=n;}}}(t,v),function(t){const e=t._updates;if(0!==e.length){const n=e.shift();if(n){const[e,r]=n;li(t,e,r);}}}(t);}function si(t,e,n,...r){const i=e._updating;e._updating=n;try{const n=Array.from(e._listeners[t]);for(let t=0;t<n.length;t++)n[t].apply(null,r);}finally{e._updating=i;}}function oi(e,n){const r=e._updates;let i=n||false;for(;0!==r.length;){const n=r.shift();if(n){const[r,s]=n;let o;if(void 0!==s){if(o=s.onUpdate,s.skipTransforms&&(i=true),s.discrete){const n=e._pendingEditorState;null===n&&t(191),n._flushSync=true;}o&&e._deferred.push(o),ti(e,s.tag);}r();}}return i}function li(e,n,r){const i=e._updateTags;let s,o=false,l=false;void 0!==r&&(s=r.onUpdate,ti(e,r.tag),o=r.skipTransforms||false,l=r.discrete||false),s&&e._deferred.push(s);const c=e._editorState;let a=e._pendingEditorState,u=false;(null===a||a._readOnly)&&(a=e._pendingEditorState=mi(a||c),u=true),a._flushSync=l;const f=Br,d=Wr,h=Rr,g=e._updating;Br=a,Wr=false,e._updating=true,Rr=e;const _=e._headless||null===e.getRootElement();try{u&&(_?null!==c._selection&&(a._selection=c._selection.clone()):a._selection=function(t,e){const n=t.getEditorState()._selection,r=lo(Xs(t));return cr(n)||null==n?br(n,r,t,e):n.clone()}(e,r&&r.event||null));const i=e._compositionKey;n(),o=oi(e,o),function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(cr(r)){const t=r.anchor,e=r.focus;let i;if("text"===t.type&&(i=t.getNode(),i.selectionTransform(n,r)),"text"===e.type){const t=e.getNode();i!==t&&t.selectionTransform(n,r);}}}(a,e),e._dirtyType!==y$4&&(o?function(t,e){const n=e._dirtyLeaves,r=t._nodeMap;for(const t of n){const e=r.get(t);Qn(e)&&e.isAttached()&&e.isSimpleText()&&!e.isUnmergeable()&&St$3(e);}}(a,e):function(t,e){const n=e._dirtyLeaves,r=e._dirtyElements,i=t._nodeMap,s=as(),o=new Map;let l=n,c=l.size,a=r,u=a.size;for(;c>0||u>0;){if(c>0){e._dirtyLeaves=new Set;for(const t of l){const r=i.get(t);Qn(r)&&r.isAttached()&&r.isSimpleText()&&!r.isUnmergeable()&&St$3(r),void 0!==r&&Zr(r,s)&&Qr(e,r,o),n.add(t);}if(l=e._dirtyLeaves,c=l.size,c>0){Ur++;continue}}e._dirtyLeaves=new Set,e._dirtyElements=new Map,a.delete("root")&&a.set("root",!0);for(const t of a){const n=t[0],l=t[1];if(r.set(n,l),!l)continue;const c=i.get(n);void 0!==c&&Zr(c,s)&&Qr(e,c,o);}l=e._dirtyLeaves,c=l.size,a=e._dirtyElements,u=a.size,Ur++;}e._dirtyLeaves=n,e._dirtyElements=r;}(a,e),oi(e),function(t,e,n,r){const i=t._nodeMap,s=e._nodeMap,o=[];for(const[t]of r){const e=s.get(t);void 0!==e&&(e.isAttached()||(di(e)&&Q$3(e,t,i,s,o,r),i.has(t)||r.delete(t),o.push(t)));}for(const t of o)s.delete(t);for(const t of n){const e=s.get(t);void 0===e||e.isAttached()||(i.has(t)||n.delete(t),s.delete(t));}}(c,a,e._dirtyLeaves,e._dirtyElements));i!==e._compositionKey&&(a._flushSync=!0);const s=a._selection;if(cr(s)){const e=a._nodeMap,n=s.anchor.key,r=s.focus.key;void 0!==e.get(n)&&void 0!==e.get(r)||t(19);}else ur(s)&&0===s._nodes.size&&(a._selection=null);}catch(t){return t instanceof Error&&e._onError(t),e._pendingEditorState=c,e._dirtyType=x$3,e._cloneNotNeeded.clear(),e._dirtyLeaves=new Set,e._dirtyElements.clear(),void ii(e)}finally{Br=f,Wr=d,Rr=h,e._updating=g,Ur=0;}const p=e._dirtyType!==y$4||e._deferred.length>0||function(t,e){const n=e.getEditorState()._selection,r=t._selection;if(null!==r){if(r.dirty||!r.is(n))return  true}else if(null!==n)return  true;return  false}(a,e);p?a._flushSync?(a._flushSync=false,ii(e)):u&&ji((()=>{ii(e);})):(a._flushSync=false,u&&(i.clear(),e._deferred=[],e._pendingEditorState=null));}function ci(t,e,n){Rr===t&&void 0===n?e():li(t,e,n);}class ai{constructor(t,e,n){this.element=t,this.before=e||null,this.after=n||null;}withBefore(t){return new ai(this.element,t,this.after)}withAfter(t){return new ai(this.element,this.before,t)}withElement(t){return this.element===t?this:new ai(t,this.before,this.after)}insertChild(e){const n=this.before||this.getManagedLineBreak();return null!==n&&n.parentElement!==this.element&&t(222),this.element.insertBefore(e,n),this}removeChild(e){return e.parentElement!==this.element&&t(223),this.element.removeChild(e),this}replaceChild(e,n){return n.parentElement!==this.element&&t(224),this.element.replaceChild(e,n),this}getFirstChild(){const t=this.after?this.after.nextSibling:this.element.firstChild;return t===this.before||t===this.getManagedLineBreak()?null:t}getManagedLineBreak(){return this.element.__lexicalLineBreak||null}setManagedLineBreak(t){if(null===t)this.removeManagedLineBreak();else {const e="decorator"===t&&(l||o);this.insertManagedLineBreak(e);}}removeManagedLineBreak(){const t=this.getManagedLineBreak();if(t){const e=this.element,n="IMG"===t.nodeName?t.nextSibling:null;n&&e.removeChild(n),e.removeChild(t),e.__lexicalLineBreak=void 0;}}insertManagedLineBreak(t){const e=this.getManagedLineBreak();if(e){if(t===("IMG"===e.nodeName))return;this.removeManagedLineBreak();}const n=this.element,r=this.before,i=document.createElement("br");if(n.insertBefore(i,r),t){const t=document.createElement("img");t.setAttribute("data-lexical-linebreak","true"),t.style.cssText="display: inline !important; border: 0px !important; margin: 0px !important;",t.alt="",n.insertBefore(t,i),n.__lexicalLineBreak=t;}else n.__lexicalLineBreak=i;}getFirstChildOffset(){let t=0;for(let e=this.after;null!==e;e=e.previousSibling)t++;return t}resolveChildIndex(t,e,n,r){if(n===this.element){const e=this.getFirstChildOffset();return [t,Math.min(e+t.getChildrenSize(),Math.max(e,r))]}const i=ui(e,n);i.push(r);const s=ui(e,this.element);let o=t.getIndexWithinParent();for(let t=0;t<s.length;t++){const e=i[t],n=s[t];if(void 0===e||e<n)break;if(e>n){o+=1;break}}return [t.getParentOrThrow(),o]}}function ui(e,n){const r=[];let i=n;for(;i!==e&&null!==i;i=i.parentNode){let t=0;for(let e=i.previousSibling;null!==e;e=e.previousSibling)t++;r.push(t);}return i!==e&&t(225),r.reverse()}class fi extends An{constructor(t){super(t),this.__first=null,this.__last=null,this.__size=0,this.__format=0,this.__style="",this.__indent=0,this.__dir=null,this.__textFormat=0,this.__textStyle="";}afterCloneFrom(t){super.afterCloneFrom(t),this.__first=t.__first,this.__last=t.__last,this.__size=t.__size,this.__indent=t.__indent,this.__format=t.__format,this.__style=t.__style,this.__dir=t.__dir,this.__textFormat=t.__textFormat,this.__textStyle=t.__textStyle;}getFormat(){return this.getLatest().__format}getFormatType(){const t=this.getFormat();return H$1[t]||""}getStyle(){return this.getLatest().__style}getIndent(){return this.getLatest().__indent}getChildren(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e),e=e.getNextSibling();return t}getChildrenKeys(){const t=[];let e=this.getFirstChild();for(;null!==e;)t.push(e.__key),e=e.getNextSibling();return t}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===this.getChildrenSize()}isDirty(){const t=qr()._dirtyElements;return null!==t&&t.has(this.__key)}isLastChild(){const t=this.getLatest(),e=this.getParentOrThrow().getLastChild();return null!==e&&e.is(t)}getAllTextNodes(){const t=[];let e=this.getFirstChild();for(;null!==e;){if(Qn(e)&&t.push(e),di(e)){const n=e.getAllTextNodes();t.push(...n);}e=e.getNextSibling();}return t}getFirstDescendant(){let t=this.getFirstChild();for(;di(t);){const e=t.getFirstChild();if(null===e)break;t=e;}return t}getLastDescendant(){let t=this.getLastChild();for(;di(t);){const e=t.getLastChild();if(null===e)break;t=e;}return t}getDescendantByIndex(t){const e=this.getChildren(),n=e.length;if(t>=n){const t=e[n-1];return di(t)&&t.getLastDescendant()||t||null}const r=e[t];return di(r)&&r.getFirstDescendant()||r||null}getFirstChild(){const t=this.getLatest().__first;return null===t?null:us(t)}getFirstChildOrThrow(){const e=this.getFirstChild();return null===e&&t(45,this.__key),e}getLastChild(){const t=this.getLatest().__last;return null===t?null:us(t)}getLastChildOrThrow(){const e=this.getLastChild();return null===e&&t(96,this.__key),e}getChildAtIndex(t){const e=this.getChildrenSize();let n,r;if(t<e/2){for(n=this.getFirstChild(),r=0;null!==n&&r<=t;){if(r===t)return n;n=n.getNextSibling(),r++;}return null}for(n=this.getLastChild(),r=e-1;null!==n&&r>=t;){if(r===t)return n;n=n.getPreviousSibling(),r--;}return null}getTextContent(){let t="";const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContent(),di(i)&&r!==n-1&&!i.isInline()&&(t+=B$3);}return t}getTextContentSize(){let t=0;const e=this.getChildren(),n=e.length;for(let r=0;r<n;r++){const i=e[r];t+=i.getTextContentSize(),di(i)&&r!==n-1&&!i.isInline()&&(t+=B$3.length);}return t}getDirection(){return this.getLatest().__dir}getTextFormat(){return this.getLatest().__textFormat}hasFormat(t){if(""!==t){const e=Y$3[t];return !!(this.getFormat()&e)}return  false}hasTextFormat(t){const e=j$4[t];return !!(this.getTextFormat()&e)}getFormatFlags(t,e){return rs(this.getLatest().__textFormat,t,e)}getTextStyle(){return this.getLatest().__textStyle}select(t,e){Vr();const n=Nr();let r=t,i=e;const s=this.getChildrenSize();if(!this.canBeEmpty())if(0===t&&0===e){const t=this.getFirstChild();if(Qn(t)||di(t))return t.select(0,0)}else if(!(void 0!==t&&t!==s||void 0!==e&&e!==s)){const t=this.getLastChild();if(Qn(t)||di(t))return t.select()} void 0===r&&(r=s),void 0===i&&(i=s);const o=this.__key;return cr(n)?(n.anchor.set(o,r,"element"),n.focus.set(o,i,"element"),n.dirty=true,n):Sr(o,r,o,i,"element","element")}selectStart(){const t=this.getFirstDescendant();return t?t.selectStart():this.select()}selectEnd(){const t=this.getLastDescendant();return t?t.selectEnd():this.select()}clear(){const t=this.getWritable();return this.getChildren().forEach((t=>t.remove())),t}append(...t){return this.splice(this.getChildrenSize(),0,t)}setDirection(t){const e=this.getWritable();return e.__dir=t,e}setFormat(t){return this.getWritable().__format=""!==t?Y$3[t]:0,this}setStyle(t){return this.getWritable().__style=t||"",this}setTextFormat(t){const e=this.getWritable();return e.__textFormat=t,e}setTextStyle(t){const e=this.getWritable();return e.__textStyle=t,e}setIndent(t){return this.getWritable().__indent=t,this}splice(e,n,r){const i=r.length,s=this.getChildrenSize(),o=this.getWritable();e+n<=s||t(226,String(e),String(n),String(s));const l=o.__key,c=[],a=[],u=this.getChildAtIndex(e+n);let f=null,d=s-n+i;if(0!==e)if(e===s)f=this.getLastChild();else {const t=this.getChildAtIndex(e);null!==t&&(f=t.getPreviousSibling());}if(n>0){let e=null===f?this.getFirstChild():f.getNextSibling();for(let r=0;r<n;r++){null===e&&t(100);const n=e.getNextSibling(),r=e.__key;os(e.getWritable()),a.push(r),e=n;}}let h=f;for(let e=0;e<i;e++){const n=r[e];null!==h&&n.is(h)&&(f=h=h.getPreviousSibling());const i=n.getWritable();i.__parent===l&&d--,os(i);const s=n.__key;if(null===h)o.__first=s,i.__prev=null;else {const t=h.getWritable();t.__next=s,i.__prev=t.__key;}n.__key===l&&t(76),i.__parent=l,c.push(s),h=n;}if(e+n===s){if(null!==h){h.getWritable().__next=null,o.__last=h.__key;}}else if(null!==u){const t=u.getWritable();if(null!==h){const e=h.getWritable();t.__prev=h.__key,e.__next=u.__key;}else t.__prev=null;}if(o.__size=d,a.length){const t=Nr();if(cr(t)){const e=new Set(a),n=new Set(c),{anchor:r,focus:i}=t;hi(r,e,n)&&Ar(r,r.getNode(),this,f,u),hi(i,e,n)&&Ar(i,i.getNode(),this,f,u),0!==d||this.canBeEmpty()||to(this)||this.remove();}}return o}getDOMSlot(t){return new ai(t)}exportDOM(t){const{element:e}=super.exportDOM(t);if(fo(e)){const t=this.getIndent();t>0&&(e.style.paddingInlineStart=40*t+"px");const n=this.getDirection();n&&(e.dir=n);}return {element:e}}exportJSON(){const t={children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),...super.exportJSON()},e=this.getTextFormat(),n=this.getTextStyle();return 0!==e&&(t.textFormat=e),""!==n&&(t.textStyle=n),t}updateFromJSON(t){return super.updateFromJSON(t).setFormat(t.format).setIndent(t.indent).setDirection(t.direction).setTextFormat(t.textFormat||0).setTextStyle(t.textStyle||"")}insertNewAfter(t,e){return null}canIndent(){return  true}collapseAtStart(t){return  false}excludeFromCopy(t){return  false}canReplaceWith(t){return  true}canInsertAfter(t){return  true}canBeEmpty(){return  true}canInsertTextBefore(){return  true}canInsertTextAfter(){return  true}isInline(){return  false}isShadowRoot(){return  false}canMergeWith(t){return  false}extractWithChild(t,e,n){return  false}canMergeWhenEmpty(){return  false}reconcileObservedMutation(t,e){const n=this.getDOMSlot(t);let r=n.getFirstChild();for(let t=this.getFirstChild();t;t=t.getNextSibling()){const i=e.getElementByKey(t.getKey());null!==i&&(null==r?(n.insertChild(i),r=i):r!==i&&n.replaceChild(i,r),r=r.nextSibling);}}}function di(t){return t instanceof fi}function hi(t,e,n){let r=t.getNode();for(;r;){const t=r.__key;if(e.has(t)&&!n.has(t))return  true;r=r.getParent();}return  false}class gi extends An{decorate(e,n){t(47);}isIsolated(){return  false}isInline(){return  true}isKeyboardSelectable(){return  true}}function _i(t){return t instanceof gi}class pi extends fi{static getType(){return "root"}static clone(){return new pi}constructor(){super("root"),this.__cachedText=null;}getTopLevelElementOrThrow(){t(51);}getTextContent(){const t=this.__cachedText;return !jr()&&qr()._dirtyType!==y$4||null===t?super.getTextContent():t}remove(){t(52);}replace(e){t(53);}insertBefore(e){t(54);}insertAfter(e){t(55);}updateDOM(t,e){return  false}splice(e,n,r){for(const e of r)di(e)||_i(e)||t(282);return super.splice(e,n,r)}static importJSON(t){return ps().updateFromJSON(t)}collapseAtStart(){return  true}}function yi(t){return t instanceof pi}function mi(t){return new Si(new Map(t._nodeMap))}function xi(){return new Si(new Map([["root",new pi]]))}function Ci(e){const n=e.exportJSON(),r=e.constructor;if(n.type!==r.getType()&&t(130,r.name),di(e)){const i=n.children;Array.isArray(i)||t(59,r.name);const s=e.getChildren();for(let t=0;t<s.length;t++){const e=Ci(s[t]);i.push(e);}}return n}class Si{constructor(t,e){this._nodeMap=t,this._selection=e||null,this._flushSync=false,this._readOnly=false;}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(t,e){return ri(e&&e.editor||null,this,t)}clone(t){const e=new Si(this._nodeMap,void 0===t?this._selection:t);return e._readOnly=true,e}toJSON(){return ri(null,this,(()=>({root:Ci(ps())})))}}const vi="historic",ki="history-push",Ti="history-merge",bi="paste",Ni="collaboration",Ei="skip-scroll-into-view",Mi="skip-dom-selection";class Ai extends fi{static getType(){return "artificial"}createDOM(t){return document.createElement("div")}}class Oi extends fi{static getType(){return "paragraph"}static clone(t){return new Oi(t.__key)}createDOM(t){const e=document.createElement("p"),n=Ls(t.theme,"paragraph");if(void 0!==n){e.classList.add(...n);}return e}updateDOM(t,e,n){return  false}static importDOM(){return {p:t=>({conversion:Di,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(fo(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();t&&(e.style.textAlign=t);}return {element:e}}static importJSON(t){return Pi().updateFromJSON(t)}exportJSON(){return {...super.exportJSON(),textFormat:this.getTextFormat(),textStyle:this.getTextStyle()}}insertNewAfter(t,e){const n=Pi();n.setTextFormat(t.format),n.setTextStyle(t.style);const r=this.getDirection();return n.setDirection(r),n.setFormat(this.getFormatType()),n.setStyle(this.getStyle()),this.insertAfter(n,e),n}collapseAtStart(){const t=this.getChildren();if(0===t.length||Qn(t[0])&&""===t[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),this.remove(),true;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),true}return  false}}function Di(t){const e=Pi();return t.style&&(e.setFormat(t.style.textAlign),To(t,e)),{node:e}}function Pi(){return no(new Oi)}function Fi(t){return t instanceof Oi}const Li=0,Ii=1,zi=2,Ki=3,Bi=4;function Ri(t,e,n,r){const i=t._keyToDOMMap;i.clear(),t._editorState=xi(),t._pendingEditorState=r,t._compositionKey=null,t._dirtyType=y$4,t._cloneNotNeeded.clear(),t._dirtyLeaves=new Set,t._dirtyElements.clear(),t._normalizedNodes=new Set,t._updateTags=new Set,t._updates=[],t._blockCursorElement=null;const s=t._observer;null!==s&&(s.disconnect(),t._observer=null),null!==e&&(e.textContent=""),null!==n&&(n.textContent="",i.set("root",n));}function Wi(t){const e=t||{},n=Xr(),r=e.theme||{},i=void 0===t?n:e.parentEditor||null,s=e.disableEvents||false,o=xi(),l=e.namespace||(null!==i?i._config.namespace:ks()),c=e.editorState,a=[pi,Jn,On,tr,Oi,Ai,...e.nodes||[]],{onError:u,html:f}=e,d=void 0===e.editable||e.editable;let h;if(void 0===t&&null!==n)h=n._nodes;else {h=new Map;for(let t=0;t<a.length;t++){let e=a[t],n=null,r=null;if("function"!=typeof e){const t=e;e=t.replace,n=t.with,r=t.withKlass||null;}const i=e.getType(),s=e.transform(),o=new Set;null!==s&&o.add(s),h.set(i,{exportDOM:f&&f.export?f.export.get(e):void 0,klass:e,replace:n,replaceWithKlass:r,transforms:o});}}const g=new Ji(o,i,h,{disableEvents:s,namespace:l,theme:r},u||console.error,function(t,e){const n=new Map,r=new Set,i=t=>{Object.keys(t).forEach((e=>{let r=n.get(e);void 0===r&&(r=[],n.set(e,r)),r.push(t[e]);}));};return t.forEach((t=>{const e=t.klass.importDOM;if(null==e||r.has(e))return;r.add(e);const n=e.call(t.klass);null!==n&&i(n);})),e&&i(e),n}(h,f?f.import:void 0),d,t);return void 0!==c&&(g._pendingEditorState=c,g._dirtyType=x$3),g}class Ji{constructor(t,e,n,r,i,s,o,l){this._createEditorArgs=l,this._parentEditor=e,this._rootElement=null,this._editorState=t,this._pendingEditorState=null,this._compositionKey=null,this._deferred=[],this._keyToDOMMap=new Map,this._updates=[],this._updating=false,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=y$4,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=ks(),this._onError=i,this._htmlConversions=s,this._editable=o,this._headless=null!==e&&e._headless,this._window=null,this._blockCursorElement=null;}isComposing(){return null!=this._compositionKey}registerUpdateListener(t){const e=this._listeners.update;return e.add(t),()=>{e.delete(t);}}registerEditableListener(t){const e=this._listeners.editable;return e.add(t),()=>{e.delete(t);}}registerDecoratorListener(t){const e=this._listeners.decorator;return e.add(t),()=>{e.delete(t);}}registerTextContentListener(t){const e=this._listeners.textcontent;return e.add(t),()=>{e.delete(t);}}registerRootListener(t){const e=this._listeners.root;return t(this._rootElement,null),e.add(t),()=>{t(null,this._rootElement),e.delete(t);}}registerCommand(e,n,r){ void 0===r&&t(35);const i=this._commands;i.has(e)||i.set(e,[new Set,new Set,new Set,new Set,new Set]);const s=i.get(e);void 0===s&&t(36,String(e));const o=s[r];return o.add(n),()=>{o.delete(n),s.every((t=>0===t.size))&&i.delete(e);}}registerMutationListener(t,e,n){const r=this.resolveRegisteredNodeAfterReplacements(this.getRegisteredNode(t)).klass,i=this._listeners.mutation;i.set(e,r);const s=n&&n.skipInitialization;return void 0!==s&&s||this.initializeMutationListener(e,r),()=>{i.delete(e);}}getRegisteredNode(e){const n=this._nodes.get(e.getType());return void 0===n&&t(37,e.name),n}resolveRegisteredNodeAfterReplacements(t){for(;t.replaceWithKlass;)t=this.getRegisteredNode(t.replaceWithKlass);return t}initializeMutationListener(t,e){const n=this._editorState,r=vo(n).get(e.getType());if(!r)return;const i=new Map;for(const t of r.keys())i.set(t,"created");i.size>0&&t(i,{dirtyLeaves:new Set,prevEditorState:n,updateTags:new Set(["registerMutationListener"])});}registerNodeTransformToKlass(t,e){const n=this.getRegisteredNode(t);return n.transforms.add(e),n}registerNodeTransform(t,e){const n=this.registerNodeTransformToKlass(t,e),r=[n],i=n.replaceWithKlass;if(null!=i){const t=this.registerNodeTransformToKlass(i,e);r.push(t);}return function(t,e){const n=vo(t.getEditorState()),r=[];for(const t of e){const e=n.get(t);e&&r.push(e);}if(0===r.length)return;t.update((()=>{for(const t of r)for(const e of t.keys()){const t=us(e);t&&t.markDirty();}}),null===t._pendingEditorState?{tag:Ti}:void 0);}(this,r.map((t=>t.klass.getType()))),()=>{r.forEach((t=>t.transforms.delete(e)));}}hasNode(t){return this._nodes.has(t.getType())}hasNodes(t){return t.every(this.hasNode.bind(this))}dispatchCommand(t,e){return Ws(this,t,e)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(t){const e=this._rootElement;if(t!==e){const n=Ls(this._config.theme,"root"),r=this._pendingEditorState||this._editorState;if(this._rootElement=t,Ri(this,e,t,r),null!==e&&(this._config.disableEvents||En(e),null!=n&&e.classList.remove(...n)),null!==t){const e=Gs(t),r=t.style;r.userSelect="text",r.whiteSpace="pre-wrap",r.wordBreak="break-word",t.setAttribute("data-lexical-editor","true"),this._window=e,this._dirtyType=x$3,at$1(this),this._updateTags.add(Ti),ii(this),this._config.disableEvents||function(t,e){const n=t.ownerDocument,r=on.get(n);(void 0===r||r<1)&&n.addEventListener("selectionchange",Tn),on.set(n,(r||0)+1),t.__lexicalEditor=e;const i=vn(t);for(let n=0;n<tn.length;n++){const[r,s]=tn[n],o="function"==typeof s?t=>{Nn(t)||(bn(t),(e.isEditable()||"click"===r)&&s(t,e));}:t=>{if(Nn(t))return;bn(t);const n=e.isEditable();switch(r){case "cut":return n&&Ws(e,Ue$1,t);case "copy":return Ws(e,Je$1,t);case "paste":return n&&Ws(e,ge$1,t);case "dragstart":return n&&Ws(e,Be$1,t);case "dragover":return n&&Ws(e,Re$1,t);case "dragend":return n&&Ws(e,We$1,t);case "focus":return n&&Ws(e,qe$1,t);case "blur":return n&&Ws(e,Ge$1,t);case "drop":return n&&Ws(e,ze$1,t)}};t.addEventListener(r,o),i.push((()=>{t.removeEventListener(r,o);}));}}(t,this),null!=n&&t.classList.add(...n);}else this._window=null,this._updateTags.add(Ti),ii(this);si("root",this,false,t,e);}}getElementByKey(t){return this._keyToDOMMap.get(t)||null}getEditorState(){return this._editorState}setEditorState(e,n){e.isEmpty()&&t(38);let r=e;r._readOnly&&(r=mi(e),r._selection=e._selection?e._selection.clone():null),ct$3(this);const i=this._pendingEditorState,s=this._updateTags,o=void 0!==n?n.tag:null;null===i||i.isEmpty()||(null!=o&&s.add(o),ii(this)),this._pendingEditorState=r,this._dirtyType=x$3,this._dirtyElements.set("root",false),this._compositionKey=null,null!=o&&s.add(o),this._updating||ii(this);}parseEditorState(t,e){return function(t,e,n){const r=xi(),i=Br,s=Wr,o=Rr,l=e._dirtyElements,c=e._dirtyLeaves,a=e._cloneNotNeeded,u=e._dirtyType;e._dirtyElements=new Map,e._dirtyLeaves=new Set,e._cloneNotNeeded=new Set,e._dirtyType=0,Br=r,Wr=false,Rr=e;try{const i=e._nodes;ni(t.root,i),n&&n(),r._readOnly=!0;}catch(t){t instanceof Error&&e._onError(t);}finally{e._dirtyElements=l,e._dirtyLeaves=c,e._cloneNotNeeded=a,e._dirtyType=u,Br=i,Wr=s,Rr=o;}return r}("string"==typeof t?JSON.parse(t):t,this,e)}read(t){return ii(this),this.getEditorState().read(t,{editor:this})}update(t,e){!function(t,e,n){t._updating?t._updates.push([e,n]):li(t,e,n);}(this,t,e);}focus(t,e={}){const n=this._rootElement;null!==n&&(n.setAttribute("autocapitalize","off"),ci(this,(()=>{const r=Nr(),i=ps();null!==r?r.dirty||ms(r.clone()):0!==i.getChildrenSize()&&("rootStart"===e.defaultSelection?i.selectStart():i.selectEnd()),Ys("focus"),Hs((()=>{n.removeAttribute("autocapitalize"),t&&t();}));})),null===this._pendingEditorState&&n.removeAttribute("autocapitalize"));}blur(){const t=this._rootElement;null!==t&&t.blur();const e=lo(this._window);null!==e&&e.removeAllRanges();}isEditable(){return this._editable}setEditable(t){this._editable!==t&&(this._editable=t,si("editable",this,true,t));}toJSON(){return {editorState:this._editorState.toJSON()}}}Ji.version="0.32.1+prod.esm";let Ui=1;const ji="function"==typeof queueMicrotask?queueMicrotask:t=>{Promise.resolve().then(t);};function Vi(t){return _i(hs(t))}function Yi(t){const e=document.activeElement;if(!fo(e))return  false;const n=e.nodeName;return _i(hs(t))&&("INPUT"===n||"TEXTAREA"===n||"true"===e.contentEditable&&null==Xi(e))}function Hi(t,e,n){const r=t.getRootElement();try{return null!==r&&r.contains(e)&&r.contains(n)&&null!==e&&!Yi(e)&&Gi(e)===t}catch(t){return  false}}function qi(t){return t instanceof Ji}function Gi(t){let e=t;for(;null!=e;){const t=Xi(e);if(qi(t))return t;e=$s(e);}return null}function Xi(t){return t?t.__lexicalEditor:null}function Qi(t){return nr(t)||t.isToken()}function Zi(t){return Qi(t)||t.isSegmented()}function ts(t){return ho(t)&&t.nodeType===g$3}function es(t){return ho(t)&&t.nodeType===_$3}function ns(t){let e=t;for(;null!=e;){if(ts(e))return e;e=e.firstChild;}return null}function rs(t,e,n){const r=j$4[e];if(null!==n&&(t&r)==(n&r))return t;let i=t^r;return "subscript"===e?i&=-65:"superscript"===e?i&=-33:"lowercase"===e?(i&=-513,i&=-1025):"uppercase"===e?(i&=-257,i&=-1025):"capitalize"===e&&(i&=-257,i&=-513),i}function is(t){return Qn(t)||Fn(t)||_i(t)}function ss(t,e){if(null!=e)return void(t.__key=e);Vr(),Yr();const n=qr(),r=Hr(),i=""+Ui++;r._nodeMap.set(i,t),di(t)?n._dirtyElements.set(i,true):n._dirtyLeaves.add(i),n._cloneNotNeeded.add(i),n._dirtyType=m$4,t.__key=i;}function os(t){const e=t.getParent();if(null!==e){const n=t.getWritable(),r=e.getWritable(),i=t.getPreviousSibling(),s=t.getNextSibling(),o=null!==s?s.__key:null,l=null!==i?i.__key:null,c=null!==i?i.getWritable():null,a=null!==s?s.getWritable():null;null===i&&(r.__first=o),null===s&&(r.__last=l),null!==c&&(c.__next=o),null!==a&&(a.__prev=l),n.__prev=null,n.__next=null,n.__parent=null,r.__size--;}}function ls(t){Yr();const e=t.getLatest(),n=e.__parent,r=Hr(),i=qr(),s=r._nodeMap,o=i._dirtyElements;null!==n&&function(t,e,n){let r=t;for(;null!==r;){if(n.has(r))return;const t=e.get(r);if(void 0===t)break;n.set(r,false),r=t.__parent;}}(n,s,o);const l=e.__key;i._dirtyType=m$4,di(t)?o.set(l,true):i._dirtyLeaves.add(l);}function cs(t){Vr();const e=qr(),n=e._compositionKey;if(t!==n){if(e._compositionKey=t,null!==n){const t=us(n);null!==t&&t.getWritable();}if(null!==t){const e=us(t);null!==e&&e.getWritable();}}}function as(){if(jr())return null;return qr()._compositionKey}function us(t,e){const n=(e||Hr())._nodeMap.get(t);return void 0===n?null:n}function fs(t,e){const n=ds(t,qr());return void 0!==n?us(n,e):null}function ds(t,e){return t[`__lexicalKey_${e._key}`]}function hs(t,e){let n=t;for(;null!=n;){const t=fs(n,e);if(null!==t)return t;n=$s(n);}return null}function gs(t){const e=t._decorators,n=Object.assign({},e);return t._pendingDecorators=n,n}function _s(t){return t.read((()=>ps().getTextContent()))}function ps(){return ys(Hr())}function ys(t){return t._nodeMap.get("root")}function ms(t){Vr();const e=Hr();null!==t&&(t.dirty=true,t.setCachedNodes(null)),e._selection=t;}function xs(t){const e=qr(),n=function(t,e){let n=t;for(;null!=n;){const t=ds(n,e);if(void 0!==t)return t;n=$s(n);}return null}(t,e);if(null===n){return t===e.getRootElement()?us("root"):null}return us(n)}function Cs(t,e){return e?t.getTextContentSize():0}function Ss(t){return /[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(t)}function vs(t){const e=[];let n=t;for(;null!==n;)e.push(n),n=n._parentEditor;return e}function ks(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,5)}function Ts(t){return ts(t)?t.nodeValue:null}function bs(t,e,n){const r=lo(Xs(e));if(null===r)return;const i=r.anchorNode;let{anchorOffset:s,focusOffset:o}=r;if(null!==i){let e=Ts(i);const r=hs(i);if(null!==e&&Qn(r)){if(e===K$3&&n){const t=n.length;e=n,s=t,o=t;}null!==e&&Ns(r,e,s,o,t);}}}function Ns(t,e,n,r,i){let s=t;if(s.isAttached()&&(i||!s.isDirty())){const c=s.isComposing();let a=e;(c||i)&&e[e.length-1]===K$3&&(a=e.slice(0,-1));const u=s.getTextContent();if(i||a!==u){if(""===a){if(cs(null),o||l||f$1)s.remove();else {const t=qr();setTimeout((()=>{t.update((()=>{s.isAttached()&&s.remove();}));}),20);}return}const e=s.getParent(),i=wr(),u=s.getTextContentSize(),d=as(),h=s.getKey();if(s.isToken()||null!==d&&h===d&&!c||cr(i)&&(null!==e&&!e.canInsertTextBefore()&&0===i.anchor.offset||i.anchor.key===t.__key&&0===i.anchor.offset&&!s.canInsertTextBefore()&&!c||i.focus.key===t.__key&&i.focus.offset===u&&!s.canInsertTextAfter()&&!c))return void s.markDirty();const g=Nr();if(!cr(g)||null===n||null===r)return void s.setTextContent(a);if(g.setTextNodeRange(s,n,s,r),s.isSegmented()){const t=Xn(s.getTextContent());s.replace(t),s=t;}s.setTextContent(a);}}}function ws(t,e,n){const r=e[n]||false;return "any"===r||r===t[n]}function Es(t,e){return ws(t,e,"altKey")&&ws(t,e,"ctrlKey")&&ws(t,e,"shiftKey")&&ws(t,e,"metaKey")}function Ms(t,e,n){return Es(t,n)&&t.key.toLowerCase()===e.toLowerCase()}const As={ctrlKey:!r,metaKey:r},Os={altKey:r,ctrlKey:!r};function Ds(t){return "Backspace"===t.key}function Ps(t){return Ms(t,"a",As)}function Fs(t){const e=ps();if(cr(t)){const e=t.anchor,n=t.focus,r=e.getNode().getTopLevelElementOrThrow().getParentOrThrow();return e.set(r.getKey(),0,"element"),n.set(r.getKey(),r.getChildrenSize(),"element"),vt$4(t),t}{const t=e.select(0,e.getChildrenSize());return ms(vt$4(t)),t}}function Ls(t,e){ void 0===t.__lexicalClassNameCache&&(t.__lexicalClassNameCache={});const n=t.__lexicalClassNameCache,r=n[e];if(void 0!==r)return r;const i=t[e];if("string"==typeof i){const t=d$2(i);return n[e]=t,t}return i}function Is(e,n,r,i,s){if(0===r.size)return;const o=i.__type,l=i.__key,c=n.get(o);void 0===c&&t(33,o);const a=c.klass;let u=e.get(a);void 0===u&&(u=new Map,e.set(a,u));const f=u.get(l),d="destroyed"===f&&"created"===s;(void 0===f||d)&&u.set(l,d?"updated":s);}function Ks(t,e,n){const r=t.getParent();let i=n,s=t;return null!==r&&(e&&0===n?(i=s.getIndexWithinParent(),s=r):e||n!==s.getChildrenSize()||(i=s.getIndexWithinParent()+1,s=r)),s.getChildAtIndex(e?i-1:i)}function Bs(t,e){const n=t.offset;if("element"===t.type){return Ks(t.getNode(),e,n)}{const r=t.getNode();if(e&&0===n||!e&&n===r.getTextContentSize()){const t=e?r.getPreviousSibling():r.getNextSibling();return null===t?Ks(r.getParentOrThrow(),e,r.getIndexWithinParent()+(e?0:1)):t}}return null}function Rs(t){const e=Xs(t).event,n=e&&e.inputType;return "insertFromPaste"===n||"insertFromPasteAsQuotation"===n}function Ws(t,e,n){return function(t,e,n){const r=vs(t);for(let i=4;i>=0;i--)for(let s=0;s<r.length;s++){const o=r[s],l=o._commands.get(e);if(void 0!==l){const e=l[i];if(void 0!==e){const r=Array.from(e),i=r.length;let s=false;if(ci(o,(()=>{for(let e=0;e<i;e++)if(r[e](n,t))return void(s=true)})),s)return s}}}return  false}(t,e,n)}function Js(t){return !yi(t)&&!t.isLastChild()&&!t.isInline()}function Us(e,n){const r=e._keyToDOMMap.get(n);return void 0===r&&t(75,n),r}function $s(t){const e=t.assignedSlot||t.parentElement;return go(e)?e.host:e}function js(t){return es(t)?t:fo(t)?t.ownerDocument:null}function Ys(t){Vr();qr()._updateTags.add(t);}function Hs(t){Vr();qr()._deferred.push(t);}function qs(t,e){let n=t.getParent();for(;null!==n;){if(n.is(e))return  true;n=n.getParent();}return  false}function Gs(t){const e=js(t);return e?e.defaultView:null}function Xs(e){const n=e._window;return null===n&&t(78),n}function Zs(t){let e=t.getParentOrThrow();for(;null!==e;){if(to(e))return e;e=e.getParentOrThrow();}return e}function to(t){return yi(t)||di(t)&&t.isShadowRoot()}function no(e){const n=qr(),r=e.constructor.getType(),i=n._nodes.get(r);void 0===i&&t(200,e.constructor.name,r);const{replace:s,replaceWithKlass:o}=i;if(null!==s){const n=s(e),i=n.constructor;return null!==o?n instanceof o||t(201,o.name,o.getType(),i.name,i.getType(),e.constructor.name,r):n instanceof e.constructor&&i!==e.constructor||t(202,i.name,i.getType(),e.constructor.name,r),n.__key===e.__key&&t(203,e.constructor.name,r,i.name,i.getType()),n}return e}function ro(e,n){!yi(e.getParent())||di(n)||_i(n)||t(99);}function io(e){const n=us(e);return null===n&&t(63,e),n}function so(t){return (_i(t)||di(t)&&!t.canBeEmpty())&&!t.isInline()}function oo(t,e,n){n.style.removeProperty("caret-color"),e._blockCursorElement=null;const r=t.parentElement;null!==r&&r.removeChild(t);}function lo(t){return e?(t||window).getSelection():null}function co(t){const e=Gs(t);return e?e.getSelection():null}function uo(t){return fo(t)&&"A"===t.tagName}function fo(t){return ho(t)&&t.nodeType===h$4}function ho(t){return "object"==typeof t&&null!==t&&"nodeType"in t&&"number"==typeof t.nodeType}function go(t){return ho(t)&&t.nodeType===p$1}function _o(t){const e=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|mark|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var|#text)$/,"i");return null!==t.nodeName.match(e)}function po(t){const 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 null!==t.nodeName.match(e)}function yo(t){if(_i(t)&&!t.isInline())return  true;if(!di(t)||to(t))return  false;const e=t.getFirstChild(),n=null===e||Fn(e)||Qn(e)||e.isInline();return !t.isInline()&&false!==t.canBeEmpty()&&n}function mo(t,e){let n=t;for(;null!==n&&null!==n.getParent()&&!e(n);)n=n.getParentOrThrow();return e(n)?n:null}function xo(){return qr()}const Co=new WeakMap,So=new Map;function vo(e){if(!e._readOnly&&e.isEmpty())return So;e._readOnly||t(192);let n=Co.get(e);return n||(n=function(t){const e=new Map;for(const[n,r]of t._nodeMap){const t=r.__type;let i=e.get(t);i||(i=new Map,e.set(t,i)),i.set(n,r);}return e}(e),Co.set(e,n)),n}function ko(t){const e=t.constructor.clone(t);return e.afterCloneFrom(t),e}function To(t,e){const n=parseInt(t.style.paddingInlineStart,10)||0,r=Math.round(n/40);e.setIndent(r);}function No(t){return  true===t.__lexicalUnmanaged}const wo={next:"previous",previous:"next"};class Eo{constructor(t){this.origin=t;}[Symbol.iterator](){return el({hasNext:zo,initial:this.getAdjacentCaret(),map:t=>t,step:t=>t.getAdjacentCaret()})}getAdjacentCaret(){return Jo(this.getNodeAtCaret(),this.direction)}getSiblingCaret(){return Jo(this.origin,this.direction)}remove(){const t=this.getNodeAtCaret();return t&&t.remove(),this}replaceOrInsert(t,e){const n=this.getNodeAtCaret();return t.is(this.origin)||t.is(n)||(null===n?this.insert(t):n.replace(t,e)),this}splice(e,n,r="next"){const i=r===this.direction?n:Array.from(n).reverse();let s=this;const o=this.getParentAtCaret(),l=new Map;for(let t=s.getAdjacentCaret();null!==t&&l.size<e;t=t.getAdjacentCaret()){const e=t.origin.getWritable();l.set(e.getKey(),e);}for(const e of i){if(l.size>0){const n=s.getNodeAtCaret();if(n)if(l.delete(n.getKey()),l.delete(e.getKey()),n.is(e)||s.origin.is(e));else {const t=e.getParent();t&&t.is(o)&&e.remove(),n.replace(e);}else null===n&&t(263,Array.from(l).join(" "));}else s.insert(e);s=Jo(e,this.direction);}for(const t of l.values())t.remove();return this}}class Mo extends Eo{type="child";getLatest(){const t=this.origin.getLatest();return t===this.origin?this:Vo(t,this.direction)}getParentCaret(t="root"){return Jo(Do(this.getParentAtCaret(),t),this.direction)}getFlipped(){const t=Oo(this.direction);return Jo(this.getNodeAtCaret(),t)||Vo(this.origin,t)}getParentAtCaret(){return this.origin}getChildCaret(){return this}isSameNodeCaret(t){return t instanceof Mo&&this.direction===t.direction&&this.origin.is(t.origin)}isSamePointCaret(t){return this.isSameNodeCaret(t)}}const Ao={root:yi,shadowRoot:to};function Oo(t){return wo[t]}function Do(t,e="root"){return Ao[e](t)?null:t}class Po extends Eo{type="sibling";getLatest(){const t=this.origin.getLatest();return t===this.origin?this:Jo(t,this.direction)}getSiblingCaret(){return this}getParentAtCaret(){return this.origin.getParent()}getChildCaret(){return di(this.origin)?Vo(this.origin,this.direction):null}getParentCaret(t="root"){return Jo(Do(this.getParentAtCaret(),t),this.direction)}getFlipped(){const t=Oo(this.direction);return Jo(this.getNodeAtCaret(),t)||Vo(this.origin.getParentOrThrow(),t)}isSamePointCaret(t){return t instanceof Po&&this.direction===t.direction&&this.origin.is(t.origin)}isSameNodeCaret(t){return (t instanceof Po||t instanceof Fo)&&this.direction===t.direction&&this.origin.is(t.origin)}}class Fo extends Eo{type="text";constructor(t,e){super(t),this.offset=e;}getLatest(){const t=this.origin.getLatest();return t===this.origin?this:Uo(t,this.direction,this.offset)}getParentAtCaret(){return this.origin.getParent()}getChildCaret(){return null}getParentCaret(t="root"){return Jo(Do(this.getParentAtCaret(),t),this.direction)}getFlipped(){return Uo(this.origin,Oo(this.direction),this.offset)}isSamePointCaret(t){return t instanceof Fo&&this.direction===t.direction&&this.origin.is(t.origin)&&this.offset===t.offset}isSameNodeCaret(t){return (t instanceof Po||t instanceof Fo)&&this.direction===t.direction&&this.origin.is(t.origin)}getSiblingCaret(){return Jo(this.origin,this.direction)}}function Lo(t){return t instanceof Fo}function zo(t){return t instanceof Po}function Ko(t){return t instanceof Mo}const Bo={next:class extends Fo{direction="next";getNodeAtCaret(){return this.origin.getNextSibling()}insert(t){return this.origin.insertAfter(t),this}},previous:class extends Fo{direction="previous";getNodeAtCaret(){return this.origin.getPreviousSibling()}insert(t){return this.origin.insertBefore(t),this}}},Ro={next:class extends Po{direction="next";getNodeAtCaret(){return this.origin.getNextSibling()}insert(t){return this.origin.insertAfter(t),this}},previous:class extends Po{direction="previous";getNodeAtCaret(){return this.origin.getPreviousSibling()}insert(t){return this.origin.insertBefore(t),this}}},Wo={next:class extends Mo{direction="next";getNodeAtCaret(){return this.origin.getFirstChild()}insert(t){return this.origin.splice(0,0,[t]),this}},previous:class extends Mo{direction="previous";getNodeAtCaret(){return this.origin.getLastChild()}insert(t){return this.origin.splice(this.origin.getChildrenSize(),0,[t]),this}}};function Jo(t,e){return t?new Ro[e](t):null}function Uo(t,e,n){return t?new Bo[e](t,$o(t,n)):null}function $o(t,e){const n=t.getTextContentSize();let r="next"===e?n:"previous"===e?0:e;return (r<0||r>n)&&(!function(t,...e){const n=new URL("https://lexical.dev/docs/error"),r=new URLSearchParams;r.append("code",t);for(const t of e)r.append("v",t);n.search=r.toString(),console.warn(`Minified Lexical warning #${t}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`);}(284,String(e),String(n),t.getKey()),r=r<0?0:n),r}function jo(t,e){return new Go(t,e)}function Vo(t,e){return di(t)?new Wo[e](t):null}function Yo(t){return t&&t.getChildCaret()||t}function Ho(t){return t&&Yo(t.getAdjacentCaret())}class qo{type="node-caret-range";constructor(t,e,n){this.anchor=t,this.focus=e,this.direction=n;}getLatest(){const t=this.anchor.getLatest(),e=this.focus.getLatest();return t===this.anchor&&e===this.focus?this:new qo(t,e,this.direction)}isCollapsed(){return this.anchor.isSamePointCaret(this.focus)}getTextSlices(){const t=t=>{const e=this[t].getLatest();return Lo(e)?function(t,e){const{direction:n,origin:r}=t,i=$o(r,"focus"===e?Oo(n):n);return jo(t,i-t.offset)}(e,t):null},e=t("anchor"),n=t("focus");if(e&&n){const{caret:t}=e,{caret:r}=n;if(t.isSameNodeCaret(r))return [jo(t,r.offset-t.offset),null]}return [e,n]}iterNodeCarets(t="root"){const e=Lo(this.anchor)?this.anchor.getSiblingCaret():this.anchor.getLatest(),n=this.focus.getLatest(),r=Lo(n),i=e=>e.isSameNodeCaret(n)?null:Ho(e)||e.getParentCaret(t);return el({hasNext:t=>null!==t&&!(r&&n.isSameNodeCaret(t)),initial:e.isSameNodeCaret(n)?null:i(e),map:t=>t,step:i})}[Symbol.iterator](){return this.iterNodeCarets("root")}}class Go{type="slice";constructor(t,e){this.caret=t,this.distance=e;}getSliceIndices(){const{distance:t,caret:{offset:e}}=this,n=e+t;return n<e?[n,e]:[e,n]}getTextContent(){const[t,e]=this.getSliceIndices();return this.caret.origin.getTextContent().slice(t,e)}getTextContentSize(){return Math.abs(this.distance)}removeTextSlice(){const{caret:{origin:t,direction:e}}=this,[n,r]=this.getSliceIndices(),i=t.getTextContent();return Uo(t.setTextContent(i.slice(0,n)+i.slice(r)),e,n)}}function Qo(t){return tl(t,Jo(ps(),t.direction))}function Zo(t){return tl(t,t)}function tl(e,n){return e.direction!==n.direction&&t(265),new qo(e,n,e.direction)}function el(t){const{initial:e,hasNext:n,step:r,map:i}=t;let s=e;return {[Symbol.iterator](){return this},next(){if(!n(s))return {done:true,value:void 0};const t={done:false,value:i(s)};return s=r(s),t}}}function nl(e,n){const r=ol(e.origin,n.origin);switch(null===r&&t(275,e.origin.getKey(),n.origin.getKey()),r.type){case "same":{const t="text"===e.type,r="text"===n.type;return t&&r?function(t,e){return Math.sign(t-e)}(e.offset,n.offset):e.type===n.type?0:t?-1:r?1:"child"===e.type?-1:1}case "ancestor":return "child"===e.type?-1:1;case "descendant":return "child"===n.type?1:-1;case "branch":return rl(r)}}function rl(t){const{a:e,b:n}=t,r=e.__key,i=n.__key;let s=e,o=n;for(;s&&o;s=s.getNextSibling(),o=o.getNextSibling()){if(s.__key===i)return  -1;if(o.__key===r)return 1}return null===s?1:-1}function il(t,e){return e.is(t)}function sl(t){return di(t)?[t.getLatest(),null]:[t.getParent(),t.getLatest()]}function ol(e,n){if(e.is(n))return {commonAncestor:e,type:"same"};const r=new Map;for(let[t,n]=sl(e);t;n=t,t=t.getParent())r.set(t,n);for(let[i,s]=sl(n);i;s=i,i=i.getParent()){const o=r.get(i);if(void 0!==o)return null===o?(il(e,i)||t(276),{commonAncestor:i,type:"ancestor"}):null===s?(il(n,i)||t(277),{commonAncestor:i,type:"descendant"}):((di(o)||il(e,o))&&(di(s)||il(n,s))&&i.is(o.getParent())&&i.is(s.getParent())||t(278),{a:o,b:s,commonAncestor:i,type:"branch"})}return null}function ll(e,n){const{type:r,key:i,offset:s}=e,o=io(e.key);return "text"===r?(Qn(o)||t(266,o.getType(),i),Uo(o,n,s)):(di(o)||t(267,o.getType(),i),Cl(o,e.offset,n))}function cl(e,n){const{origin:r,direction:i}=n,s="next"===i;Lo(n)?e.set(r.getKey(),n.offset,"text"):zo(n)?Qn(r)?e.set(r.getKey(),$o(r,i),"text"):e.set(r.getParentOrThrow().getKey(),r.getIndexWithinParent()+(s?1:0),"element"):(Ko(n)&&di(r)||t(268),e.set(r.getKey(),s?0:r.getChildrenSize(),"element"));}function al(t){const e=Nr(),n=cr(e)?e:vr();return ul(n,t),ms(n),n}function ul(t,e){cl(t.anchor,e.anchor),cl(t.focus,e.focus);}function fl(t){const{anchor:e,focus:n}=t,r=ll(e,"next"),i=ll(n,"next"),s=nl(r,i)<=0?"next":"previous";return tl(ml(r,s),ml(i,s))}function dl(t){const{direction:e,origin:n}=t,r=Jo(n,Oo(e)).getNodeAtCaret();return r?Jo(r,e):Vo(n.getParentOrThrow(),e)}function hl(t,e="root"){const n=[t];for(let r=Ko(t)?t.getParentCaret(e):t.getSiblingCaret();null!==r;r=r.getParentCaret(e))n.push(dl(r));return n}function gl(t){return !!t&&t.origin.isAttached()}function _l(e,n="removeEmptySlices"){if(e.isCollapsed())return e;const r="root",i="next";let s=n;const o=xl(e,i),l=hl(o.anchor,r),c=hl(o.focus.getFlipped(),r),a=new Set,u=[];for(const t of o.iterNodeCarets(r))if(Ko(t))a.add(t.origin.getKey());else if(zo(t)){const{origin:e}=t;di(e)&&!a.has(e.getKey())||u.push(e);}for(const t of u)t.remove();for(const t of o.getTextSlices()){if(!t)continue;const{origin:e}=t.caret,n=e.getTextContentSize(),r=dl(Jo(e,i)),o=e.getMode();if(Math.abs(t.distance)===n&&"removeEmptySlices"===s||"token"===o&&0!==t.distance)r.remove();else if(0!==t.distance){s="removeEmptySlices";let e=t.removeTextSlice();const n=t.caret.origin;if("segmented"===o){const t=e.origin,n=Xn(t.getTextContent()).setStyle(t.getStyle()).setFormat(t.getFormat());r.replaceOrInsert(n),e=Uo(n,i,e.offset);}n.is(l[0].origin)&&(l[0]=e),n.is(c[0].origin)&&(c[0]=e.getFlipped());}}let f,d;for(const t of l)if(gl(t)){f=pl(t);break}for(const t of c)if(gl(t)){d=pl(t);break}const h=function(t,e,n){if(!t||!e)return null;const r=t.getParentAtCaret(),i=e.getParentAtCaret();if(!r||!i)return null;const s=r.getParents().reverse();s.push(r);const o=i.getParents().reverse();o.push(i);const l=Math.min(s.length,o.length);let c;for(c=0;c<l&&s[c]===o[c];c++);const a=(t,e)=>{let n;for(let r=c;r<t.length;r++){const i=t[r];if(to(i))return;!n&&e(i)&&(n=i);}return n},u=a(s,yo),f=u&&a(o,(t=>n.has(t.getKey())&&yo(t)));return u&&f?[u,f]:null}(f,d,a);if(h){const[t,e]=h;Vo(t,"previous").splice(0,e.getChildren()),e.remove();}const g=[f,d,...l,...c].find(gl);if(g){return Zo(ml(pl(g),e.direction))}t(269,JSON.stringify(l.map((t=>t.origin.__key))));}function pl(t){const e=function(t){let e=t;for(;Ko(e);){const t=Ho(e);if(!Ko(t))break;e=t;}return e}(t.getLatest()),{direction:n}=e;if(Qn(e.origin))return Lo(e)?e:Uo(e.origin,n,n);const r=e.getAdjacentCaret();return zo(r)&&Qn(r.origin)?Uo(r.origin,n,Oo(n)):e}function yl(t){return Lo(t)&&t.offset!==$o(t.origin,t.direction)}function ml(t,e){return t.direction===e?t:t.getFlipped()}function xl(t,e){return t.direction===e?t:tl(ml(t.focus,e),ml(t.anchor,e))}function Cl(t,e,n){let r=Vo(t,"next");for(let t=0;t<e;t++){const t=r.getAdjacentCaret();if(null===t)break;r=t;}return ml(r,n)}
         
     | 
| 
       1353 
1353 
     | 
    
         | 
| 
       1354 
     | 
    
         
            -
             
     | 
| 
      
 1354 
     | 
    
         
            +
            function getNonce() {
         
     | 
| 
       1355 
1355 
     | 
    
         
             
              const element = document.head.querySelector("meta[name=csp-nonce]");
         
     | 
| 
       1356 
1356 
     | 
    
         
             
              return element?.content
         
     | 
| 
       1357 
     | 
    
         
            -
            } 
     | 
| 
      
 1357 
     | 
    
         
            +
            }
         
     | 
| 
       1358 
1358 
     | 
    
         | 
| 
       1359 
1359 
     | 
    
         
             
            /**
         
     | 
| 
       1360 
1360 
     | 
    
         
             
             * Copyright (c) Meta Platforms, Inc. and affiliates.
         
     | 
| 
         @@ -5096,7 +5096,7 @@ function isPrintableCharacter(event) { 
     | 
|
| 
       5096 
5096 
     | 
    
         
             
              if (event.ctrlKey || event.metaKey || event.altKey) return false
         
     | 
| 
       5097 
5097 
     | 
    
         | 
| 
       5098 
5098 
     | 
    
         
             
              // Ignore special keys
         
     | 
| 
       5099 
     | 
    
         
            -
              if (event.key.length > 1 && event.key !==  
     | 
| 
      
 5099 
     | 
    
         
            +
              if (event.key.length > 1 && event.key !== "Enter" && event.key !== "Space") return false
         
     | 
| 
       5100 
5100 
     | 
    
         | 
| 
       5101 
5101 
     | 
    
         
             
              // Accept single character keys (letters, numbers, punctuation)
         
     | 
| 
       5102 
5102 
     | 
    
         
             
              return event.key.length === 1
         
     | 
| 
         @@ -5110,12 +5110,17 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5110 
5110 
     | 
    
         
             
              }
         
     | 
| 
       5111 
5111 
     | 
    
         | 
| 
       5112 
5112 
     | 
    
         
             
              connectedCallback() {
         
     | 
| 
       5113 
     | 
    
         
            -
                this.#refreshToolbarOverflow();
         
     | 
| 
       5114 
     | 
    
         
            -
             
     | 
| 
      
 5113 
     | 
    
         
            +
                requestAnimationFrame(() => this.#refreshToolbarOverflow());
         
     | 
| 
      
 5114 
     | 
    
         
            +
             
     | 
| 
      
 5115 
     | 
    
         
            +
                this._resizeObserver = new ResizeObserver(() => this.#refreshToolbarOverflow());
         
     | 
| 
      
 5116 
     | 
    
         
            +
                this._resizeObserver.observe(this);
         
     | 
| 
       5115 
5117 
     | 
    
         
             
              }
         
     | 
| 
       5116 
5118 
     | 
    
         | 
| 
       5117 
5119 
     | 
    
         
             
              disconnectedCallback() {
         
     | 
| 
       5118 
     | 
    
         
            -
                 
     | 
| 
      
 5120 
     | 
    
         
            +
                if (this._resizeObserver) {
         
     | 
| 
      
 5121 
     | 
    
         
            +
                  this._resizeObserver.disconnect();
         
     | 
| 
      
 5122 
     | 
    
         
            +
                  this._resizeObserver = null;
         
     | 
| 
      
 5123 
     | 
    
         
            +
                }
         
     | 
| 
       5119 
5124 
     | 
    
         
             
              }
         
     | 
| 
       5120 
5125 
     | 
    
         | 
| 
       5121 
5126 
     | 
    
         
             
              setEditor(editorElement) {
         
     | 
| 
         @@ -5125,6 +5130,8 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5125 
5130 
     | 
    
         
             
                this.#bindHotkeys();
         
     | 
| 
       5126 
5131 
     | 
    
         
             
                this.#assignButtonTabindex();
         
     | 
| 
       5127 
5132 
     | 
    
         
             
                this.#monitorSelectionChanges();
         
     | 
| 
      
 5133 
     | 
    
         
            +
                this.#monitorHistoryChanges();
         
     | 
| 
      
 5134 
     | 
    
         
            +
                this.#refreshToolbarOverflow();
         
     | 
| 
       5128 
5135 
     | 
    
         
             
              }
         
     | 
| 
       5129 
5136 
     | 
    
         | 
| 
       5130 
5137 
     | 
    
         
             
              #bindButtons() {
         
     | 
| 
         @@ -5150,7 +5157,7 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5150 
5157 
     | 
    
         | 
| 
       5151 
5158 
     | 
    
         
             
              // Not using popover because of CSS anchoring still not widely available.
         
     | 
| 
       5152 
5159 
     | 
    
         
             
              #toggleDialog(button) {
         
     | 
| 
       5153 
     | 
    
         
            -
                const dialog =  
     | 
| 
      
 5160 
     | 
    
         
            +
                const dialog = this.querySelector("lexxy-link-dialog .link-dialog").parentNode;
         
     | 
| 
       5154 
5161 
     | 
    
         | 
| 
       5155 
5162 
     | 
    
         
             
                if (dialog.open) {
         
     | 
| 
       5156 
5163 
     | 
    
         
             
                  dialog.close();
         
     | 
| 
         @@ -5160,7 +5167,7 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5160 
5167 
     | 
    
         
             
              }
         
     | 
| 
       5161 
5168 
     | 
    
         | 
| 
       5162 
5169 
     | 
    
         
             
              #bindHotkeys() {
         
     | 
| 
       5163 
     | 
    
         
            -
                this.editorElement.addEventListener( 
     | 
| 
      
 5170 
     | 
    
         
            +
                this.editorElement.addEventListener("keydown", (event) => {
         
     | 
| 
       5164 
5171 
     | 
    
         
             
                  const buttons = this.querySelectorAll("[data-hotkey]");
         
     | 
| 
       5165 
5172 
     | 
    
         
             
                  buttons.forEach((button) => {
         
     | 
| 
       5166 
5173 
     | 
    
         
             
                    const hotkeys = button.dataset.hotkey.toLowerCase().split(/\s+/);
         
     | 
| 
         @@ -5176,13 +5183,13 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5176 
5183 
     | 
    
         
             
              #keyCombinationFor(event) {
         
     | 
| 
       5177 
5184 
     | 
    
         
             
                const pressedKey = event.key.toLowerCase();
         
     | 
| 
       5178 
5185 
     | 
    
         
             
                const modifiers = [
         
     | 
| 
       5179 
     | 
    
         
            -
                  event.ctrlKey ?  
     | 
| 
       5180 
     | 
    
         
            -
                  event.metaKey ?  
     | 
| 
       5181 
     | 
    
         
            -
                  event.altKey ?  
     | 
| 
       5182 
     | 
    
         
            -
                  event.shiftKey ?  
     | 
| 
      
 5186 
     | 
    
         
            +
                  event.ctrlKey ? "ctrl" : null,
         
     | 
| 
      
 5187 
     | 
    
         
            +
                  event.metaKey ? "cmd" : null,
         
     | 
| 
      
 5188 
     | 
    
         
            +
                  event.altKey ? "alt" : null,
         
     | 
| 
      
 5189 
     | 
    
         
            +
                  event.shiftKey ? "shift" : null,
         
     | 
| 
       5183 
5190 
     | 
    
         
             
                ].filter(Boolean);
         
     | 
| 
       5184 
5191 
     | 
    
         | 
| 
       5185 
     | 
    
         
            -
                return [ ...modifiers, pressedKey ].join( 
     | 
| 
      
 5192 
     | 
    
         
            +
                return [ ...modifiers, pressedKey ].join("+")
         
     | 
| 
       5186 
5193 
     | 
    
         
             
              }
         
     | 
| 
       5187 
5194 
     | 
    
         | 
| 
       5188 
5195 
     | 
    
         
             
              #assignButtonTabindex() {
         
     | 
| 
         @@ -5200,6 +5207,30 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5200 
5207 
     | 
    
         
             
                });
         
     | 
| 
       5201 
5208 
     | 
    
         
             
              }
         
     | 
| 
       5202 
5209 
     | 
    
         | 
| 
      
 5210 
     | 
    
         
            +
              #monitorHistoryChanges() {
         
     | 
| 
      
 5211 
     | 
    
         
            +
                this.editor.registerUpdateListener(() => {
         
     | 
| 
      
 5212 
     | 
    
         
            +
                  this.#updateUndoRedoButtonStates();
         
     | 
| 
      
 5213 
     | 
    
         
            +
                });
         
     | 
| 
      
 5214 
     | 
    
         
            +
              }
         
     | 
| 
      
 5215 
     | 
    
         
            +
             
     | 
| 
      
 5216 
     | 
    
         
            +
              #updateUndoRedoButtonStates() {
         
     | 
| 
      
 5217 
     | 
    
         
            +
                this.editor.getEditorState().read(() => {
         
     | 
| 
      
 5218 
     | 
    
         
            +
                  const historyState = this.editorElement.historyState;
         
     | 
| 
      
 5219 
     | 
    
         
            +
                  if (historyState) {
         
     | 
| 
      
 5220 
     | 
    
         
            +
                    this.#setButtonDisabled("undo", historyState.undoStack.length === 0);
         
     | 
| 
      
 5221 
     | 
    
         
            +
                    this.#setButtonDisabled("redo", historyState.redoStack.length === 0);
         
     | 
| 
      
 5222 
     | 
    
         
            +
                  }
         
     | 
| 
      
 5223 
     | 
    
         
            +
                });
         
     | 
| 
      
 5224 
     | 
    
         
            +
              }
         
     | 
| 
      
 5225 
     | 
    
         
            +
             
     | 
| 
      
 5226 
     | 
    
         
            +
              #setButtonDisabled(name, isDisabled) {
         
     | 
| 
      
 5227 
     | 
    
         
            +
                const button = this.querySelector(`[name="${name}"]`);
         
     | 
| 
      
 5228 
     | 
    
         
            +
                if (button) {
         
     | 
| 
      
 5229 
     | 
    
         
            +
                  button.disabled = isDisabled;
         
     | 
| 
      
 5230 
     | 
    
         
            +
                  button.setAttribute("aria-disabled", isDisabled.toString());
         
     | 
| 
      
 5231 
     | 
    
         
            +
                }
         
     | 
| 
      
 5232 
     | 
    
         
            +
              }
         
     | 
| 
      
 5233 
     | 
    
         
            +
             
     | 
| 
       5203 
5234 
     | 
    
         
             
              #updateButtonStates() {
         
     | 
| 
       5204 
5235 
     | 
    
         
             
                const selection = Nr();
         
     | 
| 
       5205 
5236 
     | 
    
         
             
                if (!cr(selection)) return
         
     | 
| 
         @@ -5211,6 +5242,7 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5211 
5242 
     | 
    
         | 
| 
       5212 
5243 
     | 
    
         
             
                const isBold = selection.hasFormat("bold");
         
     | 
| 
       5213 
5244 
     | 
    
         
             
                const isItalic = selection.hasFormat("italic");
         
     | 
| 
      
 5245 
     | 
    
         
            +
                const isStrikethrough = selection.hasFormat("strikethrough");
         
     | 
| 
       5214 
5246 
     | 
    
         
             
                const isInCode = I$1(topLevelElement) || selection.hasFormat("code");
         
     | 
| 
       5215 
5247 
     | 
    
         
             
                const isInList = this.#isInList(anchorNode);
         
     | 
| 
       5216 
5248 
     | 
    
         
             
                const listType = getListType(anchorNode);
         
     | 
| 
         @@ -5220,25 +5252,15 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5220 
5252 
     | 
    
         | 
| 
       5221 
5253 
     | 
    
         
             
                this.#setButtonPressed("bold", isBold);
         
     | 
| 
       5222 
5254 
     | 
    
         
             
                this.#setButtonPressed("italic", isItalic);
         
     | 
| 
      
 5255 
     | 
    
         
            +
                this.#setButtonPressed("strikethrough", isStrikethrough);
         
     | 
| 
       5223 
5256 
     | 
    
         
             
                this.#setButtonPressed("code", isInCode);
         
     | 
| 
       5224 
5257 
     | 
    
         
             
                this.#setButtonPressed("unordered-list", isInList && listType === "bullet");
         
     | 
| 
       5225 
5258 
     | 
    
         
             
                this.#setButtonPressed("ordered-list", isInList && listType === "number");
         
     | 
| 
       5226 
5259 
     | 
    
         
             
                this.#setButtonPressed("quote", isInQuote);
         
     | 
| 
       5227 
5260 
     | 
    
         
             
                this.#setButtonPressed("heading", isInHeading);
         
     | 
| 
       5228 
5261 
     | 
    
         
             
                this.#setButtonPressed("link", isInLink);
         
     | 
| 
       5229 
     | 
    
         
            -
              }
         
     | 
| 
       5230 
5262 
     | 
    
         | 
| 
       5231 
     | 
    
         
            -
             
     | 
| 
       5232 
     | 
    
         
            -
                const nodes = selection.getNodes();
         
     | 
| 
       5233 
     | 
    
         
            -
                return nodes.some(node => {
         
     | 
| 
       5234 
     | 
    
         
            -
                  if (st$1(node)) return true
         
     | 
| 
       5235 
     | 
    
         
            -
                  // Check parent for text nodes inside code highlight
         
     | 
| 
       5236 
     | 
    
         
            -
                  if (Qn(node)) {
         
     | 
| 
       5237 
     | 
    
         
            -
                    const parent = node.getParent();
         
     | 
| 
       5238 
     | 
    
         
            -
                    if (parent && st$1(parent)) return true
         
     | 
| 
       5239 
     | 
    
         
            -
                  }
         
     | 
| 
       5240 
     | 
    
         
            -
                  return false
         
     | 
| 
       5241 
     | 
    
         
            -
                })
         
     | 
| 
      
 5263 
     | 
    
         
            +
                this.#updateUndoRedoButtonStates();
         
     | 
| 
       5242 
5264 
     | 
    
         
             
              }
         
     | 
| 
       5243 
5265 
     | 
    
         | 
| 
       5244 
5266 
     | 
    
         
             
              #isInList(node) {
         
     | 
| 
         @@ -5298,17 +5320,17 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5298 
5320 
     | 
    
         | 
| 
       5299 
5321 
     | 
    
         
             
                for (const button of buttons) {
         
     | 
| 
       5300 
5322 
     | 
    
         
             
                  if (this.#toolbarIsOverflowing()) {
         
     | 
| 
       5301 
     | 
    
         
            -
                    this.#overflowMenu. 
     | 
| 
      
 5323 
     | 
    
         
            +
                    this.#overflowMenu.prepend(button);
         
     | 
| 
       5302 
5324 
     | 
    
         
             
                    movedToOverflow = true;
         
     | 
| 
       5303 
5325 
     | 
    
         
             
                  } else {
         
     | 
| 
       5304 
     | 
    
         
            -
                    if (movedToOverflow) this.#overflowMenu. 
     | 
| 
      
 5326 
     | 
    
         
            +
                    if (movedToOverflow) this.#overflowMenu.prepend(button);
         
     | 
| 
       5305 
5327 
     | 
    
         
             
                    break
         
     | 
| 
       5306 
5328 
     | 
    
         
             
                  }
         
     | 
| 
       5307 
5329 
     | 
    
         
             
                }
         
     | 
| 
       5308 
5330 
     | 
    
         
             
              }
         
     | 
| 
       5309 
5331 
     | 
    
         | 
| 
       5310 
5332 
     | 
    
         
             
              get #buttons() {
         
     | 
| 
       5311 
     | 
    
         
            -
                return Array.from(this.querySelectorAll(":scope > button"))
         
     | 
| 
      
 5333 
     | 
    
         
            +
                return Array.from(this.querySelectorAll(":scope > button, :scope > [role=separator]"))
         
     | 
| 
       5312 
5334 
     | 
    
         
             
              }
         
     | 
| 
       5313 
5335 
     | 
    
         | 
| 
       5314 
5336 
     | 
    
         
             
              static get defaultTemplate() {
         
     | 
| 
         @@ -5321,12 +5343,18 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5321 
5343 
     | 
    
         
             
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M17.1 4h-1.5l-3.2 16h1.5l-.4 2h-7l.4-2h1.5l3.2-16h-1.5l.4-2h7l-.4 2z"/></svg>
         
     | 
| 
       5322 
5344 
     | 
    
         
             
                  </button>
         
     | 
| 
       5323 
5345 
     | 
    
         | 
| 
      
 5346 
     | 
    
         
            +
                  <button class="lexxy-editor__toolbar-button" type="button" name="strikethrough" data-command="strikethrough" title="Strikethrough">
         
     | 
| 
      
 5347 
     | 
    
         
            +
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
         
     | 
| 
      
 5348 
     | 
    
         
            +
                      <path fill-rule="evenodd" clip-rule="evenodd" d="M4.70588 16.1591C4.81459 19.7901 7.48035 22 11.6668 22C15.9854 22 18.724 19.6296 18.724 15.8779C18.724 15.5007 18.6993 15.1427 18.6474 14.8066H14.3721C14.8637 15.2085 15.0799 15.7037 15.0799 16.3471C15.0799 17.7668 13.7532 18.7984 11.8113 18.7984C9.88053 18.7984 8.38582 17.7531 8.21659 16.1591H4.70588ZM5.23953 9.31962H9.88794C9.10723 8.88889 8.75888 8.33882 8.75888 7.57339C8.75888 6.13992 9.96576 5.18793 11.7631 5.18793C13.5852 5.18793 14.8761 6.1797 14.9959 7.81344H18.4102C18.3485 4.31824 15.8038 2 11.752 2C7.867 2 5.09129 4.35802 5.09129 7.92044C5.09129 8.41838 5.14071 8.88477 5.23953 9.31962ZM2.23529 10.6914C1.90767 10.6914 1.59347 10.8359 1.36181 11.0931C1.13015 11.3504 1 11.6993 1 12.0631C1 12.4269 1.13015 12.7758 1.36181 13.0331C1.59347 13.2903 1.90767 13.4348 2.23529 13.4348H20.7647C21.0923 13.4348 21.4065 13.2903 21.6382 13.0331C21.8699 12.7758 22 12.4269 22 12.0631C22 11.6993 21.8699 11.3504 21.6382 11.0931C21.4065 10.8359 21.0923 10.6914 20.7647 10.6914H2.23529Z"/>
         
     | 
| 
      
 5349 
     | 
    
         
            +
                    </svg>
         
     | 
| 
      
 5350 
     | 
    
         
            +
                  </button>
         
     | 
| 
      
 5351 
     | 
    
         
            +
             
     | 
| 
       5324 
5352 
     | 
    
         
             
                  <button class="lexxy-editor__toolbar-button" type="button" name="link" title="Link" data-dialog-target="link-dialog" data-hotkey="cmd+k ctrl+k">
         
     | 
| 
       5325 
5353 
     | 
    
         
             
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12.111 9.546a1.5 1.5 0 012.121 0 5.5 5.5 0 010 7.778l-2.828 2.828a5.5 5.5 0 01-7.778 0 5.498 5.498 0 010-7.777l2.828-2.83a1.5 1.5 0 01.355-.262 6.52 6.52 0 00.351 3.799l-1.413 1.414a2.499 2.499 0 000 3.535 2.499 2.499 0 003.535 0l2.83-2.828a2.5 2.5 0 000-3.536 1.5 1.5 0 010-2.121z"/><path d="M12.111 3.89a5.5 5.5 0 117.778 7.777l-2.828 2.829a1.496 1.496 0 01-.355.262 6.522 6.522 0 00-.351-3.8l1.413-1.412a2.5 2.5 0 10-3.536-3.535l-2.828 2.828a2.5 2.5 0 000 3.536 1.5 1.5 0 01-2.122 2.12 5.5 5.5 0 010-7.777l2.83-2.829z"/></svg>
         
     | 
| 
       5326 
5354 
     | 
    
         
             
                  </button>
         
     | 
| 
       5327 
5355 
     | 
    
         | 
| 
       5328 
5356 
     | 
    
         
             
                  <lexxy-link-dialog class="lexxy-link-dialog">
         
     | 
| 
       5329 
     | 
    
         
            -
                    <dialog  
     | 
| 
      
 5357 
     | 
    
         
            +
                    <dialog class="link-dialog" closedby="any">
         
     | 
| 
       5330 
5358 
     | 
    
         
             
                      <form method="dialog">
         
     | 
| 
       5331 
5359 
     | 
    
         
             
                        <input type="url" placeholder="Enter a URL…" class="input" required>
         
     | 
| 
       5332 
5360 
     | 
    
         
             
                        <div class="lexxy-dialog-actions">
         
     | 
| 
         @@ -5361,6 +5389,20 @@ class LexicalToolbarElement extends HTMLElement { 
     | 
|
| 
       5361 
5389 
     | 
    
         
             
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M16 8a2 2 0 110 4 2 2 0 010-4z""/><path d="M22 2a1 1 0 011 1v18a1 1 0 01-1 1H2a1 1 0 01-1-1V3a1 1 0 011-1h20zM3 18.714L9 11l5.25 6.75L17 15l4 4V4H3v14.714z"/></svg>
         
     | 
| 
       5362 
5390 
     | 
    
         
             
                  </button>
         
     | 
| 
       5363 
5391 
     | 
    
         | 
| 
      
 5392 
     | 
    
         
            +
                  <button class="lexxy-editor__toolbar-button" type="button" name="divider" data-command="insertHorizontalDivider" title="Insert a divider">
         
     | 
| 
      
 5393 
     | 
    
         
            +
                    <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0 12C0 11.4477 0.447715 11 1 11H23C23.5523 11 24 11.4477 24 12C24 12.5523 23.5523 13 23 13H1C0.447716 13 0 12.5523 0 12Z"/><path d="M4 5C4 3.89543 4.89543 3 6 3H18C19.1046 3 20 3.89543 20 5C20 6.10457 19.1046 7 18 7H6C4.89543 7 4 6.10457 4 5Z"/><path d="M4 19C4 17.8954 4.89543 17 6 17H18C19.1046 17 20 17.8954 20 19C20 20.1046 19.1046 21 18 21H6C4.89543 21 4 20.1046 4 19Z"/></svg>
         
     | 
| 
      
 5394 
     | 
    
         
            +
                  </button>
         
     | 
| 
      
 5395 
     | 
    
         
            +
                  
         
     | 
| 
      
 5396 
     | 
    
         
            +
                  <div class="lexxy-editor__toolbar-spacer" role="separator"></div>
         
     | 
| 
      
 5397 
     | 
    
         
            +
                  
         
     | 
| 
      
 5398 
     | 
    
         
            +
                  <button class="lexxy-editor__toolbar-button" type="button" name="undo" data-command="undo" title="Undo" data-hotkey="cmd+z ctrl+z">
         
     | 
| 
      
 5399 
     | 
    
         
            +
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M5.64648 8.26531C7.93911 6.56386 10.7827 5.77629 13.624 6.05535C16.4655 6.33452 19.1018 7.66079 21.0195 9.77605C22.5839 11.5016 23.5799 13.6516 23.8936 15.9352C24.0115 16.7939 23.2974 17.4997 22.4307 17.4997C21.5641 17.4997 20.8766 16.7915 20.7148 15.9401C20.4295 14.4379 19.7348 13.0321 18.6943 11.8844C17.3 10.3464 15.3835 9.38139 13.3174 9.17839C11.2514 8.97546 9.18359 9.54856 7.5166 10.7858C6.38259 11.6275 5.48981 12.7361 4.90723 13.9997H8.5C9.3283 13.9997 9.99979 14.6714 10 15.4997C10 16.3281 9.32843 16.9997 8.5 16.9997H1.5C0.671573 16.9997 0 16.3281 0 15.4997V8.49968C0.000213656 7.67144 0.671705 6.99968 1.5 6.99968C2.3283 6.99968 2.99979 7.67144 3 8.49968V11.0212C3.7166 9.9704 4.60793 9.03613 5.64648 8.26531Z"/></svg>
         
     | 
| 
      
 5400 
     | 
    
         
            +
                  </button>
         
     | 
| 
      
 5401 
     | 
    
         
            +
             
     | 
| 
      
 5402 
     | 
    
         
            +
                  <button class="lexxy-editor__toolbar-button" type="button" name="redo" data-command="redo" title="Redo" data-hotkey="cmd+shift+z ctrl+shift+z ctrl+y">
         
     | 
| 
      
 5403 
     | 
    
         
            +
                    <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M18.2599 8.26531C15.9672 6.56386 13.1237 5.77629 10.2823 6.05535C7.4408 6.33452 4.80455 7.66079 2.88681 9.77605C1.32245 11.5016 0.326407 13.6516 0.0127834 15.9352C-0.105117 16.7939 0.608975 17.4997 1.47567 17.4997C2.34228 17.4997 3.02969 16.7915 3.19149 15.9401C3.47682 14.4379 4.17156 13.0321 5.212 11.8844C6.60637 10.3464 8.52287 9.38139 10.589 9.17839C12.655 8.97546 14.7227 9.54856 16.3897 10.7858C17.5237 11.6275 18.4165 12.7361 18.9991 13.9997H15.4063C14.578 13.9997 13.9066 14.6714 13.9063 15.4997C13.9063 16.3281 14.5779 16.9997 15.4063 16.9997H22.4063C23.2348 16.9997 23.9063 16.3281 23.9063 15.4997V8.49968C23.9061 7.67144 23.2346 6.99968 22.4063 6.99968C21.578 6.99968 20.9066 7.67144 20.9063 8.49968V11.0212C20.1897 9.9704 19.2984 9.03613 18.2599 8.26531Z"/></svg>
         
     | 
| 
      
 5404 
     | 
    
         
            +
                  </button>
         
     | 
| 
      
 5405 
     | 
    
         
            +
             
     | 
| 
       5364 
5406 
     | 
    
         
             
                  <details class="lexxy-editor__toolbar-overflow">
         
     | 
| 
       5365 
5407 
     | 
    
         
             
                    <summary class="lexxy-editor__toolbar-button" aria-label="Show more toolbar buttons">•••</summary>
         
     | 
| 
       5366 
5408 
     | 
    
         
             
                    <div class="lexxy-editor__toolbar-overflow-menu" aria-label="More toolbar buttons"></div>
         
     | 
| 
         @@ -5395,69 +5437,62 @@ var theme = { 
     | 
|
| 
       5395 
5437 
     | 
    
         
             
              text: {
         
     | 
| 
       5396 
5438 
     | 
    
         
             
                bold: "lexxy-content__bold",
         
     | 
| 
       5397 
5439 
     | 
    
         
             
                italic: "lexxy-content__italic",
         
     | 
| 
      
 5440 
     | 
    
         
            +
                strikethrough: "lexxy-content__strikethrough",
         
     | 
| 
       5398 
5441 
     | 
    
         
             
                underline: "lexxy-content__underline",
         
     | 
| 
       5399 
5442 
     | 
    
         
             
              },
         
     | 
| 
       5400 
5443 
     | 
    
         
             
              codeHighlight: {
         
     | 
| 
       5401 
     | 
    
         
            -
                atrule:  
     | 
| 
       5402 
     | 
    
         
            -
                attr:  
     | 
| 
       5403 
     | 
    
         
            -
                 
     | 
| 
       5404 
     | 
    
         
            -
                 
     | 
| 
       5405 
     | 
    
         
            -
                boolean:  
     | 
| 
       5406 
     | 
    
         
            -
                bold:  
     | 
| 
       5407 
     | 
    
         
            -
                builtin:  
     | 
| 
       5408 
     | 
    
         
            -
                cdata:  
     | 
| 
       5409 
     | 
    
         
            -
                char:  
     | 
| 
       5410 
     | 
    
         
            -
                class:  
     | 
| 
       5411 
     | 
    
         
            -
                 
     | 
| 
       5412 
     | 
    
         
            -
                color:  
     | 
| 
       5413 
     | 
    
         
            -
                comment:  
     | 
| 
       5414 
     | 
    
         
            -
                constant:  
     | 
| 
       5415 
     | 
    
         
            -
                coord:  
     | 
| 
       5416 
     | 
    
         
            -
                decorator:  
     | 
| 
       5417 
     | 
    
         
            -
                deleted:  
     | 
| 
       5418 
     | 
    
         
            -
                doctype:  
     | 
| 
       5419 
     | 
    
         
            -
                entity:  
     | 
| 
       5420 
     | 
    
         
            -
                function:  
     | 
| 
       5421 
     | 
    
         
            -
                hexcode:  
     | 
| 
       5422 
     | 
    
         
            -
                important:  
     | 
| 
       5423 
     | 
    
         
            -
                inserted:  
     | 
| 
       5424 
     | 
    
         
            -
                italic:  
     | 
| 
       5425 
     | 
    
         
            -
                keyword:  
     | 
| 
       5426 
     | 
    
         
            -
                namespace:  
     | 
| 
       5427 
     | 
    
         
            -
                number:  
     | 
| 
       5428 
     | 
    
         
            -
                operator:  
     | 
| 
       5429 
     | 
    
         
            -
                parameter:  
     | 
| 
       5430 
     | 
    
         
            -
                prolog:  
     | 
| 
       5431 
     | 
    
         
            -
                property:  
     | 
| 
       5432 
     | 
    
         
            -
                punctuation:  
     | 
| 
       5433 
     | 
    
         
            -
                regex:  
     | 
| 
       5434 
     | 
    
         
            -
                script:  
     | 
| 
       5435 
     | 
    
         
            -
                selector:  
     | 
| 
       5436 
     | 
    
         
            -
                string:  
     | 
| 
       5437 
     | 
    
         
            -
                style:  
     | 
| 
       5438 
     | 
    
         
            -
                symbol:  
     | 
| 
       5439 
     | 
    
         
            -
                tag:  
     | 
| 
       5440 
     | 
    
         
            -
                title:  
     | 
| 
       5441 
     | 
    
         
            -
                url:  
     | 
| 
       5442 
     | 
    
         
            -
                variable:  
     | 
| 
      
 5444 
     | 
    
         
            +
                atrule: "code-token__attr",
         
     | 
| 
      
 5445 
     | 
    
         
            +
                attr: "code-token__attr",
         
     | 
| 
      
 5446 
     | 
    
         
            +
                "attr-name": "code-token__attr",
         
     | 
| 
      
 5447 
     | 
    
         
            +
                "attr-value": "code-token__selector",
         
     | 
| 
      
 5448 
     | 
    
         
            +
                boolean: "code-token__property",
         
     | 
| 
      
 5449 
     | 
    
         
            +
                bold: "code-token__variable",
         
     | 
| 
      
 5450 
     | 
    
         
            +
                builtin: "code-token__selector",
         
     | 
| 
      
 5451 
     | 
    
         
            +
                cdata: "code-token__comment",
         
     | 
| 
      
 5452 
     | 
    
         
            +
                char: "code-token__selector",
         
     | 
| 
      
 5453 
     | 
    
         
            +
                class: "code-token__function",
         
     | 
| 
      
 5454 
     | 
    
         
            +
                "class-name": "code-token__function",
         
     | 
| 
      
 5455 
     | 
    
         
            +
                color: "code-token__property",
         
     | 
| 
      
 5456 
     | 
    
         
            +
                comment: "code-token__comment",
         
     | 
| 
      
 5457 
     | 
    
         
            +
                constant: "code-token__property",
         
     | 
| 
      
 5458 
     | 
    
         
            +
                coord: "code-token__property",
         
     | 
| 
      
 5459 
     | 
    
         
            +
                decorator: "code-token__function",
         
     | 
| 
      
 5460 
     | 
    
         
            +
                deleted: "code-token__property",
         
     | 
| 
      
 5461 
     | 
    
         
            +
                doctype: "code-token__comment",
         
     | 
| 
      
 5462 
     | 
    
         
            +
                entity: "code-token__operator",
         
     | 
| 
      
 5463 
     | 
    
         
            +
                function: "code-token__function",
         
     | 
| 
      
 5464 
     | 
    
         
            +
                hexcode: "code-token__property",
         
     | 
| 
      
 5465 
     | 
    
         
            +
                important: "code-token__variable",
         
     | 
| 
      
 5466 
     | 
    
         
            +
                inserted: "code-token__selector",
         
     | 
| 
      
 5467 
     | 
    
         
            +
                italic: "code-token__comment",
         
     | 
| 
      
 5468 
     | 
    
         
            +
                keyword: "code-token__attr",
         
     | 
| 
      
 5469 
     | 
    
         
            +
                namespace: "code-token__variable",
         
     | 
| 
      
 5470 
     | 
    
         
            +
                number: "code-token__property",
         
     | 
| 
      
 5471 
     | 
    
         
            +
                operator: "code-token__operator",
         
     | 
| 
      
 5472 
     | 
    
         
            +
                parameter: "code-token__variable",
         
     | 
| 
      
 5473 
     | 
    
         
            +
                prolog: "code-token__comment",
         
     | 
| 
      
 5474 
     | 
    
         
            +
                property: "code-token__property",
         
     | 
| 
      
 5475 
     | 
    
         
            +
                punctuation: "code-token__punctuation",
         
     | 
| 
      
 5476 
     | 
    
         
            +
                regex: "code-token__variable",
         
     | 
| 
      
 5477 
     | 
    
         
            +
                script: "code-token__function",
         
     | 
| 
      
 5478 
     | 
    
         
            +
                selector: "code-token__selector",
         
     | 
| 
      
 5479 
     | 
    
         
            +
                string: "code-token__selector",
         
     | 
| 
      
 5480 
     | 
    
         
            +
                style: "code-token__function",
         
     | 
| 
      
 5481 
     | 
    
         
            +
                symbol: "code-token__property",
         
     | 
| 
      
 5482 
     | 
    
         
            +
                tag: "code-token__property",
         
     | 
| 
      
 5483 
     | 
    
         
            +
                title: "code-token__function",
         
     | 
| 
      
 5484 
     | 
    
         
            +
                url: "code-token__operator",
         
     | 
| 
      
 5485 
     | 
    
         
            +
                variable: "code-token__variable",
         
     | 
| 
       5443 
5486 
     | 
    
         
             
              }
         
     | 
| 
       5444 
5487 
     | 
    
         
             
            };
         
     | 
| 
       5445 
5488 
     | 
    
         | 
| 
       5446 
     | 
    
         
            -
            function bytesToHumanSize(bytes) {
         
     | 
| 
       5447 
     | 
    
         
            -
              if (bytes === 0) return "0 B"
         
     | 
| 
       5448 
     | 
    
         
            -
              const sizes = [ "B", "KB", "MB", "GB", "TB", "PB" ];
         
     | 
| 
       5449 
     | 
    
         
            -
              const i = Math.floor(Math.log(bytes) / Math.log(1024));
         
     | 
| 
       5450 
     | 
    
         
            -
              const value = bytes / Math.pow(1024, i);
         
     | 
| 
       5451 
     | 
    
         
            -
              return `${ value.toFixed(2) } ${ sizes[i] }`
         
     | 
| 
       5452 
     | 
    
         
            -
            }
         
     | 
| 
       5453 
     | 
    
         
            -
             
     | 
| 
       5454 
5489 
     | 
    
         
             
            const VISUALLY_RELEVANT_ELEMENTS_SELECTOR = [
         
     | 
| 
       5455 
5490 
     | 
    
         
             
              "img", "video", "audio", "iframe", "embed", "object", "picture", "source", "canvas", "svg", "math",
         
     | 
| 
       5456 
     | 
    
         
            -
              "form", "input", "textarea", "select", "button", "code", "blockquote"
         
     | 
| 
      
 5491 
     | 
    
         
            +
              "form", "input", "textarea", "select", "button", "code", "blockquote", "hr"
         
     | 
| 
       5457 
5492 
     | 
    
         
             
            ].join(",");
         
     | 
| 
       5458 
5493 
     | 
    
         | 
| 
       5459 
5494 
     | 
    
         
             
            const ALLOWED_HTML_TAGS = [ "a", "action-text-attachment", "b", "blockquote", "br", "code", "em",
         
     | 
| 
       5460 
     | 
    
         
            -
              "figcaption", "figure", "h1", "h2", "h3", "h4", "h5", "h6", "i", "img", "li", "ol", "p", "pre", "q", "strong", "ul" ];
         
     | 
| 
      
 5495 
     | 
    
         
            +
              "figcaption", "figure", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "ol", "p", "pre", "q", "s", "strong", "ul" ];
         
     | 
| 
       5461 
5496 
     | 
    
         | 
| 
       5462 
5497 
     | 
    
         
             
            const ALLOWED_HTML_ATTRIBUTES = [ "alt", "caption", "class", "content", "content-type", "contenteditable",
         
     | 
| 
       5463 
5498 
     | 
    
         
             
              "data-direct-upload-id", "data-sgid", "filename", "filesize", "height", "href", "presentation",
         
     | 
| 
         @@ -5481,9 +5516,9 @@ function parseHtml(html) { 
     | 
|
| 
       5481 
5516 
     | 
    
         
             
            }
         
     | 
| 
       5482 
5517 
     | 
    
         | 
| 
       5483 
5518 
     | 
    
         
             
            function createAttachmentFigure(contentType, isPreviewable, fileName) {
         
     | 
| 
       5484 
     | 
    
         
            -
              const extension = fileName ? fileName.split( 
     | 
| 
      
 5519 
     | 
    
         
            +
              const extension = fileName ? fileName.split(".").pop().toLowerCase() : "unknown";
         
     | 
| 
       5485 
5520 
     | 
    
         
             
              return createElement("figure", {
         
     | 
| 
       5486 
     | 
    
         
            -
                className: `attachment attachment--${isPreviewable ?  
     | 
| 
      
 5521 
     | 
    
         
            +
                className: `attachment attachment--${isPreviewable ? "preview" : "file"} attachment--${extension}`,
         
     | 
| 
       5487 
5522 
     | 
    
         
             
                "data-content-type": contentType
         
     | 
| 
       5488 
5523 
     | 
    
         
             
              })
         
     | 
| 
       5489 
5524 
     | 
    
         
             
            }
         
     | 
| 
         @@ -5523,13 +5558,21 @@ function generateDomId(prefix) { 
     | 
|
| 
       5523 
5558 
     | 
    
         
             
              return `${prefix}-${randomPart}`
         
     | 
| 
       5524 
5559 
     | 
    
         
             
            }
         
     | 
| 
       5525 
5560 
     | 
    
         | 
| 
      
 5561 
     | 
    
         
            +
            function bytesToHumanSize(bytes) {
         
     | 
| 
      
 5562 
     | 
    
         
            +
              if (bytes === 0) return "0 B"
         
     | 
| 
      
 5563 
     | 
    
         
            +
              const sizes = [ "B", "KB", "MB", "GB", "TB", "PB" ];
         
     | 
| 
      
 5564 
     | 
    
         
            +
              const i = Math.floor(Math.log(bytes) / Math.log(1024));
         
     | 
| 
      
 5565 
     | 
    
         
            +
              const value = bytes / Math.pow(1024, i);
         
     | 
| 
      
 5566 
     | 
    
         
            +
              return `${ value.toFixed(2) } ${ sizes[i] }`
         
     | 
| 
      
 5567 
     | 
    
         
            +
            }
         
     | 
| 
      
 5568 
     | 
    
         
            +
             
     | 
| 
       5526 
5569 
     | 
    
         
             
            class ActionTextAttachmentNode extends gi {
         
     | 
| 
       5527 
5570 
     | 
    
         
             
              static getType() {
         
     | 
| 
       5528 
5571 
     | 
    
         
             
                return "action_text_attachment"
         
     | 
| 
       5529 
5572 
     | 
    
         
             
              }
         
     | 
| 
       5530 
5573 
     | 
    
         | 
| 
       5531 
5574 
     | 
    
         
             
              static clone(node) {
         
     | 
| 
       5532 
     | 
    
         
            -
                return new ActionTextAttachmentNode({ ...node }, node.__key) 
     | 
| 
      
 5575 
     | 
    
         
            +
                return new ActionTextAttachmentNode({ ...node }, node.__key)
         
     | 
| 
       5533 
5576 
     | 
    
         
             
              }
         
     | 
| 
       5534 
5577 
     | 
    
         | 
| 
       5535 
5578 
     | 
    
         
             
              static importJSON(serializedNode) {
         
     | 
| 
         @@ -5570,6 +5613,22 @@ class ActionTextAttachmentNode extends gi { 
     | 
|
| 
       5570 
5613 
     | 
    
         
             
                      }),
         
     | 
| 
       5571 
5614 
     | 
    
         
             
                      priority: 1
         
     | 
| 
       5572 
5615 
     | 
    
         
             
                    }
         
     | 
| 
      
 5616 
     | 
    
         
            +
                  },
         
     | 
| 
      
 5617 
     | 
    
         
            +
                  "video": (video) => {
         
     | 
| 
      
 5618 
     | 
    
         
            +
                    const videoSource = video.getAttribute("src") || video.querySelector("source")?.src;
         
     | 
| 
      
 5619 
     | 
    
         
            +
                    const fileName = videoSource?.split("/")?.pop();
         
     | 
| 
      
 5620 
     | 
    
         
            +
                    const contentType = video.querySelector("source")?.getAttribute("content-type") || "video/*";
         
     | 
| 
      
 5621 
     | 
    
         
            +
             
     | 
| 
      
 5622 
     | 
    
         
            +
                    return {
         
     | 
| 
      
 5623 
     | 
    
         
            +
                      conversion: () => ({
         
     | 
| 
      
 5624 
     | 
    
         
            +
                        node: new ActionTextAttachmentNode({
         
     | 
| 
      
 5625 
     | 
    
         
            +
                          src: videoSource,
         
     | 
| 
      
 5626 
     | 
    
         
            +
                          fileName: fileName,
         
     | 
| 
      
 5627 
     | 
    
         
            +
                          contentType: contentType
         
     | 
| 
      
 5628 
     | 
    
         
            +
                        })
         
     | 
| 
      
 5629 
     | 
    
         
            +
                      }),
         
     | 
| 
      
 5630 
     | 
    
         
            +
                      priority: 1
         
     | 
| 
      
 5631 
     | 
    
         
            +
                    }
         
     | 
| 
       5573 
5632 
     | 
    
         
             
                  }
         
     | 
| 
       5574 
5633 
     | 
    
         
             
                }
         
     | 
| 
       5575 
5634 
     | 
    
         
             
              }
         
     | 
| 
         @@ -5667,7 +5726,7 @@ class ActionTextAttachmentNode extends gi { 
     | 
|
| 
       5667 
5726 
     | 
    
         
             
              }
         
     | 
| 
       5668 
5727 
     | 
    
         | 
| 
       5669 
5728 
     | 
    
         
             
              #createDOMForImage() {
         
     | 
| 
       5670 
     | 
    
         
            -
                return createElement("img", { src: this.src, alt: this.altText, ...this.#imageDimensions})
         
     | 
| 
      
 5729 
     | 
    
         
            +
                return createElement("img", { src: this.src, alt: this.altText, ...this.#imageDimensions })
         
     | 
| 
       5671 
5730 
     | 
    
         
             
              }
         
     | 
| 
       5672 
5731 
     | 
    
         | 
| 
       5673 
5732 
     | 
    
         
             
              get #imageDimensions() {
         
     | 
| 
         @@ -5679,18 +5738,21 @@ class ActionTextAttachmentNode extends gi { 
     | 
|
| 
       5679 
5738 
     | 
    
         
             
              }
         
     | 
| 
       5680 
5739 
     | 
    
         | 
| 
       5681 
5740 
     | 
    
         
             
              #createDOMForFile() {
         
     | 
| 
       5682 
     | 
    
         
            -
                const extension = this.fileName ? this.fileName.split( 
     | 
| 
       5683 
     | 
    
         
            -
                return createElement("span", { className: "attachment__icon", textContent: `${extension}`})
         
     | 
| 
      
 5741 
     | 
    
         
            +
                const extension = this.fileName ? this.fileName.split(".").pop().toLowerCase() : "unknown";
         
     | 
| 
      
 5742 
     | 
    
         
            +
                return createElement("span", { className: "attachment__icon", textContent: `${extension}` })
         
     | 
| 
       5684 
5743 
     | 
    
         
             
              }
         
     | 
| 
       5685 
5744 
     | 
    
         | 
| 
       5686 
5745 
     | 
    
         
             
              #createDOMForNotImage() {
         
     | 
| 
       5687 
5746 
     | 
    
         
             
                const figcaption = createElement("figcaption", { className: "attachment__caption" });
         
     | 
| 
       5688 
5747 
     | 
    
         | 
| 
       5689 
5748 
     | 
    
         
             
                const nameTag = createElement("strong", { className: "attachment__name", textContent: this.caption || this.fileName });
         
     | 
| 
       5690 
     | 
    
         
            -
                const sizeSpan = createElement("span", { className: "attachment__size", textContent: bytesToHumanSize(this.fileSize) });
         
     | 
| 
       5691 
5749 
     | 
    
         | 
| 
       5692 
5750 
     | 
    
         
             
                figcaption.appendChild(nameTag);
         
     | 
| 
       5693 
     | 
    
         
            -
             
     | 
| 
      
 5751 
     | 
    
         
            +
             
     | 
| 
      
 5752 
     | 
    
         
            +
                if (this.fileSize) {
         
     | 
| 
      
 5753 
     | 
    
         
            +
                  const sizeSpan = createElement("span", { className: "attachment__size", textContent: bytesToHumanSize(this.fileSize) });
         
     | 
| 
      
 5754 
     | 
    
         
            +
                  figcaption.appendChild(sizeSpan);
         
     | 
| 
      
 5755 
     | 
    
         
            +
                }
         
     | 
| 
       5694 
5756 
     | 
    
         | 
| 
       5695 
5757 
     | 
    
         
             
                return figcaption
         
     | 
| 
       5696 
5758 
     | 
    
         
             
              }
         
     | 
| 
         @@ -5717,9 +5779,6 @@ class ActionTextAttachmentNode extends gi { 
     | 
|
| 
       5717 
5779 
     | 
    
         
             
                return caption
         
     | 
| 
       5718 
5780 
     | 
    
         
             
              }
         
     | 
| 
       5719 
5781 
     | 
    
         | 
| 
       5720 
     | 
    
         
            -
              #updateCaption(input) {
         
     | 
| 
       5721 
     | 
    
         
            -
              }
         
     | 
| 
       5722 
     | 
    
         
            -
             
     | 
| 
       5723 
5782 
     | 
    
         
             
              #handleCaptionInputBlurred(event) {
         
     | 
| 
       5724 
5783 
     | 
    
         
             
                const input = event.target;
         
     | 
| 
       5725 
5784 
     | 
    
         | 
| 
         @@ -5763,7 +5822,7 @@ class ActionTextAttachmentUploadNode extends ActionTextAttachmentNode { 
     | 
|
| 
       5763 
5822 
     | 
    
         
             
              }
         
     | 
| 
       5764 
5823 
     | 
    
         | 
| 
       5765 
5824 
     | 
    
         
             
              static clone(node) {
         
     | 
| 
       5766 
     | 
    
         
            -
                return new ActionTextAttachmentUploadNode({ ...node }, node.__key) 
     | 
| 
      
 5825 
     | 
    
         
            +
                return new ActionTextAttachmentUploadNode({ ...node }, node.__key)
         
     | 
| 
       5767 
5826 
     | 
    
         
             
              }
         
     | 
| 
       5768 
5827 
     | 
    
         | 
| 
       5769 
5828 
     | 
    
         
             
              constructor({ file, uploadUrl, blobUrlTemplate, editor, progress }, key) {
         
     | 
| 
         @@ -5816,7 +5875,7 @@ class ActionTextAttachmentUploadNode extends ActionTextAttachmentNode { 
     | 
|
| 
       5816 
5875 
     | 
    
         
             
              }
         
     | 
| 
       5817 
5876 
     | 
    
         | 
| 
       5818 
5877 
     | 
    
         
             
              #getFileExtension() {
         
     | 
| 
       5819 
     | 
    
         
            -
                return this.file.name.split( 
     | 
| 
      
 5878 
     | 
    
         
            +
                return this.file.name.split(".").pop().toLowerCase()
         
     | 
| 
       5820 
5879 
     | 
    
         
             
              }
         
     | 
| 
       5821 
5880 
     | 
    
         | 
| 
       5822 
5881 
     | 
    
         
             
              #createCaption() {
         
     | 
| 
         @@ -5846,7 +5905,7 @@ class ActionTextAttachmentUploadNode extends ActionTextAttachmentNode { 
     | 
|
| 
       5846 
5905 
     | 
    
         
             
                  directUploadWillStoreFileWithXHR: (request) => {
         
     | 
| 
       5847 
5906 
     | 
    
         
             
                    request.upload.addEventListener("progress", (event) => {
         
     | 
| 
       5848 
5907 
     | 
    
         
             
                      this.editor.update(() => {
         
     | 
| 
       5849 
     | 
    
         
            -
                        progressBar.value = Math.round( 
     | 
| 
      
 5908 
     | 
    
         
            +
                        progressBar.value = Math.round(event.loaded / event.total * 100);
         
     | 
| 
       5850 
5909 
     | 
    
         
             
                      });
         
     | 
| 
       5851 
5910 
     | 
    
         
             
                    });
         
     | 
| 
       5852 
5911 
     | 
    
         
             
                  }
         
     | 
| 
         @@ -5911,17 +5970,89 @@ class ActionTextAttachmentUploadNode extends ActionTextAttachmentNode { 
     | 
|
| 
       5911 
5970 
     | 
    
         
             
              }
         
     | 
| 
       5912 
5971 
     | 
    
         
             
            }
         
     | 
| 
       5913 
5972 
     | 
    
         | 
| 
      
 5973 
     | 
    
         
            +
            class HorizontalDividerNode extends gi {
         
     | 
| 
      
 5974 
     | 
    
         
            +
              static getType() {
         
     | 
| 
      
 5975 
     | 
    
         
            +
                return "horizontal_divider"
         
     | 
| 
      
 5976 
     | 
    
         
            +
              }
         
     | 
| 
      
 5977 
     | 
    
         
            +
             
     | 
| 
      
 5978 
     | 
    
         
            +
              static clone(node) {
         
     | 
| 
      
 5979 
     | 
    
         
            +
                return new HorizontalDividerNode(node.__key)
         
     | 
| 
      
 5980 
     | 
    
         
            +
              }
         
     | 
| 
      
 5981 
     | 
    
         
            +
             
     | 
| 
      
 5982 
     | 
    
         
            +
              static importJSON(serializedNode) {
         
     | 
| 
      
 5983 
     | 
    
         
            +
                return new HorizontalDividerNode()
         
     | 
| 
      
 5984 
     | 
    
         
            +
              }
         
     | 
| 
      
 5985 
     | 
    
         
            +
             
     | 
| 
      
 5986 
     | 
    
         
            +
              static importDOM() {
         
     | 
| 
      
 5987 
     | 
    
         
            +
                return {
         
     | 
| 
      
 5988 
     | 
    
         
            +
                  "hr": (hr) => {
         
     | 
| 
      
 5989 
     | 
    
         
            +
                    return {
         
     | 
| 
      
 5990 
     | 
    
         
            +
                      conversion: () => ({
         
     | 
| 
      
 5991 
     | 
    
         
            +
                        node: new HorizontalDividerNode()
         
     | 
| 
      
 5992 
     | 
    
         
            +
                      }),
         
     | 
| 
      
 5993 
     | 
    
         
            +
                      priority: 1
         
     | 
| 
      
 5994 
     | 
    
         
            +
                    }
         
     | 
| 
      
 5995 
     | 
    
         
            +
                  }
         
     | 
| 
      
 5996 
     | 
    
         
            +
                }
         
     | 
| 
      
 5997 
     | 
    
         
            +
              }
         
     | 
| 
      
 5998 
     | 
    
         
            +
             
     | 
| 
      
 5999 
     | 
    
         
            +
              constructor(key) {
         
     | 
| 
      
 6000 
     | 
    
         
            +
                super(key);
         
     | 
| 
      
 6001 
     | 
    
         
            +
              }
         
     | 
| 
      
 6002 
     | 
    
         
            +
             
     | 
| 
      
 6003 
     | 
    
         
            +
              createDOM() {
         
     | 
| 
      
 6004 
     | 
    
         
            +
                const figure = createElement("figure", { className: "horizontal-divider" });
         
     | 
| 
      
 6005 
     | 
    
         
            +
                const hr = createElement("hr");
         
     | 
| 
      
 6006 
     | 
    
         
            +
             
     | 
| 
      
 6007 
     | 
    
         
            +
                figure.addEventListener("click", (event) => {
         
     | 
| 
      
 6008 
     | 
    
         
            +
                  dispatchCustomEvent(figure, "lexxy:internal:select-node", { key: this.getKey() });
         
     | 
| 
      
 6009 
     | 
    
         
            +
                });
         
     | 
| 
      
 6010 
     | 
    
         
            +
             
     | 
| 
      
 6011 
     | 
    
         
            +
                figure.appendChild(hr);
         
     | 
| 
      
 6012 
     | 
    
         
            +
             
     | 
| 
      
 6013 
     | 
    
         
            +
                return figure
         
     | 
| 
      
 6014 
     | 
    
         
            +
              }
         
     | 
| 
      
 6015 
     | 
    
         
            +
             
     | 
| 
      
 6016 
     | 
    
         
            +
              updateDOM() {
         
     | 
| 
      
 6017 
     | 
    
         
            +
                return true
         
     | 
| 
      
 6018 
     | 
    
         
            +
              }
         
     | 
| 
      
 6019 
     | 
    
         
            +
             
     | 
| 
      
 6020 
     | 
    
         
            +
              isInline() {
         
     | 
| 
      
 6021 
     | 
    
         
            +
                return false
         
     | 
| 
      
 6022 
     | 
    
         
            +
              }
         
     | 
| 
      
 6023 
     | 
    
         
            +
             
     | 
| 
      
 6024 
     | 
    
         
            +
              exportDOM() {
         
     | 
| 
      
 6025 
     | 
    
         
            +
                const hr = createElement("hr");
         
     | 
| 
      
 6026 
     | 
    
         
            +
                return { element: hr }
         
     | 
| 
      
 6027 
     | 
    
         
            +
              }
         
     | 
| 
      
 6028 
     | 
    
         
            +
             
     | 
| 
      
 6029 
     | 
    
         
            +
              exportJSON() {
         
     | 
| 
      
 6030 
     | 
    
         
            +
                return {
         
     | 
| 
      
 6031 
     | 
    
         
            +
                  type: "horizontal_divider",
         
     | 
| 
      
 6032 
     | 
    
         
            +
                  version: 1
         
     | 
| 
      
 6033 
     | 
    
         
            +
                }
         
     | 
| 
      
 6034 
     | 
    
         
            +
              }
         
     | 
| 
      
 6035 
     | 
    
         
            +
             
     | 
| 
      
 6036 
     | 
    
         
            +
              decorate() {
         
     | 
| 
      
 6037 
     | 
    
         
            +
                return null
         
     | 
| 
      
 6038 
     | 
    
         
            +
              }
         
     | 
| 
      
 6039 
     | 
    
         
            +
            }
         
     | 
| 
      
 6040 
     | 
    
         
            +
             
     | 
| 
       5914 
6041 
     | 
    
         
             
            const COMMANDS = [
         
     | 
| 
       5915 
6042 
     | 
    
         
             
              "bold",
         
     | 
| 
       5916 
     | 
    
         
            -
              "rotateHeadingFormat",
         
     | 
| 
       5917 
6043 
     | 
    
         
             
              "italic",
         
     | 
| 
      
 6044 
     | 
    
         
            +
              "strikethrough",
         
     | 
| 
       5918 
6045 
     | 
    
         
             
              "link",
         
     | 
| 
       5919 
6046 
     | 
    
         
             
              "unlink",
         
     | 
| 
      
 6047 
     | 
    
         
            +
              "rotateHeadingFormat",
         
     | 
| 
       5920 
6048 
     | 
    
         
             
              "insertUnorderedList",
         
     | 
| 
       5921 
6049 
     | 
    
         
             
              "insertOrderedList",
         
     | 
| 
       5922 
6050 
     | 
    
         
             
              "insertQuoteBlock",
         
     | 
| 
       5923 
6051 
     | 
    
         
             
              "insertCodeBlock",
         
     | 
| 
       5924 
     | 
    
         
            -
              " 
     | 
| 
      
 6052 
     | 
    
         
            +
              "insertHorizontalDivider",
         
     | 
| 
      
 6053 
     | 
    
         
            +
              "uploadAttachments",
         
     | 
| 
      
 6054 
     | 
    
         
            +
              "undo",
         
     | 
| 
      
 6055 
     | 
    
         
            +
              "redo"
         
     | 
| 
       5925 
6056 
     | 
    
         
             
            ];
         
     | 
| 
       5926 
6057 
     | 
    
         | 
| 
       5927 
6058 
     | 
    
         
             
            class CommandDispatcher {
         
     | 
| 
         @@ -5952,6 +6083,10 @@ class CommandDispatcher { 
     | 
|
| 
       5952 
6083 
     | 
    
         
             
                this.editor.dispatchCommand(me, "italic");
         
     | 
| 
       5953 
6084 
     | 
    
         
             
              }
         
     | 
| 
       5954 
6085 
     | 
    
         | 
| 
      
 6086 
     | 
    
         
            +
              dispatchStrikethrough() {
         
     | 
| 
      
 6087 
     | 
    
         
            +
                this.editor.dispatchCommand(me, "strikethrough");
         
     | 
| 
      
 6088 
     | 
    
         
            +
              }
         
     | 
| 
      
 6089 
     | 
    
         
            +
             
     | 
| 
       5955 
6090 
     | 
    
         
             
              dispatchLink(url) {
         
     | 
| 
       5956 
6091 
     | 
    
         
             
                this.#toggleLink(url);
         
     | 
| 
       5957 
6092 
     | 
    
         
             
              }
         
     | 
| 
         @@ -5962,7 +6097,7 @@ class CommandDispatcher { 
     | 
|
| 
       5962 
6097 
     | 
    
         | 
| 
       5963 
6098 
     | 
    
         
             
              dispatchInsertUnorderedList() {
         
     | 
| 
       5964 
6099 
     | 
    
         
             
                const selection = Nr();
         
     | 
| 
       5965 
     | 
    
         
            -
                if (!selection) return 
     | 
| 
      
 6100 
     | 
    
         
            +
                if (!selection) return
         
     | 
| 
       5966 
6101 
     | 
    
         | 
| 
       5967 
6102 
     | 
    
         
             
                const anchorNode = selection.anchor.getNode();
         
     | 
| 
       5968 
6103 
     | 
    
         | 
| 
         @@ -5975,7 +6110,7 @@ class CommandDispatcher { 
     | 
|
| 
       5975 
6110 
     | 
    
         | 
| 
       5976 
6111 
     | 
    
         
             
              dispatchInsertOrderedList() {
         
     | 
| 
       5977 
6112 
     | 
    
         
             
                const selection = Nr();
         
     | 
| 
       5978 
     | 
    
         
            -
                if (!selection) return 
     | 
| 
      
 6113 
     | 
    
         
            +
                if (!selection) return
         
     | 
| 
       5979 
6114 
     | 
    
         | 
| 
       5980 
6115 
     | 
    
         
             
                const anchorNode = selection.anchor.getNode();
         
     | 
| 
       5981 
6116 
     | 
    
         | 
| 
         @@ -6000,6 +6135,12 @@ class CommandDispatcher { 
     | 
|
| 
       6000 
6135 
     | 
    
         
             
                });
         
     | 
| 
       6001 
6136 
     | 
    
         
             
              }
         
     | 
| 
       6002 
6137 
     | 
    
         | 
| 
      
 6138 
     | 
    
         
            +
              dispatchInsertHorizontalDivider() {
         
     | 
| 
      
 6139 
     | 
    
         
            +
                this.editor.update(() => {
         
     | 
| 
      
 6140 
     | 
    
         
            +
                  this.contents.insertAtCursor(new HorizontalDividerNode());
         
     | 
| 
      
 6141 
     | 
    
         
            +
                });
         
     | 
| 
      
 6142 
     | 
    
         
            +
              }
         
     | 
| 
      
 6143 
     | 
    
         
            +
             
     | 
| 
       6003 
6144 
     | 
    
         
             
              dispatchRotateHeadingFormat() {
         
     | 
| 
       6004 
6145 
     | 
    
         
             
                this.editor.update(() => {
         
     | 
| 
       6005 
6146 
     | 
    
         
             
                  const selection = Nr();
         
     | 
| 
         @@ -6047,6 +6188,14 @@ class CommandDispatcher { 
     | 
|
| 
       6047 
6188 
     | 
    
         
             
                setTimeout(() => input.remove(), 1000);
         
     | 
| 
       6048 
6189 
     | 
    
         
             
              }
         
     | 
| 
       6049 
6190 
     | 
    
         | 
| 
      
 6191 
     | 
    
         
            +
              dispatchUndo() {
         
     | 
| 
      
 6192 
     | 
    
         
            +
                this.editor.dispatchCommand(xe$1, undefined);
         
     | 
| 
      
 6193 
     | 
    
         
            +
              }
         
     | 
| 
      
 6194 
     | 
    
         
            +
             
     | 
| 
      
 6195 
     | 
    
         
            +
              dispatchRedo() {
         
     | 
| 
      
 6196 
     | 
    
         
            +
                this.editor.dispatchCommand(Ce$1, undefined);
         
     | 
| 
      
 6197 
     | 
    
         
            +
              }
         
     | 
| 
      
 6198 
     | 
    
         
            +
             
     | 
| 
       6050 
6199 
     | 
    
         
             
              #registerCommands() {
         
     | 
| 
       6051 
6200 
     | 
    
         
             
                for (const command of COMMANDS) {
         
     | 
| 
       6052 
6201 
     | 
    
         
             
                  const methodName = `dispatch${capitalize(command)}`;
         
     | 
| 
         @@ -6404,11 +6553,11 @@ class Selection { 
     | 
|
| 
       6404 
6553 
     | 
    
         
             
                // above when navigating UP/DOWN when Lexical shows its fake cursor on custom decorator nodes.
         
     | 
| 
       6405 
6554 
     | 
    
         
             
                this.editorContentElement.addEventListener("keydown", (event) => {
         
     | 
| 
       6406 
6555 
     | 
    
         
             
                  if (event.key === "ArrowUp") {
         
     | 
| 
       6407 
     | 
    
         
            -
                    const lexicalCursor = this.editor.getRootElement().querySelector( 
     | 
| 
      
 6556 
     | 
    
         
            +
                    const lexicalCursor = this.editor.getRootElement().querySelector("[data-lexical-cursor]");
         
     | 
| 
       6408 
6557 
     | 
    
         | 
| 
       6409 
6558 
     | 
    
         
             
                    if (lexicalCursor) {
         
     | 
| 
       6410 
6559 
     | 
    
         
             
                      let currentElement = lexicalCursor.previousElementSibling;
         
     | 
| 
       6411 
     | 
    
         
            -
                      while (currentElement && currentElement.hasAttribute( 
     | 
| 
      
 6560 
     | 
    
         
            +
                      while (currentElement && currentElement.hasAttribute("data-lexical-cursor")) {
         
     | 
| 
       6412 
6561 
     | 
    
         
             
                        currentElement = currentElement.previousElementSibling;
         
     | 
| 
       6413 
6562 
     | 
    
         
             
                      }
         
     | 
| 
       6414 
6563 
     | 
    
         | 
| 
         @@ -6419,11 +6568,11 @@ class Selection { 
     | 
|
| 
       6419 
6568 
     | 
    
         
             
                  }
         
     | 
| 
       6420 
6569 
     | 
    
         | 
| 
       6421 
6570 
     | 
    
         
             
                  if (event.key === "ArrowDown") {
         
     | 
| 
       6422 
     | 
    
         
            -
                    const lexicalCursor = this.editor.getRootElement().querySelector( 
     | 
| 
      
 6571 
     | 
    
         
            +
                    const lexicalCursor = this.editor.getRootElement().querySelector("[data-lexical-cursor]");
         
     | 
| 
       6423 
6572 
     | 
    
         | 
| 
       6424 
6573 
     | 
    
         
             
                    if (lexicalCursor) {
         
     | 
| 
       6425 
6574 
     | 
    
         
             
                      let currentElement = lexicalCursor.nextElementSibling;
         
     | 
| 
       6426 
     | 
    
         
            -
                      while (currentElement && currentElement.hasAttribute( 
     | 
| 
      
 6575 
     | 
    
         
            +
                      while (currentElement && currentElement.hasAttribute("data-lexical-cursor")) {
         
     | 
| 
       6427 
6576 
     | 
    
         
             
                        currentElement = currentElement.nextElementSibling;
         
     | 
| 
       6428 
6577 
     | 
    
         
             
                      }
         
     | 
| 
       6429 
6578 
     | 
    
         | 
| 
         @@ -6611,7 +6760,7 @@ class Selection { 
     | 
|
| 
       6611 
6760 
     | 
    
         
             
              }
         
     | 
| 
       6612 
6761 
     | 
    
         | 
| 
       6613 
6762 
     | 
    
         
             
              #isRectUnreliable(rect) {
         
     | 
| 
       6614 
     | 
    
         
            -
                return  
     | 
| 
      
 6763 
     | 
    
         
            +
                return rect.width === 0 && rect.height === 0 || rect.top === 0 && rect.left === 0
         
     | 
| 
       6615 
6764 
     | 
    
         
             
              }
         
     | 
| 
       6616 
6765 
     | 
    
         | 
| 
       6617 
6766 
     | 
    
         
             
              #createAndInsertMarker(range) {
         
     | 
| 
         @@ -6642,7 +6791,7 @@ class Selection { 
     | 
|
| 
       6642 
6791 
     | 
    
         | 
| 
       6643 
6792 
     | 
    
         
             
              #calculateCursorPosition(rect, range) {
         
     | 
| 
       6644 
6793 
     | 
    
         
             
                const rootRect = this.editor.getRootElement().getBoundingClientRect();
         
     | 
| 
       6645 
     | 
    
         
            -
                 
     | 
| 
      
 6794 
     | 
    
         
            +
                const x = rect.left - rootRect.left;
         
     | 
| 
       6646 
6795 
     | 
    
         
             
                let y = rect.top - rootRect.top;
         
     | 
| 
       6647 
6796 
     | 
    
         | 
| 
       6648 
6797 
     | 
    
         
             
                const fontSize = this.#getFontSizeForCursor(range);
         
     | 
| 
         @@ -6857,6 +7006,23 @@ class Contents { 
     | 
|
| 
       6857 
7006 
     | 
    
         
             
                });
         
     | 
| 
       6858 
7007 
     | 
    
         
             
              }
         
     | 
| 
       6859 
7008 
     | 
    
         | 
| 
      
 7009 
     | 
    
         
            +
              insertAtCursor(node) {
         
     | 
| 
      
 7010 
     | 
    
         
            +
                this.editor.update(() => {
         
     | 
| 
      
 7011 
     | 
    
         
            +
                  const selection = Nr();
         
     | 
| 
      
 7012 
     | 
    
         
            +
                  const selectedNodes = selection?.getNodes();
         
     | 
| 
      
 7013 
     | 
    
         
            +
             
     | 
| 
      
 7014 
     | 
    
         
            +
                  if (cr(selection)) {
         
     | 
| 
      
 7015 
     | 
    
         
            +
                    Fr([ node ]);
         
     | 
| 
      
 7016 
     | 
    
         
            +
                  } else if (ur(selection) && selectedNodes && selectedNodes.length > 0) {
         
     | 
| 
      
 7017 
     | 
    
         
            +
                    const lastNode = selectedNodes[selectedNodes.length - 1];
         
     | 
| 
      
 7018 
     | 
    
         
            +
                    lastNode.insertAfter(node);
         
     | 
| 
      
 7019 
     | 
    
         
            +
                  } else {
         
     | 
| 
      
 7020 
     | 
    
         
            +
                    const root = ps();
         
     | 
| 
      
 7021 
     | 
    
         
            +
                    root.append(node);
         
     | 
| 
      
 7022 
     | 
    
         
            +
                  }
         
     | 
| 
      
 7023 
     | 
    
         
            +
                });
         
     | 
| 
      
 7024 
     | 
    
         
            +
              }
         
     | 
| 
      
 7025 
     | 
    
         
            +
             
     | 
| 
       6860 
7026 
     | 
    
         
             
              insertNodeWrappingEachSelectedLine(newNodeFn) {
         
     | 
| 
       6861 
7027 
     | 
    
         
             
                this.editor.update(() => {
         
     | 
| 
       6862 
7028 
     | 
    
         
             
                  const selection = Nr();
         
     | 
| 
         @@ -6928,22 +7094,6 @@ class Contents { 
     | 
|
| 
       6928 
7094 
     | 
    
         
             
                return result
         
     | 
| 
       6929 
7095 
     | 
    
         
             
              }
         
     | 
| 
       6930 
7096 
     | 
    
         | 
| 
       6931 
     | 
    
         
            -
              hasSelectedWords() {
         
     | 
| 
       6932 
     | 
    
         
            -
                let result = false;
         
     | 
| 
       6933 
     | 
    
         
            -
             
     | 
| 
       6934 
     | 
    
         
            -
                this.editor.update(() => {
         
     | 
| 
       6935 
     | 
    
         
            -
                  const selection = Nr();
         
     | 
| 
       6936 
     | 
    
         
            -
                  if (!cr(selection)) return
         
     | 
| 
       6937 
     | 
    
         
            -
             
     | 
| 
       6938 
     | 
    
         
            -
                  // Check if we have selected text within a line (not entire lines)
         
     | 
| 
       6939 
     | 
    
         
            -
                  result = !selection.isCollapsed() &&
         
     | 
| 
       6940 
     | 
    
         
            -
                    selection.anchor.getNode().getTopLevelElement() ===
         
     | 
| 
       6941 
     | 
    
         
            -
                    selection.focus.getNode().getTopLevelElement();
         
     | 
| 
       6942 
     | 
    
         
            -
                });
         
     | 
| 
       6943 
     | 
    
         
            -
             
     | 
| 
       6944 
     | 
    
         
            -
                return result
         
     | 
| 
       6945 
     | 
    
         
            -
              }
         
     | 
| 
       6946 
     | 
    
         
            -
             
     | 
| 
       6947 
7097 
     | 
    
         
             
              unwrapSelectedListItems() {
         
     | 
| 
       6948 
7098 
     | 
    
         
             
                this.editor.update(() => {
         
     | 
| 
       6949 
7099 
     | 
    
         
             
                  const selection = Nr();
         
     | 
| 
         @@ -6968,7 +7118,7 @@ class Contents { 
     | 
|
| 
       6968 
7118 
     | 
    
         | 
| 
       6969 
7119 
     | 
    
         
             
                  const selection = Nr();
         
     | 
| 
       6970 
7120 
     | 
    
         
             
                  if (cr(selection)) {
         
     | 
| 
       6971 
     | 
    
         
            -
                    selection.insertNodes([linkNode]);
         
     | 
| 
      
 7121 
     | 
    
         
            +
                    selection.insertNodes([ linkNode ]);
         
     | 
| 
       6972 
7122 
     | 
    
         
             
                    linkNodeKey = linkNode.getKey();
         
     | 
| 
       6973 
7123 
     | 
    
         
             
                  }
         
     | 
| 
       6974 
7124 
     | 
    
         
             
                });
         
     | 
| 
         @@ -7034,7 +7184,7 @@ class Contents { 
     | 
|
| 
       7034 
7184 
     | 
    
         
             
              }
         
     | 
| 
       7035 
7185 
     | 
    
         | 
| 
       7036 
7186 
     | 
    
         
             
              replaceTextBackUntil(stringToReplace, replacementNodes) {
         
     | 
| 
       7037 
     | 
    
         
            -
                replacementNodes = Array.isArray(replacementNodes) ? replacementNodes : [replacementNodes];
         
     | 
| 
      
 7187 
     | 
    
         
            +
                replacementNodes = Array.isArray(replacementNodes) ? replacementNodes : [ replacementNodes ];
         
     | 
| 
       7038 
7188 
     | 
    
         | 
| 
       7039 
7189 
     | 
    
         
             
                this.editor.update(() => {
         
     | 
| 
       7040 
7190 
     | 
    
         
             
                  const { anchorNode, offset } = this.#getTextAnchorData();
         
     | 
| 
         @@ -7085,20 +7235,8 @@ class Contents { 
     | 
|
| 
       7085 
7235 
     | 
    
         
             
                const blobUrlTemplate = this.editorElement.blobUrlTemplate;
         
     | 
| 
       7086 
7236 
     | 
    
         | 
| 
       7087 
7237 
     | 
    
         
             
                this.editor.update(() => {
         
     | 
| 
       7088 
     | 
    
         
            -
                  const selection = Nr();
         
     | 
| 
       7089 
     | 
    
         
            -
                  const anchorNode = selection?.anchor.getNode();
         
     | 
| 
       7090 
     | 
    
         
            -
                  const currentParagraph = anchorNode?.getTopLevelElement();
         
     | 
| 
       7091 
     | 
    
         
            -
             
     | 
| 
       7092 
7238 
     | 
    
         
             
                  const uploadedImageNode = new ActionTextAttachmentUploadNode({ file: file, uploadUrl: uploadUrl, blobUrlTemplate: blobUrlTemplate, editor: this.editor });
         
     | 
| 
       7093 
     | 
    
         
            -
             
     | 
| 
       7094 
     | 
    
         
            -
                  if (currentParagraph && Fi(currentParagraph) && currentParagraph.getChildrenSize() === 0) {
         
     | 
| 
       7095 
     | 
    
         
            -
                    // If we're inside an empty paragraph, replace it
         
     | 
| 
       7096 
     | 
    
         
            -
                    currentParagraph.replace(uploadedImageNode);
         
     | 
| 
       7097 
     | 
    
         
            -
                  } else if (currentParagraph && di(currentParagraph)) {
         
     | 
| 
       7098 
     | 
    
         
            -
                    currentParagraph.insertAfter(uploadedImageNode);
         
     | 
| 
       7099 
     | 
    
         
            -
                  } else {
         
     | 
| 
       7100 
     | 
    
         
            -
                    Fr([uploadedImageNode]);
         
     | 
| 
       7101 
     | 
    
         
            -
                  }
         
     | 
| 
      
 7239 
     | 
    
         
            +
                  this.insertAtCursor(uploadedImageNode);
         
     | 
| 
       7102 
7240 
     | 
    
         
             
                }, { tag: Ti });
         
     | 
| 
       7103 
7241 
     | 
    
         
             
              }
         
     | 
| 
       7104 
7242 
     | 
    
         | 
| 
         @@ -7178,7 +7316,7 @@ class Contents { 
     | 
|
| 
       7178 
7316 
     | 
    
         
             
                  wrappingNode.append(...topLevelElement.getChildren());
         
     | 
| 
       7179 
7317 
     | 
    
         
             
                  topLevelElement.replace(wrappingNode);
         
     | 
| 
       7180 
7318 
     | 
    
         
             
                } else {
         
     | 
| 
       7181 
     | 
    
         
            -
                  Fr([newNodeFn()]);
         
     | 
| 
      
 7319 
     | 
    
         
            +
                  Fr([ newNodeFn() ]);
         
     | 
| 
       7182 
7320 
     | 
    
         
             
                }
         
     | 
| 
       7183 
7321 
     | 
    
         
             
              }
         
     | 
| 
       7184 
7322 
     | 
    
         | 
| 
         @@ -7385,8 +7523,8 @@ class Contents { 
     | 
|
| 
       7385 
7523 
     | 
    
         
             
                firstParagraph.selectStart();
         
     | 
| 
       7386 
7524 
     | 
    
         
             
                const currentSelection = Nr();
         
     | 
| 
       7387 
7525 
     | 
    
         
             
                if (currentSelection && cr(currentSelection)) {
         
     | 
| 
       7388 
     | 
    
         
            -
                  currentSelection.anchor.set(firstParagraph.getKey(), 0,  
     | 
| 
       7389 
     | 
    
         
            -
                  currentSelection.focus.set(lastParagraph.getKey(), lastParagraph.getChildrenSize(),  
     | 
| 
      
 7526 
     | 
    
         
            +
                  currentSelection.anchor.set(firstParagraph.getKey(), 0, "element");
         
     | 
| 
      
 7527 
     | 
    
         
            +
                  currentSelection.focus.set(lastParagraph.getKey(), lastParagraph.getChildrenSize(), "element");
         
     | 
| 
       7390 
7528 
     | 
    
         
             
                }
         
     | 
| 
       7391 
7529 
     | 
    
         
             
              }
         
     | 
| 
       7392 
7530 
     | 
    
         | 
| 
         @@ -7440,14 +7578,14 @@ class Contents { 
     | 
|
| 
       7440 
7578 
     | 
    
         
             
                  const last = children[children.length - 1];
         
     | 
| 
       7441 
7579 
     | 
    
         
             
                  const beforeLast = children[children.length - 2];
         
     | 
| 
       7442 
7580 
     | 
    
         | 
| 
       7443 
     | 
    
         
            -
                  if ( 
     | 
| 
      
 7581 
     | 
    
         
            +
                  if (Qn(last) && last.getTextContent() === "" && (beforeLast && !Qn(beforeLast))) {
         
     | 
| 
       7444 
7582 
     | 
    
         
             
                    paragraph.append(Pn());
         
     | 
| 
       7445 
7583 
     | 
    
         
             
                  }
         
     | 
| 
       7446 
7584 
     | 
    
         
             
                }
         
     | 
| 
       7447 
7585 
     | 
    
         
             
              }
         
     | 
| 
       7448 
7586 
     | 
    
         | 
| 
       7449 
7587 
     | 
    
         
             
              #createCustomAttachmentNodeWithHtml(html, options = {}) {
         
     | 
| 
       7450 
     | 
    
         
            -
                const attachmentConfig = typeof options ===  
     | 
| 
      
 7588 
     | 
    
         
            +
                const attachmentConfig = typeof options === "object" ? options : {};
         
     | 
| 
       7451 
7589 
     | 
    
         | 
| 
       7452 
7590 
     | 
    
         
             
                return new CustomActionTextAttachmentNode({
         
     | 
| 
       7453 
7591 
     | 
    
         
             
                  sgid: attachmentConfig.sgid || null,
         
     | 
| 
         @@ -7462,7 +7600,7 @@ class Contents { 
     | 
|
| 
       7462 
7600 
     | 
    
         
             
              }
         
     | 
| 
       7463 
7601 
     | 
    
         | 
| 
       7464 
7602 
     | 
    
         
             
              #shouldUploadFile(file) {
         
     | 
| 
       7465 
     | 
    
         
            -
                return dispatch(this.editorElement,  
     | 
| 
      
 7603 
     | 
    
         
            +
                return dispatch(this.editorElement, "lexxy:file-accept", { file }, true)
         
     | 
| 
       7466 
7604 
     | 
    
         
             
              }
         
     | 
| 
       7467 
7605 
     | 
    
         
             
            }
         
     | 
| 
       7468 
7606 
     | 
    
         | 
| 
         @@ -7542,7 +7680,7 @@ function isUrl(string) { 
     | 
|
| 
       7542 
7680 
     | 
    
         
             
              try {
         
     | 
| 
       7543 
7681 
     | 
    
         
             
                new URL(string);
         
     | 
| 
       7544 
7682 
     | 
    
         
             
                return true
         
     | 
| 
       7545 
     | 
    
         
            -
              } catch  
     | 
| 
      
 7683 
     | 
    
         
            +
              } catch {
         
     | 
| 
       7546 
7684 
     | 
    
         
             
                return false
         
     | 
| 
       7547 
7685 
     | 
    
         
             
              }
         
     | 
| 
       7548 
7686 
     | 
    
         
             
            }
         
     | 
| 
         @@ -7617,7 +7755,7 @@ class Clipboard { 
     | 
|
| 
       7617 
7755 
     | 
    
         
             
              #handlePastedFiles(clipboardData) {
         
     | 
| 
       7618 
7756 
     | 
    
         
             
                if (!this.editorElement.supportsAttachments) return
         
     | 
| 
       7619 
7757 
     | 
    
         | 
| 
       7620 
     | 
    
         
            -
                const html = clipboardData.getData( 
     | 
| 
      
 7758 
     | 
    
         
            +
                const html = clipboardData.getData("text/html");
         
     | 
| 
       7621 
7759 
     | 
    
         
             
                if (html) return // Ignore if image copied from browser since we will load it as a remote image
         
     | 
| 
       7622 
7760 
     | 
    
         | 
| 
       7623 
7761 
     | 
    
         
             
                this.#preservingScrollPosition(() => {
         
     | 
| 
         @@ -7647,7 +7785,7 @@ class Clipboard { 
     | 
|
| 
       7647 
7785 
     | 
    
         
             
            class LexicalEditorElement extends HTMLElement {
         
     | 
| 
       7648 
7786 
     | 
    
         
             
              static formAssociated = true
         
     | 
| 
       7649 
7787 
     | 
    
         
             
              static debug = true
         
     | 
| 
       7650 
     | 
    
         
            -
              static commands = [ "bold", "italic", "" ]
         
     | 
| 
      
 7788 
     | 
    
         
            +
              static commands = [ "bold", "italic", "strikethrough" ]
         
     | 
| 
       7651 
7789 
     | 
    
         | 
| 
       7652 
7790 
     | 
    
         
             
              static observedAttributes = [ "connected", "required" ]
         
     | 
| 
       7653 
7791 
     | 
    
         | 
| 
         @@ -7809,6 +7947,7 @@ class LexicalEditorElement extends HTMLElement { 
     | 
|
| 
       7809 
7947 
     | 
    
         
             
                  rt,
         
     | 
| 
       7810 
7948 
     | 
    
         
             
                  g$1,
         
     | 
| 
       7811 
7949 
     | 
    
         
             
                  m$2,
         
     | 
| 
      
 7950 
     | 
    
         
            +
                  HorizontalDividerNode,
         
     | 
| 
       7812 
7951 
     | 
    
         | 
| 
       7813 
7952 
     | 
    
         
             
                  CustomActionTextAttachmentNode,
         
     | 
| 
       7814 
7953 
     | 
    
         
             
                ];
         
     | 
| 
         @@ -7903,7 +8042,8 @@ class LexicalEditorElement extends HTMLElement { 
     | 
|
| 
       7903 
8042 
     | 
    
         | 
| 
       7904 
8043 
     | 
    
         
             
              #registerComponents() {
         
     | 
| 
       7905 
8044 
     | 
    
         
             
                Mt(this.editor);
         
     | 
| 
       7906 
     | 
    
         
            -
                 
     | 
| 
      
 8045 
     | 
    
         
            +
                this.historyState = E$1();
         
     | 
| 
      
 8046 
     | 
    
         
            +
                v$1(this.editor, this.historyState, 20);
         
     | 
| 
       7907 
8047 
     | 
    
         
             
                _t$3(this.editor);
         
     | 
| 
       7908 
8048 
     | 
    
         
             
                this.#registerCodeHiglightingComponents();
         
     | 
| 
       7909 
8049 
     | 
    
         
             
                et(this.editor, Bt);
         
     | 
| 
         @@ -7980,6 +8120,7 @@ class LexicalEditorElement extends HTMLElement { 
     | 
|
| 
       7980 
8120 
     | 
    
         
             
              #createDefaultToolbar() {
         
     | 
| 
       7981 
8121 
     | 
    
         
             
                const toolbar = createElement("lexxy-toolbar");
         
     | 
| 
       7982 
8122 
     | 
    
         
             
                toolbar.innerHTML = LexicalToolbarElement.defaultTemplate;
         
     | 
| 
      
 8123 
     | 
    
         
            +
                toolbar.setAttribute("data-attachments", this.supportsAttachments); // Drives toolbar CSS styles
         
     | 
| 
       7983 
8124 
     | 
    
         
             
                this.prepend(toolbar);
         
     | 
| 
       7984 
8125 
     | 
    
         
             
                return toolbar
         
     | 
| 
       7985 
8126 
     | 
    
         
             
              }
         
     | 
| 
         @@ -8533,7 +8674,7 @@ class LexicalPromptElement extends HTMLElement { 
     | 
|
| 
       8533 
8674 
     | 
    
         
             
                popoverContainer.classList.add("lexxy-prompt-menu");
         
     | 
| 
       8534 
8675 
     | 
    
         
             
                popoverContainer.style.position = "absolute";
         
     | 
| 
       8535 
8676 
     | 
    
         
             
                popoverContainer.setAttribute("nonce", getNonce());
         
     | 
| 
       8536 
     | 
    
         
            -
                popoverContainer.append(... 
     | 
| 
      
 8677 
     | 
    
         
            +
                popoverContainer.append(...await this.source.buildListItems());
         
     | 
| 
       8537 
8678 
     | 
    
         
             
                popoverContainer.addEventListener("click", this.#handlePopoverClick);
         
     | 
| 
       8538 
8679 
     | 
    
         
             
                this.#editorElement.appendChild(popoverContainer);
         
     | 
| 
       8539 
8680 
     | 
    
         
             
                return popoverContainer
         
     |