@helpscout/hsds-react
Version:
React component library for Help Scout's Design System
64 lines (47 loc) • 2.13 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.Radio = exports.RadioContext = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Choice = _interopRequireDefault(require("../Choice"));
var _classnames = _interopRequireDefault(require("classnames"));
var _jsxRuntime = require("react/jsx-runtime");
var RadioContext = /*#__PURE__*/_react.default.createContext({});
exports.RadioContext = RadioContext;
var Radio = function Radio(_ref) {
var kindProp = _ref.kind,
stackedProp = _ref.stacked,
className = _ref.className,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["kind", "stacked", "className"]);
var componentClassName = (0, _classnames.default)('c-Radio', className);
var _React$useContext = _react.default.useContext(RadioContext),
_React$useContext$kin = _React$useContext.kind,
kind = _React$useContext$kin === void 0 ? kindProp : _React$useContext$kin,
_React$useContext$sta = _React$useContext.stacked,
stacked = _React$useContext$sta === void 0 ? stackedProp : _React$useContext$sta;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Choice.default, (0, _extends2.default)({}, rest, {
className: componentClassName,
componentID: "Radio",
kind: kind,
type: "radio",
stacked: stacked
}));
};
exports.Radio = Radio;
Radio.defaultProps = {
'data-cy': 'Radio',
kind: 'default'
};
Radio.propTypes = {
/** Custom class names to be added to the component. */
className: _propTypes.default.string,
/** Data attr for Cypress tests. */
'data-cy': _propTypes.default.string,
/** Render a customized radio or a default */
kind: _propTypes.default.oneOf(['default', 'custom'])
};
var _default = Radio;
exports.default = _default;