UNPKG

@clayui/form

Version:
43 lines (42 loc) 1.03 kB
import { useControlledState } from "@clayui/shared"; import classNames from "classnames"; import React from "react"; function RadioGroup({ children, className, defaultValue, inline, name, onChange, onSelectedValueChange, selectedValue, value, ...otherProps }) { const [internalValue, setValue] = useControlledState({ defaultName: "defaultValue", defaultValue, handleName: "onChange", name: "value", onChange: onChange ?? onSelectedValueChange, value: value ?? selectedValue }); return /* @__PURE__ */ React.createElement("div", { ...otherProps, className: classNames(className) }, React.Children.map( children, (child, i) => { return React.cloneElement(child, { ...child.props, checked: internalValue === child.props.value, inline, key: i, name, onChange: () => setValue(child.props.value), type: "radio" }); } )); } var RadioGroup_default = RadioGroup; export { RadioGroup_default as default };