{"version":3,"file":"select.mjs","names":[],"sources":["../../../../../../packages/components/select-v2/src/select.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"selectRef\"\n    v-click-outside:[popperRef]=\"handleClickOutside\"\n    :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n    @mouseenter=\"states.inputHovering = true\"\n    @mouseleave=\"states.inputHovering = false\"\n  >\n    <el-tooltip\n      ref=\"tooltipRef\"\n      :visible=\"dropdownMenuVisible\"\n      :teleported=\"teleported\"\n      :popper-class=\"[nsSelect.e('popper'), popperClass!]\"\n      :popper-style=\"popperStyle\"\n      :gpu-acceleration=\"false\"\n      :stop-popper-mouse-event=\"false\"\n      :popper-options=\"popperOptions\"\n      :fallback-placements=\"fallbackPlacements\"\n      :effect=\"effect\"\n      :placement=\"placement\"\n      pure\n      :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n      trigger=\"click\"\n      :persistent=\"persistent\"\n      :append-to=\"appendTo\"\n      :show-arrow=\"showArrow\"\n      :offset=\"offset\"\n      @before-show=\"handleMenuEnter\"\n      @hide=\"states.isBeforeHide = false\"\n    >\n      <template #default>\n        <div\n          ref=\"wrapperRef\"\n          :class=\"[\n            nsSelect.e('wrapper'),\n            nsSelect.is('focused', isFocused),\n            nsSelect.is('hovering', states.inputHovering),\n            nsSelect.is('filterable', filterable),\n            nsSelect.is('disabled', selectDisabled),\n          ]\"\n          @click.prevent=\"toggleMenu\"\n        >\n          <div\n            v-if=\"$slots.prefix\"\n            ref=\"prefixRef\"\n            :class=\"nsSelect.e('prefix')\"\n          >\n            <slot name=\"prefix\" />\n          </div>\n          <div\n            ref=\"selectionRef\"\n            :class=\"[\n              nsSelect.e('selection'),\n              nsSelect.is(\n                'near',\n                multiple && !$slots.prefix && !!modelValue.length\n              ),\n            ]\"\n          >\n            <slot\n              v-if=\"multiple\"\n              name=\"tag\"\n              :data=\"states.cachedOptions\"\n              :delete-tag=\"deleteTag\"\n              :select-disabled=\"selectDisabled\"\n            >\n              <div\n                v-for=\"item in showTagList\"\n                :key=\"getValueKey(getValue(item))\"\n                :class=\"nsSelect.e('selected-item')\"\n                :style=\"tagStyle\"\n              >\n                <el-tag\n                  :closable=\"!selectDisabled && !getDisabled(item)\"\n                  :size=\"collapseTagSize\"\n                  :type=\"tagType\"\n                  :effect=\"tagEffect\"\n                  disable-transitions\n                  @close=\"deleteTag($event, item)\"\n                >\n                  <span :class=\"nsSelect.e('tags-text')\">\n                    <slot\n                      name=\"label\"\n                      :index=\"getIndex(item)\"\n                      :label=\"getLabel(item)\"\n                      :value=\"getValue(item)\"\n                    >\n                      {{ getLabel(item) }}\n                    </slot>\n                  </span>\n                </el-tag>\n              </div>\n\n              <el-tooltip\n                v-if=\"\n                  collapseTags && states.cachedOptions.length > maxCollapseTags\n                \"\n                ref=\"tagTooltipRef\"\n                :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n                :fallback-placements=\"\n                  tagTooltip?.fallbackPlacements ?? [\n                    'bottom',\n                    'top',\n                    'right',\n                    'left',\n                  ]\n                \"\n                :effect=\"tagTooltip?.effect ?? effect\"\n                :placement=\"tagTooltip?.placement ?? 'bottom'\"\n                :popper-class=\"tagTooltip?.popperClass ?? popperClass\"\n                :popper-style=\"tagTooltip?.popperStyle ?? popperStyle\"\n                :teleported=\"tagTooltip?.teleported ?? teleported\"\n                :append-to=\"tagTooltip?.appendTo ?? appendTo\"\n                :popper-options=\"tagTooltip?.popperOptions ?? popperOptions\"\n                :transition=\"tagTooltip?.transition\"\n                :show-after=\"tagTooltip?.showAfter\"\n                :hide-after=\"tagTooltip?.hideAfter\"\n                :auto-close=\"tagTooltip?.autoClose\"\n                :offset=\"tagTooltip?.offset\"\n              >\n                <template #default>\n                  <div\n                    ref=\"collapseItemRef\"\n                    :class=\"[\n                      nsSelect.e('selected-item'),\n                      nsSelect.e('collapse-item'),\n                    ]\"\n                  >\n                    <el-tag\n                      :closable=\"false\"\n                      :size=\"collapseTagSize\"\n                      :type=\"tagType\"\n                      :effect=\"tagEffect\"\n                      disable-transitions\n                    >\n                      <span :class=\"nsSelect.e('tags-text')\">\n                        + {{ states.cachedOptions.length - maxCollapseTags }}\n                      </span>\n                    </el-tag>\n                  </div>\n                </template>\n                <template #content>\n                  <div ref=\"tagMenuRef\" :class=\"nsSelect.e('selection')\">\n                    <div\n                      v-for=\"selected in collapseTagList\"\n                      :key=\"getValueKey(getValue(selected))\"\n                      :class=\"nsSelect.e('selected-item')\"\n                    >\n                      <el-tag\n                        class=\"in-tooltip\"\n                        :closable=\"!selectDisabled && !getDisabled(selected)\"\n                        :size=\"collapseTagSize\"\n                        :type=\"tagType\"\n                        :effect=\"tagEffect\"\n                        disable-transitions\n                        @close=\"deleteTag($event, selected)\"\n                      >\n                        <span :class=\"nsSelect.e('tags-text')\">\n                          <slot\n                            name=\"label\"\n                            :index=\"getIndex(selected)\"\n                            :label=\"getLabel(selected)\"\n                            :value=\"getValue(selected)\"\n                          >\n                            {{ getLabel(selected) }}\n                          </slot>\n                        </span>\n                      </el-tag>\n                    </div>\n                  </div>\n                </template>\n              </el-tooltip>\n            </slot>\n            <div\n              :class=\"[\n                nsSelect.e('selected-item'),\n                nsSelect.e('input-wrapper'),\n                nsSelect.is(\n                  'hidden',\n                  !filterable ||\n                    selectDisabled ||\n                    (multiple && !states.inputValue && !isFocused)\n                ),\n              ]\"\n            >\n              <input\n                :id=\"inputId\"\n                ref=\"inputRef\"\n                :value=\"states.inputValue\"\n                :style=\"inputStyle\"\n                :autocomplete=\"autocomplete\"\n                :tabindex=\"tabindex\"\n                aria-autocomplete=\"none\"\n                aria-haspopup=\"listbox\"\n                autocapitalize=\"off\"\n                :aria-expanded=\"expanded\"\n                :aria-label=\"ariaLabel\"\n                :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n                :disabled=\"selectDisabled\"\n                role=\"combobox\"\n                :aria-controls=\"contentId\"\n                :aria-activedescendant=\"\n                  states.hoveringIndex >= 0\n                    ? `${contentId}-${states.hoveringIndex}`\n                    : ''\n                \"\n                :readonly=\"!filterable\"\n                spellcheck=\"false\"\n                type=\"text\"\n                :name=\"name\"\n                @input=\"onInput\"\n                @change.stop\n                @compositionstart=\"handleCompositionStart\"\n                @compositionupdate=\"handleCompositionUpdate\"\n                @compositionend=\"handleCompositionEnd\"\n                @keydown.up.stop.prevent=\"onKeyboardNavigate('backward')\"\n                @keydown.down.stop.prevent=\"onKeyboardNavigate('forward')\"\n                @keydown.enter.stop.prevent=\"onKeyboardSelect\"\n                @keydown.esc.stop.prevent=\"handleEsc\"\n                @keydown.delete.stop=\"handleDel\"\n                @click.stop=\"toggleMenu\"\n              />\n              <span\n                v-if=\"filterable\"\n                ref=\"calculatorRef\"\n                aria-hidden=\"true\"\n                :class=\"nsSelect.e('input-calculator')\"\n                v-text=\"states.inputValue\"\n              />\n            </div>\n            <div\n              v-if=\"shouldShowPlaceholder\"\n              :class=\"[\n                nsSelect.e('selected-item'),\n                nsSelect.e('placeholder'),\n                nsSelect.is(\n                  'transparent',\n                  !hasModelValue || (expanded && !states.inputValue)\n                ),\n              ]\"\n            >\n              <slot\n                v-if=\"hasModelValue\"\n                name=\"label\"\n                :index=\"allOptionsValueMap.get(modelValue)?.index ?? -1\"\n                :label=\"currentPlaceholder\"\n                :value=\"modelValue\"\n              >\n                <span>{{ currentPlaceholder }}</span>\n              </slot>\n              <span v-else>{{ currentPlaceholder }}</span>\n            </div>\n          </div>\n          <div ref=\"suffixRef\" :class=\"nsSelect.e('suffix')\">\n            <el-icon\n              v-if=\"iconComponent\"\n              v-show=\"!showClearBtn\"\n              :class=\"[nsSelect.e('caret'), nsInput.e('icon'), iconReverse]\"\n            >\n              <component :is=\"iconComponent\" />\n            </el-icon>\n            <el-icon\n              v-if=\"showClearBtn && clearIcon\"\n              :class=\"[\n                nsSelect.e('caret'),\n                nsInput.e('icon'),\n                nsSelect.e('clear'),\n              ]\"\n              @click.prevent.stop=\"handleClear\"\n            >\n              <component :is=\"clearIcon\" />\n            </el-icon>\n            <el-icon\n              v-if=\"validateState && validateIcon && needStatusIcon\"\n              :class=\"[\n                nsInput.e('icon'),\n                nsInput.e('validateIcon'),\n                nsInput.is('loading', validateState === 'validating'),\n              ]\"\n            >\n              <component :is=\"validateIcon\" />\n            </el-icon>\n          </div>\n        </div>\n      </template>\n      <template #content>\n        <el-select-menu\n          :id=\"contentId\"\n          ref=\"menuRef\"\n          :data=\"filteredOptions\"\n          :width=\"popperSize - BORDER_HORIZONTAL_WIDTH\"\n          :hovering-index=\"states.hoveringIndex\"\n          :scrollbar-always-on=\"scrollbarAlwaysOn\"\n          :aria-label=\"ariaLabel\"\n          @end-reached=\"onEndReached\"\n        >\n          <template v-if=\"$slots.header\" #header>\n            <div :class=\"nsSelect.be('dropdown', 'header')\" @click.stop>\n              <slot name=\"header\" />\n            </div>\n          </template>\n          <template #default=\"scope\">\n            <slot v-bind=\"scope\" />\n          </template>\n          <template v-if=\"$slots.loading && loading\" #loading>\n            <div :class=\"nsSelect.be('dropdown', 'loading')\">\n              <slot name=\"loading\" />\n            </div>\n          </template>\n          <template v-else-if=\"loading || filteredOptions.length === 0\" #empty>\n            <div :class=\"nsSelect.be('dropdown', 'empty')\">\n              <slot name=\"empty\">\n                <span>{{ emptyText }}</span>\n              </slot>\n            </div>\n          </template>\n          <template v-if=\"$slots.footer\" #footer>\n            <div :class=\"nsSelect.be('dropdown', 'footer')\" @click.stop>\n              <slot name=\"footer\" />\n            </div>\n          </template>\n        </el-select-menu>\n      </template>\n    </el-tooltip>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, provide, reactive, toRefs } from 'vue'\nimport { isArray } from '@element-plus/utils'\nimport { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { useCalcInputWidth, useId } from '@element-plus/hooks'\nimport ElSelectMenu from './select-dropdown'\nimport useSelect from './useSelect'\nimport { selectV2Emits, selectV2Props } from './defaults'\nimport { selectV2InjectionKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n  name: 'ElSelectV2',\n  components: {\n    ElSelectMenu,\n    ElTag,\n    ElTooltip,\n    ElIcon,\n  },\n  directives: { ClickOutside },\n  props: selectV2Props,\n  emits: selectV2Emits,\n  setup(props, { emit }) {\n    const modelValue = computed(() => {\n      const { modelValue: rawModelValue, multiple } = props\n      const fallback = multiple ? [] : undefined\n      // When it is array, we check if this is multi-select.\n      // Based on the result we get\n      if (isArray(rawModelValue)) {\n        return multiple ? rawModelValue : fallback\n      }\n      return multiple ? fallback : rawModelValue\n    })\n\n    const API = useSelect(\n      reactive({\n        ...toRefs(props),\n        modelValue,\n      }),\n      emit\n    )\n    const { calculatorRef, inputStyle } = useCalcInputWidth()\n    const contentId = useId()\n\n    provide(selectV2InjectionKey, {\n      props: reactive({\n        ...toRefs(props),\n        height: API.popupHeight,\n        modelValue,\n      }),\n      expanded: API.expanded,\n      tooltipRef: API.tooltipRef,\n      contentId,\n      onSelect: API.onSelect,\n      onHover: API.onHover,\n      onKeyboardNavigate: API.onKeyboardNavigate,\n      onKeyboardSelect: API.onKeyboardSelect,\n    })\n\n    const selectedLabel = computed(() => {\n      if (!props.multiple) {\n        return API.states.selectedLabel\n      }\n      return API.states.cachedOptions.map((i) => API.getLabel(i) as string)\n    })\n\n    return {\n      ...API,\n      modelValue,\n      selectedLabel,\n      calculatorRef,\n      inputStyle,\n      contentId,\n      BORDER_HORIZONTAL_WIDTH,\n    }\n  },\n})\n</script>\n"],"mappings":"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"}