@wix/design-system
Version:
@wix/design-system
130 lines (129 loc) • 5.58 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _SideContent = _interopRequireDefault(require("./components/SideContent"));
var _TabItems = _interopRequireDefault(require("./components/TabItems"));
var _TabsSt = require("./Tabs.st.css.js");
var _Tabs = require("./Tabs.constants");
var _HorizontalScroll = _interopRequireDefault(require("../HorizontalScroll"));
var _deprecationLog = _interopRequireDefault(require("../utils/deprecationLog"));
var _excluded = ["dataHook", "className", "activeId", "hasDivider", "items", "minWidth", "type", "size", "sideContent", "width", "alignment", "onClick", "scrollOnOverflow", "horizontalScrollProps"];
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Tabs/Tabs.tsx";
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
var Tabs = _ref => {
var _props$showDivider;
var {
dataHook,
className,
activeId,
hasDivider = true,
// TODO: add default value to showDivider once hasDivider is removed
items,
minWidth,
type,
size = _Tabs.SIZE.medium,
sideContent,
width,
alignment,
onClick,
scrollOnOverflow,
horizontalScrollProps
} = _ref,
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var showDivider = (_props$showDivider = props.showDivider) !== null && _props$showDivider !== void 0 ? _props$showDivider : hasDivider;
var tabItemsProps = {
className,
activeId,
hasDivider,
items,
minWidth,
type,
size,
width,
alignment,
onClick,
scrollOnOverflow
};
(0, _react.useEffect)(() => {
if (hasDivider) {
(0, _deprecationLog.default)('<Tabs/> - prop "hasDivider" is deprecated and will be removed in next major release, please use "showDivider" property instead.');
}
}, [hasDivider]);
return /*#__PURE__*/_react.default.createElement("div", {
"data-divider": showDivider,
"data-hook": dataHook,
className: (0, _TabsSt.st)(_TabsSt.classes.container, {
showDivider,
size,
scrollOnOverflow
}, className),
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 52,
columnNumber: 5
}
}, scrollOnOverflow ? /*#__PURE__*/_react.default.createElement(_HorizontalScroll.default, (0, _extends2.default)({}, horizontalScrollProps, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 66,
columnNumber: 9
}
}), /*#__PURE__*/_react.default.createElement(_TabItems.default, (0, _extends2.default)({}, tabItemsProps, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 67,
columnNumber: 11
}
}))) : /*#__PURE__*/_react.default.createElement(_TabItems.default, (0, _extends2.default)({}, tabItemsProps, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 70,
columnNumber: 9
}
})), /*#__PURE__*/_react.default.createElement(_SideContent.default, {
content: sideContent,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 72,
columnNumber: 7
}
}));
};
Tabs.displayName = 'Tabs';
Tabs.propTypes = {
dataHook: _propTypes.default.string,
className: _propTypes.default.string,
activeId: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
showDivider: _propTypes.default.bool,
hasDivider: _propTypes.default.bool,
items: _propTypes.default.arrayOf(_propTypes.default.shape({
id: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
title: _propTypes.default.node,
minWidth: _propTypes.default.number,
maxWidth: _propTypes.default.number,
dataHook: _propTypes.default.string,
prefix: _propTypes.default.node,
suffix: _propTypes.default.node
})).isRequired,
minWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
type: _propTypes.default.oneOf(['compact', 'compactSide', 'uniformSide', 'uniformFull']),
size: _propTypes.default.oneOf(['medium', 'small']),
sideContent: _propTypes.default.node,
width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
alignment: _propTypes.default.oneOf(['start', 'center', 'end']),
onClick: _propTypes.default.func,
scrollOnOverflow: _propTypes.default.bool,
horizontalScrollProps: _propTypes.default.shape(_HorizontalScroll.default.propTypes)
};
var _default = exports.default = Tabs;
//# sourceMappingURL=Tabs.js.map