@vasakgroup/vue-libvasak 0.4.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types/dropdown/DropdownMenu.vue.d.ts +23 -0
- package/dist/types/dropdown/DropdownMenuContent.vue.d.ts +22 -0
- package/dist/types/dropdown/DropdownMenuItem.vue.d.ts +24 -0
- package/dist/types/dropdown/DropdownMenuLabel.vue.d.ts +13 -0
- package/dist/types/dropdown/DropdownMenuSeparator.vue.d.ts +3 -0
- package/dist/types/dropdown/DropdownMenuTrigger.vue.d.ts +52 -0
- package/dist/types/dropdown/tipos.d.ts +50 -0
- package/dist/types/index.d.ts +11 -3
- package/dist/types/window/AppBar.vue.d.ts +21 -6
- package/dist/types/window/WindowControls.vue.d.ts +13 -1
- package/dist/types/window/WindowFrame.vue.d.ts +22 -8
- package/dist/types/window/reenvio.d.ts +21 -0
- package/dist/types/window/tipos.d.ts +4 -0
- package/dist/vue-libvasak.es.js +1029 -599
- package/dist/vue-libvasak.umd.js +1 -1
- package/package.json +1 -1
- package/readme.md +38 -0
package/dist/vue-libvasak.es.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ref as
|
|
2
|
-
import { listen as
|
|
3
|
-
import { getSymbolSource as
|
|
4
|
-
import { getCurrentWindow as
|
|
5
|
-
function
|
|
6
|
-
const t =
|
|
7
|
-
let a = null, o = !1,
|
|
8
|
-
async function
|
|
9
|
-
const
|
|
10
|
-
if (!
|
|
1
|
+
import { ref as w, onMounted as W, onUnmounted as Oe, watch as K, defineComponent as z, toRef as se, computed as x, createElementBlock as i, unref as P, openBlock as l, normalizeStyle as ee, createCommentVNode as g, createElementVNode as C, createVNode as F, toDisplayString as I, normalizeClass as p, renderSlot as A, createBlock as q, onBeforeUnmount as G, Fragment as U, renderList as Y, withCtx as R, mergeModels as je, useAttrs as Ve, useId as Pe, useModel as Fe, withDirectives as me, mergeProps as J, isRef as Ne, vModelSelect as Re, inject as be, getCurrentInstance as ve, provide as ae, createTextVNode as qe, toHandlers as pe, createSlots as He, withModifiers as T, withKeys as V, Teleport as ge, Transition as ye, nextTick as ne, vShow as Ue, cloneVNode as We, h as Ke, Comment as Ge, Text as Xe } from "vue";
|
|
2
|
+
import { listen as Ye } from "@tauri-apps/api/event";
|
|
3
|
+
import { getSymbolSource as Je, getIconSource as Qe } from "@vasakgroup/plugin-vicons";
|
|
4
|
+
import { getCurrentWindow as Ze } from "@tauri-apps/api/window";
|
|
5
|
+
function _e(e, n) {
|
|
6
|
+
const t = w("");
|
|
7
|
+
let a = null, o = !1, s = 0;
|
|
8
|
+
async function u() {
|
|
9
|
+
const r = ++s, c = e.value;
|
|
10
|
+
if (!c) {
|
|
11
11
|
t.value = "";
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
14
|
+
const b = n.value === "symbol" ? await Je(c) : await Qe(c);
|
|
15
|
+
r === s && (t.value = b);
|
|
16
16
|
}
|
|
17
|
-
return
|
|
18
|
-
const
|
|
17
|
+
return W(async () => {
|
|
18
|
+
const r = await Ye("vicons:theme-changed", u);
|
|
19
19
|
if (o) {
|
|
20
|
-
|
|
20
|
+
r();
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
a =
|
|
24
|
-
}),
|
|
23
|
+
a = r, await u();
|
|
24
|
+
}), Oe(() => {
|
|
25
25
|
o = !0, a?.();
|
|
26
|
-
}),
|
|
26
|
+
}), K(e, u), t;
|
|
27
27
|
}
|
|
28
|
-
const
|
|
28
|
+
const et = ["src", "alt"], N = /* @__PURE__ */ z({
|
|
29
29
|
__name: "ThemeIcon",
|
|
30
30
|
props: {
|
|
31
31
|
name: {},
|
|
@@ -34,23 +34,23 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
34
34
|
alt: { default: "" }
|
|
35
35
|
},
|
|
36
36
|
setup(e) {
|
|
37
|
-
const
|
|
38
|
-
return (o,
|
|
37
|
+
const n = e, t = _e(se(n, "name"), se(n, "type")), a = x(() => `${n.size}px`);
|
|
38
|
+
return (o, s) => P(t) ? (l(), i("img", {
|
|
39
39
|
key: 0,
|
|
40
|
-
src:
|
|
40
|
+
src: P(t),
|
|
41
41
|
alt: e.alt,
|
|
42
|
-
style:
|
|
42
|
+
style: ee({ width: a.value, height: a.value }),
|
|
43
43
|
class: "shrink-0 object-contain"
|
|
44
|
-
}, null, 12,
|
|
44
|
+
}, null, 12, et)) : (l(), i("span", {
|
|
45
45
|
key: 1,
|
|
46
|
-
style:
|
|
46
|
+
style: ee({ width: a.value, height: a.value }),
|
|
47
47
|
class: "shrink-0"
|
|
48
48
|
}, null, 4));
|
|
49
49
|
}
|
|
50
|
-
}),
|
|
50
|
+
}), tt = { class: "flex flex-col gap-2" }, at = ["aria-expanded"], nt = {
|
|
51
51
|
key: 1,
|
|
52
52
|
class: "flex flex-col gap-1"
|
|
53
|
-
},
|
|
53
|
+
}, he = /* @__PURE__ */ z({
|
|
54
54
|
__name: "SideGroup",
|
|
55
55
|
props: {
|
|
56
56
|
title: {},
|
|
@@ -58,40 +58,40 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
58
58
|
defaultOpen: { type: Boolean, default: !0 }
|
|
59
59
|
},
|
|
60
60
|
setup(e) {
|
|
61
|
-
const
|
|
62
|
-
return
|
|
63
|
-
() =>
|
|
61
|
+
const n = e, t = w(n.defaultOpen);
|
|
62
|
+
return K(
|
|
63
|
+
() => n.collapsed,
|
|
64
64
|
(a) => {
|
|
65
65
|
a && (t.value = !0);
|
|
66
66
|
}
|
|
67
|
-
), (a, o) => (l(),
|
|
68
|
-
e.collapsed ?
|
|
67
|
+
), (a, o) => (l(), i("section", tt, [
|
|
68
|
+
e.collapsed ? g("", !0) : (l(), i("button", {
|
|
69
69
|
key: 0,
|
|
70
70
|
type: "button",
|
|
71
71
|
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",
|
|
72
72
|
"aria-expanded": t.value,
|
|
73
|
-
onClick: o[0] || (o[0] = (
|
|
73
|
+
onClick: o[0] || (o[0] = (s) => t.value = !t.value)
|
|
74
74
|
}, [
|
|
75
|
-
|
|
76
|
-
|
|
75
|
+
C("span", null, I(e.title), 1),
|
|
76
|
+
F(N, {
|
|
77
77
|
name: "pan-down-symbolic",
|
|
78
78
|
type: "symbol",
|
|
79
79
|
size: 12,
|
|
80
|
-
class:
|
|
80
|
+
class: p(["transition-transform duration-200", t.value ? "" : "-rotate-90"])
|
|
81
81
|
}, null, 8, ["class"])
|
|
82
|
-
], 8,
|
|
83
|
-
t.value || e.collapsed ? (l(),
|
|
84
|
-
|
|
85
|
-
])) :
|
|
82
|
+
], 8, at)),
|
|
83
|
+
t.value || e.collapsed ? (l(), i("div", nt, [
|
|
84
|
+
A(a.$slots, "default")
|
|
85
|
+
])) : g("", !0)
|
|
86
86
|
]));
|
|
87
87
|
}
|
|
88
|
-
}),
|
|
88
|
+
}), lt = ["title", "aria-label", "disabled", "aria-current"], ot = { key: 1 }, it = {
|
|
89
89
|
key: 0,
|
|
90
90
|
class: "min-w-0 flex-1 truncate font-medium"
|
|
91
|
-
},
|
|
91
|
+
}, st = {
|
|
92
92
|
key: 1,
|
|
93
93
|
class: "rounded-corner bg-ui-surface px-2 py-0.5 font-semibold text-tx-muted text-xs"
|
|
94
|
-
},
|
|
94
|
+
}, xe = /* @__PURE__ */ z({
|
|
95
95
|
__name: "SideButton",
|
|
96
96
|
props: {
|
|
97
97
|
label: {},
|
|
@@ -103,49 +103,49 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
103
103
|
},
|
|
104
104
|
emits: ["click"],
|
|
105
105
|
setup(e) {
|
|
106
|
-
return (
|
|
106
|
+
return (n, t) => (l(), i("button", {
|
|
107
107
|
type: "button",
|
|
108
108
|
title: e.collapsed ? e.label : void 0,
|
|
109
109
|
"aria-label": e.collapsed ? e.label : void 0,
|
|
110
110
|
disabled: e.disabled,
|
|
111
111
|
"aria-current": e.active ? "page" : void 0,
|
|
112
|
-
class:
|
|
112
|
+
class: p(["group relative flex w-full items-center gap-3 rounded-corner border px-3 py-2 text-left text-sm transition-all duration-200", [
|
|
113
113
|
e.active ? "border-secondary bg-primary/15 text-tx-main shadow-sm" : "border-transparent bg-transparent hover:border-ui-border hover:bg-ui-surface/70",
|
|
114
114
|
e.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer",
|
|
115
115
|
e.collapsed ? "justify-center px-2" : ""
|
|
116
116
|
]]),
|
|
117
|
-
onClick: t[0] || (t[0] = (a) =>
|
|
117
|
+
onClick: t[0] || (t[0] = (a) => n.$emit("click"))
|
|
118
118
|
}, [
|
|
119
|
-
|
|
120
|
-
class:
|
|
119
|
+
C("span", {
|
|
120
|
+
class: p(["flex h-8 w-8 shrink-0 items-center justify-center rounded-corner font-semibold text-xs uppercase tracking-wide", e.active ? "border-secondary bg-primary/20" : ""]),
|
|
121
121
|
"aria-hidden": "true"
|
|
122
122
|
}, [
|
|
123
|
-
e.icon ? (l(),
|
|
123
|
+
e.icon ? (l(), q(N, {
|
|
124
124
|
key: 0,
|
|
125
125
|
name: e.icon,
|
|
126
126
|
size: 20
|
|
127
|
-
}, null, 8, ["name"])) : (l(),
|
|
127
|
+
}, null, 8, ["name"])) : (l(), i("span", ot, I(e.label.charAt(0).toUpperCase()), 1))
|
|
128
128
|
], 2),
|
|
129
|
-
e.collapsed ?
|
|
130
|
-
!e.collapsed && e.badge !== "" ? (l(),
|
|
131
|
-
], 10,
|
|
129
|
+
e.collapsed ? g("", !0) : (l(), i("span", it, I(e.label), 1)),
|
|
130
|
+
!e.collapsed && e.badge !== "" ? (l(), i("span", st, I(e.badge), 1)) : g("", !0)
|
|
131
|
+
], 10, lt));
|
|
132
132
|
}
|
|
133
|
-
}),
|
|
133
|
+
}), rt = {
|
|
134
134
|
key: 0,
|
|
135
135
|
class: "flex flex-col gap-2 border-ui-border border-b p-2"
|
|
136
|
-
},
|
|
136
|
+
}, ut = { class: "flex items-center gap-2" }, ct = ["aria-label", "aria-expanded"], dt = {
|
|
137
137
|
key: 0,
|
|
138
138
|
class: "min-w-0 flex-1"
|
|
139
|
-
},
|
|
139
|
+
}, ft = {
|
|
140
140
|
key: 0,
|
|
141
141
|
class: "truncate font-semibold text-sm"
|
|
142
|
-
},
|
|
142
|
+
}, mt = {
|
|
143
143
|
key: 1,
|
|
144
144
|
class: "truncate text-tx-muted text-xs"
|
|
145
|
-
},
|
|
145
|
+
}, bt = { key: 0 }, vt = {
|
|
146
146
|
key: 1,
|
|
147
147
|
class: "flex border-ui-border border-b p-2"
|
|
148
|
-
},
|
|
148
|
+
}, pt = ["aria-label", "aria-expanded"], gt = { class: "flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto p-2" }, re = "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", ue = 767, yt = /* @__PURE__ */ z({
|
|
149
149
|
__name: "SideBar",
|
|
150
150
|
props: {
|
|
151
151
|
title: { default: "" },
|
|
@@ -157,101 +157,101 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
157
157
|
expandLabel: { default: "Expand" }
|
|
158
158
|
},
|
|
159
159
|
emits: ["update:modelValue", "update:collapsed", "change"],
|
|
160
|
-
setup(e, { expose:
|
|
161
|
-
const a = e, o = t,
|
|
162
|
-
let
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
function
|
|
160
|
+
setup(e, { expose: n, emit: t }) {
|
|
161
|
+
const a = e, o = t, s = w(a.collapsed ?? !1), u = w(!1);
|
|
162
|
+
let r = null, c = null;
|
|
163
|
+
const b = x(() => u.value || s.value), $ = x(() => !!(a.title || a.subtitle));
|
|
164
|
+
x(() => a.categories.length > 0);
|
|
165
|
+
function M() {
|
|
166
166
|
return document.documentElement?.clientWidth || window.innerWidth;
|
|
167
167
|
}
|
|
168
|
-
function
|
|
169
|
-
|
|
168
|
+
function L() {
|
|
169
|
+
u.value = M() <= ue;
|
|
170
170
|
}
|
|
171
171
|
function E() {
|
|
172
|
-
|
|
172
|
+
s.value = !s.value, o("update:collapsed", s.value);
|
|
173
173
|
}
|
|
174
|
-
function
|
|
175
|
-
o("update:modelValue",
|
|
174
|
+
function y(h) {
|
|
175
|
+
o("update:modelValue", h), o("change", h);
|
|
176
176
|
}
|
|
177
|
-
return
|
|
177
|
+
return K(
|
|
178
178
|
() => a.collapsed,
|
|
179
|
-
(
|
|
180
|
-
|
|
179
|
+
(h) => {
|
|
180
|
+
h !== void 0 && (s.value = h);
|
|
181
181
|
}
|
|
182
|
-
),
|
|
183
|
-
|
|
184
|
-
}),
|
|
185
|
-
|
|
186
|
-
}),
|
|
187
|
-
class:
|
|
182
|
+
), W(() => {
|
|
183
|
+
r = window.matchMedia(`(max-width: ${ue}px)`), L(), r.addEventListener("change", L), window.addEventListener("resize", L), typeof ResizeObserver < "u" && document.documentElement && (c = new ResizeObserver(L), c.observe(document.documentElement));
|
|
184
|
+
}), G(() => {
|
|
185
|
+
r?.removeEventListener("change", L), window.removeEventListener("resize", L), c?.disconnect(), c = null;
|
|
186
|
+
}), n({ collapsed: b }), (h, m) => (l(), i("aside", {
|
|
187
|
+
class: p(["relative z-30 flex h-full shrink-0 flex-col rounded-corner border border-ui-border bg-ui-surface/70 transition-all duration-300", ["w-[84px]", b.value ? "md:w-[84px]" : "md:w-72"]])
|
|
188
188
|
}, [
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
$.value || h.$slots.header ? (l(), i("header", rt, [
|
|
190
|
+
C("div", ut, [
|
|
191
|
+
C("button", {
|
|
192
192
|
type: "button",
|
|
193
|
-
class:
|
|
194
|
-
"aria-label":
|
|
195
|
-
"aria-expanded": !
|
|
193
|
+
class: p(re),
|
|
194
|
+
"aria-label": b.value ? e.expandLabel : e.collapseLabel,
|
|
195
|
+
"aria-expanded": !b.value,
|
|
196
196
|
onClick: E
|
|
197
197
|
}, [
|
|
198
|
-
|
|
199
|
-
name:
|
|
198
|
+
F(N, {
|
|
199
|
+
name: b.value ? "pan-end-symbolic" : "pan-start-symbolic",
|
|
200
200
|
type: "symbol",
|
|
201
201
|
size: 16
|
|
202
202
|
}, null, 8, ["name"])
|
|
203
|
-
], 8,
|
|
204
|
-
|
|
205
|
-
e.title ? (l(),
|
|
206
|
-
e.subtitle ? (l(),
|
|
207
|
-
])) :
|
|
203
|
+
], 8, ct),
|
|
204
|
+
$.value && !b.value ? (l(), i("div", dt, [
|
|
205
|
+
e.title ? (l(), i("p", ft, I(e.title), 1)) : g("", !0),
|
|
206
|
+
e.subtitle ? (l(), i("p", mt, I(e.subtitle), 1)) : g("", !0)
|
|
207
|
+
])) : g("", !0)
|
|
208
208
|
]),
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
])) :
|
|
212
|
-
])) : (l(),
|
|
213
|
-
|
|
209
|
+
h.$slots.header && !b.value ? (l(), i("div", bt, [
|
|
210
|
+
A(h.$slots, "header", { collapsed: b.value })
|
|
211
|
+
])) : g("", !0)
|
|
212
|
+
])) : (l(), i("div", vt, [
|
|
213
|
+
C("button", {
|
|
214
214
|
type: "button",
|
|
215
|
-
class:
|
|
216
|
-
"aria-label":
|
|
217
|
-
"aria-expanded": !
|
|
215
|
+
class: p(re),
|
|
216
|
+
"aria-label": b.value ? e.expandLabel : e.collapseLabel,
|
|
217
|
+
"aria-expanded": !b.value,
|
|
218
218
|
onClick: E
|
|
219
219
|
}, [
|
|
220
|
-
|
|
221
|
-
name:
|
|
220
|
+
F(N, {
|
|
221
|
+
name: b.value ? "pan-end-symbolic" : "pan-start-symbolic",
|
|
222
222
|
type: "symbol",
|
|
223
223
|
size: 16
|
|
224
224
|
}, null, 8, ["name"])
|
|
225
|
-
], 8,
|
|
225
|
+
], 8, pt)
|
|
226
226
|
])),
|
|
227
|
-
|
|
228
|
-
(l(!0),
|
|
229
|
-
key:
|
|
230
|
-
title:
|
|
231
|
-
collapsed:
|
|
227
|
+
C("div", gt, [
|
|
228
|
+
(l(!0), i(U, null, Y(e.categories, (k) => (l(), q(he, {
|
|
229
|
+
key: k.id,
|
|
230
|
+
title: k.title,
|
|
231
|
+
collapsed: b.value
|
|
232
232
|
}, {
|
|
233
|
-
default:
|
|
234
|
-
(l(!0),
|
|
235
|
-
key:
|
|
236
|
-
label:
|
|
237
|
-
icon:
|
|
238
|
-
badge:
|
|
239
|
-
disabled:
|
|
240
|
-
collapsed:
|
|
241
|
-
active: e.modelValue ===
|
|
242
|
-
onClick: (
|
|
233
|
+
default: R(() => [
|
|
234
|
+
(l(!0), i(U, null, Y(k.items, (d) => (l(), q(xe, {
|
|
235
|
+
key: d.id,
|
|
236
|
+
label: d.label,
|
|
237
|
+
icon: d.icon,
|
|
238
|
+
badge: d.badge,
|
|
239
|
+
disabled: d.disabled,
|
|
240
|
+
collapsed: b.value,
|
|
241
|
+
active: e.modelValue === d.id,
|
|
242
|
+
onClick: (v) => y(d.id)
|
|
243
243
|
}, null, 8, ["label", "icon", "badge", "disabled", "collapsed", "active", "onClick"]))), 128))
|
|
244
244
|
]),
|
|
245
245
|
_: 2
|
|
246
246
|
}, 1032, ["title", "collapsed"]))), 128)),
|
|
247
|
-
|
|
247
|
+
A(h.$slots, "default", { collapsed: b.value })
|
|
248
248
|
])
|
|
249
249
|
], 2));
|
|
250
250
|
}
|
|
251
|
-
}),
|
|
251
|
+
}), ht = { class: "flex min-w-0 flex-col gap-1" }, xt = ["for"], kt = { class: "relative flex min-w-0 items-center" }, wt = ["id"], $t = /* @__PURE__ */ z({
|
|
252
252
|
inheritAttrs: !1,
|
|
253
253
|
__name: "SelectField",
|
|
254
|
-
props: /* @__PURE__ */
|
|
254
|
+
props: /* @__PURE__ */ je({
|
|
255
255
|
label: {}
|
|
256
256
|
}, {
|
|
257
257
|
modelValue: {
|
|
@@ -261,28 +261,28 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
261
261
|
}),
|
|
262
262
|
emits: ["update:modelValue"],
|
|
263
263
|
setup(e) {
|
|
264
|
-
const
|
|
265
|
-
set(
|
|
266
|
-
return
|
|
264
|
+
const n = e, t = Ve(), a = Pe(), o = x(() => t.id ?? a), [s, u] = Fe(e, "modelValue", {
|
|
265
|
+
set(r) {
|
|
266
|
+
return u.number ? Number(r) : r;
|
|
267
267
|
}
|
|
268
268
|
});
|
|
269
|
-
return (
|
|
270
|
-
|
|
269
|
+
return (r, c) => (l(), i("div", ht, [
|
|
270
|
+
n.label ? (l(), i("label", {
|
|
271
271
|
key: 0,
|
|
272
272
|
for: o.value,
|
|
273
273
|
class: "text-tx-muted text-xs"
|
|
274
|
-
},
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
}, I(n.label), 9, xt)) : g("", !0),
|
|
275
|
+
C("div", kt, [
|
|
276
|
+
me(C("select", J({
|
|
277
277
|
id: o.value,
|
|
278
|
-
"onUpdate:modelValue":
|
|
278
|
+
"onUpdate:modelValue": c[0] || (c[0] = (b) => Ne(s) ? s.value = b : null),
|
|
279
279
|
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"
|
|
280
|
-
},
|
|
281
|
-
|
|
282
|
-
], 16,
|
|
283
|
-
[
|
|
280
|
+
}, P(t)), [
|
|
281
|
+
A(r.$slots, "default")
|
|
282
|
+
], 16, wt), [
|
|
283
|
+
[Re, P(s)]
|
|
284
284
|
]),
|
|
285
|
-
|
|
285
|
+
F(N, {
|
|
286
286
|
name: "pan-down-symbolic",
|
|
287
287
|
type: "symbol",
|
|
288
288
|
size: 14,
|
|
@@ -291,119 +291,153 @@ const Re = ["src", "alt"], M = /* @__PURE__ */ L({
|
|
|
291
291
|
])
|
|
292
292
|
]));
|
|
293
293
|
}
|
|
294
|
-
}),
|
|
295
|
-
function
|
|
294
|
+
}), le = /* @__PURE__ */ Symbol("barra de vasak");
|
|
295
|
+
function te(e) {
|
|
296
296
|
return e === "left" || e === "right" ? "vertical" : "horizontal";
|
|
297
297
|
}
|
|
298
|
-
const
|
|
299
|
-
function
|
|
300
|
-
return typeof e == "string" &&
|
|
298
|
+
const Ct = ["top", "bottom", "left", "right"];
|
|
299
|
+
function zt(e) {
|
|
300
|
+
return typeof e == "string" && Ct.includes(e);
|
|
301
301
|
}
|
|
302
|
-
function
|
|
303
|
-
const e =
|
|
302
|
+
function X() {
|
|
303
|
+
const e = be(le, null);
|
|
304
304
|
if (e) return e;
|
|
305
|
-
const
|
|
305
|
+
const n = w("top");
|
|
306
306
|
return {
|
|
307
|
-
posicion:
|
|
308
|
-
orientacion:
|
|
309
|
-
vertical:
|
|
307
|
+
posicion: n,
|
|
308
|
+
orientacion: x(() => te(n.value)),
|
|
309
|
+
vertical: x(() => te(n.value) === "vertical")
|
|
310
310
|
};
|
|
311
311
|
}
|
|
312
|
-
const
|
|
313
|
-
function
|
|
314
|
-
const t = e?.[
|
|
315
|
-
return
|
|
312
|
+
const oe = ["minimize", "maximize", "close"], Lt = "window", Et = "barPosition";
|
|
313
|
+
function Dt(e) {
|
|
314
|
+
const t = e?.[Lt]?.[Et];
|
|
315
|
+
return zt(t) ? t : null;
|
|
316
316
|
}
|
|
317
|
-
function
|
|
318
|
-
const
|
|
317
|
+
function Bt(e = "top") {
|
|
318
|
+
const n = w(e);
|
|
319
319
|
let t = null, a = !1;
|
|
320
320
|
async function o() {
|
|
321
321
|
try {
|
|
322
|
-
const { readConfig:
|
|
323
|
-
|
|
322
|
+
const { readConfig: s } = await import("@vasakgroup/plugin-config-manager"), u = await s();
|
|
323
|
+
n.value = Dt(u) ?? e;
|
|
324
324
|
} catch {
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
|
-
return
|
|
327
|
+
return W(async () => {
|
|
328
328
|
await o();
|
|
329
329
|
try {
|
|
330
|
-
const { listen:
|
|
330
|
+
const { listen: s } = await import("@tauri-apps/api/event"), u = await s("config-changed", () => {
|
|
331
331
|
o();
|
|
332
332
|
});
|
|
333
333
|
if (a) {
|
|
334
|
-
|
|
334
|
+
u();
|
|
335
335
|
return;
|
|
336
336
|
}
|
|
337
|
-
t =
|
|
337
|
+
t = u;
|
|
338
338
|
} catch {
|
|
339
339
|
}
|
|
340
|
-
}),
|
|
340
|
+
}), G(() => {
|
|
341
341
|
a = !0, t?.(), t = null;
|
|
342
|
-
}),
|
|
342
|
+
}), n;
|
|
343
343
|
}
|
|
344
|
-
|
|
344
|
+
function ke(e) {
|
|
345
|
+
const n = ve(), t = {};
|
|
346
|
+
for (const a of e) {
|
|
347
|
+
const o = `on${a[0].toUpperCase()}${a.slice(1)}`;
|
|
348
|
+
n?.vnode.props?.[o] && (t[a] = () => n.emit(a));
|
|
349
|
+
}
|
|
350
|
+
return t;
|
|
351
|
+
}
|
|
352
|
+
const At = ["title", "aria-label"], Mt = ["title", "aria-label"], St = ["title", "aria-label"], _ = "flex items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 p-1 transition-colors", we = /* @__PURE__ */ z({
|
|
345
353
|
__name: "WindowControls",
|
|
346
354
|
props: {
|
|
355
|
+
controls: { default: () => oe },
|
|
347
356
|
minimizeLabel: { default: "Minimize" },
|
|
348
357
|
maximizeLabel: { default: "Maximize" },
|
|
349
358
|
closeLabel: { default: "Close" }
|
|
350
359
|
},
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
360
|
+
emits: ["minimize", "maximize", "close"],
|
|
361
|
+
setup(e, { emit: n }) {
|
|
362
|
+
const t = e, a = n, { vertical: o } = X(), s = x(() => ({
|
|
363
|
+
minimize: t.controls.includes("minimize"),
|
|
364
|
+
maximize: t.controls.includes("maximize"),
|
|
365
|
+
close: t.controls.includes("close")
|
|
366
|
+
}));
|
|
367
|
+
function u() {
|
|
368
|
+
return Ze();
|
|
369
|
+
}
|
|
370
|
+
const r = ve();
|
|
371
|
+
function c(L) {
|
|
372
|
+
return !!r?.vnode.props?.[`on${L}`];
|
|
373
|
+
}
|
|
374
|
+
function b() {
|
|
375
|
+
if (c("Minimize")) return a("minimize");
|
|
376
|
+
u().minimize();
|
|
355
377
|
}
|
|
356
|
-
|
|
357
|
-
|
|
378
|
+
function $() {
|
|
379
|
+
if (c("Maximize")) return a("maximize");
|
|
380
|
+
u().toggleMaximize();
|
|
381
|
+
}
|
|
382
|
+
function M() {
|
|
383
|
+
if (c("Close")) return a("close");
|
|
384
|
+
u().close();
|
|
385
|
+
}
|
|
386
|
+
return (L, E) => e.controls.length ? (l(), i("div", {
|
|
387
|
+
key: 0,
|
|
388
|
+
class: p(["flex shrink-0 gap-1", P(o) ? "flex-col" : ""]),
|
|
358
389
|
"data-tauri-drag-region": ""
|
|
359
390
|
}, [
|
|
360
|
-
|
|
391
|
+
s.value.minimize ? (l(), i("button", {
|
|
392
|
+
key: 0,
|
|
361
393
|
type: "button",
|
|
362
|
-
class:
|
|
394
|
+
class: p([_, "hover:bg-status-success"]),
|
|
363
395
|
title: e.minimizeLabel,
|
|
364
396
|
"aria-label": e.minimizeLabel,
|
|
365
|
-
onClick:
|
|
397
|
+
onClick: E[0] || (E[0] = (y) => b())
|
|
366
398
|
}, [
|
|
367
|
-
|
|
399
|
+
F(N, {
|
|
368
400
|
name: "window-minimize",
|
|
369
401
|
size: 24
|
|
370
402
|
})
|
|
371
|
-
], 10,
|
|
372
|
-
|
|
403
|
+
], 10, At)) : g("", !0),
|
|
404
|
+
s.value.maximize ? (l(), i("button", {
|
|
405
|
+
key: 1,
|
|
373
406
|
type: "button",
|
|
374
|
-
class:
|
|
407
|
+
class: p([_, "hover:bg-status-warning"]),
|
|
375
408
|
title: e.maximizeLabel,
|
|
376
409
|
"aria-label": e.maximizeLabel,
|
|
377
|
-
onClick:
|
|
410
|
+
onClick: E[1] || (E[1] = (y) => $())
|
|
378
411
|
}, [
|
|
379
|
-
|
|
412
|
+
F(N, {
|
|
380
413
|
name: "window-maximize",
|
|
381
414
|
size: 24
|
|
382
415
|
})
|
|
383
|
-
], 10,
|
|
384
|
-
|
|
416
|
+
], 10, Mt)) : g("", !0),
|
|
417
|
+
s.value.close ? (l(), i("button", {
|
|
418
|
+
key: 2,
|
|
385
419
|
type: "button",
|
|
386
|
-
class:
|
|
420
|
+
class: p([_, "hover:bg-status-error"]),
|
|
387
421
|
title: e.closeLabel,
|
|
388
422
|
"aria-label": e.closeLabel,
|
|
389
|
-
onClick:
|
|
423
|
+
onClick: E[2] || (E[2] = (y) => M())
|
|
390
424
|
}, [
|
|
391
|
-
|
|
425
|
+
F(N, {
|
|
392
426
|
name: "window-close",
|
|
393
427
|
size: 24
|
|
394
428
|
})
|
|
395
|
-
], 10,
|
|
396
|
-
], 2));
|
|
429
|
+
], 10, St)) : g("", !0)
|
|
430
|
+
], 2)) : g("", !0);
|
|
397
431
|
}
|
|
398
|
-
}),
|
|
432
|
+
}), Tt = {
|
|
399
433
|
key: 0,
|
|
400
434
|
class: "flex shrink-0 items-center",
|
|
401
435
|
"data-tauri-drag-region": ""
|
|
402
|
-
},
|
|
436
|
+
}, It = {
|
|
403
437
|
key: 1,
|
|
404
438
|
class: "min-w-0 shrink truncate text-sm",
|
|
405
439
|
"data-tauri-drag-region": ""
|
|
406
|
-
},
|
|
440
|
+
}, $e = /* @__PURE__ */ z({
|
|
407
441
|
__name: "AppBar",
|
|
408
442
|
props: {
|
|
409
443
|
position: { default: null },
|
|
@@ -411,47 +445,58 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
411
445
|
minimizeLabel: { default: "Minimize" },
|
|
412
446
|
maximizeLabel: { default: "Maximize" },
|
|
413
447
|
closeLabel: { default: "Close" },
|
|
414
|
-
|
|
448
|
+
controls: { default: () => oe }
|
|
415
449
|
},
|
|
450
|
+
emits: ["minimize", "maximize", "close"],
|
|
416
451
|
setup(e) {
|
|
417
|
-
const
|
|
418
|
-
return
|
|
452
|
+
const n = e, t = X(), a = x(() => n.position ?? t.posicion.value), o = x(() => a.value === "left" || a.value === "right");
|
|
453
|
+
return ae(le, {
|
|
419
454
|
posicion: a,
|
|
420
|
-
orientacion:
|
|
455
|
+
orientacion: x(() => o.value ? "vertical" : "horizontal"),
|
|
421
456
|
vertical: o
|
|
422
|
-
}), (
|
|
423
|
-
class:
|
|
457
|
+
}), (s, u) => (l(), i("div", {
|
|
458
|
+
class: p(["relative flex shrink-0 items-center gap-2 p-1 font-title", o.value ? "h-full flex-col" : "w-full"]),
|
|
424
459
|
"data-tauri-drag-region": ""
|
|
425
460
|
}, [
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
])) :
|
|
429
|
-
(
|
|
430
|
-
|
|
431
|
-
|
|
461
|
+
s.$slots.identidad ? (l(), i("div", Tt, [
|
|
462
|
+
A(s.$slots, "identidad")
|
|
463
|
+
])) : g("", !0),
|
|
464
|
+
(s.$slots.titulo || e.title) && !o.value ? (l(), i("p", It, [
|
|
465
|
+
A(s.$slots, "titulo", {}, () => [
|
|
466
|
+
qe(I(e.title), 1)
|
|
432
467
|
])
|
|
433
|
-
])) :
|
|
434
|
-
|
|
435
|
-
class:
|
|
468
|
+
])) : g("", !0),
|
|
469
|
+
C("div", {
|
|
470
|
+
class: p(["flex min-h-0 min-w-0 flex-1 items-center gap-2 overflow-auto", o.value ? "flex-col" : ""]),
|
|
436
471
|
"data-tauri-drag-region": ""
|
|
437
472
|
}, [
|
|
438
|
-
|
|
473
|
+
A(s.$slots, "default")
|
|
439
474
|
], 2),
|
|
440
|
-
|
|
475
|
+
s.$slots.acciones ? (l(), i("div", {
|
|
441
476
|
key: 2,
|
|
442
|
-
class:
|
|
477
|
+
class: p(["flex shrink-0 items-center gap-1", o.value ? "flex-col" : ""])
|
|
443
478
|
}, [
|
|
444
|
-
|
|
445
|
-
], 2)) :
|
|
446
|
-
|
|
447
|
-
|
|
479
|
+
A(s.$slots, "acciones")
|
|
480
|
+
], 2)) : g("", !0),
|
|
481
|
+
F(we, J({
|
|
482
|
+
controls: e.controls,
|
|
448
483
|
"minimize-label": e.minimizeLabel,
|
|
449
484
|
"maximize-label": e.maximizeLabel,
|
|
450
485
|
"close-label": e.closeLabel
|
|
451
|
-
}, null,
|
|
486
|
+
}, pe(P(ke)(["minimize", "maximize", "close"]))), null, 16, ["controls", "minimize-label", "maximize-label", "close-label"]),
|
|
487
|
+
s.$slots.centro ? (l(), i("div", {
|
|
488
|
+
key: 3,
|
|
489
|
+
class: p(["pointer-events-none absolute flex items-center justify-center", o.value ? "inset-x-0 top-1/2 -translate-y-1/2 flex-col" : "inset-y-0 left-1/2 -translate-x-1/2"])
|
|
490
|
+
}, [
|
|
491
|
+
C("div", {
|
|
492
|
+
class: p(["pointer-events-auto flex items-center gap-2", o.value ? "flex-col" : ""])
|
|
493
|
+
}, [
|
|
494
|
+
A(s.$slots, "centro")
|
|
495
|
+
], 2)
|
|
496
|
+
], 2)) : g("", !0)
|
|
452
497
|
], 2));
|
|
453
498
|
}
|
|
454
|
-
}),
|
|
499
|
+
}), Ot = { class: "flex min-h-0 min-w-0 flex-1" }, jt = /* @__PURE__ */ z({
|
|
455
500
|
__name: "WindowFrame",
|
|
456
501
|
props: {
|
|
457
502
|
position: { default: null },
|
|
@@ -459,73 +504,81 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
459
504
|
minimizeLabel: { default: "Minimize" },
|
|
460
505
|
maximizeLabel: { default: "Maximize" },
|
|
461
506
|
closeLabel: { default: "Close" },
|
|
462
|
-
|
|
507
|
+
controls: { default: () => oe },
|
|
463
508
|
hideBar: { type: Boolean, default: !1 }
|
|
464
509
|
},
|
|
510
|
+
emits: ["minimize", "maximize", "close"],
|
|
465
511
|
setup(e) {
|
|
466
|
-
const
|
|
467
|
-
|
|
468
|
-
const
|
|
512
|
+
const n = e, t = Bt(), a = x(() => n.position ?? t.value), o = x(() => te(a.value)), s = x(() => o.value === "vertical");
|
|
513
|
+
ae(le, { posicion: a, orientacion: o, vertical: s });
|
|
514
|
+
const u = {
|
|
469
515
|
top: "flex-col",
|
|
470
516
|
bottom: "flex-col-reverse",
|
|
471
517
|
left: "flex-row",
|
|
472
518
|
right: "flex-row-reverse"
|
|
473
519
|
};
|
|
474
|
-
return (
|
|
475
|
-
class:
|
|
520
|
+
return (r, c) => (l(), i("div", {
|
|
521
|
+
class: p(["flex h-screen w-screen overflow-hidden rounded-corner-window border border-ui-border bg-ui-bg/80", u[a.value]])
|
|
476
522
|
}, [
|
|
477
|
-
e.hideBar ?
|
|
523
|
+
e.hideBar ? g("", !0) : (l(), q($e, J({
|
|
478
524
|
key: 0,
|
|
479
525
|
position: a.value,
|
|
480
526
|
title: e.title,
|
|
481
527
|
"minimize-label": e.minimizeLabel,
|
|
482
528
|
"maximize-label": e.maximizeLabel,
|
|
483
529
|
"close-label": e.closeLabel,
|
|
484
|
-
|
|
485
|
-
},
|
|
486
|
-
default:
|
|
487
|
-
|
|
530
|
+
controls: e.controls
|
|
531
|
+
}, pe(P(ke)(["minimize", "maximize", "close"]))), He({
|
|
532
|
+
default: R(() => [
|
|
533
|
+
A(r.$slots, "barra")
|
|
488
534
|
]),
|
|
489
535
|
_: 2
|
|
490
536
|
}, [
|
|
491
|
-
|
|
537
|
+
r.$slots.identidad ? {
|
|
492
538
|
name: "identidad",
|
|
493
|
-
fn:
|
|
494
|
-
|
|
539
|
+
fn: R(() => [
|
|
540
|
+
A(r.$slots, "identidad")
|
|
495
541
|
]),
|
|
496
542
|
key: "0"
|
|
497
543
|
} : void 0,
|
|
498
|
-
|
|
544
|
+
r.$slots.titulo ? {
|
|
499
545
|
name: "titulo",
|
|
500
|
-
fn:
|
|
501
|
-
|
|
546
|
+
fn: R(() => [
|
|
547
|
+
A(r.$slots, "titulo")
|
|
502
548
|
]),
|
|
503
549
|
key: "1"
|
|
504
550
|
} : void 0,
|
|
505
|
-
|
|
506
|
-
name: "
|
|
507
|
-
fn:
|
|
508
|
-
|
|
551
|
+
r.$slots.centro ? {
|
|
552
|
+
name: "centro",
|
|
553
|
+
fn: R(() => [
|
|
554
|
+
A(r.$slots, "centro")
|
|
509
555
|
]),
|
|
510
556
|
key: "2"
|
|
557
|
+
} : void 0,
|
|
558
|
+
r.$slots.acciones ? {
|
|
559
|
+
name: "acciones",
|
|
560
|
+
fn: R(() => [
|
|
561
|
+
A(r.$slots, "acciones")
|
|
562
|
+
]),
|
|
563
|
+
key: "3"
|
|
511
564
|
} : void 0
|
|
512
|
-
]),
|
|
513
|
-
|
|
514
|
-
|
|
565
|
+
]), 1040, ["position", "title", "minimize-label", "maximize-label", "close-label", "controls"])),
|
|
566
|
+
C("div", Ot, [
|
|
567
|
+
A(r.$slots, "default")
|
|
515
568
|
])
|
|
516
569
|
], 2));
|
|
517
570
|
}
|
|
518
|
-
}),
|
|
571
|
+
}), Vt = ["aria-selected", "title", "aria-label", "tabindex"], Pt = {
|
|
519
572
|
key: 1,
|
|
520
573
|
"aria-hidden": "true"
|
|
521
|
-
},
|
|
574
|
+
}, Ft = {
|
|
522
575
|
key: 2,
|
|
523
576
|
class: "min-w-0 flex-1 truncate"
|
|
524
|
-
},
|
|
577
|
+
}, Nt = ["title", "aria-label"], Rt = { class: "whitespace-nowrap" }, qt = {
|
|
525
578
|
key: 0,
|
|
526
579
|
class: "size-2 shrink-0 rounded-full bg-current",
|
|
527
580
|
"aria-hidden": "true"
|
|
528
|
-
},
|
|
581
|
+
}, Ht = ["title", "aria-label"], Ut = 500, ce = 8, de = 6, Ce = /* @__PURE__ */ z({
|
|
529
582
|
__name: "TabItem",
|
|
530
583
|
props: {
|
|
531
584
|
tab: {},
|
|
@@ -535,166 +588,166 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
535
588
|
tabindex: { default: 0 }
|
|
536
589
|
},
|
|
537
590
|
emits: ["select", "close", "menu", "mover", "navegar"],
|
|
538
|
-
setup(e, { emit:
|
|
539
|
-
const t = e, a =
|
|
540
|
-
let
|
|
541
|
-
const
|
|
591
|
+
setup(e, { emit: n }) {
|
|
592
|
+
const t = e, a = n, { vertical: o, posicion: s } = X(), u = w(null), r = w(null), c = w(!1), b = w(!1), $ = w(!1), M = w({ top: 0, left: 0, right: 0 });
|
|
593
|
+
let L = null, E = null;
|
|
594
|
+
const y = x(() => t.tab.closable !== !1), h = x(() => t.tab.tooltip ?? t.tab.label), m = x(
|
|
542
595
|
() => t.tab.dirty ? `${t.tab.label} · ${t.dirtyLabel}` : t.tab.label
|
|
543
|
-
),
|
|
544
|
-
() => !!t.tab.dirty && !(
|
|
545
|
-
),
|
|
546
|
-
() =>
|
|
547
|
-
),
|
|
548
|
-
() => o.value && (
|
|
549
|
-
),
|
|
550
|
-
const
|
|
551
|
-
return
|
|
596
|
+
), k = x(() => t.tab.label.trim().charAt(0).toUpperCase()), d = x(() => c.value || $.value), v = x(
|
|
597
|
+
() => !!t.tab.dirty && !(d.value && y.value)
|
|
598
|
+
), D = x(
|
|
599
|
+
() => y.value && (d.value || t.active || !t.tab.dirty)
|
|
600
|
+
), B = x(
|
|
601
|
+
() => o.value && (c.value || b.value || $.value)
|
|
602
|
+
), j = x(() => {
|
|
603
|
+
const S = { position: "fixed", top: `${M.value.top}px`, zIndex: 50 };
|
|
604
|
+
return s.value === "right" ? { ...S, right: `${M.value.right + de}px` } : { ...S, left: `${M.value.left + de}px` };
|
|
552
605
|
});
|
|
553
|
-
function
|
|
554
|
-
const
|
|
555
|
-
if (
|
|
556
|
-
const
|
|
557
|
-
|
|
558
|
-
top:
|
|
559
|
-
left:
|
|
560
|
-
right: window.innerWidth -
|
|
606
|
+
function ie() {
|
|
607
|
+
const S = u.value;
|
|
608
|
+
if (!S) return;
|
|
609
|
+
const f = S.getBoundingClientRect();
|
|
610
|
+
M.value = {
|
|
611
|
+
top: f.top,
|
|
612
|
+
left: f.right,
|
|
613
|
+
right: window.innerWidth - f.left
|
|
561
614
|
};
|
|
562
615
|
}
|
|
563
|
-
function
|
|
564
|
-
const
|
|
565
|
-
|
|
616
|
+
function De(S) {
|
|
617
|
+
const f = S.relatedTarget;
|
|
618
|
+
f && r.value?.contains(f) || ($.value = !1);
|
|
566
619
|
}
|
|
567
|
-
function
|
|
568
|
-
|
|
620
|
+
function Be() {
|
|
621
|
+
c.value = !0, ie();
|
|
569
622
|
}
|
|
570
|
-
function
|
|
571
|
-
|
|
623
|
+
function Ae() {
|
|
624
|
+
b.value = !0, ie();
|
|
572
625
|
}
|
|
573
|
-
function
|
|
574
|
-
|
|
626
|
+
function H() {
|
|
627
|
+
L !== null && clearTimeout(L), L = null, E = null;
|
|
575
628
|
}
|
|
576
|
-
function
|
|
577
|
-
|
|
578
|
-
E && a("menu", E),
|
|
579
|
-
},
|
|
629
|
+
function Me(S) {
|
|
630
|
+
S.button === 0 && (E = { x: S.clientX, y: S.clientY }, L = setTimeout(() => {
|
|
631
|
+
E && a("menu", E), H();
|
|
632
|
+
}, Ut));
|
|
580
633
|
}
|
|
581
|
-
function
|
|
634
|
+
function Se(S) {
|
|
582
635
|
if (!E) return;
|
|
583
|
-
(Math.abs(
|
|
636
|
+
(Math.abs(S.clientX - E.x) > ce || Math.abs(S.clientY - E.y) > ce) && H();
|
|
584
637
|
}
|
|
585
|
-
function
|
|
586
|
-
|
|
638
|
+
function Te(S) {
|
|
639
|
+
S.button === 1 && y.value && (S.preventDefault(), a("close"));
|
|
587
640
|
}
|
|
588
|
-
function
|
|
589
|
-
|
|
641
|
+
function Ie(S) {
|
|
642
|
+
S.preventDefault(), a("menu", { x: S.clientX, y: S.clientY });
|
|
590
643
|
}
|
|
591
|
-
return
|
|
644
|
+
return G(H), (S, f) => (l(), i("div", {
|
|
592
645
|
ref_key: "raiz",
|
|
593
|
-
ref:
|
|
594
|
-
class:
|
|
646
|
+
ref: u,
|
|
647
|
+
class: p(["group relative flex shrink-0 cursor-pointer items-center gap-2 rounded-corner border border-ui-border transition-colors", [
|
|
595
648
|
e.active ? "bg-primary font-bold text-tx-on-primary" : "bg-ui-bg/80 hover:bg-ui-surface/70",
|
|
596
|
-
|
|
649
|
+
P(o) ? "size-8 justify-center p-0 text-sm" : "w-34 max-w-34 px-3 py-1 text-sm"
|
|
597
650
|
]]),
|
|
598
651
|
role: "tab",
|
|
599
652
|
"aria-selected": e.active,
|
|
600
|
-
title:
|
|
601
|
-
"aria-label":
|
|
653
|
+
title: h.value,
|
|
654
|
+
"aria-label": m.value,
|
|
602
655
|
tabindex: e.tabindex,
|
|
603
|
-
onClick:
|
|
656
|
+
onClick: f[5] || (f[5] = T((O) => a("select"), ["stop"])),
|
|
604
657
|
onKeydown: [
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
658
|
+
f[6] || (f[6] = V(T((O) => a("select"), ["stop"]), ["enter"])),
|
|
659
|
+
f[7] || (f[7] = V(T((O) => a("select"), ["prevent", "stop"]), ["space"])),
|
|
660
|
+
f[8] || (f[8] = V(T((O) => a("navegar", "anterior"), ["prevent", "stop"]), ["left"])),
|
|
661
|
+
f[9] || (f[9] = V(T((O) => a("navegar", "anterior"), ["prevent", "stop"]), ["up"])),
|
|
662
|
+
f[10] || (f[10] = V(T((O) => a("navegar", "siguiente"), ["prevent", "stop"]), ["right"])),
|
|
663
|
+
f[11] || (f[11] = V(T((O) => a("navegar", "siguiente"), ["prevent", "stop"]), ["down"])),
|
|
664
|
+
f[12] || (f[12] = V(T((O) => a("navegar", "primera"), ["prevent", "stop"]), ["home"])),
|
|
665
|
+
f[13] || (f[13] = V(T((O) => a("navegar", "ultima"), ["prevent", "stop"]), ["end"])),
|
|
666
|
+
f[14] || (f[14] = V(T((O) => a("mover", -1), ["alt", "prevent", "stop"]), ["left"])),
|
|
667
|
+
f[15] || (f[15] = V(T((O) => a("mover", -1), ["alt", "prevent", "stop"]), ["up"])),
|
|
668
|
+
f[16] || (f[16] = V(T((O) => a("mover", 1), ["alt", "prevent", "stop"]), ["right"])),
|
|
669
|
+
f[17] || (f[17] = V(T((O) => a("mover", 1), ["alt", "prevent", "stop"]), ["down"])),
|
|
670
|
+
f[18] || (f[18] = V(T((O) => y.value && a("close"), ["prevent", "stop"]), ["delete"]))
|
|
618
671
|
],
|
|
619
|
-
onAuxclick:
|
|
620
|
-
onContextmenu:
|
|
621
|
-
onPointerdown:
|
|
622
|
-
onPointermove:
|
|
623
|
-
onPointerup:
|
|
624
|
-
onPointerleave:
|
|
625
|
-
onMouseenter:
|
|
626
|
-
onMouseleave:
|
|
627
|
-
onFocus:
|
|
628
|
-
onBlur:
|
|
672
|
+
onAuxclick: T(Te, ["stop"]),
|
|
673
|
+
onContextmenu: Ie,
|
|
674
|
+
onPointerdown: Me,
|
|
675
|
+
onPointermove: Se,
|
|
676
|
+
onPointerup: H,
|
|
677
|
+
onPointerleave: H,
|
|
678
|
+
onMouseenter: Be,
|
|
679
|
+
onMouseleave: f[19] || (f[19] = (O) => c.value = !1),
|
|
680
|
+
onFocus: Ae,
|
|
681
|
+
onBlur: f[20] || (f[20] = (O) => b.value = !1)
|
|
629
682
|
}, [
|
|
630
|
-
e.tab.icon ? (l(),
|
|
683
|
+
e.tab.icon ? (l(), q(N, {
|
|
631
684
|
key: 0,
|
|
632
685
|
name: e.tab.icon,
|
|
633
686
|
size: 16,
|
|
634
687
|
class: "shrink-0"
|
|
635
|
-
}, null, 8, ["name"])) :
|
|
636
|
-
|
|
637
|
-
|
|
688
|
+
}, null, 8, ["name"])) : P(o) ? (l(), i("span", Pt, I(k.value), 1)) : g("", !0),
|
|
689
|
+
P(o) ? g("", !0) : (l(), i("span", Ft, I(e.tab.label), 1)),
|
|
690
|
+
v.value ? (l(), i("span", {
|
|
638
691
|
key: 3,
|
|
639
|
-
class:
|
|
692
|
+
class: p(["size-2 shrink-0 rounded-full bg-current", P(o) ? "absolute right-0.5 top-0.5" : ""]),
|
|
640
693
|
"aria-hidden": "true"
|
|
641
|
-
}, null, 2)) :
|
|
694
|
+
}, null, 2)) : D.value && !P(o) ? (l(), i("button", {
|
|
642
695
|
key: 4,
|
|
643
696
|
type: "button",
|
|
644
697
|
class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
|
|
645
698
|
title: e.closeLabel,
|
|
646
|
-
"aria-label": `${e.closeLabel}: ${
|
|
647
|
-
onClick:
|
|
699
|
+
"aria-label": `${e.closeLabel}: ${m.value}`,
|
|
700
|
+
onClick: f[0] || (f[0] = T((O) => a("close"), ["stop"]))
|
|
648
701
|
}, [
|
|
649
|
-
|
|
702
|
+
F(N, {
|
|
650
703
|
name: "gtk-close",
|
|
651
704
|
type: "symbol",
|
|
652
705
|
size: 12
|
|
653
706
|
})
|
|
654
|
-
], 8,
|
|
655
|
-
(l(),
|
|
656
|
-
|
|
707
|
+
], 8, Nt)) : g("", !0),
|
|
708
|
+
(l(), q(ge, { to: "body" }, [
|
|
709
|
+
F(ye, {
|
|
657
710
|
"enter-active-class": "transition duration-150 ease-out",
|
|
658
711
|
"enter-from-class": "opacity-0 scale-95",
|
|
659
712
|
"leave-active-class": "transition duration-100 ease-in",
|
|
660
713
|
"leave-to-class": "opacity-0 scale-95"
|
|
661
714
|
}, {
|
|
662
|
-
default:
|
|
663
|
-
|
|
715
|
+
default: R(() => [
|
|
716
|
+
B.value ? (l(), i("div", {
|
|
664
717
|
key: 0,
|
|
665
|
-
class:
|
|
718
|
+
class: p(["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" : ""]),
|
|
666
719
|
ref_key: "desplegadoRef",
|
|
667
|
-
ref:
|
|
668
|
-
style:
|
|
669
|
-
onMouseenter:
|
|
670
|
-
onMouseleave:
|
|
671
|
-
onFocusin:
|
|
672
|
-
onFocusout:
|
|
720
|
+
ref: r,
|
|
721
|
+
style: ee(j.value),
|
|
722
|
+
onMouseenter: f[2] || (f[2] = (O) => $.value = !0),
|
|
723
|
+
onMouseleave: f[3] || (f[3] = (O) => $.value = !1),
|
|
724
|
+
onFocusin: f[4] || (f[4] = (O) => $.value = !0),
|
|
725
|
+
onFocusout: De
|
|
673
726
|
}, [
|
|
674
|
-
|
|
675
|
-
e.tab.dirty ? (l(),
|
|
676
|
-
|
|
727
|
+
C("span", Rt, I(e.tab.label), 1),
|
|
728
|
+
e.tab.dirty ? (l(), i("span", qt)) : g("", !0),
|
|
729
|
+
y.value ? (l(), i("button", {
|
|
677
730
|
key: 1,
|
|
678
731
|
type: "button",
|
|
679
732
|
class: "flex size-4 shrink-0 items-center justify-center rounded-corner-sm hover:bg-ui-surface",
|
|
680
733
|
title: e.closeLabel,
|
|
681
|
-
"aria-label": `${e.closeLabel}: ${
|
|
682
|
-
onClick:
|
|
734
|
+
"aria-label": `${e.closeLabel}: ${m.value}`,
|
|
735
|
+
onClick: f[1] || (f[1] = T((O) => a("close"), ["stop"]))
|
|
683
736
|
}, [
|
|
684
|
-
|
|
737
|
+
F(N, {
|
|
685
738
|
name: "gtk-close",
|
|
686
739
|
type: "symbol",
|
|
687
740
|
size: 12
|
|
688
741
|
})
|
|
689
|
-
], 8,
|
|
690
|
-
], 38)) :
|
|
742
|
+
], 8, Ht)) : g("", !0)
|
|
743
|
+
], 38)) : g("", !0)
|
|
691
744
|
]),
|
|
692
745
|
_: 1
|
|
693
746
|
})
|
|
694
747
|
]))
|
|
695
|
-
], 42,
|
|
748
|
+
], 42, Vt));
|
|
696
749
|
}
|
|
697
|
-
}),
|
|
750
|
+
}), Wt = ["aria-orientation"], Kt = ["draggable", "onDragstart", "onDragover", "onDrop"], Gt = ["title", "aria-label"], Xt = /* @__PURE__ */ z({
|
|
698
751
|
__name: "TabBar",
|
|
699
752
|
props: {
|
|
700
753
|
tabs: {},
|
|
@@ -705,102 +758,102 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
705
758
|
fixedOrder: { type: Boolean, default: !1 }
|
|
706
759
|
},
|
|
707
760
|
emits: ["update:modelValue", "select", "close", "new", "reorder", "menu"],
|
|
708
|
-
setup(e, { emit:
|
|
709
|
-
const t = e, a =
|
|
710
|
-
function
|
|
711
|
-
a("update:modelValue",
|
|
761
|
+
setup(e, { emit: n }) {
|
|
762
|
+
const t = e, a = n, { vertical: o } = X(), s = w(null), u = w(0), r = w(null), c = w(null);
|
|
763
|
+
function b(d) {
|
|
764
|
+
a("update:modelValue", d), a("select", d);
|
|
712
765
|
}
|
|
713
|
-
async function
|
|
714
|
-
const
|
|
715
|
-
if (
|
|
716
|
-
const
|
|
717
|
-
|
|
766
|
+
async function $(d, v) {
|
|
767
|
+
const D = t.tabs.length - 1;
|
|
768
|
+
if (D < 0) return;
|
|
769
|
+
const B = v === "primera" ? 0 : v === "ultima" ? D : v === "anterior" ? (d - 1 + t.tabs.length) % t.tabs.length : (d + 1) % t.tabs.length;
|
|
770
|
+
u.value = B, await ne(), s.value?.querySelectorAll('[role="tab"]')?.[B]?.focus();
|
|
718
771
|
}
|
|
719
|
-
function
|
|
772
|
+
function M(d, v) {
|
|
720
773
|
if (t.fixedOrder) return;
|
|
721
|
-
const
|
|
722
|
-
if (
|
|
723
|
-
const
|
|
724
|
-
|
|
774
|
+
const D = d + v;
|
|
775
|
+
if (D < 0 || D >= t.tabs.length) return;
|
|
776
|
+
const B = [...t.tabs], [j] = B.splice(d, 1);
|
|
777
|
+
j && (B.splice(D, 0, j), u.value = D, a("reorder", B));
|
|
725
778
|
}
|
|
726
|
-
function
|
|
727
|
-
const
|
|
728
|
-
if (!
|
|
729
|
-
const
|
|
730
|
-
o.value ?
|
|
779
|
+
function L(d) {
|
|
780
|
+
const v = s.value;
|
|
781
|
+
if (!v) return;
|
|
782
|
+
const D = d.deltaY || d.deltaX || 0, B = o.value ? v.scrollTop : v.scrollLeft;
|
|
783
|
+
o.value ? v.scrollTop += D : v.scrollLeft += D, (o.value ? v.scrollTop : v.scrollLeft) !== B && d.preventDefault();
|
|
731
784
|
}
|
|
732
|
-
function E(
|
|
733
|
-
t.fixedOrder || (
|
|
785
|
+
function E(d, v) {
|
|
786
|
+
t.fixedOrder || (r.value = d, v.dataTransfer?.setData("text/plain", String(d)), v.dataTransfer && (v.dataTransfer.effectAllowed = "move"));
|
|
734
787
|
}
|
|
735
|
-
function
|
|
736
|
-
t.fixedOrder ||
|
|
788
|
+
function y(d, v) {
|
|
789
|
+
t.fixedOrder || r.value === null || (v.preventDefault(), c.value = d, v.dataTransfer && (v.dataTransfer.dropEffect = "move"));
|
|
737
790
|
}
|
|
738
|
-
function
|
|
739
|
-
const
|
|
740
|
-
if (
|
|
741
|
-
const
|
|
742
|
-
|
|
791
|
+
function h(d) {
|
|
792
|
+
const v = r.value;
|
|
793
|
+
if (m(), t.fixedOrder || v === null || v === d) return;
|
|
794
|
+
const D = [...t.tabs], [B] = D.splice(v, 1);
|
|
795
|
+
B && (D.splice(d, 0, B), a("reorder", D));
|
|
743
796
|
}
|
|
744
|
-
function
|
|
745
|
-
|
|
797
|
+
function m() {
|
|
798
|
+
r.value = null, c.value = null;
|
|
746
799
|
}
|
|
747
|
-
const
|
|
800
|
+
const k = x(
|
|
748
801
|
() => o.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"
|
|
749
802
|
);
|
|
750
|
-
return (
|
|
751
|
-
class:
|
|
803
|
+
return (d, v) => (l(), i("div", {
|
|
804
|
+
class: p(["flex min-h-0 min-w-0 items-center gap-1", P(o) ? "w-full flex-col" : "h-full"]),
|
|
752
805
|
role: "tablist",
|
|
753
|
-
"aria-orientation":
|
|
806
|
+
"aria-orientation": P(o) ? "vertical" : "horizontal"
|
|
754
807
|
}, [
|
|
755
|
-
|
|
808
|
+
C("div", {
|
|
756
809
|
ref_key: "carril",
|
|
757
|
-
ref:
|
|
758
|
-
class:
|
|
759
|
-
onWheel:
|
|
810
|
+
ref: s,
|
|
811
|
+
class: p(k.value),
|
|
812
|
+
onWheel: L
|
|
760
813
|
}, [
|
|
761
|
-
(l(!0),
|
|
762
|
-
key:
|
|
763
|
-
class:
|
|
764
|
-
|
|
765
|
-
|
|
814
|
+
(l(!0), i(U, null, Y(e.tabs, (D, B) => (l(), i("div", {
|
|
815
|
+
key: D.id,
|
|
816
|
+
class: p(["transition-opacity", [
|
|
817
|
+
r.value === B ? "opacity-40" : "",
|
|
818
|
+
c.value === B && r.value !== B ? "ring-2 ring-secondary rounded-corner" : ""
|
|
766
819
|
]]),
|
|
767
820
|
draggable: !e.fixedOrder,
|
|
768
|
-
onDragstart: (
|
|
769
|
-
onDragover: (
|
|
770
|
-
onDrop:
|
|
771
|
-
onDragend:
|
|
821
|
+
onDragstart: (j) => E(B, j),
|
|
822
|
+
onDragover: (j) => y(B, j),
|
|
823
|
+
onDrop: T((j) => h(B), ["prevent"]),
|
|
824
|
+
onDragend: m
|
|
772
825
|
}, [
|
|
773
|
-
|
|
774
|
-
tab:
|
|
775
|
-
active:
|
|
826
|
+
F(Ce, {
|
|
827
|
+
tab: D,
|
|
828
|
+
active: D.id === e.modelValue,
|
|
776
829
|
"close-label": e.closeLabel,
|
|
777
830
|
"dirty-label": e.dirtyLabel,
|
|
778
|
-
tabindex:
|
|
779
|
-
onSelect: (
|
|
780
|
-
onClose: (
|
|
781
|
-
onMenu: (
|
|
782
|
-
onNavegar: (
|
|
783
|
-
onMover: (
|
|
831
|
+
tabindex: B === u.value ? 0 : -1,
|
|
832
|
+
onSelect: (j) => b(D.id),
|
|
833
|
+
onClose: (j) => a("close", D.id),
|
|
834
|
+
onMenu: (j) => a("menu", { id: D.id, ...j }),
|
|
835
|
+
onNavegar: (j) => $(B, j),
|
|
836
|
+
onMover: (j) => M(B, j)
|
|
784
837
|
}, null, 8, ["tab", "active", "close-label", "dirty-label", "tabindex", "onSelect", "onClose", "onMenu", "onNavegar", "onMover"])
|
|
785
|
-
], 42,
|
|
838
|
+
], 42, Kt))), 128))
|
|
786
839
|
], 34),
|
|
787
|
-
e.newLabel ? (l(),
|
|
840
|
+
e.newLabel ? (l(), i("button", {
|
|
788
841
|
key: 0,
|
|
789
842
|
type: "button",
|
|
790
843
|
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",
|
|
791
844
|
title: e.newLabel,
|
|
792
845
|
"aria-label": e.newLabel,
|
|
793
|
-
onClick:
|
|
846
|
+
onClick: v[0] || (v[0] = (D) => a("new"))
|
|
794
847
|
}, [
|
|
795
|
-
|
|
848
|
+
F(N, {
|
|
796
849
|
name: "gtk-add",
|
|
797
850
|
type: "symbol",
|
|
798
851
|
size: 14
|
|
799
852
|
})
|
|
800
|
-
], 8,
|
|
801
|
-
], 10,
|
|
853
|
+
], 8, Gt)) : g("", !0)
|
|
854
|
+
], 10, Wt));
|
|
802
855
|
}
|
|
803
|
-
}),
|
|
856
|
+
}), Yt = { class: "relative flex shrink-0 items-center" }, Jt = ["title", "aria-label", "aria-expanded"], Qt = ["value", "placeholder", "aria-label"], Zt = /* @__PURE__ */ z({
|
|
804
857
|
__name: "BarSearch",
|
|
805
858
|
props: {
|
|
806
859
|
modelValue: { default: "" },
|
|
@@ -809,68 +862,68 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
809
862
|
collapsed: { type: Boolean, default: !1 }
|
|
810
863
|
},
|
|
811
864
|
emits: ["update:modelValue", "search", "open", "close"],
|
|
812
|
-
setup(e, { emit:
|
|
813
|
-
const t = e, a =
|
|
814
|
-
if (!
|
|
815
|
-
const
|
|
816
|
-
return
|
|
865
|
+
setup(e, { emit: n }) {
|
|
866
|
+
const t = e, a = n, { vertical: o, posicion: s } = X(), u = w(!1), r = w(null), c = x(() => o.value || t.collapsed), b = x(() => !c.value || u.value), $ = x(() => {
|
|
867
|
+
if (!c.value) return "";
|
|
868
|
+
const h = "absolute z-40 w-64 rounded-corner border border-ui-border bg-ui-surface/95 p-1 shadow-lg";
|
|
869
|
+
return s.value === "left" ? `${h} left-full top-0 ml-1` : s.value === "right" ? `${h} right-full top-0 mr-1` : s.value === "bottom" ? `${h} bottom-full right-0 mb-1` : `${h} top-full right-0 mt-1`;
|
|
817
870
|
});
|
|
818
|
-
async function
|
|
819
|
-
|
|
871
|
+
async function M() {
|
|
872
|
+
u.value = !0, a("open"), await ne(), r.value?.focus();
|
|
820
873
|
}
|
|
821
|
-
function
|
|
822
|
-
|
|
874
|
+
function L() {
|
|
875
|
+
u.value && (u.value = !1, a("close"));
|
|
823
876
|
}
|
|
824
|
-
function E(
|
|
825
|
-
a("update:modelValue",
|
|
877
|
+
function E(h) {
|
|
878
|
+
a("update:modelValue", h.target.value);
|
|
826
879
|
}
|
|
827
|
-
function
|
|
880
|
+
function y() {
|
|
828
881
|
a("search", t.modelValue);
|
|
829
882
|
}
|
|
830
|
-
return (
|
|
831
|
-
|
|
883
|
+
return (h, m) => (l(), i("div", Yt, [
|
|
884
|
+
c.value ? (l(), i("button", {
|
|
832
885
|
key: 0,
|
|
833
886
|
type: "button",
|
|
834
887
|
class: "flex size-7 items-center justify-center rounded-corner border border-ui-border bg-ui-bg/80 hover:bg-ui-surface/70",
|
|
835
888
|
title: e.label,
|
|
836
889
|
"aria-label": e.label,
|
|
837
|
-
"aria-expanded":
|
|
838
|
-
onMousedown:
|
|
890
|
+
"aria-expanded": u.value,
|
|
891
|
+
onMousedown: m[0] || (m[0] = T(() => {
|
|
839
892
|
}, ["prevent"])),
|
|
840
|
-
onClick:
|
|
893
|
+
onClick: m[1] || (m[1] = (k) => u.value ? L() : M())
|
|
841
894
|
}, [
|
|
842
|
-
|
|
895
|
+
F(N, {
|
|
843
896
|
name: "system-search",
|
|
844
897
|
type: "symbol",
|
|
845
898
|
size: 14
|
|
846
899
|
})
|
|
847
|
-
], 40,
|
|
848
|
-
|
|
900
|
+
], 40, Jt)) : g("", !0),
|
|
901
|
+
b.value ? (l(), i("div", {
|
|
849
902
|
key: 1,
|
|
850
|
-
class:
|
|
903
|
+
class: p($.value)
|
|
851
904
|
}, [
|
|
852
|
-
|
|
905
|
+
C("input", {
|
|
853
906
|
ref_key: "campo",
|
|
854
|
-
ref:
|
|
907
|
+
ref: r,
|
|
855
908
|
type: "search",
|
|
856
|
-
class:
|
|
909
|
+
class: p(["w-full rounded-corner border border-ui-border bg-ui-bg/80 px-2 py-1 text-sm outline-none focus:border-ui-border-strong", c.value ? "" : "w-48"]),
|
|
857
910
|
value: e.modelValue,
|
|
858
911
|
placeholder: e.placeholder || e.label,
|
|
859
912
|
"aria-label": e.label,
|
|
860
913
|
onInput: E,
|
|
861
914
|
onKeydown: [
|
|
862
|
-
|
|
863
|
-
|
|
915
|
+
V(y, ["enter"]),
|
|
916
|
+
V(L, ["esc"])
|
|
864
917
|
],
|
|
865
|
-
onBlur:
|
|
866
|
-
}, null, 42,
|
|
867
|
-
], 2)) :
|
|
918
|
+
onBlur: L
|
|
919
|
+
}, null, 42, Qt)
|
|
920
|
+
], 2)) : g("", !0)
|
|
868
921
|
]));
|
|
869
922
|
}
|
|
870
|
-
}),
|
|
923
|
+
}), _t = ["type", "disabled"], ea = {
|
|
871
924
|
key: 0,
|
|
872
925
|
class: "w-4 h-4 animate-spin rounded-full border-2 border-current border-t-transparent"
|
|
873
|
-
},
|
|
926
|
+
}, ta = ["src", "alt"], aa = { key: 2 }, na = ["src", "alt"], la = /* @__PURE__ */ z({
|
|
874
927
|
__name: "ActionButton",
|
|
875
928
|
props: {
|
|
876
929
|
label: {},
|
|
@@ -888,52 +941,52 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
888
941
|
preventDefault: { type: Boolean, default: !1 }
|
|
889
942
|
},
|
|
890
943
|
emits: ["click"],
|
|
891
|
-
setup(e, { emit:
|
|
892
|
-
const t = e, a =
|
|
944
|
+
setup(e, { emit: n }) {
|
|
945
|
+
const t = e, a = n, o = {
|
|
893
946
|
primary: "bg-primary dark:bg-primary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-primary/90 dark:hover:bg-primary-dark/90",
|
|
894
947
|
secondary: "bg-secondary dark:bg-secondary-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-secondary/80 dark:hover:bg-secondary-dark/80",
|
|
895
948
|
danger: "bg-status-error dark:bg-status-error-dark text-tx-on-primary dark:text-tx-on-primary-dark hover:bg-status-error/90 dark:hover:bg-status-error-dark/90"
|
|
896
|
-
},
|
|
949
|
+
}, s = {
|
|
897
950
|
sm: "px-2 py-1 text-xs",
|
|
898
951
|
md: "px-3 py-1 text-sm",
|
|
899
952
|
lg: "px-4 py-2 text-base"
|
|
900
|
-
},
|
|
901
|
-
t.stopPropagation &&
|
|
953
|
+
}, u = (r) => {
|
|
954
|
+
t.stopPropagation && r.stopPropagation(), t.preventDefault && r.preventDefault(), !t.disabled && !t.loading && a("click");
|
|
902
955
|
};
|
|
903
|
-
return (
|
|
956
|
+
return (r, c) => (l(), i("button", {
|
|
904
957
|
type: t.type,
|
|
905
|
-
onClick:
|
|
906
|
-
class:
|
|
958
|
+
onClick: u,
|
|
959
|
+
class: p(["rounded-corner transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed flex items-center justify-center gap-2", [
|
|
907
960
|
o[t.variant],
|
|
908
|
-
|
|
961
|
+
s[t.size],
|
|
909
962
|
t.fullWidth ? "w-full" : "",
|
|
910
963
|
t.iconSrc && !t.label ? "px-2 py-2" : "",
|
|
911
964
|
e.customClass
|
|
912
965
|
]]),
|
|
913
966
|
disabled: t.disabled || t.loading
|
|
914
967
|
}, [
|
|
915
|
-
e.loading ? (l(),
|
|
916
|
-
t.iconSrc && !t.iconRight ? (l(),
|
|
968
|
+
e.loading ? (l(), i("span", ea)) : g("", !0),
|
|
969
|
+
t.iconSrc && !t.iconRight ? (l(), i("img", {
|
|
917
970
|
key: 1,
|
|
918
971
|
src: t.iconSrc,
|
|
919
972
|
alt: t.iconAlt || t.label,
|
|
920
973
|
class: "w-4 h-4"
|
|
921
|
-
}, null, 8,
|
|
922
|
-
t.label ? (l(),
|
|
923
|
-
t.iconSrc && t.iconRight ? (l(),
|
|
974
|
+
}, null, 8, ta)) : g("", !0),
|
|
975
|
+
t.label ? (l(), i("span", aa, I(t.label), 1)) : g("", !0),
|
|
976
|
+
t.iconSrc && t.iconRight ? (l(), i("img", {
|
|
924
977
|
key: 3,
|
|
925
978
|
src: t.iconSrc,
|
|
926
979
|
alt: t.iconAlt || t.label,
|
|
927
980
|
class: "w-4 h-4"
|
|
928
|
-
}, null, 8,
|
|
929
|
-
], 10,
|
|
981
|
+
}, null, 8, na)) : g("", !0)
|
|
982
|
+
], 10, _t));
|
|
930
983
|
}
|
|
931
|
-
}),
|
|
984
|
+
}), Q = (e, n) => {
|
|
932
985
|
const t = e.__vccOpts || e;
|
|
933
|
-
for (const [a, o] of
|
|
986
|
+
for (const [a, o] of n)
|
|
934
987
|
t[a] = o;
|
|
935
988
|
return t;
|
|
936
|
-
},
|
|
989
|
+
}, oa = /* @__PURE__ */ Q(la, [["__scopeId", "data-v-2eaf6e27"]]), ia = { class: "text-base font-semibold m-0 text-primary dark:text-primary-dark" }, sa = /* @__PURE__ */ z({
|
|
937
990
|
__name: "ConfigSection",
|
|
938
991
|
props: {
|
|
939
992
|
title: {},
|
|
@@ -941,26 +994,26 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
941
994
|
customClass: { default: () => ({}) }
|
|
942
995
|
},
|
|
943
996
|
setup(e) {
|
|
944
|
-
return (
|
|
945
|
-
class:
|
|
997
|
+
return (n, t) => (l(), i("div", {
|
|
998
|
+
class: p(["flex flex-col gap-4 p-4 background rounded-corner", e.customClass])
|
|
946
999
|
}, [
|
|
947
|
-
|
|
948
|
-
|
|
1000
|
+
C("h3", ia, I(e.icon ? `${e.icon} ${e.title}` : e.title), 1),
|
|
1001
|
+
A(n.$slots, "default", {}, void 0, !0)
|
|
949
1002
|
], 2));
|
|
950
1003
|
}
|
|
951
|
-
}),
|
|
1004
|
+
}), ra = /* @__PURE__ */ Q(sa, [["__scopeId", "data-v-45bd4eab"]]), ua = { class: "flex items-center gap-3 flex-1 min-w-0" }, ca = ["src", "alt"], da = { class: "min-w-0" }, fa = { class: "font-semibold truncate" }, ma = {
|
|
952
1005
|
key: 0,
|
|
953
1006
|
class: "text-xs text-gray-400 truncate"
|
|
954
|
-
},
|
|
1007
|
+
}, ba = {
|
|
955
1008
|
key: 1,
|
|
956
1009
|
class: "text-xs text-gray-400 truncate"
|
|
957
|
-
},
|
|
1010
|
+
}, va = {
|
|
958
1011
|
key: 2,
|
|
959
1012
|
class: "text-xs text-gray-400 flex gap-2 mt-1"
|
|
960
|
-
},
|
|
1013
|
+
}, pa = {
|
|
961
1014
|
key: 1,
|
|
962
1015
|
class: "w-2 h-2 rounded-full bg-green-500"
|
|
963
|
-
},
|
|
1016
|
+
}, ga = /* @__PURE__ */ z({
|
|
964
1017
|
__name: "DeviceCard",
|
|
965
1018
|
props: {
|
|
966
1019
|
icon: {},
|
|
@@ -976,40 +1029,402 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
976
1029
|
clickable: { type: Boolean, default: !1 }
|
|
977
1030
|
},
|
|
978
1031
|
emits: ["action", "click"],
|
|
979
|
-
setup(e, { emit:
|
|
980
|
-
const t =
|
|
1032
|
+
setup(e, { emit: n }) {
|
|
1033
|
+
const t = n, a = () => {
|
|
981
1034
|
t("action");
|
|
982
1035
|
}, o = () => {
|
|
983
1036
|
t("click");
|
|
984
1037
|
};
|
|
985
|
-
return (
|
|
986
|
-
class:
|
|
1038
|
+
return (s, u) => (l(), i("div", {
|
|
1039
|
+
class: p(["flex items-center justify-between background rounded-vsk px-6 py-3 mb-4", [{ "border-l-4 border-green-500": e.isConnected }, e.customClass]]),
|
|
987
1040
|
onClick: o
|
|
988
1041
|
}, [
|
|
989
|
-
|
|
990
|
-
|
|
1042
|
+
C("div", ua, [
|
|
1043
|
+
C("img", {
|
|
991
1044
|
src: e.icon,
|
|
992
1045
|
alt: e.title,
|
|
993
1046
|
class: "h-7 w-7 shrink-0"
|
|
994
|
-
}, null, 8,
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
e.subtitle ? (l(),
|
|
998
|
-
e.metadata ? (l(),
|
|
999
|
-
e.extraInfo && e.extraInfo.length > 0 ? (l(),
|
|
1000
|
-
(l(!0),
|
|
1001
|
-
])) :
|
|
1047
|
+
}, null, 8, ca),
|
|
1048
|
+
C("div", da, [
|
|
1049
|
+
C("div", fa, I(e.title), 1),
|
|
1050
|
+
e.subtitle ? (l(), i("div", ma, I(e.subtitle), 1)) : g("", !0),
|
|
1051
|
+
e.metadata ? (l(), i("div", ba, I(e.metadata), 1)) : g("", !0),
|
|
1052
|
+
e.extraInfo && e.extraInfo.length > 0 ? (l(), i("div", va, [
|
|
1053
|
+
(l(!0), i(U, null, Y(e.extraInfo, (r, c) => (l(), i("span", { key: c }, I(r), 1))), 128))
|
|
1054
|
+
])) : g("", !0)
|
|
1002
1055
|
])
|
|
1003
1056
|
]),
|
|
1004
|
-
e.showActionButton ? (l(),
|
|
1057
|
+
e.showActionButton ? (l(), i("button", {
|
|
1005
1058
|
key: 0,
|
|
1006
1059
|
class: "bg-vsk-primary rounded-vsk px-4 py-2 text-sm font-semibold cursor-pointer hover:opacity-70",
|
|
1007
|
-
onClick:
|
|
1008
|
-
},
|
|
1009
|
-
e.showStatusIndicator && e.isConnected ? (l(),
|
|
1060
|
+
onClick: T(a, ["stop"])
|
|
1061
|
+
}, I(e.actionLabel), 1)) : g("", !0),
|
|
1062
|
+
e.showStatusIndicator && e.isConnected ? (l(), i("div", pa)) : g("", !0)
|
|
1010
1063
|
], 2));
|
|
1011
1064
|
}
|
|
1012
|
-
}),
|
|
1065
|
+
}), ze = /* @__PURE__ */ Symbol("menú de vasak");
|
|
1066
|
+
function Z() {
|
|
1067
|
+
const e = be(ze, null);
|
|
1068
|
+
if (e) return e;
|
|
1069
|
+
const n = w(!1);
|
|
1070
|
+
return {
|
|
1071
|
+
abierto: n,
|
|
1072
|
+
idDelMenu: "vsk-menu-suelto",
|
|
1073
|
+
idDeLaEtiqueta: w(null),
|
|
1074
|
+
ponerLaEtiqueta: () => {
|
|
1075
|
+
},
|
|
1076
|
+
disparador: w(null),
|
|
1077
|
+
ponerElDisparador: () => {
|
|
1078
|
+
},
|
|
1079
|
+
focoAlAbrir: w("ninguno"),
|
|
1080
|
+
abrir: () => {
|
|
1081
|
+
n.value = !0;
|
|
1082
|
+
},
|
|
1083
|
+
cerrar: () => {
|
|
1084
|
+
n.value = !1;
|
|
1085
|
+
},
|
|
1086
|
+
alternar: () => {
|
|
1087
|
+
n.value = !n.value;
|
|
1088
|
+
}
|
|
1089
|
+
};
|
|
1090
|
+
}
|
|
1091
|
+
let fe = 0;
|
|
1092
|
+
function Le() {
|
|
1093
|
+
return fe += 1, `vsk-menu-${fe}`;
|
|
1094
|
+
}
|
|
1095
|
+
const ya = { class: "relative inline-block" }, ha = /* @__PURE__ */ z({
|
|
1096
|
+
__name: "DropdownMenu",
|
|
1097
|
+
props: {
|
|
1098
|
+
open: { type: Boolean, default: void 0 }
|
|
1099
|
+
},
|
|
1100
|
+
emits: ["update:open"],
|
|
1101
|
+
setup(e, { emit: n }) {
|
|
1102
|
+
const t = e, a = n, o = w(!1), s = w(null), u = w(null), r = w("ninguno"), c = Le();
|
|
1103
|
+
let b = null;
|
|
1104
|
+
const $ = x({
|
|
1105
|
+
get: () => t.open ?? o.value,
|
|
1106
|
+
set: (y) => {
|
|
1107
|
+
t.open === void 0 && (o.value = y), a("update:open", y);
|
|
1108
|
+
}
|
|
1109
|
+
});
|
|
1110
|
+
K($, (y) => {
|
|
1111
|
+
if (y) {
|
|
1112
|
+
const h = document.activeElement;
|
|
1113
|
+
b = h instanceof HTMLElement ? h : null;
|
|
1114
|
+
} else
|
|
1115
|
+
r.value = "ninguno";
|
|
1116
|
+
});
|
|
1117
|
+
function M(y = "ninguno") {
|
|
1118
|
+
r.value = y, $.value = !0;
|
|
1119
|
+
}
|
|
1120
|
+
function L(y = {}) {
|
|
1121
|
+
if ($.value = !1, !y.devolverElFoco) return;
|
|
1122
|
+
const h = b ?? s.value;
|
|
1123
|
+
h?.isConnected && h.focus();
|
|
1124
|
+
}
|
|
1125
|
+
function E(y = "ninguno") {
|
|
1126
|
+
if ($.value) {
|
|
1127
|
+
L({ devolverElFoco: !0 });
|
|
1128
|
+
return;
|
|
1129
|
+
}
|
|
1130
|
+
M(y);
|
|
1131
|
+
}
|
|
1132
|
+
return ae(ze, {
|
|
1133
|
+
abierto: $,
|
|
1134
|
+
idDelMenu: c,
|
|
1135
|
+
idDeLaEtiqueta: u,
|
|
1136
|
+
ponerLaEtiqueta: (y) => {
|
|
1137
|
+
u.value = y;
|
|
1138
|
+
},
|
|
1139
|
+
disparador: s,
|
|
1140
|
+
ponerElDisparador: (y) => {
|
|
1141
|
+
s.value = y;
|
|
1142
|
+
},
|
|
1143
|
+
focoAlAbrir: r,
|
|
1144
|
+
abrir: M,
|
|
1145
|
+
cerrar: L,
|
|
1146
|
+
alternar: E
|
|
1147
|
+
}), (y, h) => (l(), i("div", ya, [
|
|
1148
|
+
A(y.$slots, "default")
|
|
1149
|
+
]));
|
|
1150
|
+
}
|
|
1151
|
+
}), xa = ["id", "aria-labelledby", "inert"], ka = {
|
|
1152
|
+
role: "none",
|
|
1153
|
+
class: "py-1"
|
|
1154
|
+
}, wa = /* @__PURE__ */ z({
|
|
1155
|
+
inheritAttrs: !1,
|
|
1156
|
+
__name: "DropdownMenuContent",
|
|
1157
|
+
props: {
|
|
1158
|
+
side: { default: "bottom" },
|
|
1159
|
+
align: { default: "start" },
|
|
1160
|
+
sideOffset: { default: 4 }
|
|
1161
|
+
},
|
|
1162
|
+
setup(e) {
|
|
1163
|
+
const n = e, t = Z(), { idDelMenu: a, idDeLaEtiqueta: o } = t, s = x(() => t.disparador.value), u = x(() => t.abierto.value), r = w(null), c = w({ top: 0, left: 0 });
|
|
1164
|
+
function b() {
|
|
1165
|
+
if (!s.value || !r.value) return;
|
|
1166
|
+
const m = s.value.getBoundingClientRect(), k = r.value.getBoundingClientRect();
|
|
1167
|
+
let d = 0, v = 0;
|
|
1168
|
+
switch (n.side) {
|
|
1169
|
+
case "bottom":
|
|
1170
|
+
d = m.bottom + n.sideOffset;
|
|
1171
|
+
break;
|
|
1172
|
+
case "top":
|
|
1173
|
+
d = m.top - k.height - n.sideOffset;
|
|
1174
|
+
break;
|
|
1175
|
+
case "left":
|
|
1176
|
+
v = m.left - k.width - n.sideOffset, d = m.top;
|
|
1177
|
+
break;
|
|
1178
|
+
case "right":
|
|
1179
|
+
v = m.right + n.sideOffset, d = m.top;
|
|
1180
|
+
break;
|
|
1181
|
+
}
|
|
1182
|
+
switch (n.align) {
|
|
1183
|
+
case "start":
|
|
1184
|
+
(n.side === "bottom" || n.side === "top") && (v = m.left);
|
|
1185
|
+
break;
|
|
1186
|
+
case "center":
|
|
1187
|
+
(n.side === "bottom" || n.side === "top") && (v = m.left + m.width / 2 - k.width / 2);
|
|
1188
|
+
break;
|
|
1189
|
+
case "end":
|
|
1190
|
+
(n.side === "bottom" || n.side === "top") && (v = m.right - k.width);
|
|
1191
|
+
break;
|
|
1192
|
+
}
|
|
1193
|
+
c.value = { top: d, left: v };
|
|
1194
|
+
}
|
|
1195
|
+
function $() {
|
|
1196
|
+
return r.value ? Array.from(r.value.querySelectorAll('[role="menuitem"]')) : [];
|
|
1197
|
+
}
|
|
1198
|
+
function M(m) {
|
|
1199
|
+
const k = $();
|
|
1200
|
+
if (!k.length) return;
|
|
1201
|
+
const d = k.length;
|
|
1202
|
+
k[(m % d + d) % d]?.focus();
|
|
1203
|
+
}
|
|
1204
|
+
function L() {
|
|
1205
|
+
const m = document.activeElement;
|
|
1206
|
+
return m instanceof HTMLElement ? $().indexOf(m) : -1;
|
|
1207
|
+
}
|
|
1208
|
+
function E(m) {
|
|
1209
|
+
const k = L();
|
|
1210
|
+
switch (m.key) {
|
|
1211
|
+
case "ArrowDown":
|
|
1212
|
+
m.preventDefault(), M(k + 1);
|
|
1213
|
+
break;
|
|
1214
|
+
case "ArrowUp":
|
|
1215
|
+
m.preventDefault(), M(k <= 0 ? -1 : k - 1);
|
|
1216
|
+
break;
|
|
1217
|
+
case "Home":
|
|
1218
|
+
m.preventDefault(), M(0);
|
|
1219
|
+
break;
|
|
1220
|
+
case "End":
|
|
1221
|
+
m.preventDefault(), M(-1);
|
|
1222
|
+
break;
|
|
1223
|
+
case "Escape":
|
|
1224
|
+
m.preventDefault(), m.stopPropagation(), t.cerrar({ devolverElFoco: !0 });
|
|
1225
|
+
break;
|
|
1226
|
+
case "Tab":
|
|
1227
|
+
m.preventDefault(), t.cerrar({ devolverElFoco: !0 });
|
|
1228
|
+
break;
|
|
1229
|
+
}
|
|
1230
|
+
}
|
|
1231
|
+
K(u, async (m) => {
|
|
1232
|
+
if (m)
|
|
1233
|
+
switch (await ne(), requestAnimationFrame(() => {
|
|
1234
|
+
b();
|
|
1235
|
+
}), t.focoAlAbrir.value) {
|
|
1236
|
+
case "primero":
|
|
1237
|
+
M(0);
|
|
1238
|
+
break;
|
|
1239
|
+
case "ultimo":
|
|
1240
|
+
M(-1);
|
|
1241
|
+
break;
|
|
1242
|
+
// Abierto con el ratón: el foco va al menú y no a un ítem —no hay
|
|
1243
|
+
// ninguno elegido todavía—, que es lo que deja andar las flechas y el
|
|
1244
|
+
// Escape sin haber tocado nada.
|
|
1245
|
+
default:
|
|
1246
|
+
r.value?.focus();
|
|
1247
|
+
}
|
|
1248
|
+
});
|
|
1249
|
+
function y() {
|
|
1250
|
+
u.value && b();
|
|
1251
|
+
}
|
|
1252
|
+
function h(m) {
|
|
1253
|
+
const k = m.target, d = !!k.closest("[dropdown-content]"), v = !!s.value?.contains(k);
|
|
1254
|
+
!d && !v && t.cerrar();
|
|
1255
|
+
}
|
|
1256
|
+
return W(() => {
|
|
1257
|
+
document.addEventListener("click", h), window.addEventListener("resize", y), window.addEventListener("scroll", y, !0);
|
|
1258
|
+
}), G(() => {
|
|
1259
|
+
document.removeEventListener("click", h), window.removeEventListener("resize", y), window.removeEventListener("scroll", y, !0);
|
|
1260
|
+
}), (m, k) => (l(), q(ge, { to: "body" }, [
|
|
1261
|
+
F(ye, {
|
|
1262
|
+
"enter-active-class": "transition-all duration-150 ease-in-out",
|
|
1263
|
+
"leave-active-class": "transition-all duration-150 ease-in-out",
|
|
1264
|
+
"enter-from-class": "opacity-0 scale-95",
|
|
1265
|
+
"leave-to-class": "opacity-0 scale-95",
|
|
1266
|
+
onEnter: k[1] || (k[1] = (d) => d.offsetHeight),
|
|
1267
|
+
onLeave: k[2] || (k[2] = (d) => d.offsetHeight)
|
|
1268
|
+
}, {
|
|
1269
|
+
default: R(() => [
|
|
1270
|
+
me(C("div", J({
|
|
1271
|
+
ref_key: "contenido",
|
|
1272
|
+
ref: r
|
|
1273
|
+
}, m.$attrs, {
|
|
1274
|
+
id: P(a),
|
|
1275
|
+
role: "menu",
|
|
1276
|
+
tabindex: "-1",
|
|
1277
|
+
"aria-orientation": "vertical",
|
|
1278
|
+
"aria-labelledby": P(o) ?? void 0,
|
|
1279
|
+
inert: !u.value,
|
|
1280
|
+
style: { position: "fixed", top: `${c.value.top}px`, left: `${c.value.left}px`, zIndex: 50 },
|
|
1281
|
+
"dropdown-content": "",
|
|
1282
|
+
class: "min-w-30 rounded-corner border border-primary bg-ui-bg/80 shadow-lg focus:outline-none",
|
|
1283
|
+
onClick: k[0] || (k[0] = (d) => d.stopPropagation()),
|
|
1284
|
+
onKeydown: E
|
|
1285
|
+
}), [
|
|
1286
|
+
C("div", ka, [
|
|
1287
|
+
A(m.$slots, "default")
|
|
1288
|
+
])
|
|
1289
|
+
], 16, xa), [
|
|
1290
|
+
[Ue, u.value]
|
|
1291
|
+
])
|
|
1292
|
+
]),
|
|
1293
|
+
_: 3
|
|
1294
|
+
})
|
|
1295
|
+
]));
|
|
1296
|
+
}
|
|
1297
|
+
}), $a = ["aria-disabled", "onKeydown"], Ca = /* @__PURE__ */ z({
|
|
1298
|
+
__name: "DropdownMenuItem",
|
|
1299
|
+
props: {
|
|
1300
|
+
disabled: { type: Boolean, default: !1 }
|
|
1301
|
+
},
|
|
1302
|
+
emits: ["select", "click"],
|
|
1303
|
+
setup(e, { emit: n }) {
|
|
1304
|
+
const t = e, a = n, o = Z();
|
|
1305
|
+
function s(u) {
|
|
1306
|
+
t.disabled || (a("select"), a("click", u), o.cerrar({ devolverElFoco: !0 }));
|
|
1307
|
+
}
|
|
1308
|
+
return (u, r) => (l(), i("div", {
|
|
1309
|
+
role: "menuitem",
|
|
1310
|
+
tabindex: "0",
|
|
1311
|
+
"aria-disabled": e.disabled || void 0,
|
|
1312
|
+
class: p([
|
|
1313
|
+
"px-3 py-2 text-sm transition-colors outline-none",
|
|
1314
|
+
{
|
|
1315
|
+
"opacity-50 cursor-not-allowed": e.disabled,
|
|
1316
|
+
"cursor-pointer hover:bg-primary hover:text-tx-on-primary focus-visible:bg-primary focus-visible:text-tx-on-primary": !e.disabled
|
|
1317
|
+
}
|
|
1318
|
+
]),
|
|
1319
|
+
onClick: s,
|
|
1320
|
+
onKeydown: [
|
|
1321
|
+
V(T(s, ["prevent"]), ["enter"]),
|
|
1322
|
+
V(T(s, ["prevent"]), ["space"])
|
|
1323
|
+
]
|
|
1324
|
+
}, [
|
|
1325
|
+
A(u.$slots, "default")
|
|
1326
|
+
], 42, $a));
|
|
1327
|
+
}
|
|
1328
|
+
}), za = /* @__PURE__ */ z({
|
|
1329
|
+
__name: "DropdownMenuLabel",
|
|
1330
|
+
setup(e) {
|
|
1331
|
+
const n = Z(), t = `${Le()}-titulo`;
|
|
1332
|
+
return W(() => {
|
|
1333
|
+
n.ponerLaEtiqueta(t);
|
|
1334
|
+
}), G(() => {
|
|
1335
|
+
n.ponerLaEtiqueta(null);
|
|
1336
|
+
}), (a, o) => (l(), i("div", {
|
|
1337
|
+
id: t,
|
|
1338
|
+
role: "presentation",
|
|
1339
|
+
class: "px-3 py-2 text-sm font-semibold text-tx-main"
|
|
1340
|
+
}, [
|
|
1341
|
+
A(a.$slots, "default")
|
|
1342
|
+
]));
|
|
1343
|
+
}
|
|
1344
|
+
}), La = {
|
|
1345
|
+
role: "separator",
|
|
1346
|
+
"aria-orientation": "horizontal",
|
|
1347
|
+
class: "bg-ui-bg/80 my-4 h-0.5"
|
|
1348
|
+
}, Ea = /* @__PURE__ */ z({
|
|
1349
|
+
__name: "DropdownMenuSeparator",
|
|
1350
|
+
setup(e) {
|
|
1351
|
+
return (n, t) => (l(), i("div", La));
|
|
1352
|
+
}
|
|
1353
|
+
});
|
|
1354
|
+
function Ee(e) {
|
|
1355
|
+
const n = e.filter(
|
|
1356
|
+
(a) => a.type !== Ge && !(a.type === Xe && typeof a.children == "string" && !a.children.trim())
|
|
1357
|
+
);
|
|
1358
|
+
if (n.length !== 1) return null;
|
|
1359
|
+
const t = n[0];
|
|
1360
|
+
return t.type === U && Array.isArray(t.children) ? Ee(t.children) : t;
|
|
1361
|
+
}
|
|
1362
|
+
function Da(e) {
|
|
1363
|
+
if (e instanceof HTMLElement) return e;
|
|
1364
|
+
const n = e?.$el;
|
|
1365
|
+
return n instanceof HTMLElement ? n : null;
|
|
1366
|
+
}
|
|
1367
|
+
const Ba = z({
|
|
1368
|
+
name: "DropdownMenuTrigger",
|
|
1369
|
+
inheritAttrs: !1,
|
|
1370
|
+
props: {
|
|
1371
|
+
/** Sin envoltorio: los atributos van sobre el hijo que se le pasó. */
|
|
1372
|
+
asChild: { type: Boolean, default: !1 },
|
|
1373
|
+
/** El disparador no abre nada; lo abre la aplicación por su cuenta. */
|
|
1374
|
+
disabled: { type: Boolean, default: !1 }
|
|
1375
|
+
},
|
|
1376
|
+
setup(e, { slots: n, attrs: t }) {
|
|
1377
|
+
const a = Z(), o = w(null);
|
|
1378
|
+
function s() {
|
|
1379
|
+
a.ponerElDisparador(Da(o.value));
|
|
1380
|
+
}
|
|
1381
|
+
function u() {
|
|
1382
|
+
e.disabled || (s(), a.alternar());
|
|
1383
|
+
}
|
|
1384
|
+
function r(c) {
|
|
1385
|
+
if (!e.disabled)
|
|
1386
|
+
switch (c.key) {
|
|
1387
|
+
case "Enter":
|
|
1388
|
+
case " ":
|
|
1389
|
+
c.preventDefault(), s(), a.alternar("primero");
|
|
1390
|
+
break;
|
|
1391
|
+
case "ArrowDown":
|
|
1392
|
+
c.preventDefault(), s(), a.abrir("primero");
|
|
1393
|
+
break;
|
|
1394
|
+
case "ArrowUp":
|
|
1395
|
+
c.preventDefault(), s(), a.abrir("ultimo");
|
|
1396
|
+
break;
|
|
1397
|
+
case "Escape":
|
|
1398
|
+
a.abierto.value && (c.preventDefault(), a.cerrar({ devolverElFoco: !0 }));
|
|
1399
|
+
break;
|
|
1400
|
+
}
|
|
1401
|
+
}
|
|
1402
|
+
return () => {
|
|
1403
|
+
const c = {
|
|
1404
|
+
ref: ($) => {
|
|
1405
|
+
o.value = $, s();
|
|
1406
|
+
},
|
|
1407
|
+
"aria-haspopup": "menu",
|
|
1408
|
+
"aria-expanded": a.abierto.value ? "true" : "false",
|
|
1409
|
+
// Sólo cuando hay algo que controlar: `aria-controls` apuntando
|
|
1410
|
+
// a un elemento que el lector no expone —el menú cerrado está
|
|
1411
|
+
// `inert`— es una referencia rota.
|
|
1412
|
+
"aria-controls": a.abierto.value ? a.idDelMenu : void 0,
|
|
1413
|
+
onClick: u,
|
|
1414
|
+
onKeydown: r
|
|
1415
|
+
}, b = n.default?.() ?? [];
|
|
1416
|
+
if (e.asChild) {
|
|
1417
|
+
const $ = Ee(b);
|
|
1418
|
+
if ($) return We($, { ...t, ...c });
|
|
1419
|
+
}
|
|
1420
|
+
return Ke(
|
|
1421
|
+
"div",
|
|
1422
|
+
{ ...t, class: ["dropdown-menu-trigger inline-block", t.class], ...c },
|
|
1423
|
+
b
|
|
1424
|
+
);
|
|
1425
|
+
};
|
|
1426
|
+
}
|
|
1427
|
+
}), Aa = ["for"], Ma = /* @__PURE__ */ z({
|
|
1013
1428
|
__name: "FormGroup",
|
|
1014
1429
|
props: {
|
|
1015
1430
|
label: {},
|
|
@@ -1018,30 +1433,30 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1018
1433
|
labelClass: { default: () => ({}) }
|
|
1019
1434
|
},
|
|
1020
1435
|
setup(e) {
|
|
1021
|
-
return (
|
|
1022
|
-
class:
|
|
1436
|
+
return (n, t) => (l(), i("div", {
|
|
1437
|
+
class: p(["flex flex-col gap-2", e.customClass])
|
|
1023
1438
|
}, [
|
|
1024
|
-
e.label ? (l(),
|
|
1439
|
+
e.label ? (l(), i("label", {
|
|
1025
1440
|
key: 0,
|
|
1026
1441
|
for: e.htmlFor,
|
|
1027
|
-
class:
|
|
1028
|
-
},
|
|
1029
|
-
|
|
1442
|
+
class: p(["text-sm font-medium text-primary dark:text-primary-dark", e.labelClass])
|
|
1443
|
+
}, I(e.label), 11, Aa)) : g("", !0),
|
|
1444
|
+
A(n.$slots, "default", {}, void 0, !0)
|
|
1030
1445
|
], 2));
|
|
1031
1446
|
}
|
|
1032
|
-
}),
|
|
1447
|
+
}), Sa = /* @__PURE__ */ Q(Ma, [["__scopeId", "data-v-c0d9d9cb"]]), Ta = /* @__PURE__ */ z({
|
|
1033
1448
|
__name: "ListCard",
|
|
1034
1449
|
props: {
|
|
1035
1450
|
clickable: { type: Boolean, default: !1 },
|
|
1036
1451
|
customClass: { default: () => ({}) }
|
|
1037
1452
|
},
|
|
1038
1453
|
emits: ["click"],
|
|
1039
|
-
setup(e, { emit:
|
|
1040
|
-
const t = e, a =
|
|
1454
|
+
setup(e, { emit: n }) {
|
|
1455
|
+
const t = e, a = n, o = () => {
|
|
1041
1456
|
t.clickable && a("click");
|
|
1042
1457
|
};
|
|
1043
|
-
return (
|
|
1044
|
-
class:
|
|
1458
|
+
return (s, u) => (l(), i("div", {
|
|
1459
|
+
class: p([
|
|
1045
1460
|
"flex items-center justify-between background p-3 rounded-vsk border border-vsk-primary/70 transition-colors duration-200",
|
|
1046
1461
|
{
|
|
1047
1462
|
"hover:bg-vsk-primary/5 cursor-pointer": t.clickable
|
|
@@ -1050,13 +1465,13 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1050
1465
|
]),
|
|
1051
1466
|
onClick: o
|
|
1052
1467
|
}, [
|
|
1053
|
-
|
|
1468
|
+
A(s.$slots, "default", {}, void 0, !0)
|
|
1054
1469
|
], 2));
|
|
1055
1470
|
}
|
|
1056
|
-
}),
|
|
1471
|
+
}), Ia = /* @__PURE__ */ Q(Ta, [["__scopeId", "data-v-f86d47da"]]), Oa = { class: "background rounded-corner flex flex-row items-center gap-2 justify-between w-full h-auto p-4 transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80" }, ja = ["src", "alt", "title"], Va = {
|
|
1057
1472
|
key: 1,
|
|
1058
1473
|
class: "w-8 h-8 flex items-center justify-center"
|
|
1059
|
-
},
|
|
1474
|
+
}, Pa = ["src", "alt"], Fa = ["min", "max", "value"], Na = /* @__PURE__ */ z({
|
|
1060
1475
|
__name: "SliderControl",
|
|
1061
1476
|
props: {
|
|
1062
1477
|
icon: {},
|
|
@@ -1070,50 +1485,50 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1070
1485
|
getPercentageClass: { type: Function, default: () => "" }
|
|
1071
1486
|
},
|
|
1072
1487
|
emits: ["update:modelValue", "buttonClick"],
|
|
1073
|
-
setup(e, { emit:
|
|
1074
|
-
const t = e, a =
|
|
1488
|
+
setup(e, { emit: n }) {
|
|
1489
|
+
const t = e, a = n, o = x(() => {
|
|
1075
1490
|
if (t.max <= t.min) return 0;
|
|
1076
|
-
const
|
|
1077
|
-
return Math.round(
|
|
1078
|
-
}),
|
|
1079
|
-
const
|
|
1080
|
-
a("update:modelValue", Number(
|
|
1081
|
-
},
|
|
1491
|
+
const c = t.max - t.min, b = t.modelValue - t.min;
|
|
1492
|
+
return Math.round(b / c * 100);
|
|
1493
|
+
}), s = x(() => t.getPercentageClass ? t.getPercentageClass(o.value) : ""), u = (c) => {
|
|
1494
|
+
const b = c.target;
|
|
1495
|
+
a("update:modelValue", Number(b.value));
|
|
1496
|
+
}, r = () => {
|
|
1082
1497
|
a("buttonClick");
|
|
1083
1498
|
};
|
|
1084
|
-
return (
|
|
1085
|
-
e.showButton ? (l(),
|
|
1499
|
+
return (c, b) => (l(), i("div", Oa, [
|
|
1500
|
+
e.showButton ? (l(), i("button", {
|
|
1086
1501
|
key: 0,
|
|
1087
|
-
onClick:
|
|
1502
|
+
onClick: r,
|
|
1088
1503
|
class: "w-8 h-8 flex items-center justify-center rounded-corner transition-all duration-200 hover:bg-ui-surface/80 dark:hover:bg-ui-surface-dark/80 hover:scale-110 active:scale-95"
|
|
1089
1504
|
}, [
|
|
1090
|
-
|
|
1505
|
+
C("img", {
|
|
1091
1506
|
src: e.icon,
|
|
1092
1507
|
alt: e.alt,
|
|
1093
1508
|
title: e.tooltip,
|
|
1094
|
-
class:
|
|
1095
|
-
}, null, 10,
|
|
1096
|
-
])) : (l(),
|
|
1097
|
-
|
|
1509
|
+
class: p(["w-6 h-6 transition-all duration-200", e.iconClass])
|
|
1510
|
+
}, null, 10, ja)
|
|
1511
|
+
])) : (l(), i("div", Va, [
|
|
1512
|
+
C("img", {
|
|
1098
1513
|
src: e.icon,
|
|
1099
1514
|
alt: e.alt,
|
|
1100
1515
|
class: "w-6 h-6 transition-all duration-200"
|
|
1101
|
-
}, null, 8,
|
|
1516
|
+
}, null, 8, Pa)
|
|
1102
1517
|
])),
|
|
1103
|
-
|
|
1518
|
+
C("input", {
|
|
1104
1519
|
type: "range",
|
|
1105
1520
|
min: e.min,
|
|
1106
1521
|
max: e.max,
|
|
1107
1522
|
value: e.modelValue,
|
|
1108
|
-
onInput:
|
|
1523
|
+
onInput: u,
|
|
1109
1524
|
class: "flex-1 transition-all duration-200 hover:scale-105"
|
|
1110
|
-
}, null, 40,
|
|
1111
|
-
|
|
1112
|
-
class:
|
|
1113
|
-
},
|
|
1525
|
+
}, null, 40, Fa),
|
|
1526
|
+
C("span", {
|
|
1527
|
+
class: p(["w-12 text-right transition-all duration-200 font-medium", s.value])
|
|
1528
|
+
}, I(o.value) + "% ", 3)
|
|
1114
1529
|
]));
|
|
1115
1530
|
}
|
|
1116
|
-
}),
|
|
1531
|
+
}), Ra = ["disabled"], qa = /* @__PURE__ */ z({
|
|
1117
1532
|
__name: "SwitchToggle",
|
|
1118
1533
|
props: {
|
|
1119
1534
|
isOn: { type: Boolean },
|
|
@@ -1124,15 +1539,15 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1124
1539
|
customClass: { default: "" }
|
|
1125
1540
|
},
|
|
1126
1541
|
emits: ["toggle"],
|
|
1127
|
-
setup(e, { emit:
|
|
1128
|
-
const t = e, a =
|
|
1542
|
+
setup(e, { emit: n }) {
|
|
1543
|
+
const t = e, a = n, o = () => {
|
|
1129
1544
|
a("toggle", !t.isOn);
|
|
1130
1545
|
};
|
|
1131
|
-
return (
|
|
1546
|
+
return (s, u) => (l(), i("button", {
|
|
1132
1547
|
type: "button",
|
|
1133
1548
|
onClick: o,
|
|
1134
1549
|
disabled: e.disabled,
|
|
1135
|
-
class:
|
|
1550
|
+
class: p([
|
|
1136
1551
|
"relative inline-flex items-center rounded-full transition-colors",
|
|
1137
1552
|
e.size === "small" ? "h-6 w-11" : "h-7 w-12",
|
|
1138
1553
|
e.isOn ? e.activeClass : e.inactiveClass,
|
|
@@ -1140,16 +1555,16 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1140
1555
|
e.customClass
|
|
1141
1556
|
])
|
|
1142
1557
|
}, [
|
|
1143
|
-
|
|
1144
|
-
class:
|
|
1558
|
+
C("span", {
|
|
1559
|
+
class: p([
|
|
1145
1560
|
"inline-block transform rounded-full bg-white shadow transition-transform",
|
|
1146
1561
|
e.size === "small" ? "h-4 w-4" : "h-6 w-6",
|
|
1147
1562
|
e.isOn ? e.size === "small" ? "translate-x-6" : "translate-x-5" : "translate-x-1"
|
|
1148
1563
|
])
|
|
1149
1564
|
}, null, 2)
|
|
1150
|
-
], 10,
|
|
1565
|
+
], 10, Ra));
|
|
1151
1566
|
}
|
|
1152
|
-
}),
|
|
1567
|
+
}), Ha = ["disabled"], Ua = ["src", "alt", "title"], Wa = /* @__PURE__ */ z({
|
|
1153
1568
|
__name: "ToggleControl",
|
|
1154
1569
|
props: {
|
|
1155
1570
|
icon: {},
|
|
@@ -1161,13 +1576,13 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1161
1576
|
customClass: { default: () => ({}) }
|
|
1162
1577
|
},
|
|
1163
1578
|
emits: ["click"],
|
|
1164
|
-
setup(e, { emit:
|
|
1165
|
-
const t =
|
|
1579
|
+
setup(e, { emit: n }) {
|
|
1580
|
+
const t = n, a = () => {
|
|
1166
1581
|
t("click");
|
|
1167
1582
|
};
|
|
1168
|
-
return (o,
|
|
1583
|
+
return (o, s) => (l(), i("button", {
|
|
1169
1584
|
onClick: a,
|
|
1170
|
-
class:
|
|
1585
|
+
class: p(["p-2 rounded-corner background hover:opacity-50 transition-all duration-300 h-17.5 w-17.5 group relative overflow-hidden hover:scale-105 hover:shadow-lg active:scale-95", {
|
|
1171
1586
|
"animate-pulse": e.isLoading,
|
|
1172
1587
|
"ring-2 ring-primary dark:ring-primary-dark": e.isActive,
|
|
1173
1588
|
"opacity-60": !e.isActive,
|
|
@@ -1175,23 +1590,23 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1175
1590
|
}]),
|
|
1176
1591
|
disabled: e.isLoading
|
|
1177
1592
|
}, [
|
|
1178
|
-
|
|
1593
|
+
C("img", {
|
|
1179
1594
|
src: e.icon,
|
|
1180
1595
|
alt: e.alt,
|
|
1181
1596
|
title: e.tooltip,
|
|
1182
|
-
class:
|
|
1597
|
+
class: p(["m-auto w-12.5 h-12.5 transition-all duration-300 group-hover:scale-110 relative z-10", {
|
|
1183
1598
|
"animate-spin": e.isLoading,
|
|
1184
1599
|
"filter brightness-75": !e.isActive,
|
|
1185
1600
|
"drop-shadow-lg": e.isActive,
|
|
1186
1601
|
...e.iconClass
|
|
1187
1602
|
}])
|
|
1188
|
-
}, null, 10,
|
|
1189
|
-
], 10,
|
|
1603
|
+
}, null, 10, Ua)
|
|
1604
|
+
], 10, Ha));
|
|
1190
1605
|
}
|
|
1191
|
-
}),
|
|
1606
|
+
}), Ka = ["title"], Ga = ["src", "alt"], Xa = {
|
|
1192
1607
|
key: 0,
|
|
1193
1608
|
class: "absolute bottom-1 right-1 bg-primary dark:bg-primary-dark text-white text-xs rounded-full w-4 h-4 flex items-center justify-center font-bold animate-bounce"
|
|
1194
|
-
},
|
|
1609
|
+
}, Ya = /* @__PURE__ */ z({
|
|
1195
1610
|
__name: "TrayIconButton",
|
|
1196
1611
|
props: {
|
|
1197
1612
|
icon: {},
|
|
@@ -1205,91 +1620,106 @@ const gt = ["title", "aria-label"], yt = ["title", "aria-label"], ht = ["title",
|
|
|
1205
1620
|
customTooltipText: { default: "" }
|
|
1206
1621
|
},
|
|
1207
1622
|
emits: ["click"],
|
|
1208
|
-
setup(e, { emit:
|
|
1209
|
-
const t =
|
|
1623
|
+
setup(e, { emit: n }) {
|
|
1624
|
+
const t = n, a = w(!1), o = () => {
|
|
1210
1625
|
t("click");
|
|
1211
1626
|
};
|
|
1212
|
-
return (
|
|
1213
|
-
class:
|
|
1627
|
+
return (s, u) => (l(), i("div", {
|
|
1628
|
+
class: p(["p-1 rounded-corner relative hover:bg-primary dark:hover:bg-primary-dark group transition-all duration-300", e.customClass]),
|
|
1214
1629
|
title: e.tooltip,
|
|
1215
1630
|
onClick: o,
|
|
1216
|
-
onMouseenter:
|
|
1217
|
-
onMouseleave:
|
|
1631
|
+
onMouseenter: u[0] || (u[0] = (r) => a.value = !0),
|
|
1632
|
+
onMouseleave: u[1] || (u[1] = (r) => a.value = !1)
|
|
1218
1633
|
}, [
|
|
1219
|
-
|
|
1634
|
+
C("img", {
|
|
1220
1635
|
src: e.icon,
|
|
1221
1636
|
alt: e.alt,
|
|
1222
|
-
class:
|
|
1223
|
-
}, null, 10,
|
|
1224
|
-
e.badge !== null && e.badge > 0 ? (l(),
|
|
1225
|
-
e.showCustomTooltip && e.customTooltipText ? (l(),
|
|
1637
|
+
class: p(["m-auto h-5.5 w-auto transition-all duration-300", e.iconClass])
|
|
1638
|
+
}, null, 10, Ga),
|
|
1639
|
+
e.badge !== null && e.badge > 0 ? (l(), i("div", Xa, I(e.badge), 1)) : g("", !0),
|
|
1640
|
+
e.showCustomTooltip && e.customTooltipText ? (l(), i("div", {
|
|
1226
1641
|
key: 1,
|
|
1227
|
-
class:
|
|
1642
|
+
class: p(["absolute top-1 left-1/2 transform -translate-x-1/2 text-xs font-semibold p-1 rounded-corner transition-all duration-300 pointer-events-none background", [
|
|
1228
1643
|
e.tooltipClass,
|
|
1229
1644
|
{
|
|
1230
1645
|
"opacity-0 -translate-y-2": !a.value,
|
|
1231
1646
|
"opacity-100 translate-y-0": a.value
|
|
1232
1647
|
}
|
|
1233
1648
|
]])
|
|
1234
|
-
},
|
|
1235
|
-
|
|
1236
|
-
], 42,
|
|
1649
|
+
}, I(e.customTooltipText), 3)) : g("", !0),
|
|
1650
|
+
A(s.$slots, "default")
|
|
1651
|
+
], 42, Ka));
|
|
1237
1652
|
}
|
|
1238
|
-
}),
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
ut,
|
|
1243
|
-
M,
|
|
1653
|
+
}), Ja = [
|
|
1654
|
+
yt,
|
|
1655
|
+
xe,
|
|
1656
|
+
he,
|
|
1244
1657
|
$t,
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
Pt,
|
|
1658
|
+
N,
|
|
1659
|
+
jt,
|
|
1660
|
+
$e,
|
|
1661
|
+
we,
|
|
1250
1662
|
Xt,
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1663
|
+
Ce,
|
|
1664
|
+
Zt,
|
|
1665
|
+
oa,
|
|
1254
1666
|
ra,
|
|
1255
|
-
ba,
|
|
1256
1667
|
ga,
|
|
1257
|
-
|
|
1258
|
-
wa
|
|
1259
|
-
|
|
1668
|
+
ha,
|
|
1669
|
+
wa,
|
|
1670
|
+
Ca,
|
|
1671
|
+
za,
|
|
1672
|
+
Ea,
|
|
1673
|
+
Ba,
|
|
1674
|
+
Sa,
|
|
1675
|
+
Ia,
|
|
1676
|
+
Na,
|
|
1677
|
+
qa,
|
|
1678
|
+
Wa,
|
|
1679
|
+
Ya
|
|
1680
|
+
], tn = {
|
|
1260
1681
|
install(e) {
|
|
1261
|
-
|
|
1262
|
-
e.component(
|
|
1682
|
+
Ja.forEach((n) => {
|
|
1683
|
+
e.component(n.name, n);
|
|
1263
1684
|
});
|
|
1264
1685
|
}
|
|
1265
1686
|
};
|
|
1266
1687
|
export {
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1688
|
+
oa as ActionButton,
|
|
1689
|
+
$e as AppBar,
|
|
1690
|
+
Zt as BarSearch,
|
|
1691
|
+
ze as CLAVE_DEL_MENU,
|
|
1692
|
+
le as CLAVE_DE_LA_BARRA,
|
|
1693
|
+
ra as ConfigSection,
|
|
1694
|
+
ga as DeviceCard,
|
|
1695
|
+
ha as DropdownMenu,
|
|
1696
|
+
wa as DropdownMenuContent,
|
|
1697
|
+
Ca as DropdownMenuItem,
|
|
1698
|
+
za as DropdownMenuLabel,
|
|
1699
|
+
Ea as DropdownMenuSeparator,
|
|
1700
|
+
Ba as DropdownMenuTrigger,
|
|
1701
|
+
Sa as FormGroup,
|
|
1702
|
+
oe as LOS_TRES_CONTROLES,
|
|
1703
|
+
Ia as ListCard,
|
|
1704
|
+
Ct as POSICIONES,
|
|
1705
|
+
$t as SelectField,
|
|
1706
|
+
yt as SideBar,
|
|
1707
|
+
xe as SideButton,
|
|
1708
|
+
he as SideGroup,
|
|
1709
|
+
Na as SliderControl,
|
|
1710
|
+
qa as SwitchToggle,
|
|
1711
|
+
Xt as TabBar,
|
|
1712
|
+
Ce as TabItem,
|
|
1713
|
+
N as ThemeIcon,
|
|
1714
|
+
Wa as ToggleControl,
|
|
1715
|
+
Ya as TrayIconButton,
|
|
1716
|
+
we as WindowControls,
|
|
1717
|
+
jt as WindowFrame,
|
|
1718
|
+
tn as default,
|
|
1719
|
+
zt as esPosicion,
|
|
1720
|
+
te as orientacionDe,
|
|
1721
|
+
Dt as posicionDe,
|
|
1722
|
+
Z as usarElMenu,
|
|
1723
|
+
X as usarLaBarra,
|
|
1724
|
+
Bt as usarLaPosicionDeLaBarra
|
|
1295
1725
|
};
|