UNPKG

lole-ui

Version:

React UI Component which like a love letter

29 lines (28 loc) 1.36 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import React, { memo, useCallback } from "react"; import classnames from "classnames"; import Radio from "./radio"; import { useIsValidChildren } from "../../hooks/useIsValidChildren"; var RadioGroup = memo(function (_a) { var value = _a.value, onChange = _a.onChange, children = _a.children, className = _a.className, style = _a.style; var classes = classnames('xiOn-radio-group', className); var handleOnChange = useCallback(function (e) { onChange && onChange(e); }, [onChange]); var isValidChildren = useIsValidChildren(children, Radio).isValidChildren; return isValidChildren ? (React.createElement("div", { className: classes, style: style }, React.Children.map(children, function (_) { var childProps = __assign(__assign({}, _.props), { name: "group", defaultValue: value, onChange: handleOnChange }); return React.cloneElement(_, childProps); }))) : null; }); export default RadioGroup;