@lexical/react 0.1.1 → 0.1.2

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.
@@ -0,0 +1,5 @@
1
+ 'use strict';var h=require("lexical"),n=require("@lexical/react/LexicalComposerContext"),q=require("@lexical/react/withSubscriptions"),v=require("react"),w=require("lexical/AutoLinkNode");function x(a,b){for(let c=0;c<b.length;c++){const d=b[c](a);if(d)return d}return null}function y(a){a=a.getPreviousSibling();h.$isElementNode(a)&&(a=a.getLastDescendant());return null===a||h.$isLineBreakNode(a)||h.$isTextNode(a)&&a.getTextContent().endsWith(" ")}
2
+ function C(a){a=a.getNextSibling();h.$isElementNode(a)&&(a=a.getFirstDescendant());return null===a||h.$isLineBreakNode(a)||h.$isTextNode(a)&&a.getTextContent().startsWith(" ")}
3
+ function D(a,b,c){var d=a.getChildren();const e=d.length;for(let f=0;f<e;f++){const k=d[f];if(!h.$isTextNode(k)||!k.isSimpleText()){E(a);c(null,a.getURL());return}}d=a.getTextContent();b=x(d,b);null===b||b.text!==d?(E(a),c(null,a.getURL())):y(a)&&C(a)?(d=a.getURL(),null!==b&&d!==b.url&&(a.setURL(b.url),c(b.url,d))):(E(a),c(null,a.getURL()))}function E(a){const b=a.getChildren();var c=b.length;for(--c;0<=c;c--)a.insertAfter(b[c]);a.remove();return b.map(d=>d.getLatest())}
4
+ function F(a,b,c){v.useEffect(()=>{const d=(...e)=>{c&&c(...e)};return q(a.registerNodes([w.AutoLinkNode]),a.addTransform(h.TextNode,e=>{var f=e.getParentOrThrow();if(w.$isAutoLinkNode(f))D(f,b,d);else{if(e.isSimpleText()){f=e.getTextContent();const G=f.length;let u=f,z=0,r=e;for(var k=0,g;(g=x(u,b))&&null!==g;){var t=g.index,l=z+t;const p=g.length;let A;A=0<l?" "===f[l-1]:y(e);let B;B=l+p<G?" "===f[l+p]:C(e);if(A&&B){var m=void 0;k=l-k;0===k?[m,r]=r.splitText(p):[,m,r]=r.splitText(k,k+p);l=w.$createAutoLinkNode(g.url);
5
+ l.append(h.$createTextNode(g.text));m.replace(l);k+=p;d(g.url,null)}t+=p;u=u.substring(t);z+=t}}g=e.getPreviousSibling();m=e.getNextSibling();e=e.getTextContent();w.$isAutoLinkNode(g)&&!e.startsWith(" ")&&(E(g),d(null,g.getURL()));w.$isAutoLinkNode(m)&&!e.endsWith(" ")&&(E(m),d(null,m.getURL()))}}),a.addTransform(w.AutoLinkNode,e=>{D(e,b,d)}))},[a,b,c])}module.exports=function({matchers:a,onChange:b}){const [c]=n.useLexicalComposerContext();F(c,a,b);return null};
@@ -1,2 +1,2 @@
1
1
  'use strict';var e=require("lexical"),f=require("@lexical/react/LexicalComposerContext"),k=require("react");
2
- module.exports=function({children:l,initialEditorStateRef:h,theme:g}){const c=k.useContext(f.LexicalComposerContext),m=k.useMemo(()=>{if(null!=g)var a=g;else if(null!=c){var d=c[0];var b=c[1].getTheme();null!=b&&(a=b)}d={theme:a||{},parentEditor:d};a=f.createLexicalComposerContext(c,a);b=void 0!==h?h._editor:null;null===b?b=e.createEditor({...d,context:a}):b._config={...d,context:a};return[b,a]},[g]);return k.createElement(f.LexicalComposerContext.Provider,{value:m},l)};
2
+ module.exports=function({children:l,initialDecoratorEditor:h,theme:g}){const c=k.useContext(f.LexicalComposerContext),m=k.useMemo(()=>{if(null!=g)var a=g;else if(null!=c){var d=c[0];var b=c[1].getTheme();null!=b&&(a=b)}d={theme:a||{},parentEditor:d};a=f.createLexicalComposerContext(c,a);b=void 0!==h?h.editor:null;null===b?b=e.createEditor({...d,context:a}):b._config={...d,context:a};return[b,a]},[g]);return k.createElement(f.LexicalComposerContext.Provider,{value:m},l)};
@@ -1,3 +1,3 @@
1
1
  'use strict';var b=require("react"),e=require("@lexical/react/LexicalComposerContext");
2
- module.exports=function({ariaActiveDescendantID:f,ariaAutoComplete:g,ariaControls:h,ariaDescribedBy:k,ariaExpanded:l,ariaLabel:m,ariaLabelledBy:n,ariaMultiline:p,ariaOwneeID:q,ariaRequired:r,autoCapitalize:t,autoComplete:u,autoCorrect:v,className:w,readOnly:a=!1,role:c="textbox",spellCheck:x=!1,tabIndex:y,testid:z}){const [d]=e.useLexicalComposerContext(),B=b.useCallback(A=>{d.setRootElement(A)},[d]);return b.createElement("div",{"aria-activedescendant":a?null:f,"aria-autocomplete":a?null:g,"aria-controls":a?
2
+ module.exports=function({ariaActiveDescendantID:f,ariaAutoComplete:g,ariaControls:h,ariaDescribedBy:k,ariaExpanded:l,ariaLabel:m,ariaLabelledBy:n,ariaMultiline:p,ariaOwneeID:q,ariaRequired:r,autoCapitalize:t,autoComplete:u,autoCorrect:v,className:w,readOnly:a=!1,role:c="textbox",spellCheck:x=!0,tabIndex:y,testid:z}){const [d]=e.useLexicalComposerContext(),B=b.useCallback(A=>{d.setRootElement(A)},[d]);return b.createElement("div",{"aria-activedescendant":a?null:f,"aria-autocomplete":a?null:g,"aria-controls":a?
3
3
  null:h,"aria-describedby":k,"aria-expanded":a?null:"combobox"===c?!!l:null,"aria-label":m,"aria-labelledby":n,"aria-multiline":p,"aria-owns":a?null:q,"aria-required":r,autoCapitalize:t,autoComplete:u,autoCorrect:v,className:w,contentEditable:!a,"data-testid":z,ref:B,role:a?null:c,spellCheck:x,tabIndex:y})};
@@ -0,0 +1,3 @@
1
+ 'use strict';var h=require("@lexical/react/LexicalComposerContext"),k=require("react"),m=require("lexical"),n=require("lexical/LinkNode");
2
+ function p(g){var b=m.$getSelection();m.$log("toggleLink");null!==b&&m.$setSelection(b);b=m.$getSelection();if(null!==b)if(b=b.extract(),null===g)b.forEach(c=>{c=c.getParent();if(n.$isLinkNode(c)){const a=c.getChildren();for(let d=0;d<a.length;d++)c.insertBefore(a[d]);c.remove()}});else{let c=null,a=null;if(1===b.length){var f=b[0];if(n.$isLinkNode(f)){f.setURL(g);return}f=f.getParent();if(n.$isLinkNode(f)){a=f;f.setURL(g);return}}b.forEach(d=>{var e=d.getParent();if(e!==a&&null!==e)if(e.is(c)||(c=
3
+ e,a=n.$createLinkNode(g),n.$isLinkNode(e)?null===d.getPreviousSibling()?e.insertBefore(a):e.insertAfter(a):d.insertBefore(a)),n.$isLinkNode(d)){if(null!==a){e=d.getChildren();for(let l=0;l<e.length;l++)a.append(e[l])}d.remove()}else null!==a&&a.append(d)})}}module.exports=function(){const [g]=h.useLexicalComposerContext();k.useEffect(()=>{const b=g.addListener("command",(c,a)=>"toggleLink"===c?(p(a),!0):!1,0),f=g.registerNodes([n.LinkNode]);return()=>{b();f()}},[g]);return null};
@@ -0,0 +1 @@
1
+ 'use strict';var a=require("@lexical/react/LexicalComposerContext"),b=require("@lexical/react/useLexicalList");module.exports=function(){const [c]=a.useLexicalComposerContext();b(c);return null};
@@ -0,0 +1 @@
1
+ 'use strict';var b=require("react"),e=require("@lexical/react/LexicalComposer"),f=require("@lexical/react/LexicalOnChangePlugin");module.exports=function({children:g,initialDecoratorEditor:a,theme:h}){const [c,k]=b.useState(null);b.useEffect(()=>{a.isEmpty()||null===c||a.init(c)},[a,c]);const m=b.useCallback((l,d)=>{l.isEmpty()?k(d):a.set(d)},[a]);return b.createElement(e,{initialEditor:a.editor,theme:h},b.createElement(f,{onChange:m}),g)};
@@ -0,0 +1,2 @@
1
+ 'use strict';var a=require("@lexical/react/LexicalComposerContext"),d=require("react");const e="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,f=e&&"documentMode"in document?document.documentMode:null;e&&/Win/.test(navigator.platform);e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;e&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);e&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);e&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);
2
+ e&&/^(?=.*Chrome).*/i.test(navigator.userAgent);e&&"InputEvent"in window&&!f?"getTargetRanges"in new window.InputEvent("input"):!1;var g=e?d.useLayoutEffect:d.useEffect;module.exports=function({onChange:b}){const [c]=a.useLexicalComposerContext();g(()=>{if(b)return c.addListener("update",({editorState:h})=>{b(h,c)})},[c,b]);return null};
@@ -15,12 +15,13 @@ b.execCommand("insertParagraph");break;case "insertFromYank":case "insertFromDro
15
15
  !0);break;case "deleteWordForward":b.execCommand("deleteWord",!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":b.execCommand("deleteLine",!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":b.execCommand("deleteLine",!1);break;case "formatStrikeThrough":b.execCommand("formatText","strikethrough");break;case "formatBold":b.execCommand("formatText","bold");break;case "formatItalic":b.execCommand("formatText","italic");break;case "formatUnderline":b.execCommand("formatText",
16
16
  "underline");break;case "historyUndo":b.execCommand("undo");break;case "historyRedo":b.execCommand("redo")}}})}function Q(a,b){a=window.getSelection();if(null!==a){var {anchorNode:c,anchorOffset:e,focusOffset:d}=a;null!==c&&3===c.nodeType&&(a=m.$getNearestNodeFromDOMNode(c),m.$isTextNode(a)&&S(a,c.nodeValue,e,d,b))}}function V(a){S(a.node,a.text,a.anchorOffset,a.focusOffset,!1)}
