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.9 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../src/directives/BTooltip/index.ts"],"sourcesContent":["import {type Directive} 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'\n\nexport const vBTooltip: Directive<ElementWithPopper> = {\n mounted(el, binding, vnode) {\n // @ts-expect-error type doesn't have runtime ctx\n const defaults = vnode.ctx?.appContext?.provides?.[defaultsKey as symbol]?.value\n\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.content && !text.title) return\n el.$__binding = JSON.stringify(binding)\n bind(el, binding, {\n noninteractive: true,\n ...(defaults['BTooltip'] || {}),\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.content ?? '',\n tooltip: isActive,\n })\n },\n updated(el, binding, vnode) {\n // @ts-expect-error type doesn't have runtime ctx\n const defaults = vnode.ctx?.appContext?.provides?.[defaultsKey as symbol]?.value\n\n const isActive = resolveActiveStatus(binding.value)\n if (!isActive) return\n\n const text = resolveContent(binding.value, el)\n\n if (!text.content && !text.title) return\n delete binding.oldValue\n if (el.$__binding === JSON.stringify(binding)) return\n unbind(el)\n bind(el, binding, {\n noninteractive: true,\n ...(defaults['BTooltip'] || {}),\n ...resolveDirectiveProps(binding, el),\n title: text.title ?? text.content ?? '',\n tooltip: isActive,\n })\n el.$__binding = JSON.stringify(binding)\n },\n beforeUnmount(el) {\n unbind(el)\n },\n}\n"],"names":[],"mappings":";;;AAWO,MAAM,YAA0C;AAAA,EACrD,QAAQ,IAAI,SAAS,OAAO;;AAE1B,UAAM,YAAW,6BAAM,QAAN,mBAAW,eAAX,mBAAuB,aAAvB,mBAAkC,iBAAlC,mBAA0D;AAErE,UAAA,WAAW,oBAAoB,QAAQ,KAAK;AAClD,QAAI,CAAC,SAAU;AAEf,UAAM,OAAO,eAAe,QAAQ,OAAO,EAAE;AAE7C,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAO;AAC/B,OAAA,aAAa,KAAK,UAAU,OAAO;AACtC,SAAK,IAAI,SAAS;AAAA,MAChB,gBAAgB;AAAA,MAChB,GAAI,SAAS,UAAU,KAAK,CAAC;AAAA,MAC7B,GAAG,sBAAsB,SAAS,EAAE;AAAA,MACpC,OAAO,KAAK,SAAS,KAAK,WAAW;AAAA,MACrC,SAAS;AAAA,IAAA,CACV;AAAA,EACH;AAAA,EACA,QAAQ,IAAI,SAAS,OAAO;;AAE1B,UAAM,YAAW,6BAAM,QAAN,mBAAW,eAAX,mBAAuB,aAAvB,mBAAkC,iBAAlC,mBAA0D;AAErE,UAAA,WAAW,oBAAoB,QAAQ,KAAK;AAClD,QAAI,CAAC,SAAU;AAEf,UAAM,OAAO,eAAe,QAAQ,OAAO,EAAE;AAE7C,QAAI,CAAC,KAAK,WAAW,CAAC,KAAK,MAAO;AAClC,WAAO,QAAQ;AACf,QAAI,GAAG,eAAe,KAAK,UAAU,OAAO,EAAG;AAC/C,WAAO,EAAE;AACT,SAAK,IAAI,SAAS;AAAA,MAChB,gBAAgB;AAAA,MAChB,GAAI,SAAS,UAAU,KAAK,CAAC;AAAA,MAC7B,GAAG,sBAAsB,SAAS,EAAE;AAAA,MACpC,OAAO,KAAK,SAAS,KAAK,WAAW;AAAA,MACrC,SAAS;AAAA,IAAA,CACV;AACE,OAAA,aAAa,KAAK,UAAU,OAAO;AAAA,EACxC;AAAA,EACA,cAAc,IAAI;AAChB,WAAO,EAAE;AAAA,EACX;AACF;"}