UNPKG

@lskjs/navbar

Version:

LSK ux subrepo: navbar

216 lines (182 loc) 21.2 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _uncontrollable = require("uncontrollable"); var _createWithBsPrefix = _interopRequireDefault(require("./createWithBsPrefix")); var _NavbarBrand = _interopRequireDefault(require("./NavbarBrand")); var _NavbarCollapse = _interopRequireDefault(require("./NavbarCollapse")); var _NavbarToggle = _interopRequireDefault(require("./NavbarToggle")); var _ThemeProvider = require("./ThemeProvider"); var _NavbarContext = _interopRequireDefault(require("./NavbarContext")); var _SelectableContext = _interopRequireDefault(require("./SelectableContext")); var propTypes = { /** @default 'navbar' */ bsPrefix: _propTypes["default"].string, /** * The general visual variant a the Navbar. * Use in combination with the `bg` prop, `background-color` utilities, * or your own background styles. * * @type {('light'|'dark')} */ variant: _propTypes["default"].string, /** * The breakpoint, below which, the Navbar will collapse. * When `true` the Navbar will always be expanded regardless of screen size. */ expand: _propTypes["default"].oneOf([true, 'sm', 'md', 'lg', 'xl']).isRequired, /** * A convenience prop for adding `bg-*` utility classes since they are so commonly used here. * `light` and `dark` are common choices but any `bg-*` class is supported, including any custom ones you might define. * * Pairs nicely with the `variant` prop. */ bg: _propTypes["default"].string, /** * Create a fixed navbar along the top or bottom of the screen, that scrolls with the * page. A convenience prop for the `fixed-*` positioning classes. */ fixed: _propTypes["default"].oneOf(['top', 'bottom']), /** * Position the navbar at the top or bottom of the viewport, * but only after scrolling past it. . A convenience prop for the `sticky-*` positioning classes. * * __Not supported in <= IE11 and other older browsers without a polyfill__ */ sticky: _propTypes["default"].oneOf(['top', 'bottom']), /** * Set a custom element for this component. */ as: _propTypes["default"].elementType, /** * A callback fired when the `<Navbar>` body collapses or expands. Fired when * a `<Navbar.Toggle>` is clicked and called with the new `expanded` * boolean value. * * @controllable expanded */ onToggle: _propTypes["default"].func, /** * A callback fired when a descendant of a child `<Nav>` is selected. Should * be used to execute complex closing or other miscellaneous actions desired * after selecting a descendant of `<Nav>`. Does nothing if no `<Nav>` or `<Nav>` * descendants exist. The callback is called with an eventKey, which is a * prop from the selected `<Nav>` descendant, and an event. * * ```js * function ( * eventKey: mixed, * event?: SyntheticEvent * ) * ``` * * For basic closing behavior after all `<Nav>` descendant onSelect events in * mobile viewports, try using collapseOnSelect. * * Note: If you are manually closing the navbar using this `OnSelect` prop, * ensure that you are setting `expanded` to false and not *toggling* between * true and false. */ onSelect: _propTypes["default"].func, /** * Toggles `expanded` to `false` after the onSelect event of a descendant of a * child `<Nav>` fires. Does nothing if no `<Nav>` or `<Nav>` descendants exist. * * Manually controlling `expanded` via the onSelect callback is recommended instead, * for more complex operations that need to be executed after * the `select` event of `<Nav>` descendants. */ collapseOnSelect: _propTypes["default"].bool, /** * Controls the visiblity of the navbar body * * @controllable onToggle */ expanded: _propTypes["default"].bool, /** * The ARIA role for the navbar, will default to 'navigation' for * Navbars whose `as` is something other than `<nav>`. * * @default 'navigation' */ role: _propTypes["default"].string }; var defaultProps = { expand: true, variant: 'light', collapseOnSelect: false }; var Navbar = _react["default"].forwardRef(function (props, ref) { var _useUncontrolled = (0, _uncontrollable.useUncontrolled)(props, { expanded: 'onToggle' }), bsPrefix = _useUncontrolled.bsPrefix, expand = _useUncontrolled.expand, variant = _useUncontrolled.variant, bg = _useUncontrolled.bg, fixed = _useUncontrolled.fixed, sticky = _useUncontrolled.sticky, className = _useUncontrolled.className, children = _useUncontrolled.children, _useUncontrolled$as = _useUncontrolled.as, Component = _useUncontrolled$as === void 0 ? 'nav' : _useUncontrolled$as, expanded = _useUncontrolled.expanded, _onToggle = _useUncontrolled.onToggle, onSelect = _useUncontrolled.onSelect, collapseOnSelect = _useUncontrolled.collapseOnSelect, controlledProps = (0, _objectWithoutProperties2["default"])(_useUncontrolled, ["bsPrefix", "expand", "variant", "bg", "fixed", "sticky", "className", "children", "as", "expanded", "onToggle", "onSelect", "collapseOnSelect"]); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'navbar'); var handleCollapse = (0, _react.useCallback)(function () { if (onSelect) onSelect.apply(void 0, arguments); if (collapseOnSelect && expanded) { _onToggle(false); } }, [onSelect, collapseOnSelect, expanded, _onToggle]); // will result in some false positives but that seems better // than false negatives. strict `undefined` check allows explicit // "nulling" of the role if the user really doesn't want one if (controlledProps.role === undefined && Component !== 'nav') { controlledProps.role = 'navigation'; } var expandClass = "".concat(bsPrefix, "-expand"); if (typeof expand === 'string') expandClass = "".concat(expandClass, "-").concat(expand); var navbarContext = (0, _react.useMemo)(function () { return { onToggle: function onToggle() { return _onToggle(!expanded); }, bsPrefix: bsPrefix, expanded: expanded }; }, [bsPrefix, expanded, _onToggle]); return /*#__PURE__*/_react["default"].createElement(_NavbarContext["default"].Provider, { value: navbarContext }, /*#__PURE__*/_react["default"].createElement(_SelectableContext["default"].Provider, { value: handleCollapse }, /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({ ref: ref }, controlledProps, { className: (0, _classnames["default"])(className, bsPrefix, expand && expandClass, variant && "".concat(bsPrefix, "-").concat(variant), bg && "bg-".concat(bg), sticky && "sticky-".concat(sticky), fixed && "fixed-".concat(fixed)) }), children))); }); Navbar.propTypes = propTypes; Navbar.defaultProps = defaultProps; Navbar.displayName = 'Navbar'; Navbar.Brand = _NavbarBrand["default"]; Navbar.Toggle = _NavbarToggle["default"]; Navbar.Collapse = _NavbarCollapse["default"]; Navbar.Text = (0, _createWithBsPrefix["default"])('navbar-text', { Component: 'span' }); var _default = Navbar; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OYXZiYXIuanMiXSwibmFtZXMiOlsicHJvcFR5cGVzIiwiYnNQcmVmaXgiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJ2YXJpYW50IiwiZXhwYW5kIiwib25lT2YiLCJpc1JlcXVpcmVkIiwiYmciLCJmaXhlZCIsInN0aWNreSIsImFzIiwiZWxlbWVudFR5cGUiLCJvblRvZ2dsZSIsImZ1bmMiLCJvblNlbGVjdCIsImNvbGxhcHNlT25TZWxlY3QiLCJib29sIiwiZXhwYW5kZWQiLCJyb2xlIiwiZGVmYXVsdFByb3BzIiwiTmF2YmFyIiwiUmVhY3QiLCJmb3J3YXJkUmVmIiwicHJvcHMiLCJyZWYiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsIkNvbXBvbmVudCIsImNvbnRyb2xsZWRQcm9wcyIsImhhbmRsZUNvbGxhcHNlIiwidW5kZWZpbmVkIiwiZXhwYW5kQ2xhc3MiLCJuYXZiYXJDb250ZXh0IiwiZGlzcGxheU5hbWUiLCJCcmFuZCIsIk5hdmJhckJyYW5kIiwiVG9nZ2xlIiwiTmF2YmFyVG9nZ2xlIiwiQ29sbGFwc2UiLCJOYXZiYXJDb2xsYXBzZSIsIlRleHQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLElBQU1BLFNBQVMsR0FBRztBQUNoQjtBQUNBQyxFQUFBQSxRQUFRLEVBQUVDLHNCQUFVQyxNQUZKOztBQUloQjs7Ozs7OztBQU9BQyxFQUFBQSxPQUFPLEVBQUVGLHNCQUFVQyxNQVhIOztBQWFoQjs7OztBQUlBRSxFQUFBQSxNQUFNLEVBQUVILHNCQUFVSSxLQUFWLENBQWdCLENBQUMsSUFBRCxFQUFPLElBQVAsRUFBYSxJQUFiLEVBQW1CLElBQW5CLEVBQXlCLElBQXpCLENBQWhCLEVBQWdEQyxVQWpCeEM7O0FBbUJoQjs7Ozs7O0FBTUFDLEVBQUFBLEVBQUUsRUFBRU4sc0JBQVVDLE1BekJFOztBQTJC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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5pbXBvcnQgeyB1c2VVbmNvbnRyb2xsZWQgfSBmcm9tICd1bmNvbnRyb2xsYWJsZSc7XG5cbmltcG9ydCBjcmVhdGVXaXRoQnNQcmVmaXggZnJvbSAnLi9jcmVhdGVXaXRoQnNQcmVmaXgnO1xuaW1wb3J0IE5hdmJhckJyYW5kIGZyb20gJy4vTmF2YmFyQnJhbmQnO1xuaW1wb3J0IE5hdmJhckNvbGxhcHNlIGZyb20gJy4vTmF2YmFyQ29sbGFwc2UnO1xuaW1wb3J0IE5hdmJhclRvZ2dsZSBmcm9tICcuL05hdmJhclRvZ2dsZSc7XG5pbXBvcnQgeyB1c2VCb290c3RyYXBQcmVmaXggfSBmcm9tICcuL1RoZW1lUHJvdmlkZXInO1xuaW1wb3J0IE5hdmJhckNvbnRleHQgZnJvbSAnLi9OYXZiYXJDb250ZXh0JztcbmltcG9ydCBTZWxlY3RhYmxlQ29udGV4dCBmcm9tICcuL1NlbGVjdGFibGVDb250ZXh0JztcblxuY29uc3QgcHJvcFR5cGVzID0ge1xuICAvKiogQGRlZmF1bHQgJ25hdmJhcicgKi9cbiAgYnNQcmVmaXg6IFByb3BUeXBlcy5zdHJpbmcsXG5cbiAgLyoqXG4gICAqIFRoZSBnZW5lcmFsIHZpc3VhbCB2YXJpYW50IGEgdGhlIE5hdmJhci5cbiAgICogVXNlIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIGBiZ2AgcHJvcCwgYGJhY2tncm91bmQtY29sb3JgIHV0aWxpdGllcyxcbiAgICogb3IgeW91ciBvd24gYmFja2dyb3VuZCBzdHlsZXMuXG4gICAqXG4gICAqIEB0eXBlIHsoJ2xpZ2h0J3wnZGFyaycpfVxuICAgKi9cbiAgdmFyaWFudDogUHJvcFR5cGVzLnN0cmluZyxcblxuICAvKipcbiAgICogVGhlIGJyZWFrcG9pbnQsIGJlbG93IHdoaWNoLCB0aGUgTmF2YmFyIHdpbGwgY29sbGFwc2UuXG4gICAqIFdoZW4gYHRydWVgIHRoZSBOYXZiYXIgd2lsbCBhbHdheXMgYmUgZXhwYW5kZWQgcmVnYXJkbGVzcyBvZiBzY3JlZW4gc2l6ZS5cbiAgICovXG4gIGV4cGFuZDogUHJvcFR5cGVzLm9uZU9mKFt0cnVlLCAnc20nLCAnbWQnLCAnbGcnLCAneGwnXSkuaXNSZXF1aXJlZCxcblxuICAvKipcbiAgICogQSBjb252ZW5pZW5jZSBwcm9wIGZvciBhZGRpbmcgYGJnLSpgIHV0aWxpdHkgY2xhc3NlcyBzaW5jZSB0aGV5IGFyZSBzbyBjb21tb25seSB1c2VkIGhlcmUuXG4gICAqIGBsaWdodGAgYW5kIGBkYXJrYCBhcmUgY29tbW9uIGNob2ljZXMgYnV0IGFueSBgYmctKmAgY2xhc3MgaXMgc3VwcG9ydGVkLCBpbmNsdWRpbmcgYW55IGN1c3RvbSBvbmVzIHlvdSBtaWdodCBkZWZpbmUuXG4gICAqXG4gICAqIFBhaXJzIG5pY2VseSB3aXRoIHRoZSBgdmFyaWFudGAgcHJvcC5cbiAgICovXG4gIGJnOiBQcm9wVHlwZXMuc3RyaW5nLFxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBmaXhlZCBuYXZiYXIgYWxvbmcgdGhlIHRvcCBvciBib3R0b20gb2YgdGhlIHNjcmVlbiwgdGhhdCBzY3JvbGxzIHdpdGggdGhlXG4gICAqIHBhZ2UuIEEgY29udmVuaWVuY2UgcHJvcCBmb3IgdGhlIGBmaXhlZC0qYCBwb3NpdGlvbmluZyBjbGFzc2VzLlxuICAgKi9cbiAgZml4ZWQ6IFByb3BUeXBlcy5vbmVPZihbJ3RvcCcsICdib3R0b20nXSksXG5cbiAgLyoqXG4gICAqIFBvc2l0aW9uIHRoZSBuYXZiYXIgYXQgdGhlIHRvcCBvciBib3R0b20gb2YgdGhlIHZpZXdwb3J0LFxuICAgKiBidXQgb25seSBhZnRlciBzY3JvbGxpbmcgcGFzdCBpdC4gLiBBIGNvbnZlbmllbmNlIHByb3AgZm9yIHRoZSBgc3RpY2t5LSpgIHBvc2l0aW9uaW5nIGNsYXNzZXMuXG4gICAqXG4gICAqICBfX05vdCBzdXBwb3J0ZWQgaW4gPD0gSUUxMSBhbmQgb3RoZXIgb2xkZXIgYnJvd3NlcnMgd2l0aG91dCBhIHBvbHlmaWxsX19cbiAgICovXG4gIHN0aWNreTogUHJvcFR5cGVzLm9uZU9mKFsndG9wJywgJ2JvdHRvbSddKSxcblxuICAvKipcbiAgICogU2V0IGEgY3VzdG9tIGVsZW1lbnQgZm9yIHRoaXMgY29tcG9uZW50LlxuICAgKi9cbiAgYXM6IFByb3BUeXBlcy5lbGVtZW50VHlwZSxcblxuICAvKipcbiAgICogQSBjYWxsYmFjayBmaXJlZCB3aGVuIHRoZSBgPE5hdmJhcj5gIGJvZHkgY29sbGFwc2VzIG9yIGV4cGFuZHMuIEZpcmVkIHdoZW5cbiAgICogYSBgPE5hdmJhci5Ub2dnbGU+YCBpcyBjbGlja2VkIGFuZCBjYWxsZWQgd2l0aCB0aGUgbmV3IGBleHBhbmRlZGBcbiAgICogYm9vbGVhbiB2YWx1ZS5cbiAgICpcbiAgICogQGNvbnRyb2xsYWJsZSBleHBhbmRlZFxuICAgKi9cbiAgb25Ub2dnbGU6IFByb3BUeXBlcy5mdW5jLFxuXG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZpcmVkIHdoZW4gYSBkZXNjZW5kYW50IG9mIGEgY2hpbGQgYDxOYXY+YCBpcyBzZWxlY3RlZC4gU2hvdWxkXG4gICAqIGJlIHVzZWQgdG8gZXhlY3V0ZSBjb21wbGV4IGNsb3Npbmcgb3Igb3RoZXIgbWlzY2VsbGFuZW91cyBhY3Rpb25zIGRlc2lyZWRcbiAgICogYWZ0ZXIgc2VsZWN0aW5nIGEgZGVzY2VuZGFudCBvZiBgPE5hdj5gLiBEb2VzIG5vdGhpbmcgaWYgbm8gYDxOYXY+YCBvciBgPE5hdj5gXG4gICAqIGRlc2NlbmRhbnRzIGV4aXN0LiBUaGUgY2FsbGJhY2sgaXMgY2FsbGVkIHdpdGggYW4gZXZlbnRLZXksIHdoaWNoIGlzIGFcbiAgICogcHJvcCBmcm9tIHRoZSBzZWxlY3RlZCBgPE5hdj5gIGRlc2NlbmRhbnQsIGFuZCBhbiBldmVudC5cbiAgICpcbiAgICogYGBganNcbiAgICogZnVuY3Rpb24gKFxuICAgKiAgZXZlbnRLZXk6IG1peGVkLFxuICAgKiAgZXZlbnQ/OiBTeW50aGV0aWNFdmVudFxuICAgKiApXG4gICAqIGBgYFxuICAgKlxuICAgKiBGb3IgYmFzaWMgY2xvc2luZyBiZWhhdmlvciBhZnRlciBhbGwgYDxOYXY+YCBkZXNjZW5kYW50IG9uU2VsZWN0IGV2ZW50cyBpblxuICAgKiBtb2JpbGUgdmlld3BvcnRzLCB0cnkgdXNpbmcgY29sbGFwc2VPblNlbGVjdC5cbiAgICpcbiAgICogTm90ZTogSWYgeW91IGFyZSBtYW51YWxseSBjbG9zaW5nIHRoZSBuYXZiYXIgdXNpbmcgdGhpcyBgT25TZWxlY3RgIHByb3AsXG4gICAqIGVuc3VyZSB0aGF0IHlvdSBhcmUgc2V0dGluZyBgZXhwYW5kZWRgIHRvIGZhbHNlIGFuZCBub3QgKnRvZ2dsaW5nKiBiZXR3ZWVuXG4gICAqIHRydWUgYW5kIGZhbHNlLlxuICAgKi9cbiAgb25TZWxlY3Q6IFByb3BUeXBlcy5mdW5jLFxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIGBleHBhbmRlZGAgdG8gYGZhbHNlYCBhZnRlciB0aGUgb25TZWxlY3QgZXZlbnQgb2YgYSBkZXNjZW5kYW50IG9mIGFcbiAgICogY2hpbGQgYDxOYXY+YCBmaXJlcy4gRG9lcyBub3RoaW5nIGlmIG5vIGA8TmF2PmAgb3IgYDxOYXY+YCBkZXNjZW5kYW50cyBleGlzdC5cbiAgICpcbiAgICogTWFudWFsbHkgY29udHJvbGxpbmcgYGV4cGFuZGVkYCB2aWEgdGhlIG9uU2VsZWN0IGNhbGxiYWNrIGlzIHJlY29tbWVuZGVkIGluc3RlYWQsXG4gICAqIGZvciBtb3JlIGNvbXBsZXggb3BlcmF0aW9ucyB0aGF0IG5lZWQgdG8gYmUgZXhlY3V0ZWQgYWZ0ZXJcbiAgICogdGhlIGBzZWxlY3RgIGV2ZW50IG9mIGA8TmF2PmAgZGVzY2VuZGFudHMuXG4gICAqL1xuICBjb2xsYXBzZU9uU2VsZWN0OiBQcm9wVHlwZXMuYm9vbCxcblxuICAvKipcbiAgICogQ29udHJvbHMgdGhlIHZpc2libGl0eSBvZiB0aGUgbmF2YmFyIGJvZHlcbiAgICpcbiAgICogQGNvbnRyb2xsYWJsZSBvblRvZ2dsZVxuICAgKi9cbiAgZXhwYW5kZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gIC8qKlxuICAgKiBUaGUgQVJJQSByb2xlIGZvciB0aGUgbmF2YmFyLCB3aWxsIGRlZmF1bHQgdG8gJ25hdmlnYXRpb24nIGZvclxuICAgKiBOYXZiYXJzIHdob3NlIGBhc2AgaXMgc29tZXRoaW5nIG90aGVyIHRoYW4gYDxuYXY+YC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ25hdmlnYXRpb24nXG4gICAqL1xuICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBleHBhbmQ6IHRydWUsXG4gIHZhcmlhbnQ6ICdsaWdodCcsXG4gIGNvbGxhcHNlT25TZWxlY3Q6IGZhbHNlLFxufTtcblxuY29uc3QgTmF2YmFyID0gUmVhY3QuZm9yd2FyZFJlZigocHJvcHMsIHJlZikgPT4ge1xuICBsZXQge1xuICAgIGJzUHJlZml4LFxuICAgIGV4cGFuZCxcbiAgICB2YXJpYW50LFxuICAgIGJnLFxuICAgIGZpeGVkLFxuICAgIHN0aWNreSxcbiAgICBjbGFzc05hbWUsXG4gICAgY2hpbGRyZW4sXG4gICAgLy8gTmVlZCB0byBkZWZpbmUgdGhlIGRlZmF1bHQgXCJhc1wiIGR1cmluZyBwcm9wIGRlc3RydWN0dXJpbmcgdG8gYmUgY29tcGF0aWJsZSB3aXRoIHN0eWxlZC1jb21wb25lbnRzIGdpdGh1Yi5jb20vcmVhY3QtYm9vdHN0cmFwL3JlYWN0LWJvb3RzdHJhcC9pc3N1ZXMvMzU5NVxuICAgIGFzOiBDb21wb25lbnQgPSAnbmF2JyxcbiAgICBleHBhbmRlZCxcbiAgICBvblRvZ2dsZSxcbiAgICBvblNlbGVjdCxcbiAgICBjb2xsYXBzZU9uU2VsZWN0LFxuICAgIC4uLmNvbnRyb2xsZWRQcm9wc1xuICB9ID0gdXNlVW5jb250cm9sbGVkKHByb3BzLCB7XG4gICAgZXhwYW5kZWQ6ICdvblRvZ2dsZScsXG4gIH0pO1xuXG4gIGJzUHJlZml4ID0gdXNlQm9vdHN0cmFwUHJlZml4KGJzUHJlZml4LCAnbmF2YmFyJyk7XG5cbiAgY29uc3QgaGFuZGxlQ29sbGFwc2UgPSB1c2VDYWxsYmFjayhcbiAgICAoLi4uYXJncykgPT4ge1xuICAgICAgaWYgKG9uU2VsZWN0KSBvblNlbGVjdCguLi5hcmdzKTtcbiAgICAgIGlmIChjb2xsYXBzZU9uU2VsZWN0ICYmIGV4cGFuZGVkKSB7XG4gICAgICAgIG9uVG9nZ2xlKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtvblNlbGVjdCwgY29sbGFwc2VPblNlbGVjdCwgZXhwYW5kZWQsIG9uVG9nZ2xlXSxcbiAgKTtcblxuICAvLyB3aWxsIHJlc3VsdCBpbiBzb21lIGZhbHNlIHBvc2l0aXZlcyBidXQgdGhhdCBzZWVtcyBiZXR0ZXJcbiAgLy8gdGhhbiBmYWxzZSBuZWdhdGl2ZXMuIHN0cmljdCBgdW5kZWZpbmVkYCBjaGVjayBhbGxvd3MgZXhwbGljaXRcbiAgLy8gXCJudWxsaW5nXCIgb2YgdGhlIHJvbGUgaWYgdGhlIHVzZXIgcmVhbGx5IGRvZXNuJ3Qgd2FudCBvbmVcbiAgaWYgKGNvbnRyb2xsZWRQcm9wcy5yb2xlID09PSB1bmRlZmluZWQgJiYgQ29tcG9uZW50ICE9PSAnbmF2Jykge1xuICAgIGNvbnRyb2xsZWRQcm9wcy5yb2xlID0gJ25hdmlnYXRpb24nO1xuICB9XG4gIGxldCBleHBhbmRDbGFzcyA9IGAke2JzUHJlZml4fS1leHBhbmRgO1xuICBpZiAodHlwZW9mIGV4cGFuZCA9PT0gJ3N0cmluZycpIGV4cGFuZENsYXNzID0gYCR7ZXhwYW5kQ2xhc3N9LSR7ZXhwYW5kfWA7XG5cbiAgY29uc3QgbmF2YmFyQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIG9uVG9nZ2xlOiAoKSA9PiBvblRvZ2dsZSghZXhwYW5kZWQpLFxuICAgICAgYnNQcmVmaXgsXG4gICAgICBleHBhbmRlZCxcbiAgICB9KSxcbiAgICBbYnNQcmVmaXgsIGV4cGFuZGVkLCBvblRvZ2dsZV0sXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2YmFyQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmF2YmFyQ29udGV4dH0+XG4gICAgICA8U2VsZWN0YWJsZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2hhbmRsZUNvbGxhcHNlfT5cbiAgICAgICAgPENvbXBvbmVudFxuICAgICAgICAgIHJlZj17cmVmfVxuICAgICAgICAgIHsuLi5jb250cm9sbGVkUHJvcHN9XG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFxuICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgYnNQcmVmaXgsXG4gICAgICAgICAgICBleHBhbmQgJiYgZXhwYW5kQ2xhc3MsXG4gICAgICAgICAgICB2YXJpYW50ICYmIGAke2JzUHJlZml4fS0ke3ZhcmlhbnR9YCxcbiAgICAgICAgICAgIGJnICYmIGBiZy0ke2JnfWAsXG4gICAgICAgICAgICBzdGlja3kgJiYgYHN0aWNreS0ke3N0aWNreX1gLFxuICAgICAgICAgICAgZml4ZWQgJiYgYGZpeGVkLSR7Zml4ZWR9YCxcbiAgICAgICAgICApfVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbXBvbmVudD5cbiAgICAgIDwvU2VsZWN0YWJsZUNvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9OYXZiYXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufSk7XG5cbk5hdmJhci5wcm9wVHlwZXMgPSBwcm9wVHlwZXM7XG5OYXZiYXIuZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuTmF2YmFyLmRpc3BsYXlOYW1lID0gJ05hdmJhcic7XG5cbk5hdmJhci5CcmFuZCA9IE5hdmJhckJyYW5kO1xuTmF2YmFyLlRvZ2dsZSA9IE5hdmJhclRvZ2dsZTtcbk5hdmJhci5Db2xsYXBzZSA9IE5hdmJhckNvbGxhcHNlO1xuXG5OYXZiYXIuVGV4dCA9IGNyZWF0ZVdpdGhCc1ByZWZpeCgnbmF2YmFyLXRleHQnLCB7XG4gIENvbXBvbmVudDogJ3NwYW4nLFxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdmJhcjtcbiJdfQ== //# sourceMappingURL=Navbar.js.map