@zoom-image/core
Version:
A core implementation of zoom image
30 lines (27 loc) • 999 B
text/typescript
import * as _namnode_store from '@namnode/store';
type ZoomImageWheelOptions = {
maxZoom?: number;
wheelZoomRatio?: number;
dblTapAnimationDuration?: number;
initialState?: Partial<ZoomImageWheelStateUpdate>;
shouldZoomOnSingleTouch?: () => boolean;
};
type ZoomImageWheelState = {
currentRotation: number;
currentZoom: number;
enable: boolean;
currentPositionX: number;
currentPositionY: number;
};
type ZoomImageWheelStateUpdate = Partial<{
enable: boolean;
currentZoom: number;
currentRotation: number;
}>;
declare function createZoomImageWheel(container: HTMLElement, options?: ZoomImageWheelOptions): {
cleanup(): void;
subscribe: (listener: _namnode_store.StoreListener<ZoomImageWheelState>) => () => void;
setState: (newState: ZoomImageWheelStateUpdate) => void;
getState: () => ZoomImageWheelState;
};
export { type ZoomImageWheelOptions, type ZoomImageWheelState, type ZoomImageWheelStateUpdate, createZoomImageWheel };