import { useState } from 'react' import type { TouchableNativeFeedbackProps } from 'react-native' import { TouchableNativeFeedback as RNTouchableNativeFeedback } from 'react-native' import type { ComponentState } from '../../core/types' import { copyComponentProperties } from '../utils' import { useStyle } from './useStyle' export const TouchableNativeFeedback = copyComponentProperties(RNTouchableNativeFeedback, (props: TouchableNativeFeedbackProps) => { const [isPressed, setIsPressed] = useState(false) const state = { isDisabled: Boolean(props.disabled), isPressed, } satisfies ComponentState const style = useStyle(props.className, props, state) return ( { setIsPressed(true) props.onPressIn?.(event) }} onPressOut={event => { setIsPressed(false) props.onPressOut?.(event) }} /> ) }) export default TouchableNativeFeedback