import React from 'react'; import { View, Text, TouchableOpacity, TouchableOpacityProps, } from 'react-native'; import { RadioButton } from './RadioButton'; import EditIcon from '../icons/edit.svg'; import { classNames } from '../utils'; export interface LargeSelectorProps extends TouchableOpacityProps { id: string; title: string; description?: string; subtitle?: string; additionalDescription?: string; editable?: boolean; isSelected: boolean; onSelect: (id: string | number) => void; onEdit: (id: string | number) => void; accessoryLeft?: | React.ReactElement | (() => React.ReactElement) | React.ReactNode; className?: string; } export const LargeSelector: React.FC = ({ id, title, description, subtitle, additionalDescription, editable, isSelected, onSelect, onEdit, accessoryLeft, className, ...restOfProps }) => { const handleOnSelect = () => { onSelect(id); }; const handleOnEdit = () => { onEdit(id); }; return ( {accessoryLeft && ( {typeof accessoryLeft === 'function' ? accessoryLeft() : accessoryLeft} )} {title} {subtitle} {description && ( {description} )} {additionalDescription && ( {additionalDescription} )} {editable && ( )} ); };