UNPKG

bootstrap-vue-next

Version:

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

34 lines (33 loc) 1.76 kB
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); require("../../../chunk-CoQrYLCe.js"); const require_keys = require("../../../keys-durSVUrO.js"); const require_registryAccess = require("../../../registryAccess-D-YxwQJq.js"); let vue = require("vue"); //#region src/composables/useToggle/index.ts var useToggle = (id = void 0) => { const instance = (0, vue.getCurrentInstance)(); const storage = (0, vue.inject)(require_keys.showHideRegistryKey, null); if (!storage) throw new Error("useToggle() must be called within setup(), and BApp, useRegistry or plugin must be installed/provided."); const registry = storage.values; const findComponent = (component) => { if (!component.parent) return null; if (component.parent.exposed?.["id"] && registry.value.get((0, vue.toValue)(component.parent.exposed.id))) return component.parent; return findComponent(component.parent); }; const myComponent = (0, vue.computed)(() => { const resolvedId = (0, vue.toValue)(id); if (resolvedId) return require_registryAccess.getActiveShowHide(registry, resolvedId); if (!instance) return null; return require_registryAccess.getActiveShowHide(registry, (0, vue.toValue)(findComponent(instance)?.exposed?.id)); }); return { value: (0, vue.computed)(() => myComponent.value?.value), show: (resolveOnHide) => myComponent.value?.show(resolveOnHide) || Promise.reject("not found"), hide: (trigger) => myComponent.value?.hide(trigger, true) || Promise.reject("not found"), toggle: (resolveOnHide) => myComponent.value?.toggle(resolveOnHide) || Promise.reject("not found"), component: (0, vue.computed)(() => myComponent.value?.component) }; }; //#endregion exports.useToggle = useToggle; //# sourceMappingURL=index.umd.js.map