choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
46 lines (41 loc) • 1.76 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
import React, { useEffect, useState } from 'react';
import classnames from 'classnames';
import { getDataAttr } from './utils';
var TabPane = function TabPane(props) {
var className = props.className,
destroyInactiveTabPane = props.destroyInactiveTabPane,
active = props.active,
forceRender = props.forceRender,
rootPrefixCls = props.rootPrefixCls,
style = props.style,
children = props.children,
placeholder = props.placeholder,
restProps = _objectWithoutProperties(props, ["className", "destroyInactiveTabPane", "active", "forceRender", "rootPrefixCls", "style", "children", "placeholder"]);
var _useState = useState(active),
_useState2 = _slicedToArray(_useState, 2),
rendered = _useState2[0],
setRendered = _useState2[1];
var prefixCls = "".concat(rootPrefixCls, "-tabpane");
var cls = classnames(prefixCls, active ? "".concat(prefixCls, "-active") : "".concat(prefixCls, "-inactive"), className);
useEffect(function () {
if (!destroyInactiveTabPane && active) {
setRendered(true);
}
}, [destroyInactiveTabPane, active]);
return React.createElement("div", _extends({
style: style,
role: "tabpanel",
"aria-hidden": active ? 'false' : 'true',
className: cls
}, getDataAttr(restProps)), forceRender || (destroyInactiveTabPane ? active : rendered) ? children : placeholder);
};
TabPane.displayName = 'TabPane';
TabPane.defaultProps = {
overflowCount: 99,
showCount: true
};
export default TabPane;
//# sourceMappingURL=TabPane.js.map