yet-another-react-lightbox 3.7.0 → 3.8.0
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/README.md +2 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/plugins/download/index.d.ts +22 -4
- package/dist/plugins/download/index.js +35 -10
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +1 -0
- package/dist/plugins/share/index.d.ts +47 -0
- package/dist/plugins/share/index.js +55 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.js +2 -1
- package/package.json +8 -1
package/README.md
CHANGED
|
@@ -133,7 +133,8 @@ The following plugins are bundled in the package:
|
|
|
133
133
|
- [Download](https://yet-another-react-lightbox.com/plugins/download) - adds download button
|
|
134
134
|
- [Fullscreen](https://yet-another-react-lightbox.com/plugins/fullscreen) - adds support for fullscreen mode
|
|
135
135
|
- [Inline](https://yet-another-react-lightbox.com/plugins/inline) - transforms the lightbox into an image carousel
|
|
136
|
-
- [
|
|
136
|
+
- [Share](https://yet-another-react-lightbox.com/plugins/share) - adds sharing button
|
|
137
|
+
- [Slideshow](https://yet-another-react-lightbox.com/plugins/slideshow) - adds slideshow button
|
|
137
138
|
- [Thumbnails](https://yet-another-react-lightbox.com/plugins/thumbnails) - adds thumbnails track
|
|
138
139
|
- [Video](https://yet-another-react-lightbox.com/plugins/video) - adds support for video slides
|
|
139
140
|
- [Zoom](https://yet-another-react-lightbox.com/plugins/zoom) - adds image zoom feature
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { LightboxExternalProps, LightboxProps, Labels, Slide, SlideImage, LengthOrPercentage, ContainerRect, ToolbarSettings, Component, Module, Node, Plugin, Augmentation, EventTypes, ComponentProps, LightboxStateSwipeAction, LightboxStateUpdateAction, LightboxState, Render, ImageFit, ControllerRef, Callback, RenderFunction } from './types.js';
|
|
3
|
-
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callbacks, CarouselSettings, ClickCallbackProps, ControllerSettings, DeepNonNullable, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageSource, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, NavigationAction, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, PluginProps, PortalSettings, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus } from './types.js';
|
|
3
|
+
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callbacks, CarouselSettings, ClickCallbackProps, ControllerSettings, DeepNonNullable, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageSource, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, NavigationAction, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, PluginProps, PortalSettings, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus } from './types.js';
|
|
4
4
|
|
|
5
5
|
/** Lightbox component */
|
|
6
6
|
declare function Lightbox({ carousel, animation, render, toolbar, controller, on, plugins, slides, index, ...restProps }: LightboxExternalProps): React.JSX.Element | null;
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { ACTION_CLOSE, IMAGE_FIT_CONTAIN, MODULE_CONTROLLER, IMAGE_FIT_COVER, UNKNOWN_ACTION_TYPE, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_CANCEL, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_WHEEL, SLIDE_STATUS_LOADING, activeSlideStatus, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_PLACEHOLDER, ACTION_PREV, ACTION_NEXT, ACTION_SWIPE, VK_ESCAPE, CLASS_FLEX_CENTER, MODULE_CAROUSEL, CLASS_FULLSIZE, VK_ARROW_LEFT, VK_ARROW_RIGHT, MODULE_NAVIGATION, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR } from './types.js';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
|
-
export { ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, SLIDE_STATUS_PLAYING } from './types.js';
|
|
5
|
+
export { ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, SLIDE_STATUS_PLAYING } from './types.js';
|
|
6
6
|
|
|
7
7
|
const LightboxDefaultProps = {
|
|
8
8
|
open: false,
|
|
@@ -4,10 +4,24 @@ declare function Download({ augment }: PluginProps): void;
|
|
|
4
4
|
|
|
5
5
|
declare module "../../types.js" {
|
|
6
6
|
interface GenericSlide {
|
|
7
|
-
/** download
|
|
7
|
+
/** @deprecated - use `download` instead */
|
|
8
8
|
downloadUrl?: string;
|
|
9
|
-
/** download
|
|
9
|
+
/** @deprecated - use `download` instead */
|
|
10
10
|
downloadFilename?: string;
|
|
11
|
+
/** download url or download props */
|
|
12
|
+
download?: boolean | string | {
|
|
13
|
+
/** download url */
|
|
14
|
+
url: string;
|
|
15
|
+
/** download filename override */
|
|
16
|
+
filename: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
interface LightboxProps {
|
|
20
|
+
/** Download plugin settings */
|
|
21
|
+
download?: {
|
|
22
|
+
/** Custom download function */
|
|
23
|
+
download?: ({ slide, saveAs }: DownloadFunctionProps) => void;
|
|
24
|
+
};
|
|
11
25
|
}
|
|
12
26
|
interface Render {
|
|
13
27
|
/** render custom Download button */
|
|
@@ -19,11 +33,15 @@ declare module "../../types.js" {
|
|
|
19
33
|
/** a callback called on slide download */
|
|
20
34
|
download?: Callback<DownloadCallbackProps>;
|
|
21
35
|
}
|
|
36
|
+
interface ToolbarButtonKeys {
|
|
37
|
+
[PLUGIN_DOWNLOAD]: null;
|
|
38
|
+
}
|
|
22
39
|
interface DownloadCallbackProps {
|
|
23
40
|
index: number;
|
|
24
41
|
}
|
|
25
|
-
interface
|
|
26
|
-
|
|
42
|
+
interface DownloadFunctionProps {
|
|
43
|
+
slide: Slide;
|
|
44
|
+
saveAs: (source: string | Blob, name?: string) => void;
|
|
27
45
|
}
|
|
28
46
|
}
|
|
29
47
|
|
|
@@ -2,6 +2,14 @@ import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButto
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { PLUGIN_DOWNLOAD } from '../../types.js';
|
|
4
4
|
|
|
5
|
+
const defaultDownloadProps = {
|
|
6
|
+
download: undefined,
|
|
7
|
+
};
|
|
8
|
+
const resolveDownloadProps = (download) => ({
|
|
9
|
+
...defaultDownloadProps,
|
|
10
|
+
...download,
|
|
11
|
+
});
|
|
12
|
+
|
|
5
13
|
function download(url, name) {
|
|
6
14
|
const xhr = new XMLHttpRequest();
|
|
7
15
|
xhr.open("GET", url);
|
|
@@ -65,24 +73,41 @@ function saveAs(source, name) {
|
|
|
65
73
|
|
|
66
74
|
const DownloadIcon = createIcon("DownloadIcon", React.createElement("path", { d: "M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zm-1-4-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5z" }));
|
|
67
75
|
function DownloadButton() {
|
|
68
|
-
const { render, on } = useLightboxProps();
|
|
76
|
+
const { render, on, download: downloadProps } = useLightboxProps();
|
|
77
|
+
const { download: customDownload } = resolveDownloadProps(downloadProps);
|
|
69
78
|
const { currentSlide, currentIndex } = useLightboxState();
|
|
70
79
|
if (render.buttonDownload) {
|
|
71
80
|
return React.createElement(React.Fragment, null, render.buttonDownload());
|
|
72
81
|
}
|
|
73
|
-
const downloadUrl = (currentSlide
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
82
|
+
const downloadUrl = (currentSlide &&
|
|
83
|
+
(currentSlide.downloadUrl ||
|
|
84
|
+
(typeof currentSlide.download === "string" && currentSlide.download) ||
|
|
85
|
+
(typeof currentSlide.download === "object" && currentSlide.download.url) ||
|
|
86
|
+
(isImageSlide(currentSlide) && currentSlide.src))) ||
|
|
87
|
+
undefined;
|
|
88
|
+
const canDownload = customDownload ? Boolean(currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.download) : Boolean(downloadUrl);
|
|
89
|
+
const defaultDownload = () => {
|
|
90
|
+
if (currentSlide && downloadUrl) {
|
|
91
|
+
const downloadFilename = currentSlide.downloadFilename ||
|
|
92
|
+
(typeof currentSlide.download === "object" && currentSlide.download.filename) ||
|
|
93
|
+
undefined;
|
|
94
|
+
saveAs(downloadUrl, downloadFilename);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const handleDownload = () => {
|
|
98
|
+
var _a;
|
|
99
|
+
if (currentSlide) {
|
|
100
|
+
(customDownload || defaultDownload)({ slide: currentSlide, saveAs });
|
|
101
|
+
(_a = on.download) === null || _a === void 0 ? void 0 : _a.call(on, { index: currentIndex });
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
return (React.createElement(IconButton, { label: "Download", icon: DownloadIcon, renderIcon: render.iconDownload, disabled: !canDownload, onClick: handleDownload }));
|
|
81
105
|
}
|
|
82
106
|
|
|
83
107
|
function Download({ augment }) {
|
|
84
|
-
augment(({ toolbar, ...restProps }) => ({
|
|
108
|
+
augment(({ toolbar, download, ...restProps }) => ({
|
|
85
109
|
toolbar: addToolbarButton(toolbar, PLUGIN_DOWNLOAD, React.createElement(DownloadButton, null)),
|
|
110
|
+
download: resolveDownloadProps(download),
|
|
86
111
|
...restProps,
|
|
87
112
|
}));
|
|
88
113
|
}
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as Counter } from './counter/index.js';
|
|
|
3
3
|
export { default as Download } from './download/index.js';
|
|
4
4
|
export { default as Fullscreen } from './fullscreen/index.js';
|
|
5
5
|
export { default as Inline } from './inline/index.js';
|
|
6
|
+
export { default as Share } from './share/index.js';
|
|
6
7
|
export { default as Slideshow } from './slideshow/index.js';
|
|
7
8
|
export { default as Thumbnails } from './thumbnails/index.js';
|
|
8
9
|
export { default as Video } from './video/index.js';
|
package/dist/plugins/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { default as Counter } from './counter/index.js';
|
|
|
3
3
|
export { default as Download } from './download/index.js';
|
|
4
4
|
export { default as Fullscreen } from './fullscreen/index.js';
|
|
5
5
|
export { default as Inline } from './inline/index.js';
|
|
6
|
+
export { default as Share } from './share/index.js';
|
|
6
7
|
export { default as Slideshow } from './slideshow/index.js';
|
|
7
8
|
export { default as Thumbnails } from './thumbnails/index.js';
|
|
8
9
|
export { default as Video } from './video/index.js';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { PluginProps, PLUGIN_SHARE } from '../../types.js';
|
|
2
|
+
|
|
3
|
+
declare function Share({ augment }: PluginProps): void;
|
|
4
|
+
|
|
5
|
+
declare function isShareSupported(): boolean;
|
|
6
|
+
|
|
7
|
+
declare module "../../types.js" {
|
|
8
|
+
interface GenericSlide {
|
|
9
|
+
/** share url or share props */
|
|
10
|
+
share?: boolean | string | {
|
|
11
|
+
/** share url */
|
|
12
|
+
url?: string;
|
|
13
|
+
/** share text */
|
|
14
|
+
text?: string;
|
|
15
|
+
/** share title */
|
|
16
|
+
title?: string;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
interface LightboxProps {
|
|
20
|
+
/** Share plugin settings */
|
|
21
|
+
share?: {
|
|
22
|
+
/** custom share function */
|
|
23
|
+
share?: ({ slide }: ShareFunctionProps) => void;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
interface Render {
|
|
27
|
+
/** render custom Share button */
|
|
28
|
+
buttonShare?: RenderFunction;
|
|
29
|
+
/** render custom Share icon */
|
|
30
|
+
iconShare?: RenderFunction;
|
|
31
|
+
}
|
|
32
|
+
interface Callbacks {
|
|
33
|
+
/** a callback called on slide share */
|
|
34
|
+
share?: Callback<ShareCallbackProps>;
|
|
35
|
+
}
|
|
36
|
+
interface ToolbarButtonKeys {
|
|
37
|
+
[PLUGIN_SHARE]: null;
|
|
38
|
+
}
|
|
39
|
+
interface ShareCallbackProps {
|
|
40
|
+
index: number;
|
|
41
|
+
}
|
|
42
|
+
interface ShareFunctionProps {
|
|
43
|
+
slide: Slide;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export { Share as default, isShareSupported };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { createIcon, useLightboxProps, useLightboxState, isImageSlide, IconButton, addToolbarButton } from '../../index.js';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
const defaultShareProps = {
|
|
5
|
+
share: undefined,
|
|
6
|
+
};
|
|
7
|
+
const resolveShareProps = (share) => ({
|
|
8
|
+
...defaultShareProps,
|
|
9
|
+
...share,
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
function isShareSupported() {
|
|
13
|
+
return Boolean(navigator.canShare);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const ShareIcon = createIcon("ShareIcon", React.createElement("path", { d: "m16 5-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z" }));
|
|
17
|
+
function ShareButton() {
|
|
18
|
+
const { render, on, share: shareProps } = useLightboxProps();
|
|
19
|
+
const { share: customShare } = resolveShareProps(shareProps);
|
|
20
|
+
const { currentSlide, currentIndex } = useLightboxState();
|
|
21
|
+
if (!isShareSupported())
|
|
22
|
+
return null;
|
|
23
|
+
if (render.buttonShare) {
|
|
24
|
+
return React.createElement(React.Fragment, null, render.buttonShare());
|
|
25
|
+
}
|
|
26
|
+
const share = (currentSlide &&
|
|
27
|
+
((typeof currentSlide.share === "object" && currentSlide.share) ||
|
|
28
|
+
(typeof currentSlide.share === "string" && { url: currentSlide.share }) ||
|
|
29
|
+
(isImageSlide(currentSlide) && { url: currentSlide.src }))) ||
|
|
30
|
+
undefined;
|
|
31
|
+
const canShare = customShare ? Boolean(currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.share) : share && navigator.canShare(share);
|
|
32
|
+
const defaultShare = () => {
|
|
33
|
+
if (share) {
|
|
34
|
+
navigator.share(share).catch(() => { });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
const handleShare = () => {
|
|
38
|
+
var _a;
|
|
39
|
+
if (currentSlide) {
|
|
40
|
+
(customShare || defaultShare)({ slide: currentSlide });
|
|
41
|
+
(_a = on.share) === null || _a === void 0 ? void 0 : _a.call(on, { index: currentIndex });
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return (React.createElement(IconButton, { label: "Share", icon: ShareIcon, renderIcon: render.iconShare, disabled: !canShare, onClick: handleShare }));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function Share({ augment }) {
|
|
48
|
+
augment(({ toolbar, share, ...rest }) => ({
|
|
49
|
+
toolbar: addToolbarButton(toolbar, "share", React.createElement(ShareButton, null)),
|
|
50
|
+
share: resolveShareProps(share),
|
|
51
|
+
...rest,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { Share as default, isShareSupported };
|
package/dist/types.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ declare const PLUGIN_COUNTER = "counter";
|
|
|
12
12
|
declare const PLUGIN_DOWNLOAD = "download";
|
|
13
13
|
declare const PLUGIN_FULLSCREEN = "fullscreen";
|
|
14
14
|
declare const PLUGIN_INLINE = "inline";
|
|
15
|
+
declare const PLUGIN_SHARE = "share";
|
|
15
16
|
declare const PLUGIN_SLIDESHOW = "slideshow";
|
|
16
17
|
declare const PLUGIN_THUMBNAILS = "thumbnails";
|
|
17
18
|
declare const PLUGIN_ZOOM = "zoom";
|
|
@@ -405,4 +406,4 @@ type DeepNonNullable<T> = T extends {} ? {
|
|
|
405
406
|
[K in keyof T]-?: NonNullable<T[K]>;
|
|
406
407
|
} : never;
|
|
407
408
|
|
|
408
|
-
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, Augmentation, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callback, Callbacks, CarouselSettings, ClickCallbackProps, Component, ComponentProps, ContainerRect, ControllerRef, ControllerSettings, DeepNonNullable, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, EventTypes, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageFit, ImageSource, Labels, LengthOrPercentage, LightboxExternalProps, LightboxProps, LightboxState, LightboxStateSwipeAction, LightboxStateUpdateAction, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, Module, NavigationAction, Node, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, Plugin, PluginProps, PortalSettings, Render, RenderFunction, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, Slide, SlideImage, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, ToolbarSettings, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus };
|
|
409
|
+
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, AnimationSettings, Augmentation, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, Callback, Callbacks, CarouselSettings, ClickCallbackProps, Component, ComponentProps, ContainerRect, ControllerRef, ControllerSettings, DeepNonNullable, DeepPartial, DeepPartialValue, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, EventTypes, GenericSlide, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, ImageFit, ImageSource, Labels, LengthOrPercentage, LightboxExternalProps, LightboxProps, LightboxState, LightboxStateSwipeAction, LightboxStateUpdateAction, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, Module, NavigationAction, Node, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, Plugin, PluginProps, PortalSettings, Render, RenderFunction, RenderSlideContainerProps, RenderSlideFooterProps, RenderSlideHeaderProps, RenderSlideProps, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, Slide, SlideImage, SlideStatus, SlideTypeKey, SlideTypes, Slot, SlotStyles, SlotType, ToolbarButtonKey, ToolbarButtonKeys, ToolbarSettings, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, ViewCallbackProps, activeSlideStatus };
|
package/dist/types.js
CHANGED
|
@@ -10,6 +10,7 @@ const PLUGIN_COUNTER = "counter";
|
|
|
10
10
|
const PLUGIN_DOWNLOAD = "download";
|
|
11
11
|
const PLUGIN_FULLSCREEN = "fullscreen";
|
|
12
12
|
const PLUGIN_INLINE = "inline";
|
|
13
|
+
const PLUGIN_SHARE = "share";
|
|
13
14
|
const PLUGIN_SLIDESHOW = "slideshow";
|
|
14
15
|
const PLUGIN_THUMBNAILS = "thumbnails";
|
|
15
16
|
const PLUGIN_ZOOM = "zoom";
|
|
@@ -48,4 +49,4 @@ const IMAGE_FIT_CONTAIN = "contain";
|
|
|
48
49
|
const IMAGE_FIT_COVER = "cover";
|
|
49
50
|
const UNKNOWN_ACTION_TYPE = "Unknown action type";
|
|
50
51
|
|
|
51
|
-
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, activeSlideStatus };
|
|
52
|
+
export { ACTION_CLOSE, ACTION_NEXT, ACTION_PREV, ACTION_SWIPE, ACTIVE_SLIDE_COMPLETE, ACTIVE_SLIDE_ERROR, ACTIVE_SLIDE_LOADING, ACTIVE_SLIDE_PLAYING, CLASS_FLEX_CENTER, CLASS_FULLSIZE, CLASS_NO_SCROLL, CLASS_NO_SCROLL_PADDING, ELEMENT_BUTTON, ELEMENT_ICON, EVENT_ON_KEY_DOWN, EVENT_ON_KEY_UP, EVENT_ON_POINTER_CANCEL, EVENT_ON_POINTER_DOWN, EVENT_ON_POINTER_LEAVE, EVENT_ON_POINTER_MOVE, EVENT_ON_POINTER_UP, EVENT_ON_WHEEL, IMAGE_FIT_CONTAIN, IMAGE_FIT_COVER, MODULE_CAROUSEL, MODULE_CONTROLLER, MODULE_NAVIGATION, MODULE_NO_SCROLL, MODULE_PORTAL, MODULE_ROOT, MODULE_TOOLBAR, PLUGIN_CAPTIONS, PLUGIN_COUNTER, PLUGIN_DOWNLOAD, PLUGIN_FULLSCREEN, PLUGIN_INLINE, PLUGIN_SHARE, PLUGIN_SLIDESHOW, PLUGIN_THUMBNAILS, PLUGIN_ZOOM, SLIDE_STATUS_COMPLETE, SLIDE_STATUS_ERROR, SLIDE_STATUS_LOADING, SLIDE_STATUS_PLACEHOLDER, SLIDE_STATUS_PLAYING, UNKNOWN_ACTION_TYPE, VK_ARROW_LEFT, VK_ARROW_RIGHT, VK_ESCAPE, activeSlideStatus };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "yet-another-react-lightbox",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Modern React lightbox component",
|
|
5
5
|
"author": "Igor Danchenko",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
"types": "./dist/plugins/inline/index.d.ts",
|
|
53
53
|
"default": "./dist/plugins/inline/index.js"
|
|
54
54
|
},
|
|
55
|
+
"./plugins/share": {
|
|
56
|
+
"types": "./dist/plugins/share/index.d.ts",
|
|
57
|
+
"default": "./dist/plugins/share/index.js"
|
|
58
|
+
},
|
|
55
59
|
"./plugins/slideshow": {
|
|
56
60
|
"types": "./dist/plugins/slideshow/index.d.ts",
|
|
57
61
|
"default": "./dist/plugins/slideshow/index.js"
|
|
@@ -108,6 +112,9 @@
|
|
|
108
112
|
"plugins/inline": [
|
|
109
113
|
"dist/plugins/inline/index.d.ts"
|
|
110
114
|
],
|
|
115
|
+
"plugins/share": [
|
|
116
|
+
"dist/plugins/share/index.d.ts"
|
|
117
|
+
],
|
|
111
118
|
"plugins/slideshow": [
|
|
112
119
|
"dist/plugins/slideshow/index.d.ts"
|
|
113
120
|
],
|