mirror of
https://github.com/standardnotes/app
synced 2026-09-13 00:45:26 -04:00
Compare commits
57
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
813304c959 | ||
|
|
ba236a2f2b | ||
|
|
2757884d10 | ||
|
|
f2bcab6131 | ||
|
|
327f732adc | ||
|
|
909ab8ffad | ||
|
|
814afc3e6d | ||
|
|
2d68fb7c7d | ||
|
|
5463b7b58e | ||
|
|
b53ae1d09b | ||
|
|
cb083e2a05 | ||
|
|
f3276e2876 | ||
|
|
396ee3f449 | ||
|
|
c6060aaab3 | ||
|
|
29a50f9353 | ||
|
|
6b7d260dda | ||
|
|
2156e77135 | ||
|
|
1bca31cdcb | ||
|
|
d91402e673 | ||
|
|
766f156c89 | ||
|
|
cf4b5ccf0a | ||
|
|
3d895ca499 | ||
|
|
7bafde5be7 | ||
|
|
9ccbea8e0a | ||
|
|
2298a551ed | ||
|
|
65d68f8080 | ||
|
|
130b63b1a5 | ||
|
|
ee895ad44d | ||
|
|
14a82941b8 | ||
|
|
6e1d7926c3 | ||
|
|
b7f8105cd6 | ||
|
|
04106b3e15 | ||
|
|
23efad85df | ||
|
|
acd20dcc70 | ||
|
|
604f341f8f | ||
|
|
afaf53a7a4 | ||
|
|
121d07288a | ||
|
|
b5a6e60146 | ||
|
|
bf18d242bf | ||
|
|
64351dd304 | ||
|
|
bc0f444ed8 | ||
|
|
83cefb3492 | ||
|
|
423c62bc8e | ||
|
|
9019e6de81 | ||
|
|
bcafb4a905 | ||
|
|
8a3fab1024 | ||
|
|
990baf2a06 | ||
|
|
948dd117d3 | ||
|
|
8418e62950 | ||
|
|
5f5d817e04 | ||
|
|
e6d7bcecae | ||
|
|
80489cc7b6 | ||
|
|
3bb8ffbbe0 | ||
|
|
3da5c85658 | ||
|
|
775f4d4d50 | ||
|
|
8b5d455a6e | ||
|
|
bc845c1633 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,85 +0,0 @@
|
||||
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
|
||||
index 7f30124aa6bd71a27b171275c1bf7d366f6c1c95..f96c13e8e8c965e9cd485d0d2069f1ea096d92c4 100644
|
||||
--- a/LexicalClipboard.dev.js
|
||||
+++ b/LexicalClipboard.dev.js
|
||||
@@ -102,7 +102,7 @@ function $insertDataTransferForPlainText(dataTransfer, selection) {
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
+function $insertDataTransferForRichText(dataTransfer, selection, editor, event) {
|
||||
const lexicalString = dataTransfer.getData('application/x-lexical-editor');
|
||||
if (lexicalString) {
|
||||
try {
|
||||
@@ -115,15 +115,18 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
// Fail silently.
|
||||
}
|
||||
}
|
||||
- const htmlString = dataTransfer.getData('text/html');
|
||||
- if (htmlString) {
|
||||
- try {
|
||||
- const parser = new DOMParser();
|
||||
- const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
- const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
- return $insertGeneratedNodes(editor, nodes, selection);
|
||||
- } catch (_unused2) {
|
||||
- // Fail silently.
|
||||
+ const shouldIgnoreHTML = event && event.inputType === 'insertReplacementText' && dataTransfer.types.includes('text/plain');
|
||||
+ if (!shouldIgnoreHTML) {
|
||||
+ const htmlString = dataTransfer.getData('text/html');
|
||||
+ if (htmlString) {
|
||||
+ try {
|
||||
+ const parser = new DOMParser();
|
||||
+ const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
+ const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
+ return $insertGeneratedNodes(editor, nodes, selection);
|
||||
+ } catch (_unused2) {
|
||||
+ // Fail silently.
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js
|
||||
index e4d91576b7802dd4c53276049ff4116c97b697a1..ca25d060e213c89663b656ee0a72716ebd4b343b 100644
|
||||
--- a/LexicalClipboard.prod.js
|
||||
+++ b/LexicalClipboard.prod.js
|
||||
@@ -7,15 +7,15 @@
|
||||
'use strict';var d=require("@lexical/html"),q=require("@lexical/selection"),r=require("@lexical/utils"),u=require("lexical");function z(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c<arguments.length;c++)b.append("v",arguments[c]);throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?${b} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
||||
let A="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function B(a){let b=u.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return u.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?"":d.$generateHtmlFromNodes(a,b)}
|
||||
function C(a){let b=u.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return u.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(D(a,b))}
|
||||
-function E(a,b,c){let g=u.DEPRECATED_$isGridSelection(c),e=u.$isRangeSelection(c);(g||e&&null!==r.$findMatchingParent(c.anchor.getNode(),h=>u.DEPRECATED_$isGridCellNode(h))&&null!==r.$findMatchingParent(c.focus.getNode(),h=>u.DEPRECATED_$isGridCellNode(h)))&&1===b.length&&u.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):c.insertNodes(b)}
|
||||
-function F(a,b,c,g){1===a.length&&u.DEPRECATED_$isGridNode(a[0])||z(42);var e=a[0];a=e.getChildren();c=e.getFirstChildOrThrow().getChildrenSize();var h=e.getChildrenSize(),f=r.$findMatchingParent(b.anchor.getNode(),l=>u.DEPRECATED_$isGridCellNode(l));b=(e=f&&r.$findMatchingParent(f,l=>u.DEPRECATED_$isGridRowNode(l)))&&r.$findMatchingParent(e,l=>u.DEPRECATED_$isGridNode(l));u.DEPRECATED_$isGridCellNode(f)&&u.DEPRECATED_$isGridRowNode(e)&&u.DEPRECATED_$isGridNode(b)||z(43);var k=e.getIndexWithinParent(),
|
||||
-m=Math.min(b.getChildrenSize()-1,k+h-1);h=f.getIndexWithinParent();f=Math.min(e.getChildrenSize()-1,h+c-1);c=Math.min(h,f);e=Math.min(k,m);h=Math.max(h,f);k=Math.max(k,m);m=b.getChildren();f=0;let n,p;for(let l=e;l<=k;l++){var t=m[l];u.DEPRECATED_$isGridRowNode(t)||z(24);var y=a[f];u.DEPRECATED_$isGridRowNode(y)||z(24);t=t.getChildren();y=y.getChildren();let G=0;for(let v=c;v<=h;v++){let w=t[v];u.DEPRECATED_$isGridCellNode(w)||z(25);let H=y[G];u.DEPRECATED_$isGridCellNode(H)||z(25);l===e&&v===c?n=
|
||||
-w.getKey():l===k&&v===h&&(p=w.getKey());let M=w.getChildren();H.getChildren().forEach(x=>{u.$isTextNode(x)&&u.$createParagraphNode().append(x);w.append(x)});M.forEach(x=>x.remove());G++}f++}n&&p&&(a=u.DEPRECATED_$createGridSelection(),a.set(b.getKey(),n,p),u.$setSelection(a),g.dispatchCommand(u.SELECTION_CHANGE_COMMAND,void 0))}
|
||||
-function I(a,b,c,g=[]){let e=null!=b?c.isSelected(b):!0,h=u.$isElementNode(c)&&c.excludeFromCopy("html");var f=c;if(null!==b){var k=q.$cloneWithProperties(c);f=k=u.$isTextNode(k)&&null!=b?q.$sliceSelectedTextNodeContent(b,k):k}let m=u.$isElementNode(f)?f.getChildren():[];var n=f;k=n.exportJSON();var p=n.constructor;k.type!==p.getType()&&z(58,p.name);let t=k.children;u.$isElementNode(n)&&(Array.isArray(t)||z(59,p.name));u.$isTextNode(f)&&(f=f.__text,0<f.length?k.text=f:e=!1);for(f=0;f<m.length;f++)n=
|
||||
-m[f],p=I(a,b,n,k.children),!e&&u.$isElementNode(c)&&p&&c.extractWithChild(n,b,"clone")&&(e=!0);if(e&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return e}function D(a,b){let c=[],g=u.$getRoot().getChildren();for(let e=0;e<g.length;e++)I(a,b,g[e],c);return{namespace:a._config.namespace,nodes:c}}function J(a){let b=[];for(let c=0;c<a.length;c++){let g=u.$parseSerializedNode(a[c]);u.$isTextNode(g)&&q.$addNodeStyle(g);b.push(g)}return b}let K=null;
|
||||
-function L(a,b){var c=A?(a._window||window).getSelection():null;if(!c)return!1;var g=c.anchorNode;c=c.focusNode;if(null!==g&&null!==c&&!u.isSelectionWithinEditor(a,g,c))return!1;b.preventDefault();b=b.clipboardData;g=u.$getSelection();if(null===b||null===g)return!1;c=B(a);a=C(a);let e="";null!==g&&(e=g.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",e);return!0}exports.$generateJSONFromSelectedNodes=D;
|
||||
+function E(a,b,c){let g=u.DEPRECATED_$isGridSelection(c),f=u.$isRangeSelection(c);(g||f&&null!==r.$findMatchingParent(c.anchor.getNode(),h=>u.DEPRECATED_$isGridCellNode(h))&&null!==r.$findMatchingParent(c.focus.getNode(),h=>u.DEPRECATED_$isGridCellNode(h)))&&1===b.length&&u.DEPRECATED_$isGridNode(b[0])?F(b,c,!1,a):c.insertNodes(b)}
|
||||
+function F(a,b,c,g){1===a.length&&u.DEPRECATED_$isGridNode(a[0])||z(42);var f=a[0];a=f.getChildren();c=f.getFirstChildOrThrow().getChildrenSize();var h=f.getChildrenSize(),e=r.$findMatchingParent(b.anchor.getNode(),l=>u.DEPRECATED_$isGridCellNode(l));b=(f=e&&r.$findMatchingParent(e,l=>u.DEPRECATED_$isGridRowNode(l)))&&r.$findMatchingParent(f,l=>u.DEPRECATED_$isGridNode(l));u.DEPRECATED_$isGridCellNode(e)&&u.DEPRECATED_$isGridRowNode(f)&&u.DEPRECATED_$isGridNode(b)||z(43);var k=f.getIndexWithinParent(),
|
||||
+m=Math.min(b.getChildrenSize()-1,k+h-1);h=e.getIndexWithinParent();e=Math.min(f.getChildrenSize()-1,h+c-1);c=Math.min(h,e);f=Math.min(k,m);h=Math.max(h,e);k=Math.max(k,m);m=b.getChildren();e=0;let n,p;for(let l=f;l<=k;l++){var t=m[l];u.DEPRECATED_$isGridRowNode(t)||z(24);var y=a[e];u.DEPRECATED_$isGridRowNode(y)||z(24);t=t.getChildren();y=y.getChildren();let G=0;for(let v=c;v<=h;v++){let w=t[v];u.DEPRECATED_$isGridCellNode(w)||z(25);let H=y[G];u.DEPRECATED_$isGridCellNode(H)||z(25);l===f&&v===c?n=
|
||||
+w.getKey():l===k&&v===h&&(p=w.getKey());let M=w.getChildren();H.getChildren().forEach(x=>{u.$isTextNode(x)&&u.$createParagraphNode().append(x);w.append(x)});M.forEach(x=>x.remove());G++}e++}n&&p&&(a=u.DEPRECATED_$createGridSelection(),a.set(b.getKey(),n,p),u.$setSelection(a),g.dispatchCommand(u.SELECTION_CHANGE_COMMAND,void 0))}
|
||||
+function I(a,b,c,g=[]){let f=null!=b?c.isSelected(b):!0,h=u.$isElementNode(c)&&c.excludeFromCopy("html");var e=c;if(null!==b){var k=q.$cloneWithProperties(c);e=k=u.$isTextNode(k)&&null!=b?q.$sliceSelectedTextNodeContent(b,k):k}let m=u.$isElementNode(e)?e.getChildren():[];var n=e;k=n.exportJSON();var p=n.constructor;k.type!==p.getType()&&z(58,p.name);let t=k.children;u.$isElementNode(n)&&(Array.isArray(t)||z(59,p.name));u.$isTextNode(e)&&(e=e.__text,0<e.length?k.text=e:f=!1);for(e=0;e<m.length;e++)n=
|
||||
+m[e],p=I(a,b,n,k.children),!f&&u.$isElementNode(c)&&p&&c.extractWithChild(n,b,"clone")&&(f=!0);if(f&&!h)g.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)g.push(k.children[a]);return f}function D(a,b){let c=[],g=u.$getRoot().getChildren();for(let f=0;f<g.length;f++)I(a,b,g[f],c);return{namespace:a._config.namespace,nodes:c}}function J(a){let b=[];for(let c=0;c<a.length;c++){let g=u.$parseSerializedNode(a[c]);u.$isTextNode(g)&&q.$addNodeStyle(g);b.push(g)}return b}let K=null;
|
||||
+function L(a,b){var c=A?(a._window||window).getSelection():null;if(!c)return!1;var g=c.anchorNode;c=c.focusNode;if(null!==g&&null!==c&&!u.isSelectionWithinEditor(a,g,c))return!1;b.preventDefault();b=b.clipboardData;g=u.$getSelection();if(null===b||null===g)return!1;c=B(a);a=C(a);let f="";null!==g&&(f=g.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",f);return!0}exports.$generateJSONFromSelectedNodes=D;
|
||||
exports.$generateNodesFromSerializedNodes=J;exports.$getHtmlContent=B;exports.$getLexicalContent=C;exports.$insertDataTransferForPlainText=function(a,b){a=a.getData("text/plain")||a.getData("text/uri-list");null!=a&&b.insertRawText(a)};
|
||||
-exports.$insertDataTransferForRichText=function(a,b,c){var g=a.getData("application/x-lexical-editor");if(g)try{let h=JSON.parse(g);if(h.namespace===c._config.namespace&&Array.isArray(h.nodes)){let f=J(h.nodes);return E(c,f,b)}}catch(h){}if(g=a.getData("text/html"))try{var e=(new DOMParser).parseFromString(g,"text/html");let h=d.$generateNodesFromDOM(c,e);return E(c,h,b)}catch(h){}a=a.getData("text/plain")||a.getData("text/uri-list");if(null!=a)if(u.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),
|
||||
-""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)e=a[c],"\n"===e||"\r\n"===e?b.insertParagraph():"\t"===e?b.insertNodes([u.$createTabNode()]):b.insertText(e);else b.insertRawText(a)};exports.$insertGeneratedNodes=E;
|
||||
-exports.copyToClipboard=async function(a,b){if(null!==K)return!1;if(null!==b)return new Promise(f=>{a.update(()=>{f(L(a,b))})});var c=a.getRootElement();let g=null==a._window?window.document:a._window.document,e=A?(a._window||window).getSelection():null;if(null===c||null===e)return!1;let h=g.createElement("span");h.style.cssText="position: fixed; top: -1000px;";h.append(g.createTextNode("#"));c.append(h);c=new Range;c.setStart(h,0);c.setEnd(h,1);e.removeAllRanges();e.addRange(c);return new Promise(f=>
|
||||
-{let k=a.registerCommand(u.COPY_COMMAND,m=>{r.objectKlassEquals(m,ClipboardEvent)&&(k(),null!==K&&(window.clearTimeout(K),K=null),f(L(a,m)));return!0},u.COMMAND_PRIORITY_CRITICAL);K=window.setTimeout(()=>{k();K=null;f(!1)},50);g.execCommand("copy");h.remove()})}
|
||||
+exports.$insertDataTransferForRichText=function(a,b,c,g){let f=a.getData("application/x-lexical-editor");if(f)try{let e=JSON.parse(f);if(e.namespace===c._config.namespace&&Array.isArray(e.nodes)){let k=J(e.nodes);return E(c,k,b)}}catch(e){}if(!g||"insertReplacementText"!==g.inputType||!a.types.includes("text/plain"))if(g=a.getData("text/html"))try{var h=(new DOMParser).parseFromString(g,"text/html");let e=d.$generateNodesFromDOM(c,h);return E(c,e,b)}catch(e){}a=a.getData("text/plain")||a.getData("text/uri-list");
|
||||
+if(null!=a)if(u.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)h=a[c],"\n"===h||"\r\n"===h?b.insertParagraph():"\t"===h?b.insertNodes([u.$createTabNode()]):b.insertText(h);else b.insertRawText(a)};exports.$insertGeneratedNodes=E;
|
||||
+exports.copyToClipboard=async function(a,b){if(null!==K)return!1;if(null!==b)return new Promise(e=>{a.update(()=>{e(L(a,b))})});var c=a.getRootElement();let g=null==a._window?window.document:a._window.document,f=A?(a._window||window).getSelection():null;if(null===c||null===f)return!1;let h=g.createElement("span");h.style.cssText="position: fixed; top: -1000px;";h.append(g.createTextNode("#"));c.append(h);c=new Range;c.setStart(h,0);c.setEnd(h,1);f.removeAllRanges();f.addRange(c);return new Promise(e=>
|
||||
+{let k=a.registerCommand(u.COPY_COMMAND,m=>{r.objectKlassEquals(m,ClipboardEvent)&&(k(),null!==K&&(window.clearTimeout(K),K=null),e(L(a,m)));return!0},u.COMMAND_PRIORITY_CRITICAL);K=window.setTimeout(()=>{k();K=null;e(!1)},50);g.execCommand("copy");h.remove()})}
|
||||
diff --git a/clipboard.d.ts b/clipboard.d.ts
|
||||
index 99e2138389b64d298a1330d7b354ba87d2e6f24e..83250a4c2049f94e08bfdfc757e03e8a85a08dd4 100644
|
||||
--- a/clipboard.d.ts
|
||||
+++ b/clipboard.d.ts
|
||||
@@ -44,7 +44,7 @@ export declare function $insertDataTransferForPlainText(dataTransfer: DataTransf
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor): void;
|
||||
+export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor, event?: InputEvent): void;
|
||||
/**
|
||||
* Inserts Lexical nodes into the editor using different strategies depending on
|
||||
* some simple selection-based heuristics. If you're looking for a generic way to
|
||||
@@ -0,0 +1,77 @@
|
||||
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
|
||||
index 08c80def0bffdd5011948bc73733af51a2f95b3f..b8d5a467b6964b88002d1f0c2ce5d5974755ec75 100644
|
||||
--- a/LexicalClipboard.dev.js
|
||||
+++ b/LexicalClipboard.dev.js
|
||||
@@ -102,7 +102,7 @@ function $insertDataTransferForPlainText(dataTransfer, selection) {
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
+function $insertDataTransferForRichText(dataTransfer, selection, editor, event) {
|
||||
const lexicalString = dataTransfer.getData('application/x-lexical-editor');
|
||||
if (lexicalString) {
|
||||
try {
|
||||
@@ -115,15 +115,18 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
// Fail silently.
|
||||
}
|
||||
}
|
||||
- const htmlString = dataTransfer.getData('text/html');
|
||||
- if (htmlString) {
|
||||
- try {
|
||||
- const parser = new DOMParser();
|
||||
- const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
- const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
- return $insertGeneratedNodes(editor, nodes, selection);
|
||||
- } catch (_unused2) {
|
||||
- // Fail silently.
|
||||
+ const shouldIgnoreHTML = event && event.inputType === 'insertReplacementText' && dataTransfer.types.includes('text/plain');
|
||||
+ if (!shouldIgnoreHTML) {
|
||||
+ const htmlString = dataTransfer.getData('text/html');
|
||||
+ if (htmlString) {
|
||||
+ try {
|
||||
+ const parser = new DOMParser();
|
||||
+ const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
+ const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
+ return $insertGeneratedNodes(editor, nodes, selection);
|
||||
+ } catch (_unused2) {
|
||||
+ // Fail silently.
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js
|
||||
index 217fed14ce25e926fafe748de74a9cc2597854ea..0489348de734c563e7befc0af50aaefec74ccd98 100644
|
||||
--- a/LexicalClipboard.prod.js
|
||||
+++ b/LexicalClipboard.prod.js
|
||||
@@ -7,11 +7,11 @@
|
||||
'use strict';var f=require("@lexical/html"),m=require("@lexical/selection"),q=require("@lexical/utils"),r=require("lexical");function t(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c<arguments.length;c++)b.append("v",arguments[c]);throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?${b} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
||||
let u="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function v(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?"":f.$generateHtmlFromNodes(a,b)}
|
||||
function w(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(x(a,b))}function y(a,b,c){a.dispatchCommand(r.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND,{nodes:b,selection:c})||c.insertNodes(b)}
|
||||
-function z(a,b,c,d=[]){let e=null!=b?c.isSelected(b):!0,h=r.$isElementNode(c)&&c.excludeFromCopy("html");var g=c;if(null!==b){var k=m.$cloneWithProperties(c);g=k=r.$isTextNode(k)&&null!=b?m.$sliceSelectedTextNodeContent(b,k):k}let n=r.$isElementNode(g)?g.getChildren():[];var l=g;k=l.exportJSON();var p=l.constructor;k.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(k.children)||t(59,p.name));r.$isTextNode(g)&&(g=g.__text,0<g.length?k.text=g:e=!1);for(g=0;g<n.length;g++)l=n[g],
|
||||
-p=z(a,b,l,k.children),!e&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(e=!0);if(e&&!h)d.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)d.push(k.children[a]);return e}function x(a,b){let c=[],d=r.$getRoot().getChildren();for(let e=0;e<d.length;e++)z(a,b,d[e],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let d=r.$parseSerializedNode(a[c]);r.$isTextNode(d)&&m.$addNodeStyle(d);b.push(d)}return b}let B=null;
|
||||
-function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var d=c.anchorNode;c=c.focusNode;if(null!==d&&null!==c&&!r.isSelectionWithinEditor(a,d,c))return!1;b.preventDefault();b=b.clipboardData;d=r.$getSelection();if(null===b||null===d)return!1;c=v(a);a=w(a);let e="";null!==d&&(e=d.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",e);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
+function z(a,b,c,e=[]){let g=null!=b?c.isSelected(b):!0,k=r.$isElementNode(c)&&c.excludeFromCopy("html");var d=c;if(null!==b){var h=m.$cloneWithProperties(c);d=h=r.$isTextNode(h)&&null!=b?m.$sliceSelectedTextNodeContent(b,h):h}let n=r.$isElementNode(d)?d.getChildren():[];var l=d;h=l.exportJSON();var p=l.constructor;h.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(h.children)||t(59,p.name));r.$isTextNode(d)&&(d=d.__text,0<d.length?h.text=d:g=!1);for(d=0;d<n.length;d++)l=n[d],
|
||||
+p=z(a,b,l,h.children),!g&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(g=!0);if(g&&!k)e.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)e.push(h.children[a]);return g}function x(a,b){let c=[],e=r.$getRoot().getChildren();for(let g=0;g<e.length;g++)z(a,b,e[g],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let e=r.$parseSerializedNode(a[c]);r.$isTextNode(e)&&m.$addNodeStyle(e);b.push(e)}return b}let B=null;
|
||||
+function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var e=c.anchorNode;c=c.focusNode;if(null!==e&&null!==c&&!r.isSelectionWithinEditor(a,e,c))return!1;b.preventDefault();b=b.clipboardData;e=r.$getSelection();if(null===b||null===e)return!1;c=v(a);a=w(a);let g="";null!==e&&(g=e.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",g);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
exports.$generateNodesFromSerializedNodes=A;exports.$getHtmlContent=v;exports.$getLexicalContent=w;exports.$insertDataTransferForPlainText=function(a,b){a=a.getData("text/plain")||a.getData("text/uri-list");null!=a&&b.insertRawText(a)};
|
||||
-exports.$insertDataTransferForRichText=function(a,b,c){var d=a.getData("application/x-lexical-editor");if(d)try{let h=JSON.parse(d);if(h.namespace===c._config.namespace&&Array.isArray(h.nodes)){let g=A(h.nodes);return y(c,g,b)}}catch(h){}if(d=a.getData("text/html"))try{var e=(new DOMParser).parseFromString(d,"text/html");let h=f.$generateNodesFromDOM(c,e);return y(c,h,b)}catch(h){}a=a.getData("text/plain")||a.getData("text/uri-list");if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),
|
||||
-""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)e=a[c],"\n"===e||"\r\n"===e?b.insertParagraph():"\t"===e?b.insertNodes([r.$createTabNode()]):b.insertText(e);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
-exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(g=>{a.update(()=>{g(C(a,b))})});var c=a.getRootElement();let d=null==a._window?window.document:a._window.document,e=u?(a._window||window).getSelection():null;if(null===c||null===e)return!1;let h=d.createElement("span");h.style.cssText="position: fixed; top: -1000px;";h.append(d.createTextNode("#"));c.append(h);c=new Range;c.setStart(h,0);c.setEnd(h,1);e.removeAllRanges();e.addRange(c);return new Promise(g=>
|
||||
-{let k=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(k(),null!==B&&(window.clearTimeout(B),B=null),g(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{k();B=null;g(!1)},50);d.execCommand("copy");h.remove()})}
|
||||
+exports.$insertDataTransferForRichText=function(a,b,c,e){let g=a.getData("application/x-lexical-editor");if(g)try{let d=JSON.parse(g);if(d.namespace===c._config.namespace&&Array.isArray(d.nodes)){let h=A(d.nodes);return y(c,h,b)}}catch(d){}if(!e||"insertReplacementText"!==e.inputType||!a.types.includes("text/plain"))if(e=a.getData("text/html"))try{var k=(new DOMParser).parseFromString(e,"text/html");let d=f.$generateNodesFromDOM(c,k);return y(c,d,b)}catch(d){}a=a.getData("text/plain")||a.getData("text/uri-list");
|
||||
+if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)k=a[c],"\n"===k||"\r\n"===k?b.insertParagraph():"\t"===k?b.insertNodes([r.$createTabNode()]):b.insertText(k);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
+exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(d=>{a.update(()=>{d(C(a,b))})});var c=a.getRootElement();let e=null==a._window?window.document:a._window.document,g=u?(a._window||window).getSelection():null;if(null===c||null===g)return!1;let k=e.createElement("span");k.style.cssText="position: fixed; top: -1000px;";k.append(e.createTextNode("#"));c.append(k);c=new Range;c.setStart(k,0);c.setEnd(k,1);g.removeAllRanges();g.addRange(c);return new Promise(d=>
|
||||
+{let h=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(h(),null!==B&&(window.clearTimeout(B),B=null),d(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{h();B=null;d(!1)},50);e.execCommand("copy");k.remove()})}
|
||||
diff --git a/clipboard.d.ts b/clipboard.d.ts
|
||||
index 99e2138389b64d298a1330d7b354ba87d2e6f24e..83250a4c2049f94e08bfdfc757e03e8a85a08dd4 100644
|
||||
--- a/clipboard.d.ts
|
||||
+++ b/clipboard.d.ts
|
||||
@@ -44,7 +44,7 @@ export declare function $insertDataTransferForPlainText(dataTransfer: DataTransf
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor): void;
|
||||
+export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor, event?: InputEvent): void;
|
||||
/**
|
||||
* Inserts Lexical nodes into the editor using different strategies depending on
|
||||
* some simple selection-based heuristics. If you're looking for a generic way to
|
||||
@@ -0,0 +1,26 @@
|
||||
diff --git a/LexicalRichText.dev.js b/LexicalRichText.dev.js
|
||||
index 235657f94e5563d9be091677ec30a2814bc9fdcf..778c7a77da5d5ab04c3cc5d13a1d6c1f4e781864 100644
|
||||
--- a/LexicalRichText.dev.js
|
||||
+++ b/LexicalRichText.dev.js
|
||||
@@ -458,7 +458,7 @@ function registerRichText(editor) {
|
||||
}
|
||||
const dataTransfer = eventOrText.dataTransfer;
|
||||
if (dataTransfer != null) {
|
||||
- clipboard.$insertDataTransferForRichText(dataTransfer, selection, editor);
|
||||
+ clipboard.$insertDataTransferForRichText(dataTransfer, selection, editor, eventOrText);
|
||||
} else if (lexical.$isRangeSelection(selection)) {
|
||||
const data = eventOrText.data;
|
||||
if (data) {
|
||||
diff --git a/LexicalRichText.prod.js b/LexicalRichText.prod.js
|
||||
index 796f509fe353577592040c0bcd31e4d0155eb661..a91ec007ab7fd4f50e21dda262151b95441a5212 100644
|
||||
--- a/LexicalRichText.prod.js
|
||||
+++ b/LexicalRichText.prod.js
|
||||
@@ -18,7 +18,7 @@ function H(b){let a=null;b instanceof DragEvent?a=b.dataTransfer:b instanceof Cl
|
||||
function I(b){var a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;let d=new Set;a=a.getNodes();for(let m=0;m<a.length;m++){var e=a[m],f=e.getKey();d.has(f)||(e=h.$getNearestBlockElementAncestorOrThrow(e),f=e.getKey(),e.canIndent()&&!d.has(f)&&(d.add(f),b(e)))}return 0<d.size}function J(b){b=k.$getNearestNodeFromDOMNode(b);return k.$isDecoratorNode(b)}exports.$createHeadingNode=E;exports.$createQuoteNode=z;exports.$isHeadingNode=function(b){return b instanceof B};
|
||||
exports.$isQuoteNode=function(b){return b instanceof x};exports.DRAG_DROP_PASTE=w;exports.HeadingNode=B;exports.QuoteNode=x;exports.eventFiles=H;
|
||||
exports.registerRichText=function(b){return h.mergeRegister(b.registerCommand(k.CLICK_COMMAND,()=>{const a=k.$getSelection();return k.$isNodeSelection(a)?(a.clear(),!0):!1},0),b.registerCommand(k.DELETE_CHARACTER_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DELETE_WORD_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(a);return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
-b.registerCommand(k.DELETE_LINE_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,a=>{const d=k.$getSelection();if("string"===typeof a)k.$INTERNAL_isPointSelection(d)&&d.insertText(a);else{if(!k.$INTERNAL_isPointSelection(d))return!1;const e=a.dataTransfer;null!=e?c.$insertDataTransferForRichText(e,d,b):k.$isRangeSelection(d)&&(a=a.data)&&d.insertText(a)}return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
+b.registerCommand(k.DELETE_LINE_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,a=>{const d=k.$getSelection();if("string"===typeof a)k.$INTERNAL_isPointSelection(d)&&d.insertText(a);else{if(!k.$INTERNAL_isPointSelection(d))return!1;const e=a.dataTransfer;null!=e?c.$insertDataTransferForRichText(e,d,b,a):k.$isRangeSelection(d)&&(a=a.data)&&d.insertText(a)}return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
b.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;a.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.FORMAT_TEXT_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.FORMAT_ELEMENT_COMMAND,a=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;d=d.getNodes();for(const e of d)d=h.$findMatchingParent(e,
|
||||
f=>k.$isElementNode(f)&&!f.isInline()),null!==d&&d.setFormat(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_LINE_BREAK_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;a.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_TAB_COMMAND,()=>{k.$insertNodes([k.$createTabNode()]);
|
||||
return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INDENT_CONTENT_COMMAND,()=>I(a=>{const d=a.getIndent();a.setIndent(d+1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>I(a=>{const d=a.getIndent();0<d&&a.setIndent(d-1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ARROW_UP_COMMAND,a=>{var d=k.$getSelection();if(k.$isNodeSelection(d)&&!J(a.target)){if(a=d.getNodes(),0<a.length)return a[0].selectPrevious(),!0}else if(k.$isRangeSelection(d)&&(d=k.$getAdjacentNode(d.focus,
|
||||
@@ -1,435 +0,0 @@
|
||||
diff --git a/Lexical.dev.js b/Lexical.dev.js
|
||||
index 7d0b792b1a519ed783440119db38c103df24ec2c..7db2312e6afecac42f1a2d5a8ebc2591ac7e0a8a 100644
|
||||
--- a/Lexical.dev.js
|
||||
+++ b/Lexical.dev.js
|
||||
@@ -87,7 +87,7 @@ const IS_FIREFOX = CAN_USE_DOM && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(naviga
|
||||
const CAN_USE_BEFORE_INPUT = CAN_USE_DOM && 'InputEvent' in window && !documentMode ? 'getTargetRanges' in new window.InputEvent('input') : false;
|
||||
const IS_SAFARI = CAN_USE_DOM && /Version\/[\d.]+.*Safari/.test(navigator.userAgent);
|
||||
const IS_IOS = CAN_USE_DOM && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
|
||||
-const IS_ANDROID = CAN_USE_DOM && /Android/.test(navigator.userAgent);
|
||||
+CAN_USE_DOM && /Android/.test(navigator.userAgent);
|
||||
|
||||
// Keep these in case we need to use them in the future.
|
||||
// export const IS_WINDOWS: boolean = CAN_USE_DOM && /Win/.test(navigator.platform);
|
||||
@@ -2505,9 +2505,10 @@ function onBeforeInput(event, editor) {
|
||||
}
|
||||
if ($isRangeSelection(selection)) {
|
||||
// Used for handling backspace in Android.
|
||||
- if (IS_ANDROID) {
|
||||
- $setCompositionKey(selection.anchor.key);
|
||||
- }
|
||||
+ // if (IS_ANDROID) {
|
||||
+ // $setCompositionKey(selection.anchor.key);
|
||||
+ // }
|
||||
+
|
||||
if (isPossiblyAndroidKeyPress(event.timeStamp) && editor.isComposing() && selection.anchor.key === selection.focus.key) {
|
||||
$setCompositionKey(null);
|
||||
lastKeyDownTimeStamp = 0;
|
||||
diff --git a/Lexical.prod.js b/Lexical.prod.js
|
||||
index 97af535ab5ae20aecd68122770028b4bf4afb379..abdbeddba9e14515eabdb14e5ad5af34f5127420 100644
|
||||
--- a/Lexical.prod.js
|
||||
+++ b/Lexical.prod.js
|
||||
@@ -7,214 +7,215 @@
|
||||
'use strict';let ba={},ca={},ea={},fa={},ha={},la={},ma={},na={},pa={},qa={},ra={},sa={},ta={},ua={},va={},wa={},xa={},za={},Aa={},Ba={},Ca={},Da={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={},Na={},Oa={},Pa={},Qa={},Ra={},Sa={},Ta={};
|
||||
function r(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c<arguments.length;c++)b.append("v",arguments[c]);throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?${b} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
||||
let Ua="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Wa=Ua&&"documentMode"in document?document.documentMode:null,t=Ua&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Xa=Ua&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Ya=Ua&&"InputEvent"in window&&!Wa?"getTargetRanges"in new window.InputEvent("input"):!1,Za=Ua&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),$a=Ua&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&
|
||||
-!window.MSStream,ab=Ua&&/Android/.test(navigator.userAgent),bb=Ua&&/^(?=.*Chrome).*/i.test(navigator.userAgent),cb=Ua&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!bb,db=Za||$a||cb?"\u00a0":"\u200b",eb=Xa?"\u00a0":db,fb=/^[^A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]*[\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc]/,gb=/^[^\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc]*[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]/,
|
||||
-hb={bold:1,code:16,highlight:128,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},ib={directionless:1,unmergeable:2},jb={center:2,end:6,justify:4,left:1,right:3,start:5},kb={2:"center",6:"end",4:"justify",1:"left",3:"right",5:"start"},lb={normal:0,segmented:2,token:1},pb={0:"normal",2:"segmented",1:"token"},qb=!1,rb=0;function sb(a){rb=a.timeStamp}function tb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}
|
||||
-function ub(a){return a.getEditorState().read(()=>{let b=v();return null!==b?b.clone():null})}
|
||||
-function vb(a,b,c){qb=!0;let d=100<performance.now()-rb;try{w(a,()=>{let e=v()||ub(a);var f=new Map,g=a.getRootElement(),h=a._editorState,k=a._blockCursorElement;let m=!1,p="";for(var n=0;n<b.length;n++){var l=b[n],q=l.type,u=l.target,y=wb(u,h);if(!(null===y&&u!==g||z(y)))if("characterData"===q){if(l=d&&B(y))a:{l=e;q=u;var x=y;if(C(l)){var A=l.anchor.getNode();if(A.is(x)&&l.format!==A.getFormat()){l=!1;break a}}l=3===q.nodeType&&x.isAttached()}l&&(x=xb(a._window),q=l=null,null!==x&&x.anchorNode===
|
||||
-u&&(l=x.anchorOffset,q=x.focusOffset),u=u.nodeValue,null!==u&&yb(y,u,l,q,!1))}else if("childList"===q){m=!0;q=l.addedNodes;for(x=0;x<q.length;x++){A=q[x];var aa=zb(A),da=A.parentNode;null==da||A===k||null!==aa||"BR"===A.nodeName&&tb(A,da,a)||(Xa&&(aa=A.innerText||A.nodeValue)&&(p+=aa),da.removeChild(A))}l=l.removedNodes;q=l.length;if(0<q){x=0;for(A=0;A<q;A++)if(da=l[A],"BR"===da.nodeName&&tb(da,u,a)||k===da)u.appendChild(da),x++;q!==x&&(u===g&&(y=h._nodeMap.get("root")),f.set(u,y))}}}if(0<f.size)for(let [Va,
|
||||
-ka]of f)if(E(ka))for(f=ka.getChildrenKeys(),g=Va.firstChild,h=0;h<f.length;h++)k=a.getElementByKey(f[h]),null!==k&&(null==g?(Va.appendChild(k),g=k):g!==k&&Va.replaceChild(k,g),g=g.nextSibling);else B(ka)&&ka.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(k=f[g],h=k.addedNodes,k=k.target,n=0;n<h.length;n++)y=h[n],u=y.parentNode,null==u||"BR"!==y.nodeName||tb(y,k,a)||u.removeChild(y);c.takeRecords()}null!==e&&(m&&(e.dirty=!0,Ab(e)),Xa&&Bb(a)&&e.insertRawText(p))})}finally{qb=
|
||||
-!1}}function Cb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();vb(a,c,b)}}function Db(a){0===rb&&Eb(a).addEventListener("textInput",sb,!0);a._observer=new MutationObserver((b,c)=>{vb(a,b,c)})}function Fb(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}function Gb(a,b){let c=a.mergeWithSibling(b),d=F()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}
|
||||
-function Hb(a){if(""===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&B(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(""===b.__text)b.remove();else{Fb(b,a)&&(a=Gb(b,a));break}for(var c;null!==(c=a.getNextSibling())&&B(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(""===c.__text)c.remove();else{Fb(a,c)&&Gb(a,c);break}}}function Ib(a){Jb(a.anchor);Jb(a.focus);return a}
|
||||
-function Jb(a){for(;"element"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(B(b)){a.set(b.__key,c?b.getTextContentSize():0,"text");break}else if(!E(b))break;a.set(b.__key,c?b.getChildrenSize():0,"element")}}let Kb=1,Lb="function"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};
|
||||
-function Mb(a){let b=document.activeElement;if(null===b)return!1;let c=b.nodeName;return z(wb(a))&&("INPUT"===c||"TEXTAREA"===c||"true"===b.contentEditable&&null==b.__lexicalEditor)}function Nb(a,b,c){let d=a.getRootElement();try{return null!==d&&d.contains(b)&&d.contains(c)&&null!==b&&!Mb(b)&&Ob(b)===a}catch(e){return!1}}function Ob(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=Vb(a)}return null}function Wb(a){return a.isToken()||a.isSegmented()}
|
||||
-function Xb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}function Yb(a,b,c){let d=hb[b];if(null!==c&&(a&d)===(c&d))return a;a^=d;"subscript"===b?a&=~hb.superscript:"superscript"===b&&(a&=~hb.subscript);return a}function Zb(a,b){if(null!=b)a.__key=b;else{G();99<$b&&r(14);b=F();var c=ac(),d=""+Kb++;c._nodeMap.set(d,a);E(a)?b._dirtyElements.set(d,!0):b._dirtyLeaves.add(d);b._cloneNotNeeded.add(d);b._dirtyType=1;a.__key=d}}
|
||||
-function bc(a){var b=a.getParent();if(null!==b){let e=a.getWritable();b=b.getWritable();var c=a.getPreviousSibling();a=a.getNextSibling();if(null===c)if(null!==a){var d=a.getWritable();b.__first=a.__key;d.__prev=null}else b.__first=null;else{d=c.getWritable();if(null!==a){let f=a.getWritable();f.__prev=d.__key;d.__next=f.__key}else d.__next=null;e.__prev=null}null===a?null!==c?(a=c.getWritable(),b.__last=c.__key,a.__next=null):b.__last=null:(a=a.getWritable(),null!==c?(c=c.getWritable(),c.__next=
|
||||
-a.__key,a.__prev=c.__key):a.__prev=null,e.__next=null);b.__size--;e.__parent=null}}function cc(a){99<$b&&r(14);var b=a.getLatest(),c=b.__parent,d=ac();let e=F(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;E(a)?d.set(b,!0):e._dirtyLeaves.add(b)}
|
||||
-function H(a){G();var b=F();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=I(c),null!==b&&b.getWritable()),null!==a&&(a=I(a),null!==a&&a.getWritable()))}function dc(){return ec()?null:F()._compositionKey}function I(a,b){a=(b||ac())._nodeMap.get(a);return void 0===a?null:a}function zb(a,b){let c=F();a=a[`__lexicalKey_${c._key}`];return void 0!==a?I(a,b):null}function wb(a,b){for(;null!=a;){let c=zb(a,b);if(null!==c)return c;a=Vb(a)}return null}
|
||||
-function fc(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function gc(a){return a.read(()=>J().getTextContent())}function hc(a,b){w(a,()=>{var c=ac();if(!c.isEmpty())if("root"===b)J().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:"history-merge"}:void 0)}function J(){return ac()._nodeMap.get("root")}function Ab(a){G();let b=ac();null!==a&&(a.dirty=!0,a.setCachedNodes(null));b._selection=a}
|
||||
-function ic(a){var b=F(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=Vb(c)}c=null}return null===c?(b=b.getRootElement(),a===b?I("root"):null):I(c)}function jc(a){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(a)}function kc(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function lc(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}
|
||||
-function mc(a,b,c){b=xb(b._window);if(null!==b){var d=b.anchorNode,{anchorOffset:e,focusOffset:f}=b;if(null!==d&&(b=3===d.nodeType?d.nodeValue:null,d=wb(d),null!==b&&B(d))){if(b===db&&c){let g=c.length;b=c;f=e=g}null!==b&&yb(d,b,e,f,a)}}}
|
||||
-function yb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){let m=f.isComposing(),p=b;(m||e)&&b[b.length-1]===db&&(p=b.slice(0,-1));b=f.getTextContent();if(e||p!==b)if(""===p)if(H(null),Za||$a||cb)f.remove();else{let n=F();setTimeout(()=>{n.update(()=>{f.isAttached()&&f.remove()})},20)}else{e=f.getParent();b=nc();var g=f.getTextContentSize(),h=dc(),k=f.getKey();f.isToken()||null!==h&&k===h&&!m||C(b)&&(null!==e&&!e.canInsertTextBefore()&&0===b.anchor.offset||b.anchor.key===a.__key&&0===b.anchor.offset&&
|
||||
+!window.MSStream;Ua&&/Android/.test(navigator.userAgent);
|
||||
+let ab=Ua&&/^(?=.*Chrome).*/i.test(navigator.userAgent),bb=Ua&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!ab,cb=Za||$a||bb?"\u00a0":"\u200b",db=Xa?"\u00a0":cb,eb=/^[^A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]*[\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc]/,fb=/^[^\u0591-\u07ff\ufb1d-\ufdfd\ufe70-\ufefc]*[A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff]/,gb=
|
||||
+{bold:1,code:16,highlight:128,italic:2,strikethrough:4,subscript:32,superscript:64,underline:8},hb={directionless:1,unmergeable:2},ib={center:2,end:6,justify:4,left:1,right:3,start:5},jb={2:"center",6:"end",4:"justify",1:"left",3:"right",5:"start"},kb={normal:0,segmented:2,token:1},lb={0:"normal",2:"segmented",1:"token"},pb=!1,qb=0;function rb(a){qb=a.timeStamp}function sb(a,b,c){return b.__lexicalLineBreak===a||void 0!==a[`__lexicalKey_${c._key}`]}
|
||||
+function tb(a){return a.getEditorState().read(()=>{let b=v();return null!==b?b.clone():null})}
|
||||
+function ub(a,b,c){pb=!0;let d=100<performance.now()-qb;try{w(a,()=>{let e=v()||tb(a);var f=new Map,g=a.getRootElement(),h=a._editorState,k=a._blockCursorElement;let m=!1,p="";for(var n=0;n<b.length;n++){var l=b[n],q=l.type,u=l.target,y=vb(u,h);if(!(null===y&&u!==g||z(y)))if("characterData"===q){if(l=d&&B(y))a:{l=e;q=u;var x=y;if(C(l)){var A=l.anchor.getNode();if(A.is(x)&&l.format!==A.getFormat()){l=!1;break a}}l=3===q.nodeType&&x.isAttached()}l&&(x=wb(a._window),q=l=null,null!==x&&x.anchorNode===
|
||||
+u&&(l=x.anchorOffset,q=x.focusOffset),u=u.nodeValue,null!==u&&xb(y,u,l,q,!1))}else if("childList"===q){m=!0;q=l.addedNodes;for(x=0;x<q.length;x++){A=q[x];var aa=yb(A),da=A.parentNode;null==da||A===k||null!==aa||"BR"===A.nodeName&&sb(A,da,a)||(Xa&&(aa=A.innerText||A.nodeValue)&&(p+=aa),da.removeChild(A))}l=l.removedNodes;q=l.length;if(0<q){x=0;for(A=0;A<q;A++)if(da=l[A],"BR"===da.nodeName&&sb(da,u,a)||k===da)u.appendChild(da),x++;q!==x&&(u===g&&(y=h._nodeMap.get("root")),f.set(u,y))}}}if(0<f.size)for(let [Va,
|
||||
+ka]of f)if(E(ka))for(f=ka.getChildrenKeys(),g=Va.firstChild,h=0;h<f.length;h++)k=a.getElementByKey(f[h]),null!==k&&(null==g?(Va.appendChild(k),g=k):g!==k&&Va.replaceChild(k,g),g=g.nextSibling);else B(ka)&&ka.markDirty();f=c.takeRecords();if(0<f.length){for(g=0;g<f.length;g++)for(k=f[g],h=k.addedNodes,k=k.target,n=0;n<h.length;n++)y=h[n],u=y.parentNode,null==u||"BR"!==y.nodeName||sb(y,k,a)||u.removeChild(y);c.takeRecords()}null!==e&&(m&&(e.dirty=!0,zb(e)),Xa&&Ab(a)&&e.insertRawText(p))})}finally{pb=
|
||||
+!1}}function Bb(a){let b=a._observer;if(null!==b){let c=b.takeRecords();ub(a,c,b)}}function Cb(a){0===qb&&Db(a).addEventListener("textInput",rb,!0);a._observer=new MutationObserver((b,c)=>{ub(a,b,c)})}function Eb(a,b){let c=a.__mode,d=a.__format;a=a.__style;let e=b.__mode,f=b.__format;b=b.__style;return(null===c||c===e)&&(null===d||d===f)&&(null===a||a===b)}function Fb(a,b){let c=a.mergeWithSibling(b),d=F()._normalizedNodes;d.add(a.__key);d.add(b.__key);return c}
|
||||
+function Gb(a){if(""===a.__text&&a.isSimpleText()&&!a.isUnmergeable())a.remove();else{for(var b;null!==(b=a.getPreviousSibling())&&B(b)&&b.isSimpleText()&&!b.isUnmergeable();)if(""===b.__text)b.remove();else{Eb(b,a)&&(a=Fb(b,a));break}for(var c;null!==(c=a.getNextSibling())&&B(c)&&c.isSimpleText()&&!c.isUnmergeable();)if(""===c.__text)c.remove();else{Eb(a,c)&&Fb(a,c);break}}}function Hb(a){Ib(a.anchor);Ib(a.focus);return a}
|
||||
+function Ib(a){for(;"element"===a.type;){var b=a.getNode(),c=a.offset;c===b.getChildrenSize()?(b=b.getChildAtIndex(c-1),c=!0):(b=b.getChildAtIndex(c),c=!1);if(B(b)){a.set(b.__key,c?b.getTextContentSize():0,"text");break}else if(!E(b))break;a.set(b.__key,c?b.getChildrenSize():0,"element")}}let Jb=1,Kb="function"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};
|
||||
+function Lb(a){let b=document.activeElement;if(null===b)return!1;let c=b.nodeName;return z(vb(a))&&("INPUT"===c||"TEXTAREA"===c||"true"===b.contentEditable&&null==b.__lexicalEditor)}function Mb(a,b,c){let d=a.getRootElement();try{return null!==d&&d.contains(b)&&d.contains(c)&&null!==b&&!Lb(b)&&Nb(b)===a}catch(e){return!1}}function Nb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=Ob(a)}return null}function Vb(a){return a.isToken()||a.isSegmented()}
|
||||
+function Wb(a){for(;null!=a;){if(3===a.nodeType)return a;a=a.firstChild}return null}function Xb(a,b,c){let d=gb[b];if(null!==c&&(a&d)===(c&d))return a;a^=d;"subscript"===b?a&=~gb.superscript:"superscript"===b&&(a&=~gb.subscript);return a}function Yb(a,b){if(null!=b)a.__key=b;else{G();99<Zb&&r(14);b=F();var c=$b(),d=""+Jb++;c._nodeMap.set(d,a);E(a)?b._dirtyElements.set(d,!0):b._dirtyLeaves.add(d);b._cloneNotNeeded.add(d);b._dirtyType=1;a.__key=d}}
|
||||
+function ac(a){var b=a.getParent();if(null!==b){let e=a.getWritable();b=b.getWritable();var c=a.getPreviousSibling();a=a.getNextSibling();if(null===c)if(null!==a){var d=a.getWritable();b.__first=a.__key;d.__prev=null}else b.__first=null;else{d=c.getWritable();if(null!==a){let f=a.getWritable();f.__prev=d.__key;d.__next=f.__key}else d.__next=null;e.__prev=null}null===a?null!==c?(a=c.getWritable(),b.__last=c.__key,a.__next=null):b.__last=null:(a=a.getWritable(),null!==c?(c=c.getWritable(),c.__next=
|
||||
+a.__key,a.__prev=c.__key):a.__prev=null,e.__next=null);b.__size--;e.__parent=null}}function bc(a){99<Zb&&r(14);var b=a.getLatest(),c=b.__parent,d=$b();let e=F(),f=d._nodeMap;d=e._dirtyElements;if(null!==c)a:for(;null!==c;){if(d.has(c))break a;let g=f.get(c);if(void 0===g)break;d.set(c,!1);c=g.__parent}b=b.__key;e._dirtyType=1;E(a)?d.set(b,!0):e._dirtyLeaves.add(b)}
|
||||
+function H(a){G();var b=F();let c=b._compositionKey;a!==c&&(b._compositionKey=a,null!==c&&(b=I(c),null!==b&&b.getWritable()),null!==a&&(a=I(a),null!==a&&a.getWritable()))}function cc(){return dc()?null:F()._compositionKey}function I(a,b){a=(b||$b())._nodeMap.get(a);return void 0===a?null:a}function yb(a,b){let c=F();a=a[`__lexicalKey_${c._key}`];return void 0!==a?I(a,b):null}function vb(a,b){for(;null!=a;){let c=yb(a,b);if(null!==c)return c;a=Ob(a)}return null}
|
||||
+function ec(a){let b=Object.assign({},a._decorators);return a._pendingDecorators=b}function fc(a){return a.read(()=>J().getTextContent())}function gc(a,b){w(a,()=>{var c=$b();if(!c.isEmpty())if("root"===b)J().markDirty();else{c=c._nodeMap;for(let [,d]of c)d.markDirty()}},null===a._pendingEditorState?{tag:"history-merge"}:void 0)}function J(){return $b()._nodeMap.get("root")}function zb(a){G();let b=$b();null!==a&&(a.dirty=!0,a.setCachedNodes(null));b._selection=a}
|
||||
+function hc(a){var b=F(),c;a:{for(c=a;null!=c;){let d=c[`__lexicalKey_${b._key}`];if(void 0!==d){c=d;break a}c=Ob(c)}c=null}return null===c?(b=b.getRootElement(),a===b?I("root"):null):I(c)}function ic(a){return/[\uD800-\uDBFF][\uDC00-\uDFFF]/g.test(a)}function jc(a){let b=[];for(;null!==a;)b.push(a),a=a._parentEditor;return b}function kc(){return Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,5)}
|
||||
+function lc(a,b,c){b=wb(b._window);if(null!==b){var d=b.anchorNode,{anchorOffset:e,focusOffset:f}=b;if(null!==d&&(b=3===d.nodeType?d.nodeValue:null,d=vb(d),null!==b&&B(d))){if(b===cb&&c){let g=c.length;b=c;f=e=g}null!==b&&xb(d,b,e,f,a)}}}
|
||||
+function xb(a,b,c,d,e){let f=a;if(f.isAttached()&&(e||!f.isDirty())){let m=f.isComposing(),p=b;(m||e)&&b[b.length-1]===cb&&(p=b.slice(0,-1));b=f.getTextContent();if(e||p!==b)if(""===p)if(H(null),Za||$a||bb)f.remove();else{let n=F();setTimeout(()=>{n.update(()=>{f.isAttached()&&f.remove()})},20)}else{e=f.getParent();b=mc();var g=f.getTextContentSize(),h=cc(),k=f.getKey();f.isToken()||null!==h&&k===h&&!m||C(b)&&(null!==e&&!e.canInsertTextBefore()&&0===b.anchor.offset||b.anchor.key===a.__key&&0===b.anchor.offset&&
|
||||
!f.canInsertTextBefore()||b.focus.key===a.__key&&b.focus.offset===g&&!f.canInsertTextAfter())?f.markDirty():(a=v(),C(a)&&null!==c&&null!==d&&(a.setTextNodeRange(f,c,f,d),f.isSegmented()&&(c=f.getTextContent(),c=K(c),f.replace(c),f=c)),f.setTextContent(p))}}}
|
||||
-function oc(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(B(b)||E(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}
|
||||
-function pc(a,b){void 0===a.__lexicalClassNameCache&&(a.__lexicalClassNameCache={});let c=a.__lexicalClassNameCache,d=c[b];if(void 0!==d)return d;a=a[b];return"string"===typeof a?(a=a.split(" "),c[b]=a):a}function qc(a,b,c,d,e){0!==c.size&&(c=d.__type,d=d.__key,b=b.get(c),void 0===b&&r(33,c),c=b.klass,b=a.get(c),void 0===b&&(b=new Map,a.set(c,b)),a=b.get(d),c="destroyed"===a&&"created"===e,(void 0===a||c)&&b.set(d,c?"updated":e))}
|
||||
-function rc(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}function sc(a,b){var c=a.offset;if("element"===a.type)return a=a.getNode(),rc(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?rc(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}
|
||||
-function Bb(a){a=(a=Eb(a).event)&&a.inputType;return"insertFromPaste"===a||"insertFromPasteAsQuotation"===a}function tc(a){return!L(a)&&!a.isLastChild()&&!a.isInline()}function uc(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75,b);return a}function Vb(a){a=a.assignedSlot||a.parentElement;return null!==a&&11===a.nodeType?a.host:a}function vc(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function Eb(a){a=a._window;null===a&&r(78);return a}
|
||||
-function wc(a){for(a=a.getParentOrThrow();null!==a&&!xc(a);)a=a.getParentOrThrow();return a}function xc(a){return L(a)||E(a)&&a.isShadowRoot()}function yc(a){a=a.constructor.clone(a);Zb(a,null);return a}function zc(a){var b=F();let c=a.constructor.getType();b=b._nodes.get(c);void 0===b&&r(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||r(98),b):a}function Ac(a,b){a=a.getParent();!L(a)||E(b)||z(b)||r(99)}function Bc(a){return(z(a)||E(a)&&!a.canBeEmpty())&&!a.isInline()}
|
||||
-function Cc(a,b,c){c.style.removeProperty("caret-color");b._blockCursorElement=null;b=a.parentElement;null!==b&&b.removeChild(a)}function xb(a){return Ua?(a||window).getSelection():null}function Dc(a,b){for(;a!==J()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}function Ec(a){let b=[],c=[a];for(;0<c.length;){let d=c.pop();void 0===d&&r(112);E(d)&&c.unshift(...d.getChildren());d!==a&&b.push(d)}return b}function Fc(a){return 1===a.nodeType}
|
||||
-function Gc(a){if(z(a)&&!a.isInline())return!0;if(!E(a)||xc(a))return!1;var b=a.getFirstChild();b=null===b||Hc(b)||B(b)||b.isInline();return!a.isInline()&&!1!==a.canBeEmpty()&&b}function Ic(a,b){for(;null!==a&&null!==a.getParent()&&!b(a);)a=a.getParentOrThrow();return b(a)?a:null}function Jc(a,b,c,d,e,f){for(a=a.getFirstChild();null!==a;){let g=a.__key;a.__parent===b&&(E(a)&&Jc(a,g,c,d,e,f),c.has(g)||f.delete(g),e.push(g));a=a.getNextSibling()}}
|
||||
-function Kc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;let e=[];for(let [f]of d){let g=b.get(f);void 0===g||g.isAttached()||(E(g)&&Jc(g,f,a,b,e,d),a.has(f)||d.delete(f),e.push(f))}for(let f of e)b.delete(f);for(let f of c)d=b.get(f),void 0===d||d.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}let M="",N="",Lc="",Mc,O,Nc,Oc=!1,Pc=!1,Qc,Rc=null,Sc,Tc,Uc,Vc,Wc,Xc;
|
||||
-function Yc(a,b){let c=Uc.get(a);if(null!==b){let d=Zc(a);d.parentNode===b&&b.removeChild(d)}Vc.has(a)||O._keyToDOMMap.delete(a);E(c)&&(a=id(c,Uc),jd(a,0,a.length-1,null));void 0!==c&&qc(Xc,Nc,Qc,c,"destroyed")}function jd(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&Yc(e,d)}}function kd(a,b){a.setProperty("text-align",b)}
|
||||
-function ld(a,b){var c=Mc.theme.indent;if("string"===typeof c){let d=a.classList.contains(c);0<b&&!d?a.classList.add(c):1>b&&d&&a.classList.remove(c)}c=getComputedStyle(a).getPropertyValue("--lexical-indent-base-value")||"40px";a.style.setProperty("padding-inline-start",0===b?"":`calc(${b} * ${c})`)}function md(a,b){a=a.style;0===b?kd(a,""):1===b?kd(a,"left"):2===b?kd(a,"center"):3===b?kd(a,"right"):4===b?kd(a,"justify"):5===b?kd(a,"start"):6===b&&kd(a,"end")}
|
||||
-function nd(a,b,c){let d=Vc.get(a);void 0===d&&r(60);let e=d.createDOM(Mc,O);var f=O._keyToDOMMap;e["__lexicalKey_"+O._key]=a;f.set(a,e);B(d)?e.setAttribute("data-lexical-text","true"):z(d)&&e.setAttribute("data-lexical-decorator","true");if(E(d)){a=d.__indent;f=d.__size;0!==a&&ld(e,a);if(0!==f){--f;a=id(d,Vc);var g=N;N="";od(a,d,0,f,e,null);pd(d,e);N=g}a=d.__format;0!==a&&md(e,a);d.isInline()||qd(null,d,e);tc(d)&&(M+="\n\n",Lc+="\n\n")}else f=d.getTextContent(),z(d)?(g=d.decorate(O,Mc),null!==g&&
|
||||
-rd(a,g),e.contentEditable="false"):B(d)&&(d.isDirectionless()||(N+=f)),M+=f,Lc+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));qc(Xc,Nc,Qc,d,"created");return e}function od(a,b,c,d,e,f){let g=M;for(M="";c<=d;++c)nd(a[c],e,f);tc(b)&&(M+="\n\n");e.__lexicalTextContent=M;M=g+M}function sd(a,b){a=b.get(a);return Hc(a)||z(a)&&a.isInline()}
|
||||
-function qd(a,b,c){a=null!==a&&(0===a.__size||sd(a.__last,Uc));b=0===b.__size||sd(b.__last,Vc);a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement("br"),c.__lexicalLineBreak=b,c.appendChild(b))}
|
||||
-function pd(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==N||c!==Rc){let f=""===N;if(f)var d=Rc;else d=N,d=fb.test(d)?"rtl":gb.test(d)?"ltr":null;if(d!==c){let g=b.classList,h=Mc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&("string"===typeof e&&(e=e.split(" "),e=h[c]=e),g.remove(...e));null===d||f&&"ltr"===d?b.removeAttribute("dir"):(void 0!==k&&("string"===typeof k&&(c=k.split(" "),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);Pc||(a.getWritable().__dir=d)}Rc=
|
||||
-d;b.__lexicalDirTextContent=N;b.__lexicalDir=d}}function id(a,b){let c=[];for(a=a.__first;null!==a;){let d=b.get(a);void 0===d&&r(101);c.push(a);a=d.__next}return c}
|
||||
-function td(a,b){var c=Uc.get(a),d=Vc.get(a);void 0!==c&&void 0!==d||r(61);var e=Oc||Tc.has(a)||Sc.has(a);let f=uc(O,a);if(c===d&&!e)return E(c)?(d=f.__lexicalTextContent,void 0!==d&&(M+=d,Lc+=d),d=f.__lexicalDirTextContent,void 0!==d&&(N+=d)):(d=c.getTextContent(),B(c)&&!c.isDirectionless()&&(N+=d),Lc+=d,M+=d),f;c!==d&&e&&qc(Xc,Nc,Qc,d,"updated");if(d.updateDOM(c,f,Mc))return d=nd(a,null,null),null===b&&r(62),b.replaceChild(d,f),Yc(a,null),d;if(E(c)&&E(d)){a=d.__indent;a!==c.__indent&&ld(f,a);a=
|
||||
-d.__format;a!==c.__format&&md(f,a);if(e){a=d;e=N;N="";b=M;var g=c.__size,h=a.__size;M="";if(1===g&&1===h){var k=c.__first,m=a.__first;if(k===m)td(k,f);else{var p=Zc(k);m=nd(m,null,null);f.replaceChild(m,p);Yc(k,null)}}else{m=id(c,Uc);var n=id(a,Vc);if(0===g)0!==h&&od(n,a,0,h-1,f,null);else if(0===h)0!==g&&(k=null==f.__lexicalLineBreak,jd(m,0,g-1,k?null:f),k&&(f.textContent=""));else{var l=m;m=n;n=g-1;g=h-1;let u=f.firstChild,y=0;for(h=0;y<=n&&h<=g;){var q=l[y];let x=m[h];if(q===x)u=ud(td(x,f)),y++,
|
||||
-h++;else{void 0===k&&(k=new Set(l));void 0===p&&(p=new Set(m));let A=p.has(q),aa=k.has(x);A?(aa?(q=uc(O,x),q===u?u=ud(td(x,f)):(null!=u?f.insertBefore(q,u):f.appendChild(q),td(x,f)),y++):nd(x,f,u),h++):(u=ud(Zc(q)),Yc(q,f),y++)}}k=y>n;p=h>g;k&&!p?(k=m[g+1],k=void 0===k?null:O.getElementByKey(k),od(m,a,h,g,f,k)):p&&!k&&jd(l,y,n,f)}}tc(a)&&(M+="\n\n");f.__lexicalTextContent=M;M=b+M;pd(a,f);N=e;L(d)||d.isInline()||qd(c,d,f)}tc(d)&&(M+="\n\n",Lc+="\n\n")}else c=d.getTextContent(),z(d)?(e=d.decorate(O,
|
||||
-Mc),null!==e&&rd(a,e)):B(d)&&!d.isDirectionless()&&(N+=c),M+=c,Lc+=c;!Pc&&L(d)&&d.__cachedText!==Lc&&(d=d.getWritable(),d.__cachedText=Lc);return f}function rd(a,b){let c=O._pendingDecorators,d=O._decorators;if(null===c){if(d[a]===b)return;c=fc(O)}c[a]=b}function ud(a){a=a.nextSibling;null!==a&&a===O._blockCursorElement&&(a=a.nextSibling);return a}function Zc(a){let b=Wc.get(a);void 0===b&&r(75,a);return b}
|
||||
-let vd=Object.freeze({}),Cd=[["keydown",wd],["pointerdown",xd],["compositionstart",yd],["compositionend",zd],["input",Ad],["click",Bd],["cut",vd],["copy",vd],["dragstart",vd],["dragover",vd],["dragend",vd],["paste",vd],["focus",vd],["blur",vd],["drop",vd]];Ya&&Cd.push(["beforeinput",(a,b)=>Dd(a,b)]);let Ed=0,Fd=0,Gd=0,Hd=null,Id=0,Jd=!1,Kd=!1,Ld=!1,Md=!1,Nd=[0,"",0,"root",0];
|
||||
-function Od(a,b,c,d,e){let f=a.anchor,g=a.focus,h=f.getNode();var k=F();let m=xb(k._window),p=null!==m?m.anchorNode:null,n=f.key;k=k.getElementByKey(n);let l=c.length;return n!==g.key||!B(h)||(!e&&(!Ya||Gd<d+50)||h.isDirty()&&2>l||jc(c))&&f.offset!==g.offset&&!h.isComposing()||Wb(h)||h.isDirty()&&1<l||(e||!Ya)&&null!==k&&!h.isComposing()&&p!==Xb(k)||null!==m&&null!==b&&(!b.collapsed||b.startContainer!==m.anchorNode||b.startOffset!==m.anchorOffset)||h.getFormat()!==a.format||h.getStyle()!==a.style||
|
||||
-oc(a,h)}function Pd(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}
|
||||
-function Qd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Jd&&(Jd=!1,Pd(d,e)&&Pd(f,g)))return;w(b,()=>{if(!c)Ab(null);else if(Nb(b,d,f)){var h=v();if(C(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){"Range"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var p=Eb(b).event;p=p?p.timeStamp:performance.now();let [l,q,u,y,x]=Nd;var n=J();n=!1===b.isComposing()&&""===n.getTextContent();p<x+200&&k.offset===u&&k.key===y?(h.format=l,h.style=q):"text"===k.type?(h.format=
|
||||
+function nc(a,b){if(b.isSegmented())return!0;if(!a.isCollapsed())return!1;a=a.anchor.offset;let c=b.getParentOrThrow(),d=b.isToken();return 0===a?((a=!b.canInsertTextBefore()||!c.canInsertTextBefore()||d)||(b=b.getPreviousSibling(),a=(B(b)||E(b)&&b.isInline())&&!b.canInsertTextAfter()),a):a===b.getTextContentSize()?!b.canInsertTextAfter()||!c.canInsertTextAfter()||d:!1}
|
||||
+function oc(a,b){void 0===a.__lexicalClassNameCache&&(a.__lexicalClassNameCache={});let c=a.__lexicalClassNameCache,d=c[b];if(void 0!==d)return d;a=a[b];return"string"===typeof a?(a=a.split(" "),c[b]=a):a}function pc(a,b,c,d,e){0!==c.size&&(c=d.__type,d=d.__key,b=b.get(c),void 0===b&&r(33,c),c=b.klass,b=a.get(c),void 0===b&&(b=new Map,a.set(c,b)),a=b.get(d),c="destroyed"===a&&"created"===e,(void 0===a||c)&&b.set(d,c?"updated":e))}
|
||||
+function qc(a,b,c){let d=a.getParent(),e=c;null!==d&&(b&&0===c?(e=a.getIndexWithinParent(),a=d):b||c!==a.getChildrenSize()||(e=a.getIndexWithinParent()+1,a=d));return a.getChildAtIndex(b?e-1:e)}function rc(a,b){var c=a.offset;if("element"===a.type)return a=a.getNode(),qc(a,b,c);a=a.getNode();return b&&0===c||!b&&c===a.getTextContentSize()?(c=b?a.getPreviousSibling():a.getNextSibling(),null===c?qc(a.getParentOrThrow(),b,a.getIndexWithinParent()+(b?0:1)):c):null}
|
||||
+function Ab(a){a=(a=Db(a).event)&&a.inputType;return"insertFromPaste"===a||"insertFromPasteAsQuotation"===a}function sc(a){return!L(a)&&!a.isLastChild()&&!a.isInline()}function tc(a,b){a=a._keyToDOMMap.get(b);void 0===a&&r(75,b);return a}function Ob(a){a=a.assignedSlot||a.parentElement;return null!==a&&11===a.nodeType?a.host:a}function uc(a,b){for(a=a.getParent();null!==a;){if(a.is(b))return!0;a=a.getParent()}return!1}function Db(a){a=a._window;null===a&&r(78);return a}
|
||||
+function vc(a){for(a=a.getParentOrThrow();null!==a&&!wc(a);)a=a.getParentOrThrow();return a}function wc(a){return L(a)||E(a)&&a.isShadowRoot()}function xc(a){a=a.constructor.clone(a);Yb(a,null);return a}function yc(a){var b=F();let c=a.constructor.getType();b=b._nodes.get(c);void 0===b&&r(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||r(98),b):a}function zc(a,b){a=a.getParent();!L(a)||E(b)||z(b)||r(99)}function Ac(a){return(z(a)||E(a)&&!a.canBeEmpty())&&!a.isInline()}
|
||||
+function Bc(a,b,c){c.style.removeProperty("caret-color");b._blockCursorElement=null;b=a.parentElement;null!==b&&b.removeChild(a)}function wb(a){return Ua?(a||window).getSelection():null}function Cc(a,b){for(;a!==J()&&null!=a;){if(b(a))return a;a=a.getParent()}return null}function Dc(a){let b=[],c=[a];for(;0<c.length;){let d=c.pop();void 0===d&&r(112);E(d)&&c.unshift(...d.getChildren());d!==a&&b.push(d)}return b}function Ec(a){return 1===a.nodeType}
|
||||
+function Fc(a){if(z(a)&&!a.isInline())return!0;if(!E(a)||wc(a))return!1;var b=a.getFirstChild();b=null===b||Gc(b)||B(b)||b.isInline();return!a.isInline()&&!1!==a.canBeEmpty()&&b}function Hc(a,b){for(;null!==a&&null!==a.getParent()&&!b(a);)a=a.getParentOrThrow();return b(a)?a:null}function Ic(a,b,c,d,e,f){for(a=a.getFirstChild();null!==a;){let g=a.__key;a.__parent===b&&(E(a)&&Ic(a,g,c,d,e,f),c.has(g)||f.delete(g),e.push(g));a=a.getNextSibling()}}
|
||||
+function Jc(a,b,c,d){a=a._nodeMap;b=b._nodeMap;let e=[];for(let [f]of d){let g=b.get(f);void 0===g||g.isAttached()||(E(g)&&Ic(g,f,a,b,e,d),a.has(f)||d.delete(f),e.push(f))}for(let f of e)b.delete(f);for(let f of c)d=b.get(f),void 0===d||d.isAttached()||(a.has(f)||c.delete(f),b.delete(f))}let M="",N="",Kc="",Lc,O,Mc,Nc=!1,Oc=!1,Pc,Qc=null,Rc,Sc,Tc,Uc,Vc,Wc;
|
||||
+function Xc(a,b){let c=Tc.get(a);if(null!==b){let d=Yc(a);d.parentNode===b&&b.removeChild(d)}Uc.has(a)||O._keyToDOMMap.delete(a);E(c)&&(a=Zc(c,Tc),id(a,0,a.length-1,null));void 0!==c&&pc(Wc,Mc,Pc,c,"destroyed")}function id(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&Xc(e,d)}}function jd(a,b){a.setProperty("text-align",b)}
|
||||
+function kd(a,b){var c=Lc.theme.indent;if("string"===typeof c){let d=a.classList.contains(c);0<b&&!d?a.classList.add(c):1>b&&d&&a.classList.remove(c)}c=getComputedStyle(a).getPropertyValue("--lexical-indent-base-value")||"40px";a.style.setProperty("padding-inline-start",0===b?"":`calc(${b} * ${c})`)}function ld(a,b){a=a.style;0===b?jd(a,""):1===b?jd(a,"left"):2===b?jd(a,"center"):3===b?jd(a,"right"):4===b?jd(a,"justify"):5===b?jd(a,"start"):6===b&&jd(a,"end")}
|
||||
+function md(a,b,c){let d=Uc.get(a);void 0===d&&r(60);let e=d.createDOM(Lc,O);var f=O._keyToDOMMap;e["__lexicalKey_"+O._key]=a;f.set(a,e);B(d)?e.setAttribute("data-lexical-text","true"):z(d)&&e.setAttribute("data-lexical-decorator","true");if(E(d)){a=d.__indent;f=d.__size;0!==a&&kd(e,a);if(0!==f){--f;a=Zc(d,Uc);var g=N;N="";nd(a,d,0,f,e,null);od(d,e);N=g}a=d.__format;0!==a&&ld(e,a);d.isInline()||pd(null,d,e);sc(d)&&(M+="\n\n",Kc+="\n\n")}else f=d.getTextContent(),z(d)?(g=d.decorate(O,Lc),null!==g&&
|
||||
+qd(a,g),e.contentEditable="false"):B(d)&&(d.isDirectionless()||(N+=f)),M+=f,Kc+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));pc(Wc,Mc,Pc,d,"created");return e}function nd(a,b,c,d,e,f){let g=M;for(M="";c<=d;++c)md(a[c],e,f);sc(b)&&(M+="\n\n");e.__lexicalTextContent=M;M=g+M}function rd(a,b){a=b.get(a);return Gc(a)||z(a)&&a.isInline()}
|
||||
+function pd(a,b,c){a=null!==a&&(0===a.__size||rd(a.__last,Tc));b=0===b.__size||rd(b.__last,Uc);a?b||(b=c.__lexicalLineBreak,null!=b&&c.removeChild(b),c.__lexicalLineBreak=null):b&&(b=document.createElement("br"),c.__lexicalLineBreak=b,c.appendChild(b))}
|
||||
+function od(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==N||c!==Qc){let f=""===N;if(f)var d=Qc;else d=N,d=eb.test(d)?"rtl":fb.test(d)?"ltr":null;if(d!==c){let g=b.classList,h=Lc.theme;var e=null!==c?h[c]:void 0;let k=null!==d?h[d]:void 0;void 0!==e&&("string"===typeof e&&(e=e.split(" "),e=h[c]=e),g.remove(...e));null===d||f&&"ltr"===d?b.removeAttribute("dir"):(void 0!==k&&("string"===typeof k&&(c=k.split(" "),k=h[d]=c),void 0!==k&&g.add(...k)),b.dir=d);Oc||(a.getWritable().__dir=d)}Qc=
|
||||
+d;b.__lexicalDirTextContent=N;b.__lexicalDir=d}}function Zc(a,b){let c=[];for(a=a.__first;null!==a;){let d=b.get(a);void 0===d&&r(101);c.push(a);a=d.__next}return c}
|
||||
+function sd(a,b){var c=Tc.get(a),d=Uc.get(a);void 0!==c&&void 0!==d||r(61);var e=Nc||Sc.has(a)||Rc.has(a);let f=tc(O,a);if(c===d&&!e)return E(c)?(d=f.__lexicalTextContent,void 0!==d&&(M+=d,Kc+=d),d=f.__lexicalDirTextContent,void 0!==d&&(N+=d)):(d=c.getTextContent(),B(c)&&!c.isDirectionless()&&(N+=d),Kc+=d,M+=d),f;c!==d&&e&&pc(Wc,Mc,Pc,d,"updated");if(d.updateDOM(c,f,Lc))return d=md(a,null,null),null===b&&r(62),b.replaceChild(d,f),Xc(a,null),d;if(E(c)&&E(d)){a=d.__indent;a!==c.__indent&&kd(f,a);a=
|
||||
+d.__format;a!==c.__format&&ld(f,a);if(e){a=d;e=N;N="";b=M;var g=c.__size,h=a.__size;M="";if(1===g&&1===h){var k=c.__first,m=a.__first;if(k===m)sd(k,f);else{var p=Yc(k);m=md(m,null,null);f.replaceChild(m,p);Xc(k,null)}}else{m=Zc(c,Tc);var n=Zc(a,Uc);if(0===g)0!==h&&nd(n,a,0,h-1,f,null);else if(0===h)0!==g&&(k=null==f.__lexicalLineBreak,id(m,0,g-1,k?null:f),k&&(f.textContent=""));else{var l=m;m=n;n=g-1;g=h-1;let u=f.firstChild,y=0;for(h=0;y<=n&&h<=g;){var q=l[y];let x=m[h];if(q===x)u=td(sd(x,f)),y++,
|
||||
+h++;else{void 0===k&&(k=new Set(l));void 0===p&&(p=new Set(m));let A=p.has(q),aa=k.has(x);A?(aa?(q=tc(O,x),q===u?u=td(sd(x,f)):(null!=u?f.insertBefore(q,u):f.appendChild(q),sd(x,f)),y++):md(x,f,u),h++):(u=td(Yc(q)),Xc(q,f),y++)}}k=y>n;p=h>g;k&&!p?(k=m[g+1],k=void 0===k?null:O.getElementByKey(k),nd(m,a,h,g,f,k)):p&&!k&&id(l,y,n,f)}}sc(a)&&(M+="\n\n");f.__lexicalTextContent=M;M=b+M;od(a,f);N=e;L(d)||d.isInline()||pd(c,d,f)}sc(d)&&(M+="\n\n",Kc+="\n\n")}else c=d.getTextContent(),z(d)?(e=d.decorate(O,
|
||||
+Lc),null!==e&&qd(a,e)):B(d)&&!d.isDirectionless()&&(N+=c),M+=c,Kc+=c;!Oc&&L(d)&&d.__cachedText!==Kc&&(d=d.getWritable(),d.__cachedText=Kc);return f}function qd(a,b){let c=O._pendingDecorators,d=O._decorators;if(null===c){if(d[a]===b)return;c=ec(O)}c[a]=b}function td(a){a=a.nextSibling;null!==a&&a===O._blockCursorElement&&(a=a.nextSibling);return a}function Yc(a){let b=Vc.get(a);void 0===b&&r(75,a);return b}
|
||||
+let ud=Object.freeze({}),Bd=[["keydown",vd],["pointerdown",wd],["compositionstart",xd],["compositionend",yd],["input",zd],["click",Ad],["cut",ud],["copy",ud],["dragstart",ud],["dragover",ud],["dragend",ud],["paste",ud],["focus",ud],["blur",ud],["drop",ud]];Ya&&Bd.push(["beforeinput",(a,b)=>Cd(a,b)]);let Dd=0,Ed=0,Fd=0,Gd=null,Hd=0,Id=!1,Jd=!1,Kd=!1,Ld=!1,Md=[0,"",0,"root",0];
|
||||
+function Nd(a,b,c,d,e){let f=a.anchor,g=a.focus,h=f.getNode();var k=F();let m=wb(k._window),p=null!==m?m.anchorNode:null,n=f.key;k=k.getElementByKey(n);let l=c.length;return n!==g.key||!B(h)||(!e&&(!Ya||Fd<d+50)||h.isDirty()&&2>l||ic(c))&&f.offset!==g.offset&&!h.isComposing()||Vb(h)||h.isDirty()&&1<l||(e||!Ya)&&null!==k&&!h.isComposing()&&p!==Wb(k)||null!==m&&null!==b&&(!b.collapsed||b.startContainer!==m.anchorNode||b.startOffset!==m.anchorOffset)||h.getFormat()!==a.format||h.getStyle()!==a.style||
|
||||
+nc(a,h)}function Od(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}
|
||||
+function Pd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Id&&(Id=!1,Od(d,e)&&Od(f,g)))return;w(b,()=>{if(!c)zb(null);else if(Mb(b,d,f)){var h=v();if(C(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){"Range"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var p=Db(b).event;p=p?p.timeStamp:performance.now();let [l,q,u,y,x]=Md;var n=J();n=!1===b.isComposing()&&""===n.getTextContent();p<x+200&&k.offset===u&&k.key===y?(h.format=l,h.style=q):"text"===k.type?(h.format=
|
||||
m.getFormat(),h.style=m.getStyle()):"element"!==k.type||n||(h.format=0,h.style="")}else{k=255;m=!1;p=h.getNodes();n=p.length;for(let l=0;l<n;l++){let q=p[l];if(B(q)&&(m=!0,k&=q.getFormat(),0===k))break}h.format=m?k:0}}R(b,ba,void 0)}})}
|
||||
-function Bd(a,b){w(b,()=>{let c=v();var d=xb(b._window);let e=nc();if(d)if(C(c)){let g=c.anchor;var f=g.getNode();"element"===g.type&&0===g.offset&&c.isCollapsed()&&!L(f)&&1===J().getChildrenSize()&&f.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)?(d.removeAllRanges(),c.dirty=!0):3!==a.detail||c.isCollapsed()||(d=c.focus.getNode(),f!==d&&(E(f)?f.select(0):f.getParentOrThrow().select(0)))}else"touch"===a.pointerType&&(f=d.anchorNode,null!==f&&(f=f.nodeType,1===f||3===f))&&(d=Rd(e,d,b),Ab(d));
|
||||
-R(b,ca,a)})}function xd(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&w(b,()=>{z(wb(c))||(Kd=!0)})}function Sd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Td(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
|
||||
-function Dd(a,b){let c=a.inputType,d=Sd(a);"deleteCompositionText"===c||Xa&&Bb(b)||"insertCompositionText"!==c&&w(b,()=>{let e=v();if("deleteContentBackward"===c){if(null===e){var f=nc();if(!C(f))return;Ab(f.clone())}if(C(e)){ab&&H(e.anchor.key);229===Fd&&a.timeStamp<Ed+30&&b.isComposing()&&e.anchor.key===e.focus.key?(H(null),Ed=0,setTimeout(()=>{w(b,()=>{H(null)})},30),C(e)&&(f=e.anchor.getNode(),f.markDirty(),e.format=f.getFormat(),e.style=f.getStyle()),1>=e.anchor.getNode().getTextContent().length&&
|
||||
-(a.preventDefault(),R(b,ea,!0))):(a.preventDefault(),R(b,ea,!0));return}}if(C(e)){f=a.data;null!==Hd&&mc(!1,b,Hd);e.dirty&&null===Hd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Hd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,fa,!1)):"\n\n"===f?(a.preventDefault(),R(b,ha,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),a.preventDefault(),e.insertRawText(f)):null!=
|
||||
-f&&Od(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,la,f)):Hd=f,Gd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,la,a);break;case "insertFromComposition":H(null);R(b,la,a);break;case "insertLineBreak":H(null);R(b,fa,!1);break;case "insertParagraph":H(null);Ld&&!$a?(Ld=!1,R(b,fa,!1)):R(b,ha,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,ma,a);break;case "deleteByComposition":Td(h,g)&&R(b,na,a);
|
||||
-break;case "deleteByDrag":case "deleteByCut":R(b,na,a);break;case "deleteContent":R(b,ea,!1);break;case "deleteWordBackward":R(b,pa,!0);break;case "deleteWordForward":R(b,pa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,qa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,qa,!1);break;case "formatStrikeThrough":R(b,ra,"strikethrough");break;case "formatBold":R(b,ra,"bold");break;case "formatItalic":R(b,ra,"italic");break;
|
||||
-case "formatUnderline":R(b,ra,"underline");break;case "historyUndo":R(b,sa,void 0);break;case "historyRedo":R(b,ta,void 0)}}})}
|
||||
-function Ad(a,b){a.stopPropagation();w(b,()=>{var c=v(),d=a.data,e=Sd(a);if(null!=d&&C(c)&&Od(c,e,d,a.timeStamp,!1)){Md&&(Ud(b,d),Md=!1);var f=c.anchor,g=f.getNode();e=xb(b._window);if(null===e)return;let h=f.offset;if(f=Ya&&!c.isCollapsed()&&B(g)&&null!==e.anchorNode)g=g.getTextContent().slice(0,h)+d+g.getTextContent().slice(h+c.focus.offset),e=e.anchorNode,f=g===(3===e.nodeType?e.nodeValue:null);f||R(b,la,d);d=d.length;Xa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
|
||||
-d);Za||$a||cb||!b.isComposing()||(Ed=0,H(null))}else mc(!1,b,null!==d?d:void 0),Md&&(Ud(b,d||void 0),Md=!1);G();c=F();Cb(c)});Hd=null}function yd(a,b){w(b,()=>{let c=v();if(C(c)&&!b.isComposing()){let d=c.anchor,e=c.anchor.getNode();H(d.key);(a.timeStamp<Ed+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||e.getStyle()!==c.style)&&R(b,la,eb)}})}
|
||||
-function Ud(a,b){var c=a._compositionKey;H(null);if(null!==c&&null!=b){if(""===b){b=I(c);a=Xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&B(b)&&yb(b,a.nodeValue,null,null,!0);return}if("\n"===b[b.length-1]&&(c=v(),C(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);R(a,Ca,null);return}}mc(!0,a,b)}function zd(a,b){Xa?Md=!0:w(b,()=>{Ud(b,a.data)})}
|
||||
-function wd(a,b){Ed=a.timeStamp;Fd=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(!R(b,ua,a)){if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)Ld=!0,R(b,Ca,a);else if(32===c)R(b,Da,a);else if(t&&e&&79===c)a.preventDefault(),Ld=!0,R(b,fa,!0);else if(13!==c||d){var h=t?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?R(b,Ga,a):(a.preventDefault(),R(b,ea,!0)):27===c?R(b,Ha,
|
||||
+function Ad(a,b){w(b,()=>{let c=v();var d=wb(b._window);let e=mc();if(d)if(C(c)){let g=c.anchor;var f=g.getNode();"element"===g.type&&0===g.offset&&c.isCollapsed()&&!L(f)&&1===J().getChildrenSize()&&f.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)?(d.removeAllRanges(),c.dirty=!0):3!==a.detail||c.isCollapsed()||(d=c.focus.getNode(),f!==d&&(E(f)?f.select(0):f.getParentOrThrow().select(0)))}else"touch"===a.pointerType&&(f=d.anchorNode,null!==f&&(f=f.nodeType,1===f||3===f))&&(d=Qd(e,d,b),zb(d));
|
||||
+R(b,ca,a)})}function wd(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&w(b,()=>{z(vb(c))||(Jd=!0)})}function Rd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Sd(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
|
||||
+function Cd(a,b){let c=a.inputType,d=Rd(a);"deleteCompositionText"===c||Xa&&Ab(b)||"insertCompositionText"!==c&&w(b,()=>{let e=v();if("deleteContentBackward"===c){if(null===e){var f=mc();if(!C(f))return;zb(f.clone())}if(C(e)){229===Ed&&a.timeStamp<Dd+30&&b.isComposing()&&e.anchor.key===e.focus.key?(H(null),Dd=0,setTimeout(()=>{w(b,()=>{H(null)})},30),C(e)&&(f=e.anchor.getNode(),f.markDirty(),e.format=f.getFormat(),e.style=f.getStyle()),1>=e.anchor.getNode().getTextContent().length&&(a.preventDefault(),
|
||||
+R(b,ea,!0))):(a.preventDefault(),R(b,ea,!0));return}}if(C(e)){f=a.data;null!==Gd&&lc(!1,b,Gd);e.dirty&&null===Gd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Gd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,fa,!1)):"\n\n"===f?(a.preventDefault(),R(b,ha,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),a.preventDefault(),e.insertRawText(f)):null!=f&&Nd(e,d,f,a.timeStamp,
|
||||
+!0)?(a.preventDefault(),R(b,la,f)):Gd=f,Fd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,la,a);break;case "insertFromComposition":H(null);R(b,la,a);break;case "insertLineBreak":H(null);R(b,fa,!1);break;case "insertParagraph":H(null);Kd&&!$a?(Kd=!1,R(b,fa,!1)):R(b,ha,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,ma,a);break;case "deleteByComposition":Sd(h,g)&&R(b,na,a);break;case "deleteByDrag":case "deleteByCut":R(b,
|
||||
+na,a);break;case "deleteContent":R(b,ea,!1);break;case "deleteWordBackward":R(b,pa,!0);break;case "deleteWordForward":R(b,pa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,qa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,qa,!1);break;case "formatStrikeThrough":R(b,ra,"strikethrough");break;case "formatBold":R(b,ra,"bold");break;case "formatItalic":R(b,ra,"italic");break;case "formatUnderline":R(b,ra,"underline");break;
|
||||
+case "historyUndo":R(b,sa,void 0);break;case "historyRedo":R(b,ta,void 0)}}})}
|
||||
+function zd(a,b){a.stopPropagation();w(b,()=>{var c=v(),d=a.data,e=Rd(a);if(null!=d&&C(c)&&Nd(c,e,d,a.timeStamp,!1)){Ld&&(Td(b,d),Ld=!1);var f=c.anchor,g=f.getNode();e=wb(b._window);if(null===e)return;let h=f.offset;if(f=Ya&&!c.isCollapsed()&&B(g)&&null!==e.anchorNode)g=g.getTextContent().slice(0,h)+d+g.getTextContent().slice(h+c.focus.offset),e=e.anchorNode,f=g===(3===e.nodeType?e.nodeValue:null);f||R(b,la,d);d=d.length;Xa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
|
||||
+d);Za||$a||bb||!b.isComposing()||(Dd=0,H(null))}else lc(!1,b,null!==d?d:void 0),Ld&&(Td(b,d||void 0),Ld=!1);G();c=F();Bb(c)});Gd=null}function xd(a,b){w(b,()=>{let c=v();if(C(c)&&!b.isComposing()){let d=c.anchor,e=c.anchor.getNode();H(d.key);(a.timeStamp<Dd+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||e.getStyle()!==c.style)&&R(b,la,db)}})}
|
||||
+function Td(a,b){var c=a._compositionKey;H(null);if(null!==c&&null!=b){if(""===b){b=I(c);a=Wb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&B(b)&&xb(b,a.nodeValue,null,null,!0);return}if("\n"===b[b.length-1]&&(c=v(),C(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);R(a,Ca,null);return}}lc(!0,a,b)}function yd(a,b){Xa?Ld=!0:w(b,()=>{Td(b,a.data)})}
|
||||
+function vd(a,b){Dd=a.timeStamp;Ed=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(!R(b,ua,a)){if(39!==c||e||f||g)if(39!==c||g||d||!e&&!f)if(37!==c||e||f||g)if(37!==c||g||d||!e&&!f)if(38!==c||e||f)if(40!==c||e||f)if(13===c&&d)Kd=!0,R(b,Ca,a);else if(32===c)R(b,Da,a);else if(t&&e&&79===c)a.preventDefault(),Kd=!0,R(b,fa,!0);else if(13!==c||d){var h=t?g||f?!1:8===c||72===c&&e:e||g||f?!1:8===c;h?8===c?R(b,Ga,a):(a.preventDefault(),R(b,ea,!0)):27===c?R(b,Ha,
|
||||
a):(h=t?d||g||f?!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?R(b,Ia,a):(a.preventDefault(),R(b,ea,!1)):8===c&&(t?g:e)?(a.preventDefault(),R(b,pa,!0)):46===c&&(t?g:e)?(a.preventDefault(),R(b,pa,!1)):t&&f&&8===c?(a.preventDefault(),R(b,qa,!0)):t&&f&&46===c?(a.preventDefault(),R(b,qa,!1)):66===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,ra,"bold")):85===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,ra,"underline")):73===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,ra,"italic")):9!==c||g||e||f?90===c&&!d&&(t?f:e)?(a.preventDefault(),
|
||||
-R(b,sa,void 0)):(h=t?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),R(b,ta,void 0)):Vd(b._editorState._selection)?(h=d?!1:67===c?t?f:e:!1,h?(a.preventDefault(),R(b,Oa,a)):(h=d?!1:88===c?t?f:e:!1,h?(a.preventDefault(),R(b,Pa,a)):65===c&&(t?f:e)&&(a.preventDefault(),R(b,Qa,a)))):!Xa&&65===c&&(t?f:e)&&(a.preventDefault(),R(b,Qa,a))):R(b,Ja,a))}else Ld=!1,R(b,Ca,a);else R(b,Ba,a);else R(b,Aa,a);else R(b,za,a);else R(b,xa,a);else R(b,wa,a);else R(b,va,a);(e||d||g||f)&&R(b,Ta,a)}}}
|
||||
-function Wd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let Xd=new Map;function Yd(a){a=a.target;let b=xb(null==a?null:9===a.nodeType?a.defaultView:a.ownerDocument.defaultView);if(null!==b){var c=Ob(b.anchorNode);if(null!==c){Kd&&(Kd=!1,w(c,()=>{var g=nc(),h=b.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=Rd(g,b,c),Ab(g))}));a=kc(c);a=a[a.length-1];var d=a._key,e=Xd.get(d),f=e||a;f!==c&&Qd(b,f,!1);Qd(b,c,!0);c!==a?Xd.set(d,c):e&&Xd.delete(d)}}}
|
||||
-function Zd(a,b){0===Id&&a.ownerDocument.addEventListener("selectionchange",Yd);Id++;a.__lexicalEditor=b;let c=Wd(a);for(let d=0;d<Cd.length;d++){let [e,f]=Cd[d],g="function"===typeof f?h=>{!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()&&f(h,b))}:h=>{if(!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()))switch(e){case "cut":return R(b,Pa,h);case "copy":return R(b,Oa,h);case "paste":return R(b,ma,h);case "dragstart":return R(b,La,h);case "dragover":return R(b,Ma,h);case "dragend":return R(b,
|
||||
+R(b,sa,void 0)):(h=t?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),R(b,ta,void 0)):Ud(b._editorState._selection)?(h=d?!1:67===c?t?f:e:!1,h?(a.preventDefault(),R(b,Oa,a)):(h=d?!1:88===c?t?f:e:!1,h?(a.preventDefault(),R(b,Pa,a)):65===c&&(t?f:e)&&(a.preventDefault(),R(b,Qa,a)))):!Xa&&65===c&&(t?f:e)&&(a.preventDefault(),R(b,Qa,a))):R(b,Ja,a))}else Kd=!1,R(b,Ca,a);else R(b,Ba,a);else R(b,Aa,a);else R(b,za,a);else R(b,xa,a);else R(b,wa,a);else R(b,va,a);(e||d||g||f)&&R(b,Ta,a)}}}
|
||||
+function Vd(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let Wd=new Map;function Xd(a){a=a.target;let b=wb(null==a?null:9===a.nodeType?a.defaultView:a.ownerDocument.defaultView);if(null!==b){var c=Nb(b.anchorNode);if(null!==c){Jd&&(Jd=!1,w(c,()=>{var g=mc(),h=b.anchorNode;null!==h&&(h=h.nodeType,1===h||3===h)&&(g=Qd(g,b,c),zb(g))}));a=jc(c);a=a[a.length-1];var d=a._key,e=Wd.get(d),f=e||a;f!==c&&Pd(b,f,!1);Pd(b,c,!0);c!==a?Wd.set(d,c):e&&Wd.delete(d)}}}
|
||||
+function Yd(a,b){0===Hd&&a.ownerDocument.addEventListener("selectionchange",Xd);Hd++;a.__lexicalEditor=b;let c=Vd(a);for(let d=0;d<Bd.length;d++){let [e,f]=Bd[d],g="function"===typeof f?h=>{!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()&&f(h,b))}:h=>{if(!0!==h._lexicalHandled&&(h._lexicalHandled=!0,b.isEditable()))switch(e){case "cut":return R(b,Pa,h);case "copy":return R(b,Oa,h);case "paste":return R(b,ma,h);case "dragstart":return R(b,La,h);case "dragover":return R(b,Ma,h);case "dragend":return R(b,
|
||||
Na,h);case "focus":return R(b,Ra,h);case "blur":return R(b,Sa,h);case "drop":return R(b,Ka,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}
|
||||
-function $d(a,b,c){G();var d=a.__key;let e=a.getParent();if(null!==e){var f=v();if(C(f)&&E(a)){var {anchor:g,focus:h}=f;var k=g.getNode();var m=h.getNode();vc(k,a)&&g.set(a.__key,0,"element");vc(m,a)&&h.set(a.__key,0,"element")}k=f;m=!1;if(C(k)&&b){f=k.anchor;let p=k.focus;f.key===d&&(ae(f,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0);p.key===d&&(ae(p,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0)}else Vd(k)&&b&&a.isSelected()&&a.selectPrevious();C(k)&&b&&!m?(d=a.getIndexWithinParent(),
|
||||
-bc(a),be(k,e,d,-1)):bc(a);c||xc(e)||e.canBeEmpty()||!e.isEmpty()||$d(e,b);b&&L(e)&&e.isEmpty()&&e.selectEnd()}}
|
||||
-class ce{static getType(){r(64,this.name)}static clone(){r(65,this.name)}constructor(a){this.__type=this.constructor.getType();this.__next=this.__prev=this.__parent=null;Zb(this,a)}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if("root"===a)return!0;a=I(a);if(null===a)break;a=a.__parent}return!1}isSelected(a){a=a||v();if(null==a)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return B(this)?b:C(a)&&"element"===a.anchor.type&&"element"===a.focus.type&&a.anchor.key===
|
||||
-a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){var a=this.getParent();if(null===a)return-1;a=a.getFirstChild();let b=0;for(;null!==a;){if(this.is(a))return b;b++;a=a.getNextSibling()}return-1}getParent(){let a=this.getLatest().__parent;return null===a?null:I(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66,this.__key);return a}getTopLevelElement(){let a=this;for(;null!==a;){let b=a.getParent();if(xc(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=
|
||||
+function Zd(a,b,c){G();var d=a.__key;let e=a.getParent();if(null!==e){var f=v();if(C(f)&&E(a)){var {anchor:g,focus:h}=f;var k=g.getNode();var m=h.getNode();uc(k,a)&&g.set(a.__key,0,"element");uc(m,a)&&h.set(a.__key,0,"element")}k=f;m=!1;if(C(k)&&b){f=k.anchor;let p=k.focus;f.key===d&&($d(f,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0);p.key===d&&($d(p,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0)}else Ud(k)&&b&&a.isSelected()&&a.selectPrevious();C(k)&&b&&!m?(d=a.getIndexWithinParent(),
|
||||
+ac(a),ae(k,e,d,-1)):ac(a);c||wc(e)||e.canBeEmpty()||!e.isEmpty()||Zd(e,b);b&&L(e)&&e.isEmpty()&&e.selectEnd()}}
|
||||
+class be{static getType(){r(64,this.name)}static clone(){r(65,this.name)}constructor(a){this.__type=this.constructor.getType();this.__next=this.__prev=this.__parent=null;Yb(this,a)}getType(){return this.__type}isAttached(){for(var a=this.__key;null!==a;){if("root"===a)return!0;a=I(a);if(null===a)break;a=a.__parent}return!1}isSelected(a){a=a||v();if(null==a)return!1;let b=a.getNodes().some(c=>c.__key===this.__key);return B(this)?b:C(a)&&"element"===a.anchor.type&&"element"===a.focus.type&&a.anchor.key===
|
||||
+a.focus.key&&a.anchor.offset===a.focus.offset?!1:b}getKey(){return this.__key}getIndexWithinParent(){var a=this.getParent();if(null===a)return-1;a=a.getFirstChild();let b=0;for(;null!==a;){if(this.is(a))return b;b++;a=a.getNextSibling()}return-1}getParent(){let a=this.getLatest().__parent;return null===a?null:I(a)}getParentOrThrow(){let a=this.getParent();null===a&&r(66,this.__key);return a}getTopLevelElement(){let a=this;for(;null!==a;){let b=a.getParent();if(wc(b))return a;a=b}return null}getTopLevelElementOrThrow(){let a=
|
||||
this.getTopLevelElement();null===a&&r(67,this.__key);return a}getParents(){let a=[],b=this.getParent();for(;null!==b;)a.push(b),b=b.getParent();return a}getParentKeys(){let a=[],b=this.getParent();for(;null!==b;)a.push(b.__key),b=b.getParent();return a}getPreviousSibling(){let a=this.getLatest().__prev;return null===a?null:I(a)}getPreviousSiblings(){let a=[];var b=this.getParent();if(null===b)return a;for(b=b.getFirstChild();null!==b&&!b.is(this);)a.push(b),b=b.getNextSibling();return a}getNextSibling(){let a=
|
||||
this.getLatest().__next;return null===a?null:I(a)}getNextSiblings(){let a=[],b=this.getNextSibling();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getCommonAncestor(a){let b=this.getParents();var c=a.getParents();E(this)&&b.unshift(this);E(a)&&c.unshift(a);a=b.length;var d=c.length;if(0===a||0===d||b[a-1]!==c[d-1])return null;c=new Set(c);for(d=0;d<a;d++){let e=b[d];if(c.has(e))return e}return null}is(a){return null==a?!1:this.__key===a.__key}isBefore(a){if(this===a)return!1;if(a.isParentOf(this))return!0;
|
||||
if(this.isParentOf(a))return!1;var b=this.getCommonAncestor(a);let c=this;for(;;){var d=c.getParentOrThrow();if(d===b){d=c.getIndexWithinParent();break}c=d}for(c=a;;){a=c.getParentOrThrow();if(a===b){b=c.getIndexWithinParent();break}c=a}return d<b}isParentOf(a){let b=this.__key;if(b===a.__key)return!1;for(;null!==a;){if(a.__key===b)return!0;a=a.getParent()}return!1}getNodesBetween(a){let b=this.isBefore(a),c=[],d=new Set;for(var e=this;;){var f=e.__key;d.has(f)||(d.add(f),c.push(e));if(e===a)break;
|
||||
f=E(e)?b?e.getFirstChild():e.getLastChild():null;if(null!==f)e=f;else if(f=b?e.getNextSibling():e.getPreviousSibling(),null!==f)e=f;else{e=e.getParentOrThrow();d.has(e.__key)||c.push(e);if(e===a)break;f=e;do null===f&&r(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),null!==f&&(null!==e||d.has(f.__key)||c.push(f));while(null===e)}}b||c.reverse();return c}isDirty(){let a=F()._dirtyLeaves;return null!==a&&a.has(this.__key)}getLatest(){let a=I(this.__key);null===a&&r(113);return a}getWritable(){G();
|
||||
-var a=ac(),b=F();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=v();de(f)&&f.setCachedNodes(null);if(b.has(c))return cc(d),d;f=d.constructor.clone(d);f.__parent=e;f.__next=d.__next;f.__prev=d.__prev;E(d)&&E(f)?(f.__first=d.__first,f.__last=d.__last,f.__size=d.__size,f.__indent=d.__indent,f.__format=d.__format,f.__dir=d.__dir):B(d)&&B(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;cc(f);a.set(c,f);
|
||||
-return f}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18,this.name)}static transform(){return null}remove(a){$d(this,!0,a)}replace(a,b){G();var c=v();null!==c&&(c=c.clone());Ac(this,a);let d=this.getLatest(),e=this.__key,f=a.__key,g=a.getWritable();a=this.getParentOrThrow().getWritable();let h=a.__size;bc(g);let k=d.getPreviousSibling(),
|
||||
-m=d.getNextSibling(),p=d.__prev,n=d.__next,l=d.__parent;$d(d,!1,!0);null===k?a.__first=f:k.getWritable().__next=f;g.__prev=p;null===m?a.__last=f:m.getWritable().__prev=f;g.__next=n;g.__parent=l;a.__size=h;b&&this.getChildren().forEach(q=>{g.append(q)});C(c)&&(Ab(c),b=c.anchor,c=c.focus,b.key===e&&ee(b,g),c.key===e&&ee(c,g));dc()===e&&H(f);return g}insertAfter(a,b=!0){G();Ac(this,a);var c=this.getWritable();let d=a.getWritable();var e=d.getParent();let f=v();var g=!1,h=!1;if(null!==e){var k=a.getIndexWithinParent();
|
||||
-bc(d);C(f)&&(h=e.__key,g=f.anchor,e=f.focus,g="element"===g.type&&g.key===h&&g.offset===k+1,h="element"===e.type&&e.key===h&&e.offset===k+1)}e=this.getNextSibling();k=this.getParentOrThrow().getWritable();let m=d.__key,p=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=p;d.__prev=c.__key;d.__parent=c.__parent;b&&C(f)&&(b=this.getIndexWithinParent(),be(f,k,b+1),c=k.__key,g&&f.anchor.set(c,b+2,"element"),h&&f.focus.set(c,b+2,"element"));return a}insertBefore(a,b=
|
||||
-!0){G();Ac(this,a);var c=this.getWritable();let d=a.getWritable(),e=d.__key;bc(d);let f=this.getPreviousSibling(),g=this.getParentOrThrow().getWritable(),h=c.__prev,k=this.getIndexWithinParent();null===f?g.__first=e:f.getWritable().__next=e;g.__size++;c.__prev=e;d.__prev=h;d.__next=c.__key;d.__parent=c.__parent;c=v();b&&C(c)&&(b=this.getParentOrThrow(),be(c,b,k));return a}isParentRequired(){return!1}createParentElementNode(){return fe()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,
|
||||
+var a=$b(),b=F();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=v();ce(f)&&f.setCachedNodes(null);if(b.has(c))return bc(d),d;f=d.constructor.clone(d);f.__parent=e;f.__next=d.__next;f.__prev=d.__prev;E(d)&&E(f)?(f.__first=d.__first,f.__last=d.__last,f.__size=d.__size,f.__indent=d.__indent,f.__format=d.__format,f.__dir=d.__dir):B(d)&&B(f)&&(f.__format=d.__format,f.__style=d.__style,f.__mode=d.__mode,f.__detail=d.__detail);b.add(c);f.__key=c;bc(f);a.set(c,f);
|
||||
+return f}getTextContent(){return""}getTextContentSize(){return this.getTextContent().length}createDOM(){r(70)}updateDOM(){r(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){r(72)}static importJSON(){r(18,this.name)}static transform(){return null}remove(a){Zd(this,!0,a)}replace(a,b){G();var c=v();null!==c&&(c=c.clone());zc(this,a);let d=this.getLatest(),e=this.__key,f=a.__key,g=a.getWritable();a=this.getParentOrThrow().getWritable();let h=a.__size;ac(g);let k=d.getPreviousSibling(),
|
||||
+m=d.getNextSibling(),p=d.__prev,n=d.__next,l=d.__parent;Zd(d,!1,!0);null===k?a.__first=f:k.getWritable().__next=f;g.__prev=p;null===m?a.__last=f:m.getWritable().__prev=f;g.__next=n;g.__parent=l;a.__size=h;b&&this.getChildren().forEach(q=>{g.append(q)});C(c)&&(zb(c),b=c.anchor,c=c.focus,b.key===e&&de(b,g),c.key===e&&de(c,g));cc()===e&&H(f);return g}insertAfter(a,b=!0){G();zc(this,a);var c=this.getWritable();let d=a.getWritable();var e=d.getParent();let f=v();var g=!1,h=!1;if(null!==e){var k=a.getIndexWithinParent();
|
||||
+ac(d);C(f)&&(h=e.__key,g=f.anchor,e=f.focus,g="element"===g.type&&g.key===h&&g.offset===k+1,h="element"===e.type&&e.key===h&&e.offset===k+1)}e=this.getNextSibling();k=this.getParentOrThrow().getWritable();let m=d.__key,p=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=p;d.__prev=c.__key;d.__parent=c.__parent;b&&C(f)&&(b=this.getIndexWithinParent(),ae(f,k,b+1),c=k.__key,g&&f.anchor.set(c,b+2,"element"),h&&f.focus.set(c,b+2,"element"));return a}insertBefore(a,b=
|
||||
+!0){G();zc(this,a);var c=this.getWritable();let d=a.getWritable(),e=d.__key;ac(d);let f=this.getPreviousSibling(),g=this.getParentOrThrow().getWritable(),h=c.__prev,k=this.getIndexWithinParent();null===f?g.__first=e:f.getWritable().__next=e;g.__size++;c.__prev=e;d.__prev=h;d.__next=c.__key;d.__parent=c.__parent;c=v();b&&C(c)&&(b=this.getParentOrThrow(),ae(c,b,k));return a}isParentRequired(){return!1}createParentElementNode(){return ee()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,
|
||||
0)}selectPrevious(a,b){G();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):E(c)?c.select():B(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){G();let c=this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():E(c)?c.select(0,0):B(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}
|
||||
-function ge(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;){if(!d.getNextSibling())throw Error("insertRangeAfter: lastToInsert must be a later sibling of firstToInsert");d=d.getNextSibling();b.push(d)}for(let e of b)a=a.insertAfter(e)}
|
||||
-class he extends ce{static getType(){return"linebreak"}static clone(a){return new he(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement,c,d;return null!==b&&((c=b.firstChild)===a||c.nextSibling===a&&3===c.nodeType&&null!==(c.textContent||"").match(/^( |\t|\r?\n)+$/))&&((d=b.lastChild)===a||d.previousSibling===a&&3===d.nodeType&&null!==(d.textContent||"").match(/^( |\t|\r?\n)+$/))?
|
||||
-null:{conversion:ie,priority:0}}}}static importJSON(){return je()}exportJSON(){return{type:"linebreak",version:1}}}function ie(){return{node:je()}}function je(){return zc(new he)}function Hc(a){return a instanceof he}function ke(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function le(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
-function me(a,b,c,d,e){a=d.classList;d=pc(e,"base");void 0!==d&&a.add(...d);d=pc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in hb)h=hb[k],d=pc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
-function ne(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?db:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function oe(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
-class pe extends ce{static getType(){return"text"}static clone(a){return new pe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return pb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===dc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
-(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=hb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Yb(c,a,b)}createDOM(a){var b=this.__format,c=ke(this,b);let d=le(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
-e.appendChild(f));c=f;ne(this.__text,c,this);a=a.theme.text;void 0!==a&&me(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=ke(this,e);let h=ke(this,f);var k=le(this,e);let m=le(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),ne(d,a,this),c=c.theme.text,void 0!==c&&me(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
-b.firstChild,null==k&&r(49));ne(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&me(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:qe,priority:0}),b:()=>({conversion:re,priority:0}),code:()=>({conversion:se,priority:0}),em:()=>({conversion:se,priority:0}),i:()=>({conversion:se,priority:0}),s:()=>({conversion:se,priority:0}),span:()=>({conversion:te,priority:0}),strong:()=>({conversion:se,priority:0}),sub:()=>({conversion:se,priority:0}),
|
||||
-sup:()=>({conversion:se,priority:0}),u:()=>({conversion:se,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Fc(a)||r(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=oe(a,"b"));this.hasFormat("italic")&&(a=oe(a,"i"));this.hasFormat("strikethrough")&&(a=oe(a,"s"));this.hasFormat("underline")&&(a=oe(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
-format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format="string"===typeof a?hb[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail="string"===typeof a?ib[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){let b=this.getFormat();a=Yb(b,a,null);return this.setFormat(a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=
|
||||
-1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=lb[a];if(this.__mode===a)return this;let b=this.getWritable();b.__mode=a;return b}setTextContent(a){if(this.__text===a)return this;let b=this.getWritable();b.__text=a;return b}select(a,b){G();let c=v();var d=this.getTextContent();let e=this.__key;"string"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(C(c))d=dc(),d!==c.anchor.key&&d!==c.focus.key||H(e),c.setTextNodeRange(this,a,this,b);
|
||||
-else return ue(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=v();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=dc(),f=new Set(a);
|
||||
+function fe(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;){if(!d.getNextSibling())throw Error("insertRangeAfter: lastToInsert must be a later sibling of firstToInsert");d=d.getNextSibling();b.push(d)}for(let e of b)a=a.insertAfter(e)}
|
||||
+class ge extends be{static getType(){return"linebreak"}static clone(a){return new ge(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement,c,d;return null!==b&&((c=b.firstChild)===a||c.nextSibling===a&&3===c.nodeType&&null!==(c.textContent||"").match(/^( |\t|\r?\n)+$/))&&((d=b.lastChild)===a||d.previousSibling===a&&3===d.nodeType&&null!==(d.textContent||"").match(/^( |\t|\r?\n)+$/))?
|
||||
+null:{conversion:he,priority:0}}}}static importJSON(){return ie()}exportJSON(){return{type:"linebreak",version:1}}}function he(){return{node:ie()}}function ie(){return yc(new ge)}function Gc(a){return a instanceof ge}function je(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function ke(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
+function le(a,b,c,d,e){a=d.classList;d=oc(e,"base");void 0!==d&&a.add(...d);d=oc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in gb)h=gb[k],d=oc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
+function me(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?cb:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function ne(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
+class oe extends be{static getType(){return"text"}static clone(a){return new oe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return lb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===cc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
+(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=gb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Xb(c,a,b)}createDOM(a){var b=this.__format,c=je(this,b);let d=ke(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
+e.appendChild(f));c=f;me(this.__text,c,this);a=a.theme.text;void 0!==a&&le(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=je(this,e);let h=je(this,f);var k=ke(this,e);let m=ke(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&r(48),a=g=document.createElement(m),me(d,a,this),c=c.theme.text,void 0!==c&&le(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
+b.firstChild,null==k&&r(49));me(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&le(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:pe,priority:0}),b:()=>({conversion:qe,priority:0}),code:()=>({conversion:re,priority:0}),em:()=>({conversion:re,priority:0}),i:()=>({conversion:re,priority:0}),s:()=>({conversion:re,priority:0}),span:()=>({conversion:se,priority:0}),strong:()=>({conversion:re,priority:0}),sub:()=>({conversion:re,priority:0}),
|
||||
+sup:()=>({conversion:re,priority:0}),u:()=>({conversion:re,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Ec(a)||r(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=ne(a,"b"));this.hasFormat("italic")&&(a=ne(a,"i"));this.hasFormat("strikethrough")&&(a=ne(a,"s"));this.hasFormat("underline")&&(a=ne(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
+format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format="string"===typeof a?gb[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail="string"===typeof a?hb[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){let b=this.getFormat();a=Xb(b,a,null);return this.setFormat(a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=
|
||||
+1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=kb[a];if(this.__mode===a)return this;let b=this.getWritable();b.__mode=a;return b}setTextContent(a){if(this.__text===a)return this;let b=this.getWritable();b.__text=a;return b}select(a,b){G();let c=v();var d=this.getTextContent();let e=this.__key;"string"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(C(c))d=cc(),d!==c.anchor.key&&d!==c.focus.key||H(e),c.setTextNodeRange(this,a,this,b);
|
||||
+else return te(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=v();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=cc(),f=new Set(a);
|
||||
a=[];var g=c.length,h="";for(var k=0;k<g;k++)""!==h&&f.has(k)&&(a.push(h),h=""),h+=c[k];""!==h&&a.push(h);f=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=b.getFormat();let p=b.getStyle(),n=b.__detail;g=!1;b.isSegmented()?(h=K(m),h.__format=k,h.__style=p,h.__detail=n,g=!0):(h=b.getWritable(),h.__text=m);b=v();h=[h];m=m.length;for(let u=1;u<f;u++){var l=a[u],q=l.length;l=K(l).getWritable();l.__format=k;l.__style=p;l.__detail=n;let y=l.__key;q=m+q;if(C(b)){let x=
|
||||
-b.anchor,A=b.focus;x.key===d&&"text"===x.type&&x.offset>m&&x.offset<=q&&(x.key=y,x.offset-=m,b.dirty=!0);A.key===d&&"text"===A.type&&A.offset>m&&A.offset<=q&&(A.key=y,A.offset-=m,b.dirty=!0)}e===d&&H(y);m=q;h.push(l)}d=this.getPreviousSibling();e=this.getNextSibling();null!==d&&cc(d);null!==e&&cc(e);d=c.getWritable();e=this.getIndexWithinParent();g?(d.splice(e,0,h),this.remove()):d.splice(e,1,h);C(b)&&be(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||
|
||||
-r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;dc()===d&&H(c);let g=v();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ve(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ve(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
-function te(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
-function re(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let we=new WeakMap;
|
||||
-function qe(a){null===a.parentElement&&r(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=we.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)we.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(je()):"\t"===d?a.push(xe()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
-b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=ye(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=ye(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
-let ze=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function ye(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ze)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
-let Ae={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function se(a){let b=Ae[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return zc(new pe(a))}function B(a){return a instanceof pe}
|
||||
-class Be extends pe{static getType(){return"tab"}static clone(a){let b=new Be(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=xe();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){r(126)}setDetail(){r(127)}setMode(){r(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
-function xe(){return zc(new Be)}function Ce(a){return a instanceof Be}
|
||||
-class De{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
-ec()||(dc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function Ee(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function ee(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Ee(a,c):Ee(a,b)}else Ee(a,b)}
|
||||
-function Fe(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?fe().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Ge(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
-class Qe{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return de(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Re(this)}}
|
||||
-class Se{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Vd(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Se(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
-this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);ec()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Te}
|
||||
-function de(a){return a instanceof Qe}function Ue(a){let [b,,c]=Ve(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],p=m.__rowSpan||1,n=m.__colSpan||1;for(let l=0;l<p;l++)for(let q=0;q<n;q++)f[e+l][h+q]=m;if(b===m)return{colSpan:n,columnIndex:h,rowIndex:e,rowSpan:p};h+=n}}return null}
|
||||
-class We extends Qe{constructor(a,b,c){super(b,c);this.gridKey=a}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return Xe(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new We(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
-this.focus.getNode();Ib(b.select(0,b.getChildrenSize())).insertNodes(a)}getShape(){var a=I(this.anchor.key);S(a)||r(103);a=Ue(a);if(null===a)throw Error("getCellRect: expected to find AnchorNode");var b=I(this.focus.key);S(b)||r(104);let c=Ue(b);if(null===c)throw Error("getCellRect: expected to find focusCellNode");b=Math.min(a.columnIndex,c.columnIndex);let d=Math.max(a.columnIndex,c.columnIndex),e=Math.min(a.rowIndex,c.rowIndex);a=Math.max(a.rowIndex,c.rowIndex);return{fromX:Math.min(b,d),fromY:Math.min(e,
|
||||
-a),toX:Math.max(b,d),toY:Math.max(e,a)}}getNodes(){function a(y){let {cell:x,startColumn:A,startRow:aa}=y;k=Math.min(k,A);m=Math.min(m,aa);p=Math.max(p,A+x.__colSpan-1);n=Math.max(n,aa+x.__rowSpan-1)}var b=this._cachedNodes;if(null!==b)return b;var c=this.anchor.getNode();b=this.focus.getNode();var d=Dc(c,S);c=Dc(b,S);S(d)||r(103);S(c)||r(104);b=d.getParent();Ye(b)||r(105);b=b.getParent();Ze(b)||r(106);var e=c.getParents()[1];if(e!==b){if(b.isParentOf(c)){b=e.getParent();if(null==b)throw Error("Expected focusCellParent to have a parent");
|
||||
-this.set(this.gridKey,c.getKey(),b.getKey())}else{b=b.getParent();if(null==b)throw Error("Expected gridParent to have a parent");this.set(this.gridKey,b.getKey(),c.getKey())}return this.getNodes()}let [f,g,h]=$e(b,d,c),k=Math.min(g.startColumn,h.startColumn),m=Math.min(g.startRow,h.startRow),p=Math.max(g.startColumn+g.cell.__colSpan-1,h.startColumn+h.cell.__colSpan-1),n=Math.max(g.startRow+g.cell.__rowSpan-1,h.startRow+h.cell.__rowSpan-1);c=k;d=m;e=k;for(var l=m;k<c||m<d||p>e||n>l;){if(k<c){var q=
|
||||
-l-d;--c;for(var u=0;u<=q;u++)a(f[d+u][c])}if(m<d)for(q=e-c,--d,u=0;u<=q;u++)a(f[d][c+u]);if(p>e)for(q=l-d,e+=1,u=0;u<=q;u++)a(f[d+u][e]);if(n>l)for(q=e-c,l+=1,u=0;u<=q;u++)a(f[l][c+u])}b=[b];c=null;for(d=m;d<=n;d++)for(e=k;e<=p;e++)({cell:l}=f[d][e]),q=l.getParent(),Ye(q)||r(107),q!==c&&b.push(q),b.push(l,...Ec(l)),c=q;ec()||(this._cachedNodes=b);return b}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}
|
||||
-function Xe(a){return a instanceof We}
|
||||
-class Te extends Qe{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&
|
||||
-(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);ec()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Ge(this.anchor,a.__key,b,"text");Ge(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=
|
||||
-this.focus,f=d.isBefore(e),[g,h]=Re(this),k="",m=!0;for(let p=0;p<a.length;p++){let n=a[p];if(E(n)&&!n.isInline())m||(k+="\n"),m=n.isEmpty()?!1:!0;else if(m=!1,B(n)){let l=n.getTextContent();if(n===b)if(n===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else n===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!z(n)&&!Hc(n)||n===c&&this.isCollapsed()||(k+=n.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;
|
||||
-a=af(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;Ge(this.anchor,d.key,d.offset,d.type);Ge(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Te(new De(a.key,a.offset,a.type),new De(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Yb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&hb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);
|
||||
-let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===e||"\r\n"===e?b.push(je()):"\t"===e?b.push(xe()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Fe(b,c,e,f):d||"element"!==c.type||Fe(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||r(26);d=b.getTextContent().length;var p=b.getParentOrThrow(),n=g[h-1];if(this.isCollapsed()&&c===
|
||||
-d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!p.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Wb(l)||(l=K(),l.setFormat(e),p.canInsertTextAfter()?b.insertAfter(l):p.insertAfter(l));l.select(0,0);b=l;if(""!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!p.canInsertTextBefore()&&null===b.getPreviousSibling())){l=b.getPreviousSibling();if(!B(l)||Wb(l))l=
|
||||
-K(),l.setFormat(e),p.canInsertTextBefore()?b.insertBefore(l):p.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)p=K(b.getTextContent()),p.setFormat(e),b.replace(p),b=p;else if(!(this.isCollapsed()||""===a||(l=n.getParent(),p.canInsertTextBefore()&&p.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");bf(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),
|
||||
-b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Ce(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&
|
||||
+b.anchor,A=b.focus;x.key===d&&"text"===x.type&&x.offset>m&&x.offset<=q&&(x.key=y,x.offset-=m,b.dirty=!0);A.key===d&&"text"===A.type&&A.offset>m&&A.offset<=q&&(A.key=y,A.offset-=m,b.dirty=!0)}e===d&&H(y);m=q;h.push(l)}d=this.getPreviousSibling();e=this.getNextSibling();null!==d&&bc(d);null!==e&&bc(e);d=c.getWritable();e=this.getIndexWithinParent();g?(d.splice(e,0,h),this.remove()):d.splice(e,1,h);C(b)&&ae(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||
|
||||
+r(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;cc()===d&&H(c);let g=v();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ue(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ue(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
+function se(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
+function qe(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let ve=new WeakMap;
|
||||
+function pe(a){null===a.parentElement&&r(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=ve.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)ve.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(ie()):"\t"===d?a.push(we()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
+b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=xe(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=xe(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
+let ye=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function xe(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ye)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
+let ze={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function re(a){let b=ze[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return yc(new oe(a))}function B(a){return a instanceof oe}
|
||||
+class Ae extends oe{static getType(){return"tab"}static clone(a){let b=new Ae(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=we();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){r(126)}setDetail(){r(127)}setMode(){r(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
+function we(){return yc(new Ae)}function Be(a){return a instanceof Ae}
|
||||
+class Ce{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&r(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
+dc()||(cc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function De(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function de(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?De(a,c):De(a,b)}else De(a,b)}
|
||||
+function Ee(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?ee().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Fe(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
+class Ge{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return ce(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Qe(this)}}
|
||||
+class Re{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Ud(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Re(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
+this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);dc()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Se}
|
||||
+function ce(a){return a instanceof Ge}function Te(a){let [b,,c]=Ue(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],p=m.__rowSpan||1,n=m.__colSpan||1;for(let l=0;l<p;l++)for(let q=0;q<n;q++)f[e+l][h+q]=m;if(b===m)return{colSpan:n,columnIndex:h,rowIndex:e,rowSpan:p};h+=n}}return null}
|
||||
+class Ve extends Ge{constructor(a,b,c){super(b,c);this.gridKey=a}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return We(a)?this.gridKey===a.gridKey&&this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}set(a,b,c){this.dirty=!0;this.gridKey=a;this.anchor.key=b;this.focus.key=c;this._cachedNodes=null}clone(){return new Ve(this.gridKey,this.anchor,this.focus)}isCollapsed(){return!1}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
+this.focus.getNode();Hb(b.select(0,b.getChildrenSize())).insertNodes(a)}getShape(){var a=I(this.anchor.key);S(a)||r(103);a=Te(a);if(null===a)throw Error("getCellRect: expected to find AnchorNode");var b=I(this.focus.key);S(b)||r(104);let c=Te(b);if(null===c)throw Error("getCellRect: expected to find focusCellNode");b=Math.min(a.columnIndex,c.columnIndex);let d=Math.max(a.columnIndex,c.columnIndex),e=Math.min(a.rowIndex,c.rowIndex);a=Math.max(a.rowIndex,c.rowIndex);return{fromX:Math.min(b,d),fromY:Math.min(e,
|
||||
+a),toX:Math.max(b,d),toY:Math.max(e,a)}}getNodes(){function a(y){let {cell:x,startColumn:A,startRow:aa}=y;k=Math.min(k,A);m=Math.min(m,aa);p=Math.max(p,A+x.__colSpan-1);n=Math.max(n,aa+x.__rowSpan-1)}var b=this._cachedNodes;if(null!==b)return b;var c=this.anchor.getNode();b=this.focus.getNode();var d=Cc(c,S);c=Cc(b,S);S(d)||r(103);S(c)||r(104);b=d.getParent();Xe(b)||r(105);b=b.getParent();Ye(b)||r(106);var e=c.getParents()[1];if(e!==b){if(b.isParentOf(c)){b=e.getParent();if(null==b)throw Error("Expected focusCellParent to have a parent");
|
||||
+this.set(this.gridKey,c.getKey(),b.getKey())}else{b=b.getParent();if(null==b)throw Error("Expected gridParent to have a parent");this.set(this.gridKey,b.getKey(),c.getKey())}return this.getNodes()}let [f,g,h]=Ze(b,d,c),k=Math.min(g.startColumn,h.startColumn),m=Math.min(g.startRow,h.startRow),p=Math.max(g.startColumn+g.cell.__colSpan-1,h.startColumn+h.cell.__colSpan-1),n=Math.max(g.startRow+g.cell.__rowSpan-1,h.startRow+h.cell.__rowSpan-1);c=k;d=m;e=k;for(var l=m;k<c||m<d||p>e||n>l;){if(k<c){var q=
|
||||
+l-d;--c;for(var u=0;u<=q;u++)a(f[d+u][c])}if(m<d)for(q=e-c,--d,u=0;u<=q;u++)a(f[d][c+u]);if(p>e)for(q=l-d,e+=1,u=0;u<=q;u++)a(f[d+u][e]);if(n>l)for(q=e-c,l+=1,u=0;u<=q;u++)a(f[l][c+u])}b=[b];c=null;for(d=m;d<=n;d++)for(e=k;e<=p;e++)({cell:l}=f[d][e]),q=l.getParent(),Xe(q)||r(107),q!==c&&b.push(q),b.push(l,...Dc(l)),c=q;dc()||(this._cachedNodes=b);return b}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}
|
||||
+function We(a){return a instanceof Ve}
|
||||
+class Se extends Ge{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&
|
||||
+(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);dc()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Fe(this.anchor,a.__key,b,"text");Fe(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=
|
||||
+this.focus,f=d.isBefore(e),[g,h]=Qe(this),k="",m=!0;for(let p=0;p<a.length;p++){let n=a[p];if(E(n)&&!n.isInline())m||(k+="\n"),m=n.isEmpty()?!1:!0;else if(m=!1,B(n)){let l=n.getTextContent();if(n===b)if(n===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else n===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!z(n)&&!Gc(n)||n===c&&this.isCollapsed()||(k+=n.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;
|
||||
+a=$e(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;Fe(this.anchor,d.key,d.offset,d.type);Fe(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Se(new Ce(a.key,a.offset,a.type),new Ce(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Xb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&gb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);
|
||||
+let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===e||"\r\n"===e?b.push(ie()):"\t"===e?b.push(we()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Ee(b,c,e,f):d||"element"!==c.type||Ee(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||r(26);d=b.getTextContent().length;var p=b.getParentOrThrow(),n=g[h-1];if(this.isCollapsed()&&c===
|
||||
+d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!p.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Vb(l)||(l=K(),l.setFormat(e),p.canInsertTextAfter()?b.insertAfter(l):p.insertAfter(l));l.select(0,0);b=l;if(""!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!p.canInsertTextBefore()&&null===b.getPreviousSibling())){l=b.getPreviousSibling();if(!B(l)||Vb(l))l=
|
||||
+K(),l.setFormat(e),p.canInsertTextBefore()?b.insertBefore(l):p.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)p=K(b.getTextContent()),p.setFormat(e),b.replace(p),b=p;else if(!(this.isCollapsed()||""===a||(l=n.getParent(),p.canInsertTextBefore()&&p.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");af(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),
|
||||
+b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Be(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&
|
||||
(b.isComposing()?this.anchor.offset-=a.length:(this.format=g,this.style=h))}else{e=new Set([...b.getParentKeys(),...n.getParentKeys()]);l=E(b)?b:b.getParentOrThrow();f=E(n)?n:n.getParentOrThrow();p=n;if(!l.is(f)&&f.isInline()){do p=f,f=f.getParentOrThrow();while(f.isInline())}if("text"===k.type&&(0!==m||""===n.getTextContent())||"element"===k.type&&n.getIndexWithinParent()<m)if(B(n)&&!n.isToken()&&m!==n.getTextContentSize()){if(n.isSegmented()){var q=K(n.getTextContent());n.replace(q);n=q}L(k.getNode())||
|
||||
"text"!==k.type||(n=n.spliceText(0,m,""));e.add(n.__key)}else k=n.getParentOrThrow(),k.canBeEmpty()||1!==k.getChildrenSize()?n.remove():k.remove();else e.add(n.__key);k=f.getChildren();m=new Set(g);n=l.is(f);l=l.isInline()&&null===b.getNextSibling()?l:b;for(q=k.length-1;0<=q;q--){let u=k[q];if(u.is(b)||E(u)&&u.isParentOf(b))break;u.isAttached()&&(!m.has(u)||u.is(p)?n||l.insertAfter(u,!1):u.remove())}if(!n)for(k=f,f=null;null!==k;){m=k.getChildren();n=m.length;if(0===n||m[n-1].is(f))e.delete(k.__key),
|
||||
f=k;k=k.getParent()}b.isToken()?c===d?b.select():(a=K(a),a.select(),b.replace(a)):(b=b.spliceText(c,d-c,a,!0),""===b.getTextContent()?b.remove():b.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<h;a++)b=g[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText("")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),H(null);else{var b=this.getNodes(),c=[];for(var d of b)B(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),H(null);else{d=this.anchor;
|
||||
var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];f="element"===b.type?0:b.offset;"text"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,p=c[m];e="text"===d.type?d.offset:p.getTextContentSize();if(k.is(p))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),"text"===b.type&&b.set(a.__key,0,"text"),"text"===d.type&&d.set(a.__key,e-f,"text")),this.format=g);else{0!==f&&
|
||||
([,k]=k.splitText(f),f=0);k.setFormat(g);var n=p.getFormatFlags(a,g);0<e&&(e!==p.getTextContentSize()&&([p]=p.splitText(e)),p.setFormat(n));for(h+=1;h<m;h++){let l=c[h];if(!l.isToken()){let q=l.getFormatFlags(a,n);l.setFormat(q)}}"text"===b.type&&b.set(k.__key,f,"text");"text"===d.type&&d.set(p.__key,e,"text");this.format=g|n}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=v();if(!C(b))throw Error("Expected RangeSelection after insertParagraph");return b.insertNodes(a)}var c=
|
||||
-Ic(this.anchor.getNode(),Gc);b=a[a.length-1];if("__language"in c)if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=cf(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||z(g))&&!g.isInline())){b=df(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];(g=>E(g)&&Gc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)&&(c.append(...f.getChildren()),f=e[1]);f&&ge(c,f);e=Ic(a,Gc);
|
||||
-b&&E(e)&&("__value"in b&&"__checked"in b||Gc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Hc(a)&&e!==c&&a.remove()}else d=cf(this),c.splice(d,0,a),b.selectEnd()}}insertParagraph(){if("root"===this.anchor.key){var a=fe();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=cf(this);a=Ic(this.anchor.getNode(),Gc);b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),
|
||||
-a.selectStart(),a):null}insertLineBreak(a){var b=je();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Re(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));
|
||||
-B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=sc(d,b);if(z(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=ef(),b.add(g.__key),Ab(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),E(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),
|
||||
-d.set(c,g,"element"),f&&e.set(c,g,"element")));else if(e=F(),d=xb(e._window)){var h=e._blockCursorElement,k=e._rootElement;null===k||null===h||!E(g)||g.isInline()||g.canBeEmpty()||Cc(h,e,k);d.modify(a,b?"backward":"forward",c);if(0<d.rangeCount&&(g=d.getRangeAt(0),e=this.anchor.getNode(),e=L(e)?e:wc(e),this.applyDOMRange(g),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(h=0;h<f.length;h++)k=f[h],vc(k,e)?a.push(k):c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):
|
||||
-(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Ge(f,b.key,b.offset,b.type),Ge(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();
|
||||
-f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=sc(d,a);if(z(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=ef(),a.add(f.__key),Ab(a)):(f.remove(),F().dispatchCommand(ba,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=
|
||||
-d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){ff(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){ff(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),jc(c)||(a?f.offset=g:e.offset=g))}}else if(a&&0===c.offset&&("element"===c.type?c.getNode():c.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText();
|
||||
+Hc(this.anchor.getNode(),Fc);b=a[a.length-1];if("__language"in c)if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=bf(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||z(g))&&!g.isInline())){b=cf(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];(g=>E(g)&&Fc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)&&(c.append(...f.getChildren()),f=e[1]);f&&fe(c,f);e=Hc(a,Fc);
|
||||
+b&&E(e)&&("__value"in b&&"__checked"in b||Fc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Gc(a)&&e!==c&&a.remove()}else d=bf(this),c.splice(d,0,a),b.selectEnd()}}insertParagraph(){if("root"===this.anchor.key){var a=ee();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=bf(this);a=Hc(this.anchor.getNode(),Fc);b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),
|
||||
+a.selectStart(),a):null}insertLineBreak(a){var b=ie();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Qe(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));
|
||||
+B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=rc(d,b);if(z(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=df(),b.add(g.__key),zb(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),E(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),
|
||||
+d.set(c,g,"element"),f&&e.set(c,g,"element")));else if(e=F(),d=wb(e._window)){var h=e._blockCursorElement,k=e._rootElement;null===k||null===h||!E(g)||g.isInline()||g.canBeEmpty()||Bc(h,e,k);d.modify(a,b?"backward":"forward",c);if(0<d.rangeCount&&(g=d.getRangeAt(0),e=this.anchor.getNode(),e=L(e)?e:vc(e),this.applyDOMRange(g),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(h=0;h<f.length;h++)k=f[h],uc(k,e)?a.push(k):c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):
|
||||
+(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Fe(f,b.key,b.offset,b.type),Fe(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();
|
||||
+f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=rc(d,a);if(z(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=df(),a.add(f.__key),zb(a)):(f.remove(),F().dispatchCommand(ba,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=
|
||||
+d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){ef(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){ef(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),ic(c)||(a?f.offset=g:e.offset=g))}}else if(a&&0===c.offset&&("element"===c.type?c.getNode():c.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText();
|
||||
a&&!b&&this.isCollapsed()&&"element"===this.anchor.type&&0===this.anchor.offset&&(a=this.anchor.getNode(),a.isEmpty()&&L(a.getParent())&&0===a.getIndexWithinParent()&&a.collapseAtStart(this))}deleteLine(a){this.isCollapsed()&&("text"===this.anchor.type&&this.modify("extend",a,"lineboundary"),0===(a?this.focus:this.anchor).offset&&this.modify("extend",a,"character"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify("extend",a,"word");this.removeText()}}
|
||||
-function Vd(a){return a instanceof Se}function gf(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Re(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[gf(b),gf(a)]}
|
||||
-function ff(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
-function hf(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=ic(k);if(B(d))e=h?d.getTextContentSize():0;else{f=ic(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
-B(a)?(d=a,f=null,e=h?a.getTextContentSize():0):a!==f&&h&&!g&&e++}else e=f.getIndexWithinParent(),e=0===b&&z(f)&&ic(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return new De(f.__key,e,"element")}}else d=ic(a);return B(d)?new De(d.__key,e,"text"):null}
|
||||
-function jf(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
-b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function bf(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);jf(a,d,e);jf(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Ge(a,d.key,d.offset,d.type),Ge(b,c.key,c.offset,c.type))}}
|
||||
-function af(a,b,c,d,e,f){if(null===a||null===c||!Nb(e,a,c))return null;b=hf(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=hf(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),z(a)&&z(c)))return null;bf(b,d,f);return[b,d]}function ue(a,b,c,d,e,f){let g=ac();a=new Te(new De(a,b,e),new De(c,d,f),0,"");a.dirty=!0;return g._selection=a}function ef(){return new Se(new Set)}
|
||||
-function kf(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Rd(b,c,a):b.clone()}
|
||||
-function Rd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d="selectionchange"===f;e=!qb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Nb(c,e,f))return a.clone()}else return a.clone();c=af(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Te(h,k,C(a)?a.format:0,C(a)?
|
||||
-a.style:"")}function v(){return ac()._selection}function nc(){return F()._editorState._selection}
|
||||
-function be(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),lf(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}lf(a)}}
|
||||
-function lf(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
-1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function mf(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
-function ae(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ve(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
-function $e(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let p=0;p<a.length;p++){var g=a[p];Ye(g)||r(108);var h=g.getChildren();g=0;for(let n of h){for(S(n)||r(109);void 0!==d[p]&&void 0!==d[p][g];)g++;h=p;var k=g,m=n;let l={cell:m,startColumn:k,startRow:h},q=m.__rowSpan,u=m.__colSpan;for(let y=0;y<q;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let x=0;x<u;x++)d[h+y][k+x]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=n.__colSpan}}null===e&&r(110);null===f&&r(111);return[d,e,f]}
|
||||
-function Ve(a){a instanceof nf||(a instanceof ce?(a=Dc(a,S),S(a)||r(114)):(a=Dc(a.getNode(),S),S(a)||r(114)));let b=a.getParent();Ye(b)||r(115);let c=b.getParent();Ze(c)||r(116);return[a,b,c]}
|
||||
-function cf(a){a.isCollapsed()||a.removeText();var b=a.anchor,c=b.getNode();if(!B(c))return b.offset;let d=c.getParent();if(!d)return a=fe(),J().append(a),a.select(),0;c=c.splitText(b.offset);if(0===c.length)return 0;b=0===b.offset?0:1;c=c[0].getIndexWithinParent()+b;if(!d.isInline()||0===c)return c;(c=d.getChildAtIndex(c))&&d.insertNewAfter(a).append(c,...c.getNextSiblings());return d.getIndexWithinParent()+b}
|
||||
-function df(a){let b=fe(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Hc(e);if(f||z(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,W=!1,of=!1,$b=0,pf={characterData:!0,childList:!0,subtree:!0};function ec(){return W||null!==T&&T._readOnly}function G(){W&&r(13)}function ac(){null===T&&r(15);return T}
|
||||
-function F(){null===U&&r(16);return U}function qf(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function rf(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Hb(b)}
|
||||
-function sf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=dc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let p of g)g=a.get(p),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&qf(b,g,f),c.add(p);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let p of k)if(k=p[0],m=p[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
-g&&void 0!==g&&g.__key!==e&&g.isAttached()&&qf(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;$b++}b._dirtyLeaves=c;b._dirtyElements=d}function tf(a,b){var c=a.type,d=b.get(c);void 0===d&&r(17,c);c=d.klass;a.type!==c.getType()&&r(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=tf(a[d],b);c.append(e)}return c}function uf(a,b){let c=T,d=W,e=U;T=a;W=!0;U=null;try{return b()}finally{T=c,W=d,U=e}}
|
||||
-function vf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,p=W,n=U,l=a._updating,q=a._observer,u=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==q){U=a;T=c;W=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;q.disconnect();var y=D,x=P,A=Q;N=Lc=M="";Oc=2===y;Rc=null;O=a;Mc=a._config;Nc=a._nodes;Qc=O._listeners.mutation;Sc=x;Tc=A;Uc=f._nodeMap;
|
||||
-Vc=c._nodeMap;Pc=c._readOnly;Wc=new Map(a._keyToDOMMap);let ia=new Map;Xc=ia;td("root",null);Xc=Wc=Mc=Vc=Uc=Tc=Sc=Nc=O=void 0;u=ia}catch(D){D instanceof Error&&a._onError(D);if(of)throw D;wf(a,null,d,c);Db(a);a._dirtyType=2;of=!0;vf(a,f);of=!1;return}finally{q.observe(d,pf),a._updating=l,T=m,W=p,U=n}}c._readOnly||(c._readOnly=!0);var aa=a._dirtyLeaves,da=a._dirtyElements,Va=a._normalizedNodes,ka=a._updateTags,$c=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
-new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var He=a._decorators,Pb=a._pendingDecorators||He,Kf=c._nodeMap,ad;for(ad in Pb)Kf.has(ad)||(Pb===He&&(Pb=fc(a)),delete Pb[ad]);var ja=e?null:xb(a._window);if(a._editable&&null!==ja&&(k||null===h||h.dirty)){U=a;T=c;try{null!==q&&q.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Cc(D,a,d);a:{let P=ja.anchorNode,Q=ja.focusNode,ia=ja.anchorOffset,mb=ja.focusOffset,X=document.activeElement;if(!(ka.has("collaboration")&&
|
||||
-X!==d||null!==X&&Mb(X)))if(C(h)){var nb=h.anchor,bd=h.focus,Ie=nb.key,Lf=bd.key,Je=uc(a,Ie),Ke=uc(a,Lf),Qb=nb.offset,Le=bd.offset,cd=h.format,dd=h.style,Me=h.isCollapsed(),ob=Je,Rb=Ke,ed=!1;if("text"===nb.type){ob=Xb(Je);let Y=nb.getNode();ed=Y.getFormat()!==cd||Y.getStyle()!==dd}else C(g)&&"text"===g.anchor.type&&(ed=!0);"text"===bd.type&&(Rb=Xb(Ke));if(null!==ob&&null!==Rb){if(Me&&(null===g||ed||C(g)&&(g.format!==cd||g.style!==dd))){var Mf=performance.now();Nd=[cd,dd,Qb,Ie,Mf]}if(ia===Qb&&mb===
|
||||
-Le&&P===ob&&Q===Rb&&("Range"!==ja.type||!Me)&&(null!==X&&d.contains(X)||d.focus({preventScroll:!0}),"element"!==nb.type))break a;try{ja.setBaseAndExtent(ob,Qb,Rb,Le)}catch(Y){}if(!ka.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let Y=h instanceof Te&&"element"===h.anchor.type?ob.childNodes[Qb]||null:0<ja.rangeCount?ja.getRangeAt(0):null;if(null!==Y){let Z;if(Y instanceof Text){let V=document.createRange();V.selectNode(Y);Z=V.getBoundingClientRect()}else Z=Y.getBoundingClientRect();
|
||||
-let ya=d.ownerDocument,Ea=ya.defaultView;if(null!==Ea)for(var {top:fd,bottom:gd}=Z,Sb,Tb,oa=d;null!==oa;){let V=oa===ya.body;if(V)Sb=0,Tb=Eb(a).innerHeight;else{let Ub=oa.getBoundingClientRect();Sb=Ub.top;Tb=Ub.bottom}let Fa=0;fd<Sb?Fa=-(Sb-fd):gd>Tb&&(Fa=gd-Tb);if(0!==Fa)if(V)Ea.scrollBy(0,Fa);else{let Ub=oa.scrollTop;oa.scrollTop+=Fa;let Ne=oa.scrollTop-Ub;fd-=Ne;gd-=Ne}if(V)break;oa=Vb(oa)}}}Jd=!0}}else null!==g&&Nb(a,P,Q)&&ja.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
-"element"===h.anchor.type&&d.contains(document.activeElement)){let P=h.anchor,Q=P.getNode(),ia=P.offset,mb=Q.getChildrenSize(),X=!1,Y=null;if(ia===mb){let Z=Q.getChildAtIndex(ia-1);Bc(Z)&&(X=!0)}else{let Z=Q.getChildAtIndex(ia);if(Bc(Z)){let ya=Z.getPreviousSibling();if(null===ya||Bc(ya))X=!0,Y=a.getElementByKey(Z.__key)}}if(X){let Z=a.getElementByKey(Q.__key);if(null===D){let ya=a._config.theme,Ea=document.createElement("div");Ea.contentEditable="false";Ea.setAttribute("data-lexical-cursor","true");
|
||||
-let V=ya.blockCursor;if(void 0!==V){if("string"===typeof V){let Fa=V.split(" ");V=ya.blockCursor=Fa}void 0!==V&&Ea.classList.add(...V)}a._blockCursorElement=D=Ea}d.style.caretColor="transparent";null===Y?Z.appendChild(D):Z.insertBefore(D,Y);break a}}null!==D&&Cc(D,a,d)}null!==q&&q.observe(d,pf)}finally{U=n,T=m}}if(null!==u){var Nf=u;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [ia,mb]=D[Q],X=Nf.get(mb);void 0!==X&&ia(X,{dirtyLeaves:aa,prevEditorState:f,updateTags:ka})}}C(h)||
|
||||
-null===h||null!==g&&g.is(h)||a.dispatchCommand(ba,void 0);var hd=a._pendingDecorators;null!==hd&&(a._decorators=hd,a._pendingDecorators=null,xf("decorator",a,!0,hd));var Of=gc(b||f),Oe=gc(c);Of!==Oe&&xf("textcontent",a,!0,Oe);xf("update",a,!0,{dirtyElements:da,dirtyLeaves:aa,editorState:c,normalizedNodes:Va,prevEditorState:b||f,tags:ka});a._deferred=[];if(0!==$c.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<$c.length;P++)$c[P]()}finally{a._updating=D}}var Pe=a._updates;if(0!==Pe.length){let D=
|
||||
-Pe.shift();if(D){let [P,Q]=D;yf(a,P,Q)}}}}function xf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
-function R(a,b,c){if(!1===a._updating||U!==a){let f=!1;a.update(()=>{f=R(a,b,c)});return f}let d=kc(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}
|
||||
-function zf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
-function yf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new Af(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=W,m=U,p=a._updating;T=g;W=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=kf(a));let n=a._compositionKey;
|
||||
-b();e=zf(a,e);mf(g,a);0!==a._dirtyType&&(e?rf(g,a):sf(g,a),zf(a),Kc(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let q=g._nodeMap,u=l.focus.key;void 0!==q.get(l.anchor.key)&&void 0!==q.get(u)||r(19)}else Vd(l)&&0===l._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();vf(a);return}finally{T=f,W=k,U=m,
|
||||
-a._updating=p,$b=0}0!==a._dirtyType||Bf(g,a)?g._flushSync?(g._flushSync=!1,vf(a)):h&&Lb(()=>{vf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function w(a,b,c){a._updating?a._updates.push([b,c]):yf(a,b,c)}class Cf extends ce{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function z(a){return a instanceof Cf}
|
||||
-class Df extends ce{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return kb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
+function Ud(a){return a instanceof Re}function ff(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Qe(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[ff(b),ff(a)]}
|
||||
+function ef(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
+function gf(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=hc(k);if(B(d))e=h?d.getTextContentSize():0;else{f=hc(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
+B(a)?(d=a,f=null,e=h?a.getTextContentSize():0):a!==f&&h&&!g&&e++}else e=f.getIndexWithinParent(),e=0===b&&z(f)&&hc(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return new Ce(f.__key,e,"element")}}else d=hc(a);return B(d)?new Ce(d.__key,e,"text"):null}
|
||||
+function hf(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
+b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function af(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);hf(a,d,e);hf(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Fe(a,d.key,d.offset,d.type),Fe(b,c.key,c.offset,c.type))}}
|
||||
+function $e(a,b,c,d,e,f){if(null===a||null===c||!Mb(e,a,c))return null;b=gf(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=gf(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=hc(a),c=hc(c),z(a)&&z(c)))return null;af(b,d,f);return[b,d]}function te(a,b,c,d,e,f){let g=$b();a=new Se(new Ce(a,b,e),new Ce(c,d,f),0,"");a.dirty=!0;return g._selection=a}function df(){return new Re(new Set)}
|
||||
+function jf(a){let b=a.getEditorState()._selection,c=wb(a._window);return C(b)||null==b?Qd(b,c,a):b.clone()}
|
||||
+function Qd(a,b,c){var d=c._window;if(null===d)return null;var e=d.event,f=e?e.type:void 0;d="selectionchange"===f;e=!pb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Mb(c,e,f))return a.clone()}else return a.clone();c=$e(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Se(h,k,C(a)?a.format:0,C(a)?
|
||||
+a.style:"")}function v(){return $b()._selection}function mc(){return F()._editorState._selection}
|
||||
+function ae(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),kf(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}kf(a)}}
|
||||
+function kf(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
+1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function lf(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
+function $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ue(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
+function Ze(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let p=0;p<a.length;p++){var g=a[p];Xe(g)||r(108);var h=g.getChildren();g=0;for(let n of h){for(S(n)||r(109);void 0!==d[p]&&void 0!==d[p][g];)g++;h=p;var k=g,m=n;let l={cell:m,startColumn:k,startRow:h},q=m.__rowSpan,u=m.__colSpan;for(let y=0;y<q;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let x=0;x<u;x++)d[h+y][k+x]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=n.__colSpan}}null===e&&r(110);null===f&&r(111);return[d,e,f]}
|
||||
+function Ue(a){a instanceof mf||(a instanceof be?(a=Cc(a,S),S(a)||r(114)):(a=Cc(a.getNode(),S),S(a)||r(114)));let b=a.getParent();Xe(b)||r(115);let c=b.getParent();Ye(c)||r(116);return[a,b,c]}
|
||||
+function bf(a){a.isCollapsed()||a.removeText();var b=a.anchor,c=b.getNode();if(!B(c))return b.offset;let d=c.getParent();if(!d)return a=ee(),J().append(a),a.select(),0;c=c.splitText(b.offset);if(0===c.length)return 0;b=0===b.offset?0:1;c=c[0].getIndexWithinParent()+b;if(!d.isInline()||0===c)return c;(c=d.getChildAtIndex(c))&&d.insertNewAfter(a).append(c,...c.getNextSiblings());return d.getIndexWithinParent()+b}
|
||||
+function cf(a){let b=ee(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Gc(e);if(f||z(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,W=!1,nf=!1,Zb=0,of={characterData:!0,childList:!0,subtree:!0};function dc(){return W||null!==T&&T._readOnly}function G(){W&&r(13)}function $b(){null===T&&r(15);return T}
|
||||
+function F(){null===U&&r(16);return U}function pf(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&r(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function qf(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Gb(b)}
|
||||
+function rf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=cc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let p of g)g=a.get(p),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Gb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&pf(b,g,f),c.add(p);g=b._dirtyLeaves;h=g.size;if(0<h){Zb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let p of k)if(k=p[0],m=p[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
+g&&void 0!==g&&g.__key!==e&&g.isAttached()&&pf(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;Zb++}b._dirtyLeaves=c;b._dirtyElements=d}function sf(a,b){var c=a.type,d=b.get(c);void 0===d&&r(17,c);c=d.klass;a.type!==c.getType()&&r(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=sf(a[d],b);c.append(e)}return c}function tf(a,b){let c=T,d=W,e=U;T=a;W=!0;U=null;try{return b()}finally{T=c,W=d,U=e}}
|
||||
+function uf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,p=W,n=U,l=a._updating,q=a._observer,u=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==q){U=a;T=c;W=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;q.disconnect();var y=D,x=P,A=Q;N=Kc=M="";Nc=2===y;Qc=null;O=a;Lc=a._config;Mc=a._nodes;Pc=O._listeners.mutation;Rc=x;Sc=A;Tc=f._nodeMap;
|
||||
+Uc=c._nodeMap;Oc=c._readOnly;Vc=new Map(a._keyToDOMMap);let ia=new Map;Wc=ia;sd("root",null);Wc=Vc=Lc=Uc=Tc=Sc=Rc=Mc=O=void 0;u=ia}catch(D){D instanceof Error&&a._onError(D);if(nf)throw D;vf(a,null,d,c);Cb(a);a._dirtyType=2;nf=!0;uf(a,f);nf=!1;return}finally{q.observe(d,of),a._updating=l,T=m,W=p,U=n}}c._readOnly||(c._readOnly=!0);var aa=a._dirtyLeaves,da=a._dirtyElements,Va=a._normalizedNodes,ka=a._updateTags,$c=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
+new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var He=a._decorators,Pb=a._pendingDecorators||He,Jf=c._nodeMap,ad;for(ad in Pb)Jf.has(ad)||(Pb===He&&(Pb=ec(a)),delete Pb[ad]);var ja=e?null:wb(a._window);if(a._editable&&null!==ja&&(k||null===h||h.dirty)){U=a;T=c;try{null!==q&&q.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Bc(D,a,d);a:{let P=ja.anchorNode,Q=ja.focusNode,ia=ja.anchorOffset,mb=ja.focusOffset,X=document.activeElement;if(!(ka.has("collaboration")&&
|
||||
+X!==d||null!==X&&Lb(X)))if(C(h)){var nb=h.anchor,bd=h.focus,Ie=nb.key,Kf=bd.key,Je=tc(a,Ie),Ke=tc(a,Kf),Qb=nb.offset,Le=bd.offset,cd=h.format,dd=h.style,Me=h.isCollapsed(),ob=Je,Rb=Ke,ed=!1;if("text"===nb.type){ob=Wb(Je);let Y=nb.getNode();ed=Y.getFormat()!==cd||Y.getStyle()!==dd}else C(g)&&"text"===g.anchor.type&&(ed=!0);"text"===bd.type&&(Rb=Wb(Ke));if(null!==ob&&null!==Rb){if(Me&&(null===g||ed||C(g)&&(g.format!==cd||g.style!==dd))){var Lf=performance.now();Md=[cd,dd,Qb,Ie,Lf]}if(ia===Qb&&mb===
|
||||
+Le&&P===ob&&Q===Rb&&("Range"!==ja.type||!Me)&&(null!==X&&d.contains(X)||d.focus({preventScroll:!0}),"element"!==nb.type))break a;try{ja.setBaseAndExtent(ob,Qb,Rb,Le)}catch(Y){}if(!ka.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let Y=h instanceof Se&&"element"===h.anchor.type?ob.childNodes[Qb]||null:0<ja.rangeCount?ja.getRangeAt(0):null;if(null!==Y){let Z;if(Y instanceof Text){let V=document.createRange();V.selectNode(Y);Z=V.getBoundingClientRect()}else Z=Y.getBoundingClientRect();
|
||||
+let ya=d.ownerDocument,Ea=ya.defaultView;if(null!==Ea)for(var {top:fd,bottom:gd}=Z,Sb,Tb,oa=d;null!==oa;){let V=oa===ya.body;if(V)Sb=0,Tb=Db(a).innerHeight;else{let Ub=oa.getBoundingClientRect();Sb=Ub.top;Tb=Ub.bottom}let Fa=0;fd<Sb?Fa=-(Sb-fd):gd>Tb&&(Fa=gd-Tb);if(0!==Fa)if(V)Ea.scrollBy(0,Fa);else{let Ub=oa.scrollTop;oa.scrollTop+=Fa;let Ne=oa.scrollTop-Ub;fd-=Ne;gd-=Ne}if(V)break;oa=Ob(oa)}}}Id=!0}}else null!==g&&Mb(a,P,Q)&&ja.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
+"element"===h.anchor.type&&d.contains(document.activeElement)){let P=h.anchor,Q=P.getNode(),ia=P.offset,mb=Q.getChildrenSize(),X=!1,Y=null;if(ia===mb){let Z=Q.getChildAtIndex(ia-1);Ac(Z)&&(X=!0)}else{let Z=Q.getChildAtIndex(ia);if(Ac(Z)){let ya=Z.getPreviousSibling();if(null===ya||Ac(ya))X=!0,Y=a.getElementByKey(Z.__key)}}if(X){let Z=a.getElementByKey(Q.__key);if(null===D){let ya=a._config.theme,Ea=document.createElement("div");Ea.contentEditable="false";Ea.setAttribute("data-lexical-cursor","true");
|
||||
+let V=ya.blockCursor;if(void 0!==V){if("string"===typeof V){let Fa=V.split(" ");V=ya.blockCursor=Fa}void 0!==V&&Ea.classList.add(...V)}a._blockCursorElement=D=Ea}d.style.caretColor="transparent";null===Y?Z.appendChild(D):Z.insertBefore(D,Y);break a}}null!==D&&Bc(D,a,d)}null!==q&&q.observe(d,of)}finally{U=n,T=m}}if(null!==u){var Mf=u;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [ia,mb]=D[Q],X=Mf.get(mb);void 0!==X&&ia(X,{dirtyLeaves:aa,prevEditorState:f,updateTags:ka})}}C(h)||
|
||||
+null===h||null!==g&&g.is(h)||a.dispatchCommand(ba,void 0);var hd=a._pendingDecorators;null!==hd&&(a._decorators=hd,a._pendingDecorators=null,wf("decorator",a,!0,hd));var Nf=fc(b||f),Oe=fc(c);Nf!==Oe&&wf("textcontent",a,!0,Oe);wf("update",a,!0,{dirtyElements:da,dirtyLeaves:aa,editorState:c,normalizedNodes:Va,prevEditorState:b||f,tags:ka});a._deferred=[];if(0!==$c.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<$c.length;P++)$c[P]()}finally{a._updating=D}}var Pe=a._updates;if(0!==Pe.length){let D=
|
||||
+Pe.shift();if(D){let [P,Q]=D;xf(a,P,Q)}}}}function wf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
+function R(a,b,c){if(!1===a._updating||U!==a){let f=!1;a.update(()=>{f=R(a,b,c)});return f}let d=jc(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}
|
||||
+function yf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
+function xf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new zf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=W,m=U,p=a._updating;T=g;W=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=jf(a));let n=a._compositionKey;
|
||||
+b();e=yf(a,e);lf(g,a);0!==a._dirtyType&&(e?qf(g,a):rf(g,a),yf(a),Jc(c,g,a._dirtyLeaves,a._dirtyElements));n!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let q=g._nodeMap,u=l.focus.key;void 0!==q.get(l.anchor.key)&&void 0!==q.get(u)||r(19)}else Ud(l)&&0===l._nodes.size&&(g._selection=null)}catch(n){n instanceof Error&&a._onError(n);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();uf(a);return}finally{T=f,W=k,U=m,
|
||||
+a._updating=p,Zb=0}0!==a._dirtyType||Af(g,a)?g._flushSync?(g._flushSync=!1,uf(a)):h&&Kb(()=>{uf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function w(a,b,c){a._updating?a._updates.push([b,c]):xf(a,b,c)}class Bf extends be{constructor(a){super(a)}decorate(){r(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function z(a){return a instanceof Bf}
|
||||
+class Cf extends be{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return jb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
this.getChildrenSize()}isDirty(){let a=F()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest(),b=this.getParentOrThrow().getLastChild();return null!==b&&b.is(a)}getAllTextNodes(){let a=[],b=this.getFirstChild();for(;null!==b;){B(b)&&a.push(b);if(E(b)){let c=b.getAllTextNodes();a.push(...c)}b=b.getNextSibling()}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(E(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=
|
||||
this.getLastChild();for(;null!==a;){if(E(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],E(a)&&a.getLastDescendant()||a||null;a=b[a];return E(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__first;return null===a?null:I(a)}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&r(45,this.__key);return a}getLastChild(){let a=this.getLatest().__last;return null===
|
||||
a?null:I(a)}getLastChildOrThrow(){let a=this.getLastChild();null===a&&r(96,this.__key);return a}getChildAtIndex(a){var b=this.getChildrenSize();let c;if(a<b/2){c=this.getFirstChild();for(b=0;null!==c&&b<=a;){if(b===a)return c;c=c.getNextSibling();b++}return null}c=this.getLastChild();for(--b;null!==c&&b>=a;){if(b===a)return c;c=c.getPreviousSibling();b--}return null}getTextContent(){let a="",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();E(e)&&d!==c-1&&!e.isInline()&&
|
||||
-(a+="\n\n")}return a}getTextContentSize(){let a=0,b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContentSize();E(e)&&d!==c-1&&!e.isInline()&&(a+=2)}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return""!==a?(a=jb[a],0!==(this.getFormat()&a)):!1}select(a,b){G();let c=v(),d=a,e=b;var f=this.getChildrenSize();if(!this.canBeEmpty())if(0===a&&0===b){if(a=this.getFirstChild(),B(a)||E(a))return a.select(0,0)}else if(!(void 0!==a&&a!==f||void 0!==b&&b!==f)&&
|
||||
-(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return ue(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
-0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=""!==a?jb[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=c.length,e=this.getChildrenSize(),f=this.getWritable(),g=f.__key;var h=[],k=[];let m=this.getChildAtIndex(a+b),p=null,n=e-b+d;if(0!==a)if(a===e)p=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(p=l.getPreviousSibling())}if(0<b){var q=null===p?this.getFirstChild():p.getNextSibling();
|
||||
-for(l=0;l<b;l++){null===q&&r(100);var u=q.getNextSibling(),y=q.__key;q=q.getWritable();bc(q);k.push(y);q=u}}l=p;for(u=0;u<d;u++){y=c[u];null!==l&&y.is(l)&&(p=l=l.getPreviousSibling());q=y.getWritable();q.__parent===g&&n--;bc(q);let x=y.__key;null===l?(f.__first=x,q.__prev=null):(l=l.getWritable(),l.__next=x,q.__prev=l.__key);y.__key===g&&r(76);q.__parent=g;h.push(x);l=y}a+b===e?null!==l&&(l.getWritable().__next=null,f.__last=l.__key):null!==m&&(a=m.getWritable(),null!==l?(b=l.getWritable(),a.__prev=
|
||||
-l.__key,b.__next=m.__key):a.__prev=null);f.__size=n;if(k.length&&(a=v(),C(a))){k=new Set(k);h=new Set(h);let {anchor:x,focus:A}=a;Ef(x,k,h)&&ae(x,x.getNode(),this,p,m);Ef(A,k,h)&&ae(A,A.getNode(),this,p,m);0!==n||this.canBeEmpty()||xc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
-function E(a){return a instanceof Df}function Ef(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
-class Ff extends Df{static getType(){return"root"}static clone(){return new Ff}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||z(c)||r(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
-b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Ff}function Bf(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Gf(){return new Af(new Map([["root",new Ff]]))}
|
||||
-function Hf(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&r(130,c.name);let d=b.children;if(E(a))for(Array.isArray(d)||r(59,c.name),a=a.getChildren(),c=0;c<a.length;c++){let e=Hf(a[c]);d.push(e)}return b}
|
||||
-class Af{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return uf(this,a)}clone(a){a=new Af(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return uf(this,()=>({root:Hf(J())}))}}
|
||||
-class If extends Df{static getType(){return"paragraph"}static clone(a){return new If(a.__key)}createDOM(a){let b=document.createElement("p");a=pc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Jf,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Fc(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
-0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=fe();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:"paragraph",version:1}}insertNewAfter(a,b){a=fe();let c=this.getDirection();a.setDirection(c);this.insertAfter(a,b);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||B(a[0])&&""===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),
|
||||
-this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Jf(a){let b=fe();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function fe(){return zc(new If)}
|
||||
-function wf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Gf();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
-function Pf(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
-class Qf{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
-new Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=lc();this._onError=e;this._htmlConversions=f;this._editable=g;this._headless=null!==b&&b._headless;this._blockCursorElement=this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=
|
||||
+(a+="\n\n")}return a}getTextContentSize(){let a=0,b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContentSize();E(e)&&d!==c-1&&!e.isInline()&&(a+=2)}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return""!==a?(a=ib[a],0!==(this.getFormat()&a)):!1}select(a,b){G();let c=v(),d=a,e=b;var f=this.getChildrenSize();if(!this.canBeEmpty())if(0===a&&0===b){if(a=this.getFirstChild(),B(a)||E(a))return a.select(0,0)}else if(!(void 0!==a&&a!==f||void 0!==b&&b!==f)&&
|
||||
+(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return te(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
+0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=""!==a?ib[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=c.length,e=this.getChildrenSize(),f=this.getWritable(),g=f.__key;var h=[],k=[];let m=this.getChildAtIndex(a+b),p=null,n=e-b+d;if(0!==a)if(a===e)p=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(p=l.getPreviousSibling())}if(0<b){var q=null===p?this.getFirstChild():p.getNextSibling();
|
||||
+for(l=0;l<b;l++){null===q&&r(100);var u=q.getNextSibling(),y=q.__key;q=q.getWritable();ac(q);k.push(y);q=u}}l=p;for(u=0;u<d;u++){y=c[u];null!==l&&y.is(l)&&(p=l=l.getPreviousSibling());q=y.getWritable();q.__parent===g&&n--;ac(q);let x=y.__key;null===l?(f.__first=x,q.__prev=null):(l=l.getWritable(),l.__next=x,q.__prev=l.__key);y.__key===g&&r(76);q.__parent=g;h.push(x);l=y}a+b===e?null!==l&&(l.getWritable().__next=null,f.__last=l.__key):null!==m&&(a=m.getWritable(),null!==l?(b=l.getWritable(),a.__prev=
|
||||
+l.__key,b.__next=m.__key):a.__prev=null);f.__size=n;if(k.length&&(a=v(),C(a))){k=new Set(k);h=new Set(h);let {anchor:x,focus:A}=a;Df(x,k,h)&&$d(x,x.getNode(),this,p,m);Df(A,k,h)&&$d(A,A.getNode(),this,p,m);0!==n||this.canBeEmpty()||wc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
+function E(a){return a instanceof Cf}function Df(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
+class Ef extends Cf{static getType(){return"root"}static clone(){return new Ef}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){r(51)}getTextContent(){let a=this.__cachedText;return!dc()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){r(52)}replace(){r(53)}insertBefore(){r(54)}insertAfter(){r(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||z(c)||r(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
+b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Ef}function Af(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Ff(){return new zf(new Map([["root",new Ef]]))}
|
||||
+function Gf(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&r(130,c.name);let d=b.children;if(E(a))for(Array.isArray(d)||r(59,c.name),a=a.getChildren(),c=0;c<a.length;c++){let e=Gf(a[c]);d.push(e)}return b}
|
||||
+class zf{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return tf(this,a)}clone(a){a=new zf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return tf(this,()=>({root:Gf(J())}))}}
|
||||
+class Hf extends Cf{static getType(){return"paragraph"}static clone(a){return new Hf(a.__key)}createDOM(a){let b=document.createElement("p");a=oc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:If,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Ec(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
+0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=ee();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:"paragraph",version:1}}insertNewAfter(a,b){a=ee();let c=this.getDirection();a.setDirection(c);this.insertAfter(a,b);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||B(a[0])&&""===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),
|
||||
+this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function If(a){let b=ee();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ee(){return yc(new Hf)}
|
||||
+function vf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Ff();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
+function Of(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
+class Pf{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
+new Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=kc();this._onError=e;this._htmlConversions=f;this._editable=g;this._headless=null!==b&&b._headless;this._blockCursorElement=this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=
|
||||
this._listeners.decorator;b.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&r(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&r(36,String(a));let f=e[c];f.add(b);return()=>{f.delete(b);
|
||||
-e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,b){void 0===this._nodes.get(a.getType())&&r(37,a.name);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransformToKlass(a,b){var c=a.getType();c=this._nodes.get(c);void 0===c&&r(37,a.name);c.transforms.add(b);return c}registerNodeTransform(a,b){var c=this.registerNodeTransformToKlass(a,b);let d=[c];c=c.replaceWithKlass;null!=c&&(c=this.registerNodeTransformToKlass(c,b),d.push(c));hc(this,a.getType());return()=>
|
||||
-{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=pc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;wf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
-Id&&(Id--,0===Id&&b.ownerDocument.removeEventListener("selectionchange",Yd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=kc(d);e=e[e.length-1]._key;Xd.get(e)===d&&Xd.delete(e)}else Xd.delete(d._key);b.__lexicalEditor=null}d=Wd(b);for(e=0;e<d.length;e++)d[e]();b.__lexicalEventHandles=[]}null!=f&&b.classList.remove(...f)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect="text",d.whiteSpace="pre-wrap",d.wordBreak="break-word",a.setAttribute("data-lexical-editor",
|
||||
-"true"),this._window=c,this._dirtyType=2,Db(this),this._updateTags.add("history-merge"),vf(this),this._config.disableEvents||Zd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);xf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);Cb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
-(null!=b&&d.add(b),vf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);vf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Gf(),d=T,e=W,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;W=!1;U=this;try{tf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(p){p instanceof
|
||||
+e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,b){void 0===this._nodes.get(a.getType())&&r(37,a.name);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransformToKlass(a,b){var c=a.getType();c=this._nodes.get(c);void 0===c&&r(37,a.name);c.transforms.add(b);return c}registerNodeTransform(a,b){var c=this.registerNodeTransformToKlass(a,b);let d=[c];c=c.replaceWithKlass;null!=c&&(c=this.registerNodeTransformToKlass(c,b),d.push(c));gc(this,a.getType());return()=>
|
||||
+{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=oc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;vf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
+Hd&&(Hd--,0===Hd&&b.ownerDocument.removeEventListener("selectionchange",Xd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=jc(d);e=e[e.length-1]._key;Wd.get(e)===d&&Wd.delete(e)}else Wd.delete(d._key);b.__lexicalEditor=null}d=Vd(b);for(e=0;e<d.length;e++)d[e]();b.__lexicalEventHandles=[]}null!=f&&b.classList.remove(...f)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect="text",d.whiteSpace="pre-wrap",d.wordBreak="break-word",a.setAttribute("data-lexical-editor",
|
||||
+"true"),this._window=c,this._dirtyType=2,Cb(this),this._updateTags.add("history-merge"),uf(this),this._config.disableEvents||Yd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);wf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&r(38);Bb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
+(null!=b&&d.add(b),uf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);uf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Ff(),d=T,e=W,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;W=!1;U=this;try{sf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(p){p instanceof
|
||||
Error&&this._onError(p)}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,T=d,W=e,U=f}return c}update(a,b){w(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute("autocapitalize","off"),w(this,()=>{let d=v(),e=J();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&("rootStart"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute("autocapitalize");a&&a()},tag:"focus"}),null===this._pendingEditorState&&c.removeAttribute("autocapitalize"))}blur(){var a=
|
||||
-this._rootElement;null!==a&&a.blur();a=xb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,xf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
-class nf extends Df{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function S(a){return a instanceof nf}class Rf extends Df{}function Ze(a){return a instanceof Rf}class Sf extends Df{}
|
||||
-function Ye(a){return a instanceof Sf}exports.$INTERNAL_isPointSelection=de;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=je;exports.$createNodeSelection=ef;exports.$createParagraphNode=fe;exports.$createRangeSelection=function(){let a=new De("root",0,"element"),b=new De("root",0,"element");return new Te(a,b,0,"")};exports.$createTabNode=xe;exports.$createTextNode=K;exports.$getAdjacentNode=sc;
|
||||
-exports.$getNearestNodeFromDOMNode=wb;exports.$getNearestRootOrShadowRoot=wc;exports.$getNodeByKey=I;exports.$getPreviousSelection=nc;exports.$getRoot=J;exports.$getSelection=v;exports.$getTextContent=function(){let a=v();return null===a?"":a.getTextContent()};exports.$hasAncestor=vc;exports.$hasUpdateTag=function(a){return F()._updateTags.has(a)};exports.$insertNodes=function(a){let b=v()||nc();null===b&&(b=J().selectEnd());b.insertNodes(a)};exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};
|
||||
-exports.$isDecoratorNode=z;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||z(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Hc(a)||z(a)};exports.$isLineBreakNode=Hc;exports.$isNodeSelection=Vd;exports.$isParagraphNode=function(a){return a instanceof If};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Ce;exports.$isTextNode=B;
|
||||
-exports.$nodesOfType=function(a){var b=ac();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Ib;exports.$parseSerializedNode=function(a){return tf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());Ab(Ib(a))};exports.$setCompositionKey=H;exports.$setSelection=Ab;
|
||||
-exports.$splitNode=function(a,b){let c=a.getChildAtIndex(b);null==c&&(c=a);xc(a)&&r(102);let d=g=>{const h=g.getParentOrThrow(),k=xc(h),m=g!==c||k?yc(g):g;if(k)return g.insertAfter(m),[g,m,m];const [p,n,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[p,n,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Sa;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;
|
||||
-exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=la;exports.COPY_COMMAND=Oa;exports.CUT_COMMAND=Pa;exports.DELETE_CHARACTER_COMMAND=ea;exports.DELETE_LINE_COMMAND=qa;exports.DELETE_WORD_COMMAND=pa;exports.DEPRECATED_$computeGridMap=$e;exports.DEPRECATED_$createGridSelection=function(){let a=new De("root",0,"element"),b=new De("root",0,"element");return new We("root",a,b)};
|
||||
-exports.DEPRECATED_$getGridCellNodeRect=Ue;exports.DEPRECATED_$getNodeTriplet=Ve;exports.DEPRECATED_$isGridCellNode=S;exports.DEPRECATED_$isGridNode=Ze;exports.DEPRECATED_$isGridRowNode=Ye;exports.DEPRECATED_$isGridSelection=Xe;exports.DEPRECATED_GridCellNode=nf;exports.DEPRECATED_GridNode=Rf;exports.DEPRECATED_GridRowNode=Sf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=Cf;exports.ElementNode=Df;
|
||||
+this._rootElement;null!==a&&a.blur();a=wb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,wf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
+class mf extends Cf{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function S(a){return a instanceof mf}class Qf extends Cf{}function Ye(a){return a instanceof Qf}class Rf extends Cf{}
|
||||
+function Xe(a){return a instanceof Rf}exports.$INTERNAL_isPointSelection=ce;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=yc;exports.$copyNode=xc;exports.$createLineBreakNode=ie;exports.$createNodeSelection=df;exports.$createParagraphNode=ee;exports.$createRangeSelection=function(){let a=new Ce("root",0,"element"),b=new Ce("root",0,"element");return new Se(a,b,0,"")};exports.$createTabNode=we;exports.$createTextNode=K;exports.$getAdjacentNode=rc;
|
||||
+exports.$getNearestNodeFromDOMNode=vb;exports.$getNearestRootOrShadowRoot=vc;exports.$getNodeByKey=I;exports.$getPreviousSelection=mc;exports.$getRoot=J;exports.$getSelection=v;exports.$getTextContent=function(){let a=v();return null===a?"":a.getTextContent()};exports.$hasAncestor=uc;exports.$hasUpdateTag=function(a){return F()._updateTags.has(a)};exports.$insertNodes=function(a){let b=v()||mc();null===b&&(b=J().selectEnd());b.insertNodes(a)};exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};
|
||||
+exports.$isDecoratorNode=z;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||z(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Gc(a)||z(a)};exports.$isLineBreakNode=Gc;exports.$isNodeSelection=Ud;exports.$isParagraphNode=function(a){return a instanceof Hf};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=wc;exports.$isTabNode=Be;exports.$isTextNode=B;
|
||||
+exports.$nodesOfType=function(a){var b=$b();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Hb;exports.$parseSerializedNode=function(a){return sf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());zb(Hb(a))};exports.$setCompositionKey=H;exports.$setSelection=zb;
|
||||
+exports.$splitNode=function(a,b){let c=a.getChildAtIndex(b);null==c&&(c=a);wc(a)&&r(102);let d=g=>{const h=g.getParentOrThrow(),k=wc(h),m=g!==c||k?xc(g):g;if(k)return g.insertAfter(m),[g,m,m];const [p,n,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[p,n,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Sa;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ca;exports.COMMAND_PRIORITY_CRITICAL=4;
|
||||
+exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=la;exports.COPY_COMMAND=Oa;exports.CUT_COMMAND=Pa;exports.DELETE_CHARACTER_COMMAND=ea;exports.DELETE_LINE_COMMAND=qa;exports.DELETE_WORD_COMMAND=pa;exports.DEPRECATED_$computeGridMap=Ze;exports.DEPRECATED_$createGridSelection=function(){let a=new Ce("root",0,"element"),b=new Ce("root",0,"element");return new Ve("root",a,b)};
|
||||
+exports.DEPRECATED_$getGridCellNodeRect=Te;exports.DEPRECATED_$getNodeTriplet=Ue;exports.DEPRECATED_$isGridCellNode=S;exports.DEPRECATED_$isGridNode=Ye;exports.DEPRECATED_$isGridRowNode=Xe;exports.DEPRECATED_$isGridSelection=We;exports.DEPRECATED_GridCellNode=mf;exports.DEPRECATED_GridNode=Qf;exports.DEPRECATED_GridRowNode=Rf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=Bf;exports.ElementNode=Cf;
|
||||
exports.FOCUS_COMMAND=Ra;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=ra;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=fa;exports.INSERT_PARAGRAPH_COMMAND=ha;exports.INSERT_TAB_COMMAND={};exports.KEY_ARROW_DOWN_COMMAND=Ba;exports.KEY_ARROW_LEFT_COMMAND=xa;exports.KEY_ARROW_RIGHT_COMMAND=va;exports.KEY_ARROW_UP_COMMAND=Aa;exports.KEY_BACKSPACE_COMMAND=Ga;exports.KEY_DELETE_COMMAND=Ia;exports.KEY_DOWN_COMMAND=ua;exports.KEY_ENTER_COMMAND=Ca;
|
||||
-exports.KEY_ESCAPE_COMMAND=Ha;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Da;exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=he;exports.MOVE_TO_END=wa;exports.MOVE_TO_START=za;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ma;exports.ParagraphNode=If;exports.REDO_COMMAND=ta;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Ff;exports.SELECTION_CHANGE_COMMAND=ba;exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Be;exports.TextNode=pe;exports.UNDO_COMMAND=sa;
|
||||
+exports.KEY_ESCAPE_COMMAND=Ha;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Da;exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=ge;exports.MOVE_TO_END=wa;exports.MOVE_TO_START=za;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=ma;exports.ParagraphNode=Hf;exports.REDO_COMMAND=ta;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Ef;exports.SELECTION_CHANGE_COMMAND=ba;exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Ae;exports.TextNode=oe;exports.UNDO_COMMAND=sa;
|
||||
exports.createCommand=function(){return{}};
|
||||
-exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Gf(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[Ff,pe,he,Be,If,...(b.nodes||[])],{onError:p,html:n}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let q=m[c],u=null;var l=null;"function"!==typeof q&&(l=q,q=l.replace,u=l.with,l=l.withKlass||null);let y=q.getType(),x=q.transform(),A=
|
||||
-new Set;null!==x&&A.add(x);a.set(y,{exportDOM:n&&n.export?n.export.get(q):void 0,klass:q,replace:u,replaceWithKlass:l,transforms:A})}d=new Qf(g,e,a,{disableEvents:f,namespace:h,theme:d},p?p:console.error,Pf(a,n?n.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Ob;exports.isHTMLAnchorElement=function(a){return Fc(a)&&"A"===a.tagName};exports.isHTMLElement=Fc;exports.isSelectionCapturedInDecoratorInput=Mb;
|
||||
-exports.isSelectionWithinEditor=Nb
|
||||
+exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Ff(),h=b.namespace||(null!==e?e._config.namespace:kc()),k=b.editorState,m=[Ef,oe,ge,Ae,Hf,...(b.nodes||[])],{onError:p,html:n}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let q=m[c],u=null;var l=null;"function"!==typeof q&&(l=q,q=l.replace,u=l.with,l=l.withKlass||null);let y=q.getType(),x=q.transform(),A=
|
||||
+new Set;null!==x&&A.add(x);a.set(y,{exportDOM:n&&n.export?n.export.get(q):void 0,klass:q,replace:u,replaceWithKlass:l,transforms:A})}d=new Pf(g,e,a,{disableEvents:f,namespace:h,theme:d},p?p:console.error,Of(a,n?n.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Nb;exports.isHTMLAnchorElement=function(a){return Ec(a)&&"A"===a.tagName};exports.isHTMLElement=Ec;exports.isSelectionCapturedInDecoratorInput=Lb;
|
||||
+exports.isSelectionWithinEditor=Mb
|
||||
@@ -0,0 +1,319 @@
|
||||
diff --git a/Lexical.dev.js b/Lexical.dev.js
|
||||
index 9de98c64cf4aab8b575d25d9b4b998cd29e7eb54..eae21f07cfc917ca316719b27dc54ae0635afc7c 100644
|
||||
--- a/Lexical.dev.js
|
||||
+++ b/Lexical.dev.js
|
||||
@@ -2517,8 +2517,10 @@ function onBeforeInput(event, editor) {
|
||||
}
|
||||
selection.style = anchorNode.getStyle();
|
||||
}
|
||||
- const selectedText = selection.anchor.getNode().getTextContent();
|
||||
- if (selectedText.length <= 1) {
|
||||
+ const selectedNodeText = selection.anchor.getNode().getTextContent();
|
||||
+ const isSelectedNodeTextOneOrLessCharacters = selectedNodeText.length <= 1;
|
||||
+ const hasSelectedAllTextInNode = selection.anchor.offset === 0 && selection.focus.offset === selectedNodeText.length;
|
||||
+ if (isSelectedNodeTextOneOrLessCharacters || hasSelectedAllTextInNode) {
|
||||
event.preventDefault();
|
||||
dispatchCommand(editor, DELETE_CHARACTER_COMMAND, true);
|
||||
}
|
||||
@@ -4123,11 +4125,7 @@ class LineBreakNode extends LexicalNode {
|
||||
static importDOM() {
|
||||
return {
|
||||
br: node => {
|
||||
- const parentElement = node.parentElement;
|
||||
- // If the <br> is the only child, then skip including it
|
||||
- let firstChild;
|
||||
- let lastChild;
|
||||
- if (parentElement !== null && ((firstChild = parentElement.firstChild) === node || firstChild.nextSibling === node && firstChild.nodeType === DOM_TEXT_TYPE && (firstChild.textContent || '').match(/^( |\t|\r?\n)+$/) !== null) && ((lastChild = parentElement.lastChild) === node || lastChild.previousSibling === node && lastChild.nodeType === DOM_TEXT_TYPE && (lastChild.textContent || '').match(/^( |\t|\r?\n)+$/) !== null)) {
|
||||
+ if (isOnlyChild(node)) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
@@ -4158,6 +4156,22 @@ function $createLineBreakNode() {
|
||||
function $isLineBreakNode(node) {
|
||||
return node instanceof LineBreakNode;
|
||||
}
|
||||
+function isOnlyChild(node) {
|
||||
+ const parentElement = node.parentElement;
|
||||
+ if (parentElement !== null) {
|
||||
+ const firstChild = parentElement.firstChild;
|
||||
+ if (firstChild === node || firstChild.nextSibling === node && isWhitespaceDomTextNode(firstChild)) {
|
||||
+ const lastChild = parentElement.lastChild;
|
||||
+ if (lastChild === node || lastChild.previousSibling === node && isWhitespaceDomTextNode(lastChild)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+function isWhitespaceDomTextNode(node) {
|
||||
+ return node.nodeType === DOM_TEXT_TYPE && /^( |\t|\r?\n)+$/.test(node.textContent || '');
|
||||
+}
|
||||
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
@@ -6251,7 +6265,8 @@ class RangeSelection extends INTERNAL_PointSelection {
|
||||
}
|
||||
return selection.insertNodes(nodes);
|
||||
}
|
||||
- const firstBlock = $getAncestor(this.anchor.getNode(), INTERNAL_$isBlock);
|
||||
+ const firstPoint = this.isBackward() ? this.focus : this.anchor;
|
||||
+ const firstBlock = $getAncestor(firstPoint.getNode(), INTERNAL_$isBlock);
|
||||
const last = nodes[nodes.length - 1];
|
||||
|
||||
// CASE 1: insert inside a code block
|
||||
diff --git a/Lexical.prod.js b/Lexical.prod.js
|
||||
index 6e381d4f241e25f09a347718c83c72cb1672505d..dbed04f260ac47fd0ea20c919ac26cb5ce98cc9d 100644
|
||||
--- a/Lexical.prod.js
|
||||
+++ b/Lexical.prod.js
|
||||
@@ -52,11 +52,11 @@ function Pd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a
|
||||
h.format=m.getFormat();h.style=m.getStyle()}else"element"!==k.type||p||(h.format=0,h.style="")}else{k=255;m=!1;n=h.getNodes();p=n.length;for(let l=0;l<p;l++){let r=n[l];if(B(r)&&(m=!0,k&=r.getFormat(),0===k))break}h.format=m?k:0}}R(b,aa,void 0)}})}
|
||||
function Ad(a,b){v(b,()=>{let c=u();var d=xb(b._window);let e=nc();if(d)if(C(c)){let g=c.anchor;var f=g.getNode();"element"===g.type&&0===g.offset&&c.isCollapsed()&&!L(f)&&1===J().getChildrenSize()&&f.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)?(d.removeAllRanges(),c.dirty=!0):3!==a.detail||c.isCollapsed()||(d=c.focus.getNode(),f!==d&&(E(f)?f.select(0):f.getParentOrThrow().select(0)))}else"touch"===a.pointerType&&(f=d.anchorNode,null!==f&&(f=f.nodeType,1===f||3===f))&&(d=Qd(e,d,b,a),
|
||||
Ab(d));R(b,ba,a)})}function wd(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&v(b,()=>{x(wb(c))||(Jd=!0)})}function Rd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Sd(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
|
||||
-function Cd(a,b){let c=a.inputType,d=Rd(a);"deleteCompositionText"===c||Xa&&Bb(b)||"insertCompositionText"!==c&&v(b,()=>{let e=u();if("deleteContentBackward"===c){if(null===e){var f=nc();if(!C(f))return;Ab(f.clone())}if(C(e)){ab&&H(e.anchor.key);if(229===Ed&&a.timeStamp<Dd+30&&b.isComposing()&&e.anchor.key===e.focus.key){H(null);Dd=0;setTimeout(()=>{v(b,()=>{H(null)})},30);if(C(e)){f=e.anchor.getNode();f.markDirty();e.format=f.getFormat();if(!B(f))throw Error("Anchor node must be a TextNode");e.style=
|
||||
-f.getStyle()}1>=e.anchor.getNode().getTextContent().length&&(a.preventDefault(),R(b,da,!0))}else H(null),a.preventDefault(),R(b,da,!0);return}}if(C(e)){f=a.data;null!==Gd&&mc(!1,b,Gd);e.dirty&&null===Gd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Gd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,ea,!1)):"\n\n"===f?(a.preventDefault(),R(b,ja,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),
|
||||
-a.preventDefault(),e.insertRawText(f)):null!=f&&Nd(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Gd=f,Fd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,ka,a);break;case "insertFromComposition":H(null);R(b,ka,a);break;case "insertLineBreak":H(null);R(b,ea,!1);break;case "insertParagraph":H(null);Kd&&!$a?(Kd=!1,R(b,ea,!1)):R(b,ja,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Sd(h,
|
||||
-g)&&R(b,na,a);break;case "deleteByDrag":case "deleteByCut":R(b,na,a);break;case "deleteContent":R(b,da,!1);break;case "deleteWordBackward":R(b,oa,!0);break;case "deleteWordForward":R(b,oa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,pa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,pa,!1);break;case "formatStrikeThrough":R(b,qa,"strikethrough");break;case "formatBold":R(b,qa,"bold");break;case "formatItalic":R(b,qa,
|
||||
-"italic");break;case "formatUnderline":R(b,qa,"underline");break;case "historyUndo":R(b,ra,void 0);break;case "historyRedo":R(b,sa,void 0)}}})}
|
||||
+function Cd(a,b){let c=a.inputType,d=Rd(a);"deleteCompositionText"===c||Xa&&Bb(b)||"insertCompositionText"!==c&&v(b,()=>{var e=u();if("deleteContentBackward"===c){if(null===e){var f=nc();if(!C(f))return;Ab(f.clone())}if(C(e)){ab&&H(e.anchor.key);if(229===Ed&&a.timeStamp<Dd+30&&b.isComposing()&&e.anchor.key===e.focus.key){H(null);Dd=0;setTimeout(()=>{v(b,()=>{H(null)})},30);if(C(e)){f=e.anchor.getNode();f.markDirty();e.format=f.getFormat();if(!B(f))throw Error("Anchor node must be a TextNode");e.style=
|
||||
+f.getStyle()}f=e.anchor.getNode().getTextContent();e=0===e.anchor.offset&&e.focus.offset===f.length;if(1>=f.length||e)a.preventDefault(),R(b,da,!0)}else H(null),a.preventDefault(),R(b,da,!0);return}}if(C(e)){f=a.data;null!==Gd&&mc(!1,b,Gd);e.dirty&&null===Gd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Gd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,ea,!1)):"\n\n"===f?(a.preventDefault(),
|
||||
+R(b,ja,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),a.preventDefault(),e.insertRawText(f)):null!=f&&Nd(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Gd=f,Fd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,ka,a);break;case "insertFromComposition":H(null);R(b,ka,a);break;case "insertLineBreak":H(null);R(b,ea,!1);break;case "insertParagraph":H(null);Kd&&!$a?(Kd=!1,R(b,ea,!1)):R(b,ja,void 0);
|
||||
+break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Sd(h,g)&&R(b,na,a);break;case "deleteByDrag":case "deleteByCut":R(b,na,a);break;case "deleteContent":R(b,da,!1);break;case "deleteWordBackward":R(b,oa,!0);break;case "deleteWordForward":R(b,oa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,pa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,pa,!1);break;case "formatStrikeThrough":R(b,
|
||||
+qa,"strikethrough");break;case "formatBold":R(b,qa,"bold");break;case "formatItalic":R(b,qa,"italic");break;case "formatUnderline":R(b,qa,"underline");break;case "historyUndo":R(b,ra,void 0);break;case "historyRedo":R(b,sa,void 0)}}})}
|
||||
function zd(a,b){a.stopPropagation();v(b,()=>{var c=u(),d=a.data,e=Rd(a);if(null!=d&&C(c)&&Nd(c,e,d,a.timeStamp,!1)){Ld&&(Td(b,d),Ld=!1);var f=c.anchor,g=f.getNode();e=xb(b._window);if(null===e)return;let h=f.offset;if(f=Ya&&!c.isCollapsed()&&B(g)&&null!==e.anchorNode)g=g.getTextContent().slice(0,h)+d+g.getTextContent().slice(h+c.focus.offset),e=e.anchorNode,f=g===(3===e.nodeType?e.nodeValue:null);f||R(b,ka,d);d=d.length;Xa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
|
||||
d);Za||$a||cb||!b.isComposing()||(Dd=0,H(null))}else mc(!1,b,null!==d?d:void 0),Ld&&(Td(b,d||void 0),Ld=!1);G();c=F();Cb(c)});Gd=null}function xd(a,b){v(b,()=>{let c=u();if(C(c)&&!b.isComposing()){let d=c.anchor,e=c.anchor.getNode();H(d.key);(a.timeStamp<Dd+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||B(e)&&e.getStyle()!==c.style)&&R(b,ka,eb)}})}
|
||||
function Td(a,b){var c=a._compositionKey;H(null);if(null!==c&&null!=b){if(""===b){b=I(c);a=Xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&B(b)&&yb(b,a.nodeValue,null,null,!0);return}if("\n"===b[b.length-1]&&(c=u(),C(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);R(a,Ba,null);return}}mc(!0,a,b)}function yd(a,b){Xa?Ld=!0:v(b,()=>{Td(b,a.data)})}
|
||||
@@ -82,134 +82,134 @@ null!==c&&(c=c.clone());Ac(this,a);let d=this.getLatest(),e=this.__key,f=a.__key
|
||||
n=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=n;d.__prev=c.__key;d.__parent=c.__parent;b&&C(f)&&(b=this.getIndexWithinParent(),ae(f,k,b+1),c=k.__key,g&&f.anchor.set(c,b+2,"element"),h&&f.focus.set(c,b+2,"element"));return a}insertBefore(a,b=!0){G();Ac(this,a);var c=this.getWritable();let d=a.getWritable(),e=d.__key;bc(d);let f=this.getPreviousSibling(),g=this.getParentOrThrow().getWritable(),h=c.__prev,k=this.getIndexWithinParent();null===f?g.__first=e:f.getWritable().__next=
|
||||
e;g.__size++;c.__prev=e;d.__prev=h;d.__next=c.__key;d.__parent=c.__parent;c=u();b&&C(c)&&(b=this.getParentOrThrow(),ae(c,b,k));return a}isParentRequired(){return!1}createParentElementNode(){return ee()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(a,b){G();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):E(c)?c.select():B(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){G();let c=
|
||||
this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():E(c)?c.select(0,0):B(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}function fe(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;){if(!d.getNextSibling())throw Error("insertRangeAfter: lastToInsert must be a later sibling of firstToInsert");d=d.getNextSibling();b.push(d)}for(let e of b)a=a.insertAfter(e)}
|
||||
-class ge extends be{static getType(){return"linebreak"}static clone(a){return new ge(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement,c,d;return null!==b&&((c=b.firstChild)===a||c.nextSibling===a&&3===c.nodeType&&null!==(c.textContent||"").match(/^( |\t|\r?\n)+$/))&&((d=b.lastChild)===a||d.previousSibling===a&&3===d.nodeType&&null!==(d.textContent||"").match(/^( |\t|\r?\n)+$/))?
|
||||
-null:{conversion:he,priority:0}}}}static importJSON(){return ie()}exportJSON(){return{type:"linebreak",version:1}}}function he(){return{node:ie()}}function ie(){return zc(new ge)}function Gc(a){return a instanceof ge}function je(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function ke(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
-function le(a,b,c,d,e){a=d.classList;d=pc(e,"base");void 0!==d&&a.add(...d);d=pc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in hb)h=hb[k],d=pc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
-function me(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?db:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function ne(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
-class oe extends be{static getType(){return"text"}static clone(a){return new oe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return pb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===dc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
-(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=hb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Yb(c,a,b)}createDOM(a){var b=this.__format,c=je(this,b);let d=ke(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
-e.appendChild(f));c=f;me(this.__text,c,this);a=a.theme.text;void 0!==a&&le(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=je(this,e);let h=je(this,f);var k=ke(this,e);let m=ke(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&q(48),a=g=document.createElement(m),me(d,a,this),c=c.theme.text,void 0!==c&&le(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
-b.firstChild,null==k&&q(49));me(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&le(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:pe,priority:0}),b:()=>({conversion:qe,priority:0}),code:()=>({conversion:re,priority:0}),em:()=>({conversion:re,priority:0}),i:()=>({conversion:re,priority:0}),s:()=>({conversion:re,priority:0}),span:()=>({conversion:se,priority:0}),strong:()=>({conversion:re,priority:0}),sub:()=>({conversion:re,priority:0}),
|
||||
-sup:()=>({conversion:re,priority:0}),u:()=>({conversion:re,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Ec(a)||q(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=ne(a,"b"));this.hasFormat("italic")&&(a=ne(a,"i"));this.hasFormat("strikethrough")&&(a=ne(a,"s"));this.hasFormat("underline")&&(a=ne(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
+class ge extends be{static getType(){return"linebreak"}static clone(a){return new ge(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{a:{var b=a.parentElement;if(null!==b){let c=b.firstChild;if(c===a||c.nextSibling===a&&he(c))if(b=b.lastChild,b===a||b.previousSibling===a&&he(b)){a=!0;break a}}a=!1}return a?null:{conversion:ie,priority:0}}}}static importJSON(){return je()}exportJSON(){return{type:"linebreak",
|
||||
+version:1}}}function ie(){return{node:je()}}function je(){return zc(new ge)}function Gc(a){return a instanceof ge}function he(a){return 3===a.nodeType&&/^( |\t|\r?\n)+$/.test(a.textContent||"")}function ke(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function le(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
+function me(a,b,c,d,e){a=d.classList;d=pc(e,"base");void 0!==d&&a.add(...d);d=pc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in hb)h=hb[k],d=pc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
+function ne(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?db:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function oe(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
+class pe extends be{static getType(){return"text"}static clone(a){return new pe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return pb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===dc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
+(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=hb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Yb(c,a,b)}createDOM(a){var b=this.__format,c=ke(this,b);let d=le(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
+e.appendChild(f));c=f;ne(this.__text,c,this);a=a.theme.text;void 0!==a&&me(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=ke(this,e);let h=ke(this,f);var k=le(this,e);let m=le(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&q(48),a=g=document.createElement(m),ne(d,a,this),c=c.theme.text,void 0!==c&&me(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
+b.firstChild,null==k&&q(49));ne(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&me(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:qe,priority:0}),b:()=>({conversion:re,priority:0}),code:()=>({conversion:se,priority:0}),em:()=>({conversion:se,priority:0}),i:()=>({conversion:se,priority:0}),s:()=>({conversion:se,priority:0}),span:()=>({conversion:te,priority:0}),strong:()=>({conversion:se,priority:0}),sub:()=>({conversion:se,priority:0}),
|
||||
+sup:()=>({conversion:se,priority:0}),u:()=>({conversion:se,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Ec(a)||q(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=oe(a,"b"));this.hasFormat("italic")&&(a=oe(a,"i"));this.hasFormat("strikethrough")&&(a=oe(a,"s"));this.hasFormat("underline")&&(a=oe(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format="string"===typeof a?hb[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail="string"===typeof a?ib[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){let b=this.getFormat();a=Yb(b,a,null);return this.setFormat(a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=
|
||||
1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=ob[a];if(this.__mode===a)return this;let b=this.getWritable();b.__mode=a;return b}setTextContent(a){if(this.__text===a)return this;let b=this.getWritable();b.__text=a;return b}select(a,b){G();let c=u();var d=this.getTextContent();let e=this.__key;"string"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(C(c))d=dc(),d!==c.anchor.key&&d!==c.focus.key||H(e),c.setTextNodeRange(this,a,this,b);
|
||||
-else return te(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=dc(),f=new Set(a);
|
||||
+else return ue(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=dc(),f=new Set(a);
|
||||
a=[];var g=c.length,h="";for(var k=0;k<g;k++)""!==h&&f.has(k)&&(a.push(h),h=""),h+=c[k];""!==h&&a.push(h);f=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=b.getFormat();let n=b.getStyle(),p=b.__detail;g=!1;b.isSegmented()?(h=K(m),h.__format=k,h.__style=n,h.__detail=p,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let w=1;w<f;w++){var l=a[w],r=l.length;l=K(l).getWritable();l.__format=k;l.__style=n;l.__detail=p;let y=l.__key;r=m+r;if(C(b)){let z=
|
||||
b.anchor,A=b.focus;z.key===d&&"text"===z.type&&z.offset>m&&z.offset<=r&&(z.key=y,z.offset-=m,b.dirty=!0);A.key===d&&"text"===A.type&&A.offset>m&&A.offset<=r&&(A.key=y,A.offset-=m,b.dirty=!0)}e===d&&H(y);m=r;h.push(l)}d=this.getPreviousSibling();e=this.getNextSibling();null!==d&&cc(d);null!==e&&cc(e);d=c.getWritable();e=this.getIndexWithinParent();g?(d.splice(e,0,h),this.remove()):d.splice(e,1,h);C(b)&&ae(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||
|
||||
-q(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;dc()===d&&H(c);let g=u();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ue(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ue(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
-function se(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
-function qe(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let ve=new WeakMap;
|
||||
-function pe(a){null===a.parentElement&&q(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=ve.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)ve.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(ie()):"\t"===d?a.push(we()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
-b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=xe(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=xe(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
-let ye=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function xe(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ye)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
-let ze={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function re(a){let b=ze[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return zc(new oe(a))}function B(a){return a instanceof oe}
|
||||
-class Ae extends oe{static getType(){return"tab"}static clone(a){let b=new Ae(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=we();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){q(126)}setDetail(){q(127)}setMode(){q(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
-function we(){return zc(new Ae)}function Be(a){return a instanceof Ae}
|
||||
-class Ce{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&q(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
-ec()||(dc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function S(a,b,c){return new Ce(a,b,c)}function Me(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function de(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Me(a,c):Me(a,b)}else Me(a,b)}
|
||||
-function Ne(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?ee().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Oe(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
-class Pe{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return ce(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Qe(this)}}
|
||||
-class Re{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Ud(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Re(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
-this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);ec()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Se}
|
||||
-function ce(a){return a instanceof Pe}
|
||||
-class Se extends Pe{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),
|
||||
-null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);ec()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Oe(this.anchor,a.__key,b,"text");Oe(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=this.focus,f=d.isBefore(e),[g,h]=Qe(this),k="",m=!0;for(let n=0;n<a.length;n++){let p=
|
||||
-a[n];if(E(p)&&!p.isInline())m||(k+="\n"),m=p.isEmpty()?!1:!0;else if(m=!1,B(p)){let l=p.getTextContent();if(p===b)if(p===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else p===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!x(p)&&!Gc(p)||p===c&&this.isCollapsed()||(k+=p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Te(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,
|
||||
-c);if(null!==a){var [d,e]=a;Oe(this.anchor,d.key,d.offset,d.type);Oe(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Se(S(a.key,a.offset,a.type),S(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Yb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&hb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===
|
||||
-e||"\r\n"===e?b.push(ie()):"\t"===e?b.push(we()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Ne(b,c,e,f):d||"element"!==c.type||Ne(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||q(26);d=b.getTextContent().length;var n=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||
|
||||
+q(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;dc()===d&&H(c);let g=u();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ve(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ve(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
+function te(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
+function re(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let we=new WeakMap;
|
||||
+function qe(a){null===a.parentElement&&q(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=we.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)we.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(je()):"\t"===d?a.push(xe()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
+b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=ye(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=ye(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
+let ze=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function ye(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ze)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
+let Ae={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function se(a){let b=Ae[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return zc(new pe(a))}function B(a){return a instanceof pe}
|
||||
+class Be extends pe{static getType(){return"tab"}static clone(a){let b=new Be(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=xe();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){q(126)}setDetail(){q(127)}setMode(){q(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
+function xe(){return zc(new Be)}function Ce(a){return a instanceof Be}
|
||||
+class De{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&q(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
+ec()||(dc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function S(a,b,c){return new De(a,b,c)}function Ne(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function de(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Ne(a,c):Ne(a,b)}else Ne(a,b)}
|
||||
+function Oe(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?ee().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Pe(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
+class Qe{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return ce(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Re(this)}}
|
||||
+class Se{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Ud(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Se(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
+this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);ec()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Te}
|
||||
+function ce(a){return a instanceof Qe}
|
||||
+class Te extends Qe{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),
|
||||
+null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);ec()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Pe(this.anchor,a.__key,b,"text");Pe(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=this.focus,f=d.isBefore(e),[g,h]=Re(this),k="",m=!0;for(let n=0;n<a.length;n++){let p=
|
||||
+a[n];if(E(p)&&!p.isInline())m||(k+="\n"),m=p.isEmpty()?!1:!0;else if(m=!1,B(p)){let l=p.getTextContent();if(p===b)if(p===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else p===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!x(p)&&!Gc(p)||p===c&&this.isCollapsed()||(k+=p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Ue(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,
|
||||
+c);if(null!==a){var [d,e]=a;Pe(this.anchor,d.key,d.offset,d.type);Pe(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Te(S(a.key,a.offset,a.type),S(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Yb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&hb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===
|
||||
+e||"\r\n"===e?b.push(je()):"\t"===e?b.push(xe()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Oe(b,c,e,f):d||"element"!==c.type||Oe(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||q(26);d=b.getTextContent().length;var n=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||
|
||||
!n.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Wb(l)||(l=K(),l.setFormat(e),n.canInsertTextAfter()?b.insertAfter(l):n.insertAfter(l));l.select(0,0);b=l;if(""!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!n.canInsertTextBefore()&&null===b.getPreviousSibling())){l=b.getPreviousSibling();if(!B(l)||Wb(l))l=K(),l.setFormat(e),n.canInsertTextBefore()?b.insertBefore(l):
|
||||
-n.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)n=K(b.getTextContent()),n.setFormat(e),b.replace(n),b=n;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),n.canInsertTextBefore()&&n.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Ue(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&
|
||||
-(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Be(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:(this.format=
|
||||
+n.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)n=K(b.getTextContent()),n.setFormat(e),b.replace(n),b=n;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),n.canInsertTextBefore()&&n.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Ve(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&
|
||||
+(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Ce(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:(this.format=
|
||||
g,this.style=h))}else{e=new Set([...b.getParentKeys(),...p.getParentKeys()]);l=E(b)?b:b.getParentOrThrow();f=E(p)?p:p.getParentOrThrow();n=p;if(!l.is(f)&&f.isInline()){do n=f,f=f.getParentOrThrow();while(f.isInline())}if("text"===k.type&&(0!==m||""===p.getTextContent())||"element"===k.type&&p.getIndexWithinParent()<m)if(B(p)&&!p.isToken()&&m!==p.getTextContentSize()){if(p.isSegmented()){var r=K(p.getTextContent());p.replace(r);p=r}L(k.getNode())||"text"!==k.type||(p=p.spliceText(0,m,""));e.add(p.__key)}else k=
|
||||
p.getParentOrThrow(),k.canBeEmpty()||1!==k.getChildrenSize()?p.remove():k.remove();else e.add(p.__key);k=f.getChildren();m=new Set(g);p=l.is(f);l=l.isInline()&&null===b.getNextSibling()?l:b;for(r=k.length-1;0<=r;r--){let w=k[r];if(w.is(b)||E(w)&&w.isParentOf(b))break;w.isAttached()&&(!m.has(w)||w.is(n)?p||l.insertAfter(w,!1):w.remove())}if(!p)for(k=f,f=null;null!==k;){m=k.getChildren();p=m.length;if(0===p||m[p-1].is(f))e.delete(k.__key),f=k;k=k.getParent()}b.isToken()?c===d?b.select():(a=K(a),a.select(),
|
||||
b.replace(a)):(b=b.spliceText(c,d-c,a,!0),""===b.getTextContent()?b.remove():b.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<h;a++)b=g[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText("")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),H(null);else{var b=this.getNodes(),c=[];for(var d of b)B(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),H(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];
|
||||
f="element"===b.type?0:b.offset;"text"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,n=c[m];e="text"===d.type?d.offset:n.getTextContentSize();if(k.is(n))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),"text"===b.type&&b.set(a.__key,0,"text"),"text"===d.type&&d.set(a.__key,e-f,"text")),this.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var p=n.getFormatFlags(a,g);
|
||||
-0<e&&(e!==n.getTextContentSize()&&([n]=n.splitText(e)),n.setFormat(p));for(h+=1;h<m;h++){let l=c[h];if(!l.isToken()){let r=l.getFormatFlags(a,p);l.setFormat(r)}}"text"===b.type&&b.set(k.__key,f,"text");"text"===d.type&&d.set(n.__key,e,"text");this.format=g|p}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=u();if(!C(b))throw Error("Expected RangeSelection after insertParagraph");return b.insertNodes(a)}var c=Hc(this.anchor.getNode(),Fc);b=a[a.length-1];
|
||||
-if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=Ve(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||x(g))&&!g.isInline())){b=We(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];if((g=>E(g)&&Fc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)){if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");c.append(...f.getChildren());
|
||||
-f=e[1]}f&&fe(c,f);e=Hc(a,Fc);b&&E(e)&&("__value"in b&&"__checked"in b||Fc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Gc(a)&&e!==c&&a.remove()}else{if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");d=Ve(this);c.splice(d,0,a);b.selectEnd()}}}insertParagraph(){if("root"===this.anchor.key){var a=ee();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=Ve(this);a=Hc(this.anchor.getNode(),Fc);if(!E(a))throw Error("Expected ancestor to be an ElementNode");
|
||||
-b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),a.selectStart(),a):null}insertLineBreak(a){var b=ie();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Qe(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):
|
||||
-[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=sc(d,b);if(x(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Xe(),b.add(g.__key),Ab(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),
|
||||
+0<e&&(e!==n.getTextContentSize()&&([n]=n.splitText(e)),n.setFormat(p));for(h+=1;h<m;h++){let l=c[h];if(!l.isToken()){let r=l.getFormatFlags(a,p);l.setFormat(r)}}"text"===b.type&&b.set(k.__key,f,"text");"text"===d.type&&d.set(n.__key,e,"text");this.format=g|p}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=u();if(!C(b))throw Error("Expected RangeSelection after insertParagraph");return b.insertNodes(a)}b=this.isBackward()?this.focus:this.anchor;var c=Hc(b.getNode(),
|
||||
+Fc);b=a[a.length-1];if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=We(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||x(g))&&!g.isInline())){b=Xe(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];if((g=>E(g)&&Fc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)){if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");c.append(...f.getChildren());
|
||||
+f=e[1]}f&&fe(c,f);e=Hc(a,Fc);b&&E(e)&&("__value"in b&&"__checked"in b||Fc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Gc(a)&&e!==c&&a.remove()}else{if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");d=We(this);c.splice(d,0,a);b.selectEnd()}}}insertParagraph(){if("root"===this.anchor.key){var a=ee();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=We(this);a=Hc(this.anchor.getNode(),Fc);if(!E(a))throw Error("Expected ancestor to be an ElementNode");
|
||||
+b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),a.selectStart(),a):null}insertLineBreak(a){var b=je();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Re(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):
|
||||
+[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=sc(d,b);if(x(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Ye(),b.add(g.__key),Ab(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),
|
||||
E(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,"element"),f&&e.set(c,g,"element")));else if(e=F(),d=xb(e._window)){var h=e._blockCursorElement,k=e._rootElement;null===k||null===h||!E(g)||g.isInline()||g.canBeEmpty()||Cc(h,e,k);d.modify(a,b?"backward":"forward",c);if(0<d.rangeCount&&(g=d.getRangeAt(0),e=this.anchor.getNode(),e=L(e)?e:wc(e),this.applyDOMRange(g),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(h=0;h<f.length;h++)k=f[h],vc(k,e)?a.push(k):
|
||||
-c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Oe(f,b.key,b.offset,b.type),Oe(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===
|
||||
-e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=sc(d,a);if(x(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=Xe(),a.add(f.__key),Ab(a)):(f.remove(),F().dispatchCommand(aa,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===
|
||||
-d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){Ye(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){Ye(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),jc(c)||(a?
|
||||
+c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Pe(f,b.key,b.offset,b.type),Pe(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===
|
||||
+e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=sc(d,a);if(x(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=Ye(),a.add(f.__key),Ab(a)):(f.remove(),F().dispatchCommand(aa,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===
|
||||
+d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){Ze(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){Ze(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),jc(c)||(a?
|
||||
f.offset=g:e.offset=g))}}else if(a&&0===c.offset&&("element"===c.type?c.getNode():c.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText();a&&!b&&this.isCollapsed()&&"element"===this.anchor.type&&0===this.anchor.offset&&(a=this.anchor.getNode(),a.isEmpty()&&L(a.getParent())&&0===a.getIndexWithinParent()&&a.collapseAtStart(this))}deleteLine(a){this.isCollapsed()&&("text"===this.anchor.type&&this.modify("extend",a,"lineboundary"),0===(a?this.focus:this.anchor).offset&&this.modify("extend",
|
||||
-a,"character"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify("extend",a,"word");this.removeText()}}function Ud(a){return a instanceof Re}function Ze(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Qe(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Ze(b),Ze(a)]}
|
||||
-function Ye(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
-function $e(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=ic(k);if(B(d))e=h?d.getTextContentSize():0;else{f=ic(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
+a,"character"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify("extend",a,"word");this.removeText()}}function Ud(a){return a instanceof Se}function $e(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Re(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[$e(b),$e(a)]}
|
||||
+function Ze(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
+function af(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=ic(k);if(B(d))e=h?d.getTextContentSize():0;else{f=ic(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
B(a)?(d=a,f=null,e=h?a.getTextContentSize():0):a!==f&&h&&!g&&e++}else e=f.getIndexWithinParent(),e=0===b&&x(f)&&ic(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return S(f.__key,e,"element")}}else d=ic(a);return B(d)?S(d.__key,e,"text"):null}
|
||||
-function af(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
-b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function Ue(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);af(a,d,e);af(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Oe(a,d.key,d.offset,d.type),Oe(b,c.key,c.offset,c.type))}}
|
||||
-function Te(a,b,c,d,e,f){if(null===a||null===c||!Tb(e,a,c))return null;b=$e(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=$e(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),x(a)&&x(c)))return null;Ue(b,d,f);return[b,d]}function te(a,b,c,d,e,f){let g=ac();a=new Se(S(a,b,e),S(c,d,f),0,"");a.dirty=!0;return g._selection=a}function Xe(){return new Re(new Set)}
|
||||
-function bf(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Qd(b,c,a,null):b.clone()}
|
||||
-function Qd(a,b,c,d){var e=c._window;if(null===e)return null;var f=(e=d||e.event)?e.type:void 0;d="selectionchange"===f;e=!qb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Tb(c,e,f))return a.clone()}else return a.clone();c=Te(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Se(h,k,C(a)?a.format:
|
||||
+function bf(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
+b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function Ve(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);bf(a,d,e);bf(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Pe(a,d.key,d.offset,d.type),Pe(b,c.key,c.offset,c.type))}}
|
||||
+function Ue(a,b,c,d,e,f){if(null===a||null===c||!Tb(e,a,c))return null;b=af(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=af(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),x(a)&&x(c)))return null;Ve(b,d,f);return[b,d]}function ue(a,b,c,d,e,f){let g=ac();a=new Te(S(a,b,e),S(c,d,f),0,"");a.dirty=!0;return g._selection=a}function Ye(){return new Se(new Set)}
|
||||
+function cf(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Qd(b,c,a,null):b.clone()}
|
||||
+function Qd(a,b,c,d){var e=c._window;if(null===e)return null;var f=(e=d||e.event)?e.type:void 0;d="selectionchange"===f;e=!qb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Tb(c,e,f))return a.clone()}else return a.clone();c=Ue(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Te(h,k,C(a)?a.format:
|
||||
0,C(a)?a.style:"")}function u(){return ac()._selection}function nc(){return F()._editorState._selection}
|
||||
-function ae(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),cf(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}cf(a)}}
|
||||
-function cf(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
-1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function df(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
-function $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ue(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
-function ef(a){a instanceof ff||(a instanceof be?(a=Dc(a,gf),gf(a)||q(114)):(a=Dc(a.getNode(),gf),gf(a)||q(114)));let b=a.getParent();hf(b)||q(115);let c=b.getParent();jf(c)||q(116);return[a,b,c]}function Ve(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Fc(a);)[a,b]=kf(a,b);return b}
|
||||
-function kf(a,b){var c=a.getParent();if(!c)return c=ee(),J().append(c),c.select(),[J(),0];if(B(a)){var d=a.splitText(b);if(0===d.length)return[c,a.getIndexWithinParent()];a=0===b?0:1;a=d[0].getIndexWithinParent()+a;return[c,a]}if(!E(a)||0===b)return[c,a.getIndexWithinParent()];if(d=a.getChildAtIndex(b))b=new Se(S(a.__key,b,"element"),S(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
|
||||
-function We(a){let b=ee(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Gc(e);if(f||x(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,Z=!1,lf=!1,$b=0,mf={characterData:!0,childList:!0,subtree:!0};function ec(){return Z||null!==T&&T._readOnly}function G(){Z&&q(13)}function ac(){null===T&&q(15);return T}
|
||||
-function F(){null===U&&q(16);return U}function nf(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&q(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function of(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Hb(b)}
|
||||
-function pf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=dc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let n of g)g=a.get(n),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&nf(b,g,f),c.add(n);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let n of k)if(k=n[0],m=n[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
-g&&void 0!==g&&g.__key!==e&&g.isAttached()&&nf(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;$b++}b._dirtyLeaves=c;b._dirtyElements=d}function qf(a,b){var c=a.type,d=b.get(c);void 0===d&&q(17,c);c=d.klass;a.type!==c.getType()&&q(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=qf(a[d],b);c.append(e)}return c}function rf(a,b){let c=T,d=Z,e=U;T=a;Z=!0;U=null;try{return b()}finally{T=c,Z=d,U=e}}
|
||||
-function sf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,n=Z,p=U,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){U=a;T=c;Z=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var y=D,z=P,A=Q;N=Kc=M="";Nc=2===y;Qc=null;O=a;Lc=a._config;Mc=a._nodes;Pc=O._listeners.mutation;Rc=z;Sc=A;Tc=f._nodeMap;
|
||||
-Uc=c._nodeMap;Oc=c._readOnly;dd=new Map(a._keyToDOMMap);let fa=new Map;ed=fa;sd("root",null);ed=dd=Lc=Uc=Tc=Sc=Rc=Mc=O=void 0;w=fa}catch(D){D instanceof Error&&a._onError(D);if(lf)throw D;tf(a,null,d,c);Db(a);a._dirtyType=2;lf=!0;sf(a,f);lf=!1;return}finally{r.observe(d,mf),a._updating=l,T=m,Z=n,U=p}}c._readOnly||(c._readOnly=!0);var Ia=a._dirtyLeaves,ca=a._dirtyElements,Wa=a._normalizedNodes,ia=a._updateTags,Vc=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
-new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var De=a._decorators,Nb=a._pendingDecorators||De,Hf=c._nodeMap,Wc;for(Wc in Nb)Hf.has(Wc)||(Nb===De&&(Nb=fc(a)),delete Nb[Wc]);var ha=e?null:xb(a._window);if(a._editable&&null!==ha&&(k||null===h||h.dirty)){U=a;T=c;try{null!==r&&r.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Cc(D,a,d);a:{let P=ha.anchorNode,Q=ha.focusNode,fa=ha.anchorOffset,lb=ha.focusOffset,W=document.activeElement;if(!(ia.has("collaboration")&&
|
||||
-W!==d||null!==W&&Mb(W)))if(C(h)){var mb=h.anchor,Xc=h.focus,Ee=mb.key,If=Xc.key,Fe=uc(a,Ee),Ge=uc(a,If),Ob=mb.offset,He=Xc.offset,Yc=h.format,Zc=h.style,Ie=h.isCollapsed(),nb=Fe,Pb=Ge,$c=!1;if("text"===mb.type){nb=Xb(Fe);let X=mb.getNode();$c=X.getFormat()!==Yc||X.getStyle()!==Zc}else C(g)&&"text"===g.anchor.type&&($c=!0);"text"===Xc.type&&(Pb=Xb(Ge));if(null!==nb&&null!==Pb){if(Ie&&(null===g||$c||C(g)&&(g.format!==Yc||g.style!==Zc))){var Jf=performance.now();Md=[Yc,Zc,Ob,Ee,Jf]}if(fa===Ob&&lb===
|
||||
-He&&P===nb&&Q===Pb&&("Range"!==ha.type||!Ie)&&(null!==W&&d.contains(W)||d.focus({preventScroll:!0}),"element"!==mb.type))break a;try{ha.setBaseAndExtent(nb,Ob,Pb,He)}catch(X){}if(!ia.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let X=h instanceof Se&&"element"===h.anchor.type?nb.childNodes[Ob]||null:0<ha.rangeCount?ha.getRangeAt(0):null;if(null!==X){let Y;if(X instanceof Text){let V=document.createRange();V.selectNode(X);Y=V.getBoundingClientRect()}else Y=X.getBoundingClientRect();
|
||||
-let wa=d.ownerDocument,Da=wa.defaultView;if(null!==Da)for(var {top:ad,bottom:bd}=Y,Qb,Rb,ma=d;null!==ma;){let V=ma===wa.body;if(V)Qb=0,Rb=Eb(a).innerHeight;else{let Sb=ma.getBoundingClientRect();Qb=Sb.top;Rb=Sb.bottom}let Ea=0;ad<Qb?Ea=-(Qb-ad):bd>Rb&&(Ea=bd-Rb);if(0!==Ea)if(V)Da.scrollBy(0,Ea);else{let Sb=ma.scrollTop;ma.scrollTop+=Ea;let Je=ma.scrollTop-Sb;ad-=Je;bd-=Je}if(V)break;ma=Vb(ma)}}}Id=!0}}else null!==g&&Tb(a,P,Q)&&ha.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
+function ae(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),df(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}df(a)}}
|
||||
+function df(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
+1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function ef(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
+function $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ve(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
+function ff(a){a instanceof gf||(a instanceof be?(a=Dc(a,hf),hf(a)||q(114)):(a=Dc(a.getNode(),hf),hf(a)||q(114)));let b=a.getParent();jf(b)||q(115);let c=b.getParent();kf(c)||q(116);return[a,b,c]}function We(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Fc(a);)[a,b]=lf(a,b);return b}
|
||||
+function lf(a,b){var c=a.getParent();if(!c)return c=ee(),J().append(c),c.select(),[J(),0];if(B(a)){var d=a.splitText(b);if(0===d.length)return[c,a.getIndexWithinParent()];a=0===b?0:1;a=d[0].getIndexWithinParent()+a;return[c,a]}if(!E(a)||0===b)return[c,a.getIndexWithinParent()];if(d=a.getChildAtIndex(b))b=new Te(S(a.__key,b,"element"),S(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
|
||||
+function Xe(a){let b=ee(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Gc(e);if(f||x(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,Z=!1,mf=!1,$b=0,nf={characterData:!0,childList:!0,subtree:!0};function ec(){return Z||null!==T&&T._readOnly}function G(){Z&&q(13)}function ac(){null===T&&q(15);return T}
|
||||
+function F(){null===U&&q(16);return U}function of(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&q(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function pf(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Hb(b)}
|
||||
+function qf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=dc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let n of g)g=a.get(n),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&of(b,g,f),c.add(n);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let n of k)if(k=n[0],m=n[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
+g&&void 0!==g&&g.__key!==e&&g.isAttached()&&of(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;$b++}b._dirtyLeaves=c;b._dirtyElements=d}function rf(a,b){var c=a.type,d=b.get(c);void 0===d&&q(17,c);c=d.klass;a.type!==c.getType()&&q(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=rf(a[d],b);c.append(e)}return c}function sf(a,b){let c=T,d=Z,e=U;T=a;Z=!0;U=null;try{return b()}finally{T=c,Z=d,U=e}}
|
||||
+function tf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,n=Z,p=U,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){U=a;T=c;Z=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var y=D,z=P,A=Q;N=Kc=M="";Nc=2===y;Qc=null;O=a;Lc=a._config;Mc=a._nodes;Pc=O._listeners.mutation;Rc=z;Sc=A;Tc=f._nodeMap;
|
||||
+Uc=c._nodeMap;Oc=c._readOnly;dd=new Map(a._keyToDOMMap);let fa=new Map;ed=fa;sd("root",null);ed=dd=Lc=Uc=Tc=Sc=Rc=Mc=O=void 0;w=fa}catch(D){D instanceof Error&&a._onError(D);if(mf)throw D;uf(a,null,d,c);Db(a);a._dirtyType=2;mf=!0;tf(a,f);mf=!1;return}finally{r.observe(d,nf),a._updating=l,T=m,Z=n,U=p}}c._readOnly||(c._readOnly=!0);var Ia=a._dirtyLeaves,ca=a._dirtyElements,Wa=a._normalizedNodes,ia=a._updateTags,Vc=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
+new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var Ee=a._decorators,Nb=a._pendingDecorators||Ee,If=c._nodeMap,Wc;for(Wc in Nb)If.has(Wc)||(Nb===Ee&&(Nb=fc(a)),delete Nb[Wc]);var ha=e?null:xb(a._window);if(a._editable&&null!==ha&&(k||null===h||h.dirty)){U=a;T=c;try{null!==r&&r.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Cc(D,a,d);a:{let P=ha.anchorNode,Q=ha.focusNode,fa=ha.anchorOffset,lb=ha.focusOffset,W=document.activeElement;if(!(ia.has("collaboration")&&
|
||||
+W!==d||null!==W&&Mb(W)))if(C(h)){var mb=h.anchor,Xc=h.focus,Fe=mb.key,Jf=Xc.key,Ge=uc(a,Fe),He=uc(a,Jf),Ob=mb.offset,Ie=Xc.offset,Yc=h.format,Zc=h.style,Je=h.isCollapsed(),nb=Ge,Pb=He,$c=!1;if("text"===mb.type){nb=Xb(Ge);let X=mb.getNode();$c=X.getFormat()!==Yc||X.getStyle()!==Zc}else C(g)&&"text"===g.anchor.type&&($c=!0);"text"===Xc.type&&(Pb=Xb(He));if(null!==nb&&null!==Pb){if(Je&&(null===g||$c||C(g)&&(g.format!==Yc||g.style!==Zc))){var Kf=performance.now();Md=[Yc,Zc,Ob,Fe,Kf]}if(fa===Ob&&lb===
|
||||
+Ie&&P===nb&&Q===Pb&&("Range"!==ha.type||!Je)&&(null!==W&&d.contains(W)||d.focus({preventScroll:!0}),"element"!==mb.type))break a;try{ha.setBaseAndExtent(nb,Ob,Pb,Ie)}catch(X){}if(!ia.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let X=h instanceof Te&&"element"===h.anchor.type?nb.childNodes[Ob]||null:0<ha.rangeCount?ha.getRangeAt(0):null;if(null!==X){let Y;if(X instanceof Text){let V=document.createRange();V.selectNode(X);Y=V.getBoundingClientRect()}else Y=X.getBoundingClientRect();
|
||||
+let wa=d.ownerDocument,Da=wa.defaultView;if(null!==Da)for(var {top:ad,bottom:bd}=Y,Qb,Rb,ma=d;null!==ma;){let V=ma===wa.body;if(V)Qb=0,Rb=Eb(a).innerHeight;else{let Sb=ma.getBoundingClientRect();Qb=Sb.top;Rb=Sb.bottom}let Ea=0;ad<Qb?Ea=-(Qb-ad):bd>Rb&&(Ea=bd-Rb);if(0!==Ea)if(V)Da.scrollBy(0,Ea);else{let Sb=ma.scrollTop;ma.scrollTop+=Ea;let Ke=ma.scrollTop-Sb;ad-=Ke;bd-=Ke}if(V)break;ma=Vb(ma)}}}Id=!0}}else null!==g&&Tb(a,P,Q)&&ha.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
"element"===h.anchor.type&&d.contains(document.activeElement)){let P=h.anchor,Q=P.getNode(),fa=P.offset,lb=Q.getChildrenSize(),W=!1,X=null;if(fa===lb){let Y=Q.getChildAtIndex(fa-1);Bc(Y)&&(W=!0)}else{let Y=Q.getChildAtIndex(fa);if(Bc(Y)){let wa=Y.getPreviousSibling();if(null===wa||Bc(wa))W=!0,X=a.getElementByKey(Y.__key)}}if(W){let Y=a.getElementByKey(Q.__key);if(null===D){let wa=a._config.theme,Da=document.createElement("div");Da.contentEditable="false";Da.setAttribute("data-lexical-cursor","true");
|
||||
-let V=wa.blockCursor;if(void 0!==V){if("string"===typeof V){let Ea=V.split(" ");V=wa.blockCursor=Ea}void 0!==V&&Da.classList.add(...V)}a._blockCursorElement=D=Da}d.style.caretColor="transparent";null===X?Y.appendChild(D):Y.insertBefore(D,X);break a}}null!==D&&Cc(D,a,d)}null!==r&&r.observe(d,mf)}finally{U=p,T=m}}if(null!==w){var Kf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [fa,lb]=D[Q],W=Kf.get(lb);void 0!==W&&fa(W,{dirtyLeaves:Ia,prevEditorState:f,updateTags:ia})}}C(h)||
|
||||
-null===h||null!==g&&g.is(h)||a.dispatchCommand(aa,void 0);var cd=a._pendingDecorators;null!==cd&&(a._decorators=cd,a._pendingDecorators=null,uf("decorator",a,!0,cd));var Lf=gc(b||f),Ke=gc(c);Lf!==Ke&&uf("textcontent",a,!0,Ke);uf("update",a,!0,{dirtyElements:ca,dirtyLeaves:Ia,editorState:c,normalizedNodes:Wa,prevEditorState:b||f,tags:ia});a._deferred=[];if(0!==Vc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Vc.length;P++)Vc[P]()}finally{a._updating=D}}var Le=a._updates;if(0!==Le.length){let D=
|
||||
-Le.shift();if(D){let [P,Q]=D;vf(a,P,Q)}}}}function uf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
+let V=wa.blockCursor;if(void 0!==V){if("string"===typeof V){let Ea=V.split(" ");V=wa.blockCursor=Ea}void 0!==V&&Da.classList.add(...V)}a._blockCursorElement=D=Da}d.style.caretColor="transparent";null===X?Y.appendChild(D):Y.insertBefore(D,X);break a}}null!==D&&Cc(D,a,d)}null!==r&&r.observe(d,nf)}finally{U=p,T=m}}if(null!==w){var Lf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [fa,lb]=D[Q],W=Lf.get(lb);void 0!==W&&fa(W,{dirtyLeaves:Ia,prevEditorState:f,updateTags:ia})}}C(h)||
|
||||
+null===h||null!==g&&g.is(h)||a.dispatchCommand(aa,void 0);var cd=a._pendingDecorators;null!==cd&&(a._decorators=cd,a._pendingDecorators=null,vf("decorator",a,!0,cd));var Mf=gc(b||f),Le=gc(c);Mf!==Le&&vf("textcontent",a,!0,Le);vf("update",a,!0,{dirtyElements:ca,dirtyLeaves:Ia,editorState:c,normalizedNodes:Wa,prevEditorState:b||f,tags:ia});a._deferred=[];if(0!==Vc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Vc.length;P++)Vc[P]()}finally{a._updating=D}}var Me=a._updates;if(0!==Me.length){let D=
|
||||
+Me.shift();if(D){let [P,Q]=D;wf(a,P,Q)}}}}function vf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
function R(a,b,c){if(!1===a._updating||U!==a){let f=!1;a.update(()=>{f=R(a,b,c)});return f}let d=kc(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}
|
||||
-function wf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
-function vf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new xf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=Z,m=U,n=a._updating;T=g;Z=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=bf(a));let p=a._compositionKey;
|
||||
-b();e=wf(a,e);df(g,a);0!==a._dirtyType&&(e?of(g,a):pf(g,a),wf(a),Jc(c,g,a._dirtyLeaves,a._dirtyElements));p!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let r=g._nodeMap,w=l.focus.key;void 0!==r.get(l.anchor.key)&&void 0!==r.get(w)||q(19)}else Ud(l)&&0===l._nodes.size&&(g._selection=null)}catch(p){p instanceof Error&&a._onError(p);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();sf(a);return}finally{T=f,Z=k,U=m,
|
||||
-a._updating=n,$b=0}0!==a._dirtyType||yf(g,a)?g._flushSync?(g._flushSync=!1,sf(a)):h&&Lb(()=>{sf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):vf(a,b,c)}class zf extends be{constructor(a){super(a)}decorate(){q(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function x(a){return a instanceof zf}
|
||||
-class Af extends be{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return kb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
+function xf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
+function wf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new yf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=Z,m=U,n=a._updating;T=g;Z=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=cf(a));let p=a._compositionKey;
|
||||
+b();e=xf(a,e);ef(g,a);0!==a._dirtyType&&(e?pf(g,a):qf(g,a),xf(a),Jc(c,g,a._dirtyLeaves,a._dirtyElements));p!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let r=g._nodeMap,w=l.focus.key;void 0!==r.get(l.anchor.key)&&void 0!==r.get(w)||q(19)}else Ud(l)&&0===l._nodes.size&&(g._selection=null)}catch(p){p instanceof Error&&a._onError(p);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();tf(a);return}finally{T=f,Z=k,U=m,
|
||||
+a._updating=n,$b=0}0!==a._dirtyType||zf(g,a)?g._flushSync?(g._flushSync=!1,tf(a)):h&&Lb(()=>{tf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):wf(a,b,c)}class Af extends be{constructor(a){super(a)}decorate(){q(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function x(a){return a instanceof Af}
|
||||
+class Bf extends be{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return kb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
this.getChildrenSize()}isDirty(){let a=F()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest(),b=this.getParentOrThrow().getLastChild();return null!==b&&b.is(a)}getAllTextNodes(){let a=[],b=this.getFirstChild();for(;null!==b;){B(b)&&a.push(b);if(E(b)){let c=b.getAllTextNodes();a.push(...c)}b=b.getNextSibling()}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(E(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=
|
||||
this.getLastChild();for(;null!==a;){if(E(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],E(a)&&a.getLastDescendant()||a||null;a=b[a];return E(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__first;return null===a?null:I(a)}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&q(45,this.__key);return a}getLastChild(){let a=this.getLatest().__last;return null===
|
||||
a?null:I(a)}getLastChildOrThrow(){let a=this.getLastChild();null===a&&q(96,this.__key);return a}getChildAtIndex(a){var b=this.getChildrenSize();let c;if(a<b/2){c=this.getFirstChild();for(b=0;null!==c&&b<=a;){if(b===a)return c;c=c.getNextSibling();b++}return null}c=this.getLastChild();for(--b;null!==c&&b>=a;){if(b===a)return c;c=c.getPreviousSibling();b--}return null}getTextContent(){let a="",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();E(e)&&d!==c-1&&!e.isInline()&&
|
||||
(a+="\n\n")}return a}getTextContentSize(){let a=0,b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContentSize();E(e)&&d!==c-1&&!e.isInline()&&(a+=2)}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return""!==a?(a=jb[a],0!==(this.getFormat()&a)):!1}select(a,b){G();let c=u(),d=a,e=b;var f=this.getChildrenSize();if(!this.canBeEmpty())if(0===a&&0===b){if(a=this.getFirstChild(),B(a)||E(a))return a.select(0,0)}else if(!(void 0!==a&&a!==f||void 0!==b&&b!==f)&&
|
||||
-(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return te(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
+(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return ue(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=""!==a?jb[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=c.length,e=this.getChildrenSize(),f=this.getWritable(),g=f.__key;var h=[],k=[];let m=this.getChildAtIndex(a+b),n=null,p=e-b+d;if(0!==a)if(a===e)n=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(n=l.getPreviousSibling())}if(0<b){var r=null===n?this.getFirstChild():n.getNextSibling();
|
||||
for(l=0;l<b;l++){null===r&&q(100);var w=r.getNextSibling(),y=r.__key;r=r.getWritable();bc(r);k.push(y);r=w}}l=n;for(w=0;w<d;w++){y=c[w];null!==l&&y.is(l)&&(n=l=l.getPreviousSibling());r=y.getWritable();r.__parent===g&&p--;bc(r);let z=y.__key;null===l?(f.__first=z,r.__prev=null):(l=l.getWritable(),l.__next=z,r.__prev=l.__key);y.__key===g&&q(76);r.__parent=g;h.push(z);l=y}a+b===e?null!==l&&(l.getWritable().__next=null,f.__last=l.__key):null!==m&&(a=m.getWritable(),null!==l?(b=l.getWritable(),a.__prev=
|
||||
-l.__key,b.__next=m.__key):a.__prev=null);f.__size=p;if(k.length&&(a=u(),C(a))){k=new Set(k);h=new Set(h);let {anchor:z,focus:A}=a;Bf(z,k,h)&&$d(z,z.getNode(),this,n,m);Bf(A,k,h)&&$d(A,A.getNode(),this,n,m);0!==p||this.canBeEmpty()||xc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
-function E(a){return a instanceof Af}function Bf(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
-class Cf extends Af{static getType(){return"root"}static clone(){return new Cf}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){q(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){q(52)}replace(){q(53)}insertBefore(){q(54)}insertAfter(){q(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||x(c)||q(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
-b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Cf}function yf(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Df(){return new xf(new Map([["root",new Cf]]))}
|
||||
-function Ef(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&q(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||q(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=Ef(a[c]);d.push(e)}}return b}
|
||||
-class xf{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return rf(this,a)}clone(a){a=new xf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return rf(this,()=>({root:Ef(J())}))}}
|
||||
-class Ff extends Af{static getType(){return"paragraph"}static clone(a){return new Ff(a.__key)}createDOM(a){let b=document.createElement("p");a=pc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Gf,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Ec(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
+l.__key,b.__next=m.__key):a.__prev=null);f.__size=p;if(k.length&&(a=u(),C(a))){k=new Set(k);h=new Set(h);let {anchor:z,focus:A}=a;Cf(z,k,h)&&$d(z,z.getNode(),this,n,m);Cf(A,k,h)&&$d(A,A.getNode(),this,n,m);0!==p||this.canBeEmpty()||xc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
+function E(a){return a instanceof Bf}function Cf(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
+class Df extends Bf{static getType(){return"root"}static clone(){return new Df}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){q(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){q(52)}replace(){q(53)}insertBefore(){q(54)}insertAfter(){q(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||x(c)||q(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
+b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Df}function zf(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Ef(){return new yf(new Map([["root",new Df]]))}
|
||||
+function Ff(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&q(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||q(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=Ff(a[c]);d.push(e)}}return b}
|
||||
+class yf{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return sf(this,a)}clone(a){a=new yf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return sf(this,()=>({root:Ff(J())}))}}
|
||||
+class Gf extends Bf{static getType(){return"paragraph"}static clone(a){return new Gf(a.__key)}createDOM(a){let b=document.createElement("p");a=pc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Hf,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Ec(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=ee();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:"paragraph",version:1}}insertNewAfter(a,b){a=ee();let c=this.getDirection();a.setDirection(c);this.insertAfter(a,b);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||B(a[0])&&""===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),
|
||||
-this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Gf(a){let b=ee();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ee(){return zc(new Ff)}
|
||||
-function tf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Df();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
-function Mf(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
-class Nf{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
+this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Hf(a){let b=ee();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ee(){return zc(new Gf)}
|
||||
+function uf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Ef();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
+function Nf(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
+class Of{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
new Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=lc();this._onError=e;this._htmlConversions=f;this._editable=g;this._headless=null!==b&&b._headless;this._blockCursorElement=this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=
|
||||
this._listeners.decorator;b.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&q(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&q(36,String(a));let f=e[c];f.add(b);return()=>{f.delete(b);
|
||||
e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,b){void 0===this._nodes.get(a.getType())&&q(37,a.name);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransformToKlass(a,b){var c=a.getType();c=this._nodes.get(c);void 0===c&&q(37,a.name);c.transforms.add(b);return c}registerNodeTransform(a,b){var c=this.registerNodeTransformToKlass(a,b);let d=[c];c=c.replaceWithKlass;null!=c&&(c=this.registerNodeTransformToKlass(c,b),d.push(c));hc(this,a.getType());return()=>
|
||||
-{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=pc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;tf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
+{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=pc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;uf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
Hd&&(Hd--,0===Hd&&b.ownerDocument.removeEventListener("selectionchange",Xd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=kc(d);e=e[e.length-1]._key;Wd.get(e)===d&&Wd.delete(e)}else Wd.delete(d._key);b.__lexicalEditor=null}d=Vd(b);for(e=0;e<d.length;e++)d[e]();b.__lexicalEventHandles=[]}null!=f&&b.classList.remove(...f)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect="text",d.whiteSpace="pre-wrap",d.wordBreak="break-word",a.setAttribute("data-lexical-editor",
|
||||
-"true"),this._window=c,this._dirtyType=2,Db(this),this._updateTags.add("history-merge"),sf(this),this._config.disableEvents||Yd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);uf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&q(38);Cb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
-(null!=b&&d.add(b),sf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);sf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Df(),d=T,e=Z,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;Z=!1;U=this;try{qf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(n){n instanceof
|
||||
+"true"),this._window=c,this._dirtyType=2,Db(this),this._updateTags.add("history-merge"),tf(this),this._config.disableEvents||Yd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);vf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&q(38);Cb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
+(null!=b&&d.add(b),tf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);tf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Ef(),d=T,e=Z,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;Z=!1;U=this;try{rf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(n){n instanceof
|
||||
Error&&this._onError(n)}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,T=d,Z=e,U=f}return c}update(a,b){v(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute("autocapitalize","off"),v(this,()=>{let d=u(),e=J();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&("rootStart"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute("autocapitalize");a&&a()},tag:"focus"}),null===this._pendingEditorState&&c.removeAttribute("autocapitalize"))}blur(){var a=
|
||||
-this._rootElement;null!==a&&a.blur();a=xb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,uf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
-class ff extends Af{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function gf(a){return a instanceof ff}class Of extends Af{}function jf(a){return a instanceof Of}class Pf extends Af{}
|
||||
-function hf(a){return a instanceof Pf}exports.$INTERNAL_isPointSelection=ce;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=ie;exports.$createNodeSelection=Xe;exports.$createParagraphNode=ee;exports.$createPoint=S;exports.$createRangeSelection=function(){let a=S("root",0,"element"),b=S("root",0,"element");return new Se(a,b,0,"")};exports.$createTabNode=we;exports.$createTextNode=K;
|
||||
+this._rootElement;null!==a&&a.blur();a=xb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,vf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
+class gf extends Bf{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function hf(a){return a instanceof gf}class Pf extends Bf{}function kf(a){return a instanceof Pf}class Qf extends Bf{}
|
||||
+function jf(a){return a instanceof Qf}exports.$INTERNAL_isPointSelection=ce;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=je;exports.$createNodeSelection=Ye;exports.$createParagraphNode=ee;exports.$createPoint=S;exports.$createRangeSelection=function(){let a=S("root",0,"element"),b=S("root",0,"element");return new Te(a,b,0,"")};exports.$createTabNode=xe;exports.$createTextNode=K;
|
||||
exports.$getAdjacentNode=sc;exports.$getNearestNodeFromDOMNode=wb;exports.$getNearestRootOrShadowRoot=wc;exports.$getNodeByKey=I;exports.$getPreviousSelection=nc;exports.$getRoot=J;exports.$getSelection=u;exports.$getTextContent=function(){let a=u();return null===a?"":a.getTextContent()};exports.$hasAncestor=vc;exports.$hasUpdateTag=function(a){return F()._updateTags.has(a)};exports.$insertNodes=function(a){let b=u()||nc();null===b&&(b=J().selectEnd());b.insertNodes(a)};
|
||||
-exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};exports.$isDecoratorNode=x;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||x(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Gc(a)||x(a)};exports.$isLineBreakNode=Gc;exports.$isNodeSelection=Ud;exports.$isParagraphNode=function(a){return a instanceof Ff};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Be;
|
||||
-exports.$isTextNode=B;exports.$nodesOfType=function(a){var b=ac();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Ib;exports.$parseSerializedNode=function(a){return qf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());Ab(Ib(a))};exports.$setCompositionKey=H;exports.$setSelection=Ab;
|
||||
+exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};exports.$isDecoratorNode=x;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||x(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Gc(a)||x(a)};exports.$isLineBreakNode=Gc;exports.$isNodeSelection=Ud;exports.$isParagraphNode=function(a){return a instanceof Gf};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Ce;
|
||||
+exports.$isTextNode=B;exports.$nodesOfType=function(a){var b=ac();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Ib;exports.$parseSerializedNode=function(a){return rf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());Ab(Ib(a))};exports.$setCompositionKey=H;exports.$setSelection=Ab;
|
||||
exports.$splitNode=function(a,b){let c=a.getChildAtIndex(b);null==c&&(c=a);xc(a)&&q(102);let d=g=>{const h=g.getParentOrThrow(),k=xc(h),m=g!==c||k?yc(g):g;if(k){if(!E(g)||!E(m))throw Error("Children of a root must be ElementNode");g.insertAfter(m);return[g,m,m]}const [n,p,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[n,p,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Sa;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};
|
||||
exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ka;exports.COPY_COMMAND=Oa;exports.CUT_COMMAND=Pa;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=pa;exports.DELETE_WORD_COMMAND=oa;
|
||||
-exports.DEPRECATED_$computeGridMap=function(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let n=0;n<a.length;n++){var g=a[n];hf(g)||q(108);var h=g.getChildren();g=0;for(let p of h){for(gf(p)||q(109);void 0!==d[n]&&void 0!==d[n][g];)g++;h=n;var k=g,m=p;let l={cell:m,startColumn:k,startRow:h},r=m.__rowSpan,w=m.__colSpan;for(let y=0;y<r;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let z=0;z<w;z++)d[h+y][k+z]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=p.__colSpan}}null===e&&q(110);null===f&&q(111);return[d,e,
|
||||
-f]};exports.DEPRECATED_$getGridCellNodeRect=function(a){let [b,,c]=ef(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],n=m.__rowSpan||1,p=m.__colSpan||1;for(let l=0;l<n;l++)for(let r=0;r<p;r++)f[e+l][h+r]=m;if(b===m)return{colSpan:p,columnIndex:h,rowIndex:e,rowSpan:n};h+=p}}return null};exports.DEPRECATED_$getNodeTriplet=ef;
|
||||
-exports.DEPRECATED_$isGridCellNode=gf;exports.DEPRECATED_$isGridNode=jf;exports.DEPRECATED_$isGridRowNode=hf;exports.DEPRECATED_GridCellNode=ff;exports.DEPRECATED_GridNode=Of;exports.DEPRECATED_GridRowNode=Pf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=zf;exports.ElementNode=Af;exports.FOCUS_COMMAND=Ra;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};
|
||||
-exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ja;exports.INSERT_TAB_COMMAND={};exports.INTERNAL_PointSelection=Pe;exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=xa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Fa;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Ca;
|
||||
-exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=ge;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Ff;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Cf;exports.SELECTION_CHANGE_COMMAND=aa;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Ae;exports.TextNode=oe;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
|
||||
-exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Df(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[Cf,oe,ge,Ae,Ff,...(b.nodes||[])],{onError:n,html:p}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let r=m[c],w=null;var l=null;"function"!==typeof r&&(l=r,r=l.replace,w=l.with,l=l.withKlass||null);let y=r.getType(),z=r.transform(),A=
|
||||
-new Set;null!==z&&A.add(z);a.set(y,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:A})}d=new Nf(g,e,a,{disableEvents:f,namespace:h,theme:d},n?n:console.error,Mf(a,p?p.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Ub;exports.isCurrentlyReadOnlyMode=ec;exports.isHTMLAnchorElement=function(a){return Ec(a)&&"A"===a.tagName};exports.isHTMLElement=Ec;
|
||||
+exports.DEPRECATED_$computeGridMap=function(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let n=0;n<a.length;n++){var g=a[n];jf(g)||q(108);var h=g.getChildren();g=0;for(let p of h){for(hf(p)||q(109);void 0!==d[n]&&void 0!==d[n][g];)g++;h=n;var k=g,m=p;let l={cell:m,startColumn:k,startRow:h},r=m.__rowSpan,w=m.__colSpan;for(let y=0;y<r;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let z=0;z<w;z++)d[h+y][k+z]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=p.__colSpan}}null===e&&q(110);null===f&&q(111);return[d,e,
|
||||
+f]};exports.DEPRECATED_$getGridCellNodeRect=function(a){let [b,,c]=ff(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],n=m.__rowSpan||1,p=m.__colSpan||1;for(let l=0;l<n;l++)for(let r=0;r<p;r++)f[e+l][h+r]=m;if(b===m)return{colSpan:p,columnIndex:h,rowIndex:e,rowSpan:n};h+=p}}return null};exports.DEPRECATED_$getNodeTriplet=ff;
|
||||
+exports.DEPRECATED_$isGridCellNode=hf;exports.DEPRECATED_$isGridNode=kf;exports.DEPRECATED_$isGridRowNode=jf;exports.DEPRECATED_GridCellNode=gf;exports.DEPRECATED_GridNode=Pf;exports.DEPRECATED_GridRowNode=Qf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=Af;exports.ElementNode=Bf;exports.FOCUS_COMMAND=Ra;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};
|
||||
+exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ja;exports.INSERT_TAB_COMMAND={};exports.INTERNAL_PointSelection=Qe;exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=xa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Fa;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Ca;
|
||||
+exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=ge;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Gf;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Df;exports.SELECTION_CHANGE_COMMAND=aa;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Be;exports.TextNode=pe;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
|
||||
+exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Ef(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[Df,pe,ge,Be,Gf,...(b.nodes||[])],{onError:n,html:p}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let r=m[c],w=null;var l=null;"function"!==typeof r&&(l=r,r=l.replace,w=l.with,l=l.withKlass||null);let y=r.getType(),z=r.transform(),A=
|
||||
+new Set;null!==z&&A.add(z);a.set(y,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:A})}d=new Of(g,e,a,{disableEvents:f,namespace:h,theme:d},n?n:console.error,Nf(a,p?p.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Ub;exports.isCurrentlyReadOnlyMode=ec;exports.isHTMLAnchorElement=function(a){return Ec(a)&&"A"===a.tagName};exports.isHTMLElement=Ec;
|
||||
exports.isSelectionCapturedInDecoratorInput=Mb;exports.isSelectionWithinEditor=Tb
|
||||
+3
-2
@@ -44,8 +44,9 @@
|
||||
"@types/react-native-vector-icons/@types/react": "17.0.2",
|
||||
"@types/react-native/@types/react": "17.0.2",
|
||||
"@types/hoist-non-react-statics/@types/react": "17.0.2",
|
||||
"[email protected].5": "patch:lexical@npm:0.12.5#.yarn/patches/lexical-npm-0.12.5-4685aa4776.patch",
|
||||
"@lexical/clipboard@0.12.5": "patch:@lexical/clipboard@npm:0.12.5#.yarn/patches/@lexical-clipboard-npm-0.12.5-e1ca4ff56d.patch"
|
||||
"@lexical/clipboard@0.12.6": "patch:@lexical/clipboard@npm:0.12.6#.yarn/patches/@lexical-clipboard-npm-0.12.6-4163a238a6.patch",
|
||||
"@lexical/rich-text@0.12.6": "patch:@lexical/rich-text@npm:0.12.6#.yarn/patches/@lexical-rich-text-npm-0.12.6-1692a2faf1.patch",
|
||||
"[email protected]": "patch:lexical@npm:0.12.6#.yarn/patches/lexical-npm-0.12.6-d9d90fc300.patch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@standardnotes/snjs": "workspace:*"
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.26.76](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.75](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/api",
|
||||
"version": "1.26.75",
|
||||
"version": "1.26.76",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,102 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.1.396](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.395](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.394](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.393](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.392](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.391](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.390](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.389](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.388](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.387](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.386](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.385](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.384](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.383](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.382](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.381](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.380](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.379](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.378](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.377](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.376](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.375](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.374](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.373](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.372](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@standardnotes/clipper",
|
||||
"description": "Web clipper browser extension for Standard Notes",
|
||||
"version": "1.1.372",
|
||||
"version": "1.1.396",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build-mv2": "yarn clean && webpack --config ./webpack.config.prod.js",
|
||||
|
||||
@@ -3,6 +3,102 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.108.334](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.333](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.332](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.331](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.330](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.329](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.328](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.327](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.326](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.325](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.324](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.323](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.322](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.321](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.320](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.319](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.318](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.317](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.316](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.315](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.314](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.313](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.312](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.311](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.108.310](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@standardnotes/desktop",
|
||||
"main": "./app/dist/index.js",
|
||||
"version": "3.108.310",
|
||||
"version": "3.108.334",
|
||||
"license": "AGPL-3.0",
|
||||
"author": "Standard Notes.",
|
||||
"private": true,
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.21.98](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.97](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/encryption",
|
||||
"version": "1.21.97",
|
||||
"version": "1.21.98",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.28.113](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.112](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.111](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/filepicker",
|
||||
"version": "1.28.111",
|
||||
"version": "1.28.113",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
@@ -29,7 +29,7 @@
|
||||
"@standardnotes/common": "^1.50.0",
|
||||
"@standardnotes/files": "workspace:*",
|
||||
"@standardnotes/utils": "workspace:*",
|
||||
"@types/wicg-file-system-access": "^2020.9.5",
|
||||
"@types/wicg-file-system-access": "^2023.10.4",
|
||||
"reflect-metadata": "^0.1.13"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,12 +22,14 @@ export class StreamingFileSaver {
|
||||
}
|
||||
|
||||
/** This function must be called in response to a user interaction, otherwise, it will be rejected by the browser. */
|
||||
async selectFileToSaveTo(): Promise<void> {
|
||||
async selectFileToSaveTo(handle?: FileSystemFileHandle): Promise<void> {
|
||||
this.log('Showing save file picker')
|
||||
|
||||
const downloadHandle = await window.showSaveFilePicker({
|
||||
suggestedName: this.name,
|
||||
})
|
||||
const downloadHandle = handle
|
||||
? handle
|
||||
: await window.showSaveFilePicker({
|
||||
suggestedName: this.name,
|
||||
})
|
||||
|
||||
this.writableStream = await downloadHandle.createWritable()
|
||||
}
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.18.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.18.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/files",
|
||||
"version": "1.18.9",
|
||||
"version": "1.18.10",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [1.15.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
### Features
|
||||
|
||||
* Editing large notes (greater than 1.5MB) will result in more optimized syncing, in which changes are saved locally immediately, but sync with the server less frequently (roughly every 30 seconds rather than after every change). ([#2768](https://github.com/standardnotes/app/issues/2768)) ([396ee3f](https://github.com/standardnotes/app/commit/396ee3f449c612600bbbe3294c61dc8be46ea365))
|
||||
|
||||
## [1.14.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-10-25)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/icons
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/icons",
|
||||
"version": "1.14.1",
|
||||
"version": "1.15.0",
|
||||
"private": true,
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path fill="currentColor" d="M12 20a8 8 0 0 0 8-8a8 8 0 0 0-8-8a8 8 0 0 0-8 8a8 8 0 0 0 8 8m0-18a10 10 0 0 1 10 10a10 10 0 0 1-10 10C6.47 22 2 17.5 2 12A10 10 0 0 1 12 2m.5 5v5.25l4.5 2.67l-.75 1.23L11 13V7z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 281 B |
@@ -43,6 +43,7 @@ import ChevronUpIcon from './ic-chevron-up.svg'
|
||||
import CircleIcon from './circle-55.svg'
|
||||
import ClearCircleFilledIcon from './ic-clear-circle-filled.svg'
|
||||
import CloseCircleFilledIcon from './ic-close-circle-filled.svg'
|
||||
import ClockIcon from './ic-clock.svg'
|
||||
import CloseIcon from './ic-close.svg'
|
||||
import CloudOffIcon from './ic-cloud-off.svg'
|
||||
import CodeIcon from './ic-code.svg'
|
||||
@@ -263,6 +264,7 @@ export {
|
||||
CircleIcon,
|
||||
ClearCircleFilledIcon,
|
||||
CloseCircleFilledIcon,
|
||||
ClockIcon,
|
||||
CloseIcon,
|
||||
CloudOffIcon,
|
||||
CodeIcon,
|
||||
|
||||
@@ -3,6 +3,102 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.58.55](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.54](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.53](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.52](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.51](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.50](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.49](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.48](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.47](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.46](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.45](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.44](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.43](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.42](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.41](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.40](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.39](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.38](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.37](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.36](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.35](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.34](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.33](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.32](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.31](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/mobile",
|
||||
"version": "3.58.31",
|
||||
"version": "3.58.55",
|
||||
"author": "Standard Notes.",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
# [1.51.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
### Features
|
||||
|
||||
* Editing large notes (greater than 1.5MB) will result in more optimized syncing, in which changes are saved locally immediately, but sync with the server less frequently (roughly every 30 seconds rather than after every change). ([#2768](https://github.com/standardnotes/app/issues/2768)) ([396ee3f](https://github.com/standardnotes/app/commit/396ee3f449c612600bbbe3294c61dc8be46ea365))
|
||||
|
||||
## [1.50.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/models
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/models",
|
||||
"version": "1.50.2",
|
||||
"version": "1.51.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
||||
@@ -37,6 +37,7 @@ export type IconType =
|
||||
| 'chevron-right'
|
||||
| 'chevron-up'
|
||||
| 'clear-circle-filled'
|
||||
| 'clock'
|
||||
| 'close'
|
||||
| 'cloud-off'
|
||||
| 'code-2'
|
||||
|
||||
@@ -3,6 +3,102 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.4.690](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.689](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.688](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.687](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.686](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.685](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.684](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.683](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.682](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.681](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.680](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.679](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.678](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.677](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.676](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.675](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.674](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.673](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.672](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.671](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.670](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.669](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.668](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.667](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
## [1.4.666](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/releases
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/releases",
|
||||
"version": "1.4.666",
|
||||
"version": "1.4.690",
|
||||
"license": "AGPL-3.0",
|
||||
"main": "dist/releases.json",
|
||||
"types": "dist/index.d.ts",
|
||||
|
||||
@@ -3,6 +3,32 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.68.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
# [1.68.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
### Features
|
||||
|
||||
* Editing large notes (greater than 1.5MB) will result in more optimized syncing, in which changes are saved locally immediately, but sync with the server less frequently (roughly every 30 seconds rather than after every change). ([#2768](https://github.com/standardnotes/app/issues/2768)) ([396ee3f](https://github.com/standardnotes/app/commit/396ee3f449c612600bbbe3294c61dc8be46ea365))
|
||||
|
||||
## [1.67.11](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
## [1.67.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
## [1.67.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
## [1.67.8](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
## [1.67.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/services
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/services",
|
||||
"version": "1.67.7",
|
||||
"version": "1.68.1",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -64,7 +64,7 @@ export interface ApplicationInterface {
|
||||
setPreference<K extends PrefKey>(key: K, value: PrefValue[K]): Promise<void>
|
||||
|
||||
hasAccount(): boolean
|
||||
setCustomHost(host: string): Promise<void>
|
||||
setCustomHost(host: string, websocketUrl?: string): Promise<void>
|
||||
isUsingHomeServer(): Promise<boolean>
|
||||
|
||||
importData(data: BackupFile, awaitSync?: boolean): Promise<Result<ImportDataResult>>
|
||||
|
||||
@@ -18,6 +18,11 @@ export interface ApplicationOptionalConfiguratioOptions {
|
||||
*/
|
||||
webSocketUrl?: string
|
||||
|
||||
/**
|
||||
* Amount sync calls allowed per minute.
|
||||
*/
|
||||
syncCallsThresholdPerMinute?: number
|
||||
|
||||
/**
|
||||
* 3rd party library function for prompting U2F authenticator device registration
|
||||
*
|
||||
|
||||
@@ -56,4 +56,5 @@ export enum ApplicationEvent {
|
||||
/** Called when the app first launches and after first sync request made after sign in */
|
||||
CompletedInitialSync = 'Application:CompletedInitialSync',
|
||||
DidPurchaseSubscription = 'Application:DidPurchaseSubscription',
|
||||
SyncTooManyRequests = 'Application:SyncTooManyRequests',
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ export enum SyncEvent {
|
||||
ReceivedSharedVaultInvites = 'received-shared-vault-invites',
|
||||
ReceivedNotifications = 'received-user-events',
|
||||
ReceivedAsymmetricMessages = 'received-asymmetric-messages',
|
||||
TooManyRequests = 'too-many-requests',
|
||||
}
|
||||
|
||||
export type SyncEventReceivedRemoteSharedVaultsData = SharedVaultServerHash[]
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
export enum WebAppEvent {
|
||||
NewUpdateAvailable = 'NewUpdateAvailable',
|
||||
EditorFocused = 'EditorFocused',
|
||||
EditorDidFocus = 'EditorDidFocus',
|
||||
BeganBackupDownload = 'BeganBackupDownload',
|
||||
EndedBackupDownload = 'EndedBackupDownload',
|
||||
PanelResized = 'PanelResized',
|
||||
|
||||
@@ -13,6 +13,7 @@ import { RawStorageKey } from '../Storage/StorageKeys'
|
||||
import { HomeServerServiceInterface } from './HomeServerServiceInterface'
|
||||
import { HomeServerEnvironmentConfiguration } from './HomeServerEnvironmentConfiguration'
|
||||
import { HomeServerStatus } from './HomeServerStatus'
|
||||
import { Platform } from '@standardnotes/models'
|
||||
|
||||
export class HomeServerService
|
||||
extends AbstractService
|
||||
@@ -22,6 +23,7 @@ export class HomeServerService
|
||||
|
||||
constructor(
|
||||
private desktopDevice: DesktopDeviceInterface,
|
||||
private platform: Platform,
|
||||
protected override internalEventBus: InternalEventBusInterface,
|
||||
) {
|
||||
super(internalEventBus)
|
||||
@@ -173,7 +175,8 @@ export class HomeServerService
|
||||
if (!documentsDirectory) {
|
||||
return
|
||||
}
|
||||
location = `${documentsDirectory}/${this.HOME_SERVER_DATA_DIRECTORY_NAME}`
|
||||
const separator = this.platform === Platform.WindowsDesktop ? '\\' : '/'
|
||||
location = `${documentsDirectory}${separator}${this.HOME_SERVER_DATA_DIRECTORY_NAME}`
|
||||
}
|
||||
|
||||
await this.desktopDevice.setRawStorageValue(RawStorageKey.HomeServerDataLocation, location)
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
import { AnyItemInterface } from '@standardnotes/models'
|
||||
import { SyncBackoffService } from './SyncBackoffService'
|
||||
|
||||
describe('SyncBackoffService', () => {
|
||||
const createService = () => new SyncBackoffService()
|
||||
|
||||
it('should not be in backoff if no backoff was set', () => {
|
||||
const service = createService()
|
||||
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(false)
|
||||
})
|
||||
|
||||
it('should be in backoff if backoff was set', () => {
|
||||
const service = createService()
|
||||
|
||||
service.backoffItem({ uuid: '123' } as jest.Mocked<AnyItemInterface>)
|
||||
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(true)
|
||||
})
|
||||
|
||||
it('should not be in backoff if backoff expired', () => {
|
||||
const service = createService()
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_000_000)
|
||||
|
||||
service.backoffItem({ uuid: '123' } as jest.Mocked<AnyItemInterface>)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(2_000_000)
|
||||
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(false)
|
||||
})
|
||||
|
||||
it('should double backoff penalty on each backoff', () => {
|
||||
const service = createService()
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_000_000)
|
||||
|
||||
service.backoffItem({ uuid: '123' } as jest.Mocked<AnyItemInterface>)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_000_000)
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(true)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_000_000)
|
||||
service.backoffItem({ uuid: '123' } as jest.Mocked<AnyItemInterface>)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_001_000)
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(true)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_000_000)
|
||||
service.backoffItem({ uuid: '123' } as jest.Mocked<AnyItemInterface>)
|
||||
|
||||
jest.spyOn(Date, 'now').mockReturnValueOnce(1_003_000)
|
||||
expect(service.isItemInBackoff({ uuid: '123' } as jest.Mocked<AnyItemInterface>)).toBe(true)
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,37 @@
|
||||
import { AnyItemInterface } from '@standardnotes/models'
|
||||
import { SyncBackoffServiceInterface } from './SyncBackoffServiceInterface'
|
||||
|
||||
export class SyncBackoffService implements SyncBackoffServiceInterface {
|
||||
private backoffPenalties: Map<string, number>
|
||||
private backoffStartTimestamps: Map<string, number>
|
||||
|
||||
constructor() {
|
||||
this.backoffPenalties = new Map<string, number>()
|
||||
this.backoffStartTimestamps = new Map<string, number>()
|
||||
}
|
||||
|
||||
isItemInBackoff(item: AnyItemInterface): boolean {
|
||||
const backoffStartingTimestamp = this.backoffStartTimestamps.get(item.uuid)
|
||||
if (!backoffStartingTimestamp) {
|
||||
return false
|
||||
}
|
||||
|
||||
const backoffPenalty = this.backoffPenalties.get(item.uuid)
|
||||
if (!backoffPenalty) {
|
||||
return false
|
||||
}
|
||||
|
||||
const backoffEndTimestamp = backoffStartingTimestamp + backoffPenalty
|
||||
|
||||
return backoffEndTimestamp > Date.now()
|
||||
}
|
||||
|
||||
backoffItem(item: AnyItemInterface): void {
|
||||
const backoffPenalty = this.backoffPenalties.get(item.uuid) || 0
|
||||
|
||||
const newBackoffPenalty = backoffPenalty === 0 ? 1_000 : backoffPenalty * 2
|
||||
|
||||
this.backoffPenalties.set(item.uuid, newBackoffPenalty)
|
||||
this.backoffStartTimestamps.set(item.uuid, Date.now())
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import { AnyItemInterface } from '@standardnotes/models'
|
||||
|
||||
export interface SyncBackoffServiceInterface {
|
||||
isItemInBackoff(item: AnyItemInterface): boolean
|
||||
backoffItem(item: AnyItemInterface): void
|
||||
}
|
||||
@@ -11,4 +11,5 @@ export enum SyncMode {
|
||||
* all data to see if user has an items key, and if not, only then create a new one.
|
||||
*/
|
||||
DownloadFirst = 'DownloadFirst',
|
||||
LocalOnly = 'LocalOnly',
|
||||
}
|
||||
|
||||
@@ -181,6 +181,8 @@ export * from './Subscription/AppleIAPReceipt'
|
||||
export * from './Subscription/SubscriptionManager'
|
||||
export * from './Subscription/SubscriptionManagerEvent'
|
||||
export * from './Subscription/SubscriptionManagerInterface'
|
||||
export * from './Sync/SyncBackoffService'
|
||||
export * from './Sync/SyncBackoffServiceInterface'
|
||||
export * from './Sync/SyncMode'
|
||||
export * from './Sync/SyncOpStatus'
|
||||
export * from './Sync/SyncOptions'
|
||||
|
||||
@@ -3,6 +3,46 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [2.205.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-23)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
# [2.205.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
### Features
|
||||
|
||||
* Editing large notes (greater than 1.5MB) will result in more optimized syncing, in which changes are saved locally immediately, but sync with the server less frequently (roughly every 30 seconds rather than after every change). ([#2768](https://github.com/standardnotes/app/issues/2768)) ([396ee3f](https://github.com/standardnotes/app/commit/396ee3f449c612600bbbe3294c61dc8be46ea365))
|
||||
|
||||
## [2.204.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.14](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.13](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-06)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixes issue where self-hosted accounts may not have loaded correct server ([acd20dc](https://github.com/standardnotes/app/commit/acd20dcc70f4f84f07fbbd75fedcea459c22681c))
|
||||
|
||||
## [2.204.12](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.11](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
## [2.204.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-12-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/snjs
|
||||
|
||||
@@ -576,10 +576,10 @@ export class SNApplication implements ApplicationInterface, AppGroupManagedAppli
|
||||
return compareVersions(userVersion, ProtocolVersion.V004) >= 0
|
||||
}
|
||||
|
||||
public async setCustomHost(host: string): Promise<void> {
|
||||
public async setCustomHost(host: string, websocketUrl?: string): Promise<void> {
|
||||
await this.setHost.execute(host)
|
||||
|
||||
this.sockets.setWebSocketUrl(undefined)
|
||||
this.sockets.setWebSocketUrl(websocketUrl)
|
||||
}
|
||||
|
||||
public getUserPasswordCreationDate(): Date | undefined {
|
||||
|
||||
@@ -145,6 +145,8 @@ import {
|
||||
IsVaultAdmin,
|
||||
IsReadonlyVaultMember,
|
||||
DesignateSurvivor,
|
||||
SyncBackoffService,
|
||||
SyncBackoffServiceInterface,
|
||||
} from '@standardnotes/services'
|
||||
import { ItemManager } from '../../Services/Items/ItemManager'
|
||||
import { PayloadManager } from '../../Services/Payloads/PayloadManager'
|
||||
@@ -176,11 +178,15 @@ import { Logger, isNotUndefined, isDeinitable, LoggerInterface } from '@standard
|
||||
import { EncryptionOperators } from '@standardnotes/encryption'
|
||||
import { AsymmetricMessagePayload, AsymmetricMessageSharedVaultInvite } from '@standardnotes/models'
|
||||
import { PureCryptoInterface } from '@standardnotes/sncrypto-common'
|
||||
import { SyncFrequencyGuard } from '@Lib/Services/Sync/SyncFrequencyGuard'
|
||||
import { SyncFrequencyGuardInterface } from '@Lib/Services/Sync/SyncFrequencyGuardInterface'
|
||||
|
||||
export class Dependencies {
|
||||
private factory = new Map<symbol, () => unknown>()
|
||||
private dependencies = new Map<symbol, unknown>()
|
||||
|
||||
private DEFAULT_SYNC_CALLS_THRESHOLD_PER_MINUTE = 200
|
||||
|
||||
constructor(private options: FullyResolvedApplicationOptions) {
|
||||
this.dependencies.set(TYPES.DeviceInterface, options.deviceInterface)
|
||||
this.dependencies.set(TYPES.AlertService, options.alertService)
|
||||
@@ -1187,6 +1193,7 @@ export class Dependencies {
|
||||
|
||||
return new HomeServerService(
|
||||
this.get<DesktopDeviceInterface>(TYPES.DeviceInterface),
|
||||
this.options.platform,
|
||||
this.get<InternalEventBus>(TYPES.InternalEventBus),
|
||||
)
|
||||
})
|
||||
@@ -1340,6 +1347,16 @@ export class Dependencies {
|
||||
)
|
||||
})
|
||||
|
||||
this.factory.set(TYPES.SyncFrequencyGuard, () => {
|
||||
return new SyncFrequencyGuard(
|
||||
this.options.syncCallsThresholdPerMinute ?? this.DEFAULT_SYNC_CALLS_THRESHOLD_PER_MINUTE,
|
||||
)
|
||||
})
|
||||
|
||||
this.factory.set(TYPES.SyncBackoffService, () => {
|
||||
return new SyncBackoffService()
|
||||
})
|
||||
|
||||
this.factory.set(TYPES.SyncService, () => {
|
||||
return new SyncService(
|
||||
this.get<ItemManager>(TYPES.ItemManager),
|
||||
@@ -1357,6 +1374,8 @@ export class Dependencies {
|
||||
},
|
||||
this.get<Logger>(TYPES.Logger),
|
||||
this.get<WebSocketsService>(TYPES.WebSocketsService),
|
||||
this.get<SyncFrequencyGuardInterface>(TYPES.SyncFrequencyGuard),
|
||||
this.get<SyncBackoffServiceInterface>(TYPES.SyncBackoffService),
|
||||
this.get<InternalEventBus>(TYPES.InternalEventBus),
|
||||
)
|
||||
})
|
||||
|
||||
@@ -29,6 +29,8 @@ export const TYPES = {
|
||||
SessionManager: Symbol.for('SessionManager'),
|
||||
SubscriptionManager: Symbol.for('SubscriptionManager'),
|
||||
HistoryManager: Symbol.for('HistoryManager'),
|
||||
SyncFrequencyGuard: Symbol.for('SyncFrequencyGuard'),
|
||||
SyncBackoffService: Symbol.for('SyncBackoffService'),
|
||||
SyncService: Symbol.for('SyncService'),
|
||||
ProtectionService: Symbol.for('ProtectionService'),
|
||||
UserService: Symbol.for('UserService'),
|
||||
|
||||
@@ -16,6 +16,7 @@ const map: Record<string, ApplicationEvent> = {
|
||||
[SyncEvent.DatabaseReadError]: ApplicationEvent.LocalDatabaseReadError,
|
||||
[SyncEvent.DatabaseWriteError]: ApplicationEvent.LocalDatabaseWriteError,
|
||||
[SyncEvent.DownloadFirstSyncCompleted]: ApplicationEvent.CompletedInitialSync,
|
||||
[SyncEvent.TooManyRequests]: ApplicationEvent.SyncTooManyRequests,
|
||||
}
|
||||
|
||||
export function applicationEventForSyncEvent(syncEvent: SyncEvent): ApplicationEvent | undefined {
|
||||
|
||||
@@ -169,7 +169,7 @@ export class SessionManager
|
||||
}
|
||||
}
|
||||
|
||||
const serverHost = this.storage.getValue<string>(StorageKey.ServerHost)
|
||||
const serverHost = this.storage.getValue<string | undefined>(StorageKey.ServerHost)
|
||||
if (serverHost) {
|
||||
void this.apiService.setHost(serverHost)
|
||||
this.httpService.setHost(serverHost)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
import { SyncFrequencyGuard } from './SyncFrequencyGuard'
|
||||
|
||||
describe('SyncFrequencyGuard', () => {
|
||||
const createUseCase = () => new SyncFrequencyGuard(3)
|
||||
|
||||
it('should return false when sync calls threshold is not reached', () => {
|
||||
const useCase = createUseCase()
|
||||
|
||||
expect(useCase.isSyncCallsThresholdReachedThisMinute()).toBe(false)
|
||||
})
|
||||
|
||||
it('should return true when sync calls threshold is reached', () => {
|
||||
const useCase = createUseCase()
|
||||
|
||||
useCase.incrementCallsPerMinute()
|
||||
useCase.incrementCallsPerMinute()
|
||||
useCase.incrementCallsPerMinute()
|
||||
|
||||
expect(useCase.isSyncCallsThresholdReachedThisMinute()).toBe(true)
|
||||
})
|
||||
|
||||
it('should return false when sync calls threshold is reached but a new minute has started', () => {
|
||||
const spyOnGetCallsPerMinuteKey = jest.spyOn(SyncFrequencyGuard.prototype as any, 'getCallsPerMinuteKey')
|
||||
spyOnGetCallsPerMinuteKey.mockReturnValueOnce('2020-1-1T1:1')
|
||||
|
||||
const useCase = createUseCase()
|
||||
|
||||
useCase.incrementCallsPerMinute()
|
||||
useCase.incrementCallsPerMinute()
|
||||
useCase.incrementCallsPerMinute()
|
||||
|
||||
spyOnGetCallsPerMinuteKey.mockReturnValueOnce('2020-1-1T1:2')
|
||||
|
||||
expect(useCase.isSyncCallsThresholdReachedThisMinute()).toBe(false)
|
||||
|
||||
spyOnGetCallsPerMinuteKey.mockRestore()
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,40 @@
|
||||
import { SyncFrequencyGuardInterface } from './SyncFrequencyGuardInterface'
|
||||
|
||||
export class SyncFrequencyGuard implements SyncFrequencyGuardInterface {
|
||||
private callsPerMinuteMap: Map<string, number>
|
||||
|
||||
constructor(private syncCallsThresholdPerMinute: number) {
|
||||
this.callsPerMinuteMap = new Map<string, number>()
|
||||
}
|
||||
|
||||
isSyncCallsThresholdReachedThisMinute(): boolean {
|
||||
const stringDateToTheMinute = this.getCallsPerMinuteKey()
|
||||
const persistedCallsCount = this.callsPerMinuteMap.get(stringDateToTheMinute) || 0
|
||||
|
||||
return persistedCallsCount >= this.syncCallsThresholdPerMinute
|
||||
}
|
||||
|
||||
incrementCallsPerMinute(): void {
|
||||
const stringDateToTheMinute = this.getCallsPerMinuteKey()
|
||||
const persistedCallsCount = this.callsPerMinuteMap.get(stringDateToTheMinute)
|
||||
const newMinuteStarted = persistedCallsCount === undefined
|
||||
|
||||
if (newMinuteStarted) {
|
||||
this.clear()
|
||||
|
||||
this.callsPerMinuteMap.set(stringDateToTheMinute, 1)
|
||||
} else {
|
||||
this.callsPerMinuteMap.set(stringDateToTheMinute, persistedCallsCount + 1)
|
||||
}
|
||||
}
|
||||
|
||||
clear(): void {
|
||||
this.callsPerMinuteMap.clear()
|
||||
}
|
||||
|
||||
private getCallsPerMinuteKey(): string {
|
||||
const now = new Date()
|
||||
|
||||
return `${now.getFullYear()}-${now.getMonth()}-${now.getDate()}T${now.getHours()}:${now.getMinutes()}`
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export interface SyncFrequencyGuardInterface {
|
||||
incrementCallsPerMinute(): void
|
||||
isSyncCallsThresholdReachedThisMinute(): boolean
|
||||
clear(): void
|
||||
}
|
||||
@@ -86,6 +86,7 @@ import {
|
||||
ApplicationSyncOptions,
|
||||
WebSocketsServiceEvent,
|
||||
WebSocketsService,
|
||||
SyncBackoffServiceInterface,
|
||||
} from '@standardnotes/services'
|
||||
import { OfflineSyncResponse } from './Offline/Response'
|
||||
import {
|
||||
@@ -97,9 +98,11 @@ import {
|
||||
import { CreatePayloadFromRawServerItem } from './Account/Utilities'
|
||||
import { DecryptedServerConflictMap, TrustedServerConflictMap } from './Account/ServerConflictMap'
|
||||
import { ContentType } from '@standardnotes/domain-core'
|
||||
import { SyncFrequencyGuardInterface } from './SyncFrequencyGuardInterface'
|
||||
|
||||
const DEFAULT_MAJOR_CHANGE_THRESHOLD = 15
|
||||
const INVALID_SESSION_RESPONSE_STATUS = 401
|
||||
const TOO_MANY_REQUESTS_RESPONSE_STATUS = 429
|
||||
const DEFAULT_AUTO_SYNC_INTERVAL = 30_000
|
||||
|
||||
/** Content types appearing first are always mapped first */
|
||||
@@ -168,6 +171,8 @@ export class SyncService
|
||||
private readonly options: ApplicationSyncOptions,
|
||||
private logger: LoggerInterface,
|
||||
private sockets: WebSocketsService,
|
||||
private syncFrequencyGuard: SyncFrequencyGuardInterface,
|
||||
private syncBackoffService: SyncBackoffServiceInterface,
|
||||
protected override internalEventBus: InternalEventBusInterface,
|
||||
) {
|
||||
super(internalEventBus)
|
||||
@@ -449,7 +454,11 @@ export class SyncService
|
||||
}
|
||||
|
||||
private itemsNeedingSync() {
|
||||
return this.itemManager.getDirtyItems()
|
||||
const dirtyItems = this.itemManager.getDirtyItems()
|
||||
|
||||
const itemsWithoutBackoffPenalty = dirtyItems.filter((item) => !this.syncBackoffService.isItemInBackoff(item))
|
||||
|
||||
return itemsWithoutBackoffPenalty
|
||||
}
|
||||
|
||||
public async markAllItemsAsNeedingSyncAndPersist(): Promise<void> {
|
||||
@@ -642,7 +651,8 @@ export class SyncService
|
||||
const syncInProgress = this.opStatus.syncInProgress
|
||||
const databaseLoaded = this.databaseLoaded
|
||||
const canExecuteSync = !this.syncLock
|
||||
const shouldExecuteSync = canExecuteSync && databaseLoaded && !syncInProgress
|
||||
const syncLimitReached = this.syncFrequencyGuard.isSyncCallsThresholdReachedThisMinute()
|
||||
const shouldExecuteSync = canExecuteSync && databaseLoaded && !syncInProgress && !syncLimitReached
|
||||
|
||||
if (shouldExecuteSync) {
|
||||
this.syncLock = true
|
||||
@@ -892,6 +902,12 @@ export class SyncService
|
||||
|
||||
const { items, beginDate, frozenDirtyIndex, neverSyncedDeleted } = await this.prepareForSync(options)
|
||||
|
||||
if (options.mode === SyncMode.LocalOnly) {
|
||||
this.logger.debug('Syncing local only, skipping remote sync request')
|
||||
releaseLock()
|
||||
return
|
||||
}
|
||||
|
||||
const inTimeResolveQueue = this.getPendingRequestsMadeInTimeToPiggyBackOnCurrentRequest()
|
||||
|
||||
if (!shouldExecuteSync) {
|
||||
@@ -939,7 +955,7 @@ export class SyncService
|
||||
return
|
||||
}
|
||||
|
||||
if (options.checkIntegrity) {
|
||||
if (options.checkIntegrity && online) {
|
||||
await this.notifyEventSync(SyncEvent.SyncRequestsIntegrityCheck, {
|
||||
source: options.source as SyncSource,
|
||||
})
|
||||
@@ -1000,6 +1016,10 @@ export class SyncService
|
||||
void this.notifyEvent(SyncEvent.InvalidSession)
|
||||
}
|
||||
|
||||
if (response.status === TOO_MANY_REQUESTS_RESPONSE_STATUS) {
|
||||
void this.notifyEvent(SyncEvent.TooManyRequests)
|
||||
}
|
||||
|
||||
this.opStatus?.setError(response.error)
|
||||
|
||||
void this.notifyEvent(SyncEvent.SyncError, response)
|
||||
@@ -1291,6 +1311,8 @@ export class SyncService
|
||||
|
||||
this.lastSyncDate = new Date()
|
||||
|
||||
this.syncFrequencyGuard.incrementCallsPerMinute()
|
||||
|
||||
if (operation instanceof AccountSyncOperation && operation.numberOfItemsInvolved >= this.majorChangeThreshold) {
|
||||
void this.notifyEvent(SyncEvent.MajorDataChange)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
export enum DefaultHost {
|
||||
Api = 'https://api.standardnotes.com',
|
||||
WebSocket = 'wss://sockets.standardnotes.com',
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './DefaultHost'
|
||||
@@ -7,6 +7,7 @@ export * from './Log'
|
||||
export * from './Migrations'
|
||||
export * from './Services'
|
||||
export * from './Types'
|
||||
export * from './Url'
|
||||
export * from './Version'
|
||||
export { KeyParamsOrigination } from '@standardnotes/common'
|
||||
export * from '@standardnotes/domain-core'
|
||||
|
||||
@@ -16,13 +16,14 @@ const MaximumSyncOptions = {
|
||||
let GlobalSubscriptionIdCounter = 1001
|
||||
|
||||
export class AppContext {
|
||||
constructor({ identifier, crypto, email, password, passcode, host } = {}) {
|
||||
constructor({ identifier, crypto, email, password, passcode, host, syncCallsThresholdPerMinute } = {}) {
|
||||
this.identifier = identifier || `${Math.random()}`
|
||||
this.crypto = crypto
|
||||
this.email = email || UuidGenerator.GenerateUuid()
|
||||
this.password = password || UuidGenerator.GenerateUuid()
|
||||
this.passcode = passcode || 'mypasscode'
|
||||
this.host = host || Defaults.getDefaultHost()
|
||||
this.syncCallsThresholdPerMinute = syncCallsThresholdPerMinute
|
||||
}
|
||||
|
||||
enableLogging() {
|
||||
@@ -46,6 +47,7 @@ export class AppContext {
|
||||
undefined,
|
||||
this.host,
|
||||
this.crypto || new FakeWebCrypto(),
|
||||
this.syncCallsThresholdPerMinute,
|
||||
)
|
||||
|
||||
this.application.dependencies.get(TYPES.Logger).setLevel('error')
|
||||
|
||||
@@ -2,7 +2,7 @@ import WebDeviceInterface from './web_device_interface.js'
|
||||
import FakeWebCrypto from './fake_web_crypto.js'
|
||||
import * as Defaults from './Defaults.js'
|
||||
|
||||
export function createApplicationWithOptions({ identifier, environment, platform, host, crypto, device }) {
|
||||
export function createApplicationWithOptions({ identifier, environment, platform, host, crypto, device, syncCallsThresholdPerMinute }) {
|
||||
if (!device) {
|
||||
device = new WebDeviceInterface()
|
||||
device.environment = environment
|
||||
@@ -22,11 +22,12 @@ export function createApplicationWithOptions({ identifier, environment, platform
|
||||
defaultHost: host || Defaults.getDefaultHost(),
|
||||
appVersion: Defaults.getAppVersion(),
|
||||
webSocketUrl: Defaults.getDefaultWebSocketUrl(),
|
||||
syncCallsThresholdPerMinute,
|
||||
})
|
||||
}
|
||||
|
||||
export function createApplication(identifier, environment, platform, host, crypto) {
|
||||
return createApplicationWithOptions({ identifier, environment, platform, host, crypto })
|
||||
export function createApplication(identifier, environment, platform, host, crypto, syncCallsThresholdPerMinute) {
|
||||
return createApplicationWithOptions({ identifier, environment, platform, host, crypto, syncCallsThresholdPerMinute })
|
||||
}
|
||||
|
||||
export function createApplicationWithFakeCrypto(identifier, environment, platform, host) {
|
||||
|
||||
@@ -43,16 +43,16 @@ export async function createAndInitSimpleAppContext(
|
||||
}
|
||||
}
|
||||
|
||||
export async function createAppContextWithFakeCrypto(identifier, email, password) {
|
||||
return createAppContext({ identifier, crypto: new FakeWebCrypto(), email, password })
|
||||
export async function createAppContextWithFakeCrypto(identifier, email, password, syncCallsThresholdPerMinute) {
|
||||
return createAppContext({ identifier, crypto: new FakeWebCrypto(), email, password, syncCallsThresholdPerMinute })
|
||||
}
|
||||
|
||||
export async function createAppContextWithRealCrypto(identifier) {
|
||||
return createAppContext({ identifier, crypto: new SNWebCrypto() })
|
||||
}
|
||||
|
||||
export async function createAppContext({ identifier, crypto, email, password, host } = {}) {
|
||||
const context = new AppContext({ identifier, crypto, email, password, host })
|
||||
export async function createAppContext({ identifier, crypto, email, password, host, syncCallsThresholdPerMinute } = {}) {
|
||||
const context = new AppContext({ identifier, crypto, email, password, host, syncCallsThresholdPerMinute })
|
||||
await context.initialize()
|
||||
return context
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ describe('online syncing', function () {
|
||||
let password
|
||||
let expectedItemCount
|
||||
let context
|
||||
let safeGuard
|
||||
|
||||
const syncOptions = {
|
||||
checkIntegrity: true,
|
||||
@@ -37,6 +38,10 @@ describe('online syncing', function () {
|
||||
email: email,
|
||||
password: password,
|
||||
})
|
||||
|
||||
safeGuard = application.dependencies.get(TYPES.SyncFrequencyGuard)
|
||||
|
||||
safeGuard.clear()
|
||||
})
|
||||
|
||||
afterEach(async function () {
|
||||
@@ -50,8 +55,11 @@ describe('online syncing', function () {
|
||||
await Factory.safeDeinit(application)
|
||||
localStorage.clear()
|
||||
|
||||
safeGuard.clear()
|
||||
|
||||
application = undefined
|
||||
context = undefined
|
||||
safeGuard = undefined
|
||||
})
|
||||
|
||||
function noteObjectsFromObjects(items) {
|
||||
@@ -433,6 +441,20 @@ describe('online syncing', function () {
|
||||
expect(allItems.length).to.equal(expectedItemCount)
|
||||
})
|
||||
|
||||
it('should defer syncing if syncing is breaching the sync calls per minute threshold', async function () {
|
||||
let syncCount = 0
|
||||
while(!safeGuard.isSyncCallsThresholdReachedThisMinute()) {
|
||||
await application.sync.sync({
|
||||
onPresyncSave: () => {
|
||||
syncCount++
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
expect(safeGuard.isSyncCallsThresholdReachedThisMinute()).to.equal(true)
|
||||
expect(syncCount).to.equal(200)
|
||||
})
|
||||
|
||||
it('items that are never synced and deleted should not be uploaded to server', async function () {
|
||||
const note = await Factory.createMappedNote(application)
|
||||
await application.mutator.setItemDirty(note)
|
||||
@@ -575,7 +597,7 @@ describe('online syncing', function () {
|
||||
it('should sync all items including ones that are breaching transfer limit', async function () {
|
||||
const response = await fetch('/mocha/assets/small_file.md')
|
||||
const buffer = new Uint8Array(await response.arrayBuffer())
|
||||
const numberOfNotesToExceedThe1MBTransferLimit = 80
|
||||
const numberOfNotesToExceedThe1MBTransferLimit = Math.ceil(100_000 / buffer.length) + 1
|
||||
|
||||
const testContext = await Factory.createAppContextWithFakeCrypto()
|
||||
await testContext.launch()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/snjs",
|
||||
"version": "2.204.9",
|
||||
"version": "2.205.1",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.4.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/toast
|
||||
|
||||
## [1.4.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/toast
|
||||
|
||||
# [1.4.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-11-30)
|
||||
|
||||
### Features
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/toast",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.2",
|
||||
"private": true,
|
||||
"main": "./src/index.ts",
|
||||
"scripts": {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user