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.71 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../constants-B1zBgSOo.js"),t=require("../../../utils-CRLOxOzJ.js"),o=require("../../../keys-C2BcfuxJ.js"),s=(e,s,l,r)=>{var i;const a=null==(i=t.findProvides(l,r)[o.globalShowHideStorageInjectionKey])?void 0:i.map;e.forEach((e=>{if(null==a?void 0:a[e])return void a[e].toggle();const t=document.getElementById(e);null!==t&&t.dispatchEvent(new Event("bv-toggle"))})),setTimeout((()=>n(e,s)),50)},n=(e,t)=>{let o=!1;e.forEach((e=>{const t=document.getElementById(e);(null==t?void 0:t.classList.contains("show"))&&(o=!0),(null==t?void 0:t.classList.contains("closing"))&&(o=!1)})),t.setAttribute("aria-expanded",o?"true":"false"),t.classList.remove(o?"collapsed":"not-collapsed"),t.classList.add(o?"not-collapsed":"collapsed")},l=(t,o,l)=>{const r=((t,o)=>{const{modifiers:s,arg:n,value:l}=t,r=Object.keys(s||{}),i="string"==typeof l?l.split(e.RX_SPACE_SPLIT):l;if("a"===o.tagName.toLowerCase()){const t=o.getAttribute("href")||"";e.RX_HASH_ID.test(t)&&r.push(t.replace(e.RX_HASH,""))}return Array.prototype.concat.apply([],[n,i]).forEach((e=>"string"==typeof e&&r.push(e))),r.filter(((e,t,o)=>e&&o.indexOf(e)===t))})(o,t);0!==r.length&&(t.__toggle?setTimeout((()=>{t.removeEventListener("click",t.__toggle),t.__toggle=()=>s(r,t,o,l),t.addEventListener("click",t.__toggle)}),0):(t.__toggle=()=>s(r,t,o,l),t.addEventListener("click",t.__toggle)),t.setAttribute("aria-controls",r.join(" ")),n(r,t))},r={mounted:l,updated:l,unmounted(e){e.removeEventListener("click",e.__toggle),e.removeAttribute("aria-controls"),e.removeAttribute("aria-expanded")}};exports.vBToggle=r;
//# sourceMappingURL=index.umd.js.map