{"version":3,"sources":["webpack:////build/source/node_modules/lodash/_baseClone.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/button_group/button_group.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/filtered_search/filtered_search_term.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/filtered_search/filtered_search.js","webpack:////build/source/node_modules/lodash/isSet.js","webpack:////build/source/node_modules/lodash/fp/fill.js","webpack:////build/source/node_modules/lodash/toLength.js","webpack:////build/source/node_modules/lodash/_initCloneByTag.js","webpack:////build/source/node_modules/lodash/_baseIsSet.js","webpack:////build/source/node_modules/lodash/orderBy.js","webpack:////build/source/node_modules/lodash/_baseAssign.js","webpack:////build/source/node_modules/lodash/clone.js","webpack:////build/source/node_modules/lodash/_createFlow.js","webpack:////build/source/node_modules/lodash/fp/flowRight.js","webpack:////build/source/node_modules/lodash/fp/filter.js","webpack:////build/source/node_modules/lodash/_cloneSymbol.js","webpack:////build/source/node_modules/lodash/fill.js","webpack:////build/source/node_modules/lodash/_initCloneArray.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/dropdown/dropdown-header.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/dropdown/dropdown_section_header.js","webpack:////build/source/node_modules/lodash/isMap.js","webpack:////build/source/node_modules/lodash/last.js","webpack:////build/source/node_modules/lodash/_copySymbols.js","webpack:////build/source/node_modules/lodash/fp/compose.js","webpack:////build/source/node_modules/lodash/cloneDeep.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/avatar_link/avatar_link.js","webpack:////build/source/node_modules/lodash/_baseFill.js","webpack:////build/source/node_modules/lodash/_copySymbolsIn.js","webpack:////build/source/node_modules/lodash/_cloneDataView.js","webpack:////build/source/node_modules/lodash/_baseAssignIn.js","webpack:////build/source/node_modules/lodash/uniqWith.js","webpack:////build/source/node_modules/lodash/compact.js","webpack:////build/source/node_modules/lodash/_baseFilter.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/search_box_by_click/search_box_by_click.js","webpack:////build/source/node_modules/lodash/flowRight.js","webpack:////build/source/node_modules/lodash/_baseIsMap.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/utilities/intersperse/intersperse.js","webpack:////build/source/node_modules/lodash/filter.js","webpack:////build/source/node_modules/lodash/_cloneRegExp.js"],"names":["Stack","arrayEach","assignValue","baseAssign","baseAssignIn","cloneBuffer","copyArray","copySymbols","copySymbolsIn","getAllKeys","getAllKeysIn","getTag","initCloneArray","initCloneByTag","initCloneObject","isArray","isBuffer","isMap","isObject","isSet","keys","keysIn","cloneableTags","module","exports","baseClone","value","bitmask","customizer","key","object","stack","result","isDeep","isFlat","isFull","undefined","isArr","tag","isFunc","stacked","get","set","forEach","subValue","add","props","__vue_script__","name","vertical","type","Boolean","required","default","__vue_component__","render","_h","this","$createElement","_self","_c","_g","class","attrs","$listeners","_t","staticRenderFns","components","GlFilteredSearchTokenSegment","GlToken","inject","inheritAttrs","availableTokens","Array","active","Object","data","placeholder","String","searchInputAttributes","isLastToken","currentValue","cursorPosition","validator","includes","searchTextOptionLabel","title","viewOnly","computed","termsAsTokens","tokens","filter","token","push","map","internalValue","$emit","mousedown","stopMousedownOnCloseButton","close","destroyByClose","methods","intent","event","target","closest","_vm","staticClass","ref","suggestedTokens","on","$event","onComplete","onBackspace","scopedSlots","_u","fn","label","eventListeners","_v","_s","_b","model","callback","$$v","expression","portalUuid","initialState","GlSearchBoxByClick","GlIcon","PortalTarget","directives","GlTooltip","portalName","alignSuggestions","suggestionsListClass","__v_raw","isOk","every","_ref","__v_skip","console","warn","clearButtonTitle","historyItems","showFriendlyText","searchButtonAttributes","showSearchButton","activeTokenIdx","suggestionsStyle","intendedCursorPosition","length","lastTokenIdx","hasValue","disabled","unique","find","t","watch","isLastTokenEmpty","deep","immediate","newValue","oldValue","applyNewValue","idx","_this$getTokenEntry","getTokenEntry","offsetRef","getBoundingClientRect","left","offsetMenu","$el","transform","Math","floor","tokenIdx","indexOf","isLastTokenActive","activeToken","splice","arguments","max","$set","newStrings","newTokens","submit","slotScope","_l","getTokenComponent","id","refInFor","getTokenClassList","currentAvailableTokens","termPlaceholder","appliedTokens","activate","deactivate","destroyToken","replaceToken","completeToken","createTokens","activatePreviousToken","activateNextToken","style","proxy","$attrs","baseIsSet","baseUnary","nodeUtil","nodeIsSet","func","convert","baseClamp","toInteger","cloneArrayBuffer","cloneDataView","cloneRegExp","cloneSymbol","cloneTypedArray","Ctor","constructor","isObjectLike","baseOrderBy","collection","iteratees","orders","guard","copyObject","source","LodashWrapper","flatRest","getData","getFuncName","isLaziable","fromRight","funcs","index","prereq","prototype","thru","reverse","TypeError","wrapper","funcName","apply","args","plant","call","Symbol","symbolProto","symbolValueOf","valueOf","symbol","baseFill","isIterateeCall","array","start","end","hasOwnProperty","input","variant","BDropdownHeader","functional","h","children","role","baseIsMap","nodeIsMap","getSymbols","CLONE_DEEP_FLAG","GlLink","toLength","getSymbolsIn","dataView","buffer","byteOffset","byteLength","baseUniq","comparator","resIndex","baseEach","predicate","GlClearIconButton","GlButton","GlFormInput","GlDisclosureDropdown","GlDisclosureDropdownItem","GlFormInputGroup","clearable","recentSearchesHeader","closeButtonTitle","clearRecentSearchesText","noRecentSearchesText","tooltipContainer","HTMLElement","isFocused","attributes","item","setTimeout","document","activeElement","blur","$refs","focus","emitClearHistory","selectHistoryItem","search","nativeOn","_k","keyCode","inputAttributes","clearInput","_e","flowRight","createFlow","filterEmptyNodesVue2","vNode","text","trim","Fragment","filterEmptyNodes","version","startsWith","reduce","acc","node","insertAfterSecondLastItem","replaceSecondLastItem","separator","lastSeparator","createElement","context","slots","items","addLastSeparator","filterAndSeparate","arrayFilter","baseFilter","baseIteratee","reFlags","regexp","exec","lastIndex"],"mappings":"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","file":"1189.95c89551.chunk.js","sourcesContent":["var Stack = require('./_Stack'),\n arrayEach = require('./_arrayEach'),\n assignValue = require('./_assignValue'),\n baseAssign = require('./_baseAssign'),\n baseAssignIn = require('./_baseAssignIn'),\n cloneBuffer = require('./_cloneBuffer'),\n copyArray = require('./_copyArray'),\n copySymbols = require('./_copySymbols'),\n copySymbolsIn = require('./_copySymbolsIn'),\n getAllKeys = require('./_getAllKeys'),\n getAllKeysIn = require('./_getAllKeysIn'),\n getTag = require('./_getTag'),\n initCloneArray = require('./_initCloneArray'),\n initCloneByTag = require('./_initCloneByTag'),\n initCloneObject = require('./_initCloneObject'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isMap = require('./isMap'),\n isObject = require('./isObject'),\n isSet = require('./isSet'),\n keys = require('./keys'),\n keysIn = require('./keysIn');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nmodule.exports = baseClone;\n","import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlButtonGroup',\n props: {\n /**\n * When set, rendered the button group in vertical mode.\n */\n vertical: {\n type: Boolean,\n required: false,\n default: false\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('div',_vm._g({class:!_vm.vertical ? 'btn-group' : 'btn-group-vertical',attrs:{\"role\":\"group\"}},_vm.$listeners),[_vm._t(\"default\")],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__;\n","import GlToken from '../token/token';\nimport { stopEvent } from '../../../utils/utils';\nimport GlFilteredSearchTokenSegment from './filtered_search_token_segment';\nimport { termTokenDefinition, match, tokenToOption, INTENT_ACTIVATE_PREVIOUS, TOKEN_CLOSE_SELECTOR, TERM_TOKEN_TYPE } from './filtered_search_utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlFilteredSearchTerm',\n components: {\n GlFilteredSearchTokenSegment,\n GlToken\n },\n inject: ['termsAsTokens'],\n inheritAttrs: false,\n props: {\n /**\n * Tokens available for this filtered search instance.\n */\n availableTokens: {\n type: Array,\n required: true\n },\n /**\n * Determines if the term is being edited or not.\n */\n active: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Current term value.\n */\n value: {\n type: Object,\n required: false,\n default: () => ({\n data: ''\n })\n },\n placeholder: {\n type: String,\n required: false,\n default: ''\n },\n /**\n * HTML attributes to add to the search input.\n */\n searchInputAttributes: {\n type: Object,\n required: false,\n default: () => ({})\n },\n /**\n * If this is the last token.\n */\n isLastToken: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * The current `value` (tokens) of the ancestor GlFilteredSearch component.\n */\n currentValue: {\n type: Array,\n required: false,\n default: () => []\n },\n cursorPosition: {\n type: String,\n required: false,\n default: 'end',\n validator: value => ['start', 'end'].includes(value)\n },\n /**\n * The title of the text search option. Ignored unless termsAsTokens is enabled.\n */\n searchTextOptionLabel: {\n type: String,\n required: false,\n default: termTokenDefinition.title\n },\n viewOnly: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n computed: {\n showInput() {\n return this.termsAsTokens() || Boolean(this.placeholder);\n },\n showToken() {\n return this.termsAsTokens() && Boolean(this.value.data);\n },\n suggestedTokens() {\n const tokens = this.availableTokens.filter(token => match(token.title, this.value.data));\n if (this.termsAsTokens() && this.value.data) {\n tokens.push({\n ...termTokenDefinition,\n title: this.searchTextOptionLabel\n });\n }\n\n // eslint-disable-next-line unicorn/no-array-callback-reference\n return tokens.map(tokenToOption);\n },\n internalValue: {\n get() {\n return this.value.data;\n },\n set(data) {\n /**\n * Emitted when the token changes its value.\n *\n * @event input\n * @type {object} dataObj Object containing the update value.\n */\n this.$emit('input', {\n data\n });\n }\n },\n eventListeners() {\n return this.viewOnly ? {} : {\n mousedown: this.stopMousedownOnCloseButton,\n close: this.destroyByClose\n };\n }\n },\n methods: {\n onBackspace() {\n /**\n * Emitted when token value is empty and backspace is pressed.\n * Includes user intent to activate previous token.\n *\n * @event destroy\n * @type {object} details The user intent\n */\n this.$emit('destroy', {\n intent: INTENT_ACTIVATE_PREVIOUS\n });\n },\n stopMousedownOnCloseButton(event) {\n if (event.target.closest(TOKEN_CLOSE_SELECTOR)) {\n stopEvent(event);\n }\n },\n destroyByClose() {\n this.$emit('destroy');\n },\n onComplete(type) {\n if (type === TERM_TOKEN_TYPE) {\n // We've completed this term token\n this.$emit('complete');\n } else {\n // We're changing the current token type\n this.$emit('replace', {\n type\n });\n }\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('div',{staticClass:\"gl-filtered-search-term gl-h-auto\",attrs:{\"data-testid\":\"filtered-search-term\"}},[_c('gl-filtered-search-token-segment',{ref:\"segment\",staticClass:\"gl-filtered-search-term-token\",attrs:{\"is-term\":\"\",\"active\":_vm.active,\"cursor-position\":_vm.cursorPosition,\"search-input-attributes\":_vm.searchInputAttributes,\"is-last-token\":_vm.isLastToken,\"current-value\":_vm.currentValue,\"view-only\":_vm.viewOnly,\"options\":_vm.suggestedTokens},on:{\"activate\":function($event){return _vm.$emit('activate')},\"deactivate\":function($event){return _vm.$emit('deactivate')},\"complete\":_vm.onComplete,\"backspace\":_vm.onBackspace,\"submit\":function($event){return _vm.$emit('submit')},\"split\":function($event){return _vm.$emit('split', $event)},\"previous\":function($event){return _vm.$emit('previous')},\"next\":function($event){return _vm.$emit('next')}},scopedSlots:_vm._u([{key:\"view\",fn:function(ref){\nvar label = ref.label;\nreturn [(_vm.showToken)?_c('gl-token',_vm._g({class:{ 'gl-cursor-pointer': !_vm.viewOnly },attrs:{\"view-only\":_vm.viewOnly}},_vm.eventListeners),[_vm._v(_vm._s(_vm.value.data))]):(_vm.showInput)?_c('input',_vm._b({staticClass:\"gl-filtered-search-term-input\",class:{ 'gl-bg-gray-10': _vm.viewOnly },attrs:{\"placeholder\":_vm.placeholder,\"aria-label\":label,\"readonly\":_vm.viewOnly,\"data-testid\":\"filtered-search-term-input\"},on:{\"focusin\":function($event){return _vm.$emit('activate')},\"focusout\":function($event){return _vm.$emit('deactivate')}}},'input',_vm.searchInputAttributes,false)):[_vm._v(_vm._s(_vm.value.data))]]}}]),model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v;},expression:\"internalValue\"}})],1)};\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__;\n","import isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { PortalTarget } from 'portal-vue';\nimport { GlTooltipDirective } from '../../../directives/tooltip';\nimport GlIcon from '../icon/icon';\nimport GlSearchBoxByClick from '../search_box_by_click/search_box_by_click';\nimport GlFilteredSearchTerm from './filtered_search_term';\nimport { termTokenDefinition, createTerm, isEmptyTerm, needDenormalization, denormalizeTokens, INTENT_ACTIVATE_PREVIOUS, ensureTokenId, normalizeTokens } from './filtered_search_utils';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nlet portalUuid = 0;\nfunction initialState() {\n return [createTerm()];\n}\nvar script = {\n name: 'GlFilteredSearch',\n components: {\n GlSearchBoxByClick,\n GlIcon,\n PortalTarget\n },\n directives: {\n GlTooltip: GlTooltipDirective\n },\n provide() {\n portalUuid += 1;\n this.portalName = `filters_portal_${portalUuid}`;\n return {\n portalName: this.portalName,\n alignSuggestions: ref => this.alignSuggestions(ref),\n // Return a function reference instead of a prop to work around vue-apollo@3 bug.\n // TODO: This can be reverted once https://github.com/vuejs/vue-apollo/pull/1153\n // has been merged and we consume it, or we upgrade to vue-apollo@4.\n suggestionsListClass: () => this.suggestionsListClass,\n termsAsTokens: () => this.termsAsTokens\n };\n },\n inheritAttrs: false,\n props: {\n /**\n * If provided, used as value of filtered search\n */\n value: {\n required: false,\n type: Array,\n default: () => []\n },\n /**\n * Available tokens\n */\n availableTokens: {\n type: Array,\n required: false,\n default: () => [],\n validator(value) {\n // eslint-disable-next-line no-underscore-dangle\n if (!value.__v_raw) {\n // This is Vue 2\n return true;\n }\n\n // eslint-disable-next-line no-underscore-dangle\n const isOk = Array.isArray(value) && value.every(_ref => {\n let {\n token\n } = _ref;\n return token.__v_skip;\n });\n if (!isOk) {\n // eslint-disable-next-line no-console\n console.warn('You are using Vue3. In Vue3 each token component passed to filtered search must be wrapped into markRaw');\n }\n return isOk;\n }\n },\n /**\n * If provided, used as history items for this component\n */\n placeholder: {\n type: String,\n required: false,\n default: 'Search'\n },\n clearButtonTitle: {\n type: String,\n required: false,\n default: 'Clear'\n },\n historyItems: {\n type: Array,\n required: false,\n default: null\n },\n /**\n * Additional classes to add to the suggestion list menu. NOTE: this not reactive, and the value\n * must be available and fixed when the component is instantiated\n */\n suggestionsListClass: {\n type: [String, Array, Object],\n required: false,\n default: null\n },\n /**\n * Display operators' descriptions instead of their values (e.g., \"is\" instead of \"=\").\n */\n showFriendlyText: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * HTML attributes to add to the search button\n */\n searchButtonAttributes: {\n type: Object,\n required: false,\n default: () => ({})\n },\n /**\n * HTML attributes to add to the search input\n */\n searchInputAttributes: {\n type: Object,\n required: false,\n default: () => ({})\n },\n viewOnly: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * Render search terms as GlTokens. Ideally, this prop will be as\n * short-lived as possible, and this behavior will become the default and\n * only behavior.\n *\n * This prop is *not* reactive.\n *\n * See https://gitlab.com/gitlab-org/gitlab-ui/-/issues/2159.\n */\n termsAsTokens: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * The title of the text search option. Ignored unless termsAsTokens is enabled.\n */\n searchTextOptionLabel: {\n type: String,\n required: false,\n default: termTokenDefinition.title\n },\n /**\n * Display search button to perform a search.\n *\n * Note: it is required to ensure accessibility for WCAG 2.1 3.2.2: On Input.\n * If the search button is hidden, a separate button should be provided for the same context.\n */\n showSearchButton: {\n type: Boolean,\n required: false,\n default: true\n }\n },\n data() {\n return {\n tokens: initialState(),\n activeTokenIdx: null,\n suggestionsStyle: {},\n intendedCursorPosition: 'end'\n };\n },\n computed: {\n activeToken() {\n return this.tokens[this.activeTokenIdx];\n },\n appliedTokens() {\n return this.tokens.filter(token => !isEmptyTerm(token));\n },\n lastTokenIdx() {\n return this.tokens.length - 1;\n },\n isLastTokenActive() {\n return this.activeTokenIdx === this.lastTokenIdx;\n },\n hasValue() {\n return this.tokens.length > 1 || this.tokens[0].value.data !== '';\n },\n termPlaceholder() {\n return this.hasValue ? null : this.placeholder;\n },\n currentAvailableTokens() {\n return this.availableTokens.filter(token => {\n if (token.disabled) {\n return false;\n }\n if (token.unique) {\n return !this.tokens.find(t => t.type === token.type);\n }\n return true;\n });\n }\n },\n watch: {\n tokens: {\n handler() {\n if (process.env.NODE_ENV !== 'production') {\n const invalidToken = this.tokens.find(token => !token.id);\n if (invalidToken) {\n throw new Error(`Token does not have an id:\\n${JSON.stringify(invalidToken)}`);\n }\n }\n if ((this.tokens.length === 0 || !this.isLastTokenEmpty()) && !this.viewOnly) {\n this.tokens.push(createTerm());\n }\n\n /**\n * Emitted when the tokens (value) changes\n * @property {array} tokens\n */\n this.$emit('input', this.tokens);\n },\n deep: true,\n immediate: true\n },\n value: {\n handler(newValue, oldValue) {\n if (!isEqual(newValue, oldValue)) {\n const value = newValue.length ? newValue : initialState();\n this.applyNewValue(cloneDeep(value));\n }\n },\n deep: true,\n immediate: true\n }\n },\n methods: {\n applyNewValue(newValue) {\n this.tokens = needDenormalization(newValue) ? denormalizeTokens(newValue, this.termsAsTokens) : newValue;\n },\n isActiveToken(idx) {\n return this.activeTokenIdx === idx;\n },\n isLastToken(idx) {\n return this.activeTokenIdx === null && idx === this.lastTokenIdx;\n },\n isLastTokenEmpty() {\n return isEmptyTerm(this.tokens[this.lastTokenIdx]);\n },\n getTokenEntry(type) {\n return this.availableTokens.find(t => t.type === type);\n },\n getTokenComponent(type) {\n var _this$getTokenEntry;\n return ((_this$getTokenEntry = this.getTokenEntry(type)) === null || _this$getTokenEntry === void 0 ? void 0 : _this$getTokenEntry.token) || GlFilteredSearchTerm;\n },\n getTokenClassList(idx) {\n return {\n 'gl-filtered-search-item': true,\n 'gl-filtered-search-last-item': this.isLastToken(idx) && !this.viewOnly\n };\n },\n activate(idx) {\n if (!this.viewOnly) {\n this.activeTokenIdx = idx;\n }\n },\n activatePreviousToken() {\n if (this.activeTokenIdx > 0) {\n this.activeTokenIdx -= 1;\n this.intendedCursorPosition = 'end';\n }\n },\n activateNextToken() {\n if (this.activeTokenIdx < this.value.length) {\n this.activeTokenIdx += 1;\n this.intendedCursorPosition = 'start';\n }\n },\n alignSuggestions(ref) {\n const offsetRef = ref.getBoundingClientRect().left;\n const offsetMenu = this.$el.getBoundingClientRect().left;\n const transform = `translateX(${Math.floor(offsetRef - offsetMenu)}px)`;\n this.suggestionsStyle = {\n transform\n };\n },\n deactivate(token) {\n this.intendedCursorPosition = 'end';\n const tokenIdx = this.tokens.indexOf(token);\n if (tokenIdx === -1 || this.activeTokenIdx !== tokenIdx) {\n return;\n }\n if (!this.isLastTokenEmpty()) {\n this.tokens.push(createTerm());\n }\n if (!this.isLastTokenActive && isEmptyTerm(this.activeToken)) {\n this.tokens.splice(tokenIdx, 1);\n }\n this.activeTokenIdx = null;\n },\n destroyToken(idx) {\n let {\n intent\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.tokens.length === 1) {\n return;\n }\n this.tokens.splice(idx, 1);\n\n // First, attempt to honor the user's activation intent behind the\n // destruction of the token, if any. Otherwise, try to maintain the\n // active state for the token that was active at the time. If that's not\n // possible, make sure no token is active.\n if (intent === INTENT_ACTIVATE_PREVIOUS) {\n // If there is a previous token, activate it; else, activate the first token\n this.activeTokenIdx = Math.max(idx - 1, 0);\n } else if (idx < this.activeTokenIdx) {\n // Preserve the active token's active status (it shifted down one index)\n this.activeTokenIdx -= 1;\n } else if (idx === this.activeTokenIdx) {\n // User destroyed the active token; don't activate another one.\n this.activeTokenIdx = null;\n }\n // Do nothing if there was no active token, or if idx > this.activeTokenIdx,\n // to preserve the active state of the remaining tokens.\n },\n replaceToken(idx, token) {\n this.$set(this.tokens, idx, ensureTokenId({\n ...token,\n value: {\n data: '',\n ...token.value\n }\n }));\n this.activeTokenIdx = idx;\n },\n // This method can be deleted once termsAsTokens behavior is the default.\n createTokens(idx) {\n let newStrings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [''];\n if (!this.isLastTokenActive && newStrings.length === 1 && newStrings[0] === '') {\n this.activeTokenIdx = this.lastTokenIdx;\n return;\n }\n const newTokens = newStrings.map(data => createTerm(data));\n this.tokens.splice(idx + 1, 0, ...newTokens);\n this.activeTokenIdx = idx + newStrings.length;\n },\n completeToken() {\n if (this.activeTokenIdx === this.lastTokenIdx - 1) {\n this.activeTokenIdx = this.lastTokenIdx;\n } else {\n this.activeTokenIdx = null;\n }\n },\n submit() {\n /**\n * Emitted when search is submitted\n * @property {array} tokens\n */\n this.$emit('submit', normalizeTokens(cloneDeep(this.tokens)));\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('gl-search-box-by-click',_vm._b({attrs:{\"value\":_vm.tokens,\"history-items\":_vm.historyItems,\"clearable\":_vm.hasValue,\"search-button-attributes\":_vm.searchButtonAttributes,\"show-search-button\":_vm.showSearchButton,\"disabled\":_vm.viewOnly,\"data-testid\":\"filtered-search-input\"},on:{\"submit\":_vm.submit,\"input\":_vm.applyNewValue,\"history-item-selected\":function($event){return _vm.$emit('history-item-selected', $event)},\"clear\":function($event){return _vm.$emit('clear')},\"clear-history\":function($event){return _vm.$emit('clear-history')}},scopedSlots:_vm._u([{key:\"history-item\",fn:function(slotScope){return [_vm._t(\"history-item\",null,null,slotScope)]}},{key:\"input\",fn:function(){return [_c('div',{staticClass:\"gl-filtered-search-scrollable-container\",class:{\n 'gl-filtered-search-scrollable-container-with-search-button': _vm.showSearchButton,\n '!gl-bg-gray-10 !gl-shadow-inner-1-gray-100': _vm.viewOnly,\n }},[_c('div',{staticClass:\"gl-filtered-search-scrollable\"},_vm._l((_vm.tokens),function(token,idx){return _c(_vm.getTokenComponent(token.type),{key:token.id,ref:\"tokens\",refInFor:true,tag:\"component\",class:_vm.getTokenClassList(idx),attrs:{\"config\":_vm.getTokenEntry(token.type),\"active\":_vm.activeTokenIdx === idx,\"cursor-position\":_vm.intendedCursorPosition,\"available-tokens\":_vm.currentAvailableTokens,\"current-value\":_vm.tokens,\"index\":idx,\"placeholder\":_vm.termPlaceholder,\"show-friendly-text\":_vm.showFriendlyText,\"search-input-attributes\":_vm.searchInputAttributes,\"view-only\":_vm.viewOnly,\"is-last-token\":_vm.isLastToken(idx),\"search-text-option-label\":_vm.searchTextOptionLabel,\"applied-tokens\":_vm.appliedTokens},on:{\"activate\":function($event){return _vm.activate(idx)},\"deactivate\":function($event){return _vm.deactivate(token)},\"destroy\":function($event){return _vm.destroyToken(idx, $event)},\"replace\":function($event){return _vm.replaceToken(idx, $event)},\"complete\":_vm.completeToken,\"submit\":_vm.submit,\"split\":function($event){return _vm.createTokens(idx, $event)},\"previous\":_vm.activatePreviousToken,\"next\":_vm.activateNextToken},model:{value:(token.value),callback:function ($$v) {_vm.$set(token, \"value\", $$v);},expression:\"token.value\"}})}),1)]),_vm._v(\" \"),_c('portal-target',{key:_vm.activeTokenIdx,ref:\"menu\",style:(_vm.suggestionsStyle),attrs:{\"name\":_vm.portalName,\"slim\":\"\"}})]},proxy:true}],null,true)},'gl-search-box-by-click',_vm.$attrs,false))};\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__;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","var convert = require('./convert'),\n func = convert('fill', require('../fill'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var baseClamp = require('./_baseClamp'),\n toInteger = require('./toInteger');\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\nfunction toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n}\n\nmodule.exports = toLength;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer'),\n cloneDataView = require('./_cloneDataView'),\n cloneRegExp = require('./_cloneRegExp'),\n cloneSymbol = require('./_cloneSymbol'),\n cloneTypedArray = require('./_cloneTypedArray');\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nmodule.exports = initCloneByTag;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nmodule.exports = baseIsSet;\n","var baseOrderBy = require('./_baseOrderBy'),\n isArray = require('./isArray');\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nmodule.exports = orderBy;\n","var copyObject = require('./_copyObject'),\n keys = require('./keys');\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nmodule.exports = baseAssign;\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = clone;\n","var LodashWrapper = require('./_LodashWrapper'),\n flatRest = require('./_flatRest'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n isArray = require('./isArray'),\n isLaziable = require('./_isLaziable');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\nmodule.exports = createFlow;\n","var convert = require('./convert'),\n func = convert('flowRight', require('../flowRight'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var convert = require('./convert'),\n func = convert('filter', require('../filter'));\n\nfunc.placeholder = require('./placeholder');\nmodule.exports = func;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var baseFill = require('./_baseFill'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\nfunction fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n}\n\nmodule.exports = fill;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nmodule.exports = initCloneArray;\n","import { extend, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_HEADER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\n\n// --- Props ---\n\nconst props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'header'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_DROPDOWN_HEADER);\n\n// --- Main component ---\n\n// @vue/component\nconst BDropdownHeader = /*#__PURE__*/extend({\n name: NAME_DROPDOWN_HEADER,\n functional: true,\n props,\n render(h, _ref) {\n let {\n props,\n data,\n children\n } = _ref;\n const {\n tag,\n variant\n } = props;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(tag, {\n staticClass: 'dropdown-header',\n class: {\n [`text-${variant}`]: variant\n },\n attrs: {\n ...(data.attrs || {}),\n id: props.id || null,\n role: isTag(tag, 'header') ? null : 'heading'\n },\n ref: 'header'\n }, children)]);\n }\n});\n\nexport { BDropdownHeader, props };\n","import { BDropdownHeader } from '../../../vendor/bootstrap-vue/src/components/dropdown/dropdown-header';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlDropdownHeader',\n components: {\n BDropdownHeader\n },\n inheritAttrs: false\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('b-dropdown-header',_vm._g(_vm._b({staticClass:\"gl-dropdown-section-header\"},'b-dropdown-header',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],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__;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nmodule.exports = last;\n","var copyObject = require('./_copyObject'),\n getSymbols = require('./_getSymbols');\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nmodule.exports = copySymbols;\n","module.exports = require('./flowRight');\n","var baseClone = require('./_baseClone');\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nmodule.exports = cloneDeep;\n","import GlLink from '../link/link';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'AvatarLink',\n components: {\n GlLink\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('gl-link',_vm._g(_vm._b({staticClass:\"gl-avatar-link\"},'gl-link',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],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__;\n","var toInteger = require('./toInteger'),\n toLength = require('./toLength');\n\n/**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\nfunction baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n}\n\nmodule.exports = baseFill;\n","var copyObject = require('./_copyObject'),\n getSymbolsIn = require('./_getSymbolsIn');\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nmodule.exports = copySymbolsIn;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nmodule.exports = cloneDataView;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nmodule.exports = baseAssignIn;\n","var baseUniq = require('./_baseUniq');\n\n/**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\nfunction uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n}\n\nmodule.exports = uniqWith;\n","/**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\nfunction compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = compact;\n","var baseEach = require('./_baseEach');\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nmodule.exports = baseFilter;\n","import { GlTooltipDirective } from '../../../directives/tooltip';\nimport GlClearIconButton from '../../shared_components/clear_icon_button/clear_icon_button';\nimport GlButton from '../button/button';\nimport GlDisclosureDropdown from '../new_dropdowns/disclosure/disclosure_dropdown';\nimport GlDisclosureDropdownItem from '../new_dropdowns/disclosure/disclosure_dropdown_item';\nimport GlFormInput from '../form/form_input/form_input';\nimport GlFormInputGroup from '../form/form_input_group/form_input_group';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\nvar script = {\n name: 'GlSearchboxByClick',\n components: {\n GlClearIconButton,\n GlButton,\n GlFormInput,\n GlDisclosureDropdown,\n GlDisclosureDropdownItem,\n GlFormInputGroup\n },\n directives: {\n GlTooltip: GlTooltipDirective\n },\n props: {\n /**\n * If provided, used as value of search input\n */\n value: {\n required: false,\n default: '',\n // SearchBoxByClick could serve as a container for complex fields (see GlFilteredSearch)\n // so we should not force any specific type for value here\n validator: () => true\n },\n /**\n * If provided, used as history items for this component\n */\n historyItems: {\n type: Array,\n required: false,\n default: null\n },\n /**\n * If provided, used as a placeholder for this component\n */\n placeholder: {\n type: String,\n required: false,\n default: 'Search'\n },\n clearable: {\n type: Boolean,\n required: false,\n default: true\n },\n /**\n * If provided and true, disables the input and controls\n */\n disabled: {\n type: Boolean,\n required: false,\n default: false\n },\n /**\n * i18n for recent searches title within history dropdown\n */\n recentSearchesHeader: {\n type: String,\n required: false,\n default: 'Recent searches'\n },\n /**\n * i18n for clear button title\n */\n clearButtonTitle: {\n type: String,\n required: false,\n default: 'Clear'\n },\n /**\n * i18n for close button title within history dropdown\n */\n closeButtonTitle: {\n type: String,\n required: false,\n default: 'Close'\n },\n /**\n * i18n for recent searches clear text\n */\n clearRecentSearchesText: {\n type: String,\n required: false,\n default: 'Clear recent searches'\n },\n noRecentSearchesText: {\n type: String,\n required: false,\n default: \"You don't have any recent searches\"\n },\n /**\n * Container for tooltip. Valid values: DOM node, selector string or `false` for default\n */\n tooltipContainer: {\n required: false,\n default: false,\n validator: value => value === false || typeof value === 'string' || value instanceof HTMLElement\n },\n /**\n * HTML attributes to add to the search button\n */\n searchButtonAttributes: {\n type: Object,\n required: false,\n default: () => ({})\n },\n /**\n * Display search button to perform a search.\n *\n * Note: it is required to ensure accessibility for WCAG 2.1 3.2.2: On Input.\n * If the search button is hidden, a separate button should be provided for the same context.\n */\n showSearchButton: {\n type: Boolean,\n required: false,\n default: true\n }\n },\n data() {\n return {\n currentValue: null,\n isFocused: false\n };\n },\n computed: {\n inputAttributes() {\n const attributes = {\n type: 'search',\n placeholder: this.placeholder,\n ...this.$attrs\n };\n if (!attributes['aria-label']) {\n attributes['aria-label'] = attributes.placeholder;\n }\n return attributes;\n },\n hasValue() {\n return Boolean(this.currentValue);\n }\n },\n watch: {\n value: {\n handler(newValue) {\n this.currentValue = newValue;\n },\n immediate: true\n },\n currentValue(newValue) {\n if (newValue === this.value) return;\n this.$emit('input', newValue);\n }\n },\n methods: {\n search(value) {\n /**\n * Emitted when search is submitted\n * @property {*} value Search value\n */\n this.$emit('submit', value);\n },\n selectHistoryItem(item) {\n this.currentValue = item;\n\n /**\n * Emitted when item from history is selected\n * @property {*} item History item\n */\n this.$emit('history-item-selected', item);\n setTimeout(() => {\n document.activeElement.blur();\n });\n },\n clearInput() {\n this.currentValue = '';\n /**\n * Emitted when search is cleared\n */\n this.$emit('clear');\n if (this.$refs.input) {\n this.$refs.input.$el.focus();\n }\n },\n emitClearHistory() {\n /**\n * Emitted when clear history button is clicked\n */\n this.$emit('clear-history');\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('gl-form-input-group',{staticClass:\"gl-search-box-by-click\",class:{ 'gl-search-box-by-click-with-search-button': _vm.showSearchButton },scopedSlots:_vm._u([(_vm.historyItems)?{key:\"prepend\",fn:function(){return [_c('gl-disclosure-dropdown',{ref:\"historyDropdown\",staticClass:\"gl-search-box-by-click-history\",attrs:{\"icon\":\"history\",\"category\":\"tertiary\",\"toggle-text\":\"Toggle history\",\"text-sr-only\":\"\",\"fluid-width\":\"\",\"disabled\":_vm.disabled},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"gl-search-box-by-click-history-header gl-flex gl-min-h-8 gl-grow gl-items-center gl-border-b-1 gl-border-b-dropdown !gl-p-4 gl-text-sm gl-font-bold gl-border-b-solid\"},[_vm._v(\"\\n \"+_vm._s(_vm.recentSearchesHeader)+\"\\n \")])]},proxy:true},(_vm.historyItems.length)?{key:\"footer\",fn:function(){return [_c('div',{staticClass:\"gl-flex gl-flex-col gl-border-t-1 gl-border-t-dropdown gl-p-2 gl-border-t-solid\"},[_c('gl-button',{ref:\"clearHistory\",staticClass:\"!gl-justify-start\",attrs:{\"category\":\"tertiary\"},on:{\"click\":_vm.emitClearHistory}},[_vm._v(\"\\n \"+_vm._s(_vm.clearRecentSearchesText)+\"\\n \")])],1)]},proxy:true}:null],null,true)},[_vm._v(\" \"),(_vm.historyItems.length)?_vm._l((_vm.historyItems),function(item,idx){return _c('gl-disclosure-dropdown-item',{key:idx,staticClass:\"gl-search-box-by-click-history-item\",on:{\"action\":function($event){return _vm.selectHistoryItem(item)}},scopedSlots:_vm._u([{key:\"list-item\",fn:function(){return [_vm._t(\"history-item\",function(){return [_vm._v(_vm._s(item))]},{\"historyItem\":item})]},proxy:true}],null,true)})}):_c('div',{staticClass:\"gl-px-4 gl-py-2 gl-text-sm gl-text-subtle\"},[_vm._v(\"\\n \"+_vm._s(_vm.noRecentSearchesText)+\"\\n \")])],2)]},proxy:true}:null,(_vm.showSearchButton)?{key:\"append\",fn:function(){return [_c('gl-button',_vm._b({ref:\"searchButton\",staticClass:\"gl-search-box-by-click-search-button\",attrs:{\"category\":\"tertiary\",\"icon\":\"search\",\"disabled\":_vm.disabled,\"aria-label\":\"Search\",\"data-testid\":\"search-button\"},on:{\"click\":function($event){return _vm.search(_vm.currentValue)}}},'gl-button',_vm.searchButtonAttributes,false))]},proxy:true}:null],null,true)},[_vm._v(\" \"),_vm._t(\"input\",function(){return [_c('gl-form-input',_vm._b({ref:\"input\",staticClass:\"gl-search-box-by-click-input\",class:{ '!gl-rounded-base': !_vm.showSearchButton },attrs:{\"disabled\":_vm.disabled},on:{\"focus\":function($event){_vm.isFocused = true;},\"blur\":function($event){_vm.isFocused = false;}},nativeOn:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.search(_vm.currentValue)}},model:{value:(_vm.currentValue),callback:function ($$v) {_vm.currentValue=$$v;},expression:\"currentValue\"}},'gl-form-input',_vm.inputAttributes,false))]}),_vm._v(\" \"),(_vm.clearable && _vm.hasValue && !_vm.disabled)?_c('gl-clear-icon-button',{staticClass:\"gl-search-box-by-click-icon-button gl-search-box-by-click-clear-button gl-clear-icon-button\",attrs:{\"title\":_vm.clearButtonTitle,\"tooltip-container\":_vm.tooltipContainer,\"data-testid\":\"filtered-search-clear-button\"},on:{\"click\":_vm.clearInput}}):_vm._e()],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__;\n","var createFlow = require('./_createFlow');\n\n/**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flowRight = createFlow(true);\n\nmodule.exports = flowRight;\n","var getTag = require('./_getTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nmodule.exports = baseIsMap;\n","import Vue from 'vue';\nimport compose from 'lodash/fp/compose';\nimport fill from 'lodash/fp/fill';\nimport filter from 'lodash/fp/filter';\nimport { insert, intersperse } from '../../../utils/data_utils';\nimport { isVnodeEmpty } from '../../../utils/is_slot_empty';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nconst filterEmptyNodesVue2 = filter(vNode => typeof vNode.tag === 'string' || vNode.text.trim() !== '');\nconst {\n Fragment\n} = Vue;\nconst filterEmptyNodesVue3 = vNode => {\n return vNode.reduce((acc, node) => {\n if (Fragment && node.type === Fragment && Array.isArray(node.children)) {\n acc.push(...node.children);\n } else {\n acc.push(node);\n }\n return acc;\n }, []).filter(node => !isVnodeEmpty(node));\n};\nconst filterEmptyNodes = Vue.version.startsWith('3') ? filterEmptyNodesVue3 : filterEmptyNodesVue2;\nconst insertAfterSecondLastItem = insert(-1);\nconst replaceSecondLastItem = fill(-2, -1);\n\n// handles the addition of the lastSeparator in these two cases:\n// item1, item2, item3 => item1, item2, and item3\n// item1, item2 => item1 and item2\nconst addLastSeparator = lastSeparator => items => {\n if (!lastSeparator) {\n return items;\n }\n return items.length > 3 ? insertAfterSecondLastItem(lastSeparator, items) : replaceSecondLastItem(lastSeparator, items);\n};\nvar script = {\n name: 'GlIntersperse',\n functional: true,\n props: {\n separator: {\n type: String,\n default: ', ',\n required: false\n },\n lastSeparator: {\n type: String,\n default: '',\n required: false\n }\n },\n render(createElement, context) {\n const {\n props: {\n separator,\n lastSeparator\n },\n slots,\n data\n } = context;\n const filterAndSeparate = compose(addLastSeparator(lastSeparator), intersperse(separator), filterEmptyNodes);\n return createElement('span', data, filterAndSeparate(slots().default));\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\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__ = undefined;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n {},\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__;\n","var arrayFilter = require('./_arrayFilter'),\n baseFilter = require('./_baseFilter'),\n baseIteratee = require('./_baseIteratee'),\n isArray = require('./isArray');\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nmodule.exports = filter;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nmodule.exports = cloneRegExp;\n"],"sourceRoot":""}