import React, { forwardRef, useContext } from 'react'; import { AccordionItemContext } from './Context'; import { useHover, usePress } from '@react-native-aria/interactions'; import { useFocusRing, useFocus } from '@react-native-aria/focus'; import { composeEventHandlers } from '@gluestack-ui/utils'; import { Platform } from 'react-native'; export const AccordionTrigger = (StyledAccordionTrigger: any) => forwardRef( ( { children, isHovered: isHoveredProp, isFocused: isFocusedProp, isPressed: isPressedProp, isFocusVisible: isFocusVisibleProp, ...props }: any, ref?: any ) => { const { titleText } = useContext(AccordionItemContext); const { isDisabled, buttonProps, isExpanded } = useContext(AccordionItemContext); const { pressProps, isPressed } = usePress({ isDisabled: isDisabled, }); const { isHovered, hoverProps }: any = useHover(); const { isFocusVisible, focusProps: focusRingProps }: any = useFocusRing(); const { isFocused, focusProps } = useFocus(); return ( {typeof children === 'function' ? children({ hovered: isHovered, focused: isFocused, pressed: isPressed, disabled: isDisabled, focusVisible: isFocusVisible, isExpanded: isExpanded, }) : children} ); } );