@vasakgroup/vue-libvasak 1.6.0 → 1.7.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,17 +1,17 @@
1
- import { ref as w, onMounted as W, onUnmounted as ve, readonly as vt, watch as Q, defineComponent as D, toRef as Pe, useTemplateRef as pt, computed as v, createElementBlock as r, unref as F, openBlock as i, normalizeStyle as fe, createCommentVNode as x, createElementVNode as B, createVNode as O, toDisplayString as M, normalizeClass as y, renderSlot as S, createBlock as U, onBeforeUnmount as pe, Fragment as te, renderList as ue, withCtx as G, mergeModels as Re, useAttrs as Ae, useId as yt, useModel as gt, withDirectives as Be, mergeProps as ce, isRef as ht, vModelSelect as xt, inject as we, getCurrentInstance as Ge, provide as ye, createTextVNode as Se, toHandlers as Qe, createSlots as wt, withModifiers as V, withKeys as P, Teleport as ge, Transition as ke, nextTick as J, TransitionGroup as kt, vShow as Ye, cloneVNode as $t, h as Ct, Comment as zt, Text as Et } from "vue";
1
+ import { ref as w, onMounted as W, onUnmounted as ve, readonly as vt, watch as Q, defineComponent as D, toRef as Pe, useTemplateRef as pt, computed as v, createElementBlock as r, unref as F, openBlock as i, normalizeStyle as fe, createCommentVNode as x, createElementVNode as B, createVNode as j, toDisplayString as V, normalizeClass as y, renderSlot as S, createBlock as U, onBeforeUnmount as pe, Fragment as te, renderList as ue, withCtx as G, mergeModels as Re, useAttrs as Be, useId as yt, useModel as gt, withDirectives as Se, mergeProps as ce, isRef as ht, vModelSelect as xt, inject as we, getCurrentInstance as Ge, provide as ye, createTextVNode as ke, toHandlers as Qe, createSlots as wt, withModifiers as M, withKeys as I, Teleport as ge, Transition as $e, nextTick as J, TransitionGroup as kt, vShow as Ye, cloneVNode as $t, h as Ct, Comment as zt, Text as Et } from "vue";
2
2
  import { listen as Lt } from "@tauri-apps/api/event";
3
3
  import { getSymbolSource as Dt, getIconSource as Tt } from "@vasakgroup/plugin-vicons";
4
4
  import { getCurrentWindow as At } from "@tauri-apps/api/window";
5
5
  import { useI18n as Bt } from "@vasakgroup/tauri-plugin-i18n";
6
6
  const St = "vicons:theme-changed", xe = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ new Map(), me = w(0);
7
7
  let se = 0, be = null, ie = null;
