react-motion-gallery 2.0.4 → 2.0.6
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.css +1 -708
- package/dist/index.d.mts +832 -194
- package/dist/index.mjs +43 -7396
- package/dist/metafile-esm.json +1 -1
- package/package.json +40 -7
- package/dist/FullscreenRuntime-CEYIXWZZ.mjs +0 -2666
- package/dist/FullscreenRuntime-CEYIXWZZ.mjs.map +0 -1
- package/dist/FullscreenRuntime-D6G3BRAU.css +0 -123
- package/dist/FullscreenRuntime-D6G3BRAU.css.map +0 -1
- package/dist/chunk-HOCUKMYX.mjs +0 -2634
- package/dist/chunk-HOCUKMYX.mjs.map +0 -1
- package/dist/index.css.map +0 -1
- package/dist/index.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React$1 from 'react';
|
|
2
|
-
import React__default, { ReactNode } from 'react';
|
|
3
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import React__default, { RefObject } from 'react';
|
|
4
4
|
import { APITypes } from 'plyr-react';
|
|
5
5
|
|
|
6
6
|
type ArrowRenderArgs = {
|
|
@@ -44,10 +44,7 @@ type ResponsivePosition = ThumbnailPosition | Array<ThumbnailPosition> | Record<
|
|
|
44
44
|
type ThumbnailLoadingOptions = {
|
|
45
45
|
isLoading?: boolean;
|
|
46
46
|
skeletonCount?: ResponsiveNumber;
|
|
47
|
-
renderLoading?: (
|
|
48
|
-
layout: "thumbnails";
|
|
49
|
-
count: number;
|
|
50
|
-
}) => React$1.ReactNode;
|
|
47
|
+
renderLoading?: () => React$1.ReactNode;
|
|
51
48
|
};
|
|
52
49
|
type ThumbnailIntroOptions = {
|
|
53
50
|
renderIntro?: (args: {
|
|
@@ -121,6 +118,7 @@ type ThumbnailsOptions = {
|
|
|
121
118
|
breakpointMap?: BreakpointMap;
|
|
122
119
|
};
|
|
123
120
|
|
|
121
|
+
declare const BREAKPOINT_MAP: Record<string, number>;
|
|
124
122
|
type BreakpointMap = Record<string, number>;
|
|
125
123
|
type ResponsiveNumber = number | string | Array<number | string> | Record<string, number | string>;
|
|
126
124
|
|
|
@@ -140,25 +138,345 @@ type MediaItem = {
|
|
|
140
138
|
thumb?: string;
|
|
141
139
|
caption?: React.ReactNode;
|
|
142
140
|
};
|
|
141
|
+
declare const toMediaItems: (urls: string[]) => MediaItem[];
|
|
143
142
|
|
|
144
|
-
type
|
|
143
|
+
type IndexMode = "instant" | "animated";
|
|
144
|
+
interface GalleryApi {
|
|
145
|
+
rootNode(): HTMLElement | null;
|
|
146
|
+
containerNode(): HTMLElement | null;
|
|
147
|
+
slideNodes(): HTMLElement[];
|
|
148
|
+
onReady?(cb: (nodes: HTMLElement[]) => void): () => void;
|
|
149
|
+
whenReady?(): Promise<HTMLElement[]>;
|
|
150
|
+
isReady?(): boolean;
|
|
151
|
+
scrollTo(index: number, jump?: boolean): void;
|
|
152
|
+
scrollNext(jump?: boolean): void;
|
|
153
|
+
scrollPrev(jump?: boolean): void;
|
|
154
|
+
canScrollNext(): boolean;
|
|
155
|
+
canScrollPrev(): boolean;
|
|
156
|
+
getIndex(): number;
|
|
157
|
+
selectCell(index: number, jump?: boolean): void;
|
|
158
|
+
scrollProgress(): number;
|
|
159
|
+
cellsInView(): number[];
|
|
160
|
+
append(nodes: React.ReactNode | React.ReactNode[]): number;
|
|
161
|
+
prepend(nodes: React.ReactNode | React.ReactNode[]): number;
|
|
162
|
+
insert(index: number, nodes: React.ReactNode | React.ReactNode[]): number;
|
|
163
|
+
remove(indexOrPredicate: number | ((i: number) => boolean)): number;
|
|
164
|
+
replace(index: number, node: React.ReactNode): void;
|
|
165
|
+
setItems(nodes: React.ReactNode[]): number;
|
|
166
|
+
onIndexChange(cb: (i: number, meta: {
|
|
167
|
+
mode: IndexMode;
|
|
168
|
+
}) => void): () => void;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
type SkeletonLength$2 = number | string;
|
|
172
|
+
type SkeletonShimmer$2 = {
|
|
173
|
+
enabled?: boolean;
|
|
174
|
+
durationMs?: number;
|
|
175
|
+
bandSizePct?: number;
|
|
176
|
+
angleDeg?: number;
|
|
177
|
+
};
|
|
178
|
+
type SkeletonBaseStyle$2 = {
|
|
179
|
+
width?: SkeletonLength$2;
|
|
180
|
+
maxWidth?: SkeletonLength$2;
|
|
181
|
+
height?: SkeletonLength$2;
|
|
182
|
+
maxHeight?: SkeletonLength$2;
|
|
183
|
+
backgroundColor?: string;
|
|
184
|
+
borderRadius?: SkeletonLength$2;
|
|
185
|
+
marginTop?: SkeletonLength$2;
|
|
186
|
+
marginRight?: SkeletonLength$2;
|
|
187
|
+
marginBottom?: SkeletonLength$2;
|
|
188
|
+
marginLeft?: SkeletonLength$2;
|
|
189
|
+
alignSelf?: React$1.CSSProperties["alignSelf"];
|
|
190
|
+
aspectRatio?: SkeletonLength$2;
|
|
191
|
+
};
|
|
192
|
+
type SkeletonContainerStyle$2 = {
|
|
193
|
+
gap?: SkeletonLength$2;
|
|
194
|
+
padding?: SkeletonLength$2;
|
|
195
|
+
align?: React$1.CSSProperties["alignItems"];
|
|
196
|
+
justify?: React$1.CSSProperties["justifyContent"];
|
|
197
|
+
wrap?: boolean;
|
|
198
|
+
width?: SkeletonLength$2;
|
|
199
|
+
maxWidth?: SkeletonLength$2;
|
|
200
|
+
};
|
|
201
|
+
type SkeletonContainerStyleResponsive$2 = SkeletonContainerStyle$2 | Record<string, SkeletonContainerStyle$2>;
|
|
202
|
+
type SliderSkeletonNode = {
|
|
203
|
+
kind: "slider";
|
|
204
|
+
style?: SkeletonContainerStyleResponsive$2;
|
|
205
|
+
count?: number;
|
|
206
|
+
item: SkeletonNode$2;
|
|
207
|
+
itemWrapStyle?: SkeletonBaseStyle$2;
|
|
208
|
+
direction?: "row" | "col";
|
|
209
|
+
} | SkeletonNode$2;
|
|
210
|
+
type SkeletonNode$2 = {
|
|
211
|
+
kind: "stack" | "row" | "col";
|
|
212
|
+
style?: SkeletonContainerStyleResponsive$2;
|
|
213
|
+
children: SkeletonNode$2[];
|
|
214
|
+
} | {
|
|
215
|
+
kind: "rect" | "square" | "circle";
|
|
216
|
+
style?: SkeletonBaseStyle$2;
|
|
217
|
+
shimmer?: SkeletonShimmer$2;
|
|
218
|
+
} | {
|
|
219
|
+
kind: "media";
|
|
220
|
+
count: number;
|
|
221
|
+
direction?: "row" | "col";
|
|
222
|
+
style?: SkeletonContainerStyleResponsive$2;
|
|
223
|
+
tile?: {
|
|
224
|
+
shape?: "rect" | "square" | "circle";
|
|
225
|
+
style?: SkeletonBaseStyle$2;
|
|
226
|
+
shimmer?: SkeletonShimmer$2;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
type SliderSkeletonSpec = {
|
|
230
|
+
className?: string;
|
|
231
|
+
layout?: SliderSkeletonNode;
|
|
232
|
+
defaults?: {
|
|
233
|
+
backgroundColor?: string;
|
|
234
|
+
highlightColor?: string;
|
|
235
|
+
radius?: SkeletonLength$2;
|
|
236
|
+
shimmer?: SkeletonShimmer$2;
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
type ResponsiveHeightRule = {
|
|
241
|
+
query: string;
|
|
242
|
+
height: string;
|
|
243
|
+
};
|
|
244
|
+
type SliderLayout = {
|
|
245
|
+
gap?: number;
|
|
246
|
+
cellsPerSlide?: ResponsiveNumber;
|
|
247
|
+
};
|
|
248
|
+
type SliderDirection = {
|
|
249
|
+
dir?: "ltr" | "rtl";
|
|
250
|
+
axis?: "x" | "y";
|
|
251
|
+
};
|
|
252
|
+
type SliderSize = {
|
|
253
|
+
height?: string;
|
|
254
|
+
heightRules?: ResponsiveHeightRule[];
|
|
255
|
+
initialHeight?: number | string;
|
|
256
|
+
initialHeightRules?: ResponsiveHeightRule[];
|
|
257
|
+
aspectRatio?: number | `${number}/${number}` | `${number} / ${number}`;
|
|
258
|
+
};
|
|
259
|
+
type SliderElements = {
|
|
260
|
+
viewport?: ElementStyle;
|
|
261
|
+
container?: ElementStyle;
|
|
262
|
+
};
|
|
263
|
+
type SliderScroll = {
|
|
264
|
+
groupCells?: boolean;
|
|
265
|
+
skipSnaps?: boolean;
|
|
266
|
+
freeScroll?: boolean;
|
|
267
|
+
loop?: boolean;
|
|
268
|
+
};
|
|
269
|
+
type SliderArrows = {
|
|
270
|
+
enabled?: boolean;
|
|
271
|
+
arrow?: ElementStyle;
|
|
272
|
+
prev?: ElementStyle;
|
|
273
|
+
next?: ElementStyle;
|
|
274
|
+
render?: (args: ArrowRenderArgs & {
|
|
275
|
+
dir: "prev" | "next";
|
|
276
|
+
}) => React.ReactNode;
|
|
277
|
+
renderPrev?: (args: ArrowRenderArgs) => React.ReactNode;
|
|
278
|
+
renderNext?: (args: ArrowRenderArgs) => React.ReactNode;
|
|
279
|
+
};
|
|
280
|
+
type SliderDots = {
|
|
281
|
+
enabled?: boolean;
|
|
282
|
+
root?: ElementStyle;
|
|
283
|
+
dot?: ElementStyle;
|
|
284
|
+
render?: (args: DotsRenderArgs) => React.ReactNode;
|
|
285
|
+
};
|
|
286
|
+
type SliderProgress = {
|
|
287
|
+
enabled?: boolean;
|
|
288
|
+
root?: ElementStyle;
|
|
289
|
+
bar?: ElementStyle;
|
|
290
|
+
render?: (args: ProgressRenderArgs) => React.ReactNode;
|
|
291
|
+
};
|
|
292
|
+
type SliderRipple = {
|
|
293
|
+
enabled?: boolean;
|
|
294
|
+
className?: string;
|
|
295
|
+
};
|
|
296
|
+
type SliderControls = {
|
|
297
|
+
arrows?: SliderArrows;
|
|
298
|
+
dots?: SliderDots;
|
|
299
|
+
progress?: SliderProgress;
|
|
300
|
+
ripple?: SliderRipple;
|
|
301
|
+
};
|
|
302
|
+
type SliderAutoPlay = {
|
|
303
|
+
enabled?: boolean;
|
|
304
|
+
speedMs?: number;
|
|
305
|
+
pauseMs?: number;
|
|
306
|
+
pauseOnHover?: boolean;
|
|
307
|
+
};
|
|
308
|
+
type SliderAutoScroll = {
|
|
309
|
+
enabled?: boolean;
|
|
310
|
+
speedMs?: number;
|
|
311
|
+
pauseMs?: number;
|
|
312
|
+
pauseOnHover?: boolean;
|
|
313
|
+
};
|
|
314
|
+
type SliderAuto = {
|
|
315
|
+
play?: SliderAutoPlay;
|
|
316
|
+
scroll?: SliderAutoScroll;
|
|
317
|
+
};
|
|
318
|
+
type SliderLoadingOptions = {
|
|
145
319
|
isLoading?: boolean;
|
|
146
320
|
skeletonCount?: ResponsiveNumber;
|
|
147
|
-
renderLoading?: (
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
321
|
+
renderLoading?: () => React.ReactNode;
|
|
322
|
+
skeleton?: SliderSkeletonSpec;
|
|
323
|
+
shimmer?: {
|
|
324
|
+
radius?: number | string;
|
|
325
|
+
c1?: string;
|
|
326
|
+
c2?: string;
|
|
327
|
+
c3?: string;
|
|
328
|
+
size?: string;
|
|
329
|
+
duration?: string;
|
|
330
|
+
timing?: string;
|
|
331
|
+
};
|
|
151
332
|
};
|
|
152
|
-
type
|
|
333
|
+
type SliderIntroOptions = {
|
|
153
334
|
renderIntro?: (args: {
|
|
154
335
|
active: boolean;
|
|
155
336
|
containerProps: React.HTMLAttributes<HTMLDivElement>;
|
|
156
337
|
}, content: React.ReactNode) => React.ReactNode;
|
|
157
338
|
staggerMs?: number;
|
|
158
|
-
transform?: string;
|
|
339
|
+
transform?: number | string;
|
|
159
340
|
durationMs?: number;
|
|
160
341
|
easing?: string;
|
|
161
|
-
|
|
342
|
+
};
|
|
343
|
+
type SliderTransitions = {
|
|
344
|
+
loading?: SliderLoadingOptions;
|
|
345
|
+
intro?: SliderIntroOptions;
|
|
346
|
+
};
|
|
347
|
+
type SliderParallax = {
|
|
348
|
+
enabled?: boolean;
|
|
349
|
+
bleedPct?: string;
|
|
350
|
+
borderRadius?: string;
|
|
351
|
+
sideWidth?: string;
|
|
352
|
+
};
|
|
353
|
+
type SliderScale = {
|
|
354
|
+
enabled?: boolean;
|
|
355
|
+
amount?: number;
|
|
356
|
+
};
|
|
357
|
+
type SliderFade = {
|
|
358
|
+
enabled?: boolean;
|
|
359
|
+
};
|
|
360
|
+
type SliderEffects = {
|
|
361
|
+
parallax?: SliderParallax;
|
|
362
|
+
scale?: SliderScale;
|
|
363
|
+
fade?: SliderFade;
|
|
364
|
+
};
|
|
365
|
+
type SliderMotion = {
|
|
366
|
+
selectDuration?: number;
|
|
367
|
+
freeScrollDuration?: number;
|
|
368
|
+
friction?: number;
|
|
369
|
+
};
|
|
370
|
+
type SliderOptions = {
|
|
371
|
+
layout?: SliderLayout;
|
|
372
|
+
direction?: SliderDirection;
|
|
373
|
+
size?: SliderSize;
|
|
374
|
+
align?: "start" | "center";
|
|
375
|
+
scroll?: SliderScroll;
|
|
376
|
+
elements?: SliderElements;
|
|
377
|
+
lazyLoad?: boolean;
|
|
378
|
+
controls?: SliderControls;
|
|
379
|
+
thumbnails?: ThumbnailsOptions;
|
|
380
|
+
auto?: SliderAuto;
|
|
381
|
+
transitions?: SliderTransitions;
|
|
382
|
+
motion?: SliderMotion;
|
|
383
|
+
effects?: SliderEffects;
|
|
384
|
+
};
|
|
385
|
+
interface SliderHandle {
|
|
386
|
+
centerSlider: () => void;
|
|
387
|
+
getIndex: () => number;
|
|
388
|
+
setIndex: (i: number, mode?: IndexMode) => void;
|
|
389
|
+
subscribeIndex: (fn: () => void) => () => void;
|
|
390
|
+
slideIndexForCell: (cellIndex: number) => number;
|
|
391
|
+
getRootNode(): HTMLElement | null;
|
|
392
|
+
getContainerNode(): HTMLElement | null;
|
|
393
|
+
getSlideNodes(): HTMLElement[];
|
|
394
|
+
onSlidesBuilt(cb: (nodes: HTMLElement[]) => void): () => void;
|
|
395
|
+
whenSlidesBuilt(): Promise<HTMLElement[]>;
|
|
396
|
+
isSlidesBuilt(): boolean;
|
|
397
|
+
scrollNext: (mode?: IndexMode) => void;
|
|
398
|
+
scrollPrev: (mode?: IndexMode) => void;
|
|
399
|
+
canScrollNext: () => boolean;
|
|
400
|
+
canScrollPrev: () => boolean;
|
|
401
|
+
scrollProgress: () => number;
|
|
402
|
+
cellsInView: () => number[];
|
|
403
|
+
getInternals(): {
|
|
404
|
+
slides: RefObject<{
|
|
405
|
+
cells: {
|
|
406
|
+
element: HTMLElement;
|
|
407
|
+
index: number;
|
|
408
|
+
}[];
|
|
409
|
+
target: number;
|
|
410
|
+
}[]>;
|
|
411
|
+
slider: RefObject<HTMLDivElement | null>;
|
|
412
|
+
visibleImages: RefObject<number>;
|
|
413
|
+
selectedIndex: RefObject<number>;
|
|
414
|
+
sliderX: RefObject<number>;
|
|
415
|
+
sliderVelocity: RefObject<number>;
|
|
416
|
+
isWrapping: RefObject<boolean>;
|
|
417
|
+
};
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
type SkeletonLength$1 = number | string;
|
|
421
|
+
type SkeletonShimmer$1 = {
|
|
422
|
+
enabled?: boolean;
|
|
423
|
+
durationMs?: number;
|
|
424
|
+
bandSizePct?: number;
|
|
425
|
+
angleDeg?: number;
|
|
426
|
+
};
|
|
427
|
+
type SkeletonBaseStyle$1 = {
|
|
428
|
+
width?: SkeletonLength$1;
|
|
429
|
+
maxWidth?: SkeletonLength$1;
|
|
430
|
+
height?: SkeletonLength$1;
|
|
431
|
+
maxHeight?: SkeletonLength$1;
|
|
432
|
+
backgroundColor?: string;
|
|
433
|
+
borderRadius?: SkeletonLength$1;
|
|
434
|
+
marginTop?: SkeletonLength$1;
|
|
435
|
+
marginRight?: SkeletonLength$1;
|
|
436
|
+
marginBottom?: SkeletonLength$1;
|
|
437
|
+
marginLeft?: SkeletonLength$1;
|
|
438
|
+
alignSelf?: React$1.CSSProperties["alignSelf"];
|
|
439
|
+
aspectRatio?: number | string;
|
|
440
|
+
};
|
|
441
|
+
type SkeletonContainerStyle$1 = {
|
|
442
|
+
gap?: SkeletonLength$1;
|
|
443
|
+
padding?: SkeletonLength$1;
|
|
444
|
+
align?: React$1.CSSProperties["alignItems"];
|
|
445
|
+
justify?: React$1.CSSProperties["justifyContent"];
|
|
446
|
+
wrap?: boolean;
|
|
447
|
+
width?: SkeletonLength$1;
|
|
448
|
+
maxWidth?: SkeletonLength$1;
|
|
449
|
+
};
|
|
450
|
+
type SkeletonContainerStyleResponsive$1 = SkeletonContainerStyle$1 | Record<string, SkeletonContainerStyle$1>;
|
|
451
|
+
type SkeletonNode$1 = {
|
|
452
|
+
kind: "stack" | "row" | "col";
|
|
453
|
+
style?: SkeletonContainerStyleResponsive$1;
|
|
454
|
+
children: SkeletonNode$1[];
|
|
455
|
+
} | {
|
|
456
|
+
kind: "rect" | "square" | "circle";
|
|
457
|
+
style?: SkeletonBaseStyle$1;
|
|
458
|
+
shimmer?: SkeletonShimmer$1;
|
|
459
|
+
} | {
|
|
460
|
+
kind: "media";
|
|
461
|
+
count: number;
|
|
462
|
+
direction?: "row" | "col";
|
|
463
|
+
style?: SkeletonContainerStyleResponsive$1;
|
|
464
|
+
tile?: {
|
|
465
|
+
shape?: "rect" | "square" | "circle";
|
|
466
|
+
style?: SkeletonBaseStyle$1;
|
|
467
|
+
shimmer?: SkeletonShimmer$1;
|
|
468
|
+
};
|
|
469
|
+
};
|
|
470
|
+
type EntrySkeletonSpec = {
|
|
471
|
+
layout?: SkeletonNode$1;
|
|
472
|
+
variant?: "solid";
|
|
473
|
+
minHeight?: SkeletonLength$1;
|
|
474
|
+
defaults?: {
|
|
475
|
+
backgroundColor?: string;
|
|
476
|
+
highlightColor?: string;
|
|
477
|
+
radius?: SkeletonLength$1;
|
|
478
|
+
shimmer?: SkeletonShimmer$1;
|
|
479
|
+
};
|
|
162
480
|
};
|
|
163
481
|
|
|
164
482
|
type EntryItem = {
|
|
@@ -191,6 +509,35 @@ type EntryCardRenderArgs = {
|
|
|
191
509
|
entryIndex: number;
|
|
192
510
|
media: React.ReactNode;
|
|
193
511
|
};
|
|
512
|
+
type EntrySkeletonResolverArgs = {
|
|
513
|
+
entry: EntryItem;
|
|
514
|
+
entryIndex: number;
|
|
515
|
+
};
|
|
516
|
+
type EntriesLoadingOptions = {
|
|
517
|
+
isLoading?: boolean;
|
|
518
|
+
skeleton?: EntrySkeletonSpec | ((args: EntrySkeletonResolverArgs) => EntrySkeletonSpec | null | undefined);
|
|
519
|
+
minHeight?: SkeletonLength$1;
|
|
520
|
+
nearMargin?: string;
|
|
521
|
+
viewMargin?: string;
|
|
522
|
+
threshold?: number;
|
|
523
|
+
waitForDecode?: boolean;
|
|
524
|
+
decodeTimeoutMs?: number;
|
|
525
|
+
skeletonWrap?: ElementStyle;
|
|
526
|
+
};
|
|
527
|
+
type IntroOptions$2 = {
|
|
528
|
+
renderIntro?: (args: {
|
|
529
|
+
active: boolean;
|
|
530
|
+
containerProps: React.HTMLAttributes<HTMLDivElement>;
|
|
531
|
+
}, content: React.ReactNode) => React.ReactNode;
|
|
532
|
+
staggerMs?: number;
|
|
533
|
+
durationMs?: number;
|
|
534
|
+
easing?: string;
|
|
535
|
+
staggerLimit?: number;
|
|
536
|
+
};
|
|
537
|
+
type EntrySkeletonRenderArgs = {
|
|
538
|
+
entry: EntryItem;
|
|
539
|
+
entryIndex: number;
|
|
540
|
+
};
|
|
194
541
|
type EntriesOptions = {
|
|
195
542
|
items?: EntryItem[];
|
|
196
543
|
mediaLayout?: EntryMediaLayout;
|
|
@@ -198,17 +545,130 @@ type EntriesOptions = {
|
|
|
198
545
|
card?: (args: EntryCardRenderArgs) => React.ReactNode;
|
|
199
546
|
media?: (args: EntryMediaRenderArgs) => React.ReactNode;
|
|
200
547
|
overlay?: (args: EntryOverlayRenderArgs) => React.ReactNode;
|
|
548
|
+
skeleton?: (args: EntrySkeletonRenderArgs) => React.ReactNode;
|
|
201
549
|
};
|
|
202
550
|
overlay?: ElementStyle;
|
|
203
|
-
loading?:
|
|
204
|
-
intro?: IntroOptions;
|
|
551
|
+
loading?: EntriesLoadingOptions;
|
|
552
|
+
intro?: IntroOptions$2;
|
|
553
|
+
entryList?: ElementStyle;
|
|
554
|
+
entryRow?: ElementStyle;
|
|
555
|
+
};
|
|
556
|
+
type SlideOwner = {
|
|
557
|
+
entryIndex: number;
|
|
205
558
|
};
|
|
206
559
|
|
|
560
|
+
declare const DEFAULT_ENTRIES: Required<Pick<EntriesOptions, "mediaLayout">>;
|
|
561
|
+
|
|
562
|
+
type EntriesMediaContainerRender = (args: {
|
|
563
|
+
entryIndex: number;
|
|
564
|
+
mediaNodes: React$1.ReactNode[];
|
|
565
|
+
entrySliderRefs?: React$1.RefObject<Array<SliderHandle | null>>;
|
|
566
|
+
}) => React$1.ReactNode;
|
|
567
|
+
type FullscreenItemsInput = MediaItem[] | string[];
|
|
568
|
+
declare function flattenEntries(items: EntryItem[] | undefined): {
|
|
569
|
+
flattenedMedia: MediaItem[];
|
|
570
|
+
flattenedMap: MediaEntryLink[];
|
|
571
|
+
entryFlatIndex: number[][] | null;
|
|
572
|
+
owners: SlideOwner[];
|
|
573
|
+
};
|
|
574
|
+
type EntriesProps = {
|
|
575
|
+
enabled?: boolean;
|
|
576
|
+
entries: EntriesOptions;
|
|
577
|
+
fullscreen?: {
|
|
578
|
+
enabled?: boolean;
|
|
579
|
+
items?: FullscreenItemsInput;
|
|
580
|
+
};
|
|
581
|
+
renderMediaContainer: EntriesMediaContainerRender;
|
|
582
|
+
nodeFromMedia?: (m: MediaItem) => React$1.ReactNode;
|
|
583
|
+
entryFlatIndexRef?: React$1.RefObject<number[][] | null>;
|
|
584
|
+
entryMapRef?: React$1.RefObject<MediaEntryLink[] | null>;
|
|
585
|
+
fsOwnersRef?: React$1.RefObject<SlideOwner[]>;
|
|
586
|
+
entrySliderRefs?: React$1.RefObject<Array<SliderHandle | null>>;
|
|
587
|
+
onOpenFullscreen?: (args: {
|
|
588
|
+
index: number;
|
|
589
|
+
img: HTMLImageElement;
|
|
590
|
+
event?: Event;
|
|
591
|
+
}) => void;
|
|
592
|
+
};
|
|
593
|
+
declare function Entries(props: EntriesProps): react_jsx_runtime.JSX.Element;
|
|
594
|
+
|
|
595
|
+
type FullscreenOpenRequest = {
|
|
596
|
+
source: "slider";
|
|
597
|
+
index: number;
|
|
598
|
+
img: HTMLImageElement | null;
|
|
599
|
+
event?: Event;
|
|
600
|
+
} | {
|
|
601
|
+
source: "grid" | "masonry" | "entries";
|
|
602
|
+
index: number;
|
|
603
|
+
img: HTMLImageElement | null;
|
|
604
|
+
event?: Event;
|
|
605
|
+
};
|
|
606
|
+
type CoreLayout = "slider" | "grid" | "masonry" | "entries";
|
|
607
|
+
type Cell = {
|
|
608
|
+
id: string;
|
|
609
|
+
node: React$1.ReactNode;
|
|
610
|
+
};
|
|
611
|
+
type FullscreenSource = FullscreenOpenRequest["source"];
|
|
612
|
+
type FullscreenEntryContext = {
|
|
613
|
+
entryMapRef?: React$1.RefObject<MediaEntryLink[] | null>;
|
|
614
|
+
entryMediaLayout?: "slider" | "grid" | "masonry";
|
|
615
|
+
entriesObject?: any;
|
|
616
|
+
entrySliderRefs?: React$1.RefObject<Array<SliderHandle | null>>;
|
|
617
|
+
expandableImgRefs?: React$1.RefObject<Array<HTMLImageElement | null>>;
|
|
618
|
+
};
|
|
619
|
+
type FullscreenSourceAdapter = {
|
|
620
|
+
getOwnerSliderHandle?: (index: number) => SliderHandle | null;
|
|
621
|
+
syncBeforeOpen?: (index: number) => void;
|
|
622
|
+
closestSelector?: string;
|
|
623
|
+
getEntryContext?: () => FullscreenEntryContext;
|
|
624
|
+
};
|
|
625
|
+
type GalleryCoreProps = {
|
|
626
|
+
children?: React$1.ReactNode;
|
|
627
|
+
layout: CoreLayout;
|
|
628
|
+
breakpoints?: BreakpointMap;
|
|
629
|
+
fullscreenItems?: MediaItem[] | string[];
|
|
630
|
+
nodes?: React$1.ReactNode | React$1.ReactNode[];
|
|
631
|
+
};
|
|
632
|
+
declare function GalleryCoreProvider(props: GalleryCoreProps): react_jsx_runtime.JSX.Element;
|
|
633
|
+
type GalleryCore = {
|
|
634
|
+
layout: CoreLayout;
|
|
635
|
+
effectiveBreakpoints: BreakpointMap;
|
|
636
|
+
cellsState: Cell[];
|
|
637
|
+
cellsRef: React$1.RefObject<Cell[]>;
|
|
638
|
+
normalizedItems: MediaItem[];
|
|
639
|
+
setNormalizedItems: React$1.Dispatch<React$1.SetStateAction<MediaItem[]>>;
|
|
640
|
+
sliderApiRef: React$1.RefObject<SliderHandle | null>;
|
|
641
|
+
append: (nodes: React$1.ReactNode | React$1.ReactNode[]) => number;
|
|
642
|
+
prepend: (nodes: React$1.ReactNode | React$1.ReactNode[]) => number;
|
|
643
|
+
insert: (index: number, nodes: React$1.ReactNode | React$1.ReactNode[]) => number;
|
|
644
|
+
remove: (index: number) => number;
|
|
645
|
+
replace: (index: number, node: React$1.ReactNode) => void;
|
|
646
|
+
setItems: (nodes: React$1.ReactNode[]) => number;
|
|
647
|
+
requestFullscreenOpen: (req: FullscreenOpenRequest) => void;
|
|
648
|
+
fsOpenSub: {
|
|
649
|
+
emit(v: FullscreenOpenRequest): void;
|
|
650
|
+
subscribe(fn: (v: FullscreenOpenRequest) => void): () => void;
|
|
651
|
+
};
|
|
652
|
+
isFullscreenOpen: boolean;
|
|
653
|
+
isFullscreenOpenRef: React$1.RefObject<boolean>;
|
|
654
|
+
setFullscreenOpen: (open: boolean) => void;
|
|
655
|
+
registerFullscreenAdapter: (source: FullscreenSource, a: FullscreenSourceAdapter) => void;
|
|
656
|
+
getFullscreenAdapter: (source: FullscreenSource) => FullscreenSourceAdapter | null;
|
|
657
|
+
expandableImgRefs: React$1.RefObject<Array<HTMLImageElement | null>>;
|
|
658
|
+
registerExpandableImg: (index: number, node: HTMLElement | null) => void;
|
|
659
|
+
};
|
|
660
|
+
declare const GalleryCore: typeof GalleryCoreProvider;
|
|
661
|
+
|
|
207
662
|
type FsCounterArgs = {
|
|
208
663
|
index: number;
|
|
209
664
|
count: number;
|
|
210
665
|
};
|
|
211
666
|
type FsCaptionPlacement = "top" | "right" | "bottom" | "left";
|
|
667
|
+
type FsIntroRequest = null | {
|
|
668
|
+
origImg: HTMLImageElement;
|
|
669
|
+
index: number;
|
|
670
|
+
closestSelector?: string;
|
|
671
|
+
};
|
|
212
672
|
type FSImageRender = (args: {
|
|
213
673
|
item: Extract<MediaItem, {
|
|
214
674
|
kind: "image";
|
|
@@ -301,210 +761,268 @@ type FullscreenOptions = {
|
|
|
301
761
|
effects?: FullscreenEffectsOptions;
|
|
302
762
|
};
|
|
303
763
|
|
|
304
|
-
type
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
764
|
+
type UseFullscreenArgs = {
|
|
765
|
+
fullscreen?: FullscreenOptions;
|
|
766
|
+
slider?: SliderOptions;
|
|
767
|
+
sliderObject: any;
|
|
768
|
+
cellsStateLength: number;
|
|
769
|
+
};
|
|
770
|
+
declare function useFullscreenController(args: UseFullscreenArgs): {
|
|
771
|
+
fs: {
|
|
772
|
+
slider: {
|
|
773
|
+
duration: number;
|
|
774
|
+
friction: number;
|
|
775
|
+
};
|
|
776
|
+
zoom: {
|
|
777
|
+
clickZoomLevel: number;
|
|
778
|
+
maxZoomLevel: number;
|
|
779
|
+
panDuration: number;
|
|
780
|
+
panFriction: number;
|
|
781
|
+
};
|
|
782
|
+
effects: {
|
|
783
|
+
introDuration: number;
|
|
784
|
+
introEasing: string;
|
|
785
|
+
introFade: boolean;
|
|
786
|
+
slideFade: boolean;
|
|
787
|
+
slideFadeDuration: number;
|
|
788
|
+
slideFadeEasing: string;
|
|
789
|
+
thumbnailsFadeDuration: number;
|
|
790
|
+
thumbnailsFadeEasing: string;
|
|
791
|
+
};
|
|
792
|
+
controls: {
|
|
793
|
+
close?: FullscreenClose;
|
|
794
|
+
arrows?: FullscreenArrows;
|
|
795
|
+
counter?: FullscreenCounter;
|
|
796
|
+
};
|
|
797
|
+
caption: {
|
|
798
|
+
className?: string;
|
|
799
|
+
style?: React__default.CSSProperties;
|
|
800
|
+
placement?: FsCaptionPlacement;
|
|
801
|
+
width?: number;
|
|
802
|
+
height?: number;
|
|
803
|
+
breakpoint?: number;
|
|
804
|
+
render?: (args: FsCaptionRenderArgs) => React__default.ReactNode;
|
|
805
|
+
};
|
|
806
|
+
thumbnails: {
|
|
807
|
+
children?: React__default.ReactNode;
|
|
808
|
+
layout?: ThumbnailsLayout;
|
|
809
|
+
elements?: ThumbnailsElements;
|
|
810
|
+
scroll?: ThumbnailsScroll;
|
|
811
|
+
controls?: ThumbnailsControls;
|
|
812
|
+
motion?: ThumbnailsMotion;
|
|
813
|
+
transitions?: ThumbnailsTransitions;
|
|
814
|
+
breakpointMap?: BreakpointMap;
|
|
815
|
+
};
|
|
816
|
+
enabled: boolean;
|
|
817
|
+
items?: MediaItem[] | string[];
|
|
818
|
+
renderImage?: FSImageRender;
|
|
819
|
+
video?: FullscreenVideoOptions;
|
|
315
820
|
};
|
|
316
|
-
|
|
317
|
-
|
|
821
|
+
fullscreenNode: react_jsx_runtime.JSX.Element | null;
|
|
822
|
+
openFullscreenAt: (source: FullscreenOpenRequest["source"], gridIndex: number, originEl?: HTMLElement | null) => void;
|
|
823
|
+
isClick: React__default.RefObject<boolean>;
|
|
824
|
+
expandableImgRefs: React__default.RefObject<(HTMLImageElement | null)[]>;
|
|
825
|
+
overlayDivRef: React__default.RefObject<HTMLDivElement | null>;
|
|
826
|
+
duplicateImgRef: React__default.RefObject<HTMLElement | null>;
|
|
827
|
+
closeButtonRef: React__default.RefObject<HTMLElement | null>;
|
|
828
|
+
counterRef: React__default.RefObject<HTMLElement | null>;
|
|
829
|
+
leftChevronRef: React__default.RefObject<HTMLElement | null>;
|
|
830
|
+
rightChevronRef: React__default.RefObject<HTMLElement | null>;
|
|
831
|
+
sliderForFullscreen: React__default.RefObject<HTMLDivElement | null>;
|
|
832
|
+
slidesForFullscreen: React__default.RefObject<{
|
|
833
|
+
cells: {
|
|
834
|
+
element: HTMLElement;
|
|
835
|
+
index: number;
|
|
836
|
+
}[];
|
|
837
|
+
target: number;
|
|
838
|
+
}[]>;
|
|
839
|
+
visibleImagesForFullscreen: React__default.RefObject<number>;
|
|
840
|
+
selectedIndexForFullscreen: React__default.RefObject<number>;
|
|
841
|
+
sliderXForFullscreen: React__default.RefObject<number>;
|
|
842
|
+
sliderVelocityForFullscreen: React__default.RefObject<number>;
|
|
843
|
+
isWrappingForFullscreen: React__default.RefObject<boolean>;
|
|
844
|
+
fsThumbContainerRef: React__default.RefObject<HTMLDivElement | null>;
|
|
845
|
+
cells: React__default.RefObject<{
|
|
846
|
+
element: HTMLElement;
|
|
847
|
+
index: number;
|
|
848
|
+
}[]>;
|
|
849
|
+
setSlideIndex: React__default.Dispatch<React__default.SetStateAction<number>>;
|
|
850
|
+
setShowFullscreenModal: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
851
|
+
setShowFullscreenSlider: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
852
|
+
setFsFadeOpening: React__default.Dispatch<React__default.SetStateAction<boolean>>;
|
|
853
|
+
showFullscreenModal: boolean;
|
|
854
|
+
showFullscreenSlider: boolean;
|
|
855
|
+
fsFadeOpening: boolean;
|
|
856
|
+
closingModal: boolean;
|
|
318
857
|
};
|
|
319
858
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
itemClassName?: string;
|
|
326
|
-
loading?: LoadingOptions;
|
|
327
|
-
intro?: IntroOptions;
|
|
328
|
-
};
|
|
329
|
-
|
|
330
|
-
type IndexMode = "instant" | "animated";
|
|
331
|
-
interface GalleryApi {
|
|
332
|
-
rootNode(): HTMLElement | null;
|
|
333
|
-
containerNode(): HTMLElement | null;
|
|
334
|
-
slideNodes(): HTMLElement[];
|
|
335
|
-
onReady?(cb: (nodes: HTMLElement[]) => void): () => void;
|
|
336
|
-
whenReady?(): Promise<HTMLElement[]>;
|
|
337
|
-
isReady?(): boolean;
|
|
338
|
-
scrollTo(index: number, jump?: boolean): void;
|
|
339
|
-
scrollNext(jump?: boolean): void;
|
|
340
|
-
scrollPrev(jump?: boolean): void;
|
|
341
|
-
canScrollNext(): boolean;
|
|
342
|
-
canScrollPrev(): boolean;
|
|
343
|
-
getIndex(): number;
|
|
344
|
-
selectCell(index: number, jump?: boolean): void;
|
|
345
|
-
scrollProgress(): number;
|
|
346
|
-
cellsInView(): number[];
|
|
347
|
-
append(nodes: React.ReactNode | React.ReactNode[]): number;
|
|
348
|
-
prepend(nodes: React.ReactNode | React.ReactNode[]): number;
|
|
349
|
-
insert(index: number, nodes: React.ReactNode | React.ReactNode[]): number;
|
|
350
|
-
remove(indexOrPredicate: number | ((i: number) => boolean)): number;
|
|
351
|
-
replace(index: number, node: React.ReactNode): void;
|
|
352
|
-
setItems(nodes: React.ReactNode[]): number;
|
|
353
|
-
onIndexChange(cb: (i: number, meta: {
|
|
354
|
-
mode: IndexMode;
|
|
355
|
-
}) => void): () => void;
|
|
356
|
-
}
|
|
859
|
+
declare const Slider: React$1.ForwardRefExoticComponent<SliderOptions & {
|
|
860
|
+
children?: React$1.ReactNode;
|
|
861
|
+
breakpoints?: BreakpointMap;
|
|
862
|
+
expandableImgRefs?: React$1.RefObject<Array<HTMLImageElement | null>>;
|
|
863
|
+
} & React$1.RefAttributes<SliderHandle>>;
|
|
357
864
|
|
|
358
|
-
type
|
|
359
|
-
|
|
360
|
-
height: string;
|
|
361
|
-
};
|
|
362
|
-
type SliderLayout = {
|
|
363
|
-
gap?: number;
|
|
364
|
-
cellsPerSlide?: ResponsiveNumber;
|
|
365
|
-
};
|
|
366
|
-
type SliderDirection = {
|
|
367
|
-
dir?: "ltr" | "rtl";
|
|
368
|
-
axis?: "x" | "y";
|
|
369
|
-
};
|
|
370
|
-
type SliderSize = {
|
|
371
|
-
height?: string;
|
|
372
|
-
heightRules?: ResponsiveHeightRule[];
|
|
373
|
-
initialHeight?: number | string;
|
|
374
|
-
};
|
|
375
|
-
type SliderElements = {
|
|
376
|
-
viewport?: ElementStyle;
|
|
377
|
-
container?: ElementStyle;
|
|
378
|
-
};
|
|
379
|
-
type SliderScroll = {
|
|
380
|
-
groupCells?: boolean;
|
|
381
|
-
skipSnaps?: boolean;
|
|
382
|
-
freeScroll?: boolean;
|
|
383
|
-
loop?: boolean;
|
|
384
|
-
};
|
|
385
|
-
type SliderArrows = {
|
|
386
|
-
enabled?: boolean;
|
|
387
|
-
arrow?: ElementStyle;
|
|
388
|
-
prev?: ElementStyle;
|
|
389
|
-
next?: ElementStyle;
|
|
390
|
-
render?: (args: ArrowRenderArgs & {
|
|
391
|
-
dir: "prev" | "next";
|
|
392
|
-
}) => React.ReactNode;
|
|
393
|
-
renderPrev?: (args: ArrowRenderArgs) => React.ReactNode;
|
|
394
|
-
renderNext?: (args: ArrowRenderArgs) => React.ReactNode;
|
|
395
|
-
};
|
|
396
|
-
type SliderDots = {
|
|
865
|
+
type SkeletonLength = number | string;
|
|
866
|
+
type SkeletonShimmer = {
|
|
397
867
|
enabled?: boolean;
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
};
|
|
402
|
-
type
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
868
|
+
durationMs?: number;
|
|
869
|
+
bandSizePct?: number;
|
|
870
|
+
angleDeg?: number;
|
|
871
|
+
};
|
|
872
|
+
type SkeletonBaseStyle = {
|
|
873
|
+
width?: SkeletonLength;
|
|
874
|
+
maxWidth?: SkeletonLength;
|
|
875
|
+
height?: SkeletonLength;
|
|
876
|
+
maxHeight?: SkeletonLength;
|
|
877
|
+
backgroundColor?: string;
|
|
878
|
+
borderRadius?: SkeletonLength;
|
|
879
|
+
marginTop?: SkeletonLength;
|
|
880
|
+
marginRight?: SkeletonLength;
|
|
881
|
+
marginBottom?: SkeletonLength;
|
|
882
|
+
marginLeft?: SkeletonLength;
|
|
883
|
+
alignSelf?: React$1.CSSProperties["alignSelf"];
|
|
884
|
+
aspectRatio?: SkeletonLength;
|
|
885
|
+
};
|
|
886
|
+
type SkeletonContainerStyle = {
|
|
887
|
+
gap?: SkeletonLength;
|
|
888
|
+
padding?: SkeletonLength;
|
|
889
|
+
align?: React$1.CSSProperties["alignItems"];
|
|
890
|
+
justify?: React$1.CSSProperties["justifyContent"];
|
|
891
|
+
wrap?: boolean;
|
|
892
|
+
width?: SkeletonLength;
|
|
893
|
+
maxWidth?: SkeletonLength;
|
|
894
|
+
};
|
|
895
|
+
type SkeletonContainerStyleResponsive = SkeletonContainerStyle | Record<string, SkeletonContainerStyle>;
|
|
896
|
+
type GridSkeletonNode = {
|
|
897
|
+
kind: "grid";
|
|
898
|
+
style?: SkeletonContainerStyleResponsive;
|
|
899
|
+
count?: number;
|
|
900
|
+
item: SkeletonNode;
|
|
901
|
+
itemWrapStyle?: SkeletonBaseStyle;
|
|
902
|
+
} | SkeletonNode;
|
|
903
|
+
type SkeletonNode = {
|
|
904
|
+
kind: "stack" | "row" | "col";
|
|
905
|
+
style?: SkeletonContainerStyleResponsive;
|
|
906
|
+
children: SkeletonNode[];
|
|
907
|
+
} | {
|
|
908
|
+
kind: "rect" | "square" | "circle";
|
|
909
|
+
style?: SkeletonBaseStyle;
|
|
910
|
+
shimmer?: SkeletonShimmer;
|
|
911
|
+
} | {
|
|
912
|
+
kind: "media";
|
|
913
|
+
count: number;
|
|
914
|
+
direction?: "row" | "col";
|
|
915
|
+
style?: SkeletonContainerStyleResponsive;
|
|
916
|
+
tile?: {
|
|
917
|
+
shape?: "rect" | "square" | "circle";
|
|
918
|
+
style?: SkeletonBaseStyle;
|
|
919
|
+
shimmer?: SkeletonShimmer;
|
|
920
|
+
};
|
|
407
921
|
};
|
|
408
|
-
type
|
|
409
|
-
enabled?: boolean;
|
|
922
|
+
type GridSkeletonSpec = {
|
|
410
923
|
className?: string;
|
|
924
|
+
layout?: GridSkeletonNode;
|
|
925
|
+
defaults?: {
|
|
926
|
+
backgroundColor?: string;
|
|
927
|
+
highlightColor?: string;
|
|
928
|
+
radius?: SkeletonLength;
|
|
929
|
+
shimmer?: SkeletonShimmer;
|
|
930
|
+
};
|
|
411
931
|
};
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
dots?: SliderDots;
|
|
415
|
-
progress?: SliderProgress;
|
|
416
|
-
ripple?: SliderRipple;
|
|
417
|
-
};
|
|
418
|
-
type SliderAutoPlay = {
|
|
419
|
-
enabled?: boolean;
|
|
420
|
-
speedMs?: number;
|
|
421
|
-
pauseMs?: number;
|
|
422
|
-
pauseOnHover?: boolean;
|
|
423
|
-
};
|
|
424
|
-
type SliderAutoScroll = {
|
|
425
|
-
enabled?: boolean;
|
|
426
|
-
speedMs?: number;
|
|
427
|
-
pauseMs?: number;
|
|
428
|
-
pauseOnHover?: boolean;
|
|
429
|
-
};
|
|
430
|
-
type SliderAuto = {
|
|
431
|
-
play?: SliderAutoPlay;
|
|
432
|
-
scroll?: SliderAutoScroll;
|
|
433
|
-
};
|
|
434
|
-
type SliderLoadingOptions = {
|
|
932
|
+
|
|
933
|
+
type LoadingOptions$1 = {
|
|
435
934
|
isLoading?: boolean;
|
|
436
|
-
skeletonCount?: ResponsiveNumber;
|
|
437
935
|
renderLoading?: (args: {
|
|
438
|
-
layout: "slider" | "grid" | "masonry" | "entries";
|
|
439
936
|
count: number;
|
|
440
937
|
}) => React.ReactNode;
|
|
938
|
+
skeleton?: GridSkeletonSpec;
|
|
939
|
+
shimmer?: {
|
|
940
|
+
paddingBottom?: string;
|
|
941
|
+
radius?: number | string;
|
|
942
|
+
c1?: string;
|
|
943
|
+
c2?: string;
|
|
944
|
+
c3?: string;
|
|
945
|
+
size?: string;
|
|
946
|
+
duration?: string;
|
|
947
|
+
timing?: string;
|
|
948
|
+
};
|
|
441
949
|
};
|
|
442
|
-
type
|
|
950
|
+
type IntroOptions$1 = {
|
|
443
951
|
renderIntro?: (args: {
|
|
444
952
|
active: boolean;
|
|
445
953
|
containerProps: React.HTMLAttributes<HTMLDivElement>;
|
|
446
954
|
}, content: React.ReactNode) => React.ReactNode;
|
|
447
955
|
staggerMs?: number;
|
|
448
|
-
transform?:
|
|
956
|
+
transform?: string;
|
|
449
957
|
durationMs?: number;
|
|
450
958
|
easing?: string;
|
|
959
|
+
staggerLimit?: number;
|
|
451
960
|
};
|
|
452
|
-
type
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
sideWidth?: string;
|
|
461
|
-
};
|
|
462
|
-
type SliderScale = {
|
|
463
|
-
enabled?: boolean;
|
|
464
|
-
amount?: number;
|
|
961
|
+
type GridOptions = {
|
|
962
|
+
columns?: ResponsiveNumber;
|
|
963
|
+
minColumnWidth?: number | string;
|
|
964
|
+
gap?: ResponsiveNumber;
|
|
965
|
+
rootClassName?: string;
|
|
966
|
+
itemClassName?: string;
|
|
967
|
+
loading?: LoadingOptions$1;
|
|
968
|
+
intro?: IntroOptions$1;
|
|
465
969
|
};
|
|
466
|
-
|
|
467
|
-
|
|
970
|
+
|
|
971
|
+
type Props$1 = GridOptions & {
|
|
972
|
+
children?: React$1.ReactNode;
|
|
973
|
+
breakpoints?: BreakpointMap;
|
|
974
|
+
gridItemBaseClass?: string;
|
|
975
|
+
renderMode?: "wrap" | "passthrough";
|
|
468
976
|
};
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
977
|
+
declare function GridLayoutRuntime(props: Props$1): react_jsx_runtime.JSX.Element;
|
|
978
|
+
|
|
979
|
+
type LoadingOptions = {
|
|
980
|
+
isLoading?: boolean;
|
|
981
|
+
renderLoading?: () => React.ReactNode;
|
|
982
|
+
shimmer?: {
|
|
983
|
+
paddingBottom?: string;
|
|
984
|
+
radius?: number | string;
|
|
985
|
+
c1?: string;
|
|
986
|
+
c2?: string;
|
|
987
|
+
c3?: string;
|
|
988
|
+
size?: string;
|
|
989
|
+
duration?: string;
|
|
990
|
+
timing?: string;
|
|
991
|
+
};
|
|
992
|
+
ratios?: number[];
|
|
473
993
|
};
|
|
474
|
-
type
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
994
|
+
type IntroOptions = {
|
|
995
|
+
renderIntro?: (args: {
|
|
996
|
+
active: boolean;
|
|
997
|
+
containerProps: React.HTMLAttributes<HTMLDivElement>;
|
|
998
|
+
}, content: React.ReactNode) => React.ReactNode;
|
|
999
|
+
staggerMs?: number;
|
|
1000
|
+
transform?: string;
|
|
1001
|
+
durationMs?: number;
|
|
1002
|
+
easing?: string;
|
|
1003
|
+
staggerLimit?: number;
|
|
478
1004
|
};
|
|
479
|
-
type
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
1005
|
+
type MasonryOptions = {
|
|
1006
|
+
columns?: ResponsiveNumber;
|
|
1007
|
+
gap?: ResponsiveNumber;
|
|
1008
|
+
placement?: "balanced" | "roundRobin";
|
|
1009
|
+
estimatedItemHeight?: number;
|
|
1010
|
+
as?: React.ElementType;
|
|
1011
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
1012
|
+
classNames?: {
|
|
1013
|
+
root?: string;
|
|
1014
|
+
column?: string;
|
|
1015
|
+
item?: string;
|
|
1016
|
+
};
|
|
1017
|
+
loading?: LoadingOptions;
|
|
1018
|
+
intro?: IntroOptions;
|
|
493
1019
|
};
|
|
494
1020
|
|
|
495
|
-
type Props = {
|
|
496
|
-
children?: ReactNode;
|
|
497
|
-
fullscreen?: FullscreenOptions;
|
|
498
|
-
slider?: SliderOptions;
|
|
499
|
-
layout?: 'slider' | 'grid' | 'masonry' | 'entries';
|
|
500
|
-
grid?: GridOptions;
|
|
501
|
-
masonry?: MasonryOptions;
|
|
502
|
-
entries?: EntriesOptions;
|
|
1021
|
+
type Props = MasonryOptions & {
|
|
1022
|
+
children?: React$1.ReactNode;
|
|
503
1023
|
breakpoints?: BreakpointMap;
|
|
504
|
-
root?: ElementStyle;
|
|
505
|
-
container?: ElementStyle;
|
|
506
1024
|
};
|
|
507
|
-
declare
|
|
1025
|
+
declare function Masonry(props: Props): react_jsx_runtime.JSX.Element;
|
|
508
1026
|
|
|
509
1027
|
type RmgPlyrSourceBuilder = (args: {
|
|
510
1028
|
src: string;
|
|
@@ -515,7 +1033,7 @@ type RmgPlyrOptionsResolver = any | ((args: {
|
|
|
515
1033
|
poster?: string;
|
|
516
1034
|
index: number;
|
|
517
1035
|
}) => any);
|
|
518
|
-
type
|
|
1036
|
+
type VideoProps = {
|
|
519
1037
|
src: string;
|
|
520
1038
|
poster?: string;
|
|
521
1039
|
alt?: string;
|
|
@@ -529,6 +1047,126 @@ type RmgPlyrVideoProps = {
|
|
|
529
1047
|
onApi?: (api: APITypes | null) => void;
|
|
530
1048
|
registerApiByIndex?: (index: number, api: APITypes | null) => void;
|
|
531
1049
|
};
|
|
532
|
-
declare function
|
|
1050
|
+
declare function Video(props: VideoProps): react_jsx_runtime.JSX.Element;
|
|
1051
|
+
|
|
1052
|
+
declare function PanAxis(): {
|
|
1053
|
+
scroll: "x";
|
|
1054
|
+
cross: "y";
|
|
1055
|
+
direction(n: number): number;
|
|
1056
|
+
};
|
|
1057
|
+
type PanAxisType = ReturnType<typeof PanAxis>;
|
|
1058
|
+
|
|
1059
|
+
declare const DEFAULT_SLIDER: {
|
|
1060
|
+
readonly layout: {
|
|
1061
|
+
readonly gap: 20;
|
|
1062
|
+
};
|
|
1063
|
+
readonly direction: {
|
|
1064
|
+
readonly dir: "ltr";
|
|
1065
|
+
readonly axis: "x";
|
|
1066
|
+
};
|
|
1067
|
+
readonly align: "start";
|
|
1068
|
+
readonly scroll: {
|
|
1069
|
+
readonly groupCells: false;
|
|
1070
|
+
readonly skipSnaps: false;
|
|
1071
|
+
readonly freeScroll: false;
|
|
1072
|
+
readonly loop: false;
|
|
1073
|
+
};
|
|
1074
|
+
readonly lazyLoad: false;
|
|
1075
|
+
readonly controls: {
|
|
1076
|
+
readonly arrows: {
|
|
1077
|
+
readonly enabled: true;
|
|
1078
|
+
readonly arrow: {};
|
|
1079
|
+
readonly prev: {};
|
|
1080
|
+
readonly next: {};
|
|
1081
|
+
};
|
|
1082
|
+
readonly dots: {
|
|
1083
|
+
readonly enabled: true;
|
|
1084
|
+
readonly root: {};
|
|
1085
|
+
readonly dot: {};
|
|
1086
|
+
};
|
|
1087
|
+
readonly progress: {
|
|
1088
|
+
readonly enabled: false;
|
|
1089
|
+
readonly root: {};
|
|
1090
|
+
readonly bar: {};
|
|
1091
|
+
};
|
|
1092
|
+
readonly ripple: {
|
|
1093
|
+
readonly enabled: true;
|
|
1094
|
+
readonly className: "";
|
|
1095
|
+
};
|
|
1096
|
+
};
|
|
1097
|
+
readonly thumbnails: Required<Pick<ThumbnailsOptions, "scroll" | "layout" | "motion">>;
|
|
1098
|
+
readonly auto: {
|
|
1099
|
+
readonly play: {
|
|
1100
|
+
readonly enabled: false;
|
|
1101
|
+
readonly speedMs: 3000;
|
|
1102
|
+
readonly pauseMs: 1000;
|
|
1103
|
+
readonly pauseOnHover: true;
|
|
1104
|
+
};
|
|
1105
|
+
readonly scroll: {
|
|
1106
|
+
readonly enabled: false;
|
|
1107
|
+
readonly speedMs: 3000;
|
|
1108
|
+
readonly pauseMs: 1000;
|
|
1109
|
+
readonly pauseOnHover: true;
|
|
1110
|
+
};
|
|
1111
|
+
};
|
|
1112
|
+
readonly motion: {
|
|
1113
|
+
readonly selectDuration: 25;
|
|
1114
|
+
readonly freeScrollDuration: 43;
|
|
1115
|
+
readonly friction: 0.68;
|
|
1116
|
+
};
|
|
1117
|
+
};
|
|
1118
|
+
|
|
1119
|
+
declare const DEFAULT_GRID: Required<Pick<GridOptions, "minColumnWidth" | "gap">>;
|
|
1120
|
+
|
|
1121
|
+
declare const DEFAULT_MASONRY: Required<Pick<MasonryOptions, "placement">>;
|
|
1122
|
+
|
|
1123
|
+
declare const DEFAULT_FULLSCREEN: {
|
|
1124
|
+
readonly enabled: false;
|
|
1125
|
+
readonly controls: {
|
|
1126
|
+
readonly close: {
|
|
1127
|
+
readonly enabled: true;
|
|
1128
|
+
readonly style: {};
|
|
1129
|
+
readonly className: "";
|
|
1130
|
+
readonly render: undefined;
|
|
1131
|
+
};
|
|
1132
|
+
readonly arrows: {
|
|
1133
|
+
readonly enabled: true;
|
|
1134
|
+
readonly arrow: {};
|
|
1135
|
+
readonly prev: {};
|
|
1136
|
+
readonly next: {};
|
|
1137
|
+
readonly render: undefined;
|
|
1138
|
+
readonly renderPrev: undefined;
|
|
1139
|
+
readonly renderNext: undefined;
|
|
1140
|
+
};
|
|
1141
|
+
readonly counter: {
|
|
1142
|
+
readonly enabled: true;
|
|
1143
|
+
readonly style: {};
|
|
1144
|
+
readonly className: "";
|
|
1145
|
+
readonly render: undefined;
|
|
1146
|
+
};
|
|
1147
|
+
};
|
|
1148
|
+
readonly effects: {
|
|
1149
|
+
readonly introDuration: 300;
|
|
1150
|
+
readonly introEasing: "cubic-bezier(.4,0,.22,1)";
|
|
1151
|
+
readonly introFade: false;
|
|
1152
|
+
readonly slideFade: false;
|
|
1153
|
+
readonly slideFadeDuration: 120;
|
|
1154
|
+
readonly slideFadeEasing: "cubic-bezier(.4,0,.22,1)";
|
|
1155
|
+
readonly thumbnailsFadeDuration: 300;
|
|
1156
|
+
readonly thumbnailsFadeEasing: "cubic-bezier(.4,0,.22,1)";
|
|
1157
|
+
};
|
|
1158
|
+
readonly thumbnails: {};
|
|
1159
|
+
readonly slider: {
|
|
1160
|
+
readonly duration: 25;
|
|
1161
|
+
readonly friction: 0.68;
|
|
1162
|
+
};
|
|
1163
|
+
readonly zoom: {
|
|
1164
|
+
readonly clickZoomLevel: 2.5;
|
|
1165
|
+
readonly maxZoomLevel: 3;
|
|
1166
|
+
readonly panDuration: 43;
|
|
1167
|
+
readonly panFriction: 0.68;
|
|
1168
|
+
};
|
|
1169
|
+
readonly caption: {};
|
|
1170
|
+
};
|
|
533
1171
|
|
|
534
|
-
export {
|
|
1172
|
+
export { BREAKPOINT_MAP, DEFAULT_ENTRIES, DEFAULT_FULLSCREEN, DEFAULT_GRID, DEFAULT_MASONRY, DEFAULT_SLIDER, type ElementStyle, Entries, type EntriesOptions, type FsCaptionPlacement, type FsIntroRequest, type FullscreenOptions, type GalleryApi, GalleryCore, GridLayoutRuntime as Grid, type GridOptions, type IndexMode, Masonry, type MasonryOptions, type MediaEntryLink, type MediaItem, type PanAxisType, type ResponsiveHeightRule, type SlideOwner, Slider, type SliderHandle, type SliderOptions, Video, flattenEntries, toMediaItems, useFullscreenController };
|