diff --git a/.changeset/safari-delete-inlinevoid.md b/.changeset/safari-delete-inlinevoid.md new file mode 100644 index 000000000..dafc453cc --- /dev/null +++ b/.changeset/safari-delete-inlinevoid.md @@ -0,0 +1,5 @@ +--- +'slate-react': patch +--- + +Fix deletion of selected inline void nodes in Safari when presssing `backspace` or `delete`. This is a bug that [was originally fixed only for Google Chrome](https://github.com/ianstormtaylor/slate/issues/3456), but the fix also needs to be applied in Safari. diff --git a/packages/slate-react/src/components/editable.tsx b/packages/slate-react/src/components/editable.tsx index c61b8eb91..623ae44d6 100644 --- a/packages/slate-react/src/components/editable.tsx +++ b/packages/slate-react/src/components/editable.tsx @@ -1066,8 +1066,8 @@ export const Editable = (props: EditableProps) => { return } } else { - if (IS_CHROME) { - // COMPAT: Chrome supports `beforeinput` event but does not fire + if (IS_CHROME || IS_SAFARI) { + // COMPAT: Chrome and Safari support `beforeinput` event but do not fire // an event when deleting backwards in a selected void inline node if ( selection &&