You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

95 lines
3.1 KiB

  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. exports.__esModule = true;
  4. exports.default = void 0;
  5. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  6. var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
  7. var _react = _interopRequireDefault(require("react"));
  8. var _propTypes = _interopRequireDefault(require("prop-types"));
  9. var _Dropdown = _interopRequireDefault(require("./Dropdown"));
  10. var _NavItem = _interopRequireDefault(require("./NavItem"));
  11. var _NavLink = _interopRequireDefault(require("./NavLink"));
  12. var propTypes = {
  13. /**
  14. * An html id attribute for the Toggle button, necessary for assistive technologies, such as screen readers.
  15. * @type {string|number}
  16. * @required
  17. */
  18. id: _propTypes.default.any,
  19. /** An `onClick` handler passed to the Toggle component */
  20. onClick: _propTypes.default.func,
  21. /** The content of the non-toggle Button. */
  22. title: _propTypes.default.node.isRequired,
  23. /** Disables the toggle NavLink */
  24. disabled: _propTypes.default.bool,
  25. /** Style the toggle NavLink as active */
  26. active: _propTypes.default.bool,
  27. /** An ARIA accessible role applied to the Menu component. When set to 'menu', The dropdown */
  28. menuRole: _propTypes.default.string,
  29. /** Whether to render the dropdown menu in the DOM before the first time it is shown */
  30. renderMenuOnMount: _propTypes.default.bool,
  31. /**
  32. * Which event when fired outside the component will cause it to be closed.
  33. *
  34. * _see [DropdownMenu](#menu-props) for more details_
  35. */
  36. rootCloseEvent: _propTypes.default.string,
  37. /** @ignore */
  38. bsPrefix: _propTypes.default.string
  39. };
  40. var NavDropdown = _react.default.forwardRef(function (_ref, ref) {
  41. var id = _ref.id,
  42. title = _ref.title,
  43. children = _ref.children,
  44. bsPrefix = _ref.bsPrefix,
  45. rootCloseEvent = _ref.rootCloseEvent,
  46. menuRole = _ref.menuRole,
  47. disabled = _ref.disabled,
  48. active = _ref.active,
  49. renderMenuOnMount = _ref.renderMenuOnMount,
  50. props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["id", "title", "children", "bsPrefix", "rootCloseEvent", "menuRole", "disabled", "active", "renderMenuOnMount"]);
  51. return /*#__PURE__*/_react.default.createElement(_Dropdown.default, (0, _extends2.default)({
  52. ref: ref
  53. }, props, {
  54. as: _NavItem.default
  55. }), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, {
  56. id: id,
  57. eventKey: null,
  58. active: active,
  59. disabled: disabled,
  60. childBsPrefix: bsPrefix,
  61. as: _NavLink.default
  62. }, title), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, {
  63. role: menuRole,
  64. renderOnMount: renderMenuOnMount,
  65. rootCloseEvent: rootCloseEvent
  66. }, children));
  67. });
  68. NavDropdown.displayName = 'NavDropdown';
  69. NavDropdown.propTypes = propTypes;
  70. NavDropdown.Item = _Dropdown.default.Item;
  71. NavDropdown.Divider = _Dropdown.default.Divider;
  72. NavDropdown.Header = _Dropdown.default.Header;
  73. var _default = NavDropdown;
  74. exports.default = _default;
  75. module.exports = exports["default"];