{"version":3,"sources":["webpack:///./node_modules/@vueform/multiselect/dist/multiselect.js"],"names":["isNullish","val","undefined","indexOf","useData","props","context","dep","object","valueProp","mode","$this","proxy","iv","update","triggerInput","value","makeInternal","externalVal","makeExternal","emit","Array","isArray","map","v","useValue","modelValue","ev","plainValue","textValue","join","internalValue","externalValue","useSearch","regex","isOpen","open","search","input","clearSearch","handleSearchInput","e","target","handleKeypress","regexp","RegExp","key","match","preventDefault","handlePaste","clipboardData","window","pastedData","getData","split","every","c","usePointer$1","groupSelect","groups","disabledProp","pointer","setPointer","option","group","clearPointer","normalize","str","strict","String","toLowerCase","trim","replace","isObject","variable","Object","prototype","toString","call","arraysEqual","array1","array2","array2Sorted","slice","sort","length","index","useOptions","options","trackBy","trackBy_","limit","hideSelected","createTag","createOption","createOption_","label","appendNewTag","appendNewOption","appendNewOption_","multipleLabel","loading","delay","resolveOnLoad","minChars","filterResults","clearOnSearch","clearOnSelect","canDeselect","max","closeOnSelect","groupped","reverse","infinite","groupOptions","groupHideEmpty","onCreate","searchStart","focus","deactivate","close","ap","ro","resolving","searchWatcher","offset","eo","forEach","optionsToArray","push","assign","concat","fg","filterGroups","arrayOptions","filterOptions","o","__VISIBLE__","pfo","createdOption","fo","hasSelected","multipleLabelText","noOptions","noResults","getOptionByTrackBy","__CREATE__","nullValue","busy","select","getOption","finalValue","deselect","clear","filter","remove","handleTagRemove","button","isSelected","areAllSelected","isDisabled","isMax","handleOptionClick","Promise","then","result","handleOptionSelect","handleOptionAppend","handleGroupClick","areAllEnabledSelected","k","appendOption","selectAll","find","norm","parseInt","shouldHideOption","g","excludeHideSelected","startsWith","uo","keys","initInternalValue","resolveOptions","callback","resolve","reject","response","catch","console","error","finally","refreshLabels","newLabel","i","refreshOptions","initSearchWatcher","query","setTimeout","flush","Error","old","newValue","deep","n","filteredOptions","extendedOptions","filteredGroups","usePointer","showOptions","searchable","groupLabel","multiselect","canPointGroups","isPointerGroup","currentGroup","getParentGroup","prevGroup","groupIndex","lastGroup","nextGroup","nextIndex","currentGroupFirstEnabledOption","currentGroupPrevEnabledOption","currentGroupNextEnabledOption","prevGroupLastEnabledOption","lastGroupLastEnabledOption","isPointed","setPointerFirst","selectPointer","forwardPointer","nextPointer","next","adjustWrapperScrollToPointer","backwardPointer","prevPointer","prevIndex","pointedOption","querySelector","wrapper","parentElement","offsetTop","offsetHeight","clientHeight","scrollTop","firstSelected","querySelectorAll","useDropdown","disabled","useMultiselect","clearOnBlur","tags","isActive","mouseClicked","tabindex","blur","activate","shouldOpen","handleFocusIn","closest","nodeName","handleFocusOut","handleCaretClick","handleMousedown","isEqualNode","document","activeElement","useKeyboard","addTagOn","openDirection","addOptionOn","addOptionOn_","preparePointer","handleKeydown","tagList","activeIndex","findIndex","keyCode","selectionStart","shiftKey","handleKeyup","useClasses","dependencies","classes","classes_","container","containerDisabled","containerOpen","containerOpenTop","containerActive","singleLabel","singleLabelText","tag","tagDisabled","tagRemove","tagRemoveIcon","tagsSearchWrapper","tagsSearch","tagsSearchCopy","placeholder","caret","caretOpen","clearIcon","spinner","inifinite","inifiniteSpinner","dropdown","dropdownTop","dropdownHidden","optionsTop","groupLabelPointable","groupLabelPointed","groupLabelSelected","groupLabelDisabled","groupLabelSelectedPointed","groupLabelSelectedDisabled","optionPointed","optionSelected","optionDisabled","optionSelectedPointed","optionSelectedDisabled","fakeInput","assist","spacer","showDropdown","classList","useScroll$1","observer","infiniteLoader","hasMore","handleIntersectionObserver","entries","isIntersecting","parent","offsetParent","observe","disconnect","immediate","IntersectionObserver","useScroll","id","labelProp","aria","ariaAssist","texts","ariaControls","ariaActiveDescendant","ariaPlaceholder","ariaMultiselectable","ariaLabel","arias","ariaOptionId","ariaGroupId","ariaOptionLabel","ariaGroupLabel","ariaTagLabel","forTag","innerText","resolveDeps","features","deps","composable","script","name","emits","required","type","Function","default","Number","Boolean","noOptionsText","noResultsText","canClear","nativeSupport","autocomplete","inputType","attrs","rtl","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","render","_ctx","_cache","$props","$setup","$data","$options","ref","class","dir","onFocusin","args","onFocusout","onKeyup","onKeydown","onMousedown","role","onInput","onKeypress","onPaste","$slots","$event","onClick","values","innerHTML","onMouseenter","__file"],"mappings":"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","file":"js/chunk-2d207e6e.602fcea5.js","sourcesContent":["import { toRefs, getCurrentInstance, ref, computed, watch, nextTick, onMounted, openBlock, createElementBlock, normalizeClass, createElementVNode, mergeProps, createCommentVNode, withModifiers, Fragment, renderList, renderSlot, withKeys, createTextVNode, toDisplayString } from 'vue';\n\nfunction isNullish (val) {\n return [null, undefined].indexOf(val) !== -1\n}\n\nfunction useData (props, context, dep)\n{\n const { object, valueProp, mode } = toRefs(props);\n\n const $this = getCurrentInstance().proxy;\n\n // ============ DEPENDENCIES ============\n\n const iv = dep.iv;\n\n // =============== METHODS ==============\n\n const update = (val, triggerInput = true) => {\n // Setting object(s) as internal value\n iv.value = makeInternal(val);\n\n // Setting object(s) or plain value as external \n // value based on `option` setting\n const externalVal = makeExternal(val);\n\n context.emit('change', externalVal, $this);\n\n if (triggerInput) {\n context.emit('input', externalVal);\n context.emit('update:modelValue', externalVal);\n }\n }; \n\n // no export\n const makeExternal = (val) => {\n // If external value should be object\n // no transformation is required\n if (object.value) {\n return val\n }\n\n // No need to transform if empty value\n if (isNullish(val)) {\n return val\n }\n\n // If external should be plain transform\n // value object to plain values\n return !Array.isArray(val) ? val[valueProp.value] : val.map(v => v[valueProp.value])\n };\n\n // no export\n const makeInternal = (val) => {\n if (isNullish(val)) {\n return mode.value === 'single' ? {} : []\n }\n\n return val\n };\n\n return {\n update,\n }\n}\n\nfunction useValue (props, context)\n{\n const { value, modelValue, mode, valueProp } = toRefs(props);\n\n // ================ DATA ================\n\n // internalValue\n const iv = ref(mode.value !== 'single' ? [] : {});\n\n // ============== COMPUTED ==============\n\n /* istanbul ignore next */\n // externalValue\n const ev = modelValue && modelValue.value !== undefined ? modelValue : value;\n\n const plainValue = computed(() => {\n return mode.value === 'single' ? iv.value[valueProp.value] : iv.value.map(v=>v[valueProp.value])\n });\n\n const textValue = computed(() => {\n return mode.value !== 'single' ? iv.value.map(v=>v[valueProp.value]).join(',') : iv.value[valueProp.value]\n });\n\n return {\n iv,\n internalValue: iv,\n ev,\n externalValue: ev,\n textValue,\n plainValue,\n }\n}\n\nfunction useSearch (props, context, dep)\n{\n const { regex } = toRefs(props);\n\n const $this = getCurrentInstance().proxy;\n\n // ============ DEPENDENCIES ============\n\n const isOpen = dep.isOpen;\n const open = dep.open;\n\n // ================ DATA ================\n\n const search = ref(null);\n\n const input = ref(null);\n\n // =============== METHODS ==============\n\n const clearSearch = () => {\n search.value = '';\n };\n\n const handleSearchInput = (e) => {\n search.value = e.target.value;\n };\n\n const handleKeypress = (e) => {\n if (regex && regex.value) {\n let regexp = regex.value;\n\n if (typeof regexp === 'string') {\n regexp = new RegExp(regexp);\n }\n\n if (!e.key.match(regexp)) {\n e.preventDefault();\n }\n }\n };\n\n const handlePaste = (e) => {\n if (regex && regex.value) {\n let clipboardData = e.clipboardData || /* istanbul ignore next */ window.clipboardData;\n let pastedData = clipboardData.getData('Text');\n\n let regexp = regex.value;\n\n if (typeof regexp === 'string') {\n regexp = new RegExp(regexp);\n }\n \n if (!pastedData.split('').every(c => !!c.match(regexp))) {\n e.preventDefault();\n }\n }\n\n context.emit('paste', e, $this);\n };\n\n // ============== WATCHERS ==============\n\n watch(search, (val) => {\n if (!isOpen.value && val) {\n open();\n }\n\n context.emit('search-change', val, $this);\n });\n\n return {\n search,\n input,\n clearSearch,\n handleSearchInput,\n handleKeypress,\n handlePaste,\n }\n}\n\nfunction usePointer$1 (props, context, dep)\n{\n const { groupSelect, mode, groups, disabledProp } = toRefs(props);\n\n // ================ DATA ================\n\n const pointer = ref(null);\n\n // =============== METHODS ==============\n\n const setPointer = (option) => {\n if (option === undefined || (option !== null && option[disabledProp.value])) {\n return\n }\n\n if (groups.value && option && option.group && (mode.value === 'single' || !groupSelect.value)) {\n return\n }\n\n pointer.value = option;\n };\n\n const clearPointer = () => {\n setPointer(null);\n };\n\n return {\n pointer,\n setPointer,\n clearPointer,\n }\n}\n\nfunction normalize (str, strict = true) {\n return strict\n ? String(str).toLowerCase().trim()\n : String(str).toLowerCase()\n .normalize('NFD')\n .trim()\n .replace(new RegExp(/æ/g), 'ae')\n .replace(new RegExp(/œ/g), 'oe')\n .replace(new RegExp(/ø/g), 'o')\n .replace(/\\p{Diacritic}/gu, '')\n}\n\nfunction isObject (variable) {\n return Object.prototype.toString.call(variable) === '[object Object]'\n}\n\nfunction arraysEqual (array1, array2) {\n const array2Sorted = array2.slice().sort();\n\n return array1.length === array2.length && array1.slice().sort().every(function(value, index) {\n return value === array2Sorted[index];\n })\n}\n\nfunction useOptions (props, context, dep)\n{\n const { \n options, mode, trackBy: trackBy_, limit, hideSelected, createTag, createOption: createOption_, label,\n appendNewTag, appendNewOption: appendNewOption_, multipleLabel, object, loading, delay, resolveOnLoad,\n minChars, filterResults, clearOnSearch, clearOnSelect, valueProp,\n canDeselect, max, strict, closeOnSelect, groups: groupped, reverse, infinite,\n groupOptions, groupHideEmpty, groupSelect, onCreate, disabledProp, searchStart,\n } = toRefs(props);\n\n const $this = getCurrentInstance().proxy;\n\n // ============ DEPENDENCIES ============\n\n const iv = dep.iv;\n const ev = dep.ev;\n const search = dep.search;\n const clearSearch = dep.clearSearch;\n const update = dep.update;\n const pointer = dep.pointer;\n const clearPointer = dep.clearPointer;\n const focus = dep.focus;\n const deactivate = dep.deactivate;\n const close = dep.close;\n\n // ================ DATA ================\n\n // no export\n // appendedOptions\n const ap = ref([]);\n\n // no export\n // resolvedOptions\n const ro = ref([]);\n\n const resolving = ref(false);\n\n // no export\n const searchWatcher = ref(null);\n\n const offset = ref(infinite.value && limit.value === -1 ? 10 : limit.value);\n\n // ============== COMPUTED ==============\n\n // no export\n const createOption = computed(() => {\n return createTag.value || createOption_.value || false\n });\n\n // no export\n const appendNewOption = computed(() => {\n if (appendNewTag.value !== undefined) {\n return appendNewTag.value\n } else if (appendNewOption_.value !== undefined) {\n return appendNewOption_.value\n }\n\n return true\n });\n\n // no export\n // extendedOptions\n const eo = computed(() => {\n if (groupped.value) {\n let groups = ro.value || /* istanbul ignore next */ [];\n\n let eo = [];\n\n groups.forEach((group) => {\n optionsToArray(group[groupOptions.value]).forEach((option) => {\n eo.push(Object.assign({}, option, group[disabledProp.value] ? { [disabledProp.value]: true } : {}));\n });\n });\n\n return eo\n } else {\n let eo = optionsToArray(ro.value || /* istanbul ignore next */ []);\n\n if (ap.value.length) {\n eo = eo.concat(ap.value);\n }\n\n return eo\n }\n });\n\n const fg = computed(() => {\n if (!groupped.value) {\n return []\n }\n\n return filterGroups((ro.value || /* istanbul ignore next */ []).map((group, index) => {\n const arrayOptions = optionsToArray(group[groupOptions.value]);\n\n return {\n ...group,\n index,\n group: true,\n [groupOptions.value]: filterOptions(arrayOptions, false).map(o => Object.assign({}, o, group[disabledProp.value] ? { [disabledProp.value]: true } : {})),\n __VISIBLE__: filterOptions(arrayOptions).map(o => Object.assign({}, o, group[disabledProp.value] ? { [disabledProp.value]: true } : {})),\n }\n // Difference between __VISIBLE__ and {groupOptions}: visible does not contain selected options when hideSelected=true\n }))\n });\n\n // preFilteredOptions\n const pfo = computed(() => {\n let options = eo.value;\n\n if (reverse.value) {\n options = options.reverse();\n }\n\n if (createdOption.value.length) {\n options = createdOption.value.concat(options);\n }\n\n return filterOptions(options)\n });\n\n // filteredOptions\n const fo = computed(() => {\n let options = pfo.value;\n\n if (offset.value > 0) {\n options = options.slice(0, offset.value);\n }\n\n return options\n });\n\n const hasSelected = computed(() => {\n switch (mode.value) {\n case 'single':\n return !isNullish(iv.value[valueProp.value])\n\n case 'multiple':\n case 'tags':\n return !isNullish(iv.value) && iv.value.length > 0\n }\n });\n\n const multipleLabelText = computed(() => {\n return multipleLabel !== undefined && multipleLabel.value !== undefined\n ? multipleLabel.value(iv.value, $this)\n : (iv.value && iv.value.length > 1 ? `${iv.value.length} options selected` : `1 option selected`)\n });\n\n const noOptions = computed(() => {\n return !eo.value.length && !resolving.value && !createdOption.value.length\n });\n\n\n const noResults = computed(() => {\n return eo.value.length > 0 && fo.value.length == 0 && ((search.value && groupped.value) || !groupped.value)\n });\n\n // no export\n const createdOption = computed(() => {\n if (createOption.value === false || !search.value) {\n return []\n }\n\n return getOptionByTrackBy(search.value) !== -1 ? [] : [{\n [valueProp.value]: search.value,\n [label.value]: search.value,\n [trackBy.value]: search.value,\n __CREATE__: true,\n }]\n });\n\n const trackBy = computed(() => {\n return trackBy_.value || label.value\n });\n\n // no export\n const nullValue = computed(() => {\n switch (mode.value) {\n case 'single':\n return null\n\n case 'multiple':\n case 'tags':\n return []\n }\n });\n\n const busy = computed(() => {\n return loading.value || resolving.value\n });\n\n // =============== METHODS ==============\n\n /**\n * @param {array|object|string|number} option \n */\n const select = (option) => {\n if (typeof option !== 'object') {\n option = getOption(option);\n }\n\n switch (mode.value) {\n case 'single':\n update(option);\n break\n\n case 'multiple':\n case 'tags':\n update((iv.value).concat(option));\n break\n }\n\n context.emit('select', finalValue(option), option, $this);\n };\n\n const deselect = (option) => {\n if (typeof option !== 'object') {\n option = getOption(option);\n }\n\n switch (mode.value) {\n case 'single':\n clear();\n break\n\n case 'tags':\n case 'multiple':\n update(Array.isArray(option)\n ? iv.value.filter(v => option.map(o => o[valueProp.value]).indexOf(v[valueProp.value]) === -1)\n : iv.value.filter(v => v[valueProp.value] != option[valueProp.value]));\n break\n }\n\n context.emit('deselect', finalValue(option), option, $this);\n };\n\n // no export\n const finalValue = (option) => {\n return object.value ? option : option[valueProp.value]\n };\n\n const remove = (option) => {\n deselect(option);\n };\n\n const handleTagRemove = (option, e) => {\n if (e.button !== 0) {\n e.preventDefault();\n return\n }\n\n remove(option);\n };\n\n const clear = () => {\n context.emit('clear', $this);\n update(nullValue.value);\n };\n\n const isSelected = (option) => {\n if (option.group !== undefined) {\n return mode.value === 'single' ? false : areAllSelected(option[groupOptions.value]) && option[groupOptions.value].length\n }\n\n switch (mode.value) {\n case 'single':\n return !isNullish(iv.value) && iv.value[valueProp.value] == option[valueProp.value]\n\n case 'tags':\n case 'multiple':\n return !isNullish(iv.value) && iv.value.map(o => o[valueProp.value]).indexOf(option[valueProp.value]) !== -1\n }\n };\n\n const isDisabled = (option) => {\n return option[disabledProp.value] === true\n };\n\n const isMax = () => {\n if (max === undefined || max.value === -1 || (!hasSelected.value && max.value > 0)) {\n return false\n }\n \n return iv.value.length >= max.value\n };\n\n const handleOptionClick = (option) => {\n if (isDisabled(option)) {\n return\n }\n\n if (onCreate && onCreate.value && !isSelected(option) && option.__CREATE__) {\n option = { ...option };\n delete option.__CREATE__;\n\n option = onCreate.value(option, $this);\n \n if (option instanceof Promise) {\n resolving.value = true;\n option.then((result) => {\n resolving.value = false;\n handleOptionSelect(result);\n });\n\n return\n } \n }\n\n handleOptionSelect(option);\n };\n\n const handleOptionSelect = (option) => {\n if (option.__CREATE__) {\n option = { ...option };\n delete option.__CREATE__;\n }\n \n switch (mode.value) {\n case 'single':\n if (option && isSelected(option)) {\n if (canDeselect.value) {\n deselect(option);\n }\n return\n }\n\n if (option) {\n handleOptionAppend(option);\n }\n\n /* istanbul ignore else */\n if (clearOnSelect.value) {\n clearSearch();\n }\n\n if (closeOnSelect.value) {\n clearPointer();\n close();\n }\n\n if (option) {\n select(option);\n }\n break\n\n case 'multiple':\n if (option && isSelected(option)) {\n deselect(option);\n return\n }\n\n if (isMax()) {\n context.emit('max', $this);\n return\n }\n\n if (option) {\n handleOptionAppend(option);\n select(option);\n }\n\n if (clearOnSelect.value) {\n clearSearch();\n }\n\n if (hideSelected.value) {\n clearPointer();\n }\n\n if (closeOnSelect.value) {\n close();\n }\n break\n\n case 'tags':\n if (option && isSelected(option)) {\n deselect(option);\n return\n }\n\n if (isMax()) {\n context.emit('max', $this);\n return\n }\n\n if (option) {\n handleOptionAppend(option);\n }\n\n if (clearOnSelect.value) {\n clearSearch();\n }\n\n if (option) {\n select(option);\n }\n\n if (hideSelected.value) {\n clearPointer();\n }\n\n if (closeOnSelect.value) {\n close();\n }\n break\n }\n\n if (!closeOnSelect.value) {\n focus();\n }\n };\n\n const handleGroupClick = (group) => {\n if (isDisabled(group) || mode.value === 'single' || !groupSelect.value) {\n return\n }\n\n switch (mode.value) {\n case 'multiple':\n case 'tags':\n if (areAllEnabledSelected(group[groupOptions.value])) {\n deselect(group[groupOptions.value]);\n } else {\n select(group[groupOptions.value]\n .filter(o => iv.value.map(v => v[valueProp.value]).indexOf(o[valueProp.value]) === -1)\n .filter(o => !o[disabledProp.value])\n .filter((o, k) => iv.value.length + 1 + k <= max.value || max.value === -1)\n );\n }\n break\n }\n\n if (closeOnSelect.value) {\n deactivate();\n }\n };\n\n const handleOptionAppend = (option) => {\n if (getOption(option[valueProp.value]) === undefined && createOption.value) {\n context.emit('tag', option[valueProp.value], $this);\n context.emit('option', option[valueProp.value], $this);\n\n if (appendNewOption.value) {\n appendOption(option);\n }\n\n clearSearch();\n }\n };\n\n const selectAll = () => {\n if (mode.value === 'single') {\n return\n }\n\n select(fo.value);\n };\n\n // no export\n const areAllEnabledSelected = (options) => {\n return options.find(o => !isSelected(o) && !o[disabledProp.value]) === undefined\n };\n\n // no export\n const areAllSelected = (options) => {\n return options.find(o => !isSelected(o)) === undefined\n };\n\n const getOption = (val) => {\n return eo.value[eo.value.map(o => String(o[valueProp.value])).indexOf(String(val))]\n };\n\n // no export\n const getOptionByTrackBy = (val, norm = true) => {\n return eo.value.map(o => parseInt(o[trackBy.value]) == o[trackBy.value] ? parseInt(o[trackBy.value]) : o[trackBy.value]).indexOf(\n parseInt(val) == val ? parseInt(val) : val\n )\n };\n\n // no export\n const shouldHideOption = (option) => {\n return ['tags', 'multiple'].indexOf(mode.value) !== -1 && hideSelected.value && isSelected(option)\n };\n\n // no export\n const appendOption = (option) => {\n ap.value.push(option);\n };\n\n // no export\n const filterGroups = (groups) => {\n // If the search has value we need to filter among \n // the ones that are visible to the user to avoid\n // displaying groups which technically have options\n // based on search but that option is already selected.\n return groupHideEmpty.value\n ? groups.filter(g => search.value\n ? g.__VISIBLE__.length\n : g[groupOptions.value].length\n )\n : groups.filter(g => search.value ? g.__VISIBLE__.length : true)\n };\n\n // no export\n const filterOptions = (options, excludeHideSelected = true) => {\n let fo = options;\n \n if (search.value && filterResults.value) {\n fo = fo.filter((option) => {\n return searchStart.value\n ? normalize(option[trackBy.value], strict.value).startsWith(normalize(search.value, strict.value))\n : normalize(option[trackBy.value], strict.value).indexOf(normalize(search.value, strict.value)) !== -1\n });\n }\n\n if (hideSelected.value && excludeHideSelected) {\n fo = fo.filter((option) => !shouldHideOption(option));\n }\n\n return fo\n };\n\n // no export\n const optionsToArray = (options) => {\n let uo = options;\n \n // Transforming an object to an array of objects\n if (isObject(uo)) {\n uo = Object.keys(uo).map((key) => {\n let val = uo[key];\n\n return { [valueProp.value]: key, [trackBy.value]: val, [label.value]: val}\n });\n }\n\n // Transforming an plain arrays to an array of objects\n uo = uo.map((val) => {\n return typeof val === 'object' ? val : { [valueProp.value]: val, [trackBy.value]: val, [label.value]: val}\n });\n\n return uo\n };\n\n // no export\n const initInternalValue = () => {\n if (!isNullish(ev.value)) {\n iv.value = makeInternal(ev.value);\n }\n };\n\n const resolveOptions = (callback) => {\n resolving.value = true;\n\n return new Promise((resolve, reject) => {\n options.value(search.value, $this).then((response) => {\n ro.value = response || [];\n\n if (typeof callback == 'function') {\n callback(response);\n }\n\n resolving.value = false;\n }).catch((e) => {\n console.error(e);\n\n ro.value = [];\n\n resolving.value = false;\n }).finally(() => {\n resolve();\n });\n })\n };\n\n // no export\n const refreshLabels = () => {\n if (!hasSelected.value) {\n return\n }\n\n if (mode.value === 'single') {\n let option = getOption(iv.value[valueProp.value]);\n\n /* istanbul ignore else */\n if (option !== undefined) {\n let newLabel = option[label.value];\n\n iv.value[label.value] = newLabel;\n\n if (object.value) {\n ev.value[label.value] = newLabel;\n }\n }\n } else {\n iv.value.forEach((val, i) => {\n let option = getOption(iv.value[i][valueProp.value]);\n\n /* istanbul ignore else */\n if (option !== undefined) {\n let newLabel = option[label.value];\n\n iv.value[i][label.value] = newLabel;\n\n if (object.value) {\n ev.value[i][label.value] = newLabel;\n }\n }\n });\n }\n };\n\n const refreshOptions = (callback) => {\n resolveOptions(callback);\n };\n\n // no export\n const makeInternal = (val) => {\n if (isNullish(val)) {\n return mode.value === 'single' ? {} : []\n }\n\n if (object.value) {\n return val\n }\n\n // If external should be plain transform\n // value object to plain values\n return mode.value === 'single' ? getOption(val) || {} : val.filter(v => !! getOption(v)).map(v => getOption(v))\n };\n\n // no export\n const initSearchWatcher = () => {\n searchWatcher.value = watch(search, (query) => {\n if (query.length < minChars.value || (!query && minChars.value !== 0)) {\n return\n }\n\n resolving.value = true;\n\n if (clearOnSearch.value) {\n ro.value = [];\n }\n setTimeout(() => {\n if (query != search.value) {\n return\n }\n\n options.value(search.value, $this).then((response) => {\n if (query == search.value || !search.value) {\n ro.value = response;\n pointer.value = fo.value.filter(o => o[disabledProp.value] !== true)[0] || null;\n resolving.value = false;\n }\n }).catch( /* istanbul ignore next */ (e) => {\n console.error(e);\n });\n }, delay.value);\n\n }, { flush: 'sync' });\n };\n\n // ================ HOOKS ===============\n\n if (mode.value !== 'single' && !isNullish(ev.value) && !Array.isArray(ev.value)) {\n throw new Error(`v-model must be an array when using \"${mode.value}\" mode`)\n }\n\n if (options && typeof options.value == 'function') {\n if (resolveOnLoad.value) {\n resolveOptions(initInternalValue);\n } else if (object.value == true) {\n initInternalValue();\n }\n }\n else {\n ro.value = options.value;\n\n initInternalValue();\n }\n \n // ============== WATCHERS ==============\n\n if (delay.value > -1) {\n initSearchWatcher();\n }\n\n watch(delay, (value, old) => {\n /* istanbul ignore else */\n if (searchWatcher.value) {\n searchWatcher.value();\n }\n\n if (value >= 0) {\n initSearchWatcher();\n }\n });\n\n watch(ev, (newValue) => {\n if (isNullish(newValue)) {\n update(makeInternal(newValue), false);\n return\n }\n\n switch (mode.value) {\n case 'single':\n if (object.value ? newValue[valueProp.value] != iv.value[valueProp.value] : newValue != iv.value[valueProp.value]) {\n update(makeInternal(newValue), false);\n }\n break\n\n case 'multiple':\n case 'tags':\n if (!arraysEqual(object.value ? newValue.map(o => o[valueProp.value]) : newValue, iv.value.map(o => o[valueProp.value]))) {\n update(makeInternal(newValue), false);\n }\n break\n }\n }, { deep: true });\n\n watch(options, (n, o) => {\n if (typeof props.options === 'function') {\n if (resolveOnLoad.value && (!o || (n && n.toString() !== o.toString()))) {\n resolveOptions();\n }\n } else {\n ro.value = props.options;\n\n if (!Object.keys(iv.value).length) {\n initInternalValue();\n }\n\n refreshLabels();\n }\n });\n\n watch(label, refreshLabels);\n\n return {\n pfo,\n fo,\n filteredOptions: fo,\n hasSelected,\n multipleLabelText,\n eo,\n extendedOptions: eo,\n fg,\n filteredGroups: fg,\n noOptions,\n noResults,\n resolving,\n busy,\n offset,\n select,\n deselect,\n remove,\n selectAll,\n clear,\n isSelected,\n isDisabled,\n isMax,\n getOption,\n handleOptionClick,\n handleGroupClick,\n handleTagRemove,\n refreshOptions,\n resolveOptions,\n refreshLabels,\n }\n}\n\nfunction usePointer (props, context, dep)\n{\n const {\n valueProp, showOptions, searchable, groupLabel,\n groups: groupped, mode, groupSelect, disabledProp,\n } = toRefs(props);\n\n // ============ DEPENDENCIES ============\n\n const fo = dep.fo;\n const fg = dep.fg;\n const handleOptionClick = dep.handleOptionClick;\n const handleGroupClick = dep.handleGroupClick;\n const search = dep.search;\n const pointer = dep.pointer;\n const setPointer = dep.setPointer;\n const clearPointer = dep.clearPointer;\n const multiselect = dep.multiselect;\n const isOpen = dep.isOpen;\n\n // ============== COMPUTED ==============\n\n // no export\n const options = computed(() => {\n return fo.value.filter(o => !o[disabledProp.value])\n });\n\n const groups = computed(() => {\n return fg.value.filter(o => !o[disabledProp.value])\n });\n\n const canPointGroups = computed(() => {\n return mode.value !== 'single' && groupSelect.value\n });\n\n const isPointerGroup = computed(() => {\n return pointer.value && pointer.value.group\n });\n\n const currentGroup = computed(() => {\n return getParentGroup(pointer.value)\n });\n\n const prevGroup = computed(() => {\n const group = isPointerGroup.value ? pointer.value : /* istanbul ignore next */ getParentGroup(pointer.value);\n const groupIndex = groups.value.map(g => g[groupLabel.value]).indexOf(group[groupLabel.value]);\n let prevGroup = groups.value[groupIndex - 1];\n\n if (prevGroup === undefined) {\n prevGroup = lastGroup.value;\n }\n\n return prevGroup\n });\n \n const nextGroup = computed(() => {\n let nextIndex = groups.value.map(g => g.label).indexOf(isPointerGroup.value\n ? pointer.value[groupLabel.value]\n : getParentGroup(pointer.value)[groupLabel.value]) + 1;\n\n if (groups.value.length <= nextIndex) {\n nextIndex = 0;\n }\n\n return groups.value[nextIndex]\n });\n\n const lastGroup = computed(() => {\n return [...groups.value].slice(-1)[0]\n });\n \n const currentGroupFirstEnabledOption = computed(() => {\n return pointer.value.__VISIBLE__.filter(o => !o[disabledProp.value])[0]\n });\n\n const currentGroupPrevEnabledOption = computed(() => {\n const options = currentGroup.value.__VISIBLE__.filter(o => !o[disabledProp.value]);\n return options[options.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) - 1]\n });\n \n const currentGroupNextEnabledOption = computed(() => {\n const options = getParentGroup(pointer.value).__VISIBLE__.filter(o => !o[disabledProp.value]);\n return options[options.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) + 1]\n });\n\n const prevGroupLastEnabledOption = computed(() => {\n return [...prevGroup.value.__VISIBLE__.filter(o => !o[disabledProp.value])].slice(-1)[0]\n });\n\n const lastGroupLastEnabledOption = computed(() => {\n return [...lastGroup.value.__VISIBLE__.filter(o => !o[disabledProp.value])].slice(-1)[0]\n });\n\n // =============== METHODS ==============\n\n const isPointed = (option) => {\n return (!!pointer.value && (\n (!option.group && pointer.value[valueProp.value] == option[valueProp.value]) ||\n (option.group !== undefined && pointer.value[groupLabel.value] == option[groupLabel.value])\n )) ? true : undefined\n };\n\n const setPointerFirst = () => {\n setPointer(options.value[0] || null);\n };\n\n const selectPointer = () => {\n if (!pointer.value || pointer.value[disabledProp.value] === true) {\n return\n }\n\n if (isPointerGroup.value) {\n handleGroupClick(pointer.value);\n } else {\n handleOptionClick(pointer.value);\n }\n };\n\n const forwardPointer = () => {\n if (pointer.value === null) {\n setPointer((groupped.value && canPointGroups.value ? groups.value[0] : options.value[0]) || null);\n }\n else if (groupped.value && canPointGroups.value) {\n let nextPointer = isPointerGroup.value ? currentGroupFirstEnabledOption.value : currentGroupNextEnabledOption.value;\n\n if (nextPointer === undefined) {\n nextPointer = nextGroup.value;\n }\n\n setPointer(nextPointer || /* istanbul ignore next */ null);\n } else {\n let next = options.value.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) + 1;\n\n if (options.value.length <= next) {\n next = 0;\n }\n\n setPointer(options.value[next] || null);\n }\n\n nextTick(() => {\n adjustWrapperScrollToPointer();\n });\n };\n\n const backwardPointer = () => {\n if (pointer.value === null) {\n let prevPointer = options.value[options.value.length - 1];\n\n if (groupped.value && canPointGroups.value) {\n prevPointer = lastGroupLastEnabledOption.value;\n\n if (prevPointer === undefined) {\n prevPointer = lastGroup.value;\n }\n }\n\n setPointer(prevPointer || null);\n }\n else if (groupped.value && canPointGroups.value) {\n let prevPointer = isPointerGroup.value ? prevGroupLastEnabledOption.value : currentGroupPrevEnabledOption.value;\n\n if (prevPointer === undefined) {\n prevPointer = isPointerGroup.value ? prevGroup.value : currentGroup.value;\n }\n\n setPointer(prevPointer || /* istanbul ignore next */ null);\n } else {\n let prevIndex = options.value.map(o => o[valueProp.value]).indexOf(pointer.value[valueProp.value]) - 1;\n\n if (prevIndex < 0) {\n prevIndex = options.value.length - 1;\n }\n\n setPointer(options.value[prevIndex] || null);\n }\n\n nextTick(() => {\n adjustWrapperScrollToPointer();\n });\n };\n\n const getParentGroup = (option) => {\n return groups.value.find((group) => {\n return group.__VISIBLE__.map(o => o[valueProp.value]).indexOf(option[valueProp.value]) !== -1\n })\n };\n\n // no export\n /* istanbul ignore next */\n const adjustWrapperScrollToPointer = () => {\n let pointedOption = multiselect.value.querySelector(`[data-pointed]`);\n\n if (!pointedOption) {\n return\n }\n\n let wrapper = pointedOption.parentElement.parentElement;\n\n if (groupped.value) {\n wrapper = isPointerGroup.value\n ? pointedOption.parentElement.parentElement.parentElement\n : pointedOption.parentElement.parentElement.parentElement.parentElement;\n }\n\n if (pointedOption.offsetTop + pointedOption.offsetHeight > wrapper.clientHeight + wrapper.scrollTop) {\n wrapper.scrollTop = pointedOption.offsetTop + pointedOption.offsetHeight - wrapper.clientHeight;\n }\n \n if (pointedOption.offsetTop < wrapper.scrollTop) {\n wrapper.scrollTop = pointedOption.offsetTop;\n }\n };\n\n // ============== WATCHERS ==============\n\n watch(search, (val) => {\n if (searchable.value) {\n if (val.length && showOptions.value) {\n setPointerFirst();\n } else {\n clearPointer();\n }\n }\n });\n\n watch(isOpen, (val) => {\n if (val) {\n let firstSelected = multiselect.value.querySelectorAll(`[data-selected]`)[0];\n\n if (!firstSelected) {\n return\n }\n\n let wrapper = firstSelected.parentElement.parentElement;\n \n nextTick(() => {\n /* istanbul ignore next */\n if (wrapper.scrollTop > 0) {\n return\n }\n\n wrapper.scrollTop = firstSelected.offsetTop;\n });\n }\n });\n\n return {\n pointer,\n canPointGroups,\n isPointed,\n setPointerFirst,\n selectPointer,\n forwardPointer,\n backwardPointer,\n }\n}\n\nfunction useDropdown (props, context, dep)\n{\n const { disabled } = toRefs(props);\n\n const $this = getCurrentInstance().proxy;\n\n // ================ DATA ================\n\n const isOpen = ref(false);\n\n // =============== METHODS ==============\n\n const open = () => {\n if (isOpen.value || disabled.value) {\n return\n }\n\n isOpen.value = true;\n context.emit('open', $this);\n };\n\n const close = () => {\n if (!isOpen.value) {\n return\n }\n\n isOpen.value = false;\n context.emit('close', $this);\n };\n\n return {\n isOpen,\n open,\n close,\n }\n}\n\nfunction useMultiselect (props, context, dep)\n{\n const { searchable, disabled, clearOnBlur } = toRefs(props);\n\n // ============ DEPENDENCIES ============\n\n const input = dep.input;\n const open = dep.open;\n const close = dep.close;\n const clearSearch = dep.clearSearch;\n const isOpen = dep.isOpen;\n\n // ================ DATA ================\n\n const multiselect = ref(null);\n \n const wrapper = ref(null);\n\n const tags = ref(null);\n\n const isActive = ref(false);\n\n const mouseClicked = ref(false);\n\n // ============== COMPUTED ==============\n\n const tabindex = computed(() => {\n return searchable.value || disabled.value ? -1 : 0\n });\n\n // =============== METHODS ==============\n\n const blur = () => {\n if (searchable.value) {\n input.value.blur();\n }\n\n wrapper.value.blur();\n };\n\n const focus = () => {\n if (searchable.value && !disabled.value) {\n input.value.focus();\n }\n };\n\n const activate = (shouldOpen = true) => {\n if (disabled.value) {\n return\n }\n\n isActive.value = true;\n\n if (shouldOpen) {\n open();\n }\n };\n\n const deactivate = () => {\n isActive.value = false;\n\n setTimeout(() => {\n if (!isActive.value) {\n close();\n\n if (clearOnBlur.value) {\n clearSearch();\n }\n }\n }, 1);\n };\n\n const handleFocusIn = (e) => {\n if ((e.target.closest('[data-tags]') && e.target.nodeName !== 'INPUT') || e.target.closest('[data-clear]')) {\n return\n }\n\n activate(mouseClicked.value);\n };\n\n const handleFocusOut = () => {\n deactivate();\n };\n\n const handleCaretClick = () => {\n deactivate();\n blur();\n };\n\n /* istanbul ignore next */\n const handleMousedown = (e) => {\n mouseClicked.value = true;\n\n if (isOpen.value && (e.target.isEqualNode(wrapper.value) || e.target.isEqualNode(tags.value))) {\n setTimeout(() => {\n deactivate();\n }, 0);\n } else if (document.activeElement.isEqualNode(wrapper.value) && !isOpen.value) {\n activate(); \n }\n\n setTimeout(() => {\n mouseClicked.value = false;\n }, 0);\n };\n\n return {\n multiselect,\n wrapper,\n tags,\n tabindex,\n isActive,\n mouseClicked,\n blur,\n focus,\n activate,\n deactivate,\n handleFocusIn,\n handleFocusOut,\n handleCaretClick,\n handleMousedown,\n }\n}\n\nfunction useKeyboard (props, context, dep)\n{\n const {\n mode, addTagOn, openDirection, searchable,\n showOptions, valueProp, groups: groupped,\n addOptionOn: addOptionOn_, createTag, createOption: createOption_,\n reverse,\n } = toRefs(props);\n\n const $this = getCurrentInstance().proxy;\n\n // ============ DEPENDENCIES ============\n\n const iv = dep.iv;\n const update = dep.update;\n const search = dep.search;\n const setPointer = dep.setPointer;\n const selectPointer = dep.selectPointer;\n const backwardPointer = dep.backwardPointer;\n const forwardPointer = dep.forwardPointer;\n const multiselect = dep.multiselect;\n const wrapper = dep.wrapper;\n const tags = dep.tags;\n const isOpen = dep.isOpen;\n const open = dep.open;\n const blur = dep.blur;\n const fo = dep.fo;\n\n // ============== COMPUTED ==============\n\n // no export\n const createOption = computed(() => {\n return createTag.value || createOption_.value || false\n });\n\n // no export\n const addOptionOn = computed(() => {\n if (addTagOn.value !== undefined) {\n return addTagOn.value\n }\n else if (addOptionOn_.value !== undefined) {\n return addOptionOn_.value\n }\n\n return ['enter']\n });\n\n // =============== METHODS ==============\n\n // no export\n const preparePointer = () => {\n // When options are hidden and creating tags is allowed\n // no pointer will be set (because options are hidden).\n // In such case we need to set the pointer manually to the \n // first option, which equals to the option created from\n // the search value.\n if (mode.value === 'tags' && !showOptions.value && createOption.value && searchable.value && !groupped.value) {\n setPointer(fo.value[fo.value.map(o => o[valueProp.value]).indexOf(search.value)]);\n }\n };\n\n const handleKeydown = (e) => {\n context.emit('keydown', e, $this);\n\n let tagList;\n let activeIndex;\n\n if (['ArrowLeft', 'ArrowRight', 'Enter'].indexOf(e.key) !== -1 && mode.value === 'tags') {\n tagList = [...(multiselect.value.querySelectorAll(`[data-tags] > *`))].filter(e => e !== tags.value);\n activeIndex = tagList.findIndex(e => e === document.activeElement);\n }\n\n switch (e.key) {\n case 'Backspace':\n if (mode.value === 'single') {\n return\n }\n\n if (searchable.value && [null, ''].indexOf(search.value) === -1) {\n return\n }\n\n if (iv.value.length === 0) {\n return\n }\n\n update([...iv.value].slice(0,-1));\n break\n\n case 'Enter':\n e.preventDefault();\n\n if (e.keyCode === 229) {\n // ignore IME confirmation\n return\n }\n\n if (activeIndex !== -1 && activeIndex !== undefined) {\n update([...iv.value].filter((v, k) => k !== activeIndex));\n\n if (activeIndex === tagList.length - 1) {\n if (tagList.length - 1) {\n tagList[tagList.length - 2].focus();\n } else if (searchable.value) {\n tags.value.querySelector('input').focus();\n } else {\n wrapper.value.focus();\n }\n }\n return\n }\n\n if (addOptionOn.value.indexOf('enter') === -1 && createOption.value) {\n return\n }\n \n preparePointer();\n selectPointer();\n break\n\n case ' ':\n if (!createOption.value && !searchable.value) {\n e.preventDefault();\n \n preparePointer();\n selectPointer();\n return\n }\n\n if (!createOption.value) {\n return false\n } \n\n if (addOptionOn.value.indexOf('space') === -1 && createOption.value) {\n return\n }\n\n e.preventDefault();\n \n preparePointer();\n selectPointer();\n break\n \n case 'Tab':\n case ';':\n case ',':\n if (addOptionOn.value.indexOf(e.key.toLowerCase()) === -1 || !createOption.value) {\n return\n }\n\n preparePointer();\n selectPointer();\n e.preventDefault();\n break\n\n case 'Escape':\n blur();\n break\n\n case 'ArrowUp':\n e.preventDefault();\n\n if (!showOptions.value) {\n return\n }\n\n /* istanbul ignore else */\n if (!isOpen.value) {\n open();\n }\n \n backwardPointer();\n break\n\n case 'ArrowDown':\n e.preventDefault();\n\n if (!showOptions.value) {\n return\n }\n\n /* istanbul ignore else */\n if (!isOpen.value) {\n open();\n }\n\n forwardPointer();\n break\n\n case 'ArrowLeft':\n if (\n (searchable.value && tags.value && tags.value.querySelector('input').selectionStart)\n || e.shiftKey || mode.value !== 'tags' || !iv.value || !iv.value.length\n ) {\n return\n }\n\n e.preventDefault();\n\n if (activeIndex === -1) {\n tagList[tagList.length-1].focus();\n }\n else if (activeIndex > 0) {\n tagList[activeIndex-1].focus();\n }\n break\n\n case 'ArrowRight':\n if (activeIndex === -1 || e.shiftKey || mode.value !== 'tags' || !iv.value || !iv.value.length) {\n return\n }\n\n e.preventDefault();\n \n /* istanbul ignore else */\n if (tagList.length > activeIndex + 1) {\n tagList[activeIndex+1].focus();\n }\n else if (searchable.value) {\n tags.value.querySelector('input').focus();\n }\n else if (!searchable.value) {\n wrapper.value.focus();\n }\n \n break\n }\n };\n\n const handleKeyup = (e) => {\n context.emit('keyup', e, $this);\n };\n\n return {\n handleKeydown,\n handleKeyup,\n preparePointer,\n }\n}\n\nfunction useClasses (props, context, dependencies)\n{const { \n classes: classes_, disabled, openDirection, showOptions\n } = toRefs(props);\n\n // ============ DEPENDENCIES ============\n\n const isOpen = dependencies.isOpen;\n const isPointed = dependencies.isPointed;\n const isSelected = dependencies.isSelected;\n const isDisabled = dependencies.isDisabled;\n const isActive = dependencies.isActive;\n const canPointGroups = dependencies.canPointGroups;\n const resolving = dependencies.resolving;\n const fo = dependencies.fo;\n\n const classes = computed(() => ({\n container: 'multiselect',\n containerDisabled: 'is-disabled',\n containerOpen: 'is-open',\n containerOpenTop: 'is-open-top',\n containerActive: 'is-active',\n wrapper: 'multiselect-wrapper',\n singleLabel: 'multiselect-single-label',\n singleLabelText: 'multiselect-single-label-text',\n multipleLabel: 'multiselect-multiple-label',\n search: 'multiselect-search',\n tags: 'multiselect-tags',\n tag: 'multiselect-tag',\n tagDisabled: 'is-disabled',\n tagRemove: 'multiselect-tag-remove',\n tagRemoveIcon: 'multiselect-tag-remove-icon',\n tagsSearchWrapper: 'multiselect-tags-search-wrapper',\n tagsSearch: 'multiselect-tags-search',\n tagsSearchCopy: 'multiselect-tags-search-copy',\n placeholder: 'multiselect-placeholder',\n caret: 'multiselect-caret',\n caretOpen: 'is-open',\n clear: 'multiselect-clear',\n clearIcon: 'multiselect-clear-icon',\n spinner: 'multiselect-spinner',\n inifinite: 'multiselect-inifite',\n inifiniteSpinner: 'multiselect-inifite-spinner',\n dropdown: 'multiselect-dropdown',\n dropdownTop: 'is-top',\n dropdownHidden: 'is-hidden',\n options: 'multiselect-options',\n optionsTop: 'is-top',\n group: 'multiselect-group',\n groupLabel: 'multiselect-group-label',\n groupLabelPointable: 'is-pointable',\n groupLabelPointed: 'is-pointed',\n groupLabelSelected: 'is-selected',\n groupLabelDisabled: 'is-disabled',\n groupLabelSelectedPointed: 'is-selected is-pointed',\n groupLabelSelectedDisabled: 'is-selected is-disabled',\n groupOptions: 'multiselect-group-options',\n option: 'multiselect-option',\n optionPointed: 'is-pointed',\n optionSelected: 'is-selected',\n optionDisabled: 'is-disabled',\n optionSelectedPointed: 'is-selected is-pointed',\n optionSelectedDisabled: 'is-selected is-disabled',\n noOptions: 'multiselect-no-options',\n noResults: 'multiselect-no-results',\n fakeInput: 'multiselect-fake-input',\n assist: 'multiselect-assistive-text',\n spacer: 'multiselect-spacer',\n ...classes_.value,\n }));\n\n // ============== COMPUTED ==============\n\n const showDropdown = computed(() => {\n return !!(isOpen.value && showOptions.value && (!resolving.value || (resolving.value && fo.value.length)))\n });\n\n const classList = computed(() => {\n const c = classes.value;\n\n return {\n container: [c.container]\n .concat(disabled.value ? c.containerDisabled : [])\n .concat(showDropdown.value && openDirection.value === 'top' ? c.containerOpenTop : [])\n .concat(showDropdown.value && openDirection.value !== 'top' ? c.containerOpen : [])\n .concat(isActive.value ? c.containerActive : []),\n wrapper: c.wrapper,\n spacer: c.spacer,\n singleLabel: c.singleLabel,\n singleLabelText: c.singleLabelText,\n multipleLabel: c.multipleLabel,\n search: c.search,\n tags: c.tags,\n tag: [c.tag]\n .concat(disabled.value ? c.tagDisabled : []),\n tagRemove: c.tagRemove,\n tagRemoveIcon: c.tagRemoveIcon,\n tagsSearchWrapper: c.tagsSearchWrapper,\n tagsSearch: c.tagsSearch,\n tagsSearchCopy: c.tagsSearchCopy,\n placeholder: c.placeholder,\n caret: [c.caret]\n .concat(isOpen.value ? c.caretOpen : []),\n clear: c.clear,\n clearIcon: c.clearIcon,\n spinner: c.spinner,\n inifinite: c.inifinite,\n inifiniteSpinner: c.inifiniteSpinner,\n dropdown: [c.dropdown]\n .concat(openDirection.value === 'top' ? c.dropdownTop : [])\n .concat(!isOpen.value || !showOptions.value || !showDropdown.value ? c.dropdownHidden : []),\n options: [c.options]\n .concat(openDirection.value === 'top' ? c.optionsTop : []),\n group: c.group,\n groupLabel: (g) => {\n let groupLabel = [c.groupLabel];\n\n if (isPointed(g)) {\n groupLabel.push(isSelected(g) ? c.groupLabelSelectedPointed : c.groupLabelPointed);\n } else if (isSelected(g) && canPointGroups.value) {\n groupLabel.push(isDisabled(g) ? c.groupLabelSelectedDisabled : c.groupLabelSelected);\n } else if (isDisabled(g)) {\n groupLabel.push(c.groupLabelDisabled);\n }\n\n if (canPointGroups.value) {\n groupLabel.push(c.groupLabelPointable);\n }\n\n return groupLabel\n },\n groupOptions: c.groupOptions,\n option: (o, g) => {\n let option = [c.option];\n\n if (isPointed(o)) {\n option.push(isSelected(o) ? c.optionSelectedPointed : c.optionPointed);\n } else if (isSelected(o)) {\n option.push(isDisabled(o) ? c.optionSelectedDisabled : c.optionSelected);\n } else if (isDisabled(o) || (g && isDisabled(g))) {\n option.push(c.optionDisabled);\n }\n\n return option\n },\n noOptions: c.noOptions,\n noResults: c.noResults,\n assist: c.assist,\n fakeInput: c.fakeInput,\n }\n });\n\n return {\n classList,\n showDropdown,\n }\n}\n\nfunction useScroll$1 (props, context, dep)\n{\n const {\n limit, infinite,\n } = toRefs(props);\n\n // ============ DEPENDENCIES ============\n\n const isOpen = dep.isOpen;\n const offset = dep.offset;\n const search = dep.search;\n const pfo = dep.pfo;\n const eo = dep.eo;\n\n // ================ DATA ================\n\n // no export\n const observer = ref(null);\n\n const infiniteLoader = ref(null);\n\n // ============== COMPUTED ==============\n\n const hasMore = computed(() => {\n return offset.value < pfo.value.length\n });\n\n // =============== METHODS ==============\n\n // no export\n /* istanbul ignore next */\n const handleIntersectionObserver = (entries) => {\n const { isIntersecting, target } = entries[0];\n\n if (isIntersecting) {\n const parent = target.offsetParent;\n const scrollTop = parent.scrollTop;\n\n offset.value += limit.value == -1 ? 10 : limit.value;\n\n nextTick(() => {\n parent.scrollTop = scrollTop;\n });\n }\n };\n\n const observe = () => {\n /* istanbul ignore else */\n if (isOpen.value && offset.value < pfo.value.length) {\n observer.value.observe(infiniteLoader.value);\n } else if (!isOpen.value && observer.value) {\n observer.value.disconnect();\n }\n };\n\n // ============== WATCHERS ==============\n\n watch(isOpen, () => {\n if (!infinite.value) {\n return\n }\n\n observe();\n });\n\n watch(search, () => {\n if (!infinite.value) {\n return\n }\n\n offset.value = limit.value;\n\n observe();\n }, { flush: 'post' });\n\n watch(eo, () => {\n if (!infinite.value) {\n return\n }\n\n observe();\n }, { immediate: false, flush: 'post' });\n\n // ================ HOOKS ===============\n\n onMounted(() => {\n /* istanbul ignore else */\n if (window && window.IntersectionObserver) {\n observer.value = new IntersectionObserver(handleIntersectionObserver);\n }\n });\n\n return {\n hasMore,\n infiniteLoader,\n }\n}\n\nfunction useScroll (props, context, dep)\n{\n const {\n placeholder, id, valueProp, label: labelProp, mode, groupLabel, aria, searchable ,\n } = toRefs(props);\n\n // ============ DEPENDENCIES ============\n\n const pointer = dep.pointer;\n const iv = dep.iv;\n const hasSelected = dep.hasSelected;\n const multipleLabelText = dep.multipleLabelText;\n\n // ================ DATA ================\n\n const label = ref(null);\n\n // ============== COMPUTED ==============\n\n const ariaAssist = computed(() => {\n let texts = [];\n\n if (id && id.value) {\n texts.push(id.value);\n }\n\n texts.push('assist');\n\n return texts.join('-')\n });\n\n const ariaControls = computed(() => {\n let texts = [];\n\n if (id && id.value) {\n texts.push(id.value);\n }\n\n texts.push('multiselect-options');\n\n return texts.join('-')\n });\n\n const ariaActiveDescendant = computed(() => {\n let texts = [];\n\n if (id && id.value) {\n texts.push(id.value);\n }\n\n if (pointer.value) {\n texts.push(pointer.value.group ? 'multiselect-group' : 'multiselect-option');\n\n texts.push(pointer.value.group ? pointer.value.index : pointer.value[valueProp.value]);\n\n return texts.join('-')\n }\n });\n\n\n\n const ariaPlaceholder = computed(() => {\n return placeholder.value\n });\n\n const ariaMultiselectable = computed(() => {\n return mode.value !== 'single'\n });\n\n const ariaLabel = computed(() => {\n let ariaLabel = '';\n\n if (mode.value === 'single' && hasSelected.value) {\n ariaLabel += iv.value[labelProp.value];\n }\n\n if (mode.value === 'multiple' && hasSelected.value) {\n ariaLabel += multipleLabelText.value;\n }\n\n if (mode.value === 'tags' && hasSelected.value) {\n ariaLabel += iv.value.map(v => v[labelProp.value]).join(', ');\n }\n\n return ariaLabel\n });\n\n const arias = computed(() => {\n let arias = { ...aria.value };\n \n // Need to add manually because focusing\n // the input won't read the selected value\n if (searchable.value) {\n arias['aria-labelledby'] = arias['aria-labelledby']\n ? `${ariaAssist.value} ${arias['aria-labelledby']}`\n : ariaAssist.value;\n \n if (ariaLabel.value && arias['aria-label']) {\n arias['aria-label'] = `${ariaLabel.value}, ${arias['aria-label']}`;\n }\n }\n\n return arias\n });\n\n // =============== METHODS ==============\n\n const ariaOptionId = (option) => {\n let texts = [];\n\n if (id && id.value) {\n texts.push(id.value);\n }\n\n texts.push('multiselect-option');\n\n texts.push(option[valueProp.value]);\n\n return texts.join('-')\n };\n\n const ariaGroupId = (option) => {\n let texts = [];\n\n if (id && id.value) {\n texts.push(id.value);\n }\n\n texts.push('multiselect-group');\n\n texts.push(option.index);\n\n return texts.join('-')\n };\n\n const ariaOptionLabel = (option) => {\n let texts = [];\n\n texts.push(option[labelProp.value]);\n\n return texts.join(' ')\n };\n\n const ariaGroupLabel = (group) => {\n let texts = [];\n\n texts.push(group[groupLabel.value]);\n\n return texts.join(' ')\n };\n\n const ariaTagLabel = (label) => {\n return `${label} ❎`\n };\n\n // =============== HOOKS ================\n\n onMounted(() => {\n /* istanbul ignore next */\n if (id && id.value && document && document.querySelector) {\n let forTag = document.querySelector(`[for=\"${id.value}\"]`);\n label.value = forTag ? forTag.innerText : null;\n }\n });\n\n return {\n arias,\n ariaLabel,\n ariaAssist,\n ariaControls,\n ariaPlaceholder,\n ariaMultiselectable,\n ariaActiveDescendant,\n ariaOptionId,\n ariaOptionLabel,\n ariaGroupId,\n ariaGroupLabel,\n ariaTagLabel,\n }\n}\n\nfunction resolveDeps (props, context, features, deps = {}) {\n features.forEach((composable) => {\n /* istanbul ignore else */\n if (composable) {\n deps = {\n ...deps,\n ...composable(props, context, deps)\n };\n }\n\n });\n \n return deps\n}\n\nvar script = {\n name: 'Multiselect',\n emits: [\n 'paste', 'open', 'close', 'select', 'deselect', \n 'input', 'search-change', 'tag', 'option', 'update:modelValue',\n 'change', 'clear', 'keydown', 'keyup', 'max',\n ],\n props: {\n value: {\n required: false,\n },\n modelValue: {\n required: false,\n },\n options: {\n type: [Array, Object, Function],\n required: false,\n default: () => ([])\n },\n id: {\n type: [String, Number],\n required: false,\n },\n name: {\n type: [String, Number],\n required: false,\n default: 'multiselect',\n },\n disabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n label: {\n type: String,\n required: false,\n default: 'label',\n },\n trackBy: {\n type: String,\n required: false,\n default: undefined,\n },\n valueProp: {\n type: String,\n required: false,\n default: 'value',\n },\n placeholder: {\n type: String,\n required: false,\n default: null,\n },\n mode: {\n type: String,\n required: false,\n default: 'single', // single|multiple|tags\n },\n searchable: {\n type: Boolean,\n required: false,\n default: false,\n },\n limit: {\n type: Number,\n required: false,\n default: -1,\n },\n hideSelected: {\n type: Boolean,\n required: false,\n default: true,\n },\n createTag: {\n type: Boolean,\n required: false,\n default: undefined,\n },\n createOption: {\n type: Boolean,\n required: false,\n default: undefined,\n },\n appendNewTag: {\n type: Boolean,\n required: false,\n default: undefined,\n },\n appendNewOption: {\n type: Boolean,\n required: false,\n default: undefined,\n },\n addTagOn: {\n type: Array,\n required: false,\n default: undefined,\n },\n addOptionOn: {\n type: Array,\n required: false,\n default: undefined,\n },\n caret: {\n type: Boolean,\n required: false,\n default: true,\n },\n loading: {\n type: Boolean,\n required: false,\n default: false,\n },\n noOptionsText: {\n type: String,\n required: false,\n default: 'The list is empty',\n },\n noResultsText: {\n type: String,\n required: false,\n default: 'No results found',\n },\n multipleLabel: {\n type: Function,\n required: false,\n },\n object: {\n type: Boolean,\n required: false,\n default: false,\n },\n delay: {\n type: Number,\n required: false,\n default: -1,\n },\n minChars: {\n type: Number,\n required: false,\n default: 0,\n },\n resolveOnLoad: {\n type: Boolean,\n required: false,\n default: true,\n },\n filterResults: {\n type: Boolean,\n required: false,\n default: true,\n },\n clearOnSearch: {\n type: Boolean,\n required: false,\n default: false,\n },\n clearOnSelect: {\n type: Boolean,\n required: false,\n default: true,\n },\n canDeselect: {\n type: Boolean,\n required: false,\n default: true,\n },\n canClear: {\n type: Boolean,\n required: false,\n default: true,\n },\n max: {\n type: Number,\n required: false,\n default: -1,\n },\n showOptions: {\n type: Boolean,\n required: false,\n default: true,\n },\n required: {\n type: Boolean,\n required: false,\n default: false,\n },\n openDirection: {\n type: String,\n required: false,\n default: 'bottom',\n },\n nativeSupport: {\n type: Boolean,\n required: false,\n default: false,\n },\n classes: {\n type: Object,\n required: false,\n default: () => ({})\n },\n strict: {\n type: Boolean,\n required: false,\n default: true,\n },\n closeOnSelect: {\n type: Boolean,\n required: false,\n default: true,\n },\n autocomplete: {\n type: String,\n required: false,\n },\n groups: {\n type: Boolean,\n required: false,\n default: false,\n },\n groupLabel: {\n type: String,\n required: false,\n default: 'label',\n },\n groupOptions: {\n type: String,\n required: false,\n default: 'options',\n },\n groupHideEmpty: {\n type: Boolean,\n required: false,\n default: false,\n },\n groupSelect: {\n type: Boolean,\n required: false,\n default: true,\n },\n inputType: {\n type: String,\n required: false,\n default: 'text',\n },\n attrs: {\n required: false,\n type: Object,\n default: () => ({}),\n },\n onCreate: {\n required: false,\n type: Function,\n },\n disabledProp: {\n type: String,\n required: false,\n default: 'disabled',\n },\n searchStart: {\n type: Boolean,\n required: false,\n default: false,\n },\n reverse: {\n type: Boolean,\n required: false,\n default: false,\n },\n regex: {\n type: [Object, String, RegExp],\n required: false,\n default: undefined,\n },\n rtl: {\n type: Boolean,\n required: false,\n default: false,\n },\n infinite: {\n type: Boolean,\n required: false,\n default: false,\n },\n aria: {\n required: false,\n type: Object,\n default: () => ({}),\n },\n clearOnBlur: {\n required: false,\n type: Boolean,\n default: true,\n },\n },\n setup(props, context)\n { \n return resolveDeps(props, context, [\n useValue,\n usePointer$1,\n useDropdown,\n useSearch,\n useData,\n useMultiselect,\n useOptions,\n useScroll$1,\n usePointer,\n useKeyboard,\n useClasses,\n useScroll,\n ])\n }\n };\n\nconst _hoisted_1 = [\"id\", \"dir\"];\nconst _hoisted_2 = [\"tabindex\", \"aria-controls\", \"aria-placeholder\", \"aria-expanded\", \"aria-activedescendant\", \"aria-multiselectable\", \"role\"];\nconst _hoisted_3 = [\"type\", \"modelValue\", \"value\", \"autocomplete\", \"id\", \"aria-controls\", \"aria-placeholder\", \"aria-expanded\", \"aria-activedescendant\", \"aria-multiselectable\"];\nconst _hoisted_4 = [\"onKeyup\", \"aria-label\"];\nconst _hoisted_5 = [\"onClick\"];\nconst _hoisted_6 = [\"type\", \"modelValue\", \"value\", \"id\", \"autocomplete\", \"aria-controls\", \"aria-placeholder\", \"aria-expanded\", \"aria-activedescendant\", \"aria-multiselectable\"];\nconst _hoisted_7 = [\"innerHTML\"];\nconst _hoisted_8 = [\"id\"];\nconst _hoisted_9 = [\"id\", \"aria-label\", \"aria-selected\"];\nconst _hoisted_10 = [\"data-pointed\", \"onMouseenter\", \"onClick\"];\nconst _hoisted_11 = [\"innerHTML\"];\nconst _hoisted_12 = [\"aria-label\"];\nconst _hoisted_13 = [\"data-pointed\", \"data-selected\", \"onMouseenter\", \"onClick\", \"id\", \"aria-selected\", \"aria-label\"];\nconst _hoisted_14 = [\"data-pointed\", \"data-selected\", \"onMouseenter\", \"onClick\", \"id\", \"aria-selected\", \"aria-label\"];\nconst _hoisted_15 = [\"innerHTML\"];\nconst _hoisted_16 = [\"innerHTML\"];\nconst _hoisted_17 = [\"value\"];\nconst _hoisted_18 = [\"name\", \"value\"];\nconst _hoisted_19 = [\"name\", \"value\"];\nconst _hoisted_20 = [\"id\"];\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return (openBlock(), createElementBlock(\"div\", {\n ref: \"multiselect\",\n class: normalizeClass(_ctx.classList.container),\n id: $props.searchable ? undefined : $props.id,\n dir: $props.rtl ? 'rtl' : undefined,\n onFocusin: _cache[10] || (_cache[10] = (...args) => (_ctx.handleFocusIn && _ctx.handleFocusIn(...args))),\n onFocusout: _cache[11] || (_cache[11] = (...args) => (_ctx.handleFocusOut && _ctx.handleFocusOut(...args))),\n onKeyup: _cache[12] || (_cache[12] = (...args) => (_ctx.handleKeyup && _ctx.handleKeyup(...args))),\n onKeydown: _cache[13] || (_cache[13] = (...args) => (_ctx.handleKeydown && _ctx.handleKeydown(...args)))\n }, [\n createElementVNode(\"div\", mergeProps({\n class: _ctx.classList.wrapper,\n onMousedown: _cache[9] || (_cache[9] = (...args) => (_ctx.handleMousedown && _ctx.handleMousedown(...args))),\n ref: \"wrapper\",\n tabindex: _ctx.tabindex,\n \"aria-controls\": !$props.searchable ? _ctx.ariaControls : undefined,\n \"aria-placeholder\": !$props.searchable ? _ctx.ariaPlaceholder : undefined,\n \"aria-expanded\": !$props.searchable ? _ctx.isOpen : undefined,\n \"aria-activedescendant\": !$props.searchable ? _ctx.ariaActiveDescendant : undefined,\n \"aria-multiselectable\": !$props.searchable ? _ctx.ariaMultiselectable : undefined,\n role: !$props.searchable ? 'combobox' : undefined\n }, !$props.searchable ? _ctx.arias : {}), [\n createCommentVNode(\" Search \"),\n ($props.mode !== 'tags' && $props.searchable && !$props.disabled)\n ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n type: $props.inputType,\n modelValue: _ctx.search,\n value: _ctx.search,\n class: _ctx.classList.search,\n autocomplete: $props.autocomplete,\n id: $props.searchable ? $props.id : undefined,\n onInput: _cache[0] || (_cache[0] = (...args) => (_ctx.handleSearchInput && _ctx.handleSearchInput(...args))),\n onKeypress: _cache[1] || (_cache[1] = (...args) => (_ctx.handleKeypress && _ctx.handleKeypress(...args))),\n onPaste: _cache[2] || (_cache[2] = withModifiers((...args) => (_ctx.handlePaste && _ctx.handlePaste(...args)), [\"stop\"])),\n ref: \"input\",\n \"aria-controls\": _ctx.ariaControls,\n \"aria-placeholder\": _ctx.ariaPlaceholder,\n \"aria-expanded\": _ctx.isOpen,\n \"aria-activedescendant\": _ctx.ariaActiveDescendant,\n \"aria-multiselectable\": _ctx.ariaMultiselectable,\n role: \"combobox\"\n }, {\n ...$props.attrs,\n ..._ctx.arias,\n }), null, 16 /* FULL_PROPS */, _hoisted_3))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Tags (with search) \"),\n ($props.mode == 'tags')\n ? (openBlock(), createElementBlock(\"div\", {\n key: 1,\n class: normalizeClass(_ctx.classList.tags),\n \"data-tags\": \"\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.iv, (option, i, key) => {\n return renderSlot(_ctx.$slots, \"tag\", {\n option: option,\n handleTagRemove: _ctx.handleTagRemove,\n disabled: $props.disabled\n }, () => [\n (openBlock(), createElementBlock(\"span\", {\n class: normalizeClass(_ctx.classList.tag),\n tabindex: \"-1\",\n onKeyup: withKeys($event => (_ctx.handleTagRemove(option, $event)), [\"enter\"]),\n key: key,\n \"aria-label\": _ctx.ariaTagLabel(option[$props.label])\n }, [\n createTextVNode(toDisplayString(option[$props.label]) + \" \", 1 /* TEXT */),\n (!$props.disabled)\n ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass(_ctx.classList.tagRemove),\n onClick: withModifiers($event => (_ctx.handleTagRemove(option, $event)), [\"stop\"])\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.tagRemoveIcon)\n }, null, 2 /* CLASS */)\n ], 10 /* CLASS, PROPS */, _hoisted_5))\n : createCommentVNode(\"v-if\", true)\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_4))\n ])\n }), 256 /* UNKEYED_FRAGMENT */)),\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.tagsSearchWrapper),\n ref: \"tags\"\n }, [\n createCommentVNode(\" Used for measuring search width \"),\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.tagsSearchCopy)\n }, toDisplayString(_ctx.search), 3 /* TEXT, CLASS */),\n createCommentVNode(\" Actual search input \"),\n ($props.searchable && !$props.disabled)\n ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n type: $props.inputType,\n modelValue: _ctx.search,\n value: _ctx.search,\n class: _ctx.classList.tagsSearch,\n id: $props.searchable ? $props.id : undefined,\n autocomplete: $props.autocomplete,\n onInput: _cache[3] || (_cache[3] = (...args) => (_ctx.handleSearchInput && _ctx.handleSearchInput(...args))),\n onKeypress: _cache[4] || (_cache[4] = (...args) => (_ctx.handleKeypress && _ctx.handleKeypress(...args))),\n onPaste: _cache[5] || (_cache[5] = withModifiers((...args) => (_ctx.handlePaste && _ctx.handlePaste(...args)), [\"stop\"])),\n ref: \"input\",\n \"aria-controls\": _ctx.ariaControls,\n \"aria-placeholder\": _ctx.ariaPlaceholder,\n \"aria-expanded\": _ctx.isOpen,\n \"aria-activedescendant\": _ctx.ariaActiveDescendant,\n \"aria-multiselectable\": _ctx.ariaMultiselectable,\n role: \"combobox\"\n }, {\n ...$props.attrs,\n ..._ctx.arias,\n }), null, 16 /* FULL_PROPS */, _hoisted_6))\n : createCommentVNode(\"v-if\", true)\n ], 2 /* CLASS */)\n ], 2 /* CLASS */))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Single label \"),\n ($props.mode == 'single' && _ctx.hasSelected && !_ctx.search && _ctx.iv)\n ? renderSlot(_ctx.$slots, \"singlelabel\", {\n key: 2,\n value: _ctx.iv\n }, () => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.singleLabel)\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.singleLabelText)\n }, toDisplayString(_ctx.iv[$props.label]), 3 /* TEXT, CLASS */)\n ], 2 /* CLASS */)\n ])\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Multiple label \"),\n ($props.mode == 'multiple' && _ctx.hasSelected && !_ctx.search)\n ? renderSlot(_ctx.$slots, \"multiplelabel\", {\n key: 3,\n values: _ctx.iv\n }, () => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.multipleLabel),\n innerHTML: _ctx.multipleLabelText\n }, null, 10 /* CLASS, PROPS */, _hoisted_7)\n ])\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Placeholder \"),\n ($props.placeholder && !_ctx.hasSelected && !_ctx.search)\n ? renderSlot(_ctx.$slots, \"placeholder\", { key: 4 }, () => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.placeholder),\n \"aria-hidden\": \"true\"\n }, toDisplayString($props.placeholder), 3 /* TEXT, CLASS */)\n ])\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Spinner \"),\n ($props.loading || _ctx.resolving)\n ? renderSlot(_ctx.$slots, \"spinner\", { key: 5 }, () => [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.spinner),\n \"aria-hidden\": \"true\"\n }, null, 2 /* CLASS */)\n ])\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Clear \"),\n (_ctx.hasSelected && !$props.disabled && $props.canClear && !_ctx.busy)\n ? renderSlot(_ctx.$slots, \"clear\", {\n key: 6,\n clear: _ctx.clear\n }, () => [\n createElementVNode(\"span\", {\n \"aria-hidden\": \"true\",\n tabindex: \"0\",\n role: \"button\",\n \"data-clear\": \"\",\n \"aria-roledescription\": \"❎\",\n class: normalizeClass(_ctx.classList.clear),\n onClick: _cache[6] || (_cache[6] = (...args) => (_ctx.clear && _ctx.clear(...args))),\n onKeyup: _cache[7] || (_cache[7] = withKeys((...args) => (_ctx.clear && _ctx.clear(...args)), [\"enter\"]))\n }, [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.clearIcon)\n }, null, 2 /* CLASS */)\n ], 34 /* CLASS, HYDRATE_EVENTS */)\n ])\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Caret \"),\n ($props.caret && $props.showOptions)\n ? renderSlot(_ctx.$slots, \"caret\", { key: 7 }, () => [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.caret),\n onClick: _cache[8] || (_cache[8] = (...args) => (_ctx.handleCaretClick && _ctx.handleCaretClick(...args))),\n \"aria-hidden\": \"true\"\n }, null, 2 /* CLASS */)\n ])\n : createCommentVNode(\"v-if\", true)\n ], 16 /* FULL_PROPS */, _hoisted_2),\n createCommentVNode(\" Options \"),\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.dropdown),\n tabindex: \"-1\"\n }, [\n renderSlot(_ctx.$slots, \"beforelist\", { options: _ctx.fo }),\n createElementVNode(\"ul\", {\n class: normalizeClass(_ctx.classList.options),\n id: _ctx.ariaControls,\n role: \"listbox\"\n }, [\n ($props.groups)\n ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(_ctx.fg, (group, i, key) => {\n return (openBlock(), createElementBlock(\"li\", {\n class: normalizeClass(_ctx.classList.group),\n key: key,\n id: _ctx.ariaGroupId(group),\n \"aria-label\": _ctx.ariaGroupLabel(group),\n \"aria-selected\": _ctx.isSelected(group),\n role: \"option\"\n }, [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.groupLabel(group)),\n \"data-pointed\": _ctx.isPointed(group),\n onMouseenter: $event => (_ctx.setPointer(group, i)),\n onClick: $event => (_ctx.handleGroupClick(group))\n }, [\n renderSlot(_ctx.$slots, \"grouplabel\", {\n group: group,\n isSelected: _ctx.isSelected,\n isPointed: _ctx.isPointed\n }, () => [\n createElementVNode(\"span\", {\n innerHTML: group[$props.groupLabel]\n }, null, 8 /* PROPS */, _hoisted_11)\n ])\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_10),\n createElementVNode(\"ul\", {\n class: normalizeClass(_ctx.classList.groupOptions),\n \"aria-label\": _ctx.ariaGroupLabel(group),\n role: \"group\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList(group.__VISIBLE__, (option, i, key) => {\n return (openBlock(), createElementBlock(\"li\", {\n class: normalizeClass(_ctx.classList.option(option, group)),\n \"data-pointed\": _ctx.isPointed(option),\n \"data-selected\": _ctx.isSelected(option) || undefined,\n key: key,\n onMouseenter: $event => (_ctx.setPointer(option)),\n onClick: $event => (_ctx.handleOptionClick(option)),\n id: _ctx.ariaOptionId(option),\n \"aria-selected\": _ctx.isSelected(option),\n \"aria-label\": _ctx.ariaOptionLabel(option),\n role: \"option\"\n }, [\n renderSlot(_ctx.$slots, \"option\", {\n option: option,\n isSelected: _ctx.isSelected,\n isPointed: _ctx.isPointed,\n search: _ctx.search\n }, () => [\n createElementVNode(\"span\", null, toDisplayString(option[$props.label]), 1 /* TEXT */)\n ])\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_13))\n }), 128 /* KEYED_FRAGMENT */))\n ], 10 /* CLASS, PROPS */, _hoisted_12)\n ], 10 /* CLASS, PROPS */, _hoisted_9))\n }), 128 /* KEYED_FRAGMENT */))\n : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.fo, (option, i, key) => {\n return (openBlock(), createElementBlock(\"li\", {\n class: normalizeClass(_ctx.classList.option(option)),\n \"data-pointed\": _ctx.isPointed(option),\n \"data-selected\": _ctx.isSelected(option) || undefined,\n key: key,\n onMouseenter: $event => (_ctx.setPointer(option)),\n onClick: $event => (_ctx.handleOptionClick(option)),\n id: _ctx.ariaOptionId(option),\n \"aria-selected\": _ctx.isSelected(option),\n \"aria-label\": _ctx.ariaOptionLabel(option),\n role: \"option\"\n }, [\n renderSlot(_ctx.$slots, \"option\", {\n option: option,\n isSelected: _ctx.isSelected,\n isPointed: _ctx.isPointed,\n search: _ctx.search\n }, () => [\n createElementVNode(\"span\", null, toDisplayString(option[$props.label]), 1 /* TEXT */)\n ])\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_14))\n }), 128 /* KEYED_FRAGMENT */))\n ], 10 /* CLASS, PROPS */, _hoisted_8),\n (_ctx.noOptions)\n ? renderSlot(_ctx.$slots, \"nooptions\", { key: 0 }, () => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.noOptions),\n innerHTML: $props.noOptionsText\n }, null, 10 /* CLASS, PROPS */, _hoisted_15)\n ])\n : createCommentVNode(\"v-if\", true),\n (_ctx.noResults)\n ? renderSlot(_ctx.$slots, \"noresults\", { key: 1 }, () => [\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.noResults),\n innerHTML: $props.noResultsText\n }, null, 10 /* CLASS, PROPS */, _hoisted_16)\n ])\n : createCommentVNode(\"v-if\", true),\n ($props.infinite && _ctx.hasMore)\n ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass(_ctx.classList.inifinite),\n ref: \"infiniteLoader\"\n }, [\n renderSlot(_ctx.$slots, \"infinite\", {}, () => [\n createElementVNode(\"span\", {\n class: normalizeClass(_ctx.classList.inifiniteSpinner)\n }, null, 2 /* CLASS */)\n ])\n ], 2 /* CLASS */))\n : createCommentVNode(\"v-if\", true),\n renderSlot(_ctx.$slots, \"afterlist\", { options: _ctx.fo })\n ], 2 /* CLASS */),\n createCommentVNode(\" Hacky input element to show HTML5 required warning \"),\n ($props.required)\n ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n class: normalizeClass(_ctx.classList.fakeInput),\n tabindex: \"-1\",\n value: _ctx.textValue,\n required: \"\"\n }, null, 10 /* CLASS, PROPS */, _hoisted_17))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Native input support \"),\n ($props.nativeSupport)\n ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [\n ($props.mode == 'single')\n ? (openBlock(), createElementBlock(\"input\", {\n key: 0,\n type: \"hidden\",\n name: $props.name,\n value: _ctx.plainValue !== undefined ? _ctx.plainValue : ''\n }, null, 8 /* PROPS */, _hoisted_18))\n : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.plainValue, (v, i) => {\n return (openBlock(), createElementBlock(\"input\", {\n type: \"hidden\",\n name: `${$props.name}[]`,\n value: v,\n key: i\n }, null, 8 /* PROPS */, _hoisted_19))\n }), 128 /* KEYED_FRAGMENT */))\n ], 64 /* STABLE_FRAGMENT */))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Screen reader assistive text \"),\n ($props.searchable && _ctx.hasSelected)\n ? (openBlock(), createElementBlock(\"div\", {\n key: 2,\n class: normalizeClass(_ctx.classList.assist),\n id: _ctx.ariaAssist,\n \"aria-hidden\": \"true\"\n }, toDisplayString(_ctx.ariaLabel), 11 /* TEXT, CLASS, PROPS */, _hoisted_20))\n : createCommentVNode(\"v-if\", true),\n createCommentVNode(\" Create height for empty input \"),\n createElementVNode(\"div\", {\n class: normalizeClass(_ctx.classList.spacer)\n }, null, 2 /* CLASS */)\n ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_1))\n}\n\nscript.render = render;\nscript.__file = \"src/Multiselect.vue\";\n\nexport { script as default };\n"],"sourceRoot":""}