UNPKG

lexical

Version:

Lexical is an extensible text editor framework that provides excellent reliability, accessible and performance.

9 lines (8 loc) 119 kB
/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * */ "use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var t=e((function(e){const t=new URL("https://lexical.dev/docs/error"),n=new URLSearchParams;n.append("code",e);for(let e=1;e<arguments.length;e++)n.append("v",arguments[e]);throw t.search=n.toString(),Error(`Minified Lexical error #${e}; visit ${t.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}));const n="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,r=n&&"documentMode"in document?document.documentMode:null,i=n&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),s=n&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),o=!(!n||!("InputEvent"in window)||r)&&"getTargetRanges"in new window.InputEvent("input"),l=n&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),c=n&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,a=n&&/Android/.test(navigator.userAgent),u=n&&/^(?=.*Chrome).*/i.test(navigator.userAgent),f=n&&a&&u,d=n&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!u;function h(...e){const t=[];for(const n of e)if(n&&"string"==typeof n)for(const[e]of n.matchAll(/\S+/g))t.push(e);return t}const g=1,_=3,p=9,m=11,y=0,x=1,C=2,S=0,T=1,v=2,N=4,b=8,k=128,E=1792|(112|(3|N|b)|k),O=1,w=2,M=3,A=4,D=5,P=6,I=l||c||d?" ":"​",L="\n\n",F=s?" ":I,R="֑-߿יִ-﷽ﹰ-ﻼ",B="A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-﬜︀-﹯﻽-￿",z=new RegExp("^[^"+B+"]*["+R+"]"),W=new RegExp("^[^"+R+"]*["+B+"]"),$={bold:1,capitalize:1024,code:16,highlight:k,italic:2,lowercase:256,strikethrough:N,subscript:32,superscript:64,underline:b,uppercase:512},K={directionless:1,unmergeable:2},U={center:w,end:P,justify:A,left:O,right:M,start:D},J={[w]:"center",[P]:"end",[A]:"justify",[O]:"left",[M]:"right",[D]:"start"},j={normal:0,segmented:2,token:1},H={[S]:"normal",[v]:"segmented",[T]:"token"};function Y(e,t,n,r,i,s){let o=e.getFirstChild();for(;null!==o;){const e=o.__key;o.__parent===t&&(Kr(o)&&Y(o,e,n,r,i,s),n.has(e)||s.delete(e),i.push(e)),o=o.getNextSibling()}}const V=100;let G=!1,q=0;function X(e){q=e.timeStamp}function Q(e,t,n){const r="BR"===e.nodeName,i=t.__lexicalLineBreak;return i&&(e===i||r&&e.previousSibling===i)||r&&void 0!==vi(e,n)}function Z(e,t,n){const r=gs(ss(n));let i=null,s=null;null!==r&&r.anchorNode===e&&(i=r.anchorOffset,s=r.focusOffset);const o=e.nodeValue;null!==o&&Ri(t,o,i,s,!1)}function ee(e,t,n){if(Jn(e)){const t=e.anchor.getNode();if(t.is(n)&&e.format!==t.getFormat())return!1}return di(t)&&n.isAttached()}function te(e,t,n,r){for(let i=e;i&&!Os(i);i=Zi(i)){const e=vi(i,t);if(void 0!==e){const t=Si(e,n);if(t)return jr(t)||!ps(i)?void 0:[i,t]}else if(i===r)return[r,Oi(n)]}}function ne(e,t,n){G=!0;const r=performance.now()-q>V;try{Br(e,(()=>{const i=or()||function(e){return e.getEditorState().read((()=>{const e=or();return null!==e?e.clone():null}))}(e),o=new Map,l=e.getRootElement(),c=e._editorState,a=e._blockCursorElement;let u=!1,f="";for(let n=0;n<t.length;n++){const d=t[n],h=d.type,g=d.target,_=te(g,e,c,l);if(!_)continue;const[p,m]=_;if("characterData"===h)r&&In(m)&&di(g)&&ee(i,g,m)&&Z(g,m,e);else if("childList"===h){u=!0;const t=d.addedNodes;for(let n=0;n<t.length;n++){const r=t[n],i=Ti(r),o=r.parentNode;if(null!=o&&r!==a&&null===i&&!Q(r,o,e)){if(s){const e=(ps(r)?r.innerText:null)||r.nodeValue;e&&(f+=e)}o.removeChild(r)}}const n=d.removedNodes,r=n.length;if(r>0){let t=0;for(let i=0;i<r;i++){const r=n[i];(Q(r,g,e)||a===r)&&(g.appendChild(r),t++)}r!==t&&o.set(p,m)}}}if(o.size>0)for(const[t,n]of o)n.reconcileObservedMutation(t,e);const d=n.takeRecords();if(d.length>0){for(let t=0;t<d.length;t++){const n=d[t],r=n.addedNodes,i=n.target;for(let t=0;t<r.length;t++){const n=r[t],s=n.parentNode;null==s||"BR"!==n.nodeName||Q(n,i,e)||s.removeChild(n)}}n.takeRecords()}null!==i&&(u&&wi(i),s&&Gi(e)&&i.insertRawText(f))}))}finally{G=!1}}function re(e){const t=e._observer;if(null!==t){ne(e,t.takeRecords(),t)}}function ie(e){!function(e){0===q&&ss(e).addEventListener("textInput",X,!0)}(e),e._observer=new MutationObserver(((t,n)=>{ne(e,t,n)}))}function se(e,t){const n=e.__mode,r=e.__format,i=e.__style,s=t.__mode,o=t.__format,l=t.__style;return!(null!==n&&n!==s||null!==r&&r!==o||null!==i&&i!==l)}function oe(e,t){const n=e.mergeWithSibling(t),r=br()._normalizedNodes;return r.add(e.__key),r.add(t.__key),n}function le(e){let t,n,r=e;if(""!==r.__text||!r.isSimpleText()||r.isUnmergeable()){for(;null!==(t=r.getPreviousSibling())&&In(t)&&t.isSimpleText()&&!t.isUnmergeable();){if(""!==t.__text){if(se(t,r)){r=oe(t,r);break}break}t.remove()}for(;null!==(n=r.getNextSibling())&&In(n)&&n.isSimpleText()&&!n.isUnmergeable();){if(""!==n.__text){if(se(r,n)){r=oe(r,n);break}break}n.remove()}}else r.remove()}function ce(e){return ae(e.anchor),ae(e.focus),e}function ae(e){for(;"element"===e.type;){const t=e.getNode(),n=e.offset;let r,i;if(n===t.getChildrenSize()?(r=t.getChildAtIndex(n-1),i=!0):(r=t.getChildAtIndex(n),i=!1),In(r)){e.set(r.__key,i?r.getTextContentSize():0,"text",!0);break}if(!Kr(r))break;e.set(r.__key,i?r.getChildrenSize():0,"element",!0)}}let ue,fe,de,he,ge,_e,pe,me,ye,xe,Ce="",Se="",Te=null,ve="",Ne="",be=!1,ke=!1,Ee=null;function Oe(e,t){const n=pe.get(e);if(null!==t){const n=je(e);n.parentNode===t&&t.removeChild(n)}if(me.has(e)||fe._keyToDOMMap.delete(e),Kr(n)){const e=We(n,pe);we(e,0,e.length-1,null)}void 0!==n&&Hi(xe,de,he,n,"destroyed")}function we(e,t,n,r){let i=t;for(;i<=n;++i){const t=e[i];void 0!==t&&Oe(t,r)}}function Me(e,t){e.setProperty("text-align",t)}const Ae="40px";function De(e,t){const n=ue.theme.indent;if("string"==typeof n){const r=e.classList.contains(n);t>0&&!r?e.classList.add(n):t<1&&r&&e.classList.remove(n)}const r=getComputedStyle(e).getPropertyValue("--lexical-indent-base-value")||Ae;e.style.setProperty("padding-inline-start",0===t?"":`calc(${t} * ${r})`)}function Pe(e,t){const n=e.style;0===t?Me(n,""):t===O?Me(n,"left"):t===w?Me(n,"center"):t===M?Me(n,"right"):t===A?Me(n,"justify"):t===D?Me(n,"start"):t===P&&Me(n,"end")}function Ie(e,n){const r=me.get(e);void 0===r&&t(60);const i=r.createDOM(ue,fe);if(function(e,t,n){const r=n._keyToDOMMap;(function(e,t,n){const r=`__lexicalKey_${t._key}`;e[r]=n})(t,n,e),r.set(e,t)}(e,i,fe),In(r)?i.setAttribute("data-lexical-text","true"):jr(r)&&i.setAttribute("data-lexical-decorator","true"),Kr(r)){const e=r.__indent,t=r.__size;if(0!==e&&De(i,e),0!==t){const e=t-1;!function(e,t,n,r){const i=Se;Se="",Le(e,n,0,t,n.getDOMSlot(r)),Be(n,r),Se=i}(We(r,me),e,r,i)}const n=r.__format;0!==n&&Pe(i,n),r.isInline()||Re(null,r,i),Xi(r)&&(Ce+=L,Ne+=L)}else{const t=r.getTextContent();if(jr(r)){const t=r.decorate(fe,ue);null!==t&&Ke(e,t),i.contentEditable="false"}else In(r)&&(r.isDirectionless()||(Se+=t));Ce+=t,Ne+=t}return null!==n&&n.insertChild(i),Hi(xe,de,he,r,"created"),i}function Le(e,t,n,r,i){const s=Ce;Ce="";let o=n;for(;o<=r;++o){Ie(e[o],i);const t=me.get(e[o]);null!==t&&In(t)&&(null===Te&&(Te=t.getFormat()),""===ve&&(ve=t.getStyle()))}Xi(t)&&(Ce+=L);i.element.__lexicalTextContent=Ce,Ce=s+Ce}function Fe(e,t){if(e){const n=e.__last;if(n){const e=t.get(n);if(e)return pn(e)?"line-break":jr(e)&&e.isInline()?"decorator":null}return"empty"}return null}function Re(e,t,n){const r=Fe(e,pe),i=Fe(t,me);r!==i&&t.getDOMSlot(n).setManagedLineBreak(i)}function Be(e,t){const n=t.__lexicalDirTextContent||"",r=t.__lexicalDir||"";if(n!==Se||r!==Ee){const n=""===Se,i=n?Ee:function(e){if(z.test(e))return"rtl";if(W.test(e))return"ltr";return null}(Se);if(i!==r){const s=t.classList,o=ue.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 e=h(l);l=o[r]=e}s.remove(...l)}if(null===i||n&&"ltr"===i)t.removeAttribute("dir");else{if(void 0!==c){if("string"==typeof c){const e=h(c);c=o[i]=e}void 0!==c&&s.add(...c)}t.dir=i}if(!ke){e.getWritable().__dir=i}}Ee=i,t.__lexicalDirTextContent=Se,t.__lexicalDir=i}}function ze(e,n,r){const i=Se;var s;Se="",Te=null,ve="",function(e,n,r){const i=Ce,s=e.__size,o=n.__size;Ce="";const l=r.element;if(1===s&&1===o){const t=e.__first,r=n.__first;if(t===r)$e(t,l);else{const e=je(t),n=Ie(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}Oe(t,null)}const i=me.get(r);In(i)&&(null===Te&&(Te=i.getFormat()),""===ve&&(ve=i.getStyle()))}else{const i=We(e,pe),c=We(n,me);if(i.length!==s&&t(227),c.length!==o&&t(228),0===s)0!==o&&Le(c,n,0,o-1,r);else if(0===o){if(0!==s){const e=null==r.after&&null==r.before&&null==r.element.__lexicalLineBreak;we(i,0,s-1,e?null:l),e&&(l.textContent="")}}else!function(e,t,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 e=t[f],r=n[d];if(e===r)u=Ue($e(r,s.element)),f++,d++;else{void 0===c&&(c=new Set(t)),void 0===a&&(a=new Set(n));const i=a.has(e),o=c.has(r);if(i)if(o){const e=Qi(fe,r);e===u?u=Ue($e(r,s.element)):(s.withBefore(u).insertChild(e),$e(r,s.element)),f++,d++}else Ie(r,s.withBefore(u)),d++;else u=Ue(je(e)),Oe(e,s.element),f++}const i=me.get(r);null!==i&&In(i)&&(null===Te&&(Te=i.getFormat()),""===ve&&(ve=i.getStyle()))}const h=f>o,g=d>l;if(h&&!g){const t=n[l+1],r=void 0===t?null:fe.getElementByKey(t);Le(n,e,d,l,s.withBefore(r))}else g&&!h&&we(t,f,o,s.element)}(n,i,c,s,o,r)}Xi(n)&&(Ce+=L);l.__lexicalTextContent=Ce,Ce=i+Ce}(e,n,n.getDOMSlot(r)),Be(n,r),s=n,null==Te||Te===s.__textFormat||ke||(s.setTextFormat(Te),s.setTextStyle(ve)),function(e){""===ve||ve===e.__textStyle||ke||e.setTextStyle(ve)}(n),Se=i}function We(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 $e(e,n){const r=pe.get(e);let i=me.get(e);void 0!==r&&void 0!==i||t(61);const s=be||_e.has(e)||ge.has(e),o=Qi(fe,e);if(r===i&&!s){if(Kr(r)){const e=o.__lexicalTextContent;void 0!==e&&(Ce+=e,Ne+=e);const t=o.__lexicalDirTextContent;void 0!==t&&(Se+=t)}else{const e=r.getTextContent();In(r)&&!r.isDirectionless()&&(Se+=e),Ne+=e,Ce+=e}return o}if(r!==i&&s&&Hi(xe,de,he,i,"updated"),i.updateDOM(r,o,ue)){const r=Ie(e,null);return null===n&&t(62),n.replaceChild(r,o),Oe(e,null),r}if(Kr(r)&&Kr(i)){const e=i.__indent;e!==r.__indent&&De(o,e);const t=i.__format;t!==r.__format&&Pe(o,t),s&&(ze(r,i,o),Yr(i)||i.isInline()||Re(r,i,o)),Xi(i)&&(Ce+=L,Ne+=L)}else{const t=i.getTextContent();if(jr(i)){const t=i.decorate(fe,ue);null!==t&&Ke(e,t)}else In(i)&&!i.isDirectionless()&&(Se+=t);Ce+=t,Ne+=t}if(!ke&&Yr(i)&&i.__cachedText!==Ne){const e=i.getWritable();e.__cachedText=Ne,i=e}return o}function Ke(e,t){let n=fe._pendingDecorators;const r=fe._decorators;if(null===n){if(r[e]===t)return;n=bi(fe)}n[e]=t}function Ue(e){let t=e.nextSibling;return null!==t&&t===fe._blockCursorElement&&(t=t.nextSibling),t}function Je(e,t,n,r,i,s){Ce="",Ne="",Se="",be=r===C,Ee=null,fe=n,ue=n._config,de=n._nodes,he=fe._listeners.mutation,ge=i,_e=s,pe=e._nodeMap,me=t._nodeMap,ke=t._readOnly,ye=new Map(n._keyToDOMMap);const o=new Map;return xe=o,$e("root",null),fe=void 0,de=void 0,ge=void 0,_e=void 0,pe=void 0,me=void 0,ue=void 0,ye=void 0,xe=void 0,o}function je(e){const n=ye.get(e);return void 0===n&&t(75,e),n}function He(e){return{}}const Ye={},Ve={},Ge={},qe={},Xe={},Qe={},Ze={},et={},tt={},nt={},rt={},it={},st={},ot={},lt={},ct={},at={},ut={},ft={},dt={},ht={},gt={},_t={},pt={},mt={},yt={},xt={},Ct={},St={},Tt={},vt={},Nt={},bt={},kt={},Et={},Ot={},wt={},Mt={},At={},Dt={},Pt={},It={},Lt={},Ft={},Rt={},Bt=Object.freeze({}),zt=30,Wt=[["keydown",function(e,t){if($t=e.timeStamp,Kt=e.key,t.isComposing())return;const{key:n,shiftKey:r,ctrlKey:o,metaKey:l,altKey:c}=e;if(qi(t,lt,e))return;if(null==n)return;if(qt&&Ki(Kt))return Br(t,(()=>{rn(t,Xt)})),qt=!1,void(Xt="");if(function(e,t,n,r){return zi(e)&&!t&&!r&&!n}(n,o,c,l))qi(t,ct,e);else if(function(e,t,n,r,i){return zi(e)&&!r&&!n&&(t||i)}(n,o,r,c,l))qi(t,at,e);else if(function(e,t,n,r){return Bi(e)&&!t&&!r&&!n}(n,o,c,l))qi(t,ut,e);else if(function(e,t,n,r,i){return Bi(e)&&!r&&!n&&(t||i)}(n,o,r,c,l))qi(t,ft,e);else if(function(e,t,n){return function(e){return"ArrowUp"===e}(e)&&!t&&!n}(n,o,l))qi(t,dt,e);else if(function(e,t,n){return function(e){return"ArrowDown"===e}(e)&&!t&&!n}(n,o,l))qi(t,ht,e);else if(function(e,t){return $i(e)&&t}(n,r))Vt=!0,qi(t,gt,e);else if(function(e){return" "===e}(n))qi(t,_t,e);else if(function(e,t){return i&&t&&"o"===e.toLowerCase()}(n,o))e.preventDefault(),Vt=!0,qi(t,Xe,!0);else if(function(e,t){return $i(e)&&!t}(n,r))Vt=!1,qi(t,gt,e);else if(function(e,t,n,r){if(i)return!t&&!n&&(Ki(e)||"h"===e.toLowerCase()&&r);if(r||t||n)return!1;return Ki(e)}(n,c,l,o))Ki(n)?qi(t,pt,e):(e.preventDefault(),qi(t,qe,!0));else if(function(e){return"Escape"===e}(n))qi(t,mt,e);else if(function(e,t,n,r,s){if(i)return!(n||r||s)&&(Ui(e)||"d"===e.toLowerCase()&&t);if(t||r||s)return!1;return Ui(e)}(n,o,r,c,l))Ui(n)?qi(t,yt,e):(e.preventDefault(),qi(t,qe,!1));else if(function(e,t,n){return Ki(e)&&(i?t:n)}(n,c,o))e.preventDefault(),qi(t,nt,!0);else if(function(e,t,n){return Ui(e)&&(i?t:n)}(n,c,o))e.preventDefault(),qi(t,nt,!1);else if(function(e,t){return i&&t&&Ki(e)}(n,l))e.preventDefault(),qi(t,rt,!0);else if(function(e,t){return i&&t&&Ui(e)}(n,l))e.preventDefault(),qi(t,rt,!1);else if(function(e,t,n,r){return"b"===e.toLowerCase()&&!t&&Wi(n,r)}(n,c,l,o))e.preventDefault(),qi(t,it,"bold");else if(function(e,t,n,r){return"u"===e.toLowerCase()&&!t&&Wi(n,r)}(n,c,l,o))e.preventDefault(),qi(t,it,"underline");else if(function(e,t,n,r){return"i"===e.toLowerCase()&&!t&&Wi(n,r)}(n,c,l,o))e.preventDefault(),qi(t,it,"italic");else if(function(e,t,n,r){return"Tab"===e&&!t&&!n&&!r}(n,c,o,l))qi(t,xt,e);else if(function(e,t,n,r){return"z"===e.toLowerCase()&&!t&&Wi(n,r)}(n,r,l,o))e.preventDefault(),qi(t,st,void 0);else if(function(e,t,n,r){if(i)return"z"===e.toLowerCase()&&n&&t;return"y"===e.toLowerCase()&&r||"z"===e.toLowerCase()&&r&&t}(n,r,l,o))e.preventDefault(),qi(t,ot,void 0);else{const c=t._editorState._selection;null===c||Jn(c)?!s&&Ji(n,l,o)&&(e.preventDefault(),qi(t,Mt,e)):!function(e,t,n,r){if(t)return!1;if("c"===e.toLowerCase())return i?n:r;return!1}(n,r,l,o)?!function(e,t,n,r){if(t)return!1;if("x"===e.toLowerCase())return i?n:r;return!1}(n,r,l,o)?Ji(n,l,o)&&(e.preventDefault(),qi(t,Mt,e)):(e.preventDefault(),qi(t,wt,e)):(e.preventDefault(),qi(t,Ot,e))}(function(e,t,n,r){return e||t||n||r})(o,r,c,l)&&qi(t,Rt,e)}],["pointerdown",function(e,t){const n=e.target,r=e.pointerType;ms(n)&&"touch"!==r&&0===e.button&&Br(t,(()=>{jr(Ni(n))||(Yt=!0)}))}],["compositionstart",function(e,t){Br(t,(()=>{const n=or();if(Jn(n)&&!t.isComposing()){const r=n.anchor,i=n.anchor.getNode();xi(r.key),(e.timeStamp<$t+zt||"element"===r.type||!n.isCollapsed()||i.getFormat()!==n.format||In(i)&&i.getStyle()!==n.style)&&qi(t,Ze,F)}}))}],["compositionend",function(e,t){s?Gt=!0:c||!l&&!d?Br(t,(()=>{rn(t,e.data)})):(qt=!0,Xt=e.data)}],["input",function(e,t){e.stopPropagation(),Br(t,(()=>{const n=or(),r=e.data,i=nn(e);if(null!=r&&Jn(n)&&Zt(n,i,r,e.timeStamp,!1)){Gt&&(rn(t,r),Gt=!1);const i=n.anchor.getNode(),a=gs(ss(t));if(null===a)return;const u=n.isBackward(),f=u?n.anchor.offset:n.focus.offset,h=u?n.focus.offset:n.anchor.offset;o&&!n.isCollapsed()&&In(i)&&null!==a.anchorNode&&i.getTextContent().slice(0,f)+r+i.getTextContent().slice(f+h)===Li(a.anchorNode)||qi(t,Ze,r);const g=r.length;s&&g>1&&"insertCompositionText"===e.inputType&&!t.isComposing()&&(n.anchor.offset-=g),l||c||d||!t.isComposing()||($t=0,xi(null))}else{Fi(!1,t,null!==r?r:void 0),Gt&&(rn(t,r||void 0),Gt=!1)}!function(){Tr();const e=br();re(e)}()}),{event:e}),Jt=null}],["click",function(e,t){Br(t,(()=>{const n=or(),r=gs(ss(t)),i=lr();if(r)if(Jn(n)){const t=n.anchor,s=t.getNode();if("element"===t.type&&0===t.offset&&n.isCollapsed()&&!Yr(s)&&1===Ei().getChildrenSize()&&s.getTopLevelElementOrThrow().isEmpty()&&null!==i&&n.is(i))r.removeAllRanges(),n.dirty=!0;else if(3===e.detail&&!n.isCollapsed()){if(s!==n.focus.getNode()){const e=function(e,t){let n=e;for(;n!==Ei()&&null!=n;){if(t(n))return n;n=n.getParent()}return null}(s,(e=>Kr(e)&&!e.isInline()));Kr(e)&&e.select(0)}}}else if("touch"===e.pointerType){const n=r.anchorNode;if(ps(n)||di(n)){wi(sr(i,r,t,e))}}qi(t,Ge,e)}))}],["cut",Bt],["copy",Bt],["dragstart",Bt],["dragover",Bt],["dragend",Bt],["paste",Bt],["focus",Bt],["blur",Bt],["drop",Bt]];o&&Wt.push(["beforeinput",(e,n)=>function(e,n){const r=e.inputType,i=nn(e);if("deleteCompositionText"===r||s&&Gi(n))return;if("insertCompositionText"===r)return;Br(n,(()=>{const s=or();if("deleteContentBackward"===r){if(null===s){const e=lr();if(!Jn(e))return;wi(e.clone())}if(Jn(s)){const r=s.anchor.key===s.focus.key;if(o=e.timeStamp,"MediaLast"===Kt&&o<$t+zt&&n.isComposing()&&r){if(xi(null),$t=0,setTimeout((()=>{Br(n,(()=>{xi(null)}))}),zt),Jn(s)){const e=s.anchor.getNode();e.markDirty(),s.format=e.getFormat(),In(e)||t(142),s.style=e.getStyle()}}else{xi(null),e.preventDefault();const t=s.anchor.getNode(),i=t.getTextContent(),o=t.canInsertTextAfter(),l=0===s.anchor.offset&&s.focus.offset===i.length;let c=f&&r&&!l&&o;c&&s.isCollapsed()&&(c=!jr(Vi(s.anchor,!0))),c||qi(n,qe,!0)}return}}var o;if(!Jn(s))return;const l=e.data;null!==Jt&&Fi(!1,n,Jt),s.dirty&&null===Jt||!s.isCollapsed()||Yr(s.anchor.getNode())||null===i||s.applyDOMRange(i),Jt=null;const a=s.anchor,u=s.focus,d=a.getNode(),h=u.getNode();if("insertText"!==r&&"insertTranspose"!==r)switch(e.preventDefault(),r){case"insertFromYank":case"insertFromDrop":case"insertReplacementText":qi(n,Ze,e);break;case"insertFromComposition":xi(null),qi(n,Ze,e);break;case"insertLineBreak":xi(null),qi(n,Xe,!1);break;case"insertParagraph":xi(null),Vt&&!c?(Vt=!1,qi(n,Xe,!1)):qi(n,Qe,void 0);break;case"insertFromPaste":case"insertFromPasteAsQuotation":qi(n,et,e);break;case"deleteByComposition":(function(e,t){return e!==t||Kr(e)||Kr(t)||!e.isToken()||!t.isToken()})(d,h)&&qi(n,tt,e);break;case"deleteByDrag":case"deleteByCut":qi(n,tt,e);break;case"deleteContent":qi(n,qe,!1);break;case"deleteWordBackward":qi(n,nt,!0);break;case"deleteWordForward":qi(n,nt,!1);break;case"deleteHardLineBackward":case"deleteSoftLineBackward":qi(n,rt,!0);break;case"deleteContentForward":case"deleteHardLineForward":case"deleteSoftLineForward":qi(n,rt,!1);break;case"formatStrikeThrough":qi(n,it,"strikethrough");break;case"formatBold":qi(n,it,"bold");break;case"formatItalic":qi(n,it,"italic");break;case"formatUnderline":qi(n,it,"underline");break;case"historyUndo":qi(n,st,void 0);break;case"historyRedo":qi(n,ot,void 0)}else{if("\n"===l)e.preventDefault(),qi(n,Xe,!1);else if(l===L)e.preventDefault(),qi(n,Qe,void 0);else if(null==l&&e.dataTransfer){const t=e.dataTransfer.getData("text/plain");e.preventDefault(),s.insertRawText(t)}else null!=l&&Zt(s,i,l,e.timeStamp,!0)?(e.preventDefault(),qi(n,Ze,l)):Jt=l;Ut=e.timeStamp}}))}(e,n)]);let $t=0,Kt=null,Ut=0,Jt=null;const jt=new WeakMap;let Ht=!1,Yt=!1,Vt=!1,Gt=!1,qt=!1,Xt="",Qt=[0,"",0,"root",0];function Zt(e,t,n,r,i){const s=e.anchor,l=e.focus,c=s.getNode(),a=br(),u=gs(ss(a)),f=null!==u?u.anchorNode:null,d=s.key,h=a.getElementByKey(d),g=n.length;return d!==l.key||!In(c)||(!i&&(!o||Ut<r+50)||c.isDirty()&&g<2||Di(n))&&s.offset!==l.offset&&!c.isComposing()||fi(c)||c.isDirty()&&g>1||(i||!o)&&null!==h&&!c.isComposing()&&f!==gi(h)||null!==u&&null!==t&&(!t.collapsed||t.startContainer!==u.anchorNode||t.startOffset!==u.anchorOffset)||c.getFormat()!==e.format||c.getStyle()!==e.style||function(e,t){if(t.isSegmented())return!0;if(!e.isCollapsed())return!1;const n=e.anchor.offset,r=t.getParentOrThrow(),i=t.isToken();return 0===n?!t.canInsertTextBefore()||!r.canInsertTextBefore()&&!t.isComposing()||i||function(e){const t=e.getPreviousSibling();return(In(t)||Kr(t)&&t.isInline())&&!t.canInsertTextAfter()}(t):n===t.getTextContentSize()&&(!t.canInsertTextAfter()||!r.canInsertTextAfter()&&!t.isComposing()||i)}(e,c)}function en(e,t){return di(e)&&null!==e.nodeValue&&0!==t&&t!==e.nodeValue.length}function tn(e,n,r){const{anchorNode:i,anchorOffset:s,focusNode:o,focusOffset:l}=e;Ht&&(Ht=!1,en(i,s)&&en(o,l))||Br(n,(()=>{if(!r)return void wi(null);if(!li(n,i,o))return;const c=or();if(Jn(c)){const r=c.anchor,i=r.getNode();if(c.isCollapsed()){"Range"===e.type&&e.anchorNode===e.focusNode&&(c.dirty=!0);const s=ss(n).event,o=s?s.timeStamp:performance.now(),[l,a,u,f,d]=Qt,h=Ei(),g=!1===n.isComposing()&&""===h.getTextContent();if(o<d+200&&r.offset===u&&r.key===f)c.format=l,c.style=a;else if("text"===r.type)In(i)||t(141),c.format=i.getFormat(),c.style=i.getStyle();else if("element"===r.type&&!g){Kr(i)||t(259);const e=r.getNode();c.style="",e.isEmpty()?(c.format=e.getTextFormat(),c.style=e.getTextStyle()):c.format=0}}else{const e=r.key,t=c.focus.key,n=c.getNodes(),i=n.length,o=c.isBackward(),a=o?l:s,u=o?s:l,f=o?t:e,d=o?e:t;let h=E,g=!1;for(let e=0;e<i;e++){const t=n[e],r=t.getTextContentSize();if(In(t)&&0!==r&&!(0===e&&t.__key===f&&a===r||e===i-1&&t.__key===d&&0===u)&&(g=!0,h&=t.getFormat(),0===h))break}c.format=g?h:0}}qi(n,Ye,void 0)}))}function nn(e){if(!e.getTargetRanges)return null;const t=e.getTargetRanges();return 0===t.length?null:t[0]}function rn(e,t){const n=e._compositionKey;if(xi(null),null!==n&&null!=t){if(""===t){const t=Si(n),r=gi(e.getElementByKey(n));return void(null!==r&&null!==r.nodeValue&&In(t)&&Ri(t,r.nodeValue,null,null,!0))}if("\n"===t[t.length-1]){const t=or();if(Jn(t)){const n=t.focus;return t.anchor.set(n.key,n.offset,n.type),void qi(e,gt,null)}}}Fi(!0,e,t)}function sn(e){let t=e.__lexicalEventHandles;return void 0===t&&(t=[],e.__lexicalEventHandles=t),t}const on=new Map;function ln(e){const t=_s(e.target);if(null===t)return;const n=ai(t.anchorNode);if(null===n)return;Yt&&(Yt=!1,Br(n,(()=>{const r=lr(),i=t.anchorNode;if(ps(i)||di(i)){wi(sr(r,t,n,e))}})));const r=Pi(n),i=r[r.length-1],s=i._key,o=on.get(s),l=o||i;l!==n&&tn(t,l,!1),tn(t,n,!0),n!==i?on.set(s,n):o&&on.delete(s)}function cn(e){e._lexicalHandled=!0}function an(e){return!0===e._lexicalHandled}function un(e){const n=e.ownerDocument,r=jt.get(n);void 0===r&&t(162);const i=r-1;i>=0||t(164),jt.set(n,i),0===i&&n.removeEventListener("selectionchange",ln);const s=ui(e);ci(s)?(!function(e){if(null!==e._parentEditor){const t=Pi(e),n=t[t.length-1]._key;on.get(n)===e&&on.delete(n)}else on.delete(e._key)}(s),e.__lexicalEditor=null):s&&t(198);const o=sn(e);for(let e=0;e<o.length;e++)o[e]();e.__lexicalEventHandles=[]}function fn(e,t,n){Tr();const r=e.__key,i=e.getParent();if(null===i)return;const s=function(e){const t=or();if(!Jn(t)||!Kr(e))return t;const{anchor:n,focus:r}=t,i=n.getNode(),s=r.getNode();rs(i,e)&&n.set(e.__key,0,"element");rs(s,e)&&r.set(e.__key,0,"element");return t}(e);let o=!1;if(Jn(s)&&t){const t=s.anchor,n=s.focus;t.key===r&&(ur(t,e,i,e.getPreviousSibling(),e.getNextSibling()),o=!0),n.key===r&&(ur(n,e,i,e.getPreviousSibling(),e.getNextSibling()),o=!0)}else Hn(s)&&t&&e.isSelected()&&e.selectPrevious();if(Jn(s)&&t&&!o){const t=e.getIndexWithinParent();mi(e),cr(s,i,t,-1)}else mi(e);n||ls(i)||i.canBeEmpty()||!i.isEmpty()||fn(i,t),t&&Yr(i)&&i.isEmpty()&&i.selectEnd()}class dn{static getType(){t(64,this.name)}static clone(e){t(65,this.name)}afterCloneFrom(e){this.__parent=e.__parent,this.__next=e.__next,this.__prev=e.__prev}constructor(e){this.__type=this.constructor.getType(),this.__parent=null,this.__prev=null,this.__next=null,pi(this,e)}getType(){return this.__type}isInline(){t(137,this.constructor.name)}isAttached(){let e=this.__key;for(;null!==e;){if("root"===e)return!0;const t=Si(e);if(null===t)break;e=t.__parent}return!1}isSelected(e){const t=e||or();if(null==t)return!1;const n=t.getNodes().some((e=>e.__key===this.__key));if(In(this))return n;if(Jn(t)&&"element"===t.anchor.type&&"element"===t.focus.type){if(t.isCollapsed())return!1;const e=this.getParent();if(jr(this)&&this.isInline()&&e){const n=t.isBackward()?t.focus:t.anchor;if(e.is(n.getNode())&&n.offset===e.getChildrenSize()&&this.is(e.getLastChild()))return!1}}return n}getKey(){return this.__key}getIndexWithinParent(){const e=this.getParent();if(null===e)return-1;let t=e.getFirstChild(),n=0;for(;null!==t;){if(this.is(t))return n;n++,t=t.getNextSibling()}return-1}getParent(){const e=this.getLatest().__parent;return null===e?null:Si(e)}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(ls(n))return Kr(e)||e===this&&jr(e)||t(194),e;e=n}return null}getTopLevelElementOrThrow(){const e=this.getTopLevelElement();return null===e&&t(67,this.__key),e}getParents(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t),t=t.getParent();return e}getParentKeys(){const e=[];let t=this.getParent();for(;null!==t;)e.push(t.__key),t=t.getParent();return e}getPreviousSibling(){const e=this.getLatest().__prev;return null===e?null:Si(e)}getPreviousSiblings(){const e=[],t=this.getParent();if(null===t)return e;let n=t.getFirstChild();for(;null!==n&&!n.is(this);)e.push(n),n=n.getNextSibling();return e}getNextSibling(){const e=this.getLatest().__next;return null===e?null:Si(e)}getNextSiblings(){const e=[];let t=this.getNextSibling();for(;null!==t;)e.push(t),t=t.getNextSibling();return e}getCommonAncestor(e){const t=this.getParents(),n=e.getParents();Kr(this)&&t.unshift(this),Kr(e)&&n.unshift(e);const r=t.length,i=n.length;if(0===r||0===i||t[r-1]!==n[i-1])return null;const s=new Set(n);for(let e=0;e<r;e++){const n=t[e];if(s.has(n))return n}return null}is(e){return null!=e&&this.__key===e.__key}isBefore(e){if(this===e)return!1;if(e.isParentOf(this))return!0;if(this.isParentOf(e))return!1;const t=this.getCommonAncestor(e);let n=0,r=0,i=this;for(;;){const e=i.getParentOrThrow();if(e===t){n=i.getIndexWithinParent();break}i=e}for(i=e;;){const e=i.getParentOrThrow();if(e===t){r=i.getIndexWithinParent();break}i=e}return n<r}isParentOf(e){const t=this.__key;if(t===e.__key)return!1;let n=e;for(;null!==n;){if(n.__key===t)return!0;n=n.getParent()}return!1}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=Kr(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 e=br()._dirtyLeaves;return null!==e&&e.has(this.__key)}getLatest(){const e=Si(this.__key);return null===e&&t(113),e}getWritable(){Tr();const e=Nr(),t=br(),n=e._nodeMap,r=this.__key,i=this.getLatest(),s=t._cloneNotNeeded,o=or();if(null!==o&&o.setCachedNodes(null),s.has(r))return yi(i),i;const l=ks(i);return s.add(r),yi(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(e){return{element:this.createDOM(e._config,e)}}exportJSON(){return{type:this.__type,version:1}}static importJSON(e){t(18,this.name)}updateFromJSON(e){return this}static transform(){return null}remove(e){fn(this,!0,e)}replace(e,n){Tr();let r=or();null!==r&&(r=r.clone()),us(this,e);const i=this.getLatest(),s=this.__key,o=e.__key,l=e.getWritable(),c=this.getParentOrThrow().getWritable(),a=c.__size;mi(l);const u=i.getPreviousSibling(),f=i.getNextSibling(),d=i.__prev,h=i.__next,g=i.__parent;if(fn(i,!1,!0),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&&(Kr(this)&&Kr(l)||t(139),this.getChildren().forEach((e=>{l.append(e)}))),Jn(r)){wi(r);const e=r.anchor,t=r.focus;e.key===s&&Kn(e,l),t.key===s&&Kn(t,l)}return Ci()===s&&xi(o),l}insertAfter(e,t=!0){Tr(),us(this,e);const n=this.getWritable(),r=e.getWritable(),i=r.getParent(),s=or();let o=!1,l=!1;if(null!==i){const t=e.getIndexWithinParent();if(mi(r),Jn(s)){const e=i.__key,n=s.anchor,r=s.focus;o="element"===n.type&&n.key===e&&n.offset===t+1,l="element"===r.type&&r.key===e&&r.offset===t+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,t&&Jn(s)){const e=this.getIndexWithinParent();cr(s,a,e+1);const t=a.__key;o&&s.anchor.set(t,e+2,"element"),l&&s.focus.set(t,e+2,"element")}return e}insertBefore(e,t=!0){Tr(),us(this,e);const n=this.getWritable(),r=e.getWritable(),i=r.__key;mi(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=or();if(t&&Jn(a)){cr(a,this.getParentOrThrow(),c)}return e}isParentRequired(){return!1}createParentElementNode(){return ti()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(e,t){Tr();const n=this.getPreviousSibling(),r=this.getParentOrThrow();if(null===n)return r.select(0,0);if(Kr(n))return n.select();if(!In(n)){const e=n.getIndexWithinParent()+1;return r.select(e,e)}return n.select(e,t)}selectNext(e,t){Tr();const n=this.getNextSibling(),r=this.getParentOrThrow();if(null===n)return r.select();if(Kr(n))return n.select(0,0);if(!In(n)){const e=n.getIndexWithinParent();return r.select(e,e)}return n.select(e,t)}markDirty(){this.getWritable()}reconcileObservedMutation(e,t){this.markDirty()}}class hn extends dn{static getType(){return"linebreak"}static clone(e){return new hn(e.__key)}constructor(e){super(e)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:e=>function(e){const t=e.parentElement;if(null!==t&&Cs(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&mn(n)){const n=t.lastChild;if(n===e||n.previousSibling===e&&mn(n))return!0}}return!1}(e)||function(e){const t=e.parentElement;if(null!==t&&Cs(t)){const n=t.firstChild;if(n===e||n.nextSibling===e&&mn(n))return!1;const r=t.lastChild;if(r===e||r.previousSibling===e&&mn(r))return!0}return!1}(e)?null:{conversion:gn,priority:0}}}static importJSON(e){return _n().updateFromJSON(e)}}function gn(e){return{node:_n()}}function _n(){return as(new hn)}function pn(e){return e instanceof hn}function mn(e){return di(e)&&/^( |\t|\r?\n)+$/.test(e.textContent||"")}function yn(e,t){return 16&t?"code":t&k?"mark":32&t?"sub":64&t?"sup":null}function xn(e,t){return 1&t?"strong":2&t?"em":"span"}function Cn(e,t,n,r,i){const s=r.classList;let o=ji(i,"base");void 0!==o&&s.add(...o),o=ji(i,"underlineStrikethrough");let l=!1;const c=t&b&&t&N;void 0!==o&&(n&b&&n&N?(l=!0,c||s.add(...o)):c&&s.remove(...o));for(const e in $){const r=$[e];if(o=ji(i,e),void 0!==o)if(n&r){if(l&&("underline"===e||"strikethrough"===e)){t&r&&s.remove(...o);continue}t&r&&(!c||"underline"!==e)&&"strikethrough"!==e||s.add(...o)}else t&r&&s.remove(...o)}}function Sn(e,t,n){const r=t.firstChild,i=n.isComposing(),o=e+(i?I:"");if(null==r)t.textContent=o;else{const e=r.nodeValue;if(e!==o)if(i||s){const[t,n,i]=function(e,t){const n=e.length,r=t.length;let i=0,s=0;for(;i<n&&i<r&&e[i]===t[i];)i++;for(;s+i<n&&s+i<r&&e[n-s-1]===t[r-s-1];)s++;return[i,n-i-s,t.slice(i,r-s)]}(e,o);0!==n&&r.deleteData(t,n),r.insertData(t,i)}else r.nodeValue=o}}function Tn(e,t,n,r,i,s){Sn(i,e,t);const o=s.theme.text;void 0!==o&&Cn(0,0,r,e,o)}function vn(e,t){const n=document.createElement(t);return n.appendChild(e),n}class Nn extends dn{static getType(){return"text"}static clone(e){return new Nn(e.__text,e.__key)}afterCloneFrom(e){super.afterCloneFrom(e),this.__text=e.__text,this.__format=e.__format,this.__style=e.__style,this.__mode=e.__mode,this.__detail=e.__detail}constructor(e="",t){super(t),this.__text=e,this.__format=0,this.__style="",this.__mode=0,this.__detail=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){const e=this.getLatest();return H[e.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===Ci()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return!!(1&this.getLatest().__detail)}isUnmergeable(){return!!(2&this.getLatest().__detail)}hasFormat(e){const t=$[e];return!!(this.getFormat()&t)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(e,t){return _i(this.getLatest().__format,e,t)}canHaveFormat(){return!0}createDOM(e,t){const n=this.__format,r=yn(0,n),i=xn(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));Tn(l,this,0,n,this.__text,e);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=yn(0,s),c=yn(0,o),a=xn(0,s),u=xn(0,o);if((null===l?a:l)!==(null===c?u:c))return!0;if(l===c&&a!==u){const e=n.firstChild;null==e&&t(48);const s=document.createElement(u);return Tn(s,this,0,o,i,r),n.replaceChild(s,e),!1}let f=n;null!==c&&null!==l&&(f=n.firstChild,null==f&&t(49)),Sn(i,f,this);const d=r.theme.text;void 0!==d&&s!==o&&Cn(0,s,o,f,d);const h=e.__style,g=this.__style;return h!==g&&(n.style.cssText=g),!1}static importDOM(){return{"#text":()=>({conversion:wn,priority:0}),b:()=>({conversion:kn,priority:0}),code:()=>({conversion:Dn,priority:0}),em:()=>({conversion:Dn,priority:0}),i:()=>({conversion:Dn,priority:0}),mark:()=>({conversion:Dn,priority:0}),s:()=>({conversion:Dn,priority:0}),span:()=>({conversion:bn,priority:0}),strong:()=>({conversion:Dn,priority:0}),sub:()=>({conversion:Dn,priority:0}),sup:()=>({conversion:Dn,priority:0}),u:()=>({conversion:Dn,priority:0})}}static importJSON(e){return Pn().updateFromJSON(e)}updateFromJSON(e){return super.updateFromJSON(e).setTextContent(e.text).setFormat(e.format).setDetail(e.detail).setMode(e.mode).setStyle(e.style)}exportDOM(e){let{element:n}=super.exportDOM(e);return ps(n)||t(132),n.style.whiteSpace="pre-wrap",this.hasFormat("bold")&&(n=vn(n,"b")),this.hasFormat("italic")&&(n=vn(n,"i")),this.hasFormat("strikethrough")&&(n=vn(n,"s")),this.hasFormat("underline")&&(n=vn(n,"u")),{element:n}}exportJSON(){return{detail:this.getDetail(),format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),...super.exportJSON()}}selectionTransform(e,t){}setFormat(e){const t=this.getWritable();return t.__format="string"==typeof e?$[e]:e,t}setDetail(e){const t=this.getWritable();return t.__detail="string"==typeof e?K[e]:e,t}setStyle(e){const t=this.getWritable();return t.__style=e,t}toggleFormat(e){const t=_i(this.getFormat(),e,null);return this.setFormat(t)}toggleDirectionless(){const e=this.getWritable();return e.__detail^=1,e}toggleUnmergeable(){const e=this.getWritable();return e.__detail^=2,e}setMode(e){const t=j[e];if(this.__mode===t)return this;const n=this.getWritable();return n.__mode=t,n}setTextContent(e){if(this.__text===e)return this;const t=this.getWritable();return t.__text=e,t}select(e,t){Tr();let n=e,r=t;const i=or(),s=this.getTextContent(),o=this.__key;if("string"==typeof s){const e=s.length;void 0===n&&(n=e),void 0===r&&(r=e)}else n=0,r=0;if(!Jn(i))return nr(o,n,o,r,"text","text");{const e=Ci();e!==i.anchor.key&&e!==i.focus.key||xi(o),i.setTextNodeRange(this,n,this,r)}return i}selectStart(){return this.select(0,0)}selectEnd(){const e=this.getTextContentSize();return this.select(e,e)}spliceText(e,t,n,r){const i=this.getWritable(),s=i.__text,o=n.length;let l=e;l<0&&(l=o+l,l<0&&(l=0));const c=or();if(r&&Jn(c)){const t=e+o;c.setTextNodeRange(i,t,i,t)}const a=s.slice(0,l)+n+s.slice(l+t);return i.__text=a,i}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...e){Tr();const t=this.getLatest(),n=t.getTextContent();if(""===n)return[];const r=t.__key,i=Ci(),s=n.length;e.sort(((e,t)=>e-t)),e.push(s);const o=[],l=e.length;for(let t=0,r=0;t<s&&r<=l;r++){const i=e[r];i>t&&(o.push(n.slice(t,i)),t=i)}const c=o.length;if(1===c)return[t];const a=o[0],u=t.getParent();let f;const d=t.getFormat(),h=t.getStyle(),g=t.__detail;let _=!1,p=null,m=null;const y=or();if(Jn(y)){const[e,t]=y.isBackward()?[y.focus,y.anchor]:[y.anchor,y.focus];"text"===e.type&&e.key===r&&(p=e),"text"===t.type&&t.key===r&&(m=t)}t.isSegmented()?(f=Pn(a),f.__format=d,f.__style=h,f.__detail=g,_=!0):(f=t.getWritable(),f.__text=a);const x=[f];for(let e=1;e<c;e++){const t=Pn(o[e]);t.__format=d,t.__style=h,t.__detail=g;const n=t.__key;i===r&&xi(n),x.push(t)}const C=p?p.offset:null,S=m?m.offset:null;let T=0;for(const e of x){if(!p&&!m)break;const t=T+e.getTextContentSize();if(null!==p&&null!==C&&C<=t&&C>=T&&(p.set(e.getKey(),C-T,"text"),C<t&&(p=null)),null!==m&&null!==S&&S<=t&&S>=T){m.set(e.getKey(),S-T,"text");break}T=t}if(null!==u){!function(e){const t=e.getPreviousSibling(),n=e.getNextSibling();null!==t&&yi(t);null!==n&&yi(n)}(this);const e=u.getWritable(),t=this.getIndexWithinParent();_?(e.splice(t,0,x),this.remove()):e.splice(t,1,x),Jn(y)&&cr(y,u,t,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;Ci()===i&&xi(r);const l=or();if(Jn(l)){const t=l.anchor,s=l.focus;null!==t&&t.key===i&&fr(t,n,r,e,o),null!==s&&s.key===i&&fr(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!1}}function bn(e){return{forChild:Ln(e.style),node:null}}function kn(e){const t=e,n="normal"===t.style.fontWeight;return{forChild:Ln(t.style,n?void 0:"bold"),node:null}}const En=new WeakMap;function On(e){if(!ps(e))return!1;if("PRE"===e.nodeName)return!0;const t=e.style.whiteSpace;return"string"==typeof t&&t.startsWith("pre")}function wn(e){const n=e;null===e.parentElement&&t(129);let r=n.textContent||"";if(null!==function(e){let t,n=e.parentNode;const r=[e];for(;null!==n&&void 0===(t=En.get(n))&&!On(n);)r.push(n),n=n.parentNode;const i=void 0===t?n:t;for(let e=0;e<r.length;e++)En.set(r[e],i);return i}(n)){const e=r.split(/(\r?\n|\t)/),t=[],n=e.length;for(let r=0;r<n;r++){const n=e[r];"\n"===n||"\r\n"===n?t.push(_n()):"\t"===n?t.push(Rn()):""!==n&&t.push(Pn(n))}return{node:t}}if(r=r.replace(/\r/g,"").replace(/[ \t\n]+/g," "),""===r)return{node:null};if(" "===r[0]){let e=n,t=!0;for(;null!==e&&null!==(e=Mn(e,!1));){const n=e.textContent||"";if(n.length>0){/[ \t\n]$/.test(n)&&(r=r.slice(1)),t=!1;break}}t&&(r=r.slice(1))}if(" "===r[r.length-1]){let e=n,t=!0;for(;null!==e&&null!==(e=Mn(e,!0));){if((e.textContent||"").replace(/^( |\t|\r?\n)+/,"").length>0){t=!1;break}}t&&(r=r.slice(0,r.length-1))}return""===r?{node:null}:{node:Pn(r)}}function Mn(e,t){let n=e;for(;;){let e;for(;null===(e=t?n.nextSibling:n.previousSibling);){const e=n.parentElement;if(null===e)return null;n=e}if(n=e,ps(n)){const e=n.style.display;if(""===e&&!xs(n)||""!==e&&!e.startsWith("inline"))return null}let r=n;for(;null!==(r=t?n.firstChild:n.lastChild);)n=r;if(di(n))return n;if("BR"===n.nodeName)return null}}const An={code:"code",em:"italic",i:"italic",mark:"highlight",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function Dn(e){const t=An[e.nodeName.toLowerCase()];return void 0===t?{node:null}:{forChild:Ln(e.style,t),node:null}}function Pn(e=""){return as(new Nn(e))}function In(e){return e instanceof Nn}function Ln(e,t){const n=e.fontWeight,r=e.textDecoration.split(" "),i="700"===n||"bold"===n,s=r.includes("line-through"),o="italic"===e.fontStyle,l=r.includes("underline"),c=e.verticalAlign;return e=>In(e)?(i&&!e.hasFormat("bold")&&e.toggleFormat("bold"),s&&!e.hasFormat("strikethrough")&&e.toggleFormat("strikethrough"),o&&!e.hasFormat("italic")&&e.toggleFormat("italic"),l&&!e.hasFormat("underline")&&e.toggleFormat("underline"),"sub"!==c||e.hasFormat("subscript")||e.toggleFormat("subscript"),"super"!==c||e.hasFormat("superscript")||e.toggleFormat("superscript"),t&&!e.hasFormat(t)&&e.toggleFormat(t),e):e}class Fn extends Nn{static getType(){return"tab"}static clone(e){return new Fn(e.__key)}constructor(e){super("\t",e),this.__detail=2}static importDOM(){return null}createDOM(e){const t=super.createDOM(e),n=ji(e.theme,"tab");if(void 0!==n){t.classList.add(...n)}return t}static importJSON(e){return Rn().updateFromJSON(e)}setTextContent(e){return"\t"!==e&&""!==e&&t(126),super.setTextContent(e)}setDetail(e){return 2!==e&&t(127),this}setMode(e){return"normal"!==e&&t(128),this}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}function Rn(){return as(new Fn)}function Bn(e){return e instanceof Fn}class zn{constructor(e,t,n){this._selection=null,this.key=e,this.offset=t,this.type=n}is(e){return this.key===e.key&&this.offset===e.offset&&this.type===e.type}isBefore(e){let t=this.getNode(),n=e.getNode();const r=this.offset,i=e.offset;if(Kr(t)){const e=t.getDescendantByIndex(r);t=null!=e?e:t}if(Kr(n)){const e=n.getDescendantByIndex(i);n=null!=e?e:n}return t===n?r<i:t.isBefore(n)}getNode(){const e=Si(this.key);return null===e&&t(20),e}set(e,t,n,r){const i=this._selection,s=this.key;r&&this.key===e&&this.offset===t&&this.type===n||(this.key=e,this.offset=t,this.type=n,Sr()||(Ci()===s&&xi(e),null!==i&&(i.setCachedNodes(null),i.dirty=!0)))}}function Wn(e,t,n){return new zn(e,t,n)}function $n(e,t){let n=t.__key,r=e.offset,i="element";if(In(t)){i="text";const e=t.getTextContentSize();r>e&&(r=e)}else if(!Kr(t)){const e=t.getNextSibling();if(In(e))n=e.__key,r=0,i="text";else{const e=t.getParent();e&&(n=e.__key,r=t.getIndexWithinParent()+1)}}e.set(n,r,i)}function Kn(e,t){if(Kr(t)){const n=t.getLastDescendant();Kr(n)||In(n)?$n(e,n):$n(e,t)}else $n(e,t)}class Un{constructor(e){this._cachedNodes=null,this._nodes=e,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){if(!Hn(e))return!1;const t=this._nodes,n=e._nodes;return t.size===n.size&&Array.from(t).every((e=>n.has(e)))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}add(e){this.dirty=!0,this._nodes.add(e),this._cachedNodes=null}delete(e){this.dirty=!0,this._nodes.delete(e),this._cachedNodes=null}clear(){this.dirty=!0,this._nodes.clear(),this._cachedNodes=null}has(e){return this._nodes.has(e)}clone(){return new Un(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(e){}insertText(){}insertNodes(e){const t=this.getNodes(),n=t.length,r=t[n-1];let i;if(In(r))i=r.select();else{const e=r.getIndexWithinParent()+1;i=r.getParentOrThrow().select(e,e)}i.insertNodes(e);for(let e=0;e<n;e++)t[e].remove()}getNodes(){const e=this._cachedNodes;if(null!==e)return e;const t=this._nodes,n=[];for(const e of t){const t=Si(e);null!==t&&n.push(t)}return Sr()||(this._cachedNodes=n),n}getTextContent(){const e=this.getNodes();let t="";for(let n=0;n<e.length;n++)t+=e[n].getTextContent();return t}}function Jn(e){return e instanceof jn}class jn{constructor(e,t,n,r){this.anchor=e,this.focus=t,e._selection=this,t._selection=this,this._cachedNodes=null,this.format=n,this.style=r,this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(e){this._cachedNodes=e}is(e){return!!Jn(e)&&(this.anchor.is(e.anchor)&&this.focus.is(e.focus)&&this.format===e.format&&this.style===e.style)}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){const e=this._cachedNodes;if(null!==e)return e;const t=this.anchor,n=this.focus,r=t.isBefore(n),i=r?t:n,s=r?n:t,o=i.getNode(),l=s.getNode();let c=o,a=l,u=!1;const f=new Set;if(Kr(o)&&(u=i.offset>0&&i.offset>=o.getChildrenSize(),c=o.getDescendantByIndex(i.offset)||o),Kr(l)){const e=l.getChildAtIndex(s.offset);if(e){f.add(e.getKey()),a=Kr(e)&&e.getFirstDescendant()||e;for(let t=a;t&&!t.is(e);t=t.getParent())f.add(t.getKey())}else{const e=s.offset>0&&l.getChildAtIndex(s.offset-1);if(e)a=Kr(e)&&e.getLastDescendant()||e;else{let e=l.getParent();for(;null!==e;e=e.getParent()){f.add(e.getKey());const t=e.getNextSibling();if(t){a=t;break}}l.isEmpty()&&l.is(a)||f.add(a.getKey())}}}let d;if(c.is(a)||this.isCollapsed())d=Kr(c)&&c.getChildrenSize()>0?[]:[c];else{if(d=c.getNodesBetween(a),f.size>0)for(;d.length>0&&f.has(d[d.length-1].getKey());)d.pop();if(u){const e=d.findIndex((e=>!e.is(c)&&!e.isBefore(c)));d.splice(0,e)}}return Sr()||(this._cachedNodes=d),d}setTextNodeRange(e,t,n,r){this.anchor.set(e.__key,t,"text"),this.focus.set(n.__key,r,"text")}getTextContent(){const e=this.getNodes();if(0===e.length)return"";const t=e[0],n=e[e.length-1],r=this.anchor,i=this.focus,s=r.isBefore(i),[o,l]=Vn(this);let c="",a=!0;for(let u=0;u<e.length;u++){const f=e[u];if(Kr(f)&&!f.isInline())a||(c+="\n"),a=!f.isEmpty();else if(a=!1,In(f)){let e=f.getTextContent();f===t?f===n?"element"===r.type&&"element"===i.type&&i.offset!==r.offset||(e=o<l?e.slice(o,l):e.slice(l,o)):e=s?e.slice(o):e.slice(l):f===n&&(e=s?e.slice(0,l):e.slice(0,o)),c+=e}else!jr(f)&&!pn(f)||f===n&&this.isCollapsed()||(c+=f.getTextContent())}return c}applyDOMRange(e){const t=br(),n=t.getEditorState()._selection,r=tr(e.startContainer,e.startOffset,e.endContainer,e.endOffset,t,n);if(null===r)return;const[i,s]=r;this.anchor.set(i.key,i.offset,i.type,!0),this.focus.set(s.key,s.offset,s.type,!0),ce(this)}clone(){const e=this.anchor,t=this.focus;return new jn(Wn(e.key,e.offset,e.type),Wn(t.key,t.offset,t.type),this.format,this.style)}toggleFormat(e){this.format=_i(this.format,e,null),this.dirty=!0}setStyle(e){this.style=e,this.dirty=!0}hasFormat(e){const t=$[e];return!!(this.format&t)}insertRawText(e){const t=e.split(/(\r?\n|\t)/),n=[],r=t.length;for(let e=0;e<r;e++){const r=t[e];"\n"===r||"\r\n"===r?n.push(_n()):"\t"===r?n.push(Rn()):n.push(Pn(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(e,t,n,r){const i=e.getNode(),s=i.getChildAtIndex(e.offset),o=Pn(),l=Yr(i)?ti().append(o):o;o.setFormat(n),o.setStyle(r),null===s?i.append(l):s.insertBefore(l),e.is(t)&&t.set(o.__key,0,"text"),e.set(o.__key,0,"text")}(o,l,i,s),"element"===l.type&&no(l,ao(to(l,"next")));const c=o.offset;let a=l.offset;const u=this.getNodes(),f=u.length;let d=u[0];In(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&&(d.isSegmented()||d.isToken()||!d.canInsertTextAfter()||!g.canInsertTextAfter()&&null===d.getNextSibling())){let t=d.getNextSibling();if(In(t)&&t.canInsertTextBefore()&&!fi(t)||(t=Pn(),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&&(d.isSegmented()||d.isToken()||!d.canInsertTextBefore()||!g.canInsertTextBefore()&&null===d.getPreviousSibling())){let t=d.getPreviousSibling();if(In(t)&&!fi(t)||(t=Pn(),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 e=Pn(d.getTextContent());e.setFormat(i),d.replace(e),d=e}else if(!this.isCollapsed()&&""!==e){const t=_.getParent();if(!g.canInsertTextBefore()||!g.canInsertTextAfter()||Kr(t)&&(!t.canInsertTextBefore()||!t.canInsertTextAfter()))return this.insertText(""),er(this.anchor,this.focus,null),void this.insertText(e)}if(1===f){if(d.isToken()){const t=Pn(e);return t.select(),void d.replace(t)}const t=d.getFormat(),n=d.getStyle();if(c!==a||t===i&&n===s){if(Bn(d)){const t=Pn(e);return t.setFormat(i),t.setStyle(s),t.select(),void d.replace(t)}}else{if(""!==d.getTextContent()){const t=Pn(e);if(t.setFormat(i),t.setStyle(s),t.select(),0===c)d.insertBefore(t,!1);else{const[e]=d.splitText(c);e.insertAfter(t,!1)}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,!0),""===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=Kr(d)?d:d.getParentOrThrow();let r=Kr(_)?_:_.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(In(_)&&!_.isToken()&&a!==_.getTextContentSize()){if(_.isSegmented()){const e=Pn(_.getTextContent());_.replace(e),_=e}Yr(l.getNode())||"text"!==l.type||(_=_.spliceText(0,a,"")),t.add(_.__key)}else{const e=_.getParentOrThrow();e.canBeEmpty()||1!==e.getChildrenSize()?_.remove():e.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 e=s.length-1;e>=0;e--){const t=s[e];if(t.is(d)||Kr(t)&&t.isParentOf(d))break;t.isAttached()&&(!o.has(t)||t.is(i)?g||p.insertAfter(t,!1):t.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(d.isToken())if(c===h)d.select();else{const t=Pn(e);t.select(),d.replace(t)}else d=d.spliceText(c,h-c,e,!0),""===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 e=or()===this;ro(this,co(io(this))),e&&or()!==this&&wi(this)}formatText(e,t=null){if(this.isCollapsed())return this.toggleFormat(e),void xi(null);const n=this.getNodes(),r=[];for(const e of n)In(e)&&r.push(e);const i=t=>{n.forEach((n=>{if(Kr(n)){const r=n.getFormatFlags(e,t);n.setText