diff --git a/.changeset/purple-walls-kiss.md b/.changeset/purple-walls-kiss.md new file mode 100644 index 000000000..7c09ab93d --- /dev/null +++ b/.changeset/purple-walls-kiss.md @@ -0,0 +1,5 @@ +--- +'slate': patch +--- + +Reverted #4804 as it triggered an exception when inserting text with multi-block selection diff --git a/packages/slate/src/transforms/text.ts b/packages/slate/src/transforms/text.ts index 2fc90dbea..4e587a437 100644 --- a/packages/slate/src/transforms/text.ts +++ b/packages/slate/src/transforms/text.ts @@ -487,8 +487,7 @@ export const TextTransforms: TextTransforms = { if (!voids && Editor.void(editor, { at: end })) { return } - const start = Range.start(at) - const pointRef = Editor.pointRef(editor, start) + const pointRef = Editor.pointRef(editor, end) Transforms.delete(editor, { at, voids }) at = pointRef.unref()! Transforms.setSelection(editor, { anchor: at, focus: at }) diff --git a/packages/slate/test/transforms/insertText/selection/block-across.tsx b/packages/slate/test/transforms/insertText/selection/block-across.tsx new file mode 100644 index 000000000..7d4da232f --- /dev/null +++ b/packages/slate/test/transforms/insertText/selection/block-across.tsx @@ -0,0 +1,26 @@ +/** @jsx jsx */ +import { Transforms } from 'slate' +import { jsx } from '../../..' + +export const run = editor => { + Transforms.insertText(editor, 'a') +} +export const input = ( + + + + first paragraph + + + second + paragraph + + +) +export const output = ( + + + a paragraph + + +)