import { FC, useCallback } from 'react' import { Ionicons } from '@expo/vector-icons' import { TextInput } from 'react-native-paper' import { useTheme } from '../../../../providers/native' import { withNativeController } from '../../../../utils/native' import { CloseIcon } from '../../icons' import { createStyles } from './styles' import { SearchInputProps } from './types' const SearchInput: FC = ({ placeholder, onChangeText, searchParam, resetInput, ...props }) => { const theme = useTheme() const styles = createStyles(theme) const renderSearchIcon = useCallback( () => , [theme.colors.object.disabled], ) const renderClearIcon = useCallback( () => searchParam && searchParam.length > 0 ? ( ) : null, [searchParam, theme.colors.object.disabled], ) return ( } onChangeText={onChangeText} {...props} value={searchParam ?? ''} right={ searchParam && searchParam.length ? ( ) : undefined } /> ) } export default withNativeController(SearchInput)