fix losing text selection when using focus on Android (#4448)

This commit is contained in:
Duc Nguyen 2024-11-30 21:36:09 +08:00 committed by GitHub
parent 425332eea9
commit 8b05853d9a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,7 +1,6 @@
import { isTextSelection } from '../helpers/isTextSelection.js'
import { resolveFocusPosition } from '../helpers/resolveFocusPosition.js'
import { FocusPosition, RawCommands } from '../types.js'
import { isiOS } from '../utilities/isiOS.js'
declare module '@tiptap/core' {
interface Commands<ReturnType> {
@ -43,11 +42,7 @@ export const focus: RawCommands['focus'] = (position = null, options = {}) => ({
}
const delayedFocus = () => {
// focus within `requestAnimationFrame` breaks focus on iOS
// so we have to call this
if (isiOS()) {
(view.dom as HTMLElement).focus()
}
(view.dom as HTMLElement).focus()
// For React we have to focus asynchronously. Otherwise wild things happen.
// see: https://github.com/ueberdosis/tiptap/issues/1520