import { RadioGroup } from '@headlessui/react' import clsx from 'clsx' import React from 'react' export function ChoicesToggleGroup(props: { currentChoice: number | string choicesMap: { [key: string]: string | number } isSubmitting?: boolean setChoice: (p: number | string) => void className?: string children?: React.ReactNode }) { const { currentChoice, setChoice, isSubmitting, choicesMap, className, children, } = props return ( null} > {Object.keys(choicesMap).map((choiceKey) => ( setChoice(choicesMap[choiceKey])} className={({ active }) => clsx( active ? 'ring-2 ring-indigo-500 ring-offset-2' : '', currentChoice === choicesMap[choiceKey] ? 'border-transparent bg-indigo-500 text-white hover:bg-indigo-600' : 'border-gray-200 bg-white text-gray-900 hover:bg-gray-50', 'flex cursor-pointer items-center justify-center rounded-md border py-3 px-3 text-sm font-medium normal-case', "hover:ring-offset-2' hover:ring-2 hover:ring-indigo-500", className ) } disabled={isSubmitting} > {choiceKey} ))} {children} ) }