@tresjs/leches 0.12.0 → 0.12.1

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,99 +1,99 @@
1
1
  /**
2
2
  * name: @tresjs/leches
3
- * version: v0.12.0
3
+ * version: v0.12.1
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 F, isRef as W, toRefs as z, customRef as ie, ref as g, watch as V, computed as U, defineComponent as S, reactive as L, h as de, provide as fe, isReactive as pe, openBlock as v, createElementBlock as _, createElementVNode as d, toDisplayString as M, normalizeClass as A, withDirectives as te, vShow as oe, createTextVNode as ve, normalizeStyle as ge, Fragment as q, renderList as B, createCommentVNode as j, createBlock as k, createVNode as ye, Transition as he, withCtx as le } from "vue";
9
- import { useWindowSize as ae, useEventListener as Y, useStorage as be, isClient as me, useMouse as J, useMousePressed as _e, useKeyModifier as Q, useFps as xe, useRafFn as we } from "@vueuse/core";
10
- function E(n) {
11
- return typeof n == "function" ? n() : F(n);
8
+ import { unref as F, isRef as R, toRefs as X, customRef as de, ref as f, watch as z, computed as O, defineComponent as M, reactive as N, h as pe, provide as fe, isReactive as ve, openBlock as p, createElementBlock as x, createElementVNode as d, toDisplayString as k, normalizeClass as K, withDirectives as oe, vShow as le, createTextVNode as ge, normalizeStyle as ye, Fragment as U, renderList as W, createCommentVNode as Y, createBlock as C, createVNode as be, Transition as he, withCtx as ae } from "vue";
9
+ import { useWindowSize as re, useEventListener as H, useStorage as me, isClient as _e, useMouse as Q, useMousePressed as xe, useKeyModifier as Z, useFps as we, useRafFn as $e } from "@vueuse/core";
10
+ function E(t) {
11
+ return typeof t == "function" ? t() : F(t);
12
12
  }
13
- const re = typeof window < "u" && typeof document < "u";
14
- function $e(n, l = {}) {
15
- if (!W(n))
16
- return z(n);
17
- const t = Array.isArray(n.value) ? Array.from({ length: n.value.length }) : {};
18
- for (const e in n.value)
19
- t[e] = ie(() => ({
13
+ const se = typeof window < "u" && typeof document < "u";
14
+ function Ce(t, i = {}) {
15
+ if (!R(t))
16
+ return X(t);
17
+ const n = Array.isArray(t.value) ? Array.from({ length: t.value.length }) : {};
18
+ for (const o in t.value)
19
+ n[o] = de(() => ({
20
20
  get() {
21
- return n.value[e];
21
+ return t.value[o];
22
22
  },
23
- set(a) {
24
- var r;
25
- if ((r = E(l.replaceRef)) != null ? r : !0)
26
- if (Array.isArray(n.value)) {
27
- const c = [...n.value];
28
- c[e] = a, n.value = c;
23
+ set(e) {
24
+ var u;
25
+ if ((u = E(i.replaceRef)) != null ? u : !0)
26
+ if (Array.isArray(t.value)) {
27
+ const s = [...t.value];
28
+ s[o] = e, t.value = s;
29
29
  } else {
30
- const c = { ...n.value, [e]: a };
31
- Object.setPrototypeOf(c, Object.getPrototypeOf(n.value)), n.value = c;
30
+ const s = { ...t.value, [o]: e };
31
+ Object.setPrototypeOf(s, Object.getPrototypeOf(t.value)), t.value = s;
32
32
  }
33
33
  else
34
- n.value[e] = a;
34
+ t.value[o] = e;
35
35
  }
36
36
  }));
37
- return t;
37
+ return n;
38
38
  }
39
- const Ce = re ? window : void 0;
40
- function ke(n, l = {}) {
39
+ const ke = se ? window : void 0;
40
+ function Me(t, i = {}) {
41
41
  const {
42
- pointerTypes: t,
43
- preventDefault: e,
44
- stopPropagation: a,
45
- exact: r,
46
- onMove: u,
47
- onEnd: c,
48
- onStart: f,
49
- initialValue: h,
50
- axis: i = "both",
51
- draggingElement: o = Ce,
52
- handle: p = n
53
- } = l, { width: b } = ae();
54
- let D = b.value;
55
- const y = g(
56
- E(h) ?? { x: 0, y: 0 }
42
+ pointerTypes: n,
43
+ preventDefault: o,
44
+ stopPropagation: e,
45
+ exact: u,
46
+ onMove: a,
47
+ onEnd: s,
48
+ onStart: c,
49
+ initialValue: m,
50
+ axis: h = "both",
51
+ draggingElement: r = ke,
52
+ handle: l = t
53
+ } = i, { width: y } = re();
54
+ let S = y.value;
55
+ const v = f(
56
+ E(m) ?? { x: 0, y: 0 }
57
57
  );
58
- V(b, () => {
59
- const s = b.value - D;
60
- y.value.x += s, D = b.value;
58
+ z(y, () => {
59
+ const g = y.value - S;
60
+ v.value.x += g, S = y.value;
61
61
  });
62
- const K = g(), I = (s) => t ? t.includes(s.pointerType) : !0, w = (s) => {
63
- E(e) && s.preventDefault(), E(a) && s.stopPropagation();
64
- }, $ = (s) => {
65
- if (!I(s) || E(r) && s.target !== E(n))
62
+ const T = f(), D = (g) => n ? n.includes(g.pointerType) : !0, $ = (g) => {
63
+ E(o) && g.preventDefault(), E(e) && g.stopPropagation();
64
+ }, A = (g) => {
65
+ if (!D(g) || E(u) && g.target !== E(t))
66
66
  return;
67
- const x = E(n).getBoundingClientRect(), C = {
68
- x: s.clientX - x.left,
69
- y: s.clientY - x.top
67
+ const b = E(t).getBoundingClientRect(), w = {
68
+ x: g.clientX - b.left,
69
+ y: g.clientY - b.top
70
70
  };
71
- (f == null ? void 0 : f(C, s)) !== !1 && (K.value = C, w(s));
72
- }, X = (s) => {
73
- if (!I(s) || !K.value)
71
+ (c == null ? void 0 : c(w, g)) !== !1 && (T.value = w, $(g));
72
+ }, V = (g) => {
73
+ if (!D(g) || !T.value)
74
74
  return;
75
- let { x, y: C } = y.value;
76
- (i === "x" || i === "both") && (x = s.clientX - K.value.x), (i === "y" || i === "both") && (C = s.clientY - K.value.y), y.value = {
77
- x,
78
- y: C
79
- }, u == null || u(y.value, s), w(s);
80
- }, R = (s) => {
81
- I(s) && K.value && (K.value = void 0, c == null || c(y.value, s), w(s));
75
+ let { x: b, y: w } = v.value;
76
+ (h === "x" || h === "both") && (b = g.clientX - T.value.x), (h === "y" || h === "both") && (w = g.clientY - T.value.y), v.value = {
77
+ x: b,
78
+ y: w
79
+ }, a == null || a(v.value, g), $(g);
80
+ }, L = (g) => {
81
+ D(g) && T.value && (T.value = void 0, s == null || s(v.value, g), $(g));
82
82
  };
83
- if (re) {
84
- const s = { capture: l.capture ?? !0 };
85
- Y(p, "pointerdown", $, s), Y(o, "pointermove", X, s), Y(o, "pointerup", R, s);
83
+ if (se) {
84
+ const g = { capture: i.capture ?? !0 };
85
+ H(l, "pointerdown", A, g), H(r, "pointermove", V, g), H(r, "pointerup", L, g);
86
86
  }
87
87
  return {
88
- ...$e(y),
89
- position: y,
90
- isDragging: U(() => !!K.value),
91
- style: U(
92
- () => `left:${y.value.x}px;top:${y.value.y}px;`
88
+ ...Ce(v),
89
+ position: v,
90
+ isDragging: O(() => !!T.value),
91
+ style: O(
92
+ () => `left:${v.value.x}px;top:${v.value.y}px;`
93
93
  )
94
94
  };
95
95
  }
96
- const Me = /* @__PURE__ */ S({
96
+ const Se = /* @__PURE__ */ M({
97
97
  name: "UseDraggable",
98
98
  props: [
99
99
  "storageKey",
@@ -110,136 +110,132 @@ const Me = /* @__PURE__ */ S({
110
110
  "onMove",
111
111
  "onEnd"
112
112
  ],
113
- setup(n, { slots: l }) {
114
- const t = g(), e = U(() => n.handle ?? t.value), a = n.storageKey && be(
115
- n.storageKey,
116
- E(n.initialValue) || { x: 0, y: 0 },
117
- me ? n.storageType === "session" ? sessionStorage : localStorage : void 0
118
- ), r = a || n.initialValue || { x: 0, y: 0 }, c = L(ke(t, {
119
- ...n,
120
- handle: e,
121
- initialValue: r,
122
- onEnd: (f, h) => {
123
- var i;
124
- (i = n.onEnd) == null || i.call(n, f, h), a && (a.value.x = f.x, a.value.y = f.y);
113
+ setup(t, { slots: i }) {
114
+ const n = f(), o = O(() => t.handle ?? n.value), e = t.storageKey && me(
115
+ t.storageKey,
116
+ E(t.initialValue) || { x: 0, y: 0 },
117
+ _e ? t.storageType === "session" ? sessionStorage : localStorage : void 0
118
+ ), u = e || t.initialValue || { x: 0, y: 0 }, s = N(Me(n, {
119
+ ...t,
120
+ handle: o,
121
+ initialValue: u,
122
+ onEnd: (c, m) => {
123
+ var h;
124
+ (h = t.onEnd) == null || h.call(t, c, m), e && (e.value.x = c.x, e.value.y = c.y);
125
125
  }
126
126
  }));
127
127
  return () => {
128
- if (l.default)
129
- return de(n.as || "div", { ref: t, style: `touch-action:none;${c.style}` }, l.default(c));
128
+ if (i.default)
129
+ return pe(t.as || "div", { ref: n, style: `touch-action:none;${s.style}` }, i.default(s));
130
130
  };
131
131
  }
132
- }), Se = Symbol("CONTROLS_CONTEXT_KEY"), se = "default", O = L({});
133
- function Ke(n = se) {
134
- return fe(Se, O), O[n];
132
+ }), Te = Symbol("CONTROLS_CONTEXT_KEY"), ie = "default", P = N({});
133
+ function Ae(t = ie) {
134
+ return fe(Te, P), P[t];
135
135
  }
136
- const H = (n) => {
137
- const l = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$|^0x([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
138
- return typeof n == "boolean" ? "boolean" : typeof n == "number" ? "number" : typeof n == "string" && l.test(n) ? "color" : typeof n == "string" ? "string" : n.isVector3 || n.isVector2 || n.isEuler || n instanceof Array ? "vector" : n.min !== void 0 || n.max !== void 0 || n.step !== void 0 ? "range" : n.options && Array.isArray(n.options) ? "select" : "unknown";
139
- }, N = (n, l, t, e) => {
140
- const a = {
141
- key: g(n),
142
- label: g(n),
143
- name: g(n),
144
- type: g(t),
145
- value: g(l),
146
- visible: g(!0),
147
- [n]: g(l)
136
+ const G = (t) => {
137
+ const i = /^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$|^0x([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/;
138
+ return typeof t == "boolean" ? "boolean" : typeof t == "number" ? "number" : typeof t == "string" && i.test(t) ? "color" : typeof t == "string" ? "string" : t.isVector3 || t.isVector2 || t.isEuler || t instanceof Array ? "vector" : t.min !== void 0 || t.max !== void 0 || t.step !== void 0 ? "range" : t.options && Array.isArray(t.options) ? "select" : "unknown";
139
+ }, j = (t, i, n, o) => {
140
+ const e = {
141
+ key: f(t),
142
+ label: f(t),
143
+ name: f(t),
144
+ type: f(n),
145
+ value: f(i),
146
+ visible: f(!0),
147
+ [t]: f(i)
148
148
  };
149
- return e && (a.folder = g(e)), a;
150
- }, Te = (n, l) => {
151
- let t = 1, e = `${n}_${t}`;
152
- for (; l[e]; )
153
- t++, e = `${n}_${t}`;
154
- return e;
155
- }, Fn = (n, l, t) => {
156
- const e = {}, a = typeof n == "string" ? n : null, r = a ? l : n, u = a && a !== "fpsgraph" ? t : l, c = (u == null ? void 0 : u.uuid) || se;
157
- if (O[c] || (O[c] = L({})), n === "fpsgraph") {
158
- const o = N("fpsgraph", null, "fpsgraph", null);
159
- return O[c].fpsgraph = o, e.fpsgraph = o, z(L(e));
149
+ return o && (e.folder = f(o)), e;
150
+ }, Dt = (t, i, n) => {
151
+ const o = {}, e = typeof t == "string" ? t : null, u = e ? i : t, a = e && e !== "fpsgraph" ? n : i, s = (a == null ? void 0 : a.uuid) || ie;
152
+ if (P[s] || (P[s] = N({})), t === "fpsgraph") {
153
+ const r = j("fpsgraph", null, "fpsgraph", null);
154
+ return P[s].fpsgraph = r, o.fpsgraph = r, X(N(o));
160
155
  }
161
- const f = O[c], h = pe(r), i = h ? z(r) : {};
162
- for (const o in r) {
163
- let p = r[o], b = o;
164
- if (h && i[o] && (p = i[o]), a && (b = `${a}${o.charAt(0).toUpperCase() + o.slice(1)}`), !a && f[b] && (b = Te(o, f)), typeof p == "object" && !W(p) && !Array.isArray(p) && p.value !== void 0) {
165
- const y = p, K = W(y.value) ? y.value : g(y.value), I = H(y), w = N(o, K, I, a);
166
- I === "select" && (w.options = g(y.options.map(($) => typeof $ == "object" && $.text && $.value ? $ : {
167
- text: $,
168
- value: $
169
- }))), I === "range" && (w.min = g(y.min || 0), w.max = g(y.max || 1), w.step = g(y.step || 0.1)), w.label.value = y.label || o, w.visible.value = y.visible !== void 0 ? y.visible : !0, f[b] = w, e[b] = w;
156
+ const c = P[s], m = ve(u), h = m ? X(u) : {};
157
+ for (const r in u) {
158
+ let l = u[r], y = r;
159
+ if (m && h[r] && (l = h[r]), e && (y = `${e}${r.charAt(0).toUpperCase() + r.slice(1)}`), typeof l == "object" && !R(l) && !Array.isArray(l) && l.value !== void 0) {
160
+ const v = l, T = R(v.value) ? v.value : f(v.value), D = G(v), $ = j(r, T, D, e);
161
+ D === "select" && ($.options = f(v.options.map((A) => typeof A == "object" && A.text && A.value ? A : {
162
+ text: A,
163
+ value: A
164
+ }))), D === "range" && ($.min = f(v.min || 0), $.max = f(v.max || 1), $.step = f(v.step || 0.1)), $.label.value = v.label || r, $.visible.value = v.visible !== void 0 ? v.visible : !0, c[y] = $, o[y] = $;
170
165
  continue;
171
166
  }
172
- if (W(p)) {
173
- const y = N(o, p, H(p.value), a);
174
- f[b] = y, e[b] = y;
167
+ if (R(l)) {
168
+ const v = j(r, l, G(l.value), e);
169
+ c[y] = v, o[y] = v;
175
170
  continue;
176
- } else if (typeof p == "object" && !Array.isArray(p)) {
177
- const y = z(p);
178
- y[o] && (p = y[o]);
171
+ } else if (typeof l == "object" && !Array.isArray(l)) {
172
+ const v = X(l);
173
+ v[r] && (l = v[r]);
179
174
  }
180
- const D = N(o, p, H(p), a);
181
- f[b] = D, e[b] = D, D.uniqueKey = b;
175
+ const S = j(r, l, G(l), e);
176
+ c[y] = S, o[y] = S, S.uniqueKey = y;
182
177
  }
183
- return Object.keys(e).length > 1 ? z(L(e)) : Object.values(e)[0];
184
- }, Ae = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Ie = ["for"], De = ["id", "value", "min", "max", "step"], Fe = /* @__PURE__ */ S({
178
+ return Object.keys(o).length > 1 ? X(N(o)) : Object.values(o)[0];
179
+ }, Ie = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Ke = ["for"], De = ["id", "value", "min", "max", "step"], Fe = /* @__PURE__ */ M({
185
180
  __name: "NumberControl",
186
181
  props: {
187
182
  label: {},
188
183
  control: {}
189
184
  },
190
185
  emits: ["change"],
191
- setup(n, { emit: l }) {
192
- const t = n;
193
- function e(i) {
194
- const { target: o } = i;
195
- l("change", o.valueAsNumber);
186
+ setup(t, { emit: i }) {
187
+ const n = t, o = i;
188
+ function e(r) {
189
+ const { target: l } = r;
190
+ o("change", l.valueAsNumber);
196
191
  }
197
- const a = J(), r = g(0), u = g(!1), c = (i) => {
198
- r.value = i.clientX, u.value = !0;
199
- }, f = () => {
200
- u.value = !1;
201
- }, h = (i) => Math.floor(Math.abs(i) / 10);
202
- return V(a.x, (i) => {
203
- if (u.value) {
204
- const o = i - r.value, p = h(o);
205
- o > 0 ? l("change", t.control.value + 1 + p) : o < 0 && l("change", t.control.value - 1 + p), t.control.min !== void 0 && t.control.value < t.control.min && l("change", t.control.min), t.control.max !== void 0 && t.control.value > t.control.max && l("change", t.control.max), r.value = i;
192
+ const u = Q(), a = f(0), s = f(!1), c = (r) => {
193
+ a.value = r.clientX, s.value = !0;
194
+ }, m = () => {
195
+ s.value = !1;
196
+ }, h = (r) => Math.floor(Math.abs(r) / 10);
197
+ return z(u.x, (r) => {
198
+ if (s.value) {
199
+ const l = r - a.value, y = h(l);
200
+ l > 0 ? o("change", n.control.value + 1 + y) : l < 0 && o("change", n.control.value - 1 + y), n.control.min !== void 0 && n.control.value < n.control.min && o("change", n.control.min), n.control.max !== void 0 && n.control.value > n.control.max && o("change", n.control.max), a.value = r;
206
201
  }
207
- }), (i, o) => (v(), _("div", Ae, [
202
+ }), (r, l) => (p(), x("div", Ie, [
208
203
  d("label", {
209
204
  class: "text-gray-500 w-1/3",
210
- for: i.control.uniqueKey
211
- }, M(i.label), 9, Ie),
205
+ for: r.control.uniqueKey
206
+ }, k(r.label), 9, Ke),
212
207
  d("input", {
213
- id: i.control.uniqueKey,
214
- value: i.control.value,
215
- class: A(["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": u.value }]),
208
+ id: r.control.uniqueKey,
209
+ value: r.control.value,
210
+ 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": s.value }]),
216
211
  type: "number",
217
- min: i.control.min,
218
- max: i.control.max,
219
- step: i.control.step,
212
+ min: r.control.min,
213
+ max: r.control.max,
214
+ step: r.control.step,
220
215
  onInput: e,
221
216
  onMousedown: c,
222
- onMouseup: f
217
+ onMouseup: m
223
218
  }, null, 42, De)
224
219
  ]));
225
220
  }
226
- }), Ee = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, Ve = ["for"], qe = ["id", "value", "aria-label"], Ue = /* @__PURE__ */ S({
221
+ }), Ee = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, Ve = ["for"], qe = ["id", "value", "aria-label"], ze = /* @__PURE__ */ M({
227
222
  __name: "TextControl",
228
223
  props: {
229
224
  label: {},
230
225
  control: {}
231
226
  },
232
227
  emits: ["change"],
233
- setup(n, { emit: l }) {
234
- function t(e) {
235
- const { target: a } = e;
236
- l("change", a.value);
228
+ setup(t, { emit: i }) {
229
+ const n = i;
230
+ function o(e) {
231
+ const { target: u } = e;
232
+ n("change", u.value);
237
233
  }
238
- return (e, a) => (v(), _("div", Ee, [
234
+ return (e, u) => (p(), x("div", Ee, [
239
235
  d("label", {
240
236
  for: e.control.uniqueKey,
241
237
  class: "text-gray-500 w-1/3"
242
- }, M(e.label), 9, Ve),
238
+ }, k(e.label), 9, Ve),
243
239
  d("input", {
244
240
  id: e.control.uniqueKey,
245
241
  value: e.control.value,
@@ -248,138 +244,139 @@ const H = (n) => {
248
244
  class: "p-2 w-2/3 rounded text-right text-xs text-gray-400 bg-gray-100 focus:border-gray-200 border-none font-sans",
249
245
  "aria-label": e.label,
250
246
  placeholder: "Enter value here...",
251
- onChange: t
247
+ onChange: o
252
248
  }, null, 40, qe)
253
249
  ]));
254
250
  }
255
- }), ze = { class: "flex px-4 justify-start gap-2 items-center mb-2 min-h-32px" }, Oe = { class: "text-gray-500 w-1/3" }, Xe = ["id", "checked"], Pe = ["for"], Le = ["aria-checked"], Be = { class: "i-ic:baseline-check text-light" }, Ne = /* @__PURE__ */ S({
251
+ }), Ue = { class: "flex px-4 justify-start gap-2 items-center mb-2 min-h-32px" }, Oe = { class: "text-gray-500 w-1/3" }, Xe = ["id", "checked"], Pe = ["for"], Le = ["aria-checked"], Be = { class: "i-ic:baseline-check text-light" }, Ne = /* @__PURE__ */ M({
256
252
  __name: "BooleanControl",
257
253
  props: {
258
254
  label: {},
259
255
  control: {}
260
256
  },
261
257
  emits: ["change"],
262
- setup(n, { emit: l }) {
263
- const t = n;
264
- function e(r) {
265
- const { target: u } = r;
266
- l("change", u.checked);
258
+ setup(t, { emit: i }) {
259
+ const n = t, o = i;
260
+ function e(a) {
261
+ const { target: s } = a;
262
+ o("change", s.checked);
267
263
  }
268
- function a(r) {
269
- (r.code === "Space" || r.code === "Enter") && (r.preventDefault(), l("change", !t.control.value));
264
+ function u(a) {
265
+ (a.code === "Space" || a.code === "Enter") && (a.preventDefault(), o("change", !n.control.value));
270
266
  }
271
- return (r, u) => (v(), _("div", ze, [
272
- d("label", Oe, M(r.label), 1),
267
+ return (a, s) => (p(), x("div", Ue, [
268
+ d("label", Oe, k(a.label), 1),
273
269
  d("input", {
274
- id: r.control.uniqueKey,
275
- checked: r.control.value,
270
+ id: a.control.uniqueKey,
271
+ checked: a.control.value,
276
272
  class: "hidden",
277
273
  type: "checkbox",
278
274
  onInput: e
279
275
  }, null, 40, Xe),
280
276
  d("label", {
281
- for: r.control.uniqueKey,
277
+ for: a.control.uniqueKey,
282
278
  class: "inline-flex items-center cursor-pointer"
283
279
  }, [
284
280
  d("span", {
285
281
  tabindex: "0",
286
282
  role: "checkbox",
287
- "aria-checked": r.control.value.toString(),
288
- class: A([{ "bg-dark-500": r.control.value, "bg-gray-200": !r.control.value }, "w-4 h-4 flex justify-center items-center rounded border border-gray-300 mr-2 transition-colors duration-200"]),
289
- onKeydown: a
283
+ "aria-checked": a.control.value.toString(),
284
+ class: K([{ "bg-dark-500": a.control.value, "bg-gray-200": !a.control.value }, "w-4 h-4 flex justify-center items-center rounded border border-gray-300 mr-2 transition-colors duration-200"]),
285
+ onKeydown: u
290
286
  }, [
291
- te(d("i", Be, null, 512), [
292
- [oe, r.control.value]
287
+ oe(d("i", Be, null, 512), [
288
+ [le, a.control.value]
293
289
  ])
294
290
  ], 42, Le)
295
291
  ], 8, Pe)
296
292
  ]));
297
293
  }
298
- }), We = { class: "px-4 relative flex justify-between gap-4 items-center mb-2" }, je = ["value", "min", "max", "step"], Re = ["value", "min", "max", "step"], Ye = /* @__PURE__ */ S({
294
+ }), We = { class: "px-4 relative flex justify-between gap-4 items-center mb-2" }, je = ["value", "min", "max", "step"], Re = ["value", "min", "max", "step"], Ye = /* @__PURE__ */ M({
299
295
  __name: "SliderControl",
300
296
  props: {
301
297
  label: {},
302
298
  control: {}
303
299
  },
304
300
  emits: ["change"],
305
- setup(n, { emit: l }) {
306
- const t = n;
307
- function e(o) {
308
- const { target: p } = o;
309
- l("change", p.valueAsNumber);
301
+ setup(t, { emit: i }) {
302
+ const n = t, o = i;
303
+ function e(l) {
304
+ const { target: y } = l;
305
+ o("change", y.valueAsNumber);
310
306
  }
311
- const a = U(() => ({
312
- backgroundImage: `linear-gradient(to right, #333 0% ${100 * (t.control.value - (t.control.min || 0)) / ((t.control.max || 100) - (t.control.min || 0))}%, #e2e2e2 0%)`
313
- })), r = J(), u = g(0), c = g(!1), f = (o) => {
314
- u.value = o.clientX, c.value = !0;
307
+ const u = O(() => ({
308
+ backgroundImage: `linear-gradient(to right, #333 0% ${100 * (n.control.value - (n.control.min || 0)) / ((n.control.max || 100) - (n.control.min || 0))}%, #e2e2e2 0%)`
309
+ })), a = Q(), s = f(0), c = f(!1), m = (l) => {
310
+ s.value = l.clientX, c.value = !0;
315
311
  }, h = () => {
316
312
  c.value = !1;
317
- }, i = (o) => Math.floor(Math.abs(o) / 10);
318
- return V(r.x, (o) => {
313
+ }, r = (l) => Math.floor(Math.abs(l) / 10);
314
+ return z(a.x, (l) => {
319
315
  if (c.value) {
320
- const p = o - u.value, b = i(p);
321
- p > 0 ? l("change", t.control.value + 1 + b) : p < 0 && l("change", t.control.value - 1 + b), t.control.min !== void 0 && t.control.value < t.control.min && l("change", t.control.min), t.control.max !== void 0 && t.control.value > t.control.max && l("change", t.control.max), u.value = o;
316
+ const y = l - s.value, S = r(y);
317
+ y > 0 ? o("change", n.control.value + 1 + S) : y < 0 && o("change", n.control.value - 1 + S), n.control.min !== void 0 && n.control.value < n.control.min && o("change", n.control.min), n.control.max !== void 0 && n.control.value > n.control.max && o("change", n.control.max), s.value = l;
322
318
  }
323
- }), (o, p) => (v(), _("div", We, [
319
+ }), (l, y) => (p(), x("div", We, [
324
320
  d("label", {
325
- class: A(["text-gray-500 w-1/3", { "flex justify-between items-center": o.control.icon }])
321
+ class: K(["text-gray-500 w-1/3", { "flex justify-between items-center": l.control.icon }])
326
322
  }, [
327
- ve(M(o.label) + " ", 1),
323
+ ge(k(l.label) + " ", 1),
328
324
  d("i", {
329
- class: A(`i-${o.control.icon}`)
325
+ class: K(`i-${l.control.icon}`)
330
326
  }, null, 2)
331
327
  ], 2),
332
328
  d("input", {
333
- value: o.control.value,
329
+ value: l.control.value,
334
330
  class: "w-1/2 h-0.75 bg-dark-200 rounded-full appearance-none",
335
- style: ge(a.value),
331
+ style: ye(u.value),
336
332
  type: "range",
337
- min: o.control.min,
338
- max: o.control.max,
339
- step: o.control.step,
333
+ min: l.control.min,
334
+ max: l.control.max,
335
+ step: l.control.step,
340
336
  onInput: e
341
337
  }, null, 44, je),
342
338
  d("input", {
343
- value: o.control.value,
344
- class: A(["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": c.value }]),
339
+ value: l.control.value,
340
+ 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": c.value }]),
345
341
  type: "number",
346
- min: o.control.min,
347
- max: o.control.max,
348
- step: o.control.step,
342
+ min: l.control.min,
343
+ max: l.control.max,
344
+ step: l.control.step,
349
345
  onInput: e,
350
- onMousedown: f,
346
+ onMousedown: m,
351
347
  onMouseup: h
352
348
  }, null, 42, Re)
353
349
  ]));
354
350
  }
355
351
  });
356
- const He = (n, l) => {
357
- const t = n.__vccOpts || n;
358
- for (const [e, a] of l)
359
- t[e] = a;
360
- return t;
361
- }, Ge = /* @__PURE__ */ He(Ye, [["__scopeId", "data-v-9e6267fe"]]), Je = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Qe = { class: "text-gray-500 w-1/3" }, Ze = ["id", "value", "aria-label"], en = ["id", "aria-label", "value"], nn = /* @__PURE__ */ S({
352
+ const He = (t, i) => {
353
+ const n = t.__vccOpts || t;
354
+ for (const [o, e] of i)
355
+ n[o] = e;
356
+ return n;
357
+ }, Ge = /* @__PURE__ */ He(Ye, [["__scopeId", "data-v-9e6267fe"]]), Je = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, Qe = { class: "text-gray-500 w-1/3" }, Ze = ["id", "value", "aria-label"], et = ["id", "aria-label", "value"], tt = /* @__PURE__ */ M({
362
358
  __name: "ColorControl",
363
359
  props: {
364
360
  label: {},
365
361
  control: {}
366
362
  },
367
363
  emits: ["change"],
368
- setup(n, { emit: l }) {
369
- function t(e) {
370
- const { target: a } = e;
371
- l("change", a.value);
364
+ setup(t, { emit: i }) {
365
+ const n = i;
366
+ function o(e) {
367
+ const { target: u } = e;
368
+ n("change", u.value);
372
369
  }
373
- return (e, a) => (v(), _("div", Je, [
374
- d("label", Qe, M(e.label), 1),
370
+ return (e, u) => (p(), x("div", Je, [
371
+ d("label", Qe, k(e.label), 1),
375
372
  d("input", {
376
373
  id: e.control.uniqueKey,
377
374
  tabindex: "0",
378
375
  value: e.control.value,
379
376
  "aria-label": e.label,
380
- class: A(["focus:outline-none focus:ring-2 focus:ring-blue-600", { "important-outline-gray-200": e.control.value === "#ffffff" }]),
377
+ class: K(["focus:outline-none focus:ring-2 focus:ring-blue-600", { "important-outline-gray-200": e.control.value === "#ffffff" }]),
381
378
  type: "color",
382
- onInput: t
379
+ onInput: o
383
380
  }, null, 42, Ze),
384
381
  d("input", {
385
382
  id: e.control.uniqueKey,
@@ -388,316 +385,318 @@ const He = (n, l) => {
388
385
  value: e.control.value,
389
386
  class: "p-2 w-2/3 rounded text-right text-xs text-gray-400 bg-gray-100 border-none font-sans",
390
387
  type: "text",
391
- onInput: t
392
- }, null, 40, en)
388
+ onInput: o
389
+ }, null, 40, et)
393
390
  ]));
394
391
  }
395
392
  });
396
- function tn(n) {
397
- if (typeof n == "number")
398
- return [n, n, n];
399
- if (ue(n)) {
400
- const { x: l, y: t, z: e } = n;
401
- return [l, t, e];
393
+ function nt(t) {
394
+ if (typeof t == "number")
395
+ return [t, t, t];
396
+ if (ce(t)) {
397
+ const { x: i, y: n, z: o } = t;
398
+ return [i, n, o];
402
399
  }
403
- return n;
400
+ return t;
404
401
  }
405
- function on(n) {
406
- return n && typeof n.x == "number" && typeof n.y == "number" && typeof n.z > "u";
402
+ function ot(t) {
403
+ return t && typeof t.x == "number" && typeof t.y == "number" && typeof t.z > "u";
407
404
  }
408
- function ue(n) {
409
- return n && typeof n.x == "number" && typeof n.y == "number" && typeof n.z == "number";
405
+ function ce(t) {
406
+ return t && typeof t.x == "number" && typeof t.y == "number" && typeof t.z == "number";
410
407
  }
411
- const ln = { class: "text-gray-500 w-1/3" }, an = { class: "relative w-2/3 flex justify-between gap-0.5" }, rn = {
408
+ const lt = { class: "text-gray-500 w-1/3" }, at = { class: "relative w-2/3 flex justify-between gap-0.5" }, rt = {
412
409
  key: 0,
413
410
  class: "font-bold px-1 py-1 text-0.65rem text-gray-300"
414
- }, sn = ["id", "step", "value", "onInput", "onMousedown", "onMouseup", "onFocus"], un = /* @__PURE__ */ S({
411
+ }, st = ["id", "step", "value", "onInput", "onMousedown", "onMouseup", "onFocus"], it = /* @__PURE__ */ M({
415
412
  __name: "VectorControl",
416
413
  props: {
417
414
  label: {},
418
415
  control: {}
419
416
  },
420
417
  emits: ["change"],
421
- setup(n, { emit: l }) {
422
- const t = n, e = J(), { pressed: a } = _e(), r = g(0), u = g(!1), c = g(0), f = g(null), h = g(1), i = Q("Shift"), o = Q("Alt");
423
- V(i, (s) => {
424
- h.value = s ? 10 : 1;
425
- }), V(o, (s) => {
426
- h.value = s ? 0.1 : 1;
418
+ setup(t, { emit: i }) {
419
+ const n = t, o = i, e = Q(), { pressed: u } = xe(), a = f(0), s = f(!1), c = f(0), m = f(null), h = f(1), r = Z("Shift"), l = Z("Alt");
420
+ z(r, (b) => {
421
+ h.value = b ? 10 : 1;
422
+ }), z(l, (b) => {
423
+ h.value = b ? 0.1 : 1;
427
424
  });
428
- const p = (s) => {
429
- f.value = s;
430
- }, b = () => {
431
- f.value = null;
432
- }, D = (s, x) => {
433
- c.value = x, r.value = s.clientX, u.value = !0;
434
- }, y = (s, x) => {
435
- c.value = x, u.value = !1;
436
- }, K = () => {
437
- u.value = !1;
425
+ const y = (b) => {
426
+ m.value = b;
427
+ }, S = () => {
428
+ m.value = null;
429
+ }, v = (b, w) => {
430
+ c.value = w, a.value = b.clientX, s.value = !0;
431
+ }, T = (b, w) => {
432
+ c.value = w, s.value = !1;
433
+ }, D = () => {
434
+ s.value = !1;
438
435
  };
439
- V(a, (s) => {
440
- s || (u.value = !1);
436
+ z(u, (b) => {
437
+ b || (s.value = !1);
441
438
  });
442
- const I = (s) => Math.floor(Math.abs(s) / 10), w = U(() => tn(t.control.value)), $ = g(["x", "y", "z"]), X = U(() => on(t.control.value) || ue(t.control.value));
443
- function R(s, x) {
444
- const { value: C } = t.control, { target: m } = s;
445
- c.value = x, C[X.value ? $.value[c.value] : c.value] = parseFloat(m.value), l("change", C);
439
+ const $ = (b) => Math.floor(Math.abs(b) / 10), A = O(() => nt(n.control.value)), V = f(["x", "y", "z"]), L = O(() => ot(n.control.value) || ce(n.control.value));
440
+ function g(b, w) {
441
+ const { value: q } = n.control, { target: _ } = b;
442
+ c.value = w, q[L.value ? V.value[c.value] : c.value] = parseFloat(_.value), o("change", q);
446
443
  }
447
- return V(e.x, (s) => {
448
- if (u.value) {
449
- const x = s - r.value, C = I(x), { value: m } = t.control, T = X.value ? $.value[c.value] : c.value;
450
- x > 0 ? m[T] += h.value + C : x < 0 && (m[T] -= h.value + C), t.control.min !== void 0 && m < t.control.min && (m[T] = t.control.min), t.control.max !== void 0 && m > t.control.max && (m[T] = t.control.max), l("change", m), r.value = s;
444
+ return z(e.x, (b) => {
445
+ if (s.value) {
446
+ const w = b - a.value, q = $(w), { value: _ } = n.control, I = L.value ? V.value[c.value] : c.value;
447
+ w > 0 ? _[I] += h.value + q : w < 0 && (_[I] -= h.value + q), n.control.min !== void 0 && _ < n.control.min && (_[I] = n.control.min), n.control.max !== void 0 && _ > n.control.max && (_[I] = n.control.max), o("change", _), a.value = b;
451
448
  }
452
- }), (s, x) => (v(), _("div", {
449
+ }), (b, w) => (p(), x("div", {
453
450
  class: "flex px-4 justify-between gap-1 items-center mb-2",
454
- onMouseup: x[0] || (x[0] = (C) => K())
451
+ onMouseup: w[0] || (w[0] = (q) => D())
455
452
  }, [
456
- d("label", ln, M(s.label), 1),
457
- d("div", an, [
458
- (v(!0), _(q, null, B(w.value, (C, m) => (v(), _("div", {
459
- key: s.label + m,
460
- class: A(["flex items-center w-1/3 bg-gray-100 rounded", { "w-2/5": f.value === m }])
453
+ d("label", lt, k(b.label), 1),
454
+ d("div", at, [
455
+ (p(!0), x(U, null, W(A.value, (q, _) => (p(), x("div", {
456
+ key: b.label + _,
457
+ class: K(["flex items-center w-1/3 bg-gray-100 rounded", { "w-2/5": m.value === _ }])
461
458
  }, [
462
- $.value[m] && X.value ? (v(), _("span", rn, M($.value[m]), 1)) : j("", !0),
459
+ V.value[_] && L.value ? (p(), x("span", rt, k(V.value[_]), 1)) : Y("", !0),
463
460
  d("input", {
464
- id: `${s.control.uniqueKey}-${$.value[m]}`,
461
+ id: `${b.control.uniqueKey}-${V.value[_]}`,
465
462
  type: "number",
466
463
  step: h.value,
467
- class: A(["w-full px-0 p-1 text-right text-0.65rem text-gray-400 bg-transparent focus:border-gray-200 outline-none border-none font-sans appearence-none", { "cursor-ew-resize": u.value }]),
468
- value: w.value[m].toFixed(2),
469
- onInput: (T) => R(T, m),
470
- onMousedown: (T) => D(T, m),
471
- onMouseup: (T) => y(T, m),
472
- onFocus: (T) => p(m),
473
- onBlur: b
474
- }, null, 42, sn)
464
+ class: K(["w-full px-0 p-1 text-right text-0.65rem text-gray-400 bg-transparent focus:border-gray-200 outline-none border-none font-sans appearence-none", { "cursor-ew-resize": s.value }]),
465
+ value: A.value[_].toFixed(2),
466
+ onInput: (I) => g(I, _),
467
+ onMousedown: (I) => v(I, _),
468
+ onMouseup: (I) => T(I, _),
469
+ onFocus: (I) => y(_),
470
+ onBlur: S
471
+ }, null, 42, st)
475
472
  ], 2))), 128))
476
473
  ])
477
474
  ], 32));
478
475
  }
479
- }), cn = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, dn = { class: "text-gray-500 w-1/3" }, fn = { 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" }, pn = { class: "absolute bottom-0.5 right-0.5 font-sans text-xs" }, vn = ["points"], Z = 160, G = 40, P = 2, ee = 100, ne = 20, gn = /* @__PURE__ */ S({
476
+ }), ct = { class: "flex px-4 justify-between gap-4 items-center mb-2" }, ut = { class: "text-gray-500 w-1/3" }, dt = { 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" }, pt = { class: "absolute bottom-0.5 right-0.5 font-sans text-xs" }, ft = ["points"], ee = 160, J = 40, B = 2, te = 100, ne = 20, vt = /* @__PURE__ */ M({
480
477
  __name: "FPSGraph",
481
478
  props: {
482
479
  label: {},
483
480
  control: {}
484
481
  },
485
- setup(n) {
486
- const l = xe({ every: ee }), t = g(""), e = g([]), a = g(Z / P);
487
- let r = performance.now();
488
- return we(({ timestamp: u }) => {
489
- u - r >= ee && (r = u, e.value.push(l.value), e.value.length > a.value && e.value.shift(), t.value = e.value.map(
490
- (c, f) => `${f * P},${G + ne - P / 2 - c * (G + ne - P) / 120}`
482
+ setup(t) {
483
+ const i = we({ every: te }), n = f(""), o = f([]), e = f(ee / B);
484
+ let u = performance.now();
485
+ return $e(({ timestamp: a }) => {
486
+ a - u >= te && (u = a, o.value.push(i.value), o.value.length > e.value && o.value.shift(), n.value = o.value.map(
487
+ (s, c) => `${c * B},${J + ne - B / 2 - s * (J + ne - B) / 120}`
491
488
  ).join(" "));
492
- }), (u, c) => (v(), _("div", cn, [
493
- d("label", dn, M(u.label), 1),
494
- d("div", fn, [
495
- d("div", pn, M(Math.round(F(l))) + " FPS ", 1),
496
- (v(), _("svg", {
497
- width: Z,
498
- height: G,
489
+ }), (a, s) => (p(), x("div", ct, [
490
+ d("label", ut, k(a.label), 1),
491
+ d("div", dt, [
492
+ d("div", pt, k(Math.round(F(i))) + " FPS ", 1),
493
+ (p(), x("svg", {
494
+ width: ee,
495
+ height: J,
499
496
  xmlns: "http://www.w3.org/2000/svg",
500
497
  class: "bg-gray-100"
501
498
  }, [
502
499
  d("polyline", {
503
- points: t.value,
500
+ points: n.value,
504
501
  fill: "none",
505
502
  stroke: "lightgray",
506
- "stroke-width": P,
503
+ "stroke-width": B,
507
504
  "stroke-linecap": "round",
508
505
  "stroke-linejoin": "round"
509
- }, null, 8, vn)
506
+ }, null, 8, ft)
510
507
  ]))
511
508
  ])
512
509
  ]));
513
510
  }
514
- }), yn = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, hn = ["for"], bn = ["id", "value"], mn = ["value"], _n = /* @__PURE__ */ S({
511
+ }), gt = { class: "flex px-4 justify-between gap-4 items-center mb-2 min-h-32px" }, yt = ["for"], bt = ["id", "value"], ht = ["value"], mt = /* @__PURE__ */ M({
515
512
  __name: "SelectControl",
516
513
  props: {
517
514
  label: {},
518
515
  control: {}
519
516
  },
520
517
  emits: ["change"],
521
- setup(n, { emit: l }) {
522
- function t(e) {
523
- l("change", e.target.value);
518
+ setup(t, { emit: i }) {
519
+ const n = i;
520
+ function o(e) {
521
+ n("change", e.target.value);
524
522
  }
525
- return (e, a) => (v(), _("div", yn, [
523
+ return (e, u) => (p(), x("div", gt, [
526
524
  d("label", {
527
525
  class: "text-gray-500 w-1/3",
528
526
  for: e.control.uniqueKey
529
- }, M(e.label), 9, hn),
527
+ }, k(e.label), 9, yt),
530
528
  d("select", {
531
529
  id: e.control.uniqueKey,
532
530
  value: e.control.value,
533
531
  class: "p-2 w-2/3 rounded text-left text-xs text-gray-400 bg-gray-100 focus:border-gray-200 outline-none border-none font-sans",
534
- onChange: t
532
+ onChange: o
535
533
  }, [
536
- (v(!0), _(q, null, B(e.control.options, (r) => (v(), _("option", {
537
- key: r.value,
538
- value: r.value
539
- }, M(r.text), 9, mn))), 128))
540
- ], 40, bn)
534
+ (p(!0), x(U, null, W(e.control.options, (a) => (p(), x("option", {
535
+ key: a.value,
536
+ value: a.value
537
+ }, k(a.text), 9, ht))), 128))
538
+ ], 40, bt)
541
539
  ]));
542
540
  }
543
- }), ce = /* @__PURE__ */ S({
541
+ }), ue = /* @__PURE__ */ M({
544
542
  __name: "ControlInput",
545
543
  props: {
546
544
  control: {}
547
545
  },
548
546
  emits: ["change"],
549
- setup(n, { emit: l }) {
550
- function t(e) {
551
- l("change", e);
547
+ setup(t, { emit: i }) {
548
+ const n = i;
549
+ function o(e) {
550
+ n("change", e);
552
551
  }
553
- return (e, a) => e.control.visible ? (v(), _(q, { key: 0 }, [
554
- e.control.type === "color" ? (v(), k(nn, {
552
+ return (e, u) => e.control.visible ? (p(), x(U, { key: 0 }, [
553
+ e.control.type === "color" ? (p(), C(tt, {
555
554
  key: 0,
556
555
  label: e.control.label,
557
556
  control: e.control,
558
- onChange: t
559
- }, null, 8, ["label", "control"])) : e.control.type === "select" ? (v(), k(_n, {
557
+ onChange: o
558
+ }, null, 8, ["label", "control"])) : e.control.type === "select" ? (p(), C(mt, {
560
559
  key: 1,
561
560
  label: e.control.label,
562
561
  control: e.control,
563
- onChange: t
564
- }, null, 8, ["label", "control"])) : e.control.type === "vector" ? (v(), k(un, {
562
+ onChange: o
563
+ }, null, 8, ["label", "control"])) : e.control.type === "vector" ? (p(), C(it, {
565
564
  key: 2,
566
565
  label: e.control.label,
567
566
  control: e.control,
568
- onChange: t
569
- }, null, 8, ["label", "control"])) : e.control.type === "boolean" ? (v(), k(Ne, {
567
+ onChange: o
568
+ }, null, 8, ["label", "control"])) : e.control.type === "boolean" ? (p(), C(Ne, {
570
569
  key: 3,
571
570
  label: e.control.label,
572
571
  control: e.control,
573
- onChange: t
574
- }, null, 8, ["label", "control"])) : e.control.type === "fpsgraph" ? (v(), k(gn, {
572
+ onChange: o
573
+ }, null, 8, ["label", "control"])) : e.control.type === "fpsgraph" ? (p(), C(vt, {
575
574
  key: 4,
576
575
  label: e.control.label,
577
576
  control: e.control
578
- }, null, 8, ["label", "control"])) : e.control.type === "number" ? (v(), k(Fe, {
577
+ }, null, 8, ["label", "control"])) : e.control.type === "number" ? (p(), C(Fe, {
579
578
  key: 5,
580
579
  label: e.control.label,
581
580
  control: e.control,
582
- onChange: t
583
- }, null, 8, ["label", "control"])) : e.control.type === "range" ? (v(), k(Ge, {
581
+ onChange: o
582
+ }, null, 8, ["label", "control"])) : e.control.type === "range" ? (p(), C(Ge, {
584
583
  key: 6,
585
584
  label: e.control.label,
586
585
  control: e.control,
587
- onChange: t
588
- }, null, 8, ["label", "control"])) : (v(), k(Ue, {
586
+ onChange: o
587
+ }, null, 8, ["label", "control"])) : (p(), C(ze, {
589
588
  key: 7,
590
589
  label: e.control.label,
591
590
  control: e.control,
592
- onChange: t
591
+ onChange: o
593
592
  }, null, 8, ["label", "control"]))
594
- ], 64)) : j("", !0);
593
+ ], 64)) : Y("", !0);
595
594
  }
596
- }), xn = { class: "mb-4" }, wn = ["aria-expanded", "data-folder"], $n = {
595
+ }), _t = { class: "mb-4" }, xt = ["aria-expanded", "data-folder"], wt = {
597
596
  class: "bg-white rounded-b pt-4",
598
597
  role: "menu"
599
- }, Cn = /* @__PURE__ */ S({
598
+ }, $t = /* @__PURE__ */ M({
600
599
  __name: "Folder",
601
600
  props: {
602
601
  controls: {},
603
602
  label: {}
604
603
  },
605
- setup(n) {
606
- function l(a, r) {
607
- r.value = a;
604
+ setup(t) {
605
+ function i(e, u) {
606
+ u.value = e;
608
607
  }
609
- const t = g(!1), e = () => {
610
- t.value = !t.value;
608
+ const n = f(!1), o = () => {
609
+ n.value = !n.value;
611
610
  };
612
- return (a, r) => (v(), _("div", xn, [
611
+ return (e, u) => (p(), x("div", _t, [
613
612
  d("button", {
614
613
  class: "flex items-center justify-between w-full py-2 px-4 bg-gray-100 border-none text-gray-400 font-bold text-xs font-sans cursor-pointer",
615
- "aria-expanded": t.value,
614
+ "aria-expanded": n.value,
616
615
  "aria-haspopup": "true",
617
616
  role: "button",
618
- "data-folder": a.label,
617
+ "data-folder": e.label,
619
618
  tabindex: "0",
620
- onClick: e
619
+ onClick: o
621
620
  }, [
622
- d("span", null, M(a.label), 1),
621
+ d("span", null, k(e.label), 1),
623
622
  d("i", {
624
- class: A(t.value ? "i-ic:baseline-keyboard-arrow-up" : "i-ic:baseline-keyboard-arrow-down")
623
+ class: K(n.value ? "i-ic:baseline-keyboard-arrow-up" : "i-ic:baseline-keyboard-arrow-down")
625
624
  }, null, 2)
626
- ], 8, wn),
627
- ye(he, {
625
+ ], 8, xt),
626
+ be(he, {
628
627
  name: "slide",
629
628
  "enter-active-class": " animate-fade-in animate-duration-200 animate-ease-in-out",
630
629
  "leave-active-class": " animate-fade-out animate-duration-200 animate-ease-in-out"
631
630
  }, {
632
- default: le(() => [
633
- te(d("div", $n, [
634
- (v(!0), _(q, null, B(a.controls, (u) => (v(), k(ce, {
635
- key: u.label,
636
- control: u,
631
+ default: ae(() => [
632
+ oe(d("div", wt, [
633
+ (p(!0), x(U, null, W(e.controls, (a) => (p(), C(ue, {
634
+ key: a.label,
635
+ control: a,
637
636
  role: "menuitem",
638
- onChange: (c) => l(c, u)
637
+ onChange: (s) => i(s, a)
639
638
  }, null, 8, ["control", "onChange"]))), 128))
640
639
  ], 512), [
641
- [oe, t.value]
640
+ [le, n.value]
642
641
  ])
643
642
  ]),
644
643
  _: 1
645
644
  })
646
645
  ]));
647
646
  }
648
- }), kn = {
647
+ }), Ct = {
649
648
  tabindex: "0",
650
649
  class: "bg-white shadow-xl rounded border-4 border-solid border-black"
651
- }, Mn = /* @__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), Sn = /* @__PURE__ */ d("div", null, [
650
+ }, kt = /* @__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), Mt = /* @__PURE__ */ d("div", null, [
652
651
  /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" }),
653
652
  /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" }),
654
653
  /* @__PURE__ */ d("i", { class: "i-ic-baseline-drag-indicator" })
655
- ], -1), Kn = /* @__PURE__ */ d("div", null, null, -1), Tn = [
656
- Mn,
657
- Sn,
658
- Kn
659
- ], An = 280, En = /* @__PURE__ */ S({
654
+ ], -1), St = /* @__PURE__ */ d("div", null, null, -1), Tt = [
655
+ kt,
656
+ Mt,
657
+ St
658
+ ], At = 280, Ft = /* @__PURE__ */ M({
660
659
  __name: "TresLeches",
661
660
  props: {
662
661
  uuid: {}
663
662
  },
664
- setup(n) {
665
- const l = n, { uuid: t } = z(l), { width: e } = ae(), a = g(null), r = Ke(t == null ? void 0 : t.value);
666
- function u(f, h) {
667
- r[F(f)].value = h, r[F(f)][F(f)] = h;
663
+ setup(t) {
664
+ const i = t, { uuid: n } = X(i), { width: o } = re(), e = f(null), u = Ae(n == null ? void 0 : n.value);
665
+ function a(c, m) {
666
+ u[F(c)].value = m, u[F(c)][F(c)] = m;
668
667
  }
669
- const c = U(() => {
670
- const f = {};
671
- for (const h in r) {
672
- const i = r[h], o = i.folder || "default";
673
- f[o] || (f[o] = []), f[o].push(i);
668
+ const s = O(() => {
669
+ const c = {};
670
+ for (const m in u) {
671
+ const h = u[m], r = h.folder || "default";
672
+ c[r] || (c[r] = []), c[r].push(h);
674
673
  }
675
- return f;
674
+ return c;
676
675
  });
677
- return (f, h) => (v(), k(F(Me), {
678
- id: F(t),
679
- "initial-value": { x: F(e) - An - 40, y: 10 },
680
- class: A(["absolute select-none z-24 w-280px font-sans text-xs", f.$attrs.class]),
681
- handle: a.value
676
+ return (c, m) => (p(), C(F(Se), {
677
+ id: F(n),
678
+ "initial-value": { x: F(o) - At - 40, y: 10 },
679
+ class: K(["absolute select-none z-24 w-280px font-sans text-xs", c.$attrs.class]),
680
+ handle: e.value
682
681
  }, {
683
- default: le(() => [
684
- d("div", kn, [
682
+ default: ae(() => [
683
+ d("div", Ct, [
685
684
  d("header", {
686
685
  ref_key: "handle",
687
- ref: a,
686
+ ref: e,
688
687
  class: "relative cursor-grabbing p-4 flex justify-between text-gray-200 relative"
689
- }, Tn, 512),
690
- (v(!0), _(q, null, B(c.value, (i, o) => (v(), _(q, { key: o }, [
691
- o !== "default" ? (v(), k(Cn, {
688
+ }, Tt, 512),
689
+ (p(!0), x(U, null, W(s.value, (h, r) => (p(), x(U, { key: r }, [
690
+ r !== "default" ? (p(), C($t, {
692
691
  key: 0,
693
- label: o,
694
- controls: i
695
- }, null, 8, ["label", "controls"])) : j("", !0),
696
- o === "default" ? (v(!0), _(q, { key: 1 }, B(i, (p) => (v(), k(ce, {
697
- key: p.label,
698
- control: p,
699
- onChange: (b) => u(p.key, b)
700
- }, null, 8, ["control", "onChange"]))), 128)) : j("", !0)
692
+ label: r,
693
+ controls: h
694
+ }, null, 8, ["label", "controls"])) : Y("", !0),
695
+ r === "default" ? (p(!0), x(U, { key: 1 }, W(h, (l) => (p(), C(ue, {
696
+ key: l.label,
697
+ control: l,
698
+ onChange: (y) => a(l.key, y)
699
+ }, null, 8, ["control", "onChange"]))), 128)) : Y("", !0)
701
700
  ], 64))), 128))
702
701
  ])
703
702
  ]),
@@ -706,7 +705,7 @@ const ln = { class: "text-gray-500 w-1/3" }, an = { class: "relative w-2/3 flex
706
705
  }
707
706
  });
708
707
  export {
709
- En as TresLeches,
710
- Fn as useControls,
711
- Ke as useControlsProvider
708
+ Ft as TresLeches,
709
+ Dt as useControls,
710
+ Ae as useControlsProvider
712
711
  };