56 lines
2.5 KiB
JavaScript
56 lines
2.5 KiB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
var _excluded = ["key", "forceRender", "style", "className", "destroyInactiveTabPane"];
|
|
import classNames from 'classnames';
|
|
import CSSMotion from 'rc-motion';
|
|
import * as React from 'react';
|
|
import TabContext from "../TabContext";
|
|
import TabPane from "./TabPane";
|
|
var TabPanelList = function TabPanelList(props) {
|
|
var id = props.id,
|
|
activeKey = props.activeKey,
|
|
animated = props.animated,
|
|
tabPosition = props.tabPosition,
|
|
destroyInactiveTabPane = props.destroyInactiveTabPane;
|
|
var _React$useContext = React.useContext(TabContext),
|
|
prefixCls = _React$useContext.prefixCls,
|
|
tabs = _React$useContext.tabs;
|
|
var tabPaneAnimated = animated.tabPane;
|
|
var tabPanePrefixCls = "".concat(prefixCls, "-tabpane");
|
|
return /*#__PURE__*/React.createElement("div", {
|
|
className: classNames("".concat(prefixCls, "-content-holder"))
|
|
}, /*#__PURE__*/React.createElement("div", {
|
|
className: classNames("".concat(prefixCls, "-content"), "".concat(prefixCls, "-content-").concat(tabPosition), _defineProperty({}, "".concat(prefixCls, "-content-animated"), tabPaneAnimated))
|
|
}, tabs.map(function (item) {
|
|
var key = item.key,
|
|
forceRender = item.forceRender,
|
|
paneStyle = item.style,
|
|
paneClassName = item.className,
|
|
itemDestroyInactiveTabPane = item.destroyInactiveTabPane,
|
|
restTabProps = _objectWithoutProperties(item, _excluded);
|
|
var active = key === activeKey;
|
|
return /*#__PURE__*/React.createElement(CSSMotion, _extends({
|
|
key: key,
|
|
visible: active,
|
|
forceRender: forceRender,
|
|
removeOnLeave: !!(destroyInactiveTabPane || itemDestroyInactiveTabPane),
|
|
leavedClassName: "".concat(tabPanePrefixCls, "-hidden")
|
|
}, animated.tabPaneMotion), function (_ref, ref) {
|
|
var motionStyle = _ref.style,
|
|
motionClassName = _ref.className;
|
|
return /*#__PURE__*/React.createElement(TabPane, _extends({}, restTabProps, {
|
|
prefixCls: tabPanePrefixCls,
|
|
id: id,
|
|
tabKey: key,
|
|
animated: tabPaneAnimated,
|
|
active: active,
|
|
style: _objectSpread(_objectSpread({}, paneStyle), motionStyle),
|
|
className: classNames(paneClassName, motionClassName),
|
|
ref: ref
|
|
}));
|
|
});
|
|
})));
|
|
};
|
|
export default TabPanelList; |