{"version":3,"sources":["webpack:///../../../src/mixins/rippleable/index.ts","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///../../../src/mixins/selectable/index.ts"],"names":["name","directives","ripple","props","type","Boolean","default","methods","genRipple","data","this","value","center","$createElement","baseMixins","autoGrow","noResize","rowHeight","Number","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","Touch","inset","loading","flat","attrs","String","role","validationState","hasError","hasColor","switchData","setTextColor","undefined","class","themeClasses","genDefaultSlot","genSwitch","staticClass","attrs$","left","right","onSwipeRight","genProgress","$slots","progress","color","size","width","indeterminate","onSwipeLeft","onChange","onKeydown","defaultMenuProps","offsetY","offsetOverflow","transition","allowOverflow","autoSelectFirst","filter","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","lazySearch","selectedIndex","computedItems","selectedValues","selectedItems","map","item","hasDisplayedItems","hideSelected","filteredItems","some","length","currentRange","selectedItem","getText","internalSearch","allItems","text","get","set","isAnyValueAllowed","isDirty","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","i","listData","items","internalValue","document","isMenuActive","val","oldVal","activateMenu","created","destroyed","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","keyCode","deleteCurrentItem","curIndex","curItem","getDisabled","lastIndex","nextIndex","nextItem","clearableCallback","autocomplete","domProps","genInputSlot","slot","genSelections","hasSlot","onClick","isAppendInner","target","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","getValue","hasItem","indexOf","onCopy","currentItem","currentItemText","event","model","prop","id","inputValue","falseValue","trueValue","label","computedColor","isDark","isMultiple","Array","isActive","rippleState","genLabel","click","prevent","Object","disabled","checked","on","blur","change","focus","keydown","ref","onBlur","onFocus"],"mappings":"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","file":"js/chunk-1ce13a14.9cf4d6a0.js","sourcesContent":["// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","// 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 '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\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 {\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 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 } 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 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 => {\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 | 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 },\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 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 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 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 ? [] : undefined)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\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 (): 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 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): 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","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onBlur () {\n this.isFocused = false\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus () {\n this.isFocused = true\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}