From 07f59e36071bae2b9c09b787f1dd514c6bf859a4 Mon Sep 17 00:00:00 2001 From: Tima Gixe <60817786+timagixe@users.noreply.github.com> Date: Thu, 30 Nov 2023 18:11:49 +0200 Subject: [PATCH] Adjust cursor position when on selection collapse for RTL direction (#5567) * fix: adjust edge on collapse RTL selection * style: fix linting issue * chore: add changeset --- .changeset/unlucky-paws-allow.md | 5 +++++ packages/slate-react/src/components/editable.tsx | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 .changeset/unlucky-paws-allow.md diff --git a/.changeset/unlucky-paws-allow.md b/.changeset/unlucky-paws-allow.md new file mode 100644 index 000000000..1b06c0a25 --- /dev/null +++ b/.changeset/unlucky-paws-allow.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +Fix cursor position on selection collapse for RTL direction diff --git a/packages/slate-react/src/components/editable.tsx b/packages/slate-react/src/components/editable.tsx index b2cae4d98..9a3939f6f 100644 --- a/packages/slate-react/src/components/editable.tsx +++ b/packages/slate-react/src/components/editable.tsx @@ -1501,7 +1501,9 @@ export const Editable = (props: EditableProps) => { if (selection && Range.isCollapsed(selection)) { Transforms.move(editor, { reverse: !isRTL }) } else { - Transforms.collapse(editor, { edge: 'start' }) + Transforms.collapse(editor, { + edge: isRTL ? 'end' : 'start', + }) } return @@ -1513,7 +1515,9 @@ export const Editable = (props: EditableProps) => { if (selection && Range.isCollapsed(selection)) { Transforms.move(editor, { reverse: isRTL }) } else { - Transforms.collapse(editor, { edge: 'end' }) + Transforms.collapse(editor, { + edge: isRTL ? 'start' : 'end', + }) } return