@iaclinical/components 1.0.4 → 1.0.6
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/README.md +39 -1
- package/dist/fonts/Poppins-Black.woff2 +0 -0
- package/dist/fonts/Poppins-BlackItalic.woff2 +0 -0
- package/dist/fonts/Poppins-Bold.woff2 +0 -0
- package/dist/fonts/Poppins-BoldItalic.woff2 +0 -0
- package/dist/fonts/Poppins-ExtraBold.woff2 +0 -0
- package/dist/fonts/Poppins-ExtraBoldItalic.woff2 +0 -0
- package/dist/fonts/Poppins-ExtraLight.woff2 +0 -0
- package/dist/fonts/Poppins-ExtraLightItalic.woff2 +0 -0
- package/dist/fonts/Poppins-Italic.woff2 +0 -0
- package/dist/fonts/Poppins-Light.woff2 +0 -0
- package/dist/fonts/Poppins-LightItalic.woff2 +0 -0
- package/dist/fonts/Poppins-Medium.woff2 +0 -0
- package/dist/fonts/Poppins-MediumItalic.woff2 +0 -0
- package/dist/fonts/Poppins-Regular.woff2 +0 -0
- package/dist/fonts/Poppins-SemiBold.woff2 +0 -0
- package/dist/fonts/Poppins-SemiBoldItalic.woff2 +0 -0
- package/dist/fonts/Poppins-Thin.woff2 +0 -0
- package/dist/fonts/Poppins-ThinItalic.woff2 +0 -0
- package/dist/iaclinical-components.cjs +1 -1
- package/dist/iaclinical-components.js +250 -240
- package/dist/style.css +1 -1
- package/package.json +2 -1
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
import { defineComponent as L, computed as g, createElementBlock as o, openBlock as s, normalizeClass as v, createElementVNode as a, createCommentVNode as
|
|
1
|
+
import { defineComponent as L, computed as g, createElementBlock as o, openBlock as s, normalizeClass as v, createElementVNode as a, createCommentVNode as c, renderSlot as C, toDisplayString as $, createBlock as q, Teleport as X, createVNode as G, Transition as Q, withCtx as U, withModifiers as I, createTextVNode as A, ref as V, normalizeStyle as P, onMounted as ee, onUnmounted as te, watch as Y, nextTick as J, Fragment as E, renderList as W, resolveDynamicComponent as Z, withDirectives as se, vModelText as oe } from "vue";
|
|
2
2
|
const le = { class: "flex items-center gap-4" }, ae = {
|
|
3
3
|
key: 1,
|
|
4
4
|
class: "text-lg font-bold text-primary-50 font-poppins"
|
|
5
|
-
}, ne = { class: "flex-1 flex justify-center" }, re = {
|
|
5
|
+
}, ne = { class: "flex-1 flex justify-center" }, re = {
|
|
6
|
+
key: 0,
|
|
7
|
+
class: "text-lg font-bold text-primary-50 font-poppins"
|
|
8
|
+
}, ie = { class: "flex items-center gap-3" }, de = {
|
|
9
|
+
key: 0,
|
|
10
|
+
class: "text-lg font-bold text-primary-50 font-poppins"
|
|
11
|
+
}, ue = /* @__PURE__ */ L({
|
|
6
12
|
__name: "AppBar",
|
|
7
13
|
props: {
|
|
8
14
|
title: { default: "" },
|
|
15
|
+
titlePosition: { default: "left" },
|
|
9
16
|
showMenuButton: { type: Boolean, default: !0 },
|
|
10
17
|
variant: { default: "default" },
|
|
11
18
|
sticky: { type: Boolean, default: !0 },
|
|
@@ -19,7 +26,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
19
26
|
default: "bg-primary-700 text-primary-50",
|
|
20
27
|
dark: "bg-secondary-900 text-white",
|
|
21
28
|
light: "bg-white text-secondary-900 border-b border-secondary-200"
|
|
22
|
-
},
|
|
29
|
+
}, f = {
|
|
23
30
|
sm: "h-12",
|
|
24
31
|
md: "h-14",
|
|
25
32
|
lg: "h-16"
|
|
@@ -27,7 +34,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
27
34
|
return [
|
|
28
35
|
d,
|
|
29
36
|
r[e.variant],
|
|
30
|
-
|
|
37
|
+
f[e.height],
|
|
31
38
|
i,
|
|
32
39
|
x
|
|
33
40
|
].join(" ");
|
|
@@ -38,7 +45,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
38
45
|
a("div", le, [
|
|
39
46
|
t.showMenuButton ? (s(), o("button", {
|
|
40
47
|
key: 0,
|
|
41
|
-
onClick: r[0] || (r[0] = (
|
|
48
|
+
onClick: r[0] || (r[0] = (f) => u("toggle-menu")),
|
|
42
49
|
class: "p-2 hover:bg-primary-600 rounded-md transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
|
|
43
50
|
"aria-label": "Toggle menu"
|
|
44
51
|
}, [...r[1] || (r[1] = [
|
|
@@ -56,27 +63,29 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
56
63
|
d: "M4 6h16M4 12h16M4 18h16"
|
|
57
64
|
})
|
|
58
65
|
], -1)
|
|
59
|
-
])])) :
|
|
60
|
-
t.title ? (s(), o("div", ae,
|
|
61
|
-
|
|
66
|
+
])])) : c("", !0),
|
|
67
|
+
t.title && t.titlePosition === "left" ? (s(), o("div", ae, $(t.title), 1)) : c("", !0),
|
|
68
|
+
C(d.$slots, "left", {}, void 0, !0)
|
|
62
69
|
]),
|
|
63
70
|
a("div", ne, [
|
|
64
|
-
|
|
71
|
+
t.title && t.titlePosition === "center" ? (s(), o("div", re, $(t.title), 1)) : c("", !0),
|
|
72
|
+
C(d.$slots, "center", {}, void 0, !0)
|
|
65
73
|
]),
|
|
66
|
-
a("div",
|
|
67
|
-
|
|
74
|
+
a("div", ie, [
|
|
75
|
+
t.title && t.titlePosition === "right" ? (s(), o("div", de, $(t.title), 1)) : c("", !0),
|
|
76
|
+
C(d.$slots, "right", {}, void 0, !0)
|
|
68
77
|
])
|
|
69
78
|
], 2));
|
|
70
79
|
}
|
|
71
|
-
}),
|
|
80
|
+
}), K = (t, y) => {
|
|
72
81
|
const e = t.__vccOpts || t;
|
|
73
82
|
for (const [u, n] of y)
|
|
74
83
|
e[u] = n;
|
|
75
84
|
return e;
|
|
76
|
-
},
|
|
85
|
+
}, Ft = /* @__PURE__ */ K(ue, [["__scopeId", "data-v-883474b5"]]), ce = ["type", "disabled", "aria-label"], fe = {
|
|
77
86
|
key: 0,
|
|
78
87
|
class: "absolute top-0 right-0 inline-flex items-center justify-center px-1.5 py-0.5 text-xs font-bold leading-none text-white transform translate-x-1/2 -translate-y-1/2 bg-danger-600 rounded-full min-w-[1.25rem]"
|
|
79
|
-
},
|
|
88
|
+
}, Pt = /* @__PURE__ */ L({
|
|
80
89
|
__name: "Button",
|
|
81
90
|
props: {
|
|
82
91
|
variant: { default: "primary" },
|
|
@@ -96,7 +105,8 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
96
105
|
outline: "border border-secondary-300 bg-transparent hover:bg-secondary-100 focus-visible:ring-secondary-500",
|
|
97
106
|
ghost: "hover:bg-secondary-100 focus-visible:ring-secondary-500",
|
|
98
107
|
danger: "bg-danger-600 text-white hover:bg-danger-700 focus-visible:ring-danger-600",
|
|
99
|
-
icon: "hover:bg-secondary-100 focus-visible:ring-secondary-500 relative"
|
|
108
|
+
icon: "hover:bg-secondary-100 focus-visible:ring-secondary-500 relative",
|
|
109
|
+
text: "bg-transparent border-0 focus-visible:ring-0 focus-visible:ring-offset-0"
|
|
100
110
|
}, m = {
|
|
101
111
|
sm: n.value ? "p-1.5" : "h-8 px-3 text-sm",
|
|
102
112
|
md: n.value ? "p-2" : "h-10 px-4 text-base",
|
|
@@ -110,27 +120,27 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
110
120
|
none: "rounded-none"
|
|
111
121
|
};
|
|
112
122
|
return `${i} ${x[e.variant]} ${m[e.size]} ${j[e.radius]}`;
|
|
113
|
-
}),
|
|
123
|
+
}), f = (i) => {
|
|
114
124
|
e.disabled || u("click", i);
|
|
115
125
|
};
|
|
116
126
|
return (i, x) => (s(), o("button", {
|
|
117
127
|
class: v(r.value),
|
|
118
128
|
type: t.type,
|
|
119
129
|
disabled: t.disabled,
|
|
120
|
-
onClick:
|
|
130
|
+
onClick: f,
|
|
121
131
|
"aria-label": t.ariaLabel
|
|
122
132
|
}, [
|
|
123
|
-
|
|
124
|
-
n.value && t.badge && t.badge > 0 ? (s(), o("span",
|
|
125
|
-
], 10,
|
|
133
|
+
C(i.$slots, "default"),
|
|
134
|
+
n.value && t.badge && t.badge > 0 ? (s(), o("span", fe, $(d.value), 1)) : c("", !0)
|
|
135
|
+
], 10, ce));
|
|
126
136
|
}
|
|
127
|
-
}),
|
|
137
|
+
}), pe = {
|
|
128
138
|
key: 0,
|
|
129
139
|
class: "border-b border-gray-100 px-6 py-4"
|
|
130
|
-
},
|
|
140
|
+
}, ge = { class: "px-6 py-4" }, he = {
|
|
131
141
|
key: 1,
|
|
132
142
|
class: "border-t border-gray-100 px-6 py-4 bg-gray-50"
|
|
133
|
-
},
|
|
143
|
+
}, Wt = /* @__PURE__ */ L({
|
|
134
144
|
__name: "Card",
|
|
135
145
|
props: {
|
|
136
146
|
shadow: { default: "md" },
|
|
@@ -160,21 +170,21 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
160
170
|
return (d, r) => (s(), o("div", {
|
|
161
171
|
class: v(n.value)
|
|
162
172
|
}, [
|
|
163
|
-
d.$slots.header ? (s(), o("div",
|
|
164
|
-
|
|
165
|
-
])) :
|
|
166
|
-
a("div",
|
|
167
|
-
|
|
173
|
+
d.$slots.header ? (s(), o("div", pe, [
|
|
174
|
+
C(d.$slots, "header")
|
|
175
|
+
])) : c("", !0),
|
|
176
|
+
a("div", ge, [
|
|
177
|
+
C(d.$slots, "default")
|
|
168
178
|
]),
|
|
169
|
-
d.$slots.footer ? (s(), o("div",
|
|
170
|
-
|
|
171
|
-
])) :
|
|
179
|
+
d.$slots.footer ? (s(), o("div", he, [
|
|
180
|
+
C(d.$slots, "footer")
|
|
181
|
+
])) : c("", !0)
|
|
172
182
|
], 2));
|
|
173
183
|
}
|
|
174
|
-
}),
|
|
184
|
+
}), be = { class: "flex items-center justify-between border-b border-gray-100 px-8 py-6" }, ve = { class: "text-xl font-semibold text-gray-900" }, ye = { class: "px-8 py-6" }, xe = {
|
|
175
185
|
key: 0,
|
|
176
186
|
class: "border-t border-gray-100 px-8 py-6 bg-gray-50"
|
|
177
|
-
},
|
|
187
|
+
}, me = /* @__PURE__ */ L({
|
|
178
188
|
__name: "Dialog",
|
|
179
189
|
props: {
|
|
180
190
|
modelValue: { type: Boolean, default: !1 },
|
|
@@ -185,13 +195,13 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
185
195
|
setup(t, { emit: y }) {
|
|
186
196
|
const e = t, u = y, n = g({
|
|
187
197
|
get: () => e.modelValue,
|
|
188
|
-
set: (
|
|
198
|
+
set: (f) => u("update:modelValue", f)
|
|
189
199
|
}), d = () => {
|
|
190
200
|
n.value = !1;
|
|
191
201
|
}, r = () => {
|
|
192
202
|
e.closeOnBackdrop && d();
|
|
193
203
|
};
|
|
194
|
-
return (
|
|
204
|
+
return (f, i) => (s(), q(X, { to: "body" }, [
|
|
195
205
|
G(Q, { name: "dialog" }, {
|
|
196
206
|
default: U(() => [
|
|
197
207
|
n.value ? (s(), o("div", {
|
|
@@ -204,10 +214,10 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
204
214
|
onClick: i[0] || (i[0] = I(() => {
|
|
205
215
|
}, ["stop"]))
|
|
206
216
|
}, [
|
|
207
|
-
a("div",
|
|
208
|
-
a("h2",
|
|
209
|
-
|
|
210
|
-
|
|
217
|
+
a("div", be, [
|
|
218
|
+
a("h2", ve, [
|
|
219
|
+
C(f.$slots, "title", {}, () => [
|
|
220
|
+
A($(t.title), 1)
|
|
211
221
|
], !0)
|
|
212
222
|
]),
|
|
213
223
|
a("button", {
|
|
@@ -231,32 +241,32 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
231
241
|
], -1)
|
|
232
242
|
])])
|
|
233
243
|
]),
|
|
234
|
-
a("div",
|
|
235
|
-
|
|
244
|
+
a("div", ye, [
|
|
245
|
+
C(f.$slots, "default", {}, void 0, !0)
|
|
236
246
|
]),
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
])) :
|
|
247
|
+
f.$slots.footer ? (s(), o("div", xe, [
|
|
248
|
+
C(f.$slots, "footer", {}, void 0, !0)
|
|
249
|
+
])) : c("", !0)
|
|
240
250
|
])
|
|
241
|
-
])) :
|
|
251
|
+
])) : c("", !0)
|
|
242
252
|
]),
|
|
243
253
|
_: 3
|
|
244
254
|
})
|
|
245
255
|
]));
|
|
246
256
|
}
|
|
247
|
-
}),
|
|
257
|
+
}), At = /* @__PURE__ */ K(me, [["__scopeId", "data-v-091e8739"]]), ke = ["accept", "multiple", "disabled"], we = { class: "flex flex-col items-center justify-center gap-4 text-center" }, $e = { class: "w-32 h-32 flex items-center justify-center" }, Ce = ["src", "alt"], Be = {
|
|
248
258
|
key: 1,
|
|
249
259
|
class: "w-full h-full text-gray-400",
|
|
250
260
|
fill: "none",
|
|
251
261
|
stroke: "currentColor",
|
|
252
262
|
viewBox: "0 0 24 24"
|
|
253
|
-
},
|
|
263
|
+
}, _e = { class: "text-center" }, Te = { class: "text-base font-medium text-gray-700" }, Me = { class: "text-primary-700" }, ze = { class: "flex items-center gap-3 flex-1 min-w-0" }, Ve = { class: "flex-1 min-w-0" }, je = { class: "text-sm font-medium text-gray-900 truncate" }, Le = { class: "text-xs text-gray-500" }, Se = {
|
|
254
264
|
key: 1,
|
|
255
265
|
class: "text-xs text-gray-500 mt-2"
|
|
256
|
-
},
|
|
266
|
+
}, De = {
|
|
257
267
|
key: 2,
|
|
258
268
|
class: "text-sm text-danger-500 mt-2"
|
|
259
|
-
},
|
|
269
|
+
}, Kt = /* @__PURE__ */ L({
|
|
260
270
|
__name: "FileUpload",
|
|
261
271
|
props: {
|
|
262
272
|
modelValue: { default: null },
|
|
@@ -272,7 +282,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
272
282
|
},
|
|
273
283
|
emits: ["update:modelValue", "change", "error"],
|
|
274
284
|
setup(t, { emit: y }) {
|
|
275
|
-
const e = t, u = y, n = V(null), d = V(!1), r = V(e.modelValue),
|
|
285
|
+
const e = t, u = y, n = V(null), d = V(!1), r = V(e.modelValue), f = V(""), i = () => {
|
|
276
286
|
var B;
|
|
277
287
|
(B = n.value) == null || B.click();
|
|
278
288
|
}, x = () => {
|
|
@@ -282,9 +292,9 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
282
292
|
}, j = () => {
|
|
283
293
|
d.value = !1;
|
|
284
294
|
}, D = (B) => {
|
|
285
|
-
if (
|
|
295
|
+
if (f.value = "", e.maxSize && B.size > e.maxSize) {
|
|
286
296
|
const b = (e.maxSize / 1048576).toFixed(2);
|
|
287
|
-
return
|
|
297
|
+
return f.value = `El archivo excede el tamaño máximo de ${b}MB`, u("error", f.value), !1;
|
|
288
298
|
}
|
|
289
299
|
return !0;
|
|
290
300
|
}, _ = (B) => {
|
|
@@ -297,7 +307,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
297
307
|
const b = (T = B.dataTransfer) == null ? void 0 : T.files[0];
|
|
298
308
|
b && D(b) && (r.value = b, u("update:modelValue", b), u("change", b));
|
|
299
309
|
}, H = () => {
|
|
300
|
-
r.value = null,
|
|
310
|
+
r.value = null, f.value = "", n.value && (n.value.value = ""), u("update:modelValue", null), u("change", null);
|
|
301
311
|
}, F = (B) => {
|
|
302
312
|
if (B === 0) return "0 Bytes";
|
|
303
313
|
const b = 1024, T = ["Bytes", "KB", "MB", "GB"], S = Math.floor(Math.log(B) / Math.log(b));
|
|
@@ -322,15 +332,15 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
322
332
|
disabled: t.disabled,
|
|
323
333
|
class: "hidden",
|
|
324
334
|
onChange: _
|
|
325
|
-
}, null, 40,
|
|
326
|
-
a("div",
|
|
327
|
-
a("div",
|
|
335
|
+
}, null, 40, ke),
|
|
336
|
+
a("div", we, [
|
|
337
|
+
a("div", $e, [
|
|
328
338
|
t.illustration ? (s(), o("img", {
|
|
329
339
|
key: 0,
|
|
330
340
|
src: t.illustration,
|
|
331
341
|
alt: t.illustrationAlt,
|
|
332
342
|
class: "max-w-full max-h-full object-contain"
|
|
333
|
-
}, null, 8,
|
|
343
|
+
}, null, 8, Ce)) : (s(), o("svg", Be, [...b[1] || (b[1] = [
|
|
334
344
|
a("path", {
|
|
335
345
|
"stroke-linecap": "round",
|
|
336
346
|
"stroke-linejoin": "round",
|
|
@@ -339,10 +349,10 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
339
349
|
}, null, -1)
|
|
340
350
|
])]))
|
|
341
351
|
]),
|
|
342
|
-
a("div",
|
|
343
|
-
a("p",
|
|
344
|
-
|
|
345
|
-
a("span",
|
|
352
|
+
a("div", _e, [
|
|
353
|
+
a("p", Te, [
|
|
354
|
+
A($(t.mainText) + " ", 1),
|
|
355
|
+
a("span", Me, $(t.linkText), 1)
|
|
346
356
|
])
|
|
347
357
|
]),
|
|
348
358
|
r.value ? (s(), o("div", {
|
|
@@ -351,7 +361,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
351
361
|
onClick: b[0] || (b[0] = I(() => {
|
|
352
362
|
}, ["stop"]))
|
|
353
363
|
}, [
|
|
354
|
-
a("div",
|
|
364
|
+
a("div", ze, [
|
|
355
365
|
b[2] || (b[2] = a("svg", {
|
|
356
366
|
class: "w-6 h-6 text-gray-600 flex-shrink-0",
|
|
357
367
|
fill: "none",
|
|
@@ -365,12 +375,12 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
365
375
|
d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
|
|
366
376
|
})
|
|
367
377
|
], -1)),
|
|
368
|
-
a("div",
|
|
369
|
-
a("p",
|
|
370
|
-
a("p",
|
|
378
|
+
a("div", Ve, [
|
|
379
|
+
a("p", je, $(r.value.name), 1),
|
|
380
|
+
a("p", Le, $(F(r.value.size)), 1)
|
|
371
381
|
])
|
|
372
382
|
]),
|
|
373
|
-
t.disabled ?
|
|
383
|
+
t.disabled ? c("", !0) : (s(), o("button", {
|
|
374
384
|
key: 0,
|
|
375
385
|
onClick: I(H, ["stop"]),
|
|
376
386
|
class: "ml-3 text-gray-400 hover:text-danger-500 transition-colors"
|
|
@@ -387,16 +397,16 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
387
397
|
})
|
|
388
398
|
], -1)
|
|
389
399
|
])]))
|
|
390
|
-
])) :
|
|
391
|
-
t.helperText ? (s(), o("p",
|
|
392
|
-
|
|
400
|
+
])) : c("", !0),
|
|
401
|
+
t.helperText ? (s(), o("p", Se, $(t.helperText), 1)) : c("", !0),
|
|
402
|
+
f.value ? (s(), o("p", De, $(f.value), 1)) : c("", !0)
|
|
393
403
|
])
|
|
394
404
|
], 34));
|
|
395
405
|
}
|
|
396
|
-
}),
|
|
406
|
+
}), Oe = ["stroke-width"], Ie = {
|
|
397
407
|
class: "w-full h-full rounded-lg overflow-hidden",
|
|
398
408
|
style: { "background-color": "#f7f7f7" }
|
|
399
|
-
},
|
|
409
|
+
}, Ee = /* @__PURE__ */ L({
|
|
400
410
|
__name: "Loader",
|
|
401
411
|
props: {
|
|
402
412
|
type: { default: "circular" },
|
|
@@ -422,13 +432,13 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
422
432
|
danger: "bg-danger-500",
|
|
423
433
|
info: "bg-info-500"
|
|
424
434
|
}, n = g(() => [e[y.color]]), d = g(() => [u[y.color]]);
|
|
425
|
-
return (r,
|
|
435
|
+
return (r, f) => t.type === "circular" ? (s(), o("div", {
|
|
426
436
|
key: 0,
|
|
427
437
|
class: v(n.value)
|
|
428
438
|
}, [
|
|
429
439
|
(s(), o("svg", {
|
|
430
440
|
class: "animate-spin",
|
|
431
|
-
style:
|
|
441
|
+
style: P({ width: t.size, height: t.size }),
|
|
432
442
|
viewBox: "0 0 24 24"
|
|
433
443
|
}, [
|
|
434
444
|
a("circle", {
|
|
@@ -439,8 +449,8 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
439
449
|
stroke: "currentColor",
|
|
440
450
|
"stroke-width": t.strokeWidth,
|
|
441
451
|
fill: "none"
|
|
442
|
-
}, null, 8,
|
|
443
|
-
|
|
452
|
+
}, null, 8, Oe),
|
|
453
|
+
f[0] || (f[0] = a("path", {
|
|
444
454
|
class: "opacity-75",
|
|
445
455
|
fill: "currentColor",
|
|
446
456
|
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
@@ -449,32 +459,32 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
449
459
|
], 2)) : t.type === "linear" ? (s(), o("div", {
|
|
450
460
|
key: 1,
|
|
451
461
|
class: "w-full",
|
|
452
|
-
style:
|
|
462
|
+
style: P({ height: t.height })
|
|
453
463
|
}, [
|
|
454
|
-
a("div",
|
|
464
|
+
a("div", Ie, [
|
|
455
465
|
a("div", {
|
|
456
466
|
class: v([d.value, "h-full rounded-lg animate-linear-loader"]),
|
|
457
|
-
style:
|
|
467
|
+
style: P({ width: t.progress ? `${t.progress}%` : void 0 })
|
|
458
468
|
}, null, 6)
|
|
459
469
|
])
|
|
460
|
-
], 4)) :
|
|
470
|
+
], 4)) : c("", !0);
|
|
461
471
|
}
|
|
462
|
-
}),
|
|
472
|
+
}), Rt = /* @__PURE__ */ K(Ee, [["__scopeId", "data-v-8df4ec38"]]), He = ["disabled", "aria-expanded"], Fe = ["disabled", "onClick"], Pe = {
|
|
463
473
|
key: 0,
|
|
464
474
|
class: "flex-shrink-0"
|
|
465
|
-
},
|
|
475
|
+
}, We = ["innerHTML"], Ae = { class: "flex-1 min-w-0 mr-2" }, Ke = { class: "flex flex-col items-start" }, Re = ["title"], Ne = ["title"], qe = {
|
|
466
476
|
key: 1,
|
|
467
477
|
class: "flex-shrink-0"
|
|
468
|
-
},
|
|
478
|
+
}, Ue = {
|
|
469
479
|
key: 0,
|
|
470
480
|
class: "text-xs text-secondary-400 font-mono whitespace-nowrap"
|
|
471
|
-
},
|
|
481
|
+
}, Ge = { key: 1 }, Qe = {
|
|
472
482
|
key: 2,
|
|
473
483
|
class: "w-4 h-4 ml-2 flex-shrink-0",
|
|
474
484
|
fill: "none",
|
|
475
485
|
stroke: "currentColor",
|
|
476
486
|
viewBox: "0 0 24 24"
|
|
477
|
-
},
|
|
487
|
+
}, Je = /* @__PURE__ */ L({
|
|
478
488
|
__name: "Menu",
|
|
479
489
|
props: {
|
|
480
490
|
items: { default: () => [] },
|
|
@@ -494,7 +504,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
494
504
|
},
|
|
495
505
|
emits: ["open", "close", "select"],
|
|
496
506
|
setup(t, { emit: y }) {
|
|
497
|
-
const e = t, u = y, n = V(!1), d = V(null), r = V(null),
|
|
507
|
+
const e = t, u = y, n = V(!1), d = V(null), r = V(null), f = V({}), i = g(() => [
|
|
498
508
|
"inline-flex items-center justify-center px-4 py-2 text-sm font-medium",
|
|
499
509
|
"bg-white border border-secondary-300 rounded-md",
|
|
500
510
|
"hover:bg-secondary-50 focus:outline-none focus:ring-2 focus:ring-primary-500",
|
|
@@ -509,33 +519,33 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
509
519
|
"w-full flex items-center gap-3 px-4 py-2 text-sm text-left",
|
|
510
520
|
"transition-colors focus:outline-none",
|
|
511
521
|
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
512
|
-
], p = l.variant || "default",
|
|
522
|
+
], p = l.variant || "default", R = {
|
|
513
523
|
default: "text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50",
|
|
514
524
|
danger: "text-danger-600 hover:bg-danger-50 focus:bg-danger-50",
|
|
515
525
|
success: "text-success-600 hover:bg-success-50 focus:bg-success-50",
|
|
516
526
|
warning: "text-warning-600 hover:bg-warning-50 focus:bg-warning-50"
|
|
517
527
|
};
|
|
518
|
-
return [...w,
|
|
528
|
+
return [...w, R[p]].join(" ");
|
|
519
529
|
}, F = () => {
|
|
520
530
|
e.disabled || (n.value ? b() : B());
|
|
521
531
|
}, B = () => {
|
|
522
532
|
n.value = !0, u("open"), J(() => {
|
|
523
|
-
k(), document.addEventListener("click", S), document.addEventListener("keydown",
|
|
533
|
+
k(), document.addEventListener("click", S), document.addEventListener("keydown", N);
|
|
524
534
|
});
|
|
525
535
|
}, b = () => {
|
|
526
|
-
n.value = !1, u("close"), document.removeEventListener("click", S), document.removeEventListener("keydown",
|
|
536
|
+
n.value = !1, u("close"), document.removeEventListener("click", S), document.removeEventListener("keydown", N);
|
|
527
537
|
}, T = (l) => {
|
|
528
538
|
l.disabled || (l.action && l.action(), u("select", l), e.closeOnClick && !l.children && b());
|
|
529
539
|
}, S = (l) => {
|
|
530
540
|
const w = l.target;
|
|
531
541
|
d.value && !d.value.contains(w) && r.value && !r.value.contains(w) && b();
|
|
532
|
-
},
|
|
542
|
+
}, N = (l) => {
|
|
533
543
|
l.key === "Escape" && b();
|
|
534
544
|
}, h = (l) => {
|
|
535
545
|
(l.key === "Enter" || l.key === " ") && (l.preventDefault(), F());
|
|
536
546
|
}, k = () => {
|
|
537
547
|
if (!d.value || !r.value) return;
|
|
538
|
-
const l = d.value.getBoundingClientRect(), w = r.value.getBoundingClientRect(), p = window.innerWidth,
|
|
548
|
+
const l = d.value.getBoundingClientRect(), w = r.value.getBoundingClientRect(), p = window.innerWidth, R = window.innerHeight;
|
|
539
549
|
let M = 0, z = 0;
|
|
540
550
|
switch (e.position) {
|
|
541
551
|
case "bottom-start":
|
|
@@ -563,7 +573,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
563
573
|
M = l.bottom - w.height + e.offset.y, z = l.left - w.width - e.offset.x;
|
|
564
574
|
break;
|
|
565
575
|
}
|
|
566
|
-
z + w.width > p && (z = p - w.width - 8), z < 8 && (z = 8), M + w.height >
|
|
576
|
+
z + w.width > p && (z = p - w.width - 8), z < 8 && (z = 8), M + w.height > R && (M = R - w.height - 8), M < 8 && (M = 8), f.value = {
|
|
567
577
|
top: `${M}px`,
|
|
568
578
|
left: `${z}px`,
|
|
569
579
|
width: e.width === "auto" ? `${Math.max(l.width, 240)}px` : e.width,
|
|
@@ -574,7 +584,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
574
584
|
return ee(() => {
|
|
575
585
|
window.addEventListener("scroll", k, !0), window.addEventListener("resize", k);
|
|
576
586
|
}), te(() => {
|
|
577
|
-
window.removeEventListener("scroll", k, !0), window.removeEventListener("resize", k), document.removeEventListener("click", S), document.removeEventListener("keydown",
|
|
587
|
+
window.removeEventListener("scroll", k, !0), window.removeEventListener("resize", k), document.removeEventListener("click", S), document.removeEventListener("keydown", N);
|
|
578
588
|
}), Y(() => e.items, () => {
|
|
579
589
|
n.value && J(k);
|
|
580
590
|
}, { deep: !0 }), (l, w) => (s(), o("div", {
|
|
@@ -584,7 +594,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
584
594
|
ref_key: "triggerRef",
|
|
585
595
|
ref: d
|
|
586
596
|
}, [
|
|
587
|
-
|
|
597
|
+
C(l.$slots, "trigger", {
|
|
588
598
|
isOpen: n.value,
|
|
589
599
|
toggle: F
|
|
590
600
|
}, () => [
|
|
@@ -599,8 +609,8 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
599
609
|
"aria-expanded": n.value,
|
|
600
610
|
"aria-haspopup": !0
|
|
601
611
|
}, [
|
|
602
|
-
|
|
603
|
-
|
|
612
|
+
C(l.$slots, "trigger-content", {}, () => [
|
|
613
|
+
A($(t.triggerText), 1)
|
|
604
614
|
], !0),
|
|
605
615
|
t.showChevron ? (s(), o("svg", {
|
|
606
616
|
key: 0,
|
|
@@ -615,17 +625,17 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
615
625
|
"stroke-width": "2",
|
|
616
626
|
d: "M19 9l-7 7-7-7"
|
|
617
627
|
}, null, -1)
|
|
618
|
-
])], 2)) :
|
|
619
|
-
], 42,
|
|
628
|
+
])], 2)) : c("", !0)
|
|
629
|
+
], 42, He)
|
|
620
630
|
], !0)
|
|
621
631
|
], 512),
|
|
622
|
-
(s(),
|
|
632
|
+
(s(), q(X, { to: "body" }, [
|
|
623
633
|
n.value ? (s(), o("div", {
|
|
624
634
|
key: 0,
|
|
625
635
|
ref_key: "menuRef",
|
|
626
636
|
ref: r,
|
|
627
637
|
class: v(x.value),
|
|
628
|
-
style:
|
|
638
|
+
style: P(f.value),
|
|
629
639
|
onClick: w[0] || (w[0] = I(() => {
|
|
630
640
|
}, ["stop"]))
|
|
631
641
|
}, [
|
|
@@ -633,17 +643,17 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
633
643
|
key: 0,
|
|
634
644
|
class: v(m.value)
|
|
635
645
|
}, [
|
|
636
|
-
|
|
637
|
-
], 2)) :
|
|
646
|
+
C(l.$slots, "header", { close: b }, void 0, !0)
|
|
647
|
+
], 2)) : c("", !0),
|
|
638
648
|
a("div", {
|
|
639
649
|
class: v(D.value)
|
|
640
650
|
}, [
|
|
641
|
-
|
|
651
|
+
C(l.$slots, "default", {
|
|
642
652
|
close: b,
|
|
643
653
|
isOpen: n.value
|
|
644
654
|
}, () => [
|
|
645
|
-
(s(!0), o(E, null,
|
|
646
|
-
key: p.id ||
|
|
655
|
+
(s(!0), o(E, null, W(t.items, (p, R) => (s(), o(E, {
|
|
656
|
+
key: p.id || R
|
|
647
657
|
}, [
|
|
648
658
|
p.type === "divider" ? (s(), o("div", {
|
|
649
659
|
key: 0,
|
|
@@ -651,57 +661,57 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
651
661
|
}, null, 2)) : p.type === "header" ? (s(), o("div", {
|
|
652
662
|
key: 1,
|
|
653
663
|
class: v(O.value)
|
|
654
|
-
},
|
|
664
|
+
}, $(p.label), 3)) : (s(), o("button", {
|
|
655
665
|
key: 2,
|
|
656
666
|
type: "button",
|
|
657
667
|
class: v(H(p)),
|
|
658
668
|
disabled: p.disabled,
|
|
659
669
|
onClick: (M) => T(p)
|
|
660
670
|
}, [
|
|
661
|
-
p.icon || l.$slots[`icon-${p.id}`] ? (s(), o("span",
|
|
662
|
-
|
|
663
|
-
typeof p.icon != "string" ? (s(),
|
|
671
|
+
p.icon || l.$slots[`icon-${p.id}`] ? (s(), o("span", Pe, [
|
|
672
|
+
C(l.$slots, `icon-${p.id}`, { item: p }, () => [
|
|
673
|
+
typeof p.icon != "string" ? (s(), q(Z(p.icon), {
|
|
664
674
|
key: 0,
|
|
665
675
|
class: "w-5 h-5"
|
|
666
676
|
})) : (s(), o("span", {
|
|
667
677
|
key: 1,
|
|
668
678
|
innerHTML: p.icon,
|
|
669
679
|
class: "w-5 h-5 inline-block"
|
|
670
|
-
}, null, 8,
|
|
680
|
+
}, null, 8, We))
|
|
671
681
|
], !0)
|
|
672
|
-
])) :
|
|
673
|
-
a("div",
|
|
674
|
-
|
|
682
|
+
])) : c("", !0),
|
|
683
|
+
a("div", Ae, [
|
|
684
|
+
C(l.$slots, `item-${p.id}`, {
|
|
675
685
|
item: p,
|
|
676
686
|
close: b
|
|
677
687
|
}, () => [
|
|
678
|
-
a("div",
|
|
688
|
+
a("div", Ke, [
|
|
679
689
|
a("span", {
|
|
680
690
|
class: "truncate w-full",
|
|
681
691
|
title: p.label
|
|
682
|
-
},
|
|
692
|
+
}, $(p.label), 9, Re),
|
|
683
693
|
p.description ? (s(), o("span", {
|
|
684
694
|
key: 0,
|
|
685
695
|
class: "text-xs text-secondary-500 truncate w-full",
|
|
686
696
|
title: p.description
|
|
687
|
-
},
|
|
697
|
+
}, $(p.description), 9, Ne)) : c("", !0)
|
|
688
698
|
])
|
|
689
699
|
], !0)
|
|
690
700
|
]),
|
|
691
|
-
p.suffix || p.shortcut || l.$slots[`suffix-${p.id}`] ? (s(), o("span",
|
|
692
|
-
|
|
693
|
-
p.shortcut ? (s(), o("span",
|
|
701
|
+
p.suffix || p.shortcut || l.$slots[`suffix-${p.id}`] ? (s(), o("span", qe, [
|
|
702
|
+
C(l.$slots, `suffix-${p.id}`, { item: p }, () => [
|
|
703
|
+
p.shortcut ? (s(), o("span", Ue, $(p.shortcut), 1)) : p.suffix ? (s(), o("span", Ge, $(p.suffix), 1)) : c("", !0)
|
|
694
704
|
], !0)
|
|
695
|
-
])) :
|
|
696
|
-
p.children && p.children.length > 0 ? (s(), o("svg",
|
|
705
|
+
])) : c("", !0),
|
|
706
|
+
p.children && p.children.length > 0 ? (s(), o("svg", Qe, [...w[2] || (w[2] = [
|
|
697
707
|
a("path", {
|
|
698
708
|
"stroke-linecap": "round",
|
|
699
709
|
"stroke-linejoin": "round",
|
|
700
710
|
"stroke-width": "2",
|
|
701
711
|
d: "M9 5l7 7-7 7"
|
|
702
712
|
}, null, -1)
|
|
703
|
-
])])) :
|
|
704
|
-
], 10,
|
|
713
|
+
])])) : c("", !0)
|
|
714
|
+
], 10, Fe))
|
|
705
715
|
], 64))), 128))
|
|
706
716
|
], !0)
|
|
707
717
|
], 2),
|
|
@@ -709,43 +719,43 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
709
719
|
key: 1,
|
|
710
720
|
class: v(j.value)
|
|
711
721
|
}, [
|
|
712
|
-
|
|
713
|
-
], 2)) :
|
|
714
|
-
], 6)) :
|
|
722
|
+
C(l.$slots, "footer", { close: b }, void 0, !0)
|
|
723
|
+
], 2)) : c("", !0)
|
|
724
|
+
], 6)) : c("", !0),
|
|
715
725
|
n.value && t.overlay ? (s(), o("div", {
|
|
716
726
|
key: 1,
|
|
717
727
|
class: "fixed inset-0 bg-black/20 z-40",
|
|
718
728
|
onClick: b
|
|
719
|
-
})) :
|
|
729
|
+
})) : c("", !0)
|
|
720
730
|
]))
|
|
721
731
|
], 2));
|
|
722
732
|
}
|
|
723
|
-
}),
|
|
733
|
+
}), Nt = /* @__PURE__ */ K(Je, [["__scopeId", "data-v-e155a86b"]]), Xe = ["for"], Ye = {
|
|
724
734
|
key: 0,
|
|
725
735
|
class: "text-danger-600"
|
|
726
|
-
},
|
|
736
|
+
}, Ze = { class: "relative" }, et = ["id", "disabled", "aria-expanded"], tt = { class: "flex-1 text-left truncate" }, st = {
|
|
727
737
|
key: 0,
|
|
728
738
|
class: "p-2 border-b border-secondary-200"
|
|
729
|
-
},
|
|
739
|
+
}, ot = ["placeholder"], lt = { class: "max-h-64 overflow-y-auto" }, at = {
|
|
730
740
|
key: 0,
|
|
731
741
|
class: "px-4 py-3 text-sm text-secondary-500 text-center"
|
|
732
|
-
},
|
|
742
|
+
}, nt = ["onClick"], rt = { class: "flex items-center justify-between w-full" }, it = { class: "truncate" }, dt = {
|
|
733
743
|
key: 0,
|
|
734
744
|
class: "w-5 h-5 text-primary-600 flex-shrink-0 ml-2",
|
|
735
745
|
fill: "none",
|
|
736
746
|
stroke: "currentColor",
|
|
737
747
|
viewBox: "0 0 24 24",
|
|
738
748
|
xmlns: "http://www.w3.org/2000/svg"
|
|
739
|
-
},
|
|
749
|
+
}, ut = {
|
|
740
750
|
key: 0,
|
|
741
751
|
class: "border-t border-secondary-200 my-1"
|
|
742
|
-
},
|
|
752
|
+
}, ct = ["onClick"], ft = ["innerHTML"], pt = {
|
|
743
753
|
key: 1,
|
|
744
754
|
class: "mt-1 text-sm text-danger-600"
|
|
745
|
-
},
|
|
755
|
+
}, gt = {
|
|
746
756
|
key: 2,
|
|
747
757
|
class: "mt-1 text-sm text-secondary-600"
|
|
748
|
-
},
|
|
758
|
+
}, ht = /* @__PURE__ */ L({
|
|
749
759
|
__name: "Select",
|
|
750
760
|
props: {
|
|
751
761
|
modelValue: { default: null },
|
|
@@ -767,7 +777,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
767
777
|
},
|
|
768
778
|
emits: ["update:modelValue", "change", "action"],
|
|
769
779
|
setup(t, { emit: y }) {
|
|
770
|
-
const e = t, u = y, n = V(!1), d = V(""), r = V(null),
|
|
780
|
+
const e = t, u = y, n = V(!1), d = V(""), r = V(null), f = g(
|
|
771
781
|
() => `select-${Math.random().toString(36).substr(2, 9)}`
|
|
772
782
|
), i = g(() => e.options.find((h) => h.value === e.modelValue) || null), x = g(() => {
|
|
773
783
|
if (!e.searchable || !d.value)
|
|
@@ -812,7 +822,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
812
822
|
k && k.closest(".select-wrapper") || setTimeout(() => {
|
|
813
823
|
B();
|
|
814
824
|
}, 200);
|
|
815
|
-
},
|
|
825
|
+
}, N = (h) => {
|
|
816
826
|
h.key === "Escape" ? B() : (h.key === "Enter" || h.key === " ") && (h.preventDefault(), F());
|
|
817
827
|
};
|
|
818
828
|
return Y(n, (h) => {
|
|
@@ -822,15 +832,15 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
822
832
|
}, [
|
|
823
833
|
t.label ? (s(), o("label", {
|
|
824
834
|
key: 0,
|
|
825
|
-
for:
|
|
835
|
+
for: f.value,
|
|
826
836
|
class: v(m.value)
|
|
827
837
|
}, [
|
|
828
|
-
|
|
829
|
-
t.required ? (s(), o("span",
|
|
830
|
-
], 10,
|
|
831
|
-
a("div",
|
|
838
|
+
A($(t.label) + " ", 1),
|
|
839
|
+
t.required ? (s(), o("span", Ye, "*")) : c("", !0)
|
|
840
|
+
], 10, Xe)) : c("", !0),
|
|
841
|
+
a("div", Ze, [
|
|
832
842
|
a("button", {
|
|
833
|
-
id:
|
|
843
|
+
id: f.value,
|
|
834
844
|
type: "button",
|
|
835
845
|
class: v(j.value),
|
|
836
846
|
disabled: t.disabled,
|
|
@@ -838,9 +848,9 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
838
848
|
"aria-haspopup": !0,
|
|
839
849
|
onClick: F,
|
|
840
850
|
onBlur: S,
|
|
841
|
-
onKeydown:
|
|
851
|
+
onKeydown: N
|
|
842
852
|
}, [
|
|
843
|
-
a("span",
|
|
853
|
+
a("span", tt, $(i.value ? i.value.label : t.placeholder), 1),
|
|
844
854
|
(s(), o("svg", {
|
|
845
855
|
class: v(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", n.value ? "rotate-180" : ""]),
|
|
846
856
|
fill: "none",
|
|
@@ -855,14 +865,14 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
855
865
|
d: "M19 9l-7 7-7-7"
|
|
856
866
|
}, null, -1)
|
|
857
867
|
])], 2))
|
|
858
|
-
], 42,
|
|
868
|
+
], 42, et),
|
|
859
869
|
n.value ? (s(), o("div", {
|
|
860
870
|
key: 0,
|
|
861
871
|
class: v(D.value),
|
|
862
872
|
onClick: k[2] || (k[2] = I(() => {
|
|
863
873
|
}, ["stop"]))
|
|
864
874
|
}, [
|
|
865
|
-
t.searchable ? (s(), o("div",
|
|
875
|
+
t.searchable ? (s(), o("div", st, [
|
|
866
876
|
se(a("input", {
|
|
867
877
|
ref_key: "searchInput",
|
|
868
878
|
ref: r,
|
|
@@ -872,32 +882,32 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
872
882
|
placeholder: t.searchPlaceholder,
|
|
873
883
|
onKeydown: k[1] || (k[1] = I(() => {
|
|
874
884
|
}, ["stop"]))
|
|
875
|
-
}, null, 40,
|
|
885
|
+
}, null, 40, ot), [
|
|
876
886
|
[oe, d.value]
|
|
877
887
|
])
|
|
878
|
-
])) :
|
|
879
|
-
a("div",
|
|
880
|
-
x.value.length === 0 ? (s(), o("div",
|
|
881
|
-
(s(!0), o(E, null,
|
|
888
|
+
])) : c("", !0),
|
|
889
|
+
a("div", lt, [
|
|
890
|
+
x.value.length === 0 ? (s(), o("div", at, $(t.emptyText), 1)) : (s(), o(E, { key: 1 }, [
|
|
891
|
+
(s(!0), o(E, null, W(x.value, (l) => (s(), o("button", {
|
|
882
892
|
key: l.value,
|
|
883
893
|
type: "button",
|
|
884
894
|
class: v(_(l)),
|
|
885
895
|
onClick: (w) => b(l)
|
|
886
896
|
}, [
|
|
887
|
-
a("div",
|
|
888
|
-
a("span",
|
|
889
|
-
H(l) ? (s(), o("svg",
|
|
897
|
+
a("div", rt, [
|
|
898
|
+
a("span", it, $(l.label), 1),
|
|
899
|
+
H(l) ? (s(), o("svg", dt, [...k[4] || (k[4] = [
|
|
890
900
|
a("path", {
|
|
891
901
|
"stroke-linecap": "round",
|
|
892
902
|
"stroke-linejoin": "round",
|
|
893
903
|
"stroke-width": "2",
|
|
894
904
|
d: "M5 13l4 4L19 7"
|
|
895
905
|
}, null, -1)
|
|
896
|
-
])])) :
|
|
906
|
+
])])) : c("", !0)
|
|
897
907
|
])
|
|
898
|
-
], 10,
|
|
899
|
-
t.actionItems.length > 0 ? (s(), o("div",
|
|
900
|
-
(s(!0), o(E, null,
|
|
908
|
+
], 10, nt))), 128)),
|
|
909
|
+
t.actionItems.length > 0 ? (s(), o("div", ut)) : c("", !0),
|
|
910
|
+
(s(!0), o(E, null, W(t.actionItems, (l) => (s(), o("button", {
|
|
901
911
|
key: l.id,
|
|
902
912
|
type: "button",
|
|
903
913
|
class: v(O(l)),
|
|
@@ -911,22 +921,22 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
911
921
|
viewBox: "0 0 24 24",
|
|
912
922
|
xmlns: "http://www.w3.org/2000/svg",
|
|
913
923
|
innerHTML: l.icon
|
|
914
|
-
}, null, 8,
|
|
915
|
-
|
|
916
|
-
], 10,
|
|
924
|
+
}, null, 8, ft)) : c("", !0),
|
|
925
|
+
A(" " + $(l.label), 1)
|
|
926
|
+
], 10, ct))), 128))
|
|
917
927
|
], 64))
|
|
918
928
|
])
|
|
919
|
-
], 2)) :
|
|
929
|
+
], 2)) : c("", !0)
|
|
920
930
|
]),
|
|
921
|
-
t.error ? (s(), o("p",
|
|
931
|
+
t.error ? (s(), o("p", pt, $(t.error), 1)) : t.helperText ? (s(), o("p", gt, $(t.helperText), 1)) : c("", !0),
|
|
922
932
|
n.value ? (s(), o("div", {
|
|
923
933
|
key: 3,
|
|
924
934
|
onClick: B,
|
|
925
935
|
class: "fixed inset-0 z-40"
|
|
926
|
-
})) :
|
|
936
|
+
})) : c("", !0)
|
|
927
937
|
], 2));
|
|
928
938
|
}
|
|
929
|
-
}),
|
|
939
|
+
}), qt = /* @__PURE__ */ K(ht, [["__scopeId", "data-v-f016a03c"]]), bt = /* @__PURE__ */ L({
|
|
930
940
|
__name: "Sidebar",
|
|
931
941
|
props: {
|
|
932
942
|
modelValue: { type: Boolean, default: !1 },
|
|
@@ -947,7 +957,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
947
957
|
set: (_) => u("update:modelValue", _)
|
|
948
958
|
}), d = () => {
|
|
949
959
|
e.persistent || (n.value = !1, u("close"));
|
|
950
|
-
}, r = g(() => e.position === "left" ? "slide-right" : "slide-left"),
|
|
960
|
+
}, r = g(() => e.position === "left" ? "slide-right" : "slide-left"), f = g(() => {
|
|
951
961
|
const _ = "fixed top-0 h-full z-50 flex flex-col", O = e.position === "left" ? "left-0" : "right-0", H = e.shadow ? e.position === "left" ? "shadow-[2px_0_8px_rgba(0,0,0,0.1)]" : "shadow-[-2px_0_8px_rgba(0,0,0,0.1)]" : "";
|
|
952
962
|
return [_, O, H].filter(Boolean).join(" ");
|
|
953
963
|
}), i = g(() => ({
|
|
@@ -961,15 +971,15 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
961
971
|
md: "p-4",
|
|
962
972
|
lg: "p-6"
|
|
963
973
|
}, m = g(() => `flex items-center justify-between border-b border-gray-200 ${x[e.padding]}`), j = g(() => `flex-1 overflow-y-auto ${x[e.padding]}`), D = g(() => `border-t border-gray-200 ${x[e.padding]}`);
|
|
964
|
-
return (_, O) => (s(),
|
|
974
|
+
return (_, O) => (s(), q(X, { to: "body" }, [
|
|
965
975
|
G(Q, { name: "fade" }, {
|
|
966
976
|
default: U(() => [
|
|
967
977
|
n.value && t.overlay ? (s(), o("div", {
|
|
968
978
|
key: 0,
|
|
969
979
|
onClick: d,
|
|
970
980
|
class: "fixed inset-0 bg-black/50 z-40",
|
|
971
|
-
style:
|
|
972
|
-
}, null, 4)) :
|
|
981
|
+
style: P({ top: t.overlayTop })
|
|
982
|
+
}, null, 4)) : c("", !0)
|
|
973
983
|
]),
|
|
974
984
|
_: 1
|
|
975
985
|
}),
|
|
@@ -977,14 +987,14 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
977
987
|
default: U(() => [
|
|
978
988
|
n.value ? (s(), o("aside", {
|
|
979
989
|
key: 0,
|
|
980
|
-
class: v(
|
|
981
|
-
style:
|
|
990
|
+
class: v(f.value),
|
|
991
|
+
style: P(i.value)
|
|
982
992
|
}, [
|
|
983
993
|
_.$slots.header ? (s(), o("div", {
|
|
984
994
|
key: 0,
|
|
985
995
|
class: v(m.value)
|
|
986
996
|
}, [
|
|
987
|
-
|
|
997
|
+
C(_.$slots, "header", {}, void 0, !0),
|
|
988
998
|
t.closable ? (s(), o("button", {
|
|
989
999
|
key: 0,
|
|
990
1000
|
onClick: d,
|
|
@@ -1004,35 +1014,35 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
1004
1014
|
d: "M6 18L18 6M6 6l12 12"
|
|
1005
1015
|
})
|
|
1006
1016
|
], -1)
|
|
1007
|
-
])])) :
|
|
1008
|
-
], 2)) :
|
|
1017
|
+
])])) : c("", !0)
|
|
1018
|
+
], 2)) : c("", !0),
|
|
1009
1019
|
a("div", {
|
|
1010
1020
|
class: v(j.value)
|
|
1011
1021
|
}, [
|
|
1012
|
-
|
|
1022
|
+
C(_.$slots, "default", {}, void 0, !0)
|
|
1013
1023
|
], 2),
|
|
1014
1024
|
_.$slots.footer ? (s(), o("div", {
|
|
1015
1025
|
key: 1,
|
|
1016
1026
|
class: v(D.value)
|
|
1017
1027
|
}, [
|
|
1018
|
-
|
|
1019
|
-
], 2)) :
|
|
1020
|
-
], 6)) :
|
|
1028
|
+
C(_.$slots, "footer", {}, void 0, !0)
|
|
1029
|
+
], 2)) : c("", !0)
|
|
1030
|
+
], 6)) : c("", !0)
|
|
1021
1031
|
]),
|
|
1022
1032
|
_: 3
|
|
1023
1033
|
}, 8, ["name"])
|
|
1024
1034
|
]));
|
|
1025
1035
|
}
|
|
1026
|
-
}),
|
|
1036
|
+
}), Ut = /* @__PURE__ */ K(bt, [["__scopeId", "data-v-fffb0e44"]]), vt = { class: "w-full overflow-x-auto" }, yt = { class: "w-full border-collapse" }, xt = { class: "w-full" }, mt = { class: "bg-white border-b border-gray-100 w-full" }, kt = ["onClick"], wt = { class: "flex items-center gap-2" }, $t = {
|
|
1027
1037
|
key: 0,
|
|
1028
1038
|
class: "text-xs text-gray-400"
|
|
1029
|
-
},
|
|
1039
|
+
}, Ct = { key: 0 }, Bt = { key: 1 }, _t = { class: "w-full" }, Tt = {
|
|
1030
1040
|
key: 0,
|
|
1031
1041
|
class: "flex items-center justify-center py-12 text-gray-400"
|
|
1032
|
-
},
|
|
1042
|
+
}, Mt = {
|
|
1033
1043
|
key: 1,
|
|
1034
1044
|
class: "w-full px-6 py-4 bg-white"
|
|
1035
|
-
},
|
|
1045
|
+
}, zt = /* @__PURE__ */ L({
|
|
1036
1046
|
__name: "Table",
|
|
1037
1047
|
props: {
|
|
1038
1048
|
columns: {},
|
|
@@ -1045,66 +1055,66 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
1045
1055
|
if (!e.value)
|
|
1046
1056
|
return y.data;
|
|
1047
1057
|
const r = [...y.data];
|
|
1048
|
-
return r.sort((
|
|
1049
|
-
const x =
|
|
1058
|
+
return r.sort((f, i) => {
|
|
1059
|
+
const x = f[e.value], m = i[e.value];
|
|
1050
1060
|
return typeof x == "string" && typeof m == "string" ? u.value === "asc" ? x.localeCompare(m) : m.localeCompare(x) : typeof x == "number" && typeof m == "number" ? u.value === "asc" ? x - m : m - x : 0;
|
|
1051
1061
|
}), r;
|
|
1052
1062
|
});
|
|
1053
|
-
return (r,
|
|
1054
|
-
a("table",
|
|
1055
|
-
a("thead",
|
|
1056
|
-
a("tr",
|
|
1057
|
-
(s(!0), o(E, null,
|
|
1063
|
+
return (r, f) => (s(), o("div", vt, [
|
|
1064
|
+
a("table", yt, [
|
|
1065
|
+
a("thead", xt, [
|
|
1066
|
+
a("tr", mt, [
|
|
1067
|
+
(s(!0), o(E, null, W(t.columns, (i) => (s(), o("th", {
|
|
1058
1068
|
key: i.key,
|
|
1059
|
-
style:
|
|
1069
|
+
style: P(i.width ? { width: i.width } : {}),
|
|
1060
1070
|
class: v([
|
|
1061
1071
|
"px-8 py-4 text-left text-base font-semibold text-gray-900 border-0",
|
|
1062
1072
|
i.sortable ? "cursor-pointer hover:text-primary-700 select-none transition-colors" : ""
|
|
1063
1073
|
]),
|
|
1064
1074
|
onClick: (x) => i.sortable && n(i.key)
|
|
1065
1075
|
}, [
|
|
1066
|
-
a("div",
|
|
1067
|
-
a("span", null,
|
|
1068
|
-
i.sortable ? (s(), o("span",
|
|
1069
|
-
e.value !== i.key ? (s(), o("span",
|
|
1070
|
-
])) :
|
|
1076
|
+
a("div", wt, [
|
|
1077
|
+
a("span", null, $(i.label), 1),
|
|
1078
|
+
i.sortable ? (s(), o("span", $t, [
|
|
1079
|
+
e.value !== i.key ? (s(), o("span", Ct, "⇅")) : (s(), o("span", Bt, $(u.value === "asc" ? "↑" : "↓"), 1))
|
|
1080
|
+
])) : c("", !0)
|
|
1071
1081
|
])
|
|
1072
|
-
], 14,
|
|
1082
|
+
], 14, kt))), 128))
|
|
1073
1083
|
])
|
|
1074
1084
|
]),
|
|
1075
|
-
a("tbody",
|
|
1076
|
-
(s(!0), o(E, null,
|
|
1085
|
+
a("tbody", _t, [
|
|
1086
|
+
(s(!0), o(E, null, W(d.value, (i, x) => (s(), o("tr", {
|
|
1077
1087
|
key: x,
|
|
1078
1088
|
class: "w-full hover:bg-gray-50 transition-colors"
|
|
1079
1089
|
}, [
|
|
1080
|
-
(s(!0), o(E, null,
|
|
1090
|
+
(s(!0), o(E, null, W(t.columns, (m) => (s(), o("td", {
|
|
1081
1091
|
key: `${x}-${m.key}`,
|
|
1082
1092
|
class: "px-8 py-4 text-base text-gray-700 border-0"
|
|
1083
1093
|
}, [
|
|
1084
|
-
|
|
1094
|
+
C(r.$slots, `cell-${m.key}`, {
|
|
1085
1095
|
value: i[m.key],
|
|
1086
1096
|
row: i
|
|
1087
1097
|
}, () => [
|
|
1088
|
-
|
|
1098
|
+
A($(i[m.key]), 1)
|
|
1089
1099
|
], !0)
|
|
1090
1100
|
]))), 128))
|
|
1091
1101
|
]))), 128))
|
|
1092
1102
|
])
|
|
1093
1103
|
]),
|
|
1094
|
-
d.value.length === 0 ? (s(), o("div",
|
|
1095
|
-
|
|
1096
|
-
|
|
1104
|
+
d.value.length === 0 ? (s(), o("div", Tt, [
|
|
1105
|
+
C(r.$slots, "empty", {}, () => [
|
|
1106
|
+
f[0] || (f[0] = A("No hay datos disponibles", -1))
|
|
1097
1107
|
], !0)
|
|
1098
|
-
])) :
|
|
1099
|
-
r.$slots.footer ? (s(), o("div",
|
|
1100
|
-
|
|
1101
|
-
])) :
|
|
1108
|
+
])) : c("", !0),
|
|
1109
|
+
r.$slots.footer ? (s(), o("div", Mt, [
|
|
1110
|
+
C(r.$slots, "footer", {}, void 0, !0)
|
|
1111
|
+
])) : c("", !0)
|
|
1102
1112
|
]));
|
|
1103
1113
|
}
|
|
1104
|
-
}),
|
|
1114
|
+
}), Gt = /* @__PURE__ */ K(zt, [["__scopeId", "data-v-6b3ff0a8"]]), Vt = { class: "w-full" }, jt = {
|
|
1105
1115
|
class: "flex border-b border-gray-100",
|
|
1106
1116
|
role: "tablist"
|
|
1107
|
-
},
|
|
1117
|
+
}, Lt = ["aria-selected", "onClick"], St = { role: "tabpanel" }, Dt = "relative px-6 py-3 text-base font-semibold tracking-wide transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary-500", Ot = "text-primary-700 border-b-4 border-primary-700", It = "text-gray-600 border-b-4 border-transparent hover:text-gray-800", Qt = /* @__PURE__ */ L({
|
|
1108
1118
|
__name: "Tabs",
|
|
1109
1119
|
props: {
|
|
1110
1120
|
modelValue: {},
|
|
@@ -1114,32 +1124,32 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
1114
1124
|
setup(t, { emit: y }) {
|
|
1115
1125
|
const e = t, u = y, n = (i) => e.modelValue === i, d = (i) => {
|
|
1116
1126
|
n(i) || u("update:modelValue", i);
|
|
1117
|
-
}, r = g(() => e.modelValue),
|
|
1127
|
+
}, r = g(() => e.modelValue), f = g(
|
|
1118
1128
|
() => e.tabs.find((i) => i.value === r.value)
|
|
1119
1129
|
);
|
|
1120
|
-
return (i, x) => (s(), o("div",
|
|
1121
|
-
a("div",
|
|
1122
|
-
(s(!0), o(E, null,
|
|
1130
|
+
return (i, x) => (s(), o("div", Vt, [
|
|
1131
|
+
a("div", jt, [
|
|
1132
|
+
(s(!0), o(E, null, W(t.tabs, (m) => (s(), o("button", {
|
|
1123
1133
|
key: m.value,
|
|
1124
1134
|
type: "button",
|
|
1125
1135
|
class: v([
|
|
1126
|
-
|
|
1127
|
-
n(m.value) ?
|
|
1136
|
+
Dt,
|
|
1137
|
+
n(m.value) ? Ot : It
|
|
1128
1138
|
]),
|
|
1129
1139
|
"aria-selected": n(m.value),
|
|
1130
1140
|
role: "tab",
|
|
1131
1141
|
onClick: (j) => d(m.value)
|
|
1132
|
-
},
|
|
1142
|
+
}, $(m.label), 11, Lt))), 128))
|
|
1133
1143
|
]),
|
|
1134
|
-
a("div",
|
|
1135
|
-
|
|
1144
|
+
a("div", St, [
|
|
1145
|
+
C(i.$slots, r.value, {
|
|
1136
1146
|
active: r.value,
|
|
1137
|
-
tab:
|
|
1147
|
+
tab: f.value
|
|
1138
1148
|
})
|
|
1139
1149
|
])
|
|
1140
1150
|
]));
|
|
1141
1151
|
}
|
|
1142
|
-
}),
|
|
1152
|
+
}), Et = "font-sans", Jt = /* @__PURE__ */ L({
|
|
1143
1153
|
__name: "Text",
|
|
1144
1154
|
props: {
|
|
1145
1155
|
variant: { default: "body1" },
|
|
@@ -1211,38 +1221,38 @@ const le = { class: "flex items-center gap-4" }, ae = {
|
|
|
1211
1221
|
semibold: "font-semibold",
|
|
1212
1222
|
bold: "font-bold",
|
|
1213
1223
|
extrabold: "font-extrabold"
|
|
1214
|
-
}, r = t,
|
|
1215
|
-
return (D, _) => (s(),
|
|
1224
|
+
}, r = t, f = g(() => r.variant), i = g(() => r.color), x = g(() => r.align), m = g(() => r.as || e[f.value] || "span"), j = g(() => r.weight ? d[r.weight] : "");
|
|
1225
|
+
return (D, _) => (s(), q(Z(m.value), {
|
|
1216
1226
|
class: v([
|
|
1217
|
-
|
|
1218
|
-
y[
|
|
1227
|
+
Et,
|
|
1228
|
+
y[f.value],
|
|
1219
1229
|
n[i.value],
|
|
1220
1230
|
u[x.value],
|
|
1221
1231
|
j.value,
|
|
1222
1232
|
{
|
|
1223
|
-
uppercase: t.uppercase ||
|
|
1233
|
+
uppercase: t.uppercase || f.value === "overline",
|
|
1224
1234
|
truncate: t.truncate
|
|
1225
1235
|
}
|
|
1226
1236
|
])
|
|
1227
1237
|
}, {
|
|
1228
1238
|
default: U(() => [
|
|
1229
|
-
|
|
1239
|
+
C(D.$slots, "default")
|
|
1230
1240
|
]),
|
|
1231
1241
|
_: 3
|
|
1232
1242
|
}, 8, ["class"]));
|
|
1233
1243
|
}
|
|
1234
1244
|
});
|
|
1235
1245
|
export {
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1246
|
+
Ft as AppBar,
|
|
1247
|
+
Pt as Button,
|
|
1248
|
+
Wt as Card,
|
|
1249
|
+
At as Dialog,
|
|
1250
|
+
Kt as FileUpload,
|
|
1251
|
+
Rt as Loader,
|
|
1252
|
+
Nt as Menu,
|
|
1253
|
+
qt as Select,
|
|
1254
|
+
Ut as Sidebar,
|
|
1255
|
+
Gt as Table,
|
|
1256
|
+
Qt as Tabs,
|
|
1257
|
+
Jt as Text
|
|
1248
1258
|
};
|