react-motion-gallery 2.0.18 → 2.0.20

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.
Files changed (208) hide show
  1. package/LICENSE.md +13 -3
  2. package/README.md +747 -195
  3. package/THIRD_PARTY_NOTICES.md +31 -0
  4. package/dist/FullscreenRuntime-GNH22QHC.mjs +4 -0
  5. package/dist/FullscreenRuntime-QX6YELBN.css +1 -0
  6. package/dist/GridSkeleton-Dn7N-TEh.d.mts +23 -0
  7. package/dist/MasonrySkeleton-ftJdtDLs.d.mts +29 -0
  8. package/dist/chunk-3YENO5LQ.mjs +1 -0
  9. package/dist/chunk-4NT4UVB5.mjs +1 -0
  10. package/dist/chunk-4VHNCVVB.mjs +0 -0
  11. package/dist/chunk-6CJ7JFOA.mjs +1 -0
  12. package/dist/chunk-6FFRWH2C.mjs +1 -0
  13. package/dist/chunk-6ZNRPJC2.mjs +6 -0
  14. package/dist/chunk-ADIHG7AT.mjs +1 -0
  15. package/dist/chunk-AKY343WN.mjs +1 -0
  16. package/dist/chunk-ASH5AOA4.mjs +1 -0
  17. package/dist/chunk-AX2FSVFD.mjs +2 -0
  18. package/dist/chunk-B4CC5AGE.mjs +1 -0
  19. package/dist/chunk-BJBHSWMF.mjs +1 -0
  20. package/dist/chunk-C6PKH3FH.mjs +1 -0
  21. package/dist/chunk-CR2MZG3Q.mjs +1 -0
  22. package/dist/chunk-D3T6HIS2.mjs +1 -0
  23. package/dist/chunk-DCUCXQHE.mjs +3 -0
  24. package/dist/chunk-DCY4ZVYI.mjs +1 -0
  25. package/dist/chunk-EFXHC36P.mjs +0 -0
  26. package/dist/chunk-GUNIA4DZ.mjs +1 -0
  27. package/dist/chunk-H6XFG3CJ.mjs +1 -0
  28. package/dist/chunk-HGY3QLCE.mjs +1 -0
  29. package/dist/chunk-HK2DPKES.mjs +1 -0
  30. package/dist/chunk-IT7HWE4G.mjs +1 -0
  31. package/dist/chunk-J2ZX5I7E.mjs +5 -0
  32. package/dist/chunk-JJMFOLJZ.mjs +1 -0
  33. package/dist/chunk-L2HRIINV.mjs +1 -0
  34. package/dist/chunk-L4TRPKGX.mjs +4 -0
  35. package/dist/chunk-NHIKOJLU.mjs +1 -0
  36. package/dist/chunk-NQI246HG.mjs +1 -0
  37. package/dist/chunk-OHD2HQP7.mjs +4 -0
  38. package/dist/chunk-OWKZOHPK.mjs +3 -0
  39. package/dist/chunk-PFEGIWQJ.mjs +1 -0
  40. package/dist/chunk-Q5WUKZ2J.mjs +4 -0
  41. package/dist/chunk-R6EGYRTJ.mjs +6 -0
  42. package/dist/chunk-RLT5FULN.mjs +0 -0
  43. package/dist/chunk-RNLUNA5L.mjs +2 -0
  44. package/dist/chunk-STRS7UNJ.mjs +1 -0
  45. package/dist/chunk-TIQVSK5S.mjs +1 -0
  46. package/dist/chunk-UAEPMZQY.mjs +1 -0
  47. package/dist/chunk-UML6FCOQ.mjs +1 -0
  48. package/dist/chunk-UP6P6CQS.mjs +2 -0
  49. package/dist/chunk-UUAWLGWO.mjs +1 -0
  50. package/dist/chunk-V25YIPLC.mjs +1 -0
  51. package/dist/chunk-V7DPXRZF.mjs +1 -0
  52. package/dist/chunk-VEXMXZJM.mjs +4 -0
  53. package/dist/chunk-VGXO2IAF.mjs +1 -0
  54. package/dist/chunk-VWEQRZ24.mjs +1 -0
  55. package/dist/chunk-VXMW2JT5.mjs +1 -0
  56. package/dist/chunk-WGVWASZM.mjs +1 -0
  57. package/dist/chunk-WMG2LTLR.mjs +1 -0
  58. package/dist/chunk-XUQO5F2F.mjs +1 -0
  59. package/dist/chunk-Y7NUGXTR.mjs +1 -0
  60. package/dist/chunk-Z34PSRMG.mjs +1 -0
  61. package/dist/chunk-ZCCYTID7.mjs +1 -0
  62. package/dist/chunk-ZOFTC6YV.mjs +1 -0
  63. package/dist/core.d.mts +32 -21
  64. package/dist/core.mjs +1 -1
  65. package/dist/entries.css +1 -1
  66. package/dist/entries.d.mts +74 -11
  67. package/dist/entries.mjs +1 -1
  68. package/dist/force-C5m1QpdF.d.mts +7 -0
  69. package/dist/fullscreen-captions.css +1 -0
  70. package/dist/fullscreen-captions.d.mts +19 -0
  71. package/dist/fullscreen-captions.mjs +1 -0
  72. package/dist/fullscreen-controls.d.mts +19 -0
  73. package/dist/fullscreen-controls.mjs +1 -0
  74. package/dist/fullscreen-crossfade.d.mts +19 -0
  75. package/dist/fullscreen-crossfade.mjs +1 -0
  76. package/dist/fullscreen-lazy-load.css +1 -0
  77. package/dist/fullscreen-lazy-load.d.mts +19 -0
  78. package/dist/fullscreen-lazy-load.mjs +1 -0
  79. package/dist/fullscreen-slider.css +1 -0
  80. package/dist/fullscreen-slider.d.mts +19 -0
  81. package/dist/fullscreen-slider.mjs +1 -0
  82. package/dist/fullscreen-thumbnails.d.mts +19 -0
  83. package/dist/fullscreen-thumbnails.mjs +1 -0
  84. package/dist/fullscreen-video.css +1 -0
  85. package/dist/fullscreen-video.d.mts +19 -0
  86. package/dist/fullscreen-video.mjs +1 -0
  87. package/dist/fullscreen-zoom-pan.d.mts +19 -0
  88. package/dist/fullscreen-zoom-pan.mjs +1 -0
  89. package/dist/fullscreen.css +1 -1
  90. package/dist/fullscreen.d.mts +39 -178
  91. package/dist/fullscreen.mjs +1 -1
  92. package/dist/fullscreenThumbnails.css +1 -1
  93. package/dist/fullscreenThumbnails.d.mts +9 -6
  94. package/dist/fullscreenThumbnails.mjs +1 -1
  95. package/dist/grid-ready.d.mts +13 -0
  96. package/dist/grid-ready.mjs +1 -0
  97. package/dist/grid.css +1 -1
  98. package/dist/grid.d.mts +9 -126
  99. package/dist/grid.mjs +1 -1
  100. package/dist/index-Cp40fdvU.d.mts +21 -0
  101. package/dist/{index-DUP4I_sT.d.mts → index-YphJztdR.d.mts} +5 -6
  102. package/dist/index.css +1 -1
  103. package/dist/index.d.mts +28 -26
  104. package/dist/index.mjs +1 -1
  105. package/dist/layout-DoYnPD0I.d.mts +137 -0
  106. package/dist/masonry-ready.d.mts +13 -0
  107. package/dist/masonry-ready.mjs +1 -0
  108. package/dist/masonry.css +1 -1
  109. package/dist/masonry.d.mts +15 -66
  110. package/dist/masonry.mjs +1 -1
  111. package/dist/{media-moIXOhT1.d.mts → media.d.mts} +1 -1
  112. package/dist/media.mjs +1 -0
  113. package/dist/metafile-esm.json +1 -1
  114. package/dist/{plyrTypes-CmP9NWvX.d.mts → plyrTypes-DhzgHNfX.d.mts} +2 -1
  115. package/dist/responsive-Ch5b4LC-.d.mts +526 -0
  116. package/dist/responsive.d.mts +15 -0
  117. package/dist/responsive.mjs +1 -0
  118. package/dist/{responsive-CvE5dTnP.d.mts → responsiveNumber-CouEMJ9O.d.mts} +1 -1
  119. package/dist/skeleton-base.css +1 -0
  120. package/dist/skeleton-base.d.mts +52 -0
  121. package/dist/skeleton-base.mjs +1 -0
  122. package/dist/skeleton-grid.css +1 -0
  123. package/dist/skeleton-grid.d.mts +64 -0
  124. package/dist/skeleton-grid.mjs +1 -0
  125. package/dist/skeleton-masonry.css +1 -0
  126. package/dist/skeleton-masonry.d.mts +63 -0
  127. package/dist/skeleton-masonry.mjs +1 -0
  128. package/dist/skeleton-slider.css +1 -0
  129. package/dist/skeleton-slider.d.mts +208 -0
  130. package/dist/skeleton-slider.mjs +40 -0
  131. package/dist/slider-arrows.d.mts +9 -0
  132. package/dist/slider-arrows.mjs +1 -0
  133. package/dist/slider-auto-height.d.mts +9 -0
  134. package/dist/slider-auto-height.mjs +1 -0
  135. package/dist/slider-auto-play.d.mts +9 -0
  136. package/dist/slider-auto-play.mjs +1 -0
  137. package/dist/slider-auto-scroll.d.mts +9 -0
  138. package/dist/slider-auto-scroll.mjs +1 -0
  139. package/dist/slider-crossfade.d.mts +9 -0
  140. package/dist/slider-crossfade.mjs +1 -0
  141. package/dist/slider-dots.css +1 -0
  142. package/dist/slider-dots.d.mts +9 -0
  143. package/dist/slider-dots.mjs +1 -0
  144. package/dist/slider-fade.d.mts +9 -0
  145. package/dist/slider-fade.mjs +1 -0
  146. package/dist/slider-fullscreen.d.mts +9 -0
  147. package/dist/slider-fullscreen.mjs +1 -0
  148. package/dist/slider-lazy-load.css +1 -0
  149. package/dist/slider-lazy-load.d.mts +9 -0
  150. package/dist/slider-lazy-load.mjs +1 -0
  151. package/dist/slider-loading.css +1 -0
  152. package/dist/slider-loading.d.mts +9 -0
  153. package/dist/slider-loading.mjs +1 -0
  154. package/dist/slider-parallax.d.mts +9 -0
  155. package/dist/slider-parallax.mjs +1 -0
  156. package/dist/slider-progress.d.mts +9 -0
  157. package/dist/slider-progress.mjs +1 -0
  158. package/dist/slider-ready.d.mts +14 -0
  159. package/dist/slider-ready.mjs +1 -0
  160. package/dist/slider-ripple.d.mts +9 -0
  161. package/dist/slider-ripple.mjs +1 -0
  162. package/dist/slider-scale.d.mts +9 -0
  163. package/dist/slider-scale.mjs +1 -0
  164. package/dist/slider-scrollbar.css +1 -0
  165. package/dist/slider-scrollbar.d.mts +9 -0
  166. package/dist/slider-scrollbar.mjs +1 -0
  167. package/dist/slider.css +1 -1
  168. package/dist/slider.d.mts +7 -77
  169. package/dist/slider.mjs +1 -1
  170. package/dist/text-BBcRGVzn.d.mts +10 -0
  171. package/dist/thumbnails.css +1 -1
  172. package/dist/thumbnails.d.mts +22 -11
  173. package/dist/thumbnails.mjs +1 -1
  174. package/dist/transitions-DU3ftmIq.d.mts +6 -0
  175. package/dist/{types-CvTlITct.d.mts → types-B7AiQJkM.d.mts} +25 -12
  176. package/dist/types-BlFwyRVQ.d.mts +43 -0
  177. package/dist/types-CfvTYIyd.d.mts +450 -0
  178. package/dist/{types-9g3BgMxk.d.mts → types-DP7ogmr4.d.mts} +17 -5
  179. package/dist/types-DWzjXjYR.d.mts +48 -0
  180. package/dist/types-Dhh8xfHo.d.mts +18 -0
  181. package/dist/video.css +1 -1
  182. package/dist/video.d.mts +3 -2
  183. package/dist/video.mjs +1 -1
  184. package/dist/zoomPan.d.mts +14 -0
  185. package/dist/zoomPan.mjs +1 -0
  186. package/package.json +142 -24
  187. package/dist/chunk-2AHLR3V4.mjs +0 -1
  188. package/dist/chunk-5BVPDHQ4.mjs +0 -1
  189. package/dist/chunk-ESF6XBYF.mjs +0 -1
  190. package/dist/chunk-EV6ZK4QI.mjs +0 -1
  191. package/dist/chunk-IVNQO5UT.mjs +0 -2
  192. package/dist/chunk-KZUAS63N.mjs +0 -1
  193. package/dist/chunk-Q2WWO4HE.mjs +0 -10
  194. package/dist/chunk-QKPYVOTI.mjs +0 -1
  195. package/dist/chunk-RQXWOXAH.mjs +0 -6
  196. package/dist/chunk-TZGAHWM7.mjs +0 -1
  197. package/dist/chunk-U6H3YVAK.mjs +0 -2
  198. package/dist/chunk-UHXXMYPP.mjs +0 -6
  199. package/dist/chunk-VQ742FWN.mjs +0 -4
  200. package/dist/chunk-XBRTUB3S.mjs +0 -2
  201. package/dist/chunk-XVU6PJ7B.mjs +0 -59
  202. package/dist/chunk-YRQVG3MM.mjs +0 -1
  203. package/dist/chunk-ZZZZXO5U.mjs +0 -1
  204. package/dist/elements-24CTbRWj.d.mts +0 -49
  205. package/dist/sliderSub-DDPjywVp.d.mts +0 -33
  206. package/dist/types-D_6Ksp_r.d.mts +0 -158
  207. package/dist/types-fFyCx1KQ.d.mts +0 -278
  208. package/dist/types-tb9Qf2Mj.d.mts +0 -46
