UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

51 lines (50 loc) 1.28 kB
import cx from 'classnames'; import * as React from 'react'; import { useMergedRefs, Box } from '../../utils/index.js'; export const Radio = React.forwardRef((props, ref) => { let { className, disabled = false, label, status, labelProps, wrapperProps, style, ...rest } = props; let inputElementRef = React.useRef(null); let refs = useMergedRefs(inputElementRef, ref); let radio = React.createElement(Box, { as: 'input', className: cx('iui-checkbox', 'iui-radio', className), style: style, disabled: disabled, type: 'radio', ref: refs, ...rest, }); return label ? React.createElement( Box, { as: 'label', ...wrapperProps, className: cx('iui-checkbox-wrapper', wrapperProps?.className), 'data-iui-status': status, 'data-iui-disabled': disabled ? 'true' : void 0, }, radio, label && React.createElement( Box, { as: 'span', ...labelProps, className: cx('iui-radio-label', labelProps?.className), }, label, ), ) : radio; }); if ('development' === process.env.NODE_ENV) Radio.displayName = 'Radio';