KABBOUCHI / vue-tippy

VueJS Tooltip powered by Tippy.js
https://vue-tippy.netlify.app
MIT License
722 stars 86 forks source link

Support <tippy> as a child #293

Closed kkuegler closed 7 months ago

kkuegler commented 12 months ago

This PR add the "tippy component as a child" behavior from the 4.x version back.

It is slightly different from the old functionality, because this now requires the to='parent' prop to be set on the Tippy compoent. This should make it easier to understand, where this tooltip belongs and also simplifies the implementation.

I like this "Tippy as a child" style, because in my mind a tooltip is just a small aspect of a component. "Hiding" it as a child seems nicer to me than having Tippy be the parent of the tooltipped element. This also behaves like :tag="null", i.e. not adding new DOM nodes under or around the tooltipped element. This helps with adding a tooltip without breaking existing styles.

There is some more technical details in the commit messages.

This change allows the following new ways of using Tippy:

<button>
  Click me!
  <tippy to="parent">
    I'm the tooltip
  </tippy>
</button>

or

<button>
  Click me!
  <tippy to="parent" content="I'm the tooltip"/>    
</button>

or

<button>
  Click me!
  <tippy to="parent">
    <template #content>
      I'm the tooltip
    </tooltip>
  </tippy>
</button>
nuxt-studio[bot] commented 12 months ago

Live Preview ready!

Name Edit Preview Latest Commit
vue-tippy Edit on Studio ↗︎ View Live Preview 44b67e46b90ee0cacf0e85b94fbb968b58704e00
mikoca commented 8 months ago

Nice I like it.