Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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 _DropdownMenu = require("react-overlays/DropdownMenu");
  11. var _useMergedRefs = _interopRequireDefault(require("@restart/hooks/useMergedRefs"));
  12. var _NavbarContext = _interopRequireDefault(require("./NavbarContext"));
  13. var _ThemeProvider = require("./ThemeProvider");
  14. var _useWrappedRefWithWarning = _interopRequireDefault(require("./useWrappedRefWithWarning"));
  15. var _usePopperMarginModifiers = _interopRequireDefault(require("./usePopperMarginModifiers"));
  16. var defaultProps = {
  17. alignRight: false,
  18. flip: true
  19. };
  20. var DropdownMenu = _react.default.forwardRef(function (_ref, ref) {
  21. var bsPrefix = _ref.bsPrefix,
  22. className = _ref.className,
  23. alignRight = _ref.alignRight,
  24. rootCloseEvent = _ref.rootCloseEvent,
  25. flip = _ref.flip,
  26. showProps = _ref.show,
  27. renderOnMount = _ref.renderOnMount,
  28. _ref$as = _ref.as,
  29. Component = _ref$as === void 0 ? 'div' : _ref$as,
  30. _ref$popperConfig = _ref.popperConfig,
  31. popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig,
  32. props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "className", "alignRight", "rootCloseEvent", "flip", "show", "renderOnMount", "as", "popperConfig"]);
  33. var isNavbar = (0, _react.useContext)(_NavbarContext.default);
  34. var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'dropdown-menu');
  35. var _usePopperMarginModif = (0, _usePopperMarginModifiers.default)(),
  36. popperRef = _usePopperMarginModif[0],
  37. marginModifiers = _usePopperMarginModif[1];
  38. var _useDropdownMenu = (0, _DropdownMenu.useDropdownMenu)({
  39. flip: flip,
  40. rootCloseEvent: rootCloseEvent,
  41. show: showProps,
  42. alignEnd: alignRight,
  43. usePopper: !isNavbar,
  44. popperConfig: (0, _extends2.default)({}, popperConfig, {
  45. modifiers: marginModifiers.concat(popperConfig.modifiers || [])
  46. })
  47. }),
  48. hasShown = _useDropdownMenu.hasShown,
  49. placement = _useDropdownMenu.placement,
  50. show = _useDropdownMenu.show,
  51. alignEnd = _useDropdownMenu.alignEnd,
  52. close = _useDropdownMenu.close,
  53. menuProps = _useDropdownMenu.props;
  54. menuProps.ref = (0, _useMergedRefs.default)(popperRef, (0, _useMergedRefs.default)((0, _useWrappedRefWithWarning.default)(ref, 'DropdownMenu'), menuProps.ref));
  55. if (!hasShown && !renderOnMount) return null; // For custom components provide additional, non-DOM, props;
  56. if (typeof Component !== 'string') {
  57. menuProps.show = show;
  58. menuProps.close = close;
  59. menuProps.alignRight = alignEnd;
  60. }
  61. var style = props.style;
  62. if (placement) {
  63. // we don't need the default popper style,
  64. // menus are display: none when not shown.
  65. style = (0, _extends2.default)({}, style, {}, menuProps.style);
  66. props['x-placement'] = placement;
  67. }
  68. return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, menuProps, {
  69. style: style,
  70. className: (0, _classnames.default)(className, prefix, show && 'show', alignEnd && prefix + "-right")
  71. }));
  72. });
  73. DropdownMenu.displayName = 'DropdownMenu';
  74. DropdownMenu.defaultProps = defaultProps;
  75. var _default = DropdownMenu;
  76. exports.default = _default;
  77. module.exports = exports["default"];