xdesign-vue-next
Version:
XDesign Component for vue-next
38 lines (32 loc) • 966 B
JavaScript
/**
* xdesign v1.0.6
* (c) 2023 xdesign
* @license MIT
*/
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
function useListener(type, listener) {
vue.onMounted(function () {
window.addEventListener(type, listener);
});
vue.onBeforeUnmount(function () {
window.removeEventListener(type, listener);
});
}
function useResize(listener, observer) {
useListener("resize", listener);
var resizeObserver = null;
vue.onMounted(function () {
if (!window.ResizeObserver || !observer) return;
resizeObserver = new window.ResizeObserver(listener);
resizeObserver.observe(observer);
});
vue.onBeforeUnmount(function () {
var _resizeObserver;
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
});
}
exports.useListener = useListener;
exports.useResize = useResize;
//# sourceMappingURL=useListener.js.map