react-fullscreen-image

An accessible, fast, and snappy fullscreen React image viewer.

MIT License

Downloads
1.3K
Stars
35
Committers
1

You've got a list of images that you want to allow users to click and expand into fullscreen mode.

React Fullscreen Image is a tiny library to render images that animate to fullscreen view when clicked.

A live demo can be viewed on CodeSandbox!

Features

  • Only animates transform and opacity properties.
  • Keyboard event handlers (escape key, left/right arrow navigation).
  • Handles outer click anywhere outside of image when clicked will zoom image to its original
    position.
  • Scrolling (with requestAnimationFrame) to a set boundary will zoom image to its original position.

Usage

React Fullscreen Image uses compound components. All <Image /> components nested within an <ImageGroup /> will be navigatable when in fullscreen mode.

import { ImageGroup, Image } from 'react-fullscreen-image'

const images = [
  'some_image_url',
  'some_image_url',
  'some_image_url',
  'some_image_url'
]

export default function App() {
  return (
    <ImageGroup>
      <ul className="images">
        {images.map(i => (
          <li key={i}>
            <Image
              src={i}
              alt="nature"
            />
          </li>
        ))}
      </ul>
    </ImageGroup>
  )
}

Installation

git clone https://github.com/timc1/react-fullscreen-image.git

cd react-fullscreen-image/example

yarn install

yarn start
Package Rankings
Top 4.46% on Npmjs.org