UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

43 lines (42 loc) 1.4 kB
import { unobserveResize as a, observeResize as l } from "@vexip-ui/hooks"; import { throttle as u, noop as _ } from "@vexip-ui/utils"; function f(e, o) { const r = typeof o.value == "function" ? { handler: o.value } : { ...o.value }, t = r.throttle || o.modifiers.throttle || !1; if (e.__resize = { useThrottle: t, observed: !1 }, r.disabled) { a(e), e.__resize.observed = !1; return; } const s = t ? u(r.handler, typeof t == "boolean" ? 16 : t) : r.handler; l(e, s), e.__resize.observed = !0; } const v = { mounted(e, o) { f(e, o); }, updated(e, o) { if (!e.__resize) { f(e, o); return; } const r = typeof o.value == "function" ? { handler: o.value } : { ...o.value }, t = r.throttle || o.modifiers.throttle, s = () => t ? u(r.handler, typeof t == "boolean" ? 16 : t) : r.handler; if (r.disabled) e.__resize.observed && (a(e), e.__resize.observed = !1); else if (!e.__resize.observed) l(e, s()), e.__resize.observed = !0; else { const d = typeof o.oldValue == "function" ? { handler: o.oldValue } : { ...o.oldValue || { handler: _ } }; (t !== e.__resize.useThrottle || r.handler !== d.handler) && (a(e), l(e, s())); } }, beforeUnmount(e) { var o; (o = e.__resize) != null && o.observed && a(e), delete e.__resize; } }; export { v as vResize }; //# sourceMappingURL=index.mjs.map