diff --git a/packages/views/editor/bubble-menu.tsx b/packages/views/editor/bubble-menu.tsx index 384c486f3..e7aa81ae5 100644 --- a/packages/views/editor/bubble-menu.tsx +++ b/packages/views/editor/bubble-menu.tsx @@ -359,6 +359,7 @@ function ListDropdown({ editor, onOpenChange, isBullet, isOrdered }: { editor: E function EditorBubbleMenu({ editor }: { editor: Editor }) { const [mode, setMode] = useState<"toolbar" | "link-edit">("toolbar"); const [scrollTarget, setScrollTarget] = useState(window); + const menuElRef = useRef(null); // Precise subscription to formatting state — only re-renders when these // values actually change, replacing direct editor.isActive() calls that @@ -456,6 +457,7 @@ function EditorBubbleMenu({ editor }: { editor: Editor }) { return ( { + if (menuElRef.current) { + menuElRef.current.style.position = "fixed"; + } + }, }} > {mode === "link-edit" ? (