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

1 month ago
  1. {"ast":null,"code":"import { defineComponent, getCurrentInstance, ref, computed, watch, onBeforeUnmount, provide, toRef, unref, resolveComponent, openBlock, createElementBlock, normalizeClass, createVNode, createSlots, withCtx, renderSlot, createBlock, mergeProps, createCommentVNode } from 'vue';\nimport { ElButton } from '../../button/index.mjs';\nimport { ElTooltip } from '../../tooltip/index.mjs';\nimport { ElScrollbar } from '../../scrollbar/index.mjs';\nimport { ElIcon } from '../../icon/index.mjs';\nimport ElRovingFocusGroup from '../../roving-focus-group/src/roving-focus-group2.mjs';\nimport { ArrowDown } from '@element-plus/icons-vue';\nimport { ElCollection, dropdownProps } from './dropdown.mjs';\nimport { DROPDOWN_INJECTION_KEY } from './tokens.mjs';\nimport _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';\nimport { OnlyChild } from '../../slot/src/only-child.mjs';\nimport { useNamespace } from '../../../hooks/use-namespace/index.mjs';\nimport { useLocale } from '../../../hooks/use-locale/index.mjs';\nimport { addUnit } from '../../../utils/dom/style.mjs';\nimport { castArray } from 'lodash-unified';\nimport { useId } from '../../../hooks/use-id/index.mjs';\nimport { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';\nconst {\n ButtonGroup: ElButtonGroup\n} = ElButton;\nconst _sfc_main = defineComponent({\n name: \"ElDropdown\",\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection: ElCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild: OnlyChild,\n ElIcon,\n ArrowDown\n },\n props: dropdownProps,\n emits: [\"visible-change\", \"click\", \"command\"],\n setup(props, {\n emit\n }) {\n const _instance = getCurrentInstance();\n const ns = useNamespace(\"dropdown\");\n const {\n t\n } = useLocale();\n const triggeringElementRef = ref();\n const referenceElementRef = ref();\n const popperRef = ref(null);\n const contentRef = ref(null);\n const scrollbar = ref(null);\n const currentTabId = ref(null);\n const isUsingKeyboard = ref(false);\n const wrapStyle = computed(() => ({\n maxHeight: addUnit(props.maxHeight)\n }));\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)]);\n const trigger = computed(() => castArray(props.trigger));\n const defaultTriggerId = useId().value;\n const triggerId = computed(() => props.id || defaultTriggerId);\n watch([triggeringElementRef, trigger], ([triggeringElement, trigger2], [prevTriggeringElement]) => {\n var _a, _b, _c;\n if ((_a = prevTriggeringElement == null ? void 0 : prevTriggeringElement.$el) == null ? void 0 : _a.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\"pointerenter\", onAutofocusTriggerEnter);\n }\n if ((_b = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _b.removeEventListener) {\n triggeringElement.$el.removeEventListener(\"pointerenter\", onAutofocusTriggerEnter);\n }\n if (((_c = triggeringElement == null ? void 0 : triggeringElement.$el) == null ? void 0 : _c.addEventListener) && trigger2.includes(\"hover\")) {\n triggeringElement.$el.addEventListener(\"pointerenter\", onAutofocusTriggerEnter);\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n var _a, _b;\n if ((_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\"pointerenter\", onAutofocusTriggerEnter);\n }\n });\n function handleClick() {\n handleClose();\n }\n function handleClose() {\n var _a;\n (_a = popperRef.value) == null ? void 0 : _a.onClose();\n }\n function handleOpen() {\n var _a;\n (_a = popperRef.value) == null ? void 0 : _a.onOpen();\n }\n const dropdownSize = useFormSize();\n function commandHandler(...args) {\n emit(\"command\", ...args);\n }\n function onAutofocusTrigg