{"version":3,"sources":["webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/utils.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/scorer.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/constants.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown.js","webpack:///./diffs/utils/merge_request.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_item.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/query.js","webpack:////home/git/gitlab/node_modules/@gitlab/ui/dist/components/base/new_dropdowns/disclosure/disclosure_dropdown_group.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/pathScorer.js","webpack:///./diffs/constants.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/matcher.js","webpack:////home/git/gitlab/node_modules/fuzzaldrin-plus/lib/filter.js"],"names":["isItem","item","Boolean","_item$text","text","length","Array","isArray","items","itemValidator","isGroup","group","every","itemsValidator","hasOnlyListItems","_ref","default","defaultSlot","nodes","tags","filter","vNode","tag","isValidSlotTag","includes","_vNode$type","type","name","_vNode$componentOptio","componentOptions","isValidSlotTagVue2","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","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","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","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","endpointRE","SHA1RE","updateChangesTabCount","badge","document","querySelector","textContent","ZERO_CHANGES_ALT_DISPLAY","getDerivedMergeRequestInformation","endpoint","mrPath","namespace","project","id","diffId","startSha","matches","exec","endpointUrl","URL","params","fromEntries","searchParams","entries","start_sha","diff_id","getVersionInfo","replace","extractFileHash","input","match","Query","defaultPathSeparator","matcher","parseOptions","pathScorer","preparedQueryCache","scorer","process","platform","module","candidates","usePathScoring","_results","_i","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","coreChars","countDir","getCharCodes","getExtension","opt_char_re","truncatedUpperCase","_arg","_ref1","core","depth","ext","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","INLINE_DIFF_VIEW_TYPE","PARALLEL_DIFF_VIEW_TYPE","MATCH_LINE_TYPE","EXPANDED_LINE_TYPE","OLD_NO_NEW_LINE_TYPE","NEW_NO_NEW_LINE_TYPE","CONTEXT_LINE_TYPE","EMPTY_CELL_TYPE","DIFF_NOTE_TYPE","LEGACY_DIFF_NOTE_TYPE","NEW_LINE_TYPE","OLD_LINE_TYPE","TEXT_DIFF_POSITION_TYPE","IMAGE_DIFF_POSITION_TYPE","FILE_DIFF_POSITION_TYPE","LINE_POSITION_LEFT","LINE_POSITION_RIGHT","DIFF_VIEW_COOKIE_NAME","DIFF_WHITESPACE_COOKIE_NAME","LINE_HOVER_CLASS_NAME","UNFOLD_COUNT","COUNT_OF_AVATARS_IN_GUTTER","LENGTH_OF_AVATAR_TOOLTIP","DIFF_FILE_SYMLINK_MODE","DIFF_FILE_DELETED_MODE","MR_TREE_SHOW_KEY","TREE_TYPE","TREE_LIST_STORAGE_KEY","TREE_LIST_WIDTH_STORAGE_KEY","INITIAL_TREE_WIDTH","MIN_TREE_WIDTH","TREE_HIDE_STATS_WIDTH","OLD_LINE_KEY","NEW_LINE_KEY","TYPE_KEY","MAX_RENDERING_DIFF_LINES","MAX_RENDERING_BULK_ROWS","MIN_RENDERING_MS","START_RENDERING_INDEX","INLINE_DIFF_LINES_KEY","DIFF_COMPARE_BASE_VERSION_INDEX","DIFF_COMPARE_HEAD_VERSION_INDEX","ALERT_OVERFLOW_HIDDEN","ALERT_MERGE_CONFLICT","ALERT_COLLAPSED_FILES","DIFF_FILE_AUTOMATIC_COLLAPSE","DIFF_FILE_MANUAL_COLLAPSE","STATE_IDLING","STATE_LOADING","STATE_ERRORED","TRANSITION_LOAD_START","TRANSITION_LOAD_ERROR","TRANSITION_LOAD_SUCCEED","TRANSITION_ACKNOWLEDGE_ERROR","RENAMED_DIFF_TRANSITIONS","EVT_MR_DIFF_GENERATED","EVT_MR_PREPARED","EVT_EXPAND_ALL_FILES","EVT_DISCUSSIONS_ASSIGNED","EVT_PERF_MARK_FILE_TREE_START","EVT_PERF_MARK_FILE_TREE_END","EVT_PERF_MARK_DIFF_FILES_START","EVT_PERF_MARK_FIRST_DIFF_FILE_SHOWN","EVT_PERF_MARK_DIFF_FILES_END","CONFLICT_OUR","CONFLICT_THEIR","CONFLICT_MARKER","CONFLICT_MARKER_OUR","CONFLICT_MARKER_THEIR","DEFER_DURATION","TRACKING_CAP_KEY","TRACKING_CAP_LENGTH","TRACKING_CLICK_DIFF_VIEW_SETTING","TRACKING_DIFF_VIEW_INLINE","TRACKING_DIFF_VIEW_PARALLEL","TRACKING_CLICK_FILE_BROWSER_SETTING","TRACKING_FILE_BROWSER_TREE","TRACKING_FILE_BROWSER_LIST","TRACKING_CLICK_WHITESPACE_SETTING","TRACKING_WHITESPACE_SHOW","TRACKING_WHITESPACE_HIDE","TRACKING_CLICK_SINGLE_FILE_SETTING","TRACKING_SINGLE_FILE_MODE","TRACKING_MULTIPLE_FILES_MODE","SAST_FINDING_DISMISSED","basenameMatch","computeMatch","mergeMatches","baseMatches","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":"commons-pages.admin.abuse_reports.show-pages.admin.topics.edit-pages.admin.topics.new-pages.groups.i-6c0147cd.c2223dae.chunk.js","sourcesContent":["import isFunction from 'lodash/isFunction';\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 isValidSlotTag = 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 hasOnlyListItems = _ref => {\n let {\n default: defaultSlot\n } = _ref;\n if (!isFunction(defaultSlot)) {\n return false;\n }\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 => isValidSlotTag(tag) || isValidSlotTagVue2(tag));\n};\n\nexport { hasOnlyListItems, isGroup, isItem, itemsValidator };\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: 'left',\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 || hasOnlyListItems(this.$scopedSlots)) {\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 /**\n * Emitted when one of disclosure dropdown items is clicked\n *\n * @event action\n */\n this.$emit('action', action);\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([{key:\"list-item\",fn:function(){return [_vm._t(\"list-item\",null,{\"item\":item})]},proxy:true}],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","import { ZERO_CHANGES_ALT_DISPLAY } from '../constants';\n\nconst endpointRE = /^(\\/?(.+\\/)+(.+)\\/-\\/merge_requests\\/(\\d+)).*$/i;\nconst SHA1RE = /([a-f0-9]{40})/g;\n\nfunction getVersionInfo({ endpoint } = {}) {\n const dummyRoot = 'https://gitlab.com';\n const endpointUrl = new URL(endpoint, dummyRoot);\n const params = Object.fromEntries(endpointUrl.searchParams.entries());\n\n const { start_sha: startSha, diff_id: diffId } = params;\n\n return {\n diffId,\n startSha,\n };\n}\n\nexport function updateChangesTabCount({\n count,\n badge = document.querySelector('.js-diffs-tab .gl-badge'),\n} = {}) {\n if (badge) {\n // The purpose of this function is to assign to this parameter\n /* eslint-disable-next-line no-param-reassign */\n badge.textContent = count || ZERO_CHANGES_ALT_DISPLAY;\n }\n}\n\nexport function getDerivedMergeRequestInformation({ endpoint } = {}) {\n let mrPath;\n let namespace;\n let project;\n let id;\n let diffId;\n let startSha;\n const matches = endpointRE.exec(endpoint);\n\n if (matches) {\n [, mrPath, namespace, project, id] = matches;\n ({ diffId, startSha } = getVersionInfo({ endpoint }));\n\n namespace = namespace.replace(/\\/$/, '');\n }\n\n return {\n mrPath,\n namespace,\n project,\n id,\n diffId,\n startSha,\n };\n}\n\nexport function extractFileHash({ input = '' } = {}) {\n const matches = input.match(SHA1RE);\n\n return matches?.[0];\n}\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 'bootstrap-vue/esm/index.js';\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","(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-gray-200 gl-pt-2 gl-mt-2',\n [DISCLOSURE_DROPDOWN_GROUP_BORDER_POSITIONS.bottom]: 'gl-border-b gl-border-b-gray-200 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-pl-4 gl-py-2 gl-font-sm gl-font-weight-bold\",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-pl-0 gl-list-style-none\",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","export const INLINE_DIFF_VIEW_TYPE = 'inline';\nexport const PARALLEL_DIFF_VIEW_TYPE = 'parallel';\nexport const MATCH_LINE_TYPE = 'match';\nexport const EXPANDED_LINE_TYPE = 'expanded';\nexport const OLD_NO_NEW_LINE_TYPE = 'old-nonewline';\nexport const NEW_NO_NEW_LINE_TYPE = 'new-nonewline';\nexport const CONTEXT_LINE_TYPE = 'context';\nexport const EMPTY_CELL_TYPE = 'empty-cell';\nexport const DIFF_NOTE_TYPE = 'DiffNote';\nexport const LEGACY_DIFF_NOTE_TYPE = 'LegacyDiffNote';\nexport const NEW_LINE_TYPE = 'new';\nexport const OLD_LINE_TYPE = 'old';\nexport const TEXT_DIFF_POSITION_TYPE = 'text';\nexport const IMAGE_DIFF_POSITION_TYPE = 'image';\nexport const FILE_DIFF_POSITION_TYPE = 'file';\n\nexport const LINE_POSITION_LEFT = 'left';\nexport const LINE_POSITION_RIGHT = 'right';\n\nexport const DIFF_VIEW_COOKIE_NAME = 'diff_view';\nexport const DIFF_WHITESPACE_COOKIE_NAME = 'diff_whitespace';\nexport const LINE_HOVER_CLASS_NAME = 'is-over';\n\nexport const UNFOLD_COUNT = 20;\nexport const COUNT_OF_AVATARS_IN_GUTTER = 3;\nexport const LENGTH_OF_AVATAR_TOOLTIP = 17;\n\nexport const DIFF_FILE_SYMLINK_MODE = '120000';\nexport const DIFF_FILE_DELETED_MODE = '0';\n\nexport const MR_TREE_SHOW_KEY = 'mr_tree_show';\n\nexport const TREE_TYPE = 'tree';\nexport const TREE_LIST_STORAGE_KEY = 'mr_diff_tree_list';\nexport const TREE_LIST_WIDTH_STORAGE_KEY = 'mr_tree_list_width';\n\nexport const INITIAL_TREE_WIDTH = 320;\nexport const MIN_TREE_WIDTH = 240;\nexport const TREE_HIDE_STATS_WIDTH = 260;\n\nexport const OLD_LINE_KEY = 'old_line';\nexport const NEW_LINE_KEY = 'new_line';\nexport const TYPE_KEY = 'type';\n\nexport const MAX_RENDERING_DIFF_LINES = 500;\nexport const MAX_RENDERING_BULK_ROWS = 30;\nexport const MIN_RENDERING_MS = 2;\nexport const START_RENDERING_INDEX = 200;\nexport const INLINE_DIFF_LINES_KEY = 'highlighted_diff_lines';\n\nexport const DIFF_COMPARE_BASE_VERSION_INDEX = -1;\nexport const DIFF_COMPARE_HEAD_VERSION_INDEX = -2;\n\n// Diff View Alerts\nexport const ALERT_OVERFLOW_HIDDEN = 'overflow';\nexport const ALERT_MERGE_CONFLICT = 'merge-conflict';\nexport const ALERT_COLLAPSED_FILES = 'collapsed';\n\n// Diff File collapse types\nexport const DIFF_FILE_AUTOMATIC_COLLAPSE = 'automatic';\nexport const DIFF_FILE_MANUAL_COLLAPSE = 'manual';\n\n// State machine states\nexport const STATE_IDLING = 'idle';\nexport const STATE_LOADING = 'loading';\nexport const STATE_ERRORED = 'errored';\n\n// State machine transitions\nexport const TRANSITION_LOAD_START = 'LOAD_START';\nexport const TRANSITION_LOAD_ERROR = 'LOAD_ERROR';\nexport const TRANSITION_LOAD_SUCCEED = 'LOAD_SUCCEED';\nexport const TRANSITION_ACKNOWLEDGE_ERROR = 'ACKNOWLEDGE_ERROR';\n\nexport const RENAMED_DIFF_TRANSITIONS = {\n [`${STATE_IDLING}:${TRANSITION_LOAD_START}`]: STATE_LOADING,\n [`${STATE_LOADING}:${TRANSITION_LOAD_ERROR}`]: STATE_ERRORED,\n [`${STATE_LOADING}:${TRANSITION_LOAD_SUCCEED}`]: STATE_IDLING,\n [`${STATE_ERRORED}:${TRANSITION_LOAD_START}`]: STATE_LOADING,\n [`${STATE_ERRORED}:${TRANSITION_ACKNOWLEDGE_ERROR}`]: STATE_IDLING,\n};\n\n// MR Diffs known events\nexport const EVT_MR_DIFF_GENERATED = 'mr:diffGenerated';\nexport const EVT_MR_PREPARED = 'mr:asyncPreparationFinished';\nexport const EVT_EXPAND_ALL_FILES = 'mr:diffs:expandAllFiles';\nexport const EVT_DISCUSSIONS_ASSIGNED = 'mr:diffs:discussionsAssigned';\nexport const EVT_PERF_MARK_FILE_TREE_START = 'mr:diffs:perf:fileTreeStart';\nexport const EVT_PERF_MARK_FILE_TREE_END = 'mr:diffs:perf:fileTreeEnd';\nexport const EVT_PERF_MARK_DIFF_FILES_START = 'mr:diffs:perf:filesStart';\nexport const EVT_PERF_MARK_FIRST_DIFF_FILE_SHOWN = 'mr:diffs:perf:firstFileShown';\nexport const EVT_PERF_MARK_DIFF_FILES_END = 'mr:diffs:perf:filesEnd';\n\nexport const CONFLICT_OUR = 'conflict_our';\nexport const CONFLICT_THEIR = 'conflict_their';\nexport const CONFLICT_MARKER = 'conflict_marker';\nexport const CONFLICT_MARKER_OUR = 'conflict_marker_our';\nexport const CONFLICT_MARKER_THEIR = 'conflict_marker_their';\n\n// Tracking events\nexport const DEFER_DURATION = 750;\nexport const TRACKING_CAP_KEY = 'code_review_events_dispatched';\nexport const TRACKING_CAP_LENGTH = 86400000; // 24 hours\n\nexport const TRACKING_CLICK_DIFF_VIEW_SETTING = 'i_code_review_click_diff_view_setting';\nexport const TRACKING_DIFF_VIEW_INLINE = 'i_code_review_diff_view_inline';\nexport const TRACKING_DIFF_VIEW_PARALLEL = 'i_code_review_diff_view_parallel';\n\nexport const TRACKING_CLICK_FILE_BROWSER_SETTING = 'i_code_review_click_file_browser_setting';\nexport const TRACKING_FILE_BROWSER_TREE = 'i_code_review_file_browser_tree_view';\nexport const TRACKING_FILE_BROWSER_LIST = 'i_code_review_file_browser_list_view';\n\nexport const TRACKING_CLICK_WHITESPACE_SETTING = 'i_code_review_click_whitespace_setting';\nexport const TRACKING_WHITESPACE_SHOW = 'i_code_review_diff_show_whitespace';\nexport const TRACKING_WHITESPACE_HIDE = 'i_code_review_diff_hide_whitespace';\n\nexport const TRACKING_CLICK_SINGLE_FILE_SETTING = 'i_code_review_click_single_file_mode_setting';\nexport const TRACKING_SINGLE_FILE_MODE = 'i_code_review_diff_single_file';\nexport const TRACKING_MULTIPLE_FILES_MODE = 'i_code_review_diff_multiple_files';\n\n// UI\nexport const ZERO_CHANGES_ALT_DISPLAY = '-';\n\n// SAST Findings\nexport const SAST_FINDING_DISMISSED = 'dismissed';\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 = '';\n }\n if (tagClose == null) {\n tagClose = '';\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":""}