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.

Navbar.js 4.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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 _uncontrollable = require("uncontrollable");
  11. var _createWithBsPrefix = _interopRequireDefault(require("./utils/createWithBsPrefix"));
  12. var _NavbarBrand = _interopRequireDefault(require("./NavbarBrand"));
  13. var _NavbarCollapse = _interopRequireDefault(require("./NavbarCollapse"));
  14. var _NavbarToggle = _interopRequireDefault(require("./NavbarToggle"));
  15. var _ThemeProvider = require("./ThemeProvider");
  16. var _NavbarContext = _interopRequireDefault(require("./NavbarContext"));
  17. var _SelectableContext = _interopRequireDefault(require("./SelectableContext"));
  18. var defaultProps = {
  19. expand: true,
  20. variant: 'light',
  21. collapseOnSelect: false
  22. };
  23. var Navbar = _react.default.forwardRef(function (props, ref) {
  24. var _useUncontrolled = (0, _uncontrollable.useUncontrolled)(props, {
  25. expanded: 'onToggle'
  26. }),
  27. bsPrefix = _useUncontrolled.bsPrefix,
  28. expand = _useUncontrolled.expand,
  29. variant = _useUncontrolled.variant,
  30. bg = _useUncontrolled.bg,
  31. fixed = _useUncontrolled.fixed,
  32. sticky = _useUncontrolled.sticky,
  33. className = _useUncontrolled.className,
  34. children = _useUncontrolled.children,
  35. _useUncontrolled$as = _useUncontrolled.as,
  36. Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as,
  37. expanded = _useUncontrolled.expanded,
  38. _onToggle = _useUncontrolled.onToggle,
  39. onSelect = _useUncontrolled.onSelect,
  40. collapseOnSelect = _useUncontrolled.collapseOnSelect,
  41. controlledProps = (0, _objectWithoutPropertiesLoose2.default)(_useUncontrolled, ["bsPrefix", "expand", "variant", "bg", "fixed", "sticky", "className", "children", "as", "expanded", "onToggle", "onSelect", "collapseOnSelect"]);
  42. bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'navbar');
  43. var handleCollapse = (0, _react.useCallback)(function () {
  44. if (onSelect) onSelect.apply(void 0, arguments);
  45. if (collapseOnSelect && expanded) {
  46. _onToggle(false);
  47. }
  48. }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better
  49. // than false negatives. strict `undefined` check allows explicit
  50. // "nulling" of the role if the user really doesn't want one
  51. if (controlledProps.role === undefined && Component !== 'nav') {
  52. controlledProps.role = 'navigation';
  53. }
  54. var expandClass = bsPrefix + "-expand";
  55. if (typeof expand === 'string') expandClass = expandClass + "-" + expand;
  56. var navbarContext = (0, _react.useMemo)(function () {
  57. return {
  58. onToggle: function onToggle() {
  59. return _onToggle(!expanded);
  60. },
  61. bsPrefix: bsPrefix,
  62. expanded: expanded
  63. };
  64. }, [bsPrefix, expanded, _onToggle]);
  65. return _react.default.createElement(_NavbarContext.default.Provider, {
  66. value: navbarContext
  67. }, _react.default.createElement(_SelectableContext.default.Provider, {
  68. value: handleCollapse
  69. }, _react.default.createElement(Component, (0, _extends2.default)({
  70. ref: ref
  71. }, controlledProps, {
  72. className: (0, _classnames.default)(className, bsPrefix, expand && expandClass, variant && bsPrefix + "-" + variant, bg && "bg-" + bg, sticky && "sticky-" + sticky, fixed && "fixed-" + fixed)
  73. }), children)));
  74. });
  75. Navbar.defaultProps = defaultProps;
  76. Navbar.displayName = 'Navbar';
  77. Navbar.Brand = _NavbarBrand.default;
  78. Navbar.Toggle = _NavbarToggle.default;
  79. Navbar.Collapse = _NavbarCollapse.default;
  80. Navbar.Text = (0, _createWithBsPrefix.default)('navbar-text', {
  81. Component: 'span'
  82. });
  83. var _default = Navbar;
  84. exports.default = _default;
  85. module.exports = exports["default"];