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< HTMLInputElement, CheckboxCardProps >(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;