@car-cutter/react-webplayer 0.4.2 → 0.6.0

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.js CHANGED
@@ -1,6 +1,6 @@
1
- import ye, { createContext as Ie, useContext as Me, useRef as $, useState as A, useCallback as M, useEffect as P, useMemo as te, Fragment as Ot } from "react";
2
- import { createRoot as Ft } from "react-dom/client";
3
- var tt = { exports: {} }, ge = {};
1
+ import ye, { createContext as _e, useContext as ze, useRef as Z, useState as W, useCallback as M, useEffect as F, useMemo as re, Fragment as Rt } from "react";
2
+ import { createRoot as Pt } from "react-dom/client";
3
+ var Qe = { exports: {} }, fe = {};
4
4
  /**
5
5
  * @license React
6
6
  * react-jsx-runtime.production.min.js
@@ -10,28 +10,31 @@ var tt = { exports: {} }, ge = {};
10
10
  * This source code is licensed under the MIT license found in the
11
11
  * LICENSE file in the root directory of this source tree.
12
12
  */
13
- var Xe;
14
- function Pt() {
15
- if (Xe) return ge;
16
- Xe = 1;
17
- var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
18
- function c(l, s, b) {
19
- var d, m = {}, f = null, E = null;
20
- b !== void 0 && (f = "" + b), s.key !== void 0 && (f = "" + s.key), s.ref !== void 0 && (E = s.ref);
21
- for (d in s) o.call(s, d) && !u.hasOwnProperty(d) && (m[d] = s[d]);
22
- if (l && l.defaultProps) for (d in s = l.defaultProps, s) m[d] === void 0 && (m[d] = s[d]);
23
- return { $$typeof: r, type: l, key: f, ref: E, props: m, _owner: i.current };
13
+ var $e;
14
+ function Ft() {
15
+ if ($e) return fe;
16
+ $e = 1;
17
+ var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
18
+ function l(i, s, y) {
19
+ var c, m = {}, g = null, _ = null;
20
+ y !== void 0 && (g = "" + y), s.key !== void 0 && (g = "" + s.key), s.ref !== void 0 && (_ = s.ref);
21
+ for (c in s) o.call(s, c) && !u.hasOwnProperty(c) && (m[c] = s[c]);
22
+ if (i && i.defaultProps) for (c in s = i.defaultProps, s) m[c] === void 0 && (m[c] = s[c]);
23
+ return { $$typeof: r, type: i, key: g, ref: _, props: m, _owner: a.current };
24
24
  }
25
- return ge.Fragment = n, ge.jsx = c, ge.jsxs = c, ge;
25
+ return fe.Fragment = n, fe.jsx = l, fe.jsxs = l, fe;
26
+ }
27
+ Qe.exports = Ft();
28
+ var et = Qe.exports;
29
+ const Fe = "cc-webplayer", Ae = "cc-webplayer-icon", tt = "composition-loading", rt = "composition-loaded", nt = "composition-load-error", ot = "extend-mode-on", st = "extend-mode-off", at = "hotspots-on", it = "hotspots-off", lt = "gallery-open", ct = "gallery-close", At = !1, Dt = !1, Wt = !1, Zt = "quality", Yt = !1, dt = "cc-webplayer:", $t = !1;
30
+ function wn(e, r) {
31
+ return `https://cdn.car-cutter.com/gallery/${e}/${r}/composition_v3.json`;
26
32
  }
27
- tt.exports = Pt();
28
- var rt = tt.exports;
29
- const Ze = "cc-webplayer", De = "cc-webplayer-icon", nt = "composition-loading", ot = "composition-loaded", st = "composition-load-error", at = "extend-mode-on", it = "extend-mode-off", lt = "hotspots-on", ct = "hotspots-off", dt = "gallery-open", ut = "gallery-close", At = !1, Zt = !1, Dt = !1, $t = "quality", Yt = !1, mt = "cc-webplayer:", Wt = !1;
30
33
  function Ut(e, r) {
31
34
  const n = e.split("/"), o = n.pop();
32
35
  return [n.join("/"), r, o].join("/");
33
36
  }
34
- var pt = { exports: {} }, xe = {};
37
+ var ut = { exports: {} }, xe = {};
35
38
  /**
36
39
  * @license React
37
40
  * react-jsx-runtime.production.min.js
@@ -41,37 +44,37 @@ var pt = { exports: {} }, xe = {};
41
44
  * This source code is licensed under the MIT license found in the
42
45
  * LICENSE file in the root directory of this source tree.
43
46
  */
44
- var Be;
47
+ var Ue;
45
48
  function Xt() {
46
- if (Be) return xe;
47
- Be = 1;
48
- var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
49
- function c(l, s, b) {
50
- var d, m = {}, f = null, E = null;
51
- b !== void 0 && (f = "" + b), s.key !== void 0 && (f = "" + s.key), s.ref !== void 0 && (E = s.ref);
52
- for (d in s) o.call(s, d) && !u.hasOwnProperty(d) && (m[d] = s[d]);
53
- if (l && l.defaultProps) for (d in s = l.defaultProps, s) m[d] === void 0 && (m[d] = s[d]);
54
- return { $$typeof: r, type: l, key: f, ref: E, props: m, _owner: i.current };
49
+ if (Ue) return xe;
50
+ Ue = 1;
51
+ var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
52
+ function l(i, s, y) {
53
+ var c, m = {}, g = null, _ = null;
54
+ y !== void 0 && (g = "" + y), s.key !== void 0 && (g = "" + s.key), s.ref !== void 0 && (_ = s.ref);
55
+ for (c in s) o.call(s, c) && !u.hasOwnProperty(c) && (m[c] = s[c]);
56
+ if (i && i.defaultProps) for (c in s = i.defaultProps, s) m[c] === void 0 && (m[c] = s[c]);
57
+ return { $$typeof: r, type: i, key: g, ref: _, props: m, _owner: a.current };
55
58
  }
56
- return xe.Fragment = n, xe.jsx = c, xe.jsxs = c, xe;
59
+ return xe.Fragment = n, xe.jsx = l, xe.jsxs = l, xe;
57
60
  }
58
- pt.exports = Xt();
59
- var t = pt.exports;
61
+ ut.exports = Xt();
62
+ var t = ut.exports;
60
63
  async function Bt(e) {
61
64
  const r = await fetch(e);
62
65
  if (!r.ok)
63
66
  throw new Error(`Failed to fetch composition: ${r.statusText}`);
64
67
  return await r.json();
65
68
  }
66
- const Fe = /* @__PURE__ */ new Map(), Gt = (e) => {
67
- const [r, n] = A({
69
+ const Oe = /* @__PURE__ */ new Map(), Gt = (e) => {
70
+ const [r, n] = W({
68
71
  status: "pending",
69
72
  isSuccess: !1
70
73
  });
71
- return P(() => {
72
- const o = (u) => n({ status: "success", data: u, isSuccess: !0 }), i = Fe.get(e);
73
- if (i && !(i instanceof Promise)) {
74
- o(i);
74
+ return F(() => {
75
+ const o = (u) => n({ status: "success", data: u, isSuccess: !0 }), a = Oe.get(e);
76
+ if (a && !(a instanceof Promise)) {
77
+ o(a);
75
78
  return;
76
79
  }
77
80
  n({
@@ -80,11 +83,11 @@ const Fe = /* @__PURE__ */ new Map(), Gt = (e) => {
80
83
  }), async function() {
81
84
  try {
82
85
  let u;
83
- if (i)
84
- u = await i;
86
+ if (a)
87
+ u = await a;
85
88
  else {
86
- const c = Bt(e);
87
- Fe.set(e, c), u = await c, Fe.set(e, u);
89
+ const l = Bt(e);
90
+ Oe.set(e, l), u = await l, Oe.set(e, u);
88
91
  }
89
92
  o(u);
90
93
  } catch (u) {
@@ -96,44 +99,44 @@ const Fe = /* @__PURE__ */ new Map(), Gt = (e) => {
96
99
  }
97
100
  }();
98
101
  }, [e]), r;
99
- }, ht = Ie(null), re = () => {
100
- const e = Me(ht);
102
+ }, mt = _e(null), ne = () => {
103
+ const e = ze(mt);
101
104
  if (!e)
102
105
  throw new Error(
103
106
  "useCompositionContext must be used within a CompositionContextProvider"
104
107
  );
105
108
  return e;
106
109
  }, Kt = ({ composition: e, children: r }) => {
107
- const { aspectRatio: n, categories: o } = e, i = te(
108
- () => o.flatMap(({ items: c }) => c),
110
+ const { aspectRatio: n, categories: o } = e, a = re(
111
+ () => o.flatMap(({ items: l }) => l),
109
112
  [o]
110
113
  ), u = {
111
114
  aspectRatio: n.replace(":", " / ")
112
115
  };
113
116
  return /* @__PURE__ */ t.jsx(
114
- ht.Provider,
117
+ mt.Provider,
115
118
  {
116
119
  value: {
117
120
  ...e,
118
- items: i,
121
+ items: a,
119
122
  aspectRatioStyle: u
120
123
  },
121
124
  children: r
122
125
  }
123
126
  );
124
- }, ft = 500, Ae = 0.75, _e = 1 + Ae * 2;
125
- function se(e, r, n) {
127
+ }, pt = 500, Pe = 0.75, Le = 1 + Pe * 2;
128
+ function ae(e, r, n) {
126
129
  return Math.min(Math.max(e, r), n);
127
130
  }
128
- const ze = (e, r, n) => e + (r - e) * n, Ge = (e, r) => (e % r + r) % r, gt = Ie(null), J = () => {
129
- const e = Me(gt);
131
+ const Ne = (e, r, n) => e + (r - e) * n, Xe = (e, r) => (e % r + r) % r, ht = _e(null), J = () => {
132
+ const e = ze(ht);
130
133
  if (!e)
131
134
  throw new Error(
132
135
  "useGlobalContext must be used within a GlobalContextProvider"
133
136
  );
134
137
  return e;
135
- }, qt = ({ children: e, ...r }) => /* @__PURE__ */ t.jsx(gt.Provider, { value: r, children: e }), xt = Ie(null), q = () => {
136
- const e = Me(xt);
138
+ }, qt = ({ children: e, ...r }) => /* @__PURE__ */ t.jsx(ht.Provider, { value: r, children: e }), gt = _e(null), q = () => {
139
+ const e = ze(gt);
137
140
  if (!e)
138
141
  throw new Error(
139
142
  "useControlsContext must be used within a ControlsContextProvider"
@@ -146,192 +149,190 @@ const ze = (e, r, n) => e + (r - e) * n, Ge = (e, r) => (e % r + r) % r, gt = Ie
146
149
  infiniteCarrousel: r,
147
150
  preventFullScreen: n,
148
151
  emitEvent: o,
149
- isFullScreen: i,
152
+ isFullScreen: a,
150
153
  requestFullscreen: u,
151
- exitFullscreen: c
152
- } = J(), { categories: l, items: s } = re(), [b, d] = A(s.map(() => null)), m = M(
153
- (F, Q) => {
154
- d(
155
- (de) => de.map((he, fe) => fe === F ? Q : he)
154
+ exitFullscreen: l
155
+ } = J(), { categories: i, items: s } = ne(), [y, c] = W(s.map(() => null)), m = M(
156
+ (P, ee) => {
157
+ c(
158
+ (ge) => ge.map((oe, Ot) => Ot === P ? ee : oe)
156
159
  );
157
160
  },
158
161
  []
159
- ), [f, E] = A(0), [p, x] = A(null), z = p ?? f, w = s[z], N = b[z], [j, h] = A(
162
+ ), [g, _] = W(0), [w, x] = W(null), E = w ?? g, C = s[E], z = y[E], [f, p] = W(
160
163
  null
161
- ), g = !!j, C = M(() => h(null), []), T = M(() => {
162
- if (g || p !== null)
164
+ ), v = !!f, j = M(() => p(null), []), T = M(() => {
165
+ if (v || w !== null)
163
166
  return;
164
- const F = f - 1;
165
- F >= 0 ? x(F) : r && (h("first_to_last"), x(s.length - 1));
167
+ const P = g - 1;
168
+ P >= 0 ? x(P) : r && (p("first_to_last"), x(s.length - 1));
166
169
  }, [
170
+ v,
171
+ w,
167
172
  g,
168
- p,
169
- f,
170
173
  r,
171
174
  s.length
172
- ]), V = M(() => {
173
- if (g || p !== null)
175
+ ]), R = M(() => {
176
+ if (v || w !== null)
174
177
  return;
175
- const F = f + 1;
176
- F < s.length ? x(F) : r && (h("last_to_first"), x(0));
178
+ const P = g + 1;
179
+ P < s.length ? x(P) : r && (p("last_to_first"), x(0));
177
180
  }, [
181
+ v,
182
+ w,
178
183
  g,
179
- p,
180
- f,
181
184
  s.length,
182
185
  r
183
186
  ]), S = M(
184
- (F) => {
185
- const Q = Math.min(f, F), de = Math.max(f, F);
186
- b.slice(Q, de + 1).filter((he) => he === null).length > 2 && h("instant"), x(F);
187
+ (P) => {
188
+ const ee = Math.min(g, P), ge = Math.max(g, P);
189
+ y.slice(ee, ge + 1).filter((oe) => oe === null).length > 2 && p("instant"), x(P);
187
190
  },
188
- [f, b]
189
- ), v = te(() => {
190
- for (const F of l)
191
- if (F.items.includes(w))
192
- return F.id;
191
+ [g, y]
192
+ ), N = re(() => {
193
+ for (const P of i)
194
+ if (P.items.includes(C))
195
+ return P.id;
193
196
  throw new Error("Current item not found in any category");
194
- }, [l, w]), _ = M(
195
- (F) => {
196
- var Q;
197
- const de = (Q = l.find(({ id: fe }) => fe === F)) == null ? void 0 : Q.items[0];
198
- if (de === void 0)
197
+ }, [i, C]), L = M(
198
+ (P) => {
199
+ const ee = i.find(({ id: oe }) => oe === P)?.items[0];
200
+ if (ee === void 0)
199
201
  throw new Error("Failed to find target category");
200
- const he = s.findIndex((fe) => fe === de);
201
- S(he);
202
+ const ge = s.findIndex((oe) => oe === ee);
203
+ S(ge);
202
204
  },
203
- [l, s, S]
204
- ), I = te(() => {
205
- var F;
206
- switch (w.type) {
205
+ [i, s, S]
206
+ ), I = re(() => {
207
+ switch (C.type) {
207
208
  case "image":
208
- return !!((F = w.hotspots) != null && F.length);
209
+ return !!C.hotspots?.length;
209
210
  case "360":
210
- return N === "running";
211
+ return z === "running";
211
212
  case "video":
212
213
  return !1;
213
214
  }
214
- }, [w, N]), [R, Z] = A(!0), k = M(() => {
215
- const F = !R;
216
- Z(F), o(F ? lt : ct);
217
- }, [o, R]), a = te(() => {
218
- switch (w.type) {
215
+ }, [C, z]), [H, h] = W(!0), V = M(() => {
216
+ const P = !H;
217
+ h(P), o(P ? at : it);
218
+ }, [o, H]), d = re(() => {
219
+ switch (C.type) {
219
220
  case "image":
220
221
  case "360":
221
222
  return !0;
222
223
  case "video":
223
- return N !== "running";
224
+ return z !== "running";
224
225
  }
225
- }, [w, N]), [y, L] = A(!1), H = M(() => {
226
- const F = !y;
227
- L(F), o(F ? dt : ut);
228
- }, [o, y]), [D, Y] = A(null), W = M(() => Y(null), []), G = !!D, X = te(() => {
229
- switch (w.type) {
226
+ }, [C, z]), [b, k] = W(!1), A = M(() => {
227
+ const P = !b;
228
+ k(P), o(P ? lt : ct);
229
+ }, [o, b]), [D, Y] = W(null), $ = M(() => Y(null), []), X = !!D, B = re(() => {
230
+ switch (C.type) {
230
231
  case "image":
231
232
  return !0;
232
233
  case "360":
233
- return N === "running";
234
+ return z === "running";
234
235
  case "video":
235
236
  return !1;
236
237
  }
237
- }, [w.type, N]), [B, ne] = A(1), je = B !== 1, me = B < _e, ke = B > 1, ae = M((F) => {
238
- ne((Q) => se(Q + F, 1, _e));
239
- }, []), pe = M(() => ne(1), []), Te = M(() => ae(Ae), [ae]), St = M(() => ae(-Ae), [ae]), Ve = M(() => {
240
- pe(), W();
241
- }, [pe, W]), [ie, Rt] = A(!1), [Se, We] = A(), [Re, Ue] = A(!1), le = M(
242
- async (F) => {
243
- Ve(), Rt(F), o(F ? at : it);
238
+ }, [C.type, z]), [G, Q] = W(1), pe = G !== 1, be = G < Le, Ie = G > 1, ie = M((P) => {
239
+ Q((ee) => ae(ee + P, 1, Le));
240
+ }, []), he = M(() => Q(1), []), Tt = M(() => ie(Pe), [ie]), St = M(() => ie(-Pe), [ie]), Me = M(() => {
241
+ he(), $();
242
+ }, [he, $]), [le, Vt] = W(!1), [Te, Ze] = W(), [Se, Ye] = W(!1), ce = M(
243
+ async (P) => {
244
+ Me(), Vt(P), o(P ? ot : st);
244
245
  },
245
- [o, Ve]
246
- ), ce = M(() => {
247
- clearTimeout(Se);
248
- const F = setTimeout(() => {
249
- We(void 0);
250
- }, ft);
251
- We(F);
252
- }, [Se]), He = M(async () => {
253
- if (ce(), !n) {
254
- const F = await u();
255
- if (Ue(!F), F)
246
+ [o, Me]
247
+ ), de = M(() => {
248
+ clearTimeout(Te);
249
+ const P = setTimeout(() => {
250
+ Ze(void 0);
251
+ }, pt);
252
+ Ze(P);
253
+ }, [Te]), Ve = M(async () => {
254
+ if (de(), !n) {
255
+ const P = await u();
256
+ if (Ye(!P), P)
256
257
  return;
257
258
  }
258
- le(!0);
259
+ ce(!0);
259
260
  }, [
260
261
  n,
261
- le,
262
+ ce,
262
263
  u,
263
- ce
264
- ]), Oe = M(async () => {
265
- ce(), !(!n && (Ue(!1), await c())) && le(!1);
264
+ de
265
+ ]), He = M(async () => {
266
+ de(), !(!n && (Ye(!1), await l())) && ce(!1);
266
267
  }, [
267
268
  n,
268
- le,
269
- c,
270
- ce
269
+ ce,
270
+ l,
271
+ de
271
272
  ]), Ht = M(() => {
272
- ie ? Oe() : He();
273
- }, [Oe, He, ie]);
274
- return P(() => {
275
- n || Re && ie || i !== ie && (ce(), le(i));
273
+ le ? He() : Ve();
274
+ }, [He, Ve, le]);
275
+ return F(() => {
276
+ n || Se && le || a !== le && (de(), ce(a));
276
277
  }, [
277
278
  n,
279
+ ce,
278
280
  le,
279
- ie,
280
- Re,
281
- i,
282
- ce
281
+ Se,
282
+ a,
283
+ de
283
284
  ]), /* @__PURE__ */ t.jsx(
284
- xt.Provider,
285
+ gt.Provider,
285
286
  {
286
287
  value: {
287
288
  setItemInteraction: m,
288
289
  slidable: s.length > 1,
289
- carrouselItemIndex: f,
290
- setCarrouselItemIndex: E,
291
- itemIndexCommand: p,
290
+ carrouselItemIndex: g,
291
+ setCarrouselItemIndex: _,
292
+ itemIndexCommand: w,
292
293
  setItemIndexCommand: x,
293
- masterItemIndex: z,
294
- specialCommand: j,
295
- isRunningSpecialCommand: g,
296
- finishSpecialCommand: C,
294
+ masterItemIndex: E,
295
+ specialCommand: f,
296
+ isRunningSpecialCommand: v,
297
+ finishSpecialCommand: j,
297
298
  prevItem: T,
298
- nextItem: V,
299
+ nextItem: R,
299
300
  scrollToItemIndex: S,
300
- displayedCategoryId: v,
301
- changeCategory: _,
301
+ displayedCategoryId: N,
302
+ changeCategory: L,
302
303
  enableHotspotsControl: I,
303
- showHotspots: R,
304
- toggleHotspots: k,
305
- showGalleryControls: a,
306
- showGallery: y,
307
- toggleGallery: H,
304
+ showHotspots: H,
305
+ toggleHotspots: V,
306
+ showGalleryControls: d,
307
+ showGallery: b,
308
+ toggleGallery: A,
308
309
  shownDetails: D,
309
- isShowingDetails: G,
310
+ isShowingDetails: X,
310
311
  setShownDetails: Y,
311
- resetShownDetails: W,
312
- showZoomControls: X,
313
- zoom: B,
314
- isZooming: je,
315
- setZoom: ne,
316
- resetZoom: pe,
317
- canZoomIn: me,
318
- zoomIn: Te,
319
- canZoomOut: ke,
312
+ resetShownDetails: $,
313
+ showZoomControls: B,
314
+ zoom: G,
315
+ isZooming: pe,
316
+ setZoom: Q,
317
+ resetZoom: he,
318
+ canZoomIn: be,
319
+ zoomIn: Tt,
320
+ canZoomOut: Ie,
320
321
  zoomOut: St,
321
- resetView: Ve,
322
- extendMode: ie,
323
- enableExtendMode: He,
324
- disableExtendMode: Oe,
322
+ resetView: Me,
323
+ extendMode: le,
324
+ enableExtendMode: Ve,
325
+ disableExtendMode: He,
325
326
  toggleExtendMode: Ht,
326
- extendTransition: !!Se,
327
- fakeFullScreen: Re
327
+ extendTransition: !!Te,
328
+ fakeFullScreen: Se
328
329
  },
329
330
  children: e
330
331
  }
331
332
  );
332
- }, vt = ["left", "center", "right", "fullW"], wt = ["top", "middle", "bottom", "fullH"], Qt = [
333
- ...vt,
334
- ...wt,
333
+ }, ft = ["left", "center", "right", "fullW"], xt = ["top", "middle", "bottom", "fullH"], Qt = [
334
+ ...ft,
335
+ ...xt,
335
336
  "top-left",
336
337
  "top-center",
337
338
  "top-right",
@@ -350,10 +351,10 @@ const ze = (e, r, n) => e + (r - e) * n, Ge = (e, r) => (e % r + r) % r, gt = Ie
350
351
  "fullW-fullW"
351
352
  ];
352
353
  function er(e) {
353
- return vt.includes(e);
354
+ return ft.includes(e);
354
355
  }
355
356
  function tr(e) {
356
- return wt.includes(e);
357
+ return xt.includes(e);
357
358
  }
358
359
  function rr(e) {
359
360
  return Qt.includes(e);
@@ -378,7 +379,7 @@ function or(e) {
378
379
  return "inset-x-1 small:inset-x-2";
379
380
  }
380
381
  }
381
- function bt(e) {
382
+ function vt(e) {
382
383
  switch (e) {
383
384
  case "top":
384
385
  return "top-1 small:top-2";
@@ -395,57 +396,57 @@ function sr({
395
396
  positionY: r
396
397
  }) {
397
398
  const n = new Array();
398
- return e && n.push(or(e)), r && n.push(bt(r)), n.join(" ");
399
+ return e && n.push(or(e)), r && n.push(vt(r)), n.join(" ");
399
400
  }
400
401
  function ue(e) {
401
402
  const [r, n] = nr(e);
402
403
  return sr({ positionX: n, positionY: r });
403
404
  }
404
- const yt = Ie(null), jt = () => Me(yt), $e = () => {
405
- const e = jt();
405
+ const wt = _e(null), yt = () => ze(wt), De = () => {
406
+ const e = yt();
406
407
  if (!e)
407
408
  throw new Error(
408
409
  "useCustomizationContext must be used within a CustomizationContextProvider"
409
410
  );
410
411
  return e;
411
412
  }, ar = ({ children: e }) => {
412
- const [r, n] = A(
413
+ const [r, n] = W(
413
414
  /* @__PURE__ */ new Map()
414
415
  ), o = M(
415
- (c) => {
416
- const l = r.get(c);
417
- if (l)
418
- return l;
416
+ (l) => {
417
+ const i = r.get(l);
418
+ if (i)
419
+ return i;
419
420
  const s = document.querySelector(
420
- `${De}[name="${c}"]`
421
+ `${Ae}[name="${l}"]`
421
422
  );
422
423
  if (!s)
423
424
  return;
424
- const b = s.getAttribute("color") ?? void 0, d = s.innerHTML, m = d ? /* @__PURE__ */ t.jsx(
425
+ const y = s.getAttribute("color") ?? void 0, c = s.innerHTML, m = c ? /* @__PURE__ */ t.jsx(
425
426
  "div",
426
427
  {
427
428
  className: "size-full",
428
- dangerouslySetInnerHTML: { __html: d }
429
+ dangerouslySetInnerHTML: { __html: c }
429
430
  }
430
431
  ) : void 0;
431
- if (!(!b && !m))
432
- return { Icon: m, color: b };
432
+ if (!(!y && !m))
433
+ return { Icon: m, color: y };
433
434
  },
434
435
  [r]
435
- ), i = M(
436
- (c, l) => {
437
- n((s) => new Map(s.set(c, l)));
436
+ ), a = M(
437
+ (l, i) => {
438
+ n((s) => new Map(s.set(l, i)));
438
439
  },
439
440
  []
440
- ), u = M((c) => {
441
- n((l) => (l.delete(c), new Map(l)));
441
+ ), u = M((l) => {
442
+ n((i) => (i.delete(l), new Map(i)));
442
443
  }, []);
443
444
  return /* @__PURE__ */ t.jsx(
444
- yt.Provider,
445
+ wt.Provider,
445
446
  {
446
447
  value: {
447
448
  getIconConfig: o,
448
- setIconConfig: i,
449
+ setIconConfig: a,
449
450
  resetIconConfig: u
450
451
  },
451
452
  children: e
@@ -456,13 +457,13 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
456
457
  className: r = "",
457
458
  children: n
458
459
  }) => {
459
- const { getIconConfig: o } = $e(), i = o(e);
460
- return i ? /* @__PURE__ */ t.jsx(
460
+ const { getIconConfig: o } = De(), a = o(e);
461
+ return a ? /* @__PURE__ */ t.jsx(
461
462
  "div",
462
463
  {
463
464
  className: r,
464
- style: { color: i == null ? void 0 : i.color },
465
- children: (i == null ? void 0 : i.Icon) ?? n
465
+ style: { color: a?.color },
466
+ children: a?.Icon ?? n
466
467
  }
467
468
  ) : n;
468
469
  }, ir = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_CLOSE", children: /* @__PURE__ */ t.jsx(
@@ -498,24 +499,29 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
498
499
  variant: e = "fill",
499
500
  shape: r = "button",
500
501
  color: n = "primary",
501
- className: o = "",
502
- children: i,
502
+ className: o,
503
+ children: a,
503
504
  ...u
504
505
  }) => {
505
- const c = lr[e][n], l = cr[r];
506
+ const l = lr[e][n], i = cr[r];
506
507
  return /* @__PURE__ */ t.jsx(
507
508
  "button",
508
509
  {
509
- className: `${c} ${l} flex items-center justify-center rounded-ui text-sm transition disabled:opacity-60 ${o}`,
510
+ className: O(
511
+ "flex items-center justify-center rounded-ui text-sm transition-all disabled:opacity-60",
512
+ l,
513
+ i,
514
+ o
515
+ ),
510
516
  ...u,
511
- children: i
517
+ children: a
512
518
  }
513
519
  );
514
- }, kt = ({ className: e = "", ...r }) => /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", className: e, ...r, children: /* @__PURE__ */ t.jsx(ir, { className: "size-full" }) }), Nt = ({
520
+ }, bt = (e) => /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", ...e, children: /* @__PURE__ */ t.jsx(ir, { className: "size-full" }) }), jt = ({
515
521
  title: e,
516
522
  error: r,
517
523
  children: n
518
- }) => (P(() => {
524
+ }) => (F(() => {
519
525
  console.error(e, r);
520
526
  }, [r, e]), /* @__PURE__ */ t.jsxs("div", { className: "space-y-2", children: [
521
527
  /* @__PURE__ */ t.jsx("div", { className: "text-xl", children: e }),
@@ -538,67 +544,67 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
538
544
  className: `inline-block ${o} animate-rotation rounded-full ${n} border-b-transparent`
539
545
  }
540
546
  );
541
- }, be = ({
547
+ }, me = ({
542
548
  src: e,
543
549
  className: r,
544
550
  onLoad: n,
545
551
  imgInPlayerWidthRatio: o = 1,
546
- onlyThumbnail: i,
552
+ onlyThumbnail: a,
547
553
  fadeIn: u,
548
- ...c
554
+ ...l
549
555
  }) => {
550
556
  const {
551
- minImageWidth: l,
557
+ minImageWidth: i,
552
558
  maxImageWidth: s,
553
- imageLoadStrategy: b,
554
- playerInViewportWidthRatio: d
555
- } = J(), { imageHdWidth: m, imageSubWidths: f } = re(), [E, p] = te(() => {
556
- const w = f.concat(m).sort((h, g) => h - g).filter((h) => !(l && h < l || s && h > s));
557
- if (w.length === 0)
559
+ imageLoadStrategy: y,
560
+ playerInViewportWidthRatio: c
561
+ } = J(), { imageHdWidth: m, imageSubWidths: g } = ne(), [_, w] = re(() => {
562
+ const C = g.concat(m).sort((p, v) => p - v).filter((p) => !(i && p < i || s && p > s));
563
+ if (C.length === 0)
558
564
  throw new Error("No image widths available for the given constraints");
559
- const N = w.map((h) => `${h !== m ? Ut(e, h) : e} ${h}w`);
560
- let j;
561
- if (i)
562
- j = [`${w.shift()}px`];
565
+ const z = C.map((p) => `${p !== m ? Ut(e, p) : e} ${p}w`);
566
+ let f;
567
+ if (a)
568
+ f = [`${C.shift()}px`];
563
569
  else {
564
- const h = 1 / (o * d);
565
- if (b === "quality") {
566
- const g = w.pop();
567
- j = w.map(
568
- (C) => `(max-width: ${h * C}px) ${C}px`
569
- ), j.push(`${g}px`);
570
+ const p = 1 / (o * c);
571
+ if (y === "quality") {
572
+ const v = C.pop();
573
+ f = C.map(
574
+ (j) => `(max-width: ${p * j}px) ${j}px`
575
+ ), f.push(`${v}px`);
570
576
  } else {
571
- const g = w.shift();
572
- j = w.reverse().map(
573
- (C) => `(min-width: ${h * C}px) ${C}px`
574
- ), j.push(`${g}px`);
577
+ const v = C.shift();
578
+ f = C.reverse().map(
579
+ (j) => `(min-width: ${p * j}px) ${j}px`
580
+ ), f.push(`${v}px`);
575
581
  }
576
582
  }
577
- return [N.join(", "), j.join(", ")];
583
+ return [z.join(", "), f.join(", ")];
578
584
  }, [
579
585
  m,
580
- b,
581
- f,
586
+ y,
587
+ g,
582
588
  o,
583
589
  s,
584
- l,
585
590
  i,
586
- d,
591
+ a,
592
+ c,
587
593
  e
588
- ]), [x, z] = A();
589
- return P(() => {
594
+ ]), [x, E] = W();
595
+ return F(() => {
590
596
  if (x === !0)
591
597
  return;
592
- const w = setTimeout(() => {
593
- z(!1);
598
+ const C = setTimeout(() => {
599
+ E((z) => z ?? !1);
594
600
  }, 30);
595
- return () => clearTimeout(w);
601
+ return () => clearTimeout(C);
596
602
  }, [x]), /* @__PURE__ */ t.jsx(
597
603
  "img",
598
604
  {
599
605
  src: e,
600
- srcSet: E,
601
- sizes: p,
606
+ srcSet: _,
607
+ sizes: w,
602
608
  className: O(
603
609
  r,
604
610
  u && O(
@@ -607,13 +613,13 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
607
613
  x === !0 && "opacity-100"
608
614
  )
609
615
  ),
610
- onLoad: (w) => {
611
- z(!0), n == null || n(w);
616
+ onLoad: (C) => {
617
+ E(!0), n?.(C);
612
618
  },
613
- ...c
619
+ ...l
614
620
  }
615
621
  );
616
- }, Ye = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PLAY", children: /* @__PURE__ */ t.jsx(
622
+ }, We = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PLAY", children: /* @__PURE__ */ t.jsx(
617
623
  "svg",
618
624
  {
619
625
  className: e,
@@ -625,7 +631,7 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
625
631
  strokeLinejoin: "round",
626
632
  children: /* @__PURE__ */ t.jsx("polygon", { points: "6 3 20 12 6 21 6 3" })
627
633
  }
628
- ) }), Et = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_360", children: /* @__PURE__ */ t.jsxs(
634
+ ) }), kt = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_360", children: /* @__PURE__ */ t.jsxs(
629
635
  "svg",
630
636
  {
631
637
  className: e,
@@ -680,7 +686,7 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
680
686
  /* @__PURE__ */ t.jsx("defs", { children: /* @__PURE__ */ t.jsx("clipPath", { id: "clip0_134_843", children: /* @__PURE__ */ t.jsx("rect", { width: "56", height: "56", fill: "white" }) }) })
681
687
  ]
682
688
  }
683
- ) }), Ke = ({
689
+ ) }), Be = ({
684
690
  children: e
685
691
  }) => {
686
692
  const { extendMode: r } = q();
@@ -695,149 +701,142 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
695
701
  }
696
702
  );
697
703
  }, mr = ({ item: e }) => {
698
- const { permanentGallery: r } = J(), { aspectRatioStyle: n } = re(), { type: o } = e;
699
- let i;
704
+ const { permanentGallery: r } = J(), { aspectRatioStyle: n } = ne(), { type: o } = e;
705
+ let a;
700
706
  switch (o) {
701
707
  case "360":
702
- i = e.images[0].src;
708
+ a = e.images[0].src;
703
709
  break;
704
710
  case "image":
705
- i = e.src;
711
+ a = e.src;
706
712
  break;
707
713
  case "video":
708
- i = e.poster;
714
+ a = e.poster;
709
715
  break;
710
716
  }
711
717
  const u = /* @__PURE__ */ t.jsx(
712
- be,
718
+ me,
713
719
  {
714
720
  className: "size-full object-cover",
715
- src: i,
721
+ src: a,
716
722
  onlyThumbnail: !0,
717
723
  fadeIn: !r
718
724
  }
719
725
  );
720
- let c;
726
+ let l;
721
727
  switch (o) {
722
728
  case "360":
723
- c = /* @__PURE__ */ t.jsx(Ke, { children: /* @__PURE__ */ t.jsx(Et, { className: "size-full text-primary" }) });
729
+ l = /* @__PURE__ */ t.jsx(Be, { children: /* @__PURE__ */ t.jsx(kt, { className: "size-full text-primary-light" }) });
724
730
  break;
725
731
  case "video":
726
- c = /* @__PURE__ */ t.jsx(Ke, { children: /* @__PURE__ */ t.jsx(Ye, { className: "size-full p-0.5 text-background" }) });
732
+ l = /* @__PURE__ */ t.jsx(Be, { children: /* @__PURE__ */ t.jsx(We, { className: "size-full p-0.5 text-background" }) });
727
733
  break;
728
734
  }
729
- return /* @__PURE__ */ t.jsxs(
730
- "div",
731
- {
732
- className: "relative overflow-hidden rounded-gallery bg-foreground/30",
733
- style: n,
734
- children: [
735
- u,
736
- c && /* @__PURE__ */ t.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-foreground/25", children: c })
737
- ]
738
- }
739
- );
735
+ return /* @__PURE__ */ t.jsxs("div", { className: "relative bg-foreground/30", style: n, children: [
736
+ u,
737
+ l && /* @__PURE__ */ t.jsx("div", { className: "absolute inset-0 flex items-center justify-center bg-foreground/25", children: l })
738
+ ] });
740
739
  }, pr = {
741
740
  primary: "bg-primary/50",
742
741
  neutral: "bg-neutral/50",
743
742
  background: "bg-background/50",
744
743
  foreground: "bg-foreground/50"
745
- }, Lt = ({
744
+ }, Et = ({
746
745
  color: e = "neutral",
747
746
  orientation: r = "horizontal"
748
747
  }) => {
749
748
  const n = pr[e], o = r === "horizontal" ? "h-px w-full" : "w-px h-full";
750
749
  return /* @__PURE__ */ t.jsx("div", { className: O(n, o) });
751
- }, zt = ({
750
+ }, Nt = ({
752
751
  className: e = "",
753
752
  containerClassName: r = ""
754
753
  }) => {
755
- const { flatten: n, infiniteCarrousel: o, permanentGallery: i, isFullScreen: u } = J(), { categories: c, items: l, aspectRatioStyle: s } = re(), {
756
- extendMode: b,
757
- extendTransition: d,
754
+ const { hideCategories: n, infiniteCarrousel: o, permanentGallery: a, isFullScreen: u } = J(), { categories: l, items: i, aspectRatioStyle: s } = ne(), {
755
+ extendMode: y,
756
+ extendTransition: c,
758
757
  masterItemIndex: m,
759
- prevItem: f,
760
- nextItem: E,
761
- scrollToItemIndex: p,
758
+ prevItem: g,
759
+ nextItem: _,
760
+ scrollToItemIndex: w,
762
761
  resetView: x
763
- } = q(), z = te(() => {
762
+ } = q(), E = re(() => {
764
763
  if (n)
765
764
  return [];
766
- const v = new Array();
767
- let _ = 0;
768
- for (let I = 0; I < c.length - 1; I++) {
769
- const R = c[I].items.length;
770
- v.push(_ + R), _ += R;
765
+ const N = new Array();
766
+ let L = 0;
767
+ for (let I = 0; I < l.length - 1; I++) {
768
+ const H = l[I].items.length;
769
+ N.push(L + H), L += H;
771
770
  }
772
- return v;
773
- }, [c, n]), w = $(null), N = M(() => {
774
- if (!w.current)
771
+ return N;
772
+ }, [l, n]), C = Z(null), z = M(() => {
773
+ if (!C.current)
775
774
  throw new Error("slider.current is null");
776
- return w.current;
777
- }, []), j = $(!1), h = $(
775
+ return C.current;
776
+ }, []), f = Z(!1), p = Z(
778
777
  null
779
- ), [g, C] = A(!1), T = M(
780
- (v, _) => {
781
- const I = N(), R = I.clientWidth, Z = I.scrollWidth / l.length, k = (v + 1 / 2) * Z - R / 2, a = I.scrollWidth - I.clientWidth;
778
+ ), [v, j] = W(!1), T = M(
779
+ (N, L) => {
780
+ const I = z(), H = I.clientWidth, h = I.scrollWidth / i.length, V = (N + 1 / 2) * h - H / 2, d = I.scrollWidth - I.clientWidth;
782
781
  I.scrollTo({
783
- left: se(k, 0, a),
784
- behavior: _
782
+ left: ae(V, 0, d),
783
+ behavior: L
785
784
  });
786
785
  },
787
- [l.length, N]
786
+ [i.length, z]
788
787
  );
789
- P(() => {
790
- const v = w.current;
791
- if (!v)
788
+ F(() => {
789
+ const N = C.current;
790
+ if (!N)
792
791
  return;
793
- const _ = (Z) => {
794
- Z.preventDefault(), j.current = !0, h.current = {
795
- x: Z.pageX - v.offsetLeft,
796
- scrollLeft: v.scrollLeft
792
+ const L = (h) => {
793
+ h.preventDefault(), f.current = !0, p.current = {
794
+ x: h.pageX - N.offsetLeft,
795
+ scrollLeft: N.scrollLeft
797
796
  };
798
- }, I = (Z) => {
799
- if (!j.current)
797
+ }, I = (h) => {
798
+ if (!f.current)
800
799
  return;
801
- if (h.current === null)
800
+ if (p.current === null)
802
801
  throw new Error("[onMouseMove] scrollStart is null");
803
- const k = Z.pageX - v.offsetLeft - h.current.x;
804
- if (!g && Math.abs(k) < 5)
802
+ const V = h.pageX - N.offsetLeft - p.current.x;
803
+ if (!v && Math.abs(V) < 5)
805
804
  return;
806
- const a = h.current.scrollLeft - k;
807
- C(!0), requestAnimationFrame(() => {
808
- v.scrollLeft = a;
805
+ const d = p.current.scrollLeft - V;
806
+ j(!0), requestAnimationFrame(() => {
807
+ N.scrollLeft = d;
809
808
  });
810
- }, R = () => {
811
- j.current && (j.current = !1, requestAnimationFrame(() => {
812
- C(!1);
809
+ }, H = () => {
810
+ f.current && (f.current = !1, requestAnimationFrame(() => {
811
+ j(!1);
813
812
  }));
814
813
  };
815
- return v.addEventListener("mousedown", _), document.addEventListener("mousemove", I), document.addEventListener("mouseleave", R), document.addEventListener("mouseup", R), document.addEventListener("contextmenu", R), () => {
816
- v.removeEventListener("mousedown", _), document.removeEventListener("mousemove", I), document.removeEventListener("mouseleave", R), document.removeEventListener("mouseup", R), document.removeEventListener("contextmenu", R);
814
+ return N.addEventListener("mousedown", L), document.addEventListener("mousemove", I), document.addEventListener("mouseleave", H), document.addEventListener("mouseup", H), document.addEventListener("contextmenu", H), () => {
815
+ N.removeEventListener("mousedown", L), document.removeEventListener("mousemove", I), document.removeEventListener("mouseleave", H), document.removeEventListener("mouseup", H), document.removeEventListener("contextmenu", H);
817
816
  };
818
- }, [g]);
819
- const V = $(m);
820
- P(() => {
821
- w.current && (T(m, "smooth"), V.current = m);
822
- }, [m, T]), P(() => {
823
- w.current && T(V.current, "instant");
817
+ }, [v]);
818
+ const R = Z(m);
819
+ F(() => {
820
+ C.current && (T(m, "smooth"), R.current = m);
821
+ }, [m, T]), F(() => {
822
+ C.current && T(R.current, "instant");
824
823
  }, [
825
824
  T,
826
825
  // - Run the effect when those values change
827
826
  u,
828
- b,
829
- d
827
+ y,
828
+ c
830
829
  ]);
831
- const S = (v, _) => {
832
- g || (o && _ === l.length - 1 && m === 0 ? f() : o && _ === 0 && m === l.length - 1 ? E() : p(_), x());
830
+ const S = (N, L) => {
831
+ v || (o && L === i.length - 1 && m === 0 ? g() : o && L === 0 && m === i.length - 1 ? _() : w(L), x());
833
832
  };
834
833
  return /* @__PURE__ */ t.jsx(
835
834
  "div",
836
835
  {
837
- ref: w,
836
+ ref: C,
838
837
  className: O(
839
838
  "relative w-full overflow-x-auto no-scrollbar",
840
- g ? "cursor-grab" : "cursor-grabbing",
839
+ v ? "cursor-grab" : "cursor-grabbing",
841
840
  e
842
841
  ),
843
842
  children: /* @__PURE__ */ t.jsx(
@@ -845,14 +844,14 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
845
844
  {
846
845
  className: O(
847
846
  "flex h-10 w-fit gap-1 small:h-12 small:gap-2",
848
- b && "large:h-20 large:gap-4",
847
+ y && "large:h-20 large:gap-4",
849
848
  r
850
849
  ),
851
- children: l.map((v, _) => /* @__PURE__ */ t.jsxs(Ot, { children: [
852
- z.includes(_) && /* @__PURE__ */ t.jsx("div", { className: "my-2", children: /* @__PURE__ */ t.jsx(
853
- Lt,
850
+ children: i.map((N, L) => /* @__PURE__ */ t.jsxs(Rt, { children: [
851
+ E.includes(L) && /* @__PURE__ */ t.jsx("div", { className: "my-2", children: /* @__PURE__ */ t.jsx(
852
+ Et,
854
853
  {
855
- color: i && !u ? "neutral" : "background",
854
+ color: a && !u ? "neutral" : "background",
856
855
  orientation: "vertical"
857
856
  }
858
857
  ) }),
@@ -860,235 +859,243 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
860
859
  "div",
861
860
  {
862
861
  className: O(
863
- "relative h-full rounded-gallery ",
864
- !g && "cursor-pointer",
865
- "after:absolute after:inset-0 after:rounded-gallery after:border-2 after:border-primary after:transition-opacity",
866
- _ === m ? "after:opacity-100" : "after:opacity-0 hover:after:opacity-70"
862
+ "relative h-full overflow-hidden rounded-gallery transition-radius",
863
+ !v && "cursor-pointer",
864
+ "after:absolute after:inset-0 after:rounded-gallery after:border-2 after:border-primary after:transition-all",
865
+ L === m ? "after:opacity-100" : "after:opacity-0 hover:after:opacity-70"
867
866
  ),
868
867
  style: s,
869
- onClick: () => S(v, _),
870
- children: /* @__PURE__ */ t.jsx(mr, { item: v })
868
+ onClick: () => S(N, L),
869
+ children: /* @__PURE__ */ t.jsx(mr, { item: N })
871
870
  }
872
871
  )
873
- ] }, _))
872
+ ] }, L))
874
873
  }
875
874
  )
876
875
  }
877
876
  );
878
- }, _t = (e) => 1 - Math.pow(1 - e, 2), hr = ({ currentIndex: e, maxIndex: r }) => /* @__PURE__ */ t.jsxs("div", { className: "space-x-0.5 rounded-ui bg-foreground/40 px-1.5 py-0.5 text-xs text-background/75 small:space-x-1 small:px-2 small:py-1 small:text-sm", children: [
879
- /* @__PURE__ */ t.jsx("span", { children: e + 1 }),
880
- /* @__PURE__ */ t.jsx("span", { children: "/" }),
881
- /* @__PURE__ */ t.jsx("span", { children: r + 1 })
882
- ] }), qe = (e, r) => Math.sqrt(
877
+ }, Lt = (e) => 1 - Math.pow(1 - e, 2), Ge = (e, r) => Math.sqrt(
883
878
  (e.clientX - r.clientX) ** 2 + (e.clientY - r.clientY) ** 2
884
- ), fr = ({
879
+ ), hr = ({
885
880
  onlyPreload: e,
886
881
  ...r
887
882
  }) => {
888
- const { zoom: n, isZooming: o, setZoom: i } = q(), u = $(null), c = $(null), l = M((N) => {
889
- if (!c.current)
883
+ const { zoom: n, isZooming: o, setZoom: a } = q(), u = Z(null), l = Z(null), i = M((f) => {
884
+ if (!l.current)
890
885
  throw new Error(
891
- `[${N ?? "getTransformElementOrThrow"}] transformElementRef.current is null`
886
+ `[${f ?? "getTransformElementOrThrow"}] transformElementRef.current is null`
892
887
  );
893
- return c.current;
894
- }, []), s = $(!1), b = $(null), d = $(/* @__PURE__ */ new Map()), m = $({ x: 0, y: 0, scale: 1 }), f = $(null), E = M(
895
- (N) => {
896
- const j = l("setTransformStyle"), {
897
- x: h,
898
- y: g,
899
- scale: C
888
+ return l.current;
889
+ }, []), s = Z(!1), y = Z(null), c = Z(/* @__PURE__ */ new Map()), m = Z({ x: 0, y: 0, scale: 1 }), g = Z(null), _ = M(
890
+ (f) => {
891
+ const p = i("setTransformStyle"), {
892
+ x: v,
893
+ y: j,
894
+ scale: T
900
895
  } = {
901
896
  ...m.current,
902
- ...N
903
- }, T = se(C, 1, _e), V = j.clientWidth, S = j.clientHeight, v = V * T, _ = S * T, I = se(h, -(v - V), 0), R = se(g, -(_ - S), 0);
904
- m.current = { x: I, y: R, scale: T }, j.style.transform = `translate(${I}px, ${R}px) scale(${T})`;
897
+ ...f
898
+ }, R = ae(T, 1, Le), S = p.clientWidth, N = p.clientHeight, L = S * R, I = N * R, H = ae(v, -(L - S), 0), h = ae(j, -(I - N), 0);
899
+ m.current = { x: H, y: h, scale: R }, p.style.transform = `translate(${H}px, ${h}px) scale(${R})`;
905
900
  },
906
- [l]
907
- ), p = M(
908
- (N, j) => {
901
+ [i]
902
+ ), w = M(
903
+ (f, p) => {
909
904
  const {
910
- x: h,
911
- y: g,
912
- scale: C
905
+ x: v,
906
+ y: j,
907
+ scale: T
913
908
  } = m.current, {
914
- x: T,
915
- y: V,
916
- scale: S
909
+ x: R,
910
+ y: S,
911
+ scale: N
917
912
  } = {
918
913
  ...m.current,
919
- ...N
914
+ ...f
920
915
  };
921
- f.current && (cancelAnimationFrame(f.current), f.current = null);
922
- const v = () => {
923
- E({ x: T, y: V, scale: S }), i(S);
924
- }, _ = Math.abs(T - h) < 1 && Math.abs(V - g) < 1 && Math.abs(S - C) < 5e-3;
925
- if (!j || _) {
926
- v();
916
+ g.current && (cancelAnimationFrame(g.current), g.current = null);
917
+ const L = () => {
918
+ _({ x: R, y: S, scale: N }), a(N);
919
+ }, I = Math.abs(R - v) < 1 && Math.abs(S - j) < 1 && Math.abs(N - T) < 5e-3;
920
+ if (!p || I) {
921
+ L();
927
922
  return;
928
923
  }
929
- const I = (/* @__PURE__ */ new Date()).getTime(), R = () => {
930
- const Z = () => {
931
- const k = (/* @__PURE__ */ new Date()).getTime() - I;
932
- if (k >= j) {
933
- v(), f.current = null;
924
+ const H = (/* @__PURE__ */ new Date()).getTime(), h = () => {
925
+ const V = () => {
926
+ const d = (/* @__PURE__ */ new Date()).getTime() - H;
927
+ if (d >= p) {
928
+ L(), g.current = null;
934
929
  return;
935
930
  }
936
- const a = Math.min(k / j, 1), y = _t(a), L = ze(h, T, y), H = ze(g, V, y), D = ze(C, S, y);
937
- E({ x: L, y: H, scale: D }), R();
931
+ const b = Math.min(d / p, 1), k = Lt(b), A = Ne(v, R, k), D = Ne(j, S, k), Y = Ne(T, N, k);
932
+ _({ x: A, y: D, scale: Y }), h();
938
933
  };
939
- f.current = requestAnimationFrame(Z);
934
+ g.current = requestAnimationFrame(V);
940
935
  };
941
- R();
936
+ h();
942
937
  },
943
- [E, i]
938
+ [_, a]
944
939
  ), x = M(
945
- (N, j) => {
946
- let { x: h, y: g } = m.current;
947
- N.x && (h += N.x), N.y && (g += N.y), p(
940
+ (f, p) => {
941
+ let { x: v, y: j } = m.current;
942
+ f.x && (v += f.x), f.y && (j += f.y), w(
948
943
  {
949
- x: h,
950
- y: g
944
+ x: v,
945
+ y: j
951
946
  },
952
- j
947
+ p
953
948
  );
954
949
  },
955
- [p]
956
- ), z = M(
957
- (N, j, h) => {
958
- const g = m.current.scale, C = se(N, 1, _e), T = C / g, { x: V, y: S } = m.current, { x: v, y: _ } = j, I = -V + v, R = -S + _, Z = I * T, k = R * T, a = Z - v, y = k - _, L = -a, H = -y;
959
- p(
950
+ [w]
951
+ ), E = M(
952
+ (f, p, v) => {
953
+ const j = m.current.scale, T = ae(f, 1, Le), R = T / j, { x: S, y: N } = m.current, { x: L, y: I } = p, H = -S + L, h = -N + I, V = H * R, d = h * R, b = V - L, k = d - I, A = -b, D = -k;
954
+ w(
960
955
  {
961
- x: L,
962
- y: H,
963
- scale: C
956
+ x: A,
957
+ y: D,
958
+ scale: T
964
959
  },
965
- h
960
+ v
966
961
  );
967
962
  },
968
- [p]
969
- ), w = M(
970
- (N) => {
971
- const j = l(
963
+ [w]
964
+ ), C = M(
965
+ (f) => {
966
+ const p = i(
972
967
  "shiftZoomFromButton"
973
- ), h = j.clientWidth, g = j.clientHeight;
974
- z(
975
- N,
968
+ ), v = p.clientWidth, j = p.clientHeight;
969
+ E(
970
+ f,
976
971
  {
977
- x: h / 2,
978
- y: g / 2
972
+ x: v / 2,
973
+ y: j / 2
979
974
  },
980
975
  200
981
976
  );
982
977
  },
983
- [l, z]
978
+ [i, E]
979
+ ), z = M(
980
+ (f, p, v) => {
981
+ const { scale: j } = m.current;
982
+ E(
983
+ j + f,
984
+ p,
985
+ v
986
+ );
987
+ },
988
+ [E]
984
989
  );
985
- return P(() => {
986
- c.current && w(n);
987
- }, [w, n]), P(() => {
988
- if (!o)
990
+ return F(() => {
991
+ e || l.current && C(n);
992
+ }, [e, C, n]), F(() => {
993
+ if (e || !o)
989
994
  return;
990
- const N = c.current;
991
- if (!N)
995
+ const f = l.current;
996
+ if (!f)
992
997
  return;
993
- const j = (C) => {
994
- C.preventDefault(), C.stopPropagation(), s.current = !0, b.current = {
995
- x: C.clientX,
996
- y: C.clientY
998
+ const p = (T) => {
999
+ T.preventDefault(), T.stopPropagation(), s.current = !0, y.current = {
1000
+ x: T.clientX,
1001
+ y: T.clientY
997
1002
  };
998
- }, h = (C) => {
1003
+ }, v = (T) => {
999
1004
  if (!s.current)
1000
1005
  return;
1001
- if (!b.current)
1006
+ if (!y.current)
1002
1007
  throw new Error("mouseStartXY.current is null");
1003
- C.stopPropagation();
1004
- const T = C.clientX - b.current.x, V = C.clientY - b.current.y;
1008
+ T.stopPropagation();
1009
+ const R = T.clientX - y.current.x, S = T.clientY - y.current.y;
1005
1010
  x({
1006
- x: T,
1007
- y: V
1008
- }), b.current = {
1009
- x: C.clientX,
1010
- y: C.clientY
1011
+ x: R,
1012
+ y: S
1013
+ }), y.current = {
1014
+ x: T.clientX,
1015
+ y: T.clientY
1011
1016
  };
1012
- }, g = () => {
1017
+ }, j = () => {
1013
1018
  s.current = !1;
1014
1019
  };
1015
- return N.addEventListener("mousedown", j), document.addEventListener("mousemove", h), document.addEventListener("mouseleave", g), document.addEventListener("mouseup", g), document.addEventListener("contextmenu", g), () => {
1016
- N.removeEventListener("mousedown", j), document.removeEventListener("mousemove", h), document.removeEventListener("mouseleave", g), document.removeEventListener("mouseup", g), document.removeEventListener("contextmenu", g);
1020
+ return f.addEventListener("mousedown", p), document.addEventListener("mousemove", v), document.addEventListener("mouseleave", j), document.addEventListener("mouseup", j), document.addEventListener("contextmenu", j), () => {
1021
+ f.removeEventListener("mousedown", p), document.removeEventListener("mousemove", v), document.removeEventListener("mouseleave", j), document.removeEventListener("mouseup", j), document.removeEventListener("contextmenu", j);
1017
1022
  };
1018
- }, [o, x]), P(() => {
1019
- const N = u.current;
1020
- if (!N)
1023
+ }, [o, x, e]), F(() => {
1024
+ if (e)
1021
1025
  return;
1022
- const j = (h) => {
1023
- const { ctrlKey: g, clientX: C, clientY: T, deltaX: V, deltaY: S } = h;
1024
- if (g) {
1025
- if (!o && S >= 0)
1026
+ const f = u.current;
1027
+ if (!f)
1028
+ return;
1029
+ const p = (v) => {
1030
+ const { ctrlKey: j, clientX: T, clientY: R, deltaX: S, deltaY: N } = v;
1031
+ if (j) {
1032
+ if (!o && N >= 0)
1026
1033
  return;
1027
- const { left: v, top: _ } = N.getBoundingClientRect(), I = C - v, R = T - _;
1028
- z(n - 0.01 * S, {
1029
- x: I,
1030
- y: R
1034
+ const { left: L, top: I } = f.getBoundingClientRect(), H = T - L, h = R - I;
1035
+ z(-0.01 * N, {
1036
+ x: H,
1037
+ y: h
1031
1038
  });
1032
1039
  } else {
1033
1040
  if (!o)
1034
1041
  return;
1035
1042
  x({
1036
- x: -2 * V,
1037
- y: -2 * S
1043
+ x: -2 * S,
1044
+ y: -2 * N
1038
1045
  });
1039
1046
  }
1040
- h.preventDefault();
1047
+ v.preventDefault();
1041
1048
  };
1042
- return N.addEventListener("wheel", j), () => {
1043
- N.removeEventListener("wheel", j);
1049
+ return f.addEventListener("wheel", p), () => {
1050
+ f.removeEventListener("wheel", p);
1044
1051
  };
1045
- }, [o, x, z, n]), P(() => {
1046
- const N = u.current, j = c.current;
1047
- if (!N || !j)
1052
+ }, [o, x, z, e]), F(() => {
1053
+ const f = u.current, p = l.current;
1054
+ if (!f || !p)
1048
1055
  return;
1049
- const h = d.current, g = (V) => {
1050
- for (let S = 0; S < V.changedTouches.length; S++) {
1051
- const v = V.changedTouches[S];
1052
- h.set(v.identifier, v);
1056
+ const v = c.current, j = (S) => {
1057
+ for (let N = 0; N < S.changedTouches.length; N++) {
1058
+ const L = S.changedTouches[N];
1059
+ v.set(L.identifier, L);
1053
1060
  }
1054
- }, C = (V) => {
1055
- for (let S = 0; S < V.changedTouches.length; S++) {
1056
- const v = V.changedTouches[S];
1057
- h.delete(v.identifier);
1061
+ }, T = (S) => {
1062
+ for (let N = 0; N < S.changedTouches.length; N++) {
1063
+ const L = S.changedTouches[N];
1064
+ v.delete(L.identifier);
1058
1065
  }
1059
- }, T = (V) => {
1060
- const S = V.touches.length;
1061
- if (S === 1) {
1066
+ }, R = (S) => {
1067
+ const N = S.touches.length;
1068
+ if (N === 1) {
1062
1069
  if (!o)
1063
1070
  return;
1064
- V.preventDefault();
1065
- const v = V.touches[0], _ = h.get(v.identifier);
1066
- if (!_)
1071
+ S.preventDefault();
1072
+ const L = S.touches[0], I = v.get(L.identifier);
1073
+ if (!I)
1067
1074
  throw new Error("touchStart is null");
1068
- const I = v.clientX - _.clientX, R = v.clientY - _.clientY;
1075
+ const H = L.clientX - I.clientX, h = L.clientY - I.clientY;
1069
1076
  x({
1070
- x: I,
1071
- y: R
1072
- }), h.set(v.identifier, v);
1073
- } else if (S === 2) {
1074
- V.preventDefault();
1075
- const [v, _] = V.touches, I = h.get(v.identifier), R = h.get(_.identifier);
1076
- if (!I || !R)
1077
+ x: H,
1078
+ y: h
1079
+ }), v.set(L.identifier, L);
1080
+ } else if (N === 2) {
1081
+ S.preventDefault();
1082
+ const [L, I] = S.touches, H = v.get(L.identifier), h = v.get(I.identifier);
1083
+ if (!H || !h)
1077
1084
  throw new Error("intialTouch1 or intialTouch2 is null");
1078
- const Z = qe(
1079
- I,
1080
- R
1081
- ), k = qe(v, _) / Z, { left: a, top: y } = N.getBoundingClientRect();
1082
- z(k * n, {
1083
- x: (v.clientX + _.clientX) / 2 - a,
1084
- y: (v.clientY + _.clientY) / 2 - y
1085
- }), h.set(v.identifier, v), h.set(_.identifier, _);
1085
+ const V = Ge(
1086
+ H,
1087
+ h
1088
+ ), d = Ge(L, I) / V, { left: b, top: k } = f.getBoundingClientRect();
1089
+ z(d - 1, {
1090
+ x: (L.clientX + I.clientX) / 2 - b,
1091
+ y: (L.clientY + I.clientY) / 2 - k
1092
+ }), v.set(L.identifier, L), v.set(I.identifier, I);
1086
1093
  }
1087
1094
  };
1088
- return j.addEventListener("touchstart", g), j.addEventListener("touchmove", T), j.addEventListener("touchend", C), j.addEventListener("touchcancel", C), () => {
1089
- j.removeEventListener("touchstart", g), j.removeEventListener("touchmove", T), j.removeEventListener("touchend", C), j.removeEventListener("touchcancel", C);
1095
+ return p.addEventListener("touchstart", j), p.addEventListener("touchmove", R), p.addEventListener("touchend", T), p.addEventListener("touchcancel", T), () => {
1096
+ p.removeEventListener("touchstart", j), p.removeEventListener("touchmove", R), p.removeEventListener("touchend", T), p.removeEventListener("touchcancel", T);
1090
1097
  };
1091
- }, [o, x, z, n]), /* @__PURE__ */ t.jsx(
1098
+ }, [o, x, z]), /* @__PURE__ */ t.jsx(
1092
1099
  "div",
1093
1100
  {
1094
1101
  ref: u,
@@ -1096,10 +1103,10 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1096
1103
  children: /* @__PURE__ */ t.jsx(
1097
1104
  "div",
1098
1105
  {
1099
- ref: c,
1106
+ ref: l,
1100
1107
  className: "origin-top-left",
1101
1108
  children: /* @__PURE__ */ t.jsx(
1102
- be,
1109
+ me,
1103
1110
  {
1104
1111
  ...r,
1105
1112
  imgInPlayerWidthRatio: e ? 1 : n
@@ -1115,9 +1122,9 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1115
1122
  d: "M9.5 2.5V9.5H2.5V2.5H9.5ZM9.5 1.5H2.5C1.95 1.5 1.5 1.95 1.5 2.5V9.5C1.5 10.05 1.95 10.5 2.5 10.5H9.5C10.05 10.5 10.5 10.05 10.5 9.5V2.5C10.5 1.95 10.05 1.5 9.5 1.5ZM7.07 5.93L5.57 7.865L4.5 6.57L3 8.5H9L7.07 5.93Z",
1116
1123
  fill: "currentColor"
1117
1124
  }
1118
- ) }) }), xr = ({ hotspot: e }) => {
1119
- const { title: r, icon: n, description: o, position: i, detail: u } = e, { getIconConfig: c } = $e(), l = n ? c(n) : void 0, { extendMode: s, setShownDetails: b } = q(), d = !!u, m = (u == null ? void 0 : u.type) === "image", f = !!r || !!o, E = m ? /* @__PURE__ */ t.jsx(gr, { className: "size-4" }) : /* @__PURE__ */ t.jsx("div", { className: "size-1" }), p = () => {
1120
- m && b({
1125
+ ) }) }), fr = ({ hotspot: e }) => {
1126
+ const { title: r, icon: n, description: o, position: a, detail: u } = e, { getIconConfig: l } = De(), i = n ? l(n) : void 0, { extendMode: s, setShownDetails: y } = q(), c = !!u, m = u?.type === "image", g = !!r || !!o, _ = m ? /* @__PURE__ */ t.jsx(gr, { className: "size-4" }) : /* @__PURE__ */ t.jsx("div", { className: "size-1" }), w = () => {
1127
+ m && y({
1121
1128
  src: u.src,
1122
1129
  title: r,
1123
1130
  text: o
@@ -1128,19 +1135,19 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1128
1135
  {
1129
1136
  className: O(
1130
1137
  "group absolute z-hotspot -translate-x-1/2 -translate-y-1/2 hover:z-hotspot-hover",
1131
- d ? "cursor-pointer" : "cursor-help"
1138
+ c ? "cursor-pointer" : "cursor-help"
1132
1139
  ),
1133
1140
  style: {
1134
1141
  top: `${100 * e.position.y}%`,
1135
1142
  left: `${100 * e.position.x}%`
1136
1143
  },
1137
- onClick: p,
1144
+ onClick: w,
1138
1145
  children: [
1139
1146
  /* @__PURE__ */ t.jsxs(
1140
1147
  "div",
1141
1148
  {
1142
1149
  className: "relative flex items-center justify-center rounded-full border-2 border-background bg-primary text-primary-foreground",
1143
- style: { backgroundColor: l == null ? void 0 : l.color },
1150
+ style: { backgroundColor: i?.color },
1144
1151
  children: [
1145
1152
  /* @__PURE__ */ t.jsx(
1146
1153
  "div",
@@ -1148,30 +1155,30 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1148
1155
  className: "pointer-events-none absolute -z-20 size-8 animate-hotspot-ping rounded-full border-2 border-background"
1149
1156
  }
1150
1157
  ),
1151
- l != null && l.Icon ? /* @__PURE__ */ t.jsx("div", { className: "size-5", children: l.Icon }) : /* @__PURE__ */ t.jsx("div", { className: "p-1", children: E })
1158
+ i?.Icon ? /* @__PURE__ */ t.jsx("div", { className: "size-5", children: i.Icon }) : /* @__PURE__ */ t.jsx("div", { className: "p-1", children: _ })
1152
1159
  ]
1153
1160
  }
1154
1161
  ),
1155
- !m && f && /* @__PURE__ */ t.jsx(
1162
+ !m && g && /* @__PURE__ */ t.jsx(
1156
1163
  "div",
1157
1164
  {
1158
1165
  className: O(
1159
1166
  "absolute -z-10 w-max max-w-40 text-pretty rounded-ui bg-background p-2 small:max-w-48",
1160
1167
  s && "large:max-w-56",
1161
- i.y < 0.55 ? "-top-1" : "-bottom-1",
1162
- i.x < 0.55 ? "-left-1 pl-6 small:pl-8" : "-right-1 pr-4 small:pr-6",
1163
- "pointer-events-none opacity-0 transition-opacity duration-300 group-hover:pointer-events-auto group-hover:opacity-100"
1168
+ a.y < 0.55 ? "-top-1" : "-bottom-1",
1169
+ a.x < 0.55 ? "-left-1 pl-6 small:pl-8" : "-right-1 pr-4 small:pr-6",
1170
+ "pointer-events-none opacity-0 transition-opacity duration-200 group-hover:pointer-events-auto group-hover:opacity-100"
1164
1171
  ),
1165
- children: /* @__PURE__ */ t.jsxs("div", { className: "space-y-1", children: [
1166
- r && /* @__PURE__ */ t.jsx("div", { className: "text-sm", children: r }),
1167
- o && /* @__PURE__ */ t.jsx("div", { className: "text-xs", children: o })
1172
+ children: /* @__PURE__ */ t.jsxs("div", { className: "space-y-1 text-pretty", children: [
1173
+ r && /* @__PURE__ */ t.jsx("div", { className: "text-sm font-semibold small:text-base small:font-bold", children: r }),
1174
+ o && /* @__PURE__ */ t.jsx("div", { className: "text-xs text-foreground/65 small:text-sm", children: o })
1168
1175
  ] })
1169
1176
  }
1170
1177
  )
1171
1178
  ]
1172
1179
  }
1173
1180
  );
1174
- }, vr = ({ hotspot: e }) => {
1181
+ }, xr = ({ hotspot: e }) => {
1175
1182
  const { icon: r, detail: n } = e;
1176
1183
  let o;
1177
1184
  switch (r) {
@@ -1196,24 +1203,24 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1196
1203
  );
1197
1204
  break;
1198
1205
  default:
1199
- o = /* @__PURE__ */ t.jsx(xr, { hotspot: e });
1206
+ o = /* @__PURE__ */ t.jsx(fr, { hotspot: e });
1200
1207
  break;
1201
1208
  }
1202
- switch (n == null ? void 0 : n.type) {
1209
+ switch (n?.type) {
1203
1210
  case "link":
1204
1211
  case "pdf":
1205
1212
  return /* @__PURE__ */ t.jsx("a", { href: n.src, target: "_blank", rel: "noreferrer", children: o });
1206
1213
  default:
1207
1214
  return o;
1208
1215
  }
1209
- }, It = ({
1216
+ }, _t = ({
1210
1217
  hotspots: e,
1211
1218
  itemIndex: r,
1212
1219
  className: n,
1213
1220
  onLoad: o,
1214
- ...i
1221
+ ...a
1215
1222
  }) => {
1216
- const { isShowingDetails: u, showHotspots: c, setItemInteraction: l } = q();
1223
+ const { isShowingDetails: u, showHotspots: l, setItemInteraction: i } = q();
1217
1224
  return /* @__PURE__ */ t.jsx("div", { className: O("relative size-full overflow-hidden", n), children: /* @__PURE__ */ t.jsxs(
1218
1225
  "div",
1219
1226
  {
@@ -1223,196 +1230,196 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1223
1230
  ),
1224
1231
  children: [
1225
1232
  /* @__PURE__ */ t.jsx(
1226
- fr,
1233
+ hr,
1227
1234
  {
1228
- className: "size-full",
1235
+ className: "size-full object-cover",
1229
1236
  onLoad: (s) => {
1230
- r !== void 0 && l(r, "ready"), o == null || o(s);
1237
+ r !== void 0 && i(r, "ready"), o?.(s);
1231
1238
  },
1232
- ...i
1239
+ ...a
1233
1240
  }
1234
1241
  ),
1235
- c && (e == null ? void 0 : e.map((s, b) => /* @__PURE__ */ t.jsx(vr, { hotspot: s }, b)))
1242
+ l && e?.map((s, y) => /* @__PURE__ */ t.jsx(xr, { hotspot: s }, y))
1236
1243
  ]
1237
1244
  }
1238
1245
  ) });
1239
- }, ve = 10, wr = 15, br = ({
1246
+ }, ve = 10, vr = 15, wr = ({
1240
1247
  images: e,
1241
1248
  onlyPreload: r
1242
1249
  }) => {
1243
- const { reverse360: n } = J(), { isShowingDetails: o, isZooming: i } = q(), u = i || o, c = $(null), l = $(null), [s, b] = A(0), d = e.length, m = M(() => {
1244
- b((E) => (E - 1 + d) % d);
1245
- }, [d]), f = M(() => {
1246
- b((E) => (E + 1) % d);
1247
- }, [d]);
1248
- return P(() => {
1250
+ const { reverse360: n } = J(), { isShowingDetails: o, isZooming: a } = q(), u = a || o, l = Z(null), i = Z(null), [s, y] = W(0), c = e.length, m = M(() => {
1251
+ y((_) => (_ - 1 + c) % c);
1252
+ }, [c]), g = M(() => {
1253
+ y((_) => (_ + 1) % c);
1254
+ }, [c]);
1255
+ return F(() => {
1249
1256
  if (u)
1250
1257
  return;
1251
- const E = c.current, p = l.current;
1252
- if (!E || !p)
1258
+ const _ = l.current, w = i.current;
1259
+ if (!_ || !w)
1253
1260
  return;
1254
- let x = null, z = [], w = null;
1255
- const N = (a) => {
1256
- z.push(a), z.length > 20 && z.shift();
1257
- }, j = () => {
1258
- const a = Date.now(), y = (() => {
1259
- const Y = Date.now(), W = z.filter(
1260
- (B) => Y - B.timestamp < 50
1261
+ let x = null, E = [], C = null;
1262
+ const z = (d) => {
1263
+ E.push(d), E.length > 20 && E.shift();
1264
+ }, f = () => {
1265
+ const d = Date.now(), b = (() => {
1266
+ const Y = Date.now(), $ = E.filter(
1267
+ (G) => Y - G.timestamp < 50
1261
1268
  );
1262
- if (W.length < 2)
1269
+ if ($.length < 2)
1263
1270
  return 0;
1264
- const G = W[0], X = W[W.length - 1];
1265
- return (X.value - G.value) / (1e-3 * Math.max(X.timestamp - G.timestamp, 1));
1271
+ const X = $[0], B = $[$.length - 1];
1272
+ return (B.value - X.value) / (1e-3 * Math.max(B.timestamp - X.timestamp, 1));
1266
1273
  })();
1267
- let L = 0, H = a;
1274
+ let k = 0, A = d;
1268
1275
  const D = () => {
1269
- w = requestAnimationFrame(() => {
1270
- const Y = Date.now(), W = (Y - a) / 1e3, G = Math.pow(0.05, W), X = y * G, B = (Y - H) / 1e3;
1271
- if (L += X * B, Math.abs(X) < 5 * ve && Math.abs(L) < ve) {
1272
- w = null;
1276
+ C = requestAnimationFrame(() => {
1277
+ const Y = Date.now(), $ = (Y - d) / 1e3, X = Math.pow(0.05, $), B = b * X, G = (Y - A) / 1e3;
1278
+ if (k += B * G, Math.abs(B) < 5 * ve && Math.abs(k) < ve) {
1279
+ C = null;
1273
1280
  return;
1274
1281
  }
1275
- Math.abs(L) >= ve && (L > 0 !== n ? f() : m(), L = 0), H = Y, D();
1282
+ Math.abs(k) >= ve && (k > 0 !== n ? g() : m(), k = 0), A = Y, D();
1276
1283
  });
1277
1284
  };
1278
1285
  D();
1279
- }, h = () => {
1280
- w && (cancelAnimationFrame(w), w = null);
1281
- }, g = (a) => {
1282
- if (a.button !== 0)
1286
+ }, p = () => {
1287
+ C && (cancelAnimationFrame(C), C = null);
1288
+ }, v = (d) => {
1289
+ if (d.button !== 0)
1283
1290
  return;
1284
- a.preventDefault(), a.stopPropagation(), h();
1285
- const y = a.clientX;
1286
- x = y, z = [{ timestamp: Date.now(), value: y }];
1287
- }, C = (a) => {
1291
+ d.preventDefault(), d.stopPropagation(), p();
1292
+ const b = d.clientX;
1293
+ x = b, E = [{ timestamp: Date.now(), value: b }];
1294
+ }, j = (d) => {
1288
1295
  if (x === null)
1289
1296
  return;
1290
- a.stopPropagation();
1291
- const { clientX: y } = a;
1292
- N({ timestamp: Date.now(), value: y });
1293
- const L = y - x;
1294
- Math.abs(L) < ve || (L > 0 !== n ? f() : m(), x = y);
1297
+ d.stopPropagation();
1298
+ const { clientX: b } = d;
1299
+ z({ timestamp: Date.now(), value: b });
1300
+ const k = b - x;
1301
+ Math.abs(k) < ve || (k > 0 !== n ? g() : m(), x = b);
1295
1302
  }, T = () => {
1296
- x !== null && (x = null, j());
1303
+ x !== null && (x = null, f());
1297
1304
  };
1298
- E.addEventListener("mousedown", g), document.addEventListener("mousemove", C), document.addEventListener("mouseleave", T), document.addEventListener("mouseup", T), document.addEventListener("contextmenu", T);
1299
- const V = () => p.getBoundingClientRect().width, S = () => p.scrollWidth / 2 - V() / 2, v = () => {
1300
- const a = S();
1301
- p.scrollLeft = a;
1305
+ _.addEventListener("mousedown", v), document.addEventListener("mousemove", j), document.addEventListener("mouseleave", T), document.addEventListener("mouseup", T), document.addEventListener("contextmenu", T);
1306
+ const R = () => w.getBoundingClientRect().width, S = () => w.scrollWidth / 2 - R() / 2, N = () => {
1307
+ const d = S();
1308
+ w.scrollLeft = d;
1302
1309
  };
1303
- v();
1304
- const _ = () => {
1305
- const a = p.scrollLeft - S();
1306
- Math.abs(a) < wr || (a < 0 !== n ? f() : m(), v());
1310
+ N();
1311
+ const L = () => {
1312
+ const d = w.scrollLeft - S();
1313
+ Math.abs(d) < vr || (d < 0 !== n ? g() : m(), N());
1307
1314
  };
1308
- p.addEventListener("scroll", _);
1315
+ w.addEventListener("scroll", L);
1309
1316
  let I = null;
1310
- const R = (a) => {
1311
- if (I !== null || a.changedTouches.length !== 1)
1317
+ const H = (d) => {
1318
+ if (I !== null || d.changedTouches.length !== 1)
1312
1319
  return;
1313
- h();
1314
- const { identifier: y, clientX: L } = a.changedTouches[0];
1315
- I = y, x = L, z = [{ timestamp: Date.now(), value: L }];
1316
- }, Z = (a) => {
1320
+ p();
1321
+ const { identifier: b, clientX: k } = d.changedTouches[0];
1322
+ I = b, x = k, E = [{ timestamp: Date.now(), value: k }];
1323
+ }, h = (d) => {
1317
1324
  if (!x)
1318
1325
  return;
1319
- const y = Array.from(a.changedTouches).find(
1326
+ const b = Array.from(d.changedTouches).find(
1320
1327
  ({ identifier: D }) => D === I
1321
1328
  );
1322
- if (!y)
1329
+ if (!b)
1323
1330
  return;
1324
- a.preventDefault();
1325
- const { clientX: L } = y;
1326
- N({ timestamp: Date.now(), value: L });
1327
- const H = L - x;
1328
- Math.abs(H) < ve || (H > 0 !== n ? f() : m(), x = L);
1329
- }, k = (a) => {
1330
- !x || !Array.from(a.changedTouches).some(
1331
- ({ identifier: y }) => y === I
1332
- ) || (I = null, x = null, j());
1331
+ d.preventDefault();
1332
+ const { clientX: k } = b;
1333
+ z({ timestamp: Date.now(), value: k });
1334
+ const A = k - x;
1335
+ Math.abs(A) < ve || (A > 0 !== n ? g() : m(), x = k);
1336
+ }, V = (d) => {
1337
+ !x || !Array.from(d.changedTouches).some(
1338
+ ({ identifier: b }) => b === I
1339
+ ) || (I = null, x = null, f());
1333
1340
  };
1334
- return p.addEventListener("touchstart", R), p.addEventListener("touchmove", Z), p.addEventListener("touchend", k), p.addEventListener("touchcancel", k), () => {
1335
- E.removeEventListener("mousedown", g), document.removeEventListener("mousemove", C), document.removeEventListener("mouseleave", T), document.removeEventListener("mouseup", T), document.removeEventListener("contextmenu", T), p.removeEventListener("scroll", _), p.removeEventListener("touchstart", R), p.removeEventListener("touchmove", Z), p.removeEventListener("touchend", k), p.removeEventListener("touchcancel", k);
1341
+ return w.addEventListener("touchstart", H), w.addEventListener("touchmove", h), w.addEventListener("touchend", V), w.addEventListener("touchcancel", V), () => {
1342
+ _.removeEventListener("mousedown", v), document.removeEventListener("mousemove", j), document.removeEventListener("mouseleave", T), document.removeEventListener("mouseup", T), document.removeEventListener("contextmenu", T), w.removeEventListener("scroll", L), w.removeEventListener("touchstart", H), w.removeEventListener("touchmove", h), w.removeEventListener("touchend", V), w.removeEventListener("touchcancel", V);
1336
1343
  };
1337
- }, [f, m, u, n]), /* @__PURE__ */ t.jsx("div", { ref: c, className: "cursor-ew-resize", children: /* @__PURE__ */ t.jsxs("div", { ref: l, className: "overflow-x-scroll no-scrollbar", children: [
1338
- /* @__PURE__ */ t.jsx("div", { className: "sticky left-0 top-0", children: e.map((E, p) => /* @__PURE__ */ t.jsx(
1339
- It,
1340
- {
1341
- ...E,
1342
- className: O(
1343
- p !== s && "pointer-events-none !absolute left-0 top-0 -z-10"
1344
- ),
1345
- onlyPreload: p !== s || r
1346
- },
1347
- E.src
1348
- )) }),
1344
+ }, [g, m, u, n]), /* @__PURE__ */ t.jsx("div", { ref: l, className: "cursor-ew-resize", children: /* @__PURE__ */ t.jsxs("div", { ref: i, className: "overflow-x-scroll no-scrollbar", children: [
1345
+ /* @__PURE__ */ t.jsxs("div", { className: "sticky left-0 top-0", children: [
1346
+ e.map((_) => /* @__PURE__ */ t.jsx(
1347
+ me,
1348
+ {
1349
+ src: _.src,
1350
+ className: "pointer-events-none !absolute left-0 top-0 -z-10"
1351
+ },
1352
+ _.src
1353
+ )),
1354
+ /* @__PURE__ */ t.jsx(_t, { ...e[s], onlyPreload: r })
1355
+ ] }),
1349
1356
  /* @__PURE__ */ t.jsx("div", { className: "pointer-events-none -mt-px h-px w-[calc(100%+1024px)]" })
1350
1357
  ] }) });
1351
1358
  }, yr = ({ images: e, onPlaceholderImageLoaded: r, onSpinImagesLoaded: n, onError: o }) => {
1352
- const i = te(() => e.map(({ src: d }) => d), [e]), [u, c] = A(null), l = u ? [...u.values()].filter((d) => d).length / e.length * 100 : null, s = M(() => {
1353
- l === null && c(new Map(i.map((d) => [d, !1])));
1354
- }, [i, l]), b = M((d) => {
1355
- c((m) => {
1356
- const f = new Map(m);
1357
- return f.set(d, !0), f;
1359
+ const a = re(() => e.map(({ src: c }) => c), [e]), [u, l] = W(null), i = u ? [...u.values()].filter((c) => c).length / e.length * 100 : null, s = M(() => {
1360
+ i === null && l(new Map(a.map((c) => [c, !1])));
1361
+ }, [a, i]), y = M((c) => {
1362
+ l((m) => {
1363
+ const g = new Map(m);
1364
+ return g.set(c, !0), g;
1358
1365
  });
1359
1366
  }, []);
1360
- return P(() => {
1361
- l === 100 && n();
1362
- }, [l, n]), /* @__PURE__ */ t.jsxs("div", { className: "relative size-full", children: [
1363
- l !== null && l !== 100 && // Add images to DOM to preload them
1364
- /* @__PURE__ */ t.jsx("div", { className: "hidden", children: i.map((d) => /* @__PURE__ */ t.jsx(
1365
- be,
1367
+ return F(() => {
1368
+ i === 100 && n();
1369
+ }, [i, n]), /* @__PURE__ */ t.jsxs("div", { className: "relative size-full", children: [
1370
+ i !== null && i !== 100 && // Add images to DOM to preload them
1371
+ /* @__PURE__ */ t.jsx("div", { className: "hidden", children: a.map((c) => /* @__PURE__ */ t.jsx(
1372
+ me,
1366
1373
  {
1367
- src: d,
1368
- onLoad: () => b(d),
1374
+ src: c,
1375
+ onLoad: () => y(c),
1369
1376
  onError: o
1370
1377
  },
1371
- d
1378
+ c
1372
1379
  )) }),
1373
1380
  /* @__PURE__ */ t.jsx(
1374
- be,
1381
+ me,
1375
1382
  {
1376
1383
  className: "size-full",
1377
- src: i[0],
1384
+ src: a[0],
1378
1385
  onLoad: r
1379
1386
  }
1380
1387
  ),
1381
1388
  /* @__PURE__ */ t.jsxs("div", { className: "absolute inset-0 flex flex-col items-center justify-center gap-y-4 bg-foreground/35", children: [
1382
- /* @__PURE__ */ t.jsx(Et, { className: "size-20 text-primary" }),
1383
- /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", onClick: s, children: /* @__PURE__ */ t.jsx(Ye, { className: "size-full" }) }),
1389
+ /* @__PURE__ */ t.jsx(kt, { className: "size-20 text-primary-light" }),
1390
+ /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", onClick: s, children: /* @__PURE__ */ t.jsx(We, { className: "size-full" }) }),
1384
1391
  /* @__PURE__ */ t.jsx(
1385
1392
  "div",
1386
1393
  {
1387
1394
  className: O(
1388
1395
  "relative h-1 w-3/5 overflow-hidden rounded-full bg-background",
1389
- l === null && "invisible"
1396
+ i === null && "invisible"
1390
1397
  ),
1391
1398
  children: /* @__PURE__ */ t.jsx(
1392
1399
  "div",
1393
1400
  {
1394
1401
  className: "h-full bg-primary transition-[width]",
1395
- style: { width: `${l ?? 0}%` }
1402
+ style: { width: `${i ?? 0}%` }
1396
1403
  }
1397
1404
  )
1398
1405
  }
1399
1406
  )
1400
1407
  ] })
1401
1408
  ] });
1402
- }, jr = (e) => {
1403
- const { itemIndex: r } = e, { setItemInteraction: n } = q(), [o, i] = A();
1404
- return P(() => {
1409
+ }, br = (e) => {
1410
+ const { itemIndex: r } = e, { setItemInteraction: n } = q(), [o, a] = W();
1411
+ return F(() => {
1405
1412
  o === null || o === "error" || n(r, o === "spin" ? "running" : "ready");
1406
- }, [r, n, o]), o === "error" ? /* @__PURE__ */ t.jsx(Nt, { title: "Failed to fetch 360" }) : o !== "spin" ? /* @__PURE__ */ t.jsx(
1413
+ }, [r, n, o]), o === "error" ? /* @__PURE__ */ t.jsx(jt, { title: "Failed to fetch 360" }) : o !== "spin" ? /* @__PURE__ */ t.jsx(
1407
1414
  yr,
1408
1415
  {
1409
1416
  ...e,
1410
- onPlaceholderImageLoaded: () => i("placeholder"),
1411
- onSpinImagesLoaded: () => i("spin"),
1412
- onError: () => i("error")
1417
+ onPlaceholderImageLoaded: () => a("placeholder"),
1418
+ onSpinImagesLoaded: () => a("spin"),
1419
+ onError: () => a("error")
1413
1420
  }
1414
- ) : /* @__PURE__ */ t.jsx(br, { ...e });
1415
- }, kr = ({ className: e = "", ...r }) => /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", className: e, ...r, children: /* @__PURE__ */ t.jsx(Ye, { className: "size-full" }) }), Nr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PAUSE", children: /* @__PURE__ */ t.jsx(
1421
+ ) : /* @__PURE__ */ t.jsx(wr, { ...e });
1422
+ }, jr = (e) => /* @__PURE__ */ t.jsx(K, { color: "neutral", shape: "icon", ...e, children: /* @__PURE__ */ t.jsx(We, { className: "size-full" }) }), Cr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PAUSE", children: /* @__PURE__ */ t.jsx(
1416
1423
  "svg",
1417
1424
  {
1418
1425
  className: e,
@@ -1429,7 +1436,7 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1429
1436
  }
1430
1437
  )
1431
1438
  }
1432
- ) }), Cr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_VOLUME", children: /* @__PURE__ */ t.jsx(
1439
+ ) }), kr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_VOLUME", children: /* @__PURE__ */ t.jsx(
1433
1440
  "svg",
1434
1441
  {
1435
1442
  className: e,
@@ -1463,135 +1470,135 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1463
1470
  }
1464
1471
  )
1465
1472
  }
1466
- ) }), Je = ({ progress: e }) => /* @__PURE__ */ t.jsx("div", { className: "h-1 w-full overflow-hidden rounded-ui-sm bg-background/25", children: /* @__PURE__ */ t.jsx(
1473
+ ) }), Ke = ({ progress: e }) => /* @__PURE__ */ t.jsx("div", { className: "h-1 w-full overflow-hidden rounded-ui-sm bg-background/25", children: /* @__PURE__ */ t.jsx(
1467
1474
  "div",
1468
1475
  {
1469
1476
  className: "size-full rounded-ui-sm bg-background transition-transform",
1470
1477
  style: { transform: `translateX(-${100 * (1 - e)}%)` }
1471
1478
  }
1472
- ) }), Lr = 3e3, zr = ({ src: e, poster: r, itemIndex: n }) => {
1473
- const { carrouselItemIndex: o, setItemInteraction: i } = q(), u = $(null), c = $(null), l = M(() => {
1474
- if (!c.current)
1479
+ ) }), Nr = 3e3, Lr = ({ src: e, poster: r, itemIndex: n }) => {
1480
+ const { carrouselItemIndex: o, setItemInteraction: a } = q(), u = Z(null), l = Z(null), i = M(() => {
1481
+ if (!l.current)
1475
1482
  throw new Error("videoRef.current is null");
1476
- return c.current;
1483
+ return l.current;
1477
1484
  }, []);
1478
- P(() => {
1479
- i(n, "ready");
1480
- }, [n, i]);
1485
+ F(() => {
1486
+ a(n, "ready");
1487
+ }, [n, a]);
1481
1488
  const s = M(() => {
1482
- l().play();
1483
- }, [l]), b = M(() => {
1484
- l().pause();
1485
- }, [l]);
1486
- P(() => {
1487
- o === n || b();
1488
- }, [o, n, b]);
1489
- const [d, m] = A(!1), [f, E] = A(!0), p = () => {
1490
- m(!0), i(n, "running");
1489
+ i().play();
1490
+ }, [i]), y = M(() => {
1491
+ i().pause();
1492
+ }, [i]);
1493
+ F(() => {
1494
+ o === n || y();
1495
+ }, [o, n, y]);
1496
+ const [c, m] = W(!1), [g, _] = W(!0), w = () => {
1497
+ m(!0), a(n, "running");
1491
1498
  }, x = () => {
1492
- m(!1), i(n, "ready");
1493
- }, z = () => {
1494
- E(!1);
1495
- }, w = () => {
1496
- E(!0);
1497
- }, [N, j] = A(null), h = (a) => {
1498
- const y = l(), L = a.currentTarget.getBoundingClientRect(), H = (a.clientX - L.left) / L.width, D = Math.min(1, Math.max(0, H));
1499
- y.volume = D, y.muted = !1;
1500
- }, g = (a) => {
1501
- const y = l();
1502
- y.muted = a;
1499
+ m(!1), a(n, "ready");
1500
+ }, E = () => {
1501
+ _(!1);
1502
+ }, C = () => {
1503
+ _(!0);
1504
+ }, [z, f] = W(null), p = (d) => {
1505
+ const b = i(), k = d.currentTarget.getBoundingClientRect(), A = (d.clientX - k.left) / k.width, D = Math.min(1, Math.max(0, A));
1506
+ b.volume = D, b.muted = !1;
1507
+ }, v = (d) => {
1508
+ const b = i();
1509
+ b.muted = d;
1503
1510
  };
1504
- P(() => {
1505
- const a = c.current;
1506
- if (!a)
1511
+ F(() => {
1512
+ const d = l.current;
1513
+ if (!d)
1507
1514
  return;
1508
- const y = () => {
1509
- j({
1510
- volume: a.volume,
1511
- isMuted: a.muted
1515
+ const b = () => {
1516
+ f({
1517
+ volume: d.volume,
1518
+ isMuted: d.muted
1512
1519
  });
1513
1520
  };
1514
- return y(), a.addEventListener("volumechange", y), () => {
1515
- a.removeEventListener("volumechange", y);
1521
+ return b(), d.addEventListener("volumechange", b), () => {
1522
+ d.removeEventListener("volumechange", b);
1516
1523
  };
1517
1524
  }, []);
1518
- const [C, T] = A(null), V = C ? C.currentTime / C.duration : 0;
1519
- P(() => {
1520
- const a = c.current;
1521
- if (!a) return;
1522
- const y = () => {
1523
- const L = a.currentTime, H = a.duration;
1524
- isNaN(L) || isNaN(H) || T({
1525
- currentTime: L,
1526
- duration: H
1525
+ const [j, T] = W(null), R = j ? j.currentTime / j.duration : 0;
1526
+ F(() => {
1527
+ const d = l.current;
1528
+ if (!d) return;
1529
+ const b = () => {
1530
+ const k = d.currentTime, A = d.duration;
1531
+ isNaN(k) || isNaN(A) || T({
1532
+ currentTime: k,
1533
+ duration: A
1527
1534
  });
1528
1535
  };
1529
- return y(), a.addEventListener("timeupdate", y), () => {
1530
- a.removeEventListener("timeupdate", y);
1536
+ return b(), d.addEventListener("timeupdate", b), () => {
1537
+ d.removeEventListener("timeupdate", b);
1531
1538
  };
1532
1539
  }, []);
1533
- const S = (a) => {
1534
- const y = l(), L = a.currentTarget.getBoundingClientRect(), H = (a.clientX - L.left) / L.width, D = y.duration * H;
1535
- y.currentTime = D;
1536
- }, v = (a) => {
1537
- const y = Math.floor(a % 3600 / 60), L = Math.floor(a % 60);
1538
- return `${y}:${L.toString().padStart(2, "0")}`;
1539
- }, [_, I] = A(!1), R = $(void 0), Z = M(
1540
- () => clearTimeout(R.current),
1540
+ const S = (d) => {
1541
+ const b = i(), k = d.currentTarget.getBoundingClientRect(), A = (d.clientX - k.left) / k.width, D = b.duration * A;
1542
+ b.currentTime = D;
1543
+ }, N = (d) => {
1544
+ const b = Math.floor(d % 3600 / 60), k = Math.floor(d % 60);
1545
+ return `${b}:${k.toString().padStart(2, "0")}`;
1546
+ }, [L, I] = W(!1), H = Z(void 0), h = M(
1547
+ () => clearTimeout(H.current),
1541
1548
  []
1542
- ), k = M(() => {
1543
- Z(), R.current = setTimeout(() => {
1549
+ ), V = M(() => {
1550
+ h(), H.current = setTimeout(() => {
1544
1551
  I(!1);
1545
- }, Lr);
1546
- }, [Z]);
1547
- return P(() => {
1548
- const a = u.current, y = c.current;
1549
- if (!a || !y)
1552
+ }, Nr);
1553
+ }, [h]);
1554
+ return F(() => {
1555
+ const d = u.current, b = l.current;
1556
+ if (!d || !b)
1550
1557
  return;
1551
- const L = () => {
1552
- k(), I(!0);
1553
- }, H = () => {
1554
- Z(), I(!1);
1558
+ const k = () => {
1559
+ V(), I(!0);
1560
+ }, A = () => {
1561
+ h(), I(!1);
1555
1562
  };
1556
1563
  let D = !1;
1557
1564
  const Y = () => {
1558
1565
  D = !0;
1559
- }, W = () => {
1560
- D && (D = !1, b());
1561
- }, G = () => {
1562
- D = !1, L();
1563
- }, X = (B) => {
1564
- B.preventDefault(), B.touches.length === 1 && (k(), I((ne) => !ne));
1566
+ }, $ = () => {
1567
+ D && (D = !1, y());
1568
+ }, X = () => {
1569
+ D = !1, k();
1570
+ }, B = (G) => {
1571
+ G.preventDefault(), G.touches.length === 1 && (V(), I((Q) => !Q));
1565
1572
  };
1566
- return a.addEventListener("mousedown", Y), a.addEventListener("mouseup", W), a.addEventListener("mouseenter", L), a.addEventListener("mousemove", G), a.addEventListener("mouseleave", H), y.addEventListener("touchstart", X), () => {
1567
- a.removeEventListener("mousedown", Y), a.removeEventListener("mouseup", W), a.removeEventListener("mouseenter", L), a.removeEventListener("mousemove", L), a.removeEventListener("mouseleave", H), y.removeEventListener("touchstart", X);
1573
+ return d.addEventListener("mousedown", Y), d.addEventListener("mouseup", $), d.addEventListener("mouseenter", k), d.addEventListener("mousemove", X), d.addEventListener("mouseleave", A), b.addEventListener("touchstart", B), () => {
1574
+ d.removeEventListener("mousedown", Y), d.removeEventListener("mouseup", $), d.removeEventListener("mouseenter", k), d.removeEventListener("mousemove", k), d.removeEventListener("mouseleave", A), b.removeEventListener("touchstart", B);
1568
1575
  };
1569
- }, [Z, b, k]), /* @__PURE__ */ t.jsxs("div", { ref: u, className: "relative size-full", children: [
1576
+ }, [h, y, V]), /* @__PURE__ */ t.jsxs("div", { ref: u, className: "relative size-full", children: [
1570
1577
  /* @__PURE__ */ t.jsx(
1571
1578
  "video",
1572
1579
  {
1573
- ref: c,
1580
+ ref: l,
1574
1581
  className: "size-full",
1575
1582
  src: e,
1576
1583
  poster: r,
1577
1584
  disablePictureInPicture: !0,
1578
1585
  playsInline: !0,
1579
- onPlay: p,
1586
+ onPlay: w,
1580
1587
  onPause: x,
1581
1588
  onEnded: x,
1582
- onCanPlay: z,
1583
- onWaiting: w
1589
+ onCanPlay: E,
1590
+ onWaiting: C
1584
1591
  }
1585
1592
  ),
1586
- d ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1593
+ c ? /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1587
1594
  /* @__PURE__ */ t.jsxs(
1588
1595
  "div",
1589
1596
  {
1590
1597
  className: O(
1591
1598
  "absolute inset-x-0 bottom-0 cursor-auto space-y-2 bg-gradient-to-t from-foreground to-transparent p-4 pr-12 pt-8 transition-opacity duration-300",
1592
- _ ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"
1599
+ L ? "pointer-events-auto opacity-100" : "pointer-events-none opacity-0"
1593
1600
  ),
1594
- onMouseDownCapture: (a) => a.stopPropagation(),
1601
+ onMouseDownCapture: (d) => d.stopPropagation(),
1595
1602
  children: [
1596
1603
  /* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between text-background", children: [
1597
1604
  /* @__PURE__ */ t.jsxs(
@@ -1605,20 +1612,20 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1605
1612
  shape: "icon",
1606
1613
  variant: "ghost",
1607
1614
  color: "neutral",
1608
- onClick: b,
1609
- children: /* @__PURE__ */ t.jsx(Nr, { className: "size-full" })
1615
+ onClick: y,
1616
+ children: /* @__PURE__ */ t.jsx(Cr, { className: "size-full" })
1610
1617
  }
1611
1618
  ),
1612
- C && /* @__PURE__ */ t.jsxs("span", { className: "text-sm", children: [
1613
- v(C.currentTime),
1619
+ j && /* @__PURE__ */ t.jsxs("span", { className: "text-sm", children: [
1620
+ N(j.currentTime),
1614
1621
  " /",
1615
1622
  " ",
1616
- v(C.duration)
1623
+ N(j.duration)
1617
1624
  ] })
1618
1625
  ]
1619
1626
  }
1620
1627
  ),
1621
- N && /* @__PURE__ */ t.jsxs(
1628
+ z && /* @__PURE__ */ t.jsxs(
1622
1629
  "div",
1623
1630
  {
1624
1631
  className: "group/volume flex items-center gap-x-4 rounded-ui-md p-2 transition-colors hover:bg-foreground/25",
@@ -1626,17 +1633,17 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1626
1633
  /* @__PURE__ */ t.jsx(
1627
1634
  "div",
1628
1635
  {
1629
- className: `w-12 cursor-pointer py-1 opacity-0 transition-opacity ${N.isMuted ? "group-hover/volume:opacity-50" : "group-hover/volume:opacity-100"}`,
1630
- onClick: h,
1631
- children: /* @__PURE__ */ t.jsx(Je, { progress: N.volume })
1636
+ className: `w-12 cursor-pointer py-1 opacity-0 transition-opacity ${z.isMuted ? "group-hover/volume:opacity-50" : "group-hover/volume:opacity-100"}`,
1637
+ onClick: p,
1638
+ children: /* @__PURE__ */ t.jsx(Ke, { progress: z.volume })
1632
1639
  }
1633
1640
  ),
1634
1641
  /* @__PURE__ */ t.jsx(
1635
1642
  "div",
1636
1643
  {
1637
1644
  className: "size-5 cursor-pointer",
1638
- onClick: () => g(!N.isMuted),
1639
- children: N.isMuted ? /* @__PURE__ */ t.jsx(Er, { className: "size-full" }) : /* @__PURE__ */ t.jsx(Cr, { className: "size-full" })
1645
+ onClick: () => v(!z.isMuted),
1646
+ children: z.isMuted ? /* @__PURE__ */ t.jsx(Er, { className: "size-full" }) : /* @__PURE__ */ t.jsx(kr, { className: "size-full" })
1640
1647
  }
1641
1648
  )
1642
1649
  ]
@@ -1648,13 +1655,13 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1648
1655
  {
1649
1656
  className: "cursor-pointer py-1",
1650
1657
  onClick: S,
1651
- children: /* @__PURE__ */ t.jsx(Je, { progress: V })
1658
+ children: /* @__PURE__ */ t.jsx(Ke, { progress: R })
1652
1659
  }
1653
1660
  )
1654
1661
  ]
1655
1662
  }
1656
1663
  ),
1657
- f && /* @__PURE__ */ t.jsx(
1664
+ g && /* @__PURE__ */ t.jsx(
1658
1665
  "div",
1659
1666
  {
1660
1667
  className: "pointer-events-none absolute inset-0 flex items-center justify-center bg-foreground/25",
@@ -1665,26 +1672,26 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1665
1672
  "div",
1666
1673
  {
1667
1674
  className: "absolute inset-0 flex items-center justify-center bg-foreground/25",
1668
- children: /* @__PURE__ */ t.jsx(kr, { onClick: s })
1675
+ children: /* @__PURE__ */ t.jsx(jr, { onClick: s })
1669
1676
  }
1670
1677
  )
1671
1678
  ] });
1672
1679
  }, _r = ({ index: e, item: r, isShown: n, lazy: o }) => {
1673
- const { type: i } = r;
1680
+ const { type: a } = r;
1674
1681
  let u;
1675
1682
  if (o)
1676
1683
  u = null;
1677
- else
1678
- switch (i) {
1684
+ else {
1685
+ switch (a) {
1679
1686
  case "image":
1680
- u = /* @__PURE__ */ t.jsx(It, { itemIndex: e, onlyPreload: !n, ...r });
1687
+ u = /* @__PURE__ */ t.jsx(_t, { itemIndex: e, onlyPreload: !n, ...r });
1681
1688
  break;
1682
1689
  case "video":
1683
- u = /* @__PURE__ */ t.jsx(zr, { itemIndex: e, ...r });
1690
+ u = /* @__PURE__ */ t.jsx(Lr, { itemIndex: e, ...r });
1684
1691
  break;
1685
1692
  case "360":
1686
1693
  u = /* @__PURE__ */ t.jsx(
1687
- jr,
1694
+ br,
1688
1695
  {
1689
1696
  itemIndex: e,
1690
1697
  onlyPreload: !n,
@@ -1693,9 +1700,11 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1693
1700
  );
1694
1701
  break;
1695
1702
  }
1703
+ u = /* @__PURE__ */ t.jsx("div", { className: O("-ml-px h-full w-[calc(100%+2px)]"), children: u });
1704
+ }
1696
1705
  return u;
1697
- }, Ir = (e) => {
1698
- P(() => {
1706
+ }, zr = (e) => {
1707
+ F(() => {
1699
1708
  const r = (n) => {
1700
1709
  n.key === "Escape" && e();
1701
1710
  };
@@ -1704,10 +1713,14 @@ const yt = Ie(null), jt = () => Me(yt), $e = () => {
1704
1713
  };
1705
1714
  }, [e]);
1706
1715
  };
1707
- function Mr(e) {
1716
+ function Ir(e) {
1708
1717
  return e.target === e.currentTarget;
1709
1718
  }
1710
- const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_ARROW_RIGHT", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1719
+ const Mr = ({ currentIndex: e, maxIndex: r }) => /* @__PURE__ */ t.jsxs("div", { className: "space-x-0.5 rounded-ui bg-foreground/40 px-1.5 py-0.5 text-xs text-background/75 transition-radius small:space-x-1 small:px-2 small:py-1 small:text-sm", children: [
1720
+ /* @__PURE__ */ t.jsx("span", { children: e + 1 }),
1721
+ /* @__PURE__ */ t.jsx("span", { children: "/" }),
1722
+ /* @__PURE__ */ t.jsx("span", { children: r + 1 })
1723
+ ] }), qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_ARROW_RIGHT", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1711
1724
  "path",
1712
1725
  {
1713
1726
  d: "M4.07666 13.4868L5.25666 14.6668L11.9233 8.00016L5.25666 1.3335L4.07666 2.5135L9.56333 8.00016L4.07666 13.4868Z",
@@ -1719,13 +1732,13 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1719
1732
  d: "M4.66683 9.3335H3.3335V12.6668H6.66683V11.3335H4.66683V9.3335ZM3.3335 6.66683H4.66683V4.66683H6.66683V3.3335H3.3335V6.66683ZM11.3335 11.3335H9.3335V12.6668H12.6668V9.3335H11.3335V11.3335ZM9.3335 3.3335V4.66683H11.3335V6.66683H12.6668V3.3335H9.3335Z",
1720
1733
  fill: "currentColor"
1721
1734
  }
1722
- ) }) }), Vr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_GALLERY", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1735
+ ) }) }), Sr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_GALLERY", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1723
1736
  "path",
1724
1737
  {
1725
1738
  d: "M13.3334 2.66683V10.6668H5.33337V2.66683H13.3334ZM13.3334 1.3335H5.33337C4.60004 1.3335 4.00004 1.9335 4.00004 2.66683V10.6668C4.00004 11.4002 4.60004 12.0002 5.33337 12.0002H13.3334C14.0667 12.0002 14.6667 11.4002 14.6667 10.6668V2.66683C14.6667 1.9335 14.0667 1.3335 13.3334 1.3335ZM7.66671 7.78016L8.79337 9.28683L10.4467 7.22016L12.6667 10.0002H6.00004L7.66671 7.78016ZM1.33337 4.00016V13.3335C1.33337 14.0668 1.93337 14.6668 2.66671 14.6668H12V13.3335H2.66671V4.00016H1.33337Z",
1726
1739
  fill: "currentColor"
1727
1740
  }
1728
- ) }) }), Sr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_HOTSPOTS", children: /* @__PURE__ */ t.jsxs(
1741
+ ) }) }), Vr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_HOTSPOTS", children: /* @__PURE__ */ t.jsxs(
1729
1742
  "svg",
1730
1743
  {
1731
1744
  className: e,
@@ -1745,7 +1758,7 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1745
1758
  /* @__PURE__ */ t.jsx("defs", { children: /* @__PURE__ */ t.jsx("clipPath", { id: "clip0_418_982", children: /* @__PURE__ */ t.jsx("rect", { width: "12", height: "12", fill: "white" }) }) })
1746
1759
  ]
1747
1760
  }
1748
- ) }), Rr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_MINUS", children: /* @__PURE__ */ t.jsx(
1761
+ ) }), Hr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_MINUS", children: /* @__PURE__ */ t.jsx(
1749
1762
  "svg",
1750
1763
  {
1751
1764
  className: e,
@@ -1762,7 +1775,7 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1762
1775
  }
1763
1776
  )
1764
1777
  }
1765
- ) }), Hr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PLUS", children: /* @__PURE__ */ t.jsx(
1778
+ ) }), Or = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_PLUS", children: /* @__PURE__ */ t.jsx(
1766
1779
  "svg",
1767
1780
  {
1768
1781
  className: e,
@@ -1779,18 +1792,18 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1779
1792
  }
1780
1793
  )
1781
1794
  }
1782
- ) }), Or = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_REDUCE", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1795
+ ) }), Rr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_REDUCE", children: /* @__PURE__ */ t.jsx("svg", { className: e, viewBox: "0 0 16 16", fill: "none", children: /* @__PURE__ */ t.jsx(
1783
1796
  "path",
1784
1797
  {
1785
1798
  d: "M3.33325 10.6668H5.33325V12.6668H6.66659V9.3335H3.33325V10.6668ZM5.33325 5.3335H3.33325V6.66683H6.66659V3.3335H5.33325V5.3335ZM9.33325 12.6668H10.6666V10.6668H12.6666V9.3335H9.33325V12.6668ZM10.6666 5.3335V3.3335H9.33325V6.66683H12.6666V5.3335H10.6666Z",
1786
1799
  fill: "currentColor"
1787
1800
  }
1788
- ) }) }), Fr = ({
1801
+ ) }) }), Pr = ({
1789
1802
  enabled: e,
1790
1803
  onToggle: r,
1791
1804
  label: n,
1792
1805
  className: o,
1793
- children: i
1806
+ children: a
1794
1807
  }) => /* @__PURE__ */ t.jsxs(
1795
1808
  "label",
1796
1809
  {
@@ -1823,14 +1836,14 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1823
1836
  "flex size-4 items-center justify-center rounded-full p-0.5 transition",
1824
1837
  e ? "translate-x-1.5 bg-primary-foreground text-primary" : "-translate-x-1.5 bg-background text-foreground"
1825
1838
  ),
1826
- children: i
1839
+ children: a
1827
1840
  }
1828
1841
  )
1829
1842
  }
1830
1843
  )
1831
1844
  ]
1832
1845
  }
1833
- ), Pr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_BURGER", children: /* @__PURE__ */ t.jsx(
1846
+ ), Fr = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, customizationKey: "UI_BURGER", children: /* @__PURE__ */ t.jsx(
1834
1847
  "svg",
1835
1848
  {
1836
1849
  className: e,
@@ -1848,17 +1861,17 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1848
1861
  )
1849
1862
  }
1850
1863
  ) }), Ar = ({ sharedClassName: e }) => {
1851
- const { categories: r } = re(), { displayedCategoryId: n, changeCategory: o } = q(), [i, u] = A(!1), c = () => {
1852
- u(!i);
1853
- }, l = () => {
1864
+ const { categories: r } = ne(), { displayedCategoryId: n, changeCategory: o } = q(), [a, u] = W(!1), l = () => {
1865
+ u(!a);
1866
+ }, i = () => {
1854
1867
  u(!1);
1855
1868
  };
1856
1869
  return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1857
- i && /* @__PURE__ */ t.jsx(
1870
+ a && /* @__PURE__ */ t.jsx(
1858
1871
  "div",
1859
1872
  {
1860
1873
  className: O(e, "inset-0 small:hidden"),
1861
- onClick: l
1874
+ onClick: i
1862
1875
  }
1863
1876
  ),
1864
1877
  /* @__PURE__ */ t.jsxs(
@@ -1874,22 +1887,22 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1874
1887
  K,
1875
1888
  {
1876
1889
  shape: "icon",
1877
- color: i ? "primary" : "neutral",
1878
- onClick: c,
1879
- children: /* @__PURE__ */ t.jsx(Pr, {})
1890
+ color: a ? "primary" : "neutral",
1891
+ onClick: l,
1892
+ children: /* @__PURE__ */ t.jsx(Fr, {})
1880
1893
  }
1881
1894
  ),
1882
- i && /* @__PURE__ */ t.jsx("div", { className: "rounded-ui-md bg-background", children: /* @__PURE__ */ t.jsx("ul", { className: "space-y-0.5 p-1", children: r.map(({ id: s, title: b }) => /* @__PURE__ */ t.jsx(
1895
+ a && /* @__PURE__ */ t.jsx("div", { className: "rounded-ui-md bg-background transition-radius", children: /* @__PURE__ */ t.jsx("ul", { className: "space-y-0.5 p-1", children: r.map(({ id: s, title: y }) => /* @__PURE__ */ t.jsx(
1883
1896
  "li",
1884
1897
  {
1885
1898
  className: O(
1886
- "cursor-pointer rounded-ui px-2 py-1 text-sm font-bold transition-colors hover:bg-primary/30",
1899
+ "cursor-pointer rounded-ui px-2 py-1 text-sm font-bold transition-all hover:bg-primary/30",
1887
1900
  s === n && "bg-primary/50"
1888
1901
  ),
1889
1902
  onClick: () => {
1890
1903
  o(s), u(!1);
1891
1904
  },
1892
- children: b
1905
+ children: y
1893
1906
  },
1894
1907
  s
1895
1908
  )) }) })
@@ -1901,68 +1914,89 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1901
1914
  {
1902
1915
  className: O(
1903
1916
  e,
1904
- bt("top"),
1917
+ vt("top"),
1905
1918
  "w-full overflow-x-auto max-small:hidden"
1906
1919
  ),
1907
- children: /* @__PURE__ */ t.jsx("div", { className: "mx-auto flex w-fit gap-x-1 rounded-ui-md bg-background p-1 shadow", children: r.map(({ id: s, title: b }) => /* @__PURE__ */ t.jsx(
1920
+ children: /* @__PURE__ */ t.jsx("div", { className: "mx-auto flex w-fit gap-x-1 rounded-ui-md bg-background p-1 shadow", children: r.map(({ id: s, title: y }) => /* @__PURE__ */ t.jsx(
1908
1921
  K,
1909
1922
  {
1910
1923
  variant: s === n ? "fill" : "ghost",
1911
1924
  onClick: () => o(s),
1912
- children: b
1925
+ children: y
1913
1926
  },
1914
1927
  s
1915
1928
  )) })
1916
1929
  }
1917
1930
  )
1918
1931
  ] });
1919
- }, Zr = () => {
1920
- const { flatten: e, infiniteCarrousel: r, permanentGallery: n } = J(), {
1932
+ }, Dr = () => {
1933
+ const { hideCategories: e, infiniteCarrousel: r, permanentGallery: n } = J(), {
1921
1934
  items: { length: o },
1922
- aspectRatioStyle: i
1923
- } = re(), {
1935
+ aspectRatioStyle: a
1936
+ } = ne(), {
1924
1937
  slidable: u,
1925
- masterItemIndex: c,
1926
- prevItem: l,
1927
- nextItem: s,
1928
- showGalleryControls: b,
1929
- enableHotspotsControl: d,
1930
- showHotspots: m,
1931
- toggleHotspots: f,
1932
- showGallery: E,
1933
- toggleGallery: p,
1934
- extendMode: x,
1935
- toggleExtendMode: z,
1936
- shownDetails: w,
1937
- isShowingDetails: N,
1938
- resetShownDetails: j,
1939
- showZoomControls: h,
1940
- isZooming: g,
1941
- canZoomIn: C,
1942
- zoomIn: T,
1943
- canZoomOut: V,
1944
- zoomOut: S,
1945
- resetView: v
1946
- } = q(), _ = M(
1947
- (Z) => {
1948
- Mr(Z) && j();
1938
+ carrouselItemIndex: l,
1939
+ masterItemIndex: i,
1940
+ prevItem: s,
1941
+ nextItem: y,
1942
+ showGalleryControls: c,
1943
+ enableHotspotsControl: m,
1944
+ showHotspots: g,
1945
+ toggleHotspots: _,
1946
+ showGallery: w,
1947
+ toggleGallery: x,
1948
+ extendMode: E,
1949
+ toggleExtendMode: C,
1950
+ shownDetails: z,
1951
+ isShowingDetails: f,
1952
+ resetShownDetails: p,
1953
+ showZoomControls: v,
1954
+ isZooming: j,
1955
+ canZoomIn: T,
1956
+ zoomIn: R,
1957
+ canZoomOut: S,
1958
+ zoomOut: N,
1959
+ resetView: L
1960
+ } = q(), I = M(
1961
+ (h) => {
1962
+ Ir(h) && p();
1949
1963
  },
1950
- [j]
1964
+ [p]
1951
1965
  );
1952
- Ir(j);
1953
- const I = "absolute z-overlay", R = `transition-opacity ${b ? "opacity-100" : "opacity-0 !pointer-events-none"}`;
1966
+ zr(p);
1967
+ const H = "absolute z-overlay";
1954
1968
  return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1955
- !e && !g && /* @__PURE__ */ t.jsx(Ar, { sharedClassName: I }),
1956
- u && !g && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1969
+ !e && /* @__PURE__ */ t.jsx(
1970
+ Ar,
1971
+ {
1972
+ sharedClassName: O(
1973
+ H,
1974
+ "transition-opacity",
1975
+ j ? "!pointer-events-none opacity-0" : "opacity-100"
1976
+ )
1977
+ }
1978
+ ),
1979
+ u && !j && /* @__PURE__ */ t.jsx("div", { className: O(H, ue("top-right")), children: /* @__PURE__ */ t.jsx(
1980
+ Mr,
1981
+ {
1982
+ currentIndex: l,
1983
+ maxIndex: o - 1
1984
+ }
1985
+ ) }),
1986
+ u && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1957
1987
  /* @__PURE__ */ t.jsx(
1958
1988
  K,
1959
1989
  {
1960
1990
  shape: "icon",
1961
1991
  color: "neutral",
1962
- className: O(I, ue("middle-left")),
1963
- onClick: l,
1964
- disabled: !r && c <= 0,
1965
- children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_ARROW_LEFT", children: /* @__PURE__ */ t.jsx(Qe, { className: "size-full rotate-180" }) })
1992
+ className: O(
1993
+ H,
1994
+ ue("middle-left"),
1995
+ j ? "!pointer-events-none opacity-0" : "opacity-100"
1996
+ ),
1997
+ onClick: s,
1998
+ disabled: !r && i <= 0,
1999
+ children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_ARROW_LEFT", children: /* @__PURE__ */ t.jsx(qe, { className: "size-full rotate-180" }) })
1966
2000
  }
1967
2001
  ),
1968
2002
  /* @__PURE__ */ t.jsx(
@@ -1970,10 +2004,14 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1970
2004
  {
1971
2005
  shape: "icon",
1972
2006
  color: "neutral",
1973
- className: O(I, ue("middle-right")),
1974
- onClick: s,
1975
- disabled: !r && c >= o - 1,
1976
- children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_ARROW_RIGHT", children: /* @__PURE__ */ t.jsx(Qe, { className: "size-full" }) })
2007
+ className: O(
2008
+ H,
2009
+ ue("middle-right"),
2010
+ j ? "!pointer-events-none opacity-0" : "opacity-100"
2011
+ ),
2012
+ onClick: y,
2013
+ disabled: !r && i >= o - 1,
2014
+ children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_ARROW_RIGHT", children: /* @__PURE__ */ t.jsx(qe, { className: "size-full" }) })
1977
2015
  }
1978
2016
  )
1979
2017
  ] }),
@@ -1981,28 +2019,30 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
1981
2019
  "div",
1982
2020
  {
1983
2021
  className: O(
1984
- I,
2022
+ H,
1985
2023
  ue("bottom-fullW"),
1986
2024
  "pointer-events-none grid grid-cols-[auto,1fr,auto] items-end *:pointer-events-auto small:gap-x-2"
1987
2025
  ),
1988
2026
  children: [
1989
- !n && o > 1 && !g && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
2027
+ !n && u && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1990
2028
  /* @__PURE__ */ t.jsx(
1991
2029
  K,
1992
2030
  {
1993
- className: R,
2031
+ className: c && !j ? "opacity-100" : "!pointer-events-none opacity-0",
1994
2032
  variant: "fill",
1995
- color: E ? "primary" : "neutral",
2033
+ color: w ? "primary" : "neutral",
1996
2034
  shape: "icon",
1997
- onClick: p,
1998
- children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_GALLERY", children: /* @__PURE__ */ t.jsx(Vr, { className: "size-full" }) })
2035
+ onClick: x,
2036
+ children: /* @__PURE__ */ t.jsx(U, { customizationKey: "CONTROLS_GALLERY", children: /* @__PURE__ */ t.jsx(Sr, { className: "size-full" }) })
1999
2037
  }
2000
2038
  ),
2001
- E && /* @__PURE__ */ t.jsx(
2002
- zt,
2039
+ w && /* @__PURE__ */ t.jsx(
2040
+ Nt,
2003
2041
  {
2004
2042
  className: O(
2005
- R,
2043
+ "transition-opacity",
2044
+ c && !j ? "opacity-100" : "!pointer-events-none opacity-0",
2045
+ // Left & Right gradient mask to fade the gallery
2006
2046
  "[mask-image:linear-gradient(to_left,transparent_0px,black_4px,black_calc(100%-4px),transparent_100%)]"
2007
2047
  ),
2008
2048
  containerClassName: "mx-1"
@@ -2010,29 +2050,40 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2010
2050
  )
2011
2051
  ] }),
2012
2052
  /* @__PURE__ */ t.jsxs("div", { className: "col-start-3 flex flex-col items-end gap-y-1 small:gap-y-2", children: [
2013
- d && !g && /* @__PURE__ */ t.jsx(Fr, { enabled: m, onToggle: f, children: /* @__PURE__ */ t.jsx(Sr, { className: "size-full" }) }),
2014
- h && /* @__PURE__ */ t.jsxs("div", { className: "max-small:hidden", children: [
2053
+ m && /* @__PURE__ */ t.jsx(
2054
+ Pr,
2055
+ {
2056
+ className: O(
2057
+ "transition-opacity",
2058
+ j ? "!pointer-events-none opacity-0" : "opacity-100"
2059
+ ),
2060
+ enabled: g,
2061
+ onToggle: _,
2062
+ children: /* @__PURE__ */ t.jsx(Vr, { className: "size-full" })
2063
+ }
2064
+ ),
2065
+ v && /* @__PURE__ */ t.jsxs("div", { className: "max-small:hidden", children: [
2015
2066
  /* @__PURE__ */ t.jsx(
2016
2067
  K,
2017
2068
  {
2018
2069
  className: "rounded-b-none",
2019
2070
  color: "neutral",
2020
2071
  shape: "icon",
2021
- disabled: !C,
2022
- onClick: T,
2023
- children: /* @__PURE__ */ t.jsx(Hr, { className: "size-full" })
2072
+ disabled: !T,
2073
+ onClick: R,
2074
+ children: /* @__PURE__ */ t.jsx(Or, { className: "size-full" })
2024
2075
  }
2025
2076
  ),
2026
- /* @__PURE__ */ t.jsx(Lt, { color: "background" }),
2077
+ /* @__PURE__ */ t.jsx(Et, { color: "background" }),
2027
2078
  /* @__PURE__ */ t.jsx(
2028
2079
  K,
2029
2080
  {
2030
2081
  className: "rounded-t-none",
2031
2082
  color: "neutral",
2032
2083
  shape: "icon",
2033
- disabled: !V,
2034
- onClick: S,
2035
- children: /* @__PURE__ */ t.jsx(Rr, { className: "size-full" })
2084
+ disabled: !S,
2085
+ onClick: N,
2086
+ children: /* @__PURE__ */ t.jsx(Hr, { className: "size-full" })
2036
2087
  }
2037
2088
  )
2038
2089
  ] }),
@@ -2040,10 +2091,10 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2040
2091
  K,
2041
2092
  {
2042
2093
  variant: "fill",
2043
- color: x ? "primary" : "neutral",
2094
+ color: E ? "primary" : "neutral",
2044
2095
  shape: "icon",
2045
- onClick: z,
2046
- children: x ? /* @__PURE__ */ t.jsx(Or, { className: "size-full" }) : /* @__PURE__ */ t.jsx(Tr, { className: "size-full" })
2096
+ onClick: C,
2097
+ children: E ? /* @__PURE__ */ t.jsx(Rr, { className: "size-full" }) : /* @__PURE__ */ t.jsx(Tr, { className: "size-full" })
2047
2098
  }
2048
2099
  )
2049
2100
  ] })
@@ -2054,25 +2105,25 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2054
2105
  "div",
2055
2106
  {
2056
2107
  className: O(
2057
- I,
2108
+ H,
2058
2109
  "inset-0 flex justify-end overflow-hidden bg-foreground/60 transition-opacity duration-details",
2059
- N ? "opacity-100" : "pointer-events-none opacity-0"
2110
+ f ? "opacity-100" : "pointer-events-none opacity-0"
2060
2111
  ),
2061
- onClick: _,
2112
+ onClick: I,
2062
2113
  children: /* @__PURE__ */ t.jsx(
2063
2114
  "div",
2064
2115
  {
2065
2116
  className: O(
2066
2117
  "h-full w-3/5 bg-background transition-transform duration-details",
2067
- N ? "translate-x-0" : "translate-x-full"
2118
+ f ? "translate-x-0" : "translate-x-full"
2068
2119
  ),
2069
- children: !!w && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
2120
+ children: !!z && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
2070
2121
  /* @__PURE__ */ t.jsx(
2071
- be,
2122
+ me,
2072
2123
  {
2073
2124
  className: "w-full bg-foreground/65",
2074
- style: i,
2075
- src: w.src,
2125
+ style: a,
2126
+ src: z.src,
2076
2127
  imgInPlayerWidthRatio: 0.6
2077
2128
  }
2078
2129
  ),
@@ -2080,28 +2131,28 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2080
2131
  "div",
2081
2132
  {
2082
2133
  className: O(
2083
- "space-y-1 p-1.5 small:p-2",
2084
- x && "large:p-3"
2134
+ "space-y-1 px-2 py-1 small:p-3",
2135
+ E && "large:p-4"
2085
2136
  ),
2086
2137
  children: [
2087
- w.title && /* @__PURE__ */ t.jsx(
2138
+ z.title && /* @__PURE__ */ t.jsx(
2088
2139
  "span",
2089
2140
  {
2090
2141
  className: O(
2091
- "text-sm small:text-base",
2092
- x && "large:text-lg"
2142
+ "text-sm font-semibold small:text-base small:font-bold",
2143
+ E && "large:text-lg"
2093
2144
  ),
2094
- children: w.title
2145
+ children: z.title
2095
2146
  }
2096
2147
  ),
2097
- w.text && /* @__PURE__ */ t.jsx(
2148
+ z.text && /* @__PURE__ */ t.jsx(
2098
2149
  "p",
2099
2150
  {
2100
2151
  className: O(
2101
- "text-xs small:text-sm",
2102
- x && "large:text-base"
2152
+ "text-xs text-foreground/65 small:text-sm",
2153
+ E && "large:text-base"
2103
2154
  ),
2104
- children: w.text
2155
+ children: z.text
2105
2156
  }
2106
2157
  )
2107
2158
  ]
@@ -2112,222 +2163,224 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2112
2163
  )
2113
2164
  }
2114
2165
  ),
2115
- (g || N) && /* @__PURE__ */ t.jsx(
2116
- kt,
2166
+ (j || f) && /* @__PURE__ */ t.jsx(
2167
+ bt,
2117
2168
  {
2118
- className: O(I, ue("top-right")),
2119
- onClick: v
2169
+ className: O(H, ue("top-right")),
2170
+ onClick: L
2120
2171
  }
2121
2172
  )
2122
2173
  ] });
2123
- }, Dr = ({ className: e = "" }) => {
2124
- const { infiniteCarrousel: r, isFullScreen: n } = J(), { items: o, aspectRatioStyle: i } = re(), {
2174
+ }, Wr = ({ className: e = "" }) => {
2175
+ const { infiniteCarrousel: r, isFullScreen: n } = J(), { items: o, aspectRatioStyle: a } = ne(), {
2125
2176
  slidable: u,
2126
- carrouselItemIndex: c,
2127
- setCarrouselItemIndex: l,
2177
+ carrouselItemIndex: l,
2178
+ setCarrouselItemIndex: i,
2128
2179
  itemIndexCommand: s,
2129
- setItemIndexCommand: b,
2130
- specialCommand: d,
2180
+ setItemIndexCommand: y,
2181
+ specialCommand: c,
2131
2182
  isRunningSpecialCommand: m,
2132
- finishSpecialCommand: f,
2133
- extendMode: E,
2134
- extendTransition: p,
2135
- isZooming: x
2136
- } = q(), z = $(null), w = M((k) => {
2137
- if (!z.current)
2138
- throw new Error(`[${k ?? "sliderOrThrow"}] slider.current is null`);
2139
- return z.current;
2140
- }, []), N = $(!1), j = $(null), h = $(null), g = $(null), C = M(() => {
2141
- g.current && cancelAnimationFrame(g.current);
2142
- }, []), T = M(() => {
2143
- const k = w("computeClosestSnapIndex"), a = Array.from(k.children), y = k.scrollLeft, L = a.reduce(
2144
- (H, D, Y) => {
2145
- const W = D.offsetLeft;
2146
- return Math.abs(W - y) < Math.abs(a[H].offsetLeft - y) ? Y : H;
2183
+ finishSpecialCommand: g,
2184
+ extendMode: _,
2185
+ extendTransition: w
2186
+ } = q(), x = Z(null), E = M((h) => {
2187
+ if (!x.current)
2188
+ throw new Error(`[${h ?? "sliderOrThrow"}] slider.current is null`);
2189
+ return x.current;
2190
+ }, []), C = Z(!1), z = Z(null), f = Z(null), p = Z(null), v = M(() => {
2191
+ p.current && cancelAnimationFrame(p.current);
2192
+ }, []), j = M(() => {
2193
+ const h = E("computeClosestSnapIndex"), V = Array.from(h.children), d = h.scrollLeft, b = V.reduce(
2194
+ (k, A, D) => {
2195
+ const Y = A.offsetLeft;
2196
+ return Math.abs(Y - d) < Math.abs(V[k].offsetLeft - d) ? D : k;
2147
2197
  },
2148
2198
  0
2149
2199
  );
2150
- return d === "first_to_last" ? Ge(L, o.length) : d === "last_to_first" ? Ge(L - 1, o.length) : L;
2151
- }, [d, w, o.length]), V = M(
2152
- (k) => {
2153
- const a = w("setStyleCursor");
2154
- a.style.cursor = k;
2200
+ return c === "first_to_last" ? Xe(b, o.length) : c === "last_to_first" ? Xe(b - 1, o.length) : b;
2201
+ }, [c, E, o.length]), T = M(
2202
+ (h) => {
2203
+ const V = E("setStyleCursor");
2204
+ V.style.cursor = h;
2155
2205
  },
2156
- [w]
2157
- ), S = M(
2158
- (k) => {
2159
- const a = w("setStyleSnapState");
2160
- k === "mandatory" ? a.style.scrollSnapType = "x mandatory" : a.style.scrollSnapType = "none";
2206
+ [E]
2207
+ ), R = M(
2208
+ (h) => {
2209
+ const V = E("setStyleSnapState");
2210
+ h === "mandatory" ? V.style.scrollSnapType = "x mandatory" : V.style.scrollSnapType = "none";
2161
2211
  },
2162
- [w]
2163
- ), v = M(
2164
- (k, a, y) => {
2165
- C();
2166
- const L = w("scrollToIndex"), H = Array.from(L.children), D = L.scrollLeft, Y = H[k].offsetLeft, W = (me) => {
2167
- L.scrollTo({
2168
- left: me,
2212
+ [E]
2213
+ ), S = M(
2214
+ (h, V, d) => {
2215
+ v();
2216
+ const b = E("scrollToIndex"), k = Array.from(b.children), A = b.scrollLeft, D = k[h].offsetLeft, Y = (pe) => {
2217
+ b.scrollTo({
2218
+ left: pe,
2169
2219
  behavior: "instant"
2170
2220
  });
2171
- }, G = () => {
2172
- W(Y), S("mandatory"), y == null || y();
2173
- }, X = Math.abs(D - Y);
2174
- if (X < 1 || a === "instant") {
2175
- G();
2221
+ }, $ = () => {
2222
+ Y(D), R("mandatory"), d?.();
2223
+ }, X = Math.abs(A - D);
2224
+ if (X < 1 || V === "instant") {
2225
+ $();
2176
2226
  return;
2177
2227
  }
2178
- const B = se(X / 2.5, 300, 1e3), ne = (/* @__PURE__ */ new Date()).getTime();
2179
- S("none");
2180
- const je = () => {
2181
- const me = () => {
2182
- const ke = (/* @__PURE__ */ new Date()).getTime() - ne;
2183
- if (ke >= B) {
2184
- G();
2228
+ const B = ae(X / 2.5, 300, 1e3), G = (/* @__PURE__ */ new Date()).getTime();
2229
+ R("none");
2230
+ const Q = () => {
2231
+ const pe = () => {
2232
+ const be = (/* @__PURE__ */ new Date()).getTime() - G;
2233
+ if (be >= B) {
2234
+ $();
2185
2235
  return;
2186
2236
  }
2187
- const ae = Math.min(ke / B, 1), pe = _t(ae), Te = ze(D, Y, pe);
2188
- W(Te), je();
2237
+ const Ie = Math.min(be / B, 1), ie = Lt(Ie), he = Ne(A, D, ie);
2238
+ Y(he), Q();
2189
2239
  };
2190
- g.current = requestAnimationFrame(me);
2240
+ p.current = requestAnimationFrame(pe);
2191
2241
  };
2192
- je();
2242
+ Q();
2193
2243
  },
2194
- [C, w, S]
2195
- ), [_, I] = A(), R = !!_;
2196
- P(() => {
2197
- const k = () => {
2198
- clearTimeout(_);
2199
- const a = setTimeout(() => {
2200
- I(void 0);
2201
- }, ft);
2202
- I(a);
2244
+ [v, E, R]
2245
+ ), [N, L] = W(), I = !!N;
2246
+ F(() => {
2247
+ const h = () => {
2248
+ clearTimeout(N);
2249
+ const V = setTimeout(() => {
2250
+ L(void 0);
2251
+ }, pt);
2252
+ L(V);
2203
2253
  };
2204
- return addEventListener("resize", k), document.addEventListener("fullscreenchange", k), () => {
2205
- removeEventListener("resize", k), document.removeEventListener("fullscreenchange", k);
2254
+ return addEventListener("resize", h), document.addEventListener("fullscreenchange", h), () => {
2255
+ removeEventListener("resize", h), document.removeEventListener("fullscreenchange", h);
2206
2256
  };
2207
- }, [_]), P(() => {
2208
- const k = T();
2209
- Number.isNaN(k) || k !== c && v(c, "instant");
2257
+ }, [N]), F(() => {
2258
+ const h = j();
2259
+ Number.isNaN(h) || h !== l && S(l, "instant");
2210
2260
  }, [
2211
- c,
2212
- v,
2213
- T,
2261
+ l,
2262
+ S,
2263
+ j,
2214
2264
  // - Run the effect when those values change
2215
2265
  o,
2216
- _,
2266
+ N,
2217
2267
  n,
2218
- E,
2219
- p
2220
- ]), P(() => {
2268
+ _,
2269
+ w
2270
+ ]), F(() => {
2221
2271
  if (!u || m) {
2222
- V("auto");
2272
+ T("auto");
2223
2273
  return;
2224
2274
  }
2225
- const k = z.current;
2226
- if (!k)
2275
+ const h = x.current;
2276
+ if (!h)
2227
2277
  return;
2228
- V("grab"), S("mandatory");
2229
- const a = (H) => {
2230
- H.button === 0 && (H.preventDefault(), H.stopPropagation(), C(), N.current = !0, j.current = H.pageX - k.offsetLeft, h.current = k.scrollLeft, V("grabbing"));
2231
- }, y = (H) => {
2232
- if (!N.current)
2278
+ T("grab"), R("mandatory");
2279
+ const V = (k) => {
2280
+ k.button === 0 && (k.preventDefault(), k.stopPropagation(), v(), C.current = !0, z.current = k.pageX - h.offsetLeft, f.current = h.scrollLeft, T("grabbing"));
2281
+ }, d = (k) => {
2282
+ if (!C.current)
2233
2283
  return;
2234
- if (j.current === null)
2284
+ if (z.current === null)
2235
2285
  throw new Error("[onMouseMove] startX is null");
2236
- S("none");
2237
- const D = H.pageX - k.offsetLeft - j.current;
2286
+ R("none");
2287
+ const A = k.pageX - h.offsetLeft - z.current;
2238
2288
  requestAnimationFrame(() => {
2239
- if (h.current === null)
2289
+ if (f.current === null)
2240
2290
  throw new Error("[onMouseMove] scrollLeft is null");
2241
- k.scrollLeft = h.current - D;
2291
+ h.scrollLeft = f.current - A;
2242
2292
  });
2243
- }, L = () => {
2244
- if (!N.current)
2293
+ }, b = () => {
2294
+ if (!C.current)
2245
2295
  return;
2246
- N.current = !1, V("grab");
2247
- const H = T();
2248
- v(H, "smooth");
2296
+ C.current = !1, T("grab");
2297
+ const k = j();
2298
+ S(k, "smooth");
2249
2299
  };
2250
- return k.addEventListener("mousedown", a), document.addEventListener("mousemove", y), document.addEventListener("mouseleave", L), document.addEventListener("mouseup", L), document.addEventListener("contextmenu", L), () => {
2251
- k.removeEventListener("mousedown", a), document.removeEventListener("mousemove", y), document.removeEventListener("mouseleave", L), document.removeEventListener("mouseup", L), document.removeEventListener("contextmenu", L);
2300
+ return h.addEventListener("mousedown", V), document.addEventListener("mousemove", d), document.addEventListener("mouseleave", b), document.addEventListener("mouseup", b), document.addEventListener("contextmenu", b), () => {
2301
+ h.removeEventListener("mousedown", V), document.removeEventListener("mousemove", d), document.removeEventListener("mouseleave", b), document.removeEventListener("mouseup", b), document.removeEventListener("contextmenu", b);
2252
2302
  };
2253
2303
  }, [
2254
- C,
2255
- T,
2256
- m,
2257
2304
  v,
2258
- V,
2305
+ j,
2306
+ m,
2259
2307
  S,
2308
+ T,
2309
+ R,
2260
2310
  u
2261
- ]), P(() => {
2262
- if (p || R)
2311
+ ]), F(() => {
2312
+ if (w || I)
2263
2313
  return;
2264
- const k = z.current;
2265
- if (!k)
2314
+ const h = x.current;
2315
+ if (!h)
2266
2316
  return;
2267
- const a = () => {
2268
- const y = T();
2269
- Number.isNaN(y) || (l(y), y === s && b(null));
2317
+ const V = () => {
2318
+ const d = j();
2319
+ Number.isNaN(d) || (i(d), d === s && y(null));
2270
2320
  };
2271
- return k.addEventListener("scroll", a), () => {
2272
- k.removeEventListener("scroll", a);
2321
+ return h.addEventListener("scroll", V), () => {
2322
+ h.removeEventListener("scroll", V);
2273
2323
  };
2274
2324
  }, [
2275
- T,
2276
- p,
2325
+ j,
2326
+ w,
2277
2327
  m,
2278
- R,
2328
+ I,
2279
2329
  s,
2280
2330
  o.length,
2281
- l,
2282
- b
2283
- ]), P(() => {
2331
+ i,
2332
+ y
2333
+ ]), F(() => {
2284
2334
  if (s === null)
2285
2335
  return;
2286
- const k = () => f();
2287
- switch (d) {
2336
+ const h = () => g();
2337
+ switch (c) {
2288
2338
  case "first_to_last":
2289
- v(o.length, "instant"), v(o.length - 1, "smooth", k);
2339
+ S(o.length, "instant"), S(o.length - 1, "smooth", h);
2290
2340
  break;
2291
2341
  case "last_to_first":
2292
- v(0, "instant"), v(1, "smooth", k);
2342
+ S(0, "instant"), S(1, "smooth", h);
2293
2343
  break;
2294
2344
  case "instant":
2295
- v(s, "instant", k);
2345
+ S(s, "instant", h);
2296
2346
  break;
2297
2347
  default:
2298
- v(s, "smooth");
2348
+ S(s, "smooth");
2299
2349
  break;
2300
2350
  }
2301
2351
  }, [
2302
- d,
2303
- f,
2352
+ c,
2353
+ g,
2304
2354
  s,
2305
2355
  o.length,
2306
- v
2356
+ S
2307
2357
  ]);
2308
- const Z = () => /* @__PURE__ */ t.jsx("div", { className: "h-full", style: i });
2358
+ const H = () => /* @__PURE__ */ t.jsx("div", { className: "h-full", style: a });
2309
2359
  return /* @__PURE__ */ t.jsxs(
2310
2360
  "div",
2311
2361
  {
2312
- className: O("relative overflow-hidden rounded-carrousel", e),
2313
- style: i,
2362
+ className: O(
2363
+ "relative overflow-hidden rounded-carrousel transition-radius",
2364
+ e
2365
+ ),
2366
+ style: a,
2314
2367
  children: [
2315
2368
  /* @__PURE__ */ t.jsxs(
2316
2369
  "div",
2317
2370
  {
2318
- ref: z,
2371
+ ref: x,
2319
2372
  className: `flex size-full ${u ? "overflow-x-auto no-scrollbar *:snap-start *:snap-always" : "justify-center"}`,
2320
2373
  children: [
2321
- d === "last_to_first" && /* @__PURE__ */ t.jsx(Z, {}),
2322
- o.map((k, a) => {
2323
- const y = k.type === "360" ? k.images[0] : k.src, L = a === c, H = a === 0, D = c === o.length - 1, Y = a === o.length - 1, W = c === 0, G = Math.abs(a - c) > 1 && // Not next to the current one
2324
- !(r && H && D) && // Not the last one when the first one is shown (only for infinite carrousel)
2325
- !(r && Y && W), X = (() => {
2326
- if (d === "first_to_last" && H)
2374
+ c === "last_to_first" && /* @__PURE__ */ t.jsx(H, {}),
2375
+ o.map((h, V) => {
2376
+ const d = h.type === "360" ? h.images[0] : h.src, b = V === l, k = V === 0, A = l === o.length - 1, D = V === o.length - 1, Y = l === 0, $ = Math.abs(V - l) > 1 && // Not next to the current one
2377
+ !(r && k && A) && // Not the last one when the first one is shown (only for infinite carrousel)
2378
+ !(r && D && Y), X = (() => {
2379
+ if (c === "first_to_last" && k)
2327
2380
  return {
2328
2381
  transform: `translateX(${100 * o.length}%)`
2329
2382
  };
2330
- if (d === "last_to_first" && Y)
2383
+ if (c === "last_to_first" && D)
2331
2384
  return {
2332
2385
  transform: `translateX(-${100 * o.length}%)`
2333
2386
  };
@@ -2335,114 +2388,110 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2335
2388
  return /* @__PURE__ */ t.jsx(
2336
2389
  "div",
2337
2390
  {
2338
- className: "relative h-full bg-foreground/50",
2339
- style: { ...i, ...X },
2391
+ className: O(
2392
+ "h-full bg-foreground/50",
2393
+ l === V && "z-1"
2394
+ // Give high-ground to the shown item (to avoid 1px vertical line)
2395
+ ),
2396
+ style: { ...a, ...X },
2340
2397
  children: /* @__PURE__ */ t.jsx(
2341
2398
  _r,
2342
2399
  {
2343
- index: a,
2344
- item: k,
2345
- isShown: L,
2346
- lazy: G
2400
+ index: V,
2401
+ item: h,
2402
+ isShown: b,
2403
+ lazy: $
2347
2404
  }
2348
2405
  )
2349
2406
  },
2350
- `${a}_${y}`
2407
+ `${V}_${d}`
2351
2408
  );
2352
2409
  }),
2353
- d === "first_to_last" && /* @__PURE__ */ t.jsx(Z, {})
2410
+ c === "first_to_last" && /* @__PURE__ */ t.jsx(H, {})
2354
2411
  ]
2355
2412
  }
2356
2413
  ),
2357
- u && !x && /* @__PURE__ */ t.jsx("div", { className: `absolute ${ue("top-right")}`, children: /* @__PURE__ */ t.jsx(
2358
- hr,
2359
- {
2360
- currentIndex: c,
2361
- maxIndex: o.length - 1
2362
- }
2363
- ) }),
2364
- /* @__PURE__ */ t.jsx(Zr, {})
2414
+ /* @__PURE__ */ t.jsx(Dr, {})
2365
2415
  ]
2366
2416
  }
2367
2417
  );
2368
- }, $r = () => {
2369
- const { permanentGallery: e } = J(), { aspectRatioStyle: r } = re(), {
2418
+ }, Zr = () => {
2419
+ const { permanentGallery: e } = J(), { aspectRatioStyle: r } = ne(), {
2370
2420
  prevItem: n,
2371
2421
  nextItem: o,
2372
- isShowingDetails: i,
2422
+ isShowingDetails: a,
2373
2423
  resetShownDetails: u,
2374
- extendMode: c,
2375
- disableExtendMode: l,
2424
+ extendMode: l,
2425
+ disableExtendMode: i,
2376
2426
  isZooming: s,
2377
- resetZoom: b,
2378
- fakeFullScreen: d
2379
- } = q(), m = $(null), f = $(null), E = $(null);
2380
- return P(() => {
2381
- if (!c)
2427
+ resetZoom: y,
2428
+ fakeFullScreen: c
2429
+ } = q(), m = Z(null), g = Z(null), _ = Z(null);
2430
+ return F(() => {
2431
+ if (!l)
2382
2432
  return;
2383
- const p = m.current, x = f.current, z = E.current;
2384
- if (!p || !x || !z)
2433
+ const w = m.current, x = g.current, E = _.current;
2434
+ if (!w || !x || !E)
2385
2435
  return;
2386
- let w = !1;
2387
- const N = (g) => [p, x, z].includes(g.target), j = (g) => {
2388
- w = N(g);
2389
- }, h = (g) => {
2390
- w && (N(g) && l(), w = !1);
2436
+ let C = !1;
2437
+ const z = (v) => [w, x, E].includes(v.target), f = (v) => {
2438
+ C = z(v);
2439
+ }, p = (v) => {
2440
+ C && (z(v) && i(), C = !1);
2391
2441
  };
2392
- return p.addEventListener("mousedown", j), p.addEventListener("mouseup", h), () => {
2393
- p.removeEventListener("mousedown", j), p.removeEventListener("mouseup", h);
2442
+ return w.addEventListener("mousedown", f), w.addEventListener("mouseup", p), () => {
2443
+ w.removeEventListener("mousedown", f), w.removeEventListener("mouseup", p);
2394
2444
  };
2395
- }, [l, c]), P(() => {
2396
- const p = (x) => {
2397
- x.key === "Escape" && (s ? b() : i ? u() : l());
2445
+ }, [i, l]), F(() => {
2446
+ const w = (x) => {
2447
+ x.key === "Escape" && (s ? y() : a ? u() : i());
2398
2448
  };
2399
- return addEventListener("keydown", p), () => {
2400
- removeEventListener("keydown", p);
2449
+ return addEventListener("keydown", w), () => {
2450
+ removeEventListener("keydown", w);
2401
2451
  };
2402
2452
  }, [
2403
- l,
2404
2453
  i,
2454
+ a,
2405
2455
  s,
2406
2456
  o,
2407
2457
  n,
2408
2458
  u,
2409
- b
2459
+ y
2410
2460
  ]), /* @__PURE__ */ t.jsxs(
2411
2461
  "div",
2412
2462
  {
2413
2463
  ref: m,
2414
2464
  className: O(
2415
- "relative",
2416
- c && "flex size-full items-center justify-center bg-foreground/75",
2417
- d && "fixed inset-0 z-overlay"
2465
+ c ? "fixed inset-0 z-overlay" : "relative",
2466
+ l && "flex size-full items-center justify-center bg-foreground/75"
2418
2467
  ),
2419
2468
  children: [
2420
2469
  /* @__PURE__ */ t.jsxs(
2421
2470
  "div",
2422
2471
  {
2423
- ref: f,
2424
- className: c ? "flex size-full flex-col justify-center gap-y-2 small:gap-y-4" : "space-y-2",
2472
+ ref: g,
2473
+ className: l ? "flex size-full flex-col justify-center gap-y-2 small:gap-y-4" : "space-y-2",
2425
2474
  children: [
2426
2475
  /* @__PURE__ */ t.jsx(
2427
2476
  "div",
2428
2477
  {
2429
- ref: E,
2478
+ ref: _,
2430
2479
  className: O(
2431
- c && "mx-auto flex min-h-0 w-full max-w-[1600px] justify-center"
2480
+ l && "mx-auto flex min-h-0 w-full max-w-[1600px] justify-center"
2432
2481
  ),
2433
2482
  style: r,
2434
- children: /* @__PURE__ */ t.jsx(Dr, { className: O(c && "h-full min-w-0") })
2483
+ children: /* @__PURE__ */ t.jsx(Wr, { className: O(l && "h-full min-w-0") })
2435
2484
  }
2436
2485
  ),
2437
- e && /* @__PURE__ */ t.jsx(zt, { className: O(c && "my-2 shrink-0 small:my-4") })
2486
+ e && /* @__PURE__ */ t.jsx(Nt, { className: O(l && "my-2 shrink-0 small:my-4") })
2438
2487
  ]
2439
2488
  }
2440
2489
  ),
2441
- c && /* @__PURE__ */ t.jsx(
2442
- kt,
2490
+ l && /* @__PURE__ */ t.jsx(
2491
+ bt,
2443
2492
  {
2444
2493
  className: "absolute right-2 top-2 small:right-4 small:top-4",
2445
- onClick: l
2494
+ onClick: i
2446
2495
  }
2447
2496
  )
2448
2497
  ]
@@ -2454,76 +2503,76 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2454
2503
  const { emitEvent: r } = J(), {
2455
2504
  data: n,
2456
2505
  status: o,
2457
- isSuccess: i,
2506
+ isSuccess: a,
2458
2507
  error: u
2459
2508
  } = Gt(e);
2460
- return P(() => {
2461
- u ? r(st, u) : i ? r(ot) : o === "fetching" && r(nt);
2462
- }, [r, u, i, o]), u ? /* @__PURE__ */ t.jsx(Nt, { title: "Failed to fetch composition", error: u }) : i ? /* @__PURE__ */ t.jsx(Kt, { composition: n, children: /* @__PURE__ */ t.jsx(Jt, { children: /* @__PURE__ */ t.jsx($r, {}) }) }) : /* @__PURE__ */ t.jsxs("div", { className: "flex aspect-video size-full flex-col items-center justify-center gap-y-4", children: [
2509
+ return F(() => {
2510
+ u ? r(nt, u) : o === "fetching" ? r(tt, e) : a && r(rt, n);
2511
+ }, [n, e, r, u, a, o]), u ? /* @__PURE__ */ t.jsx(jt, { title: "Failed to fetch composition", error: u }) : a ? /* @__PURE__ */ t.jsx(Kt, { composition: n, children: /* @__PURE__ */ t.jsx(Jt, { children: /* @__PURE__ */ t.jsx(Zr, {}) }) }) : /* @__PURE__ */ t.jsxs("div", { className: "flex aspect-video size-full flex-col items-center justify-center gap-y-4", children: [
2463
2512
  /* @__PURE__ */ t.jsx("div", { className: "text-xl", children: "Loading WebPlayer..." }),
2464
2513
  /* @__PURE__ */ t.jsx(Ct, { color: "primary" })
2465
2514
  ] });
2466
- }, Wr = ({
2515
+ }, $r = ({
2467
2516
  compositionUrl: e,
2468
- flatten: r = At,
2469
- infiniteCarrousel: n = Zt,
2470
- permanentGallery: o = Dt,
2471
- imageLoadStrategy: i = $t,
2517
+ hideCategories: r = At,
2518
+ infiniteCarrousel: n = Dt,
2519
+ permanentGallery: o = Wt,
2520
+ imageLoadStrategy: a = Zt,
2472
2521
  preventFullScreen: u = Yt,
2473
- eventPrefix: c = mt,
2474
- reverse360: l = Wt,
2522
+ eventPrefix: l = dt,
2523
+ reverse360: i = $t,
2475
2524
  children: s,
2476
2525
  // NOTE: use to customize the player, not to display the content
2477
- ...b
2526
+ ...y
2478
2527
  }) => {
2479
- const d = $(null), [m, f] = A(), [E, p] = A(0.5), [x, z] = A(!1), w = M(
2480
- (h, g) => {
2481
- const C = c + h, T = new CustomEvent(C, { detail: g });
2482
- document.dispatchEvent(T);
2528
+ const c = Z(null), [m, g] = W(0.5), [_, w] = W(!1), x = M(
2529
+ (z, f) => {
2530
+ const p = l + z, v = new CustomEvent(p, { detail: f });
2531
+ document.dispatchEvent(v);
2483
2532
  },
2484
- [c]
2533
+ [l]
2485
2534
  );
2486
- P(() => {
2487
- if (x) {
2488
- p(1);
2535
+ F(() => {
2536
+ if (_) {
2537
+ g(1);
2489
2538
  return;
2490
2539
  }
2491
- if (!d.current)
2540
+ if (!c.current)
2492
2541
  return;
2493
- const h = d.current, g = () => {
2494
- const C = window.innerWidth, T = getComputedStyle(h), V = h.getBoundingClientRect().width + parseFloat(T.marginLeft) + parseFloat(T.marginRight);
2495
- f(V), p(V / C);
2542
+ const z = c.current, f = () => {
2543
+ const p = window.innerWidth, v = z.clientWidth;
2544
+ g(v / p);
2496
2545
  };
2497
- return g(), addEventListener("resize", g), () => {
2498
- removeEventListener("resize", g);
2546
+ return f(), addEventListener("resize", f), () => {
2547
+ removeEventListener("resize", f);
2499
2548
  };
2500
- }, [x]), P(() => {
2549
+ }, [_]), F(() => {
2501
2550
  if (u)
2502
2551
  return;
2503
- const h = d.current;
2504
- if (!h)
2552
+ const z = c.current;
2553
+ if (!z)
2505
2554
  throw new Error("Wrapper not found");
2506
- const g = () => {
2507
- const { fullscreenElement: C } = document;
2508
- z(
2509
- C === h || // NOTE: For custom element, the web browser is making the whole custom element full-screen and not only the wrapper
2510
- (C == null ? void 0 : C.localName) === Ze
2555
+ const f = () => {
2556
+ const { fullscreenElement: p } = document;
2557
+ w(
2558
+ p === z || // NOTE: For custom element, the web browser is making the whole custom element full-screen and not only the wrapper
2559
+ p?.localName === Fe
2511
2560
  );
2512
2561
  };
2513
- return document.addEventListener("fullscreenchange", g), () => {
2514
- document.removeEventListener("fullscreenchange", g);
2562
+ return document.addEventListener("fullscreenchange", f), () => {
2563
+ document.removeEventListener("fullscreenchange", f);
2515
2564
  };
2516
2565
  }, [u]);
2517
- const N = M(async () => {
2518
- const h = d.current;
2519
- if (!h)
2566
+ const E = M(async () => {
2567
+ const z = c.current;
2568
+ if (!z)
2520
2569
  throw new Error("Wrapper not found");
2521
2570
  try {
2522
- return await h.requestFullscreen(), !0;
2571
+ return await z.requestFullscreen(), !0;
2523
2572
  } catch {
2524
2573
  return !1;
2525
2574
  }
2526
- }, []), j = M(async () => {
2575
+ }, []), C = M(async () => {
2527
2576
  try {
2528
2577
  return await document.exitFullscreen(), !0;
2529
2578
  } catch {
@@ -2533,29 +2582,25 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2533
2582
  return /* @__PURE__ */ t.jsx(
2534
2583
  qt,
2535
2584
  {
2536
- ...b,
2537
- reverse360: l,
2538
- imageLoadStrategy: i,
2539
- flatten: r,
2585
+ ...y,
2586
+ reverse360: i,
2587
+ imageLoadStrategy: a,
2588
+ hideCategories: r,
2540
2589
  infiniteCarrousel: n,
2541
2590
  preventFullScreen: u,
2542
2591
  permanentGallery: o,
2543
- emitEvent: w,
2544
- playerInViewportWidthRatio: E,
2545
- isFullScreen: x,
2546
- requestFullscreen: N,
2547
- exitFullscreen: j,
2592
+ emitEvent: x,
2593
+ playerInViewportWidthRatio: m,
2594
+ isFullScreen: _,
2595
+ requestFullscreen: E,
2596
+ exitFullscreen: C,
2548
2597
  children: /* @__PURE__ */ t.jsxs(ar, { children: [
2549
2598
  /* @__PURE__ */ t.jsx(
2550
2599
  "div",
2551
2600
  {
2552
2601
  id: "cc-webplayer-wrapper",
2553
- ref: d,
2602
+ ref: c,
2554
2603
  className: "select-none text-foreground",
2555
- style: {
2556
- marginInline: "auto",
2557
- maxWidth: m && Math.floor(m)
2558
- },
2559
2604
  children: /* @__PURE__ */ t.jsx(Yr, { compositionUrl: e })
2560
2605
  }
2561
2606
  ),
@@ -2564,18 +2609,18 @@ const Qe = ({ className: e }) => /* @__PURE__ */ t.jsx(U, { className: e, custom
2564
2609
  }
2565
2610
  );
2566
2611
  }, Ur = ({ name: e, color: r, children: n }) => {
2567
- const { setIconConfig: o, resetIconConfig: i } = $e();
2568
- return P(() => {
2612
+ const { setIconConfig: o, resetIconConfig: a } = De();
2613
+ return F(() => {
2569
2614
  if (!(!n && !r))
2570
2615
  return o(e, {
2571
2616
  Icon: n,
2572
2617
  color: r
2573
2618
  }), () => {
2574
- i(e);
2619
+ a(e);
2575
2620
  };
2576
- }, [n, r, e, i, o]), null;
2577
- }, Xr = (e) => jt() ? /* @__PURE__ */ t.jsx(Ur, { ...e }) : /* @__PURE__ */ t.jsx("slot", {}), Br = '*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}#cc-webplayer-wrapper{--background: var(--cc-webplayer-background, 0 0% 100%);--foreground: var(--cc-webplayer-foreground, 240 10% 3.9%);--primary: var(--cc-webplayer-primary, 216 100% 52%);--primary-foreground: var( --cc-webplayer-primary-foreground, var(--background) );--neutral: var(--cc-webplayer-neutral, 0 0% 39%);--neutral-foreground: var( --cc-webplayer-neutral-foreground, var(--foreground) );--radius-ui: var(--cc-webplayer-radius-ui, 1rem);--radius-carrousel: var(--cc-webplayer-radius-carrousel, 0);--radius-gallery: var(--cc-webplayer-radius-gallery, 0)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\\!container{width:100%!important}.container{width:100%}@media (min-width: 1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\\!pointer-events-none{pointer-events:none!important}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.\\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-x-1{left:.25rem;right:.25rem}.inset-y-1{top:.25rem;bottom:.25rem}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-2{top:.5rem}.-z-10{z-index:-10}.-z-20{z-index:-20}.z-hotspot{z-index:10}.z-overlay{z-index:30}.z-zoomed-image{z-index:20}.col-start-3{grid-column-start:3}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-mt-px{margin-top:-1px}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-1{width:.25rem;height:.25rem}.size-12{width:3rem;height:3rem}.size-20{width:5rem;height:5rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3\\/4{height:75%}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.w-12{width:3rem}.w-3\\/5{width:60%}.w-8{width:2rem}.w-\\[calc\\(100\\%\\+1024px\\)\\]{width:calc(100% + 1024px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-40{max-width:10rem}.max-w-\\[1600px\\]{max-width:1600px}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:top left}.-translate-x-1\\.5{--tw-translate-x: -.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\.5{--tw-translate-x: .375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes hotspot-ping{0%{transform:scale(0)}25%{opacity:1}75%,to{transform:scale(1.5);opacity:0}}.animate-hotspot-ping{animation:hotspot-ping 3s cubic-bezier(0,0,.2,1) infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rotation{animation:rotation 1s linear infinite}.cursor-auto{cursor:auto}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[auto\\,1fr\\,auto\\]{grid-template-columns:auto 1fr auto}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.text-pretty{text-wrap:pretty}.rounded-carrousel{border-radius:var(--radius-carrousel)}.rounded-full{border-radius:9999px}.rounded-gallery{border-radius:var(--radius-gallery)}.rounded-ui{border-radius:var(--radius-ui)}.rounded-ui-md{border-radius:calc(var(--radius-ui) + .125rem)}.rounded-ui-sm{border-radius:calc(var(--radius-ui) - .125rem)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-background{border-color:hsl(var(--background))}.border-primary{border-color:hsl(var(--primary))}.border-b-transparent{border-bottom-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-background\\/25{background-color:hsl(var(--background) / .25)}.bg-background\\/50{background-color:hsl(var(--background) / .5)}.bg-background\\/60{background-color:hsl(var(--background) / .6)}.bg-foreground\\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\\/30{background-color:hsl(var(--foreground) / .3)}.bg-foreground\\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\\/40{background-color:hsl(var(--foreground) / .4)}.bg-foreground\\/50{background-color:hsl(var(--foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--foreground) / .6)}.bg-foreground\\/65{background-color:hsl(var(--foreground) / .65)}.bg-foreground\\/75{background-color:hsl(var(--foreground) / .75)}.bg-neutral\\/50{background-color:hsl(var(--neutral) / .5)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\\/50{background-color:hsl(var(--primary) / .5)}.bg-transparent{background-color:transparent}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pl-6{padding-left:1.5rem}.pr-12{padding-right:3rem}.pr-4{padding-right:1rem}.pt-8{padding-top:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.text-background{color:hsl(var(--background))}.text-background\\/75{color:hsl(var(--background) / .75)}.text-foreground{color:hsl(var(--foreground))}.text-neutral-foreground{color:hsl(var(--neutral-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-details{transition-duration:.35s}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.\\[mask-image\\:linear-gradient\\(to_left\\,transparent_0px\\,black_4px\\,black_calc\\(100\\%-4px\\)\\,transparent_100\\%\\)\\]{-webkit-mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%);mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%)}.\\*\\:pointer-events-auto>*{pointer-events:auto}.\\*\\:snap-start>*{scroll-snap-align:start}.\\*\\:snap-always>*{scroll-snap-stop:always}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-0:after{content:var(--tw-content);top:0;right:0;bottom:0;left:0}.after\\:rounded-gallery:after{content:var(--tw-content);border-radius:var(--radius-gallery)}.after\\:border-2:after{content:var(--tw-content);border-width:2px}.after\\:border-primary:after{content:var(--tw-content);border-color:hsl(var(--primary))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:z-hotspot-hover:hover{z-index:11}.hover\\:bg-foreground\\/25:hover{background-color:hsl(var(--foreground) / .25)}.hover\\:bg-primary\\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\\:bg-primary\\/30:hover{background-color:hsl(var(--primary) / .3)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:after\\:opacity-70:hover:after{content:var(--tw-content);opacity:.7}.disabled\\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\\:pointer-events-auto{pointer-events:auto}.group\\/volume:hover .group-hover\\/volume\\:opacity-100{opacity:1}.group\\/volume:hover .group-hover\\/volume\\:opacity-50{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}@media ((orientation: portrait) and (max-width: 767px)) or ((orientation: landscape) and (max-width: 1023px)){.max-small\\:hidden{display:none}}@media ((orientation: portrait) and (min-width: 768px)) or ((orientation: landscape) and (min-width: 1024px)){.small\\:inset-x-2{left:.5rem;right:.5rem}.small\\:inset-y-2{top:.5rem;bottom:.5rem}.small\\:bottom-2{bottom:.5rem}.small\\:left-2{left:.5rem}.small\\:right-2{right:.5rem}.small\\:right-4{right:1rem}.small\\:top-2{top:.5rem}.small\\:top-4{top:1rem}.small\\:my-4{margin-top:1rem;margin-bottom:1rem}.small\\:hidden{display:none}.small\\:h-12{height:3rem}.small\\:max-w-48{max-width:12rem}.small\\:gap-2{gap:.5rem}.small\\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.small\\:gap-y-2{row-gap:.5rem}.small\\:gap-y-4{row-gap:1rem}.small\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.small\\:p-2{padding:.5rem}.small\\:px-2{padding-left:.5rem;padding-right:.5rem}.small\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.small\\:pl-8{padding-left:2rem}.small\\:pr-6{padding-right:1.5rem}.small\\:text-base{font-size:1rem;line-height:1.5rem}.small\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 1280px){.large\\:h-20{height:5rem}.large\\:h-3\\/5{height:60%}.large\\:max-w-56{max-width:14rem}.large\\:gap-4{gap:1rem}.large\\:p-2{padding:.5rem}.large\\:p-3{padding:.75rem}.large\\:text-base{font-size:1rem;line-height:1.5rem}.large\\:text-lg{font-size:1.125rem;line-height:1.75rem}}';
2578
- var Mt = { exports: {} }, we = {};
2621
+ }, [n, r, e, a, o]), null;
2622
+ }, Xr = (e) => yt() ? /* @__PURE__ */ t.jsx(Ur, { ...e }) : /* @__PURE__ */ t.jsx("slot", {}), Br = '*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}#cc-webplayer-wrapper{--background: var(--cc-webplayer-background, 0 0% 100%);--foreground: var(--cc-webplayer-foreground, 240 10% 3.9%);--primary: var(--cc-webplayer-primary, 216 100% 52%);--primary-foreground: var( --cc-webplayer-primary-foreground, var(--background) );--primary-light: var(--cc-webplayer-primary-light, var(--primary));--neutral: var(--cc-webplayer-neutral, 0 0% 39%);--neutral-foreground: var( --cc-webplayer-neutral-foreground, var(--foreground) );--radius-ui: var(--cc-webplayer-radius-ui, 1rem);--radius-carrousel: var(--cc-webplayer-radius-carrousel, 0);--radius-gallery: var(--cc-webplayer-radius-gallery, 0)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\\!container{width:100%!important}.container{width:100%}@media (min-width: 1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.\\!pointer-events-none{pointer-events:none!important}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.invisible{visibility:hidden}.fixed{position:fixed}.\\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-x-1{left:.25rem;right:.25rem}.inset-y-1{top:.25rem;bottom:.25rem}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.right-1{right:.25rem}.right-2{right:.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\\/2{top:50%}.top-2{top:.5rem}.-z-10{z-index:-10}.-z-20{z-index:-20}.z-1{z-index:1}.z-hotspot{z-index:10}.z-overlay{z-index:30}.z-zoomed-image{z-index:20}.col-start-3{grid-column-start:3}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-px{margin-left:-1px}.-mt-px{margin-top:-1px}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-1{width:.25rem;height:.25rem}.size-12{width:3rem;height:3rem}.size-20{width:5rem;height:5rem}.size-4{width:1rem;height:1rem}.size-5{width:1.25rem;height:1.25rem}.size-8{width:2rem;height:2rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-10{height:2.5rem}.h-3\\/4{height:75%}.h-5{height:1.25rem}.h-8{height:2rem}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.w-12{width:3rem}.w-3\\/5{width:60%}.w-8{width:2rem}.w-\\[calc\\(100\\%\\+1024px\\)\\]{width:calc(100% + 1024px)}.w-\\[calc\\(100\\%\\+2px\\)\\]{width:calc(100% + 2px)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.max-w-40{max-width:10rem}.max-w-\\[1600px\\]{max-width:1600px}.shrink-0{flex-shrink:0}.origin-top-left{transform-origin:top left}.-translate-x-1\\.5{--tw-translate-x: -.375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1\\.5{--tw-translate-x: .375rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes hotspot-ping{0%{transform:scale(0)}25%{opacity:1}75%,to{transform:scale(1.5);opacity:0}}.animate-hotspot-ping{animation:hotspot-ping 3s cubic-bezier(0,0,.2,1) infinite}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-rotation{animation:rotation 1s linear infinite}.cursor-auto{cursor:auto}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-\\[auto\\,1fr\\,auto\\]{grid-template-columns:auto 1fr auto}.flex-col{flex-direction:column}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-x-1{-moz-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.space-x-0\\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.125rem * var(--tw-space-x-reverse));margin-left:calc(.125rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-scroll{overflow-x:scroll}.text-pretty{text-wrap:pretty}.rounded-carrousel{border-radius:var(--radius-carrousel)}.rounded-full{border-radius:9999px}.rounded-gallery{border-radius:var(--radius-gallery)}.rounded-ui{border-radius:var(--radius-ui)}.rounded-ui-md{border-radius:calc(var(--radius-ui) + .125rem)}.rounded-ui-sm{border-radius:calc(var(--radius-ui) - .125rem)}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-background{border-color:hsl(var(--background))}.border-primary{border-color:hsl(var(--primary))}.border-b-transparent{border-bottom-color:transparent}.bg-background{background-color:hsl(var(--background))}.bg-background\\/25{background-color:hsl(var(--background) / .25)}.bg-background\\/50{background-color:hsl(var(--background) / .5)}.bg-background\\/60{background-color:hsl(var(--background) / .6)}.bg-foreground\\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\\/30{background-color:hsl(var(--foreground) / .3)}.bg-foreground\\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\\/40{background-color:hsl(var(--foreground) / .4)}.bg-foreground\\/50{background-color:hsl(var(--foreground) / .5)}.bg-foreground\\/60{background-color:hsl(var(--foreground) / .6)}.bg-foreground\\/65{background-color:hsl(var(--foreground) / .65)}.bg-foreground\\/75{background-color:hsl(var(--foreground) / .75)}.bg-neutral\\/50{background-color:hsl(var(--neutral) / .5)}.bg-primary{background-color:hsl(var(--primary))}.bg-primary-foreground{background-color:hsl(var(--primary-foreground))}.bg-primary\\/50{background-color:hsl(var(--primary) / .5)}.bg-transparent{background-color:transparent}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-foreground{--tw-gradient-from: hsl(var(--foreground)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-1\\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pl-6{padding-left:1.5rem}.pr-12{padding-right:3rem}.pr-4{padding-right:1rem}.pt-8{padding-top:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.text-background{color:hsl(var(--background))}.text-background\\/75{color:hsl(var(--background) / .75)}.text-foreground{color:hsl(var(--foreground))}.text-foreground\\/65{color:hsl(var(--foreground) / .65)}.text-neutral-foreground{color:hsl(var(--neutral-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary-light{color:hsl(var(--primary-light))}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[width\\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-radius{transition-property:border-radius;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-details{transition-duration:.35s}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.\\[mask-image\\:linear-gradient\\(to_left\\,transparent_0px\\,black_4px\\,black_calc\\(100\\%-4px\\)\\,transparent_100\\%\\)\\]{-webkit-mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%);mask-image:linear-gradient(to left,transparent 0px,black 4px,black calc(100% - 4px),transparent 100%)}.\\*\\:pointer-events-auto>*{pointer-events:auto}.\\*\\:snap-start>*{scroll-snap-align:start}.\\*\\:snap-always>*{scroll-snap-stop:always}.after\\:absolute:after{content:var(--tw-content);position:absolute}.after\\:inset-0:after{content:var(--tw-content);inset:0}.after\\:rounded-gallery:after{content:var(--tw-content);border-radius:var(--radius-gallery)}.after\\:border-2:after{content:var(--tw-content);border-width:2px}.after\\:border-primary:after{content:var(--tw-content);border-color:hsl(var(--primary))}.after\\:opacity-0:after{content:var(--tw-content);opacity:0}.after\\:opacity-100:after{content:var(--tw-content);opacity:1}.after\\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\\:z-hotspot-hover:hover{z-index:11}.hover\\:bg-foreground\\/25:hover{background-color:hsl(var(--foreground) / .25)}.hover\\:bg-primary\\/25:hover{background-color:hsl(var(--primary) / .25)}.hover\\:bg-primary\\/30:hover{background-color:hsl(var(--primary) / .3)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:after\\:opacity-70:hover:after{content:var(--tw-content);opacity:.7}.disabled\\:opacity-60:disabled{opacity:.6}.group:hover .group-hover\\:pointer-events-auto{pointer-events:auto}.group\\/volume:hover .group-hover\\/volume\\:opacity-100{opacity:1}.group\\/volume:hover .group-hover\\/volume\\:opacity-50{opacity:.5}.group:hover .group-hover\\:opacity-100{opacity:1}@media ((orientation: portrait) and (max-width: 767px)) or ((orientation: landscape) and (max-width: 1023px)){.max-small\\:hidden{display:none}}@media ((orientation: portrait) and (min-width: 768px)) or ((orientation: landscape) and (min-width: 1024px)){.small\\:inset-x-2{left:.5rem;right:.5rem}.small\\:inset-y-2{top:.5rem;bottom:.5rem}.small\\:bottom-2{bottom:.5rem}.small\\:left-2{left:.5rem}.small\\:right-2{right:.5rem}.small\\:right-4{right:1rem}.small\\:top-2{top:.5rem}.small\\:top-4{top:1rem}.small\\:my-4{margin-top:1rem;margin-bottom:1rem}.small\\:hidden{display:none}.small\\:h-12{height:3rem}.small\\:max-w-48{max-width:12rem}.small\\:gap-2{gap:.5rem}.small\\:gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.small\\:gap-y-2{row-gap:.5rem}.small\\:gap-y-4{row-gap:1rem}.small\\:space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.small\\:p-3{padding:.75rem}.small\\:px-2{padding-left:.5rem;padding-right:.5rem}.small\\:py-1{padding-top:.25rem;padding-bottom:.25rem}.small\\:pl-8{padding-left:2rem}.small\\:pr-6{padding-right:1.5rem}.small\\:text-base{font-size:1rem;line-height:1.5rem}.small\\:text-sm{font-size:.875rem;line-height:1.25rem}.small\\:font-bold{font-weight:700}}@media (min-width: 1280px){.large\\:h-20{height:5rem}.large\\:h-3\\/5{height:60%}.large\\:max-w-56{max-width:14rem}.large\\:gap-4{gap:1rem}.large\\:p-2{padding:.5rem}.large\\:p-4{padding:1rem}.large\\:text-base{font-size:1rem;line-height:1.5rem}.large\\:text-lg{font-size:1.125rem;line-height:1.75rem}}';
2623
+ var zt = { exports: {} }, we = {};
2579
2624
  /**
2580
2625
  * @license React
2581
2626
  * react-jsx-runtime.production.min.js
@@ -2585,22 +2630,22 @@ var Mt = { exports: {} }, we = {};
2585
2630
  * This source code is licensed under the MIT license found in the
2586
2631
  * LICENSE file in the root directory of this source tree.
2587
2632
  */
2588
- var et;
2633
+ var Je;
2589
2634
  function Gr() {
2590
- if (et) return we;
2591
- et = 1;
2592
- var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, i = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
2593
- function c(l, s, b) {
2594
- var d, m = {}, f = null, E = null;
2595
- b !== void 0 && (f = "" + b), s.key !== void 0 && (f = "" + s.key), s.ref !== void 0 && (E = s.ref);
2596
- for (d in s) o.call(s, d) && !u.hasOwnProperty(d) && (m[d] = s[d]);
2597
- if (l && l.defaultProps) for (d in s = l.defaultProps, s) m[d] === void 0 && (m[d] = s[d]);
2598
- return { $$typeof: r, type: l, key: f, ref: E, props: m, _owner: i.current };
2635
+ if (Je) return we;
2636
+ Je = 1;
2637
+ var e = ye, r = Symbol.for("react.element"), n = Symbol.for("react.fragment"), o = Object.prototype.hasOwnProperty, a = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, u = { key: !0, ref: !0, __self: !0, __source: !0 };
2638
+ function l(i, s, y) {
2639
+ var c, m = {}, g = null, _ = null;
2640
+ y !== void 0 && (g = "" + y), s.key !== void 0 && (g = "" + s.key), s.ref !== void 0 && (_ = s.ref);
2641
+ for (c in s) o.call(s, c) && !u.hasOwnProperty(c) && (m[c] = s[c]);
2642
+ if (i && i.defaultProps) for (c in s = i.defaultProps, s) m[c] === void 0 && (m[c] = s[c]);
2643
+ return { $$typeof: r, type: i, key: g, ref: _, props: m, _owner: a.current };
2599
2644
  }
2600
- return we.Fragment = n, we.jsx = c, we.jsxs = c, we;
2645
+ return we.Fragment = n, we.jsx = l, we.jsxs = l, we;
2601
2646
  }
2602
- Mt.exports = Gr();
2603
- var Ne = Mt.exports, Kr = Object.defineProperty, qr = (e, r, n) => r in e ? Kr(e, r, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[r] = n, Ce = (e, r, n) => (qr(e, typeof r != "symbol" ? r + "" : r, n), n);
2647
+ zt.exports = Gr();
2648
+ var je = zt.exports, Kr = Object.defineProperty, qr = (e, r, n) => r in e ? Kr(e, r, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[r] = n, Ce = (e, r, n) => (qr(e, typeof r != "symbol" ? r + "" : r, n), n);
2604
2649
  const Jr = {
2605
2650
  stringify: (e) => e,
2606
2651
  parse: (e) => e
@@ -2624,7 +2669,7 @@ const Jr = {
2624
2669
  }, rn = {
2625
2670
  stringify: (e) => JSON.stringify(e),
2626
2671
  parse: (e) => JSON.parse(e)
2627
- }, Pe = {
2672
+ }, Re = {
2628
2673
  string: Jr,
2629
2674
  number: Qr,
2630
2675
  boolean: en,
@@ -2637,71 +2682,71 @@ function nn(e) {
2637
2682
  (r, n, o) => `${n}-${o.toLowerCase()}`
2638
2683
  );
2639
2684
  }
2640
- const Ee = Symbol.for("r2wc.render"), Le = Symbol.for("r2wc.connected"), oe = Symbol.for("r2wc.context"), ee = Symbol.for("r2wc.props");
2685
+ const ke = Symbol.for("r2wc.render"), Ee = Symbol.for("r2wc.connected"), se = Symbol.for("r2wc.context"), te = Symbol.for("r2wc.props");
2641
2686
  function on(e, r, n) {
2642
- var o, i, u;
2687
+ var o, a, u;
2643
2688
  r.props || (r.props = e.propTypes ? Object.keys(e.propTypes) : []);
2644
- const c = Array.isArray(r.props) ? r.props.slice() : Object.keys(r.props), l = {}, s = {}, b = {};
2645
- for (const m of c) {
2646
- l[m] = Array.isArray(r.props) ? "string" : r.props[m];
2647
- const f = nn(m);
2648
- s[m] = f, b[f] = m;
2689
+ const l = Array.isArray(r.props) ? r.props.slice() : Object.keys(r.props), i = {}, s = {}, y = {};
2690
+ for (const m of l) {
2691
+ i[m] = Array.isArray(r.props) ? "string" : r.props[m];
2692
+ const g = nn(m);
2693
+ s[m] = g, y[g] = m;
2649
2694
  }
2650
- class d extends HTMLElement {
2695
+ class c extends HTMLElement {
2651
2696
  constructor() {
2652
- super(), Ce(this, o, !0), Ce(this, i), Ce(this, u, {}), Ce(this, "container"), r.shadow ? this.container = this.attachShadow({
2697
+ super(), Ce(this, o, !0), Ce(this, a), Ce(this, u, {}), Ce(this, "container"), r.shadow ? this.container = this.attachShadow({
2653
2698
  mode: r.shadow
2654
- }) : this.container = this, this[ee].container = this.container;
2655
- for (const f of c) {
2656
- const E = s[f], p = this.getAttribute(E), x = l[f], z = x ? Pe[x] : null;
2657
- z != null && z.parse && p && (this[ee][f] = z.parse(p, E, this));
2699
+ }) : this.container = this, this[te].container = this.container;
2700
+ for (const g of l) {
2701
+ const _ = s[g], w = this.getAttribute(_), x = i[g], E = x ? Re[x] : null;
2702
+ E != null && E.parse && w && (this[te][g] = E.parse(w, _, this));
2658
2703
  }
2659
2704
  }
2660
2705
  static get observedAttributes() {
2661
- return Object.keys(b);
2706
+ return Object.keys(y);
2662
2707
  }
2663
2708
  connectedCallback() {
2664
- this[Le] = !0, this[Ee]();
2709
+ this[Ee] = !0, this[ke]();
2665
2710
  }
2666
2711
  disconnectedCallback() {
2667
- this[Le] = !1, this[oe] && n.unmount(this[oe]), delete this[oe];
2712
+ this[Ee] = !1, this[se] && n.unmount(this[se]), delete this[se];
2668
2713
  }
2669
- attributeChangedCallback(f, E, p) {
2670
- const x = b[f], z = l[x], w = z ? Pe[z] : null;
2671
- x in l && w != null && w.parse && p && (this[ee][x] = w.parse(p, f, this), this[Ee]());
2714
+ attributeChangedCallback(g, _, w) {
2715
+ const x = y[g], E = i[x], C = E ? Re[E] : null;
2716
+ x in i && C != null && C.parse && w && (this[te][x] = C.parse(w, g, this), this[ke]());
2672
2717
  }
2673
- [(o = Le, i = oe, u = ee, Ee)]() {
2674
- this[Le] && (this[oe] ? n.update(this[oe], this[ee]) : this[oe] = n.mount(
2718
+ [(o = Ee, a = se, u = te, ke)]() {
2719
+ this[Ee] && (this[se] ? n.update(this[se], this[te]) : this[se] = n.mount(
2675
2720
  this.container,
2676
2721
  e,
2677
- this[ee]
2722
+ this[te]
2678
2723
  ));
2679
2724
  }
2680
2725
  }
2681
- for (const m of c) {
2682
- const f = s[m], E = l[m];
2683
- Object.defineProperty(d.prototype, m, {
2726
+ for (const m of l) {
2727
+ const g = s[m], _ = i[m];
2728
+ Object.defineProperty(c.prototype, m, {
2684
2729
  enumerable: !0,
2685
2730
  configurable: !0,
2686
2731
  get() {
2687
- return this[ee][m];
2732
+ return this[te][m];
2688
2733
  },
2689
- set(p) {
2690
- this[ee][m] = p;
2691
- const x = E ? Pe[E] : null;
2734
+ set(w) {
2735
+ this[te][m] = w;
2736
+ const x = _ ? Re[_] : null;
2692
2737
  if (x != null && x.stringify) {
2693
- const z = x.stringify(p, f, this);
2694
- this.getAttribute(f) !== z && this.setAttribute(f, z);
2738
+ const E = x.stringify(w, g, this);
2739
+ this.getAttribute(g) !== E && this.setAttribute(g, E);
2695
2740
  } else
2696
- this[Ee]();
2741
+ this[ke]();
2697
2742
  }
2698
2743
  });
2699
2744
  }
2700
- return d;
2745
+ return c;
2701
2746
  }
2702
2747
  function sn(e, r, n) {
2703
- const o = Ft(e), i = ye.createElement(r, n);
2704
- return o.render(i), {
2748
+ const o = Pt(e), a = ye.createElement(r, n);
2749
+ return o.render(a), {
2705
2750
  root: o,
2706
2751
  ReactComponent: r
2707
2752
  };
@@ -2713,7 +2758,7 @@ function an({ root: e, ReactComponent: r }, n) {
2713
2758
  function ln({ root: e }) {
2714
2759
  e.unmount();
2715
2760
  }
2716
- function Tt(e, r = {}) {
2761
+ function It(e, r = {}) {
2717
2762
  return on(e, r, { mount: sn, update: an, unmount: ln });
2718
2763
  }
2719
2764
  function cn(e) {
@@ -2728,14 +2773,14 @@ function dn(e) {
2728
2773
  r[cn(n)] = o.toString();
2729
2774
  }), r;
2730
2775
  }
2731
- const un = (e) => /* @__PURE__ */ Ne.jsxs(Ne.Fragment, { children: [
2732
- /* @__PURE__ */ Ne.jsx("style", { children: Br }),
2733
- /* @__PURE__ */ Ne.jsx(Wr, { ...e })
2734
- ] }), mn = Tt(un, {
2776
+ const un = (e) => /* @__PURE__ */ je.jsxs(je.Fragment, { children: [
2777
+ /* @__PURE__ */ je.jsx("style", { children: Br }),
2778
+ /* @__PURE__ */ je.jsx($r, { ...e })
2779
+ ] }), mn = It(un, {
2735
2780
  shadow: "open",
2736
2781
  props: {
2737
2782
  compositionUrl: "string",
2738
- flatten: "boolean",
2783
+ hideCategories: "boolean",
2739
2784
  infiniteCarrousel: "boolean",
2740
2785
  permanentGallery: "boolean",
2741
2786
  minImageWidth: "number",
@@ -2745,89 +2790,87 @@ const un = (e) => /* @__PURE__ */ Ne.jsxs(Ne.Fragment, { children: [
2745
2790
  eventPrefix: "string",
2746
2791
  reverse360: "boolean"
2747
2792
  }
2748
- }), pn = (e) => dn(e), hn = Tt(Xr, {
2793
+ }), pn = (e) => dn(e), hn = It(Xr, {
2749
2794
  shadow: "closed",
2750
2795
  props: {
2751
2796
  name: "string",
2752
2797
  color: "string"
2753
2798
  }
2754
2799
  });
2755
- function fn() {
2756
- return !!customElements.get(Ze) && !!customElements.get(De);
2757
- }
2758
2800
  function gn() {
2759
- customElements.define(Ze, mn), customElements.define(De, hn);
2801
+ return !!customElements.get(Fe) && !!customElements.get(Ae);
2760
2802
  }
2761
- function Vt() {
2762
- fn() || gn();
2803
+ function fn() {
2804
+ customElements.define(Fe, mn), customElements.define(Ae, hn);
2805
+ }
2806
+ function Mt() {
2807
+ gn() || fn();
2763
2808
  }
2764
- Vt();
2765
- const wn = ({
2809
+ Mt();
2810
+ const yn = ({
2766
2811
  onCompositionLoading: e,
2767
2812
  onCompositionLoaded: r,
2768
2813
  onCompositionLoadError: n,
2769
2814
  onExtendModeOn: o,
2770
- onExtendModeOff: i,
2815
+ onExtendModeOff: a,
2771
2816
  onHotspotsOn: u,
2772
- onHotspotsOff: c,
2773
- onGalleryOpen: l,
2817
+ onHotspotsOff: l,
2818
+ onGalleryOpen: i,
2774
2819
  onGalleryClose: s,
2775
- ...b
2820
+ ...y
2776
2821
  }) => {
2777
- const d = pn(b);
2778
- return P(() => {
2779
- const m = b.eventPrefix ?? mt, f = (p) => `${m}${p}`, E = /* @__PURE__ */ new Map([
2780
- [nt, e],
2781
- [ot, r],
2782
- [st, n],
2783
- [at, o],
2784
- [it, i],
2785
- [lt, u],
2786
- [ct, c],
2787
- [dt, l],
2788
- [ut, s]
2789
- ]);
2790
- return E.forEach((p, x) => {
2791
- if (p) {
2792
- const z = f(x);
2793
- document.addEventListener(z, p);
2794
- }
2822
+ const c = pn(y);
2823
+ return F(() => {
2824
+ const m = y.eventPrefix ?? dt, g = (x) => `${m}${x}`, _ = {
2825
+ [tt]: e,
2826
+ [rt]: r,
2827
+ [nt]: n,
2828
+ [ot]: o,
2829
+ [st]: a,
2830
+ [at]: u,
2831
+ [it]: l,
2832
+ [lt]: i,
2833
+ [ct]: s
2834
+ }, w = /* @__PURE__ */ new Map();
2835
+ return Object.entries(_).forEach(([x, E]) => {
2836
+ if (!E)
2837
+ return;
2838
+ const C = g(x), z = (f) => E(f.detail);
2839
+ w.set(C, z), document.addEventListener(C, z);
2795
2840
  }), () => {
2796
- E.forEach((p, x) => {
2797
- if (p) {
2798
- const z = f(x);
2799
- document.removeEventListener(z, p);
2800
- }
2841
+ w.forEach((x, E) => {
2842
+ document.removeEventListener(E, x);
2801
2843
  });
2802
2844
  };
2803
2845
  }, [
2804
- b.eventPrefix,
2846
+ y.eventPrefix,
2805
2847
  e,
2806
2848
  r,
2807
2849
  n,
2808
2850
  o,
2809
- i,
2851
+ a,
2810
2852
  u,
2811
- c,
2812
2853
  l,
2854
+ i,
2813
2855
  s
2814
- ]), /* @__PURE__ */ rt.jsx("cc-webplayer", { ...d });
2856
+ ]), /* @__PURE__ */ et.jsx("cc-webplayer", { ...c });
2815
2857
  };
2816
- Vt();
2817
- const bn = ({ name: e, color: r }) => /* @__PURE__ */ rt.jsx("cc-webplayer-icon", { name: e, color: r });
2858
+ Mt();
2859
+ const bn = ({ name: e, color: r }) => /* @__PURE__ */ et.jsx("cc-webplayer-icon", { name: e, color: r });
2818
2860
  export {
2819
- mt as DEFAULT_EVENT_PREFIX,
2820
- ot as EVENT_COMPOSITION_LOADED,
2821
- nt as EVENT_COMPOSITION_LOADING,
2822
- st as EVENT_COMPOSITION_LOAD_ERROR,
2823
- it as EVENT_EXTEND_MODE_OFF,
2824
- at as EVENT_EXTEND_MODE_ON,
2825
- ut as EVENT_GALLERY_CLOSE,
2826
- dt as EVENT_GALLERY_OPEN,
2827
- ct as EVENT_HOTSPOTS_OFF,
2828
- lt as EVENT_HOTSPOTS_ON,
2829
- De as WEB_PLAYER_ICON_WC_TAG,
2830
- Ze as WEB_PLAYER_WC_TAG,
2831
- wn as WebPlayer,
2832
- bn as WebPlayerIcon
2861
+ dt as DEFAULT_EVENT_PREFIX,
2862
+ rt as EVENT_COMPOSITION_LOADED,
2863
+ tt as EVENT_COMPOSITION_LOADING,
2864
+ nt as EVENT_COMPOSITION_LOAD_ERROR,
2865
+ st as EVENT_EXTEND_MODE_OFF,
2866
+ ot as EVENT_EXTEND_MODE_ON,
2867
+ ct as EVENT_GALLERY_CLOSE,
2868
+ lt as EVENT_GALLERY_OPEN,
2869
+ it as EVENT_HOTSPOTS_OFF,
2870
+ at as EVENT_HOTSPOTS_ON,
2871
+ Ae as WEB_PLAYER_ICON_WC_TAG,
2872
+ Fe as WEB_PLAYER_WC_TAG,
2873
+ yn as WebPlayer,
2874
+ bn as WebPlayerIcon,
2875
+ wn as generateCompositionUrl
2833
2876
  };