{"version":3,"file":"Tooltip.mjs","sources":["../../../../../../packages/vue-components/vc-tooltip/src/Tooltip.tsx"],"sourcesContent":["import type { CSSProperties, PropType } from 'vue';\nimport { getPropsSlot, PropTypes } from '@antdv/utils';\nimport { defineComponent, shallowRef, watchEffect } from 'vue';\nimport Trigger from '../../vc-trigger/src/Trigger';\nimport Content from './Content';\nimport { placements } from './placements';\n\nfunction noop() {}\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'Tooltip',\n  inheritAttrs: false,\n  props: {\n    trigger: PropTypes.any.def(['hover']),\n    defaultVisible: { type: Boolean, default: undefined },\n    visible: { type: Boolean, default: undefined },\n    placement: PropTypes.string.def('right'),\n    transitionName: String,\n    animation: PropTypes.any,\n    afterVisibleChange: PropTypes.func.def(() => {}),\n    overlayStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },\n    overlayClassName: String,\n    prefixCls: PropTypes.string.def('rc-tooltip'),\n    mouseEnterDelay: PropTypes.number.def(0.1),\n    mouseLeaveDelay: PropTypes.number.def(0.1),\n    getPopupContainer: Function as PropType<(triggerNode?: HTMLElement) => HTMLElement>,\n    destroyTooltipOnHide: { type: Boolean, default: false },\n    align: PropTypes.object.def(() => ({})),\n    arrowContent: PropTypes.any.def(null),\n    tipId: String,\n    builtinPlacements: PropTypes.object,\n    overlayInnerStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: undefined as CSSProperties,\n    },\n    popupVisible: { type: Boolean, default: undefined },\n    onVisibleChange: Function,\n    onPopupAlign: Function,\n    arrow: { type: Boolean, default: true },\n  },\n  setup(props, { slots, attrs, expose }) {\n    const triggerDOM = shallowRef();\n\n    const getPopupElement = () => {\n      const { prefixCls, tipId, overlayInnerStyle } = props;\n      return [\n        props.arrow\n          ? (\n              <div class={`${prefixCls}-arrow`} key=\"arrow\">\n                {getPropsSlot(slots, props, 'arrowContent')}\n              </div>\n            )\n          : null,\n        <Content\n          key=\"content\"\n          prefixCls={prefixCls}\n          id={tipId}\n          overlayInnerStyle={overlayInnerStyle}\n          v-slots={{ overlay: slots.overlay }}\n        />,\n      ];\n    };\n\n    const getPopupDomNode = () => {\n      return triggerDOM.value.getPopupDomNode();\n    };\n\n    expose({\n      getPopupDomNode,\n      triggerDOM,\n      forcePopupAlign: () => triggerDOM.value?.forcePopupAlign(),\n    });\n\n    const destroyTooltip = shallowRef(false);\n    const autoDestroy = shallowRef(false);\n    watchEffect(() => {\n      const { destroyTooltipOnHide } = props;\n      if (typeof destroyTooltipOnHide === 'boolean') {\n        destroyTooltip.value = destroyTooltipOnHide;\n      } else if (destroyTooltipOnHide && typeof destroyTooltipOnHide === 'object') {\n        const { keepParent } = destroyTooltipOnHide;\n        destroyTooltip.value = keepParent === true;\n        autoDestroy.value = keepParent === false;\n      }\n    });\n\n    return () => {\n      const {\n        overlayClassName,\n        trigger,\n        mouseEnterDelay,\n        mouseLeaveDelay,\n        overlayStyle,\n        prefixCls,\n        afterVisibleChange,\n        transitionName,\n        animation,\n        placement,\n        align,\n        destroyTooltipOnHide,\n        defaultVisible,\n        ...restProps\n      } = props;\n      const extraProps = { ...restProps };\n      if (props.visible !== undefined)\n        extraProps.popupVisible = props.visible;\n\n      const triggerProps = {\n        popupClassName: overlayClassName,\n        prefixCls,\n        action: trigger,\n        builtinPlacements: placements,\n        popupPlacement: placement,\n        popupAlign: align,\n        afterPopupVisibleChange: afterVisibleChange,\n        popupTransitionName: transitionName,\n        popupAnimation: animation,\n        defaultPopupVisible: defaultVisible,\n        destroyPopupOnHide: destroyTooltip.value,\n        autoDestroy: autoDestroy.value,\n        mouseLeaveDelay,\n        popupStyle: overlayStyle,\n        mouseEnterDelay,\n        ...extraProps,\n        ...attrs,\n        onPopupVisibleChange: props.onVisibleChange || (noop as any),\n        onPopupAlign: props.onPopupAlign || noop,\n        ref: triggerDOM,\n        arrow: !!props.arrow,\n        popup: getPopupElement(),\n      };\n      return <Trigger {...triggerProps} v-slots={{ default: slots.default }}></Trigger>;\n    };\n  },\n});\n"],"names":["noop","compatConfig","MODE","name","inheritAttrs","props","trigger","PropTypes","any","def","defaultVisible","type","Boolean","default","undefined","visible","placement","string","transitionName","String","animation","afterVisibleChange","func","overlayStyle","Object","overlayClassName","prefixCls","mouseEnterDelay","number","mouseLeaveDelay","getPopupContainer","Function","destroyTooltipOnHide","align","object","arrowContent","tipId","builtinPlacements","overlayInnerStyle","popupVisible","onVisibleChange","onPopupAlign","arrow","setup","slots","attrs","expose","triggerDOM","shallowRef","getPopupElement","_createVNode","getPropsSlot","Content","overlay","getPopupDomNode","value","forcePopupAlign","destroyTooltip","autoDestroy","watchEffect","keepParent","restProps","extraProps","triggerProps","popupClassName","action","placements","popupPlacement","popupAlign","afterPopupVisibleChange","popupTransitionName","popupAnimation","defaultPopupVisible","destroyPopupOnHide","popupStyle","onPopupVisibleChange","ref","popup","Trigger"],"mappings":"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"}