{"version":3,"sources":["../../../src/components/VSelect/VSelect.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_text-fields.styl'\nimport '../../stylus/components/_select.styl'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { camelize, getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError, consoleWarn } from '../../util/console'\n\nexport const defaultMenuProps = {\n  closeOnClick: false,\n  closeOnContentClick: false,\n  openOnClick: false,\n  maxHeight: 300\n}\n\n/* @vue/component */\nexport default VTextField.extend({\n  name: 'v-select',\n\n  directives: {\n    ClickOutside\n  },\n\n  mixins: [\n    Comparable,\n    Filterable\n  ],\n\n  props: {\n    appendIcon: {\n      type: String,\n      default: '$vuetify.icons.dropdown'\n    },\n    appendIconCb: Function,\n    attach: {\n      type: null,\n      default: false\n    },\n    browserAutocomplete: {\n      type: String,\n      default: 'on'\n    },\n    cacheItems: Boolean,\n    chips: Boolean,\n    clearable: Boolean,\n    deletableChips: Boolean,\n    dense: Boolean,\n    hideSelected: Boolean,\n    items: {\n      type: Array,\n      default: () => []\n    },\n    itemAvatar: {\n      type: [String, Array, Function],\n      default: 'avatar'\n    },\n    itemDisabled: {\n      type: [String, Array, Function],\n      default: 'disabled'\n    },\n    itemText: {\n      type: [String, Array, Function],\n      default: 'text'\n    },\n    itemValue: {\n      type: [String, Array, Function],\n      default: 'value'\n    },\n    menuProps: {\n      type: [String, Array, Object],\n      default: () => defaultMenuProps\n    },\n    multiple: Boolean,\n    openOnClear: Boolean,\n    returnObject: Boolean,\n    searchInput: {\n      default: null\n    },\n    smallChips: Boolean\n  },\n\n  data: vm => ({\n    attrsInput: { role: 'combobox' },\n    cachedItems: vm.cacheItems ? vm.items : [],\n    content: null,\n    isBooted: false,\n    isMenuActive: false,\n    lastItem: 20,\n    // As long as a value is defined, show it\n    // Otherwise, check if multiple\n    // to determine which default to provide\n    lazyValue: vm.value !== undefined\n      ? vm.value\n      : vm.multiple ? [] : undefined,\n    selectedIndex: -1,\n    selectedItems: [],\n    keyboardLookupPrefix: '',\n    keyboardLookupLastTime: 0\n  }),\n\n  computed: {\n    /* All items that the select has */\n    allItems () {\n      return this.filterDuplicates(this.cachedItems.concat(this.items))\n    },\n    classes () {\n      return Object.assign({}, VTextField.options.computed.classes.call(this), {\n        'v-select': true,\n        'v-select--chips': this.hasChips,\n        'v-select--chips--small': this.smallChips,\n        'v-select--is-menu-active': this.isMenuActive\n      })\n    },\n    /* Used by other components to overwrite */\n    computedItems () {\n      return this.allItems\n    },\n    counterValue () {\n      return this.multiple\n        ? this.selectedItems.length\n        : (this.getText(this.selectedItems[0]) || '').toString().length\n    },\n    directives () {\n      return this.isFocused ? [{\n        name: 'click-outside',\n        value: this.blur,\n        args: {\n          closeConditional: this.closeConditional\n        }\n      }] : undefined\n    },\n    dynamicHeight () {\n      return 'auto'\n    },\n    hasChips () {\n      return this.chips || this.smallChips\n    },\n    hasSlot () {\n      return Boolean(this.hasChips || this.$scopedSlots.selection)\n    },\n    isDirty () {\n      return this.selectedItems.length > 0\n    },\n    listData () {\n      const scopeId = this.$vnode && this.$vnode.context.$options._scopeId\n      return {\n        attrs: scopeId ? {\n          [scopeId]: true\n        } : null,\n        props: {\n          action: this.multiple && !this.isHidingSelected,\n          color: this.color,\n          dense: this.dense,\n          hideSelected: this.hideSelected,\n          items: this.virtualizedItems,\n          noDataText: this.$vuetify.t(this.noDataText),\n          selectedItems: this.selectedItems,\n          itemAvatar: this.itemAvatar,\n          itemDisabled: this.itemDisabled,\n          itemValue: this.itemValue,\n          itemText: this.itemText\n        },\n        on: {\n          select: this.selectItem\n        },\n        scopedSlots: {\n          item: this.$scopedSlots.item\n        }\n      }\n    },\n    staticList () {\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        consoleError('assert: staticList should not be called if slots are used')\n      }\n\n      return this.$createElement(VSelectList, this.listData)\n    },\n    virtualizedItems () {\n      return this.$_menuProps.auto\n        ? this.computedItems\n        : this.computedItems.slice(0, this.lastItem)\n    },\n    menuCanShow () { return true },\n    $_menuProps () {\n      let normalisedProps\n\n      normalisedProps = typeof this.menuProps === 'string'\n        ? this.menuProps.split(',')\n        : this.menuProps\n\n      if (Array.isArray(normalisedProps)) {\n        normalisedProps = normalisedProps.reduce((acc, p) => {\n          acc[p.trim()] = true\n          return acc\n        }, {})\n      }\n\n      return {\n        ...defaultMenuProps,\n        value: this.menuCanShow && this.isMenuActive,\n        nudgeBottom: this.nudgeBottom\n          ? this.nudgeBottom\n          : normalisedProps.offsetY ? 1 : 0, // convert to int\n        ...normalisedProps\n      }\n    }\n  },\n\n  watch: {\n    internalValue (val) {\n      this.initialValue = val\n      this.setSelectedItems()\n    },\n    isBooted () {\n      this.$nextTick(() => {\n        if (this.content && this.content.addEventListener) {\n          this.content.addEventListener('scroll', this.onScroll, false)\n        }\n      })\n    },\n    isMenuActive (val) {\n      if (!val) return\n\n      this.isBooted = true\n    },\n    items: {\n      immediate: true,\n      handler (val) {\n        if (this.cacheItems) {\n          this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n        }\n\n        this.setSelectedItems()\n      }\n    }\n  },\n\n  mounted () {\n    this.content = this.$refs.menu && this.$refs.menu.$refs.content\n  },\n\n  methods: {\n    /** @public */\n    blur (e) {\n      this.isMenuActive = false\n      this.isFocused = false\n      this.$refs.input && this.$refs.input.blur()\n      this.selectedIndex = -1\n      this.onBlur(e)\n    },\n    /** @public */\n    activateMenu () {\n      this.isMenuActive = true\n    },\n    clearableCallback () {\n      this.setValue(this.multiple ? [] : undefined)\n      this.$nextTick(() => this.$refs.input.focus())\n\n      if (this.openOnClear) this.isMenuActive = true\n    },\n    closeConditional (e) {\n      return (\n        // Click originates from outside the menu content\n        !!this.content &&\n        !this.content.contains(e.target) &&\n\n        // Click originates from outside the element\n        !!this.$el &&\n        !this.$el.contains(e.target) &&\n        e.target !== this.$el\n      )\n    },\n    filterDuplicates (arr) {\n      const uniqueValues = new Map()\n      for (let index = 0; index < arr.length; ++index) {\n        const item = arr[index]\n        const val = this.getValue(item)\n\n        // TODO: comparator\n        !uniqueValues.has(val) && uniqueValues.set(val, item)\n      }\n      return Array.from(uniqueValues.values())\n    },\n    findExistingIndex (item) {\n      const itemValue = this.getValue(item)\n\n      return (this.internalValue || []).findIndex(i => this.valueComparator(this.getValue(i), itemValue))\n    },\n    genChipSelection (item, index) {\n      const isDisabled = (\n        this.disabled ||\n        this.readonly ||\n        this.getDisabled(item)\n      )\n\n      return this.$createElement(VChip, {\n        staticClass: 'v-chip--select-multi',\n        attrs: { tabindex: -1 },\n        props: {\n          close: this.deletableChips && !isDisabled,\n          disabled: isDisabled,\n          selected: index === this.selectedIndex,\n          small: this.smallChips\n        },\n        on: {\n          click: e => {\n            if (isDisabled) return\n\n            e.stopPropagation()\n\n            this.selectedIndex = index\n          },\n          input: () => this.onChipInput(item)\n        },\n        key: this.getValue(item)\n      }, this.getText(item))\n    },\n    genCommaSelection (item, index, last) {\n      // Item may be an object\n      // TODO: Remove JSON.stringify\n      const key = JSON.stringify(this.getValue(item))\n      const color = index === this.selectedIndex && this.color\n      const isDisabled = (\n        this.disabled ||\n        this.getDisabled(item)\n      )\n\n      return this.$createElement('div', this.setTextColor(color, {\n        staticClass: 'v-select__selection v-select__selection--comma',\n        'class': {\n          'v-select__selection--disabled': isDisabled\n        },\n        key\n      }), `${this.getText(item)}${last ? '' : ', '}`)\n    },\n    genDefaultSlot () {\n      const selections = this.genSelections()\n      const input = this.genInput()\n\n      // If the return is an empty array\n      // push the input\n      if (Array.isArray(selections)) {\n        selections.push(input)\n      // Otherwise push it into children\n      } else {\n        selections.children = selections.children || []\n        selections.children.push(input)\n      }\n\n      return [\n        this.$createElement('div', {\n          staticClass: 'v-select__slot',\n          directives: this.directives\n        }, [\n          this.genLabel(),\n          this.prefix ? this.genAffix('prefix') : null,\n          selections,\n          this.suffix ? this.genAffix('suffix') : null,\n          this.genClearIcon(),\n          this.genIconSlot()\n        ]),\n        this.genMenu(),\n        this.genProgress()\n      ]\n    },\n    genInput () {\n      const input = VTextField.options.methods.genInput.call(this)\n\n      input.data.domProps.value = null\n      input.data.attrs.readonly = true\n      input.data.attrs['aria-readonly'] = String(this.readonly)\n      input.data.on.keypress = this.onKeyPress\n\n      return input\n    },\n    genList () {\n      // If there's no slots, we can use a cached VNode to improve performance\n      if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n        return this.genListWithSlot()\n      } else {\n        return this.staticList\n      }\n    },\n    genListWithSlot () {\n      const slots = ['prepend-item', 'no-data', 'append-item']\n        .filter(slotName => this.$slots[slotName])\n        .map(slotName => this.$createElement('template', {\n          slot: slotName\n        }, this.$slots[slotName]))\n      // Requires destructuring due to Vue\n      // modifying the `on` property when passed\n      // as a referenced object\n      return this.$createElement(VSelectList, {\n        ...this.listData\n      }, slots)\n    },\n    genMenu () {\n      const props = this.$_menuProps\n      props.activator = this.$refs['input-slot']\n\n      // Deprecate using menu props directly\n      // TODO: remove (2.0)\n      const inheritedProps = Object.keys(VMenu.options.props)\n\n      const deprecatedProps = Object.keys(this.$attrs).reduce((acc, attr) => {\n        if (inheritedProps.includes(camelize(attr))) acc.push(attr)\n        return acc\n      }, [])\n\n      for (const prop of deprecatedProps) {\n        props[camelize(prop)] = this.$attrs[prop]\n      }\n\n      if (process.env.NODE_ENV !== 'production') {\n        if (deprecatedProps.length) {\n          const multiple = deprecatedProps.length > 1\n          let replacement = deprecatedProps.reduce((acc, p) => {\n            acc[camelize(p)] = this.$attrs[p]\n            return acc\n          }, {})\n          const props = deprecatedProps.map(p => `'${p}'`).join(', ')\n          const separator = multiple ? '\\n' : '\\''\n\n          const onlyBools = Object.keys(replacement).every(prop => {\n            const propType = VMenu.options.props[prop]\n            const value = replacement[prop]\n            return value === true || ((propType.type || propType) === Boolean && value === '')\n          })\n\n          if (onlyBools) {\n            replacement = Object.keys(replacement).join(', ')\n          } else {\n            replacement = JSON.stringify(replacement, null, multiple ? 2 : 0)\n              .replace(/\"([^(\")\"]+)\":/g, '$1:')\n              .replace(/\"/g, '\\'')\n          }\n\n          consoleWarn(\n            `${props} ${multiple ? 'are' : 'is'} deprecated, use ` +\n            `${separator}${onlyBools ? '' : ':'}menu-props=\"${replacement}\"${separator} instead`,\n            this\n          )\n        }\n      }\n\n      // Attach to root el so that\n      // menu covers prepend/append icons\n      if (\n        // TODO: make this a computed property or helper or something\n        this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n        this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n        this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n      ) {\n        props.attach = this.$el\n      } else {\n        props.attach = this.attach\n      }\n\n      return this.$createElement(VMenu, {\n        props,\n        on: {\n          input: val => {\n            this.isMenuActive = val\n            this.isFocused = val\n          }\n        },\n        ref: 'menu'\n      }, [this.genList()])\n    },\n    genSelections () {\n      let length = this.selectedItems.length\n      const children = new Array(length)\n\n      let genSelection\n      if (this.$scopedSlots.selection) {\n        genSelection = this.genSlotSelection\n      } else if (this.hasChips) {\n        genSelection = this.genChipSelection\n      } else {\n        genSelection = this.genCommaSelection\n      }\n\n      while (length--) {\n        children[length] = genSelection(\n          this.selectedItems[length],\n          length,\n          length === children.length - 1\n        )\n      }\n\n      return this.$createElement('div', {\n        staticClass: 'v-select__selections'\n      }, children)\n    },\n    genSlotSelection (item, index) {\n      return this.$scopedSlots.selection({\n        parent: this,\n        item,\n        index,\n        selected: index === this.selectedIndex,\n        disabled: this.disabled || this.readonly\n      })\n    },\n    getMenuIndex () {\n      return this.$refs.menu ? this.$refs.menu.listIndex : -1\n    },\n    getDisabled (item) {\n      return getPropertyFromItem(item, this.itemDisabled, false)\n    },\n    getText (item) {\n      return getPropertyFromItem(item, this.itemText, item)\n    },\n    getValue (item) {\n      return getPropertyFromItem(item, this.itemValue, this.getText(item))\n    },\n    onBlur (e) {\n      this.$emit('blur', e)\n    },\n    onChipInput (item) {\n      if (this.multiple) this.selectItem(item)\n      else this.setValue(null)\n      // If all items have been deleted,\n      // open `v-menu`\n      if (this.selectedItems.length === 0) {\n        this.isMenuActive = true\n      } else {\n        this.isMenuActive = false\n      }\n      this.selectedIndex = -1\n    },\n    onClick () {\n      if (this.isDisabled) return\n\n      this.isMenuActive = true\n\n      if (!this.isFocused) {\n        this.isFocused = true\n        this.$emit('focus')\n      }\n    },\n    onEnterDown () {\n      this.onBlur()\n    },\n    onEscDown (e) {\n      e.preventDefault()\n      if (this.isMenuActive) {\n        e.stopPropagation()\n        this.isMenuActive = false\n      }\n    },\n    onKeyPress (e) {\n      if (this.multiple) return\n\n      const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n      const now = performance.now()\n      if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n        this.keyboardLookupPrefix = ''\n      }\n      this.keyboardLookupPrefix += e.key.toLowerCase()\n      this.keyboardLookupLastTime = now\n\n      const index = this.allItems.findIndex(item => this.getText(item).toLowerCase().startsWith(this.keyboardLookupPrefix))\n      const item = this.allItems[index]\n      if (index !== -1) {\n        this.setValue(this.returnObject ? item : this.getValue(item))\n        setTimeout(() => this.setMenuIndex(index))\n      }\n    },\n    onKeyDown (e) {\n      const keyCode = e.keyCode\n\n      // If enter, space, up, or down is pressed, open menu\n      if (!this.readonly && !this.isMenuActive && [\n        keyCodes.enter,\n        keyCodes.space,\n        keyCodes.up, keyCodes.down\n      ].includes(keyCode)) this.activateMenu()\n\n      if (this.isMenuActive && this.$refs.menu) this.$refs.menu.changeListIndex(e)\n\n      // This should do something different\n      if (keyCode === keyCodes.enter) return this.onEnterDown(e)\n\n      // If escape deactivate the menu\n      if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n      // If tab - select item or close menu\n      if (keyCode === keyCodes.tab) return this.onTabDown(e)\n    },\n    onMouseUp (e) {\n      if (this.hasMouseDown) {\n        const appendInner = this.$refs['append-inner']\n\n        // If append inner is present\n        // and the target is itself\n        // or inside, toggle menu\n        if (this.isMenuActive &&\n          appendInner &&\n          (appendInner === e.target ||\n          appendInner.contains(e.target))\n        ) {\n          this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n        // If user is clicking in the container\n        // and field is enclosed, activate it\n        } else if (this.isEnclosed && !this.isDisabled) {\n          this.isMenuActive = true\n        }\n      }\n\n      VTextField.options.methods.onMouseUp.call(this, e)\n    },\n    onScroll () {\n      if (!this.isMenuActive) {\n        requestAnimationFrame(() => (this.content.scrollTop = 0))\n      } else {\n        if (this.lastItem >= this.computedItems.length) return\n\n        const showMoreItems = (\n          this.content.scrollHeight -\n          (this.content.scrollTop +\n          this.content.clientHeight)\n        ) < 200\n\n        if (showMoreItems) {\n          this.lastItem += 20\n        }\n      }\n    },\n    onTabDown (e) {\n      const menuIndex = this.getMenuIndex()\n\n      const listTile = this.$refs.menu.tiles[menuIndex]\n\n      // An item that is selected by\n      // menu-index should toggled\n      if (\n        listTile &&\n        listTile.className.indexOf('v-list__tile--highlighted') > -1 &&\n        this.isMenuActive &&\n        menuIndex > -1\n      ) {\n        e.preventDefault()\n        e.stopPropagation()\n\n        listTile.click()\n      } else {\n        // If we make it here,\n        // the user has no selected indexes\n        // and is probably tabbing out\n        this.blur(e)\n      }\n    },\n    selectItem (item) {\n      if (!this.multiple) {\n        this.setValue(this.returnObject ? item : this.getValue(item))\n        this.isMenuActive = false\n      } else {\n        const internalValue = (this.internalValue || []).slice()\n        const i = this.findExistingIndex(item)\n\n        i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n        this.setValue(internalValue.map(i => {\n          return this.returnObject ? i : this.getValue(i)\n        }))\n\n        // When selecting multiple\n        // adjust menu after each\n        // selection\n        this.$nextTick(() => {\n          this.$refs.menu &&\n            this.$refs.menu.updateDimensions()\n        })\n      }\n    },\n    setMenuIndex (index) {\n      this.$refs.menu && (this.$refs.menu.listIndex = index)\n    },\n    setSelectedItems () {\n      const selectedItems = []\n      const values = !this.multiple || !Array.isArray(this.internalValue)\n        ? [this.internalValue]\n        : this.internalValue\n\n      for (const value of values) {\n        const index = this.allItems.findIndex(v => this.valueComparator(\n          this.getValue(v),\n          this.getValue(value)\n        ))\n\n        if (index > -1) {\n          selectedItems.push(this.allItems[index])\n        }\n      }\n\n      this.selectedItems = selectedItems\n    },\n    setValue (value) {\n      const oldValue = this.internalValue\n      this.internalValue = value\n      value !== oldValue && this.$emit('change', value)\n    }\n  }\n})\n"],"sourceRoot":""}