@car-cutter/react-webplayer 0.6.0 → 0.7.0

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