UNPKG

react-photoswipe-2

Version:

react photoswipe component base on Photoswipe. Support React >= 16.

198 lines (154 loc) 5.96 kB
# React PhotoSwipe Fork from https://github.com/minhtranite/react-photoswipe Support React 16, PureComponent Solved this issue https://github.com/minhtranite/react-photoswipe/issues/9 PhotoSwipe, PhotoSwipeGallery component for ReactJS base on [PhotoSwipe](http://photoswipe.com/). ## Demo View [demo](http://minhtranite.github.io/react-photoswipe) or example folder. ## Contribute https://github.com/anhdn/react-photoswipe-2 ## Installation ### NPM ```bash npm install --save react-photoswipe ``` ### Bower ```bash bower install --save react-photoswipe ``` ## Usage ### Styles #### With webpack: ```js import 'react-photoswipe/lib/photoswipe.css'; ``` #### Without webpack: ```html <link rel="stylesheet" type="text/css" href="path/to/react-photoswipe/lib/photoswipe.css"> ``` ### JS #### PhotoSwipe ```js import {PhotoSwipe} from 'react-photoswipe'; let isOpen = true; let items = [ { src: 'http://lorempixel.com/1200/900/sports/1', w: 1200, h: 900, title: 'Image 1' }, { src: 'http://lorempixel.com/1200/900/sports/2', w: 1200, h: 900, title: 'Image 2' } ]; let options = { //http://photoswipe.com/documentation/options.html }; handleClose = () => { isOpen: false }; <PhotoSwipe isOpen={isOpen} items={items} options={options} onClose={handleClose}/> ``` #### PhotoSwipeGallery ```js import {PhotoSwipeGallery} from 'react-photoswipe'; let items = [ { src: 'http://lorempixel.com/1200/900/sports/1', thumbnail: 'http://lorempixel.com/120/90/sports/1', w: 1200, h: 900, title: 'Image 1' }, { src: 'http://lorempixel.com/1200/900/sports/2', thumbnail: 'http://lorempixel.com/120/90/sports/2', w: 1200, h: 900, title: 'Image 2' } ]; let options = { //http://photoswipe.com/documentation/options.html }; getThumbnailContent = (item) => { return ( <img src={item.thumbnail} width={120} height={90}/> ); } <PhotoSwipeGallery items={items} options={options} thumbnailContent={getThumbnailContent}/> ``` ### UMD ```html <link rel="stylesheet" type="text/css" href="path/to/react-photoswipe/dist/photoswipe.css"> <script src="path/to/react-photoswipe/dist/react-photoswipe.js"></script> ``` ```js var PhotoSwipe = window.ReactPhotoswipe.PhotoSwipe; var PhotoSwipeGallery = window.ReactPhotoswipe.PhotoSwipeGallery; ``` Example [here](http://codepen.io/vn38minhtran/pen/XmVdvW/) ## Props **Note:** The first argument of every listener is a Photoswipe instance. EX: ```js beforeChange(instance, change); imageLoadComplete(instance, index, item); ``` ### PhotoSwipe | Name | Type | Default | Required | Description | |------|------|---------|----------|-------------| | isOpen | bool | false | true | | | items | array | [] | true | http://photoswipe.com/documentation/getting-started.html | | options | object | {} | false | http://photoswipe.com/documentation/options.html | | onClose | function | | false | Callback after PhotoSwipe close | | id | string | | false | | | className | string | `pswp` | | | beforeChange | function | | false | Photoswipe event listener | | afterChange | function | | false | Photoswipe event listener | | imageLoadComplete | function | | false | Photoswipe event listener | | resize | function | | false | Photoswipe event listener | | gettingData | function | | false | Photoswipe event listener | | mouseUsed | function | | false | Photoswipe event listener | | initialZoomIn | function | | false | Photoswipe event listener | | initialZoomInEnd | function | | false | Photoswipe event listener | | initialZoomOut | function | | false | Photoswipe event listener | | initialZoomOutEnd | function | | false | Photoswipe event listener | | parseVerticalMargin | function | | false | Photoswipe event listener | | close | function | | false | Photoswipe event listener | | unbindEvents | function | | false | Photoswipe event listener | | destroy | function | | false | Photoswipe event listener | | updateScrollOffset | function | | false | Photoswipe event listener | | preventDragEvent | function | | false | Photoswipe event listener | | shareLinkClick | function | | false | Photoswipe event listener | ### PhotoSwipeGallery | Name | Type | Default | Required | Description | |------|------|---------|----------|-------------| | items | array | [] | true | http://photoswipe.com/documentation/getting-started.html | | options | object | {} | false | http://photoswipe.com/documentation/options.html | | thumbnailContent | function | `<img src={item.src} width='100' height='100'/>` | false | Thumbnail content | | isOpen | bool | false | false | Use it with `onClose` prop | | onClose | function | | false | Callback after close | | id | string | | false | | | className | string | `pswp-gallery` | | | beforeChange | function | | false | Photoswipe event listener | | afterChange | function | | false | Photoswipe event listener | | imageLoadComplete | function | | false | Photoswipe event listener | | resize | function | | false | Photoswipe event listener | | gettingData | function | | false | Photoswipe event listener | | mouseUsed | function | | false | Photoswipe event listener | | initialZoomIn | function | | false | Photoswipe event listener | | initialZoomInEnd | function | | false | Photoswipe event listener | | initialZoomOut | function | | false | Photoswipe event listener | | initialZoomOutEnd | function | | false | Photoswipe event listener | | parseVerticalMargin | function | | false | Photoswipe event listener | | close | function | | false | Photoswipe event listener | | unbindEvents | function | | false | Photoswipe event listener | | destroy | function | | false | Photoswipe event listener | | updateScrollOffset | function | | false | Photoswipe event listener | | preventDragEvent | function | | false | Photoswipe event listener | | shareLinkClick | function | | false | Photoswipe event listener |