17
17
  const W=[["selectionchange",function(a,b){a=window.getSelection();const c=b.getRootElement();c&&!c.contains(a.anchorNode)||b.update(()=>{m.$log("onSelectionChange");const e=m.$getSelection();if(null!==e&&e.isCollapsed()){var d=e.anchor;"text"===d.type?(d=d.getNode(),e.format=d.getFormat()):"element"===d.type&&(e.format=0)}b.execCommand("selectionChange")})}],["keydown",function(a,b){K="Unidentified"===a.key&&229===a.keyCode;b.isComposing()||b.update(()=>{m.$log("onKeyDown");if(null!==m.$getSelection()){var {keyCode:c,
18
- shiftKey:e,ctrlKey:d,metaKey:f,altKey:h}=a;if(39!==c||d||f||h)if(37!==c||d||f||h)if(38!==c||d||f||h)if(40!==c||d||f||h)if(13===c&&e)b.execCommand("keyEnter",a);else if(B&&d&&79===c)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==c||e){var k=B?h||f?!1:8===c||72===c&&d:d||h||f?!1:8===c;k?8===c?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):(k=B?e||h||f?!1:46===c||68===c&&d:d||h||f?!1:46===c,k?46===c?b.execCommand("keyDelete",a):b.execCommand("deleteCharacter",
19
- !1):8===c&&(B?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===c&&(B?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):B&&f&&8===c?(a.preventDefault(),b.execCommand("deleteLine",!0)):B&&f&&46===c?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText","italic")):9!==c||h||
20
- d||f?90===c&&!e&&(B?f:d)?(a.preventDefault(),b.execCommand("undo")):(k=B?90===c&&f&&e:89===c&&d||90===c&&d&&e,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{m.$log("onCompositionStart");const c=m.$getSelection();if(null!==c&&!b.isComposing()){const e=
21
- c.anchor;m.$setCompositionKey(e.key);null==a.data||K&&"element"!==e.type&&c.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){C?setTimeout(()=>{P(a,b)},0):P(a,b)}],["cut",function(a,b){O(a,b);b.update(()=>{m.$log("onCutForPlainText");const c=m.$getSelection();null!==c&&c.removeText()})}],["copy",O],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{m.$log("onPasteForPlainText");const c=m.$getSelection(),e=a.clipboardData;
22
- null!=e&&null!==c&&L(e,c)})}],["input",function(a,b){a.stopPropagation();b.update(()=>{m.$log("onInput");const c=m.$getSelection(),e=a.data;null!=e&&null!==c&&T(c,e,!1)?b.execCommand("insertText",e):Q(b,!1);m.$flushMutations()})}],["click",function(a,b){b.update(()=>{m.$log("onClick");const c=m.$getSelection();if(null!==c){var e=c.anchor;"element"===e.type&&0===e.offset&&c.isCollapsed()&&1===m.$getRoot().getChildrenSize()&&e.getNode().getTopLevelElementOrThrow().isEmpty()&&(e=R(b),null!==e&&c.is(e)&&
23
- (window.getSelection().removeAllRanges(),c.dirty=!0))}})}]];D?W.push(["beforeinput",U]):W.push(["drop",N]);function X(a,b){const c=n.$createParagraphNode();a.append(c);a=document.activeElement;(null!==m.$getSelection()||null!==a&&a===b.getRootElement())&&c.select()}function Y(a){a.update(()=>{m.$log("initEditor");const b=m.$getRoot();null===b.getFirstChild()&&X(b,a)})}function aa(a,b){a.update(()=>{m.$log("clearEditor");const c=m.$getRoot();c.clear();X(c,a)},{onUpdate:b})}
18
+ shiftKey:e,ctrlKey:d,metaKey:f,altKey:h}=a;if(39!==c||d||f||h)if(37!==c||d||f||h)if(38!==c||d||f||h)if(40!==c||d||f||h)if(13===c&&e)b.execCommand("keyEnter",a);else if(B&&d&&79===c)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==c||e){var k=B?h||f?!1:8===c||72===c&&d:d||h||f?!1:8===c;k?8===c?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):27===c?b.execCommand("keyEscape",a):(k=B?e||h||f?!1:46===c||68===c&&d:d||h||f?!1:46===c,k?46===c?b.execCommand("keyDelete",
19
+ a):b.execCommand("deleteCharacter",!1):8===c&&(B?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===c&&(B?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):B&&f&&8===c?(a.preventDefault(),b.execCommand("deleteLine",!0)):B&&f&&46===c?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===c&&(B?f:d)?(a.preventDefault(),b.execCommand("formatText",
20
+ "italic")):9!==c||h||d||f?90===c&&!e&&(B?f:d)?(a.preventDefault(),b.execCommand("undo")):(k=B?90===c&&f&&e:89===c&&d||90===c&&d&&e,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{m.$log("onCompositionStart");const c=m.$getSelection();if(null!==
21
+ c&&!b.isComposing()){const e=c.anchor;m.$setCompositionKey(e.key);null==a.data||K&&"element"!==e.type&&c.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){C?setTimeout(()=>{P(a,b)},0):P(a,b)}],["cut",function(a,b){O(a,b);b.update(()=>{m.$log("onCutForPlainText");const c=m.$getSelection();null!==c&&c.removeText()})}],["copy",O],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{m.$log("onPasteForPlainText");const c=
22
+ m.$getSelection(),e=a.clipboardData;null!=e&&null!==c&&L(e,c)})}],["input",function(a,b){a.stopPropagation();b.update(()=>{m.$log("onInput");const c=m.$getSelection(),e=a.data;null!=e&&null!==c&&T(c,e,!1)?b.execCommand("insertText",e):Q(b,!1);m.$flushMutations()})}],["click",function(a,b){b.update(()=>{m.$log("onClick");const c=m.$getSelection();if(null!==c){var e=c.anchor;"element"===e.type&&0===e.offset&&c.isCollapsed()&&1===m.$getRoot().getChildrenSize()&&e.getNode().getTopLevelElementOrThrow().isEmpty()&&
23
+ (e=R(b),null!==e&&c.is(e)&&(window.getSelection().removeAllRanges(),c.dirty=!0))}})}]];D?W.push(["beforeinput",U]):W.push(["drop",N]);function X(a,b){const c=n.$createParagraphNode();a.append(c);a=document.activeElement;(null!==m.$getSelection()||null!==a&&a===b.getRootElement())&&c.select()}function Y(a){a.update(()=>{m.$log("initEditor");const b=m.$getRoot();null===b.getFirstChild()&&X(b,a)})}
24
+ function aa(a,b){a.update(()=>{m.$log("clearEditor");const c=m.$getRoot();c.clear();X(c,a)},{onUpdate:b})}
24
25
  function ba(a,b){E(()=>{const c=v(a.registerNodes([n.ParagraphNode]),a.addListener("textmutation",V),a.addListener("command",(e,d)=>{const f=m.$getSelection();if(null===f)return!1;switch(e){case "deleteCharacter":return f.deleteCharacter(d),!0;case "deleteWord":return f.deleteWord(d),!0;case "deleteLine":return f.deleteLine(d),!0;case "insertText":return f.insertText(d),!0;case "removeText":return f.removeText(),!0;case "insertLineBreak":return f.insertLineBreak(d),!0;case "insertParagraph":return f.insertLineBreak(),
25
26
  !0;case "indentContent":case "outdentContent":case "insertImage":case "insertTable":case "formatElement":case "formatText":return!0;case "keyArrowLeft":e=d.shiftKey;if(M(f,!0))return d.preventDefault(),d=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(d?"extend":"move",!e,"character"),!0;break;case "keyArrowRight":e=d.shiftKey;if(M(f,!1))return d.preventDefault(),d=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(d?"extend":"move",e,"character"),
26
27
  !0;break;case "keyBackspace":return d.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return d.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return d.preventDefault(),a.execCommand("insertLineBreak");case "clearEditor":aa(a)}return!1},0));b&&Y(a);return c},[a,b]);G(W,a);I(a)}
@@ -2,7 +2,7 @@
2
2
  const G="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,ba=G&&"documentMode"in document?document.documentMode:null;G&&/Win/.test(navigator.platform);G&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;const H=G&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ca=G&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);G&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);G&&/^(?=.*Chrome).*/i.test(navigator.userAgent);
3
3
  const da=G&&"InputEvent"in window&&!ba?"getTargetRanges"in new window.InputEvent("input"):!1;var I=G?g.useLayoutEffect:g.useEffect;function J(a,b){return"selectionchange"===a||"keyup"===a||"pointerup"===a||"pointercancel"===a?b.ownerDocument:b}
4
4
  function ea(a,b){I(()=>{const e=[],f=[];for(let d=0;d<a.length;d++){const [c,h]=a[d],k=l=>{const m=b.getRootElement();null!==m&&"true"===m.contentEditable&&h(l,b)};e.push(l=>{J(c,l).addEventListener(c,k)});f.push(l=>{J(c,l).removeEventListener(c,k)})}return b.addListener("root",(d,c)=>{null!==c&&f.forEach(h=>h(c));null!==d&&e.forEach(h=>h(d))})},[b,a])}
5
- function K(a){a=a.getLatest();const b=a.constructor.clone(a);b.__parent=a.__parent;v.$isElementNode(a)&&v.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):v.$isTextNode(a)&&v.$isTextNode(b)?(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail):v.$isDecoratorNode(a)&&v.$isDecoratorNode(b)&&(b.__ref=a.__ref);return b}
5
+ function K(a){a=a.getLatest();const b=a.constructor.clone(a);b.__parent=a.__parent;v.$isElementNode(a)&&v.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):v.$isTextNode(a)&&v.$isTextNode(b)?(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail):v.$isDecoratorNode(a)&&v.$isDecoratorNode(b)&&(b.__state=a.__state);return b}
6
6
  function L(a,b,e,f,d){for(var c=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy();)b=b.getParent();if(null===b)break;if(!v.$isElementNode(a)||!a.excludeFromCopy()){const h=a.getKey();let k=d.get(h);const l=void 0===k;l&&(k=K(a),d.set(h,k));!v.$isTextNode(k)||k.isSegmented()||k.isToken()?v.$isElementNode(k)&&(k.__children=k.__children.slice(e?c:0,e?void 0:c+1)):k.__text=k.__text.slice(e?c:0,e?void 0:c);if(v.$isRootNode(b)){l&&f.push(h);break}}c=d.get(b.getKey());c=v.$isElementNode(c)?
7
7
  c.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function M(a,b){const e=b.split(/\r?\n/);if(1===e.length)a.insertText(b);else{b=[];const f=e.length;for(let d=0;d<f;d++){const c=e[d];""!==c&&b.push(v.$createTextNode(c));d!==f-1&&b.push(v.$createLineBreakNode())}a.insertNodes(b)}}
8
8
  function fa(a){g.useEffect(()=>{const b=e=>{var f=a.getRootElement();if(document.activeElement===f&&(f=e.data,"string"===typeof f)){try{var d=JSON.parse(f)}catch(c){return}if(d&&"nuanria_messaging"===d.protocol&&"request"===d.type&&(d=d.payload)&&"makeChanges"===d.functionId&&(d=d.args)){const [c,h,k,l,m]=d;a.update(()=>{v.$log("useLexicalDragonSupport");const n=v.$getSelection();if(null!==n){var t=n.anchor;let p=t.getNode(),r=0,q=0;v.$isTextNode(p)&&0<=c&&0<=h&&(r=c,q=c+h,n.setTextNodeRange(p,r,
@@ -22,18 +22,18 @@ b.execCommand("insertParagraph");break;case "insertFromYank":case "insertFromDro
22
22
  !0);break;case "deleteWordForward":b.execCommand("deleteWord",!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":b.execCommand("deleteLine",!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":b.execCommand("deleteLine",!1);break;case "formatStrikeThrough":b.execCommand("formatText","strikethrough");break;case "formatBold":b.execCommand("formatText","bold");break;case "formatItalic":b.execCommand("formatText","italic");break;case "formatUnderline":b.execCommand("formatText",
23
23
  "underline");break;case "historyUndo":b.execCommand("undo");break;case "historyRedo":b.execCommand("redo")}}})}function U(a,b){a=window.getSelection();if(null!==a){var {anchorNode:e,anchorOffset:f,focusOffset:d}=a;null!==e&&3===e.nodeType&&(a=v.$getNearestNodeFromDOMNode(e),v.$isTextNode(a)&&V(a,e.nodeValue,f,d,b))}}function na(a){V(a.node,a.text,a.anchorOffset,a.focusOffset,!1)}
24
24
  const X=[["selectionchange",function(a,b){a=window.getSelection();const e=b.getRootElement();e&&!e.contains(a.anchorNode)||b.update(()=>{v.$log("onSelectionChange");const f=v.$getSelection();if(null!==f&&f.isCollapsed()){var d=f.anchor;"text"===d.type?(d=d.getNode(),f.format=d.getFormat()):"element"===d.type&&(f.format=0)}b.execCommand("selectionChange")})}],["keydown",function(a,b){O="Unidentified"===a.key&&229===a.keyCode;b.isComposing()||b.update(()=>{v.$log("onKeyDown");if(null!==v.$getSelection()){var {keyCode:e,
25
- shiftKey:f,ctrlKey:d,metaKey:c,altKey:h}=a;if(39!==e||d||c||h)if(37!==e||d||c||h)if(38!==e||d||c||h)if(40!==e||d||c||h)if(13===e&&f)b.execCommand("keyEnter",a);else if(H&&d&&79===e)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==e||f){var k=H?h||c?!1:8===e||72===e&&d:d||h||c?!1:8===e;k?8===e?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):(k=H?f||h||c?!1:46===e||68===e&&d:d||h||c?!1:46===e,k?46===e?b.execCommand("keyDelete",a):b.execCommand("deleteCharacter",
26
- !1):8===e&&(H?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===e&&(H?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):H&&c&&8===e?(a.preventDefault(),b.execCommand("deleteLine",!0)):H&&c&&46===e?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText","italic")):9!==e||h||
27
- d||c?90===e&&!f&&(H?c:d)?(a.preventDefault(),b.execCommand("undo")):(k=H?90===e&&c&&f:89===e&&d||90===e&&d&&f,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{v.$log("onCompositionStart");const e=v.$getSelection();if(null!==e&&!b.isComposing()){const f=
28
- e.anchor;v.$setCompositionKey(f.key);null==a.data||O&&"element"!==f.type&&e.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){ca?setTimeout(()=>{T(a,b)},0):T(a,b)}],["cut",function(a,b){S(a,b);b.update(()=>{v.$log("onCutForRichText");const e=v.$getSelection();null!==e&&e.removeText()})}],["copy",S],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{v.$log("onPasteForRichText");const e=v.$getSelection();var f=a.clipboardData;
29
- if(null!=f&&null!==e)a:{var d=f.getData("application/x-lexical-nodes");if(d)try{var c=JSON.parse(d);const {range:m,nodeMap:n}=c;var h=new Map(n);d=[];for(c=0;c<m.length;c++){var k=h.get(m[c]);if(void 0!==k){var l=v.$createNodeFromParse(k,h);d.push(l)}}e.insertNodes(d);break a}catch(m){}if(h=f.getData("text/html")){h=(new DOMParser).parseFromString(h,"text/html");f=[];h=h.body?Array.from(h.body.childNodes):[];k=h.length;for(l=0;l<k;l++)d=P(h[l],ia,b),null!==d&&(f=f.concat(d));h=[];k=null;for(l=0;l<
30
- f.length;l++)d=f[l],!v.$isElementNode(d)||d.isInline()?(null===k&&(k=C.$createParagraphNode(),h.push(k)),null!==k&&k.append(d)):(h.push(d),k=null);e.insertNodes(h)}else Q(f,e)}})}],["input",function(a,b){a.stopPropagation();b.update(()=>{v.$log("onInput");const e=v.$getSelection(),f=a.data;null!=f&&null!==e&&W(e,f,!1)?b.execCommand("insertText",f):U(b,!1);v.$flushMutations()})}],["click",function(a,b){b.update(()=>{v.$log("onClick");const e=v.$getSelection();if(null!==e){var f=e.anchor;"element"===
31
- f.type&&0===f.offset&&e.isCollapsed()&&1===v.$getRoot().getChildrenSize()&&f.getNode().getTopLevelElementOrThrow().isEmpty()&&(f=la(b),null!==f&&e.is(f)&&(window.getSelection().removeAllRanges(),e.dirty=!0))}})}]];da?X.push(["beforeinput",ma]):X.push(["drop",ja]);function Y(a,b){const e=C.$createParagraphNode();a.append(e);a=document.activeElement;(null!==v.$getSelection()||null!==a&&a===b.getRootElement())&&e.select()}
25
+ shiftKey:f,ctrlKey:d,metaKey:c,altKey:h}=a;if(39!==e||d||c||h)if(37!==e||d||c||h)if(38!==e||d||c||h)if(40!==e||d||c||h)if(13===e&&f)b.execCommand("keyEnter",a);else if(H&&d&&79===e)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==e||f){var k=H?h||c?!1:8===e||72===e&&d:d||h||c?!1:8===e;k?8===e?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):27===e?b.execCommand("keyEscape",a):(k=H?f||h||c?!1:46===e||68===e&&d:d||h||c?!1:46===e,k?46===e?b.execCommand("keyDelete",
26
+ a):b.execCommand("deleteCharacter",!1):8===e&&(H?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===e&&(H?h:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):H&&c&&8===e?(a.preventDefault(),b.execCommand("deleteLine",!0)):H&&c&&46===e?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===e&&(H?c:d)?(a.preventDefault(),b.execCommand("formatText",
27
+ "italic")):9!==e||h||d||c?90===e&&!f&&(H?c:d)?(a.preventDefault(),b.execCommand("undo")):(k=H?90===e&&c&&f:89===e&&d||90===e&&d&&f,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{v.$log("onCompositionStart");const e=v.$getSelection();if(null!==
28
+ e&&!b.isComposing()){const f=e.anchor;v.$setCompositionKey(f.key);null==a.data||O&&"element"!==f.type&&e.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){ca?setTimeout(()=>{T(a,b)},0):T(a,b)}],["cut",function(a,b){S(a,b);b.update(()=>{v.$log("onCutForRichText");const e=v.$getSelection();null!==e&&e.removeText()})}],["copy",S],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{v.$log("onPasteForRichText");const e=
29
+ v.$getSelection();var f=a.clipboardData;if(null!=f&&null!==e)a:{var d=f.getData("application/x-lexical-nodes");if(d)try{var c=JSON.parse(d);const {range:m,nodeMap:n}=c;var h=new Map(n);d=[];for(c=0;c<m.length;c++){var k=h.get(m[c]);if(void 0!==k){var l=v.$createNodeFromParse(k,h);d.push(l)}}e.insertNodes(d);break a}catch(m){}if(h=f.getData("text/html")){h=(new DOMParser).parseFromString(h,"text/html");f=[];h=h.body?Array.from(h.body.childNodes):[];k=h.length;for(l=0;l<k;l++)d=P(h[l],ia,b),null!==
30
+ d&&(f=f.concat(d));h=[];k=null;for(l=0;l<f.length;l++)d=f[l],!v.$isElementNode(d)||d.isInline()?(null===k&&(k=C.$createParagraphNode(),h.push(k)),null!==k&&k.append(d)):(h.push(d),k=null);e.insertNodes(h)}else Q(f,e)}})}],["input",function(a,b){a.stopPropagation();b.update(()=>{v.$log("onInput");const e=v.$getSelection(),f=a.data;null!=f&&null!==e&&W(e,f,!1)?b.execCommand("insertText",f):U(b,!1);v.$flushMutations()})}],["click",function(a,b){b.update(()=>{v.$log("onClick");const e=v.$getSelection();
31
+ if(null!==e){var f=e.anchor;"element"===f.type&&0===f.offset&&e.isCollapsed()&&1===v.$getRoot().getChildrenSize()&&f.getNode().getTopLevelElementOrThrow().isEmpty()&&(f=la(b),null!==f&&e.is(f)&&(window.getSelection().removeAllRanges(),e.dirty=!0))}})}]];da?X.push(["beforeinput",ma]):X.push(["drop",ja]);function Y(a,b){const e=C.$createParagraphNode();a.append(e);a=document.activeElement;(null!==v.$getSelection()||null!==a&&a===b.getRootElement())&&e.select()}
32
32
  function oa(a){a.update(()=>{v.$log("initEditor");const b=v.$getRoot();null===b.getFirstChild()&&Y(b,a)})}function pa(a,b){a.update(()=>{v.$log("clearEditor");const e=v.$getRoot();e.clear();Y(e,a)},{onUpdate:b})}
33
33
  function qa(a,b){I(()=>{const e=aa(a.registerNodes([w.HeadingNode,y.ListNode,z.QuoteNode,B.CodeNode,C.ParagraphNode,D.ListItemNode]),a.addListener("textmutation",na),a.addListener("command",(f,d)=>{var c=v.$getSelection();if(null===c)return!1;switch(f){case "deleteCharacter":return c.deleteCharacter(d),!0;case "deleteWord":return c.deleteWord(d),!0;case "deleteLine":return c.deleteLine(d),!0;case "insertText":return c.insertText(d),!0;case "removeText":return c.removeText(),!0;case "formatText":return c.formatText(d),
34
34
  !0;case "formatElement":return c=c.anchor.getNode(),(v.$isElementNode(c)?c:c.getParentOrThrow()).setFormat(d),!0;case "insertLineBreak":return c.insertLineBreak(d),!0;case "insertParagraph":return c.insertParagraph(),!0;case "indentContent":return c=c.anchor,c="element"===c.type?c.getNode():c.getNode().getParentOrThrow(),c.canInsertTab()?a.execCommand("insertText","\t"):10!==c.getIndent()&&c.setIndent(c.getIndent()+1),!0;case "outdentContent":return c=c.anchor,d=c.getNode(),f="element"===c.type?c.getNode():
35
35
  c.getNode().getParentOrThrow(),f.canInsertTab()?"\t"===d.getTextContent()[c.offset-1]&&a.execCommand("deleteCharacter",!0):0!==f.getIndent()&&f.setIndent(f.getIndent()-1),!0;case "keyArrowLeft":f=d.shiftKey;if(R(c,!0))return d.preventDefault(),d=f,f="rtl"===c.anchor.getNode().getParentOrThrow().getDirection(),c.modify(d?"extend":"move",!f,"character"),!0;break;case "keyArrowRight":f=d.shiftKey;if(R(c,!1))return d.preventDefault(),d=f,f="rtl"===c.anchor.getNode().getParentOrThrow().getDirection(),
36
- c.modify(d?"extend":"move",f,"character"),!0;break;case "keyBackspace":return d.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return d.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return d.preventDefault(),d.shiftKey?a.execCommand("insertLineBreak"):a.execCommand("insertParagraph");case "keyTab":return d.preventDefault(),a.execCommand(d.shiftKey?"outdentContent":"indentContent");case "clearEditor":pa(a)}return!1},0));b&&oa(a);return e},[a,b]);ea(X,a);
37
- fa(a)}function ra(a){const [b,e]=g.useState(()=>a.getDecorators());I(()=>a.addListener("decorator",f=>{F.flushSync(()=>{e(f)})}),[a]);return g.useMemo(()=>{const f=[],d=Object.keys(b);for(let h=0;h<d.length;h++){var c=d[h];const k=b[c];c=a.getElementByKey(c);null!==c&&f.push(F.createPortal(k,c))}return f},[b,a])}function sa(a,b=!0){if(a)return!1;a=v.$getRoot().getTextContent();b&&(a=a.trim());return""===a}
36
+ c.modify(d?"extend":"move",f,"character"),!0;break;case "keyBackspace":return d.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return d.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return d.preventDefault(),d.shiftKey?a.execCommand("insertLineBreak"):a.execCommand("insertParagraph");case "keyTab":return d.preventDefault(),a.execCommand(d.shiftKey?"outdentContent":"indentContent");case "keyEscape":return a.blur(),!0;case "clearEditor":pa(a)}return!1},
37
+ 0));b&&oa(a);return e},[a,b]);ea(X,a);fa(a)}function ra(a){const [b,e]=g.useState(()=>a.getDecorators());I(()=>a.addListener("decorator",f=>{F.flushSync(()=>{e(f)})}),[a]);return g.useMemo(()=>{const f=[],d=Object.keys(b);for(let h=0;h<d.length;h++){var c=d[h];const k=b[c];c=a.getElementByKey(c);null!==c&&f.push(F.createPortal(k,c))}return f},[b,a])}function sa(a,b=!0){if(a)return!1;a=v.$getRoot().getTextContent();b&&(a=a.trim());return""===a}
38
38
  function ta(a){if(!sa(a,!1))return!1;a=v.$getRoot().getChildren();const b=a.length;if(1<b)return!1;for(let f=0;f<b;f++){var e=a[f];if(v.$isElementNode(e)){if("paragraph"!==e.__type||0!==e.__indent)return!1;e=e.getChildren();const d=e.length;for(let c=0;c<d;c++)if(!v.$isTextNode(e[f]))return!1}}return!0}function Z(a){return()=>ta(a)}
39
39
  function ua(a){const [b,e]=g.useState(a.getEditorState().read(Z(a.isComposing())));I(()=>a.addListener("update",({editorState:f})=>{const d=a.isComposing();f=f.read(Z(d));e(f)}),[a]);return b}function va(a){throw a;}module.exports=function({contentEditable:a,placeholder:b,skipInit:e,onError:f}){const [d]=u.useLexicalComposerContext(),c=ua(d);qa(d,!e);e=ra(d);I(()=>d.addListener("error",f||va),[d,f]);return g.createElement(g.Fragment,null,a,c&&b,e)};
@@ -0,0 +1,3 @@
1
+ 'use strict';var d=require("react"),g=require("@lexical/react/LexicalComposerContext"),h=require("lexical"),k=require("lexical/TableNode"),p=require("lexical/TableCellNode"),q=require("lexical/TableRowNode"),r=require("lexical/ParagraphNode");function t(c,e,f=!0){const a=k.$createTableNode();for(let b=0;b<c;b++){const l=q.$createTableRowNode();for(let m=0;m<e;m++){const n=p.$createTableCellNode(0===b&&f);n.append(h.$createTextNode());l.append(n)}a.append(l)}return a}
2
+ module.exports=function(){const [c]=g.useLexicalComposerContext();d.useEffect(()=>{const e=c.addListener("command",a=>{if("insertTable"===a){h.$log("handleAddTable");a=h.$getSelection();if(null===a)return!0;a=a.focus.getNode();if(null!==a){a=a.getTopLevelElementOrThrow();const b=t(3,3);a.insertAfter(b);b.insertAfter(r.$createParagraphNode());b.getFirstChildOrThrow().getFirstChildOrThrow().select()}return!0}return!1},0),f=c.registerNodes([k.TableNode,p.TableCellNode,q.TableRowNode]);return()=>{e();
3
+ f()}},[c]);return null};
package/package.json CHANGED
@@ -12,11 +12,11 @@
12
12
  "rich-text"
13
13
  ],
