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

{"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 onAutofocusTriggerEnter() {\n var _a, _b;\n (_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.focus();\n }\n function onItemEnter() {}\n function onItemLeave() {\n const contentEl = unref(contentRef);\n trigger.value.includes(\"hover\") && (contentEl == null ? void 0 : contentEl.focus());\n currentTabId.value = null;\n }\n function handleCurrentTabIdChange(id) {\n currentTabId.value = id;\n }\n function handleEntryFocus(e) {\n if (!isUsingKeyboard.value) {\n e.preventDefault();\n e.stopImmediatePropagation();\n }\n }\n function handleBeforeShowTooltip() {\n emit(\"visible-change\", true);\n }\n function handleShowTooltip(event) {\n if ((event == null ? void 0 : event.type) === \"keydown\") {\n contentRef.value.focus();\n }\n }\n function handleBeforeHideTooltip() {\n emit(\"visible-change\", false);\n }\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave\n });\n provide(\"elDropdown\", {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, \"trigger\"),\n hideOnClick: toRef(props, \"hideOnClick\")\n });\n const onFocusAfterTrapped = e => {\n var _a, _b;\n e.preventDefault();\n (_b = (_a = contentRef.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a, {\n preventScroll: true\n });\n };\n const handlerMainButtonClick = event => {\n emit(\"click\", event);\n };\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef\n };\n }\n});\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n var _a;\n const _component_el_dropdown_collection = resolveComponent(\"el-dropdown-collection\");\n const _component_el_roving_focus_group = resolveComponent(\"el-roving-focus-group\");\n const _component_el_scrollbar = resolveComponent(\"el-scrollbar\");\n const _component_el_only_child = resolveComponent(\"el-only-child\");\n const _component_el_tooltip = resolveComponent(\"el-tooltip\");\n const _component_el_button = resolveComponent(\"el-button\");\n const _component_arrow_down = resolveComponent(\"arrow-down\");\n const _component_el_icon = resolveComponent(\"el-icon\");\n const _component_el_button_group = resolveComponent(\"el-button-group\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([_ctx.ns.b(), _ctx.ns.is(\"disabled\", _ctx.disabled)])\n }, [createVNode(_component_el_tooltip, {\n ref: \"popperRef\",\n role: _ctx.role,\n effect: _ctx.effect,\n \"fallback-placements\": [\"bottom\", \"top\"],\n \"popper-options\": _ctx.popperOptions,\n \"gpu-acceleration\": false,\n \"hide-after\": _ctx.trigger === \"hover\" ? _ctx.hideTimeout : 0,\n \"manual-mode\": true,\n placement: _ctx.placement,\n \"popper-class\": [_ctx.ns.e(\"popper\"), _ctx.popperClass],\n \"reference-element\": (_a = _ctx.referenceElementRef) == null ? void 0 : _a.$el,\n trigger: _ctx.trigger,\n \"trigger-keys\": _ctx.triggerKeys,\n \"trigger-target-el\": _ctx.contentRef,\n \"show-after\": _ctx.trigger === \"hover\" ? _ctx.showTimeout : 0,\n \"stop-popper-mouse-event\": false,\n \"virtual-ref\": _ctx.triggeringElementRef,\n \"virtual-triggering\": _ctx.splitButton,\n disabled: _ctx.disabled,\n transition: `${_ctx.ns.namespace.value}-zoom-in-top`,\n teleported: _ctx.teleported,\n pure: \"\",\n persistent: \"\",\n onBeforeShow: _ctx.handleBeforeShowTooltip,\n onShow: _ctx.handleShowTooltip,\n onBeforeHide: _ctx.handleBeforeHideTooltip\n }, createSlots({\n content: withCtx(() => [createVNode(_component_el_scrollbar, {\n ref: \"scrollbar\",\n \"wrap-style\": _ctx.wrapStyle,\n tag: \"div\",\n \"view-class\": _ctx.ns.e(\"list\")\n }, {\n default: withCtx(() => [createVNode(_component_el_roving_focus_group, {\n loop: _ctx.loop,\n \"current-tab-id\": _ctx.currentTabId,\n orientation: \"horizontal\",\n onCurrentTabIdChange: _ctx.handleCurrentTabIdChange,\n onEntryFocus: _ctx.handleEntryFocus\n }, {\n default: withCtx(() => [createVNode(_component_el_dropdown_collection, null, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"dropdown\")]),\n _: 3\n })]),\n _: 3\n }, 8, [\"loop\", \"current-tab-id\", \"onCurrentTabIdChange\", \"onEntryFocus\"])]),\n _: 3\n }, 8, [\"wrap-style\", \"view-class\"])]),\n _: 2\n }, [!_ctx.splitButton ? {\n name: \"default\",\n fn: withCtx(() => [createVNode(_component_el_only_child, {\n id: _ctx.triggerId,\n ref: \"triggeringElementRef\",\n role: \"button\",\n tabindex: _ctx.tabindex\n }, {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 8, [\"id\", \"tabindex\"])])\n } : void 0]), 1032, [\"role\", \"effect\", \"popper-options\", \"hide-after\", \"placement\", \"popper-class\", \"reference-element\", \"trigger\", \"trigger-keys\", \"trigger-target-el\", \"show-after\", \"virtual-ref\", \"virtual-triggering\", \"disabled\", \"transition\", \"teleported\", \"onBeforeShow\", \"onShow\", \"onBeforeHide\"]), _ctx.splitButton ? (openBlock(), createBlock(_component_el_button_group, {\n key: 0\n }, {\n default: withCtx(() => [createVNode(_component_el_button, mergeProps({\n ref: \"referenceElementRef\"\n }, _ctx.buttonProps, {\n size: _ctx.dropdownSize,\n type: _ctx.type,\n disabled: _ctx.disabled,\n tabindex: _ctx.tabindex,\n onClick: _ctx.handlerMainButtonClick\n }), {\n default: withCtx(() => [renderSlot(_ctx.$slots, \"default\")]),\n _: 3\n }, 16, [\"size\", \"type\", \"disabled\", \"tabindex\", \"onClick\"]), createVNode(_component_el_button, mergeProps({\n id: _ctx.triggerId,\n ref: \"triggeringElementRef\"\n }, _ctx.buttonProps, {\n role: \"button\",\n size: _ctx.dropdownSize,\n type: _ctx.type,\n class: _ctx.ns.e(\"caret-button\"),\n disabled: _ctx.disabled,\n tabindex: _ctx.tabindex,\n \"aria-label\": _ctx.t(\"el.dropdown.toggleDropdown\")\n }), {\n default: withCtx(() => [createVNode(_component_el_icon, {\n class: normalizeClass(_ctx.ns.e(\"icon\"))\n }, {\n default: withCtx(() => [createVNode(_component_arrow_down)]),\n _: 1\n }, 8, [\"class\"])]),\n _: 1\n }, 16, [\"id\", \"size\", \"type\", \"class\", \"disabled\", \"tabindex\", \"aria-label\"])]),\n _: 3\n })) : createCommentVNode(\"v-if\", true)], 2);\n}\nvar Dropdown = /* @__PURE__ */_export_sfc(_sfc_main, [[\"render\", _sfc_render], [\"__file\", \"dropdown.vue\"]]);\nexport { Dropdown as default };","map":{"version":3,"names":["ButtonGroup","ElButtonGroup","ElButton","_sfc_main","defineComponent","name","components","ElScrollbar","ElDropdownCollection","ElCollection","ElTooltip","ElRovingFocusGroup","ElOnlyChild","OnlyChild","ElIcon","ArrowDown","props","dropdownProps","emits","setup","emit","_instance","getCurrentInstance","ns","useNamespace","t","useLocale","triggeringElementRef","ref","referenceElementRef","popperRef","contentRef","scrollbar","currentTabId","isUsingKeyboard","wrapStyle","computed","maxHeight","addUnit","dropdownTriggerKls","m","dropdownSize","value","trigger","castArray","defaultTriggerId","useId","triggerId","id","watch","triggeringElement","trigger2","prevTriggeringElement","_a","_b","_c","$el","removeEventListener","onAutofocusTriggerEnter","addEventListener","includes","immediate","onBeforeUnmount","handleClick","handleClose","onClose","handleOpen","onOpen","useFormSize","commandHandler","args","focus","onItemEnter","onItemLeave","contentEl","unref","handleCurrentTabIdChange","handleEntryFocus","e","preventDefault","stopImmediatePropagation","handleBeforeShowTooltip","handleShowTooltip","event","type","handleBeforeHideTooltip","provide","DROPDOWN_INJECTION_KEY","role","instance","toRef","hideOnClick","onFocusAfterTrapped","call","preventScroll","handlerMainButtonClick","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_component_el_dropdown_collection","resolveComponent","_component_el_roving_focus_group","_component_el_scrollbar","_component_el_only_child","_component_el_tooltip","_component_el_button","_component_arrow_down","hideTimeout","placement","popperClass","triggerKeys","showTimeout","splitButton","disabled","transition","namespace","teleported","pure","persistent","onBeforeShow","onShow","onBeforeHide","createSlots","content","withCtx","createVNode","tag","default","loop","orientation","onCurrentTabIdChange","onEntryFocus","renderSlot","$slots","_","openBlock","createBlock","_component_el_button_group","key","mergeProps","buttonProps","size","tabindex","onClick","class","_component_el_icon","normalizeClass","createCommentVNode","_export_sfc"],"sources":["../../../../../../packages/components/dropdown/src/dropdown.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b(), ns.is('disabled', disabled)]\">\n <el-tooltip\n ref=\"popperRef\"\n :role=\"role\"\n :effect=\"effect\"\n :fallback-placements=\"['bottom', 'top']\"\n :popper-options=\"popperOptions\"\n :gpu-acceleration=\"false\"\n :hide-after=\"trigger === 'hover' ? hideTimeout : 0\"\n :manual-mode=\"true\"\n :placement=\"placement\"\n :popper-class=\"[ns.e('popper'), popperClass]\"\n :reference-element=\"referenceElementRef?.$el\"\n :trigger=\"trigger\"\n :trigger-keys=\"triggerKeys\"\n :trigger-target-el=\"contentRef\"\n :show-after=\"trigger === 'hover' ? showTimeout : 0\"\n :stop-popper-mouse-event=\"false\"\n :virtual-ref=\"triggeringElementRef\"\n :virtual-triggering=\"splitButton\"\n :disabled=\"disabled\"\n :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n :teleported=\"teleported\"\n pure\n persistent\n @before-show=\"handleBeforeShowTooltip\"\n @show=\"handleShowTooltip\"\n @before-hide=\"handleBeforeHideTooltip\"\n >\n <template #content>\n <el-scrollbar\n ref=\"scrollbar\"\n :wrap-style=\"wrapStyle\"\n tag=\"div\"\n :view-class=\"ns.e('list')\"\n >\n <el-roving-focus-group\n :loop=\"loop\"\n :current-tab-id=\"currentTabId\"\n orientation=\"horizontal\"\n @current-tab-id-change=\"handleCurrentTabIdChange\"\n @entry-focus=\"handleEntryFocus\"\n >\n <el-dropdown-collection>\n <slot name=\"dropdown\" />\n </el-dropdown-collection>\n </el-roving-focus-group>\n </el-scrollbar>\n </template>\n <template v-if=\"!splitButton\" #default>\n <el-only-child\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n role=\"button\"\n :tabindex=\"tabindex\"\n >\n <slot name=\"default\" />\n </el-only-child>\n </template>\n </el-tooltip>\n <template v-if=\"splitButton\">\n <el-button-group>\n <el-button\n ref=\"referenceElementRef\"\n v-bind=\"buttonProps\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n @click=\"handlerMainButtonClick\"\n >\n <slot name=\"default\" />\n </el-button>\n <el-button\n :id=\"triggerId\"\n ref=\"triggeringElementRef\"\n v-bind=\"buttonProps\"\n role=\"button\"\n :size=\"dropdownSize\"\n :type=\"type\"\n :class=\"ns.e('caret-button')\"\n :disabled=\"disabled\"\n :tabindex=\"tabindex\"\n :aria-label=\"t('el.dropdown.toggleDropdown')\"\n >\n <el-icon :class=\"ns.e('icon')\"><arrow-down /></el-icon>\n </el-button>\n </el-button-group>\n </template>\n </div>\n</template>\n<script lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n defineComponent,\n getCurrentInstance,\n onBeforeUnmount,\n provide,\n ref,\n toRef,\n unref,\n watch,\n} from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport ElScrollbar from '@element-plus/components/scrollbar'\nimport ElIcon from '@element-plus/components/icon'\nimport ElRovingFocusGroup from '@element-plus/components/roving-focus-group'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useFormSize } from '@element-plus/components/form'\nimport { addUnit, ensureArray } from '@element-plus/utils'\nimport { ArrowDown } from '@element-plus/icons-vue'\nimport { useId, useLocale, useNamespace } from '@element-plus/hooks'\nimport { ElCollection as ElDropdownCollection, dropdownProps } from './dropdown'\nimport { DROPDOWN_INJECTION_KEY } from './tokens'\n\nimport type { CSSProperties } from 'vue'\n\nconst { ButtonGroup: ElButtonGroup } = ElButton\n\nexport default defineComponent({\n name: 'ElDropdown',\n components: {\n ElButton,\n ElButtonGroup,\n ElScrollbar,\n ElDropdownCollection,\n ElTooltip,\n ElRovingFocusGroup,\n ElOnlyChild,\n ElIcon,\n ArrowDown,\n },\n props: dropdownProps,\n emits: ['visible-change', 'click', 'command'],\n setup(props, { emit }) {\n const _instance = getCurrentInstance()\n const ns = useNamespace('dropdown')\n const { t } = useLocale()\n\n const triggeringElementRef = ref()\n const referenceElementRef = ref()\n const popperRef = ref<InstanceType<typeof ElTooltip> | null>(null)\n const contentRef = ref<HTMLElement | null>(null)\n const scrollbar = ref(null)\n const currentTabId = ref<string | null>(null)\n const isUsingKeyboard = ref(false)\n\n const wrapStyle = computed<CSSProperties>(() => ({\n maxHeight: addUnit(props.maxHeight),\n }))\n const dropdownTriggerKls = computed(() => [ns.m(dropdownSize.value)])\n const trigger = computed(() => ensureArray(props.trigger))\n\n const defaultTriggerId = useId().value\n const triggerId = computed<string>(() => props.id || defaultTriggerId)\n\n // The goal of this code is to focus on the tooltip triggering element when it is hovered.\n // This is a temporary fix for where closing the dropdown through pointerleave event focuses on a\n // completely different element. For a permanent solution, remove all calls to any \"element.focus()\"\n // that are triggered through pointer enter/leave events.\n watch(\n [triggeringElementRef, trigger],\n ([triggeringElement, trigger], [prevTriggeringElement]) => {\n if (prevTriggeringElement?.$el?.removeEventListener) {\n prevTriggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (triggeringElement?.$el?.removeEventListener) {\n triggeringElement.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n if (\n triggeringElement?.$el?.addEventListener &&\n trigger.includes('hover')\n ) {\n triggeringElement.$el.addEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n },\n { immediate: true }\n )\n\n onBeforeUnmount(() => {\n if (triggeringElementRef.value?.$el?.removeEventListener) {\n triggeringElementRef.value.$el.removeEventListener(\n 'pointerenter',\n onAutofocusTriggerEnter\n )\n }\n })\n\n function handleClick() {\n handleClose()\n }\n\n function handleClose() {\n popperRef.value?.onClose()\n }\n\n function handleOpen() {\n popperRef.value?.onOpen()\n }\n\n const dropdownSize = useFormSize()\n\n function commandHandler(...args: any[]) {\n emit('command', ...args)\n }\n\n function onAutofocusTriggerEnter() {\n triggeringElementRef.value?.$el?.focus()\n }\n\n function onItemEnter() {\n // NOOP for now\n }\n\n function onItemLeave() {\n const contentEl = unref(contentRef)\n\n trigger.value.includes('hover') && contentEl?.focus()\n currentTabId.value = null\n }\n\n function handleCurrentTabIdChange(id: string) {\n currentTabId.value = id\n }\n\n function handleEntryFocus(e: Event) {\n if (!isUsingKeyboard.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n function handleBeforeShowTooltip() {\n emit('visible-change', true)\n }\n\n function handleShowTooltip(event?: Event) {\n if (event?.type === 'keydown') {\n contentRef.value.focus()\n }\n }\n\n function handleBeforeHideTooltip() {\n emit('visible-change', false)\n }\n\n provide(DROPDOWN_INJECTION_KEY, {\n contentRef,\n role: computed(() => props.role),\n triggerId,\n isUsingKeyboard,\n onItemEnter,\n onItemLeave,\n })\n\n provide('elDropdown', {\n instance: _instance,\n dropdownSize,\n handleClick,\n commandHandler,\n trigger: toRef(props, 'trigger'),\n hideOnClick: toRef(props, 'hideOnClick'),\n })\n\n const onFocusAfterTrapped = (e: Event) => {\n e.preventDefault()\n contentRef.value?.focus?.({\n preventScroll: true,\n })\n }\n\n const handlerMainButtonClick = (event: MouseEvent) => {\n emit('click', event)\n }\n\n return {\n t,\n ns,\n scrollbar,\n wrapStyle,\n dropdownTriggerKls,\n dropdownSize,\n triggerId,\n currentTabId,\n handleCurrentTabIdChange,\n handlerMainButtonClick,\n handleEntryFocus,\n handleClose,\n handleOpen,\n handleBeforeShowTooltip,\n handleShowTooltip,\n handleBeforeHideTooltip,\n onFocusAfterTrapped,\n popperRef,\n contentRef,\n triggeringElementRef,\n referenceElementRef,\n }\n },\n})\n</script>\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}