UNPKG

@scalar/api-reference

Version:

Generate beautiful API references from OpenAPI documents

30 lines (29 loc) 894 B
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 };