123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- "use strict";
-
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
-
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
-
- exports.__esModule = true;
- exports.default = void 0;
-
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
-
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
-
- var _classnames = _interopRequireDefault(require("classnames"));
-
- var _react = _interopRequireWildcard(require("react"));
-
- var _ThemeProvider = require("./ThemeProvider");
-
- var _TabContext = _interopRequireDefault(require("./TabContext"));
-
- var _SelectableContext = _interopRequireWildcard(require("./SelectableContext"));
-
- var _Fade = _interopRequireDefault(require("./Fade"));
-
- function useTabContext(props) {
- var context = (0, _react.useContext)(_TabContext.default);
- if (!context) return props;
- var activeKey = context.activeKey,
- getControlledId = context.getControlledId,
- getControllerId = context.getControllerId,
- rest = (0, _objectWithoutPropertiesLoose2.default)(context, ["activeKey", "getControlledId", "getControllerId"]);
- var shouldTransition = props.transition !== false && rest.transition !== false;
- var key = (0, _SelectableContext.makeEventKey)(props.eventKey);
- return (0, _extends2.default)({}, props, {
- active: props.active == null && key != null ? (0, _SelectableContext.makeEventKey)(activeKey) === key : props.active,
- id: getControlledId(props.eventKey),
- 'aria-labelledby': getControllerId(props.eventKey),
- transition: shouldTransition && (props.transition || rest.transition || _Fade.default),
- mountOnEnter: props.mountOnEnter != null ? props.mountOnEnter : rest.mountOnEnter,
- unmountOnExit: props.unmountOnExit != null ? props.unmountOnExit : rest.unmountOnExit
- });
- }
-
- var TabPane = _react.default.forwardRef(function (props, ref) {
- var _useTabContext = useTabContext(props),
- bsPrefix = _useTabContext.bsPrefix,
- className = _useTabContext.className,
- active = _useTabContext.active,
- onEnter = _useTabContext.onEnter,
- onEntering = _useTabContext.onEntering,
- onEntered = _useTabContext.onEntered,
- onExit = _useTabContext.onExit,
- onExiting = _useTabContext.onExiting,
- onExited = _useTabContext.onExited,
- mountOnEnter = _useTabContext.mountOnEnter,
- unmountOnExit = _useTabContext.unmountOnExit,
- Transition = _useTabContext.transition,
- _useTabContext$as = _useTabContext.as,
- Component = _useTabContext$as === void 0 ? 'div' : _useTabContext$as,
- _ = _useTabContext.eventKey,
- rest = (0, _objectWithoutPropertiesLoose2.default)(_useTabContext, ["bsPrefix", "className", "active", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "mountOnEnter", "unmountOnExit", "transition", "as", "eventKey"]);
-
- var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'tab-pane');
- if (!active && unmountOnExit) return null;
-
- var pane = _react.default.createElement(Component, (0, _extends2.default)({}, rest, {
- ref: ref,
- role: "tabpanel",
- "aria-hidden": !active,
- className: (0, _classnames.default)(className, prefix, {
- active: active
- })
- }));
-
- if (Transition) pane = _react.default.createElement(Transition, {
- in: active,
- onEnter: onEnter,
- onEntering: onEntering,
- onEntered: onEntered,
- onExit: onExit,
- onExiting: onExiting,
- onExited: onExited,
- mountOnEnter: mountOnEnter,
- unmountOnExit: unmountOnExit
- }, pane); // We provide an empty the TabContext so `<Nav>`s in `<TabPane>`s don't
- // conflict with the top level one.
-
- return _react.default.createElement(_TabContext.default.Provider, {
- value: null
- }, _react.default.createElement(_SelectableContext.default.Provider, {
- value: null
- }, pane));
- });
-
- TabPane.displayName = 'TabPane';
- var _default = TabPane;
- exports.default = _default;
- module.exports = exports["default"];
|