Files
routie/frontend/node_modules/.vite/deps/resizeObserver-C12jWpYk.js
T

33 lines
1.1 KiB
JavaScript

import { Gn as readonly, Kn as ref, gn as watch, jt as onBeforeUnmount } from "./vue.runtime.esm-bundler-BvoXUmaf.js";
import { Q as IN_BROWSER, Y as templateRef } from "./defineComponent-DB6xIcDy.js";
//#region node_modules/vuetify/lib/composables/resizeObserver.js
function useResizeObserver(callback, box = "content") {
const resizeRef = templateRef();
const contentRect = ref();
if (IN_BROWSER) {
const observer = new ResizeObserver((entries) => {
callback?.(entries, observer);
if (!entries.length) return;
if (box === "content") contentRect.value = entries[0].contentRect;
else contentRect.value = entries[0].target.getBoundingClientRect();
});
onBeforeUnmount(() => {
observer.disconnect();
});
watch(() => resizeRef.el, (newValue, oldValue) => {
if (oldValue) {
observer.unobserve(oldValue);
contentRect.value = void 0;
}
if (newValue) observer.observe(newValue);
}, { flush: "post" });
}
return {
resizeRef,
contentRect: readonly(contentRect)
};
}
//#endregion
export { useResizeObserver as t };
//# sourceMappingURL=resizeObserver-C12jWpYk.js.map