diff --git a/packages/extension-bubble-menu/src/bubble-menu-plugin.ts b/packages/extension-bubble-menu/src/bubble-menu-plugin.ts index 7be1f810b..a0e25157d 100644 --- a/packages/extension-bubble-menu/src/bubble-menu-plugin.ts +++ b/packages/extension-bubble-menu/src/bubble-menu-plugin.ts @@ -139,6 +139,13 @@ export class BubbleMenuView { hideOnClick: 'toggle', ...this.tippyOptions, }) + + // maybe we have to hide tippy on its own blur event as well + if (this.tippy.popper.firstChild) { + (this.tippy.popper.firstChild as HTMLElement).addEventListener('blur', event => { + this.blurHandler({ event }) + }) + } } update(view: EditorView, oldState?: EditorState) { diff --git a/packages/extension-floating-menu/src/floating-menu-plugin.ts b/packages/extension-floating-menu/src/floating-menu-plugin.ts index d1503f9be..4ab1b0b83 100644 --- a/packages/extension-floating-menu/src/floating-menu-plugin.ts +++ b/packages/extension-floating-menu/src/floating-menu-plugin.ts @@ -121,6 +121,13 @@ export class FloatingMenuView { hideOnClick: 'toggle', ...this.tippyOptions, }) + + // maybe we have to hide tippy on its own blur event as well + if (this.tippy.popper.firstChild) { + (this.tippy.popper.firstChild as HTMLElement).addEventListener('blur', event => { + this.blurHandler({ event }) + }) + } } update(view: EditorView, oldState?: EditorState) {