14
14
  "license": "MIT",
15
- "version": "0.1.1",
15
+ "version": "0.1.2",
16
16
  "dependencies": {
17
- "lexical": "0.1.1",
18
- "@lexical/helpers": "0.1.1",
19
- "@lexical/yjs": "0.1.1"
17
+ "lexical": "0.1.2",
18
+ "@lexical/helpers": "0.1.2",
19
+ "@lexical/yjs": "0.1.2"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "react": ">=17.x",
@@ -1,4 +1,9 @@
1
- 'use strict';var e=require("react"),g=require("lexical"),h=require("lexical/ParagraphNode"),k=require("lexical/ListItemNode"),m=require("lexical/HeadingNode"),n=require("lexical/ListNode"),p=require("lexical/QuoteNode"),q=require("lexical/CodeNode");function r(a,c){a=a.spliceText(0,c,"",!0);""===a.getTextContent()&&(a.selectPrevious(),a.remove())}
2
- function t(a){const c=a.getParentOrThrow();if(null!==c&&null===a.getPreviousSibling()&&h.$isParagraphNode(c)){var b=a.getTextContent(),d=b[0];const f=b[1],l=b[2];if(1<b.length&&" "===f)if("#"===d)r(a,2),a=m.$createHeadingNode("h1"),b=c.getChildren(),a.append(...b),c.replace(a);else if(">"===d)r(a,2),a=p.$createQuoteNode(),b=c.getChildren(),a.append(...b),c.replace(a);else{if("-"===d||"*"===d)r(a,2),a=n.$createListNode("ul"),b=k.$createListItemNode(),d=c.getChildren(),b.append(...d),a.append(b),c.replace(a)}else 2<
3
- b.length&&("#"===d&&"#"===f&&" "===l?(r(a,3),a=m.$createHeadingNode("h2"),b=c.getChildren(),a.append(...b),c.replace(a)):parseInt(d,10)?(b=b.match(/^(\d+)\.\s/),null!==b&&0===b.index&&2===b.length&&(d=parseInt(b[1],10),r(a,b[0].length),a=n.$createListNode("ol",d),b=k.$createListItemNode(),d=c.getChildren(),b.append(...d),a.append(b),c.replace(a))):"`"===d&&"`"===f&&"`"===l&&(r(a,3),a=q.$createCodeNode(),a.append(...c.getChildren()),c.replace(a)))}}
4
- module.exports=function(a){e.useEffect(()=>a.addTransform(g.TextNode,t),[a])};
1
+ 'use strict';var h=require("lexical/CodeNode"),l=require("lexical/HeadingNode"),m=require("lexical/ListItemNode"),n=require("lexical/ListNode"),p=require("lexical/QuoteNode"),q=require("lexical/ParagraphNode"),r=require("lexical"),u=require("react");
2
+ const v={match:null,matchWithRegEx:!1,requiresParagraphStart:!1,headingTag:null,nodeTransformationKind:null,regEx:/(?:)/,regExExpectedMatchCount:null,requiresParagraphStart:!0},w=[{...v,match:"# ",headingTag:"h1"},{...v,match:"## ",headingTag:"h2"},{...v,match:"### ",headingTag:"h3"},{...v,match:"> ",nodeTransformationKind:"blockQuote"},{...v,match:"- ",nodeTransformationKind:"unorderedList"},{...v,match:"* ",nodeTransformationKind:"unorderedList"},{...v,matchWithRegEx:!0,nodeTransformationKind:"orderedList",
3
+ regEx:/^(\d+)\.\s/,regExExpectedMatchCount:2},{...v,match:"``` ",nodeTransformationKind:"codeBlock"}];
4
+ function x(k){k.update(()=>{var b=r.$getSelection();if(null==b)b=null;else{var c=b.anchor.getNode();b=r.$isTextNode(c)?{node:c,offset:b.anchor.offset}:null}if(null!==b){a:{c=w.length;for(var a=0;a<c;++a){var d=w[a],e=b;const g={text:"",textIndex:-1,regExSupportingText:""};var f=!1;const t=e.node.getParent();null!==d.requiresParagraphStart&&!0===d.requiresParagraphStart&&null===e.node.getPreviousSibling()&&null!==t&&q.$isParagraphNode(t)&&(f=e.node.getTextContent(),!0===d.matchWithRegEx?(f=f.match(d.regEx),
5
+ null!==f&&0===f.index&&null!=d.regExExpectedMatchCount&&f.length===d.regExExpectedMatchCount&&(g.textIndex=f.index,g.text=f[0],g.regExSupportingText=1<f.length?f[1]:"")):null!=d.match&&(g.textIndex=f.lastIndexOf(d.match,e.offset),g.text=null==d.match?"":d.match),f=0===g.textIndex&&g.textIndex+g.text.length===e.offset);d=f?g:null;if(null!=d){c={autoFormatCriteria:w[a],matchResultContext:d};break a}}c={autoFormatCriteria:null,matchResultContext:null}}if(null!==c.autoFormatCriteria&&null!==c.matchResultContext&&
6
+ (a=c.autoFormatCriteria,d=c.matchResultContext,a.requiresParagraphStart)){c=b.node.getParentOrThrow();b=b.node.spliceText(0,d.text.length,"",!0);""===b.getTextContent()&&(b.selectPrevious(),b.remove());b=c.getChildren();e=null;if(null!=a.headingTag)e=l.$createHeadingNode(a.headingTag),e.append(...b);else if(null!=a.nodeTransformationKind)switch(a.nodeTransformationKind){case "blockQuote":e=p.$createQuoteNode();e.append(...b);break;case "unorderedList":e=n.$createListNode("ul");a=m.$createListItemNode();
7
+ a.append(...b);e.append(a);break;case "orderedList":a=parseInt(d.regExSupportingText,10);e=n.$createListNode("ol",a);a=m.$createListItemNode();a.append(...b);e.append(a);break;case "codeBlock":e=h.$createCodeNode(),e.append(...b)}b=e;null!==b&&c.replace(b)}}})}
8
+ function y(k){let b=null;k.read(()=>{const c=r.$getSelection();if(null!=c&&c.isCollapsed()){var a=c.anchor.getNode(),d=a.getParent();b={anchorOffset:c.anchor.offset,isCodeBlock:h.$isCodeNode(a),isSelectionCollapsed:c.isCollapsed(),isSimpleText:r.$isTextNode(a)&&a.isSimpleText(),isParentAParagraphNode:null!==d&&q.$isParagraphNode(d),nodeKey:a.getKey(),textContent:a.getTextContent()}}});return b}
9
+ module.exports=function(k){u.useEffect(()=>{let b=null;k.addListener("update",({tags:c})=>{if(!1===c.has("historic")){const a=y(k.getEditorState());c=null==a||null==b?!1:!1===a.isCodeBlock&&a.isSimpleText&&a.isSelectionCollapsed&&a.nodeKey===b.nodeKey&&a.anchorOffset!==b.anchorOffset&&a.textContent!==b.textContent;c&&x(k);b=a}else b=null})},[k])};
@@ -0,0 +1,2 @@
1
+ 'use strict';var a=require("react");const e="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,g=e&&"documentMode"in document?document.documentMode:null;e&&/Win/.test(navigator.platform);e&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;e&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);e&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);e&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);e&&/^(?=.*Chrome).*/i.test(navigator.userAgent);
2
+ e&&"InputEvent"in window&&!g?"getTargetRanges"in new window.InputEvent("input"):!1;var h=e?a.useLayoutEffect:a.useEffect;function k(b,d,c){b=b.get(d);return void 0!==b?b:"function"===typeof c?c():c}module.exports=function(b,d,c){c=k(b,d,c);const [f,l]=a.useState(c);h(()=>{b.get(d)!==f&&b.set(d,f)},[d,f,b]);return[c,l]};
@@ -3,5 +3,5 @@ function x(a,b,f,c,h){if(null===a||0===f.size&&0===c.size)return 0;var e=b._sele
3
3
  !n.$isTextNode(b)||a.__mode!==b.__mode)return 0;a=a.__text;b=b.__text;if(a===b)return 0;e=e.anchor;d=d.anchor;if(e.key!==d.key||"text"!==e.type)return 0;e=e.offset;d=d.offset;a=b.length-a.length;return 1===a&&d===e-1?2:-1===a&&d===e+1?3:-1===a&&d===e?4:0}
