UNPKG

bootstrap-vue-next

Version:

Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development

3 lines (2 loc) 1.76 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../constants-B1zBgSOo.js");require("vue");const t=require("../../../utils-DbHbxN8-.js"),r=require("../../../keys-D59bcWpQ.js"),o=require("../../../registryAccess-DSsqPpQc.js"),i=(t,r)=>{const{modifiers:o,arg:i,value:s}=t,n=Object.keys(o||{}),g="string"==typeof s?s.split(e.RX_SPACE_SPLIT):s;if("a"===r.tagName.toLowerCase()){const t=r.getAttribute("href")||"";e.RX_HASH_ID.test(t)&&n.push(t.replace(e.RX_HASH,""))}return Array.prototype.concat.apply([],[i,g]).forEach(e=>"string"==typeof e&&n.push(e)),n.filter((e,t,r)=>e&&r.indexOf(e)===t)},s=(e,s,n)=>{const g=i(s,e);if(0===g.length)return;const a=t.findProvides(s,n),c=a[r.showHideRegistryKey]?.values??null;if(e.dataset.bvtoggle){const t=(e.dataset.bvtoggle||"").split(" ");if(0===t.length)return;for(const r of t){const t=o.getActiveShowHide(c,r);t&&(g.includes(r)||t.unregisterTrigger("click",e,!1))}}e.dataset.bvtoggle=g.join(" "),g.forEach(async t=>{let r=0;for(;r<5;){if(!e.dataset.bvtoggle)return;const i=o.getActiveShowHide(c,t);if(!i){if(r++,r<5){await new Promise(e=>setTimeout(e,100));continue}e.dataset.bvtoggle&&console.warn(`[v-b-toggle] Target with ID ${t} not found after 500ms`);break}if(!e.dataset.bvtoggle)return;i.unregisterTrigger("click",e,!1),i.registerTrigger("click",e);break}}),e.setAttribute("aria-controls",g.join(" "))},n={mounted:s,updated:s,unmounted:(e,s,n)=>{const g=i(s,e);if(0===g.length)return;const a=t.findProvides(s,n),c=a[r.showHideRegistryKey]?.values??null;g.forEach(t=>{const r=o.getActiveShowHide(c,t);r&&r.unregisterTrigger("click",e,!0)}),e.removeAttribute("aria-controls"),delete e.dataset.bvtoggle}};exports.vBToggle=n; //# sourceMappingURL=index.umd.js.map