{"version":3,"file":"popper.mjs","sources":["../../../../../../../packages/components/popper/src/renderers/popper.ts"],"sourcesContent":["import { withDirectives, Transition, vShow, withCtx, h } from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { stop } from '@element-plus/utils/dom'\n\nimport type { VNode, Ref, CSSProperties } from 'vue'\nimport type { Effect } from '../use-popper/defaults'\n\ninterface IRenderPopperProps {\n  effect: Effect\n  name: string\n  stopPopperMouseEvent: boolean\n  popperClass: string\n  popperStyle?: Partial<CSSProperties>\n  popperId: string\n  popperRef?: Ref<HTMLElement>\n  pure?: boolean\n  visibility: boolean\n  onMouseenter: () => void\n  onMouseleave: () => void\n  onAfterEnter?: () => void\n  onAfterLeave?: () => void\n  onBeforeEnter?: () => void\n  onBeforeLeave?: () => void\n}\n\nexport default function renderPopper(\n  props: IRenderPopperProps,\n  children: VNode[]\n) {\n  const {\n    effect,\n    name,\n    stopPopperMouseEvent,\n    popperClass,\n    popperStyle,\n    popperRef,\n    pure,\n    popperId,\n    visibility,\n    onMouseenter,\n    onMouseleave,\n    onAfterEnter,\n    onAfterLeave,\n    onBeforeEnter,\n    onBeforeLeave,\n  } = props\n\n  const kls = [popperClass, 'el-popper', `is-${effect}`, pure ? 'is-pure' : '']\n  /**\n   * Equivalent to\n   * <transition :name=\"name\">\n   *  <div v-show=\"visibility\" :aria-hidden=\"!visibility\" :class=\"kls\" ref=\"popperRef\" role=\"tooltip\" @mouseenter=\"\" @mouseleave=\"\" @click=\"\">\n   *    <slot />\n   *  </div>\n   * </transition>\n   */\n\n  const mouseUpAndDown = stopPopperMouseEvent ? stop : NOOP\n  return h(\n    Transition,\n    {\n      name,\n      onAfterEnter,\n      onAfterLeave,\n      onBeforeEnter,\n      onBeforeLeave,\n    },\n    {\n      default: withCtx(() => [\n        withDirectives(\n          h(\n            'div',\n            {\n              'aria-hidden': String(!visibility),\n              class: kls,\n              style: popperStyle ?? {},\n              id: popperId,\n              ref: popperRef ?? 'popperRef',\n              role: 'tooltip',\n              onMouseenter,\n              onMouseleave,\n              onClick: stop,\n              onMousedown: mouseUpAndDown,\n              onMouseup: mouseUpAndDown,\n            },\n            children\n          ),\n          [[vShow, visibility]]\n        ),\n      ]),\n    }\n  )\n}\n"],"names":[],"mappings":";;;;sBA0BE,OACA,UACA;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,MAAM,CAAC,aAAa,aAAa,MAAM,UAAU,OAAO,YAAY;AAU1E,QAAM,iBAAiB,uBAAuB,OAAO;AACrD,SAAO,EACL,YACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,KAEF;AAAA,IACE,SAAS,QAAQ,MAAM;AAAA,MACrB,eACE,EACE,OACA;AAAA,QACE,eAAe,OAAO,CAAC;AAAA,QACvB,OAAO;AAAA,QACP,OAAO,oCAAe;AAAA,QACtB,IAAI;AAAA,QACJ,KAAK,gCAAa;AAAA,QAClB,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA,SAAS;AAAA,QACT,aAAa;AAAA,QACb,WAAW;AAAA,SAEb,WAEF,CAAC,CAAC,OAAO;AAAA;AAAA;AAAA;;;;"}