react-motion-gallery 1.0.0 → 2.0.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/LICENSE.md +94 -0
- package/README.md +46 -1
- package/dist/index.css +691 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.mts +521 -0
- package/dist/index.d.ts +499 -32
- package/dist/index.js +10465 -3514
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12233 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +36 -36
- package/dist/Slider.module-BIDZBG7Y.module.css +0 -177
- package/dist/ThumbnailSlider.module-PUTK2PEE.module.css +0 -32
- package/dist/index.cjs +0 -5296
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -54
- package/dist/index.module-DIGTXCJL.module.css +0 -192
package/dist/index.d.ts
CHANGED
|
@@ -1,54 +1,521 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { ReactNode } from 'react';
|
|
1
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
4
|
+
import { APITypes } from 'plyr-react';
|
|
3
5
|
|
|
6
|
+
type BreakpointMap = Record<string, number>;
|
|
7
|
+
type ResponsiveNumber = number | string | Array<number | string> | Record<string, number | string>;
|
|
4
8
|
type MediaItem = {
|
|
5
9
|
kind: 'image';
|
|
6
10
|
src: string;
|
|
7
11
|
alt?: string;
|
|
12
|
+
caption?: React__default.ReactNode;
|
|
13
|
+
srcSet?: string;
|
|
14
|
+
sizes?: string;
|
|
15
|
+
width?: number;
|
|
16
|
+
height?: number;
|
|
8
17
|
} | {
|
|
9
18
|
kind: 'video';
|
|
10
19
|
src: string;
|
|
11
20
|
alt?: string;
|
|
12
21
|
thumb?: string;
|
|
22
|
+
caption?: React__default.ReactNode;
|
|
13
23
|
};
|
|
14
|
-
type
|
|
24
|
+
type EntryItem = {
|
|
25
|
+
media?: MediaItem[];
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
};
|
|
28
|
+
type EntryMediaRenderArgs = {
|
|
29
|
+
entry: EntryItem;
|
|
30
|
+
entryIndex: number;
|
|
31
|
+
media: MediaItem;
|
|
32
|
+
mediaIndex: number;
|
|
33
|
+
};
|
|
34
|
+
type MediaEntryLink = {
|
|
35
|
+
entryIndex: number;
|
|
36
|
+
mediaIndex: number;
|
|
37
|
+
};
|
|
38
|
+
type EntryOverlayRenderArgs = {
|
|
39
|
+
entry: EntryItem;
|
|
40
|
+
entryIndex: number;
|
|
41
|
+
mediaIndex: number | null;
|
|
42
|
+
link: MediaEntryLink | null;
|
|
43
|
+
opacity: number;
|
|
44
|
+
fsIndex: number;
|
|
45
|
+
style: React__default.CSSProperties;
|
|
46
|
+
containerProps: React__default.HTMLAttributes<HTMLDivElement>;
|
|
47
|
+
};
|
|
48
|
+
type EntryMediaLayout = 'slider' | 'grid' | 'masonry';
|
|
49
|
+
type EntryCardRenderArgs = {
|
|
50
|
+
entry: EntryItem;
|
|
51
|
+
entryIndex: number;
|
|
52
|
+
media: React__default.ReactNode;
|
|
53
|
+
};
|
|
54
|
+
type ThumbnailPosition = 'top' | 'right' | 'bottom' | 'left';
|
|
55
|
+
type ResponsivePosition = ThumbnailPosition | Array<ThumbnailPosition> | Record<string, ThumbnailPosition>;
|
|
15
56
|
type FSImageRender = (args: {
|
|
16
|
-
item: {
|
|
17
|
-
kind:
|
|
18
|
-
|
|
19
|
-
alt?: string;
|
|
20
|
-
};
|
|
57
|
+
item: Extract<MediaItem, {
|
|
58
|
+
kind: "image";
|
|
59
|
+
}>;
|
|
21
60
|
index: number;
|
|
22
61
|
isZoomed: boolean;
|
|
23
62
|
className: string;
|
|
24
|
-
baseStyle:
|
|
25
|
-
}) =>
|
|
63
|
+
baseStyle: React__default.CSSProperties;
|
|
64
|
+
}) => React__default.ReactNode;
|
|
26
65
|
type PlyrSourceBuilder = (item: MediaItem, index: number) => Plyr.SourceInfo;
|
|
27
66
|
type PlyrOptionsResolver = Plyr.Options | ((item: MediaItem, index: number) => Plyr.Options);
|
|
28
|
-
type
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
67
|
+
type ResponsiveHeightRule = {
|
|
68
|
+
query: string;
|
|
69
|
+
height: string;
|
|
70
|
+
};
|
|
71
|
+
type ArrowRenderArgs = {
|
|
72
|
+
ref: React__default.RefObject<HTMLDivElement | null>;
|
|
73
|
+
onClick: () => void;
|
|
74
|
+
hidden: boolean;
|
|
75
|
+
disabled: boolean;
|
|
76
|
+
createRipple: (el: HTMLElement) => void;
|
|
77
|
+
className?: string;
|
|
78
|
+
};
|
|
79
|
+
type DotsRenderArgs = {
|
|
80
|
+
ref: React__default.RefObject<HTMLDivElement | null>;
|
|
81
|
+
count: number;
|
|
82
|
+
activeIndex: number;
|
|
83
|
+
hidden: boolean;
|
|
84
|
+
goTo: (index: number) => void;
|
|
85
|
+
getDotRef: (index: number) => (el: HTMLDivElement | null) => void;
|
|
86
|
+
createRipple: (el: HTMLElement) => void;
|
|
87
|
+
classNameContainer?: string;
|
|
88
|
+
classNameDot?: string;
|
|
89
|
+
};
|
|
90
|
+
type ProgressRenderArgs = {
|
|
91
|
+
ref: React__default.Ref<HTMLDivElement>;
|
|
92
|
+
innerRef?: React__default.Ref<HTMLDivElement>;
|
|
93
|
+
hidden: boolean;
|
|
94
|
+
progress: number;
|
|
95
|
+
classNameContainer?: string;
|
|
96
|
+
classNameBar?: string;
|
|
97
|
+
};
|
|
98
|
+
type FsCounterArgs = {
|
|
99
|
+
index: number;
|
|
100
|
+
count: number;
|
|
101
|
+
};
|
|
102
|
+
type FsCaptionPlacement = 'top' | 'right' | 'bottom' | 'left';
|
|
103
|
+
type FsCaptionRenderArgs = {
|
|
104
|
+
item: MediaItem;
|
|
105
|
+
index: number;
|
|
106
|
+
isZoomed: boolean;
|
|
107
|
+
};
|
|
108
|
+
type IndexMode = 'instant' | 'animated';
|
|
109
|
+
type LoadingOptions = {
|
|
110
|
+
isLoading?: boolean;
|
|
111
|
+
skeletonCount?: ResponsiveNumber;
|
|
112
|
+
renderLoading?: (args: {
|
|
113
|
+
layout: 'slider' | 'grid' | 'masonry' | 'entries';
|
|
114
|
+
count: number;
|
|
115
|
+
}) => React__default.ReactNode;
|
|
116
|
+
};
|
|
117
|
+
type IntroOptions = {
|
|
118
|
+
renderIntro?: (args: {
|
|
119
|
+
active: boolean;
|
|
120
|
+
containerProps: React__default.HTMLAttributes<HTMLDivElement>;
|
|
121
|
+
}, content: React__default.ReactNode) => React__default.ReactNode;
|
|
122
|
+
staggerMs?: number;
|
|
123
|
+
transform?: number | string;
|
|
124
|
+
durationMs?: number;
|
|
125
|
+
easing?: string;
|
|
126
|
+
staggerLimit?: number;
|
|
127
|
+
};
|
|
128
|
+
type ControlStyle = {
|
|
129
|
+
className?: string;
|
|
130
|
+
style?: React__default.CSSProperties;
|
|
131
|
+
};
|
|
132
|
+
type LoadingRenderArgs = {
|
|
133
|
+
layout: 'thumbnails';
|
|
134
|
+
count: number;
|
|
135
|
+
};
|
|
136
|
+
type IntroRenderArgs = {
|
|
137
|
+
active: boolean;
|
|
138
|
+
containerProps: React__default.HTMLAttributes<HTMLDivElement>;
|
|
139
|
+
};
|
|
140
|
+
type ThumbnailLoadingOptions = {
|
|
141
|
+
isLoading?: boolean;
|
|
142
|
+
skeletonCount?: ResponsiveNumber;
|
|
143
|
+
renderLoading?: (args: LoadingRenderArgs) => React__default.ReactNode;
|
|
144
|
+
};
|
|
145
|
+
type ThumbnailIntroOptions = {
|
|
146
|
+
renderIntro?: (args: IntroRenderArgs, inner: React__default.ReactNode) => React__default.ReactNode;
|
|
147
|
+
staggerMs?: number;
|
|
148
|
+
transform?: number;
|
|
149
|
+
durationMs?: number;
|
|
150
|
+
easing?: string;
|
|
151
|
+
};
|
|
152
|
+
type ThumbnailLayout = {
|
|
153
|
+
width?: number | string;
|
|
154
|
+
height?: number | string;
|
|
155
|
+
};
|
|
156
|
+
type ThumbnailContainerLayout = {
|
|
157
|
+
width?: number | string;
|
|
158
|
+
height?: number | string;
|
|
159
|
+
};
|
|
160
|
+
type ThumbnailsLayout = {
|
|
161
|
+
position?: ResponsivePosition;
|
|
162
|
+
gap?: number;
|
|
163
|
+
center?: boolean;
|
|
164
|
+
thumbnail?: ThumbnailLayout;
|
|
165
|
+
container?: ThumbnailContainerLayout;
|
|
166
|
+
};
|
|
167
|
+
type ThumbnailsElements = {
|
|
168
|
+
container?: ControlStyle;
|
|
169
|
+
thumbnail?: ControlStyle;
|
|
170
|
+
};
|
|
171
|
+
type ThumbnailsScroll = {
|
|
37
172
|
freeScroll?: boolean;
|
|
38
|
-
autoPlay?: boolean;
|
|
39
|
-
autoScroll?: boolean;
|
|
40
173
|
groupCells?: boolean;
|
|
41
|
-
|
|
174
|
+
loop?: boolean;
|
|
175
|
+
skipSnaps?: boolean;
|
|
176
|
+
centerActiveThumb?: boolean;
|
|
177
|
+
};
|
|
178
|
+
type ThumbnailsMotion = {
|
|
179
|
+
selectDuration?: number;
|
|
180
|
+
freeScrollDuration?: number;
|
|
181
|
+
friction?: number;
|
|
182
|
+
};
|
|
183
|
+
type ThumbnailsRipple = {
|
|
184
|
+
enabled?: boolean;
|
|
185
|
+
className?: string;
|
|
186
|
+
};
|
|
187
|
+
type ThumbnailsControls = {
|
|
188
|
+
enabled?: boolean;
|
|
189
|
+
arrow?: ControlStyle;
|
|
190
|
+
prev?: ControlStyle;
|
|
191
|
+
next?: ControlStyle;
|
|
192
|
+
render?: (args: ArrowRenderArgs & {
|
|
193
|
+
dir: "prev" | "next";
|
|
194
|
+
}) => React__default.ReactNode;
|
|
195
|
+
renderPrev?: (args: ArrowRenderArgs) => React__default.ReactNode;
|
|
196
|
+
renderNext?: (args: ArrowRenderArgs) => React__default.ReactNode;
|
|
197
|
+
ripple?: ThumbnailsRipple;
|
|
198
|
+
};
|
|
199
|
+
type ThumbnailsTransitions = {
|
|
200
|
+
loading?: ThumbnailLoadingOptions;
|
|
201
|
+
intro?: ThumbnailIntroOptions;
|
|
202
|
+
};
|
|
203
|
+
type ThumbnailsOptions = {
|
|
204
|
+
children?: React__default.ReactNode;
|
|
205
|
+
layout?: ThumbnailsLayout;
|
|
206
|
+
elements?: ThumbnailsElements;
|
|
207
|
+
scroll?: ThumbnailsScroll;
|
|
208
|
+
controls?: ThumbnailsControls;
|
|
209
|
+
motion?: ThumbnailsMotion;
|
|
210
|
+
transitions?: ThumbnailsTransitions;
|
|
211
|
+
breakpointMap?: BreakpointMap;
|
|
212
|
+
};
|
|
213
|
+
type FullscreenArrows = {
|
|
214
|
+
enabled?: boolean;
|
|
215
|
+
arrow?: ControlStyle;
|
|
216
|
+
prev?: ControlStyle;
|
|
217
|
+
next?: ControlStyle;
|
|
218
|
+
render?: (args: {
|
|
219
|
+
dir: "prev" | "next";
|
|
220
|
+
}) => HTMLElement | null;
|
|
221
|
+
renderPrev?: () => HTMLElement | null;
|
|
222
|
+
renderNext?: () => HTMLElement | null;
|
|
223
|
+
};
|
|
224
|
+
type FullscreenClose = {
|
|
225
|
+
enabled?: boolean;
|
|
226
|
+
style?: React__default.CSSProperties;
|
|
227
|
+
className?: string;
|
|
228
|
+
render?: () => React__default.ReactNode | HTMLElement | null;
|
|
229
|
+
};
|
|
230
|
+
type FullscreenCounter = {
|
|
231
|
+
enabled?: boolean;
|
|
232
|
+
style?: React__default.CSSProperties;
|
|
233
|
+
className?: string;
|
|
234
|
+
render?: (args: FsCounterArgs) => React__default.ReactNode | HTMLElement | null;
|
|
235
|
+
};
|
|
236
|
+
type FullscreenControlsOptions = {
|
|
237
|
+
close?: FullscreenClose;
|
|
238
|
+
arrows?: FullscreenArrows;
|
|
239
|
+
counter?: FullscreenCounter;
|
|
240
|
+
};
|
|
241
|
+
type FullscreenCaptionOptions = {
|
|
242
|
+
className?: string;
|
|
243
|
+
style?: React__default.CSSProperties;
|
|
244
|
+
placement?: FsCaptionPlacement;
|
|
245
|
+
width?: number;
|
|
246
|
+
height?: number;
|
|
247
|
+
breakpoint?: number;
|
|
248
|
+
render?: (args: FsCaptionRenderArgs) => React__default.ReactNode;
|
|
249
|
+
};
|
|
250
|
+
type FullscreenEffectsOptions = {
|
|
251
|
+
introDuration?: number;
|
|
252
|
+
introEasing?: string;
|
|
253
|
+
introFade?: boolean;
|
|
254
|
+
slideFade?: boolean;
|
|
255
|
+
slideFadeDuration?: number;
|
|
256
|
+
slideFadeEasing?: string;
|
|
257
|
+
thumbnailsFadeDuration?: number;
|
|
258
|
+
thumbnailsFadeEasing?: string;
|
|
259
|
+
};
|
|
260
|
+
type FullscreenSliderOptions = {
|
|
261
|
+
duration?: number;
|
|
262
|
+
friction?: number;
|
|
263
|
+
};
|
|
264
|
+
type FullscreenZoomPanOptions = {
|
|
265
|
+
clickZoomLevel?: number;
|
|
266
|
+
maxZoomLevel?: number;
|
|
267
|
+
panDuration?: number;
|
|
268
|
+
panFriction?: number;
|
|
269
|
+
};
|
|
270
|
+
type FullscreenVideoOptions = {
|
|
271
|
+
source?: PlyrSourceBuilder;
|
|
272
|
+
options?: PlyrOptionsResolver;
|
|
273
|
+
style?: React__default.CSSProperties;
|
|
274
|
+
className?: string;
|
|
275
|
+
};
|
|
276
|
+
type FullscreenOptions = {
|
|
277
|
+
enabled?: boolean;
|
|
278
|
+
items?: MediaItem[] | string[];
|
|
279
|
+
renderImage?: FSImageRender;
|
|
280
|
+
video?: FullscreenVideoOptions;
|
|
281
|
+
thumbnails?: ThumbnailsOptions;
|
|
282
|
+
controls?: FullscreenControlsOptions;
|
|
283
|
+
caption?: FullscreenCaptionOptions;
|
|
284
|
+
slider?: FullscreenSliderOptions;
|
|
285
|
+
zoom?: FullscreenZoomPanOptions;
|
|
286
|
+
effects?: FullscreenEffectsOptions;
|
|
287
|
+
};
|
|
288
|
+
type SliderLayout = {
|
|
42
289
|
gap?: number;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
290
|
+
cellsPerSlide?: ResponsiveNumber;
|
|
291
|
+
};
|
|
292
|
+
type SliderDirection = {
|
|
293
|
+
dir?: 'ltr' | 'rtl';
|
|
294
|
+
axis?: 'x' | 'y';
|
|
295
|
+
};
|
|
296
|
+
type SliderSize = {
|
|
297
|
+
height?: string;
|
|
298
|
+
heightRules?: ResponsiveHeightRule[];
|
|
299
|
+
initialHeight?: number | string;
|
|
300
|
+
};
|
|
301
|
+
type SliderElements = {
|
|
302
|
+
viewport?: ControlStyle;
|
|
303
|
+
container?: ControlStyle;
|
|
304
|
+
};
|
|
305
|
+
type SliderScroll = {
|
|
306
|
+
groupCells?: boolean;
|
|
307
|
+
skipSnaps?: boolean;
|
|
308
|
+
freeScroll?: boolean;
|
|
309
|
+
loop?: boolean;
|
|
310
|
+
};
|
|
311
|
+
type SliderArrows = {
|
|
312
|
+
enabled?: boolean;
|
|
313
|
+
arrow?: ControlStyle;
|
|
314
|
+
prev?: ControlStyle;
|
|
315
|
+
next?: ControlStyle;
|
|
316
|
+
render?: (args: ArrowRenderArgs & {
|
|
317
|
+
dir: "prev" | "next";
|
|
318
|
+
}) => React__default.ReactNode;
|
|
319
|
+
renderPrev?: (args: ArrowRenderArgs) => React__default.ReactNode;
|
|
320
|
+
renderNext?: (args: ArrowRenderArgs) => React__default.ReactNode;
|
|
321
|
+
};
|
|
322
|
+
type SliderDots = {
|
|
323
|
+
enabled?: boolean;
|
|
324
|
+
root?: ControlStyle;
|
|
325
|
+
dot?: ControlStyle;
|
|
326
|
+
render?: (args: DotsRenderArgs) => React__default.ReactNode;
|
|
327
|
+
};
|
|
328
|
+
type SliderProgress = {
|
|
329
|
+
enabled?: boolean;
|
|
330
|
+
root?: ControlStyle;
|
|
331
|
+
bar?: ControlStyle;
|
|
332
|
+
render?: (args: ProgressRenderArgs) => React__default.ReactNode;
|
|
333
|
+
};
|
|
334
|
+
type SliderRipple = {
|
|
335
|
+
enabled?: boolean;
|
|
336
|
+
className?: string;
|
|
337
|
+
};
|
|
338
|
+
type SliderControls = {
|
|
339
|
+
arrows?: SliderArrows;
|
|
340
|
+
dots?: SliderDots;
|
|
341
|
+
progress?: SliderProgress;
|
|
342
|
+
ripple?: SliderRipple;
|
|
343
|
+
};
|
|
344
|
+
type SliderAutoPlay = {
|
|
345
|
+
enabled?: boolean;
|
|
346
|
+
speedMs?: number;
|
|
347
|
+
pauseMs?: number;
|
|
348
|
+
pauseOnHover?: boolean;
|
|
349
|
+
};
|
|
350
|
+
type SliderAutoScroll = {
|
|
351
|
+
enabled?: boolean;
|
|
352
|
+
speedMs?: number;
|
|
353
|
+
pauseMs?: number;
|
|
354
|
+
pauseOnHover?: boolean;
|
|
355
|
+
};
|
|
356
|
+
type SliderAuto = {
|
|
357
|
+
play?: SliderAutoPlay;
|
|
358
|
+
scroll?: SliderAutoScroll;
|
|
359
|
+
};
|
|
360
|
+
type SliderLoadingOptions = {
|
|
361
|
+
isLoading?: boolean;
|
|
362
|
+
skeletonCount?: ResponsiveNumber;
|
|
363
|
+
renderLoading?: (args: {
|
|
364
|
+
layout: 'slider' | 'grid' | 'masonry' | 'entries';
|
|
365
|
+
count: number;
|
|
366
|
+
}) => React__default.ReactNode;
|
|
367
|
+
};
|
|
368
|
+
type SliderIntroOptions = {
|
|
369
|
+
renderIntro?: (args: {
|
|
370
|
+
active: boolean;
|
|
371
|
+
containerProps: React__default.HTMLAttributes<HTMLDivElement>;
|
|
372
|
+
}, content: React__default.ReactNode) => React__default.ReactNode;
|
|
373
|
+
staggerMs?: number;
|
|
374
|
+
transform?: number | string;
|
|
375
|
+
durationMs?: number;
|
|
376
|
+
easing?: string;
|
|
377
|
+
};
|
|
378
|
+
type SliderTransitions = {
|
|
379
|
+
loading?: SliderLoadingOptions;
|
|
380
|
+
intro?: SliderIntroOptions;
|
|
381
|
+
};
|
|
382
|
+
type SliderParallax = {
|
|
383
|
+
enabled?: boolean;
|
|
384
|
+
bleedPct?: string;
|
|
385
|
+
borderRadius?: string;
|
|
386
|
+
sideWidth?: string;
|
|
387
|
+
};
|
|
388
|
+
type SliderScale = {
|
|
389
|
+
enabled?: boolean;
|
|
390
|
+
amount?: number;
|
|
391
|
+
};
|
|
392
|
+
type SliderFade = {
|
|
393
|
+
enabled?: boolean;
|
|
394
|
+
};
|
|
395
|
+
type SliderEffects = {
|
|
396
|
+
parallax?: SliderParallax;
|
|
397
|
+
scale?: SliderScale;
|
|
398
|
+
fade?: SliderFade;
|
|
399
|
+
};
|
|
400
|
+
type SliderMotion = {
|
|
401
|
+
selectDuration?: number;
|
|
402
|
+
freeScrollDuration?: number;
|
|
403
|
+
friction?: number;
|
|
404
|
+
};
|
|
405
|
+
type SliderOptions = {
|
|
406
|
+
layout?: SliderLayout;
|
|
407
|
+
direction?: SliderDirection;
|
|
408
|
+
size?: SliderSize;
|
|
409
|
+
align?: 'start' | 'center';
|
|
410
|
+
scroll?: SliderScroll;
|
|
411
|
+
elements?: SliderElements;
|
|
412
|
+
lazyLoad?: boolean;
|
|
413
|
+
controls?: SliderControls;
|
|
414
|
+
thumbnails?: ThumbnailsOptions;
|
|
415
|
+
auto?: SliderAuto;
|
|
416
|
+
transitions?: SliderTransitions;
|
|
417
|
+
motion?: SliderMotion;
|
|
418
|
+
effects?: SliderEffects;
|
|
419
|
+
};
|
|
420
|
+
type GridOptions = {
|
|
421
|
+
columns?: ResponsiveNumber;
|
|
422
|
+
minColumnWidth?: number | string;
|
|
423
|
+
gap?: ResponsiveNumber;
|
|
424
|
+
rootClassName?: string;
|
|
425
|
+
itemClassName?: string;
|
|
426
|
+
loading?: LoadingOptions;
|
|
427
|
+
intro?: IntroOptions;
|
|
428
|
+
};
|
|
429
|
+
type MasonryOptions = {
|
|
430
|
+
columns?: ResponsiveNumber;
|
|
431
|
+
gap?: ResponsiveNumber;
|
|
432
|
+
placement?: "balanced" | "roundRobin";
|
|
433
|
+
estimatedItemHeight?: number;
|
|
434
|
+
as?: React__default.ElementType;
|
|
435
|
+
rootRef?: React__default.Ref<HTMLDivElement>;
|
|
436
|
+
classNames?: {
|
|
437
|
+
root?: string;
|
|
438
|
+
column?: string;
|
|
439
|
+
item?: string;
|
|
440
|
+
};
|
|
441
|
+
loading?: LoadingOptions;
|
|
442
|
+
intro?: IntroOptions;
|
|
443
|
+
};
|
|
444
|
+
type EntriesOptions = {
|
|
445
|
+
items?: EntryItem[];
|
|
446
|
+
mediaLayout?: EntryMediaLayout;
|
|
447
|
+
render?: {
|
|
448
|
+
card?: (args: EntryCardRenderArgs) => React__default.ReactNode;
|
|
449
|
+
media?: (args: EntryMediaRenderArgs) => React__default.ReactNode;
|
|
450
|
+
overlay?: (args: EntryOverlayRenderArgs) => React__default.ReactNode;
|
|
451
|
+
};
|
|
452
|
+
overlay?: ControlStyle;
|
|
453
|
+
loading?: LoadingOptions;
|
|
454
|
+
intro?: IntroOptions;
|
|
455
|
+
};
|
|
456
|
+
interface GalleryApi {
|
|
457
|
+
rootNode(): HTMLElement | null;
|
|
458
|
+
containerNode(): HTMLElement | null;
|
|
459
|
+
slideNodes(): HTMLElement[];
|
|
460
|
+
onReady?(cb: (nodes: HTMLElement[]) => void): () => void;
|
|
461
|
+
whenReady?(): Promise<HTMLElement[]>;
|
|
462
|
+
isReady?(): boolean;
|
|
463
|
+
scrollTo(index: number, jump?: boolean): void;
|
|
464
|
+
scrollNext(jump?: boolean): void;
|
|
465
|
+
scrollPrev(jump?: boolean): void;
|
|
466
|
+
canScrollNext(): boolean;
|
|
467
|
+
canScrollPrev(): boolean;
|
|
468
|
+
getIndex(): number;
|
|
469
|
+
selectCell(index: number, jump?: boolean): void;
|
|
470
|
+
scrollProgress(): number;
|
|
471
|
+
cellsInView(): number[];
|
|
472
|
+
append(nodes: React__default.ReactNode | React__default.ReactNode[]): number;
|
|
473
|
+
prepend(nodes: React__default.ReactNode | React__default.ReactNode[]): number;
|
|
474
|
+
insert(index: number, nodes: React__default.ReactNode | React__default.ReactNode[]): number;
|
|
475
|
+
remove(indexOrPredicate: number | ((i: number) => boolean)): number;
|
|
476
|
+
replace(index: number, node: React__default.ReactNode): void;
|
|
477
|
+
setItems(nodes: React__default.ReactNode[]): number;
|
|
478
|
+
onIndexChange(cb: (i: number, meta: {
|
|
479
|
+
mode: IndexMode;
|
|
480
|
+
}) => void): () => void;
|
|
481
|
+
}
|
|
482
|
+
type Props = {
|
|
483
|
+
children?: ReactNode;
|
|
484
|
+
fullscreen?: FullscreenOptions;
|
|
485
|
+
slider?: SliderOptions;
|
|
486
|
+
layout?: 'slider' | 'grid' | 'masonry' | 'entries';
|
|
487
|
+
grid?: GridOptions;
|
|
488
|
+
masonry?: MasonryOptions;
|
|
489
|
+
entries?: EntriesOptions;
|
|
490
|
+
breakpoints?: BreakpointMap;
|
|
491
|
+
root?: ControlStyle;
|
|
492
|
+
container?: ControlStyle;
|
|
493
|
+
};
|
|
494
|
+
declare const Gallery: React__default.ForwardRefExoticComponent<Props & React__default.RefAttributes<GalleryApi>>;
|
|
495
|
+
|
|
496
|
+
type RmgPlyrSourceBuilder = (args: {
|
|
497
|
+
src: string;
|
|
498
|
+
poster?: string;
|
|
499
|
+
}) => any;
|
|
500
|
+
type RmgPlyrOptionsResolver = any | ((args: {
|
|
501
|
+
src: string;
|
|
502
|
+
poster?: string;
|
|
503
|
+
index: number;
|
|
504
|
+
}) => any);
|
|
505
|
+
type RmgPlyrVideoProps = {
|
|
506
|
+
src: string;
|
|
507
|
+
poster?: string;
|
|
508
|
+
alt?: string;
|
|
509
|
+
source?: any;
|
|
510
|
+
sourceBuilder?: RmgPlyrSourceBuilder;
|
|
511
|
+
options?: RmgPlyrOptionsResolver;
|
|
512
|
+
className?: string;
|
|
513
|
+
style?: React.CSSProperties;
|
|
514
|
+
posterClassName?: string;
|
|
515
|
+
posterStyle?: React.CSSProperties;
|
|
516
|
+
onApi?: (api: APITypes | null) => void;
|
|
517
|
+
registerApiByIndex?: (index: number, api: APITypes | null) => void;
|
|
518
|
+
};
|
|
519
|
+
declare function RmgPlyrVideo(props: RmgPlyrVideoProps): react_jsx_runtime.JSX.Element;
|
|
53
520
|
|
|
54
|
-
export {
|
|
521
|
+
export { Gallery, RmgPlyrVideo };
|