4
4
  function y(a,b){let f=Date.now(),c=0;return(h,e,d,g,k,m)=>{const p=Date.now();if(m.has("historic"))return c=0,f=p,2;const l=x(h,e,g,k,a.isComposing()),u=(()=>{if(m.has("without-history"))return 0;if(null===h)return 1;var q=e._selection;const t=h._selection;if(!(0<g.size||0<k.size))return null===t&&null!==q?0:2;q=null===d||d.editor===a;return 0!==l&&l===c&&p<f+b&&q?0:1})();f=p;c=l;return u}}function z(){return{current:null,redoStack:[],undoStack:[]}}exports.createEmptyHistoryState=z;
5
5
  exports.useLexicalHistory=function(a,b,f=1E3){const c=r.useMemo(()=>b||z(),[b]),h=r.useCallback(()=>{c.undoStack=[];c.redoStack=[];c.current=null},[c]);r.useEffect(()=>{const e=y(a,f);return v(a.addListener("command",d=>{switch(d){case "undo":d=c.redoStack;var g=c.undoStack;if(0!==g.length){var k=c.current;const m=g.pop();null!==k&&(d.push(k),a.execCommand("canRedo",!0));0===g.length&&a.execCommand("canUndo",!1);c.current=m;m.editor.setEditorState(m.editorState.clone(m.undoSelection),{tag:"historic"})}return!0;
6
- case "redo":return d=c.redoStack,g=c.undoStack,0!==d.length&&(k=c.current,null!==k&&(g.push(k),a.execCommand("canUndo",!0)),g=d.pop(),0===d.length&&a.execCommand("canRedo",!1),c.current=g,g.editor.setEditorState(g.editorState,{tag:"historic"})),!0;case "clearEditor":case "clearHistory":return h(),!0;default:return!1}},0),a.addListener("update",({editorState:d,prevEditorState:g,dirtyLeaves:k,dirtyElements:m,tags:p})=>{const l=c.current,u=c.redoStack,q=c.undoStack,t=null===l?null:l.editorState;if(null===
7
- l||d!==t){k=e(g,d,l,k,m,p);if(1===k)0!==u.length&&(c.redoStack=[]),null!==l&&(q.push({...l,undoSelection:g.read(n.$getSelection)}),a.execCommand("canUndo",!0));else if(2===k)return;c.current={editor:a,editorState:d}}}))},[h,f,a,c])};
6
+ case "redo":return d=c.redoStack,g=c.undoStack,0!==d.length&&(k=c.current,null!==k&&(g.push(k),a.execCommand("canUndo",!0)),g=d.pop(),0===d.length&&a.execCommand("canRedo",!1),c.current=g,g.editor.setEditorState(g.editorState,{tag:"historic"})),!0;case "clearEditor":return h(),!1;case "clearHistory":return h(),!0;default:return!1}},0),a.addListener("update",({editorState:d,prevEditorState:g,dirtyLeaves:k,dirtyElements:m,tags:p})=>{const l=c.current,u=c.redoStack,q=c.undoStack,t=null===l?null:l.editorState;
7
+ if(null===l||d!==t){k=e(g,d,l,k,m,p);if(1===k)0!==u.length&&(c.redoStack=[]),null!==l&&(q.push({...l,undoSelection:g.read(n.$getSelection)}),a.execCommand("canUndo",!0));else if(2===k)return;c.current={editor:a,editorState:d}}}))},[h,f,a,c])};
@@ -15,12 +15,13 @@ b.execCommand("insertParagraph");break;case "insertFromYank":case "insertFromDro
15
15
  !0);break;case "deleteWordForward":b.execCommand("deleteWord",!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":b.execCommand("deleteLine",!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":b.execCommand("deleteLine",!1);break;case "formatStrikeThrough":b.execCommand("formatText","strikethrough");break;case "formatBold":b.execCommand("formatText","bold");break;case "formatItalic":b.execCommand("formatText","italic");break;case "formatUnderline":b.execCommand("formatText",
16
16
  "underline");break;case "historyUndo":b.execCommand("undo");break;case "historyRedo":b.execCommand("redo")}}})}function O(a,b){a=window.getSelection();if(null!==a){var {anchorNode:c,anchorOffset:e,focusOffset:d}=a;null!==c&&3===c.nodeType&&(a=h.$getNearestNodeFromDOMNode(c),h.$isTextNode(a)&&Q(a,c.nodeValue,e,d,b))}}function T(a){Q(a.node,a.text,a.anchorOffset,a.focusOffset,!1)}
