open-index/open-npm huggingface dataset:
npm package: @paryajafari/react-zoom-pan-pinch
Description: Forked from prc5/react-zoom-pan-pinch
Author: paryajafari
Latest version: 2.1.4

# react-zoom-pan-pinch

[![NPM](https://img.shields.io/npm/v/react-zoom-pan-pinch.svg)](https://www.npmjs.com/package/react-zoom-pan-pinch)
![npm bundle size](https://img.shields.io/bundlephobia/minzip/react-zoom-pan-pinch)
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
![NPM](https://img.shields.io/npm/l/react-zoom-pan-pinch)
![npm](https://img.shields.io/npm/dm/react-zoom-pan-pinch)
![GitHub stars](https://img.shields.io/github/stars/prc5/react-zoom-pan-pinch?style=social)

> Super fast and light react npm package for zooming, panning and pinching html
> elements in easy way

- [Demo](https://prc5.github.io/react-zoom-pan-pinch/?path=/story/examples-big-image--big-image)
- [Docs](https://prc5.github.io/react-zoom-pan-pinch/?path=/story/docs-props--page)

## Features

- :rocket: Fast and easy to use
- :factory: Light, without external dependencies
- :gem: Mobile gestures, touchpad gestures and desktop mouse events support
- :gift: Powerful context usage, which gives you a lot of freedom
- :wrench: Highly customizable
- :crown: Animations and Utils to create own tools

## Install

```bash
npm install --save @paryajafari/react-zoom-pan-pinch
```


## Usage

```jsx
import React, { Component } from "react";

import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch";

class Example extends Component {
  render() {
    return (
      <TransformWrapper>
        <TransformComponent>
          <img src="image.jpg" alt="test" />
        </TransformComponent>
      </TransformWrapper>
    );
  }
}
```

or

```jsx
import React, { Component } from "react";

import { TransformWrapper, TransformComponent } from "react-zoom-pan-pinch";

class Example extends Component {
  render() {
    return (
      <TransformWrapper
        initialScale={1}
        initialPositionX={200}
        initialPositionY={100}
      >
        {({ zoomIn, zoomOut, resetTransform, ...rest }) => (
          <React.Fragment>
            <div className="tools">
              <button onClick={() => zoomIn()}>+</button>
              <button onClick={() => zoomOut()}>-</button>
              <button onClick={() => resetTransform()}>x</button>
            </div>
            <TransformComponent>
              <img src="image.jpg" alt="test" />
              <div>Example text</div>
            </TransformComponent>
          </React.Fragment>
        )}
      </TransformWrapper>
    );
  }
}
```

## License

MIT © [prc5](https://github.com/prc5)
npm package: @parzh/retryable
Description: Convenience function to retry an action
Author: Dima Parzhitsky
Latest version: 1.7.0

<p align="center">
  <a href="https://github.com/parzh/retryable/actions?query=workflow%3A%22Test+changes%22">
    <img src="https://github.com/parzh/retryable/workflows/Test%20changes/badge.svg" />
  </a>

  <a href="https://www.npmjs.com/package/@parzh/retryable">
    <img src="https://badge.fury.io/js/%40parzh%2Fretryable.svg" />
  </a>
</p>

# `@parzh/retryable`

Convenience function to retry executing an action, until a desired result is achieved

## Installation

```
npm i @parzh/retryable
```

```
yarn add @parzh/retryable
```

## Usage

```js
const content = await retryable((resolve, reject, retry) => {
  fs.readfile("/path/to/file", (err, data) => {
    if (!err)
      // no errors occured
      return resolve(data);

    // here: an error occured

    if (retry.count >= RETRY_LIMIT)
      if (SHOULD_IGNORE_RETRY_LIMIT)
        // retry limit reached, but ignored
        retry.setCount(0);

      else
        // retry limit reached
        return reject("Retry limit reached!");

    // here: retry limit is ignored or not reached

    if (SHOULD_RETRY_IMMEDIATELY)
      // retrying immediately
      retry();

    else
      // retrying after exponential backoff (see https://en.wikipedia.org/wiki/Exponential_backoff)
      retry.after("exponential"); // same as: retry.after(2 ** retry.count * 100);
  });
});
```
npm package: @parzh/typed-redux-actions
Description: Utility types to create type-safe Redux actions
Author: Dmitry Parzhitsky
Latest version: 3.0.3

# `@parzh/typed-redux-actions`
Type definitions for creating type-safe Redux actions.

Go to [full guide] in the `/docs` folder (alternatively, use [direct link to the full guide]).

See [demo] in the `/docs` folder (alternatively, use [direct link to the demo]).

  [full guide]: /docs/README.md
  [direct link to the full guide]: https://gitlab.com/parzh/typed-redux-actions/blob/master/docs/README.md
  [demo]: /docs/demo.ts
  [direct link to the demo]: https://gitlab.com/parzh/typed-redux-actions/blob/master/docs/demo.ts