js-cloudimage-360-view 4.3.0 → 4.3.2

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.
@@ -5,28 +5,28 @@ var Rt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : t
5
5
  function ai(e) {
6
6
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
7
7
  }
8
- var Ve = "Expected a function", ue = NaN, li = "[object Symbol]", ci = /^\s+|\s+$/g, hi = /^[-+]0x[0-9a-f]+$/i, di = /^0b[01]+$/i, ui = /^0o[0-7]+$/i, pi = parseInt, mi = typeof Rt == "object" && Rt && Rt.Object === Object && Rt, fi = typeof self == "object" && self && self.Object === Object && self, vi = mi || fi || Function("return this")(), gi = Object.prototype, yi = gi.toString, bi = Math.max, wi = Math.min, Kt = function() {
8
+ var Ne = "Expected a function", ue = NaN, li = "[object Symbol]", ci = /^\s+|\s+$/g, hi = /^[-+]0x[0-9a-f]+$/i, di = /^0b[01]+$/i, ui = /^0o[0-7]+$/i, pi = parseInt, mi = typeof Rt == "object" && Rt && Rt.Object === Object && Rt, fi = typeof self == "object" && self && self.Object === Object && self, vi = mi || fi || Function("return this")(), gi = Object.prototype, yi = gi.toString, bi = Math.max, wi = Math.min, Kt = function() {
9
9
  return vi.Date.now();
10
10
  };
11
11
  function Ii(e, t, i) {
12
12
  var s, o, n, l, r, a, c = 0, h = !1, u = !1, f = !0;
13
13
  if (typeof e != "function")
14
- throw new TypeError(Ve);
14
+ throw new TypeError(Ne);
15
15
  t = pe(t) || 0, Wt(i) && (h = !!i.leading, u = "maxWait" in i, n = u ? bi(pe(i.maxWait) || 0, t) : n, f = "trailing" in i ? !!i.trailing : f);
16
16
  function p(m) {
17
- var g = s, x = o;
18
- return s = o = void 0, c = m, l = e.apply(x, g), l;
17
+ var g = s, C = o;
18
+ return s = o = void 0, c = m, l = e.apply(C, g), l;
19
19
  }
20
20
  function I(m) {
21
21
  return c = m, r = setTimeout(O, t), h ? p(m) : l;
22
22
  }
23
23
  function b(m) {
24
- var g = m - a, x = m - c, A = t - g;
25
- return u ? wi(A, n - x) : A;
24
+ var g = m - a, C = m - c, A = t - g;
25
+ return u ? wi(A, n - C) : A;
26
26
  }
27
27
  function v(m) {
28
- var g = m - a, x = m - c;
29
- return a === void 0 || g >= t || g < 0 || u && x >= n;
28
+ var g = m - a, C = m - c;
29
+ return a === void 0 || g >= t || g < 0 || u && C >= n;
30
30
  }
31
31
  function O() {
32
32
  var m = Kt();
@@ -43,7 +43,7 @@ function Ii(e, t, i) {
43
43
  function y() {
44
44
  return r === void 0 ? l : E(Kt());
45
45
  }
46
- function C() {
46
+ function x() {
47
47
  var m = Kt(), g = v(m);
48
48
  if (s = arguments, o = this, a = m, g) {
49
49
  if (r === void 0)
@@ -53,12 +53,12 @@ function Ii(e, t, i) {
53
53
  }
54
54
  return r === void 0 && (r = setTimeout(O, t)), l;
55
55
  }
56
- return C.cancel = w, C.flush = y, C;
56
+ return x.cancel = w, x.flush = y, x;
57
57
  }
58
- function xi(e, t, i) {
58
+ function Ci(e, t, i) {
59
59
  var s = !0, o = !0;
60
60
  if (typeof e != "function")
61
- throw new TypeError(Ve);
61
+ throw new TypeError(Ne);
62
62
  return Wt(i) && (s = "leading" in i ? !!i.leading : s, o = "trailing" in i ? !!i.trailing : o), Ii(e, t, {
63
63
  leading: s,
64
64
  maxWait: t,
@@ -69,11 +69,11 @@ function Wt(e) {
69
69
  var t = typeof e;
70
70
  return !!e && (t == "object" || t == "function");
71
71
  }
72
- function Ci(e) {
72
+ function xi(e) {
73
73
  return !!e && typeof e == "object";
74
74
  }
75
75
  function Oi(e) {
76
- return typeof e == "symbol" || Ci(e) && yi.call(e) == li;
76
+ return typeof e == "symbol" || xi(e) && yi.call(e) == li;
77
77
  }
78
78
  function pe(e) {
79
79
  if (typeof e == "number")
@@ -90,7 +90,7 @@ function pe(e) {
90
90
  var i = di.test(e);
91
91
  return i || ui.test(e) ? pi(e.slice(2), i ? 2 : 8) : hi.test(e) ? ue : +e;
92
92
  }
93
- var Ei = xi;
93
+ var Ei = Ci;
94
94
  const me = /* @__PURE__ */ ai(Ei), R = {
95
95
  SPIN_X: "spin-x",
96
96
  SPIN_Y: "spin-y",
@@ -99,7 +99,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
99
99
  }, Ai = [!1, 0, null, void 0, "false", "0", "null", "undefined"], Y = {
100
100
  X: "x-axis",
101
101
  Y: "y-axis"
102
- }, ki = [37, 39], Si = [38, 40], Ti = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), fe = Ti ? 32 : 10, Li = 150, Ht = 800, Pi = 150, Mi = 200, ve = 50, Yi = 50, Xi = 5, ge = 5, Ri = "https://scaleflex.cloudimg.io/v7/filerobot/js-cloudimage-360-view/360_view.svg", d = {
102
+ }, Si = [37, 39], ki = [38, 40], Ti = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), fe = Ti ? 32 : 10, Li = 150, Ht = 800, Mi = 150, Pi = 200, ve = 50, Yi = 50, Xi = 5, ge = 5, d = {
103
103
  folder: "/",
104
104
  apiVersion: "v7",
105
105
  filenameX: "image-{index}.jpg",
@@ -136,7 +136,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
136
136
  hotspots: null,
137
137
  hotspotTrigger: "hover",
138
138
  hide360Logo: !1,
139
- logoSrc: Ri,
139
+ logoSrc: null,
140
140
  inertia: !1,
141
141
  pinchZoom: !0,
142
142
  hints: !0,
@@ -155,60 +155,60 @@ const me = /* @__PURE__ */ ai(Ei), R = {
155
155
  onZoomOut: null,
156
156
  onDragStart: null,
157
157
  onDragEnd: null
158
- }, Hi = (e) => ({
159
- folder: S(e, "folder", d.folder),
160
- apiVersion: S(e, "api-version", d.apiVersion),
161
- filenameX: S(e, "filename") || S(e, "filename-x") || d.filenameX,
162
- filenameY: S(e, "filename-y", d.filenameY),
163
- imageListX: S(e, "image-list-x", d.imageListX),
164
- imageListY: S(e, "image-list-y", d.imageListY),
165
- indexZeroBase: parseInt(S(e, "index-zero-base", d.indexZeroBase), 10),
166
- amountX: parseInt(S(e, "amount-x", d.amountX), 10),
167
- amountY: parseInt(S(e, "amount-y", d.amountY), 10),
168
- speed: parseInt(S(e, "speed", d.speed), 10),
169
- dragSpeed: parseInt(S(e, "drag-speed", d.dragSpeed), 10),
170
- draggable: M(e, "draggable", d.draggable),
171
- swipeable: M(e, "swipeable", d.swipeable),
172
- keys: M(e, "keys", d.keys),
173
- keysReverse: M(e, "keys-reverse", d.keysReverse),
174
- autoplay: M(e, "autoplay", d.autoplay),
175
- autoplayBehavior: S(e, "autoplay-behavior", d.autoplayBehavior),
176
- playOnce: M(e, "play-once", d.playOnce),
177
- autoplayReverse: M(e, "autoplay-reverse", d.autoplayReverse),
178
- pointerZoom: parseFloat(S(e, "pointer-zoom", d.pointerZoom)),
179
- pointerZoomTrigger: S(e, "pointer-zoom-trigger", d.pointerZoomTrigger),
180
- fullscreen: M(e, "fullscreen") || M(e, "full-screen", d.fullscreen),
181
- magnifier: parseFloat(S(e, "magnifier", d.magnifier)),
158
+ }, Ri = (e) => ({
159
+ folder: k(e, "folder", d.folder),
160
+ apiVersion: k(e, "api-version", d.apiVersion),
161
+ filenameX: k(e, "filename") || k(e, "filename-x") || d.filenameX,
162
+ filenameY: k(e, "filename-y", d.filenameY),
163
+ imageListX: k(e, "image-list-x", d.imageListX),
164
+ imageListY: k(e, "image-list-y", d.imageListY),
165
+ indexZeroBase: parseInt(k(e, "index-zero-base", d.indexZeroBase), 10),
166
+ amountX: parseInt(k(e, "amount-x", d.amountX), 10),
167
+ amountY: parseInt(k(e, "amount-y", d.amountY), 10),
168
+ speed: parseInt(k(e, "speed", d.speed), 10),
169
+ dragSpeed: parseInt(k(e, "drag-speed", d.dragSpeed), 10),
170
+ draggable: P(e, "draggable", d.draggable),
171
+ swipeable: P(e, "swipeable", d.swipeable),
172
+ keys: P(e, "keys", d.keys),
173
+ keysReverse: P(e, "keys-reverse", d.keysReverse),
174
+ autoplay: P(e, "autoplay", d.autoplay),
175
+ autoplayBehavior: k(e, "autoplay-behavior", d.autoplayBehavior),
176
+ playOnce: P(e, "play-once", d.playOnce),
177
+ autoplayReverse: P(e, "autoplay-reverse", d.autoplayReverse),
178
+ pointerZoom: parseFloat(k(e, "pointer-zoom", d.pointerZoom)),
179
+ pointerZoomTrigger: k(e, "pointer-zoom-trigger", d.pointerZoomTrigger),
180
+ fullscreen: P(e, "fullscreen") || P(e, "full-screen", d.fullscreen),
181
+ magnifier: parseFloat(k(e, "magnifier", d.magnifier)),
182
182
  bottomCircleOffset: parseInt(
183
- S(e, "bottom-circle-offset", d.bottomCircleOffset),
183
+ k(e, "bottom-circle-offset", d.bottomCircleOffset),
184
184
  10
185
185
  ),
186
- ciToken: S(e, "responsive", d.ciToken),
187
- ciFilters: S(e, "filters", d.ciFilters),
188
- ciTransformation: S(e, "transformation", d.ciTransformation),
189
- lazyload: M(e, "lazyload", d.lazyload),
190
- dragReverse: M(e, "drag-reverse", d.dragReverse),
191
- stopAtEdges: M(e, "stop-at-edges", d.stopAtEdges),
192
- imageInfo: M(e, "info", d.imageInfo),
186
+ ciToken: k(e, "responsive", d.ciToken),
187
+ ciFilters: k(e, "filters", d.ciFilters),
188
+ ciTransformation: k(e, "transformation", d.ciTransformation),
189
+ lazyload: P(e, "lazyload", d.lazyload),
190
+ dragReverse: P(e, "drag-reverse", d.dragReverse),
191
+ stopAtEdges: P(e, "stop-at-edges", d.stopAtEdges),
192
+ imageInfo: P(e, "info", d.imageInfo),
193
193
  initialIconShown: !Zt(e, "initial-icon"),
194
194
  bottomCircle: !Zt(e, "bottom-circle"),
195
- hide360Logo: M(e, "hide-360-logo", d.hide360Logo),
196
- logoSrc: S(e, "logo-src", d.logoSrc),
197
- inertia: M(e, "inertia", d.inertia),
198
- pinchZoom: M(e, "pinch-zoom", d.pinchZoom),
195
+ hide360Logo: P(e, "hide-360-logo", d.hide360Logo),
196
+ logoSrc: k(e, "logo-src", d.logoSrc),
197
+ inertia: P(e, "inertia", d.inertia),
198
+ pinchZoom: P(e, "pinch-zoom", d.pinchZoom),
199
199
  hints: !Zt(e, "hints"),
200
- theme: S(e, "theme", d.theme),
201
- hotspotTrigger: S(e, "hotspot-trigger", d.hotspotTrigger),
200
+ theme: k(e, "theme", d.theme),
201
+ hotspotTrigger: k(e, "hotspot-trigger", d.hotspotTrigger),
202
202
  hotspotTimelineOnClick: !Zt(e, "hotspot-timeline-on-click"),
203
- aspectRatio: S(e, "aspect-ratio", d.aspectRatio)
204
- }), Zi = (e) => {
203
+ aspectRatio: k(e, "aspect-ratio", d.aspectRatio)
204
+ }), Hi = (e) => {
205
205
  const t = [];
206
206
  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)");
207
207
  const i = ["spin-x", "spin-y", "spin-xy", "spin-yx"];
208
208
  return e.autoplayBehavior && !i.includes(e.autoplayBehavior) && t.push(`autoplayBehavior should be one of: ${i.join(", ")}`), t.forEach((s) => {
209
209
  console.warn(`CloudImage 360: ${s}`);
210
210
  }), t.length === 0;
211
- }, Di = (e) => (Zi(e), {
211
+ }, Zi = (e) => (Hi(e), {
212
212
  folder: e.folder || d.folder,
213
213
  apiVersion: e.apiVersion || d.apiVersion,
214
214
  filenameX: e.filenameX || e.filename || d.filenameX,
@@ -264,20 +264,20 @@ const me = /* @__PURE__ */ ai(Ei), R = {
264
264
  onZoomOut: e.onZoomOut ?? d.onZoomOut,
265
265
  onDragStart: e.onDragStart ?? d.onDragStart,
266
266
  onDragEnd: e.onDragEnd ?? d.onDragEnd
267
- }), S = (e, t, i) => e.getAttribute(t) || e.getAttribute(`data-${t}`) || i, M = (e, t, i) => {
267
+ }), k = (e, t, i) => e.getAttribute(t) || e.getAttribute(`data-${t}`) || i, P = (e, t, i) => {
268
268
  if (!(e.hasAttribute(t) || e.hasAttribute(`data-${t}`))) return i;
269
- const o = S(e, t, null);
269
+ const o = k(e, t, null);
270
270
  return o !== "false" && o !== "0";
271
- }, Zt = (e, t) => S(e, t, null) === "false", Bi = (e = 1) => {
271
+ }, Zt = (e, t) => k(e, t, null) === "false", Di = (e = 1) => {
272
272
  const t = Math.round(window.devicePixelRatio || 1);
273
273
  return parseInt(e) * t;
274
- }, Wi = (e, t, i) => new URL(e).origin.includes("cloudimg") ? e : `https://${t}.cloudimg.io/${i}${e}`, Ni = ({ ciTransformation: e, responsiveWidth: t, ciFilters: i }) => {
274
+ }, Bi = (e, t, i) => new URL(e).origin.includes("cloudimg") ? e : `https://${t}.cloudimg.io/${i}${e}`, Wi = ({ ciTransformation: e, responsiveWidth: t, ciFilters: i }) => {
275
275
  const s = `width=${t}`, o = e || s, n = i ? `&f=${i}` : "";
276
276
  return `${o}${n}`;
277
- }, Ct = (e, t) => {
277
+ }, xt = (e, t) => {
278
278
  const { folder: i, apiVersion: s, filename: o = "", ciParams: n } = e, { ciToken: l, ciFilters: r, ciTransformation: a } = n || {}, c = `${i}${o}`;
279
279
  if (!l || !t) return c;
280
- const h = Ai.includes(s) ? null : s, u = h ? `${h}/` : "", f = Bi(t), p = Wi(c, l, u), I = Ni({
280
+ const h = Ai.includes(s) ? null : s, u = h ? `${h}/` : "", f = Di(t), p = Bi(c, l, u), I = Wi({
281
281
  ciTransformation: a,
282
282
  responsiveWidth: f,
283
283
  ciFilters: r
@@ -289,7 +289,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
289
289
  return `${s}?${n}`;
290
290
  const l = new URLSearchParams(o);
291
291
  return l.set(t, i), `${s}?${l.toString()}`;
292
- }, Vi = (e, t) => Fi(e, "width", t), ze = (e, t = 0) => (e += "", e.length >= t ? e : new Array(t - e.length + 1).join("0") + e), zi = (e, { amount: t = 0, indexZeroBase: i = 0 } = {}) => Array.from({ length: t }, (s, o) => e.replace("{index}", ze(o + 1, i))), ji = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), $i = ji ? 3 : 6, Gi = ({
292
+ }, Vi = (e, t) => Fi(e, "width", t), ze = (e, t = 0) => (e += "", e.length >= t ? e : new Array(t - e.length + 1).join("0") + e), Ni = (e, { amount: t = 0, indexZeroBase: i = 0 } = {}) => Array.from({ length: t }, (s, o) => e.replace("{index}", ze(o + 1, i))), zi = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), ji = zi ? 3 : 6, $i = ({
293
293
  imagesUrls: e,
294
294
  onFirstImageLoad: t,
295
295
  onImageLoad: i,
@@ -300,12 +300,12 @@ const me = /* @__PURE__ */ ai(Ei), R = {
300
300
  let l = 0, r = 0;
301
301
  const a = e.length, c = [], h = [];
302
302
  let u = 0, f = 0;
303
- const p = [], I = (m, g, x = !1) => {
303
+ const p = [], I = (m, g, C = !1) => {
304
304
  const A = {
305
305
  message: `Failed to load image: ${m}`,
306
306
  url: m,
307
307
  index: g,
308
- isFirstImage: x
308
+ isFirstImage: C
309
309
  };
310
310
  h.push(A), r++, o == null || o({
311
311
  error: A,
@@ -316,47 +316,47 @@ const me = /* @__PURE__ */ ai(Ei), R = {
316
316
  }, b = () => {
317
317
  l === a && (s == null || s(c, { errorCount: r, errors: h }));
318
318
  }, v = () => {
319
- for (; u < $i && f < p.length; ) {
319
+ for (; u < ji && f < p.length; ) {
320
320
  const m = p[f];
321
321
  f++, O(e[m], m);
322
322
  }
323
323
  }, O = (m, g) => {
324
324
  u++;
325
- const x = new Image();
326
- x.crossOrigin = "anonymous", x.src = m, x.onload = async () => {
325
+ const C = new Image();
326
+ C.crossOrigin = "anonymous", C.src = m, C.onload = async () => {
327
327
  try {
328
- const A = await createImageBitmap(x), k = {
328
+ const A = await createImageBitmap(C), S = {
329
329
  src: m,
330
330
  bitmapImage: A,
331
- naturalWidth: x.naturalWidth,
332
- naturalHeight: x.naturalHeight
331
+ naturalWidth: C.naturalWidth,
332
+ naturalHeight: C.naturalHeight
333
333
  };
334
- x.onload = null, x.onerror = null, x.src = "", l++, u--, c[g] = k, i == null || i(k, g), b(), v();
334
+ C.onload = null, C.onerror = null, C.src = "", l++, u--, c[g] = S, i == null || i(S, g), b(), v();
335
335
  } catch {
336
- x.onload = null, x.onerror = null, x.src = "", l++, u--, I(m, g), b(), v();
336
+ C.onload = null, C.onerror = null, C.src = "", l++, u--, I(m, g), b(), v();
337
337
  }
338
- }, x.onerror = () => {
339
- x.onload = null, x.onerror = null, x.src = "", l++, u--, I(m, g), b(), v();
338
+ }, C.onerror = () => {
339
+ C.onload = null, C.onerror = null, C.src = "", l++, u--, I(m, g), b(), v();
340
340
  };
341
341
  }, E = (m) => {
342
342
  for (let g = 0; g < e.length; g++)
343
343
  g !== m && p.push(g);
344
344
  f = 0, v();
345
- }, w = new Image(), y = n ? e.length - 1 : 0, C = e[y];
346
- w.crossOrigin = "anonymous", w.src = C, w.onload = async () => {
345
+ }, w = new Image(), y = n ? e.length - 1 : 0, x = e[y];
346
+ w.crossOrigin = "anonymous", w.src = x, w.onload = async () => {
347
347
  try {
348
348
  const m = await createImageBitmap(w), g = {
349
- src: C,
349
+ src: x,
350
350
  bitmapImage: m,
351
351
  naturalWidth: w.naturalWidth,
352
352
  naturalHeight: w.naturalHeight
353
353
  };
354
354
  w.onload = null, w.onerror = null, w.src = "", c[y] = g, l++, t == null || t(g), i == null || i(g, y), a === 1 ? b() : E(y);
355
355
  } catch {
356
- w.onload = null, w.onerror = null, w.src = "", l++, I(C, y, !0), a === 1 ? b() : E(y);
356
+ w.onload = null, w.onerror = null, w.src = "", l++, I(x, y, !0), a === 1 ? b() : E(y);
357
357
  }
358
358
  }, w.onerror = () => {
359
- w.onload = null, w.onerror = null, w.src = "", l++, I(C, y, !0), a === 1 ? b() : E(y);
359
+ w.onload = null, w.onerror = null, w.src = "", l++, I(x, y, !0), a === 1 ? b() : E(y);
360
360
  };
361
361
  }, ye = ({
362
362
  cdnPathX: e,
@@ -377,21 +377,21 @@ const me = /* @__PURE__ */ ai(Ei), R = {
377
377
  };
378
378
  l == null || l(c, h, O);
379
379
  }
380
- }, v = ({ cdnPath: O, config: E, orientation: w, loadedImages: y, loadStats: C, onFirstImageLoad: m }) => {
381
- const g = w === Y.X, x = E.imageList.length ? E.imageList : zi(O, E);
382
- Gi({
383
- imagesUrls: x,
380
+ }, v = ({ cdnPath: O, config: E, orientation: w, loadedImages: y, loadStats: x, onFirstImageLoad: m }) => {
381
+ const g = w === Y.X, C = E.imageList.length ? E.imageList : Ni(O, E);
382
+ $i({
383
+ imagesUrls: C,
384
384
  onFirstImageLoad: m,
385
- onImageLoad: (A, k) => {
386
- n == null || n(A, k, w), y[k] = A;
385
+ onImageLoad: (A, S) => {
386
+ n == null || n(A, S, w), y[S] = A;
387
387
  },
388
388
  onError: (A) => {
389
389
  r == null || r({ ...A, orientation: w });
390
390
  },
391
- onAllImagesLoad: (A, k) => {
391
+ onAllImagesLoad: (A, S) => {
392
392
  y.length = 0, A.forEach((T, X) => {
393
393
  T && (y[X] = T);
394
- }), C.errorCount = k.errorCount, C.errors = k.errors.map((T) => ({ ...T, orientation: w })), a[g ? "x" : "y"] = !0, b();
394
+ }), x.errorCount = S.errorCount, x.errors = S.errors.map((T) => ({ ...T, orientation: w })), a[g ? "x" : "y"] = !0, b();
395
395
  },
396
396
  autoplayReverse: E.autoplayReverse
397
397
  });
@@ -411,7 +411,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
411
411
  loadStats: f,
412
412
  onFirstImageLoad: p ? void 0 : o
413
413
  }) : a.y = !0, !p && !I && b();
414
- }, Ui = `
414
+ }, Gi = `
415
415
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1052 156" aria-hidden="true">
416
416
  <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"/>
417
417
  <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"/>
@@ -424,48 +424,78 @@ const me = /* @__PURE__ */ ai(Ei), R = {
424
424
  </svg>
425
425
  `, _i = (e) => {
426
426
  const t = document.createElement("div");
427
- return t.innerHTML = Ui, t.style.bottom = `${e}%`, t.className = "cloudimage-360-view-360-circle", t;
428
- }, Ki = `
429
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="none" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
430
- <!-- Circular arrows -->
431
- <path d="M 75 50 A 25 25 0 1 1 50 25" stroke="currentColor" stroke-width="3"/>
432
- <path d="M 25 50 A 25 25 0 1 1 50 75" stroke="currentColor" stroke-width="3"/>
433
- <!-- Arrow heads -->
434
- <path d="M 50 25 L 56 31 M 50 25 L 56 19" stroke="currentColor" stroke-width="3"/>
435
- <path d="M 50 75 L 44 69 M 50 75 L 44 81" stroke="currentColor" stroke-width="3"/>
436
- <!-- 360 text -->
437
- <text x="50" y="54" text-anchor="middle" font-size="16" font-weight="600" fill="currentColor" stroke="none" font-family="system-ui, -apple-system, sans-serif">360°</text>
427
+ return t.innerHTML = Gi, t.style.bottom = `${e}%`, t.className = "cloudimage-360-view-360-circle", t;
428
+ }, Ui = `
429
+ <svg width="150" height="87" viewBox="0 0 150 87" xmlns="http://www.w3.org/2000/svg">
430
+ <g clip-path="url(#clip0_751_188)">
431
+ <g filter="url(#filter0_d_751_188)">
432
+ <path d="M112.566 15.2227C112.598 15.706 112.529 16.1906 112.364 16.6458C112.198 17.101 111.94 17.5167 111.605 17.8665C111.27 18.2163 110.866 18.4925 110.418 18.6775C109.971 18.8626 109.489 18.9524 109.005 18.9412C108.532 18.955 108.06 18.871 107.621 18.6944C107.181 18.5178 106.782 18.2524 106.45 17.9148C106.117 17.5772 105.858 17.1747 105.688 16.7323C105.518 16.29 105.442 15.8174 105.463 15.344C105.437 14.8591 105.511 14.374 105.68 13.9188C105.849 13.4635 106.109 13.0477 106.445 12.697C106.781 12.3463 107.186 12.0681 107.633 11.8797C108.081 11.6912 108.562 11.5965 109.048 11.6013C111.213 11.5952 112.566 13.1299 112.566 15.2227ZM106.961 15.2895C106.961 16.7574 107.913 17.825 109.03 17.825C110.146 17.825 111.08 16.8059 111.08 15.2652C111.08 14.1551 110.473 12.7053 109.005 12.7053C107.537 12.7053 106.961 14.0884 106.961 15.2895Z" fill="white"/>
433
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M110.164 12.3811C110.552 12.5859 110.861 12.8886 111.093 13.2348C111.506 13.8535 111.681 14.6156 111.681 15.2652C111.681 16.5122 111.13 17.5742 110.261 18.0908C110.603 17.9385 110.912 17.7212 111.171 17.4507C111.448 17.1612 111.662 16.8172 111.799 16.4404C111.936 16.0637 111.993 15.6626 111.966 15.2626L111.965 15.2427V15.2227C111.965 14.3058 111.67 13.5543 111.182 13.0378C110.913 12.7532 110.573 12.5262 110.164 12.3811ZM108.002 18.1944C107.011 17.7212 106.36 16.5793 106.36 15.2895C106.36 14.6064 106.522 13.8357 106.931 13.2157C107.06 13.021 107.212 12.8427 107.389 12.6885C107.204 12.81 107.033 12.9523 106.88 13.1128C106.6 13.4042 106.384 13.7497 106.244 14.128C106.103 14.5062 106.042 14.9093 106.063 15.3122L106.065 15.3415L106.063 15.3708C106.046 15.7615 106.109 16.1517 106.25 16.5168C106.39 16.882 106.604 17.2143 106.878 17.493C107.153 17.7717 107.482 17.9908 107.845 18.1366C107.897 18.1574 107.949 18.1767 108.002 18.1944ZM109.05 11.0002C108.483 10.9951 107.922 11.1058 107.4 11.3256C106.877 11.5459 106.404 11.8711 106.011 12.2811C105.619 12.6912 105.314 13.1773 105.116 13.7096C104.922 14.2327 104.835 14.7894 104.861 15.3466C104.841 15.8928 104.931 16.4375 105.127 16.9478C105.327 17.4673 105.631 17.9401 106.022 18.3366C106.412 18.7331 106.88 19.0448 107.397 19.2522C107.908 19.4577 108.456 19.5564 109.007 19.5425C109.569 19.5533 110.128 19.448 110.648 19.2331C111.173 19.0162 111.646 18.6924 112.039 18.2823C112.432 17.8722 112.735 17.3848 112.929 16.8512C113.121 16.3239 113.202 15.7628 113.167 15.203C113.163 14.035 112.782 12.9803 112.056 12.2121C111.323 11.4362 110.28 10.9976 109.05 11.0002ZM107.934 13.8783C107.689 14.2501 107.562 14.7714 107.562 15.2895C107.562 16.5291 108.34 17.2239 109.03 17.2239C109.716 17.2239 110.479 16.5808 110.479 15.2652C110.479 14.8047 110.35 14.2869 110.093 13.9031C109.851 13.5403 109.507 13.3065 109.005 13.3065C108.495 13.3065 108.163 13.5319 107.934 13.8783Z" fill="white"/>
434
+ <path d="M94.3617 40.718H95.5396C99.9046 40.718 103.369 37.1844 103.369 32.8193V19.5164C103.369 15.1514 99.8353 11.6871 95.5396 11.6871H94.3617C89.9967 11.6871 86.5324 15.2207 86.5324 19.5164V32.8193C86.4631 37.1844 90.0659 40.718 94.3617 40.718ZM91.1052 19.5164C91.1052 17.715 92.5602 16.26 94.3617 16.26H95.5396C97.341 16.26 98.796 17.715 98.796 19.5164V32.8193C98.796 34.6208 97.341 36.0758 95.5396 36.0758H94.3617C92.5602 36.0758 91.1052 34.6208 91.1052 32.8193V19.5164Z" fill="white"/>
435
+ <path d="M74.6152 40.7179C79.2574 40.7179 82.9988 36.9765 82.9988 32.3343C82.9988 27.6922 79.2574 23.9507 74.6152 23.9507C73.9916 23.9507 73.2988 24.02 72.7445 24.1586C73.9223 21.4564 75.7931 18.685 78.7724 16.4678C79.8117 15.7749 80.0195 14.3199 79.2574 13.2806C78.5645 12.2413 77.1095 12.0335 76.0702 12.7956C67.8944 18.8928 66.578 28.0386 66.3701 31.2258C66.3701 31.2258 66.3701 31.2257 66.3701 31.295C66.3009 31.6415 66.3009 31.9879 66.3009 32.4036C66.2316 36.9072 70.0423 40.7179 74.6152 40.7179ZM74.6152 28.4543C76.6938 28.4543 78.3566 30.1865 78.3566 32.1958C78.3566 34.2051 76.6245 35.9372 74.6152 35.9372C72.6752 35.9372 71.0123 34.3436 70.8737 32.4729C70.8737 32.4036 70.943 32.265 70.943 32.1265C70.943 32.1265 70.943 31.9186 71.0123 31.5722C71.2202 29.84 72.8138 28.4543 74.6152 28.4543Z" fill="white"/>
436
+ <path d="M54.3143 36.0758C52.2358 36.0758 50.5729 34.3436 50.5729 32.3343C50.5729 31.0179 49.5336 30.0479 48.2864 30.0479C46.97 30.0479 46 31.0872 46 32.3343C46 36.9765 49.7414 40.718 54.3836 40.718C59.0258 40.718 62.7672 36.9765 62.7672 32.1958C62.7672 29.84 61.7279 27.6229 60.0651 26.0986C61.7279 24.505 62.7672 22.4264 62.7672 20.0014C62.7672 15.3592 59.0258 11.6178 54.3836 11.6178C49.7414 11.6178 46 15.3592 46 20.0014C46 21.3178 47.0393 22.2879 48.2864 22.2879C49.6029 22.2879 50.5729 21.2486 50.5729 20.0014C50.5729 17.9228 52.305 16.26 54.3143 16.26C56.3236 16.26 58.0558 17.9921 58.0558 20.0014C58.0558 22.0107 56.3236 23.7429 54.3143 23.7429C52.9979 23.7429 52.0279 24.7822 52.0279 26.0293C52.0279 27.3458 53.0672 28.3157 54.3143 28.3157C56.3929 28.3157 58.0558 30.0479 58.0558 32.0572C58.1251 34.3436 56.4622 36.0758 54.3143 36.0758Z" fill="white"/>
437
+ </g>
438
+ <g filter="url(#filter1_d_751_188)">
439
+ <path d="M26.8762 25.5149C27.5172 25.2883 28.1927 25.7659 28.1927 26.4458V33.5925C28.1927 34.0014 27.9493 34.3677 27.5768 34.5364C23.692 36.2966 3.80303 46.5259 37.3945 58.1537C37.3945 58.1537 57.0291 63.5205 76.923 63.6974C77.4752 63.7023 77.9231 63.2541 77.9231 62.7018V57.8317C77.9231 57.0995 78.6841 56.6156 79.3472 56.9261L103.851 68.4011C104.598 68.7507 104.624 69.8027 103.897 70.1897L79.3926 83.2187C78.7265 83.5728 77.9231 83.0901 77.9231 82.3357V75.7982C77.9231 75.2459 77.5039 74.797 76.9517 74.7892C68.3815 74.6673 6 72.8926 6 47.0574C6 47.0574 6 32.8966 26.8762 25.5149Z" fill="white"/>
440
+ <path d="M111.768 58.2062C110.979 57.639 111.335 56.0078 112.271 55.7479C118.431 54.037 131.443 49.0118 131.443 41.6445C131.443 34.2279 126.608 31.5583 124.732 30.8016C124.308 30.6306 124 30.2281 124 29.7708V26.2189C124 25.5882 124.573 25.1253 125.18 25.2967C129.233 26.4408 142.336 31.2278 142.336 45.2982C142.336 45.2982 142.336 58.9459 122.524 65.4395C122.224 65.5379 121.887 65.4876 121.63 65.3031L111.768 58.2062Z" fill="white"/>
441
+ </g>
442
+ </g>
443
+ <defs>
444
+ <filter id="filter0_d_751_188" x="38" y="3" width="83.1749" height="45.718" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
445
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
446
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
447
+ <feOffset/>
448
+ <feGaussianBlur stdDeviation="4"/>
449
+ <feComposite in2="hardAlpha" operator="out"/>
450
+ <feColorMatrix type="matrix" values="0 0 0 0 0.133333 0 0 0 0 0.145098 0 0 0 0 0.160784 0 0 0 0.4 0"/>
451
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_751_188"/>
452
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_751_188" result="shape"/>
453
+ </filter>
454
+ <filter id="filter1_d_751_188" x="4" y="25.2607" width="140.336" height="63.0764" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
455
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
456
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
457
+ <feOffset dy="3"/>
458
+ <feGaussianBlur stdDeviation="1"/>
459
+ <feComposite in2="hardAlpha" operator="out"/>
460
+ <feColorMatrix type="matrix" values="0 0 0 0 0.301961 0 0 0 0 0.360784 0 0 0 0 0.454902 0 0 0 0.4 0"/>
461
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_751_188"/>
462
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_751_188" result="shape"/>
463
+ </filter>
464
+ <clipPath id="clip0_751_188">
465
+ <rect width="150" height="87" fill="white"/>
466
+ </clipPath>
467
+ </defs>
438
468
  </svg>
439
- `, Ji = (e) => {
469
+ `, Ki = (e) => {
440
470
  const t = document.createElement("div");
441
- 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 = Ki, t;
442
- }, qi = (e, t) => {
471
+ 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 = Ui, t;
472
+ }, Ji = (e, t) => {
443
473
  const { width: i, height: s } = t, o = document.createElement("canvas");
444
474
  return o.width = i, o.height = s, o.style.width = "100%", o.style.height = "auto", e.appendChild(o), o;
445
- }, Qi = () => {
475
+ }, qi = () => {
446
476
  const e = document.createElement("button");
447
477
  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;
448
- }, ts = () => {
478
+ }, Qi = () => {
449
479
  const e = document.createElement("button");
450
480
  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;
451
481
  }, be = (e) => {
452
482
  const t = document.createElement("div");
453
483
  return t.className = "cloudimage-360-icons-container", e.appendChild(t), t;
454
- }, es = (e) => {
484
+ }, ts = (e) => {
455
485
  const t = document.createElement("div");
456
486
  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;
457
- }, is = () => {
487
+ }, es = () => {
458
488
  const e = document.createElement("button");
459
489
  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;
460
- }, ss = () => {
490
+ }, is = () => {
461
491
  const e = document.createElement("button");
462
492
  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;
463
- }, os = (e) => {
493
+ }, ss = (e) => {
464
494
  const t = document.createElement("div");
465
- t.className = "cloudimage-initial-icon";
495
+ t.className = "cloudimage-360-loader";
466
496
  const i = document.createElement("span");
467
497
  return i.className = "percentage", i.innerText = "0%", t.appendChild(i), e.appendChild(t), t;
468
- }, ns = (e) => {
498
+ }, os = (e) => {
469
499
  const t = document.createElement("div");
470
500
  t.className = "cloudimage-360-fullscreen-modal";
471
501
  const i = e.cloneNode();
@@ -473,19 +503,19 @@ const me = /* @__PURE__ */ ai(Ei), R = {
473
503
  }, qt = (e, t) => {
474
504
  const i = e.querySelector(t);
475
505
  i && i.parentNode.removeChild(i);
476
- }, rs = () => {
506
+ }, ns = () => {
477
507
  const e = document.createElement("div");
478
508
  return e.className = "cloudimage-loading-spinner", e;
479
- }, as = () => {
509
+ }, rs = () => {
480
510
  const e = document.createElement("div");
481
511
  return e.className = "cloudimage-360-transition-overlay", e;
482
- }, ls = (e) => {
512
+ }, as = (e) => {
483
513
  const t = document.createElement("div");
484
514
  return t.className = "cloudimage-360-hotspot-container", e.appendChild(t), t;
485
- }, cs = (e) => {
515
+ }, ls = (e) => {
486
516
  const t = document.createElement("div");
487
517
  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;
488
- }, hs = (e, t) => {
518
+ }, cs = (e, t) => {
489
519
  e && (e.textContent = "", setTimeout(() => {
490
520
  e.textContent = t;
491
521
  }, 50));
@@ -504,7 +534,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
504
534
  pinch: "Pinch to zoom",
505
535
  keys: "Use arrow keys",
506
536
  fullscreen: "Click for fullscreen"
507
- }, ds = (e, t = {}) => {
537
+ }, hs = (e, t = {}) => {
508
538
  const i = document.createElement("div");
509
539
  i.className = "cloudimage-360-hint-item";
510
540
  let s = we[e];
@@ -518,31 +548,31 @@ const me = /* @__PURE__ */ ai(Ei), R = {
518
548
  s.className = "cloudimage-360-hints-overlay", s.setAttribute("role", "tooltip"), s.setAttribute("aria-label", "Interaction hints");
519
549
  const o = document.createElement("div");
520
550
  return o.className = "cloudimage-360-hints-container", t.forEach((n) => {
521
- je[n] && o.appendChild(ds(n, i));
551
+ je[n] && o.appendChild(hs(n, i));
522
552
  }), s.appendChild(o), e.appendChild(s), s;
523
- }, xe = (e, t) => t ? ["swipe"] : ["drag", "click"], Ce = (e) => {
553
+ }, Ce = (e, t) => t ? ["swipe", "pinch"] : ["drag", "click"], xe = (e) => {
524
554
  e && e.classList.add("visible");
525
- }, us = (e) => {
555
+ }, ds = (e) => {
526
556
  e && (e.classList.remove("visible"), e.classList.add("hiding"), setTimeout(() => {
527
557
  e.classList.remove("hiding");
528
558
  }, 300));
529
- }, ps = (e) => {
559
+ }, us = (e) => {
530
560
  if (!e || typeof e != "object") return null;
531
561
  const t = Object.keys(e).map((s) => parseInt(s, 10)).filter((s) => !isNaN(s)).sort((s, o) => s - o);
532
562
  if (t.length === 0) return null;
533
563
  const i = Math.floor(t.length / 2);
534
564
  return t[i];
535
- }, ms = (e) => {
565
+ }, ps = (e) => {
536
566
  const t = [];
537
567
  return !e || !Array.isArray(e) || e.forEach((i, s) => {
538
- const o = ps(i.positions);
568
+ const o = us(i.positions);
539
569
  o !== null && t.push({
540
570
  id: i.id || `hotspot-${s}`,
541
571
  frame: o,
542
572
  label: i.label || null
543
573
  });
544
574
  }), t;
545
- }, fs = 400, vs = (e, t, i, s) => {
575
+ }, ms = 400, fs = (e, t, i, s) => {
546
576
  const o = document.createElement("button");
547
577
  o.className = "cloudimage-360-hotspot-timeline-dot", o.setAttribute("type", "button"), o.setAttribute("aria-label", s || `Go to hotspot at frame ${t + 1}`), o.setAttribute("data-frame", t.toString()), o.setAttribute("data-hotspot-id", e);
548
578
  const n = i > 1 ? t / (i - 1) * 100 : 0;
@@ -553,7 +583,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
553
583
  o.addEventListener("mouseenter", () => {
554
584
  r = setTimeout(() => {
555
585
  l.classList.add("visible");
556
- }, fs);
586
+ }, ms);
557
587
  }), o.addEventListener("mouseleave", () => {
558
588
  r && (clearTimeout(r), r = null), l.classList.remove("visible");
559
589
  }), o.addEventListener("click", () => {
@@ -561,8 +591,8 @@ const me = /* @__PURE__ */ ai(Ei), R = {
561
591
  });
562
592
  }
563
593
  return o;
564
- }, gs = (e, t, i) => {
565
- const s = ms(i);
594
+ }, vs = (e, t, i) => {
595
+ const s = ps(i);
566
596
  if (s.length === 0) return null;
567
597
  const o = document.createElement("div");
568
598
  o.className = "cloudimage-360-hotspot-timeline", o.setAttribute("role", "navigation"), o.setAttribute("aria-label", "Hotspot timeline navigation");
@@ -570,35 +600,36 @@ const me = /* @__PURE__ */ ai(Ei), R = {
570
600
  n.className = "cloudimage-360-hotspot-timeline-track";
571
601
  const l = document.createElement("div");
572
602
  return l.className = "cloudimage-360-hotspot-timeline-indicator", s.forEach(({ id: r, frame: a, label: c }) => {
573
- const h = vs(r, a, t, c);
603
+ const h = fs(r, a, t, c);
574
604
  n.appendChild(h);
575
605
  }), n.appendChild(l), o.appendChild(n), e.appendChild(o), {
576
606
  element: o,
577
607
  indicator: l,
578
608
  hotspotFrames: s
579
609
  };
580
- }, ys = (e, t, i) => {
610
+ }, gs = (e, t, i) => {
581
611
  if (!e) return;
582
612
  const s = i > 1 ? t / (i - 1) * 100 : 0;
583
613
  e.style.left = `${s}%`;
584
- }, bs = (e) => {
614
+ }, ys = (e) => {
585
615
  e && e.classList.add("visible");
586
- }, ws = (e) => {
616
+ }, bs = (e) => {
587
617
  e && e.classList.remove("visible");
588
618
  }, Qt = (e, t = []) => {
589
619
  if (!e) return t;
620
+ if (Array.isArray(e)) return e;
590
621
  try {
591
622
  return JSON.parse(e);
592
623
  } catch (i) {
593
624
  return console.warn("CloudImage 360: Failed to parse JSON:", i.message), t;
594
625
  }
595
- }, Is = (e, t) => {
626
+ }, ws = (e, t) => {
596
627
  const [i, s] = e.split("?");
597
628
  if (!s) return e;
598
629
  const o = new RegExp(`^${t}=|&${t}=`), n = s.split("&").filter((l) => !o.test(l)).join("&");
599
630
  return n ? `${i}?${n}` : i;
600
- }, xs = (e) => {
601
- const t = Is(e, "width"), i = t.includes("?") ? "&" : "?";
631
+ }, Is = (e) => {
632
+ const t = ws(e, "width"), i = t.includes("?") ? "&" : "?";
602
633
  return `${t}${i}width=${150 * devicePixelRatio}`;
603
634
  }, Cs = (e) => {
604
635
  const t = {
@@ -614,24 +645,24 @@ const me = /* @__PURE__ */ ai(Ei), R = {
614
645
  l.isIntersecting && (i(l.target), n.unobserve(l.target));
615
646
  });
616
647
  }, t).observe(e);
617
- }, Os = (e, t) => {
648
+ }, xs = (e, t) => {
618
649
  const i = ze(1, t);
619
650
  return e.replace("{index}", i);
620
- }, Es = (e, t) => {
651
+ }, Os = (e, t) => {
621
652
  const [i] = e, s = /(https?):\/\//i.test(i);
622
- return Ct({
653
+ return xt({
623
654
  ...t,
624
655
  folder: s ? "" : t.folder,
625
656
  filename: i
626
657
  });
627
- }, As = (e, t) => {
658
+ }, Es = (e, t) => {
628
659
  const { imageList: i, indexZeroBase: s } = t;
629
660
  if (i.length) {
630
661
  const o = Qt(i, null);
631
662
  if (o)
632
- return Es(o, t);
663
+ return Os(o, t);
633
664
  }
634
- return Os(e, s);
665
+ return xs(e, s);
635
666
  }, Oe = (e, t, i) => {
636
667
  const s = new Image();
637
668
  return s.setAttribute(t ? "data-src" : "src", e), s.className = i, s.style.cssText = `
@@ -644,7 +675,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
644
675
  filter: blur(10px);
645
676
  `, s;
646
677
  }, Ee = (e, t, i) => {
647
- const { innerBox: s, imageList: o, lazyload: n } = t || {}, [l] = o, r = l || As(e, t), a = xs(r), c = Oe(a, n, "cloudimage-lazy"), h = Oe(a, !1, "cloudimage-360-placeholder"), u = (f) => {
678
+ const { innerBox: s, imageList: o, lazyload: n } = t || {}, [l] = o, r = l || Es(e, t), a = Is(r), c = Oe(a, n, "cloudimage-lazy"), h = Oe(a, !1, "cloudimage-360-placeholder"), u = (f) => {
648
679
  qt(s, ".cloudimage-lazy"), i && i({
649
680
  event: f,
650
681
  width: c.width,
@@ -655,7 +686,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
655
686
  });
656
687
  };
657
688
  c.onload = u, s.appendChild(c), s.appendChild(h), Cs(c);
658
- }, ks = (e, t, i) => {
689
+ }, As = (e, t, i) => {
659
690
  const s = new Image();
660
691
  s.src = e, s.onload = (o) => {
661
692
  t && t({
@@ -682,7 +713,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
682
713
  u = Math.max(o / l, Math.min(u, s.offsetWidth - o / l)), f = Math.max(n / l, Math.min(f, s.offsetHeight - n / l)), i.style.left = `${u - o}px`, i.style.top = `${f - n}px`;
683
714
  const p = (u - a) * l - o + r, I = (f - c) * l - n + r;
684
715
  i.style.backgroundPosition = `-${p}px -${I}px`;
685
- }, Ts = (e, t, i, s, o, n) => {
716
+ }, ks = (e, t, i, s, o, n) => {
686
717
  const { x: l = 0, y: r = 0 } = i || {}, a = (t.offsetWidth - l * 2) * n, c = (t.offsetHeight - r * 2) * n;
687
718
  if (!o) return;
688
719
  o.setAttribute("class", "cloudimage-360-img-magnifier-glass"), t.prepend(o), o.style.backgroundImage = `url('${s.src}')`, o.style.backgroundSize = `${a}px ${c}px`;
@@ -702,10 +733,10 @@ const me = /* @__PURE__ */ ai(Ei), R = {
702
733
  v.preventDefault(), Jt(v, p, o);
703
734
  };
704
735
  o.addEventListener("mousemove", I), t.addEventListener("mousemove", I), t.addEventListener("touchmove", b);
705
- }, Ls = (e, t, i) => {
736
+ }, Ts = (e, t, i) => {
706
737
  const { clientX: s, clientY: o } = e, n = t.getBoundingClientRect(), l = t.width / (n.width * i), r = t.height / (n.height * i), a = (s - n.left) * l, c = (o - n.top) * r;
707
738
  return { offsetX: a, offsetY: c };
708
- }, Ps = (e, t, i) => {
739
+ }, Ls = (e, t, i) => {
709
740
  const s = e / i, o = t / i;
710
741
  return { zoomedWidth: s, zoomedHeight: o };
711
742
  }, Ms = ({
@@ -723,22 +754,22 @@ const me = /* @__PURE__ */ ai(Ei), R = {
723
754
  return c = Math.max(0, Math.min(c, u)), h = Math.max(0, Math.min(h, f)), { zoomOffsetX: c, zoomOffsetY: h };
724
755
  }, Ae = (e, { bottom: t, top: i }) => {
725
756
  e ? t() : i();
726
- }, ke = (e, { left: t, right: i }) => {
757
+ }, Se = (e, { left: t, right: i }) => {
727
758
  e ? t() : i();
728
- }, Ys = ({ autoplayBehavior: e, spinY: t, reversed: i, loopTriggers: s }) => {
759
+ }, Ps = ({ autoplayBehavior: e, spinY: t, reversed: i, loopTriggers: s }) => {
729
760
  switch (e) {
730
761
  case R.SPIN_XY:
731
762
  case R.SPIN_YX:
732
- t ? Ae(i, s) : ke(i, s);
763
+ t ? Ae(i, s) : Se(i, s);
733
764
  break;
734
765
  case R.SPIN_Y:
735
766
  Ae(i, s);
736
767
  break;
737
768
  case R.SPIN_X:
738
769
  default:
739
- ke(i, s);
770
+ Se(i, s);
740
771
  }
741
- }, Xs = ({
772
+ }, Ys = ({
742
773
  autoplayBehavior: e,
743
774
  activeImageX: t,
744
775
  activeImageY: i,
@@ -759,7 +790,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
759
790
  default:
760
791
  return l(t, s);
761
792
  }
762
- }, Rs = ({
793
+ }, Xs = ({
763
794
  autoplayBehavior: e,
764
795
  activeImageX: t,
765
796
  activeImageY: i,
@@ -770,7 +801,7 @@ const me = /* @__PURE__ */ ai(Ei), R = {
770
801
  }) => {
771
802
  const r = t === (n ? 0 : s - 1), a = i === (n ? 0 : o - 1);
772
803
  return e === R.SPIN_XY || e === R.SPIN_YX ? l === "x" && r || l === "y" && a : !1;
773
- }, Hs = (e, t, i) => {
804
+ }, Rs = (e, t, i) => {
774
805
  if (!i) return "x";
775
806
  if (!t) return "y";
776
807
  switch (e) {
@@ -784,21 +815,21 @@ const me = /* @__PURE__ */ ai(Ei), R = {
784
815
  default:
785
816
  return "x";
786
817
  }
787
- }, Zs = (e) => e === "x" ? "y" : "x", Se = (e, t) => {
788
- const i = [...ki];
789
- return t ? [...i, ...Si].includes(e) : i.includes(e);
818
+ }, Hs = (e) => e === "x" ? "y" : "x", ke = (e, t) => {
819
+ const i = [...Si];
820
+ return t ? [...i, ...ki].includes(e) : i.includes(e);
790
821
  }, Te = ({ deltaX: e, deltaY: t, reversed: i, allowSpinX: s, allowSpinY: o, threshold: n = 0 }) => {
791
822
  const l = s && !o || o && !s ? 0 : n, r = Math.abs(e), a = Math.abs(t);
792
823
  return s && r - l > a ? i ? e > 0 ? "left" : "right" : e > 0 ? "right" : "left" : o && a - l > r ? i ? t > 0 ? "up" : "down" : t > 0 ? "down" : "up" : null;
793
- }, Ds = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0, Bs = (e, t = 150) => {
824
+ }, Zs = () => "ontouchstart" in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0, Ds = (e, t = 150) => {
794
825
  let i;
795
826
  return function(...s) {
796
827
  clearTimeout(i), i = setTimeout(() => {
797
828
  e.apply(this, s);
798
829
  }, t);
799
830
  };
800
- }, $e = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IHY9KHQsYSxlKT0+e2NvbnN0IHM9dC9lLG49YS9lO3JldHVybnt6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpufX0sej0oe3BvaW50ZXJYOnQscG9pbnRlclk6YSxpbWFnZURhdGE6ZSx6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpuLGRyYXdXaWR0aDppLGRyYXdIZWlnaHQ6Y30pPT57Y29uc3R7bmF0dXJhbFdpZHRoOmcsbmF0dXJhbEhlaWdodDp1fT1lO2xldCBmPXQvaSpnLXMvMixtPWEvYyp1LW4vMjtjb25zdCB4PU1hdGgubWF4KDAsZy1zKSxPPU1hdGgubWF4KDAsdS1uKTtyZXR1cm4gZj1NYXRoLm1heCgwLE1hdGgubWluKGYseCkpLG09TWF0aC5tYXgoMCxNYXRoLm1pbihtLE8pKSx7em9vbU9mZnNldFg6Zix6b29tT2Zmc2V0WTptfX07bGV0IG8saCxyLGQsbCx3O3NlbGYub25tZXNzYWdlPWFzeW5jIHQ9Pntjb25zdHthY3Rpb246YSxvZmZzY3JlZW46ZSxkZXZpY2VQaXhlbFJhdGlvOnMsaW1hZ2VEYXRhOm4sem9vbVNjYWxlOmkscG9pbnRlclg6Yyxwb2ludGVyWTpnLGltYWdlQXNwZWN0UmF0aW86dSxjb250YWluZXJXaWR0aDpmLGNvbnRhaW5lckhlaWdodDptfT10LmRhdGE7c3dpdGNoKGEpe2Nhc2UiaW5pdENhbnZhcyI6QyhlLHMpO2JyZWFrO2Nhc2UiYWRhcHRDYW52YXNTaXplIjpwKHUsZixtKTticmVhaztjYXNlImRyYXdJbWFnZU9uQ2FudmFzIjpJKG4saSxjLGcpO2JyZWFrfX07Y29uc3QgQz0odCxhKT0+e289dCxoPW8uZ2V0Q29udGV4dCgiMmQiKSxyPWF9LHA9KHQsYSxlKT0+e2NvbnN0IHM9YS9lO3c9dD5zLG8ud2lkdGg9YSpyLG8uaGVpZ2h0PWUqcixoLnNjYWxlKHIsciksdz8oZD1hLGw9YS90KToobD1lLGQ9ZSp0KSxoLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCxoLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCJ9LEk9KHQ9e30sYT0xLGU9MCxzPTApPT57Y29uc3R7Yml0bWFwSW1hZ2U6bn09dDtpZighb3x8IW4pcmV0dXJuO2xldCBpLGM7aWYodz8oaT0wLGM9KG8uaGVpZ2h0L3ItbCkvMik6KGk9KG8ud2lkdGgvci1kKS8yLGM9MCksaC5jbGVhclJlY3QoMCwwLG8ud2lkdGgsby5oZWlnaHQpLGEhPT0xKXtjb25zdHtuYXR1cmFsV2lkdGg6ZyxuYXR1cmFsSGVpZ2h0OnV9PXQse3pvb21lZFdpZHRoOmYsem9vbWVkSGVpZ2h0Om19PXYoZyx1LGEpLHt6b29tT2Zmc2V0WDp4LHpvb21PZmZzZXRZOk99PXooe3BvaW50ZXJYOmUscG9pbnRlclk6cyxpbWFnZURhdGE6dCx6b29tZWRXaWR0aDpmLHpvb21lZEhlaWdodDptLGRyYXdXaWR0aDpkLGRyYXdIZWlnaHQ6bH0pO2guZHJhd0ltYWdlKG4seCxPLGYsbSxpLGMsZCxsKX1lbHNlIGguZHJhd0ltYWdlKG4saSxjLGQsbCl9fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FudmFzLndvcmtlci1DZzBma3BEMS5qcy5tYXAK", Ws = (e) => Uint8Array.from(atob(e), (t) => t.charCodeAt(0)), Le = typeof self < "u" && self.Blob && new Blob([Ws($e)], { type: "text/javascript;charset=utf-8" });
801
- function Ns(e) {
831
+ }, $e = "KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2NvbnN0IHY9KHQsYSxlKT0+e2NvbnN0IHM9dC9lLG49YS9lO3JldHVybnt6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpufX0sej0oe3BvaW50ZXJYOnQscG9pbnRlclk6YSxpbWFnZURhdGE6ZSx6b29tZWRXaWR0aDpzLHpvb21lZEhlaWdodDpuLGRyYXdXaWR0aDppLGRyYXdIZWlnaHQ6Y30pPT57Y29uc3R7bmF0dXJhbFdpZHRoOmcsbmF0dXJhbEhlaWdodDp1fT1lO2xldCBmPXQvaSpnLXMvMixtPWEvYyp1LW4vMjtjb25zdCB4PU1hdGgubWF4KDAsZy1zKSxPPU1hdGgubWF4KDAsdS1uKTtyZXR1cm4gZj1NYXRoLm1heCgwLE1hdGgubWluKGYseCkpLG09TWF0aC5tYXgoMCxNYXRoLm1pbihtLE8pKSx7em9vbU9mZnNldFg6Zix6b29tT2Zmc2V0WTptfX07bGV0IG8saCxyLGQsbCx3O3NlbGYub25tZXNzYWdlPWFzeW5jIHQ9Pntjb25zdHthY3Rpb246YSxvZmZzY3JlZW46ZSxkZXZpY2VQaXhlbFJhdGlvOnMsaW1hZ2VEYXRhOm4sem9vbVNjYWxlOmkscG9pbnRlclg6Yyxwb2ludGVyWTpnLGltYWdlQXNwZWN0UmF0aW86dSxjb250YWluZXJXaWR0aDpmLGNvbnRhaW5lckhlaWdodDptfT10LmRhdGE7c3dpdGNoKGEpe2Nhc2UiaW5pdENhbnZhcyI6QyhlLHMpO2JyZWFrO2Nhc2UiYWRhcHRDYW52YXNTaXplIjpwKHUsZixtKTticmVhaztjYXNlImRyYXdJbWFnZU9uQ2FudmFzIjpJKG4saSxjLGcpO2JyZWFrfX07Y29uc3QgQz0odCxhKT0+e289dCxoPW8uZ2V0Q29udGV4dCgiMmQiKSxyPWF9LHA9KHQsYSxlKT0+e2NvbnN0IHM9YS9lO3c9dD5zLG8ud2lkdGg9YSpyLG8uaGVpZ2h0PWUqcixoLnNjYWxlKHIsciksdz8oZD1hLGw9YS90KToobD1lLGQ9ZSp0KSxoLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCxoLmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCJ9LEk9KHQ9e30sYT0xLGU9MCxzPTApPT57Y29uc3R7Yml0bWFwSW1hZ2U6bn09dDtpZighb3x8IW4pcmV0dXJuO2xldCBpLGM7aWYodz8oaT0wLGM9KG8uaGVpZ2h0L3ItbCkvMik6KGk9KG8ud2lkdGgvci1kKS8yLGM9MCksaC5jbGVhclJlY3QoMCwwLG8ud2lkdGgsby5oZWlnaHQpLGEhPT0xKXtjb25zdHtuYXR1cmFsV2lkdGg6ZyxuYXR1cmFsSGVpZ2h0OnV9PXQse3pvb21lZFdpZHRoOmYsem9vbWVkSGVpZ2h0Om19PXYoZyx1LGEpLHt6b29tT2Zmc2V0WDp4LHpvb21PZmZzZXRZOk99PXooe3BvaW50ZXJYOmUscG9pbnRlclk6cyxpbWFnZURhdGE6dCx6b29tZWRXaWR0aDpmLHpvb21lZEhlaWdodDptLGRyYXdXaWR0aDpkLGRyYXdIZWlnaHQ6bH0pO2guZHJhd0ltYWdlKG4seCxPLGYsbSxpLGMsZCxsKX1lbHNlIGguZHJhd0ltYWdlKG4saSxjLGQsbCl9fSkoKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2FudmFzLndvcmtlci1DZzBma3BEMS5qcy5tYXAK", Bs = (e) => Uint8Array.from(atob(e), (t) => t.charCodeAt(0)), Le = typeof self < "u" && self.Blob && new Blob([Bs($e)], { type: "text/javascript;charset=utf-8" });
832
+ function Ws(e) {
802
833
  let t;
803
834
  try {
804
835
  if (t = Le && (self.URL || self.webkitURL).createObjectURL(Le), !t) throw "";
@@ -872,7 +903,7 @@ class Fs {
872
903
  if (!this.canvas || !this.ctx || !n) return;
873
904
  let l, r;
874
905
  if (this.wideImage ? (l = 0, r = (this.canvas.height / this.dpr - this.drawHeight) / 2) : (l = (this.canvas.width / this.dpr - this.drawWidth) / 2, r = 0), this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height), i !== 1) {
875
- const { naturalWidth: a, naturalHeight: c } = t, { zoomedWidth: h, zoomedHeight: u } = Ps(a, c, i), { zoomOffsetX: f, zoomOffsetY: p } = Ms({
906
+ const { naturalWidth: a, naturalHeight: c } = t, { zoomedWidth: h, zoomedHeight: u } = Ls(a, c, i), { zoomOffsetX: f, zoomOffsetY: p } = Ms({
876
907
  pointerX: s,
877
908
  pointerY: o,
878
909
  imageData: t,
@@ -955,7 +986,7 @@ const Vs = /* @__PURE__ */ new Set([
955
986
  "lineargradient",
956
987
  "radialgradient",
957
988
  "stop"
958
- ]), Pe = {
989
+ ]), Me = {
959
990
  a: ["href", "title", "target", "rel"],
960
991
  img: ["src", "alt", "title", "width", "height"],
961
992
  button: ["type", "disabled", "name", "value"],
@@ -983,12 +1014,12 @@ const Vs = /* @__PURE__ */ new Set([
983
1014
  clippath: ["id"],
984
1015
  mask: ["id"],
985
1016
  "*": ["class", "id", "style"]
986
- }, zs = [
1017
+ }, Ns = [
987
1018
  /javascript:/gi,
988
1019
  /vbscript:/gi,
989
1020
  /data:/gi,
990
1021
  /on\w+\s*=/gi
991
- ], js = (e) => {
1022
+ ], zs = (e) => {
992
1023
  if (typeof e != "string")
993
1024
  return "";
994
1025
  const t = document.createElement("template");
@@ -1006,8 +1037,8 @@ const Vs = /* @__PURE__ */ new Set([
1006
1037
  return;
1007
1038
  }
1008
1039
  const l = [
1009
- ...Pe[n] || [],
1010
- ...Pe["*"] || []
1040
+ ...Me[n] || [],
1041
+ ...Me["*"] || []
1011
1042
  ];
1012
1043
  if (Array.from(s.attributes).forEach((a) => {
1013
1044
  const c = a.name.toLowerCase();
@@ -1020,7 +1051,7 @@ const Vs = /* @__PURE__ */ new Set([
1020
1051
  return;
1021
1052
  }
1022
1053
  let h = a.value;
1023
- zs.forEach((u) => {
1054
+ Ns.forEach((u) => {
1024
1055
  u.test(h) && s.removeAttribute(a.name);
1025
1056
  });
1026
1057
  }), n === "a") {
@@ -1034,9 +1065,9 @@ const Vs = /* @__PURE__ */ new Set([
1034
1065
  }
1035
1066
  };
1036
1067
  return i(t.content), t.innerHTML;
1037
- }, $s = (e) => e === "x" ? Y.X : Y.Y, Gs = (e, t, i) => e.filter(
1038
- (s) => $s(s.orientation) === i && t in s.positions
1039
- ), Us = (e, t) => {
1068
+ }, js = (e) => e === "x" ? Y.X : Y.Y, $s = (e, t, i) => e.filter(
1069
+ (s) => js(s.orientation) === i && t in s.positions
1070
+ ), Gs = (e, t) => {
1040
1071
  const i = document.createElement("button");
1041
1072
  return i.id = e, i.className = "cloudimage-360-hotspot", i.dataset.hotspotId = e, i.setAttribute("type", "button"), i.setAttribute("aria-label", t || `Hotspot ${e}`), i.setAttribute("aria-haspopup", "true"), i.setAttribute("aria-expanded", "false"), i;
1042
1073
  }, _s = (e) => {
@@ -1054,7 +1085,7 @@ const Vs = /* @__PURE__ */ new Set([
1054
1085
  };
1055
1086
  }
1056
1087
  return o;
1057
- }, Ks = (e) => [
1088
+ }, Us = (e) => [
1058
1089
  {
1059
1090
  name: "offset",
1060
1091
  options: {
@@ -1067,16 +1098,16 @@ const Vs = /* @__PURE__ */ new Set([
1067
1098
  boundary: e
1068
1099
  }
1069
1100
  }
1070
- ], Js = (e, t) => {
1101
+ ], Ks = (e, t) => {
1071
1102
  const i = document.createElement("div");
1072
- 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 = js(e) : i.textContent = e, document.body.appendChild(i), i;
1073
- }, qs = (e) => {
1103
+ 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 = zs(e) : i.textContent = e, document.body.appendChild(i), i;
1104
+ }, Js = (e) => {
1074
1105
  const t = [...e];
1075
1106
  return t.forEach((i, s) => {
1076
1107
  const o = { ..._s(i.positions) };
1077
1108
  t[s].initialPositions = o, t[s].positions = o;
1078
1109
  }), t;
1079
- }, Qs = ({
1110
+ }, qs = ({
1080
1111
  newWidth: e,
1081
1112
  newHeight: t,
1082
1113
  initialContainerSize: i,
@@ -1098,11 +1129,11 @@ const Vs = /* @__PURE__ */ new Set([
1098
1129
  }), { ...b, positions: v };
1099
1130
  });
1100
1131
  };
1101
- var H = "top", N = "bottom", F = "right", Z = "left", ie = "auto", St = [H, N, F, Z], mt = "start", At = "end", to = "clippingParents", Ge = "viewport", xt = "popper", eo = "reference", Me = /* @__PURE__ */ St.reduce(function(e, t) {
1132
+ var H = "top", F = "bottom", V = "right", Z = "left", ie = "auto", kt = [H, F, V, Z], mt = "start", At = "end", Qs = "clippingParents", Ge = "viewport", Ct = "popper", to = "reference", Pe = /* @__PURE__ */ kt.reduce(function(e, t) {
1102
1133
  return e.concat([t + "-" + mt, t + "-" + At]);
1103
- }, []), Ue = /* @__PURE__ */ [].concat(St, [ie]).reduce(function(e, t) {
1134
+ }, []), _e = /* @__PURE__ */ [].concat(kt, [ie]).reduce(function(e, t) {
1104
1135
  return e.concat([t, t + "-" + mt, t + "-" + At]);
1105
- }, []), io = "beforeRead", so = "read", oo = "afterRead", no = "beforeMain", ro = "main", ao = "afterMain", lo = "beforeWrite", co = "write", ho = "afterWrite", uo = [io, so, oo, no, ro, ao, lo, co, ho];
1136
+ }, []), eo = "beforeRead", io = "read", so = "afterRead", oo = "beforeMain", no = "main", ro = "afterMain", ao = "beforeWrite", lo = "write", co = "afterWrite", ho = [eo, io, so, oo, no, ro, ao, lo, co];
1106
1137
  function j(e) {
1107
1138
  return e ? (e.nodeName || "").toLowerCase() : null;
1108
1139
  }
@@ -1129,7 +1160,7 @@ function se(e) {
1129
1160
  var t = B(e).ShadowRoot;
1130
1161
  return e instanceof t || e instanceof ShadowRoot;
1131
1162
  }
1132
- function po(e) {
1163
+ function uo(e) {
1133
1164
  var t = e.state;
1134
1165
  Object.keys(t.elements).forEach(function(i) {
1135
1166
  var s = t.styles[i] || {}, o = t.attributes[i] || {}, n = t.elements[i];
@@ -1139,7 +1170,7 @@ function po(e) {
1139
1170
  }));
1140
1171
  });
1141
1172
  }
1142
- function mo(e) {
1173
+ function po(e) {
1143
1174
  var t = e.state, i = {
1144
1175
  popper: {
1145
1176
  position: t.options.strategy,
@@ -1163,32 +1194,32 @@ function mo(e) {
1163
1194
  });
1164
1195
  };
1165
1196
  }
1166
- const fo = {
1197
+ const mo = {
1167
1198
  name: "applyStyles",
1168
1199
  enabled: !0,
1169
1200
  phase: "write",
1170
- fn: po,
1171
- effect: mo,
1201
+ fn: uo,
1202
+ effect: po,
1172
1203
  requires: ["computeStyles"]
1173
1204
  };
1174
1205
  function z(e) {
1175
1206
  return e.split("-")[0];
1176
1207
  }
1177
- var it = Math.max, Nt = Math.min, ft = Math.round;
1208
+ var it = Math.max, Ft = Math.min, ft = Math.round;
1178
1209
  function te() {
1179
1210
  var e = navigator.userAgentData;
1180
1211
  return e != null && e.brands && Array.isArray(e.brands) ? e.brands.map(function(t) {
1181
1212
  return t.brand + "/" + t.version;
1182
1213
  }).join(" ") : navigator.userAgent;
1183
1214
  }
1184
- function _e() {
1215
+ function Ue() {
1185
1216
  return !/^((?!chrome|android).)*safari/i.test(te());
1186
1217
  }
1187
1218
  function vt(e, t, i) {
1188
1219
  t === void 0 && (t = !1), i === void 0 && (i = !1);
1189
1220
  var s = e.getBoundingClientRect(), o = 1, n = 1;
1190
1221
  t && W(e) && (o = e.offsetWidth > 0 && ft(s.width) / e.offsetWidth || 1, n = e.offsetHeight > 0 && ft(s.height) / e.offsetHeight || 1);
1191
- var l = st(e) ? B(e) : window, r = l.visualViewport, a = !_e() && i, c = (s.left + (a && r ? r.offsetLeft : 0)) / o, h = (s.top + (a && r ? r.offsetTop : 0)) / n, u = s.width / o, f = s.height / n;
1222
+ var l = st(e) ? B(e) : window, r = l.visualViewport, a = !Ue() && i, c = (s.left + (a && r ? r.offsetLeft : 0)) / o, h = (s.top + (a && r ? r.offsetTop : 0)) / n, u = s.width / o, f = s.height / n;
1192
1223
  return {
1193
1224
  width: u,
1194
1225
  height: f,
@@ -1226,7 +1257,7 @@ function Ke(e, t) {
1226
1257
  function J(e) {
1227
1258
  return B(e).getComputedStyle(e);
1228
1259
  }
1229
- function vo(e) {
1260
+ function fo(e) {
1230
1261
  return ["table", "td", "th"].indexOf(j(e)) >= 0;
1231
1262
  }
1232
1263
  function Q(e) {
@@ -1235,7 +1266,7 @@ function Q(e) {
1235
1266
  e.document
1236
1267
  )) || window.document).documentElement;
1237
1268
  }
1238
- function Vt(e) {
1269
+ function Nt(e) {
1239
1270
  return j(e) === "html" ? e : (
1240
1271
  // this is a quicker (but less type safe) way to save quite some bytes from the bundle
1241
1272
  // $FlowFixMe[incompatible-return]
@@ -1251,14 +1282,14 @@ function Ye(e) {
1251
1282
  return !W(e) || // https://github.com/popperjs/popper-core/issues/837
1252
1283
  J(e).position === "fixed" ? null : e.offsetParent;
1253
1284
  }
1254
- function go(e) {
1285
+ function vo(e) {
1255
1286
  var t = /firefox/i.test(te()), i = /Trident/i.test(te());
1256
1287
  if (i && W(e)) {
1257
1288
  var s = J(e);
1258
1289
  if (s.position === "fixed")
1259
1290
  return null;
1260
1291
  }
1261
- var o = Vt(e);
1292
+ var o = Nt(e);
1262
1293
  for (se(o) && (o = o.host); W(o) && ["html", "body"].indexOf(j(o)) < 0; ) {
1263
1294
  var n = J(o);
1264
1295
  if (n.transform !== "none" || n.perspective !== "none" || n.contain === "paint" || ["transform", "perspective"].indexOf(n.willChange) !== -1 || t && n.willChange === "filter" || t && n.filter && n.filter !== "none")
@@ -1268,17 +1299,17 @@ function go(e) {
1268
1299
  return null;
1269
1300
  }
1270
1301
  function Tt(e) {
1271
- for (var t = B(e), i = Ye(e); i && vo(i) && J(i).position === "static"; )
1302
+ for (var t = B(e), i = Ye(e); i && fo(i) && J(i).position === "static"; )
1272
1303
  i = Ye(i);
1273
- return i && (j(i) === "html" || j(i) === "body" && J(i).position === "static") ? t : i || go(e) || t;
1304
+ return i && (j(i) === "html" || j(i) === "body" && J(i).position === "static") ? t : i || vo(e) || t;
1274
1305
  }
1275
1306
  function ne(e) {
1276
1307
  return ["top", "bottom"].indexOf(e) >= 0 ? "x" : "y";
1277
1308
  }
1278
1309
  function Ot(e, t, i) {
1279
- return it(e, Nt(t, i));
1310
+ return it(e, Ft(t, i));
1280
1311
  }
1281
- function yo(e, t, i) {
1312
+ function go(e, t, i) {
1282
1313
  var s = Ot(e, t, i);
1283
1314
  return s > i ? i : s;
1284
1315
  }
@@ -1298,28 +1329,28 @@ function Qe(e, t) {
1298
1329
  return i[s] = e, i;
1299
1330
  }, {});
1300
1331
  }
1301
- var bo = function(t, i) {
1332
+ var yo = function(t, i) {
1302
1333
  return t = typeof t == "function" ? t(Object.assign({}, i.rects, {
1303
1334
  placement: i.placement
1304
- })) : t, qe(typeof t != "number" ? t : Qe(t, St));
1335
+ })) : t, qe(typeof t != "number" ? t : Qe(t, kt));
1305
1336
  };
1306
- function wo(e) {
1307
- var t, i = e.state, s = e.name, o = e.options, n = i.elements.arrow, l = i.modifiersData.popperOffsets, r = z(i.placement), a = ne(r), c = [Z, F].indexOf(r) >= 0, h = c ? "height" : "width";
1337
+ function bo(e) {
1338
+ var t, i = e.state, s = e.name, o = e.options, n = i.elements.arrow, l = i.modifiersData.popperOffsets, r = z(i.placement), a = ne(r), c = [Z, V].indexOf(r) >= 0, h = c ? "height" : "width";
1308
1339
  if (!(!n || !l)) {
1309
- var u = bo(o.padding, i), f = oe(n), p = a === "y" ? H : Z, I = a === "y" ? N : F, b = i.rects.reference[h] + i.rects.reference[a] - l[a] - i.rects.popper[h], v = l[a] - i.rects.reference[a], O = Tt(n), E = O ? a === "y" ? O.clientHeight || 0 : O.clientWidth || 0 : 0, w = b / 2 - v / 2, y = u[p], C = E - f[h] - u[I], m = E / 2 - f[h] / 2 + w, g = Ot(y, m, C), x = a;
1310
- i.modifiersData[s] = (t = {}, t[x] = g, t.centerOffset = g - m, t);
1340
+ var u = yo(o.padding, i), f = oe(n), p = a === "y" ? H : Z, I = a === "y" ? F : V, b = i.rects.reference[h] + i.rects.reference[a] - l[a] - i.rects.popper[h], v = l[a] - i.rects.reference[a], O = Tt(n), E = O ? a === "y" ? O.clientHeight || 0 : O.clientWidth || 0 : 0, w = b / 2 - v / 2, y = u[p], x = E - f[h] - u[I], m = E / 2 - f[h] / 2 + w, g = Ot(y, m, x), C = a;
1341
+ i.modifiersData[s] = (t = {}, t[C] = g, t.centerOffset = g - m, t);
1311
1342
  }
1312
1343
  }
1313
- function Io(e) {
1344
+ function wo(e) {
1314
1345
  var t = e.state, i = e.options, s = i.element, o = s === void 0 ? "[data-popper-arrow]" : s;
1315
1346
  o != null && (typeof o == "string" && (o = t.elements.popper.querySelector(o), !o) || Ke(t.elements.popper, o) && (t.elements.arrow = o));
1316
1347
  }
1317
- const xo = {
1348
+ const Io = {
1318
1349
  name: "arrow",
1319
1350
  enabled: !0,
1320
1351
  phase: "main",
1321
- fn: wo,
1322
- effect: Io,
1352
+ fn: bo,
1353
+ effect: wo,
1323
1354
  requires: ["popperOffsets"],
1324
1355
  requiresIfExists: ["preventOverflow"]
1325
1356
  };
@@ -1332,7 +1363,7 @@ var Co = {
1332
1363
  bottom: "auto",
1333
1364
  left: "auto"
1334
1365
  };
1335
- function Oo(e, t) {
1366
+ function xo(e, t) {
1336
1367
  var i = e.x, s = e.y, o = t.devicePixelRatio || 1;
1337
1368
  return {
1338
1369
  x: ft(i * o) / o || 0,
@@ -1348,29 +1379,29 @@ function Xe(e) {
1348
1379
  y: b
1349
1380
  };
1350
1381
  p = v.x, b = v.y;
1351
- var O = l.hasOwnProperty("x"), E = l.hasOwnProperty("y"), w = Z, y = H, C = window;
1382
+ var O = l.hasOwnProperty("x"), E = l.hasOwnProperty("y"), w = Z, y = H, x = window;
1352
1383
  if (c) {
1353
- var m = Tt(i), g = "clientHeight", x = "clientWidth";
1354
- if (m === B(i) && (m = Q(i), J(m).position !== "static" && r === "absolute" && (g = "scrollHeight", x = "scrollWidth")), m = m, o === H || (o === Z || o === F) && n === At) {
1355
- y = N;
1356
- var A = u && m === C && C.visualViewport ? C.visualViewport.height : (
1384
+ var m = Tt(i), g = "clientHeight", C = "clientWidth";
1385
+ if (m === B(i) && (m = Q(i), J(m).position !== "static" && r === "absolute" && (g = "scrollHeight", C = "scrollWidth")), m = m, o === H || (o === Z || o === V) && n === At) {
1386
+ y = F;
1387
+ var A = u && m === x && x.visualViewport ? x.visualViewport.height : (
1357
1388
  // $FlowFixMe[prop-missing]
1358
1389
  m[g]
1359
1390
  );
1360
1391
  b -= A - s.height, b *= a ? 1 : -1;
1361
1392
  }
1362
- if (o === Z || (o === H || o === N) && n === At) {
1363
- w = F;
1364
- var k = u && m === C && C.visualViewport ? C.visualViewport.width : (
1393
+ if (o === Z || (o === H || o === F) && n === At) {
1394
+ w = V;
1395
+ var S = u && m === x && x.visualViewport ? x.visualViewport.width : (
1365
1396
  // $FlowFixMe[prop-missing]
1366
- m[x]
1397
+ m[C]
1367
1398
  );
1368
- p -= k - s.width, p *= a ? 1 : -1;
1399
+ p -= S - s.width, p *= a ? 1 : -1;
1369
1400
  }
1370
1401
  }
1371
1402
  var T = Object.assign({
1372
1403
  position: r
1373
- }, c && Co), X = h === !0 ? Oo({
1404
+ }, c && Co), X = h === !0 ? xo({
1374
1405
  x: p,
1375
1406
  y: b
1376
1407
  }, B(i)) : {
@@ -1379,11 +1410,11 @@ function Xe(e) {
1379
1410
  };
1380
1411
  if (p = X.x, b = X.y, a) {
1381
1412
  var L;
1382
- return Object.assign({}, T, (L = {}, L[y] = E ? "0" : "", L[w] = O ? "0" : "", L.transform = (C.devicePixelRatio || 1) <= 1 ? "translate(" + p + "px, " + b + "px)" : "translate3d(" + p + "px, " + b + "px, 0)", L));
1413
+ return Object.assign({}, T, (L = {}, L[y] = E ? "0" : "", L[w] = O ? "0" : "", L.transform = (x.devicePixelRatio || 1) <= 1 ? "translate(" + p + "px, " + b + "px)" : "translate3d(" + p + "px, " + b + "px, 0)", L));
1383
1414
  }
1384
1415
  return Object.assign({}, T, (t = {}, t[y] = E ? b + "px" : "", t[w] = O ? p + "px" : "", t.transform = "", t));
1385
1416
  }
1386
- function Eo(e) {
1417
+ function Oo(e) {
1387
1418
  var t = e.state, i = e.options, s = i.gpuAcceleration, o = s === void 0 ? !0 : s, n = i.adaptive, l = n === void 0 ? !0 : n, r = i.roundOffsets, a = r === void 0 ? !0 : r, c = {
1388
1419
  placement: z(t.placement),
1389
1420
  variation: gt(t.placement),
@@ -1406,17 +1437,17 @@ function Eo(e) {
1406
1437
  "data-popper-placement": t.placement
1407
1438
  });
1408
1439
  }
1409
- const Ao = {
1440
+ const Eo = {
1410
1441
  name: "computeStyles",
1411
1442
  enabled: !0,
1412
1443
  phase: "beforeWrite",
1413
- fn: Eo,
1444
+ fn: Oo,
1414
1445
  data: {}
1415
1446
  };
1416
1447
  var Dt = {
1417
1448
  passive: !0
1418
1449
  };
1419
- function ko(e) {
1450
+ function Ao(e) {
1420
1451
  var t = e.state, i = e.instance, s = e.options, o = s.scroll, n = o === void 0 ? !0 : o, l = s.resize, r = l === void 0 ? !0 : l, a = B(t.elements.popper), c = [].concat(t.scrollParents.reference, t.scrollParents.popper);
1421
1452
  return n && c.forEach(function(h) {
1422
1453
  h.addEventListener("scroll", i.update, Dt);
@@ -1432,10 +1463,10 @@ const So = {
1432
1463
  phase: "write",
1433
1464
  fn: function() {
1434
1465
  },
1435
- effect: ko,
1466
+ effect: Ao,
1436
1467
  data: {}
1437
1468
  };
1438
- var To = {
1469
+ var ko = {
1439
1470
  left: "right",
1440
1471
  right: "left",
1441
1472
  bottom: "top",
@@ -1443,16 +1474,16 @@ var To = {
1443
1474
  };
1444
1475
  function Bt(e) {
1445
1476
  return e.replace(/left|right|bottom|top/g, function(t) {
1446
- return To[t];
1477
+ return ko[t];
1447
1478
  });
1448
1479
  }
1449
- var Lo = {
1480
+ var To = {
1450
1481
  start: "end",
1451
1482
  end: "start"
1452
1483
  };
1453
1484
  function Re(e) {
1454
1485
  return e.replace(/start|end/g, function(t) {
1455
- return Lo[t];
1486
+ return To[t];
1456
1487
  });
1457
1488
  }
1458
1489
  function re(e) {
@@ -1465,11 +1496,11 @@ function re(e) {
1465
1496
  function ae(e) {
1466
1497
  return vt(Q(e)).left + re(e).scrollLeft;
1467
1498
  }
1468
- function Po(e, t) {
1499
+ function Lo(e, t) {
1469
1500
  var i = B(e), s = Q(e), o = i.visualViewport, n = s.clientWidth, l = s.clientHeight, r = 0, a = 0;
1470
1501
  if (o) {
1471
1502
  n = o.width, l = o.height;
1472
- var c = _e();
1503
+ var c = Ue();
1473
1504
  (c || !c && t === "fixed") && (r = o.offsetLeft, a = o.offsetTop);
1474
1505
  }
1475
1506
  return {
@@ -1493,7 +1524,7 @@ function le(e) {
1493
1524
  return /auto|scroll|overlay|hidden/.test(i + o + s);
1494
1525
  }
1495
1526
  function ti(e) {
1496
- return ["html", "body", "#document"].indexOf(j(e)) >= 0 ? e.ownerDocument.body : W(e) && le(e) ? e : ti(Vt(e));
1527
+ return ["html", "body", "#document"].indexOf(j(e)) >= 0 ? e.ownerDocument.body : W(e) && le(e) ? e : ti(Nt(e));
1497
1528
  }
1498
1529
  function Et(e, t) {
1499
1530
  var i;
@@ -1501,7 +1532,7 @@ function Et(e, t) {
1501
1532
  var s = ti(e), o = s === ((i = e.ownerDocument) == null ? void 0 : i.body), n = B(s), l = o ? [n].concat(n.visualViewport || [], le(s) ? s : []) : s, r = t.concat(l);
1502
1533
  return o ? r : (
1503
1534
  // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
1504
- r.concat(Et(Vt(l)))
1535
+ r.concat(Et(Nt(l)))
1505
1536
  );
1506
1537
  }
1507
1538
  function ee(e) {
@@ -1512,23 +1543,23 @@ function ee(e) {
1512
1543
  bottom: e.y + e.height
1513
1544
  });
1514
1545
  }
1515
- function Yo(e, t) {
1546
+ function Po(e, t) {
1516
1547
  var i = vt(e, !1, t === "fixed");
1517
1548
  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;
1518
1549
  }
1519
1550
  function He(e, t, i) {
1520
- return t === Ge ? ee(Po(e, i)) : st(t) ? Yo(t, i) : ee(Mo(Q(e)));
1551
+ return t === Ge ? ee(Lo(e, i)) : st(t) ? Po(t, i) : ee(Mo(Q(e)));
1521
1552
  }
1522
- function Xo(e) {
1523
- var t = Et(Vt(e)), i = ["absolute", "fixed"].indexOf(J(e).position) >= 0, s = i && W(e) ? Tt(e) : e;
1553
+ function Yo(e) {
1554
+ var t = Et(Nt(e)), i = ["absolute", "fixed"].indexOf(J(e).position) >= 0, s = i && W(e) ? Tt(e) : e;
1524
1555
  return st(s) ? t.filter(function(o) {
1525
1556
  return st(o) && Ke(o, s) && j(o) !== "body";
1526
1557
  }) : [];
1527
1558
  }
1528
- function Ro(e, t, i, s) {
1529
- var o = t === "clippingParents" ? Xo(e) : [].concat(t), n = [].concat(o, [i]), l = n[0], r = n.reduce(function(a, c) {
1559
+ function Xo(e, t, i, s) {
1560
+ var o = t === "clippingParents" ? Yo(e) : [].concat(t), n = [].concat(o, [i]), l = n[0], r = n.reduce(function(a, c) {
1530
1561
  var h = He(e, c, s);
1531
- return a.top = it(h.top, a.top), a.right = Nt(h.right, a.right), a.bottom = Nt(h.bottom, a.bottom), a.left = it(h.left, a.left), a;
1562
+ return a.top = it(h.top, a.top), a.right = Ft(h.right, a.right), a.bottom = Ft(h.bottom, a.bottom), a.left = it(h.left, a.left), a;
1532
1563
  }, He(e, l, s));
1533
1564
  return r.width = r.right - r.left, r.height = r.bottom - r.top, r.x = r.left, r.y = r.top, r;
1534
1565
  }
@@ -1541,13 +1572,13 @@ function ei(e) {
1541
1572
  y: t.y - i.height
1542
1573
  };
1543
1574
  break;
1544
- case N:
1575
+ case F:
1545
1576
  a = {
1546
1577
  x: l,
1547
1578
  y: t.y + t.height
1548
1579
  };
1549
1580
  break;
1550
- case F:
1581
+ case V:
1551
1582
  a = {
1552
1583
  x: t.x + t.width,
1553
1584
  y: r
@@ -1579,37 +1610,37 @@ function ei(e) {
1579
1610
  }
1580
1611
  return a;
1581
1612
  }
1582
- function kt(e, t) {
1613
+ function St(e, t) {
1583
1614
  t === void 0 && (t = {});
1584
- var i = t, s = i.placement, o = s === void 0 ? e.placement : s, n = i.strategy, l = n === void 0 ? e.strategy : n, r = i.boundary, a = r === void 0 ? to : r, c = i.rootBoundary, h = c === void 0 ? Ge : c, u = i.elementContext, f = u === void 0 ? xt : u, p = i.altBoundary, I = p === void 0 ? !1 : p, b = i.padding, v = b === void 0 ? 0 : b, O = qe(typeof v != "number" ? v : Qe(v, St)), E = f === xt ? eo : xt, w = e.rects.popper, y = e.elements[I ? E : f], C = Ro(st(y) ? y : y.contextElement || Q(e.elements.popper), a, h, l), m = vt(e.elements.reference), g = ei({
1615
+ var i = t, s = i.placement, o = s === void 0 ? e.placement : s, n = i.strategy, l = n === void 0 ? e.strategy : n, r = i.boundary, a = r === void 0 ? Qs : r, c = i.rootBoundary, h = c === void 0 ? Ge : c, u = i.elementContext, f = u === void 0 ? Ct : u, p = i.altBoundary, I = p === void 0 ? !1 : p, b = i.padding, v = b === void 0 ? 0 : b, O = qe(typeof v != "number" ? v : Qe(v, kt)), E = f === Ct ? to : Ct, w = e.rects.popper, y = e.elements[I ? E : f], x = Xo(st(y) ? y : y.contextElement || Q(e.elements.popper), a, h, l), m = vt(e.elements.reference), g = ei({
1585
1616
  reference: m,
1586
1617
  element: w,
1587
1618
  placement: o
1588
- }), x = ee(Object.assign({}, w, g)), A = f === xt ? x : m, k = {
1589
- top: C.top - A.top + O.top,
1590
- bottom: A.bottom - C.bottom + O.bottom,
1591
- left: C.left - A.left + O.left,
1592
- right: A.right - C.right + O.right
1619
+ }), C = ee(Object.assign({}, w, g)), A = f === Ct ? C : m, S = {
1620
+ top: x.top - A.top + O.top,
1621
+ bottom: A.bottom - x.bottom + O.bottom,
1622
+ left: x.left - A.left + O.left,
1623
+ right: A.right - x.right + O.right
1593
1624
  }, T = e.modifiersData.offset;
1594
- if (f === xt && T) {
1625
+ if (f === Ct && T) {
1595
1626
  var X = T[o];
1596
- Object.keys(k).forEach(function(L) {
1597
- var $ = [F, N].indexOf(L) >= 0 ? 1 : -1, G = [H, N].indexOf(L) >= 0 ? "y" : "x";
1598
- k[L] += X[G] * $;
1627
+ Object.keys(S).forEach(function(L) {
1628
+ var $ = [V, F].indexOf(L) >= 0 ? 1 : -1, G = [H, F].indexOf(L) >= 0 ? "y" : "x";
1629
+ S[L] += X[G] * $;
1599
1630
  });
1600
1631
  }
1601
- return k;
1632
+ return S;
1602
1633
  }
1603
- function Ho(e, t) {
1634
+ function Ro(e, t) {
1604
1635
  t === void 0 && (t = {});
1605
- var i = t, s = i.placement, o = i.boundary, n = i.rootBoundary, l = i.padding, r = i.flipVariations, a = i.allowedAutoPlacements, c = a === void 0 ? Ue : a, h = gt(s), u = h ? r ? Me : Me.filter(function(I) {
1636
+ var i = t, s = i.placement, o = i.boundary, n = i.rootBoundary, l = i.padding, r = i.flipVariations, a = i.allowedAutoPlacements, c = a === void 0 ? _e : a, h = gt(s), u = h ? r ? Pe : Pe.filter(function(I) {
1606
1637
  return gt(I) === h;
1607
- }) : St, f = u.filter(function(I) {
1638
+ }) : kt, f = u.filter(function(I) {
1608
1639
  return c.indexOf(I) >= 0;
1609
1640
  });
1610
1641
  f.length === 0 && (f = u);
1611
1642
  var p = f.reduce(function(I, b) {
1612
- return I[b] = kt(e, {
1643
+ return I[b] = St(e, {
1613
1644
  placement: b,
1614
1645
  boundary: o,
1615
1646
  rootBoundary: n,
@@ -1620,48 +1651,48 @@ function Ho(e, t) {
1620
1651
  return p[I] - p[b];
1621
1652
  });
1622
1653
  }
1623
- function Zo(e) {
1654
+ function Ho(e) {
1624
1655
  if (z(e) === ie)
1625
1656
  return [];
1626
1657
  var t = Bt(e);
1627
1658
  return [Re(e), t, Re(t)];
1628
1659
  }
1629
- function Do(e) {
1660
+ function Zo(e) {
1630
1661
  var t = e.state, i = e.options, s = e.name;
1631
1662
  if (!t.modifiersData[s]._skip) {
1632
- for (var o = i.mainAxis, n = o === void 0 ? !0 : o, l = i.altAxis, r = l === void 0 ? !0 : l, a = i.fallbackPlacements, c = i.padding, h = i.boundary, u = i.rootBoundary, f = i.altBoundary, p = i.flipVariations, I = p === void 0 ? !0 : p, b = i.allowedAutoPlacements, v = t.options.placement, O = z(v), E = O === v, w = a || (E || !I ? [Bt(v)] : Zo(v)), y = [v].concat(w).reduce(function(q, V) {
1633
- return q.concat(z(V) === ie ? Ho(t, {
1634
- placement: V,
1663
+ for (var o = i.mainAxis, n = o === void 0 ? !0 : o, l = i.altAxis, r = l === void 0 ? !0 : l, a = i.fallbackPlacements, c = i.padding, h = i.boundary, u = i.rootBoundary, f = i.altBoundary, p = i.flipVariations, I = p === void 0 ? !0 : p, b = i.allowedAutoPlacements, v = t.options.placement, O = z(v), E = O === v, w = a || (E || !I ? [Bt(v)] : Ho(v)), y = [v].concat(w).reduce(function(q, N) {
1664
+ return q.concat(z(N) === ie ? Ro(t, {
1665
+ placement: N,
1635
1666
  boundary: h,
1636
1667
  rootBoundary: u,
1637
1668
  padding: c,
1638
1669
  flipVariations: I,
1639
1670
  allowedAutoPlacements: b
1640
- }) : V);
1641
- }, []), C = t.rects.reference, m = t.rects.popper, g = /* @__PURE__ */ new Map(), x = !0, A = y[0], k = 0; k < y.length; k++) {
1642
- var T = y[k], X = z(T), L = gt(T) === mt, $ = [H, N].indexOf(X) >= 0, G = $ ? "width" : "height", P = kt(t, {
1671
+ }) : N);
1672
+ }, []), x = t.rects.reference, m = t.rects.popper, g = /* @__PURE__ */ new Map(), C = !0, A = y[0], S = 0; S < y.length; S++) {
1673
+ var T = y[S], X = z(T), L = gt(T) === mt, $ = [H, F].indexOf(X) >= 0, G = $ ? "width" : "height", M = St(t, {
1643
1674
  placement: T,
1644
1675
  boundary: h,
1645
1676
  rootBoundary: u,
1646
1677
  altBoundary: f,
1647
1678
  padding: c
1648
- }), D = $ ? L ? F : Z : L ? N : H;
1649
- C[G] > m[G] && (D = Bt(D));
1650
- var ot = Bt(D), U = [];
1651
- if (n && U.push(P[X] <= 0), r && U.push(P[D] <= 0, P[ot] <= 0), U.every(function(q) {
1679
+ }), D = $ ? L ? V : Z : L ? F : H;
1680
+ x[G] > m[G] && (D = Bt(D));
1681
+ var ot = Bt(D), _ = [];
1682
+ if (n && _.push(M[X] <= 0), r && _.push(M[D] <= 0, M[ot] <= 0), _.every(function(q) {
1652
1683
  return q;
1653
1684
  })) {
1654
- A = T, x = !1;
1685
+ A = T, C = !1;
1655
1686
  break;
1656
1687
  }
1657
- g.set(T, U);
1688
+ g.set(T, _);
1658
1689
  }
1659
- if (x)
1660
- for (var nt = I ? 3 : 1, yt = function(V) {
1690
+ if (C)
1691
+ for (var nt = I ? 3 : 1, yt = function(N) {
1661
1692
  var et = y.find(function(at) {
1662
- var _ = g.get(at);
1663
- if (_)
1664
- return _.slice(0, V).every(function(lt) {
1693
+ var U = g.get(at);
1694
+ if (U)
1695
+ return U.slice(0, N).every(function(lt) {
1665
1696
  return lt;
1666
1697
  });
1667
1698
  });
@@ -1674,11 +1705,11 @@ function Do(e) {
1674
1705
  t.placement !== A && (t.modifiersData[s]._skip = !0, t.placement = A, t.reset = !0);
1675
1706
  }
1676
1707
  }
1677
- const Bo = {
1708
+ const Do = {
1678
1709
  name: "flip",
1679
1710
  enabled: !0,
1680
1711
  phase: "main",
1681
- fn: Do,
1712
+ fn: Zo,
1682
1713
  requiresIfExists: ["offset"],
1683
1714
  data: {
1684
1715
  _skip: !1
@@ -1696,14 +1727,14 @@ function Ze(e, t, i) {
1696
1727
  };
1697
1728
  }
1698
1729
  function De(e) {
1699
- return [H, F, N, Z].some(function(t) {
1730
+ return [H, V, F, Z].some(function(t) {
1700
1731
  return e[t] >= 0;
1701
1732
  });
1702
1733
  }
1703
- function Wo(e) {
1704
- var t = e.state, i = e.name, s = t.rects.reference, o = t.rects.popper, n = t.modifiersData.preventOverflow, l = kt(t, {
1734
+ function Bo(e) {
1735
+ var t = e.state, i = e.name, s = t.rects.reference, o = t.rects.popper, n = t.modifiersData.preventOverflow, l = St(t, {
1705
1736
  elementContext: "reference"
1706
- }), r = kt(t, {
1737
+ }), r = St(t, {
1707
1738
  altBoundary: !0
1708
1739
  }), a = Ze(l, s), c = Ze(r, o, n), h = De(a), u = De(c);
1709
1740
  t.modifiersData[i] = {
@@ -1716,18 +1747,18 @@ function Wo(e) {
1716
1747
  "data-popper-escaped": u
1717
1748
  });
1718
1749
  }
1719
- const No = {
1750
+ const Wo = {
1720
1751
  name: "hide",
1721
1752
  enabled: !0,
1722
1753
  phase: "main",
1723
1754
  requiresIfExists: ["preventOverflow"],
1724
- fn: Wo
1755
+ fn: Bo
1725
1756
  };
1726
1757
  function Fo(e, t, i) {
1727
1758
  var s = z(e), o = [Z, H].indexOf(s) >= 0 ? -1 : 1, n = typeof i == "function" ? i(Object.assign({}, t, {
1728
1759
  placement: e
1729
1760
  })) : i, l = n[0], r = n[1];
1730
- return l = l || 0, r = (r || 0) * o, [Z, F].indexOf(s) >= 0 ? {
1761
+ return l = l || 0, r = (r || 0) * o, [Z, V].indexOf(s) >= 0 ? {
1731
1762
  x: r,
1732
1763
  y: l
1733
1764
  } : {
@@ -1736,19 +1767,19 @@ function Fo(e, t, i) {
1736
1767
  };
1737
1768
  }
1738
1769
  function Vo(e) {
1739
- var t = e.state, i = e.options, s = e.name, o = i.offset, n = o === void 0 ? [0, 0] : o, l = Ue.reduce(function(h, u) {
1770
+ var t = e.state, i = e.options, s = e.name, o = i.offset, n = o === void 0 ? [0, 0] : o, l = _e.reduce(function(h, u) {
1740
1771
  return h[u] = Fo(u, t.rects, n), h;
1741
1772
  }, {}), r = l[t.placement], a = r.x, c = r.y;
1742
1773
  t.modifiersData.popperOffsets != null && (t.modifiersData.popperOffsets.x += a, t.modifiersData.popperOffsets.y += c), t.modifiersData[s] = l;
1743
1774
  }
1744
- const zo = {
1775
+ const No = {
1745
1776
  name: "offset",
1746
1777
  enabled: !0,
1747
1778
  phase: "main",
1748
1779
  requires: ["popperOffsets"],
1749
1780
  fn: Vo
1750
1781
  };
1751
- function jo(e) {
1782
+ function zo(e) {
1752
1783
  var t = e.state, i = e.name;
1753
1784
  t.modifiersData[i] = ei({
1754
1785
  reference: t.rects.reference,
@@ -1756,25 +1787,25 @@ function jo(e) {
1756
1787
  placement: t.placement
1757
1788
  });
1758
1789
  }
1759
- const $o = {
1790
+ const jo = {
1760
1791
  name: "popperOffsets",
1761
1792
  enabled: !0,
1762
1793
  phase: "read",
1763
- fn: jo,
1794
+ fn: zo,
1764
1795
  data: {}
1765
1796
  };
1766
- function Go(e) {
1797
+ function $o(e) {
1767
1798
  return e === "x" ? "y" : "x";
1768
1799
  }
1769
- function Uo(e) {
1770
- var t = e.state, i = e.options, s = e.name, o = i.mainAxis, n = o === void 0 ? !0 : o, l = i.altAxis, r = l === void 0 ? !1 : l, a = i.boundary, c = i.rootBoundary, h = i.altBoundary, u = i.padding, f = i.tether, p = f === void 0 ? !0 : f, I = i.tetherOffset, b = I === void 0 ? 0 : I, v = kt(t, {
1800
+ function Go(e) {
1801
+ var t = e.state, i = e.options, s = e.name, o = i.mainAxis, n = o === void 0 ? !0 : o, l = i.altAxis, r = l === void 0 ? !1 : l, a = i.boundary, c = i.rootBoundary, h = i.altBoundary, u = i.padding, f = i.tether, p = f === void 0 ? !0 : f, I = i.tetherOffset, b = I === void 0 ? 0 : I, v = St(t, {
1771
1802
  boundary: a,
1772
1803
  rootBoundary: c,
1773
1804
  padding: u,
1774
1805
  altBoundary: h
1775
- }), O = z(t.placement), E = gt(t.placement), w = !E, y = ne(O), C = Go(y), m = t.modifiersData.popperOffsets, g = t.rects.reference, x = t.rects.popper, A = typeof b == "function" ? b(Object.assign({}, t.rects, {
1806
+ }), O = z(t.placement), E = gt(t.placement), w = !E, y = ne(O), x = $o(y), m = t.modifiersData.popperOffsets, g = t.rects.reference, C = t.rects.popper, A = typeof b == "function" ? b(Object.assign({}, t.rects, {
1776
1807
  placement: t.placement
1777
- })) : b, k = typeof A == "number" ? {
1808
+ })) : b, S = typeof A == "number" ? {
1778
1809
  mainAxis: A,
1779
1810
  altAxis: A
1780
1811
  } : Object.assign({
@@ -1786,15 +1817,15 @@ function Uo(e) {
1786
1817
  };
1787
1818
  if (m) {
1788
1819
  if (n) {
1789
- var L, $ = y === "y" ? H : Z, G = y === "y" ? N : F, P = y === "y" ? "height" : "width", D = m[y], ot = D + v[$], U = D - v[G], nt = p ? -x[P] / 2 : 0, yt = E === mt ? g[P] : x[P], tt = E === mt ? -x[P] : -g[P], rt = t.elements.arrow, q = p && rt ? oe(rt) : {
1820
+ var L, $ = y === "y" ? H : Z, G = y === "y" ? F : V, M = y === "y" ? "height" : "width", D = m[y], ot = D + v[$], _ = D - v[G], nt = p ? -C[M] / 2 : 0, yt = E === mt ? g[M] : C[M], tt = E === mt ? -C[M] : -g[M], rt = t.elements.arrow, q = p && rt ? oe(rt) : {
1790
1821
  width: 0,
1791
1822
  height: 0
1792
- }, V = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : Je(), et = V[$], at = V[G], _ = Ot(0, g[P], q[P]), lt = w ? g[P] / 2 - nt - _ - et - k.mainAxis : yt - _ - et - k.mainAxis, zt = w ? -g[P] / 2 + nt + _ + at + k.mainAxis : tt + _ + at + k.mainAxis, ct = t.elements.arrow && Tt(t.elements.arrow), jt = ct ? y === "y" ? ct.clientTop || 0 : ct.clientLeft || 0 : 0, Lt = (L = T == null ? void 0 : T[y]) != null ? L : 0, $t = D + lt - Lt - jt, Gt = D + zt - Lt, Pt = Ot(p ? Nt(ot, $t) : ot, D, p ? it(U, Gt) : U);
1793
- m[y] = Pt, X[y] = Pt - D;
1823
+ }, N = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : Je(), et = N[$], at = N[G], U = Ot(0, g[M], q[M]), lt = w ? g[M] / 2 - nt - U - et - S.mainAxis : yt - U - et - S.mainAxis, zt = w ? -g[M] / 2 + nt + U + at + S.mainAxis : tt + U + at + S.mainAxis, ct = t.elements.arrow && Tt(t.elements.arrow), jt = ct ? y === "y" ? ct.clientTop || 0 : ct.clientLeft || 0 : 0, Lt = (L = T == null ? void 0 : T[y]) != null ? L : 0, $t = D + lt - Lt - jt, Gt = D + zt - Lt, Mt = Ot(p ? Ft(ot, $t) : ot, D, p ? it(_, Gt) : _);
1824
+ m[y] = Mt, X[y] = Mt - D;
1794
1825
  }
1795
1826
  if (r) {
1796
- var Mt, Ut = y === "x" ? H : Z, _t = y === "x" ? N : F, K = m[C], ht = C === "y" ? "height" : "width", Yt = K + v[Ut], Xt = K - v[_t], dt = [H, Z].indexOf(O) !== -1, ut = (Mt = T == null ? void 0 : T[C]) != null ? Mt : 0, pt = dt ? Yt : K - g[ht] - x[ht] - ut + k.altAxis, bt = dt ? K + g[ht] + x[ht] - ut - k.altAxis : Xt, wt = p && dt ? yo(pt, K, bt) : Ot(p ? pt : Yt, K, p ? bt : Xt);
1797
- m[C] = wt, X[C] = wt - K;
1827
+ var Pt, _t = y === "x" ? H : Z, Ut = y === "x" ? F : V, K = m[x], ht = x === "y" ? "height" : "width", Yt = K + v[_t], Xt = K - v[Ut], dt = [H, Z].indexOf(O) !== -1, ut = (Pt = T == null ? void 0 : T[x]) != null ? Pt : 0, pt = dt ? Yt : K - g[ht] - C[ht] - ut + S.altAxis, bt = dt ? K + g[ht] + C[ht] - ut - S.altAxis : Xt, wt = p && dt ? go(pt, K, bt) : Ot(p ? pt : Yt, K, p ? bt : Xt);
1828
+ m[x] = wt, X[x] = wt - K;
1798
1829
  }
1799
1830
  t.modifiersData[s] = X;
1800
1831
  }
@@ -1803,25 +1834,25 @@ const _o = {
1803
1834
  name: "preventOverflow",
1804
1835
  enabled: !0,
1805
1836
  phase: "main",
1806
- fn: Uo,
1837
+ fn: Go,
1807
1838
  requiresIfExists: ["offset"]
1808
1839
  };
1809
- function Ko(e) {
1840
+ function Uo(e) {
1810
1841
  return {
1811
1842
  scrollLeft: e.scrollLeft,
1812
1843
  scrollTop: e.scrollTop
1813
1844
  };
1814
1845
  }
1815
- function Jo(e) {
1816
- return e === B(e) || !W(e) ? re(e) : Ko(e);
1846
+ function Ko(e) {
1847
+ return e === B(e) || !W(e) ? re(e) : Uo(e);
1817
1848
  }
1818
- function qo(e) {
1849
+ function Jo(e) {
1819
1850
  var t = e.getBoundingClientRect(), i = ft(t.width) / e.offsetWidth || 1, s = ft(t.height) / e.offsetHeight || 1;
1820
1851
  return i !== 1 || s !== 1;
1821
1852
  }
1822
- function Qo(e, t, i) {
1853
+ function qo(e, t, i) {
1823
1854
  i === void 0 && (i = !1);
1824
- var s = W(t), o = W(t) && qo(t), n = Q(t), l = vt(e, o, i), r = {
1855
+ var s = W(t), o = W(t) && Jo(t), n = Q(t), l = vt(e, o, i), r = {
1825
1856
  scrollLeft: 0,
1826
1857
  scrollTop: 0
1827
1858
  }, a = {
@@ -1829,14 +1860,14 @@ function Qo(e, t, i) {
1829
1860
  y: 0
1830
1861
  };
1831
1862
  return (s || !s && !i) && ((j(t) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
1832
- le(n)) && (r = Jo(t)), W(t) ? (a = vt(t, !0), a.x += t.clientLeft, a.y += t.clientTop) : n && (a.x = ae(n))), {
1863
+ le(n)) && (r = Ko(t)), W(t) ? (a = vt(t, !0), a.x += t.clientLeft, a.y += t.clientTop) : n && (a.x = ae(n))), {
1833
1864
  x: l.left + r.scrollLeft - a.x,
1834
1865
  y: l.top + r.scrollTop - a.y,
1835
1866
  width: l.width,
1836
1867
  height: l.height
1837
1868
  };
1838
1869
  }
1839
- function tn(e) {
1870
+ function Qo(e) {
1840
1871
  var t = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Set(), s = [];
1841
1872
  e.forEach(function(n) {
1842
1873
  t.set(n.name, n);
@@ -1855,15 +1886,15 @@ function tn(e) {
1855
1886
  i.has(n.name) || o(n);
1856
1887
  }), s;
1857
1888
  }
1858
- function en(e) {
1859
- var t = tn(e);
1860
- return uo.reduce(function(i, s) {
1889
+ function tn(e) {
1890
+ var t = Qo(e);
1891
+ return ho.reduce(function(i, s) {
1861
1892
  return i.concat(t.filter(function(o) {
1862
1893
  return o.phase === s;
1863
1894
  }));
1864
1895
  }, []);
1865
1896
  }
1866
- function sn(e) {
1897
+ function en(e) {
1867
1898
  var t;
1868
1899
  return function() {
1869
1900
  return t || (t = new Promise(function(i) {
@@ -1873,7 +1904,7 @@ function sn(e) {
1873
1904
  })), t;
1874
1905
  };
1875
1906
  }
1876
- function on(e) {
1907
+ function sn(e) {
1877
1908
  var t = e.reduce(function(i, s) {
1878
1909
  var o = i[s.name];
1879
1910
  return i[s.name] = o ? Object.assign({}, o, s, {
@@ -1897,7 +1928,7 @@ function We() {
1897
1928
  return !(s && typeof s.getBoundingClientRect == "function");
1898
1929
  });
1899
1930
  }
1900
- function nn(e) {
1931
+ function on(e) {
1901
1932
  e === void 0 && (e = {});
1902
1933
  var t = e, i = t.defaultModifiers, s = i === void 0 ? [] : i, o = t.defaultOptions, n = o === void 0 ? Be : o;
1903
1934
  return function(r, a, c) {
@@ -1921,7 +1952,7 @@ function nn(e) {
1921
1952
  reference: st(r) ? Et(r) : r.contextElement ? Et(r.contextElement) : [],
1922
1953
  popper: Et(a)
1923
1954
  };
1924
- var w = en(on([].concat(s, h.options.modifiers)));
1955
+ var w = tn(sn([].concat(s, h.options.modifiers)));
1925
1956
  return h.orderedModifiers = w.filter(function(y) {
1926
1957
  return y.enabled;
1927
1958
  }), I(), p.update();
@@ -1936,20 +1967,20 @@ function nn(e) {
1936
1967
  var O = h.elements, E = O.reference, w = O.popper;
1937
1968
  if (We(E, w)) {
1938
1969
  h.rects = {
1939
- reference: Qo(E, Tt(w), h.options.strategy === "fixed"),
1970
+ reference: qo(E, Tt(w), h.options.strategy === "fixed"),
1940
1971
  popper: oe(w)
1941
- }, h.reset = !1, h.placement = h.options.placement, h.orderedModifiers.forEach(function(k) {
1942
- return h.modifiersData[k.name] = Object.assign({}, k.data);
1972
+ }, h.reset = !1, h.placement = h.options.placement, h.orderedModifiers.forEach(function(S) {
1973
+ return h.modifiersData[S.name] = Object.assign({}, S.data);
1943
1974
  });
1944
1975
  for (var y = 0; y < h.orderedModifiers.length; y++) {
1945
1976
  if (h.reset === !0) {
1946
1977
  h.reset = !1, y = -1;
1947
1978
  continue;
1948
1979
  }
1949
- var C = h.orderedModifiers[y], m = C.fn, g = C.options, x = g === void 0 ? {} : g, A = C.name;
1980
+ var x = h.orderedModifiers[y], m = x.fn, g = x.options, C = g === void 0 ? {} : g, A = x.name;
1950
1981
  typeof m == "function" && (h = m({
1951
1982
  state: h,
1952
- options: x,
1983
+ options: C,
1953
1984
  name: A,
1954
1985
  instance: p
1955
1986
  }) || h);
@@ -1959,7 +1990,7 @@ function nn(e) {
1959
1990
  },
1960
1991
  // Async and optimistically optimized update – it will not be executed if
1961
1992
  // not necessary (debounced to run at most once-per-tick)
1962
- update: sn(function() {
1993
+ update: en(function() {
1963
1994
  return new Promise(function(v) {
1964
1995
  p.forceUpdate(), v(h);
1965
1996
  });
@@ -1977,14 +2008,14 @@ function nn(e) {
1977
2008
  h.orderedModifiers.forEach(function(v) {
1978
2009
  var O = v.name, E = v.options, w = E === void 0 ? {} : E, y = v.effect;
1979
2010
  if (typeof y == "function") {
1980
- var C = y({
2011
+ var x = y({
1981
2012
  state: h,
1982
2013
  name: O,
1983
2014
  instance: p,
1984
2015
  options: w
1985
2016
  }), m = function() {
1986
2017
  };
1987
- u.push(C || m);
2018
+ u.push(x || m);
1988
2019
  }
1989
2020
  });
1990
2021
  }
@@ -1996,10 +2027,10 @@ function nn(e) {
1996
2027
  return p;
1997
2028
  };
1998
2029
  }
1999
- var rn = [So, $o, Ao, fo, zo, Bo, _o, xo, No], an = /* @__PURE__ */ nn({
2000
- defaultModifiers: rn
2030
+ var nn = [So, jo, Eo, mo, No, Do, _o, Io, Wo], rn = /* @__PURE__ */ on({
2031
+ defaultModifiers: nn
2001
2032
  });
2002
- class ln {
2033
+ class an {
2003
2034
  /**
2004
2035
  * @param {Array} hotspotsConfig - Hotspot configuration array
2005
2036
  * @param {HTMLElement} container - Container element
@@ -2010,10 +2041,10 @@ class ln {
2010
2041
  constructor(t, i, s, o = {}) {
2011
2042
  de(this, "updateHotspotPosition", (t, i) => {
2012
2043
  this.currentActiveIndex = t, this.currentOrientation = i;
2013
- const s = Gs(this.hotspotsConfig, t, i);
2044
+ const s = $s(this.hotspotsConfig, t, i);
2014
2045
  this.hideHotspots(), s.forEach((o) => this.updateAndShowHotspot(o, t));
2015
2046
  });
2016
- this.container = i, this.popper = null, this.popperInstance = null, this.hotspotsContainer = ls(this.container), this.hotspotsConfig = qs(t), this.shouldHidePopper = !0, this.hidePopper = this.hidePopper.bind(this), this.forceHidePopper = this.forceHidePopper.bind(this), this.imageAspectRatio = s, this.hotspotElements = /* @__PURE__ */ new Map(), this.popperListeners = [], this.trigger = o.trigger || "hover";
2047
+ this.container = i, this.popper = null, this.popperInstance = null, this.hotspotsContainer = as(this.container), this.hotspotsConfig = Js(t), this.shouldHidePopper = !0, this.hidePopper = this.hidePopper.bind(this), this.forceHidePopper = this.forceHidePopper.bind(this), this.imageAspectRatio = s, this.hotspotElements = /* @__PURE__ */ new Map(), this.popperListeners = [], this.trigger = o.trigger || "hover";
2017
2048
  const { containerSize: n } = t[0];
2018
2049
  this.initialContainerSize = n || [i.offsetWidth, i.offsetHeight], this.initHotspots(), this.observeContainerResize();
2019
2050
  }
@@ -2024,7 +2055,7 @@ class ln {
2024
2055
  }), this.resizeObserver.observe(this.container);
2025
2056
  }
2026
2057
  updateHotspotsForResize(t, i) {
2027
- this.hotspotsConfig = Qs({
2058
+ this.hotspotsConfig = qs({
2028
2059
  newWidth: t,
2029
2060
  newHeight: i,
2030
2061
  initialContainerSize: this.initialContainerSize,
@@ -2041,9 +2072,9 @@ class ln {
2041
2072
  this.popperInstance && this.hidePopper();
2042
2073
  const n = {
2043
2074
  placement: "top",
2044
- modifiers: Ks(this.container)
2075
+ modifiers: Us(this.container)
2045
2076
  };
2046
- this.popper = Js(i, s), this.popper.setAttribute("data-show", ""), this.currentHotspotElement = t, t.setAttribute("aria-expanded", "true"), t.setAttribute("aria-describedby", `cloudimage-360-popper-${s}`);
2077
+ this.popper = Ks(i, s), this.popper.setAttribute("data-show", ""), this.currentHotspotElement = t, t.setAttribute("aria-expanded", "true"), t.setAttribute("aria-describedby", `cloudimage-360-popper-${s}`);
2047
2078
  const l = () => {
2048
2079
  this.shouldHidePopper = !1;
2049
2080
  }, r = () => {
@@ -2059,7 +2090,7 @@ class ln {
2059
2090
  { element: t, event: "mouseleave", handler: a },
2060
2091
  { element: t, event: "mouseenter", handler: c }
2061
2092
  ), this.popperInstance = {
2062
- ...an(t, this.popper, n),
2093
+ ...rn(t, this.popper, n),
2063
2094
  keepOpen: o,
2064
2095
  instanceId: s
2065
2096
  };
@@ -2068,7 +2099,7 @@ class ln {
2068
2099
  var t;
2069
2100
  this.shouldHidePopper && !((t = this.popperInstance) != null && t.keepOpen) && (this.hidePopperTimeout = setTimeout(() => {
2070
2101
  this.shouldHidePopper && this.hidePopper();
2071
- }, Pi));
2102
+ }, Mi));
2072
2103
  }
2073
2104
  hidePopper() {
2074
2105
  if (this.hidePopperTimeout && (clearTimeout(this.hidePopperTimeout), this.hidePopperTimeout = null), this.cleanupPopperListeners(), this.currentHotspotElement && (this.currentHotspotElement.setAttribute("aria-expanded", "false"), this.currentHotspotElement.removeAttribute("aria-describedby"), this.currentHotspotElement = null), this.popperInstance && (this.popperInstance.destroy(), this.popperInstance = null), this.popper) {
@@ -2076,7 +2107,7 @@ class ln {
2076
2107
  const t = this.popper;
2077
2108
  this.popper = null, setTimeout(() => {
2078
2109
  t.remove();
2079
- }, Mi);
2110
+ }, Pi);
2080
2111
  }
2081
2112
  this.shouldHidePopper = !0;
2082
2113
  }
@@ -2088,7 +2119,7 @@ class ln {
2088
2119
  this.shouldHidePopper = !0, this.popperInstance && (this.popperInstance.keepOpen = !1), this.hidePopper();
2089
2120
  }
2090
2121
  createHotspot(t) {
2091
- const { id: i, content: s, keepOpen: o, onClick: n, label: l } = t, r = Us(i, l);
2122
+ const { id: i, content: s, keepOpen: o, onClick: n, label: l } = t, r = Gs(i, l);
2092
2123
  (n || s && this.trigger === "click") && (r.style.cursor = "pointer"), r.onclick = (a) => {
2093
2124
  var c;
2094
2125
  a.stopPropagation(), s && this.trigger === "click" && (((c = this.popperInstance) == null ? void 0 : c.instanceId) === i ? this.hidePopper() : this.showPopper({ hotspotElement: r, content: s, id: i, keepOpen: o })), n == null || n(a, this.popperInstance, i);
@@ -2138,12 +2169,12 @@ class ln {
2138
2169
  this.hidePopperTimeout && clearTimeout(this.hidePopperTimeout), this.resizeObserver.disconnect(), this.hidePopper(), this.hotspotElements.clear(), this.hotspotsContainer.innerHTML = "";
2139
2170
  }
2140
2171
  }
2141
- const Ne = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2142
- class Ft {
2172
+ const Fe = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2173
+ class Vt {
2143
2174
  constructor(t, i, s) {
2144
2175
  this.container = t, this.isClicked = !1, this.fullscreenView = !!s, this.imagesX = [], this.imagesY = [];
2145
2176
  const o = Math.round(window.devicePixelRatio || 1);
2146
- this.devicePixelRatio = Ne ? Math.min(o, 2) : o, 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 = Ds(), 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 = Ne, this.canvasWorker = this.useMainThreadCanvas ? new Fs() : new Ns(), 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);
2177
+ this.devicePixelRatio = Fe ? Math.min(o, 2) : o, 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 = Zs(), 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 = Fe, this.canvasWorker = this.useMainThreadCanvas ? new Fs() : new Ws(), 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);
2147
2178
  }
2148
2179
  /**
2149
2180
  * Close ImageBitmap objects to free GPU memory
@@ -2160,7 +2191,7 @@ class Ft {
2160
2191
  typeof s == "function" && s({ ...i, viewerId: this.id });
2161
2192
  }
2162
2193
  announce(t) {
2163
- hs(this.ariaLiveRegion, t);
2194
+ cs(this.ariaLiveRegion, t);
2164
2195
  }
2165
2196
  mouseDown(t) {
2166
2197
  if (!this.isReady || this.glass) return;
@@ -2241,7 +2272,7 @@ class Ft {
2241
2272
  i && i.closest && (i.closest(".cloudimage-360-button") || i.closest(".cloudimage-360-hotspot-timeline-dot") || i.closest(".cloudimage-360-hotspot")) || this.pointerZoomTrigger === "dblclick" && this.pointerZoom && !this.glass && !this.touchDevice && this.toggleZoom(t);
2242
2273
  }
2243
2274
  loadHigherQualityImages(t, i) {
2244
- const s = Ct(this.srcXConfig, t), o = this.allowSpinY ? Ct(this.srcYConfig, t) : null;
2275
+ const s = xt(this.srcXConfig, t), o = this.allowSpinY ? xt(this.srcYConfig, t) : null;
2245
2276
  ye({
2246
2277
  cdnPathX: s,
2247
2278
  cdnPathY: o,
@@ -2295,7 +2326,7 @@ class Ft {
2295
2326
  this.isZoomed && this.removeZoom();
2296
2327
  }
2297
2328
  applyZoom(t) {
2298
- const { offsetX: i, offsetY: s } = Ls(t, this.canvas, this.devicePixelRatio);
2329
+ const { offsetX: i, offsetY: s } = Ts(t, this.canvas, this.devicePixelRatio);
2299
2330
  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, s);
2300
2331
  }
2301
2332
  touchOutside(t) {
@@ -2375,7 +2406,7 @@ class Ft {
2375
2406
  keyDown(t) {
2376
2407
  if (!this.isReady) return;
2377
2408
  const { keyCode: i } = t, s = this.keysReverse;
2378
- switch (this.autoplay && this.stopAutoplay(), Se(i, this.allowSpinY) && (this.hasInteracted = !0, this.hideAllIcons(), this.hideHints()), i) {
2409
+ switch (this.autoplay && this.stopAutoplay(), ke(i, this.allowSpinY) && (this.hasInteracted = !0, this.hideAllIcons(), this.hideHints()), i) {
2379
2410
  case 37:
2380
2411
  s ? this.moveLeft() : this.moveRight();
2381
2412
  break;
@@ -2392,7 +2423,7 @@ class Ft {
2392
2423
  }
2393
2424
  keyUp(t) {
2394
2425
  const { keyCode: i } = t;
2395
- Se(i, this.allowSpinY) && this.showAllIcons();
2426
+ ke(i, this.allowSpinY) && this.showAllIcons();
2396
2427
  }
2397
2428
  moveActiveXIndexUp(t) {
2398
2429
  this.orientation = Y.X, this.activeImageX = (this.activeImageX + t) % this.amountX;
@@ -2474,21 +2505,21 @@ class Ft {
2474
2505
  this.createContainers(t), this.adaptCanvasSize(i), this.drawImageOnCanvas(i);
2475
2506
  }
2476
2507
  onAllImagesLoaded() {
2477
- 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 ln(this.hotspots, this.innerBox, this.imageAspectRatio, {
2508
+ 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 an(this.hotspots, this.innerBox, this.imageAspectRatio, {
2478
2509
  trigger: this.hotspotTrigger
2479
2510
  }), 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) {
2480
- const t = this.hints === !0 || this.hints === void 0 ? xe(this.viewerConfig, this.touchDevice) : this.hints;
2511
+ const t = this.hints === !0 || this.hints === void 0 ? Ce(this.viewerConfig, this.touchDevice) : this.hints;
2481
2512
  t && t.length > 0 && (this.hintsOverlay = Ie(this.innerBox, t, {
2482
2513
  pointerZoomTrigger: this.pointerZoomTrigger
2483
- }), Ce(this.hintsOverlay));
2514
+ }), xe(this.hintsOverlay));
2484
2515
  }
2485
- this.autoplay && (this.hideAllIcons(), Bs(this.play.bind(this))());
2516
+ this.autoplay && (this.hideAllIcons(), Ds(this.play.bind(this))());
2486
2517
  }
2487
2518
  magnify(t) {
2488
2519
  t.stopPropagation();
2489
2520
  const { src: i } = this.orientation === Y.Y ? this.imagesY[this.activeImageY] : this.imagesX[this.activeImageX], o = (this.fullscreenView ? document.body : this.container).offsetWidth * this.magnifier, n = Vi(i, o);
2490
- this.showLoadingSpinner(), this.createGlass(), ks(n, (a) => {
2491
- this.hideLoadingSpinner(), this.magnified = !0, Ts(t, this.innerBox, this.offset, a, this.glass, this.magnifier);
2521
+ this.showLoadingSpinner(), this.createGlass(), As(n, (a) => {
2522
+ this.hideLoadingSpinner(), this.magnified = !0, ks(t, this.innerBox, this.offset, a, this.glass, this.magnifier);
2492
2523
  }, (a) => {
2493
2524
  this.hideLoadingSpinner(), this.removeGlass(), this.emit("onError", {
2494
2525
  error: { message: a.message, url: a.url },
@@ -2500,8 +2531,8 @@ class Ft {
2500
2531
  }
2501
2532
  openFullscreenModal(t) {
2502
2533
  t.stopPropagation(), this.hideHotspotPopper(), this.releaseMemory(), window.document.body.style.overflow = "hidden";
2503
- const i = ns(this.container);
2504
- this.fullscreenInstance = new Ft(i, this.viewerConfig, !0), this.fullscreenInstance.originalViewer = this, this.emit("onFullscreenOpen"), this.announce("Opened fullscreen mode. Press Escape to exit.");
2534
+ const i = os(this.container);
2535
+ this.fullscreenInstance = new Vt(i, this.viewerConfig, !0), this.fullscreenInstance.originalViewer = this, this.emit("onFullscreenOpen"), this.announce("Opened fullscreen mode. Press Escape to exit.");
2505
2536
  }
2506
2537
  closeFullscreenModal(t) {
2507
2538
  t.stopPropagation();
@@ -2523,7 +2554,7 @@ class Ft {
2523
2554
  bottom: this.moveBottom.bind(this)
2524
2555
  };
2525
2556
  this.loopTimeoutId = window.setInterval(() => {
2526
- if (this.playOnce && Xs({
2557
+ if (this.playOnce && Ys({
2527
2558
  autoplayBehavior: this.autoplayBehavior,
2528
2559
  activeImageX: this.activeImageX,
2529
2560
  activeImageY: this.activeImageY,
@@ -2534,7 +2565,7 @@ class Ft {
2534
2565
  this.stopAutoplay();
2535
2566
  return;
2536
2567
  }
2537
- Rs({
2568
+ Xs({
2538
2569
  autoplayBehavior: this.autoplayBehavior,
2539
2570
  activeImageX: this.activeImageX,
2540
2571
  activeImageY: this.activeImageY,
@@ -2542,9 +2573,9 @@ class Ft {
2542
2573
  amountY: this.amountY,
2543
2574
  autoplayReverse: this.autoplayReverse,
2544
2575
  spinDirection: this.spinDirection
2545
- }) && (this.spinDirection = Zs(this.spinDirection));
2576
+ }) && (this.spinDirection = Hs(this.spinDirection));
2546
2577
  const n = this.spinDirection === "y";
2547
- Ys({
2578
+ Ps({
2548
2579
  autoplayBehavior: this.autoplayBehavior,
2549
2580
  spinY: n,
2550
2581
  reversed: this.autoplayReverse,
@@ -2554,10 +2585,10 @@ class Ft {
2554
2585
  }
2555
2586
  stopAutoplay() {
2556
2587
  if (this.showAllIcons(), this.autoplay = !1, window.clearTimeout(this.loopTimeoutId), this.loopTimeoutId = null, this.emit("onAutoplayStop"), this.hints !== !1 && !this.hintsOverlay && !this.hintsHidden) {
2557
- const t = this.hints === !0 ? xe(this.viewerConfig, this.touchDevice) : this.hints;
2588
+ const t = this.hints === !0 ? Ce(this.viewerConfig, this.touchDevice) : this.hints;
2558
2589
  t && t.length > 0 && (this.hintsOverlay = Ie(this.innerBox, t, {
2559
2590
  pointerZoomTrigger: this.pointerZoomTrigger
2560
- }), Ce(this.hintsOverlay));
2591
+ }), xe(this.hintsOverlay));
2561
2592
  }
2562
2593
  }
2563
2594
  destroy() {
@@ -2584,7 +2615,7 @@ class Ft {
2584
2615
  });
2585
2616
  }
2586
2617
  addInitialIcon() {
2587
- this.initialIcon || this.hide360Logo || (this.initialIcon = Ji(this.logoSrc), this.innerBox.appendChild(this.initialIcon));
2618
+ this.initialIcon || this.hide360Logo || (this.initialIcon = Ki(this.logoSrc), this.innerBox.appendChild(this.initialIcon));
2588
2619
  }
2589
2620
  showInitialIcon() {
2590
2621
  !this.initialIcon || this.hasInteracted || (this.initialIcon.style.opacity = 1);
@@ -2599,7 +2630,7 @@ class Ft {
2599
2630
  this.showAllIcons(), this.innerBox.removeChild(this.glass), this.glass = null, this.magnified = !1;
2600
2631
  }
2601
2632
  addMagnifierIcon() {
2602
- this.pointerZoom && (this.magnifierIcon = is(), this.magnifierIcon.onclick = this.zoomIn.bind(this), this.iconsContainer.appendChild(this.magnifierIcon), this.zoomOutIcon = ss(), this.zoomOutIcon.onclick = this.zoomOut.bind(this), this.zoomOutIcon.style.display = "none", this.iconsContainer.appendChild(this.zoomOutIcon));
2633
+ this.pointerZoom && (this.magnifierIcon = es(), this.magnifierIcon.onclick = this.zoomIn.bind(this), this.iconsContainer.appendChild(this.magnifierIcon), this.zoomOutIcon = is(), this.zoomOutIcon.onclick = this.zoomOut.bind(this), this.zoomOutIcon.style.display = "none", this.iconsContainer.appendChild(this.zoomOutIcon));
2603
2634
  }
2604
2635
  showMagnifierIcon() {
2605
2636
  this.magnifierIcon && (this.magnifierIcon.style.display = "", this.magnifierIcon.style.visibility = "visible", this.magnifierIcon.style.opacity = 1);
@@ -2614,10 +2645,10 @@ class Ft {
2614
2645
  this.zoomOutIcon && (this.zoomOutIcon.style.display = "none", this.zoomOutIcon.style.visibility = "hidden", this.zoomOutIcon.style.opacity = 0);
2615
2646
  }
2616
2647
  addFullscreenIcon() {
2617
- this.fullscreen && (this.fullscreenIcon = ts(), this.fullscreenIcon.onclick = this.openFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenIcon));
2648
+ this.fullscreen && (this.fullscreenIcon = Qi(), this.fullscreenIcon.onclick = this.openFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenIcon));
2618
2649
  }
2619
2650
  addCloseFullscreenIcon() {
2620
- this.fullscreenCloseIcon = Qi(), this.fullscreenCloseIcon.onclick = this.closeFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenCloseIcon);
2651
+ this.fullscreenCloseIcon = qi(), this.fullscreenCloseIcon.onclick = this.closeFullscreenModal.bind(this), this.iconsContainer.appendChild(this.fullscreenCloseIcon);
2621
2652
  }
2622
2653
  showFullscreenIcon() {
2623
2654
  this.fullscreenIcon && (this.fullscreenIcon.style.opacity = 1);
@@ -2635,13 +2666,13 @@ class Ft {
2635
2666
  this.view360CircleIcon && (this.view360CircleIcon.style.opacity = 0);
2636
2667
  }
2637
2668
  addLoadingSpinner() {
2638
- this.loadingSpinner = rs(), this.innerBox.appendChild(this.loadingSpinner);
2669
+ this.loadingSpinner = ns(), this.innerBox.appendChild(this.loadingSpinner);
2639
2670
  }
2640
2671
  showLoadingSpinner() {
2641
2672
  this.loadingSpinner && (this.hideAllIcons(), this.loadingSpinner.style.opacity = 1);
2642
2673
  }
2643
2674
  createTransitionOverlay() {
2644
- this.transitionOverlay = as(), this.innerBox.appendChild(this.transitionOverlay);
2675
+ this.transitionOverlay = rs(), this.innerBox.appendChild(this.transitionOverlay);
2645
2676
  }
2646
2677
  showTransitionOverlay() {
2647
2678
  this.transitionOverlay && (this.hideAllIcons(), this.transitionOverlay.style.opacity = 1);
@@ -2653,11 +2684,11 @@ class Ft {
2653
2684
  this.loadingSpinner && (this.loadingSpinner.style.opacity = 0);
2654
2685
  }
2655
2686
  hideHints() {
2656
- !this.hintsOverlay || this.hintsHidden || (this.hintsHidden = !0, us(this.hintsOverlay));
2687
+ !this.hintsOverlay || this.hintsHidden || (this.hintsHidden = !0, ds(this.hintsOverlay));
2657
2688
  }
2658
2689
  addHotspotTimeline() {
2659
2690
  if (!this.hotspots || this.hotspotTimeline) return;
2660
- const t = gs(this.container, this.amountX, this.hotspots);
2691
+ const t = vs(this.container, this.amountX, this.hotspots);
2661
2692
  if (!t) return;
2662
2693
  this.hotspotTimeline = t.element, this.hotspotTimelineIndicator = t.indicator, this.hotspotTimeline.querySelectorAll(".cloudimage-360-hotspot-timeline-dot").forEach((s) => {
2663
2694
  s.addEventListener("click", (o) => {
@@ -2668,13 +2699,13 @@ class Ft {
2668
2699
  }), this.updateHotspotTimelinePosition();
2669
2700
  }
2670
2701
  showHotspotTimeline() {
2671
- bs(this.hotspotTimeline);
2702
+ ys(this.hotspotTimeline);
2672
2703
  }
2673
2704
  hideHotspotTimeline() {
2674
- ws(this.hotspotTimeline);
2705
+ bs(this.hotspotTimeline);
2675
2706
  }
2676
2707
  updateHotspotTimelinePosition() {
2677
- ys(this.hotspotTimelineIndicator, this.activeImageX, this.amountX);
2708
+ gs(this.hotspotTimelineIndicator, this.activeImageX, this.amountX);
2678
2709
  }
2679
2710
  /**
2680
2711
  * Animates the viewer to a target frame, optionally showing a hotspot popup on arrival
@@ -2755,7 +2786,7 @@ class Ft {
2755
2786
  document.removeEventListener("keydown", this.boundKeyDown), document.removeEventListener("keyup", this.boundKeyUp);
2756
2787
  }
2757
2788
  createContainers(t) {
2758
- if (this.iconsContainer = be(this.innerBox), this.canvas = qi(this.innerBox, t), this.loader = os(this.innerBox), this.ariaLiveRegion = cs(this.innerBox), this.useMainThreadCanvas)
2789
+ if (this.iconsContainer = be(this.innerBox), this.canvas = Ji(this.innerBox, t), this.loader = ss(this.innerBox), this.ariaLiveRegion = ls(this.innerBox), this.useMainThreadCanvas)
2759
2790
  this.canvasWorker.postMessage({
2760
2791
  action: "initCanvas",
2761
2792
  offscreen: this.canvas,
@@ -2778,7 +2809,7 @@ class Ft {
2778
2809
  this.isReady && (this.stopAutoplay(), qt(this.innerBox, ".cloudimage-360-icons-container"), this.init(this.container, t, !0), this.iconsContainer = be(this.innerBox), this.onAllImagesLoaded());
2779
2810
  }
2780
2811
  init(t, i, s) {
2781
- const o = i ? Di(i) : Hi(t), {
2812
+ const o = i ? Zi(i) : Ri(t), {
2782
2813
  folder: n,
2783
2814
  apiVersion: l,
2784
2815
  filenameX: r,
@@ -2795,30 +2826,30 @@ class Ft {
2795
2826
  bottomCircleOffset: E,
2796
2827
  autoplay: w,
2797
2828
  autoplayBehavior: y,
2798
- playOnce: C,
2829
+ playOnce: x,
2799
2830
  speed: m,
2800
2831
  autoplayReverse: g,
2801
- fullscreen: x,
2832
+ fullscreen: C,
2802
2833
  magnifier: A,
2803
- ciToken: k,
2834
+ ciToken: S,
2804
2835
  ciFilters: T,
2805
2836
  ciTransformation: X,
2806
2837
  lazyload: L,
2807
2838
  dragSpeed: $,
2808
2839
  stopAtEdges: G,
2809
- pointerZoom: P,
2840
+ pointerZoom: M,
2810
2841
  pointerZoomTrigger: D = "dblclick",
2811
2842
  imageInfo: ot = "black",
2812
- initialIconShown: U,
2843
+ initialIconShown: _,
2813
2844
  bottomCircle: nt,
2814
2845
  hotspots: yt,
2815
2846
  hotspotTrigger: tt = "hover",
2816
2847
  dragReverse: rt,
2817
2848
  hide360Logo: q,
2818
- logoSrc: V,
2849
+ logoSrc: N,
2819
2850
  inertia: et,
2820
2851
  pinchZoom: at,
2821
- hints: _,
2852
+ hints: U,
2822
2853
  theme: lt,
2823
2854
  hotspotTimelineOnClick: zt = !0,
2824
2855
  aspectRatio: ct,
@@ -2827,16 +2858,16 @@ class Ft {
2827
2858
  onLoad: Lt,
2828
2859
  onSpin: $t,
2829
2860
  onAutoplayStart: Gt,
2830
- onAutoplayStop: Pt,
2831
- onFullscreenOpen: Mt,
2832
- onFullscreenClose: Ut,
2833
- onZoomIn: _t,
2861
+ onAutoplayStop: Mt,
2862
+ onFullscreenOpen: Pt,
2863
+ onFullscreenClose: _t,
2864
+ onZoomIn: Ut,
2834
2865
  onZoomOut: K,
2835
2866
  onDragStart: ht,
2836
2867
  onDragEnd: Yt,
2837
2868
  onError: Xt
2838
- } = o, dt = { ciToken: k, ciFilters: T, ciTransformation: X }, ut = Qt(c, []), pt = Qt(h, []);
2839
- if (this.viewerConfig = o, this.amountX = ut.length || f, this.amountY = pt.length || p, 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 = w, this.autoplayBehavior = y, this.playOnce = C, this.speed = m, this.autoplayReverse = g, this.fullscreen = x, this.magnifier = A > 1 ? Math.min(A, Xi) : 0, this.dragSpeed = Math.max($, Yi), this.stopAtEdges = G, this.ciParams = dt, this.apiVersion = l, this.pointerZoom = P > 1 ? Math.min(P, ge) : null, this.pointerZoomTrigger = D, this.keysReverse = O, this.info = ot, this.keys = v, this.innerBox = this.innerBox ?? es(this.container), ct && (this.container.style.aspectRatio = ct), this.initialIconShown = U, this.bottomCircle = nt, this.spinDirection = Hs(this.autoplayBehavior, this.allowSpinX, this.allowSpinY), this.dragReverse = rt, this.hotspots = yt, this.hotspotTrigger = tt, this.hide360Logo = q, this.logoSrc = V, this.inertia = et, this.pinchZoom = at, this.hints = _, this.hotspotTimelineOnClick = zt, lt === "dark" ? this.container.classList.add("ci360-theme-dark") : lt === "light" && this.container.classList.remove("ci360-theme-dark"), this.onReady = jt, this.onLoad = Lt, this.onSpin = $t, this.onAutoplayStart = Gt, this.onAutoplayStop = Pt, this.onFullscreenOpen = Mt, this.onFullscreenClose = Ut, this.onZoomIn = _t, this.onZoomOut = K, this.onDragStart = ht, this.onDragEnd = Yt, this.onError = Xt, this.srcXConfig = {
2869
+ } = o, dt = { ciToken: S, ciFilters: T, ciTransformation: X }, ut = Qt(c, []), pt = Qt(h, []);
2870
+ if (this.viewerConfig = o, this.amountX = ut.length || f, this.amountY = pt.length || p, 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 = w, this.autoplayBehavior = y, this.playOnce = x, this.speed = m, this.autoplayReverse = g, this.fullscreen = C, this.magnifier = A > 1 ? Math.min(A, Xi) : 0, this.dragSpeed = Math.max($, Yi), this.stopAtEdges = G, this.ciParams = dt, this.apiVersion = l, this.pointerZoom = M > 1 ? Math.min(M, ge) : null, this.pointerZoomTrigger = D, this.keysReverse = O, this.info = ot, this.keys = v, this.innerBox = this.innerBox ?? ts(this.container), ct && (this.container.style.aspectRatio = ct), this.initialIconShown = _, this.bottomCircle = nt, this.spinDirection = Rs(this.autoplayBehavior, this.allowSpinX, this.allowSpinY), this.dragReverse = rt, this.hotspots = yt, this.hotspotTrigger = tt, this.hide360Logo = q, this.logoSrc = N, this.inertia = et, this.pinchZoom = at, this.hints = U, this.hotspotTimelineOnClick = zt, lt === "dark" ? this.container.classList.add("ci360-theme-dark") : lt === "light" && this.container.classList.remove("ci360-theme-dark"), this.onReady = jt, this.onLoad = Lt, this.onSpin = $t, this.onAutoplayStart = Gt, this.onAutoplayStop = Mt, this.onFullscreenOpen = Pt, this.onFullscreenClose = _t, this.onZoomIn = Ut, this.onZoomOut = K, this.onDragStart = ht, this.onDragEnd = Yt, this.onError = Xt, this.srcXConfig = {
2840
2871
  folder: n,
2841
2872
  filename: r,
2842
2873
  imageList: ut,
@@ -2856,7 +2887,7 @@ class Ft {
2856
2887
  orientation: Y.Y,
2857
2888
  amount: this.amountY
2858
2889
  }, s && this.removeEvents(), this.attachEvents(I, b, v), s) return;
2859
- const bt = (this.fullscreenView ? document.body : this.container).offsetWidth, wt = this.allowSpinX && !ut.length ? Ct(this.srcXConfig, bt) : null, ce = this.allowSpinY && !pt.length ? Ct(this.srcYConfig, bt) : null, he = (ii) => {
2890
+ const bt = (this.fullscreenView ? document.body : this.container).offsetWidth, wt = this.allowSpinX && !ut.length ? xt(this.srcXConfig, bt) : null, ce = this.allowSpinY && !pt.length ? xt(this.srcYConfig, bt) : null, he = (ii) => {
2860
2891
  ye({
2861
2892
  cdnPathX: wt,
2862
2893
  cdnPathY: ce,
@@ -2871,8 +2902,8 @@ class Ft {
2871
2902
  this.allowSpinX ? Ee(wt, this.srcXConfig, he) : this.allowSpinY && Ee(ce, this.srcYConfig, he);
2872
2903
  }
2873
2904
  }
2874
- const Fe = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2875
- class hn {
2905
+ const Ve = typeof navigator < "u" && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
2906
+ class cn {
2876
2907
  constructor() {
2877
2908
  this.views = /* @__PURE__ */ new Map(), this.initAll = this.initAll.bind(this), this.getViews = this.getViews.bind(this), this.memoryObserver = null, this.memoryManagementAutoEnabled = !1;
2878
2909
  }
@@ -2883,16 +2914,16 @@ class hn {
2883
2914
  if (!t) return;
2884
2915
  const o = t.id || this.generateId();
2885
2916
  t.id || (t.id = o);
2886
- const n = new Ft(t, i, s);
2887
- return this.views.set(o, n), Fe && !this.memoryManagementAutoEnabled && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100)), n;
2917
+ const n = new Vt(t, i, s);
2918
+ return this.views.set(o, n), Ve && !this.memoryManagementAutoEnabled && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100)), n;
2888
2919
  }
2889
2920
  initAll(t = "cloudimage-360") {
2890
2921
  [...document.querySelectorAll(`.${t}`)].filter(Boolean).forEach((s) => {
2891
2922
  const o = s.id || this.generateId();
2892
2923
  s.id || (s.id = o);
2893
- const n = new Ft(s);
2924
+ const n = new Vt(s);
2894
2925
  this.views.set(o, n);
2895
- }), Fe && !this.memoryManagementAutoEnabled && this.views.size > 0 && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100));
2926
+ }), Ve && !this.memoryManagementAutoEnabled && this.views.size > 0 && (this.memoryManagementAutoEnabled = !0, setTimeout(() => this.enableMemoryManagement(), 100));
2896
2927
  }
2897
2928
  destroy(t) {
2898
2929
  const i = this.getViewById(t);
@@ -2961,6 +2992,6 @@ class hn {
2961
2992
  }
2962
2993
  }
2963
2994
  export {
2964
- hn as default
2995
+ cn as default
2965
2996
  };
2966
- //# sourceMappingURL=ci360-85fPJbOD.mjs.map
2997
+ //# sourceMappingURL=ci360-CX3RAC_t.mjs.map