{"version":3,"sources":["../src/form/radio-button/radio-group.tsx"],"sourcesContent":["import {\n  type ChangeEventHandler,\n  createContext,\n  forwardRef,\n  type ReactNode,\n  useContext,\n} from \"react\";\nimport { Fieldset, type FieldsetProps } from \"../fieldset\";\nimport type { RadioButtonProps } from \"./radio-button\";\n\nexport interface RadioGroupProps extends Omit<FieldsetProps, \"onChange\"> {\n  children: ReactNode;\n  /** Will be passed to all Radio buttons within the radio group */\n  name?: RadioButtonProps[\"name\"];\n  /** If you want the group to be controlled, you can pass the selected value here */\n  value?: RadioButtonProps[\"value\"];\n  /**\n   * Error message is passed to the internal Fieldset, and will also give contained Radio buttons\n   * error styling and aria to indicate invalid state.\n   */\n  errorMessage?: ReactNode;\n  /** Will be passed to all Radio buttons within the radio group */\n  onChange?: ChangeEventHandler<HTMLInputElement> | undefined;\n}\n\ntype RadioGroupContextProps = {\n  hasError: boolean;\n} & Pick<RadioGroupProps, \"name\" | \"value\" | \"onChange\">;\n\nconst RadioGroupContext = createContext<RadioGroupContextProps>({\n  name: undefined,\n  hasError: false,\n  onChange: () => {\n    return undefined;\n  },\n});\n\nexport const useRadioGroupContext = () => useContext(RadioGroupContext);\n\nexport const RadioGroup = forwardRef<HTMLFieldSetElement, RadioGroupProps>(function RadioGroup(\n  { name, value, errorMessage, onChange, children, ...rest },\n  ref,\n) {\n  return (\n    <RadioGroupContext.Provider value={{ name, value, hasError: Boolean(errorMessage), onChange }}>\n      <Fieldset errorMessage={errorMessage} {...rest} ref={ref}>\n        {children}\n      </Fieldset>\n    </RadioGroupContext.Provider>\n  );\n});\n\nRadioGroup.displayName = \"RadioGroup\";\n"],"mappings":";;;;;;;;;;AAAA;AAAA,EAEE;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAuCD;AAhBN,IAAM,oBAAoB,cAAsC;AAAA,EAC9D,MAAM;AAAA,EACN,UAAU;AAAA,EACV,UAAU,MAAM;AACd,WAAO;AAAA,EACT;AACF,CAAC;AAEM,IAAM,uBAAuB,MAAM,WAAW,iBAAiB;AAE/D,IAAM,aAAa,WAAiD,SAASA,YAClF,IACA,KACA;AAFA,eAAE,QAAM,OAAO,cAAc,UAAU,SAxCzC,IAwCE,IAAoD,iBAApD,IAAoD,CAAlD,QAAM,SAAO,gBAAc,YAAU;AAGvC,SACE,oBAAC,kBAAkB,UAAlB,EAA2B,OAAO,EAAE,MAAM,OAAO,UAAU,QAAQ,YAAY,GAAG,SAAS,GAC1F,8BAAC,yCAAS,gBAAgC,OAAzC,EAA+C,KAC7C,WACH,GACF;AAEJ,CAAC;AAED,WAAW,cAAc;","names":["RadioGroup"]}