bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
35 lines (34 loc) • 1.04 kB
JavaScript
import { i as breadcrumbRegistryKey, r as breadcrumbGlobalIndexKey } from "../../../keys-CQKrwmvN.mjs";
import { computed, inject, toValue, watch } from "vue";
//#region src/composables/useBreadcrumb/index.ts
var useBreadcrumb = (id = breadcrumbGlobalIndexKey) => {
const parentData = inject(breadcrumbRegistryKey, null);
const resolvedId = computed(() => {
const v = toValue(id);
if (!v) return breadcrumbGlobalIndexKey;
return v;
});
watch(resolvedId, (newValue) => {
if (!newValue || !parentData) return;
parentData.items.value = {
...parentData.items.value,
[newValue]: parentData.items.value[newValue] || []
};
}, { immediate: true });
return {
items: computed({
get: () => parentData?.items.value[resolvedId.value] || [],
set(value) {
if (!parentData) return;
parentData.items.value[resolvedId.value] = value;
}
}),
reset() {
if (!parentData) return;
parentData.reset(resolvedId.value || void 0);
}
};
};
//#endregion
export { useBreadcrumb };
//# sourceMappingURL=index.mjs.map