1fe32deaaS猫头猫import React, {ReactNode} from 'react'; 2fe32deaaS猫头猫import {Pressable, StyleProp, StyleSheet, ViewStyle} from 'react-native'; 3fe32deaaS猫头猫import rpx from '@/utils/rpx'; 4fe32deaaS猫头猫import ThemeText from './themeText'; 5fe32deaaS猫头猫import useColors from '@/hooks/useColors'; 6fe32deaaS猫头猫import IconButton from './iconButton'; 7fe32deaaS猫头猫 8fe32deaaS猫头猫interface IChipProps { 9fe32deaaS猫头猫 containerStyle?: StyleProp<ViewStyle>; 10fe32deaaS猫头猫 children?: ReactNode; 11fe32deaaS猫头猫 onPress?: () => void; 12fe32deaaS猫头猫 onClose?: () => void; 13fe32deaaS猫头猫} 14fe32deaaS猫头猫export default function Chip(props: IChipProps) { 15fe32deaaS猫头猫 const {containerStyle, children, onPress, onClose} = props; 16fe32deaaS猫头猫 const colors = useColors(); 17fe32deaaS猫头猫 18fe32deaaS猫头猫 return ( 19fe32deaaS猫头猫 <Pressable 20fe32deaaS猫头猫 onPress={onPress} 21fe32deaaS猫头猫 style={[ 22fe32deaaS猫头猫 styles.container, 23fe32deaaS猫头猫 { 24fe32deaaS猫头猫 backgroundColor: colors.placeholder, 25fe32deaaS猫头猫 }, 26fe32deaaS猫头猫 containerStyle, 27fe32deaaS猫头猫 ]}> 28fe32deaaS猫头猫 {typeof children === 'string' ? ( 2948036ddaS猫头猫 <ThemeText fontSize="subTitle" numberOfLines={1}> 3048036ddaS猫头猫 {children} 3148036ddaS猫头猫 </ThemeText> 32fe32deaaS猫头猫 ) : ( 33fe32deaaS猫头猫 children 34fe32deaaS猫头猫 )} 35fe32deaaS猫头猫 <IconButton 36fe32deaaS猫头猫 onPress={onClose} 37*5589cdf3S猫头猫 name="x-mark" 38fe32deaaS猫头猫 sizeType="small" 39fe32deaaS猫头猫 style={styles.icon} 40fe32deaaS猫头猫 /> 41fe32deaaS猫头猫 </Pressable> 42fe32deaaS猫头猫 ); 43fe32deaaS猫头猫} 44fe32deaaS猫头猫 45fe32deaaS猫头猫const styles = StyleSheet.create({ 46fe32deaaS猫头猫 container: { 47fe32deaaS猫头猫 height: rpx(56), 48fe32deaaS猫头猫 paddingHorizontal: rpx(18), 49fe32deaaS猫头猫 borderRadius: rpx(28), 50fe32deaaS猫头猫 flexDirection: 'row', 51fe32deaaS猫头猫 alignItems: 'center', 52fe32deaaS猫头猫 justifyContent: 'center', 53fe32deaaS猫头猫 }, 54fe32deaaS猫头猫 icon: { 55fe32deaaS猫头猫 marginLeft: rpx(8), 56fe32deaaS猫头猫 }, 57fe32deaaS猫头猫}); 58