lole-ui
Version:
React UI Component which like a love letter
21 lines (20 loc) • 1.07 kB
JavaScript
import React, { memo, useCallback } from "react";
import classNames from 'classnames';
var Radio = memo(function (_a) {
var label = _a.label, defaultChecked = _a.defaultChecked, disabled = _a.disabled, name = _a.name, onChange = _a.onChange, value = _a.value, defaultValue = _a.defaultValue, className = _a.className, style = _a.style;
var classes = classNames('xiOn-radio', className, {
'xiOn-radio-disabled': disabled
});
var handleOnChange = useCallback(function (e) {
onChange && onChange(e);
}, [onChange]);
return (React.createElement(React.Fragment, null,
React.createElement("div", { className: classes, style: style },
React.createElement("input", { type: "radio", id: label, defaultChecked: name === "group" ? defaultValue === value : defaultChecked, onChange: handleOnChange, value: value, name: name }),
React.createElement("label", { htmlFor: label }, label))));
});
Radio.defaultProps = {
defaultChecked: false,
disabled: false,
};
export default Radio;