{"version":3,"file":"select.js","sources":["../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"selectRef\"\n    v-click-outside:[popperRef]=\"handleClickOutside\"\n    :class=\"[nsSelect.b(), nsSelect.m(selectSize)]\"\n    @[mouseEnterEventName]=\"states.inputHovering = true\"\n    @mouseleave=\"states.inputHovering = false\"\n  >\n    <el-tooltip\n      ref=\"tooltipRef\"\n      :visible=\"dropdownMenuVisible\"\n      :placement=\"placement\"\n      :teleported=\"teleported\"\n      :popper-class=\"[nsSelect.e('popper'), popperClass]\"\n      :popper-options=\"popperOptions\"\n      :fallback-placements=\"fallbackPlacements\"\n      :effect=\"effect\"\n      pure\n      trigger=\"click\"\n      :transition=\"`${nsSelect.namespace.value}-zoom-in-top`\"\n      :stop-popper-mouse-event=\"false\"\n      :gpu-acceleration=\"false\"\n      :persistent=\"persistent\"\n      :append-to=\"appendTo\"\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 && !!states.selected.length\n              ),\n            ]\"\n          >\n            <slot v-if=\"multiple\" name=\"tag\">\n              <div\n                v-for=\"item in showTagList\"\n                :key=\"getValueKey(item)\"\n                :class=\"nsSelect.e('selected-item')\"\n              >\n                <el-tag\n                  :closable=\"!selectDisabled && !item.isDisabled\"\n                  :size=\"collapseTagSize\"\n                  :type=\"tagType\"\n                  :effect=\"tagEffect\"\n                  disable-transitions\n                  :style=\"tagStyle\"\n                  @close=\"deleteTag($event, item)\"\n                >\n                  <span :class=\"nsSelect.e('tags-text')\">\n                    <slot\n                      name=\"label\"\n                      :label=\"item.currentLabel\"\n                      :value=\"item.value\"\n                    >\n                      {{ item.currentLabel }}\n                    </slot>\n                  </span>\n                </el-tag>\n              </div>\n\n              <el-tooltip\n                v-if=\"collapseTags && states.selected.length > maxCollapseTags\"\n                ref=\"tagTooltipRef\"\n                :disabled=\"dropdownMenuVisible || !collapseTagsTooltip\"\n                :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n                :effect=\"effect\"\n                placement=\"bottom\"\n                :teleported=\"teleported\"\n              >\n                <template #default>\n                  <div\n                    ref=\"collapseItemRef\"\n                    :class=\"nsSelect.e('selected-item')\"\n                  >\n                    <el-tag\n                      :closable=\"false\"\n                      :size=\"collapseTagSize\"\n                      :type=\"tagType\"\n                      :effect=\"tagEffect\"\n                      disable-transitions\n                      :style=\"collapseTagStyle\"\n                    >\n                      <span :class=\"nsSelect.e('tags-text')\">\n                        + {{ states.selected.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=\"item in collapseTagList\"\n                      :key=\"getValueKey(item)\"\n                      :class=\"nsSelect.e('selected-item')\"\n                    >\n                      <el-tag\n                        class=\"in-tooltip\"\n                        :closable=\"!selectDisabled && !item.isDisabled\"\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                            :label=\"item.currentLabel\"\n                            :value=\"item.value\"\n                          >\n                            {{ item.currentLabel }}\n                          </slot>\n                        </span>\n                      </el-tag>\n                    </div>\n                  </div>\n                </template>\n              </el-tooltip>\n            </slot>\n            <div\n              v-if=\"!selectDisabled\"\n              :class=\"[\n                nsSelect.e('selected-item'),\n                nsSelect.e('input-wrapper'),\n                nsSelect.is('hidden', !filterable),\n              ]\"\n            >\n              <input\n                :id=\"inputId\"\n                ref=\"inputRef\"\n                v-model=\"states.inputValue\"\n                type=\"text\"\n                :name=\"name\"\n                :class=\"[nsSelect.e('input'), nsSelect.is(selectSize)]\"\n                :disabled=\"selectDisabled\"\n                :autocomplete=\"autocomplete\"\n                :style=\"inputStyle\"\n                role=\"combobox\"\n                :readonly=\"!filterable\"\n                spellcheck=\"false\"\n                :aria-activedescendant=\"hoverOption?.id || ''\"\n                :aria-controls=\"contentId\"\n                :aria-expanded=\"dropdownMenuVisible\"\n                :aria-label=\"ariaLabel\"\n                aria-autocomplete=\"none\"\n                aria-haspopup=\"listbox\"\n                @keydown.down.stop.prevent=\"navigateOptions('next')\"\n                @keydown.up.stop.prevent=\"navigateOptions('prev')\"\n                @keydown.esc.stop.prevent=\"handleEsc\"\n                @keydown.enter.stop.prevent=\"selectOption\"\n                @keydown.delete.stop=\"deletePrevTag\"\n                @compositionstart=\"handleCompositionStart\"\n                @compositionupdate=\"handleCompositionUpdate\"\n                @compositionend=\"handleCompositionEnd\"\n                @input=\"onInput\"\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                :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 && !showClose\"\n              :class=\"[nsSelect.e('caret'), nsSelect.e('icon'), iconReverse]\"\n            >\n              <component :is=\"iconComponent\" />\n            </el-icon>\n            <el-icon\n              v-if=\"showClose && clearIcon\"\n              :class=\"[\n                nsSelect.e('caret'),\n                nsSelect.e('icon'),\n                nsSelect.e('clear'),\n              ]\"\n              @click=\"handleClearClick\"\n            >\n              <component :is=\"clearIcon\" />\n            </el-icon>\n            <el-icon\n              v-if=\"validateState && validateIcon\"\n              :class=\"[nsInput.e('icon'), nsInput.e('validateIcon')]\"\n            >\n              <component :is=\"validateIcon\" />\n            </el-icon>\n          </div>\n        </div>\n      </template>\n      <template #content>\n        <el-select-menu ref=\"menuRef\">\n          <div\n            v-if=\"$slots.header\"\n            :class=\"nsSelect.be('dropdown', 'header')\"\n            @click.stop\n          >\n            <slot name=\"header\" />\n          </div>\n          <el-scrollbar\n            v-show=\"states.options.size > 0 && !loading\"\n            :id=\"contentId\"\n            ref=\"scrollbarRef\"\n            tag=\"ul\"\n            :wrap-class=\"nsSelect.be('dropdown', 'wrap')\"\n            :view-class=\"nsSelect.be('dropdown', 'list')\"\n            :class=\"[nsSelect.is('empty', filteredOptionsCount === 0)]\"\n            role=\"listbox\"\n            :aria-label=\"ariaLabel\"\n            aria-orientation=\"vertical\"\n          >\n            <el-option\n              v-if=\"showNewOption\"\n              :value=\"states.inputValue\"\n              :created=\"true\"\n            />\n            <el-options>\n              <slot />\n            </el-options>\n          </el-scrollbar>\n          <div\n            v-if=\"$slots.loading && loading\"\n            :class=\"nsSelect.be('dropdown', 'loading')\"\n          >\n            <slot name=\"loading\" />\n          </div>\n          <div\n            v-else-if=\"loading || filteredOptionsCount === 0\"\n            :class=\"nsSelect.be('dropdown', 'empty')\"\n          >\n            <slot name=\"empty\">\n              <span>{{ emptyText }}</span>\n            </slot>\n          </div>\n          <div\n            v-if=\"$slots.footer\"\n            :class=\"nsSelect.be('dropdown', 'footer')\"\n            @click.stop\n          >\n            <slot name=\"footer\" />\n          </div>\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 { ClickOutside } from '@element-plus/directives'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElTag from '@element-plus/components/tag'\nimport ElIcon from '@element-plus/components/icon'\nimport { CHANGE_EVENT, UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { isArray } from '@element-plus/utils'\nimport ElOption from './option.vue'\nimport ElSelectMenu from './select-dropdown.vue'\nimport { useSelect } from './useSelect'\nimport { selectKey } from './token'\nimport ElOptions from './options'\n\nimport { SelectProps } from './select'\nimport type { SelectContext } from './token'\n\nconst COMPONENT_NAME = 'ElSelect'\nexport default defineComponent({\n  name: COMPONENT_NAME,\n  componentName: COMPONENT_NAME,\n  components: {\n    ElSelectMenu,\n    ElOption,\n    ElOptions,\n    ElTag,\n    ElScrollbar,\n    ElTooltip,\n    ElIcon,\n  },\n  directives: { ClickOutside },\n  props: SelectProps,\n  emits: [\n    UPDATE_MODEL_EVENT,\n    CHANGE_EVENT,\n    'remove-tag',\n    'clear',\n    'visible-change',\n    'focus',\n    'blur',\n  ],\n\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\n      return multiple ? fallback : rawModelValue\n    })\n\n    const _props = reactive({\n      ...toRefs(props),\n      modelValue,\n    })\n\n    const API = useSelect(_props, emit)\n\n    provide(\n      selectKey,\n      reactive({\n        props: _props,\n        states: API.states,\n        optionsArray: API.optionsArray,\n        handleOptionSelect: API.handleOptionSelect,\n        onOptionCreate: API.onOptionCreate,\n        onOptionDestroy: API.onOptionDestroy,\n        selectRef: API.selectRef,\n        setSelected: API.setSelected,\n      }) as unknown as SelectContext\n    )\n\n    return {\n      ...API,\n      modelValue,\n    }\n  },\n})\n</script>\n"],"names":["defineComponent","ElSelectMenu","ElOption","ElOptions","ElTag","ElScrollbar","ElTooltip","ElIcon","ClickOutside","SelectProps","UPDATE_MODEL_EVENT","CHANGE_EVENT","computed","isArray","reactive","toRefs","useSelect","provide","selectKey","_createElementBlock","_normalizeClass","_toHandlerKey","_createVNode","_withCtx","_createElementVNode","_withModifiers","_openBlock","_renderSlot","_createCommentVNode","_Fragment","_renderList","_normalizeStyle","_createBlock","_withDirectives","_withKeys","_vModelText","_toDisplayString","_vShow"],"mappings":"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"}