react-browser-zoom
Version:
A React hook to monitor browser zoom level via devicePixelRatio.
29 lines • 773 B
JavaScript
// src/useBrowserZoom.ts
import { useState, useEffect, useCallback } from "react";
var getDpr = () => {
return typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
};
function useBrowserZoom() {
const [dpr, setDpr] = useState(getDpr);
const handleResizeOrZoom = useCallback(() => {
const currentDpr = getDpr();
setDpr((prevDpr) => {
if (prevDpr !== currentDpr) {
return currentDpr;
}
return prevDpr;
});
}, []);
useEffect(() => {
handleResizeOrZoom();
window.addEventListener("resize", handleResizeOrZoom);
return () => {
window.removeEventListener("resize", handleResizeOrZoom);
};
}, [handleResizeOrZoom]);
return dpr;
}
export {
useBrowserZoom
};
//# sourceMappingURL=index.mjs.map