{"version":3,"sources":["webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":["baseMixins","name","props","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","this","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","methods","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","defaultMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","undefined","data","lazySearch","selectedIndex","computedItems","selectedValues","selectedItems","map","item","hasDisplayedItems","hideSelected","filteredItems","some","length","currentRange","selectedItem","String","getText","internalSearch","allItems","get","set","isAnyValueAllowed","isDirty","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","i","listData","items","internalValue","document","isMenuActive","val","oldVal","activateMenu","created","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","keyCode","deleteCurrentItem","index","currentItem","getDisabled","newIndex","clearableCallback","attrs","autocomplete","domProps","value","genInputSlot","slot","genSelections","hasSlot","onClick","target","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","getValue","hasItem","indexOf","onCopy","currentItemText","event"],"mappings":"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","file":"js/chunk-bb43864c.a3bd68ce.js","sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","// 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 { keyCodes, getObjectValueByPath } from '../../util/helpers'\n\n// Types\nimport { PropType } from 'vue'\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 allowOverflow: {\n type: Boolean,\n default: true,\n },\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 },\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 default: undefined,\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 => this.filter(item, String(this.internalSearch), String(this.getText(item))))\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\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.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\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 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 this.setMenuIndex(-1)\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 this.setMenuIndex(0)\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 if (this.readonly) return\n\n const index = this.selectedItems.length - 1\n\n if (this.selectedIndex === -1 && index !== 0) {\n this.selectedIndex = index\n return\n }\n\n const currentItem = this.selectedItems[this.selectedIndex]\n\n if (this.getDisabled(currentItem)) return\n\n const newIndex = this.selectedIndex === index\n ? this.selectedIndex - 1\n : this.selectedItems[this.selectedIndex + 1]\n ? this.selectedIndex\n : -1\n\n if (newIndex === -1) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(currentItem)\n }\n\n this.selectedIndex = newIndex\n },\n clearableCallback () {\n this.internalSearch = undefined\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 () {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick () {\n if (this.isDisabled) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n 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 this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\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 (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any) {\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"],"sourceRoot":""}