@tresjs/leches 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,65 +1,65 @@
1
1
  /**
2
2
  * name: @tresjs/leches
3
- * version: v0.2.0
3
+ * version: v0.3.0
4
4
  * (c) 2023
5
5
  * description: Tasty GUI for Vue controls 🍰
6
6
  * author: Alvaro Saburido <hola@alvarosaburido.dev> (https://github.com/alvarosabu/)
7
7
  */
8
- import { unref as z, getCurrentScope as ot, onScopeDispose as ht, toRef as at, readonly as lt, customRef as ct, ref as w, defineComponent as C, computed as S, reactive as B, h as ut, watch as E, inject as yt, isReactive as xt, toRefs as _t, isRef as O, openBlock as m, createElementBlock as b, createElementVNode as d, toDisplayString as $, normalizeClass as T, withDirectives as U, vShow as K, normalizeStyle as dt, Fragment as D, renderList as X, createCommentVNode as G, createVNode as mt, Transition as gt, withCtx as J, createBlock as v } from "vue";
9
- import { useStorage as ft, isClient as pt, useDraggable as zt, useMouse as N, useWindowSize as Mt } from "@vueuse/core";
10
- function tt(n) {
11
- return ot() ? (ht(n), !0) : !1;
8
+ import { unref as T, getCurrentScope as ct, onScopeDispose as yt, toRef as _t, readonly as xt, customRef as pt, ref as g, defineComponent as v, computed as I, reactive as tt, h as dt, watch as A, isReactive as ft, toRefs as gt, onUnmounted as mt, isRef as V, openBlock as d, createElementBlock as b, createElementVNode as p, toDisplayString as C, normalizeClass as k, withDirectives as et, vShow as st, createTextVNode as bt, normalizeStyle as zt, Fragment as D, renderList as R, createCommentVNode as nt, createVNode as Mt, Transition as wt, withCtx as it, createBlock as w } from "vue";
9
+ import { useStorage as vt, isClient as Ct, useDraggable as St, useMouse as Y, useFps as kt, useRafFn as $t, useWindowSize as It } from "@vueuse/core";
10
+ function rt(r) {
11
+ return ct() ? (yt(r), !0) : !1;
12
12
  }
13
- function A(n) {
14
- return typeof n == "function" ? n() : z(n);
13
+ function q(r) {
14
+ return typeof r == "function" ? r() : T(r);
15
15
  }
16
- const et = typeof window < "u", st = () => {
17
- }, H = /* @__PURE__ */ bt();
18
- function bt() {
19
- var n;
20
- return et && ((n = window == null ? void 0 : window.navigator) == null ? void 0 : n.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);
16
+ const ot = typeof window < "u", ht = () => {
17
+ }, Z = /* @__PURE__ */ At();
18
+ function At() {
19
+ var r;
20
+ return ot && ((r = window == null ? void 0 : window.navigator) == null ? void 0 : r.userAgent) && /* @__PURE__ */ /iP(ad|hone|od)/.test(window.navigator.userAgent);
21
21
  }
22
- function wt(...n) {
23
- if (n.length !== 1)
24
- return at(...n);
25
- const t = n[0];
26
- return typeof t == "function" ? lt(ct(() => ({ get: t, set: st }))) : w(t);
22
+ function Et(...r) {
23
+ if (r.length !== 1)
24
+ return _t(...r);
25
+ const t = r[0];
26
+ return typeof t == "function" ? xt(pt(() => ({ get: t, set: ht }))) : g(t);
27
27
  }
28
- function vt(n) {
28
+ function Tt(r) {
29
29
  var t;
30
- const e = A(n);
30
+ const e = q(r);
31
31
  return (t = e == null ? void 0 : e.$el) != null ? t : e;
32
32
  }
33
- const Ct = et ? window : void 0;
34
- function St(...n) {
35
- let t, e, s, i;
36
- if (typeof n[0] == "string" || Array.isArray(n[0]) ? ([e, s, i] = n, t = Ct) : [t, e, s, i] = n, !t)
37
- return st;
33
+ const jt = ot ? window : void 0;
34
+ function qt(...r) {
35
+ let t, e, s, n;
36
+ if (typeof r[0] == "string" || Array.isArray(r[0]) ? ([e, s, n] = r, t = jt) : [t, e, s, n] = r, !t)
37
+ return ht;
38
38
  Array.isArray(e) || (e = [e]), Array.isArray(s) || (s = [s]);
39
- const r = [], o = () => {
40
- r.forEach((l) => l()), r.length = 0;
41
- }, h = (l, a, x, c) => (l.addEventListener(a, x, c), () => l.removeEventListener(a, x, c)), y = E(
42
- () => [vt(t), A(i)],
43
- ([l, a]) => {
44
- o(), l && r.push(
45
- ...e.flatMap((x) => s.map((c) => h(l, x, c, a)))
39
+ const i = [], h = () => {
40
+ i.forEach((a) => a()), i.length = 0;
41
+ }, l = (a, o, y, u) => (a.addEventListener(o, y, u), () => a.removeEventListener(o, y, u)), _ = A(
42
+ () => [Tt(t), q(n)],
43
+ ([a, o]) => {
44
+ h(), a && i.push(
45
+ ...e.flatMap((y) => s.map((u) => l(a, y, u, o)))
46
46
  );
47
47
  },
48
48
  { immediate: !0, flush: "post" }
49
- ), u = () => {
50
- y(), o();
49
+ ), c = () => {
50
+ _(), h();
51
51
  };
52
- return tt(u), u;
52
+ return rt(c), c;
53
53
  }
54
- var kt = Object.defineProperty, $t = Object.defineProperties, Et = Object.getOwnPropertyDescriptors, Q = Object.getOwnPropertySymbols, It = Object.prototype.hasOwnProperty, At = Object.prototype.propertyIsEnumerable, Z = (n, t, e) => t in n ? kt(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e, Tt = (n, t) => {
54
+ var Pt = Object.defineProperty, Dt = Object.defineProperties, Vt = Object.getOwnPropertyDescriptors, B = Object.getOwnPropertySymbols, Lt = Object.prototype.hasOwnProperty, Xt = Object.prototype.propertyIsEnumerable, U = (r, t, e) => t in r ? Pt(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e, Ft = (r, t) => {
55
55
  for (var e in t || (t = {}))
56
- It.call(t, e) && Z(n, e, t[e]);
57
- if (Q)
58
- for (var e of Q(t))
59
- At.call(t, e) && Z(n, e, t[e]);
60
- return n;
61
- }, qt = (n, t) => $t(n, Et(t));
62
- const Dt = /* @__PURE__ */ C({
56
+ Lt.call(t, e) && U(r, e, t[e]);
57
+ if (B)
58
+ for (var e of B(t))
59
+ Xt.call(t, e) && U(r, e, t[e]);
60
+ return r;
61
+ }, Rt = (r, t) => Dt(r, Vt(t));
62
+ const Yt = /* @__PURE__ */ v({
63
63
  name: "UseDraggable",
64
64
  props: [
65
65
  "storageKey",
@@ -73,135 +73,98 @@ const Dt = /* @__PURE__ */ C({
73
73
  "handle",
74
74
  "axis"
75
75
  ],
76
- setup(n, { slots: t }) {
77
- const e = w(), s = S(() => {
78
- var y;
79
- return (y = n.handle) != null ? y : e.value;
80
- }), i = n.storageKey && ft(
81
- n.storageKey,
82
- A(n.initialValue) || { x: 0, y: 0 },
83
- pt ? n.storageType === "session" ? sessionStorage : localStorage : void 0
84
- ), r = i || n.initialValue || { x: 0, y: 0 }, o = (y) => {
85
- i && (i.value.x = y.x, i.value.y = y.y);
86
- }, h = B(zt(e, qt(Tt({}, n), {
76
+ setup(r, { slots: t }) {
77
+ const e = g(), s = I(() => {
78
+ var _;
79
+ return (_ = r.handle) != null ? _ : e.value;
80
+ }), n = r.storageKey && vt(
81
+ r.storageKey,
82
+ q(r.initialValue) || { x: 0, y: 0 },
83
+ Ct ? r.storageType === "session" ? sessionStorage : localStorage : void 0
84
+ ), i = n || r.initialValue || { x: 0, y: 0 }, h = (_) => {
85
+ n && (n.value.x = _.x, n.value.y = _.y);
86
+ }, l = tt(St(e, Rt(Ft({}, r), {
87
87
  handle: s,
88
- initialValue: r,
89
- onEnd: o
88
+ initialValue: i,
89
+ onEnd: h
90
90
  })));
91
91
  return () => {
92
92
  if (t.default)
93
- return ut(n.as || "div", { ref: e, style: `touch-action:none;${h.style}` }, t.default(h));
93
+ return dt(r.as || "div", { ref: e, style: `touch-action:none;${l.style}` }, t.default(l));
94
94
  };
95
95
  }
96
96
  });
97
- function nt(n) {
98
- const t = window.getComputedStyle(n);
99
- if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && n.clientHeight < n.scrollHeight || t.overflowY === "auto" && n.clientWidth < n.scrollWidth)
97
+ function at(r) {
98
+ const t = window.getComputedStyle(r);
99
+ if (t.overflowX === "scroll" || t.overflowY === "scroll" || t.overflowX === "auto" && r.clientHeight < r.scrollHeight || t.overflowY === "auto" && r.clientWidth < r.scrollWidth)
100
100
  return !0;
101
101
  {
102
- const e = n.parentNode;
103
- return !e || e.tagName === "BODY" ? !1 : nt(e);
102
+ const e = r.parentNode;
103
+ return !e || e.tagName === "BODY" ? !1 : at(e);
104
104
  }
105
105
  }
106
- function jt(n) {
107
- const t = n || window.event, e = t.target;
108
- return nt(e) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);
106
+ function Nt(r) {
107
+ const t = r || window.event, e = t.target;
108
+ return at(e) ? !1 : t.touches.length > 1 ? !0 : (t.preventDefault && t.preventDefault(), !1);
109
109
  }
110
- function Pt(n, t = !1) {
111
- const e = w(t);
112
- let s = null, i;
113
- E(wt(n), (h) => {
114
- if (h) {
115
- const y = h;
116
- i = y.style.overflow, e.value && (y.style.overflow = "hidden");
110
+ function Ht(r, t = !1) {
111
+ const e = g(t);
112
+ let s = null, n;
113
+ A(Et(r), (l) => {
114
+ if (l) {
115
+ const _ = l;
116
+ n = _.style.overflow, e.value && (_.style.overflow = "hidden");
117
117
  }
118
118
  }, {
119
119
  immediate: !0
120
120
  });
121
- const r = () => {
122
- const h = A(n);
123
- !h || e.value || (H && (s = St(
124
- h,
121
+ const i = () => {
122
+ const l = q(r);
123
+ !l || e.value || (Z && (s = qt(
124
+ l,
125
125
  "touchmove",
126
- (y) => {
127
- jt(y);
126
+ (_) => {
127
+ Nt(_);
128
128
  },
129
129
  { passive: !1 }
130
- )), h.style.overflow = "hidden", e.value = !0);
131
- }, o = () => {
132
- const h = A(n);
133
- !h || !e.value || (H && (s == null || s()), h.style.overflow = i, e.value = !1);
130
+ )), l.style.overflow = "hidden", e.value = !0);
131
+ }, h = () => {
132
+ const l = q(r);
133
+ !l || !e.value || (Z && (s == null || s()), l.style.overflow = n, e.value = !1);
134
134
  };
135
- return tt(o), S({
135
+ return rt(h), I({
136
136
  get() {
137
137
  return e.value;
138
138
  },
139
- set(h) {
140
- h ? r() : o();
139
+ set(l) {
140
+ l ? i() : h();
141
141
  }
142
142
  });
143
143
  }
144
- function Lt() {
145
- let n = !1;
146
- const t = w(!1);
144
+ function Qt() {
145
+ let r = !1;
146
+ const t = g(!1);
147
147
  return (e, s) => {
148
- if (t.value = s.value, n)
148
+ if (t.value = s.value, r)
149
149
  return;
150
- n = !0;
151
- const i = Pt(e, s.value);
152
- E(t, (r) => i.value = r);
150
+ r = !0;
151
+ const n = Ht(e, s.value);
152
+ A(t, (i) => n.value = i);
153
153
  };
154
154
  }
155
- Lt();
156
- const Vt = Symbol("CONTROLS_CONTEXT_KEY"), V = B({
157
- controls: []
158
- });
159
- function Xt() {
160
- return V;
161
- }
162
- function P(n) {
163
- return Object.entries(n).map(([t, e]) => !O(e) && e.value ? {
164
- ...e,
165
- label: e.label || t,
166
- value: e.value,
167
- type: typeof e.value.value,
168
- visible: !0
169
- } : {
170
- label: e.label || t,
171
- value: e,
172
- type: O(e) ? typeof e.value : typeof e,
173
- visible: !0
174
- });
175
- }
176
- function Ee(n, t) {
177
- const e = yt(Vt, {});
178
- let s = [];
179
- if (typeof n == "string")
180
- s.push({
181
- label: n,
182
- visible: !0,
183
- type: "folder",
184
- controls: P(t)
185
- });
186
- else if (xt(n)) {
187
- const i = _t(n);
188
- s = P(i);
189
- } else
190
- s = P(n);
191
- return V.controls = [...V.controls, ...s], e;
192
- }
155
+ Qt();
193
156
  /**
194
157
  * @license
195
158
  * Copyright 2010-2023 Three.js Authors
196
159
  * SPDX-License-Identifier: MIT
197
160
  */
198
- const it = "152";
199
- function R(n, t, e) {
200
- return Math.max(t, Math.min(e, n));
161
+ const lt = "152";
162
+ function N(r, t, e) {
163
+ return Math.max(t, Math.min(e, r));
201
164
  }
202
- class j {
165
+ class H {
203
166
  constructor(t = 0, e = 0) {
204
- j.prototype.isVector2 = !0, this.x = t, this.y = e;
167
+ H.prototype.isVector2 = !0, this.x = t, this.y = e;
205
168
  }
206
169
  get width() {
207
170
  return this.x;
@@ -290,8 +253,8 @@ class j {
290
253
  return this.multiplyScalar(1 / t);
291
254
  }
292
255
  applyMatrix3(t) {
293
- const e = this.x, s = this.y, i = t.elements;
294
- return this.x = i[0] * e + i[3] * s + i[6], this.y = i[1] * e + i[4] * s + i[7], this;
256
+ const e = this.x, s = this.y, n = t.elements;
257
+ return this.x = n[0] * e + n[3] * s + n[6], this.y = n[1] * e + n[4] * s + n[7], this;
295
258
  }
296
259
  min(t) {
297
260
  return this.x = Math.min(this.x, t.x), this.y = Math.min(this.y, t.y), this;
@@ -350,7 +313,7 @@ class j {
350
313
  if (e === 0)
351
314
  return Math.PI / 2;
352
315
  const s = this.dot(t) / e;
353
- return Math.acos(R(s, -1, 1));
316
+ return Math.acos(N(s, -1, 1));
354
317
  }
355
318
  distanceTo(t) {
356
319
  return Math.sqrt(this.distanceToSquared(t));
@@ -384,8 +347,8 @@ class j {
384
347
  return this.x = t.getX(e), this.y = t.getY(e), this;
385
348
  }
386
349
  rotateAround(t, e) {
387
- const s = Math.cos(e), i = Math.sin(e), r = this.x - t.x, o = this.y - t.y;
388
- return this.x = r * s - o * i + t.x, this.y = r * i + o * s + t.y, this;
350
+ const s = Math.cos(e), n = Math.sin(e), i = this.x - t.x, h = this.y - t.y;
351
+ return this.x = i * s - h * n + t.x, this.y = i * n + h * s + t.y, this;
389
352
  }
390
353
  random() {
391
354
  return this.x = Math.random(), this.y = Math.random(), this;
@@ -394,39 +357,39 @@ class j {
394
357
  yield this.x, yield this.y;
395
358
  }
396
359
  }
397
- class Nt {
398
- constructor(t = 0, e = 0, s = 0, i = 1) {
399
- this.isQuaternion = !0, this._x = t, this._y = e, this._z = s, this._w = i;
400
- }
401
- static slerpFlat(t, e, s, i, r, o, h) {
402
- let y = s[i + 0], u = s[i + 1], l = s[i + 2], a = s[i + 3];
403
- const x = r[o + 0], c = r[o + 1], _ = r[o + 2], f = r[o + 3];
404
- if (h === 0) {
405
- t[e + 0] = y, t[e + 1] = u, t[e + 2] = l, t[e + 3] = a;
360
+ class Wt {
361
+ constructor(t = 0, e = 0, s = 0, n = 1) {
362
+ this.isQuaternion = !0, this._x = t, this._y = e, this._z = s, this._w = n;
363
+ }
364
+ static slerpFlat(t, e, s, n, i, h, l) {
365
+ let _ = s[n + 0], c = s[n + 1], a = s[n + 2], o = s[n + 3];
366
+ const y = i[h + 0], u = i[h + 1], x = i[h + 2], m = i[h + 3];
367
+ if (l === 0) {
368
+ t[e + 0] = _, t[e + 1] = c, t[e + 2] = a, t[e + 3] = o;
406
369
  return;
407
370
  }
408
- if (h === 1) {
409
- t[e + 0] = x, t[e + 1] = c, t[e + 2] = _, t[e + 3] = f;
371
+ if (l === 1) {
372
+ t[e + 0] = y, t[e + 1] = u, t[e + 2] = x, t[e + 3] = m;
410
373
  return;
411
374
  }
412
- if (a !== f || y !== x || u !== c || l !== _) {
413
- let p = 1 - h;
414
- const g = y * x + u * c + l * _ + a * f, M = g >= 0 ? 1 : -1, F = 1 - g * g;
415
- if (F > Number.EPSILON) {
416
- const k = Math.sqrt(F), Y = Math.atan2(k, g * M);
417
- p = Math.sin(p * Y) / k, h = Math.sin(h * Y) / k;
375
+ if (o !== m || _ !== y || c !== u || a !== x) {
376
+ let z = 1 - l;
377
+ const f = _ * y + c * u + a * x + o * m, M = f >= 0 ? 1 : -1, Q = 1 - f * f;
378
+ if (Q > Number.EPSILON) {
379
+ const S = Math.sqrt(Q), W = Math.atan2(S, f * M);
380
+ z = Math.sin(z * W) / S, l = Math.sin(l * W) / S;
418
381
  }
419
- const q = h * M;
420
- if (y = y * p + x * q, u = u * p + c * q, l = l * p + _ * q, a = a * p + f * q, p === 1 - h) {
421
- const k = 1 / Math.sqrt(y * y + u * u + l * l + a * a);
422
- y *= k, u *= k, l *= k, a *= k;
382
+ const P = l * M;
383
+ if (_ = _ * z + y * P, c = c * z + u * P, a = a * z + x * P, o = o * z + m * P, z === 1 - l) {
384
+ const S = 1 / Math.sqrt(_ * _ + c * c + a * a + o * o);
385
+ _ *= S, c *= S, a *= S, o *= S;
423
386
  }
424
387
  }
425
- t[e] = y, t[e + 1] = u, t[e + 2] = l, t[e + 3] = a;
388
+ t[e] = _, t[e + 1] = c, t[e + 2] = a, t[e + 3] = o;
426
389
  }
427
- static multiplyQuaternionsFlat(t, e, s, i, r, o) {
428
- const h = s[i], y = s[i + 1], u = s[i + 2], l = s[i + 3], a = r[o], x = r[o + 1], c = r[o + 2], _ = r[o + 3];
429
- return t[e] = h * _ + l * a + y * c - u * x, t[e + 1] = y * _ + l * x + u * a - h * c, t[e + 2] = u * _ + l * c + h * x - y * a, t[e + 3] = l * _ - h * a - y * x - u * c, t;
390
+ static multiplyQuaternionsFlat(t, e, s, n, i, h) {
391
+ const l = s[n], _ = s[n + 1], c = s[n + 2], a = s[n + 3], o = i[h], y = i[h + 1], u = i[h + 2], x = i[h + 3];
392
+ return t[e] = l * x + a * o + _ * u - c * y, t[e + 1] = _ * x + a * y + c * o - l * u, t[e + 2] = c * x + a * u + l * y - _ * o, t[e + 3] = a * x - l * o - _ * y - c * u, t;
430
393
  }
431
394
  get x() {
432
395
  return this._x;
@@ -452,8 +415,8 @@ class Nt {
452
415
  set w(t) {
453
416
  this._w = t, this._onChangeCallback();
454
417
  }
455
- set(t, e, s, i) {
456
- return this._x = t, this._y = e, this._z = s, this._w = i, this._onChangeCallback(), this;
418
+ set(t, e, s, n) {
419
+ return this._x = t, this._y = e, this._z = s, this._w = n, this._onChangeCallback(), this;
457
420
  }
458
421
  clone() {
459
422
  return new this.constructor(this._x, this._y, this._z, this._w);
@@ -462,49 +425,49 @@ class Nt {
462
425
  return this._x = t.x, this._y = t.y, this._z = t.z, this._w = t.w, this._onChangeCallback(), this;
463
426
  }
464
427
  setFromEuler(t, e) {
465
- const s = t._x, i = t._y, r = t._z, o = t._order, h = Math.cos, y = Math.sin, u = h(s / 2), l = h(i / 2), a = h(r / 2), x = y(s / 2), c = y(i / 2), _ = y(r / 2);
466
- switch (o) {
428
+ const s = t._x, n = t._y, i = t._z, h = t._order, l = Math.cos, _ = Math.sin, c = l(s / 2), a = l(n / 2), o = l(i / 2), y = _(s / 2), u = _(n / 2), x = _(i / 2);
429
+ switch (h) {
467
430
  case "XYZ":
468
- this._x = x * l * a + u * c * _, this._y = u * c * a - x * l * _, this._z = u * l * _ + x * c * a, this._w = u * l * a - x * c * _;
431
+ this._x = y * a * o + c * u * x, this._y = c * u * o - y * a * x, this._z = c * a * x + y * u * o, this._w = c * a * o - y * u * x;
469
432
  break;
470
433
  case "YXZ":
471
- this._x = x * l * a + u * c * _, this._y = u * c * a - x * l * _, this._z = u * l * _ - x * c * a, this._w = u * l * a + x * c * _;
434
+ this._x = y * a * o + c * u * x, this._y = c * u * o - y * a * x, this._z = c * a * x - y * u * o, this._w = c * a * o + y * u * x;
472
435
  break;
473
436
  case "ZXY":
474
- this._x = x * l * a - u * c * _, this._y = u * c * a + x * l * _, this._z = u * l * _ + x * c * a, this._w = u * l * a - x * c * _;
437
+ this._x = y * a * o - c * u * x, this._y = c * u * o + y * a * x, this._z = c * a * x + y * u * o, this._w = c * a * o - y * u * x;
475
438
  break;
476
439
  case "ZYX":
477
- this._x = x * l * a - u * c * _, this._y = u * c * a + x * l * _, this._z = u * l * _ - x * c * a, this._w = u * l * a + x * c * _;
440
+ this._x = y * a * o - c * u * x, this._y = c * u * o + y * a * x, this._z = c * a * x - y * u * o, this._w = c * a * o + y * u * x;
478
441
  break;
479
442
  case "YZX":
480
- this._x = x * l * a + u * c * _, this._y = u * c * a + x * l * _, this._z = u * l * _ - x * c * a, this._w = u * l * a - x * c * _;
443
+ this._x = y * a * o + c * u * x, this._y = c * u * o + y * a * x, this._z = c * a * x - y * u * o, this._w = c * a * o - y * u * x;
481
444
  break;
482
445
  case "XZY":
483
- this._x = x * l * a - u * c * _, this._y = u * c * a - x * l * _, this._z = u * l * _ + x * c * a, this._w = u * l * a + x * c * _;
446
+ this._x = y * a * o - c * u * x, this._y = c * u * o - y * a * x, this._z = c * a * x + y * u * o, this._w = c * a * o + y * u * x;
484
447
  break;
485
448
  default:
486
- console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + o);
449
+ console.warn("THREE.Quaternion: .setFromEuler() encountered an unknown order: " + h);
487
450
  }
488
451
  return e !== !1 && this._onChangeCallback(), this;
489
452
  }
490
453
  setFromAxisAngle(t, e) {
491
- const s = e / 2, i = Math.sin(s);
492
- return this._x = t.x * i, this._y = t.y * i, this._z = t.z * i, this._w = Math.cos(s), this._onChangeCallback(), this;
454
+ const s = e / 2, n = Math.sin(s);
455
+ return this._x = t.x * n, this._y = t.y * n, this._z = t.z * n, this._w = Math.cos(s), this._onChangeCallback(), this;
493
456
  }
494
457
  setFromRotationMatrix(t) {
495
- const e = t.elements, s = e[0], i = e[4], r = e[8], o = e[1], h = e[5], y = e[9], u = e[2], l = e[6], a = e[10], x = s + h + a;
496
- if (x > 0) {
497
- const c = 0.5 / Math.sqrt(x + 1);
498
- this._w = 0.25 / c, this._x = (l - y) * c, this._y = (r - u) * c, this._z = (o - i) * c;
499
- } else if (s > h && s > a) {
500
- const c = 2 * Math.sqrt(1 + s - h - a);
501
- this._w = (l - y) / c, this._x = 0.25 * c, this._y = (i + o) / c, this._z = (r + u) / c;
502
- } else if (h > a) {
503
- const c = 2 * Math.sqrt(1 + h - s - a);
504
- this._w = (r - u) / c, this._x = (i + o) / c, this._y = 0.25 * c, this._z = (y + l) / c;
458
+ const e = t.elements, s = e[0], n = e[4], i = e[8], h = e[1], l = e[5], _ = e[9], c = e[2], a = e[6], o = e[10], y = s + l + o;
459
+ if (y > 0) {
460
+ const u = 0.5 / Math.sqrt(y + 1);
461
+ this._w = 0.25 / u, this._x = (a - _) * u, this._y = (i - c) * u, this._z = (h - n) * u;
462
+ } else if (s > l && s > o) {
463
+ const u = 2 * Math.sqrt(1 + s - l - o);
464
+ this._w = (a - _) / u, this._x = 0.25 * u, this._y = (n + h) / u, this._z = (i + c) / u;
465
+ } else if (l > o) {
466
+ const u = 2 * Math.sqrt(1 + l - s - o);
467
+ this._w = (i - c) / u, this._x = (n + h) / u, this._y = 0.25 * u, this._z = (_ + a) / u;
505
468
  } else {
506
- const c = 2 * Math.sqrt(1 + a - s - h);
507
- this._w = (o - i) / c, this._x = (r + u) / c, this._y = (y + l) / c, this._z = 0.25 * c;
469
+ const u = 2 * Math.sqrt(1 + o - s - l);
470
+ this._w = (h - n) / u, this._x = (i + c) / u, this._y = (_ + a) / u, this._z = 0.25 * u;
508
471
  }
509
472
  return this._onChangeCallback(), this;
510
473
  }
@@ -513,14 +476,14 @@ class Nt {
513
476
  return s < Number.EPSILON ? (s = 0, Math.abs(t.x) > Math.abs(t.z) ? (this._x = -t.y, this._y = t.x, this._z = 0, this._w = s) : (this._x = 0, this._y = -t.z, this._z = t.y, this._w = s)) : (this._x = t.y * e.z - t.z * e.y, this._y = t.z * e.x - t.x * e.z, this._z = t.x * e.y - t.y * e.x, this._w = s), this.normalize();
514
477
  }
515
478
  angleTo(t) {
516
- return 2 * Math.acos(Math.abs(R(this.dot(t), -1, 1)));
479
+ return 2 * Math.acos(Math.abs(N(this.dot(t), -1, 1)));
517
480
  }
518
481
  rotateTowards(t, e) {
519
482
  const s = this.angleTo(t);
520
483
  if (s === 0)
521
484
  return this;
522
- const i = Math.min(1, e / s);
523
- return this.slerp(t, i), this;
485
+ const n = Math.min(1, e / s);
486
+ return this.slerp(t, n), this;
524
487
  }
525
488
  identity() {
526
489
  return this.set(0, 0, 0, 1);
@@ -551,36 +514,36 @@ class Nt {
551
514
  return this.multiplyQuaternions(t, this);
552
515
  }
553
516
  multiplyQuaternions(t, e) {
554
- const s = t._x, i = t._y, r = t._z, o = t._w, h = e._x, y = e._y, u = e._z, l = e._w;
555
- return this._x = s * l + o * h + i * u - r * y, this._y = i * l + o * y + r * h - s * u, this._z = r * l + o * u + s * y - i * h, this._w = o * l - s * h - i * y - r * u, this._onChangeCallback(), this;
517
+ const s = t._x, n = t._y, i = t._z, h = t._w, l = e._x, _ = e._y, c = e._z, a = e._w;
518
+ return this._x = s * a + h * l + n * c - i * _, this._y = n * a + h * _ + i * l - s * c, this._z = i * a + h * c + s * _ - n * l, this._w = h * a - s * l - n * _ - i * c, this._onChangeCallback(), this;
556
519
  }
557
520
  slerp(t, e) {
558
521
  if (e === 0)
559
522
  return this;
560
523
  if (e === 1)
561
524
  return this.copy(t);
562
- const s = this._x, i = this._y, r = this._z, o = this._w;
563
- let h = o * t._w + s * t._x + i * t._y + r * t._z;
564
- if (h < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, h = -h) : this.copy(t), h >= 1)
565
- return this._w = o, this._x = s, this._y = i, this._z = r, this;
566
- const y = 1 - h * h;
567
- if (y <= Number.EPSILON) {
568
- const c = 1 - e;
569
- return this._w = c * o + e * this._w, this._x = c * s + e * this._x, this._y = c * i + e * this._y, this._z = c * r + e * this._z, this.normalize(), this._onChangeCallback(), this;
525
+ const s = this._x, n = this._y, i = this._z, h = this._w;
526
+ let l = h * t._w + s * t._x + n * t._y + i * t._z;
527
+ if (l < 0 ? (this._w = -t._w, this._x = -t._x, this._y = -t._y, this._z = -t._z, l = -l) : this.copy(t), l >= 1)
528
+ return this._w = h, this._x = s, this._y = n, this._z = i, this;
529
+ const _ = 1 - l * l;
530
+ if (_ <= Number.EPSILON) {
531
+ const u = 1 - e;
532
+ return this._w = u * h + e * this._w, this._x = u * s + e * this._x, this._y = u * n + e * this._y, this._z = u * i + e * this._z, this.normalize(), this._onChangeCallback(), this;
570
533
  }
571
- const u = Math.sqrt(y), l = Math.atan2(u, h), a = Math.sin((1 - e) * l) / u, x = Math.sin(e * l) / u;
572
- return this._w = o * a + this._w * x, this._x = s * a + this._x * x, this._y = i * a + this._y * x, this._z = r * a + this._z * x, this._onChangeCallback(), this;
534
+ const c = Math.sqrt(_), a = Math.atan2(c, l), o = Math.sin((1 - e) * a) / c, y = Math.sin(e * a) / c;
535
+ return this._w = h * o + this._w * y, this._x = s * o + this._x * y, this._y = n * o + this._y * y, this._z = i * o + this._z * y, this._onChangeCallback(), this;
573
536
  }
574
537
  slerpQuaternions(t, e, s) {
575
538
  return this.copy(t).slerp(e, s);
576
539
  }
577
540
  random() {
578
- const t = Math.random(), e = Math.sqrt(1 - t), s = Math.sqrt(t), i = 2 * Math.PI * Math.random(), r = 2 * Math.PI * Math.random();
541
+ const t = Math.random(), e = Math.sqrt(1 - t), s = Math.sqrt(t), n = 2 * Math.PI * Math.random(), i = 2 * Math.PI * Math.random();
579
542
  return this.set(
580
- e * Math.cos(i),
581
- s * Math.sin(r),
582
- s * Math.cos(r),
583
- e * Math.sin(i)
543
+ e * Math.cos(n),
544
+ s * Math.sin(i),
545
+ s * Math.cos(i),
546
+ e * Math.sin(n)
584
547
  );
585
548
  }
586
549
  equals(t) {
@@ -607,9 +570,9 @@ class Nt {
607
570
  yield this._x, yield this._y, yield this._z, yield this._w;
608
571
  }
609
572
  }
610
- class I {
573
+ class $ {
611
574
  constructor(t = 0, e = 0, s = 0) {
612
- I.prototype.isVector3 = !0, this.x = t, this.y = e, this.z = s;
575
+ $.prototype.isVector3 = !0, this.x = t, this.y = e, this.z = s;
613
576
  }
614
577
  set(t, e, s) {
615
578
  return s === void 0 && (s = this.z), this.x = t, this.y = e, this.z = s, this;
@@ -691,25 +654,25 @@ class I {
691
654
  return this.x = t.x * e.x, this.y = t.y * e.y, this.z = t.z * e.z, this;
692
655
  }
693
656
  applyEuler(t) {
694
- return this.applyQuaternion(W.setFromEuler(t));
657
+ return this.applyQuaternion(K.setFromEuler(t));
695
658
  }
696
659
  applyAxisAngle(t, e) {
697
- return this.applyQuaternion(W.setFromAxisAngle(t, e));
660
+ return this.applyQuaternion(K.setFromAxisAngle(t, e));
698
661
  }
699
662
  applyMatrix3(t) {
700
- const e = this.x, s = this.y, i = this.z, r = t.elements;
701
- return this.x = r[0] * e + r[3] * s + r[6] * i, this.y = r[1] * e + r[4] * s + r[7] * i, this.z = r[2] * e + r[5] * s + r[8] * i, this;
663
+ const e = this.x, s = this.y, n = this.z, i = t.elements;
664
+ return this.x = i[0] * e + i[3] * s + i[6] * n, this.y = i[1] * e + i[4] * s + i[7] * n, this.z = i[2] * e + i[5] * s + i[8] * n, this;
702
665
  }
703
666
  applyNormalMatrix(t) {
704
667
  return this.applyMatrix3(t).normalize();
705
668
  }
706
669
  applyMatrix4(t) {
707
- const e = this.x, s = this.y, i = this.z, r = t.elements, o = 1 / (r[3] * e + r[7] * s + r[11] * i + r[15]);
708
- return this.x = (r[0] * e + r[4] * s + r[8] * i + r[12]) * o, this.y = (r[1] * e + r[5] * s + r[9] * i + r[13]) * o, this.z = (r[2] * e + r[6] * s + r[10] * i + r[14]) * o, this;
670
+ const e = this.x, s = this.y, n = this.z, i = t.elements, h = 1 / (i[3] * e + i[7] * s + i[11] * n + i[15]);
671
+ return this.x = (i[0] * e + i[4] * s + i[8] * n + i[12]) * h, this.y = (i[1] * e + i[5] * s + i[9] * n + i[13]) * h, this.z = (i[2] * e + i[6] * s + i[10] * n + i[14]) * h, this;
709
672
  }
710
673
  applyQuaternion(t) {
711
- const e = this.x, s = this.y, i = this.z, r = t.x, o = t.y, h = t.z, y = t.w, u = y * e + o * i - h * s, l = y * s + h * e - r * i, a = y * i + r * s - o * e, x = -r * e - o * s - h * i;
712
- return this.x = u * y + x * -r + l * -h - a * -o, this.y = l * y + x * -o + a * -r - u * -h, this.z = a * y + x * -h + u * -o - l * -r, this;
674
+ const e = this.x, s = this.y, n = this.z, i = t.x, h = t.y, l = t.z, _ = t.w, c = _ * e + h * n - l * s, a = _ * s + l * e - i * n, o = _ * n + i * s - h * e, y = -i * e - h * s - l * n;
675
+ return this.x = c * _ + y * -i + a * -l - o * -h, this.y = a * _ + y * -h + o * -i - c * -l, this.z = o * _ + y * -l + c * -h - a * -i, this;
713
676
  }
714
677
  project(t) {
715
678
  return this.applyMatrix4(t.matrixWorldInverse).applyMatrix4(t.projectionMatrix);
@@ -718,8 +681,8 @@ class I {
718
681
  return this.applyMatrix4(t.projectionMatrixInverse).applyMatrix4(t.matrixWorld);
719
682
  }
720
683
  transformDirection(t) {
721
- const e = this.x, s = this.y, i = this.z, r = t.elements;
722
- return this.x = r[0] * e + r[4] * s + r[8] * i, this.y = r[1] * e + r[5] * s + r[9] * i, this.z = r[2] * e + r[6] * s + r[10] * i, this.normalize();
684
+ const e = this.x, s = this.y, n = this.z, i = t.elements;
685
+ return this.x = i[0] * e + i[4] * s + i[8] * n, this.y = i[1] * e + i[5] * s + i[9] * n, this.z = i[2] * e + i[6] * s + i[10] * n, this.normalize();
723
686
  }
724
687
  divide(t) {
725
688
  return this.x /= t.x, this.y /= t.y, this.z /= t.z, this;
@@ -787,8 +750,8 @@ class I {
787
750
  return this.crossVectors(this, t);
788
751
  }
789
752
  crossVectors(t, e) {
790
- const s = t.x, i = t.y, r = t.z, o = e.x, h = e.y, y = e.z;
791
- return this.x = i * y - r * h, this.y = r * o - s * y, this.z = s * h - i * o, this;
753
+ const s = t.x, n = t.y, i = t.z, h = e.x, l = e.y, _ = e.z;
754
+ return this.x = n * _ - i * l, this.y = i * h - s * _, this.z = s * l - n * h, this;
792
755
  }
793
756
  projectOnVector(t) {
794
757
  const e = t.lengthSq();
@@ -808,14 +771,14 @@ class I {
808
771
  if (e === 0)
809
772
  return Math.PI / 2;
810
773
  const s = this.dot(t) / e;
811
- return Math.acos(R(s, -1, 1));
774
+ return Math.acos(N(s, -1, 1));
812
775
  }
813
776
  distanceTo(t) {
814
777
  return Math.sqrt(this.distanceToSquared(t));
815
778
  }
816
779
  distanceToSquared(t) {
817
- const e = this.x - t.x, s = this.y - t.y, i = this.z - t.z;
818
- return e * e + s * s + i * i;
780
+ const e = this.x - t.x, s = this.y - t.y, n = this.z - t.z;
781
+ return e * e + s * s + n * n;
819
782
  }
820
783
  manhattanDistanceTo(t) {
821
784
  return Math.abs(this.x - t.x) + Math.abs(this.y - t.y) + Math.abs(this.z - t.z);
@@ -824,8 +787,8 @@ class I {
824
787
  return this.setFromSphericalCoords(t.radius, t.phi, t.theta);
825
788
  }
826
789
  setFromSphericalCoords(t, e, s) {
827
- const i = Math.sin(e) * t;
828
- return this.x = i * Math.sin(s), this.y = Math.cos(e) * t, this.z = i * Math.cos(s), this;
790
+ const n = Math.sin(e) * t;
791
+ return this.x = n * Math.sin(s), this.y = Math.cos(e) * t, this.z = n * Math.cos(s), this;
829
792
  }
830
793
  setFromCylindrical(t) {
831
794
  return this.setFromCylindricalCoords(t.radius, t.theta, t.y);
@@ -838,8 +801,8 @@ class I {
838
801
  return this.x = e[12], this.y = e[13], this.z = e[14], this;
839
802
  }
840
803
  setFromMatrixScale(t) {
841
- const e = this.setFromMatrixColumn(t, 0).length(), s = this.setFromMatrixColumn(t, 1).length(), i = this.setFromMatrixColumn(t, 2).length();
842
- return this.x = e, this.y = s, this.z = i, this;
804
+ const e = this.setFromMatrixColumn(t, 0).length(), s = this.setFromMatrixColumn(t, 1).length(), n = this.setFromMatrixColumn(t, 2).length();
805
+ return this.x = e, this.y = s, this.z = n, this;
843
806
  }
844
807
  setFromMatrixColumn(t, e) {
845
808
  return this.fromArray(t.elements, e * 4);
@@ -876,366 +839,460 @@ class I {
876
839
  yield this.x, yield this.y, yield this.z;
877
840
  }
878
841
  }
879
- const L = /* @__PURE__ */ new I(), W = /* @__PURE__ */ new Nt();
842
+ const L = /* @__PURE__ */ new $(), K = /* @__PURE__ */ new Wt();
880
843
  typeof __THREE_DEVTOOLS__ < "u" && __THREE_DEVTOOLS__.dispatchEvent(new CustomEvent("register", { detail: {
881
- revision: it
844
+ revision: lt
882
845
  } }));
883
- typeof window < "u" && (window.__THREE__ ? console.warn("WARNING: Multiple instances of Three.js being imported.") : window.__THREE__ = it);
884
- const Rt = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Ft = { class: "text-gray-500 w-1/3" }, Yt = ["value", "min", "max", "step"], Ot = /* @__PURE__ */ C({
846
+ typeof window < "u" && (window.__THREE__ ? console.warn("WARNING: Multiple instances of Three.js being imported.") : window.__THREE__ = lt);
847
+ const j = tt({
848
+ controls: []
849
+ });
850
+ function Zt() {
851
+ return j;
852
+ }
853
+ function X(r) {
854
+ return Object.entries(r).map(([t, e]) => {
855
+ let s = "string", n;
856
+ const i = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$|^0x([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
857
+ return !V(e) && e.value || V(e) ? (s = typeof e.value, n = e.value) : (s = typeof e, n = e), s === "number" && (e.step || e.max || e.min) && (s = "range"), s === "string" && i.test(n) && (s = "color"), (n instanceof $ || n instanceof $ || n instanceof Array) && (s = "vector"), !V(e) && e.value ? {
858
+ ...e,
859
+ label: e.label || t,
860
+ value: e.value,
861
+ type: s,
862
+ visible: !0
863
+ } : {
864
+ label: e.label || t,
865
+ value: e,
866
+ type: s,
867
+ visible: !0
868
+ };
869
+ });
870
+ }
871
+ function Bt() {
872
+ j.controls = [];
873
+ }
874
+ function He(r, t, e) {
875
+ let s = [];
876
+ if (typeof r == "string")
877
+ r === "fpsgraph" ? s.push({
878
+ label: "fpsgraph",
879
+ visible: !0,
880
+ type: "fpsgraph"
881
+ }) : s.push({
882
+ label: r,
883
+ visible: !0,
884
+ type: "folder",
885
+ controls: X(t)
886
+ });
887
+ else if (typeof r == "object" && typeof t == "string")
888
+ s.push({
889
+ ...e,
890
+ label: t,
891
+ visible: !0,
892
+ value: r[t],
893
+ type: typeof r[t],
894
+ ref: r
895
+ });
896
+ else if (ft(r)) {
897
+ const n = gt(r);
898
+ s = X(n);
899
+ } else
900
+ s = X(r);
901
+ return j.controls = [...j.controls, ...s], mt(Bt), { state: j, controls: s };
902
+ }
903
+ const Ut = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Kt = { class: "text-gray-500 w-1/3" }, Gt = ["value", "min", "max", "step"], Jt = /* @__PURE__ */ v({
885
904
  __name: "NumberControl",
886
905
  props: {
887
- label: null,
888
- control: null
906
+ label: {},
907
+ control: {}
889
908
  },
890
909
  emits: ["change"],
891
- setup(n, { emit: t }) {
892
- const e = n;
893
- function s(l) {
894
- const { target: a } = l;
895
- t("change", a.valueAsNumber);
910
+ setup(r, { emit: t }) {
911
+ const e = r;
912
+ function s(a) {
913
+ const { target: o } = a;
914
+ t("change", o.valueAsNumber);
896
915
  }
897
- const i = N(), r = w(0), o = w(!1), h = (l) => {
898
- r.value = l.clientX, o.value = !0;
899
- }, y = () => {
900
- o.value = !1;
901
- }, u = (l) => Math.floor(Math.abs(l) / 10);
902
- return E(i.x, (l) => {
903
- if (o.value) {
904
- const a = l - r.value, x = u(a);
905
- a > 0 ? t("change", e.control.value + 1 + x) : a < 0 && t("change", e.control.value - 1 + x), e.control.min !== void 0 && e.control.value < e.control.min && t("change", e.control.min), e.control.max !== void 0 && e.control.value > e.control.max && t("change", e.control.max), r.value = l;
916
+ const n = Y(), i = g(0), h = g(!1), l = (a) => {
917
+ i.value = a.clientX, h.value = !0;
918
+ }, _ = () => {
919
+ h.value = !1;
920
+ }, c = (a) => Math.floor(Math.abs(a) / 10);
921
+ return A(n.x, (a) => {
922
+ if (h.value) {
923
+ const o = a - i.value, y = c(o);
924
+ o > 0 ? t("change", e.control.value + 1 + y) : o < 0 && t("change", e.control.value - 1 + y), e.control.min !== void 0 && e.control.value < e.control.min && t("change", e.control.min), e.control.max !== void 0 && e.control.value > e.control.max && t("change", e.control.max), i.value = a;
906
925
  }
907
- }), (l, a) => (m(), b("div", Rt, [
908
- d("label", Ft, $(n.label), 1),
909
- d("input", {
910
- value: n.control.value,
911
- class: T(["p-2 w-1/3 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": o.value }]),
926
+ }), (a, o) => (d(), b("div", Ut, [
927
+ p("label", Kt, C(a.label), 1),
928
+ p("input", {
929
+ value: a.control.value,
930
+ class: k(["p-2 w-1/3 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": h.value }]),
912
931
  type: "number",
913
- min: n.control.min,
914
- max: n.control.max,
915
- step: n.control.step,
932
+ min: a.control.min,
933
+ max: a.control.max,
934
+ step: a.control.step,
916
935
  onInput: s,
917
- onMousedown: h,
918
- onMouseup: y
919
- }, null, 42, Yt)
936
+ onMousedown: l,
937
+ onMouseup: _
938
+ }, null, 42, Gt)
920
939
  ]));
921
940
  }
922
- }), Ht = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, Qt = { class: "text-gray-500 w-1/3" }, Zt = ["value"], Wt = /* @__PURE__ */ C({
941
+ }), Ot = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, te = { class: "text-gray-500 w-1/3" }, ee = ["value"], se = /* @__PURE__ */ v({
923
942
  __name: "TextControl",
924
943
  props: {
925
- label: null,
926
- control: null
944
+ label: {},
945
+ control: {}
927
946
  },
928
947
  emits: ["change"],
929
- setup(n, { emit: t }) {
948
+ setup(r, { emit: t }) {
930
949
  function e(s) {
931
950
  t("change", s);
932
951
  }
933
- return (s, i) => (m(), b("div", Ht, [
934
- d("label", Qt, $(n.label), 1),
935
- d("input", {
936
- value: n.control.value,
952
+ return (s, n) => (d(), b("div", Ot, [
953
+ p("label", te, C(s.label), 1),
954
+ p("input", {
955
+ value: s.control.value,
937
956
  type: "string",
938
957
  class: "p-2 w-2/3 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans",
939
958
  onChange: e
940
- }, null, 40, Zt)
959
+ }, null, 40, ee)
941
960
  ]));
942
961
  }
943
- }), Bt = { class: "flex px-4 justify-start gap-2 items-center mb-2 min-h-32px" }, Ut = { class: "text-gray-500 w-1/3" }, Kt = ["id", "checked"], Gt = ["for"], Jt = { class: "i-ic:baseline-check text-light" }, te = /* @__PURE__ */ C({
962
+ }), ne = { class: "flex px-4 justify-start gap-2 items-center mb-2 min-h-32px" }, ie = { class: "text-gray-500 w-1/3" }, re = ["id", "checked"], oe = ["for"], he = { class: "i-ic:baseline-check text-light" }, ae = /* @__PURE__ */ v({
944
963
  __name: "BooleanControl",
945
964
  props: {
946
- label: null,
947
- control: null
965
+ label: {},
966
+ control: {}
948
967
  },
949
968
  emits: ["change"],
950
- setup(n, { emit: t }) {
969
+ setup(r, { emit: t }) {
951
970
  function e(s) {
952
- const { target: i } = s;
953
- t("change", i.checked);
971
+ const { target: n } = s;
972
+ t("change", n.checked);
954
973
  }
955
- return (s, i) => (m(), b("div", Bt, [
956
- d("label", Ut, $(n.label), 1),
957
- d("input", {
958
- id: n.control.label,
959
- checked: n.control.value,
974
+ return (s, n) => (d(), b("div", ne, [
975
+ p("label", ie, C(s.label), 1),
976
+ p("input", {
977
+ id: s.control.label,
978
+ checked: s.control.value,
960
979
  class: "hidden",
961
980
  type: "checkbox",
962
981
  onInput: e
963
- }, null, 40, Kt),
964
- d("label", {
965
- for: n.control.label,
982
+ }, null, 40, re),
983
+ p("label", {
984
+ for: s.control.label,
966
985
  class: "inline-flex items-center cursor-pointer"
967
986
  }, [
968
- d("span", {
969
- class: T([{ "bg-dark-500": n.control.value, "bg-gray-200": !n.control.value }, "w-4 h-4 flex justify-center items-center rounded border border-gray-300 mr-2 transition-colors duration-200"])
987
+ p("span", {
988
+ class: k([{ "bg-dark-500": s.control.value, "bg-gray-200": !s.control.value }, "w-4 h-4 flex justify-center items-center rounded border border-gray-300 mr-2 transition-colors duration-200"])
970
989
  }, [
971
- U(d("i", Jt, null, 512), [
972
- [K, n.control.value]
990
+ et(p("i", he, null, 512), [
991
+ [st, s.control.value]
973
992
  ])
974
993
  ], 2)
975
- ], 8, Gt)
994
+ ], 8, oe)
976
995
  ]));
977
996
  }
978
- }), ee = { class: "px-4 relative flex justify-between gap-4 items-center mb-2" }, se = { class: "text-gray-500 w-1/3" }, ne = ["value", "min", "max", "step"], ie = ["value", "min", "max", "step"], re = /* @__PURE__ */ C({
997
+ }), le = { class: "px-4 relative flex justify-between gap-4 items-center mb-2" }, ue = ["value", "min", "max", "step"], ce = ["value", "min", "max", "step"], ye = /* @__PURE__ */ v({
979
998
  __name: "SliderControl",
980
999
  props: {
981
- label: null,
982
- control: null
1000
+ label: {},
1001
+ control: {}
983
1002
  },
984
1003
  emits: ["change"],
985
- setup(n, { emit: t }) {
986
- const e = n;
987
- function s(a) {
988
- const { target: x } = a;
989
- t("change", x.valueAsNumber);
1004
+ setup(r, { emit: t }) {
1005
+ const e = r;
1006
+ function s(o) {
1007
+ const { target: y } = o;
1008
+ t("change", y.valueAsNumber);
990
1009
  }
991
- const i = S(() => ({
1010
+ const n = I(() => ({
992
1011
  backgroundImage: `linear-gradient(to right, #333 0% ${100 * (e.control.value - (e.control.min || 0)) / ((e.control.max || 100) - (e.control.min || 0))}%, #e2e2e2 0%)`
993
- })), r = N(), o = w(0), h = w(!1), y = (a) => {
994
- o.value = a.clientX, h.value = !0;
995
- }, u = () => {
996
- h.value = !1;
997
- }, l = (a) => Math.floor(Math.abs(a) / 10);
998
- return E(r.x, (a) => {
999
- if (h.value) {
1000
- const x = a - o.value, c = l(x);
1001
- x > 0 ? t("change", e.control.value + 1 + c) : x < 0 && t("change", e.control.value - 1 + c), e.control.min !== void 0 && e.control.value < e.control.min && t("change", e.control.min), e.control.max !== void 0 && e.control.value > e.control.max && t("change", e.control.max), o.value = a;
1012
+ })), i = Y(), h = g(0), l = g(!1), _ = (o) => {
1013
+ h.value = o.clientX, l.value = !0;
1014
+ }, c = () => {
1015
+ l.value = !1;
1016
+ }, a = (o) => Math.floor(Math.abs(o) / 10);
1017
+ return A(i.x, (o) => {
1018
+ if (l.value) {
1019
+ const y = o - h.value, u = a(y);
1020
+ y > 0 ? t("change", e.control.value + 1 + u) : y < 0 && t("change", e.control.value - 1 + u), e.control.min !== void 0 && e.control.value < e.control.min && t("change", e.control.min), e.control.max !== void 0 && e.control.value > e.control.max && t("change", e.control.max), h.value = o;
1002
1021
  }
1003
- }), (a, x) => (m(), b("div", ee, [
1004
- d("label", se, $(n.label), 1),
1005
- d("input", {
1006
- value: n.control.value,
1022
+ }), (o, y) => (d(), b("div", le, [
1023
+ p("label", {
1024
+ class: k(["text-gray-500 w-1/3", { "flex justify-between items-center": o.control.icon }])
1025
+ }, [
1026
+ bt(C(o.label) + " ", 1),
1027
+ p("i", {
1028
+ class: k(`i-${o.control.icon}`)
1029
+ }, null, 2)
1030
+ ], 2),
1031
+ p("input", {
1032
+ value: o.control.value,
1007
1033
  class: "w-1/2 h-0.75 bg-dark-200 rounded-full appearance-none",
1008
- style: dt(z(i)),
1034
+ style: zt(n.value),
1009
1035
  type: "range",
1010
- min: n.control.min,
1011
- max: n.control.max,
1012
- step: n.control.step,
1036
+ min: o.control.min,
1037
+ max: o.control.max,
1038
+ step: o.control.step,
1013
1039
  onInput: s
1014
- }, null, 44, ne),
1015
- d("input", {
1016
- value: n.control.value,
1017
- class: T(["p-2 w-1/4 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": h.value }]),
1040
+ }, null, 44, ue),
1041
+ p("input", {
1042
+ value: o.control.value,
1043
+ class: k(["p-2 w-1/4 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": l.value }]),
1018
1044
  type: "number",
1019
- min: n.control.min,
1020
- max: n.control.max,
1021
- step: n.control.step,
1045
+ min: o.control.min,
1046
+ max: o.control.max,
1047
+ step: o.control.step,
1022
1048
  onInput: s,
1023
- onMousedown: y,
1024
- onMouseup: u
1025
- }, null, 42, ie)
1049
+ onMousedown: _,
1050
+ onMouseup: c
1051
+ }, null, 42, ce)
1026
1052
  ]));
1027
1053
  }
1028
1054
  });
1029
- const oe = (n, t) => {
1030
- const e = n.__vccOpts || n;
1031
- for (const [s, i] of t)
1032
- e[s] = i;
1055
+ const _e = (r, t) => {
1056
+ const e = r.__vccOpts || r;
1057
+ for (const [s, n] of t)
1058
+ e[s] = n;
1033
1059
  return e;
1034
- }, he = /* @__PURE__ */ oe(re, [["__scopeId", "data-v-da7e8146"]]), ae = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, le = { class: "text-gray-500 w-1/3" }, ce = ["value"], ue = ["value"], ye = /* @__PURE__ */ C({
1060
+ }, xe = /* @__PURE__ */ _e(ye, [["__scopeId", "data-v-743fd350"]]), pe = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, de = { class: "text-gray-500 w-1/3" }, fe = ["value"], ge = ["value"], me = /* @__PURE__ */ v({
1035
1061
  __name: "ColorControl",
1036
1062
  props: {
1037
- label: null,
1038
- control: null
1063
+ label: {},
1064
+ control: {}
1039
1065
  },
1040
1066
  emits: ["change"],
1041
- setup(n, { emit: t }) {
1067
+ setup(r, { emit: t }) {
1042
1068
  function e(s) {
1043
- const { target: i } = s;
1044
- t("change", i.value);
1069
+ const { target: n } = s;
1070
+ t("change", n.value);
1045
1071
  }
1046
- return (s, i) => (m(), b("div", ae, [
1047
- d("label", le, $(n.label), 1),
1048
- d("input", {
1049
- value: n.control.value,
1072
+ return (s, n) => (d(), b("div", pe, [
1073
+ p("label", de, C(s.label), 1),
1074
+ p("input", {
1075
+ value: s.control.value,
1050
1076
  type: "color",
1051
1077
  onInput: e
1052
- }, null, 40, ce),
1053
- d("input", {
1054
- value: n.control.value,
1078
+ }, null, 40, fe),
1079
+ p("input", {
1080
+ value: s.control.value,
1055
1081
  class: "p-2 w-2/3 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans",
1056
1082
  type: "text",
1057
1083
  onInput: e
1058
- }, null, 40, ue)
1084
+ }, null, 40, ge)
1059
1085
  ]));
1060
1086
  }
1061
1087
  });
1062
- function xe(n) {
1063
- return typeof n == "number" ? [n, n, n] : n instanceof I ? [n.x, n.y, n.z] : n;
1088
+ function be(r) {
1089
+ return typeof r == "number" ? [r, r, r] : r instanceof $ ? [r.x, r.y, r.z] : r;
1064
1090
  }
1065
- const _e = { class: "flex px-4 justify-between gap-2 items-center mb-2" }, de = { class: "text-gray-500 w-1/3" }, me = { class: "w-2/3 flex justify-between gap-1" }, ge = {
1091
+ const ze = { class: "flex px-4 justify-between gap-2 items-center mb-2" }, Me = { class: "text-gray-500 w-1/3" }, we = { class: "w-2/3 flex justify-between gap-1" }, ve = {
1066
1092
  key: 0,
1067
1093
  class: "font-bold px-0.5 py-1 text-0.65rem text-gray-300"
1068
- }, fe = ["value", "onInput", "onMousedown", "onMouseup"], pe = /* @__PURE__ */ C({
1094
+ }, Ce = ["value", "onInput", "onMousedown", "onMouseup"], Se = /* @__PURE__ */ v({
1069
1095
  __name: "VectorControl",
1070
1096
  props: {
1071
- label: null,
1072
- control: null
1097
+ label: {},
1098
+ control: {}
1073
1099
  },
1074
1100
  emits: ["change"],
1075
- setup(n, { emit: t }) {
1076
- const e = n, s = N(), i = w(0), r = w(!1), o = w(0), h = (_, f) => {
1077
- o.value = f, i.value = _.clientX, r.value = !0;
1078
- }, y = (_, f) => {
1079
- o.value = f, r.value = !1;
1080
- }, u = (_) => Math.floor(Math.abs(_) / 10), l = S(() => xe(e.control.value)), a = S(() => Object.keys(e.control.value)), x = S(() => e.control.value instanceof j || e.control.value instanceof I);
1081
- function c(_, f) {
1082
- const { value: p } = e.control, { target: g } = _;
1083
- o.value = f, p[x.value ? a.value[o.value] : o.value] = parseInt(g.value, 10), t("change", p);
1101
+ setup(r, { emit: t }) {
1102
+ const e = r, s = Y(), n = g(0), i = g(!1), h = g(0), l = (x, m) => {
1103
+ h.value = m, n.value = x.clientX, i.value = !0;
1104
+ }, _ = (x, m) => {
1105
+ h.value = m, i.value = !1;
1106
+ }, c = (x) => Math.floor(Math.abs(x) / 10), a = I(() => be(e.control.value)), o = I(() => Object.keys(e.control.value)), y = I(() => e.control.value instanceof H || e.control.value instanceof $);
1107
+ function u(x, m) {
1108
+ const { value: z } = e.control, { target: f } = x;
1109
+ h.value = m, z[y.value ? o.value[h.value] : h.value] = parseInt(f.value, 10), t("change", z);
1084
1110
  }
1085
- return E(s.x, (_) => {
1086
- if (r.value) {
1087
- const f = _ - i.value, p = u(f), { value: g } = e.control, M = x.value ? a.value[o.value] : o.value;
1088
- f > 0 ? g[M] += 1 + p : f < 0 && (g[M] -= 1 + p), e.control.min !== void 0 && g < e.control.min && (g[M] = e.control.min), e.control.max !== void 0 && g > e.control.max && (g[M] = e.control.max), t("change", g), i.value = _;
1111
+ return A(s.x, (x) => {
1112
+ if (i.value) {
1113
+ const m = x - n.value, z = c(m), { value: f } = e.control, M = y.value ? o.value[h.value] : h.value;
1114
+ m > 0 ? f[M] += 1 + z : m < 0 && (f[M] -= 1 + z), e.control.min !== void 0 && f < e.control.min && (f[M] = e.control.min), e.control.max !== void 0 && f > e.control.max && (f[M] = e.control.max), t("change", f), n.value = x;
1089
1115
  }
1090
- }), (_, f) => (m(), b("div", _e, [
1091
- d("label", de, $(n.label), 1),
1092
- d("div", me, [
1093
- (m(!0), b(D, null, X(z(l), (p, g) => (m(), b("div", {
1094
- key: n.label + g,
1116
+ }), (x, m) => (d(), b("div", ze, [
1117
+ p("label", Me, C(x.label), 1),
1118
+ p("div", we, [
1119
+ (d(!0), b(D, null, R(a.value, (z, f) => (d(), b("div", {
1120
+ key: x.label + f,
1095
1121
  class: "flex items-center w-1/3 bg-gray-100 rounded"
1096
1122
  }, [
1097
- z(a)[g] && z(x) ? (m(), b("span", ge, $(z(a)[g]), 1)) : G("", !0),
1098
- d("input", {
1123
+ o.value[f] && y.value ? (d(), b("span", ve, C(o.value[f]), 1)) : nt("", !0),
1124
+ p("input", {
1099
1125
  type: "text",
1100
- class: T(["w-full pl-0 p-1 text-right text-0.65rem text-gray-400 bg-transparent focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": r.value }]),
1101
- value: z(l)[g].toFixed(2),
1102
- onInput: (M) => c(M, g),
1103
- onMousedown: (M) => h(M, g),
1104
- onMouseup: (M) => y(M, g)
1105
- }, null, 42, fe)
1126
+ class: k(["w-full pl-0 p-1 text-right text-0.65rem text-gray-400 bg-transparent focus:border-gray-200 outline-none border-none font-sans", { "cursor-ew-resize": i.value }]),
1127
+ value: a.value[f].toFixed(2),
1128
+ onInput: (M) => u(M, f),
1129
+ onMousedown: (M) => l(M, f),
1130
+ onMouseup: (M) => _(M, f)
1131
+ }, null, 42, Ce)
1106
1132
  ]))), 128))
1107
1133
  ])
1108
1134
  ]));
1109
1135
  }
1110
- }), ze = { class: "bg-white rounded-b" }, Me = /* @__PURE__ */ C({
1136
+ }), ke = { class: "mb-4" }, $e = { class: "bg-white rounded-b pt-4" }, Ie = /* @__PURE__ */ v({
1111
1137
  __name: "Folder",
1112
1138
  props: {
1113
- control: null
1139
+ control: {}
1114
1140
  },
1115
- setup(n) {
1116
- function t(i, r) {
1117
- r.value = i;
1141
+ setup(r) {
1142
+ function t(n, i) {
1143
+ i.value = n;
1118
1144
  }
1119
- const e = w(!1), s = () => {
1145
+ const e = g(!1), s = () => {
1120
1146
  e.value = !e.value;
1121
1147
  };
1122
- return (i, r) => (m(), b("div", null, [
1123
- d("button", {
1148
+ return (n, i) => (d(), b("div", ke, [
1149
+ p("button", {
1124
1150
  class: "flex items-center justify-between w-full p-4 bg-gray-100 border-none text-gray-400 font-bold text-xs focus:outline-none font-sans cursor-pointer",
1125
1151
  onClick: s
1126
1152
  }, [
1127
- d("span", null, $(n.control.label), 1),
1128
- d("i", {
1129
- class: T(e.value ? "i-ic:baseline-keyboard-arrow-up" : "i-ic:baseline-keyboard-arrow-down")
1153
+ p("span", null, C(n.control.label), 1),
1154
+ p("i", {
1155
+ class: k(e.value ? "i-ic:baseline-keyboard-arrow-up" : "i-ic:baseline-keyboard-arrow-down")
1130
1156
  }, null, 2)
1131
1157
  ]),
1132
- mt(gt, {
1133
- name: "animate__animated",
1134
- "enter-active-class": "animate__fadeIn",
1135
- "leave-active-class": "animate__fadeOut"
1158
+ Mt(wt, {
1159
+ name: "slide",
1160
+ "enter-active-class": " animate-fade-in animate-duration-200 animate-ease-in-out",
1161
+ "leave-active-class": " animate-fade-out animate-duration-200 animate-ease-in-out"
1136
1162
  }, {
1137
- default: J(() => [
1138
- U(d("div", ze, [
1139
- (m(!0), b(D, null, X(n.control.controls, (o) => (m(), v(rt, {
1140
- key: o.label,
1141
- control: o,
1142
- onChange: r[0] || (r[0] = (h) => t(h, n.control))
1143
- }, null, 8, ["control"]))), 128))
1163
+ default: it(() => [
1164
+ et(p("div", $e, [
1165
+ (d(!0), b(D, null, R(n.control.controls, (h) => (d(), w(ut, {
1166
+ key: h.label,
1167
+ control: h,
1168
+ onChange: (l) => t(l, h)
1169
+ }, null, 8, ["control", "onChange"]))), 128))
1144
1170
  ], 512), [
1145
- [K, e.value]
1171
+ [st, e.value]
1146
1172
  ])
1147
1173
  ]),
1148
1174
  _: 1
1149
1175
  })
1150
1176
  ]));
1151
1177
  }
1152
- }), rt = /* @__PURE__ */ C({
1178
+ }), Ae = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Ee = { class: "text-gray-500 w-1/3" }, Te = { class: "relative w-2/3 p-1 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans" }, je = { class: "absolute bottom-0.5 right-0.5 font-sans text-xs" }, qe = ["points"], G = 160, F = 40, E = 2, J = 100, O = 20, Pe = /* @__PURE__ */ v({
1179
+ __name: "FPSGraph",
1180
+ props: {
1181
+ label: {},
1182
+ control: {}
1183
+ },
1184
+ setup(r) {
1185
+ const t = kt({ every: J }), e = g(""), s = g([]), n = g(G / E);
1186
+ let i = performance.now();
1187
+ return $t(({ timestamp: h }) => {
1188
+ h - i >= J && (i = h, s.value.push(t.value), s.value.length > n.value && s.value.shift(), e.value = s.value.map(
1189
+ (l, _) => `${_ * E},${F + O - E / 2 - l * (F + O - E) / 120}`
1190
+ ).join(" "));
1191
+ }), (h, l) => (d(), b("div", Ae, [
1192
+ p("label", Ee, C(h.label), 1),
1193
+ p("div", Te, [
1194
+ p("div", je, C(Math.round(T(t))) + " FPS", 1),
1195
+ (d(), b("svg", {
1196
+ width: G,
1197
+ height: F,
1198
+ xmlns: "http://www.w3.org/2000/svg",
1199
+ class: "bg-gray-100"
1200
+ }, [
1201
+ p("polyline", {
1202
+ points: e.value,
1203
+ fill: "none",
1204
+ stroke: "lightgray",
1205
+ "stroke-width": E,
1206
+ "stroke-linecap": "round",
1207
+ "stroke-linejoin": "round"
1208
+ }, null, 8, qe)
1209
+ ]))
1210
+ ])
1211
+ ]));
1212
+ }
1213
+ }), ut = /* @__PURE__ */ v({
1153
1214
  __name: "ControlInput",
1154
1215
  props: {
1155
- control: null
1216
+ control: {}
1156
1217
  },
1157
1218
  emits: ["change"],
1158
- setup(n, { emit: t }) {
1159
- const e = n, s = S(
1160
- () => e.control.type === "number" && (e.control.step || e.control.max || e.control.min)
1161
- ), i = S(() => {
1162
- const h = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$|^0x([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
1163
- return e.control.type === "color" || h.test(e.control.value);
1164
- }), r = S(
1165
- () => e.control.value instanceof Array || e.control.value instanceof j || e.control.value instanceof I
1166
- );
1167
- function o(h) {
1168
- t("change", h);
1219
+ setup(r, { emit: t }) {
1220
+ function e(s) {
1221
+ t("change", s);
1169
1222
  }
1170
- return (h, y) => n.control.visible ? (m(), b(D, { key: 0 }, [
1171
- z(i) ? (m(), v(ye, {
1223
+ return (s, n) => s.control.visible ? (d(), b(D, { key: 0 }, [
1224
+ s.control.type === "color" ? (d(), w(me, {
1172
1225
  key: 0,
1173
- label: n.control.label,
1174
- control: n.control,
1175
- onChange: o
1176
- }, null, 8, ["label", "control"])) : z(r) ? (m(), v(pe, {
1226
+ label: s.control.label,
1227
+ control: s.control,
1228
+ onChange: e
1229
+ }, null, 8, ["label", "control"])) : s.control.type === "vector" ? (d(), w(Se, {
1177
1230
  key: 1,
1178
- label: n.control.label,
1179
- control: n.control,
1180
- onChange: o
1181
- }, null, 8, ["label", "control"])) : n.control.type === "boolean" ? (m(), v(te, {
1231
+ label: s.control.label,
1232
+ control: s.control,
1233
+ onChange: e
1234
+ }, null, 8, ["label", "control"])) : s.control.type === "boolean" ? (d(), w(ae, {
1182
1235
  key: 2,
1183
- label: n.control.label,
1184
- control: n.control,
1185
- onChange: o
1186
- }, null, 8, ["label", "control"])) : n.control.type === "folder" ? (m(), v(Me, {
1236
+ label: s.control.label,
1237
+ control: s.control,
1238
+ onChange: e
1239
+ }, null, 8, ["label", "control"])) : s.control.type === "fpsgraph" ? (d(), w(Pe, {
1187
1240
  key: 3,
1188
- label: n.control.label,
1189
- control: n.control
1190
- }, null, 8, ["label", "control"])) : z(s) ? z(s) ? (m(), v(he, {
1241
+ label: s.control.label,
1242
+ control: s.control
1243
+ }, null, 8, ["label", "control"])) : s.control.type === "folder" ? (d(), w(Ie, {
1244
+ key: 4,
1245
+ label: s.control.label,
1246
+ control: s.control
1247
+ }, null, 8, ["label", "control"])) : s.control.type === "number" ? (d(), w(Jt, {
1191
1248
  key: 5,
1192
- label: n.control.label,
1193
- control: n.control,
1194
- onChange: o
1195
- }, null, 8, ["label", "control"])) : (m(), v(Wt, {
1249
+ label: s.control.label,
1250
+ control: s.control,
1251
+ onChange: e
1252
+ }, null, 8, ["label", "control"])) : s.control.type === "range" ? (d(), w(xe, {
1196
1253
  key: 6,
1197
- label: n.control.label,
1198
- control: n.control,
1199
- onChange: o
1200
- }, null, 8, ["label", "control"])) : (m(), v(Ot, {
1201
- key: 4,
1202
- label: n.control.label,
1203
- control: n.control,
1204
- onChange: o
1254
+ label: s.control.label,
1255
+ control: s.control,
1256
+ onChange: e
1257
+ }, null, 8, ["label", "control"])) : (d(), w(se, {
1258
+ key: 7,
1259
+ label: s.control.label,
1260
+ control: s.control,
1261
+ onChange: e
1205
1262
  }, null, 8, ["label", "control"]))
1206
- ], 64)) : G("", !0);
1207
- }
1208
- }), be = { class: "bg-white shadow-xl rounded border-4 border-solid border-black" }, we = /* @__PURE__ */ d("i", { class: "h-4 w-4 p-1.5 flex items-center line-height-0 rounded-full bg-gray-100 text-xs" }, "🍰", -1), ve = /* @__PURE__ */ d("div", null, [
1209
- /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" }),
1210
- /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" }),
1211
- /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" })
1212
- ], -1), Ce = /* @__PURE__ */ d("div", null, null, -1), Se = [
1213
- we,
1214
- ve,
1215
- Ce
1216
- ], Ie = /* @__PURE__ */ C({
1263
+ ], 64)) : nt("", !0);
1264
+ }
1265
+ }), De = { class: "bg-white shadow-xl rounded border-4 border-solid border-black" }, Ve = /* @__PURE__ */ p("i", { class: "h-4 w-4 p-1.5 flex items-center line-height-0 rounded-full bg-gray-100 text-xs" }, "🍰", -1), Le = /* @__PURE__ */ p("div", null, [
1266
+ /* @__PURE__ */ p("i", { class: "i-ic-baseline-drag-indicator" }),
1267
+ /* @__PURE__ */ p("i", { class: "i-ic-baseline-drag-indicator" }),
1268
+ /* @__PURE__ */ p("i", { class: "i-ic-baseline-drag-indicator" })
1269
+ ], -1), Xe = /* @__PURE__ */ p("div", null, null, -1), Fe = [
1270
+ Ve,
1271
+ Le,
1272
+ Xe
1273
+ ], Re = 280, Qe = /* @__PURE__ */ v({
1217
1274
  __name: "TresLeches",
1218
- setup(n) {
1219
- const { width: t } = Mt(), e = 280, s = w(null), i = Xt();
1220
- function r(o, h) {
1221
- h.value = o;
1275
+ setup(r) {
1276
+ const { width: t } = It(), e = g(null), s = Zt();
1277
+ function n(i, h) {
1278
+ h.ref && (h.ref[h.label] = i), h.value = i;
1222
1279
  }
1223
- return (o, h) => (m(), v(z(Dt), {
1224
- "initial-value": { x: z(t) - e - 20, y: 10 },
1280
+ return (i, h) => (d(), w(T(Yt), {
1281
+ "initial-value": { x: T(t) - Re - 20, y: 10 },
1225
1282
  class: "fixed select-none z-24 w-280px font-sans text-xs",
1226
- handle: s.value
1283
+ handle: e.value
1227
1284
  }, {
1228
- default: J(() => [
1229
- d("div", be, [
1230
- d("header", {
1285
+ default: it(() => [
1286
+ p("div", De, [
1287
+ p("header", {
1231
1288
  ref_key: "handle",
1232
- ref: s,
1289
+ ref: e,
1233
1290
  class: "relative cursor-grabbing p-4 flex justify-between text-gray-200 relative"
1234
- }, Se, 512),
1235
- (m(!0), b(D, null, X(z(i).controls, (y) => (m(), v(rt, {
1236
- key: y.label,
1237
- control: y,
1238
- onChange: (u) => r(u, y)
1291
+ }, Fe, 512),
1292
+ (d(!0), b(D, null, R(T(s).controls, (l) => (d(), w(ut, {
1293
+ key: l.label,
1294
+ control: l,
1295
+ onChange: (_) => n(_, l)
1239
1296
  }, null, 8, ["control", "onChange"]))), 128))
1240
1297
  ])
1241
1298
  ]),
@@ -1244,6 +1301,6 @@ const _e = { class: "flex px-4 justify-between gap-2 items-center mb-2" }, de =
1244
1301
  }
1245
1302
  });
1246
1303
  export {
1247
- Ie as TresLeches,
1248
- Ee as useControls
1304
+ Qe as TresLeches,
1305
+ He as useControls
1249
1306
  };