All notable changes to this project will be documented in this file.
- Upgrade to
react-spring
v9stable
whenever this version gets released
- Rewrite project with typescript 4
- Upgrade
[email protected]
to[email protected]
- This upgrade should fix some miscellaneous bugs such as
unable to spread non iterable instance
and more consistent trackpad support
- This upgrade should fix some miscellaneous bugs such as
- The
images
prop now accepts a list of objects whose properties can be almost any valid React<img />
prop includingsrcset
andloading
(lazy loading)
If you use typescript, the exact type can be imported/used like this
import Lightbox, { ImagesListType } from 'react-spring-lightbox';
const images: ImagesListType = [
{
alt: 'Windows 10 Dark Mode Setting',
'aria-details': 'Some details',
'aria-disabled': 'false',
loading: 'lazy',
src:
'https://timellenberger.com/static/blog-content/dark-mode/win10-dark-mode.jpg',
srcSet:
'/wp-content/uploads/flamingo4x.jpg 4x, /wp-content/uploads/flamingo3x.jpg 3x, /wp-content/uploads/flamingo2x.jpg 2x, /wp-content/uploads/flamingo1x.jpg 1x',
},
{
alt: 'macOS Mojave Dark Mode Setting',
'aria-details': 'Some details',
'aria-disabled': 'false',
loading: 'lazy',
src:
'https://timellenberger.com/static/blog-content/dark-mode/macos-dark-mode.png',
srcSet:
'/wp-content/uploads/flamingo4x.jpg 4x, /wp-content/uploads/flamingo3x.jpg 3x, /wp-content/uploads/flamingo2x.jpg 2x, /wp-content/uploads/flamingo1x.jpg 1x',
},
];
const SimpleLightbox = () => <Lightbox images={images} {...otherProps} />;
The exact type is:
export type ImagesListItem = Omit<
React.HTMLProps<HTMLImageElement>,
'draggable' | 'onClick' | 'onDragStart' | 'ref'
> & { alt: string; loading?: 'auto' | 'eager' | 'lazy'; src: string };
Which translates to any React <img />
prop minus draggable
, onClick
, onDragStart
and ref
as they are used internally. alt
and src
are required and explicitly support loading
as it is an experimental chrome feature not included in React.HTMLProps<HTMLImageElement>
.
- Use aliased version of react-spring dependencies, fixes "Cannot read property 'ref' of null" error
- Optimize output bundles with Terser
- Apply
babel-plugin-styled-components
babel plugin to optimize styled-components styles
- Fix partially off-screen image stage in ie11
- Upgrade to
[email protected]
,[email protected]
and@babel/****@7.9.6
- Dropped
lodash.clamp
dependency - Call onPrev/onNext callbacks on all paging events, even at the beginning or end of image array to allow for infinite paging
- Lower distance and velocity gesture threshold for a paging between images
- Allow click to zoom while a paging animation completes
- Upgrade to
[email protected]
and[email protected]
- Add
sideEffects: false
topackage.json
- Handle edge case bugs with
singleClickToZoom
option - Fix undefined errors in panning drag handler on initial drags
- Add optional
singleClickToZoom
prop which allows single click/tap zooming on images
- Add orientationchange event listener for ios devices
- Drop lodash.merge
- Fix image heights not adjusting on window resize
- Remove need for react-use-measure and @juggle/resize-observer
- Fix image stage height on Safari
- Upgrade to [email protected]
- Upgrade to [email protected]
- Replaced inline styles with styled-components. This library now has a peer dependency on
styled-components@5
- Gigantic initial image size in Firefox and MS Edge
- Click background to close functionality
- Vendor prefixed styles
- A resize observer polyfill is now included to support MS Edge
- Added
renderImageOverlay
prop, renders a React component within the image stage, useful for creating UI overlays on top of the current image
- Upgrade react-use-gesture v6 -> v7
- Upgrade all deps
- Improved panning performance
- Tweaked mousewheel swiping threshold
- Upgrade to react-use-gesture v6
- Implement mousewheel paging of images
- Prevent vertical dragging from paging images
- Switch to @react-spring/web package
- Properly dispose wheel event listener
- Adjusted "pan out of bounds" threshold
- Implement proper Ctrl +
Mousewheel
andTrackpad Pinch
zooming
Add testing suite and travis-ci config
Upgrade deps and release as stable
- Renamed onClickNext => onNext
- Renamed onClickPrev => onPrev
Initial Release