yet-another-react-lightbox 3.20.0 → 3.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.js +5 -4
- package/dist/plugins/captions/index.js +1 -1
- package/dist/plugins/download/index.js +1 -1
- package/dist/plugins/fullscreen/index.js +1 -1
- package/dist/plugins/share/index.js +1 -1
- package/dist/plugins/slideshow/index.js +1 -1
- package/dist/plugins/thumbnails/index.js +1 -1
- package/dist/plugins/zoom/index.js +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -204,9 +204,10 @@ type ImageSlideProps = Partial<Pick<CarouselSettings, "imageFit" | "imageProps">
|
|
|
204
204
|
rect?: ContainerRect;
|
|
205
205
|
onClick?: () => void;
|
|
206
206
|
onLoad?: (image: HTMLImageElement) => void;
|
|
207
|
+
onError?: () => void;
|
|
207
208
|
style?: React.CSSProperties;
|
|
208
209
|
};
|
|
209
|
-
declare function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps, onClick, onLoad, style, }: ImageSlideProps): React.JSX.Element;
|
|
210
|
+
declare function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps, onClick, onLoad, onError, style, }: ImageSlideProps): React.JSX.Element;
|
|
210
211
|
|
|
211
212
|
declare const LightboxRoot: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
212
213
|
|
package/dist/index.js
CHANGED
|
@@ -623,7 +623,7 @@ function useThrottle(callback, delay) {
|
|
|
623
623
|
|
|
624
624
|
const slidePrefix = makeComposePrefix("slide");
|
|
625
625
|
const slideImagePrefix = makeComposePrefix("slide_image");
|
|
626
|
-
function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps, onClick, onLoad, style, }) {
|
|
626
|
+
function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps, onClick, onLoad, onError, style, }) {
|
|
627
627
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
628
628
|
const [status, setStatus] = React.useState(SLIDE_STATUS_LOADING);
|
|
629
629
|
const { publish } = useEvents();
|
|
@@ -656,9 +656,10 @@ function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps,
|
|
|
656
656
|
const handleOnLoad = React.useCallback((event) => {
|
|
657
657
|
handleLoading(event.currentTarget);
|
|
658
658
|
}, [handleLoading]);
|
|
659
|
-
const
|
|
659
|
+
const handleOnError = useEventCallback(() => {
|
|
660
660
|
setStatus(SLIDE_STATUS_ERROR);
|
|
661
|
-
|
|
661
|
+
onError === null || onError === void 0 ? void 0 : onError();
|
|
662
|
+
});
|
|
662
663
|
const cover = isImageFitCover(image, imageFit);
|
|
663
664
|
const nonInfinite = (value, fallback) => (Number.isFinite(value) ? value : fallback);
|
|
664
665
|
const maxWidth = nonInfinite(Math.max(...((_b = (_a = image.srcSet) === null || _a === void 0 ? void 0 : _a.map((x) => x.width)) !== null && _b !== void 0 ? _b : []).concat(image.width ? [image.width] : []).filter(Boolean)), ((_c = imageRef.current) === null || _c === void 0 ? void 0 : _c.naturalWidth) || 0);
|
|
@@ -677,7 +678,7 @@ function ImageSlide({ slide: image, offset, render, rect, imageFit, imageProps,
|
|
|
677
678
|
const sizes = srcSet && rect && hasWindow() ? `${Math.round(Math.min(estimateActualWidth(), rect.width))}px` : undefined;
|
|
678
679
|
const { style: imagePropsStyle, className: imagePropsClassName, ...restImageProps } = imageProps || {};
|
|
679
680
|
return (React.createElement(React.Fragment, null,
|
|
680
|
-
React.createElement("img", { ref: setImageRef, onLoad: handleOnLoad, onError:
|
|
681
|
+
React.createElement("img", { ref: setImageRef, onLoad: handleOnLoad, onError: handleOnError, onClick: onClick, draggable: false, className: clsx(cssClass(slideImagePrefix()), cover && cssClass(slideImagePrefix("cover")), status !== SLIDE_STATUS_COMPLETE && cssClass(slideImagePrefix("loading")), imagePropsClassName), style: { ...defaultStyle, ...style, ...imagePropsStyle }, ...restImageProps, alt: image.alt, sizes: sizes, srcSet: srcSet, src: image.src }),
|
|
681
682
|
status !== SLIDE_STATUS_COMPLETE && (React.createElement("div", { className: cssClass(slidePrefix(SLIDE_STATUS_PLACEHOLDER)) },
|
|
682
683
|
status === SLIDE_STATUS_LOADING &&
|
|
683
684
|
((render === null || render === void 0 ? void 0 : render.iconLoading) ? (render.iconLoading()) : (React.createElement(LoadingIcon, { className: clsx(cssClass(ELEMENT_ICON), cssClass(slidePrefix(SLIDE_STATUS_LOADING))) }))),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { cssClass, useLightboxProps, makeUseContext, useController, clsx, cssVar, createIcon, createIconDisabled, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { cssClass, useLightboxProps, makeUseContext, useController, clsx, cssVar, createIcon, createIconDisabled, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
3
3
|
import { PLUGIN_CAPTIONS } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const cssPrefix = (className) => cssClass(`slide_${className}`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButton, addToolbarButton } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButton, addToolbarButton } from '../../index.js';
|
|
3
3
|
import { PLUGIN_DOWNLOAD } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const defaultDownloadProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { makeUseContext, useDocumentContext, useLayoutEffect, cleanup, useEventCallback, clsx, cssClass, createIcon, useLightboxProps, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { makeUseContext, useDocumentContext, useLayoutEffect, cleanup, useEventCallback, clsx, cssClass, createIcon, useLightboxProps, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
3
3
|
import { PLUGIN_FULLSCREEN, CLASS_FULLSIZE, PLUGIN_THUMBNAILS, MODULE_CONTROLLER } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const defaultFullscreenProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButton, addToolbarButton } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButton, addToolbarButton } from '../../index.js';
|
|
3
3
|
|
|
4
4
|
const defaultShareProps = {
|
|
5
5
|
share: undefined,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { makeUseContext, useLightboxState, useTimeouts, useEvents, useController, useEventCallback, cleanup, createIcon, useLightboxProps, useLoseFocus, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { makeUseContext, useLightboxState, useTimeouts, useEvents, useController, useEventCallback, cleanup, createIcon, useLightboxProps, useLoseFocus, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
3
3
|
import { SLIDE_STATUS_LOADING, SLIDE_STATUS_PLAYING, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, ACTIVE_SLIDE_ERROR, SLIDE_STATUS_ERROR, ACTIVE_SLIDE_COMPLETE, SLIDE_STATUS_COMPLETE, PLUGIN_SLIDESHOW } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const defaultSlideshowProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useLightboxProps, composePrefix, createIcon, ImageSlide, isImageSlide, cssClass, makeComposePrefix, useDocumentContext, useEventCallback, clsx, cssVar, getSlideKey, useRTL, useEvents, useLightboxState, useSensors, useKeyboardNavigation, useAnimation, cleanup, calculatePreload, hasSlides, getSlide, makeUseContext, LightboxPropsProvider, createIconDisabled, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { useLightboxProps, composePrefix, createIcon, ImageSlide, isImageSlide, cssClass, makeComposePrefix, useDocumentContext, useEventCallback, clsx, cssVar, getSlideKey, useRTL, useEvents, useLightboxState, useSensors, useKeyboardNavigation, useAnimation, cleanup, calculatePreload, hasSlides, getSlide, makeUseContext, LightboxPropsProvider, createIconDisabled, IconButton, addToolbarButton, createModule } from '../../index.js';
|
|
3
3
|
import { PLUGIN_THUMBNAILS, ELEMENT_ICON, CLASS_FLEX_CENTER, ACTION_SWIPE, ACTION_NEXT, ACTION_PREV, PLUGIN_FULLSCREEN, MODULE_CONTROLLER } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const defaultThumbnailsProps = {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { useLightboxProps, useMotionPreference, useEventCallback, useLayoutEffect, useLightboxState, isImageSlide, isImageFitCover, round, useDocumentContext, useController, usePointerEvents, cleanup, makeUseContext, createIcon, IconButton, devicePixelRatio, ImageSlide, clsx, cssClass, addToolbarButton, createModule } from '../../index.js';
|
|
2
1
|
import * as React from 'react';
|
|
2
|
+
import { useLightboxProps, useMotionPreference, useEventCallback, useLayoutEffect, useLightboxState, isImageSlide, isImageFitCover, round, useDocumentContext, useController, usePointerEvents, cleanup, makeUseContext, createIcon, IconButton, devicePixelRatio, ImageSlide, clsx, cssClass, addToolbarButton, createModule } from '../../index.js';
|
|
3
3
|
import { EVENT_ON_KEY_DOWN, EVENT_ON_WHEEL, UNKNOWN_ACTION_TYPE, CLASS_FULLSIZE, CLASS_FLEX_CENTER, CLASS_SLIDE_WRAPPER, PLUGIN_ZOOM } from '../../types.js';
|
|
4
4
|
|
|
5
5
|
const defaultZoomProps = {
|