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