@zoom-image/react
Version:
Adapter of zoom image core for React
33 lines (31 loc) • 937 B
JavaScript
import { noop } from './chunk-NURWQMNQ.mjs';
import { useRef, useState, useCallback, useEffect } from 'react';
import { createZoomImageHover } from '@zoom-image/core';
function useZoomImageHover() {
const result = useRef();
const [zoomImageState, updateZoomImageState] = useState({
enabled: false,
zoomedImgStatus: "idle"
});
const createZoomImage = useCallback((...arg) => {
result.current?.cleanup();
result.current = createZoomImageHover(...arg);
updateZoomImageState(result.current.getState());
result.current.subscribe(({ state }) => {
updateZoomImageState(state);
});
}, []);
useEffect(() => {
return () => {
result.current?.cleanup();
};
}, []);
return {
createZoomImage,
zoomImageState,
setZoomImageState: result.current?.setState ?? noop
};
}
export { useZoomImageHover };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=chunk-BSBZVLC7.mjs.map