@zoom-image/svelte
Version:
Adapter of zoom image core for Svelte
119 lines (116 loc) • 2.59 kB
JavaScript
;
var core = require('@zoom-image/core');
var svelte = require('svelte');
var store = require('svelte/store');
// src/useZoomImageWheel.ts
function useZoomImageWheel() {
let result;
const { set, subscribe } = store.writable({
currentZoom: 1,
enable: false,
currentPositionX: -1,
currentPositionY: -1,
currentRotation: 0
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = core.createZoomImageWheel(...arg);
set(result.getState());
result.subscribe(({ state }) => {
set(state);
});
};
svelte.onDestroy(() => {
result?.cleanup();
});
const setZoomImageState = (state) => {
result?.setState(state);
};
return {
createZoomImage,
zoomImageState: {
subscribe
},
setZoomImageState
};
}
function useZoomImageHover() {
let result;
const { subscribe, set } = store.writable({
enabled: false,
zoomedImgStatus: "idle"
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = core.createZoomImageHover(...arg);
set(result.getState());
result.subscribe(({ state }) => {
set(state);
});
};
svelte.onDestroy(() => {
result?.cleanup();
});
const setZoomImageState = (state) => {
result?.setState(state);
};
return {
createZoomImage,
zoomImageState: {
subscribe
},
setZoomImageState
};
}
function useZoomImageMove() {
let result;
const { set, subscribe } = store.writable({
zoomedImgStatus: "idle"
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = core.createZoomImageMove(...arg);
set(result.getState());
result.subscribe(({ state }) => {
set(state);
});
};
svelte.onDestroy(() => {
result?.cleanup();
});
return {
createZoomImage,
zoomImageState: {
subscribe
}
};
}
function useZoomImageClick() {
let result;
const { subscribe, set } = store.writable({
zoomedImgStatus: "idle"
});
const createZoomImage = (...arg) => {
result?.cleanup();
result = core.createZoomImageClick(...arg);
set(result.getState());
result.subscribe(({ state }) => {
set(state);
});
};
svelte.onDestroy(() => {
result?.cleanup();
});
return {
zoomImageState: {
subscribe
},
createZoomImage
};
}
exports.useZoomImageClick = useZoomImageClick;
exports.useZoomImageHover = useZoomImageHover;
exports.useZoomImageMove = useZoomImageMove;
exports.useZoomImageWheel = useZoomImageWheel;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map