@pantheon-systems/design-toolkit-react
Version:
Pantheon's React Design Toolkit
50 lines (47 loc) • 1.28 kB
JavaScript
import { useId } from '@reach/auto-id';
import { useFieldApi, Radio } from 'informed';
import PropTypes from 'prop-types';
import { useEffect } from 'react';
import { jsxs, jsx } from 'react/jsx-runtime';
var ToggleOption = function ToggleOption(_ref) {
var children = _ref.children,
disabled = _ref.disabled,
id = _ref.id,
isDefault = _ref.isDefault,
groupId = _ref.groupId,
value = _ref.value;
var fieldApi = useFieldApi(groupId);
var elementId = useId(id);
useEffect(function () {
if (isDefault) {
fieldApi.setValue(value);
}
}, [fieldApi, isDefault, value]);
return /*#__PURE__*/jsxs("div", {
children: [/*#__PURE__*/jsx(Radio, {
disabled: disabled,
id: elementId,
value: value
}), /*#__PURE__*/jsx("label", {
htmlFor: elementId,
children: children
})]
});
};
ToggleOption.defaultProps = {
disabled: false,
groupId: '',
id: null,
isDefault: false
};
ToggleOption.propTypes = {
children: PropTypes.node.isRequired,
disabled: PropTypes.bool,
groupId: PropTypes.string,
id: PropTypes.string,
isDefault: PropTypes.bool,
value: PropTypes.string.isRequired
};
var ToggleOption$1 = ToggleOption;
export { ToggleOption$1 as default };
//# sourceMappingURL=ToggleOption.js.map