mirage-engine 0.3.10 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
1
  var _e = Object.defineProperty, Fe = Object.defineProperties;
2
2
  var Ne = Object.getOwnPropertyDescriptors;
3
- var ye = Object.getOwnPropertySymbols;
3
+ var we = Object.getOwnPropertySymbols;
4
4
  var ze = Object.prototype.hasOwnProperty, Xe = Object.prototype.propertyIsEnumerable;
5
- var ae = (s, e, t) => e in s ? _e(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, $ = (s, e) => {
5
+ var me = (s, e, t) => e in s ? _e(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t, J = (s, e) => {
6
6
  for (var t in e || (e = {}))
7
- ze.call(e, t) && ae(s, t, e[t]);
8
- if (ye)
9
- for (var t of ye(e))
10
- Xe.call(e, t) && ae(s, t, e[t]);
7
+ ze.call(e, t) && me(s, t, e[t]);
8
+ if (we)
9
+ for (var t of we(e))
10
+ Xe.call(e, t) && me(s, t, e[t]);
11
11
  return s;
12
- }, be = (s, e) => Fe(s, Ne(e));
13
- var u = (s, e, t) => (ae(s, typeof e != "symbol" ? e + "" : e, t), t);
14
- var we = (s, e, t) => new Promise((r, i) => {
12
+ }, xe = (s, e) => Fe(s, Ne(e));
13
+ var u = (s, e, t) => (me(s, typeof e != "symbol" ? e + "" : e, t), t);
14
+ var Ee = (s, e, t) => new Promise((r, i) => {
15
15
  var c = (a) => {
16
16
  try {
17
17
  o(t.next(a));
@@ -28,20 +28,20 @@ var we = (s, e, t) => new Promise((r, i) => {
28
28
  o((t = t.apply(s, e)).next());
29
29
  });
30
30
  import * as y from "three";
31
- const Le = {
31
+ const Ae = {
32
32
  INCLUDE_TREE: "include-tree",
33
33
  EXCLUDE_TREE: "exclude-tree",
34
34
  INCLUDE_SELF: "include-self",
35
35
  EXCLUDE_SELF: "exclude-self",
36
36
  END: "end"
37
- }, G = {
37
+ }, K = {
38
38
  NAME: "data-mirage-dom",
39
39
  KEY: "mirageDom",
40
40
  VALUES: {
41
41
  HIDE: "hide",
42
42
  SHOW: "show"
43
43
  }
44
- }, xe = {
44
+ }, Ce = {
45
45
  TRAVELER: "traveler",
46
46
  NATIVE: "native",
47
47
  CAPTURE_1: "1",
@@ -54,29 +54,29 @@ const Le = {
54
54
  CAPTURE_8: "8",
55
55
  CAPTURE_9: "9",
56
56
  CAPTURE_10: "10"
57
- }, O = {
57
+ }, _ = {
58
58
  NAME: "data-mirage-travel",
59
59
  KEY: "mirageTravel",
60
- VALUES: xe,
61
- MAX_LAYERS: Object.keys(xe).length - 1
62
- }, X = {
60
+ VALUES: Ce,
61
+ MAX_LAYERS: Object.keys(Ce).length - 1
62
+ }, W = {
63
63
  NAME: "data-mirage-filter",
64
64
  KEY: "mirageFilter",
65
- VALUES: Le
66
- }, W = {
65
+ VALUES: Ae
66
+ }, G = {
67
67
  NAME: "data-mirage-select",
68
68
  KEY: "mirageSelect",
69
- VALUES: Le
69
+ VALUES: Ae
70
70
  }, Ve = {
71
71
  NAME: "data-mirage-shader",
72
72
  KEY: "mirageShader"
73
- }, Ee = {
73
+ }, Se = {
74
74
  NAME: "data-mirage-sandwich",
75
75
  KEY: "mirageSandwich",
76
76
  VALUES: {
77
77
  FRONT: "front"
78
78
  }
79
- }, re = 0, q = 1, Z = 2, Ye = 4, ie = 8, ce = 16;
79
+ }, de = 0, Q = 1, ce = 2, Ye = 4, ue = 8, ve = 16;
80
80
  function We(s) {
81
81
  const e = s.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
82
82
  return e ? {
@@ -97,7 +97,7 @@ function He(s) {
97
97
  }
98
98
  return e;
99
99
  }
100
- class Me {
100
+ class De {
101
101
  constructor(e, t) {
102
102
  u(this, "target");
103
103
  u(this, "observer");
@@ -105,7 +105,7 @@ class Me {
105
105
  u(this, "pendingStyles", /* @__PURE__ */ new Map());
106
106
  u(this, "isDomDirty", !1);
107
107
  u(this, "isRunning", !1);
108
- u(this, "pendingMask", re);
108
+ u(this, "pendingMask", de);
109
109
  u(this, "mutationTimer", null);
110
110
  u(this, "cssTimer", null);
111
111
  u(this, "resizeConfig");
@@ -120,7 +120,7 @@ class Me {
120
120
  u(this, "onScrollChange", /* @__PURE__ */ new Set());
121
121
  u(this, "onRender", /* @__PURE__ */ new Set());
122
122
  u(this, "onTransitionFinished", (e) => {
123
- this.target.contains(e.target) && this.mutationTimer === null && (this.cssTimer && clearTimeout(this.cssTimer), this.pendingStyles.size == 0 && (this.pendingMask |= q | Z, this.cssTimer = window.setTimeout(() => {
123
+ this.target.contains(e.target) && this.mutationTimer === null && (this.cssTimer && clearTimeout(this.cssTimer), this.pendingStyles.size == 0 && (this.pendingMask |= Q | ce, this.cssTimer = window.setTimeout(() => {
124
124
  this.isDomDirty = !0, this.cssTimer = null;
125
125
  }, 50)));
126
126
  });
@@ -136,10 +136,10 @@ class Me {
136
136
  u(this, "renderLoop", () => {
137
137
  if (!this.isRunning)
138
138
  return;
139
- this.onBeforeRender.forEach((r) => r()), this.isDomDirty && (this.isDomDirty = !1, this.onLayoutChange.forEach((r) => r(this.pendingMask, this.pendingDeletions)), this.pendingDeletions.clear(), this.pendingMask = re);
139
+ this.onBeforeRender.forEach((r) => r()), this.isDomDirty && (this.isDomDirty = !1, this.onLayoutChange.forEach((r) => r(this.pendingMask, this.pendingDeletions)), this.pendingDeletions.clear(), this.pendingMask = de);
140
140
  const e = window.scrollX, t = window.scrollY;
141
141
  (e !== this.lastScrollX || t !== this.lastScrollY) && (this.onScrollChange.forEach((r) => r(e, t)), this.lastScrollX = e, this.lastScrollY = t, this.scrollTimer && clearTimeout(this.scrollTimer), this.scrollTimer = window.setTimeout(() => {
142
- this.pendingMask |= q, this.isDomDirty = !0, this.scrollTimer = null;
142
+ this.pendingMask |= Q, this.isDomDirty = !0, this.scrollTimer = null;
143
143
  }, 150)), this.pendingStyles.size > 0 && (this.onStyleChange.forEach((r) => r(this.pendingStyles)), this.pendingStyles.clear()), this.onRender.forEach((r) => r()), requestAnimationFrame(this.renderLoop);
144
144
  });
145
145
  var i, c;
@@ -151,23 +151,23 @@ class Me {
151
151
  onStart: r.onStart,
152
152
  onEnd: r.onEnd
153
153
  }, this.observer = new MutationObserver((n) => {
154
- let o = re;
154
+ let o = de;
155
155
  for (const a of n)
156
156
  if (a.type === "childList")
157
- o |= ie, a.removedNodes.length > 0 && a.removedNodes.forEach((l) => {
157
+ o |= ue, a.removedNodes.length > 0 && a.removedNodes.forEach((l) => {
158
158
  l instanceof HTMLElement && this.pendingDeletions.add(l);
159
159
  });
160
160
  else if (a.type === "attributes")
161
161
  if (a.attributeName === "style") {
162
- o |= q | Z;
162
+ o |= Q | ce;
163
163
  const l = a.target, d = He(l.style);
164
164
  this.pendingStyles.set(l, d);
165
165
  } else
166
- a.attributeName === "class" ? o |= q | Z : a.attributeName && a.attributeName.startsWith("data-") && (o |= q | Z, a.attributeName.startsWith("data-mirage") && (o |= ie));
166
+ a.attributeName === "class" ? o |= Q | ce : a.attributeName && a.attributeName.startsWith("data-") && (o |= Q | ce, a.attributeName.startsWith("data-mirage") && (o |= ue));
167
167
  else
168
- a.type === "characterData" && (o |= ce | q);
169
- if (o !== re) {
170
- if (this.pendingMask |= o, o & ie) {
168
+ a.type === "characterData" && (o |= ve | Q);
169
+ if (o !== de) {
170
+ if (this.pendingMask |= o, o & ue) {
171
171
  this.clearTimers(), this.isDomDirty = !0;
172
172
  return;
173
173
  }
@@ -192,13 +192,13 @@ class Me {
192
192
  this.mutationTimer && (clearTimeout(this.mutationTimer), this.mutationTimer = null), this.cssTimer && (clearTimeout(this.cssTimer), this.cssTimer = null), this.scrollTimer && (clearTimeout(this.scrollTimer), this.scrollTimer = null);
193
193
  }
194
194
  }
195
- const H = 1, K = 2, U = {
195
+ const $ = 1, te = 2, U = {
196
196
  BASE: 0,
197
197
  SELECTED: 1,
198
198
  getCaptureLayer: (s) => 31 - s,
199
199
  HIDDEN: 31
200
- }, Ce = Object.values(X.VALUES);
201
- class Ae {
200
+ }, Te = Object.values(W.VALUES);
201
+ class ke {
202
202
  /**
203
203
  * Calculates or retrieves the exact alphabetic baseline (in pixels) for the given font.
204
204
  * @param font CSS font shorthand string (e.g., "400 16px Inter")
@@ -219,7 +219,7 @@ class Ae {
219
219
  return document.body.removeChild(t), c;
220
220
  }
221
221
  }
222
- u(Ae, "cache", /* @__PURE__ */ new Map());
222
+ u(ke, "cache", /* @__PURE__ */ new Map());
223
223
  class Pe extends y.MeshBasicMaterial {
224
224
  constructor(t, r, i, c, n = 2) {
225
225
  super({
@@ -255,24 +255,24 @@ class Pe extends y.MeshBasicMaterial {
255
255
  n !== void 0 && (this.qualityFactor = n);
256
256
  const a = (window.devicePixelRatio || 1) * this.qualityFactor, l = i * a, d = c * a;
257
257
  this.canvas.width !== l || this.canvas.height !== d ? (this.canvas.width = l, this.canvas.height = d) : this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height), this.ctx.setTransform(a, 0, 0, a, 0, 0), this.ctx.font = r.font, this.ctx.fillStyle = r.color, this.ctx.textBaseline = "alphabetic", this.ctx.globalAlpha = 1;
258
- const h = this.wrapText(t, i), f = r.lineHeight, p = Ae.getBaseline(r.font);
259
- h.forEach((g, m) => {
260
- const b = m * f + p;
261
- let R = 0;
262
- r.textAlign === "center" ? R = i / 2 : r.textAlign === "right" && (R = i), this.ctx.textAlign = r.textAlign, this.ctx.fillText(g, R, b);
258
+ const h = this.wrapText(t, i), f = r.lineHeight, p = ke.getBaseline(r.font);
259
+ h.forEach((g, v) => {
260
+ const b = v * f + p;
261
+ let L = 0;
262
+ r.textAlign === "center" ? L = i / 2 : r.textAlign === "right" && (L = i), this.ctx.textAlign = r.textAlign, this.ctx.fillText(g, L, b);
263
263
  }), this.map && (this.map.needsUpdate = !0);
264
264
  }
265
265
  dispose() {
266
266
  this.map && this.map.dispose(), super.dispose();
267
267
  }
268
268
  }
269
- function J(s, e = 0) {
269
+ function re(s, e = 0) {
270
270
  if (typeof s == "number")
271
271
  return s;
272
272
  const t = parseFloat(s) || 0;
273
273
  return typeof s == "string" && s.includes("%") ? t / 100 * e : t;
274
274
  }
275
- function ee(s) {
275
+ function le(s) {
276
276
  if (!s || s === "transparent")
277
277
  return { color: new y.Color(16777215), alpha: 0 };
278
278
  const e = s.match(
@@ -324,7 +324,7 @@ function $e(s) {
324
324
  const g = l.substring(d + 1);
325
325
  (g.endsWith("%") || g.endsWith("px") || !isNaN(parseFloat(g))) && (h = l.substring(0, d).trim(), f = g);
326
326
  }
327
- const p = ee(h);
327
+ const p = le(h);
328
328
  o.push({
329
329
  color: p.color,
330
330
  alpha: p.alpha,
@@ -503,10 +503,10 @@ uniform vec2 uTextureOffset;`, Je = `vec2 screenUv = (vScreenPos.xy / vScreenPos
503
503
  vec2 resultUv = screenUv;
504
504
 
505
505
  `, Qe = `vec4 texColor = texture2D(uTexture, resultUv);
506
- baseColor = blendSrcOver(baseColor, texColor);`, Te = {
506
+ baseColor = blendSrcOver(baseColor, texColor);`, Re = {
507
507
  vertexShader: qe,
508
508
  fragmentShader: je
509
- }, Se = {
509
+ }, Le = {
510
510
  declChunk: Ke,
511
511
  uvChunk: Je,
512
512
  baseColorChunk: Qe
@@ -524,11 +524,11 @@ function Ze(s, e, t, r = null, i) {
524
524
  `, o[C] = { value: new y.Vector3(...w) }) : w.length === 4 && (n += `uniform vec4 ${C};
525
525
  `, o[C] = { value: new y.Vector4(...w) }) : (n += `uniform float ${C};
526
526
  `, o[C] = { value: w });
527
- const a = i !== void 0, l = (c || a ? Se.declChunk : "") + `
527
+ const a = i !== void 0, l = (c || a ? Le.declChunk : "") + `
528
528
  ` + n, d = `vec2 screenUv = (vScreenPos.xy / vScreenPos.w) * 0.5 + 0.5;
529
529
  `, h = s.isTraveler ? `vec2 resultUv = screenUv;
530
530
  ` : `vec2 resultUv = vUv * uTextureRepeat + uTextureOffset;
531
- `, f = c || a ? d + h + ((i == null ? void 0 : i.uvModifier) || "") : "", p = c || a ? Se.baseColorChunk : "", g = (i == null ? void 0 : i.colorModifier) || "", m = Te.fragmentShader.replace("#INJECT_DECLARATIONS", l).replace("#INJECT_UV_MODIFIER", f).replace("#INJECT_BASE_COLOR", p).replace("#INJECT_COLOR_MODIFIER", g), b = ee(s.backgroundColor), R = ee(s.borderColor), L = {
531
+ `, f = c || a ? d + h + ((i == null ? void 0 : i.uvModifier) || "") : "", p = c || a ? Le.baseColorChunk : "", g = (i == null ? void 0 : i.colorModifier) || "", v = Re.fragmentShader.replace("#INJECT_DECLARATIONS", l).replace("#INJECT_UV_MODIFIER", f).replace("#INJECT_BASE_COLOR", p).replace("#INJECT_COLOR_MODIFIER", g), b = le(s.backgroundColor), L = le(s.borderColor), M = {
532
532
  uSize: { value: new y.Vector2(e, t) },
533
533
  uBgColor: {
534
534
  value: new y.Vector4(
@@ -540,14 +540,14 @@ function Ze(s, e, t, r = null, i) {
540
540
  },
541
541
  uBorderColor: {
542
542
  value: new y.Vector4(
543
- R.color.r,
544
- R.color.g,
545
- R.color.b,
546
- R.alpha
543
+ L.color.r,
544
+ L.color.g,
545
+ L.color.b,
546
+ L.alpha
547
547
  )
548
548
  },
549
549
  uBorderRadius: { value: new y.Vector4(0, 0, 0, 0) },
550
- uBorderWidth: { value: J(s.borderWidth) },
550
+ uBorderWidth: { value: re(s.borderWidth) },
551
551
  uOpacity: { value: (x = s.opacity) != null ? x : 1 },
552
552
  uTexture: { value: null },
553
553
  uTextureRepeat: { value: new y.Vector2(1, 1) },
@@ -559,20 +559,20 @@ function Ze(s, e, t, r = null, i) {
559
559
  },
560
560
  uGradientStops: { value: new Float32Array(8) }
561
561
  };
562
- De(L.uBorderRadius.value, s.borderRadius, Math.min(e, t)), c && (L.uTexture.value = r);
563
- const T = new y.ShaderMaterial({
564
- uniforms: $($({}, L), o),
565
- vertexShader: Te.vertexShader,
566
- fragmentShader: m,
562
+ Ie(M.uBorderRadius.value, s.borderRadius, Math.min(e, t)), c && (M.uTexture.value = r);
563
+ const S = new y.ShaderMaterial({
564
+ uniforms: J(J({}, M), o),
565
+ vertexShader: Re.vertexShader,
566
+ fragmentShader: v,
567
567
  transparent: !0,
568
568
  side: y.FrontSide
569
569
  // for better performance
570
570
  });
571
- return s.backgroundImage && le(T, { backgroundImage: s.backgroundImage }), T;
571
+ return s.backgroundImage && ye(S, { backgroundImage: s.backgroundImage }), S;
572
572
  }
573
573
  function et(s, e, t, r, i) {
574
- const c = J(e.borderWidth);
575
- le(s, {
574
+ const c = re(e.borderWidth);
575
+ ye(s, {
576
576
  width: t,
577
577
  height: r,
578
578
  borderRadius: e.borderRadius,
@@ -584,11 +584,11 @@ function et(s, e, t, r, i) {
584
584
  backgroundImage: e.backgroundImage
585
585
  });
586
586
  }
587
- function le(s, e) {
587
+ function ye(s, e) {
588
588
  var r, i, c;
589
589
  if (e.width !== void 0 && e.height !== void 0 && s.uniforms.uSize.value.set(e.width, e.height), e.borderRadius !== void 0) {
590
590
  const n = e.width !== void 0 && e.height !== void 0 ? Math.min(e.width, e.height) : Math.min(s.uniforms.uSize.value.x, s.uniforms.uSize.value.y);
591
- De(s.uniforms.uBorderRadius.value, e.borderRadius, n);
591
+ Ie(s.uniforms.uBorderRadius.value, e.borderRadius, n);
592
592
  }
593
593
  if (e.borderWidth !== void 0 && (s.uniforms.uBorderWidth.value = e.borderWidth), e.backgroundColor !== void 0)
594
594
  if (Array.isArray(e.backgroundColor)) {
@@ -600,7 +600,7 @@ function le(s, e) {
600
600
  n
601
601
  );
602
602
  } else if (typeof e.backgroundColor == "string") {
603
- const n = ee(e.backgroundColor);
603
+ const n = le(e.backgroundColor);
604
604
  s.uniforms.uBgColor.value.set(
605
605
  n.color.r,
606
606
  n.color.g,
@@ -626,7 +626,7 @@ function le(s, e) {
626
626
  n
627
627
  );
628
628
  } else if (typeof e.borderColor == "string") {
629
- const n = ee(e.borderColor);
629
+ const n = le(e.borderColor);
630
630
  s.uniforms.uBorderColor.value.set(
631
631
  n.color.r,
632
632
  n.color.g,
@@ -679,7 +679,7 @@ function le(s, e) {
679
679
  for (const n of Object.keys(e))
680
680
  n !== "width" && n !== "height" && n !== "borderRadius" && n !== "borderWidth" && n !== "backgroundColor" && n !== "borderColor" && n !== "opacity" && n !== "bgOpacity" && n !== "borderOpacity" && n !== "texture" && n !== "backgroundImage" && s.uniforms[n] !== void 0 && (s.uniforms[n].value !== void 0 && s.uniforms[n].value !== null && typeof s.uniforms[n].value.set == "function" ? Array.isArray(e[n]) ? s.uniforms[n].value.set(...e[n]) : e[n] !== void 0 && (e[n].copy ? s.uniforms[n].value.copy(e[n]) : s.uniforms[n].value = e[n]) : s.uniforms[n].value = e[n]);
681
681
  }
682
- function De(s, e, t = 0) {
682
+ function Ie(s, e, t = 0) {
683
683
  var a, l, d, h;
684
684
  if (e == null) {
685
685
  s.set(0, 0, 0, 0);
@@ -693,10 +693,10 @@ function De(s, e, t = 0) {
693
693
  s.set(e[0], e[1], e[2], e[3]);
694
694
  return;
695
695
  }
696
- const r = e.split("/")[0].trim().split(/\s+/), i = J(r[0], t), c = J((a = r[1]) != null ? a : r[0], t), n = J((l = r[2]) != null ? l : r[0], t), o = J((h = (d = r[3]) != null ? d : r[1]) != null ? h : r[0], t);
696
+ const r = e.split("/")[0].trim().split(/\s+/), i = re(r[0], t), c = re((a = r[1]) != null ? a : r[0], t), n = re((l = r[2]) != null ? l : r[0], t), o = re((h = (d = r[3]) != null ? d : r[1]) != null ? h : r[0], t);
697
697
  s.set(i, c, n, o);
698
698
  }
699
- const V = {
699
+ const H = {
700
700
  create(s, e, t, r, i, c = 2, n = null, o) {
701
701
  return s === "BOX" ? Ze(
702
702
  e,
@@ -728,7 +728,7 @@ const V = {
728
728
  );
729
729
  },
730
730
  forceUpdateUniforms(s, e) {
731
- le(s, e);
731
+ ye(s, e);
732
732
  }
733
733
  };
734
734
  class tt {
@@ -757,7 +757,7 @@ class tt {
757
757
  e.nodeType === Node.ELEMENT_NODE && this.observer && this.observer.unobserve(e), this.disposeTexture(e), this.elementUrls.delete(e), this.loadStatus.delete(e);
758
758
  }
759
759
  loadTexture(e) {
760
- return we(this, null, function* () {
760
+ return Ee(this, null, function* () {
761
761
  if (this.loadStatus.get(e) || this.textures.has(e))
762
762
  return;
763
763
  const t = this.elementUrls.get(e);
@@ -818,7 +818,7 @@ class rt {
818
818
  u(this, "registry");
819
819
  u(this, "targetRect");
820
820
  u(this, "travelersByLayer", Array.from(
821
- { length: O.MAX_LAYERS },
821
+ { length: _.MAX_LAYERS },
822
822
  () => /* @__PURE__ */ new Set()
823
823
  ));
824
824
  u(this, "textureManager");
@@ -827,7 +827,7 @@ class rt {
827
827
  var o, a, l, d, h;
828
828
  this.target = e, this.mountContainer = r, this.registry = i, this.mode = (o = t.mode) != null ? o : "overlay", this.canvasSize = (a = t.canvasSize) != null ? a : "viewport", this.clipArea = (l = t.travelerClipArea) != null ? l : 1, this.targetLayer = (d = t.layer) != null ? d : "base", this.textureManager = new tt((f, p) => {
829
829
  const g = this.registry.get(f);
830
- g && g.material instanceof y.ShaderMaterial && V.forceUpdateUniforms(g.material, { texture: p });
830
+ g && g.material instanceof y.ShaderMaterial && H.forceUpdateUniforms(g.material, { texture: p });
831
831
  }, this.isViewport), this.canvas = document.createElement("canvas"), this.scene = new y.Scene(), this.targetRect = this.target.getBoundingClientRect();
832
832
  const c = this.isViewport ? window.innerWidth + this.overscan * 2 : this.targetRect.width, n = this.isViewport ? window.innerHeight + this.overscan * 2 : this.targetRect.height;
833
833
  this.camera = new y.OrthographicCamera(
@@ -852,7 +852,7 @@ class rt {
852
852
  return typeof this.targetLayer == "number" ? this.targetLayer : this.targetLayer === "selected" ? U.SELECTED : U.BASE;
853
853
  }
854
854
  createRenderTarget() {
855
- for (let e = 0; e < O.MAX_LAYERS; e++) {
855
+ for (let e = 0; e < _.MAX_LAYERS; e++) {
856
856
  const t = this.isViewport ? window.innerWidth + this.overscan * 2 : this.targetRect.width, r = this.isViewport ? window.innerHeight + this.overscan * 2 : this.targetRect.height;
857
857
  this.renderTargets.push(
858
858
  new y.WebGLRenderTarget(
@@ -899,12 +899,12 @@ class rt {
899
899
  updateUniforms(e, t) {
900
900
  const r = this.registry.get(e);
901
901
  r && (r.traverse((i) => {
902
- i.isMesh && i.material && V.forceUpdateUniforms(
902
+ i.isMesh && i.material && H.forceUpdateUniforms(
903
903
  i.material,
904
904
  t
905
905
  );
906
906
  }), r.userData.nativeMesh && r.userData.nativeMesh.traverse((i) => {
907
- i.isMesh && i.material && V.forceUpdateUniforms(
907
+ i.isMesh && i.material && H.forceUpdateUniforms(
908
908
  i.material,
909
909
  t
910
910
  );
@@ -944,7 +944,7 @@ class rt {
944
944
  let t = this.registry.get(e.element);
945
945
  const r = JSON.stringify(e.shaderHooks || null);
946
946
  if (t && t.userData.shaderHash !== r && (this.scene.remove(t), t.geometry.dispose(), t.material instanceof y.Material && t.material.dispose(), this.registry.remove(e.element), t = void 0), !t) {
947
- const n = new y.PlaneGeometry(1, 1), o = e.isTraveler ? (i = this.renderTargets[e.captureLayer - 2]) == null ? void 0 : i.texture : this.textureManager.get(e.element), a = V.create(
947
+ const n = new y.PlaneGeometry(1, 1), o = e.isTraveler ? (i = this.renderTargets[e.captureLayer - 2]) == null ? void 0 : i.texture : this.textureManager.get(e.element), a = H.create(
948
948
  "BOX",
949
949
  e.styles,
950
950
  "",
@@ -957,7 +957,7 @@ class rt {
957
957
  t = new y.Mesh(n, a), e.type === "TEXT" && (t.name = "BG_MESH"), this.scene.add(t), this.registry.register(e.element, t), t.userData.baseMaterial = a, t.userData.domElement = e.element, t.userData.shaderHash = r;
958
958
  }
959
959
  if ((c = e.nativeStyles) != null && c.transform ? t.userData.nativeTransform = e.nativeStyles.transform : t.userData.nativeTransform = void 0, this.updateMeshProperties(t, e), this.updateMeshLayers(t, e), e.isTraveler)
960
- for (let n = 0; n < O.MAX_LAYERS; n++)
960
+ for (let n = 0; n < _.MAX_LAYERS; n++)
961
961
  n === e.captureLayer - 2 ? this.travelersByLayer[n].add(t) : this.travelersByLayer[n].delete(t);
962
962
  else
963
963
  for (const n of this.travelersByLayer)
@@ -977,53 +977,53 @@ class rt {
977
977
  const i = t.textLines || [
978
978
  { text: t.textContent || "", rect: t.rect }
979
979
  ], c = r ? t.nativeStyles : t.textStyles, n = JSON.stringify(c) + t.textContent + i.map((d) => d.text).join("|"), o = (l = e.userData) == null ? void 0 : l.textChildStyleHash;
980
- if (t.dirtyMask & ce || n !== o) {
980
+ if (t.dirtyMask & ve || n !== o) {
981
981
  e.children.filter(
982
982
  (g) => g.name.startsWith("TEXT_CHILD")
983
983
  ).forEach((g) => {
984
984
  var b;
985
- const m = g;
986
- (b = m.material.map) == null || b.dispose(), m.geometry.dispose(), e.remove(m);
985
+ const v = g;
986
+ (b = v.material.map) == null || b.dispose(), v.geometry.dispose(), e.remove(v);
987
987
  });
988
988
  const h = t.rect, f = h.x + h.width / 2, p = h.y + h.height / 2;
989
- i.forEach((g, m) => {
990
- const b = V.create(
989
+ i.forEach((g, v) => {
990
+ const b = H.create(
991
991
  "TEXT",
992
992
  c,
993
993
  g.text,
994
994
  g.rect.width,
995
995
  g.rect.height,
996
996
  this.qualityFactor
997
- ), R = new y.PlaneGeometry(1, 1), L = new y.Mesh(R, b);
998
- L.name = `TEXT_CHILD_${m}`;
999
- const T = t.rect.width === 0 ? 1 : g.rect.width / t.rect.width, x = t.rect.height === 0 ? 1 : g.rect.height / t.rect.height;
1000
- L.scale.set(T, x, 1);
1001
- const C = g.rect.x + g.rect.width / 2, w = g.rect.y + g.rect.height / 2, S = C - f, M = -(w - p);
1002
- L.position.set(
1003
- t.rect.width === 0 ? 0 : S / t.rect.width,
1004
- t.rect.height === 0 ? 0 : M / t.rect.height,
997
+ ), L = new y.PlaneGeometry(1, 1), M = new y.Mesh(L, b);
998
+ M.name = `TEXT_CHILD_${v}`;
999
+ const S = t.rect.width === 0 ? 1 : g.rect.width / t.rect.width, x = t.rect.height === 0 ? 1 : g.rect.height / t.rect.height;
1000
+ M.scale.set(S, x, 1);
1001
+ const C = g.rect.x + g.rect.width / 2, w = g.rect.y + g.rect.height / 2, T = C - f, A = -(w - p);
1002
+ M.position.set(
1003
+ t.rect.width === 0 ? 0 : T / t.rect.width,
1004
+ t.rect.height === 0 ? 0 : A / t.rect.height,
1005
1005
  5e-3
1006
- ), e.add(L);
1006
+ ), e.add(M);
1007
1007
  }), e.userData.textChildStyleHash = n;
1008
1008
  }
1009
1009
  e.children.forEach((d) => {
1010
1010
  if (!d.name.startsWith("TEXT_CHILD"))
1011
1011
  return;
1012
- const h = d, f = t.visibility & H ? U.BASE : U.HIDDEN;
1013
- if (h.layers.set(f), t.visibility & K && h.layers.enable(U.SELECTED), t.visibility & H)
1012
+ const h = d, f = t.visibility & $ ? U.BASE : U.HIDDEN;
1013
+ if (h.layers.set(f), t.visibility & te && h.layers.enable(U.SELECTED), t.visibility & $)
1014
1014
  if (!r && t.nativeLayer !== void 0 && t.nativeStyles !== void 0)
1015
1015
  for (let p = t.captureLayer; p < t.nativeLayer; p++)
1016
1016
  h.layers.enable(U.getCaptureLayer(p));
1017
1017
  else if (r && t.nativeLayer !== void 0)
1018
- for (let p = Math.max(t.captureLayer, t.nativeLayer); p <= O.MAX_LAYERS + 1; p++)
1018
+ for (let p = Math.max(t.captureLayer, t.nativeLayer); p <= _.MAX_LAYERS + 1; p++)
1019
1019
  h.layers.enable(U.getCaptureLayer(p));
1020
1020
  else
1021
- for (let p = t.captureLayer; p <= O.MAX_LAYERS + 1; p++)
1021
+ for (let p = t.captureLayer; p <= _.MAX_LAYERS + 1; p++)
1022
1022
  h.layers.enable(U.getCaptureLayer(p));
1023
1023
  });
1024
1024
  }
1025
1025
  updateMeshProperties(e, t) {
1026
- var T, x, C;
1026
+ var S, x, C;
1027
1027
  const { rect: r, styles: i } = t, c = this.renderer.getPixelRatio(), n = this.renderer.domElement.width / c, o = this.renderer.domElement.height / c;
1028
1028
  e.material = e.userData.baseMaterial, e.scale.set(r.width, r.height, 1), e.userData.domRect = {
1029
1029
  x: r.x,
@@ -1038,8 +1038,8 @@ class rt {
1038
1038
  if (this.isViewport)
1039
1039
  h = r.x - window.innerWidth / 2 + r.width / 2, f = -r.y + window.innerHeight / 2 - r.height / 2;
1040
1040
  else {
1041
- const w = r.x - l, S = r.y - d;
1042
- h = w - n / 2 + r.width / 2, f = -S + o / 2 - r.height / 2;
1041
+ const w = r.x - l, T = r.y - d;
1042
+ h = w - n / 2 + r.width / 2, f = -T + o / 2 - r.height / 2;
1043
1043
  }
1044
1044
  e.position.set(
1045
1045
  h,
@@ -1048,13 +1048,13 @@ class rt {
1048
1048
  );
1049
1049
  const p = r.x, g = r.y;
1050
1050
  e.userData.basePosition = { x: h, y: f }, e.userData.originalBasePosition = { x: h, y: f }, e.userData.baseSize = { width: r.width, height: r.height }, e.userData.baseDOM = { x: p, y: g }, e.userData.isFixed = t.isFixed, e.userData.initialScroll = { x: window.scrollX, y: window.scrollY };
1051
- const m = t.element.nodeType === Node.TEXT_NODE ? t.element.parentElement : t.element, b = window.getComputedStyle(m);
1052
- let R = 0, L = 0;
1051
+ const v = t.element.nodeType === Node.TEXT_NODE ? t.element.parentElement : t.element, b = window.getComputedStyle(v);
1052
+ let L = 0, M = 0;
1053
1053
  if (b.transform && b.transform !== "none") {
1054
1054
  const w = new DOMMatrix(b.transform);
1055
- R = w.m41, L = w.m42;
1055
+ L = w.m41, M = w.m42;
1056
1056
  }
1057
- if (e.userData.baseTransform = { x: R, y: L }, delete e.userData.originRatioX, delete e.userData.originRatioY, V.update(
1057
+ if (e.userData.baseTransform = { x: L, y: M }, delete e.userData.originRatioX, delete e.userData.originRatioY, H.update(
1058
1058
  e.userData.baseMaterial,
1059
1059
  "BOX",
1060
1060
  i,
@@ -1062,10 +1062,10 @@ class rt {
1062
1062
  r.width,
1063
1063
  r.height,
1064
1064
  this.qualityFactor,
1065
- t.isTraveler ? (T = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : T.texture : this.textureManager.get(t.element)
1065
+ t.isTraveler ? (S = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : S.texture : this.textureManager.get(t.element)
1066
1066
  ), t.nativeStyles && t.nativeRect) {
1067
1067
  if (!e.userData.nativeMesh) {
1068
- const I = V.create(
1068
+ const X = H.create(
1069
1069
  "BOX",
1070
1070
  t.nativeStyles,
1071
1071
  "",
@@ -1074,22 +1074,50 @@ class rt {
1074
1074
  this.qualityFactor,
1075
1075
  t.isTraveler ? (x = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : x.texture : this.textureManager.get(t.element),
1076
1076
  t.shaderHooks
1077
- ), F = new y.Mesh(e.geometry, I);
1078
- t.type === "TEXT" && (F.name = "BG_MESH"), this.scene.add(F), e.userData.nativeMesh = F;
1077
+ ), N = new y.Mesh(e.geometry, X);
1078
+ t.type === "TEXT" && (N.name = "BG_MESH"), this.scene.add(N), e.userData.nativeMesh = N;
1079
1079
  }
1080
1080
  const w = e.userData.nativeMesh;
1081
- let S, M;
1081
+ let T, A;
1082
1082
  if (this.isViewport)
1083
- S = t.nativeRect.x - window.innerWidth / 2 + t.nativeRect.width / 2, M = -t.nativeRect.y + window.innerHeight / 2 - t.nativeRect.height / 2;
1083
+ T = t.nativeRect.x - window.innerWidth / 2 + t.nativeRect.width / 2, A = -t.nativeRect.y + window.innerHeight / 2 - t.nativeRect.height / 2;
1084
1084
  else {
1085
- const I = t.nativeRect.x - l, F = t.nativeRect.y - d;
1086
- S = I - n / 2 + t.nativeRect.width / 2, M = -F + o / 2 - t.nativeRect.height / 2;
1085
+ const X = t.nativeRect.x - l, N = t.nativeRect.y - d;
1086
+ T = X - n / 2 + t.nativeRect.width / 2, A = -N + o / 2 - t.nativeRect.height / 2;
1087
1087
  }
1088
- w.scale.set(t.nativeRect.width, t.nativeRect.height, 1), w.position.set(
1089
- S,
1090
- M,
1088
+ let I = t.nativeRect.width, q = t.nativeRect.height, ie = T, se = A;
1089
+ if (t.nativeStyles.transform) {
1090
+ const X = t.nativeStyles.transform, N = X.match(/scale\(([\d.]+%?)\)/);
1091
+ if (N) {
1092
+ let B = parseFloat(N[1]);
1093
+ N[1].includes("%") && (B /= 100), I *= B, q *= B;
1094
+ }
1095
+ const Z = X.match(/translate\(([^,]+),\s*([^)]+)\)/);
1096
+ if (Z) {
1097
+ const B = Z[1].trim(), F = Z[2].trim();
1098
+ let m = parseFloat(B);
1099
+ B.includes("%") && (m = m / 100 * t.nativeRect.width);
1100
+ let R = parseFloat(F);
1101
+ F.includes("%") && (R = R / 100 * t.nativeRect.height), ie += m, se -= R;
1102
+ }
1103
+ const ne = X.match(/translateX\(([^)]+)\)/);
1104
+ if (ne) {
1105
+ const B = ne[1].trim();
1106
+ let F = parseFloat(B);
1107
+ B.includes("%") && (F = F / 100 * t.nativeRect.width), ie += F;
1108
+ }
1109
+ const oe = X.match(/translateY\(([^)]+)\)/);
1110
+ if (oe) {
1111
+ const B = oe[1].trim();
1112
+ let F = parseFloat(B);
1113
+ B.includes("%") && (F = F / 100 * t.nativeRect.height), se -= F;
1114
+ }
1115
+ }
1116
+ w.scale.set(I, q, 1), w.position.set(
1117
+ ie,
1118
+ se,
1091
1119
  t.nativeStyles.zIndex + this.renderOrder * a
1092
- ), V.update(
1120
+ ), H.update(
1093
1121
  w.material,
1094
1122
  "BOX",
1095
1123
  t.nativeStyles,
@@ -1103,17 +1131,17 @@ class rt {
1103
1131
  e.userData.nativeMesh && (this.scene.remove(e.userData.nativeMesh), e.userData.nativeMesh.material instanceof y.Material && e.userData.nativeMesh.material.dispose(), delete e.userData.nativeMesh);
1104
1132
  }
1105
1133
  updateMeshLayers(e, t) {
1106
- const r = t.visibility & H ? U.BASE : U.HIDDEN;
1107
- if (e.layers.set(r), t.visibility & K && e.layers.enable(U.SELECTED), e.userData.nativeMesh && t.nativeLayer !== void 0) {
1134
+ const r = t.visibility & $ ? U.BASE : U.HIDDEN;
1135
+ if (e.layers.set(r), t.visibility & te && e.layers.enable(U.SELECTED), e.userData.nativeMesh && t.nativeLayer !== void 0) {
1108
1136
  const i = e.userData.nativeMesh;
1109
- if (i.layers.set(U.HIDDEN), t.visibility & H) {
1137
+ if (i.layers.set(U.HIDDEN), t.visibility & $) {
1110
1138
  for (let c = t.captureLayer; c < t.nativeLayer; c++)
1111
1139
  e.layers.enable(U.getCaptureLayer(c));
1112
- for (let c = Math.max(t.captureLayer, t.nativeLayer); c <= O.MAX_LAYERS + 1; c++)
1140
+ for (let c = Math.max(t.captureLayer, t.nativeLayer); c <= _.MAX_LAYERS + 1; c++)
1113
1141
  i.layers.enable(U.getCaptureLayer(c));
1114
1142
  }
1115
- } else if (t.visibility & H)
1116
- for (let i = t.captureLayer; i <= O.MAX_LAYERS + 1; i++)
1143
+ } else if (t.visibility & $)
1144
+ for (let i = t.captureLayer; i <= _.MAX_LAYERS + 1; i++)
1117
1145
  e.layers.enable(U.getCaptureLayer(i));
1118
1146
  }
1119
1147
  captureRenderTarget(e, t, r) {
@@ -1127,13 +1155,13 @@ class rt {
1127
1155
  const h = (n.x + 1) / 2 * o, f = (n.y + 1) / 2 * a;
1128
1156
  let p = 0, g = 1;
1129
1157
  typeof this.clipArea == "number" ? g = this.clipArea : this.clipArea.endsWith("%") ? g = parseFloat(this.clipArea) / 100 : this.clipArea.endsWith("px") && (p = parseFloat(this.clipArea));
1130
- const m = d.scale.x * g + 0.5, b = d.scale.y * g + 0.5, R = h - m / 2, L = f - b / 2, T = (R * this.qualityFactor - p) / l, x = (L * this.qualityFactor - p) / l, C = (m * this.qualityFactor + p * 2) / l, w = (b * this.qualityFactor + p * 2) / l;
1131
- this.renderer.setScissor(T, x, C, w), this.renderer.render(this.scene, this.camera);
1158
+ const v = d.scale.x * g + 0.5, b = d.scale.y * g + 0.5, L = h - v / 2, M = f - b / 2, S = (L * this.qualityFactor - p) / l, x = (M * this.qualityFactor - p) / l, C = (v * this.qualityFactor + p * 2) / l, w = (b * this.qualityFactor + p * 2) / l;
1159
+ this.renderer.setScissor(S, x, C, w), this.renderer.render(this.scene, this.camera);
1132
1160
  }
1133
1161
  this.renderer.setScissorTest(!1), this.renderer.autoClear = !0, this.renderer.setRenderTarget(null), this.camera.layers.set(this.getSceneLayer()), this.renderer.setClearColor(i, c);
1134
1162
  }
1135
1163
  render() {
1136
- for (let e = 0; e < O.MAX_LAYERS; e++) {
1164
+ for (let e = 0; e < _.MAX_LAYERS; e++) {
1137
1165
  const t = e + 1;
1138
1166
  this.captureRenderTarget(
1139
1167
  this.travelersByLayer[e],
@@ -1173,40 +1201,40 @@ class rt {
1173
1201
  const p = l.x - e, g = l.y - t;
1174
1202
  h = p - i / 2 + l.width / 2, f = -g + c / 2 - l.height / 2;
1175
1203
  }
1176
- if (o.position.setX(h), o.position.setY(f), o.scale.set(l.width, l.height, 1), o.updateMatrixWorld(), o.material instanceof y.ShaderMaterial && V.forceUpdateUniforms(o.material, {
1204
+ if (o.position.setX(h), o.position.setY(f), o.scale.set(l.width, l.height, 1), o.updateMatrixWorld(), o.material instanceof y.ShaderMaterial && H.forceUpdateUniforms(o.material, {
1177
1205
  width: l.width,
1178
1206
  height: l.height
1179
1207
  }), o.userData.nativeMesh) {
1180
1208
  const p = o.userData.nativeMesh;
1181
- let g = l.width, m = l.height, b = h, R = f;
1209
+ let g = l.width, v = l.height, b = h, L = f;
1182
1210
  if (o.userData.nativeTransform) {
1183
- const L = o.userData.nativeTransform, T = L.match(/scale\(([\d.]+%?)\)/);
1184
- if (T) {
1185
- let S = parseFloat(T[1]);
1186
- T[1].includes("%") && (S /= 100), g *= S, m *= S;
1211
+ const M = o.userData.nativeTransform, S = M.match(/scale\(([\d.]+%?)\)/);
1212
+ if (S) {
1213
+ let T = parseFloat(S[1]);
1214
+ S[1].includes("%") && (T /= 100), g *= T, v *= T;
1187
1215
  }
1188
- const x = L.match(/translate\(([^,]+),\s*([^)]+)\)/);
1216
+ const x = M.match(/translate\(([^,]+),\s*([^)]+)\)/);
1189
1217
  if (x) {
1190
- const S = x[1].trim(), M = x[2].trim();
1191
- let I = parseFloat(S);
1192
- S.includes("%") && (I = I / 100 * l.width);
1193
- let F = parseFloat(M);
1194
- M.includes("%") && (F = F / 100 * l.height), b += I, R -= F;
1218
+ const T = x[1].trim(), A = x[2].trim();
1219
+ let I = parseFloat(T);
1220
+ T.includes("%") && (I = I / 100 * l.width);
1221
+ let q = parseFloat(A);
1222
+ A.includes("%") && (q = q / 100 * l.height), b += I, L -= q;
1195
1223
  }
1196
- const C = L.match(/translateX\(([^)]+)\)/);
1224
+ const C = M.match(/translateX\(([^)]+)\)/);
1197
1225
  if (C) {
1198
- const S = C[1].trim();
1199
- let M = parseFloat(S);
1200
- S.includes("%") && (M = M / 100 * l.width), b += M;
1226
+ const T = C[1].trim();
1227
+ let A = parseFloat(T);
1228
+ T.includes("%") && (A = A / 100 * l.width), b += A;
1201
1229
  }
1202
- const w = L.match(/translateY\(([^)]+)\)/);
1230
+ const w = M.match(/translateY\(([^)]+)\)/);
1203
1231
  if (w) {
1204
- const S = w[1].trim();
1205
- let M = parseFloat(S);
1206
- S.includes("%") && (M = M / 100 * l.height), R -= M;
1232
+ const T = w[1].trim();
1233
+ let A = parseFloat(T);
1234
+ T.includes("%") && (A = A / 100 * l.height), L -= A;
1207
1235
  }
1208
1236
  }
1209
- p.position.setX(b), p.position.setY(R), p.scale.set(g, m, 1), p.updateMatrixWorld();
1237
+ p.position.setX(b), p.position.setY(L), p.scale.set(g, v, 1), p.updateMatrixWorld();
1210
1238
  }
1211
1239
  }
1212
1240
  });
@@ -1288,7 +1316,7 @@ function it(s) {
1288
1316
  (l) => l.text.trim().length > 0 && l.rect.width > 0 && l.rect.height > 0
1289
1317
  );
1290
1318
  }
1291
- function Re(s) {
1319
+ function Me(s) {
1292
1320
  const e = parseFloat(s.fontSize);
1293
1321
  let t = parseFloat(s.lineHeight);
1294
1322
  isNaN(t) && (t = e * 1.2);
@@ -1304,44 +1332,44 @@ function Re(s) {
1304
1332
  letterSpacing: r
1305
1333
  };
1306
1334
  }
1307
- function ke(s, e = q | Z | Ye | ce | ie, t, r = 1, i = 0, c = 2, n, o) {
1308
- var de, ue, fe, ge, pe, me;
1335
+ function Ue(s, e = Q | ce | Ye | ve | ue, t, r = 1, i = 0, c = 2, n, o) {
1336
+ var N, Z, ne, oe, B, F;
1309
1337
  if (s.nodeType === Node.TEXT_NODE) {
1310
- const v = s;
1311
- if (!v.textContent || !v.textContent.trim())
1338
+ const m = s;
1339
+ if (!m.textContent || !m.textContent.trim())
1312
1340
  return null;
1313
- const D = v.textContent.replace(/\s+/g, " ");
1314
- if (D.length === 0)
1341
+ const R = m.textContent.replace(/\s+/g, " ");
1342
+ if (R.length === 0)
1315
1343
  return null;
1316
- const B = it(v);
1317
- if (B.length === 0)
1344
+ const O = it(m);
1345
+ if (O.length === 0)
1318
1346
  return null;
1319
- const N = v.parentElement, k = N ? window.getComputedStyle(N) : null;
1347
+ const V = m.parentElement, k = V ? window.getComputedStyle(V) : null;
1320
1348
  if (!k)
1321
1349
  return null;
1322
- const Y = Math.min(...B.map((E) => E.rect.left)), _ = Math.min(...B.map((E) => E.rect.top)), P = Math.max(...B.map((E) => E.rect.left + E.rect.width)), A = Math.max(...B.map((E) => E.rect.top + E.rect.height));
1350
+ const P = Math.min(...O.map((E) => E.rect.left)), z = Math.min(...O.map((E) => E.rect.top)), j = Math.max(...O.map((E) => E.rect.left + E.rect.width)), D = Math.max(...O.map((E) => E.rect.top + E.rect.height));
1323
1351
  return {
1324
1352
  id: Math.random().toString(36).substring(2, 9),
1325
1353
  type: "TEXT",
1326
- element: v,
1354
+ element: m,
1327
1355
  rect: {
1328
- x: Y + window.scrollX,
1329
- y: _ + window.scrollY,
1330
- width: P - Y,
1331
- height: A - _
1356
+ x: P + window.scrollX,
1357
+ y: z + window.scrollY,
1358
+ width: j - P,
1359
+ height: D - z
1332
1360
  },
1333
1361
  styles: {
1334
1362
  backgroundColor: "transparent",
1335
1363
  backgroundImage: "",
1336
- opacity: N && N.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1364
+ opacity: V && V.dataset[K.KEY] === K.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1337
1365
  zIndex: (isNaN(parseInt(k.zIndex)) ? 0 : parseInt(k.zIndex)) + i,
1338
1366
  borderRadius: "0px",
1339
1367
  borderColor: "transparent",
1340
1368
  borderWidth: "0px",
1341
1369
  isTraveler: !1
1342
1370
  },
1343
- textContent: D,
1344
- textLines: B.map((E) => ({
1371
+ textContent: R,
1372
+ textLines: O.map((E) => ({
1345
1373
  text: E.text.trim(),
1346
1374
  rect: {
1347
1375
  x: E.rect.left + window.scrollX,
@@ -1350,237 +1378,237 @@ function ke(s, e = q | Z | Ye | ce | ie, t, r = 1, i = 0, c = 2, n, o) {
1350
1378
  height: E.rect.height
1351
1379
  }
1352
1380
  })),
1353
- textStyles: Re(k),
1381
+ textStyles: Me(k),
1354
1382
  dirtyMask: e,
1355
1383
  visibility: t,
1356
1384
  isTraveler: !1,
1357
1385
  captureLayer: r,
1358
1386
  isFixed: k.position === "fixed",
1359
1387
  nativeLayer: n,
1360
- nativeStyles: o ? $($({
1388
+ nativeStyles: o ? J(J({
1361
1389
  backgroundColor: "transparent",
1362
1390
  backgroundImage: "",
1363
- opacity: N && N.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1391
+ opacity: V && V.dataset[K.KEY] === K.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1364
1392
  zIndex: (isNaN(parseInt(k.zIndex)) ? 0 : parseInt(k.zIndex)) + i,
1365
1393
  borderRadius: "0px",
1366
1394
  borderColor: "transparent",
1367
1395
  borderWidth: "0px",
1368
1396
  isTraveler: !1
1369
- }, Re(k)), o) : void 0,
1397
+ }, Me(k)), o) : void 0,
1370
1398
  nativeRect: o ? {
1371
- x: Y + window.scrollX,
1372
- y: _ + window.scrollY,
1373
- width: P - Y,
1374
- height: A - _
1399
+ x: P + window.scrollX,
1400
+ y: z + window.scrollY,
1401
+ width: j - P,
1402
+ height: D - z
1375
1403
  } : void 0,
1376
1404
  children: []
1377
1405
  };
1378
1406
  }
1379
1407
  if (s.nodeType !== Node.ELEMENT_NODE)
1380
1408
  return null;
1381
- const a = s, l = a.dataset[X.KEY];
1409
+ const a = s, l = a.dataset[W.KEY];
1382
1410
  let d = t, h = t;
1383
1411
  if (l) {
1384
- const v = new Set(l.split(/\s+/));
1385
- for (const D of v)
1386
- if (!Ce.includes(D))
1412
+ const m = new Set(l.split(/\s+/));
1413
+ for (const R of m)
1414
+ if (!Te.includes(R))
1387
1415
  throw new Error(
1388
- `[MirageEngine] Invalid filter token: '${D}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1416
+ `[MirageEngine] Invalid filter token: '${R}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1389
1417
  );
1390
- if (v.has(X.VALUES.END))
1418
+ if (m.has(W.VALUES.END))
1391
1419
  return null;
1392
- if (v.has(X.VALUES.INCLUDE_TREE) && v.has(X.VALUES.EXCLUDE_TREE))
1420
+ if (m.has(W.VALUES.INCLUDE_TREE) && m.has(W.VALUES.EXCLUDE_TREE))
1393
1421
  throw new Error(
1394
1422
  "[MirageEngine] Conflicting filters: 'include-tree' and 'exclude-tree' cannot be used together on the same element."
1395
1423
  );
1396
- if (v.has(X.VALUES.INCLUDE_SELF) && v.has(X.VALUES.EXCLUDE_SELF))
1424
+ if (m.has(W.VALUES.INCLUDE_SELF) && m.has(W.VALUES.EXCLUDE_SELF))
1397
1425
  throw new Error(
1398
1426
  "[MirageEngine] Conflicting filters: 'include-self' and 'exclude-self' cannot be used together on the same element."
1399
1427
  );
1400
- v.has(X.VALUES.INCLUDE_TREE) ? d = d | H : v.has(X.VALUES.EXCLUDE_TREE) && (d = d & ~H), h = d, v.has(X.VALUES.INCLUDE_SELF) ? h = h | H : v.has(X.VALUES.EXCLUDE_SELF) && (h = h & ~H);
1428
+ m.has(W.VALUES.INCLUDE_TREE) ? d = d | $ : m.has(W.VALUES.EXCLUDE_TREE) && (d = d & ~$), h = d, m.has(W.VALUES.INCLUDE_SELF) ? h = h | $ : m.has(W.VALUES.EXCLUDE_SELF) && (h = h & ~$);
1401
1429
  }
1402
- const f = a.dataset[W.KEY];
1430
+ const f = a.dataset[G.KEY];
1403
1431
  if (f) {
1404
- const v = new Set(f.split(/\s+/));
1405
- for (const D of v)
1406
- if (!Ce.includes(D))
1432
+ const m = new Set(f.split(/\s+/));
1433
+ for (const R of m)
1434
+ if (!Te.includes(R))
1407
1435
  throw new Error(
1408
- `[MirageEngine] Invalid select token: '${D}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1436
+ `[MirageEngine] Invalid select token: '${R}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1409
1437
  );
1410
- if (v.has(W.VALUES.END))
1438
+ if (m.has(G.VALUES.END))
1411
1439
  return null;
1412
- if (v.has(W.VALUES.INCLUDE_TREE) && v.has(W.VALUES.EXCLUDE_TREE))
1440
+ if (m.has(G.VALUES.INCLUDE_TREE) && m.has(G.VALUES.EXCLUDE_TREE))
1413
1441
  throw new Error(
1414
1442
  "[MirageEngine] Conflicting selects: 'include-tree' and 'exclude-tree' cannot be used together on the same element."
1415
1443
  );
1416
- if (v.has(W.VALUES.INCLUDE_SELF) && v.has(W.VALUES.EXCLUDE_SELF))
1444
+ if (m.has(G.VALUES.INCLUDE_SELF) && m.has(G.VALUES.EXCLUDE_SELF))
1417
1445
  throw new Error(
1418
1446
  "[MirageEngine] Conflicting selects: 'include-self' and 'exclude-self' cannot be used together on the same element."
1419
1447
  );
1420
- v.has(W.VALUES.INCLUDE_TREE) ? d = d | K : v.has(W.VALUES.EXCLUDE_TREE) && (d = d & ~K), h = d, v.has(W.VALUES.INCLUDE_SELF) ? h = h | K : v.has(W.VALUES.EXCLUDE_SELF) && (h = h & ~K);
1448
+ m.has(G.VALUES.INCLUDE_TREE) ? d = d | te : m.has(G.VALUES.EXCLUDE_TREE) && (d = d & ~te), h = d, m.has(G.VALUES.INCLUDE_SELF) ? h = h | te : m.has(G.VALUES.EXCLUDE_SELF) && (h = h & ~te);
1421
1449
  }
1422
- const p = a.dataset[O.KEY];
1423
- let g = !1, m = o ? $({}, o) : {}, b = n;
1450
+ const p = a.dataset[_.KEY];
1451
+ let g = !1, v = o ? J({}, o) : {}, b = n;
1424
1452
  if (p) {
1425
- let v = 1;
1426
- const D = p.indexOf("{"), B = p.lastIndexOf("}");
1427
- let N = p;
1428
- if (D !== -1 && B !== -1 && B > D) {
1429
- N = p.substring(0, D).trim();
1430
- const A = p.substring(D, B + 1);
1453
+ let m = 1;
1454
+ const R = p.indexOf("{"), O = p.lastIndexOf("}");
1455
+ let V = p;
1456
+ if (R !== -1 && O !== -1 && O > R) {
1457
+ V = p.substring(0, R).trim();
1458
+ const D = p.substring(R, O + 1);
1431
1459
  try {
1432
- m = new Function("return " + A)();
1460
+ v = new Function("return " + D)();
1433
1461
  } catch (E) {
1434
1462
  console.warn(
1435
- `[MirageEngine] Failed to parse travel styles JSON: ${A}`
1463
+ `[MirageEngine] Failed to parse travel styles JSON: ${D}`
1436
1464
  );
1437
1465
  }
1438
1466
  }
1439
- const k = N.split(/\s+/);
1440
- let Y = !1;
1441
- const _ = k.indexOf(O.VALUES.TRAVELER);
1442
- if (_ !== -1) {
1443
- g = !0, Y = !0;
1444
- const A = k[_ + 1];
1445
- if (A && !isNaN(parseInt(A, 10)))
1446
- v = parseInt(A, 10);
1467
+ const k = V.split(/\s+/);
1468
+ let P = !1;
1469
+ const z = k.indexOf(_.VALUES.TRAVELER);
1470
+ if (z !== -1) {
1471
+ g = !0, P = !0;
1472
+ const D = k[z + 1];
1473
+ if (D && !isNaN(parseInt(D, 10)))
1474
+ m = parseInt(D, 10);
1447
1475
  else {
1448
- const E = k.find((j) => !isNaN(parseInt(j, 10)));
1449
- E && (v = parseInt(E, 10));
1476
+ const E = k.find((ee) => !isNaN(parseInt(ee, 10)));
1477
+ E && (m = parseInt(E, 10));
1450
1478
  }
1451
1479
  }
1452
- const P = k.indexOf(O.VALUES.NATIVE);
1453
- if (P !== -1) {
1454
- const A = k[P + 1];
1455
- if (A && !isNaN(parseInt(A, 10)))
1456
- b = parseInt(A, 10);
1480
+ const j = k.indexOf(_.VALUES.NATIVE);
1481
+ if (j !== -1) {
1482
+ const D = k[j + 1];
1483
+ if (D && !isNaN(parseInt(D, 10)))
1484
+ b = parseInt(D, 10);
1457
1485
  else if (!g) {
1458
- const E = k.find((j) => !isNaN(parseInt(j, 10)));
1486
+ const E = k.find((ee) => !isNaN(parseInt(ee, 10)));
1459
1487
  E && (b = parseInt(E, 10));
1460
1488
  }
1461
1489
  }
1462
- if (Y) {
1463
- const A = v + 1;
1464
- if (A < r)
1490
+ if (P) {
1491
+ const D = m + 1;
1492
+ if (D < r)
1465
1493
  throw new Error(
1466
- `[MirageEngine] Traveler layer (${v}) cannot be smaller than inherited capture layer (${r - 1}).`
1494
+ `[MirageEngine] Traveler layer (${m}) cannot be smaller than inherited capture layer (${r - 1}).`
1467
1495
  );
1468
- r = Math.min(A, O.MAX_LAYERS + 1);
1496
+ r = Math.min(D, _.MAX_LAYERS + 1);
1469
1497
  }
1470
1498
  }
1471
- const R = a.dataset[Ve.KEY];
1472
- let L;
1473
- R && (L = JSON.parse(R));
1474
- const T = a.getBoundingClientRect(), x = window.getComputedStyle(a);
1475
- if (T.width === 0 || T.height === 0 || x.display === "none")
1499
+ const L = a.dataset[Ve.KEY];
1500
+ let M;
1501
+ L && (M = JSON.parse(L));
1502
+ const S = a.getBoundingClientRect(), x = window.getComputedStyle(a);
1503
+ if (S.width === 0 || S.height === 0 || x.display === "none")
1476
1504
  return null;
1477
1505
  let C = a.getAttribute("data-mid");
1478
1506
  C || (C = Math.random().toString(36).substring(2, 11), a.setAttribute("data-mid", C));
1479
- const w = parseInt(x.zIndex), S = (isNaN(w) ? 0 : w) + i;
1480
- let M;
1507
+ const w = parseInt(x.zIndex), T = (isNaN(w) ? 0 : w) + i;
1508
+ let A;
1481
1509
  if (a.tagName === "IMG")
1482
- M = a.src;
1510
+ A = a.src;
1483
1511
  else if (a.tagName.toLowerCase() === "svg") {
1484
- const v = a.cloneNode(!0), D = m == null ? void 0 : m.color, B = m == null ? void 0 : m.fill, N = m == null ? void 0 : m.stroke, k = m == null ? void 0 : m.opacity, Y = (E, j) => {
1485
- const z = window.getComputedStyle(E), Q = j, Be = z.fill === z.color, Oe = z.stroke === z.color, se = B || (Be ? D : void 0) || z.fill;
1486
- se && se !== "none" && (Q.style.fill = se);
1487
- const ne = N || (Oe ? D : void 0) || z.stroke;
1488
- ne && ne !== "none" && (Q.style.stroke = ne), z.strokeWidth && z.strokeWidth !== "0px" && (Q.style.strokeWidth = z.strokeWidth);
1489
- const ve = D || z.color;
1490
- ve && (Q.style.color = ve);
1491
- const oe = k || z.opacity;
1492
- oe && oe !== "1" && (Q.style.opacity = oe);
1493
- for (let te = 0; te < E.children.length; te++)
1494
- Y(E.children[te], j.children[te]);
1512
+ const m = a.cloneNode(!0), R = v == null ? void 0 : v.color, O = v == null ? void 0 : v.fill, V = v == null ? void 0 : v.stroke, k = v == null ? void 0 : v.opacity, P = (E, ee) => {
1513
+ const Y = window.getComputedStyle(E), ae = ee, Be = Y.fill === Y.color, Oe = Y.stroke === Y.color, fe = O || (Be ? R : void 0) || Y.fill;
1514
+ fe && fe !== "none" && (ae.style.fill = fe);
1515
+ const ge = V || (Oe ? R : void 0) || Y.stroke;
1516
+ ge && ge !== "none" && (ae.style.stroke = ge), Y.strokeWidth && Y.strokeWidth !== "0px" && (ae.style.strokeWidth = Y.strokeWidth);
1517
+ const be = R || Y.color;
1518
+ be && (ae.style.color = be);
1519
+ const pe = k || Y.opacity;
1520
+ pe && pe !== "1" && (ae.style.opacity = pe);
1521
+ for (let he = 0; he < E.children.length; he++)
1522
+ P(E.children[he], ee.children[he]);
1495
1523
  };
1496
- Y(a, v);
1497
- const _ = a.getBoundingClientRect(), P = window.devicePixelRatio * c;
1498
- v.hasAttribute("viewBox") || v.setAttribute("viewBox", `0 0 ${_.width} ${_.height}`), v.setAttribute("width", (_.width * P).toString()), v.setAttribute("height", (_.height * P).toString());
1499
- let A = new XMLSerializer().serializeToString(v);
1500
- A.includes("xmlns=") || (A = A.replace(
1524
+ P(a, m);
1525
+ const z = a.getBoundingClientRect(), j = window.devicePixelRatio * c;
1526
+ m.hasAttribute("viewBox") || m.setAttribute("viewBox", `0 0 ${z.width} ${z.height}`), m.setAttribute("width", (z.width * j).toString()), m.setAttribute("height", (z.height * j).toString());
1527
+ let D = new XMLSerializer().serializeToString(m);
1528
+ D.includes("xmlns=") || (D = D.replace(
1501
1529
  "<svg",
1502
1530
  '<svg xmlns="http://www.w3.org/2000/svg"'
1503
- )), M = `data:image/svg+xml;utf8,${encodeURIComponent(A)}`;
1531
+ )), A = `data:image/svg+xml;utf8,${encodeURIComponent(D)}`;
1504
1532
  } else if (x.backgroundImage && x.backgroundImage !== "none") {
1505
- const v = x.backgroundImage.match(/url\(['"]?(.*?)['"]?\)/);
1506
- v && (M = v[1]);
1533
+ const m = x.backgroundImage.match(/url\(['"]?(.*?)['"]?\)/);
1534
+ m && (A = m[1]);
1507
1535
  }
1508
1536
  const I = {
1509
1537
  backgroundColor: x.backgroundColor,
1510
1538
  backgroundImage: x.backgroundImage,
1511
- opacity: a.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(x.opacity),
1512
- zIndex: S,
1539
+ opacity: a.dataset[K.KEY] === K.VALUES.HIDE ? 1 : parseFloat(x.opacity),
1540
+ zIndex: T,
1513
1541
  borderRadius: x.borderRadius,
1514
1542
  borderColor: x.borderColor,
1515
1543
  borderWidth: x.borderWidth,
1516
- imageSrc: M,
1544
+ imageSrc: A,
1517
1545
  isTraveler: g
1518
- }, F = I;
1519
- let Ie, Ue;
1520
- const he = [];
1521
- return a.tagName.toLowerCase() !== "svg" && Array.from(a.childNodes).forEach((v) => {
1522
- const D = v.nodeType === Node.TEXT_NODE ? h : d, B = ke(
1523
- v,
1546
+ }, q = I;
1547
+ let ie, se;
1548
+ const X = [];
1549
+ return a.tagName.toLowerCase() !== "svg" && Array.from(a.childNodes).forEach((m) => {
1550
+ const R = m.nodeType === Node.TEXT_NODE ? h : d, O = Ue(
1551
+ m,
1524
1552
  e,
1525
- D,
1553
+ R,
1526
1554
  r,
1527
- S,
1555
+ T,
1528
1556
  c,
1529
- v.nodeType === Node.TEXT_NODE ? b : void 0,
1530
- v.nodeType === Node.TEXT_NODE && Object.keys(m).length > 0 ? m : void 0
1557
+ m.nodeType === Node.TEXT_NODE ? b : void 0,
1558
+ m.nodeType === Node.TEXT_NODE && Object.keys(v).length > 0 ? v : void 0
1531
1559
  );
1532
- B && he.push(B);
1560
+ O && X.push(O);
1533
1561
  }), {
1534
1562
  id: C,
1535
1563
  type: "BOX",
1536
1564
  element: a,
1537
1565
  rect: {
1538
- x: T.left + window.scrollX,
1539
- y: T.top + window.scrollY,
1540
- width: T.width,
1541
- height: T.height
1566
+ x: S.left + window.scrollX,
1567
+ y: S.top + window.scrollY,
1568
+ width: S.width,
1569
+ height: S.height
1542
1570
  },
1543
- styles: F,
1544
- textContent: Ie,
1545
- textStyles: Ue,
1571
+ styles: q,
1572
+ textContent: ie,
1573
+ textStyles: se,
1546
1574
  dirtyMask: e,
1547
1575
  visibility: h,
1548
1576
  isTraveler: g,
1549
1577
  captureLayer: r,
1550
1578
  nativeLayer: b,
1551
- nativeStyles: b !== void 0 ? be($({}, I), {
1552
- backgroundColor: (de = m.backgroundColor) != null ? de : I.backgroundColor,
1553
- backgroundImage: (ue = m.backgroundImage) != null ? ue : I.backgroundImage,
1554
- opacity: (fe = m.opacity) != null ? fe : I.opacity,
1555
- zIndex: m.zIndex !== void 0 ? m.zIndex + S : I.zIndex,
1556
- borderRadius: (ge = m.borderRadius) != null ? ge : I.borderRadius,
1557
- borderColor: (pe = m.borderColor) != null ? pe : I.borderColor,
1558
- borderWidth: (me = m.borderWidth) != null ? me : I.borderWidth,
1579
+ nativeStyles: b !== void 0 ? xe(J({}, I), {
1580
+ backgroundColor: (N = v.backgroundColor) != null ? N : I.backgroundColor,
1581
+ backgroundImage: (Z = v.backgroundImage) != null ? Z : I.backgroundImage,
1582
+ opacity: (ne = v.opacity) != null ? ne : I.opacity,
1583
+ zIndex: v.zIndex !== void 0 ? v.zIndex + T : I.zIndex,
1584
+ borderRadius: (oe = v.borderRadius) != null ? oe : I.borderRadius,
1585
+ borderColor: (B = v.borderColor) != null ? B : I.borderColor,
1586
+ borderWidth: (F = v.borderWidth) != null ? F : I.borderWidth,
1559
1587
  isTraveler: I.isTraveler,
1560
- transform: m.transform
1588
+ transform: v.transform
1561
1589
  }) : void 0,
1562
1590
  nativeRect: b !== void 0 ? {
1563
- x: m.x !== void 0 ? parseFloat(m.x) : T.left + window.scrollX,
1564
- y: m.y !== void 0 ? parseFloat(m.y) : T.top + window.scrollY,
1565
- width: m.width !== void 0 ? parseFloat(m.width) : T.width,
1566
- height: m.height !== void 0 ? parseFloat(m.height) : T.height
1591
+ x: v.x !== void 0 ? parseFloat(v.x) : S.left + window.scrollX,
1592
+ y: v.y !== void 0 ? parseFloat(v.y) : S.top + window.scrollY,
1593
+ width: v.width !== void 0 ? parseFloat(v.width) : S.width,
1594
+ height: v.height !== void 0 ? parseFloat(v.height) : S.height
1567
1595
  } : void 0,
1568
1596
  isFixed: x.position === "fixed",
1569
- children: he,
1570
- shaderHooks: L
1597
+ children: X,
1598
+ shaderHooks: M
1571
1599
  };
1572
1600
  }
1573
1601
  function st(s, e) {
1574
1602
  e.size !== 0 && e.forEach((t, r) => {
1575
1603
  var c, n, o, a;
1576
1604
  const i = s.get(r);
1577
- !i || !i.userData.basePosition || (V.forceUpdateUniforms(i.material, {
1605
+ !i || !i.userData.basePosition || (H.forceUpdateUniforms(i.material, {
1578
1606
  backgroundColor: t.backgroundColor,
1579
1607
  backgroundImage: t.backgroundImage,
1580
1608
  opacity: t.opacity,
1581
1609
  borderRadius: (n = t.borderRadius) != null ? n : (c = i.userData.baseStyles) == null ? void 0 : c.borderRadius
1582
1610
  // width and height are no longer updated here, they are updated in syncMeshesByDOM
1583
- }), i.userData.nativeMesh && V.forceUpdateUniforms(i.userData.nativeMesh.material, {
1611
+ }), i.userData.nativeMesh && H.forceUpdateUniforms(i.userData.nativeMesh.material, {
1584
1612
  backgroundColor: t.backgroundColor,
1585
1613
  backgroundImage: t.backgroundImage,
1586
1614
  opacity: t.opacity,
@@ -1595,14 +1623,14 @@ class nt {
1595
1623
  u(this, "registry");
1596
1624
  u(this, "isTravelEnabled", !1);
1597
1625
  u(this, "tracker");
1598
- this.target = e, this.renderer = t, this.registry = r, this.tracker = new Me(e, {
1626
+ this.target = e, this.renderer = t, this.registry = r, this.tracker = new De(e, {
1599
1627
  resizeDebounce: i.resizeDebounce
1600
1628
  }), this.tracker.onLayoutChange.add((c, n) => {
1601
- document.querySelector(`[${O.NAME}~='${O.VALUES.TRAVELER}']`) !== null && !this.isTravelEnabled && (this.isTravelEnabled = !0, this.renderer.createRenderTarget());
1602
- const a = ke(
1629
+ document.querySelector(`[${_.NAME}~='${_.VALUES.TRAVELER}']`) !== null && !this.isTravelEnabled && (this.isTravelEnabled = !0, this.renderer.createRenderTarget());
1630
+ const a = Ue(
1603
1631
  this.target,
1604
1632
  c,
1605
- H,
1633
+ $,
1606
1634
  1,
1607
1635
  0,
1608
1636
  this.renderer.qualityFactor
@@ -1656,7 +1684,7 @@ class at {
1656
1684
  if (this.target = e, this.registry = new ot(), !document.getElementById("mirage-engine-styles")) {
1657
1685
  const o = document.createElement("style");
1658
1686
  o.id = "mirage-engine-styles", o.textContent = `
1659
- [${G.NAME}="${G.VALUES.HIDE}"] {
1687
+ [${K.NAME}="${K.VALUES.HIDE}"] {
1660
1688
  opacity: 0 !important;
1661
1689
  }
1662
1690
  `, document.head.appendChild(o);
@@ -1721,7 +1749,7 @@ class ct {
1721
1749
  u(this, "midLayer", null);
1722
1750
  u(this, "frontLayer", null);
1723
1751
  u(this, "tracker", null);
1724
- this.frontSelector = e.frontSelector || ".front", this.midLayerElement = e.midLayerElement || null, this.items = [], this.isInitialized = !1, this.tracker = new Me(document.body, e.trackerConfig || { resizeDebounce: !0 });
1752
+ this.frontSelector = e.frontSelector || ".front", this.midLayerElement = e.midLayerElement || null, this.items = [], this.isInitialized = !1, this.tracker = new De(document.body, e.trackerConfig || { resizeDebounce: !0 });
1725
1753
  }
1726
1754
  init() {
1727
1755
  var e;
@@ -1792,7 +1820,7 @@ class ht {
1792
1820
  if (this._engine = new at(e, t), t.sandwich !== !1) {
1793
1821
  const r = typeof t.sandwich == "object" ? t.sandwich : {};
1794
1822
  this._sandwich = new ct({
1795
- frontSelector: r.frontSelector || `[${Ee.NAME}='${Ee.VALUES.FRONT}']`
1823
+ frontSelector: r.frontSelector || `[${Se.NAME}='${Se.VALUES.FRONT}']`
1796
1824
  }), this._sandwich.useTracker(this._engine.getTracker());
1797
1825
  }
1798
1826
  }