@zoom-image/vue
Version:
Adapter of zoom image core for Vue
39 lines (37 loc) • 990 B
JavaScript
import { reactive, onUnmounted } from 'vue';
import { createZoomImageHover } from '@zoom-image/core';
// src/useZoomImageHover.ts
function useZoomImageHover() {
let result;
const zoomImageState = reactive({
enabled: false,
zoomedImgStatus: "idle"
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = createZoomImageHover(...arg);
const currentState = result.getState();
for (const key in currentState) {
zoomImageState[key] = currentState[key];
}
result.subscribe(({ updatedProperties }) => {
for (const key in updatedProperties) {
zoomImageState[key] = updatedProperties[key];
}
});
};
onUnmounted(() => {
result?.cleanup();
});
const setZoomImageState = (state) => {
result?.setState(state);
};
return {
createZoomImage,
zoomImageState,
setZoomImageState
};
}
export { useZoomImageHover };
//# sourceMappingURL=out.js.map
//# sourceMappingURL=chunk-4JUBVOIR.mjs.map