import { CheckboxCard as ChakraCheckboxCard } from '@chakra-ui/react'; import * as React from 'react'; export interface CheckboxCardProps extends ChakraCheckboxCard.RootProps { icon?: React.ReactElement; label?: React.ReactNode; description?: React.ReactNode; addon?: React.ReactNode; indicator?: React.ReactNode | null; indicatorPlacement?: 'start' | 'end' | 'inside'; inputProps?: React.InputHTMLAttributes; } export const CheckboxCard = React.forwardRef(function CheckboxCard(props, ref) { const { inputProps, label, description, icon, addon, indicator = , indicatorPlacement = 'end', ...rest } = props; const hasContent = label || description || icon; const ContentWrapper = indicator ? ChakraCheckboxCard.Content : React.Fragment; return ( {indicatorPlacement === 'start' && indicator} {hasContent && ( {icon} {label && {label}} {description && {description}} {indicatorPlacement === 'inside' && indicator} )} {indicatorPlacement === 'end' && indicator} {addon && {addon}} ); }); export const CheckboxCardIndicator = ChakraCheckboxCard.Indicator;