js-cloudimage-360-view 4.5.2 → 4.5.3

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.
@@ -1,32 +1,32 @@
1
- var mi = Object.defineProperty;
2
- var fi = (e, t, i) => t in e ? mi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
- var ye = (e, t, i) => fi(e, typeof t != "symbol" ? t + "" : t, i);
1
+ var fi = Object.defineProperty;
2
+ var vi = (e, t, i) => t in e ? fi(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var ye = (e, t, i) => vi(e, typeof t != "symbol" ? t + "" : t, i);
4
4
  var Xt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
5
- function vi(e) {
5
+ function gi(e) {
6
6
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
7
7
  }
8
- var qe = "Expected a function", be = NaN, gi = "[object Symbol]", yi = /^\s+|\s+$/g, bi = /^[-+]0x[0-9a-f]+$/i, wi = /^0b[01]+$/i, Ci = /^0o[0-7]+$/i, Ii = parseInt, xi = typeof Xt == "object" && Xt && Xt.Object === Object && Xt, Oi = typeof self == "object" && self && self.Object === Object && self, Ei = xi || Oi || Function("return this")(), ki = Object.prototype, Ai = ki.toString, Si = Math.max, Ti = Math.min, te = function() {
9
- return Ei.Date.now();
8
+ var Je = "Expected a function", be = NaN, yi = "[object Symbol]", bi = /^\s+|\s+$/g, wi = /^[-+]0x[0-9a-f]+$/i, Ci = /^0b[01]+$/i, Ii = /^0o[0-7]+$/i, xi = parseInt, Oi = typeof Xt == "object" && Xt && Xt.Object === Object && Xt, Ei = typeof self == "object" && self && self.Object === Object && self, ki = Oi || Ei || Function("return this")(), Ai = Object.prototype, Si = Ai.toString, Ti = Math.max, Li = Math.min, te = function() {
9
+ return ki.Date.now();
10
10
  };
11
- function Li(e, t, i) {
11
+ function Pi(e, t, i) {
12
12
  var o, s, n, l, a, r, h = 0, c = !1, p = !1, f = !0;
13
13
  if (typeof e != "function")
14
- throw new TypeError(qe);
15
- t = we(t) || 0, Ft(i) && (c = !!i.leading, p = "maxWait" in i, n = p ? Si(we(i.maxWait) || 0, t) : n, f = "trailing" in i ? !!i.trailing : f);
14
+ throw new TypeError(Je);
15
+ t = we(t) || 0, Ft(i) && (c = !!i.leading, p = "maxWait" in i, n = p ? Ti(we(i.maxWait) || 0, t) : n, f = "trailing" in i ? !!i.trailing : f);
16
16
  function u(m) {
17
- var g = o, I = s;
18
- return o = s = void 0, h = m, l = e.apply(I, g), l;
17
+ var y = o, I = s;
18
+ return o = s = void 0, h = m, l = e.apply(I, y), l;
19
19
  }
20
- function w(m) {
20
+ function C(m) {
21
21
  return h = m, a = setTimeout(x, t), c ? u(m) : l;
22
22
  }
23
23
  function b(m) {
24
- var g = m - r, I = m - h, k = t - g;
25
- return p ? Ti(k, n - I) : k;
24
+ var y = m - r, I = m - h, k = t - y;
25
+ return p ? Li(k, n - I) : k;
26
26
  }
27
27
  function v(m) {
28
- var g = m - r, I = m - h;
29
- return r === void 0 || g >= t || g < 0 || p && I >= n;
28
+ var y = m - r, I = m - h;
29
+ return r === void 0 || y >= t || y < 0 || p && I >= n;
30
30
  }
31
31
  function x() {
32
32
  var m = te();
@@ -37,29 +37,29 @@ function Li(e, t, i) {
37
37
  function E(m) {
38
38
  return a = void 0, f && o ? u(m) : (o = s = void 0, l);
39
39
  }
40
- function C() {
40
+ function w() {
41
41
  a !== void 0 && clearTimeout(a), h = 0, o = r = s = a = void 0;
42
42
  }
43
- function y() {
43
+ function g() {
44
44
  return a === void 0 ? l : E(te());
45
45
  }
46
46
  function O() {
47
- var m = te(), g = v(m);
48
- if (o = arguments, s = this, r = m, g) {
47
+ var m = te(), y = v(m);
48
+ if (o = arguments, s = this, r = m, y) {
49
49
  if (a === void 0)
50
- return w(r);
50
+ return C(r);
51
51
  if (p)
52
52
  return a = setTimeout(x, t), u(r);
53
53
  }
54
54
  return a === void 0 && (a = setTimeout(x, t)), l;
55
55
  }
56
- return O.cancel = C, O.flush = y, O;
56
+ return O.cancel = w, O.flush = g, O;
57
57
  }
58
- function Pi(e, t, i) {
58
+ function Mi(e, t, i) {
59
59
  var o = !0, s = !0;
60
60
  if (typeof e != "function")
61
- throw new TypeError(qe);
62
- return Ft(i) && (o = "leading" in i ? !!i.leading : o, s = "trailing" in i ? !!i.trailing : s), Li(e, t, {
61
+ throw new TypeError(Je);
62
+ return Ft(i) && (o = "leading" in i ? !!i.leading : o, s = "trailing" in i ? !!i.trailing : s), Pi(e, t, {
63
63
  leading: o,
64
64
  maxWait: t,
65
65
  trailing: s
@@ -69,16 +69,16 @@ function Ft(e) {
69
69
  var t = typeof e;
70
70
  return !!e && (t == "object" || t == "function");
71
71
  }
72
- function Mi(e) {
72
+ function Ri(e) {
73
73
  return !!e && typeof e == "object";
74
74
  }
75
- function Ri(e) {
76
- return typeof e == "symbol" || Mi(e) && Ai.call(e) == gi;
75
+ function Yi(e) {
76
+ return typeof e == "symbol" || Ri(e) && Si.call(e) == yi;
77
77
  }
78
78
  function we(e) {
79
79
  if (typeof e == "number")
80
80
  return e;
81
- if (Ri(e))
81
+ if (Yi(e))
82
82
  return be;
83
83
  if (Ft(e)) {
84
84
  var t = typeof e.valueOf == "function" ? e.valueOf() : e;
@@ -86,20 +86,20 @@ function we(e) {
86
86
  }
87
87
  if (typeof e != "string")
88
88
  return e === 0 ? e : +e;
89
- e = e.replace(yi, "");
90
- var i = wi.test(e);
91
- return i || Ci.test(e) ? Ii(e.slice(2), i ? 2 : 8) : bi.test(e) ? be : +e;
89
+ e = e.replace(bi, "");
90
+ var i = Ci.test(e);
91
+ return i || Ii.test(e) ? xi(e.slice(2), i ? 2 : 8) : wi.test(e) ? be : +e;
92
92
  }
93
- var Yi = Pi;
94
- const Ce = /* @__PURE__ */ vi(Yi), H = {
93
+ var Hi = Mi;
94
+ const Ce = /* @__PURE__ */ gi(Hi), H = {
95
95
  SPIN_X: "spin-x",
96
96
  SPIN_Y: "spin-y",
97
97
  SPIN_XY: "spin-xy",
98
98
  SPIN_YX: "spin-yx"
99
- }, Hi = [!1, 0, null, void 0, "false", "0", "null", "undefined"], R = {
99
+ }, Xi = [!1, 0, null, void 0, "false", "0", "null", "undefined"], R = {
100
100
  X: "x-axis",
101
101
  Y: "y-axis"
102
- }, Xi = [37, 39], Zi = [38, 40], Di = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), Ie = Di ? 32 : 10, Bi = 150, Zt = 800, Wi = 150, Fi = 200, xe = 50, Vi = 50, Ni = 5, Oe = 5, d = {
102
+ }, Zi = [37, 39], Di = [38, 40], Bi = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), Ie = Bi ? 32 : 10, Wi = 150, Zt = 800, Fi = 150, Vi = 200, xe = 50, Ni = 50, zi = 5, Oe = 5, d = {
103
103
  folder: "/",
104
104
  apiVersion: "v7",
105
105
  filenameX: "image-{index}.jpg",
@@ -162,7 +162,7 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
162
162
  onHotspotOpen: null,
163
163
  onHotspotClose: null,
164
164
  onProductClick: null
165
- }, zi = (e) => ({
165
+ }, $i = (e) => ({
166
166
  folder: S(e, "folder", d.folder),
167
167
  apiVersion: S(e, "api-version", d.apiVersion),
168
168
  filenameX: S(e, "filename") || S(e, "filename-x") || d.filenameX,
@@ -212,14 +212,14 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
212
212
  aspectRatio: S(e, "aspect-ratio", d.aspectRatio),
213
213
  cropAspectRatio: S(e, "crop-aspect-ratio", d.cropAspectRatio),
214
214
  cropGravity: S(e, "crop-gravity", d.cropGravity)
215
- }), $i = (e) => {
215
+ }), ji = (e) => {
216
216
  const t = [];
217
217
  e.amountX !== void 0 && e.amountX < 0 && t.push("amountX should be a positive number"), e.amountY !== void 0 && e.amountY < 0 && t.push("amountY should be a positive number"), e.speed !== void 0 && e.speed <= 0 && t.push("speed should be a positive number"), e.dragSpeed !== void 0 && e.dragSpeed <= 0 && t.push("dragSpeed should be a positive number"), e.pointerZoom !== void 0 && e.pointerZoom !== 0 && (e.pointerZoom < 1 || e.pointerZoom > 5) && t.push("pointerZoom should be between 1 and 5 (or 0 to disable)"), e.magnifier !== void 0 && e.magnifier !== null && e.magnifier !== 0 && (e.magnifier < 1 || e.magnifier > 5) && t.push("magnifier should be between 1 and 5 (or 0/null to disable)"), !e.folder && !e.imageListX && !e.imageListY && t.push("Either folder or imageListX/imageListY is required"), e.folder && !e.amountX && !e.imageListX && t.push("amountX is required when using folder (unless imageListX is provided)");
218
218
  const i = ["spin-x", "spin-y", "spin-xy", "spin-yx"];
219
219
  return e.autoplayBehavior && !i.includes(e.autoplayBehavior) && t.push(`autoplayBehavior should be one of: ${i.join(", ")}`), t.forEach((o) => {
220
220
  console.warn(`CloudImage 360: ${o}`);
221
221
  }), t.length === 0;
222
- }, ji = (e) => ($i(e), {
222
+ }, Gi = (e) => (ji(e), {
223
223
  folder: e.folder || d.folder,
224
224
  apiVersion: e.apiVersion || d.apiVersion,
225
225
  filenameX: e.filenameX || e.filename || d.filenameX,
@@ -286,28 +286,33 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
286
286
  if (!(e.hasAttribute(t) || e.hasAttribute(`data-${t}`))) return i;
287
287
  const s = S(e, t, null);
288
288
  return s !== "false" && s !== "0";
289
- }, Dt = (e, t) => S(e, t, null) === "false", Gi = (e = 1) => {
289
+ }, Dt = (e, t) => S(e, t, null) === "false", _i = (e = 1) => {
290
290
  const t = Math.round(window.devicePixelRatio || 1);
291
291
  return parseInt(e) * t;
292
- }, _i = (e, t, i) => new URL(e).origin.includes("cloudimg") ? e : `https://${t}.cloudimg.io/${i}${e}`, Ui = ({ ciTransformation: e, responsiveWidth: t, ciFilters: i }) => {
292
+ }, Ui = (e, t, i) => new URL(e).origin.includes("cloudimg") ? e : `https://${t}.cloudimg.io/${i}${e}`, Ee = (e, t) => e ? `ar=${e}&gravity=${t || "auto"}` : "", Ki = ({ ciTransformation: e, responsiveWidth: t, ciFilters: i }) => {
293
293
  const o = `width=${t}`, s = e || o, n = i ? `&f=${i}` : "";
294
294
  return `${s}${n}`;
295
295
  }, Ct = (e, t) => {
296
296
  const { folder: i, apiVersion: o, filename: s = "", ciParams: n } = e, { ciToken: l, ciFilters: a, ciTransformation: r, cropAspectRatio: h, cropGravity: c } = n || {}, p = `${i}${s}`;
297
- if (!l || !t) return p;
298
- const f = Hi.includes(o) ? null : o, u = f ? `${f}/` : "", w = Gi(t), b = _i(p, l, u), v = Ui({
297
+ if (!l || !t) {
298
+ const w = Ee(h, c);
299
+ if (!w) return p;
300
+ const g = p.includes("?") ? "&" : "?";
301
+ return `${p}${g}${w}`;
302
+ }
303
+ const f = Xi.includes(o) ? null : o, u = f ? `${f}/` : "", C = _i(t), b = Ui(p, l, u), v = Ki({
299
304
  ciTransformation: r,
300
- responsiveWidth: w,
305
+ responsiveWidth: C,
301
306
  ciFilters: a
302
- }), x = h ? `ar=${h}&gravity=${c || "auto"}` : "", E = [v, x].filter(Boolean).join("&");
307
+ }), x = Ee(h, c), E = [v, x].filter(Boolean).join("&");
303
308
  return `${b}${E ? "?" : ""}${E}`;
304
- }, Ki = (e, t, i) => {
309
+ }, qi = (e, t, i) => {
305
310
  const [o, s] = e.split("?"), n = `${t}=${encodeURIComponent(i)}`;
306
311
  if (!s)
307
312
  return `${o}?${n}`;
308
313
  const l = new URLSearchParams(s);
309
314
  return l.set(t, i), `${o}?${l.toString()}`;
310
- }, qi = (e, t) => Ki(e, "width", t), Je = (e, t = 0) => (e += "", e.length >= t ? e : new Array(t - e.length + 1).join("0") + e), Ji = (e, { amount: t = 0, indexZeroBase: i = 0 } = {}) => Array.from({ length: t }, (o, s) => e.replace("{index}", Je(s + 1, i))), Qi = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), to = Qi ? 3 : 6, eo = ({
315
+ }, Ji = (e, t) => qi(e, "width", t), Qe = (e, t = 0) => (e += "", e.length >= t ? e : new Array(t - e.length + 1).join("0") + e), Qi = (e, { amount: t = 0, indexZeroBase: i = 0 } = {}) => Array.from({ length: t }, (o, s) => e.replace("{index}", Qe(s + 1, i))), to = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), eo = to ? 3 : 6, io = ({
311
316
  imagesUrls: e,
312
317
  onFirstImageLoad: t,
313
318
  onImageLoad: i,
@@ -318,11 +323,11 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
318
323
  let l = 0, a = 0;
319
324
  const r = e.length, h = [], c = [];
320
325
  let p = 0, f = 0;
321
- const u = [], w = (m, g, I = !1) => {
326
+ const u = [], C = (m, y, I = !1) => {
322
327
  const k = {
323
328
  message: `Failed to load image: ${m}`,
324
329
  url: m,
325
- index: g,
330
+ index: y,
326
331
  isFirstImage: I
327
332
  };
328
333
  c.push(k), a++, s == null || s({
@@ -334,11 +339,11 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
334
339
  }, b = () => {
335
340
  l === r && (o == null || o(h, { errorCount: a, errors: c }));
336
341
  }, v = () => {
337
- for (; p < to && f < u.length; ) {
342
+ for (; p < eo && f < u.length; ) {
338
343
  const m = u[f];
339
344
  f++, x(e[m], m);
340
345
  }
341
- }, x = (m, g) => {
346
+ }, x = (m, y) => {
342
347
  p++;
343
348
  const I = new Image();
344
349
  I.crossOrigin = "anonymous", I.src = m, I.onload = async () => {
@@ -349,34 +354,34 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
349
354
  naturalWidth: I.naturalWidth,
350
355
  naturalHeight: I.naturalHeight
351
356
  };
352
- I.onload = null, I.onerror = null, I.src = "", l++, p--, h[g] = A, i == null || i(A, g), b(), v();
357
+ I.onload = null, I.onerror = null, I.src = "", l++, p--, h[y] = A, i == null || i(A, y), b(), v();
353
358
  } catch {
354
- I.onload = null, I.onerror = null, I.src = "", l++, p--, w(m, g), b(), v();
359
+ I.onload = null, I.onerror = null, I.src = "", l++, p--, C(m, y), b(), v();
355
360
  }
356
361
  }, I.onerror = () => {
357
- I.onload = null, I.onerror = null, I.src = "", l++, p--, w(m, g), b(), v();
362
+ I.onload = null, I.onerror = null, I.src = "", l++, p--, C(m, y), b(), v();
358
363
  };
359
364
  }, E = (m) => {
360
- for (let g = 0; g < e.length; g++)
361
- g !== m && u.push(g);
365
+ for (let y = 0; y < e.length; y++)
366
+ y !== m && u.push(y);
362
367
  f = 0, v();
363
- }, C = new Image(), y = n ? e.length - 1 : 0, O = e[y];
364
- C.crossOrigin = "anonymous", C.src = O, C.onload = async () => {
368
+ }, w = new Image(), g = n ? e.length - 1 : 0, O = e[g];
369
+ w.crossOrigin = "anonymous", w.src = O, w.onload = async () => {
365
370
  try {
366
- const m = await createImageBitmap(C), g = {
371
+ const m = await createImageBitmap(w), y = {
367
372
  src: O,
368
373
  bitmapImage: m,
369
- naturalWidth: C.naturalWidth,
370
- naturalHeight: C.naturalHeight
374
+ naturalWidth: w.naturalWidth,
375
+ naturalHeight: w.naturalHeight
371
376
  };
372
- C.onload = null, C.onerror = null, C.src = "", h[y] = g, l++, t == null || t(g), i == null || i(g, y), r === 1 ? b() : E(y);
377
+ w.onload = null, w.onerror = null, w.src = "", h[g] = y, l++, t == null || t(y), i == null || i(y, g), r === 1 ? b() : E(g);
373
378
  } catch {
374
- C.onload = null, C.onerror = null, C.src = "", l++, w(O, y, !0), r === 1 ? b() : E(y);
379
+ w.onload = null, w.onerror = null, w.src = "", l++, C(O, g, !0), r === 1 ? b() : E(g);
375
380
  }
376
- }, C.onerror = () => {
377
- C.onload = null, C.onerror = null, C.src = "", l++, w(O, y, !0), r === 1 ? b() : E(y);
381
+ }, w.onerror = () => {
382
+ w.onload = null, w.onerror = null, w.src = "", l++, C(O, g, !0), r === 1 ? b() : E(g);
378
383
  };
379
- }, Ee = ({
384
+ }, ke = ({
380
385
  cdnPathX: e,
381
386
  cdnPathY: t,
382
387
  configX: i,
@@ -387,7 +392,7 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
387
392
  onError: a
388
393
  }) => {
389
394
  let r = { x: !1, y: !1 }, h = [], c = [], p = { errorCount: 0, errors: [] }, f = { errorCount: 0, errors: [] };
390
- const u = e || i.imageList.length, w = t || o.imageList.length, b = () => {
395
+ const u = e || i.imageList.length, C = t || o.imageList.length, b = () => {
391
396
  if (r.x && r.y) {
392
397
  const x = {
393
398
  errorCount: p.errorCount + f.errorCount,
@@ -395,21 +400,21 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
395
400
  };
396
401
  l == null || l(h, c, x);
397
402
  }
398
- }, v = ({ cdnPath: x, config: E, orientation: C, loadedImages: y, loadStats: O, onFirstImageLoad: m }) => {
399
- const g = C === R.X, I = E.imageList.length ? E.imageList : Ji(x, E);
400
- eo({
403
+ }, v = ({ cdnPath: x, config: E, orientation: w, loadedImages: g, loadStats: O, onFirstImageLoad: m }) => {
404
+ const y = w === R.X, I = E.imageList.length ? E.imageList : Qi(x, E);
405
+ io({
401
406
  imagesUrls: I,
402
407
  onFirstImageLoad: m,
403
408
  onImageLoad: (k, A) => {
404
- n == null || n(k, A, C), y[A] = k;
409
+ n == null || n(k, A, w), g[A] = k;
405
410
  },
406
411
  onError: (k) => {
407
- a == null || a({ ...k, orientation: C });
412
+ a == null || a({ ...k, orientation: w });
408
413
  },
409
414
  onAllImagesLoad: (k, A) => {
410
- y.length = 0, k.forEach((T, Y) => {
411
- T && (y[Y] = T);
412
- }), O.errorCount = A.errorCount, O.errors = A.errors.map((T) => ({ ...T, orientation: C })), r[g ? "x" : "y"] = !0, b();
415
+ g.length = 0, k.forEach((T, Y) => {
416
+ T && (g[Y] = T);
417
+ }), O.errorCount = A.errorCount, O.errors = A.errors.map((T) => ({ ...T, orientation: w })), r[y ? "x" : "y"] = !0, b();
413
418
  },
414
419
  autoplayReverse: E.autoplayReverse
415
420
  });
@@ -421,15 +426,15 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
421
426
  loadedImages: h,
422
427
  loadStats: p,
423
428
  onFirstImageLoad: s
424
- }) : r.x = !0, w ? v({
429
+ }) : r.x = !0, C ? v({
425
430
  cdnPath: t,
426
431
  config: o,
427
432
  orientation: R.Y,
428
433
  loadedImages: c,
429
434
  loadStats: f,
430
435
  onFirstImageLoad: u ? void 0 : s
431
- }) : r.y = !0, !u && !w && b();
432
- }, io = `
436
+ }) : r.y = !0, !u && !C && b();
437
+ }, oo = `
433
438
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1052 156" aria-hidden="true">
434
439
  <path fill="currentColor" d="M409.9,145.6c-42.7-1.7-85.5-4.4-128.1-8.4c-21.3-2-42.6-4.3-63.8-7.1c-21.2-2.8-42.4-5.9-63.4-9.7c-21.1-3.8-42-8.2-62.7-13.7c-10.3-2.8-20.6-5.8-30.7-9.4c-10.1-3.5-20.1-7.6-29.5-12.7c-4.7-2.6-9.3-5.4-13.5-8.8c-2.1-1.7-4-3.6-5.8-5.6c-1.8-2-3.3-4.3-4.3-6.8c-1.1-2.5-1.6-5.3-1.4-8c0.2-2.7,1.1-5.4,2.4-7.7c2.7-4.8,6.7-8.5,11-11.7c8.6-6.4,18.4-10.9,28.3-15c9.9-4,20.1-7.3,30.4-10.3c-10.2,3.1-20.4,6.5-30.3,10.5c-9.8,4.1-19.6,8.7-28.1,15.1c-4.2,3.2-8.2,6.9-10.7,11.6c-1.2,2.3-2.1,4.8-2.3,7.5c-0.1,2.6,0.4,5.2,1.4,7.6c2.1,4.8,5.9,8.7,10,12.1c4.1,3.3,8.7,6.1,13.4,8.6c9.4,5,19.4,8.9,29.4,12.4c10.1,3.5,20.4,6.4,30.7,9.1c20.7,5.3,41.6,9.5,62.7,13.2c21,3.6,42.2,6.6,63.4,9.2c21.2,2.6,42.5,4.8,63.7,6.6c42.6,3.7,85.2,6,127.9,7.4L409.9,145.6z"/>
435
440
  <path fill="currentColor" d="M977.1,11.6c13.8,4.1,27.4,8.8,40.4,15.2c6.4,3.2,12.7,6.9,18.3,11.5c2.7,2.4,5.3,5,7.3,8c2,3,3.3,6.6,3.3,10.3c0,3.7-1.4,7.2-3.3,10.3c-2,3.1-4.5,5.7-7.3,8.1c-2.7,2.4-5.7,4.4-8.8,6.3c-1.6,0.9-3.1,1.9-4.7,2.7l-2.4,1.3l-2.4,1.2C1004.5,93,990.8,97.8,977,102c-6.9,2.1-13.8,4-20.8,5.8c-7,1.8-14,3.5-21,5c-14.1,3.1-28.2,5.9-42.4,8.3c-28.4,4.9-57,8.8-85.6,12c-57.3,6.4-114.8,10.2-172.4,12.2c-57.6,2-115.2,2.3-172.9,0.8l0.1-4c57.5,1.8,115.1,1.9,172.6,0.2c57.5-1.7,115-5.2,172.3-11.2c28.6-3.1,57.2-6.7,85.6-11.5c14.2-2.4,28.3-5,42.4-8.1c7-1.5,14-3.1,21-4.9c7-1.7,13.9-3.6,20.8-5.7c13.8-4.1,27.4-8.8,40.3-15.2l2.4-1.2l2.4-1.3c1.6-0.8,3.1-1.8,4.7-2.7c3-1.9,6-3.9,8.7-6.2c2.7-2.3,5.2-4.9,7.2-7.9c1.9-3,3.2-6.4,3.3-10c0-3.6-1.2-7-3.1-10c-1.9-3-4.4-5.6-7.1-8c-5.5-4.7-11.7-8.3-18.1-11.6C1004.5,20.6,990.8,15.8,977.1,11.6z"/>
@@ -440,10 +445,10 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
440
445
  <path fill="currentColor" d="M10.9,9.7c0-1.1-0.8-2-2.5-2.5c1.3-0.5,1.9-1.3,1.9-2.3c0-1.7-1.7-2.8-4.6-2.8c-1.5,0-2.7,0.3-3.6,0.8v1.7c0.9-0.4,2.3-0.7,3.4-0.7C7,3.9,8,4.4,8,5.1c0,0.8-0.7,1.3-2.4,1.3H4.3v1.6h1.3c2,0,2.9,0.8,2.9,1.6c0,0.8-1,1.5-2.8,1.5c-1.5,0-2.8-0.3-3.7-0.6v1.7c0.9,0.3,2.1,0.6,3.8,0.6C9.2,12.8,10.9,11.4,10.9,9.7"/>
441
446
  </g>
442
447
  </svg>
443
- `, oo = (e) => {
448
+ `, so = (e) => {
444
449
  const t = document.createElement("div");
445
- return t.innerHTML = io, t.style.bottom = `${e}%`, t.className = "cloudimage-360-view-360-circle", t;
446
- }, so = `
450
+ return t.innerHTML = oo, t.style.bottom = `${e}%`, t.className = "cloudimage-360-view-360-circle", t;
451
+ }, no = `
447
452
  <svg width="150" height="87" viewBox="0 0 150 87" xmlns="http://www.w3.org/2000/svg">
448
453
  <g clip-path="url(#clip0_751_188)">
449
454
  <g filter="url(#filter0_d_751_188)">
@@ -484,36 +489,36 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
484
489
  </clipPath>
485
490
  </defs>
486
491
  </svg>
487
- `, no = (e) => {
492
+ `, ro = (e) => {
488
493
  const t = document.createElement("div");
489
- return t.className = "cloudimage-initial-icon", t.setAttribute("aria-label", "360 degree view - drag to rotate"), e ? (t.style.backgroundImage = `url('${e}')`, t.style.backgroundPosition = "50% 50%", t.style.backgroundSize = "contain", t.style.backgroundRepeat = "no-repeat") : t.innerHTML = so, t;
490
- }, ro = (e, t) => {
494
+ return t.className = "cloudimage-initial-icon", t.setAttribute("aria-label", "360 degree view - drag to rotate"), e ? (t.style.backgroundImage = `url('${e}')`, t.style.backgroundPosition = "50% 50%", t.style.backgroundSize = "contain", t.style.backgroundRepeat = "no-repeat") : t.innerHTML = no, t;
495
+ }, ao = (e, t) => {
491
496
  const { width: i, height: o } = t, s = document.createElement("canvas");
492
497
  return s.width = i, s.height = o, s.style.width = "100%", s.style.height = "auto", e.appendChild(s), s;
493
- }, ao = () => {
498
+ }, lo = () => {
494
499
  const e = document.createElement("button");
495
500
  return e.className = "cloudimage-360-button cloudimage-360-close-icon", e.setAttribute("aria-label", "Close fullscreen"), e.setAttribute("type", "button"), e.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg>', e;
496
- }, lo = () => {
501
+ }, co = () => {
497
502
  const e = document.createElement("button");
498
503
  return e.className = "cloudimage-360-button cloudimage-360-fullscreen-button", e.setAttribute("aria-label", "View fullscreen"), e.setAttribute("type", "button"), e.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 3 21 3 21 9"/><polyline points="9 21 3 21 3 15"/><line x1="21" x2="14" y1="3" y2="10"/><line x1="3" x2="10" y1="21" y2="14"/></svg>', e;
499
- }, ke = (e) => {
504
+ }, Ae = (e) => {
500
505
  const t = document.createElement("div");
501
506
  return t.className = "cloudimage-360-icons-container", e.appendChild(t), t;
502
- }, co = (e) => {
507
+ }, ho = (e) => {
503
508
  const t = document.createElement("div");
504
509
  return t.className = "cloudimage-360-inner-box", t.setAttribute("role", "img"), t.setAttribute("aria-label", "360 degree product view. Use mouse drag or arrow keys to rotate."), e.appendChild(t), t;
505
- }, ho = () => {
510
+ }, po = () => {
506
511
  const e = document.createElement("button");
507
512
  return e.className = "cloudimage-360-button cloudimage-360-magnifier-button", e.setAttribute("aria-label", "Magnify image"), e.setAttribute("type", "button"), e.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/><path d="M11 8v6"/><path d="M8 11h6"/></svg>', e;
508
- }, po = () => {
513
+ }, uo = () => {
509
514
  const e = document.createElement("button");
510
515
  return e.className = "cloudimage-360-button cloudimage-360-zoom-out-button", e.setAttribute("aria-label", "Zoom out"), e.setAttribute("type", "button"), e.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/><path d="M8 11h6"/></svg>', e;
511
- }, uo = (e) => {
516
+ }, mo = (e) => {
512
517
  const t = document.createElement("div");
513
518
  t.className = "cloudimage-360-loader";
514
519
  const i = document.createElement("span");
515
520
  return i.className = "percentage", i.innerText = "0%", t.appendChild(i), e.appendChild(t), t;
516
- }, mo = (e) => {
521
+ }, fo = (e) => {
517
522
  const t = document.createElement("div");
518
523
  t.className = "cloudimage-360-fullscreen-modal";
519
524
  const i = e.cloneNode();
@@ -521,30 +526,30 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
521
526
  }, ie = (e, t) => {
522
527
  const i = e.querySelector(t);
523
528
  i && i.parentNode.removeChild(i);
524
- }, fo = () => {
529
+ }, vo = () => {
525
530
  const e = document.createElement("div");
526
531
  return e.className = "cloudimage-loading-spinner", e;
527
- }, vo = () => {
532
+ }, go = () => {
528
533
  const e = document.createElement("div");
529
534
  return e.className = "cloudimage-360-transition-overlay", e;
530
- }, go = (e) => {
535
+ }, yo = (e) => {
531
536
  const t = document.createElement("div");
532
537
  return t.className = "cloudimage-360-hotspot-container", e.appendChild(t), t;
533
- }, yo = (e) => {
538
+ }, bo = (e) => {
534
539
  const t = document.createElement("div");
535
540
  return t.className = "cloudimage-360-sr-only", t.setAttribute("role", "status"), t.setAttribute("aria-live", "polite"), t.setAttribute("aria-atomic", "true"), e.appendChild(t), t;
536
- }, bo = (e, t) => {
541
+ }, wo = (e, t) => {
537
542
  e && (e.textContent = "", setTimeout(() => {
538
543
  e.textContent = t;
539
544
  }, 50));
540
- }, Qe = {
545
+ }, ti = {
541
546
  drag: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2"/><path d="M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2"/><path d="M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8"/><path d="M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15"/></svg>',
542
547
  swipe: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m18 16 4-4-4-4"/><path d="m6 8-4 4 4 4"/><path d="M8 12h8"/></svg>',
543
548
  click: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 9 5 12 1.8-5.2L21 14Z"/><path d="M7.2 2.2 8 5.1"/><path d="m5.1 8-2.9-.8"/><path d="M14 4.1 12 6"/><path d="m6 12-1.9 2"/></svg>',
544
549
  pinch: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 6l4 4"/><path d="M18 6l-4 4"/><path d="M6 18l4-4"/><path d="M18 18l-4-4"/><circle cx="12" cy="12" r="2"/></svg>',
545
550
  keys: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect width="20" height="16" x="2" y="4" rx="2"/><path d="m9 10 3 3 3-3"/></svg>',
546
551
  fullscreen: '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 3 21 3 21 9"/><polyline points="9 21 3 21 3 15"/><line x1="21" x2="14" y1="3" y2="10"/><line x1="3" x2="10" y1="21" y2="14"/></svg>'
547
- }, Ae = {
552
+ }, Se = {
548
553
  drag: "Drag to rotate",
549
554
  swipe: "Swipe to rotate",
550
555
  click: "Click to zoom",
@@ -552,45 +557,45 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
552
557
  pinch: "Pinch to zoom",
553
558
  keys: "Use arrow keys",
554
559
  fullscreen: "Click for fullscreen"
555
- }, wo = (e, t = {}) => {
560
+ }, Co = (e, t = {}) => {
556
561
  const i = document.createElement("div");
557
562
  i.className = "cloudimage-360-hint-item";
558
- let o = Ae[e];
559
- return e === "click" && t.pointerZoomTrigger === "dblclick" && (o = Ae.dblclick), i.innerHTML = `
560
- ${Qe[e]}
563
+ let o = Se[e];
564
+ return e === "click" && t.pointerZoomTrigger === "dblclick" && (o = Se.dblclick), i.innerHTML = `
565
+ ${ti[e]}
561
566
  <span>${o}</span>
562
567
  `, i;
563
- }, Se = (e, t = [], i = {}) => {
568
+ }, Te = (e, t = [], i = {}) => {
564
569
  if (!t || t.length === 0) return null;
565
570
  const o = document.createElement("div");
566
571
  o.className = "cloudimage-360-hints-overlay", o.setAttribute("role", "tooltip"), o.setAttribute("aria-label", "Interaction hints");
567
572
  const s = document.createElement("div");
568
573
  return s.className = "cloudimage-360-hints-container", t.forEach((n) => {
569
- Qe[n] && s.appendChild(wo(n, i));
574
+ ti[n] && s.appendChild(Co(n, i));
570
575
  }), o.appendChild(s), e.appendChild(o), o;
571
- }, Te = (e, t) => t ? ["swipe", "pinch"] : ["drag", "click"], Le = (e) => {
576
+ }, Le = (e, t) => t ? ["swipe", "pinch"] : ["drag", "click"], Pe = (e) => {
572
577
  e && e.classList.add("visible");
573
- }, Co = (e) => {
578
+ }, Io = (e) => {
574
579
  e && (e.classList.remove("visible"), e.classList.add("hiding"), setTimeout(() => {
575
580
  e.classList.remove("hiding");
576
581
  }, 300));
577
- }, Io = (e) => {
582
+ }, xo = (e) => {
578
583
  if (!e || typeof e != "object") return null;
579
584
  const t = Object.keys(e).map((o) => parseInt(o, 10)).filter((o) => !isNaN(o)).sort((o, s) => o - s);
580
585
  if (t.length === 0) return null;
581
586
  const i = Math.floor(t.length / 2);
582
587
  return t[i];
583
- }, xo = (e) => {
588
+ }, Oo = (e) => {
584
589
  const t = [];
585
590
  return !e || !Array.isArray(e) || e.forEach((i, o) => {
586
- const s = Io(i.positions);
591
+ const s = xo(i.positions);
587
592
  s !== null && t.push({
588
593
  id: i.id || `hotspot-${o}`,
589
594
  frame: s,
590
595
  label: i.label || null
591
596
  });
592
597
  }), t;
593
- }, Oo = 400, Eo = (e, t, i, o) => {
598
+ }, Eo = 400, ko = (e, t, i, o) => {
594
599
  const s = document.createElement("button");
595
600
  s.className = "cloudimage-360-hotspot-timeline-dot", s.setAttribute("type", "button"), s.setAttribute("aria-label", o || `Go to hotspot at frame ${t + 1}`), s.setAttribute("data-frame", t.toString()), s.setAttribute("data-hotspot-id", e);
596
601
  const n = i > 1 ? t / (i - 1) * 100 : 0;
@@ -601,7 +606,7 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
601
606
  s.addEventListener("mouseenter", () => {
602
607
  a = setTimeout(() => {
603
608
  l.classList.add("visible");
604
- }, Oo);
609
+ }, Eo);
605
610
  }), s.addEventListener("mouseleave", () => {
606
611
  a && (clearTimeout(a), a = null), l.classList.remove("visible");
607
612
  }), s.addEventListener("click", () => {
@@ -609,8 +614,8 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
609
614
  });
610
615
  }
611
616
  return s;
612
- }, ko = (e, t, i) => {
613
- const o = xo(i);
617
+ }, Ao = (e, t, i) => {
618
+ const o = Oo(i);
614
619
  if (o.length === 0) return null;
615
620
  const s = document.createElement("div");
616
621
  s.className = "cloudimage-360-hotspot-timeline", s.setAttribute("role", "navigation"), s.setAttribute("aria-label", "Hotspot timeline navigation");
@@ -618,20 +623,20 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
618
623
  n.className = "cloudimage-360-hotspot-timeline-track";
619
624
  const l = document.createElement("div");
620
625
  return l.className = "cloudimage-360-hotspot-timeline-indicator", o.forEach(({ id: a, frame: r, label: h }) => {
621
- const c = Eo(a, r, t, h);
626
+ const c = ko(a, r, t, h);
622
627
  n.appendChild(c);
623
628
  }), n.appendChild(l), s.appendChild(n), e.appendChild(s), {
624
629
  element: s,
625
630
  indicator: l,
626
631
  hotspotFrames: o
627
632
  };
628
- }, Ao = (e, t, i) => {
633
+ }, So = (e, t, i) => {
629
634
  if (!e) return;
630
635
  const o = i > 1 ? t / (i - 1) * 100 : 0;
631
636
  e.style.left = `${o}%`;
632
- }, So = (e) => {
633
- e && e.classList.add("visible");
634
637
  }, To = (e) => {
638
+ e && e.classList.add("visible");
639
+ }, Lo = (e) => {
635
640
  e && e.classList.remove("visible");
636
641
  }, oe = (e, t = []) => {
637
642
  if (!e) return t;
@@ -641,15 +646,15 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
641
646
  } catch (i) {
642
647
  return console.warn("CloudImage 360: Failed to parse JSON:", i.message), t;
643
648
  }
644
- }, Lo = (e, t) => {
649
+ }, Po = (e, t) => {
645
650
  const [i, o] = e.split("?");
646
651
  if (!o) return e;
647
652
  const s = new RegExp(`^${t}=|&${t}=`), n = o.split("&").filter((l) => !s.test(l)).join("&");
648
653
  return n ? `${i}?${n}` : i;
649
- }, Po = (e) => {
650
- const t = Lo(e, "width"), i = t.includes("?") ? "&" : "?";
651
- return `${t}${i}width=${150 * devicePixelRatio}`;
652
654
  }, Mo = (e) => {
655
+ const t = Po(e, "width"), i = t.includes("?") ? "&" : "?";
656
+ return `${t}${i}width=${150 * devicePixelRatio}`;
657
+ }, Ro = (e) => {
653
658
  const t = {
654
659
  root: null,
655
660
  rootMargin: "0px",
@@ -663,25 +668,25 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
663
668
  l.isIntersecting && (i(l.target), n.unobserve(l.target));
664
669
  });
665
670
  }, t).observe(e);
666
- }, Ro = (e, t) => {
667
- const i = Je(1, t);
668
- return e.replace("{index}", i);
669
671
  }, Yo = (e, t) => {
672
+ const i = Qe(1, t);
673
+ return e.replace("{index}", i);
674
+ }, Ho = (e, t) => {
670
675
  const [i] = e, o = /(https?):\/\//i.test(i);
671
676
  return Ct({
672
677
  ...t,
673
678
  folder: o ? "" : t.folder,
674
679
  filename: i
675
680
  });
676
- }, Ho = (e, t) => {
681
+ }, Xo = (e, t) => {
677
682
  const { imageList: i, indexZeroBase: o } = t;
678
683
  if (i.length) {
679
684
  const s = oe(i, null);
680
685
  if (s)
681
- return Yo(s, t);
686
+ return Ho(s, t);
682
687
  }
683
- return Ro(e, o);
684
- }, Pe = (e, t, i) => {
688
+ return Yo(e, o);
689
+ }, Me = (e, t, i) => {
685
690
  const o = new Image();
686
691
  return o.setAttribute(t ? "data-src" : "src", e), o.className = i, o.style.cssText = `
687
692
  position: ${t ? "absolute" : "static"};
@@ -692,8 +697,8 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
692
697
  object-position: center;
693
698
  filter: blur(10px);
694
699
  `, o;
695
- }, Me = (e, t, i) => {
696
- const { innerBox: o, imageList: s, lazyload: n } = t || {}, [l] = s, a = l || Ho(e, t), r = Po(a), h = Pe(r, n, "cloudimage-lazy"), c = Pe(r, !1, "cloudimage-360-placeholder"), p = (f) => {
700
+ }, Re = (e, t, i) => {
701
+ const { innerBox: o, imageList: s, lazyload: n } = t || {}, [l] = s, a = l || Xo(e, t), r = Mo(a), h = Me(r, n, "cloudimage-lazy"), c = Me(r, !1, "cloudimage-360-placeholder"), p = (f) => {
697
702
  ie(o, ".cloudimage-lazy"), i && i({
698
703
  event: f,
699
704
  width: h.width,
@@ -703,8 +708,8 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
703
708
  src: r
704
709
  });
705
710
  };
706
- h.onload = p, o.appendChild(h), o.appendChild(c), Mo(h);
707
- }, Xo = (e, t, i) => {
711
+ h.onload = p, o.appendChild(h), o.appendChild(c), Ro(h);
712
+ }, Zo = (e, t, i) => {
708
713
  const o = new Image();
709
714
  o.src = e, o.onload = (s) => {
710
715
  t && t({
@@ -719,19 +724,19 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
719
724
  const n = new Error(`Failed to load image: ${e}`);
720
725
  n.url = e, n.event = s, i ? i(n) : console.error(n.message);
721
726
  };
722
- }, Zo = (e, t) => {
727
+ }, Do = (e, t) => {
723
728
  const i = t.getBoundingClientRect(), o = e.touches ? e.touches[0].clientX : e.clientX, s = e.touches ? e.touches[0].clientY : e.clientY;
724
729
  return {
725
730
  x: o - i.left,
726
731
  y: s - i.top
727
732
  };
728
733
  }, ee = (e, t, i) => {
729
- const { container: o, w: s, h: n, zoom: l, bw: a, offsetX: r, offsetY: h } = t, c = Zo(e, o);
734
+ const { container: o, w: s, h: n, zoom: l, bw: a, offsetX: r, offsetY: h } = t, c = Do(e, o);
730
735
  let p = c.x, f = c.y;
731
736
  p = Math.max(s / l, Math.min(p, o.offsetWidth - s / l)), f = Math.max(n / l, Math.min(f, o.offsetHeight - n / l)), i.style.left = `${p - s}px`, i.style.top = `${f - n}px`;
732
- const u = (p - r) * l - s + a, w = (f - h) * l - n + a;
733
- i.style.backgroundPosition = `-${u}px -${w}px`;
734
- }, Do = (e, t, i, o, s, n) => {
737
+ const u = (p - r) * l - s + a, C = (f - h) * l - n + a;
738
+ i.style.backgroundPosition = `-${u}px -${C}px`;
739
+ }, Bo = (e, t, i, o, s, n) => {
735
740
  const { x: l = 0, y: a = 0 } = i || {}, r = (t.offsetWidth - l * 2) * n, h = (t.offsetHeight - a * 2) * n;
736
741
  if (!s) return;
737
742
  s.setAttribute("class", "cloudimage-360-img-magnifier-glass"), t.prepend(s), s.style.backgroundImage = `url('${o.src}')`, s.style.backgroundSize = `${r}px ${h}px`;
@@ -745,19 +750,19 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
745
750
  offsetY: a
746
751
  };
747
752
  ee(e, u, s);
748
- const w = (v) => {
753
+ const C = (v) => {
749
754
  ee(v, u, s);
750
755
  }, b = (v) => {
751
756
  v.preventDefault(), ee(v, u, s);
752
757
  };
753
- s.addEventListener("mousemove", w), t.addEventListener("mousemove", w), t.addEventListener("touchmove", b);
754
- }, Bo = (e, t, i) => {
758
+ s.addEventListener("mousemove", C), t.addEventListener("mousemove", C), t.addEventListener("touchmove", b);
759
+ }, Wo = (e, t, i) => {
755
760
  const { clientX: o, clientY: s } = e, n = t.getBoundingClientRect(), l = t.width / (n.width * i), a = t.height / (n.height * i), r = (o - n.left) * l, h = (s - n.top) * a;
756
761
  return { offsetX: r, offsetY: h };
757
- }, Wo = (e, t, i) => {
762
+ }, Fo = (e, t, i) => {
758
763
  const o = e / i, s = t / i;
759
764
  return { zoomedWidth: o, zoomedHeight: s };
760
- }, Fo = ({
765
+ }, Vo = ({
761
766
  pointerX: e,
762
767
  pointerY: t,
763
768
  imageData: i,
@@ -770,24 +775,24 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
770
775
  let h = e / n * a - o / 2, c = t / l * r - s / 2;
771
776
  const p = Math.max(0, a - o), f = Math.max(0, r - s);
772
777
  return h = Math.max(0, Math.min(h, p)), c = Math.max(0, Math.min(c, f)), { zoomOffsetX: h, zoomOffsetY: c };
773
- }, Re = (e, { bottom: t, top: i }) => {
778
+ }, Ye = (e, { bottom: t, top: i }) => {
774
779
  e ? t() : i();
775
- }, Ye = (e, { left: t, right: i }) => {
780
+ }, He = (e, { left: t, right: i }) => {
776
781
  e ? t() : i();
777
- }, Vo = ({ autoplayBehavior: e, spinY: t, reversed: i, loopTriggers: o }) => {
782
+ }, No = ({ autoplayBehavior: e, spinY: t, reversed: i, loopTriggers: o }) => {
778
783
  switch (e) {
779
784
  case H.SPIN_XY:
780
785
  case H.SPIN_YX:
781
- t ? Re(i, o) : Ye(i, o);
786
+ t ? Ye(i, o) : He(i, o);
782
787
  break;
783
788
  case H.SPIN_Y:
784
- Re(i, o);
789
+ Ye(i, o);
785
790
  break;
786
791
  case H.SPIN_X:
787
792
  default:
788
- Ye(i, o);
793
+ He(i, o);
789
794
  }
790
- }, No = ({
795
+ }, zo = ({
791
796
  autoplayBehavior: e,
792
797
  activeImageX: t,
793
798
  activeImageY: i,
@@ -808,7 +813,7 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
808
813
  default:
809
814
  return l(t, o);
810
815
  }
811
- }, zo = ({
816
+ }, $o = ({
812
817
  autoplayBehavior: e,
813
818
  activeImageX: t,
814
819
  activeImageY: i,
@@ -819,7 +824,7 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
819
824
  }) => {
820
825
  const a = t === (n ? 0 : o - 1), r = i === (n ? 0 : s - 1);
821
826
  return e === H.SPIN_XY || e === H.SPIN_YX ? l === "x" && a || l === "y" && r : !1;
822
- }, $o = (e, t, i) => {
827
+ }, jo = (e, t, i) => {
823
828
  if (!i) return "x";
824
829
  if (!t) return "y";
825
830
  switch (e) {
@@ -833,24 +838,24 @@ const Ce = /* @__PURE__ */ vi(Yi), H = {
833
838
  default:
834
839
  return "x";
835
840
  }
836
- }, jo = (e) => e === "x" ? "y" : "x", He = (e, t) => {
837
- const i = [...Xi];
838
- return t ? [...i, ...Zi].includes(e) : i.includes(e);
839
- }, Xe = ({ deltaX: e, deltaY: t, reversed: i, allowSpinX: o, allowSpinY: s, threshold: n = 0 }) => {
841
+ }, Go = (e) => e === "x" ? "y" : "x", Xe = (e, t) => {
842
+ const i = [...Zi];
843
+ return t ? [...i, ...Di].includes(e) : i.includes(e);
844
+ }, Ze = ({ deltaX: e, deltaY: t, reversed: i, allowSpinX: o, allowSpinY: s, threshold: n = 0 }) => {
840
845
  const l = o && !s || s && !o ? 0 : n, a = Math.abs(e), r = Math.abs(t);
841
846
  return o && a - l > r ? i ? e > 0 ? "left" : "right" : e > 0 ? "right" : "left" : s && r - l > a ? i ? t > 0 ? "up" : "down" : t > 0 ? "down" : "up" : null;
842
- }, Go = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0, _o = (e, t = 150) => {
847
+ }, _o = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0, Uo = (e, t = 150) => {
843
848
  let i;
844
849
  return function(...o) {
845
850
  clearTimeout(i), i = setTimeout(() => {
846
851
  e.apply(this, o);
847
852
  }, t);
848
853
  };
849
- }, ti = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IHY9KHQsYSxlKT0+e2NvbnN0IHM9dC9lLG49YS9lO3JldHVybnt6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpufX0sej0oe3BvaW50ZXJYOnQscG9pbnRlclk6YSxpbWFnZURhdGE6ZSx6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpuLGRyYXdXaWR0aDppLGRyYXdIZWlnaHQ6Y30pPT57Y29uc3R7bmF0dXJhbFdpZHRoOmcsbmF0dXJhbEhlaWdodDp1fT1lO2xldCBmPXQvaSpnLXMvMixtPWEvYyp1LW4vMjtjb25zdCB4PU1hdGgubWF4KDAsZy1zKSxPPU1hdGgubWF4KDAsdS1uKTtyZXR1cm4gZj1NYXRoLm1heCgwLE1hdGgubWluKGYseCkpLG09TWF0aC5tYXgoMCxNYXRoLm1pbihtLE8pKSx7em9vbU9mZnNldFg6Zix6b29tT2Zmc2V0WTptfX07bGV0IG8saCxyLGQsbCx3O3NlbGYub25tZXNzYWdlPWFzeW5jIHQ9Pntjb25zdHthY3Rpb246YSxvZmZzY3JlZW46ZSxkZXZpY2VQaXhlbFJhdGlvOnMsaW1hZ2VEYXRhOm4sem9vbVNjYWxlOmkscG9pbnRlclg6Yyxwb2ludGVyWTpnLGltYWdlQXNwZWN0UmF0aW86dSxjb250YWluZXJXaWR0aDpmLGNvbnRhaW5lckhlaWdodDptfT10LmRhdGE7c3dpdGNoKGEpe2Nhc2UiaW5pdENhbnZhcyI6QyhlLHMpO2JyZWFrO2Nhc2UiYWRhcHRDYW52YXNTaXplIjpwKHUsZixtKTticmVhaztjYXNlImRyYXdJbWFnZU9uQ2FudmFzIjpJKG4saSxjLGcpO2JyZWFrfX07Y29uc3QgQz0odCxhKT0+e289dCxoPW8uZ2V0Q29udGV4dCgiMmQiKSxyPWF9LHA9KHQsYSxlKT0+e2NvbnN0IHM9YS9lO3c9dD5zLG8ud2lkdGg9YSpyLG8uaGVpZ2h0PWUqcixoLnNjYWxlKHIsciksdz8oZD1hLGw9YS90KToobD1lLGQ9ZSp0KSxoLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCxoLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCJ9LEk9KHQ9e30sYT0xLGU9MCxzPTApPT57Y29uc3R7Yml0bWFwSW1hZ2U6bn09dDtpZighb3x8IW4pcmV0dXJuO2xldCBpLGM7aWYodz8oaT0wLGM9KG8uaGVpZ2h0L3ItbCkvMik6KGk9KG8ud2lkdGgvci1kKS8yLGM9MCksaC5jbGVhclJlY3QoMCwwLG8ud2lkdGgsby5oZWlnaHQpLGEhPT0xKXtjb25zdHtuYXR1cmFsV2lkdGg6ZyxuYXR1cmFsSGVpZ2h0OnV9PXQse3pvb21lZFdpZHRoOmYsem9vbWVkSGVpZ2h0Om19PXYoZyx1LGEpLHt6b29tT2Zmc2V0WDp4LHpvb21PZmZzZXRZOk99PXooe3BvaW50ZXJYOmUscG9pbnRlclk6cyxpbWFnZURhdGE6dCx6b29tZWRXaWR0aDpmLHpvb21lZEhlaWdodDptLGRyYXdXaWR0aDpkLGRyYXdIZWlnaHQ6bH0pO2guZHJhd0ltYWdlKG4seCxPLGYsbSxpLGMsZCxsKX1lbHNlIGguZHJhd0ltYWdlKG4saSxjLGQsbCl9fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FudmFzLndvcmtlci1DZzBma3BEMS5qcy5tYXAK", Uo = (e) => Uint8Array.from(atob(e), (t) => t.charCodeAt(0)), Ze = typeof self < "u" && self.Blob && new Blob([Uo(ti)], { type: "text/javascript;charset=utf-8" });
850
- function Ko(e) {
854
+ }, ei = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IHY9KHQsYSxlKT0+e2NvbnN0IHM9dC9lLG49YS9lO3JldHVybnt6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpufX0sej0oe3BvaW50ZXJYOnQscG9pbnRlclk6YSxpbWFnZURhdGE6ZSx6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpuLGRyYXdXaWR0aDppLGRyYXdIZWlnaHQ6Y30pPT57Y29uc3R7bmF0dXJhbFdpZHRoOmcsbmF0dXJhbEhlaWdodDp1fT1lO2xldCBmPXQvaSpnLXMvMixtPWEvYyp1LW4vMjtjb25zdCB4PU1hdGgubWF4KDAsZy1zKSxPPU1hdGgubWF4KDAsdS1uKTtyZXR1cm4gZj1NYXRoLm1heCgwLE1hdGgubWluKGYseCkpLG09TWF0aC5tYXgoMCxNYXRoLm1pbihtLE8pKSx7em9vbU9mZnNldFg6Zix6b29tT2Zmc2V0WTptfX07bGV0IG8saCxyLGQsbCx3O3NlbGYub25tZXNzYWdlPWFzeW5jIHQ9Pntjb25zdHthY3Rpb246YSxvZmZzY3JlZW46ZSxkZXZpY2VQaXhlbFJhdGlvOnMsaW1hZ2VEYXRhOm4sem9vbVNjYWxlOmkscG9pbnRlclg6Yyxwb2ludGVyWTpnLGltYWdlQXNwZWN0UmF0aW86dSxjb250YWluZXJXaWR0aDpmLGNvbnRhaW5lckhlaWdodDptfT10LmRhdGE7c3dpdGNoKGEpe2Nhc2UiaW5pdENhbnZhcyI6QyhlLHMpO2JyZWFrO2Nhc2UiYWRhcHRDYW52YXNTaXplIjpwKHUsZixtKTticmVhaztjYXNlImRyYXdJbWFnZU9uQ2FudmFzIjpJKG4saSxjLGcpO2JyZWFrfX07Y29uc3QgQz0odCxhKT0+e289dCxoPW8uZ2V0Q29udGV4dCgiMmQiKSxyPWF9LHA9KHQsYSxlKT0+e2NvbnN0IHM9YS9lO3c9dD5zLG8ud2lkdGg9YSpyLG8uaGVpZ2h0PWUqcixoLnNjYWxlKHIsciksdz8oZD1hLGw9YS90KToobD1lLGQ9ZSp0KSxoLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCxoLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCJ9LEk9KHQ9e30sYT0xLGU9MCxzPTApPT57Y29uc3R7Yml0bWFwSW1hZ2U6bn09dDtpZighb3x8IW4pcmV0dXJuO2xldCBpLGM7aWYodz8oaT0wLGM9KG8uaGVpZ2h0L3ItbCkvMik6KGk9KG8ud2lkdGgvci1kKS8yLGM9MCksaC5jbGVhclJlY3QoMCwwLG8ud2lkdGgsby5oZWlnaHQpLGEhPT0xKXtjb25zdHtuYXR1cmFsV2lkdGg6ZyxuYXR1cmFsSGVpZ2h0OnV9PXQse3pvb21lZFdpZHRoOmYsem9vbWVkSGVpZ2h0Om19PXYoZyx1LGEpLHt6b29tT2Zmc2V0WDp4LHpvb21PZmZzZXRZOk99PXooe3BvaW50ZXJYOmUscG9pbnRlclk6cyxpbWFnZURhdGE6dCx6b29tZWRXaWR0aDpmLHpvb21lZEhlaWdodDptLGRyYXdXaWR0aDpkLGRyYXdIZWlnaHQ6bH0pO2guZHJhd0ltYWdlKG4seCxPLGYsbSxpLGMsZCxsKX1lbHNlIGguZHJhd0ltYWdlKG4saSxjLGQsbCl9fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FudmFzLndvcmtlci1DZzBma3BEMS5qcy5tYXAK", Ko = (e) => Uint8Array.from(atob(e), (t) => t.charCodeAt(0)), De = typeof self < "u" && self.Blob && new Blob([Ko(ei)], { type: "text/javascript;charset=utf-8" });
855
+ function qo(e) {
851
856
  let t;
852
857
  try {
853
- if (t = Ze && (self.URL || self.webkitURL).createObjectURL(Ze), !t) throw "";
858
+ if (t = De && (self.URL || self.webkitURL).createObjectURL(De), !t) throw "";
854
859
  const i = new Worker(t, {
855
860
  name: e == null ? void 0 : e.name
856
861
  });
@@ -859,7 +864,7 @@ function Ko(e) {
859
864
  }), i;
860
865
  } catch {
861
866
  return new Worker(
862
- "data:text/javascript;base64," + ti,
867
+ "data:text/javascript;base64," + ei,
863
868
  {
864
869
  name: e == null ? void 0 : e.name
865
870
  }
@@ -868,7 +873,7 @@ function Ko(e) {
868
873
  t && (self.URL || self.webkitURL).revokeObjectURL(t);
869
874
  }
870
875
  }
871
- class qo {
876
+ class Jo {
872
877
  constructor() {
873
878
  this.canvas = null, this.ctx = null, this.dpr = 1, this.drawWidth = 0, this.drawHeight = 0, this.wideImage = !1;
874
879
  }
@@ -921,7 +926,7 @@ class qo {
921
926
  if (!this.canvas || !this.ctx || !n) return;
922
927
  let l, a;
923
928
  if (this.wideImage ? (l = 0, a = (this.canvas.height / this.dpr - this.drawHeight) / 2) : (l = (this.canvas.width / this.dpr - this.drawWidth) / 2, a = 0), this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height), i !== 1) {
924
- const { naturalWidth: r, naturalHeight: h } = t, { zoomedWidth: c, zoomedHeight: p } = Wo(r, h, i), { zoomOffsetX: f, zoomOffsetY: u } = Fo({
929
+ const { naturalWidth: r, naturalHeight: h } = t, { zoomedWidth: c, zoomedHeight: p } = Fo(r, h, i), { zoomOffsetX: f, zoomOffsetY: u } = Vo({
925
930
  pointerX: o,
926
931
  pointerY: s,
927
932
  imageData: t,
@@ -945,7 +950,7 @@ class qo {
945
950
  this.ctx.drawImage(n, l, a, this.drawWidth, this.drawHeight);
946
951
  }
947
952
  }
948
- const Jo = /* @__PURE__ */ new Set([
953
+ const Qo = /* @__PURE__ */ new Set([
949
954
  // Basic HTML
950
955
  "p",
951
956
  "span",
@@ -1004,7 +1009,7 @@ const Jo = /* @__PURE__ */ new Set([
1004
1009
  "lineargradient",
1005
1010
  "radialgradient",
1006
1011
  "stop"
1007
- ]), De = {
1012
+ ]), Be = {
1008
1013
  a: ["href", "title", "target", "rel"],
1009
1014
  img: ["src", "alt", "title", "width", "height"],
1010
1015
  button: ["type", "disabled", "name", "value"],
@@ -1032,12 +1037,12 @@ const Jo = /* @__PURE__ */ new Set([
1032
1037
  clippath: ["id"],
1033
1038
  mask: ["id"],
1034
1039
  "*": ["class", "id", "style"]
1035
- }, Qo = [
1040
+ }, ts = [
1036
1041
  /javascript:/gi,
1037
1042
  /vbscript:/gi,
1038
1043
  /data:/gi,
1039
1044
  /on\w+\s*=/gi
1040
- ], ts = (e) => {
1045
+ ], es = (e) => {
1041
1046
  if (typeof e != "string")
1042
1047
  return "";
1043
1048
  const t = document.createElement("template");
@@ -1045,7 +1050,7 @@ const Jo = /* @__PURE__ */ new Set([
1045
1050
  const i = (o) => {
1046
1051
  if (Array.from(o.childNodes).forEach(i), o.nodeType === Node.ELEMENT_NODE) {
1047
1052
  const n = o.tagName.toLowerCase();
1048
- if (!Jo.has(n)) {
1053
+ if (!Qo.has(n)) {
1049
1054
  if (n === "script" || n === "style") {
1050
1055
  o.remove();
1051
1056
  return;
@@ -1055,8 +1060,8 @@ const Jo = /* @__PURE__ */ new Set([
1055
1060
  return;
1056
1061
  }
1057
1062
  const l = [
1058
- ...De[n] || [],
1059
- ...De["*"] || []
1063
+ ...Be[n] || [],
1064
+ ...Be["*"] || []
1060
1065
  ];
1061
1066
  if (Array.from(o.attributes).forEach((r) => {
1062
1067
  const h = r.name.toLowerCase();
@@ -1069,7 +1074,7 @@ const Jo = /* @__PURE__ */ new Set([
1069
1074
  return;
1070
1075
  }
1071
1076
  let c = r.value;
1072
- Qo.forEach((p) => {
1077
+ ts.forEach((p) => {
1073
1078
  p.test(c) && o.removeAttribute(r.name);
1074
1079
  });
1075
1080
  }), n === "a") {
@@ -1083,9 +1088,9 @@ const Jo = /* @__PURE__ */ new Set([
1083
1088
  }
1084
1089
  };
1085
1090
  return i(t.content), t.innerHTML;
1086
- }, es = (e) => e === "y" ? R.Y : R.X, is = (e, t, i) => e.filter(
1087
- (o) => es(o.orientation) === i && t in o.positions
1088
- ), os = (e, t, i) => {
1091
+ }, is = (e) => e === "y" ? R.Y : R.X, os = (e, t, i) => e.filter(
1092
+ (o) => is(o.orientation) === i && t in o.positions
1093
+ ), ss = (e, t, i) => {
1089
1094
  const o = document.createElement("button");
1090
1095
  if (o.id = e, o.className = "cloudimage-360-hotspot cloudimage-360-hotspot--pulse", o.dataset.hotspotId = e, o.setAttribute("type", "button"), o.setAttribute("aria-label", t || `Hotspot ${e}`), o.setAttribute("aria-haspopup", "true"), o.setAttribute("aria-expanded", "false"), i === "dot-label" && t) {
1091
1096
  o.classList.add("cloudimage-360-hotspot--dot-label");
@@ -1093,7 +1098,7 @@ const Jo = /* @__PURE__ */ new Set([
1093
1098
  s.className = "cloudimage-360-hotspot-label", s.textContent = t, o.appendChild(s);
1094
1099
  }
1095
1100
  return o;
1096
- }, ss = (e) => {
1101
+ }, ns = (e) => {
1097
1102
  const t = Object.entries(e).sort(([n], [l]) => Number(n) - Number(l));
1098
1103
  let i = null, o = null;
1099
1104
  const s = {};
@@ -1108,7 +1113,7 @@ const Jo = /* @__PURE__ */ new Set([
1108
1113
  };
1109
1114
  }
1110
1115
  return s;
1111
- }, ns = (e) => ({
1116
+ }, rs = (e) => ({
1112
1117
  placement: "top",
1113
1118
  modifiers: [
1114
1119
  {
@@ -1131,16 +1136,16 @@ const Jo = /* @__PURE__ */ new Set([
1131
1136
  }
1132
1137
  }
1133
1138
  ]
1134
- }), rs = (e, t) => {
1139
+ }), as = (e, t) => {
1135
1140
  const i = document.createElement("div");
1136
- return i.className = "cloudimage-360-popper", i.id = `cloudimage-360-popper-${t}`, i.dataset.popperId = t, i.setAttribute("role", "tooltip"), i.setAttribute("aria-hidden", "false"), typeof e == "string" && /<\/?[a-z][\s\S]*>/i.test(e) ? i.innerHTML = ts(e) : i.textContent = e, document.body.appendChild(i), i;
1137
- }, as = (e) => {
1141
+ return i.className = "cloudimage-360-popper", i.id = `cloudimage-360-popper-${t}`, i.dataset.popperId = t, i.setAttribute("role", "tooltip"), i.setAttribute("aria-hidden", "false"), typeof e == "string" && /<\/?[a-z][\s\S]*>/i.test(e) ? i.innerHTML = es(e) : i.textContent = e, document.body.appendChild(i), i;
1142
+ }, ls = (e) => {
1138
1143
  const t = [...e];
1139
1144
  return t.forEach((i, o) => {
1140
- const s = { ...ss(i.positions) };
1145
+ const s = { ...ns(i.positions) };
1141
1146
  t[o].initialPositions = s, t[o].positions = s;
1142
1147
  }), t;
1143
- }, ls = ({
1148
+ }, cs = ({
1144
1149
  newWidth: e,
1145
1150
  newHeight: t,
1146
1151
  initialContainerSize: i,
@@ -1151,18 +1156,18 @@ const Jo = /* @__PURE__ */ new Set([
1151
1156
  let a = e, r = t, h = 0, c = 0;
1152
1157
  const p = e / t;
1153
1158
  o > p ? (r = e / o, c = (t - r) / 2) : (a = t * o, h = (e - a) / 2);
1154
- const u = a / n, w = r / l;
1159
+ const u = a / n, C = r / l;
1155
1160
  return s.map((b) => {
1156
1161
  const v = {};
1157
1162
  return Object.entries(b.initialPositions).forEach(([x, E]) => {
1158
1163
  v[x] = {
1159
1164
  x: E.x * u + h,
1160
- y: E.y * w + c
1165
+ y: E.y * C + c
1161
1166
  };
1162
1167
  }), { ...b, positions: v };
1163
1168
  });
1164
1169
  };
1165
- function cs(e) {
1170
+ function hs(e) {
1166
1171
  const t = [];
1167
1172
  e.image && t.push(
1168
1173
  `<div class="ci360-popper-image-wrapper"><img class="ci360-popper-image" src="${bt(e.image)}" alt="${bt(e.title || "")}"></div>`
@@ -1172,7 +1177,7 @@ function cs(e) {
1172
1177
  let o = "";
1173
1178
  e.originalPrice && (o += `<span class="ci360-popper-original-price">${dt(e.originalPrice)}</span>`), e.price && (o += `<span class="ci360-popper-price">${dt(e.price)}</span>`), i.push(`<div class="ci360-popper-price-row">${o}</div>`);
1174
1179
  }
1175
- if (e.description && i.push(`<p class="ci360-popper-description">${dt(e.description)}</p>`), e.url && hs(e.url)) {
1180
+ if (e.description && i.push(`<p class="ci360-popper-description">${dt(e.description)}</p>`), e.url && ds(e.url)) {
1176
1181
  const o = e.ctaText || "View details", s = e.id ? ` data-product-id="${bt(e.id)}"` : "";
1177
1182
  i.push(
1178
1183
  `<a class="ci360-popper-cta" href="${bt(e.url)}"${s}>${dt(String(o))}</a>`
@@ -1185,8 +1190,8 @@ function cs(e) {
1185
1190
  }
1186
1191
  return i.length > 0 && t.push(`<div class="ci360-popper-body">${i.join("")}</div>`), t.join("");
1187
1192
  }
1188
- function Be(e) {
1189
- return e.content ? e.content : e.data ? cs(e.data) : "";
1193
+ function We(e) {
1194
+ return e.content ? e.content : e.data ? hs(e.data) : "";
1190
1195
  }
1191
1196
  function dt(e) {
1192
1197
  return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
@@ -1194,15 +1199,15 @@ function dt(e) {
1194
1199
  function bt(e) {
1195
1200
  return e.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/'/g, "&#39;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
1196
1201
  }
1197
- function hs(e) {
1202
+ function ds(e) {
1198
1203
  const t = e.replace(/[\s\x00-\x1f]/g, "");
1199
1204
  return /^https?:\/\//i.test(t) || /^\/(?!\/)/.test(t) || /^#/.test(t);
1200
1205
  }
1201
- var X = "top", F = "bottom", V = "right", Z = "left", re = "auto", kt = [X, F, V, Z], pt = "start", Ot = "end", ds = "clippingParents", ei = "viewport", wt = "popper", ps = "reference", We = /* @__PURE__ */ kt.reduce(function(e, t) {
1206
+ var X = "top", F = "bottom", V = "right", Z = "left", re = "auto", kt = [X, F, V, Z], pt = "start", Ot = "end", ps = "clippingParents", ii = "viewport", wt = "popper", us = "reference", Fe = /* @__PURE__ */ kt.reduce(function(e, t) {
1202
1207
  return e.concat([t + "-" + pt, t + "-" + Ot]);
1203
- }, []), ii = /* @__PURE__ */ [].concat(kt, [re]).reduce(function(e, t) {
1208
+ }, []), oi = /* @__PURE__ */ [].concat(kt, [re]).reduce(function(e, t) {
1204
1209
  return e.concat([t, t + "-" + pt, t + "-" + Ot]);
1205
- }, []), us = "beforeRead", ms = "read", fs = "afterRead", vs = "beforeMain", gs = "main", ys = "afterMain", bs = "beforeWrite", ws = "write", Cs = "afterWrite", Is = [us, ms, fs, vs, gs, ys, bs, ws, Cs];
1210
+ }, []), ms = "beforeRead", fs = "read", vs = "afterRead", gs = "beforeMain", ys = "main", bs = "afterMain", ws = "beforeWrite", Cs = "write", Is = "afterWrite", xs = [ms, fs, vs, gs, ys, bs, ws, Cs, Is];
1206
1211
  function $(e) {
1207
1212
  return e ? (e.nodeName || "").toLowerCase() : null;
1208
1213
  }
@@ -1229,7 +1234,7 @@ function ae(e) {
1229
1234
  var t = B(e).ShadowRoot;
1230
1235
  return e instanceof t || e instanceof ShadowRoot;
1231
1236
  }
1232
- function xs(e) {
1237
+ function Os(e) {
1233
1238
  var t = e.state;
1234
1239
  Object.keys(t.elements).forEach(function(i) {
1235
1240
  var o = t.styles[i] || {}, s = t.attributes[i] || {}, n = t.elements[i];
@@ -1239,7 +1244,7 @@ function xs(e) {
1239
1244
  }));
1240
1245
  });
1241
1246
  }
1242
- function Os(e) {
1247
+ function Es(e) {
1243
1248
  var t = e.state, i = {
1244
1249
  popper: {
1245
1250
  position: t.options.strategy,
@@ -1263,12 +1268,12 @@ function Os(e) {
1263
1268
  });
1264
1269
  };
1265
1270
  }
1266
- const Es = {
1271
+ const ks = {
1267
1272
  name: "applyStyles",
1268
1273
  enabled: !0,
1269
1274
  phase: "write",
1270
- fn: xs,
1271
- effect: Os,
1275
+ fn: Os,
1276
+ effect: Es,
1272
1277
  requires: ["computeStyles"]
1273
1278
  };
1274
1279
  function z(e) {
@@ -1281,14 +1286,14 @@ function se() {
1281
1286
  return t.brand + "/" + t.version;
1282
1287
  }).join(" ") : navigator.userAgent;
1283
1288
  }
1284
- function oi() {
1289
+ function si() {
1285
1290
  return !/^((?!chrome|android).)*safari/i.test(se());
1286
1291
  }
1287
1292
  function mt(e, t, i) {
1288
1293
  t === void 0 && (t = !1), i === void 0 && (i = !1);
1289
1294
  var o = e.getBoundingClientRect(), s = 1, n = 1;
1290
1295
  t && W(e) && (s = e.offsetWidth > 0 && ut(o.width) / e.offsetWidth || 1, n = e.offsetHeight > 0 && ut(o.height) / e.offsetHeight || 1);
1291
- var l = ot(e) ? B(e) : window, a = l.visualViewport, r = !oi() && i, h = (o.left + (r && a ? a.offsetLeft : 0)) / s, c = (o.top + (r && a ? a.offsetTop : 0)) / n, p = o.width / s, f = o.height / n;
1296
+ var l = ot(e) ? B(e) : window, a = l.visualViewport, r = !si() && i, h = (o.left + (r && a ? a.offsetLeft : 0)) / s, c = (o.top + (r && a ? a.offsetTop : 0)) / n, p = o.width / s, f = o.height / n;
1292
1297
  return {
1293
1298
  width: p,
1294
1299
  height: f,
@@ -1309,7 +1314,7 @@ function le(e) {
1309
1314
  height: o
1310
1315
  };
1311
1316
  }
1312
- function si(e, t) {
1317
+ function ni(e, t) {
1313
1318
  var i = t.getRootNode && t.getRootNode();
1314
1319
  if (e.contains(t))
1315
1320
  return !0;
@@ -1326,7 +1331,7 @@ function si(e, t) {
1326
1331
  function q(e) {
1327
1332
  return B(e).getComputedStyle(e);
1328
1333
  }
1329
- function ks(e) {
1334
+ function As(e) {
1330
1335
  return ["table", "td", "th"].indexOf($(e)) >= 0;
1331
1336
  }
1332
1337
  function Q(e) {
@@ -1347,11 +1352,11 @@ function zt(e) {
1347
1352
  Q(e)
1348
1353
  );
1349
1354
  }
1350
- function Fe(e) {
1355
+ function Ve(e) {
1351
1356
  return !W(e) || // https://github.com/popperjs/popper-core/issues/837
1352
1357
  q(e).position === "fixed" ? null : e.offsetParent;
1353
1358
  }
1354
- function As(e) {
1359
+ function Ss(e) {
1355
1360
  var t = /firefox/i.test(se()), i = /Trident/i.test(se());
1356
1361
  if (i && W(e)) {
1357
1362
  var o = q(e);
@@ -1368,9 +1373,9 @@ function As(e) {
1368
1373
  return null;
1369
1374
  }
1370
1375
  function At(e) {
1371
- for (var t = B(e), i = Fe(e); i && ks(i) && q(i).position === "static"; )
1372
- i = Fe(i);
1373
- return i && ($(i) === "html" || $(i) === "body" && q(i).position === "static") ? t : i || As(e) || t;
1376
+ for (var t = B(e), i = Ve(e); i && As(i) && q(i).position === "static"; )
1377
+ i = Ve(i);
1378
+ return i && ($(i) === "html" || $(i) === "body" && q(i).position === "static") ? t : i || Ss(e) || t;
1374
1379
  }
1375
1380
  function ce(e) {
1376
1381
  return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
@@ -1378,11 +1383,11 @@ function ce(e) {
1378
1383
  function It(e, t, i) {
1379
1384
  return it(e, Vt(t, i));
1380
1385
  }
1381
- function Ss(e, t, i) {
1386
+ function Ts(e, t, i) {
1382
1387
  var o = It(e, t, i);
1383
1388
  return o > i ? i : o;
1384
1389
  }
1385
- function ni() {
1390
+ function ri() {
1386
1391
  return {
1387
1392
  top: 0,
1388
1393
  right: 0,
@@ -1390,57 +1395,57 @@ function ni() {
1390
1395
  left: 0
1391
1396
  };
1392
1397
  }
1393
- function ri(e) {
1394
- return Object.assign({}, ni(), e);
1398
+ function ai(e) {
1399
+ return Object.assign({}, ri(), e);
1395
1400
  }
1396
- function ai(e, t) {
1401
+ function li(e, t) {
1397
1402
  return t.reduce(function(i, o) {
1398
1403
  return i[o] = e, i;
1399
1404
  }, {});
1400
1405
  }
1401
- var Ts = function(t, i) {
1406
+ var Ls = function(t, i) {
1402
1407
  return t = typeof t == "function" ? t(Object.assign({}, i.rects, {
1403
1408
  placement: i.placement
1404
- })) : t, ri(typeof t != "number" ? t : ai(t, kt));
1409
+ })) : t, ai(typeof t != "number" ? t : li(t, kt));
1405
1410
  };
1406
- function Ls(e) {
1411
+ function Ps(e) {
1407
1412
  var t, i = e.state, o = e.name, s = e.options, n = i.elements.arrow, l = i.modifiersData.popperOffsets, a = z(i.placement), r = ce(a), h = [Z, V].indexOf(a) >= 0, c = h ? "height" : "width";
1408
1413
  if (!(!n || !l)) {
1409
- var p = Ts(s.padding, i), f = le(n), u = r === "y" ? X : Z, w = r === "y" ? F : V, b = i.rects.reference[c] + i.rects.reference[r] - l[r] - i.rects.popper[c], v = l[r] - i.rects.reference[r], x = At(n), E = x ? r === "y" ? x.clientHeight || 0 : x.clientWidth || 0 : 0, C = b / 2 - v / 2, y = p[u], O = E - f[c] - p[w], m = E / 2 - f[c] / 2 + C, g = It(y, m, O), I = r;
1410
- i.modifiersData[o] = (t = {}, t[I] = g, t.centerOffset = g - m, t);
1414
+ var p = Ls(s.padding, i), f = le(n), u = r === "y" ? X : Z, C = r === "y" ? F : V, b = i.rects.reference[c] + i.rects.reference[r] - l[r] - i.rects.popper[c], v = l[r] - i.rects.reference[r], x = At(n), E = x ? r === "y" ? x.clientHeight || 0 : x.clientWidth || 0 : 0, w = b / 2 - v / 2, g = p[u], O = E - f[c] - p[C], m = E / 2 - f[c] / 2 + w, y = It(g, m, O), I = r;
1415
+ i.modifiersData[o] = (t = {}, t[I] = y, t.centerOffset = y - m, t);
1411
1416
  }
1412
1417
  }
1413
- function Ps(e) {
1418
+ function Ms(e) {
1414
1419
  var t = e.state, i = e.options, o = i.element, s = o === void 0 ? "[data-popper-arrow]" : o;
1415
- s != null && (typeof s == "string" && (s = t.elements.popper.querySelector(s), !s) || si(t.elements.popper, s) && (t.elements.arrow = s));
1420
+ s != null && (typeof s == "string" && (s = t.elements.popper.querySelector(s), !s) || ni(t.elements.popper, s) && (t.elements.arrow = s));
1416
1421
  }
1417
- const Ms = {
1422
+ const Rs = {
1418
1423
  name: "arrow",
1419
1424
  enabled: !0,
1420
1425
  phase: "main",
1421
- fn: Ls,
1422
- effect: Ps,
1426
+ fn: Ps,
1427
+ effect: Ms,
1423
1428
  requires: ["popperOffsets"],
1424
1429
  requiresIfExists: ["preventOverflow"]
1425
1430
  };
1426
1431
  function ft(e) {
1427
1432
  return e.split("-")[1];
1428
1433
  }
1429
- var Rs = {
1434
+ var Ys = {
1430
1435
  top: "auto",
1431
1436
  right: "auto",
1432
1437
  bottom: "auto",
1433
1438
  left: "auto"
1434
1439
  };
1435
- function Ys(e, t) {
1440
+ function Hs(e, t) {
1436
1441
  var i = e.x, o = e.y, s = t.devicePixelRatio || 1;
1437
1442
  return {
1438
1443
  x: ut(i * s) / s || 0,
1439
1444
  y: ut(o * s) / s || 0
1440
1445
  };
1441
1446
  }
1442
- function Ve(e) {
1443
- var t, i = e.popper, o = e.popperRect, s = e.placement, n = e.variation, l = e.offsets, a = e.position, r = e.gpuAcceleration, h = e.adaptive, c = e.roundOffsets, p = e.isFixed, f = l.x, u = f === void 0 ? 0 : f, w = l.y, b = w === void 0 ? 0 : w, v = typeof c == "function" ? c({
1447
+ function Ne(e) {
1448
+ var t, i = e.popper, o = e.popperRect, s = e.placement, n = e.variation, l = e.offsets, a = e.position, r = e.gpuAcceleration, h = e.adaptive, c = e.roundOffsets, p = e.isFixed, f = l.x, u = f === void 0 ? 0 : f, C = l.y, b = C === void 0 ? 0 : C, v = typeof c == "function" ? c({
1444
1449
  x: u,
1445
1450
  y: b
1446
1451
  }) : {
@@ -1448,19 +1453,19 @@ function Ve(e) {
1448
1453
  y: b
1449
1454
  };
1450
1455
  u = v.x, b = v.y;
1451
- var x = l.hasOwnProperty("x"), E = l.hasOwnProperty("y"), C = Z, y = X, O = window;
1456
+ var x = l.hasOwnProperty("x"), E = l.hasOwnProperty("y"), w = Z, g = X, O = window;
1452
1457
  if (h) {
1453
- var m = At(i), g = "clientHeight", I = "clientWidth";
1454
- if (m === B(i) && (m = Q(i), q(m).position !== "static" && a === "absolute" && (g = "scrollHeight", I = "scrollWidth")), m = m, s === X || (s === Z || s === V) && n === Ot) {
1455
- y = F;
1458
+ var m = At(i), y = "clientHeight", I = "clientWidth";
1459
+ if (m === B(i) && (m = Q(i), q(m).position !== "static" && a === "absolute" && (y = "scrollHeight", I = "scrollWidth")), m = m, s === X || (s === Z || s === V) && n === Ot) {
1460
+ g = F;
1456
1461
  var k = p && m === O && O.visualViewport ? O.visualViewport.height : (
1457
1462
  // $FlowFixMe[prop-missing]
1458
- m[g]
1463
+ m[y]
1459
1464
  );
1460
1465
  b -= k - o.height, b *= r ? 1 : -1;
1461
1466
  }
1462
1467
  if (s === Z || (s === X || s === F) && n === Ot) {
1463
- C = V;
1468
+ w = V;
1464
1469
  var A = p && m === O && O.visualViewport ? O.visualViewport.width : (
1465
1470
  // $FlowFixMe[prop-missing]
1466
1471
  m[I]
@@ -1470,7 +1475,7 @@ function Ve(e) {
1470
1475
  }
1471
1476
  var T = Object.assign({
1472
1477
  position: a
1473
- }, h && Rs), Y = c === !0 ? Ys({
1478
+ }, h && Ys), Y = c === !0 ? Hs({
1474
1479
  x: u,
1475
1480
  y: b
1476
1481
  }, B(i)) : {
@@ -1479,11 +1484,11 @@ function Ve(e) {
1479
1484
  };
1480
1485
  if (u = Y.x, b = Y.y, r) {
1481
1486
  var L;
1482
- return Object.assign({}, T, (L = {}, L[y] = E ? "0" : "", L[C] = x ? "0" : "", L.transform = (O.devicePixelRatio || 1) <= 1 ? "translate(" + u + "px, " + b + "px)" : "translate3d(" + u + "px, " + b + "px, 0)", L));
1487
+ return Object.assign({}, T, (L = {}, L[g] = E ? "0" : "", L[w] = x ? "0" : "", L.transform = (O.devicePixelRatio || 1) <= 1 ? "translate(" + u + "px, " + b + "px)" : "translate3d(" + u + "px, " + b + "px, 0)", L));
1483
1488
  }
1484
- return Object.assign({}, T, (t = {}, t[y] = E ? b + "px" : "", t[C] = x ? u + "px" : "", t.transform = "", t));
1489
+ return Object.assign({}, T, (t = {}, t[g] = E ? b + "px" : "", t[w] = x ? u + "px" : "", t.transform = "", t));
1485
1490
  }
1486
- function Hs(e) {
1491
+ function Xs(e) {
1487
1492
  var t = e.state, i = e.options, o = i.gpuAcceleration, s = o === void 0 ? !0 : o, n = i.adaptive, l = n === void 0 ? !0 : n, a = i.roundOffsets, r = a === void 0 ? !0 : a, h = {
1488
1493
  placement: z(t.placement),
1489
1494
  variation: ft(t.placement),
@@ -1492,12 +1497,12 @@ function Hs(e) {
1492
1497
  gpuAcceleration: s,
1493
1498
  isFixed: t.options.strategy === "fixed"
1494
1499
  };
1495
- t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, Ve(Object.assign({}, h, {
1500
+ t.modifiersData.popperOffsets != null && (t.styles.popper = Object.assign({}, t.styles.popper, Ne(Object.assign({}, h, {
1496
1501
  offsets: t.modifiersData.popperOffsets,
1497
1502
  position: t.options.strategy,
1498
1503
  adaptive: l,
1499
1504
  roundOffsets: r
1500
- })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, Ve(Object.assign({}, h, {
1505
+ })))), t.modifiersData.arrow != null && (t.styles.arrow = Object.assign({}, t.styles.arrow, Ne(Object.assign({}, h, {
1501
1506
  offsets: t.modifiersData.arrow,
1502
1507
  position: "absolute",
1503
1508
  adaptive: !1,
@@ -1506,17 +1511,17 @@ function Hs(e) {
1506
1511
  "data-popper-placement": t.placement
1507
1512
  });
1508
1513
  }
1509
- const Xs = {
1514
+ const Zs = {
1510
1515
  name: "computeStyles",
1511
1516
  enabled: !0,
1512
1517
  phase: "beforeWrite",
1513
- fn: Hs,
1518
+ fn: Xs,
1514
1519
  data: {}
1515
1520
  };
1516
1521
  var Bt = {
1517
1522
  passive: !0
1518
1523
  };
1519
- function Zs(e) {
1524
+ function Ds(e) {
1520
1525
  var t = e.state, i = e.instance, o = e.options, s = o.scroll, n = s === void 0 ? !0 : s, l = o.resize, a = l === void 0 ? !0 : l, r = B(t.elements.popper), h = [].concat(t.scrollParents.reference, t.scrollParents.popper);
1521
1526
  return n && h.forEach(function(c) {
1522
1527
  c.addEventListener("scroll", i.update, Bt);
@@ -1526,16 +1531,16 @@ function Zs(e) {
1526
1531
  }), a && r.removeEventListener("resize", i.update, Bt);
1527
1532
  };
1528
1533
  }
1529
- const Ds = {
1534
+ const Bs = {
1530
1535
  name: "eventListeners",
1531
1536
  enabled: !0,
1532
1537
  phase: "write",
1533
1538
  fn: function() {
1534
1539
  },
1535
- effect: Zs,
1540
+ effect: Ds,
1536
1541
  data: {}
1537
1542
  };
1538
- var Bs = {
1543
+ var Ws = {
1539
1544
  left: "right",
1540
1545
  right: "left",
1541
1546
  bottom: "top",
@@ -1543,16 +1548,16 @@ var Bs = {
1543
1548
  };
1544
1549
  function Wt(e) {
1545
1550
  return e.replace(/left|right|bottom|top/g, function(t) {
1546
- return Bs[t];
1551
+ return Ws[t];
1547
1552
  });
1548
1553
  }
1549
- var Ws = {
1554
+ var Fs = {
1550
1555
  start: "end",
1551
1556
  end: "start"
1552
1557
  };
1553
- function Ne(e) {
1558
+ function ze(e) {
1554
1559
  return e.replace(/start|end/g, function(t) {
1555
- return Ws[t];
1560
+ return Fs[t];
1556
1561
  });
1557
1562
  }
1558
1563
  function he(e) {
@@ -1565,11 +1570,11 @@ function he(e) {
1565
1570
  function de(e) {
1566
1571
  return mt(Q(e)).left + he(e).scrollLeft;
1567
1572
  }
1568
- function Fs(e, t) {
1573
+ function Vs(e, t) {
1569
1574
  var i = B(e), o = Q(e), s = i.visualViewport, n = o.clientWidth, l = o.clientHeight, a = 0, r = 0;
1570
1575
  if (s) {
1571
1576
  n = s.width, l = s.height;
1572
- var h = oi();
1577
+ var h = si();
1573
1578
  (h || !h && t === "fixed") && (a = s.offsetLeft, r = s.offsetTop);
1574
1579
  }
1575
1580
  return {
@@ -1579,7 +1584,7 @@ function Fs(e, t) {
1579
1584
  y: r
1580
1585
  };
1581
1586
  }
1582
- function Vs(e) {
1587
+ function Ns(e) {
1583
1588
  var t, i = Q(e), o = he(e), s = (t = e.ownerDocument) == null ? void 0 : t.body, n = it(i.scrollWidth, i.clientWidth, s ? s.scrollWidth : 0, s ? s.clientWidth : 0), l = it(i.scrollHeight, i.clientHeight, s ? s.scrollHeight : 0, s ? s.clientHeight : 0), a = -o.scrollLeft + de(e), r = -o.scrollTop;
1584
1589
  return q(s || i).direction === "rtl" && (a += it(i.clientWidth, s ? s.clientWidth : 0) - n), {
1585
1590
  width: n,
@@ -1592,13 +1597,13 @@ function pe(e) {
1592
1597
  var t = q(e), i = t.overflow, o = t.overflowX, s = t.overflowY;
1593
1598
  return /auto|scroll|overlay|hidden/.test(i + s + o);
1594
1599
  }
1595
- function li(e) {
1596
- return ["html", "body", "#document"].indexOf($(e)) >= 0 ? e.ownerDocument.body : W(e) && pe(e) ? e : li(zt(e));
1600
+ function ci(e) {
1601
+ return ["html", "body", "#document"].indexOf($(e)) >= 0 ? e.ownerDocument.body : W(e) && pe(e) ? e : ci(zt(e));
1597
1602
  }
1598
1603
  function xt(e, t) {
1599
1604
  var i;
1600
1605
  t === void 0 && (t = []);
1601
- var o = li(e), s = o === ((i = e.ownerDocument) == null ? void 0 : i.body), n = B(o), l = s ? [n].concat(n.visualViewport || [], pe(o) ? o : []) : o, a = t.concat(l);
1606
+ var o = ci(e), s = o === ((i = e.ownerDocument) == null ? void 0 : i.body), n = B(o), l = s ? [n].concat(n.visualViewport || [], pe(o) ? o : []) : o, a = t.concat(l);
1602
1607
  return s ? a : (
1603
1608
  // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
1604
1609
  a.concat(xt(zt(l)))
@@ -1612,27 +1617,27 @@ function ne(e) {
1612
1617
  bottom: e.y + e.height
1613
1618
  });
1614
1619
  }
1615
- function Ns(e, t) {
1620
+ function zs(e, t) {
1616
1621
  var i = mt(e, !1, t === "fixed");
1617
1622
  return i.top = i.top + e.clientTop, i.left = i.left + e.clientLeft, i.bottom = i.top + e.clientHeight, i.right = i.left + e.clientWidth, i.width = e.clientWidth, i.height = e.clientHeight, i.x = i.left, i.y = i.top, i;
1618
1623
  }
1619
- function ze(e, t, i) {
1620
- return t === ei ? ne(Fs(e, i)) : ot(t) ? Ns(t, i) : ne(Vs(Q(e)));
1624
+ function $e(e, t, i) {
1625
+ return t === ii ? ne(Vs(e, i)) : ot(t) ? zs(t, i) : ne(Ns(Q(e)));
1621
1626
  }
1622
- function zs(e) {
1627
+ function $s(e) {
1623
1628
  var t = xt(zt(e)), i = ["absolute", "fixed"].indexOf(q(e).position) >= 0, o = i && W(e) ? At(e) : e;
1624
1629
  return ot(o) ? t.filter(function(s) {
1625
- return ot(s) && si(s, o) && $(s) !== "body";
1630
+ return ot(s) && ni(s, o) && $(s) !== "body";
1626
1631
  }) : [];
1627
1632
  }
1628
- function $s(e, t, i, o) {
1629
- var s = t === "clippingParents" ? zs(e) : [].concat(t), n = [].concat(s, [i]), l = n[0], a = n.reduce(function(r, h) {
1630
- var c = ze(e, h, o);
1633
+ function js(e, t, i, o) {
1634
+ var s = t === "clippingParents" ? $s(e) : [].concat(t), n = [].concat(s, [i]), l = n[0], a = n.reduce(function(r, h) {
1635
+ var c = $e(e, h, o);
1631
1636
  return r.top = it(c.top, r.top), r.right = Vt(c.right, r.right), r.bottom = Vt(c.bottom, r.bottom), r.left = it(c.left, r.left), r;
1632
- }, ze(e, l, o));
1637
+ }, $e(e, l, o));
1633
1638
  return a.width = a.right - a.left, a.height = a.bottom - a.top, a.x = a.left, a.y = a.top, a;
1634
1639
  }
1635
- function ci(e) {
1640
+ function hi(e) {
1636
1641
  var t = e.reference, i = e.element, o = e.placement, s = o ? z(o) : null, n = o ? ft(o) : null, l = t.x + t.width / 2 - i.width / 2, a = t.y + t.height / 2 - i.height / 2, r;
1637
1642
  switch (s) {
1638
1643
  case X:
@@ -1681,11 +1686,11 @@ function ci(e) {
1681
1686
  }
1682
1687
  function Et(e, t) {
1683
1688
  t === void 0 && (t = {});
1684
- var i = t, o = i.placement, s = o === void 0 ? e.placement : o, n = i.strategy, l = n === void 0 ? e.strategy : n, a = i.boundary, r = a === void 0 ? ds : a, h = i.rootBoundary, c = h === void 0 ? ei : h, p = i.elementContext, f = p === void 0 ? wt : p, u = i.altBoundary, w = u === void 0 ? !1 : u, b = i.padding, v = b === void 0 ? 0 : b, x = ri(typeof v != "number" ? v : ai(v, kt)), E = f === wt ? ps : wt, C = e.rects.popper, y = e.elements[w ? E : f], O = $s(ot(y) ? y : y.contextElement || Q(e.elements.popper), r, c, l), m = mt(e.elements.reference), g = ci({
1689
+ var i = t, o = i.placement, s = o === void 0 ? e.placement : o, n = i.strategy, l = n === void 0 ? e.strategy : n, a = i.boundary, r = a === void 0 ? ps : a, h = i.rootBoundary, c = h === void 0 ? ii : h, p = i.elementContext, f = p === void 0 ? wt : p, u = i.altBoundary, C = u === void 0 ? !1 : u, b = i.padding, v = b === void 0 ? 0 : b, x = ai(typeof v != "number" ? v : li(v, kt)), E = f === wt ? us : wt, w = e.rects.popper, g = e.elements[C ? E : f], O = js(ot(g) ? g : g.contextElement || Q(e.elements.popper), r, c, l), m = mt(e.elements.reference), y = hi({
1685
1690
  reference: m,
1686
- element: C,
1691
+ element: w,
1687
1692
  placement: s
1688
- }), I = ne(Object.assign({}, C, g)), k = f === wt ? I : m, A = {
1693
+ }), I = ne(Object.assign({}, w, y)), k = f === wt ? I : m, A = {
1689
1694
  top: O.top - k.top + x.top,
1690
1695
  bottom: k.bottom - O.bottom + x.bottom,
1691
1696
  left: O.left - k.left + x.left,
@@ -1700,46 +1705,46 @@ function Et(e, t) {
1700
1705
  }
1701
1706
  return A;
1702
1707
  }
1703
- function js(e, t) {
1708
+ function Gs(e, t) {
1704
1709
  t === void 0 && (t = {});
1705
- var i = t, o = i.placement, s = i.boundary, n = i.rootBoundary, l = i.padding, a = i.flipVariations, r = i.allowedAutoPlacements, h = r === void 0 ? ii : r, c = ft(o), p = c ? a ? We : We.filter(function(w) {
1706
- return ft(w) === c;
1707
- }) : kt, f = p.filter(function(w) {
1708
- return h.indexOf(w) >= 0;
1710
+ var i = t, o = i.placement, s = i.boundary, n = i.rootBoundary, l = i.padding, a = i.flipVariations, r = i.allowedAutoPlacements, h = r === void 0 ? oi : r, c = ft(o), p = c ? a ? Fe : Fe.filter(function(C) {
1711
+ return ft(C) === c;
1712
+ }) : kt, f = p.filter(function(C) {
1713
+ return h.indexOf(C) >= 0;
1709
1714
  });
1710
1715
  f.length === 0 && (f = p);
1711
- var u = f.reduce(function(w, b) {
1712
- return w[b] = Et(e, {
1716
+ var u = f.reduce(function(C, b) {
1717
+ return C[b] = Et(e, {
1713
1718
  placement: b,
1714
1719
  boundary: s,
1715
1720
  rootBoundary: n,
1716
1721
  padding: l
1717
- })[z(b)], w;
1722
+ })[z(b)], C;
1718
1723
  }, {});
1719
- return Object.keys(u).sort(function(w, b) {
1720
- return u[w] - u[b];
1724
+ return Object.keys(u).sort(function(C, b) {
1725
+ return u[C] - u[b];
1721
1726
  });
1722
1727
  }
1723
- function Gs(e) {
1728
+ function _s(e) {
1724
1729
  if (z(e) === re)
1725
1730
  return [];
1726
1731
  var t = Wt(e);
1727
- return [Ne(e), t, Ne(t)];
1732
+ return [ze(e), t, ze(t)];
1728
1733
  }
1729
- function _s(e) {
1734
+ function Us(e) {
1730
1735
  var t = e.state, i = e.options, o = e.name;
1731
1736
  if (!t.modifiersData[o]._skip) {
1732
- for (var s = i.mainAxis, n = s === void 0 ? !0 : s, l = i.altAxis, a = l === void 0 ? !0 : l, r = i.fallbackPlacements, h = i.padding, c = i.boundary, p = i.rootBoundary, f = i.altBoundary, u = i.flipVariations, w = u === void 0 ? !0 : u, b = i.allowedAutoPlacements, v = t.options.placement, x = z(v), E = x === v, C = r || (E || !w ? [Wt(v)] : Gs(v)), y = [v].concat(C).reduce(function(J, N) {
1733
- return J.concat(z(N) === re ? js(t, {
1737
+ for (var s = i.mainAxis, n = s === void 0 ? !0 : s, l = i.altAxis, a = l === void 0 ? !0 : l, r = i.fallbackPlacements, h = i.padding, c = i.boundary, p = i.rootBoundary, f = i.altBoundary, u = i.flipVariations, C = u === void 0 ? !0 : u, b = i.allowedAutoPlacements, v = t.options.placement, x = z(v), E = x === v, w = r || (E || !C ? [Wt(v)] : _s(v)), g = [v].concat(w).reduce(function(J, N) {
1738
+ return J.concat(z(N) === re ? Gs(t, {
1734
1739
  placement: N,
1735
1740
  boundary: c,
1736
1741
  rootBoundary: p,
1737
1742
  padding: h,
1738
- flipVariations: w,
1743
+ flipVariations: C,
1739
1744
  allowedAutoPlacements: b
1740
1745
  }) : N);
1741
- }, []), O = t.rects.reference, m = t.rects.popper, g = /* @__PURE__ */ new Map(), I = !0, k = y[0], A = 0; A < y.length; A++) {
1742
- var T = y[A], Y = z(T), L = ft(T) === pt, j = [X, F].indexOf(Y) >= 0, G = j ? "width" : "height", P = Et(t, {
1746
+ }, []), O = t.rects.reference, m = t.rects.popper, y = /* @__PURE__ */ new Map(), I = !0, k = g[0], A = 0; A < g.length; A++) {
1747
+ var T = g[A], Y = z(T), L = ft(T) === pt, j = [X, F].indexOf(Y) >= 0, G = j ? "width" : "height", P = Et(t, {
1743
1748
  placement: T,
1744
1749
  boundary: c,
1745
1750
  rootBoundary: p,
@@ -1754,12 +1759,12 @@ function _s(e) {
1754
1759
  k = T, I = !1;
1755
1760
  break;
1756
1761
  }
1757
- g.set(T, _);
1762
+ y.set(T, _);
1758
1763
  }
1759
1764
  if (I)
1760
- for (var nt = w ? 3 : 1, vt = function(N) {
1761
- var et = y.find(function(at) {
1762
- var U = g.get(at);
1765
+ for (var nt = C ? 3 : 1, vt = function(N) {
1766
+ var et = g.find(function(at) {
1767
+ var U = y.get(at);
1763
1768
  if (U)
1764
1769
  return U.slice(0, N).every(function(lt) {
1765
1770
  return lt;
@@ -1774,17 +1779,17 @@ function _s(e) {
1774
1779
  t.placement !== k && (t.modifiersData[o]._skip = !0, t.placement = k, t.reset = !0);
1775
1780
  }
1776
1781
  }
1777
- const Us = {
1782
+ const Ks = {
1778
1783
  name: "flip",
1779
1784
  enabled: !0,
1780
1785
  phase: "main",
1781
- fn: _s,
1786
+ fn: Us,
1782
1787
  requiresIfExists: ["offset"],
1783
1788
  data: {
1784
1789
  _skip: !1
1785
1790
  }
1786
1791
  };
1787
- function $e(e, t, i) {
1792
+ function je(e, t, i) {
1788
1793
  return i === void 0 && (i = {
1789
1794
  x: 0,
1790
1795
  y: 0
@@ -1795,17 +1800,17 @@ function $e(e, t, i) {
1795
1800
  left: e.left - t.width - i.x
1796
1801
  };
1797
1802
  }
1798
- function je(e) {
1803
+ function Ge(e) {
1799
1804
  return [X, V, F, Z].some(function(t) {
1800
1805
  return e[t] >= 0;
1801
1806
  });
1802
1807
  }
1803
- function Ks(e) {
1808
+ function qs(e) {
1804
1809
  var t = e.state, i = e.name, o = t.rects.reference, s = t.rects.popper, n = t.modifiersData.preventOverflow, l = Et(t, {
1805
1810
  elementContext: "reference"
1806
1811
  }), a = Et(t, {
1807
1812
  altBoundary: !0
1808
- }), r = $e(l, o), h = $e(a, s, n), c = je(r), p = je(h);
1813
+ }), r = je(l, o), h = je(a, s, n), c = Ge(r), p = Ge(h);
1809
1814
  t.modifiersData[i] = {
1810
1815
  referenceClippingOffsets: r,
1811
1816
  popperEscapeOffsets: h,
@@ -1816,14 +1821,14 @@ function Ks(e) {
1816
1821
  "data-popper-escaped": p
1817
1822
  });
1818
1823
  }
1819
- const qs = {
1824
+ const Js = {
1820
1825
  name: "hide",
1821
1826
  enabled: !0,
1822
1827
  phase: "main",
1823
1828
  requiresIfExists: ["preventOverflow"],
1824
- fn: Ks
1829
+ fn: qs
1825
1830
  };
1826
- function Js(e, t, i) {
1831
+ function Qs(e, t, i) {
1827
1832
  var o = z(e), s = [Z, X].indexOf(o) >= 0 ? -1 : 1, n = typeof i == "function" ? i(Object.assign({}, t, {
1828
1833
  placement: e
1829
1834
  })) : i, l = n[0], a = n[1];
@@ -1835,44 +1840,44 @@ function Js(e, t, i) {
1835
1840
  y: a
1836
1841
  };
1837
1842
  }
1838
- function Qs(e) {
1839
- var t = e.state, i = e.options, o = e.name, s = i.offset, n = s === void 0 ? [0, 0] : s, l = ii.reduce(function(c, p) {
1840
- return c[p] = Js(p, t.rects, n), c;
1843
+ function tn(e) {
1844
+ var t = e.state, i = e.options, o = e.name, s = i.offset, n = s === void 0 ? [0, 0] : s, l = oi.reduce(function(c, p) {
1845
+ return c[p] = Qs(p, t.rects, n), c;
1841
1846
  }, {}), a = l[t.placement], r = a.x, h = a.y;
1842
1847
  t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += r, t.modifiersData.popperOffsets.y += h), t.modifiersData[o] = l;
1843
1848
  }
1844
- const tn = {
1849
+ const en = {
1845
1850
  name: "offset",
1846
1851
  enabled: !0,
1847
1852
  phase: "main",
1848
1853
  requires: ["popperOffsets"],
1849
- fn: Qs
1854
+ fn: tn
1850
1855
  };
1851
- function en(e) {
1856
+ function on(e) {
1852
1857
  var t = e.state, i = e.name;
1853
- t.modifiersData[i] = ci({
1858
+ t.modifiersData[i] = hi({
1854
1859
  reference: t.rects.reference,
1855
1860
  element: t.rects.popper,
1856
1861
  placement: t.placement
1857
1862
  });
1858
1863
  }
1859
- const on = {
1864
+ const sn = {
1860
1865
  name: "popperOffsets",
1861
1866
  enabled: !0,
1862
1867
  phase: "read",
1863
- fn: en,
1868
+ fn: on,
1864
1869
  data: {}
1865
1870
  };
1866
- function sn(e) {
1871
+ function nn(e) {
1867
1872
  return e === "x" ? "y" : "x";
1868
1873
  }
1869
- function nn(e) {
1870
- var t = e.state, i = e.options, o = e.name, s = i.mainAxis, n = s === void 0 ? !0 : s, l = i.altAxis, a = l === void 0 ? !1 : l, r = i.boundary, h = i.rootBoundary, c = i.altBoundary, p = i.padding, f = i.tether, u = f === void 0 ? !0 : f, w = i.tetherOffset, b = w === void 0 ? 0 : w, v = Et(t, {
1874
+ function rn(e) {
1875
+ var t = e.state, i = e.options, o = e.name, s = i.mainAxis, n = s === void 0 ? !0 : s, l = i.altAxis, a = l === void 0 ? !1 : l, r = i.boundary, h = i.rootBoundary, c = i.altBoundary, p = i.padding, f = i.tether, u = f === void 0 ? !0 : f, C = i.tetherOffset, b = C === void 0 ? 0 : C, v = Et(t, {
1871
1876
  boundary: r,
1872
1877
  rootBoundary: h,
1873
1878
  padding: p,
1874
1879
  altBoundary: c
1875
- }), x = z(t.placement), E = ft(t.placement), C = !E, y = ce(x), O = sn(y), m = t.modifiersData.popperOffsets, g = t.rects.reference, I = t.rects.popper, k = typeof b == "function" ? b(Object.assign({}, t.rects, {
1880
+ }), x = z(t.placement), E = ft(t.placement), w = !E, g = ce(x), O = nn(g), m = t.modifiersData.popperOffsets, y = t.rects.reference, I = t.rects.popper, k = typeof b == "function" ? b(Object.assign({}, t.rects, {
1876
1881
  placement: t.placement
1877
1882
  })) : b, A = typeof k == "number" ? {
1878
1883
  mainAxis: k,
@@ -1886,42 +1891,42 @@ function nn(e) {
1886
1891
  };
1887
1892
  if (m) {
1888
1893
  if (n) {
1889
- var L, j = y === "y" ? X : Z, G = y === "y" ? F : V, P = y === "y" ? "height" : "width", D = m[y], st = D + v[j], _ = D - v[G], nt = u ? -I[P] / 2 : 0, vt = E === pt ? g[P] : I[P], tt = E === pt ? -I[P] : -g[P], rt = t.elements.arrow, J = u && rt ? le(rt) : {
1894
+ var L, j = g === "y" ? X : Z, G = g === "y" ? F : V, P = g === "y" ? "height" : "width", D = m[g], st = D + v[j], _ = D - v[G], nt = u ? -I[P] / 2 : 0, vt = E === pt ? y[P] : I[P], tt = E === pt ? -I[P] : -y[P], rt = t.elements.arrow, J = u && rt ? le(rt) : {
1890
1895
  width: 0,
1891
1896
  height: 0
1892
- }, N = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : ni(), et = N[j], at = N[G], U = It(0, g[P], J[P]), lt = C ? g[P] / 2 - nt - U - et - A.mainAxis : vt - U - et - A.mainAxis, St = C ? -g[P] / 2 + nt + U + at + A.mainAxis : tt + U + at + A.mainAxis, ct = t.elements.arrow && At(t.elements.arrow), $t = ct ? y === "y" ? ct.clientTop || 0 : ct.clientLeft || 0 : 0, Tt = (L = T == null ? void 0 : T[y]) != null ? L : 0, jt = D + lt - Tt - $t, Gt = D + St - Tt, Lt = It(u ? Vt(st, jt) : st, D, u ? it(_, Gt) : _);
1893
- m[y] = Lt, Y[y] = Lt - D;
1897
+ }, N = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : ri(), et = N[j], at = N[G], U = It(0, y[P], J[P]), lt = w ? y[P] / 2 - nt - U - et - A.mainAxis : vt - U - et - A.mainAxis, St = w ? -y[P] / 2 + nt + U + at + A.mainAxis : tt + U + at + A.mainAxis, ct = t.elements.arrow && At(t.elements.arrow), $t = ct ? g === "y" ? ct.clientTop || 0 : ct.clientLeft || 0 : 0, Tt = (L = T == null ? void 0 : T[g]) != null ? L : 0, jt = D + lt - Tt - $t, Gt = D + St - Tt, Lt = It(u ? Vt(st, jt) : st, D, u ? it(_, Gt) : _);
1898
+ m[g] = Lt, Y[g] = Lt - D;
1894
1899
  }
1895
1900
  if (a) {
1896
- var Pt, _t = y === "x" ? X : Z, Ut = y === "x" ? F : V, K = m[O], ht = O === "y" ? "height" : "width", Mt = K + v[_t], Rt = K - v[Ut], gt = [X, Z].indexOf(x) !== -1, Yt = (Pt = T == null ? void 0 : T[O]) != null ? Pt : 0, Ht = gt ? Mt : K - g[ht] - I[ht] - Yt + A.altAxis, Kt = gt ? K + g[ht] + I[ht] - Yt - A.altAxis : Rt, qt = u && gt ? Ss(Ht, K, Kt) : It(u ? Ht : Mt, K, u ? Kt : Rt);
1901
+ var Pt, _t = g === "x" ? X : Z, Ut = g === "x" ? F : V, K = m[O], ht = O === "y" ? "height" : "width", Mt = K + v[_t], Rt = K - v[Ut], gt = [X, Z].indexOf(x) !== -1, Yt = (Pt = T == null ? void 0 : T[O]) != null ? Pt : 0, Ht = gt ? Mt : K - y[ht] - I[ht] - Yt + A.altAxis, Kt = gt ? K + y[ht] + I[ht] - Yt - A.altAxis : Rt, qt = u && gt ? Ts(Ht, K, Kt) : It(u ? Ht : Mt, K, u ? Kt : Rt);
1897
1902
  m[O] = qt, Y[O] = qt - K;
1898
1903
  }
1899
1904
  t.modifiersData[o] = Y;
1900
1905
  }
1901
1906
  }
1902
- const rn = {
1907
+ const an = {
1903
1908
  name: "preventOverflow",
1904
1909
  enabled: !0,
1905
1910
  phase: "main",
1906
- fn: nn,
1911
+ fn: rn,
1907
1912
  requiresIfExists: ["offset"]
1908
1913
  };
1909
- function an(e) {
1914
+ function ln(e) {
1910
1915
  return {
1911
1916
  scrollLeft: e.scrollLeft,
1912
1917
  scrollTop: e.scrollTop
1913
1918
  };
1914
1919
  }
1915
- function ln(e) {
1916
- return e === B(e) || !W(e) ? he(e) : an(e);
1917
- }
1918
1920
  function cn(e) {
1921
+ return e === B(e) || !W(e) ? he(e) : ln(e);
1922
+ }
1923
+ function hn(e) {
1919
1924
  var t = e.getBoundingClientRect(), i = ut(t.width) / e.offsetWidth || 1, o = ut(t.height) / e.offsetHeight || 1;
1920
1925
  return i !== 1 || o !== 1;
1921
1926
  }
1922
- function hn(e, t, i) {
1927
+ function dn(e, t, i) {
1923
1928
  i === void 0 && (i = !1);
1924
- var o = W(t), s = W(t) && cn(t), n = Q(t), l = mt(e, s, i), a = {
1929
+ var o = W(t), s = W(t) && hn(t), n = Q(t), l = mt(e, s, i), a = {
1925
1930
  scrollLeft: 0,
1926
1931
  scrollTop: 0
1927
1932
  }, r = {
@@ -1929,14 +1934,14 @@ function hn(e, t, i) {
1929
1934
  y: 0
1930
1935
  };
1931
1936
  return (o || !o && !i) && (($(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
1932
- pe(n)) && (a = ln(t)), W(t) ? (r = mt(t, !0), r.x += t.clientLeft, r.y += t.clientTop) : n && (r.x = de(n))), {
1937
+ pe(n)) && (a = cn(t)), W(t) ? (r = mt(t, !0), r.x += t.clientLeft, r.y += t.clientTop) : n && (r.x = de(n))), {
1933
1938
  x: l.left + a.scrollLeft - r.x,
1934
1939
  y: l.top + a.scrollTop - r.y,
1935
1940
  width: l.width,
1936
1941
  height: l.height
1937
1942
  };
1938
1943
  }
1939
- function dn(e) {
1944
+ function pn(e) {
1940
1945
  var t = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), o = [];
1941
1946
  e.forEach(function(n) {
1942
1947
  t.set(n.name, n);
@@ -1955,15 +1960,15 @@ function dn(e) {
1955
1960
  i.has(n.name) || s(n);
1956
1961
  }), o;
1957
1962
  }
1958
- function pn(e) {
1959
- var t = dn(e);
1960
- return Is.reduce(function(i, o) {
1963
+ function un(e) {
1964
+ var t = pn(e);
1965
+ return xs.reduce(function(i, o) {
1961
1966
  return i.concat(t.filter(function(s) {
1962
1967
  return s.phase === o;
1963
1968
  }));
1964
1969
  }, []);
1965
1970
  }
1966
- function un(e) {
1971
+ function mn(e) {
1967
1972
  var t;
1968
1973
  return function() {
1969
1974
  return t || (t = new Promise(function(i) {
@@ -1973,7 +1978,7 @@ function un(e) {
1973
1978
  })), t;
1974
1979
  };
1975
1980
  }
1976
- function mn(e) {
1981
+ function fn(e) {
1977
1982
  var t = e.reduce(function(i, o) {
1978
1983
  var s = i[o.name];
1979
1984
  return i[o.name] = s ? Object.assign({}, s, o, {
@@ -1985,27 +1990,27 @@ function mn(e) {
1985
1990
  return t[i];
1986
1991
  });
1987
1992
  }
1988
- var Ge = {
1993
+ var _e = {
1989
1994
  placement: "bottom",
1990
1995
  modifiers: [],
1991
1996
  strategy: "absolute"
1992
1997
  };
1993
- function _e() {
1998
+ function Ue() {
1994
1999
  for (var e = arguments.length, t = new Array(e), i = 0; i < e; i++)
1995
2000
  t[i] = arguments[i];
1996
2001
  return !t.some(function(o) {
1997
2002
  return !(o && typeof o.getBoundingClientRect == "function");
1998
2003
  });
1999
2004
  }
2000
- function fn(e) {
2005
+ function vn(e) {
2001
2006
  e === void 0 && (e = {});
2002
- var t = e, i = t.defaultModifiers, o = i === void 0 ? [] : i, s = t.defaultOptions, n = s === void 0 ? Ge : s;
2007
+ var t = e, i = t.defaultModifiers, o = i === void 0 ? [] : i, s = t.defaultOptions, n = s === void 0 ? _e : s;
2003
2008
  return function(a, r, h) {
2004
2009
  h === void 0 && (h = n);
2005
2010
  var c = {
2006
2011
  placement: "bottom",
2007
2012
  orderedModifiers: [],
2008
- options: Object.assign({}, Ge, n),
2013
+ options: Object.assign({}, _e, n),
2009
2014
  modifiersData: {},
2010
2015
  elements: {
2011
2016
  reference: a,
@@ -2021,10 +2026,10 @@ function fn(e) {
2021
2026
  reference: ot(a) ? xt(a) : a.contextElement ? xt(a.contextElement) : [],
2022
2027
  popper: xt(r)
2023
2028
  };
2024
- var C = pn(mn([].concat(o, c.options.modifiers)));
2025
- return c.orderedModifiers = C.filter(function(y) {
2026
- return y.enabled;
2027
- }), w(), u.update();
2029
+ var w = un(fn([].concat(o, c.options.modifiers)));
2030
+ return c.orderedModifiers = w.filter(function(g) {
2031
+ return g.enabled;
2032
+ }), C(), u.update();
2028
2033
  },
2029
2034
  // Sync update – it will always be executed, even if not necessary. This
2030
2035
  // is useful for low frequency updates where sync behavior simplifies the
@@ -2033,20 +2038,20 @@ function fn(e) {
2033
2038
  // prefer the async Popper#update method
2034
2039
  forceUpdate: function() {
2035
2040
  if (!f) {
2036
- var x = c.elements, E = x.reference, C = x.popper;
2037
- if (_e(E, C)) {
2041
+ var x = c.elements, E = x.reference, w = x.popper;
2042
+ if (Ue(E, w)) {
2038
2043
  c.rects = {
2039
- reference: hn(E, At(C), c.options.strategy === "fixed"),
2040
- popper: le(C)
2044
+ reference: dn(E, At(w), c.options.strategy === "fixed"),
2045
+ popper: le(w)
2041
2046
  }, c.reset = !1, c.placement = c.options.placement, c.orderedModifiers.forEach(function(A) {
2042
2047
  return c.modifiersData[A.name] = Object.assign({}, A.data);
2043
2048
  });
2044
- for (var y = 0; y < c.orderedModifiers.length; y++) {
2049
+ for (var g = 0; g < c.orderedModifiers.length; g++) {
2045
2050
  if (c.reset === !0) {
2046
- c.reset = !1, y = -1;
2051
+ c.reset = !1, g = -1;
2047
2052
  continue;
2048
2053
  }
2049
- var O = c.orderedModifiers[y], m = O.fn, g = O.options, I = g === void 0 ? {} : g, k = O.name;
2054
+ var O = c.orderedModifiers[g], m = O.fn, y = O.options, I = y === void 0 ? {} : y, k = O.name;
2050
2055
  typeof m == "function" && (c = m({
2051
2056
  state: c,
2052
2057
  options: I,
@@ -2059,7 +2064,7 @@ function fn(e) {
2059
2064
  },
2060
2065
  // Async and optimistically optimized update – it will not be executed if
2061
2066
  // not necessary (debounced to run at most once-per-tick)
2062
- update: un(function() {
2067
+ update: mn(function() {
2063
2068
  return new Promise(function(v) {
2064
2069
  u.forceUpdate(), v(c);
2065
2070
  });
@@ -2068,20 +2073,20 @@ function fn(e) {
2068
2073
  b(), f = !0;
2069
2074
  }
2070
2075
  };
2071
- if (!_e(a, r))
2076
+ if (!Ue(a, r))
2072
2077
  return u;
2073
2078
  u.setOptions(h).then(function(v) {
2074
2079
  !f && h.onFirstUpdate && h.onFirstUpdate(v);
2075
2080
  });
2076
- function w() {
2081
+ function C() {
2077
2082
  c.orderedModifiers.forEach(function(v) {
2078
- var x = v.name, E = v.options, C = E === void 0 ? {} : E, y = v.effect;
2079
- if (typeof y == "function") {
2080
- var O = y({
2083
+ var x = v.name, E = v.options, w = E === void 0 ? {} : E, g = v.effect;
2084
+ if (typeof g == "function") {
2085
+ var O = g({
2081
2086
  state: c,
2082
2087
  name: x,
2083
2088
  instance: u,
2084
- options: C
2089
+ options: w
2085
2090
  }), m = function() {
2086
2091
  };
2087
2092
  p.push(O || m);
@@ -2096,10 +2101,10 @@ function fn(e) {
2096
2101
  return u;
2097
2102
  };
2098
2103
  }
2099
- var vn = [Ds, on, Xs, Es, tn, Us, rn, Ms, qs], gn = /* @__PURE__ */ fn({
2100
- defaultModifiers: vn
2104
+ var gn = [Bs, sn, Zs, ks, en, Ks, an, Rs, Js], yn = /* @__PURE__ */ vn({
2105
+ defaultModifiers: gn
2101
2106
  });
2102
- class yn {
2107
+ class bn {
2103
2108
  /**
2104
2109
  * @param {Array} hotspotsConfig - Hotspot configuration array
2105
2110
  * @param {HTMLElement} container - Container element
@@ -2110,10 +2115,10 @@ class yn {
2110
2115
  constructor(t, i, o, s = {}) {
2111
2116
  ye(this, "updateHotspotPosition", (t, i) => {
2112
2117
  this.currentActiveIndex = t, this.currentOrientation = i;
2113
- const o = is(this.hotspotsConfig, t, i);
2118
+ const o = os(this.hotspotsConfig, t, i);
2114
2119
  this.hideHotspots(), o.forEach((s) => this.updateAndShowHotspot(s, t));
2115
2120
  });
2116
- this.container = i, this.popper = null, this.popperInstance = null, this.hotspotsContainer = go(this.container), this.hotspotsConfig = as(t), this.shouldHidePopper = !0, this.hidePopper = this.hidePopper.bind(this), this.forceHidePopper = this.forceHidePopper.bind(this), this.imageAspectRatio = o, this.hotspotElements = /* @__PURE__ */ new Map(), this.popperListeners = [], this.trigger = s.trigger || "hover", this.onOpen = s.onOpen || null, this.onClose = s.onClose || null, this.onProductClick = s.onProductClick || null;
2121
+ this.container = i, this.popper = null, this.popperInstance = null, this.hotspotsContainer = yo(this.container), this.hotspotsConfig = ls(t), this.shouldHidePopper = !0, this.hidePopper = this.hidePopper.bind(this), this.forceHidePopper = this.forceHidePopper.bind(this), this.imageAspectRatio = o, this.hotspotElements = /* @__PURE__ */ new Map(), this.popperListeners = [], this.trigger = s.trigger || "hover", this.onOpen = s.onOpen || null, this.onClose = s.onClose || null, this.onProductClick = s.onProductClick || null;
2117
2122
  const { containerSize: n } = t[0];
2118
2123
  this.initialContainerSize = n || [i.offsetWidth, i.offsetHeight], this.initHotspots(), this.updateHotspotsForResize(i.offsetWidth, i.offsetHeight), this.observeContainerResize();
2119
2124
  }
@@ -2124,7 +2129,7 @@ class yn {
2124
2129
  }), this.resizeObserver.observe(this.container);
2125
2130
  }
2126
2131
  updateHotspotsForResize(t, i) {
2127
- this.hotspotsConfig = ls({
2132
+ this.hotspotsConfig = cs({
2128
2133
  newWidth: t,
2129
2134
  newHeight: i,
2130
2135
  initialContainerSize: this.initialContainerSize,
@@ -2140,8 +2145,8 @@ class yn {
2140
2145
  showPopper({ hotspotElement: t, content: i, id: o, keepOpen: s }) {
2141
2146
  var c;
2142
2147
  this.popperInstance && this.hidePopper();
2143
- const n = ns(this.container);
2144
- this.popper = rs(i, o), this.popper.setAttribute("data-show", ""), this.currentHotspotElement = t, t.setAttribute("aria-expanded", "true"), t.setAttribute("aria-describedby", `cloudimage-360-popper-${o}`);
2148
+ const n = rs(this.container);
2149
+ this.popper = as(i, o), this.popper.setAttribute("data-show", ""), this.currentHotspotElement = t, t.setAttribute("aria-expanded", "true"), t.setAttribute("aria-describedby", `cloudimage-360-popper-${o}`);
2145
2150
  const l = () => {
2146
2151
  this.shouldHidePopper = !1;
2147
2152
  }, a = () => {
@@ -2158,15 +2163,15 @@ class yn {
2158
2163
  { element: t, event: "mouseenter", handler: h }
2159
2164
  ), this.onProductClick) {
2160
2165
  const p = this.onProductClick, f = (u) => {
2161
- const w = u.target.closest(".ci360-popper-cta[data-product-id]");
2162
- w && p(w.dataset.productId, o);
2166
+ const C = u.target.closest(".ci360-popper-cta[data-product-id]");
2167
+ C && p(C.dataset.productId, o);
2163
2168
  };
2164
2169
  this.popper.addEventListener("click", f), this.popperListeners.push(
2165
2170
  { element: this.popper, event: "click", handler: f }
2166
2171
  );
2167
2172
  }
2168
2173
  this.popperInstance = {
2169
- ...gn(t, this.popper, n),
2174
+ ...yn(t, this.popper, n),
2170
2175
  keepOpen: s,
2171
2176
  instanceId: o
2172
2177
  };
@@ -2180,7 +2185,7 @@ class yn {
2180
2185
  var t;
2181
2186
  this.shouldHidePopper && !((t = this.popperInstance) != null && t.keepOpen) && (this.hidePopperTimeout = setTimeout(() => {
2182
2187
  this.shouldHidePopper && this.hidePopper();
2183
- }, Wi));
2188
+ }, Fi));
2184
2189
  }
2185
2190
  hidePopper() {
2186
2191
  var i, o;
@@ -2197,7 +2202,7 @@ class yn {
2197
2202
  const s = this.popper;
2198
2203
  this.popper = null, setTimeout(() => {
2199
2204
  s.remove();
2200
- }, Fi);
2205
+ }, Vi);
2201
2206
  }
2202
2207
  this.shouldHidePopper = !0;
2203
2208
  }
@@ -2209,7 +2214,7 @@ class yn {
2209
2214
  this.shouldHidePopper = !0, this.popperInstance && (this.popperInstance.keepOpen = !1), this.hidePopper();
2210
2215
  }
2211
2216
  createHotspot(t) {
2212
- const { id: i, keepOpen: o, onClick: s, label: n, markerStyle: l } = t, a = Be(t), r = os(i, n, l);
2217
+ const { id: i, keepOpen: o, onClick: s, label: n, markerStyle: l } = t, a = We(t), r = ss(i, n, l);
2213
2218
  (s || a && this.trigger === "click") && (r.style.cursor = "pointer"), r.onclick = (h) => {
2214
2219
  var c;
2215
2220
  h.stopPropagation(), a && this.trigger === "click" && (((c = this.popperInstance) == null ? void 0 : c.instanceId) === i ? this.hidePopper() : this.showPopper({ hotspotElement: r, content: a, id: i, keepOpen: o })), s == null || s(h, this.popperInstance, i);
@@ -2241,7 +2246,7 @@ class yn {
2241
2246
  showHotspotById(t) {
2242
2247
  const i = this.hotspotsConfig.find((n) => n.id === t);
2243
2248
  if (!i) return;
2244
- const o = Be(i);
2249
+ const o = We(i);
2245
2250
  if (!o) return;
2246
2251
  const s = this.hotspotsContainer.querySelector(`[data-hotspot-id="${t}"]`);
2247
2252
  s && s.style.opacity === "1" && this.showPopper({
@@ -2261,12 +2266,12 @@ class yn {
2261
2266
  this.hidePopperTimeout && clearTimeout(this.hidePopperTimeout), this.resizeObserver.disconnect(), this.hidePopper(), this.hotspotElements.clear(), this.hotspotsContainer.innerHTML = "";
2262
2267
  }
2263
2268
  }
2264
- const Ue = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2269
+ const Ke = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2265
2270
  class Nt {
2266
2271
  constructor(t, i, o) {
2267
2272
  this.container = t, this.isClicked = !1, this.fullscreenView = !!o, this.imagesX = [], this.imagesY = [];
2268
2273
  const s = Math.round(window.devicePixelRatio || 1);
2269
- this.devicePixelRatio = Ue ? Math.min(s, 2) : s, this.id = t.id, this.movementStart = { x: 0, y: 0 }, this.draggingDirection = null, this.isReady = !1, this.velocityX = 0, this.velocityY = 0, this.lastDragTime = 0, this.lastDragX = 0, this.lastDragY = 0, this.inertiaAnimationId = null, this.hasInteracted = !1, this.currentZoomScale = 1, this.touchDevice = Go(), this.dragJustEnded = !1, this.isPinching = !1, this.initialPinchDistance = 0, this.pinchZoomLevel = 1, this.pinchZoomEmitted = !1, this.lastEmittedZoom = 1, this.panOffsetX = 0, this.panOffsetY = 0, this.useMainThreadCanvas = Ue, this.canvasWorker = this.useMainThreadCanvas ? new qo() : new Ko(), this.hotspotTimeline = null, this.hotspotTimelineIndicator = null, this.isAnimatingToFrame = !1, this.onMoveHandler = this.onMoveHandler.bind(this), this.destroy = this.destroy.bind(this), this.init(this.container, i);
2274
+ this.devicePixelRatio = Ke ? Math.min(s, 2) : s, this.id = t.id, this.movementStart = { x: 0, y: 0 }, this.draggingDirection = null, this.isReady = !1, this.velocityX = 0, this.velocityY = 0, this.lastDragTime = 0, this.lastDragX = 0, this.lastDragY = 0, this.inertiaAnimationId = null, this.hasInteracted = !1, this.currentZoomScale = 1, this.touchDevice = _o(), this.dragJustEnded = !1, this.isPinching = !1, this.initialPinchDistance = 0, this.pinchZoomLevel = 1, this.pinchZoomEmitted = !1, this.lastEmittedZoom = 1, this.panOffsetX = 0, this.panOffsetY = 0, this.useMainThreadCanvas = Ke, this.canvasWorker = this.useMainThreadCanvas ? new Jo() : new qo(), this.hotspotTimeline = null, this.hotspotTimelineIndicator = null, this.isAnimatingToFrame = !1, this.onMoveHandler = this.onMoveHandler.bind(this), this.destroy = this.destroy.bind(this), this.init(this.container, i);
2270
2275
  }
2271
2276
  /**
2272
2277
  * Close ImageBitmap objects to free GPU memory
@@ -2283,7 +2288,7 @@ class Nt {
2283
2288
  typeof o == "function" && o({ ...i, viewerId: this.id });
2284
2289
  }
2285
2290
  announce(t) {
2286
- bo(this.ariaLiveRegion, t);
2291
+ wo(this.ariaLiveRegion, t);
2287
2292
  }
2288
2293
  mouseDown(t) {
2289
2294
  if (!this.isReady || this.glass) return;
@@ -2302,7 +2307,7 @@ class Nt {
2302
2307
  this.inertiaAnimationId = null;
2303
2308
  return;
2304
2309
  }
2305
- const r = this.velocityX * 16, h = this.velocityY * 16, c = Xe({
2310
+ const r = this.velocityX * 16, h = this.velocityY * 16, c = Ze({
2306
2311
  deltaX: r,
2307
2312
  deltaY: h,
2308
2313
  reversed: this.dragReverse,
@@ -2324,7 +2329,7 @@ class Nt {
2324
2329
  const f = performance.now(), u = f - this.lastDragTime;
2325
2330
  u > 0 && u < 100 && (this.velocityX = (t - this.lastDragX) / u, this.velocityY = (i - this.lastDragY) / u), this.lastDragTime = f, this.lastDragX = t, this.lastDragY = i;
2326
2331
  }
2327
- this.draggingDirection = Xe({
2332
+ this.draggingDirection = Ze({
2328
2333
  deltaX: o,
2329
2334
  deltaY: s,
2330
2335
  reversed: this.dragReverse,
@@ -2334,7 +2339,7 @@ class Nt {
2334
2339
  const n = this.fullscreenView ? document.body : this.container, l = this.dragSpeed / xe, a = l * (this.amountX / n.offsetWidth), r = l * (this.amountY / n.offsetHeight), h = this.allowSpinX ? Math.abs(Math.round(o * a)) : 0, c = this.allowSpinY ? Math.abs(Math.round(s * r)) : 0;
2335
2340
  (this.allowSpinX && h !== 0 || this.allowSpinY && c !== 0) && (this.hasInteracted = !0, this.hideHotspotPopper(), this.onMoveHandler(this.draggingDirection, h, c), this.movementStart = { x: t, y: i }, setTimeout(() => {
2336
2341
  this.isDragging || (this.isDragging = !0, this.emit("onDragStart"));
2337
- }, Bi));
2342
+ }, Wi));
2338
2343
  }
2339
2344
  mouseMove(t) {
2340
2345
  !this.isReady || !this.isClicked && !this.isZoomed || this.glass || (this.isZoomed || this.hideAllIcons(), this.drag(t.pageX, t.pageY), this.isZoomed && this.applyZoom(t));
@@ -2365,7 +2370,7 @@ class Nt {
2365
2370
  }
2366
2371
  loadHigherQualityImages(t, i) {
2367
2372
  const o = Ct(this.srcXConfig, t), s = this.allowSpinY ? Ct(this.srcYConfig, t) : null;
2368
- Ee({
2373
+ ke({
2369
2374
  cdnPathX: o,
2370
2375
  cdnPathY: s,
2371
2376
  configX: this.srcXConfig,
@@ -2418,7 +2423,7 @@ class Nt {
2418
2423
  this.isZoomed && this.removeZoom();
2419
2424
  }
2420
2425
  applyZoom(t) {
2421
- const { offsetX: i, offsetY: o } = Bo(t, this.canvas, this.devicePixelRatio);
2426
+ const { offsetX: i, offsetY: o } = Wo(t, this.canvas, this.devicePixelRatio);
2422
2427
  this.isZoomed || (this.isZoomed = !0, this.hideAllIcons(), this.hideLoadingSpinner(), this.hideTransitionOverlay(), this.showZoomOutIcon(), this.emit("onZoomIn", { zoomLevel: this.pointerZoom }), this.announce("Zoomed in. Move mouse to pan. Click to zoom out.")), this.updateView(this.pointerZoom, i, o);
2423
2428
  }
2424
2429
  touchOutside(t) {
@@ -2498,7 +2503,7 @@ class Nt {
2498
2503
  keyDown(t) {
2499
2504
  if (!this.isReady) return;
2500
2505
  const { keyCode: i } = t, o = this.keysReverse;
2501
- switch (this.autoplay && this.stopAutoplay(), He(i, this.allowSpinY) && (this.hasInteracted = !0, this.hideAllIcons(), this.hideHints()), i) {
2506
+ switch (this.autoplay && this.stopAutoplay(), Xe(i, this.allowSpinY) && (this.hasInteracted = !0, this.hideAllIcons(), this.hideHints()), i) {
2502
2507
  case 37:
2503
2508
  o ? this.moveLeft() : this.moveRight();
2504
2509
  break;
@@ -2515,7 +2520,7 @@ class Nt {
2515
2520
  }
2516
2521
  keyUp(t) {
2517
2522
  const { keyCode: i } = t;
2518
- He(i, this.allowSpinY) && this.showAllIcons();
2523
+ Xe(i, this.allowSpinY) && this.showAllIcons();
2519
2524
  }
2520
2525
  moveActiveXIndexUp(t) {
2521
2526
  this.orientation = R.X, this.activeImageX = (this.activeImageX + t) % this.amountX;
@@ -2597,24 +2602,24 @@ class Nt {
2597
2602
  this.createContainers(t), this.adaptCanvasSize(i), this.drawImageOnCanvas(i);
2598
2603
  }
2599
2604
  onAllImagesLoaded() {
2600
- if (this.addAllIcons(), this.isReady = !0, this.amountX = this.imagesX.length, this.amountY = this.imagesY.length, this.activeImageX = this.autoplayReverse ? this.amountX - 1 : 0, this.activeImageY = this.autoplayReverse ? this.amountY - 1 : 0, this.hotspots && (this.hotspotsInstance = new yn(this.hotspots, this.innerBox, this.imageAspectRatio, {
2605
+ if (this.addAllIcons(), this.isReady = !0, this.amountX = this.imagesX.length, this.amountY = this.imagesY.length, this.activeImageX = this.autoplayReverse ? this.amountX - 1 : 0, this.activeImageY = this.autoplayReverse ? this.amountY - 1 : 0, this.hotspots && (this.hotspotsInstance = new bn(this.hotspots, this.innerBox, this.imageAspectRatio, {
2601
2606
  trigger: this.hotspotTrigger,
2602
2607
  onOpen: onHotspotOpen,
2603
2608
  onClose: onHotspotClose,
2604
2609
  onProductClick
2605
2610
  }), this.hotspotsInstance.updateHotspotPosition(this.activeImageX, this.orientation), this.addHotspotTimeline(), this.showHotspotTimeline()), this.emit("onLoad", { imagesX: this.imagesX.length, imagesY: this.imagesY.length }), this.emit("onReady"), this.announce("360 degree view loaded. Use mouse drag or arrow keys to rotate."), this.hints !== !1 && !this.autoplay) {
2606
- const t = this.hints === !0 || this.hints === void 0 ? Te(this.viewerConfig, this.touchDevice) : this.hints;
2607
- t && t.length > 0 && (this.hintsOverlay = Se(this.innerBox, t, {
2611
+ const t = this.hints === !0 || this.hints === void 0 ? Le(this.viewerConfig, this.touchDevice) : this.hints;
2612
+ t && t.length > 0 && (this.hintsOverlay = Te(this.innerBox, t, {
2608
2613
  pointerZoomTrigger: this.pointerZoomTrigger
2609
- }), Le(this.hintsOverlay));
2614
+ }), Pe(this.hintsOverlay));
2610
2615
  }
2611
- this.autoplay && (this.hideAllIcons(), _o(this.play.bind(this))());
2616
+ this.autoplay && (this.hideAllIcons(), Uo(this.play.bind(this))());
2612
2617
  }
2613
2618
  magnify(t) {
2614
2619
  t.stopPropagation();
2615
- const { src: i } = this.orientation === R.Y ? this.imagesY[this.activeImageY] : this.imagesX[this.activeImageX], s = (this.fullscreenView ? document.body : this.container).offsetWidth * this.magnifier, n = qi(i, s);
2616
- this.showLoadingSpinner(), this.createGlass(), Xo(n, (r) => {
2617
- this.hideLoadingSpinner(), this.magnified = !0, Do(t, this.innerBox, this.offset, r, this.glass, this.magnifier);
2620
+ const { src: i } = this.orientation === R.Y ? this.imagesY[this.activeImageY] : this.imagesX[this.activeImageX], s = (this.fullscreenView ? document.body : this.container).offsetWidth * this.magnifier, n = Ji(i, s);
2621
+ this.showLoadingSpinner(), this.createGlass(), Zo(n, (r) => {
2622
+ this.hideLoadingSpinner(), this.magnified = !0, Bo(t, this.innerBox, this.offset, r, this.glass, this.magnifier);
2618
2623
  }, (r) => {
2619
2624
  this.hideLoadingSpinner(), this.removeGlass(), this.emit("onError", {
2620
2625
  error: { message: r.message, url: r.url },
@@ -2626,7 +2631,7 @@ class Nt {
2626
2631
  }
2627
2632
  openFullscreenModal(t) {
2628
2633
  t.stopPropagation(), this.hideHotspotPopper(), this.releaseMemory(), window.document.body.style.overflow = "hidden";
2629
- const i = mo(this.container);
2634
+ const i = fo(this.container);
2630
2635
  this.fullscreenInstance = new Nt(i, this.viewerConfig, !0), this.fullscreenInstance.originalViewer = this, this.boundResizeHandler = () => {
2631
2636
  this.fullscreenInstance && this.closeFullscreenModal(new Event("resize"));
2632
2637
  }, window.addEventListener("resize", this.boundResizeHandler), this.emit("onFullscreenOpen"), this.announce("Opened fullscreen mode. Press Escape to exit.");
@@ -2651,7 +2656,7 @@ class Nt {
2651
2656
  bottom: this.moveBottom.bind(this)
2652
2657
  };
2653
2658
  this.loopTimeoutId = window.setInterval(() => {
2654
- if (this.playOnce && No({
2659
+ if (this.playOnce && zo({
2655
2660
  autoplayBehavior: this.autoplayBehavior,
2656
2661
  activeImageX: this.activeImageX,
2657
2662
  activeImageY: this.activeImageY,
@@ -2662,7 +2667,7 @@ class Nt {
2662
2667
  this.stopAutoplay();
2663
2668
  return;
2664
2669
  }
2665
- zo({
2670
+ $o({
2666
2671
  autoplayBehavior: this.autoplayBehavior,
2667
2672
  activeImageX: this.activeImageX,
2668
2673
  activeImageY: this.activeImageY,
@@ -2670,9 +2675,9 @@ class Nt {
2670
2675
  amountY: this.amountY,
2671
2676
  autoplayReverse: this.autoplayReverse,
2672
2677
  spinDirection: this.spinDirection
2673
- }) && (this.spinDirection = jo(this.spinDirection));
2678
+ }) && (this.spinDirection = Go(this.spinDirection));
2674
2679
  const n = this.spinDirection === "y";
2675
- Vo({
2680
+ No({
2676
2681
  autoplayBehavior: this.autoplayBehavior,
2677
2682
  spinY: n,
2678
2683
  reversed: this.autoplayReverse,
@@ -2682,10 +2687,10 @@ class Nt {
2682
2687
  }
2683
2688
  stopAutoplay() {
2684
2689
  if (this.showAllIcons(), this.autoplay = !1, window.clearTimeout(this.loopTimeoutId), this.loopTimeoutId = null, this.emit("onAutoplayStop"), this.hints !== !1 && !this.hintsOverlay && !this.hintsHidden) {
2685
- const t = this.hints === !0 ? Te(this.viewerConfig, this.touchDevice) : this.hints;
2686
- t && t.length > 0 && (this.hintsOverlay = Se(this.innerBox, t, {
2690
+ const t = this.hints === !0 ? Le(this.viewerConfig, this.touchDevice) : this.hints;
2691
+ t && t.length > 0 && (this.hintsOverlay = Te(this.innerBox, t, {
2687
2692
  pointerZoomTrigger: this.pointerZoomTrigger
2688
- }), Le(this.hintsOverlay));
2693
+ }), Pe(this.hintsOverlay));
2689
2694
  }
2690
2695
  }
2691
2696
  destroy() {
@@ -2712,7 +2717,7 @@ class Nt {
2712
2717
  });
2713
2718
  }
2714
2719
  addInitialIcon() {
2715
- this.initialIcon || this.hide360Logo || (this.initialIcon = no(this.logoSrc), this.innerBox.appendChild(this.initialIcon));
2720
+ this.initialIcon || this.hide360Logo || (this.initialIcon = ro(this.logoSrc), this.innerBox.appendChild(this.initialIcon));
2716
2721
  }
2717
2722
  showInitialIcon() {
2718
2723
  !this.initialIcon || this.hasInteracted || (this.initialIcon.style.opacity = 1);
@@ -2727,7 +2732,7 @@ class Nt {
2727
2732
  this.showAllIcons(), this.innerBox.removeChild(this.glass), this.glass = null, this.magnified = !1;
2728
2733
  }
2729
2734
  addMagnifierIcon() {
2730
- this.pointerZoom && (this.magnifierIcon = ho(), this.magnifierIcon.onclick = this.zoomIn.bind(this), this.iconsContainer.appendChild(this.magnifierIcon), this.zoomOutIcon = po(), this.zoomOutIcon.onclick = this.zoomOut.bind(this), this.zoomOutIcon.style.display = "none", this.iconsContainer.appendChild(this.zoomOutIcon));
2735
+ this.pointerZoom && (this.magnifierIcon = po(), this.magnifierIcon.onclick = this.zoomIn.bind(this), this.iconsContainer.appendChild(this.magnifierIcon), this.zoomOutIcon = uo(), this.zoomOutIcon.onclick = this.zoomOut.bind(this), this.zoomOutIcon.style.display = "none", this.iconsContainer.appendChild(this.zoomOutIcon));
2731
2736
  }
2732
2737
  showMagnifierIcon() {
2733
2738
  this.magnifierIcon && (this.magnifierIcon.style.display = "", this.magnifierIcon.style.visibility = "visible", this.magnifierIcon.style.opacity = 1);
@@ -2742,10 +2747,10 @@ class Nt {
2742
2747
  this.zoomOutIcon && (this.zoomOutIcon.style.display = "none", this.zoomOutIcon.style.visibility = "hidden", this.zoomOutIcon.style.opacity = 0);
2743
2748
  }
2744
2749
  addFullscreenIcon() {
2745
- this.fullscreen && (this.fullscreenIcon = lo(), this.fullscreenIcon.onclick = this.openFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenIcon));
2750
+ this.fullscreen && (this.fullscreenIcon = co(), this.fullscreenIcon.onclick = this.openFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenIcon));
2746
2751
  }
2747
2752
  addCloseFullscreenIcon() {
2748
- this.fullscreenCloseIcon = ao(), this.fullscreenCloseIcon.onclick = this.closeFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenCloseIcon);
2753
+ this.fullscreenCloseIcon = lo(), this.fullscreenCloseIcon.onclick = this.closeFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenCloseIcon);
2749
2754
  }
2750
2755
  showFullscreenIcon() {
2751
2756
  this.fullscreenIcon && (this.fullscreenIcon.style.opacity = 1);
@@ -2754,7 +2759,7 @@ class Nt {
2754
2759
  this.fullscreenIcon && (this.fullscreenIcon.style.opacity = 0);
2755
2760
  }
2756
2761
  add360ViewCircleIcon() {
2757
- this.view360CircleIcon || (this.view360CircleIcon = oo(this.bottomCircleOffset), this.innerBox.appendChild(this.view360CircleIcon));
2762
+ this.view360CircleIcon || (this.view360CircleIcon = so(this.bottomCircleOffset), this.innerBox.appendChild(this.view360CircleIcon));
2758
2763
  }
2759
2764
  show360ViewCircleIcon() {
2760
2765
  this.view360CircleIcon && (this.view360CircleIcon.style.opacity = 1);
@@ -2763,13 +2768,13 @@ class Nt {
2763
2768
  this.view360CircleIcon && (this.view360CircleIcon.style.opacity = 0);
2764
2769
  }
2765
2770
  addLoadingSpinner() {
2766
- this.loadingSpinner = fo(), this.innerBox.appendChild(this.loadingSpinner);
2771
+ this.loadingSpinner = vo(), this.innerBox.appendChild(this.loadingSpinner);
2767
2772
  }
2768
2773
  showLoadingSpinner() {
2769
2774
  this.loadingSpinner && (this.hideAllIcons(), this.loadingSpinner.style.opacity = 1);
2770
2775
  }
2771
2776
  createTransitionOverlay() {
2772
- this.transitionOverlay = vo(), this.innerBox.appendChild(this.transitionOverlay);
2777
+ this.transitionOverlay = go(), this.innerBox.appendChild(this.transitionOverlay);
2773
2778
  }
2774
2779
  showTransitionOverlay() {
2775
2780
  this.transitionOverlay && (this.hideAllIcons(), this.transitionOverlay.style.opacity = 1);
@@ -2781,11 +2786,11 @@ class Nt {
2781
2786
  this.loadingSpinner && (this.loadingSpinner.style.opacity = 0);
2782
2787
  }
2783
2788
  hideHints() {
2784
- !this.hintsOverlay || this.hintsHidden || (this.hintsHidden = !0, Co(this.hintsOverlay));
2789
+ !this.hintsOverlay || this.hintsHidden || (this.hintsHidden = !0, Io(this.hintsOverlay));
2785
2790
  }
2786
2791
  addHotspotTimeline() {
2787
2792
  if (!this.hotspots || this.hotspotTimeline) return;
2788
- const t = ko(this.innerBox, this.amountX, this.hotspots);
2793
+ const t = Ao(this.innerBox, this.amountX, this.hotspots);
2789
2794
  if (!t) return;
2790
2795
  this.hotspotTimeline = t.element, this.hotspotTimelineIndicator = t.indicator, this.innerBox.classList.add("has-hotspot-timeline"), this.hotspotTimeline.querySelectorAll(".cloudimage-360-hotspot-timeline-dot").forEach((o) => {
2791
2796
  o.addEventListener("click", (s) => {
@@ -2796,13 +2801,13 @@ class Nt {
2796
2801
  }), this.updateHotspotTimelinePosition();
2797
2802
  }
2798
2803
  showHotspotTimeline() {
2799
- So(this.hotspotTimeline);
2804
+ To(this.hotspotTimeline);
2800
2805
  }
2801
2806
  hideHotspotTimeline() {
2802
- To(this.hotspotTimeline);
2807
+ Lo(this.hotspotTimeline);
2803
2808
  }
2804
2809
  updateHotspotTimelinePosition() {
2805
- Ao(this.hotspotTimelineIndicator, this.activeImageX, this.amountX);
2810
+ So(this.hotspotTimelineIndicator, this.activeImageX, this.amountX);
2806
2811
  }
2807
2812
  /**
2808
2813
  * Animates the viewer to a target frame, optionally showing a hotspot popup on arrival
@@ -2883,7 +2888,7 @@ class Nt {
2883
2888
  document.removeEventListener("keydown", this.boundKeyDown), document.removeEventListener("keyup", this.boundKeyUp);
2884
2889
  }
2885
2890
  createContainers(t) {
2886
- if (this.iconsContainer = ke(this.innerBox), this.canvas = ro(this.innerBox, t), this.loader = uo(this.innerBox), this.ariaLiveRegion = yo(this.innerBox), this.useMainThreadCanvas)
2891
+ if (this.iconsContainer = Ae(this.innerBox), this.canvas = ao(this.innerBox, t), this.loader = mo(this.innerBox), this.ariaLiveRegion = bo(this.innerBox), this.useMainThreadCanvas)
2887
2892
  this.canvasWorker.postMessage({
2888
2893
  action: "initCanvas",
2889
2894
  offscreen: this.canvas,
@@ -2903,10 +2908,10 @@ class Nt {
2903
2908
  this.fullscreenView && this.addCloseFullscreenIcon(), ie(this.innerBox, ".cloudimage-360-placeholder");
2904
2909
  }
2905
2910
  update(t) {
2906
- this.isReady && (this.stopAutoplay(), ie(this.innerBox, ".cloudimage-360-icons-container"), this.init(this.container, t, !0), this.iconsContainer = ke(this.innerBox), this.onAllImagesLoaded());
2911
+ this.isReady && (this.stopAutoplay(), ie(this.innerBox, ".cloudimage-360-icons-container"), this.init(this.container, t, !0), this.iconsContainer = Ae(this.innerBox), this.onAllImagesLoaded());
2907
2912
  }
2908
2913
  init(t, i, o) {
2909
- const s = i ? ji(i) : zi(t), {
2914
+ const s = i ? Gi(i) : $i(t), {
2910
2915
  folder: n,
2911
2916
  apiVersion: l,
2912
2917
  filenameX: a,
@@ -2916,16 +2921,16 @@ class Nt {
2916
2921
  indexZeroBase: p,
2917
2922
  amountX: f,
2918
2923
  amountY: u,
2919
- draggable: w = !0,
2924
+ draggable: C = !0,
2920
2925
  swipeable: b = !0,
2921
2926
  keys: v,
2922
2927
  keysReverse: x,
2923
2928
  bottomCircleOffset: E,
2924
- autoplay: C,
2925
- autoplayBehavior: y,
2929
+ autoplay: w,
2930
+ autoplayBehavior: g,
2926
2931
  playOnce: O,
2927
2932
  speed: m,
2928
- autoplayReverse: g,
2933
+ autoplayReverse: y,
2929
2934
  fullscreen: I,
2930
2935
  magnifier: k,
2931
2936
  ciToken: A,
@@ -2968,10 +2973,10 @@ class Nt {
2968
2973
  onDragEnd: Ht,
2969
2974
  onHotspotOpen: Kt,
2970
2975
  onHotspotClose: qt,
2971
- onProductClick: bn,
2972
- onError: hi
2976
+ onProductClick: wn,
2977
+ onError: di
2973
2978
  } = s, ue = { ciToken: A, ciFilters: T, ciTransformation: Y, cropAspectRatio: jt, cropGravity: Gt }, Jt = oe(h, []), Qt = oe(c, []);
2974
- if (this.viewerConfig = s, this.amountX = Jt.length || f, this.amountY = Qt.length || u, this.allowSpinX = !!this.amountX, this.allowSpinY = !!this.amountY, this.activeImageX = g ? this.amountX - 1 : 0, this.activeImageY = g ? this.amountY - 1 : 0, this.bottomCircleOffset = E, this.autoplay = C, this.autoplayBehavior = y, this.playOnce = O, this.speed = m, this.autoplayReverse = g, this.fullscreen = I, this.magnifier = k > 1 ? Math.min(k, Ni) : 0, this.dragSpeed = Math.max(j, Vi), this.stopAtEdges = G, this.ciParams = ue, this.apiVersion = l, this.pointerZoom = P > 1 ? Math.min(P, Oe) : null, this.pointerZoomTrigger = D, this.keysReverse = x, this.info = st, this.keys = v, this.innerBox = this.innerBox ?? co(this.container), this.container.style.aspectRatio = Tt || "", this.initialIconShown = _, this.bottomCircle = nt, this.spinDirection = $o(this.autoplayBehavior, this.allowSpinX, this.allowSpinY), this.dragReverse = rt, this.hotspots = vt, this.hotspotTrigger = tt, this.hide360Logo = J, this.logoSrc = N, this.inertia = et, this.pinchZoom = at, this.hints = U, this.hotspotTimelineOnClick = $t, lt === "dark" ? this.container.classList.add("ci360-theme-dark") : lt === "light" && this.container.classList.remove("ci360-theme-dark"), this.container.classList.remove("ci360-hotspot-marker-inverted", "ci360-hotspot-marker-brand"), St === "inverted" ? this.container.classList.add("ci360-hotspot-marker-inverted") : St === "brand" && (this.container.classList.add("ci360-hotspot-marker-brand"), ct && this.container.style.setProperty("--ci360-hotspot-brand-color", ct)), this.onReady = Lt, this.onLoad = Pt, this.onSpin = _t, this.onAutoplayStart = Ut, this.onAutoplayStop = K, this.onFullscreenOpen = ht, this.onFullscreenClose = Mt, this.onZoomIn = Rt, this.onZoomOut = gt, this.onDragStart = Yt, this.onDragEnd = Ht, this.onError = hi, this.srcXConfig = {
2979
+ if (this.viewerConfig = s, this.amountX = Jt.length || f, this.amountY = Qt.length || u, this.allowSpinX = !!this.amountX, this.allowSpinY = !!this.amountY, this.activeImageX = y ? this.amountX - 1 : 0, this.activeImageY = y ? this.amountY - 1 : 0, this.bottomCircleOffset = E, this.autoplay = w, this.autoplayBehavior = g, this.playOnce = O, this.speed = m, this.autoplayReverse = y, this.fullscreen = I, this.magnifier = k > 1 ? Math.min(k, zi) : 0, this.dragSpeed = Math.max(j, Ni), this.stopAtEdges = G, this.ciParams = ue, this.apiVersion = l, this.pointerZoom = P > 1 ? Math.min(P, Oe) : null, this.pointerZoomTrigger = D, this.keysReverse = x, this.info = st, this.keys = v, this.innerBox = this.innerBox ?? ho(this.container), this.container.style.aspectRatio = Tt || "", this.initialIconShown = _, this.bottomCircle = nt, this.spinDirection = jo(this.autoplayBehavior, this.allowSpinX, this.allowSpinY), this.dragReverse = rt, this.hotspots = vt, this.hotspotTrigger = tt, this.hide360Logo = J, this.logoSrc = N, this.inertia = et, this.pinchZoom = at, this.hints = U, this.hotspotTimelineOnClick = $t, lt === "dark" ? this.container.classList.add("ci360-theme-dark") : lt === "light" && this.container.classList.remove("ci360-theme-dark"), this.container.classList.remove("ci360-hotspot-marker-inverted", "ci360-hotspot-marker-brand"), St === "inverted" ? this.container.classList.add("ci360-hotspot-marker-inverted") : St === "brand" && (this.container.classList.add("ci360-hotspot-marker-brand"), ct && this.container.style.setProperty("--ci360-hotspot-brand-color", ct)), this.onReady = Lt, this.onLoad = Pt, this.onSpin = _t, this.onAutoplayStart = Ut, this.onAutoplayStop = K, this.onFullscreenOpen = ht, this.onFullscreenClose = Mt, this.onZoomIn = Rt, this.onZoomOut = gt, this.onDragStart = Yt, this.onDragEnd = Ht, this.onError = di, this.srcXConfig = {
2975
2980
  folder: n,
2976
2981
  filename: a,
2977
2982
  imageList: Jt,
@@ -2982,7 +2987,7 @@ class Nt {
2982
2987
  lazyload: L,
2983
2988
  amount: this.amountX,
2984
2989
  indexZeroBase: p,
2985
- autoplayReverse: g,
2990
+ autoplayReverse: y,
2986
2991
  orientation: R.X
2987
2992
  }, this.srcYConfig = {
2988
2993
  ...this.srcXConfig,
@@ -2990,24 +2995,24 @@ class Nt {
2990
2995
  imageList: Qt,
2991
2996
  orientation: R.Y,
2992
2997
  amount: this.amountY
2993
- }, o && this.removeEvents(), this.attachEvents(w, b, v), o) return;
2994
- const me = (this.fullscreenView ? document.body : this.container).offsetWidth, fe = this.allowSpinX && !Jt.length ? Ct(this.srcXConfig, me) : null, ve = this.allowSpinY && !Qt.length ? Ct(this.srcYConfig, me) : null, ge = (di) => {
2995
- Ee({
2998
+ }, o && this.removeEvents(), this.attachEvents(C, b, v), o) return;
2999
+ const me = (this.fullscreenView ? document.body : this.container).offsetWidth, fe = this.allowSpinX && !Jt.length ? Ct(this.srcXConfig, me) : null, ve = this.allowSpinY && !Qt.length ? Ct(this.srcYConfig, me) : null, ge = (pi) => {
3000
+ ke({
2996
3001
  cdnPathX: fe,
2997
3002
  cdnPathY: ve,
2998
3003
  configX: this.srcXConfig,
2999
3004
  configY: this.srcYConfig,
3000
- onImageLoad: (yt, pi, ui) => this.onImageLoad(yt, pi, ui),
3001
- onFirstImageLoad: (yt) => this.onFirstImageLoaded(di, yt),
3005
+ onImageLoad: (yt, ui, mi) => this.onImageLoad(yt, ui, mi),
3006
+ onFirstImageLoad: (yt) => this.onFirstImageLoaded(pi, yt),
3002
3007
  onAllImagesLoad: this.onAllImagesLoaded.bind(this),
3003
3008
  onError: (yt) => this.emit("onError", yt)
3004
3009
  });
3005
3010
  };
3006
- this.allowSpinX ? Me(fe, this.srcXConfig, ge) : this.allowSpinY && Me(ve, this.srcYConfig, ge);
3011
+ this.allowSpinX ? Re(fe, this.srcXConfig, ge) : this.allowSpinY && Re(ve, this.srcYConfig, ge);
3007
3012
  }
3008
3013
  }
3009
- const Ke = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
3010
- class Cn {
3014
+ const qe = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
3015
+ class In {
3011
3016
  constructor() {
3012
3017
  this.views = /* @__PURE__ */ new Map(), this.initAll = this.initAll.bind(this), this.getViews = this.getViews.bind(this), this.memoryObserver = null, this.memoryManagementAutoEnabled = !1;
3013
3018
  }
@@ -3019,7 +3024,7 @@ class Cn {
3019
3024
  const s = t.id || this.generateId();
3020
3025
  t.id || (t.id = s);
3021
3026
  const n = new Nt(t, i, o);
3022
- return this.views.set(s, n), Ke && !this.memoryManagementAutoEnabled && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100)), n;
3027
+ return this.views.set(s, n), qe && !this.memoryManagementAutoEnabled && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100)), n;
3023
3028
  }
3024
3029
  initAll(t = "cloudimage-360") {
3025
3030
  [...document.querySelectorAll(`.${t}`)].filter(Boolean).forEach((o) => {
@@ -3027,7 +3032,7 @@ class Cn {
3027
3032
  o.id || (o.id = s);
3028
3033
  const n = new Nt(o);
3029
3034
  this.views.set(s, n);
3030
- }), Ke && !this.memoryManagementAutoEnabled && this.views.size > 0 && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100));
3035
+ }), qe && !this.memoryManagementAutoEnabled && this.views.size > 0 && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100));
3031
3036
  }
3032
3037
  destroy(t) {
3033
3038
  const i = this.getViewById(t);
@@ -3096,6 +3101,6 @@ class Cn {
3096
3101
  }
3097
3102
  }
3098
3103
  export {
3099
- Cn as default
3104
+ In as default
3100
3105
  };
3101
- //# sourceMappingURL=ci360-BYB2MAi0.mjs.map
3106
+ //# sourceMappingURL=ci360-CAu4PLFX.mjs.map