UNPKG

choerodon-ui

Version:

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

63 lines (49 loc) 2.31 kB
"use strict"; 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