@zoom-image/core
Version:
A core implementation of zoom image
35 lines (32 loc) • 1.04 kB
TypeScript
import * as _namnode_store from '@namnode/store';
import { ZoomedImgStatus } from './types.js';
type ZoomImageHoverOptions = {
customZoom: {
width: number;
height: number;
};
zoomImageSource?: string;
zoomLensClass?: string;
zoomLensScale?: number;
zoomTarget: HTMLElement;
zoomTargetClass?: string;
scale?: number;
disableScrollLock?: boolean;
zoomImageProps?: {
alt?: string;
};
};
type ZoomImageHoverState = {
zoomedImgStatus: ZoomedImgStatus;
enabled: boolean;
};
type ZoomImageHoverStateUpdate = {
enabled: boolean;
};
declare function createZoomImageHover(container: HTMLElement, options: ZoomImageHoverOptions): {
cleanup: () => void;
subscribe: (listener: _namnode_store.StoreListener<ZoomImageHoverState>) => () => void;
getState: () => ZoomImageHoverState;
setState: (newState: ZoomImageHoverStateUpdate) => void;
};
export { type ZoomImageHoverOptions, type ZoomImageHoverState, type ZoomImageHoverStateUpdate, createZoomImageHover };