vexip-ui
Version:
A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good
3 lines (2 loc) • 1.23 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("@vexip-ui/hooks"),a=require("@vexip-ui/utils");function l(e,o){const r=typeof o.value=="function"?{handler:o.value}:{...o.value},s=r.throttle||o.modifiers.throttle||!1;if(e.__resize={useThrottle:s,observed:!1},r.disabled){t.unobserveResize(e),e.__resize.observed=!1;return}const u=s?a.throttle(r.handler,typeof s=="boolean"?16:s):r.handler;t.observeResize(e,u),e.__resize.observed=!0}const n={mounted(e,o){l(e,o)},updated(e,o){if(!e.__resize){l(e,o);return}const r=typeof o.value=="function"?{handler:o.value}:{...o.value},s=r.throttle||o.modifiers.throttle,u=()=>s?a.throttle(r.handler,typeof s=="boolean"?16:s):r.handler;if(r.disabled)e.__resize.observed&&(t.unobserveResize(e),e.__resize.observed=!1);else if(!e.__resize.observed)t.observeResize(e,u()),e.__resize.observed=!0;else{const i=typeof o.oldValue=="function"?{handler:o.oldValue}:{...o.oldValue||{handler:a.noop}};(s!==e.__resize.useThrottle||r.handler!==i.handler)&&(t.unobserveResize(e),t.observeResize(e,u()))}},beforeUnmount(e){var o;(o=e.__resize)!=null&&o.observed&&t.unobserveResize(e),delete e.__resize}};exports.vResize=n;
//# sourceMappingURL=index.cjs.map