bootstrap-vue-next
Version:
BootstrapVueNext is an early and lovely component library for Vue 3 & Nuxt 3 based on Bootstrap 5 and Typescript.
3 lines (2 loc) • 1.84 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../constants-B1zBgSOo.js"),t=require("vue"),o=require("../../../utils-CRLOxOzJ.js"),r=require("../../../keys-W3DrYQSP.js"),i=(t,o)=>{const{modifiers:r,arg:i,value:s}=t,a=Object.keys(r||{}),n="string"==typeof s?s.split(e.RX_SPACE_SPLIT):s;if("a"===o.tagName.toLowerCase()){const t=o.getAttribute("href")||"";e.RX_HASH_ID.test(t)&&a.push(t.replace(e.RX_HASH,""))}return Array.prototype.concat.apply([],[i,n]).forEach((e=>"string"==typeof e&&a.push(e))),a.filter(((e,t,o)=>e&&o.indexOf(e)===t))},s=(e,s,a)=>{var n;const l=i(s,e);if(0===l.length)return;const u=null==(n=o.findProvides(s,a)[r.globalShowHideStorageInjectionKey])?void 0:n.values;if(e.dataset.bvtoggle){const o=(e.dataset.bvtoggle||"").split(" ");if(0===o.length)return;for(const r of o){const o=null==u?void 0:u.value.get(r);o&&(l.includes(r)||t.toValue(o).unregisterTrigger("click",e,!1))}}e.dataset.bvtoggle=l.join(" "),l.forEach((async o=>{let r=0;for(;r<5;){const i=null==u?void 0:u.value.get(o);if(!i){if(r++,await new Promise((e=>setTimeout(e,100))),r<4)continue;console.warn(`[v-b-toggle] Target with ID ${o} not found`);break}t.toValue(i).unregisterTrigger("click",e,!1),t.toValue(i).registerTrigger("click",e);break}})),e.setAttribute("aria-controls",l.join(" "))},a={mounted:s,updated:s,unmounted:(e,s,a)=>{var n;const l=i(s,e);if(0===l.length)return;const u=null==(n=o.findProvides(s,a)[r.globalShowHideStorageInjectionKey])?void 0:n.values;l.forEach((o=>{const r=null==u?void 0:u.value.get(o);r&&t.toValue(r).unregisterTrigger("click",e,!1)})),e.removeAttribute("aria-controls"),e.removeAttribute("aria-expanded"),e.classList.remove("collapsed"),e.classList.remove("not-collapsed"),delete e.dataset.bvtoggle}};exports.vBToggle=a;
//# sourceMappingURL=index.umd.js.map
;