{"version":3,"file":"Trigger.cjs","sources":["../../../../../../packages/vue-components/vc-trigger/src/Trigger.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'vue';\nimport {\n  addEventListenerWrap,\n  BaseMixin,\n  classNames,\n  cloneElement,\n  contains,\n  filterEmpty,\n  findDOMNode,\n  getComponent,\n  getEvents,\n  getSlot,\n  hasProp,\n  raf,\n  supportsPassive,\n} from '@antdv/utils';\nimport { computed, defineComponent, inject, provide, shallowRef } from 'vue';\nimport Portal from '../../portal/src/PortalWrapper';\nimport { useProvidePortal } from './context';\nimport { noop, triggerProps } from './interface';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils/alignUtil';\n\nconst ALL_HANDLERS = [\n  'onClick',\n  'onMousedown',\n  'onTouchstart',\n  'onMouseenter',\n  'onMouseleave',\n  'onFocus',\n  'onBlur',\n  'onContextmenu',\n];\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'Trigger',\n  mixins: [BaseMixin],\n  inheritAttrs: false,\n  props: triggerProps(),\n  setup(props) {\n    const align = computed(() => {\n      const { popupPlacement, popupAlign, builtinPlacements } = props;\n      if (popupPlacement && builtinPlacements)\n        return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n\n      return popupAlign;\n    });\n    const popupRef = shallowRef(null);\n    const setPopupRef = (val) => {\n      popupRef.value = val;\n    };\n    return {\n      vcTriggerContext: inject(\n        'vcTriggerContext',\n        {} as {\n          onPopupMouseDown?: (...args: any[]) => void;\n          onPopupMouseenter?: (...args: any[]) => void;\n          onPopupMouseleave?: (...args: any[]) => void;\n        },\n      ),\n      popupRef,\n      setPopupRef,\n      triggerRef: shallowRef(null),\n      align,\n      focusTime: null,\n      clickOutsideHandler: null,\n      contextmenuOutsideHandler1: null,\n      contextmenuOutsideHandler2: null,\n      touchOutsideHandler: null,\n      attachId: null,\n      delayTimer: null,\n      hasPopupMouseDown: false,\n      preClickTime: null,\n      preTouchTime: null,\n      mouseDownTimeout: null,\n      childOriginEvents: {},\n    };\n  },\n  data() {\n    const props = this.$props;\n    let popupVisible;\n    if (this.popupVisible !== undefined)\n      popupVisible = !!props.popupVisible;\n    else\n      popupVisible = !!props.defaultPopupVisible;\n\n    ALL_HANDLERS.forEach((h) => {\n      (this as any)[`fire${h}`] = (e) => {\n        (this as any).fireEvents(h, e);\n      };\n    });\n    return {\n      prevPopupVisible: popupVisible,\n      sPopupVisible: popupVisible,\n      point: null,\n    };\n  },\n  watch: {\n    popupVisible(val) {\n      if (val !== undefined) {\n        this.prevPopupVisible = this.sPopupVisible;\n        this.sPopupVisible = val;\n      }\n    },\n  },\n  created() {\n    provide('vcTriggerContext', {\n      onPopupMouseDown: this.onPopupMouseDown,\n      onPopupMouseenter: this.onPopupMouseenter,\n      onPopupMouseleave: this.onPopupMouseleave,\n    });\n    useProvidePortal(this);\n  },\n  deactivated() {\n    this.setPopupVisible(false);\n  },\n  mounted() {\n    this.$nextTick(() => {\n      this.updatedCal();\n    });\n  },\n\n  updated() {\n    this.$nextTick(() => {\n      this.updatedCal();\n    });\n  },\n\n  beforeUnmount() {\n    this.clearDelayTimer();\n    this.clearOutsideHandler();\n    clearTimeout(this.mouseDownTimeout);\n    raf.cancel(this.attachId);\n  },\n  methods: {\n    updatedCal() {\n      const props = this.$props;\n      const state = this.$data;\n\n      // We must listen to `mousedown` or `touchstart`, edge case:\n      // https://github.com/ant-design/ant-design/issues/5804\n      // https://github.com/react-component/calendar/issues/250\n      // https://github.com/react-component/trigger/issues/50\n      if (state.sPopupVisible) {\n        let currentDocument;\n        if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n          currentDocument = props.getDocument(this.getRootDomNode());\n          this.clickOutsideHandler = addEventListenerWrap(\n            currentDocument,\n            'mousedown',\n            this.onDocumentClick,\n          );\n        }\n        // always hide on mobile\n        if (!this.touchOutsideHandler) {\n          currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n          this.touchOutsideHandler = addEventListenerWrap(\n            currentDocument,\n            'touchstart',\n            this.onDocumentClick,\n            supportsPassive ? { passive: false } : false,\n          );\n        }\n        // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n        if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n          currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n          this.contextmenuOutsideHandler1 = addEventListenerWrap(\n            currentDocument,\n            'scroll',\n            this.onContextmenuClose,\n          );\n        }\n        // close popup when trigger type contains 'onContextmenu' and window is blur.\n        if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n          this.contextmenuOutsideHandler2 = addEventListenerWrap(\n            window,\n            'blur',\n            this.onContextmenuClose,\n          );\n        }\n      } else {\n        this.clearOutsideHandler();\n      }\n    },\n    onMouseenter(e) {\n      const { mouseEnterDelay } = this.$props;\n      this.fireEvents('onMouseenter', e);\n      this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n    },\n\n    onMouseMove(e) {\n      this.fireEvents('onMousemove', e);\n      this.setPoint(e);\n    },\n\n    onMouseleave(e) {\n      this.fireEvents('onMouseleave', e);\n      this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n    },\n\n    onPopupMouseenter() {\n      const { vcTriggerContext = {} } = this;\n      if (vcTriggerContext.onPopupMouseenter)\n        vcTriggerContext.onPopupMouseenter();\n\n      this.clearDelayTimer();\n    },\n\n    onPopupMouseleave(e) {\n      if (\n        e\n        && e.relatedTarget\n        && !e.relatedTarget.setTimeout\n        && contains(this.popupRef?.getElement(), e.relatedTarget)\n      ) {\n        return;\n      }\n\n      if (this.isMouseLeaveToHide())\n        this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n\n      const { vcTriggerContext = {} } = this;\n      if (vcTriggerContext.onPopupMouseleave)\n        vcTriggerContext.onPopupMouseleave(e);\n    },\n\n    onFocus(e) {\n      this.fireEvents('onFocus', e);\n      // incase focusin and focusout\n      this.clearDelayTimer();\n      if (this.isFocusToShow()) {\n        this.focusTime = Date.now();\n        this.delaySetPopupVisible(true, this.$props.focusDelay);\n      }\n    },\n\n    onMousedown(e) {\n      this.fireEvents('onMousedown', e);\n      this.preClickTime = Date.now();\n    },\n\n    onTouchstart(e) {\n      this.fireEvents('onTouchstart', e);\n      this.preTouchTime = Date.now();\n    },\n\n    onBlur(e) {\n      if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n        this.fireEvents('onBlur', e);\n        this.clearDelayTimer();\n        if (this.isBlurToHide())\n          this.delaySetPopupVisible(false, this.$props.blurDelay);\n      }\n    },\n\n    onContextmenu(e) {\n      e.preventDefault();\n      this.fireEvents('onContextmenu', e);\n      this.setPopupVisible(true, e);\n    },\n\n    onContextmenuClose() {\n      if (this.isContextmenuToShow())\n        this.close();\n    },\n\n    onClick(event) {\n      this.fireEvents('onClick', event);\n      // focus will trigger click\n      if (this.focusTime) {\n        let preTime;\n        if (this.preClickTime && this.preTouchTime)\n          preTime = Math.min(this.preClickTime, this.preTouchTime);\n        else if (this.preClickTime)\n          preTime = this.preClickTime;\n        else if (this.preTouchTime)\n          preTime = this.preTouchTime;\n\n        if (Math.abs(preTime - this.focusTime) < 20)\n          return;\n\n        this.focusTime = 0;\n      }\n      this.preClickTime = 0;\n      this.preTouchTime = 0;\n      // Only prevent default when all the action is click.\n      // https://github.com/ant-design/ant-design/issues/17043\n      // https://github.com/ant-design/ant-design/issues/17291\n      if (\n        this.isClickToShow()\n        && (this.isClickToHide() || this.isBlurToHide())\n        && event\n        && event.preventDefault\n      ) {\n        event.preventDefault();\n      }\n\n      if (event && event.domEvent)\n        event.domEvent.preventDefault();\n\n      const nextVisible = !this.$data.sPopupVisible;\n      if ((this.isClickToHide() && !nextVisible) || (nextVisible && this.isClickToShow()))\n        this.setPopupVisible(!this.$data.sPopupVisible, event);\n    },\n    onPopupMouseDown(...args: any[]) {\n      const { vcTriggerContext = {} } = this;\n      this.hasPopupMouseDown = true;\n\n      clearTimeout(this.mouseDownTimeout);\n      this.mouseDownTimeout = setTimeout(() => {\n        this.hasPopupMouseDown = false;\n      }, 0);\n      if (vcTriggerContext.onPopupMouseDown)\n        vcTriggerContext.onPopupMouseDown(...args);\n    },\n\n    onDocumentClick(event) {\n      if (this.$props.mask && !this.$props.maskClosable)\n        return;\n\n      const target = event.target;\n      const root = this.getRootDomNode();\n      const popupNode = this.getPopupDomNode();\n      if (\n        // mousedown on the target should also close popup when action is contextMenu.\n        // https://github.com/ant-design/ant-design/issues/29853\n        (!contains(root, target) || this.isContextMenuOnly())\n        && !contains(popupNode, target)\n        && !this.hasPopupMouseDown\n      ) {\n        // https://github.com/vuejs/core/issues/4462\n        // vue 动画bug导致 https://github.com/vueComponent/ant-design-vue/issues/5259，\n        // 改成延时解决\n        this.delaySetPopupVisible(false, 0.1);\n      }\n    },\n    getPopupDomNode() {\n      // for test\n      return this.popupRef?.getElement() || null;\n    },\n\n    getRootDomNode() {\n      const { getTriggerDOMNode } = this.$props;\n      if (getTriggerDOMNode) {\n        const domNode\n          = this.triggerRef?.$el?.nodeName === '#comment' ? null : findDOMNode(this.triggerRef);\n        return findDOMNode(getTriggerDOMNode(domNode));\n      }\n\n      try {\n        const domNode\n          = this.triggerRef?.$el?.nodeName === '#comment' ? null : findDOMNode(this.triggerRef);\n        if (domNode)\n          return domNode;\n      } catch (err) {\n        // Do nothing\n      }\n      return findDOMNode(this);\n    },\n\n    handleGetPopupClassFromAlign(align) {\n      const className = [];\n      const props = this.$props;\n      const {\n        popupPlacement,\n        builtinPlacements,\n        prefixCls,\n        alignPoint,\n        getPopupClassNameFromAlign,\n      } = props;\n      if (popupPlacement && builtinPlacements)\n        className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n\n      if (getPopupClassNameFromAlign)\n        className.push(getPopupClassNameFromAlign(align));\n\n      return className.join(' ');\n    },\n\n    getPopupAlign() {\n      const props = this.$props;\n      const { popupPlacement, popupAlign, builtinPlacements } = props;\n      if (popupPlacement && builtinPlacements)\n        return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n\n      return popupAlign;\n    },\n    getComponent() {\n      const mouseProps: HTMLAttributes = {};\n      if (this.isMouseEnterToShow())\n        mouseProps.onMouseenter = this.onPopupMouseenter;\n\n      if (this.isMouseLeaveToHide())\n        mouseProps.onMouseleave = this.onPopupMouseleave;\n\n      mouseProps.onMousedown = this.onPopupMouseDown;\n      mouseProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart'] = this.onPopupMouseDown;\n      const { handleGetPopupClassFromAlign, getRootDomNode, $attrs } = this;\n      const {\n        prefixCls,\n        destroyPopupOnHide,\n        popupClassName,\n        popupAnimation,\n        popupTransitionName,\n        popupStyle,\n        mask,\n        maskAnimation,\n        maskTransitionName,\n        zIndex,\n        stretch,\n        alignPoint,\n        mobile,\n        arrow,\n        forceRender,\n      } = this.$props;\n      const { sPopupVisible, point } = this.$data;\n      const popupProps = {\n        prefixCls,\n        arrow,\n        destroyPopupOnHide,\n        visible: sPopupVisible,\n        point: alignPoint ? point : null,\n        align: this.align,\n        animation: popupAnimation,\n        getClassNameFromAlign: handleGetPopupClassFromAlign,\n        stretch,\n        getRootDomNode,\n        mask,\n        zIndex,\n        transitionName: popupTransitionName,\n        maskAnimation,\n        maskTransitionName,\n        class: popupClassName,\n        style: popupStyle,\n        onAlign: $attrs.onPopupAlign || noop,\n        ...mouseProps,\n        ref: this.setPopupRef,\n        mobile,\n        forceRender,\n      } as any;\n      return (\n        <Popup\n          {...popupProps}\n          v-slots={{ default: this.$slots.popup || (() => getComponent(this, 'popup')) }}\n        >\n        </Popup>\n      );\n    },\n\n    attachParent(popupContainer) {\n      raf.cancel(this.attachId);\n\n      const { getPopupContainer, getDocument } = this.$props;\n      const domNode = this.getRootDomNode();\n\n      let mountNode;\n      if (!getPopupContainer) {\n        mountNode = getDocument(this.getRootDomNode()).body;\n      } else if (domNode || getPopupContainer.length === 0) {\n        // Compatible for legacy getPopupContainer with domNode argument.\n        // If no need `domNode` argument, will call directly.\n        // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n        mountNode = getPopupContainer(domNode);\n      }\n\n      if (mountNode) {\n        mountNode.appendChild(popupContainer);\n      } else {\n        // Retry after frame render in case parent not ready\n        this.attachId = raf(() => {\n          this.attachParent(popupContainer);\n        });\n      }\n    },\n\n    getContainer() {\n      const { $props: props } = this;\n      const { getDocument } = props;\n      const popupContainer = getDocument(this.getRootDomNode()).createElement('div');\n      // Make sure default popup container will never cause scrollbar appearing\n      // https://github.com/react-component/trigger/issues/41\n      popupContainer.style.position = 'absolute';\n      popupContainer.style.top = '0';\n      popupContainer.style.left = '0';\n      popupContainer.style.width = '100%';\n      this.attachParent(popupContainer);\n      return popupContainer;\n    },\n\n    setPopupVisible(sPopupVisible: boolean, event?: any) {\n      const { alignPoint, sPopupVisible: prevPopupVisible, onPopupVisibleChange } = this;\n      this.clearDelayTimer();\n      if (prevPopupVisible !== sPopupVisible) {\n        if (!hasProp(this, 'popupVisible')) {\n          this.setState({\n            sPopupVisible,\n            prevPopupVisible,\n          });\n        }\n        onPopupVisibleChange && onPopupVisibleChange(sPopupVisible);\n      }\n      // Always record the point position since mouseEnterDelay will delay the show\n      if (alignPoint && event && sPopupVisible)\n        this.setPoint(event);\n    },\n\n    setPoint(point) {\n      const { alignPoint } = this.$props;\n      if (!alignPoint || !point) return;\n\n      this.setState({\n        point: {\n          pageX: point.pageX,\n          pageY: point.pageY,\n        },\n      });\n    },\n    handlePortalUpdate() {\n      if (this.prevPopupVisible !== this.sPopupVisible)\n        this.afterPopupVisibleChange(this.sPopupVisible);\n    },\n    delaySetPopupVisible(visible: boolean, delayS: number, event?: any) {\n      const delay = delayS * 1000;\n      this.clearDelayTimer();\n      if (delay) {\n        const point = event ? { pageX: event.pageX, pageY: event.pageY } : null;\n        this.delayTimer = setTimeout(() => {\n          this.setPopupVisible(visible, point);\n          this.clearDelayTimer();\n        }, delay);\n      } else {\n        this.setPopupVisible(visible, event);\n      }\n    },\n\n    clearDelayTimer() {\n      if (this.delayTimer) {\n        clearTimeout(this.delayTimer);\n        this.delayTimer = null;\n      }\n    },\n\n    clearOutsideHandler() {\n      if (this.clickOutsideHandler) {\n        this.clickOutsideHandler.remove();\n        this.clickOutsideHandler = null;\n      }\n\n      if (this.contextmenuOutsideHandler1) {\n        this.contextmenuOutsideHandler1.remove();\n        this.contextmenuOutsideHandler1 = null;\n      }\n\n      if (this.contextmenuOutsideHandler2) {\n        this.contextmenuOutsideHandler2.remove();\n        this.contextmenuOutsideHandler2 = null;\n      }\n\n      if (this.touchOutsideHandler) {\n        this.touchOutsideHandler.remove();\n        this.touchOutsideHandler = null;\n      }\n    },\n\n    createTwoChains(event: string) {\n      let fn = () => {};\n      const events = getEvents(this);\n      if (this.childOriginEvents[event] && events[event])\n        return this[`fire${event}`];\n\n      fn = this.childOriginEvents[event] || events[event] || fn;\n      return fn as any;\n    },\n\n    isClickToShow() {\n      const { action, showAction } = this.$props;\n      return action.includes('click') || showAction.includes('click');\n    },\n\n    isContextMenuOnly() {\n      const { action } = this.$props;\n      return action === 'contextmenu' || (action.length === 1 && action[0] === 'contextmenu');\n    },\n\n    isContextmenuToShow() {\n      const { action, showAction } = this.$props;\n      return action.includes('contextmenu') || showAction.includes('contextmenu');\n    },\n\n    isClickToHide() {\n      const { action, hideAction } = this.$props;\n      return action.includes('click') || hideAction.includes('click');\n    },\n\n    isMouseEnterToShow() {\n      const { action, showAction } = this.$props;\n      return action.includes('hover') || showAction.includes('mouseenter');\n    },\n\n    isMouseLeaveToHide() {\n      const { action, hideAction } = this.$props;\n      return action.includes('hover') || hideAction.includes('mouseleave');\n    },\n\n    isFocusToShow() {\n      const { action, showAction } = this.$props;\n      return action.includes('focus') || showAction.includes('focus');\n    },\n\n    isBlurToHide() {\n      const { action, hideAction } = this.$props;\n      return action.includes('focus') || hideAction.includes('blur');\n    },\n    forcePopupAlign() {\n      if (this.$data.sPopupVisible)\n        this.popupRef?.forceAlign();\n    },\n    fireEvents(type: string, e: Event) {\n      if (this.childOriginEvents[type])\n        this.childOriginEvents[type](e);\n\n      const event = this.$props[type] || this.$attrs[type];\n      if (event)\n        event(e);\n    },\n\n    close() {\n      this.setPopupVisible(false);\n    },\n  },\n  render() {\n    const { $attrs } = this;\n    const children = filterEmpty(getSlot(this));\n    const { alignPoint, getPopupContainer } = this.$props;\n\n    const child = children[0];\n    this.childOriginEvents = getEvents(child);\n    const newChildProps: any = {\n      key: 'trigger',\n    };\n\n    if (this.isContextmenuToShow())\n      newChildProps.onContextmenu = this.onContextmenu;\n    else\n      newChildProps.onContextmenu = this.createTwoChains('onContextmenu');\n\n    if (this.isClickToHide() || this.isClickToShow()) {\n      newChildProps.onClick = this.onClick;\n      newChildProps.onMousedown = this.onMousedown;\n      newChildProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart'] = this.onTouchstart;\n    } else {\n      newChildProps.onClick = this.createTwoChains('onClick');\n      newChildProps.onMousedown = this.createTwoChains('onMousedown');\n      newChildProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart']\n        = this.createTwoChains('onTouchstart');\n    }\n    if (this.isMouseEnterToShow()) {\n      newChildProps.onMouseenter = this.onMouseenter;\n      if (alignPoint)\n        newChildProps.onMousemove = this.onMouseMove;\n    } else {\n      newChildProps.onMouseenter = this.createTwoChains('onMouseenter');\n    }\n    if (this.isMouseLeaveToHide())\n      newChildProps.onMouseleave = this.onMouseleave;\n    else\n      newChildProps.onMouseleave = this.createTwoChains('onMouseleave');\n\n    if (this.isFocusToShow() || this.isBlurToHide()) {\n      newChildProps.onFocus = this.onFocus;\n      newChildProps.onBlur = this.onBlur;\n    } else {\n      newChildProps.onFocus = this.createTwoChains('onFocus');\n      newChildProps.onBlur = (e) => {\n        if (\n          e\n          && (!e.relatedTarget || !contains(e.target as HTMLElement, e.relatedTarget as HTMLElement))\n        ) {\n          this.createTwoChains('onBlur')(e);\n        }\n      };\n    }\n    const childrenClassName = classNames(child && child.props && child.props.class, $attrs.class);\n    if (childrenClassName)\n      newChildProps.class = childrenClassName;\n\n    const trigger = cloneElement(child, { ...newChildProps, ref: 'triggerRef' }, true, true);\n\n    const portal = (\n      <Portal\n        key=\"portal\"\n        v-slots={{ default: this.getComponent }}\n        getContainer={getPopupContainer && (() => getPopupContainer(this.getRootDomNode()))}\n        didUpdate={this.handlePortalUpdate}\n        visible={this.$data.sPopupVisible}\n      >\n      </Portal>\n    );\n    return (\n      <>\n        {trigger}\n        {portal}\n      </>\n    );\n  },\n});\n"],"names":["ALL_HANDLERS","defineComponent","compatConfig","MODE","name","mixins","BaseMixin","inheritAttrs","props","triggerProps","setup","align","computed","popupPlacement","popupAlign","builtinPlacements","getAlignFromPlacement","popupRef","shallowRef","setPopupRef","val","value","vcTriggerContext","inject","triggerRef","focusTime","clickOutsideHandler","contextmenuOutsideHandler1","contextmenuOutsideHandler2","touchOutsideHandler","attachId","delayTimer","hasPopupMouseDown","preClickTime","preTouchTime","mouseDownTimeout","childOriginEvents","data","$props","popupVisible","undefined","defaultPopupVisible","forEach","h","e","fireEvents","prevPopupVisible","sPopupVisible","point","watch","created","provide","onPopupMouseDown","onPopupMouseenter","onPopupMouseleave","useProvidePortal","deactivated","setPopupVisible","mounted","$nextTick","updatedCal","updated","beforeUnmount","clearDelayTimer","clearOutsideHandler","clearTimeout","raf","cancel","methods","state","$data","currentDocument","isClickToHide","isContextmenuToShow","getDocument","getRootDomNode","addEventListenerWrap","onDocumentClick","supportsPassive","passive","onContextmenuClose","window","onMouseenter","mouseEnterDelay","delaySetPopupVisible","onMouseMove","setPoint","onMouseleave","mouseLeaveDelay","relatedTarget","setTimeout","contains","getElement","isMouseLeaveToHide","onFocus","isFocusToShow","Date","now","focusDelay","onMousedown","onTouchstart","onBlur","target","document","activeElement","isBlurToHide","blurDelay","onContextmenu","preventDefault","close","onClick","event","preTime","Math","min","abs","isClickToShow","domEvent","nextVisible","args","mask","maskClosable","root","popupNode","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","domNode","$el","nodeName","findDOMNode","err","handleGetPopupClassFromAlign","className","prefixCls","alignPoint","getPopupClassNameFromAlign","push","getAlignPopupClassName","join","getPopupAlign","getComponent","mouseProps","isMouseEnterToShow","$attrs","destroyPopupOnHide","popupClassName","popupAnimation","popupTransitionName","popupStyle","maskAnimation","maskTransitionName","zIndex","stretch","mobile","arrow","forceRender","popupProps","visible","animation","getClassNameFromAlign","transitionName","class","style","onAlign","onPopupAlign","noop","ref","_createVNode","Popup","default","$slots","popup","attachParent","popupContainer","getPopupContainer","mountNode","body","length","appendChild","getContainer","createElement","position","top","left","width","onPopupVisibleChange","hasProp","setState","pageX","pageY","handlePortalUpdate","afterPopupVisibleChange","delayS","delay","remove","createTwoChains","fn","events","getEvents","action","showAction","includes","hideAction","forcePopupAlign","forceAlign","type","render","children","filterEmpty","getSlot","child","newChildProps","key","onMousemove","childrenClassName","classNames","trigger","cloneElement","portal","Portal","_Fragment"],"mappings":"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"}