diff --git a/.yarn/cache/@lexical-clipboard-npm-0.14.5-09010c7dc6-9fb6db51a0.zip b/.yarn/cache/@lexical-clipboard-npm-0.14.5-09010c7dc6-9fb6db51a0.zip deleted file mode 100644 index 404a79302..000000000 Binary files a/.yarn/cache/@lexical-clipboard-npm-0.14.5-09010c7dc6-9fb6db51a0.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-clipboard-npm-0.15.0-ca589505eb-66f2cb6878.zip b/.yarn/cache/@lexical-clipboard-npm-0.15.0-ca589505eb-66f2cb6878.zip new file mode 100644 index 000000000..9cae446d8 Binary files /dev/null and b/.yarn/cache/@lexical-clipboard-npm-0.15.0-ca589505eb-66f2cb6878.zip differ diff --git a/.yarn/cache/@lexical-clipboard-patch-28c6b1b4e7-05ae231a22.zip b/.yarn/cache/@lexical-clipboard-patch-28c6b1b4e7-05ae231a22.zip deleted file mode 100644 index 1726dac88..000000000 Binary files a/.yarn/cache/@lexical-clipboard-patch-28c6b1b4e7-05ae231a22.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-clipboard-patch-61d3b8ae58-b66c902548.zip b/.yarn/cache/@lexical-clipboard-patch-61d3b8ae58-b66c902548.zip new file mode 100644 index 000000000..bdc7081bb Binary files /dev/null and b/.yarn/cache/@lexical-clipboard-patch-61d3b8ae58-b66c902548.zip differ diff --git a/.yarn/cache/@lexical-code-npm-0.14.5-950a4ae248-fc91f46c05.zip b/.yarn/cache/@lexical-code-npm-0.14.5-950a4ae248-fc91f46c05.zip deleted file mode 100644 index b2214576e..000000000 Binary files a/.yarn/cache/@lexical-code-npm-0.14.5-950a4ae248-fc91f46c05.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-code-npm-0.15.0-bf56eb6cab-9f50121f9f.zip b/.yarn/cache/@lexical-code-npm-0.15.0-bf56eb6cab-9f50121f9f.zip new file mode 100644 index 000000000..4ca056e42 Binary files /dev/null and b/.yarn/cache/@lexical-code-npm-0.15.0-bf56eb6cab-9f50121f9f.zip differ diff --git a/.yarn/cache/@lexical-devtools-core-npm-0.14.5-92c74e85c9-1461941156.zip b/.yarn/cache/@lexical-devtools-core-npm-0.14.5-92c74e85c9-1461941156.zip deleted file mode 100644 index 77195ef4a..000000000 Binary files a/.yarn/cache/@lexical-devtools-core-npm-0.14.5-92c74e85c9-1461941156.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-devtools-core-npm-0.15.0-029ca17f8e-479204a69f.zip b/.yarn/cache/@lexical-devtools-core-npm-0.15.0-029ca17f8e-479204a69f.zip new file mode 100644 index 000000000..bf84f7a1d Binary files /dev/null and b/.yarn/cache/@lexical-devtools-core-npm-0.15.0-029ca17f8e-479204a69f.zip differ diff --git a/.yarn/cache/@lexical-dragon-npm-0.14.5-682fe8d9d2-9e4b2d8f82.zip b/.yarn/cache/@lexical-dragon-npm-0.14.5-682fe8d9d2-9e4b2d8f82.zip deleted file mode 100644 index cd2ac9234..000000000 Binary files a/.yarn/cache/@lexical-dragon-npm-0.14.5-682fe8d9d2-9e4b2d8f82.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-dragon-npm-0.15.0-53db4b84b1-69544b7ff5.zip b/.yarn/cache/@lexical-dragon-npm-0.15.0-53db4b84b1-69544b7ff5.zip new file mode 100644 index 000000000..d878e4107 Binary files /dev/null and b/.yarn/cache/@lexical-dragon-npm-0.15.0-53db4b84b1-69544b7ff5.zip differ diff --git a/.yarn/cache/@lexical-hashtag-npm-0.14.5-23bf2fd7bf-22303fb679.zip b/.yarn/cache/@lexical-hashtag-npm-0.14.5-23bf2fd7bf-22303fb679.zip deleted file mode 100644 index d9ec801f2..000000000 Binary files a/.yarn/cache/@lexical-hashtag-npm-0.14.5-23bf2fd7bf-22303fb679.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-hashtag-npm-0.15.0-05995dde8e-143579823d.zip b/.yarn/cache/@lexical-hashtag-npm-0.15.0-05995dde8e-143579823d.zip new file mode 100644 index 000000000..4ad3f5ee1 Binary files /dev/null and b/.yarn/cache/@lexical-hashtag-npm-0.15.0-05995dde8e-143579823d.zip differ diff --git a/.yarn/cache/@lexical-headless-npm-0.14.5-c8f57a1ee6-d7bbbeaed2.zip b/.yarn/cache/@lexical-headless-npm-0.14.5-c8f57a1ee6-d7bbbeaed2.zip deleted file mode 100644 index ed37e11e0..000000000 Binary files a/.yarn/cache/@lexical-headless-npm-0.14.5-c8f57a1ee6-d7bbbeaed2.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-headless-npm-0.15.0-da5d51fe58-b3c26daef5.zip b/.yarn/cache/@lexical-headless-npm-0.15.0-da5d51fe58-b3c26daef5.zip new file mode 100644 index 000000000..bf1d7f4f7 Binary files /dev/null and b/.yarn/cache/@lexical-headless-npm-0.15.0-da5d51fe58-b3c26daef5.zip differ diff --git a/.yarn/cache/@lexical-history-npm-0.14.5-9c188a5353-6cc9672c04.zip b/.yarn/cache/@lexical-history-npm-0.14.5-9c188a5353-6cc9672c04.zip deleted file mode 100644 index 520ad97f7..000000000 Binary files a/.yarn/cache/@lexical-history-npm-0.14.5-9c188a5353-6cc9672c04.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-history-npm-0.15.0-7b7135ef90-84f1faf944.zip b/.yarn/cache/@lexical-history-npm-0.15.0-7b7135ef90-84f1faf944.zip new file mode 100644 index 000000000..f19aa8fe5 Binary files /dev/null and b/.yarn/cache/@lexical-history-npm-0.15.0-7b7135ef90-84f1faf944.zip differ diff --git a/.yarn/cache/@lexical-html-npm-0.14.5-088d55fa82-f28e3f8f26.zip b/.yarn/cache/@lexical-html-npm-0.14.5-088d55fa82-f28e3f8f26.zip deleted file mode 100644 index 9d50a2a5f..000000000 Binary files a/.yarn/cache/@lexical-html-npm-0.14.5-088d55fa82-f28e3f8f26.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-html-npm-0.15.0-b535f8d2f9-f56ef237c6.zip b/.yarn/cache/@lexical-html-npm-0.15.0-b535f8d2f9-f56ef237c6.zip new file mode 100644 index 000000000..131884c9b Binary files /dev/null and b/.yarn/cache/@lexical-html-npm-0.15.0-b535f8d2f9-f56ef237c6.zip differ diff --git a/.yarn/cache/@lexical-link-npm-0.14.5-bb6575572d-674bd80c21.zip b/.yarn/cache/@lexical-link-npm-0.14.5-bb6575572d-674bd80c21.zip deleted file mode 100644 index 11c99b3bf..000000000 Binary files a/.yarn/cache/@lexical-link-npm-0.14.5-bb6575572d-674bd80c21.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-link-npm-0.15.0-51ba20f4c0-09c8b2823e.zip b/.yarn/cache/@lexical-link-npm-0.15.0-51ba20f4c0-09c8b2823e.zip new file mode 100644 index 000000000..49e2f888f Binary files /dev/null and b/.yarn/cache/@lexical-link-npm-0.15.0-51ba20f4c0-09c8b2823e.zip differ diff --git a/.yarn/cache/@lexical-list-npm-0.14.5-348640e630-971b787637.zip b/.yarn/cache/@lexical-list-npm-0.14.5-348640e630-971b787637.zip deleted file mode 100644 index e1730feb6..000000000 Binary files a/.yarn/cache/@lexical-list-npm-0.14.5-348640e630-971b787637.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-list-npm-0.15.0-53c9adf3b8-c0ad36f3ae.zip b/.yarn/cache/@lexical-list-npm-0.15.0-53c9adf3b8-c0ad36f3ae.zip new file mode 100644 index 000000000..a6b2a431f Binary files /dev/null and b/.yarn/cache/@lexical-list-npm-0.15.0-53c9adf3b8-c0ad36f3ae.zip differ diff --git a/.yarn/cache/@lexical-list-patch-77096f0546-a587b2ed49.zip b/.yarn/cache/@lexical-list-patch-77096f0546-a587b2ed49.zip new file mode 100644 index 000000000..de9955314 Binary files /dev/null and b/.yarn/cache/@lexical-list-patch-77096f0546-a587b2ed49.zip differ diff --git a/.yarn/cache/@lexical-list-patch-b30ed8e8d1-21350cfcad.zip b/.yarn/cache/@lexical-list-patch-b30ed8e8d1-21350cfcad.zip deleted file mode 100644 index d66f1b998..000000000 Binary files a/.yarn/cache/@lexical-list-patch-b30ed8e8d1-21350cfcad.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-mark-npm-0.14.5-111e9445ac-479b643a2c.zip b/.yarn/cache/@lexical-mark-npm-0.14.5-111e9445ac-479b643a2c.zip deleted file mode 100644 index a6ff53b75..000000000 Binary files a/.yarn/cache/@lexical-mark-npm-0.14.5-111e9445ac-479b643a2c.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-mark-npm-0.15.0-35ff815efc-f90fcfe566.zip b/.yarn/cache/@lexical-mark-npm-0.15.0-35ff815efc-f90fcfe566.zip new file mode 100644 index 000000000..1f860c2c6 Binary files /dev/null and b/.yarn/cache/@lexical-mark-npm-0.15.0-35ff815efc-f90fcfe566.zip differ diff --git a/.yarn/cache/@lexical-markdown-npm-0.14.5-98457f2ce8-889d877b14.zip b/.yarn/cache/@lexical-markdown-npm-0.14.5-98457f2ce8-889d877b14.zip deleted file mode 100644 index b1bd18eb6..000000000 Binary files a/.yarn/cache/@lexical-markdown-npm-0.14.5-98457f2ce8-889d877b14.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-markdown-npm-0.15.0-784f16df04-76a474d8ea.zip b/.yarn/cache/@lexical-markdown-npm-0.15.0-784f16df04-76a474d8ea.zip new file mode 100644 index 000000000..f64c684b9 Binary files /dev/null and b/.yarn/cache/@lexical-markdown-npm-0.15.0-784f16df04-76a474d8ea.zip differ diff --git a/.yarn/cache/@lexical-offset-npm-0.14.5-85d2f6cbbb-92d6aa7786.zip b/.yarn/cache/@lexical-offset-npm-0.14.5-85d2f6cbbb-92d6aa7786.zip deleted file mode 100644 index 580f00095..000000000 Binary files a/.yarn/cache/@lexical-offset-npm-0.14.5-85d2f6cbbb-92d6aa7786.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-offset-npm-0.15.0-ba372406b8-4bfd7629dc.zip b/.yarn/cache/@lexical-offset-npm-0.15.0-ba372406b8-4bfd7629dc.zip new file mode 100644 index 000000000..1dd3e9591 Binary files /dev/null and b/.yarn/cache/@lexical-offset-npm-0.15.0-ba372406b8-4bfd7629dc.zip differ diff --git a/.yarn/cache/@lexical-overflow-npm-0.14.5-9fc23a7965-ea0b68b47a.zip b/.yarn/cache/@lexical-overflow-npm-0.14.5-9fc23a7965-ea0b68b47a.zip deleted file mode 100644 index f90711f3c..000000000 Binary files a/.yarn/cache/@lexical-overflow-npm-0.14.5-9fc23a7965-ea0b68b47a.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-overflow-npm-0.15.0-b9b2c9437b-37bdf71744.zip b/.yarn/cache/@lexical-overflow-npm-0.15.0-b9b2c9437b-37bdf71744.zip new file mode 100644 index 000000000..2e7bc06d1 Binary files /dev/null and b/.yarn/cache/@lexical-overflow-npm-0.15.0-b9b2c9437b-37bdf71744.zip differ diff --git a/.yarn/cache/@lexical-plain-text-npm-0.14.5-ace8cb936f-b0662a60bb.zip b/.yarn/cache/@lexical-plain-text-npm-0.14.5-ace8cb936f-b0662a60bb.zip deleted file mode 100644 index 8f61fefa3..000000000 Binary files a/.yarn/cache/@lexical-plain-text-npm-0.14.5-ace8cb936f-b0662a60bb.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-plain-text-npm-0.15.0-140b045cd1-0333d0b658.zip b/.yarn/cache/@lexical-plain-text-npm-0.15.0-140b045cd1-0333d0b658.zip new file mode 100644 index 000000000..f1bdeb128 Binary files /dev/null and b/.yarn/cache/@lexical-plain-text-npm-0.15.0-140b045cd1-0333d0b658.zip differ diff --git a/.yarn/cache/@lexical-react-npm-0.14.5-47fc556246-12a297e133.zip b/.yarn/cache/@lexical-react-npm-0.14.5-47fc556246-12a297e133.zip deleted file mode 100644 index a3a438fa4..000000000 Binary files a/.yarn/cache/@lexical-react-npm-0.14.5-47fc556246-12a297e133.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-react-npm-0.15.0-4ff07b7b11-f96dff4f8a.zip b/.yarn/cache/@lexical-react-npm-0.15.0-4ff07b7b11-f96dff4f8a.zip new file mode 100644 index 000000000..a6f550579 Binary files /dev/null and b/.yarn/cache/@lexical-react-npm-0.15.0-4ff07b7b11-f96dff4f8a.zip differ diff --git a/.yarn/cache/@lexical-rich-text-npm-0.14.5-147db14dfa-0cdaacd62b.zip b/.yarn/cache/@lexical-rich-text-npm-0.14.5-147db14dfa-0cdaacd62b.zip deleted file mode 100644 index 6099e0ad9..000000000 Binary files a/.yarn/cache/@lexical-rich-text-npm-0.14.5-147db14dfa-0cdaacd62b.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-rich-text-npm-0.15.0-fc0ae5d857-acb1f2416a.zip b/.yarn/cache/@lexical-rich-text-npm-0.15.0-fc0ae5d857-acb1f2416a.zip new file mode 100644 index 000000000..cf5b04cb0 Binary files /dev/null and b/.yarn/cache/@lexical-rich-text-npm-0.15.0-fc0ae5d857-acb1f2416a.zip differ diff --git a/.yarn/cache/@lexical-rich-text-patch-b862ce1ffa-fa91d3056f.zip b/.yarn/cache/@lexical-rich-text-patch-b862ce1ffa-fa91d3056f.zip deleted file mode 100644 index f1a747345..000000000 Binary files a/.yarn/cache/@lexical-rich-text-patch-b862ce1ffa-fa91d3056f.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-rich-text-patch-c292d0519d-a836d75307.zip b/.yarn/cache/@lexical-rich-text-patch-c292d0519d-a836d75307.zip new file mode 100644 index 000000000..17025e381 Binary files /dev/null and b/.yarn/cache/@lexical-rich-text-patch-c292d0519d-a836d75307.zip differ diff --git a/.yarn/cache/@lexical-selection-npm-0.14.5-67319769bd-eb624fd2a0.zip b/.yarn/cache/@lexical-selection-npm-0.14.5-67319769bd-eb624fd2a0.zip deleted file mode 100644 index bf0cf5fa6..000000000 Binary files a/.yarn/cache/@lexical-selection-npm-0.14.5-67319769bd-eb624fd2a0.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-selection-npm-0.15.0-424f3ae801-3e25ccaf4c.zip b/.yarn/cache/@lexical-selection-npm-0.15.0-424f3ae801-3e25ccaf4c.zip new file mode 100644 index 000000000..5cbfad704 Binary files /dev/null and b/.yarn/cache/@lexical-selection-npm-0.15.0-424f3ae801-3e25ccaf4c.zip differ diff --git a/.yarn/cache/@lexical-table-npm-0.14.5-0426b5e7fd-a5598595ef.zip b/.yarn/cache/@lexical-table-npm-0.14.5-0426b5e7fd-a5598595ef.zip deleted file mode 100644 index dea5e6942..000000000 Binary files a/.yarn/cache/@lexical-table-npm-0.14.5-0426b5e7fd-a5598595ef.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-table-npm-0.15.0-216d6d13b7-030a18a8a7.zip b/.yarn/cache/@lexical-table-npm-0.15.0-216d6d13b7-030a18a8a7.zip new file mode 100644 index 000000000..5150fafef Binary files /dev/null and b/.yarn/cache/@lexical-table-npm-0.15.0-216d6d13b7-030a18a8a7.zip differ diff --git a/.yarn/cache/@lexical-text-npm-0.14.5-56de989ed0-aa57dac2bc.zip b/.yarn/cache/@lexical-text-npm-0.14.5-56de989ed0-aa57dac2bc.zip deleted file mode 100644 index abfa36e4e..000000000 Binary files a/.yarn/cache/@lexical-text-npm-0.14.5-56de989ed0-aa57dac2bc.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-text-npm-0.15.0-bf1b165c0b-986f53a028.zip b/.yarn/cache/@lexical-text-npm-0.15.0-bf1b165c0b-986f53a028.zip new file mode 100644 index 000000000..25548a603 Binary files /dev/null and b/.yarn/cache/@lexical-text-npm-0.15.0-bf1b165c0b-986f53a028.zip differ diff --git a/.yarn/cache/@lexical-utils-npm-0.14.5-682586df21-d5646a39c3.zip b/.yarn/cache/@lexical-utils-npm-0.14.5-682586df21-d5646a39c3.zip deleted file mode 100644 index 61702004d..000000000 Binary files a/.yarn/cache/@lexical-utils-npm-0.14.5-682586df21-d5646a39c3.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-utils-npm-0.15.0-e9e89377c4-3992d783af.zip b/.yarn/cache/@lexical-utils-npm-0.15.0-e9e89377c4-3992d783af.zip new file mode 100644 index 000000000..58ec0598f Binary files /dev/null and b/.yarn/cache/@lexical-utils-npm-0.15.0-e9e89377c4-3992d783af.zip differ diff --git a/.yarn/cache/@lexical-yjs-npm-0.14.5-33bc618c17-c48406d0dd.zip b/.yarn/cache/@lexical-yjs-npm-0.14.5-33bc618c17-c48406d0dd.zip deleted file mode 100644 index 3fe8b40bb..000000000 Binary files a/.yarn/cache/@lexical-yjs-npm-0.14.5-33bc618c17-c48406d0dd.zip and /dev/null differ diff --git a/.yarn/cache/@lexical-yjs-npm-0.15.0-f245773b1d-76e39e86f3.zip b/.yarn/cache/@lexical-yjs-npm-0.15.0-f245773b1d-76e39e86f3.zip new file mode 100644 index 000000000..62d8a8c89 Binary files /dev/null and b/.yarn/cache/@lexical-yjs-npm-0.15.0-f245773b1d-76e39e86f3.zip differ diff --git a/.yarn/cache/lexical-npm-0.14.5-5c8648c157-066fbba86f.zip b/.yarn/cache/lexical-npm-0.14.5-5c8648c157-066fbba86f.zip deleted file mode 100644 index 94b2a5f7f..000000000 Binary files a/.yarn/cache/lexical-npm-0.14.5-5c8648c157-066fbba86f.zip and /dev/null differ diff --git a/.yarn/cache/lexical-npm-0.15.0-7fe9c39c42-d2cb4d0c76.zip b/.yarn/cache/lexical-npm-0.15.0-7fe9c39c42-d2cb4d0c76.zip new file mode 100644 index 000000000..0c01b7180 Binary files /dev/null and b/.yarn/cache/lexical-npm-0.15.0-7fe9c39c42-d2cb4d0c76.zip differ diff --git a/.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch b/.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch deleted file mode 100644 index 7985d42e7..000000000 --- a/.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch +++ /dev/null @@ -1,248 +0,0 @@ -diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js -index 9e72de896d52d9c342e520a79b05dbf8fd9bcee3..78aa3bc5048bb4354339efc558031ec0185163dd 100644 ---- a/LexicalClipboard.dev.js -+++ b/LexicalClipboard.dev.js -@@ -3,7 +3,9 @@ - * - * 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 html = require('@lexical/html'); -@@ -102,7 +104,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 +117,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. -+ } - } - } - -@@ -138,13 +143,16 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) { - parts.pop(); - } - for (let i = 0; i < parts.length; i++) { -- const part = parts[i]; -- if (part === '\n' || part === '\r\n') { -- selection.insertParagraph(); -- } else if (part === '\t') { -- selection.insertNodes([lexical.$createTabNode()]); -- } else { -- selection.insertText(part); -+ const currentSelection = lexical.$getSelection(); -+ if (lexical.$isRangeSelection(currentSelection)) { -+ const part = parts[i]; -+ if (part === '\n' || part === '\r\n') { -+ currentSelection.insertParagraph(); -+ } else if (part === '\t') { -+ currentSelection.insertNodes([lexical.$createTabNode()]); -+ } else { -+ currentSelection.insertText(part); -+ } - } - } - } else { -diff --git a/LexicalClipboard.dev.mjs b/LexicalClipboard.dev.mjs -index e5b580537bc7b3ce1bd9546f6858988b4f58003f..ef944d097da9cc4383c38c874a6d1e7c20ab22d0 100644 ---- a/LexicalClipboard.dev.mjs -+++ b/LexicalClipboard.dev.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import { $generateHtmlFromNodes, $generateNodesFromDOM } from '@lexical/html'; - import { $addNodeStyle, $cloneWithProperties, $sliceSelectedTextNodeContent } from '@lexical/selection'; - import { objectKlassEquals } from '@lexical/utils'; -@@ -100,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 { -@@ -113,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 = $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. -+ } - } - } - -@@ -136,13 +141,16 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) { - parts.pop(); - } - for (let i = 0; i < parts.length; i++) { -- const part = parts[i]; -- if (part === '\n' || part === '\r\n') { -- selection.insertParagraph(); -- } else if (part === '\t') { -- selection.insertNodes([$createTabNode()]); -- } else { -- selection.insertText(part); -+ const currentSelection = $getSelection(); -+ if ($isRangeSelection(currentSelection)) { -+ const part = parts[i]; -+ if (part === '\n' || part === '\r\n') { -+ currentSelection.insertParagraph(); -+ } else if (part === '\t') { -+ currentSelection.insertNodes([$createTabNode()]); -+ } else { -+ currentSelection.insertText(part); -+ } - } - } - } else { -diff --git a/LexicalClipboard.js b/LexicalClipboard.js -index ab45df643f3d23d7c917a4961db63d49045831f4..b7a8117bf55550d7b25c5385f164922b48fa6e17 100644 ---- a/LexicalClipboard.js -+++ b/LexicalClipboard.js -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - 'use strict' - const LexicalClipboard = process.env.NODE_ENV === 'development' ? require('./LexicalClipboard.dev.js') : require('./LexicalClipboard.prod.js'); - module.exports = LexicalClipboard; -\ No newline at end of file -diff --git a/LexicalClipboard.mjs b/LexicalClipboard.mjs -index 92cf644354b39f5011db1c739c29bfc14cec689a..b0a924f9cc33893ef74d5fb574a280602d859f9d 100644 ---- a/LexicalClipboard.mjs -+++ b/LexicalClipboard.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import * as modDev from './LexicalClipboard.dev.mjs'; - import * as modProd from './LexicalClipboard.prod.mjs'; - const mod = process.env.NODE_ENV === 'development' ? modDev : modProd; -diff --git a/LexicalClipboard.node.mjs b/LexicalClipboard.node.mjs -index d6561d32c2e79f9070851f7352e43ea4bcb5bd86..2112c40f0b771340e778d9026049df85f405228e 100644 ---- a/LexicalClipboard.node.mjs -+++ b/LexicalClipboard.node.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - const mod = await (process.env.NODE_ENV === 'development' ? import('./LexicalClipboard.dev.mjs') : import('./LexicalClipboard.prod.mjs')); - export const $generateJSONFromSelectedNodes = mod.$generateJSONFromSelectedNodes; - export const $generateNodesFromSerializedNodes = mod.$generateNodesFromSerializedNodes; -diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js -index 494ab7597d14cfa0386f7bad294c567a8f0110c1..8b3d21203d28eb2be142ad3d7061f2e0cffbdd23 100644 ---- a/LexicalClipboard.prod.js -+++ b/LexicalClipboard.prod.js -@@ -3,15 +3,17 @@ - * - * 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 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{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(b=a.split(/(\r?\n|\t)/),""===b[b.length-1]&&b.pop(),a=0;a{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..48e6331eaa95219007cb3066fbe4a9c73551912e 100644 ---- a/LexicalClipboard.prod.mjs -+++ b/LexicalClipboard.prod.mjs -@@ -3,5 +3,7 @@ - * - * 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;ew?(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;t0?u.text=e:i=!1}for(let o=0;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 c,$createTabNode as a,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;ew?(e||window).getSelection():null;function v(t){const n=i();if(null==n)throw Error("Expected valid LexicalSelection");return c(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 c(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 s=e.getData("text/plain")||e.getData("text/uri-list");if(null!=s)if(c(n)){const e=s.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t0?u.text=e:i=!1}for(let l=0;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 c=new Range;return c.setStart(i,0),c.setEnd(i,1),o.removeAllRanges(),o.addRange(c),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,c=i();if(null===r||null===c)return!1;const a=v(e),s=D(e);let u="";return null!==c&&(u=c.getTextContent()),null!==a&&r.setData("text/html",a),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 diff --git a/.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch b/.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch new file mode 100644 index 000000000..bd404b1af --- /dev/null +++ b/.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch @@ -0,0 +1,128 @@ +diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js +index 3fad3811aa254c5b1b02e039c0d1f21c2a28562f..8c37d45d8146003f09f8cc8c3ca073b0fe10f782 100644 +--- a/LexicalClipboard.dev.js ++++ b/LexicalClipboard.dev.js +@@ -105,7 +105,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 { +@@ -118,15 +118,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 9d1054125804bec18b6d2fc3b09386defa7c8be2..3092e2807c83484569b227e7e80ededbc7832f32 100644 +--- a/LexicalClipboard.dev.mjs ++++ b/LexicalClipboard.dev.mjs +@@ -103,7 +103,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 { +@@ -116,15 +116,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 38848b4d69dcae7d54a5ab99b8f3cdd9324e413f..77dd5a95079faedb80e0ce25902916d7ff2b45d8 100644 +--- a/LexicalClipboard.prod.js ++++ b/LexicalClipboard.prod.js +@@ -9,11 +9,11 @@ + 'use strict';var f=require("@lexical/html"),m=require("@lexical/selection"),n=require("@lexical/utils"),p=require("lexical"),t;function u(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c{a.update(()=>{g(D(a,b))})});var c=a.getRootElement();let d=null==a._window?window.document:a._window.document,e=v?(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(p.COPY_COMMAND,q=>{n.objectKlassEquals(q,ClipboardEvent)&&(k(),null!==C&&(window.clearTimeout(C),C=null),g(D(a,q)));return!0},p.COMMAND_PRIORITY_CRITICAL);C=window.setTimeout(()=>{k();C=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=B(d.nodes);return z(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 z(c,d,b)}catch(d){}a=a.getData("text/plain")||a.getData("text/uri-list"); ++if(null!=a)if(p.$isRangeSelection(b))for(b=a.split(/(\r?\n|\t)/),""===b[b.length-1]&&b.pop(),a=0;a{a.update(()=>{d(D(a,b))})});var c=a.getRootElement();let e=null==a._window?window.document:a._window.document,g=v?(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(p.COPY_COMMAND,q=>{n.objectKlassEquals(q,ClipboardEvent)&&(h(),null!==C&&(window.clearTimeout(C),C=null),d(D(a,q)));return!0},p.COMMAND_PRIORITY_CRITICAL);C=window.setTimeout(()=>{h();C=null;d(!1)},50);e.execCommand("copy");k.remove()})} +diff --git a/LexicalClipboard.prod.mjs b/LexicalClipboard.prod.mjs +index 6b572db295155b182e3077f64b308cbbf993e241..2207bfaf5154fa5883068fa77a12f8a3634400e9 100644 +--- a/LexicalClipboard.prod.mjs ++++ b/LexicalClipboard.prod.mjs +@@ -6,4 +6,4 @@ + * + */ + +-import{$generateHtmlFromNodes as t,$generateNodesFromDOM as e}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 s,$createTabNode as a,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as c,$getRoot as u,$parseSerializedNode as d,$isTextNode as f,COPY_COMMAND as p,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as g}from"lexical";function x(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var w=x((function(t){const e=new URLSearchParams;e.append("code",t);for(let t=1;ty?(t||window).getSelection():null;function D(e){const n=i();return null==n&&w(166),s(n)&&n.isCollapsed()||0===n.getNodes().length?"":t(e,n)}function C(t){const e=i();return null==e&&w(166),s(e)&&e.isCollapsed()||0===e.getNodes().length?null:JSON.stringify(A(t,e))}function N(t,e){const n=t.getData("text/plain")||t.getData("text/uri-list");null!=n&&e.insertRawText(n)}function _(t,n,o){const l=t.getData("application/x-lexical-editor");if(l)try{const t=JSON.parse(l);if(t.namespace===o._config.namespace&&Array.isArray(t.nodes)){return T(o,R(t.nodes),n)}}catch(t){}const r=t.getData("text/html");if(r)try{const t=(new DOMParser).parseFromString(r,"text/html");return T(o,e(o,t),n)}catch(t){}const c=t.getData("text/plain")||t.getData("text/uri-list");if(null!=c)if(s(n)){const t=c.split(/(\r?\n|\t)/);""===t[t.length-1]&&t.pop();for(let e=0;e0?u.text=t:i=!1}for(let o=0;o{t.update((()=>{n(P(t,e))}))}));const n=t.getRootElement(),o=null==t._window?window.document:t._window.document,l=v(t._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 s=new Range;return s.setStart(i,0),s.setEnd(i,1),l.removeAllRanges(),l.addRange(s),new Promise(((e,n)=>{const l=t.registerCommand(p,(n=>(r(n,ClipboardEvent)&&(l(),null!==E&&(window.clearTimeout(E),E=null),e(P(t,n))),!0)),m);E=window.setTimeout((()=>{l(),E=null,e(!1)}),50),o.execCommand("copy"),i.remove()}))}function P(t,e){const n=v(t._window);if(!n)return!1;const o=n.anchorNode,l=n.focusNode;if(null!==o&&null!==l&&!h(t,o,l))return!1;e.preventDefault();const r=e.clipboardData,s=i();if(null===r||null===s)return!1;const a=D(t),c=C(t);let u="";return null!==s&&(u=s.getTextContent()),null!==a&&r.setData("text/html",a),null!==c&&r.setData("application/x-lexical-editor",c),r.setData("text/plain",u),!0}export{A as $generateJSONFromSelectedNodes,R as $generateNodesFromSerializedNodes,D as $getHtmlContent,C as $getLexicalContent,N as $insertDataTransferForPlainText,_ as $insertDataTransferForRichText,T as $insertGeneratedNodes,O 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 s,$createTabNode as a,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as c,$getRoot as u,$parseSerializedNode as d,$isTextNode as p,COPY_COMMAND as f,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as g}from"lexical";function x(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var w=x((function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;ey?(e||window).getSelection():null;function D(t){const n=i();return null==n&&w(166),s(n)&&n.isCollapsed()||0===n.getNodes().length?"":e(t,n)}function C(e){const t=i();return null==t&&w(166),s(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(S(e,t))}function T(e,t){const n=e.getData("text/plain")||e.getData("text/uri-list");null!=n&&t.insertRawText(n)}function N(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 _(l,A(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 _(l,t(l,e),n)}catch(e){}}const c=e.getData("text/plain")||e.getData("text/uri-list");if(null!=c)if(s(n)){const e=c.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t0?u.text=e:i=!1}for(let l=0;l{e.update((()=>{n(P(e,t))}))}));const n=e.getRootElement(),l=null==e._window?window.document:e._window.document,o=v(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 s=new Range;return s.setStart(i,0),s.setEnd(i,1),o.removeAllRanges(),o.addRange(s),new Promise(((t,n)=>{const o=e.registerCommand(f,(n=>(r(n,ClipboardEvent)&&(o(),null!==E&&(window.clearTimeout(E),E=null),t(P(e,n))),!0)),m);E=window.setTimeout((()=>{o(),E=null,t(!1)}),50),l.execCommand("copy"),i.remove()}))}function P(e,t){const n=v(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,s=i();if(null===r||null===s)return!1;const a=D(e),c=C(e);let u="";return null!==s&&(u=s.getTextContent()),null!==a&&r.setData("text/html",a),null!==c&&r.setData("application/x-lexical-editor",c),r.setData("text/plain",u),!0}export{S as $generateJSONFromSelectedNodes,A as $generateNodesFromSerializedNodes,D as $getHtmlContent,C as $getLexicalContent,T as $insertDataTransferForPlainText,N as $insertDataTransferForRichText,_ as $insertGeneratedNodes,O 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 diff --git a/.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch b/.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch deleted file mode 100644 index 1707de632..000000000 --- a/.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch +++ /dev/null @@ -1,160 +0,0 @@ -diff --git a/LexicalList.dev.js b/LexicalList.dev.js -index d4c8a5066b96e6ee7c02192e71c714a3a589ec75..2be629bb6e11541208d378c9e0f7cd8223c758f8 100644 ---- a/LexicalList.dev.js -+++ b/LexicalList.dev.js -@@ -3,7 +3,9 @@ - * - * 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 lexical = require('lexical'); -@@ -168,7 +170,7 @@ function insertList(editor, listType) { - const list = $createListNode(listType); - if (lexical.$isRootOrShadowRoot(anchorNodeParent)) { - anchorNode.replace(list); -- const listItem = $createListItemNode(); -+ const listItem = $createListItemNode(listType === 'check' ? false : undefined); - if (lexical.$isElementNode(anchorNode)) { - listItem.setFormat(anchorNode.getFormatType()); - listItem.setIndent(anchorNode.getIndent()); -@@ -225,7 +227,7 @@ function createListOrMerge(node, listType) { - } - const previousSibling = node.getPreviousSibling(); - const nextSibling = node.getNextSibling(); -- const listItem = $createListItemNode(); -+ const listItem = $createListItemNode(listType === 'check' ? false : undefined); - listItem.setFormat(node.getFormatType()); - listItem.setIndent(node.getIndent()); - append(listItem, node.getChildren()); -diff --git a/LexicalList.dev.mjs b/LexicalList.dev.mjs -index b79963c9b940bb1769b6ebc54c002b7956819d27..d78a526c5317688dd2e0fd77db8e0693ba4c570f 100644 ---- a/LexicalList.dev.mjs -+++ b/LexicalList.dev.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import { $getSelection, $isRangeSelection, $isRootOrShadowRoot, $isElementNode, $isLeafNode, $createParagraphNode, $isParagraphNode, $applyNodeReplacement, ElementNode, $createTextNode, createCommand } from 'lexical'; - import { $getNearestNodeOfType, removeClassNamesFromElement, addClassNamesToElement, isHTMLElement } from '@lexical/utils'; - -@@ -166,7 +168,7 @@ function insertList(editor, listType) { - const list = $createListNode(listType); - if ($isRootOrShadowRoot(anchorNodeParent)) { - anchorNode.replace(list); -- const listItem = $createListItemNode(); -+ const listItem = $createListItemNode(listType === 'check' ? false : undefined); - if ($isElementNode(anchorNode)) { - listItem.setFormat(anchorNode.getFormatType()); - listItem.setIndent(anchorNode.getIndent()); -@@ -223,7 +225,7 @@ function createListOrMerge(node, listType) { - } - const previousSibling = node.getPreviousSibling(); - const nextSibling = node.getNextSibling(); -- const listItem = $createListItemNode(); -+ const listItem = $createListItemNode(listType === 'check' ? false : undefined); - listItem.setFormat(node.getFormatType()); - listItem.setIndent(node.getIndent()); - append(listItem, node.getChildren()); -diff --git a/LexicalList.js b/LexicalList.js -index e02cbb53b19afee910a6f6df62735a912060a1ef..15983e9e88bc47c8c58cb3ad7af31464510e1bb2 100644 ---- a/LexicalList.js -+++ b/LexicalList.js -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - 'use strict' - const LexicalList = process.env.NODE_ENV === 'development' ? require('./LexicalList.dev.js') : require('./LexicalList.prod.js'); - module.exports = LexicalList; -\ No newline at end of file -diff --git a/LexicalList.mjs b/LexicalList.mjs -index b6dfed17fee1e984b492dc2a0c669c6380cd7bf2..a1b43af84b8b9b32c22b13785b3c0177fd04b55e 100644 ---- a/LexicalList.mjs -+++ b/LexicalList.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import * as modDev from './LexicalList.dev.mjs'; - import * as modProd from './LexicalList.prod.mjs'; - const mod = process.env.NODE_ENV === 'development' ? modDev : modProd; -diff --git a/LexicalList.node.mjs b/LexicalList.node.mjs -index c337fbe49d002284d8b79a87ed54cc34a05eb216..570de0ade2c2c6b5fe086b082c93b2585cb9b133 100644 ---- a/LexicalList.node.mjs -+++ b/LexicalList.node.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - const mod = await (process.env.NODE_ENV === 'development' ? import('./LexicalList.dev.mjs') : import('./LexicalList.prod.mjs')); - export const $createListItemNode = mod.$createListItemNode; - export const $createListNode = mod.$createListNode; -diff --git a/LexicalList.prod.js b/LexicalList.prod.js -index 219fab0b47142543387fe80f802cc1efbcbc3034..efee262e99bde7129ca93b03e98933d3b0011ad9 100644 ---- a/LexicalList.prod.js -+++ b/LexicalList.prod.js -@@ -3,11 +3,13 @@ - * - * 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 g=require("lexical"),h=require("@lexical/utils");function l(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;cf.append(k));d=x();e=D(e);d.append(e);z(e,a.getNextSiblings());c.insertBefore(b);c.insertAfter(d);c.replace(a)}}}} - function G(...a){let b=[];for(let c of a)if(c&&"string"===typeof c)for(let [d]of c.matchAll(/\S+/g))b.push(d);return b} -@@ -22,15 +24,15 @@ else if(q(d)){c=x();let k=D(d.getListType());c.append(k);k.append(this);f?f.inse - function J(a,b,c){let d=[],e=[];var f=(b=b.list)?b.listitem:void 0;if(b&&b.nested)var k=b.nested.listitem;void 0!==f&&d.push(...G(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!==k&&(k=G(k),c.getChildren().some(m=>q(m))?d.push(...k):e.push(...k));0{if(!q(a))throw Error("node is not a ListNode");var b=a.getNextSibling();q(b)&&a.getListType()===b.getListType()&&E(a,b);b="check"!==a.getListType();let 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:Q,priority:0}),ul:()=>({conversion:Q,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&&h.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{q(a)||l(163);var b=a.getNextSibling();q(b)&&a.getListType()===b.getListType()&&E(a,b);b="check"!==a.getListType();let 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:Q, -+priority:0}),ul:()=>({conversion:Q,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&&h.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{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=D("number",a.start):"ul"===b&&(c=h.isHTMLElement(a)&&"check"===a.getAttribute("__lexicallisttype")?D("check"):D("bullet"));return{after:R,node:c}}let O={ol:"number",ul:"bullet"};function D(a,b=1){return g.$applyNodeReplacement(new L(a,b))} - function q(a){return a instanceof L}let S=g.createCommand("INSERT_UNORDERED_LIST_COMMAND"),T=g.createCommand("INSERT_ORDERED_LIST_COMMAND"),U=g.createCommand("INSERT_CHECK_LIST_COMMAND"),V=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{k.remove();f.append(k)})}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=H;exports.ListNode=L;exports.REMOVE_LIST_COMMAND=V; --exports.insertList=function(a,b){a.update(()=>{var c=g.$getSelection();if(null!==c){var d=c.getNodes();if(g.$isRangeSelection(c)){c=c.getStartEndPoints();null===c&&l(143);[c]=c;c=c.getNode();var e=c.getParent();if(y(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(),z(d,c.getChildren()),c.replace(d));return}}c=new Set;for(e=0;e{var c=g.$getSelection();if(null!==c){var d=c.getNodes();if(g.$isRangeSelection(c)){c=c.getStartEndPoints();null===c&&l(143);[c]=c;c=c.getNode();var e=c.getParent();if(y(c,d)){d=D(b);g.$isRootOrShadowRoot(e)?(c.replace(d),e=x("check"===b?!1:void 0),g.$isElementNode(c)&&(e.setFormat(c.getFormatType()),e.setIndent(c.getIndent())),d.append(e)):p(c)&&(c=c.getParentOrThrow(),z(d,c.getChildren()),c.replace(d));return}}c=new Set;for(e=0;e{let b=g.$getSelection();if(g.$isRangeSelection(b)){var c=new Set,d=b.getNodes(),e=b.anchor.getNode();if(y(e,d))c.add(r(e));else for(e=0;e{const s=e();if(null!==s){const e=s.getNodes();if(t(s)){const t=s.getStartEndPoints();null===t&&p(143);const[i]=t,c=i.getNode(),l=c.getParent();if(T(c,e)){const e=J(o);if(n(l)){c.replace(e);const t=D();r(c)&&(t.setFormat(c.getFormatType()),t.setIndent(c.getIndent())),e.append(t)}else if(I(c)){const t=c.getParentOrThrow();S(e,t.getChildren()),t.replace(e)}return}}const c=new Set;for(let t=0;t0&&e.append(...i),t.remove()}function N(n){n.update((()=>{const n=e();if(t(n)){const e=new Set,t=n.getNodes(),r=n.anchor.getNode();if(T(r,t))e.add(m(r));else for(let n=0;ns.append(e)));const o=D(),c=J(r);o.append(c),S(c,e.getNextSiblings()),n.insertBefore(i),n.insertAfter(o),n.replace(e)}}}function O(){const r=e();if(!t(r)||!r.isCollapsed())return!1;const i=r.anchor.getNode();if(!I(i)||0!==i.getChildrenSize())return!1;const c=m(i),l=i.getParent();z(l)||p(40);const h=l.getParent();let a;if(n(h))a=s(),c.insertAfter(a);else{if(!I(h))return!1;a=D(),h.insertAfter(a)}a.select();const u=i.getNextSiblings();if(u.length>0){const e=J(l.getListType());if(o(a))a.insertAfter(e);else{const t=D();t.append(e),a.insertAfter(t)}u.forEach((t=>{t.remove(),e.append(t)}))}return function(e){let t=e;for(;null==t.getNextSibling()&&null==t.getPreviousSibling();){const e=t.getParent();if(null==e||!I(t)&&!z(t))break;t=e}t.remove()}(i),!0}function L(...e){const t=[];for(const n of e)if(n&&"string"==typeof n)for(const[e]of n.matchAll(/\S+/g))t.push(e);return t}class E extends l{static getType(){return"listitem"}static clone(e){return new E(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=void 0===e?1:e,this.__checked=t}createDOM(e){const t=document.createElement("li"),n=this.getParent();return z(n)&&"check"===n.getListType()&&w(t,this,null),t.value=this.__value,F(t,e.theme,this),t}updateDOM(e,t,n){const r=this.getParent();return z(r)&&"check"===r.getListType()&&w(t,this,e),t.value=this.__value,F(t,n.theme,this),!1}static transform(){return e=>{if(I(e)||p(144),null==e.__checked)return;const t=e.getParent();z(t)&&"check"!==t.getListType()&&null!=e.getChecked()&&e.setChecked(void 0)}}static importDOM(){return{li:e=>({conversion:M,priority:0})}}static importJSON(e){const t=D();return t.setChecked(e.checked),t.setValue(e.value),t.setFormat(e.format),t.setDirection(e.direction),t}exportDOM(e){const t=this.createDOM(e._config);return t.style.textAlign=this.getFormatType(),{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t{e.append(t)}))),this.remove(),0===n.getChildrenSize()&&n.remove(),e}insertAfter(e,t=!0){const n=this.getParentOrThrow();if(z(n)||p(39),I(e))return super.insertAfter(e,t);const r=this.getNextSiblings();if(n.insertAfter(e,t),0!==r.length){const i=J(n.getListType());r.forEach((e=>i.append(e))),e.insertAfter(i,t)}return e}remove(e){const t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&y(t)&&y(n)&&(P(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){const n=D(null==this.__checked&&void 0);return this.insertAfter(n,t),n}collapseAtStart(e){const t=s();this.getChildren().forEach((e=>t.append(e)));const n=this.getParentOrThrow(),r=n.getParentOrThrow(),i=I(r);if(1===n.getChildrenSize())if(i)n.remove(),r.select();else{n.insertBefore(t),n.remove();const r=e.anchor,i=e.focus,s=t.getKey();"element"===r.type&&r.getNode().is(this)&&r.set(s,r.offset,"element"),"element"===i.type&&i.getNode().is(this)&&i.set(s,i.offset,"element")}else n.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){this.getWritable().__value=e}getChecked(){return this.getLatest().__checked}setChecked(e){this.getWritable().__checked=e}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){const e=this.getParent();if(null===e)return this.getLatest().__indent;let t=e.getParentOrThrow(),n=0;for(;I(t);)t=t.getParentOrThrow().getParentOrThrow(),n++;return n}setIndent(e){"number"==typeof e&&e>-1||p(117);let t=this.getIndent();for(;t!==e;)tz(e)))?r.push(...e):i.push(...e)}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function w(e,t,n,r){z(t.getFirstChild())?(e.removeAttribute("role"),e.removeAttribute("tabIndex"),e.removeAttribute("aria-checked")):(e.setAttribute("role","checkbox"),e.setAttribute("tabIndex","-1"),n&&t.__checked===n.__checked||e.setAttribute("aria-checked",t.getChecked()?"true":"false"))}function M(e){return{node:D(f(e)&&"true"===e.getAttribute("aria-checked"))}}function D(e){return c(new E(void 0,e))}function I(e){return e instanceof E}class R extends l{static getType(){return"list"}static clone(e){const t=e.__listType||V[e.__tag];return new R(t,e.__start,e.__key)}constructor(e,t,n){super(n);const r=V[e]||e;this.__listType=r,this.__tag="number"===r?"ol":"ul",this.__start=t}getTag(){return this.__tag}setListType(e){const t=this.getWritable();t.__listType=e,t.__tag="number"===e?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(e,t){const n=this.__tag,r=document.createElement(n);return 1!==this.__start&&r.setAttribute("start",String(this.__start)),r.__lexicalListType=this.__listType,K(r,e.theme,this),r}updateDOM(e,t,n){return e.__tag!==this.__tag||(K(t,n.theme,this),!1)}static transform(){return e=>{if(!z(e))throw Error("node is not a ListNode");!function(e){const t=e.getNextSibling();z(t)&&e.getListType()===t.getListType()&&P(e,t)}(e),function(e){const t="check"!==e.getListType();let n=e.getStart();for(const r of e.getChildren())I(r)&&(r.getValue()!==n&&r.setValue(n),t&&null!=r.getChecked()&&r.setChecked(void 0),z(r.getFirstChild())||n++)}(e)}}static importDOM(){return{ol:e=>({conversion:W,priority:0}),ul:e=>({conversion:W,priority:0})}}static importJSON(e){const t=J(e.listType,e.start);return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t}exportDOM(e){const{element:t}=super.exportDOM(e);return t&&f(t)&&(1!==this.__start&&t.setAttribute("start",String(this.__start)),"check"===this.__listType&&t.setAttribute("__lexicalListType","check")),{element:t}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let t=0;t1?r.push(...e):i.push(...e)}}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function B(e){const t=[];for(let n=0;n1&&e.forEach((e=>{z(e)&&t.push(C(e))}))}else t.push(C(r))}return t}function W(e){const t=e.nodeName.toLowerCase();let n=null;if("ol"===t){n=J("number",e.start)}else"ul"===t&&(n=f(e)&&"check"===e.getAttribute("__lexicallisttype")?J("check"):J("bullet"));return{after:B,node:n}}const V={ol:"number",ul:"bullet"};function J(e,t=1){return c(new R(e,t))}function z(e){return e instanceof R}const U=a("INSERT_UNORDERED_LIST_COMMAND"),$=a("INSERT_ORDERED_LIST_COMMAND"),q=a("INSERT_CHECK_LIST_COMMAND"),H=a("REMOVE_LIST_COMMAND");export{D as $createListItemNode,J as $createListNode,_ as $getListDepth,O as $handleListInsertParagraph,I as $isListItemNode,z as $isListNode,q as INSERT_CHECK_LIST_COMMAND,$ as INSERT_ORDERED_LIST_COMMAND,U as INSERT_UNORDERED_LIST_COMMAND,E as ListItemNode,R as ListNode,H as REMOVE_LIST_COMMAND,k as insertList,N as removeList}; -+ -+import{$getSelection as e,$isRangeSelection as t,$isRootOrShadowRoot as n,$isElementNode as r,$isLeafNode as i,$createParagraphNode as s,$isParagraphNode as o,$applyNodeReplacement as c,ElementNode as l,$createTextNode as h,createCommand as a}from"lexical";import{$getNearestNodeOfType as u,removeClassNamesFromElement as g,addClassNamesToElement as d,isHTMLElement as f}from"@lexical/utils";var p=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e{const s=e();if(null!==s){const e=s.getNodes();if(t(s)){const t=s.getStartEndPoints();null===t&&p(143);const[i]=t,c=i.getNode(),l=c.getParent();if(T(c,e)){const e=J(o);if(n(l)){c.replace(e);const t=D("check"!==o&&void 0);r(c)&&(t.setFormat(c.getFormatType()),t.setIndent(c.getIndent())),e.append(t)}else if(I(c)){const t=c.getParentOrThrow();S(e,t.getChildren()),t.replace(e)}return}}const c=new Set;for(let t=0;t0&&e.append(...i),t.remove()}function x(n){n.update((()=>{const n=e();if(t(n)){const e=new Set,t=n.getNodes(),r=n.anchor.getNode();if(T(r,t))e.add(m(r));else for(let n=0;ns.append(e)));const o=D(),c=J(r);o.append(c),S(c,e.getNextSiblings()),n.insertBefore(i),n.insertAfter(o),n.replace(e)}}}function O(){const r=e();if(!t(r)||!r.isCollapsed())return!1;const i=r.anchor.getNode();if(!I(i)||0!==i.getChildrenSize())return!1;const c=m(i),l=i.getParent();z(l)||p(40);const h=l.getParent();let a;if(n(h))a=s(),c.insertAfter(a);else{if(!I(h))return!1;a=D(),h.insertAfter(a)}a.select();const u=i.getNextSiblings();if(u.length>0){const e=J(l.getListType());if(o(a))a.insertAfter(e);else{const t=D();t.append(e),a.insertAfter(t)}u.forEach((t=>{t.remove(),e.append(t)}))}return function(e){let t=e;for(;null==t.getNextSibling()&&null==t.getPreviousSibling();){const e=t.getParent();if(null==e||!I(t)&&!z(t))break;t=e}t.remove()}(i),!0}function L(...e){const t=[];for(const n of e)if(n&&"string"==typeof n)for(const[e]of n.matchAll(/\S+/g))t.push(e);return t}class E extends l{static getType(){return"listitem"}static clone(e){return new E(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=void 0===e?1:e,this.__checked=t}createDOM(e){const t=document.createElement("li"),n=this.getParent();return z(n)&&"check"===n.getListType()&&M(t,this,null),t.value=this.__value,F(t,e.theme,this),t}updateDOM(e,t,n){const r=this.getParent();return z(r)&&"check"===r.getListType()&&M(t,this,e),t.value=this.__value,F(t,n.theme,this),!1}static transform(){return e=>{if(I(e)||p(144),null==e.__checked)return;const t=e.getParent();z(t)&&"check"!==t.getListType()&&null!=e.getChecked()&&e.setChecked(void 0)}}static importDOM(){return{li:e=>({conversion:w,priority:0})}}static importJSON(e){const t=D();return t.setChecked(e.checked),t.setValue(e.value),t.setFormat(e.format),t.setDirection(e.direction),t}exportDOM(e){const t=this.createDOM(e._config);return t.style.textAlign=this.getFormatType(),{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t{e.append(t)}))),this.remove(),0===n.getChildrenSize()&&n.remove(),e}insertAfter(e,t=!0){const n=this.getParentOrThrow();if(z(n)||p(39),I(e))return super.insertAfter(e,t);const r=this.getNextSiblings();if(n.insertAfter(e,t),0!==r.length){const i=J(n.getListType());r.forEach((e=>i.append(e))),e.insertAfter(i,t)}return e}remove(e){const t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&y(t)&&y(n)&&(P(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){const n=D(null==this.__checked&&void 0);return this.insertAfter(n,t),n}collapseAtStart(e){const t=s();this.getChildren().forEach((e=>t.append(e)));const n=this.getParentOrThrow(),r=n.getParentOrThrow(),i=I(r);if(1===n.getChildrenSize())if(i)n.remove(),r.select();else{n.insertBefore(t),n.remove();const r=e.anchor,i=e.focus,s=t.getKey();"element"===r.type&&r.getNode().is(this)&&r.set(s,r.offset,"element"),"element"===i.type&&i.getNode().is(this)&&i.set(s,i.offset,"element")}else n.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){this.getWritable().__value=e}getChecked(){return this.getLatest().__checked}setChecked(e){this.getWritable().__checked=e}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){const e=this.getParent();if(null===e)return this.getLatest().__indent;let t=e.getParentOrThrow(),n=0;for(;I(t);)t=t.getParentOrThrow().getParentOrThrow(),n++;return n}setIndent(e){"number"==typeof e&&e>-1||p(117);let t=this.getIndent();for(;t!==e;)tz(e)))?r.push(...e):i.push(...e)}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function M(e,t,n,r){z(t.getFirstChild())?(e.removeAttribute("role"),e.removeAttribute("tabIndex"),e.removeAttribute("aria-checked")):(e.setAttribute("role","checkbox"),e.setAttribute("tabIndex","-1"),n&&t.__checked===n.__checked||e.setAttribute("aria-checked",t.getChecked()?"true":"false"))}function w(e){return{node:D(f(e)&&"true"===e.getAttribute("aria-checked"))}}function D(e){return c(new E(void 0,e))}function I(e){return e instanceof E}class R extends l{static getType(){return"list"}static clone(e){const t=e.__listType||V[e.__tag];return new R(t,e.__start,e.__key)}constructor(e,t,n){super(n);const r=V[e]||e;this.__listType=r,this.__tag="number"===r?"ol":"ul",this.__start=t}getTag(){return this.__tag}setListType(e){const t=this.getWritable();t.__listType=e,t.__tag="number"===e?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(e,t){const n=this.__tag,r=document.createElement(n);return 1!==this.__start&&r.setAttribute("start",String(this.__start)),r.__lexicalListType=this.__listType,K(r,e.theme,this),r}updateDOM(e,t,n){return e.__tag!==this.__tag||(K(t,n.theme,this),!1)}static transform(){return e=>{z(e)||p(163),function(e){const t=e.getNextSibling();z(t)&&e.getListType()===t.getListType()&&P(e,t)}(e),function(e){const t="check"!==e.getListType();let n=e.getStart();for(const r of e.getChildren())I(r)&&(r.getValue()!==n&&r.setValue(n),t&&null!=r.getChecked()&&r.setChecked(void 0),z(r.getFirstChild())||n++)}(e)}}static importDOM(){return{ol:e=>({conversion:W,priority:0}),ul:e=>({conversion:W,priority:0})}}static importJSON(e){const t=J(e.listType,e.start);return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t}exportDOM(e){const{element:t}=super.exportDOM(e);return t&&f(t)&&(1!==this.__start&&t.setAttribute("start",String(this.__start)),"check"===this.__listType&&t.setAttribute("__lexicalListType","check")),{element:t}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let t=0;t1?r.push(...e):i.push(...e)}}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function B(e){const t=[];for(let n=0;n1&&e.forEach((e=>{z(e)&&t.push(C(e))}))}else t.push(C(r))}return t}function W(e){const t=e.nodeName.toLowerCase();let n=null;if("ol"===t){n=J("number",e.start)}else"ul"===t&&(n=f(e)&&"check"===e.getAttribute("__lexicallisttype")?J("check"):J("bullet"));return{after:B,node:n}}const V={ol:"number",ul:"bullet"};function J(e,t=1){return c(new R(e,t))}function z(e){return e instanceof R}const U=a("INSERT_UNORDERED_LIST_COMMAND"),$=a("INSERT_ORDERED_LIST_COMMAND"),q=a("INSERT_CHECK_LIST_COMMAND"),H=a("REMOVE_LIST_COMMAND");export{D as $createListItemNode,J as $createListNode,_ as $getListDepth,O as $handleListInsertParagraph,I as $isListItemNode,z as $isListNode,q as INSERT_CHECK_LIST_COMMAND,$ as INSERT_ORDERED_LIST_COMMAND,U as INSERT_UNORDERED_LIST_COMMAND,E as ListItemNode,R as ListNode,H as REMOVE_LIST_COMMAND,k as insertList,x as removeList}; diff --git a/.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch b/.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch new file mode 100644 index 000000000..a0f8c129a --- /dev/null +++ b/.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch @@ -0,0 +1,68 @@ +diff --git a/LexicalList.dev.js b/LexicalList.dev.js +index 288577130186ce7539f9c6e93cb6073f33ca7346..6b7255d6d9ed512c754b26659ba4f192d1134238 100644 +--- a/LexicalList.dev.js ++++ b/LexicalList.dev.js +@@ -786,7 +786,14 @@ class ListItemNode extends lexical.ElementNode { + } + getChecked() { + const self = this.getLatest(); +- return self.__checked; ++ const parent = this.getParent(); ++ if (!$isListNode(parent)) { ++ { ++ throw Error(`getChecked: list node is not parent of list item node`); ++ } ++ } ++ const listType = parent.getListType(); ++ return listType === 'check' ? Boolean(self.__checked) : undefined; + } + setChecked(checked) { + const self = this.getWritable(); +diff --git a/LexicalList.dev.mjs b/LexicalList.dev.mjs +index ea9b98569d9ec9e00a44cebb528d077d1a09c329..02a1f75aa98ea24a0145db4a5cac7d742df5fdc7 100644 +--- a/LexicalList.dev.mjs ++++ b/LexicalList.dev.mjs +@@ -784,7 +784,14 @@ class ListItemNode extends ElementNode { + } + getChecked() { + const self = this.getLatest(); +- return self.__checked; ++ const parent = this.getParent(); ++ if (!$isListNode(parent)) { ++ { ++ throw Error(`getChecked: list node is not parent of list item node`); ++ } ++ } ++ const listType = parent.getListType(); ++ return listType === 'check' ? Boolean(self.__checked) : undefined; + } + setChecked(checked) { + const self = this.getWritable(); +diff --git a/LexicalList.prod.js b/LexicalList.prod.js +index 2e2b842e237a0bac6b5b33462a987a36f276e048..4f3786be432e1e9e6fff27cde202747fd14b0518 100644 +--- a/LexicalList.prod.js ++++ b/LexicalList.prod.js +@@ -18,9 +18,10 @@ class I extends g.ElementNode{static getType(){return"listitem"}static clone(a){ + value:this.getValue(),version:1}}append(...a){for(let b=0;b{a.append(d)}));this.remove();0===c.getChildrenSize()&&c.remove();return a}insertAfter(a,b=!0){let c=this.getParentOrThrow();r(c)||l(39);if(q(a))return super.insertAfter(a,b);let d=this.getNextSiblings();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&&v(b)&&v(c)&&(F(b.getFirstChild(),c.getFirstChild()),c.remove())}insertNewAfter(a,b=!0){a=y(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=q(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(;q(a);)a=a.getParentOrThrow().getParentOrThrow(), +-b++;return b}setIndent(a){"number"===typeof a&&-1r(m))?d.push(...k):e.push(...k));0{const s=e();if(null!==s){const e=s.getNodes();if(t(s)){const t=s.getStartEndPoints();null===t&&_(143);const[i]=t,c=i.getNode(),l=c.getParent();if(k(c,e)){const e=z(o);if(n(l)){c.replace(e);const t=I();r(c)&&(t.setFormat(c.getFormatType()),t.setIndent(c.getIndent())),e.append(t)}else if(R(c)){const t=c.getParentOrThrow();b(e,t.getChildren()),t.replace(e)}return}}const c=new Set;for(let t=0;t0&&e.append(...i),t.remove()}function A(n){n.update((()=>{const n=e();if(t(n)){const e=new Set,t=n.getNodes(),r=n.anchor.getNode();if(k(r,t))e.add(v(r));else for(let n=0;ns.append(e)));const o=I(),c=z(r);o.append(c),b(c,e.getNextSiblings()),n.insertBefore(i),n.insertAfter(o),n.replace(e)}}}function L(){const r=e();if(!t(r)||!r.isCollapsed())return!1;const i=r.anchor.getNode();if(!R(i)||0!==i.getChildrenSize())return!1;const c=v(i),l=i.getParent();U(l)||_(40);const h=l.getParent();let a;if(n(h))a=s(),c.insertAfter(a);else{if(!R(h))return!1;a=I(),h.insertAfter(a)}a.select();const u=i.getNextSiblings();if(u.length>0){const e=z(l.getListType());if(o(a))a.insertAfter(e);else{const t=I();t.append(e),a.insertAfter(t)}u.forEach((t=>{t.remove(),e.append(t)}))}return function(e){let t=e;for(;null==t.getNextSibling()&&null==t.getPreviousSibling();){const e=t.getParent();if(null==e||!R(t)&&!U(t))break;t=e}t.remove()}(i),!0}function E(...e){const t=[];for(const n of e)if(n&&"string"==typeof n)for(const[e]of n.matchAll(/\S+/g))t.push(e);return t}class F extends c{static getType(){return"listitem"}static clone(e){return new F(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=void 0===e?1:e,this.__checked=t}createDOM(e){const t=document.createElement("li"),n=this.getParent();return U(n)&&"check"===n.getListType()&&w(t,this,null),t.value=this.__value,M(t,e.theme,this),t}updateDOM(e,t,n){const r=this.getParent();return U(r)&&"check"===r.getListType()&&w(t,this,e),t.value=this.__value,M(t,n.theme,this),!1}static transform(){return e=>{if(R(e)||_(144),null==e.__checked)return;const t=e.getParent();U(t)&&"check"!==t.getListType()&&null!=e.getChecked()&&e.setChecked(void 0)}}static importDOM(){return{li:e=>({conversion:D,priority:0})}}static importJSON(e){const t=I();return t.setChecked(e.checked),t.setValue(e.value),t.setFormat(e.format),t.setDirection(e.direction),t}exportDOM(e){const t=this.createDOM(e._config);return t.style.textAlign=this.getFormatType(),{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t{e.append(t)}))),this.remove(),0===n.getChildrenSize()&&n.remove(),e}insertAfter(e,t=!0){const n=this.getParentOrThrow();if(U(n)||_(39),R(e))return super.insertAfter(e,t);const r=this.getNextSiblings();if(n.insertAfter(e,t),0!==r.length){const i=z(n.getListType());r.forEach((e=>i.append(e))),e.insertAfter(i,t)}return e}remove(e){const t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&C(t)&&C(n)&&(x(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){const n=I(null==this.__checked&&void 0);return this.insertAfter(n,t),n}collapseAtStart(e){const t=s();this.getChildren().forEach((e=>t.append(e)));const n=this.getParentOrThrow(),r=n.getParentOrThrow(),i=R(r);if(1===n.getChildrenSize())if(i)n.remove(),r.select();else{n.insertBefore(t),n.remove();const r=e.anchor,i=e.focus,s=t.getKey();"element"===r.type&&r.getNode().is(this)&&r.set(s,r.offset,"element"),"element"===i.type&&i.getNode().is(this)&&i.set(s,i.offset,"element")}else n.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){this.getWritable().__value=e}getChecked(){return this.getLatest().__checked}setChecked(e){this.getWritable().__checked=e}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){const e=this.getParent();if(null===e)return this.getLatest().__indent;let t=e.getParentOrThrow(),n=0;for(;R(t);)t=t.getParentOrThrow().getParentOrThrow(),n++;return n}setIndent(e){"number"==typeof e&&e>-1||_(117);let t=this.getIndent();for(;t!==e;)tU(e)))?r.push(...e):i.push(...e)}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function w(e,t,n,r){U(t.getFirstChild())?(e.removeAttribute("role"),e.removeAttribute("tabIndex"),e.removeAttribute("aria-checked")):(e.setAttribute("role","checkbox"),e.setAttribute("tabIndex","-1"),n&&t.__checked===n.__checked||e.setAttribute("aria-checked",t.getChecked()?"true":"false"))}function D(e){return{node:I(f(e)&&"true"===e.getAttribute("aria-checked"))}}function I(e){return l(new F(void 0,e))}function R(e){return e instanceof F}class K extends c{static getType(){return"list"}static clone(e){const t=e.__listType||J[e.__tag];return new K(t,e.__start,e.__key)}constructor(e,t,n){super(n);const r=J[e]||e;this.__listType=r,this.__tag="number"===r?"ol":"ul",this.__start=t}getTag(){return this.__tag}setListType(e){const t=this.getWritable();t.__listType=e,t.__tag="number"===e?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(e,t){const n=this.__tag,r=document.createElement(n);return 1!==this.__start&&r.setAttribute("start",String(this.__start)),r.__lexicalListType=this.__listType,B(r,e.theme,this),r}updateDOM(e,t,n){return e.__tag!==this.__tag||(B(t,n.theme,this),!1)}static transform(){return e=>{U(e)||_(163),function(e){const t=e.getNextSibling();U(t)&&e.getListType()===t.getListType()&&x(e,t)}(e),function(e){const t="check"!==e.getListType();let n=e.getStart();for(const r of e.getChildren())R(r)&&(r.getValue()!==n&&r.setValue(n),t&&null!=r.getChecked()&&r.setChecked(void 0),U(r.getFirstChild())||n++)}(e)}}static importDOM(){return{ol:e=>({conversion:V,priority:0}),ul:e=>({conversion:V,priority:0})}}static importJSON(e){const t=z(e.listType,e.start);return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t}exportDOM(e){const{element:t}=super.exportDOM(e);return t&&f(t)&&(1!==this.__start&&t.setAttribute("start",String(this.__start)),"check"===this.__listType&&t.setAttribute("__lexicalListType","check")),{element:t}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let t=0;t1?r.push(...e):i.push(...e)}}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function W(e){const t=[];for(let n=0;n1&&e.forEach((e=>{U(e)&&t.push(T(e))}))}else t.push(T(r))}return t}function V(e){const t=e.nodeName.toLowerCase();let n=null;if("ol"===t){n=z("number",e.start)}else"ul"===t&&(n=f(e)&&"check"===e.getAttribute("__lexicallisttype")?z("check"):z("bullet"));return{after:W,node:n}}const J={ol:"number",ul:"bullet"};function z(e,t=1){return l(new K(e,t))}function U(e){return e instanceof K}const $=a("INSERT_UNORDERED_LIST_COMMAND"),j=a("INSERT_ORDERED_LIST_COMMAND"),q=a("INSERT_CHECK_LIST_COMMAND"),H=a("REMOVE_LIST_COMMAND");export{I as $createListItemNode,z as $createListNode,m as $getListDepth,L as $handleListInsertParagraph,R as $isListItemNode,U as $isListNode,q as INSERT_CHECK_LIST_COMMAND,j as INSERT_ORDERED_LIST_COMMAND,$ as INSERT_UNORDERED_LIST_COMMAND,F as ListItemNode,K as ListNode,H as REMOVE_LIST_COMMAND,S as insertList,A as removeList}; ++import{$getSelection as e,$isRangeSelection as t,$isRootOrShadowRoot as n,$isElementNode as r,$isLeafNode as i,$createParagraphNode as s,$isParagraphNode as o,ElementNode as c,$applyNodeReplacement as l,$createTextNode as h,createCommand as a}from"lexical";import{$getNearestNodeOfType as u,removeClassNamesFromElement as g,addClassNamesToElement as d,isHTMLElement as f}from"@lexical/utils";function p(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var _=p((function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e{const s=e();if(null!==s){const e=s.getNodes();if(t(s)){const t=s.getStartEndPoints();null===t&&_(143);const[i]=t,c=i.getNode(),l=c.getParent();if(k(c,e)){const e=z(o);if(n(l)){c.replace(e);const t=I();r(c)&&(t.setFormat(c.getFormatType()),t.setIndent(c.getIndent())),e.append(t)}else if(R(c)){const t=c.getParentOrThrow();b(e,t.getChildren()),t.replace(e)}return}}const c=new Set;for(let t=0;t0&&e.append(...i),t.remove()}function A(n){n.update((()=>{const n=e();if(t(n)){const e=new Set,t=n.getNodes(),r=n.anchor.getNode();if(k(r,t))e.add(v(r));else for(let n=0;ns.append(e)));const o=I(),c=z(r);o.append(c),b(c,e.getNextSiblings()),n.insertBefore(i),n.insertAfter(o),n.replace(e)}}}function L(){const r=e();if(!t(r)||!r.isCollapsed())return!1;const i=r.anchor.getNode();if(!R(i)||0!==i.getChildrenSize())return!1;const c=v(i),l=i.getParent();U(l)||_(40);const h=l.getParent();let a;if(n(h))a=s(),c.insertAfter(a);else{if(!R(h))return!1;a=I(),h.insertAfter(a)}a.select();const u=i.getNextSiblings();if(u.length>0){const e=z(l.getListType());if(o(a))a.insertAfter(e);else{const t=I();t.append(e),a.insertAfter(t)}u.forEach((t=>{t.remove(),e.append(t)}))}return function(e){let t=e;for(;null==t.getNextSibling()&&null==t.getPreviousSibling();){const e=t.getParent();if(null==e||!R(t)&&!U(t))break;t=e}t.remove()}(i),!0}function E(...e){const t=[];for(const n of e)if(n&&"string"==typeof n)for(const[e]of n.matchAll(/\S+/g))t.push(e);return t}class F extends c{static getType(){return"listitem"}static clone(e){return new F(e.__value,e.__checked,e.__key)}constructor(e,t,n){super(n),this.__value=void 0===e?1:e,this.__checked=t}createDOM(e){const t=document.createElement("li"),n=this.getParent();return U(n)&&"check"===n.getListType()&&w(t,this,null),t.value=this.__value,M(t,e.theme,this),t}updateDOM(e,t,n){const r=this.getParent();return U(r)&&"check"===r.getListType()&&w(t,this,e),t.value=this.__value,M(t,n.theme,this),!1}static transform(){return e=>{if(R(e)||_(144),null==e.__checked)return;const t=e.getParent();U(t)&&"check"!==t.getListType()&&null!=e.getChecked()&&e.setChecked(void 0)}}static importDOM(){return{li:e=>({conversion:D,priority:0})}}static importJSON(e){const t=I();return t.setChecked(e.checked),t.setValue(e.value),t.setFormat(e.format),t.setDirection(e.direction),t}exportDOM(e){const t=this.createDOM(e._config);return t.style.textAlign=this.getFormatType(),{element:t}}exportJSON(){return{...super.exportJSON(),checked:this.getChecked(),type:"listitem",value:this.getValue(),version:1}}append(...e){for(let t=0;t{e.append(t)}))),this.remove(),0===n.getChildrenSize()&&n.remove(),e}insertAfter(e,t=!0){const n=this.getParentOrThrow();if(U(n)||_(39),R(e))return super.insertAfter(e,t);const r=this.getNextSiblings();if(n.insertAfter(e,t),0!==r.length){const i=z(n.getListType());r.forEach((e=>i.append(e))),e.insertAfter(i,t)}return e}remove(e){const t=this.getPreviousSibling(),n=this.getNextSibling();super.remove(e),t&&n&&C(t)&&C(n)&&(x(t.getFirstChild(),n.getFirstChild()),n.remove())}insertNewAfter(e,t=!0){const n=I(null==this.__checked&&void 0);return this.insertAfter(n,t),n}collapseAtStart(e){const t=s();this.getChildren().forEach((e=>t.append(e)));const n=this.getParentOrThrow(),r=n.getParentOrThrow(),i=R(r);if(1===n.getChildrenSize())if(i)n.remove(),r.select();else{n.insertBefore(t),n.remove();const r=e.anchor,i=e.focus,s=t.getKey();"element"===r.type&&r.getNode().is(this)&&r.set(s,r.offset,"element"),"element"===i.type&&i.getNode().is(this)&&i.set(s,i.offset,"element")}else n.insertBefore(t),this.remove();return!0}getValue(){return this.getLatest().__value}setValue(e){this.getWritable().__value=e}getChecked(){const e=this.getLatest(),t=this.getParent();U(t)||_(188);return"check"===t.getListType()?Boolean(e.__checked):void 0}setChecked(e){this.getWritable().__checked=e}toggleChecked(){this.setChecked(!this.__checked)}getIndent(){const e=this.getParent();if(null===e)return this.getLatest().__indent;let t=e.getParentOrThrow(),n=0;for(;R(t);)t=t.getParentOrThrow().getParentOrThrow(),n++;return n}setIndent(e){"number"==typeof e&&e>-1||_(117);let t=this.getIndent();for(;t!==e;)tU(e)))?r.push(...e):i.push(...e)}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function w(e,t,n,r){U(t.getFirstChild())?(e.removeAttribute("role"),e.removeAttribute("tabIndex"),e.removeAttribute("aria-checked")):(e.setAttribute("role","checkbox"),e.setAttribute("tabIndex","-1"),n&&t.__checked===n.__checked||e.setAttribute("aria-checked",t.getChecked()?"true":"false"))}function D(e){return{node:I(f(e)&&"true"===e.getAttribute("aria-checked"))}}function I(e){return l(new F(void 0,e))}function R(e){return e instanceof F}class B extends c{static getType(){return"list"}static clone(e){const t=e.__listType||J[e.__tag];return new B(t,e.__start,e.__key)}constructor(e,t,n){super(n);const r=J[e]||e;this.__listType=r,this.__tag="number"===r?"ol":"ul",this.__start=t}getTag(){return this.__tag}setListType(e){const t=this.getWritable();t.__listType=e,t.__tag="number"===e?"ol":"ul"}getListType(){return this.__listType}getStart(){return this.__start}createDOM(e,t){const n=this.__tag,r=document.createElement(n);return 1!==this.__start&&r.setAttribute("start",String(this.__start)),r.__lexicalListType=this.__listType,K(r,e.theme,this),r}updateDOM(e,t,n){return e.__tag!==this.__tag||(K(t,n.theme,this),!1)}static transform(){return e=>{U(e)||_(163),function(e){const t=e.getNextSibling();U(t)&&e.getListType()===t.getListType()&&x(e,t)}(e),function(e){const t="check"!==e.getListType();let n=e.getStart();for(const r of e.getChildren())R(r)&&(r.getValue()!==n&&r.setValue(n),t&&null!=r.getChecked()&&r.setChecked(void 0),U(r.getFirstChild())||n++)}(e)}}static importDOM(){return{ol:e=>({conversion:V,priority:0}),ul:e=>({conversion:V,priority:0})}}static importJSON(e){const t=z(e.listType,e.start);return t.setFormat(e.format),t.setIndent(e.indent),t.setDirection(e.direction),t}exportDOM(e){const{element:t}=super.exportDOM(e);return t&&f(t)&&(1!==this.__start&&t.setAttribute("start",String(this.__start)),"check"===this.__listType&&t.setAttribute("__lexicalListType","check")),{element:t}}exportJSON(){return{...super.exportJSON(),listType:this.getListType(),start:this.getStart(),tag:this.getTag(),type:"list",version:1}}canBeEmpty(){return!1}canIndent(){return!1}append(...e){for(let t=0;t1?r.push(...e):i.push(...e)}}i.length>0&&g(e,...i),r.length>0&&d(e,...r)}function W(e){const t=[];for(let n=0;n1&&e.forEach((e=>{U(e)&&t.push(T(e))}))}else t.push(T(r))}return t}function V(e){const t=e.nodeName.toLowerCase();let n=null;if("ol"===t){n=z("number",e.start)}else"ul"===t&&(n=f(e)&&"check"===e.getAttribute("__lexicallisttype")?z("check"):z("bullet"));return{after:W,node:n}}const J={ol:"number",ul:"bullet"};function z(e,t=1){return l(new B(e,t))}function U(e){return e instanceof B}const $=a("INSERT_UNORDERED_LIST_COMMAND"),j=a("INSERT_ORDERED_LIST_COMMAND"),q=a("INSERT_CHECK_LIST_COMMAND"),H=a("REMOVE_LIST_COMMAND");export{I as $createListItemNode,z as $createListNode,m as $getListDepth,L as $handleListInsertParagraph,R as $isListItemNode,U as $isListNode,q as INSERT_CHECK_LIST_COMMAND,j as INSERT_ORDERED_LIST_COMMAND,$ as INSERT_UNORDERED_LIST_COMMAND,F as ListItemNode,B as ListNode,H as REMOVE_LIST_COMMAND,S as insertList,A as removeList}; diff --git a/.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch b/.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch deleted file mode 100644 index 0db1ee88f..000000000 --- a/.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch +++ /dev/null @@ -1,182 +0,0 @@ -diff --git a/LexicalRichText.dev.js b/LexicalRichText.dev.js -index a3b5c0e76d59f15704819590692a7dac93d41a37..96089d34908e286703d6c008ba1e2d5a8cb77a5a 100644 ---- a/LexicalRichText.dev.js -+++ b/LexicalRichText.dev.js -@@ -3,7 +3,9 @@ - * - * 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 clipboard = require('@lexical/clipboard'); -@@ -411,7 +413,10 @@ function handleIndentAndOutdent(indentOrOutdent) { - if (alreadyHandled.has(key)) { - continue; - } -- const parentBlock = utils.$getNearestBlockElementAncestorOrThrow(node); -+ const parentBlock = utils.$findMatchingParent(node, parentNode => lexical.$isElementNode(parentNode) && !parentNode.isInline()); -+ if (parentBlock === null) { -+ continue; -+ } - const parentKey = parentBlock.getKey(); - if (parentBlock.canIndent() && !alreadyHandled.has(parentKey)) { - alreadyHandled.add(parentKey); -@@ -469,7 +474,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.dev.mjs b/LexicalRichText.dev.mjs -index 06552f21b6ac4b0758a35da486c5f7b219d701fe..69e9c7321f09e864e76b14dd89cca95fcd99910c 100644 ---- a/LexicalRichText.dev.mjs -+++ b/LexicalRichText.dev.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import { $insertDataTransferForRichText, copyToClipboard } from '@lexical/clipboard'; - import { $shouldOverrideDefaultCharacterSelection, $moveCharacter } from '@lexical/selection'; - import { addClassNamesToElement, isHTMLElement, objectKlassEquals, mergeRegister, $findMatchingParent, $getNearestBlockElementAncestorOrThrow } from '@lexical/utils'; -@@ -409,7 +411,10 @@ function handleIndentAndOutdent(indentOrOutdent) { - if (alreadyHandled.has(key)) { - continue; - } -- const parentBlock = $getNearestBlockElementAncestorOrThrow(node); -+ const parentBlock = $findMatchingParent(node, parentNode => $isElementNode(parentNode) && !parentNode.isInline()); -+ if (parentBlock === null) { -+ continue; -+ } - const parentKey = parentBlock.getKey(); - if (parentBlock.canIndent() && !alreadyHandled.has(parentKey)) { - alreadyHandled.add(parentKey); -@@ -467,7 +472,7 @@ function registerRichText(editor) { - } - const dataTransfer = eventOrText.dataTransfer; - if (dataTransfer != null) { -- $insertDataTransferForRichText(dataTransfer, selection, editor); -+ $insertDataTransferForRichText(dataTransfer, selection, editor, eventOrText); - } else if ($isRangeSelection(selection)) { - const data = eventOrText.data; - if (data) { -diff --git a/LexicalRichText.js b/LexicalRichText.js -index 122ed25dc87e94acbd2af57519aee75aae357475..adf85437f4369491d0260b8a20de4ee3d52af214 100644 ---- a/LexicalRichText.js -+++ b/LexicalRichText.js -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - 'use strict' - const LexicalRichText = process.env.NODE_ENV === 'development' ? require('./LexicalRichText.dev.js') : require('./LexicalRichText.prod.js'); - module.exports = LexicalRichText; -\ No newline at end of file -diff --git a/LexicalRichText.mjs b/LexicalRichText.mjs -index a662073c786ddee88068585cb780882fa9a54b95..2d88655cd657da5a0d593796e62e3523bd853e8a 100644 ---- a/LexicalRichText.mjs -+++ b/LexicalRichText.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - import * as modDev from './LexicalRichText.dev.mjs'; - import * as modProd from './LexicalRichText.prod.mjs'; - const mod = process.env.NODE_ENV === 'development' ? modDev : modProd; -diff --git a/LexicalRichText.node.mjs b/LexicalRichText.node.mjs -index cac1a134ac8633f222f7b36c9e40f495e22d2a85..19516e418bacb5e5ae218d6dd72cd4ef5a714ab8 100644 ---- a/LexicalRichText.node.mjs -+++ b/LexicalRichText.node.mjs -@@ -3,7 +3,9 @@ - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. -+ * - */ -+ - const mod = await (process.env.NODE_ENV === 'development' ? import('./LexicalRichText.dev.mjs') : import('./LexicalRichText.prod.mjs')); - export const $createHeadingNode = mod.$createHeadingNode; - export const $createQuoteNode = mod.$createQuoteNode; -diff --git a/LexicalRichText.prod.js b/LexicalRichText.prod.js -index 2c24e0de17ab5435322614bd3d34c2583ef368b6..db5738ab58ce426bd04a53dc8148c0b34c715ea4 100644 ---- a/LexicalRichText.prod.js -+++ b/LexicalRichText.prod.js -@@ -3,30 +3,32 @@ - * - * 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 c=require("@lexical/clipboard"),g=require("@lexical/selection"),h=require("@lexical/utils"),k=require("lexical");function l(b,a){return"undefined"!==typeof document.caretRangeFromPoint?(b=document.caretRangeFromPoint(b,a),null===b?null:{node:b.startContainer,offset:b.startOffset}):"undefined"!==document.caretPositionFromPoint?(b=document.caretPositionFromPoint(b,a),null===b?null:{node:b.offsetNode,offset:b.offset}):null} - let n="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,p=n&&"documentMode"in document?document.documentMode:null;n&&/Mac|iPod|iPhone|iPad/.test(navigator.platform);n&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent); --let q=n&&"InputEvent"in window&&!p?"getTargetRanges"in new window.InputEvent("input"):!1,r=n&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),t=n&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,u=n&&/Android/.test(navigator.userAgent),v=n&&/^(?=.*Chrome).*/i.test(navigator.userAgent);n&&u&&v;let w=n&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!v,x=k.createCommand("DRAG_DROP_PASTE_FILE"); --class y extends k.ElementNode{static getType(){return"quote"}static clone(b){return new y(b.__key)}constructor(b){super(b)}createDOM(b){let a=document.createElement("blockquote");h.addClassNamesToElement(a,b.theme.quote);return a}updateDOM(){return!1}static importDOM(){return{blockquote:()=>({conversion:z,priority:0})}}exportDOM(b){({element:b}=super.exportDOM(b));if(b&&h.isHTMLElement(b)){this.isEmpty()&&b.append(document.createElement("br"));var a=this.getFormatType();b.style.textAlign=a;if(a=this.getDirection())b.dir= --a}return{element:b}}static importJSON(b){let a=A();a.setFormat(b.format);a.setIndent(b.indent);a.setDirection(b.direction);return a}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(b,a){b=k.$createParagraphNode();let d=this.getDirection();b.setDirection(d);this.insertAfter(b,a);return b}collapseAtStart(){let b=k.$createParagraphNode();this.getChildren().forEach(a=>b.append(a));this.replace(b);return!0}}function A(){return k.$applyNodeReplacement(new y)} --class C extends k.ElementNode{static getType(){return"heading"}static clone(b){return new C(b.__tag,b.__key)}constructor(b,a){super(a);this.__tag=b}getTag(){return this.__tag}createDOM(b){let a=this.__tag,d=document.createElement(a);b=b.theme.heading;void 0!==b&&h.addClassNamesToElement(d,b[a]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:D,priority:0}),h2:()=>({conversion:D,priority:0}),h3:()=>({conversion:D,priority:0}),h4:()=>({conversion:D,priority:0}),h5:()=>({conversion:D, --priority:0}),h6:()=>({conversion:D,priority:0}),p:b=>{b=b.firstChild;return null!==b&&E(b)?{conversion:()=>({node:null}),priority:3}:null},span:b=>E(b)?{conversion:()=>({node:F("h1")}),priority:3}:null}}exportDOM(b){({element:b}=super.exportDOM(b));if(b&&h.isHTMLElement(b)){this.isEmpty()&&b.append(document.createElement("br"));var a=this.getFormatType();b.style.textAlign=a;if(a=this.getDirection())b.dir=a}return{element:b}}static importJSON(b){let a=F(b.tag);a.setFormat(b.format);a.setIndent(b.indent); --a.setDirection(b.direction);return a}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(b,a=!0){let d=b?b.anchor.offset:0,e=d!==this.getTextContentSize()&&b?F(this.getTag()):k.$createParagraphNode(),f=this.getDirection();e.setDirection(f);this.insertAfter(e,a);0===d&&!this.isEmpty()&&b&&(b=k.$createParagraphNode(),b.select(),this.replace(b,!0));return e}collapseAtStart(){let b=this.isEmpty()?k.$createParagraphNode():F(this.getTag());this.getChildren().forEach(a=> --b.append(a));this.replace(b);return!0}extractWithChild(){return!0}}function E(b){return"span"===b.nodeName.toLowerCase()?"26pt"===b.style.fontSize:!1}function D(b){let a=b.nodeName.toLowerCase(),d=null;if("h1"===a||"h2"===a||"h3"===a||"h4"===a||"h5"===a||"h6"===a)d=F(a),null!==b.style&&d.setFormat(b.style.textAlign);return{node:d}}function z(b){let a=A();null!==b.style&&a.setFormat(b.style.textAlign);return{node:a}}function F(b){return k.$applyNodeReplacement(new C(b))} --function G(b,a){b.preventDefault();a.update(()=>{let d=k.$getSelection(),e=h.objectKlassEquals(b,InputEvent)||h.objectKlassEquals(b,KeyboardEvent)?null:b.clipboardData;null!=e&&null!==d&&c.$insertDataTransferForRichText(e,d,a)},{tag:"paste"})}async function H(b,a){await c.copyToClipboard(a,h.objectKlassEquals(b,ClipboardEvent)?b:null);a.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())})} --function I(b){let a=null;h.objectKlassEquals(b,DragEvent)?a=b.dataTransfer:h.objectKlassEquals(b,ClipboardEvent)&&(a=b.clipboardData);if(null===a)return[!1,[],!1];var d=a.types;b=d.includes("Files");d=d.includes("text/html")||d.includes("text/plain");return[b,Array.from(a.files),d]} --function J(b){var a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;let d=new Set;a=a.getNodes();for(let m=0;m({conversion:A,priority:0})}}exportDOM(b){({element:b}=super.exportDOM(b));if(b&&h.isHTMLElement(b)){this.isEmpty()&&b.append(document.createElement("br"));var a=this.getFormatType();b.style.textAlign=a;if(a=this.getDirection())b.dir= -+a}return{element:b}}static importJSON(b){let a=B();a.setFormat(b.format);a.setIndent(b.indent);a.setDirection(b.direction);return a}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(b,a){b=k.$createParagraphNode();let d=this.getDirection();b.setDirection(d);this.insertAfter(b,a);return b}collapseAtStart(){let b=k.$createParagraphNode();this.getChildren().forEach(a=>b.append(a));this.replace(b);return!0}}function B(){return k.$applyNodeReplacement(new z)} -+class D extends k.ElementNode{static getType(){return"heading"}static clone(b){return new D(b.__tag,b.__key)}constructor(b,a){super(a);this.__tag=b}getTag(){return this.__tag}createDOM(b){let a=this.__tag,d=document.createElement(a);b=b.theme.heading;void 0!==b&&h.addClassNamesToElement(d,b[a]);return d}updateDOM(){return!1}static importDOM(){return{h1:()=>({conversion:E,priority:0}),h2:()=>({conversion:E,priority:0}),h3:()=>({conversion:E,priority:0}),h4:()=>({conversion:E,priority:0}),h5:()=>({conversion:E, -+priority:0}),h6:()=>({conversion:E,priority:0}),p:b=>{b=b.firstChild;return null!==b&&F(b)?{conversion:()=>({node:null}),priority:3}:null},span:b=>F(b)?{conversion:()=>({node:G("h1")}),priority:3}:null}}exportDOM(b){({element:b}=super.exportDOM(b));if(b&&h.isHTMLElement(b)){this.isEmpty()&&b.append(document.createElement("br"));var a=this.getFormatType();b.style.textAlign=a;if(a=this.getDirection())b.dir=a}return{element:b}}static importJSON(b){let a=G(b.tag);a.setFormat(b.format);a.setIndent(b.indent); -+a.setDirection(b.direction);return a}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(b,a=!0){let d=b?b.anchor.offset:0,e=d!==this.getTextContentSize()&&b?G(this.getTag()):k.$createParagraphNode(),f=this.getDirection();e.setDirection(f);this.insertAfter(e,a);0===d&&!this.isEmpty()&&b&&(b=k.$createParagraphNode(),b.select(),this.replace(b,!0));return e}collapseAtStart(){let b=this.isEmpty()?k.$createParagraphNode():G(this.getTag());this.getChildren().forEach(a=> -+b.append(a));this.replace(b);return!0}extractWithChild(){return!0}}function F(b){return"span"===b.nodeName.toLowerCase()?"26pt"===b.style.fontSize:!1}function E(b){let a=b.nodeName.toLowerCase(),d=null;if("h1"===a||"h2"===a||"h3"===a||"h4"===a||"h5"===a||"h6"===a)d=G(a),null!==b.style&&d.setFormat(b.style.textAlign);return{node:d}}function A(b){let a=B();null!==b.style&&a.setFormat(b.style.textAlign);return{node:a}}function G(b){return k.$applyNodeReplacement(new D(b))} -+function H(b,a){b.preventDefault();a.update(()=>{let d=k.$getSelection(),e=h.objectKlassEquals(b,InputEvent)||h.objectKlassEquals(b,KeyboardEvent)?null:b.clipboardData;null!=e&&null!==d&&c.$insertDataTransferForRichText(e,d,a)},{tag:"paste"})}async function I(b,a){await c.copyToClipboard(a,h.objectKlassEquals(b,ClipboardEvent)?b:null);a.update(()=>{let d=k.$getSelection();k.$isRangeSelection(d)?d.removeText():k.$isNodeSelection(d)&&d.getNodes().forEach(e=>e.remove())})} -+function J(b){let a=null;h.objectKlassEquals(b,DragEvent)?a=b.dataTransfer:h.objectKlassEquals(b,ClipboardEvent)&&(a=b.clipboardData);if(null===a)return[!1,[],!1];var d=a.types;b=d.includes("Files");d=d.includes("text/html")||d.includes("text/plain");return[b,Array.from(a.files),d]} -+function K(b){var a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;let d=new Set;a=a.getNodes();for(let m=0;mk.$isElementNode(u)&&!u.isInline()),null!==e&&(f=e.getKey(),e.canIndent()&&!d.has(f)&&(d.add(f),b(e))))}return 0{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,()=>J(a=>{const d=a.getIndent();a.setIndent(d+1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>J(a=>{const d=a.getIndent();0{var d=k.$getSelection();if(k.$isNodeSelection(d)&&!K(a.target)){if(a=d.getNodes(),0K(a=>{const d=a.getIndent();a.setIndent(d+1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>K(a=>{const d=a.getIndent();0{var d=k.$getSelection();if(k.$isNodeSelection(d)&&!L(a.target)){if(a=d.getNodes(),0{var d=k.$getSelection();if(k.$isNodeSelection(d)){if(a=d.getNodes(),0{const d=k.$getSelection();if(k.$isNodeSelection(d)){var e=d.getNodes();if(0{const d=k.$getSelection();if(k.$isNodeSelection(d)&& --!K(a.target)){var e=d.getNodes();if(0{if(K(a.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;a.preventDefault();({anchor:a}=d);const e=a.getNode();return d.isCollapsed()&&0===a.offset&& --!k.$isRootNode(e)&&0{if(K(a.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;a.preventDefault();return b.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ENTER_COMMAND,a=>{const d=k.$getSelection(); --if(!k.$isRangeSelection(d))return!1;if(null!==a){if((t||r||w)&&q)return!1;a.preventDefault();if(a.shiftKey)return b.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return b.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;b.blur();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DROP_COMMAND,a=>{const [,d]=I(a);if(0{[a]=I(a);const d=k.$getSelection();return a&&!k.$isRangeSelection(d)?!1:!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DRAGOVER_COMMAND,a=>{var [d]=I(a);const e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;d=l(a.clientX,a.clientY);null!==d&&(d=k.$getNearestNodeFromDOMNode(d.node),k.$isDecoratorNode(d)&&a.preventDefault());return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.SELECT_ALL_COMMAND,()=>{k.$selectAll();return!0},k.COMMAND_PRIORITY_EDITOR), --b.registerCommand(k.COPY_COMMAND,a=>{c.copyToClipboard(b,h.objectKlassEquals(a,ClipboardEvent)?a:null);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CUT_COMMAND,a=>{H(a,b);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.PASTE_COMMAND,a=>{const [,d,e]=I(a);return 0{if(L(a.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;a.preventDefault();({anchor:a}=d);const e=a.getNode();return d.isCollapsed()&&0===a.offset&& -+!k.$isRootNode(e)&&0{if(L(a.target))return!1;const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;a.preventDefault();return b.dispatchCommand(k.DELETE_CHARACTER_COMMAND,!1)},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ENTER_COMMAND,a=>{const d=k.$getSelection(); -+if(!k.$isRangeSelection(d))return!1;if(null!==a){if((t||r||x)&&q)return!1;a.preventDefault();if(a.shiftKey)return b.dispatchCommand(k.INSERT_LINE_BREAK_COMMAND,!1)}return b.dispatchCommand(k.INSERT_PARAGRAPH_COMMAND,void 0)},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ESCAPE_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;b.blur();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DROP_COMMAND,a=>{const [,d]=J(a);if(0{[a]=J(a);const d=k.$getSelection();return a&&!k.$isRangeSelection(d)?!1:!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DRAGOVER_COMMAND,a=>{var [d]=J(a);const e=k.$getSelection();if(d&&!k.$isRangeSelection(e))return!1;d=l(a.clientX,a.clientY);null!==d&&(d=k.$getNearestNodeFromDOMNode(d.node),k.$isDecoratorNode(d)&&a.preventDefault());return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.SELECT_ALL_COMMAND,()=>{k.$selectAll();return!0},k.COMMAND_PRIORITY_EDITOR), -+b.registerCommand(k.COPY_COMMAND,a=>{c.copyToClipboard(b,h.objectKlassEquals(a,ClipboardEvent)?a:null);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CUT_COMMAND,a=>{I(a,b);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.PASTE_COMMAND,a=>{const [,d,e]=J(a);return 0({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,e){const n=f(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=f();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}}function ht(){return m(new pt)}function vt(t){return t instanceof pt}class Ct extends d{static getType(){return"heading"}static clone(t){return new Ct(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&yt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>yt(t)?{conversion:t=>({node:wt("h1")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=n!==this.getTextContentSize()&&t?wt(this.getTag()):f(),o=this.getDirection();if(r.setDirection(o),this.insertAfter(r,e),0===n&&!this.isEmpty()&&t){const t=f();t.select(),this.replace(t,!0)}return r}collapseAtStart(){const t=this.isEmpty()?f():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function yt(t){return"span"===t.nodeName.toLowerCase()&&"26pt"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return"h1"!==e&&"h2"!==e&&"h3"!==e&&"h4"!==e&&"h5"!==e&&"h6"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return m(new Ct(t))}function Et(t){return t instanceof Ct}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes("Files"),o=n.includes("text/html")||n.includes("text/plain");return[r,Array.from(e.files),o]}function At(t){const e=p();if(!C(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;e0}function Pt(t){const e=V(t);return K(e)}function Ot(o){return a(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(v,(t=>{const e=p();return!!C(e)&&(e.deleteCharacter(t),!0)}),y),o.registerCommand(D,(t=>{const e=p();return!!C(e)&&(e.deleteWord(t),!0)}),y),o.registerCommand(x,(t=>{const e=p();return!!C(e)&&(e.deleteLine(t),!0)}),y),o.registerCommand(w,(e=>{const n=p();if("string"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o);else if(C(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),y),o.registerCommand(E,(()=>{const t=p();return!!C(t)&&(t.removeText(),!0)}),y),o.registerCommand(N,(t=>{const e=p();return!!C(e)&&(e.formatText(t),!0)}),y),o.registerCommand(A,(t=>{const e=p();if(!C(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=c(e,(t=>P(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),y),o.registerCommand(O,(t=>{const e=p();return!!C(e)&&(e.insertLineBreak(t),!0)}),y),o.registerCommand(T,(()=>{const t=p();return!!C(t)&&(t.insertParagraph(),!0)}),y),o.registerCommand(I,(()=>(S([_()]),!0)),y),o.registerCommand(F,(()=>At((t=>{const e=t.getIndent();t.setIndent(e+1)}))),y),o.registerCommand(M,(()=>At((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),y),o.registerCommand(b,(t=>{const e=p();if(h(e)&&!Pt(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(C(e)){const n=k(e.focus,!0);if(!t.shiftKey&&K(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),y),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(C(e)){if(function(t){const e=t.focus;return"root"===e.key&&e.offset===q().getChildrenSize()}(e))return t.preventDefault(),!0;const n=k(e.focus,!1);if(!t.shiftKey&&K(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),y),o.registerCommand(L,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!C(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),y),o.registerCommand(R,(t=>{const e=p();if(h(e)&&!Pt(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!C(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),y),o.registerCommand(z,(t=>{if(Pt(t.target))return!1;const e=p();if(!C(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!W(r)){if(u(r).getIndent()>0)return o.dispatchCommand(M,void 0)}return o.dispatchCommand(v,!0)}),y),o.registerCommand(X,(t=>{if(Pt(t.target))return!1;const e=p();return!!C(e)&&(t.preventDefault(),o.dispatchCommand(v,!1))}),y),o.registerCommand(Y,(t=>{const e=p();if(!C(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(O,!1)}return o.dispatchCommand(T,void 0)}),y),o.registerCommand(B,(()=>{const t=p();return!!C(t)&&(o.blur(),!0)}),y),o.registerCommand(G,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=V(r);if(null!==i){const e=j();if(H(i))e.anchor.set(i.getKey(),t,"text"),e.focus.set(i.getKey(),t,"text");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,"element"),e.focus.set(t,n,"element")}const n=Q(e);U(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!C(n)}),y),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();return!(e&&!C(n))}),y),o.registerCommand($,(t=>{const[e]=Nt(t),n=p();if(e&&!C(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=V(r.node);K(e)&&t.preventDefault()}return!0}),y),o.registerCommand(tt,(()=>(et(),!0)),y),o.registerCommand(nt,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),y),o.registerCommand(rt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();C(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),y),o.registerCommand(ot,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(it(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:"paste"})}(e,o),!0)}),y))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,vt as $isQuoteNode,gt as DRAG_DROP_PASTE,Ct as HeadingNode,pt as QuoteNode,Nt as eventFiles,Ot as registerRichText}; -+ -+import{$insertDataTransferForRichText as t,copyToClipboard as e}from"@lexical/clipboard";import{$shouldOverrideDefaultCharacterSelection as n,$moveCharacter as r}from"@lexical/selection";import{addClassNamesToElement as o,isHTMLElement as i,objectKlassEquals as s,mergeRegister as c,$findMatchingParent as a,$getNearestBlockElementAncestorOrThrow as u}from"@lexical/utils";import{createCommand as l,ElementNode as d,$applyNodeReplacement as m,$createParagraphNode as f,CLICK_COMMAND as g,$getSelection as p,$isNodeSelection as h,DELETE_CHARACTER_COMMAND as v,$isRangeSelection as C,COMMAND_PRIORITY_EDITOR as y,DELETE_WORD_COMMAND as D,DELETE_LINE_COMMAND as x,CONTROLLED_TEXT_INSERTION_COMMAND as w,REMOVE_TEXT_COMMAND as E,FORMAT_TEXT_COMMAND as N,FORMAT_ELEMENT_COMMAND as A,$isElementNode as P,INSERT_LINE_BREAK_COMMAND as I,INSERT_PARAGRAPH_COMMAND as O,INSERT_TAB_COMMAND as T,$insertNodes as S,$createTabNode as _,INDENT_CONTENT_COMMAND as F,OUTDENT_CONTENT_COMMAND as M,KEY_ARROW_UP_COMMAND as b,$isDecoratorNode as K,$getAdjacentNode as k,KEY_ARROW_DOWN_COMMAND as J,$getRoot as q,KEY_ARROW_LEFT_COMMAND as L,KEY_ARROW_RIGHT_COMMAND as R,KEY_BACKSPACE_COMMAND as z,$isRootNode as W,KEY_DELETE_COMMAND as X,KEY_ENTER_COMMAND as Y,KEY_ESCAPE_COMMAND as B,DROP_COMMAND as G,$getNearestNodeFromDOMNode as V,$createRangeSelection as j,$isTextNode as H,$normalizeSelection__EXPERIMENTAL as Q,$setSelection as U,DRAGSTART_COMMAND as Z,DRAGOVER_COMMAND as $,SELECT_ALL_COMMAND as tt,$selectAll as et,COPY_COMMAND as nt,CUT_COMMAND as rt,PASTE_COMMAND as ot,isSelectionCapturedInDecoratorInput as it}from"lexical";function st(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if("undefined"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const ct="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,at=ct&&"documentMode"in document?document.documentMode:null;ct&&/Mac|iPod|iPhone|iPad/.test(navigator.platform),ct&&/^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);const ut=!(!ct||!("InputEvent"in window)||at)&&"getTargetRanges"in new window.InputEvent("input"),lt=ct&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),dt=ct&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,mt=(ct&&/Android/.test(navigator.userAgent),ct&&/^(?=.*Chrome).*/i.test(navigator.userAgent)),ft=ct&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!mt,gt=l("DRAG_DROP_PASTE_FILE");class pt extends d{static getType(){return"quote"}static clone(t){return new pt(t.__key)}constructor(t){super(t)}createDOM(t){const e=document.createElement("blockquote");return o(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,e){const n=f(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=f();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}}function ht(){return m(new pt)}function vt(t){return t instanceof pt}class Ct extends d{static getType(){return"heading"}static clone(t){return new Ct(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&yt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>yt(t)?{conversion:t=>({node:wt("h1")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=n!==this.getTextContentSize()&&t?wt(this.getTag()):f(),o=this.getDirection();if(r.setDirection(o),this.insertAfter(r,e),0===n&&!this.isEmpty()&&t){const t=f();t.select(),this.replace(t,!0)}return r}collapseAtStart(){const t=this.isEmpty()?f():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function yt(t){return"span"===t.nodeName.toLowerCase()&&"26pt"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return"h1"!==e&&"h2"!==e&&"h3"!==e&&"h4"!==e&&"h5"!==e&&"h6"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return m(new Ct(t))}function Et(t){return t instanceof Ct}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes("Files"),o=n.includes("text/html")||n.includes("text/plain");return[r,Array.from(e.files),o]}function At(t){const e=p();if(!C(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;eP(t)&&!t.isInline()));if(null===s)continue;const c=s.getKey();s.canIndent()&&!n.has(c)&&(n.add(c),t(s))}return n.size>0}function Pt(t){const e=V(t);return K(e)}function It(o){return c(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(v,(t=>{const e=p();return!!C(e)&&(e.deleteCharacter(t),!0)}),y),o.registerCommand(D,(t=>{const e=p();return!!C(e)&&(e.deleteWord(t),!0)}),y),o.registerCommand(x,(t=>{const e=p();return!!C(e)&&(e.deleteLine(t),!0)}),y),o.registerCommand(w,(e=>{const n=p();if("string"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o,e);else if(C(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),y),o.registerCommand(E,(()=>{const t=p();return!!C(t)&&(t.removeText(),!0)}),y),o.registerCommand(N,(t=>{const e=p();return!!C(e)&&(e.formatText(t),!0)}),y),o.registerCommand(A,(t=>{const e=p();if(!C(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,(t=>P(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),y),o.registerCommand(I,(t=>{const e=p();return!!C(e)&&(e.insertLineBreak(t),!0)}),y),o.registerCommand(O,(()=>{const t=p();return!!C(t)&&(t.insertParagraph(),!0)}),y),o.registerCommand(T,(()=>(S([_()]),!0)),y),o.registerCommand(F,(()=>At((t=>{const e=t.getIndent();t.setIndent(e+1)}))),y),o.registerCommand(M,(()=>At((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),y),o.registerCommand(b,(t=>{const e=p();if(h(e)&&!Pt(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(C(e)){const n=k(e.focus,!0);if(!t.shiftKey&&K(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),y),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(C(e)){if(function(t){const e=t.focus;return"root"===e.key&&e.offset===q().getChildrenSize()}(e))return t.preventDefault(),!0;const n=k(e.focus,!1);if(!t.shiftKey&&K(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),y),o.registerCommand(L,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!C(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),y),o.registerCommand(R,(t=>{const e=p();if(h(e)&&!Pt(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!C(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),y),o.registerCommand(z,(t=>{if(Pt(t.target))return!1;const e=p();if(!C(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!W(r)){if(u(r).getIndent()>0)return o.dispatchCommand(M,void 0)}return o.dispatchCommand(v,!0)}),y),o.registerCommand(X,(t=>{if(Pt(t.target))return!1;const e=p();return!!C(e)&&(t.preventDefault(),o.dispatchCommand(v,!1))}),y),o.registerCommand(Y,(t=>{const e=p();if(!C(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(I,!1)}return o.dispatchCommand(O,void 0)}),y),o.registerCommand(B,(()=>{const t=p();return!!C(t)&&(o.blur(),!0)}),y),o.registerCommand(G,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=V(r);if(null!==i){const e=j();if(H(i))e.anchor.set(i.getKey(),t,"text"),e.focus.set(i.getKey(),t,"text");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,"element"),e.focus.set(t,n,"element")}const n=Q(e);U(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!C(n)}),y),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();return!(e&&!C(n))}),y),o.registerCommand($,(t=>{const[e]=Nt(t),n=p();if(e&&!C(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=V(r.node);K(e)&&t.preventDefault()}return!0}),y),o.registerCommand(tt,(()=>(et(),!0)),y),o.registerCommand(nt,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),y),o.registerCommand(rt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();C(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),y),o.registerCommand(ot,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(it(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:"paste"})}(e,o),!0)}),y))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,vt as $isQuoteNode,gt as DRAG_DROP_PASTE,Ct as HeadingNode,pt as QuoteNode,Nt as eventFiles,It as registerRichText}; diff --git a/.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch b/.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch new file mode 100644 index 000000000..66aa80116 --- /dev/null +++ b/.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch @@ -0,0 +1,49 @@ +diff --git a/LexicalRichText.dev.js b/LexicalRichText.dev.js +index a23f1faaf3da195b193a51e084a5cd2937dda6dc..b11110387e0543670921f98b1e9489c789d1d8cb 100644 +--- a/LexicalRichText.dev.js ++++ b/LexicalRichText.dev.js +@@ -470,7 +470,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.dev.mjs b/LexicalRichText.dev.mjs +index 3b2880f2f7a6db47c61ab8df357d773371cc9a1c..ccb522cf64f3c3cdfacb3d757064ecff7ee22eb9 100644 +--- a/LexicalRichText.dev.mjs ++++ b/LexicalRichText.dev.mjs +@@ -468,7 +468,7 @@ function registerRichText(editor) { + } + const dataTransfer = eventOrText.dataTransfer; + if (dataTransfer != null) { +- $insertDataTransferForRichText(dataTransfer, selection, editor); ++ $insertDataTransferForRichText(dataTransfer, selection, editor, eventOrText); + } else if ($isRangeSelection(selection)) { + const data = eventOrText.data; + if (data) { +diff --git a/LexicalRichText.prod.js b/LexicalRichText.prod.js +index 562f23865ba4aa00e1322b21b64d65815f708698..a5a16f9e0970b8022a524df60399386900eb7c36 100644 +--- a/LexicalRichText.prod.js ++++ b/LexicalRichText.prod.js +@@ -20,7 +20,7 @@ function I(b){let a=null;h.objectKlassEquals(b,DragEvent)?a=b.dataTransfer:h.obj + function J(b){var a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;let d=new Set;a=a.getNodes();for(let m=0;mk.$isElementNode(u)&&!u.isInline()),null!==e&&(f=e.getKey(),e.canIndent()&&!d.has(f)&&(d.add(f),b(e))))}return 0{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,()=>J(a=>{const d=a.getIndent();a.setIndent(d+1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>J(a=>{const d=a.getIndent();0{var d=k.$getSelection();if(k.$isNodeSelection(d)&&!K(a.target)){if(a=d.getNodes(),0({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,e){const n=m(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=m();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}}function ht(){return f(new pt)}function Ct(t){return t instanceof pt}class vt extends d{static getType(){return"heading"}static clone(t){return new vt(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&yt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>yt(t)?{conversion:t=>({node:wt("h1")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=n!==this.getTextContentSize()&&t?wt(this.getTag()):m(),o=this.getDirection();if(r.setDirection(o),this.insertAfter(r,e),0===n&&!this.isEmpty()&&t){const t=m();t.select(),this.replace(t,!0)}return r}collapseAtStart(){const t=this.isEmpty()?m():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function yt(t){return"span"===t.nodeName.toLowerCase()&&"26pt"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return"h1"!==e&&"h2"!==e&&"h3"!==e&&"h4"!==e&&"h5"!==e&&"h6"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return f(new vt(t))}function Et(t){return t instanceof vt}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes("Files"),o=n.includes("text/html")||n.includes("text/plain");return[r,Array.from(e.files),o]}function It(t){const e=p();if(!v(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;eO(t)&&!t.isInline()));if(null===s)continue;const c=s.getKey();s.canIndent()&&!n.has(c)&&(n.add(c),t(s))}return n.size>0}function Ot(t){const e=G(t);return k(e)}function Tt(o){return c(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(C,(t=>{const e=p();return!!v(e)&&(e.deleteCharacter(t),!0)}),y),o.registerCommand(D,(t=>{const e=p();return!!v(e)&&(e.deleteWord(t),!0)}),y),o.registerCommand(x,(t=>{const e=p();return!!v(e)&&(e.deleteLine(t),!0)}),y),o.registerCommand(w,(e=>{const n=p();if("string"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o);else if(v(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),y),o.registerCommand(E,(()=>{const t=p();return!!v(t)&&(t.removeText(),!0)}),y),o.registerCommand(N,(t=>{const e=p();return!!v(e)&&(e.formatText(t),!0)}),y),o.registerCommand(I,(t=>{const e=p();if(!v(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,(t=>O(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),y),o.registerCommand(T,(t=>{const e=p();return!!v(e)&&(e.insertLineBreak(t),!0)}),y),o.registerCommand(A,(()=>{const t=p();return!!v(t)&&(t.insertParagraph(),!0)}),y),o.registerCommand(P,(()=>(S([_()]),!0)),y),o.registerCommand(b,(()=>It((t=>{const e=t.getIndent();t.setIndent(e+1)}))),y),o.registerCommand(F,(()=>It((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),y),o.registerCommand(M,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(v(e)){const n=K(e.focus,!0);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),y),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(v(e)){if(function(t){const e=t.focus;return"root"===e.key&&e.offset===it().getChildrenSize()}(e))return t.preventDefault(),!0;const n=K(e.focus,!1);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),y),o.registerCommand(q,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!v(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),y),o.registerCommand(L,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!v(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),y),o.registerCommand(R,(t=>{if(Ot(t.target))return!1;const e=p();if(!v(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!z(r)){if(u(r).getIndent()>0)return o.dispatchCommand(F,void 0)}return o.dispatchCommand(C,!0)}),y),o.registerCommand(W,(t=>{if(Ot(t.target))return!1;const e=p();return!!v(e)&&(t.preventDefault(),o.dispatchCommand(C,!1))}),y),o.registerCommand(X,(t=>{const e=p();if(!v(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(T,!1)}return o.dispatchCommand(A,void 0)}),y),o.registerCommand(Y,(()=>{const t=p();return!!v(t)&&(o.blur(),!0)}),y),o.registerCommand(B,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=G(r);if(null!==i){const e=V();if(j(i))e.anchor.set(i.getKey(),t,"text"),e.focus.set(i.getKey(),t,"text");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,"element"),e.focus.set(t,n,"element")}const n=H(e);Q(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!v(n)}),y),o.registerCommand(U,(t=>{const[e]=Nt(t),n=p();return!(e&&!v(n))}),y),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();if(e&&!v(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=G(r.node);k(e)&&t.preventDefault()}return!0}),y),o.registerCommand($,(()=>(tt(),!0)),y),o.registerCommand(et,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),y),o.registerCommand(nt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();v(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),y),o.registerCommand(rt,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(ot(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:"paste"})}(e,o),!0)}),y))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,Ct as $isQuoteNode,gt as DRAG_DROP_PASTE,vt as HeadingNode,pt as QuoteNode,Nt as eventFiles,Tt as registerRichText}; ++import{$insertDataTransferForRichText as t,copyToClipboard as e}from"@lexical/clipboard";import{$shouldOverrideDefaultCharacterSelection as n,$moveCharacter as r}from"@lexical/selection";import{addClassNamesToElement as o,isHTMLElement as i,objectKlassEquals as s,mergeRegister as c,$findMatchingParent as a,$getNearestBlockElementAncestorOrThrow as u}from"@lexical/utils";import{createCommand as l,ElementNode as d,$createParagraphNode as m,$applyNodeReplacement as f,CLICK_COMMAND as g,$getSelection as p,$isNodeSelection as h,DELETE_CHARACTER_COMMAND as C,$isRangeSelection as v,COMMAND_PRIORITY_EDITOR as y,DELETE_WORD_COMMAND as D,DELETE_LINE_COMMAND as x,CONTROLLED_TEXT_INSERTION_COMMAND as w,REMOVE_TEXT_COMMAND as E,FORMAT_TEXT_COMMAND as N,FORMAT_ELEMENT_COMMAND as I,$isElementNode as O,INSERT_LINE_BREAK_COMMAND as T,INSERT_PARAGRAPH_COMMAND as A,INSERT_TAB_COMMAND as P,$insertNodes as S,$createTabNode as _,INDENT_CONTENT_COMMAND as b,OUTDENT_CONTENT_COMMAND as F,KEY_ARROW_UP_COMMAND as M,$getAdjacentNode as K,$isDecoratorNode as k,KEY_ARROW_DOWN_COMMAND as J,KEY_ARROW_LEFT_COMMAND as q,KEY_ARROW_RIGHT_COMMAND as L,KEY_BACKSPACE_COMMAND as R,$isRootNode as z,KEY_DELETE_COMMAND as W,KEY_ENTER_COMMAND as X,KEY_ESCAPE_COMMAND as Y,DROP_COMMAND as B,$getNearestNodeFromDOMNode as G,$createRangeSelection as V,$isTextNode as j,$normalizeSelection__EXPERIMENTAL as H,$setSelection as Q,DRAGSTART_COMMAND as U,DRAGOVER_COMMAND as Z,SELECT_ALL_COMMAND as $,$selectAll as tt,COPY_COMMAND as et,CUT_COMMAND as nt,PASTE_COMMAND as rt,isSelectionCapturedInDecoratorInput as ot,$getRoot as it}from"lexical";function st(t,e){if(void 0!==document.caretRangeFromPoint){const n=document.caretRangeFromPoint(t,e);return null===n?null:{node:n.startContainer,offset:n.startOffset}}if("undefined"!==document.caretPositionFromPoint){const n=document.caretPositionFromPoint(t,e);return null===n?null:{node:n.offsetNode,offset:n.offset}}return null}const ct="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,at=ct&&"documentMode"in document?document.documentMode:null,ut=!(!ct||!("InputEvent"in window)||at)&&"getTargetRanges"in new window.InputEvent("input"),lt=ct&&/Version\/[\d.]+.*Safari/.test(navigator.userAgent),dt=ct&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,mt=ct&&/^(?=.*Chrome).*/i.test(navigator.userAgent),ft=ct&&/AppleWebKit\/[\d.]+/.test(navigator.userAgent)&&!mt,gt=l("DRAG_DROP_PASTE_FILE");class pt extends d{static getType(){return"quote"}static clone(t){return new pt(t.__key)}constructor(t){super(t)}createDOM(t){const e=document.createElement("blockquote");return o(e,t.theme.quote),e}updateDOM(t,e){return!1}static importDOM(){return{blockquote:t=>({conversion:xt,priority:0})}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=ht();return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),type:"quote"}}insertNewAfter(t,e){const n=m(),r=this.getDirection();return n.setDirection(r),this.insertAfter(n,e),n}collapseAtStart(){const t=m();return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}}function ht(){return f(new pt)}function Ct(t){return t instanceof pt}class vt extends d{static getType(){return"heading"}static clone(t){return new vt(t.__tag,t.__key)}constructor(t,e){super(e),this.__tag=t}getTag(){return this.__tag}createDOM(t){const e=this.__tag,n=document.createElement(e),r=t.theme.heading;if(void 0!==r){const t=r[e];o(n,t)}return n}updateDOM(t,e){return!1}static importDOM(){return{h1:t=>({conversion:Dt,priority:0}),h2:t=>({conversion:Dt,priority:0}),h3:t=>({conversion:Dt,priority:0}),h4:t=>({conversion:Dt,priority:0}),h5:t=>({conversion:Dt,priority:0}),h6:t=>({conversion:Dt,priority:0}),p:t=>{const e=t.firstChild;return null!==e&&yt(e)?{conversion:()=>({node:null}),priority:3}:null},span:t=>yt(t)?{conversion:t=>({node:wt("h1")}),priority:3}:null}}exportDOM(t){const{element:e}=super.exportDOM(t);if(e&&i(e)){this.isEmpty()&&e.append(document.createElement("br"));const t=this.getFormatType();e.style.textAlign=t;const n=this.getDirection();n&&(e.dir=n)}return{element:e}}static importJSON(t){const e=wt(t.tag);return e.setFormat(t.format),e.setIndent(t.indent),e.setDirection(t.direction),e}exportJSON(){return{...super.exportJSON(),tag:this.getTag(),type:"heading",version:1}}insertNewAfter(t,e=!0){const n=t?t.anchor.offset:0,r=n!==this.getTextContentSize()&&t?wt(this.getTag()):m(),o=this.getDirection();if(r.setDirection(o),this.insertAfter(r,e),0===n&&!this.isEmpty()&&t){const t=m();t.select(),this.replace(t,!0)}return r}collapseAtStart(){const t=this.isEmpty()?m():wt(this.getTag());return this.getChildren().forEach((e=>t.append(e))),this.replace(t),!0}extractWithChild(){return!0}}function yt(t){return"span"===t.nodeName.toLowerCase()&&"26pt"===t.style.fontSize}function Dt(t){const e=t.nodeName.toLowerCase();let n=null;return"h1"!==e&&"h2"!==e&&"h3"!==e&&"h4"!==e&&"h5"!==e&&"h6"!==e||(n=wt(e),null!==t.style&&n.setFormat(t.style.textAlign)),{node:n}}function xt(t){const e=ht();return null!==t.style&&e.setFormat(t.style.textAlign),{node:e}}function wt(t){return f(new vt(t))}function Et(t){return t instanceof vt}function Nt(t){let e=null;if(s(t,DragEvent)?e=t.dataTransfer:s(t,ClipboardEvent)&&(e=t.clipboardData),null===e)return[!1,[],!1];const n=e.types,r=n.includes("Files"),o=n.includes("text/html")||n.includes("text/plain");return[r,Array.from(e.files),o]}function It(t){const e=p();if(!v(e))return!1;const n=new Set,r=e.getNodes();for(let e=0;eO(t)&&!t.isInline()));if(null===s)continue;const c=s.getKey();s.canIndent()&&!n.has(c)&&(n.add(c),t(s))}return n.size>0}function Ot(t){const e=G(t);return k(e)}function Tt(o){return c(o.registerCommand(g,(t=>{const e=p();return!!h(e)&&(e.clear(),!0)}),0),o.registerCommand(C,(t=>{const e=p();return!!v(e)&&(e.deleteCharacter(t),!0)}),y),o.registerCommand(D,(t=>{const e=p();return!!v(e)&&(e.deleteWord(t),!0)}),y),o.registerCommand(x,(t=>{const e=p();return!!v(e)&&(e.deleteLine(t),!0)}),y),o.registerCommand(w,(e=>{const n=p();if("string"==typeof e)null!==n&&n.insertText(e);else{if(null===n)return!1;const r=e.dataTransfer;if(null!=r)t(r,n,o,e);else if(v(n)){const t=e.data;return t&&n.insertText(t),!0}}return!0}),y),o.registerCommand(E,(()=>{const t=p();return!!v(t)&&(t.removeText(),!0)}),y),o.registerCommand(N,(t=>{const e=p();return!!v(e)&&(e.formatText(t),!0)}),y),o.registerCommand(I,(t=>{const e=p();if(!v(e)&&!h(e))return!1;const n=e.getNodes();for(const e of n){const n=a(e,(t=>O(t)&&!t.isInline()));null!==n&&n.setFormat(t)}return!0}),y),o.registerCommand(T,(t=>{const e=p();return!!v(e)&&(e.insertLineBreak(t),!0)}),y),o.registerCommand(A,(()=>{const t=p();return!!v(t)&&(t.insertParagraph(),!0)}),y),o.registerCommand(P,(()=>(S([_()]),!0)),y),o.registerCommand(b,(()=>It((t=>{const e=t.getIndent();t.setIndent(e+1)}))),y),o.registerCommand(F,(()=>It((t=>{const e=t.getIndent();e>0&&t.setIndent(e-1)}))),y),o.registerCommand(M,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const t=e.getNodes();if(t.length>0)return t[0].selectPrevious(),!0}else if(v(e)){const n=K(e.focus,!0);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectPrevious(),t.preventDefault(),!0}return!1}),y),o.registerCommand(J,(t=>{const e=p();if(h(e)){const t=e.getNodes();if(t.length>0)return t[0].selectNext(0,0),!0}else if(v(e)){if(function(t){const e=t.focus;return"root"===e.key&&e.offset===it().getChildrenSize()}(e))return t.preventDefault(),!0;const n=K(e.focus,!1);if(!t.shiftKey&&k(n)&&!n.isIsolated()&&!n.isInline())return n.selectNext(),t.preventDefault(),!0}return!1}),y),o.registerCommand(q,(t=>{const e=p();if(h(e)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectPrevious(),!0}if(!v(e))return!1;if(n(e,!0)){const n=t.shiftKey;return t.preventDefault(),r(e,n,!0),!0}return!1}),y),o.registerCommand(L,(t=>{const e=p();if(h(e)&&!Ot(t.target)){const n=e.getNodes();if(n.length>0)return t.preventDefault(),n[0].selectNext(0,0),!0}if(!v(e))return!1;const o=t.shiftKey;return!!n(e,!1)&&(t.preventDefault(),r(e,o,!1),!0)}),y),o.registerCommand(R,(t=>{if(Ot(t.target))return!1;const e=p();if(!v(e))return!1;t.preventDefault();const{anchor:n}=e,r=n.getNode();if(e.isCollapsed()&&0===n.offset&&!z(r)){if(u(r).getIndent()>0)return o.dispatchCommand(F,void 0)}return o.dispatchCommand(C,!0)}),y),o.registerCommand(W,(t=>{if(Ot(t.target))return!1;const e=p();return!!v(e)&&(t.preventDefault(),o.dispatchCommand(C,!1))}),y),o.registerCommand(X,(t=>{const e=p();if(!v(e))return!1;if(null!==t){if((dt||lt||ft)&&ut)return!1;if(t.preventDefault(),t.shiftKey)return o.dispatchCommand(T,!1)}return o.dispatchCommand(A,void 0)}),y),o.registerCommand(Y,(()=>{const t=p();return!!v(t)&&(o.blur(),!0)}),y),o.registerCommand(B,(t=>{const[,e]=Nt(t);if(e.length>0){const n=st(t.clientX,t.clientY);if(null!==n){const{offset:t,node:r}=n,i=G(r);if(null!==i){const e=V();if(j(i))e.anchor.set(i.getKey(),t,"text"),e.focus.set(i.getKey(),t,"text");else{const t=i.getParentOrThrow().getKey(),n=i.getIndexWithinParent()+1;e.anchor.set(t,n,"element"),e.focus.set(t,n,"element")}const n=H(e);Q(n)}o.dispatchCommand(gt,e)}return t.preventDefault(),!0}const n=p();return!!v(n)}),y),o.registerCommand(U,(t=>{const[e]=Nt(t),n=p();return!(e&&!v(n))}),y),o.registerCommand(Z,(t=>{const[e]=Nt(t),n=p();if(e&&!v(n))return!1;const r=st(t.clientX,t.clientY);if(null!==r){const e=G(r.node);k(e)&&t.preventDefault()}return!0}),y),o.registerCommand($,(()=>(tt(),!0)),y),o.registerCommand(et,(t=>(e(o,s(t,ClipboardEvent)?t:null),!0)),y),o.registerCommand(nt,(t=>(async function(t,n){await e(n,s(t,ClipboardEvent)?t:null),n.update((()=>{const t=p();v(t)?t.removeText():h(t)&&t.getNodes().forEach((t=>t.remove()))}))}(t,o),!0)),y),o.registerCommand(rt,(e=>{const[,n,r]=Nt(e);if(n.length>0&&!r)return o.dispatchCommand(gt,n),!0;if(ot(e.target))return!1;return null!==p()&&(function(e,n){e.preventDefault(),n.update((()=>{const r=p(),o=s(e,InputEvent)||s(e,KeyboardEvent)?null:e.clipboardData;null!=o&&null!==r&&t(o,r,n)}),{tag:"paste"})}(e,o),!0)}),y))}export{wt as $createHeadingNode,ht as $createQuoteNode,Et as $isHeadingNode,Ct as $isQuoteNode,gt as DRAG_DROP_PASTE,vt as HeadingNode,pt as QuoteNode,Nt as eventFiles,Tt as registerRichText}; diff --git a/package.json b/package.json index cf5796e65..9ea000fcb 100644 --- a/package.json +++ b/package.json @@ -44,9 +44,9 @@ "@types/react-native-vector-icons/@types/react": "17.0.2", "@types/react-native/@types/react": "17.0.2", "@types/hoist-non-react-statics/@types/react": "17.0.2", - "@lexical/clipboard@0.14.5": "patch:@lexical/clipboard@npm:0.14.5#.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch", - "@lexical/rich-text@0.14.5": "patch:@lexical/rich-text@npm:0.14.5#.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch", - "@lexical/list@0.14.5": "patch:@lexical/list@npm:0.14.5#.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch" + "@lexical/rich-text@0.15.0": "patch:@lexical/rich-text@npm:0.15.0#.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch", + "@lexical/clipboard@0.15.0": "patch:@lexical/clipboard@npm:0.15.0#.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch", + "@lexical/list@0.15.0": "patch:@lexical/list@npm:0.15.0#.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch" }, "dependencies": { "@standardnotes/snjs": "workspace:*" diff --git a/packages/web/package.json b/packages/web/package.json index d598780aa..902db481e 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -107,17 +107,17 @@ }, "dependencies": { "@ariakit/react": "^0.3.9", - "@lexical/clipboard": "0.14.5", - "@lexical/headless": "0.14.5", - "@lexical/link": "0.14.5", - "@lexical/list": "0.14.5", - "@lexical/react": "0.14.5", - "@lexical/rich-text": "0.14.5", - "@lexical/utils": "0.14.5", + "@lexical/clipboard": "0.15.0", + "@lexical/headless": "0.15.0", + "@lexical/link": "0.15.0", + "@lexical/list": "0.15.0", + "@lexical/react": "0.15.0", + "@lexical/rich-text": "0.15.0", + "@lexical/utils": "0.15.0", "@radix-ui/react-slot": "^1.0.1", "@react-pdf/renderer": "^3.3.2", "comlink": "^4.4.1", "fast-diff": "^1.3.0", - "lexical": "0.14.5" + "lexical": "0.15.0" } } diff --git a/yarn.lock b/yarn.lock index c065282c1..0e181f338 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3902,298 +3902,298 @@ __metadata: languageName: node linkType: hard -"@lexical/clipboard@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/clipboard@npm:0.14.5" +"@lexical/clipboard@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/clipboard@npm:0.15.0" dependencies: - "@lexical/html": 0.14.5 - "@lexical/list": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 9fb6db51a0471c3a78bcbcdfa1561f18d03358002bd8b4ef3d6898f50d9f0b4e552ffc8c78551829be50d537c7798e28706c3688cc7549b92ce998973a114b86 + "@lexical/html": 0.15.0 + "@lexical/list": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 66f2cb68781898583d84ff4960c1fa2d72a5b94bc30244ddeaa59c51e4a4b5bd7b1f1d0f1e3c8f6ebffb7b347ed045fe318dfd38a1f011b314e13e1c1f355396 languageName: node linkType: hard -"@lexical/clipboard@patch:@lexical/clipboard@npm:0.14.5#.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": - version: 0.14.5 - resolution: "@lexical/clipboard@patch:@lexical/clipboard@npm%3A0.14.5#.yarn/patches/@lexical-clipboard-npm-0.14.5-09010c7dc6.patch::version=0.14.5&hash=f7f0fd&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." +"@lexical/clipboard@patch:@lexical/clipboard@npm:0.15.0#.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": + version: 0.15.0 + resolution: "@lexical/clipboard@patch:@lexical/clipboard@npm%3A0.15.0#.yarn/patches/@lexical-clipboard-npm-0.15.0-ca589505eb.patch::version=0.15.0&hash=a76b1e&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." dependencies: - "@lexical/html": 0.14.5 - "@lexical/list": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 05ae231a22f032c15506c87cdeed100f504a907853ea14dce4a7e3eac84fdde733db652fbf05610dffdfb79f44bada34253b90866965aee693e9296311fb38ac + "@lexical/html": 0.15.0 + "@lexical/list": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: b66c9025481c191a59b2c013fa7c4becc9df818e7f0b249344d18329991caae2951f2c67267c08db37ef7b1f05c0a6da7a80ee71918b64bafaaaa4d36a27919f languageName: node linkType: hard -"@lexical/code@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/code@npm:0.14.5" +"@lexical/code@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/code@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 prismjs: ^1.27.0 - checksum: fc91f46c0570c54ac943ac88f91094b157f3f6fb4efc2e07184c3679a63b7482655201d7d4fee4f45b4507be4329075e38fa332a6b1d050ced3323c0ef2b63fb + checksum: 9f50121f9fe0ea3e85e228f3302a3b2337d738d8960fb466d196ad511292c79ec765b3731e1ced0441dabc6f023964dcfd6fd3cd706c3ea43eb8daf0e457ed61 languageName: node linkType: hard -"@lexical/devtools-core@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/devtools-core@npm:0.14.5" +"@lexical/devtools-core@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/devtools-core@npm:0.15.0" dependencies: - "@lexical/html": 0.14.5 - "@lexical/link": 0.14.5 - "@lexical/mark": 0.14.5 - "@lexical/table": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 + "@lexical/html": 0.15.0 + "@lexical/link": 0.15.0 + "@lexical/mark": 0.15.0 + "@lexical/table": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 peerDependencies: react: ">=17.x" react-dom: ">=17.x" - checksum: 1461941156b632e34c79b51bada748d19cd7be7d2ec562c744c12548fd24c9d1041a25f9a8eedda957a9da75d39d1967cbf7bc6b79c2af0919622a87c26ac8bc + checksum: 479204a69f80af84458126130cf2d2cd55f0a7ba0349e471f625fc22cc22a025c503610e3ada3f965399d06ccc0689841d78b91b02e3fc1f867880083bed349a languageName: node linkType: hard -"@lexical/dragon@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/dragon@npm:0.14.5" +"@lexical/dragon@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/dragon@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: 9e4b2d8f824476c4bab02ed2510b7466f09633e18c7da79507f3d9291f556c7223eac2f023049b33ab9b2d37f72202f7a816efbedce51493faaf42799b9a2fcd + lexical: 0.15.0 + checksum: 69544b7ff56b01f28091401eb2b08972f4ffedd6dce0c47891131b65f3eb907078cb6e339c00424103c6d1d6e175ceb5e1dc7f55c82d0e163aa49e4d495bef35 languageName: node linkType: hard -"@lexical/hashtag@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/hashtag@npm:0.14.5" +"@lexical/hashtag@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/hashtag@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 22303fb67947ebfb73de22b79afed80e39cfc6bdd6c29a8c5eaf9bf2004f5bb036aa02f1e42587137a86c3336af3d33493ff1a4b870fa49a5761457802cabe78 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 143579823d79f2de7dd49084d6f1ff10b1f7dd469d751876c2ecf347ef68bc438b5b0e6f41f577dca0cd25c318dfdbd78d9c67f5fbdb28217ec81dddead98872 languageName: node linkType: hard -"@lexical/headless@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/headless@npm:0.14.5" +"@lexical/headless@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/headless@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: d7bbbeaed2789c724ad2978a71704d6b449d7965728d9ea9eb1da84b6a8a357f17cd7842bfbde96ef9c0acd9c1b49f16422c1249d70d5734b9ec8862ed9cc78d + lexical: 0.15.0 + checksum: b3c26daef5ef712be07df175b565c207303e08e9f24e845348a801128adc270daf995d56eb822c63e483f58ddb257ce278d1206390b6100d088ff14106a83dd2 languageName: node linkType: hard -"@lexical/history@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/history@npm:0.14.5" +"@lexical/history@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/history@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 6cc9672c04ab5c2c2fc4d52f002ad5a2b5b7d82c0bc2e1d9a07c7acdd60c74360e84404fccada919ec78a0fe66f5e74918aaf89c995fc6c88333be6d8fbce05e + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 84f1faf94405a6a31f755d1f2a77dfe18293f5c94fa02964a78cebb500b44abd3b12153b10d57473807726ac6e1e530a3e34c850d2d8a89114a27744afeb18a5 languageName: node linkType: hard -"@lexical/html@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/html@npm:0.14.5" +"@lexical/html@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/html@npm:0.15.0" dependencies: - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: f28e3f8f260f5a0ad30c4e80f691729006e19b9a87da87647f19f1fe9a39597b28cef693a1f1ddb409ded6c2cdabaa01eec74443329c836282ffcb3e8206f4ea + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: f56ef237c64134c618d9159a9ed2160d574ec1305f817a5d5815b2db0ff67ec16dfcb51097a4f3121f50b89c20b861cf9f8bab2b6c147280101e3e453663a7c7 languageName: node linkType: hard -"@lexical/link@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/link@npm:0.14.5" +"@lexical/link@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/link@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 674bd80c218033549b0b4d0151b7df05a7269bb2b80ce8c0e6251b59db5ae67bbfb996698f2520c54756c4c6c2027db364f6ee2dbde9be0ed111cfe6662d9525 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 09c8b2823e372294068fb6260fc7e359cb124121353c81a3ed3c3550ab56c72c8669a594c2494612bdc6828c27c1a888fbba1748d40be9f6f65850e252ed41ff languageName: node linkType: hard -"@lexical/list@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/list@npm:0.14.5" +"@lexical/list@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/list@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 971b7876372f42dbc65871c6eb5c1e769986d24cc1b48dad89917df1c02894d72bbbfe8d42166f4d8731d0ecdca38d65f7084980482001cffc346bf419c2f3ef + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: c0ad36f3ae73785f4fcc12f6315c089153e87cdbfda1be88e5a40b73eb000232d5e0b4e640562feebf7c951d5203cecf58ad9d493b13190343898469fa9b1f5e languageName: node linkType: hard -"@lexical/list@patch:@lexical/list@npm:0.14.5#.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": - version: 0.14.5 - resolution: "@lexical/list@patch:@lexical/list@npm%3A0.14.5#.yarn/patches/@lexical-list-npm-0.14.5-348640e630.patch::version=0.14.5&hash=7cd604&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." +"@lexical/list@patch:@lexical/list@npm:0.15.0#.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": + version: 0.15.0 + resolution: "@lexical/list@patch:@lexical/list@npm%3A0.15.0#.yarn/patches/@lexical-list-npm-0.15.0-53c9adf3b8.patch::version=0.15.0&hash=1e4c28&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 21350cfcad37510291f115d65262d0e582b6fa237625cd2b6fa91d5296f7ec036b98f0e20a9de6b7a9644f5faa306c1cebb28b91c128e89828299cced7094e5f + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: a587b2ed499cca4d3bf3848703246786169ecc62e3f4ee4e02a9c52a3211df71df7d39084a02bbe2ec73b705307ecba8aed313781692418aaff979e69c4d8c8f languageName: node linkType: hard -"@lexical/mark@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/mark@npm:0.14.5" +"@lexical/mark@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/mark@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 479b643a2c5137968a5c96cefbaf5920da674519114b7e52e019523cb7684c2241392246053e7b0c1791ad2063eae4dceee2118de85456003e71359d0327dd4c + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: f90fcfe5665e9a7860cb5e338e017e2e498eac8f86021d853e230a45ebede5b4f8110e85b242e7c8b310ad7fde583661151c4ab997b0694ab39b088d311f0d4f languageName: node linkType: hard -"@lexical/markdown@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/markdown@npm:0.14.5" +"@lexical/markdown@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/markdown@npm:0.15.0" dependencies: - "@lexical/code": 0.14.5 - "@lexical/link": 0.14.5 - "@lexical/list": 0.14.5 - "@lexical/rich-text": 0.14.5 - "@lexical/text": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 889d877b147ca83e12551afd16f70aa33fe86630ecd33c67e9a1c5de3b24a1807a8c6ff62138f8cf66986339c71e82581ddc85a349063f09642524feb0133b50 + "@lexical/code": 0.15.0 + "@lexical/link": 0.15.0 + "@lexical/list": 0.15.0 + "@lexical/rich-text": 0.15.0 + "@lexical/text": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 76a474d8ea423875e5dd482bd29aecc7e5825338de2187b057c867cf185b88f31fcbfe3244cb3d7011df1de0964af06ffce5424786a4ca2b3bcb53024ab6a9c1 languageName: node linkType: hard -"@lexical/offset@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/offset@npm:0.14.5" +"@lexical/offset@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/offset@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: 92d6aa77867c4fb4166dbfba721cdb056d9849c45eb5d61f618934f3549cc4a2d77aa568f64624a10f8cb1bf0c79d7d6fb3dd38596ce78e2282d5e33ac6acdf0 + lexical: 0.15.0 + checksum: 4bfd7629dc1ba8f01636b2aa424d435653aa71c9d35f4308f4e6e490e2ba6cee2dc88a2025177898021d5397c5d84e1fdaa85170834f604ccd5ec976601748a5 languageName: node linkType: hard -"@lexical/overflow@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/overflow@npm:0.14.5" +"@lexical/overflow@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/overflow@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: ea0b68b47a8463805361a80fd437c3c633b16fb80b91618f6d4e67b203c71f47c4789faa7109f20f3d7296cbec50c5a32b22b90001a3738e4eb98923eeb08593 + lexical: 0.15.0 + checksum: 37bdf717442b88e08d9dce23e2f38bb0f7009643a95222ddfa065201ac9afd3a7c61a8ad7c9f62a01d49d3cc9e6c4356e66b8db8dabb4e4fcf3e19d2ffe2a470 languageName: node linkType: hard -"@lexical/plain-text@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/plain-text@npm:0.14.5" +"@lexical/plain-text@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/plain-text@npm:0.15.0" dependencies: - "@lexical/clipboard": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: b0662a60bbc55824f785e0b976c6030bc60dbade1169b78a1a8d73bd3eb82e3e00e9dacefd0fb1cfe11e830a6b12fed02c8a7717e6a0b0a28c1998d21e2d5391 + "@lexical/clipboard": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 0333d0b6582614ce988ca48a33c0ed9fd9883bc635eb61f12aae8fa7711255e9d319974d4cd03e2dfa18ac60c4a364e0d0481cf6e2033865d58b818b7719fd59 languageName: node linkType: hard -"@lexical/react@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/react@npm:0.14.5" +"@lexical/react@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/react@npm:0.15.0" dependencies: - "@lexical/clipboard": 0.14.5 - "@lexical/code": 0.14.5 - "@lexical/devtools-core": 0.14.5 - "@lexical/dragon": 0.14.5 - "@lexical/hashtag": 0.14.5 - "@lexical/history": 0.14.5 - "@lexical/link": 0.14.5 - "@lexical/list": 0.14.5 - "@lexical/mark": 0.14.5 - "@lexical/markdown": 0.14.5 - "@lexical/overflow": 0.14.5 - "@lexical/plain-text": 0.14.5 - "@lexical/rich-text": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/table": 0.14.5 - "@lexical/text": 0.14.5 - "@lexical/utils": 0.14.5 - "@lexical/yjs": 0.14.5 - lexical: 0.14.5 + "@lexical/clipboard": 0.15.0 + "@lexical/code": 0.15.0 + "@lexical/devtools-core": 0.15.0 + "@lexical/dragon": 0.15.0 + "@lexical/hashtag": 0.15.0 + "@lexical/history": 0.15.0 + "@lexical/link": 0.15.0 + "@lexical/list": 0.15.0 + "@lexical/mark": 0.15.0 + "@lexical/markdown": 0.15.0 + "@lexical/overflow": 0.15.0 + "@lexical/plain-text": 0.15.0 + "@lexical/rich-text": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/table": 0.15.0 + "@lexical/text": 0.15.0 + "@lexical/utils": 0.15.0 + "@lexical/yjs": 0.15.0 + lexical: 0.15.0 react-error-boundary: ^3.1.4 peerDependencies: react: ">=17.x" react-dom: ">=17.x" - checksum: 12a297e133379f2fe47f5a2b396f17028d7cb1844a7fd1f0f2435b3f2ab1e519b45d51312ca41792c4c8f2853f236141c8a23b50241b9c57cfbeaf5d5fdf5db0 + checksum: f96dff4f8abfd5db2d596d3aefcb6f26489857a4b961ab011cb363e73697390ff289cc5d27fc4df88c128119acbdf381d54e196cc5ffd122989bf4111e8a61f8 languageName: node linkType: hard -"@lexical/rich-text@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/rich-text@npm:0.14.5" +"@lexical/rich-text@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/rich-text@npm:0.15.0" dependencies: - "@lexical/clipboard": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: 0cdaacd62b4ff86287c838826ec7a91ac8cec285a8661dc6e1817c5088816865941970a36c971514496b8d7d32078c4ceeb65c3b074c14e48697d714776c406d + "@lexical/clipboard": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: acb1f2416adbb9c336478659a28fceaf99b218e7d85cd437a09dffffd66712f6c65c57583c9fbb34ce7a406165abcc495ccf37592075a805fb6e9d4adf2c12f0 languageName: node linkType: hard -"@lexical/rich-text@patch:@lexical/rich-text@npm:0.14.5#.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": - version: 0.14.5 - resolution: "@lexical/rich-text@patch:@lexical/rich-text@npm%3A0.14.5#.yarn/patches/@lexical-rich-text-npm-0.14.5-147db14dfa.patch::version=0.14.5&hash=b571ad&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." +"@lexical/rich-text@patch:@lexical/rich-text@npm:0.15.0#.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch::locator=%40standardnotes%2Fapp-monorepo%40workspace%3A.": + version: 0.15.0 + resolution: "@lexical/rich-text@patch:@lexical/rich-text@npm%3A0.15.0#.yarn/patches/@lexical-rich-text-npm-0.15.0-fc0ae5d857.patch::version=0.15.0&hash=20d02c&locator=%40standardnotes%2Fapp-monorepo%40workspace%3A." dependencies: - "@lexical/clipboard": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: fa91d3056fcf1b1f6f51222e8b9f469d533d5885716bdbae31a1d763d27d61c41884cc0931bda440c03dc6a4c492e96047c0fde07bfb635c2a80b6a51825468b + "@lexical/clipboard": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: a836d753076a1e5c1040380d4a7c8cbf4383e31f2bb2197ff9fad069f69318de090655248bc87a02a109473fe2f08a654e496303d1bc8f631668992693730a33 languageName: node linkType: hard -"@lexical/selection@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/selection@npm:0.14.5" +"@lexical/selection@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/selection@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: eb624fd2a0bf09926a0da2e0081c5b5bc29ae8993f84c43cbf45c18daf192c27ff909278408ed622e9741fba96a2dda76bc704fbb6e923925233b198c65f9b80 + lexical: 0.15.0 + checksum: 3e25ccaf4c741af4e57a3d8ae734d59c9b2e8640152ccd3eabe0abd77c0e7b12f1a53b8d2af7d1930a340747ae1b254cad841c9f23cb58cfafc5f30a603431a0 languageName: node linkType: hard -"@lexical/table@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/table@npm:0.14.5" +"@lexical/table@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/table@npm:0.15.0" dependencies: - "@lexical/utils": 0.14.5 - lexical: 0.14.5 - checksum: a5598595efbb09d538cd233b3fd535aa4d0fe5d4a3cd91e73ebaa846793c0b4aea57f92f8e18cdeecc1fda341b55d59c6d63d095c5062cd4681da1fd43235a75 + "@lexical/utils": 0.15.0 + lexical: 0.15.0 + checksum: 030a18a8a7ab0376be9b5c4a2b8f080793d069ed5a178495a61ddbd63b055e481a375aa77bd5a65a8e2158c1a79288612960cf4a140e2ae3c0c6ec1350807a49 languageName: node linkType: hard -"@lexical/text@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/text@npm:0.14.5" +"@lexical/text@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/text@npm:0.15.0" dependencies: - lexical: 0.14.5 - checksum: aa57dac2bc521d64a7319d76e3f0e69d6f70d2f57fc0f72ed23605484e643017b40c6ec752912b1f90ac2a3fb0f059bce63d85e26118162cd263881932fec044 + lexical: 0.15.0 + checksum: 986f53a028a6cba399db98274223c028ced5300bf9ef150238f724bfdb9490e8ae654a4df1bea55aec22831af9703620441a8548f2fd1a66617aa620e8804515 languageName: node linkType: hard -"@lexical/utils@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/utils@npm:0.14.5" +"@lexical/utils@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/utils@npm:0.15.0" dependencies: - "@lexical/list": 0.14.5 - "@lexical/selection": 0.14.5 - "@lexical/table": 0.14.5 - lexical: 0.14.5 - checksum: d5646a39c3588c78fe1d59fe630cc3583041046a5aa1b79e38903afbd9dfbffdbca10c1ea94613e82ded8379cec2db3b119ef0397b1554cb9acabf1084bdf0fa + "@lexical/list": 0.15.0 + "@lexical/selection": 0.15.0 + "@lexical/table": 0.15.0 + lexical: 0.15.0 + checksum: 3992d783af1b7fca281113635c9e09b1bb064a82b372da7beeb0b8afe32a316efc6c3f9e3dacf1b379d8e242e7eeccc9f045b7d42d9ef085d0d4480537d2dfbd languageName: node linkType: hard -"@lexical/yjs@npm:0.14.5": - version: 0.14.5 - resolution: "@lexical/yjs@npm:0.14.5" +"@lexical/yjs@npm:0.15.0": + version: 0.15.0 + resolution: "@lexical/yjs@npm:0.15.0" dependencies: - "@lexical/offset": 0.14.5 - lexical: 0.14.5 + "@lexical/offset": 0.15.0 + lexical: 0.15.0 peerDependencies: yjs: ">=13.5.22" - checksum: c48406d0dd342b849d1caaf3de772cb2da6e29fea914598b11696c8b62e4f54dcd9c263af5eaa12c0b813546f5bb1690f8d362b6ed3eb515683b129d989b6e20 + checksum: 76e39e86f3c1055a5b2f2e83905c3ba5ef6a38dde67c515c25e6da174cf567742e44f33ef8f79fe551b9ff168515ae6e0a39433eb8119eece4bdc6a0796f34e7 languageName: node linkType: hard @@ -7877,13 +7877,13 @@ __metadata: "@babel/plugin-transform-react-jsx": ^7.19.0 "@babel/preset-env": "*" "@babel/preset-typescript": ^7.21.5 - "@lexical/clipboard": 0.14.5 - "@lexical/headless": 0.14.5 - "@lexical/link": 0.14.5 - "@lexical/list": 0.14.5 - "@lexical/react": 0.14.5 - "@lexical/rich-text": 0.14.5 - "@lexical/utils": 0.14.5 + "@lexical/clipboard": 0.15.0 + "@lexical/headless": 0.15.0 + "@lexical/link": 0.15.0 + "@lexical/list": 0.15.0 + "@lexical/react": 0.15.0 + "@lexical/rich-text": 0.15.0 + "@lexical/utils": 0.15.0 "@pmmmwh/react-refresh-webpack-plugin": ^0.5.10 "@radix-ui/react-slot": ^1.0.1 "@react-pdf/renderer": ^3.3.2 @@ -7935,7 +7935,7 @@ __metadata: identity-obj-proxy: ^3.0.0 jest: ^29.3.1 jest-environment-jsdom: ^29.3.1 - lexical: 0.14.5 + lexical: 0.15.0 lint-staged: ">=13" mini-css-extract-plugin: ^2.7.2 minimatch: ^5.1.1 @@ -18882,10 +18882,10 @@ __metadata: languageName: node linkType: hard -"lexical@npm:0.14.5": - version: 0.14.5 - resolution: "lexical@npm:0.14.5" - checksum: 066fbba86f78045323281861cb1a45b01b61ff6f4076c4c083b82300ace7786cb77694f88e6c91b4ecbc278a0dbab569f17e9f5ac3b03a6015c845781a0567fe +"lexical@npm:0.15.0": + version: 0.15.0 + resolution: "lexical@npm:0.15.0" + checksum: d2cb4d0c76e2a54546439fd8f7c5d0e85104c5ebbc40a3d58c9d7bd28886321493cc024914d6dc3461cfc8b97090fb7fe8c039aecd04662fbba32d17cbead08f languageName: node linkType: hard