17
17
  const U=[["selectionchange",function(a,b){a=window.getSelection();const c=b.getRootElement();c&&!c.contains(a.anchorNode)||b.update(()=>{h.$log("onSelectionChange");const e=h.$getSelection();if(null!==e&&e.isCollapsed()){var d=e.anchor;"text"===d.type?(d=d.getNode(),e.format=d.getFormat()):"element"===d.type&&(e.format=0)}b.execCommand("selectionChange")})}],["keydown",function(a,b){I="Unidentified"===a.key&&229===a.keyCode;b.isComposing()||b.update(()=>{h.$log("onKeyDown");if(null!==h.$getSelection()){var {keyCode:c,
18
- shiftKey:e,ctrlKey:d,metaKey:f,altKey:g}=a;if(39!==c||d||f||g)if(37!==c||d||f||g)if(38!==c||d||f||g)if(40!==c||d||f||g)if(13===c&&e)b.execCommand("keyEnter",a);else if(z&&d&&79===c)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==c||e){var k=z?g||f?!1:8===c||72===c&&d:d||g||f?!1:8===c;k?8===c?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):(k=z?e||g||f?!1:46===c||68===c&&d:d||g||f?!1:46===c,k?46===c?b.execCommand("keyDelete",a):b.execCommand("deleteCharacter",
19
- !1):8===c&&(z?g:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===c&&(z?g:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):z&&f&&8===c?(a.preventDefault(),b.execCommand("deleteLine",!0)):z&&f&&46===c?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText","italic")):9!==c||g||
20
- d||f?90===c&&!e&&(z?f:d)?(a.preventDefault(),b.execCommand("undo")):(k=z?90===c&&f&&e:89===c&&d||90===c&&d&&e,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{h.$log("onCompositionStart");const c=h.$getSelection();if(null!==c&&!b.isComposing()){const e=
21
- c.anchor;h.$setCompositionKey(e.key);null==a.data||I&&"element"!==e.type&&c.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){A?setTimeout(()=>{N(a,b)},0):N(a,b)}],["cut",function(a,b){M(a,b);b.update(()=>{h.$log("onCutForPlainText");const c=h.$getSelection();null!==c&&c.removeText()})}],["copy",M],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{h.$log("onPasteForPlainText");const c=h.$getSelection(),e=a.clipboardData;
22
- null!=e&&null!==c&&J(e,c)})}],["input",function(a,b){a.stopPropagation();b.update(()=>{h.$log("onInput");const c=h.$getSelection(),e=a.data;null!=e&&null!==c&&R(c,e,!1)?b.execCommand("insertText",e):O(b,!1);h.$flushMutations()})}],["click",function(a,b){b.update(()=>{h.$log("onClick");const c=h.$getSelection();if(null!==c){var e=c.anchor;"element"===e.type&&0===e.offset&&c.isCollapsed()&&1===h.$getRoot().getChildrenSize()&&e.getNode().getTopLevelElementOrThrow().isEmpty()&&(e=P(b),null!==e&&c.is(e)&&
23
- (window.getSelection().removeAllRanges(),c.dirty=!0))}})}]];B?U.push(["beforeinput",S]):U.push(["drop",L]);function V(a,b){const c=v.$createParagraphNode();a.append(c);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===b.getRootElement())&&c.select()}function W(a){a.update(()=>{h.$log("initEditor");const b=h.$getRoot();null===b.getFirstChild()&&V(b,a)})}function X(a,b){a.update(()=>{h.$log("clearEditor");const c=h.$getRoot();c.clear();V(c,a)},{onUpdate:b})}
18
+ shiftKey:e,ctrlKey:d,metaKey:f,altKey:g}=a;if(39!==c||d||f||g)if(37!==c||d||f||g)if(38!==c||d||f||g)if(40!==c||d||f||g)if(13===c&&e)b.execCommand("keyEnter",a);else if(z&&d&&79===c)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==c||e){var k=z?g||f?!1:8===c||72===c&&d:d||g||f?!1:8===c;k?8===c?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):27===c?b.execCommand("keyEscape",a):(k=z?e||g||f?!1:46===c||68===c&&d:d||g||f?!1:46===c,k?46===c?b.execCommand("keyDelete",
19
+ a):b.execCommand("deleteCharacter",!1):8===c&&(z?g:d)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===c&&(z?g:d)?(a.preventDefault(),b.execCommand("deleteWord",!1)):z&&f&&8===c?(a.preventDefault(),b.execCommand("deleteLine",!0)):z&&f&&46===c?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText","bold")):85===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText","underline")):73===c&&(z?f:d)?(a.preventDefault(),b.execCommand("formatText",
20
+ "italic")):9!==c||g||d||f?90===c&&!e&&(z?f:d)?(a.preventDefault(),b.execCommand("undo")):(k=z?90===c&&f&&e:89===c&&d||90===c&&d&&e,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{h.$log("onCompositionStart");const c=h.$getSelection();if(null!==
21
+ c&&!b.isComposing()){const e=c.anchor;h.$setCompositionKey(e.key);null==a.data||I&&"element"!==e.type&&c.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){A?setTimeout(()=>{N(a,b)},0):N(a,b)}],["cut",function(a,b){M(a,b);b.update(()=>{h.$log("onCutForPlainText");const c=h.$getSelection();null!==c&&c.removeText()})}],["copy",M],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{h.$log("onPasteForPlainText");const c=
22
+ h.$getSelection(),e=a.clipboardData;null!=e&&null!==c&&J(e,c)})}],["input",function(a,b){a.stopPropagation();b.update(()=>{h.$log("onInput");const c=h.$getSelection(),e=a.data;null!=e&&null!==c&&R(c,e,!1)?b.execCommand("insertText",e):O(b,!1);h.$flushMutations()})}],["click",function(a,b){b.update(()=>{h.$log("onClick");const c=h.$getSelection();if(null!==c){var e=c.anchor;"element"===e.type&&0===e.offset&&c.isCollapsed()&&1===h.$getRoot().getChildrenSize()&&e.getNode().getTopLevelElementOrThrow().isEmpty()&&
23
+ (e=P(b),null!==e&&c.is(e)&&(window.getSelection().removeAllRanges(),c.dirty=!0))}})}]];B?U.push(["beforeinput",S]):U.push(["drop",L]);function V(a,b){const c=v.$createParagraphNode();a.append(c);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===b.getRootElement())&&c.select()}function W(a){a.update(()=>{h.$log("initEditor");const b=h.$getRoot();null===b.getFirstChild()&&V(b,a)})}
24
+ function X(a,b){a.update(()=>{h.$log("clearEditor");const c=h.$getRoot();c.clear();V(c,a)},{onUpdate:b})}
24
25
  function Y(a,b){C(()=>{const c=w(a.registerNodes([v.ParagraphNode]),a.addListener("textmutation",T),a.addListener("command",(e,d)=>{const f=h.$getSelection();if(null===f)return!1;switch(e){case "deleteCharacter":return f.deleteCharacter(d),!0;case "deleteWord":return f.deleteWord(d),!0;case "deleteLine":return f.deleteLine(d),!0;case "insertText":return f.insertText(d),!0;case "removeText":return f.removeText(),!0;case "insertLineBreak":return f.insertLineBreak(d),!0;case "insertParagraph":return f.insertLineBreak(),
25
26
  !0;case "indentContent":case "outdentContent":case "insertImage":case "insertTable":case "formatElement":case "formatText":return!0;case "keyArrowLeft":e=d.shiftKey;if(K(f,!0))return d.preventDefault(),d=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(d?"extend":"move",!e,"character"),!0;break;case "keyArrowRight":e=d.shiftKey;if(K(f,!1))return d.preventDefault(),d=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(d?"extend":"move",e,"character"),
26
27
  !0;break;case "keyBackspace":return d.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return d.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return d.preventDefault(),a.execCommand("insertLineBreak");case "clearEditor":X(a)}return!1},0));b&&W(a);return c},[a,b]);E(U,a);G(a)}
