All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Allow blocking lazy load in
onViewport
events by usingpreventDefault()
- No longer re-render as
noscript
if settingvisible
to false after element has come to viewport component
propTypes have been fixed toany
clientOnly
works now correctly withLazyGroup
ref
is now passed through- Build and test system has been replaced with a less clunky modern one
Lazy
's render method has been compacted to shorter code
- Support for old versions of React, now minimum of 16.4 required
- Now uses
@researchgate/react-intersection-observer
instead of customized implementation
- Case where
viewport
andthreshold
were not passed toObserver
inLazy
- Size of final generated JavaScript has been reduced
- Minor code speed optimizations
DefaultWrapper
andLazyChild
are no longer exported
- React version requirement to 16
- Symbol polyfill requirement
Observer
componentthreshold
prop toLazy
andLazyGroup
viewport
prop toLazy
andLazyGroup
which works likeroot
of IntersectionObserver
cushion
prop works now likemarginRoot
of IntersectionObserverjsOnly
prop is nowclientOnly
- Viewport detection to use IntersectionObserver API with code heavily based on @researchgate/react-intersection-observer
LazyGroup
no longer extends fromLazy
as both useObserver
nowonViewport
receives intersection observer event as first parameter
checkElementsInViewport
- Production build no longer requires
PropTypes
- Fix dependency issue with
uglifyjs-webpack-plugin
- Update to React 16.4
- Use throttle instead of debounce
- Update to Webpack 4 and other latest packages (except for the tests because I am lazy)
- Update to React 16.1.1
- Update to Node 8 LTS; run Travis in it and include a
package-lock.json
- Fix render mismatch in certain cases
- Update to React 16
- Add
jsOnly
option as a solution for less React 16.0.0 errors
- Update dependencies
- Fix linting issues
- Add event listener helpers
- Use passive listeners
- Add wheel event to listened events
- Remove
imgWrapperComponent
as it's development went only half-way to completion - Add
LazyGroup
,LazyChild
andDefaultWrapper
components
- Fix non-
ltIE9
not loading images
- Disable IE conditional comment rendering by default
- Add
ltIE9
to enable IE conditional comment rendering - Update dependencies
- Fix
React.DOM.div
warnings
- Fix issue where images loaded when
display: none
was set to hide an element - Introduces issue where having lazy loading on
position: fixed
elements does not work
- Upgrade to React 15.5
- Babel 6
- Webpack 2
- Convert from createClass to ES6 class
- Modularize
- Test Travis CI in Node 6.10
- Update linting
- Change
nodeName
tocomponent
and allow for more than string tags - Fix bug in cushion handling
- Add support for
imgWrapperComponent
which renders given component around all noscripted img childs - No longer expose
verge
- Upgrade to React 0.14
- Fix issue #1: require loaded client side only intended minified version due to wrong reference in package.json
- Use debounce instead of throttle.
- Expose checkElementsInViewport to allow manual triggers.
- Initial release.