npm package: @magnetman103/react-native-zoom-toolkit
Description: Most complete set of pinch to zoom utilites for React Native
Author: Glazzes
Latest version: 4.0.3

<div>
  <h1 align="center">React Native Zoom Toolkit</h1>
</div>

<div>
  <h4 align="center">A set of components and utilities for common pinch to zoom feature requirements</h4>
</div>

<p align="center">The most feature rich React Native library to solve common use cases of the pinch to zoom interaction, as well as providing barebones utilities for complex use cases, such as pinch to zoom React Native Skia's components.</p>

>[!Note]
> Are you watching from NPM's website? NPM's markdown renderer does not render videos, watch them on [github](https://github.com/Glazzes/react-native-zoom-toolkit).

| SnapbackZoom | ResumableZoom | CropZoom | Gallery |
|--------------|---------------|----------|---------|
|<video src="https://github.com/Glazzes/react-native-zoomable/assets/52082794/19f73880-96ee-4eb4-b68f-53191faf4027" width="100%" controls> | <video src="https://github.com/Glazzes/react-native-zoom-toolkit/assets/52082794/f07a8916-e115-4af5-ae6d-932fa86a5e53" width="100%" controls> | <video src="https://github.com/Glazzes/react-native-zoomable/assets/52082794/7253f7d5-42b0-4426-92ca-5b6772e10b5e" width="100%" controls> | <video src="https://github.com/Glazzes/react-native-zoom-toolkit/assets/52082794/9eb361bc-e45b-41c6-bb62-ef7722e459f9" controls /> |

## Features

- **Limitless**: Smoothly zoom in and out any component you want, you're not limited to images only.
- **Performance:** Smooth gesture interactions powered by Reanimated and Gesture Handler.
- **Customizable:** Highly customizable components, tailor them to your needs.
- **SnapBackZoom:** Zoom in and snap back, this component automatically snaps back to its original position once the gesture ends, making it ideal for previews.
- **ResumableZoom**: Pick up where you left last time! This component remembers your previous interactions with it, just the same way it works in your Android/IOS OS integrated gallery application, making it ideal for detail screens and gallery screens.
- **CropZoom:** An ideal, practical and unopinionated component for image and video cropping needs.
- **Gallery:** A practial gallery component which implements `ResuambleZoom` capabilities for all items in the list.
- **Mirror:** Mirror the current pinch gesture transformations to any other component you want.
- **Expo Compatible**: This library has been written in typescript only and supported modules by the expo SDK.

## Documentation
To check out the docs, visit https://glazzes.github.io/react-native-zoom-toolkit/

## Consulting
If your requirements are too specific and you need support tailored to your needs, you can reach out to me with your use case at santiagop1@protonmail.com, I'll see if we make a good fit, so we can work together!

## Support
If you have found good usage out of this library and want to contribute to its development with a donation. You can do it at this Paypal email address centurionnightair@gmail.com 

## Demo
The example app comes with five different examples from which you can learn from, see the [Example app](./example/).