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.css CHANGED
@@ -1,60 +1,81 @@
1
- /* src/Gallery/fullscreen/FullscreenSlider.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
- [data-rmg-plyr-provider=mp4] :global(.plyr__video-wrapper),
13
- [data-rmg-plyr-provider=vimeo] :global(.plyr__video-wrapper) {
14
- pointer-events: none !important;
1
+ /* src/Gallery/styles.module.css */
2
+ .gridRoot {
3
+ display: grid;
4
+ grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
5
+ gap: var(--rmg-grid-gap, 8px);
15
6
  }
16
-
17
- /* src/Gallery/slider/Slider.module.css */
18
- .rtl {
7
+ .grid {
8
+ display: grid;
9
+ grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
10
+ gap: var(--rmg-grid-gap, 8px);
19
11
  }
20
- .track {
12
+ .gridItem {
21
13
  position: relative;
22
- left: 0;
23
- }
24
- .rtl .track {
25
- left: auto;
26
- right: 0;
14
+ display: block;
15
+ cursor: pointer;
27
16
  }
28
- .slider_container,
29
- .fade_container {
30
- height: var(--rmg-slider-height);
31
- cursor: grab;
17
+ .gridItem img,
18
+ .gridItem video {
19
+ display: block;
20
+ width: 100%;
21
+ height: auto;
22
+ object-fit: cover;
32
23
  }
33
- .viewport {
34
- overflow: hidden;
35
- height: 100%;
24
+ .masonryRoot {
25
+ display: flex;
26
+ align-items: flex-start;
36
27
  width: 100%;
37
- position: relative;
28
+ column-gap: var(--rmg-masonry-gap, 8px);
38
29
  }
39
- .track {
30
+ .masonryCol {
31
+ flex: 1;
32
+ min-width: 0;
33
+ display: flex;
34
+ flex-direction: column;
35
+ }
36
+ .masonryItem {
40
37
  position: relative;
41
- height: 100%;
38
+ display: block;
39
+ cursor: pointer;
40
+ }
41
+ .masonryItem img,
42
+ .masonryItem video {
43
+ display: block;
42
44
  width: 100%;
43
- will-change: transform;
44
- transform: translate3d(0, 0, 0);
45
- backface-visibility: hidden;
45
+ object-fit: cover;
46
46
  }
47
- .fadeInStart {
47
+ .introContainer {
48
48
  opacity: 0;
49
49
  }
50
- .fadeInActive {
50
+ .introActive {
51
51
  opacity: 1;
52
52
  transition: opacity var(--rmg-intro-duration, 420ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
53
53
  }
54
- .shimmerOverlay {
55
- position: absolute;
56
- inset: 0;
57
- border-radius: var(--rmg-shimmer-radius, 10px);
54
+ .introContainer [data-rmg-idx] {
55
+ opacity: 0;
56
+ transform: var(--rmg-intro-transform, translateY(10px) scale(0.99));
57
+ transition: opacity 300ms cubic-bezier(.4, 0, .22, 1), transform 300ms cubic-bezier(.4, 0, .22, 1);
58
+ transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
59
+ will-change: opacity, transform;
60
+ }
61
+ .introContainer.introActive [data-rmg-idx] {
62
+ opacity: 1;
63
+ transform: none;
64
+ }
65
+ .gridSkeletonOverlay {
66
+ position: relative;
67
+ width: 100%;
68
+ }
69
+ .gridSkeletonGrid {
70
+ display: grid;
71
+ grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
72
+ gap: var(--rmg-grid-gap, 8px);
73
+ }
74
+ .gridSkeletonItem {
75
+ position: relative;
76
+ width: 100%;
77
+ padding-bottom: var(--rmg-shimmer-padding-bottom, 66.666%);
78
+ border-radius: var(--rmg-shimmer-radius, 8px);
58
79
  overflow: hidden;
59
80
  background:
60
81
  linear-gradient(
@@ -67,57 +88,17 @@
67
88
  }
68
89
  @keyframes rmgShimmer {
69
90
  0% {
70
- background-position: 200% 0;
91
+ background-position: -200% 0;
71
92
  }
72
93
  100% {
73
- background-position: -200% 0;
94
+ background-position: 200% 0;
74
95
  }
75
96
  }
76
97
  @media (prefers-reduced-motion: reduce) {
77
- .fadeInActive {
78
- transition: none;
79
- }
80
- .shimmerOverlay {
98
+ .gridSkeletonItem {
81
99
  animation: none;
82
100
  }
83
101
  }
84
- .pagination_dot {
85
- position: relative;
86
- width: 14px;
87
- height: 14px;
88
- overflow: hidden;
89
- border-radius: 50%;
90
- margin: 5px 5px 5px 5px;
91
- cursor: pointer;
92
- transition:
93
- transform 0.2s ease,
94
- background-color 0.3s ease,
95
- box-shadow 0.3s ease;
96
- }
97
- .pagination_dot:hover {
98
- transform: scale(1.2);
99
- }
100
- .pagination_dot.active {
101
- background-color: rgb(80, 163, 255);
102
- box-shadow: 0 0 8px rgba(80, 163, 255, 0.6);
103
- }
104
- .pagination_dot.inactive {
105
- background-color: lightgray;
106
- }
107
- .ripple {
108
- position: absolute;
109
- border-radius: 50%;
110
- transform: scale(0);
111
- animation: ripple 600ms linear;
112
- background-color: rgba(0, 0, 0, 0.3);
113
- pointer-events: none;
114
- }
115
- @keyframes ripple {
116
- to {
117
- transform: scale(4);
118
- opacity: 0;
119
- }
120
- }
121
102
  .fullscreenOverlay {
122
103
  position: fixed;
123
104
  inset: 0;
@@ -148,8 +129,8 @@
148
129
  .rightChevron,
149
130
  .counter {
150
131
  position: fixed;
151
- display: none;
152
132
  opacity: 0;
133
+ pointer-events: none;
153
134
  transition: opacity 0.3s cubic-bezier(.4, 0, .22, 1);
154
135
  z-index: 2147483602;
155
136
  }
@@ -157,8 +138,8 @@
157
138
  .leftChevron.open,
158
139
  .rightChevron.open,
159
140
  .counter.open {
160
- display: block;
161
141
  opacity: 1;
142
+ pointer-events: auto;
162
143
  }
163
144
  .closeBtn {
164
145
  top: 12px;
@@ -210,154 +191,382 @@
210
191
  opacity: 1;
211
192
  transform: translateY(0);
212
193
  }
213
- .sliderSkeletonOverlay {
194
+ .entryRow {
195
+ position: relative;
196
+ }
197
+ .entryInner {
198
+ position: relative;
199
+ opacity: 0;
200
+ transform: var(--rmg-entry-intro-transform, translateY(10px));
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;
209
+ }
210
+ .entryRow[data-rmg-entry-ready="1"] .entrySkeletonWrap {
214
211
  position: absolute;
215
212
  inset: 0;
216
- z-index: 5;
213
+ opacity: 0;
217
214
  pointer-events: none;
218
- display: flex;
219
- align-items: center;
220
- justify-content: center;
221
- padding: 0 1rem;
222
215
  }
223
- .sliderSkeletonRow {
216
+ .entryRow[data-rmg-entry-ready="1"] .entryInner {
217
+ opacity: 1;
218
+ transform: none;
219
+ pointer-events: auto;
220
+ transition-delay: calc(var(--rmg-entry-intro-index, 0) * var(--rmg-entry-intro-stagger, 200ms));
221
+ }
222
+ .entryList {
224
223
  display: flex;
224
+ flex-direction: column;
225
+ gap: 1.5rem;
226
+ }
227
+ .entrySkeletonMediaGrid {
225
228
  width: 100%;
226
- gap: 0.75rem;
227
- height: var(--rmg-slider-height, 320px);
228
229
  }
229
- .sliderSkeleton {
230
- flex: 1 1 0;
231
- height: 100%;
232
- border-radius: var(--rmg-shimmer-radius, 10px);
233
- overflow: hidden;
234
- position: relative;
235
- background:
236
- linear-gradient(
237
- 90deg,
238
- var(--rmg-shimmer-c1, #f0f2f5) 25%,
239
- var(--rmg-shimmer-c2, #e6e9ef) 37%,
240
- var(--rmg-shimmer-c3, #f0f2f5) 63%);
241
- background-size: var(--rmg-shimmer-size, 400% 100%);
242
- animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
230
+ .entrySkeletonMedia {
231
+ width: 100%;
232
+ border-radius: 14px;
243
233
  }
244
- .fade_container [data-rmg-idx] > * {
245
- opacity: 0;
246
- transform: translateY(var(--rmg-intro-offset, 10px));
247
- 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));
248
- transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
249
- will-change: opacity, transform;
234
+ .entryText {
250
235
  }
251
- .fade_container.fadeInActive [data-rmg-idx] > * {
252
- opacity: 1;
253
- transform: translateY(0);
236
+ .entryMedia {
254
237
  }
255
-
256
- /* src/Gallery/index.module.css */
257
- .gridRoot {
258
- display: grid;
259
- grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
260
- gap: var(--rmg-grid-gap, 8px);
238
+ .entryMediaSlider {
239
+ display: flex;
240
+ gap: 0.75rem;
241
+ overflow-x: auto;
242
+ padding-bottom: 0.25rem;
261
243
  }
262
- .grid {
244
+ .gridEntryRoot {
263
245
  display: grid;
264
- grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
265
246
  gap: var(--rmg-grid-gap, 8px);
247
+ grid-template-columns: repeat(auto-fit, minmax(var(--rmg-grid-min, 160px), 1fr));
266
248
  }
267
- .gridItem {
249
+ .gridEntryItem {
268
250
  position: relative;
269
251
  display: block;
252
+ width: 100%;
253
+ padding: 0;
254
+ border: 0;
255
+ background: transparent;
256
+ border-radius: 12px;
257
+ overflow: hidden;
270
258
  cursor: pointer;
259
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
260
+ border: 1px solid rgba(0, 0, 0, 0.08);
271
261
  }
272
- .gridItem img,
273
- .gridItem video {
262
+ .gridEntryItem img,
263
+ .gridEntryItem video {
274
264
  display: block;
275
265
  width: 100%;
276
- height: auto;
277
266
  object-fit: cover;
267
+ background: rgba(0, 0, 0, 0.04);
278
268
  }
279
- .masonryRoot {
280
- display: flex;
281
- align-items: flex-start;
269
+ .entryMasonry img {
270
+ cursor: pointer;
271
+ }
272
+ .entryMediaItem img {
273
+ display: block;
282
274
  width: 100%;
283
- column-gap: var(--rmg-masonry-gap, 8px);
275
+ height: auto;
276
+ border-radius: 0.5rem;
284
277
  }
285
- .masonryCol {
286
- flex: 1;
287
- min-width: 0;
288
- display: flex;
278
+ .entrySkeletonShimmer {
279
+ position: relative;
280
+ overflow: hidden;
281
+ border-radius: inherit;
282
+ --rmg-shimmer-c1: #f0f2f5;
283
+ --rmg-shimmer-c2: #e6e9ef;
284
+ --rmg-shimmer-c3: #f0f2f5;
285
+ --rmg-shimmer-size: 400% 100%;
286
+ --rmg-shimmer-duration: 1.2s;
287
+ --rmg-shimmer-timing: linear;
288
+ background:
289
+ linear-gradient(
290
+ 90deg,
291
+ var(--rmg-shimmer-c1) 25%,
292
+ var(--rmg-shimmer-c2) 37%,
293
+ var(--rmg-shimmer-c3) 63%);
294
+ background-size: var(--rmg-shimmer-size);
295
+ animation: rmgShimmer var(--rmg-shimmer-duration) infinite var(--rmg-shimmer-timing);
296
+ }
297
+ .entrySkeletonList {
298
+ display: flex;
289
299
  flex-direction: column;
300
+ gap: 1.5rem;
301
+ padding: 0.75rem 0;
290
302
  }
291
- .masonryItem {
303
+ .entrySkeletonCard {
292
304
  position: relative;
293
- display: block;
294
- cursor: pointer;
305
+ overflow: hidden;
306
+ border-radius: 12px;
307
+ padding: 1rem 1.25rem;
308
+ background: var(--rmg-skel-bg, rgba(255, 255, 255, 0.03));
295
309
  }
296
- .masonryItem img,
297
- .masonryItem video {
310
+ .entrySkeletonHeader {
311
+ display: flex;
312
+ align-items: center;
313
+ gap: 0.75rem;
314
+ margin-bottom: 0.75rem;
315
+ }
316
+ .entrySkeletonLines {
317
+ flex: 1;
318
+ display: flex;
319
+ flex-direction: column;
320
+ gap: 0.35rem;
321
+ }
322
+ .entrySkeletonAvatar {
323
+ width: 40px;
324
+ height: 40px;
325
+ border-radius: 999px;
326
+ }
327
+ .entrySkeletonLineShort,
328
+ .entrySkeletonLineLong,
329
+ .entrySkeletonLineMedium {
330
+ height: 10px;
331
+ border-radius: 999px;
332
+ }
333
+ .entrySkeletonMedia {
334
+ width: 100%;
335
+ height: 140px;
336
+ border-radius: 10px;
337
+ }
338
+ .entrySkeletonBody {
339
+ display: flex;
340
+ flex-direction: column;
341
+ gap: 0.4rem;
342
+ margin-bottom: 0.9rem;
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
+ }
424
+
425
+ /* src/Gallery/slider/thumbnails/ThumbnailSlider.module.css */
426
+ .thumb {
427
+ position: relative;
428
+ border: 1px solid rgba(0, 0, 0, .12);
429
+ border-radius: 6px;
430
+ overflow: hidden;
431
+ box-sizing: border-box;
432
+ }
433
+ .thumb::after {
434
+ content: "";
435
+ position: absolute;
436
+ inset: 0;
437
+ border-radius: inherit;
438
+ pointer-events: none;
439
+ box-shadow: 0 0 0 2px #111 inset;
440
+ opacity: 0;
441
+ transition: opacity 120ms ease;
442
+ z-index: 1;
443
+ }
444
+ .thumb[data-active=true]::after {
445
+ opacity: 1;
446
+ }
447
+ .thumb :global(img) {
298
448
  display: block;
299
449
  width: 100%;
450
+ height: 100%;
300
451
  object-fit: cover;
452
+ position: relative;
453
+ z-index: 0;
301
454
  }
302
- .introContainer {
455
+ .fadeInStart {
303
456
  opacity: 0;
304
457
  }
305
- .introActive {
458
+ .fadeInActive {
306
459
  opacity: 1;
307
460
  transition: opacity var(--rmg-intro-duration, 420ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
308
461
  }
309
- .introContainer [data-rmg-idx] {
462
+ @media (prefers-reduced-motion: reduce) {
463
+ .fadeInActive {
464
+ transition: none;
465
+ }
466
+ }
467
+ .fade_container [data-rmg-thumb-index] > * {
310
468
  opacity: 0;
311
- transform: var(--rmg-intro-transform, translateY(10px) scale(0.99));
312
- transition: opacity 300ms cubic-bezier(.4, 0, .22, 1), transform 300ms cubic-bezier(.4, 0, .22, 1);
469
+ transform: translateY(var(--rmg-intro-transform, 10px));
470
+ transition: opacity var(--rmg-intro-duration, 300ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)), transform var(--rmg-intro-duration, 300ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
313
471
  transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
314
472
  will-change: opacity, transform;
315
473
  }
316
- .introContainer.introActive [data-rmg-idx] {
474
+ .fade_container.fadeInActive [data-rmg-thumb-index] > * {
317
475
  opacity: 1;
318
- transform: none;
476
+ transform: translateY(0);
319
477
  }
320
- .gridSkeletonOverlay {
478
+ .ripple {
479
+ position: absolute;
480
+ border-radius: 50%;
481
+ transform: scale(0);
482
+ animation: ripple 600ms linear;
483
+ background-color: rgba(0, 0, 0, 0.3);
484
+ pointer-events: none;
485
+ }
486
+ @keyframes ripple {
487
+ to {
488
+ transform: scale(4);
489
+ opacity: 0;
490
+ }
491
+ }
492
+
493
+ /* src/Gallery/slider/Slider.module.css */
494
+ .rtl {
495
+ }
496
+ .track {
321
497
  position: relative;
322
- width: 100%;
498
+ left: 0;
323
499
  }
324
- .gridSkeletonGrid {
325
- display: grid;
326
- grid-template-columns: repeat(auto-fill, minmax(var(--rmg-grid-min, 160px), 1fr));
327
- gap: var(--rmg-grid-gap, 8px);
500
+ .rtl .track {
501
+ left: auto;
502
+ right: 0;
328
503
  }
329
- .gridSkeletonItem {
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 {
330
516
  position: relative;
517
+ height: 100%;
331
518
  width: 100%;
332
- padding-bottom: 66.666%;
333
- border-radius: var(--rmg-shimmer-radius, 8px);
334
- overflow: hidden;
335
- --rmg-shimmer-c1: #f0f2f5;
336
- --rmg-shimmer-c2: #e6e9ef;
337
- --rmg-shimmer-c3: #f0f2f5;
338
- --rmg-shimmer-size: 400% 100%;
339
- --rmg-shimmer-duration: 1.2s;
340
- --rmg-shimmer-timing: linear;
341
- background:
342
- linear-gradient(
343
- 90deg,
344
- var(--rmg-shimmer-c1) 25%,
345
- var(--rmg-shimmer-c2) 37%,
346
- var(--rmg-shimmer-c3) 63%);
347
- background-size: var(--rmg-shimmer-size);
348
- animation: rmgShimmer var(--rmg-shimmer-duration) infinite var(--rmg-shimmer-timing);
519
+ will-change: transform;
520
+ transform: translate3d(0, 0, 0);
521
+ backface-visibility: hidden;
349
522
  }
350
- @keyframes rmgShimmer {
351
- 0% {
352
- background-position: -200% 0;
353
- }
354
- 100% {
355
- background-position: 200% 0;
356
- }
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));
357
529
  }
358
530
  @media (prefers-reduced-motion: reduce) {
359
- .gridSkeletonItem {
360
- animation: none;
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;
361
570
  }
362
571
  }
363
572
  .fullscreenOverlay {
@@ -390,8 +599,8 @@
390
599
  .rightChevron,
391
600
  .counter {
392
601
  position: fixed;
602
+ display: none;
393
603
  opacity: 0;
394
- pointer-events: none;
395
604
  transition: opacity 0.3s cubic-bezier(.4, 0, .22, 1);
396
605
  z-index: 2147483602;
397
606
  }
@@ -399,8 +608,8 @@
399
608
  .leftChevron.open,
400
609
  .rightChevron.open,
401
610
  .counter.open {
611
+ display: block;
402
612
  opacity: 1;
403
- pointer-events: auto;
404
613
  }
405
614
  .closeBtn {
406
615
  top: 12px;
@@ -452,257 +661,15 @@
452
661
  opacity: 1;
453
662
  transform: translateY(0);
454
663
  }
455
- .entryRow {
456
- position: relative;
457
- }
458
- .entrySkeletonWrap {
459
- display: block;
460
- opacity: 1;
461
- transition: opacity 150ms linear;
462
- }
463
- .entryInner {
464
- position: absolute;
465
- inset: 0;
466
- opacity: 0;
467
- transform: var(--rmg-entry-intro-transform, translateY(30px) scale(0.99));
468
- will-change: opacity, transform;
469
- pointer-events: none;
470
- }
471
- .entryRow[data-rmg-entry-ready="1"] .entrySkeletonWrap {
472
- position: absolute;
473
- inset: 0;
474
- opacity: 0;
475
- pointer-events: none;
476
- }
477
- .entryRow[data-rmg-entry-ready="1"] .entryInner {
478
- position: relative;
479
- inset: auto;
480
- opacity: 1;
481
- transform: none;
482
- pointer-events: auto;
483
- 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));
484
- transition-delay: calc(var(--rmg-entry-intro-index, 0) * var(--rmg-entry-intro-stagger, 200ms));
485
- }
486
- .entryList {
487
- display: flex;
488
- flex-direction: column;
489
- gap: 1.5rem;
490
- }
491
- .entryText {
492
- }
493
- .entryMedia {
494
- }
495
- .entryMediaSlider {
496
- display: flex;
497
- gap: 0.75rem;
498
- overflow-x: auto;
499
- padding-bottom: 0.25rem;
500
- }
501
- .gridEntryRoot {
502
- display: grid;
503
- gap: var(--rmg-grid-gap, 8px);
504
- grid-template-columns: repeat(auto-fit, minmax(var(--rmg-grid-min, 160px), 1fr));
505
- }
506
- .gridEntryItem {
507
- position: relative;
508
- display: block;
509
- width: 100%;
510
- padding: 0;
511
- border: 0;
512
- background: transparent;
513
- border-radius: 12px;
514
- overflow: hidden;
515
- cursor: pointer;
516
- box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
517
- border: 1px solid rgba(0, 0, 0, 0.08);
518
- }
519
- .gridEntryItem img,
520
- .gridEntryItem video {
521
- display: block;
522
- width: 100%;
523
- object-fit: cover;
524
- background: rgba(0, 0, 0, 0.04);
525
- }
526
- .entryMasonry img {
527
- cursor: pointer;
528
- }
529
- .entryMediaItem img {
530
- display: block;
531
- width: 100%;
532
- height: auto;
533
- border-radius: 0.5rem;
534
- }
535
- .entrySkeletonShimmer {
536
- position: relative;
537
- overflow: hidden;
538
- border-radius: inherit;
539
- --rmg-shimmer-c1: #f0f2f5;
540
- --rmg-shimmer-c2: #e6e9ef;
541
- --rmg-shimmer-c3: #f0f2f5;
542
- --rmg-shimmer-size: 400% 100%;
543
- --rmg-shimmer-duration: 1.2s;
544
- --rmg-shimmer-timing: linear;
545
- background:
546
- linear-gradient(
547
- 90deg,
548
- var(--rmg-shimmer-c1) 25%,
549
- var(--rmg-shimmer-c2) 37%,
550
- var(--rmg-shimmer-c3) 63%);
551
- background-size: var(--rmg-shimmer-size);
552
- animation: rmgShimmer var(--rmg-shimmer-duration) infinite var(--rmg-shimmer-timing);
553
- }
554
- .entrySkeletonList {
555
- display: flex;
556
- flex-direction: column;
557
- gap: 1.5rem;
558
- padding: 0.75rem 0;
559
- }
560
- .entrySkeletonCard {
561
- position: relative;
562
- overflow: hidden;
563
- border-radius: 12px;
564
- padding: 1rem 1.25rem;
565
- background: var(--rmg-skel-bg, rgba(255, 255, 255, 0.03));
566
- }
567
- .entrySkeletonHeader {
568
- display: flex;
569
- align-items: center;
570
- gap: 0.75rem;
571
- margin-bottom: 0.75rem;
572
- }
573
- .entrySkeletonLines {
574
- flex: 1;
575
- display: flex;
576
- flex-direction: column;
577
- gap: 0.35rem;
578
- }
579
- .entrySkeletonAvatar {
580
- width: 40px;
581
- height: 40px;
582
- border-radius: 999px;
583
- }
584
- .entrySkeletonLineShort,
585
- .entrySkeletonLineLong,
586
- .entrySkeletonLineMedium {
587
- height: 10px;
588
- border-radius: 999px;
589
- }
590
- .entrySkeletonMedia {
591
- width: 100%;
592
- height: 140px;
593
- border-radius: 10px;
594
- }
595
- .entrySkeletonBody {
596
- display: flex;
597
- flex-direction: column;
598
- gap: 0.4rem;
599
- margin-bottom: 0.9rem;
600
- }
601
-
602
- /* src/Gallery/slider/thumbnails/ThumbnailSlider.module.css */
603
- .thumb {
604
- position: relative;
605
- border: 1px solid rgba(0, 0, 0, .12);
606
- border-radius: 6px;
607
- overflow: hidden;
608
- box-sizing: border-box;
609
- }
610
- .thumb::after {
611
- content: "";
612
- position: absolute;
613
- inset: 0;
614
- border-radius: inherit;
615
- pointer-events: none;
616
- box-shadow: 0 0 0 2px #111 inset;
617
- opacity: 0;
618
- transition: opacity 120ms ease;
619
- z-index: 1;
620
- }
621
- .thumb[data-active=true]::after {
622
- opacity: 1;
623
- }
624
- .thumb :global(img) {
625
- display: block;
626
- width: 100%;
627
- height: 100%;
628
- object-fit: cover;
629
- position: relative;
630
- z-index: 0;
631
- }
632
- .fadeInStart {
633
- opacity: 0;
634
- }
635
- .fadeInActive {
636
- opacity: 1;
637
- transition: opacity var(--rmg-intro-duration, 420ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
638
- }
639
- @media (prefers-reduced-motion: reduce) {
640
- .fadeInActive {
641
- transition: none;
642
- }
643
- .thumbSkeleton {
644
- animation: none;
645
- }
646
- }
647
- .thumbSkeletonOverlay {
648
- position: absolute;
649
- inset: 0;
650
- z-index: 5;
651
- pointer-events: none;
652
- display: flex;
653
- align-items: center;
654
- justify-content: center;
655
- padding: 0.5rem;
656
- }
657
- .thumbSkeletonRow {
658
- display: flex;
659
- width: 100%;
660
- height: 100%;
661
- }
662
- .thumbSkeleton {
663
- border-radius: 6px;
664
- overflow: hidden;
665
- position: relative;
666
- background:
667
- linear-gradient(
668
- 90deg,
669
- var(--rmg-shimmer-c1, #f0f2f5) 25%,
670
- var(--rmg-shimmer-c2, #e6e9ef) 37%,
671
- var(--rmg-shimmer-c3, #f0f2f5) 63%);
672
- background-size: var(--rmg-shimmer-size, 400% 100%);
673
- animation: rmgShimmer var(--rmg-shimmer-duration, 1.2s) infinite var(--rmg-shimmer-timing, linear);
674
- }
675
- @keyframes rmgShimmer {
676
- 0% {
677
- background-position: 200% 0;
678
- }
679
- 100% {
680
- background-position: -200% 0;
681
- }
682
- }
683
- .fade_container [data-rmg-thumb-index] > * {
664
+ .fade_container [data-rmg-idx] > * {
684
665
  opacity: 0;
685
- transform: translateY(var(--rmg-intro-transform, 10px));
686
- transition: opacity var(--rmg-intro-duration, 300ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1)), transform var(--rmg-intro-duration, 300ms) var(--rmg-intro-easing, cubic-bezier(.2,.7,.2,1));
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));
687
668
  transition-delay: calc(var(--rmg-intro-index, 0) * var(--rmg-intro-stagger, 40ms));
688
669
  will-change: opacity, transform;
689
670
  }
690
- .fade_container.fadeInActive [data-rmg-thumb-index] > * {
671
+ .fade_container.fadeInActive [data-rmg-idx] > * {
691
672
  opacity: 1;
692
673
  transform: translateY(0);
693
674
  }
694
- .ripple {
695
- position: absolute;
696
- border-radius: 50%;
697
- transform: scale(0);
698
- animation: ripple 600ms linear;
699
- background-color: rgba(0, 0, 0, 0.3);
700
- pointer-events: none;
701
- }
702
- @keyframes ripple {
703
- to {
704
- transform: scale(4);
705
- opacity: 0;
706
- }
707
- }
708
675
  /*# sourceMappingURL=index.css.map */