From 33be22f3e3a0321ded199b13c0d97ae577c6b941 Mon Sep 17 00:00:00 2001 From: Andrew Herron Date: Wed, 2 Mar 2022 15:47:00 +1000 Subject: [PATCH] Reverted 03861af (#4804) and added a test for the exception it caused (#4858) --- .changeset/purple-walls-kiss.md | 5 ++++ packages/slate/src/transforms/text.ts | 3 +-- .../insertText/selection/block-across.tsx | 26 +++++++++++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 .changeset/purple-walls-kiss.md create mode 100644 packages/slate/test/transforms/insertText/selection/block-across.tsx 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 + + +)