import React from 'react'; import { StyleSheet, Text, TextInput as RNTextInput, TextInputProps, View } from 'react-native'; import Touchable from 'react-native-platform-touchable'; import { themes } from '../constants/colors'; import I18n from '../i18n'; import { CustomIcon } from '../lib/Icons'; import TextInput from '../presentation/TextInput'; import { useTheme } from '../theme'; import { isIOS } from '../utils/deviceInfo'; import sharedStyles from '../views/Styles'; const styles = StyleSheet.create({ container: { flexDirection: 'row', alignItems: 'center', flex: 1 }, searchBox: { alignItems: 'center', borderRadius: 10, flexDirection: 'row', fontSize: 17, height: 36, margin: 16, marginVertical: 10, paddingHorizontal: 10, flex: 1 }, input: { flex: 1, fontSize: 17, marginLeft: 8, paddingTop: 0, paddingBottom: 0, ...sharedStyles.textRegular }, cancel: { marginRight: 15 }, cancelText: { ...sharedStyles.textRegular, fontSize: 17 } }); interface ISearchBox extends TextInputProps { value?: string; hasCancel?: boolean; onCancelPress?: () => void; inputRef?: React.Ref; } const CancelButton = ({ onCancelPress }: { onCancelPress?: () => void }) => { const { theme } = useTheme(); return ( {I18n.t('Cancel')} ); }; const SearchBox = ({ hasCancel, onCancelPress, inputRef, ...props }: ISearchBox): React.ReactElement => { const { theme } = useTheme(); return ( {hasCancel && onCancelPress ? : null} ); }; export default SearchBox;