You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
41 KiB
1 line
41 KiB
3 months ago
|
{"ast":null,"code":"import { defineComponent, computed, reactive, toRefs, provide, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, normalizeClass, toHandlerKey, createVNode, withCtx, createElementVNode, withModifiers, renderSlot, createCommentVNode, Fragment, renderList, normalizeStyle, createTextVNode, toDisplayString, createBlock, withKeys, vModelText, resolveDynamicComponent, vShow } from 'vue';\nimport '../../../directives/index.mjs';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport { ElScrollbar } from '../../scrollbar/index.mjs';\nimport { ElTag } from '../../tag/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport '../../../constants/index.mjs';\nimport '../../../utils/index.mjs';\nimport Option from './option.mjs';\nimport ElSelectMenu from './select-dropdown.mjs';\nimport { useSelect } from './useSelect.mjs';\nimport { selectKey } from './token.mjs';\nimport ElOptions from './options.mjs';\nimport { SelectProps } from './select.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport ClickOutside from '../../../directives/click-outside/index.mjs';\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';\nimport { isArray } from '@vue/shared';\nconst COMPONENT_NAME = \"ElSelect\";\nconst _sfc_main = defineComponent({\n name: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n components: {\n ElSelectMenu,\n ElOption: Option,\n ElOptions,\n ElTag,\n ElScrollbar,\n ElTooltip,\n ElIcon\n },\n directives: {\n ClickOutside\n },\n props: SelectProps,\n emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT, \"remove-tag\", \"clear\", \"visible-change\", \"focus\", \"blur\"],\n setup(props, {\n emit\n }) {\n const modelValue = computed(() => {\n const {\n modelValue: rawModelValue,\n multiple\n } = props;\n const fallback = multiple ? [] : void 0;\n if (isArray(rawModelValue)) {\n return multiple ? rawModelValue : fallback;\n }\n return multiple ? fallback : rawModelValue;\n });\n const _props = reactive({\n ...toRefs(props),\n modelValue\n });\n const API = useSelect(_props, emit);\n provide(selectKey, 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 }));\n const selectedLabel = computed(() => {\n if (!props.multiple) {\n return API.states.selectedLabel;\n }\n return API.states.selected.map(i => i.currentLabel);\n });\n return {\n ...API,\n modelValue,\n selectedLabel\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_el_tag = resolveComponent(\"el-tag\");\n const _component_el_tooltip = resolveComponent(\"el-tooltip\");\n const _component_el_icon = resolveComponent(\"el-icon\");\n const _component_el_option = resolveComponent(\"el-option\");\n const _component_el_options = resolveComponent(\"el-options\");\n const _component_el_scrollbar = resolveComponent(\"el-scrollbar\");\n const _component_el_select_menu = resolveComponent(\"el-select-menu\");\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return withDirectives((openBlock(), createElementBlock(\"div\", {\n ref: \"selectRef\",\n class: normalizeClass([_ctx.nsSelect.b(), _ctx.nsSelect.m(_ctx.selectSize)]),\n [toHandlerKey(_ctx.mouseEnterEventName)]: $event => _ctx.states.inputHovering = true,\n onMouseleave: $event => _ctx.states.inputHovering = false\n }, [createVNode(_component_el_tooltip, {\n ref: \"tooltipRef\",\n visible: _ctx.dropdownMenuVisible,\n placement: _ctx.placement,\n teleported: _ctx.teleported,\n \"popper-class\": [_ctx.nsSelect.e(\"popper\"), _ctx.popperClass],\n \"popper-options\": _ctx.popperOptions,\n
|