UNPKG

wix-style-react

Version:
107 lines (106 loc) 4.01 kB
"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 = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _SideContent = _interopRequireDefault(require("./core/SideContent")); var _TabItems = _interopRequireDefault(require("./core/TabItems")); var _TabsSt = require("./Tabs.st.css"); var _excluded = ["sideContent", "dataHook"]; var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/Tabs/Tabs.js"; class Tabs extends _react.default.Component { constructor() { super(...arguments); this._getTabItemsProps = () => { /* eslint-disable no-unused-vars */ var _this$props = this.props, { sideContent, dataHook } = _this$props, tabItemsProps = (0, _objectWithoutProperties2.default)(_this$props, _excluded); return tabItemsProps; }; } render() { var { sideContent, hasDivider, dataHook, size, className } = this.props; var tabItemsProps = this._getTabItemsProps(); return /*#__PURE__*/_react.default.createElement("div", { "data-divider": hasDivider, "data-hook": dataHook, className: (0, _TabsSt.st)(_TabsSt.classes.container, { hasDivider, size }, className), __self: this, __source: { fileName: _jsxFileName, lineNumber: 26, columnNumber: 7 } }, /*#__PURE__*/_react.default.createElement(_TabItems.default, (0, _extends2.default)({}, tabItemsProps, { __self: this, __source: { fileName: _jsxFileName, lineNumber: 38, columnNumber: 9 } })), /*#__PURE__*/_react.default.createElement(_SideContent.default, { content: sideContent, __self: this, __source: { fileName: _jsxFileName, lineNumber: 39, columnNumber: 9 } })); } } Tabs.displayName = 'Tabs'; Tabs.defaultProps = { hasDivider: true, size: 'medium' }; Tabs.propTypes = { /** Applied as data-hook HTML attribute that can be used in the tests */ dataHook: _propTypes.default.string, /** A css class to be applied to the component's root element */ className: _propTypes.default.string, /** A selected tab id */ activeId: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** Places a divider on bottom */ hasDivider: _propTypes.default.bool, /** An array of tabs */ 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 })).isRequired, /** A minimum width of the container */ minWidth: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** One of: '', compact, compactSide, uniformSide, uniformFull */ type: _propTypes.default.oneOf(['', 'compact', 'compactSide', 'uniformSide', 'uniformFull']), /** One of: medium, small*/ size: _propTypes.default.oneOf(['medium', 'small']), /** Can be either string or renderable node */ sideContent: _propTypes.default.node, /** A specific width of a tab (only for uniformSide type) */ width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]), /** Control text alignment in tab item */ alignment: _propTypes.default.oneOf(['start', 'center', 'end']), /** Click event handler */ onClick: _propTypes.default.func }; var _default = exports.default = Tabs; //# sourceMappingURL=Tabs.js.map