react-spring-carousel 3.0.0-beta090.2 → 3.0.0-beta090.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es2.js
CHANGED
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
import { u as
|
|
2
|
-
import { useSpring as
|
|
3
|
-
import { useDrag as
|
|
4
|
-
import { useRef as
|
|
1
|
+
import { u as De, a as qe, j as P } from "./useThumbsModule-4e4b7969.js";
|
|
2
|
+
import { useSpring as Be, config as Q, useIsomorphicLayoutEffect as He } from "@react-spring/web";
|
|
3
|
+
import { useDrag as Oe } from "@use-gesture/react";
|
|
4
|
+
import { useRef as m, useEffect as E, createContext as ze, useCallback as O, useContext as Xe } from "react";
|
|
5
5
|
import Ye from "resize-observer-polyfill";
|
|
6
6
|
import $ from "screenfull";
|
|
7
7
|
function Je({
|
|
8
8
|
mainCarouselWrapperRef: n,
|
|
9
9
|
onFullScreenChange: v,
|
|
10
|
-
handleResize:
|
|
10
|
+
handleResize: N
|
|
11
11
|
}) {
|
|
12
|
-
const
|
|
13
|
-
|
|
12
|
+
const U = m(!1);
|
|
13
|
+
E(() => {
|
|
14
14
|
function h() {
|
|
15
|
-
document.fullscreenElement && (
|
|
15
|
+
document.fullscreenElement && (z(!0), v(!0), N && N()), document.fullscreenElement || (z(!1), v(!1), N && N());
|
|
16
16
|
}
|
|
17
17
|
if ($.isEnabled)
|
|
18
18
|
return $.on("change", h), () => {
|
|
19
19
|
$.isEnabled && $.off("change", h);
|
|
20
20
|
};
|
|
21
21
|
}, []);
|
|
22
|
-
function
|
|
23
|
-
|
|
22
|
+
function z(h) {
|
|
23
|
+
U.current = h;
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
return
|
|
25
|
+
function I() {
|
|
26
|
+
return U.current;
|
|
27
27
|
}
|
|
28
|
-
function
|
|
28
|
+
function T(h) {
|
|
29
29
|
$.isEnabled && $.request(h || n.current);
|
|
30
30
|
}
|
|
31
31
|
function u() {
|
|
32
32
|
$.isEnabled && $.exit();
|
|
33
33
|
}
|
|
34
34
|
return {
|
|
35
|
-
enterFullscreen:
|
|
35
|
+
enterFullscreen: T,
|
|
36
36
|
exitFullscreen: u,
|
|
37
|
-
getIsFullscreen:
|
|
37
|
+
getIsFullscreen: I
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
function et({
|
|
41
41
|
items: n,
|
|
42
42
|
init: v = !0,
|
|
43
|
-
withThumbs:
|
|
44
|
-
thumbsSlideAxis:
|
|
45
|
-
itemsPerSlide:
|
|
46
|
-
slideType:
|
|
47
|
-
gutter:
|
|
43
|
+
withThumbs: N,
|
|
44
|
+
thumbsSlideAxis: U = "x",
|
|
45
|
+
itemsPerSlide: z = 1,
|
|
46
|
+
slideType: I = "fixed",
|
|
47
|
+
gutter: T = 0,
|
|
48
48
|
withLoop: u = !1,
|
|
49
49
|
startEndGutter: h = 0,
|
|
50
|
-
carouselSlideAxis:
|
|
51
|
-
disableGestures:
|
|
52
|
-
draggingSlideTreshold:
|
|
53
|
-
slideWhenThresholdIsReached:
|
|
50
|
+
carouselSlideAxis: o = "x",
|
|
51
|
+
disableGestures: ge = !1,
|
|
52
|
+
draggingSlideTreshold: te,
|
|
53
|
+
slideWhenThresholdIsReached: me = !1,
|
|
54
54
|
freeScroll: c,
|
|
55
|
-
enableFreeScrollDrag:
|
|
56
|
-
initialStartingPosition:
|
|
57
|
-
prepareThumbsData:
|
|
58
|
-
initialActiveItem:
|
|
59
|
-
animateWhenActiveItemChange:
|
|
60
|
-
getControllerRef:
|
|
55
|
+
enableFreeScrollDrag: re,
|
|
56
|
+
initialStartingPosition: Z,
|
|
57
|
+
prepareThumbsData: ye,
|
|
58
|
+
initialActiveItem: C = 0,
|
|
59
|
+
animateWhenActiveItemChange: Ie = !0,
|
|
60
|
+
getControllerRef: ne
|
|
61
61
|
}) {
|
|
62
|
-
const w =
|
|
62
|
+
const w = z > n.length ? n.length : z, X = m(!1), _ = m(te ?? 0), k = m("initial"), ce = m("initial"), ue = m("initial"), p = m(C), f = m(C === 0), l = m(I === "fixed" && C === n.length - 1), a = m(null), x = m(null), oe = m(0), ie = m(0), d = m(0), be = m(u), Te = m(I), we = m(c), R = m(!1), G = O(() => u ? [
|
|
63
63
|
...n.map((e) => ({
|
|
64
64
|
...e,
|
|
65
65
|
id: `prev-repeated-item-${e.id}`
|
|
@@ -69,64 +69,64 @@ function et({
|
|
|
69
69
|
...e,
|
|
70
70
|
id: `next-repeated-item-${e.id}`
|
|
71
71
|
}))
|
|
72
|
-
] : [...n], [n, u])(), [W, y] =
|
|
72
|
+
] : [...n], [n, u])(), [W, y] = Be(
|
|
73
73
|
() => ({
|
|
74
74
|
val: 0,
|
|
75
75
|
pause: !v,
|
|
76
76
|
onChange: ({ value: e }) => {
|
|
77
|
-
c &&
|
|
77
|
+
c && a.current ? (o === "x" ? a.current.scrollLeft = Math.abs(e.val) : a.current.scrollTop = Math.abs(e.val), ee()) : x.current && (o === "x" ? x.current.style.transform = `translate3d(${e.val}px, 0px,0px)` : x.current.style.transform = `translate3d(0px,${e.val}px,0px)`);
|
|
78
78
|
}
|
|
79
79
|
}),
|
|
80
80
|
[c]
|
|
81
|
-
), { emitEvent:
|
|
82
|
-
withThumbs: !!
|
|
83
|
-
thumbsSlideAxis:
|
|
84
|
-
prepareThumbsData:
|
|
81
|
+
), { emitEvent: L, useListenToCustomEvent: A } = De(), { thumbsFragment: Me, handleScroll: Ce } = qe({
|
|
82
|
+
withThumbs: !!N,
|
|
83
|
+
thumbsSlideAxis: U,
|
|
84
|
+
prepareThumbsData: ye,
|
|
85
85
|
items: n,
|
|
86
86
|
renderThumbFnProps: {
|
|
87
|
-
getIsActiveItem:
|
|
88
|
-
getIsPrevItem:
|
|
89
|
-
useListenToCustomEvent:
|
|
90
|
-
getIsNextItem:
|
|
87
|
+
getIsActiveItem: ae,
|
|
88
|
+
getIsPrevItem: fe,
|
|
89
|
+
useListenToCustomEvent: A,
|
|
90
|
+
getIsNextItem: se
|
|
91
91
|
}
|
|
92
|
-
}), { enterFullscreen:
|
|
93
|
-
mainCarouselWrapperRef:
|
|
94
|
-
handleResize: () =>
|
|
92
|
+
}), { enterFullscreen: he, exitFullscreen: ve, getIsFullscreen: pe } = Je({
|
|
93
|
+
mainCarouselWrapperRef: a,
|
|
94
|
+
handleResize: () => S(),
|
|
95
95
|
onFullScreenChange: (e) => {
|
|
96
|
-
|
|
96
|
+
L({
|
|
97
97
|
eventName: "onFullscreenChange",
|
|
98
98
|
isFullscreen: e
|
|
99
99
|
});
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
|
-
function
|
|
103
|
-
return
|
|
104
|
-
marginRight: `${e ? 0 :
|
|
105
|
-
flex: `1 0 calc(100% / ${w} - ${
|
|
102
|
+
function ke(e) {
|
|
103
|
+
return I === "fixed" && !c ? {
|
|
104
|
+
marginRight: `${e ? 0 : T}px`,
|
|
105
|
+
flex: `1 0 calc(100% / ${w} - ${T * (w - 1) / w}px)`
|
|
106
106
|
} : {
|
|
107
|
-
marginRight: `${e ? 0 :
|
|
107
|
+
marginRight: `${e ? 0 : T}px`
|
|
108
108
|
};
|
|
109
109
|
}
|
|
110
|
-
|
|
110
|
+
const s = O(() => {
|
|
111
111
|
var r;
|
|
112
|
-
const e = (r =
|
|
112
|
+
const e = (r = a.current) == null ? void 0 : r.querySelector(".use-spring-carousel-item");
|
|
113
113
|
if (!e)
|
|
114
114
|
throw Error("No carousel items available!");
|
|
115
|
-
return e.getBoundingClientRect()[
|
|
116
|
-
}
|
|
117
|
-
function j({ from: e, to: r, nextActiveItem: t, immediate:
|
|
118
|
-
|
|
115
|
+
return e.getBoundingClientRect()[o === "x" ? "width" : "height"] + T;
|
|
116
|
+
}, [o, T]);
|
|
117
|
+
function j({ from: e, to: r, nextActiveItem: t, immediate: i = !1, slideMode: M }) {
|
|
118
|
+
ce.current = M, typeof t == "number" && (c || (p.current = t), L({
|
|
119
119
|
eventName: "onSlideStartChange",
|
|
120
|
-
slideActionType:
|
|
121
|
-
slideMode:
|
|
120
|
+
slideActionType: k.current,
|
|
121
|
+
slideMode: ce.current,
|
|
122
122
|
nextItem: {
|
|
123
|
-
startReached:
|
|
123
|
+
startReached: f.current,
|
|
124
124
|
endReached: l.current,
|
|
125
125
|
index: c ? -1 : p.current,
|
|
126
126
|
id: c ? "" : n[p.current].id
|
|
127
127
|
}
|
|
128
|
-
})),
|
|
129
|
-
immediate:
|
|
128
|
+
})), d.current = r, y.start({
|
|
129
|
+
immediate: i,
|
|
130
130
|
from: {
|
|
131
131
|
val: e
|
|
132
132
|
},
|
|
@@ -134,116 +134,133 @@ function et({
|
|
|
134
134
|
val: r
|
|
135
135
|
},
|
|
136
136
|
config: {
|
|
137
|
-
...
|
|
137
|
+
...Q.default,
|
|
138
138
|
velocity: W.val.velocity
|
|
139
139
|
},
|
|
140
140
|
onRest(B) {
|
|
141
|
-
!
|
|
141
|
+
!i && B.finished && L({
|
|
142
142
|
eventName: "onSlideChange",
|
|
143
|
-
slideActionType:
|
|
144
|
-
slideMode:
|
|
143
|
+
slideActionType: k.current,
|
|
144
|
+
slideMode: ce.current,
|
|
145
145
|
currentItem: {
|
|
146
|
-
startReached:
|
|
146
|
+
startReached: f.current,
|
|
147
147
|
endReached: l.current,
|
|
148
148
|
index: c ? -1 : p.current,
|
|
149
149
|
id: c ? "" : n[p.current].id
|
|
150
150
|
}
|
|
151
151
|
});
|
|
152
152
|
}
|
|
153
|
-
}),
|
|
153
|
+
}), N && !i && Ce(p.current);
|
|
154
154
|
}
|
|
155
|
-
|
|
155
|
+
const g = O(() => {
|
|
156
156
|
var e;
|
|
157
|
-
return x.current ? u ?
|
|
157
|
+
return x.current ? u ? s() * n.length : Math.round(
|
|
158
158
|
Number(
|
|
159
|
-
(e = x.current) == null ? void 0 : e[
|
|
160
|
-
) - x.current.getBoundingClientRect()[
|
|
159
|
+
(e = x.current) == null ? void 0 : e[o === "x" ? "scrollWidth" : "scrollHeight"]
|
|
160
|
+
) - x.current.getBoundingClientRect()[o === "x" ? "width" : "height"] - h * 2
|
|
161
161
|
) : 0;
|
|
162
|
-
}
|
|
162
|
+
}, [o, s, n.length, h, u]);
|
|
163
163
|
function Fe() {
|
|
164
164
|
const e = `calc(100% - ${h * 2}px)`;
|
|
165
165
|
return {
|
|
166
|
-
width:
|
|
167
|
-
height:
|
|
166
|
+
width: o === "x" ? e : "100%",
|
|
167
|
+
height: o === "y" ? e : "100%"
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
|
-
|
|
170
|
+
const Y = O(() => {
|
|
171
171
|
var r;
|
|
172
172
|
const e = (r = x.current) == null ? void 0 : r.querySelector(".use-spring-carousel-item");
|
|
173
173
|
if (!e)
|
|
174
174
|
throw Error("No carousel items available!");
|
|
175
|
-
return e.getBoundingClientRect()[
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
175
|
+
return e.getBoundingClientRect()[o === "x" ? "width" : "height"] + T;
|
|
176
|
+
}, [o, T]), J = O(
|
|
177
|
+
(e) => {
|
|
178
|
+
const r = o === "x" ? "left" : "top", t = x.current;
|
|
179
|
+
t && (u ? (t.style.top = "0px", t.style.left = "0px", t.style[r] = `-${e - h}px`, f.current = !1, l.current = !1) : (t.style.left = "0px", t.style.top = "0px"));
|
|
180
|
+
},
|
|
181
|
+
[o, h, u]
|
|
182
|
+
), S = O(
|
|
183
|
+
(e = !1) => {
|
|
184
|
+
if (x.current && e && (x.current.style.transform = "translate3d(0px, 0px,0px)", x.current.style.left = "0", x.current.style.top = "0"), I === "fixed" && J(
|
|
185
|
+
Z === "center" ? Y() * n.length - s() * Math.round((w - 1) / 2) : Z === "end" ? Y() * n.length - s() * Math.round(w - 1) : Y() * n.length
|
|
186
|
+
), I === "fluid") {
|
|
187
|
+
if (J(Y() * n.length), l.current && g() !== Math.abs(d.current) && !u) {
|
|
188
|
+
const r = -g();
|
|
189
|
+
d.current = r, y.start({
|
|
190
|
+
immediate: !0,
|
|
191
|
+
val: d.current
|
|
192
|
+
});
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
if (Math.abs(d.current) > 0 && g() !== Math.abs(d.current) && !u && !c && ue.current === "backward") {
|
|
196
|
+
const r = oe.current - g(), t = d.current + r;
|
|
197
|
+
return y.start({
|
|
198
|
+
immediate: !0,
|
|
199
|
+
val: t
|
|
200
|
+
}), () => {
|
|
201
|
+
d.current = t;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
console.log("here");
|
|
191
205
|
return;
|
|
192
206
|
}
|
|
193
|
-
if (
|
|
194
|
-
const r =
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
207
|
+
if (!c && I === "fixed") {
|
|
208
|
+
const r = -(s() * p.current);
|
|
209
|
+
if (Math.abs(r) > g() && !u) {
|
|
210
|
+
const t = -g();
|
|
211
|
+
l.current = !0, d.current = t, y.start({
|
|
212
|
+
immediate: !0,
|
|
213
|
+
val: d.current
|
|
214
|
+
});
|
|
215
|
+
} else
|
|
216
|
+
d.current = r, y.start({
|
|
217
|
+
immediate: !0,
|
|
218
|
+
val: r
|
|
219
|
+
});
|
|
220
|
+
setTimeout(() => {
|
|
221
|
+
X.current = !1;
|
|
222
|
+
}, 0);
|
|
201
223
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
setTimeout(() => {
|
|
218
|
-
z.current = !1;
|
|
219
|
-
}, 0);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
224
|
+
},
|
|
225
|
+
[
|
|
226
|
+
c,
|
|
227
|
+
Y,
|
|
228
|
+
s,
|
|
229
|
+
g,
|
|
230
|
+
Z,
|
|
231
|
+
n.length,
|
|
232
|
+
w,
|
|
233
|
+
J,
|
|
234
|
+
y,
|
|
235
|
+
I,
|
|
236
|
+
u
|
|
237
|
+
]
|
|
238
|
+
);
|
|
222
239
|
function F() {
|
|
223
|
-
return c &&
|
|
240
|
+
return c && a.current ? a.current[o === "x" ? "scrollLeft" : "scrollTop"] : W.val.get();
|
|
224
241
|
}
|
|
225
|
-
function
|
|
242
|
+
function K(e, r) {
|
|
226
243
|
if (c && e === "next") {
|
|
227
|
-
const t =
|
|
228
|
-
return t >
|
|
244
|
+
const t = d.current + s();
|
|
245
|
+
return t > g() ? g() : t;
|
|
229
246
|
}
|
|
230
247
|
if (c && e === "prev") {
|
|
231
|
-
const t =
|
|
248
|
+
const t = d.current - s();
|
|
232
249
|
return t < 0 ? 0 : t;
|
|
233
250
|
}
|
|
234
|
-
return e === "next" ? typeof r == "number" ? -(r *
|
|
251
|
+
return e === "next" ? typeof r == "number" ? -(r * s()) : d.current - s() : typeof r == "number" ? -(r * s()) : d.current + s();
|
|
235
252
|
}
|
|
236
253
|
function V({ type: e, index: r, immediate: t }) {
|
|
237
|
-
if (!v || R.current ||
|
|
254
|
+
if (!v || R.current || f.current && !u)
|
|
238
255
|
return;
|
|
239
|
-
l.current && (
|
|
240
|
-
const
|
|
241
|
-
if (c &&
|
|
242
|
-
const
|
|
243
|
-
if (
|
|
256
|
+
l.current && (ue.current = "backward"), k.current = "prev", l.current = !1;
|
|
257
|
+
const i = typeof r == "number" ? r : p.current - 1;
|
|
258
|
+
if (c && ee(), !u) {
|
|
259
|
+
const M = c ? K("prev", r) - s() / 3 < 0 : K("prev", r) + s() / 3 > 0;
|
|
260
|
+
if (f.current)
|
|
244
261
|
return;
|
|
245
|
-
if (
|
|
246
|
-
|
|
262
|
+
if (M) {
|
|
263
|
+
f.current = !0, l.current = !1, j({
|
|
247
264
|
slideMode: e,
|
|
248
265
|
from: F(),
|
|
249
266
|
to: 0,
|
|
@@ -253,76 +270,76 @@ function et({
|
|
|
253
270
|
return;
|
|
254
271
|
}
|
|
255
272
|
}
|
|
256
|
-
if (u && (
|
|
257
|
-
|
|
273
|
+
if (u && (f.current || i < 0)) {
|
|
274
|
+
f.current = !1, l.current = !0, j({
|
|
258
275
|
slideMode: e,
|
|
259
|
-
from: F() -
|
|
260
|
-
to: -(
|
|
276
|
+
from: F() - s() * n.length,
|
|
277
|
+
to: -(s() * n.length) + s(),
|
|
261
278
|
nextActiveItem: n.length - 1,
|
|
262
279
|
immediate: t
|
|
263
280
|
});
|
|
264
281
|
return;
|
|
265
282
|
}
|
|
266
|
-
|
|
283
|
+
i === 0 && (f.current = !0), (i === n.length - 1 || i === -1) && (l.current = !0), j({
|
|
267
284
|
slideMode: e,
|
|
268
285
|
from: F(),
|
|
269
|
-
to:
|
|
270
|
-
nextActiveItem:
|
|
286
|
+
to: K("prev", r),
|
|
287
|
+
nextActiveItem: i,
|
|
271
288
|
immediate: t
|
|
272
289
|
});
|
|
273
290
|
}
|
|
274
291
|
function D({ type: e, index: r, immediate: t }) {
|
|
275
292
|
if (!v || R.current || l.current && !u)
|
|
276
293
|
return;
|
|
277
|
-
|
|
278
|
-
const
|
|
279
|
-
if (c &&
|
|
280
|
-
const
|
|
294
|
+
f.current && (ue.current = "forward"), k.current = "next", f.current = !1;
|
|
295
|
+
const i = r || p.current + 1;
|
|
296
|
+
if (c && ee(), !u) {
|
|
297
|
+
const M = Math.abs(K("next", r)) > g() - s() / 3;
|
|
281
298
|
if (l.current)
|
|
282
299
|
return;
|
|
283
|
-
if (
|
|
284
|
-
|
|
300
|
+
if (M) {
|
|
301
|
+
f.current = !1, l.current = !0, j({
|
|
285
302
|
slideMode: e,
|
|
286
303
|
from: F(),
|
|
287
|
-
to: c ?
|
|
288
|
-
nextActiveItem:
|
|
304
|
+
to: c ? g() : -g(),
|
|
305
|
+
nextActiveItem: i,
|
|
289
306
|
immediate: t
|
|
290
307
|
});
|
|
291
308
|
return;
|
|
292
309
|
}
|
|
293
310
|
}
|
|
294
|
-
if (u && (l.current ||
|
|
295
|
-
l.current = !1,
|
|
311
|
+
if (u && (l.current || i > n.length - 1)) {
|
|
312
|
+
l.current = !1, f.current = !0, j({
|
|
296
313
|
slideMode: e,
|
|
297
|
-
from: F() +
|
|
314
|
+
from: F() + s() * n.length,
|
|
298
315
|
to: 0,
|
|
299
316
|
nextActiveItem: 0,
|
|
300
317
|
immediate: t
|
|
301
318
|
});
|
|
302
319
|
return;
|
|
303
320
|
}
|
|
304
|
-
|
|
321
|
+
i === 0 && (f.current = !0), i === n.length - 1 && (l.current = !0), j({
|
|
305
322
|
slideMode: e,
|
|
306
323
|
from: F(),
|
|
307
|
-
to:
|
|
308
|
-
nextActiveItem:
|
|
324
|
+
to: K("next", r),
|
|
325
|
+
nextActiveItem: i,
|
|
309
326
|
immediate: t
|
|
310
327
|
});
|
|
311
328
|
}
|
|
312
|
-
function
|
|
313
|
-
|
|
329
|
+
function $e() {
|
|
330
|
+
te ? _.current = te : _.current = Math.floor(s() / 2 / 2);
|
|
314
331
|
}
|
|
315
|
-
function
|
|
316
|
-
x.current && (
|
|
332
|
+
function xe() {
|
|
333
|
+
x.current && (oe.current = g(), be.current = u, Te.current = I, we.current = c, ie.current = window.innerWidth, d.current = 0, le({ id: 0, immediate: !0, shouldReset: !0 }), $e(), S());
|
|
317
334
|
}
|
|
318
|
-
const
|
|
335
|
+
const Ee = Oe(
|
|
319
336
|
(e) => {
|
|
320
|
-
const r = e.dragging, t = e.offset[
|
|
337
|
+
const r = e.dragging, t = e.offset[o === "x" ? 0 : 1], i = e.movement[o === "x" ? 0 : 1], M = e.direction[o === "x" ? 0 : 1], B = i > _.current, H = i < -_.current, Ve = g();
|
|
321
338
|
if (r) {
|
|
322
|
-
if (
|
|
339
|
+
if (M > 0 ? k.current = "prev" : k.current = "next", L({
|
|
323
340
|
...e,
|
|
324
341
|
eventName: "onDrag",
|
|
325
|
-
slideActionType:
|
|
342
|
+
slideActionType: k.current
|
|
326
343
|
}), c) {
|
|
327
344
|
if (t > 0) {
|
|
328
345
|
y.start({
|
|
@@ -362,7 +379,7 @@ function et({
|
|
|
362
379
|
friction: 50,
|
|
363
380
|
tension: 1e3
|
|
364
381
|
}
|
|
365
|
-
}),
|
|
382
|
+
}), me && H ? (D({ type: "drag" }), e.cancel()) : me && B && (V({ type: "drag" }), e.cancel()), Ve - Math.abs(t) < -(s() * 2) && e.cancel();
|
|
366
383
|
return;
|
|
367
384
|
}
|
|
368
385
|
if (e.last && c && t > 0) {
|
|
@@ -381,107 +398,107 @@ function et({
|
|
|
381
398
|
});
|
|
382
399
|
return;
|
|
383
400
|
}
|
|
384
|
-
e.last && !e.canceled && c && (
|
|
385
|
-
val: -
|
|
401
|
+
e.last && !e.canceled && c && (k.current === "prev" && V({ type: "drag" }), k.current === "next" && D({ type: "drag" })), e.last && !e.canceled && !c && (H ? !u && l.current ? y.start({
|
|
402
|
+
val: -g(),
|
|
386
403
|
config: {
|
|
387
|
-
...
|
|
404
|
+
...Q.default,
|
|
388
405
|
velocity: e.velocity
|
|
389
406
|
}
|
|
390
|
-
}) : D({ type: "drag" }) : B ? !u &&
|
|
407
|
+
}) : D({ type: "drag" }) : B ? !u && f.current ? y.start({
|
|
391
408
|
val: 0,
|
|
392
409
|
config: {
|
|
393
|
-
...
|
|
410
|
+
...Q.default,
|
|
394
411
|
velocity: e.velocity
|
|
395
412
|
}
|
|
396
413
|
}) : V({ type: "drag" }) : y.start({
|
|
397
|
-
val:
|
|
414
|
+
val: d.current,
|
|
398
415
|
config: {
|
|
399
|
-
...
|
|
416
|
+
...Q.default,
|
|
400
417
|
velocity: e.velocity
|
|
401
418
|
}
|
|
402
419
|
})), e.last && e.canceled && y.start({
|
|
403
|
-
val:
|
|
420
|
+
val: d.current,
|
|
404
421
|
config: {
|
|
405
|
-
...
|
|
422
|
+
...Q.default,
|
|
406
423
|
velocity: e.velocity
|
|
407
424
|
}
|
|
408
425
|
});
|
|
409
426
|
},
|
|
410
427
|
{
|
|
411
|
-
enabled: v && !
|
|
412
|
-
axis:
|
|
413
|
-
from: () => c &&
|
|
414
|
-
-
|
|
415
|
-
-
|
|
416
|
-
] :
|
|
428
|
+
enabled: v && !ge && !c || !!c && !!re,
|
|
429
|
+
axis: o,
|
|
430
|
+
from: () => c && a.current ? [
|
|
431
|
+
-a.current.scrollLeft,
|
|
432
|
+
-a.current.scrollTop
|
|
433
|
+
] : o === "x" ? [W.val.get(), W.val.get()] : [W.val.get(), W.val.get()]
|
|
417
434
|
}
|
|
418
435
|
);
|
|
419
436
|
function Ne() {
|
|
420
|
-
return c ?
|
|
437
|
+
return c ? o === "x" ? {
|
|
421
438
|
overflowX: "auto"
|
|
422
439
|
} : {
|
|
423
440
|
overflowY: "auto"
|
|
424
441
|
} : {};
|
|
425
442
|
}
|
|
426
|
-
function
|
|
427
|
-
|
|
443
|
+
function ee() {
|
|
444
|
+
a.current && (d.current = a.current[o === "x" ? "scrollLeft" : "scrollTop"], a.current[o === "x" ? "scrollLeft" : "scrollTop"] === 0 && (f.current = !0, l.current = !1), a.current[o === "x" ? "scrollLeft" : "scrollTop"] > 0 && a.current[o === "x" ? "scrollLeft" : "scrollTop"] < g() && (f.current = !1, l.current = !1), a.current[o === "x" ? "scrollLeft" : "scrollTop"] === g() && (f.current = !1, l.current = !0));
|
|
428
445
|
}
|
|
429
|
-
function
|
|
446
|
+
function We() {
|
|
430
447
|
return c ? {
|
|
431
448
|
onWheel() {
|
|
432
|
-
W.val.stop(),
|
|
449
|
+
W.val.stop(), ee();
|
|
433
450
|
}
|
|
434
451
|
} : {};
|
|
435
452
|
}
|
|
436
453
|
function q(e, r) {
|
|
437
454
|
let t = 0;
|
|
438
|
-
if (typeof e == "string" ? t = n.findIndex((
|
|
455
|
+
if (typeof e == "string" ? t = n.findIndex((i) => i.id === e) : t = e, t < 0 || t >= n.length) {
|
|
439
456
|
if (r)
|
|
440
457
|
throw new Error(r);
|
|
441
458
|
console.error(`The item doesn't exist; check that the id provided - ${e} - is correct.`), t = -1;
|
|
442
459
|
}
|
|
443
460
|
return t;
|
|
444
461
|
}
|
|
445
|
-
function
|
|
462
|
+
function le({ id: e, immediate: r, shouldReset: t, type: i }) {
|
|
446
463
|
if (!v || R.current)
|
|
447
464
|
return;
|
|
448
|
-
|
|
449
|
-
const
|
|
465
|
+
f.current = !1, l.current = !1;
|
|
466
|
+
const M = q(
|
|
450
467
|
e,
|
|
451
468
|
"The item you want to slide to doesn't exist; check the provided id."
|
|
452
469
|
);
|
|
453
|
-
if (
|
|
470
|
+
if (M === p.current && !t)
|
|
454
471
|
return;
|
|
455
|
-
const B = q(n[p.current].id), H = q(n[
|
|
472
|
+
const B = q(n[p.current].id), H = q(n[M].id);
|
|
456
473
|
H > B ? D({
|
|
457
|
-
type:
|
|
474
|
+
type: i || t ? "initial" : "click",
|
|
458
475
|
index: H,
|
|
459
476
|
immediate: r
|
|
460
477
|
}) : V({
|
|
461
|
-
type:
|
|
478
|
+
type: i || t ? "initial" : "click",
|
|
462
479
|
index: H,
|
|
463
480
|
immediate: r
|
|
464
481
|
});
|
|
465
482
|
}
|
|
466
|
-
function
|
|
483
|
+
function se(e) {
|
|
467
484
|
const r = q(e, "The item doesn't exist; check the provided id."), t = p.current;
|
|
468
485
|
return u && t === n.length - 1 ? r === 0 : r === t + 1;
|
|
469
486
|
}
|
|
470
|
-
function
|
|
487
|
+
function fe(e) {
|
|
471
488
|
const r = q(e, "The item doesn't exist; check the provided id."), t = p.current;
|
|
472
489
|
return u && t === 0 ? r === n.length - 1 : r === t - 1;
|
|
473
490
|
}
|
|
474
|
-
function
|
|
491
|
+
function ae(e) {
|
|
475
492
|
return q(e, "The item you want to check doesn't exist; check the provided id.") === p.current;
|
|
476
493
|
}
|
|
477
|
-
function
|
|
478
|
-
return
|
|
494
|
+
function Pe() {
|
|
495
|
+
return ge ? "unset" : o === "x" ? "pan-y" : "pan-x";
|
|
479
496
|
}
|
|
480
|
-
const
|
|
481
|
-
useListenToCustomEvent:
|
|
482
|
-
enterFullscreen:
|
|
483
|
-
exitFullscreen:
|
|
484
|
-
getIsFullscreen:
|
|
497
|
+
const b = c ? {
|
|
498
|
+
useListenToCustomEvent: A,
|
|
499
|
+
enterFullscreen: he,
|
|
500
|
+
exitFullscreen: ve,
|
|
501
|
+
getIsFullscreen: pe,
|
|
485
502
|
slideToPrevItem: (e = !0) => {
|
|
486
503
|
V({
|
|
487
504
|
type: "click",
|
|
@@ -495,10 +512,10 @@ function et({
|
|
|
495
512
|
});
|
|
496
513
|
}
|
|
497
514
|
} : {
|
|
498
|
-
useListenToCustomEvent:
|
|
499
|
-
enterFullscreen:
|
|
500
|
-
exitFullscreen:
|
|
501
|
-
getIsFullscreen:
|
|
515
|
+
useListenToCustomEvent: A,
|
|
516
|
+
enterFullscreen: he,
|
|
517
|
+
exitFullscreen: ve,
|
|
518
|
+
getIsFullscreen: pe,
|
|
502
519
|
slideToPrevItem: (e = !0) => {
|
|
503
520
|
V({
|
|
504
521
|
type: "click",
|
|
@@ -512,34 +529,54 @@ function et({
|
|
|
512
529
|
});
|
|
513
530
|
},
|
|
514
531
|
slideToItem: (e, r = !0) => {
|
|
515
|
-
|
|
532
|
+
le({ id: e, immediate: !r });
|
|
516
533
|
},
|
|
517
|
-
getIsNextItem:
|
|
518
|
-
getIsPrevItem:
|
|
519
|
-
getIsActiveItem:
|
|
534
|
+
getIsNextItem: se,
|
|
535
|
+
getIsPrevItem: fe,
|
|
536
|
+
getIsActiveItem: ae
|
|
520
537
|
};
|
|
521
|
-
|
|
522
|
-
x.current && v && (
|
|
523
|
-
}, [v]),
|
|
524
|
-
p.current !==
|
|
525
|
-
id:
|
|
526
|
-
immediate: !
|
|
538
|
+
He(() => {
|
|
539
|
+
x.current && v && (X.current = !0, xe());
|
|
540
|
+
}, [v]), E(() => {
|
|
541
|
+
p.current !== C && (X.current = !0, le({
|
|
542
|
+
id: C,
|
|
543
|
+
immediate: !Ie
|
|
527
544
|
}));
|
|
528
|
-
}, [
|
|
545
|
+
}, [C]), E(() => {
|
|
529
546
|
if (v) {
|
|
530
|
-
if (
|
|
547
|
+
if (C > n.length - 1)
|
|
531
548
|
throw new Error(
|
|
532
|
-
`initialActiveItem (${
|
|
549
|
+
`initialActiveItem (${C}) is greater than the total quantity available items (${n.length}).`
|
|
533
550
|
);
|
|
534
551
|
w > n.length && console.warn(
|
|
535
552
|
`itemsPerSlide (${w}) is greater than the total quantity available items (${n.length}). Fallback to ${n.length})`
|
|
536
553
|
);
|
|
537
554
|
}
|
|
538
|
-
}, [
|
|
539
|
-
|
|
540
|
-
}, []),
|
|
541
|
-
|
|
542
|
-
|
|
555
|
+
}, [C, n.length, w, v]), E(() => {
|
|
556
|
+
ie.current = window.innerWidth;
|
|
557
|
+
}, []), E(() => {
|
|
558
|
+
if (v) {
|
|
559
|
+
if (u && c)
|
|
560
|
+
throw new Error("`withLoop` and `freeScroll` can't be used together.");
|
|
561
|
+
if (c && I === "fixed")
|
|
562
|
+
throw new Error("`freeScroll` can't be used when `scrollType=fixed`.");
|
|
563
|
+
if (re && (I !== "fluid" || !c))
|
|
564
|
+
throw new Error(
|
|
565
|
+
"`enableFreeScrollDrag` must be used with `slideType=fluid` and `freeScroll=true`"
|
|
566
|
+
);
|
|
567
|
+
X.current = !0, xe();
|
|
568
|
+
}
|
|
569
|
+
}, [
|
|
570
|
+
Z,
|
|
571
|
+
w,
|
|
572
|
+
h,
|
|
573
|
+
T,
|
|
574
|
+
v,
|
|
575
|
+
u,
|
|
576
|
+
I,
|
|
577
|
+
c,
|
|
578
|
+
re
|
|
579
|
+
]), E(() => {
|
|
543
580
|
if (!v)
|
|
544
581
|
return;
|
|
545
582
|
function e() {
|
|
@@ -548,35 +585,35 @@ function et({
|
|
|
548
585
|
return document.addEventListener("visibilitychange", e), () => {
|
|
549
586
|
document.removeEventListener("visibilitychange", e);
|
|
550
587
|
};
|
|
551
|
-
}, [v]),
|
|
552
|
-
if (
|
|
588
|
+
}, [v]), E(() => {
|
|
589
|
+
if (a.current) {
|
|
553
590
|
let e;
|
|
554
591
|
const r = new Ye(() => {
|
|
555
|
-
if (!R.current && !
|
|
556
|
-
|
|
557
|
-
const t =
|
|
592
|
+
if (!R.current && !X.current) {
|
|
593
|
+
ie.current = window.innerWidth;
|
|
594
|
+
const t = S();
|
|
558
595
|
window.clearTimeout(e), e = setTimeout(() => {
|
|
559
|
-
|
|
596
|
+
oe.current = g(), typeof t == "function" && t();
|
|
560
597
|
}, 100);
|
|
561
598
|
}
|
|
562
599
|
});
|
|
563
|
-
return r.observe(
|
|
600
|
+
return r.observe(a.current), () => {
|
|
564
601
|
r.disconnect();
|
|
565
602
|
};
|
|
566
603
|
}
|
|
567
|
-
}, [
|
|
568
|
-
|
|
569
|
-
slideToNextItem:
|
|
570
|
-
slideToPrevItem:
|
|
571
|
-
slideToItem:
|
|
604
|
+
}, [S, g]), E(() => {
|
|
605
|
+
ne && ne({
|
|
606
|
+
slideToNextItem: b.slideToNextItem,
|
|
607
|
+
slideToPrevItem: b.slideToPrevItem,
|
|
608
|
+
slideToItem: b == null ? void 0 : b.slideToItem
|
|
572
609
|
});
|
|
573
|
-
}, [
|
|
574
|
-
const
|
|
610
|
+
}, [ne, b.slideToItem, b.slideToNextItem, b.slideToPrevItem]);
|
|
611
|
+
const Re = /* @__PURE__ */ P.jsx(de.Provider, { value: b, children: Me }), je = /* @__PURE__ */ P.jsx(de.Provider, { value: b, children: /* @__PURE__ */ P.jsx(
|
|
575
612
|
"div",
|
|
576
613
|
{
|
|
577
614
|
className: "use-spring-carousel-main-wrapper",
|
|
578
|
-
ref:
|
|
579
|
-
...
|
|
615
|
+
ref: a,
|
|
616
|
+
...We(),
|
|
580
617
|
style: {
|
|
581
618
|
display: "flex",
|
|
582
619
|
position: "relative",
|
|
@@ -589,12 +626,12 @@ function et({
|
|
|
589
626
|
{
|
|
590
627
|
className: "use-spring-carousel-track-wrapper",
|
|
591
628
|
ref: x,
|
|
592
|
-
|
|
629
|
+
...Ee(),
|
|
593
630
|
style: {
|
|
594
631
|
position: "relative",
|
|
595
632
|
display: "flex",
|
|
596
|
-
flexDirection:
|
|
597
|
-
touchAction:
|
|
633
|
+
flexDirection: o === "x" ? "row" : "column",
|
|
634
|
+
touchAction: Pe(),
|
|
598
635
|
...Fe()
|
|
599
636
|
},
|
|
600
637
|
children: [
|
|
@@ -607,7 +644,7 @@ function et({
|
|
|
607
644
|
}
|
|
608
645
|
}
|
|
609
646
|
) : null,
|
|
610
|
-
|
|
647
|
+
G.map((e, r) => /* @__PURE__ */ P.jsx(
|
|
611
648
|
"div",
|
|
612
649
|
{
|
|
613
650
|
className: "use-spring-carousel-item",
|
|
@@ -616,17 +653,17 @@ function et({
|
|
|
616
653
|
display: "flex",
|
|
617
654
|
position: "relative",
|
|
618
655
|
flex: "1",
|
|
619
|
-
...
|
|
620
|
-
r ===
|
|
621
|
-
(t) => t.id ===
|
|
656
|
+
...ke(
|
|
657
|
+
r === G.findIndex(
|
|
658
|
+
(t) => t.id === G[G.length - 1].id
|
|
622
659
|
)
|
|
623
660
|
)
|
|
624
661
|
},
|
|
625
662
|
children: typeof e.renderItem == "function" ? e.renderItem({
|
|
626
|
-
getIsActiveItem:
|
|
627
|
-
getIsNextItem:
|
|
628
|
-
getIsPrevItem:
|
|
629
|
-
useListenToCustomEvent:
|
|
663
|
+
getIsActiveItem: ae,
|
|
664
|
+
getIsNextItem: se,
|
|
665
|
+
getIsPrevItem: fe,
|
|
666
|
+
useListenToCustomEvent: A
|
|
630
667
|
}) : e.renderItem
|
|
631
668
|
},
|
|
632
669
|
`${e.id}-${r}`
|
|
@@ -645,11 +682,11 @@ function et({
|
|
|
645
682
|
)
|
|
646
683
|
}
|
|
647
684
|
) });
|
|
648
|
-
return { ...
|
|
685
|
+
return { ...b, carouselFragment: je, thumbsFragment: Re };
|
|
649
686
|
}
|
|
650
|
-
const
|
|
687
|
+
const de = ze(void 0);
|
|
651
688
|
function tt() {
|
|
652
|
-
const n = Xe(
|
|
689
|
+
const n = Xe(de);
|
|
653
690
|
if (!n)
|
|
654
691
|
throw new Error("useSpringCarouselContext must be used within the carousel.");
|
|
655
692
|
return n;
|