UNPKG

@zoom-image/react

Version:
1 lines 2.06 kB
{"version":3,"sources":["../src/useZoomImageWheel.ts"],"names":[],"mappings":";;;;;AAAA,SAAS,wBAAwB,6BAA6B;AAC9D,SAAS,aAAa,WAAW,QAAQ,gBAAgB;AAKlD,SAAS,oBAAoB;AAClC,QAAM,SAAS,OAAiD;AAChE,QAAM,CAAC,gBAAgB,oBAAoB,IAAI,SAA8B;AAAA,IAC3E,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,kBAAkB;AAAA,IAClB,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EACnB,CAAC;AAED,QAAM,kBAAkB,YAAY,IAAI,QAAkD;AACxF,WAAO,SAAS,QAAQ;AACxB,WAAO,UAAU,sBAAsB,GAAG,GAAG;AAC7C,yBAAqB,OAAO,QAAQ,SAAS,CAAC;AAE9C,WAAO,QAAQ,UAAU,CAAC,EAAE,MAAM,MAAM;AACtC,2BAAqB,KAAK;AAAA,IAC5B,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,oBAAoB,YAAY,MAAM;AAC1C,WAAO,OAAO,SAAS,SAAS;AAAA,EAClC,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,WAAO,MAAM;AACX,aAAO,SAAS,QAAQ;AAAA,IAC1B;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,mBAAmB,OAAO,SAAS,YAAY;AAAA,EACjD;AACF","sourcesContent":["import { createZoomImageWheel as _createZoomImageWheel } from \"@zoom-image/core\"\nimport { useCallback, useEffect, useRef, useState } from \"react\"\nimport { noop } from \"./shared\"\n\nimport type { ZoomImageWheelState } from \"@zoom-image/core\"\n\nexport function useZoomImageWheel() {\n const result = useRef<ReturnType<typeof _createZoomImageWheel>>()\n const [zoomImageState, updateZoomImageState] = useState<ZoomImageWheelState>({\n currentZoom: 1,\n enable: false,\n currentPositionX: -1,\n currentPositionY: -1,\n currentRotation: 0,\n })\n\n const createZoomImage = useCallback((...arg: Parameters<typeof _createZoomImageWheel>) => {\n result.current?.cleanup()\n result.current = _createZoomImageWheel(...arg)\n updateZoomImageState(result.current.getState())\n\n result.current.subscribe(({ state }) => {\n updateZoomImageState(state)\n })\n }, [])\n\n const getZoomImageState = useCallback(() => {\n return result.current?.getState()\n }, [])\n\n useEffect(() => {\n return () => {\n result.current?.cleanup()\n }\n }, [])\n\n return {\n createZoomImage,\n zoomImageState,\n getZoomImageState,\n setZoomImageState: result.current?.setState ?? noop,\n }\n}\n"]}