react-motion-gallery 2.0.18 → 2.0.19

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 (95) hide show
  1. package/README.md +194 -33
  2. package/dist/chunk-5HIHJGIV.mjs +45 -0
  3. package/dist/chunk-6TPHLAUP.mjs +1 -0
  4. package/dist/chunk-AKY343WN.mjs +1 -0
  5. package/dist/chunk-BIDZ4WZB.mjs +2 -0
  6. package/dist/chunk-DBIFLX6Y.mjs +6 -0
  7. package/dist/chunk-ECQ74X24.mjs +1 -0
  8. package/dist/chunk-FJYYM5TH.mjs +1 -0
  9. package/dist/chunk-GSEIEFRW.mjs +1 -0
  10. package/dist/chunk-GT6IL37J.mjs +1 -0
  11. package/dist/chunk-J4E4PKE5.mjs +1 -0
  12. package/dist/chunk-JD3VAF3N.mjs +4 -0
  13. package/dist/chunk-JMFDRKTX.mjs +2 -0
  14. package/dist/chunk-K6PQU6HF.mjs +1 -0
  15. package/dist/chunk-KSOQWCCL.mjs +6 -0
  16. package/dist/chunk-NABNX5HB.mjs +1 -0
  17. package/dist/chunk-NEJ27O2B.mjs +2 -0
  18. package/dist/chunk-Q2PY6ZMU.mjs +2 -0
  19. package/dist/chunk-TKPLWDPW.mjs +7 -0
  20. package/dist/chunk-UAEPMZQY.mjs +1 -0
  21. package/dist/chunk-UV2SUN5V.mjs +1 -0
  22. package/dist/chunk-VXSRNAH4.mjs +1 -0
  23. package/dist/chunk-WLWVKQPL.mjs +4 -0
  24. package/dist/chunk-WZWMG4ZT.mjs +1 -0
  25. package/dist/chunk-XOS5AXSR.mjs +4 -0
  26. package/dist/chunk-ZX5E327W.mjs +1 -0
  27. package/dist/{elements-24CTbRWj.d.mts → controls-SpWg1Kgt.d.mts} +1 -6
  28. package/dist/core.d.mts +20 -9
  29. package/dist/core.mjs +1 -1
  30. package/dist/entries.css +1 -1
  31. package/dist/entries.d.mts +41 -11
  32. package/dist/entries.mjs +1 -1
  33. package/dist/fullscreen.css +1 -1
  34. package/dist/fullscreen.d.mts +36 -135
  35. package/dist/fullscreen.mjs +1 -1
  36. package/dist/fullscreenThumbnails.css +1 -1
  37. package/dist/fullscreenThumbnails.d.mts +9 -6
  38. package/dist/fullscreenThumbnails.mjs +1 -1
  39. package/dist/grid.css +1 -1
  40. package/dist/grid.d.mts +18 -115
  41. package/dist/grid.mjs +1 -1
  42. package/dist/{index-DUP4I_sT.d.mts → index-CwwxTQKa.d.mts} +3 -3
  43. package/dist/index.css +1 -1
  44. package/dist/index.d.mts +19 -15
  45. package/dist/index.mjs +1 -1
  46. package/dist/layout-CR6f2aPH.d.mts +95 -0
  47. package/dist/masonry.css +1 -1
  48. package/dist/masonry.d.mts +12 -65
  49. package/dist/masonry.mjs +1 -1
  50. package/dist/metafile-esm.json +1 -1
  51. package/dist/{media-moIXOhT1.d.mts → plyrTypes-Cq4C3ul5.d.mts} +8 -1
  52. package/dist/responsive-D_xhZmVI.d.mts +186 -0
  53. package/dist/slider.css +1 -1
  54. package/dist/slider.d.mts +11 -7
  55. package/dist/slider.mjs +1 -1
  56. package/dist/{sliderSub-DDPjywVp.d.mts → sliderSub-Bo6Y8as_.d.mts} +13 -1
  57. package/dist/text-Cl2tR8oO.d.mts +4 -0
  58. package/dist/thumbnails.css +1 -1
  59. package/dist/thumbnails.d.mts +22 -8
  60. package/dist/thumbnails.mjs +1 -1
  61. package/dist/{types-9g3BgMxk.d.mts → types-CHUayqcj.d.mts} +14 -4
  62. package/dist/{types-fFyCx1KQ.d.mts → types-DY058l5M.d.mts} +34 -11
  63. package/dist/types-Dhh8xfHo.d.mts +18 -0
  64. package/dist/{types-CvTlITct.d.mts → types-ROPjU8Nl.d.mts} +24 -12
  65. package/dist/types-VULXzSa2.d.mts +68 -0
  66. package/dist/types-XEr8LRal.d.mts +65 -0
  67. package/dist/{types-D_6Ksp_r.d.mts → types-_1D0QtfD.d.mts} +24 -8
  68. package/dist/video.css +1 -1
  69. package/dist/video.d.mts +2 -2
  70. package/dist/video.mjs +1 -1
  71. package/dist/zoomPan.d.mts +16 -0
  72. package/dist/zoomPan.mjs +1 -0
  73. package/package.json +11 -22
  74. package/dist/chunk-2AHLR3V4.mjs +0 -1
  75. package/dist/chunk-5BVPDHQ4.mjs +0 -1
  76. package/dist/chunk-ESF6XBYF.mjs +0 -1
  77. package/dist/chunk-EV6ZK4QI.mjs +0 -1
  78. package/dist/chunk-IVNQO5UT.mjs +0 -2
  79. package/dist/chunk-KZUAS63N.mjs +0 -1
  80. package/dist/chunk-Q2WWO4HE.mjs +0 -10
  81. package/dist/chunk-QKPYVOTI.mjs +0 -1
  82. package/dist/chunk-RQXWOXAH.mjs +0 -6
  83. package/dist/chunk-TZGAHWM7.mjs +0 -1
  84. package/dist/chunk-U6H3YVAK.mjs +0 -2
  85. package/dist/chunk-UHXXMYPP.mjs +0 -6
  86. package/dist/chunk-VQ742FWN.mjs +0 -4
  87. package/dist/chunk-X4HEGEZV.mjs +0 -1
  88. package/dist/chunk-XBRTUB3S.mjs +0 -2
  89. package/dist/chunk-XVU6PJ7B.mjs +0 -59
  90. package/dist/chunk-YRQVG3MM.mjs +0 -1
  91. package/dist/chunk-ZZZZXO5U.mjs +0 -1
  92. package/dist/lazy-dGoYpcRa.d.mts +0 -14
  93. package/dist/plyrTypes-CmP9NWvX.d.mts +0 -8
  94. package/dist/responsive-CvE5dTnP.d.mts +0 -5
  95. package/dist/types-tb9Qf2Mj.d.mts +0 -46
package/README.md CHANGED
@@ -9,15 +9,16 @@ This table reports local gzip measurements for each exported runtime surface. Th
9
9
  <!-- bundle-size:start -->
10
10
  | Export | JS gzip |
11
11
  | --- | --- |
12
- | `Entries` | 6.8kB |
13
- | `FullscreenThumbnailSlider` | 17.7kB |
14
- | `GalleryCore` | 1.8kB |
15
- | `Grid` | 7.4kB |
16
- | `Masonry` | 7.2kB |
17
- | `Slider` | 31.3kB |
18
- | `ThumbnailSlider` | 16.4kB |
19
- | `useFullscreenController` | 44.5kB |
20
- | `Video` | 10.7kB |
12
+ | `Entries` | 9.3kB |
13
+ | `FullscreenThumbnailSlider` | 18.8kB |
14
+ | `GalleryCore` | 2.5kB |
15
+ | `Grid` | 13.8kB |
16
+ | `Masonry` | 16.2kB |
17
+ | `Slider` | 38.4kB |
18
+ | `ThumbnailSlider` | 17.4kB |
19
+ | `useFullscreenController` | 55.5kB |
20
+ | `Video` | 12.2kB |
21
+ | `ZoomPanImage` | 8.5kB |
21
22
  <!-- bundle-size:end -->
22
23
 
23
24
  ## Overview
@@ -41,6 +42,7 @@ Mental model:
41
42
  - `Entries` renders structured entry data with a custom media container.
42
43
  - `GalleryCore` and `useFullscreenController` power fullscreen behavior.
43
44
  - `Video` is the gallery-ready video primitive.
45
+ - `ZoomPanImage` attaches click-to-zoom, drag pan, ctrl-wheel pinch, and touch pinch to one clipped image surface.
44
46
 
45
47
  `MediaItem` accepts three shapes:
46
48
 
