diff --git a/.changeset/shiny-numbers-matter.md b/.changeset/shiny-numbers-matter.md new file mode 100644 index 0000000000..858cadb432 --- /dev/null +++ b/.changeset/shiny-numbers-matter.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +Fix: Calling `ReactEditor.focus` doesn't update `useFocused` when running in @testing-library/react diff --git a/packages/slate-react/src/plugin/react-editor.ts b/packages/slate-react/src/plugin/react-editor.ts index 422b1e816d..9485e9df21 100644 --- a/packages/slate-react/src/plugin/react-editor.ts +++ b/packages/slate-react/src/plugin/react-editor.ts @@ -447,8 +447,10 @@ export const ReactEditor: ReactEditorInterface = { Transforms.select(editor, Editor.start(editor, [])) editor.onChange() } - el.focus({ preventScroll: true }) + // IS_FOCUSED should be set before calling el.focus() to ensure that + // FocusedContext is updated to the correct value IS_FOCUSED.set(editor, true) + el.focus({ preventScroll: true }) } },