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.3 kB
JavaScript
Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),t=require("../../../keys-W3DrYQSP.js");exports.useToggle=(r=void 0)=>{const o=e.getCurrentInstance(),{values:u}=e.inject(t.globalShowHideStorageInjectionKey,{register:()=>({unregister:()=>{}}),values:e.ref(new Map)});if(!u)throw new Error("useToggle() was called outside of the setup() function or the plugin is not provided.");const n=t=>{var r;return t.parent?(null==(r=t.parent.exposed)?void 0:r.id)&&u.value.get(e.toValue(t.parent.exposed.id))?t.parent:n(t.parent):null},l=e.computed((()=>{var t;const l=e.toValue(r);if(!u)return null;if(l){const t=u.value.get(l);return e.toValue(t)||null}if(!o)return null;const a=n(o);return e.toValue(u.value.get(e.toValue(null==(t=null==a?void 0:a.exposed)?void 0:t.id)))||null}));return{value:e.computed((()=>{var e;return null==(e=l.value)?void 0:e.value})),show:e=>{var t;return(null==(t=l.value)?void 0:t.show(e))||Promise.reject("not found")},hide:e=>{var t;return(null==(t=l.value)?void 0:t.hide(e,!0))||Promise.reject("not found")},toggle:e=>{var t;return(null==(t=l.value)?void 0:t.toggle(e))||Promise.reject("not found")},component:e.computed((()=>{var e;return null==(e=l.value)?void 0:e.component}))}};
//# sourceMappingURL=index.umd.js.map
;