Install & Download:
# Vue 2
$ npm i v-tooltip@next
# Vue 3
$ npm i v-tooltip@vue3Description:
A Vue.js component used to create nice clean tooltips attaching to any element, based on the Popper.js.
How to use it:
1. Import and register the v-tooltip plugin.
// Vue 2
import Vue from 'vue'
import VTooltip from 'v-tooltip'
import 'v-tooltip/dist/v-tooltip.css'
Vue.use(VTooltip);
// OR
import Vue from 'vue'
import {
VTooltip,
VClosePopper,
Dropdown,
Tooltip,
Menu
} from 'v-tooltip'
Vue.directive('tooltip', VTooltip)
Vue.directive('close-popper', VClosePopper)
Vue.component('VDropdown', Dropdown)
Vue.component('VTooltip', Tooltip)
Vue.component('VMenu', Menu)// Vue 3
import VTooltipPlugin from 'v-tooltip'
app.use(VTooltipPlugin)
import 'v-tooltip/dist/v-tooltip.css'
// OR
import {
VTooltip,
VClosePopper,
Dropdown,
Tooltip,
Menu
} from 'v-tooltip'
app.directive('tooltip', VTooltip)
app.directive('close-popper', VClosePopper)
app.component('VDropdown', Dropdown)
app.component('VTooltip', Tooltip)
app.component('VMenu', Menu)2. Use it as a tooltip directive.
<button v-tooltip="Tooltip Content">
3. Use it to create a dropdown menu.
<VDropdown>
<button>Click me</button>
<template #popper>
<MyAwesomeComponent/>
</template>
</VDropdown>4. All default configs.
export const config = {
// Disable popper components
disabled: false,
// Default position offset [skidding, distance] (px)
offset: [0, 5],
// Default container where the tooltip will be appended
container: 'body',
// Element used to compute position and size boundaries
boundary: undefined,
// Skip delay & CSS transitions when another popper is shown, so that the popper appear to instanly move to the new position.
instantMove: false,
// Auto destroy tooltip DOM nodes (ms)
disposeTimeout: 5000,
// Triggers on the popper itself
popperTriggers: [],
// Positioning strategy
strategy: 'absolute',
// Popperjs modifiers
modifiers: [],
// Other options passed to Popperjs constructor
popperOptions: {},
// Themes
themes: {
tooltip: {
// Default tooltip placement relative to target element
placement: 'top',
// Default events that trigger the tooltip
triggers: ['hover', 'focus', 'touch'],
// Close tooltip on click on tooltip target
hideTriggers: events => [...events, 'click'],
// Delay (ms)
delay: {
show: 200,
hide: 0,
},
// Update popper on content resize
handleResize: false,
// Enable HTML content in directive
html: false,
// Displayed when tooltip content is loading
loadingContent: '...',
},
dropdown: {
// Default dropdown placement relative to target element
placement: 'bottom',
// Default events that trigger the dropdown
triggers: ['click'],
// Delay (ms)
delay: 0,
// Update popper on content resize
handleResize: true,
// Hide on clock outside
autoHide: true,
},
menu: {
$extend: 'dropdown',
triggers: ['hover', 'focus'],
popperTriggers: ['hover', 'focus'],
delay: {
show: 0,
hide: 400,
},
},
},
}Preview:

Changelog:
v3.0.0beta20 (01/13/2022)
- Bugfixes
- add popper methods show/hide to createTooltip()
