diff --git a/packages/slate-react/src/utils/get-event-range.js b/packages/slate-react/src/utils/get-event-range.js index cc23c9472..5126e9344 100644 --- a/packages/slate-react/src/utils/get-event-range.js +++ b/packages/slate-react/src/utils/get-event-range.js @@ -36,9 +36,17 @@ function getEventRange(event, value) { const text = node.getFirstText() const range = Range.create() - return isPrevious - ? range.moveToEndOf(document.getPreviousText(text.key)) - : range.moveToStartOf(document.getNextText(text.key)) + + if (isPrevious) { + const previousText = document.getPreviousText(text.key) + + if (previousText) { + return range.moveToEndOf(previousText) + } + } + + const nextText = document.getNextText(text.key) + return nextText ? range.moveToStartOf(nextText) : null } // Else resolve a range from the caret position where the drop occured.