@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
26 lines (25 loc) • 663 B
JavaScript
//#region src/base-ui/Toast/hostGuard.ts
const hostOrder = [];
const listeners = /* @__PURE__ */ new Set();
const emit = () => {
for (const listener of listeners) listener();
};
const registerToastHost = (id) => {
hostOrder.push(id);
emit();
return () => {
const index = hostOrder.indexOf(id);
if (index !== -1) hostOrder.splice(index, 1);
emit();
};
};
const isActiveToastHost = (id) => hostOrder[0] === id;
const subscribeToastHost = (listener) => {
listeners.add(listener);
return () => {
listeners.delete(listener);
};
};
//#endregion
export { isActiveToastHost, registerToastHost, subscribeToastHost };
//# sourceMappingURL=hostGuard.mjs.map