diff --git a/packages/ui/src/DropdownMenu/DropdownMenu.tsx b/packages/ui/src/DropdownMenu/DropdownMenu.tsx index ed5fdc7..2d7b99e 100644 --- a/packages/ui/src/DropdownMenu/DropdownMenu.tsx +++ b/packages/ui/src/DropdownMenu/DropdownMenu.tsx @@ -186,8 +186,12 @@ export const DropdownMenu = forwardRef( if (!isOpen || !triggerRef.current || !contentRef.current) return; const updatePosition = () => { - const triggerRect = triggerRef.current?.getBoundingClientRect(); - const contentRect = contentRef.current?.getBoundingClientRect(); + const triggerElement = triggerRef.current; + const contentElement = contentRef.current; + if (!triggerElement || !contentElement) return; + + const triggerRect = triggerElement.getBoundingClientRect(); + const contentRect = contentElement.getBoundingClientRect(); const newPosition = calculatePosition(triggerRect, contentRect, placement, offset); setPosition(newPosition); }; diff --git a/packages/ui/src/Popover/Popover.tsx b/packages/ui/src/Popover/Popover.tsx index 6499f62..bc5e3bf 100644 --- a/packages/ui/src/Popover/Popover.tsx +++ b/packages/ui/src/Popover/Popover.tsx @@ -191,8 +191,12 @@ export const Popover = forwardRef( if (!isOpen || !triggerRef.current || !contentRef.current) return; const updatePosition = () => { - const triggerRect = triggerRef.current?.getBoundingClientRect(); - const contentRect = contentRef.current?.getBoundingClientRect(); + const triggerElement = triggerRef.current; + const contentElement = contentRef.current; + if (!triggerElement || !contentElement) return; + + const triggerRect = triggerElement.getBoundingClientRect(); + const contentRect = contentElement.getBoundingClientRect(); const newPosition = calculatePosition(triggerRect, contentRect, placement, offset); setPosition(newPosition); }; diff --git a/packages/ui/src/Tooltip/Tooltip.tsx b/packages/ui/src/Tooltip/Tooltip.tsx index 59b324a..584d331 100644 --- a/packages/ui/src/Tooltip/Tooltip.tsx +++ b/packages/ui/src/Tooltip/Tooltip.tsx @@ -176,8 +176,12 @@ export const Tooltip = forwardRef( if (!isOpen || !triggerRef.current || !contentRef.current) return; const updatePosition = () => { - const triggerRect = triggerRef.current?.getBoundingClientRect(); - const contentRect = contentRef.current?.getBoundingClientRect(); + const triggerElement = triggerRef.current; + const contentElement = contentRef.current; + if (!triggerElement || !contentElement) return; + + const triggerRect = triggerElement.getBoundingClientRect(); + const contentRect = contentElement.getBoundingClientRect(); const newPosition = calculatePosition(triggerRect, contentRect, placement, offset); setPosition(newPosition); };