Compare commits

...
Author SHA1 Message Date
StandardNotes CI 6e282c1c9a chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].6
2024-04-17 15:05:19 +00:00
Aman Harwara e0f84f23ac chore: trigger release [skip e2e] 2024-04-17 20:22:10 +05:30
Aman Harwara 9c2bf946ce Revert "chore: add and fix margins inside super note content [skip e2e]"
This reverts commit 562e1bef17.
2024-04-17 20:21:33 +05:30
StandardNotes CI b240e3a4fa chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].5
2024-04-17 10:16:11 +00:00
Aman Harwara 562e1bef17 chore: add and fix margins inside super note content [skip e2e] 2024-04-17 15:36:05 +05:30
Aman Harwara ec2d6c5506 chore: remove unused css [skip e2e] 2024-04-17 13:55:27 +05:30
Aman Harwara 3c6de3a6c8 chore: update colors [skip e2e] 2024-04-17 13:30:47 +05:30
StandardNotes CI c7cf2b9b91 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].4
2024-04-15 15:42:54 +00:00
Aman Harwara 32b6e97f64 chore: update colors [skip e2e] 2024-04-15 21:03:23 +05:30
Aman Harwara 896d346c27 chore: update lexical and rebuild patches (#2864) 2024-04-15 20:11:19 +05:30
StandardNotes CI eb90005939 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
2024-04-15 13:38:07 +00:00
moughxyz 14b2f916df ci: tests [skip e2e] 2024-04-15 08:28:39 -05:00
StandardNotes CI db93237d9f chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
2024-04-15 08:19:58 +00:00
Aman Harwara 795ca5b883 refactor: super date time plugin [skip e2e] 2024-04-15 13:41:07 +05:30
StandardNotes CI cf60d8f0d5 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].1
2024-04-14 07:54:26 +00:00
Aman Harwara 129c44310c chore: show sync error in footer corner instead of toast notification [skip e2e] 2024-04-14 13:13:44 +05:30
StandardNotes CI 9a4e6102b9 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].9
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].0
2024-04-13 07:19:15 +00:00
Aman Harwara 269db1a5b1 chore: trigger release [skip e2e] 2024-04-13 12:40:25 +05:30
Aman Harwara 9800570fb1 feat: Added "Upload file" option to the super note Insert menu and block picker menu (#2869) 2024-04-13 12:39:38 +05:30
moughxyz 7f1baf52c1 fix: Fixes an issue where importing an encrypted backup file may not successfully complete in some cases 2024-04-12 11:40:33 -05:00
StandardNotes CI 241a973880 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
2024-04-11 07:59:11 +00:00
Aman Harwara d983d6854c chore: add css variable for preferences background color [skip e2e] 2024-04-11 13:20:13 +05:30
StandardNotes CI 432ebbdfbe chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
2024-04-11 07:43:32 +00:00
Aman Harwara 933d2309f4 chore: update colors [skip e2e] 2024-04-11 13:02:09 +05:30
Aman Harwara 6fc2b25e14 chore: update colors 2024-04-11 00:40:00 +05:30
StandardNotes CI d4f9a18135 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].5
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].3
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].8
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
2024-04-10 18:14:48 +00:00
Aman Harwara 65c16ed246 chore: rename theme [skip e2e] 2024-04-10 23:18:26 +05:30
Aman Harwara 852ddc677d chore: fix some issues with theme [skip e2e] 2024-04-10 23:13:48 +05:30
StandardNotes CI 17458b61d1 chore(release): publish
- @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].4
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].2
 - @standardnotes/[email protected]
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].7
 - @standardnotes/[email protected]
 - @standardnotes/[email protected].9
 - @standardnotes/[email protected]