@@ -29,5 +30,5 @@ function aa(a,b,c,e,d){if(null===a||0===c.size&&0===e.size)return 0;var f=b._sel
29
30
  !h.$isTextNode(b)||a.__mode!==b.__mode)return 0;a=a.__text;b=b.__text;if(a===b)return 0;f=f.anchor;g=g.anchor;if(f.key!==g.key||"text"!==f.type)return 0;f=f.offset;g=g.offset;a=b.length-a.length;return 1===a&&g===f-1?2:-1===a&&g===f+1?3:-1===a&&g===f?4:0}
30
31
  function ba(a,b){let c=Date.now(),e=0;return(d,f,g,k,l,n)=>{const u=Date.now();if(n.has("historic"))return e=0,c=u,2;const m=aa(d,f,k,l,a.isComposing()),r=(()=>{if(n.has("without-history"))return 0;if(null===d)return 1;var p=f._selection;const t=d._selection;if(!(0<k.size||0<l.size))return null===t&&null!==p?0:2;p=null===g||g.editor===a;return 0!==m&&m===e&&u<c+b&&p?0:1})();c=u;e=m;return r}}
31
32
  function ca(a,b,c=1E3){const e=q.useMemo(()=>b||{current:null,redoStack:[],undoStack:[]},[b]),d=q.useCallback(()=>{e.undoStack=[];e.redoStack=[];e.current=null},[e]);q.useEffect(()=>{const f=ba(a,c);return w(a.addListener("command",g=>{switch(g){case "undo":g=e.redoStack;var k=e.undoStack;if(0!==k.length){var l=e.current;const n=k.pop();null!==l&&(g.push(l),a.execCommand("canRedo",!0));0===k.length&&a.execCommand("canUndo",!1);e.current=n;n.editor.setEditorState(n.editorState.clone(n.undoSelection),
32
- {tag:"historic"})}return!0;case "redo":return g=e.redoStack,k=e.undoStack,0!==g.length&&(l=e.current,null!==l&&(k.push(l),a.execCommand("canUndo",!0)),k=g.pop(),0===g.length&&a.execCommand("canRedo",!1),e.current=k,k.editor.setEditorState(k.editorState,{tag:"historic"})),!0;case "clearEditor":case "clearHistory":return d(),!0;default:return!1}},0),a.addListener("update",({editorState:g,prevEditorState:k,dirtyLeaves:l,dirtyElements:n,tags:u})=>{const m=e.current,r=e.redoStack,p=e.undoStack,t=null===
33
- m?null:m.editorState;if(null===m||g!==t){l=f(k,g,m,l,n,u);if(1===l)0!==r.length&&(e.redoStack=[]),null!==m&&(p.push({...m,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;e.current={editor:a,editorState:g}}}))},[d,c,a,e])}module.exports=function(a,b){Y(a,!0);ca(a,b)};
33
+ {tag:"historic"})}return!0;case "redo":return g=e.redoStack,k=e.undoStack,0!==g.length&&(l=e.current,null!==l&&(k.push(l),a.execCommand("canUndo",!0)),k=g.pop(),0===g.length&&a.execCommand("canRedo",!1),e.current=k,k.editor.setEditorState(k.editorState,{tag:"historic"})),!0;case "clearEditor":return d(),!1;case "clearHistory":return d(),!0;default:return!1}},0),a.addListener("update",({editorState:g,prevEditorState:k,dirtyLeaves:l,dirtyElements:n,tags:u})=>{const m=e.current,r=e.redoStack,p=e.undoStack,
34
+ t=null===m?null:m.editorState;if(null===m||g!==t){l=f(k,g,m,l,n,u);if(1===l)0!==r.length&&(e.redoStack=[]),null!==m&&(p.push({...m,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;e.current={editor:a,editorState:g}}}))},[d,c,a,e])}module.exports=function(a,b){Y(a,!0);ca(a,b)};
@@ -2,7 +2,7 @@
2
2
  const F="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,G=F&&"documentMode"in document?document.documentMode:null;F&&/Win/.test(navigator.platform);F&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;const H=F&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),I=F&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);F&&/Version\/[\d\.]+.*Safari/.test(navigator.userAgent);F&&/^(?=.*Chrome).*/i.test(navigator.userAgent);
3
3
  const aa=F&&"InputEvent"in window&&!G?"getTargetRanges"in new window.InputEvent("input"):!1;var J=F?u.useLayoutEffect:u.useEffect;function K(a,b){return"selectionchange"===a||"keyup"===a||"pointerup"===a||"pointercancel"===a?b.ownerDocument:b}
4
4
  function ba(a,b){J(()=>{const f=[],d=[];for(let e=0;e<a.length;e++){const [c,g]=a[e],k=l=>{const m=b.getRootElement();null!==m&&"true"===m.contentEditable&&g(l,b)};f.push(l=>{K(c,l).addEventListener(c,k)});d.push(l=>{K(c,l).removeEventListener(c,k)})}return b.addListener("root",(e,c)=>{null!==c&&d.forEach(g=>g(c));null!==e&&f.forEach(g=>g(e))})},[b,a])}
