@car-cutter/react-webplayer 0.4.0 → 0.4.1

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