Wrapper.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
  3. import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
  4. var _excluded = ["renderTabBar"],
  5. _excluded2 = ["label", "key"];
  6. // zombieJ: To compatible with `renderTabBar` usage.
  7. import * as React from 'react';
  8. import TabNavList from '.';
  9. import TabContext from "../TabContext";
  10. import TabPane from "../TabPanelList/TabPane";
  11. // We have to create a TabNavList components.
  12. var TabNavListWrapper = function TabNavListWrapper(_ref) {
  13. var renderTabBar = _ref.renderTabBar,
  14. restProps = _objectWithoutProperties(_ref, _excluded);
  15. var _React$useContext = React.useContext(TabContext),
  16. tabs = _React$useContext.tabs;
  17. if (renderTabBar) {
  18. var tabNavBarProps = _objectSpread(_objectSpread({}, restProps), {}, {
  19. // Legacy support. We do not use this actually
  20. panes: tabs.map(function (_ref2) {
  21. var label = _ref2.label,
  22. key = _ref2.key,
  23. restTabProps = _objectWithoutProperties(_ref2, _excluded2);
  24. return /*#__PURE__*/React.createElement(TabPane, _extends({
  25. tab: label,
  26. key: key,
  27. tabKey: key
  28. }, restTabProps));
  29. })
  30. });
  31. return renderTabBar(tabNavBarProps, TabNavList);
  32. }
  33. return /*#__PURE__*/React.createElement(TabNavList, restProps);
  34. };
  35. if (process.env.NODE_ENV !== 'production') {
  36. TabNavListWrapper.displayName = 'TabNavListWrapper';
  37. }
  38. export default TabNavListWrapper;