UNPKG

@prefect9/ui

Version:

UI React components

39 lines (38 loc) 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/es.string.trim.js"); var _react = require("react"); var _isType = require("@prefect9/is-type"); var _jsxRuntime = require("react/jsx-runtime"); function Tab(_ref) { let { children, value = '', selected, disabled, onSelect: selectHandler, className: userClassName } = _ref; const clickHandler = (0, _react.useCallback)(e => { e.preventDefault(); if (disabled || selected) return; if ((0, _isType.isFunc)(selectHandler)) selectHandler(); }, [disabled, selected, selectHandler]); const className = (0, _react.useMemo)(() => { const result = ['prefect9-tab']; if (selected) result.push('prefect9-tab__active'); if (disabled) result.push('prefect9-tab__disabled'); if ((0, _isType.isStr)(userClassName) && userClassName.trim().length) result.push(userClassName.trim()); return result.join(' '); }, [selected, disabled, userClassName]); return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: className, "data-value": value, onClick: clickHandler, children: children }); } var _default = exports.default = Tab;