{"version":3,"sources":["../../../src/components/VOverflowBtn/VOverflowBtn.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_overflow-buttons.styl'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete'\nimport VTextField from '../VTextField/VTextField'\n\nimport VBtn from '../VBtn'\n\nimport { consoleWarn } from '../../util/console'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-overflow-btn',\n\n props: {\n segmented: Boolean,\n editable: Boolean,\n transition: VSelect.options.props.transition\n },\n\n computed: {\n classes () {\n return Object.assign(VAutocomplete.options.computed.classes.call(this), {\n 'v-overflow-btn': true,\n 'v-overflow-btn--segmented': this.segmented,\n 'v-overflow-btn--editable': this.editable\n })\n },\n isAnyValueAllowed () {\n return this.editable ||\n VAutocomplete.options.computed.isAnyValueAllowed.call(this)\n },\n isSingle () {\n return true\n },\n computedItems () {\n return this.segmented ? this.allItems : this.filteredItems\n },\n $_menuProps () {\n const props = VAutocomplete.options.computed.$_menuProps.call(this)\n props.transition = props.transition || 'v-menu-transition'\n return props\n }\n },\n\n methods: {\n genSelections () {\n return this.editable\n ? VAutocomplete.options.methods.genSelections.call(this)\n : VSelect.options.methods.genSelections.call(this) // Override v-autocomplete's override\n },\n genCommaSelection (item, index, last) {\n return this.segmented\n ? this.genSegmentedBtn(item)\n : VSelect.options.methods.genCommaSelection.call(this, item, index, last)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data.domProps.value = this.editable ? this.internalSearch : ''\n input.data.attrs.readonly = !this.isAnyValueAllowed\n\n return input\n },\n genLabel () {\n if (this.editable && this.isFocused) return null\n\n const label = VTextField.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n // Reset previously set styles from parent\n label.data.style = {}\n\n return label\n },\n genSegmentedBtn (item) {\n const itemValue = this.getValue(item)\n const itemObj = this.computedItems.find(i => this.getValue(i) === itemValue) || item\n\n if (!itemObj.text || !itemObj.callback) {\n consoleWarn('When using \\'segmented\\' prop without a selection slot, items must contain both a text and callback property', this)\n return null\n }\n\n return this.$createElement(VBtn, {\n props: { flat: true },\n on: {\n click (e) {\n e.stopPropagation()\n itemObj.callback(e)\n }\n }\n }, [itemObj.text])\n }\n }\n})\n"],"sourceRoot":""}