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
60 KiB

1 month ago
  1. {"ast":null,"code":"import { defineComponent, useAttrs, ref, computed, watch, nextTick, onMounted, openBlock, createBlock, unref, withCtx, withDirectives, createElementBlock, normalizeClass, normalizeStyle, createVNode, withModifiers, Fragment, renderList, toDisplayString, createElementVNode, withKeys, vModelText, createCommentVNode, isRef, renderSlot, vShow } from 'vue';\nimport { cloneDeep, debounce } from 'lodash-unified';\nimport { useCssVar, useResizeObserver, isClient } from '@vueuse/core';\nimport { ElCascaderPanel } from '../../cascader-panel/index.mjs';\nimport { ElInput } from '../../input/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 { CircleClose, ArrowDown, Check } from '@element-plus/icons-vue';\nimport { cascaderProps, cascaderEmits } from './cascader.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport ClickOutside from '../../../directives/click-outside/index.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { useFormItem } from '../../form/src/hooks/use-form-item.mjs';\nimport { useEmptyValues } from '../../../hooks/use-empty-values/index.mjs';\nimport { useComposition } from '../../../hooks/use-composition/index.mjs';\nimport { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';\nimport { UPDATE_MODEL_EVENT, CHANGE_EVENT } from '../../../constants/event.mjs';\nimport { debugWarn } from '../../../utils/error.mjs';\nimport { isPromise } from '@vue/shared';\nimport { EVENT_CODE } from '../../../constants/aria.mjs';\nimport { focusNode, getSibling } from '../../../utils/dom/aria.mjs';\nconst COMPONENT_NAME = \"ElCascader\";\nconst __default__ = defineComponent({\n name: COMPONENT_NAME\n});\nconst _sfc_main = /* @__PURE__ */defineComponent({\n ...__default__,\n props: cascaderProps,\n emits: cascaderEmits,\n setup(__props, {\n expose,\n emit\n }) {\n const props = __props;\n const popperOptions = {\n modifiers: [{\n name: \"arrowPosition\",\n enabled: true,\n phase: \"main\",\n fn: ({\n state\n }) => {\n const {\n modifiersData,\n placement\n } = state;\n if ([\"right\", \"left\", \"bottom\", \"top\"].includes(placement)) return;\n modifiersData.arrow.x = 35;\n },\n requires: [\"arrow\"]\n }]\n };\n const attrs = useAttrs();\n let inputInitialHeight = 0;\n let pressDeleteCount = 0;\n const nsCascader = useNamespace(\"cascader\");\n const nsInput = useNamespace(\"input\");\n const {\n t\n } = useLocale();\n const {\n form,\n formItem\n } = useFormItem();\n const {\n valueOnClear\n } = useEmptyValues(props);\n const {\n isComposing,\n handleComposition\n } = useComposition({\n afterComposition(event) {\n var _a;\n const text = (_a = event.target) == null ? void 0 : _a.value;\n handleInput(text);\n }\n });\n const tooltipRef = ref(null);\n const input = ref(null);\n const tagWrapper = ref(null);\n const cascaderPanelRef = ref(null);\n const suggestionPanel = ref(null);\n const popperVisible = ref(false);\n const inputHover = ref(false);\n const filtering = ref(false);\n const filterFocus = ref(false);\n const inputValue = ref(\"\");\n const searchInputValue = ref(\"\");\n const presentTags = ref([]);\n const allPresentTags = ref([]);\n const suggestions = ref([]);\n const cascaderStyle = computed(() => {\n return attrs.style;\n });\n const isDisabled = computed(() => props.disabled || (form == null ? void 0 : form.disabled));\n const inputPlaceholder = computed(() => props.placeholder || t(\"el.cascader.placeholder\"));\n const currentPlaceholder = computed(() => searchInput