UNPKG

@pantheon-systems/design-toolkit-react

Version:
50 lines (47 loc) 1.28 kB
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