Dashboard sipadu mbip
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

TabPane.js 4.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. "use strict";
  2. var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  3. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  4. exports.__esModule = true;
  5. exports.default = void 0;
  6. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  7. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  8. var _classnames = _interopRequireDefault(require("classnames"));
  9. var _react = _interopRequireWildcard(require("react"));
  10. var _ThemeProvider = require("./ThemeProvider");
  11. var _TabContext = _interopRequireDefault(require("./TabContext"));
  12. var _SelectableContext = _interopRequireWildcard(require("./SelectableContext"));
  13. var _Fade = _interopRequireDefault(require("./Fade"));
  14. function useTabContext(props) {
  15. var context = (0, _react.useContext)(_TabContext.default);
  16. if (!context) return props;
  17. var activeKey = context.activeKey,
  18. getControlledId = context.getControlledId,
  19. getControllerId = context.getControllerId,
  20. rest = (0, _objectWithoutPropertiesLoose2.default)(context, ["activeKey", "getControlledId", "getControllerId"]);
  21. var shouldTransition = props.transition !== false && rest.transition !== false;
  22. var key = (0, _SelectableContext.makeEventKey)(props.eventKey);
  23. return (0, _extends2.default)({}, props, {
  24. active: props.active == null && key != null ? (0, _SelectableContext.makeEventKey)(activeKey) === key : props.active,
  25. id: getControlledId(props.eventKey),
  26. 'aria-labelledby': getControllerId(props.eventKey),
  27. transition: shouldTransition && (props.transition || rest.transition || _Fade.default),
  28. mountOnEnter: props.mountOnEnter != null ? props.mountOnEnter : rest.mountOnEnter,
  29. unmountOnExit: props.unmountOnExit != null ? props.unmountOnExit : rest.unmountOnExit
  30. });
  31. }
  32. var TabPane = _react.default.forwardRef(function (props, ref) {
  33. var _useTabContext = useTabContext(props),
  34. bsPrefix = _useTabContext.bsPrefix,
  35. className = _useTabContext.className,
  36. active = _useTabContext.active,
  37. onEnter = _useTabContext.onEnter,
  38. onEntering = _useTabContext.onEntering,
  39. onEntered = _useTabContext.onEntered,
  40. onExit = _useTabContext.onExit,
  41. onExiting = _useTabContext.onExiting,
  42. onExited = _useTabContext.onExited,
  43. mountOnEnter = _useTabContext.mountOnEnter,
  44. unmountOnExit = _useTabContext.unmountOnExit,
  45. Transition = _useTabContext.transition,
  46. _useTabContext$as = _useTabContext.as,
  47. Component = _useTabContext$as === void 0 ? 'div' : _useTabContext$as,
  48. _ = _useTabContext.eventKey,
  49. rest = (0, _objectWithoutPropertiesLoose2.default)(_useTabContext, ["bsPrefix", "className", "active", "onEnter", "onEntering", "onEntered", "onExit", "onExiting", "onExited", "mountOnEnter", "unmountOnExit", "transition", "as", "eventKey"]);
  50. var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'tab-pane');
  51. if (!active && unmountOnExit) return null;
  52. var pane = _react.default.createElement(Component, (0, _extends2.default)({}, rest, {
  53. ref: ref,
  54. role: "tabpanel",
  55. "aria-hidden": !active,
  56. className: (0, _classnames.default)(className, prefix, {
  57. active: active
  58. })
  59. }));
  60. if (Transition) pane = _react.default.createElement(Transition, {
  61. in: active,
  62. onEnter: onEnter,
  63. onEntering: onEntering,
  64. onEntered: onEntered,
  65. onExit: onExit,
  66. onExiting: onExiting,
  67. onExited: onExited,
  68. mountOnEnter: mountOnEnter,
  69. unmountOnExit: unmountOnExit
  70. }, pane); // We provide an empty the TabContext so `<Nav>`s in `<TabPane>`s don't
  71. // conflict with the top level one.
  72. return _react.default.createElement(_TabContext.default.Provider, {
  73. value: null
  74. }, _react.default.createElement(_SelectableContext.default.Provider, {
  75. value: null
  76. }, pane));
  77. });
  78. TabPane.displayName = 'TabPane';
  79. var _default = TabPane;
  80. exports.default = _default;
  81. module.exports = exports["default"];