{"version":3,"sources":["jsdelivr-header.js","/npm/@josrom/vue-multiselect-next@3.0.0-alpha.3/dist/vue-multiselect.esm.js"],"names":[],"mappings":"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","file":"/npm/@josrom/vue-multiselect-next@3.0.0-alpha.3/dist/vue-multiselect.esm.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@josrom/vue-multiselect-next@3.0.0-alpha.3/dist/vue-multiselect.esm.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { openBlock, createElementBlock, normalizeClass, withKeys, withModifiers, renderSlot, createElementVNode, withDirectives, Fragment, renderList, toDisplayString, vShow, createCommentVNode, createVNode, Transition, withCtx, normalizeStyle, createTextVNode } from 'vue';\n\nfunction isEmpty (opt) {\n  if (opt === 0) return false\n  if (Array.isArray(opt) && opt.length === 0) return true\n  return !opt\n}\n\nfunction not (fun) {\n  return (...params) => !fun(...params)\n}\n\nfunction includes (str, query) {\n  /* istanbul ignore else */\n  if (str === undefined) str = 'undefined';\n  if (str === null) str = 'null';\n  if (str === false) str = 'false';\n  const text = str.toString().toLowerCase();\n  return text.indexOf(query.trim()) !== -1\n}\n\nfunction filterOptions (options, search, label, customLabel) {\n  return search ? options\n    .filter((option) => includes(customLabel(option, label), search))\n    .sort((a, b) => customLabel(a, label).length - customLabel(b, label).length) : options\n}\n\nfunction stripGroups (options) {\n  return options.filter((option) => !option.$isLabel)\n}\n\nfunction flattenOptions (values, label) {\n  return (options) =>\n    options.reduce((prev, curr) => {\n      /* istanbul ignore else */\n      if (curr[values] && curr[values].length) {\n        prev.push({\n          $groupLabel: curr[label],\n          $isLabel: true\n        });\n        return prev.concat(curr[values])\n      }\n      return prev\n    }, [])\n}\n\nfunction filterGroups (search, label, values, groupLabel, customLabel) {\n  return (groups) =>\n    groups.map((group) => {\n      /* istanbul ignore else */\n      if (!group[values]) {\n        console.warn(`Options passed to vue-multiselect do not contain groups, despite the config.`);\n        return []\n      }\n      const groupOptions = filterOptions(group[values], search, label, customLabel);\n\n      return groupOptions.length\n        ? {\n          [groupLabel]: group[groupLabel],\n          [values]: groupOptions\n        }\n        : []\n    })\n}\n\nconst flow = (...fns) => (x) => fns.reduce((v, f) => f(v), x);\n\nvar multiselectMixin = {\n  data () {\n    return {\n      search: '',\n      isOpen: false,\n      preferredOpenDirection: 'below',\n      optimizedHeight: this.maxHeight\n    }\n  },\n  props: {\n    /**\n     * Decide whether to filter the results based on search query.\n     * Useful for async filtering, where we search through more complex data.\n     * @type {Boolean}\n     */\n    internalSearch: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Array of available options: Objects, Strings or Integers.\n     * If array of objects, visible label will default to option.label.\n     * If `labal` prop is passed, label will equal option['label']\n     * @type {Array}\n     */\n    options: {\n      type: Array,\n      required: true\n    },\n    /**\n     * Equivalent to the `multiple` attribute on a `<select>` input.\n     * @default false\n     * @type {Boolean}\n     */\n    multiple: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Key to compare objects\n     * @default 'id'\n     * @type {String}\n     */\n    trackBy: {\n      type: String\n    },\n    /**\n     * Label to look for in option Object\n     * @default 'label'\n     * @type {String}\n     */\n    label: {\n      type: String\n    },\n    /**\n     * Enable/disable search in options\n     * @default true\n     * @type {Boolean}\n     */\n    searchable: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Clear the search input after `)\n     * @default true\n     * @type {Boolean}\n     */\n    clearOnSelect: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Hide already selected options\n     * @default false\n     * @type {Boolean}\n     */\n    hideSelected: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Equivalent to the `placeholder` attribute on a `<select>` input.\n     * @default 'Select option'\n     * @type {String}\n     */\n    placeholder: {\n      type: String,\n      default: 'Select option'\n    },\n    /**\n     * Allow to remove all selected values\n     * @default true\n     * @type {Boolean}\n     */\n    allowEmpty: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Reset this.internalValue, this.search after this.internalValue changes.\n     * Useful if want to create a stateless dropdown.\n     * @default false\n     * @type {Boolean}\n     */\n    resetAfter: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Enable/disable closing after selecting an option\n     * @default true\n     * @type {Boolean}\n     */\n    closeOnSelect: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Function to interpolate the custom label\n     * @default false\n     * @type {Function}\n     */\n    customLabel: {\n      type: Function,\n      default (option, label) {\n        if (isEmpty(option)) return ''\n        return label ? option[label] : option\n      }\n    },\n    /**\n     * Disable / Enable tagging\n     * @default false\n     * @type {Boolean}\n     */\n    taggable: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * String to show when highlighting a potential tag\n     * @default 'Press enter to create a tag'\n     * @type {String}\n    */\n    tagPlaceholder: {\n      type: String,\n      default: 'Press enter to create a tag'\n    },\n    /**\n     * By default new tags will appear above the search results.\n     * Changing to 'bottom' will revert this behaviour\n     * and will proritize the search results\n     * @default 'top'\n     * @type {String}\n    */\n    tagPosition: {\n      type: String,\n      default: 'top'\n    },\n    /**\n     * Number of allowed selected options. No limit if 0.\n     * @default 0\n     * @type {Number}\n    */\n    max: {\n      type: [Number, Boolean],\n      default: false\n    },\n    /**\n     * Will be passed with all events as second param.\n     * Useful for identifying events origin.\n     * @default null\n     * @type {String|Integer}\n    */\n    id: {\n      default: null\n    },\n    /**\n     * Limits the options displayed in the dropdown\n     * to the first X options.\n     * @default 1000\n     * @type {Integer}\n    */\n    optionsLimit: {\n      type: Number,\n      default: 1000\n    },\n    /**\n     * Name of the property containing\n     * the group values\n     * @default 1000\n     * @type {String}\n    */\n    groupValues: {\n      type: String\n    },\n    /**\n     * Name of the property containing\n     * the group label\n     * @default 1000\n     * @type {String}\n    */\n    groupLabel: {\n      type: String\n    },\n    /**\n     * Allow to select all group values\n     * by selecting the group label\n     * @default false\n     * @type {Boolean}\n     */\n    groupSelect: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Array of keyboard keys to block\n     * when selecting\n     * @default 1000\n     * @type {String}\n    */\n    blockKeys: {\n      type: Array,\n      default () {\n        return []\n      }\n    },\n    /**\n     * Prevent from wiping up the search value\n     * @default false\n     * @type {Boolean}\n    */\n    preserveSearch: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Select 1st options if value is empty\n     * @default false\n     * @type {Boolean}\n    */\n    preselectFirst: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Prevent autofocus\n     * @default false\n     * @type {Boolean}\n     */\n    preventAutofocus: {\n      type: Boolean,\n      default: false\n    }\n  },\n  mounted () {\n    /* istanbul ignore else */\n    if (!this.multiple && this.max) {\n      console.warn('[Vue-Multiselect warn]: Max prop should not be used when prop Multiple equals false.');\n    }\n    if (\n      this.preselectFirst &&\n      !this.internalValue.length &&\n      this.options.length\n    ) {\n      this.select(this.filteredOptions[0]);\n    }\n  },\n  computed: {\n    internalValue () {\n      return this.modelValue || this.modelValue === 0\n        ? Array.isArray(this.modelValue) ? this.modelValue : [this.modelValue]\n        : []\n    },\n    filteredOptions () {\n      const search = this.search || '';\n      const normalizedSearch = search.toLowerCase().trim();\n\n      let options = this.options.concat();\n\n      /* istanbul ignore else */\n      if (this.internalSearch) {\n        options = this.groupValues\n          ? this.filterAndFlat(options, normalizedSearch, this.label)\n          : filterOptions(options, normalizedSearch, this.label, this.customLabel);\n      } else {\n        options = this.groupValues ? flattenOptions(this.groupValues, this.groupLabel)(options) : options;\n      }\n\n      options = this.hideSelected\n        ? options.filter(not(this.isSelected))\n        : options;\n\n      /* istanbul ignore else */\n      if (this.taggable && normalizedSearch.length && !this.isExistingOption(normalizedSearch)) {\n        if (this.tagPosition === 'bottom') {\n          options.push({isTag: true, label: search});\n        } else {\n          options.unshift({isTag: true, label: search});\n        }\n      }\n\n      return options.slice(0, this.optionsLimit)\n    },\n    valueKeys () {\n      if (this.trackBy) {\n        return this.internalValue.map((element) => element[this.trackBy])\n      } else {\n        return this.internalValue\n      }\n    },\n    optionKeys () {\n      const options = this.groupValues ? this.flatAndStrip(this.options) : this.options;\n      return options.map((element) => this.customLabel(element, this.label).toString().toLowerCase())\n    },\n    currentOptionLabel () {\n      return this.multiple\n        ? this.searchable ? '' : this.placeholder\n        : this.internalValue.length\n          ? this.getOptionLabel(this.internalValue[0])\n          : this.searchable ? '' : this.placeholder\n    }\n  },\n  watch: {\n    internalValue () {\n      /* istanbul ignore else */\n      if (this.resetAfter && this.internalValue.length) {\n        this.search = '';\n        this.$emit('update:modelValue', this.multiple ? [] : null);\n      }\n    },\n    search () {\n      this.$emit('search-change', this.search);\n    }\n  },\n  emits: ['open', 'search-change', 'close', 'select', 'update:modelValue', 'remove', 'tag'],\n  methods: {\n    /**\n     * Returns the internalValue in a way it can be emited to the parent\n     * @returns {Object||Array||String||Integer}\n     */\n    getValue () {\n      return this.multiple\n        ? this.internalValue\n        : this.internalValue.length === 0\n          ? null\n          : this.internalValue[0]\n    },\n    /**\n     * Filters and then flattens the options list\n     * @param  {Array}\n     * @return {Array} returns a filtered and flat options list\n     */\n    filterAndFlat (options, search, label) {\n      return flow(\n        filterGroups(search, label, this.groupValues, this.groupLabel, this.customLabel),\n        flattenOptions(this.groupValues, this.groupLabel)\n      )(options)\n    },\n    /**\n     * Flattens and then strips the group labels from the options list\n     * @param  {Array}\n     * @return {Array} returns a flat options list without group labels\n     */\n    flatAndStrip (options) {\n      return flow(\n        flattenOptions(this.groupValues, this.groupLabel),\n        stripGroups\n      )(options)\n    },\n    /**\n     * Updates the search value\n     * @param  {String}\n     */\n    updateSearch (query) {\n      this.search = query;\n    },\n    /**\n     * Finds out if the given query is already present\n     * in the available options\n     * @param  {String}\n     * @return {Boolean} returns true if element is available\n     */\n    isExistingOption (query) {\n      return !this.options\n        ? false\n        : this.optionKeys.indexOf(query) > -1\n    },\n    /**\n     * Finds out if the given element is already present\n     * in the result value\n     * @param  {Object||String||Integer} option passed element to check\n     * @returns {Boolean} returns true if element is selected\n     */\n    isSelected (option) {\n      const opt = this.trackBy\n        ? option[this.trackBy]\n        : option;\n      return this.valueKeys.indexOf(opt) > -1\n    },\n    /**\n     * Finds out if the given option is disabled\n     * @param  {Object||String||Integer} option passed element to check\n     * @returns {Boolean} returns true if element is disabled\n     */\n    isOptionDisabled (option) {\n      return !!option.$isDisabled\n    },\n    /**\n     * Returns empty string when options is null/undefined\n     * Returns tag query if option is tag.\n     * Returns the customLabel() results and casts it to string.\n     *\n     * @param  {Object||String||Integer} Passed option\n     * @returns {Object||String}\n     */\n    getOptionLabel (option) {\n      if (isEmpty(option)) return ''\n      /* istanbul ignore else */\n      if (option.isTag) return option.label\n      /* istanbul ignore else */\n      if (option.$isLabel) return option.$groupLabel\n\n      const label = this.customLabel(option, this.label);\n      /* istanbul ignore else */\n      if (isEmpty(label)) return ''\n      return label\n    },\n    /**\n     * Add the given option to the list of selected options\n     * or sets the option as the selected option.\n     * If option is already selected -> remove it from the results.\n     *\n     * @param  {Object||String||Integer} option to select/deselect\n     * @param  {Boolean} block removing\n     */\n    select (option, key) {\n      /* istanbul ignore else */\n      if (option.$isLabel && this.groupSelect) {\n        this.selectGroup(option);\n        return\n      }\n      if (this.blockKeys.indexOf(key) !== -1 ||\n        this.disabled ||\n        option.$isDisabled ||\n        option.$isLabel\n      ) return\n      /* istanbul ignore else */\n      if (this.max && this.multiple && this.internalValue.length === this.max) return\n      /* istanbul ignore else */\n      if (key === 'Tab' && !this.pointerDirty) return\n      if (option.isTag) {\n        this.$emit('tag', option.label, this.id);\n        this.search = '';\n        if (this.closeOnSelect && !this.multiple) this.deactivate();\n      } else {\n        const isSelected = this.isSelected(option);\n\n        if (isSelected) {\n          if (key !== 'Tab') this.removeElement(option);\n          return\n        }\n\n        this.$emit('select', option, this.id);\n\n        if (this.multiple) {\n          this.$emit('update:modelValue', this.internalValue.concat([option]));\n        } else {\n          this.$emit('update:modelValue', option);\n        }\n\n        /* istanbul ignore else */\n        if (this.clearOnSelect) this.search = '';\n      }\n      /* istanbul ignore else */\n      if (this.closeOnSelect) this.deactivate();\n    },\n    /**\n     * Add the given group options to the list of selected options\n     * If all group optiona are already selected -> remove it from the results.\n     *\n     * @param  {Object||String||Integer} group to select/deselect\n     */\n    selectGroup (selectedGroup) {\n      const group = this.options.find((option) => {\n        return option[this.groupLabel] === selectedGroup.$groupLabel\n      });\n\n      if (!group) return\n\n      if (this.wholeGroupSelected(group)) {\n        this.$emit('remove', group[this.groupValues], this.id);\n\n        const newValue = this.internalValue.filter(\n          (option) => group[this.groupValues].indexOf(option) === -1\n        );\n\n        this.$emit('update:modelValue', newValue);\n      } else {\n        const optionsToAdd = group[this.groupValues].filter(\n          (option) => !(this.isOptionDisabled(option) || this.isSelected(option))\n        );\n\n        this.$emit('select', optionsToAdd, this.id);\n        this.$emit(\n          'update:modelValue',\n          this.internalValue.concat(optionsToAdd)\n        );\n      }\n\n      if (this.closeOnSelect) this.deactivate();\n    },\n    /**\n     * Helper to identify if all values in a group are selected\n     *\n     * @param {Object} group to validated selected values against\n     */\n    wholeGroupSelected (group) {\n      return group[this.groupValues].every((option) => this.isSelected(option) || this.isOptionDisabled(option)\n      )\n    },\n    /**\n     * Helper to identify if all values in a group are disabled\n     *\n     * @param {Object} group to check for disabled values\n     */\n    wholeGroupDisabled (group) {\n      return group[this.groupValues].every(this.isOptionDisabled)\n    },\n    /**\n     * Removes the given option from the selected options.\n     * Additionally checks this.allowEmpty prop if option can be removed when\n     * it is the last selected option.\n     *\n     * @param  {type} option description\n     * @return {type}        description\n     */\n    removeElement (option, shouldClose = true) {\n      /* istanbul ignore else */\n      if (this.disabled) return\n      /* istanbul ignore else */\n      if (option.$isDisabled) return\n      /* istanbul ignore else */\n      if (!this.allowEmpty && this.internalValue.length <= 1) {\n        this.deactivate();\n        return\n      }\n\n      const index = typeof option === 'object'\n        ? this.valueKeys.indexOf(option[this.trackBy])\n        : this.valueKeys.indexOf(option);\n\n      this.$emit('remove', option, this.id);\n      if (this.multiple) {\n        const newValue = this.internalValue.slice(0, index).concat(this.internalValue.slice(index + 1));\n        this.$emit('update:modelValue', newValue);\n      } else {\n        this.$emit('update:modelValue', null);\n      }\n\n      /* istanbul ignore else */\n      if (this.closeOnSelect && shouldClose) this.deactivate();\n    },\n    /**\n     * Calls this.removeElement() with the last element\n     * from this.internalValue (selected element Array)\n     *\n     * @fires this#removeElement\n     */\n    removeLastElement () {\n      /* istanbul ignore else */\n      if (this.blockKeys.indexOf('Delete') !== -1) return\n      /* istanbul ignore else */\n      if (this.search.length === 0 && Array.isArray(this.internalValue) && this.internalValue.length) {\n        this.removeElement(this.internalValue[this.internalValue.length - 1], false);\n      }\n    },\n    /**\n     * Opens the multiselect’s dropdown.\n     * Sets this.isOpen to TRUE\n     */\n    activate () {\n      /* istanbul ignore else */\n      if (this.isOpen || this.disabled) return\n\n      this.adjustPosition();\n      /* istanbul ignore else  */\n      if (this.groupValues && this.pointer === 0 && this.filteredOptions.length) {\n        this.pointer = 1;\n      }\n\n      this.isOpen = true;\n      /* istanbul ignore else  */\n      if (this.searchable) {\n        if (!this.preserveSearch) this.search = '';\n        this.$nextTick(() => this.$refs.search && (!this.preventAutofocus && this.$refs.search.focus()));\n      } else if (!this.preventAutofocus) {\n        this.$el.focus();\n      }\n      this.$emit('open', this.id);\n    },\n    /**\n     * Closes the multiselect’s dropdown.\n     * Sets this.isOpen to FALSE\n     */\n    deactivate () {\n      /* istanbul ignore else */\n      if (!this.isOpen) return\n\n      this.isOpen = false;\n      /* istanbul ignore else  */\n      if (this.searchable) {\n        this.$refs.search && this.$refs.search.blur();\n      } else {\n        this.$el.blur();\n      }\n      if (!this.preserveSearch) this.search = '';\n      this.$emit('close', this.getValue(), this.id);\n    },\n    /**\n     * Call this.activate() or this.deactivate()\n     * depending on this.isOpen value.\n     *\n     * @fires this#activate || this#deactivate\n     * @property {Boolean} isOpen indicates if dropdown is open\n     */\n    toggle () {\n      this.isOpen\n        ? this.deactivate()\n        : this.activate();\n    },\n    /**\n     * Updates the hasEnoughSpace variable used for\n     * detecting where to expand the dropdown\n     */\n    adjustPosition () {\n      if (typeof window === 'undefined') return\n\n      const spaceAbove = this.$el.getBoundingClientRect().top;\n      const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n      const hasEnoughSpaceBelow = spaceBelow > this.maxHeight;\n\n      if (hasEnoughSpaceBelow || spaceBelow > spaceAbove || this.openDirection === 'below' || this.openDirection === 'bottom') {\n        this.preferredOpenDirection = 'below';\n        this.optimizedHeight = Math.min(spaceBelow - 40, this.maxHeight);\n      } else {\n        this.preferredOpenDirection = 'above';\n        this.optimizedHeight = Math.min(spaceAbove - 40, this.maxHeight);\n      }\n    }\n  }\n};\n\nvar pointerMixin = {\n  data () {\n    return {\n      pointer: 0,\n      pointerDirty: false\n    }\n  },\n  props: {\n    /**\n     * Enable/disable highlighting of the pointed value.\n     * @type {Boolean}\n     * @default true\n     */\n    showPointer: {\n      type: Boolean,\n      default: true\n    },\n    optionHeight: {\n      type: Number,\n      default: 40\n    }\n  },\n  computed: {\n    pointerPosition () {\n      return this.pointer * this.optionHeight\n    },\n    visibleElements () {\n      return this.optimizedHeight / this.optionHeight\n    }\n  },\n  watch: {\n    filteredOptions () {\n      this.pointerAdjust();\n    },\n    isOpen () {\n      this.pointerDirty = false;\n    },\n    pointer () {\n      this.$refs.search && this.$refs.search.setAttribute('aria-activedescendant', this.id + '-' + this.pointer.toString());\n    }\n  },\n  methods: {\n    optionHighlight (index, option) {\n      return {\n        'multiselect__option--highlight': index === this.pointer && this.showPointer,\n        'multiselect__option--selected': this.isSelected(option)\n      }\n    },\n    groupHighlight (index, selectedGroup) {\n      if (!this.groupSelect) {\n        return [\n          'multiselect__option--disabled',\n          {'multiselect__option--group': selectedGroup.$isLabel}\n        ]\n      }\n\n      const group = this.options.find((option) => {\n        return option[this.groupLabel] === selectedGroup.$groupLabel\n      });\n\n      return group && !this.wholeGroupDisabled(group) ? [\n        'multiselect__option--group',\n        {'multiselect__option--highlight': index === this.pointer && this.showPointer},\n        {'multiselect__option--group-selected': this.wholeGroupSelected(group)}\n      ] : 'multiselect__option--disabled'\n    },\n    addPointerElement ({key} = 'Enter') {\n      /* istanbul ignore else */\n      if (this.filteredOptions.length > 0) {\n        this.select(this.filteredOptions[this.pointer], key);\n      }\n      this.pointerReset();\n    },\n    pointerForward () {\n      /* istanbul ignore else */\n      if (this.pointer < this.filteredOptions.length - 1) {\n        this.pointer++;\n        /* istanbul ignore next */\n        if (this.$refs.list.scrollTop <= this.pointerPosition - (this.visibleElements - 1) * this.optionHeight) {\n          this.$refs.list.scrollTop = this.pointerPosition - (this.visibleElements - 1) * this.optionHeight;\n        }\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[this.pointer].$isLabel &&\n          !this.groupSelect\n        ) this.pointerForward();\n      }\n      this.pointerDirty = true;\n    },\n    pointerBackward () {\n      if (this.pointer > 0) {\n        this.pointer--;\n        /* istanbul ignore else */\n        if (this.$refs.list.scrollTop >= this.pointerPosition) {\n          this.$refs.list.scrollTop = this.pointerPosition;\n        }\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[this.pointer].$isLabel &&\n          !this.groupSelect\n        ) this.pointerBackward();\n      } else {\n        /* istanbul ignore else */\n        if (\n          this.filteredOptions[this.pointer] &&\n          this.filteredOptions[0].$isLabel &&\n          !this.groupSelect\n        ) this.pointerForward();\n      }\n      this.pointerDirty = true;\n    },\n    pointerReset () {\n      /* istanbul ignore else */\n      if (!this.closeOnSelect) return\n      this.pointer = 0;\n      /* istanbul ignore else */\n      if (this.$refs.list) {\n        this.$refs.list.scrollTop = 0;\n      }\n    },\n    pointerAdjust () {\n      /* istanbul ignore else */\n      if (this.pointer >= this.filteredOptions.length - 1) {\n        this.pointer = this.filteredOptions.length\n          ? this.filteredOptions.length - 1\n          : 0;\n      }\n\n      if (this.filteredOptions.length > 0 &&\n        this.filteredOptions[this.pointer].$isLabel &&\n        !this.groupSelect\n      ) {\n        this.pointerForward();\n      }\n    },\n    pointerSet (index) {\n      this.pointer = index;\n      this.pointerDirty = true;\n    }\n  }\n};\n\nvar script = {\n  name: 'vue-multiselect',\n  mixins: [multiselectMixin, pointerMixin],\n  props: {\n    /**\n       * name attribute to match optional label element\n       * @default ''\n       * @type {String}\n       */\n    name: {\n      type: String,\n      default: ''\n    },\n    /**\n       * Presets the selected options value.\n       * @type {Object||Array||String||Integer}\n       */\n    modelValue: {\n      type: null,\n      default () {\n        return []\n      }\n    },\n    /**\n       * String to show when pointing to an option\n       * @default 'Press enter to select'\n       * @type {String}\n       */\n    selectLabel: {\n      type: String,\n      default: 'Press enter to select'\n    },\n    /**\n       * String to show when pointing to an option\n       * @default 'Press enter to select'\n       * @type {String}\n       */\n    selectGroupLabel: {\n      type: String,\n      default: 'Press enter to select group'\n    },\n    /**\n       * String to show next to selected option\n       * @default 'Selected'\n       * @type {String}\n       */\n    selectedLabel: {\n      type: String,\n      default: 'Selected'\n    },\n    /**\n       * String to show when pointing to an already selected option\n       * @default 'Press enter to remove'\n       * @type {String}\n       */\n    deselectLabel: {\n      type: String,\n      default: 'Press enter to remove'\n    },\n    /**\n       * String to show when pointing to an already selected option\n       * @default 'Press enter to remove'\n       * @type {String}\n       */\n    deselectGroupLabel: {\n      type: String,\n      default: 'Press enter to deselect group'\n    },\n    /**\n       * Decide whether to show pointer labels\n       * @default true\n       * @type {Boolean}\n       */\n    showLabels: {\n      type: Boolean,\n      default: true\n    },\n    /**\n       * Limit the display of selected options. The rest will be hidden within the limitText string.\n       * @default 99999\n       * @type {Integer}\n       */\n    limit: {\n      type: Number,\n      default: 99999\n    },\n    /**\n       * Sets maxHeight style value of the dropdown\n       * @default 300\n       * @type {Integer}\n       */\n    maxHeight: {\n      type: Number,\n      default: 300\n    },\n    /**\n       * Function that process the message shown when selected\n       * elements pass the defined limit.\n       * @default 'and * more'\n       * @param {Int} count Number of elements more than limit\n       * @type {Function}\n       */\n    limitText: {\n      type: Function,\n      default: (count) => `and ${count} more`\n    },\n    /**\n       * Set true to trigger the loading spinner.\n       * @default False\n       * @type {Boolean}\n       */\n    loading: {\n      type: Boolean,\n      default: false\n    },\n    /**\n       * Disables the multiselect if true.\n       * @default false\n       * @type {Boolean}\n       */\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    /**\n       * Fixed opening direction\n       * @default ''\n       * @type {String}\n       */\n    openDirection: {\n      type: String,\n      default: ''\n    },\n    /**\n       * Shows slot with message about empty options\n       * @default true\n       * @type {Boolean}\n       */\n    showNoOptions: {\n      type: Boolean,\n      default: true\n    },\n    showNoResults: {\n      type: Boolean,\n      default: true\n    },\n    tabindex: {\n      type: Number,\n      default: 0\n    }\n  },\n  computed: {\n    isSingleLabelVisible () {\n      return (\n        (this.singleValue || this.singleValue === 0) &&\n          (!this.isOpen || !this.searchable) &&\n          !this.visibleValues.length\n      )\n    },\n    isPlaceholderVisible () {\n      return !this.internalValue.length && (!this.searchable || !this.isOpen)\n    },\n    visibleValues () {\n      return this.multiple ? this.internalValue.slice(0, this.limit) : []\n    },\n    singleValue () {\n      return this.internalValue[0]\n    },\n    deselectLabelText () {\n      return this.showLabels ? this.deselectLabel : ''\n    },\n    deselectGroupLabelText () {\n      return this.showLabels ? this.deselectGroupLabel : ''\n    },\n    selectLabelText () {\n      return this.showLabels ? this.selectLabel : ''\n    },\n    selectGroupLabelText () {\n      return this.showLabels ? this.selectGroupLabel : ''\n    },\n    selectedLabelText () {\n      return this.showLabels ? this.selectedLabel : ''\n    },\n    inputStyle () {\n      if (\n        this.searchable ||\n          (this.multiple && this.modelValue && this.modelValue.length)\n      ) {\n        // Hide input by setting the width to 0 allowing it to receive focus\n        return this.isOpen\n          ? {width: '100%'}\n          : {width: '0', position: 'absolute', padding: '0'}\n      }\n      return ''\n    },\n    contentStyle () {\n      return this.options.length\n        ? {display: 'inline-block'}\n        : {display: 'block'}\n    },\n    isAbove () {\n      if (this.openDirection === 'above' || this.openDirection === 'top') {\n        return true\n      } else if (\n        this.openDirection === 'below' ||\n          this.openDirection === 'bottom'\n      ) {\n        return false\n      } else {\n        return this.preferredOpenDirection === 'above'\n      }\n    },\n    showSearchInput () {\n      return (\n        this.searchable &&\n          (this.hasSingleSelectedSlot &&\n            (this.visibleSingleValue || this.visibleSingleValue === 0)\n            ? this.isOpen\n            : true)\n      )\n    }\n  }\n};\n\nconst _hoisted_1 = [\"tabindex\", \"aria-owns\"];\nconst _hoisted_2 = {\n  ref: \"tags\",\n  class: \"multiselect__tags\"\n};\nconst _hoisted_3 = { class: \"multiselect__tags-wrap\" };\nconst _hoisted_4 = [\"textContent\"];\nconst _hoisted_5 = [\"onKeypress\", \"onMousedown\"];\nconst _hoisted_6 = [\"textContent\"];\nconst _hoisted_7 = { class: \"multiselect__spinner\" };\nconst _hoisted_8 = [\"name\", \"id\", \"placeholder\", \"value\", \"disabled\", \"tabindex\", \"aria-controls\"];\nconst _hoisted_9 = [\"id\"];\nconst _hoisted_10 = { key: 0 };\nconst _hoisted_11 = { class: \"multiselect__option\" };\nconst _hoisted_12 = [\"id\", \"role\"];\nconst _hoisted_13 = [\"onClick\", \"onMouseenter\", \"data-select\", \"data-selected\", \"data-deselect\"];\nconst _hoisted_14 = [\"data-select\", \"data-deselect\", \"onMouseenter\", \"onMousedown\"];\nconst _hoisted_15 = { class: \"multiselect__option\" };\nconst _hoisted_16 = /*#__PURE__*/createTextVNode(\"No elements found. Consider changing the search query.\");\nconst _hoisted_17 = { class: \"multiselect__option\" };\nconst _hoisted_18 = /*#__PURE__*/createTextVNode(\"List is empty.\");\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n  return (openBlock(), createElementBlock(\"div\", {\n    tabindex: _ctx.searchable ? -1 : $props.tabindex,\n    class: normalizeClass([{ 'multiselect--active': _ctx.isOpen, 'multiselect--disabled': $props.disabled, 'multiselect--above': $options.isAbove }, \"multiselect\"]),\n    onFocus: _cache[13] || (_cache[13] = $event => (_ctx.activate())),\n    onBlur: _cache[14] || (_cache[14] = $event => (_ctx.searchable ? false : _ctx.deactivate())),\n    onKeydown: [\n      _cache[15] || (_cache[15] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"self\",\"prevent\"]), [\"down\"])),\n      _cache[16] || (_cache[16] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"self\",\"prevent\"]), [\"up\"]))\n    ],\n    onKeypress: _cache[17] || (_cache[17] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"stop\",\"self\"]), [\"enter\",\"tab\"])),\n    onKeyup: _cache[18] || (_cache[18] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n    role: \"combobox\",\n    \"aria-owns\": 'listbox-'+_ctx.id\n  }, [\n    renderSlot(_ctx.$slots, \"caret\", { toggle: _ctx.toggle }, () => [\n      createElementVNode(\"div\", {\n        onMousedown: _cache[0] || (_cache[0] = withModifiers($event => (_ctx.toggle()), [\"prevent\",\"stop\"])),\n        class: \"multiselect__select\"\n      }, null, 32 /* HYDRATE_EVENTS */)\n    ]),\n    renderSlot(_ctx.$slots, \"clear\", { search: _ctx.search }),\n    createElementVNode(\"div\", _hoisted_2, [\n      renderSlot(_ctx.$slots, \"selection\", {\n        search: _ctx.search,\n        remove: _ctx.removeElement,\n        values: $options.visibleValues,\n        isOpen: _ctx.isOpen\n      }, () => [\n        withDirectives(createElementVNode(\"div\", _hoisted_3, [\n          (openBlock(true), createElementBlock(Fragment, null, renderList($options.visibleValues, (option, index) => {\n            return renderSlot(_ctx.$slots, \"tag\", {\n              option: option,\n              search: _ctx.search,\n              remove: _ctx.removeElement\n            }, () => [\n              (openBlock(), createElementBlock(\"span\", {\n                class: \"multiselect__tag\",\n                key: index\n              }, [\n                createElementVNode(\"span\", {\n                  textContent: toDisplayString(_ctx.getOptionLabel(option))\n                }, null, 8 /* PROPS */, _hoisted_4),\n                createElementVNode(\"i\", {\n                  tabindex: \"1\",\n                  onKeypress: withKeys(withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]), [\"enter\"]),\n                  onMousedown: withModifiers($event => (_ctx.removeElement(option)), [\"prevent\"]),\n                  class: \"multiselect__tag-icon\"\n                }, null, 40 /* PROPS, HYDRATE_EVENTS */, _hoisted_5)\n              ]))\n            ])\n          }), 256 /* UNKEYED_FRAGMENT */))\n        ], 512 /* NEED_PATCH */), [\n          [vShow, $options.visibleValues.length > 0]\n        ]),\n        (_ctx.internalValue && _ctx.internalValue.length > $props.limit)\n          ? renderSlot(_ctx.$slots, \"limit\", { key: 0 }, () => [\n              createElementVNode(\"strong\", {\n                class: \"multiselect__strong\",\n                textContent: toDisplayString($props.limitText(_ctx.internalValue.length - $props.limit))\n              }, null, 8 /* PROPS */, _hoisted_6)\n            ])\n          : createCommentVNode(\"v-if\", true)\n      ]),\n      createVNode(Transition, { name: \"multiselect__loading\" }, {\n        default: withCtx(() => [\n          renderSlot(_ctx.$slots, \"loading\", {}, () => [\n            withDirectives(createElementVNode(\"div\", _hoisted_7, null, 512 /* NEED_PATCH */), [\n              [vShow, $props.loading]\n            ])\n          ])\n        ]),\n        _: 3 /* FORWARDED */\n      }),\n      (_ctx.searchable)\n        ? (openBlock(), createElementBlock(\"input\", {\n            key: 0,\n            ref: \"search\",\n            name: $props.name,\n            id: _ctx.id,\n            type: \"text\",\n            autocomplete: \"off\",\n            spellcheck: \"false\",\n            placeholder: _ctx.placeholder,\n            style: normalizeStyle($options.inputStyle),\n            value: _ctx.search,\n            disabled: $props.disabled,\n            tabindex: $props.tabindex,\n            onInput: _cache[1] || (_cache[1] = $event => (_ctx.updateSearch($event.target.value))),\n            onFocus: _cache[2] || (_cache[2] = withModifiers($event => (_ctx.activate()), [\"prevent\"])),\n            onBlur: _cache[3] || (_cache[3] = withModifiers($event => (_ctx.deactivate()), [\"prevent\"])),\n            onKeyup: _cache[4] || (_cache[4] = withKeys($event => (_ctx.deactivate()), [\"esc\"])),\n            onKeydown: [\n              _cache[5] || (_cache[5] = withKeys(withModifiers($event => (_ctx.pointerForward()), [\"prevent\"]), [\"down\"])),\n              _cache[6] || (_cache[6] = withKeys(withModifiers($event => (_ctx.pointerBackward()), [\"prevent\"]), [\"up\"])),\n              _cache[8] || (_cache[8] = withKeys(withModifiers($event => (_ctx.removeLastElement()), [\"stop\"]), [\"delete\"]))\n            ],\n            onKeypress: _cache[7] || (_cache[7] = withKeys(withModifiers($event => (_ctx.addPointerElement($event)), [\"prevent\",\"stop\",\"self\"]), [\"enter\"])),\n            class: \"multiselect__input\",\n            \"aria-controls\": 'listbox-'+_ctx.id\n          }, null, 44 /* STYLE, PROPS, HYDRATE_EVENTS */, _hoisted_8))\n        : createCommentVNode(\"v-if\", true),\n      ($options.isSingleLabelVisible)\n        ? (openBlock(), createElementBlock(\"span\", {\n            key: 1,\n            class: \"multiselect__single\",\n            onMousedown: _cache[9] || (_cache[9] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n          }, [\n            renderSlot(_ctx.$slots, \"singleLabel\", { option: $options.singleValue }, () => [\n              createTextVNode(toDisplayString(_ctx.currentOptionLabel), 1 /* TEXT */)\n            ])\n          ], 32 /* HYDRATE_EVENTS */))\n        : createCommentVNode(\"v-if\", true),\n      ($options.isPlaceholderVisible)\n        ? (openBlock(), createElementBlock(\"span\", {\n            key: 2,\n            class: \"multiselect__placeholder\",\n            onMousedown: _cache[10] || (_cache[10] = withModifiers((...args) => (_ctx.toggle && _ctx.toggle(...args)), [\"prevent\"]))\n          }, [\n            renderSlot(_ctx.$slots, \"placeholder\", {}, () => [\n              createTextVNode(toDisplayString(_ctx.placeholder), 1 /* TEXT */)\n            ])\n          ], 32 /* HYDRATE_EVENTS */))\n        : createCommentVNode(\"v-if\", true)\n    ], 512 /* NEED_PATCH */),\n    createVNode(Transition, {\n      name: \"multiselect\",\n      persisted: \"\"\n    }, {\n      default: withCtx(() => [\n        withDirectives(createElementVNode(\"div\", {\n          class: \"multiselect__content-wrapper\",\n          onFocus: _cache[11] || (_cache[11] = (...args) => (_ctx.activate && _ctx.activate(...args))),\n          tabindex: \"-1\",\n          onMousedown: _cache[12] || (_cache[12] = withModifiers(() => {}, [\"prevent\"])),\n          style: normalizeStyle({ maxHeight: _ctx.optimizedHeight + 'px' }),\n          ref: \"list\"\n        }, [\n          createElementVNode(\"ul\", {\n            class: \"multiselect__content\",\n            style: normalizeStyle($options.contentStyle),\n            role: \"listbox\",\n            id: 'listbox-'+_ctx.id\n          }, [\n            renderSlot(_ctx.$slots, \"beforeList\"),\n            (_ctx.multiple && _ctx.max === _ctx.internalValue.length)\n              ? (openBlock(), createElementBlock(\"li\", _hoisted_10, [\n                  createElementVNode(\"span\", _hoisted_11, [\n                    renderSlot(_ctx.$slots, \"maxElements\", {}, () => [\n                      createTextVNode(\"Maximum of \" + toDisplayString(_ctx.max) + \" options selected. First remove a selected option to select another.\", 1 /* TEXT */)\n                    ])\n                  ])\n                ]))\n              : createCommentVNode(\"v-if\", true),\n            (!_ctx.max || _ctx.internalValue.length < _ctx.max)\n              ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(_ctx.filteredOptions, (option, index) => {\n                  return (openBlock(), createElementBlock(\"li\", {\n                    class: \"multiselect__element\",\n                    key: index,\n                    id: _ctx.id + '-' + index,\n                    role: !(option && (option.$isLabel || option.$isDisabled)) ? 'option' : null\n                  }, [\n                    (!(option && (option.$isLabel || option.$isDisabled)))\n                      ? (openBlock(), createElementBlock(\"span\", {\n                          key: 0,\n                          class: normalizeClass([_ctx.optionHighlight(index, option), \"multiselect__option\"]),\n                          onClick: withModifiers($event => (_ctx.select(option)), [\"stop\"]),\n                          onMouseenter: withModifiers($event => (_ctx.pointerSet(index)), [\"self\"]),\n                          \"data-select\": option && option.isTag ? _ctx.tagPlaceholder : $options.selectLabelText,\n                          \"data-selected\": $options.selectedLabelText,\n                          \"data-deselect\": $options.deselectLabelText\n                        }, [\n                          renderSlot(_ctx.$slots, \"option\", {\n                            option: option,\n                            search: _ctx.search,\n                            index: index\n                          }, () => [\n                            createElementVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n                          ])\n                        ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_13))\n                      : createCommentVNode(\"v-if\", true),\n                    (option && (option.$isLabel || option.$isDisabled))\n                      ? (openBlock(), createElementBlock(\"span\", {\n                          key: 1,\n                          \"data-select\": _ctx.groupSelect && $options.selectGroupLabelText,\n                          \"data-deselect\": _ctx.groupSelect && $options.deselectGroupLabelText,\n                          class: normalizeClass([_ctx.groupHighlight(index, option), \"multiselect__option\"]),\n                          onMouseenter: withModifiers($event => (_ctx.groupSelect && _ctx.pointerSet(index)), [\"self\"]),\n                          onMousedown: withModifiers($event => (_ctx.selectGroup(option)), [\"prevent\"])\n                        }, [\n                          renderSlot(_ctx.$slots, \"option\", {\n                            option: option,\n                            search: _ctx.search,\n                            index: index\n                          }, () => [\n                            createElementVNode(\"span\", null, toDisplayString(_ctx.getOptionLabel(option)), 1 /* TEXT */)\n                          ])\n                        ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_14))\n                      : createCommentVNode(\"v-if\", true)\n                  ], 8 /* PROPS */, _hoisted_12))\n                }), 128 /* KEYED_FRAGMENT */))\n              : createCommentVNode(\"v-if\", true),\n            withDirectives(createElementVNode(\"li\", null, [\n              createElementVNode(\"span\", _hoisted_15, [\n                renderSlot(_ctx.$slots, \"noResult\", { search: _ctx.search }, () => [\n                  _hoisted_16\n                ])\n              ])\n            ], 512 /* NEED_PATCH */), [\n              [vShow, $props.showNoResults && (_ctx.filteredOptions.length === 0 && _ctx.search && !$props.loading)]\n            ]),\n            withDirectives(createElementVNode(\"li\", null, [\n              createElementVNode(\"span\", _hoisted_17, [\n                renderSlot(_ctx.$slots, \"noOptions\", {}, () => [\n                  _hoisted_18\n                ])\n              ])\n            ], 512 /* NEED_PATCH */), [\n              [vShow, $props.showNoOptions && (_ctx.options.length === 0 && !_ctx.search && !$props.loading)]\n            ]),\n            renderSlot(_ctx.$slots, \"afterList\")\n          ], 12 /* STYLE, PROPS */, _hoisted_9)\n        ], 36 /* STYLE, HYDRATE_EVENTS */), [\n          [vShow, _ctx.isOpen]\n        ])\n      ]),\n      _: 3 /* FORWARDED */\n    })\n  ], 42 /* CLASS, PROPS, HYDRATE_EVENTS */, _hoisted_1))\n}\n\nscript.render = render;\n\nexport { script as Multiselect, script as default, multiselectMixin, pointerMixin };\n"]}