5
- function L(a){a=a.getLatest();const b=a.constructor.clone(a);b.__parent=a.__parent;h.$isElementNode(a)&&h.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):h.$isTextNode(a)&&h.$isTextNode(b)?(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail):h.$isDecoratorNode(a)&&h.$isDecoratorNode(b)&&(b.__ref=a.__ref);return b}
5
+ function L(a){a=a.getLatest();const b=a.constructor.clone(a);b.__parent=a.__parent;h.$isElementNode(a)&&h.$isElementNode(b)?(b.__children=Array.from(a.__children),b.__format=a.__format,b.__indent=a.__indent,b.__dir=a.__dir):h.$isTextNode(a)&&h.$isTextNode(b)?(b.__format=a.__format,b.__style=a.__style,b.__mode=a.__mode,b.__detail=a.__detail):h.$isDecoratorNode(a)&&h.$isDecoratorNode(b)&&(b.__state=a.__state);return b}
6
6
  function M(a,b,f,d,e){for(var c=b;null!==a;){for(b=a.getParent();null!==b&&b.excludeFromCopy();)b=b.getParent();if(null===b)break;if(!h.$isElementNode(a)||!a.excludeFromCopy()){const g=a.getKey();let k=e.get(g);const l=void 0===k;l&&(k=L(a),e.set(g,k));!h.$isTextNode(k)||k.isSegmented()||k.isToken()?h.$isElementNode(k)&&(k.__children=k.__children.slice(f?c:0,f?void 0:c+1)):k.__text=k.__text.slice(f?c:0,f?void 0:c);if(h.$isRootNode(b)){l&&d.push(g);break}}c=e.get(b.getKey());c=h.$isElementNode(c)?
7
7
  c.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=b}}function N(a,b){const f=b.split(/\r?\n/);if(1===f.length)a.insertText(b);else{b=[];const d=f.length;for(let e=0;e<d;e++){const c=f[e];""!==c&&b.push(h.$createTextNode(c));e!==d-1&&b.push(h.$createLineBreakNode())}a.insertNodes(b)}}
8
8
  function ca(a){u.useEffect(()=>{const b=f=>{var d=a.getRootElement();if(document.activeElement===d&&(d=f.data,"string"===typeof d)){try{var e=JSON.parse(d)}catch(c){return}if(e&&"nuanria_messaging"===e.protocol&&"request"===e.type&&(e=e.payload)&&"makeChanges"===e.functionId&&(e=e.args)){const [c,g,k,l,m]=e;a.update(()=>{h.$log("useLexicalDragonSupport");const p=h.$getSelection();if(null!==p){var n=p.anchor;let r=n.getNode(),q=0,t=0;h.$isTextNode(r)&&0<=c&&0<=g&&(q=c,t=c+g,p.setTextNodeRange(r,q,
@@ -22,22 +22,22 @@ b.execCommand("insertParagraph");break;case "insertFromYank":case "insertFromDro
22
22
  !0);break;case "deleteWordForward":b.execCommand("deleteWord",!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":b.execCommand("deleteLine",!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":b.execCommand("deleteLine",!1);break;case "formatStrikeThrough":b.execCommand("formatText","strikethrough");break;case "formatBold":b.execCommand("formatText","bold");break;case "formatItalic":b.execCommand("formatText","italic");break;case "formatUnderline":b.execCommand("formatText",
23
23
  "underline");break;case "historyUndo":b.execCommand("undo");break;case "historyRedo":b.execCommand("redo")}}})}function V(a,b){a=window.getSelection();if(null!==a){var {anchorNode:f,anchorOffset:d,focusOffset:e}=a;null!==f&&3===f.nodeType&&(a=h.$getNearestNodeFromDOMNode(f),h.$isTextNode(a)&&W(a,f.nodeValue,d,e,b))}}function ka(a){W(a.node,a.text,a.anchorOffset,a.focusOffset,!1)}
24
24
  const Y=[["selectionchange",function(a,b){a=window.getSelection();const f=b.getRootElement();f&&!f.contains(a.anchorNode)||b.update(()=>{h.$log("onSelectionChange");const d=h.$getSelection();if(null!==d&&d.isCollapsed()){var e=d.anchor;"text"===e.type?(e=e.getNode(),d.format=e.getFormat()):"element"===e.type&&(d.format=0)}b.execCommand("selectionChange")})}],["keydown",function(a,b){P="Unidentified"===a.key&&229===a.keyCode;b.isComposing()||b.update(()=>{h.$log("onKeyDown");if(null!==h.$getSelection()){var {keyCode:f,
25
- shiftKey:d,ctrlKey:e,metaKey:c,altKey:g}=a;if(39!==f||e||c||g)if(37!==f||e||c||g)if(38!==f||e||c||g)if(40!==f||e||c||g)if(13===f&&d)b.execCommand("keyEnter",a);else if(H&&e&&79===f)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==f||d){var k=H?g||c?!1:8===f||72===f&&e:e||g||c?!1:8===f;k?8===f?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):(k=H?d||g||c?!1:46===f||68===f&&e:e||g||c?!1:46===f,k?46===f?b.execCommand("keyDelete",a):b.execCommand("deleteCharacter",
26
- !1):8===f&&(H?g:e)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===f&&(H?g:e)?(a.preventDefault(),b.execCommand("deleteWord",!1)):H&&c&&8===f?(a.preventDefault(),b.execCommand("deleteLine",!0)):H&&c&&46===f?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText","bold")):85===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText","underline")):73===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText","italic")):9!==f||g||
27
- e||c?90===f&&!d&&(H?c:e)?(a.preventDefault(),b.execCommand("undo")):(k=H?90===f&&c&&d:89===f&&e||90===f&&e&&d,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{h.$log("onCompositionStart");const f=h.$getSelection();if(null!==f&&!b.isComposing()){const d=
28
- f.anchor;h.$setCompositionKey(d.key);null==a.data||P&&"element"!==d.type&&f.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){I?setTimeout(()=>{U(a,b)},0):U(a,b)}],["cut",function(a,b){T(a,b);b.update(()=>{h.$log("onCutForRichText");const f=h.$getSelection();null!==f&&f.removeText()})}],["copy",T],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{h.$log("onPasteForRichText");const f=h.$getSelection();var d=a.clipboardData;
29
- if(null!=d&&null!==f)a:{var e=d.getData("application/x-lexical-nodes");if(e)try{var c=JSON.parse(e);const {range:m,nodeMap:p}=c;var g=new Map(p);e=[];for(c=0;c<m.length;c++){var k=g.get(m[c]);if(void 0!==k){var l=h.$createNodeFromParse(k,g);e.push(l)}}f.insertNodes(e);break a}catch(m){}if(g=d.getData("text/html")){g=(new DOMParser).parseFromString(g,"text/html");d=[];g=g.body?Array.from(g.body.childNodes):[];k=g.length;for(l=0;l<k;l++)e=Q(g[l],ea,b),null!==e&&(d=d.concat(e));g=[];k=null;for(l=0;l<
30
- d.length;l++)e=d[l],!h.$isElementNode(e)||e.isInline()?(null===k&&(k=B.$createParagraphNode(),g.push(k)),null!==k&&k.append(e)):(g.push(e),k=null);f.insertNodes(g)}else R(d,f)}})}],["input",function(a,b){a.stopPropagation();b.update(()=>{h.$log("onInput");const f=h.$getSelection(),d=a.data;null!=d&&null!==f&&X(f,d,!1)?b.execCommand("insertText",d):V(b,!1);h.$flushMutations()})}],["click",function(a,b){b.update(()=>{h.$log("onClick");const f=h.$getSelection();if(null!==f){var d=f.anchor;"element"===
31
- d.type&&0===d.offset&&f.isCollapsed()&&1===h.$getRoot().getChildrenSize()&&d.getNode().getTopLevelElementOrThrow().isEmpty()&&(d=ia(b),null!==d&&f.is(d)&&(window.getSelection().removeAllRanges(),f.dirty=!0))}})}]];aa?Y.push(["beforeinput",ja]):Y.push(["drop",fa]);function Z(a,b){const f=B.$createParagraphNode();a.append(f);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===b.getRootElement())&&f.select()}
25
+ shiftKey:d,ctrlKey:e,metaKey:c,altKey:g}=a;if(39!==f||e||c||g)if(37!==f||e||c||g)if(38!==f||e||c||g)if(40!==f||e||c||g)if(13===f&&d)b.execCommand("keyEnter",a);else if(H&&e&&79===f)a.preventDefault(),b.execCommand("insertLineBreak",!0);else if(13!==f||d){var k=H?g||c?!1:8===f||72===f&&e:e||g||c?!1:8===f;k?8===f?b.execCommand("keyBackspace",a):b.execCommand("deleteCharacter",!0):27===f?b.execCommand("keyEscape",a):(k=H?d||g||c?!1:46===f||68===f&&e:e||g||c?!1:46===f,k?46===f?b.execCommand("keyDelete",
26
+ a):b.execCommand("deleteCharacter",!1):8===f&&(H?g:e)?(a.preventDefault(),b.execCommand("deleteWord",!0)):46===f&&(H?g:e)?(a.preventDefault(),b.execCommand("deleteWord",!1)):H&&c&&8===f?(a.preventDefault(),b.execCommand("deleteLine",!0)):H&&c&&46===f?(a.preventDefault(),b.execCommand("deleteLine",!1)):66===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText","bold")):85===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText","underline")):73===f&&(H?c:e)?(a.preventDefault(),b.execCommand("formatText",
27
+ "italic")):9!==f||g||e||c?90===f&&!d&&(H?c:e)?(a.preventDefault(),b.execCommand("undo")):(k=H?90===f&&c&&d:89===f&&e||90===f&&e&&d,k&&(a.preventDefault(),b.execCommand("redo"))):b.execCommand("keyTab",a))}else b.execCommand("keyEnter",a);else b.execCommand("keyArrowDown",a);else b.execCommand("keyArrowUp",a);else b.execCommand("keyArrowLeft",a);else b.execCommand("keyArrowRight",a)}})}],["compositionstart",function(a,b){b.update(()=>{h.$log("onCompositionStart");const f=h.$getSelection();if(null!==
28
+ f&&!b.isComposing()){const d=f.anchor;h.$setCompositionKey(d.key);null==a.data||P&&"element"!==d.type&&f.isCollapsed()||b.execCommand("insertText"," ")}})}],["compositionend",function(a,b){I?setTimeout(()=>{U(a,b)},0):U(a,b)}],["cut",function(a,b){T(a,b);b.update(()=>{h.$log("onCutForRichText");const f=h.$getSelection();null!==f&&f.removeText()})}],["copy",T],["dragstart",function(a){a.preventDefault()}],["paste",function(a,b){a.preventDefault();b.update(()=>{h.$log("onPasteForRichText");const f=
29
+ h.$getSelection();var d=a.clipboardData;if(null!=d&&null!==f)a:{var e=d.getData("application/x-lexical-nodes");if(e)try{var c=JSON.parse(e);const {range:m,nodeMap:p}=c;var g=new Map(p);e=[];for(c=0;c<m.length;c++){var k=g.get(m[c]);if(void 0!==k){var l=h.$createNodeFromParse(k,g);e.push(l)}}f.insertNodes(e);break a}catch(m){}if(g=d.getData("text/html")){g=(new DOMParser).parseFromString(g,"text/html");d=[];g=g.body?Array.from(g.body.childNodes):[];k=g.length;for(l=0;l<k;l++)e=Q(g[l],ea,b),null!==
30
+ e&&(d=d.concat(e));g=[];k=null;for(l=0;l<d.length;l++)e=d[l],!h.$isElementNode(e)||e.isInline()?(null===k&&(k=B.$createParagraphNode(),g.push(k)),null!==k&&k.append(e)):(g.push(e),k=null);f.insertNodes(g)}else R(d,f)}})}],["input",function(a,b){a.stopPropagation();b.update(()=>{h.$log("onInput");const f=h.$getSelection(),d=a.data;null!=d&&null!==f&&X(f,d,!1)?b.execCommand("insertText",d):V(b,!1);h.$flushMutations()})}],["click",function(a,b){b.update(()=>{h.$log("onClick");const f=h.$getSelection();
31
+ if(null!==f){var d=f.anchor;"element"===d.type&&0===d.offset&&f.isCollapsed()&&1===h.$getRoot().getChildrenSize()&&d.getNode().getTopLevelElementOrThrow().isEmpty()&&(d=ia(b),null!==d&&f.is(d)&&(window.getSelection().removeAllRanges(),f.dirty=!0))}})}]];aa?Y.push(["beforeinput",ja]):Y.push(["drop",fa]);function Z(a,b){const f=B.$createParagraphNode();a.append(f);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===b.getRootElement())&&f.select()}
32
32
  function la(a){a.update(()=>{h.$log("initEditor");const b=h.$getRoot();null===b.getFirstChild()&&Z(b,a)})}function ma(a,b){a.update(()=>{h.$log("clearEditor");const f=h.$getRoot();f.clear();Z(f,a)},{onUpdate:b})}
