1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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;
|