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