33
33
  function na(a,b){J(()=>{const f=E(a.registerNodes([v.HeadingNode,x.ListNode,y.QuoteNode,A.CodeNode,B.ParagraphNode,C.ListItemNode]),a.addListener("textmutation",ka),a.addListener("command",(d,e)=>{var c=h.$getSelection();if(null===c)return!1;switch(d){case "deleteCharacter":return c.deleteCharacter(e),!0;case "deleteWord":return c.deleteWord(e),!0;case "deleteLine":return c.deleteLine(e),!0;case "insertText":return c.insertText(e),!0;case "removeText":return c.removeText(),!0;case "formatText":return c.formatText(e),
34
34
  !0;case "formatElement":return c=c.anchor.getNode(),(h.$isElementNode(c)?c:c.getParentOrThrow()).setFormat(e),!0;case "insertLineBreak":return c.insertLineBreak(e),!0;case "insertParagraph":return c.insertParagraph(),!0;case "indentContent":return c=c.anchor,c="element"===c.type?c.getNode():c.getNode().getParentOrThrow(),c.canInsertTab()?a.execCommand("insertText","\t"):10!==c.getIndent()&&c.setIndent(c.getIndent()+1),!0;case "outdentContent":return c=c.anchor,e=c.getNode(),d="element"===c.type?c.getNode():
35
35
  c.getNode().getParentOrThrow(),d.canInsertTab()?"\t"===e.getTextContent()[c.offset-1]&&a.execCommand("deleteCharacter",!0):0!==d.getIndent()&&d.setIndent(d.getIndent()-1),!0;case "keyArrowLeft":d=e.shiftKey;if(S(c,!0))return e.preventDefault(),e=d,d="rtl"===c.anchor.getNode().getParentOrThrow().getDirection(),c.modify(e?"extend":"move",!d,"character"),!0;break;case "keyArrowRight":d=e.shiftKey;if(S(c,!1))return e.preventDefault(),e=d,d="rtl"===c.anchor.getNode().getParentOrThrow().getDirection(),
36
- c.modify(e?"extend":"move",d,"character"),!0;break;case "keyBackspace":return e.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return e.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return e.preventDefault(),e.shiftKey?a.execCommand("insertLineBreak"):a.execCommand("insertParagraph");case "keyTab":return e.preventDefault(),a.execCommand(e.shiftKey?"outdentContent":"indentContent");case "clearEditor":ma(a)}return!1},0));b&&la(a);return f},[a,b]);ba(Y,a);
37
- ca(a)}function oa(a,b,f){b=Array.from(b);f=Array.from(f);a=a._nodeMap;const d=[];for(var e=0;e<b.length;e++){const c=a.get(b[e]);void 0!==c&&d.push(c)}for(b=0;b<f.length;b++)f[b][1]&&(e=a.get(f[b][0]),void 0===e||h.$isRootNode(e)||d.push(e));return d}
36
+ c.modify(e?"extend":"move",d,"character"),!0;break;case "keyBackspace":return e.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return e.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return e.preventDefault(),e.shiftKey?a.execCommand("insertLineBreak"):a.execCommand("insertParagraph");case "keyTab":return e.preventDefault(),a.execCommand(e.shiftKey?"outdentContent":"indentContent");case "keyEscape":return a.blur(),!0;case "clearEditor":ma(a)}return!1},
37
+ 0));b&&la(a);return f},[a,b]);ba(Y,a);ca(a)}function oa(a,b,f){b=Array.from(b);f=Array.from(f);a=a._nodeMap;const d=[];for(var e=0;e<b.length;e++){const c=a.get(b[e]);void 0!==c&&d.push(c)}for(b=0;b<f.length;b++)f[b][1]&&(e=a.get(f[b][0]),void 0===e||h.$isRootNode(e)||d.push(e));return d}
38
38
  function pa(a,b,f,d,e){if(null===a||0===f.size&&0===d.size)return 0;var c=b._selection,g=a._selection;if(e)return 1;if(null===c||null===g||!g.isCollapsed()||!c.isCollapsed())return 0;f=oa(b,f,d);if(0===f.length)return 0;if(1<f.length){b=b._nodeMap;g=b.get(g.anchor.key);const k=b.get(c.anchor.key);return h.$isTextNode(k)&&h.$isElementNode(g)&&!a._nodeMap.has(k.__key)&&1===k.__text.length&&1===c.anchor.offset?f.every(l=>l===k||!h.$isTextNode(l))?2:0:0}b=f[0];a=a._nodeMap.get(b.__key);if(!h.$isTextNode(a)||
39
39
  !h.$isTextNode(b)||a.__mode!==b.__mode)return 0;a=a.__text;b=b.__text;if(a===b)return 0;c=c.anchor;g=g.anchor;if(c.key!==g.key||"text"!==c.type)return 0;c=c.offset;g=g.offset;a=b.length-a.length;return 1===a&&g===c-1?2:-1===a&&g===c+1?3:-1===a&&g===c?4:0}
40
40
  function qa(a,b){let f=Date.now(),d=0;return(e,c,g,k,l,m)=>{const p=Date.now();if(m.has("historic"))return d=0,f=p,2;const n=pa(e,c,k,l,a.isComposing()),r=(()=>{if(m.has("without-history"))return 0;if(null===e)return 1;var q=c._selection;const t=e._selection;if(!(0<k.size||0<l.size))return null===t&&null!==q?0:2;q=null===g||g.editor===a;return 0!==n&&n===d&&p<f+b&&q?0:1})();f=p;d=n;return r}}
41
41
  function ra(a,b,f=1E3){const d=u.useMemo(()=>b||{current:null,redoStack:[],undoStack:[]},[b]),e=u.useCallback(()=>{d.undoStack=[];d.redoStack=[];d.current=null},[d]);u.useEffect(()=>{const c=qa(a,f);return E(a.addListener("command",g=>{switch(g){case "undo":g=d.redoStack;var k=d.undoStack;if(0!==k.length){var l=d.current;const m=k.pop();null!==l&&(g.push(l),a.execCommand("canRedo",!0));0===k.length&&a.execCommand("canUndo",!1);d.current=m;m.editor.setEditorState(m.editorState.clone(m.undoSelection),
42
- {tag:"historic"})}return!0;case "redo":return g=d.redoStack,k=d.undoStack,0!==g.length&&(l=d.current,null!==l&&(k.push(l),a.execCommand("canUndo",!0)),k=g.pop(),0===g.length&&a.execCommand("canRedo",!1),d.current=k,k.editor.setEditorState(k.editorState,{tag:"historic"})),!0;case "clearEditor":case "clearHistory":return e(),!0;default:return!1}},0),a.addListener("update",({editorState:g,prevEditorState:k,dirtyLeaves:l,dirtyElements:m,tags:p})=>{const n=d.current,r=d.redoStack,q=d.undoStack,t=null===
43
- n?null:n.editorState;if(null===n||g!==t){l=c(k,g,n,l,m,p);if(1===l)0!==r.length&&(d.redoStack=[]),null!==n&&(q.push({...n,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;d.current={editor:a,editorState:g}}}))},[e,f,a,d])}module.exports=function(a,b){na(a,!0);ra(a,b)};
42
+ {tag:"historic"})}return!0;case "redo":return g=d.redoStack,k=d.undoStack,0!==g.length&&(l=d.current,null!==l&&(k.push(l),a.execCommand("canUndo",!0)),k=g.pop(),0===g.length&&a.execCommand("canRedo",!1),d.current=k,k.editor.setEditorState(k.editorState,{tag:"historic"})),!0;case "clearEditor":return e(),!1;case "clearHistory":return e(),!0;default:return!1}},0),a.addListener("update",({editorState:g,prevEditorState:k,dirtyLeaves:l,dirtyElements:m,tags:p})=>{const n=d.current,r=d.redoStack,q=d.undoStack,
43
+ t=null===n?null:n.editorState;if(null===n||g!==t){l=c(k,g,n,l,m,p);if(1===l)0!==r.length&&(d.redoStack=[]),null!==n&&(q.push({...n,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;d.current={editor:a,editorState:g}}}))},[e,f,a,d])}module.exports=function(a,b){na(a,!0);ra(a,b)};