react-motion-gallery 2.0.4 → 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.css CHANGED
@@ -1,243 +1,4 @@
1
- /* src/Gallery/slider/Slider.module.css */
2
- .rtl {
3
- }
4
- .track {
5
- position: relative;
6
- left: 0;
7
- }
8
- .rtl .track {
9
- left: auto;
10
- right: 0;
11
- }
12
- .slider_container,
13
- .fade_container {
14
- height: var(--rmg-slider-height);
15
- cursor: grab;
16
- }
17
- .viewport {
18
- overflow: hidden;
19
- height: 100%;
20
- width: 100%;
21
- position: relative;
22
- }
23
- .track {
24
- position: relative;
25
- height: 100%;
26
- width: 100%;
27
- will-change: transform;
28
- transform: translate3d(0, 0, 0);
29
- backface-visibility: hidden;
30
- }
31
- .fadeInStart {
32
- opacity: 0;
33
- }
34
- .fadeInActive {
35
- opacity: 1;
36
- transition: opacity var(--rmg-intro-duration, 420ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
37
- }
38
- .shimmerOverlay {
39
- position: absolute;
40
- inset: 0;
41
- border-radius: var(--rmg-shimmer-radius, 10px);
42
- overflow: hidden;
43
- background:
44
- linear-gradient(
45
- 90deg,
46
- var(--rmg-shimmer-c1, #f0f2f5) 25%,
47
- var(--rmg-shimmer-c2, #e6e9ef) 37%,
48
- var(--rmg-shimmer-c3, #f0f2f5) 63%);
49
- background-size: var(--rmg-shimmer-size, 400% 100%);
50
- animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
51
- }
52
- @keyframes rmgShimmer {
53
- 0% {
54
- background-position: 200% 0;
55
- }
56
- 100% {
57
- background-position: -200% 0;
58
- }
59
- }
60
- @media (prefers-reduced-motion: reduce) {
61
- .fadeInActive {
62
- transition: none;
63
- }
64
- .shimmerOverlay {
65
- animation: none;
66
- }
67
- }
68
- .pagination_dot {
69
- position: relative;
70
- width: 14px;
71
- height: 14px;
72
- overflow: hidden;
73
- border-radius: 50%;
74
- margin: 5px 5px 5px 5px;
75
- cursor: pointer;
76
- transition:
77
- transform 0.2s ease,
78
- background-color 0.3s ease,
79
- box-shadow 0.3s ease;
80
- }
81
- .pagination_dot:hover {
82
- transform: scale(1.2);
83
- }
84
- .pagination_dot.active {
85
- background-color: rgb(80, 163, 255);
86
- box-shadow: 0 0 8px rgba(80, 163, 255, 0.6);
87
- }
88
- .pagination_dot.inactive {
89
- background-color: lightgray;
90
- }
91
- .ripple {
92
- position: absolute;
93
- border-radius: 50%;
94
- transform: scale(0);
95
- animation: ripple 600ms linear;
96
- background-color: rgba(0, 0, 0, 0.3);
97
- pointer-events: none;
98
- }
99
- @keyframes ripple {
100
- to {
101
- transform: scale(4);
102
- opacity: 0;
103
- }
104
- }
105
- .fullscreenOverlay {
106
- position: fixed;
107
- inset: 0;
108
- opacity: 0;
109
- pointer-events: none;
110
- background-color: rgba(0, 0, 0, 0.8);
111
- transition: opacity 300ms cubic-bezier(.4, 0, .22, 1);
112
- will-change: opacity;
113
- z-index: 8999;
114
- transform: translateZ(0);
115
- backface-visibility: hidden;
116
- contain: paint;
117
- }
118
- .open {
119
- opacity: 1;
120
- pointer-events: auto;
121
- }
122
- .duplicateImg {
123
- position: fixed;
124
- display: none;
125
- transform-origin: top left;
126
- transition: transform 0.3s cubic-bezier(.4, 0, .22, 1);
127
- z-index: 9998;
128
- will-change: transform;
129
- }
130
- .closeBtn,
131
- .leftChevron,
132
- .rightChevron,
133
- .counter {
134
- position: fixed;
135
- display: none;
136
- opacity: 0;
137
- transition: opacity 0.3s cubic-bezier(.4, 0, .22, 1);
138
- z-index: 2147483602;
139
- }
140
- .closeBtn.open,
141
- .leftChevron.open,
142
- .rightChevron.open,
143
- .counter.open {
144
- display: block;
145
- opacity: 1;
146
- }
147
- .closeBtn {
148
- top: 12px;
149
- right: 12px;
150
- background: transparent;
151
- border: none;
152
- padding: 0;
153
- width: 35px;
154
- height: 35px;
155
- cursor: pointer;
156
- }
157
- .leftChevron,
158
- .rightChevron {
159
- top: 45.5%;
160
- width: 50px;
161
- height: 50px;
162
- cursor: pointer;
163
- background-color: transparent;
164
- border: none;
165
- }
166
- .leftChevron {
167
- left: 0;
168
- transform: rotate(180deg);
169
- }
170
- .rightChevron {
171
- right: 0;
172
- }
173
- .counter {
174
- top: 15px;
175
- left: 16px;
176
- color: #fff;
177
- font-size: 14px;
178
- line-height: 32px;
179
- user-select: none;
180
- text-shadow: 1px 1px 3px #4f4f4f;
181
- }
182
- .fsOverlayCaption {
183
- position: fixed;
184
- padding: 1rem 1.5rem;
185
- color: #fff;
186
- font-size: 0.875rem;
187
- pointer-events: none;
188
- opacity: 0;
189
- transform: translateY(8px);
190
- transition: opacity 300ms cubic-bezier(.4, 0, .22, 1), transform 300ms cubic-bezier(.4, 0, .22, 1);
191
- z-index: 9999;
192
- }
193
- .fsOverlayCaption.open {
194
- opacity: 1;
195
- transform: translateY(0);
196
- }
197
- .sliderSkeletonOverlay {
198
- position: absolute;
199
- inset: 0;
200
- z-index: 5;
201
- pointer-events: none;
202
- display: flex;
203
- align-items: center;
204
- justify-content: center;
205
- padding: 0 1rem;
206
- }
207
- .sliderSkeletonRow {
208
- display: flex;
209
- width: 100%;
210
- gap: 0.75rem;
211
- height: var(--rmg-slider-height, 320px);
212
- }
213
- .sliderSkeleton {
214
- flex: 1 1 0;
215
- height: 100%;
216
- border-radius: var(--rmg-shimmer-radius, 10px);
217
- overflow: hidden;
218
- position: relative;
219
- background:
220
- linear-gradient(
221
- 90deg,
222
- var(--rmg-shimmer-c1, #f0f2f5) 25%,
223
- var(--rmg-shimmer-c2, #e6e9ef) 37%,
224
- var(--rmg-shimmer-c3, #f0f2f5) 63%);
225
- background-size: var(--rmg-shimmer-size, 400% 100%);
226
- animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
227
- }
228
- .fade_container [data-rmg-idx] > * {
229
- opacity: 0;
230
- transform: translateY(var(--rmg-intro-offset, 10px));
231
- transition: opacity var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)), transform var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
232
- transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
233
- will-change: opacity, transform;
234
- }
235
- .fade_container.fadeInActive [data-rmg-idx] > * {
236
- opacity: 1;
237
- transform: translateY(0);
238
- }
239
-
240
- /* src/Gallery/index.module.css */
1
+ /* src/Gallery/styles.module.css */
241
2
  .gridRoot {
242
3
  display: grid;
243
4
  grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
@@ -313,23 +74,17 @@
313
74
  .gridSkeletonItem {
314
75
  position: relative;
315
76
  width: 100%;
316
- padding-bottom: 66.666%;
77
+ padding-bottom: var(--rmg-shimmer-padding-bottom, 66.666%);
317
78
  border-radius: var(--rmg-shimmer-radius, 8px);
318
79
  overflow: hidden;
319
- --rmg-shimmer-c1: #f0f2f5;
320
- --rmg-shimmer-c2: #e6e9ef;
321
- --rmg-shimmer-c3: #f0f2f5;
322
- --rmg-shimmer-size: 400% 100%;
323
- --rmg-shimmer-duration: 1.2s;
324
- --rmg-shimmer-timing: linear;
325
80
  background:
326
81
  linear-gradient(
327
82
  90deg,
328
- var(--rmg-shimmer-c1) 25%,
329
- var(--rmg-shimmer-c2) 37%,
330
- var(--rmg-shimmer-c3) 63%);
331
- background-size: var(--rmg-shimmer-size);
332
- animation: rmgShimmer var(--rmg-shimmer-duration) infinite var(--rmg-shimmer-timing);
83
+ var(--rmg-shimmer-c1, #f0f2f5) 25%,
84
+ var(--rmg-shimmer-c2, #e6e9ef) 37%,
85
+ var(--rmg-shimmer-c3, #f0f2f5) 63%);
86
+ background-size: var(--rmg-shimmer-size, 400% 100%);
87
+ animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
333
88
  }
334
89
  @keyframes rmgShimmer {
335
90
  0% {
@@ -439,18 +194,18 @@
439
194
  .entryRow {
440
195
  position: relative;
441
196
  }
442
- .entrySkeletonWrap {
443
- display: block;
444
- opacity: 1;
445
- transition: opacity 150ms linear;
446
- }
447
197
  .entryInner {
448
- position: absolute;
449
- inset: 0;
198
+ position: relative;
450
199
  opacity: 0;
451
- transform: var(--rmg-entry-intro-transform, translateY(30px) scale(0.99));
452
- will-change: opacity, transform;
200
+ transform: var(--rmg-entry-intro-transform, translateY(10px));
453
201
  pointer-events: none;
202
+ transition: opacity var(--rmg-entry-intro-duration, 700ms) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1)), transform var(--rmg-entry-intro-duration, 700ms) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1));
203
+ transition-delay: 0ms;
204
+ }
205
+ .entrySkeletonWrap {
206
+ display: block;
207
+ opacity: 1;
208
+ transition: opacity 150ms linear;
454
209
  }
455
210
  .entryRow[data-rmg-entry-ready="1"] .entrySkeletonWrap {
456
211
  position: absolute;
@@ -459,12 +214,9 @@
459
214
  pointer-events: none;
460
215
  }
461
216
  .entryRow[data-rmg-entry-ready="1"] .entryInner {
462
- position: relative;
463
- inset: auto;
464
217
  opacity: 1;
465
218
  transform: none;
466
219
  pointer-events: auto;
467
- transition: opacity var(--rmg-entry-intro-duration, 700ms) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1)), transform var(--rmg-entry-intro-duration, 700ms) var(--rmg-entry-intro-easing, cubic-bezier(.4,0,.22,1));
468
220
  transition-delay: calc(var(--rmg-entry-intro-index, 0) * var(--rmg-entry-intro-stagger, 200ms));
469
221
  }
470
222
  .entryList {
@@ -472,6 +224,13 @@
472
224
  flex-direction: column;
473
225
  gap: 1.5rem;
474
226
  }
227
+ .entrySkeletonMediaGrid {
228
+ width: 100%;
229
+ }
230
+ .entrySkeletonMedia {
231
+ width: 100%;
232
+ border-radius: 14px;
233
+ }
475
234
  .entryText {
476
235
  }
477
236
  .entryMedia {
@@ -582,6 +341,86 @@
582
341
  gap: 0.4rem;
583
342
  margin-bottom: 0.9rem;
584
343
  }
344
+ .sliderSkeletonOverlay {
345
+ position: absolute;
346
+ inset: 0;
347
+ z-index: 5;
348
+ pointer-events: none;
349
+ display: flex;
350
+ align-items: center;
351
+ justify-content: center;
352
+ }
353
+ .sliderSkeletonRow {
354
+ display: flex;
355
+ width: 100%;
356
+ gap: 0.75rem;
357
+ height: var(--rmg-slider-initial-height, var(--rmg-slider-height, 320px));
358
+ }
359
+ .sliderShell {
360
+ position: relative;
361
+ width: 100%;
362
+ min-height: var(--rmg-slider-initial-height, var(--rmg-slider-height, 320px));
363
+ height: var(--rmg-slider-height, var(--rmg-slider-initial-height, 320px));
364
+ }
365
+ .sliderSkeleton {
366
+ flex: 1 1 0;
367
+ height: 100%;
368
+ border-radius: var(--rmg-shimmer-radius, 10px);
369
+ overflow: hidden;
370
+ position: relative;
371
+ background:
372
+ linear-gradient(
373
+ 90deg,
374
+ var(--rmg-shimmer-c1, #f0f2f5) 25%,
375
+ var(--rmg-shimmer-c2, #e6e9ef) 37%,
376
+ var(--rmg-shimmer-c3, #f0f2f5) 63%);
377
+ background-size: var(--rmg-shimmer-size, 400% 100%);
378
+ animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
379
+ }
380
+ .thumbSkeletonOverlay {
381
+ position: absolute;
382
+ inset: 0;
383
+ z-index: 5;
384
+ pointer-events: none;
385
+ display: flex;
386
+ align-items: center;
387
+ justify-content: center;
388
+ padding: 0.5rem;
389
+ }
390
+ .thumbSkeletonRow {
391
+ display: flex;
392
+ width: 100%;
393
+ height: 100%;
394
+ }
395
+ .thumbSkeleton {
396
+ border-radius: 6px;
397
+ overflow: hidden;
398
+ position: relative;
399
+ background:
400
+ linear-gradient(
401
+ 90deg,
402
+ var(--rmg-shimmer-c1, #f0f2f5) 25%,
403
+ var(--rmg-shimmer-c2, #e6e9ef) 37%,
404
+ var(--rmg-shimmer-c3, #f0f2f5) 63%);
405
+ background-size: var(--rmg-shimmer-size, 400% 100%);
406
+ animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
407
+ }
408
+
409
+ /* src/Gallery/fullscreen/FullscreenSlider.module.css */
410
+ .rtl {
411
+ }
412
+ .track {
413
+ position: relative;
414
+ left: 0;
415
+ }
416
+ .rtl .track {
417
+ left: auto;
418
+ right: 0;
419
+ }
420
+ [data-rmg-plyr-provider=mp4] :global(.plyr__video-wrapper),
421
+ [data-rmg-plyr-provider=vimeo] :global(.plyr__video-wrapper) {
422
+ pointer-events: none !important;
423
+ }
585
424
 
586
425
  /* src/Gallery/slider/thumbnails/ThumbnailSlider.module.css */
587
426
  .thumb {
@@ -624,45 +463,6 @@
624
463
  .fadeInActive {
625
464
  transition: none;
626
465
  }
627
- .thumbSkeleton {
628
- animation: none;
629
- }
630
- }
631
- .thumbSkeletonOverlay {
632
- position: absolute;
633
- inset: 0;
634
- z-index: 5;
635
- pointer-events: none;
636
- display: flex;
637
- align-items: center;
638
- justify-content: center;
639
- padding: 0.5rem;
640
- }
641
- .thumbSkeletonRow {
642
- display: flex;
643
- width: 100%;
644
- height: 100%;
645
- }
646
- .thumbSkeleton {
647
- border-radius: 6px;
648
- overflow: hidden;
649
- position: relative;
650
- background:
651
- linear-gradient(
652
- 90deg,
653
- var(--rmg-shimmer-c1, #f0f2f5) 25%,
654
- var(--rmg-shimmer-c2, #e6e9ef) 37%,
655
- var(--rmg-shimmer-c3, #f0f2f5) 63%);
656
- background-size: var(--rmg-shimmer-size, 400% 100%);
657
- animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
658
- }
659
- @keyframes rmgShimmer {
660
- 0% {
661
- background-position: 200% 0;
662
- }
663
- 100% {
664
- background-position: -200% 0;
665
- }
666
466
  }
667
467
  .fade_container [data-rmg-thumb-index] > * {
668
468
  opacity: 0;
@@ -690,7 +490,7 @@
690
490
  }
691
491
  }
692
492
 
693
- /* src/Gallery/fullscreen/FullscreenSlider.module.css */
493
+ /* src/Gallery/slider/Slider.module.css */
694
494
  .rtl {
695
495
  }
696
496
  .track {
@@ -701,8 +501,175 @@
701
501
  left: auto;
702
502
  right: 0;
703
503
  }
704
- [data-rmg-plyr-provider=mp4] :global(.plyr__video-wrapper),
705
- [data-rmg-plyr-provider=vimeo] :global(.plyr__video-wrapper) {
706
- pointer-events: none !important;
504
+ .slider_container,
505
+ .fade_container {
506
+ height: var(--rmg-slider-height);
507
+ cursor: grab;
508
+ }
509
+ .viewport {
510
+ overflow: hidden;
511
+ height: 100%;
512
+ width: 100%;
513
+ position: relative;
514
+ }
515
+ .track {
516
+ position: relative;
517
+ height: 100%;
518
+ width: 100%;
519
+ will-change: transform;
520
+ transform: translate3d(0, 0, 0);
521
+ backface-visibility: hidden;
522
+ }
523
+ .fadeInStart {
524
+ opacity: 0;
525
+ }
526
+ .fadeInActive {
527
+ opacity: 1;
528
+ transition: opacity var(--rmg-intro-duration, 420ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
529
+ }
530
+ @media (prefers-reduced-motion: reduce) {
531
+ .fadeInActive {
532
+ transition: none;
533
+ }
534
+ }
535
+ .pagination_dot {
536
+ position: relative;
537
+ width: 14px;
538
+ height: 14px;
539
+ overflow: hidden;
540
+ border-radius: 50%;
541
+ margin: 5px 5px 5px 5px;
542
+ cursor: pointer;
543
+ transition:
544
+ transform 0.2s ease,
545
+ background-color 0.3s ease,
546
+ box-shadow 0.3s ease;
547
+ }
548
+ .pagination_dot:hover {
549
+ transform: scale(1.2);
550
+ }
551
+ .pagination_dot.active {
552
+ background-color: rgb(80, 163, 255);
553
+ box-shadow: 0 0 8px rgba(80, 163, 255, 0.6);
554
+ }
555
+ .pagination_dot.inactive {
556
+ background-color: lightgray;
557
+ }
558
+ .ripple {
559
+ position: absolute;
560
+ border-radius: 50%;
561
+ transform: scale(0);
562
+ animation: ripple 600ms linear;
563
+ background-color: rgba(0, 0, 0, 0.3);
564
+ pointer-events: none;
565
+ }
566
+ @keyframes ripple {
567
+ to {
568
+ transform: scale(4);
569
+ opacity: 0;
570
+ }
571
+ }
572
+ .fullscreenOverlay {
573
+ position: fixed;
574
+ inset: 0;
575
+ opacity: 0;
576
+ pointer-events: none;
577
+ background-color: rgba(0, 0, 0, 0.8);
578
+ transition: opacity 300ms cubic-bezier(.4, 0, .22, 1);
579
+ will-change: opacity;
580
+ z-index: 8999;
581
+ transform: translateZ(0);
582
+ backface-visibility: hidden;
583
+ contain: paint;
584
+ }
585
+ .open {
586
+ opacity: 1;
587
+ pointer-events: auto;
588
+ }
589
+ .duplicateImg {
590
+ position: fixed;
591
+ display: none;
592
+ transform-origin: top left;
593
+ transition: transform 0.3s cubic-bezier(.4, 0, .22, 1);
594
+ z-index: 9998;
595
+ will-change: transform;
596
+ }
597
+ .closeBtn,
598
+ .leftChevron,
599
+ .rightChevron,
600
+ .counter {
601
+ position: fixed;
602
+ display: none;
603
+ opacity: 0;
604
+ transition: opacity 0.3s cubic-bezier(.4, 0, .22, 1);
605
+ z-index: 2147483602;
606
+ }
607
+ .closeBtn.open,
608
+ .leftChevron.open,
609
+ .rightChevron.open,
610
+ .counter.open {
611
+ display: block;
612
+ opacity: 1;
613
+ }
614
+ .closeBtn {
615
+ top: 12px;
616
+ right: 12px;
617
+ background: transparent;
618
+ border: none;
619
+ padding: 0;
620
+ width: 35px;
621
+ height: 35px;
622
+ cursor: pointer;
623
+ }
624
+ .leftChevron,
625
+ .rightChevron {
626
+ top: 45.5%;
627
+ width: 50px;
628
+ height: 50px;
629
+ cursor: pointer;
630
+ background-color: transparent;
631
+ border: none;
632
+ }
633
+ .leftChevron {
634
+ left: 0;
635
+ transform: rotate(180deg);
636
+ }
637
+ .rightChevron {
638
+ right: 0;
639
+ }
640
+ .counter {
641
+ top: 15px;
642
+ left: 16px;
643
+ color: #fff;
644
+ font-size: 14px;
645
+ line-height: 32px;
646
+ user-select: none;
647
+ text-shadow: 1px 1px 3px #4f4f4f;
648
+ }
649
+ .fsOverlayCaption {
650
+ position: fixed;
651
+ padding: 1rem 1.5rem;
652
+ color: #fff;
653
+ font-size: 0.875rem;
654
+ pointer-events: none;
655
+ opacity: 0;
656
+ transform: translateY(8px);
657
+ transition: opacity 300ms cubic-bezier(.4, 0, .22, 1), transform 300ms cubic-bezier(.4, 0, .22, 1);
658
+ z-index: 9999;
659
+ }
660
+ .fsOverlayCaption.open {
661
+ opacity: 1;
662
+ transform: translateY(0);
663
+ }
664
+ .fade_container [data-rmg-idx] > * {
665
+ opacity: 0;
666
+ transform: translateY(var(--rmg-intro-offset, 10px));
667
+ transition: opacity var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)), transform var(--rmg-intro-duration, 300) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
668
+ transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
669
+ will-change: opacity, transform;
670
+ }
671
+ .fade_container.fadeInActive [data-rmg-idx] > * {
672
+ opacity: 1;
673
+ transform: translateY(0);
707
674
  }
708
675
  /*# sourceMappingURL=index.css.map */