@vasakgroup/vue-libvasak 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,55 +1,119 @@
1
- import { ref as w, onMounted as J, onUnmounted as ve, watch as W, defineComponent as E, toRef as Be, computed as v, createElementBlock as r, unref as R, openBlock as i, normalizeStyle as re, createCommentVNode as x, createElementVNode as T, createVNode as O, toDisplayString as V, normalizeClass as h, renderSlot as S, createBlock as Q, onBeforeUnmount as ce, Fragment as Z, renderList as le, withCtx as K, mergeModels as Ae, useAttrs as $e, useId as ot, useModel as it, withDirectives as Ce, mergeProps as oe, isRef as rt, vModelSelect as st, inject as pe, getCurrentInstance as Fe, provide as de, createTextVNode as ze, toHandlers as Re, createSlots as ut, withModifiers as M, withKeys as F, Teleport as fe, Transition as ye, nextTick as Y, TransitionGroup as ct, vShow as qe, cloneVNode as dt, h as ft, Comment as mt, Text as bt } from "vue";
2
- import { listen as vt } from "@tauri-apps/api/event";
3
- import { getSymbolSource as pt, getIconSource as yt } from "@vasakgroup/plugin-vicons";
4
- import { getCurrentWindow as gt } from "@tauri-apps/api/window";
5
- import { useI18n as ht } from "@vasakgroup/tauri-plugin-i18n";
6
- const xt = "vicons:theme-changed", be = /* @__PURE__ */ new Map(), ae = /* @__PURE__ */ new Map(), se = w(0);
7
- let ne = 0, ue = null, te = null;
8
- function Tl() {
9
- be.clear(), ae.clear(), ne = 0, ue = null, te = null, se.value = 0;
1
+ import { ref as w, onMounted as J, onUnmounted as ve, readonly as vt, watch as W, defineComponent as D, toRef as Pe, useTemplateRef as pt, computed as v, createElementBlock as i, unref as F, openBlock as r, normalizeStyle as fe, createCommentVNode as x, createElementVNode as T, createVNode as O, toDisplayString as M, normalizeClass as h, renderSlot as S, createBlock as Y, onBeforeUnmount as pe, Fragment as te, renderList as ue, withCtx as K, mergeModels as Re, useAttrs as Be, useId as gt, useModel as yt, withDirectives as Se, mergeProps as ce, isRef as ht, vModelSelect as xt, inject as we, getCurrentInstance as Ge, provide as ge, createTextVNode as Me, toHandlers as Qe, createSlots as wt, withModifiers as V, withKeys as R, Teleport as ye, Transition as ke, nextTick as X, TransitionGroup as kt, vShow as Ye, cloneVNode as $t, h as Ct, Comment as Et, Text as Lt } from "vue";
2
+ import { listen as zt } from "@tauri-apps/api/event";
3
+ import { getSymbolSource as Dt, getIconSource as Tt } from "@vasakgroup/plugin-vicons";
4
+ import { getCurrentWindow as At } from "@tauri-apps/api/window";
5
+ import { useI18n as Bt } from "@vasakgroup/tauri-plugin-i18n";
6
+ const St = "vicons:theme-changed", xe = /* @__PURE__ */ new Map(), ie = /* @__PURE__ */ new Map(), me = w(0);
7
+ let se = 0, be = null, re = null;
8
+ function Ql() {
9
+ xe.clear(), ie.clear(), se = 0, be = null, re = null, me.value = 0, ae.clear(), ne.clear(), Xe = 0, ee?.disconnect(), ee = null, De = !1, Q !== null && (clearTimeout(Q), Q = null), _ && (_.cancelado = !0), _ = null;
10
10
  }
11
- function wt() {
12
- be.clear(), ae.clear(), se.value++;
11
+ const Mt = 100, Ee = 10, Vt = 16, ae = /* @__PURE__ */ new Map(), ne = /* @__PURE__ */ new Set();
12
+ let Xe = 0, ee = null, De = !1;
13
+ function It() {
14
+ return De ? ee : (De = !0, typeof IntersectionObserver > "u" ? null : (ee = new IntersectionObserver(
15
+ (e) => {
16
+ for (const n of e) {
17
+ const t = n.target.dataset?.iconoId;
18
+ if (t == null) continue;
19
+ const a = Number.parseInt(t, 10);
20
+ n.isIntersecting ? ne.add(a) : ne.delete(a);
21
+ }
22
+ },
23
+ { threshold: 0 }
24
+ ), ee));
25
+ }
26
+ function Ot(e) {
27
+ const n = Xe++;
28
+ return ae.set(n, { recargar: e, elemento: null }), ne.add(n), n;
29
+ }
30
+ function jt(e, n) {
31
+ const t = ae.get(e);
32
+ if (!t || t.elemento === n || (t.elemento && (ee?.unobserve(t.elemento), delete t.elemento.dataset.iconoId, t.elemento = null), !n)) return;
33
+ const a = It();
34
+ a && (t.elemento = n, n.dataset.iconoId = String(e), a.observe(n));
35
+ }
36
+ function Pt(e) {
37
+ const n = ae.get(e);
38
+ n?.elemento && (ee?.unobserve(n.elemento), delete n.elemento.dataset.iconoId), ne.delete(e), ae.delete(e);
39
+ }
40
+ let Q = null, _ = null;
41
+ function Rt(e) {
42
+ return new Promise((n) => setTimeout(n, e));
43
+ }
44
+ async function Ft(e) {
45
+ const n = [...ae.keys()], t = n.filter((l) => ne.has(l)), a = n.filter((l) => !ne.has(l));
46
+ for (const l of [t, a])
47
+ for (let o = 0; o < l.length; o += Ee) {
48
+ if (e.cancelado) return;
49
+ const s = l.slice(o, o + Ee);
50
+ if (await Promise.allSettled(
51
+ s.map((u) => ae.get(u)?.recargar() ?? Promise.resolve())
52
+ ), e.cancelado) return;
53
+ (o + Ee < l.length || l === t) && await Rt(Vt);
54
+ }
55
+ _ === e && (_ = null);
56
+ }
57
+ function Nt() {
58
+ Q !== null && (clearTimeout(Q), Q = null), _ && (_.cancelado = !0);
59
+ const e = { cancelado: !1 };
60
+ _ = e, Ft(e);
13
61
  }
14
- function kt() {
15
- return ne++, ue || te ? te ?? Promise.resolve() : (te = vt(xt, wt).then((e) => {
16
- ne <= 0 ? e() : ue = e, te = null;
17
- }), te);
62
+ function qt() {
63
+ xe.clear(), ie.clear(), me.value++, Q !== null && clearTimeout(Q), Q = setTimeout(() => {
64
+ Q = null, Nt();
65
+ }, Mt);
18
66
  }
19
- function $t() {
20
- ne--, !(ne > 0) && (ne = 0, ue?.(), ue = null);
67
+ function Je() {
68
+ return se++, be || re ? re ?? Promise.resolve() : (re = zt(St, qt).then((e) => {
69
+ se <= 0 ? e() : be = e, re = null;
70
+ }), re);
21
71
  }
22
- function Ct(e, n) {
23
- const t = `${n}:${e}`, a = be.get(t);
72
+ function Te() {
73
+ se--, !(se > 0) && (se = 0, be?.(), be = null);
74
+ }
75
+ function Ht(e, n) {
76
+ const t = `${n}:${e}`, a = xe.get(t);
24
77
  if (a !== void 0)
25
78
  return Promise.resolve(a);
26
- const l = ae.get(t);
79
+ const l = ie.get(t);
27
80
  if (l)
28
81
  return l;
29
- const o = se.value, s = (n === "symbol" ? pt(e) : yt(e)).then((u) => (se.value === o && be.set(t, u), u)).finally(() => {
30
- ae.get(t) === s && ae.delete(t);
82
+ const o = me.value, s = (n === "symbol" ? Dt(e) : Tt(e)).then((u) => (me.value === o && xe.set(t, u), u)).finally(() => {
83
+ ie.get(t) === s && ie.delete(t);
31
84
  });
32
- return ae.set(t, s), s;
85
+ return ie.set(t, s), s;
86
+ }
87
+ function Yl() {
88
+ let e = !1;
89
+ return J(async () => {
90
+ await Je(), e && Te();
91
+ }), ve(() => {
92
+ e || (e = !0, Te());
93
+ }), vt(me);
33
94
  }
34
- function zt(e, n) {
95
+ function Ut(e, n) {
35
96
  const t = w("");
36
97
  let a = !1, l = 0;
37
- async function o() {
38
- const s = ++l, u = e.value;
39
- if (!u) {
98
+ const o = Ot(async () => {
99
+ await s();
100
+ });
101
+ async function s() {
102
+ const u = ++l, m = e.value;
103
+ if (!m) {
40
104
  t.value = "";
41
105
  return;
42
106
  }
43
- const m = await Ct(u, n.value);
44
- s === l && !a && (t.value = m);
107
+ const f = await Ht(m, n.value);
108
+ u === l && !a && (t.value = f);
45
109
  }
46
110
  return J(async () => {
47
- await kt(), a || await o();
111
+ await Je(), a || await s();
48
112
  }), ve(() => {
49
- a = !0, $t();
50
- }), W([e, n], o), W(se, o), t;
113
+ a = !0, Pt(o), Te();
114
+ }), W([e, n], s), { fuente: t, mirarElemento: (u) => jt(o, u) };
51
115
  }
52
- const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
116
+ const Kt = ["src", "alt"], H = /* @__PURE__ */ D({
53
117
  __name: "ThemeIcon",
54
118
  props: {
55
119
  name: {},
@@ -58,23 +122,29 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
58
122
  alt: { default: "" }
59
123
  },
60
124
  setup(e) {
61
- const n = e, t = zt(Be(n, "name"), Be(n, "type")), a = v(() => `${n.size}px`);
62
- return (l, o) => R(t) ? (i(), r("img", {
125
+ const n = e, { fuente: t, mirarElemento: a } = Ut(Pe(n, "name"), Pe(n, "type")), l = pt("dibujo");
126
+ W(l, (s) => a(s), { immediate: !0 });
127
+ const o = v(() => `${n.size}px`);
128
+ return (s, u) => F(t) ? (r(), i("img", {
63
129
  key: 0,
64
- src: R(t),
130
+ ref_key: "dibujo",
131
+ ref: l,
132
+ src: F(t),
65
133
  alt: e.alt,
66
- style: re({ width: a.value, height: a.value }),
134
+ style: fe({ width: o.value, height: o.value }),
67
135
  class: "shrink-0 object-contain"
68
- }, null, 12, Lt)) : (i(), r("span", {
136
+ }, null, 12, Kt)) : (r(), i("span", {
69
137
  key: 1,
70
- style: re({ width: a.value, height: a.value }),
138
+ ref_key: "dibujo",
139
+ ref: l,
140
+ style: fe({ width: o.value, height: o.value }),
71
141
  class: "shrink-0"
72
142
  }, null, 4));
73
143
  }
74
- }), Dt = { class: "flex flex-col gap-2" }, Et = ["aria-expanded"], Tt = {
144
+ }), Wt = { class: "flex flex-col gap-2" }, Gt = ["aria-expanded"], Qt = {
75
145
  key: 1,
76
146
  class: "flex flex-col gap-1"
77
- }, Ne = /* @__PURE__ */ E({
147
+ }, Ze = /* @__PURE__ */ D({
78
148
  __name: "SideGroup",
79
149
  props: {
80
150
  title: {},
@@ -88,34 +158,34 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
88
158
  (a) => {
89
159
  a && (t.value = !0);
90
160
  }
91
- ), (a, l) => (i(), r("section", Dt, [
92
- e.collapsed ? x("", !0) : (i(), r("button", {
161
+ ), (a, l) => (r(), i("section", Wt, [
162
+ e.collapsed ? x("", !0) : (r(), i("button", {
93
163
  key: 0,
94
164
  type: "button",
95
165
  class: "group flex w-full items-center justify-between rounded-corner px-2 py-1 text-tx-muted text-xs uppercase tracking-[0.08em] hover:bg-ui-surface/60",
96
166
  "aria-expanded": t.value,
97
167
  onClick: l[0] || (l[0] = (o) => t.value = !t.value)
98
168
  }, [
99
- T("span", null, V(e.title), 1),
169
+ T("span", null, M(e.title), 1),
100
170
  O(H, {
101
171
  name: "pan-down-symbolic",
102
172
  type: "symbol",
103
173
  size: 12,
104
174
  class: h(["transition-transform duration-200", t.value ? "" : "-rotate-90"])
105
175
  }, null, 8, ["class"])
106
- ], 8, Et)),
107
- t.value || e.collapsed ? (i(), r("div", Tt, [
176
+ ], 8, Gt)),
177
+ t.value || e.collapsed ? (r(), i("div", Qt, [
108
178
  S(a.$slots, "default")
109
179
  ])) : x("", !0)
110
180
  ]));
111
181
  }
112
- }), Bt = ["title", "aria-label", "disabled", "aria-current"], At = { key: 1 }, St = {
182
+ }), Yt = ["title", "aria-label", "disabled", "aria-current"], Xt = { key: 1 }, Jt = {
113
183
  key: 0,
114
184
  class: "min-w-0 flex-1 truncate font-medium"
115
- }, Vt = {
185
+ }, Zt = {
116
186
  key: 1,
117
187
  class: "rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"
118
- }, He = /* @__PURE__ */ E({
188
+ }, _e = /* @__PURE__ */ D({
119
189
  __name: "SideButton",
120
190
  props: {
121
191
  label: {},
@@ -127,7 +197,7 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
127
197
  },
128
198
  emits: ["click"],
129
199
  setup(e) {
130
- return (n, t) => (i(), r("button", {
200
+ return (n, t) => (r(), i("button", {
131
201
  type: "button",
132
202
  title: e.collapsed ? e.label : void 0,
133
203
  "aria-label": e.collapsed ? e.label : void 0,
@@ -144,32 +214,32 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
144
214
  class: h(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide", e.active ? "border-secondary bg-primary/20" : ""]),
145
215
  "aria-hidden": "true"
146
216
  }, [
147
- e.icon ? (i(), Q(H, {
217
+ e.icon ? (r(), Y(H, {
148
218
  key: 0,
149
219
  name: e.icon,
150
220
  size: 20
151
- }, null, 8, ["name"])) : (i(), r("span", At, V(e.label.charAt(0).toUpperCase()), 1))
221
+ }, null, 8, ["name"])) : (r(), i("span", Xt, M(e.label.charAt(0).toUpperCase()), 1))
152
222
  ], 2),
153
- e.collapsed ? x("", !0) : (i(), r("span", St, V(e.label), 1)),
154
- !e.collapsed && e.badge !== "" ? (i(), r("span", Vt, V(e.badge), 1)) : x("", !0)
155
- ], 10, Bt));
223
+ e.collapsed ? x("", !0) : (r(), i("span", Jt, M(e.label), 1)),
224
+ !e.collapsed && e.badge !== "" ? (r(), i("span", Zt, M(e.badge), 1)) : x("", !0)
225
+ ], 10, Yt));
156
226
  }
157
- }), Mt = {
227
+ }), _t = {
158
228
  key: 0,
159
229
  class: "flex flex-col gap-2 border-ui-border border-b p-2"
160
- }, It = { class: "flex items-center gap-2" }, Ot = ["aria-label", "aria-expanded"], jt = {
230
+ }, ea = { class: "flex items-center gap-2" }, ta = ["aria-label", "aria-expanded"], aa = {
161
231
  key: 0,
162
232
  class: "min-w-0 flex-1"
163
- }, Pt = {
233
+ }, na = {
164
234
  key: 0,
165
235
  class: "truncate font-semibold text-sm"
166
- }, Ft = {
236
+ }, la = {
167
237
  key: 1,
168
238
  class: "truncate text-tx-muted text-xs"
169
- }, Rt = { key: 0 }, qt = {
239
+ }, oa = { key: 0 }, ra = {
170
240
  key: 1,
171
241
  class: "flex border-ui-border border-b p-2"
172
- }, Nt = ["aria-label", "aria-expanded"], Ht = { class: "flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2" }, Se = "hidden h-8 w-8 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-surface/70 transition-colors hover:bg-ui-surface md:inline-flex", Ve = 767, Ut = /* @__PURE__ */ E({
242
+ }, ia = ["aria-label", "aria-expanded"], sa = { class: "flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2" }, Fe = "hidden h-8 w-8 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-surface/70 transition-colors hover:bg-ui-surface md:inline-flex", Ne = 767, ua = /* @__PURE__ */ D({
173
243
  __name: "SideBar",
174
244
  props: {
175
245
  title: { default: "" },
@@ -189,13 +259,13 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
189
259
  function L() {
190
260
  return document.documentElement?.clientWidth || window.innerWidth;
191
261
  }
192
- function D() {
193
- s.value = L() <= Ve;
262
+ function z() {
263
+ s.value = L() <= Ne;
194
264
  }
195
- function A() {
265
+ function B() {
196
266
  o.value = !o.value, l("update:collapsed", o.value);
197
267
  }
198
- function y($) {
268
+ function g($) {
199
269
  l("update:modelValue", $), l("change", $);
200
270
  }
201
271
  return W(
@@ -204,66 +274,66 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
204
274
  $ !== void 0 && (o.value = $);
205
275
  }
206
276
  ), J(() => {
207
- u = window.matchMedia(`(max-width: ${Ve}px)`), D(), u.addEventListener("change", D), window.addEventListener("resize", D), typeof ResizeObserver < "u" && document.documentElement && (m = new ResizeObserver(D), m.observe(document.documentElement));
208
- }), ce(() => {
209
- u?.removeEventListener("change", D), window.removeEventListener("resize", D), m?.disconnect(), m = null;
210
- }), n({ collapsed: f }), ($, j) => (i(), r("aside", {
211
- class: h(["relative z-30 flex h-full shrink-0 flex-col rounded-corner border border-ui-border bg-ui-surface/70 transition-all duration-300", ["w-[84px]", f.value ? "md:w-[84px]" : "md:w-72"]])
277
+ u = window.matchMedia(`(max-width: ${Ne}px)`), z(), u.addEventListener("change", z), window.addEventListener("resize", z), typeof ResizeObserver < "u" && document.documentElement && (m = new ResizeObserver(z), m.observe(document.documentElement));
278
+ }), pe(() => {
279
+ u?.removeEventListener("change", z), window.removeEventListener("resize", z), m?.disconnect(), m = null;
280
+ }), n({ collapsed: f }), ($, j) => (r(), i("aside", {
281
+ class: h(["relative z-30 flex h-full shrink-0 flex-col rounded-corner border border-ui-border bg-ui-surface/70 transition-[width] duration-300", ["w-[84px]", f.value ? "md:w-[84px]" : "md:w-72"]])
212
282
  }, [
213
- d.value || $.$slots.header ? (i(), r("header", Mt, [
214
- T("div", It, [
283
+ d.value || $.$slots.header ? (r(), i("header", _t, [
284
+ T("div", ea, [
215
285
  T("button", {
216
286
  type: "button",
217
- class: h(Se),
287
+ class: h(Fe),
218
288
  "aria-label": f.value ? e.expandLabel : e.collapseLabel,
219
289
  "aria-expanded": !f.value,
220
- onClick: A
290
+ onClick: B
221
291
  }, [
222
292
  O(H, {
223
293
  name: f.value ? "pan-end-symbolic" : "pan-start-symbolic",
224
294
  type: "symbol",
225
295
  size: 16
226
296
  }, null, 8, ["name"])
227
- ], 8, Ot),
228
- d.value && !f.value ? (i(), r("div", jt, [
229
- e.title ? (i(), r("p", Pt, V(e.title), 1)) : x("", !0),
230
- e.subtitle ? (i(), r("p", Ft, V(e.subtitle), 1)) : x("", !0)
297
+ ], 8, ta),
298
+ d.value && !f.value ? (r(), i("div", aa, [
299
+ e.title ? (r(), i("p", na, M(e.title), 1)) : x("", !0),
300
+ e.subtitle ? (r(), i("p", la, M(e.subtitle), 1)) : x("", !0)
231
301
  ])) : x("", !0)
232
302
  ]),
233
- $.$slots.header && !f.value ? (i(), r("div", Rt, [
303
+ $.$slots.header && !f.value ? (r(), i("div", oa, [
234
304
  S($.$slots, "header", { collapsed: f.value })
235
305
  ])) : x("", !0)
236
- ])) : (i(), r("div", qt, [
306
+ ])) : (r(), i("div", ra, [
237
307
  T("button", {
238
308
  type: "button",
239
- class: h(Se),
309
+ class: h(Fe),
240
310
  "aria-label": f.value ? e.expandLabel : e.collapseLabel,
241
311
  "aria-expanded": !f.value,
242
- onClick: A
312
+ onClick: B
243
313
  }, [
244
314
  O(H, {
245
315
  name: f.value ? "pan-end-symbolic" : "pan-start-symbolic",
246
316
  type: "symbol",
247
317
  size: 16
248
318
  }, null, 8, ["name"])
249
- ], 8, Nt)
319
+ ], 8, ia)
250
320
  ])),
251
- T("div", Ht, [
252
- (i(!0), r(Z, null, le(e.categories, (C) => (i(), Q(Ne, {
321
+ T("div", sa, [
322
+ (r(!0), i(te, null, ue(e.categories, (C) => (r(), Y(Ze, {
253
323
  key: C.id,
254
324
  title: C.title,
255
325
  collapsed: f.value
256
326
  }, {
257
327
  default: K(() => [
258
- (i(!0), r(Z, null, le(C.items, (g) => (i(), Q(He, {
259
- key: g.id,
260
- label: g.label,
261
- icon: g.icon,
262
- badge: g.badge,
263
- disabled: g.disabled,
328
+ (r(!0), i(te, null, ue(C.items, (y) => (r(), Y(_e, {
329
+ key: y.id,
330
+ label: y.label,
331
+ icon: y.icon,
332
+ badge: y.badge,
333
+ disabled: y.disabled,
264
334
  collapsed: f.value,
265
- active: e.modelValue === g.id,
266
- onClick: (c) => y(g.id)
335
+ active: e.modelValue === y.id,
336
+ onClick: (c) => g(y.id)
267
337
  }, null, 8, ["label", "icon", "badge", "disabled", "collapsed", "active", "onClick"]))), 128))
268
338
  ]),
269
339
  _: 2
@@ -272,10 +342,10 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
272
342
  ])
273
343
  ], 2));
274
344
  }
275
- }), Kt = { class: "flex min-w-0 flex-col gap-1" }, Wt = ["for"], Gt = { class: "relative flex min-w-0 items-center" }, Qt = ["id"], Yt = /* @__PURE__ */ E({
345
+ }), ca = { class: "flex min-w-0 flex-col gap-1" }, da = ["for"], fa = { class: "relative flex min-w-0 items-center" }, ma = ["id"], ba = /* @__PURE__ */ D({
276
346
  inheritAttrs: !1,
277
347
  __name: "SelectField",
278
- props: /* @__PURE__ */ Ae({
348
+ props: /* @__PURE__ */ Re({
279
349
  label: {}
280
350
  }, {
281
351
  modelValue: {
@@ -283,30 +353,30 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
283
353
  },
284
354
  modelModifiers: {}
285
355
  }),
286
- emits: /* @__PURE__ */ Ae(["change"], ["update:modelValue"]),
356
+ emits: /* @__PURE__ */ Re(["change"], ["update:modelValue"]),
287
357
  setup(e, { emit: n }) {
288
- const t = e, a = $e(), l = ot(), o = v(() => a.id ?? l), s = n, [u, m] = it(e, "modelValue", {
358
+ const t = e, a = Be(), l = gt(), o = v(() => a.id ?? l), s = n, [u, m] = yt(e, "modelValue", {
289
359
  set(f) {
290
360
  return m.number ? Number(f) : f;
291
361
  }
292
362
  });
293
- return (f, d) => (i(), r("div", Kt, [
294
- t.label ? (i(), r("label", {
363
+ return (f, d) => (r(), i("div", ca, [
364
+ t.label ? (r(), i("label", {
295
365
  key: 0,
296
366
  for: o.value,
297
367
  class: "text-tx-muted text-xs"
298
- }, V(t.label), 9, Wt)) : x("", !0),
299
- T("div", Gt, [
300
- Ce(T("select", oe({
368
+ }, M(t.label), 9, da)) : x("", !0),
369
+ T("div", fa, [
370
+ Se(T("select", ce({
301
371
  id: o.value,
302
- "onUpdate:modelValue": d[0] || (d[0] = (L) => rt(u) ? u.value = L : null),
372
+ "onUpdate:modelValue": d[0] || (d[0] = (L) => ht(u) ? u.value = L : null),
303
373
  class: "min-w-0 flex-1 appearance-none truncate rounded-corner border border-ui-border bg-ui-surface/60 py-1.5 pr-8 pl-2 text-sm text-tx-main"
304
- }, R(a), {
374
+ }, F(a), {
305
375
  onChange: d[1] || (d[1] = (L) => s("change", L))
306
376
  }), [
307
377
  S(f.$slots, "default")
308
- ], 16, Qt), [
309
- [st, R(u)]
378
+ ], 16, ma), [
379
+ [xt, F(u)]
310
380
  ]),
311
381
  O(H, {
312
382
  name: "pan-down-symbolic",
@@ -317,36 +387,36 @@ const Lt = ["src", "alt"], H = /* @__PURE__ */ E({
317
387
  ])
318
388
  ]));
319
389
  }
320
- }), Le = /* @__PURE__ */ Symbol("barra de vasak");
321
- function ke(e) {
390
+ }), Ve = /* @__PURE__ */ Symbol("barra de vasak");
391
+ function Ae(e) {
322
392
  return e === "left" || e === "right" ? "vertical" : "horizontal";
323
393
  }
324
- const Xt = ["top", "bottom", "left", "right"];
325
- function Jt(e) {
326
- return typeof e == "string" && Xt.includes(e);
394
+ const va = ["top", "bottom", "left", "right"];
395
+ function pa(e) {
396
+ return typeof e == "string" && va.includes(e);
327
397
  }
328
- function me() {
329
- const e = pe(Le, null);
398
+ function he() {
399
+ const e = we(Ve, null);
330
400
  if (e) return e;
331
401
  const n = w("top");
332
402
  return {
333
403
  posicion: n,
334
- orientacion: v(() => ke(n.value)),
335
- vertical: v(() => ke(n.value) === "vertical")
404
+ orientacion: v(() => Ae(n.value)),
405
+ vertical: v(() => Ae(n.value) === "vertical")
336
406
  };
337
407
  }
338
- const De = ["minimize", "maximize", "close"], Zt = "window", _t = "barPosition";
339
- function ea(e) {
340
- const t = e?.[Zt]?.[_t];
341
- return Jt(t) ? t : null;
408
+ const Ie = ["minimize", "maximize", "close"], ga = "window", ya = "barPosition";
409
+ function ha(e) {
410
+ const t = e?.[ga]?.[ya];
411
+ return pa(t) ? t : null;
342
412
  }
343
- function ta(e = "top") {
413
+ function xa(e = "top") {
344
414
  const n = w(e);
345
415
  let t = null, a = !1;
346
416
  async function l() {
347
417
  try {
348
418
  const { readConfig: o } = await import("@vasakgroup/plugin-config-manager"), s = await o();
349
- n.value = ea(s) ?? e;
419
+ n.value = ha(s) ?? e;
350
420
  } catch {
351
421
  }
352
422
  }
@@ -363,110 +433,110 @@ function ta(e = "top") {
363
433
  t = s;
364
434
  } catch {
365
435
  }
366
- }), ce(() => {
436
+ }), pe(() => {
367
437
  a = !0, t?.(), t = null;
368
438
  }), n;
369
439
  }
370
- function Ue(e) {
371
- const n = Fe(), t = {};
440
+ function et(e) {
441
+ const n = Ge(), t = {};
372
442
  for (const a of e) {
373
443
  const l = `on${a[0].toUpperCase()}${a.slice(1)}`;
374
444
  n?.vnode.props?.[l] && (t[a] = () => n.emit(a));
375
445
  }
376
446
  return t;
377
447
  }
378
- const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title", "aria-label"], xe = "flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors", Ke = /* @__PURE__ */ E({
448
+ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title", "aria-label"], Le = "flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors", tt = /* @__PURE__ */ D({
379
449
  __name: "WindowControls",
380
450
  props: {
381
- controls: { default: () => De },
451
+ controls: { default: () => Ie },
382
452
  minimizeLabel: {},
383
453
  maximizeLabel: {},
384
454
  closeLabel: {}
385
455
  },
386
456
  emits: ["minimize", "maximize", "close"],
387
457
  setup(e, { emit: n }) {
388
- const t = e, { t: a } = ht(), l = v(() => t.minimizeLabel ?? a("ventana.minimizar")), o = v(() => t.maximizeLabel ?? a("ventana.maximizar")), s = v(() => t.closeLabel ?? a("ventana.cerrar")), u = n, { vertical: m } = me(), f = v(() => ({
458
+ const t = e, { t: a } = Bt(), l = v(() => t.minimizeLabel ?? a("ventana.minimizar")), o = v(() => t.maximizeLabel ?? a("ventana.maximizar")), s = v(() => t.closeLabel ?? a("ventana.cerrar")), u = n, { vertical: m } = he(), f = v(() => ({
389
459
  minimize: t.controls.includes("minimize"),
390
460
  maximize: t.controls.includes("maximize"),
391
461
  close: t.controls.includes("close")
392
462
  }));
393
463
  function d() {
394
- return gt();
464
+ return At();
395
465
  }
396
- const L = Fe();
397
- function D(j) {
466
+ const L = Ge();
467
+ function z(j) {
398
468
  return !!L?.vnode.props?.[`on${j}`];
399
469
  }
400
- function A() {
401
- if (D("Minimize")) return u("minimize");
470
+ function B() {
471
+ if (z("Minimize")) return u("minimize");
402
472
  d().minimize();
403
473
  }
404
- function y() {
405
- if (D("Maximize")) return u("maximize");
474
+ function g() {
475
+ if (z("Maximize")) return u("maximize");
406
476
  d().toggleMaximize();
407
477
  }
408
478
  function $() {
409
- if (D("Close")) return u("close");
479
+ if (z("Close")) return u("close");
410
480
  d().close();
411
481
  }
412
- return (j, C) => e.controls.length ? (i(), r("div", {
482
+ return (j, C) => e.controls.length ? (r(), i("div", {
413
483
  key: 0,
414
- class: h(["flex shrink-0 gap-1", R(m) ? "flex-col" : ""]),
484
+ class: h(["flex shrink-0 gap-1", F(m) ? "flex-col" : ""]),
415
485
  "data-tauri-drag-region": ""
416
486
  }, [
417
- f.value.minimize ? (i(), r("button", {
487
+ f.value.minimize ? (r(), i("button", {
418
488
  key: 0,
419
489
  type: "button",
420
- class: h([xe, "hover:bg-status-success"]),
490
+ class: h([Le, "hover:bg-status-success"]),
421
491
  title: l.value,
422
492
  "aria-label": l.value,
423
- onClick: C[0] || (C[0] = (g) => A())
493
+ onClick: C[0] || (C[0] = (y) => B())
424
494
  }, [
425
495
  O(H, {
426
496
  name: "window-minimize",
427
497
  type: "symbol",
428
498
  size: 24
429
499
  })
430
- ], 10, aa)) : x("", !0),
431
- f.value.maximize ? (i(), r("button", {
500
+ ], 10, wa)) : x("", !0),
501
+ f.value.maximize ? (r(), i("button", {
432
502
  key: 1,
433
503
  type: "button",
434
- class: h([xe, "hover:bg-status-warning"]),
504
+ class: h([Le, "hover:bg-status-warning"]),
435
505
  title: o.value,
436
506
  "aria-label": o.value,
437
- onClick: C[1] || (C[1] = (g) => y())
507
+ onClick: C[1] || (C[1] = (y) => g())
438
508
  }, [
439
509
  O(H, {
440
510
  name: "window-maximize",
441
511
  type: "symbol",
442
512
  size: 24
443
513
  })
444
- ], 10, na)) : x("", !0),
445
- f.value.close ? (i(), r("button", {
514
+ ], 10, ka)) : x("", !0),
515
+ f.value.close ? (r(), i("button", {
446
516
  key: 2,
447
517
  type: "button",
448
- class: h([xe, "hover:bg-status-error"]),
518
+ class: h([Le, "hover:bg-status-error"]),
449
519
  title: s.value,
450
520
  "aria-label": s.value,
451
- onClick: C[2] || (C[2] = (g) => $())
521
+ onClick: C[2] || (C[2] = (y) => $())
452
522
  }, [
453
523
  O(H, {
454
524
  name: "window-close",
455
525
  type: "symbol",
456
526
  size: 24
457
527
  })
458
- ], 10, la)) : x("", !0)
528
+ ], 10, $a)) : x("", !0)
459
529
  ], 2)) : x("", !0);
460
530
  }
461
- }), oa = {
531
+ }), Ca = {
462
532
  key: 0,
463
533
  class: "flex shrink-0 items-center",
464
534
  "data-tauri-drag-region": ""
465
- }, ia = {
535
+ }, Ea = {
466
536
  key: 1,
467
537
  class: "min-w-0 shrink truncate text-sm",
468
538
  "data-tauri-drag-region": ""
469
- }, We = /* @__PURE__ */ E({
539
+ }, at = /* @__PURE__ */ D({
470
540
  __name: "AppBar",
471
541
  props: {
472
542
  position: { default: null },
@@ -474,25 +544,25 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
474
544
  minimizeLabel: {},
475
545
  maximizeLabel: {},
476
546
  closeLabel: {},
477
- controls: { default: () => De }
547
+ controls: { default: () => Ie }
478
548
  },
479
549
  emits: ["minimize", "maximize", "close"],
480
550
  setup(e) {
481
- const n = e, t = me(), a = v(() => n.position ?? t.posicion.value), l = v(() => a.value === "left" || a.value === "right");
482
- return de(Le, {
551
+ const n = e, t = he(), a = v(() => n.position ?? t.posicion.value), l = v(() => a.value === "left" || a.value === "right");
552
+ return ge(Ve, {
483
553
  posicion: a,
484
554
  orientacion: v(() => l.value ? "vertical" : "horizontal"),
485
555
  vertical: l
486
- }), (o, s) => (i(), r("div", {
556
+ }), (o, s) => (r(), i("div", {
487
557
  class: h(["relative flex shrink-0 items-center gap-2 p-1 font-title", l.value ? "h-full flex-col" : "w-full"]),
488
558
  "data-tauri-drag-region": ""
489
559
  }, [
490
- o.$slots.identidad ? (i(), r("div", oa, [
560
+ o.$slots.identidad ? (r(), i("div", Ca, [
491
561
  S(o.$slots, "identidad")
492
562
  ])) : x("", !0),
493
- (o.$slots.titulo || e.title) && !l.value ? (i(), r("p", ia, [
563
+ (o.$slots.titulo || e.title) && !l.value ? (r(), i("p", Ea, [
494
564
  S(o.$slots, "titulo", {}, () => [
495
- ze(V(e.title), 1)
565
+ Me(M(e.title), 1)
496
566
  ])
497
567
  ])) : x("", !0),
498
568
  T("div", {
@@ -501,19 +571,19 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
501
571
  }, [
502
572
  S(o.$slots, "default")
503
573
  ], 2),
504
- o.$slots.acciones ? (i(), r("div", {
574
+ o.$slots.acciones ? (r(), i("div", {
505
575
  key: 2,
506
576
  class: h(["flex shrink-0 items-center gap-1", l.value ? "flex-col" : ""])
507
577
  }, [
508
578
  S(o.$slots, "acciones")
509
579
  ], 2)) : x("", !0),
510
- O(Ke, oe({
580
+ O(tt, ce({
511
581
  controls: e.controls,
512
582
  "minimize-label": e.minimizeLabel,
513
583
  "maximize-label": e.maximizeLabel,
514
584
  "close-label": e.closeLabel
515
- }, Re(R(Ue)(["minimize", "maximize", "close"]))), null, 16, ["controls", "minimize-label", "maximize-label", "close-label"]),
516
- o.$slots.centro ? (i(), r("div", {
585
+ }, Qe(F(et)(["minimize", "maximize", "close"]))), null, 16, ["controls", "minimize-label", "maximize-label", "close-label"]),
586
+ o.$slots.centro ? (r(), i("div", {
517
587
  key: 3,
518
588
  class: h(["pointer-events-none absolute flex items-center justify-center", l.value ? "inset-x-0 top-1/2 -translate-y-1/2 flex-col" : "inset-y-0 left-1/2 -translate-x-1/2"])
519
589
  }, [
@@ -525,7 +595,7 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
525
595
  ], 2)) : x("", !0)
526
596
  ], 2));
527
597
  }
528
- }), ra = { class: "flex min-h-0 min-w-0 flex-1" }, sa = /* @__PURE__ */ E({
598
+ }), La = { class: "flex min-h-0 min-w-0 flex-1" }, za = /* @__PURE__ */ D({
529
599
  __name: "WindowFrame",
530
600
  props: {
531
601
  position: { default: null },
@@ -533,23 +603,23 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
533
603
  minimizeLabel: {},
534
604
  maximizeLabel: {},
535
605
  closeLabel: {},
536
- controls: { default: () => De },
606
+ controls: { default: () => Ie },
537
607
  hideBar: { type: Boolean, default: !1 }
538
608
  },
539
609
  emits: ["minimize", "maximize", "close"],
540
610
  setup(e) {
541
- const n = e, t = ta(), a = v(() => n.position ?? t.value), l = v(() => ke(a.value)), o = v(() => l.value === "vertical");
542
- de(Le, { posicion: a, orientacion: l, vertical: o });
611
+ const n = e, t = xa(), a = v(() => n.position ?? t.value), l = v(() => Ae(a.value)), o = v(() => l.value === "vertical");
612
+ ge(Ve, { posicion: a, orientacion: l, vertical: o });
543
613
  const s = {
544
614
  top: "flex-col",
545
615
  bottom: "flex-col-reverse",
546
616
  left: "flex-row",
547
617
  right: "flex-row-reverse"
548
618
  };
549
- return (u, m) => (i(), r("div", {
619
+ return (u, m) => (r(), i("div", {
550
620
  class: h(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80", s[a.value]])
551
621
  }, [
552
- e.hideBar ? x("", !0) : (i(), Q(We, oe({
622
+ e.hideBar ? x("", !0) : (r(), Y(at, ce({
553
623
  key: 0,
554
624
  position: a.value,
555
625
  title: e.title,
@@ -557,7 +627,7 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
557
627
  "maximize-label": e.maximizeLabel,
558
628
  "close-label": e.closeLabel,
559
629
  controls: e.controls
560
- }, Re(R(Ue)(["minimize", "maximize", "close"]))), ut({
630
+ }, Qe(F(et)(["minimize", "maximize", "close"]))), wt({
561
631
  default: K(() => [
562
632
  S(u.$slots, "barra")
563
633
  ]),
@@ -592,22 +662,22 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
592
662
  key: "3"
593
663
  } : void 0
594
664
  ]), 1040, ["position", "title", "minimize-label", "maximize-label", "close-label", "controls"])),
595
- T("div", ra, [
665
+ T("div", La, [
596
666
  S(u.$slots, "default")
597
667
  ])
598
668
  ], 2));
599
669
  }
600
- }), ua = ["aria-selected", "title", "aria-label", "tabindex"], ca = {
670
+ }), Da = ["aria-selected", "title", "aria-label", "tabindex"], Ta = {
601
671
  key: 1,
602
672
  "aria-hidden": "true"
603
- }, da = {
673
+ }, Aa = {
604
674
  key: 2,
605
675
  class: "min-w-0 flex-1 truncate"
606
- }, fa = ["title", "aria-label"], ma = { class: "whitespace-nowrap" }, ba = {
676
+ }, Ba = ["title", "aria-label"], Sa = { class: "whitespace-nowrap" }, Ma = {
607
677
  key: 0,
608
678
  class: "size-2 shrink-0 rounded-full bg-current",
609
679
  "aria-hidden": "true"
610
- }, va = ["title", "aria-label"], pa = 500, Me = 8, Ie = 6, Ge = /* @__PURE__ */ E({
680
+ }, Va = ["title", "aria-label"], Ia = 500, qe = 8, He = 6, nt = /* @__PURE__ */ D({
611
681
  __name: "TabItem",
612
682
  props: {
613
683
  tab: {},
@@ -618,165 +688,165 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
618
688
  },
619
689
  emits: ["select", "close", "menu", "mover", "navegar"],
620
690
  setup(e, { emit: n }) {
621
- const t = e, a = n, { vertical: l, posicion: o } = me(), s = w(null), u = w(null), m = w(!1), f = w(!1), d = w(!1), L = w({ top: 0, left: 0, right: 0 });
622
- let D = null, A = null;
623
- const y = v(() => t.tab.closable !== !1), $ = v(() => t.tab.tooltip ?? t.tab.label), j = v(
691
+ const t = e, a = n, { vertical: l, posicion: o } = he(), s = w(null), u = w(null), m = w(!1), f = w(!1), d = w(!1), L = w({ top: 0, left: 0, right: 0 });
692
+ let z = null, B = null;
693
+ const g = v(() => t.tab.closable !== !1), $ = v(() => t.tab.tooltip ?? t.tab.label), j = v(
624
694
  () => t.tab.dirty ? `${t.tab.label} · ${t.dirtyLabel}` : t.tab.label
625
- ), C = v(() => t.tab.label.trim().charAt(0).toUpperCase()), g = v(() => m.value || d.value), c = v(
626
- () => !!t.tab.dirty && !(g.value && y.value)
695
+ ), C = v(() => t.tab.label.trim().charAt(0).toUpperCase()), y = v(() => m.value || d.value), c = v(
696
+ () => !!t.tab.dirty && !(y.value && g.value)
627
697
  ), b = v(
628
- () => y.value && (g.value || t.active || !t.tab.dirty)
698
+ () => g.value && (y.value || t.active || !t.tab.dirty)
629
699
  ), p = v(
630
700
  () => l.value && (m.value || f.value || d.value)
631
701
  ), P = v(() => {
632
- const q = { position: "fixed", top: `${L.value.top}px`, zIndex: 50 };
633
- return o.value === "right" ? { ...q, right: `${L.value.right + Ie}px` } : { ...q, left: `${L.value.left + Ie}px` };
702
+ const N = { position: "fixed", top: `${L.value.top}px`, zIndex: 50 };
703
+ return o.value === "right" ? { ...N, right: `${L.value.right + He}px` } : { ...N, left: `${L.value.left + He}px` };
634
704
  });
635
- function _() {
636
- const q = s.value;
637
- if (!q) return;
638
- const k = q.getBoundingClientRect();
705
+ function le() {
706
+ const N = s.value;
707
+ if (!N) return;
708
+ const k = N.getBoundingClientRect();
639
709
  L.value = {
640
710
  top: k.top,
641
711
  left: k.right,
642
712
  right: window.innerWidth - k.left
643
713
  };
644
714
  }
645
- function U(q) {
646
- const k = q.relatedTarget;
715
+ function U(N) {
716
+ const k = N.relatedTarget;
647
717
  k && u.value?.contains(k) || (d.value = !1);
648
718
  }
649
- function ee() {
650
- m.value = !0, _();
719
+ function oe() {
720
+ m.value = !0, le();
651
721
  }
652
722
  function G() {
653
- f.value = !0, _();
723
+ f.value = !0, le();
654
724
  }
655
- function B() {
656
- D !== null && clearTimeout(D), D = null, A = null;
725
+ function A() {
726
+ z !== null && clearTimeout(z), z = null, B = null;
657
727
  }
658
- function z(q) {
659
- q.button === 0 && (A = { x: q.clientX, y: q.clientY }, D = setTimeout(() => {
660
- A && a("menu", A), B();
661
- }, pa));
728
+ function E(N) {
729
+ N.button === 0 && (B = { x: N.clientX, y: N.clientY }, z = setTimeout(() => {
730
+ B && a("menu", B), A();
731
+ }, Ia));
662
732
  }
663
- function I(q) {
664
- if (!A) return;
665
- (Math.abs(q.clientX - A.x) > Me || Math.abs(q.clientY - A.y) > Me) && B();
733
+ function I(N) {
734
+ if (!B) return;
735
+ (Math.abs(N.clientX - B.x) > qe || Math.abs(N.clientY - B.y) > qe) && A();
666
736
  }
667
- function ie(q) {
668
- q.button === 1 && y.value && (q.preventDefault(), a("close"));
737
+ function de(N) {
738
+ N.button === 1 && g.value && (N.preventDefault(), a("close"));
669
739
  }
670
- function lt(q) {
671
- q.preventDefault(), a("menu", { x: q.clientX, y: q.clientY });
740
+ function bt(N) {
741
+ N.preventDefault(), a("menu", { x: N.clientX, y: N.clientY });
672
742
  }
673
- return ce(B), (q, k) => (i(), r("div", {
743
+ return pe(A), (N, k) => (r(), i("div", {
674
744
  ref_key: "raiz",
675
745
  ref: s,
676
746
  class: h(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors", [
677
747
  e.active ? "bg-primary font-bold text-tx-on-primary" : "bg-ui-bg/80 hover:bg-ui-surface/70",
678
- R(l) ? "size-8 justify-center p-0 text-sm" : "w-34 max-w-34 px-3 py-1 text-sm"
748
+ F(l) ? "size-8 justify-center p-0 text-sm" : "w-34 max-w-34 px-3 py-1 text-sm"
679
749
  ]]),
680
750
  role: "tab",
681
751
  "aria-selected": e.active,
682
752
  title: $.value,
683
753
  "aria-label": j.value,
684
754
  tabindex: e.tabindex,
685
- onClick: k[5] || (k[5] = M((N) => a("select"), ["stop"])),
755
+ onClick: k[5] || (k[5] = V((q) => a("select"), ["stop"])),
686
756
  onKeydown: [
687
- k[6] || (k[6] = F(M((N) => a("select"), ["stop"]), ["enter"])),
688
- k[7] || (k[7] = F(M((N) => a("select"), ["prevent", "stop"]), ["space"])),
689
- k[8] || (k[8] = F(M((N) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
690
- k[9] || (k[9] = F(M((N) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
691
- k[10] || (k[10] = F(M((N) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
692
- k[11] || (k[11] = F(M((N) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
693
- k[12] || (k[12] = F(M((N) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
694
- k[13] || (k[13] = F(M((N) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
695
- k[14] || (k[14] = F(M((N) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
696
- k[15] || (k[15] = F(M((N) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
697
- k[16] || (k[16] = F(M((N) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
698
- k[17] || (k[17] = F(M((N) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
699
- k[18] || (k[18] = F(M((N) => y.value && a("close"), ["prevent", "stop"]), ["delete"]))
757
+ k[6] || (k[6] = R(V((q) => a("select"), ["stop"]), ["enter"])),
758
+ k[7] || (k[7] = R(V((q) => a("select"), ["prevent", "stop"]), ["space"])),
759
+ k[8] || (k[8] = R(V((q) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
760
+ k[9] || (k[9] = R(V((q) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
761
+ k[10] || (k[10] = R(V((q) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
762
+ k[11] || (k[11] = R(V((q) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
763
+ k[12] || (k[12] = R(V((q) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
764
+ k[13] || (k[13] = R(V((q) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
765
+ k[14] || (k[14] = R(V((q) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
766
+ k[15] || (k[15] = R(V((q) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
767
+ k[16] || (k[16] = R(V((q) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
768
+ k[17] || (k[17] = R(V((q) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
769
+ k[18] || (k[18] = R(V((q) => g.value && a("close"), ["prevent", "stop"]), ["delete"]))
700
770
  ],
701
- onAuxclick: M(ie, ["stop"]),
702
- onContextmenu: lt,
703
- onPointerdown: z,
771
+ onAuxclick: V(de, ["stop"]),
772
+ onContextmenu: bt,
773
+ onPointerdown: E,
704
774
  onPointermove: I,
705
- onPointerup: B,
706
- onPointerleave: B,
707
- onMouseenter: ee,
708
- onMouseleave: k[19] || (k[19] = (N) => m.value = !1),
775
+ onPointerup: A,
776
+ onPointerleave: A,
777
+ onMouseenter: oe,
778
+ onMouseleave: k[19] || (k[19] = (q) => m.value = !1),
709
779
  onFocus: G,
710
- onBlur: k[20] || (k[20] = (N) => f.value = !1)
780
+ onBlur: k[20] || (k[20] = (q) => f.value = !1)
711
781
  }, [
712
- e.tab.icon ? (i(), Q(H, {
782
+ e.tab.icon ? (r(), Y(H, {
713
783
  key: 0,
714
784
  name: e.tab.icon,
715
785
  size: 16,
716
786
  class: "shrink-0"
717
- }, null, 8, ["name"])) : R(l) ? (i(), r("span", ca, V(C.value), 1)) : x("", !0),
718
- R(l) ? x("", !0) : (i(), r("span", da, V(e.tab.label), 1)),
719
- c.value ? (i(), r("span", {
787
+ }, null, 8, ["name"])) : F(l) ? (r(), i("span", Ta, M(C.value), 1)) : x("", !0),
788
+ F(l) ? x("", !0) : (r(), i("span", Aa, M(e.tab.label), 1)),
789
+ c.value ? (r(), i("span", {
720
790
  key: 3,
721
- class: h(["size-2 shrink-0 rounded-full bg-current", R(l) ? "absolute right-0.5 top-0.5" : ""]),
791
+ class: h(["size-2 shrink-0 rounded-full bg-current", F(l) ? "absolute right-0.5 top-0.5" : ""]),
722
792
  "aria-hidden": "true"
723
- }, null, 2)) : b.value && !R(l) ? (i(), r("button", {
793
+ }, null, 2)) : b.value && !F(l) ? (r(), i("button", {
724
794
  key: 4,
725
795
  type: "button",
726
796
  class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
727
797
  title: e.closeLabel,
728
798
  "aria-label": `${e.closeLabel}: ${j.value}`,
729
- onClick: k[0] || (k[0] = M((N) => a("close"), ["stop"]))
799
+ onClick: k[0] || (k[0] = V((q) => a("close"), ["stop"]))
730
800
  }, [
731
801
  O(H, {
732
802
  name: "gtk-close",
733
803
  type: "symbol",
734
804
  size: 12
735
805
  })
736
- ], 8, fa)) : x("", !0),
737
- (i(), Q(fe, { to: "body" }, [
738
- O(ye, {
806
+ ], 8, Ba)) : x("", !0),
807
+ (r(), Y(ye, { to: "body" }, [
808
+ O(ke, {
739
809
  "enter-active-class": "transition duration-150 ease-out",
740
810
  "enter-from-class": "opacity-0 scale-95",
741
811
  "leave-active-class": "transition duration-100 ease-in",
742
812
  "leave-to-class": "opacity-0 scale-95"
743
813
  }, {
744
814
  default: K(() => [
745
- p.value ? (i(), r("div", {
815
+ p.value ? (r(), i("div", {
746
816
  key: 0,
747
817
  class: h(["flex items-center gap-2 rounded-corner border border-ui-border bg-ui-surface/95 px-3 py-1 text-sm shadow-lg", e.active ? "font-bold" : ""]),
748
818
  ref_key: "desplegadoRef",
749
819
  ref: u,
750
- style: re(P.value),
751
- onMouseenter: k[2] || (k[2] = (N) => d.value = !0),
752
- onMouseleave: k[3] || (k[3] = (N) => d.value = !1),
753
- onFocusin: k[4] || (k[4] = (N) => d.value = !0),
820
+ style: fe(P.value),
821
+ onMouseenter: k[2] || (k[2] = (q) => d.value = !0),
822
+ onMouseleave: k[3] || (k[3] = (q) => d.value = !1),
823
+ onFocusin: k[4] || (k[4] = (q) => d.value = !0),
754
824
  onFocusout: U
755
825
  }, [
756
- T("span", ma, V(e.tab.label), 1),
757
- e.tab.dirty ? (i(), r("span", ba)) : x("", !0),
758
- y.value ? (i(), r("button", {
826
+ T("span", Sa, M(e.tab.label), 1),
827
+ e.tab.dirty ? (r(), i("span", Ma)) : x("", !0),
828
+ g.value ? (r(), i("button", {
759
829
  key: 1,
760
830
  type: "button",
761
831
  class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
762
832
  title: e.closeLabel,
763
833
  "aria-label": `${e.closeLabel}: ${j.value}`,
764
- onClick: k[1] || (k[1] = M((N) => a("close"), ["stop"]))
834
+ onClick: k[1] || (k[1] = V((q) => a("close"), ["stop"]))
765
835
  }, [
766
836
  O(H, {
767
837
  name: "gtk-close",
768
838
  type: "symbol",
769
839
  size: 12
770
840
  })
771
- ], 8, va)) : x("", !0)
841
+ ], 8, Va)) : x("", !0)
772
842
  ], 38)) : x("", !0)
773
843
  ]),
774
844
  _: 1
775
845
  })
776
846
  ]))
777
- ], 42, ua));
847
+ ], 42, Da));
778
848
  }
779
- }), ya = ["aria-orientation"], ga = ["draggable", "onDragstart", "onDragover", "onDrop"], ha = ["title", "aria-label"], xa = /* @__PURE__ */ E({
849
+ }), Oa = ["aria-orientation"], ja = ["draggable", "onDragstart", "onDragover", "onDrop"], Pa = ["title", "aria-label"], Ra = /* @__PURE__ */ D({
780
850
  __name: "TabBar",
781
851
  props: {
782
852
  tabs: {},
@@ -788,40 +858,40 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
788
858
  },
789
859
  emits: ["update:modelValue", "select", "close", "new", "reorder", "menu"],
790
860
  setup(e, { emit: n }) {
791
- const t = e, a = n, { vertical: l } = me(), o = w(null), s = w(0), u = w(null), m = w(null);
792
- function f(g) {
793
- a("update:modelValue", g), a("select", g);
861
+ const t = e, a = n, { vertical: l } = he(), o = w(null), s = w(0), u = w(null), m = w(null);
862
+ function f(y) {
863
+ a("update:modelValue", y), a("select", y);
794
864
  }
795
- async function d(g, c) {
865
+ async function d(y, c) {
796
866
  const b = t.tabs.length - 1;
797
867
  if (b < 0) return;
798
- const p = c === "primera" ? 0 : c === "ultima" ? b : c === "anterior" ? (g - 1 + t.tabs.length) % t.tabs.length : (g + 1) % t.tabs.length;
799
- s.value = p, await Y(), o.value?.querySelectorAll('[role="tab"]')?.[p]?.focus();
868
+ const p = c === "primera" ? 0 : c === "ultima" ? b : c === "anterior" ? (y - 1 + t.tabs.length) % t.tabs.length : (y + 1) % t.tabs.length;
869
+ s.value = p, await X(), o.value?.querySelectorAll('[role="tab"]')?.[p]?.focus();
800
870
  }
801
- function L(g, c) {
871
+ function L(y, c) {
802
872
  if (t.fixedOrder) return;
803
- const b = g + c;
873
+ const b = y + c;
804
874
  if (b < 0 || b >= t.tabs.length) return;
805
- const p = [...t.tabs], [P] = p.splice(g, 1);
875
+ const p = [...t.tabs], [P] = p.splice(y, 1);
806
876
  P && (p.splice(b, 0, P), s.value = b, a("reorder", p));
807
877
  }
808
- function D(g) {
878
+ function z(y) {
809
879
  const c = o.value;
810
880
  if (!c) return;
811
- const b = g.deltaY || g.deltaX || 0, p = l.value ? c.scrollTop : c.scrollLeft;
812
- l.value ? c.scrollTop += b : c.scrollLeft += b, (l.value ? c.scrollTop : c.scrollLeft) !== p && g.preventDefault();
881
+ const b = y.deltaY || y.deltaX || 0, p = l.value ? c.scrollTop : c.scrollLeft;
882
+ l.value ? c.scrollTop += b : c.scrollLeft += b, (l.value ? c.scrollTop : c.scrollLeft) !== p && y.preventDefault();
813
883
  }
814
- function A(g, c) {
815
- t.fixedOrder || (u.value = g, c.dataTransfer?.setData("text/plain", String(g)), c.dataTransfer && (c.dataTransfer.effectAllowed = "move"));
884
+ function B(y, c) {
885
+ t.fixedOrder || (u.value = y, c.dataTransfer?.setData("text/plain", String(y)), c.dataTransfer && (c.dataTransfer.effectAllowed = "move"));
816
886
  }
817
- function y(g, c) {
818
- t.fixedOrder || u.value === null || (c.preventDefault(), m.value = g, c.dataTransfer && (c.dataTransfer.dropEffect = "move"));
887
+ function g(y, c) {
888
+ t.fixedOrder || u.value === null || (c.preventDefault(), m.value = y, c.dataTransfer && (c.dataTransfer.dropEffect = "move"));
819
889
  }
820
- function $(g) {
890
+ function $(y) {
821
891
  const c = u.value;
822
- if (j(), t.fixedOrder || c === null || c === g) return;
892
+ if (j(), t.fixedOrder || c === null || c === y) return;
823
893
  const b = [...t.tabs], [p] = b.splice(c, 1);
824
- p && (b.splice(g, 0, p), a("reorder", b));
894
+ p && (b.splice(y, 0, p), a("reorder", b));
825
895
  }
826
896
  function j() {
827
897
  u.value = null, m.value = null;
@@ -829,30 +899,30 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
829
899
  const C = v(
830
900
  () => l.value ? "flex h-full flex-col items-center gap-1 overflow-y-auto overflow-x-hidden" : "flex items-center gap-1 overflow-x-auto overflow-y-hidden"
831
901
  );
832
- return (g, c) => (i(), r("div", {
833
- class: h(["flex min-h-0 min-w-0 items-center gap-1", R(l) ? "w-full flex-col" : "h-full"]),
902
+ return (y, c) => (r(), i("div", {
903
+ class: h(["flex min-h-0 min-w-0 items-center gap-1", F(l) ? "w-full flex-col" : "h-full"]),
834
904
  role: "tablist",
835
- "aria-orientation": R(l) ? "vertical" : "horizontal"
905
+ "aria-orientation": F(l) ? "vertical" : "horizontal"
836
906
  }, [
837
907
  T("div", {
838
908
  ref_key: "carril",
839
909
  ref: o,
840
910
  class: h(C.value),
841
- onWheel: D
911
+ onWheel: z
842
912
  }, [
843
- (i(!0), r(Z, null, le(e.tabs, (b, p) => (i(), r("div", {
913
+ (r(!0), i(te, null, ue(e.tabs, (b, p) => (r(), i("div", {
844
914
  key: b.id,
845
915
  class: h(["transition-opacity", [
846
916
  u.value === p ? "opacity-40" : "",
847
917
  m.value === p && u.value !== p ? "ring-2 ring-secondary rounded-corner" : ""
848
918
  ]]),
849
919
  draggable: !e.fixedOrder,
850
- onDragstart: (P) => A(p, P),
851
- onDragover: (P) => y(p, P),
852
- onDrop: M((P) => $(p), ["prevent"]),
920
+ onDragstart: (P) => B(p, P),
921
+ onDragover: (P) => g(p, P),
922
+ onDrop: V((P) => $(p), ["prevent"]),
853
923
  onDragend: j
854
924
  }, [
855
- O(Ge, {
925
+ O(nt, {
856
926
  tab: b,
857
927
  active: b.id === e.modelValue,
858
928
  "close-label": e.closeLabel,
@@ -864,9 +934,9 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
864
934
  onNavegar: (P) => d(p, P),
865
935
  onMover: (P) => L(p, P)
866
936
  }, null, 8, ["tab", "active", "close-label", "dirty-label", "tabindex", "onSelect", "onClose", "onMenu", "onNavegar", "onMover"])
867
- ], 42, ga))), 128))
937
+ ], 42, ja))), 128))
868
938
  ], 34),
869
- e.newLabel ? (i(), r("button", {
939
+ e.newLabel ? (r(), i("button", {
870
940
  key: 0,
871
941
  type: "button",
872
942
  class: "flex size-7 shrink-0 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",
@@ -879,10 +949,10 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
879
949
  type: "symbol",
880
950
  size: 14
881
951
  })
882
- ], 8, ha)) : x("", !0)
883
- ], 10, ya));
952
+ ], 8, Pa)) : x("", !0)
953
+ ], 10, Oa));
884
954
  }
885
- }), wa = ["id", "aria-label", "type", "value", "placeholder", "disabled", "readonly", "required", "aria-describedby", "autocomplete", "aria-invalid"], Qe = /* @__PURE__ */ E({
955
+ }), Fa = ["id", "aria-label", "type", "value", "placeholder", "disabled", "readonly", "required", "aria-describedby", "autocomplete", "aria-invalid"], lt = /* @__PURE__ */ D({
886
956
  __name: "TextInput",
887
957
  props: {
888
958
  modelValue: {},
@@ -920,7 +990,7 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
920
990
  a.mono ? "font-mono" : "",
921
991
  a.disabled ? "cursor-not-allowed opacity-60" : ""
922
992
  ]);
923
- return (d, L) => (i(), r("input", {
993
+ return (d, L) => (r(), i("input", {
924
994
  ref_key: "campo",
925
995
  ref: u,
926
996
  id: e.id,
@@ -937,11 +1007,11 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
937
1007
  class: h(f.value),
938
1008
  onInput: o,
939
1009
  onChange: s,
940
- onKeyup: L[0] || (L[0] = (D) => l("keyup", D)),
941
- onKeydown: L[1] || (L[1] = (D) => l("keydown", D))
942
- }, null, 42, wa));
1010
+ onKeyup: L[0] || (L[0] = (z) => l("keyup", z)),
1011
+ onKeydown: L[1] || (L[1] = (z) => l("keydown", z))
1012
+ }, null, 42, Fa));
943
1013
  }
944
- }), ka = { class: "pointer-events-none absolute left-2 flex items-center" }, $a = ["aria-label"], Ee = /* @__PURE__ */ E({
1014
+ }), Na = { class: "pointer-events-none absolute left-2 flex items-center" }, qa = ["aria-label"], Oe = /* @__PURE__ */ D({
945
1015
  __name: "SearchField",
946
1016
  props: {
947
1017
  modelValue: { default: "" },
@@ -975,27 +1045,27 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
975
1045
  function L($) {
976
1046
  l("update:modelValue", $), !(a.debounce <= 0) && (d(), s = setTimeout(() => l("search", $), a.debounce));
977
1047
  }
978
- function D() {
1048
+ function z() {
979
1049
  d(), l("search", a.modelValue);
980
1050
  }
981
- function A() {
982
- d(), l("update:modelValue", ""), l("clear"), y();
1051
+ function B() {
1052
+ d(), l("update:modelValue", ""), l("clear"), g();
983
1053
  }
984
- function y() {
1054
+ function g() {
985
1055
  return o.value?.enfocar() ?? !1;
986
1056
  }
987
- return n({ enfocar: y }), J(async () => {
988
- a.autofocus && (await Y(), y());
1057
+ return n({ enfocar: g }), J(async () => {
1058
+ a.autofocus && (await X(), g());
989
1059
  }), ve(d), W(
990
1060
  () => a.disabled,
991
1061
  ($) => {
992
1062
  $ && d();
993
1063
  }
994
- ), ($, j) => (i(), r("div", {
1064
+ ), ($, j) => (r(), i("div", {
995
1065
  class: "relative flex items-center",
996
- onKeydown: F(D, ["enter"])
1066
+ onKeydown: R(z, ["enter"])
997
1067
  }, [
998
- T("span", ka, [
1068
+ T("span", Na, [
999
1069
  O(H, {
1000
1070
  name: e.busy ? "content-loading" : "system-search",
1001
1071
  type: "symbol",
@@ -1003,7 +1073,7 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1003
1073
  class: h(e.busy ? "animate-spin opacity-70" : "opacity-60")
1004
1074
  }, null, 8, ["name", "class"])
1005
1075
  ]),
1006
- O(Qe, oe({
1076
+ O(lt, ce({
1007
1077
  ref_key: "campo",
1008
1078
  ref: o,
1009
1079
  type: "search",
@@ -1016,14 +1086,14 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1016
1086
  "onUpdate:modelValue": L,
1017
1087
  onKeydown: j[0] || (j[0] = (C) => l("keydown", C))
1018
1088
  }), null, 16, ["model-value", "placeholder", "ariaLabel", "disabled", "class"]),
1019
- f.value ? (i(), r("button", {
1089
+ f.value ? (r(), i("button", {
1020
1090
  key: 0,
1021
1091
  type: "button",
1022
1092
  class: "absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface",
1023
1093
  "aria-label": e.label ? `${e.label}: vaciar` : "Vaciar",
1024
- onMousedown: j[1] || (j[1] = M(() => {
1094
+ onMousedown: j[1] || (j[1] = V(() => {
1025
1095
  }, ["prevent"])),
1026
- onClick: A
1096
+ onClick: B
1027
1097
  }, [
1028
1098
  O(H, {
1029
1099
  name: "gtk-close",
@@ -1031,10 +1101,10 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1031
1101
  size: 12,
1032
1102
  alt: ""
1033
1103
  })
1034
- ], 40, $a)) : x("", !0)
1104
+ ], 40, qa)) : x("", !0)
1035
1105
  ], 32));
1036
1106
  }
1037
- }), Ca = ["title", "aria-label", "aria-expanded"], za = /* @__PURE__ */ E({
1107
+ }), Ha = ["title", "aria-label", "aria-expanded"], Ua = /* @__PURE__ */ D({
1038
1108
  __name: "BarSearch",
1039
1109
  props: {
1040
1110
  modelValue: { default: "" },
@@ -1046,48 +1116,48 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1046
1116
  },
1047
1117
  emits: ["update:modelValue", "search", "open", "close"],
1048
1118
  setup(e, { emit: n }) {
1049
- const t = e, a = n, { vertical: l, posicion: o } = me(), s = w(!1), u = w(null), m = v(() => l.value || t.collapsed), f = v(() => !m.value || s.value), d = v(() => {
1119
+ const t = e, a = n, { vertical: l, posicion: o } = he(), s = w(!1), u = w(null), m = v(() => l.value || t.collapsed), f = v(() => !m.value || s.value), d = v(() => {
1050
1120
  if (!m.value) return "";
1051
- const y = "absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";
1052
- return o.value === "left" ? `${y} left-full top-0 ml-1` : o.value === "right" ? `${y} right-full top-0 mr-1` : o.value === "bottom" ? `${y} bottom-full right-0 mb-1` : `${y} top-full right-0 mt-1`;
1121
+ const g = "absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";
1122
+ return o.value === "left" ? `${g} left-full top-0 ml-1` : o.value === "right" ? `${g} right-full top-0 mr-1` : o.value === "bottom" ? `${g} bottom-full right-0 mb-1` : `${g} top-full right-0 mt-1`;
1053
1123
  });
1054
1124
  async function L() {
1055
- s.value = !0, a("open"), await Y(), u.value?.enfocar();
1125
+ s.value = !0, a("open"), await X(), u.value?.enfocar();
1056
1126
  }
1057
- function D() {
1127
+ function z() {
1058
1128
  s.value && (s.value = !1, a("close"));
1059
1129
  }
1060
- function A(y) {
1061
- const $ = y.relatedTarget;
1062
- $ && y.currentTarget.contains($) || D();
1130
+ function B(g) {
1131
+ const $ = g.relatedTarget;
1132
+ $ && g.currentTarget.contains($) || z();
1063
1133
  }
1064
- return (y, $) => (i(), r("div", {
1134
+ return (g, $) => (r(), i("div", {
1065
1135
  class: "relative flex shrink-0 items-center",
1066
- onFocusout: A
1136
+ onFocusout: B
1067
1137
  }, [
1068
- m.value ? (i(), r("button", {
1138
+ m.value ? (r(), i("button", {
1069
1139
  key: 0,
1070
1140
  type: "button",
1071
1141
  class: "flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",
1072
1142
  title: e.label,
1073
1143
  "aria-label": e.label,
1074
1144
  "aria-expanded": s.value,
1075
- onMousedown: $[0] || ($[0] = M(() => {
1145
+ onMousedown: $[0] || ($[0] = V(() => {
1076
1146
  }, ["prevent"])),
1077
- onClick: $[1] || ($[1] = (j) => s.value ? D() : L())
1147
+ onClick: $[1] || ($[1] = (j) => s.value ? z() : L())
1078
1148
  }, [
1079
1149
  O(H, {
1080
1150
  name: "system-search",
1081
1151
  type: "symbol",
1082
1152
  size: 14
1083
1153
  })
1084
- ], 40, Ca)) : x("", !0),
1085
- f.value ? (i(), r("div", {
1154
+ ], 40, Ha)) : x("", !0),
1155
+ f.value ? (r(), i("div", {
1086
1156
  key: 1,
1087
1157
  class: h(d.value),
1088
- onKeydown: F(D, ["esc"])
1158
+ onKeydown: R(z, ["esc"])
1089
1159
  }, [
1090
- O(Ee, {
1160
+ O(Oe, {
1091
1161
  ref_key: "campo",
1092
1162
  ref: u,
1093
1163
  "model-value": e.modelValue,
@@ -1102,10 +1172,10 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1102
1172
  ], 34)) : x("", !0)
1103
1173
  ], 32));
1104
1174
  }
1105
- }), La = ["type", "disabled"], Da = {
1175
+ }), Ka = ["type", "disabled"], Wa = {
1106
1176
  key: 0,
1107
1177
  class: "w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"
1108
- }, Ea = ["src", "alt"], Ta = { key: 2 }, Ba = ["src", "alt"], Aa = /* @__PURE__ */ E({
1178
+ }, Ga = ["src", "alt"], Qa = { key: 2 }, Ya = ["src", "alt"], Xa = /* @__PURE__ */ D({
1109
1179
  __name: "ActionButton",
1110
1180
  props: {
1111
1181
  label: {},
@@ -1135,10 +1205,10 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1135
1205
  }, s = (u) => {
1136
1206
  t.stopPropagation && u.stopPropagation(), t.preventDefault && u.preventDefault(), !t.disabled && !t.loading && a("click");
1137
1207
  };
1138
- return (u, m) => (i(), r("button", {
1208
+ return (u, m) => (r(), i("button", {
1139
1209
  type: t.type,
1140
1210
  onClick: s,
1141
- class: h(["rounded-corner transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2", [
1211
+ class: h(["rounded-corner transition-[background-color,opacity] duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2", [
1142
1212
  l[t.variant],
1143
1213
  o[t.size],
1144
1214
  t.fullWidth ? "w-full" : "",
@@ -1147,43 +1217,43 @@ const aa = ["title", "aria-label"], na = ["title", "aria-label"], la = ["title",
1147
1217
  ]]),
1148
1218
  disabled: t.disabled || t.loading
1149
1219
  }, [
1150
- e.loading ? (i(), r("span", Da)) : x("", !0),
1151
- t.iconSrc && !t.iconRight ? (i(), r("img", {
1220
+ e.loading ? (r(), i("span", Wa)) : x("", !0),
1221
+ t.iconSrc && !t.iconRight ? (r(), i("img", {
1152
1222
  key: 1,
1153
1223
  src: t.iconSrc,
1154
1224
  alt: t.iconAlt || t.label,
1155
1225
  class: "w-4 h-4"
1156
- }, null, 8, Ea)) : x("", !0),
1157
- t.label ? (i(), r("span", Ta, V(t.label), 1)) : x("", !0),
1158
- t.iconSrc && t.iconRight ? (i(), r("img", {
1226
+ }, null, 8, Ga)) : x("", !0),
1227
+ t.label ? (r(), i("span", Qa, M(t.label), 1)) : x("", !0),
1228
+ t.iconSrc && t.iconRight ? (r(), i("img", {
1159
1229
  key: 3,
1160
1230
  src: t.iconSrc,
1161
1231
  alt: t.iconAlt || t.label,
1162
1232
  class: "w-4 h-4"
1163
- }, null, 8, Ba)) : x("", !0)
1164
- ], 10, La));
1233
+ }, null, 8, Ya)) : x("", !0)
1234
+ ], 10, Ka));
1165
1235
  }
1166
- }), ge = (e, n) => {
1236
+ }), $e = (e, n) => {
1167
1237
  const t = e.__vccOpts || e;
1168
1238
  for (const [a, l] of n)
1169
1239
  t[a] = l;
1170
1240
  return t;
1171
- }, Sa = /* @__PURE__ */ ge(Aa, [["__scopeId", "data-v-2eaf6e27"]]), Ye = {
1241
+ }, Ja = /* @__PURE__ */ $e(Xa, [["__scopeId", "data-v-3c1bd6bd"]]), ot = {
1172
1242
  info: "border-ui-border bg-ui-surface/70 text-tx-main",
1173
1243
  success: "border-status-success/40 bg-status-success/10 text-tx-main",
1174
1244
  warning: "border-status-warning/40 bg-status-warning/10 text-tx-main",
1175
1245
  error: "border-status-error/40 bg-status-error/10 text-tx-main"
1176
1246
  };
1177
- function Xe(e) {
1247
+ function rt(e) {
1178
1248
  return e === "error" ? "alert" : "status";
1179
1249
  }
1180
- const Va = ["role"], Ma = {
1250
+ const Za = ["role"], _a = {
1181
1251
  key: 0,
1182
1252
  class: "mt-0.5"
1183
- }, Ia = { class: "min-w-0 flex-1" }, Oa = {
1253
+ }, en = { class: "min-w-0 flex-1" }, tn = {
1184
1254
  key: 0,
1185
1255
  class: "font-semibold"
1186
- }, ja = /* @__PURE__ */ E({
1256
+ }, an = /* @__PURE__ */ D({
1187
1257
  __name: "AlertMessage",
1188
1258
  props: {
1189
1259
  tone: { default: "info" },
@@ -1192,13 +1262,13 @@ const Va = ["role"], Ma = {
1192
1262
  iconType: { default: "symbol" }
1193
1263
  },
1194
1264
  setup(e) {
1195
- const n = e, t = v(() => Ye[n.tone]), a = v(() => Xe(n.tone));
1196
- return (l, o) => (i(), r("div", {
1265
+ const n = e, t = v(() => ot[n.tone]), a = v(() => rt(n.tone));
1266
+ return (l, o) => (r(), i("div", {
1197
1267
  role: a.value,
1198
1268
  "aria-atomic": "true",
1199
1269
  class: h(["flex gap-3 rounded-corner border px-4 py-2 text-sm", t.value])
1200
1270
  }, [
1201
- e.icon ? (i(), r("span", Ma, [
1271
+ e.icon ? (r(), i("span", _a, [
1202
1272
  O(H, {
1203
1273
  name: e.icon,
1204
1274
  type: e.iconType,
@@ -1206,20 +1276,20 @@ const Va = ["role"], Ma = {
1206
1276
  alt: ""
1207
1277
  }, null, 8, ["name", "type"])
1208
1278
  ])) : x("", !0),
1209
- T("div", Ia, [
1210
- e.title ? (i(), r("p", Oa, V(e.title), 1)) : x("", !0),
1279
+ T("div", en, [
1280
+ e.title ? (r(), i("p", tn, M(e.title), 1)) : x("", !0),
1211
1281
  T("div", {
1212
1282
  class: h(e.title ? "mt-1" : "")
1213
1283
  }, [
1214
1284
  S(l.$slots, "default")
1215
1285
  ], 2)
1216
1286
  ])
1217
- ], 10, Va));
1287
+ ], 10, Za));
1218
1288
  }
1219
- }), Pa = { class: "font-medium text-sm text-tx-main" }, Fa = {
1289
+ }), nn = { class: "font-medium text-sm text-tx-main" }, ln = {
1220
1290
  key: 0,
1221
1291
  class: "text-sm text-tx-muted"
1222
- }, Ra = /* @__PURE__ */ E({
1292
+ }, on = /* @__PURE__ */ D({
1223
1293
  __name: "EmptyState",
1224
1294
  props: {
1225
1295
  title: {},
@@ -1229,7 +1299,7 @@ const Va = ["role"], Ma = {
1229
1299
  bordered: { type: Boolean, default: !1 }
1230
1300
  },
1231
1301
  setup(e) {
1232
- return (n, t) => (i(), r("div", {
1302
+ return (n, t) => (r(), i("div", {
1233
1303
  class: h(["flex flex-col items-center justify-center gap-3 px-8 py-12 text-center", e.bordered ? "rounded-corner border border-ui-border border-dashed bg-ui-surface/20" : ""])
1234
1304
  }, [
1235
1305
  O(H, {
@@ -1238,28 +1308,28 @@ const Va = ["role"], Ma = {
1238
1308
  size: 48,
1239
1309
  class: "opacity-60"
1240
1310
  }, null, 8, ["name", "type"]),
1241
- T("p", Pa, V(e.title), 1),
1242
- e.note ? (i(), r("p", Fa, V(e.note), 1)) : x("", !0),
1311
+ T("p", nn, M(e.title), 1),
1312
+ e.note ? (r(), i("p", ln, M(e.note), 1)) : x("", !0),
1243
1313
  S(n.$slots, "default")
1244
1314
  ], 2));
1245
1315
  }
1246
- }), qa = { class: "text-sm text-tx-muted" }, Na = /* @__PURE__ */ E({
1316
+ }), rn = { class: "text-sm text-tx-muted" }, sn = /* @__PURE__ */ D({
1247
1317
  __name: "LoadingState",
1248
1318
  props: {
1249
1319
  label: {},
1250
1320
  bordered: { type: Boolean, default: !1 }
1251
1321
  },
1252
1322
  setup(e) {
1253
- return (n, t) => (i(), r("div", {
1323
+ return (n, t) => (r(), i("div", {
1254
1324
  role: "status",
1255
1325
  "aria-atomic": "true",
1256
1326
  class: h(["flex flex-col items-center justify-center gap-4 px-8 py-12 text-center", e.bordered ? "rounded-corner border border-ui-border border-dashed bg-ui-surface/20" : ""])
1257
1327
  }, [
1258
1328
  t[0] || (t[0] = T("span", { class: "h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none" }, null, -1)),
1259
- T("p", qa, V(e.label), 1)
1329
+ T("p", rn, M(e.label), 1)
1260
1330
  ], 2));
1261
1331
  }
1262
- }), Ha = ["role"], Ua = /* @__PURE__ */ E({
1332
+ }), un = ["role"], cn = /* @__PURE__ */ D({
1263
1333
  __name: "ToastArea",
1264
1334
  props: {
1265
1335
  toasts: {},
@@ -1269,11 +1339,11 @@ const Va = ["role"], Ma = {
1269
1339
  const n = e, t = v(
1270
1340
  () => n.position === "bottom-center" ? "bottom-4 left-1/2 -translate-x-1/2" : "right-4 bottom-4"
1271
1341
  );
1272
- return (a, l) => (i(), Q(fe, { to: "body" }, [
1342
+ return (a, l) => (r(), Y(ye, { to: "body" }, [
1273
1343
  T("div", {
1274
1344
  class: h(["pointer-events-none fixed z-60 flex flex-col gap-2", t.value])
1275
1345
  }, [
1276
- O(ct, {
1346
+ O(kt, {
1277
1347
  "enter-active-class": "transition-all duration-300 ease-out",
1278
1348
  "leave-active-class": "transition-all duration-200 ease-in",
1279
1349
  "enter-from-class": "translate-y-2 opacity-0",
@@ -1281,26 +1351,26 @@ const Va = ["role"], Ma = {
1281
1351
  "move-class": "transition-transform duration-300"
1282
1352
  }, {
1283
1353
  default: K(() => [
1284
- (i(!0), r(Z, null, le(e.toasts, (o) => (i(), r("div", {
1354
+ (r(!0), i(te, null, ue(e.toasts, (o) => (r(), i("div", {
1285
1355
  key: o.id,
1286
- role: R(Xe)(o.tone ?? "info"),
1356
+ role: F(rt)(o.tone ?? "info"),
1287
1357
  "aria-atomic": "true",
1288
- class: h(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm", R(Ye)[o.tone ?? "info"]])
1358
+ class: h(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm", F(ot)[o.tone ?? "info"]])
1289
1359
  }, [
1290
1360
  S(a.$slots, "default", { aviso: o }, () => [
1291
- ze(V(o.message), 1)
1361
+ Me(M(o.message), 1)
1292
1362
  ])
1293
- ], 10, Ha))), 128))
1363
+ ], 10, un))), 128))
1294
1364
  ]),
1295
1365
  _: 3
1296
1366
  })
1297
1367
  ], 2)
1298
1368
  ]));
1299
1369
  }
1300
- }), Ka = ["aria-label", "aria-valuenow"], Wa = {
1370
+ }), dn = ["aria-label", "aria-valuenow"], fn = {
1301
1371
  key: 1,
1302
1372
  class: "h-full w-full animate-pulse rounded-corner bg-primary motion-reduce:animate-none motion-reduce:bg-primary/40"
1303
- }, Ga = /* @__PURE__ */ E({
1373
+ }, mn = /* @__PURE__ */ D({
1304
1374
  __name: "ProgressBar",
1305
1375
  props: {
1306
1376
  value: {},
@@ -1315,7 +1385,7 @@ const Va = ["role"], Ma = {
1315
1385
  }, a = v(
1316
1386
  () => n.value === null ? null : Math.max(0, Math.min(100, n.value))
1317
1387
  );
1318
- return (l, o) => (i(), r("div", {
1388
+ return (l, o) => (r(), i("div", {
1319
1389
  role: "progressbar",
1320
1390
  "aria-label": e.label,
1321
1391
  "aria-valuenow": a.value ?? void 0,
@@ -1323,46 +1393,46 @@ const Va = ["role"], Ma = {
1323
1393
  "aria-valuemax": "100",
1324
1394
  class: "h-2 w-full overflow-hidden rounded-corner bg-ui-surface/70"
1325
1395
  }, [
1326
- a.value !== null ? (i(), r("div", {
1396
+ a.value !== null ? (r(), i("div", {
1327
1397
  key: 0,
1328
1398
  class: h(["h-full rounded-corner transition-[width] duration-300 ease-out", t[e.tone]]),
1329
- style: re({ width: `${a.value}%` })
1330
- }, null, 6)) : (i(), r("div", Wa))
1331
- ], 8, Ka));
1399
+ style: fe({ width: `${a.value}%` })
1400
+ }, null, 6)) : (r(), i("div", fn))
1401
+ ], 8, dn));
1332
1402
  }
1333
- }), Qa = /[/\-_.]/;
1334
- function we(e, n) {
1403
+ }), bn = /[/\-_.]/;
1404
+ function ze(e, n) {
1335
1405
  if (!n) return 100;
1336
1406
  const t = n.toLowerCase();
1337
- return t === e ? 0 : t.startsWith(e) ? 10 : t.split(Qa).some((a) => a.startsWith(e)) ? 30 : t.includes(e) ? 40 : 100;
1407
+ return t === e ? 0 : t.startsWith(e) ? 10 : t.split(bn).some((a) => a.startsWith(e)) ? 30 : t.includes(e) ? 40 : 100;
1338
1408
  }
1339
- function Ya(e, n) {
1409
+ function vn(e, n) {
1340
1410
  const t = n.trim().toLowerCase();
1341
1411
  if (!t) return e;
1342
1412
  const a = [];
1343
1413
  for (let l = 0; l < e.length; l++) {
1344
- const o = e[l], s = we(t, o.valor), u = we(t, o.etiqueta), m = u === 10 ? 20 : u, d = we(t, o.detalle) === 100 ? 100 : 40, L = Math.min(s, m, d);
1414
+ const o = e[l], s = ze(t, o.valor), u = ze(t, o.etiqueta), m = u === 10 ? 20 : u, d = ze(t, o.detalle) === 100 ? 100 : 40, L = Math.min(s, m, d);
1345
1415
  L !== 100 && a.push({ opcion: o, rango: L, orden: l });
1346
1416
  }
1347
1417
  return a.sort((l, o) => l.rango - o.rango || l.orden - o.orden), a.map((l) => l.opcion);
1348
1418
  }
1349
- let Oe = 0;
1350
- function Xa() {
1351
- return Oe += 1, `vsk-lista-${Oe}`;
1419
+ let Ue = 0;
1420
+ function pn() {
1421
+ return Ue += 1, `vsk-lista-${Ue}`;
1352
1422
  }
1353
- const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 flex-1 truncate" }, _a = {
1423
+ const gn = ["disabled", "aria-label", "aria-expanded"], yn = { class: "min-w-0 flex-1 truncate" }, hn = {
1354
1424
  key: 0,
1355
1425
  class: "ml-2 text-tx-muted text-xs"
1356
- }, en = { class: "border-ui-border border-b p-2" }, tn = ["id"], an = {
1426
+ }, xn = { class: "border-ui-border border-b p-2" }, wn = ["id"], kn = {
1357
1427
  key: 0,
1358
1428
  class: "p-3 text-center text-tx-muted text-xs"
1359
- }, nn = ["id", "data-indice", "aria-selected"], ln = { class: "min-w-0 flex-1 truncate" }, on = {
1429
+ }, $n = ["id", "data-indice", "aria-selected"], Cn = { class: "min-w-0 flex-1 truncate" }, En = {
1360
1430
  key: 0,
1361
1431
  class: "shrink-0 text-tx-muted text-xs"
1362
- }, rn = {
1432
+ }, Ln = {
1363
1433
  key: 1,
1364
1434
  class: "px-2 py-1 text-tx-muted text-xs"
1365
- }, sn = /* @__PURE__ */ E({
1435
+ }, zn = /* @__PURE__ */ D({
1366
1436
  __name: "SearchSelect",
1367
1437
  props: {
1368
1438
  modelValue: {},
@@ -1377,65 +1447,65 @@ const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 f
1377
1447
  },
1378
1448
  emits: ["update:modelValue"],
1379
1449
  setup(e, { emit: n }) {
1380
- const t = e, a = n, l = w(""), o = w(!1), s = w(0), u = w(null), m = w(null), f = w(null), d = Xa(), L = v(
1381
- () => t.options.find((B) => B.valor === t.modelValue) ?? null
1382
- ), D = v(() => Ya(t.options, l.value)), A = v(() => D.value.slice(0, t.limit)), y = v(() => Math.max(0, D.value.length - t.limit)), $ = v(
1383
- () => A.value.length > 0 ? `${d}-${s.value}` : void 0
1450
+ const t = e, a = n, l = w(""), o = w(!1), s = w(0), u = w(null), m = w(null), f = w(null), d = pn(), L = v(
1451
+ () => t.options.find((A) => A.valor === t.modelValue) ?? null
1452
+ ), z = v(() => vn(t.options, l.value)), B = v(() => z.value.slice(0, t.limit)), g = v(() => Math.max(0, z.value.length - t.limit)), $ = v(
1453
+ () => B.value.length > 0 ? `${d}-${s.value}` : void 0
1384
1454
  );
1385
- function j(B) {
1386
- a("update:modelValue", B), g();
1455
+ function j(A) {
1456
+ a("update:modelValue", A), y();
1387
1457
  }
1388
1458
  async function C() {
1389
1459
  o.value = !0;
1390
- const B = A.value.findIndex((z) => z.valor === t.modelValue);
1391
- s.value = B >= 0 ? B : 0, await Y(), f.value?.enfocar(), U();
1460
+ const A = B.value.findIndex((E) => E.valor === t.modelValue);
1461
+ s.value = A >= 0 ? A : 0, await X(), f.value?.enfocar(), U();
1392
1462
  }
1393
- function g(B = !0) {
1394
- o.value && (o.value = !1, l.value = "", B && Y(() => m.value?.focus()));
1463
+ function y(A = !0) {
1464
+ o.value && (o.value = !1, l.value = "", A && X(() => m.value?.focus()));
1395
1465
  }
1396
- function c(B) {
1397
- const z = A.value.length;
1398
- z !== 0 && (s.value = (s.value + B + z) % z, U());
1466
+ function c(A) {
1467
+ const E = B.value.length;
1468
+ E !== 0 && (s.value = (s.value + A + E) % E, U());
1399
1469
  }
1400
- function b(B) {
1401
- s.value = B, U();
1470
+ function b(A) {
1471
+ s.value = A, U();
1402
1472
  }
1403
- function p(B) {
1404
- const z = B.target?.closest?.("[data-indice]");
1405
- if (!z) return null;
1406
- const I = Number(z.getAttribute("data-indice"));
1473
+ function p(A) {
1474
+ const E = A.target?.closest?.("[data-indice]");
1475
+ if (!E) return null;
1476
+ const I = Number(E.getAttribute("data-indice"));
1407
1477
  return Number.isInteger(I) ? I : null;
1408
1478
  }
1409
- function P(B) {
1410
- const z = p(B), I = z === null ? void 0 : A.value[z];
1479
+ function P(A) {
1480
+ const E = p(A), I = E === null ? void 0 : B.value[E];
1411
1481
  I && j(I.valor);
1412
1482
  }
1413
- function _(B) {
1414
- const z = p(B);
1415
- z !== null && (s.value = z);
1483
+ function le(A) {
1484
+ const E = p(A);
1485
+ E !== null && (s.value = E);
1416
1486
  }
1417
1487
  function U() {
1418
- Y(() => {
1488
+ X(() => {
1419
1489
  u.value?.querySelector(`[data-indice="${s.value}"]`)?.scrollIntoView({ block: "nearest" });
1420
1490
  });
1421
1491
  }
1422
- function ee() {
1423
- const B = A.value[s.value];
1424
- B && j(B.valor);
1492
+ function oe() {
1493
+ const A = B.value[s.value];
1494
+ A && j(A.valor);
1425
1495
  }
1426
1496
  W(
1427
1497
  () => t.disabled,
1428
- (B) => {
1429
- B && g(!1);
1498
+ (A) => {
1499
+ A && y(!1);
1430
1500
  }
1431
1501
  ), W(l, () => {
1432
1502
  s.value = 0, U();
1433
1503
  });
1434
- function G(B) {
1435
- const z = B.relatedTarget;
1436
- z && B.currentTarget.contains(z) || g(!1);
1504
+ function G(A) {
1505
+ const E = A.relatedTarget;
1506
+ E && A.currentTarget.contains(E) || y(!1);
1437
1507
  }
1438
- return (B, z) => (i(), r("div", {
1508
+ return (A, E) => (r(), i("div", {
1439
1509
  class: "relative",
1440
1510
  onFocusout: G
1441
1511
  }, [
@@ -1448,15 +1518,15 @@ const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 f
1448
1518
  "aria-label": e.label || void 0,
1449
1519
  "aria-expanded": o.value,
1450
1520
  "aria-haspopup": "listbox",
1451
- onClick: z[0] || (z[0] = (I) => o.value ? g() : C()),
1521
+ onClick: E[0] || (E[0] = (I) => o.value ? y() : C()),
1452
1522
  onKeydown: [
1453
- z[1] || (z[1] = F(M((I) => o.value ? c(1) : C(), ["prevent"]), ["down"])),
1454
- z[2] || (z[2] = F(M((I) => o.value ? c(-1) : C(), ["prevent"]), ["up"]))
1523
+ E[1] || (E[1] = R(V((I) => o.value ? c(1) : C(), ["prevent"]), ["down"])),
1524
+ E[2] || (E[2] = R(V((I) => o.value ? c(-1) : C(), ["prevent"]), ["up"]))
1455
1525
  ]
1456
1526
  }, [
1457
- T("span", Za, [
1458
- ze(V(L.value?.etiqueta ?? e.placeholder) + " ", 1),
1459
- L.value?.detalle ? (i(), r("span", _a, V(L.value.detalle), 1)) : x("", !0)
1527
+ T("span", yn, [
1528
+ Me(M(L.value?.etiqueta ?? e.placeholder) + " ", 1),
1529
+ L.value?.detalle ? (r(), i("span", hn, M(L.value.detalle), 1)) : x("", !0)
1460
1530
  ]),
1461
1531
  O(H, {
1462
1532
  name: "go-down",
@@ -1464,63 +1534,63 @@ const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 f
1464
1534
  size: 12,
1465
1535
  class: "shrink-0 opacity-60"
1466
1536
  })
1467
- ], 40, Ja),
1468
- o.value ? (i(), r("div", {
1537
+ ], 40, gn),
1538
+ o.value ? (r(), i("div", {
1469
1539
  key: 0,
1470
1540
  class: h(["absolute z-20 w-full min-w-64 rounded-corner border border-ui-border-strong bg-ui-bg shadow-lg", e.up ? "bottom-full mb-1" : "mt-1"]),
1471
1541
  onKeydown: [
1472
- z[4] || (z[4] = F(M((I) => g(), ["prevent"]), ["escape"])),
1473
- z[5] || (z[5] = F(M((I) => c(1), ["prevent"]), ["down"])),
1474
- z[6] || (z[6] = F(M((I) => c(-1), ["prevent"]), ["up"])),
1475
- z[7] || (z[7] = F(M((I) => b(0), ["prevent"]), ["home"])),
1476
- z[8] || (z[8] = F(M((I) => b(A.value.length - 1), ["prevent"]), ["end"])),
1477
- z[9] || (z[9] = F(M((I) => ee(), ["prevent"]), ["enter"])),
1478
- z[10] || (z[10] = F((I) => g(!1), ["tab"]))
1542
+ E[4] || (E[4] = R(V((I) => y(), ["prevent"]), ["escape"])),
1543
+ E[5] || (E[5] = R(V((I) => c(1), ["prevent"]), ["down"])),
1544
+ E[6] || (E[6] = R(V((I) => c(-1), ["prevent"]), ["up"])),
1545
+ E[7] || (E[7] = R(V((I) => b(0), ["prevent"]), ["home"])),
1546
+ E[8] || (E[8] = R(V((I) => b(B.value.length - 1), ["prevent"]), ["end"])),
1547
+ E[9] || (E[9] = R(V((I) => oe(), ["prevent"]), ["enter"])),
1548
+ E[10] || (E[10] = R((I) => y(!1), ["tab"]))
1479
1549
  ],
1480
1550
  onClick: P,
1481
- onMousemove: _
1551
+ onMousemove: le
1482
1552
  }, [
1483
- T("div", en, [
1484
- O(Ee, {
1553
+ T("div", xn, [
1554
+ O(Oe, {
1485
1555
  ref_key: "campo",
1486
1556
  ref: f,
1487
1557
  modelValue: l.value,
1488
- "onUpdate:modelValue": z[3] || (z[3] = (I) => l.value = I),
1558
+ "onUpdate:modelValue": E[3] || (E[3] = (I) => l.value = I),
1489
1559
  label: e.label,
1490
1560
  placeholder: e.searchPlaceholder,
1491
- "listbox-id": R(d),
1561
+ "listbox-id": F(d),
1492
1562
  "active-option-id": $.value,
1493
1563
  expanded: o.value
1494
1564
  }, null, 8, ["modelValue", "label", "placeholder", "listbox-id", "active-option-id", "expanded"])
1495
1565
  ]),
1496
1566
  T("ul", {
1497
- id: R(d),
1567
+ id: F(d),
1498
1568
  ref_key: "lista",
1499
1569
  ref: u,
1500
1570
  role: "listbox",
1501
1571
  class: "max-h-56 overflow-y-auto p-1"
1502
1572
  }, [
1503
- A.value.length === 0 ? (i(), r("li", an, V(e.emptyText), 1)) : x("", !0),
1504
- (i(!0), r(Z, null, le(A.value, (I, ie) => (i(), r("li", {
1505
- id: `${R(d)}-${ie}`,
1573
+ B.value.length === 0 ? (r(), i("li", kn, M(e.emptyText), 1)) : x("", !0),
1574
+ (r(!0), i(te, null, ue(B.value, (I, de) => (r(), i("li", {
1575
+ id: `${F(d)}-${de}`,
1506
1576
  key: I.valor,
1507
- "data-indice": ie,
1577
+ "data-indice": de,
1508
1578
  role: "option",
1509
1579
  "aria-selected": I.valor === e.modelValue,
1510
1580
  class: h(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm", [
1511
- ie === s.value ? "bg-ui-surface" : "",
1581
+ de === s.value ? "bg-ui-surface" : "",
1512
1582
  I.valor === e.modelValue ? "font-medium text-primary" : "text-tx-main"
1513
1583
  ]])
1514
1584
  }, [
1515
- T("span", ln, V(I.etiqueta), 1),
1516
- I.detalle ? (i(), r("span", on, V(I.detalle), 1)) : x("", !0)
1517
- ], 10, nn))), 128)),
1518
- y.value > 0 ? (i(), r("li", rn, "+" + V(y.value), 1)) : x("", !0)
1519
- ], 8, tn)
1585
+ T("span", Cn, M(I.etiqueta), 1),
1586
+ I.detalle ? (r(), i("span", En, M(I.detalle), 1)) : x("", !0)
1587
+ ], 10, $n))), 128)),
1588
+ g.value > 0 ? (r(), i("li", Ln, "+" + M(g.value), 1)) : x("", !0)
1589
+ ], 8, wn)
1520
1590
  ], 34)) : x("", !0)
1521
1591
  ], 32));
1522
1592
  }
1523
- }), un = { class: "text-base font-semibold m-0 text-primary dark:text-primary-dark" }, cn = /* @__PURE__ */ E({
1593
+ }), Dn = { class: "text-base font-semibold m-0 text-primary dark:text-primary-dark" }, Tn = /* @__PURE__ */ D({
1524
1594
  __name: "ConfigSection",
1525
1595
  props: {
1526
1596
  title: {},
@@ -1528,26 +1598,26 @@ const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 f
1528
1598
  customClass: { default: () => ({}) }
1529
1599
  },
1530
1600
  setup(e) {
1531
- return (n, t) => (i(), r("div", {
1601
+ return (n, t) => (r(), i("div", {
1532
1602
  class: h(["flex flex-col gap-4 p-4 background rounded-corner", e.customClass])
1533
1603
  }, [
1534
- T("h3", un, V(e.icon ? `${e.icon} ${e.title}` : e.title), 1),
1604
+ T("h3", Dn, M(e.icon ? `${e.icon} ${e.title}` : e.title), 1),
1535
1605
  S(n.$slots, "default", {}, void 0, !0)
1536
1606
  ], 2));
1537
1607
  }
1538
- }), dn = /* @__PURE__ */ ge(cn, [["__scopeId", "data-v-45bd4eab"]]), fn = { class: "flex items-center gap-3 flex-1 min-w-0" }, mn = ["src", "alt"], bn = { class: "min-w-0" }, vn = { class: "font-semibold truncate" }, pn = {
1608
+ }), An = /* @__PURE__ */ $e(Tn, [["__scopeId", "data-v-45bd4eab"]]), Bn = { class: "flex items-center gap-3 flex-1 min-w-0" }, Sn = ["src", "alt"], Mn = { class: "min-w-0" }, Vn = { class: "font-semibold truncate" }, In = {
1539
1609
  key: 0,
1540
1610
  class: "text-xs text-gray-400 truncate"
1541
- }, yn = {
1611
+ }, On = {
1542
1612
  key: 1,
1543
1613
  class: "text-xs text-gray-400 truncate"
1544
- }, gn = {
1614
+ }, jn = {
1545
1615
  key: 2,
1546
1616
  class: "text-xs text-gray-400 flex gap-2 mt-1"
1547
- }, hn = {
1617
+ }, Pn = {
1548
1618
  key: 1,
1549
1619
  class: "w-2 h-2 rounded-full bg-green-500"
1550
- }, xn = /* @__PURE__ */ E({
1620
+ }, Rn = /* @__PURE__ */ D({
1551
1621
  __name: "DeviceCard",
1552
1622
  props: {
1553
1623
  icon: {},
@@ -1569,36 +1639,36 @@ const Ja = ["disabled", "aria-label", "aria-expanded"], Za = { class: "min-w-0 f
1569
1639
  }, l = () => {
1570
1640
  t("click");
1571
1641
  };
1572
- return (o, s) => (i(), r("div", {
1642
+ return (o, s) => (r(), i("div", {
1573
1643
  class: h(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4", [{ "border-l-4 border-green-500": e.isConnected }, e.customClass]]),
1574
1644
  onClick: l
1575
1645
  }, [
1576
- T("div", fn, [
1646
+ T("div", Bn, [
1577
1647
  T("img", {
1578
1648
  src: e.icon,
1579
1649
  alt: e.title,
1580
1650
  class: "h-7 w-7 shrink-0"
1581
- }, null, 8, mn),
1582
- T("div", bn, [
1583
- T("div", vn, V(e.title), 1),
1584
- e.subtitle ? (i(), r("div", pn, V(e.subtitle), 1)) : x("", !0),
1585
- e.metadata ? (i(), r("div", yn, V(e.metadata), 1)) : x("", !0),
1586
- e.extraInfo && e.extraInfo.length > 0 ? (i(), r("div", gn, [
1587
- (i(!0), r(Z, null, le(e.extraInfo, (u, m) => (i(), r("span", { key: m }, V(u), 1))), 128))
1651
+ }, null, 8, Sn),
1652
+ T("div", Mn, [
1653
+ T("div", Vn, M(e.title), 1),
1654
+ e.subtitle ? (r(), i("div", In, M(e.subtitle), 1)) : x("", !0),
1655
+ e.metadata ? (r(), i("div", On, M(e.metadata), 1)) : x("", !0),
1656
+ e.extraInfo && e.extraInfo.length > 0 ? (r(), i("div", jn, [
1657
+ (r(!0), i(te, null, ue(e.extraInfo, (u, m) => (r(), i("span", { key: m }, M(u), 1))), 128))
1588
1658
  ])) : x("", !0)
1589
1659
  ])
1590
1660
  ]),
1591
- e.showActionButton ? (i(), r("button", {
1661
+ e.showActionButton ? (r(), i("button", {
1592
1662
  key: 0,
1593
1663
  class: "bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",
1594
- onClick: M(a, ["stop"])
1595
- }, V(e.actionLabel), 1)) : x("", !0),
1596
- e.showStatusIndicator && e.isConnected ? (i(), r("div", hn)) : x("", !0)
1664
+ onClick: V(a, ["stop"])
1665
+ }, M(e.actionLabel), 1)) : x("", !0),
1666
+ e.showStatusIndicator && e.isConnected ? (r(), i("div", Pn)) : x("", !0)
1597
1667
  ], 2));
1598
1668
  }
1599
- }), Je = /* @__PURE__ */ Symbol("diálogo de vasak");
1600
- function Ze() {
1601
- const e = pe(Je, null);
1669
+ }), it = /* @__PURE__ */ Symbol("diálogo de vasak");
1670
+ function st() {
1671
+ const e = we(it, null);
1602
1672
  if (e) return e;
1603
1673
  const n = w(!1);
1604
1674
  return {
@@ -1611,11 +1681,11 @@ function Ze() {
1611
1681
  }
1612
1682
  };
1613
1683
  }
1614
- let je = 0;
1615
- function wn() {
1616
- return je += 1, `vsk-dialogo-titulo-${je}`;
1684
+ let Ke = 0;
1685
+ function Fn() {
1686
+ return Ke += 1, `vsk-dialogo-titulo-${Ke}`;
1617
1687
  }
1618
- const kn = /* @__PURE__ */ E({
1688
+ const Nn = /* @__PURE__ */ D({
1619
1689
  __name: "Dialog",
1620
1690
  props: {
1621
1691
  open: { type: Boolean, default: !1 }
@@ -1623,7 +1693,7 @@ const kn = /* @__PURE__ */ E({
1623
1693
  emits: ["update:open"],
1624
1694
  setup(e, { emit: n }) {
1625
1695
  const t = e, a = n, l = w(null);
1626
- return de(Je, {
1696
+ return ge(it, {
1627
1697
  abierto: v(() => t.open),
1628
1698
  cerrar: () => a("update:open", !1),
1629
1699
  idDelTitulo: l,
@@ -1632,10 +1702,10 @@ const kn = /* @__PURE__ */ E({
1632
1702
  }
1633
1703
  }), (o, s) => S(o.$slots, "default");
1634
1704
  }
1635
- }), $n = {
1705
+ }), qn = {
1636
1706
  key: 0,
1637
1707
  class: "absolute inset-0 rounded-corner-window bg-ui-border-dark/40"
1638
- }, Cn = ["aria-labelledby", "aria-label"], zn = "relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg", Ln = /* @__PURE__ */ E({
1708
+ }, Hn = ["aria-labelledby", "aria-label"], Un = "relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg", Kn = /* @__PURE__ */ D({
1639
1709
  inheritAttrs: !1,
1640
1710
  __name: "DialogContent",
1641
1711
  props: {
@@ -1643,36 +1713,36 @@ const kn = /* @__PURE__ */ E({
1643
1713
  ariaLabel: {}
1644
1714
  },
1645
1715
  setup(e) {
1646
- const n = e, t = $e(), a = v(() => t.class ?? ""), l = v(() => {
1647
- const { class: C, ...g } = t;
1648
- return g;
1649
- }), o = v(() => n.size === "full" ? "relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main" : `${zn} ${n.size === "lg" ? "max-w-2xl" : "max-w-lg"}`), s = Ze(), u = v(() => s.abierto.value), m = w(null), f = w(null);
1716
+ const n = e, t = Be(), a = v(() => t.class ?? ""), l = v(() => {
1717
+ const { class: C, ...y } = t;
1718
+ return y;
1719
+ }), o = v(() => n.size === "full" ? "relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main" : `${Un} ${n.size === "lg" ? "max-w-2xl" : "max-w-lg"}`), s = st(), u = v(() => s.abierto.value), m = w(null), f = w(null);
1650
1720
  let d = null;
1651
1721
  function L() {
1652
1722
  return f.value ? [...f.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')] : [];
1653
1723
  }
1654
- function D(C) {
1724
+ function z(C) {
1655
1725
  if (C.key === "Escape") {
1656
1726
  s.cerrar();
1657
1727
  return;
1658
1728
  }
1659
1729
  if (C.key !== "Tab") return;
1660
- const g = L();
1661
- if (g.length === 0) {
1730
+ const y = L();
1731
+ if (y.length === 0) {
1662
1732
  C.preventDefault(), f.value?.focus();
1663
1733
  return;
1664
1734
  }
1665
- const c = g[0], b = g[g.length - 1], p = document.activeElement;
1735
+ const c = y[0], b = y[y.length - 1], p = document.activeElement;
1666
1736
  C.shiftKey && (p === c || p === f.value) ? (C.preventDefault(), b.focus()) : !C.shiftKey && p === b && (C.preventDefault(), c.focus());
1667
1737
  }
1668
- function A(C) {
1738
+ function B(C) {
1669
1739
  C.target === C.currentTarget && s.cerrar();
1670
1740
  }
1671
- function y(C) {
1672
- m.value?.contains(C.target) || D(C);
1741
+ function g(C) {
1742
+ m.value?.contains(C.target) || z(C);
1673
1743
  }
1674
1744
  function $() {
1675
- document.removeEventListener("keydown", y);
1745
+ document.removeEventListener("keydown", g);
1676
1746
  }
1677
1747
  function j() {
1678
1748
  const C = d;
@@ -1682,7 +1752,7 @@ const kn = /* @__PURE__ */ E({
1682
1752
  u,
1683
1753
  async (C) => {
1684
1754
  if (C) {
1685
- d = document.activeElement, document.addEventListener("keydown", y), await Y(), f.value?.focus();
1755
+ d = document.activeElement, document.addEventListener("keydown", g), await X(), f.value?.focus();
1686
1756
  return;
1687
1757
  }
1688
1758
  $(), j();
@@ -1693,77 +1763,77 @@ const kn = /* @__PURE__ */ E({
1693
1763
  { immediate: !0 }
1694
1764
  ), ve(() => {
1695
1765
  $(), j();
1696
- }), (C, g) => (i(), Q(fe, { to: "body" }, [
1697
- O(ye, {
1766
+ }), (C, y) => (r(), Y(ye, { to: "body" }, [
1767
+ O(ke, {
1698
1768
  "enter-active-class": "transition-opacity duration-200 ease-out",
1699
1769
  "leave-active-class": "transition-opacity duration-150 ease-in",
1700
1770
  "enter-from-class": "opacity-0",
1701
1771
  "leave-to-class": "opacity-0"
1702
1772
  }, {
1703
1773
  default: K(() => [
1704
- u.value ? (i(), r("div", {
1774
+ u.value ? (r(), i("div", {
1705
1775
  key: 0,
1706
1776
  ref_key: "velo",
1707
1777
  ref: m,
1708
1778
  class: "fixed inset-0 z-50 flex items-center justify-center",
1709
- onClick: A,
1710
- onKeydown: D
1779
+ onClick: B,
1780
+ onKeydown: z
1711
1781
  }, [
1712
- n.size === "md" ? (i(), r("div", $n)) : x("", !0),
1713
- T("div", oe({
1782
+ n.size === "md" ? (r(), i("div", qn)) : x("", !0),
1783
+ T("div", ce({
1714
1784
  ref_key: "panel",
1715
1785
  ref: f,
1716
1786
  tabindex: "-1",
1717
1787
  role: "dialog",
1718
1788
  "aria-modal": "true",
1719
- "aria-labelledby": R(s).idDelTitulo.value ?? void 0,
1720
- "aria-label": R(s).idDelTitulo.value ? void 0 : e.ariaLabel
1789
+ "aria-labelledby": F(s).idDelTitulo.value ?? void 0,
1790
+ "aria-label": F(s).idDelTitulo.value ? void 0 : e.ariaLabel
1721
1791
  }, l.value, {
1722
1792
  class: [a.value, o.value]
1723
1793
  }), [
1724
1794
  S(C.$slots, "default")
1725
- ], 16, Cn)
1795
+ ], 16, Hn)
1726
1796
  ], 544)) : x("", !0)
1727
1797
  ]),
1728
1798
  _: 3
1729
1799
  })
1730
1800
  ]));
1731
1801
  }
1732
- }), Dn = { class: "text-sm text-tx-muted" }, En = /* @__PURE__ */ E({
1802
+ }), Wn = { class: "text-sm text-tx-muted" }, Gn = /* @__PURE__ */ D({
1733
1803
  __name: "DialogDescription",
1734
1804
  setup(e) {
1735
- return (n, t) => (i(), r("p", Dn, [
1805
+ return (n, t) => (r(), i("p", Wn, [
1736
1806
  S(n.$slots, "default")
1737
1807
  ]));
1738
1808
  }
1739
- }), Tn = { class: "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end" }, Bn = /* @__PURE__ */ E({
1809
+ }), Qn = { class: "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end" }, Yn = /* @__PURE__ */ D({
1740
1810
  __name: "DialogFooter",
1741
1811
  setup(e) {
1742
- return (n, t) => (i(), r("div", Tn, [
1812
+ return (n, t) => (r(), i("div", Qn, [
1743
1813
  S(n.$slots, "default")
1744
1814
  ]));
1745
1815
  }
1746
- }), An = { class: "flex flex-col gap-1.5 text-center sm:text-left" }, Sn = /* @__PURE__ */ E({
1816
+ }), Xn = { class: "flex flex-col gap-1.5 text-center sm:text-left" }, Jn = /* @__PURE__ */ D({
1747
1817
  __name: "DialogHeader",
1748
1818
  setup(e) {
1749
- return (n, t) => (i(), r("div", An, [
1819
+ return (n, t) => (r(), i("div", Xn, [
1750
1820
  S(n.$slots, "default")
1751
1821
  ]));
1752
1822
  }
1753
- }), Vn = ["id"], Mn = /* @__PURE__ */ E({
1823
+ }), Zn = ["id"], _n = /* @__PURE__ */ D({
1754
1824
  __name: "DialogTitle",
1755
1825
  setup(e) {
1756
- const n = Ze(), t = wn();
1757
- return J(() => n.ponerElTitulo(t)), ve(() => n.ponerElTitulo(null)), (a, l) => (i(), r("h2", {
1758
- id: R(t),
1826
+ const n = st(), t = Fn();
1827
+ return J(() => n.ponerElTitulo(t)), ve(() => n.ponerElTitulo(null)), (a, l) => (r(), i("h2", {
1828
+ id: F(t),
1759
1829
  class: "font-semibold text-lg leading-none tracking-tight"
1760
1830
  }, [
1761
1831
  S(a.$slots, "default")
1762
- ], 8, Vn));
1832
+ ], 8, Zn));
1763
1833
  }
1764
- }), _e = /* @__PURE__ */ Symbol("menú de vasak");
1765
- function he() {
1766
- const e = pe(_e, null);
1834
+ }), ut = /* @__PURE__ */ Symbol("menú de vasak");
1835
+ function Ce() {
1836
+ const e = we(ut, null);
1767
1837
  if (e) return e;
1768
1838
  const n = w(!1);
1769
1839
  return {
@@ -1787,70 +1857,70 @@ function he() {
1787
1857
  }
1788
1858
  };
1789
1859
  }
1790
- let Pe = 0;
1791
- function et() {
1792
- return Pe += 1, `vsk-menu-${Pe}`;
1860
+ let We = 0;
1861
+ function ct() {
1862
+ return We += 1, `vsk-menu-${We}`;
1793
1863
  }
1794
- const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1864
+ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1795
1865
  __name: "DropdownMenu",
1796
1866
  props: {
1797
1867
  open: { type: Boolean, default: void 0 }
1798
1868
  },
1799
1869
  emits: ["update:open"],
1800
1870
  setup(e, { emit: n }) {
1801
- const t = e, a = n, l = w(!1), o = w(null), s = w(null), u = w("ninguno"), m = et();
1871
+ const t = e, a = n, l = w(!1), o = w(null), s = w(null), u = w("ninguno"), m = ct();
1802
1872
  let f = null;
1803
1873
  const d = v({
1804
1874
  get: () => t.open ?? l.value,
1805
- set: (y) => {
1806
- t.open === void 0 && (l.value = y), a("update:open", y);
1875
+ set: (g) => {
1876
+ t.open === void 0 && (l.value = g), a("update:open", g);
1807
1877
  }
1808
1878
  });
1809
- W(d, (y) => {
1810
- if (y) {
1879
+ W(d, (g) => {
1880
+ if (g) {
1811
1881
  const $ = document.activeElement;
1812
1882
  f = $ instanceof HTMLElement ? $ : null;
1813
1883
  } else
1814
1884
  u.value = "ninguno";
1815
1885
  });
1816
- function L(y = "ninguno") {
1817
- u.value = y, d.value = !0;
1886
+ function L(g = "ninguno") {
1887
+ u.value = g, d.value = !0;
1818
1888
  }
1819
- function D(y = {}) {
1820
- if (d.value = !1, !y.devolverElFoco) return;
1889
+ function z(g = {}) {
1890
+ if (d.value = !1, !g.devolverElFoco) return;
1821
1891
  const $ = f ?? o.value;
1822
1892
  $?.isConnected && $.focus();
1823
1893
  }
1824
- function A(y = "ninguno") {
1894
+ function B(g = "ninguno") {
1825
1895
  if (d.value) {
1826
- D({ devolverElFoco: !0 });
1896
+ z({ devolverElFoco: !0 });
1827
1897
  return;
1828
1898
  }
1829
- L(y);
1899
+ L(g);
1830
1900
  }
1831
- return de(_e, {
1901
+ return ge(ut, {
1832
1902
  abierto: d,
1833
1903
  idDelMenu: m,
1834
1904
  idDeLaEtiqueta: s,
1835
- ponerLaEtiqueta: (y) => {
1836
- s.value = y;
1905
+ ponerLaEtiqueta: (g) => {
1906
+ s.value = g;
1837
1907
  },
1838
1908
  disparador: o,
1839
- ponerElDisparador: (y) => {
1840
- o.value = y;
1909
+ ponerElDisparador: (g) => {
1910
+ o.value = g;
1841
1911
  },
1842
1912
  focoAlAbrir: u,
1843
1913
  abrir: L,
1844
- cerrar: D,
1845
- alternar: A
1846
- }), (y, $) => (i(), r("div", In, [
1847
- S(y.$slots, "default")
1914
+ cerrar: z,
1915
+ alternar: B
1916
+ }), (g, $) => (r(), i("div", el, [
1917
+ S(g.$slots, "default")
1848
1918
  ]));
1849
1919
  }
1850
- }), jn = ["id", "aria-labelledby", "inert"], Pn = {
1920
+ }), al = ["id", "aria-labelledby", "inert"], nl = {
1851
1921
  role: "none",
1852
1922
  class: "py-1"
1853
- }, X = 8, Fn = /* @__PURE__ */ E({
1923
+ }, Z = 8, ll = /* @__PURE__ */ D({
1854
1924
  inheritAttrs: !1,
1855
1925
  __name: "DropdownMenuContent",
1856
1926
  props: {
@@ -1859,7 +1929,7 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1859
1929
  sideOffset: { default: 4 }
1860
1930
  },
1861
1931
  setup(e) {
1862
- const n = e, t = he(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u = w(null), m = w({
1932
+ const n = e, t = Ce(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u = w(null), m = w({
1863
1933
  top: 0,
1864
1934
  left: 0,
1865
1935
  techo: null
@@ -1870,7 +1940,7 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1870
1940
  right: "left"
1871
1941
  };
1872
1942
  function d(c, b) {
1873
- const p = n.sideOffset + X;
1943
+ const p = n.sideOffset + Z;
1874
1944
  switch (c) {
1875
1945
  case "bottom":
1876
1946
  return window.innerHeight - b.bottom - p;
@@ -1885,71 +1955,71 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1885
1955
  function L(c, b, p) {
1886
1956
  return p < b ? b : Math.min(Math.max(c, b), p);
1887
1957
  }
1888
- function D() {
1958
+ function z() {
1889
1959
  if (!o.value || !u.value) return;
1890
- const c = o.value.getBoundingClientRect(), b = u.value.scrollHeight, p = u.value.offsetWidth, P = n.side === "top" || n.side === "bottom", _ = P ? b : p;
1960
+ const c = o.value.getBoundingClientRect(), b = u.value.scrollHeight, p = u.value.offsetWidth, P = n.side === "top" || n.side === "bottom", le = P ? b : p;
1891
1961
  let U = n.side;
1892
- const ee = d(U, c);
1893
- ee < _ && d(f[U], c) > ee && (U = f[U]);
1894
- let G = 0, B = 0, z = null;
1962
+ const oe = d(U, c);
1963
+ oe < le && d(f[U], c) > oe && (U = f[U]);
1964
+ let G = 0, A = 0, E = null;
1895
1965
  switch (U) {
1896
1966
  case "bottom": {
1897
- G = c.bottom + n.sideOffset, z = Math.max(window.innerHeight - G - X, 0);
1967
+ G = c.bottom + n.sideOffset, E = Math.max(window.innerHeight - G - Z, 0);
1898
1968
  break;
1899
1969
  }
1900
1970
  case "top": {
1901
- z = Math.max(d("top", c), 0), G = c.top - n.sideOffset - Math.min(b, z);
1971
+ E = Math.max(d("top", c), 0), G = c.top - n.sideOffset - Math.min(b, E);
1902
1972
  break;
1903
1973
  }
1904
1974
  case "left":
1905
1975
  case "right": {
1906
- B = U === "right" ? c.right + n.sideOffset : c.left - p - n.sideOffset;
1907
- const I = window.innerHeight - 2 * X;
1908
- G = L(c.top, X, window.innerHeight - Math.min(b, I) - X), z = Math.max(window.innerHeight - G - X, 0);
1976
+ A = U === "right" ? c.right + n.sideOffset : c.left - p - n.sideOffset;
1977
+ const I = window.innerHeight - 2 * Z;
1978
+ G = L(c.top, Z, window.innerHeight - Math.min(b, I) - Z), E = Math.max(window.innerHeight - G - Z, 0);
1909
1979
  break;
1910
1980
  }
1911
1981
  }
1912
1982
  if (P)
1913
1983
  switch (n.align) {
1914
1984
  case "start":
1915
- B = c.left;
1985
+ A = c.left;
1916
1986
  break;
1917
1987
  case "center":
1918
- B = c.left + c.width / 2 - p / 2;
1988
+ A = c.left + c.width / 2 - p / 2;
1919
1989
  break;
1920
1990
  case "end":
1921
- B = c.right - p;
1991
+ A = c.right - p;
1922
1992
  break;
1923
1993
  }
1924
- B = L(B, X, window.innerWidth - p - X), m.value = { top: G, left: B, techo: z };
1994
+ A = L(A, Z, window.innerWidth - p - Z), m.value = { top: G, left: A, techo: E };
1925
1995
  }
1926
- function A() {
1996
+ function B() {
1927
1997
  return u.value ? Array.from(u.value.querySelectorAll('[role="menuitem"]')) : [];
1928
1998
  }
1929
- function y(c) {
1930
- const b = A();
1999
+ function g(c) {
2000
+ const b = B();
1931
2001
  if (!b.length) return;
1932
2002
  const p = b.length;
1933
2003
  b[(c % p + p) % p]?.focus();
1934
2004
  }
1935
2005
  function $() {
1936
2006
  const c = document.activeElement;
1937
- return c instanceof HTMLElement ? A().indexOf(c) : -1;
2007
+ return c instanceof HTMLElement ? B().indexOf(c) : -1;
1938
2008
  }
1939
2009
  function j(c) {
1940
2010
  const b = $();
1941
2011
  switch (c.key) {
1942
2012
  case "ArrowDown":
1943
- c.preventDefault(), y(b + 1);
2013
+ c.preventDefault(), g(b + 1);
1944
2014
  break;
1945
2015
  case "ArrowUp":
1946
- c.preventDefault(), y(b <= 0 ? -1 : b - 1);
2016
+ c.preventDefault(), g(b <= 0 ? -1 : b - 1);
1947
2017
  break;
1948
2018
  case "Home":
1949
- c.preventDefault(), y(0);
2019
+ c.preventDefault(), g(0);
1950
2020
  break;
1951
2021
  case "End":
1952
- c.preventDefault(), y(-1);
2022
+ c.preventDefault(), g(-1);
1953
2023
  break;
1954
2024
  case "Escape":
1955
2025
  c.preventDefault(), c.stopPropagation(), t.cerrar({ devolverElFoco: !0 });
@@ -1961,14 +2031,14 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1961
2031
  }
1962
2032
  W(s, async (c) => {
1963
2033
  if (c)
1964
- switch (await Y(), requestAnimationFrame(() => {
1965
- D();
2034
+ switch (await X(), requestAnimationFrame(() => {
2035
+ z();
1966
2036
  }), t.focoAlAbrir.value) {
1967
2037
  case "primero":
1968
- y(0);
2038
+ g(0);
1969
2039
  break;
1970
2040
  case "ultimo":
1971
- y(-1);
2041
+ g(-1);
1972
2042
  break;
1973
2043
  // Abierto con el ratón: el foco va al menú y no a un ítem —no hay
1974
2044
  // ninguno elegido todavía—, que es lo que deja andar las flechas y el
@@ -1978,18 +2048,18 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1978
2048
  }
1979
2049
  });
1980
2050
  function C(c) {
1981
- s.value && (c && u.value?.contains(c.target) || D());
2051
+ s.value && (c && u.value?.contains(c.target) || z());
1982
2052
  }
1983
- function g(c) {
2053
+ function y(c) {
1984
2054
  const b = c.target, p = !!b.closest("[data-dropdown-content]"), P = !!o.value?.contains(b);
1985
2055
  !p && !P && t.cerrar();
1986
2056
  }
1987
2057
  return J(() => {
1988
- document.addEventListener("click", g), window.addEventListener("resize", C), window.addEventListener("scroll", C, !0);
1989
- }), ce(() => {
1990
- document.removeEventListener("click", g), window.removeEventListener("resize", C), window.removeEventListener("scroll", C, !0);
1991
- }), (c, b) => (i(), Q(fe, { to: "body" }, [
1992
- O(ye, {
2058
+ document.addEventListener("click", y), window.addEventListener("resize", C), window.addEventListener("scroll", C, !0);
2059
+ }), pe(() => {
2060
+ document.removeEventListener("click", y), window.removeEventListener("resize", C), window.removeEventListener("scroll", C, !0);
2061
+ }), (c, b) => (r(), Y(ye, { to: "body" }, [
2062
+ O(ke, {
1993
2063
  "enter-active-class": "transition-all duration-150 ease-in-out",
1994
2064
  "leave-active-class": "transition-all duration-150 ease-in-out",
1995
2065
  "enter-from-class": "opacity-0 scale-95",
@@ -1998,15 +2068,15 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
1998
2068
  onLeave: b[2] || (b[2] = (p) => p.offsetHeight)
1999
2069
  }, {
2000
2070
  default: K(() => [
2001
- Ce(T("div", oe({
2071
+ Se(T("div", ce({
2002
2072
  ref_key: "contenido",
2003
2073
  ref: u
2004
2074
  }, c.$attrs, {
2005
- id: R(a),
2075
+ id: F(a),
2006
2076
  role: "menu",
2007
2077
  tabindex: "-1",
2008
2078
  "aria-orientation": "vertical",
2009
- "aria-labelledby": R(l) ?? void 0,
2079
+ "aria-labelledby": F(l) ?? void 0,
2010
2080
  inert: !s.value,
2011
2081
  style: {
2012
2082
  position: "fixed",
@@ -2022,29 +2092,29 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
2022
2092
  onClick: b[0] || (b[0] = (p) => p.stopPropagation()),
2023
2093
  onKeydown: j
2024
2094
  }), [
2025
- T("div", Pn, [
2095
+ T("div", nl, [
2026
2096
  S(c.$slots, "default")
2027
2097
  ])
2028
- ], 16, jn), [
2029
- [qe, s.value]
2098
+ ], 16, al), [
2099
+ [Ye, s.value]
2030
2100
  ])
2031
2101
  ]),
2032
2102
  _: 3
2033
2103
  })
2034
2104
  ]));
2035
2105
  }
2036
- }), Rn = ["aria-disabled", "onKeydown"], qn = /* @__PURE__ */ E({
2106
+ }), ol = ["aria-disabled", "onKeydown"], rl = /* @__PURE__ */ D({
2037
2107
  __name: "DropdownMenuItem",
2038
2108
  props: {
2039
2109
  disabled: { type: Boolean, default: !1 }
2040
2110
  },
2041
2111
  emits: ["select", "click"],
2042
2112
  setup(e, { emit: n }) {
2043
- const t = e, a = n, l = he();
2113
+ const t = e, a = n, l = Ce();
2044
2114
  function o(s) {
2045
2115
  t.disabled || (a("select"), a("click", s), l.cerrar({ devolverElFoco: !0 }));
2046
2116
  }
2047
- return (s, u) => (i(), r("div", {
2117
+ return (s, u) => (r(), i("div", {
2048
2118
  role: "menuitem",
2049
2119
  tabindex: "0",
2050
2120
  "aria-disabled": e.disabled || void 0,
@@ -2057,22 +2127,22 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
2057
2127
  ]),
2058
2128
  onClick: o,
2059
2129
  onKeydown: [
2060
- F(M(o, ["prevent"]), ["enter"]),
2061
- F(M(o, ["prevent"]), ["space"])
2130
+ R(V(o, ["prevent"]), ["enter"]),
2131
+ R(V(o, ["prevent"]), ["space"])
2062
2132
  ]
2063
2133
  }, [
2064
2134
  S(s.$slots, "default")
2065
- ], 42, Rn));
2135
+ ], 42, ol));
2066
2136
  }
2067
- }), Nn = /* @__PURE__ */ E({
2137
+ }), il = /* @__PURE__ */ D({
2068
2138
  __name: "DropdownMenuLabel",
2069
2139
  setup(e) {
2070
- const n = he(), t = `${et()}-titulo`;
2140
+ const n = Ce(), t = `${ct()}-titulo`;
2071
2141
  return J(() => {
2072
2142
  n.ponerLaEtiqueta(t);
2073
- }), ce(() => {
2143
+ }), pe(() => {
2074
2144
  n.ponerLaEtiqueta(null);
2075
- }), (a, l) => (i(), r("div", {
2145
+ }), (a, l) => (r(), i("div", {
2076
2146
  id: t,
2077
2147
  role: "presentation",
2078
2148
  class: "px-3 py-2 text-sm font-semibold text-tx-main"
@@ -2080,30 +2150,30 @@ const In = { class: "relative inline-block" }, On = /* @__PURE__ */ E({
2080
2150
  S(a.$slots, "default")
2081
2151
  ]));
2082
2152
  }
2083
- }), Hn = {
2153
+ }), sl = {
2084
2154
  role: "separator",
2085
2155
  "aria-orientation": "horizontal",
2086
2156
  class: "bg-ui-bg/80 my-4 h-0.5"
2087
- }, Un = /* @__PURE__ */ E({
2157
+ }, ul = /* @__PURE__ */ D({
2088
2158
  __name: "DropdownMenuSeparator",
2089
2159
  setup(e) {
2090
- return (n, t) => (i(), r("div", Hn));
2160
+ return (n, t) => (r(), i("div", sl));
2091
2161
  }
2092
2162
  });
2093
- function tt(e) {
2163
+ function dt(e) {
2094
2164
  const n = e.filter(
2095
- (a) => a.type !== mt && !(a.type === bt && typeof a.children == "string" && !a.children.trim())
2165
+ (a) => a.type !== Et && !(a.type === Lt && typeof a.children == "string" && !a.children.trim())
2096
2166
  );
2097
2167
  if (n.length !== 1) return null;
2098
2168
  const t = n[0];
2099
- return t.type === Z && Array.isArray(t.children) ? tt(t.children) : t;
2169
+ return t.type === te && Array.isArray(t.children) ? dt(t.children) : t;
2100
2170
  }
2101
- function Kn(e) {
2171
+ function cl(e) {
2102
2172
  if (e instanceof HTMLElement) return e;
2103
2173
  const n = e?.$el;
2104
2174
  return n instanceof HTMLElement ? n : null;
2105
2175
  }
2106
- const Wn = E({
2176
+ const dl = D({
2107
2177
  name: "DropdownMenuTrigger",
2108
2178
  inheritAttrs: !1,
2109
2179
  props: {
@@ -2113,9 +2183,9 @@ const Wn = E({
2113
2183
  disabled: { type: Boolean, default: !1 }
2114
2184
  },
2115
2185
  setup(e, { slots: n, attrs: t }) {
2116
- const a = he(), l = w(null);
2186
+ const a = Ce(), l = w(null);
2117
2187
  function o() {
2118
- a.ponerElDisparador(Kn(l.value));
2188
+ a.ponerElDisparador(cl(l.value));
2119
2189
  }
2120
2190
  function s() {
2121
2191
  e.disabled || (o(), a.alternar());
@@ -2153,17 +2223,17 @@ const Wn = E({
2153
2223
  onKeydown: u
2154
2224
  }, f = n.default?.() ?? [];
2155
2225
  if (e.asChild) {
2156
- const d = tt(f);
2157
- if (d) return dt(d, { ...t, ...m });
2226
+ const d = dt(f);
2227
+ if (d) return $t(d, { ...t, ...m });
2158
2228
  }
2159
- return ft(
2229
+ return Ct(
2160
2230
  "div",
2161
2231
  { ...t, class: ["dropdown-menu-trigger inline-block", t.class], ...m },
2162
2232
  f
2163
2233
  );
2164
2234
  };
2165
2235
  }
2166
- }), Gn = ["for"], Qn = /* @__PURE__ */ E({
2236
+ }), fl = ["for"], ml = /* @__PURE__ */ D({
2167
2237
  __name: "FormGroup",
2168
2238
  props: {
2169
2239
  label: {},
@@ -2172,18 +2242,18 @@ const Wn = E({
2172
2242
  labelClass: { default: () => ({}) }
2173
2243
  },
2174
2244
  setup(e) {
2175
- return (n, t) => (i(), r("div", {
2245
+ return (n, t) => (r(), i("div", {
2176
2246
  class: h(["flex flex-col gap-2", e.customClass])
2177
2247
  }, [
2178
- e.label ? (i(), r("label", {
2248
+ e.label ? (r(), i("label", {
2179
2249
  key: 0,
2180
2250
  for: e.htmlFor,
2181
2251
  class: h(["text-sm font-medium text-primary dark:text-primary-dark", e.labelClass])
2182
- }, V(e.label), 11, Gn)) : x("", !0),
2252
+ }, M(e.label), 11, fl)) : x("", !0),
2183
2253
  S(n.$slots, "default", {}, void 0, !0)
2184
2254
  ], 2));
2185
2255
  }
2186
- }), Yn = /* @__PURE__ */ ge(Qn, [["__scopeId", "data-v-c0d9d9cb"]]), Xn = /* @__PURE__ */ E({
2256
+ }), bl = /* @__PURE__ */ $e(ml, [["__scopeId", "data-v-c0d9d9cb"]]), vl = /* @__PURE__ */ D({
2187
2257
  __name: "ListCard",
2188
2258
  props: {
2189
2259
  clickable: { type: Boolean, default: !1 },
@@ -2194,7 +2264,7 @@ const Wn = E({
2194
2264
  const t = e, a = n, l = () => {
2195
2265
  t.clickable && a("click");
2196
2266
  };
2197
- return (o, s) => (i(), r("div", {
2267
+ return (o, s) => (r(), i("div", {
2198
2268
  class: h([
2199
2269
  "flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",
2200
2270
  {
@@ -2207,10 +2277,10 @@ const Wn = E({
2207
2277
  S(o.$slots, "default", {}, void 0, !0)
2208
2278
  ], 2));
2209
2279
  }
2210
- }), Jn = /* @__PURE__ */ ge(Xn, [["__scopeId", "data-v-f86d47da"]]), Zn = { class: "background rounded-corner flex flex-row items-center gap-2 justify-between w-full h-auto p-4 transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80" }, _n = ["title", "aria-label"], el = ["src"], tl = {
2280
+ }), pl = /* @__PURE__ */ $e(vl, [["__scopeId", "data-v-f86d47da"]]), gl = { class: "background rounded-corner flex flex-row items-center gap-2 justify-between w-full h-auto p-4 transition-[background-color] duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80" }, yl = ["title", "aria-label"], hl = ["src"], xl = {
2211
2281
  key: 1,
2212
2282
  class: "w-8 h-8 flex items-center justify-center"
2213
- }, al = ["src"], nl = ["min", "max", "value", "aria-label", "aria-valuetext"], ll = /* @__PURE__ */ E({
2283
+ }, wl = ["src"], kl = ["min", "max", "value", "aria-label", "aria-valuetext"], $l = /* @__PURE__ */ D({
2214
2284
  __name: "SliderControl",
2215
2285
  props: {
2216
2286
  icon: {},
@@ -2235,26 +2305,26 @@ const Wn = E({
2235
2305
  }, u = () => {
2236
2306
  a("buttonClick");
2237
2307
  };
2238
- return (m, f) => (i(), r("div", Zn, [
2239
- e.showButton ? (i(), r("button", {
2308
+ return (m, f) => (r(), i("div", gl, [
2309
+ e.showButton ? (r(), i("button", {
2240
2310
  key: 0,
2241
2311
  onClick: u,
2242
2312
  type: "button",
2243
2313
  title: e.buttonLabel ?? e.label,
2244
2314
  "aria-label": e.buttonLabel ?? e.label,
2245
- class: "w-8 h-8 flex items-center justify-center rounded-corner transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80 hover:scale-110 active:scale-95"
2315
+ class: "w-8 h-8 flex items-center justify-center rounded-corner transition-[background-color,scale] duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80 hover:scale-110 active:scale-95"
2246
2316
  }, [
2247
2317
  T("img", {
2248
2318
  src: e.icon,
2249
2319
  alt: "",
2250
- class: h(["w-6 h-6 transition-all duration-200", e.iconClass])
2251
- }, null, 10, el)
2252
- ], 8, _n)) : (i(), r("div", tl, [
2320
+ class: h(["w-6 h-6", e.iconClass])
2321
+ }, null, 10, hl)
2322
+ ], 8, yl)) : (r(), i("div", xl, [
2253
2323
  T("img", {
2254
2324
  src: e.icon,
2255
2325
  alt: "",
2256
- class: "w-6 h-6 transition-all duration-200"
2257
- }, null, 8, al)
2326
+ class: "w-6 h-6"
2327
+ }, null, 8, wl)
2258
2328
  ])),
2259
2329
  T("input", {
2260
2330
  type: "range",
@@ -2264,14 +2334,14 @@ const Wn = E({
2264
2334
  onInput: s,
2265
2335
  "aria-label": e.label,
2266
2336
  "aria-valuetext": `${l.value}%`,
2267
- class: "flex-1 transition-all duration-200 hover:scale-105"
2268
- }, null, 40, nl),
2337
+ class: "flex-1 transition-[scale] duration-200 hover:scale-105"
2338
+ }, null, 40, kl),
2269
2339
  T("span", {
2270
- class: h(["w-12 text-right transition-all duration-200 font-medium", o.value])
2271
- }, V(l.value) + "% ", 3)
2340
+ class: h(["w-12 text-right transition-[color] duration-200 font-medium", o.value])
2341
+ }, M(l.value) + "% ", 3)
2272
2342
  ]));
2273
2343
  }
2274
- }), Te = /* @__PURE__ */ E({
2344
+ }), je = /* @__PURE__ */ D({
2275
2345
  __name: "SwitchTrack",
2276
2346
  props: {
2277
2347
  on: { type: Boolean },
@@ -2279,7 +2349,7 @@ const Wn = E({
2279
2349
  },
2280
2350
  setup(e) {
2281
2351
  const n = e, t = v(() => n.size === "small");
2282
- return (a, l) => (i(), r("span", {
2352
+ return (a, l) => (r(), i("span", {
2283
2353
  "aria-hidden": "true",
2284
2354
  class: h(["inline-flex shrink-0 items-center rounded-full border transition-colors", [
2285
2355
  t.value ? "h-6 w-11" : "h-7 w-12",
@@ -2295,10 +2365,10 @@ const Wn = E({
2295
2365
  }, null, 2)
2296
2366
  ], 2));
2297
2367
  }
2298
- }), ol = ["aria-checked", "disabled"], il = { class: "min-w-0 flex-1" }, rl = { class: "block font-medium text-sm text-tx-main" }, sl = {
2368
+ }), Cl = ["aria-checked", "disabled"], El = { class: "min-w-0 flex-1" }, Ll = { class: "block font-medium text-sm text-tx-main" }, zl = {
2299
2369
  key: 0,
2300
2370
  class: "mt-0.5 block text-tx-muted text-xs"
2301
- }, ul = /* @__PURE__ */ E({
2371
+ }, Dl = /* @__PURE__ */ D({
2302
2372
  __name: "SwitchRow",
2303
2373
  props: {
2304
2374
  modelValue: { type: Boolean },
@@ -2311,7 +2381,7 @@ const Wn = E({
2311
2381
  emits: ["update:modelValue"],
2312
2382
  setup(e, { emit: n }) {
2313
2383
  const t = e, a = n;
2314
- return (l, o) => (i(), r("button", {
2384
+ return (l, o) => (r(), i("button", {
2315
2385
  type: "button",
2316
2386
  role: "switch",
2317
2387
  "aria-checked": e.modelValue,
@@ -2319,11 +2389,11 @@ const Wn = E({
2319
2389
  class: "flex w-full items-start gap-3 rounded-corner p-2 text-left transition-colors hover:bg-ui-surface/60 disabled:cursor-not-allowed disabled:opacity-60 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
2320
2390
  onClick: o[0] || (o[0] = (s) => a("update:modelValue", !t.modelValue))
2321
2391
  }, [
2322
- O(Te, {
2392
+ O(je, {
2323
2393
  on: e.modelValue,
2324
2394
  class: "mt-0.5"
2325
2395
  }, null, 8, ["on"]),
2326
- e.icon ? (i(), r("span", {
2396
+ e.icon ? (r(), i("span", {
2327
2397
  key: 0,
2328
2398
  class: h(["flex size-10 shrink-0 items-center justify-center rounded-corner border", e.modelValue ? "border-secondary bg-primary/20" : "border-ui-border bg-ui-surface/40"]),
2329
2399
  "aria-hidden": "true"
@@ -2335,14 +2405,14 @@ const Wn = E({
2335
2405
  alt: ""
2336
2406
  }, null, 8, ["name", "type"])
2337
2407
  ], 2)) : x("", !0),
2338
- T("span", il, [
2339
- T("span", rl, V(e.label), 1),
2340
- e.description ? (i(), r("span", sl, V(e.description), 1)) : x("", !0),
2408
+ T("span", El, [
2409
+ T("span", Ll, M(e.label), 1),
2410
+ e.description ? (r(), i("span", zl, M(e.description), 1)) : x("", !0),
2341
2411
  S(l.$slots, "pie")
2342
2412
  ])
2343
- ], 8, ol));
2413
+ ], 8, Cl));
2344
2414
  }
2345
- }), cl = ["aria-checked", "aria-label", "disabled"], dl = /* @__PURE__ */ E({
2415
+ }), Tl = ["aria-checked", "aria-label", "disabled"], Al = /* @__PURE__ */ D({
2346
2416
  __name: "SwitchToggle",
2347
2417
  props: {
2348
2418
  modelValue: { type: Boolean },
@@ -2356,7 +2426,7 @@ const Wn = E({
2356
2426
  function l() {
2357
2427
  a("update:modelValue", !t.modelValue);
2358
2428
  }
2359
- return (o, s) => (i(), r("button", {
2429
+ return (o, s) => (r(), i("button", {
2360
2430
  type: "button",
2361
2431
  role: "switch",
2362
2432
  "aria-checked": e.modelValue,
@@ -2365,13 +2435,13 @@ const Wn = E({
2365
2435
  class: "rounded-full transition-opacity disabled:cursor-not-allowed disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
2366
2436
  onClick: l
2367
2437
  }, [
2368
- O(Te, {
2438
+ O(je, {
2369
2439
  on: e.modelValue,
2370
2440
  size: e.size
2371
2441
  }, null, 8, ["on", "size"])
2372
- ], 8, cl));
2442
+ ], 8, Tl));
2373
2443
  }
2374
- }), fl = ["disabled", "title", "aria-label", "aria-pressed", "aria-busy"], ml = ["src"], bl = /* @__PURE__ */ E({
2444
+ }), Bl = ["disabled", "title", "aria-label", "aria-pressed", "aria-busy"], Sl = ["src"], Ml = /* @__PURE__ */ D({
2375
2445
  __name: "ToggleControl",
2376
2446
  props: {
2377
2447
  icon: {},
@@ -2388,9 +2458,9 @@ const Wn = E({
2388
2458
  function a() {
2389
2459
  t("click");
2390
2460
  }
2391
- return (l, o) => (i(), r("button", {
2461
+ return (l, o) => (r(), i("button", {
2392
2462
  type: "button",
2393
- class: h(["p-2 rounded-corner bg-ui-bg/80 hover:opacity-50 transition-all duration-300 h-17.5 w-17.5 group relative overflow-hidden hover:scale-105 hover:shadow-lg active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2", {
2463
+ class: h(["p-2 rounded-corner bg-ui-bg/80 hover:opacity-50 transition-[opacity,scale,box-shadow] duration-300 h-17.5 w-17.5 group relative overflow-hidden hover:scale-105 hover:shadow-lg active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2", {
2394
2464
  "animate-pulse": e.isLoading,
2395
2465
  "ring-2 ring-primary": e.isActive,
2396
2466
  "opacity-60": !e.isActive,
@@ -2406,18 +2476,18 @@ const Wn = E({
2406
2476
  T("img", {
2407
2477
  src: e.icon,
2408
2478
  alt: "",
2409
- class: h(["m-auto w-12.5 h-12.5 transition-all duration-300 group-hover:scale-110 relative z-10", {
2479
+ class: h(["m-auto w-12.5 h-12.5 transition-[scale,filter] duration-300 group-hover:scale-110 relative z-10", {
2410
2480
  "animate-spin": e.isLoading,
2411
2481
  "filter brightness-75": !e.isActive,
2412
2482
  "drop-shadow-lg": e.isActive,
2413
2483
  ...e.iconClass
2414
2484
  }])
2415
- }, null, 10, ml)
2416
- ], 10, fl));
2485
+ }, null, 10, Sl)
2486
+ ], 10, Bl));
2417
2487
  }
2418
- }), at = /* @__PURE__ */ Symbol("tooltip de vasak");
2419
- function nt() {
2420
- const e = pe(at, null);
2488
+ }), ft = /* @__PURE__ */ Symbol("tooltip de vasak");
2489
+ function mt() {
2490
+ const e = we(ft, null);
2421
2491
  if (e) return e;
2422
2492
  const n = w(!1);
2423
2493
  return {
@@ -2433,7 +2503,7 @@ function nt() {
2433
2503
  }
2434
2504
  };
2435
2505
  }
2436
- const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2506
+ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2437
2507
  __name: "Tooltip",
2438
2508
  props: {
2439
2509
  disabled: { type: Boolean, default: !1 },
@@ -2450,7 +2520,7 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2450
2520
  function s() {
2451
2521
  l && clearTimeout(l), t.value = !1;
2452
2522
  }
2453
- return de(at, {
2523
+ return ge(ft, {
2454
2524
  abierto: v(() => t.value && !n.disabled),
2455
2525
  disparador: a,
2456
2526
  ponerElDisparador: (u) => {
@@ -2458,11 +2528,11 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2458
2528
  },
2459
2529
  abrir: o,
2460
2530
  cerrar: s
2461
- }), (u, m) => (i(), r("div", vl, [
2531
+ }), (u, m) => (r(), i("div", Vl, [
2462
2532
  S(u.$slots, "default")
2463
2533
  ]));
2464
2534
  }
2465
- }), yl = /* @__PURE__ */ E({
2535
+ }), Ol = /* @__PURE__ */ D({
2466
2536
  inheritAttrs: !1,
2467
2537
  __name: "TooltipContent",
2468
2538
  props: {
@@ -2471,42 +2541,42 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2471
2541
  sideOffset: { default: 4 }
2472
2542
  },
2473
2543
  setup(e) {
2474
- const n = $e(), t = v(() => n.class ?? ""), a = e, l = nt(), o = v(() => l.abierto.value), s = w(null), u = w({ top: 0, left: 0 });
2544
+ const n = Be(), t = v(() => n.class ?? ""), a = e, l = mt(), o = v(() => l.abierto.value), s = w(null), u = w({ top: 0, left: 0 });
2475
2545
  function m() {
2476
2546
  const f = l.disparador.value;
2477
2547
  if (!f || !s.value) return;
2478
2548
  const d = f.getBoundingClientRect(), L = s.value.getBoundingClientRect();
2479
- let D = 0, A = 0;
2549
+ let z = 0, B = 0;
2480
2550
  switch (a.side) {
2481
2551
  case "bottom":
2482
- D = d.bottom + a.sideOffset, A = d.left + d.width / 2 - L.width / 2;
2552
+ z = d.bottom + a.sideOffset, B = d.left + d.width / 2 - L.width / 2;
2483
2553
  break;
2484
2554
  case "top":
2485
- D = d.top - L.height - a.sideOffset, A = d.left + d.width / 2 - L.width / 2;
2555
+ z = d.top - L.height - a.sideOffset, B = d.left + d.width / 2 - L.width / 2;
2486
2556
  break;
2487
2557
  case "left":
2488
- A = d.left - L.width - a.sideOffset, D = d.top + d.height / 2 - L.height / 2;
2558
+ B = d.left - L.width - a.sideOffset, z = d.top + d.height / 2 - L.height / 2;
2489
2559
  break;
2490
2560
  case "right":
2491
- A = d.right + a.sideOffset, D = d.top + d.height / 2 - L.height / 2;
2561
+ B = d.right + a.sideOffset, z = d.top + d.height / 2 - L.height / 2;
2492
2562
  break;
2493
2563
  }
2494
- u.value = { top: D, left: A };
2564
+ u.value = { top: z, left: B };
2495
2565
  }
2496
2566
  return W(o, async (f) => {
2497
- f && (await Y(), requestAnimationFrame(m));
2498
- }), (f, d) => (i(), Q(fe, { to: "body" }, [
2499
- O(ye, {
2567
+ f && (await X(), requestAnimationFrame(m));
2568
+ }), (f, d) => (r(), Y(ye, { to: "body" }, [
2569
+ O(ke, {
2500
2570
  "enter-active-class": "transition-all duration-200 ease-in-out",
2501
2571
  "leave-active-class": "transition-all duration-200 ease-in-out",
2502
2572
  "enter-from-class": "opacity-0 scale-95",
2503
2573
  "leave-to-class": "opacity-0 scale-95"
2504
2574
  }, {
2505
2575
  default: K(() => [
2506
- Ce(T("div", {
2576
+ Se(T("div", {
2507
2577
  ref_key: "globo",
2508
2578
  ref: s,
2509
- style: re({ position: "fixed", top: `${u.value.top}px`, left: `${u.value.left}px`, zIndex: 50 }),
2579
+ style: fe({ position: "fixed", top: `${u.value.top}px`, left: `${u.value.left}px`, zIndex: 50 }),
2510
2580
  class: h([
2511
2581
  t.value,
2512
2582
  "pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"
@@ -2514,17 +2584,17 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2514
2584
  }, [
2515
2585
  S(f.$slots, "default")
2516
2586
  ], 6), [
2517
- [qe, o.value]
2587
+ [Ye, o.value]
2518
2588
  ])
2519
2589
  ]),
2520
2590
  _: 3
2521
2591
  })
2522
2592
  ]));
2523
2593
  }
2524
- }), gl = /* @__PURE__ */ E({
2594
+ }), jl = /* @__PURE__ */ D({
2525
2595
  __name: "TooltipTrigger",
2526
2596
  setup(e) {
2527
- const n = nt(), t = w(null);
2597
+ const n = mt(), t = w(null);
2528
2598
  function a() {
2529
2599
  return t.value ? t.value.firstElementChild ?? t.value : null;
2530
2600
  }
@@ -2533,22 +2603,22 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2533
2603
  }
2534
2604
  return J(() => {
2535
2605
  n.ponerElDisparador(a());
2536
- }), (o, s) => (i(), r("div", {
2606
+ }), (o, s) => (r(), i("div", {
2537
2607
  ref_key: "envoltorio",
2538
2608
  ref: t,
2539
2609
  class: "inline-block",
2540
2610
  onMouseenter: l,
2541
- onMouseleave: s[0] || (s[0] = (u) => R(n).cerrar()),
2611
+ onMouseleave: s[0] || (s[0] = (u) => F(n).cerrar()),
2542
2612
  onFocus: l,
2543
- onBlur: s[1] || (s[1] = (u) => R(n).cerrar())
2613
+ onBlur: s[1] || (s[1] = (u) => F(n).cerrar())
2544
2614
  }, [
2545
2615
  S(o.$slots, "default")
2546
2616
  ], 544));
2547
2617
  }
2548
- }), hl = ["title"], xl = ["src", "alt"], wl = {
2618
+ }), Pl = ["title"], Rl = ["src", "alt"], Fl = {
2549
2619
  key: 0,
2550
2620
  class: "absolute bottom-1 right-1 bg-primary dark:bg-primary-dark text-white text-xs rounded-full w-4 h-4 flex items-center justify-center font-bold animate-bounce"
2551
- }, kl = /* @__PURE__ */ E({
2621
+ }, Nl = /* @__PURE__ */ D({
2552
2622
  __name: "TrayIconButton",
2553
2623
  props: {
2554
2624
  icon: {},
@@ -2566,8 +2636,8 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2566
2636
  const t = n, a = w(!1), l = () => {
2567
2637
  t("click");
2568
2638
  };
2569
- return (o, s) => (i(), r("div", {
2570
- class: h(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-all duration-300", e.customClass]),
2639
+ return (o, s) => (r(), i("div", {
2640
+ class: h(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-[background-color] duration-300", e.customClass]),
2571
2641
  title: e.tooltip,
2572
2642
  onClick: l,
2573
2643
  onMouseenter: s[0] || (s[0] = (u) => a.value = !0),
@@ -2576,138 +2646,139 @@ const vl = { class: "inline-block" }, pl = /* @__PURE__ */ E({
2576
2646
  T("img", {
2577
2647
  src: e.icon,
2578
2648
  alt: e.alt,
2579
- class: h(["m-auto h-5.5 w-auto transition-all duration-300", e.iconClass])
2580
- }, null, 10, xl),
2581
- e.badge !== null && e.badge > 0 ? (i(), r("div", wl, V(e.badge), 1)) : x("", !0),
2582
- e.showCustomTooltip && e.customTooltipText ? (i(), r("div", {
2649
+ class: h(["m-auto h-5.5 w-auto", e.iconClass])
2650
+ }, null, 10, Rl),
2651
+ e.badge !== null && e.badge > 0 ? (r(), i("div", Fl, M(e.badge), 1)) : x("", !0),
2652
+ e.showCustomTooltip && e.customTooltipText ? (r(), i("div", {
2583
2653
  key: 1,
2584
- class: h(["absolute top-1 left-1/2 transform -translate-x-1/2 text-xs font-semibold p-1 rounded-corner transition-all duration-300 pointer-events-none background", [
2654
+ class: h(["absolute top-1 left-1/2 transform -translate-x-1/2 text-xs font-semibold p-1 rounded-corner transition-[opacity,translate] duration-300 pointer-events-none background", [
2585
2655
  e.tooltipClass,
2586
2656
  {
2587
2657
  "opacity-0 -translate-y-2": !a.value,
2588
2658
  "opacity-100 translate-y-0": a.value
2589
2659
  }
2590
2660
  ]])
2591
- }, V(e.customTooltipText), 3)) : x("", !0),
2661
+ }, M(e.customTooltipText), 3)) : x("", !0),
2592
2662
  S(o.$slots, "default")
2593
- ], 42, hl));
2663
+ ], 42, Pl));
2594
2664
  }
2595
- }), $l = [
2596
- Ut,
2597
- He,
2598
- Ne,
2599
- Yt,
2665
+ }), ql = [
2666
+ ua,
2667
+ _e,
2668
+ Ze,
2669
+ ba,
2600
2670
  H,
2601
- sa,
2602
- We,
2603
- Ke,
2604
- xa,
2605
- Ge,
2606
2671
  za,
2607
- Sa,
2608
- ja,
2672
+ at,
2673
+ tt,
2609
2674
  Ra,
2610
- Na,
2611
- Ga,
2612
- Ee,
2613
- sn,
2614
- Qe,
2675
+ nt,
2615
2676
  Ua,
2616
- dn,
2617
- xn,
2618
- kn,
2619
- Ln,
2620
- En,
2621
- Bn,
2622
- Sn,
2623
- Mn,
2624
- On,
2625
- Fn,
2626
- qn,
2677
+ Ja,
2678
+ an,
2679
+ on,
2680
+ sn,
2681
+ mn,
2682
+ Oe,
2683
+ zn,
2684
+ lt,
2685
+ cn,
2686
+ An,
2687
+ Rn,
2627
2688
  Nn,
2628
- Un,
2629
- Wn,
2689
+ Kn,
2690
+ Gn,
2630
2691
  Yn,
2631
2692
  Jn,
2693
+ _n,
2694
+ tl,
2632
2695
  ll,
2696
+ rl,
2697
+ il,
2633
2698
  ul,
2634
2699
  dl,
2635
- Te,
2636
2700
  bl,
2637
2701
  pl,
2638
- yl,
2639
- gl,
2640
- kl
2641
- ], Bl = {
2702
+ $l,
2703
+ Dl,
2704
+ Al,
2705
+ je,
2706
+ Ml,
2707
+ Il,
2708
+ Ol,
2709
+ jl,
2710
+ Nl
2711
+ ], Xl = {
2642
2712
  install(e) {
2643
- $l.forEach((n) => {
2713
+ ql.forEach((n) => {
2644
2714
  e.component(n.name, n);
2645
2715
  });
2646
2716
  }
2647
2717
  };
2648
2718
  export {
2649
- Sa as ActionButton,
2650
- ja as AlertMessage,
2651
- We as AppBar,
2652
- za as BarSearch,
2653
- Ye as CLASES_POR_TONO,
2654
- Je as CLAVE_DEL_DIALOGO,
2655
- _e as CLAVE_DEL_MENU,
2656
- at as CLAVE_DEL_TOOLTIP,
2657
- Le as CLAVE_DE_LA_BARRA,
2658
- dn as ConfigSection,
2659
- xn as DeviceCard,
2660
- kn as Dialog,
2661
- Ln as DialogContent,
2662
- En as DialogDescription,
2663
- Bn as DialogFooter,
2664
- Sn as DialogHeader,
2665
- Mn as DialogTitle,
2666
- On as DropdownMenu,
2667
- Fn as DropdownMenuContent,
2668
- qn as DropdownMenuItem,
2669
- Nn as DropdownMenuLabel,
2670
- Un as DropdownMenuSeparator,
2671
- Wn as DropdownMenuTrigger,
2672
- Ra as EmptyState,
2673
- Yn as FormGroup,
2674
- De as LOS_TRES_CONTROLES,
2675
- Jn as ListCard,
2676
- Na as LoadingState,
2677
- Xt as POSICIONES,
2678
- Ga as ProgressBar,
2679
- Ee as SearchField,
2680
- sn as SearchSelect,
2681
- Yt as SelectField,
2682
- Ut as SideBar,
2683
- He as SideButton,
2684
- Ne as SideGroup,
2685
- ll as SliderControl,
2686
- ul as SwitchRow,
2687
- dl as SwitchToggle,
2688
- Te as SwitchTrack,
2689
- xa as TabBar,
2690
- Ge as TabItem,
2691
- Qe as TextInput,
2719
+ Ja as ActionButton,
2720
+ an as AlertMessage,
2721
+ at as AppBar,
2722
+ Ua as BarSearch,
2723
+ ot as CLASES_POR_TONO,
2724
+ it as CLAVE_DEL_DIALOGO,
2725
+ ut as CLAVE_DEL_MENU,
2726
+ ft as CLAVE_DEL_TOOLTIP,
2727
+ Ve as CLAVE_DE_LA_BARRA,
2728
+ An as ConfigSection,
2729
+ Rn as DeviceCard,
2730
+ Nn as Dialog,
2731
+ Kn as DialogContent,
2732
+ Gn as DialogDescription,
2733
+ Yn as DialogFooter,
2734
+ Jn as DialogHeader,
2735
+ _n as DialogTitle,
2736
+ tl as DropdownMenu,
2737
+ ll as DropdownMenuContent,
2738
+ rl as DropdownMenuItem,
2739
+ il as DropdownMenuLabel,
2740
+ ul as DropdownMenuSeparator,
2741
+ dl as DropdownMenuTrigger,
2742
+ on as EmptyState,
2743
+ bl as FormGroup,
2744
+ Ie as LOS_TRES_CONTROLES,
2745
+ pl as ListCard,
2746
+ sn as LoadingState,
2747
+ va as POSICIONES,
2748
+ mn as ProgressBar,
2749
+ Oe as SearchField,
2750
+ zn as SearchSelect,
2751
+ ba as SelectField,
2752
+ ua as SideBar,
2753
+ _e as SideButton,
2754
+ Ze as SideGroup,
2755
+ $l as SliderControl,
2756
+ Dl as SwitchRow,
2757
+ Al as SwitchToggle,
2758
+ je as SwitchTrack,
2759
+ Ra as TabBar,
2760
+ nt as TabItem,
2761
+ lt as TextInput,
2692
2762
  H as ThemeIcon,
2693
- Ua as ToastArea,
2694
- bl as ToggleControl,
2695
- pl as Tooltip,
2696
- yl as TooltipContent,
2697
- gl as TooltipTrigger,
2698
- kl as TrayIconButton,
2699
- Ke as WindowControls,
2700
- sa as WindowFrame,
2701
- Ya as buscarOpciones,
2702
- Bl as default,
2703
- Jt as esPosicion,
2704
- Tl as olvidarLosIconosDelTema,
2705
- ke as orientacionDe,
2706
- ea as posicionDe,
2707
- Xe as rolDelTono,
2708
- Ze as usarElDialogo,
2709
- he as usarElMenu,
2710
- nt as usarElTooltip,
2711
- me as usarLaBarra,
2712
- ta as usarLaPosicionDeLaBarra
2763
+ cn as ToastArea,
2764
+ Ml as ToggleControl,
2765
+ Il as Tooltip,
2766
+ Ol as TooltipContent,
2767
+ jl as TooltipTrigger,
2768
+ Nl as TrayIconButton,
2769
+ tt as WindowControls,
2770
+ za as WindowFrame,
2771
+ vn as buscarOpciones,
2772
+ Xl as default,
2773
+ pa as esPosicion,
2774
+ Ql as olvidarLosIconosDelTema,
2775
+ Ae as orientacionDe,
2776
+ ha as posicionDe,
2777
+ rt as rolDelTono,
2778
+ st as usarElDialogo,
2779
+ Ce as usarElMenu,
2780
+ mt as usarElTooltip,
2781
+ he as usarLaBarra,
2782
+ xa as usarLaPosicionDeLaBarra,
2783
+ Yl as usarLaVersionDelTema
2713
2784
  };