UNPKG

@talend/react-forms

Version:

React forms library based on json schema form.

88 lines (86 loc) 2.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = SimpleCheckBox; var _propTypes = _interopRequireDefault(require("prop-types")); var _designSystem = require("@talend/design-system"); var _properties = require("../../utils/properties"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /* eslint-disable jsx-a11y/label-has-associated-control, jsx-a11y/no-autofocus */ function SimpleCheckBox({ describedby, disabled, id, isValid, label, onChange, onFinish, schema, value, index }) { const { autoFocus } = schema; const isDisabled = disabled || schema.disabled; function getDataFeature() { const dataFeature = schema['data-feature']; return dataFeature ? `${dataFeature}.${value ? 'uncheck' : 'check'}` : undefined; } function getDataChecked() { if (value) { return 2; } return 0; } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_designSystem.Form.Checkbox, { id: `${id}${index !== undefined ? `-${index}` : ''}`, autoFocus: autoFocus, disabled: isDisabled, onChange: event => { const isChecked = event.target.checked; onChange(event, { schema, value: isChecked }); onFinish(event, { schema, value: isChecked }); }, checked: value, "data-checked": getDataChecked(), label: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { "data-feature": getDataFeature(), children: label }), "aria-invalid": !isValid, "aria-describedby": describedby, ...(0, _properties.extractDataAttributes)(schema, index) }); } if (process.env.NODE_ENV !== 'production') { SimpleCheckBox.propTypes = { describedby: _propTypes.default.string.isRequired, disabled: _propTypes.default.bool, id: _propTypes.default.string, isValid: _propTypes.default.bool, label: _propTypes.default.string, onChange: _propTypes.default.func.isRequired, onFinish: _propTypes.default.func.isRequired, schema: _propTypes.default.shape({ 'data-feature': _propTypes.default.string, autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool }), value: _propTypes.default.bool, index: _propTypes.default.number }; } SimpleCheckBox.defaultProps = { schema: {}, value: false }; //# sourceMappingURL=SimpleCheckBox.component.js.map