import React, { forwardRef } from 'react'; import { usePress, useHover } from '@react-native-aria/interactions'; import { useFocusRing, useFocus } from '@react-native-aria/focus'; import { composeEventHandlers } from '@gluestack-ui/utils'; import { usePopoverContent } from './PopoverContext'; const PopoverCloseButton = (StyledPopoverCloseButton: any) => forwardRef( ( { children, isDisabled, isHovered: isHoveredProp, isPressed: isPressedProp, isFocused: isFocusedProp, isFocusVisible: isFocusVisibleProp, ...props }: any, ref?: any ) => { const { value } = usePopoverContent('PopoverContext'); const { handleClose } = value; const { hoverProps, isHovered } = useHover(); const { pressProps, isPressed } = usePress({ isDisabled }); const { focusProps, isFocused } = useFocus(); const { isFocusVisible, focusProps: focusRingProps }: any = useFocusRing(); const { onPressIn, onPressOut, onHoverIn, onHoverOut, onFocus, onBlur, ...resolvedProps } = props; return ( { handleClose(); }} {...resolvedProps} > {children} ); } ); export default PopoverCloseButton;