UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

46 lines (41 loc) 1.76 kB
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