import { View, Text, TouchableOpacity } from 'react-native'; import React, { ReactElement } from 'react'; import Close from '../icons/close.svg'; import { classNames } from '../utils'; import { ViewProps } from 'react-native'; export enum TagVariant { PRIMARY = 'PRIMARY', SECONDARY = 'SECONDARY', TERTIARY = 'TERTIARY', } export interface TagProps extends ViewProps { variant?: TagVariant; label: string; accessoryLeft?: ReactElement | (() => ReactElement); isRemoveable?: boolean; textColor?: string; onRemove?: () => void; className?: string; } export const Tag: React.FC = ({ variant = TagVariant.PRIMARY, label, textColor, accessoryLeft, isRemoveable, onRemove, className, ...restOfProps }) => { return ( {accessoryLeft && ( {typeof accessoryLeft === 'function' ? accessoryLeft() : accessoryLeft} )} {label} {isRemoveable && onRemove && ( )} ); };