@@ -82,7 +84,29 @@ export function QuickStart() {
82
84
 
83
85
  Responsive numeric props in this package accept either a plain number or a breakpoint map like `{ 0: 1, md: 2, 1200: 3 }`. Named breakpoints resolve from the internal map: `xs: 0`, `sm: 600`, `md: 900`, `lg: 1200`, `xl: 1536`.
84
86
 
85
- The package root now exports the primary public components, helper functions, and companion prop types. Subpath entrypoints are also available when you want narrower imports: `react-motion-gallery/core`, `react-motion-gallery/slider`, `react-motion-gallery/grid`, `react-motion-gallery/masonry`, `react-motion-gallery/entries`, `react-motion-gallery/fullscreen`, `react-motion-gallery/thumbnails`, `react-motion-gallery/fullscreenThumbnails`, and `react-motion-gallery/video`.
87
+ The package root now exports the primary public components, helper functions, and companion prop types. Subpath entrypoints are also available when you want narrower imports: `react-motion-gallery/core`, `react-motion-gallery/slider`, `react-motion-gallery/grid`, `react-motion-gallery/masonry`, `react-motion-gallery/entries`, `react-motion-gallery/fullscreen`, `react-motion-gallery/thumbnails`, `react-motion-gallery/fullscreenThumbnails`, `react-motion-gallery/video`, and `react-motion-gallery/zoomPan`.
88
+
89
+ ## ZoomPanImage
90
+
91
+ ```typescript
92
+ import { ZoomPanImage } from "react-motion-gallery/zoomPan";
93
+
94
+ export function ZoomPanCard() {
95
+ return (
96
+ <ZoomPanImage
97
+ src="https://picsum.photos/id/1035/1600/1200"
98
+ alt="A hiker looking over a canyon at dusk"
99
+ className="zoomCard"
100
+ zoom={{
101
+ clickZoomLevel: 2.35,
102
+ maxZoomLevel: 3.5,
103
+ }}
104
+ />
105
+ );
106
+ }
107
+ ```
108
+
109
+ `ZoomPanImage` is the lightweight standalone zoom surface. The component root is the clipping container, so border radius, aspect ratio, and overflow all live on the same element.
86
110
 
87
111
  ## Slider
88
112
 
@@ -179,11 +203,12 @@ export function BasicSlider() {
179
203
  | `transitions.loading.skeletonCount` | `number \| Record<string, number>` | `—` | Responsive skeleton slot count. |
180
204
  | `transitions.loading.renderLoading` | `({ count }) => ReactNode` | `—` | Custom loading renderer. |
181
205
  | `transitions.loading.skeleton` | `SliderSkeletonSpec` | `—` | Built-in skeleton spec, including per-slot overrides with `layout.slots` and centered peek support via `centering: "first"`. |
206
+ | `transitions.loading.timing.exitMs` | `number` | `600` | Keeps the loading layer mounted for this long after exit starts. |
207
+ | `transitions.loading.timing.minVisibleMs` | `number` | `220` | Minimum time the loading layer stays visible before exit can begin. |
182
208
  | `transitions.intro.renderIntro` | `({ active, containerProps }, content) => ReactNode` | `—` | Custom intro wrapper. |
183
- | `transitions.intro.staggerMs` | `number` | `—` | Delay between item reveals. |
184
- | `transitions.intro.transform` | `number \| string` | `—` | Initial intro transform. |
185
- | `transitions.intro.durationMs` | `number` | `—` | Intro duration. |
186
- | `transitions.intro.easing` | `string` | `—` | Intro easing. |
209
+ | `transitions.intro.staggerMs` | `number` | `—` | Delay between item fade-ins. |
210
+ | `transitions.intro.durationMs` | `number` | `—` | Intro fade duration. |
211
+ | `transitions.intro.easing` | `string` | `—` | Intro fade easing. |
187
212
 
188
213
  ### Slider loading skeletons
189
214
 
@@ -191,8 +216,14 @@ export function BasicSlider() {
191
216
 
192
217
  `layout.slots` is the per-slide override system. Define the shared placeholder once with `layout.item` and `layout.itemWrapStyle`, then override any individual slot with `slots[index]`. Slot `itemWrapStyle` values merge on top of the base wrap style, while `slot.item` can replace the placeholder node entirely for that slot.
193
218
 
219
+ `itemWrapStyle` now supports wrapper-only `border` and `boxShadow` values. Wrapper `width`, `height`, and `aspectRatio` are treated as outer border-box dimensions, so the inner placeholder shrinks by the border thickness. Use simple uniform border shorthands such as `1px solid #cbd5e1` when you want the built-in sizing math to account for the border width.
220
+
221
+ `text` nodes render one skeleton bar per `lines` value. `lines` can be a single number or a numeric min-width map such as `{ 0: 3, 767: 2, 1200: 1 }`. Use `lineWidth` to override the shortened final-line width; it defaults to `68%` of the text block width and can also be responsive with numeric min-width keys.
222
+
194
223
  `centering: "first"` is designed for center-aligned peek sliders. When the real slider uses `align="center"` and the skeleton uses `mode: "peek"` with `layout.kind: "slider"`, the built-in skeleton renderer inserts the leading spacer needed to center the first visible placeholder. You should not add that spacer manually, and it does not apply when you replace the built-in skeleton with `transitions.loading.renderLoading`.
195
224
 
225
+ When you provide `transitions.loading.timing`, `exitMs` controls both how long the loading layer remains mounted after exit starts and its opacity transition duration. The real slider intro begins as soon as the loading exit starts; it does not wait for the loading layer to finish unmounting.
226
+
196
227
  ```typescript
197
228
  import { Slider } from "react-motion-gallery";
198
229
 
@@ -269,19 +300,19 @@ export function VariableWidthSkeletonSlider() {
269
300
  | `style` | `SkeletonContainerStyle \| Record<string, SkeletonContainerStyle>` | Track-level container styles such as `gap`, `padding`, `align`, `justify`, `width`, and `maxWidth`. |
270
301
  | `count` | `number \| undefined` | Optional explicit slot count for the layout. Falls back to `transitions.loading.skeletonCount`. |
271
302
  | `item` | `SkeletonNode` | Default placeholder node rendered in each slot. |
272
- | `itemWrapStyle` | `SkeletonBaseStyle \| undefined` | Shared wrapper size and margin rules for every slot. |
303
+ | `itemWrapStyle` | `SliderSkeletonWrapStyle \| undefined` | Shared wrapper size, margin, border, and box-shadow rules for every slot. Border sizing is border-box. |
273
304
  | `slots` | `SliderSkeletonSlot[] \| undefined` | Per-slot overrides for variable widths, heights, aspect ratios, or custom placeholder nodes. |
274
305
  | `direction` | `"row" \| "col" \| undefined` | Slot flow direction. `centering: "first"` only affects row layouts. |
275
- | `children` | `SkeletonNode[] \| undefined` | Optional extra skeleton content rendered after the slider row. |
306
+ | `children` | `SkeletonNode[] \| undefined` | Optional extra skeleton content rendered after the slider row. It does not affect `--rmg-slider-initial-height` or reserve live layout space. |
276
307
 
277
308
  #### `SliderSkeletonSlot`
278
309
 
279
310
  | Field | Type | Notes |
280
311
  | --- | --- | --- |
281
312
  | `item` | `SkeletonNode \| undefined` | Replaces the base `layout.item` for one slot. |
282
- | `itemWrapStyle` | `SkeletonBaseStyle \| undefined` | Merges on top of the base `layout.itemWrapStyle` for one slot. |
313
+ | `itemWrapStyle` | `SliderSkeletonWrapStyle \| undefined` | Merges on top of the base `layout.itemWrapStyle` for one slot, including wrapper borders and shadows. |
283
314
 
284
- `SkeletonNode` supports these building blocks: `rect`, `square`, `circle`, `text`, `media`, `row`, `col`, and `stack`.
315
+ `SkeletonNode` supports these building blocks: `rect`, `square`, `circle`, `text`, `media`, `row`, `col`, and `stack`. `text.lines` controls how many wrapped skeleton rows render for that text block, and `text.lineWidth` controls the trailing line width.
285
316
 
286
317
  ### Slider motion and effect options
287
318
 
@@ -297,6 +328,7 @@ export function VariableWidthSkeletonSlider() {
297
328
  | `effects.scale.enabled` | `boolean` | `—` | Scales neighboring slides. |
298
329
  | `effects.scale.amount` | `number` | `—` | Scale multiplier for the scale effect. |
299
330
  | `effects.fade.enabled` | `boolean` | `—` | Fades slides based on position. |
331
+ | `effects.fade.minOpacity` | `number` | `0.36` | Minimum opacity used for the fade effect, clamped from `0` to `1`. |
300
332
 
301
333
  ### Slider render callback args
302
334
 
@@ -507,14 +539,19 @@ The component forwards a ref to its outer thumbnail shell. The explicit `layout`
507
539
  | `transitions.loading.elements.row` | `ElementStyle` | `—` | Class and inline style for the built-in skeleton row or column wrapper. |
508
540
  | `transitions.loading.elements.thumbnail` | `ElementStyle` | `—` | Class and inline style for each built-in thumbnail placeholder. |
509
541
  | `transitions.loading.renderLoading` | `({ count }) => ReactNode` | `—` | Replaces the built-in thumbnail loading skeleton and receives the resolved responsive count. |
542
+ | `transitions.loading.timing.exitMs` | `number` | `600` | Keeps the thumbnail loading layer mounted for this long after exit starts. |
543
+ | `transitions.loading.timing.minVisibleMs` | `number` | `220` | Minimum time the loading layer stays visible before exit can begin. |
510
544
  | `transitions.intro.renderIntro` | `({ active, containerProps }, inner) => ReactNode` | `—` | Custom intro wrapper for the thumbnail rail. |
511
- | `transitions.intro.staggerMs` | `number` | `40` | Delay between thumbnail reveals. |
512
- | `transitions.intro.transform` | `string` | `"10px"` | Starting translate offset used by the default intro. |
513
- | `transitions.intro.durationMs` | `number` | `300` | Intro duration. |
514
- | `transitions.intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro easing. |
545
+ | `transitions.intro.staggerMs` | `number` | `40` | Delay between thumbnail fade-ins. |
546
+ | `transitions.intro.durationMs` | `number` | `300` | Intro fade duration. |
547
+ | `transitions.intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro fade easing. |
515
548
 
516
549
  `transitions.loading.elements.*` only applies to the built-in thumbnail skeleton. If you provide `transitions.loading.renderLoading`, you fully own the loading markup instead.
517
550
 
551
+ The built-in thumbnail placeholders use the same shimmer variable family as slider skeletons: `--rmg-skel-bg`, `--rmg-skel-shimmer-enabled`, `--rmg-skel-shimmer-opacity`, `--rmg-skel-shimmer-filter`, `--rmg-skel-shimmer-angle`, `--rmg-skel-shimmer-c1`, `--rmg-skel-shimmer-c2`, `--rmg-skel-shimmer-c3`, `--rmg-skel-shimmer-duration`, and `--rmg-skel-shimmer-timing`.
552
+
553
+ For thumbnails, `transitions.loading.timing.exitMs` controls both the mounted exit lifetime and the loading-layer opacity fade. The thumbnail intro can begin as soon as the loading exit starts.
554
+
518
555
  ### `createThumbnailSyncBridge`
519
556
 
520
557
  `ThumbnailSlider` creates and starts this bridge for you internally when you pass `indexChannel`. Reach for `createThumbnailSyncBridge()` only when you need to wire a local thumbnail rail to an external slider channel manually.
@@ -574,15 +611,22 @@ export function BasicGrid() {
574
611
  | `loading.force` | `boolean` | `—` | Keeps the loading layer visible even when media is ready. |
575
612
  | `loading.renderLoading` | `({ count }) => ReactNode` | `—` | Custom loading renderer. |
576
613
  | `loading.skeleton` | `GridSkeletonSpec` | `—` | Built-in grid skeleton spec. |
614
+ | `loading.timing.exitMs` | `number` | `600` | Keeps the loading layer mounted for this long after exit starts. |
615
+ | `loading.timing.minVisibleMs` | `number` | `220` | Minimum time the loading layer stays visible before exit can begin. |
577
616
  | `intro.renderIntro` | `({ active, containerProps }, content) => ReactNode` | `—` | Custom intro wrapper. |
578
- | `intro.staggerMs` | `number` | `40` | Reveal stagger. |
579
- | `intro.transform` | `string` | `"translateY(10px) scale(0.99)"` | Starting transform. |
580
- | `intro.durationMs` | `number` | `300` | Intro duration. |
581
- | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro easing. |
617
+ | `intro.staggerMs` | `number` | `40` | Reveal stagger for the fade-in. |
618
+ | `intro.durationMs` | `number` | `300` | Intro fade duration. |
619
+ | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro fade easing. |
582
620
  | `intro.staggerLimit` | `number` | `—` | Optional cap on how many items stagger. |
583
621
 
622
+ When `lazyLoad.enabled` is true, Grid rewrites trackable image `src` values into `data-rmg-lazy-src`, reveals them on viewport intersection, then fades them in after decode and spinner exit.
623
+
584
624
  Grid fullscreen behavior is provided by `GalleryCore` and `useFullscreenController`; Grid itself does not expose a ref-based imperative API.
585
625
 
626
+ Grid skeleton `text` nodes use the same wrapped-line treatment as slider skeletons, including responsive `lines` maps and the configurable trailing `lineWidth`.
627
+
628
+ Grid uses the same loading timing model as Slider: `loading.timing.exitMs` controls both how long the loading layer stays mounted after exit starts and its opacity transition, and the real grid intro begins as soon as exit starts.
629
+
586
630
  ## Masonry
587
631
 
588
632
  ```typescript
@@ -621,6 +665,8 @@ export function BasicMasonry() {
621
665
  | `gap` | `number \| Record<string, number>` | `—` | Responsive gap between columns and items. |
622
666
  | `placement` | `"balanced" \| "roundRobin"` | `"balanced"` | `balanced` aims for even column heights. |
623
667
  | `estimatedItemHeight` | `number` | `—` | Hint used before measurements settle. |
668
+ | `itemWrapClassName` | `string` | `—` | Class name added to the masonry item wrapper. |
669
+ | `itemWrapStyle` | `React.CSSProperties` | `—` | Inline styles applied to the masonry item wrapper. |
624
670
  | `as` | `React.ElementType` | `"div"` | Root HTML element or custom component. |
625
671
  | `rootRef` | `React.Ref<HTMLDivElement>` | `—` | Ref to the masonry root. |
626
672
  | `classNames.root` | `string` | `—` | Root class name. |
@@ -635,12 +681,119 @@ export function BasicMasonry() {
635
681
  | `loading.renderLoading` | `({ count }) => ReactNode` | `—` | Custom loading renderer. |
636
682
  | `loading.skeleton` | `MasonrySkeletonSpec` | `—` | Built-in masonry skeleton spec. |
637
683
  | `intro.renderIntro` | `({ active, containerProps }, content) => ReactNode` | `—` | Custom intro wrapper. |
638
- | `intro.staggerMs` | `number` | `40` | Reveal stagger. |
639
- | `intro.transform` | `string` | `"translateY(10px) scale(0.99)"` | Starting transform. |
640
- | `intro.durationMs` | `number` | `300` | Intro duration. |
641
- | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro easing. |
684
+ | `intro.staggerMs` | `number` | `40` | Reveal stagger for the fade-in. |
685
+ | `intro.durationMs` | `number` | `300` | Intro fade duration. |
686
+ | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Intro fade easing. |
642
687
  | `intro.staggerLimit` | `number` | `—` | Optional cap on how many items stagger. |
643
688
 
689
+ When `lazyLoad.enabled` is true, Masonry uses the same image shell behavior as Slider: trackable image `src` values move into `data-rmg-lazy-src`, the real images load on intersection, and the item only fades in after decode and spinner exit.
690
+
691
+ Masonry already accepts arbitrary React children, including text-containing JSX. The new wrapper props are only for styling the built-in masonry item shell.
692
+
693
+ Masonry skeletons can now use a structured `layout` spec with the same inner node vocabulary as Grid skeletons, including `text` nodes and `itemWrapStyle`.
694
+
695
+ `layout.slots` gives Masonry the same per-card override escape hatch that slider skeletons have. Use a slot when one card needs a different placeholder tree, wrapper styling, or outer height. `slot.ratio` maps to Masonry's card-height rhythm, while `slot.heightPx` lets you pin a specific shell height when you need an exact placeholder.
696
+
697
+ ```typescript
698
+ <Masonry
699
+ columns={{ 0: 1, 700: 2, 1100: 3 }}
700
+ gap={{ 0: 12, 1100: 20 }}
701
+ itemWrapStyle={{
702
+ padding: "6px",
703
+ borderRadius: "28px",
704
+ }}
705
+ loading={{
706
+ enabled: true,
707
+ skeleton: {
708
+ ratios: [118, 126, 102, 146],
709
+ layout: {
710
+ kind: "masonry",
711
+ itemWrapStyle: {
712
+ padding: 14,
713
+ borderRadius: 20,
714
+ boxShadow: "0 18px 36px rgba(15, 23, 42, 0.08)",
715
+ },
716
+ item: {
717
+ kind: "col",
718
+ style: { gap: 12 },
719
+ children: [
720
+ {
721
+ kind: "rect",
722
+ style: { width: "100%", height: 180, borderRadius: 16 },
723
+ },
724
+ {
725
+ kind: "text",
726
+ fontSize: 12,
727
+ lineHeight: 1.4,
728
+ lines: 1,
729
+ lineWidth: "36%",
730
+ style: { width: "34%", borderRadius: 999 },
731
+ },
732
+ {
733
+ kind: "text",
734
+ fontSize: 18,
735
+ lineHeight: 1.35,
736
+ lines: { 0: 2, 900: 1 },
737
+ lineWidth: "64%",
738
+ style: { width: "88%" },
739
+ },
740
+ {
741
+ kind: "text",
742
+ fontSize: 14,
743
+ lineHeight: 1.55,
744
+ lines: 3,
745
+ lineWidth: "74%",
746
+ style: { width: "100%" },
747
+ },
748
+ ],
749
+ },
750
+ slots: [
751
+ {
752
+ ratio: 182,
753
+ item: {
754
+ kind: "col",
755
+ style: { gap: 12 },
756
+ children: [
757
+ {
758
+ kind: "rect",
759
+ style: { width: "100%", aspectRatio: "3 / 5", borderRadius: 16 },
760
+ },
761
+ {
762
+ kind: "text",
763
+ fontSize: 12,
764
+ lineHeight: 1.4,
765
+ lines: 1,
766
+ lineWidth: "36%",
767
+ style: { width: "28%", borderRadius: 999 },
768
+ },
769
+ {
770
+ kind: "text",
771
+ fontSize: 18,
772
+ lineHeight: 1.35,
773
+ lines: 1,
774
+ lineWidth: "64%",
775
+ style: { width: "72%" },
776
+ },
777
+ {
778
+ kind: "text",
779
+ fontSize: 14,
780
+ lineHeight: 1.55,
781
+ lines: 2,
782
+ lineWidth: "78%",
783
+ style: { width: "100%" },
784
+ },
785
+ ],
786
+ },
787
+ },
788
+ ],
789
+ },
790
+ },
791
+ }}
792
+ >
793
+ {items}
794
+ </Masonry>
795
+ ```
796
+
644
797
  ## Entries
645
798
 
646
799
  `Entries` is the structured-data surface. You pass entry objects, render each media item however you want, and provide a `renderMediaContainer` function that decides whether an entry’s media should be laid out as a slider, grid, or masonry block.
@@ -747,13 +900,15 @@ export function EntryGallery() {
747
900
  | `loading.decodeTimeoutMs` | `number` | `8000` | Decode timeout fallback. |
748
901
  | `loading.skeletonWrap` | `ElementStyle` | `—` | Styles the skeleton wrapper. |
749
902
  | `intro.renderIntro` | `({ active, containerProps }, content) => ReactNode` | `—` | Custom intro wrapper. |
750
- | `intro.staggerMs` | `number` | `200` | Delay between entry reveals. |
751
- | `intro.durationMs` | `number` | `700` | Entry intro duration. |
752
- | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Entry intro easing. |
903
+ | `intro.staggerMs` | `number` | `200` | Delay between entry fade-ins. |
904
+ | `intro.durationMs` | `number` | `700` | Entry intro fade duration. |
905
+ | `intro.easing` | `string` | `"cubic-bezier(.2,.7,.2,1)"` | Entry intro fade easing. |
753
906
  | `intro.staggerLimit` | `number` | `6` | Maximum number of entries that receive staggered delays. |
754
907
  | `entryList` | `ElementStyle` | `—` | Styles the entry list container. |
755
908
  | `entryRow` | `ElementStyle` | `—` | Styles each entry row container. |
756
909
 
910
+ Entry skeleton `text` nodes also render wrapped line bars via `lines`, matching the slider and grid skeleton behavior, including responsive line counts and configurable trailing `lineWidth`.
911
+
757
912
  ### Entry-related callback and helper types
758
913
 
759
914
  #### `EntryItem`
@@ -964,6 +1119,12 @@ The hook returns additional refs and setters for the internal fullscreen runtime
964
1119
  | `caption.height` | `number` | `—` | Caption area height. |
965
1120
  | `caption.breakpoint` | `number` | `—` | Viewport cutoff for switching placement logic. |
966
1121
  | `caption.render` | `({ item, index, isZoomed }) => ReactNode` | `—` | Custom caption renderer. |
1122
+ | `caption.layout` | `"overlay" \| "slide"` | `—` | Chooses whether the caption overlays the media or lives in the slide layout. |
1123
+ | `caption.zoomFade` | `boolean` | `true` | Fades captions out on fullscreen zoom-in and back in on zoom-out. |
1124
+ | `caption.zoomFadeDurationMs` | `number` | `300` | Duration for fullscreen caption zoom fades. |
1125
+ | `caption.zoomFadeEasing` | `string` | `"cubic-bezier(.4,0,.22,1)"` | Easing for fullscreen caption zoom fades. |
1126
+ | `caption.zoomInTransform` | `string` | `""` | Optional transform applied while captions fade out on zoom-in. |
1127
+ | `caption.zoomOutTransform` | `string` | `""` | Optional transform used as the starting point when captions fade back in on zoom-out. |
967
1128
  | `slider.duration` | `number` | `25` | Fullscreen slider motion duration. |
968
1129
  | `slider.friction` | `number` | `0.68` | Fullscreen slider friction. |
969
1130
  | `slider.direction` | `"ltr" \| "rtl"` | `"ltr"` | Fullscreen slider interaction direction. |
@@ -0,0 +1,45 @@
1
+ import {a as a$1,c as c$4,b as b$4,d as d$4}from'./chunk-ZX5E327W.mjs';import {b,d as d$2,h as h$2,e as e$3,c as c$2,g as g$1,i,f as f$3}from'./chunk-DBIFLX6Y.mjs';import {j,f,h,g as g$2,c as c$3,b as b$3,a as a$5,e as e$4,d as d$3}from'./chunk-NABNX5HB.mjs';import {b as b$2,c,d,f as f$1,e as e$1,h as h$1,g,a as a$4}from'./chunk-FJYYM5TH.mjs';import {B,m,s,v,w,b as b$5,j as j$3,x,h as h$3,t,i as i$1,r,d as d$5,e as e$5,p as p$1,c as c$5,g as g$3,q as q$1}from'./chunk-BIDZ4WZB.mjs';import {a as a$6}from'./chunk-AKY343WN.mjs';import {q,j as j$2,k,p,n}from'./chunk-JMFDRKTX.mjs';import {e}from'./chunk-J4E4PKE5.mjs';import {a,b as b$1,c as c$1,d as d$1,e as e$2}from'./chunk-ECQ74X24.mjs';import {a as a$2}from'./chunk-LVYED5ZM.mjs';import {a as a$3,f as f$2,j as j$1}from'./chunk-6TPHLAUP.mjs';import*as L from'react';import {forwardRef,useRef,useState,useMemo,useEffect,useCallback,useLayoutEffect,useImperativeHandle,isValidElement,cloneElement,Children}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var le={layout:{gap:20},direction:{dir:"ltr",axis:"x"},align:"start",scroll:{groupCells:false,skipSnaps:false,freeScroll:false,loop:false},lazyLoad:{enabled:false,spinner:true,spinnerClassName:"",spinnerStyle:{}},controls:{arrows:{enabled:true,arrow:{},prev:{},next:{}},dots:{enabled:true,root:{},dot:{}},progress:{enabled:false,root:{},bar:{}},scrollbar:{enabled:false,root:{}},ripple:{enabled:true,className:""}},auto:{play:{enabled:false,speedMs:3e3,pauseMs:1e3,pauseOnHover:true},scroll:{enabled:false,speedMs:.3,pauseMs:1e3,pauseOnHover:true}},motion:{selectDuration:25,freeScrollDuration:43,friction:.68}};var $={rtl:"q",track:"r",viewport:"ue",dotsRoot:"xe",dotsRootX:"ye",dotsRootY:"ke",contentLayer:"we",contentBlocked:"ze",loadingLayer:"A",loadingLayerExit:"Xe",fadeInStart:"_e",fadeInActive:"g",pagination_dot:"a",active:"je",inactive:"Ye",scrollbar:"i",scrollbarY:"Ze",ripple:"p",fade_container:"B",spinner:"qe",rmgSpin:"C",spinnerWrap:"Ae",sliderSkeletonOverlay:"D",sliderSkeletonLayout:"Be",sliderSkeletonRow:"Ce",sliderSkeletonExtras:"De",sliderScope:"Ee",sliderShell:"Fe",sliderSkeletonItem:"E",sliderSkeletonGroup:"Ge",sliderSkeletonText:"He",sliderSkeletonTextLine:"Ie",sliderSkeleton:"f",rmgShimmer:"F"};var Fa=.2;function Li(e,t){return (e%t+t)%t}function Ei({enabled:e,wrap:t,axisMain:n,sliderRef:s,sliderWidthRef:l,offsetLocationRef:c,visibleImagesRef:d,slidesRef:m,getCenterOffsetForIndex:y,slidesLen:x,clonedLen:w,isReady:H}){let _=L.useRef([]),F=L.useRef([]),C=L.useRef([]),T=L.useCallback(()=>{let S=s.current;if(!S)return;let B=l.current||0,P=[],D=[],U=Array.from(S.children);for(let E of U){let I=E.querySelector(".rmg__parallax__layer");if(!I)continue;let u=E.getAttribute("data-rmg-idx");if(u==null)continue;let O=parseInt(u,10);if(isNaN(O))continue;let G=m.current?.[O];if(!G)continue;let Me=y(O),Ue=B>0?Li(G.target-Me,B)/B:0;P.push(I),D.push(Ue);}_.current=P,F.current=P,C.current=D;},[s,l,m,y]),N=L.useCallback(()=>{let S=C.current.length||1,B=Math.max(d.current||1,1);return Fa*(S/B)},[d]),W=L.useCallback(()=>{let S=s.current,B=l.current||0;if(!S)return 0;let P=-(c.current?.get()??0);if(!t){let U=Math.max(0,B-S.clientWidth);return U<=0?0:Math.min(1,Math.max(0,P/U))}return B<=0?0:Li(P,B)/B},[s,l,c,t]),A=L.useCallback(()=>{if(!e)return;let S=F.current,B=C.current;if(!S.length||S.length!==B.length)return;let P=W(),D=N();function U(E,I){let u=E-I;return u>.5&&(u-=1),u<-0.5&&(u+=1),u}for(let E=0;E<S.length;E++){let I=B[E],O=(t?U(I,P):I-P)*(-1*D)*100;S[E].style.transform=n==="x"?`translateX(${O}%) scale(var(--rmg-bleed-scale))`:`translateY(${O}%) scale(var(--rmg-bleed-scale))`;}},[e,t,n,W,N]);return L.useEffect(()=>{e&&T();},[e,x,w,t,H,T]),L.useEffect(()=>{e||_.current.forEach(S=>S&&S.removeAttribute("style"));},[e]),L.useEffect(()=>{e&&x&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{A();});});},[e,x,w,t,A,H]),{collectParallaxForAll:T,tweenParallax:A,parallaxNodesRef:F,parallaxSnapsRef:C}}function za(e){return Math.max(0,Math.min(1,e))}function Ti({enabled:e,scaleAmount:t,wrap:n,sliderRef:s,sliderWidthRef:l,offsetLocationRef:c,slidesRef:d,getCenterOffsetForIndex:m,slidesLen:y,clonedLen:x}){let w=L.useCallback(C=>{let T=d.current?.[C];if(!T||!s.current)return 0;let N=m(C);return T.target-N},[d,s,m]),H=L.useCallback(()=>{let C=d.current?.length??0,T=[];for(let N=0;N<C;N++)T.push(w(N));return T},[d,w]),_=L.useCallback(C=>{let T=H(),N=T.length;if(!N)return {iL:0,iR:0,t:0};let W=l.current||0,A=n&&W>0,S=[];for(let u=0;u<N;u++){let O=T[u];A?(S.push({x:O-W,i:u}),S.push({x:O,i:u}),S.push({x:O+W,i:u})):S.push({x:O,i:u});}S.sort((u,O)=>u.x-O.x);let B=0,P=0;for(let u=0;u<S.length-1;u++){let O=S[u],G=S[u+1];if(C>=O.x&&C<=G.x){B=u,P=u+1;break}}C<S[0].x&&(B=0,P=1),C>S[S.length-1].x&&(B=S.length-2,P=S.length-1);let D=S[B],U=S[P],E=Math.max(1,U.x-D.x),I=za((C-D.x)/E);return {iL:D.i,iR:U.i,t:I}},[H,l,n]),F=L.useCallback(()=>{if(!e||!s.current||!d.current?.length||!t)return;let C=s.current,T=Array.from(C.children),N=-(c.current?.get()??0),{iL:W,iR:A,t:S}=_(N),B=1-S,P=S,D=d.current.length,U=new Array(D).fill(1);U[W]=1+(t-1)*B,U[A]=1+(t-1)*P;for(let E of T){let I=E.getAttribute("data-rmg-idx");if(!I){E.style.setProperty("--rmg-scale","1"),E.style.zIndex="0";continue}let u=Number(I),O=U[u]??1;E.style.setProperty("--rmg-scale",String(O)),E.style.zIndex=O>1.0001?"1":"0",E.style.transformOrigin||(E.style.transformOrigin="center"),E.style.transition||(E.style.transition="transform 120ms linear");}},[e,s,d,t,c,_]);return L.useEffect(()=>{F();},[e,t,y,x]),L.useEffect(()=>{if(e)return;let C=s.current;if(!C)return;let T=Array.from(C.children);for(let N of T)N.style.setProperty("--rmg-scale","1"),N.style.zIndex="0";},[e,s]),{applyPairScaleTween:F,getCenters:H}}var $a=.36;function Wa(e){return Math.max(0,Math.min(1,e))}function ja(e,t,n){let s=Math.abs(e-t);return n>0&&(s=Math.min(s,Math.abs(e-(t-n)),Math.abs(e-(t+n)))),s}function Ai({enabled:e,minOpacity:t,wrap:n,sliderRef:s,sliderWidthRef:l,offsetLocationRef:c,slidesRef:d,getCenterOffsetForIndex:m,slidesLen:y,clonedLen:x}){let w=L.useCallback(C=>{let T=d.current?.[C];if(!T||!s.current)return 0;let N=m(C);return T.target-N},[d,s,m]),H=L.useCallback(()=>{let C=d.current?.length??0,T=[];for(let N=0;N<C;N++)T.push(w(N));return T},[d,w]),_=L.useMemo(()=>typeof t!="number"||!Number.isFinite(t)?$a:Wa(t),[t]),F=L.useCallback(()=>{if(!e||!s.current||!d.current?.length)return;let C=s.current,T=Array.from(C.children),N=-(c.current?.get()??0),W=H(),A=W.length;if(!A)return;let S=l.current||0,B=n&&S>0,P=[];for(let u=0;u<A;u++){let O=W[u];B?(P.push({x:O-S,i:u}),P.push({x:O,i:u}),P.push({x:O+S,i:u})):P.push({x:O,i:u});}P.sort((u,O)=>u.x-O.x);let D=0,U=1;for(let u=0;u<P.length-1;u++){let O=P[u],G=P[u+1];if(N>=O.x&&N<=G.x){D=u,U=u+1;break}}let E=Math.max(1,P[U].x-P[D].x),I=new Array(A).fill(_);for(let u=0;u<A;u++){let O=W[u],G=B?ja(N,O,S):Math.abs(N-O),Me=Math.max(0,Math.min(1,1-G/E)),Ue=_+(1-_)*Me;I[u]=Ue;}for(let u of T){let O=u.getAttribute("data-rmg-idx");if(!O){u.style.opacity="1";continue}let G=Number(O),Me=I[G]??1;u.style.opacity=String(Me),u.style.transition||(u.style.transition="opacity 120ms linear");}},[e,s,d,c,H,_,l,n]);return L.useEffect(()=>{F();},[e,y,x,n]),L.useEffect(()=>{if(e)return;let C=s.current;if(!C)return;let T=Array.from(C.children);for(let N of T)N.style.opacity="1";},[e,s]),{applyFadeTween:F,getCenters:H}}function Va({axisMain:e,direction:t,size:n=32}){let s=jsx("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6z"}),l=jsx("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6z"});return e==="y"?jsx("svg",{viewBox:"0 0 24 24",width:n,height:n,fill:"#000",xmlns:"http://www.w3.org/2000/svg","aria-hidden":true,style:{transform:"rotate(90deg)",transformOrigin:"50% 50%"},children:t==="prev"?s:l}):jsx("svg",{viewBox:"0 0 24 24",width:n,height:n,fill:"#000",xmlns:"http://www.w3.org/2000/svg","aria-hidden":true,children:t==="prev"?s:l})}var qa={position:"absolute",overflow:"hidden",backgroundColor:"rgba(255, 255, 255, 0.75)",boxShadow:"0 0 5px rgba(0, 0, 0, 0.5)",borderRadius:"100%",zIndex:2,width:36,height:36,display:"flex",justifyContent:"center",alignItems:"center",transition:"opacity 120ms"};function Xa(e){return e==="y"?{left:"50%",top:10,transform:"translateX(-50%)"}:{left:10,top:"50%",transform:"translateY(-50%)"}}function Ka(e){return e==="y"?{left:"50%",bottom:10,transform:"translateX(-50%)"}:{right:10,top:"50%",transform:"translateY(-50%)"}}function Ni(e){let{axisMain:t,clientKey:n,wrap:s,isRtl:l,showArrows:c,selectedIndex:d,slideCount:m,measureRef:y,viewportMainSizeRef:x,previous:w,next:H,prevButtonRef:_,nextButtonRef:F,createRipple:C,arrowStyles:T,prevArrowStyles:N,nextArrowStyles:W,arrowClassName:A,prevArrowClassName:S,nextArrowClassName:B,renderPrevArrow:P,renderNextArrow:D,renderArrows:U}=e,E=!s&&d<=0,I=!s&&d>=Math.max(0,m-1),u=y.current?y.current[n]:0,O=!(m>1&&y.current&&x.current>u),G=!c||O,Me=G||!s&&(l?I:E),Ue=G||!s&&(l?E:I),tt={...T??{},...N??{}},dt={...T??{},...W??{}},Ar=[A,S].filter(Boolean).join(" "),jt=[A,B].filter(Boolean).join(" ");function Mt(j,ke){return ()=>{ke||requestAnimationFrame(()=>{j==="prev"?w():H();});}}let Lt=({dir:j,ref:ke,onClick:Pr,hidden:Et,disabled:$e,className:qt})=>{let ft=$e?.35:1,Hr=j==="prev"?Xa(t):Ka(t),rt=j==="prev"?tt:dt;return jsx("div",{ref:ke,className:`rmgArrow rmgArrow--${j} ${qt??""}`,onClick:Xt=>{Et||(C(Xt.currentTarget),requestAnimationFrame(()=>Pr()));},style:{...qa,...Hr,...rt,cursor:$e?"default":"pointer",opacity:Et?0:ft,pointerEvents:Et?"none":"auto",visibility:Et?"hidden":"visible"},"aria-label":j==="prev"?"Previous slide":"Next slide",role:"button",title:$e?j==="prev"?"At first slide":"At last slide":j==="prev"?"Previous":"Next",children:jsx(Va,{axisMain:t,direction:j,size:32})})},Vt=(j,ke)=>j==="prev"&&P?P(ke):j==="next"&&D?D(ke):U?U({...ke,dir:j}):Lt({...ke,dir:j}),Nr=Vt("prev",{ref:_,hidden:G,disabled:Me,onClick:Mt("prev",G),createRipple:C,className:Ar}),Ir=Vt("next",{ref:F,hidden:G,disabled:Ue,onClick:Mt("next",G),createRipple:C,className:jt});return jsxs(Fragment,{children:[Nr,Ir]})}function Ga(e){let{AX:t,slider:n,sliderWidth:s,showDots:l}=e,c=n.current?n.current[t.clientKey]:0,d=!!(n.current&&s.current<=c);return {clientMain:c,dotsAutoHidden:d,dotsHidden:!l||d}}function Za(e){let{AX:t,createRipple:n,styles:s,dotsContainerStyles:l,dotsStyles:c}=e;return function({ref:m,count:y,activeIndex:x,hidden:w,goTo:H,getDotRef:_,classNameContainer:F,classNameDot:C}){return jsx("div",{ref:m,"data-rmg-part":"dots","data-rmg-axis":t.main,className:[s.dotsRoot,t.main==="y"?s.dotsRootY:s.dotsRootX,"rmgDots",F??""].filter(Boolean).join(" "),style:{opacity:w?0:1,pointerEvents:w?"none":"auto",visibility:w?"hidden":"visible",...l||{}},children:Array.from({length:y}).map((T,N)=>{let W=x===N;return jsx("div",{ref:_(N),onMouseDown:A=>{n(A.currentTarget);},onClick:()=>H(N),className:[s.pagination_dot,W?s.active:s.inactive,"rmgDot",C??""].filter(Boolean).join(" "),style:{...c||{}}},N)})})}}function Pi(e){let{AX:t,slider:n,sliderWidth:s,showDots:l,selectedIndex:c,slides:d,dotsContainerRef:m,dotRefs:y,isScrolling:x,goToIndex:w,renderDots:H,createRipple:_,styles:F,dotsContainerStyles:C,dotsStyles:T,dotsContainerClassName:N,dotsClassName:W}=e,{dotsHidden:A}=Ga({AX:t,slider:n,sliderWidth:s,showDots:l}),S=Za({AX:t,createRipple:_,styles:F,dotsContainerStyles:C,dotsStyles:T}),B=(H??S)({ref:m,count:d.current?.length??0,activeIndex:c.current,hidden:A,goTo:P=>{x.current=false,requestAnimationFrame(()=>w(P));},getDotRef:P=>D=>{y.current[P]=D;},createRipple:_,classNameContainer:N,classNameDot:W});return {dotsHidden:A,dotsNode:B}}function Zn(e){return Math.max(0,Math.min(1,e))}function Bi(e){let{AX:t,lastProgressRef:n,progressHolderRef:s,progressInnerRef:l,p:c}=e,d=Zn(c);n.current=d;let m=s.current,y=l.current;m&&(m.style.setProperty("--rmg-progress",String(d)),m.setAttribute("data-rmg-progress",String(d)),m.setAttribute("aria-valuenow",String(Math.round(d*100)))),y&&t.main==="x"?y.style.width=`${d*100}%`:y&&t.main==="y"&&(y.style.height=`${d*100}%`);}function Ja(e){let{AX:t,wrap:n,offsetLocationRef:s,scrollLimitRef:l,lastProgressRef:c,progressHolderRef:d,progressInnerRef:m}=e,y=ln({wrap:n,offsetLocationRef:s,scrollLimitRef:l});Bi({AX:t,lastProgressRef:c,progressHolderRef:d,progressInnerRef:m,p:y});}function ln(e){let{wrap:t,offsetLocationRef:n,scrollLimitRef:s}=e,l=s.current;if(!l)return 0;let c=l.max-l.min;if(c<=0)return 1;let d=n.current?.get()??l.max,m=t?l.removeOffset(d):l.constrain(d);return Zn((l.max-m)/c)}function Qa({ref:e,innerRef:t,hidden:n,progress:s,axis:l,className:c,style:d,innerClassName:m,innerStyle:y}){if(n)return null;let x=l==="y";return jsx("div",{ref:e,className:c,style:{position:"absolute",left:x?6:"50%",top:x?"50%":void 0,bottom:x?void 0:6,transform:x?"translateY(-50%)":"translateX(-50%)",width:x?4:"60%",height:x?"60%":4,background:"rgba(0,0,0,0.3)",borderRadius:9999,overflow:"hidden",zIndex:10,pointerEvents:"none","--rmg-progress":s,...d||{}},"aria-hidden":true,"data-rmg-progress":String(s),children:jsx("div",{ref:t,className:m,style:{width:x?"100%":"calc(var(--rmg-progress, 0) * 100%)",height:x?"calc(var(--rmg-progress, 0) * 100%)":"100%",background:"rgb(80,163,255)",transition:"none",...y||{}}})})}function Di(e){let{AX:t,wrap:n,offsetLocationRef:s,scrollLimitRef:l,lastProgressRef:c,progressHolderRef:d,progressInnerRef:m,showProgress:y,renderProgress:x,progressClassName:w,progressStyle:H,progressInnerClassName:_,progressInnerStyle:F}=e,T=!(y??false)||false,N=(x??Qa)({ref:d,innerRef:m,hidden:T,progress:c.current,axis:t.main,className:w,style:H,innerClassName:_,innerStyle:F});return {progressHidden:T,progressNode:N,setProgressDom:A=>Bi({AX:t,lastProgressRef:c,progressHolderRef:d,progressInnerRef:m,p:A}),updateProgressInFrame:()=>Ja({AX:t,wrap:n,offsetLocationRef:s,scrollLimitRef:l,lastProgressRef:c,progressHolderRef:d,progressInnerRef:m})}}var ec=0,tc=1,rc=.001;function Oi(e){let{scrollbarRef:t,p:n}=e,s=t.current;if(!s)return;let l=Zn(n),c=String(l);s.value=c,s.style.setProperty("--rmg-scrollbar-progress",c),s.setAttribute("data-rmg-scrollbar-progress",c),s.setAttribute("aria-valuenow",String(Math.round(l*100)));}function nc(e){let{wrap:t,offsetLocationRef:n,scrollLimitRef:s,lastProgressRef:l,scrollbarRef:c}=e,d=ln({wrap:t,offsetLocationRef:n,scrollLimitRef:s});l.current=d,Oi({scrollbarRef:c,p:d});}function oc({ref:e,hidden:t,value:n,axis:s,min:l,max:c,step:d,onChange:m,className:y,style:x}){if(t)return null;let w=s==="y";return jsx("input",{ref:e,className:y,style:{position:"absolute",left:w?10:"50%",top:w?"50%":void 0,bottom:w?void 0:10,transform:w?"translateY(-50%) rotate(-90deg)":"translateX(-50%)",width:w?"60%":"min(60%, 28rem)",zIndex:10,...x},onChange:m,onInput:H=>m(H),type:"range",min:String(l),max:String(c),step:String(d),defaultValue:String(n),"aria-label":"Slider scroll position","data-rmg-scrollbar":"true"})}function _i(e){let{AX:t,wrap:n,offsetLocationRef:s,scrollLimitRef:l,lastProgressRef:c,scrollbarRef:d,showScrollbar:m,renderScrollbar:y,scrollbarClassName:x,scrollbarStyle:w,onScrollBarChange:H,styles:_}=e,F=l.current,C=!F||Math.abs(F.max-F.min)<=.001,T=!(m??false)||C,N=(y??oc)({ref:d,hidden:T,value:c.current,axis:t.main,min:ec,max:tc,step:rc,onChange:H,className:[_.scrollbar,sc(t.main,_),x??""].filter(Boolean).join(" "),style:w});return {scrollbarHidden:T,scrollbarNode:N,setScrollBarDom:W=>Oi({scrollbarRef:d,p:W}),updateScrollBarInFrame:()=>nc({wrap:n,offsetLocationRef:s,scrollLimitRef:l,lastProgressRef:c,scrollbarRef:d})}}function sc(e,t){return e==="y"?t.scrollbarY:""}function zi(e){return e.props??{}}function Uo(e){return e.type?.rmgMediaKind==="video"}function Yo(e){if(Uo(e))return "video";if(typeof e.type=="string"){let n=e.type.toLowerCase();return n==="video"||n==="iframe"?"video":"image"}let t=zi(e);return t.poster||t.source||t.sourceBuilder?"video":"image"}function lc(e){let t=[],n=s=>{if(s==null||typeof s=="boolean")return;if(Array.isArray(s)){s.forEach(n);return}if(typeof s=="string"||typeof s=="number"||!L.isValidElement(s))return;let l=zi(s);if(Yo(s)!=="video"){let c=l.src;typeof c=="string"&&c.length>0&&t.push(c);}l.children!=null&&n(l.children);};return n(e),t}function $i(e,t){if(!t)return Array.from(new Set(lc(e).filter(Boolean)))}var uc=5;function Go(e){if(typeof e=="string")return e;if(typeof e=="function"){let t=e;return t.displayName||t.name||"anonymous"}if(typeof e=="symbol")return String(e);if(e&&typeof e=="object"){let t=e;if(typeof t.displayName=="string"&&t.displayName.length>0)return t.displayName;if(t.render)return Go(t.render);if(t.type)return Go(t.type);if(t.$$typeof)return t.$$typeof.toString()}return "unknown"}function dc(e){if(!e||typeof e!="object")return false;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function an(e,t=0){if(t>uc)return "[depth]";if(e==null)return String(e);switch(typeof e){case "string":return JSON.stringify(e);case "number":case "bigint":case "boolean":return String(e);case "undefined":return "undefined";case "function":return `[fn:${e.name||"anonymous"}]`;case "symbol":return e.toString();}if(Array.isArray(e))return `[${e.map(s=>an(s,t+1)).join(",")}]`;if(isValidElement(e)){let s=e.props??{},l=Go(e.type),c=Object.entries(s).filter(([m])=>m!=="children").sort(([m],[y])=>m.localeCompare(y)).map(([m,y])=>`${m}:${an(y,t+1)}`).join(","),d=an(s.children,t+1);return `<${l} key=${String(e.key??"")} props={${c}} children=${d}>`}return dc(e)?`{${Object.entries(e).sort(([s],[l])=>s.localeCompare(l)).map(([s,l])=>`${s}:${an(l,t+1)}`).join(",")}}`:`[obj:${e.constructor?.name??"object"}]`}function Wi(e){return Children.toArray(e).map(t=>an(t)).join("|")}function ji(e){let{enabled:t,busy:n,fromIndex:s,toIndex:l}=e;return !t||n?false:s!==l}function gc(e,t){let n=e??"x";return a$4({ownerWindow:t,axis:{scroll:n,cross:n==="x"?"y":"x"}})}var yc=420,hc="cubic-bezier(.4,0,.22,1)";function bc(e){let{wrap:t,centerAlign:n,cellsPerSlide:s}=e,l=typeof s=="number"&&Number.isFinite(s)&&s>0;return t||!!n||l}function Sc(e,t){return Array.from(e.querySelectorAll(`[data-rmg-slide="true"][data-rmg-idx="${t}"]`))}function xc(e){let t=e.getAttribute("data-rmg-idx"),n=t!=null?parseInt(t,10):NaN;return Number.isFinite(n)?n:null}function Ui(e,t){if(!t)return;let n=xc(e);n!=null&&t.add(n);}async function Zo(e,t,n){let s=Sc(e,t);if(!s.length)return;let l=s.filter(c=>c.hasAttribute("data-rmg-lazyload")&&c.getAttribute("data-rmg-lazyloaded")!=="true");l.length&&await Promise.all(l.map(async c=>{if(c.getAttribute("data-rmg-lazyloading")!=="true"){c.setAttribute("data-rmg-lazyloading","true");try{await es(c,n);}finally{c.removeAttribute("data-rmg-lazyloading");}}}));}function Rc(e){n(e);}function vc(e,t){p(e,{onRevealed:()=>{Ui(e,t);}});}async function es(e,t){await q(e,{onRevealed:()=>{Ui(e,t);}});}function wc(e){return e.querySelector(".plyr")||e.querySelector('[data-rmg-video-snapshot="true"]')||e.querySelector("video")||e.querySelector("iframe")||e.querySelector("[data-plyr-provider], [data-plyr-embed-id]")?"video":"image"}function kc(e){return {enabled:e?.enabled??false,spinner:e?.spinner??true,spinnerClassName:e?.spinnerClassName,spinnerStyle:e?.spinnerStyle}}function Cc(e){let{lazy:t,kind:n,isClone:s}=e;if(!t.enabled)return {render:false,node:null,isCustom:false};let l=t.spinner;return l===false?{render:false,node:null,isCustom:false}:typeof l=="function"?{render:true,node:l({kind:n,isClone:s}),isCustom:true}:l===true||l==null?{render:true,node:null,isCustom:false}:{render:true,node:l,isCustom:true}}function Jo(e,t,n,s,l,c,d,m,y,x,w,H,_){let F=c!=null?(n%c+c)%c:n,C=Yo(e),T=Uo(e),N=H?.has(F)??false,W=(E,I)=>{x&&(I?x.current[F]=I:delete x.current[F]);},A={normIdx:F,isClone:!!y,storeBag:w,indexChannel:_,registerApiByIndex:W},S=d?Cc({lazy:d,kind:C,isClone:!!y}):{render:false,node:null,isCustom:false},B=[S.isCustom?$.spinnerWrap:$.spinner,d?.spinnerClassName].filter(Boolean).join(" "),P=d?.enabled&&S.render?S.isCustom?jsx("div",{"data-rmg-spinner":true,className:B,style:d.spinnerStyle,"aria-hidden":"true",children:S.node}):jsx("div",{"data-rmg-spinner":true,className:B,style:d.spinnerStyle,"aria-hidden":"true"}):null,D={"data-rmg-slide":"true","data-rmg-idx":String(F),"data-rmg-rendered-idx":String(n),"data-rmg-kind":C,"data-rmg-clone":y?"true":"false",ref:E=>{if(E&&!s.current.some(I=>I.element===E)&&s.current.push({element:E,index:n}),E&&d?.enabled&&(N?vc(E,H):Rc(E)),E){let I=wc(E);E.getAttribute("data-rmg-kind")!==I&&E.setAttribute("data-rmg-kind",I);}},style:{position:"relative",flex:"0 0 auto",...m||{},transform:"scale(var(--rmg-scale, 1))",transformOrigin:"center",userSelect:"none"}},U=e;if(T){let I=(e.props??{}).registerApiByIndex;U=cloneElement(e,{registerApiByIndex:(u,O)=>{W(u,O),I?.(u,O);}});}else if(d?.enabled&&!N&&typeof e.type=="string"&&e.type.toLowerCase()==="img"){let E=e.props||{},I=E.alt??"",u=typeof E.src=="string"?E.src:"";u&&u!==j$2&&(U=cloneElement(e,{src:j$2,alt:I,[k]:u,decoding:E.decoding??"async",style:{...E.style||{},opacity:0,transition:E.style?.transition??"opacity 280ms ease"}}));}return l?jsx("div",{...D,className:"rmg__slide",children:jsx(a$6,{value:A,children:jsxs("div",{className:"rmg__parallax",children:[jsx("div",{className:"rmg__parallax__layer",children:U}),P]})})},t):jsx("div",{...D,children:jsxs(a$6,{value:A,children:[U,P]})},t)}var Mc=forwardRef(function({children:t,cellCount:n,isClick:s,expandableImageRefs:l,isReady:c$1,setIsReady:d$1,loop:m,freeScroll:y,autoPlay:x,autoPlaySpeed:w,autoPlayPause:H,autoScroll:_,autoScrollSpeed:F,autoScrollPause:C,pauseAutoPlayOnHover:T,pauseAutoScrollOnHover:N,groupCells:W,centerAlign:A,gap:S,sliderViewportStyles:B$1,sliderViewportClassName:P,sliderContainerStyles:D,sliderContainerClassName:U,arrowStyles:E,arrowClassName:I,prevArrowStyles:u,prevArrowClassName:O,nextArrowStyles:G,nextArrowClassName:Me,dotsContainerStyles:Ue,dotsContainerClassName:tt,dotsStyles:dt,dotsClassName:Ar,renderArrows:jt,renderPrevArrow:Mt,renderNextArrow:Lt,renderDots:Vt,showArrows:Nr,showDots:Ir,showProgress:j$1,progressClassName:ke,progressStyle:Pr,progressInnerClassName:Et,progressInnerStyle:$e,renderProgress:qt,showScrollbar:ft,scrollbarClassName:Hr,scrollbarStyle:rt,renderScrollbar:Xt,parallax:Ye,parallaxBleedPct:Tt,parallaxBorderRadius:Kt,parallaxSideWidth:or,scaleEffect:yt,scaleAmount:eo,fadeEffect:nt,fadeMinOpacity:to,crossfadeControls:bn,crossfadeDrag:ro,crossfadeDurationMs:sr,crossfadeEasing:ir,cellsPerSlide:We,direction:Sn,axis:Le,skipSnaps:R,selectDuration:K,freeScrollDuration:Te,sliderFriction:Ae,indexChannel:ot,introOptions:Ge,introUnlocked:At,lazyLoad:me,rippleEnabled:ds,rippleClassName:lr,sliderImagesReady:fs,enableFullscreen:xn,requestFullscreenOpen:Rl,isFullscreenOpen:Br,setFullscreenOpen:vl},wl){let re=useRef(null),X=useRef([]),ar=useRef(0),te=useRef(0),kl=useRef(0),ms=useRef(0),cr=useRef(true),He=useRef(null),Be=useRef(null),Dr=useRef(null),Or=useRef(null),ur=useRef([]),ps=useRef(null),Ut=useRef(null),Yt=useRef(null),Gt=useRef(null),[je,gs]=useState([]),_r=useRef(0),[Rn,Cl]=useState(1),[dr,ys]=useState([]),[Fr,Ml]=useState(false),[hs,Ll]=useState(false),[v,El]=useState(false),Tl=useRef(null),Al=useRef(null),no=useRef(null),vn=useRef(0),oo=useRef([]),wn=useRef(false),zr=useRef(new Set),[st,so]=useState(false),[io,bs]=useState(false),fr=useRef(0),lo=useRef(-1),De=useRef(null),Nt=useRef(null),ne=useRef(null),ie=useRef(null),Q=useRef(null),ao=useRef(null),Ze=useRef(null),it=useRef(null),It=useRef(false),Pt=useRef(false),kn=useRef(false),Cn=useRef(false),pe=useRef(0),Ss=useRef(0),Nl=useRef(0),Il=useRef(0),Ht=useRef(null),Bt=useRef(null),mr=useRef([]),Se=useRef(0),co=useRef(false),Pl=()=>(X.current||[]).map((r,o)=>-bo(o)),Hl=()=>Se.current||0,Bl=useRef(0),Dl=useRef(null),Mn=useRef(null),Ln=useRef(0),Ol=useRef([]),_l=useRef(0),$r=useRef(null),En=useRef(null),Zt=useRef(null),Ve=useRef(null),pr=useRef(null),Wr=useRef(null),Tn="data-rmg-drag",uo=useRef(null),xs=useRef(null),An=useRef(false),Fl=useRef(performance.now()-1e3),fo=useRef(0),[Rs,zl]=useState(0),vs=useRef(false),ws=useRef(""),jr=useRef({}),gr=useMemo(()=>B(),[Rs]),mo=useRef(""),Nn=useRef(null),po=useRef(null),$l=useRef(null),Dt=useRef(new Set),Ot=useRef(null),Wl=useMemo(()=>b(),[]),ge=ot??Wl,_t=useRef(false),Ft=useRef(0),Vr=useRef(null),qr=useRef(null),yr=useRef(null),Xr=useRef(null),ye=Sn==="rtl",go=ye?$.rtl:"",Kr=Le==="x"&&ye?-1:1,Ur=typeof sr=="number"&&Number.isFinite(sr)?Math.max(0,sr):yc,yo=typeof ir=="string"&&ir.trim().length>0?ir:hc,ho=bc({wrap:v,centerAlign:A,cellsPerSlide:We}),Yr=useMemo(()=>a("rmg-slider-core-",{axis:Le,parallaxBleedPct:Tt,parallaxBorderRadius:Kt,parallaxSideWidth:or}),[Le,Tt,Kt,or]),Z=useMemo(()=>({main:Le,cross:Le==="x"?"y":"x",sizeKey:Le==="x"?"width":"height",clientKey:Le==="x"?"clientWidth":"clientHeight",startKey:Le==="x"?"left":"top",endKey:Le==="x"?"right":"bottom",translate:M=>Le==="x"?`translate3d(${M}px,0,0)`:`translate3d(0,${M}px,0)`,place:M=>Le==="x"?`translateX(${M}px) scale(var(--rmg-scale, 1))`:`translateY(${M}px) scale(var(--rmg-scale, 1))`,wheelDelta:M=>Le==="x"?M.deltaX:M.deltaY}),[Le]);function ht(){let r=Be.current;if(r){let a=r[Z.clientKey];if(Number.isFinite(a)&&a>0)return a}let o=re.current;if(!o)return 0;let i=o[Z.clientKey];return Number.isFinite(i)?i:0}function Jt(r){if(!r)return 0;let o=r.getBoundingClientRect()[Z.sizeKey],i=typeof window<"u"?window.getComputedStyle(r).getPropertyValue("--rmg-scale").trim():"",a=Number.parseFloat(i);if(Number.isFinite(o)&&o>0)return Number.isFinite(a)&&a>0?o/a:o;let f=Z.main==="x"?r.offsetWidth:r.offsetHeight;return Number.isFinite(f)?f:0}let ks=useMemo(()=>{let r=`[data-rmg-slider-core-scope="${Yr}"]`,o=`${r}[data-rmg-fixed-height="true"]`,i=`${r}[data-rmg-fixed-height="false"]`,a=parseFloat(Tt??"130%")/100;return `
2
+ ${r} .rmg__slide {
3
+ position: relative;
4
+ overflow: hidden;
5
+ border-radius: ${Kt};
6
+ }
7
+
8
+ ${o} .rmg__slide,
9
+ ${i} .rmg__slide {
10
+ width: ${or};
11
+ }
12
+
13
+ ${o} .rmg__slide {
14
+ height: 100%;
15
+ }
16
+
17
+ ${r} .rmg__parallax {
18
+ width: 100%;
19
+ }
20
+
21
+ ${o} .rmg__parallax,
22
+ ${o} .rmg__parallax__layer {
23
+ height: 100%;
24
+ }
25
+
26
+ ${r} .rmg__parallax__layer {
27
+ width: 100%;
28
+ will-change: transform;
29
+ --rmg-bleed-scale: ${a};
30
+ transform: ${Le==="x"?"translateX(0%) scale(var(--rmg-bleed-scale))":"translateY(0%) scale(var(--rmg-bleed-scale))"}
31
+ }
32
+
33
+ ${o} .rmg__parallax__layer > img,
34
+ ${o} .rmg__parallax__layer > picture,
35
+ ${o} .rmg__parallax__layer > video {
36
+ height: 100%;
37
+ object-fit: cover;
38
+ }
39
+ `},[Le,Yr,Tt,Kt,or]),Gr=e();useEffect(()=>()=>{gr.destroyAll();},[gr]);let Cs=useRef(new Set),Ms=useRef(new Set);useEffect(()=>{if(!xn)return;let r=Be.current,o=re.current;if(!r||!o)return;let i=new IntersectionObserver(f=>{for(let h of f){if(!h.isIntersecting)continue;let g=h.target,p=g.closest('[data-rmg-slide="true"]');if(!p)continue;if(p.getAttribute("data-rmg-clone")==="true"){i.unobserve(g);continue}let M=p.getAttribute("data-rmg-idx"),V=M!=null?parseInt(M,10):NaN;if(!Number.isFinite(V)){i.unobserve(g);continue}if(Cs.current.has(V)){i.unobserve(g);continue}Cs.current.add(V),Gr?.notifyBaseVisibleIndex(V),i.unobserve(g);}},{root:r,rootMargin:"0px",threshold:.1});return Array.from(o.children).filter(f=>{let h=f;return h.getAttribute("data-rmg-slide")==="true"&&h.getAttribute("data-rmg-clone")==="false"}).forEach(f=>{let h=f.querySelector("img");h&&i.observe(h);}),()=>i.disconnect()},[xn,je.length,v,st,Gr]),useEffect(()=>{if(!Gr||!me?.enabled)return;let r=Gr.fsVisibleSub.subscribe(o=>{let i=o?.index;if(typeof i!="number"||!Number.isFinite(i)||Ms.current.has(i))return;let a=re.current;if(!a)return;let f=a.querySelector(`[data-rmg-slide="true"][data-rmg-clone="false"][data-rmg-idx="${i}"]`);f&&(Ms.current.add(i),hr(i),f.hasAttribute("data-rmg-lazyload")&&f.getAttribute("data-rmg-lazyloaded")!=="true"&&f.getAttribute("data-rmg-lazyloading")!=="true"&&(f.setAttribute("data-rmg-lazyloading","true"),es(f,Dt.current).finally(()=>{f.removeAttribute("data-rmg-lazyloading");})));});return ()=>r?.()},[Gr,me?.enabled]);let Ls=Di({AX:Z,wrap:v,offsetLocationRef:ne,scrollLimitRef:$r,lastProgressRef:vn,progressHolderRef:Tl,progressInnerRef:Al,showProgress:j$1,renderProgress:qt,progressClassName:ke,progressStyle:Pr,progressInnerClassName:Et,progressInnerStyle:$e}),jl=Ls.progressNode,Es=_i({AX:Z,wrap:v,offsetLocationRef:ne,scrollLimitRef:$r,lastProgressRef:vn,scrollbarRef:no,showScrollbar:ft,renderScrollbar:Xt,scrollbarClassName:Hr,scrollbarStyle:rt,onScrollBarChange:ua,styles:$}),Vl=Es.scrollbarNode;function bt(){let r=ln({wrap:v,offsetLocationRef:ne,scrollLimitRef:$r});vn.current=r,Ls.setProgressDom(r),Es.setScrollBarDom(r);}let Zr=useMemo(()=>Wi(t),[t]);useEffect(()=>{bs(false),so(false),co.current=false;},[n,Zr,m,Le]);function In(){let r=re.current;if(!r)return [];let o=Array.from(r.children),i=_r.current||0,a=i;return o.slice(i,o.length-a)}function ql(r){if(!r.length)return [];let o=Z.main==="x"?"offsetLeft":"offsetTop",i=r[0],a=Jt(i),f=i[o],h=f+a;return r.map(g=>{let p=Jt(g),M=g[o],V=Z.main==="x"&&ye?h-(M+p):M-f;return {el:g,start:V,end:V+p,size:p}})}function Xl(r,o){return !r||!o?0:Z.main==="y"?o.offsetTop:ye?r.scrollWidth-(o.offsetLeft+Jt(o)):o.offsetLeft}function Je(r,o){return Math.max(0,Math.min(o-1,r))}useEffect(()=>{cr.current=v;},[v,cr]);function Kl(r){let o="rmg-drag-style-"+r;if(document.getElementById(o))return;let i=document.createElement("style");i.id=o,i.textContent=`
40
+ /* Only while data-rmg-drag is present on this slider root */
41
+ [data-rmg-slider-core-scope="${r}"][data-rmg-drag] { cursor: grabbing !important; }
42
+ [data-rmg-slider-core-scope="${r}"][data-rmg-drag] * { cursor: grabbing !important; }
43
+ `,document.head.appendChild(i);}useEffect(()=>{He.current&&Kl(Yr);},[He.current,Yr]);function Jr(r){let o=He.current;if(o){if(r){o.hasAttribute(Tn)||o.setAttribute(Tn,"");return}o.hasAttribute(Tn)&&o.removeAttribute(Tn),uo.current=null,xs.current?.clear(),xs.current=null;}}useEffect(()=>{let r=He.current;if(!r)return;let o=()=>{It.current&&Jr(false);},i=()=>{It.current&&uo.current!=null&&Jr(true);};return r.addEventListener("mouseleave",o,{passive:true}),r.addEventListener("mouseenter",i,{passive:true}),()=>{r.removeEventListener("mouseleave",o),r.removeEventListener("mouseenter",i);}},[]);function Pn(r){let o=X.current?.[r];if(!o?.cells?.[0]?.element)return 0;let i=ht();if(i<=0)return 0;let a=o.alignSize>0?o.alignSize:Jt(o.cells[0].element);return f$3({viewport:i,alignSize:a,centerAlign:A})}function bo(r){let o=X.current?.[r];return o?-(o.target??0)+Pn(r):0}function Ts(){let r=ht();return g$1({targets:(X.current||[]).map(o=>o.target??0),alignSizes:(X.current||[]).map(o=>{let i=o.cells?.[0]?.element,a=Jt(i??null);return o.alignSize>0?o.alignSize:a}),viewport:r,centerAlign:A})}function So(r){let o=Se.current||0;Ol.current=r,Bl.current=o,_l.current=o;let i=0,a=0;r.length&&(i=Math.min(...r),a=Math.max(...r));let f=v?d(-o,0):d(i,a);Dl.current=f;let h=r[0]??0;$r.current=v?g$2(h-o,h):g$2(i,a),En.current=ie.current?c$3(v,r,o,f,ie.current):null;let g=De.current,p=Nt.current,M=ne.current,V=ie.current;return v&&o>0&&g&&p&&M&&V?Mn.current=b$3(o,f,g,[g,p,M,V]):Mn.current=null,{minSnap:i,maxSnap:a}}function xo(r={}){let{reanchor:o=false}=r,i=Ts(),{minSnap:a,maxSnap:f}=So(i);if(!i.length)return;if(v){it.current=null,Ht.current=null,Bt.current=null,o?vo():(On(ne.current?.get()??pe.current),bt(),xt());return}let h=ht();if(h<=0)return;if(it.current=d(Number.isFinite(a)?a:0,Number.isFinite(f)?f:0),De.current&&ie.current&&Q.current&&(Bt.current=f$1(h),Ht.current=e$1(it.current,De.current,ie.current,Q.current,Bt.current,K)),o){vo();return}let g=ne.current?.get()??pe.current??0,p=it.current.constrain(g);On(p),Q.current?.useDuration(0).useFriction(1).sync().resetVelocity(),Ze.current?.stop(),Pt.current=false,bt(),xt();}function Ro(r){let o=X.current?.length??0;if(!o)return;let i=Je(r,o);X.current?.[i]&&(_n(i),te.current=i,lo.current=i,Ve.current?.set(i),pr.current?.set(i),xt());}function vo(){let r=ge.get().index??te.current??0;Ro(r);}useEffect(()=>{let r=He.current;if(!r)return;let o=()=>{An.current=true;},i=()=>{An.current=false;};return r.addEventListener("mouseenter",o),r.addEventListener("mouseleave",i),()=>{r.removeEventListener("mouseenter",o),r.removeEventListener("mouseleave",i);}},[]),useEffect(()=>{if(!x||!c$1)return;let r=window.setInterval(()=>{let o=performance.now(),i=X.current?.length??0,a=Ve.current?.get()??te.current??0;if(!(kn.current||Br||i<=1||T&&An.current)&&!(o-Fl.current<H)){if(!v){let f=a<=0,h=a>=Math.max(0,i-1);if(ye?f:h)return}ye?Hn():Bn();}},w);return ()=>{window.clearInterval(r);}},[x,H,w,Br,c$1,ye,T,dr.length,v]),useEffect(()=>{let r=performance.now(),o;function i(a){o=requestAnimationFrame(i);let f=a-r;if(r=a,!re.current||!cr.current||kn.current||Pt.current||Br||!_||N&&An.current||a<fo.current)return;let h=ye?1:-1,p=(ne.current?.get()??0)+h*F*f;ie.current?.set(p),Q.current?.useDuration(0).useFriction(1),Pt.current=true,Ze.current?.start();}return o=requestAnimationFrame(i),()=>cancelAnimationFrame(o)},[Br]);function wo(r){vs.current!==r&&(vs.current=r,El(r),cr.current=r,r||(Ln.current=0),co.current=false,so(false),zl(o=>o+1));}let ko=useRef(false);function Ul(){if(!ko.current){ko.current=true;try{Nn.current?.();}finally{ko.current=false;}}}function Yl(r){return !!r?.closest?.([".plyr__controls",".plyr__control--overlaid",".plyr__menu__container",".plyr__tooltip",".plyr__captions"].join(","))}function Gl(r){let o=r.changedTouches?.[0]??r.touches?.[0];return o?{x:o.clientX,y:o.clientY}:{x:r.clientX,y:r.clientY}}function Zl(r){let{x:o,y:i}=Gl(r),a=document.elementFromPoint(o,i);if(!a)return null;let f=a.closest('[data-rmg-slide="true"]');if(!f)return null;let h=f.querySelector('[data-rmg-plyr="true"]');if(!h)return null;let g=h.getBoundingClientRect();if(!(o>=g.left&&o<=g.right&&i>=g.top&&i<=g.bottom)||a.closest(".plyr__controls"))return null;let M=f.getAttribute("data-rmg-rendered-idx"),V=f.getAttribute("data-rmg-idx"),se=M!=null?parseInt(M,10):NaN,xe=V!=null?parseInt(V,10):NaN;return !Number.isFinite(se)||!Number.isFinite(xe)?null:{renderedIndex:se,canonicalIndex:xe,isClone:f.getAttribute("data-rmg-clone")==="true"}}function Jl(r){let o=r?.plyr??null;if(!o)return false;if(typeof o.playing=="boolean"?o.playing:!o.paused)return o.pause(),true;let a=o.play();return a&&typeof a.catch=="function"&&a.catch(()=>{}),true}function Ql(r){let o=jr.current[r]??null;return Jl(o)}function ea(r){let o=re.current;return o?o.querySelector(`[data-rmg-slide="true"][data-rmg-clone="false"][data-rmg-idx="${r}"]`):null}function Co(){let r=Ot.current;r&&(r.observer?.disconnect(),r.rafId!=null&&cancelAnimationFrame(r.rafId),Ot.current=null);}function ta(r){let o=Ot.current;if(!o||o.canonicalIndex!==r)return;o.deadlineTs=performance.now()+1200;let a=()=>{if(Ot.current!==o)return;!!jr.current[r];if(Ql(r)){Co();return}if(performance.now()>=o.deadlineTs){Co();return}o.rafId=requestAnimationFrame(a);};o.rafId=requestAnimationFrame(a);}function ra(r){Co(),Ro(r);let o=ea(r),i=Be.current;if(!o||!i)return;let a={canonicalIndex:r,observer:null,rafId:null,deadlineTs:0},f=new IntersectionObserver(h=>{if(Ot.current===a){for(let p of h)if(!(!p.isIntersecting||(p.intersectionRatio??0)<.1)){a.observer?.disconnect(),a.observer=null,ta(r);return}}},{root:i,rootMargin:"0px",threshold:[0,.1]});a.observer=f,Ot.current=a,f.observe(o);}function na(r,o,i){return `${r}|per=${o}|cols=${i?We:0}|wrap=${v?1:0}`}let lt=useMemo(()=>kc(me),[me]),hr=useCallback(r=>{if(!lt.enabled)return;let o=re.current;o&&(r<0||r>=n||Zo(o,r,Dt.current));},[lt.enabled,n]);useEffect(()=>{lt.enabled&&st&&je.length&&hr(te.current);},[lt.enabled,st,je.length,hr]),useEffect(()=>()=>{let r=Ot.current;r?.observer?.disconnect(),r?.rafId!=null&&cancelAnimationFrame(r.rafId),Ot.current=null;},[]),useEffect(()=>{if(!lt.enabled||!st||!je.length)return;let r=false,o=requestAnimationFrame(()=>{if(r)return;let i=re.current;if(!i)return;let a=new Set([te.current]);Bs().forEach(f=>a.add(f)),a.forEach(f=>{f>=0&&f<n&&Zo(i,f,Dt.current);});});return ()=>{r=true,cancelAnimationFrame(o);}},[lt.enabled,st,je.length,n]),useEffect(()=>{let r=re.current;if(!r)return;let o=null,i=false,a=()=>{o==null&&(o=window.setTimeout(()=>{o=null,f();},0));},f=()=>{if(!i){i=true;try{let g=Children.toArray(t).filter(isValidElement),p=g.length;if(p<1){r.style.removeProperty("--rmg-slide-main-size"),_r.current=0,Ln.current=0,mo.current="",mr.current=[],gs([]),Se.current=0,Wr.current=null,wo(!1),X.current=[],ys([]),oo.current=[];return}let M=Array.from(r.children),V=_r.current,se=V,xe=M.slice(V,M.length-se),Ce=ht();if(Ce<=0)return;let Y=typeof We=="number"&&We>0,Re=1,Ee;if(Y){Re=Math.max(1,Math.min(p,We));let q=S*Math.max(0,Re-1);Ee=(Ce-q)/Re;}Y&&Ee!=null?r.style.setProperty("--rmg-slide-main-size",`${Ee}px`):r.style.removeProperty("--rmg-slide-main-size");let ee=0,ve=0;for(let q of xe){let z=Jt(q);if(z===0){a();return}let ce=ve===0?z:ee+S+z;if(d$2(ce,Ce))ee=ce,ve++;else {ve++;break}}let qe=Y?Math.max(1,Math.min(p,Re)):Math.max(2,Math.min(p,ve)),at=v;_r.current=at?qe:0,ar.current!==qe&&(Cl(qe),ar.current=qe);let rr=`${na(p,qe,Y)}|kids=${Zr}`;if(rr===mo.current)return;mo.current=rr;let zt=!!Ye,ct=[];mr.current=[];let Ie=Y&&Ee!=null?{flex:"0 0 auto",[Z.sizeKey]:"var(--rmg-slide-main-size)"}:void 0;at&&ct.push(...g.slice(-qe).map((q,z)=>Jo(q,`before-${z}`,-qe+z,mr,zt,n,lt,Ie,!0,jr,gr,Dt.current,ge))),ct.push(...g.map((q,z)=>Jo(q,`original-${z}`,z,mr,zt,n,lt,Ie,!1,jr,gr,Dt.current,ge))),at&&ct.push(...g.slice(0,qe).map((q,z)=>Jo(q,`after-${z}`,p+z,mr,zt,n,lt,Ie,!0,jr,gr,Dt.current,ge))),gs(ct);}finally{i=false;}}},h=new ResizeObserver(()=>{f();});return f(),Be.current&&h.observe(Be.current),He.current&&h.observe(He.current),()=>{o!=null&&window.clearTimeout(o),h.disconnect();}},[n,re,ar,We,Rs,Zr,v,gr]),useLayoutEffect(()=>{if(!re.current)return;function o(){let f=re.current;if(!f)return;let h=Array.from(f.children);if(h.length===0)return;let g=_r.current,p=h.slice(g,h.length-g);if(p.length===0)return;let M=ql(p);if(M.some(Ee=>Ee.size===0)){setTimeout(o,0);return}let V=ht();if(V<=0)return;Wr.current={originals:M,cw:V};let se=Wr.current?.originals?.length??0,xe=M[se-1]?.end??0,Ce=h$2({loop:m,itemCount:se,span:xe,viewport:V});Se.current=e$3({baseSpan:xe,gap:S,shouldLoop:Ce});let Re=`${M.map(Ee=>`${c$2(Ee.start)}:${c$2(Ee.size)}`).join(",")}|cw=${c$2(V)}|W=${c$2(xe)}|wrap=${Ce?1:0}`;Re!==ws.current&&(ws.current=Re,Ul()),wo(Ce),Ml(true);}let i=new ResizeObserver(o);Be.current&&i.observe(Be.current),He.current&&i.observe(He.current);let a=typeof window<"u"?window.visualViewport:null;return a?.addEventListener("resize",o),window.addEventListener("resize",o,{passive:true}),o(),()=>{i.disconnect(),a?.removeEventListener("resize",o),window.removeEventListener("resize",o);}},[n,je,Rn,We,S,v,m,Z,ye]),useEffect(()=>{if(c$1)return;let r=me?.enabled?true:fs??true;!io||!r||d$1(true);},[me,fs,io,c$1]),useLayoutEffect(()=>{if(!re.current||mr.current.length===0||Se.current===0||!X.current||!X.current[0]||!X.current[0].cells[0]?.element)return;let r=ht();r<=0||(!v&&Se.current<=r?fr.current=Math.round((r-Se.current)/2):fr.current=0,St(ne.current?.get()??pe.current),xt());},[dr,v]),useEffect(()=>{let r=re.current;if(!r)return;let o=false,i=null,a=0,f=5;function h(){o||a++>=f||(i!=null&&window.clearTimeout(i),i=window.setTimeout(()=>{g();},0));}function g(){if(o||!r)return;let p=v?Rn:0,M=p,V=Array.from(r.children),se=V.slice(p,V.length-M),xe=new Map(se.map((q,z)=>[q,z])),Ce=Wr.current;if(!Ce||!Ce.originals?.length){h();return}if(se.length!==Ce.originals.length){h();return}let Y=Ce.originals,Re=Ce.cw,Ee=A&&!v,ee=[],ve=0,qe=typeof We=="number"&&We>0?Math.max(1,Math.min(Y.length,We)):null;if(W)for(;ve<Y.length;){let q=Y[ve]?.start??0,z=ve;if(qe!=null)z=Math.min(Y.length,ve+qe);else {let ue=q+Re,Oe=.5;for(;z<Y.length&&(Y[z]?.end??0)<=ue+Oe;)z++;z===ve&&z++;}let ce=Y.slice(ve,z).map(ue=>ue.el),Pe=z>=Y.length,Xe=q;Pe&&!v&&!Ee&&(Xe=Math.max(0,(Se.current||0)-Re)),ve===0&&(Xe=0),ee.push({els:ce,target:Xe}),ve=z;}else {let q=Math.max(0,(Se.current||0)-Re),z=.5;if(v||Ee)Y.forEach((ce,Pe)=>{let Xe=Pe===0?0:ce.start;(!ee.length||Math.abs(Xe-ee[ee.length-1].target)>z)&&ee.push({els:[ce.el],target:Xe});});else {for(let ue=0;ue<Y.length;ue++){let Oe=Y[ue],_e=ue===0?0:Oe.start;if(_e=Math.min(_e,q),(!ee.length||Math.abs(_e-ee[ee.length-1].target)>z)&&ee.push({els:[Oe.el],target:_e}),Math.abs(_e-q)<=z)break}let ce=q-z,Pe=q+Re+z,Xe=Y.filter(ue=>ue.start<Pe&&ue.end>ce).map(ue=>ue.el);if(Xe.length){let ue=ee[ee.length-1]?.target??-1;if(Math.abs(ue-q)>z)ee.push({els:Xe,target:q});else {let Oe=new Set(ee[ee.length-1].els.concat(Xe));ee[ee.length-1].els=Array.from(Oe);}}else {let ue=-1;for(let _e=Y.length-1;_e>=0;_e--)if(Y[_e].start<=q+z){ue=_e;break}let Oe=Y[Math.max(0,ue)];if(Oe){let _e=ee[ee.length-1]?.target??-1;Math.abs(_e-q)>z&&ee.push({els:[Oe.el],target:q});}}}}let at=ee.map(q=>{let z=0;if(W){let ce=1/0,Pe=-1/0;for(let Xe of q.els){let ue=xe.get(Xe);if(ue==null)continue;let Oe=Y[ue];Oe&&(ce=Math.min(ce,Oe.start),Pe=Math.max(Pe,Oe.end));}Number.isFinite(ce)&&Number.isFinite(Pe)&&Pe>ce&&(z=Pe-ce);}return z<=0&&(z=Jt(q.els[0]??null)),{target:q.target,alignSize:z,cells:q.els.map(ce=>({element:ce,index:xe.get(ce)}))}});if(at.some(q=>Number.isNaN(q.target))||v&&at.length===1){h();return}let zt=Y[Y.length-1]?.end??0,ct=h$2({loop:m,itemCount:at.length,span:zt,viewport:Re});if(ct!==v){wo(ct);return}Ln.current=v&&se.length?Xl(r,se[0]??null):0,cr.current=ct,X.current=at,ys(at),ao.current&&xo({reanchor:ho}),so(true);let Ie=[];at.forEach((q,z)=>{q.cells.forEach(ce=>{Ie[ce.index]=z;});}),oo.current=Ie,window.setTimeout(()=>{if(o)return;let q=In();q.length&&(wn.current=true,zr.current.forEach(z=>z(q)));},0);}return Nn.current=g,g(),()=>{o=true,Nn.current===g&&(Nn.current=null),po.current!=null&&(cancelAnimationFrame(po.current),po.current=null),i!=null&&window.clearTimeout(i);}},[n,Zr,je,Rn,We,v]),useEffect(()=>{if(!me?.enabled||!st)return;let r=Be.current,o=re.current;if(!r||!o)return;let i=new IntersectionObserver(f=>{for(let h of f){let g=h.target;if(g.getAttribute("data-rmg-lazyloaded")==="true"){i.unobserve(g);continue}if(h.isIntersecting&&h.intersectionRatio>=.25){let p=g.getAttribute("data-rmg-idx"),M=p!=null?parseInt(p,10):NaN;Number.isFinite(M)?Zo(o,M,Dt.current):g.getAttribute("data-rmg-lazyloading")!=="true"&&(g.setAttribute("data-rmg-lazyloading","true"),es(g,Dt.current).finally(()=>{g.removeAttribute("data-rmg-lazyloading");})),i.unobserve(g);}}},{root:r,rootMargin:"0px",threshold:[0,.25,.5,.6,.75,1]});return Array.from(o.children).filter(f=>f.hasAttribute("data-rmg-lazyload")).forEach(f=>i.observe(f)),()=>i.disconnect()},[me,je,v,Z.main,st]),useEffect(()=>{let r=re.current;if(!r||!l)return;let o=Array.from(r.querySelectorAll(':scope > [data-rmg-slide="true"]'));if(!o.length)return;let i=new Array(o.length).fill(null);o.forEach((a,f)=>{let h=a.querySelector("img");if(h){i[f]=h;return}}),l.current=i;},[je.length,v,Rn,Zr]),useEffect(()=>()=>{l&&(l.current=[]);},[]),b$1(st&&io&&c$1&&Fr,He,()=>Ll(true),{threshold:.2});let Qr=useRef(false);function vt(r,o={}){let{jump:i=false,direction:a,programmatic:f=false}=o,h=Ve.current;if(!Zt.current||!Q.current||!h)return;f&&(Qr.current=true),br(r,"animated");let g=h.clone().set(r).get();i?Q.current.useDuration(0):Q.current.useBaseDuration().useBaseFriction();let p=typeof a=="number"?a:0;if(Zt.current.index(g,p),!Q.current.duration()){let M=ne.current?.get()??ie.current?.get()??0;pe.current=M,bt(),Ye&&Qt(),yt&&er(),nt&&tr(),xt();}}function Hn(){let r=Zt.current,o=Q.current,i=Ve.current,a=X.current?.length??0;if(!r||!o||!i||!a)return;let f=i.get(),h=v?((f-1)%a+a)%a:Je(f-1,a);o.useBaseDuration().useBaseFriction(),vt(h,{direction:1,programmatic:true}),ge.emitBasePointerDown?.();}function Bn(){let r=Zt.current,o=Q.current,i=Ve.current,a=X.current?.length??0;if(!r||!o||!i||!a)return;let f=i.get(),h=v?((f+1)%a+a)%a:Je(f+1,a);o.useBaseDuration().useBaseFriction(),vt(h,{direction:-1,programmatic:true}),ge.emitBasePointerDown?.();}function oa(r){let o=-r,i=Pl(),a=Hl();if(!i.length)return 0;let f=0,h=1/0;for(let g=0;g<i.length;g++){let p=i[g],M=!a||!v?[p]:[p,p+a,p-a];for(let V of M){let se=Math.abs(V-o);se<h&&(h=se,f=g);}}return f}function St(r){let o=r??pe.current,i=v?Ln.current:0;ao.current?.to((o+fr.current-i)*Kr);}function sa(){let r=(M,V)=>{M&&(M.style.cursor=V?"default":"pointer",M.style.opacity=V?"0.35":"1",M.setAttribute("aria-disabled",V?"true":"false"));};if(v){r(Dr.current,false),r(Or.current,false);return}let o=it.current;if(!o)return;let i=ne.current?.get()??pe.current??0,a=.75,f=i>=o.max-a,h=i<=o.min+a,g=ye?h:f,p=ye?f:h;r(Dr.current,g),r(Or.current,p);}function ia(r,o){let i=ur.current[r];i&&(i.classList.remove($.active),i.classList.add($.inactive));let a=ur.current[o];a&&(a.classList.add($.active),a.classList.remove($.inactive));}function br(r,o){let i=lo.current;i!==r&&(lo.current=r,Ve.current?.set(r),te.current=r,ge.set(r,o),ia(i,r),lt.enabled&&hr(r));}function As(r){if(Qr.current)return;let o=oa(r);o!==te.current&&br(o,"animated");}function la(){Dn();let r=X.current?.length??0;if(!r){Hn();return}let o=Ve.current?.get()??te.current??0,i=v?((o-1)%r+r)%r:Je(o-1,r);if(Mo(i)){ge.emitBasePointerDown?.();return}Hn();}function aa(){Dn();let r=X.current?.length??0;if(!r){Bn();return}let o=Ve.current?.get()??te.current??0,i=v?((o+1)%r+r)%r:Je(o+1,r);if(Mo(i)){ge.emitBasePointerDown?.();return}Bn();}function ca(r){let o=Zt.current,i=Q.current,a=$r.current;if(!o||!i||!a)return;let f=a.max-a.min;if(f<=0){bt();return}Dn(),Ze.current?.stop(),Pt.current=false,Qr.current=false;let h=Math.max(0,Math.min(1,r)),g=ne.current?.get()??ie.current?.get()??a.max,p=v?a.removeOffset(g):a.constrain(g),V=a.max-h*f-p;i.useDuration(0).useFriction(1).sync().resetVelocity(),o.distance(V,false);let se=ne.current?.get()??ie.current?.get()??g;pe.current=se,bt(),Ye&&Qt(),yt&&er(),nt&&tr(),xt(),ge.emitBasePointerDown?.();}function ua(r){let o=Number.parseFloat(r.target.value);Number.isFinite(o)&&ca(o);}useEffect(()=>{let r=ge,o=()=>X.current?.length??0,i=a=>{let f=o();if(!f)return;let h=te.current,g=p=>ye?-p:p;if(a.type==="set"){let p=v?(a.index%f+f)%f:Je(a.index,f);if(p===h)return;if(a?.meta?.source==="thumbnail"&&a?.meta?.transition==="crossfade"&&a.mode!=="instant"){Lo(p,{fromUi:true,preferCrossfade:true,crossfade:{durationMs:a?.meta?.crossfade?.durationMs,easing:a?.meta?.crossfade?.easing}});return}vt(p,a.mode);return}if(a.type==="bump"){let p=g(a.delta|0);if(!p)return;if(v){let M=((h+p)%f+f)%f;vt(M,a.mode);}else {let M=Je(h+p,f);if(M===h)return;vt(M,a.mode);}return}if(typeof a.index=="number"){let p=v?(a.index%f+f)%f:Je(a.index,f);p!==h&&vt(p,a.mode||"animated");}};return typeof r.onEvent=="function"?r.onEvent(i):r.subscribe(()=>{let{index:a,mode:f}=r.get();i({type:"set",index:a,mode:f});})},[ge,v,ye]);function da(r){let o=r.target;if(!o)return false;let i=o.closest('[data-rmg-plyr="true"]');return i?i.getAttribute("data-rmg-plyr-provider")==="youtube":false}let{wheelLockMs:Ns,lockWheelFor:en,unlockWheelNow:Is,markWheelSeen:fa,isWheelLocked:ma}=j(),pa=300;function Dn(){Is(),en(pa);}useEffect(()=>{let r=He.current,o=re.current;if(!r||!o||!X.current?.length||!st||!Fr||Se.current===0)return;let i=b$2(0),a=b$2(0),f$2=b$2(0),h$2=b$2(0);De.current=i,Nt.current=a,ne.current=f$2,ie.current=h$2;Se.current||0;let p=X.current.length||1,M=ge.get().index??te.current??0,V=Je(M,p);te.current=V;let se=p-1,xe=V,Ce=f(se,xe,true),Y=f(se,xe,true);Ve.current=Ce,pr.current=Y;let Re=Ts(),{minSnap:Ee,maxSnap:ee}=So(Re),ve=Re[V]??0;i.set(ve),a.set(ve),f$2.set(ve),h$2.set(ve),pe.current=ve,ao.current=h(o,Z),St(ve),br(V,"instant");function qe(k){let de=Ve.current,J=pr.current;if(!de||!J)return;let oe=k.distance,fe=k.index!==de.get();if(ie.current.add(oe),oe)if(Q.current.duration())Pt.current=true,Ze.current.start();else {Q.current.seek();let we=ie.current.get();ne.current?.set(we),pe.current=we,St(we);}if(fe){J.set(de.get()),de.set(k.index);let we=de.get();te.current=we;let Fe=Q.current?.duration()?"animated":"instant";ge.set(we,Fe);}}let at={distance(k,de){let J=En.current;if(!J)return;let oe=J.byDistance(k,de);qe(oe);},index(k,de){let J=En.current,oe=Ve.current;if(!J||!oe)return;let fe=oe.clone().set(k),we=J.byIndex(fe.get(),de);qe(we);}};Zt.current=at;let zn=c(i,f$2,a,h$2,K,Ae);if(Q.current=zn,bt(),v)it.current=null,Ht.current=null,Bt.current=null;else {let k=ht();if(k<=0)return;it.current=d(Number.isFinite(Ee)?Ee:0,Number.isFinite(ee)?ee:0),Bt.current=f$1(k),Ht.current=e$1(it.current,De.current,ie.current,Q.current,Bt.current,K);}let rr=h$1(document,window,()=>{if(v||Ht.current?.constrain(It.current),Q.current?.seek(),v&&(Se.current||0)>0){let de=Q.current.direction()||Math.sign(ie.current.get()-De.current.get())||0;Mn.current?.loop(de);}pe.current=De.current.get();},k=>{let de=Q.current,J=de?de.settled():true,oe=!v&&(Ht.current?.reached()??false);J&&!It.current&&!oe&&(Ze.current?.stop(),Pt.current=false);let we=De.current.get(),Fe=Nt.current.get(),pt=we*k+Fe*(1-k);ne.current.set(pt),pe.current=pt,St(),yt&&er(),nt&&tr(),bt(),Ye&&Qt(),sa(),As(pt);});Ze.current=rr,rr.init();let zt=g(),ct=g(),Ie=gc(Z.main,window),q=false,z=0,ce=0,Pe=false,Xe={mouse:500,touch:600};function ue(){let k=q?document:r;ct.add(k,"touchmove",zs).add(k,"touchend",nr).add(k,"mousemove",zs,{passive:false}).add(k,"mouseup",nr);}function Oe(k){return k*Xe[q?"mouse":"touch"]}function _e(k){let de=k.target;if(Yl(de)&&!de.closest(".plyr__control--overlaid"))return;let J=k.target;if(Dr.current?.contains(J)||Or.current?.contains(J)||ur.current.findIndex(Fe=>Fe?.contains(J))>=0||ps.current?.contains(J)||no.current?.contains(J))return;let fe=a$5(k,window);if(q=fe,fe&&k.button!==0)return;_t.current&&mt(),Jr(true),ge.emitBasePointerDown?.(),en(Ns),It.current=true,kn.current=true,Cn.current=false,s.current=true,Qr.current=false,Ie.pointerDown(k),z=Ie.readPoint(k,Z.main),ce=Ie.readPoint(k,Z.cross),Fn()?(mt(),_n(te.current)):(Q.current.useFriction(0).useDuration(0),ie.current.set(De.current.get())),ue(),Fn()||Ze.current?.start();}function zs(k){if(!a$5(k,window)&&k.touches?.length>=2)return nr(k);It.current&&uo.current!=null&&Jr(true);let J=Ie.readPoint(k,Z.main),oe=Ie.readPoint(k,Z.cross),fe=Math.abs(J-z),we=Math.abs(oe-ce);if((fe>5||we>5)&&(s.current=false),!Pe&&!q&&(!("cancelable"in k)||!k.cancelable||(Pe=fe>we,!Pe)))return nr(k);let{dx:Fe,dy:pt}=Ie.pointerMove(k),Qe=(Z.main==="x"?Fe:pt)*Kr;Nl.current=Ss.current,Ss.current=J*Kr,ms.current=Qe,Il.current=performance.now();let gt=(J-z)*Kr;if(Fn()){Cn.current=Math.abs(gt)>.5,va(gt),k.cancelable&&k.preventDefault?.();return}Q.current.useFriction(.3).useDuration(.75),ie.current.add(Qe),Ze.current?.start(),k.cancelable&&k.preventDefault?.();}function nr(k){if(kn.current=false,Pe=false,It.current=false,ct.clear(),Jr(false),Is(),en(300),s.current){let oe=k.target.closest("img");if(oe&&xn){if(!l)return;let we=l.current.findIndex(Fe=>Fe===oe);we>=0&&ka(k,we);return}xn||vt(te.current);let fe=Zl(k);if(fe!=null&&(fe.isClone||!da(k))){fe.isClone?ra(fe.canonicalIndex):Ro(fe.canonicalIndex);return}}if(fo.current=performance.now()+C,Fn()){let J=Ie.pointerUp(k),oe=Z.main==="x"?J.fx:J.fy;ye&&(oe=-oe),Cn.current=false,wa(oe);return}if(y===false){let Ws=function(Vs){let Rt=X.current.length||1;if(!Qe)return 0;let Io=te.current||0,xr=d$3(Vs);if(xr===0)return 0;if(!R){let Xs=xr*-1,vr=Io+Xs;v?vr=(vr%Rt+Rt)%Rt:(vr<0||vr>Rt-1)&&(vr=Io);let Oa=X.current.length===2?xr:0;return Qe.byIndex(vr,Oa).distance}let qs=Qe.byDistance(Vs,true),{index:$n}=qs,{distance:Ha}=qs,Po=Io;if($n!==Po)return v?Ha:($n=Math.max(0,Math.min(Rt-1,$n)),Qe.byIndex($n,xr).distance);let Ba=xr*-1,Rr=Po+Ba;if(v)Rr=(Rr%Rt+Rt)%Rt;else if(Rr=Math.max(0,Math.min(Rt-1,Rr)),Rr===Po)return 0;let Da=X.current.length===2?xr:0;return Qe.byIndex(Rr,Da).distance};let J=Ie.pointerUp(k),oe=Z.main==="x"?J.fx:J.fy;ye&&(oe=-oe);let fe=a$5(k,window),Fe={mouse:300,touch:400}[fe?"mouse":"touch"],pt=oe*Fe,Qe=En.current,gt=Zt.current,Ao=Q.current;if(!Qe||!gt||!Ao)return;let Ta=Ht.current?.passed(),No=Ws(pt),Aa=Qe.byDistance(No,true);br(Aa.index,Ao.duration()?"animated":"instant");let Na=Ae,Ia=e$4(pt,No),js=K;Ta&&(js=K+5);let Pa=Na+Ia/50;Ao.useDuration(js).useFriction(Pa),gt.distance(No,true);}else {let J=Ie.pointerUp(k),oe=Z.main==="x"?J.fx:J.fy,fe=Oe(oe),we=e$4(oe,fe),Fe=Te,pt=Ae+we/50;zn.useDuration(Fe).useFriction(pt),ie.current.add(fe),rr.start(),q=false;}}zt.add(r,"dragstart",k=>k.preventDefault(),{passive:false}).add(r,"touchstart",_e).add(r,"mousedown",_e,{passive:true}).add(r,"touchcancel",nr).add(r,"contextmenu",nr);function $s(k){let de=fa();if(It.current){en(Ns),k.cancelable&&k.preventDefault?.();return}if(ma(de)){en(40),k.cancelable&&k.preventDefault?.();return}if(ge.emitBasePointerDown?.(),!re.current)return;let fe=ht(),Fe=Se.current>fe;if(!(Z.main==="x"?Math.abs(k.deltaX)>Math.abs(k.deltaY):Math.abs(k.deltaY)>=Math.abs(k.deltaX))||!Fe||no.current?.contains(k.target))return;Qr.current=false,fo.current=de+100;let Qe=(ne.current?.get()??0)-Z.wheelDelta(k)*Kr,gt=Qe;!v&&it.current&&(gt=it.current.constrain(Qe)),Q.current?.useDuration(0).useFriction(1),ie.current?.set(gt),pe.current=gt,St(gt),As(gt),Ze.current?.start(),k.cancelable&&k.preventDefault?.();}return r.addEventListener("wheel",$s,{passive:false}),requestAnimationFrame(()=>{!re.current||!X.current?.length||bs(true);}),co.current=true,()=>{zt.clear(),ct.clear(),r.removeEventListener("wheel",$s),Ze.current?.destroy(),Ze.current=null,Mn.current=null;}},[dr.length,v,We,st,Fr]);let{tweenParallax:Qt}=Ei({enabled:Ye,wrap:v,axisMain:Z.main,sliderRef:re,sliderWidthRef:Se,offsetLocationRef:ne,visibleImagesRef:ar,slidesRef:X,getCenterOffsetForIndex:Pn,slidesLen:dr.length,clonedLen:je.length,isReady:c$1}),{applyPairScaleTween:er}=Ti({enabled:yt,scaleAmount:eo,wrap:v,sliderRef:re,sliderWidthRef:Se,offsetLocationRef:ne,slidesRef:X,getCenterOffsetForIndex:Pn,slidesLen:dr.length,clonedLen:je.length}),{applyFadeTween:tr}=Ai({enabled:nt,minOpacity:to,wrap:v,sliderRef:re,sliderWidthRef:Se,offsetLocationRef:ne,slidesRef:X,getCenterOffsetForIndex:Pn,slidesLen:dr.length,clonedLen:je.length});function ga(){return {location:De.current?.get()??pe.current??0,previous:Nt.current?.get()??pe.current??0,offset:ne.current?.get()??pe.current??0,target:ie.current?.get()??pe.current??0,x:pe.current??0}}function ya(r){De.current?.set(r.location),Nt.current?.set(r.previous),ne.current?.set(r.offset),ie.current?.set(r.target),pe.current=r.x,St(r.offset),Ye&&Qt(),yt&&er(),nt&&tr();}function On(r){De.current?.set(r),Nt.current?.set(r),ne.current?.set(r),ie.current?.set(r),pe.current=r,St(r),Ye&&Qt(),yt&&er(),nt&&tr();}function Ps(){let r=Be.current;if(!r)return null;let o=r.cloneNode(true);return o.removeAttribute("data-rmg-part"),o.setAttribute("aria-hidden","true"),o.style.position="absolute",o.style.inset="0",o.style.width="100%",o.style.height="100%",o.style.margin="0",o.style.pointerEvents="none",o.querySelectorAll('[data-rmg-slider-crossfade-layer="true"]').forEach(i=>i.remove()),o.querySelectorAll("[id]").forEach(i=>{i.removeAttribute("id");}),o}function ha(r){let o=ga(),i=bo(r);On(i);let a=Ps();return ya(o),a}function ba(){Vr.current!=null&&(cancelAnimationFrame(Vr.current),Vr.current=null),qr.current!=null&&(cancelAnimationFrame(qr.current),qr.current=null),yr.current!=null&&(window.clearTimeout(yr.current),yr.current=null);}function Sa(){Yt.current?.replaceChildren(),Gt.current?.replaceChildren(),Ut.current&&(Ut.current.style.opacity="0",Ut.current.style.visibility="hidden");}function mt(){ba(),_t.current=false,Xr.current=null,Sa();}function tn(r,o="none"){let i=b$4(r);Ut.current&&(Ut.current.style.opacity="1",Ut.current.style.visibility="visible"),Yt.current&&(Yt.current.style.transition=o,Yt.current.style.opacity=String(1-i)),Gt.current&&(Gt.current.style.transition=o,Gt.current.style.opacity=String(i));}function xa(r,o){return !Yt.current||!Gt.current?false:(Yt.current.replaceChildren(r),Gt.current.replaceChildren(o),tn(0,"none"),true)}function _n(r){let o=bo(r);Ze.current?.stop(),Pt.current=false,On(o),Q.current?.useDuration(0).useFriction(1).sync().resetVelocity(),bt();}function Ra(r,o="instant"){let i=Je(r,X.current?.length??0),a=te.current;_n(i),pr.current?.set(a),br(i,o),Ve.current?.set(i),te.current=i,xt();}function Hs(r){let o=Ps(),i=ha(r);return !o||!i?false:xa(o,i)}function Mo(r,o){let i=X.current?.length??0;if(!i)return false;let a=v?(r%i+i)%i:Je(r,i),f=v?(te.current%i+i)%i:Je(te.current,i);if((o?.enabled??bn)&&_t.current&&mt(),!ji({enabled:o?.enabled??bn,busy:_t.current,fromIndex:f,toIndex:a}))return false;let h=o?.durationMs??Ur,g=o?.easing??yo;if(lt.enabled&&hr(a),mt(),!Hs(a))return false;let p=++Ft.current;return _t.current=true,Ra(a,"animated"),Vr.current=requestAnimationFrame(()=>{Vr.current=null,Ft.current===p&&(qr.current=requestAnimationFrame(()=>{qr.current=null,Ft.current===p&&(tn(1,`opacity ${h}ms ${g}`),yr.current=window.setTimeout(()=>{Ft.current===p&&mt();},h+48));}));}),true}function Lo(r,o={}){let{preserveTiming:i=false,fromUi:a=false,preferCrossfade:f=false,crossfade:h}=o;if(!Q.current||!ie.current)return;if(a&&(Dn(),f&&Mo(r,{enabled:true,durationMs:h?.durationMs,easing:h?.easing}))){ge.emitBasePointerDown?.();return}i||Q.current.useBaseDuration().useBaseFriction(),vt(r),ge.emitBasePointerDown?.();}function Fn(){return !!ro&&y!==true&&(X.current?.length??0)>1}function va(r){let o=X.current?.length??0;if(!o)return false;let i=v?(te.current%o+o)%o:Je(te.current,o),a=c$4({currentIndex:i,delta:r,slideCount:o,wrap:v});if(a===i)return Xr.current=null,mt(),false;lt.enabled&&hr(a);let f=Xr.current;if((!f||f.sourceIndex!==i||f.targetIndex!==a)&&(mt(),!Hs(a)))return false;let g=Math.max(1,ht()),p=b$4(Math.abs(r)/g);return _t.current=true,Xr.current={sourceIndex:i,targetIndex:a,progress:p,delta:r},tn(p,"none"),true}function wa(r){let o=Xr.current;if(!o)return mt(),false;if(!d$4({progress:o.progress,force:r,delta:o.delta})){let f=++Ft.current;return _t.current=true,tn(0,`opacity ${Ur}ms ${yo}`),yr.current=window.setTimeout(()=>{Ft.current===f&&mt();},Ur+48),false}let a=++Ft.current;return _t.current=true,br(o.targetIndex,"animated"),pr.current?.set(o.sourceIndex),Ve.current?.set(o.targetIndex),te.current=o.targetIndex,tn(1,`opacity ${Ur}ms ${yo}`),yr.current=window.setTimeout(()=>{Ft.current===a&&(_n(o.targetIndex),xt(),mt());},Ur+48),true}useEffect(()=>()=>mt(),[]);function Bs(){let r=Wr.current,o=re.current;if(!r||!o)return [];let i=r.originals,a=r.cw;if(!i.length||a<=0)return [];let f=-(ne.current?.get()??0);if(!v){let xe=f,Ce=f+a,Y=[];return i.forEach((Re,Ee)=>{let ee=Re.start;Re.end>xe&&ee<Ce&&Y.push(Ee);}),Y}let h=Se.current||0;if(h<=0)return [];let g=(f%h+h)%h,p=new Set,M=g,V=Math.min(g+a,h),se=(xe,Ce)=>{i.forEach((Y,Re)=>{let Ee=Y.start;Y.end>xe&&Ee<Ce&&p.add(Re);});};if(se(M,V),g+a>h){let xe=g+a-h;se(0,xe);}return Array.from(p)}useImperativeHandle(wl,()=>{let r=()=>ge.get().index??0,o=()=>X.current?.length??0;function i(){let g=o();if(g<=1)return false;if(v)return true;let p=r()<=0,M=r()>=Math.max(0,g-1);return !(ye?p:M)}function a(){let g=o();if(g<=1)return false;if(v)return true;let p=r()<=0,M=r()>=Math.max(0,g-1);return !(ye?M:p)}function f(){return vn.current}function h(){return {slides:X??[],slider:re,visibleImages:ar,selectedIndex:te,sliderX:kl,sliderVelocity:ms,isWrapping:cr}}return {centerSlider:()=>vo(),getIndex:()=>r(),setIndex:(g,p="animated")=>{vt(g,{jump:p!=="animated"});},setIndexFromUi:(g,p)=>{Lo(g,{fromUi:true,preferCrossfade:!!p?.crossfade,crossfade:p});},subscribeIndex:g=>ge.subscribe(g),slideIndexForCell:g=>{let p=n,M=o();if(!p||!M)return 0;let V=(g%p+p)%p,se=oo.current[V];return typeof se=="number"?se:Math.min(V,M-1)},getRootNode:()=>He.current,getContainerNode:()=>re.current,getViewportNode:()=>Be.current,getSlideNodes:()=>In(),onSlidesBuilt:g=>(zr.current.add(g),wn.current&&g(In()),()=>zr.current.delete(g)),whenSlidesBuilt:()=>wn.current?Promise.resolve(In()):new Promise(g=>{let p=M=>{zr.current.delete(p),g(M);};zr.current.add(p);}),isSlidesBuilt:()=>wn.current,scrollNext:()=>{i()&&Bn();},scrollPrev:()=>{a()&&Hn();},canScrollNext:()=>i(),canScrollPrev:()=>a(),scrollProgress:()=>f(),cellsInView:()=>Bs(),getInternals:h}},[ge,v,n,ye,Br]);function xt(){let r=X.current?.length??0,o=te.current,i=!v&&o<=0,a=!v&&o>=Math.max(0,r-1),f=(g,p)=>{g&&(g.style.cursor=p?"default":"pointer",g.style.opacity=p?"0.35":"1",g.setAttribute("aria-disabled",p?"true":"false"));};f(Dr.current,ye?a:i),f(Or.current,ye?i:a);let h=ur.current.length;for(let g=0;g<h;g++){let p=ur.current[g];p&&(p.classList.toggle($.active,g===o),p.classList.toggle($.inactive,g!==o));}}useEffect(()=>{let r=He.current,o=re.current;if(!r||!o||!X.current?.length||!st||!Fr||Se.current===0||!c$1)return;let i=new ResizeObserver(()=>{let a=ht();if(a<=0)return;let f=Se.current||0;if(!v){if(f<=a){let h=Math.round((a-f)/2);if(fr.current=h,!De.current||!Nt.current||!ne.current||!ie.current||!Q.current){St(ne.current?.get()??pe.current);return}if(!((X.current?.length??0)<=1)){St(ne.current?.get()??pe.current),bt(),Ye&&Qt(),yt&&er(),nt&&tr(),xt();return}So([0]),te.current=0,Ve.current?.set(0),pr.current?.set(0),ge.set(0,"instant"),it.current=d(0,0),Bt.current=f$1(a),Ht.current=e$1(it.current,De.current,ie.current,Q.current,Bt.current,K),Q.current.useDuration(0).useFriction(1),Pt.current=false,Ze.current?.stop(),De.current.set(0),Nt.current.set(0),ne.current.set(0),ie.current.set(0),pe.current=0,St(0),bt(),Ye&&Qt(),yt&&er(),nt&&tr(),xt();return}fr.current=0,xo({reanchor:ho});return}fr.current=0,xo({reanchor:true});});return i.observe(o),Be.current&&i.observe(Be.current),()=>i.disconnect()},[v,st,Fr,c$1,ho]),useEffect(()=>{typeof window>"u"||($l.current=a$1(1e4));},[]);function ka(r,o){s.current=true;let i=((o-ar.current)%n+n)%n,a=v?i:o;vl(true);let f=l?.current?.[o]??null;Rl?.({index:a,image:f,event:r});}function Sr(r){let o=r.touches[0];Sr._sx=o.clientX,Sr._sy=o.clientY;}function Ds(r){if(r.touches.length!==1)return;let o=r.touches[0],i=Sr._sx??o.clientX,a=Sr._sy??o.clientY,f=o.clientX-i,h=o.clientY-a,g=Z.main==="x"?Math.abs(f):Math.abs(h),p=Z.main==="x"?Math.abs(h):Math.abs(f);g>p&&r.preventDefault();}useEffect(()=>{let r=He.current;return r.addEventListener("touchstart",Sr,{passive:false}),r.addEventListener("touchmove",Ds,{passive:false}),()=>{r.removeEventListener("touchstart",Sr),r.removeEventListener("touchmove",Ds);}},[]);let Os=ds!==false,Eo=lr&&lr.trim().length>0?lr:$.ripple,_s=useCallback(r=>{if(!Os||!r)return;let o=r.querySelector("[data-rmg-ripple]");o&&o.remove();let i=r.getBoundingClientRect(),a=Math.max(i.width,i.height),f=a/2,h=i.width/2-f,g=i.height/2-f,p=document.createElement("span");p.setAttribute("data-rmg-ripple",""),Eo&&(p.className=Eo),p.style.width=`${a}px`,p.style.height=`${a}px`,p.style.left=`${h}px`,p.style.top=`${g}px`,r.appendChild(p),p.addEventListener("animationend",()=>p.remove(),{once:true});},[Os,Eo]),Ca=jsx(Ni,{axisMain:Z.main,clientKey:Z.clientKey,wrap:v,isRtl:ye,showArrows:Nr,selectedIndex:te.current,slideCount:X.current?.length??0,measureRef:Be,viewportMainSizeRef:Se,previous:la,next:aa,prevButtonRef:Dr,nextButtonRef:Or,createRipple:_s,arrowStyles:E,prevArrowStyles:u,nextArrowStyles:G,arrowClassName:I,prevArrowClassName:O,nextArrowClassName:Me,renderPrevArrow:Mt,renderNextArrow:Lt,renderArrows:jt}),{dotsNode:Ma}=Pi({AX:Z,slider:Be,sliderWidth:Se,showDots:Ir,selectedIndex:te,slides:X,dotsContainerRef:ps,dotRefs:ur,isScrolling:Cn,goToIndex:r=>Lo(r,{fromUi:true}),renderDots:Vt,createRipple:_s,styles:$,dotsContainerStyles:Ue,dotsStyles:dt,dotsContainerClassName:tt,dotsClassName:Ar}),rn=useMemo(()=>{let r=Ge??{};return {renderIntro:r.renderIntro,staggerMs:r.staggerMs??60,durationMs:r.durationMs??600,easing:r.easing??"cubic-bezier(.2,.7,.2,1)"}},[Ge]),La=useMemo(()=>je.map((r,o)=>{if(!isValidElement(r))return r;let i=r,a=i.props?.style||{};return cloneElement(i,{...i.props,style:{...a,"--rmg-intro-index":o}})}),[je]),Fs=jsxs(Fragment,{children:[Ca,jsxs("div",{ref:Be,"data-rmg-part":"viewport",className:[$.viewport,P??""].join(" "),style:{...B$1},children:[jsx("div",{ref:re,className:`${$.track} ${go}`,"data-rmg-axis":Z.main,style:{gap:`${S}px`},children:La}),jsxs("div",{ref:Ut,"data-rmg-slider-crossfade-layer":"true","aria-hidden":"true",style:{position:"absolute",inset:0,zIndex:1,pointerEvents:"none",opacity:0,visibility:"hidden"},children:[jsx("div",{ref:Yt,"data-rmg-slider-crossfade-slide":"source",style:{position:"absolute",inset:0,opacity:1,willChange:"opacity"}}),jsx("div",{ref:Gt,"data-rmg-slider-crossfade-slide":"target",style:{position:"absolute",inset:0,opacity:0,willChange:"opacity"}})]})]}),Ma,jl,Vl]}),To={className:[$.fade_container,go,c$1&&hs&&(At??true)?$.fadeInActive:$.fadeInStart].join(" "),style:{position:"relative"},"aria-busy":c$1?void 0:true},Ea=rn.renderIntro?jsx("div",{...To,children:rn.renderIntro({active:c$1&&hs&&(At??true),containerProps:To},Fs)}):jsx("div",{...To,children:Fs});return jsxs(Fragment,{children:[ks&&jsx("style",{dangerouslySetInnerHTML:{__html:ks}}),jsx("div",{"data-rmg-slider-core-scope":Yr,ref:He,className:[$.slider_container,go,U??""].join(" "),dir:ye?"rtl":void 0,style:{position:"relative","--rmg-intro-stagger":`${rn.staggerMs}ms`,"--rmg-intro-duration":`${rn.durationMs}ms`,"--rmg-intro-easing":rn.easing,zIndex:1,...D},children:Ea})]})}),Yi=Mc;function Ne(e){if(e!=null)return typeof e=="number"?`${e}px`:e}function ss(e){if(!e)return {};let t=Ne(e.marginTop),n=Ne(e.marginRight),s=Ne(e.marginBottom),l=Ne(e.marginLeft),c={};return t!=null&&(c.marginTop=t),n!=null&&(c.marginRight=n),s!=null&&(c.marginBottom=s),l!=null&&(c.marginLeft=l),c}function Lc(e,t){if(!(!e&&!t))return {...e||{},...t||{}}}function Qn(e,t){let n=e.slots?.[t];return {item:n?.item??e.item,itemWrapStyle:Lc(e.itemWrapStyle,n?.itemWrapStyle)}}function is(e,t){let n={};e?.aspectRatio!=null&&(n.aspectRatio=e.aspectRatio);let s=Ne(e?.width),l=Ne(e?.maxWidth),c=Ne(e?.height),d=Ne(e?.maxHeight);return s!=null&&(n.inlineSize=s,n.width=s),l!=null&&(n.maxInlineSize=l,n.maxWidth=l),c!=null&&(n.height=c),d!=null&&(n.maxHeight=d),e?.aspectRatio!=null&&e?.height==null&&(n.height="auto"),e?.aspectRatio!=null&&e?.width==null&&e?.height==null&&(n.inlineSize="100%",n.width="100%",n.height="auto"),e?.backgroundColor&&(n["--rmg-skel-bg"]=e.backgroundColor),e?.borderRadius!=null&&(n["--rmg-skel-radius"]=Ne(e.borderRadius)),e?.overflow!=null&&(n.overflow=e.overflow),e?.alignSelf&&(n.alignSelf=e.alignSelf),e?.scale!=null&&(n.transform=`scale(${e.scale})`),Object.assign(n,m(t)),n}function Ec(e,t){let n={};t!=null&&(n.height=`${t}px`);let s=Ne(e?.width),l=Ne(e?.maxWidth);return s!=null&&(n.inlineSize=s,n.width=s),l!=null&&(n.maxInlineSize=l,n.maxWidth=l),e?.alignSelf&&(n.alignSelf=e.alignSelf),e?.scale!=null&&(n.transform=`scale(${e.scale})`),n}function Tc(e){let t=is(e,void 0);return delete t["--rmg-skel-bg"],e?.backgroundColor!=null&&(t.backgroundColor=e.backgroundColor),e?.border!=null&&(t.border=e.border),e?.boxShadow!=null&&(t.boxShadow=e.boxShadow),e?.borderRadius!=null?(t.borderRadius=Ne(e.borderRadius),t.overflow=e?.overflow??"hidden"):e?.overflow!=null&&(t.overflow=e.overflow),t.boxSizing="border-box",t}function rs(e){let t={};return e&&(e.gap!=null&&(t.gap=Ne(e.gap)),e.padding!=null&&(t.padding=Ne(e.padding)),e.align&&(t.alignItems=e.align),e.justify&&(t.justifyContent=e.justify),e.wrap&&(t.flexWrap="wrap"),e.width!=null&&(t.width=Ne(e.width)),e.maxWidth!=null&&(t.maxWidth=Ne(e.maxWidth)),e.overflow!=null&&(t.overflow=e.overflow)),t}function el(e){return e.replace(/"/g,'\\"')}function un(e,t,n,s=a$3){switch(e.kind){case "rect":case "square":case "circle":{let l=w({style:e.style,breakpointMap:s});if(!l.length)return e;let c=t();return n.push({nodeId:c,rules:l}),{...e,__rmgNodeId:c}}case "text":{let l=[...j$3({fontSize:e.fontSize,lineHeight:e.lineHeight,lines:e.lines,lineWidth:e.lineWidth,breakpointMap:s}).map(d=>({...d,raw:true})),...x({style:e.style,breakpointMap:s})];if(!l.length)return e;let c=t();return n.push({nodeId:c,rules:l}),{...e,__rmgNodeId:c}}case "media":{let l=[...v({style:e.style,breakpointMap:s}),...w({style:e.tile?.style,breakpointMap:s,selector:`${b$5} [data-rmg-skel-media-tile="true"]`})];if(!l.length)return e;let c=t();return n.push({nodeId:c,rules:l}),{...e,__rmgNodeId:c}}case "stack":case "row":case "col":{let l=v({style:e.style,breakpointMap:s}),c=l.length?t():void 0;c&&l.length&&n.push({nodeId:c,rules:l});let d=e.children.map(m=>un(m,t,n,s));return {...e,...c?{__rmgNodeId:c}:null,children:d}}case "slider":{let l=v({style:e.style,breakpointMap:s}),c=l.length?t():void 0;c&&l.length&&n.push({nodeId:c,rules:l});let d=un(e.item,t,n,s),m=e.children?.map(x=>un(x,t,n,s)),y=e.slots?.map(x=>({...x,item:x.item?un(x.item,t,n,s):void 0}));return {...e,...c?{__rmgNodeId:c}:null,item:d,children:m,slots:y}}default:return e}}function Ac(e,t){if(!t.length)return "";let n=[];for(let s of t){let l=`${e} [data-rmg-skel-node="${el(s.nodeId)}"]`;for(let c of s.rules){let d=c.raw?c.css.split("__NODE_SEL__").join(l):`${l}{${c.css}}`;c.minWidth<=0?n.push(d):n.push(`@media (min-width:${c.minWidth}px){${d}}`);}}return n.join(`
44
+ `)}function Gi(e){let{kind:t,style:n,shimmer:s,breakpointMap:l,mediaTile:c}=e,d={},m=r(n,l),y=e.__rmgNodeId;return t==="circle"&&(d.borderRadius="9999px"),t==="square"&&m?.aspectRatio==null&&(d.aspectRatio="1"),m?.aspectRatio!=null&&m?.height==null&&(d.height="auto"),jsx("div",{"data-rmg-skel-node":y,"data-rmg-skel-media-tile":c?"true":void 0,className:$.sliderSkeleton,style:{...is(m,s),...ss(m),...d}})}function Nc({node:e,breakpointMap:t}){let n=i$1({fontSize:e.fontSize,lineHeight:e.lineHeight,lines:e.lines,lineWidth:e.lineWidth,breakpointMap:t}),s=r(e.style,t),l=d$5(e.lines,t),c=e$5(e.lineWidth,t),d=l||c,m=e.__rmgNodeId,y=Ec(s,l?void 0:n.metrics.totalHeight),x={height:n.metrics.lineBarHeight,backgroundColor:s?.backgroundColor,borderRadius:s?.borderRadius};return jsx("div",{"data-rmg-skel-node":m,"data-rmg-skel-text":"true",className:$.sliderSkeletonText,style:{...y,...ss(s),...l?null:{paddingBlock:`${n.metrics.paddingBlock}px`,rowGap:`${n.metrics.rowGap}px`}},children:Array.from({length:n.maxLines}).map((w,H)=>jsx("div",{"data-rmg-skel-text-line":"true",className:[$.sliderSkeleton,$.sliderSkeletonTextLine].join(" "),style:{...is(x,e.shimmer),...d?null:{display:H>=n.baseLines?"none":void 0,width:H===n.baseLines-1?n.baseLineWidth:"100%"}}},H))})}function ns({node:e,breakpointMap:t}){switch(e.kind){case "rect":case "square":case "circle":return jsx(Gi,{...e,breakpointMap:t});case "media":{let n=Math.max(0,e.count|0),s$1=e.direction??"row",l=e.tile?.shape??"rect",c=e.__rmgNodeId,d=rs(s(e.style,t));return jsx("div",{"data-rmg-skel-node":c,className:$.sliderSkeletonGroup,style:{display:"flex",flexDirection:s$1==="row"?"row":"column",...d||{}},children:Array.from({length:n}).map((m,y)=>jsx(Gi,{kind:l,style:e.tile?.style,shimmer:e.tile?.shimmer,breakpointMap:t,mediaTile:true},y))})}case "stack":case "row":case "col":{let n=e.kind==="row"?"row":"column",s$1=e.__rmgNodeId,l=rs(s(e.style,t));return jsx("div",{"data-rmg-skel-node":s$1,className:$.sliderSkeletonGroup,style:{display:"flex",flexDirection:n,...l||{}},children:e.children.map((c,d)=>jsx(ns,{node:c,breakpointMap:t},d))})}case "text":return jsx(Nc,{node:e,breakpointMap:t});default:return null}}function Zi(){return {layout:{kind:"slider",direction:"row",item:{kind:"rect",style:{width:"100%",height:"100%",borderRadius:2}},itemWrapStyle:void 0},radius:12}}function Jn(e){return /%$/.test(e.trim())}function tl(e){let t=e.trim();if(!t.length)return null;if(t==="0")return {value:0,unit:"px"};let n=t.match(/^(\d+(?:\.\d+)?|\.\d+)([a-zA-Z]+)$/);if(!n)return null;let s=Number(n[1]);return !Number.isFinite(s)||s<0?null:{value:s,unit:n[2]}}function rl(e){let t=[],n="",s=0;for(let l of e.trim()){if(/\s/.test(l)&&s===0){n&&(t.push(n),n="");continue}n+=l,l==="("?s+=1:l===")"&&(s=Math.max(0,s-1));}return n&&t.push(n),t}function Ic(e){let t=e.trim();return t.length?t==="0"?"0px":/^(?:var|calc|min|max|clamp)\(.+\)$/i.test(t)||tl(t)?t:null:null}function Pc(e){if(e==null)return null;if(typeof e=="number")return Number.isFinite(e)&&e>=0?e===0?"0px":`${e}px`:null;for(let t of rl(String(e))){let n=Ic(t);if(n)return n}return null}function Wt(e){return e==null?null:typeof e=="number"?`${e}px`:String(e)}function ls(e,t){if(!e)return null;if(t===0)return "0px";if(e==="0px")return e;let n=tl(e);return n?`${n.value*t}${n.unit}`:`calc(${e} * ${t})`}function nl(e){if(e==null)return null;if(typeof e=="number")return e>0?e:null;let t=String(e).trim(),n=t.match(/^(\d+(?:\.\d+)?)\s*\/\s*(\d+(?:\.\d+)?)$/);if(n){let l=Number(n[1]),c=Number(n[2]);return l>0&&c>0?l/c:null}let s=Number(t);return Number.isFinite(s)&&s>0?s:null}function be(e){let t=e.filter(s=>!!s&&s.trim().length>0);if(!t.length)return null;let n=t.filter(s=>{let l=s.trim();return l!=="0"&&l!=="0px"});return n.length?n.length===1?n[0]:`calc(${n.join(" + ")})`:"0px"}function os(e){let t=e.filter(n=>!!n&&n.trim().length>0);return t.length?t.length===1?t[0]:`max(${t.join(", ")})`:null}function Hc(e){let t=e.filter(n=>!!n&&n.trim().length>0);return t.length?t.length===1?t[0]:`min(${t.join(", ")})`:null}function Lr(e,t){if(e.trim()==="0"||e.trim()==="0px"||t.trim()==="0"||t.trim()==="0px")return "0px";if(t.trim()==="1")return e;let n=Number(t);return Number.isFinite(n)?ls(e,n)??`calc(${e} * ${t})`:`calc(${e} * ${t})`}function as(e,t){return t.trim()==="1"?e:`calc(${e} / ${t})`}function ol(e,t){return t.trim()==="0"||t.trim()==="0px"?e:`calc(${e} - ${t})`}function sl(e,t){let n=Wt(t);return !e||!n?e:Hc([e,n])}function dn(e){let t=Wt(e?.marginTop),n=Wt(e?.marginBottom);return !t&&!n?null:be([t??"0px",n??"0px"])}function il(e){if(e==null)return null;let t=typeof e=="number"?`${e}px`:String(e).trim();if(!t.length)return null;let n=rl(t);if(!n.length||n.length>4)return null;let[s,l,c,d]=n;return n.length===1?{top:s,right:s,bottom:s,left:s}:n.length===2?{top:s,right:l,bottom:s,left:l}:n.length===3?{top:s,right:l,bottom:c,left:l}:{top:s,right:l,bottom:c,left:d}}function ll(e){return Pc(e?.border)}function Bc(e){return ls(ll(e),2)}function Dc(e){return ls(ll(e),2)}function fn(e){let t=il(e?.padding);return t?be([t.top,t.bottom]):null}function al(e){let t=il(e?.padding);return t?be([t.left,t.right]):null}function yn(e){return Wt(e?.gap)}function Ji(e,t){let n=al(t);return !n||n==="0px"?e:ol(e,n)}function hn(e,t=0,n=a$3){return q$1(e,t,n)}function cs(e,t,n,s,l=0,c=a$3){let d=hn(e.style,l,c),m=yn(d)??"0px",y=al(d)??"0px",x=Math.max(1,t|0),w=x>1?Lr(m,String(x-1)):"0px",H=`calc(100cqw - ${y} - ${w})`,{itemWrapStyle:_}=Qn(e,n),F=_?.width?Wt(_.width):null,C;return s==="peek"&&F&&!Jn(F)?C=F:C=as(H,String(x)),sl(C,_?.maxWidth)??C}function Oc(e,t,n,s,l=0,c=a$3){let d=cs(e,t,n,s,l,c),{itemWrapStyle:m}=Qn(e,n),y=Bc(m);return !y||y==="0px"?d:ol(d,y)}function cl(e,t,n,s=0,l=a$3){let c=hn(e.style,s,l),d=yn(c)??"0px",m=fn(c)??"0px",y=Math.max(1,t|0),x=e.direction??"row",w=Array.from({length:y},(_,F)=>{let{item:C,itemWrapStyle:T}=Qn(e,F),N=cs(e,y,F,n,s,l),W=Oc(e,y,F,n,s,l),A=Er(C,W,s,l),S=Dc(T),B=dn(T),P=be([S,B]),D=null,U=null;if(A&&!Jn(A)&&(U=be([A,S,B])),T){let E=Wt(T.height);if(E)D=be([E,B]);else {let I=nl(T.aspectRatio);I?D=be([as(N,String(I)),B]):D=P;}}return A?D?Jn(A)?D:os([D,U??A]):A:D}),H=x==="row"?os(w):be([be(w),y>1?Lr(d,String(y-1)):"0px"]);return be([H,m])}function ul(e,t=0,n=a$3){return be((e.children??[]).map(s=>Er(s,"100cqw",t,n)))}function Er(e,t,n=0,s=a$3){if(e.kind==="rect"||e.kind==="square"||e.kind==="circle"){let l=p$1(e.style,n,s),c=Wt(l?.height),d=nl(l?.aspectRatio);if(c)return be([c,dn(l)]);if(d){let m=Wt(l?.width),y=m&&!Jn(m)?m:t,x=sl(y,l?.maxWidth)??y,w=String(d),H=as(x,w);return be([H,dn(l)])}return dn(l)??null}if(e.kind==="media"){let l=e.direction??"row",c=hn(e.style,n,s),d=yn(c)??"0px",m=Math.max(0,e.count|0),y=Ji(t,c),x=e.tile?{kind:e.tile.shape??"rect",style:e.tile.style,shimmer:e.tile.shimmer}:{kind:"rect",style:{width:"100%",height:"100%"}},w=Er(x,y,n,s);return w?l==="row"?be([w,fn(c)]):m<=1?be([w,fn(c)]):be([Lr(w,String(m)),Lr(d,String(m-1)),fn(c)]):null}if(e.kind==="row"||e.kind==="col"||e.kind==="stack"){let l=e.kind==="row"?"row":"col",c=hn(e.style,n,s),d=yn(c)??"0px",m=fn(c)??"0px",y=Ji(t,c),x=e.children.map(w=>Er(w,y,n,s));if(l==="row"){let w=os(x);return w?be([w,m]):null}else {let w=x.filter(_=>!!_);if(!w.length)return m;let H=w.length>1?Lr(d,String(w.length-1)):"0px";return be([be(w)??null,H,m])}}if(e.kind==="text"){let l=p$1(e.style,n,s),c=c$5({fontSize:e.fontSize,lineHeight:e.lineHeight,lines:g$3(e.lines,1,n,s)});return be([`${c.totalHeight}px`,dn(l)])}return null}function dl(e,t,n,s=0,l=a$3){let c=e.kind==="slider"?e:null;if(!c)return Er(e,"100cqw",s,l);let d=cl(c,t,n,s,l),m=ul(c,s,l);return be([d,m])}function fl(e,t=0,n=a$3){let s=e.kind==="slider"?e:null;return s?ul(s,t,n):null}function ml(e,t,n,s=0,l=a$3){let c=e.kind==="slider"?e:null;if(!c||n!=="peek")return null;let d=Math.max(1,t|0);if(d<=1)return null;let m=hn(c.style,s,l),y=yn(m)??"0px",x=Array.from({length:d-1},(H,_)=>cs(c,d,_+1,n,s,l)),w=d>2?Lr(y,String(d-2)):null;return be([...x,w])}function pl(e,t,n,s=0,l=a$3){let c=e.kind==="slider"?e:null;return c?cl(c,t,n,s,l):Er(e,"100cqw",s,l)}function mn(e,t,n=a$3){switch(e.kind){case "rect":case "square":case "circle":case "media":return;case "text":for(let s of h$3({lines:e.lines,lineWidth:e.lineWidth,breakpointMap:n}))t.add(s);return;case "stack":case "row":case "col":for(let s of e.children)mn(s,t,n);return;case "slider":mn(e.item,t,n);for(let s of e.children??[])mn(s,t,n);for(let s of e.slots??[])s.item&&mn(s.item,t,n);return;default:return e}}function pn(e,t$1,n=a$3){switch(e.kind){case "rect":case "square":case "circle":t(e.style,t$1,n);return;case "media":t(e.tile?.style,t$1,n);return;case "text":t(e.style,t$1,n);return;case "stack":case "row":case "col":for(let s of e.children)pn(s,t$1,n);return;case "slider":pn(e.item,t$1,n);for(let s of e.children??[])pn(s,t$1,n);for(let s of e.slots??[])s.item&&pn(s.item,t$1,n);return;default:return e}}function ts(e,t$1,n=a$3){t(e,t$1,n);}function gn(e,t,n=a$3){switch(e.kind){case "rect":case "square":case "circle":case "text":return;case "media":ts(e.style,t,n);return;case "stack":case "row":case "col":ts(e.style,t,n);for(let s of e.children)gn(s,t,n);return;case "slider":ts(e.style,t,n),gn(e.item,t,n);for(let s of e.children??[])gn(s,t,n);for(let s of e.slots??[])s.item&&gn(s.item,t,n);return;default:return e}}function gl(e,t=a$3){let n=new Set;return mn(e,n,t),Array.from(n).filter(s=>s>0).sort((s,l)=>s-l)}function yl(e,t=a$3){let n=new Set;return gn(e,n,t),Array.from(n).filter(s=>s>0).sort((s,l)=>s-l)}function hl(e,t=a$3){let n=new Set;return pn(e,n,t),Array.from(n).filter(s=>s>0).sort((s,l)=>s-l)}function bl({count:e,maxSlots:t,rowStyle:n,spec:s$1,breakpoints:l,centerFirst:c=false,hasLeadingSpacer:d=false,responsiveCssScopeSelector:m$1}){let y=s$1??Zi(),x=L.useMemo(()=>({...a$3,...l??{}}),[l]),w=y.layout??Zi().layout,H=L.useMemo(()=>a("ssk_",{breakpoints:x,centerFirst:c,count:e,hasLeadingSpacer:d,maxSlots:t,rowStyle:n,spec:y}),[c,e,x,d,t,n,y]),_=L.useMemo(()=>`[data-rmg-slider-skel-scope="${el(H)}"]`,[H]),F=m$1??_,C={...n||{},...m(y.shimmer)};y.backgroundColor&&(C["--rmg-skel-bg"]=y.backgroundColor),y.radius!=null&&(C["--rmg-skel-radius"]=Ne(y.radius));let{layout:T,responsiveCss:N}=L.useMemo(()=>{let O=0,G=()=>`n${++O}`,Me=[],Ue=un(w,G,Me,x),tt=Ac(F,Me);return {layout:Ue,responsiveCss:tt}},[w,F,x]),W=T,A=W.__rmgNodeId,S=rs(s(W.style,x)),B=W.count!=null?Math.max(0,W.count|0):Math.max(0,e|0),P=W.direction??"row",D=W.children??[],U=c&&P==="row",E=d&&P==="row",I=Math.max(0,t|0),u=y.mode??"fit";return jsxs("div",{"data-rmg-slider-skel-scope":m$1?void 0:H,"data-rmg-skel-mode":u,"data-rmg-skel-has-extras":D.length?"true":void 0,className:[$.sliderSkeletonOverlay,y.className].filter(Boolean).join(" "),style:y.style,"data-rmg-skel-part":"overlay",children:[N?jsx("style",{dangerouslySetInnerHTML:{__html:N}}):null,jsxs("div",{className:$.sliderSkeletonLayout,"data-rmg-skel-part":"layout","data-rmg-skel-has-extras":D.length?"true":void 0,children:[jsx("div",{"data-rmg-skel-node":A,className:$.sliderSkeletonRow,"data-rmg-skel-part":"row",style:{...C,...S||{},display:"flex",flexDirection:P==="row"?"row":"column",...U?{justifyContent:"center"}:null},children:Array.from({length:I}).map((O,G)=>{let Me=E&&G===0,Ue=E?G-1:G,tt=Me?{item:{kind:"rect",style:{width:"100%",height:"100%",backgroundColor:"transparent"},shimmer:{enabled:false}},itemWrapStyle:{width:"var(--rmg-slider-center-first-spacer-width, 0px)",height:0}}:Qn(W,Ue),dt=tt.itemWrapStyle;return jsx("div",{className:$.sliderSkeletonItem,"data-rmg-skel-slot":G+1,"data-rmg-skel-visible-count":B,"data-rmg-skel-center-first-spacer":Me?"true":void 0,style:{boxSizing:"border-box",...dt?Tc(dt):null,...dt?ss(dt):null,...P==="col"?{flex:"0 0 auto",height:"auto"}:{height:"100%"},minWidth:0,minHeight:0},children:jsx(ns,{node:tt.item,breakpointMap:x})},`rmg-slider-skel-${G}`)})}),D.length?jsx("div",{className:$.sliderSkeletonExtras,"data-rmg-skel-part":"extras",children:D.map((O,G)=>jsx(ns,{node:O,breakpointMap:x},`rmg-slider-skel-extra-${G}`))}):null]})]})}function _c(e){let{enabled:t,scopeId:n,loading:s,fallbackCount:l,breakpointMap:c,maxSlots:d=12,visibleSlotsForCount:m,showLoadingFallback:y,defaultNode:x}=e,w=s.enabled??true,H=s.force??false,_=t&&w&&(H||y),{cssText:F,ssrBaseCount:C}=L.useMemo(()=>!t||!w?{cssText:"",ssrBaseCount:l}:i({scopeId:n,responsiveCount:s.skeletonCount,fallbackCount:l,breakpointMap:c,maxSlots:d,visibleSlotsForCount:m}),[t,w,n,s.skeletonCount,l,c,d,m]),T=L.useMemo(()=>_?s.renderLoading?s.renderLoading({count:C}):x(d,C):null,[_,s.renderLoading,x,d,C]);return {cssText:F,ssrBaseCount:C,node:T,showLoading:_}}function Sl(e,t,n){return j$1(e,t,n).reduce((s,l)=>Math.max(s,l.count),0)}function Fc(e,t){let n=Math.max(0,Math.floor(e));return n<=0?[]:n===1?t>=2?[2]:[]:Array.from({length:Math.min(t,n+1)},(s,l)=>l+1)}function zc(e){return typeof e=="number"&&Number.isFinite(e)?`${e}px`:typeof e=="string"&&e.trim().length>0?e:null}function Tr(e){return typeof e!="string"?false:/\bcq(?:h|b|min|max)\b/i.test(e)}function us(e){return `[data-rmg-scope="${e}"] > [data-rmg-scope-shell="true"]`}function $c(e){return `${us(e)} [data-rmg-skel-part="overlay"]`}function Wc(e){let{scopeId:t,skeletonSpec:n,responsiveCount:s,fallbackCount:l,centerFirstSpacer:c=false}=e,d=n,m=d?.layout;if(!m)return "";let y=d?.mode??"fit",x=us(t),w=j$1(s,l,e.breakpointMap),H=gl(m,e.breakpointMap),_=yl(m,e.breakpointMap),F=hl(m,e.breakpointMap),C=A=>{let S=l;for(let B of w)A>=B.minWidth&&(S=B.count);return Math.max(1,S|0)},T=(A,S)=>{let B=dl(m,A,y,S,e.breakpointMap),P=pl(m,A,y,S,e.breakpointMap),D=fl(m,S,e.breakpointMap),U=c?ml(m,A,y,S,e.breakpointMap):null;if(!B&&!P&&!D&&!U&&!c)return "";let E=[B?`--rmg-slider-initial-height:${B};`:"",P?`--rmg-slider-row-height:${P};`:"",D?`--rmg-slider-extras-height:${D};`:"",c?`--rmg-slider-center-first-spacer-width:${U??"0px"};`:""].join("");return `${x}{${E}}`},N=Array.from(new Set([...w.map(A=>A.minWidth),...F,..._,...H])).sort((A,S)=>A-S),W=[];for(let A of N){let S=T(C(A),A);S&&(A<=0?W.push(S):W.push(`@media (min-width:${A}px){${S}}`));}return W.join(`
45
+ `)}var Bd=L.forwardRef(function(t,n){let{children:s,breakpoints:l,indexChannel:c,...d}=t,m=e(),y=m?.layout==="slider",x=L.useMemo(()=>b(),[]),w=c??x,H=L.useRef(false),_=L.useRef([]),F=t.expandableImageRefs!==void 0?t.expandableImageRefs:y?m?.expandableImageRefs??_:_,C=L.useRef(null),T=L.useRef(null),N=L.useRef(null),W=L.useRef(null),A=L.useRef(null),S=L.useRef(null),B=L.useRef(null),P=L.useCallback(R=>{B.current=R,y&&m?.sliderApiRef&&(m.sliderApiRef.current=R),n&&(typeof n=="function"?n(R):n.current=R);},[y,m,n]),[D,U]=L.useState(false),E=a$2(),I=L.useMemo(()=>m?.effectiveBreakpoints??{...a$3,...l||{}},[m?.effectiveBreakpoints,l]),u=L.useMemo(()=>({...le,...d??{},layout:{...le.layout,...d?.layout??{}},direction:{...le.direction,...d?.direction??{}},align:d?.align??le.align,scroll:{...le.scroll,...d?.scroll??{}},controls:{...le.controls,...d?.controls??{},arrows:{...le.controls.arrows,...d?.controls?.arrows??{},arrow:{...le.controls.arrows.arrow,...d?.controls?.arrows?.arrow??{}},prev:{...le.controls.arrows.prev,...d?.controls?.arrows?.prev??{}},next:{...le.controls.arrows.next,...d?.controls?.arrows?.next??{}}},dots:{...le.controls.dots,...d?.controls?.dots??{},root:{...le.controls.dots.root,...d?.controls?.dots?.root??{}},dot:{...le.controls.dots.dot,...d?.controls?.dots?.dot??{}}},progress:{...le.controls.progress,...d?.controls?.progress??{},root:{...le.controls.progress.root,...d?.controls?.progress?.root??{}},bar:{...le.controls.progress.bar,...d?.controls?.progress?.bar??{}}},scrollbar:{...le.controls.scrollbar,...d?.controls?.scrollbar??{},root:{...le.controls.scrollbar.root,...d?.controls?.scrollbar?.root??{}}},ripple:{...le.controls.ripple,...d?.controls?.ripple??{}}},lazyLoad:d?.lazyLoad??le.lazyLoad,auto:{...le.auto,...d?.auto??{},play:{...le.auto.play,...d?.auto?.play??{}},scroll:{...le.auto.scroll,...d?.auto?.scroll??{}}},motion:{...le.motion,...d?.motion??{}}}),[d]),O=L.useRef(0),G=L.useCallback(()=>`rmg-${++O.current}`,[]),Me=L.useMemo(()=>L.Children.toArray(s).map(K=>({id:G(),node:K})),[]),[Ue]=L.useState(Me),[tt,dt]=L.useState(()=>!!m&&y&&m.cellsRef.current.length>0);L.useLayoutEffect(()=>{if(m&&y&&!tt){if(m.cellsRef.current.length>0){dt(true);return}m.setItems(Me.map(R=>R.node)),dt(true);}},[y,m,Me,tt]);let Ar=y?m?.cellsState??void 0:void 0,jt=m&&y&&tt?Ar??[]:Ue,Mt=L.useMemo(()=>jt.map(R=>{let K=R.node;return L.isValidElement(K)?L.cloneElement(K,{key:R.id}):jsx("span",{style:{display:"block"},children:K},R.id)}),[jt]),Lt=c$1(),Vt=L.useMemo(()=>{if(!(u.layout.cellsPerSlide!=null))return;let K=f$2(u.layout.cellsPerSlide,1,Lt,I);return Math.max(1,K|0)},[u.layout.cellsPerSlide,Lt,I]),Nr=typeof Vt=="number"?Vt:void 0,Ir=L.useMemo(()=>{let R=f$2(u.layout.gap,20,Lt,I);return Math.max(0,R|0)},[u.layout.gap,Lt,I]),j=L.useMemo(()=>{let R=u.transitions?.loading??{};return {enabled:R.enabled??true,force:R.force??false,skeletonCount:R.skeletonCount,renderLoading:R.renderLoading,skeleton:R.skeleton,timing:R.timing}},[u.transitions?.loading]),ke=L.useMemo(()=>a("rmg-slider-",{align:u.align,breakpoints:I,direction:u.direction,layout:u.layout,loadingSkeleton:j.skeleton,loadingSkeletonCount:j.skeletonCount,viewportHeight:u.elements?.viewport?.style?.height}),[u.align,I,u.direction,u.layout,j.skeleton,j.skeletonCount,u.elements?.viewport?.style?.height]),Pr=L.useMemo(()=>$c(ke),[ke]);function Et(R,K){return j$1(R,K,I)[0]?.count??K}let $e=L.useMemo(()=>Math.max(1,Et(u.layout?.cellsPerSlide,1)|0),[I,u.layout?.cellsPerSlide]),qt=L.useMemo(()=>{let R=j.skeleton?.layout;return !j.renderLoading&&u.align==="center"&&j.skeleton?.centering==="first"&&(j.skeleton?.mode??"fit")==="peek"&&R?.kind==="slider"},[j.renderLoading,j.skeleton,u.align]),ft=L.useMemo(()=>qt&&Sl(j.skeletonCount,$e,I)>1,[qt,j.skeletonCount,$e,I]),Hr=L.useMemo(()=>{let R=j.skeleton?.layout,K=R?.kind==="slider"&&Array.isArray(R?.slots)?R.slots.length:0,Te=Sl(j.skeletonCount,$e,I),Ae=ft&&K>0?K+1:K,ot=ft?Te+1:Te;return Math.max(12,Ae,ot)},[j.skeletonCount,$e,I,ft,j.skeleton]),rt=_c({enabled:true,scopeId:ke,loading:j,fallbackCount:$e,breakpointMap:I,maxSlots:Hr,visibleSlotsForCount:ft?Fc:void 0,showLoadingFallback:!D,defaultNode:(R,K)=>{let Te=j.skeleton;return Te?jsx(bl,{count:K,maxSlots:R,spec:Te,breakpoints:I,centerFirst:qt,hasLeadingSpacer:ft,responsiveCssScopeSelector:Pr}):jsx("div",{className:$.sliderSkeletonOverlay,"data-rmg-skel-part":"overlay",children:jsx("div",{className:$.sliderSkeletonRow,"data-rmg-skel-part":"row",children:Array.from({length:R}).map((Ae,ot)=>jsx("div",{className:$.sliderSkeleton,"data-rmg-skel-slot":ot+1},`rmg-slider-skel-${ot}`))})})}}),Xt=L.useRef(null),Ye=L.useRef(rt.node);rt.node&&(Ye.current=rt.node);let Tt=L.useMemo(()=>d$1({prefersReducedMotion:E,timing:j.timing}),[E,j.timing]),{showLoadingLayer:Kt,loadingExiting:or,introUnlocked:yt}=e$2({loadingActive:rt.showLoading,exitMs:Tt.exitMs,minVisibleMs:Tt.minVisibleMs});function eo(R){let[K,Te]=L.useState(R.length===0);return L.useEffect(()=>{if(!R.length){Te(true);return}let Ae=false;Te(false);let ot=Ge=>new Promise(At=>{let me=new Image;if(me.src=Ge,typeof me.decode=="function")me.decode().catch(()=>{}).finally(()=>{Ae||At();});else {if(me.complete){Ae||At();return}let lr=()=>{me.onload=null,me.onerror=null,Ae||At();};me.onload=lr,me.onerror=lr;}});return (async()=>{for(let Ge of R){if(Ae)break;await ot(Ge);}Ae||Te(true);})(),()=>{Ae=true;}},[R]),K}let nt=L.useMemo(()=>$i(Mt,u.lazyLoad.enabled===true),[Mt,u.lazyLoad.enabled]),to=L.useMemo(()=>{if(u.lazyLoad.enabled!==true)return nt?.join("|")},[nt]),bn=u.lazyLoad.enabled===true?true:eo(L.useMemo(()=>nt,[to])),ro=u.layout.cellsPerSlide!=null?Nr??$e:void 0,sr=L.useMemo(()=>{let R=j.skeleton,K=j.skeletonCount;return Wc({scopeId:ke,skeletonSpec:R,responsiveCount:K,fallbackCount:$e,breakpointMap:I,centerFirstSpacer:ft})},[ke,j,$e,I,ft]),ir=L.useMemo(()=>{let R=zc(u.elements?.viewport?.style?.height);return R?`${us(ke)}{--rmg-slider-initial-height:${R};--rmg-slider-row-height:${R};}`:""},[u.elements?.viewport?.style?.height,ke]),We=L.useMemo(()=>{let R=u.elements?.viewport?.style,K=j.skeleton?.style;return u.direction.axis==="y"&&(Tr(R?.height)||Tr(R?.minHeight)||Tr(R?.maxHeight)||Tr(K?.height)||Tr(K?.minHeight)||Tr(K?.maxHeight))},[u.direction.axis,u.elements?.viewport?.style,j.skeleton?.style]),Sn=L.useRef(false),Le=!D;return L.useLayoutEffect(()=>{if(Sn.current)return;let R=Xt.current;if(!R)return;let K=R.querySelector('[data-rmg-skel-part="layout"]'),Te=R.querySelector('[data-rmg-skel-part="row"]'),Ae=R.querySelector('[data-rmg-part="viewport"]')||R.querySelector(`.${$.viewport}`),ot=K?.getBoundingClientRect().height??0,Ge=Te?.getBoundingClientRect().height??0,At=Ae?.getBoundingClientRect().height??0,me=Math.max(ot,Ge,At);me&&me>1&&(R.style.height=`${me}px`,R.style.maxHeight=`${me}px`,R.style.overflow="hidden",Sn.current=true);},[]),L.useLayoutEffect(()=>{let R=Xt.current;if(!R||!D)return;let K=R.querySelector('[data-rmg-part="viewport"]')||R.querySelector(`.${$.viewport}`),Te=R.querySelector(`.${$.contentLayer}`),Ae=K?.getBoundingClientRect().height??0,ot=Te?.getBoundingClientRect().height??0,Ge=Math.max(Ae,ot);Ge&&Ge>1?(R.style.height=`${Ge}px`,R.style.maxHeight=`${Ge}px`,requestAnimationFrame(()=>{R.style.height="",R.style.maxHeight="",R.style.overflow="";})):(R.style.height="",R.style.maxHeight="",R.style.overflow="");},[D]),jsxs(Fragment,{children:[rt.cssText&&jsx("style",{dangerouslySetInnerHTML:{__html:rt.cssText}}),sr&&jsx("style",{dangerouslySetInnerHTML:{__html:sr}}),ir&&jsx("style",{dangerouslySetInnerHTML:{__html:ir}}),jsx("div",{id:ke,"data-rmg-scope":ke,className:$.sliderScope,style:We?{height:"100%",containerType:"size"}:void 0,children:jsxs("div",{ref:Xt,"data-rmg-scope-shell":"true",className:$.sliderShell,style:{minHeight:Le?"var(--rmg-slider-initial-height, var(--rmg-slider-height))":void 0},children:[jsx("div",{className:[$.contentLayer,Kt?$.contentBlocked:""].filter(Boolean).join(" "),style:{paddingBottom:Le?"var(--rmg-slider-extras-height, 0px)":void 0},children:jsx(Yi,{cellCount:jt.length,isClick:H,expandableImageRefs:F,overlayDivRef:C,duplicateImgRef:T,closeButtonRef:N,counterRef:W,leftChevronRef:A,rightChevronRef:S,isReady:D,setIsReady:U,loop:u.scroll.loop,freeScroll:u.scroll.freeScroll,autoPlay:u.auto.play.enabled,autoPlaySpeed:u.auto.play.speedMs,autoPlayPause:u.auto.play.pauseMs,autoScroll:u.auto.scroll.enabled,autoScrollSpeed:u.auto.scroll.speedMs,autoScrollPause:u.auto.scroll.pauseMs,pauseAutoPlayOnHover:u.auto.play.pauseOnHover,pauseAutoScrollOnHover:u.auto.scroll.pauseOnHover,groupCells:u.scroll.groupCells,centerAlign:u.align==="center",gap:Ir,sliderViewportStyles:u.elements?.viewport?.style,sliderViewportClassName:u.elements?.viewport?.className,sliderContainerStyles:u.elements?.container?.style,sliderContainerClassName:u.elements?.container?.className,arrowStyles:u.controls.arrows.arrow.style,arrowClassName:u.controls.arrows.arrow.className,prevArrowStyles:u.controls.arrows.prev.style,prevArrowClassName:u.controls.arrows.prev.className,nextArrowStyles:u.controls.arrows.next.style,nextArrowClassName:u.controls.arrows.next.className,dotsContainerStyles:u.controls.dots.root.style,dotsContainerClassName:u.controls.dots.root.className,dotsStyles:u.controls.dots.dot.style,dotsClassName:u.controls.dots.dot.className,renderArrows:u.controls.arrows.render,renderPrevArrow:u.controls.arrows.renderPrev,renderNextArrow:u.controls.arrows.renderNext,renderDots:u.controls.dots.render,showArrows:u.controls.arrows.enabled,showDots:u.controls.dots.enabled,showProgress:u.controls.progress.enabled,progressClassName:u.controls.progress.root.className,progressStyle:u.controls.progress.root.style,progressInnerClassName:u.controls.progress.bar.className,progressInnerStyle:u.controls.progress.bar.style,renderProgress:u.controls.progress.render,showScrollbar:u.controls.scrollbar.enabled,scrollbarClassName:u.controls.scrollbar.root.className,scrollbarStyle:u.controls.scrollbar.root.style,renderScrollbar:u.controls.scrollbar.render,parallax:u.effects?.parallax?.enabled,parallaxBleedPct:u.effects?.parallax?.bleedPct,parallaxBorderRadius:u.effects?.parallax?.borderRadius,parallaxSideWidth:u.effects?.parallax?.sideWidth,ref:P,scaleEffect:u.effects?.scale?.enabled,scaleAmount:u.effects?.scale?.amount,fadeEffect:u.effects?.fade?.enabled,fadeMinOpacity:u.effects?.fade?.minOpacity,crossfadeControls:u.effects?.crossfade?.controls,crossfadeDrag:u.effects?.crossfade?.drag,crossfadeDurationMs:u.effects?.crossfade?.durationMs,crossfadeEasing:u.effects?.crossfade?.easing,cellsPerSlide:ro,direction:u.direction.dir,axis:u.direction.axis,skipSnaps:u.scroll.skipSnaps,selectDuration:u.motion.selectDuration,freeScrollDuration:u.motion.freeScrollDuration,sliderFriction:u.motion.friction,indexChannel:w,introOptions:u.transitions?.intro,introUnlocked:yt,lazyLoad:u.lazyLoad,rippleEnabled:u.controls.ripple.enabled,rippleClassName:u.controls.ripple.className,sliderImagesReady:bn,breakpointMap:I,enableFullscreen:y&&!!m?.fsEnabled,requestFullscreenOpen:y&&m?({index:R,image:K,event:Te})=>m.requestFullscreenOpen({source:"slider",index:R,image:K,event:Te}):void 0,isFullscreenOpen:y&&!!m?.isFullscreenOpen,setFullscreenOpen:y?m?.setFullscreenOpen:(()=>{}),children:Mt})}),Kt&&(rt.node??Ye.current)?jsx("div",{className:[$.loadingLayer,or?$.loadingLayerExit:""].filter(Boolean).join(" "),style:{"--rmg-loading-fade-duration":`${Tt.exitMs}ms`},"aria-hidden":"true",children:rt.node??Ye.current}):null]})})]})});export{$ as a,le as b,Bd as c};