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