{"version":3,"file":"index.cjs","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as RadixRadioGroup from '@radix-ui/react-radio-group';\nimport { useId } from 'react';\nimport { GenericLabel } from '@/components/GenericLabel';\nimport { Label } from '@/components/Label';\nimport { Error, FormElementContainer, FormRoot } from '@/components/FormContainer';\nimport { cn, cva } from '@/lib/cva';\nimport type { RadioGroupItemProps, RadioGroupProps } from './RadioGroup.types';\nimport styles from './RadioGroup.module.css';\n\nconst radioGroupVariants = cva(styles['radio-group'], {\n  variants: {\n    inline: {\n      true: styles['radio-group_inline'],\n      false: styles['radio-group_inline_false'],\n    },\n    error: {\n      true: styles['radio-group_error'],\n      false: '',\n    },\n  },\n  defaultVariants: {\n    inline: true,\n    error: false,\n  },\n});\n\nexport const RadioGroup = ({\n  children,\n  inline,\n  orientation,\n  dir,\n  error,\n  itemDir,\n  label,\n  disabled,\n  id,\n  className,\n  ...props\n}: RadioGroupProps) => {\n  return (\n    <FormRoot\n      $orientation={orientation}\n      $dir={dir}\n      $addLabelPadding\n    >\n      <FormElementContainer>\n        <RadixRadioGroup.Root\n          orientation={inline ? 'horizontal' : 'vertical'}\n          disabled={disabled}\n          id={id}\n          dir={itemDir}\n          {...props}\n          className={cn(\n            radioGroupVariants({\n              inline: inline === false ? false : true,\n              error: !!error,\n            }),\n            className\n          )}\n        >\n          {children}\n        </RadixRadioGroup.Root>\n        {!!error && error !== true && <Error>{error}</Error>}\n      </FormElementContainer>\n      {label && (\n        <Label\n          htmlFor={id}\n          disabled={disabled}\n          error={!!error}\n        >\n          {label}\n        </Label>\n      )}\n    </FormRoot>\n  );\n};\n\nconst RadioGroupItem = ({\n  id,\n  label,\n  value,\n  disabled,\n  required,\n  className,\n  ...props\n}: RadioGroupItemProps) => {\n  const defaultId = useId();\n  return (\n    <FormRoot\n      $orientation=\"horizontal\"\n      $dir=\"end\"\n      $addLabelPadding={false}\n      {...props}\n      className={cn(styles.item, className)}\n    >\n      <RadixRadioGroup.Item\n        value={value}\n        id={id ?? defaultId}\n        disabled={disabled}\n        required={required}\n        aria-label={`${label}`}\n        className={styles['radio-input']}\n      >\n        <RadixRadioGroup.Indicator className={styles['radio-indicator']} />\n      </RadixRadioGroup.Item>\n      {label && (\n        <GenericLabel\n          htmlFor={id ?? defaultId}\n          disabled={disabled}\n        >\n          {label}\n        </GenericLabel>\n      )}\n    </FormRoot>\n  );\n};\n\nRadioGroupItem.displayName = 'RadioGroupItem';\nRadioGroup.Item = RadioGroupItem;\n"],"names":["cva","styles","jsxs","FormRoot","FormElementContainer","jsx","RadixRadioGroup","cn","Error","Label","useId","GenericLabel"],"mappings":"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"}