element-plus
Version:
A Component Library for Vue 3
1 lines • 1.09 kB
Source Map (JSON)
{"version":3,"file":"trigger.mjs","sources":["../../../../../../../packages/components/popper/src/renderers/trigger.ts"],"sourcesContent":["import { cloneVNode } from 'vue'\nimport { throwError } from '@element-plus/utils/error'\nimport { getFirstValidNode } from '@element-plus/utils/vnode'\n\nimport type { VNode, Ref, ComponentPublicInstance } from 'vue'\n\ntype EventHandler = (e: Event) => any\ninterface IRenderTriggerProps extends Record<string, unknown> {\n ref: string | Ref<ComponentPublicInstance | HTMLElement>\n onClick?: EventHandler\n onMouseover?: EventHandler\n onMouseleave?: EventHandler\n onFocus?: EventHandler\n}\n\nexport default function renderTrigger(\n trigger: VNode[],\n extraProps: IRenderTriggerProps\n) {\n const firstElement = getFirstValidNode(trigger, 1)\n if (!firstElement)\n throwError('renderTrigger', 'trigger expects single rooted node')\n return cloneVNode(firstElement, extraProps, true)\n}\n"],"names":[],"mappings":";;;;uBAgBE,SACA,YACA;AACA,QAAM,eAAe,kBAAkB,SAAS;AAChD,MAAI,CAAC;AACH,eAAW,iBAAiB;AAC9B,SAAO,WAAW,cAAc,YAAY;AAAA;;;;"}