import { RadioGroup } from "@headlessui/react"; import { ReactNode } from "react"; import clsx from "../../../utils/shared/ClassesUtils"; interface Props { name?: string; title?: string; options: { name: string | ReactNode; value: string | number | undefined; disabled?: boolean }[]; value?: string | number | undefined; setValue?: React.Dispatch>; className?: string; required?: boolean; disabled?: boolean; } export default function InputRadioGroup({ name, title, value, options, setValue, className, required, disabled }: Props) { return (
(setValue ? setValue(e) : {})} className="mt-1"> {title}
{options.map((option, idx) => ( clsx( "w-auto sm:w-1/2", !option.disabled && !disabled ? "cursor-pointer focus:outline-none " : "cursor-not-allowed opacity-25", active ? "ring-2 ring-accent-500 focus:ring-accent-300" : "", checked ? "border-transparent bg-theme-800 text-white hover:bg-theme-900 hover:text-accent-100" : "border-gray-200 bg-white text-gray-900 hover:bg-gray-50", "flex items-center justify-center rounded-md border py-2 px-3 text-sm font-medium uppercase sm:flex-1" ) } disabled={option.disabled} > {option.name} ))}
); }