Dashboard sipadu mbip
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.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import classNames from 'classnames';
  4. import React, { useContext } from 'react';
  5. import useEventCallback from '@restart/hooks/useEventCallback';
  6. import { useBootstrapPrefix } from './ThemeProvider';
  7. import NavbarContext from './NavbarContext';
  8. var defaultProps = {
  9. label: 'Toggle navigation'
  10. };
  11. var NavbarToggle = React.forwardRef(function (_ref, ref) {
  12. var bsPrefix = _ref.bsPrefix,
  13. className = _ref.className,
  14. children = _ref.children,
  15. label = _ref.label,
  16. _ref$as = _ref.as,
  17. Component = _ref$as === void 0 ? 'button' : _ref$as,
  18. onClick = _ref.onClick,
  19. props = _objectWithoutPropertiesLoose(_ref, ["bsPrefix", "className", "children", "label", "as", "onClick"]);
  20. bsPrefix = useBootstrapPrefix(bsPrefix, 'navbar-toggler');
  21. var _ref2 = useContext(NavbarContext) || {},
  22. onToggle = _ref2.onToggle,
  23. expanded = _ref2.expanded;
  24. var handleClick = useEventCallback(function (e) {
  25. if (onClick) onClick(e);
  26. if (onToggle) onToggle();
  27. });
  28. if (Component === 'button') {
  29. props.type = 'button';
  30. }
  31. return React.createElement(Component, _extends({}, props, {
  32. ref: ref,
  33. onClick: handleClick,
  34. "aria-label": label,
  35. className: classNames(className, bsPrefix, !expanded && 'collapsed')
  36. }), children || React.createElement("span", {
  37. className: bsPrefix + "-icon"
  38. }));
  39. });
  40. NavbarToggle.displayName = 'NavbarToggle';
  41. NavbarToggle.defaultProps = defaultProps;
  42. export default NavbarToggle;