UNPKG

@scalar/api-client

Version:

the open source API testing client

26 lines (25 loc) 669 B
import { ref as n } from "vue"; const l = 20, s = 100, v = 0, I = 15, r = 60, c = 400, A = c / l, g = () => { const e = n(s), o = n(0), a = n(!1), t = n(), u = () => { clearInterval(t.value), t.value = void 0, e.value = s, a.value = !1; }, i = () => { a.value ? e.value -= (e.value - I) / r : e.value -= o.value / A, e.value <= v && u(); }; return { startLoading: () => { if (t.value) { a.value = !0; return; } a.value = !0, t.value = setInterval(i, l); }, stopLoading: () => { o.value = e.value, a.value = !1; }, percentage: e, isLoading: a }; }; export { g as useLoadingAnimation };