{"version":3,"sources":["webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/utils.js","webpack:///./pages/projects/compare/show/index.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/scorer.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/constants.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js","webpack:///./loading_icon_for_legacy_js.js","webpack:///./gpg_badges.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/query.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/pathScorer.js","webpack:///./render_vue_component_for_legacy_js.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/matcher.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/filter.js"],"names":["isItem","item","Boolean","_item$text","text","length","Array","isArray","items","itemValidator","isGroup","group","every","itemsValidator","hasOnlyListItemsVue2","defaultSlot","nodes","tags","filter","vNode","tag","_vNode$componentOptio","componentOptions","includes","isValidSlotTagVue2","hasOnlyListItemsVue3","fragment","find","node","children","trim","_vNode$type","type","name","isValidSlotTagVue3","hasOnlyListItems","version","startsWith","initCompareSelector","Diff","initDiffStatsDropdown","GpgBadges","fetch","syntaxHighlight","document","querySelector","AcronymResult","computeScore","emptyAcronymResult","isAcronymFullWord","isMatch","isSeparator","isWordEnd","isWordStart","scoreAcronyms","scoreCharacter","scoreConsecutives","scoreExact","scoreExactMatch","scorePattern","scorePosition","scoreSize","exports","score","string","query","options","preparedQuery","string_lw","allowErrors","core_lw","core_up","toLowerCase","Math","ceil","subject","query_lw","query_up","i","j","m","n","qj_lw","qj_up","si","charCodeAt","subject_lw","acro","acro_score","align","csc_diag","csc_row","csc_score","csc_should_rebuild","miss_budget","miss_left","pos","record_miss","score_diag","score_row","score_up","si_lw","start","sz","count","indexOf","charCodes","max","curr_s","prev_s","len","next_s","c","sc","abs","quality","sameCase","end","bonus","posBonus","startOfWord","k","mi","nj","pos2","this","fullWord","sepCount","sumPos","nbAcronymInQuery","call","DISCLOSURE_DROPDOWN_ITEM_NAME","DISCLOSURE_DROPDOWN_GROUP_NAME","DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS","top","bottom","DROPDOWN_SELECTOR","ITEM_SELECTOR","__vue_script__","events","GL_DROPDOWN_SHOWN","GL_DROPDOWN_HIDDEN","GL_DROPDOWN_BEFORE_CLOSE","GL_DROPDOWN_FOCUS_CONTENT","components","GlBaseDropdown","GlDisclosureDropdownItem","GlDisclosureDropdownGroup","props","required","default","validator","toggleText","String","textSrOnly","category","primary","value","variant","size","icon","disabled","loading","toggleId","toggleClass","Object","noCaret","placement","keys","toggleAriaLabelledBy","listAriaLabelledBy","block","dropdownOffset","Number","undefined","fluidWidth","autoClose","positioningStrategy","strategy","startOpened","data","disclosureId","nextFocusedItemIndex","computed","_this$items","$scopedSlots","$slots","toggle","open","methods","$refs","baseDropdown","close","$emit","event","code","elements","getFocusableListItemElements","stop","focusItem","focusNextItem","handleAutoClose","_this$$refs$content","content","querySelectorAll","from","offset","target","currentIndex","nextIndex","index","_elements$index","focus","closeAndFocus","action","window","requestAnimationFrame","e","closest","$el","uniqueItemId","GL_DROPDOWN_CONTENTS_CLASS","__vue_component__","render","_vm","_h","$createElement","_c","_self","ref","staticClass","attrs","on","_d","$options","onShow","onHide","onBeforeClose","onKeydown","scopedSlots","_u","key","fn","_t","proxy","_v","disclosureTag","class","_l","handleAction","groupItem","_e","staticRenderFns","Query","defaultPathSeparator","matcher","parseOptions","pathScorer","preparedQueryCache","scorer","process","platform","module","candidates","usePathScoring","match","_results","_i","_ref","push","apply","wrap","prepareQuery","useExtensionBonus","pathSeparator","optCharRegEx","ITEM_CLASS","BLink","_this$item","_this$item2","href","to","isLink","is","extraAttrs","listeners","click","_item$action","_this$item3","_this$item3$extraAttr","_this$item4","_this$item4$extraAttr","_this$item$wrapperCla","_this$item5","wrapperClass","keydown","isCustomContent","MouseEvent","bubbles","cancelable","_this$$refs$item","dispatchEvent","_g","listIndex","wrapperListeners","itemComponent","_b","componentIndex","_s","defaultValue","prop","_GlLoadingIcon$props$","GlLoadingIcon","loadingIconForLegacyJS","inline","color","classes","label","__","renderVueComponentForLegacyJS","$","Promise","resolve","badges","html","attr","displayError","createAlert","message","endpoint","reject","Error","params","queryToObject","serialize","axios","get","then","signatures","forEach","signature","commit_sha","replaceWith","catch","coreChars","countDir","getCharCodes","getExtension","opt_char_re","truncatedUpperCase","_arg","_ref1","core","depth","ext","replace","str","upper","_len","toUpperCase","BORDER_CLASSES","bordered","borderPosition","_this$group","showHeader","nameId","borderClass","groupLabeledBy","getExtensionScore","scorePath","fullPathScore","alpha","basePathScore","basePos","extAdjust","fileLength","lastIndexOf","slice","path","substr","candidate","startPos","endPos","maxDepth","matched","Component","vm","Vue","h","$mount","$forceUpdate","el","cloneNode","$destroy","basenameMatch","computeMatch","mergeMatches","baseMatches","matches","matchIndex","matchPos","matchPositions","output","strPos","tagClass","tagClose","tagOpen","substring","a","b","ai","bj","out","backtrack","move","trace","reverse","pluckCandidates","sortCandidates","bKey","maxInners","maxResults","scoreProvider","scoredCandidates","spotLeft","sort","map"],"mappings":"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","file":"pages.projects.compare.show.494ec348.chunk.js","sourcesContent":["import Vue from 'vue';\nimport isFunction from 'lodash/isFunction';\nimport isString from 'lodash/isString';\nimport { DISCLOSURE_DROPDOWN_ITEM_NAME, DISCLOSURE_DROPDOWN_GROUP_NAME } from './constants';\n\nconst itemValidator = item => {\n var _item$text;\n return (item === null || item === void 0 ? void 0 : (_item$text = item.text) === null || _item$text === void 0 ? void 0 : _item$text.length) > 0 && !Array.isArray(item === null || item === void 0 ? void 0 : item.items);\n};\nconst isItem = item => Boolean(item) && itemValidator(item);\nconst isGroup = group => Boolean(group) && Array.isArray(group.items) && Boolean(group.items.length) &&\n// eslint-disable-next-line unicorn/no-array-callback-reference\ngroup.items.every(isItem);\n\n// eslint-disable-next-line unicorn/no-array-callback-reference\nconst itemsValidator = items => items.every(isItem) || items.every(isGroup);\nconst isListItem = tag => ['gl-disclosure-dropdown-group', 'gl-disclosure-dropdown-item', 'li'].includes(tag);\nconst isValidSlotTagVue2 = vNode => {\n var _vNode$componentOptio;\n return Boolean(vNode) && isListItem(((_vNode$componentOptio = vNode.componentOptions) === null || _vNode$componentOptio === void 0 ? void 0 : _vNode$componentOptio.tag) || vNode.tag);\n};\nconst isValidSlotTagVue3 = vNode => {\n var _vNode$type;\n return [DISCLOSURE_DROPDOWN_ITEM_NAME, DISCLOSURE_DROPDOWN_GROUP_NAME].includes((_vNode$type = vNode.type) === null || _vNode$type === void 0 ? void 0 : _vNode$type.name) || vNode.type === 'li';\n};\nconst hasOnlyListItemsVue2 = defaultSlot => {\n const nodes = defaultSlot();\n if (!Array.isArray(nodes)) {\n return false;\n }\n const tags = nodes.filter(vNode => vNode.tag);\n return tags.length && tags.every(tag => isValidSlotTagVue2(tag));\n};\nconst hasOnlyListItemsVue3 = defaultSlot => {\n const nodes = defaultSlot();\n const fragment = nodes.find(node => Array.isArray(node.children) && node.children.length);\n const targetNodes = fragment ? fragment.children : nodes;\n return targetNodes\n // Remove empty text vNodes\n .filter(vNode => !isString(vNode.text) || vNode.text.trim().length > 0).every(vNode => isValidSlotTagVue3(vNode));\n};\nconst hasOnlyListItems = defaultSlot => {\n if (!isFunction(defaultSlot)) {\n return false;\n }\n if (Vue.version.startsWith('3')) {\n return hasOnlyListItemsVue3(defaultSlot);\n }\n return hasOnlyListItemsVue2(defaultSlot);\n};\n\nexport { hasOnlyListItems, isGroup, isItem, itemsValidator };\n","import Diff from '~/diff';\nimport GpgBadges from '~/gpg_badges';\nimport { initDiffStatsDropdown } from '~/init_diff_stats_dropdown';\nimport initCompareSelector from '~/projects/compare';\nimport syntaxHighlight from '~/syntax_highlight';\n\ninitCompareSelector();\n\nnew Diff(); // eslint-disable-line no-new\ninitDiffStatsDropdown();\nGpgBadges.fetch();\n\nsyntaxHighlight([document.querySelector('.files')]);\n","(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n","const DISCLOSURE_DROPDOWN_ITEM_NAME = 'GlDisclosureDropdownItem';\nconst DISCLOSURE_DROPDOWN_GROUP_NAME = 'GlDisclosureDropdownGroup';\nconst DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS = {\n top: 'top',\n bottom: 'bottom'\n};\n\nexport { DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS, DISCLOSURE_DROPDOWN_GROUP_NAME, DISCLOSURE_DROPDOWN_ITEM_NAME };\n","import clamp from 'lodash/clamp';\nimport uniqueId from 'lodash/uniqueId';\nimport { stopEvent, filterVisible } from '../../../../utils/utils';\nimport { GL_DROPDOWN_SHOWN, GL_DROPDOWN_HIDDEN, GL_DROPDOWN_BEFORE_CLOSE, GL_DROPDOWN_FOCUS_CONTENT, POSITION_ABSOLUTE, POSITION_FIXED, HOME, END, ARROW_UP, ARROW_DOWN, ENTER, SPACE, GL_DROPDOWN_CONTENTS_CLASS } from '../constants';\nimport { buttonCategoryOptions, dropdownVariantOptions, buttonSizeOptions, dropdownPlacements } from '../../../../utils/constants';\nimport GlBaseDropdown, { BASE_DROPDOWN_CLASS } from '../base_dropdown/base_dropdown';\nimport GlDisclosureDropdownItem, { ITEM_CLASS } from './disclosure_dropdown_item';\nimport GlDisclosureDropdownGroup from './disclosure_dropdown_group';\nimport { itemsValidator, hasOnlyListItems, isItem } from './utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nconst DROPDOWN_SELECTOR = `.${BASE_DROPDOWN_CLASS}`;\nconst ITEM_SELECTOR = `.${ITEM_CLASS}`;\nvar script = {\n name: 'GlDisclosureDropdown',\n events: {\n GL_DROPDOWN_SHOWN,\n GL_DROPDOWN_HIDDEN,\n GL_DROPDOWN_BEFORE_CLOSE,\n GL_DROPDOWN_FOCUS_CONTENT\n },\n components: {\n GlBaseDropdown,\n GlDisclosureDropdownItem,\n GlDisclosureDropdownGroup\n },\n props: {\n /**\n * Items to display in the dropdown\n */\n items: {\n type: Array,\n required: false,\n default: () => [],\n validator: itemsValidator\n },\n /**\n * Toggle button text\n */\n toggleText: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * Toggle text to be read by screen readers only\n */\n textSrOnly: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Styling option - dropdown's toggle category\n */\n category: {\n type: String,\n required: false,\n default: buttonCategoryOptions.primary,\n validator: value => value in buttonCategoryOptions\n },\n /**\n * Styling option - dropdown's toggle variant\n */\n variant: {\n type: String,\n required: false,\n default: dropdownVariantOptions.default,\n validator: value => value in dropdownVariantOptions\n },\n /**\n * The size of the dropdown toggle\n */\n size: {\n type: String,\n required: false,\n default: 'medium',\n validator: value => value in buttonSizeOptions\n },\n /**\n * Icon name that will be rendered in the toggle button\n */\n icon: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * Set to \"true\" to disable the dropdown\n */\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Set to \"true\" when dropdown content (items) is loading\n * It will render a small loader in the dropdown toggle and make it disabled\n */\n loading: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Custom toggle id.\n * For instance, it can be referenced by tooltip or popover\n */\n toggleId: {\n type: String,\n required: false,\n default: () => uniqueId('dropdown-toggle-btn-')\n },\n /**\n * Additional CSS classes to customize toggle appearance\n */\n toggleClass: {\n type: [String, Array, Object],\n required: false,\n default: null\n },\n /**\n * Set to \"true\" to hide the caret\n */\n noCaret: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Align disclosure dropdown with respect to the toggle button\n */\n placement: {\n type: String,\n required: false,\n default: 'bottom-start',\n validator: value => Object.keys(dropdownPlacements).includes(value)\n },\n /**\n * The `aria-labelledby` attribute value for the toggle button\n * Provide the string of ids seperated by space\n */\n toggleAriaLabelledBy: {\n type: String,\n required: false,\n default: null\n },\n /**\n * The `aria-labelledby` attribute value for the list of options\n * Provide the string of ids seperated by space\n */\n listAriaLabelledBy: {\n type: String,\n required: false,\n default: null\n },\n /**\n * Render the toggle button as a block element\n */\n block: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Custom offset to be applied to Floating UI's offset middleware.\n * https://floating-ui.com/docs/offset\n */\n dropdownOffset: {\n type: [Number, Object],\n required: false,\n default: undefined\n },\n /**\n * Lets the dropdown extend to match its content's width, up to a maximum width\n * defined by the `$gl-new-dropdown-max-width` variable.\n */\n fluidWidth: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Close the dropdown on item click (action)\n */\n autoClose: {\n type: Boolean,\n required: false,\n default: true\n },\n /**\n * Strategy to be applied by computePosition. If the dropdown's container is too short for it to\n * fit in, setting this to fixed will let it position itself above its container.\n * https://floating-ui.com/docs/computePosition#strategy\n */\n positioningStrategy: {\n type: String,\n required: false,\n default: POSITION_ABSOLUTE,\n validator: strategy => [POSITION_ABSOLUTE, POSITION_FIXED].includes(strategy)\n },\n /**\n * Opens dropdown on render\n */\n startOpened: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n disclosureId: uniqueId('disclosure-'),\n nextFocusedItemIndex: null\n };\n },\n computed: {\n disclosureTag() {\n var _this$items;\n if ((_this$items = this.items) !== null && _this$items !== void 0 && _this$items.length ||\n // eslint-disable-next-line @gitlab/vue-prefer-dollar-scopedslots\n hasOnlyListItems(this.$scopedSlots.default || this.$slots.default)) {\n return 'ul';\n }\n return 'div';\n },\n hasCustomToggle() {\n return Boolean(this.$scopedSlots.toggle);\n }\n },\n mounted() {\n if (this.startOpened) {\n this.open();\n }\n },\n methods: {\n open() {\n this.$refs.baseDropdown.open();\n },\n close() {\n this.$refs.baseDropdown.close();\n },\n onShow() {\n /**\n * Emitted when dropdown is shown\n *\n * @event shown\n */\n this.$emit(GL_DROPDOWN_SHOWN);\n },\n onBeforeClose(event) {\n /**\n * Emitted when dropdown is about to be closed\n *\n * @event beforeClose\n */\n this.$emit(GL_DROPDOWN_BEFORE_CLOSE, event);\n },\n onHide() {\n /**\n * Emitted when dropdown is hidden\n *\n * @event hidden\n */\n this.$emit(GL_DROPDOWN_HIDDEN);\n this.nextFocusedItemIndex = null;\n },\n onKeydown(event) {\n const {\n code\n } = event;\n const elements = this.getFocusableListItemElements();\n if (elements.length < 1) return;\n let stop = true;\n if (code === HOME) {\n this.focusItem(0, elements);\n } else if (code === END) {\n this.focusItem(elements.length - 1, elements);\n } else if (code === ARROW_UP) {\n this.focusNextItem(event, elements, -1);\n } else if (code === ARROW_DOWN) {\n this.focusNextItem(event, elements, 1);\n } else if (code === ENTER || code === SPACE) {\n this.handleAutoClose(event);\n } else {\n stop = false;\n }\n if (stop) {\n stopEvent(event);\n }\n },\n getFocusableListItemElements() {\n var _this$$refs$content;\n const items = (_this$$refs$content = this.$refs.content) === null || _this$$refs$content === void 0 ? void 0 : _this$$refs$content.querySelectorAll(ITEM_SELECTOR);\n return filterVisible(Array.from(items || []));\n },\n focusNextItem(event, elements, offset) {\n const {\n target\n } = event;\n const currentIndex = elements.indexOf(target);\n const nextIndex = clamp(currentIndex + offset, 0, elements.length - 1);\n this.focusItem(nextIndex, elements);\n },\n focusItem(index, elements) {\n var _elements$index;\n this.nextFocusedItemIndex = index;\n (_elements$index = elements[index]) === null || _elements$index === void 0 ? void 0 : _elements$index.focus();\n },\n closeAndFocus() {\n this.$refs.baseDropdown.closeAndFocus();\n },\n handleAction(action) {\n // See https://gitlab.com/gitlab-org/gitlab-ui/-/merge_requests/4376 for\n // detailed explanation why we need requestAnimationFrame\n window.requestAnimationFrame(() => {\n /**\n * Emitted when one of disclosure dropdown items is clicked\n *\n * @event action\n */\n this.$emit('action', action);\n });\n },\n handleAutoClose(e) {\n if (this.autoClose && e.target.closest(ITEM_SELECTOR) && e.target.closest(DROPDOWN_SELECTOR) === this.$refs.baseDropdown.$el) {\n this.closeAndFocus();\n }\n },\n uniqueItemId() {\n return uniqueId(`disclosure-item-`);\n },\n isItem\n },\n GL_DROPDOWN_CONTENTS_CLASS\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-base-dropdown',{ref:\"baseDropdown\",staticClass:\"gl-disclosure-dropdown\",attrs:{\"aria-labelledby\":_vm.toggleAriaLabelledBy,\"toggle-id\":_vm.toggleId,\"toggle-text\":_vm.toggleText,\"toggle-class\":_vm.toggleClass,\"text-sr-only\":_vm.textSrOnly,\"category\":_vm.category,\"variant\":_vm.variant,\"size\":_vm.size,\"icon\":_vm.icon,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"no-caret\":_vm.noCaret,\"placement\":_vm.placement,\"block\":_vm.block,\"offset\":_vm.dropdownOffset,\"fluid-width\":_vm.fluidWidth,\"positioning-strategy\":_vm.positioningStrategy},on:_vm._d({},[_vm.$options.events.GL_DROPDOWN_SHOWN,_vm.onShow,_vm.$options.events.GL_DROPDOWN_HIDDEN,_vm.onHide,_vm.$options.events.GL_DROPDOWN_BEFORE_CLOSE,_vm.onBeforeClose,_vm.$options.events.GL_DROPDOWN_FOCUS_CONTENT,_vm.onKeydown]),scopedSlots:_vm._u([(_vm.hasCustomToggle)?{key:\"toggle\",fn:function(){return [_vm._t(\"toggle\")]},proxy:true}:null],null,true)},[_vm._v(\" \"),_vm._t(\"header\"),_vm._v(\" \"),_c(_vm.disclosureTag,{ref:\"content\",tag:\"component\",class:_vm.$options.GL_DROPDOWN_CONTENTS_CLASS,attrs:{\"id\":_vm.disclosureId,\"aria-labelledby\":_vm.listAriaLabelledBy || _vm.toggleId,\"data-testid\":\"disclosure-content\",\"tabindex\":\"-1\"},on:{\"keydown\":_vm.onKeydown,\"click\":_vm.handleAutoClose}},[_vm._t(\"default\",function(){return [_vm._l((_vm.items),function(item,index){return [(_vm.isItem(item))?[_c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([('list-item' in _vm.$scopedSlots)?{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":item})]},proxy:true}:null],null,true)})]:[_c('gl-disclosure-dropdown-group',{key:item.name,attrs:{\"bordered\":index !== 0,\"group\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([(_vm.$scopedSlots['group-label'])?{key:\"group-label\",fn:function(){return [_vm._t(\"group-label\",null,{\"group\":item})]},proxy:true}:null],null,true)},[_vm._v(\" \"),(_vm.$scopedSlots['list-item'])?_vm._l((item.items),function(groupItem){return _c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":groupItem},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":groupItem})]},proxy:true}],null,true)})}):_vm._e()],2)]]})]})],2),_vm._v(\" \"),_vm._t(\"footer\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { DROPDOWN_SELECTOR, ITEM_SELECTOR };\n","(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n","import { BLink } from '../../../../vendor/bootstrap-vue/src/components/link/link';\nimport { ENTER, SPACE } from '../constants';\nimport { stopEvent } from '../../../../utils/utils';\nimport { isItem } from './utils';\nimport { DISCLOSURE_DROPDOWN_ITEM_NAME } from './constants';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst ITEM_CLASS = 'gl-new-dropdown-item';\nvar script = {\n name: DISCLOSURE_DROPDOWN_ITEM_NAME,\n ITEM_CLASS,\n components: {\n BLink\n },\n props: {\n item: {\n type: Object,\n required: false,\n default: null,\n validator: isItem\n }\n },\n computed: {\n isLink() {\n var _this$item, _this$item2;\n return typeof ((_this$item = this.item) === null || _this$item === void 0 ? void 0 : _this$item.href) === 'string' || typeof ((_this$item2 = this.item) === null || _this$item2 === void 0 ? void 0 : _this$item2.to) === 'string';\n },\n isCustomContent() {\n return Boolean(this.$scopedSlots.default);\n },\n itemComponent() {\n const {\n item\n } = this;\n if (this.isLink) return {\n is: BLink,\n attrs: {\n href: item.href,\n to: item.to,\n ...item.extraAttrs\n },\n listeners: {\n click: this.action\n }\n };\n return {\n is: 'button',\n attrs: {\n ...(item === null || item === void 0 ? void 0 : item.extraAttrs),\n type: 'button'\n },\n listeners: {\n click: () => {\n var _item$action;\n item === null || item === void 0 ? void 0 : (_item$action = item.action) === null || _item$action === void 0 ? void 0 : _item$action.call(undefined, item);\n this.action();\n }\n }\n };\n },\n listIndex() {\n var _this$item3, _this$item3$extraAttr;\n return (_this$item3 = this.item) !== null && _this$item3 !== void 0 && (_this$item3$extraAttr = _this$item3.extraAttrs) !== null && _this$item3$extraAttr !== void 0 && _this$item3$extraAttr.disabled ? null : 0;\n },\n componentIndex() {\n var _this$item4, _this$item4$extraAttr;\n return (_this$item4 = this.item) !== null && _this$item4 !== void 0 && (_this$item4$extraAttr = _this$item4.extraAttrs) !== null && _this$item4$extraAttr !== void 0 && _this$item4$extraAttr.disabled ? null : -1;\n },\n wrapperClass() {\n var _this$item$wrapperCla, _this$item5;\n return (_this$item$wrapperCla = (_this$item5 = this.item) === null || _this$item5 === void 0 ? void 0 : _this$item5.wrapperClass) !== null && _this$item$wrapperCla !== void 0 ? _this$item$wrapperCla : '';\n },\n wrapperListeners() {\n const listeners = {\n keydown: this.onKeydown\n };\n if (this.isCustomContent) {\n listeners.click = this.action;\n }\n return listeners;\n }\n },\n methods: {\n onKeydown(event) {\n const {\n code\n } = event;\n if (code === ENTER || code === SPACE) {\n if (this.isCustomContent) {\n this.action();\n } else {\n stopEvent(event);\n /** Instead of simply navigating or calling the action, we want\n * the `a/button` to be the target of the event as it might have additional attributes.\n * E.g. `a` might have `target` attribute.\n */\n const e = new MouseEvent('click', {\n bubbles: true,\n cancelable: true\n });\n if (this.isLink) {\n this.$refs.item.$el.dispatchEvent(e);\n } else {\n var _this$$refs$item;\n (_this$$refs$item = this.$refs.item) === null || _this$$refs$item === void 0 ? void 0 : _this$$refs$item.dispatchEvent(e);\n }\n }\n }\n },\n action() {\n this.$emit('action', this.item);\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',_vm._g({class:[_vm.$options.ITEM_CLASS, _vm.wrapperClass],attrs:{\"tabindex\":_vm.listIndex,\"data-testid\":\"disclosure-dropdown-item\"}},_vm.wrapperListeners),[_vm._t(\"default\",function(){return [_c(_vm.itemComponent.is,_vm._g(_vm._b({ref:\"item\",tag:\"component\",staticClass:\"gl-new-dropdown-item-content\",attrs:{\"tabindex\":_vm.componentIndex}},'component',_vm.itemComponent.attrs,false),_vm.itemComponent.listeners),[_c('span',{staticClass:\"gl-new-dropdown-item-text-wrapper\"},[_vm._t(\"list-item\",function(){return [_vm._v(\"\\n \"+_vm._s(_vm.item.text)+\"\\n \")]})],2)])]})],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { ITEM_CLASS };\n","import { GlLoadingIcon } from '@gitlab/ui';\nimport { __ } from '~/locale';\nimport { renderVueComponentForLegacyJS } from './render_vue_component_for_legacy_js';\n\nconst defaultValue = (prop) => GlLoadingIcon.props[prop]?.default;\n\n/**\n * Returns a loading icon/spinner element.\n *\n * This should *only* be used in existing legacy areas of code where Vue is not\n * in use, as part of the migration strategy defined in\n * https://gitlab.com/groups/gitlab-org/-/epics/7626.\n *\n * @param {object} props - The props to configure the spinner.\n * @param {boolean} props.inline - Display the spinner inline; otherwise, as a block.\n * @param {string} props.color - The color of the spinner ('dark' or 'light')\n * @param {string} props.size - The size of the spinner ('sm', 'md', 'lg', 'xl')\n * @param {string[]} props.classes - Additional classes to apply to the element.\n * @param {string} props.label - The ARIA label to apply to the spinner.\n * @returns {HTMLElement}\n */\nexport const loadingIconForLegacyJS = ({\n inline = defaultValue('inline'),\n color = defaultValue('color'),\n size = defaultValue('size'),\n classes = [],\n label = __('Loading'),\n} = {}) =>\n renderVueComponentForLegacyJS(GlLoadingIcon, {\n class: classes,\n props: {\n inline,\n color,\n size,\n label,\n },\n });\n","import $ from 'jquery';\nimport { createAlert } from '~/alert';\nimport axios from '~/lib/utils/axios_utils';\nimport { queryToObject } from '~/lib/utils/url_utility';\nimport { loadingIconForLegacyJS } from '~/loading_icon_for_legacy_js';\n\nimport { __ } from '~/locale';\n\nexport default class GpgBadges {\n static fetch() {\n const tag = $('.js-signature-container');\n if (tag.length === 0) {\n return Promise.resolve();\n }\n\n const badges = $('.js-loading-signature-badge');\n\n badges.html(loadingIconForLegacyJS());\n badges.children().attr('aria-label', __('Loading'));\n\n const displayError = () =>\n createAlert({\n message: __('An error occurred while loading commit signatures'),\n });\n\n const endpoint = tag.data('signaturesPath');\n if (!endpoint) {\n displayError();\n return Promise.reject(new Error(__('Missing commit signatures endpoint!')));\n }\n\n const params = queryToObject(tag.serialize());\n return axios\n .get(endpoint, { params })\n .then(({ data }) => {\n data.signatures.forEach((signature) => {\n badges.filter(`[data-commit-sha=\"${signature.commit_sha}\"]`).replaceWith(signature.html);\n });\n })\n .catch(displayError);\n }\n}\n","(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n","import uniqueId from 'lodash/uniqueId';\nimport GlDisclosureDropdownItem from './disclosure_dropdown_item';\nimport { isGroup } from './utils';\nimport { DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS, DISCLOSURE_DROPDOWN_GROUP_NAME } from './constants';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nconst BORDER_CLASSES = {\n [DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.top]: 'gl-border-t gl-border-t-dropdown gl-pt-2 gl-mt-2',\n [DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.bottom]: 'gl-border-b gl-border-b-dropdown gl-pb-2 gl-mb-2'\n};\nvar script = {\n name: DISCLOSURE_DROPDOWN_GROUP_NAME,\n components: {\n GlDisclosureDropdownItem\n },\n props: {\n /**\n * Group of items\n */\n group: {\n type: Object,\n required: false,\n default: null,\n validator: isGroup\n },\n /**\n * If 'true', will set top border for the group\n * to separate from other groups. You can control\n * the border position using the `borderPosition`\n * property.\n */\n bordered: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Controls the position of the group's border. Valid\n * values are 'top' and 'bottom'.\n */\n borderPosition: {\n type: String,\n required: false,\n default: DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.top,\n validator: value => Object.keys(DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS).includes(value)\n }\n },\n computed: {\n borderClass() {\n return this.bordered ? BORDER_CLASSES[this.borderPosition] : null;\n },\n showHeader() {\n var _this$group;\n return this.$scopedSlots['group-label'] || ((_this$group = this.group) === null || _this$group === void 0 ? void 0 : _this$group.name);\n },\n groupLabeledBy() {\n return this.showHeader ? this.nameId : null;\n }\n },\n created() {\n this.nameId = uniqueId('gl-disclosure-dropdown-group-');\n },\n methods: {\n handleAction(action) {\n this.$emit('action', action);\n },\n uniqueItemId() {\n return uniqueId(`disclosure-item-`);\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{class:_vm.borderClass},[(_vm.showHeader)?_c('div',{staticClass:\"gl-py-2 gl-pl-4 gl-text-sm gl-font-bold gl-text-strong\",attrs:{\"id\":_vm.nameId,\"aria-hidden\":\"true\"}},[_vm._t(\"group-label\",function(){return [_vm._v(_vm._s(_vm.group.name))]})],2):_vm._e(),_vm._v(\" \"),_c('ul',{staticClass:\"gl-mb-0 gl-list-none gl-pl-0\",attrs:{\"aria-labelledby\":_vm.groupLabeledBy}},[_vm._t(\"default\",function(){return _vm._l((_vm.group.items),function(item){return _c('gl-disclosure-dropdown-item',{key:_vm.uniqueItemId(),attrs:{\"item\":item},on:{\"action\":_vm.handleAction},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":item})]},proxy:true}],null,true)})})})],2)])};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\nexport { BORDER_CLASSES };\n","(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n","import Vue from 'vue';\n\n/**\n * Returns the root element of the given Vue component.\n *\n * This should *only* be used in existing legacy areas of code where Vue is not\n * in use. For example, as part of the migration strategy defined in\n * https://gitlab.com/groups/gitlab-org/-/epics/7626.\n *\n * @param {Object} Component - The Vue component to render.\n * @param {Object} data - The data object to pass to the render function.\n * @param {string|Array} children - The children to render in the default slot\n * of the component.\n * @returns {HTMLElement}\n */\nexport const renderVueComponentForLegacyJS = (Component, data, children) => {\n const vm = new Vue({\n render(h) {\n return h(Component, data, children);\n },\n });\n\n vm.$mount();\n\n // Ensure it's rendered\n vm.$forceUpdate();\n\n const el = vm.$el.cloneNode(true);\n vm.$destroy();\n\n return el;\n};\n","(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '<strong class=\"' + tagClass + '\">';\n }\n if (tagClose == null) {\n tagClose = '</strong>';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n","(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n"],"sourceRoot":""}