wix-style-react
Version:
wix-style-react
98 lines (97 loc) • 3.02 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _VerticalTabsItem = _interopRequireDefault(require("../VerticalTabsItem"));
var _VerticalTabsContext = _interopRequireDefault(require("./VerticalTabsContext"));
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/VerticalTabs/VerticalTabs.js";
/** Vertical tabs navigation panel. */
var Footer = _ref => {
var {
children
} = _ref;
return /*#__PURE__*/_react.default.createElement(_VerticalTabsItem.default, {
type: "action",
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 8,
columnNumber: 3
}
}, children);
};
var TabsGroup = _ref2 => {
var {
title = '',
children
} = _ref2;
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_VerticalTabsItem.default, {
type: "title",
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 13,
columnNumber: 5
}
}, title), children);
};
TabsGroup.propTypes = {
title: _propTypes.default.string
};
class VerticalTabs extends _react.default.Component {
render() {
var {
dataHook,
children,
size,
activeTabId,
onChange
} = this.props;
return /*#__PURE__*/_react.default.createElement(_VerticalTabsContext.default.Provider, {
value: {
size,
activeTabId,
onChange
},
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 24,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement("div", {
"data-hook": dataHook,
role: "menubar",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 25,
columnNumber: 9
}
}, children));
}
}
VerticalTabs.displayName = 'VerticalTabs';
VerticalTabs.propTypes = {
/** Text Size (tiny, small, medium) */
size: _propTypes.default.oneOf(['tiny', 'small', 'medium']),
/** Current selected tab id */
activeTabId: _propTypes.default.number,
/** Callback function called on tab selection change with the following parameters<code>(id)</code> */
onChange: _propTypes.default.func,
/** Child nodes of this component must be of type <code><VerticalTabs.TabsGroup></code> or <code><VerticalTabs.Footer></code>*/
children: _propTypes.default.arrayOf(_propTypes.default.node),
/** Data attribute for testing purposes */
dataHook: _propTypes.default.string
};
VerticalTabs.defaultProps = {
size: 'medium',
onChange: () => {}
};
VerticalTabs.TabsGroup = TabsGroup;
VerticalTabs.TabItem = _VerticalTabsItem.default;
VerticalTabs.Footer = Footer;
var _default = exports.default = VerticalTabs;
//# sourceMappingURL=VerticalTabs.js.map