@lexical/react 0.1.5 → 0.1.6
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.
- package/DEPRECATED_useLexicalAutoFormatter.js +11 -12
- package/DEPRECATED_useLexicalList.js +10 -10
- package/DEPRECATED_useLexicalPlainText.js +15 -15
- package/DEPRECATED_useLexicalRichText.js +30 -29
- package/LexicalAutoFormatterPlugin.js +11 -12
- package/LexicalCollaborationPlugin.js +8 -8
- package/LexicalListPlugin.js +10 -10
- package/LexicalPlainTextPlugin.js +13 -13
- package/LexicalRichTextPlugin.js +21 -20
- package/LexicalTablePlugin.js +3 -4
- package/package.json +4 -4
- package/useLexicalDecoratorMap.js +2 -1
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
'use strict';var l=require("lexical/CodeNode"),m=require("lexical/ListItemNode"),t=require("lexical"),u=require("react"),w=require("lexical/HeadingNode"),x=require("lexical/ListNode"),y=require("lexical/
|
|
2
|
-
const A={requiresParagraphStart:!1,nodeTransformationKind:null,regEx:/(?:)/,regExExpectedCaptureGroupCount:0},
|
|
3
|
-
{...
|
|
4
|
-
function G(
|
|
5
|
-
function H(
|
|
6
|
-
k.node.getPreviousSibling()&&(n=n.textNodeWithOffset.node.getTextContent(),g=G(n,g.regEx,g.regExExpectedCaptureGroupCount),null!=g&&0===g.textIndex&&g.textIndex+g.text.length===k.offset))break b;g=null}else{if(null==k.trimmedParagraphText){var p=k.textNodeWithOffset.node.getParentOrThrow();if(t.$isElementNode(p)){if(null==k.trimmedParagraphText){n=k;var I=k.textNodeWithOffset.node,
|
|
7
|
-
q.getTextContent();if(q.is(I)){
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
function L(f){u.useEffect(()=>{let h=null;f.addListener("update",({tags:b})=>{if(!1===b.has("historic")){b=K(f.getEditorState());var a=b;var c=h;if(null==a||null==c)a=!1;else{var e=a.textContent.length,d=a.anchorOffset-1;a=!0===a.isParentAnElementNode&&a.isSimpleText&&a.isSelectionCollapsed&&a.nodeKey===c.nodeKey&&a.anchorOffset!==c.anchorOffset&&0<=d&&d+1<=e&&" "===a.textContent.substr(d,1)&&a.textContent!==c.textContent}a&&null!=b&&H(f,b);h=b}else h=null})},[f])}module.exports=function(f){L(f)};
|
|
1
|
+
'use strict';var l=require("lexical/CodeNode"),m=require("lexical/ListItemNode"),t=require("lexical"),u=require("react"),w=require("lexical/HeadingNode"),x=require("lexical/ListNode"),y=require("lexical/QuoteNode");function z(e){throw Error(`Minified Lexical error #${e}; see codes.json for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
|
2
|
+
const A={requiresParagraphStart:!1,nodeTransformationKind:null,regEx:/(?:)/,regExExpectedCaptureGroupCount:0},B={...A,requiresParagraphStart:!0},E=[{...A,nodeTransformationKind:"textBold",regEx:/(\*)(?:\s*\b)(?:[^\*]*)(?:\b\s*)(\*\s)$/,regExExpectedCaptureGroupCount:2}],F=[{...B,regEx:/(?:# )/,nodeTransformationKind:"paragraphH1"},{...B,regEx:/(?:## )/,nodeTransformationKind:"paragraphH2"},{...B,regEx:/(?:### )/,nodeTransformationKind:"paragraphH2"},{...B,regEx:/(?:> )/,nodeTransformationKind:"paragraphBlockQuote"},
|
|
3
|
+
{...B,regEx:/(?:- )/,nodeTransformationKind:"paragraphUnorderedList"},{...B,regEx:/(?:\* )/,nodeTransformationKind:"paragraphUnorderedList"},{...B,nodeTransformationKind:"paragraphOrderedList",regEx:/^(\d+)\.\s/,regExExpectedCaptureGroupCount:1},{...B,regEx:/(?:``` )/,nodeTransformationKind:"paragraphCodeBlock"},...E];
|
|
4
|
+
function G(e,h,b){const a={regExCaptureGroups:[],text:"",textIndex:-1,triggerState:null};e=e.match(h);if(null!==e&&0===e.index&&e.length===b+1){a.textIndex=e.index;a.text=e[0];for(b=1;b<e.length;++b)a.regExCaptureGroups.push(e[b]);return a}return null}
|
|
5
|
+
function H(e,h){e.update(()=>{var b=t.$getSelection();if(null==b)b=null;else{var a=b.anchor.getNode();b=t.$isTextNode(a)?{node:a,offset:b.anchor.offset}:null}if(null!==b){b={textNodeWithOffset:b,trimmedParagraphText:null};a:{a=!1===h.isParentAListItemNode?F:E;var c=a.length;for(var f=0;f<c;++f){var d=a[f];if(!1===h.isCodeBlock||"paragraphCodeBlock"===d.nodeTransformationKind){var g=d,k=b;if(null!==g.requiresParagraphStart&&!0===g.requiresParagraphStart)b:{var n=k;k=n.textNodeWithOffset;if(null===
|
|
6
|
+
k.node.getPreviousSibling()&&(n=n.textNodeWithOffset.node.getTextContent(),g=G(n,g.regEx,g.regExExpectedCaptureGroupCount),null!=g&&0===g.textIndex&&g.textIndex+g.text.length===k.offset))break b;g=null}else{if(null==k.trimmedParagraphText){var p=k.textNodeWithOffset.node.getParentOrThrow();if(t.$isElementNode(p)){if(null==k.trimmedParagraphText){n=k;var I=k.textNodeWithOffset.node,C=k.textNodeWithOffset.offset;let r="";p=p.getChildren();const J=p.length;for(let v=0;v<J;++v){const q=p[v];if(t.$isTextNode(q)){const D=
|
|
7
|
+
q.getTextContent();if(q.is(I)){C>D.length&&z(50,q.__key);r+=q.getTextContent().substr(0,C);break}else r+=D}else r+="\u0004"}n.trimmedParagraphText=r}G(k.trimmedParagraphText,g.regEx,g.regExExpectedCaptureGroupCount)}else z(52,p.__key)}g=null}if(null!=g){g.triggerState=h;a={autoFormatCriteria:d,matchResultContext:g};break a}}}a={autoFormatCriteria:null,matchResultContext:null}}c=a;if(null!==c.autoFormatCriteria&&null!==c.matchResultContext&&(a=c.autoFormatCriteria,c=c.matchResultContext,a.requiresParagraphStart)){f=
|
|
8
|
+
b.textNodeWithOffset;b=f.node.getParentOrThrow();f=f.node.spliceText(0,c.text.length,"",!0);""===f.getTextContent()&&(f.selectPrevious(),f.remove());f=b.getChildren();d=null;if(null!=a.nodeTransformationKind)switch(a.nodeTransformationKind){case "paragraphH1":d=w.$createHeadingNode("h1");d.append(...f);break;case "paragraphH2":d=w.$createHeadingNode("h2");d.append(...f);break;case "paragraphH3":d=w.$createHeadingNode("h3");d.append(...f);break;case "paragraphBlockQuote":d=y.$createQuoteNode();d.append(...f);
|
|
9
|
+
break;case "paragraphUnorderedList":d=x.$createListNode("ul");a=m.$createListItemNode();a.append(...f);d.append(a);break;case "paragraphOrderedList":a=parseInt(1===c.regExCaptureGroups.length?c.regExCaptureGroups[0]:"1",10);d=x.$createListNode("ol",a);a=m.$createListItemNode();a.append(...f);d.append(a);break;case "paragraphCodeBlock":d=null!=c.triggerState&&c.triggerState.isCodeBlock?t.$createParagraphNode():l.$createCodeNode(),d.append(...f)}a=d;null!==a&&b.replace(a)}}})}
|
|
10
|
+
function K(e){let h=null;e.read(()=>{const b=t.$getSelection();if(null!=b&&b.isCollapsed()){var a=b.anchor.getNode(),c=a.getParent(),f=null!==c&&m.$isListItemNode(c);c=null!==c&&t.$isElementNode(c);h={anchorOffset:b.anchor.offset,isCodeBlock:l.$isCodeNode(a),isSelectionCollapsed:b.isCollapsed(),isSimpleText:t.$isTextNode(a)&&a.isSimpleText(),isParentAnElementNode:c,isParentAListItemNode:f,nodeKey:a.getKey(),textContent:a.getTextContent()}}});return h}
|
|
11
|
+
function L(e){u.useEffect(()=>{let h=null;e.addListener("update",({tags:b})=>{if(!1===b.has("historic")){b=K(e.getEditorState());var a=b;var c=h;if(null==a||null==c)a=!1;else{var f=a.textContent.length,d=a.anchorOffset-1;a=!0===a.isParentAnElementNode&&a.isSimpleText&&a.isSelectionCollapsed&&a.nodeKey===c.nodeKey&&a.anchorOffset!==c.anchorOffset&&0<=d&&d+1<=f&&" "===a.textContent.substr(d,1)&&a.textContent!==c.textContent}a&&null!=b&&H(e,b);h=b}else h=null})},[e])}module.exports=function(e){L(e)};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
'use strict';var g=require("react"),l=require("lexical"),m=require("lexical/ListItemNode"),p=require("lexical/ListNode")
|
|
2
|
-
function
|
|
3
|
-
function
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
f;){const k=f.getKey();if(p.$isListNode(f)){if(!b.has(k)){var h=p.$createListNode(a);h.append(...f.getChildren());f.replace(h);b.add(k)}break}else{h=f.getParent();if(l.$isRootNode(h)&&!b.has(k)){b.add(k);
|
|
7
|
-
function
|
|
8
|
-
function
|
|
1
|
+
'use strict';var g=require("react"),l=require("lexical"),m=require("lexical/ListItemNode"),p=require("lexical/ListNode");function q(d){d=d.getParent();if(!p.$isListNode(d))throw Error("Minified Lexical error #2; see codes.json for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");let a=d;for(;null!==a;)a=a.getParent(),p.$isListNode(a)&&(d=a);return d}
|
|
2
|
+
function r(d){let a=[];d=d.getChildren().filter(m.$isListItemNode);for(let b=0;b<d.length;b++){const c=d[b],e=c.getFirstChild();p.$isListNode(e)?a=a.concat(r(e)):a.push(c)}return a}function t(d,a){for(;null!=d&&!(d instanceof a);)d=d.getParent();return d}
|
|
3
|
+
function u(d){d.update(()=>{l.$log("removeList");var a=l.$getSelection();if(null!==a){const c=new Set,e=a.getNodes();a=a.anchor.getNode();if(0===e.length&&m.$isListItemNode(a))c.add(q(a));else for(a=0;a<e.length;a++){var b=e[a];l.$isLeafNode(b)&&(b=t(b,m.ListItemNode),null!=b&&c.add(q(b)))}c.forEach(f=>{let h=f;r(f).forEach(k=>{if(null!=k){const n=l.$createParagraphNode();n.append(...k.getChildren());h.insertAfter(n);h=n;k.remove()}});f.remove()})}})}
|
|
4
|
+
function v(d,a){if(p.$isListNode(d))return d;const b=d.getPreviousSibling(),c=d.getNextSibling(),e=m.$createListItemNode();if(p.$isListNode(b)&&a===b.getTag())return e.append(d),b.append(e),p.$isListNode(c)&&a===c.getTag()&&(b.append(...c.getChildren()),c.remove()),b;if(p.$isListNode(c)&&a===c.getTag())return e.append(d),c.getFirstChildOrThrow().insertBefore(e),c;a=p.$createListNode(a);a.append(e);d.replace(a);e.append(d);return a}
|
|
5
|
+
function w(d,a){d.update(()=>{l.$log("formatList");var b=l.$getSelection();if(null!==b){var c=b.getNodes();b=b.anchor.getNode();var e=b.getParent();if(0===c.length)c=p.$createListNode(a),l.$isRootNode(e)?(b.replace(c),b=m.$createListItemNode(),c.append(b)):m.$isListItemNode(b)&&(b=b.getParentOrThrow(),c.append(...b.getChildren()),b.replace(c));else for(b=new Set,e=0;e<c.length;e++){var f=c[e];if(l.$isElementNode(f)&&f.isEmpty()&&!b.has(f.getKey()))v(f,a);else if(l.$isLeafNode(f))for(f=f.getParent();null!=
|
|
6
|
+
f;){const k=f.getKey();if(p.$isListNode(f)){if(!b.has(k)){var h=p.$createListNode(a);h.append(...f.getChildren());f.replace(h);b.add(k)}break}else{h=f.getParent();if(l.$isRootNode(h)&&!b.has(k)){b.add(k);v(f,a);break}f=h}}}}})}
|
|
7
|
+
function x(d){var a=l.$getSelection();if(null===a)return!1;var b=a.getNodes(),c=[];0===b.length&&b.push(a.anchor.getNode());if(1===b.length){a:{for(b=b[0];null!==b;){if(m.$isListItemNode(b))break a;b=b.getParent()}b=null}null!==b&&(c=[b])}else{c=new Set;for(a=0;a<b.length;a++){const e=b[a];m.$isListItemNode(e)&&c.add(e)}c=Array.from(c)}return 0<c.length?("indent"===d?y(c):z(c),!0):!1}function A(d){return m.$isListItemNode(d)&&p.$isListNode(d.getFirstChild())}
|
|
8
|
+
function y(d){d.forEach(a=>{if(!A(a)){var b=a.getParent(),c=a.getNextSibling(),e=a.getPreviousSibling();if(A(c)&&A(e))e=e.getFirstChild(),p.$isListNode(e)&&(e.append(a),a=c.getFirstChild(),p.$isListNode(a)&&(c=a.getChildren(),e.append(...c),a.remove()),e.getChildren().forEach(f=>f.markDirty()));else if(A(c))c=c.getFirstChild(),p.$isListNode(c)&&(e=c.getFirstChild(),null!==e&&e.insertBefore(a),c.getChildren().forEach(f=>f.markDirty()));else if(A(e))c=e.getFirstChild(),p.$isListNode(c)&&(c.append(a),
|
|
9
9
|
c.getChildren().forEach(f=>f.markDirty()));else if(p.$isListNode(b)){const f=m.$createListItemNode(),h=p.$createListNode(b.getTag());f.append(h);h.append(a);e?e.insertAfter(f):c?c.insertBefore(f):b.append(f)}p.$isListNode(b)&&b.getChildren().forEach(f=>f.markDirty())}})}
|
|
10
|
-
function
|
|
10
|
+
function z(d){d.forEach(a=>{if(!A(a)){var b=a.getParent(),c=b?b.getParent():void 0,e=c?c.getParent():void 0;if(p.$isListNode(e)&&m.$isListItemNode(c)&&p.$isListNode(b)){var f=b?b.getFirstChild():void 0,h=b?b.getLastChild():void 0;if(a.is(f))c.insertBefore(a),b.isEmpty()&&c.remove();else if(a.is(h))c.insertAfter(a),b.isEmpty()&&c.remove();else{var k=b.getTag();f=m.$createListItemNode();const n=p.$createListNode(k);f.append(n);a.getPreviousSiblings().forEach(B=>n.append(B));h=m.$createListItemNode();
|
|
11
11
|
k=p.$createListNode(k);h.append(k);k.append(...a.getNextSiblings());c.insertBefore(f);c.insertAfter(h);c.replace(a)}b.getChildren().forEach(n=>n.markDirty());e.getChildren().forEach(n=>n.markDirty())}}})}
|
|
12
|
-
function
|
|
12
|
+
function C(d){g.useEffect(()=>d.addListener("command",a=>{if("indentContent"===a){if(x("indent"))return!0}else if("outdentContent"===a){if(x("outdent"))return!0}else{if("insertOrderedList"===a)return w(d,"ol"),!0;if("insertUnorderedList"===a)return w(d,"ul"),!0;if("removeList"===a)return u(d),!0}return!1},1),[d])}module.exports=function(d){C(d)};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
'use strict';var h=require("lexical"),u=require("
|
|
2
|
-
function
|
|
3
|
-
q));if(n!==q||""!==k)t.insertRawText(k),p=m.getNode();h.$isTextNode(p)&&(n=l,q=l+r,m=p.getTextContentSize(),n=n>m?m:n,q=q>m?m:q,t.setTextNodeRange(p,n,p,q));e.stopImmediatePropagation()}})}}};window.addEventListener("message",b,!0);return()=>{window.removeEventListener("message",b,!0)}},[a])}function
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
function
|
|
9
|
-
!0;case "
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function
|
|
1
|
+
'use strict';var h=require("lexical"),u=require("react"),v=require("@lexical/react/withSubscriptions");
|
|
2
|
+
function w(a){u.useEffect(()=>{const b=e=>{var d=a.getRootElement();if(document.activeElement===d&&(d=e.data,"string"===typeof d)){try{var c=JSON.parse(d)}catch(f){return}if(c&&"nuanria_messaging"===c.protocol&&"request"===c.type&&(c=c.payload)&&"makeChanges"===c.functionId&&(c=c.args)){const [f,g,k,l,r]=c;a.update(()=>{h.$log("useLexicalDragonSupport");const t=h.$getSelection();if(null!==t){var m=t.anchor;let p=m.getNode(),n=0,q=0;h.$isTextNode(p)&&0<=f&&0<=g&&(n=f,q=f+g,t.setTextNodeRange(p,n,p,
|
|
3
|
+
q));if(n!==q||""!==k)t.insertRawText(k),p=m.getNode();h.$isTextNode(p)&&(n=l,q=l+r,m=p.getTextContentSize(),n=n>m?m:n,q=q>m?m:q,t.setTextNodeRange(p,n,p,q));e.stopImmediatePropagation()}})}}};window.addEventListener("message",b,!0);return()=>{window.removeEventListener("message",b,!0)}},[a])}function x(a,b){a=a.getData("text/plain");null!=a&&b.insertRawText(a)}
|
|
4
|
+
function y(a,b){var e=a.focus;a=e.offset;"element"===e.type?b=e.getNode().getChildAtIndex(b?a-1:a):(e=e.getNode(),b=b&&0===a||!b&&a===e.getTextContentSize()?b?e.getPreviousSibling():e.getNextSibling():null);return h.$isDecoratorNode(b)}function z(a,b){a.preventDefault();b.update(()=>{h.$log("onPasteForPlainText");const e=h.$getSelection(),d=a.clipboardData;null!=d&&null!==e&&x(d,e)})}
|
|
5
|
+
function A(a,b){B(a,b);b.update(()=>{h.$log("onCutForPlainText");const e=h.$getSelection();null!==e&&e.removeText()})}function B(a,b){a.preventDefault();b.update(()=>{h.$log("onCopyForPlainText");const e=a.clipboardData,d=h.$getSelection();if(null!==d&&null!=e){var c=window.getSelection();if(!c.isCollapsed){var f=c.getRangeAt(0);f&&(c=document.createElement("div"),f=f.cloneContents(),c.appendChild(f),e.setData("text/html",c.innerHTML));e.setData("text/plain",d.getTextContent())}}})}
|
|
6
|
+
var C="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?u.useLayoutEffect:u.useEffect;function D(a,b){const e=h.$createParagraphNode();a.append(e);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===b.getRootElement())&&e.select()}function E(a){a.update(()=>{h.$log("initEditor");const b=h.$getRoot();null===b.getFirstChild()&&D(b,a)})}
|
|
7
|
+
function F(a,b){a.update(()=>{h.$log("clearEditor");const e=h.$getRoot();e.clear();D(e,a)},{onUpdate:b})}
|
|
8
|
+
function G(a,b){C(()=>{const e=v(a.addListener("command",(d,c)=>{const f=h.$getSelection();if(null===f)return!1;switch(d){case "deleteCharacter":return f.deleteCharacter(c),!0;case "deleteWord":return f.deleteWord(c),!0;case "deleteLine":return f.deleteLine(c),!0;case "insertText":return"string"===typeof c?f.insertText(c):(d=c.dataTransfer,null!=d?x(d,f):(c=c.data)&&f.insertText(c)),!0;case "removeText":return f.removeText(),!0;case "insertLineBreak":return f.insertLineBreak(c),!0;case "insertParagraph":return f.insertLineBreak(),
|
|
9
|
+
!0;case "indentContent":case "outdentContent":case "insertHorizontalRule":case "insertImage":case "insertTable":case "formatElement":case "formatText":return!0;case "keyArrowLeft":d=c.shiftKey;if(y(f,!0))return c.preventDefault(),c=d,d="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(c?"extend":"move",!d,"character"),!0;break;case "keyArrowRight":d=c.shiftKey;if(y(f,!1))return c.preventDefault(),c=d,d="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(c?"extend":
|
|
10
|
+
"move",d,"character"),!0;break;case "keyBackspace":return c.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return c.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return c.preventDefault(),a.execCommand("insertLineBreak");case "clearEditor":F(a);break;case "copy":return B(c,a),!0;case "cut":return A(c,a),!0;case "paste":return z(c,a),!0;case "drop":case "dragstart":return c.preventDefault(),!0}return!1},0));b&&E(a);return e},[a,b]);w(a)}
|
|
11
|
+
function H(a,b,e){b=Array.from(b);e=Array.from(e);a=a._nodeMap;const d=[];for(var c=0;c<b.length;c++){const f=a.get(b[c]);void 0!==f&&d.push(f)}for(b=0;b<e.length;b++)e[b][1]&&(c=a.get(e[b][0]),void 0===c||h.$isRootNode(c)||d.push(c));return d}
|
|
12
|
+
function I(a,b,e,d,c){if(null===a||0===e.size&&0===d.size)return 0;var f=b._selection,g=a._selection;if(c)return 1;if(null===f||null===g||!g.isCollapsed()||!f.isCollapsed())return 0;e=H(b,e,d);if(0===e.length)return 0;if(1<e.length){b=b._nodeMap;g=b.get(g.anchor.key);const k=b.get(f.anchor.key);return h.$isTextNode(k)&&h.$isElementNode(g)&&!a._nodeMap.has(k.__key)&&1===k.__text.length&&1===f.anchor.offset?e.every(l=>l===k||!h.$isTextNode(l))?2:0:0}b=e[0];a=a._nodeMap.get(b.__key);if(!h.$isTextNode(a)||
|
|
13
13
|
!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}
|
|
14
|
-
function
|
|
15
|
-
function
|
|
14
|
+
function J(a,b){let e=Date.now(),d=0;return(c,f,g,k,l,r)=>{const t=Date.now();if(r.has("historic"))return d=0,e=t,2;const m=I(c,f,k,l,a.isComposing()),p=(()=>{if(r.has("without-history"))return 0;if(null===c)return 1;var n=f._selection;const q=c._selection;if(!(0<k.size||0<l.size))return null===q&&null!==n?0:2;n=null===g||g.editor===a;return 0!==m&&m===d&&t<e+b&&n?0:1})();e=t;d=m;return p}}
|
|
15
|
+
function K(a,b,e=1E3){const d=u.useMemo(()=>b||{current:null,redoStack:[],undoStack:[]},[b]),c=u.useCallback(()=>{d.undoStack=[];d.redoStack=[];d.current=null},[d]);u.useEffect(()=>{const f=J(a,e);return v(a.addListener("command",g=>{switch(g){case "undo":g=d.redoStack;var k=d.undoStack;if(0!==k.length){var l=d.current;const r=k.pop();null!==l&&(g.push(l),a.execCommand("canRedo",!0));0===k.length&&a.execCommand("canUndo",!1);d.current=r;r.editor.setEditorState(r.editorState.clone(r.undoSelection),
|
|
16
16
|
{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 c(),!1;case "clearHistory":return c(),!0;default:return!1}},0),a.addListener("update",({editorState:g,prevEditorState:k,dirtyLeaves:l,dirtyElements:r,tags:t})=>{const m=d.current,p=d.redoStack,n=d.undoStack,
|
|
17
|
-
q=null===m?null:m.editorState;if(null===m||g!==q){l=f(k,g,m,l,r,t);if(1===l)0!==p.length&&(d.redoStack=[]),null!==m&&(n.push({...m,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;d.current={editor:a,editorState:g}}}))},[c,e,a,d])}function
|
|
17
|
+
q=null===m?null:m.editorState;if(null===m||g!==q){l=f(k,g,m,l,r,t);if(1===l)0!==p.length&&(d.redoStack=[]),null!==m&&(n.push({...m,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;d.current={editor:a,editorState:g}}}))},[c,e,a,d])}function L(a,b,e=1E3){return K(a,b,e)}module.exports=function(a,b){G(a,!0);L(a,b)};
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
function
|
|
3
|
-
t));if(q!==t||""!==
|
|
4
|
-
function
|
|
5
|
-
function
|
|
1
|
+
'use strict';var h=require("lexical"),w=require("lexical/HeadingNode"),x=require("lexical/ListNode"),z=require("lexical/QuoteNode"),A=require("lexical/CodeNode"),B=require("lexical/ListItemNode"),C=require("react"),D=require("lexical/LinkNode"),E=require("@lexical/react/withSubscriptions");
|
|
2
|
+
function F(a){C.useEffect(()=>{const c=f=>{var d=a.getRootElement();if(document.activeElement===d&&(d=f.data,"string"===typeof d)){try{var e=JSON.parse(d)}catch(b){return}if(e&&"nuanria_messaging"===e.protocol&&"request"===e.type&&(e=e.payload)&&"makeChanges"===e.functionId&&(e=e.args)){const [b,g,k,l,p]=e;a.update(()=>{h.$log("useLexicalDragonSupport");const n=h.$getSelection();if(null!==n){var m=n.anchor;let r=m.getNode(),q=0,t=0;h.$isTextNode(r)&&0<=b&&0<=g&&(q=b,t=b+g,n.setTextNodeRange(r,q,r,
|
|
3
|
+
t));if(q!==t||""!==k)n.insertRawText(k),r=m.getNode();h.$isTextNode(r)&&(q=l,t=l+p,m=r.getTextContentSize(),q=q>m?m:q,t=t>m?m:t,n.setTextNodeRange(r,q,r,t));f.stopImmediatePropagation()}})}}};window.addEventListener("message",c,!0);return()=>{window.removeEventListener("message",c,!0)}},[a])}
|
|
4
|
+
function G(a){a=a.getLatest();const c=a.constructor.clone(a);c.__parent=a.__parent;h.$isElementNode(a)&&h.$isElementNode(c)?(c.__children=Array.from(a.__children),c.__format=a.__format,c.__indent=a.__indent,c.__dir=a.__dir):h.$isTextNode(a)&&h.$isTextNode(c)?(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail):h.$isDecoratorNode(a)&&h.$isDecoratorNode(c)&&(c.__state=a.__state);return c}
|
|
5
|
+
function H(a,c,f,d,e){for(var b=c;null!==a;){for(c=a.getParent();null!==c&&c.excludeFromCopy();)c=c.getParent();if(null===c)break;if(!h.$isElementNode(a)||!a.excludeFromCopy()){const g=a.getKey();let k=e.get(g);const l=void 0===k;l&&(k=G(a),e.set(g,k));!h.$isTextNode(k)||k.isSegmented()||k.isToken()?h.$isElementNode(k)&&(k.__children=k.__children.slice(f?b:0,f?void 0:b+1)):k.__text=k.__text.slice(f?b:0,f?void 0:b);if(h.$isRootNode(c)){l&&d.push(g);break}}b=e.get(c.getKey());b=h.$isElementNode(b)?
|
|
6
6
|
b.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=c}}
|
|
7
|
-
const
|
|
8
|
-
u:()=>({node:null,forChild:a=>{
|
|
9
|
-
after:
|
|
10
|
-
a.parentNode;null!=
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
|
|
14
|
-
function
|
|
15
|
-
function
|
|
16
|
-
function
|
|
17
|
-
var m=l.getNode(),r=p.getNode(),q=m.getParentOrThrow();if(m===r&&
|
|
18
|
-
t=[];
|
|
19
|
-
function
|
|
20
|
-
function
|
|
21
|
-
!0;case "formatText":return b.formatText(
|
|
22
|
-
|
|
23
|
-
b.modify(
|
|
24
|
-
a),!0;case "
|
|
25
|
-
function
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
{
|
|
30
|
-
|
|
7
|
+
const I={ul:()=>({node:x.$createListNode("ul")}),ol:()=>({node:x.$createListNode("ol")}),li:()=>({node:B.$createListItemNode()}),h1:()=>({node:w.$createHeadingNode("h1")}),h2:()=>({node:w.$createHeadingNode("h2")}),h3:()=>({node:w.$createHeadingNode("h3")}),h4:()=>({node:w.$createHeadingNode("h4")}),h5:()=>({node:w.$createHeadingNode("h5")}),p:()=>({node:h.$createParagraphNode()}),br:()=>({node:h.$createLineBreakNode()}),a:a=>({node:a instanceof HTMLAnchorElement?D.$createLinkNode(a.href):h.$createTextNode(a.textContent)}),
|
|
8
|
+
u:()=>({node:null,forChild:a=>{h.$isTextNode(a)&&a.toggleFormat("underline")}}),b:a=>{const c="normal"===a.style.fontWeight;return{node:null,forChild:f=>{h.$isTextNode(f)&&!c&&f.toggleFormat("bold")}}},strong:()=>({node:null,forChild:a=>{h.$isTextNode(a)&&a.toggleFormat("bold")}}),i:()=>({node:null,forChild:a=>{h.$isTextNode(a)&&a.toggleFormat("italic")}}),em:()=>({node:null,forChild:a=>{h.$isTextNode(a)&&a.toggleFormat("italic")}}),td:a=>{const c=a.classList.contains("js-file-line");return{node:null,
|
|
9
|
+
after:f=>{c&&a.parentNode&&a.parentNode.nextSibling&&f.push(h.$createLineBreakNode());return f}}},table:a=>({node:a.classList.contains("js-file-line-container")?A.$createCodeNode():null}),span:a=>{const c="700"===a.style.fontWeight;return{node:null,forChild:f=>{h.$isTextNode(f)&&c&&f.toggleFormat("bold")}}},"#text":a=>({node:h.$createTextNode(a.textContent)}),pre:()=>({node:A.$createCodeNode()}),div:a=>({node:null!==a.style.fontFamily.match("monospace")?A.$createCodeNode():null,after:c=>{const f=
|
|
10
|
+
a.parentNode;null!=f&&a!==f.lastChild&&c.push(h.$createLineBreakNode());return c}})};
|
|
11
|
+
function J(a,c,f,d=new Map){let e=[],b=null;var g=a.nodeName.toLowerCase(),k=(f._config.htmlTransforms||{})[g]||c[g],l=k?k(a):null;k=null;if(null!==l){k=l.after;b=l.node;if(null!==b){e.push(b);const p=Array.from(d.values());for(let n=0;n<p.length;n++)p[n](b)}null!=l.forChild&&d.set(g,l.forChild)}a=a.childNodes;g=[];for(l=0;l<a.length;l++)g.push(...J(a[l],c,f,d));null!=k&&(g=k(g));null==b?e=e.concat(g):h.$isElementNode(b)&&b.append(...g);return e}
|
|
12
|
+
function K(a,c,f){var d=a.getData("application/x-lexical-editor");if(d){var e=f._config.namespace;try{const l=JSON.parse(d);if(l.namespace===e){const {range:p,nodeMap:n}=l.state;var b=new Map(n);d=[];for(e=0;e<p.length;e++){var g=b.get(p[e]);if(void 0!==g){var k=h.$createNodeFromParse(g,b);d.push(k)}}c.insertNodes(d);return}}catch(l){}}if(b=a.getData("text/html")){b=(new DOMParser).parseFromString(b,"text/html");a=[];b=b.body?Array.from(b.body.childNodes):[];g=b.length;for(k=0;k<g;k++)d=J(b[k],I,
|
|
13
|
+
f),null!==d&&(a=a.concat(d));f=a;a=[];b=null;for(g=0;g<f.length;g++)k=f[g],!h.$isElementNode(k)||k.isInline()?(null===b&&(b=h.$createParagraphNode(),a.push(b)),null!==b&&b.append(k)):(a.push(k),b=null);c.insertNodes(a)}else f=a.getData("text/plain"),null!=f&&c.insertRawText(f)}
|
|
14
|
+
function L(a,c){var f=a.focus;a=f.offset;"element"===f.type?c=f.getNode().getChildAtIndex(c?a-1:a):(f=f.getNode(),c=c&&0===a||!c&&a===f.getTextContentSize()?c?f.getPreviousSibling():f.getNextSibling():null);return h.$isDecoratorNode(c)}function M(a,c){a.preventDefault();c.update(()=>{h.$log("onPasteForRichText");const f=h.$getSelection(),d=a.clipboardData;null!=d&&null!==f&&K(d,f,c)})}
|
|
15
|
+
function N(a,c){O(a,c);c.update(()=>{h.$log("onCutForRichText");const f=h.$getSelection();null!==f&&f.removeText()})}
|
|
16
|
+
function O(a,c){a.preventDefault();c.update(()=>{h.$log("onCopyForRichText");const f=a.clipboardData;var d=h.$getSelection();if(null!==d&&null!=f){var e=window.getSelection();if(!e.isCollapsed){var b=e.getRangeAt(0);b&&(e=document.createElement("div"),b=b.cloneContents(),e.appendChild(b),f.setData("text/html",e.innerHTML));f.setData("text/plain",d.getTextContent());e=c._config.namespace;b=f.setData;var g=JSON,k=g.stringify;{var l=d.anchor,p=d.focus;var n=l.getCharacterOffset();const y=p.getCharacterOffset();
|
|
17
|
+
var m=l.getNode(),r=p.getNode(),q=m.getParentOrThrow();if(m===r&&h.$isTextNode(m)&&(q.canBeEmpty()||1<q.getChildrenSize()))d=G(m),m=y>n,d.__text=d.__text.slice(m?n:y,m?y:n),n=d.getKey(),n={range:[n],nodeMap:[[n,d]]};else if(d=d.getNodes(),0===d.length)n={range:[],nodeMap:[]};else{m=d.length;r=d[0];q=r.getParent();if(null!==q&&!q.canBeEmpty()){var t=q.__children;if(t.length===m){var u=!0;for(var v=0;v<t.length;v++)if(t[v]!==d[v].__key){u=!1;break}u&&(m++,d.push(q))}}q=d[m-1];l=l.isBefore(p);p=new Map;
|
|
18
|
+
t=[];H(r,l?n:y,!0,t,p);for(r=0;r<m;r++)if(u=d[r],v=u.getKey(),!(p.has(v)||h.$isElementNode(u)&&u.excludeFromCopy())){const Q=G(u);h.$isRootNode(u.getParent())&&t.push(u.getKey());p.set(v,Q)}H(q,l?y:n,!1,t,p);n={range:t,nodeMap:Array.from(p.entries())}}}b.call(f,"application/x-lexical-editor",k.call(g,{namespace:e,state:n}))}}})}var P="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?C.useLayoutEffect:C.useEffect;
|
|
19
|
+
function R(a,c){const f=h.$createParagraphNode();a.append(f);a=document.activeElement;(null!==h.$getSelection()||null!==a&&a===c.getRootElement())&&f.select()}function S(a){a.update(()=>{h.$log("initEditor");const c=h.$getRoot();null===c.getFirstChild()&&R(c,a)})}function T(a,c){a.update(()=>{h.$log("clearEditor");const f=h.$getRoot();f.clear();R(f,a)},{onUpdate:c})}
|
|
20
|
+
function U(a,c){P(()=>{const f=E(a.registerNodes([w.HeadingNode,x.ListNode,z.QuoteNode,A.CodeNode,B.ListItemNode]),a.addListener("command",(d,e)=>{var b=h.$getSelection();if(null===b)return!1;switch(d){case "deleteCharacter":return b.deleteCharacter(e),!0;case "deleteWord":return b.deleteWord(e),!0;case "deleteLine":return b.deleteLine(e),!0;case "insertText":return"string"===typeof e?b.insertText(e):(d=e.dataTransfer,null!=d?K(d,b,a):(e=e.data)&&b.insertText(e)),!0;case "removeText":return b.removeText(),
|
|
21
|
+
!0;case "formatText":return b.formatText(e),!0;case "formatElement":return b=b.anchor.getNode(),(h.$isElementNode(b)?b:b.getParentOrThrow()).setFormat(e),!0;case "insertLineBreak":return b.insertLineBreak(e),!0;case "insertParagraph":return b.insertParagraph(),!0;case "indentContent":return b=b.anchor,b="element"===b.type?b.getNode():b.getNode().getParentOrThrow(),b.canInsertTab()?a.execCommand("insertText","\t"):10!==b.getIndent()&&b.setIndent(b.getIndent()+1),!0;case "outdentContent":return b=b.anchor,
|
|
22
|
+
e=b.getNode(),d="element"===b.type?b.getNode():b.getNode().getParentOrThrow(),d.canInsertTab()?"\t"===e.getTextContent()[b.offset-1]&&a.execCommand("deleteCharacter",!0):0!==d.getIndent()&&d.setIndent(d.getIndent()-1),!0;case "keyArrowLeft":d=e.shiftKey;if(L(b,!0))return e.preventDefault(),e=d,d="rtl"===b.anchor.getNode().getParentOrThrow().getDirection(),b.modify(e?"extend":"move",!d,"character"),!0;break;case "keyArrowRight":d=e.shiftKey;if(L(b,!1))return e.preventDefault(),e=d,d="rtl"===b.anchor.getNode().getParentOrThrow().getDirection(),
|
|
23
|
+
b.modify(e?"extend":"move",d,"character"),!0;break;case "keyBackspace":return e.preventDefault(),{anchor:e}=b,b.isCollapsed()&&0===e.offset&&0<("element"===e.type?e.getNode():e.getNode().getParentOrThrow()).getIndent()?a.execCommand("outdentContent"):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(),
|
|
24
|
+
a.execCommand(e.shiftKey?"outdentContent":"indentContent");case "keyEscape":return a.blur(),!0;case "clearEditor":T(a);break;case "copy":return O(e,a),!0;case "cut":return N(e,a),!0;case "paste":return M(e,a),!0;case "drop":case "dragstart":return e.preventDefault(),!0}return!1},0));c&&S(a);return f},[a,c]);F(a)}
|
|
25
|
+
function V(a,c,f){c=Array.from(c);f=Array.from(f);a=a._nodeMap;const d=[];for(var e=0;e<c.length;e++){const b=a.get(c[e]);void 0!==b&&d.push(b)}for(c=0;c<f.length;c++)f[c][1]&&(e=a.get(f[c][0]),void 0===e||h.$isRootNode(e)||d.push(e));return d}
|
|
26
|
+
function W(a,c,f,d,e){if(null===a||0===f.size&&0===d.size)return 0;var b=c._selection,g=a._selection;if(e)return 1;if(null===b||null===g||!g.isCollapsed()||!b.isCollapsed())return 0;f=V(c,f,d);if(0===f.length)return 0;if(1<f.length){c=c._nodeMap;g=c.get(g.anchor.key);const k=c.get(b.anchor.key);return h.$isTextNode(k)&&h.$isElementNode(g)&&!a._nodeMap.has(k.__key)&&1===k.__text.length&&1===b.anchor.offset?f.every(l=>l===k||!h.$isTextNode(l))?2:0:0}c=f[0];a=a._nodeMap.get(c.__key);if(!h.$isTextNode(a)||
|
|
27
|
+
!h.$isTextNode(c)||a.__mode!==c.__mode)return 0;a=a.__text;c=c.__text;if(a===c)return 0;b=b.anchor;g=g.anchor;if(b.key!==g.key||"text"!==b.type)return 0;b=b.offset;g=g.offset;a=c.length-a.length;return 1===a&&g===b-1?2:-1===a&&g===b+1?3:-1===a&&g===b?4:0}
|
|
28
|
+
function X(a,c){let f=Date.now(),d=0;return(e,b,g,k,l,p)=>{const n=Date.now();if(p.has("historic"))return d=0,f=n,2;const m=W(e,b,k,l,a.isComposing()),r=(()=>{if(p.has("without-history"))return 0;if(null===e)return 1;var q=b._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!==m&&m===d&&n<f+c&&q?0:1})();f=n;d=m;return r}}
|
|
29
|
+
function Y(a,c,f=1E3){const d=C.useMemo(()=>c||{current:null,redoStack:[],undoStack:[]},[c]),e=C.useCallback(()=>{d.undoStack=[];d.redoStack=[];d.current=null},[d]);C.useEffect(()=>{const b=X(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 p=k.pop();null!==l&&(g.push(l),a.execCommand("canRedo",!0));0===k.length&&a.execCommand("canUndo",!1);d.current=p;p.editor.setEditorState(p.editorState.clone(p.undoSelection),
|
|
30
|
+
{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:p,tags:n})=>{const m=d.current,r=d.redoStack,q=d.undoStack,
|
|
31
|
+
t=null===m?null:m.editorState;if(null===m||g!==t){l=b(k,g,m,l,p,n);if(1===l)0!==r.length&&(d.redoStack=[]),null!==m&&(q.push({...m,undoSelection:k.read(h.$getSelection)}),a.execCommand("canUndo",!0));else if(2===l)return;d.current={editor:a,editorState:g}}}))},[e,f,a,d])}function Z(a,c,f=1E3){return Y(a,c,f)}module.exports=function(a,c){U(a,!0);Z(a,c)};
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
'use strict';var l=require("@lexical/react/LexicalComposerContext"),m=require("lexical/CodeNode"),t=require("lexical/ListItemNode"),u=require("lexical"),w=require("react"),x=require("lexical/HeadingNode"),y=require("lexical/ListNode"),z=require("lexical/
|
|
2
|
-
const
|
|
1
|
+
'use strict';var l=require("@lexical/react/LexicalComposerContext"),m=require("lexical/CodeNode"),t=require("lexical/ListItemNode"),u=require("lexical"),w=require("react"),x=require("lexical/HeadingNode"),y=require("lexical/ListNode"),z=require("lexical/QuoteNode");function A(e){throw Error(`Minified Lexical error #${e}; see codes.json for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
|
2
|
+
const B={requiresParagraphStart:!1,nodeTransformationKind:null,regEx:/(?:)/,regExExpectedCaptureGroupCount:0},E={...B,requiresParagraphStart:!0},F=[{...B,nodeTransformationKind:"textBold",regEx:/(\*)(?:\s*\b)(?:[^\*]*)(?:\b\s*)(\*\s)$/,regExExpectedCaptureGroupCount:2}],G=[{...E,regEx:/(?:# )/,nodeTransformationKind:"paragraphH1"},{...E,regEx:/(?:## )/,nodeTransformationKind:"paragraphH2"},{...E,regEx:/(?:### )/,nodeTransformationKind:"paragraphH2"},{...E,regEx:/(?:> )/,nodeTransformationKind:"paragraphBlockQuote"},
|
|
3
3
|
{...E,regEx:/(?:- )/,nodeTransformationKind:"paragraphUnorderedList"},{...E,regEx:/(?:\* )/,nodeTransformationKind:"paragraphUnorderedList"},{...E,nodeTransformationKind:"paragraphOrderedList",regEx:/^(\d+)\.\s/,regExExpectedCaptureGroupCount:1},{...E,regEx:/(?:``` )/,nodeTransformationKind:"paragraphCodeBlock"},...F];
|
|
4
|
-
function H(
|
|
5
|
-
function I(
|
|
6
|
-
k.node.getPreviousSibling()&&(n=n.textNodeWithOffset.node.getTextContent(),g=H(n,g.regEx,g.regExExpectedCaptureGroupCount),null!=g&&0===g.textIndex&&g.textIndex+g.text.length===k.offset))break b;g=null}else{if(null==k.trimmedParagraphText){var p=k.textNodeWithOffset.node.getParentOrThrow();if(u.$isElementNode(p)){if(null==k.trimmedParagraphText){n=k;var J=k.textNodeWithOffset.node,
|
|
7
|
-
q.getTextContent();if(q.is(J)){
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
module.exports=function(){const [f]=l.useLexicalComposerContext();M(f);return null};
|
|
4
|
+
function H(e,h,b){const a={regExCaptureGroups:[],text:"",textIndex:-1,triggerState:null};e=e.match(h);if(null!==e&&0===e.index&&e.length===b+1){a.textIndex=e.index;a.text=e[0];for(b=1;b<e.length;++b)a.regExCaptureGroups.push(e[b]);return a}return null}
|
|
5
|
+
function I(e,h){e.update(()=>{var b=u.$getSelection();if(null==b)b=null;else{var a=b.anchor.getNode();b=u.$isTextNode(a)?{node:a,offset:b.anchor.offset}:null}if(null!==b){b={textNodeWithOffset:b,trimmedParagraphText:null};a:{a=!1===h.isParentAListItemNode?G:F;var c=a.length;for(var f=0;f<c;++f){var d=a[f];if(!1===h.isCodeBlock||"paragraphCodeBlock"===d.nodeTransformationKind){var g=d,k=b;if(null!==g.requiresParagraphStart&&!0===g.requiresParagraphStart)b:{var n=k;k=n.textNodeWithOffset;if(null===
|
|
6
|
+
k.node.getPreviousSibling()&&(n=n.textNodeWithOffset.node.getTextContent(),g=H(n,g.regEx,g.regExExpectedCaptureGroupCount),null!=g&&0===g.textIndex&&g.textIndex+g.text.length===k.offset))break b;g=null}else{if(null==k.trimmedParagraphText){var p=k.textNodeWithOffset.node.getParentOrThrow();if(u.$isElementNode(p)){if(null==k.trimmedParagraphText){n=k;var J=k.textNodeWithOffset.node,C=k.textNodeWithOffset.offset;let r="";p=p.getChildren();const K=p.length;for(let v=0;v<K;++v){const q=p[v];if(u.$isTextNode(q)){const D=
|
|
7
|
+
q.getTextContent();if(q.is(J)){C>D.length&&A(50,q.__key);r+=q.getTextContent().substr(0,C);break}else r+=D}else r+="\u0004"}n.trimmedParagraphText=r}H(k.trimmedParagraphText,g.regEx,g.regExExpectedCaptureGroupCount)}else A(52,p.__key)}g=null}if(null!=g){g.triggerState=h;a={autoFormatCriteria:d,matchResultContext:g};break a}}}a={autoFormatCriteria:null,matchResultContext:null}}c=a;if(null!==c.autoFormatCriteria&&null!==c.matchResultContext&&(a=c.autoFormatCriteria,c=c.matchResultContext,a.requiresParagraphStart)){f=
|
|
8
|
+
b.textNodeWithOffset;b=f.node.getParentOrThrow();f=f.node.spliceText(0,c.text.length,"",!0);""===f.getTextContent()&&(f.selectPrevious(),f.remove());f=b.getChildren();d=null;if(null!=a.nodeTransformationKind)switch(a.nodeTransformationKind){case "paragraphH1":d=x.$createHeadingNode("h1");d.append(...f);break;case "paragraphH2":d=x.$createHeadingNode("h2");d.append(...f);break;case "paragraphH3":d=x.$createHeadingNode("h3");d.append(...f);break;case "paragraphBlockQuote":d=z.$createQuoteNode();d.append(...f);
|
|
9
|
+
break;case "paragraphUnorderedList":d=y.$createListNode("ul");a=t.$createListItemNode();a.append(...f);d.append(a);break;case "paragraphOrderedList":a=parseInt(1===c.regExCaptureGroups.length?c.regExCaptureGroups[0]:"1",10);d=y.$createListNode("ol",a);a=t.$createListItemNode();a.append(...f);d.append(a);break;case "paragraphCodeBlock":d=null!=c.triggerState&&c.triggerState.isCodeBlock?u.$createParagraphNode():m.$createCodeNode(),d.append(...f)}a=d;null!==a&&b.replace(a)}}})}
|
|
10
|
+
function L(e){let h=null;e.read(()=>{const b=u.$getSelection();if(null!=b&&b.isCollapsed()){var a=b.anchor.getNode(),c=a.getParent(),f=null!==c&&t.$isListItemNode(c);c=null!==c&&u.$isElementNode(c);h={anchorOffset:b.anchor.offset,isCodeBlock:m.$isCodeNode(a),isSelectionCollapsed:b.isCollapsed(),isSimpleText:u.$isTextNode(a)&&a.isSimpleText(),isParentAnElementNode:c,isParentAListItemNode:f,nodeKey:a.getKey(),textContent:a.getTextContent()}}});return h}
|
|
11
|
+
function M(e){w.useEffect(()=>{let h=null;e.addListener("update",({tags:b})=>{if(!1===b.has("historic")){b=L(e.getEditorState());var a=b;var c=h;if(null==a||null==c)a=!1;else{var f=a.textContent.length,d=a.anchorOffset-1;a=!0===a.isParentAnElementNode&&a.isSimpleText&&a.isSelectionCollapsed&&a.nodeKey===c.nodeKey&&a.anchorOffset!==c.anchorOffset&&0<=d&&d+1<=f&&" "===a.textContent.substr(d,1)&&a.textContent!==c.textContent}a&&null!=b&&I(e,b);h=b}else h=null})},[e])}
|
|
12
|
+
module.exports=function(){const [e]=l.useLexicalComposerContext();M(e);return null};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
'use strict';var d=require("react"),
|
|
2
|
-
function D(b,c,a,
|
|
3
|
-
a.on("status",
|
|
4
|
-
b.addListener("command",(k,
|
|
5
|
-
function E(b,c){d.useEffect(()=>{const a=()=>{
|
|
6
|
-
function F(b,c){const a=d.useMemo(()=>
|
|
7
|
-
const G=[["Cat","255,165,0"],["Dog","0,200,55"],["Rabbit","160,0,200"],["Frog","0,172,200"],["Fox","197,200,0"],["Hedgehog","31,200,0"],["Pigeon","200,0,0"],["Squirrel","200,0,148"],["Bear","255,235,0"],["Tiger","86,255,0"],["Leopard","0,255,208"],["Zebra","0,243,255"],["Wolf","0,102,255"],["Owl","147,0,255"],["Gull","255,0,153"],["Squid","0,220,255"]],H=G[Math.floor(Math.random()*(G.length-1+1))],
|
|
8
|
-
exports.CollaborationContext=
|
|
1
|
+
'use strict';var d=require("react"),h=require("@lexical/react/LexicalComposerContext"),q=require("react-dom"),A=require("@lexical/yjs"),B=require("lexical");function C(b){b.update(()=>{B.$log("initEditor");var c=B.$getRoot();if(null===c.getFirstChild()){const a=B.$createParagraphNode();c.append(a);c=document.activeElement;(null!==B.$getSelection()||null!==c&&c===b.getRootElement())&&a.select()}})}
|
|
2
|
+
function D(b,c,a,f,g,l,r){const e=d.useMemo(()=>A.createBinding(b,a,c,f),[b,a,c,f]),m=d.useCallback(()=>{a.connect()},[a]),n=d.useCallback(()=>{try{a.disconnect()}catch(k){}},[a]);d.useEffect(()=>{const {root:k}=e,{awareness:t}=a,w=({status:p})=>{b.execCommand("connected","connected"===p)},x=p=>{!r&&p&&k.isEmpty()&&0===k._xmlText._length&&C(b)},y=()=>{A.syncCursorPositions(e,a)},z=(p,v)=>{v.origin!==e&&A.syncYjsChangesToLexical(e,a,p)};A.initLocalState(a,g,l,document.activeElement===b.getRootElement());
|
|
3
|
+
a.on("status",w);a.on("sync",x);t.on("update",y);k.getSharedType().observeDeep(z);const M=b.addListener("update",({prevEditorState:p,editorState:v,dirtyLeaves:I,dirtyElements:J,normalizedNodes:K,tags:L})=>{A.syncLexicalUpdateToYjs(e,a,p,v,J,I,K,L)});m();return()=>{n();a.off("sync",x);a.off("status",w);t.off("update",y);k.getSharedType().unobserveDeep(z);M()}},[e,l,m,n,b,g,a,r]);const u=d.useMemo(()=>q.createPortal(d.createElement("div",{ref:k=>{e.cursorsContainer=k}}),document.body),[e]);d.useEffect(()=>
|
|
4
|
+
b.addListener("command",(k,t)=>{"toggleConnect"===k&&void 0!==m&&void 0!==n&&(t?(console.log("Collaboration connected!"),m()):(console.log("Collaboration disconnected!"),n()));return!1},0),[m,n,b]);return[u,e]}
|
|
5
|
+
function E(b,c){d.useEffect(()=>{const a=()=>{A.setLocalStateFocus(c,!1)},f=()=>{A.setLocalStateFocus(c,!0)};return b.addListener("root",(g,l)=>{null!==l&&(l.removeEventListener("blur",a),l.removeEventListener("focus",f));null!==g&&(document.activeElement===g&&A.setLocalStateFocus(c,!0),g.addEventListener("blur",a),g.addEventListener("focus",f))})},[b,c,c.awareness])}
|
|
6
|
+
function F(b,c){const a=d.useMemo(()=>A.createUndoManager(c,c.root.getSharedType()),[c]);d.useEffect(()=>b.addListener("command",f=>"undo"===f?(a.undo(),!0):"redo"===f?(a.redo(),!0):!1,0));return d.useCallback(()=>{a.clear()},[a])}
|
|
7
|
+
const G=[["Cat","255,165,0"],["Dog","0,200,55"],["Rabbit","160,0,200"],["Frog","0,172,200"],["Fox","197,200,0"],["Hedgehog","31,200,0"],["Pigeon","200,0,0"],["Squirrel","200,0,148"],["Bear","255,235,0"],["Tiger","86,255,0"],["Leopard","0,255,208"],["Zebra","0,243,255"],["Wolf","0,102,255"],["Owl","147,0,255"],["Gull","255,0,153"],["Squid","0,220,255"]],H=G[Math.floor(Math.random()*(G.length-1+1))],N=d.createContext({clientID:0,yjsDocMap:new Map,name:H[0],color:H[1]});
|
|
8
|
+
function O(){return d.useContext(N)}exports.CollaborationContext=N;exports.CollaborationPlugin=function({id:b,providerFactory:c,skipInit:a}){const f=O(),{yjsDocMap:g,name:l,color:r}=f,[e]=h.useLexicalComposerContext(),m=d.useMemo(()=>c(b,g),[b,c,g]),[n,u]=D(e,b,m,g,l,r,a||!1);f.clientID=u.clientID;F(e,u);E(e,m);return n};exports.useCollaborationContext=O;
|
package/LexicalListPlugin.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
'use strict';var g=require("@lexical/react/LexicalComposerContext"),l=require("react"),m=require("lexical"),p=require("lexical/ListItemNode"),q=require("lexical/ListNode")
|
|
2
|
-
function
|
|
3
|
-
function
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
f;){const k=f.getKey();if(q.$isListNode(f)){if(!b.has(k)){var h=q.$createListNode(a);h.append(...f.getChildren());f.replace(h);b.add(k)}break}else{h=f.getParent();if(m.$isRootNode(h)&&!b.has(k)){b.add(k);
|
|
7
|
-
function
|
|
8
|
-
function
|
|
1
|
+
'use strict';var g=require("@lexical/react/LexicalComposerContext"),l=require("react"),m=require("lexical"),p=require("lexical/ListItemNode"),q=require("lexical/ListNode");function r(d){d=d.getParent();if(!q.$isListNode(d))throw Error("Minified Lexical error #2; see codes.json for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");let a=d;for(;null!==a;)a=a.getParent(),q.$isListNode(a)&&(d=a);return d}
|
|
2
|
+
function t(d){let a=[];d=d.getChildren().filter(p.$isListItemNode);for(let b=0;b<d.length;b++){const c=d[b],e=c.getFirstChild();q.$isListNode(e)?a=a.concat(t(e)):a.push(c)}return a}function u(d,a){for(;null!=d&&!(d instanceof a);)d=d.getParent();return d}
|
|
3
|
+
function v(d){d.update(()=>{m.$log("removeList");var a=m.$getSelection();if(null!==a){const c=new Set,e=a.getNodes();a=a.anchor.getNode();if(0===e.length&&p.$isListItemNode(a))c.add(r(a));else for(a=0;a<e.length;a++){var b=e[a];m.$isLeafNode(b)&&(b=u(b,p.ListItemNode),null!=b&&c.add(r(b)))}c.forEach(f=>{let h=f;t(f).forEach(k=>{if(null!=k){const n=m.$createParagraphNode();n.append(...k.getChildren());h.insertAfter(n);h=n;k.remove()}});f.remove()})}})}
|
|
4
|
+
function w(d,a){if(q.$isListNode(d))return d;const b=d.getPreviousSibling(),c=d.getNextSibling(),e=p.$createListItemNode();if(q.$isListNode(b)&&a===b.getTag())return e.append(d),b.append(e),q.$isListNode(c)&&a===c.getTag()&&(b.append(...c.getChildren()),c.remove()),b;if(q.$isListNode(c)&&a===c.getTag())return e.append(d),c.getFirstChildOrThrow().insertBefore(e),c;a=q.$createListNode(a);a.append(e);d.replace(a);e.append(d);return a}
|
|
5
|
+
function x(d,a){d.update(()=>{m.$log("formatList");var b=m.$getSelection();if(null!==b){var c=b.getNodes();b=b.anchor.getNode();var e=b.getParent();if(0===c.length)c=q.$createListNode(a),m.$isRootNode(e)?(b.replace(c),b=p.$createListItemNode(),c.append(b)):p.$isListItemNode(b)&&(b=b.getParentOrThrow(),c.append(...b.getChildren()),b.replace(c));else for(b=new Set,e=0;e<c.length;e++){var f=c[e];if(m.$isElementNode(f)&&f.isEmpty()&&!b.has(f.getKey()))w(f,a);else if(m.$isLeafNode(f))for(f=f.getParent();null!=
|
|
6
|
+
f;){const k=f.getKey();if(q.$isListNode(f)){if(!b.has(k)){var h=q.$createListNode(a);h.append(...f.getChildren());f.replace(h);b.add(k)}break}else{h=f.getParent();if(m.$isRootNode(h)&&!b.has(k)){b.add(k);w(f,a);break}f=h}}}}})}
|
|
7
|
+
function y(d){var a=m.$getSelection();if(null===a)return!1;var b=a.getNodes(),c=[];0===b.length&&b.push(a.anchor.getNode());if(1===b.length){a:{for(b=b[0];null!==b;){if(p.$isListItemNode(b))break a;b=b.getParent()}b=null}null!==b&&(c=[b])}else{c=new Set;for(a=0;a<b.length;a++){const e=b[a];p.$isListItemNode(e)&&c.add(e)}c=Array.from(c)}return 0<c.length?("indent"===d?z(c):A(c),!0):!1}function B(d){return p.$isListItemNode(d)&&q.$isListNode(d.getFirstChild())}
|
|
8
|
+
function z(d){d.forEach(a=>{if(!B(a)){var b=a.getParent(),c=a.getNextSibling(),e=a.getPreviousSibling();if(B(c)&&B(e))e=e.getFirstChild(),q.$isListNode(e)&&(e.append(a),a=c.getFirstChild(),q.$isListNode(a)&&(c=a.getChildren(),e.append(...c),a.remove()),e.getChildren().forEach(f=>f.markDirty()));else if(B(c))c=c.getFirstChild(),q.$isListNode(c)&&(e=c.getFirstChild(),null!==e&&e.insertBefore(a),c.getChildren().forEach(f=>f.markDirty()));else if(B(e))c=e.getFirstChild(),q.$isListNode(c)&&(c.append(a),
|
|
9
9
|
c.getChildren().forEach(f=>f.markDirty()));else if(q.$isListNode(b)){const f=p.$createListItemNode(),h=q.$createListNode(b.getTag());f.append(h);h.append(a);e?e.insertAfter(f):c?c.insertBefore(f):b.append(f)}q.$isListNode(b)&&b.getChildren().forEach(f=>f.markDirty())}})}
|
|
10
|
-
function
|
|
10
|
+
function A(d){d.forEach(a=>{if(!B(a)){var b=a.getParent(),c=b?b.getParent():void 0,e=c?c.getParent():void 0;if(q.$isListNode(e)&&p.$isListItemNode(c)&&q.$isListNode(b)){var f=b?b.getFirstChild():void 0,h=b?b.getLastChild():void 0;if(a.is(f))c.insertBefore(a),b.isEmpty()&&c.remove();else if(a.is(h))c.insertAfter(a),b.isEmpty()&&c.remove();else{var k=b.getTag();f=p.$createListItemNode();const n=q.$createListNode(k);f.append(n);a.getPreviousSiblings().forEach(C=>n.append(C));h=p.$createListItemNode();
|
|
11
11
|
k=q.$createListNode(k);h.append(k);k.append(...a.getNextSiblings());c.insertBefore(f);c.insertAfter(h);c.replace(a)}b.getChildren().forEach(n=>n.markDirty());e.getChildren().forEach(n=>n.markDirty())}}})}
|
|
12
|
-
function
|
|
12
|
+
function D(d){l.useEffect(()=>d.addListener("command",a=>{if("indentContent"===a){if(y("indent"))return!0}else if("outdentContent"===a){if(y("outdent"))return!0}else{if("insertOrderedList"===a)return x(d,"ol"),!0;if("insertUnorderedList"===a)return x(d,"ul"),!0;if("removeList"===a)return v(d),!0}return!1},1),[d])}module.exports=function(){const [d]=g.useLexicalComposerContext();D(d);return null};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
'use strict';var g=require("react"),h=require("@lexical/react/LexicalComposerContext"),t=require("lexical"),u=require("
|
|
2
|
-
function
|
|
3
|
-
m));if(l!==m||""!==r)q.insertRawText(r),k=n.getNode();t.$isTextNode(k)&&(l=
|
|
4
|
-
function
|
|
5
|
-
function
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
function
|
|
9
|
-
!0;case "
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
function
|
|
13
|
-
function
|
|
1
|
+
'use strict';var g=require("react"),h=require("@lexical/react/LexicalComposerContext"),t=require("lexical"),u=require("@lexical/react/withSubscriptions"),w=require("react-dom");
|
|
2
|
+
function x(a){g.useEffect(()=>{const d=c=>{var e=a.getRootElement();if(document.activeElement===e&&(e=c.data,"string"===typeof e)){try{var b=JSON.parse(e)}catch(f){return}if(b&&"nuanria_messaging"===b.protocol&&"request"===b.type&&(b=b.payload)&&"makeChanges"===b.functionId&&(b=b.args)){const [f,p,r,v,E]=b;a.update(()=>{t.$log("useLexicalDragonSupport");const q=t.$getSelection();if(null!==q){var n=q.anchor;let k=n.getNode(),l=0,m=0;t.$isTextNode(k)&&0<=f&&0<=p&&(l=f,m=f+p,q.setTextNodeRange(k,l,k,
|
|
3
|
+
m));if(l!==m||""!==r)q.insertRawText(r),k=n.getNode();t.$isTextNode(k)&&(l=v,m=v+E,n=k.getTextContentSize(),l=l>n?n:l,m=m>n?n:m,q.setTextNodeRange(k,l,k,m));c.stopImmediatePropagation()}})}}};window.addEventListener("message",d,!0);return()=>{window.removeEventListener("message",d,!0)}},[a])}function y(a,d){a=a.getData("text/plain");null!=a&&d.insertRawText(a)}
|
|
4
|
+
function z(a,d){var c=a.focus;a=c.offset;"element"===c.type?d=c.getNode().getChildAtIndex(d?a-1:a):(c=c.getNode(),d=d&&0===a||!d&&a===c.getTextContentSize()?d?c.getPreviousSibling():c.getNextSibling():null);return t.$isDecoratorNode(d)}function A(a,d){a.preventDefault();d.update(()=>{t.$log("onPasteForPlainText");const c=t.$getSelection(),e=a.clipboardData;null!=e&&null!==c&&y(e,c)})}
|
|
5
|
+
function B(a,d){C(a,d);d.update(()=>{t.$log("onCutForPlainText");const c=t.$getSelection();null!==c&&c.removeText()})}function C(a,d){a.preventDefault();d.update(()=>{t.$log("onCopyForPlainText");const c=a.clipboardData,e=t.$getSelection();if(null!==e&&null!=c){var b=window.getSelection();if(!b.isCollapsed){var f=b.getRangeAt(0);f&&(b=document.createElement("div"),f=f.cloneContents(),b.appendChild(f),c.setData("text/html",b.innerHTML));c.setData("text/plain",e.getTextContent())}}})}
|
|
6
|
+
var D="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;function F(a,d){const c=t.$createParagraphNode();a.append(c);a=document.activeElement;(null!==t.$getSelection()||null!==a&&a===d.getRootElement())&&c.select()}function G(a){a.update(()=>{t.$log("initEditor");const d=t.$getRoot();null===d.getFirstChild()&&F(d,a)})}
|
|
7
|
+
function H(a,d){a.update(()=>{t.$log("clearEditor");const c=t.$getRoot();c.clear();F(c,a)},{onUpdate:d})}
|
|
8
|
+
function I(a,d){D(()=>{const c=u(a.addListener("command",(e,b)=>{const f=t.$getSelection();if(null===f)return!1;switch(e){case "deleteCharacter":return f.deleteCharacter(b),!0;case "deleteWord":return f.deleteWord(b),!0;case "deleteLine":return f.deleteLine(b),!0;case "insertText":return"string"===typeof b?f.insertText(b):(e=b.dataTransfer,null!=e?y(e,f):(b=b.data)&&f.insertText(b)),!0;case "removeText":return f.removeText(),!0;case "insertLineBreak":return f.insertLineBreak(b),!0;case "insertParagraph":return f.insertLineBreak(),
|
|
9
|
+
!0;case "indentContent":case "outdentContent":case "insertHorizontalRule":case "insertImage":case "insertTable":case "formatElement":case "formatText":return!0;case "keyArrowLeft":e=b.shiftKey;if(z(f,!0))return b.preventDefault(),b=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(b?"extend":"move",!e,"character"),!0;break;case "keyArrowRight":e=b.shiftKey;if(z(f,!1))return b.preventDefault(),b=e,e="rtl"===f.anchor.getNode().getParentOrThrow().getDirection(),f.modify(b?"extend":
|
|
10
|
+
"move",e,"character"),!0;break;case "keyBackspace":return b.preventDefault(),a.execCommand("deleteCharacter",!0);case "keyDelete":return b.preventDefault(),a.execCommand("deleteCharacter",!1);case "keyEnter":return b.preventDefault(),a.execCommand("insertLineBreak");case "clearEditor":H(a);break;case "copy":return C(b,a),!0;case "cut":return B(b,a),!0;case "paste":return A(b,a),!0;case "drop":case "dragstart":return b.preventDefault(),!0}return!1},0));d&&G(a);return c},[a,d]);x(a)}
|
|
11
|
+
function J(a){const [d,c]=g.useState(()=>a.getDecorators());D(()=>a.addListener("decorator",e=>{w.flushSync(()=>{c(e)})}),[a]);return g.useMemo(()=>{const e=[],b=Object.keys(d);for(let p=0;p<b.length;p++){var f=b[p];const r=d[f];f=a.getElementByKey(f);null!==f&&e.push(w.createPortal(r,f))}return e},[d,a])}function K(a,d=!0){if(a)return!1;a=t.$getRoot().getTextContent();d&&(a=a.trim());return""===a}
|
|
12
|
+
function L(a){if(!K(a,!1))return!1;a=t.$getRoot().getChildren();const d=a.length;if(1<d)return!1;for(let e=0;e<d;e++){var c=a[e];if(t.$isElementNode(c)){if("paragraph"!==c.__type||0!==c.__indent)return!1;c=c.getChildren();const b=c.length;for(let f=0;f<b;f++)if(!t.$isTextNode(c[e]))return!1}}return!0}function M(a){return()=>L(a)}
|
|
13
|
+
function N(a){const [d,c]=g.useState(a.getEditorState().read(M(a.isComposing())));D(()=>a.addListener("update",({editorState:e})=>{const b=a.isComposing();e=e.read(M(b));c(e)}),[a]);return d}function O(a){throw a;}module.exports=function({contentEditable:a,placeholder:d,skipInit:c,onError:e}){const [b]=h.useLexicalComposerContext(),f=N(b);I(b,!c);c=J(b);D(()=>b.addListener("error",e||O),[b,e]);return g.createElement(g.Fragment,null,a,f&&d,c)};
|
package/LexicalRichTextPlugin.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
'use strict';var g=require("react"),v=require("@lexical/react/LexicalComposerContext"),x=require("lexical"),z=require("lexical/HeadingNode"),A=require("lexical/ListNode"),B=require("lexical/QuoteNode"),C=require("lexical/CodeNode"),D=require("lexical/
|
|
2
|
-
function
|
|
1
|
+
'use strict';var g=require("react"),v=require("@lexical/react/LexicalComposerContext"),x=require("lexical"),z=require("lexical/HeadingNode"),A=require("lexical/ListNode"),B=require("lexical/QuoteNode"),C=require("lexical/CodeNode"),D=require("lexical/ListItemNode"),E=require("lexical/LinkNode"),F=require("@lexical/react/withSubscriptions"),G=require("react-dom");
|
|
2
|
+
function H(a){g.useEffect(()=>{const c=e=>{var f=a.getRootElement();if(document.activeElement===f&&(f=e.data,"string"===typeof f)){try{var d=JSON.parse(f)}catch(b){return}if(d&&"nuanria_messaging"===d.protocol&&"request"===d.type&&(d=d.payload)&&"makeChanges"===d.functionId&&(d=d.args)){const [b,k,h,l,q]=d;a.update(()=>{x.$log("useLexicalDragonSupport");const m=x.$getSelection();if(null!==m){var n=m.anchor;let r=n.getNode(),p=0,t=0;x.$isTextNode(r)&&0<=b&&0<=k&&(p=b,t=b+k,m.setTextNodeRange(r,p,r,
|
|
3
3
|
t));if(p!==t||""!==h)m.insertRawText(h),r=n.getNode();x.$isTextNode(r)&&(p=l,t=l+q,n=r.getTextContentSize(),p=p>n?n:p,t=t>n?n:t,m.setTextNodeRange(r,p,r,t));e.stopImmediatePropagation()}})}}};window.addEventListener("message",c,!0);return()=>{window.removeEventListener("message",c,!0)}},[a])}
|
|
4
|
-
function
|
|
5
|
-
function
|
|
4
|
+
function I(a){a=a.getLatest();const c=a.constructor.clone(a);c.__parent=a.__parent;x.$isElementNode(a)&&x.$isElementNode(c)?(c.__children=Array.from(a.__children),c.__format=a.__format,c.__indent=a.__indent,c.__dir=a.__dir):x.$isTextNode(a)&&x.$isTextNode(c)?(c.__format=a.__format,c.__style=a.__style,c.__mode=a.__mode,c.__detail=a.__detail):x.$isDecoratorNode(a)&&x.$isDecoratorNode(c)&&(c.__state=a.__state);return c}
|
|
5
|
+
function J(a,c,e,f,d){for(var b=c;null!==a;){for(c=a.getParent();null!==c&&c.excludeFromCopy();)c=c.getParent();if(null===c)break;if(!x.$isElementNode(a)||!a.excludeFromCopy()){const k=a.getKey();let h=d.get(k);const l=void 0===h;l&&(h=I(a),d.set(k,h));!x.$isTextNode(h)||h.isSegmented()||h.isToken()?x.$isElementNode(h)&&(h.__children=h.__children.slice(e?b:0,e?void 0:b+1)):h.__text=h.__text.slice(e?b:0,e?void 0:b);if(x.$isRootNode(c)){l&&f.push(k);break}}b=d.get(c.getKey());b=x.$isElementNode(b)?
|
|
6
6
|
b.__children.indexOf(a.getKey()):a.getIndexWithinParent();a=c}}
|
|
7
|
-
const
|
|
7
|
+
const K={ul:()=>({node:A.$createListNode("ul")}),ol:()=>({node:A.$createListNode("ol")}),li:()=>({node:D.$createListItemNode()}),h1:()=>({node:z.$createHeadingNode("h1")}),h2:()=>({node:z.$createHeadingNode("h2")}),h3:()=>({node:z.$createHeadingNode("h3")}),h4:()=>({node:z.$createHeadingNode("h4")}),h5:()=>({node:z.$createHeadingNode("h5")}),p:()=>({node:x.$createParagraphNode()}),br:()=>({node:x.$createLineBreakNode()}),a:a=>({node:a instanceof HTMLAnchorElement?E.$createLinkNode(a.href):x.$createTextNode(a.textContent)}),
|
|
8
8
|
u:()=>({node:null,forChild:a=>{x.$isTextNode(a)&&a.toggleFormat("underline")}}),b:a=>{const c="normal"===a.style.fontWeight;return{node:null,forChild:e=>{x.$isTextNode(e)&&!c&&e.toggleFormat("bold")}}},strong:()=>({node:null,forChild:a=>{x.$isTextNode(a)&&a.toggleFormat("bold")}}),i:()=>({node:null,forChild:a=>{x.$isTextNode(a)&&a.toggleFormat("italic")}}),em:()=>({node:null,forChild:a=>{x.$isTextNode(a)&&a.toggleFormat("italic")}}),td:a=>{const c=a.classList.contains("js-file-line");return{node:null,
|
|
9
9
|
after:e=>{c&&a.parentNode&&a.parentNode.nextSibling&&e.push(x.$createLineBreakNode());return e}}},table:a=>({node:a.classList.contains("js-file-line-container")?C.$createCodeNode():null}),span:a=>{const c="700"===a.style.fontWeight;return{node:null,forChild:e=>{x.$isTextNode(e)&&c&&e.toggleFormat("bold")}}},"#text":a=>({node:x.$createTextNode(a.textContent)}),pre:()=>({node:C.$createCodeNode()}),div:a=>({node:null!==a.style.fontFamily.match("monospace")?C.$createCodeNode():null,after:c=>{const e=
|
|
10
10
|
a.parentNode;null!=e&&a!==e.lastChild&&c.push(x.$createLineBreakNode());return c}})};
|
|
11
|
-
function
|
|
12
|
-
function
|
|
13
|
-
e),null!==f&&(a=a.concat(f));e=a;a=[];b=null;for(k=0;k<e.length;k++)h=e[k],!x.$isElementNode(h)||h.isInline()?(null===b&&(b=
|
|
14
|
-
function
|
|
15
|
-
function
|
|
16
|
-
function
|
|
17
|
-
var n=l.getNode(),r=q.getNode(),p=n.getParentOrThrow();if(n===r&&x.$isTextNode(n)&&(p.canBeEmpty()||1<p.getChildrenSize()))f=
|
|
18
|
-
t=[];
|
|
19
|
-
function
|
|
20
|
-
function
|
|
11
|
+
function L(a,c,e,f=new Map){let d=[],b=null;var k=a.nodeName.toLowerCase(),h=(e._config.htmlTransforms||{})[k]||c[k],l=h?h(a):null;h=null;if(null!==l){h=l.after;b=l.node;if(null!==b){d.push(b);const q=Array.from(f.values());for(let m=0;m<q.length;m++)q[m](b)}null!=l.forChild&&f.set(k,l.forChild)}a=a.childNodes;k=[];for(l=0;l<a.length;l++)k.push(...L(a[l],c,e,f));null!=h&&(k=h(k));null==b?d=d.concat(k):x.$isElementNode(b)&&b.append(...k);return d}
|
|
12
|
+
function M(a,c,e){var f=a.getData("application/x-lexical-editor");if(f){var d=e._config.namespace;try{const l=JSON.parse(f);if(l.namespace===d){const {range:q,nodeMap:m}=l.state;var b=new Map(m);f=[];for(d=0;d<q.length;d++){var k=b.get(q[d]);if(void 0!==k){var h=x.$createNodeFromParse(k,b);f.push(h)}}c.insertNodes(f);return}}catch(l){}}if(b=a.getData("text/html")){b=(new DOMParser).parseFromString(b,"text/html");a=[];b=b.body?Array.from(b.body.childNodes):[];k=b.length;for(h=0;h<k;h++)f=L(b[h],K,
|
|
13
|
+
e),null!==f&&(a=a.concat(f));e=a;a=[];b=null;for(k=0;k<e.length;k++)h=e[k],!x.$isElementNode(h)||h.isInline()?(null===b&&(b=x.$createParagraphNode(),a.push(b)),null!==b&&b.append(h)):(a.push(h),b=null);c.insertNodes(a)}else e=a.getData("text/plain"),null!=e&&c.insertRawText(e)}
|
|
14
|
+
function N(a,c){var e=a.focus;a=e.offset;"element"===e.type?c=e.getNode().getChildAtIndex(c?a-1:a):(e=e.getNode(),c=c&&0===a||!c&&a===e.getTextContentSize()?c?e.getPreviousSibling():e.getNextSibling():null);return x.$isDecoratorNode(c)}function O(a,c){a.preventDefault();c.update(()=>{x.$log("onPasteForRichText");const e=x.$getSelection(),f=a.clipboardData;null!=f&&null!==e&&M(f,e,c)})}
|
|
15
|
+
function P(a,c){Q(a,c);c.update(()=>{x.$log("onCutForRichText");const e=x.$getSelection();null!==e&&e.removeText()})}
|
|
16
|
+
function Q(a,c){a.preventDefault();c.update(()=>{x.$log("onCopyForRichText");const e=a.clipboardData;var f=x.$getSelection();if(null!==f&&null!=e){var d=window.getSelection();if(!d.isCollapsed){var b=d.getRangeAt(0);b&&(d=document.createElement("div"),b=b.cloneContents(),d.appendChild(b),e.setData("text/html",d.innerHTML));e.setData("text/plain",f.getTextContent());d=c._config.namespace;b=e.setData;var k=JSON,h=k.stringify;{var l=f.anchor,q=f.focus;var m=l.getCharacterOffset();const y=q.getCharacterOffset();
|
|
17
|
+
var n=l.getNode(),r=q.getNode(),p=n.getParentOrThrow();if(n===r&&x.$isTextNode(n)&&(p.canBeEmpty()||1<p.getChildrenSize()))f=I(n),n=y>m,f.__text=f.__text.slice(n?m:y,n?y:m),m=f.getKey(),m={range:[m],nodeMap:[[m,f]]};else if(f=f.getNodes(),0===f.length)m={range:[],nodeMap:[]};else{n=f.length;r=f[0];p=r.getParent();if(null!==p&&!p.canBeEmpty()){var t=p.__children;if(t.length===n){var u=!0;for(var w=0;w<t.length;w++)if(t[w]!==f[w].__key){u=!1;break}u&&(n++,f.push(p))}}p=f[n-1];l=l.isBefore(q);q=new Map;
|
|
18
|
+
t=[];J(r,l?m:y,!0,t,q);for(r=0;r<n;r++)if(u=f[r],w=u.getKey(),!(q.has(w)||x.$isElementNode(u)&&u.excludeFromCopy())){const U=I(u);x.$isRootNode(u.getParent())&&t.push(u.getKey());q.set(w,U)}J(p,l?y:m,!1,t,q);m={range:t,nodeMap:Array.from(q.entries())}}}b.call(e,"application/x-lexical-editor",h.call(k,{namespace:d,state:m}))}}})}var R="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?g.useLayoutEffect:g.useEffect;
|
|
19
|
+
function S(a,c){const e=x.$createParagraphNode();a.append(e);a=document.activeElement;(null!==x.$getSelection()||null!==a&&a===c.getRootElement())&&e.select()}function T(a){a.update(()=>{x.$log("initEditor");const c=x.$getRoot();null===c.getFirstChild()&&S(c,a)})}function V(a,c){a.update(()=>{x.$log("clearEditor");const e=x.$getRoot();e.clear();S(e,a)},{onUpdate:c})}
|
|
20
|
+
function W(a,c){R(()=>{const e=F(a.registerNodes([z.HeadingNode,A.ListNode,B.QuoteNode,C.CodeNode,D.ListItemNode]),a.addListener("command",(f,d)=>{var b=x.$getSelection();if(null===b)return!1;switch(f){case "deleteCharacter":return b.deleteCharacter(d),!0;case "deleteWord":return b.deleteWord(d),!0;case "deleteLine":return b.deleteLine(d),!0;case "insertText":return"string"===typeof d?b.insertText(d):(f=d.dataTransfer,null!=f?M(f,b,a):(d=d.data)&&b.insertText(d)),!0;case "removeText":return b.removeText(),
|
|
21
21
|
!0;case "formatText":return b.formatText(d),!0;case "formatElement":return b=b.anchor.getNode(),(x.$isElementNode(b)?b:b.getParentOrThrow()).setFormat(d),!0;case "insertLineBreak":return b.insertLineBreak(d),!0;case "insertParagraph":return b.insertParagraph(),!0;case "indentContent":return b=b.anchor,b="element"===b.type?b.getNode():b.getNode().getParentOrThrow(),b.canInsertTab()?a.execCommand("insertText","\t"):10!==b.getIndent()&&b.setIndent(b.getIndent()+1),!0;case "outdentContent":return b=b.anchor,
|
|
22
|
-
d=b.getNode(),f="element"===b.type?b.getNode():b.getNode().getParentOrThrow(),f.canInsertTab()?"\t"===d.getTextContent()[b.offset-1]&&a.execCommand("deleteCharacter",!0):0!==f.getIndent()&&f.setIndent(f.getIndent()-1),!0;case "keyArrowLeft":f=d.shiftKey;if(
|
|
23
|
-
b.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(),
|
|
24
|
-
a),!0;case "
|
|
25
|
-
function
|
|
26
|
-
function
|
|
22
|
+
d=b.getNode(),f="element"===b.type?b.getNode():b.getNode().getParentOrThrow(),f.canInsertTab()?"\t"===d.getTextContent()[b.offset-1]&&a.execCommand("deleteCharacter",!0):0!==f.getIndent()&&f.setIndent(f.getIndent()-1),!0;case "keyArrowLeft":f=d.shiftKey;if(N(b,!0))return d.preventDefault(),d=f,f="rtl"===b.anchor.getNode().getParentOrThrow().getDirection(),b.modify(d?"extend":"move",!f,"character"),!0;break;case "keyArrowRight":f=d.shiftKey;if(N(b,!1))return d.preventDefault(),d=f,f="rtl"===b.anchor.getNode().getParentOrThrow().getDirection(),
|
|
23
|
+
b.modify(d?"extend":"move",f,"character"),!0;break;case "keyBackspace":return d.preventDefault(),{anchor:d}=b,b.isCollapsed()&&0===d.offset&&0<("element"===d.type?d.getNode():d.getNode().getParentOrThrow()).getIndent()?a.execCommand("outdentContent"):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(),
|
|
24
|
+
a.execCommand(d.shiftKey?"outdentContent":"indentContent");case "keyEscape":return a.blur(),!0;case "clearEditor":V(a);break;case "copy":return Q(d,a),!0;case "cut":return P(d,a),!0;case "paste":return O(d,a),!0;case "drop":case "dragstart":return d.preventDefault(),!0}return!1},0));c&&T(a);return e},[a,c]);H(a)}
|
|
25
|
+
function X(a){const [c,e]=g.useState(()=>a.getDecorators());R(()=>a.addListener("decorator",f=>{G.flushSync(()=>{e(f)})}),[a]);return g.useMemo(()=>{const f=[],d=Object.keys(c);for(let k=0;k<d.length;k++){var b=d[k];const h=c[b];b=a.getElementByKey(b);null!==b&&f.push(G.createPortal(h,b))}return f},[c,a])}function Y(a,c=!0){if(a)return!1;a=x.$getRoot().getTextContent();c&&(a=a.trim());return""===a}
|
|
26
|
+
function aa(a){if(!Y(a,!1))return!1;a=x.$getRoot().getChildren();const c=a.length;if(1<c)return!1;for(let f=0;f<c;f++){var e=a[f];if(x.$isElementNode(e)){if("paragraph"!==e.__type||0!==e.__indent)return!1;e=e.getChildren();const d=e.length;for(let b=0;b<d;b++)if(!x.$isTextNode(e[f]))return!1}}return!0}function Z(a){return()=>aa(a)}
|
|
27
|
+
function ba(a){const [c,e]=g.useState(a.getEditorState().read(Z(a.isComposing())));R(()=>a.addListener("update",({editorState:f})=>{const d=a.isComposing();f=f.read(Z(d));e(f)}),[a]);return c}function ca(a){throw a;}module.exports=function({contentEditable:a,placeholder:c,skipInit:e,onError:f}){const [d]=v.useLexicalComposerContext(),b=ba(d);W(d,!e);e=X(d);R(()=>d.addListener("error",f||ca),[d,f]);return g.createElement(g.Fragment,null,a,b&&c,e)};
|
package/LexicalTablePlugin.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
return()=>{g();h()}},[c]);return null};
|
|
1
|
+
'use strict';var c=require("react"),k=require("@lexical/react/LexicalComposerContext"),l=require("lexical"),m=require("lexical/TableNode"),q=require("lexical/TableCellNode"),r=require("lexical/TableRowNode");function t(d,g,h=!0){const a=m.$createTableNode();for(let b=0;b<d;b++){const e=r.$createTableRowNode();for(let f=0;f<g;f++){const n=q.$createTableCellNode(0===b&&h),p=l.$createParagraphNode();p.append(l.$createTextNode());n.append(p);e.append(n)}a.append(e)}return a}
|
|
2
|
+
module.exports=function(){const [d]=k.useLexicalComposerContext();c.useEffect(()=>{const g=d.addListener("command",(a,b)=>{if("insertTable"===a){const {columns:e,rows:f}=b;l.$log("handleAddTable");a=l.$getSelection();if(null===a)return!0;a=a.focus.getNode();null!==a&&(a=a.getTopLevelElementOrThrow(),b=t(f,e),a.insertAfter(b),b.insertAfter(l.$createParagraphNode()),b.getFirstChildOrThrow().getFirstChildOrThrow().select());return!0}return!1},0),h=d.registerNodes([m.TableNode,q.TableCellNode,r.TableRowNode]);
|
|
3
|
+
return()=>{g();h()}},[d]);return null};
|
package/package.json
CHANGED
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
"rich-text"
|
|
13
13
|
],
|
|
14
14
|
"license": "MIT",
|
|
15
|
-
"version": "0.1.
|
|
15
|
+
"version": "0.1.6",
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"lexical": "0.1.
|
|
18
|
-
"@lexical/helpers": "0.1.
|
|
19
|
-
"@lexical/yjs": "0.1.
|
|
17
|
+
"lexical": "0.1.6",
|
|
18
|
+
"@lexical/helpers": "0.1.6",
|
|
19
|
+
"@lexical/yjs": "0.1.6",
|
|
20
20
|
"react": ">=17.x",
|
|
21
21
|
"react-dom": ">=17.x"
|
|
22
22
|
},
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
'use strict';var e=require("react"),
|
|
1
|
+
'use strict';var e=require("lexical"),f=require("react"),l="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement?f.useLayoutEffect:f.useEffect;
|
|
2
|
+
module.exports=function(a,d,g){const [b,h]=f.useState(()=>{var c=a.get(d);c=void 0!==c?c:"function"===typeof g?g():g;return c}),[,m]=f.useState();l(()=>{a.get(d)!==b&&a.set(d,b)},[d,b,a]);l(()=>{if(e.isDecoratorArray(b))return b.observe(()=>{m({})})},[b]);l(()=>a.observe((c,k)=>{c===d&&(a._map.set(c,k),h(k))}),[a,d]);return[b,h]};
|