{"version":3,"file":"trigger2.mjs","sources":["../../../../../../packages/components/popper/src/trigger.vue"],"sourcesContent":["<template>\n  <el-only-child\n    v-if=\"!virtualTriggering\"\n    v-bind=\"$attrs\"\n    :aria-controls=\"ariaControls\"\n    :aria-describedby=\"ariaDescribedby\"\n    :aria-expanded=\"ariaExpanded\"\n    :aria-haspopup=\"ariaHaspopup\"\n  >\n    <slot />\n  </el-only-child>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport { computed, inject, onBeforeUnmount, onMounted, watch } from 'vue'\nimport { isNil } from 'lodash-unified'\nimport { unrefElement } from '@vueuse/core'\nimport { ElOnlyChild } from '@element-plus/components/slot'\nimport { useForwardRef } from '@element-plus/hooks'\nimport { POPPER_INJECTION_KEY } from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { usePopperTriggerProps } from './trigger'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n  name: 'ElPopperTrigger',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(usePopperTriggerProps)\n\nconst { role, triggerRef } = inject(POPPER_INJECTION_KEY, undefined)!\n\nuseForwardRef(triggerRef)\n\nconst ariaControls = computed<string | undefined>(() => {\n  return ariaHaspopup.value ? props.id : undefined\n})\n\nconst ariaDescribedby = computed<string | undefined>(() => {\n  if (role && role.value === 'tooltip') {\n    return props.open && props.id ? props.id : undefined\n  }\n  return undefined\n})\n\nconst ariaHaspopup = computed<string | undefined>(() => {\n  if (role && role.value !== 'tooltip') {\n    return role.value\n  }\n  return undefined\n})\n\nconst ariaExpanded = computed<string | undefined>(() => {\n  return ariaHaspopup.value ? `${props.open}` : undefined\n})\n\nlet virtualTriggerAriaStopWatch: WatchStopHandle | undefined = undefined\n\nonMounted(() => {\n  watch(\n    () => props.virtualRef,\n    (virtualEl) => {\n      if (virtualEl) {\n        triggerRef.value = unrefElement(virtualEl as HTMLElement)\n      }\n    },\n    {\n      immediate: true,\n    }\n  )\n\n  watch(\n    () => triggerRef.value,\n    (el, prevEl) => {\n      virtualTriggerAriaStopWatch?.()\n      virtualTriggerAriaStopWatch = undefined\n      if (isElement(el)) {\n        ;[\n          'onMouseenter',\n          'onMouseleave',\n          'onClick',\n          'onKeydown',\n          'onFocus',\n          'onBlur',\n          'onContextmenu',\n        ].forEach((eventName) => {\n          const handler = props[eventName]\n          if (handler) {\n            ;(el as HTMLElement).addEventListener(\n              eventName.slice(2).toLowerCase(),\n              handler\n            )\n            ;(prevEl as HTMLElement)?.removeEventListener?.(\n              eventName.slice(2).toLowerCase(),\n              handler\n            )\n          }\n        })\n        virtualTriggerAriaStopWatch = watch(\n          [ariaControls, ariaDescribedby, ariaHaspopup, ariaExpanded],\n          (watches) => {\n            ;[\n              'aria-controls',\n              'aria-describedby',\n              'aria-haspopup',\n              'aria-expanded',\n            ].forEach((key, idx) => {\n              isNil(watches[idx])\n                ? el.removeAttribute(key)\n                : el.setAttribute(key, watches[idx])\n            })\n          },\n          { immediate: true }\n        )\n      }\n      if (isElement(prevEl)) {\n        ;[\n          'aria-controls',\n          'aria-describedby',\n          'aria-haspopup',\n          'aria-expanded',\n        ].forEach((key) => prevEl.removeAttribute(key))\n      }\n    },\n    {\n      immediate: true,\n    }\n  )\n})\n\nonBeforeUnmount(() => {\n  virtualTriggerAriaStopWatch?.()\n  virtualTriggerAriaStopWatch = undefined\n})\n\ndefineExpose({\n  /**\n   * @description trigger element\n   */\n  triggerRef,\n})\n</script>\n"],"names":[],"mappings":"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"}