{"ast":null,"code":"\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const {\n    getPrefixCls,\n    direction\n  } = React.useContext(ConfigContext);\n  const [value, setValue] = useMergedState(props.defaultValue, {\n    value: props.value\n  });\n  const onRadioChange = ev => {\n    const lastValue = value;\n    const val = ev.target.value;\n    if (!('value' in props)) {\n      setValue(val);\n    }\n    const {\n      onChange\n    } = props;\n    if (onChange && val !== lastValue) {\n      onChange(ev);\n    }\n  };\n  const {\n    prefixCls: customizePrefixCls,\n    className,\n    rootClassName,\n    options,\n    buttonStyle = 'outline',\n    disabled,\n    children,\n    size: customizeSize,\n    style,\n    id,\n    onMouseEnter,\n    onMouseLeave,\n    onFocus,\n    onBlur\n  } = props;\n  const prefixCls = getPrefixCls('radio', customizePrefixCls);\n  const groupPrefixCls = `${prefixCls}-group`;\n  // Style\n  const [wrapSSR, hashId] = useStyle(prefixCls);\n  let childrenToRender = children;\n  // 如果存在 options, 优先使用\n  if (options && options.length > 0) {\n    childrenToRender = options.map(option => {\n      if (typeof option === 'string' || typeof option === 'number') {\n        // 此处类型自动推导为 string\n        return /*#__PURE__*/React.createElement(Radio, {\n          key: option.toString(),\n          prefixCls: prefixCls,\n          disabled: disabled,\n          value: option,\n          checked: value === option\n        }, option);\n      }\n      // 此处类型自动推导为 { label: string value: string }\n      return /*#__PURE__*/React.createElement(Radio, {\n        key: `radio-group-value-options-${option.value}`,\n        prefixCls: prefixCls,\n        disabled: option.disabled || disabled,\n        value: option.value,\n        checked: value === option.value,\n        title: option.title,\n        style: option.style,\n        id: option.id\n      }, option.label);\n    });\n  }\n  const mergedSize = useSize(customizeSize);\n  const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n    [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n    [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n  }, className, rootClassName, hashId);\n  return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, pickAttrs(props, {\n    aria: true,\n    data: true\n  }), {\n    className: classString,\n    style: style,\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    id: id,\n    ref: ref\n  }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n    value: {\n      onChange: onRadioChange,\n      value,\n      disabled: props.disabled,\n      name: props.name,\n      optionType: props.optionType\n    }\n  }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);","map":{"version":3,"names":["React","classNames","useMergedState","pickAttrs","ConfigContext","useSize","RadioGroupContextProvider","Radio","useStyle","RadioGroup","forwardRef","props","ref","getPrefixCls","direction","useContext","value","setValue","defaultValue","onRadioChange","ev","lastValue","val","target","onChange","prefixCls","customizePrefixCls","className","rootClassName","options","buttonStyle","disabled","children","size","customizeSize","style","id","onMouseEnter","onMouseLeave","onFocus","onBlur","groupPrefixCls","wrapSSR","hashId","childrenToRender","length","map","option","createElement","key","toString","checked","title","label","mergedSize","classString","Object","assign","aria","data","name","optionType","memo"],"sources":["/var/www/gavt/node_modules/antd/es/radio/group.js"],"sourcesContent":["\"use client\";\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport { ConfigContext } from '../config-provider';\nimport useSize from '../config-provider/hooks/useSize';\nimport { RadioGroupContextProvider } from './context';\nimport Radio from './radio';\nimport useStyle from './style';\nconst RadioGroup = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const {\n    getPrefixCls,\n    direction\n  } = React.useContext(ConfigContext);\n  const [value, setValue] = useMergedState(props.defaultValue, {\n    value: props.value\n  });\n  const onRadioChange = ev => {\n    const lastValue = value;\n    const val = ev.target.value;\n    if (!('value' in props)) {\n      setValue(val);\n    }\n    const {\n      onChange\n    } = props;\n    if (onChange && val !== lastValue) {\n      onChange(ev);\n    }\n  };\n  const {\n    prefixCls: customizePrefixCls,\n    className,\n    rootClassName,\n    options,\n    buttonStyle = 'outline',\n    disabled,\n    children,\n    size: customizeSize,\n    style,\n    id,\n    onMouseEnter,\n    onMouseLeave,\n    onFocus,\n    onBlur\n  } = props;\n  const prefixCls = getPrefixCls('radio', customizePrefixCls);\n  const groupPrefixCls = `${prefixCls}-group`;\n  // Style\n  const [wrapSSR, hashId] = useStyle(prefixCls);\n  let childrenToRender = children;\n  // 如果存在 options, 优先使用\n  if (options && options.length > 0) {\n    childrenToRender = options.map(option => {\n      if (typeof option === 'string' || typeof option === 'number') {\n        // 此处类型自动推导为 string\n        return /*#__PURE__*/React.createElement(Radio, {\n          key: option.toString(),\n          prefixCls: prefixCls,\n          disabled: disabled,\n          value: option,\n          checked: value === option\n        }, option);\n      }\n      // 此处类型自动推导为 { label: string value: string }\n      return /*#__PURE__*/React.createElement(Radio, {\n        key: `radio-group-value-options-${option.value}`,\n        prefixCls: prefixCls,\n        disabled: option.disabled || disabled,\n        value: option.value,\n        checked: value === option.value,\n        title: option.title,\n        style: option.style,\n        id: option.id\n      }, option.label);\n    });\n  }\n  const mergedSize = useSize(customizeSize);\n  const classString = classNames(groupPrefixCls, `${groupPrefixCls}-${buttonStyle}`, {\n    [`${groupPrefixCls}-${mergedSize}`]: mergedSize,\n    [`${groupPrefixCls}-rtl`]: direction === 'rtl'\n  }, className, rootClassName, hashId);\n  return wrapSSR( /*#__PURE__*/React.createElement(\"div\", Object.assign({}, pickAttrs(props, {\n    aria: true,\n    data: true\n  }), {\n    className: classString,\n    style: style,\n    onMouseEnter: onMouseEnter,\n    onMouseLeave: onMouseLeave,\n    onFocus: onFocus,\n    onBlur: onBlur,\n    id: id,\n    ref: ref\n  }), /*#__PURE__*/React.createElement(RadioGroupContextProvider, {\n    value: {\n      onChange: onRadioChange,\n      value,\n      disabled: props.disabled,\n      name: props.name,\n      optionType: props.optionType\n    }\n  }, childrenToRender)));\n});\nexport default /*#__PURE__*/React.memo(RadioGroup);"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}