UNPKG

@primer/components

Version:
40 lines (38 loc) 1.36 kB
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } import styled from 'styled-components'; import React from 'react'; import sx from './sx'; const StyledRadio = styled.input.withConfig({ displayName: "Radio__StyledRadio", componentId: "sc-1ak1fjg-0" })(["cursor:pointer;", " ", ""], props => props.disabled && `cursor: not-allowed;`, sx); /** * An accessible, native radio component for selecting one option from a list. */ const Radio = /*#__PURE__*/React.forwardRef(({ checked, disabled, sx: sxProp, required, validationStatus, value, name, ...rest }, ref) => { return /*#__PURE__*/React.createElement(StyledRadio, _extends({ type: "radio", value: value, name: name, ref: ref, disabled: disabled, "aria-disabled": disabled ? 'true' : 'false', checked: checked, "aria-checked": checked ? 'true' : 'false', required: required, "aria-required": required ? 'true' : 'false', "aria-invalid": validationStatus === 'error' ? 'true' : 'false', sx: sxProp }, rest)); }); Radio.displayName = 'Radio'; export default Radio;