@@ -1,4 +1,5 @@
1
- import { M as MediaItem } from './media-moIXOhT1.mjs';
1
+ import Plyr from 'plyr';
2
+ import { MediaItem } from './media.mjs';
2
3
 
3
4
  type PlyrSource = Plyr.SourceInfo;
4
5
  type PlyrOptions = Plyr.Options;
@@ -0,0 +1,526 @@
1
+ import { T as ThumbnailPosition } from './types-DP7ogmr4.mjs';
2
+ import * as React$1 from 'react';
3
+ import { MediaItem } from './media.mjs';
4
+ import { E as ElementStyle, C as CrossFade, J as FullscreenOpenMethod } from './types-CfvTYIyd.mjs';
5
+ import { P as PlyrSourceBuilder, a as PlyrOptionsBuilder } from './plyrTypes-DhzgHNfX.mjs';
6
+ import { a as ZoomPanOptions } from './types-Dhh8xfHo.mjs';
7
+ import { L as LoadingForceOptions } from './force-C5m1QpdF.mjs';
8
+ import { R as ResponsiveTextBarHeight, a as ResponsiveTextBarWidth, b as ResponsiveTextLineHeight, c as ResponsiveTextLineCount, d as ResponsiveTextLastBarWidth, T as TextSkeletonResponsiveBy } from './text-BBcRGVzn.mjs';
9
+ import { APITypes } from 'plyr-react';
10
+ import { c as FullscreenThumbnailSlotLayout } from './types-B7AiQJkM.mjs';
11
+ import { Root } from 'react-dom/client';
12
+ import { R as ResponsiveNumber } from './responsiveNumber-CouEMJ9O.mjs';
13
+
14
+ type SkeletonLength = number | string;
15
+ type SkeletonShimmer = {
16
+ enabled?: boolean;
17
+ durationMs?: number;
18
+ angleDeg?: number;
19
+ opacity?: number;
20
+ blurPx?: number;
21
+ timing?: string;
22
+ c1?: string;
23
+ c2?: string;
24
+ c3?: string;
25
+ };
26
+ type SkeletonBaseStyle = {
27
+ width?: SkeletonLength;
28
+ maxWidth?: SkeletonLength;
29
+ height?: SkeletonLength;
30
+ maxHeight?: SkeletonLength;
31
+ backgroundColor?: string;
32
+ borderRadius?: SkeletonLength;
33
+ overflow?: React$1.CSSProperties["overflow"];
34
+ marginTop?: SkeletonLength;
35
+ marginRight?: SkeletonLength;
36
+ marginBottom?: SkeletonLength;
37
+ marginLeft?: SkeletonLength;
38
+ alignSelf?: React$1.CSSProperties["alignSelf"];
39
+ aspectRatio?: number | string;
40
+ };
41
+ type SkeletonBaseStyleResponsive = SkeletonBaseStyle | Record<string, SkeletonBaseStyle>;
42
+ type SkeletonContainerStyle = {
43
+ display?: React$1.CSSProperties["display"];
44
+ gap?: SkeletonLength;
45
+ padding?: SkeletonLength;
46
+ align?: React$1.CSSProperties["alignItems"];
47
+ justify?: React$1.CSSProperties["justifyContent"];
48
+ wrap?: boolean;
49
+ width?: SkeletonLength;
50
+ maxWidth?: SkeletonLength;
51
+ overflow?: React$1.CSSProperties["overflow"];
52
+ };
53
+ type SkeletonContainerStyleResponsive = SkeletonContainerStyle | Record<string, SkeletonContainerStyle>;
54
+ type SkeletonNode = {
55
+ kind: "stack" | "row" | "col";
56
+ style?: SkeletonContainerStyleResponsive;
57
+ children: SkeletonNode[];
58
+ } | {
59
+ kind: "rect" | "square" | "circle";
60
+ style?: SkeletonBaseStyleResponsive;
61
+ shimmer?: SkeletonShimmer;
62
+ } | {
63
+ kind: "media";
64
+ count: number;
65
+ direction?: "row" | "col";
66
+ style?: SkeletonContainerStyleResponsive;
67
+ tile?: {
68
+ shape?: "rect" | "square" | "circle";
69
+ style?: SkeletonBaseStyleResponsive;
70
+ shimmer?: SkeletonShimmer;
71
+ };
72
+ } | {
73
+ kind: "text";
74
+ barHeight: ResponsiveTextBarHeight;
75
+ barWidth?: ResponsiveTextBarWidth;
76
+ lineHeight: ResponsiveTextLineHeight;
77
+ lines?: ResponsiveTextLineCount;
78
+ lastBarWidth?: ResponsiveTextLastBarWidth;
79
+ responsiveBy?: TextSkeletonResponsiveBy;
80
+ style?: SkeletonBaseStyleResponsive;
81
+ shimmer?: SkeletonShimmer;
82
+ };
83
+ type EntrySkeletonSpec = {
84
+ layout?: SkeletonNode;
85
+ variant?: "solid";
86
+ minHeight?: SkeletonLength;
87
+ defaults?: {
88
+ backgroundColor?: string;
89
+ highlightColor?: string;
90
+ radius?: SkeletonLength;
91
+ shimmer?: SkeletonShimmer;
92
+ };
93
+ };
94
+
95
+ type EntryItem = {
96
+ media?: MediaItem[];
97
+ [key: string]: any;
98
+ };
99
+ type EntryMediaRenderArgs = {
100
+ entry: EntryItem;
101
+ entryIndex: number;
102
+ media: MediaItem;
103
+ mediaIndex: number;
104
+ };
105
+ type MediaEntryLink = {
106
+ entryIndex: number;
107
+ mediaIndex: number;
108
+ };
109
+ type EntryOverlayRenderArgs = {
110
+ entry: EntryItem;
111
+ entryIndex: number;
112
+ media: MediaItem | null;
113
+ mediaIndex: number | null;
114
+ link: MediaEntryLink | null;
115
+ opacity: number;
116
+ fsIndex: number;
117
+ style: React.CSSProperties;
118
+ containerProps: React.HTMLAttributes<HTMLDivElement>;
119
+ };
120
+ type EntryOverlayStyle = ElementStyle & {
121
+ width?: ResponsiveLength;
122
+ height?: ResponsiveLength;
123
+ placement?: ResponsiveCaptionPlacement;
124
+ breakpoint?: number;
125
+ overlayCrossfadeTarget?: "content" | "overlay";
126
+ overlayCrossfadeDurationMs?: number;
127
+ overlayCrossfadeEasing?: string;
128
+ zoomFade?: boolean;
129
+ zoomFadeDurationMs?: number;
130
+ zoomFadeEasing?: string;
131
+ zoomInTransform?: string;
132
+ zoomOutTransform?: string;
133
+ };
134
+ type EntryMediaLayout = "slider" | "grid" | "masonry";
135
+ type EntryCardRenderArgs = {
136
+ entry: EntryItem;
137
+ entryIndex: number;
138
+ media: React.ReactNode;
139
+ };
140
+ type EntrySkeletonResolverArgs = {
141
+ entry: EntryItem;
142
+ entryIndex: number;
143
+ };
144
+ type EntriesLoadingOptions = {
145
+ enabled?: boolean;
146
+ force?: LoadingForceOptions;
147
+ skeleton?: EntrySkeletonSpec | ((args: EntrySkeletonResolverArgs) => EntrySkeletonSpec | null | undefined);
148
+ minHeight?: SkeletonLength;
149
+ nearMargin?: string;
150
+ viewMargin?: string;
151
+ threshold?: number;
152
+ waitForDecode?: boolean;
153
+ decodeTimeoutMs?: number;
154
+ skeletonWrap?: ElementStyle;
155
+ };
156
+ type IntroOptions = {
157
+ renderIntro?: (args: {
158
+ active: boolean;
159
+ containerProps: React.HTMLAttributes<HTMLDivElement>;
160
+ }, content: React.ReactNode) => React.ReactNode;
161
+ staggerMs?: number;
162
+ durationMs?: number;
163
+ easing?: string;
164
+ staggerLimit?: number;
165
+ };
166
+ type EntrySkeletonRenderArgs = {
167
+ entry: EntryItem;
168
+ entryIndex: number;
169
+ };
170
+ type EntriesOptions = {
171
+ items?: EntryItem[];
172
+ mediaLayout?: EntryMediaLayout;
173
+ render?: {
174
+ card?: (args: EntryCardRenderArgs) => React.ReactNode;
175
+ media?: (args: EntryMediaRenderArgs) => React.ReactNode;
176
+ overlay?: (args: EntryOverlayRenderArgs) => React.ReactNode;
177
+ skeleton?: (args: EntrySkeletonRenderArgs) => React.ReactNode;
178
+ };
179
+ overlay?: EntryOverlayStyle;
180
+ loading?: EntriesLoadingOptions;
181
+ intro?: IntroOptions;
182
+ entryList?: ElementStyle;
183
+ entryRow?: ElementStyle;
184
+ };
185
+ type SlideOwner = {
186
+ entryIndex: number;
187
+ };
188
+
189
+ interface FullscreenSliderHandle {
190
+ centerSlider(): void;
191
+ }
192
+
193
+ type LimitType = ReturnType<typeof Limit>;
194
+ declare function Limit(min: number, max: number): {
195
+ min: number;
196
+ max: number;
197
+ reachedMin(n: number): boolean;
198
+ reachedMax(n: number): boolean;
199
+ constrain(n: number): number;
200
+ reachedAny(n: number): boolean;
201
+ removeOffset(n: number): number;
202
+ };
203
+
204
+ type Vector1DType = {
205
+ get: () => number;
206
+ set: (n: number) => void;
207
+ add: (n: number) => void;
208
+ };
209
+
210
+ type ScrollBodyType = ReturnType<typeof ScrollBody>;
211
+ declare function ScrollBody(location: Vector1DType, offsetLocation: Vector1DType, previousLocation: Vector1DType, target: Vector1DType, baseDuration: number, baseFriction: number): {
212
+ sync(): /*elided*/ any;
213
+ resetVelocity(): /*elided*/ any;
214
+ useDuration(n: number): /*elided*/ any;
215
+ useFriction(n: number): /*elided*/ any;
216
+ useBaseDuration(): /*elided*/ any;
217
+ useBaseFriction(): /*elided*/ any;
218
+ duration(): number;
219
+ frictionFactor(): number;
220
+ direction(): number;
221
+ velocity(): number;
222
+ seek(): /*elided*/ any;
223
+ settled(): boolean;
224
+ };
225
+
226
+ type ScrollBoundsType = ReturnType<typeof ScrollBounds>;
227
+ declare function ScrollBounds(limit: LimitType, location: Vector1DType, target: Vector1DType, body: ScrollBodyType, pov: PercentOfViewType, selectDuration: number): {
228
+ reached: () => boolean;
229
+ passed: () => boolean;
230
+ constrain(pointerDown: boolean): void;
231
+ };
232
+ type PercentOfViewType = ReturnType<typeof PercentOfView>;
233
+ declare function PercentOfView(viewSize: number): {
234
+ measure(n: number): number;
235
+ };
236
+
237
+ declare function PanAxis(): {
238
+ scroll: "x";
239
+ cross: "y";
240
+ direction(n: number): number;
241
+ };
242
+ type PanAxisType = ReturnType<typeof PanAxis>;
243
+
244
+ type AnimationsType = {
245
+ start: () => void;
246
+ stop: () => void;
247
+ init: () => void;
248
+ destroy: () => void;
249
+ resetBlend: () => void;
250
+ };
251
+
252
+ type FullscreenRuntimeProps = {
253
+ fsEnabled: boolean;
254
+ fsSub: any;
255
+ showFullscreenModal: boolean;
256
+ setShowFullscreenModal: React$1.Dispatch<React$1.SetStateAction<boolean>>;
257
+ setShowFullscreenSlider: React$1.Dispatch<React$1.SetStateAction<boolean>>;
258
+ showFullscreenSlider: boolean;
259
+ isClick: React$1.RefObject<boolean>;
260
+ isAnimatingRef: React$1.RefObject<boolean>;
261
+ overlayDivRef: React$1.RefObject<HTMLDivElement | null>;
262
+ duplicateImgRef: React$1.RefObject<HTMLElement | null>;
263
+ cells: React$1.RefObject<{
264
+ element: HTMLElement;
265
+ index: number;
266
+ }[]>;
267
+ slidesForFullscreen: React$1.RefObject<{
268
+ cells: {
269
+ element: HTMLElement;
270
+ index: number;
271
+ }[];
272
+ target: number;
273
+ }[]>;
274
+ sliderForFullscreen: React$1.RefObject<HTMLDivElement | null>;
275
+ isWrappingForFullscreen: React$1.RefObject<boolean>;
276
+ setClosingModal: React$1.Dispatch<React$1.SetStateAction<boolean>>;
277
+ closingModal: boolean;
278
+ closeButtonRef: React$1.RefObject<HTMLElement | null>;
279
+ counterRef: React$1.RefObject<HTMLElement | null>;
280
+ leftChevronRef: React$1.RefObject<HTMLElement | null>;
281
+ rightChevronRef: React$1.RefObject<HTMLElement | null>;
282
+ centerSliderForFullscreen: () => void;
283
+ setSliderIndexForFullscreen: (index: number, mode?: any) => void;
284
+ layout?: 'slider' | 'grid' | 'masonry' | 'entries' | null;
285
+ expandableImageRefs: React$1.RefObject<any[]>;
286
+ resolveLayoutlessTarget: (index: number) => {
287
+ host: HTMLElement | null;
288
+ image: HTMLImageElement | null;
289
+ media: HTMLElement | null;
290
+ };
291
+ entryMapRef: React$1.RefObject<MediaEntryLink[] | null>;
292
+ entryMediaLayout: any;
293
+ introFade: boolean;
294
+ introDuration: number;
295
+ introEasing: any;
296
+ fullscreenSliderApi: React$1.RefObject<FullscreenSliderHandle | null>;
297
+ slideIndex: number;
298
+ isZoomClick: React$1.RefObject<boolean>;
299
+ isZoomed: boolean;
300
+ windowSize: any;
301
+ imageRefs: React$1.RefObject<React$1.RefObject<HTMLDivElement | null>[]>;
302
+ wrappedItems: MediaItem[];
303
+ setWrappedItems: React$1.Dispatch<React$1.SetStateAction<MediaItem[]>>;
304
+ scale: number;
305
+ isZooming: React$1.RefObject<boolean>;
306
+ singleModePlyrRefs: React$1.RefObject<(APITypes | null)[]>;
307
+ wrappedModePlyrRefs: React$1.RefObject<(APITypes | null)[]>;
308
+ direction: 'ltr' | 'rtl';
309
+ sliderGap?: number;
310
+ sliderDuration: number;
311
+ sliderFriction: number;
312
+ suppressLoopRef: React$1.RefObject<boolean>;
313
+ fsFadeOpening: boolean;
314
+ normalizedItems: MediaItem[];
315
+ fsThumbContainerRef: React$1.RefObject<HTMLDivElement | null>;
316
+ fullscreenThumbnailSlot: FullscreenThumbnailSlotLayout | null;
317
+ setFullscreenThumbnailMountEl: React$1.RefCallback<HTMLDivElement>;
318
+ showFsEntryOverlayMount: boolean;
319
+ fsIntroReq: FsIntroRequest;
320
+ clearFsIntroReq: () => void;
321
+ styles: Record<string, string>;
322
+ fs: FullscreenOptions;
323
+ overlayCaptionRef: React$1.RefObject<HTMLDivElement | null>;
324
+ overlayCaptionRootRef: React$1.RefObject<Root | null>;
325
+ setFsFadeOpening: React$1.Dispatch<React$1.SetStateAction<boolean>>;
326
+ addShield: (timeoutMs?: number | undefined) => void;
327
+ resolveFsCaptionPlacement: (placement: ResponsiveCaptionPlacement | undefined, breakpoint: number | undefined, viewportWidth: number) => FsCaptionPlacement | null;
328
+ requestFsCloseRef: React$1.RefObject<null | (() => void)>;
329
+ cancelFsCloseRef: React$1.RefObject<null | (() => void)>;
330
+ suppressNextClickRef: React$1.RefObject<boolean>;
331
+ currentImage: React$1.RefObject<HTMLDivElement | null>;
332
+ scaleRef: React$1.RefObject<number>;
333
+ pointerDownRef: React$1.RefObject<boolean>;
334
+ interactionModeRef: React$1.RefObject<'idle' | 'drag' | 'wheel' | 'programmatic'>;
335
+ boundsX: React$1.RefObject<ScrollBoundsType | null>;
336
+ boundsY: React$1.RefObject<ScrollBoundsType | null>;
337
+ bodyX: React$1.RefObject<ScrollBodyType | null>;
338
+ bodyY: React$1.RefObject<ScrollBodyType | null>;
339
+ locX: React$1.RefObject<Vector1DType | null>;
340
+ locY: React$1.RefObject<Vector1DType | null>;
341
+ prevX: React$1.RefObject<Vector1DType | null>;
342
+ prevY: React$1.RefObject<Vector1DType | null>;
343
+ offX: React$1.RefObject<Vector1DType | null>;
344
+ offY: React$1.RefObject<Vector1DType | null>;
345
+ tgtX: React$1.RefObject<Vector1DType | null>;
346
+ tgtY: React$1.RefObject<Vector1DType | null>;
347
+ axisRef: React$1.RefObject<PanAxisType | null>;
348
+ animRef: React$1.RefObject<AnimationsType | null>;
349
+ setScale: (newScale: number) => void;
350
+ previousZoom: React$1.RefObject<{
351
+ x: number;
352
+ y: number;
353
+ }>;
354
+ panRef: React$1.RefObject<{
355
+ x: number;
356
+ y: number;
357
+ }>;
358
+ changingSlides: React$1.RefObject<boolean>;
359
+ fsIndexRef: React$1.RefObject<number>;
360
+ entriesObject: EntriesOptions;
361
+ syncFullscreenSourceFromIndex: (nextIndex: number) => void;
362
+ setFullscreenOpen: (open: boolean) => void;
363
+ runtimePlugins?: FullscreenPlugin[];
364
+ };
365
+
366
+ type FsCounterArgs = {
367
+ index: number;
368
+ count: number;
369
+ };
370
+ type FsCaptionPlacement = "top" | "right" | "bottom" | "left";
371
+ type FsIntroRequest = null | {
372
+ originalImage: HTMLImageElement | null;
373
+ index: number;
374
+ method: FullscreenOpenMethod;
375
+ closestSelector?: string;
376
+ };
377
+ type FSImageRender = (args: {
378
+ item: Extract<MediaItem, {
379
+ kind: "image";
380
+ }>;
381
+ index: number;
382
+ isZoomed: boolean;
383
+ className: string;
384
+ baseStyle: React$1.CSSProperties;
385
+ }) => React$1.ReactNode;
386
+ type FullscreenArrows = {
387
+ enabled?: boolean;
388
+ arrow?: ElementStyle;
389
+ prev?: ElementStyle;
390
+ next?: ElementStyle;
391
+ render?: (args: {
392
+ dir: "prev" | "next";
393
+ }) => React$1.ReactNode;
394
+ renderPrev?: () => React$1.ReactNode;
395
+ renderNext?: () => React$1.ReactNode;
396
+ };
397
+ type FullscreenClose = {
398
+ enabled?: boolean;
399
+ style?: React$1.CSSProperties;
400
+ className?: string;
401
+ render?: () => React$1.ReactNode;
402
+ };
403
+ type FullscreenCounter = {
404
+ enabled?: boolean;
405
+ style?: React$1.CSSProperties;
406
+ className?: string;
407
+ render?: (args: FsCounterArgs) => React$1.ReactNode;
408
+ };
409
+ type FullscreenControlsOptions = {
410
+ close?: FullscreenClose;
411
+ arrows?: FullscreenArrows;
412
+ counter?: FullscreenCounter;
413
+ };
414
+ type FsCaptionRenderArgs = {
415
+ item: MediaItem;
416
+ index: number;
417
+ isZoomed: boolean;
418
+ };
419
+ type FullscreenCaptionOptions = {
420
+ className?: string;
421
+ style?: React$1.CSSProperties;
422
+ width?: ResponsiveLength;
423
+ height?: ResponsiveLength;
424
+ placement?: ResponsiveCaptionPlacement;
425
+ breakpoint?: number;
426
+ render?: (args: FsCaptionRenderArgs) => React$1.ReactNode;
427
+ layout?: "overlay" | "slide";
428
+ overlayCrossfadeTarget?: "content" | "overlay";
429
+ overlayCrossfadeDurationMs?: number;
430
+ overlayCrossfadeEasing?: string;
431
+ zoomFade?: boolean;
432
+ zoomFadeDurationMs?: number;
433
+ zoomFadeEasing?: string;
434
+ zoomInTransform?: string;
435
+ zoomOutTransform?: string;
436
+ };
437
+ type FullscreenCrossfadeOptions = CrossFade;
438
+ type FullscreenEffectsOptions = {
439
+ introDuration?: number;
440
+ introEasing?: string;
441
+ introFade?: boolean;
442
+ introStickyNavSelector?: string;
443
+ crossfade?: FullscreenCrossfadeOptions;
444
+ };
445
+ type FullscreenSliderOptions = {
446
+ gap?: ResponsiveNumber;
447
+ duration?: number;
448
+ friction?: number;
449
+ direction?: "ltr" | "rtl";
450
+ };
451
+ type FullscreenZoomPanOptions = ZoomPanOptions;
452
+ type FullscreenVideoOptions = {
453
+ source?: PlyrSourceBuilder;
454
+ options?: PlyrOptionsBuilder;
455
+ playOnOpen?: boolean;
456
+ style?: React$1.CSSProperties;
457
+ className?: string;
458
+ };
459
+ type FullscreenLazyLoadKind = "image" | "video";
460
+ type FullscreenLazyLoadArgs = {
461
+ kind: FullscreenLazyLoadKind;
462
+ isClone?: boolean;
463
+ };
464
+ type FullscreenLazyLoadConfig = {
465
+ enabled?: boolean;
466
+ spinner?: boolean | React$1.ReactNode | ((args: FullscreenLazyLoadArgs) => React$1.ReactNode);
467
+ spinnerClassName?: string;
468
+ spinnerStyle?: React$1.CSSProperties;
469
+ };
470
+ type FullscreenLazyLoadOptions = {
471
+ images?: FullscreenLazyLoadConfig;
472
+ videos?: FullscreenLazyLoadConfig;
473
+ };
474
+ type FullscreenOptions = {
475
+ enabled?: boolean;
476
+ items?: MediaItem[] | string[];
477
+ renderImage?: FSImageRender;
478
+ video?: FullscreenVideoOptions;
479
+ controls?: FullscreenControlsOptions;
480
+ caption?: FullscreenCaptionOptions;
481
+ slider?: FullscreenSliderOptions;
482
+ zoom?: FullscreenZoomPanOptions;
483
+ effects?: FullscreenEffectsOptions;
484
+ lazyLoad?: FullscreenLazyLoadOptions;
485
+ };
486
+ type FullscreenPluginKind = "slider" | "controls" | "captions" | "zoom-pan" | "video" | "lazy-load" | "crossfade" | "thumbnails";
487
+ type FullscreenPluginOptions = Partial<FullscreenOptions>;
488
+ type FullscreenRuntimeFeatures = {
489
+ useZoomPanRuntime?: (args: any) => {
490
+ isPinching: React$1.RefObject<boolean>;
491
+ isTouchPinching: React$1.RefObject<boolean>;
492
+ entryOverlayZoomMotion?: unknown;
493
+ captionZoomMotion?: unknown;
494
+ handlePanPointerStart: (e: React$1.PointerEvent<HTMLDivElement>, imageRef: React$1.RefObject<HTMLDivElement | null>) => void;
495
+ handleZoomToggle: (e: React$1.PointerEvent<HTMLDivElement> | React$1.TouchEvent<HTMLDivElement>, imageRef: React$1.RefObject<HTMLDivElement | null>) => void;
496
+ resetAllZoomDom: (args?: {
497
+ disableImageTransition?: boolean;
498
+ }) => void;
499
+ resetForSlideNavigation: () => void;
500
+ forceResetZoom?: () => void;
501
+ };
502
+ usePlyrProps?: (args: {
503
+ items: MediaItem[];
504
+ source?: FullscreenVideoOptions["source"];
505
+ options?: FullscreenVideoOptions["options"];
506
+ }) => unknown[];
507
+ defaultPlayerStyle?: React$1.CSSProperties;
508
+ createVideoSnapshotStore?: () => unknown;
509
+ renderSlides?: (args: any) => React$1.ReactNode[];
510
+ renderCrossfadeSlides?: (args: any) => React$1.ReactNode[];
511
+ };
512
+ type FullscreenPlugin = {
513
+ readonly __rmgFullscreenPlugin: true;
514
+ readonly kind: FullscreenPluginKind;
515
+ readonly options?: FullscreenPluginOptions;
516
+ readonly runtime?: FullscreenRuntimeFeatures;
517
+ readonly RuntimeHost?: React$1.ComponentType<FullscreenRuntimeProps>;
518
+ readonly preload?: () => void;
519
+ };
520
+
521
+ type ResponsiveLengthValue = number | string;
522
+ type ResponsiveLength = ResponsiveLengthValue | Record<string, ResponsiveLengthValue>;
523
+ type ResponsivePosition = ThumbnailPosition | Array<ThumbnailPosition> | Record<string, ThumbnailPosition>;
524
+ type ResponsiveCaptionPlacement = FsCaptionPlacement | Array<FsCaptionPlacement> | Record<string, FsCaptionPlacement>;
525
+
526
+ export type { FSImageRender as A, ResponsivePosition as B, EntriesOptions as E, FullscreenCaptionOptions as F, IntroOptions as I, MediaEntryLink as M, PanAxisType as P, ResponsiveCaptionPlacement as R, SlideOwner as S, FullscreenControlsOptions as a, FullscreenCrossfadeOptions as b, FullscreenLazyLoadOptions as c, FullscreenOptions as d, FullscreenPlugin as e, FullscreenPluginKind as f, FullscreenSliderOptions as g, FullscreenVideoOptions as h, FullscreenZoomPanOptions as i, FsCaptionPlacement as j, FsIntroRequest as k, ResponsiveLength as l, ResponsiveLengthValue as m, EntryItem as n, EntryMediaRenderArgs as o, EntryOverlayRenderArgs as p, EntryOverlayStyle as q, EntryMediaLayout as r, EntryCardRenderArgs as s, EntrySkeletonResolverArgs as t, EntriesLoadingOptions as u, EntrySkeletonRenderArgs as v, FullscreenClose as w, FullscreenArrows as x, FullscreenCounter as y, FsCaptionRenderArgs as z };
@@ -0,0 +1,15 @@
1
+ export { R as ResponsiveCaptionPlacement, l as ResponsiveLength, m as ResponsiveLengthValue, B as ResponsivePosition } from './responsive-Ch5b4LC-.mjs';
2
+ export { a as BREAKPOINT_MAP, B as BreakpointMap, R as ResponsiveNumber } from './responsiveNumber-CouEMJ9O.mjs';
3
+ import './types-DP7ogmr4.mjs';
4
+ import 'react';
5
+ import './force-C5m1QpdF.mjs';
6
+ import './types-CfvTYIyd.mjs';
7
+ import './media.mjs';
8
+ import './transitions-DU3ftmIq.mjs';
9
+ import './plyrTypes-DhzgHNfX.mjs';
10
+ import 'plyr';
11
+ import './types-Dhh8xfHo.mjs';
12
+ import './text-BBcRGVzn.mjs';
13
+ import 'plyr-react';
14
+ import './types-B7AiQJkM.mjs';
15
+ import 'react-dom/client';
@@ -0,0 +1 @@
1
+ import'./chunk-B4CC5AGE.mjs';export{a as BREAKPOINT_MAP}from'./chunk-HK2DPKES.mjs';
@@ -2,4 +2,4 @@ declare const BREAKPOINT_MAP: Record<string, number>;
2
2
  type BreakpointMap = Record<string, number>;
