UNPKG

@prefect9/ui

Version:

UI React components

52 lines (51 loc) 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "CheckboxesGroup", { enumerable: true, get: function get() { return _Group.default; } }); exports.default = void 0; require("core-js/modules/es.string.trim.js"); var _react = require("react"); var _isType = require("@prefect9/is-type"); var _Group = _interopRequireDefault(require("./Group")); var _styles = _interopRequireDefault(require("../../styles.css")); var _icons = _interopRequireDefault(require("../../icons")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function Checkbox(_ref) { let { children, checked, onChange, disabled, className: userClassName } = _ref; const clickHandler = (0, _react.useCallback)(e => { e.preventDefault(); if (disabled === true) return; let newChecked = true; if (checked) newChecked = false; if ((0, _isType.isFunc)(onChange)) onChange(newChecked); }, [checked, onChange, disabled]); const className = (0, _react.useMemo)(() => { const result = ['prefect9-checkbox']; if (checked) result.push('prefect9-checkbox__checked'); if (disabled) result.push('prefect9-checkbox__disabled'); if ((0, _isType.isStr)(userClassName) && userClassName.length) result.push(userClassName.trim()); return result.join(' '); }, [checked, disabled, userClassName]); return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: className, onClick: clickHandler, children: children !== null && children !== void 0 ? children : /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "prefect9-checkbox__body", children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.default.Checkmark, {}) }) }); } var _default = exports.default = Checkbox;