import React, { memo, forwardRef } from 'react'; import { AlertDialogContext } from './Context'; import { usePropsResolution } from '../../../hooks'; import { Pressable } from '../../primitives/Pressable'; import { CloseIcon } from '../../primitives/Icon/Icons'; import type { IButtonProps } from '../../primitives/Button'; import { useHasResponsiveProps } from '../../../hooks/useHasResponsiveProps'; import { useHover, useFocus, useIsPressed, } from '../../primitives/Pressable/Pressable'; import { composeEventHandlers } from '../../../utils'; import { useFocusRing } from '@react-native-aria/focus'; const AlertDialogCloseButton = (props: IButtonProps, ref?: any) => { const { hoverProps, isHovered } = useHover(); const { pressableProps, isPressed } = useIsPressed(); const { focusProps, isFocused } = useFocus(); const { isFocusVisible, focusProps: focusRingProps }: any = useFocusRing(); const { _icon, onPressIn, onPressOut, onHoverIn, onHoverOut, onFocus, onBlur, ...rest } = usePropsResolution('AlertDialogCloseButton', props, { isHovered, isPressed, isFocused, isFocusVisible, }); const { handleClose } = React.useContext(AlertDialogContext); //TODO: refactor for responsive prop if (useHasResponsiveProps(props)) { return null; } return ( ); }; export default memo(forwardRef(AlertDialogCloseButton));