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.

0 lines
16 KiB

1 month ago
  1. {"ast":null,"code":"import { defineComponent, useSlots, computed, openBlock, createElementBlock, normalizeClass, unref, normalizeStyle, renderSlot, createCommentVNode, createElementVNode, Fragment, renderList, createBlock, withModifiers, withCtx, createTextVNode, toDisplayString, withDirectives, mergeProps, isRef, vModelText, vShow, createVNode, resolveDynamicComponent } from 'vue';\nimport { CircleClose } from '@element-plus/icons-vue';\nimport { ElIcon } from '../../icon/index.mjs';\nimport { ElTag } from '../../tag/index.mjs';\nimport { inputTagProps, inputTagEmits } from './input-tag.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { useInputTag } from './composables/use-input-tag.mjs';\nimport { useHovering } from './composables/use-hovering.mjs';\nimport { useCalcInputWidth } from '../../../hooks/use-calc-input-width/index.mjs';\nimport { useDragTag } from './composables/use-drag-tag.mjs';\nimport { useInputTagDom } from './composables/use-input-tag-dom.mjs';\nimport { useAttrs } from '../../../hooks/use-attrs/index.mjs';\nimport { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';\nimport { ValidateComponentsMap } from '../../../utils/vue/icon.mjs';\nimport { NOOP } from '@vue/shared';\nconst __default__ = defineComponent({\n name: \"ElInputTag\",\n inheritAttrs: false\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: inputTagProps,\n emits: inputTagEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const attrs = useAttrs();\n const slots = useSlots();\n const {\n form,\n formItem\n } = useFormItem();\n const {\n inputId\n } = useFormItemInputId(props, {\n formItemContext: formItem\n });\n const needStatusIcon = computed(() => {\n var _a;\n return (_a = form == null ? void 0 : form.statusIcon) != null ? _a : false;\n });\n const validateState = computed(() => (formItem == null ? void 0 : formItem.validateState) || \"\");\n const validateIcon = computed(() => {\n return validateState.value && ValidateComponentsMap[validateState.value];\n });\n const {\n inputRef,\n wrapperRef,\n isFocused,\n inputValue,\n size,\n tagSize,\n placeholder,\n closable,\n disabled,\n handleDragged,\n handleInput,\n handleKeydown,\n handleRemoveTag,\n handleClear,\n handleCompositionStart,\n handleCompositionUpdate,\n handleCompositionEnd,\n focus,\n blur\n } = useInputTag({\n props,\n emit,\n formItem\n });\n const {\n hovering,\n handleMouseEnter,\n handleMouseLeave\n } = useHovering();\n const {\n calculatorRef,\n inputStyle\n } = useCalcInputWidth();\n const {\n dropIndicatorRef,\n showDropIndicator,\n handleDragStart,\n handleDragOver,\n handleDragEnd\n } = useDragTag({\n wrapperRef,\n handleDragged,\n afterDragged: focus\n });\n const {\n ns,\n nsInput,\n containerKls,\n containerStyle,\n innerKls,\n showClear,\n showSuffix\n } = useInputTagDom({\n props,\n hovering,\n isFocused,\n inputValue,\n disabled,\n size,\n validateState,\n validateIcon,\n needStatusIcon\n });\n expose({\n focus,\n blur\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", {\n ref_key: \"wrapperRef\",\n ref: wrapperRef,\n class: normalizeClass(unref(containerKls)),\n style: normalizeStyle(unref(containerStyle)),\n onMouseenter: unref(handleMouseEnter),\n onMouseleave: unref(handleMouseLeave)\n }, [unref(slots).prefix ? (openBlock(), createElementBlock(\"div\", {\n key: 0,\n class: normalizeClass(unref(ns).e(\"prefix\"))\n }, [renderSlot(_ctx.$slots, \"prefix\")], 2)) : createCommentVNode(\"v-if\", true), createElementVNode(\"div\", {\n