3
3
  type ResponsiveNumber = number | Record<string, number>;
4
4
 
5
- export { BREAKPOINT_MAP as B, type ResponsiveNumber as R, type BreakpointMap as a };
5
+ export { type BreakpointMap as B, type ResponsiveNumber as R, BREAKPOINT_MAP as a };
@@ -0,0 +1 @@
1
+ .ce{aspect-ratio:1 / 1}.ge{aspect-ratio:1 / 1;border-radius:999px}.pe{display:flex;min-width:0}.he{flex-direction:row;align-items:center}.fe,.be{flex-direction:column;align-items:stretch}.ve{display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box;align-items:flex-start;align-content:flex-start}.ue{min-width:0;align-self:flex-start}.ye{position:relative;display:block;width:100%;min-width:0;height:auto;background:var(--rmg-skel-bg, #e5e5e5);border-radius:var(--rmg-skel-radius, 12px);overflow:hidden}.g{position:relative;overflow:hidden;border-radius:var(--rmg-skel-radius, 12px);--rmg-skel-shimmer-enabled: 0}.g:after{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-card-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:var(--rmg-skel-shimmer-filter, none);background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:p var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;transform:translate(-100%);pointer-events:none}.B:before{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:var(--rmg-skel-shimmer-filter, none);background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:p var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;transform:translate(-100%);pointer-events:none}@keyframes p{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.g:after,.B:before{animation:none}}.We{display:grid;position:relative;width:100%}.y,.x{grid-area:1 / 1;min-width:0}.y{position:relative;z-index:2;opacity:0;pointer-events:none;transition:opacity var(--rmg-loading-fade-duration, .6s) ease;will-change:opacity}.er{opacity:1;pointer-events:auto}.rr{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.x{position:relative;z-index:1;opacity:var(--rmg-standalone-skeleton-opacity, 1);--rmg-masonry-skel-wrap-shadow-opacity: 1;pointer-events:none;transition:opacity var(--rmg-loading-fade-duration, .6s) ease;will-change:opacity;overflow:hidden}.ir{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ar{z-index:3}.tr{--rmg-standalone-skeleton-opacity: 0;--rmg-masonry-skel-wrap-shadow-opacity: 0}@media(prefers-reduced-motion:reduce){.y,.x{transition:none}}
@@ -0,0 +1,52 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { B as BreakpointMap } from './responsiveNumber-CouEMJ9O.mjs';
4
+ import { L as LoadingForceOptions } from './force-C5m1QpdF.mjs';
5
+ import { L as LoadingTimingOptions } from './transitions-DU3ftmIq.mjs';
6
+ import { S as SkeletonNode, a as SkeletonLength, b as SkeletonShimmer } from './layout-DoYnPD0I.mjs';
7
+ export { e as SkeletonBaseStyle, f as SkeletonBaseStyleResponsive, g as SkeletonContainerStyle, h as SkeletonContainerStyleResponsive } from './layout-DoYnPD0I.mjs';
8
+ export { R as ResponsiveTextBarHeight, a as ResponsiveTextBarWidth, d as ResponsiveTextLastBarWidth, c as ResponsiveTextLineCount, b as ResponsiveTextLineHeight, T as TextSkeletonResponsiveBy } from './text-BBcRGVzn.mjs';
9
+
10
+ type SkeletonForceOptions = LoadingForceOptions;
11
+ type SkeletonTimingOptions = LoadingTimingOptions;
12
+ type SkeletonFrameProps = {
13
+ skeletonNode: React.ReactNode;
14
+ children?: React.ReactNode;
15
+ ready?: boolean;
16
+ enabled?: boolean;
17
+ force?: SkeletonForceOptions;
18
+ timing?: SkeletonTimingOptions;
19
+ shellClassName?: string;
20
+ shellStyle?: React.CSSProperties;
21
+ loadingShellStyle?: React.CSSProperties | null;
22
+ contentClassName?: string;
23
+ contentStyle?: React.CSSProperties;
24
+ contentOwnsWrapperLayout?: boolean;
25
+ loadingLayerFirst?: boolean;
26
+ contentWrapper?: (children: React.ReactNode) => React.ReactNode;
27
+ shellDataAttributes?: Record<string, string | boolean | undefined>;
28
+ };
29
+ type SkeletonProps = {
30
+ layout: SkeletonNode;
31
+ children?: React.ReactNode;
32
+ breakpoints?: BreakpointMap;
33
+ className?: string;
34
+ style?: React.CSSProperties;
35
+ shellClassName?: string;
36
+ shellStyle?: React.CSSProperties;
37
+ contentClassName?: string;
38
+ contentStyle?: React.CSSProperties;
39
+ backgroundColor?: string;
40
+ radius?: SkeletonLength;
41
+ shimmer?: SkeletonShimmer;
42
+ disableShimmer?: boolean;
43
+ ariaLabel?: string;
44
+ ready?: boolean;
45
+ enabled?: boolean;
46
+ force?: SkeletonForceOptions;
47
+ timing?: SkeletonTimingOptions;
48
+ };
49
+ declare function SkeletonFrame({ skeletonNode, children, ready, enabled, force, timing, shellClassName, shellStyle, loadingShellStyle, contentClassName, contentStyle, contentOwnsWrapperLayout, loadingLayerFirst, contentWrapper, shellDataAttributes, }: SkeletonFrameProps): react_jsx_runtime.JSX.Element;
50
+ declare function Skeleton({ layout, children, breakpoints, className, style, shellClassName, shellStyle, contentClassName, contentStyle, backgroundColor, radius, shimmer, disableShimmer, ariaLabel, ready, enabled, force, timing, }: SkeletonProps): react_jsx_runtime.JSX.Element;
51
+
52
+ export { Skeleton, type SkeletonForceOptions, SkeletonFrame, type SkeletonFrameProps, SkeletonLength, SkeletonNode, type SkeletonProps, SkeletonShimmer, type SkeletonTimingOptions, Skeleton as default };
@@ -0,0 +1 @@
1
+ export{b as Skeleton,a as SkeletonFrame,b as default}from'./chunk-6FFRWH2C.mjs';import'./chunk-AX2FSVFD.mjs';import'./chunk-Z34PSRMG.mjs';import'./chunk-UUAWLGWO.mjs';import'./chunk-LVYED5ZM.mjs';import'./chunk-B4CC5AGE.mjs';import'./chunk-HK2DPKES.mjs';
@@ -0,0 +1 @@
1
+ .ce{aspect-ratio:1 / 1}.ge{aspect-ratio:1 / 1;border-radius:999px}.pe{display:flex;min-width:0}.he{flex-direction:row;align-items:center}.fe,.be{flex-direction:column;align-items:stretch}.ve{display:flex;flex-direction:column;width:100%;min-width:0;box-sizing:border-box;align-items:flex-start;align-content:flex-start}.ue{min-width:0;align-self:flex-start}.ye{position:relative;display:block;width:100%;min-width:0;height:auto;background:var(--rmg-skel-bg, #e5e5e5);border-radius:var(--rmg-skel-radius, 12px);overflow:hidden}.g{position:relative;overflow:hidden;border-radius:var(--rmg-skel-radius, 12px);--rmg-skel-shimmer-enabled: 0}.g:after{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-card-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:var(--rmg-skel-shimmer-filter, none);background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:p var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;transform:translate(-100%);pointer-events:none}.B:before{content:"";position:absolute;inset:0;opacity:calc(var(--rmg-skel-shimmer-enabled, 1) * var(--rmg-skel-shimmer-opacity, 1));filter:var(--rmg-skel-shimmer-filter, none);background-image:linear-gradient(var(--rmg-skel-shimmer-angle, 90deg),transparent 0%,var(--rmg-skel-shimmer-c1, rgba(255, 255, 255, .25)) 22%,var(--rmg-skel-shimmer-c2, rgba(255, 255, 255, .45)) 50%,var(--rmg-skel-shimmer-c3, rgba(255, 255, 255, .25)) 78%,transparent 100%);animation:p var(--rmg-skel-shimmer-duration, 1.2s) var(--rmg-skel-shimmer-timing, linear) infinite;transform:translate(-100%);pointer-events:none}@keyframes p{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.g:after,.B:before{animation:none}}.Te{position:relative;width:100%}.Ue{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--rmg-grid-min, 160px),1fr));gap:var(--rmg-grid-gap, 8px)}.K{position:relative;width:100%}.K:before{content:"";position:absolute;inset:0;border-radius:var(--rmg-grid-skel-wrap-shadow-radius, var(--rmg-skel-radius, 12px));box-shadow:var(--rmg-grid-skel-wrap-shadow, none);opacity:var(--rmg-grid-skel-wrap-shadow-opacity, 1);transition:opacity calc(var(--rmg-loading-fade-duration, .6s) * .45) ease-out;pointer-events:none}.Ve{position:relative;z-index:1;width:100%;min-width:0}.We{display:grid;position:relative;width:100%}.y,.x{grid-area:1 / 1;min-width:0}.y{position:relative;z-index:2;opacity:0;pointer-events:none;transition:opacity var(--rmg-loading-fade-duration, .6s) ease;will-change:opacity}.er{opacity:1;pointer-events:auto}.rr{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}.x{position:relative;z-index:1;opacity:var(--rmg-standalone-skeleton-opacity, 1);--rmg-masonry-skel-wrap-shadow-opacity: 1;pointer-events:none;transition:opacity var(--rmg-loading-fade-duration, .6s) ease;will-change:opacity;overflow:hidden}.ir{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.ar{z-index:3}.tr{--rmg-standalone-skeleton-opacity: 0;--rmg-masonry-skel-wrap-shadow-opacity: 0}@media(prefers-reduced-motion:reduce){.y,.x{transition:none}}