@vasakgroup/vue-libvasak 1.4.0 → 1.5.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,11 +1,11 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
name: string;
|
|
3
3
|
type?: 'icon' | 'symbol';
|
|
4
|
-
size?: number;
|
|
4
|
+
size?: number | 'auto';
|
|
5
5
|
alt?: string;
|
|
6
6
|
};
|
|
7
7
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
8
|
-
size: number;
|
|
8
|
+
size: number | "auto";
|
|
9
9
|
type: "icon" | "symbol";
|
|
10
10
|
alt: string;
|
|
11
11
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
package/dist/vue-libvasak.es.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ref as
|
|
1
|
+
import { ref as k, 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 Be, useId as yt, useModel as gt, withDirectives as Se, mergeProps as ce, isRef as ht, vModelSelect as xt, inject as ke, getCurrentInstance as Ge, provide as ye, createTextVNode as Me, toHandlers as Qe, createSlots as kt, withModifiers as V, withKeys as R, Teleport as ge, Transition as we, nextTick as J, TransitionGroup as wt, 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
|
-
const St = "vicons:theme-changed", xe = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ new Map(), me =
|
|
6
|
+
const St = "vicons:theme-changed", xe = /* @__PURE__ */ new Map(), re = /* @__PURE__ */ new Map(), me = k(0);
|
|
7
7
|
let se = 0, be = null, ie = null;
|
|
8
8
|
function Ql() {
|
|
9
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;
|
|
@@ -93,7 +93,7 @@ function Yl() {
|
|
|
93
93
|
}), vt(me);
|
|
94
94
|
}
|
|
95
95
|
function Ut(e, n) {
|
|
96
|
-
const t =
|
|
96
|
+
const t = k("");
|
|
97
97
|
let a = !1, l = 0;
|
|
98
98
|
const o = Ot(async () => {
|
|
99
99
|
await s();
|
|
@@ -124,21 +124,23 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
|
|
|
124
124
|
setup(e) {
|
|
125
125
|
const n = e, { fuente: t, mirarElemento: a } = Ut(Pe(n, "name"), Pe(n, "type")), l = pt("dibujo");
|
|
126
126
|
Q(l, (s) => a(s), { immediate: !0 });
|
|
127
|
-
const o = v(
|
|
127
|
+
const o = v(
|
|
128
|
+
() => n.size === "auto" ? void 0 : { width: `${n.size}px`, height: `${n.size}px` }
|
|
129
|
+
);
|
|
128
130
|
return (s, u) => F(t) ? (i(), r("img", {
|
|
129
131
|
key: 0,
|
|
130
132
|
ref_key: "dibujo",
|
|
131
133
|
ref: l,
|
|
132
134
|
src: F(t),
|
|
133
135
|
alt: e.alt,
|
|
134
|
-
style: fe(
|
|
136
|
+
style: fe(o.value),
|
|
135
137
|
class: "shrink-0 object-contain"
|
|
136
138
|
}, null, 12, Kt)) : (i(), r("span", {
|
|
137
139
|
key: 1,
|
|
138
140
|
ref_key: "dibujo",
|
|
139
141
|
ref: l,
|
|
140
|
-
style: fe(
|
|
141
|
-
class: "shrink-0"
|
|
142
|
+
style: fe(o.value),
|
|
143
|
+
class: "inline-block shrink-0"
|
|
142
144
|
}, null, 4));
|
|
143
145
|
}
|
|
144
146
|
}), Wt = { class: "flex flex-col gap-2" }, Gt = ["aria-expanded"], Qt = {
|
|
@@ -152,7 +154,7 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
|
|
|
152
154
|
defaultOpen: { type: Boolean, default: !0 }
|
|
153
155
|
},
|
|
154
156
|
setup(e) {
|
|
155
|
-
const n = e, t =
|
|
157
|
+
const n = e, t = k(n.defaultOpen);
|
|
156
158
|
return Q(
|
|
157
159
|
() => n.collapsed,
|
|
158
160
|
(a) => {
|
|
@@ -252,7 +254,7 @@ const Kt = ["src", "alt"], N = /* @__PURE__ */ D({
|
|
|
252
254
|
},
|
|
253
255
|
emits: ["update:modelValue", "update:collapsed", "change"],
|
|
254
256
|
setup(e, { expose: n, emit: t }) {
|
|
255
|
-
const a = e, l = t, o =
|
|
257
|
+
const a = e, l = t, o = k(a.collapsed ?? !1), s = k(!1);
|
|
256
258
|
let u = null, m = null;
|
|
257
259
|
const f = v(() => s.value || o.value), d = v(() => !!(a.title || a.subtitle));
|
|
258
260
|
v(() => a.categories.length > 0);
|
|
@@ -396,9 +398,9 @@ function pa(e) {
|
|
|
396
398
|
return typeof e == "string" && va.includes(e);
|
|
397
399
|
}
|
|
398
400
|
function he() {
|
|
399
|
-
const e =
|
|
401
|
+
const e = ke(Ve, null);
|
|
400
402
|
if (e) return e;
|
|
401
|
-
const n =
|
|
403
|
+
const n = k("top");
|
|
402
404
|
return {
|
|
403
405
|
posicion: n,
|
|
404
406
|
orientacion: v(() => Ae(n.value)),
|
|
@@ -411,7 +413,7 @@ function ha(e) {
|
|
|
411
413
|
return pa(t) ? t : null;
|
|
412
414
|
}
|
|
413
415
|
function xa(e = "top") {
|
|
414
|
-
const n =
|
|
416
|
+
const n = k(e);
|
|
415
417
|
let t = null, a = !1;
|
|
416
418
|
async function l() {
|
|
417
419
|
try {
|
|
@@ -445,7 +447,7 @@ function et(e) {
|
|
|
445
447
|
}
|
|
446
448
|
return t;
|
|
447
449
|
}
|
|
448
|
-
const
|
|
450
|
+
const ka = ["title", "aria-label"], wa = ["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({
|
|
449
451
|
__name: "WindowControls",
|
|
450
452
|
props: {
|
|
451
453
|
controls: { default: () => Ie },
|
|
@@ -497,7 +499,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
497
499
|
type: "symbol",
|
|
498
500
|
size: 24
|
|
499
501
|
})
|
|
500
|
-
], 10,
|
|
502
|
+
], 10, ka)) : x("", !0),
|
|
501
503
|
f.value.maximize ? (i(), r("button", {
|
|
502
504
|
key: 1,
|
|
503
505
|
type: "button",
|
|
@@ -511,7 +513,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
511
513
|
type: "symbol",
|
|
512
514
|
size: 24
|
|
513
515
|
})
|
|
514
|
-
], 10,
|
|
516
|
+
], 10, wa)) : x("", !0),
|
|
515
517
|
f.value.close ? (i(), r("button", {
|
|
516
518
|
key: 2,
|
|
517
519
|
type: "button",
|
|
@@ -627,7 +629,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
627
629
|
"maximize-label": e.maximizeLabel,
|
|
628
630
|
"close-label": e.closeLabel,
|
|
629
631
|
controls: e.controls
|
|
630
|
-
}, Qe(F(et)(["minimize", "maximize", "close"]))),
|
|
632
|
+
}, Qe(F(et)(["minimize", "maximize", "close"]))), kt({
|
|
631
633
|
default: G(() => [
|
|
632
634
|
S(u.$slots, "barra")
|
|
633
635
|
]),
|
|
@@ -688,7 +690,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
688
690
|
},
|
|
689
691
|
emits: ["select", "close", "menu", "mover", "navegar"],
|
|
690
692
|
setup(e, { emit: n }) {
|
|
691
|
-
const t = e, a = n, { vertical: l, posicion: o } = he(), s =
|
|
693
|
+
const t = e, a = n, { vertical: l, posicion: o } = he(), s = k(null), u = k(null), m = k(!1), f = k(!1), d = k(!1), E = k({ top: 0, left: 0, right: 0 });
|
|
692
694
|
let L = null, A = null;
|
|
693
695
|
const g = v(() => t.tab.closable !== !1), $ = v(() => t.tab.tooltip ?? t.tab.label), j = v(
|
|
694
696
|
() => t.tab.dirty ? `${t.tab.label} · ${t.dirtyLabel}` : t.tab.label
|
|
@@ -705,16 +707,16 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
705
707
|
function le() {
|
|
706
708
|
const q = s.value;
|
|
707
709
|
if (!q) return;
|
|
708
|
-
const
|
|
710
|
+
const w = q.getBoundingClientRect();
|
|
709
711
|
E.value = {
|
|
710
|
-
top:
|
|
711
|
-
left:
|
|
712
|
-
right: window.innerWidth -
|
|
712
|
+
top: w.top,
|
|
713
|
+
left: w.right,
|
|
714
|
+
right: window.innerWidth - w.left
|
|
713
715
|
};
|
|
714
716
|
}
|
|
715
717
|
function K(q) {
|
|
716
|
-
const
|
|
717
|
-
|
|
718
|
+
const w = q.relatedTarget;
|
|
719
|
+
w && u.value?.contains(w) || (d.value = !1);
|
|
718
720
|
}
|
|
719
721
|
function oe() {
|
|
720
722
|
m.value = !0, le();
|
|
@@ -740,7 +742,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
740
742
|
function bt(q) {
|
|
741
743
|
q.preventDefault(), a("menu", { x: q.clientX, y: q.clientY });
|
|
742
744
|
}
|
|
743
|
-
return pe(T), (q,
|
|
745
|
+
return pe(T), (q, w) => (i(), r("div", {
|
|
744
746
|
ref_key: "raiz",
|
|
745
747
|
ref: s,
|
|
746
748
|
class: y(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors", [
|
|
@@ -752,21 +754,21 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
752
754
|
title: $.value,
|
|
753
755
|
"aria-label": j.value,
|
|
754
756
|
tabindex: e.tabindex,
|
|
755
|
-
onClick:
|
|
757
|
+
onClick: w[5] || (w[5] = V((H) => a("select"), ["stop"])),
|
|
756
758
|
onKeydown: [
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
759
|
+
w[6] || (w[6] = R(V((H) => a("select"), ["stop"]), ["enter"])),
|
|
760
|
+
w[7] || (w[7] = R(V((H) => a("select"), ["prevent", "stop"]), ["space"])),
|
|
761
|
+
w[8] || (w[8] = R(V((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
|
|
762
|
+
w[9] || (w[9] = R(V((H) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
|
|
763
|
+
w[10] || (w[10] = R(V((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
|
|
764
|
+
w[11] || (w[11] = R(V((H) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
|
|
765
|
+
w[12] || (w[12] = R(V((H) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
|
|
766
|
+
w[13] || (w[13] = R(V((H) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
|
|
767
|
+
w[14] || (w[14] = R(V((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
|
|
768
|
+
w[15] || (w[15] = R(V((H) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
|
|
769
|
+
w[16] || (w[16] = R(V((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
|
|
770
|
+
w[17] || (w[17] = R(V((H) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
|
|
771
|
+
w[18] || (w[18] = R(V((H) => g.value && a("close"), ["prevent", "stop"]), ["delete"]))
|
|
770
772
|
],
|
|
771
773
|
onAuxclick: V(de, ["stop"]),
|
|
772
774
|
onContextmenu: bt,
|
|
@@ -775,9 +777,9 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
775
777
|
onPointerup: T,
|
|
776
778
|
onPointerleave: T,
|
|
777
779
|
onMouseenter: oe,
|
|
778
|
-
onMouseleave:
|
|
780
|
+
onMouseleave: w[19] || (w[19] = (H) => m.value = !1),
|
|
779
781
|
onFocus: Y,
|
|
780
|
-
onBlur:
|
|
782
|
+
onBlur: w[20] || (w[20] = (H) => f.value = !1)
|
|
781
783
|
}, [
|
|
782
784
|
e.tab.icon ? (i(), U(N, {
|
|
783
785
|
key: 0,
|
|
@@ -796,7 +798,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
796
798
|
class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
|
|
797
799
|
title: e.closeLabel,
|
|
798
800
|
"aria-label": `${e.closeLabel}: ${j.value}`,
|
|
799
|
-
onClick:
|
|
801
|
+
onClick: w[0] || (w[0] = V((H) => a("close"), ["stop"]))
|
|
800
802
|
}, [
|
|
801
803
|
O(N, {
|
|
802
804
|
name: "gtk-close",
|
|
@@ -805,7 +807,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
805
807
|
})
|
|
806
808
|
], 8, Ba)) : x("", !0),
|
|
807
809
|
(i(), U(ge, { to: "body" }, [
|
|
808
|
-
O(
|
|
810
|
+
O(we, {
|
|
809
811
|
"enter-active-class": "transition duration-150 ease-out",
|
|
810
812
|
"enter-from-class": "opacity-0 scale-95",
|
|
811
813
|
"leave-active-class": "transition duration-100 ease-in",
|
|
@@ -818,9 +820,9 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
818
820
|
ref_key: "desplegadoRef",
|
|
819
821
|
ref: u,
|
|
820
822
|
style: fe(P.value),
|
|
821
|
-
onMouseenter:
|
|
822
|
-
onMouseleave:
|
|
823
|
-
onFocusin:
|
|
823
|
+
onMouseenter: w[2] || (w[2] = (H) => d.value = !0),
|
|
824
|
+
onMouseleave: w[3] || (w[3] = (H) => d.value = !1),
|
|
825
|
+
onFocusin: w[4] || (w[4] = (H) => d.value = !0),
|
|
824
826
|
onFocusout: K
|
|
825
827
|
}, [
|
|
826
828
|
B("span", Sa, M(e.tab.label), 1),
|
|
@@ -831,7 +833,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
831
833
|
class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
|
|
832
834
|
title: e.closeLabel,
|
|
833
835
|
"aria-label": `${e.closeLabel}: ${j.value}`,
|
|
834
|
-
onClick:
|
|
836
|
+
onClick: w[1] || (w[1] = V((H) => a("close"), ["stop"]))
|
|
835
837
|
}, [
|
|
836
838
|
O(N, {
|
|
837
839
|
name: "gtk-close",
|
|
@@ -858,7 +860,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
858
860
|
},
|
|
859
861
|
emits: ["update:modelValue", "select", "close", "new", "reorder", "menu"],
|
|
860
862
|
setup(e, { emit: n }) {
|
|
861
|
-
const t = e, a = n, { vertical: l } = he(), o =
|
|
863
|
+
const t = e, a = n, { vertical: l } = he(), o = k(null), s = k(0), u = k(null), m = k(null);
|
|
862
864
|
function f(h) {
|
|
863
865
|
a("update:modelValue", h), a("select", h);
|
|
864
866
|
}
|
|
@@ -978,7 +980,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
978
980
|
function s(d) {
|
|
979
981
|
a.lazy && l("update:modelValue", d.target.value);
|
|
980
982
|
}
|
|
981
|
-
const u =
|
|
983
|
+
const u = k(null);
|
|
982
984
|
function m() {
|
|
983
985
|
return u.value?.focus(), u.value !== null && document.activeElement === u.value;
|
|
984
986
|
}
|
|
@@ -1028,7 +1030,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
1028
1030
|
},
|
|
1029
1031
|
emits: ["update:modelValue", "search", "clear", "keydown"],
|
|
1030
1032
|
setup(e, { expose: n, emit: t }) {
|
|
1031
|
-
const a = e, l = t, o =
|
|
1033
|
+
const a = e, l = t, o = k(null);
|
|
1032
1034
|
let s;
|
|
1033
1035
|
const u = v(() => a.modelValue.length > 0), m = v(
|
|
1034
1036
|
() => a.listboxId ? {
|
|
@@ -1116,7 +1118,7 @@ const wa = ["title", "aria-label"], ka = ["title", "aria-label"], $a = ["title",
|
|
|
1116
1118
|
},
|
|
1117
1119
|
emits: ["update:modelValue", "search", "open", "close"],
|
|
1118
1120
|
setup(e, { emit: n }) {
|
|
1119
|
-
const t = e, a = n, { vertical: l, posicion: o } = he(), s =
|
|
1121
|
+
const t = e, a = n, { vertical: l, posicion: o } = he(), s = k(!1), u = k(null), m = v(() => l.value || t.collapsed), f = v(() => !m.value || s.value), d = v(() => {
|
|
1120
1122
|
if (!m.value) return "";
|
|
1121
1123
|
const g = "absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";
|
|
1122
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`;
|
|
@@ -1343,7 +1345,7 @@ const Za = ["role"], _a = {
|
|
|
1343
1345
|
B("div", {
|
|
1344
1346
|
class: y(["pointer-events-none fixed z-60 flex flex-col gap-2", t.value])
|
|
1345
1347
|
}, [
|
|
1346
|
-
O(
|
|
1348
|
+
O(wt, {
|
|
1347
1349
|
"enter-active-class": "transition-all duration-300 ease-out",
|
|
1348
1350
|
"leave-active-class": "transition-all duration-200 ease-in",
|
|
1349
1351
|
"enter-from-class": "translate-y-2 opacity-0",
|
|
@@ -1423,7 +1425,7 @@ function pn() {
|
|
|
1423
1425
|
const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 flex-1 truncate" }, hn = {
|
|
1424
1426
|
key: 0,
|
|
1425
1427
|
class: "ml-2 text-tx-muted text-xs"
|
|
1426
|
-
}, xn = { class: "border-ui-border border-b p-2" },
|
|
1428
|
+
}, xn = { class: "border-ui-border border-b p-2" }, kn = ["id"], wn = {
|
|
1427
1429
|
key: 0,
|
|
1428
1430
|
class: "p-3 text-center text-tx-muted text-xs"
|
|
1429
1431
|
}, $n = ["id", "data-indice", "aria-selected"], Cn = { class: "min-w-0 flex-1 truncate" }, zn = {
|
|
@@ -1447,7 +1449,7 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
|
|
|
1447
1449
|
},
|
|
1448
1450
|
emits: ["update:modelValue"],
|
|
1449
1451
|
setup(e, { emit: n }) {
|
|
1450
|
-
const t = e, a = n, l =
|
|
1452
|
+
const t = e, a = n, l = k(""), o = k(!1), s = k(0), u = k(null), m = k(null), f = k(null), d = pn(), E = v(
|
|
1451
1453
|
() => t.options.find((T) => T.valor === t.modelValue) ?? null
|
|
1452
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(
|
|
1453
1455
|
() => A.value.length > 0 ? `${d}-${s.value}` : void 0
|
|
@@ -1570,7 +1572,7 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
|
|
|
1570
1572
|
role: "listbox",
|
|
1571
1573
|
class: "max-h-56 overflow-y-auto p-1"
|
|
1572
1574
|
}, [
|
|
1573
|
-
A.value.length === 0 ? (i(), r("li",
|
|
1575
|
+
A.value.length === 0 ? (i(), r("li", wn, M(e.emptyText), 1)) : x("", !0),
|
|
1574
1576
|
(i(!0), r(te, null, ue(A.value, (I, de) => (i(), r("li", {
|
|
1575
1577
|
id: `${F(d)}-${de}`,
|
|
1576
1578
|
key: I.valor,
|
|
@@ -1586,7 +1588,7 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
|
|
|
1586
1588
|
I.detalle ? (i(), r("span", zn, M(I.detalle), 1)) : x("", !0)
|
|
1587
1589
|
], 10, $n))), 128)),
|
|
1588
1590
|
g.value > 0 ? (i(), r("li", En, "+" + M(g.value), 1)) : x("", !0)
|
|
1589
|
-
], 8,
|
|
1591
|
+
], 8, kn)
|
|
1590
1592
|
], 34)) : x("", !0)
|
|
1591
1593
|
], 32));
|
|
1592
1594
|
}
|
|
@@ -1681,15 +1683,15 @@ const yn = ["disabled", "aria-label", "aria-expanded"], gn = { class: "min-w-0 f
|
|
|
1681
1683
|
}
|
|
1682
1684
|
}), rt = /* @__PURE__ */ Symbol("diálogo de vasak");
|
|
1683
1685
|
function st() {
|
|
1684
|
-
const e =
|
|
1686
|
+
const e = ke(rt, null);
|
|
1685
1687
|
if (e) return e;
|
|
1686
|
-
const n =
|
|
1688
|
+
const n = k(!1);
|
|
1687
1689
|
return {
|
|
1688
1690
|
abierto: v(() => n.value),
|
|
1689
1691
|
cerrar: () => {
|
|
1690
1692
|
n.value = !1;
|
|
1691
1693
|
},
|
|
1692
|
-
idDelTitulo:
|
|
1694
|
+
idDelTitulo: k(null),
|
|
1693
1695
|
ponerElTitulo: () => {
|
|
1694
1696
|
}
|
|
1695
1697
|
};
|
|
@@ -1705,7 +1707,7 @@ const Nn = /* @__PURE__ */ D({
|
|
|
1705
1707
|
},
|
|
1706
1708
|
emits: ["update:open"],
|
|
1707
1709
|
setup(e, { emit: n }) {
|
|
1708
|
-
const t = e, a = n, l =
|
|
1710
|
+
const t = e, a = n, l = k(null);
|
|
1709
1711
|
return ye(rt, {
|
|
1710
1712
|
abierto: v(() => t.open),
|
|
1711
1713
|
cerrar: () => a("update:open", !1),
|
|
@@ -1729,7 +1731,7 @@ const Nn = /* @__PURE__ */ D({
|
|
|
1729
1731
|
const n = e, t = Be(), a = v(() => t.class ?? ""), l = v(() => {
|
|
1730
1732
|
const { class: C, ...h } = t;
|
|
1731
1733
|
return h;
|
|
1732
|
-
}), 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 =
|
|
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 = k(null), f = k(null);
|
|
1733
1735
|
let d = null;
|
|
1734
1736
|
function E() {
|
|
1735
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"])')] : [];
|
|
@@ -1777,7 +1779,7 @@ const Nn = /* @__PURE__ */ D({
|
|
|
1777
1779
|
), ve(() => {
|
|
1778
1780
|
$(), j();
|
|
1779
1781
|
}), (C, h) => (i(), U(ge, { to: "body" }, [
|
|
1780
|
-
O(
|
|
1782
|
+
O(we, {
|
|
1781
1783
|
"enter-active-class": "transition-opacity duration-200 ease-out",
|
|
1782
1784
|
"leave-active-class": "transition-opacity duration-150 ease-in",
|
|
1783
1785
|
"enter-from-class": "opacity-0",
|
|
@@ -1846,19 +1848,19 @@ const Nn = /* @__PURE__ */ D({
|
|
|
1846
1848
|
}
|
|
1847
1849
|
}), ut = /* @__PURE__ */ Symbol("menú de vasak");
|
|
1848
1850
|
function Ce() {
|
|
1849
|
-
const e =
|
|
1851
|
+
const e = ke(ut, null);
|
|
1850
1852
|
if (e) return e;
|
|
1851
|
-
const n =
|
|
1853
|
+
const n = k(!1);
|
|
1852
1854
|
return {
|
|
1853
1855
|
abierto: n,
|
|
1854
1856
|
idDelMenu: "vsk-menu-suelto",
|
|
1855
|
-
idDeLaEtiqueta:
|
|
1857
|
+
idDeLaEtiqueta: k(null),
|
|
1856
1858
|
ponerLaEtiqueta: () => {
|
|
1857
1859
|
},
|
|
1858
|
-
disparador:
|
|
1860
|
+
disparador: k(null),
|
|
1859
1861
|
ponerElDisparador: () => {
|
|
1860
1862
|
},
|
|
1861
|
-
focoAlAbrir:
|
|
1863
|
+
focoAlAbrir: k("ninguno"),
|
|
1862
1864
|
abrir: () => {
|
|
1863
1865
|
n.value = !0;
|
|
1864
1866
|
},
|
|
@@ -1881,7 +1883,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
|
|
|
1881
1883
|
},
|
|
1882
1884
|
emits: ["update:open"],
|
|
1883
1885
|
setup(e, { emit: n }) {
|
|
1884
|
-
const t = e, a = n, l =
|
|
1886
|
+
const t = e, a = n, l = k(!1), o = k(null), s = k(null), u = k("ninguno"), m = ct();
|
|
1885
1887
|
let f = null;
|
|
1886
1888
|
const d = v({
|
|
1887
1889
|
get: () => t.open ?? l.value,
|
|
@@ -1942,7 +1944,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
|
|
|
1942
1944
|
sideOffset: { default: 4 }
|
|
1943
1945
|
},
|
|
1944
1946
|
setup(e) {
|
|
1945
|
-
const n = e, t = Ce(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u =
|
|
1947
|
+
const n = e, t = Ce(), { idDelMenu: a, idDeLaEtiqueta: l } = t, o = v(() => t.disparador.value), s = v(() => t.abierto.value), u = k(null), m = k({
|
|
1946
1948
|
top: 0,
|
|
1947
1949
|
left: 0,
|
|
1948
1950
|
techo: null
|
|
@@ -2072,7 +2074,7 @@ const el = { class: "relative inline-block" }, tl = /* @__PURE__ */ D({
|
|
|
2072
2074
|
}), pe(() => {
|
|
2073
2075
|
document.removeEventListener("click", h), window.removeEventListener("resize", C), window.removeEventListener("scroll", C, !0);
|
|
2074
2076
|
}), (c, b) => (i(), U(ge, { to: "body" }, [
|
|
2075
|
-
O(
|
|
2077
|
+
O(we, {
|
|
2076
2078
|
"enter-active-class": "transition-all duration-150 ease-in-out",
|
|
2077
2079
|
"leave-active-class": "transition-all duration-150 ease-in-out",
|
|
2078
2080
|
"enter-from-class": "opacity-0 scale-95",
|
|
@@ -2196,7 +2198,7 @@ const dl = D({
|
|
|
2196
2198
|
disabled: { type: Boolean, default: !1 }
|
|
2197
2199
|
},
|
|
2198
2200
|
setup(e, { slots: n, attrs: t }) {
|
|
2199
|
-
const a = Ce(), l =
|
|
2201
|
+
const a = Ce(), l = k(null);
|
|
2200
2202
|
function o() {
|
|
2201
2203
|
a.ponerElDisparador(cl(l.value));
|
|
2202
2204
|
}
|
|
@@ -2293,7 +2295,7 @@ const dl = D({
|
|
|
2293
2295
|
}), pl = /* @__PURE__ */ $e(vl, [["__scopeId", "data-v-f86d47da"]]), 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 = {
|
|
2294
2296
|
key: 1,
|
|
2295
2297
|
class: "w-8 h-8 flex items-center justify-center"
|
|
2296
|
-
},
|
|
2298
|
+
}, kl = ["src"], wl = ["min", "max", "value", "aria-label", "aria-valuetext"], $l = /* @__PURE__ */ D({
|
|
2297
2299
|
__name: "SliderControl",
|
|
2298
2300
|
props: {
|
|
2299
2301
|
name: { default: "" },
|
|
@@ -2358,7 +2360,7 @@ const dl = D({
|
|
|
2358
2360
|
src: e.icon,
|
|
2359
2361
|
alt: "",
|
|
2360
2362
|
class: "w-6 h-6"
|
|
2361
|
-
}, null, 8,
|
|
2363
|
+
}, null, 8, kl))
|
|
2362
2364
|
])),
|
|
2363
2365
|
B("input", {
|
|
2364
2366
|
type: "range",
|
|
@@ -2369,7 +2371,7 @@ const dl = D({
|
|
|
2369
2371
|
"aria-label": e.label,
|
|
2370
2372
|
"aria-valuetext": `${l.value}%`,
|
|
2371
2373
|
class: "flex-1 transition-[scale] duration-200 hover:scale-105"
|
|
2372
|
-
}, null, 40,
|
|
2374
|
+
}, null, 40, wl),
|
|
2373
2375
|
B("span", {
|
|
2374
2376
|
class: y(["w-12 text-right transition-[color] duration-200 font-medium", o.value])
|
|
2375
2377
|
}, M(l.value) + "% ", 3)
|
|
@@ -2541,12 +2543,12 @@ const dl = D({
|
|
|
2541
2543
|
}
|
|
2542
2544
|
}), ft = /* @__PURE__ */ Symbol("tooltip de vasak");
|
|
2543
2545
|
function mt() {
|
|
2544
|
-
const e =
|
|
2546
|
+
const e = ke(ft, null);
|
|
2545
2547
|
if (e) return e;
|
|
2546
|
-
const n =
|
|
2548
|
+
const n = k(!1);
|
|
2547
2549
|
return {
|
|
2548
2550
|
abierto: v(() => n.value),
|
|
2549
|
-
disparador:
|
|
2551
|
+
disparador: k(null),
|
|
2550
2552
|
ponerElDisparador: () => {
|
|
2551
2553
|
},
|
|
2552
2554
|
abrir: () => {
|
|
@@ -2564,7 +2566,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
|
|
|
2564
2566
|
delayDuration: { default: 200 }
|
|
2565
2567
|
},
|
|
2566
2568
|
setup(e) {
|
|
2567
|
-
const n = e, t =
|
|
2569
|
+
const n = e, t = k(!1), a = k(null);
|
|
2568
2570
|
let l = null;
|
|
2569
2571
|
function o() {
|
|
2570
2572
|
n.disabled || (l = setTimeout(() => {
|
|
@@ -2595,7 +2597,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
|
|
|
2595
2597
|
sideOffset: { default: 4 }
|
|
2596
2598
|
},
|
|
2597
2599
|
setup(e) {
|
|
2598
|
-
const n = Be(), t = v(() => n.class ?? ""), a = e, l = mt(), o = v(() => l.abierto.value), s =
|
|
2600
|
+
const n = Be(), t = v(() => n.class ?? ""), a = e, l = mt(), o = v(() => l.abierto.value), s = k(null), u = k({ top: 0, left: 0 });
|
|
2599
2601
|
function m() {
|
|
2600
2602
|
const f = l.disparador.value;
|
|
2601
2603
|
if (!f || !s.value) return;
|
|
@@ -2620,7 +2622,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
|
|
|
2620
2622
|
return Q(o, async (f) => {
|
|
2621
2623
|
f && (await J(), requestAnimationFrame(m));
|
|
2622
2624
|
}), (f, d) => (i(), U(ge, { to: "body" }, [
|
|
2623
|
-
O(
|
|
2625
|
+
O(we, {
|
|
2624
2626
|
"enter-active-class": "transition-all duration-200 ease-in-out",
|
|
2625
2627
|
"leave-active-class": "transition-all duration-200 ease-in-out",
|
|
2626
2628
|
"enter-from-class": "opacity-0 scale-95",
|
|
@@ -2648,7 +2650,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
|
|
|
2648
2650
|
}), jl = /* @__PURE__ */ D({
|
|
2649
2651
|
__name: "TooltipTrigger",
|
|
2650
2652
|
setup(e) {
|
|
2651
|
-
const n = mt(), t =
|
|
2653
|
+
const n = mt(), t = k(null);
|
|
2652
2654
|
function a() {
|
|
2653
2655
|
return t.value ? t.value.firstElementChild ?? t.value : null;
|
|
2654
2656
|
}
|
|
@@ -2689,7 +2691,7 @@ const Vl = { class: "inline-block" }, Il = /* @__PURE__ */ D({
|
|
|
2689
2691
|
},
|
|
2690
2692
|
emits: ["click"],
|
|
2691
2693
|
setup(e, { emit: n }) {
|
|
2692
|
-
const t = e, a = n, l =
|
|
2694
|
+
const t = e, a = n, l = k(!1);
|
|
2693
2695
|
W(() => {
|
|
2694
2696
|
t.icon && !t.name && console.warn(
|
|
2695
2697
|
"[TrayIconButton] «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."
|
package/dist/vue-libvasak.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@tauri-apps/api/event"),require("@vasakgroup/plugin-vicons"),require("@tauri-apps/api/window"),require("@vasakgroup/tauri-plugin-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window","@vasakgroup/tauri-plugin-i18n"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.VueLibVasak={},d.Vue,d.TauriEvent,d.VasakVicons,d.TauriWindow,d.tauriPluginI18n))})(this,(function(d,e,wt,we,Bt,Ct){"use strict";const Et="vicons:theme-changed",J=new Map,R=new Map,G=e.ref(0);let K=0,Q=null,q=null;function $t(){J.clear(),R.clear(),K=0,Q=null,q=null,G.value=0,P.clear(),j.clear(),Be=0,F?.disconnect(),F=null,ae=!1,M!==null&&(clearTimeout(M),M=null),I&&(I.cancelado=!0),I=null}const Vt=100,ne=10,zt=16,P=new Map,j=new Set;let Be=0,F=null,ae=!1;function Dt(){return ae?F:(ae=!0,typeof IntersectionObserver>"u"?null:(F=new IntersectionObserver(t=>{for(const a of t){const o=a.target.dataset?.iconoId;if(o==null)continue;const n=Number.parseInt(o,10);a.isIntersecting?j.add(n):j.delete(n)}},{threshold:0}),F))}function St(t){const a=Be++;return P.set(a,{recargar:t,elemento:null}),j.add(a),a}function Lt(t,a){const o=P.get(t);if(!o||o.elemento===a||(o.elemento&&(F?.unobserve(o.elemento),delete o.elemento.dataset.iconoId,o.elemento=null),!a))return;const n=Dt();n&&(o.elemento=a,a.dataset.iconoId=String(t),n.observe(a))}function Nt(t){const a=P.get(t);a?.elemento&&(F?.unobserve(a.elemento),delete a.elemento.dataset.iconoId),j.delete(t),P.delete(t)}let M=null,I=null;function Tt(t){return new Promise(a=>setTimeout(a,t))}async function Mt(t){const a=[...P.keys()],o=a.filter(l=>j.has(l)),n=a.filter(l=>!j.has(l));for(const l of[o,n])for(let r=0;r<l.length;r+=ne){if(t.cancelado)return;const i=l.slice(r,r+ne);if(await Promise.allSettled(i.map(s=>P.get(s)?.recargar()??Promise.resolve())),t.cancelado)return;(r+ne<l.length||l===o)&&await Tt(zt)}I===t&&(I=null)}function At(){M!==null&&(clearTimeout(M),M=null),I&&(I.cancelado=!0);const t={cancelado:!1};I=t,Mt(t)}function It(){J.clear(),R.clear(),G.value++,M!==null&&clearTimeout(M),M=setTimeout(()=>{M=null,At()},Vt)}function Ce(){return K++,Q||q?q??Promise.resolve():(q=wt.listen(Et,It).then(t=>{K<=0?t():Q=t,q=null}),q)}function le(){K--,!(K>0)&&(K=0,Q?.(),Q=null)}function Ot(t,a){const o=`${a}:${t}`,n=J.get(o);if(n!==void 0)return Promise.resolve(n);const l=R.get(o);if(l)return l;const r=G.value,i=(a==="symbol"?we.getSymbolSource(t):we.getIconSource(t)).then(s=>(G.value===r&&J.set(o,s),s)).finally(()=>{R.get(o)===i&&R.delete(o)});return R.set(o,i),i}function Pt(){let t=!1;return e.onMounted(async()=>{await Ce(),t&&le()}),e.onUnmounted(()=>{t||(t=!0,le())}),e.readonly(G)}function jt(t,a){const o=e.ref("");let n=!1,l=0;const r=St(async()=>{await i()});async function i(){const s=++l,f=t.value;if(!f){o.value="";return}const u=await Ot(f,a.value);s===l&&!n&&(o.value=u)}return e.onMounted(async()=>{await Ce(),n||await i()}),e.onUnmounted(()=>{n=!0,Nt(r),le()}),e.watch([t,a],i),{fuente:o,mirarElemento:s=>Lt(r,s)}}const Ft=["src","alt"],D=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,{fuente:o,mirarElemento:n}=jt(e.toRef(a,"name"),e.toRef(a,"type")),l=e.useTemplateRef("dibujo");e.watch(l,i=>n(i),{immediate:!0});const r=e.computed(()=>`${a.size}px`);return(i,s)=>e.unref(o)?(e.openBlock(),e.createElementBlock("img",{key:0,ref_key:"dibujo",ref:l,src:e.unref(o),alt:t.alt,style:e.normalizeStyle({width:r.value,height:r.value}),class:"shrink-0 object-contain"},null,12,Ft)):(e.openBlock(),e.createElementBlock("span",{key:1,ref_key:"dibujo",ref:l,style:e.normalizeStyle({width:r.value,height:r.value}),class:"shrink-0"},null,4))}}),Rt={class:"flex flex-col gap-2"},Kt=["aria-expanded"],qt={key:1,class:"flex flex-col gap-1"},re=e.defineComponent({__name:"SideGroup",props:{title:{},collapsed:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0}},setup(t){const a=t,o=e.ref(a.defaultOpen);return e.watch(()=>a.collapsed,n=>{n&&(o.value=!0)}),(n,l)=>(e.openBlock(),e.createElementBlock("section",Rt,[t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",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","aria-expanded":o.value,onClick:l[0]||(l[0]=r=>o.value=!o.value)},[e.createElementVNode("span",null,e.toDisplayString(t.title),1),e.createVNode(D,{name:"pan-down-symbolic",type:"symbol",size:12,class:e.normalizeClass(["transition-transform duration-200",o.value?"":"-rotate-90"])},null,8,["class"])],8,Kt)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",qt,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),Ut=["title","aria-label","disabled","aria-current"],Ht={key:1},Wt={key:0,class:"min-w-0 flex-1 truncate font-medium"},Gt={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},ie=e.defineComponent({__name:"SideButton",props:{label:{},icon:{default:""},active:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},badge:{default:""}},emits:["click"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("button",{type:"button",title:t.collapsed?t.label:void 0,"aria-label":t.collapsed?t.label:void 0,disabled:t.disabled,"aria-current":t.active?"page":void 0,class:e.normalizeClass(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-[color,background-color,border-color,scale] duration-200 active:scale-[0.98]",[t.active?"border-secondary bg-primary/15 text-tx-main shadow-sm":"border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",t.disabled?"cursor-not-allowed opacity-60":"cursor-pointer",t.collapsed?"justify-center px-2":""]]),onClick:o[0]||(o[0]=n=>a.$emit("click"))},[e.createElementVNode("span",{class:e.normalizeClass(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide",t.active?"border-secondary bg-primary/20":""]),"aria-hidden":"true"},[t.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.icon,size:20},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Gt,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,Ut))}}),Qt={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Yt={class:"flex items-center gap-2"},Xt=["aria-label","aria-expanded"],Jt={key:0,class:"min-w-0 flex-1"},Zt={key:0,class:"truncate font-semibold text-sm"},_t={key:1,class:"truncate text-tx-muted text-xs"},vt={key:0},eo={key:1,class:"flex border-ui-border border-b p-2"},to=["aria-label","aria-expanded"],oo={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},Ee="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",$e=767,Ve=e.defineComponent({__name:"SideBar",props:{title:{default:""},subtitle:{default:""},categories:{default:()=>[]},modelValue:{default:""},collapsed:{type:Boolean,default:void 0},collapseLabel:{default:"Collapse"},expandLabel:{default:"Expand"}},emits:["update:modelValue","update:collapsed","change"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(n.collapsed??!1),i=e.ref(!1);let s=null,f=null;const u=e.computed(()=>i.value||r.value),m=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function B(){return document.documentElement?.clientWidth||window.innerWidth}function C(){i.value=B()<=$e}function $(){r.value=!r.value,l("update:collapsed",r.value)}function y(h){l("update:modelValue",h),l("change",h)}return e.watch(()=>n.collapsed,h=>{h!==void 0&&(r.value=h)}),e.onMounted(()=>{s=window.matchMedia(`(max-width: ${$e}px)`),C(),s.addEventListener("change",C),window.addEventListener("resize",C),typeof ResizeObserver<"u"&&document.documentElement&&(f=new ResizeObserver(C),f.observe(document.documentElement))}),e.onBeforeUnmount(()=>{s?.removeEventListener("change",C),window.removeEventListener("resize",C),f?.disconnect(),f=null}),a({collapsed:u}),(h,z)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["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]",u.value?"md:w-[84px]":"md:w-72"]])},[m.value||h.$slots.header?(e.openBlock(),e.createElementBlock("header",Qt,[e.createElementVNode("div",Yt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(Ee),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(D,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Xt),m.value&&!u.value?(e.openBlock(),e.createElementBlock("div",Jt,[t.title?(e.openBlock(),e.createElementBlock("p",Zt,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",_t,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),h.$slots.header&&!u.value?(e.openBlock(),e.createElementBlock("div",vt,[e.renderSlot(h.$slots,"header",{collapsed:u.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(Ee),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(D,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,to)])),e.createElementVNode("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,x=>(e.openBlock(),e.createBlock(re,{key:x.id,title:x.title,collapsed:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.items,k=>(e.openBlock(),e.createBlock(ie,{key:k.id,label:k.label,icon:k.icon,badge:k.badge,disabled:k.disabled,collapsed:u.value,active:t.modelValue===k.id,onClick:c=>y(k.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(h.$slots,"default",{collapsed:u.value})])],2))}}),no={class:"flex min-w-0 flex-col gap-1"},ao=["for"],lo={class:"relative flex min-w-0 items-center"},ro=["id"],ze=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:a}){const o=t,n=e.useAttrs(),l=e.useId(),r=e.computed(()=>n.id??l),i=a,[s,f]=e.useModel(t,"modelValue",{set(u){return f.number?Number(u):u}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",no,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"text-tx-muted text-xs"},e.toDisplayString(o.label),9,ao)):e.createCommentVNode("",!0),e.createElementVNode("div",lo,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:r.value,"onUpdate:modelValue":m[0]||(m[0]=B=>e.isRef(s)?s.value=B:null),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"},e.unref(n),{onChange:m[1]||(m[1]=B=>i("change",B))}),[e.renderSlot(u.$slots,"default")],16,ro),[[e.vModelSelect,e.unref(s)]]),e.createVNode(D,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),Z=Symbol("barra de vasak");function _(t){return t==="left"||t==="right"?"vertical":"horizontal"}const De=["top","bottom","left","right"];function Se(t){return typeof t=="string"&&De.includes(t)}function U(){const t=e.inject(Z,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>_(a.value)),vertical:e.computed(()=>_(a.value)==="vertical")}}const v=["minimize","maximize","close"],io="window",so="barPosition";function Le(t){const o=t?.[io]?.[so];return Se(o)?o:null}function Ne(t="top"){const a=e.ref(t);let o=null,n=!1;async function l(){try{const{readConfig:r}=await import("@vasakgroup/plugin-config-manager"),i=await r();a.value=Le(i)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),i=await r("config-changed",()=>{l()});if(n){i();return}o=i}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}function Te(t){const a=e.getCurrentInstance(),o={};for(const n of t){const l=`on${n[0].toUpperCase()}${n.slice(1)}`;a?.vnode.props?.[l]&&(o[n]=()=>a.emit(n))}return o}const co=["title","aria-label"],mo=["title","aria-label"],uo=["title","aria-label"],se="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",ce=e.defineComponent({__name:"WindowControls",props:{controls:{default:()=>v},minimizeLabel:{},maximizeLabel:{},closeLabel:{}},emits:["minimize","maximize","close"],setup(t,{emit:a}){const o=t,{t:n}=Ct.useI18n(),l=e.computed(()=>o.minimizeLabel??n("ventana.minimizar")),r=e.computed(()=>o.maximizeLabel??n("ventana.maximizar")),i=e.computed(()=>o.closeLabel??n("ventana.cerrar")),s=a,{vertical:f}=U(),u=e.computed(()=>({minimize:o.controls.includes("minimize"),maximize:o.controls.includes("maximize"),close:o.controls.includes("close")}));function m(){return Bt.getCurrentWindow()}const B=e.getCurrentInstance();function C(z){return!!B?.vnode.props?.[`on${z}`]}function $(){if(C("Minimize"))return s("minimize");m().minimize()}function y(){if(C("Maximize"))return s("maximize");m().toggleMaximize()}function h(){if(C("Close"))return s("close");m().close()}return(z,x)=>t.controls.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(f)?"flex-col":""]),"data-tauri-drag-region":""},[u.value.minimize?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([se,"hover:bg-status-success"]),title:l.value,"aria-label":l.value,onClick:x[0]||(x[0]=k=>$())},[e.createVNode(D,{name:"window-minimize",type:"symbol",size:24})],10,co)):e.createCommentVNode("",!0),u.value.maximize?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([se,"hover:bg-status-warning"]),title:r.value,"aria-label":r.value,onClick:x[1]||(x[1]=k=>y())},[e.createVNode(D,{name:"window-maximize",type:"symbol",size:24})],10,mo)):e.createCommentVNode("",!0),u.value.close?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass([se,"hover:bg-status-error"]),title:i.value,"aria-label":i.value,onClick:x[2]||(x[2]=k=>h())},[e.createVNode(D,{name:"window-close",type:"symbol",size:24})],10,uo)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),fo={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},po={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},de=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>v}},emits:["minimize","maximize","close"],setup(t){const a=t,o=U(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(Z,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex shrink-0 items-center gap-2 p-1 font-title",l.value?"h-full flex-col":"w-full"]),"data-tauri-drag-region":""},[r.$slots.identidad?(e.openBlock(),e.createElementBlock("div",fo,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",po,[e.renderSlot(r.$slots,"titulo",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 flex-1 items-center gap-2 overflow-auto",l.value?"flex-col":""]),"data-tauri-drag-region":""},[e.renderSlot(r.$slots,"default")],2),r.$slots.acciones?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["flex shrink-0 items-center gap-1",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"acciones")],2)):e.createCommentVNode("",!0),e.createVNode(ce,e.mergeProps({controls:t.controls,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},e.toHandlers(e.unref(Te)(["minimize","maximize","close"]))),null,16,["controls","minimize-label","maximize-label","close-label"]),r.$slots.centro?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["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"])},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto flex items-center gap-2",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"centro")],2)],2)):e.createCommentVNode("",!0)],2))}}),bo={class:"flex min-h-0 min-w-0 flex-1"},Me=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>v},hideBar:{type:Boolean,default:!1}},emits:["minimize","maximize","close"],setup(t){const a=t,o=Ne(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>_(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(Z,{posicion:n,orientacion:l,vertical:r});const i={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80",i[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(de,e.mergeProps({key:0,position:n.value,title:t.title,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel,controls:t.controls},e.toHandlers(e.unref(Te)(["minimize","maximize","close"]))),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"barra")]),_:2},[s.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"identidad")]),key:"0"}:void 0,s.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"titulo")]),key:"1"}:void 0,s.$slots.centro?{name:"centro",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"centro")]),key:"2"}:void 0,s.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"acciones")]),key:"3"}:void 0]),1040,["position","title","minimize-label","maximize-label","close-label","controls"])),e.createElementVNode("div",bo,[e.renderSlot(s.$slots,"default")])],2))}}),yo=["aria-selected","title","aria-label","tabindex"],ko={key:1,"aria-hidden":"true"},go={key:2,class:"min-w-0 flex-1 truncate"},ho=["title","aria-label"],xo={class:"whitespace-nowrap"},wo={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},Bo=["title","aria-label"],Co=500,Ae=8,Ie=6,me=e.defineComponent({__name:"TabItem",props:{tab:{},active:{type:Boolean,default:!1},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},tabindex:{default:0}},emits:["select","close","menu","mover","navegar"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=U(),i=e.ref(null),s=e.ref(null),f=e.ref(!1),u=e.ref(!1),m=e.ref(!1),B=e.ref({top:0,left:0,right:0});let C=null,$=null;const y=e.computed(()=>o.tab.closable!==!1),h=e.computed(()=>o.tab.tooltip??o.tab.label),z=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),x=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),k=e.computed(()=>f.value||m.value),c=e.computed(()=>!!o.tab.dirty&&!(k.value&&y.value)),p=e.computed(()=>y.value&&(k.value||o.active||!o.tab.dirty)),b=e.computed(()=>l.value&&(f.value||u.value||m.value)),S=e.computed(()=>{const L={position:"fixed",top:`${B.value.top}px`,zIndex:50};return r.value==="right"?{...L,right:`${B.value.right+Ie}px`}:{...L,left:`${B.value.left+Ie}px`}});function H(){const L=i.value;if(!L)return;const g=L.getBoundingClientRect();B.value={top:g.top,left:g.right,right:window.innerWidth-g.left}}function T(L){const g=L.relatedTarget;g&&s.value?.contains(g)||(m.value=!1)}function W(){f.value=!0,H()}function A(){u.value=!0,H()}function E(){C!==null&&clearTimeout(C),C=null,$=null}function w(L){L.button===0&&($={x:L.clientX,y:L.clientY},C=setTimeout(()=>{$&&n("menu",$),E()},Co))}function V(L){if(!$)return;(Math.abs(L.clientX-$.x)>Ae||Math.abs(L.clientY-$.y)>Ae)&&E()}function X(L){L.button===1&&y.value&&(L.preventDefault(),n("close"))}function Xn(L){L.preventDefault(),n("menu",{x:L.clientX,y:L.clientY})}return e.onBeforeUnmount(E),(L,g)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:i,class:e.normalizeClass(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors",[t.active?"bg-primary font-bold text-tx-on-primary":"bg-ui-bg/80 hover:bg-ui-surface/70",e.unref(l)?"size-8 justify-center p-0 text-sm":"w-34 max-w-34 px-3 py-1 text-sm"]]),role:"tab","aria-selected":t.active,title:h.value,"aria-label":z.value,tabindex:t.tabindex,onClick:g[5]||(g[5]=e.withModifiers(N=>n("select"),["stop"])),onKeydown:[g[6]||(g[6]=e.withKeys(e.withModifiers(N=>n("select"),["stop"]),["enter"])),g[7]||(g[7]=e.withKeys(e.withModifiers(N=>n("select"),["prevent","stop"]),["space"])),g[8]||(g[8]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["left"])),g[9]||(g[9]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["up"])),g[10]||(g[10]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["right"])),g[11]||(g[11]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["down"])),g[12]||(g[12]=e.withKeys(e.withModifiers(N=>n("navegar","primera"),["prevent","stop"]),["home"])),g[13]||(g[13]=e.withKeys(e.withModifiers(N=>n("navegar","ultima"),["prevent","stop"]),["end"])),g[14]||(g[14]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["left"])),g[15]||(g[15]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["up"])),g[16]||(g[16]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["right"])),g[17]||(g[17]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["down"])),g[18]||(g[18]=e.withKeys(e.withModifiers(N=>y.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(X,["stop"]),onContextmenu:Xn,onPointerdown:w,onPointermove:V,onPointerup:E,onPointerleave:E,onMouseenter:W,onMouseleave:g[19]||(g[19]=N=>f.value=!1),onFocus:A,onBlur:g[20]||(g[20]=N=>u.value=!1)},[t.tab.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.tab.icon,size:16,class:"shrink-0"},null,8,["name"])):e.unref(l)?(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(x.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",go,e.toDisplayString(t.tab.label),1)),c.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["size-2 shrink-0 rounded-full bg-current",e.unref(l)?"absolute right-0.5 top-0.5":""]),"aria-hidden":"true"},null,2)):p.value&&!e.unref(l)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:g[0]||(g[0]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12})],8,ho)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 scale-95","leave-active-class":"transition duration-100 ease-in","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex items-center gap-2 rounded-corner border border-ui-border bg-ui-surface/95 px-3 py-1 text-sm shadow-lg",t.active?"font-bold":""]),ref_key:"desplegadoRef",ref:s,style:e.normalizeStyle(S.value),onMouseenter:g[2]||(g[2]=N=>m.value=!0),onMouseleave:g[3]||(g[3]=N=>m.value=!1),onFocusin:g[4]||(g[4]=N=>m.value=!0),onFocusout:T},[e.createElementVNode("span",xo,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",wo)):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:g[1]||(g[1]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12})],8,Bo)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,yo))}}),Eo=["aria-orientation"],$o=["draggable","onDragstart","onDragover","onDrop"],Vo=["title","aria-label"],Oe=e.defineComponent({__name:"TabBar",props:{tabs:{},modelValue:{default:""},newLabel:{default:""},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},fixedOrder:{type:Boolean,default:!1}},emits:["update:modelValue","select","close","new","reorder","menu"],setup(t,{emit:a}){const o=t,n=a,{vertical:l}=U(),r=e.ref(null),i=e.ref(0),s=e.ref(null),f=e.ref(null);function u(k){n("update:modelValue",k),n("select",k)}async function m(k,c){const p=o.tabs.length-1;if(p<0)return;const b=c==="primera"?0:c==="ultima"?p:c==="anterior"?(k-1+o.tabs.length)%o.tabs.length:(k+1)%o.tabs.length;i.value=b,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[b]?.focus()}function B(k,c){if(o.fixedOrder)return;const p=k+c;if(p<0||p>=o.tabs.length)return;const b=[...o.tabs],[S]=b.splice(k,1);S&&(b.splice(p,0,S),i.value=p,n("reorder",b))}function C(k){const c=r.value;if(!c)return;const p=k.deltaY||k.deltaX||0,b=l.value?c.scrollTop:c.scrollLeft;l.value?c.scrollTop+=p:c.scrollLeft+=p,(l.value?c.scrollTop:c.scrollLeft)!==b&&k.preventDefault()}function $(k,c){o.fixedOrder||(s.value=k,c.dataTransfer?.setData("text/plain",String(k)),c.dataTransfer&&(c.dataTransfer.effectAllowed="move"))}function y(k,c){o.fixedOrder||s.value===null||(c.preventDefault(),f.value=k,c.dataTransfer&&(c.dataTransfer.dropEffect="move"))}function h(k){const c=s.value;if(z(),o.fixedOrder||c===null||c===k)return;const p=[...o.tabs],[b]=p.splice(c,1);b&&(p.splice(k,0,b),n("reorder",p))}function z(){s.value=null,f.value=null}const x=e.computed(()=>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");return(k,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 items-center gap-1",e.unref(l)?"w-full flex-col":"h-full"]),role:"tablist","aria-orientation":e.unref(l)?"vertical":"horizontal"},[e.createElementVNode("div",{ref_key:"carril",ref:r,class:e.normalizeClass(x.value),onWheel:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(p,b)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["transition-opacity",[s.value===b?"opacity-40":"",f.value===b&&s.value!==b?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:S=>$(b,S),onDragover:S=>y(b,S),onDrop:e.withModifiers(S=>h(b),["prevent"]),onDragend:z},[e.createVNode(me,{tab:p,active:p.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:b===i.value?0:-1,onSelect:S=>u(p.id),onClose:S=>n("close",p.id),onMenu:S=>n("menu",{id:p.id,...S}),onNavegar:S=>m(b,S),onMover:S=>B(b,S)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,$o))),128))],34),t.newLabel?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",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",title:t.newLabel,"aria-label":t.newLabel,onClick:c[0]||(c[0]=p=>n("new"))},[e.createVNode(D,{name:"gtk-add",type:"symbol",size:14})],8,Vo)):e.createCommentVNode("",!0)],10,Eo))}}),zo=["id","aria-label","type","value","placeholder","disabled","readonly","required","aria-describedby","autocomplete","aria-invalid"],ue=e.defineComponent({__name:"TextInput",props:{modelValue:{},type:{default:"text"},id:{},ariaLabel:{},describedBy:{},autocomplete:{},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},required:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},emits:["update:modelValue","keyup","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o;function r(m){n.lazy||l("update:modelValue",m.target.value)}function i(m){n.lazy&&l("update:modelValue",m.target.value)}const s=e.ref(null);function f(){return s.value?.focus(),s.value!==null&&document.activeElement===s.value}a({enfocar:f});const u=e.computed(()=>["w-full rounded-corner border bg-ui-surface/70 px-3 py-1.5 text-sm text-tx-main","placeholder:text-tx-muted focus:outline-none focus:ring-1 focus:ring-primary",n.invalid?"border-status-error":"border-ui-border",n.mono?"font-mono":"",n.disabled?"cursor-not-allowed opacity-60":""]);return(m,B)=>(e.openBlock(),e.createElementBlock("input",{ref_key:"campo",ref:s,id:t.id,"aria-label":t.ariaLabel,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-describedby":t.describedBy,autocomplete:t.autocomplete,"aria-invalid":t.invalid||void 0,class:e.normalizeClass(u.value),onInput:r,onChange:i,onKeyup:B[0]||(B[0]=C=>l("keyup",C)),onKeydown:B[1]||(B[1]=C=>l("keydown",C))},null,42,zo))}}),Do={class:"pointer-events-none absolute left-2 flex items-center"},So=["aria-label"],ee=e.defineComponent({__name:"SearchField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},debounce:{default:0},clearable:{type:Boolean,default:!0},busy:{type:Boolean,default:!1},listboxId:{},activeOptionId:{},expanded:{type:Boolean}},emits:["update:modelValue","search","clear","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(null);let i;const s=e.computed(()=>n.modelValue.length>0),f=e.computed(()=>n.listboxId?{role:"combobox","aria-autocomplete":"list","aria-controls":n.listboxId,"aria-expanded":String(n.expanded),"aria-activedescendant":n.activeOptionId||void 0}:{}),u=e.computed(()=>n.clearable&&s.value&&!n.disabled);function m(){clearTimeout(i),i=void 0}function B(h){l("update:modelValue",h),!(n.debounce<=0)&&(m(),i=setTimeout(()=>l("search",h),n.debounce))}function C(){m(),l("search",n.modelValue)}function $(){m(),l("update:modelValue",""),l("clear"),y()}function y(){return r.value?.enfocar()??!1}return a({enfocar:y}),e.onMounted(async()=>{n.autofocus&&(await e.nextTick(),y())}),e.onUnmounted(m),e.watch(()=>n.disabled,h=>{h&&m()}),(h,z)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex items-center",onKeydown:e.withKeys(C,["enter"])},[e.createElementVNode("span",Do,[e.createVNode(D,{name:t.busy?"content-loading":"system-search",type:"symbol",size:14,class:e.normalizeClass(t.busy?"animate-spin opacity-70":"opacity-60")},null,8,["name","class"])]),e.createVNode(ue,e.mergeProps({ref_key:"campo",ref:r,type:"search","model-value":t.modelValue,placeholder:t.placeholder||t.label,ariaLabel:t.label||void 0},f.value,{disabled:t.disabled,class:["pl-7 [&::-webkit-search-cancel-button]:appearance-none",u.value?"pr-8":""],"onUpdate:modelValue":B,onKeydown:z[0]||(z[0]=x=>l("keydown",x))}),null,16,["model-value","placeholder","ariaLabel","disabled","class"]),u.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface","aria-label":t.label?`${t.label}: vaciar`:"Vaciar",onMousedown:z[1]||(z[1]=e.withModifiers(()=>{},["prevent"])),onClick:$},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12,alt:""})],40,So)):e.createCommentVNode("",!0)],32))}}),Lo=["title","aria-label","aria-expanded"],Pe=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},debounce:{default:0}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=U(),i=e.ref(!1),s=e.ref(null),f=e.computed(()=>l.value||o.collapsed),u=e.computed(()=>!f.value||i.value),m=e.computed(()=>{if(!f.value)return"";const y="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${y} left-full top-0 ml-1`:r.value==="right"?`${y} right-full top-0 mr-1`:r.value==="bottom"?`${y} bottom-full right-0 mb-1`:`${y} top-full right-0 mt-1`});async function B(){i.value=!0,n("open"),await e.nextTick(),s.value?.enfocar()}function C(){i.value&&(i.value=!1,n("close"))}function $(y){const h=y.relatedTarget;h&&y.currentTarget.contains(h)||C()}return(y,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex shrink-0 items-center",onFocusout:$},[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.label,"aria-label":t.label,"aria-expanded":i.value,onMousedown:h[0]||(h[0]=e.withModifiers(()=>{},["prevent"])),onClick:h[1]||(h[1]=z=>i.value?C():B())},[e.createVNode(D,{name:"system-search",type:"symbol",size:14})],40,Lo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(m.value),onKeydown:e.withKeys(C,["esc"])},[e.createVNode(ee,{ref_key:"campo",ref:s,"model-value":t.modelValue,placeholder:t.placeholder,label:t.label,disabled:t.disabled,debounce:t.debounce,class:e.normalizeClass(f.value?"":"w-48"),"onUpdate:modelValue":h[2]||(h[2]=z=>n("update:modelValue",z)),onSearch:h[3]||(h[3]=z=>n("search",z))},null,8,["model-value","placeholder","label","disabled","debounce","class"])],34)):e.createCommentVNode("",!0)],32))}}),No=["type","disabled"],To={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},Mo=["src","alt"],Ao={key:2},Io=["src","alt"],Oo=e.defineComponent({__name:"ActionButton",props:{label:{},disabled:{type:Boolean,default:!1},variant:{default:"primary"},loading:{type:Boolean,default:!1},customClass:{default:()=>({})},size:{default:"md"},fullWidth:{type:Boolean,default:!1},iconSrc:{default:""},iconAlt:{default:""},iconRight:{type:Boolean,default:!1},type:{default:"button"},stopPropagation:{type:Boolean,default:!1},preventDefault:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l={primary:"bg-primary dark:bg-primary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-primary/90 dark:hover:bg-primary-dark/90",secondary:"bg-secondary dark:bg-secondary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-secondary/80 dark:hover:bg-secondary-dark/80",danger:"bg-status-error dark:bg-status-error-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-status-error/90 dark:hover:bg-status-error-dark/90"},r={sm:"px-2 py-1 text-xs",md:"px-3 py-1 text-sm",lg:"px-4 py-2 text-base"},i=s=>{o.stopPropagation&&s.stopPropagation(),o.preventDefault&&s.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(s,f)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:i,class:e.normalizeClass(["rounded-corner transition-[background-color,opacity] duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",[l[o.variant],r[o.size],o.fullWidth?"w-full":"",o.iconSrc&&!o.label?"px-2 py-2":"",t.customClass]]),disabled:o.disabled||o.loading},[t.loading?(e.openBlock(),e.createElementBlock("span",To)):e.createCommentVNode("",!0),o.iconSrc&&!o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:1,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,Mo)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",Ao,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0),o.iconSrc&&o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:3,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,Io)):e.createCommentVNode("",!0)],10,No))}}),te=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},je=te(Oo,[["__scopeId","data-v-3c1bd6bd"]]),fe={info:"border-ui-border bg-ui-surface/70 text-tx-main",success:"border-status-success/40 bg-status-success/10 text-tx-main",warning:"border-status-warning/40 bg-status-warning/10 text-tx-main",error:"border-status-error/40 bg-status-error/10 text-tx-main"};function pe(t){return t==="error"?"alert":"status"}const Po=["role"],jo={key:0,class:"mt-0.5"},Fo={class:"min-w-0 flex-1"},Ro={key:0,class:"font-semibold"},Fe=e.defineComponent({__name:"AlertMessage",props:{tone:{default:"info"},title:{},icon:{},iconType:{default:"symbol"}},setup(t){const a=t,o=e.computed(()=>fe[a.tone]),n=e.computed(()=>pe(a.tone));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:n.value,"aria-atomic":"true",class:e.normalizeClass(["flex gap-3 rounded-corner border px-4 py-2 text-sm",o.value])},[t.icon?(e.openBlock(),e.createElementBlock("span",jo,[e.createVNode(D,{name:t.icon,type:t.iconType,size:18,alt:""},null,8,["name","type"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Fo,[t.title?(e.openBlock(),e.createElementBlock("p",Ro,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.title?"mt-1":"")},[e.renderSlot(l.$slots,"default")],2)])],10,Po))}}),Ko={class:"font-medium text-sm text-tx-main"},qo={key:0,class:"text-sm text-tx-muted"},Re=e.defineComponent({__name:"EmptyState",props:{title:{},note:{},icon:{default:"dialog-information"},iconType:{default:"icon"},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-center justify-center gap-3 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[e.createVNode(D,{name:t.icon,type:t.iconType,size:48,class:"opacity-60"},null,8,["name","type"]),e.createElementVNode("p",Ko,e.toDisplayString(t.title),1),t.note?(e.openBlock(),e.createElementBlock("p",qo,e.toDisplayString(t.note),1)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],2))}}),Uo={class:"text-sm text-tx-muted"},Ke=e.defineComponent({__name:"LoadingState",props:{label:{},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{role:"status","aria-atomic":"true",class:e.normalizeClass(["flex flex-col items-center justify-center gap-4 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[o[0]||(o[0]=e.createElementVNode("span",{class:"h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none"},null,-1)),e.createElementVNode("p",Uo,e.toDisplayString(t.label),1)],2))}}),Ho=["role"],qe=e.defineComponent({__name:"ToastArea",props:{toasts:{},position:{default:"bottom-right"}},setup(t){const a=t,o=e.computed(()=>a.position==="bottom-center"?"bottom-4 left-1/2 -translate-x-1/2":"right-4 bottom-4");return(n,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-none fixed z-60 flex flex-col gap-2",o.value])},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"translate-y-2 opacity-0","leave-to-class":"translate-y-2 opacity-0","move-class":"transition-transform duration-300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toasts,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,role:e.unref(pe)(r.tone??"info"),"aria-atomic":"true",class:e.normalizeClass(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm",e.unref(fe)[r.tone??"info"]])},[e.renderSlot(n.$slots,"default",{aviso:r},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],10,Ho))),128))]),_:3})],2)]))}}),Wo=["aria-label","aria-valuenow"],Go={key:1,class:"h-full w-full animate-pulse rounded-corner bg-primary motion-reduce:animate-none motion-reduce:bg-primary/40"},Ue=e.defineComponent({__name:"ProgressBar",props:{value:{},label:{},tone:{default:"normal"}},setup(t){const a=t,o={normal:"bg-primary",warning:"bg-status-warning",critical:"bg-status-error"},n=e.computed(()=>a.value===null?null:Math.max(0,Math.min(100,a.value)));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":t.label,"aria-valuenow":n.value??void 0,"aria-valuemin":"0","aria-valuemax":"100",class:"h-2 w-full overflow-hidden rounded-corner bg-ui-surface/70"},[n.value!==null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["h-full rounded-corner transition-[width] duration-300 ease-out",o[t.tone]]),style:e.normalizeStyle({width:`${n.value}%`})},null,6)):(e.openBlock(),e.createElementBlock("div",Go))],8,Wo))}}),Qo=/[/\-_.]/;function be(t,a){if(!a)return 100;const o=a.toLowerCase();return o===t?0:o.startsWith(t)?10:o.split(Qo).some(n=>n.startsWith(t))?30:o.includes(t)?40:100}function He(t,a){const o=a.trim().toLowerCase();if(!o)return t;const n=[];for(let l=0;l<t.length;l++){const r=t[l],i=be(o,r.valor),s=be(o,r.etiqueta),f=s===10?20:s,m=be(o,r.detalle)===100?100:40,B=Math.min(i,f,m);B!==100&&n.push({opcion:r,rango:B,orden:l})}return n.sort((l,r)=>l.rango-r.rango||l.orden-r.orden),n.map(l=>l.opcion)}let We=0;function Yo(){return We+=1,`vsk-lista-${We}`}const Xo=["disabled","aria-label","aria-expanded"],Jo={class:"min-w-0 flex-1 truncate"},Zo={key:0,class:"ml-2 text-tx-muted text-xs"},_o={class:"border-ui-border border-b p-2"},vo=["id"],en={key:0,class:"p-3 text-center text-tx-muted text-xs"},tn=["id","data-indice","aria-selected"],on={class:"min-w-0 flex-1 truncate"},nn={key:0,class:"shrink-0 text-tx-muted text-xs"},an={key:1,class:"px-2 py-1 text-tx-muted text-xs"},Ge=e.defineComponent({__name:"SearchSelect",props:{modelValue:{},options:{},label:{default:""},searchPlaceholder:{default:""},emptyText:{default:""},placeholder:{default:"—"},disabled:{type:Boolean,default:!1},limit:{default:60},up:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(""),r=e.ref(!1),i=e.ref(0),s=e.ref(null),f=e.ref(null),u=e.ref(null),m=Yo(),B=e.computed(()=>o.options.find(E=>E.valor===o.modelValue)??null),C=e.computed(()=>He(o.options,l.value)),$=e.computed(()=>C.value.slice(0,o.limit)),y=e.computed(()=>Math.max(0,C.value.length-o.limit)),h=e.computed(()=>$.value.length>0?`${m}-${i.value}`:void 0);function z(E){n("update:modelValue",E),k()}async function x(){r.value=!0;const E=$.value.findIndex(w=>w.valor===o.modelValue);i.value=E>=0?E:0,await e.nextTick(),u.value?.enfocar(),T()}function k(E=!0){r.value&&(r.value=!1,l.value="",E&&e.nextTick(()=>f.value?.focus()))}function c(E){const w=$.value.length;w!==0&&(i.value=(i.value+E+w)%w,T())}function p(E){i.value=E,T()}function b(E){const w=E.target?.closest?.("[data-indice]");if(!w)return null;const V=Number(w.getAttribute("data-indice"));return Number.isInteger(V)?V:null}function S(E){const w=b(E),V=w===null?void 0:$.value[w];V&&z(V.valor)}function H(E){const w=b(E);w!==null&&(i.value=w)}function T(){e.nextTick(()=>{s.value?.querySelector(`[data-indice="${i.value}"]`)?.scrollIntoView({block:"nearest"})})}function W(){const E=$.value[i.value];E&&z(E.valor)}e.watch(()=>o.disabled,E=>{E&&k(!1)}),e.watch(l,()=>{i.value=0,T()});function A(E){const w=E.relatedTarget;w&&E.currentTarget.contains(w)||k(!1)}return(E,w)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",onFocusout:A},[e.createElementVNode("button",{ref_key:"boton",ref:f,type:"button",disabled:t.disabled,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","aria-label":t.label||void 0,"aria-expanded":r.value,"aria-haspopup":"listbox",onClick:w[0]||(w[0]=V=>r.value?k():x()),onKeydown:[w[1]||(w[1]=e.withKeys(e.withModifiers(V=>r.value?c(1):x(),["prevent"]),["down"])),w[2]||(w[2]=e.withKeys(e.withModifiers(V=>r.value?c(-1):x(),["prevent"]),["up"]))]},[e.createElementVNode("span",Jo,[e.createTextVNode(e.toDisplayString(B.value?.etiqueta??t.placeholder)+" ",1),B.value?.detalle?(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(B.value.detalle),1)):e.createCommentVNode("",!0)]),e.createVNode(D,{name:"go-down",type:"symbol",size:12,class:"shrink-0 opacity-60"})],40,Xo),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-20 w-full min-w-64 rounded-corner border border-ui-border-strong bg-ui-bg shadow-lg",t.up?"bottom-full mb-1":"mt-1"]),onKeydown:[w[4]||(w[4]=e.withKeys(e.withModifiers(V=>k(),["prevent"]),["escape"])),w[5]||(w[5]=e.withKeys(e.withModifiers(V=>c(1),["prevent"]),["down"])),w[6]||(w[6]=e.withKeys(e.withModifiers(V=>c(-1),["prevent"]),["up"])),w[7]||(w[7]=e.withKeys(e.withModifiers(V=>p(0),["prevent"]),["home"])),w[8]||(w[8]=e.withKeys(e.withModifiers(V=>p($.value.length-1),["prevent"]),["end"])),w[9]||(w[9]=e.withKeys(e.withModifiers(V=>W(),["prevent"]),["enter"])),w[10]||(w[10]=e.withKeys(V=>k(!1),["tab"]))],onClick:S,onMousemove:H},[e.createElementVNode("div",_o,[e.createVNode(ee,{ref_key:"campo",ref:u,modelValue:l.value,"onUpdate:modelValue":w[3]||(w[3]=V=>l.value=V),label:t.label,placeholder:t.searchPlaceholder,"listbox-id":e.unref(m),"active-option-id":h.value,expanded:r.value},null,8,["modelValue","label","placeholder","listbox-id","active-option-id","expanded"])]),e.createElementVNode("ul",{id:e.unref(m),ref_key:"lista",ref:s,role:"listbox",class:"max-h-56 overflow-y-auto p-1"},[$.value.length===0?(e.openBlock(),e.createElementBlock("li",en,e.toDisplayString(t.emptyText),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(V,X)=>(e.openBlock(),e.createElementBlock("li",{id:`${e.unref(m)}-${X}`,key:V.valor,"data-indice":X,role:"option","aria-selected":V.valor===t.modelValue,class:e.normalizeClass(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm",[X===i.value?"bg-ui-surface":"",V.valor===t.modelValue?"font-medium text-primary":"text-tx-main"]])},[e.createElementVNode("span",on,e.toDisplayString(V.etiqueta),1),V.detalle?(e.openBlock(),e.createElementBlock("span",nn,e.toDisplayString(V.detalle),1)):e.createCommentVNode("",!0)],10,tn))),128)),y.value>0?(e.openBlock(),e.createElementBlock("li",an,"+"+e.toDisplayString(y.value),1)):e.createCommentVNode("",!0)],8,vo)],34)):e.createCommentVNode("",!0)],32))}}),ln={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},Qe=te(e.defineComponent({__name:"ConfigSection",props:{title:{},icon:{default:""},customClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-4 p-4 background rounded-corner",t.customClass])},[e.createElementVNode("h3",ln,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),rn={class:"flex items-center gap-3 flex-1 min-w-0"},sn=["src","alt"],cn={class:"min-w-0"},dn={class:"font-semibold truncate"},mn={key:0,class:"text-xs text-gray-400 truncate"},un={key:1,class:"text-xs text-gray-400 truncate"},fn={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},pn={key:1,class:"w-2 h-2 rounded-full bg-green-500"},Ye=e.defineComponent({__name:"DeviceCard",props:{name:{default:""},type:{default:"icon"},icon:{default:""},title:{},subtitle:{default:""},metadata:{default:""},extraInfo:{default:()=>[]},isConnected:{type:Boolean,default:!1},showActionButton:{type:Boolean,default:!0},actionLabel:{default:"Conectar"},showStatusIndicator:{type:Boolean,default:!1},customClass:{default:""},clickable:{type:Boolean,default:!1}},emits:["action","click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{n("action")},r=()=>{n("click")};return e.onMounted(()=>{o.icon&&!o.name&&console.warn("[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.")}),(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4",[{"border-l-4 border-green-500":t.isConnected},t.customClass]]),onClick:r},[e.createElementVNode("div",rn,[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:28,alt:t.title},null,8,["name","type","alt"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,sn)),e.createElementVNode("div",cn,[e.createElementVNode("div",dn,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",mn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",un,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(f,u)=>(e.openBlock(),e.createElementBlock("span",{key:u},e.toDisplayString(f),1))),128))])):e.createCommentVNode("",!0)])]),t.showActionButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",onClick:e.withModifiers(l,["stop"])},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0),t.showStatusIndicator&&t.isConnected?(e.openBlock(),e.createElementBlock("div",pn)):e.createCommentVNode("",!0)],2))}}),ye=Symbol("diálogo de vasak");function ke(){const t=e.inject(ye,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),cerrar:()=>{a.value=!1},idDelTitulo:e.ref(null),ponerElTitulo:()=>{}}}let Xe=0;function bn(){return Xe+=1,`vsk-dialogo-titulo-${Xe}`}const Je=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean,default:!1}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(null);return e.provide(ye,{abierto:e.computed(()=>o.open),cerrar:()=>n("update:open",!1),idDelTitulo:l,ponerElTitulo:r=>{l.value=r}}),(r,i)=>e.renderSlot(r.$slots,"default")}}),yn={key:0,class:"absolute inset-0 rounded-corner-window bg-ui-border-dark/40"},kn=["aria-labelledby","aria-label"],gn="relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg",Ze=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{size:{default:"md"},ariaLabel:{}},setup(t){const a=t,o=e.useAttrs(),n=e.computed(()=>o.class??""),l=e.computed(()=>{const{class:x,...k}=o;return k}),r=e.computed(()=>a.size==="full"?"relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main":`${gn} ${a.size==="lg"?"max-w-2xl":"max-w-lg"}`),i=ke(),s=e.computed(()=>i.abierto.value),f=e.ref(null),u=e.ref(null);let m=null;function B(){return u.value?[...u.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')]:[]}function C(x){if(x.key==="Escape"){i.cerrar();return}if(x.key!=="Tab")return;const k=B();if(k.length===0){x.preventDefault(),u.value?.focus();return}const c=k[0],p=k[k.length-1],b=document.activeElement;x.shiftKey&&(b===c||b===u.value)?(x.preventDefault(),p.focus()):!x.shiftKey&&b===p&&(x.preventDefault(),c.focus())}function $(x){x.target===x.currentTarget&&i.cerrar()}function y(x){f.value?.contains(x.target)||C(x)}function h(){document.removeEventListener("keydown",y)}function z(){const x=m;m=null,x?.isConnected&&x.focus()}return e.watch(s,async x=>{if(x){m=document.activeElement,document.addEventListener("keydown",y),await e.nextTick(),u.value?.focus();return}h(),z()},{immediate:!0}),e.onUnmounted(()=>{h(),z()}),(x,k)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200 ease-out","leave-active-class":"transition-opacity duration-150 ease-in","enter-from-class":"opacity-0","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"velo",ref:f,class:"fixed inset-0 z-50 flex items-center justify-center",onClick:$,onKeydown:C},[a.size==="md"?(e.openBlock(),e.createElementBlock("div",yn)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"panel",ref:u,tabindex:"-1",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i).idDelTitulo.value??void 0,"aria-label":e.unref(i).idDelTitulo.value?void 0:t.ariaLabel},l.value,{class:[n.value,r.value]}),[e.renderSlot(x.$slots,"default")],16,kn)],544)):e.createCommentVNode("",!0)]),_:3})]))}}),hn={class:"text-sm text-tx-muted"},_e=e.defineComponent({__name:"DialogDescription",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("p",hn,[e.renderSlot(a.$slots,"default")]))}}),xn={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},ve=e.defineComponent({__name:"DialogFooter",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",xn,[e.renderSlot(a.$slots,"default")]))}}),wn={class:"flex flex-col gap-1.5 text-center sm:text-left"},et=e.defineComponent({__name:"DialogHeader",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",wn,[e.renderSlot(a.$slots,"default")]))}}),Bn=["id"],tt=e.defineComponent({__name:"DialogTitle",setup(t){const a=ke(),o=bn();return e.onMounted(()=>a.ponerElTitulo(o)),e.onUnmounted(()=>a.ponerElTitulo(null)),(n,l)=>(e.openBlock(),e.createElementBlock("h2",{id:e.unref(o),class:"font-semibold text-lg leading-none tracking-tight"},[e.renderSlot(n.$slots,"default")],8,Bn))}}),ge=Symbol("menú de vasak");function Y(){const t=e.inject(ge,null);if(t)return t;const a=e.ref(!1);return{abierto:a,idDelMenu:"vsk-menu-suelto",idDeLaEtiqueta:e.ref(null),ponerLaEtiqueta:()=>{},disparador:e.ref(null),ponerElDisparador:()=>{},focoAlAbrir:e.ref("ninguno"),abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1},alternar:()=>{a.value=!a.value}}}let ot=0;function nt(){return ot+=1,`vsk-menu-${ot}`}const Cn={class:"relative inline-block"},at=e.defineComponent({__name:"DropdownMenu",props:{open:{type:Boolean,default:void 0}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1),r=e.ref(null),i=e.ref(null),s=e.ref("ninguno"),f=nt();let u=null;const m=e.computed({get:()=>o.open??l.value,set:y=>{o.open===void 0&&(l.value=y),n("update:open",y)}});e.watch(m,y=>{if(y){const h=document.activeElement;u=h instanceof HTMLElement?h:null}else s.value="ninguno"});function B(y="ninguno"){s.value=y,m.value=!0}function C(y={}){if(m.value=!1,!y.devolverElFoco)return;const h=u??r.value;h?.isConnected&&h.focus()}function $(y="ninguno"){if(m.value){C({devolverElFoco:!0});return}B(y)}return e.provide(ge,{abierto:m,idDelMenu:f,idDeLaEtiqueta:i,ponerLaEtiqueta:y=>{i.value=y},disparador:r,ponerElDisparador:y=>{r.value=y},focoAlAbrir:s,abrir:B,cerrar:C,alternar:$}),(y,h)=>(e.openBlock(),e.createElementBlock("div",Cn,[e.renderSlot(y.$slots,"default")]))}}),En=["id","aria-labelledby","inert"],$n={role:"none",class:"py-1"},O=8,lt=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=Y(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),i=e.computed(()=>o.abierto.value),s=e.ref(null),f=e.ref({top:0,left:0,techo:null}),u={top:"bottom",bottom:"top",left:"right",right:"left"};function m(c,p){const b=a.sideOffset+O;switch(c){case"bottom":return window.innerHeight-p.bottom-b;case"top":return p.top-b;case"right":return window.innerWidth-p.right-b;case"left":return p.left-b}}function B(c,p,b){return b<p?p:Math.min(Math.max(c,p),b)}function C(){if(!r.value||!s.value)return;const c=r.value.getBoundingClientRect(),p=s.value.scrollHeight,b=s.value.offsetWidth,S=a.side==="top"||a.side==="bottom",H=S?p:b;let T=a.side;const W=m(T,c);W<H&&m(u[T],c)>W&&(T=u[T]);let A=0,E=0,w=null;switch(T){case"bottom":{A=c.bottom+a.sideOffset,w=Math.max(window.innerHeight-A-O,0);break}case"top":{w=Math.max(m("top",c),0),A=c.top-a.sideOffset-Math.min(p,w);break}case"left":case"right":{E=T==="right"?c.right+a.sideOffset:c.left-b-a.sideOffset;const V=window.innerHeight-2*O;A=B(c.top,O,window.innerHeight-Math.min(p,V)-O),w=Math.max(window.innerHeight-A-O,0);break}}if(S)switch(a.align){case"start":E=c.left;break;case"center":E=c.left+c.width/2-b/2;break;case"end":E=c.right-b;break}E=B(E,O,window.innerWidth-b-O),f.value={top:A,left:E,techo:w}}function $(){return s.value?Array.from(s.value.querySelectorAll('[role="menuitem"]')):[]}function y(c){const p=$();if(!p.length)return;const b=p.length;p[(c%b+b)%b]?.focus()}function h(){const c=document.activeElement;return c instanceof HTMLElement?$().indexOf(c):-1}function z(c){const p=h();switch(c.key){case"ArrowDown":c.preventDefault(),y(p+1);break;case"ArrowUp":c.preventDefault(),y(p<=0?-1:p-1);break;case"Home":c.preventDefault(),y(0);break;case"End":c.preventDefault(),y(-1);break;case"Escape":c.preventDefault(),c.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":c.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(i,async c=>{if(c)switch(await e.nextTick(),requestAnimationFrame(()=>{C()}),o.focoAlAbrir.value){case"primero":y(0);break;case"ultimo":y(-1);break;default:s.value?.focus()}});function x(c){i.value&&(c&&s.value?.contains(c.target)||C())}function k(c){const p=c.target,b=!!p.closest("[data-dropdown-content]"),S=!!r.value?.contains(p);!b&&!S&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",k),window.addEventListener("resize",x),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",k),window.removeEventListener("resize",x),window.removeEventListener("scroll",x,!0)}),(c,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-in-out","leave-active-class":"transition-all duration-150 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95",onEnter:p[1]||(p[1]=b=>b.offsetHeight),onLeave:p[2]||(p[2]=b=>b.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:s},c.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!i.value,style:{position:"fixed",top:`${f.value.top}px`,left:`${f.value.left}px`,maxHeight:f.value.techo===null?void 0:`${f.value.techo}px`,overflowY:"auto",overscrollBehavior:"contain",zIndex:50},"data-dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:p[0]||(p[0]=b=>b.stopPropagation()),onKeydown:z}),[e.createElementVNode("div",$n,[e.renderSlot(c.$slots,"default")])],16,En),[[e.vShow,i.value]])]),_:3})]))}}),Vn=["aria-disabled","onKeydown"],rt=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=Y();function r(i){o.disabled||(n("select"),n("click",i),l.cerrar({devolverElFoco:!0}))}return(i,s)=>(e.openBlock(),e.createElementBlock("div",{role:"menuitem",tabindex:"0","aria-disabled":t.disabled||void 0,class:e.normalizeClass(["px-3 py-2 text-sm transition-colors outline-none",{"opacity-50 cursor-not-allowed":t.disabled,"cursor-pointer hover:bg-primary hover:text-tx-on-primary focus-visible:bg-primary focus-visible:text-tx-on-primary":!t.disabled}]),onClick:r,onKeydown:[e.withKeys(e.withModifiers(r,["prevent"]),["enter"]),e.withKeys(e.withModifiers(r,["prevent"]),["space"])]},[e.renderSlot(i.$slots,"default")],42,Vn))}}),it=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=Y(),o=`${nt()}-titulo`;return e.onMounted(()=>{a.ponerLaEtiqueta(o)}),e.onBeforeUnmount(()=>{a.ponerLaEtiqueta(null)}),(n,l)=>(e.openBlock(),e.createElementBlock("div",{id:o,role:"presentation",class:"px-3 py-2 text-sm font-semibold text-tx-main"},[e.renderSlot(n.$slots,"default")]))}}),zn={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},st=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",zn))}});function ct(t){const a=t.filter(n=>n.type!==e.Comment&&!(n.type===e.Text&&typeof n.children=="string"&&!n.children.trim()));if(a.length!==1)return null;const o=a[0];return o.type===e.Fragment&&Array.isArray(o.children)?ct(o.children):o}function Dn(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const dt=e.defineComponent({name:"DropdownMenuTrigger",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(t,{slots:a,attrs:o}){const n=Y(),l=e.ref(null);function r(){n.ponerElDisparador(Dn(l.value))}function i(){t.disabled||(r(),n.alternar())}function s(f){if(!t.disabled)switch(f.key){case"Enter":case" ":f.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":f.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":f.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(f.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const f={ref:m=>{l.value=m,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:i,onKeydown:s},u=a.default?.()??[];if(t.asChild){const m=ct(u);if(m)return e.cloneVNode(m,{...o,...f})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...f},u)}}}),Sn=["for"],mt=te(e.defineComponent({__name:"FormGroup",props:{label:{},htmlFor:{default:""},customClass:{default:()=>({})},labelClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-2",t.customClass])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.htmlFor,class:e.normalizeClass(["text-sm font-medium text-primary dark:text-primary-dark",t.labelClass])},e.toDisplayString(t.label),11,Sn)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),ut=te(e.defineComponent({__name:"ListCard",props:{clickable:{type:Boolean,default:!1},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{o.clickable&&n("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",{"hover:bg-vsk-primary/5 cursor-pointer":o.clickable},t.customClass]),onClick:l},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f86d47da"]]),Ln={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"},Nn=["title","aria-label"],Tn=["src"],Mn={key:1,class:"w-8 h-8 flex items-center justify-center"},An=["src"],In=["min","max","value","aria-label","aria-valuetext"],ft=e.defineComponent({__name:"SliderControl",props:{name:{default:""},type:{default:"icon"},icon:{default:""},label:{},buttonLabel:{},modelValue:{},min:{default:0},max:{default:100},showButton:{type:Boolean,default:!1},iconClass:{default:()=>({})},getPercentageClass:{type:Function,default:()=>""}},emits:["update:modelValue","buttonClick"],setup(t,{emit:a}){const o=t;e.onMounted(()=>{o.icon&&!o.name&&console.warn("[SliderControl] «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.")});const n=a,l=e.computed(()=>{if(o.max<=o.min)return 0;const f=o.max-o.min,u=o.modelValue-o.min;return Math.round(u/f*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),i=f=>{const u=f.target;n("update:modelValue",Number(u.value))},s=()=>{n("buttonClick")};return(f,u)=>(e.openBlock(),e.createElementBlock("div",Ln,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s,type:"button",title:t.buttonLabel??t.label,"aria-label":t.buttonLabel??t.label,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"},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:24,class:e.normalizeClass(t.iconClass)},null,8,["name","type","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:e.normalizeClass(["w-6 h-6",t.iconClass])},null,10,Tn))],8,Nn)):(e.openBlock(),e.createElementBlock("div",Mn,[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:24},null,8,["name","type"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:"w-6 h-6"},null,8,An))])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:i,"aria-label":t.label,"aria-valuetext":`${l.value}%`,class:"flex-1 transition-[scale] duration-200 hover:scale-105"},null,40,In),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-[color] duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),oe=e.defineComponent({__name:"SwitchTrack",props:{on:{type:Boolean},size:{default:"small"}},setup(t){const a=t,o=e.computed(()=>a.size==="small");return(n,l)=>(e.openBlock(),e.createElementBlock("span",{"aria-hidden":"true",class:e.normalizeClass(["inline-flex shrink-0 items-center rounded-full border transition-colors",[o.value?"h-6 w-11":"h-7 w-12",t.on?"border-transparent bg-primary":"border-ui-border-strong bg-ui-surface"]])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full shadow transition-transform",[o.value?"h-4 w-4":"h-5 w-5",t.on?"bg-tx-on-primary":"bg-tx-main",t.on?"translate-x-6":"translate-x-1"]])},null,2)],2))}}),On=["aria-checked","disabled"],Pn={class:"min-w-0 flex-1"},jn={class:"block font-medium text-sm text-tx-main"},Fn={key:0,class:"mt-0.5 block text-tx-muted text-xs"},pt=e.defineComponent({__name:"SwitchRow",props:{modelValue:{type:Boolean},label:{},description:{},icon:{},iconType:{default:"icon"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,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",onClick:r[0]||(r[0]=i=>n("update:modelValue",!o.modelValue))},[e.createVNode(oe,{on:t.modelValue,class:"mt-0.5"},null,8,["on"]),t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["flex size-10 shrink-0 items-center justify-center rounded-corner border",t.modelValue?"border-secondary bg-primary/20":"border-ui-border bg-ui-surface/40"]),"aria-hidden":"true"},[e.createVNode(D,{name:t.icon,type:t.iconType,size:24,alt:""},null,8,["name","type"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",Pn,[e.createElementVNode("span",jn,e.toDisplayString(t.label),1),t.description?(e.openBlock(),e.createElementBlock("span",Fn,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"pie")])],8,On))}}),Rn=["aria-checked","aria-label","disabled"],bt=e.defineComponent({__name:"SwitchToggle",props:{modelValue:{type:Boolean},label:{},disabled:{type:Boolean,default:!1},size:{default:"small"}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;function l(){n("update:modelValue",!o.modelValue)}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,"aria-label":t.label,disabled:t.disabled,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",onClick:l},[e.createVNode(oe,{on:t.modelValue,size:t.size},null,8,["on","size"])],8,Rn))}}),Kn=["disabled","title","aria-label","aria-pressed","aria-busy"],qn=["src"],yt=e.defineComponent({__name:"ToggleControl",props:{name:{default:""},type:{default:"icon"},icon:{default:""},label:{},pressed:{type:[Boolean,null],default:null},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t;e.onMounted(()=>{o.icon&&!o.name&&console.warn("[ToggleControl] «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.")});const n=a;function l(){n("click")}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["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",{"animate-pulse":t.isLoading,"ring-2 ring-primary":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading,title:t.label,"aria-label":t.label,"aria-pressed":t.pressed??void 0,"aria-busy":t.isLoading||void 0,onClick:l},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:50,class:e.normalizeClass(["m-auto transition-[scale,filter] duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,8,["name","type","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:e.normalizeClass(["m-auto w-12.5 h-12.5 transition-[scale,filter] duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,10,qn))],10,Kn))}}),he=Symbol("tooltip de vasak");function xe(){const t=e.inject(he,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),disparador:e.ref(null),ponerElDisparador:()=>{},abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1}}}const Un={class:"inline-block"},kt=e.defineComponent({__name:"Tooltip",props:{disabled:{type:Boolean,default:!1},delayDuration:{default:200}},setup(t){const a=t,o=e.ref(!1),n=e.ref(null);let l=null;function r(){a.disabled||(l=setTimeout(()=>{o.value=!0},a.delayDuration))}function i(){l&&clearTimeout(l),o.value=!1}return e.provide(he,{abierto:e.computed(()=>o.value&&!a.disabled),disparador:n,ponerElDisparador:s=>{n.value=s},abrir:r,cerrar:i}),(s,f)=>(e.openBlock(),e.createElementBlock("div",Un,[e.renderSlot(s.$slots,"default")]))}}),gt=e.defineComponent({inheritAttrs:!1,__name:"TooltipContent",props:{side:{default:"bottom"},align:{default:"center"},sideOffset:{default:4}},setup(t){const a=e.useAttrs(),o=e.computed(()=>a.class??""),n=t,l=xe(),r=e.computed(()=>l.abierto.value),i=e.ref(null),s=e.ref({top:0,left:0});function f(){const u=l.disparador.value;if(!u||!i.value)return;const m=u.getBoundingClientRect(),B=i.value.getBoundingClientRect();let C=0,$=0;switch(n.side){case"bottom":C=m.bottom+n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"top":C=m.top-B.height-n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"left":$=m.left-B.width-n.sideOffset,C=m.top+m.height/2-B.height/2;break;case"right":$=m.right+n.sideOffset,C=m.top+m.height/2-B.height/2;break}s.value={top:C,left:$}}return e.watch(r,async u=>{u&&(await e.nextTick(),requestAnimationFrame(f))}),(u,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-in-out","leave-active-class":"transition-all duration-200 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"globo",ref:i,style:e.normalizeStyle({position:"fixed",top:`${s.value.top}px`,left:`${s.value.left}px`,zIndex:50}),class:e.normalizeClass([o.value,"pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"])},[e.renderSlot(u.$slots,"default")],6),[[e.vShow,r.value]])]),_:3})]))}}),ht=e.defineComponent({__name:"TooltipTrigger",setup(t){const a=xe(),o=e.ref(null);function n(){return o.value?o.value.firstElementChild??o.value:null}function l(){a.ponerElDisparador(n()),a.abrir()}return e.onMounted(()=>{a.ponerElDisparador(n())}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"envoltorio",ref:o,class:"inline-block",onMouseenter:l,onMouseleave:i[0]||(i[0]=s=>e.unref(a).cerrar()),onFocus:l,onBlur:i[1]||(i[1]=s=>e.unref(a).cerrar())},[e.renderSlot(r.$slots,"default")],544))}}),Hn=["title"],Wn=["src","alt"],Gn={key:2,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"},xt=e.defineComponent({__name:"TrayIconButton",props:{name:{default:""},type:{default:"icon"},icon:{default:""},alt:{default:""},tooltip:{default:""},badge:{default:null},iconClass:{default:()=>({})},customClass:{default:""},tooltipClass:{default:""},showCustomTooltip:{type:Boolean,default:!1},customTooltipText:{default:""}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1);e.onMounted(()=>{o.icon&&!o.name&&console.warn("[TrayIconButton] «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.")});const r=()=>{n("click")};return(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-[background-color] duration-300",t.customClass]),title:t.tooltip,onClick:r,onMouseenter:s[0]||(s[0]=f=>l.value=!0),onMouseleave:s[1]||(s[1]=f=>l.value=!1)},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:22,alt:t.alt,class:e.normalizeClass(["m-auto",t.iconClass])},null,8,["name","type","alt","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:t.alt,class:e.normalizeClass(["m-auto h-5.5 w-auto",t.iconClass])},null,10,Wn)),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Gn,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0),t.showCustomTooltip&&t.customTooltipText?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["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",[t.tooltipClass,{"opacity-0 -translate-y-2":!l.value,"opacity-100 translate-y-0":l.value}]])},e.toDisplayString(t.customTooltipText),3)):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default")],42,Hn))}}),Qn=[Ve,ie,re,ze,D,Me,de,ce,Oe,me,Pe,je,Fe,Re,Ke,Ue,ee,Ge,ue,qe,Qe,Ye,Je,Ze,_e,ve,et,tt,at,lt,rt,it,st,dt,mt,ut,ft,pt,bt,oe,yt,kt,gt,ht,xt],Yn={install(t){Qn.forEach(a=>{t.component(a.name,a)})}};d.ActionButton=je,d.AlertMessage=Fe,d.AppBar=de,d.BarSearch=Pe,d.CLASES_POR_TONO=fe,d.CLAVE_DEL_DIALOGO=ye,d.CLAVE_DEL_MENU=ge,d.CLAVE_DEL_TOOLTIP=he,d.CLAVE_DE_LA_BARRA=Z,d.ConfigSection=Qe,d.DeviceCard=Ye,d.Dialog=Je,d.DialogContent=Ze,d.DialogDescription=_e,d.DialogFooter=ve,d.DialogHeader=et,d.DialogTitle=tt,d.DropdownMenu=at,d.DropdownMenuContent=lt,d.DropdownMenuItem=rt,d.DropdownMenuLabel=it,d.DropdownMenuSeparator=st,d.DropdownMenuTrigger=dt,d.EmptyState=Re,d.FormGroup=mt,d.LOS_TRES_CONTROLES=v,d.ListCard=ut,d.LoadingState=Ke,d.POSICIONES=De,d.ProgressBar=Ue,d.SearchField=ee,d.SearchSelect=Ge,d.SelectField=ze,d.SideBar=Ve,d.SideButton=ie,d.SideGroup=re,d.SliderControl=ft,d.SwitchRow=pt,d.SwitchToggle=bt,d.SwitchTrack=oe,d.TabBar=Oe,d.TabItem=me,d.TextInput=ue,d.ThemeIcon=D,d.ToastArea=qe,d.ToggleControl=yt,d.Tooltip=kt,d.TooltipContent=gt,d.TooltipTrigger=ht,d.TrayIconButton=xt,d.WindowControls=ce,d.WindowFrame=Me,d.buscarOpciones=He,d.default=Yn,d.esPosicion=Se,d.olvidarLosIconosDelTema=$t,d.orientacionDe=_,d.posicionDe=Le,d.rolDelTono=pe,d.usarElDialogo=ke,d.usarElMenu=Y,d.usarElTooltip=xe,d.usarLaBarra=U,d.usarLaPosicionDeLaBarra=Ne,d.usarLaVersionDelTema=Pt,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
|
1
|
+
(function(d,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@tauri-apps/api/event"),require("@vasakgroup/plugin-vicons"),require("@tauri-apps/api/window"),require("@vasakgroup/tauri-plugin-i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@tauri-apps/api/event","@vasakgroup/plugin-vicons","@tauri-apps/api/window","@vasakgroup/tauri-plugin-i18n"],e):(d=typeof globalThis<"u"?globalThis:d||self,e(d.VueLibVasak={},d.Vue,d.TauriEvent,d.VasakVicons,d.TauriWindow,d.tauriPluginI18n))})(this,(function(d,e,wt,we,Bt,Ct){"use strict";const Et="vicons:theme-changed",J=new Map,R=new Map,G=e.ref(0);let K=0,Q=null,q=null;function $t(){J.clear(),R.clear(),K=0,Q=null,q=null,G.value=0,P.clear(),j.clear(),Be=0,F?.disconnect(),F=null,ae=!1,M!==null&&(clearTimeout(M),M=null),I&&(I.cancelado=!0),I=null}const Vt=100,ne=10,zt=16,P=new Map,j=new Set;let Be=0,F=null,ae=!1;function Dt(){return ae?F:(ae=!0,typeof IntersectionObserver>"u"?null:(F=new IntersectionObserver(t=>{for(const a of t){const o=a.target.dataset?.iconoId;if(o==null)continue;const n=Number.parseInt(o,10);a.isIntersecting?j.add(n):j.delete(n)}},{threshold:0}),F))}function St(t){const a=Be++;return P.set(a,{recargar:t,elemento:null}),j.add(a),a}function Lt(t,a){const o=P.get(t);if(!o||o.elemento===a||(o.elemento&&(F?.unobserve(o.elemento),delete o.elemento.dataset.iconoId,o.elemento=null),!a))return;const n=Dt();n&&(o.elemento=a,a.dataset.iconoId=String(t),n.observe(a))}function Nt(t){const a=P.get(t);a?.elemento&&(F?.unobserve(a.elemento),delete a.elemento.dataset.iconoId),j.delete(t),P.delete(t)}let M=null,I=null;function Tt(t){return new Promise(a=>setTimeout(a,t))}async function Mt(t){const a=[...P.keys()],o=a.filter(l=>j.has(l)),n=a.filter(l=>!j.has(l));for(const l of[o,n])for(let r=0;r<l.length;r+=ne){if(t.cancelado)return;const i=l.slice(r,r+ne);if(await Promise.allSettled(i.map(s=>P.get(s)?.recargar()??Promise.resolve())),t.cancelado)return;(r+ne<l.length||l===o)&&await Tt(zt)}I===t&&(I=null)}function At(){M!==null&&(clearTimeout(M),M=null),I&&(I.cancelado=!0);const t={cancelado:!1};I=t,Mt(t)}function It(){J.clear(),R.clear(),G.value++,M!==null&&clearTimeout(M),M=setTimeout(()=>{M=null,At()},Vt)}function Ce(){return K++,Q||q?q??Promise.resolve():(q=wt.listen(Et,It).then(t=>{K<=0?t():Q=t,q=null}),q)}function le(){K--,!(K>0)&&(K=0,Q?.(),Q=null)}function Ot(t,a){const o=`${a}:${t}`,n=J.get(o);if(n!==void 0)return Promise.resolve(n);const l=R.get(o);if(l)return l;const r=G.value,i=(a==="symbol"?we.getSymbolSource(t):we.getIconSource(t)).then(s=>(G.value===r&&J.set(o,s),s)).finally(()=>{R.get(o)===i&&R.delete(o)});return R.set(o,i),i}function Pt(){let t=!1;return e.onMounted(async()=>{await Ce(),t&&le()}),e.onUnmounted(()=>{t||(t=!0,le())}),e.readonly(G)}function jt(t,a){const o=e.ref("");let n=!1,l=0;const r=St(async()=>{await i()});async function i(){const s=++l,f=t.value;if(!f){o.value="";return}const u=await Ot(f,a.value);s===l&&!n&&(o.value=u)}return e.onMounted(async()=>{await Ce(),n||await i()}),e.onUnmounted(()=>{n=!0,Nt(r),le()}),e.watch([t,a],i),{fuente:o,mirarElemento:s=>Lt(r,s)}}const Ft=["src","alt"],D=e.defineComponent({__name:"ThemeIcon",props:{name:{},type:{default:"icon"},size:{default:18},alt:{default:""}},setup(t){const a=t,{fuente:o,mirarElemento:n}=jt(e.toRef(a,"name"),e.toRef(a,"type")),l=e.useTemplateRef("dibujo");e.watch(l,i=>n(i),{immediate:!0});const r=e.computed(()=>a.size==="auto"?void 0:{width:`${a.size}px`,height:`${a.size}px`});return(i,s)=>e.unref(o)?(e.openBlock(),e.createElementBlock("img",{key:0,ref_key:"dibujo",ref:l,src:e.unref(o),alt:t.alt,style:e.normalizeStyle(r.value),class:"shrink-0 object-contain"},null,12,Ft)):(e.openBlock(),e.createElementBlock("span",{key:1,ref_key:"dibujo",ref:l,style:e.normalizeStyle(r.value),class:"inline-block shrink-0"},null,4))}}),Rt={class:"flex flex-col gap-2"},Kt=["aria-expanded"],qt={key:1,class:"flex flex-col gap-1"},re=e.defineComponent({__name:"SideGroup",props:{title:{},collapsed:{type:Boolean,default:!1},defaultOpen:{type:Boolean,default:!0}},setup(t){const a=t,o=e.ref(a.defaultOpen);return e.watch(()=>a.collapsed,n=>{n&&(o.value=!0)}),(n,l)=>(e.openBlock(),e.createElementBlock("section",Rt,[t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",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","aria-expanded":o.value,onClick:l[0]||(l[0]=r=>o.value=!o.value)},[e.createElementVNode("span",null,e.toDisplayString(t.title),1),e.createVNode(D,{name:"pan-down-symbolic",type:"symbol",size:12,class:e.normalizeClass(["transition-transform duration-200",o.value?"":"-rotate-90"])},null,8,["class"])],8,Kt)),o.value||t.collapsed?(e.openBlock(),e.createElementBlock("div",qt,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),Ut=["title","aria-label","disabled","aria-current"],Ht={key:1},Wt={key:0,class:"min-w-0 flex-1 truncate font-medium"},Gt={key:1,class:"rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"},ie=e.defineComponent({__name:"SideButton",props:{label:{},icon:{default:""},active:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},badge:{default:""}},emits:["click"],setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("button",{type:"button",title:t.collapsed?t.label:void 0,"aria-label":t.collapsed?t.label:void 0,disabled:t.disabled,"aria-current":t.active?"page":void 0,class:e.normalizeClass(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-[color,background-color,border-color,scale] duration-200 active:scale-[0.98]",[t.active?"border-secondary bg-primary/15 text-tx-main shadow-sm":"border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",t.disabled?"cursor-not-allowed opacity-60":"cursor-pointer",t.collapsed?"justify-center px-2":""]]),onClick:o[0]||(o[0]=n=>a.$emit("click"))},[e.createElementVNode("span",{class:e.normalizeClass(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide",t.active?"border-secondary bg-primary/20":""]),"aria-hidden":"true"},[t.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.icon,size:20},null,8,["name"])):(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(t.label.charAt(0).toUpperCase()),1))],2),t.collapsed?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",Wt,e.toDisplayString(t.label),1)),!t.collapsed&&t.badge!==""?(e.openBlock(),e.createElementBlock("span",Gt,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0)],10,Ut))}}),Qt={key:0,class:"flex flex-col gap-2 border-ui-border border-b p-2"},Yt={class:"flex items-center gap-2"},Xt=["aria-label","aria-expanded"],Jt={key:0,class:"min-w-0 flex-1"},Zt={key:0,class:"truncate font-semibold text-sm"},_t={key:1,class:"truncate text-tx-muted text-xs"},vt={key:0},eo={key:1,class:"flex border-ui-border border-b p-2"},to=["aria-label","aria-expanded"],oo={class:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2"},Ee="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",$e=767,Ve=e.defineComponent({__name:"SideBar",props:{title:{default:""},subtitle:{default:""},categories:{default:()=>[]},modelValue:{default:""},collapsed:{type:Boolean,default:void 0},collapseLabel:{default:"Collapse"},expandLabel:{default:"Expand"}},emits:["update:modelValue","update:collapsed","change"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(n.collapsed??!1),i=e.ref(!1);let s=null,f=null;const u=e.computed(()=>i.value||r.value),m=e.computed(()=>!!(n.title||n.subtitle));e.computed(()=>n.categories.length>0);function B(){return document.documentElement?.clientWidth||window.innerWidth}function C(){i.value=B()<=$e}function $(){r.value=!r.value,l("update:collapsed",r.value)}function y(h){l("update:modelValue",h),l("change",h)}return e.watch(()=>n.collapsed,h=>{h!==void 0&&(r.value=h)}),e.onMounted(()=>{s=window.matchMedia(`(max-width: ${$e}px)`),C(),s.addEventListener("change",C),window.addEventListener("resize",C),typeof ResizeObserver<"u"&&document.documentElement&&(f=new ResizeObserver(C),f.observe(document.documentElement))}),e.onBeforeUnmount(()=>{s?.removeEventListener("change",C),window.removeEventListener("resize",C),f?.disconnect(),f=null}),a({collapsed:u}),(h,z)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["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]",u.value?"md:w-[84px]":"md:w-72"]])},[m.value||h.$slots.header?(e.openBlock(),e.createElementBlock("header",Qt,[e.createElementVNode("div",Yt,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(Ee),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(D,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,Xt),m.value&&!u.value?(e.openBlock(),e.createElementBlock("div",Jt,[t.title?(e.openBlock(),e.createElementBlock("p",Zt,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subtitle?(e.openBlock(),e.createElementBlock("p",_t,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)]),h.$slots.header&&!u.value?(e.openBlock(),e.createElementBlock("div",vt,[e.renderSlot(h.$slots,"header",{collapsed:u.value})])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",eo,[e.createElementVNode("button",{type:"button",class:e.normalizeClass(Ee),"aria-label":u.value?t.expandLabel:t.collapseLabel,"aria-expanded":!u.value,onClick:$},[e.createVNode(D,{name:u.value?"pan-end-symbolic":"pan-start-symbolic",type:"symbol",size:16},null,8,["name"])],8,to)])),e.createElementVNode("div",oo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.categories,x=>(e.openBlock(),e.createBlock(re,{key:x.id,title:x.title,collapsed:u.value},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.items,k=>(e.openBlock(),e.createBlock(ie,{key:k.id,label:k.label,icon:k.icon,badge:k.badge,disabled:k.disabled,collapsed:u.value,active:t.modelValue===k.id,onClick:c=>y(k.id)},null,8,["label","icon","badge","disabled","collapsed","active","onClick"]))),128))]),_:2},1032,["title","collapsed"]))),128)),e.renderSlot(h.$slots,"default",{collapsed:u.value})])],2))}}),no={class:"flex min-w-0 flex-col gap-1"},ao=["for"],lo={class:"relative flex min-w-0 items-center"},ro=["id"],ze=e.defineComponent({inheritAttrs:!1,__name:"SelectField",props:e.mergeModels({label:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:a}){const o=t,n=e.useAttrs(),l=e.useId(),r=e.computed(()=>n.id??l),i=a,[s,f]=e.useModel(t,"modelValue",{set(u){return f.number?Number(u):u}});return(u,m)=>(e.openBlock(),e.createElementBlock("div",no,[o.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:r.value,class:"text-tx-muted text-xs"},e.toDisplayString(o.label),9,ao)):e.createCommentVNode("",!0),e.createElementVNode("div",lo,[e.withDirectives(e.createElementVNode("select",e.mergeProps({id:r.value,"onUpdate:modelValue":m[0]||(m[0]=B=>e.isRef(s)?s.value=B:null),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"},e.unref(n),{onChange:m[1]||(m[1]=B=>i("change",B))}),[e.renderSlot(u.$slots,"default")],16,ro),[[e.vModelSelect,e.unref(s)]]),e.createVNode(D,{name:"pan-down-symbolic",type:"symbol",size:14,class:"pointer-events-none absolute right-2"})])]))}}),Z=Symbol("barra de vasak");function _(t){return t==="left"||t==="right"?"vertical":"horizontal"}const De=["top","bottom","left","right"];function Se(t){return typeof t=="string"&&De.includes(t)}function U(){const t=e.inject(Z,null);if(t)return t;const a=e.ref("top");return{posicion:a,orientacion:e.computed(()=>_(a.value)),vertical:e.computed(()=>_(a.value)==="vertical")}}const v=["minimize","maximize","close"],io="window",so="barPosition";function Le(t){const o=t?.[io]?.[so];return Se(o)?o:null}function Ne(t="top"){const a=e.ref(t);let o=null,n=!1;async function l(){try{const{readConfig:r}=await import("@vasakgroup/plugin-config-manager"),i=await r();a.value=Le(i)??t}catch{}}return e.onMounted(async()=>{await l();try{const{listen:r}=await import("@tauri-apps/api/event"),i=await r("config-changed",()=>{l()});if(n){i();return}o=i}catch{}}),e.onBeforeUnmount(()=>{n=!0,o?.(),o=null}),a}function Te(t){const a=e.getCurrentInstance(),o={};for(const n of t){const l=`on${n[0].toUpperCase()}${n.slice(1)}`;a?.vnode.props?.[l]&&(o[n]=()=>a.emit(n))}return o}const co=["title","aria-label"],mo=["title","aria-label"],uo=["title","aria-label"],se="flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors",ce=e.defineComponent({__name:"WindowControls",props:{controls:{default:()=>v},minimizeLabel:{},maximizeLabel:{},closeLabel:{}},emits:["minimize","maximize","close"],setup(t,{emit:a}){const o=t,{t:n}=Ct.useI18n(),l=e.computed(()=>o.minimizeLabel??n("ventana.minimizar")),r=e.computed(()=>o.maximizeLabel??n("ventana.maximizar")),i=e.computed(()=>o.closeLabel??n("ventana.cerrar")),s=a,{vertical:f}=U(),u=e.computed(()=>({minimize:o.controls.includes("minimize"),maximize:o.controls.includes("maximize"),close:o.controls.includes("close")}));function m(){return Bt.getCurrentWindow()}const B=e.getCurrentInstance();function C(z){return!!B?.vnode.props?.[`on${z}`]}function $(){if(C("Minimize"))return s("minimize");m().minimize()}function y(){if(C("Maximize"))return s("maximize");m().toggleMaximize()}function h(){if(C("Close"))return s("close");m().close()}return(z,x)=>t.controls.length?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex shrink-0 gap-1",e.unref(f)?"flex-col":""]),"data-tauri-drag-region":""},[u.value.minimize?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass([se,"hover:bg-status-success"]),title:l.value,"aria-label":l.value,onClick:x[0]||(x[0]=k=>$())},[e.createVNode(D,{name:"window-minimize",type:"symbol",size:24})],10,co)):e.createCommentVNode("",!0),u.value.maximize?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:e.normalizeClass([se,"hover:bg-status-warning"]),title:r.value,"aria-label":r.value,onClick:x[1]||(x[1]=k=>y())},[e.createVNode(D,{name:"window-maximize",type:"symbol",size:24})],10,mo)):e.createCommentVNode("",!0),u.value.close?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",class:e.normalizeClass([se,"hover:bg-status-error"]),title:i.value,"aria-label":i.value,onClick:x[2]||(x[2]=k=>h())},[e.createVNode(D,{name:"window-close",type:"symbol",size:24})],10,uo)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)}}),fo={key:0,class:"flex shrink-0 items-center","data-tauri-drag-region":""},po={key:1,class:"min-w-0 shrink truncate text-sm","data-tauri-drag-region":""},de=e.defineComponent({__name:"AppBar",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>v}},emits:["minimize","maximize","close"],setup(t){const a=t,o=U(),n=e.computed(()=>a.position??o.posicion.value),l=e.computed(()=>n.value==="left"||n.value==="right");return e.provide(Z,{posicion:n,orientacion:e.computed(()=>l.value?"vertical":"horizontal"),vertical:l}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative flex shrink-0 items-center gap-2 p-1 font-title",l.value?"h-full flex-col":"w-full"]),"data-tauri-drag-region":""},[r.$slots.identidad?(e.openBlock(),e.createElementBlock("div",fo,[e.renderSlot(r.$slots,"identidad")])):e.createCommentVNode("",!0),(r.$slots.titulo||t.title)&&!l.value?(e.openBlock(),e.createElementBlock("p",po,[e.renderSlot(r.$slots,"titulo",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 flex-1 items-center gap-2 overflow-auto",l.value?"flex-col":""]),"data-tauri-drag-region":""},[e.renderSlot(r.$slots,"default")],2),r.$slots.acciones?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["flex shrink-0 items-center gap-1",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"acciones")],2)):e.createCommentVNode("",!0),e.createVNode(ce,e.mergeProps({controls:t.controls,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel},e.toHandlers(e.unref(Te)(["minimize","maximize","close"]))),null,16,["controls","minimize-label","maximize-label","close-label"]),r.$slots.centro?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["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"])},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-auto flex items-center gap-2",l.value?"flex-col":""])},[e.renderSlot(r.$slots,"centro")],2)],2)):e.createCommentVNode("",!0)],2))}}),bo={class:"flex min-h-0 min-w-0 flex-1"},Me=e.defineComponent({__name:"WindowFrame",props:{position:{default:null},title:{default:""},minimizeLabel:{},maximizeLabel:{},closeLabel:{},controls:{default:()=>v},hideBar:{type:Boolean,default:!1}},emits:["minimize","maximize","close"],setup(t){const a=t,o=Ne(),n=e.computed(()=>a.position??o.value),l=e.computed(()=>_(n.value)),r=e.computed(()=>l.value==="vertical");e.provide(Z,{posicion:n,orientacion:l,vertical:r});const i={top:"flex-col",bottom:"flex-col-reverse",left:"flex-row",right:"flex-row-reverse"};return(s,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80",i[n.value]])},[t.hideBar?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(de,e.mergeProps({key:0,position:n.value,title:t.title,"minimize-label":t.minimizeLabel,"maximize-label":t.maximizeLabel,"close-label":t.closeLabel,controls:t.controls},e.toHandlers(e.unref(Te)(["minimize","maximize","close"]))),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"barra")]),_:2},[s.$slots.identidad?{name:"identidad",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"identidad")]),key:"0"}:void 0,s.$slots.titulo?{name:"titulo",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"titulo")]),key:"1"}:void 0,s.$slots.centro?{name:"centro",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"centro")]),key:"2"}:void 0,s.$slots.acciones?{name:"acciones",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"acciones")]),key:"3"}:void 0]),1040,["position","title","minimize-label","maximize-label","close-label","controls"])),e.createElementVNode("div",bo,[e.renderSlot(s.$slots,"default")])],2))}}),yo=["aria-selected","title","aria-label","tabindex"],ko={key:1,"aria-hidden":"true"},go={key:2,class:"min-w-0 flex-1 truncate"},ho=["title","aria-label"],xo={class:"whitespace-nowrap"},wo={key:0,class:"size-2 shrink-0 rounded-full bg-current","aria-hidden":"true"},Bo=["title","aria-label"],Co=500,Ae=8,Ie=6,me=e.defineComponent({__name:"TabItem",props:{tab:{},active:{type:Boolean,default:!1},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},tabindex:{default:0}},emits:["select","close","menu","mover","navegar"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=U(),i=e.ref(null),s=e.ref(null),f=e.ref(!1),u=e.ref(!1),m=e.ref(!1),B=e.ref({top:0,left:0,right:0});let C=null,$=null;const y=e.computed(()=>o.tab.closable!==!1),h=e.computed(()=>o.tab.tooltip??o.tab.label),z=e.computed(()=>o.tab.dirty?`${o.tab.label} · ${o.dirtyLabel}`:o.tab.label),x=e.computed(()=>o.tab.label.trim().charAt(0).toUpperCase()),k=e.computed(()=>f.value||m.value),c=e.computed(()=>!!o.tab.dirty&&!(k.value&&y.value)),p=e.computed(()=>y.value&&(k.value||o.active||!o.tab.dirty)),b=e.computed(()=>l.value&&(f.value||u.value||m.value)),S=e.computed(()=>{const L={position:"fixed",top:`${B.value.top}px`,zIndex:50};return r.value==="right"?{...L,right:`${B.value.right+Ie}px`}:{...L,left:`${B.value.left+Ie}px`}});function H(){const L=i.value;if(!L)return;const g=L.getBoundingClientRect();B.value={top:g.top,left:g.right,right:window.innerWidth-g.left}}function T(L){const g=L.relatedTarget;g&&s.value?.contains(g)||(m.value=!1)}function W(){f.value=!0,H()}function A(){u.value=!0,H()}function E(){C!==null&&clearTimeout(C),C=null,$=null}function w(L){L.button===0&&($={x:L.clientX,y:L.clientY},C=setTimeout(()=>{$&&n("menu",$),E()},Co))}function V(L){if(!$)return;(Math.abs(L.clientX-$.x)>Ae||Math.abs(L.clientY-$.y)>Ae)&&E()}function X(L){L.button===1&&y.value&&(L.preventDefault(),n("close"))}function Xn(L){L.preventDefault(),n("menu",{x:L.clientX,y:L.clientY})}return e.onBeforeUnmount(E),(L,g)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"raiz",ref:i,class:e.normalizeClass(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors",[t.active?"bg-primary font-bold text-tx-on-primary":"bg-ui-bg/80 hover:bg-ui-surface/70",e.unref(l)?"size-8 justify-center p-0 text-sm":"w-34 max-w-34 px-3 py-1 text-sm"]]),role:"tab","aria-selected":t.active,title:h.value,"aria-label":z.value,tabindex:t.tabindex,onClick:g[5]||(g[5]=e.withModifiers(N=>n("select"),["stop"])),onKeydown:[g[6]||(g[6]=e.withKeys(e.withModifiers(N=>n("select"),["stop"]),["enter"])),g[7]||(g[7]=e.withKeys(e.withModifiers(N=>n("select"),["prevent","stop"]),["space"])),g[8]||(g[8]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["left"])),g[9]||(g[9]=e.withKeys(e.withModifiers(N=>n("navegar","anterior"),["prevent","stop"]),["up"])),g[10]||(g[10]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["right"])),g[11]||(g[11]=e.withKeys(e.withModifiers(N=>n("navegar","siguiente"),["prevent","stop"]),["down"])),g[12]||(g[12]=e.withKeys(e.withModifiers(N=>n("navegar","primera"),["prevent","stop"]),["home"])),g[13]||(g[13]=e.withKeys(e.withModifiers(N=>n("navegar","ultima"),["prevent","stop"]),["end"])),g[14]||(g[14]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["left"])),g[15]||(g[15]=e.withKeys(e.withModifiers(N=>n("mover",-1),["alt","prevent","stop"]),["up"])),g[16]||(g[16]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["right"])),g[17]||(g[17]=e.withKeys(e.withModifiers(N=>n("mover",1),["alt","prevent","stop"]),["down"])),g[18]||(g[18]=e.withKeys(e.withModifiers(N=>y.value&&n("close"),["prevent","stop"]),["delete"]))],onAuxclick:e.withModifiers(X,["stop"]),onContextmenu:Xn,onPointerdown:w,onPointermove:V,onPointerup:E,onPointerleave:E,onMouseenter:W,onMouseleave:g[19]||(g[19]=N=>f.value=!1),onFocus:A,onBlur:g[20]||(g[20]=N=>u.value=!1)},[t.tab.icon?(e.openBlock(),e.createBlock(D,{key:0,name:t.tab.icon,size:16,class:"shrink-0"},null,8,["name"])):e.unref(l)?(e.openBlock(),e.createElementBlock("span",ko,e.toDisplayString(x.value),1)):e.createCommentVNode("",!0),e.unref(l)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",go,e.toDisplayString(t.tab.label),1)),c.value?(e.openBlock(),e.createElementBlock("span",{key:3,class:e.normalizeClass(["size-2 shrink-0 rounded-full bg-current",e.unref(l)?"absolute right-0.5 top-0.5":""]),"aria-hidden":"true"},null,2)):p.value&&!e.unref(l)?(e.openBlock(),e.createElementBlock("button",{key:4,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:g[0]||(g[0]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12})],8,ho)):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition duration-150 ease-out","enter-from-class":"opacity-0 scale-95","leave-active-class":"transition duration-100 ease-in","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex items-center gap-2 rounded-corner border border-ui-border bg-ui-surface/95 px-3 py-1 text-sm shadow-lg",t.active?"font-bold":""]),ref_key:"desplegadoRef",ref:s,style:e.normalizeStyle(S.value),onMouseenter:g[2]||(g[2]=N=>m.value=!0),onMouseleave:g[3]||(g[3]=N=>m.value=!1),onFocusin:g[4]||(g[4]=N=>m.value=!0),onFocusout:T},[e.createElementVNode("span",xo,e.toDisplayString(t.tab.label),1),t.tab.dirty?(e.openBlock(),e.createElementBlock("span",wo)):e.createCommentVNode("",!0),y.value?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",title:t.closeLabel,"aria-label":`${t.closeLabel}: ${z.value}`,onClick:g[1]||(g[1]=e.withModifiers(N=>n("close"),["stop"]))},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12})],8,Bo)):e.createCommentVNode("",!0)],38)):e.createCommentVNode("",!0)]),_:1})]))],42,yo))}}),Eo=["aria-orientation"],$o=["draggable","onDragstart","onDragover","onDrop"],Vo=["title","aria-label"],Oe=e.defineComponent({__name:"TabBar",props:{tabs:{},modelValue:{default:""},newLabel:{default:""},closeLabel:{default:"Close"},dirtyLabel:{default:"Unsaved changes"},fixedOrder:{type:Boolean,default:!1}},emits:["update:modelValue","select","close","new","reorder","menu"],setup(t,{emit:a}){const o=t,n=a,{vertical:l}=U(),r=e.ref(null),i=e.ref(0),s=e.ref(null),f=e.ref(null);function u(k){n("update:modelValue",k),n("select",k)}async function m(k,c){const p=o.tabs.length-1;if(p<0)return;const b=c==="primera"?0:c==="ultima"?p:c==="anterior"?(k-1+o.tabs.length)%o.tabs.length:(k+1)%o.tabs.length;i.value=b,await e.nextTick(),r.value?.querySelectorAll('[role="tab"]')?.[b]?.focus()}function B(k,c){if(o.fixedOrder)return;const p=k+c;if(p<0||p>=o.tabs.length)return;const b=[...o.tabs],[S]=b.splice(k,1);S&&(b.splice(p,0,S),i.value=p,n("reorder",b))}function C(k){const c=r.value;if(!c)return;const p=k.deltaY||k.deltaX||0,b=l.value?c.scrollTop:c.scrollLeft;l.value?c.scrollTop+=p:c.scrollLeft+=p,(l.value?c.scrollTop:c.scrollLeft)!==b&&k.preventDefault()}function $(k,c){o.fixedOrder||(s.value=k,c.dataTransfer?.setData("text/plain",String(k)),c.dataTransfer&&(c.dataTransfer.effectAllowed="move"))}function y(k,c){o.fixedOrder||s.value===null||(c.preventDefault(),f.value=k,c.dataTransfer&&(c.dataTransfer.dropEffect="move"))}function h(k){const c=s.value;if(z(),o.fixedOrder||c===null||c===k)return;const p=[...o.tabs],[b]=p.splice(c,1);b&&(p.splice(k,0,b),n("reorder",p))}function z(){s.value=null,f.value=null}const x=e.computed(()=>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");return(k,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex min-h-0 min-w-0 items-center gap-1",e.unref(l)?"w-full flex-col":"h-full"]),role:"tablist","aria-orientation":e.unref(l)?"vertical":"horizontal"},[e.createElementVNode("div",{ref_key:"carril",ref:r,class:e.normalizeClass(x.value),onWheel:C},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.tabs,(p,b)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["transition-opacity",[s.value===b?"opacity-40":"",f.value===b&&s.value!==b?"ring-2 ring-secondary rounded-corner":""]]),draggable:!t.fixedOrder,onDragstart:S=>$(b,S),onDragover:S=>y(b,S),onDrop:e.withModifiers(S=>h(b),["prevent"]),onDragend:z},[e.createVNode(me,{tab:p,active:p.id===t.modelValue,"close-label":t.closeLabel,"dirty-label":t.dirtyLabel,tabindex:b===i.value?0:-1,onSelect:S=>u(p.id),onClose:S=>n("close",p.id),onMenu:S=>n("menu",{id:p.id,...S}),onNavegar:S=>m(b,S),onMover:S=>B(b,S)},null,8,["tab","active","close-label","dirty-label","tabindex","onSelect","onClose","onMenu","onNavegar","onMover"])],42,$o))),128))],34),t.newLabel?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",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",title:t.newLabel,"aria-label":t.newLabel,onClick:c[0]||(c[0]=p=>n("new"))},[e.createVNode(D,{name:"gtk-add",type:"symbol",size:14})],8,Vo)):e.createCommentVNode("",!0)],10,Eo))}}),zo=["id","aria-label","type","value","placeholder","disabled","readonly","required","aria-describedby","autocomplete","aria-invalid"],ue=e.defineComponent({__name:"TextInput",props:{modelValue:{},type:{default:"text"},id:{},ariaLabel:{},describedBy:{},autocomplete:{},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},required:{type:Boolean,default:!1},lazy:{type:Boolean,default:!1}},emits:["update:modelValue","keyup","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o;function r(m){n.lazy||l("update:modelValue",m.target.value)}function i(m){n.lazy&&l("update:modelValue",m.target.value)}const s=e.ref(null);function f(){return s.value?.focus(),s.value!==null&&document.activeElement===s.value}a({enfocar:f});const u=e.computed(()=>["w-full rounded-corner border bg-ui-surface/70 px-3 py-1.5 text-sm text-tx-main","placeholder:text-tx-muted focus:outline-none focus:ring-1 focus:ring-primary",n.invalid?"border-status-error":"border-ui-border",n.mono?"font-mono":"",n.disabled?"cursor-not-allowed opacity-60":""]);return(m,B)=>(e.openBlock(),e.createElementBlock("input",{ref_key:"campo",ref:s,id:t.id,"aria-label":t.ariaLabel,type:t.type,value:t.modelValue,placeholder:t.placeholder,disabled:t.disabled,readonly:t.readonly,required:t.required,"aria-describedby":t.describedBy,autocomplete:t.autocomplete,"aria-invalid":t.invalid||void 0,class:e.normalizeClass(u.value),onInput:r,onChange:i,onKeyup:B[0]||(B[0]=C=>l("keyup",C)),onKeydown:B[1]||(B[1]=C=>l("keydown",C))},null,42,zo))}}),Do={class:"pointer-events-none absolute left-2 flex items-center"},So=["aria-label"],ee=e.defineComponent({__name:"SearchField",props:{modelValue:{default:""},placeholder:{default:""},label:{default:""},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},debounce:{default:0},clearable:{type:Boolean,default:!0},busy:{type:Boolean,default:!1},listboxId:{},activeOptionId:{},expanded:{type:Boolean}},emits:["update:modelValue","search","clear","keydown"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(null);let i;const s=e.computed(()=>n.modelValue.length>0),f=e.computed(()=>n.listboxId?{role:"combobox","aria-autocomplete":"list","aria-controls":n.listboxId,"aria-expanded":String(n.expanded),"aria-activedescendant":n.activeOptionId||void 0}:{}),u=e.computed(()=>n.clearable&&s.value&&!n.disabled);function m(){clearTimeout(i),i=void 0}function B(h){l("update:modelValue",h),!(n.debounce<=0)&&(m(),i=setTimeout(()=>l("search",h),n.debounce))}function C(){m(),l("search",n.modelValue)}function $(){m(),l("update:modelValue",""),l("clear"),y()}function y(){return r.value?.enfocar()??!1}return a({enfocar:y}),e.onMounted(async()=>{n.autofocus&&(await e.nextTick(),y())}),e.onUnmounted(m),e.watch(()=>n.disabled,h=>{h&&m()}),(h,z)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex items-center",onKeydown:e.withKeys(C,["enter"])},[e.createElementVNode("span",Do,[e.createVNode(D,{name:t.busy?"content-loading":"system-search",type:"symbol",size:14,class:e.normalizeClass(t.busy?"animate-spin opacity-70":"opacity-60")},null,8,["name","class"])]),e.createVNode(ue,e.mergeProps({ref_key:"campo",ref:r,type:"search","model-value":t.modelValue,placeholder:t.placeholder||t.label,ariaLabel:t.label||void 0},f.value,{disabled:t.disabled,class:["pl-7 [&::-webkit-search-cancel-button]:appearance-none",u.value?"pr-8":""],"onUpdate:modelValue":B,onKeydown:z[0]||(z[0]=x=>l("keydown",x))}),null,16,["model-value","placeholder","ariaLabel","disabled","class"]),u.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"absolute right-1 flex size-6 items-center justify-center rounded-corner text-tx-muted hover:bg-ui-surface","aria-label":t.label?`${t.label}: vaciar`:"Vaciar",onMousedown:z[1]||(z[1]=e.withModifiers(()=>{},["prevent"])),onClick:$},[e.createVNode(D,{name:"gtk-close",type:"symbol",size:12,alt:""})],40,So)):e.createCommentVNode("",!0)],32))}}),Lo=["title","aria-label","aria-expanded"],Pe=e.defineComponent({__name:"BarSearch",props:{modelValue:{default:""},placeholder:{default:""},label:{default:"Search"},collapsed:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},debounce:{default:0}},emits:["update:modelValue","search","open","close"],setup(t,{emit:a}){const o=t,n=a,{vertical:l,posicion:r}=U(),i=e.ref(!1),s=e.ref(null),f=e.computed(()=>l.value||o.collapsed),u=e.computed(()=>!f.value||i.value),m=e.computed(()=>{if(!f.value)return"";const y="absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";return r.value==="left"?`${y} left-full top-0 ml-1`:r.value==="right"?`${y} right-full top-0 mr-1`:r.value==="bottom"?`${y} bottom-full right-0 mb-1`:`${y} top-full right-0 mt-1`});async function B(){i.value=!0,n("open"),await e.nextTick(),s.value?.enfocar()}function C(){i.value&&(i.value=!1,n("close"))}function $(y){const h=y.relatedTarget;h&&y.currentTarget.contains(h)||C()}return(y,h)=>(e.openBlock(),e.createElementBlock("div",{class:"relative flex shrink-0 items-center",onFocusout:$},[f.value?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",title:t.label,"aria-label":t.label,"aria-expanded":i.value,onMousedown:h[0]||(h[0]=e.withModifiers(()=>{},["prevent"])),onClick:h[1]||(h[1]=z=>i.value?C():B())},[e.createVNode(D,{name:"system-search",type:"symbol",size:14})],40,Lo)):e.createCommentVNode("",!0),u.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(m.value),onKeydown:e.withKeys(C,["esc"])},[e.createVNode(ee,{ref_key:"campo",ref:s,"model-value":t.modelValue,placeholder:t.placeholder,label:t.label,disabled:t.disabled,debounce:t.debounce,class:e.normalizeClass(f.value?"":"w-48"),"onUpdate:modelValue":h[2]||(h[2]=z=>n("update:modelValue",z)),onSearch:h[3]||(h[3]=z=>n("search",z))},null,8,["model-value","placeholder","label","disabled","debounce","class"])],34)):e.createCommentVNode("",!0)],32))}}),No=["type","disabled"],To={key:0,class:"w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"},Mo=["src","alt"],Ao={key:2},Io=["src","alt"],Oo=e.defineComponent({__name:"ActionButton",props:{label:{},disabled:{type:Boolean,default:!1},variant:{default:"primary"},loading:{type:Boolean,default:!1},customClass:{default:()=>({})},size:{default:"md"},fullWidth:{type:Boolean,default:!1},iconSrc:{default:""},iconAlt:{default:""},iconRight:{type:Boolean,default:!1},type:{default:"button"},stopPropagation:{type:Boolean,default:!1},preventDefault:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l={primary:"bg-primary dark:bg-primary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-primary/90 dark:hover:bg-primary-dark/90",secondary:"bg-secondary dark:bg-secondary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-secondary/80 dark:hover:bg-secondary-dark/80",danger:"bg-status-error dark:bg-status-error-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-status-error/90 dark:hover:bg-status-error-dark/90"},r={sm:"px-2 py-1 text-xs",md:"px-3 py-1 text-sm",lg:"px-4 py-2 text-base"},i=s=>{o.stopPropagation&&s.stopPropagation(),o.preventDefault&&s.preventDefault(),!o.disabled&&!o.loading&&n("click")};return(s,f)=>(e.openBlock(),e.createElementBlock("button",{type:o.type,onClick:i,class:e.normalizeClass(["rounded-corner transition-[background-color,opacity] duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2",[l[o.variant],r[o.size],o.fullWidth?"w-full":"",o.iconSrc&&!o.label?"px-2 py-2":"",t.customClass]]),disabled:o.disabled||o.loading},[t.loading?(e.openBlock(),e.createElementBlock("span",To)):e.createCommentVNode("",!0),o.iconSrc&&!o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:1,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,Mo)):e.createCommentVNode("",!0),o.label?(e.openBlock(),e.createElementBlock("span",Ao,e.toDisplayString(o.label),1)):e.createCommentVNode("",!0),o.iconSrc&&o.iconRight?(e.openBlock(),e.createElementBlock("img",{key:3,src:o.iconSrc,alt:o.iconAlt||o.label,class:"w-4 h-4"},null,8,Io)):e.createCommentVNode("",!0)],10,No))}}),te=(t,a)=>{const o=t.__vccOpts||t;for(const[n,l]of a)o[n]=l;return o},je=te(Oo,[["__scopeId","data-v-3c1bd6bd"]]),fe={info:"border-ui-border bg-ui-surface/70 text-tx-main",success:"border-status-success/40 bg-status-success/10 text-tx-main",warning:"border-status-warning/40 bg-status-warning/10 text-tx-main",error:"border-status-error/40 bg-status-error/10 text-tx-main"};function pe(t){return t==="error"?"alert":"status"}const Po=["role"],jo={key:0,class:"mt-0.5"},Fo={class:"min-w-0 flex-1"},Ro={key:0,class:"font-semibold"},Fe=e.defineComponent({__name:"AlertMessage",props:{tone:{default:"info"},title:{},icon:{},iconType:{default:"symbol"}},setup(t){const a=t,o=e.computed(()=>fe[a.tone]),n=e.computed(()=>pe(a.tone));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:n.value,"aria-atomic":"true",class:e.normalizeClass(["flex gap-3 rounded-corner border px-4 py-2 text-sm",o.value])},[t.icon?(e.openBlock(),e.createElementBlock("span",jo,[e.createVNode(D,{name:t.icon,type:t.iconType,size:18,alt:""},null,8,["name","type"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Fo,[t.title?(e.openBlock(),e.createElementBlock("p",Ro,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(t.title?"mt-1":"")},[e.renderSlot(l.$slots,"default")],2)])],10,Po))}}),Ko={class:"font-medium text-sm text-tx-main"},qo={key:0,class:"text-sm text-tx-muted"},Re=e.defineComponent({__name:"EmptyState",props:{title:{},note:{},icon:{default:"dialog-information"},iconType:{default:"icon"},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col items-center justify-center gap-3 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[e.createVNode(D,{name:t.icon,type:t.iconType,size:48,class:"opacity-60"},null,8,["name","type"]),e.createElementVNode("p",Ko,e.toDisplayString(t.title),1),t.note?(e.openBlock(),e.createElementBlock("p",qo,e.toDisplayString(t.note),1)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default")],2))}}),Uo={class:"text-sm text-tx-muted"},Ke=e.defineComponent({__name:"LoadingState",props:{label:{},bordered:{type:Boolean,default:!1}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{role:"status","aria-atomic":"true",class:e.normalizeClass(["flex flex-col items-center justify-center gap-4 px-8 py-12 text-center",t.bordered?"rounded-corner border border-ui-border border-dashed bg-ui-surface/20":""])},[o[0]||(o[0]=e.createElementVNode("span",{class:"h-10 w-10 animate-spin rounded-full border-4 border-ui-border border-t-primary motion-reduce:animate-none"},null,-1)),e.createElementVNode("p",Uo,e.toDisplayString(t.label),1)],2))}}),Ho=["role"],qe=e.defineComponent({__name:"ToastArea",props:{toasts:{},position:{default:"bottom-right"}},setup(t){const a=t,o=e.computed(()=>a.position==="bottom-center"?"bottom-4 left-1/2 -translate-x-1/2":"right-4 bottom-4");return(n,l)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("div",{class:e.normalizeClass(["pointer-events-none fixed z-60 flex flex-col gap-2",o.value])},[e.createVNode(e.TransitionGroup,{"enter-active-class":"transition-all duration-300 ease-out","leave-active-class":"transition-all duration-200 ease-in","enter-from-class":"translate-y-2 opacity-0","leave-to-class":"translate-y-2 opacity-0","move-class":"transition-transform duration-300"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toasts,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,role:e.unref(pe)(r.tone??"info"),"aria-atomic":"true",class:e.normalizeClass(["pointer-events-auto rounded-corner border px-4 py-2 text-sm shadow-lg backdrop-blur-sm",e.unref(fe)[r.tone??"info"]])},[e.renderSlot(n.$slots,"default",{aviso:r},()=>[e.createTextVNode(e.toDisplayString(r.message),1)])],10,Ho))),128))]),_:3})],2)]))}}),Wo=["aria-label","aria-valuenow"],Go={key:1,class:"h-full w-full animate-pulse rounded-corner bg-primary motion-reduce:animate-none motion-reduce:bg-primary/40"},Ue=e.defineComponent({__name:"ProgressBar",props:{value:{},label:{},tone:{default:"normal"}},setup(t){const a=t,o={normal:"bg-primary",warning:"bg-status-warning",critical:"bg-status-error"},n=e.computed(()=>a.value===null?null:Math.max(0,Math.min(100,a.value)));return(l,r)=>(e.openBlock(),e.createElementBlock("div",{role:"progressbar","aria-label":t.label,"aria-valuenow":n.value??void 0,"aria-valuemin":"0","aria-valuemax":"100",class:"h-2 w-full overflow-hidden rounded-corner bg-ui-surface/70"},[n.value!==null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["h-full rounded-corner transition-[width] duration-300 ease-out",o[t.tone]]),style:e.normalizeStyle({width:`${n.value}%`})},null,6)):(e.openBlock(),e.createElementBlock("div",Go))],8,Wo))}}),Qo=/[/\-_.]/;function be(t,a){if(!a)return 100;const o=a.toLowerCase();return o===t?0:o.startsWith(t)?10:o.split(Qo).some(n=>n.startsWith(t))?30:o.includes(t)?40:100}function He(t,a){const o=a.trim().toLowerCase();if(!o)return t;const n=[];for(let l=0;l<t.length;l++){const r=t[l],i=be(o,r.valor),s=be(o,r.etiqueta),f=s===10?20:s,m=be(o,r.detalle)===100?100:40,B=Math.min(i,f,m);B!==100&&n.push({opcion:r,rango:B,orden:l})}return n.sort((l,r)=>l.rango-r.rango||l.orden-r.orden),n.map(l=>l.opcion)}let We=0;function Yo(){return We+=1,`vsk-lista-${We}`}const Xo=["disabled","aria-label","aria-expanded"],Jo={class:"min-w-0 flex-1 truncate"},Zo={key:0,class:"ml-2 text-tx-muted text-xs"},_o={class:"border-ui-border border-b p-2"},vo=["id"],en={key:0,class:"p-3 text-center text-tx-muted text-xs"},tn=["id","data-indice","aria-selected"],on={class:"min-w-0 flex-1 truncate"},nn={key:0,class:"shrink-0 text-tx-muted text-xs"},an={key:1,class:"px-2 py-1 text-tx-muted text-xs"},Ge=e.defineComponent({__name:"SearchSelect",props:{modelValue:{},options:{},label:{default:""},searchPlaceholder:{default:""},emptyText:{default:""},placeholder:{default:"—"},disabled:{type:Boolean,default:!1},limit:{default:60},up:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(""),r=e.ref(!1),i=e.ref(0),s=e.ref(null),f=e.ref(null),u=e.ref(null),m=Yo(),B=e.computed(()=>o.options.find(E=>E.valor===o.modelValue)??null),C=e.computed(()=>He(o.options,l.value)),$=e.computed(()=>C.value.slice(0,o.limit)),y=e.computed(()=>Math.max(0,C.value.length-o.limit)),h=e.computed(()=>$.value.length>0?`${m}-${i.value}`:void 0);function z(E){n("update:modelValue",E),k()}async function x(){r.value=!0;const E=$.value.findIndex(w=>w.valor===o.modelValue);i.value=E>=0?E:0,await e.nextTick(),u.value?.enfocar(),T()}function k(E=!0){r.value&&(r.value=!1,l.value="",E&&e.nextTick(()=>f.value?.focus()))}function c(E){const w=$.value.length;w!==0&&(i.value=(i.value+E+w)%w,T())}function p(E){i.value=E,T()}function b(E){const w=E.target?.closest?.("[data-indice]");if(!w)return null;const V=Number(w.getAttribute("data-indice"));return Number.isInteger(V)?V:null}function S(E){const w=b(E),V=w===null?void 0:$.value[w];V&&z(V.valor)}function H(E){const w=b(E);w!==null&&(i.value=w)}function T(){e.nextTick(()=>{s.value?.querySelector(`[data-indice="${i.value}"]`)?.scrollIntoView({block:"nearest"})})}function W(){const E=$.value[i.value];E&&z(E.valor)}e.watch(()=>o.disabled,E=>{E&&k(!1)}),e.watch(l,()=>{i.value=0,T()});function A(E){const w=E.relatedTarget;w&&E.currentTarget.contains(w)||k(!1)}return(E,w)=>(e.openBlock(),e.createElementBlock("div",{class:"relative",onFocusout:A},[e.createElementVNode("button",{ref_key:"boton",ref:f,type:"button",disabled:t.disabled,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","aria-label":t.label||void 0,"aria-expanded":r.value,"aria-haspopup":"listbox",onClick:w[0]||(w[0]=V=>r.value?k():x()),onKeydown:[w[1]||(w[1]=e.withKeys(e.withModifiers(V=>r.value?c(1):x(),["prevent"]),["down"])),w[2]||(w[2]=e.withKeys(e.withModifiers(V=>r.value?c(-1):x(),["prevent"]),["up"]))]},[e.createElementVNode("span",Jo,[e.createTextVNode(e.toDisplayString(B.value?.etiqueta??t.placeholder)+" ",1),B.value?.detalle?(e.openBlock(),e.createElementBlock("span",Zo,e.toDisplayString(B.value.detalle),1)):e.createCommentVNode("",!0)]),e.createVNode(D,{name:"go-down",type:"symbol",size:12,class:"shrink-0 opacity-60"})],40,Xo),r.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["absolute z-20 w-full min-w-64 rounded-corner border border-ui-border-strong bg-ui-bg shadow-lg",t.up?"bottom-full mb-1":"mt-1"]),onKeydown:[w[4]||(w[4]=e.withKeys(e.withModifiers(V=>k(),["prevent"]),["escape"])),w[5]||(w[5]=e.withKeys(e.withModifiers(V=>c(1),["prevent"]),["down"])),w[6]||(w[6]=e.withKeys(e.withModifiers(V=>c(-1),["prevent"]),["up"])),w[7]||(w[7]=e.withKeys(e.withModifiers(V=>p(0),["prevent"]),["home"])),w[8]||(w[8]=e.withKeys(e.withModifiers(V=>p($.value.length-1),["prevent"]),["end"])),w[9]||(w[9]=e.withKeys(e.withModifiers(V=>W(),["prevent"]),["enter"])),w[10]||(w[10]=e.withKeys(V=>k(!1),["tab"]))],onClick:S,onMousemove:H},[e.createElementVNode("div",_o,[e.createVNode(ee,{ref_key:"campo",ref:u,modelValue:l.value,"onUpdate:modelValue":w[3]||(w[3]=V=>l.value=V),label:t.label,placeholder:t.searchPlaceholder,"listbox-id":e.unref(m),"active-option-id":h.value,expanded:r.value},null,8,["modelValue","label","placeholder","listbox-id","active-option-id","expanded"])]),e.createElementVNode("ul",{id:e.unref(m),ref_key:"lista",ref:s,role:"listbox",class:"max-h-56 overflow-y-auto p-1"},[$.value.length===0?(e.openBlock(),e.createElementBlock("li",en,e.toDisplayString(t.emptyText),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.value,(V,X)=>(e.openBlock(),e.createElementBlock("li",{id:`${e.unref(m)}-${X}`,key:V.valor,"data-indice":X,role:"option","aria-selected":V.valor===t.modelValue,class:e.normalizeClass(["flex cursor-pointer items-baseline gap-2 rounded-corner px-2 py-1 text-sm",[X===i.value?"bg-ui-surface":"",V.valor===t.modelValue?"font-medium text-primary":"text-tx-main"]])},[e.createElementVNode("span",on,e.toDisplayString(V.etiqueta),1),V.detalle?(e.openBlock(),e.createElementBlock("span",nn,e.toDisplayString(V.detalle),1)):e.createCommentVNode("",!0)],10,tn))),128)),y.value>0?(e.openBlock(),e.createElementBlock("li",an,"+"+e.toDisplayString(y.value),1)):e.createCommentVNode("",!0)],8,vo)],34)):e.createCommentVNode("",!0)],32))}}),ln={class:"text-base font-semibold m-0 text-primary dark:text-primary-dark"},Qe=te(e.defineComponent({__name:"ConfigSection",props:{title:{},icon:{default:""},customClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-4 p-4 background rounded-corner",t.customClass])},[e.createElementVNode("h3",ln,e.toDisplayString(t.icon?`${t.icon} ${t.title}`:t.title),1),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-45bd4eab"]]),rn={class:"flex items-center gap-3 flex-1 min-w-0"},sn=["src","alt"],cn={class:"min-w-0"},dn={class:"font-semibold truncate"},mn={key:0,class:"text-xs text-gray-400 truncate"},un={key:1,class:"text-xs text-gray-400 truncate"},fn={key:2,class:"text-xs text-gray-400 flex gap-2 mt-1"},pn={key:1,class:"w-2 h-2 rounded-full bg-green-500"},Ye=e.defineComponent({__name:"DeviceCard",props:{name:{default:""},type:{default:"icon"},icon:{default:""},title:{},subtitle:{default:""},metadata:{default:""},extraInfo:{default:()=>[]},isConnected:{type:Boolean,default:!1},showActionButton:{type:Boolean,default:!0},actionLabel:{default:"Conectar"},showStatusIndicator:{type:Boolean,default:!1},customClass:{default:""},clickable:{type:Boolean,default:!1}},emits:["action","click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{n("action")},r=()=>{n("click")};return e.onMounted(()=>{o.icon&&!o.name&&console.warn("[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.")}),(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4",[{"border-l-4 border-green-500":t.isConnected},t.customClass]]),onClick:r},[e.createElementVNode("div",rn,[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:28,alt:t.title},null,8,["name","type","alt"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:t.title,class:"h-7 w-7 shrink-0"},null,8,sn)),e.createElementVNode("div",cn,[e.createElementVNode("div",dn,e.toDisplayString(t.title),1),t.subtitle?(e.openBlock(),e.createElementBlock("div",mn,e.toDisplayString(t.subtitle),1)):e.createCommentVNode("",!0),t.metadata?(e.openBlock(),e.createElementBlock("div",un,e.toDisplayString(t.metadata),1)):e.createCommentVNode("",!0),t.extraInfo&&t.extraInfo.length>0?(e.openBlock(),e.createElementBlock("div",fn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.extraInfo,(f,u)=>(e.openBlock(),e.createElementBlock("span",{key:u},e.toDisplayString(f),1))),128))])):e.createCommentVNode("",!0)])]),t.showActionButton?(e.openBlock(),e.createElementBlock("button",{key:0,class:"bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",onClick:e.withModifiers(l,["stop"])},e.toDisplayString(t.actionLabel),1)):e.createCommentVNode("",!0),t.showStatusIndicator&&t.isConnected?(e.openBlock(),e.createElementBlock("div",pn)):e.createCommentVNode("",!0)],2))}}),ye=Symbol("diálogo de vasak");function ke(){const t=e.inject(ye,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),cerrar:()=>{a.value=!1},idDelTitulo:e.ref(null),ponerElTitulo:()=>{}}}let Xe=0;function bn(){return Xe+=1,`vsk-dialogo-titulo-${Xe}`}const Je=e.defineComponent({__name:"Dialog",props:{open:{type:Boolean,default:!1}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(null);return e.provide(ye,{abierto:e.computed(()=>o.open),cerrar:()=>n("update:open",!1),idDelTitulo:l,ponerElTitulo:r=>{l.value=r}}),(r,i)=>e.renderSlot(r.$slots,"default")}}),yn={key:0,class:"absolute inset-0 rounded-corner-window bg-ui-border-dark/40"},kn=["aria-labelledby","aria-label"],gn="relative z-10 w-full rounded-corner border border-ui-border bg-ui-bg/80 p-6 text-tx-main shadow-lg",Ze=e.defineComponent({inheritAttrs:!1,__name:"DialogContent",props:{size:{default:"md"},ariaLabel:{}},setup(t){const a=t,o=e.useAttrs(),n=e.computed(()=>o.class??""),l=e.computed(()=>{const{class:x,...k}=o;return k}),r=e.computed(()=>a.size==="full"?"relative z-10 h-full w-full overflow-hidden rounded-corner-window text-tx-main":`${gn} ${a.size==="lg"?"max-w-2xl":"max-w-lg"}`),i=ke(),s=e.computed(()=>i.abierto.value),f=e.ref(null),u=e.ref(null);let m=null;function B(){return u.value?[...u.value.querySelectorAll('a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])')]:[]}function C(x){if(x.key==="Escape"){i.cerrar();return}if(x.key!=="Tab")return;const k=B();if(k.length===0){x.preventDefault(),u.value?.focus();return}const c=k[0],p=k[k.length-1],b=document.activeElement;x.shiftKey&&(b===c||b===u.value)?(x.preventDefault(),p.focus()):!x.shiftKey&&b===p&&(x.preventDefault(),c.focus())}function $(x){x.target===x.currentTarget&&i.cerrar()}function y(x){f.value?.contains(x.target)||C(x)}function h(){document.removeEventListener("keydown",y)}function z(){const x=m;m=null,x?.isConnected&&x.focus()}return e.watch(s,async x=>{if(x){m=document.activeElement,document.addEventListener("keydown",y),await e.nextTick(),u.value?.focus();return}h(),z()},{immediate:!0}),e.onUnmounted(()=>{h(),z()}),(x,k)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-opacity duration-200 ease-out","leave-active-class":"transition-opacity duration-150 ease-in","enter-from-class":"opacity-0","leave-to-class":"opacity-0"},{default:e.withCtx(()=>[s.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"velo",ref:f,class:"fixed inset-0 z-50 flex items-center justify-center",onClick:$,onKeydown:C},[a.size==="md"?(e.openBlock(),e.createElementBlock("div",yn)):e.createCommentVNode("",!0),e.createElementVNode("div",e.mergeProps({ref_key:"panel",ref:u,tabindex:"-1",role:"dialog","aria-modal":"true","aria-labelledby":e.unref(i).idDelTitulo.value??void 0,"aria-label":e.unref(i).idDelTitulo.value?void 0:t.ariaLabel},l.value,{class:[n.value,r.value]}),[e.renderSlot(x.$slots,"default")],16,kn)],544)):e.createCommentVNode("",!0)]),_:3})]))}}),hn={class:"text-sm text-tx-muted"},_e=e.defineComponent({__name:"DialogDescription",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("p",hn,[e.renderSlot(a.$slots,"default")]))}}),xn={class:"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"},ve=e.defineComponent({__name:"DialogFooter",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",xn,[e.renderSlot(a.$slots,"default")]))}}),wn={class:"flex flex-col gap-1.5 text-center sm:text-left"},et=e.defineComponent({__name:"DialogHeader",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",wn,[e.renderSlot(a.$slots,"default")]))}}),Bn=["id"],tt=e.defineComponent({__name:"DialogTitle",setup(t){const a=ke(),o=bn();return e.onMounted(()=>a.ponerElTitulo(o)),e.onUnmounted(()=>a.ponerElTitulo(null)),(n,l)=>(e.openBlock(),e.createElementBlock("h2",{id:e.unref(o),class:"font-semibold text-lg leading-none tracking-tight"},[e.renderSlot(n.$slots,"default")],8,Bn))}}),ge=Symbol("menú de vasak");function Y(){const t=e.inject(ge,null);if(t)return t;const a=e.ref(!1);return{abierto:a,idDelMenu:"vsk-menu-suelto",idDeLaEtiqueta:e.ref(null),ponerLaEtiqueta:()=>{},disparador:e.ref(null),ponerElDisparador:()=>{},focoAlAbrir:e.ref("ninguno"),abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1},alternar:()=>{a.value=!a.value}}}let ot=0;function nt(){return ot+=1,`vsk-menu-${ot}`}const Cn={class:"relative inline-block"},at=e.defineComponent({__name:"DropdownMenu",props:{open:{type:Boolean,default:void 0}},emits:["update:open"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1),r=e.ref(null),i=e.ref(null),s=e.ref("ninguno"),f=nt();let u=null;const m=e.computed({get:()=>o.open??l.value,set:y=>{o.open===void 0&&(l.value=y),n("update:open",y)}});e.watch(m,y=>{if(y){const h=document.activeElement;u=h instanceof HTMLElement?h:null}else s.value="ninguno"});function B(y="ninguno"){s.value=y,m.value=!0}function C(y={}){if(m.value=!1,!y.devolverElFoco)return;const h=u??r.value;h?.isConnected&&h.focus()}function $(y="ninguno"){if(m.value){C({devolverElFoco:!0});return}B(y)}return e.provide(ge,{abierto:m,idDelMenu:f,idDeLaEtiqueta:i,ponerLaEtiqueta:y=>{i.value=y},disparador:r,ponerElDisparador:y=>{r.value=y},focoAlAbrir:s,abrir:B,cerrar:C,alternar:$}),(y,h)=>(e.openBlock(),e.createElementBlock("div",Cn,[e.renderSlot(y.$slots,"default")]))}}),En=["id","aria-labelledby","inert"],$n={role:"none",class:"py-1"},O=8,lt=e.defineComponent({inheritAttrs:!1,__name:"DropdownMenuContent",props:{side:{default:"bottom"},align:{default:"start"},sideOffset:{default:4}},setup(t){const a=t,o=Y(),{idDelMenu:n,idDeLaEtiqueta:l}=o,r=e.computed(()=>o.disparador.value),i=e.computed(()=>o.abierto.value),s=e.ref(null),f=e.ref({top:0,left:0,techo:null}),u={top:"bottom",bottom:"top",left:"right",right:"left"};function m(c,p){const b=a.sideOffset+O;switch(c){case"bottom":return window.innerHeight-p.bottom-b;case"top":return p.top-b;case"right":return window.innerWidth-p.right-b;case"left":return p.left-b}}function B(c,p,b){return b<p?p:Math.min(Math.max(c,p),b)}function C(){if(!r.value||!s.value)return;const c=r.value.getBoundingClientRect(),p=s.value.scrollHeight,b=s.value.offsetWidth,S=a.side==="top"||a.side==="bottom",H=S?p:b;let T=a.side;const W=m(T,c);W<H&&m(u[T],c)>W&&(T=u[T]);let A=0,E=0,w=null;switch(T){case"bottom":{A=c.bottom+a.sideOffset,w=Math.max(window.innerHeight-A-O,0);break}case"top":{w=Math.max(m("top",c),0),A=c.top-a.sideOffset-Math.min(p,w);break}case"left":case"right":{E=T==="right"?c.right+a.sideOffset:c.left-b-a.sideOffset;const V=window.innerHeight-2*O;A=B(c.top,O,window.innerHeight-Math.min(p,V)-O),w=Math.max(window.innerHeight-A-O,0);break}}if(S)switch(a.align){case"start":E=c.left;break;case"center":E=c.left+c.width/2-b/2;break;case"end":E=c.right-b;break}E=B(E,O,window.innerWidth-b-O),f.value={top:A,left:E,techo:w}}function $(){return s.value?Array.from(s.value.querySelectorAll('[role="menuitem"]')):[]}function y(c){const p=$();if(!p.length)return;const b=p.length;p[(c%b+b)%b]?.focus()}function h(){const c=document.activeElement;return c instanceof HTMLElement?$().indexOf(c):-1}function z(c){const p=h();switch(c.key){case"ArrowDown":c.preventDefault(),y(p+1);break;case"ArrowUp":c.preventDefault(),y(p<=0?-1:p-1);break;case"Home":c.preventDefault(),y(0);break;case"End":c.preventDefault(),y(-1);break;case"Escape":c.preventDefault(),c.stopPropagation(),o.cerrar({devolverElFoco:!0});break;case"Tab":c.preventDefault(),o.cerrar({devolverElFoco:!0});break}}e.watch(i,async c=>{if(c)switch(await e.nextTick(),requestAnimationFrame(()=>{C()}),o.focoAlAbrir.value){case"primero":y(0);break;case"ultimo":y(-1);break;default:s.value?.focus()}});function x(c){i.value&&(c&&s.value?.contains(c.target)||C())}function k(c){const p=c.target,b=!!p.closest("[data-dropdown-content]"),S=!!r.value?.contains(p);!b&&!S&&o.cerrar()}return e.onMounted(()=>{document.addEventListener("click",k),window.addEventListener("resize",x),window.addEventListener("scroll",x,!0)}),e.onBeforeUnmount(()=>{document.removeEventListener("click",k),window.removeEventListener("resize",x),window.removeEventListener("scroll",x,!0)}),(c,p)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-150 ease-in-out","leave-active-class":"transition-all duration-150 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95",onEnter:p[1]||(p[1]=b=>b.offsetHeight),onLeave:p[2]||(p[2]=b=>b.offsetHeight)},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",e.mergeProps({ref_key:"contenido",ref:s},c.$attrs,{id:e.unref(n),role:"menu",tabindex:"-1","aria-orientation":"vertical","aria-labelledby":e.unref(l)??void 0,inert:!i.value,style:{position:"fixed",top:`${f.value.top}px`,left:`${f.value.left}px`,maxHeight:f.value.techo===null?void 0:`${f.value.techo}px`,overflowY:"auto",overscrollBehavior:"contain",zIndex:50},"data-dropdown-content":"",class:"min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",onClick:p[0]||(p[0]=b=>b.stopPropagation()),onKeydown:z}),[e.createElementVNode("div",$n,[e.renderSlot(c.$slots,"default")])],16,En),[[e.vShow,i.value]])]),_:3})]))}}),Vn=["aria-disabled","onKeydown"],rt=e.defineComponent({__name:"DropdownMenuItem",props:{disabled:{type:Boolean,default:!1}},emits:["select","click"],setup(t,{emit:a}){const o=t,n=a,l=Y();function r(i){o.disabled||(n("select"),n("click",i),l.cerrar({devolverElFoco:!0}))}return(i,s)=>(e.openBlock(),e.createElementBlock("div",{role:"menuitem",tabindex:"0","aria-disabled":t.disabled||void 0,class:e.normalizeClass(["px-3 py-2 text-sm transition-colors outline-none",{"opacity-50 cursor-not-allowed":t.disabled,"cursor-pointer hover:bg-primary hover:text-tx-on-primary focus-visible:bg-primary focus-visible:text-tx-on-primary":!t.disabled}]),onClick:r,onKeydown:[e.withKeys(e.withModifiers(r,["prevent"]),["enter"]),e.withKeys(e.withModifiers(r,["prevent"]),["space"])]},[e.renderSlot(i.$slots,"default")],42,Vn))}}),it=e.defineComponent({__name:"DropdownMenuLabel",setup(t){const a=Y(),o=`${nt()}-titulo`;return e.onMounted(()=>{a.ponerLaEtiqueta(o)}),e.onBeforeUnmount(()=>{a.ponerLaEtiqueta(null)}),(n,l)=>(e.openBlock(),e.createElementBlock("div",{id:o,role:"presentation",class:"px-3 py-2 text-sm font-semibold text-tx-main"},[e.renderSlot(n.$slots,"default")]))}}),zn={role:"separator","aria-orientation":"horizontal",class:"bg-ui-bg/80 my-4 h-0.5"},st=e.defineComponent({__name:"DropdownMenuSeparator",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",zn))}});function ct(t){const a=t.filter(n=>n.type!==e.Comment&&!(n.type===e.Text&&typeof n.children=="string"&&!n.children.trim()));if(a.length!==1)return null;const o=a[0];return o.type===e.Fragment&&Array.isArray(o.children)?ct(o.children):o}function Dn(t){if(t instanceof HTMLElement)return t;const a=t?.$el;return a instanceof HTMLElement?a:null}const dt=e.defineComponent({name:"DropdownMenuTrigger",inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(t,{slots:a,attrs:o}){const n=Y(),l=e.ref(null);function r(){n.ponerElDisparador(Dn(l.value))}function i(){t.disabled||(r(),n.alternar())}function s(f){if(!t.disabled)switch(f.key){case"Enter":case" ":f.preventDefault(),r(),n.alternar("primero");break;case"ArrowDown":f.preventDefault(),r(),n.abrir("primero");break;case"ArrowUp":f.preventDefault(),r(),n.abrir("ultimo");break;case"Escape":n.abierto.value&&(f.preventDefault(),n.cerrar({devolverElFoco:!0}));break}}return()=>{const f={ref:m=>{l.value=m,r()},"aria-haspopup":"menu","aria-expanded":n.abierto.value?"true":"false","aria-controls":n.abierto.value?n.idDelMenu:void 0,onClick:i,onKeydown:s},u=a.default?.()??[];if(t.asChild){const m=ct(u);if(m)return e.cloneVNode(m,{...o,...f})}return e.h("div",{...o,class:["dropdown-menu-trigger inline-block",o.class],...f},u)}}}),Sn=["for"],mt=te(e.defineComponent({__name:"FormGroup",props:{label:{},htmlFor:{default:""},customClass:{default:()=>({})},labelClass:{default:()=>({})}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex flex-col gap-2",t.customClass])},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:t.htmlFor,class:e.normalizeClass(["text-sm font-medium text-primary dark:text-primary-dark",t.labelClass])},e.toDisplayString(t.label),11,Sn)):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-c0d9d9cb"]]),ut=te(e.defineComponent({__name:"ListCard",props:{clickable:{type:Boolean,default:!1},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=()=>{o.clickable&&n("click")};return(r,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",{"hover:bg-vsk-primary/5 cursor-pointer":o.clickable},t.customClass]),onClick:l},[e.renderSlot(r.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-f86d47da"]]),Ln={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"},Nn=["title","aria-label"],Tn=["src"],Mn={key:1,class:"w-8 h-8 flex items-center justify-center"},An=["src"],In=["min","max","value","aria-label","aria-valuetext"],ft=e.defineComponent({__name:"SliderControl",props:{name:{default:""},type:{default:"icon"},icon:{default:""},label:{},buttonLabel:{},modelValue:{},min:{default:0},max:{default:100},showButton:{type:Boolean,default:!1},iconClass:{default:()=>({})},getPercentageClass:{type:Function,default:()=>""}},emits:["update:modelValue","buttonClick"],setup(t,{emit:a}){const o=t;e.onMounted(()=>{o.icon&&!o.name&&console.warn("[SliderControl] «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.")});const n=a,l=e.computed(()=>{if(o.max<=o.min)return 0;const f=o.max-o.min,u=o.modelValue-o.min;return Math.round(u/f*100)}),r=e.computed(()=>o.getPercentageClass?o.getPercentageClass(l.value):""),i=f=>{const u=f.target;n("update:modelValue",Number(u.value))},s=()=>{n("buttonClick")};return(f,u)=>(e.openBlock(),e.createElementBlock("div",Ln,[t.showButton?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:s,type:"button",title:t.buttonLabel??t.label,"aria-label":t.buttonLabel??t.label,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"},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:24,class:e.normalizeClass(t.iconClass)},null,8,["name","type","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:e.normalizeClass(["w-6 h-6",t.iconClass])},null,10,Tn))],8,Nn)):(e.openBlock(),e.createElementBlock("div",Mn,[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:24},null,8,["name","type"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:"w-6 h-6"},null,8,An))])),e.createElementVNode("input",{type:"range",min:t.min,max:t.max,value:t.modelValue,onInput:i,"aria-label":t.label,"aria-valuetext":`${l.value}%`,class:"flex-1 transition-[scale] duration-200 hover:scale-105"},null,40,In),e.createElementVNode("span",{class:e.normalizeClass(["w-12 text-right transition-[color] duration-200 font-medium",r.value])},e.toDisplayString(l.value)+"% ",3)]))}}),oe=e.defineComponent({__name:"SwitchTrack",props:{on:{type:Boolean},size:{default:"small"}},setup(t){const a=t,o=e.computed(()=>a.size==="small");return(n,l)=>(e.openBlock(),e.createElementBlock("span",{"aria-hidden":"true",class:e.normalizeClass(["inline-flex shrink-0 items-center rounded-full border transition-colors",[o.value?"h-6 w-11":"h-7 w-12",t.on?"border-transparent bg-primary":"border-ui-border-strong bg-ui-surface"]])},[e.createElementVNode("span",{class:e.normalizeClass(["inline-block transform rounded-full shadow transition-transform",[o.value?"h-4 w-4":"h-5 w-5",t.on?"bg-tx-on-primary":"bg-tx-main",t.on?"translate-x-6":"translate-x-1"]])},null,2)],2))}}),On=["aria-checked","disabled"],Pn={class:"min-w-0 flex-1"},jn={class:"block font-medium text-sm text-tx-main"},Fn={key:0,class:"mt-0.5 block text-tx-muted text-xs"},pt=e.defineComponent({__name:"SwitchRow",props:{modelValue:{type:Boolean},label:{},description:{},icon:{},iconType:{default:"icon"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;return(l,r)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,disabled:t.disabled,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",onClick:r[0]||(r[0]=i=>n("update:modelValue",!o.modelValue))},[e.createVNode(oe,{on:t.modelValue,class:"mt-0.5"},null,8,["on"]),t.icon?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["flex size-10 shrink-0 items-center justify-center rounded-corner border",t.modelValue?"border-secondary bg-primary/20":"border-ui-border bg-ui-surface/40"]),"aria-hidden":"true"},[e.createVNode(D,{name:t.icon,type:t.iconType,size:24,alt:""},null,8,["name","type"])],2)):e.createCommentVNode("",!0),e.createElementVNode("span",Pn,[e.createElementVNode("span",jn,e.toDisplayString(t.label),1),t.description?(e.openBlock(),e.createElementBlock("span",Fn,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"pie")])],8,On))}}),Rn=["aria-checked","aria-label","disabled"],bt=e.defineComponent({__name:"SwitchToggle",props:{modelValue:{type:Boolean},label:{},disabled:{type:Boolean,default:!1},size:{default:"small"}},emits:["update:modelValue"],setup(t,{emit:a}){const o=t,n=a;function l(){n("update:modelValue",!o.modelValue)}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch","aria-checked":t.modelValue,"aria-label":t.label,disabled:t.disabled,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",onClick:l},[e.createVNode(oe,{on:t.modelValue,size:t.size},null,8,["on","size"])],8,Rn))}}),Kn=["disabled","title","aria-label","aria-pressed","aria-busy"],qn=["src"],yt=e.defineComponent({__name:"ToggleControl",props:{name:{default:""},type:{default:"icon"},icon:{default:""},label:{},pressed:{type:[Boolean,null],default:null},isActive:{type:Boolean,default:!1},isLoading:{type:Boolean,default:!1},iconClass:{default:()=>({})},customClass:{default:()=>({})}},emits:["click"],setup(t,{emit:a}){const o=t;e.onMounted(()=>{o.icon&&!o.name&&console.warn("[ToggleControl] «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.")});const n=a;function l(){n("click")}return(r,i)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:e.normalizeClass(["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",{"animate-pulse":t.isLoading,"ring-2 ring-primary":t.isActive,"opacity-60":!t.isActive,...t.customClass}]),disabled:t.isLoading,title:t.label,"aria-label":t.label,"aria-pressed":t.pressed??void 0,"aria-busy":t.isLoading||void 0,onClick:l},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:50,class:e.normalizeClass(["m-auto transition-[scale,filter] duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,8,["name","type","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:"",class:e.normalizeClass(["m-auto w-12.5 h-12.5 transition-[scale,filter] duration-300 group-hover:scale-110 relative z-10",{"animate-spin":t.isLoading,"filter brightness-75":!t.isActive,"drop-shadow-lg":t.isActive,...t.iconClass}])},null,10,qn))],10,Kn))}}),he=Symbol("tooltip de vasak");function xe(){const t=e.inject(he,null);if(t)return t;const a=e.ref(!1);return{abierto:e.computed(()=>a.value),disparador:e.ref(null),ponerElDisparador:()=>{},abrir:()=>{a.value=!0},cerrar:()=>{a.value=!1}}}const Un={class:"inline-block"},kt=e.defineComponent({__name:"Tooltip",props:{disabled:{type:Boolean,default:!1},delayDuration:{default:200}},setup(t){const a=t,o=e.ref(!1),n=e.ref(null);let l=null;function r(){a.disabled||(l=setTimeout(()=>{o.value=!0},a.delayDuration))}function i(){l&&clearTimeout(l),o.value=!1}return e.provide(he,{abierto:e.computed(()=>o.value&&!a.disabled),disparador:n,ponerElDisparador:s=>{n.value=s},abrir:r,cerrar:i}),(s,f)=>(e.openBlock(),e.createElementBlock("div",Un,[e.renderSlot(s.$slots,"default")]))}}),gt=e.defineComponent({inheritAttrs:!1,__name:"TooltipContent",props:{side:{default:"bottom"},align:{default:"center"},sideOffset:{default:4}},setup(t){const a=e.useAttrs(),o=e.computed(()=>a.class??""),n=t,l=xe(),r=e.computed(()=>l.abierto.value),i=e.ref(null),s=e.ref({top:0,left:0});function f(){const u=l.disparador.value;if(!u||!i.value)return;const m=u.getBoundingClientRect(),B=i.value.getBoundingClientRect();let C=0,$=0;switch(n.side){case"bottom":C=m.bottom+n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"top":C=m.top-B.height-n.sideOffset,$=m.left+m.width/2-B.width/2;break;case"left":$=m.left-B.width-n.sideOffset,C=m.top+m.height/2-B.height/2;break;case"right":$=m.right+n.sideOffset,C=m.top+m.height/2-B.height/2;break}s.value={top:C,left:$}}return e.watch(r,async u=>{u&&(await e.nextTick(),requestAnimationFrame(f))}),(u,m)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"transition-all duration-200 ease-in-out","leave-active-class":"transition-all duration-200 ease-in-out","enter-from-class":"opacity-0 scale-95","leave-to-class":"opacity-0 scale-95"},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",{ref_key:"globo",ref:i,style:e.normalizeStyle({position:"fixed",top:`${s.value.top}px`,left:`${s.value.left}px`,zIndex:50}),class:e.normalizeClass([o.value,"pointer-events-none rounded-corner border border-secondary bg-ui-bg/80 px-2 py-1 text-sm shadow-md"])},[e.renderSlot(u.$slots,"default")],6),[[e.vShow,r.value]])]),_:3})]))}}),ht=e.defineComponent({__name:"TooltipTrigger",setup(t){const a=xe(),o=e.ref(null);function n(){return o.value?o.value.firstElementChild??o.value:null}function l(){a.ponerElDisparador(n()),a.abrir()}return e.onMounted(()=>{a.ponerElDisparador(n())}),(r,i)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"envoltorio",ref:o,class:"inline-block",onMouseenter:l,onMouseleave:i[0]||(i[0]=s=>e.unref(a).cerrar()),onFocus:l,onBlur:i[1]||(i[1]=s=>e.unref(a).cerrar())},[e.renderSlot(r.$slots,"default")],544))}}),Hn=["title"],Wn=["src","alt"],Gn={key:2,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"},xt=e.defineComponent({__name:"TrayIconButton",props:{name:{default:""},type:{default:"icon"},icon:{default:""},alt:{default:""},tooltip:{default:""},badge:{default:null},iconClass:{default:()=>({})},customClass:{default:""},tooltipClass:{default:""},showCustomTooltip:{type:Boolean,default:!1},customTooltipText:{default:""}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1);e.onMounted(()=>{o.icon&&!o.name&&console.warn("[TrayIconButton] «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.")});const r=()=>{n("click")};return(i,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-[background-color] duration-300",t.customClass]),title:t.tooltip,onClick:r,onMouseenter:s[0]||(s[0]=f=>l.value=!0),onMouseleave:s[1]||(s[1]=f=>l.value=!1)},[t.name?(e.openBlock(),e.createBlock(D,{key:0,name:t.name,type:t.type,size:22,alt:t.alt,class:e.normalizeClass(["m-auto",t.iconClass])},null,8,["name","type","alt","class"])):(e.openBlock(),e.createElementBlock("img",{key:1,src:t.icon,alt:t.alt,class:e.normalizeClass(["m-auto h-5.5 w-auto",t.iconClass])},null,10,Wn)),t.badge!==null&&t.badge>0?(e.openBlock(),e.createElementBlock("div",Gn,e.toDisplayString(t.badge),1)):e.createCommentVNode("",!0),t.showCustomTooltip&&t.customTooltipText?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["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",[t.tooltipClass,{"opacity-0 -translate-y-2":!l.value,"opacity-100 translate-y-0":l.value}]])},e.toDisplayString(t.customTooltipText),3)):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default")],42,Hn))}}),Qn=[Ve,ie,re,ze,D,Me,de,ce,Oe,me,Pe,je,Fe,Re,Ke,Ue,ee,Ge,ue,qe,Qe,Ye,Je,Ze,_e,ve,et,tt,at,lt,rt,it,st,dt,mt,ut,ft,pt,bt,oe,yt,kt,gt,ht,xt],Yn={install(t){Qn.forEach(a=>{t.component(a.name,a)})}};d.ActionButton=je,d.AlertMessage=Fe,d.AppBar=de,d.BarSearch=Pe,d.CLASES_POR_TONO=fe,d.CLAVE_DEL_DIALOGO=ye,d.CLAVE_DEL_MENU=ge,d.CLAVE_DEL_TOOLTIP=he,d.CLAVE_DE_LA_BARRA=Z,d.ConfigSection=Qe,d.DeviceCard=Ye,d.Dialog=Je,d.DialogContent=Ze,d.DialogDescription=_e,d.DialogFooter=ve,d.DialogHeader=et,d.DialogTitle=tt,d.DropdownMenu=at,d.DropdownMenuContent=lt,d.DropdownMenuItem=rt,d.DropdownMenuLabel=it,d.DropdownMenuSeparator=st,d.DropdownMenuTrigger=dt,d.EmptyState=Re,d.FormGroup=mt,d.LOS_TRES_CONTROLES=v,d.ListCard=ut,d.LoadingState=Ke,d.POSICIONES=De,d.ProgressBar=Ue,d.SearchField=ee,d.SearchSelect=Ge,d.SelectField=ze,d.SideBar=Ve,d.SideButton=ie,d.SideGroup=re,d.SliderControl=ft,d.SwitchRow=pt,d.SwitchToggle=bt,d.SwitchTrack=oe,d.TabBar=Oe,d.TabItem=me,d.TextInput=ue,d.ThemeIcon=D,d.ToastArea=qe,d.ToggleControl=yt,d.Tooltip=kt,d.TooltipContent=gt,d.TooltipTrigger=ht,d.TrayIconButton=xt,d.WindowControls=ce,d.WindowFrame=Me,d.buscarOpciones=He,d.default=Yn,d.esPosicion=Se,d.olvidarLosIconosDelTema=$t,d.orientacionDe=_,d.posicionDe=Le,d.rolDelTono=pe,d.usarElDialogo=ke,d.usarElMenu=Y,d.usarElTooltip=xe,d.usarLaBarra=U,d.usarLaPosicionDeLaBarra=Ne,d.usarLaVersionDelTema=Pt,Object.defineProperties(d,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vasakgroup/vue-libvasak",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Vue componenets for VSK Applications",
|
|
5
5
|
"main": "./dist/vue-libvasak.umd.js",
|
|
6
6
|
"module": "./dist/vue-libvasak.es.js",
|
|
@@ -53,12 +53,12 @@
|
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@happy-dom/global-registrator": "^20.14.5",
|
|
56
|
-
"@tauri-apps/api": "^2.
|
|
56
|
+
"@tauri-apps/api": "^2.11.1",
|
|
57
57
|
"@types/bun": "^1.4.2",
|
|
58
|
-
"@vasakgroup/plugin-config-manager": "
|
|
59
|
-
"@vasakgroup/plugin-vicons": "^2.
|
|
58
|
+
"@vasakgroup/plugin-config-manager": "~2.6.1",
|
|
59
|
+
"@vasakgroup/plugin-vicons": "^2.2.1",
|
|
60
60
|
"@vasakgroup/tauri-plugin-i18n": "^2.3.0",
|
|
61
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
61
|
+
"@vitejs/plugin-vue": "^6.0.9",
|
|
62
62
|
"@vue/test-utils": "^2.5.1",
|
|
63
63
|
"happy-dom": "^20.14.5",
|
|
64
64
|
"typescript": "^5.9.3",
|
|
@@ -74,5 +74,10 @@
|
|
|
74
74
|
"typecheck": "bunx vue-tsc --noEmit",
|
|
75
75
|
"test": "bun test",
|
|
76
76
|
"tipos": "bunx vue-tsc --declaration --emitDeclarationOnly --noEmit false --outDir dist/types"
|
|
77
|
+
},
|
|
78
|
+
"vasak": {
|
|
79
|
+
"bibliotecasAtrasadas": {
|
|
80
|
+
"@vasakgroup/plugin-config-manager": "La 2.7.0 declara pinia ^4 y el taller está en pinia 3: subir el rango arrastra un salto mayor ajeno. Acá es sólo de desarrollo —la librería no usa pinia— pero se mantiene alineado con las dieciséis aplicaciones. Por eso el rango es ~2.6.1 y no ^2.6.1, que alcanzaría la 2.7.0 en el próximo `bun update`. Se saca al subir a pinia 4."
|
|
81
|
+
}
|
|
77
82
|
}
|
|
78
83
|
}
|