{"version":3,"sources":["webpack:////home/git/gitlab/node_modules/lodash/clamp.js","webpack:///./super_sidebar/constants.js","webpack:////home/git/gitlab/node_modules/lodash/isNil.js","webpack:////home/git/gitlab/node_modules/lodash/_baseClamp.js","webpack:///./helpers/event_hub_factory.js","webpack:///./lib/utils/keycodes.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/directives/outside/get_event_like_time_stamp.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/directives/outside/outside.js","webpack:////home/git/gitlab/node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./super_sidebar/components/nav_item.vue","webpack:///./super_sidebar/components/nav_item_link.vue?635c","webpack:///super_sidebar/components/nav_item_link.vue","webpack:///./super_sidebar/components/nav_item_link.vue?4b2a","webpack:///./super_sidebar/components/nav_item_link.vue","webpack:///./super_sidebar/components/nav_item_router_link.vue?b2b8","webpack:///super_sidebar/components/nav_item_router_link.vue","webpack:///./super_sidebar/components/nav_item_router_link.vue?a783","webpack:///./super_sidebar/components/nav_item_router_link.vue","webpack:///./super_sidebar/components/nav_item.vue?b207","webpack:///super_sidebar/components/nav_item.vue","webpack:///./super_sidebar/components/nav_item.vue?f7b7","webpack:///./super_sidebar/utils.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/constants.js","webpack:////home/git/gitlab/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js","webpack:////home/git/gitlab/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","webpack:///./vue_shared/global_search/constants.js","webpack:///./super_sidebar/super_sidebar_collapsed_state_manager.js","webpack:////home/git/gitlab/node_modules/portal-vue/dist/portal-vue.common.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/base_dropdown/constants.js","webpack:///./vue_shared/mixins/gl_feature_flags_mixin.js","webpack:////home/git/gitlab/node_modules/bootstrap-vue/esm/utils/get-instance-from-directive.js","webpack:///./super_sidebar/event_hub.js","webpack:////home/git/gitlab/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js"],"names":["baseClamp","toNumber","module","exports","number","lower","upper","undefined","SIDEBAR_PORTAL_ID","JS_TOGGLE_COLLAPSE_CLASS","JS_TOGGLE_EXPAND_CLASS","portalState","Vue","observable","ready","sidebarState","isCollapsed","hasPeeked","isPeek","isPeekable","isHoverPeek","wasHoverPeek","helpCenterState","showTanukiBotChatDrawer","SUPER_SIDEBAR_PEEK_OPEN_DELAY","SUPER_SIDEBAR_PEEK_CLOSE_DELAY","SUPER_SIDEBAR_PEEK_STATE_CLOSED","SUPER_SIDEBAR_PEEK_STATE_WILL_OPEN","SUPER_SIDEBAR_PEEK_STATE_OPEN","SUPER_SIDEBAR_PEEK_STATE_WILL_CLOSE","TRACKING_UNKNOWN_ID","TRACKING_UNKNOWN_PANEL","CLICK_MENU_ITEM_ACTION","CLICK_PINNED_MENU_ITEM_ACTION","PANELS_WITH_PINS","USER_MENU_TRACKING_DEFAULTS","HELP_MENU_TRACKING_DEFAULTS","SIDEBAR_PINS_EXPANDED_COOKIE","SIDEBAR_COOKIE_EXPIRATION","PINNED_NAV_STORAGE_KEY","DROPDOWN_Y_OFFSET","NAV_ITEM_LINK_ACTIVE_CLASS","IMPERSONATING_OFFSET","FREQUENT_ITEMS","MAX_COUNT","ELIGIBLE_FREQUENCY","FIFTEEN_MINUTES_IN_MS","value","EventHub","constructor","this","$_all","Map","dispose","clear","$on","type","handler","handlers","get","push","set","$off","newHandlers","filter","x","length","delete","$once","_this","wrapHandler","args","$emit","forEach","BACKSPACE_KEY_CODE","TAB_KEY_CODE","ENTER_KEY_CODE","ESC_KEY_CODE","UP_KEY_CODE","DOWN_KEY_CODE","DELETE_KEY_CODE","performance","window","getEventLikeTimeStamp","now","Date","document","createEvent","timeStamp","callbacks","listening","lastMousedown","globalListener","event","_ref","element","bindTimeStamp","callback","originalEvent","contains","target","e","onMousedown","OutsideDirective","bind","el","_ref2","arg","Error","has","addEventListener","capture","unbind","size","removeEventListener","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","i","arguments","source","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","BV_TOOLTIP","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","applyTooltip","bindings","vnode","config","title","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","String","boundaryPadding","variant","customClass","attrs","props","data","show","hide","concat","modifiers","mod","test","slice","selectedTriggers","join","trim","toLowerCase","split","parseBindings","parent","_scopeId","__bv_prev_data__","updateData","triggers","noFade","oldData","newData","prop","VBTooltip","componentUpdated","$destroy","removeTooltip","item","required","computed","isActive","is_active","linkProps","href","link","ariaCurrent","computedLinkClasses","_vm","_c","_self","_b","class","on","$event","_t","to","methods","$options","scopedSlots","_u","fn","navigate","i18n","pin","s__","pinItem","unpin","unpinItem","name","components","GlAvatar","GlButton","GlIcon","GlBadge","NavItemLink","NavItemRouterLink","directives","GlTooltip","GlTooltipDirective","inject","pinnedItemIds","default","ids","panelSupportsPins","panelType","isInPinnedSection","Boolean","isStatic","linkClasses","isSubitem","isFlyout","isMouseIn","canClickPinButton","pillData","pill_count","hasPill","Number","isFinite","isPinnable","isPinned","includes","trackingProps","_this$item$id","extraData","JSON","stringify","qaSubMenuItem","replace","_this$item$data_metho","$attrs","data_method","link_classes","navItemLinkComponent","hasAvatar","entity_id","hasEndSpace","avatarShape","avatar_shape","pinAriaLabel","sprintf","unpinAriaLabel","activeIndicatorStyle","style","width","borderRadius","marginRight","transform","mounted","$el","scrollIntoView","behavior","block","inline","eventHub","updatePillValue","destroyed","pinAdd","pinRemove","togglePointerEvents","itemId","staticClass","tag","_v","_e","icon","avatar","_s","subtitle","rawName","expression","sortItemsByFrequencyAndLastAccess","items","sort","itemA","itemB","frequency","lastAccessedOn","updateItemAccess","contextItem","namespace","trackVisitsPath","shouldUpdate","Math","abs","axios","url","method","catch","Sentry","trackContextAccess","username","context","AccessorUtilities","canUseLocalStorage","storageKey","storedRawItems","localStorage","getItem","storedItems","parse","existingItemIndex","findIndex","cachedItem","newItem","pop","setItem","GL_DROPDOWN_SHOWN","GL_DROPDOWN_HIDDEN","GL_DROPDOWN_BEFORE_CLOSE","GL_DROPDOWN_FOCUS_CONTENT","ARROW_DOWN","ARROW_UP","END","ENTER","HOME","SPACE","POSITION_ABSOLUTE","POSITION_FIXED","GL_DROPDOWN_CONTENTS_CLASS","getWindow","node","_node$ownerDocument","ownerDocument","defaultView","getComputedStyle$1","getComputedStyle","isNode","Node","getNodeName","nodeName","isHTMLElement","HTMLElement","isElement","Element","isShadowRoot","ShadowRoot","isOverflowElement","overflow","overflowX","overflowY","display","isTableElement","isContainingBlock","safari","isSafari","css","perspective","containerType","backdropFilter","some","willChange","contain","CSS","supports","isLastTraversableNode","min","max","round","floor","createEmptyCoords","v","y","getCssDimensions","parseFloat","height","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","contextElement","getScale","domElement","rect","getBoundingClientRect","noOffsets","getVisualOffsets","isFixed","floatingOffsetParent","_win$visualViewport","_win$visualViewport2","win","visualViewport","offsetLeft","offsetTop","includeScale","isFixedStrategy","offsetParent","clientRect","scale","visualOffsets","left","top","offsetWin","currentIFrame","frameElement","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","getDocumentElement","documentElement","getNodeScroll","scrollLeft","scrollTop","pageXOffset","pageYOffset","getWindowScrollBarX","getParentNode","result","assignedSlot","parentNode","host","getOverflowAncestors","list","scrollableAncestor","getNearestOverflowAncestor","body","isBody","getClientRectFromClippingAncestor","clippingAncestor","strategy","clientWidth","clientHeight","visualViewportBased","getViewportRect","scroll","scrollWidth","scrollHeight","direction","getDocumentRect","getInnerBoundingClientRect","hasFixedPositionAncestor","stopNode","position","getTrueOffsetParent","polyfill","getOffsetParent","currentNode","getContainingBlock","getRectRelativeToOffsetParent","isOffsetParentAnElement","offsets","offsetRect","platform","getClippingRect","rootBoundary","clippingAncestors","cache","cachedResult","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingElementAncestors","firstClippingAncestor","clippingRect","reduce","accRect","right","bottom","convertOffsetParentRelativeRectToViewportRelativeRect","getDimensions","reference","floating","getOffsetParentFn","getDimensionsFn","getClientRects","Array","from","isRTL","autoUpdate","update","options","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","IntersectionObserver","animationFrame","referenceEl","ancestors","passive","cleanupIo","onMove","timeoutId","io","root","cleanup","clearTimeout","disconnect","refresh","skip","threshold","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","observe","observeMove","frameId","reobserveFrame","resizeObserver","firstEntry","unobserve","cancelAnimationFrame","requestAnimationFrame","prevRefRect","frameLoop","nextRefRect","computePosition","mergedOptions","platformWithCache","sides","alignments","placements","acc","side","oppositeSideMap","oppositeAlignmentMap","start","end","clamp","evaluate","param","getSide","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getOppositeAxisPlacements","flipAlignment","isStart","lr","rl","tb","bt","getSideList","map","getPaddingObject","padding","expandPaddingObject","rectToClientRect","AUTOCOMPLETE_ERROR_MESSAGE","NO_SEARCH_RESULTS","ALL_GITLAB","__","PLACES","COMMAND_PALETTE","DESCRIBE_LABEL_FILTER","DESCRIBE_LABEL_FILTER_INPUT","SEARCH_DESCRIBED_BY_DEFAULT","SEARCH_DESCRIBED_BY_WITH_RESULTS","SEARCH_DESCRIBED_BY_UPDATED","SEARCH_RESULTS_LOADING","MIN_SEARCH_TERM","MSG_ISSUES_ASSIGNED_TO_ME","MSG_ISSUES_IVE_CREATED","MSG_MR_ASSIGNED_TO_ME","MSG_MR_IM_REVIEWER","MSG_MR_IVE_CREATED","MSG_IN_ALL_GITLAB","GROUPS_CATEGORY","PROJECTS_CATEGORY","USERS_CATEGORY","ISSUES_CATEGORY","MERGE_REQUEST_CATEGORY","RECENT_EPICS_CATEGORY","IN_THIS_PROJECT_CATEGORY","SETTINGS_CATEGORY","HELP_CATEGORY","SEARCH_RESULTS_ORDER","SEARCH_LABELS","DROPDOWN_HEADER","AGGREGATIONS_ERROR_MESSAGE","NO_LABELS_FOUND","COMMAND_PALETTE_TIP","COMMAND_PALETTE_TYPE_PAGES","COMMAND_PALETTE_TYPE_FILES","COMMAND_PALETTE_SEARCH_SCOPE_HEADER","COMMAND_PALETTE_PAGES_SCOPE_HEADER","COMMAND_PALETTE_USERS_SCOPE_HEADER","COMMAND_PALETTE_PROJECTS_SCOPE_HEADER","COMMAND_PALETTE_FILES_SCOPE_HEADER","COMMAND_PALETTE_PAGES_CHAR","COMMAND_PALETTE_USERS_CHAR","COMMAND_PALETTE_PROJECTS_CHAR","COMMAND_PALETTE_FILES_CHAR","I18N","findPage","querySelector","classList","isDesktopBreakpoint","bp","windowWidth","breakpoints","xl","toggleSuperSidebarCollapsed","collapsed","saveCookie","toggle","setCookie","expires","initSuperSidebarCollapsedState","forceDesktopExpandedSidebar","getCookie","bindSuperSidebarCollapsedEvents","previousWindowWidth","innerWidth","_debounce","newWindowWidth","collapsedBeforeResize","collapsedAfterResize","Tracking","label","property","ex","_typeof","Symbol","iterator","prototype","_toConsumableArray","arr","isArray","arr2","_arrayWithoutHoles","iter","toString","call","_iterableToArray","TypeError","_nonIterableSpread","inBrowser","pick","hasOwnProperty","transports","targets","sources","wormhole","extend","trackInstances","open","transport","passengers","_transport$order","order","Infinity","newTransport","freeze","indexOf","compareFn","currentIndex","$_getTransportIndex","newTransports","a","b","idx","c","close","force","index","splice","registerTarget","vm","console","warn","$set","unregisterTarget","$delete","registerSource","unregisterSource","hasTarget","hasSource","hasContentFor","_id","Portal","slim","slotProps","random","created","$nextTick","sendUpdate","updated","beforeDestroy","watch","newValue","oldValue","closer","normalizeSlots","$scopedSlots","$slots","normalizeOwnChildren","children","slotContent","render","h","Tag","PortalTarget","multiple","transition","Function","firstRender","ownTransports","newVal","oldVal","_this2","temp","newPassengers","combinePassengers","noWrapper","_id$1","portalProps","targetProps","MountingPortal","inheritAttrs","append","bail","mountTo","targetSlim","targetSlotProps","targetTag","$props","portalTarget","mountEl","createElement","appendChild","_props","$parent","propsData","error","removeChild","$listeners","content","install","Vue$$1","component","portalName","portalTargetName","MountingPortalName","Wormhole","BASE_DROPDOWN_CLASS","__vue_script__","Outside","toggleText","textSrOnly","category","primary","validator","loading","toggleClass","noCaret","ariaHaspopup","toggleId","ariaLabelledby","mainAxis","fluidWidth","positioningStrategy","openedYet","visible","baseDropdownId","_this$toggleText","hasNoVisibleToggleText","toggleLabelledBy","isIconOnly","isCaretOnly","isDefaultToggle","is","buttonTextClasses","toggleButtonTextClasses","toggleButtonClasses","ariaAttributes","listeners","keydown","onKeydown","toggleOptions","attributes","_this$$refs$toggle","$refs","firstElementChild","middleware","allowedPlacements","_this$nonScrollableCo","availableHeight","elements","contentsEl","contentsAvailableHeight","nonScrollableContentHeight","assign","maxHeight","deep","toggleElement","setAttribute","checkToggleFocusable","stopFloating","calculateNonScrollableAreaHeight","observer","MutationObserver","childList","subtree","stopAutoUpdate","async","floatingUIConfig","_this$observer","_this$stopAutoUpdate","prevented","startFloating","hasToggled","activeElement","focusToggle","code","tagName","toggleOnEnter","toggleOnSpace","_this$$refs$content","scrollableArea","floatingElementBoundingBox","scrollableAreaBoundingBox","__vue_component__","_h","$createElement","toggleComponent","_g","ref","toggleAttributes","toggleListeners","panelClasses","_k","keyCode","stopPropagation","preventDefault","closeAndFocus","staticRenderFns","glFeatures","getInstanceFromDirective","instance","createEventHub","computeCoordsFromPlacement","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","validMiddleware","getElementRects","statefulPlacement","middlewareData","resetCount","nextX","nextY","reset","initialPlacement","detectOverflow","state","_await$platform$isEle","elementContext","altBoundary","paddingObject","clippingClientRect","offsetScale","elementClientRect","autoPlacement","_middlewareData$autoP","_middlewareData$autoP2","_placementsThatFitOnE","crossAxis","autoAlignment","detectOverflowOptions","placements$1","getPlacementList","currentPlacement","alignmentSides","currentOverflows","allOverflows","overflows","nextPlacement","placementsSortedByMostSpace","d","resetPlacement","every","flip","_middlewareData$arrow","_middlewareData$flip","checkMainAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","arrow","alignmentOffset","isBasePlacement","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","_overflowsData$map$so","_middlewareData$offse","diffCoords","mainAxisMulti","crossAxisMulti","rawValue","convertValueToCoords","shift","limiter","mainAxisCoord","crossAxisCoord","maxSide","limitedCoords","isYAxis","heightSide","widthSide","overflowAvailableHeight","overflowAvailableWidth","noShift","availableWidth","maximumClippingWidth","maximumClippingHeight","xMin","xMax","yMin","yMax","nextDimensions"],"mappings":"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","file":"commons-pages.search.show-super_sidebar.75dc86a2.chunk.js","sourcesContent":["var baseClamp = require('./_baseClamp'),\n toNumber = require('./toNumber');\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n","// Note: all constants defined here are considered internal implementation\n// details for the sidebar. They should not be imported by anything outside of\n// the super_sidebar directory.\n\nimport Vue from 'vue';\n\nexport const SIDEBAR_PORTAL_ID = 'sidebar-portal-mount';\nexport const JS_TOGGLE_COLLAPSE_CLASS = 'js-super-sidebar-toggle-collapse';\nexport const JS_TOGGLE_EXPAND_CLASS = 'js-super-sidebar-toggle-expand';\n\nexport const portalState = Vue.observable({\n ready: false,\n});\n\nexport const sidebarState = Vue.observable({\n isCollapsed: false,\n hasPeeked: false,\n isPeek: false,\n isPeekable: false,\n isHoverPeek: false,\n wasHoverPeek: false,\n});\n\nexport const helpCenterState = Vue.observable({\n showTanukiBotChatDrawer: false,\n});\n\nexport const SUPER_SIDEBAR_PEEK_OPEN_DELAY = 200;\nexport const SUPER_SIDEBAR_PEEK_CLOSE_DELAY = 500;\nexport const SUPER_SIDEBAR_PEEK_STATE_CLOSED = 'closed';\nexport const SUPER_SIDEBAR_PEEK_STATE_WILL_OPEN = 'will-open';\nexport const SUPER_SIDEBAR_PEEK_STATE_OPEN = 'open';\nexport const SUPER_SIDEBAR_PEEK_STATE_WILL_CLOSE = 'will-close';\n\nexport const TRACKING_UNKNOWN_ID = 'item_without_id';\nexport const TRACKING_UNKNOWN_PANEL = 'nav_panel_unknown';\nexport const CLICK_MENU_ITEM_ACTION = 'click_menu_item';\nexport const CLICK_PINNED_MENU_ITEM_ACTION = 'click_pinned_menu_item';\n\nexport const PANELS_WITH_PINS = ['group', 'project', 'organization'];\n\nexport const USER_MENU_TRACKING_DEFAULTS = {\n 'data-track-property': 'nav_user_menu',\n 'data-track-action': 'click_link',\n};\n\nexport const HELP_MENU_TRACKING_DEFAULTS = {\n 'data-track-property': 'nav_help_menu',\n 'data-track-action': 'click_link',\n};\n\nexport const SIDEBAR_PINS_EXPANDED_COOKIE = 'sidebar_pinned_section_expanded';\nexport const SIDEBAR_COOKIE_EXPIRATION = 365 * 10;\n\nexport const PINNED_NAV_STORAGE_KEY = 'super-sidebar-pinned-nav-item-clicked';\n\nexport const DROPDOWN_Y_OFFSET = 4;\n\nexport const NAV_ITEM_LINK_ACTIVE_CLASS = 'super-sidebar-nav-item-current';\n\nexport const IMPERSONATING_OFFSET = 34;\n\n// Frequent items constants\nexport const FREQUENT_ITEMS = {\n MAX_COUNT: 20,\n ELIGIBLE_FREQUENCY: 3,\n};\n\nexport const FIFTEEN_MINUTES_IN_MS = 900000;\n\nexport const STORAGE_KEY = {\n projects: 'frequent-projects',\n};\n","/**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nmodule.exports = isNil;\n","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n","/**\n * An event hub with a Vue instance like API\n *\n * NOTE: This is a derivative work from [mitt][1] v1.2.0 which is licensed by\n * [MIT License][2] © [Jason Miller][3]\n *\n * [1]: https://github.com/developit/mitt\n * [2]: https://opensource.org/licenses/MIT\n * [3]: https://jasonformat.com/\n */\nclass EventHub {\n constructor() {\n this.$_all = new Map();\n }\n\n dispose() {\n this.$_all.clear();\n }\n\n /**\n * Register an event handler for the given type.\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Function to call in response to given event\n */\n $on(type, handler) {\n const handlers = this.$_all.get(type);\n const added = handlers && handlers.push(handler);\n\n if (!added) {\n this.$_all.set(type, [handler]);\n }\n }\n\n /**\n * Remove an event handler or all handlers for the given type.\n *\n * @param {string|symbol} type Type of event to unregister `handler`\n * @param {Function} handler Handler function to remove\n */\n $off(type, handler) {\n const handlers = this.$_all.get(type) || [];\n\n const newHandlers = handler ? handlers.filter((x) => x !== handler) : [];\n\n if (newHandlers.length) {\n this.$_all.set(type, newHandlers);\n } else {\n this.$_all.delete(type);\n }\n }\n\n /**\n * Add an event listener to type but only trigger it once\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Handler function to call in response to event\n */\n $once(type, handler) {\n const wrapHandler = (...args) => {\n this.$off(type, wrapHandler);\n handler(...args);\n };\n this.$on(type, wrapHandler);\n }\n\n /**\n * Invoke all handlers for the given type.\n *\n * @param {string|symbol} type The event type to invoke\n * @param {Any} [evt] Any value passed to each handler\n */\n $emit(type, ...args) {\n const handlers = this.$_all.get(type) || [];\n\n handlers.forEach((handler) => {\n handler(...args);\n });\n }\n}\n\n/**\n * Return a Vue like event hub\n *\n * - $on\n * - $off\n * - $once\n * - $emit\n *\n * We'd like to shy away from using a full fledged Vue instance from this in the future.\n */\nexport default () => {\n return new EventHub();\n};\n","// `e.keyCode` is deprecated, these values should be migrated\n// See: https://gitlab.com/gitlab-org/gitlab/-/issues/216102\n\nexport const BACKSPACE_KEY_CODE = 8;\nexport const TAB_KEY_CODE = 9;\nexport const ENTER_KEY_CODE = 13;\nexport const ESC_KEY_CODE = 27;\nexport const UP_KEY_CODE = 38;\nexport const DOWN_KEY_CODE = 40;\nexport const DELETE_KEY_CODE = 46;\n","/**\n * This file is based on Vue's scheduler code:\n * https://github.com/vuejs/vue/blob/v2.6.12/src/core/observer/scheduler.js#L44-L66\n *\n * See the LICENSE file in this directory.\n */\n\nconst {\n performance\n} = window;\n\n/**\n * Get a current timestamp that can be meaningfully compared to an event's\n * `timeStamp` property.\n *\n * Event timestamps can be a DOMHighResTimeStamp (if supported), otherwise\n * a DOMTimeStamp (used by jsdom and older browsers).\n *\n * This function will return a current timestamp of the same type used by the\n * underlying environment when it creates DOM events.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/Event/timeStamp for\n * more details.\n *\n * @returns {number}\n */\nconst getEventLikeTimeStamp =\n// If the event timestamp, although evaluated AFTER the Date.now(), is\n// smaller, it means the event is using a hi-res timestamp, and we need to\n// use the hi-res version for event listener timestamps as well.\ntypeof (performance === null || performance === void 0 ? void 0 : performance.now) === 'function' && Date.now() > document.createEvent('Event').timeStamp ? () => performance.now() : () => Date.now();\n\nexport { getEventLikeTimeStamp };\n","import { getEventLikeTimeStamp } from './get_event_like_time_stamp';\n\n/**\n * Map\n */\nconst callbacks = new Map();\n\n/**\n * Is a global listener already set up?\n */\nlet listening = false;\nlet lastMousedown = null;\nconst globalListener = event => {\n callbacks.forEach((_ref, element) => {\n let {\n bindTimeStamp,\n callback\n } = _ref;\n const originalEvent = lastMousedown || event;\n if (\n // Ignore events that aren't targeted outside the element\n element.contains(originalEvent.target) ||\n // Only consider events triggered after the directive was bound\n event.timeStamp <= bindTimeStamp) {\n return;\n }\n try {\n callback(event);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n }\n });\n lastMousedown = null;\n};\n\n// We need to listen for mouse events because text selection fires click event only when selection ends.\n// This means that the click event target could differ from the element where it originally started.\n// As example: if we use mouse events we could guarantee that selecting text within a dropdown won't close it.\nconst onMousedown = event => {\n lastMousedown = event;\n};\nconst startListening = () => {\n if (listening) {\n return;\n }\n document.addEventListener('mousedown', onMousedown);\n document.addEventListener('click', globalListener, {\n capture: true\n });\n listening = true;\n lastMousedown = null;\n};\nconst stopListening = () => {\n if (!listening) {\n return;\n }\n document.removeEventListener('mousedown', onMousedown);\n document.removeEventListener('click', globalListener);\n listening = false;\n};\nconst bind = (el, _ref2) => {\n let {\n value,\n arg = 'click'\n } = _ref2;\n if (typeof value !== 'function') {\n throw new Error(`[GlOutsideDirective] Value must be a function; got ${typeof value}!`);\n }\n if (arg !== 'click') {\n throw new Error(`[GlOutsideDirective] Cannot bind ${arg} events; only click events are currently supported!`);\n }\n if (callbacks.has(el)) {\n // This element is already bound. This is possible if two components, which\n // share the same root node, (i.e., one is a higher-order component\n // wrapping another) _both_ have this directive applied.\n //\n // Because Vue binds directives in the direction towards the root, only the\n // deepest instance of this directive will be bound.\n //\n // A future iteration may add support for binding all instances on a given\n // element.\n return;\n }\n if (!listening) {\n startListening();\n }\n callbacks.set(el, {\n bindTimeStamp: getEventLikeTimeStamp(),\n callback: value\n });\n};\nconst unbind = el => {\n callbacks.delete(el);\n if (callbacks.size === 0) {\n stopListening();\n }\n};\nconst OutsideDirective = {\n bind,\n unbind\n};\n\nexport { OutsideDirective };\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { isVue3, nextTick } from '../../vue';\nimport { getComponentConfig } from '../../utils/config';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { identity } from '../../utils/identity';\nimport { getInstanceFromDirective } from '../../utils/get-instance-from-directive';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { createNewChildComponent } from '../../utils/create-new-child-component';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var attrs = isVue3 ? vnode.props : (vnode.data || {}).attrs;\n config.title = attrs && !isUndefinedOrNull(attrs.title) ? attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var parent = getInstanceFromDirective(vnode, bindings);\n el[BV_TOOLTIP] = createNewChildComponent(parent, BVTooltip, {\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId(parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"gl-relative show-on-focus-or-hover--context hide-on-focus-or-hover--context transition-opacity-on-hover--context\",attrs:{\"data-testid\":\"nav-item\"},on:{\"mouseenter\":function($event){_vm.isMouseIn = true},\"mouseleave\":function($event){_vm.isMouseIn = false}}},[_c(_vm.navItemLinkComponent,_vm._b({tag:\"component\",staticClass:\"super-sidebar-nav-item gl-relative gl-display-flex gl-align-items-center gl-min-h-7 gl-gap-3 gl-mb-1 gl-py-2 gl-text-black-normal! gl-text-decoration-none! gl-focus--focus show-on-focus-or-hover--control hide-on-focus-or-hover--control\",class:_vm.computedLinkClasses,attrs:{\"data-testid\":\"nav-item-link\"},on:{\"nav-link-click\":function($event){return _vm.$emit('nav-link-click')}},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('div',{staticClass:\"active-indicator gl-absolute gl-left-2 gl-top-2 gl-bottom-2 gl-transition-slow\",class:[isActive ? 'gl-opacity-10' : 'gl-opacity-0'],style:(_vm.activeIndicatorStyle),attrs:{\"aria-hidden\":\"true\",\"data-testid\":\"active-indicator\"}}),_vm._v(\" \"),(!_vm.isFlyout)?_c('div',{staticClass:\"gl-flex-shrink-0 gl-w-6 gl-display-flex\"},[_vm._t(\"icon\",function(){return [(_vm.item.icon)?_c('gl-icon',{staticClass:\"super-sidebar-nav-item-icon gl-m-auto\",attrs:{\"name\":_vm.item.icon}}):(_vm.isInPinnedSection)?_c('gl-icon',{staticClass:\"gl-m-auto gl-text-gray-400 js-draggable-icon gl-cursor-grab show-on-focus-or-hover--target super-sidebar-mix-blend-mode\",attrs:{\"name\":\"grip\"}}):(_vm.hasAvatar)?_c('gl-avatar',{attrs:{\"size\":24,\"shape\":_vm.avatarShape,\"entity-name\":_vm.item.title,\"entity-id\":_vm.item.entity_id,\"src\":_vm.item.avatar}}):_vm._e()]})],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"gl-flex-grow-1 gl-text-gray-900 gl-truncate-end\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.title)+\"\\n \"),(_vm.item.subtitle)?_c('div',{staticClass:\"gl-font-sm gl-text-gray-500 gl-truncate-end\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.subtitle)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._t(\"actions\"),_vm._v(\" \"),(_vm.hasEndSpace)?_c('span',{staticClass:\"gl-display-flex gl-align-items-start gl-justify-content-end gl-min-w-6\"},[(_vm.hasPill)?_c('gl-badge',{class:{\n 'hide-on-focus-or-hover--target transition-opacity-on-hover--target': _vm.isPinnable,\n },attrs:{\"size\":\"sm\",\"variant\":\"neutral\"}},[_vm._v(\"\\n \"+_vm._s(_vm.pillData)+\"\\n \")]):_vm._e()],1):_vm._e()]}}],null,true)},'component',_vm.linkProps,false)),_vm._v(\" \"),(_vm.isPinnable)?[(_vm.isPinned)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.noninteractive.right.viewport\",value:(_vm.$options.i18n.unpinItem),expression:\"$options.i18n.unpinItem\",modifiers:{\"noninteractive\":true,\"right\":true,\"viewport\":true}}],staticClass:\"show-on-focus-or-hover--target transition-opacity-on-hover--target always-animate gl-absolute gl-right-3 gl-top-2\",class:{ 'gl-pointer-events-none': !_vm.canClickPinButton },attrs:{\"aria-label\":_vm.unpinAriaLabel,\"category\":\"tertiary\",\"data-testid\":\"nav-item-unpin\",\"icon\":\"thumbtack-solid\",\"size\":\"small\"},on:{\"click\":_vm.pinRemove,\"transitionend\":_vm.togglePointerEvents}}):_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.noninteractive.right.viewport\",value:(_vm.$options.i18n.pinItem),expression:\"$options.i18n.pinItem\",modifiers:{\"noninteractive\":true,\"right\":true,\"viewport\":true}}],staticClass:\"show-on-focus-or-hover--target transition-opacity-on-hover--target always-animate gl-absolute gl-right-3 gl-top-2\",class:{ 'gl-pointer-events-none': !_vm.canClickPinButton },attrs:{\"aria-label\":_vm.pinAriaLabel,\"category\":\"tertiary\",\"data-testid\":\"nav-item-pin\",\"icon\":\"thumbtack\",\"size\":\"small\"},on:{\"click\":_vm.pinAdd,\"transitionend\":_vm.togglePointerEvents}})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_link.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item_link.vue?vue&type=template&id=8a397898\"\nimport script from \"./nav_item_link.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',_vm._b({class:_vm.computedLinkClasses,on:{\"click\":function($event){return _vm.$emit('nav-link-click')}}},'a',_vm.linkProps,false),[_vm._t(\"default\",null,{\"isActive\":_vm.isActive})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_router_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_router_link.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item_router_link.vue?vue&type=template&id=0b7fb30e\"\nimport script from \"./nav_item_router_link.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item_router_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-link',_vm._b({attrs:{\"active-class\":_vm.$options.NAV_ITEM_LINK_ACTIVE_CLASS,\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate, isActive }){return [_c('a',{attrs:{\"href\":href,\"aria-current\":_vm.ariaCurrent(isActive)},on:{\"click\":navigate}},[_vm._t(\"default\",null,{\"isActive\":isActive})],2)]}}],null,true)},'router-link',_vm.linkProps,false))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--7-0!../../../../../node_modules/babel-loader/lib/index.js??ref--7-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item.vue?vue&type=template&id=03cf79e6\"\nimport script from \"./nav_item.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import * as Sentry from '~/sentry/sentry_browser_wrapper';\nimport AccessorUtilities from '~/lib/utils/accessor';\nimport { FREQUENT_ITEMS, FIFTEEN_MINUTES_IN_MS } from '~/super_sidebar/constants';\nimport axios from '~/lib/utils/axios_utils';\n\n/**\n * This takes an array of project or groups that were stored in the local storage, to be shown in\n * the context switcher, and sorts them by frequency and last access date.\n * In the resulting array, the most popular item (highest frequency and most recent access date) is\n * placed at the first index, while the least popular is at the last index.\n *\n * @param {Array} items The projects or groups stored in the local storage\n * @returns The items, sorted by frequency and last access date\n */\nconst sortItemsByFrequencyAndLastAccess = (items) =>\n items.sort((itemA, itemB) => {\n // Sort all frequent items in decending order of frequency\n // and then by lastAccessedOn with recent most first\n if (itemA.frequency !== itemB.frequency) {\n return itemB.frequency - itemA.frequency;\n }\n if (itemA.lastAccessedOn !== itemB.lastAccessedOn) {\n return itemB.lastAccessedOn - itemA.lastAccessedOn;\n }\n\n return 0;\n });\n\n/**\n * Returns the most frequently visited items.\n *\n * @param {Array} items - A list of items retrieved from the local storage\n * @param {Number} maxCount - The maximum number of items to be returned\n * @returns {Array}\n */\nexport const getTopFrequentItems = (items, maxCount) => {\n if (!Array.isArray(items)) return [];\n\n const frequentItems = items.filter((item) => item.frequency >= FREQUENT_ITEMS.ELIGIBLE_FREQUENCY);\n sortItemsByFrequencyAndLastAccess(frequentItems);\n\n return frequentItems.slice(0, maxCount);\n};\n\n/**\n * This tracks projects' and groups' visits in order to suggest a list of frequently visited\n * entities to the user. The suggestion logic is implemented server-side and computed items can be\n * retrieved through the GraphQL API.\n * To persist a visit in the DB, an AJAX request needs to be triggered by the client. To avoid making\n * the request on every visited page, we also keep track of the visits in the local storage so that\n * the request is only sent once every 15 minutes per namespace per user.\n *\n * @param {object} item The project/group item being tracked.\n * @param {string} namespace A string indicating whether the tracked entity is a project or a group.\n * @param {string} trackVisitsPath The API endpoint to track visits server-side.\n * @returns {void}\n */\nconst updateItemAccess = (\n contextItem,\n { lastAccessedOn, frequency = 0 } = {},\n namespace,\n trackVisitsPath,\n) => {\n const now = Date.now();\n const neverAccessed = !lastAccessedOn;\n const shouldUpdate = neverAccessed || Math.abs(now - lastAccessedOn) / FIFTEEN_MINUTES_IN_MS > 1;\n\n if (shouldUpdate) {\n axios({\n url: trackVisitsPath,\n method: 'POST',\n data: {\n type: namespace,\n id: contextItem.id,\n },\n }).catch((e) => {\n Sentry.captureException(e);\n });\n }\n\n return {\n ...contextItem,\n frequency: shouldUpdate ? frequency + 1 : frequency,\n lastAccessedOn: shouldUpdate ? now : lastAccessedOn,\n };\n};\n\nexport const trackContextAccess = (username, context, trackVisitsPath) => {\n if (!AccessorUtilities.canUseLocalStorage()) {\n return false;\n }\n\n const storageKey = `${username}/frequent-${context.namespace}`;\n const storedRawItems = localStorage.getItem(storageKey);\n const storedItems = storedRawItems ? JSON.parse(storedRawItems) : [];\n const existingItemIndex = storedItems.findIndex(\n (cachedItem) => cachedItem.id === context.item.id,\n );\n\n if (existingItemIndex > -1) {\n storedItems[existingItemIndex] = updateItemAccess(\n context.item,\n storedItems[existingItemIndex],\n context.namespace,\n trackVisitsPath,\n );\n } else {\n const newItem = updateItemAccess(\n context.item,\n storedItems[existingItemIndex],\n context.namespace,\n trackVisitsPath,\n );\n if (storedItems.length === FREQUENT_ITEMS.MAX_COUNT) {\n sortItemsByFrequencyAndLastAccess(storedItems);\n storedItems.pop();\n }\n storedItems.push(newItem);\n }\n\n return localStorage.setItem(storageKey, JSON.stringify(storedItems));\n};\n\nexport const ariaCurrent = (isActive) => (isActive ? 'page' : null);\n","// base dropdown events\nconst GL_DROPDOWN_SHOWN = 'shown';\nconst GL_DROPDOWN_HIDDEN = 'hidden';\nconst GL_DROPDOWN_BEFORE_CLOSE = 'beforeClose';\nconst GL_DROPDOWN_FOCUS_CONTENT = 'focusContent';\n\n// KEY Codes\nconst ARROW_DOWN = 'ArrowDown';\nconst ARROW_UP = 'ArrowUp';\nconst END = 'End';\nconst ENTER = 'Enter';\nconst HOME = 'Home';\nconst SPACE = 'Space';\n\n// Positioning strategies\n// https://floating-ui.com/docs/computePosition#strategy\nconst POSITION_ABSOLUTE = 'absolute';\nconst POSITION_FIXED = 'fixed';\nconst GL_DROPDOWN_CONTENTS_CLASS = 'gl-new-dropdown-contents';\n\nexport { ARROW_DOWN, ARROW_UP, END, ENTER, GL_DROPDOWN_BEFORE_CLOSE, GL_DROPDOWN_CONTENTS_CLASS, GL_DROPDOWN_FOCUS_CONTENT, GL_DROPDOWN_HIDDEN, GL_DROPDOWN_SHOWN, HOME, POSITION_ABSOLUTE, POSITION_FIXED, SPACE };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\n\nfunction getWindow(node) {\n var _node$ownerDocument;\n return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\n\nfunction getComputedStyle$1(element) {\n return getWindow(element).getComputedStyle(element);\n}\n\nfunction isNode(value) {\n return value instanceof getWindow(value).Node;\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\n\nfunction isHTMLElement(value) {\n return value instanceof getWindow(value).HTMLElement;\n}\nfunction isElement(value) {\n return value instanceof getWindow(value).Element;\n}\nfunction isShadowRoot(node) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return node instanceof getWindow(node).ShadowRoot || node instanceof ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle$1(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const safari = isSafari();\n const css = getComputedStyle$1(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !safari && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !safari && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction isSafari() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\n\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createEmptyCoords = v => ({\n x: v,\n y: v\n});\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createEmptyCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createEmptyCoords(0);\nfunction getVisualOffsets(element, isFixed, floatingOffsetParent) {\n var _win$visualViewport, _win$visualViewport2;\n if (isFixed === void 0) {\n isFixed = true;\n }\n if (!isSafari()) {\n return noOffsets;\n }\n const win = element ? getWindow(element) : window;\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== win) {\n return noOffsets;\n }\n return {\n x: ((_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) || 0,\n y: ((_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) || 0\n };\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createEmptyCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = getVisualOffsets(domElement, isFixedStrategy, offsetParent);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction getDocumentElement(node) {\n return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;\n}\n\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createEmptyCoords(1);\n const offsets = createEmptyCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\n\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\n\nfunction getOverflowAncestors(node, list) {\n var _node$ownerDocument;\n if (list === void 0) {\n list = [];\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isSafari();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createEmptyCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createEmptyCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nconst platform = {\n getClippingRect,\n convertOffsetParentRelativeRectToViewportRelativeRect,\n isElement,\n getDimensions,\n getOffsetParent,\n getDocumentElement,\n getScale,\n async getElementRects(_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n },\n getClientRects: element => Array.from(element.getClientRects()),\n isRTL: element => getComputedStyle$1(element).direction === 'rtl'\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle