react-motion-gallery 2.0.2 → 2.0.5

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 DELETED
@@ -1,534 +0,0 @@
1
- import * as React$1 from 'react';
2
- import React__default, { ReactNode } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
- import { APITypes } from 'plyr-react';
5
-
6
- type ArrowRenderArgs = {
7
- ref: React.RefObject<HTMLDivElement | null>;
8
- onClick: () => void;
9
- hidden: boolean;
10
- disabled: boolean;
11
- createRipple: (el: HTMLElement) => void;
12
- className?: string;
13
- };
14
- type DotsRenderArgs = {
15
- ref: React.RefObject<HTMLDivElement | null>;
16
- count: number;
17
- activeIndex: number;
18
- hidden: boolean;
19
- goTo: (index: number) => void;
20
- getDotRef: (index: number) => (el: HTMLDivElement | null) => void;
21
- createRipple: (el: HTMLElement) => void;
22
- classNameContainer?: string;
23
- classNameDot?: string;
24
- };
25
- type ProgressRenderArgs = {
26
- ref: React.Ref<HTMLDivElement>;
27
- innerRef?: React.Ref<HTMLDivElement>;
28
- hidden: boolean;
29
- progress: number;
30
- axis: 'x' | 'y';
31
- className?: string;
32
- style?: React.CSSProperties;
33
- innerClassName?: string;
34
- innerStyle?: React.CSSProperties;
35
- };
36
-
37
- type ElementStyle = {
38
- className?: string;
39
- style?: React.CSSProperties;
40
- };
41
-
42
- type ThumbnailPosition = "top" | "right" | "bottom" | "left";
43
- type ResponsivePosition = ThumbnailPosition | Array<ThumbnailPosition> | Record<string, ThumbnailPosition>;
44
- type ThumbnailLoadingOptions = {
45
- isLoading?: boolean;
46
- skeletonCount?: ResponsiveNumber;
47
- renderLoading?: (args: {
48
- layout: "thumbnails";
49
- count: number;
50
- }) => React$1.ReactNode;
51
- };
52
- type ThumbnailIntroOptions = {
53
- renderIntro?: (args: {
54
- active: boolean;
55
- containerProps: React$1.HTMLAttributes<HTMLDivElement>;
56
- }, inner: React$1.ReactNode) => React$1.ReactNode;
57
- staggerMs?: number;
58
- transform?: number;
59
- durationMs?: number;
60
- easing?: string;
61
- };
62
- type ThumbnailLayout = {
63
- width?: number | string;
64
- height?: number | string;
65
- };
66
- type ThumbnailContainerLayout = {
67
- width?: number | string;
68
- height?: number | string;
69
- };
70
- type ThumbnailsLayout = {
71
- position?: ResponsivePosition;
72
- gap?: number;
73
- center?: boolean;
74
- thumbnail?: ThumbnailLayout;
75
- container?: ThumbnailContainerLayout;
76
- };
77
- type ThumbnailsElements = {
78
- container?: ElementStyle;
79
- thumbnail?: ElementStyle;
80
- };
81
- type ThumbnailsScroll = {
82
- freeScroll?: boolean;
83
- groupCells?: boolean;
84
- loop?: boolean;
85
- skipSnaps?: boolean;
86
- centerActiveThumb?: boolean;
87
- };
88
- type ThumbnailsMotion = {
89
- selectDuration?: number;
90
- freeScrollDuration?: number;
91
- friction?: number;
92
- };
93
- type ThumbnailsRipple = {
94
- enabled?: boolean;
95
- className?: string;
96
- };
97
- type ThumbnailsControls = {
98
- enabled?: boolean;
99
- arrow?: ElementStyle;
100
- prev?: ElementStyle;
101
- next?: ElementStyle;
102
- render?: (args: ArrowRenderArgs & {
103
- dir: "prev" | "next";
104
- }) => React$1.ReactNode;
105
- renderPrev?: (args: ArrowRenderArgs) => React$1.ReactNode;
106
- renderNext?: (args: ArrowRenderArgs) => React$1.ReactNode;
107
- ripple?: ThumbnailsRipple;
108
- };
109
- type ThumbnailsTransitions = {
110
- loading?: ThumbnailLoadingOptions;
111
- intro?: ThumbnailIntroOptions;
112
- };
113
- type ThumbnailsOptions = {
114
- children?: React$1.ReactNode;
115
- layout?: ThumbnailsLayout;
116
- elements?: ThumbnailsElements;
117
- scroll?: ThumbnailsScroll;
118
- controls?: ThumbnailsControls;
119
- motion?: ThumbnailsMotion;
120
- transitions?: ThumbnailsTransitions;
121
- breakpointMap?: BreakpointMap;
122
- };
123
-
124
- type BreakpointMap = Record<string, number>;
125
- type ResponsiveNumber = number | string | Array<number | string> | Record<string, number | string>;
126
-
127
- type MediaItem = {
128
- kind: "image";
129
- src: string;
130
- alt?: string;
131
- caption?: React.ReactNode;
132
- srcSet?: string;
133
- sizes?: string;
134
- width?: number;
135
- height?: number;
136
- } | {
137
- kind: "video";
138
- src: string;
139
- alt?: string;
140
- thumb?: string;
141
- caption?: React.ReactNode;
142
- };
143
-
144
- type LoadingOptions = {
145
- isLoading?: boolean;
146
- skeletonCount?: ResponsiveNumber;
147
- renderLoading?: (args: {
148
- layout: "slider" | "grid" | "masonry" | "entries";
149
- count: number;
150
- }) => React.ReactNode;
151
- };
152
- type IntroOptions = {
153
- renderIntro?: (args: {
154
- active: boolean;
155
- containerProps: React.HTMLAttributes<HTMLDivElement>;
156
- }, content: React.ReactNode) => React.ReactNode;
157
- staggerMs?: number;
158
- transform?: string;
159
- durationMs?: number;
160
- easing?: string;
161
- staggerLimit?: number;
162
- };
163
-
164
- type EntryItem = {
165
- media?: MediaItem[];
166
- [key: string]: any;
167
- };
168
- type EntryMediaRenderArgs = {
169
- entry: EntryItem;
170
- entryIndex: number;
171
- media: MediaItem;
172
- mediaIndex: number;
173
- };
174
- type MediaEntryLink = {
175
- entryIndex: number;
176
- mediaIndex: number;
177
- };
178
- type EntryOverlayRenderArgs = {
179
- entry: EntryItem;
180
- entryIndex: number;
181
- mediaIndex: number | null;
182
- link: MediaEntryLink | null;
183
- opacity: number;
184
- fsIndex: number;
185
- style: React.CSSProperties;
186
- containerProps: React.HTMLAttributes<HTMLDivElement>;
187
- };
188
- type EntryMediaLayout = "slider" | "grid" | "masonry";
189
- type EntryCardRenderArgs = {
190
- entry: EntryItem;
191
- entryIndex: number;
192
- media: React.ReactNode;
193
- };
194
- type EntriesOptions = {
195
- items?: EntryItem[];
196
- mediaLayout?: EntryMediaLayout;
197
- render?: {
198
- card?: (args: EntryCardRenderArgs) => React.ReactNode;
199
- media?: (args: EntryMediaRenderArgs) => React.ReactNode;
200
- overlay?: (args: EntryOverlayRenderArgs) => React.ReactNode;
201
- };
202
- overlay?: ElementStyle;
203
- loading?: LoadingOptions;
204
- intro?: IntroOptions;
205
- };
206
-
207
- type FsCounterArgs = {
208
- index: number;
209
- count: number;
210
- };
211
- type FsCaptionPlacement = "top" | "right" | "bottom" | "left";
212
- type FSImageRender = (args: {
213
- item: Extract<MediaItem, {
214
- kind: "image";
215
- }>;
216
- index: number;
217
- isZoomed: boolean;
218
- className: string;
219
- baseStyle: React$1.CSSProperties;
220
- }) => React$1.ReactNode;
221
- type PlyrSourceBuilder = (item: MediaItem, index: number) => Plyr.SourceInfo;
222
- type PlyrOptionsResolver = Plyr.Options | ((item: MediaItem, index: number) => Plyr.Options);
223
- type FullscreenArrows = {
224
- enabled?: boolean;
225
- arrow?: ElementStyle;
226
- prev?: ElementStyle;
227
- next?: ElementStyle;
228
- render?: (args: {
229
- dir: "prev" | "next";
230
- }) => HTMLElement | null;
231
- renderPrev?: () => HTMLElement | null;
232
- renderNext?: () => HTMLElement | null;
233
- };
234
- type FullscreenClose = {
235
- enabled?: boolean;
236
- style?: React$1.CSSProperties;
237
- className?: string;
238
- render?: () => HTMLElement | null;
239
- };
240
- type FullscreenCounter = {
241
- enabled?: boolean;
242
- style?: React$1.CSSProperties;
243
- className?: string;
244
- render?: (args: FsCounterArgs) => HTMLElement | null;
245
- };
246
- type FullscreenControlsOptions = {
247
- close?: FullscreenClose;
248
- arrows?: FullscreenArrows;
249
- counter?: FullscreenCounter;
250
- };
251
- type FsCaptionRenderArgs = {
252
- item: MediaItem;
253
- index: number;
254
- isZoomed: boolean;
255
- };
256
- type FullscreenCaptionOptions = {
257
- className?: string;
258
- style?: React$1.CSSProperties;
259
- placement?: FsCaptionPlacement;
260
- width?: number;
261
- height?: number;
262
- breakpoint?: number;
263
- render?: (args: FsCaptionRenderArgs) => React$1.ReactNode;
264
- };
265
- type FullscreenEffectsOptions = {
266
- introDuration?: number;
267
- introEasing?: string;
268
- introFade?: boolean;
269
- slideFade?: boolean;
270
- slideFadeDuration?: number;
271
- slideFadeEasing?: string;
272
- thumbnailsFadeDuration?: number;
273
- thumbnailsFadeEasing?: string;
274
- };
275
- type FullscreenSliderOptions = {
276
- duration?: number;
277
- friction?: number;
278
- };
279
- type FullscreenZoomPanOptions = {
280
- clickZoomLevel?: number;
281
- maxZoomLevel?: number;
282
- panDuration?: number;
283
- panFriction?: number;
284
- };
285
- type FullscreenVideoOptions = {
286
- source?: PlyrSourceBuilder;
287
- options?: PlyrOptionsResolver;
288
- style?: React$1.CSSProperties;
289
- className?: string;
290
- };
291
- type FullscreenOptions = {
292
- enabled?: boolean;
293
- items?: MediaItem[] | string[];
294
- renderImage?: FSImageRender;
295
- video?: FullscreenVideoOptions;
296
- thumbnails?: ThumbnailsOptions;
297
- controls?: FullscreenControlsOptions;
298
- caption?: FullscreenCaptionOptions;
299
- slider?: FullscreenSliderOptions;
300
- zoom?: FullscreenZoomPanOptions;
301
- effects?: FullscreenEffectsOptions;
302
- };
303
-
304
- type MasonryOptions = {
305
- columns?: ResponsiveNumber;
306
- gap?: ResponsiveNumber;
307
- placement?: "balanced" | "roundRobin";
308
- estimatedItemHeight?: number;
309
- as?: React.ElementType;
310
- rootRef?: React.Ref<HTMLDivElement>;
311
- classNames?: {
312
- root?: string;
313
- column?: string;
314
- item?: string;
315
- };
316
- loading?: LoadingOptions;
317
- intro?: IntroOptions;
318
- };
319
-
320
- type GridOptions = {
321
- columns?: ResponsiveNumber;
322
- minColumnWidth?: number | string;
323
- gap?: ResponsiveNumber;
324
- rootClassName?: string;
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
- }
357
-
358
- type ResponsiveHeightRule = {
359
- query: string;
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 = {
397
- enabled?: boolean;
398
- root?: ElementStyle;
399
- dot?: ElementStyle;
400
- render?: (args: DotsRenderArgs) => React.ReactNode;
401
- };
402
- type SliderProgress = {
403
- enabled?: boolean;
404
- root?: ElementStyle;
405
- bar?: ElementStyle;
406
- render?: (args: ProgressRenderArgs) => React.ReactNode;
407
- };
408
- type SliderRipple = {
409
- enabled?: boolean;
410
- className?: string;
411
- };
412
- type SliderControls = {
413
- arrows?: SliderArrows;
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 = {
435
- isLoading?: boolean;
436
- skeletonCount?: ResponsiveNumber;
437
- renderLoading?: (args: {
438
- layout: "slider" | "grid" | "masonry" | "entries";
439
- count: number;
440
- }) => React.ReactNode;
441
- };
442
- type SliderIntroOptions = {
443
- renderIntro?: (args: {
444
- active: boolean;
445
- containerProps: React.HTMLAttributes<HTMLDivElement>;
446
- }, content: React.ReactNode) => React.ReactNode;
447
- staggerMs?: number;
448
- transform?: number | string;
449
- durationMs?: number;
450
- easing?: string;
451
- };
452
- type SliderTransitions = {
453
- loading?: SliderLoadingOptions;
454
- intro?: SliderIntroOptions;
455
- };
456
- type SliderParallax = {
457
- enabled?: boolean;
458
- bleedPct?: string;
459
- borderRadius?: string;
460
- sideWidth?: string;
461
- };
462
- type SliderScale = {
463
- enabled?: boolean;
464
- amount?: number;
465
- };
466
- type SliderFade = {
467
- enabled?: boolean;
468
- };
469
- type SliderEffects = {
470
- parallax?: SliderParallax;
471
- scale?: SliderScale;
472
- fade?: SliderFade;
473
- };
474
- type SliderMotion = {
475
- selectDuration?: number;
476
- freeScrollDuration?: number;
477
- friction?: number;
478
- };
479
- type SliderOptions = {
480
- layout?: SliderLayout;
481
- direction?: SliderDirection;
482
- size?: SliderSize;
483
- align?: "start" | "center";
484
- scroll?: SliderScroll;
485
- elements?: SliderElements;
486
- lazyLoad?: boolean;
487
- controls?: SliderControls;
488
- thumbnails?: ThumbnailsOptions;
489
- auto?: SliderAuto;
490
- transitions?: SliderTransitions;
491
- motion?: SliderMotion;
492
- effects?: SliderEffects;
493
- };
494
-
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;
503
- breakpoints?: BreakpointMap;
504
- root?: ElementStyle;
505
- container?: ElementStyle;
506
- };
507
- declare const Gallery: React__default.ForwardRefExoticComponent<Props & React__default.RefAttributes<GalleryApi>>;
508
-
509
- type RmgPlyrSourceBuilder = (args: {
510
- src: string;
511
- poster?: string;
512
- }) => any;
513
- type RmgPlyrOptionsResolver = any | ((args: {
514
- src: string;
515
- poster?: string;
516
- index: number;
517
- }) => any);
518
- type RmgPlyrVideoProps = {
519
- src: string;
520
- poster?: string;
521
- alt?: string;
522
- source?: any;
523
- sourceBuilder?: RmgPlyrSourceBuilder;
524
- options?: RmgPlyrOptionsResolver;
525
- className?: string;
526
- style?: React$1.CSSProperties;
527
- posterClassName?: string;
528
- posterStyle?: React$1.CSSProperties;
529
- onApi?: (api: APITypes | null) => void;
530
- registerApiByIndex?: (index: number, api: APITypes | null) => void;
531
- };
532
- declare function RmgPlyrVideo(props: RmgPlyrVideoProps): react_jsx_runtime.JSX.Element;
533
-
534
- export { Gallery, RmgPlyrVideo };