@scalar/api-reference
Version:
Generate beautiful API references from OpenAPI documents
30 lines (29 loc) • 894 B
JavaScript
import { lazyBus as m, hasLazyLoaded as a } from "../components/Lazy/lazyBus.js";
import { useNavState as v } from "./useNavState.js";
import { freezeAtTop as z } from "@scalar/helpers/dom/freeze-at-top";
import { ref as p } from "vue";
const T = 25, d = 500, I = () => {
const { hash: i, isIntersectionEnabled: c } = v(), e = p(/* @__PURE__ */ new Set()), f = z(i.value), l = () => {
f?.(), a.value = !0, c.value = !0;
};
m.on(({ loading: t, loaded: o, save: s }) => {
if (!a.value && (t && s && e.value.add(t), o && s && e.value.delete(o), e.value.size === 0)) {
let n = Date.now();
const r = () => {
const u = Date.now();
if (e.value.size === 0) {
if (u - n >= d) {
l();
return;
}
} else
n = u;
setTimeout(r, T);
};
r();
}
});
};
export {
I as useFreezing
};