UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

44 lines (38 loc) 1.06 kB
/** * xdesign v1.0.6 * (c) 2023 xdesign * @license MIT */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); function useResizeObserver(container, callback) { if (typeof window === "undefined") return; var isSupport = window && window.ResizeObserver; if (!isSupport) return; var containerObserver = null; var cleanupObserver = function cleanupObserver() { if (!containerObserver) return; containerObserver.unobserve(container.value); containerObserver.disconnect(); containerObserver = null; }; var addObserver = function addObserver(el) { containerObserver = new ResizeObserver(callback); containerObserver.observe(el); }; if (container) { vue.watch(container, function (el) { cleanupObserver(); el && addObserver(el); }, { immediate: true, flush: "post" }); } vue.onBeforeUnmount(function () { cleanupObserver(); }); } exports["default"] = useResizeObserver; //# sourceMappingURL=useResizeObserver.js.map