@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
2 lines (1 loc) • 1.59 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define(["vue"],t):(e="undefined"!=typeof globalThis?globalThis:e||self)["v-tooltip"]=t(e.vue)}(this,function(e){"use strict";var t=(e=>(e.local="local",e.session="session",e))(t||{}),o=(e=>(e.left="left",e.right="right",e.top="top",e.bottom="bottom",e))(o||{}),n=(e=>(e.before="before",e.after="after",e))(n||{}),r=(e=>(e.button="button",e.submit="submit",e.reset="reset",e))(r||{}),i=(e=>(e.nuxtLink="nuxt-link",e.routerLink="router-link",e.a="a",e.button="button",e))(i||{});const u={modifiers:{type:[String,Array],default:void 0}};n.before,o.bottom,r.button,i.button,t.local;const l={...u,position:{type:String,default:o.bottom},value:{type:String}};const s=e.defineComponent({name:"VvTooltip",props:l,setup(t){const o=t,{modifiers:n}=e.toRefs(o),r=function(t,o,n){return e.computed(()=>{const r={[t]:!0},i="string"==typeof o?.value?o.value.split(" "):o?.value;return i&&Array.isArray(i)&&i.forEach(e=>{e&&(r[`${t}--${e}`]=!0)}),n&&Object.keys(n.value).forEach(o=>{r[`${t}--${o}`]=e.unref(n.value[o])}),r})}("vv-tooltip",n,e.computed(()=>({[o.position]:!0})));return(t,o)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(e.unref(r)),role:"tooltip",inert:""},[e.renderSlot(t.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.value),1)])],2))}});return(()=>({beforeMount(t,o){const n=e.h(s,{value:o.value,position:o.arg});e.render(n,t)},updated(t,o){const n=e.h(s,{value:o.value,position:o.arg});e.render(n,t)}}))()});