{"version":3,"sources":["webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./src/components/field/SearchSelectFormField.vue","webpack:///src/components/field/SearchSelectFormField.vue","webpack:///./src/components/field/SearchSelectFormField.vue?deb3","webpack:///./src/components/field/SearchSelectFormField.vue?c77c"],"names":["defaultMenuProps","VSelectMenuProps","offsetY","offsetOverflow","transition","VSelect","extend","name","props","autoSelectFirst","type","Boolean","default","filter","Function","item","queryText","itemText","toLocaleLowerCase","indexOf","hideNoData","menuProps","options","noFilter","searchInput","String","data","lazySearch","this","computed","classes","call","selectedIndex","computedItems","filteredItems","selectedValues","selectedItems","map","getValue","hasDisplayedItems","hideSelected","some","hasItem","length","currentRange","selectedItem","getText","isSearching","internalSearch","allItems","value","getPropertyFromItem","text","get","set","val","$emit","isAnyValueAllowed","isDirty","searchIsDirty","multiple","menuCanShow","isFocused","$_menuProps","contentClass","trim","find","i","valueComparator","internalValue","listData","items","virtualizedItems","watch","document","addEventListener","onCopy","$refs","input","select","removeEventListener","blur","updateSelf","isMenuActive","hasSlot","oldVal","activateMenu","created","setSearch","destroyed","methods","onFilteredItemsChanged","preSelectedItem","menu","listIndex","setMenuIndex","findIndex","$nextTick","getTiles","onInternalSearchChanged","updateMenuDimensions","updateDimensions","changeSelectedIndex","keyCode","keyCodes","left","right","backspace","delete","deleteCurrentItem","curIndex","curItem","isInteractive","getDisabled","lastIndex","nextIndex","nextItem","selectItem","setValue","clearableCallback","genInput","VTextField","mergeData","attrs","getObjectValueByPath","autocomplete","domProps","genInputSlot","slot","role","genSelections","onClick","e","onFocus","isAppendInner","target","onInput","badInput","validity","onKeyDown","ctrlKey","home","end","includes","onSpaceDown","onTabDown","onUpDown","preventDefault","setSelectedItems","event","currentItem","currentItemText","_a","clipboardData","setData","_b","_c","_self","scopedSlots","_vm","proxy","key","fn","model","callback","fieldValue","expression","staticRenderFns","inheritAttrs","components","BaseTooltipButton","iconTrash","iconMinus","iconCheckbox","iconCheckboxBlank","field","undefined","removable","visibleInclude","disabledInclude","_this$field","fieldOperator","_this$field$operator","_this$field2","operator","fieldInclude","_this$field$include","_this$field3","include","fieldLabel","_this$field$label","_this$field4","label","toolTipRemove","toolTipInclude","includeIcon","onInclude","component"],"mappings":"yIAAA,8DAmBA,MAAMA,EAAmB,IACpBC,OACHC,SAAS,EACTC,gBAAgB,EAChBC,YAAY,GAICC,cAAQC,OAAO,CAC5BC,KAAM,iBAENC,MAAO,CACLC,gBAAiB,CACfC,KAAMC,QACNC,SAAS,GAEXC,OAAQ,CACNH,KAAMI,SACNF,QAASA,CAACG,EAAWC,EAAmBC,IAC/BA,EAASC,oBAAoBC,QAAQH,EAAUE,sBAAwB,GAGlFE,WAAYT,QACZU,UAAW,CACTX,KAAML,OAAQiB,QAAQd,MAAMa,UAAUX,KACtCE,QAASA,IAAMZ,GAEjBuB,SAAUZ,QACVa,YAAa,CACXd,KAAMe,SAIVC,OACE,MAAO,CACLC,WAAYC,KAAKJ,cAIrBK,SAAU,CACRC,UACE,MAAO,IACFzB,OAAQiB,QAAQO,SAASC,QAAQC,KAAKH,MACzC,kBAAkB,EAClB,qCAAsCA,KAAKI,eAAiB,IAGhEC,gBACE,OAAOL,KAAKM,eAEdC,iBACE,OAAOP,KAAKQ,cAAcC,IAAItB,GAAQa,KAAKU,SAASvB,KAEtDwB,oBACE,OAAOX,KAAKY,aACRZ,KAAKM,cAAcO,KAAK1B,IAASa,KAAKc,QAAQ3B,IAC9Ca,KAAKM,cAAcS,OAAS,GAElCC,eACE,OAAyB,MAArBhB,KAAKiB,aAA6B,EAE/BpB,OAAOG,KAAKkB,QAAQlB,KAAKiB,eAAeF,QAEjDT,gBACE,OAAKN,KAAKmB,aAAenB,KAAKL,UAAmC,MAAvBK,KAAKoB,eAA+BpB,KAAKqB,SAE5ErB,KAAKqB,SAASpC,OAAOE,IAC1B,MAAMmC,EAAQC,eAAoBpC,EAAMa,KAAKX,UACvCmC,EAAgB,MAATF,EAAgBzB,OAAOyB,GAAS,GAE7C,OAAOtB,KAAKf,OAAOE,EAAMU,OAAOG,KAAKoB,gBAAiBI,MAG1DJ,eAAgB,CACdK,MACE,OAAOzB,KAAKD,YAEd2B,IAAKC,GAGC3B,KAAKD,aAAe4B,IACtB3B,KAAKD,WAAa4B,EAClB3B,KAAK4B,MAAM,sBAAuBD,MAIxCE,oBACE,OAAO,GAETC,UACE,OAAO9B,KAAK+B,eAAiB/B,KAAKQ,cAAcO,OAAS,GAE3DI,cACE,OACEnB,KAAKgC,UACLhC,KAAK+B,eAEL/B,KAAK+B,eACL/B,KAAKoB,iBAAmBpB,KAAKkB,QAAQlB,KAAKiB,eAG9CgB,cACE,QAAKjC,KAAKkC,YAEHlC,KAAKW,oBAAsBX,KAAKR,aAEzC2C,cACE,MAAMvD,EAAQH,OAAQiB,QAAQO,SAASkC,YAAYhC,KAAKH,MAExD,OADCpB,EAAcwD,cAAe,4BAA4BxD,EAAcwD,cAAgB,KAAKC,OACtF,IACFjE,KACAQ,IAGPmD,gBACE,OAA8B,MAAvB/B,KAAKoB,gBACc,KAAxBpB,KAAKoB,gBAETH,eACE,OAAIjB,KAAKgC,SAAiB,KAEnBhC,KAAKQ,cAAc8B,KAAKC,GACtBvC,KAAKwC,gBAAgBxC,KAAKU,SAAS6B,GAAIvC,KAAKU,SAASV,KAAKyC,kBAGrEC,WACE,MAAM5C,EAAOrB,OAAQiB,QAAQO,SAASyC,SAASvC,KAAKH,MAapD,OAXAF,EAAKlB,MAAQ,IACRkB,EAAKlB,MACR+D,MAAO3C,KAAK4C,iBACZjD,SACEK,KAAKL,WACJK,KAAKmB,cACLnB,KAAKM,cAAcS,OAEtBnB,YAAaI,KAAKoB,gBAGbtB,IAIX+C,MAAO,CACLvC,cAAe,yBACfmC,cAAe,YACfP,UAAWP,GACLA,GACFmB,SAASC,iBAAiB,OAAQ/C,KAAKgD,QACvChD,KAAKiD,MAAMC,OAASlD,KAAKiD,MAAMC,MAAMC,WAErCL,SAASM,oBAAoB,OAAQpD,KAAKgD,QAC1ChD,KAAKqD,OACLrD,KAAKsD,eAGTC,aAAc5B,IACRA,GAAQ3B,KAAKwD,UAEjBxD,KAAKD,WAAa,OAEpB4C,MAAOhB,EAAK8B,GAONA,GAAUA,EAAO1C,SACnBf,KAAKR,aACLQ,KAAKkC,WACJlC,KAAKuD,eACN5B,EAAIZ,QACJf,KAAK0D,gBAET9D,YAAa+B,GACX3B,KAAKD,WAAa4B,GAEpBP,eAAgB,0BAChB/B,SAAU,cAGZsE,UACE3D,KAAK4D,aAGPC,YACEf,SAASM,oBAAoB,OAAQpD,KAAKgD,SAG5Cc,QAAS,CACPC,uBAAwBpC,EAAc8B,GAGpC,GAAI9B,IAAQ8B,EAAZ,CAEA,IAAKzD,KAAKnB,gBAAiB,CACzB,MAAMmF,EAAkBP,EAAOzD,KAAKiD,MAAMgB,KAAKC,WAE3CF,EACFhE,KAAKmE,aAAaxC,EAAIyC,UAAU7B,GAAKA,IAAMyB,IAE3ChE,KAAKmE,cAAc,GAErBnE,KAAK4B,MAAM,oBAAqB5B,KAAKiD,MAAMgB,KAAKC,WAGlDlE,KAAKqE,UAAU,KAEVrE,KAAKoB,iBACU,IAAfO,EAAIZ,QACFf,KAAKnB,mBAGVmB,KAAKiD,MAAMgB,KAAKK,WAEZtE,KAAKnB,iBAAmB8C,EAAIZ,SAC9Bf,KAAKmE,aAAa,GAClBnE,KAAK4B,MAAM,oBAAqB5B,KAAKiD,MAAMgB,KAAKC,iBAItDK,0BACEvE,KAAKwE,wBAEPA,uBAEExE,KAAKuD,cAAgBvD,KAAKiD,MAAMgB,MAAQjE,KAAKiD,MAAMgB,KAAKQ,oBAE1DC,oBAAqBC,GAGf3E,KAAK+B,gBAEL/B,KAAKgC,UAAY2C,IAAYC,OAASC,MACZ,IAAxB7E,KAAKI,cACPJ,KAAKI,cAAgBJ,KAAKQ,cAAcO,OAAS,EAEjDf,KAAKI,gBAEEJ,KAAKgC,UAAY2C,IAAYC,OAASE,MAC3C9E,KAAKI,eAAiBJ,KAAKQ,cAAcO,OAAS,EACpDf,KAAKI,eAAiB,EAEtBJ,KAAKI,gBAEEuE,IAAYC,OAASG,WAAaJ,IAAYC,OAASI,QAChEhF,KAAKiF,sBAGTA,oBACE,MAAMC,EAAWlF,KAAKI,cAChB+E,EAAUnF,KAAKQ,cAAc0E,GAGnC,IACGlF,KAAKoF,eACNpF,KAAKqF,YAAYF,GACjB,OAEF,MAAMG,EAAYtF,KAAKQ,cAAcO,OAAS,EAI9C,IAC0B,IAAxBf,KAAKI,eACS,IAAdkF,EAIA,YAFAtF,KAAKI,cAAgBkF,GAKvB,MAAMvE,EAASf,KAAKQ,cAAcO,OAC5BwE,EAAYL,IAAanE,EAAS,EACpCmE,EACAA,EAAW,EACTM,EAAWxF,KAAKQ,cAAc+E,GAE/BC,EAGHxF,KAAKyF,WAAWN,GAFhBnF,KAAK0F,SAAS1F,KAAKgC,SAAW,GAAK,MAKrChC,KAAKI,cAAgBmF,GAEvBI,oBACE3F,KAAKoB,eAAiB,KAEtB3C,OAAQiB,QAAQoE,QAAQ6B,kBAAkBxF,KAAKH,OAEjD4F,WACE,MAAM1C,EAAQ2C,OAAWnG,QAAQoE,QAAQ8B,SAASzF,KAAKH,MAUvD,OARAkD,EAAMpD,KAAOgG,eAAU5C,EAAMpD,KAAO,CAClCiG,MAAO,CACL,wBAAyBC,eAAqBhG,KAAKiD,MAAMgB,KAAM,iBAC/DgC,aAAcD,eAAqB9C,EAAMpD,KAAO,qBAAsB,QAExEoG,SAAU,CAAE5E,MAAOtB,KAAKoB,kBAGnB8B,GAETiD,eACE,MAAMC,EAAO3H,OAAQiB,QAAQoE,QAAQqC,aAAahG,KAAKH,MAIvD,OAFAoG,EAAKtG,KAAMiG,MAAOM,KAAO,WAElBD,GAETE,gBACE,OAAOtG,KAAKwD,SAAWxD,KAAKgC,SACxBvD,OAAQiB,QAAQoE,QAAQwC,cAAcnG,KAAKH,MAC3C,IAENuG,QAASC,GACFxG,KAAKoF,gBAEVpF,KAAKI,eAAiB,EACjBJ,KAAKI,eAAiB,EACvBJ,KAAKyG,UAEJzG,KAAK0G,cAAcF,EAAEG,SAAS3G,KAAK0D,iBAE1CkD,QAASJ,GACP,GACExG,KAAKI,eAAiB,IACrBoG,EAAEG,OACH,OAEF,MAAMA,EAASH,EAAEG,OACXrF,EAAQqF,EAAOrF,MAGjBqF,EAAOrF,OAAOtB,KAAK0D,eAElB1D,KAAKgC,UAAsB,KAAVV,GAActB,KAAKiF,oBAEzCjF,KAAKoB,eAAiBE,EACtBtB,KAAK6G,SAAWF,EAAOG,UAAYH,EAAOG,SAASD,UAErDE,UAAWP,GACT,MAAM7B,EAAU6B,EAAE7B,SAGhB6B,EAAEQ,SACD,CAACpC,OAASqC,KAAMrC,OAASsC,KAAKC,SAASxC,IAExClG,OAAQiB,QAAQoE,QAAQiD,UAAU5G,KAAKH,KAAMwG,GAO/CxG,KAAK0E,oBAAoBC,IAE3ByC,YAAaZ,KACba,UAAWb,GACT/H,OAAQiB,QAAQoE,QAAQuD,UAAUlH,KAAKH,KAAMwG,GAC7CxG,KAAKsD,cAEPgE,SAAUd,GAERA,EAAEe,iBAKFvH,KAAK0D,gBAEP+B,WAAYtG,GACVV,OAAQiB,QAAQoE,QAAQ2B,WAAWtF,KAAKH,KAAMb,GAC9Ca,KAAK4D,aAEP4D,mBACE/I,OAAQiB,QAAQoE,QAAQ0D,iBAAiBrH,KAAKH,MAIzCA,KAAKkC,WAAWlC,KAAK4D,aAE5BA,YAGE5D,KAAKqE,UAAU,KAEVrE,KAAKgC,UACLhC,KAAKoB,gBACLpB,KAAKuD,eAENvD,KAAKoB,gBACFpB,KAAKQ,cAAcO,QACpBf,KAAKgC,UACLhC,KAAKwD,QAEH,KACAxD,KAAKkB,QAAQlB,KAAKiB,kBAI5BqC,cAEKtD,KAAK+B,eACL/B,KAAKyC,iBAILzC,KAAKgC,UACLhC,KAAKwC,gBACJxC,KAAKoB,eACLpB,KAAKU,SAASV,KAAKyC,iBAGrBzC,KAAK4D,cAGT9C,QAAS3B,GACP,OAAOa,KAAKO,eAAehB,QAAQS,KAAKU,SAASvB,KAAU,GAE7D6D,OAAQyE,G,QACN,IAA4B,IAAxBzH,KAAKI,cAAsB,OAE/B,MAAMsH,EAAc1H,KAAKQ,cAAcR,KAAKI,eACtCuH,EAAkB3H,KAAKkB,QAAQwG,GAClB,QAAnBE,EAAAH,EAAMI,qBAAa,IAAAD,KAAEE,QAAQ,aAAcH,GACxB,QAAnBI,EAAAN,EAAMI,qBAAa,IAAAE,KAAED,QAAQ,2CAA4CH,GACzEF,EAAMF,sB,yDChcgCS,EAAOC,WAAS,MAAU,KAAgCC,UAAYC,G,OAAY,EAAC,OAAc,W,YAAI,KAAU,E,IAAC,e,GAAuDpC,W,MAAO,GAAM,eAAI,yB,MAAC,CAAa,OAA+B,SAAG,SAAC,mB,GAA0B,CAAsB,kBAAE,uB,YAAyC,KAAU,E,IAAC,YAAgD,GAAC,WAACqC,MAAM,qCAAOC,OAAI,GAAUC,C,IAAc,UAAmD,GAAC,WAACF,MAAM,wCAA+B,OAAO,IAAI,sBAAO,SAAQG,OAAM,K,MAAwBC,C,MAA6BC,aAAc,SAAC,YAACC,aAAW,GAAe,0BAE3qBC,iBAAkB,EAAE,2B,iBC+BT,GACfhK,KAAA,wBACAiK,cAAA,EACAC,WAAA,CACAC,sBACA,iDAEAhJ,OACA,OACAiJ,kBACAC,kBACAC,oBACAC,2BAGAtK,MAAA,CAKAuK,WAAAC,EAIAC,UAAA,CACAvK,KAAAC,QACAC,SAAA,GAEAsK,eAAA,CACAxK,KAAAC,QACAC,SAAA,GAEAuK,gBAAA,CACAzK,KAAAC,QACAC,SAAA,IAGAiB,SAAA,CACAwI,WAAA,CACAhH,MAAA,IAAA+H,EACA,eAAAA,EAAA,KAAAL,aAAA,IAAAK,OAAA,EAAAA,EAAAlI,OAEAI,IAAAJ,GACA,KAAA6H,QACA,KAAAA,MAAA7H,WAIAmI,cAAA,CACAhI,MAAA,IAAAiI,EAAAC,EACA,eAAAD,EAAA,QAAAC,EAAA,KAAAR,aAAA,IAAAQ,OAAA,EAAAA,EAAAC,gBAAA,IAAAF,IAAA,IAEAhI,IAAAJ,GACA,KAAA6H,QACA,KAAAA,MAAAS,SAAAtI,KAIAuI,aAAA,CACApI,MAAA,IAAAqI,EAAAC,EACA,eAAAD,EAAA,QAAAC,EAAA,KAAAZ,aAAA,IAAAY,OAAA,EAAAA,EAAAC,eAAA,IAAAF,MAEApI,IAAAJ,GACA,KAAA6H,QACA,KAAAA,MAAAa,QAAA1I,KAIA2I,aAAA,IAAAC,EAAAC,EACA,eAAAD,EAAA,QAAAC,EAAA,KAAAhB,aAAA,IAAAgB,OAAA,EAAAA,EAAAC,aAAA,IAAAF,IAAA,WAEAG,gBACA,qBAAAJ,YAEAK,iBACA,sBAAAL,gCAEAM,cACA,YAAAV,aAAA,KAAAZ,aAAA,KAAAC,oBAGApF,QAAA,CACA0G,YACA,KAAAX,cAAA,KAAAA,gBCpH6W,I,YCOzWY,EAAY,eACd,EACA,EACA9B,GACA,EACA,KACA,KACA,MAIa,aAAA8B,E","file":"js/chunk-381ee4a2.f0a9d116.js","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-autocomplete',_vm._g(_vm._b({scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [(_vm.visibleInclude)?_c('base-tooltip-button',{attrs:{\"fab\":true,\"small\":true,\"disabled\":_vm.disabledInclude},on:{\"click\":function($event){return _vm.onInclude()}},scopedSlots:_vm._u([{key:\"icon-name\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.includeIcon)+\" \")]},proxy:true},{key:\"toolTip\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.toolTipInclude)+\" \")]},proxy:true}],null,false,1720484323)}):_vm._e()]},proxy:true}]),model:{value:(_vm.fieldValue),callback:function ($$v) {_vm.fieldValue=$$v},expression:\"fieldValue\"}},'v-autocomplete',_vm.$attrs,false),_vm.$listeners))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchSelectFormField.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchSelectFormField.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SearchSelectFormField.vue?vue&type=template&id=3e9cb05f\"\nimport script from \"./SearchSelectFormField.vue?vue&type=script&lang=js\"\nexport * from \"./SearchSelectFormField.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}