{"version":3,"file":"radio-card-group.cjs","names":["component","useRootComponentProps","useRadioGroup","rest","RadioCardRoot","value","RadioCardPropsContext","RadioGroupContext","Group"],"sources":["../../../../src/components/radio-card/radio-card-group.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement } from \"react\"\nimport type {\n  GenericsComponent,\n  ThemeProps,\n  WithoutThemeProps,\n} from \"../../core\"\nimport type { GroupProps } from \"../group\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UseRadioGroupProps } from \"../radio\"\nimport type { RadioCardRootProps } from \"./radio-card\"\nimport type { RadioCardStyle } from \"./radio-card.style\"\nimport { useMemo } from \"react\"\nimport { Group } from \"../group\"\nimport { RadioGroupContext, useRadioGroup } from \"../radio\"\nimport {\n  component,\n  RadioCardPropsContext,\n  RadioCardRoot,\n  useRootComponentProps,\n} from \"./radio-card\"\n\nexport interface RadioCardGroupItem<Y extends string = string>\n  extends RadioCardRootProps<Y> {}\n\nexport interface RadioCardGroupRootProps<Y extends string = string>\n  extends Omit<\n      WithoutThemeProps<GroupProps, RadioCardStyle>,\n      \"defaultValue\" | \"onChange\" | \"value\"\n    >,\n    ThemeProps<RadioCardStyle>,\n    UseRadioGroupProps<Y>,\n    UseInputBorderProps,\n    Pick<RadioCardRootProps, \"withIndicator\"> {\n  /**\n   * If provided, generate options based on items.\n   *\n   * @default []\n   */\n  items?: RadioCardGroupItem<Y>[]\n}\n\n/**\n * `RadioCardGroup` is a component that groups `RadioCard` components.\n *\n * @see https://yamada-ui.com/docs/components/radio-card\n */\nexport const RadioCardGroupRoot = component<\"div\", RadioCardGroupRootProps>(\n  (props) => {\n    const [\n      ,\n      {\n        colorScheme,\n        size,\n        variant,\n        children,\n        disabled,\n        errorBorderColor,\n        focusBorderColor,\n        invalid,\n        items = [],\n        justify,\n        readOnly,\n        shape,\n        withIndicator,\n        ...rest\n      },\n    ] = useRootComponentProps(props, \"group\", {\n      transferProps: [\n        \"variant\",\n        \"colorScheme\",\n        \"size\",\n        \"shape\",\n        \"justify\",\n        \"withIndicator\",\n      ],\n    })\n    const {\n      name,\n      value,\n      getInputProps,\n      getLabelProps,\n      getRootProps,\n      onChange,\n    } = useRadioGroup(rest)\n    const computedChildren = useMemo(() => {\n      if (children) return children\n\n      return items.map(({ value, ...rest }, index) => (\n        <RadioCardRoot key={value ?? index} value={value} {...rest} />\n      ))\n    }, [items, children])\n    const context = useMemo(\n      () => ({\n        colorScheme,\n        size,\n        variant,\n        disabled,\n        errorBorderColor,\n        focusBorderColor,\n        invalid,\n        justify,\n        readOnly,\n        shape,\n        withIndicator,\n      }),\n      [\n        colorScheme,\n        size,\n        variant,\n        disabled,\n        justify,\n        withIndicator,\n        errorBorderColor,\n        focusBorderColor,\n        invalid,\n        readOnly,\n        shape,\n      ],\n    )\n    const groupContext = useMemo(\n      () => ({ name, value, getInputProps, getLabelProps, onChange }),\n      [name, value, getInputProps, getLabelProps, onChange],\n    )\n\n    return (\n      <RadioCardPropsContext value={context}>\n        <RadioGroupContext value={groupContext}>\n          <Group {...getRootProps()}>{computedChildren}</Group>\n        </RadioGroupContext>\n      </RadioCardPropsContext>\n    )\n  },\n  \"group\",\n)() as GenericsComponent<{\n  <Y extends string = string>(props: RadioCardGroupRootProps<Y>): ReactElement\n}>\n\nexport { RadioCardRoot as RadioCardGroupItem }\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgDA,MAAa,qBAAqBA,8BAC/B,UAAU;CACT,MAAM,GAEJ,EACE,aACA,MACA,SACA,UACA,UACA,kBACA,kBACA,SACA,QAAQ,EAAE,EACV,SACA,UACA,OACA,cACA,GAAG,UAEHC,yCAAsB,OAAO,SAAS,EACxC,eAAe;EACb;EACA;EACA;EACA;EACA;EACA;EACD,EACF,CAAC;CACF,MAAM,EACJ,MACA,OACA,eACA,eACA,cACA,aACEC,sCAAc,KAAK;CACvB,MAAM,4CAAiC;AACrC,MAAI,SAAU,QAAO;AAErB,SAAO,MAAM,KAAK,EAAE,eAAO,GAAGC,UAAQ,UACpC,2CAACC;GAAmC,OAAOC;GAAO,GAAIF;KAAlCE,WAAS,MAAiC,CAC9D;IACD,CAAC,OAAO,SAAS,CAAC;AAkCrB,QACE,2CAACC;EAAsB,iCAjChB;GACL;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;YAQG,2CAACC;GAAkB,iCANd;IAAE;IAAM;IAAO;IAAe;IAAe;IAAU,GAC9D;IAAC;IAAM;IAAO;IAAe;IAAe;IAAS,CACtD;aAKK,2CAACC;IAAM,GAAI,cAAc;cAAG;KAAyB;IACnC;GACE;GAG5B,QACD,EAAE"}