mirage-engine 0.3.8 → 0.3.10

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.
@@ -12,20 +12,20 @@ var ae = (s, e, t) => e in s ? _e(s, e, { enumerable: !0, configurable: !0, writ
12
12
  }, be = (s, e) => Fe(s, Ne(e));
13
13
  var u = (s, e, t) => (ae(s, typeof e != "symbol" ? e + "" : e, t), t);
14
14
  var we = (s, e, t) => new Promise((r, i) => {
15
- var o = (c) => {
15
+ var c = (a) => {
16
16
  try {
17
- a(t.next(c));
17
+ o(t.next(a));
18
18
  } catch (l) {
19
19
  i(l);
20
20
  }
21
- }, n = (c) => {
21
+ }, n = (a) => {
22
22
  try {
23
- a(t.throw(c));
23
+ o(t.throw(a));
24
24
  } catch (l) {
25
25
  i(l);
26
26
  }
27
- }, a = (c) => c.done ? r(c.value) : Promise.resolve(c.value).then(o, n);
28
- a((t = t.apply(s, e)).next());
27
+ }, o = (a) => a.done ? r(a.value) : Promise.resolve(a.value).then(c, n);
28
+ o((t = t.apply(s, e)).next());
29
29
  });
30
30
  import * as y from "three";
31
31
  const Le = {
@@ -34,7 +34,7 @@ const Le = {
34
34
  INCLUDE_SELF: "include-self",
35
35
  EXCLUDE_SELF: "exclude-self",
36
36
  END: "end"
37
- }, P = {
37
+ }, G = {
38
38
  NAME: "data-mirage-dom",
39
39
  KEY: "mirageDom",
40
40
  VALUES: {
@@ -54,16 +54,16 @@ const Le = {
54
54
  CAPTURE_8: "8",
55
55
  CAPTURE_9: "9",
56
56
  CAPTURE_10: "10"
57
- }, U = {
57
+ }, O = {
58
58
  NAME: "data-mirage-travel",
59
59
  KEY: "mirageTravel",
60
60
  VALUES: xe,
61
61
  MAX_LAYERS: Object.keys(xe).length - 1
62
- }, N = {
62
+ }, X = {
63
63
  NAME: "data-mirage-filter",
64
64
  KEY: "mirageFilter",
65
65
  VALUES: Le
66
- }, Y = {
66
+ }, W = {
67
67
  NAME: "data-mirage-select",
68
68
  KEY: "mirageSelect",
69
69
  VALUES: Le
@@ -142,32 +142,32 @@ class Me {
142
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
- var i, o;
145
+ var i, c;
146
146
  this.target = e;
147
147
  const r = (i = t.resizeDebounce) != null ? i : !0;
148
148
  r === !1 ? this.resizeConfig = { enabled: !1, delay: 0 } : r === !0 ? this.resizeConfig = { enabled: !0, delay: 150 } : this.resizeConfig = {
149
149
  enabled: !0,
150
- delay: (o = r.delay) != null ? o : 150,
150
+ delay: (c = r.delay) != null ? c : 150,
151
151
  onStart: r.onStart,
152
152
  onEnd: r.onEnd
153
153
  }, this.observer = new MutationObserver((n) => {
154
- let a = re;
155
- for (const c of n)
156
- if (c.type === "childList")
157
- a |= ie, c.removedNodes.length > 0 && c.removedNodes.forEach((l) => {
154
+ let o = re;
155
+ for (const a of n)
156
+ if (a.type === "childList")
157
+ o |= ie, a.removedNodes.length > 0 && a.removedNodes.forEach((l) => {
158
158
  l instanceof HTMLElement && this.pendingDeletions.add(l);
159
159
  });
160
- else if (c.type === "attributes")
161
- if (c.attributeName === "style") {
162
- a |= q | Z;
163
- const l = c.target, d = He(l.style);
160
+ else if (a.type === "attributes")
161
+ if (a.attributeName === "style") {
162
+ o |= q | Z;
163
+ const l = a.target, d = He(l.style);
164
164
  this.pendingStyles.set(l, d);
165
165
  } else
166
- c.attributeName === "class" ? a |= q | Z : c.attributeName && c.attributeName.startsWith("data-") && (a |= q | Z, c.attributeName.startsWith("data-mirage") && (a |= ie));
166
+ a.attributeName === "class" ? o |= q | Z : a.attributeName && a.attributeName.startsWith("data-") && (o |= q | Z, a.attributeName.startsWith("data-mirage") && (o |= ie));
167
167
  else
168
- c.type === "characterData" && (a |= ce | q);
169
- if (a !== re) {
170
- if (this.pendingMask |= a, a & ie) {
168
+ a.type === "characterData" && (o |= ce | q);
169
+ if (o !== re) {
170
+ if (this.pendingMask |= o, o & ie) {
171
171
  this.clearTimers(), this.isDomDirty = !0;
172
172
  return;
173
173
  }
@@ -192,12 +192,12 @@ 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 W = 1, K = 2, D = {
195
+ const H = 1, K = 2, U = {
196
196
  BASE: 0,
197
197
  SELECTED: 1,
198
198
  getCaptureLayer: (s) => 31 - s,
199
199
  HIDDEN: 31
200
- }, Ce = Object.values(N.VALUES);
200
+ }, Ce = Object.values(X.VALUES);
201
201
  class Ae {
202
202
  /**
203
203
  * Calculates or retrieves the exact alphabetic baseline (in pixels) for the given font.
@@ -215,13 +215,13 @@ class Ae {
215
215
  return 0;
216
216
  const t = document.createElement("div"), r = document.createElement("span"), i = document.createElement("img");
217
217
  t.style.visibility = "hidden", t.style.position = "absolute", t.style.top = "0px", t.style.left = "0px", t.style.font = e, t.style.margin = "0", t.style.padding = "0", t.style.border = "none", r.style.margin = "0", r.style.padding = "0", r.style.border = "none", r.style.lineHeight = "normal", i.width = 1, i.height = 1, i.style.verticalAlign = "baseline", r.appendChild(document.createTextNode("Hidden Text")), t.appendChild(r), t.appendChild(i), document.body.appendChild(t);
218
- const o = i.offsetTop - r.offsetTop;
219
- return document.body.removeChild(t), o;
218
+ const c = i.offsetTop - r.offsetTop;
219
+ return document.body.removeChild(t), c;
220
220
  }
221
221
  }
222
222
  u(Ae, "cache", /* @__PURE__ */ new Map());
223
223
  class Pe extends y.MeshBasicMaterial {
224
- constructor(t, r, i, o, n = 2) {
224
+ constructor(t, r, i, c, n = 2) {
225
225
  super({
226
226
  transparent: !0,
227
227
  side: y.FrontSide,
@@ -232,34 +232,34 @@ class Pe extends y.MeshBasicMaterial {
232
232
  u(this, "qualityFactor");
233
233
  if (this.canvas = document.createElement("canvas"), this.ctx = this.canvas.getContext("2d"), !this.ctx)
234
234
  throw new Error("[Mirage] Failed to create canvas context");
235
- this.qualityFactor = n, this.map = new y.CanvasTexture(this.canvas), this.map.colorSpace = y.LinearSRGBColorSpace, this.map.minFilter = y.LinearFilter, this.map.magFilter = y.LinearFilter, this.updateText(t, r, i, o);
235
+ this.qualityFactor = n, this.map = new y.CanvasTexture(this.canvas), this.map.colorSpace = y.LinearSRGBColorSpace, this.map.minFilter = y.LinearFilter, this.map.magFilter = y.LinearFilter, this.updateText(t, r, i, c);
236
236
  }
237
237
  wrapText(t, r) {
238
238
  const i = t.split(`
239
- `), o = [];
239
+ `), c = [];
240
240
  return i.forEach((n) => {
241
- const a = n.match(/[^\s\-]+\-?|\-|\s+/g) || [];
242
- if (a.length === 0) {
243
- o.push("");
241
+ const o = n.match(/[^\s\-]+\-?|\-|\s+/g) || [];
242
+ if (o.length === 0) {
243
+ c.push("");
244
244
  return;
245
245
  }
246
- let c = a[0];
247
- for (let l = 1; l < a.length; l++) {
248
- const d = a[l];
249
- this.ctx.measureText(c + d).width <= r + 2 ? c += d : (c && o.push(c), c = d.trimStart());
246
+ let a = o[0];
247
+ for (let l = 1; l < o.length; l++) {
248
+ const d = o[l];
249
+ this.ctx.measureText(a + d).width <= r + 2 ? a += d : (a && c.push(a), a = d.trimStart());
250
250
  }
251
- c && o.push(c);
252
- }), o;
251
+ a && c.push(a);
252
+ }), c;
253
253
  }
254
- updateText(t, r, i, o, n) {
254
+ updateText(t, r, i, c, n) {
255
255
  n !== void 0 && (this.qualityFactor = n);
256
- const c = (window.devicePixelRatio || 1) * this.qualityFactor, l = i * c, d = o * c;
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(c, 0, 0, c, 0, 0), this.ctx.font = r.font, this.ctx.fillStyle = r.color, this.ctx.textBaseline = "alphabetic", this.ctx.globalAlpha = 1;
256
+ const a = (window.devicePixelRatio || 1) * this.qualityFactor, l = i * a, d = c * a;
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
258
  const h = this.wrapText(t, i), f = r.lineHeight, p = Ae.getBaseline(r.font);
259
- h.forEach((g, v) => {
260
- const x = v * f + p;
261
- let M = 0;
262
- r.textAlign === "center" ? M = i / 2 : r.textAlign === "right" && (M = i), this.ctx.textAlign = r.textAlign, this.ctx.fillText(g, M, x);
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);
263
263
  }), this.map && (this.map.needsUpdate = !0);
264
264
  }
265
265
  dispose() {
@@ -279,8 +279,8 @@ function ee(s) {
279
279
  /rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?\)/
280
280
  );
281
281
  if (e) {
282
- const t = parseInt(e[1], 10), r = parseInt(e[2], 10), i = parseInt(e[3], 10), o = e[4] !== void 0 ? parseFloat(e[4]) : 1;
283
- return { color: new y.Color(`rgb(${t}, ${r}, ${i})`), alpha: o };
282
+ const t = parseInt(e[1], 10), r = parseInt(e[2], 10), i = parseInt(e[3], 10), c = e[4] !== void 0 ? parseFloat(e[4]) : 1;
283
+ return { color: new y.Color(`rgb(${t}, ${r}, ${i})`), alpha: c };
284
284
  }
285
285
  return { color: new y.Color(s), alpha: 1 };
286
286
  }
@@ -288,16 +288,16 @@ function Ge(s) {
288
288
  const e = [];
289
289
  let t = "", r = 0;
290
290
  for (let i = 0; i < s.length; i++) {
291
- const o = s[i];
292
- if (o === "(")
291
+ const c = s[i];
292
+ if (c === "(")
293
293
  r++;
294
- else if (o === ")")
294
+ else if (c === ")")
295
295
  r--;
296
- else if (o === "," && r === 0) {
296
+ else if (c === "," && r === 0) {
297
297
  e.push(t.trim()), t = "";
298
298
  continue;
299
299
  }
300
- t += o;
300
+ t += c;
301
301
  }
302
302
  return t && e.push(t.trim()), e;
303
303
  }
@@ -308,47 +308,47 @@ function $e(s) {
308
308
  if (!e)
309
309
  return null;
310
310
  const t = e[1], r = Ge(t);
311
- let i = Math.PI, o = 0;
311
+ let i = Math.PI, c = 0;
312
312
  const n = r[0].trim();
313
313
  if (n.startsWith("to "))
314
- n === "to top" ? i = 0 : n === "to right" ? i = Math.PI / 2 : n === "to bottom" ? i = Math.PI : n === "to left" ? i = Math.PI * 1.5 : n === "to top right" || n === "to right top" ? i = Math.PI / 4 : n === "to bottom right" || n === "to right bottom" ? i = Math.PI * 0.75 : n === "to bottom left" || n === "to left bottom" ? i = Math.PI * 1.25 : (n === "to top left" || n === "to left top") && (i = Math.PI * 1.75), o = 1;
314
+ n === "to top" ? i = 0 : n === "to right" ? i = Math.PI / 2 : n === "to bottom" ? i = Math.PI : n === "to left" ? i = Math.PI * 1.5 : n === "to top right" || n === "to right top" ? i = Math.PI / 4 : n === "to bottom right" || n === "to right bottom" ? i = Math.PI * 0.75 : n === "to bottom left" || n === "to left bottom" ? i = Math.PI * 1.25 : (n === "to top left" || n === "to left top") && (i = Math.PI * 1.75), c = 1;
315
315
  else if (n.endsWith("deg") || n.endsWith("rad") || n.endsWith("turn")) {
316
- const c = parseFloat(n);
317
- n.endsWith("deg") ? i = c * (Math.PI / 180) : n.endsWith("rad") ? i = c : n.endsWith("turn") && (i = c * Math.PI * 2), o = 1;
316
+ const a = parseFloat(n);
317
+ n.endsWith("deg") ? i = a * (Math.PI / 180) : n.endsWith("rad") ? i = a : n.endsWith("turn") && (i = a * Math.PI * 2), c = 1;
318
318
  }
319
- const a = [];
320
- for (let c = o; c < r.length && !(a.length >= 8); c++) {
321
- const l = r[c].trim(), d = l.lastIndexOf(" ");
319
+ const o = [];
320
+ for (let a = c; a < r.length && !(o.length >= 8); a++) {
321
+ const l = r[a].trim(), d = l.lastIndexOf(" ");
322
322
  let h = l, f = null;
323
323
  if (d !== -1 && !l.endsWith(")")) {
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
327
  const p = ee(h);
328
- a.push({
328
+ o.push({
329
329
  color: p.color,
330
330
  alpha: p.alpha,
331
331
  rawStop: f,
332
332
  stop: 0
333
333
  });
334
334
  }
335
- if (a.length > 0) {
336
- for (let l = 0; l < a.length; l++)
337
- a[l].rawStop !== null && (a[l].stop = parseFloat(a[l].rawStop) / 100);
338
- a[0].rawStop === null && (a[0].stop = 0), a.length > 1 && a[a.length - 1].rawStop === null && (a[a.length - 1].stop = 1);
339
- let c = 0;
340
- for (let l = 1; l < a.length; l++)
341
- if (a[l].rawStop !== null || l === a.length - 1) {
342
- const d = l - c;
335
+ if (o.length > 0) {
336
+ for (let l = 0; l < o.length; l++)
337
+ o[l].rawStop !== null && (o[l].stop = parseFloat(o[l].rawStop) / 100);
338
+ o[0].rawStop === null && (o[0].stop = 0), o.length > 1 && o[o.length - 1].rawStop === null && (o[o.length - 1].stop = 1);
339
+ let a = 0;
340
+ for (let l = 1; l < o.length; l++)
341
+ if (o[l].rawStop !== null || l === o.length - 1) {
342
+ const d = l - a;
343
343
  if (d > 1) {
344
- const h = a[c].stop, p = (a[l].stop - h) / d;
344
+ const h = o[a].stop, p = (o[l].stop - h) / d;
345
345
  for (let g = 1; g < d; g++)
346
- a[c + g].stop = h + p * g;
346
+ o[a + g].stop = h + p * g;
347
347
  }
348
- c = l;
348
+ a = l;
349
349
  }
350
350
  }
351
- return { angle: i, stops: a };
351
+ return { angle: i, stops: o };
352
352
  }
353
353
  const qe = `varying vec2 vUv;
354
354
  varying vec4 vScreenPos;
@@ -512,43 +512,43 @@ baseColor = blendSrcOver(baseColor, texColor);`, Te = {
512
512
  baseColorChunk: Qe
513
513
  };
514
514
  function Ze(s, e, t, r = null, i) {
515
- var E;
516
- const o = r !== null || !!s.imageSrc;
515
+ var x;
516
+ const c = r !== null || !!s.imageSrc;
517
517
  let n = "";
518
- const a = {};
518
+ const o = {};
519
519
  if (i != null && i.uniforms)
520
- for (const [C, b] of Object.entries(i.uniforms))
521
- typeof b == "number" ? (n += `uniform float ${C};
522
- `, a[C] = { value: b }) : Array.isArray(b) ? b.length === 2 ? (n += `uniform vec2 ${C};
523
- `, a[C] = { value: new y.Vector2(...b) }) : b.length === 3 ? (n += `uniform vec3 ${C};
524
- `, a[C] = { value: new y.Vector3(...b) }) : b.length === 4 && (n += `uniform vec4 ${C};
525
- `, a[C] = { value: new y.Vector4(...b) }) : (n += `uniform float ${C};
526
- `, a[C] = { value: b });
527
- const c = i !== void 0, l = (o || c ? Se.declChunk : "") + `
520
+ for (const [C, w] of Object.entries(i.uniforms))
521
+ typeof w == "number" ? (n += `uniform float ${C};
522
+ `, o[C] = { value: w }) : Array.isArray(w) ? w.length === 2 ? (n += `uniform vec2 ${C};
523
+ `, o[C] = { value: new y.Vector2(...w) }) : w.length === 3 ? (n += `uniform vec3 ${C};
524
+ `, o[C] = { value: new y.Vector3(...w) }) : w.length === 4 && (n += `uniform vec4 ${C};
525
+ `, o[C] = { value: new y.Vector4(...w) }) : (n += `uniform float ${C};
526
+ `, o[C] = { value: w });
527
+ const a = i !== void 0, l = (c || a ? Se.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 = o || c ? d + h + ((i == null ? void 0 : i.uvModifier) || "") : "", p = o || c ? Se.baseColorChunk : "", g = (i == null ? void 0 : i.colorModifier) || "", v = Te.fragmentShader.replace("#INJECT_DECLARATIONS", l).replace("#INJECT_UV_MODIFIER", f).replace("#INJECT_BASE_COLOR", p).replace("#INJECT_COLOR_MODIFIER", g), x = ee(s.backgroundColor), M = ee(s.borderColor), A = {
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 = {
532
532
  uSize: { value: new y.Vector2(e, t) },
533
533
  uBgColor: {
534
534
  value: new y.Vector4(
535
- x.color.r,
536
- x.color.g,
537
- x.color.b,
538
- x.alpha
535
+ b.color.r,
536
+ b.color.g,
537
+ b.color.b,
538
+ b.alpha
539
539
  )
540
540
  },
541
541
  uBorderColor: {
542
542
  value: new y.Vector4(
543
- M.color.r,
544
- M.color.g,
545
- M.color.b,
546
- M.alpha
543
+ R.color.r,
544
+ R.color.g,
545
+ R.color.b,
546
+ R.alpha
547
547
  )
548
548
  },
549
549
  uBorderRadius: { value: new y.Vector4(0, 0, 0, 0) },
550
550
  uBorderWidth: { value: J(s.borderWidth) },
551
- uOpacity: { value: (E = s.opacity) != null ? E : 1 },
551
+ uOpacity: { value: (x = s.opacity) != null ? x : 1 },
552
552
  uTexture: { value: null },
553
553
  uTextureRepeat: { value: new y.Vector2(1, 1) },
554
554
  uTextureOffset: { value: new y.Vector2(0, 0) },
@@ -559,24 +559,24 @@ function Ze(s, e, t, r = null, i) {
559
559
  },
560
560
  uGradientStops: { value: new Float32Array(8) }
561
561
  };
562
- De(A.uBorderRadius.value, s.borderRadius, Math.min(e, t)), o && (A.uTexture.value = r);
563
- const S = new y.ShaderMaterial({
564
- uniforms: $($({}, A), a),
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
565
  vertexShader: Te.vertexShader,
566
- fragmentShader: v,
566
+ fragmentShader: m,
567
567
  transparent: !0,
568
568
  side: y.FrontSide
569
569
  // for better performance
570
570
  });
571
- return s.backgroundImage && le(S, { backgroundImage: s.backgroundImage }), S;
571
+ return s.backgroundImage && le(T, { backgroundImage: s.backgroundImage }), T;
572
572
  }
573
573
  function et(s, e, t, r, i) {
574
- const o = J(e.borderWidth);
574
+ const c = J(e.borderWidth);
575
575
  le(s, {
576
576
  width: t,
577
577
  height: r,
578
578
  borderRadius: e.borderRadius,
579
- borderWidth: o,
579
+ borderWidth: c,
580
580
  backgroundColor: e.backgroundColor,
581
581
  borderColor: e.borderColor,
582
582
  opacity: e.opacity,
@@ -585,7 +585,7 @@ function et(s, e, t, r, i) {
585
585
  });
586
586
  }
587
587
  function le(s, e) {
588
- var r, i, o;
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
591
  De(s.uniforms.uBorderRadius.value, e.borderRadius, n);
@@ -645,9 +645,9 @@ function le(s, e) {
645
645
  e.opacity !== void 0 && (s.uniforms.uOpacity.value = e.opacity), e.bgOpacity !== void 0 && (s.uniforms.uBgColor.value.w = e.bgOpacity), e.borderOpacity !== void 0 && (s.uniforms.uBorderColor.value.w = e.borderOpacity), s.uniforms.uTexture && e.texture !== void 0 && (s.uniforms.uTexture.value = e.texture);
646
646
  const t = e.texture !== void 0 ? e.texture : (r = s.uniforms.uTexture) == null ? void 0 : r.value;
647
647
  if (t && (t.image instanceof ImageBitmap || t.image instanceof HTMLImageElement || t.image instanceof HTMLCanvasElement)) {
648
- const n = t.image.naturalWidth || t.image.videoWidth || t.image.width, a = t.image.naturalHeight || t.image.videoHeight || t.image.height, c = (i = e.width) != null ? i : s.uniforms.uSize.value.x, l = (o = e.height) != null ? o : s.uniforms.uSize.value.y;
649
- if (n && a && c && l) {
650
- const d = n / a, h = c / l;
648
+ const n = t.image.naturalWidth || t.image.videoWidth || t.image.width, o = t.image.naturalHeight || t.image.videoHeight || t.image.height, a = (i = e.width) != null ? i : s.uniforms.uSize.value.x, l = (c = e.height) != null ? c : s.uniforms.uSize.value.y;
649
+ if (n && o && a && l) {
650
+ const d = n / o, h = a / l;
651
651
  if (d > h) {
652
652
  const f = h / d;
653
653
  s.uniforms.uTextureRepeat.value.set(f, 1), s.uniforms.uTextureOffset.value.set((1 - f) / 2, 0);
@@ -662,17 +662,17 @@ function le(s, e) {
662
662
  const n = $e(e.backgroundImage);
663
663
  if (n) {
664
664
  s.uniforms.uGradientCount.value = n.stops.length, s.uniforms.uGradientAngle.value = n.angle;
665
- for (let a = 0; a < 8; a++)
666
- if (a < n.stops.length) {
667
- const c = n.stops[a];
668
- s.uniforms.uGradientColors.value[a].set(
669
- c.color.r,
670
- c.color.g,
671
- c.color.b,
672
- c.alpha
673
- ), s.uniforms.uGradientStops.value[a] = c.stop;
665
+ for (let o = 0; o < 8; o++)
666
+ if (o < n.stops.length) {
667
+ const a = n.stops[o];
668
+ s.uniforms.uGradientColors.value[o].set(
669
+ a.color.r,
670
+ a.color.g,
671
+ a.color.b,
672
+ a.alpha
673
+ ), s.uniforms.uGradientStops.value[o] = a.stop;
674
674
  } else
675
- s.uniforms.uGradientColors.value[a].set(0, 0, 0, 0), s.uniforms.uGradientStops.value[a] = 1;
675
+ s.uniforms.uGradientColors.value[o].set(0, 0, 0, 0), s.uniforms.uGradientStops.value[o] = 1;
676
676
  } else
677
677
  s.uniforms.uGradientCount.value = 0;
678
678
  }
@@ -680,7 +680,7 @@ function le(s, 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
682
  function De(s, e, t = 0) {
683
- var c, l, d, h;
683
+ var a, l, d, h;
684
684
  if (e == null) {
685
685
  s.set(0, 0, 0, 0);
686
686
  return;
@@ -693,37 +693,37 @@ 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), o = J((c = r[1]) != null ? c : r[0], t), n = J((l = r[2]) != null ? l : r[0], t), a = J((h = (d = r[3]) != null ? d : r[1]) != null ? h : r[0], t);
697
- s.set(i, o, n, a);
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);
697
+ s.set(i, c, n, o);
698
698
  }
699
- const z = {
700
- create(s, e, t, r, i, o = 2, n = null, a) {
699
+ const V = {
700
+ create(s, e, t, r, i, c = 2, n = null, o) {
701
701
  return s === "BOX" ? Ze(
702
702
  e,
703
703
  r,
704
704
  i,
705
705
  n,
706
- a
706
+ o
707
707
  ) : s === "TEXT" ? new Pe(
708
708
  t || "",
709
709
  e,
710
710
  r,
711
711
  i,
712
- o
712
+ c
713
713
  ) : new y.MeshBasicMaterial({ visible: !1 });
714
714
  },
715
- update(s, e, t, r, i, o, n = 2, a) {
715
+ update(s, e, t, r, i, c, n = 2, o) {
716
716
  e === "BOX" ? et(
717
717
  s,
718
718
  t,
719
719
  i,
720
- o,
721
- a
720
+ c,
721
+ o
722
722
  ) : e === "TEXT" && s.updateText(
723
723
  r || "",
724
724
  t,
725
725
  i,
726
- o,
726
+ c,
727
727
  n
728
728
  );
729
729
  },
@@ -741,8 +741,8 @@ class tt {
741
741
  this.onUpdate = e, t && (this.observer = new IntersectionObserver(
742
742
  (r) => {
743
743
  for (const i of r) {
744
- const o = i.target;
745
- i.isIntersecting ? this.loadTexture(o) : this.disposeTexture(o);
744
+ const c = i.target;
745
+ i.isIntersecting ? this.loadTexture(c) : this.disposeTexture(c);
746
746
  }
747
747
  },
748
748
  { rootMargin: "300px" }
@@ -766,9 +766,9 @@ class tt {
766
766
  try {
767
767
  let r;
768
768
  if (t.startsWith("data:image/svg+xml"))
769
- r = yield new Promise((o, n) => {
770
- const a = new Image();
771
- a.onload = () => o(a), a.onerror = n, a.src = t;
769
+ r = yield new Promise((c, n) => {
770
+ const o = new Image();
771
+ o.onload = () => c(o), o.onerror = n, o.src = t;
772
772
  });
773
773
  else {
774
774
  const n = yield (yield fetch(t)).blob();
@@ -818,21 +818,21 @@ class rt {
818
818
  u(this, "registry");
819
819
  u(this, "targetRect");
820
820
  u(this, "travelersByLayer", Array.from(
821
- { length: U.MAX_LAYERS },
821
+ { length: O.MAX_LAYERS },
822
822
  () => /* @__PURE__ */ new Set()
823
823
  ));
824
824
  u(this, "textureManager");
825
825
  // private meshMap: Map<HTMLElement, THREE.Mesh> = new Map();
826
826
  u(this, "fixedMeshes", /* @__PURE__ */ new Set());
827
- var a, c, l, d, h;
828
- this.target = e, this.mountContainer = r, this.registry = i, this.mode = (a = t.mode) != null ? a : "overlay", this.canvasSize = (c = t.canvasSize) != null ? c : "viewport", this.clipArea = (l = t.travelerClipArea) != null ? l : 1, this.targetLayer = (d = t.layer) != null ? d : "base", this.textureManager = new tt((f, p) => {
827
+ var o, a, l, d, h;
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 && z.forceUpdateUniforms(g.material, { texture: p });
830
+ g && g.material instanceof y.ShaderMaterial && V.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
- const o = this.isViewport ? window.innerWidth + this.overscan * 2 : this.targetRect.width, n = this.isViewport ? window.innerHeight + this.overscan * 2 : this.targetRect.height;
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(
834
- o / -2,
835
- o / 2,
834
+ c / -2,
835
+ c / 2,
836
836
  n / 2,
837
837
  n / -2,
838
838
  1,
@@ -843,16 +843,16 @@ class rt {
843
843
  antialias: !0
844
844
  // [new]
845
845
  // premultipliedAlpha: true
846
- }), y.ColorManagement.enabled = !1, this.renderer.outputColorSpace = y.LinearSRGBColorSpace, this.renderer.setPixelRatio(window.devicePixelRatio), this.renderer.setSize(o, n), this.applyTextQuality((h = t.quality) != null ? h : "medium");
846
+ }), y.ColorManagement.enabled = !1, this.renderer.outputColorSpace = y.LinearSRGBColorSpace, this.renderer.setPixelRatio(window.devicePixelRatio), this.renderer.setSize(c, n), this.applyTextQuality((h = t.quality) != null ? h : "medium");
847
847
  }
848
848
  get isViewport() {
849
849
  return this.mode === "overlay" && this.canvasSize === "viewport";
850
850
  }
851
851
  getSceneLayer() {
852
- return typeof this.targetLayer == "number" ? this.targetLayer : this.targetLayer === "selected" ? D.SELECTED : D.BASE;
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 < U.MAX_LAYERS; e++) {
855
+ for (let e = 0; e < O.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 && z.forceUpdateUniforms(
902
+ i.isMesh && i.material && V.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 && z.forceUpdateUniforms(
907
+ i.isMesh && i.material && V.forceUpdateUniforms(
908
908
  i.material,
909
909
  t
910
910
  );
@@ -920,8 +920,8 @@ class rt {
920
920
  this.camera.left = e / -2, this.camera.right = e / 2, this.camera.top = t / 2, this.camera.bottom = t / -2, this.camera.updateProjectionMatrix();
921
921
  }
922
922
  syncScene(e, t) {
923
- const r = this.target.getBoundingClientRect(), i = this.isViewport ? window.innerWidth + this.overscan * 2 : r.width, o = this.isViewport ? window.innerHeight + this.overscan * 2 : r.height, n = this.isViewport ? this.canvas.clientWidth : this.targetRect.width, a = this.isViewport ? this.canvas.clientHeight : this.targetRect.height, c = Math.abs(i - n) > 0.1 || Math.abs(o - a) > 0.1, l = this.mode === "overlay" && (Math.abs(r.top - this.targetRect.top) > 0.1 || Math.abs(r.left - this.targetRect.left) > 0.1);
924
- c ? (this.targetRect = r, this.setSize(i, o), this.updateCanvasLayout()) : l ? (this.targetRect = r, this.updateCanvasLayout()) : this.targetRect = r, this.renderOrder = 0, this.reconcileNode(e), t.size > 0 && t.forEach((d) => {
923
+ const r = this.target.getBoundingClientRect(), i = this.isViewport ? window.innerWidth + this.overscan * 2 : r.width, c = this.isViewport ? window.innerHeight + this.overscan * 2 : r.height, n = this.isViewport ? this.canvas.clientWidth : this.targetRect.width, o = this.isViewport ? this.canvas.clientHeight : this.targetRect.height, a = Math.abs(i - n) > 0.1 || Math.abs(c - o) > 0.1, l = this.mode === "overlay" && (Math.abs(r.top - this.targetRect.top) > 0.1 || Math.abs(r.left - this.targetRect.left) > 0.1);
924
+ a ? (this.targetRect = r, this.setSize(i, c), this.updateCanvasLayout()) : l ? (this.targetRect = r, this.updateCanvasLayout()) : this.targetRect = r, this.renderOrder = 0, this.reconcileNode(e), t.size > 0 && t.forEach((d) => {
925
925
  const h = this.registry.get(d);
926
926
  if (h) {
927
927
  this.scene.remove(h);
@@ -940,31 +940,31 @@ class rt {
940
940
  // => 이후 activeElements를 이용하여 mesh를 정리!!!+ map에서도 삭제
941
941
  // private reconcileNode(node: SceneNode, activeElements: Set<HTMLElement>) {
942
942
  reconcileNode(e) {
943
- var i;
943
+ var i, c;
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 o = new y.PlaneGeometry(1, 1), n = e.isTraveler ? (i = this.renderTargets[e.captureLayer - 2]) == null ? void 0 : i.texture : this.textureManager.get(e.element), a = z.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 = V.create(
948
948
  "BOX",
949
949
  e.styles,
950
950
  "",
951
951
  e.rect.width,
952
952
  e.rect.height,
953
953
  this.qualityFactor,
954
- n,
954
+ o,
955
955
  e.shaderHooks
956
956
  );
957
- t = new y.Mesh(o, 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;
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
- if (this.updateMeshProperties(t, e), this.updateMeshLayers(t, e), e.isTraveler)
960
- for (let o = 0; o < U.MAX_LAYERS; o++)
961
- o === e.captureLayer - 2 ? this.travelersByLayer[o].add(t) : this.travelersByLayer[o].delete(t);
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++)
961
+ n === e.captureLayer - 2 ? this.travelersByLayer[n].add(t) : this.travelersByLayer[n].delete(t);
962
962
  else
963
- for (const o of this.travelersByLayer)
964
- o.delete(t);
963
+ for (const n of this.travelersByLayer)
964
+ n.delete(t);
965
965
  if (e.isFixed ? this.fixedMeshes.add(t) : this.fixedMeshes.delete(t), e.styles.imageSrc ? this.textureManager.register(e.element, e.styles.imageSrc) : this.textureManager.unregister(e.element), e.type === "BOX")
966
- for (const o of e.children)
967
- this.reconcileNode(o);
966
+ for (const n of e.children)
967
+ this.reconcileNode(n);
968
968
  else
969
969
  e.type === "TEXT" && (this.reconcileTextChild(t, e, !1), t.userData.nativeMesh && e.nativeStyles && this.reconcileTextChild(
970
970
  t.userData.nativeMesh,
@@ -976,85 +976,85 @@ class rt {
976
976
  var l;
977
977
  const i = t.textLines || [
978
978
  { text: t.textContent || "", rect: t.rect }
979
- ], o = r ? t.nativeStyles : t.textStyles, n = JSON.stringify(o) + t.textContent + i.map((d) => d.text).join("|"), a = (l = e.userData) == null ? void 0 : l.textChildStyleHash;
980
- if (t.dirtyMask & ce || n !== a) {
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) {
981
981
  e.children.filter(
982
982
  (g) => g.name.startsWith("TEXT_CHILD")
983
983
  ).forEach((g) => {
984
- var x;
985
- const v = g;
986
- (x = v.material.map) == null || x.dispose(), v.geometry.dispose(), e.remove(v);
984
+ var b;
985
+ const m = g;
986
+ (b = m.material.map) == null || b.dispose(), m.geometry.dispose(), e.remove(m);
987
987
  });
988
988
  const h = t.rect, f = h.x + h.width / 2, p = h.y + h.height / 2;
989
- i.forEach((g, v) => {
990
- const x = z.create(
989
+ i.forEach((g, m) => {
990
+ const b = V.create(
991
991
  "TEXT",
992
- o,
992
+ c,
993
993
  g.text,
994
994
  g.rect.width,
995
995
  g.rect.height,
996
996
  this.qualityFactor
997
- ), M = new y.PlaneGeometry(1, 1), A = new y.Mesh(M, x);
998
- A.name = `TEXT_CHILD_${v}`;
999
- const S = t.rect.width === 0 ? 1 : g.rect.width / t.rect.width, E = t.rect.height === 0 ? 1 : g.rect.height / t.rect.height;
1000
- A.scale.set(S, E, 1);
1001
- const C = g.rect.x + g.rect.width / 2, b = g.rect.y + g.rect.height / 2, O = C - f, X = -(b - p);
1002
- A.position.set(
1003
- t.rect.width === 0 ? 0 : O / t.rect.width,
1004
- t.rect.height === 0 ? 0 : X / t.rect.height,
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,
1005
1005
  5e-3
1006
- ), e.add(A);
1006
+ ), e.add(L);
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 & W ? D.BASE : D.HIDDEN;
1013
- if (h.layers.set(f), t.visibility & K && h.layers.enable(D.SELECTED), t.visibility & W)
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)
1014
1014
  if (!r && t.nativeLayer !== void 0 && t.nativeStyles !== void 0)
1015
1015
  for (let p = t.captureLayer; p < t.nativeLayer; p++)
1016
- h.layers.enable(D.getCaptureLayer(p));
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 <= U.MAX_LAYERS + 1; p++)
1019
- h.layers.enable(D.getCaptureLayer(p));
1018
+ for (let p = Math.max(t.captureLayer, t.nativeLayer); p <= O.MAX_LAYERS + 1; p++)
1019
+ h.layers.enable(U.getCaptureLayer(p));
1020
1020
  else
1021
- for (let p = t.captureLayer; p <= U.MAX_LAYERS + 1; p++)
1022
- h.layers.enable(D.getCaptureLayer(p));
1021
+ for (let p = t.captureLayer; p <= O.MAX_LAYERS + 1; p++)
1022
+ h.layers.enable(U.getCaptureLayer(p));
1023
1023
  });
1024
1024
  }
1025
1025
  updateMeshProperties(e, t) {
1026
- var S, E, C;
1027
- const { rect: r, styles: i } = t, o = this.renderer.getPixelRatio(), n = this.renderer.domElement.width / o, a = this.renderer.domElement.height / o;
1026
+ var T, x, C;
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,
1030
1030
  y: r.y,
1031
1031
  width: r.width,
1032
1032
  height: r.height
1033
1033
  };
1034
- const c = 1e-3;
1034
+ const a = 1e-3;
1035
1035
  this.renderOrder++;
1036
1036
  const l = this.targetRect.left + window.scrollX, d = this.targetRect.top + window.scrollY;
1037
1037
  let h, f;
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 b = r.x - l, O = r.y - d;
1042
- h = b - n / 2 + r.width / 2, f = -O + a / 2 - r.height / 2;
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;
1043
1043
  }
1044
1044
  e.position.set(
1045
1045
  h,
1046
1046
  f,
1047
- i.zIndex + this.renderOrder * c
1047
+ i.zIndex + this.renderOrder * a
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 v = t.element.nodeType === Node.TEXT_NODE ? t.element.parentElement : t.element, x = window.getComputedStyle(v);
1052
- let M = 0, A = 0;
1053
- if (x.transform && x.transform !== "none") {
1054
- const b = new DOMMatrix(x.transform);
1055
- M = b.m41, A = b.m42;
1051
+ const m = t.element.nodeType === Node.TEXT_NODE ? t.element.parentElement : t.element, b = window.getComputedStyle(m);
1052
+ let R = 0, L = 0;
1053
+ if (b.transform && b.transform !== "none") {
1054
+ const w = new DOMMatrix(b.transform);
1055
+ R = w.m41, L = w.m42;
1056
1056
  }
1057
- if (e.userData.baseTransform = { x: M, y: A }, delete e.userData.originRatioX, delete e.userData.originRatioY, z.update(
1057
+ if (e.userData.baseTransform = { x: R, y: L }, delete e.userData.originRatioX, delete e.userData.originRatioY, V.update(
1058
1058
  e.userData.baseMaterial,
1059
1059
  "BOX",
1060
1060
  i,
@@ -1062,35 +1062,35 @@ class rt {
1062
1062
  r.width,
1063
1063
  r.height,
1064
1064
  this.qualityFactor,
1065
- t.isTraveler ? (S = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : S.texture : this.textureManager.get(t.element)
1065
+ t.isTraveler ? (T = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : T.texture : this.textureManager.get(t.element)
1066
1066
  ), t.nativeStyles && t.nativeRect) {
1067
1067
  if (!e.userData.nativeMesh) {
1068
- const I = z.create(
1068
+ const I = V.create(
1069
1069
  "BOX",
1070
1070
  t.nativeStyles,
1071
1071
  "",
1072
1072
  t.nativeRect.width,
1073
1073
  t.nativeRect.height,
1074
1074
  this.qualityFactor,
1075
- t.isTraveler ? (E = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : E.texture : this.textureManager.get(t.element),
1075
+ t.isTraveler ? (x = this.renderTargets[t.captureLayer - 2]) == null ? void 0 : x.texture : this.textureManager.get(t.element),
1076
1076
  t.shaderHooks
1077
- ), G = new y.Mesh(e.geometry, I);
1078
- t.type === "TEXT" && (G.name = "BG_MESH"), this.scene.add(G), e.userData.nativeMesh = G;
1077
+ ), F = new y.Mesh(e.geometry, I);
1078
+ t.type === "TEXT" && (F.name = "BG_MESH"), this.scene.add(F), e.userData.nativeMesh = F;
1079
1079
  }
1080
- const b = e.userData.nativeMesh;
1081
- let O, X;
1080
+ const w = e.userData.nativeMesh;
1081
+ let S, M;
1082
1082
  if (this.isViewport)
1083
- O = t.nativeRect.x - window.innerWidth / 2 + t.nativeRect.width / 2, X = -t.nativeRect.y + window.innerHeight / 2 - t.nativeRect.height / 2;
1083
+ S = t.nativeRect.x - window.innerWidth / 2 + t.nativeRect.width / 2, M = -t.nativeRect.y + window.innerHeight / 2 - t.nativeRect.height / 2;
1084
1084
  else {
1085
- const I = t.nativeRect.x - l, G = t.nativeRect.y - d;
1086
- O = I - n / 2 + t.nativeRect.width / 2, X = -G + a / 2 - t.nativeRect.height / 2;
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;
1087
1087
  }
1088
- b.scale.set(t.nativeRect.width, t.nativeRect.height, 1), b.position.set(
1089
- O,
1090
- X,
1091
- t.nativeStyles.zIndex + this.renderOrder * c
1092
- ), z.update(
1093
- b.material,
1088
+ w.scale.set(t.nativeRect.width, t.nativeRect.height, 1), w.position.set(
1089
+ S,
1090
+ M,
1091
+ t.nativeStyles.zIndex + this.renderOrder * a
1092
+ ), V.update(
1093
+ w.material,
1094
1094
  "BOX",
1095
1095
  t.nativeStyles,
1096
1096
  "",
@@ -1103,64 +1103,64 @@ class rt {
1103
1103
  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
1104
  }
1105
1105
  updateMeshLayers(e, t) {
1106
- const r = t.visibility & W ? D.BASE : D.HIDDEN;
1107
- if (e.layers.set(r), t.visibility & K && e.layers.enable(D.SELECTED), e.userData.nativeMesh && t.nativeLayer !== void 0) {
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) {
1108
1108
  const i = e.userData.nativeMesh;
1109
- if (i.layers.set(D.HIDDEN), t.visibility & W) {
1110
- for (let o = t.captureLayer; o < t.nativeLayer; o++)
1111
- e.layers.enable(D.getCaptureLayer(o));
1112
- for (let o = Math.max(t.captureLayer, t.nativeLayer); o <= U.MAX_LAYERS + 1; o++)
1113
- i.layers.enable(D.getCaptureLayer(o));
1109
+ if (i.layers.set(U.HIDDEN), t.visibility & H) {
1110
+ for (let c = t.captureLayer; c < t.nativeLayer; c++)
1111
+ e.layers.enable(U.getCaptureLayer(c));
1112
+ for (let c = Math.max(t.captureLayer, t.nativeLayer); c <= O.MAX_LAYERS + 1; c++)
1113
+ i.layers.enable(U.getCaptureLayer(c));
1114
1114
  }
1115
- } else if (t.visibility & W)
1116
- for (let i = t.captureLayer; i <= U.MAX_LAYERS + 1; i++)
1117
- e.layers.enable(D.getCaptureLayer(i));
1115
+ } else if (t.visibility & H)
1116
+ for (let i = t.captureLayer; i <= O.MAX_LAYERS + 1; i++)
1117
+ e.layers.enable(U.getCaptureLayer(i));
1118
1118
  }
1119
1119
  captureRenderTarget(e, t, r) {
1120
1120
  if (e.size === 0 || !r)
1121
1121
  return;
1122
- const i = new y.Color(), o = this.renderer.getClearAlpha();
1122
+ const i = new y.Color(), c = this.renderer.getClearAlpha();
1123
1123
  this.renderer.getClearColor(i), this.renderer.setClearColor(0, 0), this.renderer.setRenderTarget(r), this.renderer.clear(), this.renderer.autoClear = !1, this.renderer.setScissorTest(!0), this.camera.layers.set(t);
1124
- const n = new y.Vector3(), a = this.isViewport ? window.innerWidth + this.overscan * 2 : this.targetRect.width, c = this.isViewport ? window.innerHeight + this.overscan * 2 : this.targetRect.height, l = this.renderer.getPixelRatio();
1124
+ const n = new y.Vector3(), o = this.isViewport ? window.innerWidth + this.overscan * 2 : this.targetRect.width, a = this.isViewport ? window.innerHeight + this.overscan * 2 : this.targetRect.height, l = this.renderer.getPixelRatio();
1125
1125
  for (const d of e) {
1126
1126
  n.setFromMatrixPosition(d.matrixWorld), n.project(this.camera);
1127
- const h = (n.x + 1) / 2 * a, f = (n.y + 1) / 2 * c;
1127
+ const h = (n.x + 1) / 2 * o, f = (n.y + 1) / 2 * a;
1128
1128
  let p = 0, g = 1;
1129
1129
  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 v = d.scale.x * g + 0.5, x = d.scale.y * g + 0.5, M = h - v / 2, A = f - x / 2, S = (M * this.qualityFactor - p) / l, E = (A * this.qualityFactor - p) / l, C = (v * this.qualityFactor + p * 2) / l, b = (x * this.qualityFactor + p * 2) / l;
1131
- this.renderer.setScissor(S, E, C, b), this.renderer.render(this.scene, this.camera);
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);
1132
1132
  }
1133
- this.renderer.setScissorTest(!1), this.renderer.autoClear = !0, this.renderer.setRenderTarget(null), this.camera.layers.set(this.getSceneLayer()), this.renderer.setClearColor(i, o);
1133
+ this.renderer.setScissorTest(!1), this.renderer.autoClear = !0, this.renderer.setRenderTarget(null), this.camera.layers.set(this.getSceneLayer()), this.renderer.setClearColor(i, c);
1134
1134
  }
1135
1135
  render() {
1136
- for (let e = 0; e < U.MAX_LAYERS; e++) {
1136
+ for (let e = 0; e < O.MAX_LAYERS; e++) {
1137
1137
  const t = e + 1;
1138
1138
  this.captureRenderTarget(
1139
1139
  this.travelersByLayer[e],
1140
- D.getCaptureLayer(t),
1140
+ U.getCaptureLayer(t),
1141
1141
  this.renderTargets[e]
1142
1142
  );
1143
1143
  }
1144
1144
  this.renderer.render(this.scene, this.camera);
1145
1145
  }
1146
1146
  syncMeshesByDOM() {
1147
- const e = this.targetRect.left + window.scrollX, t = this.targetRect.top + window.scrollY, r = this.renderer.getPixelRatio(), i = this.renderer.domElement.width / r, o = this.renderer.domElement.height / r;
1147
+ const e = this.targetRect.left + window.scrollX, t = this.targetRect.top + window.scrollY, r = this.renderer.getPixelRatio(), i = this.renderer.domElement.width / r, c = this.renderer.domElement.height / r;
1148
1148
  this.scene.children.forEach((n) => {
1149
- const a = n;
1150
- if (!a.userData || !a.userData.domElement)
1149
+ const o = n;
1150
+ if (!o.userData || !o.userData.domElement)
1151
1151
  return;
1152
- const c = a.userData.domElement;
1153
- if (!c.isConnected)
1152
+ const a = o.userData.domElement;
1153
+ if (!a.isConnected)
1154
1154
  return;
1155
1155
  let l;
1156
- if (c.nodeType === Node.TEXT_NODE) {
1156
+ if (a.nodeType === Node.TEXT_NODE) {
1157
1157
  const h = document.createRange();
1158
- h.selectNode(c), l = h.getBoundingClientRect();
1158
+ h.selectNode(a), l = h.getBoundingClientRect();
1159
1159
  } else
1160
- l = c.getBoundingClientRect();
1161
- const d = a.userData.domRect;
1160
+ l = a.getBoundingClientRect();
1161
+ const d = o.userData.domRect;
1162
1162
  if (!d || Math.abs(l.x - d.x) > 0.5 || Math.abs(l.y - d.y) > 0.5 || Math.abs(l.width - d.width) > 0.5 || Math.abs(l.height - d.height) > 0.5) {
1163
- a.userData.domRect = {
1163
+ o.userData.domRect = {
1164
1164
  x: l.x,
1165
1165
  y: l.y,
1166
1166
  width: l.width,
@@ -1171,14 +1171,42 @@ class rt {
1171
1171
  h = l.x - window.innerWidth / 2 + l.width / 2, f = -l.y + window.innerHeight / 2 - l.height / 2;
1172
1172
  else {
1173
1173
  const p = l.x - e, g = l.y - t;
1174
- h = p - i / 2 + l.width / 2, f = -g + o / 2 - l.height / 2;
1174
+ h = p - i / 2 + l.width / 2, f = -g + c / 2 - l.height / 2;
1175
1175
  }
1176
- if (a.position.setX(h), a.position.setY(f), a.scale.set(l.width, l.height, 1), a.updateMatrixWorld(), a.material instanceof y.ShaderMaterial && z.forceUpdateUniforms(a.material, {
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, {
1177
1177
  width: l.width,
1178
1178
  height: l.height
1179
- }), a.userData.nativeMesh) {
1180
- const p = a.userData.nativeMesh;
1181
- p.position.setX(h), p.position.setY(f), p.scale.set(l.width, l.height, 1), p.updateMatrixWorld();
1179
+ }), o.userData.nativeMesh) {
1180
+ const p = o.userData.nativeMesh;
1181
+ let g = l.width, m = l.height, b = h, R = f;
1182
+ 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;
1187
+ }
1188
+ const x = L.match(/translate\(([^,]+),\s*([^)]+)\)/);
1189
+ 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;
1195
+ }
1196
+ const C = L.match(/translateX\(([^)]+)\)/);
1197
+ if (C) {
1198
+ const S = C[1].trim();
1199
+ let M = parseFloat(S);
1200
+ S.includes("%") && (M = M / 100 * l.width), b += M;
1201
+ }
1202
+ const w = L.match(/translateY\(([^)]+)\)/);
1203
+ if (w) {
1204
+ const S = w[1].trim();
1205
+ let M = parseFloat(S);
1206
+ S.includes("%") && (M = M / 100 * l.height), R -= M;
1207
+ }
1208
+ }
1209
+ p.position.setX(b), p.position.setY(R), p.scale.set(g, m, 1), p.updateMatrixWorld();
1182
1210
  }
1183
1211
  }
1184
1212
  });
@@ -1186,7 +1214,7 @@ class rt {
1186
1214
  }
1187
1215
  function it(s) {
1188
1216
  const e = s.textContent || "", t = [];
1189
- let r = "", i = null, o = -1;
1217
+ let r = "", i = null, c = -1;
1190
1218
  const n = (l, d) => {
1191
1219
  for (let h = 0; h < l.length; h++) {
1192
1220
  const f = l[h], p = document.createRange();
@@ -1196,7 +1224,7 @@ function it(s) {
1196
1224
  r += f;
1197
1225
  continue;
1198
1226
  }
1199
- o === -1 || Math.abs(g.top - o) > g.height / 2 ? (r && i && t.push({
1227
+ c === -1 || Math.abs(g.top - c) > g.height / 2 ? (r && i && t.push({
1200
1228
  text: r,
1201
1229
  rect: {
1202
1230
  left: i.left,
@@ -1209,26 +1237,26 @@ function it(s) {
1209
1237
  top: g.top,
1210
1238
  right: g.right,
1211
1239
  bottom: g.bottom
1212
- }, o = g.top) : (r += f, i && (i.left = Math.min(i.left, g.left), i.top = Math.min(i.top, g.top), i.right = Math.max(i.right, g.right), i.bottom = Math.max(
1240
+ }, c = g.top) : (r += f, i && (i.left = Math.min(i.left, g.left), i.top = Math.min(i.top, g.top), i.right = Math.max(i.right, g.right), i.bottom = Math.max(
1213
1241
  i.bottom,
1214
1242
  g.bottom
1215
1243
  )));
1216
1244
  }
1217
- }, a = e.match(/[^\s\-]+\-?|\-|\s+/g) || [];
1218
- let c = 0;
1219
- for (const l of a) {
1245
+ }, o = e.match(/[^\s\-]+\-?|\-|\s+/g) || [];
1246
+ let a = 0;
1247
+ for (const l of o) {
1220
1248
  const d = document.createRange();
1221
- d.setStart(s, c), d.setEnd(s, c + l.length);
1249
+ d.setStart(s, a), d.setEnd(s, a + l.length);
1222
1250
  const h = d.getClientRects();
1223
1251
  if (h.length > 1)
1224
- n(l, c);
1252
+ n(l, a);
1225
1253
  else {
1226
1254
  const f = h.length === 1 ? h[0] : d.getBoundingClientRect();
1227
1255
  if (f.width === 0 && f.height === 0) {
1228
- r += l, c += l.length;
1256
+ r += l, a += l.length;
1229
1257
  continue;
1230
1258
  }
1231
- o === -1 || Math.abs(f.top - o) > f.height / 2 ? (r && i && t.push({
1259
+ c === -1 || Math.abs(f.top - c) > f.height / 2 ? (r && i && t.push({
1232
1260
  text: r,
1233
1261
  rect: {
1234
1262
  left: i.left,
@@ -1241,12 +1269,12 @@ function it(s) {
1241
1269
  top: f.top,
1242
1270
  right: f.right,
1243
1271
  bottom: f.bottom
1244
- }, o = f.top) : (r += l, i && (i.left = Math.min(i.left, f.left), i.top = Math.min(i.top, f.top), i.right = Math.max(i.right, f.right), i.bottom = Math.max(
1272
+ }, c = f.top) : (r += l, i && (i.left = Math.min(i.left, f.left), i.top = Math.min(i.top, f.top), i.right = Math.max(i.right, f.right), i.bottom = Math.max(
1245
1273
  i.bottom,
1246
1274
  f.bottom
1247
1275
  )));
1248
1276
  }
1249
- c += l.length;
1277
+ a += l.length;
1250
1278
  }
1251
1279
  return r && i && t.push({
1252
1280
  text: r,
@@ -1276,286 +1304,287 @@ function Re(s) {
1276
1304
  letterSpacing: r
1277
1305
  };
1278
1306
  }
1279
- function ke(s, e = q | Z | Ye | ce | ie, t, r = 1, i = 0, o = 2, n, a) {
1307
+ function ke(s, e = q | Z | Ye | ce | ie, t, r = 1, i = 0, c = 2, n, o) {
1280
1308
  var de, ue, fe, ge, pe, me;
1281
1309
  if (s.nodeType === Node.TEXT_NODE) {
1282
- const m = s;
1283
- if (!m.textContent || !m.textContent.trim())
1310
+ const v = s;
1311
+ if (!v.textContent || !v.textContent.trim())
1284
1312
  return null;
1285
- const R = m.textContent.replace(/\s+/g, " ");
1286
- if (R.length === 0)
1313
+ const D = v.textContent.replace(/\s+/g, " ");
1314
+ if (D.length === 0)
1287
1315
  return null;
1288
- const k = it(m);
1289
- if (k.length === 0)
1316
+ const B = it(v);
1317
+ if (B.length === 0)
1290
1318
  return null;
1291
- const _ = m.parentElement, L = _ ? window.getComputedStyle(_) : null;
1292
- if (!L)
1319
+ const N = v.parentElement, k = N ? window.getComputedStyle(N) : null;
1320
+ if (!k)
1293
1321
  return null;
1294
- const V = Math.min(...k.map((w) => w.rect.left)), B = Math.min(...k.map((w) => w.rect.top)), H = Math.max(...k.map((w) => w.rect.left + w.rect.width)), T = Math.max(...k.map((w) => w.rect.top + w.rect.height));
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));
1295
1323
  return {
1296
1324
  id: Math.random().toString(36).substring(2, 9),
1297
1325
  type: "TEXT",
1298
- element: m,
1326
+ element: v,
1299
1327
  rect: {
1300
- x: V + window.scrollX,
1301
- y: B + window.scrollY,
1302
- width: H - V,
1303
- height: T - B
1328
+ x: Y + window.scrollX,
1329
+ y: _ + window.scrollY,
1330
+ width: P - Y,
1331
+ height: A - _
1304
1332
  },
1305
1333
  styles: {
1306
1334
  backgroundColor: "transparent",
1307
1335
  backgroundImage: "",
1308
- opacity: _ && _.dataset[P.KEY] === P.VALUES.HIDE ? 1 : parseFloat(L.opacity),
1309
- zIndex: (isNaN(parseInt(L.zIndex)) ? 0 : parseInt(L.zIndex)) + i,
1336
+ opacity: N && N.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1337
+ zIndex: (isNaN(parseInt(k.zIndex)) ? 0 : parseInt(k.zIndex)) + i,
1310
1338
  borderRadius: "0px",
1311
1339
  borderColor: "transparent",
1312
1340
  borderWidth: "0px",
1313
1341
  isTraveler: !1
1314
1342
  },
1315
- textContent: R,
1316
- textLines: k.map((w) => ({
1317
- text: w.text.trim(),
1343
+ textContent: D,
1344
+ textLines: B.map((E) => ({
1345
+ text: E.text.trim(),
1318
1346
  rect: {
1319
- x: w.rect.left + window.scrollX,
1320
- y: w.rect.top + window.scrollY,
1321
- width: w.rect.width,
1322
- height: w.rect.height
1347
+ x: E.rect.left + window.scrollX,
1348
+ y: E.rect.top + window.scrollY,
1349
+ width: E.rect.width,
1350
+ height: E.rect.height
1323
1351
  }
1324
1352
  })),
1325
- textStyles: Re(L),
1353
+ textStyles: Re(k),
1326
1354
  dirtyMask: e,
1327
1355
  visibility: t,
1328
1356
  isTraveler: !1,
1329
1357
  captureLayer: r,
1330
- isFixed: L.position === "fixed",
1358
+ isFixed: k.position === "fixed",
1331
1359
  nativeLayer: n,
1332
- nativeStyles: a ? $($({
1360
+ nativeStyles: o ? $($({
1333
1361
  backgroundColor: "transparent",
1334
1362
  backgroundImage: "",
1335
- opacity: _ && _.dataset[P.KEY] === P.VALUES.HIDE ? 1 : parseFloat(L.opacity),
1336
- zIndex: (isNaN(parseInt(L.zIndex)) ? 0 : parseInt(L.zIndex)) + i,
1363
+ opacity: N && N.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(k.opacity),
1364
+ zIndex: (isNaN(parseInt(k.zIndex)) ? 0 : parseInt(k.zIndex)) + i,
1337
1365
  borderRadius: "0px",
1338
1366
  borderColor: "transparent",
1339
1367
  borderWidth: "0px",
1340
1368
  isTraveler: !1
1341
- }, Re(L)), a) : void 0,
1342
- nativeRect: a ? {
1343
- x: V + window.scrollX,
1344
- y: B + window.scrollY,
1345
- width: H - V,
1346
- height: T - B
1369
+ }, Re(k)), o) : void 0,
1370
+ nativeRect: o ? {
1371
+ x: Y + window.scrollX,
1372
+ y: _ + window.scrollY,
1373
+ width: P - Y,
1374
+ height: A - _
1347
1375
  } : void 0,
1348
1376
  children: []
1349
1377
  };
1350
1378
  }
1351
1379
  if (s.nodeType !== Node.ELEMENT_NODE)
1352
1380
  return null;
1353
- const c = s, l = c.dataset[N.KEY];
1381
+ const a = s, l = a.dataset[X.KEY];
1354
1382
  let d = t, h = t;
1355
1383
  if (l) {
1356
- const m = new Set(l.split(/\s+/));
1357
- for (const R of m)
1358
- if (!Ce.includes(R))
1384
+ const v = new Set(l.split(/\s+/));
1385
+ for (const D of v)
1386
+ if (!Ce.includes(D))
1359
1387
  throw new Error(
1360
- `[MirageEngine] Invalid filter token: '${R}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1388
+ `[MirageEngine] Invalid filter token: '${D}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1361
1389
  );
1362
- if (m.has(N.VALUES.END))
1390
+ if (v.has(X.VALUES.END))
1363
1391
  return null;
1364
- if (m.has(N.VALUES.INCLUDE_TREE) && m.has(N.VALUES.EXCLUDE_TREE))
1392
+ if (v.has(X.VALUES.INCLUDE_TREE) && v.has(X.VALUES.EXCLUDE_TREE))
1365
1393
  throw new Error(
1366
1394
  "[MirageEngine] Conflicting filters: 'include-tree' and 'exclude-tree' cannot be used together on the same element."
1367
1395
  );
1368
- if (m.has(N.VALUES.INCLUDE_SELF) && m.has(N.VALUES.EXCLUDE_SELF))
1396
+ if (v.has(X.VALUES.INCLUDE_SELF) && v.has(X.VALUES.EXCLUDE_SELF))
1369
1397
  throw new Error(
1370
1398
  "[MirageEngine] Conflicting filters: 'include-self' and 'exclude-self' cannot be used together on the same element."
1371
1399
  );
1372
- m.has(N.VALUES.INCLUDE_TREE) ? d = d | W : m.has(N.VALUES.EXCLUDE_TREE) && (d = d & ~W), h = d, m.has(N.VALUES.INCLUDE_SELF) ? h = h | W : m.has(N.VALUES.EXCLUDE_SELF) && (h = h & ~W);
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);
1373
1401
  }
1374
- const f = c.dataset[Y.KEY];
1402
+ const f = a.dataset[W.KEY];
1375
1403
  if (f) {
1376
- const m = new Set(f.split(/\s+/));
1377
- for (const R of m)
1378
- if (!Ce.includes(R))
1404
+ const v = new Set(f.split(/\s+/));
1405
+ for (const D of v)
1406
+ if (!Ce.includes(D))
1379
1407
  throw new Error(
1380
- `[MirageEngine] Invalid select token: '${R}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1408
+ `[MirageEngine] Invalid select token: '${D}'. Expected one of: 'include-tree', 'exclude-tree', 'include-self', 'exclude-self', 'end'.`
1381
1409
  );
1382
- if (m.has(Y.VALUES.END))
1410
+ if (v.has(W.VALUES.END))
1383
1411
  return null;
1384
- if (m.has(Y.VALUES.INCLUDE_TREE) && m.has(Y.VALUES.EXCLUDE_TREE))
1412
+ if (v.has(W.VALUES.INCLUDE_TREE) && v.has(W.VALUES.EXCLUDE_TREE))
1385
1413
  throw new Error(
1386
1414
  "[MirageEngine] Conflicting selects: 'include-tree' and 'exclude-tree' cannot be used together on the same element."
1387
1415
  );
1388
- if (m.has(Y.VALUES.INCLUDE_SELF) && m.has(Y.VALUES.EXCLUDE_SELF))
1416
+ if (v.has(W.VALUES.INCLUDE_SELF) && v.has(W.VALUES.EXCLUDE_SELF))
1389
1417
  throw new Error(
1390
1418
  "[MirageEngine] Conflicting selects: 'include-self' and 'exclude-self' cannot be used together on the same element."
1391
1419
  );
1392
- m.has(Y.VALUES.INCLUDE_TREE) ? d = d | K : m.has(Y.VALUES.EXCLUDE_TREE) && (d = d & ~K), h = d, m.has(Y.VALUES.INCLUDE_SELF) ? h = h | K : m.has(Y.VALUES.EXCLUDE_SELF) && (h = h & ~K);
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);
1393
1421
  }
1394
- const p = c.dataset[U.KEY];
1395
- let g = !1, v = a ? $({}, a) : {}, x = n;
1422
+ const p = a.dataset[O.KEY];
1423
+ let g = !1, m = o ? $({}, o) : {}, b = n;
1396
1424
  if (p) {
1397
- let m = 1;
1398
- const R = p.indexOf("{"), k = p.lastIndexOf("}");
1399
- let _ = p;
1400
- if (R !== -1 && k !== -1 && k > R) {
1401
- _ = p.substring(0, R).trim();
1402
- const T = p.substring(R, k + 1);
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);
1403
1431
  try {
1404
- v = new Function("return " + T)();
1405
- } catch (w) {
1432
+ m = new Function("return " + A)();
1433
+ } catch (E) {
1406
1434
  console.warn(
1407
- `[MirageEngine] Failed to parse travel styles JSON: ${T}`
1435
+ `[MirageEngine] Failed to parse travel styles JSON: ${A}`
1408
1436
  );
1409
1437
  }
1410
1438
  }
1411
- const L = _.split(/\s+/);
1412
- let V = !1;
1413
- const B = L.indexOf(U.VALUES.TRAVELER);
1414
- if (B !== -1) {
1415
- g = !0, V = !0;
1416
- const T = L[B + 1];
1417
- if (T && !isNaN(parseInt(T, 10)))
1418
- m = parseInt(T, 10);
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);
1419
1447
  else {
1420
- const w = L.find((j) => !isNaN(parseInt(j, 10)));
1421
- w && (m = parseInt(w, 10));
1448
+ const E = k.find((j) => !isNaN(parseInt(j, 10)));
1449
+ E && (v = parseInt(E, 10));
1422
1450
  }
1423
1451
  }
1424
- const H = L.indexOf(U.VALUES.NATIVE);
1425
- if (H !== -1) {
1426
- const T = L[H + 1];
1427
- if (T && !isNaN(parseInt(T, 10)))
1428
- x = parseInt(T, 10);
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);
1429
1457
  else if (!g) {
1430
- const w = L.find((j) => !isNaN(parseInt(j, 10)));
1431
- w && (x = parseInt(w, 10));
1458
+ const E = k.find((j) => !isNaN(parseInt(j, 10)));
1459
+ E && (b = parseInt(E, 10));
1432
1460
  }
1433
1461
  }
1434
- if (V) {
1435
- const T = m + 1;
1436
- if (T < r)
1462
+ if (Y) {
1463
+ const A = v + 1;
1464
+ if (A < r)
1437
1465
  throw new Error(
1438
- `[MirageEngine] Traveler layer (${m}) cannot be smaller than inherited capture layer (${r - 1}).`
1466
+ `[MirageEngine] Traveler layer (${v}) cannot be smaller than inherited capture layer (${r - 1}).`
1439
1467
  );
1440
- r = Math.min(T, U.MAX_LAYERS + 1);
1468
+ r = Math.min(A, O.MAX_LAYERS + 1);
1441
1469
  }
1442
1470
  }
1443
- const M = c.dataset[Ve.KEY];
1444
- let A;
1445
- M && (A = JSON.parse(M));
1446
- const S = c.getBoundingClientRect(), E = window.getComputedStyle(c);
1447
- if (S.width === 0 || S.height === 0 || E.display === "none")
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")
1448
1476
  return null;
1449
- let C = c.getAttribute("data-mid");
1450
- C || (C = Math.random().toString(36).substring(2, 11), c.setAttribute("data-mid", C));
1451
- const b = parseInt(E.zIndex), O = (isNaN(b) ? 0 : b) + i;
1452
- let X;
1453
- if (c.tagName === "IMG")
1454
- X = c.src;
1455
- else if (c.tagName.toLowerCase() === "svg") {
1456
- const m = c.cloneNode(!0), R = v == null ? void 0 : v.color, k = v == null ? void 0 : v.fill, _ = v == null ? void 0 : v.stroke, L = v == null ? void 0 : v.opacity, V = (w, j) => {
1457
- const F = window.getComputedStyle(w), Q = j, Be = F.fill === F.color, Oe = F.stroke === F.color, se = k || (Be ? R : void 0) || F.fill;
1477
+ let C = a.getAttribute("data-mid");
1478
+ 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;
1481
+ if (a.tagName === "IMG")
1482
+ M = a.src;
1483
+ 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;
1458
1486
  se && se !== "none" && (Q.style.fill = se);
1459
- const ne = _ || (Oe ? R : void 0) || F.stroke;
1460
- ne && ne !== "none" && (Q.style.stroke = ne), F.strokeWidth && F.strokeWidth !== "0px" && (Q.style.strokeWidth = F.strokeWidth);
1461
- const ve = R || F.color;
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;
1462
1490
  ve && (Q.style.color = ve);
1463
- const oe = L || F.opacity;
1491
+ const oe = k || z.opacity;
1464
1492
  oe && oe !== "1" && (Q.style.opacity = oe);
1465
- for (let te = 0; te < w.children.length; te++)
1466
- V(w.children[te], j.children[te]);
1493
+ for (let te = 0; te < E.children.length; te++)
1494
+ Y(E.children[te], j.children[te]);
1467
1495
  };
1468
- V(c, m);
1469
- const B = c.getBoundingClientRect(), H = window.devicePixelRatio * o;
1470
- m.hasAttribute("viewBox") || m.setAttribute("viewBox", `0 0 ${B.width} ${B.height}`), m.setAttribute("width", (B.width * H).toString()), m.setAttribute("height", (B.height * H).toString());
1471
- let T = new XMLSerializer().serializeToString(m);
1472
- T.includes("xmlns=") || (T = T.replace(
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(
1473
1501
  "<svg",
1474
1502
  '<svg xmlns="http://www.w3.org/2000/svg"'
1475
- )), X = `data:image/svg+xml;utf8,${encodeURIComponent(T)}`;
1476
- } else if (E.backgroundImage && E.backgroundImage !== "none") {
1477
- const m = E.backgroundImage.match(/url\(['"]?(.*?)['"]?\)/);
1478
- m && (X = m[1]);
1503
+ )), M = `data:image/svg+xml;utf8,${encodeURIComponent(A)}`;
1504
+ } else if (x.backgroundImage && x.backgroundImage !== "none") {
1505
+ const v = x.backgroundImage.match(/url\(['"]?(.*?)['"]?\)/);
1506
+ v && (M = v[1]);
1479
1507
  }
1480
1508
  const I = {
1481
- backgroundColor: E.backgroundColor,
1482
- backgroundImage: E.backgroundImage,
1483
- opacity: c.dataset[P.KEY] === P.VALUES.HIDE ? 1 : parseFloat(E.opacity),
1484
- zIndex: O,
1485
- borderRadius: E.borderRadius,
1486
- borderColor: E.borderColor,
1487
- borderWidth: E.borderWidth,
1488
- imageSrc: X,
1509
+ backgroundColor: x.backgroundColor,
1510
+ backgroundImage: x.backgroundImage,
1511
+ opacity: a.dataset[G.KEY] === G.VALUES.HIDE ? 1 : parseFloat(x.opacity),
1512
+ zIndex: S,
1513
+ borderRadius: x.borderRadius,
1514
+ borderColor: x.borderColor,
1515
+ borderWidth: x.borderWidth,
1516
+ imageSrc: M,
1489
1517
  isTraveler: g
1490
- }, G = I;
1518
+ }, F = I;
1491
1519
  let Ie, Ue;
1492
1520
  const he = [];
1493
- return c.tagName.toLowerCase() !== "svg" && Array.from(c.childNodes).forEach((m) => {
1494
- const R = m.nodeType === Node.TEXT_NODE ? h : d, k = ke(
1495
- m,
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,
1496
1524
  e,
1497
- R,
1525
+ D,
1498
1526
  r,
1499
- O,
1500
- o,
1501
- m.nodeType === Node.TEXT_NODE ? x : void 0,
1502
- m.nodeType === Node.TEXT_NODE && Object.keys(v).length > 0 ? v : void 0
1527
+ S,
1528
+ c,
1529
+ v.nodeType === Node.TEXT_NODE ? b : void 0,
1530
+ v.nodeType === Node.TEXT_NODE && Object.keys(m).length > 0 ? m : void 0
1503
1531
  );
1504
- k && he.push(k);
1532
+ B && he.push(B);
1505
1533
  }), {
1506
1534
  id: C,
1507
1535
  type: "BOX",
1508
- element: c,
1536
+ element: a,
1509
1537
  rect: {
1510
- x: S.left + window.scrollX,
1511
- y: S.top + window.scrollY,
1512
- width: S.width,
1513
- height: S.height
1538
+ x: T.left + window.scrollX,
1539
+ y: T.top + window.scrollY,
1540
+ width: T.width,
1541
+ height: T.height
1514
1542
  },
1515
- styles: G,
1543
+ styles: F,
1516
1544
  textContent: Ie,
1517
1545
  textStyles: Ue,
1518
1546
  dirtyMask: e,
1519
1547
  visibility: h,
1520
1548
  isTraveler: g,
1521
1549
  captureLayer: r,
1522
- nativeLayer: x,
1523
- nativeStyles: x !== void 0 ? be($({}, I), {
1524
- backgroundColor: (de = v.backgroundColor) != null ? de : I.backgroundColor,
1525
- backgroundImage: (ue = v.backgroundImage) != null ? ue : I.backgroundImage,
1526
- opacity: (fe = v.opacity) != null ? fe : I.opacity,
1527
- zIndex: v.zIndex !== void 0 ? v.zIndex + O : I.zIndex,
1528
- borderRadius: (ge = v.borderRadius) != null ? ge : I.borderRadius,
1529
- borderColor: (pe = v.borderColor) != null ? pe : I.borderColor,
1530
- borderWidth: (me = v.borderWidth) != null ? me : I.borderWidth,
1531
- isTraveler: I.isTraveler
1550
+ 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,
1559
+ isTraveler: I.isTraveler,
1560
+ transform: m.transform
1532
1561
  }) : void 0,
1533
- nativeRect: x !== void 0 ? {
1534
- x: v.x !== void 0 ? parseFloat(v.x) : S.left + window.scrollX,
1535
- y: v.y !== void 0 ? parseFloat(v.y) : S.top + window.scrollY,
1536
- width: v.width !== void 0 ? parseFloat(v.width) : S.width,
1537
- height: v.height !== void 0 ? parseFloat(v.height) : S.height
1562
+ 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
1538
1567
  } : void 0,
1539
- isFixed: E.position === "fixed",
1568
+ isFixed: x.position === "fixed",
1540
1569
  children: he,
1541
- shaderHooks: A
1570
+ shaderHooks: L
1542
1571
  };
1543
1572
  }
1544
1573
  function st(s, e) {
1545
1574
  e.size !== 0 && e.forEach((t, r) => {
1546
- var o, n, a, c;
1575
+ var c, n, o, a;
1547
1576
  const i = s.get(r);
1548
- !i || !i.userData.basePosition || (z.forceUpdateUniforms(i.material, {
1577
+ !i || !i.userData.basePosition || (V.forceUpdateUniforms(i.material, {
1549
1578
  backgroundColor: t.backgroundColor,
1550
1579
  backgroundImage: t.backgroundImage,
1551
1580
  opacity: t.opacity,
1552
- borderRadius: (n = t.borderRadius) != null ? n : (o = i.userData.baseStyles) == null ? void 0 : o.borderRadius
1581
+ borderRadius: (n = t.borderRadius) != null ? n : (c = i.userData.baseStyles) == null ? void 0 : c.borderRadius
1553
1582
  // width and height are no longer updated here, they are updated in syncMeshesByDOM
1554
- }), i.userData.nativeMesh && z.forceUpdateUniforms(i.userData.nativeMesh.material, {
1583
+ }), i.userData.nativeMesh && V.forceUpdateUniforms(i.userData.nativeMesh.material, {
1555
1584
  backgroundColor: t.backgroundColor,
1556
1585
  backgroundImage: t.backgroundImage,
1557
1586
  opacity: t.opacity,
1558
- borderRadius: (c = t.borderRadius) != null ? c : (a = i.userData.baseStyles) == null ? void 0 : a.borderRadius
1587
+ borderRadius: (a = t.borderRadius) != null ? a : (o = i.userData.baseStyles) == null ? void 0 : o.borderRadius
1559
1588
  }));
1560
1589
  });
1561
1590
  }
@@ -1568,19 +1597,19 @@ class nt {
1568
1597
  u(this, "tracker");
1569
1598
  this.target = e, this.renderer = t, this.registry = r, this.tracker = new Me(e, {
1570
1599
  resizeDebounce: i.resizeDebounce
1571
- }), this.tracker.onLayoutChange.add((o, n) => {
1572
- document.querySelector(`[${U.NAME}~='${U.VALUES.TRAVELER}']`) !== null && !this.isTravelEnabled && (this.isTravelEnabled = !0, this.renderer.createRenderTarget());
1573
- const c = ke(
1600
+ }), 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(
1574
1603
  this.target,
1575
- o,
1576
- W,
1604
+ c,
1605
+ H,
1577
1606
  1,
1578
1607
  0,
1579
1608
  this.renderer.qualityFactor
1580
1609
  );
1581
- c && this.renderer.syncScene(c, n);
1582
- }), this.tracker.onStyleChange.add((o) => {
1583
- st(this.registry, o);
1610
+ a && this.renderer.syncScene(a, n);
1611
+ }), this.tracker.onStyleChange.add((c) => {
1612
+ st(this.registry, c);
1584
1613
  }), this.tracker.onRender.add(() => {
1585
1614
  this.renderer.syncMeshesByDOM(), this.renderer.render();
1586
1615
  });
@@ -1623,17 +1652,17 @@ class at {
1623
1652
  u(this, "syncer");
1624
1653
  u(this, "target");
1625
1654
  u(this, "registry");
1626
- var i, o, n;
1655
+ var i, c, n;
1627
1656
  if (this.target = e, this.registry = new ot(), !document.getElementById("mirage-engine-styles")) {
1628
- const a = document.createElement("style");
1629
- a.id = "mirage-engine-styles", a.textContent = `
1630
- [${P.NAME}="${P.VALUES.HIDE}"] {
1657
+ const o = document.createElement("style");
1658
+ o.id = "mirage-engine-styles", o.textContent = `
1659
+ [${G.NAME}="${G.VALUES.HIDE}"] {
1631
1660
  opacity: 0 !important;
1632
1661
  }
1633
- `, document.head.appendChild(a);
1662
+ `, document.head.appendChild(o);
1634
1663
  }
1635
1664
  let r;
1636
- if (t.mode === "duplicate" ? r = (o = (i = t.container) != null ? i : this.target.parentElement) != null ? o : void 0 : r = (n = this.target.parentElement) != null ? n : void 0, !r)
1665
+ if (t.mode === "duplicate" ? r = (c = (i = t.container) != null ? i : this.target.parentElement) != null ? c : void 0 : r = (n = this.target.parentElement) != null ? n : void 0, !r)
1637
1666
  throw new Error("[Mirage] Cannot find a container (parent or option).");
1638
1667
  this.renderer = new rt(
1639
1668
  this.target,
@@ -1672,10 +1701,10 @@ class at {
1672
1701
  ArrowUp: !1,
1673
1702
  ArrowDown: !1
1674
1703
  };
1675
- window.addEventListener("keydown", (o) => {
1676
- t[o.key] !== void 0 && (t[o.key] = !0);
1677
- }), window.addEventListener("keyup", (o) => {
1678
- t[o.key] !== void 0 && (t[o.key] = !1);
1704
+ window.addEventListener("keydown", (c) => {
1705
+ t[c.key] !== void 0 && (t[c.key] = !0);
1706
+ }), window.addEventListener("keyup", (c) => {
1707
+ t[c.key] !== void 0 && (t[c.key] = !1);
1679
1708
  });
1680
1709
  const r = 2, i = () => {
1681
1710
  requestAnimationFrame(i), t.ArrowRight && e.position.setX(e.position.x + r), t.ArrowLeft && e.position.setX(e.position.x - r), t.ArrowUp && e.position.setY(e.position.y + r), t.ArrowDown && e.position.setY(e.position.y - r);
@@ -1722,8 +1751,8 @@ class ct {
1722
1751
  const e = document.querySelectorAll(this.frontSelector);
1723
1752
  this.frontLayer && e.forEach((t) => {
1724
1753
  var n;
1725
- const r = t.getBoundingClientRect(), i = window.getComputedStyle(t), o = document.createElement("div");
1726
- o.className = "sand-placeholder", Object.assign(o.style, {
1754
+ const r = t.getBoundingClientRect(), i = window.getComputedStyle(t), c = document.createElement("div");
1755
+ c.className = "sand-placeholder", Object.assign(c.style, {
1727
1756
  display: i.display === "inline" ? "inline-block" : i.display,
1728
1757
  width: `${r.width}px`,
1729
1758
  height: `${r.height}px`,
@@ -1734,14 +1763,14 @@ class ct {
1734
1763
  marginRight: i.marginRight,
1735
1764
  visibility: "hidden",
1736
1765
  pointerEvents: "none"
1737
- }), (n = t.parentNode) == null || n.insertBefore(o, t), this.frontLayer.appendChild(t), Object.assign(t.style, {
1766
+ }), (n = t.parentNode) == null || n.insertBefore(c, t), this.frontLayer.appendChild(t), Object.assign(t.style, {
1738
1767
  position: "fixed",
1739
1768
  margin: "0",
1740
1769
  boxSizing: "border-box",
1741
1770
  width: `${r.width}px`,
1742
1771
  height: `${r.height}px`,
1743
1772
  pointerEvents: "auto"
1744
- }), this.items.push({ placeholder: o, original: t });
1773
+ }), this.items.push({ placeholder: c, original: t });
1745
1774
  });
1746
1775
  }
1747
1776
  setupHooks() {