2024-04-10 10:57:00 +00:00
Aman Harwara 03da45537d chore: add proton theme [skip e2e] 2024-04-10 16:18:01 +05:30
123 changed files with 1245 additions and 2614 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,77 +0,0 @@
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
index 9e72de896d52d9c342e520a79b05dbf8fd9bcee3..512433f1dac08f8b8bd261315827924020035f85 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 494ab7597d14cfa0386f7bad294c567a8f0110c1..f60bbdf361d44ed078cf9cb403251f8976d665f9 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,128 @@
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
index 9e72de896d52d9c342e520a79b05dbf8fd9bcee3..512433f1dac08f8b8bd261315827924020035f85 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.dev.mjs b/LexicalClipboard.dev.mjs
index e5b580537bc7b3ce1bd9546f6858988b4f58003f..d43c3be65b908bc4c6ba1b5c95100fa1739765f7 100644
--- a/LexicalClipboard.dev.mjs
+++ b/LexicalClipboard.dev.mjs
@@ -100,7 +100,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 {
@@ -113,15 +113,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 = $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 = $generateNodesFromDOM(editor, dom);
+ return $insertGeneratedNodes(editor, nodes, selection);
+ } catch (_unused2) {
+ // Fail silently.
+ }
}
}
diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js
index 494ab7597d14cfa0386f7bad294c567a8f0110c1..f60bbdf361d44ed078cf9cb403251f8976d665f9 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/LexicalClipboard.prod.mjs b/LexicalClipboard.prod.mjs
index e975808a82c8e8bd1b7dc80867ba65bec9a96fa9..3c7ab354805312e4b432c7e1f27e8095faf07162 100644
--- a/LexicalClipboard.prod.mjs
+++ b/LexicalClipboard.prod.mjs
@@ -4,4 +4,4 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-import{$generateHtmlFromNodes as e,$generateNodesFromDOM as t}from"@lexical/html";import{$addNodeStyle as n,$cloneWithProperties as o,$sliceSelectedTextNodeContent as l}from"@lexical/selection";import{objectKlassEquals as r}from"@lexical/utils";import{$getSelection as i,$isRangeSelection as a,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as u,$parseSerializedNode as d,$isTextNode as f,COPY_COMMAND as p,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as x}from"lexical";var g=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e<arguments.length;e++)t.append("v",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)};const w="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,y=e=>w?(e||window).getSelection():null;function v(t){const n=i();if(null==n)throw Error("Expected valid LexicalSelection");return a(n)&&n.isCollapsed()||0===n.getNodes().length?"":e(t,n)}function D(e){const t=i();if(null==t)throw Error("Expected valid LexicalSelection");return a(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(T(e,t))}function C(e,t){const n=e.getData("text/plain")||e.getData("text/uri-list");null!=n&&t.insertRawText(n)}function E(e,n,o){const l=e.getData("application/x-lexical-editor");if(l)try{const e=JSON.parse(l);if(e.namespace===o._config.namespace&&Array.isArray(e.nodes)){return N(o,_(e.nodes),n)}}catch(e){}const r=e.getData("text/html");if(r)try{const e=(new DOMParser).parseFromString(r,"text/html");return N(o,t(o,e),n)}catch(e){}const i=e.getData("text/plain")||e.getData("text/uri-list");if(null!=i)if(a(n)){const e=i.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const o=e[t];"\n"===o||"\r\n"===o?n.insertParagraph():"\t"===o?n.insertNodes([c()]):n.insertText(o)}}else n.insertRawText(i)}function N(e,t,n){e.dispatchCommand(s,{nodes:t,selection:n})||n.insertNodes(t)}function S(e,t,n,r=[]){let i=null===t||n.isSelected(t);const a=x(n)&&n.excludeFromCopy("html");let c=n;if(null!==t){let e=o(n);e=f(e)&&null!==t?l(t,e):e,c=e}const s=x(c)?c.getChildren():[],u=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&g(58,n.name),x(e)){const e=t.children;Array.isArray(e)||g(59,n.name)}return t}(c);if(f(c)){const e=c.__text;e.length>0?u.text=e:i=!1}for(let o=0;o<s.length;o++){const l=s[o],r=S(e,t,l,u.children);!i&&x(n)&&r&&n.extractWithChild(l,t,"clone")&&(i=!0)}if(i&&!a)r.push(u);else if(Array.isArray(u.children))for(let e=0;e<u.children.length;e++){const t=u.children[e];r.push(t)}return i}function T(e,t){const n=[],o=u().getChildren();for(let l=0;l<o.length;l++){S(e,t,o[l],n)}return{namespace:e._config.namespace,nodes:n}}function _(e){const t=[];for(let o=0;o<e.length;o++){const l=e[o],r=d(l);f(r)&&n(r),t.push(r)}return t}let A=null;async function R(e,t){if(null!==A)return!1;if(null!==t)return new Promise(((n,o)=>{e.update((()=>{n(P(e,t))}))}));const n=e.getRootElement(),o=null==e._window?window.document:e._window.document,l=y(e._window);if(null===n||null===l)return!1;const i=o.createElement("span");i.style.cssText="position: fixed; top: -1000px;",i.append(o.createTextNode("#")),n.append(i);const a=new Range;return a.setStart(i,0),a.setEnd(i,1),l.removeAllRanges(),l.addRange(a),new Promise(((t,n)=>{const l=e.registerCommand(p,(n=>(r(n,ClipboardEvent)&&(l(),null!==A&&(window.clearTimeout(A),A=null),t(P(e,n))),!0)),m);A=window.setTimeout((()=>{l(),A=null,t(!1)}),50),o.execCommand("copy"),i.remove()}))}function P(e,t){const n=y(e._window);if(!n)return!1;const o=n.anchorNode,l=n.focusNode;if(null!==o&&null!==l&&!h(e,o,l))return!1;t.preventDefault();const r=t.clipboardData,a=i();if(null===r||null===a)return!1;const c=v(e),s=D(e);let u="";return null!==a&&(u=a.getTextContent()),null!==c&&r.setData("text/html",c),null!==s&&r.setData("application/x-lexical-editor",s),r.setData("text/plain",u),!0}export{T as $generateJSONFromSelectedNodes,_ as $generateNodesFromSerializedNodes,v as $getHtmlContent,D as $getLexicalContent,C as $insertDataTransferForPlainText,E as $insertDataTransferForRichText,N as $insertGeneratedNodes,R as copyToClipboard};
+import{$generateHtmlFromNodes as e,$generateNodesFromDOM as t}from"@lexical/html";import{$addNodeStyle as n,$cloneWithProperties as l,$sliceSelectedTextNodeContent as o}from"@lexical/selection";import{objectKlassEquals as r}from"@lexical/utils";import{$getSelection as i,$isRangeSelection as a,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as u,$parseSerializedNode as d,$isTextNode as p,COPY_COMMAND as f,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as x}from"lexical";var g=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e<arguments.length;e++)t.append("v",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)};const w="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,y=e=>w?(e||window).getSelection():null;function v(t){const n=i();if(null==n)throw Error("Expected valid LexicalSelection");return a(n)&&n.isCollapsed()||0===n.getNodes().length?"":e(t,n)}function D(e){const t=i();if(null==t)throw Error("Expected valid LexicalSelection");return a(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(S(e,t))}function C(e,t){const n=e.getData("text/plain")||e.getData("text/uri-list");null!=n&&t.insertRawText(n)}function T(e,n,l,o){const r=e.getData("application/x-lexical-editor");if(r)try{const e=JSON.parse(r);if(e.namespace===l._config.namespace&&Array.isArray(e.nodes)){return E(l,R(e.nodes),n)}}catch(e){}if(!(o&&"insertReplacementText"===o.inputType&&e.types.includes("text/plain"))){const o=e.getData("text/html");if(o)try{const e=(new DOMParser).parseFromString(o,"text/html");return E(l,t(l,e),n)}catch(e){}}const i=e.getData("text/plain")||e.getData("text/uri-list");if(null!=i)if(a(n)){const e=i.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const l=e[t];"\n"===l||"\r\n"===l?n.insertParagraph():"\t"===l?n.insertNodes([c()]):n.insertText(l)}}else n.insertRawText(i)}function E(e,t,n){e.dispatchCommand(s,{nodes:t,selection:n})||n.insertNodes(t)}function N(e,t,n,r=[]){let i=null===t||n.isSelected(t);const a=x(n)&&n.excludeFromCopy("html");let c=n;if(null!==t){let e=l(n);e=p(e)&&null!==t?o(t,e):e,c=e}const s=x(c)?c.getChildren():[],u=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&g(58,n.name),x(e)){const e=t.children;Array.isArray(e)||g(59,n.name)}return t}(c);if(p(c)){const e=c.__text;e.length>0?u.text=e:i=!1}for(let l=0;l<s.length;l++){const o=s[l],r=N(e,t,o,u.children);!i&&x(n)&&r&&n.extractWithChild(o,t,"clone")&&(i=!0)}if(i&&!a)r.push(u);else if(Array.isArray(u.children))for(let e=0;e<u.children.length;e++){const t=u.children[e];r.push(t)}return i}function S(e,t){const n=[],l=u().getChildren();for(let o=0;o<l.length;o++){N(e,t,l[o],n)}return{namespace:e._config.namespace,nodes:n}}function R(e){const t=[];for(let l=0;l<e.length;l++){const o=e[l],r=d(o);p(r)&&n(r),t.push(r)}return t}let _=null;async function A(e,t){if(null!==_)return!1;if(null!==t)return new Promise(((n,l)=>{e.update((()=>{n(P(e,t))}))}));const n=e.getRootElement(),l=null==e._window?window.document:e._window.document,o=y(e._window);if(null===n||null===o)return!1;const i=l.createElement("span");i.style.cssText="position: fixed; top: -1000px;",i.append(l.createTextNode("#")),n.append(i);const a=new Range;return a.setStart(i,0),a.setEnd(i,1),o.removeAllRanges(),o.addRange(a),new Promise(((t,n)=>{const o=e.registerCommand(f,(n=>(r(n,ClipboardEvent)&&(o(),null!==_&&(window.clearTimeout(_),_=null),t(P(e,n))),!0)),m);_=window.setTimeout((()=>{o(),_=null,t(!1)}),50),l.execCommand("copy"),i.remove()}))}function P(e,t){const n=y(e._window);if(!n)return!1;const l=n.anchorNode,o=n.focusNode;if(null!==l&&null!==o&&!h(e,l,o))return!1;t.preventDefault();const r=t.clipboardData,a=i();if(null===r||null===a)return!1;const c=v(e),s=D(e);let u="";return null!==a&&(u=a.getTextContent()),null!==c&&r.setData("text/html",c),null!==s&&r.setData("application/x-lexical-editor",s),r.setData("text/plain",u),!0}export{S as $generateJSONFromSelectedNodes,R as $generateNodesFromSerializedNodes,v as $getHtmlContent,D as $getLexicalContent,C as $insertDataTransferForPlainText,T as $insertDataTransferForRichText,E as $insertGeneratedNodes,A as copyToClipboard};
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
@@ -1,346 +0,0 @@
diff --git a/LexicalList.dev.js b/LexicalList.dev.js
index 3b91ac0e93f7e6a9d784c7d8a19f11496369ecc0..de90d1b8de072015dc57a9174e1206c7371d0434 100644
--- a/LexicalList.dev.js
+++ b/LexicalList.dev.js
@@ -140,27 +140,6 @@ function wrapInListItem(node) {
function $isSelectingEmptyListItem(anchorNode, nodes) {
return $isListItemNode(anchorNode) && (nodes.length === 0 || nodes.length === 1 && anchorNode.is(nodes[0]) && anchorNode.getChildrenSize() === 0);
}
-function $getListItemValue(listItem) {
- const list = listItem.getParent();
- let value = 1;
- if (list != null) {
- if (!$isListNode(list)) {
- {
- throw Error(`$getListItemValue: list node is not parent of list item node`);
- }
- } else {
- value = list.getStart();
- }
- }
- const siblings = listItem.getPreviousSiblings();
- for (let i = 0; i < siblings.length; i++) {
- const sibling = siblings[i];
- if ($isListItemNode(sibling) && !$isListNode(sibling.getFirstChild())) {
- value++;
- }
- }
- return value;
-}
/**
* Inserts a new ListNode. If the selection's anchor node is an empty ListItemNode and is a child of
@@ -217,7 +196,6 @@ function insertList(editor, listType) {
const newListNode = $createListNode(listType);
append(newListNode, parent.getChildren());
parent.replace(newListNode);
- updateChildrenListItemValue(newListNode);
handled.add(parentKey);
}
break;
@@ -268,7 +246,6 @@ function createListOrMerge(node, listType) {
const list = $createListNode(listType);
list.append(listItem);
node.replace(list);
- updateChildrenListItemValue(list);
return list;
}
}
@@ -289,7 +266,6 @@ function mergeLists(list1, list2) {
const toMerge = list2.getChildren();
if (toMerge.length > 0) {
list1.append(...toMerge);
- updateChildrenListItemValue(list1);
}
list2.remove();
}
@@ -352,22 +328,23 @@ function removeList(editor) {
/**
* Takes the value of a child ListItemNode and makes it the value the ListItemNode
- * should be if it isn't already. If only certain children should be updated, they
- * can be passed optionally in an array.
+ * should be if it isn't already. Also ensures that checked is undefined if the
+ * parent does not have a list type of 'check'.
* @param list - The list whose children are updated.
- * @param children - An array of the children to be updated.
*/
-function updateChildrenListItemValue(list, children) {
- const childrenOrExisting = children || list.getChildren();
- if (childrenOrExisting !== undefined) {
- for (let i = 0; i < childrenOrExisting.length; i++) {
- const child = childrenOrExisting[i];
- if ($isListItemNode(child)) {
- const prevValue = child.getValue();
- const nextValue = $getListItemValue(child);
- if (prevValue !== nextValue) {
- child.setValue(nextValue);
- }
+function updateChildrenListItemValue(list) {
+ const isNotChecklist = list.getListType() !== 'check';
+ let value = list.getStart();
+ for (const child of list.getChildren()) {
+ if ($isListItemNode(child)) {
+ if (child.getValue() !== value) {
+ child.setValue(value);
+ }
+ if (isNotChecklist && child.getChecked() != null) {
+ child.setChecked(undefined);
+ }
+ if (!$isListNode(child.getFirstChild())) {
+ value++;
}
}
}
@@ -403,7 +380,6 @@ function $handleIndent(listItemNode) {
nextSibling.remove();
removed.add(nextSibling.getKey());
}
- updateChildrenListItemValue(innerList);
}
} else if (isNestedListNode(nextSibling)) {
// if the ListItemNode is next to a nested ListNode, merge them
@@ -413,13 +389,11 @@ function $handleIndent(listItemNode) {
if (firstChild !== null) {
firstChild.insertBefore(listItemNode);
}
- updateChildrenListItemValue(innerList);
}
} else if (isNestedListNode(previousSibling)) {
const innerList = previousSibling.getFirstChild();
if ($isListNode(innerList)) {
innerList.append(listItemNode);
- updateChildrenListItemValue(innerList);
}
} else {
// otherwise, we need to create a new nested ListNode
@@ -436,12 +410,8 @@ function $handleIndent(listItemNode) {
} else {
parent.append(newListItem);
}
- updateChildrenListItemValue(newList);
}
}
- if ($isListNode(parent)) {
- updateChildrenListItemValue(parent);
- }
}
/**
@@ -495,8 +465,6 @@ function $handleOutdent(listItemNode) {
// replace the grandparent list item (now between the siblings) with the outdented list item.
grandparentListItem.replace(listItemNode);
}
- updateChildrenListItemValue(parentList);
- updateChildrenListItemValue(greatGrandparentList);
}
}
@@ -603,12 +571,14 @@ class ListItemNode extends lexical.ElementNode {
}
static transform() {
return node => {
+ if (!$isListItemNode(node)) {
+ throw Error(`node is not a ListItemNode`);
+ }
+ if (node.__checked == null) {
+ return;
+ }
const parent = node.getParent();
if ($isListNode(parent)) {
- updateChildrenListItemValue(parent);
- if (!$isListItemNode(node)) {
- throw Error(`node is not a ListItemNode`);
- }
if (parent.getListType() !== 'check' && node.getChecked() != null) {
node.setChecked(undefined);
}
@@ -704,15 +674,10 @@ class ListItemNode extends lexical.ElementNode {
throw Error(`insertAfter: list node is not parent of list item node`);
}
}
- const siblings = this.getNextSiblings();
if ($isListItemNode(node)) {
- const after = super.insertAfter(node, restoreSelection);
- const afterListNode = node.getParentOrThrow();
- if ($isListNode(afterListNode)) {
- updateChildrenListItemValue(afterListNode);
- }
- return after;
+ return super.insertAfter(node, restoreSelection);
}
+ const siblings = this.getNextSiblings();
// Attempt to merge if the list is of the same type.
@@ -743,11 +708,6 @@ class ListItemNode extends lexical.ElementNode {
if (prevSibling && nextSibling && isNestedListNode(prevSibling) && isNestedListNode(nextSibling)) {
mergeLists(prevSibling.getFirstChild(), nextSibling.getFirstChild());
nextSibling.remove();
- } else if (nextSibling) {
- const parent = nextSibling.getParent();
- if ($isListNode(parent)) {
- updateChildrenListItemValue(parent);
- }
}
}
insertNewAfter(_, restoreSelection = true) {
@@ -839,16 +799,6 @@ class ListItemNode extends lexical.ElementNode {
}
return this;
}
- insertBefore(nodeToInsert) {
- if ($isListItemNode(nodeToInsert)) {
- const parent = this.getParentOrThrow();
- if ($isListNode(parent)) {
- const siblings = this.getNextSiblings();
- updateChildrenListItemValue(parent, siblings);
- }
- }
- return super.insertBefore(nodeToInsert);
- }
canInsertAfter(node) {
return $isListItemNode(node);
}
@@ -1018,6 +968,14 @@ class ListNode extends lexical.ElementNode {
setListThemeClassNames(dom, config.theme, this);
return false;
}
+ static transform() {
+ return node => {
+ if (!$isListNode(node)) {
+ throw Error(`node is not a ListNode`);
+ }
+ updateChildrenListItemValue(node);
+ };
+ }
static importDOM() {
return {
ol: node => ({
@@ -1087,7 +1045,6 @@ class ListNode extends lexical.ElementNode {
super.append(listItemNode);
}
}
- updateChildrenListItemValue(this);
return this;
}
extractWithChild(child) {
diff --git a/LexicalList.prod.js b/LexicalList.prod.js
index 4687f6a90633c254974aedd06538d334f84de249..54fac0766cf47224af5d0e4e05054861f1072872 100644
--- a/LexicalList.prod.js
+++ b/LexicalList.prod.js
@@ -4,32 +4,33 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
-'use strict';var h=require("lexical"),k=require("@lexical/utils");function l(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.");}
+'use strict';var g=require("lexical"),k=require("@lexical/utils");function l(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.");}
function n(a){let b=1;for(a=a.getParent();null!=a;){if(p(a)){a=a.getParent();if(q(a)){b++;a=a.getParent();continue}l(40)}break}return b}function r(a){a=a.getParent();q(a)||l(40);let b=a;for(;null!==b;)b=b.getParent(),q(b)&&(a=b);return a}function t(a){let b=[];a=a.getChildren().filter(p);for(let c=0;c<a.length;c++){let d=a[c],e=d.getFirstChild();q(e)?b=b.concat(t(e)):b.push(d)}return b}function u(a){return p(a)&&q(a.getFirstChild())}
-function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return y().append(a)}function z(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function C(a,b){a.splice(a.getChildrenSize(),0,b)}
-function D(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=y();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());C(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(C(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=E(b);b.append(e);a.replace(b);F(b);return b}
-function G(a,b){var c=a.getLastChild();let d=b.getFirstChild();c&&d&&u(c)&&u(d)&&(G(c.getFirstChild(),d.getFirstChild()),d.remove());c=b.getChildren();0<c.length&&(a.append(...c),F(a));b.remove()}function F(a,b){a=b||a.getChildren();if(void 0!==a)for(b=0;b<a.length;b++){let f=a[b];if(p(f)){let g=f.getValue();var c=f,d=c.getParent(),e=1;null!=d&&(q(d)?e=d.getStart():l(44));c=c.getPreviousSiblings();for(d=0;d<c.length;d++){let m=c[d];p(m)&&!q(m.getFirstChild())&&e++}g!==e&&f.setValue(e)}}}
-function H(a){if(!u(a)){var b=a.getParent(),c=b?b.getParent():void 0,d=c?c.getParent():void 0;if(q(d)&&p(c)&&q(b)){var e=b?b.getFirstChild():void 0,f=b?b.getLastChild():void 0;if(a.is(e))c.insertBefore(a),b.isEmpty()&&c.remove();else if(a.is(f))c.insertAfter(a),b.isEmpty()&&c.remove();else{var g=b.getListType();e=y();let m=E(g);e.append(m);a.getPreviousSiblings().forEach(x=>m.append(x));f=y();g=E(g);f.append(g);C(g,a.getNextSiblings());c.insertBefore(e);c.insertAfter(f);c.replace(a)}F(b);F(d)}}}
-class I extends h.ElementNode{static getType(){return"listitem"}static clone(a){return new I(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement("li"),c=this.getParent();q(c)&&"check"===c.getListType()&&J(b,this,null);b.value=this.__value;K(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&"check"===d.getListType()&&J(b,this,a);b.value=this.__value;K(b,c.theme,this);return!1}static transform(){return a=>
-{let b=a.getParent();q(b)&&(F(b),p(a)||l(144),"check"!==b.getListType()&&null!=a.getChecked()&&a.setChecked(void 0))}}static importDOM(){return{li:()=>({conversion:L,priority:0})}}static importJSON(a){let b=y();b.setChecked(a.checked);b.setValue(a.value);b.setFormat(a.format);b.setDirection(a.direction);return b}exportDOM(a){a=this.createDOM(a._config);a.style.textAlign=this.getFormatType();return{element:a}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),
-version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(h.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a,b){if(p(a))return super.replace(a);this.setIndent(0);let c=this.getParentOrThrow();if(!q(c))return a;if(c.__first===this.getKey())c.insertBefore(a);else if(c.__last===this.getKey())c.insertAfter(a);else{let d=E(c.getListType()),e=this.getNextSibling();for(;e;){let f=e;e=e.getNextSibling();d.append(f)}c.insertAfter(a);
-a.insertAfter(d)}b&&(h.$isElementNode(a)||l(139),this.getChildren().forEach(d=>{a.append(d)}));this.remove();0===c.getChildrenSize()&&c.remove();return a}insertAfter(a,b=!0){var c=this.getParentOrThrow();q(c)||l(39);var d=this.getNextSiblings();if(p(a))return b=super.insertAfter(a,b),a=a.getParentOrThrow(),q(a)&&F(a),b;if(q(a)){c=a;a=a.getChildren();for(d=a.length-1;0<=d;d--)c=a[d],this.insertAfter(c,b);return c}c.insertAfter(a,b);if(0!==d.length){let e=E(c.getListType());d.forEach(f=>e.append(f));
-a.insertAfter(e,b)}return a}remove(a){let b=this.getPreviousSibling(),c=this.getNextSibling();super.remove(a);b&&c&&u(b)&&u(c)?(G(b.getFirstChild(),c.getFirstChild()),c.remove()):c&&(a=c.getParent(),q(a)&&F(a))}insertNewAfter(a,b=!0){a=y(null==this.__checked?void 0:!1);this.insertAfter(a,b);return a}collapseAtStart(a){let b=h.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=p(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):
-(c.insertBefore(b),c.remove(),c=a.anchor,a=a.focus,d=b.getKey(),"element"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,"element"),"element"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,"element")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=this.getParent();
-if(null===a)return this.getLatest().__indent;a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){"number"===typeof a&&-1<a||l(117);let b=this.getIndent();for(;b!==a;)if(b<a){a:{var c=new Set;if(u(this)||c.has(this.getKey()))break a;let g=this.getParent();var d=this.getNextSibling(),e=this.getPreviousSibling();if(u(d)&&u(e)){if(e=e.getFirstChild(),q(e)){e.append(this);var f=d.getFirstChild();q(f)&&(f=f.getChildren(),C(e,f),d.remove(),c.add(d.getKey()));
-F(e)}}else u(d)?(d=d.getFirstChild(),q(d)&&(c=d.getFirstChild(),null!==c&&c.insertBefore(this),F(d))):u(e)?(d=e.getFirstChild(),q(d)&&(d.append(this),F(d))):q(g)&&(c=y(),f=E(g.getListType()),c.append(f),f.append(this),e?e.insertAfter(c):d?d.insertBefore(c):g.append(c),F(f));q(g)&&F(g)}b++}else H(this),b--;return this}insertBefore(a){if(p(a)){let b=this.getParentOrThrow();if(q(b)){let c=this.getNextSiblings();F(b,c)}}return super.insertBefore(a)}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return h.$isParagraphNode(a)||
-p(a)}extractWithChild(a,b){if(!h.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&this.getTextContent().length===b.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return E("bullet")}}
-function K(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var g=b.nested.listitem;void 0!==f&&(f=f.split(" "),d.push(...f));if(b){f=c.getParent();f=q(f)&&"check"===f.getListType();let m=c.getChecked();f&&!m||e.push(b.listitemUnchecked);f&&m||e.push(b.listitemChecked);f&&d.push(m?b.listitemChecked:b.listitemUnchecked)}void 0!==g&&(g=g.split(" "),c.getChildren().some(m=>q(m))?d.push(...g):e.push(...g));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,
-...d)}function J(a,b,c){q(b.getFirstChild())?(a.removeAttribute("role"),a.removeAttribute("tabIndex"),a.removeAttribute("aria-checked")):(a.setAttribute("role","checkbox"),a.setAttribute("tabIndex","-1"),c&&b.__checked===c.__checked||a.setAttribute("aria-checked",b.getChecked()?"true":"false"))}function L(a){a=k.isHTMLElement(a)&&"true"===a.getAttribute("aria-checked");return{node:y(a)}}function y(a){return h.$applyNodeReplacement(new I(void 0,a))}function p(a){return a instanceof I}
-class M extends h.ElementNode{static getType(){return"list"}static clone(a){return new M(a.__listType||O[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=O[a]||a;this.__tag="number"===a?"ol":"ul";this.__start=b}getTag(){return this.__tag}setListType(a){let b=this.getWritable();b.__listType=a;b.__tag="number"===a?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute("start",
-String(this.__start));b.__lexicalListType=this.__listType;P(b,a.theme,this);return b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;P(b,c.theme,this);return!1}static importDOM(){return{ol:()=>({conversion:Q,priority:0}),ul:()=>({conversion:Q,priority:0})}}static importJSON(a){let b=E(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportDOM(a){({element:a}=super.exportDOM(a));a&&k.isHTMLElement(a)&&(1!==this.__start&&a.setAttribute("start",String(this.__start)),
-"check"===this.__listType&&a.setAttribute("__lexicalListType","check"));return{element:a}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=y();q(b)?d.append(b):h.$isElementNode(b)?(b=h.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}F(this);return this}extractWithChild(a){return p(a)}}
-function P(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let m=f[`${c.__tag}Depth`]||[];b=n(c)-1;let x=b%m.length;var g=m[x];let N=f[c.__tag],A,B=f.nested;f=f.checklist;void 0!==B&&B.list&&(A=B.list);void 0!==N&&d.push(N);void 0!==f&&"check"===c.__listType&&d.push(f);if(void 0!==g)for(g=g.split(" "),d.push(...g),g=0;g<m.length;g++)g!==x&&e.push(c.__tag+g);void 0!==A&&(c=A.split(" "),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,
-...d)}function R(a){let b=[];for(let d=0;d<a.length;d++){var c=a[d];p(c)?(b.push(c),c=c.getChildren(),1<c.length&&c.forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(c))}return b}function Q(a){let b=a.nodeName.toLowerCase(),c=null;"ol"===b?c=E("number",a.start):"ul"===b&&(c=k.isHTMLElement(a)&&"check"===a.getAttribute("__lexicallisttype")?E("check"):E("bullet"));return{after:R,node:c}}let O={ol:"number",ul:"bullet"};function E(a,b=1){return h.$applyNodeReplacement(new M(a,b))}
-function q(a){return a instanceof M}let S=h.createCommand("INSERT_UNORDERED_LIST_COMMAND"),T=h.createCommand("INSERT_ORDERED_LIST_COMMAND"),U=h.createCommand("INSERT_CHECK_LIST_COMMAND"),V=h.createCommand("REMOVE_LIST_COMMAND");exports.$createListItemNode=y;exports.$createListNode=E;exports.$getListDepth=n;
-exports.$handleListInsertParagraph=function(){var a=h.$getSelection();if(!h.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||0!==a.getChildrenSize())return!1;var b=r(a),c=a.getParent();q(c)||l(40);let d=c.getParent(),e;if(h.$isRootOrShadowRoot(d))e=h.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=y(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=E(c.getListType());h.$isParagraphNode(e)?e.insertAfter(f):(c=y(),c.append(f),
-e.insertAfter(c));b.forEach(g=>{g.remove();f.append(g)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=U;exports.INSERT_ORDERED_LIST_COMMAND=T;exports.INSERT_UNORDERED_LIST_COMMAND=S;exports.ListItemNode=I;exports.ListNode=M;exports.REMOVE_LIST_COMMAND=V;
-exports.insertList=function(a,b){a.update(()=>{var c=h.$getSelection();if(null!==c){var d=c.getNodes();c=c.getStartEndPoints();null===c&&l(143);[c]=c;c=c.getNode();var e=c.getParent();if(z(c,d))d=E(b),h.$isRootOrShadowRoot(e)?(c.replace(d),e=y(),h.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),C(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(h.$isElementNode(f)&&f.isEmpty()&&!p(f)&&!c.has(f.getKey()))D(f,
-b);else if(h.$isLeafNode(f))for(f=f.getParent();null!=f;){let m=f.getKey();if(q(f)){if(!c.has(m)){var g=E(b);C(g,f.getChildren());f.replace(g);F(g);c.add(m)}break}else{g=f.getParent();if(h.$isRootOrShadowRoot(g)&&!c.has(m)){c.add(m);D(f,b);break}f=g}}}}})};
-exports.removeList=function(a){a.update(()=>{let b=h.$getSelection();if(h.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(z(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];h.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,I),null!=f&&c.add(r(f)))}for(let g of c){c=g;d=t(g);for(let m of d)d=h.$createParagraphNode(),C(d,m.getChildren()),c.insertAfter(d),c=d,m.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,"element"),m.__key===b.focus.key&&b.focus.set(d.getKey(),0,"element"),
-m.remove();g.remove()}}})}
+function v(a){for(;null==a.getNextSibling()&&null==a.getPreviousSibling();){let b=a.getParent();if(null==b||!p(a)&&!q(a))break;a=b}a.remove()}function w(a){return x().append(a)}function A(a,b){return p(a)&&(0===b.length||1===b.length&&a.is(b[0])&&0===a.getChildrenSize())}function B(a,b){a.splice(a.getChildrenSize(),0,b)}
+function C(a,b){if(q(a))return a;let c=a.getPreviousSibling(),d=a.getNextSibling(),e=x();e.setFormat(a.getFormatType());e.setIndent(a.getIndent());B(e,a.getChildren());if(q(c)&&b===c.getListType())return c.append(e),a.remove(),q(d)&&b===d.getListType()&&(B(c,d.getChildren()),d.remove()),c;if(q(d)&&b===d.getListType())return d.getFirstChildOrThrow().insertBefore(e),a.remove(),d;b=D(b);b.append(e);a.replace(b);return b}
+function E(a,b){var c=a.getLastChild();let d=b.getFirstChild();c&&d&&u(c)&&u(d)&&(E(c.getFirstChild(),d.getFirstChild()),d.remove());c=b.getChildren();0<c.length&&a.append(...c);b.remove()}
+function F(a){if(!u(a)){var b=a.getParent(),c=b?b.getParent():void 0,d=c?c.getParent():void 0;if(q(d)&&p(c)&&q(b)){d=b?b.getFirstChild():void 0;var e=b?b.getLastChild():void 0;if(a.is(d))c.insertBefore(a),b.isEmpty()&&c.remove();else if(a.is(e))c.insertAfter(a),b.isEmpty()&&c.remove();else{e=b.getListType();b=x();let f=D(e);b.append(f);a.getPreviousSiblings().forEach(h=>f.append(h));d=x();e=D(e);d.append(e);B(e,a.getNextSiblings());c.insertBefore(b);c.insertAfter(d);c.replace(a)}}}}
+class G extends g.ElementNode{static getType(){return"listitem"}static clone(a){return new G(a.__value,a.__checked,a.__key)}constructor(a,b,c){super(c);this.__value=void 0===a?1:a;this.__checked=b}createDOM(a){let b=document.createElement("li"),c=this.getParent();q(c)&&"check"===c.getListType()&&H(b,this,null);b.value=this.__value;I(b,a.theme,this);return b}updateDOM(a,b,c){let d=this.getParent();q(d)&&"check"===d.getListType()&&H(b,this,a);b.value=this.__value;I(b,c.theme,this);return!1}static transform(){return a=>
+{p(a)||l(144);if(null!=a.__checked){var b=a.getParent();q(b)&&"check"!==b.getListType()&&null!=a.getChecked()&&a.setChecked(void 0)}}}static importDOM(){return{li:()=>({conversion:J,priority:0})}}static importJSON(a){let b=x();b.setChecked(a.checked);b.setValue(a.value);b.setFormat(a.format);b.setDirection(a.direction);return b}exportDOM(a){a=this.createDOM(a._config);a.style.textAlign=this.getFormatType();return{element:a}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",
+value:this.getValue(),version:1}}append(...a){for(let b=0;b<a.length;b++){let c=a[b];if(g.$isElementNode(c)&&this.canMergeWith(c)){let d=c.getChildren();this.append(...d);c.remove()}else super.append(c)}return this}replace(a,b){if(p(a))return super.replace(a);this.setIndent(0);let c=this.getParentOrThrow();if(!q(c))return a;if(c.__first===this.getKey())c.insertBefore(a);else if(c.__last===this.getKey())c.insertAfter(a);else{let d=D(c.getListType()),e=this.getNextSibling();for(;e;){let f=e;e=e.getNextSibling();
+d.append(f)}c.insertAfter(a);a.insertAfter(d)}b&&(g.$isElementNode(a)||l(139),this.getChildren().forEach(d=>{a.append(d)}));this.remove();0===c.getChildrenSize()&&c.remove();return a}insertAfter(a,b=!0){var c=this.getParentOrThrow();q(c)||l(39);if(p(a))return super.insertAfter(a,b);var d=this.getNextSiblings();if(q(a)){c=a;a=a.getChildren();for(d=a.length-1;0<=d;d--)c=a[d],this.insertAfter(c,b);return c}c.insertAfter(a,b);if(0!==d.length){let e=D(c.getListType());d.forEach(f=>e.append(f));a.insertAfter(e,
+b)}return a}remove(a){let b=this.getPreviousSibling(),c=this.getNextSibling();super.remove(a);b&&c&&u(b)&&u(c)&&(E(b.getFirstChild(),c.getFirstChild()),c.remove())}insertNewAfter(a,b=!0){a=x(null==this.__checked?void 0:!1);this.insertAfter(a,b);return a}collapseAtStart(a){let b=g.$createParagraphNode();this.getChildren().forEach(f=>b.append(f));var c=this.getParentOrThrow(),d=c.getParentOrThrow();let e=p(d);1===c.getChildrenSize()?e?(c.remove(),d.select()):(c.insertBefore(b),c.remove(),c=a.anchor,
+a=a.focus,d=b.getKey(),"element"===c.type&&c.getNode().is(this)&&c.set(d,c.offset,"element"),"element"===a.type&&a.getNode().is(this)&&a.set(d,a.offset,"element")):(c.insertBefore(b),this.remove());return!0}getValue(){return this.getLatest().__value}setValue(a){this.getWritable().__value=a}getChecked(){return this.getLatest().__checked}setChecked(a){this.getWritable().__checked=a}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){var a=this.getParent();if(null===a)return this.getLatest().__indent;
+a=a.getParentOrThrow();let b=0;for(;p(a);)a=a.getParentOrThrow().getParentOrThrow(),b++;return b}setIndent(a){"number"===typeof a&&-1<a||l(117);let b=this.getIndent();for(;b!==a;)if(b<a){var c=new Set;if(!u(this)&&!c.has(this.getKey())){var d=this.getParent(),e=this.getNextSibling(),f=this.getPreviousSibling();if(u(e)&&u(f))d=f.getFirstChild(),q(d)&&(d.append(this),f=e.getFirstChild(),q(f)&&(f=f.getChildren(),B(d,f),e.remove(),c.add(e.getKey())));else if(u(e))e=e.getFirstChild(),q(e)&&(e=e.getFirstChild(),
+null!==e&&e.insertBefore(this));else if(u(f))e=f.getFirstChild(),q(e)&&e.append(this);else if(q(d)){c=x();let h=D(d.getListType());c.append(h);h.append(this);f?f.insertAfter(c):e?e.insertBefore(c):d.append(c)}}b++}else F(this),b--;return this}canInsertAfter(a){return p(a)}canReplaceWith(a){return p(a)}canMergeWith(a){return g.$isParagraphNode(a)||p(a)}extractWithChild(a,b){if(!g.$isRangeSelection(b))return!1;a=b.anchor.getNode();let c=b.focus.getNode();return this.isParentOf(a)&&this.isParentOf(c)&&
+this.getTextContent().length===b.getTextContent().length}isParentRequired(){return!0}createParentElementNode(){return D("bullet")}}
+function I(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var h=b.nested.listitem;void 0!==f&&(f=f.split(" "),d.push(...f));if(b){f=c.getParent();f=q(f)&&"check"===f.getListType();let m=c.getChecked();f&&!m||e.push(b.listitemUnchecked);f&&m||e.push(b.listitemChecked);f&&d.push(m?b.listitemChecked:b.listitemUnchecked)}void 0!==h&&(h=h.split(" "),c.getChildren().some(m=>q(m))?d.push(...h):e.push(...h));0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,
+...d)}function H(a,b,c){q(b.getFirstChild())?(a.removeAttribute("role"),a.removeAttribute("tabIndex"),a.removeAttribute("aria-checked")):(a.setAttribute("role","checkbox"),a.setAttribute("tabIndex","-1"),c&&b.__checked===c.__checked||a.setAttribute("aria-checked",b.getChecked()?"true":"false"))}function J(a){a=k.isHTMLElement(a)&&"true"===a.getAttribute("aria-checked");return{node:x(a)}}function x(a){return g.$applyNodeReplacement(new G(void 0,a))}function p(a){return a instanceof G}
+class K extends g.ElementNode{static getType(){return"list"}static clone(a){return new K(a.__listType||N[a.__tag],a.__start,a.__key)}constructor(a,b,c){super(c);this.__listType=a=N[a]||a;this.__tag="number"===a?"ol":"ul";this.__start=b}getTag(){return this.__tag}setListType(a){let b=this.getWritable();b.__listType=a;b.__tag="number"===a?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(a){let b=document.createElement(this.__tag);1!==this.__start&&b.setAttribute("start",
+String(this.__start));b.__lexicalListType=this.__listType;O(b,a.theme,this);return b}updateDOM(a,b,c){if(a.__tag!==this.__tag)return!0;O(b,c.theme,this);return!1}static transform(){return a=>{if(!q(a))throw Error("node is not a ListNode");let b="check"!==a.getListType(),c=a.getStart();for(let d of a.getChildren())p(d)&&(d.getValue()!==c&&d.setValue(c),b&&null!=d.getChecked()&&d.setChecked(void 0),q(d.getFirstChild())||c++)}}static importDOM(){return{ol:()=>({conversion:P,priority:0}),ul:()=>({conversion:P,
+priority:0})}}static importJSON(a){let b=D(a.listType,a.start);b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportDOM(a){({element:a}=super.exportDOM(a));a&&k.isHTMLElement(a)&&(1!==this.__start&&a.setAttribute("start",String(this.__start)),"check"===this.__listType&&a.setAttribute("__lexicalListType","check"));return{element:a}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...a){for(let c=
+0;c<a.length;c++){var b=a[c];if(p(b))super.append(b);else{let d=x();q(b)?d.append(b):g.$isElementNode(b)?(b=g.$createTextNode(b.getTextContent()),d.append(b)):d.append(b);super.append(d)}}return this}extractWithChild(a){return p(a)}}
+function O(a,b,c){let d=[],e=[];var f=b.list;if(void 0!==f){let m=f[`${c.__tag}Depth`]||[];b=n(c)-1;let L=b%m.length;var h=m[L];let M=f[c.__tag],y,z=f.nested;f=f.checklist;void 0!==z&&z.list&&(y=z.list);void 0!==M&&d.push(M);void 0!==f&&"check"===c.__listType&&d.push(f);if(void 0!==h)for(h=h.split(" "),d.push(...h),h=0;h<m.length;h++)h!==L&&e.push(c.__tag+h);void 0!==y&&(c=y.split(" "),1<b?d.push(...c):e.push(...c))}0<e.length&&k.removeClassNamesFromElement(a,...e);0<d.length&&k.addClassNamesToElement(a,
+...d)}function Q(a){let b=[];for(let d=0;d<a.length;d++){var c=a[d];p(c)?(b.push(c),c=c.getChildren(),1<c.length&&c.forEach(e=>{q(e)&&b.push(w(e))})):b.push(w(c))}return b}function P(a){let b=a.nodeName.toLowerCase(),c=null;"ol"===b?c=D("number",a.start):"ul"===b&&(c=k.isHTMLElement(a)&&"check"===a.getAttribute("__lexicallisttype")?D("check"):D("bullet"));return{after:Q,node:c}}let N={ol:"number",ul:"bullet"};function D(a,b=1){return g.$applyNodeReplacement(new K(a,b))}
+function q(a){return a instanceof K}let R=g.createCommand("INSERT_UNORDERED_LIST_COMMAND"),S=g.createCommand("INSERT_ORDERED_LIST_COMMAND"),T=g.createCommand("INSERT_CHECK_LIST_COMMAND"),U=g.createCommand("REMOVE_LIST_COMMAND");exports.$createListItemNode=x;exports.$createListNode=D;exports.$getListDepth=n;
+exports.$handleListInsertParagraph=function(){var a=g.$getSelection();if(!g.$isRangeSelection(a)||!a.isCollapsed())return!1;a=a.anchor.getNode();if(!p(a)||0!==a.getChildrenSize())return!1;var b=r(a),c=a.getParent();q(c)||l(40);let d=c.getParent(),e;if(g.$isRootOrShadowRoot(d))e=g.$createParagraphNode(),b.insertAfter(e);else if(p(d))e=x(),d.insertAfter(e);else return!1;e.select();b=a.getNextSiblings();if(0<b.length){let f=D(c.getListType());g.$isParagraphNode(e)?e.insertAfter(f):(c=x(),c.append(f),
+e.insertAfter(c));b.forEach(h=>{h.remove();f.append(h)})}v(a);return!0};exports.$isListItemNode=p;exports.$isListNode=q;exports.INSERT_CHECK_LIST_COMMAND=T;exports.INSERT_ORDERED_LIST_COMMAND=S;exports.INSERT_UNORDERED_LIST_COMMAND=R;exports.ListItemNode=G;exports.ListNode=K;exports.REMOVE_LIST_COMMAND=U;
+exports.insertList=function(a,b){a.update(()=>{var c=g.$getSelection();if(null!==c){var d=c.getNodes();c=c.getStartEndPoints();null===c&&l(143);[c]=c;c=c.getNode();var e=c.getParent();if(A(c,d))d=D(b),g.$isRootOrShadowRoot(e)?(c.replace(d),e=x(),g.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),B(d,c.getChildren()),c.replace(d));else for(c=new Set,e=0;e<d.length;e++){var f=d[e];if(g.$isElementNode(f)&&f.isEmpty()&&!p(f)&&!c.has(f.getKey()))C(f,
+b);else if(g.$isLeafNode(f))for(f=f.getParent();null!=f;){let m=f.getKey();if(q(f)){if(!c.has(m)){var h=D(b);B(h,f.getChildren());f.replace(h);c.add(m)}break}else{h=f.getParent();if(g.$isRootOrShadowRoot(h)&&!c.has(m)){c.add(m);C(f,b);break}f=h}}}}})};
+exports.removeList=function(a){a.update(()=>{let b=g.$getSelection();if(g.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(A(e,d))c.add(r(e));else for(e=0;e<d.length;e++){var f=d[e];g.$isLeafNode(f)&&(f=k.$getNearestNodeOfType(f,G),null!=f&&c.add(r(f)))}for(let h of c){c=h;d=t(h);for(let m of d)d=g.$createParagraphNode(),B(d,m.getChildren()),c.insertAfter(d),c=d,m.__key===b.anchor.key&&b.anchor.set(d.getKey(),0,"element"),m.__key===b.focus.key&&b.focus.set(d.getKey(),0,"element"),
+m.remove();h.remove()}}})}
diff --git a/LexicalListItemNode.d.ts b/LexicalListItemNode.d.ts
index 9fd289fd0ab65e4f63b4d2814ec97f053348f9a9..cfed87598b2882973198cbb811552340a0fdcff6 100644
--- a/LexicalListItemNode.d.ts
+++ b/LexicalListItemNode.d.ts
@@ -40,7 +40,6 @@ export declare class ListItemNode extends ElementNode {
toggleChecked(): void;
getIndent(): number;
setIndent(indent: number): this;
- insertBefore(nodeToInsert: LexicalNode): LexicalNode;
canInsertAfter(node: LexicalNode): boolean;
canReplaceWith(replacement: LexicalNode): boolean;
canMergeWith(node: LexicalNode): boolean;
diff --git a/LexicalListNode.d.ts b/LexicalListNode.d.ts
index a04521af0011a36bae4a15ad5d04ce06b887d54e..ab4e18ab7e4116a1969479ef44e84657c2c51c87 100644
--- a/LexicalListNode.d.ts
+++ b/LexicalListNode.d.ts
@@ -30,6 +30,7 @@ export declare class ListNode extends ElementNode {
getStart(): number;
createDOM(config: EditorConfig, _editor?: LexicalEditor): HTMLElement;
updateDOM(prevNode: ListNode, dom: HTMLElement, config: EditorConfig): boolean;
+ static transform(): (node: LexicalNode) => void;
static importDOM(): DOMConversionMap | null;
static importJSON(serializedNode: SerializedListNode): ListNode;
exportDOM(editor: LexicalEditor): DOMExportOutput;
diff --git a/formatList.d.ts b/formatList.d.ts
index d1f43e38e50680a1248a03ae8ea71f8541c33bc1..4359cbba12fa205eb6843ad1568e02c5efcc8ffc 100644
--- a/formatList.d.ts
+++ b/formatList.d.ts
@@ -5,7 +5,7 @@
* LICENSE file in the root directory of this source tree.
*
*/
-import { LexicalEditor, LexicalNode } from 'lexical';
+import { LexicalEditor } from 'lexical';
import { ListItemNode, ListNode } from './';
import { ListType } from './LexicalListNode';
/**
@@ -36,12 +36,11 @@ export declare function mergeLists(list1: ListNode, list2: ListNode): void;
export declare function removeList(editor: LexicalEditor): void;
/**
* Takes the value of a child ListItemNode and makes it the value the ListItemNode
- * should be if it isn't already. If only certain children should be updated, they
- * can be passed optionally in an array.
+ * should be if it isn't already. Also ensures that checked is undefined if the
+ * parent does not have a list type of 'check'.
* @param list - The list whose children are updated.
- * @param children - An array of the children to be updated.
*/
-export declare function updateChildrenListItemValue(list: ListNode, children?: Array<LexicalNode>): void;
+export declare function updateChildrenListItemValue(list: ListNode): void;
/**
* Adds an empty ListNode/ListItemNode chain at listItemNode, so as to
* create an indent effect. Won't indent ListItemNodes that have a ListNode as
@@ -1,26 +0,0 @@
diff --git a/LexicalRichText.dev.js b/LexicalRichText.dev.js
index cdd0f239f13391bdbb6e1c2f39113d879d458ec2..5f069efb0015438ecdffcfc1e031e40ce290a9b7 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 2912dd466be878fd794d971d31d919afce0dcb62..cd35bcf41edc5b15f435464aa155519449d6e797 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)null!==d&&d.insertText(a);else{if(null===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.REMOVE_TEXT_COMMAND,
+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)null!==d&&d.insertText(a);else{if(null===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,!0),!a.shiftKey&&k.$isDecoratorNode(d)&&
File diff suppressed because one or more lines are too long
@@ -1,462 +0,0 @@
diff --git a/Lexical.dev.js b/Lexical.dev.js
index a21fdea722a3b77d94be5850e9effe5f1745348c..9b4281e416e8a1c7c8715f16dc37c088295aaa56 100644
--- a/Lexical.dev.js
+++ b/Lexical.dev.js
@@ -95,6 +95,7 @@ const IS_ANDROID = CAN_USE_DOM && /Android/.test(navigator.userAgent);
const IS_CHROME = CAN_USE_DOM && /^(?=.*Chrome).*/i.test(navigator.userAgent);
// export const canUseTextInputEvent: boolean = CAN_USE_DOM && 'TextEvent' in window && !documentMode;
+const IS_ANDROID_CHROME = IS_ANDROID && IS_CHROME;
const IS_APPLE_WEBKIT = CAN_USE_DOM && /AppleWebKit\/[\d.]+/.test(navigator.userAgent) && !IS_CHROME;
/**
@@ -2508,7 +2509,8 @@ function onBeforeInput(event, editor) {
if (IS_ANDROID) {
$setCompositionKey(selection.anchor.key);
}
- if (isPossiblyAndroidKeyPress(event.timeStamp) && editor.isComposing() && selection.anchor.key === selection.focus.key) {
+ const isSelectionAnchorSameAsFocus = selection.anchor.key === selection.focus.key;
+ if (isPossiblyAndroidKeyPress(event.timeStamp) && editor.isComposing() && isSelectionAnchorSameAsFocus) {
$setCompositionKey(null);
lastKeyDownTimeStamp = 0;
// Fixes an Android bug where selection flickers when backspacing
@@ -2526,15 +2528,24 @@ 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);
}
} else {
$setCompositionKey(null);
event.preventDefault();
- dispatchCommand(editor, DELETE_CHARACTER_COMMAND, true);
+ // Chromium Android at the moment seems to ignore the preventDefault
+ // on 'deleteContentBackward' and still deletes the content. Which leads
+ // to multiple deletions, especially when handling replacement from keyboard
+ // suggestions. So we let the browser handle the deletion in this case.
+ const shouldLetBrowserHandleDelete = IS_ANDROID_CHROME && isSelectionAnchorSameAsFocus;
+ if (!shouldLetBrowserHandleDelete) {
+ dispatchCommand(editor, DELETE_CHARACTER_COMMAND, true);
+ }
}
return;
}
@@ -3575,6 +3586,9 @@ class LexicalNode {
const visited = new Set();
let node = this;
while (true) {
+ if (node === null) {
+ break;
+ }
const key = node.__key;
if (!visited.has(key)) {
visited.add(key);
@@ -3614,6 +3628,8 @@ class LexicalNode {
if (parentSibling === null && !visited.has(ancestor.__key)) {
nodes.push(ancestor);
}
+ } else {
+ break;
}
} while (parentSibling === null);
node = parentSibling;
diff --git a/Lexical.prod.js b/Lexical.prod.js
index 387fa75af19a8d926e3c1b2d38848387de041ec3..70fcd5fc9fb3e93e82803e7d52f563c056e8386f 100644
--- a/Lexical.prod.js
+++ b/Lexical.prod.js
@@ -7,205 +7,205 @@
'use strict';let ba={},ca={},da={},ea={},fa={},ka={},la={},ma={},oa={},pa={},qa={},ra={},sa={},ta={},ua={},va={},wa={},ya={},za={},Aa={},Ba={},Ca={},Da={},Ga={},Ha={},Ia={},Ja={},Ka={},La={},Ma={},Na={},Oa={},Pa={},Qa={},Ra={},Sa={};
function n(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 Ta="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Va=Ta&&"documentMode"in document?document.documentMode:null,t=Ta&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),Wa=Ta&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent),Xa=Ta&&"InputEvent"in window&&!Va?"getTargetRanges"in new window.InputEvent("input"):!1,Ya=Ta&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),Za=Ta&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&
-!window.MSStream,$a=Ta&&/Android/.test(navigator.userAgent),ab=Ta&&/^(?=.*Chrome).*/i.test(navigator.userAgent),bb=Ta&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!ab,cb=Ya||Za||bb?"\u00a0":"\u200b",db=Wa?"\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},lb={center:2,end:6,justify:4,left:1,right:3,start:5},mb={2:"center",6:"end",4:"justify",1:"left",3:"right",5:"start"},nb={normal:0,segmented:2,token:1},ob={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=u();return null!==b?b.clone():null})}
-function ub(a,b,c){pb=!0;let d=100<performance.now()-qb;try{v(a,()=>{let e=u()||tb(a);var f=new Map,g=a.getRootElement(),h=a._editorState,k=a._blockCursorElement;let m=!1,q="";for(var p=0;p<b.length;p++){var l=b[p],r=l.type,w=l.target,A=vb(w,h);if(!(null===A&&w!==g||y(A)))if("characterData"===r){if(l=d&&B(A))a:{l=e;r=w;var x=A;if(C(l)){var z=l.anchor.getNode();if(z.is(x)&&l.format!==z.getFormat()){l=!1;break a}}l=3===r.nodeType&&x.isAttached()}l&&(x=wb(a._window),r=l=null,null!==x&&x.anchorNode===
-w&&(l=x.anchorOffset,r=x.focusOffset),w=w.nodeValue,null!==w&&xb(A,w,l,r,!1))}else if("childList"===r){m=!0;r=l.addedNodes;for(x=0;x<r.length;x++){z=r[x];var aa=yb(z),W=z.parentNode;null==W||z===k||null!==aa||"BR"===z.nodeName&&sb(z,W,a)||(Wa&&(aa=z.innerText||z.nodeValue)&&(q+=aa),W.removeChild(z))}l=l.removedNodes;r=l.length;if(0<r){x=0;for(z=0;z<r;z++)if(W=l[z],"BR"===W.nodeName&&sb(W,w,a)||k===W)w.appendChild(W),x++;r!==x&&(w===g&&(A=h._nodeMap.get("root")),f.set(w,A))}}}if(0<f.size)for(let [Ua,
-ja]of f)if(E(ja))for(f=ja.getChildrenKeys(),g=Ua.firstChild,h=0;h<f.length;h++)k=a.getElementByKey(f[h]),null!==k&&(null==g?(Ua.appendChild(k),g=k):g!==k&&Ua.replaceChild(k,g),g=g.nextSibling);else B(ja)&&ja.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,p=0;p<h.length;p++)A=h[p],w=A.parentNode,null==w||"BR"!==A.nodeName||sb(A,k,a)||w.removeChild(A);c.takeRecords()}null!==e&&(m&&(e.dirty=!0,zb(e)),Wa&&Ab(a)&&e.insertRawText(q))})}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 Rb(a){let b=document.activeElement;if(null===b)return!1;let c=b.nodeName;return y(vb(a))&&("INPUT"===c||"TEXTAREA"===c||"true"===b.contentEditable&&null==b.__lexicalEditor)}function Sb(a,b,c){let d=a.getRootElement();try{return null!==d&&d.contains(b)&&d.contains(c)&&null!==b&&!Rb(b)&&Tb(b)===a}catch(e){return!1}}function Tb(a){for(;null!=a;){let b=a.__lexicalEditor;if(null!=b)return b;a=Ub(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&&n(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&&n(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=Ub(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){v(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=Ub(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(),q=b;(m||e)&&b[b.length-1]===cb&&(q=b.slice(0,-1));b=f.getTextContent();if(e||q!==b)if(""===q)if(H(null),Ya||Za||bb)f.remove();else{let p=F();setTimeout(()=>{p.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&&
+!window.MSStream,$a=Ta&&/Android/.test(navigator.userAgent),ab=Ta&&/^(?=.*Chrome).*/i.test(navigator.userAgent),bb=$a&&ab,cb=Ta&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!ab,db=Ya||Za||cb?"\u00a0":"\u200b",eb=Wa?"\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},lb={directionless:1,unmergeable:2},mb={center:2,end:6,justify:4,left:1,right:3,start:5},nb={2:"center",6:"end",4:"justify",1:"left",3:"right",5:"start"},ob={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=u();return null!==b?b.clone():null})}
+function vb(a,b,c){qb=!0;let d=100<performance.now()-rb;try{v(a,()=>{let e=u()||ub(a);var f=new Map,g=a.getRootElement(),h=a._editorState,k=a._blockCursorElement;let m=!1,q="";for(var p=0;p<b.length;p++){var l=b[p],r=l.type,w=l.target,A=wb(w,h);if(!(null===A&&w!==g||y(A)))if("characterData"===r){if(l=d&&B(A))a:{l=e;r=w;var x=A;if(C(l)){var z=l.anchor.getNode();if(z.is(x)&&l.format!==z.getFormat()){l=!1;break a}}l=3===r.nodeType&&x.isAttached()}l&&(x=xb(a._window),r=l=null,null!==x&&x.anchorNode===
+w&&(l=x.anchorOffset,r=x.focusOffset),w=w.nodeValue,null!==w&&yb(A,w,l,r,!1))}else if("childList"===r){m=!0;r=l.addedNodes;for(x=0;x<r.length;x++){z=r[x];var aa=zb(z),W=z.parentNode;null==W||z===k||null!==aa||"BR"===z.nodeName&&tb(z,W,a)||(Wa&&(aa=z.innerText||z.nodeValue)&&(q+=aa),W.removeChild(z))}l=l.removedNodes;r=l.length;if(0<r){x=0;for(z=0;z<r;z++)if(W=l[z],"BR"===W.nodeName&&tb(W,w,a)||k===W)w.appendChild(W),x++;r!==x&&(w===g&&(A=h._nodeMap.get("root")),f.set(w,A))}}}if(0<f.size)for(let [Ua,
+ja]of f)if(E(ja))for(f=ja.getChildrenKeys(),g=Ua.firstChild,h=0;h<f.length;h++)k=a.getElementByKey(f[h]),null!==k&&(null==g?(Ua.appendChild(k),g=k):g!==k&&Ua.replaceChild(k,g),g=g.nextSibling);else B(ja)&&ja.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,p=0;p<h.length;p++)A=h[p],w=A.parentNode,null==w||"BR"!==A.nodeName||tb(A,k,a)||w.removeChild(A);c.takeRecords()}null!==e&&(m&&(e.dirty=!0,Ab(e)),Wa&&Bb(a)&&e.insertRawText(q))})}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,Rb="function"===typeof queueMicrotask?queueMicrotask:a=>{Promise.resolve().then(a)};
+function Sb(a){let b=document.activeElement;if(null===b)return!1;let c=b.nodeName;return y(wb(a))&&("INPUT"===c||"TEXTAREA"===c||"true"===b.contentEditable&&null==b.__lexicalEditor)}function Tb(a,b,c){let d=a.getRootElement();try{return null!==d&&d.contains(b)&&d.contains(c)&&null!==b&&!Sb(b)&&Ub(b)===a}catch(e){return!1}}function Ub(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&&n(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&&n(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){v(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(),q=b;(m||e)&&b[b.length-1]===db&&(q=b.slice(0,-1));b=f.getTextContent();if(e||q!==b)if(""===q)if(H(null),Ya||Za||cb)f.remove();else{let p=F();setTimeout(()=>{p.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&&
!f.canInsertTextBefore()&&!m||b.focus.key===a.__key&&b.focus.offset===g&&!f.canInsertTextAfter()&&!m)?f.markDirty():(a=u(),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(q))}}}
-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&&n(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&&n(75,b);return a}function Ub(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&&n(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&&n(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||n(98),b):a}function zc(a,b){a=a.getParent();!L(a)||E(b)||y(b)||n(99)}function Ac(a){return(y(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 Ta?(a||window).getSelection():null}function Cc(a){return 1===a.nodeType}function Dc(a){if(y(a)&&!a.isInline())return!0;if(!E(a)||wc(a))return!1;var b=a.getFirstChild();b=null===b||Ec(b)||B(b)||b.isInline();return!a.isInline()&&!1!==a.canBeEmpty()&&b}
-function Fc(a,b){for(;null!==a&&null!==a.getParent()&&!b(a);)a=a.getParentOrThrow();return b(a)?a:null}function Gc(a,b,c,d,e,f){for(a=a.getFirstChild();null!==a;){let g=a.__key;a.__parent===b&&(E(a)&&Gc(a,g,c,d,e,f),c.has(g)||f.delete(g),e.push(g));a=a.getNextSibling()}}
-function Hc(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)&&Gc(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="",Ic="",Jc,O,Kc,Lc=!1,Mc=!1,Nc,Oc=null,Pc,Zc,$c,ad,bd,cd;
-function dd(a,b){let c=$c.get(a);if(null!==b){let d=ed(a);d.parentNode===b&&b.removeChild(d)}ad.has(a)||O._keyToDOMMap.delete(a);E(c)&&(a=fd(c,$c),gd(a,0,a.length-1,null));void 0!==c&&pc(cd,Kc,Nc,c,"destroyed")}function gd(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&dd(e,d)}}function hd(a,b){a.setProperty("text-align",b)}
-function id(a,b){var c=Jc.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 jd(a,b){a=a.style;0===b?hd(a,""):1===b?hd(a,"left"):2===b?hd(a,"center"):3===b?hd(a,"right"):4===b?hd(a,"justify"):5===b?hd(a,"start"):6===b&&hd(a,"end")}
-function kd(a,b,c){let d=ad.get(a);void 0===d&&n(60);let e=d.createDOM(Jc,O);var f=O._keyToDOMMap;e["__lexicalKey_"+O._key]=a;f.set(a,e);B(d)?e.setAttribute("data-lexical-text","true"):y(d)&&e.setAttribute("data-lexical-decorator","true");if(E(d)){a=d.__indent;f=d.__size;0!==a&&id(e,a);if(0!==f){--f;a=fd(d,ad);var g=N;N="";ld(a,d,0,f,e,null);md(d,e);N=g}a=d.__format;0!==a&&jd(e,a);d.isInline()||nd(null,d,e);sc(d)&&(M+="\n\n",Ic+="\n\n")}else f=d.getTextContent(),y(d)?(g=d.decorate(O,Jc),null!==g&&
-od(a,g),e.contentEditable="false"):B(d)&&(d.isDirectionless()||(N+=f)),M+=f,Ic+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));pc(cd,Kc,Nc,d,"created");return e}function ld(a,b,c,d,e,f){let g=M;for(M="";c<=d;++c)kd(a[c],e,f);sc(b)&&(M+="\n\n");e.__lexicalTextContent=M;M=g+M}function pd(a,b){a=b.get(a);return Ec(a)||y(a)&&a.isInline()}
-function nd(a,b,c){a=null!==a&&(0===a.__size||pd(a.__last,$c));b=0===b.__size||pd(b.__last,ad);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 md(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==N||c!==Oc){let f=""===N;if(f)var d=Oc;else d=N,d=eb.test(d)?"rtl":fb.test(d)?"ltr":null;if(d!==c){let g=b.classList,h=Jc.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);Mc||(a.getWritable().__dir=d)}Oc=
-d;b.__lexicalDirTextContent=N;b.__lexicalDir=d}}function fd(a,b){let c=[];for(a=a.__first;null!==a;){let d=b.get(a);void 0===d&&n(101);c.push(a);a=d.__next}return c}
-function qd(a,b){var c=$c.get(a),d=ad.get(a);void 0!==c&&void 0!==d||n(61);var e=Lc||Zc.has(a)||Pc.has(a);let f=tc(O,a);if(c===d&&!e)return E(c)?(d=f.__lexicalTextContent,void 0!==d&&(M+=d,Ic+=d),d=f.__lexicalDirTextContent,void 0!==d&&(N+=d)):(d=c.getTextContent(),B(c)&&!c.isDirectionless()&&(N+=d),Ic+=d,M+=d),f;c!==d&&e&&pc(cd,Kc,Nc,d,"updated");if(d.updateDOM(c,f,Jc))return d=kd(a,null,null),null===b&&n(62),b.replaceChild(d,f),dd(a,null),d;if(E(c)&&E(d)){a=d.__indent;a!==c.__indent&&id(f,a);a=
-d.__format;a!==c.__format&&jd(f,a);if(e){a=N;N="";e=M;var g=c.__size,h=d.__size;M="";if(1===g&&1===h){var k=c.__first;b=d.__first;if(k===b)qd(k,f);else{var m=ed(k);b=kd(b,null,null);f.replaceChild(b,m);dd(k,null)}}else{b=fd(c,$c);var q=fd(d,ad);if(0===g)0!==h&&ld(q,d,0,h-1,f,null);else if(0===h)0!==g&&(k=null==f.__lexicalLineBreak,gd(b,0,g-1,k?null:f),k&&(f.textContent=""));else{var p=b;b=q;q=g-1;g=h-1;let r=f.firstChild,w=0;for(h=0;w<=q&&h<=g;){var l=p[w];let A=b[h];if(l===A)r=rd(qd(A,f)),w++,h++;
-else{void 0===k&&(k=new Set(p));void 0===m&&(m=new Set(b));let x=m.has(l),z=k.has(A);x?(z?(l=tc(O,A),l===r?r=rd(qd(A,f)):(null!=r?f.insertBefore(l,r):f.appendChild(l),qd(A,f)),w++):kd(A,f,r),h++):(r=rd(ed(l)),dd(l,f),w++)}}k=w>q;m=h>g;k&&!m?(k=b[g+1],k=void 0===k?null:O.getElementByKey(k),ld(b,d,h,g,f,k)):m&&!k&&gd(p,w,q,f)}}sc(d)&&(M+="\n\n");f.__lexicalTextContent=M;M=e+M;md(d,f);N=a;L(d)||d.isInline()||nd(c,d,f)}sc(d)&&(M+="\n\n",Ic+="\n\n")}else c=d.getTextContent(),y(d)?(e=d.decorate(O,Jc),null!==
-e&&od(a,e)):B(d)&&!d.isDirectionless()&&(N+=c),M+=c,Ic+=c;!Mc&&L(d)&&d.__cachedText!==Ic&&(d.getWritable().__cachedText=Ic);return f}function od(a,b){let c=O._pendingDecorators,d=O._decorators;if(null===c){if(d[a]===b)return;c=ec(O)}c[a]=b}function rd(a){a=a.nextSibling;null!==a&&a===O._blockCursorElement&&(a=a.nextSibling);return a}function ed(a){let b=bd.get(a);void 0===b&&n(75,a);return b}
-let sd=Object.freeze({}),zd=[["keydown",td],["pointerdown",ud],["compositionstart",vd],["compositionend",wd],["input",xd],["click",yd],["cut",sd],["copy",sd],["dragstart",sd],["dragover",sd],["dragend",sd],["paste",sd],["focus",sd],["blur",sd],["drop",sd]];Xa&&zd.push(["beforeinput",(a,b)=>Ad(a,b)]);let Bd=0,Cd=0,Dd=0,Ed=null,Fd=0,Gd=!1,Hd=!1,Id=!1,Jd=!1,Kd=[0,"",0,"root",0];
-function Ld(a,b,c,d,e){let f=a.anchor,g=a.focus,h=f.getNode();var k=F();let m=wb(k._window),q=null!==m?m.anchorNode:null,p=f.key;k=k.getElementByKey(p);let l=c.length;return p!==g.key||!B(h)||(!e&&(!Xa||Dd<d+50)||h.isDirty()&&2>l||ic(c))&&f.offset!==g.offset&&!h.isComposing()||Vb(h)||h.isDirty()&&1<l||(e||!Xa)&&null!==k&&!h.isComposing()&&q!==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 Md(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}
-function Nd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Gd&&(Gd=!1,Md(d,e)&&Md(f,g)))return;v(b,()=>{if(!c)zb(null);else if(Sb(b,d,f)){var h=u();if(C(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){"Range"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var q=Db(b).event;q=q?q.timeStamp:performance.now();let [A,x,z,aa,W]=Kd;var p=J();p=!1===b.isComposing()&&""===p.getTextContent();q<W+200&&k.offset===z&&k.key===aa?(h.format=A,h.style=x):"text"===k.type?(B(m)||n(141),
+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&&n(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&&n(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&&n(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&&n(97);b=b.replace;return null!==b?(b=b(a),b instanceof a.constructor||n(98),b):a}function Ac(a,b){a=a.getParent();!L(a)||E(b)||y(b)||n(99)}function Bc(a){return(y(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 Ta?(a||window).getSelection():null}function Dc(a){return 1===a.nodeType}function Ec(a){if(y(a)&&!a.isInline())return!0;if(!E(a)||xc(a))return!1;var b=a.getFirstChild();b=null===b||Fc(b)||B(b)||b.isInline();return!a.isInline()&&!1!==a.canBeEmpty()&&b}
+function Gc(a,b){for(;null!==a&&null!==a.getParent()&&!b(a);)a=a.getParentOrThrow();return b(a)?a:null}function Hc(a,b,c,d,e,f){for(a=a.getFirstChild();null!==a;){let g=a.__key;a.__parent===b&&(E(a)&&Hc(a,g,c,d,e,f),c.has(g)||f.delete(g),e.push(g));a=a.getNextSibling()}}
+function Ic(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)&&Hc(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="",Jc="",Kc,O,Lc,Mc=!1,Nc=!1,Oc,Pc=null,Zc,$c,ad,bd,cd,dd;
+function ed(a,b){let c=ad.get(a);if(null!==b){let d=fd(a);d.parentNode===b&&b.removeChild(d)}bd.has(a)||O._keyToDOMMap.delete(a);E(c)&&(a=gd(c,ad),hd(a,0,a.length-1,null));void 0!==c&&qc(dd,Lc,Oc,c,"destroyed")}function hd(a,b,c,d){for(;b<=c;++b){let e=a[b];void 0!==e&&ed(e,d)}}function id(a,b){a.setProperty("text-align",b)}
+function jd(a,b){var c=Kc.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 kd(a,b){a=a.style;0===b?id(a,""):1===b?id(a,"left"):2===b?id(a,"center"):3===b?id(a,"right"):4===b?id(a,"justify"):5===b?id(a,"start"):6===b&&id(a,"end")}
+function ld(a,b,c){let d=bd.get(a);void 0===d&&n(60);let e=d.createDOM(Kc,O);var f=O._keyToDOMMap;e["__lexicalKey_"+O._key]=a;f.set(a,e);B(d)?e.setAttribute("data-lexical-text","true"):y(d)&&e.setAttribute("data-lexical-decorator","true");if(E(d)){a=d.__indent;f=d.__size;0!==a&&jd(e,a);if(0!==f){--f;a=gd(d,bd);var g=N;N="";md(a,d,0,f,e,null);nd(d,e);N=g}a=d.__format;0!==a&&kd(e,a);d.isInline()||od(null,d,e);tc(d)&&(M+="\n\n",Jc+="\n\n")}else f=d.getTextContent(),y(d)?(g=d.decorate(O,Kc),null!==g&&
+pd(a,g),e.contentEditable="false"):B(d)&&(d.isDirectionless()||(N+=f)),M+=f,Jc+=f;null!==b&&(null!=c?b.insertBefore(e,c):(c=b.__lexicalLineBreak,null!=c?b.insertBefore(e,c):b.appendChild(e)));qc(dd,Lc,Oc,d,"created");return e}function md(a,b,c,d,e,f){let g=M;for(M="";c<=d;++c)ld(a[c],e,f);tc(b)&&(M+="\n\n");e.__lexicalTextContent=M;M=g+M}function qd(a,b){a=b.get(a);return Fc(a)||y(a)&&a.isInline()}
+function od(a,b,c){a=null!==a&&(0===a.__size||qd(a.__last,ad));b=0===b.__size||qd(b.__last,bd);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 nd(a,b){var c=b.__lexicalDir;if(b.__lexicalDirTextContent!==N||c!==Pc){let f=""===N;if(f)var d=Pc;else d=N,d=fb.test(d)?"rtl":gb.test(d)?"ltr":null;if(d!==c){let g=b.classList,h=Kc.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);Nc||(a.getWritable().__dir=d)}Pc=
+d;b.__lexicalDirTextContent=N;b.__lexicalDir=d}}function gd(a,b){let c=[];for(a=a.__first;null!==a;){let d=b.get(a);void 0===d&&n(101);c.push(a);a=d.__next}return c}
+function rd(a,b){var c=ad.get(a),d=bd.get(a);void 0!==c&&void 0!==d||n(61);var e=Mc||$c.has(a)||Zc.has(a);let f=uc(O,a);if(c===d&&!e)return E(c)?(d=f.__lexicalTextContent,void 0!==d&&(M+=d,Jc+=d),d=f.__lexicalDirTextContent,void 0!==d&&(N+=d)):(d=c.getTextContent(),B(c)&&!c.isDirectionless()&&(N+=d),Jc+=d,M+=d),f;c!==d&&e&&qc(dd,Lc,Oc,d,"updated");if(d.updateDOM(c,f,Kc))return d=ld(a,null,null),null===b&&n(62),b.replaceChild(d,f),ed(a,null),d;if(E(c)&&E(d)){a=d.__indent;a!==c.__indent&&jd(f,a);a=
+d.__format;a!==c.__format&&kd(f,a);if(e){a=N;N="";e=M;var g=c.__size,h=d.__size;M="";if(1===g&&1===h){var k=c.__first;b=d.__first;if(k===b)rd(k,f);else{var m=fd(k);b=ld(b,null,null);f.replaceChild(b,m);ed(k,null)}}else{b=gd(c,ad);var q=gd(d,bd);if(0===g)0!==h&&md(q,d,0,h-1,f,null);else if(0===h)0!==g&&(k=null==f.__lexicalLineBreak,hd(b,0,g-1,k?null:f),k&&(f.textContent=""));else{var p=b;b=q;q=g-1;g=h-1;let r=f.firstChild,w=0;for(h=0;w<=q&&h<=g;){var l=p[w];let A=b[h];if(l===A)r=sd(rd(A,f)),w++,h++;
+else{void 0===k&&(k=new Set(p));void 0===m&&(m=new Set(b));let x=m.has(l),z=k.has(A);x?(z?(l=uc(O,A),l===r?r=sd(rd(A,f)):(null!=r?f.insertBefore(l,r):f.appendChild(l),rd(A,f)),w++):ld(A,f,r),h++):(r=sd(fd(l)),ed(l,f),w++)}}k=w>q;m=h>g;k&&!m?(k=b[g+1],k=void 0===k?null:O.getElementByKey(k),md(b,d,h,g,f,k)):m&&!k&&hd(p,w,q,f)}}tc(d)&&(M+="\n\n");f.__lexicalTextContent=M;M=e+M;nd(d,f);N=a;L(d)||d.isInline()||od(c,d,f)}tc(d)&&(M+="\n\n",Jc+="\n\n")}else c=d.getTextContent(),y(d)?(e=d.decorate(O,Kc),null!==
+e&&pd(a,e)):B(d)&&!d.isDirectionless()&&(N+=c),M+=c,Jc+=c;!Nc&&L(d)&&d.__cachedText!==Jc&&(d.getWritable().__cachedText=Jc);return f}function pd(a,b){let c=O._pendingDecorators,d=O._decorators;if(null===c){if(d[a]===b)return;c=fc(O)}c[a]=b}function sd(a){a=a.nextSibling;null!==a&&a===O._blockCursorElement&&(a=a.nextSibling);return a}function fd(a){let b=cd.get(a);void 0===b&&n(75,a);return b}
+let td=Object.freeze({}),Ad=[["keydown",ud],["pointerdown",vd],["compositionstart",wd],["compositionend",xd],["input",yd],["click",zd],["cut",td],["copy",td],["dragstart",td],["dragover",td],["dragend",td],["paste",td],["focus",td],["blur",td],["drop",td]];Xa&&Ad.push(["beforeinput",(a,b)=>Bd(a,b)]);let Cd=0,Dd=0,Ed=0,Fd=null,Gd=0,Hd=!1,Id=!1,Jd=!1,Kd=!1,Ld=[0,"",0,"root",0];
+function Md(a,b,c,d,e){let f=a.anchor,g=a.focus,h=f.getNode();var k=F();let m=xb(k._window),q=null!==m?m.anchorNode:null,p=f.key;k=k.getElementByKey(p);let l=c.length;return p!==g.key||!B(h)||(!e&&(!Xa||Ed<d+50)||h.isDirty()&&2>l||jc(c))&&f.offset!==g.offset&&!h.isComposing()||Wb(h)||h.isDirty()&&1<l||(e||!Xa)&&null!==k&&!h.isComposing()&&q!==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 Nd(a,b){return null!==a&&null!==a.nodeValue&&3===a.nodeType&&0!==b&&b!==a.nodeValue.length}
+function Od(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a;if(Hd&&(Hd=!1,Nd(d,e)&&Nd(f,g)))return;v(b,()=>{if(!c)Ab(null);else if(Tb(b,d,f)){var h=u();if(C(h)){var k=h.anchor,m=k.getNode();if(h.isCollapsed()){"Range"===a.type&&a.anchorNode===a.focusNode&&(h.dirty=!0);var q=Eb(b).event;q=q?q.timeStamp:performance.now();let [A,x,z,aa,W]=Ld;var p=J();p=!1===b.isComposing()&&""===p.getTextContent();q<W+200&&k.offset===z&&k.key===aa?(h.format=A,h.style=x):"text"===k.type?(B(m)||n(141),
h.format=m.getFormat(),h.style=m.getStyle()):"element"!==k.type||p||(h.format=0,h.style="")}else{var l=k.key,r=h.focus.key;k=h.getNodes();m=k.length;var w=h.isBackward();q=w?g:e;p=w?e:g;let A=w?r:l;l=w?l:r;r=255;w=!1;for(let x=0;x<m;x++){let z=k[x],aa=z.getTextContentSize();if(B(z)&&0!==aa&&!(0===x&&z.__key===A&&q===aa||x===m-1&&z.__key===l&&0===p)&&(w=!0,r&=z.getFormat(),0===r))break}h.format=w?r:0}}R(b,ba,void 0)}})}
-function yd(a,b){v(b,()=>{let c=u();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=Od(e,d,b,a),
-zb(d));R(b,ca,a)})}function ud(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&v(b,()=>{y(vb(c))||(Hd=!0)})}function Pd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Qd(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
-function Ad(a,b){let c=a.inputType,d=Pd(a);"deleteCompositionText"===c||Wa&&Ab(b)||"insertCompositionText"!==c&&v(b,()=>{let e=u();if("deleteContentBackward"===c){if(null===e){var f=mc();if(!C(f))return;zb(f.clone())}if(C(e)){$a&&H(e.anchor.key);229===Cd&&a.timeStamp<Bd+30&&b.isComposing()&&e.anchor.key===e.focus.key?(H(null),Bd=0,setTimeout(()=>{v(b,()=>{H(null)})},30),C(e)&&(f=e.anchor.getNode(),f.markDirty(),e.format=f.getFormat(),B(f)||n(142),e.style=f.getStyle()),1>=e.anchor.getNode().getTextContent().length&&
-(a.preventDefault(),R(b,da,!0))):(H(null),a.preventDefault(),R(b,da,!0));return}}if(C(e)){f=a.data;null!==Ed&&lc(!1,b,Ed);e.dirty&&null===Ed||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Ed=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,fa,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),a.preventDefault(),e.insertRawText(f)):
-null!=f&&Ld(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Ed=f,Dd=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);Id&&!Za?(Id=!1,R(b,ea,!1)):R(b,fa,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Qd(h,g)&&R(b,
-ma,a);break;case "deleteByDrag":case "deleteByCut":R(b,ma,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 xd(a,b){a.stopPropagation();v(b,()=>{var c=u(),d=a.data,e=Pd(a);if(null!=d&&C(c)&&Ld(c,e,d,a.timeStamp,!1)){Jd&&(Rd(b,d),Jd=!1);var f=c.anchor,g=f.getNode();e=wb(b._window);if(null===e)return;let h=f.offset;if(f=Xa&&!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;Wa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
-d);Ya||Za||bb||!b.isComposing()||(Bd=0,H(null))}else lc(!1,b,null!==d?d:void 0),Jd&&(Rd(b,d||void 0),Jd=!1);G();c=F();Bb(c)});Ed=null}function vd(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<Bd+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||B(e)&&e.getStyle()!==c.style)&&R(b,ka,db)}})}
-function Rd(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=u(),C(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);R(a,Ba,null);return}}lc(!0,a,b)}function wd(a,b){Wa?Jd=!0:v(b,()=>{Rd(b,a.data)})}
-function td(a,b){Bd=a.timeStamp;Cd=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(!R(b,ta,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)Id=!0,R(b,Ba,a);else if(32===c)R(b,Ca,a);else if(t&&e&&79===c)a.preventDefault(),Id=!0,R(b,ea,!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,Da,a):(a.preventDefault(),R(b,da,!0)):27===c?R(b,Ga,
+function zd(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=Pd(e,d,b,a),
+Ab(d));R(b,ca,a)})}function vd(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&v(b,()=>{y(wb(c))||(Id=!0)})}function Qd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Rd(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
+function Bd(a,b){let c=a.inputType,d=Qd(a);"deleteCompositionText"===c||Wa&&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)){$a&&H(e.anchor.key);f=e.anchor.key===e.focus.key;if(229===Dd&&a.timeStamp<Cd+30&&b.isComposing()&&f){if(H(null),Cd=0,setTimeout(()=>{v(b,()=>{H(null)})},30),C(e)&&(f=e.anchor.getNode(),f.markDirty(),e.format=f.getFormat(),B(f)||n(142),e.style=f.getStyle()),f=e.anchor.getNode().getTextContent(),
+e=0===e.anchor.offset&&e.focus.offset===f.length,1>=f.length||e)a.preventDefault(),R(b,da,!0)}else H(null),a.preventDefault(),bb&&f||R(b,da,!0);return}}if(C(e)){f=a.data;null!==Fd&&mc(!1,b,Fd);e.dirty&&null===Fd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Fd=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,fa,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),
+a.preventDefault(),e.insertRawText(f)):null!=f&&Md(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Fd=f,Ed=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);Jd&&!Za?(Jd=!1,R(b,ea,!1)):R(b,fa,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Rd(h,
+g)&&R(b,ma,a);break;case "deleteByDrag":case "deleteByCut":R(b,ma,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 yd(a,b){a.stopPropagation();v(b,()=>{var c=u(),d=a.data,e=Qd(a);if(null!=d&&C(c)&&Md(c,e,d,a.timeStamp,!1)){Kd&&(Sd(b,d),Kd=!1);var f=c.anchor,g=f.getNode();e=xb(b._window);if(null===e)return;let h=f.offset;if(f=Xa&&!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;Wa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
+d);Ya||Za||cb||!b.isComposing()||(Cd=0,H(null))}else mc(!1,b,null!==d?d:void 0),Kd&&(Sd(b,d||void 0),Kd=!1);G();c=F();Cb(c)});Fd=null}function wd(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<Cd+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||B(e)&&e.getStyle()!==c.style)&&R(b,ka,eb)}})}
+function Sd(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 xd(a,b){Wa?Kd=!0:v(b,()=>{Sd(b,a.data)})}
+function ud(a,b){Cd=a.timeStamp;Dd=a.keyCode;if(!b.isComposing()){var {keyCode:c,shiftKey:d,ctrlKey:e,metaKey:f,altKey:g}=a;if(!R(b,ta,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)Jd=!0,R(b,Ba,a);else if(32===c)R(b,Ca,a);else if(t&&e&&79===c)a.preventDefault(),Jd=!0,R(b,ea,!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,Da,a):(a.preventDefault(),R(b,da,!0)):27===c?R(b,Ga,
a):(h=t?d||g||f?!1:46===c||68===c&&e:e||g||f?!1:46===c,h?46===c?R(b,Ha,a):(a.preventDefault(),R(b,da,!1)):8===c&&(t?g:e)?(a.preventDefault(),R(b,oa,!0)):46===c&&(t?g:e)?(a.preventDefault(),R(b,oa,!1)):t&&f&&8===c?(a.preventDefault(),R(b,pa,!0)):t&&f&&46===c?(a.preventDefault(),R(b,pa,!1)):66===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,qa,"bold")):85===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,qa,"underline")):73===c&&!g&&(t?f:e)?(a.preventDefault(),R(b,qa,"italic")):9!==c||g||e||f?90===c&&!d&&(t?f:e)?(a.preventDefault(),
-R(b,ra,void 0)):(h=t?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),R(b,sa,void 0)):Sd(b._editorState._selection)?(h=d?!1:67===c?t?f:e:!1,h?(a.preventDefault(),R(b,Na,a)):(h=d?!1:88===c?t?f:e:!1,h?(a.preventDefault(),R(b,Oa,a)):65===c&&(t?f:e)&&(a.preventDefault(),R(b,Pa,a)))):!Wa&&65===c&&(t?f:e)&&(a.preventDefault(),R(b,Pa,a))):R(b,Ia,a))}else Id=!1,R(b,Ba,a);else R(b,Aa,a);else R(b,za,a);else R(b,ya,a);else R(b,wa,a);else R(b,va,a);else R(b,ua,a);(e||d||g||f)&&R(b,Sa,a)}}}
-function Td(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let Ud=new Map;
-function Vd(a){var b=a.target;let c=wb(null==b?null:9===b.nodeType?b.defaultView:b.ownerDocument.defaultView);if(null!==c){var d=Tb(c.anchorNode);if(null!==d){Hd&&(Hd=!1,v(d,()=>{var h=mc(),k=c.anchorNode;null!==k&&(k=k.nodeType,1===k||3===k)&&(h=Od(h,c,d,a),zb(h))}));b=jc(d);b=b[b.length-1];var e=b._key,f=Ud.get(e),g=f||b;g!==d&&Nd(c,g,!1);Nd(c,d,!0);d!==b?Ud.set(e,d):f&&Ud.delete(e)}}}
-function Wd(a,b){0===Fd&&a.ownerDocument.addEventListener("selectionchange",Vd);Fd++;a.__lexicalEditor=b;let c=Td(a);for(let d=0;d<zd.length;d++){let [e,f]=zd[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,Oa,h);case "copy":return R(b,Na,h);case "paste":return R(b,la,h);case "dragstart":return R(b,Ka,h);case "dragover":return R(b,La,h);case "dragend":return R(b,
+R(b,ra,void 0)):(h=t?90===c&&f&&d:89===c&&e||90===c&&e&&d,h?(a.preventDefault(),R(b,sa,void 0)):Td(b._editorState._selection)?(h=d?!1:67===c?t?f:e:!1,h?(a.preventDefault(),R(b,Na,a)):(h=d?!1:88===c?t?f:e:!1,h?(a.preventDefault(),R(b,Oa,a)):65===c&&(t?f:e)&&(a.preventDefault(),R(b,Pa,a)))):!Wa&&65===c&&(t?f:e)&&(a.preventDefault(),R(b,Pa,a))):R(b,Ia,a))}else Jd=!1,R(b,Ba,a);else R(b,Aa,a);else R(b,za,a);else R(b,ya,a);else R(b,wa,a);else R(b,va,a);else R(b,ua,a);(e||d||g||f)&&R(b,Sa,a)}}}
+function Ud(a){let b=a.__lexicalEventHandles;void 0===b&&(b=[],a.__lexicalEventHandles=b);return b}let Vd=new Map;
+function Wd(a){var b=a.target;let c=xb(null==b?null:9===b.nodeType?b.defaultView:b.ownerDocument.defaultView);if(null!==c){var d=Ub(c.anchorNode);if(null!==d){Id&&(Id=!1,v(d,()=>{var h=nc(),k=c.anchorNode;null!==k&&(k=k.nodeType,1===k||3===k)&&(h=Pd(h,c,d,a),Ab(h))}));b=kc(d);b=b[b.length-1];var e=b._key,f=Vd.get(e),g=f||b;g!==d&&Od(c,g,!1);Od(c,d,!0);d!==b?Vd.set(e,d):f&&Vd.delete(e)}}}
+function Xd(a,b){0===Gd&&a.ownerDocument.addEventListener("selectionchange",Wd);Gd++;a.__lexicalEditor=b;let c=Ud(a);for(let d=0;d<Ad.length;d++){let [e,f]=Ad[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,Oa,h);case "copy":return R(b,Na,h);case "paste":return R(b,la,h);case "dragstart":return R(b,Ka,h);case "dragover":return R(b,La,h);case "dragend":return R(b,
Ma,h);case "focus":return R(b,Qa,h);case "blur":return R(b,Ra,h);case "drop":return R(b,Ja,h)}};a.addEventListener(e,g);c.push(()=>{a.removeEventListener(e,g)})}}
-function Xd(a,b,c){G();var d=a.__key;let e=a.getParent();if(null!==e){var f=u();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 q=k.focus;f.key===d&&(Yd(f,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0);q.key===d&&(Yd(q,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0)}else Sd(k)&&b&&a.isSelected()&&a.selectPrevious();C(k)&&b&&!m?(d=a.getIndexWithinParent(),
-ac(a),Zd(k,e,d,-1)):ac(a);c||wc(e)||e.canBeEmpty()||!e.isEmpty()||Xd(e,b);b&&L(e)&&e.isEmpty()&&e.selectEnd()}}
-class $d{static getType(){n(64,this.name)}static clone(){n(65,this.name)}constructor(a){this.__type=this.constructor.getType();this.__next=this.__prev=this.__parent=null;Yb(this,a)}getType(){return this.__type}isInline(){n(137,this.constructor.name)}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||u();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&&
+function Yd(a,b,c){G();var d=a.__key;let e=a.getParent();if(null!==e){var f=u();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 q=k.focus;f.key===d&&(Zd(f,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0);q.key===d&&(Zd(q,a,e,a.getPreviousSibling(),a.getNextSibling()),m=!0)}else Td(k)&&b&&a.isSelected()&&a.selectPrevious();C(k)&&b&&!m?(d=a.getIndexWithinParent(),
+bc(a),$d(k,e,d,-1)):bc(a);c||xc(e)||e.canBeEmpty()||!e.isEmpty()||Yd(e,b);b&&L(e)&&e.isEmpty()&&e.selectEnd()}}
+class ae{static getType(){n(64,this.name)}static clone(){n(65,this.name)}constructor(a){this.__type=this.constructor.getType();this.__next=this.__prev=this.__parent=null;Zb(this,a)}getType(){return this.__type}isInline(){n(137,this.constructor.name)}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||u();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&&n(66,this.__key);return a}getTopLevelElement(){let a=this;for(;null!==a;){let b=a.getParent();
-if(wc(b))return E(a)||n(138),a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&n(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!==
+if(xc(b))return E(a)||n(138),a;a=b}return null}getTopLevelElementOrThrow(){let a=this.getTopLevelElement();null===a&&n(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&&n(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&&n(113);return a}getWritable(){G();var a=$b(),b=F();a=a._nodeMap;let c=this.__key,d=this.getLatest(),e=d.__parent;b=b._cloneNotNeeded;var f=u();null!==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(){n(70)}updateDOM(){n(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){n(72)}static importJSON(){n(18,this.name)}static transform(){return null}remove(a){Xd(this,!0,a)}replace(a,b){G();var c=u();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(),q=d.__prev,p=d.__next,l=d.__parent;Xd(d,!1,!0);null===k?a.__first=f:k.getWritable().__next=f;g.__prev=q;null===m?a.__last=f:m.getWritable().__prev=f;g.__next=p;g.__parent=l;a.__size=h;b&&(E(this)&&E(g)||n(139),this.getChildren().forEach(r=>{g.append(r)}));C(c)&&(zb(c),b=c.anchor,c=c.focus,b.key===e&&ae(b,g),c.key===e&&ae(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=u();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,q=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=q;d.__prev=c.__key;d.__parent=c.__parent;b&&C(f)&&
-(b=this.getIndexWithinParent(),Zd(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=u();b&&C(c)&&(b=this.getParentOrThrow(),Zd(c,
-b,k));return a}isParentRequired(){return!1}createParentElementNode(){return be()}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 ce(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;)d.getNextSibling()||n(140),d=d.getNextSibling(),b.push(d);for(let e of b)a=a.insertAfter(e)}
-class de extends $d{static getType(){return"linebreak"}static clone(a){return new de(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&&ee(c))if(b=b.lastChild,b===a||b.previousSibling===a&&ee(b)){a=!0;break a}}a=!1}return a?null:{conversion:fe,priority:0}}}}static importJSON(){return ge()}exportJSON(){return{type:"linebreak",
-version:1}}}function fe(){return{node:ge()}}function ge(){return yc(new de)}function Ec(a){return a instanceof de}function ee(a){return 3===a.nodeType&&/^( |\t|\r?\n)+$/.test(a.textContent||"")}function he(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function ie(a,b){return b&1?"strong":b&2?"em":"span"}
-function je(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 ke(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||Wa){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 le(a,b){b=document.createElement(b);b.appendChild(a);return b}
-class me extends $d{static getType(){return"text"}static clone(a){return new me(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 ob[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)}canHaveFormat(){return!0}createDOM(a){var b=this.__format,c=he(this,b);let d=ie(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;ke(this.__text,c,this);a=a.theme.text;void 0!==a&&je(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=he(this,e);let h=he(this,f);var k=ie(this,e);let m=ie(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&n(48),a=g=document.createElement(m),ke(d,a,this),c=c.theme.text,void 0!==c&&je(m,0,f,a,c),b.replaceChild(g,
-e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&n(49));ke(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&je(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:ne,priority:0}),b:()=>({conversion:oe,priority:0}),code:()=>({conversion:pe,priority:0}),em:()=>({conversion:pe,priority:0}),i:()=>({conversion:pe,priority:0}),s:()=>({conversion:pe,priority:0}),span:()=>({conversion:qe,priority:0}),strong:()=>({conversion:pe,priority:0}),
-sub:()=>({conversion:pe,priority:0}),sup:()=>({conversion:pe,priority:0}),u:()=>({conversion:pe,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&&Cc(a)||n(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=le(a,"b"));this.hasFormat("italic")&&(a=le(a,"i"));this.hasFormat("strikethrough")&&(a=le(a,"s"));this.hasFormat("underline")&&(a=le(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=nb[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=cc(),d!==c.anchor.key&&d!==c.focus.key||H(e),c.setTextNodeRange(this,
-a,this,b);else return re(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=cc(),
+[],d=new Set;for(var e=this;null!==e;){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 if(null===f&&n(68),e=b?f.getNextSibling():f.getPreviousSibling(),f=f.getParent(),null!==f)null!==e||d.has(f.__key)||c.push(f);else break;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&&n(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=u();null!==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(){n(70)}updateDOM(){n(71)}exportDOM(a){return{element:this.createDOM(a._config,a)}}exportJSON(){n(72)}static importJSON(){n(18,this.name)}static transform(){return null}remove(a){Yd(this,!0,a)}replace(a,b){G();var c=u();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(),q=d.__prev,p=d.__next,l=d.__parent;Yd(d,!1,!0);null===k?a.__first=f:k.getWritable().__next=f;g.__prev=q;null===m?a.__last=f:m.getWritable().__prev=f;g.__next=p;g.__parent=l;a.__size=h;b&&(E(this)&&E(g)||n(139),this.getChildren().forEach(r=>{g.append(r)}));C(c)&&(Ab(c),b=c.anchor,c=c.focus,b.key===e&&be(b,g),c.key===e&&be(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=u();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,q=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=q;d.__prev=c.__key;d.__parent=c.__parent;
+b&&C(f)&&(b=this.getIndexWithinParent(),$d(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(),
+$d(c,b,k));return a}isParentRequired(){return!1}createParentElementNode(){return ce()}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 de(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;)d.getNextSibling()||n(140),d=d.getNextSibling(),b.push(d);for(let e of b)a=a.insertAfter(e)}
+class ee extends ae{static getType(){return"linebreak"}static clone(a){return new ee(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&&fe(c))if(b=b.lastChild,b===a||b.previousSibling===a&&fe(b)){a=!0;break a}}a=!1}return a?null:{conversion:ge,priority:0}}}}static importJSON(){return he()}exportJSON(){return{type:"linebreak",
+version:1}}}function ge(){return{node:he()}}function he(){return zc(new ee)}function Fc(a){return a instanceof ee}function fe(a){return 3===a.nodeType&&/^( |\t|\r?\n)+$/.test(a.textContent||"")}function ie(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function je(a,b){return b&1?"strong":b&2?"em":"span"}
+function ke(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 le(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||Wa){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 me(a,b){b=document.createElement(b);b.appendChild(a);return b}
+class ne extends ae{static getType(){return"text"}static clone(a){return new ne(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)}canHaveFormat(){return!0}createDOM(a){var b=this.__format,c=ie(this,b);let d=je(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;le(this.__text,c,this);a=a.theme.text;void 0!==a&&ke(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=ie(this,e);let h=ie(this,f);var k=je(this,e);let m=je(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&n(48),a=g=document.createElement(m),le(d,a,this),c=c.theme.text,void 0!==c&&ke(m,0,f,a,c),b.replaceChild(g,
+e),!1;k=b;null!==h&&null!==g&&(k=b.firstChild,null==k&&n(49));le(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&ke(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:oe,priority:0}),b:()=>({conversion:pe,priority:0}),code:()=>({conversion:qe,priority:0}),em:()=>({conversion:qe,priority:0}),i:()=>({conversion:qe,priority:0}),s:()=>({conversion:qe,priority:0}),span:()=>({conversion:re,priority:0}),strong:()=>({conversion:qe,priority:0}),
+sub:()=>({conversion:qe,priority:0}),sup:()=>({conversion:qe,priority:0}),u:()=>({conversion:qe,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&&Dc(a)||n(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=me(a,"b"));this.hasFormat("italic")&&(a=me(a,"i"));this.hasFormat("strikethrough")&&(a=me(a,"s"));this.hasFormat("underline")&&(a=me(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?lb[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 se(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 q=b.getStyle(),p=b.__detail;g=!1;b.isSegmented()?(h=K(m),h.__format=k,h.__style=q,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=q;l.__detail=p;let A=l.__key;r=m+r;
-if(C(b)){let x=b.anchor,z=b.focus;x.key===d&&"text"===x.type&&x.offset>m&&x.offset<=r&&(x.key=A,x.offset-=m,b.dirty=!0);z.key===d&&"text"===z.type&&z.offset>m&&z.offset<=r&&(z.key=A,z.offset-=m,b.dirty=!0)}e===d&&H(A);m=r;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)&&Zd(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||
-a===this.getNextSibling()||n(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;cc()===d&&H(c);let g=u();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(se(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(se(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 qe(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 oe(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let te=new WeakMap;
-function ne(a){null===a.parentElement&&n(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=te.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++)te.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(ge()):"\t"===d?a.push(ue()):""!==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=ve(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=ve(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 Fe=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 ve(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(Fe)||""!==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 Ge={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function pe(a){let b=Ge[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 me(a))}function B(a){return a instanceof me}
-class He extends me{static getType(){return"tab"}static clone(a){let b=new He(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=ue();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){n(126)}setDetail(){n(127)}setMode(){n(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
-function ue(){return yc(new He)}function Ie(a){return a instanceof He}
-class Je{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&&n(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 Ke(a,b,c){return new Je(a,b,c)}function Le(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 ae(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Le(a,c):Le(a,b)}else Le(a,b)}
-function Me(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?be().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 Ne(a,b,c,d){a.key=b;a.offset=c;a.type=d}
-class Oe{constructor(a){this._cachedNodes=null;this._nodes=a;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Sd(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}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 Oe(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 Pe}
-class Pe{constructor(a,b,c,d){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.format=c;this.style=d;this.dirty=!1}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){Ne(this.anchor,a.__key,b,"text");Ne(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 q=0;q<a.length;q++){let p=a[q];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!y(p)&&!Ec(p)||p===c&&this.isCollapsed()||(k+=
-p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Re(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,c);if(null!==a){var [d,e]=a;Ne(this.anchor,d.key,d.offset,d.type);Ne(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Pe(Ke(a.key,a.offset,a.type),Ke(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(ge()):"\t"===e?b.push(ue()):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?Me(b,c,e,f):d||"element"!==c.type||Me(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)||n(26);d=b.getTextContent().length;
-var q=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!q.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Vb(l)||(l=K(),l.setFormat(e),q.canInsertTextAfter()?b.insertAfter(l):q.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()||!q.canInsertTextBefore()&&null===b.getPreviousSibling())){l=
-b.getPreviousSibling();if(!B(l)||Vb(l))l=K(),l.setFormat(e),q.canInsertTextBefore()?b.insertBefore(l):q.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)q=K(b.getTextContent()),q.setFormat(e),b.replace(q),b=q;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),q.canInsertTextBefore()&&q.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Se(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(Ie(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():
+if(C(b)){let x=b.anchor,z=b.focus;x.key===d&&"text"===x.type&&x.offset>m&&x.offset<=r&&(x.key=A,x.offset-=m,b.dirty=!0);z.key===d&&"text"===z.type&&z.offset>m&&z.offset<=r&&(z.key=A,z.offset-=m,b.dirty=!0)}e===d&&H(A);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)&&$d(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||
+a===this.getNextSibling()||n(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&&(te(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(te(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 re(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 pe(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let ue=new WeakMap;
+function oe(a){null===a.parentElement&&n(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=ue.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++)ue.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(he()):"\t"===d?a.push(ve()):""!==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=we(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=we(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 xe=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 we(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(xe)||""!==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 He={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function qe(a){let b=He[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 ne(a))}function B(a){return a instanceof ne}
+class Ie extends ne{static getType(){return"tab"}static clone(a){let b=new Ie(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=ve();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){n(126)}setDetail(){n(127)}setMode(){n(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
+function ve(){return zc(new Ie)}function Je(a){return a instanceof Ie}
+class Ke{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&&n(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 Le(a,b,c){return new Ke(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 be(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)?ce().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){this._cachedNodes=null;this._nodes=a;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Td(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}isCollapsed(){return!1}isBackward(){return!1}getStartEndPoints(){return null}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 Pe(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 Qe}
+class Qe{constructor(a,b,c,d){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.format=c;this.style=d;this.dirty=!1}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){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]=Re(this),k="",m=!0;for(let q=0;q<a.length;q++){let p=a[q];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!y(p)&&!Fc(p)||p===c&&this.isCollapsed()||(k+=
+p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Se(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 Qe(Le(a.key,a.offset,a.type),Le(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(he()):"\t"===e?b.push(ve()):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)||n(26);d=b.getTextContent().length;
+var q=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||!q.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Wb(l)||(l=K(),l.setFormat(e),q.canInsertTextAfter()?b.insertAfter(l):q.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()||!q.canInsertTextBefore()&&null===b.getPreviousSibling())){l=
+b.getPreviousSibling();if(!B(l)||Wb(l))l=K(),l.setFormat(e),q.canInsertTextBefore()?b.insertBefore(l):q.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)q=K(b.getTextContent()),q.setFormat(e),b.replace(q),b=q;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),q.canInsertTextBefore()&&q.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Te(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(Je(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();q=p;if(!l.is(f)&&f.isInline()){do q=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(q)?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,q=c[m];e="text"===d.type?d.offset:q.getTextContentSize();if(k.is(q))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=q.getFormatFlags(a,g);0<e&&(e!==q.getTextContentSize()&&([q]=q.splitText(e)),q.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(q.__key,e,"text");this.format=g|p}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=u();C(b)||n(134);return b.insertNodes(a)}b=this.isBackward()?
-this.focus:this.anchor;var c=Fc(b.getNode(),Dc);b=a[a.length-1];if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=Te(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||y(g))&&!g.isInline())){b=Ue(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)&&Dc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)&&(E(c)||n(135),c.append(...f.getChildren()),
-f=e[1]);f&&ce(c,f);e=Fc(a,Dc);b&&E(e)&&("__value"in b&&"__checked"in b||Dc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Ec(a)&&e!==c&&a.remove()}else E(c)||n(135),d=Te(this),c.splice(d,0,a),b.selectEnd()}}insertParagraph(){if("root"===this.anchor.key){var a=be();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=Te(this);a=Fc(this.anchor.getNode(),Dc);E(a)||n(136);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=ge();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(y(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Ve(),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,Ne(f,b.key,b.offset,b.type),Ne(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(y(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=Ve(),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){We(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)){We(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&&
+this.focus:this.anchor;var c=Gc(b.getNode(),Ec);b=a[a.length-1];if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=Ue(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||y(g))&&!g.isInline())){b=Ve(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)&&Ec(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)&&(E(c)||n(135),c.append(...f.getChildren()),
+f=e[1]);f&&de(c,f);e=Gc(a,Ec);b&&E(e)&&("__value"in b&&"__checked"in b||Ec(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Fc(a)&&e!==c&&a.remove()}else E(c)||n(135),d=Ue(this),c.splice(d,0,a),b.selectEnd()}}insertParagraph(){if("root"===this.anchor.key){var a=ce();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=Ue(this);a=Gc(this.anchor.getNode(),Ec);E(a)||n(136);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=he();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(y(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=We(),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(y(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=We(),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){Xe(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)){Xe(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()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}}function Sd(a){return a instanceof Oe}function Xe(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){a=a.getStartEndPoints();if(null===a)return[0,0];let [b,c]=a;return"element"===b.type&&"element"===c.type&&b.key===c.key&&b.offset===c.offset?[0,0]:[Xe(b),Xe(c)]}
-function We(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 Ye(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&&y(f)&&hc(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return Ke(f.__key,e,"element")}}else d=hc(a);return B(d)?Ke(d.__key,e,"text"):null}
-function Ze(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 Se(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);Ze(a,d,e);Ze(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,Ne(a,d.key,d.offset,d.type),Ne(b,c.key,c.offset,c.type))}}
-function Re(a,b,c,d,e,f){if(null===a||null===c||!Sb(e,a,c))return null;b=Ye(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=Ye(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=hc(a),c=hc(c),y(a)&&y(c)))return null;Se(b,d,f);return[b,d]}function re(a,b,c,d,e,f){let g=$b();a=new Pe(Ke(a,b,e),Ke(c,d,f),0,"");a.dirty=!0;return g._selection=a}function Ve(){return new Oe(new Set)}
-function $e(a){let b=a.getEditorState()._selection,c=wb(a._window);return C(b)||null==b?Od(b,c,a,null):b.clone()}
-function Od(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=!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)&&!Sb(c,e,f))return a.clone()}else return a.clone();c=Re(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Pe(h,k,C(a)?a.format:
-0,C(a)?a.style:"")}function u(){return $b()._selection}function mc(){return F()._editorState._selection}
-function Zd(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"),af(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"))}af(a)}}
-function af(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 bf(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 Yd(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 se(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
-function Te(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Dc(a);)[a,b]=cf(a,b);return b}
-function cf(a,b){var c=a.getParent();if(!c)return c=be(),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 Pe(Ke(a.__key,b,"element"),Ke(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
-function Ue(a){let b=be(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Ec(e);if(f||y(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 S=null,T=null,U=!1,df=!1,Zb=0,ef={characterData:!0,childList:!0,subtree:!0};function dc(){return U||null!==S&&S._readOnly}function G(){U&&n(13)}function $b(){null===S&&n(15);return S}
-function F(){null===T&&n(16);return T}function ff(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&n(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 gf(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 hf(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 q of g)g=a.get(q),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Gb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&ff(b,g,f),c.add(q);g=b._dirtyLeaves;h=g.size;if(0<h){Zb++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let q of k)if(k=q[0],m=q[1],"root"===k||m)g=a.get(k),void 0!==
-g&&void 0!==g&&g.__key!==e&&g.isAttached()&&ff(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 jf(a,b){var c=a.type,d=b.get(c);void 0===d&&n(17,c);c=d.klass;a.type!==c.getType()&&n(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=jf(a[d],b);c.append(e)}return c}function kf(a,b){let c=S,d=U,e=T;S=a;U=!0;T=null;try{return b()}finally{S=c,U=d,T=e}}
-function lf(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=S,q=U,p=T,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){T=a;S=c;U=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var A=D,x=P,z=Q;N=Ic=M="";Lc=2===A;Oc=null;O=a;Jc=a._config;Kc=a._nodes;Nc=O._listeners.mutation;Pc=x;Zc=z;$c=f._nodeMap;
-ad=c._nodeMap;Mc=c._readOnly;bd=new Map(a._keyToDOMMap);let ha=new Map;cd=ha;qd("root",null);cd=bd=Jc=ad=$c=Zc=Pc=Kc=O=void 0;w=ha}catch(D){D instanceof Error&&a._onError(D);if(df)throw D;mf(a,null,d,c);Cb(a);a._dirtyType=2;df=!0;lf(a,f);df=!1;return}finally{r.observe(d,ef),a._updating=l,S=m,U=q,T=p}}c._readOnly||(c._readOnly=!0);var aa=a._dirtyLeaves,W=a._dirtyElements,Ua=a._normalizedNodes,ja=a._updateTags,Qc=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 we=a._decorators,Lb=a._pendingDecorators||we,yf=c._nodeMap,Rc;for(Rc in Lb)yf.has(Rc)||(Lb===we&&(Lb=ec(a)),delete Lb[Rc]);var ia=e?null:wb(a._window);if(a._editable&&null!==ia&&(k||null===h||h.dirty)){T=a;S=c;try{null!==r&&r.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Bc(D,a,d);a:{let P=ia.anchorNode,Q=ia.focusNode,ha=ia.anchorOffset,ib=ia.focusOffset,X=document.activeElement;if(!(ja.has("collaboration")&&
-X!==d||null!==X&&Rb(X)))if(C(h)){var jb=h.anchor,Sc=h.focus,xe=jb.key,zf=Sc.key,ye=tc(a,xe),ze=tc(a,zf),Mb=jb.offset,Ae=Sc.offset,Tc=h.format,Uc=h.style,Be=h.isCollapsed(),kb=ye,Nb=ze,Vc=!1;if("text"===jb.type){kb=Wb(ye);let Y=jb.getNode();Vc=Y.getFormat()!==Tc||Y.getStyle()!==Uc}else C(g)&&"text"===g.anchor.type&&(Vc=!0);"text"===Sc.type&&(Nb=Wb(ze));if(null!==kb&&null!==Nb){if(Be&&(null===g||Vc||C(g)&&(g.format!==Tc||g.style!==Uc))){var Af=performance.now();Kd=[Tc,Uc,Mb,xe,Af]}if(ha===Mb&&ib===
-Ae&&P===kb&&Q===Nb&&("Range"!==ia.type||!Be)&&(null!==X&&d.contains(X)||d.focus({preventScroll:!0}),"element"!==jb.type))break a;try{ia.setBaseAndExtent(kb,Mb,Nb,Ae)}catch(Y){}if(!ja.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let Y=h instanceof Pe&&"element"===h.anchor.type?kb.childNodes[Mb]||null:0<ia.rangeCount?ia.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 xa=d.ownerDocument,Ea=xa.defaultView;if(null!==Ea)for(var {top:Wc,bottom:Xc}=Z,Ob,Pb,na=d;null!==na;){let V=na===xa.body;if(V)Ob=0,Pb=Db(a).innerHeight;else{let Qb=na.getBoundingClientRect();Ob=Qb.top;Pb=Qb.bottom}let Fa=0;Wc<Ob?Fa=-(Ob-Wc):Xc>Pb&&(Fa=Xc-Pb);if(0!==Fa)if(V)Ea.scrollBy(0,Fa);else{let Qb=na.scrollTop;na.scrollTop+=Fa;let Ce=na.scrollTop-Qb;Wc-=Ce;Xc-=Ce}if(V)break;na=Ub(na)}}}Gd=!0}}else null!==g&&Sb(a,P,Q)&&ia.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(),ha=P.offset,ib=Q.getChildrenSize(),X=!1,Y=null;if(ha===ib){let Z=Q.getChildAtIndex(ha-1);Ac(Z)&&(X=!0)}else{let Z=Q.getChildAtIndex(ha);if(Ac(Z)){let xa=Z.getPreviousSibling();if(null===xa||Ac(xa))X=!0,Y=a.getElementByKey(Z.__key)}}if(X){let Z=a.getElementByKey(Q.__key);if(null===D){let xa=a._config.theme,Ea=document.createElement("div");Ea.contentEditable="false";Ea.setAttribute("data-lexical-cursor","true");
-let V=xa.blockCursor;if(void 0!==V){if("string"===typeof V){let Fa=V.split(" ");V=xa.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!==r&&r.observe(d,ef)}finally{T=p,S=m}}if(null!==w){var Bf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [ha,ib]=D[Q],X=Bf.get(ib);void 0!==X&&ha(X,{dirtyLeaves:aa,prevEditorState:f,updateTags:ja})}}C(h)||
-null===h||null!==g&&g.is(h)||a.dispatchCommand(ba,void 0);var Yc=a._pendingDecorators;null!==Yc&&(a._decorators=Yc,a._pendingDecorators=null,nf("decorator",a,!0,Yc));var Cf=fc(b||f),De=fc(c);Cf!==De&&nf("textcontent",a,!0,De);nf("update",a,!0,{dirtyElements:W,dirtyLeaves:aa,editorState:c,normalizedNodes:Ua,prevEditorState:b||f,tags:ja});a._deferred=[];if(0!==Qc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Qc.length;P++)Qc[P]()}finally{a._updating=D}}var Ee=a._updates;if(0!==Ee.length){let D=
-Ee.shift();if(D){let [P,Q]=D;of(a,P,Q)}}}}function nf(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||T!==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 pf(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 of(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 qf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=S;let k=U,m=T,q=a._updating;S=g;U=!1;a._updating=!0;T=a;try{h&&(a._headless?null!==c._selection&&(g._selection=c._selection.clone()):g._selection=$e(a));let p=a._compositionKey;
-b();e=pf(a,e);bf(g,a);0!==a._dirtyType&&(e?gf(g,a):hf(g,a),pf(a),Hc(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)||n(19)}else Sd(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();lf(a);return}finally{S=f,U=k,T=m,
-a._updating=q,Zb=0}0!==a._dirtyType||rf(g,a)?g._flushSync?(g._flushSync=!1,lf(a)):h&&Kb(()=>{lf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):of(a,b,c)}class sf extends $d{constructor(a){super(a)}decorate(){n(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function y(a){return a instanceof sf}
-class tf extends $d{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 mb[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.modify("extend",a,"word");this.removeText()}isBackward(){return this.focus.isBefore(this.anchor)}getStartEndPoints(){return[this.anchor,this.focus]}}function Td(a){return a instanceof Pe}function Ye(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){a=a.getStartEndPoints();if(null===a)return[0,0];let [b,c]=a;return"element"===b.type&&"element"===c.type&&b.key===c.key&&b.offset===c.offset?[0,0]:[Ye(b),Ye(c)]}
+function Xe(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 Ze(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&&y(f)&&ic(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return Le(f.__key,e,"element")}}else d=ic(a);return B(d)?Le(d.__key,e,"text"):null}
+function $e(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 Te(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);$e(a,d,e);$e(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 Se(a,b,c,d,e,f){if(null===a||null===c||!Tb(e,a,c))return null;b=Ze(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=Ze(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),y(a)&&y(c)))return null;Te(b,d,f);return[b,d]}function se(a,b,c,d,e,f){let g=ac();a=new Qe(Le(a,b,e),Le(c,d,f),0,"");a.dirty=!0;return g._selection=a}function We(){return new Pe(new Set)}
+function af(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Pd(b,c,a,null):b.clone()}
+function Pd(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=Se(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Qe(h,k,C(a)?a.format:
+0,C(a)?a.style:"")}function u(){return ac()._selection}function nc(){return F()._editorState._selection}
+function $d(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"),bf(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"))}bf(a)}}
+function bf(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 cf(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 Zd(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 te(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
+function Ue(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Ec(a);)[a,b]=df(a,b);return b}
+function df(a,b){var c=a.getParent();if(!c)return c=ce(),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 Qe(Le(a.__key,b,"element"),Le(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
+function Ve(a){let b=ce(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Fc(e);if(f||y(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 S=null,T=null,U=!1,ef=!1,$b=0,ff={characterData:!0,childList:!0,subtree:!0};function ec(){return U||null!==S&&S._readOnly}function G(){U&&n(13)}function ac(){null===S&&n(15);return S}
+function F(){null===T&&n(16);return T}function gf(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&n(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 hf(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 jf(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 q of g)g=a.get(q),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&gf(b,g,f),c.add(q);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let q of k)if(k=q[0],m=q[1],"root"===k||m)g=a.get(k),void 0!==
+g&&void 0!==g&&g.__key!==e&&g.isAttached()&&gf(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 kf(a,b){var c=a.type,d=b.get(c);void 0===d&&n(17,c);c=d.klass;a.type!==c.getType()&&n(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=kf(a[d],b);c.append(e)}return c}function lf(a,b){let c=S,d=U,e=T;S=a;U=!0;T=null;try{return b()}finally{S=c,U=d,T=e}}
+function mf(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=S,q=U,p=T,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){T=a;S=c;U=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var A=D,x=P,z=Q;N=Jc=M="";Mc=2===A;Pc=null;O=a;Kc=a._config;Lc=a._nodes;Oc=O._listeners.mutation;Zc=x;$c=z;ad=f._nodeMap;
+bd=c._nodeMap;Nc=c._readOnly;cd=new Map(a._keyToDOMMap);let ha=new Map;dd=ha;rd("root",null);dd=cd=Kc=bd=ad=$c=Zc=Lc=O=void 0;w=ha}catch(D){D instanceof Error&&a._onError(D);if(ef)throw D;nf(a,null,d,c);Db(a);a._dirtyType=2;ef=!0;mf(a,f);ef=!1;return}finally{r.observe(d,ff),a._updating=l,S=m,U=q,T=p}}c._readOnly||(c._readOnly=!0);var aa=a._dirtyLeaves,W=a._dirtyElements,Ua=a._normalizedNodes,ja=a._updateTags,Qc=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 ye=a._decorators,Lb=a._pendingDecorators||ye,zf=c._nodeMap,Rc;for(Rc in Lb)zf.has(Rc)||(Lb===ye&&(Lb=fc(a)),delete Lb[Rc]);var ia=e?null:xb(a._window);if(a._editable&&null!==ia&&(k||null===h||h.dirty)){T=a;S=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=ia.anchorNode,Q=ia.focusNode,ha=ia.anchorOffset,ib=ia.focusOffset,X=document.activeElement;if(!(ja.has("collaboration")&&
+X!==d||null!==X&&Sb(X)))if(C(h)){var jb=h.anchor,Sc=h.focus,ze=jb.key,Af=Sc.key,Ae=uc(a,ze),Be=uc(a,Af),Mb=jb.offset,Ce=Sc.offset,Tc=h.format,Uc=h.style,De=h.isCollapsed(),kb=Ae,Nb=Be,Vc=!1;if("text"===jb.type){kb=Xb(Ae);let Y=jb.getNode();Vc=Y.getFormat()!==Tc||Y.getStyle()!==Uc}else C(g)&&"text"===g.anchor.type&&(Vc=!0);"text"===Sc.type&&(Nb=Xb(Be));if(null!==kb&&null!==Nb){if(De&&(null===g||Vc||C(g)&&(g.format!==Tc||g.style!==Uc))){var Bf=performance.now();Ld=[Tc,Uc,Mb,ze,Bf]}if(ha===Mb&&ib===
+Ce&&P===kb&&Q===Nb&&("Range"!==ia.type||!De)&&(null!==X&&d.contains(X)||d.focus({preventScroll:!0}),"element"!==jb.type))break a;try{ia.setBaseAndExtent(kb,Mb,Nb,Ce)}catch(Y){}if(!ja.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let Y=h instanceof Qe&&"element"===h.anchor.type?kb.childNodes[Mb]||null:0<ia.rangeCount?ia.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 xa=d.ownerDocument,Ea=xa.defaultView;if(null!==Ea)for(var {top:Wc,bottom:Xc}=Z,Ob,Pb,na=d;null!==na;){let V=na===xa.body;if(V)Ob=0,Pb=Eb(a).innerHeight;else{let Qb=na.getBoundingClientRect();Ob=Qb.top;Pb=Qb.bottom}let Fa=0;Wc<Ob?Fa=-(Ob-Wc):Xc>Pb&&(Fa=Xc-Pb);if(0!==Fa)if(V)Ea.scrollBy(0,Fa);else{let Qb=na.scrollTop;na.scrollTop+=Fa;let Ee=na.scrollTop-Qb;Wc-=Ee;Xc-=Ee}if(V)break;na=Vb(na)}}}Hd=!0}}else null!==g&&Tb(a,P,Q)&&ia.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(),ha=P.offset,ib=Q.getChildrenSize(),X=!1,Y=null;if(ha===ib){let Z=Q.getChildAtIndex(ha-1);Bc(Z)&&(X=!0)}else{let Z=Q.getChildAtIndex(ha);if(Bc(Z)){let xa=Z.getPreviousSibling();if(null===xa||Bc(xa))X=!0,Y=a.getElementByKey(Z.__key)}}if(X){let Z=a.getElementByKey(Q.__key);if(null===D){let xa=a._config.theme,Ea=document.createElement("div");Ea.contentEditable="false";Ea.setAttribute("data-lexical-cursor","true");
+let V=xa.blockCursor;if(void 0!==V){if("string"===typeof V){let Fa=V.split(" ");V=xa.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!==r&&r.observe(d,ff)}finally{T=p,S=m}}if(null!==w){var Cf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [ha,ib]=D[Q],X=Cf.get(ib);void 0!==X&&ha(X,{dirtyLeaves:aa,prevEditorState:f,updateTags:ja})}}C(h)||
+null===h||null!==g&&g.is(h)||a.dispatchCommand(ba,void 0);var Yc=a._pendingDecorators;null!==Yc&&(a._decorators=Yc,a._pendingDecorators=null,of("decorator",a,!0,Yc));var Df=gc(b||f),Fe=gc(c);Df!==Fe&&of("textcontent",a,!0,Fe);of("update",a,!0,{dirtyElements:W,dirtyLeaves:aa,editorState:c,normalizedNodes:Ua,prevEditorState:b||f,tags:ja});a._deferred=[];if(0!==Qc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Qc.length;P++)Qc[P]()}finally{a._updating=D}}var Ge=a._updates;if(0!==Ge.length){let D=
+Ge.shift();if(D){let [P,Q]=D;pf(a,P,Q)}}}}function of(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||T!==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 qf(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 pf(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 rf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=S;let k=U,m=T,q=a._updating;S=g;U=!1;a._updating=!0;T=a;try{h&&(a._headless?null!==c._selection&&(g._selection=c._selection.clone()):g._selection=af(a));let p=a._compositionKey;
+b();e=qf(a,e);cf(g,a);0!==a._dirtyType&&(e?hf(g,a):jf(g,a),qf(a),Ic(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)||n(19)}else Td(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();mf(a);return}finally{S=f,U=k,T=m,
+a._updating=q,$b=0}0!==a._dirtyType||sf(g,a)?g._flushSync?(g._flushSync=!1,mf(a)):h&&Rb(()=>{mf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):pf(a,b,c)}class tf extends ae{constructor(a){super(a)}decorate(){n(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function y(a){return a instanceof tf}
+class uf extends ae{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 nb[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&&n(45,this.__key);return a}getLastChild(){let a=this.getLatest().__last;return null===
a?null:I(a)}getLastChildOrThrow(){let a=this.getLastChild();null===a&&n(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=lb[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 re(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?lb[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),q=null,p=e-b+d;if(0!==a)if(a===e)q=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(q=l.getPreviousSibling())}if(0<b){var r=null===q?this.getFirstChild():q.getNextSibling();
-for(l=0;l<b;l++){null===r&&n(100);var w=r.getNextSibling(),A=r.__key;r=r.getWritable();ac(r);k.push(A);r=w}}l=q;for(w=0;w<d;w++){A=c[w];null!==l&&A.is(l)&&(q=l=l.getPreviousSibling());r=A.getWritable();r.__parent===g&&p--;ac(r);let x=A.__key;null===l?(f.__first=x,r.__prev=null):(l=l.getWritable(),l.__next=x,r.__prev=l.__key);A.__key===g&&n(76);r.__parent=g;h.push(x);l=A}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:x,focus:z}=a;uf(x,k,h)&&Yd(x,x.getNode(),this,q,m);uf(z,k,h)&&Yd(z,z.getNode(),this,q,m);0!==p||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 tf}function uf(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 vf extends tf{static getType(){return"root"}static clone(){return new vf}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){n(51)}getTextContent(){let a=this.__cachedText;return!dc()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){n(52)}replace(){n(53)}insertBefore(){n(54)}insertAfter(){n(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||y(c)||n(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 vf}function rf(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 wf(){return new qf(new Map([["root",new vf]]))}
-function xf(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&n(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||n(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=xf(a[c]);d.push(e)}}return b}
-class qf{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 kf(this,a)}clone(a){a=new qf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return kf(this,()=>({root:xf(J())}))}}
-class Df extends tf{static getType(){return"paragraph"}static clone(a){return new Df(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:Ef,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Cc(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=be();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=be();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 Ef(a){let b=be();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function be(){return yc(new Df)}
-function mf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=wf();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 Ff(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 Gf{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=
+(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=mb[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 se(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?mb[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),q=null,p=e-b+d;if(0!==a)if(a===e)q=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(q=l.getPreviousSibling())}if(0<b){var r=null===q?this.getFirstChild():q.getNextSibling();
+for(l=0;l<b;l++){null===r&&n(100);var w=r.getNextSibling(),A=r.__key;r=r.getWritable();bc(r);k.push(A);r=w}}l=q;for(w=0;w<d;w++){A=c[w];null!==l&&A.is(l)&&(q=l=l.getPreviousSibling());r=A.getWritable();r.__parent===g&&p--;bc(r);let x=A.__key;null===l?(f.__first=x,r.__prev=null):(l=l.getWritable(),l.__next=x,r.__prev=l.__key);A.__key===g&&n(76);r.__parent=g;h.push(x);l=A}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:x,focus:z}=a;vf(x,k,h)&&Zd(x,x.getNode(),this,q,m);vf(z,k,h)&&Zd(z,z.getNode(),this,q,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 uf}function vf(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 wf extends uf{static getType(){return"root"}static clone(){return new wf}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){n(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){n(52)}replace(){n(53)}insertBefore(){n(54)}insertAfter(){n(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||y(c)||n(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 wf}function sf(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 xf(){return new rf(new Map([["root",new wf]]))}
+function yf(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&n(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||n(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=yf(a[c]);d.push(e)}}return b}
+class rf{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 lf(this,a)}clone(a){a=new rf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return lf(this,()=>({root:yf(J())}))}}
+class Ef extends uf{static getType(){return"paragraph"}static clone(a){return new Ef(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:Ff,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Dc(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=ce();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=ce();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 Ff(a){let b=ce();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ce(){return zc(new Ef)}
+function nf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=xf();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 Gf(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 Hf{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&&n(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&&n(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())&&n(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&&n(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;mf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
-Fd&&(Fd--,0===Fd&&b.ownerDocument.removeEventListener("selectionchange",Vd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=jc(d);e=e[e.length-1]._key;Ud.get(e)===d&&Ud.delete(e)}else Ud.delete(d._key);b.__lexicalEditor=null}d=Td(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"),lf(this),this._config.disableEvents||Wd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);nf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&n(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),lf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);lf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=wf(),d=S,e=U,f=T,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;S=c;U=!1;T=this;try{jf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(q){q instanceof
+e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,b){void 0===this._nodes.get(a.getType())&&n(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&&n(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;nf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
+Gd&&(Gd--,0===Gd&&b.ownerDocument.removeEventListener("selectionchange",Wd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=kc(d);e=e[e.length-1]._key;Vd.get(e)===d&&Vd.delete(e)}else Vd.delete(d._key);b.__lexicalEditor=null}d=Ud(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"),mf(this),this._config.disableEvents||Xd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);of("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&n(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),mf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);mf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=xf(),d=S,e=U,f=T,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;S=c;U=!1;T=this;try{kf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(q){q instanceof
Error&&this._onError(q)}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,S=d,U=e,T=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=wb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,nf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=yc;exports.$copyNode=xc;exports.$createLineBreakNode=ge;exports.$createNodeSelection=Ve;exports.$createParagraphNode=be;exports.$createPoint=Ke;
-exports.$createRangeSelection=function(){let a=Ke("root",0,"element"),b=Ke("root",0,"element");return new Pe(a,b,0,"")};exports.$createTabNode=ue;exports.$createTextNode=K;exports.$getAdjacentNode=rc;exports.$getCharacterOffsets=Qe;exports.$getEditor=function(){return F()};exports.$getNearestNodeFromDOMNode=vb;exports.$getNearestRootOrShadowRoot=vc;exports.$getNodeByKey=I;exports.$getPreviousSelection=mc;exports.$getRoot=J;exports.$getSelection=u;
-exports.$getTextContent=function(){let a=u();return null===a?"":a.getTextContent()};exports.$hasAncestor=uc;exports.$hasUpdateTag=function(a){return F()._updateTags.has(a)};exports.$insertNodes=function(a){let b=u()||mc();null===b&&(b=J().selectEnd());b.insertNodes(a)};exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};exports.$isDecoratorNode=y;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||y(a)&&a.isInline()};
-exports.$isLeafNode=function(a){return B(a)||Ec(a)||y(a)};exports.$isLineBreakNode=Ec;exports.$isNodeSelection=Sd;exports.$isParagraphNode=function(a){return a instanceof Df};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=wc;exports.$isTabNode=Ie;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 jf(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)&&n(102);let d=g=>{const h=g.getParentOrThrow(),k=wc(h),m=g!==c||k?xc(g):g;if(k)return E(g)&&E(m)||n(133),g.insertAfter(m),[g,m,m];const [q,p,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[q,p,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Ra;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=ka;exports.COPY_COMMAND=Na;exports.CUT_COMMAND=Oa;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=pa;exports.DELETE_WORD_COMMAND=oa;exports.DRAGEND_COMMAND=Ma;exports.DRAGOVER_COMMAND=La;exports.DRAGSTART_COMMAND=Ka;exports.DROP_COMMAND=Ja;exports.DecoratorNode=sf;
-exports.ElementNode=tf;exports.FOCUS_COMMAND=Qa;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.INSERT_TAB_COMMAND={};exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=wa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Da;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;
-exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Sa;exports.KEY_SPACE_COMMAND=Ca;exports.KEY_TAB_COMMAND=Ia;exports.LineBreakNode=de;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Df;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=ma;exports.RootNode=vf;exports.SELECTION_CHANGE_COMMAND=ba;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Pa;
-exports.TabNode=He;exports.TextNode=me;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
-exports.createEditor=function(a){var b=a||{},c=T,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=wf(),h=b.namespace||(null!==e?e._config.namespace:kc()),k=b.editorState,m=[vf,me,de,He,Df,...(b.nodes||[])],{onError:q,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 A=r.getType(),x=r.transform(),z=
-new Set;null!==x&&z.add(x);a.set(A,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:z})}d=new Gf(g,e,a,{disableEvents:f,namespace:h,theme:d},q?q:console.error,Ff(a,p?p.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Tb;exports.isCurrentlyReadOnlyMode=dc;exports.isHTMLAnchorElement=function(a){return Cc(a)&&"A"===a.tagName};exports.isHTMLElement=Cc;
-exports.isSelectionCapturedInDecoratorInput=Rb;exports.isSelectionWithinEditor=Sb
+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,of("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=he;exports.$createNodeSelection=We;exports.$createParagraphNode=ce;exports.$createPoint=Le;
+exports.$createRangeSelection=function(){let a=Le("root",0,"element"),b=Le("root",0,"element");return new Qe(a,b,0,"")};exports.$createTabNode=ve;exports.$createTextNode=K;exports.$getAdjacentNode=sc;exports.$getCharacterOffsets=Re;exports.$getEditor=function(){return F()};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=y;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||y(a)&&a.isInline()};
+exports.$isLeafNode=function(a){return B(a)||Fc(a)||y(a)};exports.$isLineBreakNode=Fc;exports.$isNodeSelection=Td;exports.$isParagraphNode=function(a){return a instanceof Ef};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Je;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 kf(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)&&n(102);let d=g=>{const h=g.getParentOrThrow(),k=xc(h),m=g!==c||k?yc(g):g;if(k)return E(g)&&E(m)||n(133),g.insertAfter(m),[g,m,m];const [q,p,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[q,p,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Ra;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=ka;exports.COPY_COMMAND=Na;exports.CUT_COMMAND=Oa;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=pa;exports.DELETE_WORD_COMMAND=oa;exports.DRAGEND_COMMAND=Ma;exports.DRAGOVER_COMMAND=La;exports.DRAGSTART_COMMAND=Ka;exports.DROP_COMMAND=Ja;exports.DecoratorNode=tf;
+exports.ElementNode=uf;exports.FOCUS_COMMAND=Qa;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=fa;exports.INSERT_TAB_COMMAND={};exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=wa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Da;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;
+exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Sa;exports.KEY_SPACE_COMMAND=Ca;exports.KEY_TAB_COMMAND=Ia;exports.LineBreakNode=ee;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Ef;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=ma;exports.RootNode=wf;exports.SELECTION_CHANGE_COMMAND=ba;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Pa;
+exports.TabNode=Ie;exports.TextNode=ne;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
+exports.createEditor=function(a){var b=a||{},c=T,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=xf(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[wf,ne,ee,Ie,Ef,...(b.nodes||[])],{onError:q,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 A=r.getType(),x=r.transform(),z=
+new Set;null!==x&&z.add(x);a.set(A,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:z})}d=new Hf(g,e,a,{disableEvents:f,namespace:h,theme:d},q?q:console.error,Gf(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 Dc(a)&&"A"===a.tagName};exports.isHTMLElement=Dc;
+exports.isSelectionCapturedInDecoratorInput=Sb;exports.isSelectionWithinEditor=Tb
+2 -4
View File
@@ -44,10 +44,8 @@
"@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]3.1": "patch:lexical@npm:0.13.1#.yarn/patches/lexical-npm-0.13.1-ac06219fd6.patch",
"@lexical/clipboard@0.13.1": "patch:@lexical/clipboard@npm:0.13.1#.yarn/patches/@lexical-clipboard-npm-0.13.1-b4788bb0a9.patch",
"@lexical/[email protected]": "patch:@lexical/rich-text@npm:0.13.1#.yarn/patches/@lexical-rich-text-npm-0.13.1-df610fad54.patch",
"@lexical/[email protected]": "patch:@lexical/list@npm:0.13.1#.yarn/patches/@lexical-list-npm-0.13.1-788c53f078.patch"
"@lexical/clipboard@0.14.3": "patch:@lexical/clipboard@npm:0.14.3#.yarn/patches/@lexical-clipboard-npm-0.14.3-58877f1e45.patch",
"@lexical/rich-text@0.14.3": "patch:@lexical/rich-text@npm:0.14.3#.yarn/patches/@lexical-rich-text-npm-0.14.3-02ac98ca96.patch"
},
"dependencies": {
"@standardnotes/snjs": "workspace:*"
+8
View File
@@ -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.26.87](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/api
## [1.26.86](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/api
## [1.26.85](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/api
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/api",
"version": "1.26.85",
"version": "1.26.87",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+44
View File
@@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.1.459](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.458](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.457](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.456](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.455](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.454](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.453](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.452](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.451](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.450](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.449](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/clipper
## [1.1.448](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/clipper
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/clipper",
"description": "Web clipper browser extension for Standard Notes",
"version": "1.1.448",
"version": "1.1.459",
"private": true,
"scripts": {
"build-mv2": "yarn clean && webpack --config ./webpack.config.prod.js",
+44
View File
@@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.110.61](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.60](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.59](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.58](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.57](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.56](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.55](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.54](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.53](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.52](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.51](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/desktop
## [3.110.50](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/desktop
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "@standardnotes/desktop",
"main": "./app/dist/index.js",
"version": "3.110.50",
"version": "3.110.61",
"license": "AGPL-3.0",
"author": "Standard Notes.",
"private": true,
+8
View File
@@ -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.21.105](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/encryption
## [1.21.104](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/encryption
## [1.21.103](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/encryption
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/encryption",
"version": "1.21.103",
"version": "1.21.105",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+8
View File
@@ -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.61.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/features
## [1.61.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/features
## [1.61.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-11-30)
### Bug Fixes
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/features",
"version": "1.61.1",
"version": "1.61.3",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -28,6 +28,7 @@ export class NativeFeatureIdentifier extends ValueObject<NativeFeatureIdentifier
MidnightTheme: 'org.standardnotes.theme-midnight',
SolarizedDarkTheme: 'org.standardnotes.theme-solarized-dark',
TitaniumTheme: 'org.standardnotes.theme-titanium',
ProtonTheme: 'com.standardnotes.theme-proton',
PlainEditor: 'com.standardnotes.plain-text',
SuperEditor: 'com.standardnotes.super-editor',
+14 -1
View File
@@ -97,5 +97,18 @@ export function themes(): ThemeFeatureDescription[] {
no_mobile: true,
})
return [midnight, futura, solarizedDark, autobiography, dark, titanium, dynamic]
const proton: ThemeFeatureDescription = FillThemeComponentDefaults({
availableInRoles: [RoleName.NAMES.CoreUser, RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser],
name: 'Carbon',
identifier: NativeFeatureIdentifier.TYPES.ProtonTheme,
permission_name: PermissionName.ProtonTheme,
dock_icon: {
type: 'circle',
background_color: '#16141c',
foreground_color: '#ffffff',
border_color: '#4a4658',
},
})
return [midnight, futura, solarizedDark, autobiography, dark, proton, titanium, dynamic]
}
@@ -40,4 +40,5 @@ export enum PermissionName {
Clipper = 'app:clipper',
Vaults = 'app:vaults',
SharedVaults = 'server:shared-vaults',
ProtonTheme = 'theme:proton',
}
+8
View File
@@ -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.120](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/filepicker
## [1.28.119](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/filepicker
## [1.28.118](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/filepicker
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/filepicker",
"version": "1.28.118",
"version": "1.28.120",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+8
View File
@@ -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.20.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/files
## [1.20.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/files
## [1.20.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/files
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/files",
"version": "1.20.3",
"version": "1.20.5",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+44
View File
@@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.58.118](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.117](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.116](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.115](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.114](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.113](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.112](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.111](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.110](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.109](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.108](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/mobile
## [3.58.107](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/mobile
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/mobile",
"version": "3.58.107",
"version": "3.58.118",
"author": "Standard Notes.",
"private": true,
"license": "AGPL-3.0",
+8
View File
@@ -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.55.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/models
## [1.55.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/models
## [1.55.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/models
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/models",
"version": "1.55.1",
"version": "1.55.3",
"publishConfig": {
"access": "public"
},
+44
View File
@@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.4.754](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.753](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.752](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.751](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.750](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.749](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.748](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.747](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.746](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.745](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.744](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/releases
## [1.4.743](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/releases
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/releases",
"version": "1.4.743",
"version": "1.4.754",
"license": "AGPL-3.0",
"main": "dist/releases.json",
"types": "dist/index.d.ts",
+8
View File
@@ -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.13.56](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/responses
## [1.13.55](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/responses
## [1.13.54](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/responses
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/responses",
"version": "1.13.54",
"version": "1.13.56",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+14
View File
@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.70.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
### Bug Fixes
* Fixes an issue where importing an encrypted backup file may not successfully complete in some cases ([7f1baf5](https://github.com/standardnotes/app/commit/7f1baf52c1d2ddd5112438b936d22ad99bc403a5))
## [1.70.8](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/services
## [1.70.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/services
## [1.70.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/services
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/services",
"version": "1.70.6",
"version": "1.70.9",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
@@ -67,6 +67,14 @@ export class DetermineKeyToUse implements SyncUseCaseInterface<AnyKey | undefine
let itemsKey: ItemsKeyInterface | RootKeyInterface | KeySystemItemsKeyInterface | undefined
itemsKey = dto.recentlyDecryptedKeys.filter(isItemsKey).find((itemsKeyPayload) => {
return dto.payload.items_key_id === itemsKeyPayload.uuid
})
if (itemsKey) {
return Result.ok(itemsKey)
}
if (dto.payload.items_key_id) {
itemsKey = this.encryption.itemsKeyForEncryptedPayload(dto.payload)
if (itemsKey) {
@@ -74,10 +82,6 @@ export class DetermineKeyToUse implements SyncUseCaseInterface<AnyKey | undefine
}
}
itemsKey = dto.recentlyDecryptedKeys.filter(isItemsKey).find((itemsKeyPayload) => {
return Result.ok(dto.payload.items_key_id === itemsKeyPayload.uuid)
})
if (itemsKey) {
return Result.ok(itemsKey)
}
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [2.208.20](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/snjs
## [2.208.19](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/snjs
## [2.208.18](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/snjs
## [2.208.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/snjs
## [2.208.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/snjs
@@ -114,8 +114,10 @@ export class GetFeatureStatusUseCase {
}
private isFreeFeature(featureId: NativeFeatureIdentifier) {
return [NativeFeatureIdentifier.TYPES.DarkTheme, NativeFeatureIdentifier.TYPES.PlainEditor].includes(
featureId.value,
)
return [
NativeFeatureIdentifier.TYPES.DarkTheme,
NativeFeatureIdentifier.TYPES.PlainEditor,
NativeFeatureIdentifier.TYPES.ProtonTheme,
].includes(featureId.value)
}
}
+1 -1
View File
@@ -122,7 +122,7 @@ export async function initializeApplication(application) {
export function registerUserToApplication({ application, email, password, ephemeral, mergeLocal = true }) {
if (!email) email = Utils.generateUuid()
if (!password) password = Utils.generateUuid()
return application.register(email, password, ephemeral, mergeLocal)
return application.register(email, password, null, ephemeral, mergeLocal)
}
export async function setOldVersionPasscode({ application, passcode, version }) {
+1 -1
View File
@@ -11,7 +11,7 @@ const registerApp = async (application) => {
const ephemeral = false
const mergeLocal = true
await application.register(email, password, ephemeral, mergeLocal)
await application.register(email, password, null, ephemeral, mergeLocal)
return application
}
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/snjs",
"version": "2.208.16",
"version": "2.208.20",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+12
View File
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.37.11](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
**Note:** Version bump only for package @standardnotes/ui-services
## [1.37.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/ui-services
## [1.37.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/ui-services
## [1.37.8](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/ui-services
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/ui-services",
"version": "1.37.8",
"version": "1.37.11",
"engines": {
"node": ">=16.0.0 <17.0.0"
},
+48
View File
@@ -3,6 +3,54 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.193.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
### Reverts
* Revert "chore: add and fix margins inside super note content [skip e2e]" ([9c2bf94](https://github.com/standardnotes/app/commit/9c2bf946ce2e9fa9bc76b1b0527eb976b68526c9))
## [3.193.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
**Note:** Version bump only for package @standardnotes/web
## [3.193.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/web
## [3.193.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/web
## [3.193.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
**Note:** Version bump only for package @standardnotes/web
## [3.193.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
**Note:** Version bump only for package @standardnotes/web
# [3.193.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
### Features
* Added "Upload file" option to the super note Insert menu and block picker menu ([#2869](https://github.com/standardnotes/app/issues/2869)) ([9800570](https://github.com/standardnotes/app/commit/9800570fb1773781762cfd2cac6d9f42730d4907))
## [3.192.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/web
## [3.192.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
**Note:** Version bump only for package @standardnotes/web
## [3.192.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/web
## [3.192.14](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
**Note:** Version bump only for package @standardnotes/web
## [3.192.13](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
**Note:** Version bump only for package @standardnotes/web
+127
View File
@@ -1,5 +1,132 @@
{
"versions": [
{
"version": "3.193.6",
"title": "[3.193.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)",
"date": null,
"body": "### Reverts\n\n* Revert \"chore: add and fix margins inside super note content [skip e2e]\" ([9c2bf94](https://github.com/standardnotes/app/commit/9c2bf946ce2e9fa9bc76b1b0527eb976b68526c9))",
"parsed": {
"_": [
"Revert \"chore: add and fix margins inside super note content skip e2e]\" ([9c2bf94)"
],
"Reverts": [
"Revert \"chore: add and fix margins inside super note content skip e2e]\" ([9c2bf94)"
]
}
},
{
"version": "3.193.5",
"title": "[3.193.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.193.4",
"title": "[3.193.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.193.3",
"title": "[3.193.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.193.2",
"title": "[3.193.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.193.1",
"title": "[3.193.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.193.0",
"title": "[3.193.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)",
"date": null,
"body": "### Features\n\n* Added \"Upload file\" option to the super note Insert menu and block picker menu ([#2869](https://github.com/standardnotes/app/issues/2869)) ([9800570](https://github.com/standardnotes/app/commit/9800570fb1773781762cfd2cac6d9f42730d4907))",
"parsed": {
"_": [
"Added \"Upload file\" option to the super note Insert menu and block picker menu (#2869) (9800570)"
],
"Features": [
"Added \"Upload file\" option to the super note Insert menu and block picker menu (#2869) (9800570)"
]
}
},
{
"version": "3.192.17",
"title": "[3.192.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.192.16",
"title": "[3.192.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.192.15",
"title": "[3.192.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.192.14",
"title": "[3.192.14](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)",
"date": null,
"body": "**Note:** Version bump only for package @standardnotes/web",
"parsed": {
"_": [
"Note: Version bump only for package @standardnotes/web"
]
}
},
{
"version": "3.192.13",
"title": "[3.192.13](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)",
+10 -9
View File
@@ -1,6 +1,6 @@
{
"name": "@standardnotes/web",
"version": "3.192.13",
"version": "3.193.6",
"license": "AGPL-3.0",
"main": "dist/app.js",
"author": "Standard Notes",
@@ -28,7 +28,6 @@
"@babel/plugin-transform-react-jsx": "^7.19.0",
"@babel/preset-env": "*",
"@babel/preset-typescript": "^7.21.5",
"@lexical/react": "0.13.1",
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.10",
"@simplewebauthn/browser": "^8.0.2",
"@standardnotes/authenticator": "^2.4.0",
@@ -76,7 +75,6 @@
"identity-obj-proxy": "^3.0.0",
"jest": "^29.3.1",
"jest-environment-jsdom": "^29.3.1",
"lexical": "0.13.1",
"lint-staged": ">=13",
"mini-css-extract-plugin": "^2.7.2",
"minimatch": "^5.1.1",
@@ -109,14 +107,17 @@
},
"dependencies": {
"@ariakit/react": "^0.3.9",
"@lexical/headless": "0.13.1",
"@lexical/link": "0.13.1",
"@lexical/list": "0.13.1",
"@lexical/rich-text": "0.13.1",
"@lexical/utils": "0.13.1",
"@lexical/clipboard": "0.14.3",
"@lexical/headless": "0.14.3",
"@lexical/link": "0.14.3",
"@lexical/list": "0.14.3",
"@lexical/react": "0.14.3",
"@lexical/rich-text": "0.14.3",
"@lexical/utils": "0.14.3",
"@radix-ui/react-slot": "^1.0.1",
"@react-pdf/renderer": "^3.3.2",
"comlink": "^4.4.1",
"fast-diff": "^1.3.0"
"fast-diff": "^1.3.0",
"lexical": "0.14.3"
}
}
@@ -0,0 +1,79 @@
:root {
--background-norm: #191927;
--background-weak: #292733;
--background-strong: #13131d;
--text-norm: #ffffff;
--text-weak: #a7a4b5;
--border-norm: #4a4658;
--border-weak: #343140;
--border-weak: #2a2834;
--primary: #7777f8;
--interaction-norm: #6d4aff;
--warning: #ffb84d;
--success: #54948e;
--danger: #f5385a;
--sn-stylekit-background-color: var(--background-norm);
--sn-stylekit-foreground-color: var(--text-norm);
--sn-stylekit-border-color: var(--border-weak);
--sn-stylekit-contrast-background-color: var(--background-weak);
--sn-stylekit-contrast-foreground-color: var(--text-norm);
--sn-stylekit-contrast-border-color: var(--border-norm);
--sn-stylekit-secondary-background-color: var(--background-weak);
--sn-stylekit-secondary-foreground-color: var(--text-norm);
--sn-stylekit-info-color: var(--interaction-norm);
--sn-stylekit-info-backdrop-color: #6e4aff0f;
--sn-stylekit-passive-color-0: var(--text-weak);
--sn-stylekit-passive-color-3: var(--background-strong);
--sn-stylekit-passive-color-4: #3f3b4c;
--sn-stylekit-passive-color-5: var(--background-weak);
--sn-stylekit-warning-color: var(--warning);
--sn-stylekit-success-color: var(--success);
--sn-stylekit-danger-color: var(--danger);
--navigation-column-background-color: var(--background-strong);
--navigation-item-selected-background-color: var(--background-weak);
--items-column-background-color: var(--background-strong);
--items-column-items-background-color: var(--background-strong);
--sn-stylekit-paragraph-text-color: var(--text-weak);
--sn-stylekit-scrollbar-thumb-color: var(--primary);
--sn-stylekit-accessory-tint-color-1: var(--primary);
--sn-stylekit-accessory-tint-color-3: var(--warning);
--sn-stylekit-accessory-tint-color-5: var(--success);
--preferences-background-color: var(--background-strong);
--preferences-navigation-selected-background-color: var(--background-norm);
}
a,
.Lexical__link,
.Lexical__textCode {
color: var(--primary);
}
.Collapsible__container,
.Lexical__tableCellHeader {
border-color: var(--border-norm);
}
.Lexical__quote {
color: var(--text-weak);
}
#blocks-editor hr.selected {
outline-color: var(--primary);
}
#blocks-editor hr::after {
background-color: var(--border-norm);
}
[role='combobox'].border-passive-3 {
border-color: var(--border-weak);
}
@@ -1,13 +1,6 @@
import { WebApplicationGroup } from '@/Application/WebApplicationGroup'
import { getPlatformString } from '@/Utils'
import {
ApplicationEvent,
Challenge,
getErrorMessageFromErrorResponseBody,
HttpErrorResponseBody,
removeFromArray,
WebAppEvent,
} from '@standardnotes/snjs'
import { ApplicationEvent, Challenge, removeFromArray, WebAppEvent } from '@standardnotes/snjs'
import { alertDialog, isIOS, RouteType } from '@standardnotes/ui-services'
import { WebApplication } from '@/Application/WebApplication'
import Footer from '@/Components/Footer/Footer'
@@ -124,7 +117,7 @@ const ApplicationView: FunctionComponent<Props> = ({ application, mainApplicatio
onAppLaunch()
}
const removeAppObserver = application.addEventObserver(async (eventName, data?: unknown) => {
const removeAppObserver = application.addEventObserver(async (eventName) => {
if (eventName === ApplicationEvent.Started) {
onAppStart()
} else if (eventName === ApplicationEvent.Launched) {
@@ -154,14 +147,6 @@ const ApplicationView: FunctionComponent<Props> = ({ application, mainApplicatio
type: ToastType.Error,
message: 'Too many requests. Please try again later.',
})
} else if (eventName === ApplicationEvent.FailedSync) {
addToast({
type: ToastType.Error,
message: getErrorMessageFromErrorResponseBody(
data as HttpErrorResponseBody,
'Sync error. Please try again later.',
),
})
}
})
@@ -2,7 +2,14 @@ import { WebApplication } from '@/Application/WebApplication'
import { WebApplicationGroup } from '@/Application/WebApplicationGroup'
import { AbstractComponent } from '@/Components/Abstract/PureComponent'
import { destroyAllObjectProperties, preventRefreshing } from '@/Utils'
import { ApplicationEvent, ApplicationDescriptor, WebAppEvent, StatusServiceEvent } from '@standardnotes/snjs'
import {
ApplicationEvent,
ApplicationDescriptor,
WebAppEvent,
StatusServiceEvent,
HttpErrorResponseBody,
getErrorMessageFromErrorResponseBody,
} from '@standardnotes/snjs'
import {
STRING_NEW_UPDATE_READY,
STRING_CONFIRM_APP_QUIT_DURING_UPGRADE,
@@ -39,6 +46,7 @@ type State = {
offline: boolean
hasError: boolean
arbitraryStatusMessage?: string
failedSyncError?: string
}
class Footer extends AbstractComponent<Props, State> {
@@ -158,7 +166,7 @@ class Footer extends AbstractComponent<Props, State> {
this.reloadPasscodeStatus().catch(console.error)
}
override onAppEvent(eventName: ApplicationEvent) {
override onAppEvent(eventName: ApplicationEvent, data?: unknown) {
switch (eventName) {
case ApplicationEvent.KeyStatusChanged:
this.reloadUpgradeStatus()
@@ -186,6 +194,9 @@ class Footer extends AbstractComponent<Props, State> {
}
this.findErrors()
this.updateOfflineStatus()
this.setState({
failedSyncError: undefined,
})
break
case ApplicationEvent.SyncStatusChanged:
this.updateSyncStatus()
@@ -194,6 +205,12 @@ class Footer extends AbstractComponent<Props, State> {
this.updateSyncStatus()
this.findErrors()
this.updateOfflineStatus()
this.setState({
failedSyncError: getErrorMessageFromErrorResponseBody(
data as HttpErrorResponseBody,
'Sync error. Please try again later.',
),
})
break
case ApplicationEvent.LocalDataIncrementalLoad:
case ApplicationEvent.LocalDataLoaded:
@@ -384,6 +401,11 @@ class Footer extends AbstractComponent<Props, State> {
)}
</div>
<div className="right flex h-full flex-shrink-0">
{this.state.failedSyncError && (
<div className="relative z-footer-bar-item flex select-none items-center text-xs font-bold text-neutral">
Sync error: {this.state.failedSyncError}
</div>
)}
{this.state.dataUpgradeAvailable && (
<div
onClick={this.securityUpdateClickHandler}
@@ -9,7 +9,10 @@ import { FOCUSABLE_BUT_NOT_TABBABLE } from '@/Constants/Constants'
const PreferencesCanvas: FunctionComponent<PreferencesProps & { menu: PreferencesSessionController }> = (props) => (
<div className="flex min-h-0 flex-grow flex-col md:flex-row md:justify-between">
<PreferencesMenuView menu={props.menu} />
<div className="min-h-0 flex-grow overflow-auto bg-contrast" tabIndex={FOCUSABLE_BUT_NOT_TABBABLE}>
<div
className="min-h-0 flex-grow overflow-auto bg-[--preferences-background-color]"
tabIndex={FOCUSABLE_BUT_NOT_TABBABLE}
>
<PaneSelector {...props} />
</div>
</div>
@@ -24,7 +24,7 @@ const PreferencesMenuView: FunctionComponent<Props> = ({ menu }) => {
)
return (
<div className="border-b border-border bg-default px-5 py-2 md:border-0 md:bg-contrast md:px-0 md:py-0">
<div className="border-b border-border bg-default px-5 py-2 md:border-0 md:bg-[--preferences-background-color] md:px-0 md:py-0">
<div className="hidden min-w-55 flex-col overflow-y-auto px-3 py-6 md:flex">
{menuItems.map((pref) => (
<PreferencesMenuItem
@@ -35,7 +35,6 @@ import { SearchPlugin } from './Plugins/SearchPlugin/SearchPlugin'
import AutoLinkPlugin from './Plugins/AutoLinkPlugin/AutoLinkPlugin'
import DatetimePlugin from './Plugins/DateTimePlugin/DateTimePlugin'
import PasswordPlugin from './Plugins/PasswordPlugin/PasswordPlugin'
import { MergeSiblingListsPlugin } from './Plugins/MergeSiblingListsPlugin'
type BlocksEditorProps = {
onChange?: (value: string, preview: string) => void
@@ -117,7 +116,6 @@ export const BlocksEditor: FunctionComponent<BlocksEditorProps> = ({
</div>
{isMobile && <ToolbarPlugin />}
<ListPlugin />
<MergeSiblingListsPlugin />
<MarkdownShortcutPlugin transformers={MarkdownTransformers} />
<TablePlugin hasCellMerge />
<OnChangePlugin onChange={handleChange} ignoreSelectionChange={true} />
@@ -41,7 +41,7 @@ export default function useModal(): [
title: string,
// eslint-disable-next-line no-shadow
getContent: (onClose: () => void) => JSX.Element,
closeOnClickOutside = false,
closeOnClickOutside = true,
) => {
setModalContent({
closeOnClickOutside,

Some files were not shown because too many files have changed in this diff Show More