UNPKG

bootstrap-vue-next

Version:

BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.

1 lines 2.98 kB
{"version":3,"file":"index.mjs","sources":["../../../../src/directives/BTooltip/index.ts"],"sourcesContent":["import {type Directive, type Ref} from 'vue'\nimport {\n bind,\n type ElementWithPopper,\n resolveActiveStatus,\n resolveContent,\n resolveDirectiveProps,\n unbind,\n} from '../../utils/floatingUi'\nimport {defaultsKey} from '../../utils/keys'\nimport {findProvides} from '../utils'\n\nexport const vBTooltip: Directive<ElementWithPopper> = {\n mounted(el, binding, vnode) {\n const defaults = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]?.value\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n el.$__binding = JSON.stringify([binding.modifiers, binding.value])\n bind(el, binding, {\n noninteractive: true,\n ...(defaults['BTooltip'] || undefined),\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.body ?? '',\n tooltip: isActive,\n })\n },\n updated(el, binding, vnode) {\n const defaults = (findProvides(binding, vnode) as Record<symbol, Ref>)[defaultsKey]?.value\n\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.body && !text.title) return\n delete binding.oldValue\n if (el.$__binding === JSON.stringify([binding.modifiers, binding.value])) return\n unbind(el)\n bind(el, binding, {\n noninteractive: true,\n ...(defaults['BTooltip'] || undefined),\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.body ?? '',\n tooltip: isActive,\n })\n el.$__binding = JSON.stringify([binding.modifiers, binding.value])\n },\n beforeUnmount(el) {\n unbind(el)\n },\n}\n"],"names":[],"mappings":";;;;AAYO,MAAM,YAA0C;AAAA,EACrD,QAAQ,IAAI,SAAS,OAAO;;AAC1B,UAAM,YAAY,kBAAa,SAAS,KAAK,EAA0B,WAAW,MAAhE,mBAAmE;AAC/E,UAAA,WAAW,oBAAoB,QAAQ,KAAK;AAClD,QAAI,CAAC,SAAU;AAEf,UAAM,OAAO,eAAe,QAAQ,OAAO,EAAE;AAE7C,QAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAO;AAC5B,OAAA,aAAa,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,KAAK,CAAC;AACjE,SAAK,IAAI,SAAS;AAAA,MAChB,gBAAgB;AAAA,MAChB,GAAI,SAAS,UAAU,KAAK;AAAA,MAC5B,GAAG,sBAAsB,SAAS,EAAE;AAAA,MACpC,OAAO,KAAK,SAAS,KAAK,QAAQ;AAAA,MAClC,SAAS;AAAA,IAAA,CACV;AAAA,EACH;AAAA,EACA,QAAQ,IAAI,SAAS,OAAO;;AAC1B,UAAM,YAAY,kBAAa,SAAS,KAAK,EAA0B,WAAW,MAAhE,mBAAmE;AAE/E,UAAA,WAAW,oBAAoB,QAAQ,KAAK;AAClD,QAAI,CAAC,SAAU;AAEf,UAAM,OAAO,eAAe,QAAQ,OAAO,EAAE;AAE7C,QAAI,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAO;AAC/B,WAAO,QAAQ;AACX,QAAA,GAAG,eAAe,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,KAAK,CAAC,EAAG;AAC1E,WAAO,EAAE;AACT,SAAK,IAAI,SAAS;AAAA,MAChB,gBAAgB;AAAA,MAChB,GAAI,SAAS,UAAU,KAAK;AAAA,MAC5B,GAAG,sBAAsB,SAAS,EAAE;AAAA,MACpC,OAAO,KAAK,SAAS,KAAK,QAAQ;AAAA,MAClC,SAAS;AAAA,IAAA,CACV;AACE,OAAA,aAAa,KAAK,UAAU,CAAC,QAAQ,WAAW,QAAQ,KAAK,CAAC;AAAA,EACnE;AAAA,EACA,cAAc,IAAI;AAChB,WAAO,EAAE;AAAA,EAAA;AAEb;"}