- LazyLoad helper is now a singleton class reusing the same IntersectionObserver instance for performance reasons
- IntersectionObserver is now disconnected when the component is unmounted for performance reasons
- StyledPhoto is now using useCallback to avoid unnecessary rerenderings
- Fixed issue setting loading attribute to the <img /> rendered by <ProtectedImage/> component
- If it is possible, HTMLImageElement.loading is used a lightweight native browser lazy loading solution
- Custom lazyLoad library is created depending on IntersectionObserver. If IntersectionObserver is not available, the images are eagerly loaded
- removed react-lazyload from the dependencies