8
- function Ql() {
9
- xe.clear(), re.clear(), se = 0, be = null, ie = null, me.value = 0, ae.clear(), ne.clear(), Xe = 0, ee?.disconnect(), ee = null, Le = !1, X !== null && (clearTimeout(X), X = null), _ && (_.cancelado = !0), _ = null;
8
+ function Xl() {
9
+ xe.clear(), re.clear(), se = 0, be = null, ie = null, me.value = 0, ae.clear(), ne.clear(), Xe = 0, ee?.disconnect(), ee = null, De = !1, X !== null && (clearTimeout(X), X = null), _ && (_.cancelado = !0), _ = null;
10
10
  }
11
- const Mt = 100, Ce = 10, Vt = 16, ae = /* @__PURE__ */ new Map(), ne = /* @__PURE__ */ new Set();
12
- let Xe = 0, ee = null, Le = !1;
11
+ const Mt = 100, ze = 10, Vt = 16, ae = /* @__PURE__ */ new Map(), ne = /* @__PURE__ */ new Set();
12
+ let Xe = 0, ee = null, De = !1;
13
13
  function It() {
14
- return Le ? ee : (Le = !0, typeof IntersectionObserver > "u" ? null : (ee = new IntersectionObserver(
14
+ return De ? ee : (De = !0, typeof IntersectionObserver > "u" ? null : (ee = new IntersectionObserver(
15
15
  (e) => {
16
16
  for (const n of e) {
17
17
  const t = n.target.dataset?.iconoId;
@@ -44,13 +44,13 @@ function Rt(e) {
44
44
  async function Ft(e) {
45
45
  const n = [...ae.keys()], t = n.filter((l) => ne.has(l)), a = n.filter((l) => !ne.has(l));
46
46
  for (const l of [t, a])
47
- for (let o = 0; o < l.length; o += Ce) {
47
+ for (let o = 0; o < l.length; o += ze) {
48
48
  if (e.cancelado) return;
49
- const s = l.slice(o, o + Ce);
49
+ const s = l.slice(o, o + ze);
50
50
  if (await Promise.allSettled(
51
51
  s.map((u) => ae.get(u)?.recargar() ?? Promise.resolve())
52
52
  ), e.cancelado) return;
53
- (o + Ce < l.length || l === t) && await Rt(Vt);
53
+ (o + ze < l.length || l === t) && await Rt(Vt);
54
54
  }
55
55
  _ === e && (_ = null);
56
56
  }
@@ -69,7 +69,7 @@ function Je() {
69
69
  se <= 0 ? e() : be = e, ie = null;
70
70
  }), ie);
71
71
  }
72
- function De() {
72
+ function Te() {
73
73
  se--, !(se > 0) && (se = 0, be?.(), be = null);
74
74
  }
75
75
  function Ht(e, n) {
@@ -84,12 +84,12 @@ function Ht(e, n) {
84
84
  });
85
85
  return re.set(t, s), s;
86
86
  }
87
- function Yl() {
87
+ function Jl() {
88
88
  let e = !1;
89
89
  return W(async () => {
90
- await Je(), e && De();
90
+ await Je(), e && Te();
91
91
  }), ve(() => {
92
- e || (e = !0, De());
92
+ e || (e = !0, Te());
93
93
  }), vt(me);
94
94
  }
95
95
  function Ut(e, n) {
@@ -99,18 +99,18 @@ function Ut(e, n) {
99
99
  await s();
100
100
  });
101
101
  async function s() {
102
- const u = ++l, m = e.value;
103
- if (!m) {
102
+ const u = ++l, f = e.value;
103
+ if (!f) {
104
104
  t.value = "";
105
105
  return;
106
106
  }
107
- const f = await Ht(m, n.value);
108
- u === l && !a && (t.value = f);
107
+ const m = await Ht(f, n.value);
108
+ u === l && !a && (t.value = m);
109
109
  }
110
110
  return W(async () => {
111
111
  await Je(), a || await s();
112
112
  }), ve(() => {
113
- a = !0, Pt(o), De();
113
+ a = !0, Pt(o), Te();
114
114
  }), Q([e, n], s), { fuente: t, mirarElemento: (u) => jt(o, u) };
115
115
  }
116
116
  const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
@@ -168,8 +168,8 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
168
168
  "aria-expanded": t.value,
169
169
  onClick: l[0] || (l[0] = (o) => t.value = !t.value)
170
170
  }, [
171
- B("span", null, M(e.title), 1),
172
- O(N, {
171
+ B("span", null, V(e.title), 1),
172
+ j(N, {
173
173
  name: "pan-down-symbolic",
174
174
  type: "symbol",
175
175
  size: 12,
@@ -220,10 +220,10 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
220
220
  key: 0,
221
221
  name: e.icon,
222
222
  size: 20
223
- }, null, 8, ["name"])) : (i(), r("span", Xt, M(e.label.charAt(0).toUpperCase()), 1))
223
+ }, null, 8, ["name"])) : (i(), r("span", Xt, V(e.label.charAt(0).toUpperCase()), 1))
224
224
  ], 2),
225
- e.collapsed ? x("", !0) : (i(), r("span", Jt, M(e.label), 1)),
226
- !e.collapsed && e.badge !== "" ? (i(), r("span", Zt, M(e.badge), 1)) : x("", !0)
225
+ e.collapsed ? x("", !0) : (i(), r("span", Jt, V(e.label), 1)),
226
+ !e.collapsed && e.badge !== "" ? (i(), r("span", Zt, V(e.badge), 1)) : x("", !0)
227
227
  ], 10, Yt));
228
228
  }
229
229
  }), _t = {
@@ -255,8 +255,8 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
255
255
  emits: ["update:modelValue", "update:collapsed", "change"],
256
256
  setup(e, { expose: n, emit: t }) {
257
257
  const a = e, l = t, o = w(a.collapsed ?? !1), s = w(!1);
258
- let u = null, m = null;
259
- const f = v(() => s.value || o.value), d = v(() => !!(a.title || a.subtitle));
258
+ let u = null, f = null;
259
+ const m = v(() => s.value || o.value), d = v(() => !!(a.title || a.subtitle));
260
260
  v(() => a.categories.length > 0);
261
261
  function E() {
262
262
  return document.documentElement?.clientWidth || window.innerWidth;
@@ -276,45 +276,45 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
276
276
  $ !== void 0 && (o.value = $);
277
277
  }
278
278
  ), W(() => {
279
- u = window.matchMedia(`(max-width: ${Ne}px)`), L(), u.addEventListener("change", L), window.addEventListener("resize", L), typeof ResizeObserver < "u" && document.documentElement && (m = new ResizeObserver(L), m.observe(document.documentElement));
279
+ u = window.matchMedia(`(max-width: ${Ne}px)`), L(), u.addEventListener("change", L), window.addEventListener("resize", L), typeof ResizeObserver < "u" && document.documentElement && (f = new ResizeObserver(L), f.observe(document.documentElement));
280
280
  }), pe(() => {
281
- u?.removeEventListener("change", L), window.removeEventListener("resize", L), m?.disconnect(), m = null;
282
- }), n({ collapsed: f }), ($, j) => (i(), r("aside", {
283
- class: y(["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"]])
281
+ u?.removeEventListener("change", L), window.removeEventListener("resize", L), f?.disconnect(), f = null;
282
+ }), n({ collapsed: m }), ($, P) => (i(), r("aside", {
283
+ class: y(["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]", m.value ? "md:w-[84px]" : "md:w-72"]])
284
284
  }, [
285
285
  d.value || $.$slots.header ? (i(), r("header", _t, [
286
286
  B("div", ea, [
287
287
  B("button", {
288
288
  type: "button",
289
289
  class: y(Fe),
290
- "aria-label": f.value ? e.expandLabel : e.collapseLabel,
291
- "aria-expanded": !f.value,
290
+ "aria-label": m.value ? e.expandLabel : e.collapseLabel,
291
+ "aria-expanded": !m.value,
292
292
  onClick: A
293
293
  }, [
294
- O(N, {
295
- name: f.value ? "pan-end-symbolic" : "pan-start-symbolic",
294
+ j(N, {
295
+ name: m.value ? "pan-end-symbolic" : "pan-start-symbolic",
296
296
  type: "symbol",
297
297
  size: 16
298
298
  }, null, 8, ["name"])
299
299
  ], 8, ta),
300
- d.value && !f.value ? (i(), r("div", aa, [
301
- e.title ? (i(), r("p", na, M(e.title), 1)) : x("", !0),
302
- e.subtitle ? (i(), r("p", la, M(e.subtitle), 1)) : x("", !0)
300
+ d.value && !m.value ? (i(), r("div", aa, [
301
+ e.title ? (i(), r("p", na, V(e.title), 1)) : x("", !0),
302
+ e.subtitle ? (i(), r("p", la, V(e.subtitle), 1)) : x("", !0)
303
303
  ])) : x("", !0)
304
304
  ]),
305
- $.$slots.header && !f.value ? (i(), r("div", oa, [
306
- S($.$slots, "header", { collapsed: f.value })
305
+ $.$slots.header && !m.value ? (i(), r("div", oa, [
306
+ S($.$slots, "header", { collapsed: m.value })
307
307
  ])) : x("", !0)
308
308
  ])) : (i(), r("div", ia, [
309
309
  B("button", {
310
310
  type: "button",
311
311
  class: y(Fe),
312
- "aria-label": f.value ? e.expandLabel : e.collapseLabel,
313
- "aria-expanded": !f.value,
312
+ "aria-label": m.value ? e.expandLabel : e.collapseLabel,
313
+ "aria-expanded": !m.value,
314
314
  onClick: A
315
315
  }, [
316
- O(N, {
317
- name: f.value ? "pan-end-symbolic" : "pan-start-symbolic",
316
+ j(N, {
317
+ name: m.value ? "pan-end-symbolic" : "pan-start-symbolic",
318
318
  type: "symbol",
319
319
  size: 16
320
320
  }, null, 8, ["name"])
@@ -324,7 +324,7 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
324
324
  (i(!0), r(te, null, ue(e.categories, (C) => (i(), U(Ze, {
325
325
  key: C.id,
326
326
  title: C.title,
327
- collapsed: f.value
327
+ collapsed: m.value
328
328
  }, {
329
329
  default: G(() => [
330
330
  (i(!0), r(te, null, ue(C.items, (h) => (i(), U(_e, {
@@ -333,14 +333,14 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
333
333
  icon: h.icon,
334
334
  badge: h.badge,
335
335
  disabled: h.disabled,
336
- collapsed: f.value,
336
+ collapsed: m.value,
337
337
  active: e.modelValue === h.id,
338
338
  onClick: (c) => g(h.id)
339
339
  }, null, 8, ["label", "icon", "badge", "disabled", "collapsed", "active", "onClick"]))), 128))
340
340
  ]),
341
341
  _: 2
342
342
  }, 1032, ["title", "collapsed"]))), 128)),
343
- S($.$slots, "default", { collapsed: f.value })
343
+ S($.$slots, "default", { collapsed: m.value })
344
344
  ])
345
345
  ], 2));
346
346
  }
@@ -357,30 +357,30 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
357
357
  }),
358
358
  emits: /* @__PURE__ */ Re(["change"], ["update:modelValue"]),
359
359
  setup(e, { emit: n }) {
360
- const t = e, a = Ae(), l = yt(), o = v(() => a.id ?? l), s = n, [u, m] = gt(e, "modelValue", {
361
- set(f) {
362
- return m.number ? Number(f) : f;
360
+ const t = e, a = Be(), l = yt(), o = v(() => a.id ?? l), s = n, [u, f] = gt(e, "modelValue", {
361
+ set(m) {
362
+ return f.number ? Number(m) : m;
363
363
  }
364
364
  });
365
- return (f, d) => (i(), r("div", ca, [
365
+ return (m, d) => (i(), r("div", ca, [
366
366
  t.label ? (i(), r("label", {
367
367
  key: 0,
368
368
  for: o.value,
369
369
  class: "text-tx-muted text-xs"
370
- }, M(t.label), 9, da)) : x("", !0),
370
+ }, V(t.label), 9, da)) : x("", !0),
371
371
  B("div", fa, [
372
- Be(B("select", ce({
372
+ Se(B("select", ce({
373
373
  id: o.value,
374
374
  "onUpdate:modelValue": d[0] || (d[0] = (E) => ht(u) ? u.value = E : null),
375
375
  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"
376
376
  }, F(a), {
377
377
  onChange: d[1] || (d[1] = (E) => s("change", E))
378
378
  }), [
379
- S(f.$slots, "default")
379
+ S(m.$slots, "default")
380
380
  ], 16, ma), [
381
381
  [xt, F(u)]
382
382
  ]),
383
- O(N, {
383
+ j(N, {
384
384
  name: "pan-down-symbolic",
385
385
  type: "symbol",
386
386
  size: 14,
@@ -390,7 +390,7 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
390
390
  ]));
391
391
  }
392
392
  }), Me = /* @__PURE__ */ Symbol("barra de vasak");
393
- function Te(e) {
393
+ function Ae(e) {
394
394
  return e === "left" || e === "right" ? "vertical" : "horizontal";
395
395
  }
396
396
  const va = ["top", "bottom", "left", "right"];
@@ -403,8 +403,8 @@ function he() {
403
403
  const n = w("top");
404
404
  return {
405
405
  posicion: n,
406
- orientacion: v(() => Te(n.value)),
407
- vertical: v(() => Te(n.value) === "vertical")
406
+ orientacion: v(() => Ae(n.value)),
407
+ vertical: v(() => Ae(n.value) === "vertical")
408
408
  };
409
409
  }
410
410
  const Ve = ["minimize", "maximize", "close"], ya = "window", ga = "barPosition";
@@ -447,7 +447,7 @@ function et(e) {
447
447
  }
448
448
  return t;
449
449
  }
450
- const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title", "aria-label"], ze = "flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors", tt = /* @__PURE__ */ D({
450
+ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title", "aria-label"], Ee = "flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors", tt = /* @__PURE__ */ D({
451
451
  __name: "WindowControls",
452
452
  props: {
453
453
  controls: { default: () => Ve },
@@ -457,7 +457,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
457
457
  },
458
458
  emits: ["minimize", "maximize", "close"],
459
459
  setup(e, { emit: n }) {
460
- 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(() => ({
460
+ 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: f } = he(), m = v(() => ({
461
461
  minimize: t.controls.includes("minimize"),
462
462
  maximize: t.controls.includes("maximize"),
463
463
  close: t.controls.includes("close")
@@ -466,8 +466,8 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
466
466
  return At();
467
467
  }
468
468
  const E = Ge();
469
- function L(j) {
470
- return !!E?.vnode.props?.[`on${j}`];
469
+ function L(P) {
470
+ return !!E?.vnode.props?.[`on${P}`];
471
471
  }
472
472
  function A() {
473
473
  if (L("Minimize")) return u("minimize");
@@ -481,48 +481,48 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
481
481
  if (L("Close")) return u("close");
482
482
  d().close();
483
483
  }
484
- return (j, C) => e.controls.length ? (i(), r("div", {
484
+ return (P, C) => e.controls.length ? (i(), r("div", {
485
485
  key: 0,
486
- class: y(["flex shrink-0 gap-1", F(m) ? "flex-col" : ""]),
486
+ class: y(["flex shrink-0 gap-1", F(f) ? "flex-col" : ""]),
487
487
  "data-tauri-drag-region": ""
488
488
  }, [
489
- f.value.minimize ? (i(), r("button", {
489
+ m.value.minimize ? (i(), r("button", {
490
490
  key: 0,
491
491
  type: "button",
492
- class: y([ze, "hover:bg-status-success"]),
492
+ class: y([Ee, "hover:bg-status-success"]),
493
493
  title: l.value,
494
494
  "aria-label": l.value,
495
495
  onClick: C[0] || (C[0] = (h) => A())
496
496
  }, [
497
- O(N, {
497
+ j(N, {
498
498
  name: "window-minimize",
499
499
  type: "symbol",
500
500
  size: 24
501
501
  })
502
502
  ], 10, wa)) : x("", !0),
503
- f.value.maximize ? (i(), r("button", {
503
+ m.value.maximize ? (i(), r("button", {
504
504
  key: 1,
505
505
  type: "button",
506
- class: y([ze, "hover:bg-status-warning"]),
506
+ class: y([Ee, "hover:bg-status-warning"]),
507
507
  title: o.value,
508
508
  "aria-label": o.value,
509
509
  onClick: C[1] || (C[1] = (h) => g())
510
510
  }, [
511
- O(N, {
511
+ j(N, {
512
512
  name: "window-maximize",
513
513
  type: "symbol",
514
514
  size: 24
515
515
  })
516
516
  ], 10, ka)) : x("", !0),
517
- f.value.close ? (i(), r("button", {
517
+ m.value.close ? (i(), r("button", {
518
518
  key: 2,
519
519
  type: "button",
520
- class: y([ze, "hover:bg-status-error"]),
520
+ class: y([Ee, "hover:bg-status-error"]),
521
521
  title: s.value,
522
522
  "aria-label": s.value,
523
523
  onClick: C[2] || (C[2] = (h) => $())
524
524
  }, [
525
- O(N, {
525
+ j(N, {
526
526
  name: "window-close",
527
527
  type: "symbol",
528
528
  size: 24
@@ -564,7 +564,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
564
564
  ])) : x("", !0),
565
565
  (o.$slots.titulo || e.title) && !l.value ? (i(), r("p", za, [
566
566
  S(o.$slots, "titulo", {}, () => [
567
- Se(M(e.title), 1)
567
+ ke(V(e.title), 1)
568
568
  ])
569
569
  ])) : x("", !0),
570
570
  B("div", {
@@ -579,7 +579,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
579
579
  }, [
580
580
  S(o.$slots, "acciones")
581
581
  ], 2)) : x("", !0),
582
- O(tt, ce({
582
+ j(tt, ce({
583
583
  controls: e.controls,
584
584
  "minimize-label": e.minimizeLabel,
585
585
  "maximize-label": e.maximizeLabel,
@@ -610,7 +610,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
610
610
  },
611
611
  emits: ["minimize", "maximize", "close"],
612
612
  setup(e) {
613
- const n = e, t = xa(), a = v(() => n.position ?? t.value), l = v(() => Te(a.value)), o = v(() => l.value === "vertical");
613
+ const n = e, t = xa(), a = v(() => n.position ?? t.value), l = v(() => Ae(a.value)), o = v(() => l.value === "vertical");
614
614
  ye(Me, { posicion: a, orientacion: l, vertical: o });
615
615
  const s = {
616
616
  top: "flex-col",
@@ -618,7 +618,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
618
618
  left: "flex-row",
619
619
  right: "flex-row-reverse"
620
620
  };
621
- return (u, m) => (i(), r("div", {
621
+ return (u, f) => (i(), r("div", {
622
622
  class: y(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80", s[a.value]])
623
623
  }, [
624
624
  e.hideBar ? x("", !0) : (i(), U(at, ce({
@@ -690,16 +690,16 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
690
690
  },
691
691
  emits: ["select", "close", "menu", "mover", "navegar"],
692
692
  setup(e, { emit: n }) {
693
- 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), E = w({ top: 0, left: 0, right: 0 });
693
+ const t = e, a = n, { vertical: l, posicion: o } = he(), s = w(null), u = w(null), f = w(!1), m = w(!1), d = w(!1), E = w({ top: 0, left: 0, right: 0 });
694
694
  let L = null, A = null;
695
- const g = v(() => t.tab.closable !== !1), $ = v(() => t.tab.tooltip ?? t.tab.label), j = v(
695
+ const g = v(() => t.tab.closable !== !1), $ = v(() => t.tab.tooltip ?? t.tab.label), P = v(
696
696
  () => t.tab.dirty ? `${t.tab.label} · ${t.dirtyLabel}` : t.tab.label
697
- ), C = v(() => t.tab.label.trim().charAt(0).toUpperCase()), h = v(() => m.value || d.value), c = v(
697
+ ), C = v(() => t.tab.label.trim().charAt(0).toUpperCase()), h = v(() => f.value || d.value), c = v(
698
698
  () => !!t.tab.dirty && !(h.value && g.value)
699
699
  ), b = v(
700
700
  () => g.value && (h.value || t.active || !t.tab.dirty)
701
701
  ), p = v(
702
- () => l.value && (m.value || f.value || d.value)
702
+ () => l.value && (f.value || m.value || d.value)
703
703
  ), R = v(() => {
704
704
  const q = { position: "fixed", top: `${E.value.top}px`, zIndex: 50 };
705
705
  return o.value === "right" ? { ...q, right: `${E.value.right + He}px` } : { ...q, left: `${E.value.left + He}px` };
@@ -719,10 +719,10 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
719
719
  k && u.value?.contains(k) || (d.value = !1);
720
720
  }
721
721
  function oe() {
722
- m.value = !0, le();
722
+ f.value = !0, le();
723
723
  }
724
724
  function Y() {
725
- f.value = !0, le();
725
+ m.value = !0, le();
726
726
  }
727
727
  function T() {
728
728
  L !== null && clearTimeout(L), L = null, A = null;
@@ -732,7 +732,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
732
732
  A && a("menu", A), T();
733
733
  }, Ia));
734
734
  }
735
- function I(q) {
735
+ function O(q) {
736
736
  if (!A) return;
737
737
  (Math.abs(q.clientX - A.x) > qe || Math.abs(q.clientY - A.y) > qe) && T();
738
738
  }
@@ -752,42 +752,42 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
752
752
  role: "tab",
753
753
  "aria-selected": e.active,
754
754
  title: $.value,
755
- "aria-label": j.value,
755
+ "aria-label": P.value,
756
756
  tabindex: e.tabindex,
757
- onClick: k[5] || (k[5] = V((H) => a("select"), ["stop"])),
757
+ onClick: k[5] || (k[5] = M((H) => a("select"), ["stop"])),
758
758
  onKeydown: [
759
- k[6] || (k[6] = P(V((H) => a("select"), ["stop"]), ["enter"])),
760
- k[7] || (k[7] = P(V((H) => a("select"), ["prevent", "stop"]), ["space"])),
761
- k[8] || (k[8] = P(V((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
762
- k[9] || (k[9] = P(V((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
763
- k[10] || (k[10] = P(V((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
764
- k[11] || (k[11] = P(V((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
765
- k[12] || (k[12] = P(V((H) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
766
- k[13] || (k[13] = P(V((H) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
767
- k[14] || (k[14] = P(V((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
768
- k[15] || (k[15] = P(V((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
769
- k[16] || (k[16] = P(V((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
770
- k[17] || (k[17] = P(V((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
771
- k[18] || (k[18] = P(V((H) => g.value && a("close"), ["prevent", "stop"]), ["delete"]))
759
+ k[6] || (k[6] = I(M((H) => a("select"), ["stop"]), ["enter"])),
760
+ k[7] || (k[7] = I(M((H) => a("select"), ["prevent", "stop"]), ["space"])),
761
+ k[8] || (k[8] = I(M((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
762
+ k[9] || (k[9] = I(M((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
763
+ k[10] || (k[10] = I(M((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
764
+ k[11] || (k[11] = I(M((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
765
+ k[12] || (k[12] = I(M((H) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
766
+ k[13] || (k[13] = I(M((H) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
767
+ k[14] || (k[14] = I(M((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
768
+ k[15] || (k[15] = I(M((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
769
+ k[16] || (k[16] = I(M((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
770
+ k[17] || (k[17] = I(M((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
771
+ k[18] || (k[18] = I(M((H) => g.value && a("close"), ["prevent", "stop"]), ["delete"]))
772
772
  ],
773
- onAuxclick: V(de, ["stop"]),
773
+ onAuxclick: M(de, ["stop"]),
774
774
  onContextmenu: bt,
775
775
  onPointerdown: z,
776
- onPointermove: I,
776
+ onPointermove: O,
777
777
  onPointerup: T,
778
778
  onPointerleave: T,
779
779
  onMouseenter: oe,
780
- onMouseleave: k[19] || (k[19] = (H) => m.value = !1),
780
+ onMouseleave: k[19] || (k[19] = (H) => f.value = !1),
781
781
  onFocus: Y,
782
- onBlur: k[20] || (k[20] = (H) => f.value = !1)
782
+ onBlur: k[20] || (k[20] = (H) => m.value = !1)
783
783
  }, [
784
784
  e.tab.icon ? (i(), U(N, {
785
785
  key: 0,
786
786
  name: e.tab.icon,
787
787
  size: 16,
788
788
  class: "shrink-0"
789
- }, null, 8, ["name"])) : F(l) ? (i(), r("span", Ta, M(C.value), 1)) : x("", !0),
790
- F(l) ? x("", !0) : (i(), r("span", Aa, M(e.tab.label), 1)),
789
+ }, null, 8, ["name"])) : F(l) ? (i(), r("span", Ta, V(C.value), 1)) : x("", !0),
790
+ F(l) ? x("", !0) : (i(), r("span", Aa, V(e.tab.label), 1)),
791
791
  c.value ? (i(), r("span", {
792
792
  key: 3,
793
793
  class: y(["size-2 shrink-0 rounded-full bg-current", F(l) ? "absolute right-0.5 top-0.5" : ""]),
@@ -797,17 +797,17 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
797
797
  type: "button",
798
798
  class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
799
799
  title: e.closeLabel,
800
- "aria-label": `${e.closeLabel}: ${j.value}`,
801
- onClick: k[0] || (k[0] = V((H) => a("close"), ["stop"]))
800
+ "aria-label": `${e.closeLabel}: ${P.value}`,
801
+ onClick: k[0] || (k[0] = M((H) => a("close"), ["stop"]))
802
802
  }, [
803
- O(N, {
803
+ j(N, {
804
804
  name: "gtk-close",
805
805
  type: "symbol",
806
806
  size: 12
807
807
  })
808
808
  ], 8, Ba)) : x("", !0),
809
809
  (i(), U(ge, { to: "body" }, [
810
- O(ke, {
810
+ j($e, {
811
811
  "enter-active-class": "transition duration-150 ease-out",
812
812
  "enter-from-class": "opacity-0 scale-95",
813
813
  "leave-active-class": "transition duration-100 ease-in",
@@ -825,17 +825,17 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
825
825
  onFocusin: k[4] || (k[4] = (H) => d.value = !0),
826
826
  onFocusout: K
827
827
  }, [
828
- B("span", Sa, M(e.tab.label), 1),
828
+ B("span", Sa, V(e.tab.label), 1),
829
829
  e.tab.dirty ? (i(), r("span", Ma)) : x("", !0),
830
830
  g.value ? (i(), r("button", {
831
831
  key: 1,
832
832
  type: "button",
833
833
  class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
834
834
  title: e.closeLabel,
835
- "aria-label": `${e.closeLabel}: ${j.value}`,
836
- onClick: k[1] || (k[1] = V((H) => a("close"), ["stop"]))
835
+ "aria-label": `${e.closeLabel}: ${P.value}`,
836
+ onClick: k[1] || (k[1] = M((H) => a("close"), ["stop"]))
837
837
  }, [
838
- O(N, {
838
+ j(N, {
839
839
  name: "gtk-close",
840
840
  type: "symbol",
841
841
  size: 12
@@ -860,8 +860,8 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
860
860
  },
861
861
  emits: ["update:modelValue", "select", "close", "new", "reorder", "menu"],
862
862
  setup(e, { emit: n }) {
863
- const t = e, a = n, { vertical: l } = he(), o = w(null), s = w(0), u = w(null), m = w(null);
864
- function f(h) {
863
+ const t = e, a = n, { vertical: l } = he(), o = w(null), s = w(0), u = w(null), f = w(null);
864
+ function m(h) {
865
865
  a("update:modelValue", h), a("select", h);
866
866
  }
867
867
  async function d(h, c) {
@@ -887,16 +887,16 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
887
887
  t.fixedOrder || (u.value = h, c.dataTransfer?.setData("text/plain", String(h)), c.dataTransfer && (c.dataTransfer.effectAllowed = "move"));
888
888
  }
889
889
  function g(h, c) {
890
- t.fixedOrder || u.value === null || (c.preventDefault(), m.value = h, c.dataTransfer && (c.dataTransfer.dropEffect = "move"));
890
+ t.fixedOrder || u.value === null || (c.preventDefault(), f.value = h, c.dataTransfer && (c.dataTransfer.dropEffect = "move"));
891
891
  }
892
892
  function $(h) {
893
893
  const c = u.value;
894
- if (j(), t.fixedOrder || c === null || c === h) return;
894
+ if (P(), t.fixedOrder || c === null || c === h) return;
895
895
  const b = [...t.tabs], [p] = b.splice(c, 1);
896
896
  p && (b.splice(h, 0, p), a("reorder", b));
897
897
  }
898
- function j() {
899
- u.value = null, m.value = null;
898
+ function P() {
899
+ u.value = null, f.value = null;
900
900
  }
901
901
  const C = v(
902
902
  () => 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"
@@ -916,21 +916,21 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
916
916
  key: b.id,
917
917
  class: y(["transition-opacity", [
918
918
  u.value === p ? "opacity-40" : "",
919
- m.value === p && u.value !== p ? "ring-2 ring-secondary rounded-corner" : ""
919
+ f.value === p && u.value !== p ? "ring-2 ring-secondary rounded-corner" : ""
920
920
  ]]),
921
921
  draggable: !e.fixedOrder,
922
922
  onDragstart: (R) => A(p, R),
923
923
  onDragover: (R) => g(p, R),
924
- onDrop: V((R) => $(p), ["prevent"]),
925
- onDragend: j
924
+ onDrop: M((R) => $(p), ["prevent"]),
925
+ onDragend: P
926
926
  }, [
927
- O(nt, {
927
+ j(nt, {
928
928
  tab: b,
929
929
  active: b.id === e.modelValue,
930
930
  "close-label": e.closeLabel,
931
931
  "dirty-label": e.dirtyLabel,
932
932
  tabindex: p === s.value ? 0 : -1,
933
- onSelect: (R) => f(b.id),
933
+ onSelect: (R) => m(b.id),
934
934
  onClose: (R) => a("close", b.id),
935
935
  onMenu: (R) => a("menu", { id: b.id, ...R }),
936
936
  onNavegar: (R) => d(p, R),
@@ -946,7 +946,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
946
946
  "aria-label": e.newLabel,
947
947
  onClick: c[0] || (c[0] = (b) => a("new"))
948
948
  }, [
949
- O(N, {
949
+ j(N, {
950
950
  name: "gtk-add",
951
951
  type: "symbol",
952
952
  size: 14
@@ -981,11 +981,11 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
981
981
  a.lazy && l("update:modelValue", d.target.value);
982
982
  }
983
983
  const u = w(null);
984
- function m() {
984
+ function f() {
985
985
  return u.value?.focus(), u.value !== null && document.activeElement === u.value;
986
986
  }
987
- n({ enfocar: m });
988
- const f = v(() => [
987
+ n({ enfocar: f });
988
+ const m = v(() => [
989
989
  "w-full rounded-corner border bg-ui-surface/70 px-3 py-1.5 text-sm text-tx-main",
990
990
  "placeholder:text-tx-muted focus:outline-none focus:ring-1 focus:ring-primary",
991
991
  a.invalid ? "border-status-error" : "border-ui-border",
@@ -1006,7 +1006,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1006
1006
  "aria-describedby": e.describedBy,
1007
1007
  autocomplete: e.autocomplete,
1008
1008
  "aria-invalid": e.invalid || void 0,
1009
- class: y(f.value),
1009
+ class: y(m.value),
1010
1010
  onInput: o,
1011
1011
  onChange: s,
1012
1012
  onKeyup: E[0] || (E[0] = (L) => l("keyup", L)),
@@ -1032,7 +1032,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1032
1032
  setup(e, { expose: n, emit: t }) {
1033
1033
  const a = e, l = t, o = w(null);
1034
1034
  let s;
1035
- const u = v(() => a.modelValue.length > 0), m = v(
1035
+ const u = v(() => a.modelValue.length > 0), f = v(
1036
1036
  () => a.listboxId ? {
1037
1037
  role: "combobox",
1038
1038
  "aria-autocomplete": "list",
@@ -1040,7 +1040,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1040
1040
  "aria-expanded": String(a.expanded),
1041
1041
  "aria-activedescendant": a.activeOptionId || void 0
1042
1042
  } : {}
1043
- ), f = v(() => a.clearable && u.value && !a.disabled);
1043
+ ), m = v(() => a.clearable && u.value && !a.disabled);
1044
1044
  function d() {
1045
1045
  clearTimeout(s), s = void 0;
1046
1046
  }
@@ -1063,41 +1063,41 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1063
1063
  ($) => {
1064
1064
  $ && d();
1065
1065
  }
1066
- ), ($, j) => (i(), r("div", {
1066
+ ), ($, P) => (i(), r("div", {
1067
1067
  class: "relative flex items-center",
1068
- onKeydown: P(L, ["enter"])
1068
+ onKeydown: I(L, ["enter"])
1069
1069
  }, [
1070
1070
  B("span", Na, [
1071
- O(N, {
1071
+ j(N, {
1072
1072
  name: e.busy ? "content-loading" : "system-search",
1073
1073
  type: "symbol",
1074
1074
  size: 14,
1075
1075
  class: y(e.busy ? "animate-spin opacity-70" : "opacity-60")
1076
1076
  }, null, 8, ["name", "class"])
1077
1077
  ]),
1078
- O(lt, ce({
1078
+ j(lt, ce({
1079
1079
  ref_key: "campo",
1080
1080
  ref: o,
1081
1081
  type: "search",
1082
1082
  "model-value": e.modelValue,
1083
1083
  placeholder: e.placeholder || e.label,
1084
1084
  ariaLabel: e.label || void 0
1085
- }, m.value, {
1085
+ }, f.value, {
1086
1086
  disabled: e.disabled,
1087
- class: ["pl-7 [&::-webkit-search-cancel-button]:appearance-none", f.value ? "pr-8" : ""],
1087
+ class: ["pl-7 [&::-webkit-search-cancel-button]:appearance-none", m.value ? "pr-8" : ""],
1088
1088
  "onUpdate:modelValue": E,
1089
- onKeydown: j[0] || (j[0] = (C) => l("keydown", C))
1089
+ onKeydown: P[0] || (P[0] = (C) => l("keydown", C))
1090
1090
  }), null, 16, ["model-value", "placeholder", "ariaLabel", "disabled", "class"]),
1091
- f.value ? (i(), r("button", {
1091
+ m.value ? (i(), r("button", {
1092
1092
  key: 0,
1093
1093
  type: "button",
1094
1094
  class: "absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface",
1095
1095
  "aria-label": e.label ? `${e.label}: vaciar` : "Vaciar",
1096
- onMousedown: j[1] || (j[1] = V(() => {
1096
+ onMousedown: P[1] || (P[1] = M(() => {
1097
1097
  }, ["prevent"])),
1098
1098
  onClick: A
1099
1099
  }, [
1100
- O(N, {
1100
+ j(N, {
1101
1101
  name: "gtk-close",
1102
1102
  type: "symbol",
1103
1103
  size: 12,
@@ -1118,8 +1118,8 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1118
1118
  },
1119
1119
  emits: ["update:modelValue", "search", "open", "close"],
1120
1120
  setup(e, { emit: n }) {
1121
- 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(() => {
1122
- if (!m.value) return "";
1121
+ const t = e, a = n, { vertical: l, posicion: o } = he(), s = w(!1), u = w(null), f = v(() => l.value || t.collapsed), m = v(() => !f.value || s.value), d = v(() => {
1122
+ if (!f.value) return "";
1123
1123
  const g = "absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";
1124
1124
  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`;
1125
1125
  });
@@ -1137,29 +1137,29 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1137
1137
  class: "relative flex shrink-0 items-center",
1138
1138
  onFocusout: A
1139
1139
  }, [
1140
- m.value ? (i(), r("button", {
1140
+ f.value ? (i(), r("button", {
1141
1141
  key: 0,
1142
1142
  type: "button",
1143
1143
  class: "flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",
1144
1144
  title: e.label,
1145
1145
  "aria-label": e.label,
1146
1146
  "aria-expanded": s.value,
1147
- onMousedown: $[0] || ($[0] = V(() => {
1147
+ onMousedown: $[0] || ($[0] = M(() => {
1148
1148
  }, ["prevent"])),
1149
- onClick: $[1] || ($[1] = (j) => s.value ? L() : E())
1149
+ onClick: $[1] || ($[1] = (P) => s.value ? L() : E())
1150
1150
  }, [
1151
- O(N, {
1151
+ j(N, {
1152
1152
  name: "system-search",
1153
1153
  type: "symbol",
1154
1154
  size: 14
1155
1155
  })
1156
1156
  ], 40, Ha)) : x("", !0),
1157
- f.value ? (i(), r("div", {
1157
+ m.value ? (i(), r("div", {
1158
1158
  key: 1,
1159
1159
  class: y(d.value),
1160
- onKeydown: P(L, ["esc"])
1160
+ onKeydown: I(L, ["esc"])
1161
1161
  }, [
1162
- O(Ie, {
1162
+ j(Ie, {
1163
1163
  ref_key: "campo",
1164
1164
  ref: u,
1165
1165
  "model-value": e.modelValue,
@@ -1167,9 +1167,9 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1167
1167
  label: e.label,
1168
1168
  disabled: e.disabled,
1169
1169
  debounce: e.debounce,
1170
- class: y(m.value ? "" : "w-48"),
1171
- "onUpdate:modelValue": $[2] || ($[2] = (j) => a("update:modelValue", j)),
1172
- onSearch: $[3] || ($[3] = (j) => a("search", j))
1170
+ class: y(f.value ? "" : "w-48"),
1171
+ "onUpdate:modelValue": $[2] || ($[2] = (P) => a("update:modelValue", P)),
1172
+ onSearch: $[3] || ($[3] = (P) => a("search", P))
1173
1173
  }, null, 8, ["model-value", "placeholder", "label", "disabled", "debounce", "class"])
1174
1174
  ], 34)) : x("", !0)
1175
1175
  ], 32));
@@ -1207,7 +1207,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1207
1207
  }, s = (u) => {
1208
1208
  t.stopPropagation && u.stopPropagation(), t.preventDefault && u.preventDefault(), !t.disabled && !t.loading && a("click");
1209
1209
  };
1210
- return (u, m) => (i(), r("button", {
1210
+ return (u, f) => (i(), r("button", {
1211
1211
  type: t.type,
1212
1212
  onClick: s,
1213
1213
  class: y(["rounded-corner transition-[background-color,opacity] duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2", [
@@ -1226,7 +1226,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
1226
1226
  alt: t.iconAlt || t.label,
1227
1227
  class: "w-4 h-4"
1228
1228
  }, null, 8, Ga)) : x("", !0),
1229
- t.label ? (i(), r("span", Qa, M(t.label), 1)) : x("", !0),
1229
+ t.label ? (i(), r("span", Qa, V(t.label), 1)) : x("", !0),
1230
1230
  t.iconSrc && t.iconRight ? (i(), r("img", {
1231
1231
  key: 3,
1232
1232
  src: t.iconSrc,
@@ -1271,7 +1271,7 @@ const Za = ["role"], _a = {
1271
1271
  class: y(["flex gap-3 rounded-corner border px-4 py-2 text-sm", t.value])
1272
1272
  }, [
1273
1273
  e.icon ? (i(), r("span", _a, [
1274
- O(N, {
1274
+ j(N, {
1275
1275
  name: e.icon,
1276
1276
  type: e.iconType,
1277
1277
  size: 18,
@@ -1279,7 +1279,7 @@ const Za = ["role"], _a = {
1279
1279
  }, null, 8, ["name", "type"])
1280
1280
  ])) : x("", !0),
1281
1281
  B("div", en, [
1282
- e.title ? (i(), r("p", tn, M(e.title), 1)) : x("", !0),
1282
+ e.title ? (i(), r("p", tn, V(e.title), 1)) : x("", !0),
1283
1283
  B("div", {
1284
1284
  class: y(e.title ? "mt-1" : "")
1285
1285
  }, [
@@ -1304,14 +1304,14 @@ const Za = ["role"], _a = {
1304
1304
  return (n, t) => (i(), r("div", {
1305
1305
  class: y(["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" : ""])
1306
1306
  }, [
1307
- O(N, {
1307
+ j(N, {
1308
1308
  name: e.icon,
1309
1309
  type: e.iconType,
1310
1310
  size: 48,
1311
1311
  class: "opacity-60"
1312
1312
  }, null, 8, ["name", "type"]),
1313
- B("p", nn, M(e.title), 1),
1314
- e.note ? (i(), r("p", ln, M(e.note), 1)) : x("", !0),
1313
+ B("p", nn, V(e.title), 1),
1314
+ e.note ? (i(), r("p", ln, V(e.note), 1)) : x("", !0),
1315
1315
  S(n.$slots, "default")
1316
1316
  ], 2));
1317
1317
  }
@@ -1328,7 +1328,7 @@ const Za = ["role"], _a = {
1328
1328
  class: y(["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" : ""])
1329
1329
  }, [
1330
1330
  t[0] || (t[0] = B("span", { class: "h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none" }, null, -1)),
1331
- B("p", rn, M(e.label), 1)
1331
+ B("p", rn, V(e.label), 1)
1332
1332
  ], 2));
1333
1333
  }
1334
1334
  }), un = ["role"], cn = /* @__PURE__ */ D({
@@ -1345,7 +1345,7 @@ const Za = ["role"], _a = {
1345
1345
  B("div", {
1346
1346
  class: y(["pointer-events-none fixed z-60 flex flex-col gap-2", t.value])
1347
1347
  }, [
1348
- O(kt, {
1348
+ j(kt, {
1349
1349
  "enter-active-class": "transition-all duration-300 ease-out",
1350
1350
  "leave-active-class": "transition-all duration-200 ease-in",
1351
1351
  "enter-from-class": "translate-y-2 opacity-0",
@@ -1360,7 +1360,7 @@ const Za = ["role"], _a = {
1360
1360
  class: y(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm", F(ot)[o.tone ?? "info"]])
1361
1361
  }, [
1362
1362
  S(a.$slots, "default", { aviso: o }, () => [
1363
- Se(M(o.message), 1)
1363
+ ke(V(o.message), 1)
1364
1364
  ])
1365
1365
  ], 10, un))), 128))
1366
1366
  ]),
@@ -1403,7 +1403,7 @@ const Za = ["role"], _a = {
1403
1403
  ], 8, dn));
1404
1404
  }
1405
1405
  }), bn = /[/\-_.]/;
1406
- function Ee(e, n) {
1406
+ function Le(e, n) {
1407
1407
  if (!n) return 100;
1408
1408
  const t = n.toLowerCase();
1409
1409
  return t === e ? 0 : t.startsWith(e) ? 10 : t.split(bn).some((a) => a.startsWith(e)) ? 30 : t.includes(e) ? 40 : 100;
@@ -1413,7 +1413,7 @@ function vn(e, n) {
1413
1413
  if (!t) return e;
1414
1414
  const a = [];
1415
1415
  for (let l = 0; l < e.length; l++) {
1416
- const o = e[l], s = Ee(t, o.valor), u = Ee(t, o.etiqueta), m = u === 10 ? 20 : u, d = Ee(t, o.detalle) === 100 ? 100 : 40, E = Math.min(s, m, d);
1416
+ const o = e[l], s = Le(t, o.valor), u = Le(t, o.etiqueta), f = u === 10 ? 20 : u, d = Le(t, o.detalle) === 100 ? 100 : 40, E = Math.min(s, f, d);
1417
1417
  E !== 100 && a.push({ opcion: o, rango: E, orden: l });
1418
1418
  }
1419
1419
  return a.sort((l, o) => l.rango - o.rango || l.orden - o.orden), a.map((l) => l.opcion);
@@ -1449,21 +1449,21 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1449
1449
  },
1450
1450
  emits: ["update:modelValue"],
1451
1451
  setup(e, { emit: n }) {
1452
- const t = e, a = n, l = w(""), o = w(!1), s = w(0), u = w(null), m = w(null), f = w(null), d = pn(), E = v(
1452
+ const t = e, a = n, l = w(""), o = w(!1), s = w(0), u = w(null), f = w(null), m = w(null), d = pn(), E = v(
1453
1453
  () => t.options.find((T) => T.valor === t.modelValue) ?? null
1454
1454
  ), L = v(() => vn(t.options, l.value)), A = v(() => L.value.slice(0, t.limit)), g = v(() => Math.max(0, L.value.length - t.limit)), $ = v(
1455
1455
  () => A.value.length > 0 ? `${d}-${s.value}` : void 0
1456
1456
  );
1457
- function j(T) {
1457
+ function P(T) {
1458
1458
  a("update:modelValue", T), h();
1459
1459
  }
1460
1460
  async function C() {
1461
1461
  o.value = !0;
1462
1462
  const T = A.value.findIndex((z) => z.valor === t.modelValue);
1463
- s.value = T >= 0 ? T : 0, await J(), f.value?.enfocar(), K();
1463
+ s.value = T >= 0 ? T : 0, await J(), m.value?.enfocar(), K();
1464
1464
  }
1465
1465
  function h(T = !0) {
1466
- o.value && (o.value = !1, l.value = "", T && J(() => m.value?.focus()));
1466
+ o.value && (o.value = !1, l.value = "", T && J(() => f.value?.focus()));
1467
1467
  }
1468
1468
  function c(T) {
1469
1469
  const z = A.value.length;
@@ -1475,12 +1475,12 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1475
1475
  function p(T) {
1476
1476
  const z = T.target?.closest?.("[data-indice]");
1477
1477
  if (!z) return null;
1478
- const I = Number(z.getAttribute("data-indice"));
1479
- return Number.isInteger(I) ? I : null;
1478
+ const O = Number(z.getAttribute("data-indice"));
1479
+ return Number.isInteger(O) ? O : null;
1480
1480
  }
1481
1481
  function R(T) {
1482
- const z = p(T), I = z === null ? void 0 : A.value[z];
1483
- I && j(I.valor);
1482
+ const z = p(T), O = z === null ? void 0 : A.value[z];
1483
+ O && P(O.valor);
1484
1484
  }
1485
1485
  function le(T) {
1486
1486
  const z = p(T);
@@ -1493,7 +1493,7 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1493
1493
  }
1494
1494
  function oe() {
1495
1495
  const T = A.value[s.value];
1496
- T && j(T.valor);
1496
+ T && P(T.valor);
1497
1497
  }
1498
1498
  Q(
1499
1499
  () => t.disabled,
@@ -1513,24 +1513,24 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1513
1513
  }, [
1514
1514
  B("button", {
1515
1515
  ref_key: "boton",
1516
- ref: m,
1516
+ ref: f,
1517
1517
  type: "button",
1518
1518
  disabled: e.disabled,
1519
1519
  class: "flex w-full items-center justify-between gap-2 rounded-corner border border-ui-border-strong bg-ui-surface px-2 py-1 text-left text-sm text-tx-main transition-colors hover:bg-ui-bg/60 disabled:cursor-not-allowed disabled:opacity-50",
1520
1520
  "aria-label": e.label || void 0,
1521
1521
  "aria-expanded": o.value,
1522
1522
  "aria-haspopup": "listbox",
1523
- onClick: z[0] || (z[0] = (I) => o.value ? h() : C()),
1523
+ onClick: z[0] || (z[0] = (O) => o.value ? h() : C()),
1524
1524
  onKeydown: [
1525
- z[1] || (z[1] = P(V((I) => o.value ? c(1) : C(), ["prevent"]), ["down"])),
1526
- z[2] || (z[2] = P(V((I) => o.value ? c(-1) : C(), ["prevent"]), ["up"]))
1525
+ z[1] || (z[1] = I(M((O) => o.value ? c(1) : C(), ["prevent"]), ["down"])),
1526
+ z[2] || (z[2] = I(M((O) => o.value ? c(-1) : C(), ["prevent"]), ["up"]))
1527
1527
  ]
1528
1528
  }, [
1529
1529
  B("span", gn, [
1530
- Se(M(E.value?.etiqueta ?? e.placeholder) + " ", 1),
1531
- E.value?.detalle ? (i(), r("span", hn, M(E.value.detalle), 1)) : x("", !0)
1530
+ ke(V(E.value?.etiqueta ?? e.placeholder) + " ", 1),
1531
+ E.value?.detalle ? (i(), r("span", hn, V(E.value.detalle), 1)) : x("", !0)
1532
1532
  ]),
1533
- O(N, {
1533
+ j(N, {
1534
1534
  name: "go-down",
1535
1535
  type: "symbol",
1536
1536
  size: 12,
@@ -1541,23 +1541,23 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1541
1541
  key: 0,
1542
1542
  class: y(["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"]),
1543
1543
  onKeydown: [
1544
- z[4] || (z[4] = P(V((I) => h(), ["prevent"]), ["escape"])),
1545
- z[5] || (z[5] = P(V((I) => c(1), ["prevent"]), ["down"])),
1546
- z[6] || (z[6] = P(V((I) => c(-1), ["prevent"]), ["up"])),
1547
- z[7] || (z[7] = P(V((I) => b(0), ["prevent"]), ["home"])),
1548
- z[8] || (z[8] = P(V((I) => b(A.value.length - 1), ["prevent"]), ["end"])),
1549
- z[9] || (z[9] = P(V((I) => oe(), ["prevent"]), ["enter"])),
1550
- z[10] || (z[10] = P((I) => h(!1), ["tab"]))
1544
+ z[4] || (z[4] = I(M((O) => h(), ["prevent"]), ["escape"])),
1545
+ z[5] || (z[5] = I(M((O) => c(1), ["prevent"]), ["down"])),
1546
+ z[6] || (z[6] = I(M((O) => c(-1), ["prevent"]), ["up"])),
1547
+ z[7] || (z[7] = I(M((O) => b(0), ["prevent"]), ["home"])),
1548
+ z[8] || (z[8] = I(M((O) => b(A.value.length - 1), ["prevent"]), ["end"])),
1549
+ z[9] || (z[9] = I(M((O) => oe(), ["prevent"]), ["enter"])),
1550
+ z[10] || (z[10] = I((O) => h(!1), ["tab"]))
1551
1551
  ],
1552
1552
  onClick: R,
1553
1553
  onMousemove: le
1554
1554
  }, [
1555
1555
  B("div", xn, [
1556
- O(Ie, {
1556
+ j(Ie, {
1557
1557
  ref_key: "campo",
1558
- ref: f,
1558
+ ref: m,
1559
1559
  modelValue: l.value,
1560
- "onUpdate:modelValue": z[3] || (z[3] = (I) => l.value = I),
1560
+ "onUpdate:modelValue": z[3] || (z[3] = (O) => l.value = O),
1561
1561
  label: e.label,
1562
1562
  placeholder: e.searchPlaceholder,
1563
1563
  "listbox-id": F(d),
@@ -1572,22 +1572,22 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1572
1572
  role: "listbox",
1573
1573
  class: "max-h-56 overflow-y-auto p-1"
1574
1574
  }, [
1575
- A.value.length === 0 ? (i(), r("li", kn, M(e.emptyText), 1)) : x("", !0),
1576
- (i(!0), r(te, null, ue(A.value, (I, de) => (i(), r("li", {
1575
+ A.value.length === 0 ? (i(), r("li", kn, V(e.emptyText), 1)) : x("", !0),
1576
+ (i(!0), r(te, null, ue(A.value, (O, de) => (i(), r("li", {
1577
1577
  id: `${F(d)}-${de}`,
1578
- key: I.valor,
1578
+ key: O.valor,
1579
1579
  "data-indice": de,
1580
1580
  role: "option",
1581
- "aria-selected": I.valor === e.modelValue,
1581
+ "aria-selected": O.valor === e.modelValue,
1582
1582
  class: y(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm", [
1583
1583
  de === s.value ? "bg-ui-surface" : "",
1584
- I.valor === e.modelValue ? "font-medium text-primary" : "text-tx-main"
1584
+ O.valor === e.modelValue ? "font-medium text-primary" : "text-tx-main"
1585
1585
  ]])
1586
1586
  }, [
1587
- B("span", Cn, M(I.etiqueta), 1),
1588
- I.detalle ? (i(), r("span", zn, M(I.detalle), 1)) : x("", !0)
1587
+ B("span", Cn, V(O.etiqueta), 1),
1588
+ O.detalle ? (i(), r("span", zn, V(O.detalle), 1)) : x("", !0)
1589
1589
  ], 10, $n))), 128)),
1590
- g.value > 0 ? (i(), r("li", En, "+" + M(g.value), 1)) : x("", !0)
1590
+ g.value > 0 ? (i(), r("li", En, "+" + V(g.value), 1)) : x("", !0)
1591
1591
  ], 8, wn)
1592
1592
  ], 34)) : x("", !0)
1593
1593
  ], 32));
@@ -1603,23 +1603,23 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1603
1603
  return (n, t) => (i(), r("div", {
1604
1604
  class: y(["flex flex-col gap-4 p-4 background rounded-corner", e.customClass])
1605
1605
  }, [
1606
- B("h3", Dn, M(e.icon ? `${e.icon} ${e.title}` : e.title), 1),
1606
+ B("h3", Dn, V(e.icon ? `${e.icon} ${e.title}` : e.title), 1),
1607
1607
  S(n.$slots, "default", {}, void 0, !0)
1608
1608
  ], 2));
1609
1609
  }
1610
- }), An = /* @__PURE__ */ Oe(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 = {
1610
+ }), An = /* @__PURE__ */ Oe(Tn, [["__scopeId", "data-v-45bd4eab"]]), Bn = ["role", "tabindex", "aria-label", "onKeydown"], Sn = { class: "flex items-center gap-3 flex-1 min-w-0" }, Mn = ["src", "alt"], Vn = { class: "min-w-0" }, In = { class: "font-semibold truncate" }, On = {
1611
1611
  key: 0,
1612
- class: "text-xs text-gray-400 truncate"
1613
- }, On = {
1614
- key: 1,
1615
- class: "text-xs text-gray-400 truncate"
1612
+ class: "text-xs text-tx-muted truncate"
1616
1613
  }, jn = {
1617
- key: 2,
1618
- class: "text-xs text-gray-400 flex gap-2 mt-1"
1614
+ key: 1,
1615
+ class: "text-xs text-tx-muted truncate"
1619
1616
  }, Pn = {
1617
+ key: 2,
1618
+ class: "text-xs text-tx-muted flex gap-3 mt-1 flex-wrap"
1619
+ }, Rn = ["disabled"], Fn = {
1620
1620
  key: 1,
1621
- class: "w-2 h-2 rounded-full bg-green-500"
1622
- }, Rn = /* @__PURE__ */ D({
1621
+ class: "w-2 h-2 rounded-full bg-status-success"
1622
+ }, Nn = /* @__PURE__ */ D({
1623
1623
  __name: "DeviceCard",
1624
1624
  props: {
1625
1625
  name: { default: "" },
@@ -1631,27 +1631,39 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1631
1631
  extraInfo: { default: () => [] },
1632
1632
  isConnected: { type: Boolean, default: !1 },
1633
1633
  showActionButton: { type: Boolean, default: !0 },
1634
- actionLabel: { default: "Conectar" },
1634
+ actionLabel: { default: "" },
1635
+ connectingLabel: { default: "" },
1636
+ isConnecting: { type: Boolean, default: !1 },
1635
1637
  showStatusIndicator: { type: Boolean, default: !1 },
1636
1638
  customClass: { default: "" },
1637
1639
  clickable: { type: Boolean, default: !1 }
1638
1640
  },
1639
1641
  emits: ["action", "click"],
1640
1642
  setup(e, { emit: n }) {
1641
- const t = e, a = n, l = () => {
1642
- a("action");
1643
- }, o = () => {
1644
- a("click");
1643
+ const t = e, a = (f) => typeof f == "string" ? "" : f.icon ?? "", l = (f) => typeof f == "string" ? f : f.text, o = n, s = () => {
1644
+ o("action");
1645
+ }, u = () => {
1646
+ t.clickable && o("click");
1645
1647
  };
1646
1648
  return W(() => {
1647
1649
  t.icon && !t.name && console.warn(
1648
1650
  "[DeviceCard] «icon» está obsoleto y se va en la próxima mayor: recibe una ruta ya resuelta. Usá «name» con el nombre del icono del tema, y «type» si hace falta el símbolo."
1649
1651
  );
1650
- }), (s, u) => (i(), r("div", {
1651
- class: y(["flex items-center justify-between background rounded-corner px-6 py-3 mb-4", [{ "border-l-4 border-green-500": e.isConnected }, e.customClass]]),
1652
- onClick: o
1652
+ }), (f, m) => (i(), r("div", {
1653
+ class: y(["flex items-center justify-between background rounded-corner border border-ui-border px-6 py-3 mb-4", [
1654
+ { "border-l-4 border-status-success": e.isConnected, "cursor-pointer": e.clickable },
1655
+ e.customClass
1656
+ ]]),
1657
+ role: e.clickable ? "button" : void 0,
1658
+ tabindex: e.clickable ? 0 : void 0,
1659
+ "aria-label": e.clickable ? e.title : void 0,
1660
+ onClick: u,
1661
+ onKeydown: [
1662
+ I(M(u, ["self", "prevent"]), ["enter"]),
1663
+ I(M(u, ["self", "prevent"]), ["space"])
1664
+ ]
1653
1665
  }, [
1654
- B("div", Bn, [
1666
+ B("div", Sn, [
1655
1667
  e.name ? (i(), U(N, {
1656
1668
  key: 0,
1657
1669
  name: e.name,
@@ -1663,23 +1675,36 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
1663
1675
  src: e.icon,
1664
1676
  alt: e.title,
1665
1677
  class: "h-7 w-7 shrink-0"
1666
- }, null, 8, Sn)),
1667
- B("div", Mn, [
1668
- B("div", Vn, M(e.title), 1),
1669
- e.subtitle ? (i(), r("div", In, M(e.subtitle), 1)) : x("", !0),
1670
- e.metadata ? (i(), r("div", On, M(e.metadata), 1)) : x("", !0),
1671
- e.extraInfo && e.extraInfo.length > 0 ? (i(), r("div", jn, [
1672
- (i(!0), r(te, null, ue(e.extraInfo, (m, f) => (i(), r("span", { key: f }, M(m), 1))), 128))
1678
+ }, null, 8, Mn)),
1679
+ B("div", Vn, [
1680
+ B("div", In, V(e.title), 1),
1681
+ e.subtitle ? (i(), r("div", On, V(e.subtitle), 1)) : x("", !0),
1682
+ e.metadata ? (i(), r("div", jn, V(e.metadata), 1)) : x("", !0),
1683
+ e.extraInfo.length > 0 ? (i(), r("div", Pn, [
1684
+ (i(!0), r(te, null, ue(e.extraInfo, (d, E) => (i(), r("span", {
1685
+ key: E,
1686
+ class: "inline-flex items-center gap-1"
1687
+ }, [
1688
+ a(d) ? (i(), U(N, {
1689
+ key: 0,
1690
+ name: a(d),
1691
+ type: "symbol",
1692
+ size: 14
1693
+ }, null, 8, ["name"])) : x("", !0),
1694
+ ke(" " + V(l(d)), 1)
1695
+ ]))), 128))
1673
1696
  ])) : x("", !0)
1674
1697
  ])
1675
1698
  ]),
1676
1699
  e.showActionButton ? (i(), r("button", {
1677
1700
  key: 0,
1678
- class: "bg-primary text-tx-on-primary rounded-corner px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",
1679
- onClick: V(l, ["stop"])
1680
- }, M(e.actionLabel), 1)) : x("", !0),
1681
- e.showStatusIndicator && e.isConnected ? (i(), r("div", Pn)) : x("", !0)
1682
- ], 2));
1701
+ type: "button",
1702
+ class: "bg-primary text-tx-on-primary rounded-corner px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70 disabled:opacity-50 disabled:cursor-not-allowed",
1703
+ disabled: e.isConnecting,
1704
+ onClick: M(s, ["stop"])
1705
+ }, V(e.isConnecting ? e.connectingLabel : e.actionLabel), 9, Rn)) : x("", !0),
1706
+ e.showStatusIndicator && e.isConnected ? (i(), r("div", Fn)) : x("", !0)
1707
+ ], 42, Bn));
1683
1708
  }
1684
1709
  }), rt = /* @__PURE__ */ Symbol("diálogo de vasak");
1685
1710
  function st() {
@@ -1697,10 +1722,10 @@ function st() {
1697
1722
  };
1698
1723
  }
1699
1724
  let Ke = 0;
1700
- function Fn() {
1725
+ function qn() {
1701
1726
  return Ke += 1, `vsk-dialogo-titulo-${Ke}`;
1702
1727
  }
1703
- const Nn = /* @__PURE__ */ D({
1728
+ const Hn = /* @__PURE__ */ D({
1704
1729
  __name: "Dialog",
1705
1730
  props: {
1706
1731
  open: { type: Boolean, default: !1 }
@@ -1717,10 +1742,10 @@ const Nn = /* @__PURE__ */ D({
1717
1742
  }
1718
1743
  }), (o, s) => S(o.$slots, "default");
1719
1744
  }
1720
- }), qn = {
1745
+ }), Un = {
1721
1746
  key: 0,
1722
1747
  class: "absolute inset-0 rounded-corner-window bg-ui-border-dark/40"
1723
- }, 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({
1748
+ }, Kn = ["aria-labelledby", "aria-label"], Wn = "relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg", Gn = /* @__PURE__ */ D({
1724
1749
  inheritAttrs: !1,
1725
1750
  __name: "DialogContent",
1726
1751
  props: {
@@ -1728,13 +1753,13 @@ const Nn = /* @__PURE__ */ D({
1728
1753
  ariaLabel: {}
1729
1754
  },
1730
1755
  setup(e) {
1731
- const n = e, t = Ae(), a = v(() => t.class ?? ""), l = v(() => {
1756
+ const n = e, t = Be(), a = v(() => t.class ?? ""), l = v(() => {
1732
1757
  const { class: C, ...h } = t;
1733
1758
  return h;
1734
- }), 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);
1759
+ }), o = v(() => n.size === "full" ? "relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main" : `${Wn} ${n.size === "lg" ? "max-w-2xl" : "max-w-lg"}`), s = st(), u = v(() => s.abierto.value), f = w(null), m = w(null);
1735
1760
  let d = null;
1736
1761
  function E() {
1737
- return f.value ? [...f.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')] : [];
1762
+ return m.value ? [...m.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')] : [];
1738
1763
  }
1739
1764
  function L(C) {
1740
1765
  if (C.key === "Escape") {
@@ -1744,22 +1769,22 @@ const Nn = /* @__PURE__ */ D({
1744
1769
  if (C.key !== "Tab") return;
1745
1770
  const h = E();
1746
1771
  if (h.length === 0) {
1747
- C.preventDefault(), f.value?.focus();
1772
+ C.preventDefault(), m.value?.focus();
1748
1773
  return;
1749
1774
  }
1750
1775
  const c = h[0], b = h[h.length - 1], p = document.activeElement;
1751
- C.shiftKey && (p === c || p === f.value) ? (C.preventDefault(), b.focus()) : !C.shiftKey && p === b && (C.preventDefault(), c.focus());
1776
+ C.shiftKey && (p === c || p === m.value) ? (C.preventDefault(), b.focus()) : !C.shiftKey && p === b && (C.preventDefault(), c.focus());
1752
1777
  }
1753
1778
  function A(C) {
1754
1779
  C.target === C.currentTarget && s.cerrar();
1755
1780
  }
1756
1781
  function g(C) {
1757
- m.value?.contains(C.target) || L(C);
1782
+ f.value?.contains(C.target) || L(C);
1758
1783
  }
1759
1784
  function $() {
1760
1785
  document.removeEventListener("keydown", g);
1761
1786
  }
1762
- function j() {
1787
+ function P() {
1763
1788
  const C = d;
1764
1789
  d = null, C?.isConnected && C.focus();
1765
1790
  }
@@ -1767,19 +1792,19 @@ const Nn = /* @__PURE__ */ D({
1767
1792
  u,
1768
1793
  async (C) => {
1769
1794
  if (C) {
1770
- d = document.activeElement, document.addEventListener("keydown", g), await J(), f.value?.focus();
1795
+ d = document.activeElement, document.addEventListener("keydown", g), await J(), m.value?.focus();
1771
1796
  return;
1772
1797
  }
1773
- $(), j();
1798
+ $(), P();
1774
1799
  },
1775
1800
  // `watch` no corre para el valor inicial, y un diálogo se puede montar ya
1776
1801
  // abierto —una vista que arranca preguntando algo—. Sin esto, ése no recibe
1777
1802
  // el foco y ni Escape ni el Tab hacen nada: el `aria-modal` queda en promesa.
1778
1803
  { immediate: !0 }
1779
1804
  ), ve(() => {
1780
- $(), j();
1805
+ $(), P();
1781
1806
  }), (C, h) => (i(), U(ge, { to: "body" }, [
1782
- O(ke, {
1807
+ j($e, {
1783
1808
  "enter-active-class": "transition-opacity duration-200 ease-out",
1784
1809
  "leave-active-class": "transition-opacity duration-150 ease-in",
1785
1810
  "enter-from-class": "opacity-0",
@@ -1789,15 +1814,15 @@ const Nn = /* @__PURE__ */ D({
1789
1814
  u.value ? (i(), r("div", {
1790
1815
  key: 0,
1791
1816
  ref_key: "velo",
1792
- ref: m,
1817
+ ref: f,
1793
1818
  class: "fixed inset-0 z-50 flex items-center justify-center",
1794
1819
  onClick: A,
1795
1820
  onKeydown: L
1796
1821
  }, [
1797
- n.size === "md" ? (i(), r("div", qn)) : x("", !0),
1822
+ n.size === "md" ? (i(), r("div", Un)) : x("", !0),
1798
1823
  B("div", ce({
1799
1824
  ref_key: "panel",
1800
- ref: f,
1825
+ ref: m,
1801
1826
  tabindex: "-1",
1802
1827
  role: "dialog",
1803
1828
  "aria-modal": "true",
@@ -1807,47 +1832,47 @@ const Nn = /* @__PURE__ */ D({
1807
1832
  class: [a.value, o.value]
1808
1833
  }), [
1809
1834
  S(C.$slots, "default")
1810
- ], 16, Hn)
1835
+ ], 16, Kn)
1811
1836
  ], 544)) : x("", !0)
1812
1837
  ]),
1813
1838
  _: 3
1814
1839
  })
1815
1840
  ]));
1816
1841
  }
1817
- }), Wn = { class: "text-sm text-tx-muted" }, Gn = /* @__PURE__ */ D({
1842
+ }), Qn = { class: "text-sm text-tx-muted" }, Yn = /* @__PURE__ */ D({
1818
1843
  __name: "DialogDescription",
1819
1844
  setup(e) {
1820
- return (n, t) => (i(), r("p", Wn, [
1845
+ return (n, t) => (i(), r("p", Qn, [
1821
1846
  S(n.$slots, "default")
1822
1847
  ]));
1823
1848
  }
1824
- }), Qn = { class: "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end" }, Yn = /* @__PURE__ */ D({
1849
+ }), Xn = { class: "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end" }, Jn = /* @__PURE__ */ D({
1825
1850
  __name: "DialogFooter",
1826
1851
  setup(e) {
1827
- return (n, t) => (i(), r("div", Qn, [
1852
+ return (n, t) => (i(), r("div", Xn, [
1828
1853
  S(n.$slots, "default")
1829
1854
  ]));
1830
1855
  }
1831
- }), Xn = { class: "flex flex-col gap-1.5 text-center sm:text-left" }, Jn = /* @__PURE__ */ D({
1856
+ }), Zn = { class: "flex flex-col gap-1.5 text-center sm:text-left" }, _n = /* @__PURE__ */ D({
1832
1857
  __name: "DialogHeader",
1833
1858
  setup(e) {
1834
- return (n, t) => (i(), r("div", Xn, [
1859
+ return (n, t) => (i(), r("div", Zn, [
1835
1860
  S(n.$slots, "default")
1836
1861
  ]));
1837
1862
  }
1838
- }), Zn = ["id"], _n = /* @__PURE__ */ D({
1863
+ }), el = ["id"], tl = /* @__PURE__ */ D({
1839
1864
  __name: "DialogTitle",
1840
1865
  setup(e) {
1841
- const n = st(), t = Fn();
1866
+ const n = st(), t = qn();
1842
1867
  return W(() => n.ponerElTitulo(t)), ve(() => n.ponerElTitulo(null)), (a, l) => (i(), r("h2", {
1843
1868
  id: F(t),
1844
1869
  class: "font-semibold text-lg leading-none tracking-tight"
1845
1870
  }, [
1846
1871
  S(a.$slots, "default")
1847
- ], 8, Zn));
1872
+ ], 8, el));
1848
1873
  }
1849
1874
  }), ut = /* @__PURE__ */ Symbol("menú de vasak");
1850
- function $e() {
1875
+ function Ce() {
1851
1876
  const e = we(ut, null);
1852
1877
  if (e) return e;
1853
1878
  const n = w(!1);
@@ -1876,15 +1901,15 @@ let We = 0;
1876
1901
  function ct() {
1877
1902
  return We += 1, `vsk-menu-${We}`;
1878
1903
  }
1879
- const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1904
+ const al = { class: "relative inline-block" }, nl = /* @__PURE__ */ D({
1880
1905
  __name: "DropdownMenu",
1881
1906
  props: {
1882
1907
  open: { type: Boolean, default: void 0 }
1883
1908
  },
1884
1909
  emits: ["update:open"],
1885
1910
  setup(e, { emit: n }) {
1886
- const t = e, a = n, l = w(!1), o = w(null), s = w(null), u = w("ninguno"), m = ct();
1887
- let f = null;
1911
+ const t = e, a = n, l = w(!1), o = w(null), s = w(null), u = w("ninguno"), f = ct();
1912
+ let m = null;
1888
1913
  const d = v({
1889
1914
  get: () => t.open ?? l.value,
1890
1915
  set: (g) => {
@@ -1894,7 +1919,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1894
1919
  Q(d, (g) => {
1895
1920
  if (g) {
1896
1921
  const $ = document.activeElement;
1897
- f = $ instanceof HTMLElement ? $ : null;
1922
+ m = $ instanceof HTMLElement ? $ : null;
1898
1923
  } else
1899
1924
  u.value = "ninguno";
1900
1925
  });
@@ -1903,7 +1928,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1903
1928
  }
1904
1929
  function L(g = {}) {
1905
1930
  if (d.value = !1, !g.devolverElFoco) return;
1906
- const $ = f ?? o.value;
1931
+ const $ = m ?? o.value;
1907
1932
  $?.isConnected && $.focus();
1908
1933
  }
1909
1934
  function A(g = "ninguno") {
@@ -1915,7 +1940,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1915
1940
  }
1916
1941
  return ye(ut, {
1917
1942
  abierto: d,
1918
- idDelMenu: m,
1943
+ idDelMenu: f,
1919
1944
  idDeLaEtiqueta: s,
1920
1945
  ponerLaEtiqueta: (g) => {
1921
1946
  s.value = g;
@@ -1928,14 +1953,14 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1928
1953
  abrir: E,
1929
1954
  cerrar: L,
1930
1955
  alternar: A
1931
- }), (g, $) => (i(), r("div", el, [
1956
+ }), (g, $) => (i(), r("div", al, [
1932
1957
  S(g.$slots, "default")
1933
1958
  ]));
1934
1959
  }
1935
- }), al = ["id", "aria-labelledby", "inert"], nl = {
1960
+ }), ll = ["id", "aria-labelledby", "inert"], ol = {
1936
1961
  role: "none",
1937
1962
  class: "py-1"
1938
- }, Z = 8, ll = /* @__PURE__ */ D({
1963
+ }, Z = 8, il = /* @__PURE__ */ D({
1939
1964
  inheritAttrs: !1,
1940
1965
  __name: "DropdownMenuContent",
1941
1966
  props: {
@@ -1944,11 +1969,11 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1944
1969
  sideOffset: { default: 4 }
1945
1970
  },
1946
1971
  setup(e) {
1947
- const n = e, t = $e(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u = w(null), m = w({
1972
+ const n = e, t = Ce(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u = w(null), f = w({
1948
1973
  top: 0,
1949
1974
  left: 0,
1950
1975
  techo: null
1951
- }), f = {
1976
+ }), m = {
1952
1977
  top: "bottom",
1953
1978
  bottom: "top",
1954
1979
  left: "right",
@@ -1975,7 +2000,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1975
2000
  const c = o.value.getBoundingClientRect(), b = u.value.scrollHeight, p = u.value.offsetWidth, R = n.side === "top" || n.side === "bottom", le = R ? b : p;
1976
2001
  let K = n.side;
1977
2002
  const oe = d(K, c);
1978
- oe < le && d(f[K], c) > oe && (K = f[K]);
2003
+ oe < le && d(m[K], c) > oe && (K = m[K]);
1979
2004
  let Y = 0, T = 0, z = null;
1980
2005
  switch (K) {
1981
2006
  case "bottom": {
@@ -1989,8 +2014,8 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
1989
2014
  case "left":
1990
2015
  case "right": {
1991
2016
  T = K === "right" ? c.right + n.sideOffset : c.left - p - n.sideOffset;
1992
- const I = window.innerHeight - 2 * Z;
1993
- Y = E(c.top, Z, window.innerHeight - Math.min(b, I) - Z), z = Math.max(window.innerHeight - Y - Z, 0);
2017
+ const O = window.innerHeight - 2 * Z;
2018
+ Y = E(c.top, Z, window.innerHeight - Math.min(b, O) - Z), z = Math.max(window.innerHeight - Y - Z, 0);
1994
2019
  break;
1995
2020
  }
1996
2021
  }
@@ -2006,7 +2031,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2006
2031
  T = c.right - p;
2007
2032
  break;
2008
2033
  }
2009
- T = E(T, Z, window.innerWidth - p - Z), m.value = { top: Y, left: T, techo: z };
2034
+ T = E(T, Z, window.innerWidth - p - Z), f.value = { top: Y, left: T, techo: z };
2010
2035
  }
2011
2036
  function A() {
2012
2037
  return u.value ? Array.from(u.value.querySelectorAll('[role="menuitem"]')) : [];
@@ -2021,7 +2046,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2021
2046
  const c = document.activeElement;
2022
2047
  return c instanceof HTMLElement ? A().indexOf(c) : -1;
2023
2048
  }
2024
- function j(c) {
2049
+ function P(c) {
2025
2050
  const b = $();
2026
2051
  switch (c.key) {
2027
2052
  case "ArrowDown":
@@ -2074,7 +2099,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2074
2099
  }), pe(() => {
2075
2100
  document.removeEventListener("click", h), window.removeEventListener("resize", C), window.removeEventListener("scroll", C, !0);
2076
2101
  }), (c, b) => (i(), U(ge, { to: "body" }, [
2077
- O(ke, {
2102
+ j($e, {
2078
2103
  "enter-active-class": "transition-all duration-150 ease-in-out",
2079
2104
  "leave-active-class": "transition-all duration-150 ease-in-out",
2080
2105
  "enter-from-class": "opacity-0 scale-95",
@@ -2083,7 +2108,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2083
2108
  onLeave: b[2] || (b[2] = (p) => p.offsetHeight)
2084
2109
  }, {
2085
2110
  default: G(() => [
2086
- Be(B("div", ce({
2111
+ Se(B("div", ce({
2087
2112
  ref_key: "contenido",
2088
2113
  ref: u
2089
2114
  }, c.$attrs, {
@@ -2095,9 +2120,9 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2095
2120
  inert: !s.value,
2096
2121
  style: {
2097
2122
  position: "fixed",
2098
- top: `${m.value.top}px`,
2099
- left: `${m.value.left}px`,
2100
- maxHeight: m.value.techo === null ? void 0 : `${m.value.techo}px`,
2123
+ top: `${f.value.top}px`,
2124
+ left: `${f.value.left}px`,
2125
+ maxHeight: f.value.techo === null ? void 0 : `${f.value.techo}px`,
2101
2126
  overflowY: "auto",
2102
2127
  overscrollBehavior: "contain",
2103
2128
  zIndex: 50
@@ -2105,12 +2130,12 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2105
2130
  "data-dropdown-content": "",
2106
2131
  class: "min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",
2107
2132
  onClick: b[0] || (b[0] = (p) => p.stopPropagation()),
2108
- onKeydown: j
2133
+ onKeydown: P
2109
2134
  }), [
2110
- B("div", nl, [
2135
+ B("div", ol, [
2111
2136
  S(c.$slots, "default")
2112
2137
  ])
2113
- ], 16, al), [
2138
+ ], 16, ll), [
2114
2139
  [Ye, s.value]
2115
2140
  ])
2116
2141
  ]),
@@ -2118,14 +2143,14 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2118
2143
  })
2119
2144
  ]));
2120
2145
  }
2121
- }), ol = ["aria-disabled", "onKeydown"], il = /* @__PURE__ */ D({
2146
+ }), rl = ["aria-disabled", "onKeydown"], sl = /* @__PURE__ */ D({
2122
2147
  __name: "DropdownMenuItem",
2123
2148
  props: {
2124
2149
  disabled: { type: Boolean, default: !1 }
2125
2150
  },
2126
2151
  emits: ["select", "click"],
2127
2152
  setup(e, { emit: n }) {
2128
- const t = e, a = n, l = $e();
2153
+ const t = e, a = n, l = Ce();
2129
2154
  function o(s) {
2130
2155
  t.disabled || (a("select"), a("click", s), l.cerrar({ devolverElFoco: !0 }));
2131
2156
  }
@@ -2142,17 +2167,17 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2142
2167
  ]),
2143
2168
  onClick: o,
2144
2169
  onKeydown: [
2145
- P(V(o, ["prevent"]), ["enter"]),
2146
- P(V(o, ["prevent"]), ["space"])
2170
+ I(M(o, ["prevent"]), ["enter"]),
2171
+ I(M(o, ["prevent"]), ["space"])
2147
2172
  ]
2148
2173
  }, [
2149
2174
  S(s.$slots, "default")
2150
- ], 42, ol));
2175
+ ], 42, rl));
2151
2176
  }
2152
- }), rl = /* @__PURE__ */ D({
2177
+ }), ul = /* @__PURE__ */ D({
2153
2178
  __name: "DropdownMenuLabel",
2154
2179
  setup(e) {
2155
- const n = $e(), t = `${ct()}-titulo`;
2180
+ const n = Ce(), t = `${ct()}-titulo`;
2156
2181
  return W(() => {
2157
2182
  n.ponerLaEtiqueta(t);
2158
2183
  }), pe(() => {
@@ -2165,14 +2190,14 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
2165
2190
  S(a.$slots, "default")
2166
2191
  ]));
2167
2192
  }
2168
- }), sl = {
2193
+ }), cl = {
2169
2194
  role: "separator",
2170
2195
  "aria-orientation": "horizontal",
2171
2196
  class: "bg-ui-bg/80 my-4 h-0.5"
2172
- }, ul = /* @__PURE__ */ D({
2197
+ }, dl = /* @__PURE__ */ D({
2173
2198
  __name: "DropdownMenuSeparator",
2174
2199
  setup(e) {
2175
- return (n, t) => (i(), r("div", sl));
2200
+ return (n, t) => (i(), r("div", cl));
2176
2201
  }
2177
2202
  });
2178
2203
  function dt(e) {
@@ -2183,12 +2208,12 @@ function dt(e) {
2183
2208
  const t = n[0];
2184
2209
  return t.type === te && Array.isArray(t.children) ? dt(t.children) : t;
2185
2210
  }
2186
- function cl(e) {
2211
+ function fl(e) {
2187
2212
  if (e instanceof HTMLElement) return e;
2188
2213
  const n = e?.$el;
2189
2214
  return n instanceof HTMLElement ? n : null;
2190
2215
  }
2191
- const dl = D({
2216
+ const ml = D({
2192
2217
  name: "DropdownMenuTrigger",
2193
2218
  inheritAttrs: !1,
2194
2219
  props: {
@@ -2198,33 +2223,33 @@ const dl = D({
2198
2223
  disabled: { type: Boolean, default: !1 }
2199
2224
  },
2200
2225
  setup(e, { slots: n, attrs: t }) {
2201
- const a = $e(), l = w(null);
2226
+ const a = Ce(), l = w(null);
2202
2227
  function o() {
2203
- a.ponerElDisparador(cl(l.value));
2228
+ a.ponerElDisparador(fl(l.value));
2204
2229
  }
2205
2230
  function s() {
2206
2231
  e.disabled || (o(), a.alternar());
2207
2232
  }
2208
- function u(m) {
2233
+ function u(f) {
2209
2234
  if (!e.disabled)
2210
- switch (m.key) {
2235
+ switch (f.key) {
2211
2236
  case "Enter":
2212
2237
  case " ":
2213
- m.preventDefault(), o(), a.alternar("primero");
2238
+ f.preventDefault(), o(), a.alternar("primero");
2214
2239
  break;
2215
2240
  case "ArrowDown":
2216
- m.preventDefault(), o(), a.abrir("primero");
2241
+ f.preventDefault(), o(), a.abrir("primero");
2217
2242
  break;
2218
2243
  case "ArrowUp":
2219
- m.preventDefault(), o(), a.abrir("ultimo");
2244
+ f.preventDefault(), o(), a.abrir("ultimo");
2220
2245
  break;
2221
2246
  case "Escape":
2222
- a.abierto.value && (m.preventDefault(), a.cerrar({ devolverElFoco: !0 }));
2247
+ a.abierto.value && (f.preventDefault(), a.cerrar({ devolverElFoco: !0 }));
2223
2248
  break;
2224
2249
  }
2225
2250
  }
2226
2251
  return () => {
2227
- const m = {
2252
+ const f = {
2228
2253
  ref: (d) => {
2229
2254
  l.value = d, o();
2230
2255
  },
@@ -2236,19 +2261,19 @@ const dl = D({
2236
2261
  "aria-controls": a.abierto.value ? a.idDelMenu : void 0,
2237
2262
  onClick: s,
2238
2263
  onKeydown: u
2239
- }, f = n.default?.() ?? [];
2264
+ }, m = n.default?.() ?? [];
2240
2265
  if (e.asChild) {
2241
- const d = dt(f);
2242
- if (d) return $t(d, { ...t, ...m });
2266
+ const d = dt(m);
2267
+ if (d) return $t(d, { ...t, ...f });
2243
2268
  }
2244
2269
  return Ct(
2245
2270
  "div",
2246
- { ...t, class: ["dropdown-menu-trigger inline-block", t.class], ...m },
2247
- f
2271
+ { ...t, class: ["dropdown-menu-trigger inline-block", t.class], ...f },
2272
+ m
2248
2273
  );
2249
2274
  };
2250
2275
  }
2251
- }), fl = ["for"], ml = /* @__PURE__ */ D({
2276
+ }), bl = ["for"], vl = /* @__PURE__ */ D({
2252
2277
  __name: "FormGroup",
2253
2278
  props: {
2254
2279
  label: {},
@@ -2264,11 +2289,11 @@ const dl = D({
2264
2289
  key: 0,
2265
2290
  for: e.htmlFor,
2266
2291
  class: y(["text-sm font-medium text-primary dark:text-primary-dark", e.labelClass])
2267
- }, M(e.label), 11, fl)) : x("", !0),
2292
+ }, V(e.label), 11, bl)) : x("", !0),
2268
2293
  S(n.$slots, "default", {}, void 0, !0)
2269
2294
  ], 2));
2270
2295
  }
2271
- }), bl = /* @__PURE__ */ Oe(ml, [["__scopeId", "data-v-c0d9d9cb"]]), vl = ["role", "tabindex", "onKeydown"], pl = /* @__PURE__ */ D({
2296
+ }), pl = /* @__PURE__ */ Oe(vl, [["__scopeId", "data-v-c0d9d9cb"]]), yl = ["role", "tabindex", "onKeydown"], gl = /* @__PURE__ */ D({
2272
2297
  __name: "ListCard",
2273
2298
  props: {
2274
2299
  clickable: { type: Boolean, default: !1 },
@@ -2291,17 +2316,17 @@ const dl = D({
2291
2316
  tabindex: t.clickable ? 0 : void 0,
2292
2317
  onClick: l,
2293
2318
  onKeydown: [
2294
- P(V(l, ["self", "prevent"]), ["enter"]),
2295
- P(V(l, ["self", "prevent"]), ["space"])
2319
+ I(M(l, ["self", "prevent"]), ["enter"]),
2320
+ I(M(l, ["self", "prevent"]), ["space"])
2296
2321
  ]
2297
2322
  }, [
2298
2323
  S(o.$slots, "default")
2299
- ], 42, vl));
2324
+ ], 42, yl));
2300
2325
  }
2301
- }), yl = { 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" }, gl = ["title", "aria-label"], hl = ["src"], xl = {
2326
+ }), hl = { 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" }, xl = ["title", "aria-label"], wl = ["src"], kl = {
2302
2327
  key: 1,
2303
2328
  class: "w-8 h-8 flex items-center justify-center"
2304
- }, wl = ["src"], kl = ["min", "max", "value", "aria-label", "aria-valuetext"], $l = /* @__PURE__ */ D({
2329
+ }, $l = ["src"], Cl = ["min", "max", "value", "aria-label", "aria-valuetext"], zl = /* @__PURE__ */ D({
2305
2330
  __name: "SliderControl",
2306
2331
  props: {
2307
2332
  name: { default: "" },
@@ -2326,15 +2351,15 @@ const dl = D({
2326
2351
  });
2327
2352
  const a = n, l = v(() => {
2328
2353
  if (t.max <= t.min) return 0;
2329
- const m = t.max - t.min, f = t.modelValue - t.min;
2330
- return Math.round(f / m * 100);
2331
- }), o = v(() => t.getPercentageClass ? t.getPercentageClass(l.value) : ""), s = (m) => {
2332
- const f = m.target;
2333
- a("update:modelValue", Number(f.value));
2354
+ const f = t.max - t.min, m = t.modelValue - t.min;
2355
+ return Math.round(m / f * 100);
2356
+ }), o = v(() => t.getPercentageClass ? t.getPercentageClass(l.value) : ""), s = (f) => {
2357
+ const m = f.target;
2358
+ a("update:modelValue", Number(m.value));
2334
2359
  }, u = () => {
2335
2360
  a("buttonClick");
2336
2361
  };
2337
- return (m, f) => (i(), r("div", yl, [
2362
+ return (f, m) => (i(), r("div", hl, [
2338
2363
  e.showButton ? (i(), r("button", {
2339
2364
  key: 0,
2340
2365
  onClick: u,
@@ -2354,8 +2379,8 @@ const dl = D({
2354
2379
  src: e.icon,
2355
2380
  alt: "",
2356
2381
  class: y(["w-6 h-6", e.iconClass])
2357
- }, null, 10, hl))
2358
- ], 8, gl)) : (i(), r("div", xl, [
2382
+ }, null, 10, wl))
2383
+ ], 8, xl)) : (i(), r("div", kl, [
2359
2384
  e.name ? (i(), U(N, {
2360
2385
  key: 0,
2361
2386
  name: e.name,
@@ -2366,7 +2391,7 @@ const dl = D({
2366
2391
  src: e.icon,
2367
2392
  alt: "",
2368
2393
  class: "w-6 h-6"
2369
- }, null, 8, wl))
2394
+ }, null, 8, $l))
2370
2395
  ])),
2371
2396
  B("input", {
2372
2397
  type: "range",
@@ -2377,10 +2402,10 @@ const dl = D({
2377
2402
  "aria-label": e.label,
2378
2403
  "aria-valuetext": `${l.value}%`,
2379
2404
  class: "flex-1 transition-[scale] duration-200 hover:scale-105"
2380
- }, null, 40, kl),
2405
+ }, null, 40, Cl),
2381
2406
  B("span", {
2382
2407
  class: y(["w-12 text-right transition-[color] duration-200 font-medium", o.value])
2383
- }, M(l.value) + "% ", 3)
2408
+ }, V(l.value) + "% ", 3)
2384
2409
  ]));
2385
2410
  }
2386
2411
  }), je = /* @__PURE__ */ D({
@@ -2407,10 +2432,10 @@ const dl = D({
2407
2432
  }, null, 2)
2408
2433
  ], 2));
2409
2434
  }
2410
- }), Cl = ["aria-checked", "disabled"], zl = { class: "min-w-0 flex-1" }, El = { class: "block font-medium text-sm text-tx-main" }, Ll = {
2435
+ }), El = ["aria-checked", "disabled"], Ll = { class: "min-w-0 flex-1" }, Dl = { class: "block font-medium text-sm text-tx-main" }, Tl = {
2411
2436
  key: 0,
2412
2437
  class: "mt-0.5 block text-tx-muted text-xs"
2413
- }, Dl = /* @__PURE__ */ D({
2438
+ }, Al = /* @__PURE__ */ D({
2414
2439
  __name: "SwitchRow",
2415
2440
  props: {
2416
2441
  modelValue: { type: Boolean },
@@ -2431,7 +2456,7 @@ const dl = D({
2431
2456
  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",
2432
2457
  onClick: o[0] || (o[0] = (s) => a("update:modelValue", !t.modelValue))
2433
2458
  }, [
2434
- O(je, {
2459
+ j(je, {
2435
2460
  on: e.modelValue,
2436
2461
  class: "mt-0.5"
2437
2462
  }, null, 8, ["on"]),
@@ -2440,21 +2465,21 @@ const dl = D({
2440
2465
  class: y(["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"]),
2441
2466
  "aria-hidden": "true"
2442
2467
  }, [
2443
- O(N, {
2468
+ j(N, {
2444
2469
  name: e.icon,
2445
2470
  type: e.iconType,
2446
2471
  size: 24,
2447
2472
  alt: ""
2448
2473
  }, null, 8, ["name", "type"])
2449
2474
  ], 2)) : x("", !0),
2450
- B("span", zl, [
2451
- B("span", El, M(e.label), 1),
2452
- e.description ? (i(), r("span", Ll, M(e.description), 1)) : x("", !0),
2475
+ B("span", Ll, [
2476
+ B("span", Dl, V(e.label), 1),
2477
+ e.description ? (i(), r("span", Tl, V(e.description), 1)) : x("", !0),
2453
2478
  S(l.$slots, "pie")
2454
2479
  ])
2455
- ], 8, Cl));
2480
+ ], 8, El));
2456
2481
  }
2457
- }), Tl = ["aria-checked", "aria-label", "disabled"], Al = /* @__PURE__ */ D({
2482
+ }), Bl = ["aria-checked", "aria-label", "disabled"], Sl = /* @__PURE__ */ D({
2458
2483
  __name: "SwitchToggle",
2459
2484
  props: {
2460
2485
  modelValue: { type: Boolean },
@@ -2477,13 +2502,13 @@ const dl = D({
2477
2502
  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",
2478
2503
  onClick: l
2479
2504
  }, [
2480
- O(je, {
2505
+ j(je, {
2481
2506
  on: e.modelValue,
2482
2507
  size: e.size
2483
2508
  }, null, 8, ["on", "size"])
2484
- ], 8, Tl));
2509
+ ], 8, Bl));
2485
2510
  }
2486
- }), Bl = ["disabled", "title", "aria-label", "aria-pressed", "aria-busy"], Sl = ["src"], Ml = /* @__PURE__ */ D({
2511
+ }), Ml = ["disabled", "title", "aria-label", "aria-pressed", "aria-busy"], Vl = ["src"], Il = /* @__PURE__ */ D({
2487
2512
  __name: "ToggleControl",
2488
2513
  props: {
2489
2514
  name: { default: "" },
@@ -2544,8 +2569,8 @@ const dl = D({
2544
2569
  "drop-shadow-lg": e.isActive,
2545
2570
  ...e.iconClass
2546
2571
  }])
2547
- }, null, 10, Sl))
2548
- ], 10, Bl));
2572
+ }, null, 10, Vl))
2573
+ ], 10, Ml));
2549
2574
  }
2550
2575
  }), ft = /* @__PURE__ */ Symbol("tooltip de vasak");
2551
2576
  function mt() {
@@ -2565,7 +2590,7 @@ function mt() {
2565
2590
  }
2566
2591
  };
2567
2592
  }
2568
- const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2593
+ const Ol = { class: "inline-block" }, jl = /* @__PURE__ */ D({
2569
2594
  __name: "Tooltip",
2570
2595
  props: {
2571
2596
  disabled: { type: Boolean, default: !1 },
@@ -2590,11 +2615,11 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2590
2615
  },
2591
2616
  abrir: o,
2592
2617
  cerrar: s
2593
- }), (u, m) => (i(), r("div", Vl, [
2618
+ }), (u, f) => (i(), r("div", Ol, [
2594
2619
  S(u.$slots, "default")
2595
2620
  ]));
2596
2621
  }
2597
- }), Ol = /* @__PURE__ */ D({
2622
+ }), Pl = /* @__PURE__ */ D({
2598
2623
  inheritAttrs: !1,
2599
2624
  __name: "TooltipContent",
2600
2625
  props: {
@@ -2603,11 +2628,11 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2603
2628
  sideOffset: { default: 4 }
2604
2629
  },
2605
2630
  setup(e) {
2606
- const n = Ae(), t = v(() => n.class ?? ""), a = e, l = mt(), o = v(() => l.abierto.value), s = w(null), u = w({ top: 0, left: 0 });
2607
- function m() {
2608
- const f = l.disparador.value;
2609
- if (!f || !s.value) return;
2610
- const d = f.getBoundingClientRect(), E = s.value.getBoundingClientRect();
2631
+ 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 });
2632
+ function f() {
2633
+ const m = l.disparador.value;
2634
+ if (!m || !s.value) return;
2635
+ const d = m.getBoundingClientRect(), E = s.value.getBoundingClientRect();
2611
2636
  let L = 0, A = 0;
2612
2637
  switch (a.side) {
2613
2638
  case "bottom":
@@ -2625,17 +2650,17 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2625
2650
  }
2626
2651
  u.value = { top: L, left: A };
2627
2652
  }
2628
- return Q(o, async (f) => {
2629
- f && (await J(), requestAnimationFrame(m));
2630
- }), (f, d) => (i(), U(ge, { to: "body" }, [
2631
- O(ke, {
2653
+ return Q(o, async (m) => {
2654
+ m && (await J(), requestAnimationFrame(f));
2655
+ }), (m, d) => (i(), U(ge, { to: "body" }, [
2656
+ j($e, {
2632
2657
  "enter-active-class": "transition-all duration-200 ease-in-out",
2633
2658
  "leave-active-class": "transition-all duration-200 ease-in-out",
2634
2659
  "enter-from-class": "opacity-0 scale-95",
2635
2660
  "leave-to-class": "opacity-0 scale-95"
2636
2661
  }, {
2637
2662
  default: G(() => [
2638
- Be(B("div", {
2663
+ Se(B("div", {
2639
2664
  ref_key: "globo",
2640
2665
  ref: s,
2641
2666
  style: fe({ position: "fixed", top: `${u.value.top}px`, left: `${u.value.left}px`, zIndex: 50 }),
@@ -2644,7 +2669,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2644
2669
  "pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"
2645
2670
  ])
2646
2671
  }, [
2647
- S(f.$slots, "default")
2672
+ S(m.$slots, "default")
2648
2673
  ], 6), [
2649
2674
  [Ye, o.value]
2650
2675
  ])
@@ -2653,7 +2678,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2653
2678
  })
2654
2679
  ]));
2655
2680
  }
2656
- }), jl = /* @__PURE__ */ D({
2681
+ }), Rl = /* @__PURE__ */ D({
2657
2682
  __name: "TooltipTrigger",
2658
2683
  setup(e) {
2659
2684
  const n = mt(), t = w(null);
@@ -2677,10 +2702,10 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2677
2702
  S(o.$slots, "default")
2678
2703
  ], 544));
2679
2704
  }
2680
- }), Pl = ["title"], Rl = ["src", "alt"], Fl = {
2705
+ }), Fl = ["title"], Nl = ["src", "alt"], ql = {
2681
2706
  key: 2,
2682
2707
  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"
2683
- }, Nl = /* @__PURE__ */ D({
2708
+ }, Hl = /* @__PURE__ */ D({
2684
2709
  __name: "TrayIconButton",
2685
2710
  props: {
2686
2711
  name: { default: "" },
@@ -2710,8 +2735,8 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2710
2735
  class: y(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-[background-color] duration-300", e.customClass]),
2711
2736
  title: e.tooltip,
2712
2737
  onClick: o,
2713
- onMouseenter: u[0] || (u[0] = (m) => l.value = !0),
2714
- onMouseleave: u[1] || (u[1] = (m) => l.value = !1)
2738
+ onMouseenter: u[0] || (u[0] = (f) => l.value = !0),
2739
+ onMouseleave: u[1] || (u[1] = (f) => l.value = !1)
2715
2740
  }, [
2716
2741
  e.name ? (i(), U(N, {
2717
2742
  key: 0,
@@ -2725,8 +2750,8 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2725
2750
  src: e.icon,
2726
2751
  alt: e.alt,
2727
2752
  class: y(["m-auto h-5.5 w-auto", e.iconClass])
2728
- }, null, 10, Rl)),
2729
- e.badge !== null && e.badge > 0 ? (i(), r("div", Fl, M(e.badge), 1)) : x("", !0),
2753
+ }, null, 10, Nl)),
2754
+ e.badge !== null && e.badge > 0 ? (i(), r("div", ql, V(e.badge), 1)) : x("", !0),
2730
2755
  e.showCustomTooltip && e.customTooltipText ? (i(), r("div", {
2731
2756
  key: 3,
2732
2757
  class: y(["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", [
@@ -2736,11 +2761,11 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2736
2761
  "opacity-100 translate-y-0": l.value
2737
2762
  }
2738
2763
  ]])
2739
- }, M(e.customTooltipText), 3)) : x("", !0),
2764
+ }, V(e.customTooltipText), 3)) : x("", !0),
2740
2765
  S(s.$slots, "default")
2741
- ], 42, Pl));
2766
+ ], 42, Fl));
2742
2767
  }
2743
- }), ql = [
2768
+ }), Ul = [
2744
2769
  ua,
2745
2770
  _e,
2746
2771
  Ze,
@@ -2762,33 +2787,33 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
2762
2787
  lt,
2763
2788
  cn,
2764
2789
  An,
2765
- Rn,
2766
2790
  Nn,
2767
- Kn,
2791
+ Hn,
2768
2792
  Gn,
2769
2793
  Yn,
2770
2794
  Jn,
2771
2795
  _n,
2772
2796
  tl,
2773
- ll,
2797
+ nl,
2774
2798
  il,
2775
- rl,
2799
+ sl,
2776
2800
  ul,
2777
2801
  dl,
2778
- bl,
2802
+ ml,
2779
2803
  pl,
2780
- $l,
2781
- Dl,
2804
+ gl,
2805
+ zl,
2782
2806
  Al,
2807
+ Sl,
2783
2808
  je,
2784
- Ml,
2785
2809
  Il,
2786
- Ol,
2787
2810
  jl,
2788
- Nl
2789
- ], Xl = {
2811
+ Pl,
2812
+ Rl,
2813
+ Hl
2814
+ ], Zl = {
2790
2815
  install(e) {
2791
- ql.forEach((n) => {
2816
+ Ul.forEach((n) => {
2792
2817
  e.component(n.name, n);
2793
2818
  });
2794
2819
  }
@@ -2804,23 +2829,23 @@ export {
2804
2829
  ft as CLAVE_DEL_TOOLTIP,
2805
2830
  Me as CLAVE_DE_LA_BARRA,
2806
2831
  An as ConfigSection,
2807
- Rn as DeviceCard,
2808
- Nn as Dialog,
2809
- Kn as DialogContent,
2810
- Gn as DialogDescription,
2811
- Yn as DialogFooter,
2812
- Jn as DialogHeader,
2813
- _n as DialogTitle,
2814
- tl as DropdownMenu,
2815
- ll as DropdownMenuContent,
2816
- il as DropdownMenuItem,
2817
- rl as DropdownMenuLabel,
2818
- ul as DropdownMenuSeparator,
2819
- dl as DropdownMenuTrigger,
2832
+ Nn as DeviceCard,
2833
+ Hn as Dialog,
2834
+ Gn as DialogContent,
2835
+ Yn as DialogDescription,
2836
+ Jn as DialogFooter,
2837
+ _n as DialogHeader,
2838
+ tl as DialogTitle,
2839
+ nl as DropdownMenu,
2840
+ il as DropdownMenuContent,
2841
+ sl as DropdownMenuItem,
2842
+ ul as DropdownMenuLabel,
2843
+ dl as DropdownMenuSeparator,
2844
+ ml as DropdownMenuTrigger,
2820
2845
  on as EmptyState,
2821
- bl as FormGroup,
2846
+ pl as FormGroup,
2822
2847
  Ve as LOS_TRES_CONTROLES,
2823
- pl as ListCard,
2848
+ gl as ListCard,
2824
2849
  sn as LoadingState,
2825
2850
  va as POSICIONES,
2826
2851
  mn as ProgressBar,
@@ -2830,33 +2855,33 @@ export {
2830
2855
  ua as SideBar,
2831
2856
  _e as SideButton,
2832
2857
  Ze as SideGroup,
2833
- $l as SliderControl,
2834
- Dl as SwitchRow,
2835
- Al as SwitchToggle,
2858
+ zl as SliderControl,
2859
+ Al as SwitchRow,
2860
+ Sl as SwitchToggle,
2836
2861
  je as SwitchTrack,
2837
2862
  Ra as TabBar,
2838
2863
  nt as TabItem,
2839
2864
  lt as TextInput,
2840
2865
  N as ThemeIcon,
2841
2866
  cn as ToastArea,
2842
- Ml as ToggleControl,
2843
- Il as Tooltip,
2844
- Ol as TooltipContent,
2845
- jl as TooltipTrigger,
2846
- Nl as TrayIconButton,
2867
+ Il as ToggleControl,
2868
+ jl as Tooltip,
2869
+ Pl as TooltipContent,
2870
+ Rl as TooltipTrigger,
2871
+ Hl as TrayIconButton,
2847
2872
  tt as WindowControls,
2848
2873
  La as WindowFrame,
2849
2874
  vn as buscarOpciones,
2850
- Xl as default,
2875
+ Zl as default,
2851
2876
  pa as esPosicion,
2852
- Ql as olvidarLosIconosDelTema,
2853
- Te as orientacionDe,
2877
+ Xl as olvidarLosIconosDelTema,
2878
+ Ae as orientacionDe,
2854
2879
  ha as posicionDe,
2855
2880
  it as rolDelTono,
2856
2881
  st as usarElDialogo,
2857
- $e as usarElMenu,
2882
+ Ce as usarElMenu,
2858
2883
  mt as usarElTooltip,
2859
2884
  he as usarLaBarra,
2860
2885
  xa as usarLaPosicionDeLaBarra,
2861
- Yl as usarLaVersionDelTema
2886
+ Jl as usarLaVersionDelTema
2862
2887
  };