import { forwardRef, useCallback } from 'react'; import { PopoverTriggerProps } from './Popover.type'; import { Button } from '..'; import { usePopoverContext } from './Popover.context'; export const PopoverTrigger = forwardRef((props, ref) => { const { children, onClick, ...otherProps } = props; const { isOpen, openPopover, closePopover, triggerProps } = usePopoverContext(); const clickHandler = useCallback( (event: React.MouseEvent) => { isOpen ? closePopover() : openPopover(); if (onClick) onClick(event); }, [isOpen, closePopover, openPopover, onClick] ); return ( ); }); PopoverTrigger.displayName = 'Popover.Trigger';