choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
63 lines (49 loc) • 2.31 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _classnames = _interopRequireDefault(require("classnames"));
var _utils = require("./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 = (0, _objectWithoutProperties2["default"])(props, ["className", "destroyInactiveTabPane", "active", "forceRender", "rootPrefixCls", "style", "children", "placeholder"]);
var _useState = (0, _react.useState)(active),
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
rendered = _useState2[0],
setRendered = _useState2[1];
var prefixCls = "".concat(rootPrefixCls, "-tabpane");
var cls = (0, _classnames["default"])(prefixCls, active ? "".concat(prefixCls, "-active") : "".concat(prefixCls, "-inactive"), className);
(0, _react.useEffect)(function () {
if (!destroyInactiveTabPane && active) {
setRendered(true);
}
}, [destroyInactiveTabPane, active]);
return _react["default"].createElement("div", (0, _extends2["default"])({
style: style,
role: "tabpanel",
"aria-hidden": active ? 'false' : 'true',
className: cls
}, (0, _utils.getDataAttr)(restProps)), forceRender || (destroyInactiveTabPane ? active : rendered) ? children : placeholder);
};
TabPane.displayName = 'TabPane';
TabPane.defaultProps = {
overflowCount: 99,
showCount: true
};
var _default = TabPane;
exports["default"] = _default;
//# sourceMappingURL=TabPane.js.map