From 8f6e20418a2e714e5e6c2f71a15a34de9b47b7b2 Mon Sep 17 00:00:00 2001 From: msc117 Date: Mon, 28 Sep 2020 12:47:07 -0700 Subject: [PATCH] fix(react-editor): text node spacer can be non-existant if editor is in readonly mode --- packages/slate-react/src/plugin/react-editor.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/slate-react/src/plugin/react-editor.ts b/packages/slate-react/src/plugin/react-editor.ts index 4f26981e4..9bc726fa3 100644 --- a/packages/slate-react/src/plugin/react-editor.ts +++ b/packages/slate-react/src/plugin/react-editor.ts @@ -435,9 +435,13 @@ export const ReactEditor = { // ancestor, so find it by going down from the nearest void parent. leafNode = voidNode.querySelector('[data-slate-leaf]')! - textNode = leafNode.closest('[data-slate-node="text"]')! - domNode = leafNode - offset = domNode.textContent!.length + if (!leafNode) { + offset = 1 + } else { + textNode = leafNode.closest('[data-slate-node="text"]')! + domNode = leafNode + offset = domNode.textContent!.length + } } // COMPAT: If the parent node is a Slate zero-width space, editor is