yet-another-react-lightbox 3.12.3 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -76,6 +76,8 @@ declare module "yet-another-react-lightbox" {
76
76
  zoomIn: Callback;
77
77
  /** decrease zoom level using `zoomInMultiplier` */
78
78
  zoomOut: Callback;
79
+ /** change zoom level */
80
+ changeZoom: (targetZoom: number, rapid?: boolean, dx?: number, dy?: number) => void;
79
81
  }
80
82
  }
81
83
 
@@ -297,8 +297,8 @@ function useZoomState(imageRect, maxZoom, zoomWrapperRef) {
297
297
  setOffsetX(Math.min(Math.abs(newOffsetX), Math.max(maxOffsetX, 0)) * Math.sign(newOffsetX));
298
298
  setOffsetY(Math.min(Math.abs(newOffsetY), Math.max(maxOffsetY, 0)) * Math.sign(newOffsetY));
299
299
  }, [zoom, offsetX, offsetY, slideRect, imageRect.width, imageRect.height]);
300
- const changeZoom = React.useCallback((value, rapid, dx, dy) => {
301
- const newZoom = round(Math.min(Math.max(value + 0.001 < maxZoom ? value : maxZoom, 1), maxZoom), 5);
300
+ const changeZoom = React.useCallback((targetZoom, rapid, dx, dy) => {
301
+ const newZoom = round(Math.min(Math.max(targetZoom + 0.001 < maxZoom ? targetZoom : maxZoom, 1), maxZoom), 5);
302
302
  if (newZoom === zoom)
303
303
  return;
304
304
  if (!rapid) {
@@ -334,7 +334,7 @@ function ZoomContextProvider({ children }) {
334
334
  const { zoom, offsetX, offsetY, disabled, changeZoom, changeOffsets, zoomIn, zoomOut } = useZoomState(imageRect, maxZoom, zoomWrapper === null || zoomWrapper === void 0 ? void 0 : zoomWrapper.zoomWrapperRef);
335
335
  useZoomCallback(zoom, disabled);
336
336
  useZoomSensors(zoom, maxZoom, disabled, changeZoom, changeOffsets, zoomWrapper === null || zoomWrapper === void 0 ? void 0 : zoomWrapper.zoomWrapperRef);
337
- const zoomRef = React.useMemo(() => ({ zoom, maxZoom, offsetX, offsetY, disabled, zoomIn, zoomOut }), [zoom, maxZoom, offsetX, offsetY, disabled, zoomIn, zoomOut]);
337
+ const zoomRef = React.useMemo(() => ({ zoom, maxZoom, offsetX, offsetY, disabled, zoomIn, zoomOut, changeZoom }), [zoom, maxZoom, offsetX, offsetY, disabled, zoomIn, zoomOut, changeZoom]);
338
338
  React.useImperativeHandle(useZoomProps().ref, () => zoomRef, [zoomRef]);
339
339
  const context = React.useMemo(() => ({ ...zoomRef, setZoomWrapper }), [zoomRef, setZoomWrapper]);
340
340
  return React.createElement(ZoomControllerContext.Provider, { value: context }, children);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yet-another-react-lightbox",
3
- "version": "3.12.3",
3
+ "version": "3.13.0",
4
4
  "description": "Modern React lightbox component",
5
5
  "author": "Igor Danchenko",
6
6
  "license": "MIT",