element-plus
Version:
A Component Library for Vue 3
1 lines • 3.08 kB
Source Map (JSON)
{"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;;;;"}