UNPKG

@talend/react-components

Version:
65 lines (64 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Checkbox; var _propTypes = _interopRequireDefault(require("prop-types")); var _classnames = _interopRequireDefault(require("classnames")); var _lodash = require("lodash"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function Checkbox({ id, className, label, intermediate, ...props }) { let dataFeature; let dataChecked = 0; if (!props.disabled && props['data-feature']) { dataFeature = props['data-feature']; dataFeature += props.checked ? '.disable' : '.enable'; } if (intermediate) { dataChecked = 1; } else if (props.checked) { dataChecked = 2; } return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: (0, _classnames.default)('checkbox tc-checkbox', { disabled: props.disabled }, className), children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", { htmlFor: id, "data-feature": dataFeature, children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", { type: "checkbox", id: id, "data-checked": dataChecked, ...(0, _lodash.omit)(props, 'data-feature') }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", { children: label })] }) }); } Checkbox.displayName = 'Checkbox'; Checkbox.defaultProps = { disabled: false, checked: false, intermediate: false, label: '' }; Checkbox.propTypes = { id: _propTypes.default.string.isRequired, label: _propTypes.default.node, checked: _propTypes.default.bool, autoFocus: _propTypes.default.bool, disabled: _propTypes.default.bool, intermediate: _propTypes.default.bool, className: _propTypes.default.string, 'data-feature': _propTypes.default.string }; //# sourceMappingURL=Checkbox.js.map