npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@secretwpn/react-image-zoom

v0.4.9

Published

Enables zooming and panning an image, both mobile and desktop.

Downloads

64

Readme

@secretwpn/react-image-zoom

This is a fork of react-responsive-pinch-zoom-pan by Brad Stiff with slightly changed feature set and converted to TypeScript

It provides a React component rendering an img element with zoom and pan capability using CSS transforms.

Install

npm

npm install @secretwpn/react-image-zoom --save

yarn

yarn add @secretwpn/react-image-zoom

Local

  1. git clone https://github.com/secretwpn/react-responsive-pinch-zoom-pan.git
  2. cd react-responsive-pinch-zoom-pan
  3. npm install
  4. npm start
  5. Browse to http://localhost:3001

Usage

import React from 'react'
import { PinchZoomPanImage } from '@secretwpn/react-image-zoom'

const App = () => {
  return (
    <div style={{ width: '500px', height: '500px' }}>
      <PinchZoomPanImage
        src="http://picsum.photos/750/750"
      />
    </div>
  )
}

API

| Prop | Type | Default | Description | | ------------------------ | -------------------------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------- | | initialScale | number or auto | auto | The initial scale of the image. When auto, the image will be proportionally 'autofit' to the container. | | minScale | number | auto | The minimum scale to which the image can be zoomed out. When auto, the minimum scale is the 'autofit' scale. | | maxScale | number | 1 | The maximum scale to which the image can be zoomed in. | | zoomRevision | number | undefined | Zoom level will be reset when this prop is changed | | position | center or topLeft | topLeft | Position of the image relative to the container. Applies when the scaled image is smaller than the container. | | doubleTapBehavior | reset or zoom | reset | Whether to zoom in or reset to initial scale on double-click / double-tap. | | imageStyle | CSSProperties | {} | Style to apply to the image, e.g. { opacity: 0.5 } | | containerStyle | CSSProperties | {} | Style to apply to the image container div, e.g. { width: '100% } | | animate | boolean | false | Whether to enable subtle animation | | alt | string | undefined | Same as alt in regular <img /> tag | | src | string | undefined | Same as src in regular <img /> tag | | onTransformed | ({top, left, scale}, imageElement) => void | undefined | Called after applying image transformation | | onImageDimensionsChanged | ({width, height}) => void | undefined | Called when image dimensions are changed | | onDoubleClick | () => void | undefined | Called on double click | | onImageLoaded | () => void | undefined | Called when image is loaded |

Development

You're welcome to contribute to react-responsive-pinch-zoom-pan.

To set up the project:

  1. Fork and clone the repository
  2. npm install
  3. npm start

The example page will be available on http://localhost:3001 in watch mode, meaning you don't have to refresh the page to see your changes.