react-image-viewer-hook
TypeScript icon, indicating that this package has built-in type declarations

0.3.1 • Public • Published

React Image Viewer Hook (useImageViewer)

Image viewer (aka Lightbox) made for React. Images only (no videos, iframes, custom html, ...), with a focus on touch interactions (swipe between images, pinch to zoom, pan around, swipe down to dismiss). Internal heavy lifting is done by react-spring and use-gesture. Supports code-splitting by default (image viewer code is only loaded once first opened). The image viewer chunk comes at around 37kB gzipped.

Demo: https://codesandbox.io/s/react-image-viewer-hook-demo-6ty7g

Example:

import { useImageViewer } from 'react-image-viewer-hook'
function Page() {
  const { getOnClick, ImageViewer } = useImageViewer()
  return (
    <>
      <a href="image1.jpg" onClick={getOnClick(image1.jpg)}><img src="image1_thumb.jpg" /></a>
      <a href="image2.jpg" onClick={getOnClick(image2.jpg)}><img src="image2_thumb.jpg" /></a>

      <ImageViewer /> {/* can be rendered wherever you want - like in a portal */}
    </>
  )
}

License

MIT

Package Sidebar

Install

npm i react-image-viewer-hook

Weekly Downloads

22

Version

0.3.1

License

MIT

Unpacked Size

151 kB

Total Files

21

Last publish

Collaborators

  • rkusa