mount tippy on first element when tag is null

This commit is contained in:
Georges KABBOUCHI
2023-04-30 19:33:38 +03:00
parent d9ad4fa3e3
commit d1eb22b539
3 changed files with 26 additions and 5 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vue-tippy",
"version": "6.1.0-beta.2",
"version": "6.1.0",
"main": "index.js",
"module": "dist/vue-tippy.mjs",
"unpkg": "dist/vue-tippy.iife.js",
+1 -1
View File
@@ -1,6 +1,6 @@
<template>
<div>
<tippy content="Choose an aggregation for this area">
<tippy content="Choose an aggregation for this area" :tag="null">
<button class="text-sm py-2 px-3 bg-gray-900 text-white rounded-lg">Aggregation #1</button>
</tippy>
</div>
+24 -3
View File
@@ -95,7 +95,7 @@ const TippyComponent = defineComponent({
return options
}
let target: any = () => elem.value
let target: any = () => elem.value
if (props.to) {
if (typeof Element !== 'undefined' && props.to instanceof Element) {
@@ -125,7 +125,7 @@ const TippyComponent = defineComponent({
if (slots.content)
tippy.setContent(() => contentElem.value)
},{ deep: true})
}, { deep: true })
let exposed = reactive({
elem,
@@ -139,9 +139,30 @@ const TippyComponent = defineComponent({
return () => {
const slot = slots.default ? slots.default(exposed) : []
const tag = typeof props.tag === 'string' ? resolveComponent(props.tag as string) : props.tag
const contentTag = typeof props.contentTag === 'string' ? resolveComponent(props.contentTag as string) : props.contentTag
if (!props.tag) {
const trigger = h(slot[0] as any, {
ref: elem, 'data-v-tippy': ''
});
return slots.content ?
[
trigger, h(
contentTag,
{
ref: contentElem,
style: { display: mounted.value ? 'inherit' : 'none' },
class: props.contentClass
},
slots.content(exposed)
)
]
: trigger
}
const tag = typeof props.tag === 'string' ? resolveComponent(props.tag as string) : props.tag
return h(tag, { ref: elem, 'data-v-tippy': '' }, slots.content ? [
slot,
h(