@iaclinical/components 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
- import { defineComponent as S, computed as p, createElementBlock as o, openBlock as s, normalizeClass as v, createElementVNode as a, createCommentVNode as c, renderSlot as $, toDisplayString as w, createBlock as q, Teleport as X, createVNode as G, Transition as Q, withCtx as U, withModifiers as H, createTextVNode as K, ref as j, normalizeStyle as W, onMounted as ee, onUnmounted as te, watch as Y, nextTick as J, Fragment as F, renderList as A, resolveDynamicComponent as Z, withDirectives as se, vModelText as oe } from "vue";
2
- const le = { class: "flex items-center gap-4" }, ae = {
1
+ import { defineComponent as D, computed as c, createElementBlock as o, openBlock as s, normalizeClass as g, createElementVNode as l, createCommentVNode as f, renderSlot as C, toDisplayString as w, createBlock as q, Teleport as J, createVNode as G, Transition as Q, withCtx as U, withModifiers as A, createTextVNode as E, ref as I, normalizeStyle as W, onMounted as ee, onUnmounted as te, watch as X, nextTick as Z, Fragment as F, renderList as K, resolveDynamicComponent as Y, withDirectives as se, vModelText as oe } from "vue";
2
+ const le = { class: "flex items-center gap-4" }, ne = {
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
+ }, ae = { class: "flex-1 flex justify-center" }, re = {
6
6
  key: 0,
7
7
  class: "text-lg font-bold text-primary-50 font-poppins"
8
8
  }, ie = { class: "flex items-center gap-3" }, de = {
9
9
  key: 0,
10
10
  class: "text-lg font-bold text-primary-50 font-poppins"
11
- }, ue = /* @__PURE__ */ S({
11
+ }, ue = /* @__PURE__ */ D({
12
12
  __name: "AppBar",
13
13
  props: {
14
14
  title: { default: "" },
@@ -21,71 +21,71 @@ const le = { class: "flex items-center gap-4" }, ae = {
21
21
  },
22
22
  emits: ["toggle-menu"],
23
23
  setup(t, { emit: b }) {
24
- const e = t, u = b, n = p(() => {
24
+ const e = t, i = b, a = c(() => {
25
25
  const d = "flex items-center justify-between px-6 z-50", r = {
26
26
  default: "bg-primary-700 text-primary-50",
27
27
  dark: "bg-secondary-900 text-white",
28
28
  light: "bg-white text-secondary-900 border-b border-secondary-200"
29
- }, f = {
29
+ }, p = {
30
30
  sm: "h-12",
31
31
  md: "h-14",
32
32
  lg: "h-16"
33
- }, i = e.sticky ? "sticky top-0" : "", y = e.shadow ? "shadow-md" : "";
33
+ }, u = e.sticky ? "sticky top-0" : "", y = e.shadow ? "shadow-md" : "";
34
34
  return [
35
35
  d,
36
36
  r[e.variant],
37
- f[e.height],
38
- i,
37
+ p[e.height],
38
+ u,
39
39
  y
40
40
  ].join(" ");
41
41
  });
42
42
  return (d, r) => (s(), o("header", {
43
- class: v(n.value)
43
+ class: g(a.value)
44
44
  }, [
45
- a("div", le, [
45
+ l("div", le, [
46
46
  t.showMenuButton ? (s(), o("button", {
47
47
  key: 0,
48
- onClick: r[0] || (r[0] = (f) => u("toggle-menu")),
48
+ onClick: r[0] || (r[0] = (p) => i("toggle-menu")),
49
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",
50
50
  "aria-label": "Toggle menu"
51
51
  }, [...r[1] || (r[1] = [
52
- a("svg", {
52
+ l("svg", {
53
53
  class: "w-6 h-6 text-primary-50",
54
54
  fill: "none",
55
55
  stroke: "currentColor",
56
56
  viewBox: "0 0 24 24",
57
57
  xmlns: "http://www.w3.org/2000/svg"
58
58
  }, [
59
- a("path", {
59
+ l("path", {
60
60
  "stroke-linecap": "round",
61
61
  "stroke-linejoin": "round",
62
62
  "stroke-width": "2",
63
63
  d: "M4 6h16M4 12h16M4 18h16"
64
64
  })
65
65
  ], -1)
66
- ])])) : c("", !0),
67
- t.title && t.titlePosition === "left" ? (s(), o("div", ae, w(t.title), 1)) : c("", !0),
68
- $(d.$slots, "left", {}, void 0, !0)
66
+ ])])) : f("", !0),
67
+ t.title && t.titlePosition === "left" ? (s(), o("div", ne, w(t.title), 1)) : f("", !0),
68
+ C(d.$slots, "left", {}, void 0, !0)
69
69
  ]),
70
- a("div", ne, [
71
- t.title && t.titlePosition === "center" ? (s(), o("div", re, w(t.title), 1)) : c("", !0),
72
- $(d.$slots, "center", {}, void 0, !0)
70
+ l("div", ae, [
71
+ t.title && t.titlePosition === "center" ? (s(), o("div", re, w(t.title), 1)) : f("", !0),
72
+ C(d.$slots, "center", {}, void 0, !0)
73
73
  ]),
74
- a("div", ie, [
75
- t.title && t.titlePosition === "right" ? (s(), o("div", de, w(t.title), 1)) : c("", !0),
76
- $(d.$slots, "right", {}, void 0, !0)
74
+ l("div", ie, [
75
+ t.title && t.titlePosition === "right" ? (s(), o("div", de, w(t.title), 1)) : f("", !0),
76
+ C(d.$slots, "right", {}, void 0, !0)
77
77
  ])
78
78
  ], 2));
79
79
  }
80
80
  }), R = (t, b) => {
81
81
  const e = t.__vccOpts || t;
82
- for (const [u, n] of b)
83
- e[u] = n;
82
+ for (const [i, a] of b)
83
+ e[i] = a;
84
84
  return e;
85
- }, Et = /* @__PURE__ */ R(ue, [["__scopeId", "data-v-883474b5"]]), ce = ["type", "disabled", "aria-label"], fe = {
85
+ }, Wt = /* @__PURE__ */ R(ue, [["__scopeId", "data-v-883474b5"]]), ce = ["type", "disabled", "aria-label"], fe = {
86
86
  key: 0,
87
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]"
88
- }, Ht = /* @__PURE__ */ S({
88
+ }, Kt = /* @__PURE__ */ D({
89
89
  __name: "Button",
90
90
  props: {
91
91
  variant: { default: "primary" },
@@ -100,8 +100,8 @@ const le = { class: "flex items-center gap-4" }, ae = {
100
100
  },
101
101
  emits: ["click"],
102
102
  setup(t, { emit: b }) {
103
- const e = t, u = b, n = p(() => e.variant === "icon"), d = p(() => e.badge > 99 ? "99+" : e.badge.toString()), r = p(() => {
104
- const i = "inline-flex items-center justify-center font-semibold tracking-wide transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", y = {
103
+ const e = t, i = b, a = c(() => e.variant === "icon"), d = c(() => e.badge > 99 ? "99+" : e.badge.toString()), r = c(() => {
104
+ const u = "inline-flex items-center justify-center font-semibold tracking-wide transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50", y = {
105
105
  primary: "bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700 focus-visible:ring-primary-700",
106
106
  secondary: "bg-secondary-200 text-secondary-900 hover:bg-secondary-300 focus-visible:ring-secondary-500",
107
107
  outline: "border border-secondary-300 bg-transparent hover:bg-secondary-100 focus-visible:ring-secondary-500",
@@ -109,43 +109,43 @@ const le = { class: "flex items-center gap-4" }, ae = {
109
109
  danger: "bg-danger-600 text-white hover:bg-danger-700 focus-visible:ring-danger-600",
110
110
  icon: "hover:bg-secondary-100 focus-visible:ring-secondary-500 relative",
111
111
  text: "bg-transparent border-0 focus-visible:ring-0 focus-visible:ring-offset-0"
112
- }, x = {
113
- sm: n.value ? "p-1.5" : "h-8 px-3 text-sm",
114
- md: n.value ? "p-2" : "h-10 px-4 text-base",
115
- lg: n.value ? "p-3" : "h-12 px-6 text-lg"
116
- }, L = {
112
+ }, m = {
113
+ sm: a.value ? "p-1.5" : "h-8 px-3 text-sm",
114
+ md: a.value ? "p-2" : "h-10 px-4 text-base",
115
+ lg: a.value ? "p-3" : "h-12 px-6 text-lg"
116
+ }, z = {
117
117
  full: "rounded-full",
118
118
  xl: "rounded-2xl",
119
119
  lg: "rounded-xl",
120
120
  md: "rounded-lg",
121
121
  sm: "rounded-md",
122
122
  none: "rounded-none"
123
- }, D = e.textColor ? e.textColor : "", T = p(() => {
124
- var _, O;
125
- return e.textColorHover ? e.textColorHover : (_ = e.textColor) != null && _.includes("white") || (O = e.textColor) != null && O.includes("50") ? "hover:text-black" : "";
123
+ }, V = e.textColor ? e.textColor : "", T = c(() => {
124
+ var h, L;
125
+ return e.textColorHover ? e.textColorHover : (h = e.textColor) != null && h.includes("white") || (L = e.textColor) != null && L.includes("50") ? "hover:text-black" : "";
126
126
  });
127
- return `${i} ${y[e.variant]} ${x[e.size]} ${L[e.radius]} ${D} ${T.value}`;
128
- }), f = (i) => {
129
- e.disabled || u("click", i);
127
+ return `${u} ${y[e.variant]} ${m[e.size]} ${z[e.radius]} ${V} ${T.value}`;
128
+ }), p = (u) => {
129
+ e.disabled || i("click", u);
130
130
  };
131
- return (i, y) => (s(), o("button", {
132
- class: v(r.value),
131
+ return (u, y) => (s(), o("button", {
132
+ class: g(r.value),
133
133
  type: t.type,
134
134
  disabled: t.disabled,
135
- onClick: f,
135
+ onClick: p,
136
136
  "aria-label": t.ariaLabel
137
137
  }, [
138
- $(i.$slots, "default"),
139
- n.value && t.badge && t.badge > 0 ? (s(), o("span", fe, w(d.value), 1)) : c("", !0)
138
+ C(u.$slots, "default"),
139
+ a.value && t.badge && t.badge > 0 ? (s(), o("span", fe, w(d.value), 1)) : f("", !0)
140
140
  ], 10, ce));
141
141
  }
142
142
  }), pe = {
143
143
  key: 0,
144
144
  class: "border-b border-gray-100 px-6 py-4"
145
- }, ge = { class: "px-6 py-4" }, he = {
145
+ }, ge = { class: "px-6 py-4" }, ve = {
146
146
  key: 1,
147
147
  class: "border-t border-gray-100 px-6 py-4 bg-gray-50"
148
- }, Ft = /* @__PURE__ */ S({
148
+ }, Rt = /* @__PURE__ */ D({
149
149
  __name: "Card",
150
150
  props: {
151
151
  shadow: { default: "md" },
@@ -159,37 +159,37 @@ const le = { class: "flex items-center gap-4" }, ae = {
159
159
  md: "shadow",
160
160
  lg: "shadow-lg",
161
161
  xl: "shadow-xl"
162
- }, u = {
162
+ }, i = {
163
163
  none: "rounded-none",
164
164
  sm: "rounded-sm",
165
165
  md: "rounded-md",
166
166
  lg: "rounded-lg",
167
167
  xl: "rounded-xl",
168
168
  full: "rounded-full"
169
- }, n = p(() => [
169
+ }, a = c(() => [
170
170
  "w-full bg-white",
171
171
  e[b.shadow],
172
- u[b.rounded],
172
+ i[b.rounded],
173
173
  b.bordered ? "border border-gray-200" : ""
174
174
  ]);
175
175
  return (d, r) => (s(), o("div", {
176
- class: v(n.value)
176
+ class: g(a.value)
177
177
  }, [
178
178
  d.$slots.header ? (s(), o("div", pe, [
179
- $(d.$slots, "header")
180
- ])) : c("", !0),
181
- a("div", ge, [
182
- $(d.$slots, "default")
179
+ C(d.$slots, "header")
180
+ ])) : f("", !0),
181
+ l("div", ge, [
182
+ C(d.$slots, "default")
183
183
  ]),
184
- d.$slots.footer ? (s(), o("div", he, [
185
- $(d.$slots, "footer")
186
- ])) : c("", !0)
184
+ d.$slots.footer ? (s(), o("div", ve, [
185
+ C(d.$slots, "footer")
186
+ ])) : f("", !0)
187
187
  ], 2));
188
188
  }
189
- }), ve = { class: "flex items-center justify-between border-b border-gray-100/60 px-8 py-6" }, be = { class: "text-xl font-semibold text-gray-900" }, ye = { class: "px-8 py-6" }, xe = {
189
+ }), be = { class: "flex items-center justify-between border-b border-gray-100/60 px-8 py-6" }, xe = { class: "text-xl font-semibold text-gray-900" }, he = { class: "px-8 py-6" }, ye = {
190
190
  key: 0,
191
191
  class: "border-t border-gray-100 px-8 py-6 bg-gray-50"
192
- }, me = /* @__PURE__ */ S({
192
+ }, me = /* @__PURE__ */ D({
193
193
  __name: "Dialog",
194
194
  props: {
195
195
  modelValue: { type: Boolean, default: !1 },
@@ -198,46 +198,46 @@ const le = { class: "flex items-center gap-4" }, ae = {
198
198
  },
199
199
  emits: ["update:modelValue", "close"],
200
200
  setup(t, { emit: b }) {
201
- const e = t, u = b, n = p({
201
+ const e = t, i = b, a = c({
202
202
  get: () => e.modelValue,
203
- set: (f) => u("update:modelValue", f)
203
+ set: (p) => i("update:modelValue", p)
204
204
  }), d = () => {
205
- n.value = !1, u("close");
205
+ a.value = !1, i("close");
206
206
  }, r = () => {
207
207
  e.closeOnBackdrop && d();
208
208
  };
209
- return (f, i) => (s(), q(X, { to: "body" }, [
209
+ return (p, u) => (s(), q(J, { to: "body" }, [
210
210
  G(Q, { name: "dialog" }, {
211
211
  default: U(() => [
212
- n.value ? (s(), o("div", {
212
+ a.value ? (s(), o("div", {
213
213
  key: 0,
214
214
  class: "fixed inset-0 z-50 flex items-center justify-center bg-black/50",
215
215
  onClick: r
216
216
  }, [
217
- a("div", {
217
+ l("div", {
218
218
  class: "relative w-full max-w-2xl rounded-lg bg-white shadow-xl",
219
- onClick: i[0] || (i[0] = H(() => {
219
+ onClick: u[0] || (u[0] = A(() => {
220
220
  }, ["stop"]))
221
221
  }, [
222
- a("div", ve, [
223
- a("h2", be, [
224
- $(f.$slots, "title", {}, () => [
225
- K(w(t.title), 1)
222
+ l("div", be, [
223
+ l("h2", xe, [
224
+ C(p.$slots, "title", {}, () => [
225
+ E(w(t.title), 1)
226
226
  ], !0)
227
227
  ]),
228
- a("button", {
228
+ l("button", {
229
229
  type: "button",
230
230
  class: "inline-flex items-center justify-center rounded-md p-1 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-900 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
231
231
  "aria-label": "Cerrar diálogo",
232
232
  onClick: d
233
- }, [...i[1] || (i[1] = [
234
- a("svg", {
233
+ }, [...u[1] || (u[1] = [
234
+ l("svg", {
235
235
  class: "h-6 w-6",
236
236
  fill: "none",
237
237
  stroke: "currentColor",
238
238
  viewBox: "0 0 24 24"
239
239
  }, [
240
- a("path", {
240
+ l("path", {
241
241
  "stroke-linecap": "round",
242
242
  "stroke-linejoin": "round",
243
243
  "stroke-width": "2",
@@ -246,32 +246,32 @@ const le = { class: "flex items-center gap-4" }, ae = {
246
246
  ], -1)
247
247
  ])])
248
248
  ]),
249
- a("div", ye, [
250
- $(f.$slots, "default", {}, void 0, !0)
249
+ l("div", he, [
250
+ C(p.$slots, "default", {}, void 0, !0)
251
251
  ]),
252
- f.$slots.footer ? (s(), o("div", xe, [
253
- $(f.$slots, "footer", {}, void 0, !0)
254
- ])) : c("", !0)
252
+ p.$slots.footer ? (s(), o("div", ye, [
253
+ C(p.$slots, "footer", {}, void 0, !0)
254
+ ])) : f("", !0)
255
255
  ])
256
- ])) : c("", !0)
256
+ ])) : f("", !0)
257
257
  ]),
258
258
  _: 3
259
259
  })
260
260
  ]));
261
261
  }
262
- }), Pt = /* @__PURE__ */ R(me, [["__scopeId", "data-v-ce4f3dd4"]]), ke = ["accept", "multiple", "disabled"], we = { class: "flex flex-col items-center justify-center gap-4 text-center" }, Ce = ["src", "alt"], $e = {
262
+ }), Nt = /* @__PURE__ */ R(me, [["__scopeId", "data-v-ce4f3dd4"]]), we = ["accept", "multiple", "disabled"], ke = { class: "flex flex-col items-center justify-center gap-4 text-center" }, Ce = ["src", "alt"], $e = {
263
263
  key: 1,
264
264
  class: "w-full h-full text-gray-400",
265
265
  fill: "none",
266
266
  stroke: "currentColor",
267
267
  viewBox: "0 0 24 24"
268
- }, Be = { class: "text-center" }, Te = { class: "text-base font-medium text-gray-700" }, ze = { class: "text-primary-700" }, Me = { class: "flex items-center gap-3 flex-1 min-w-0" }, _e = { class: "flex-1 min-w-0" }, Ve = { class: "text-sm font-medium text-gray-900 truncate" }, je = { class: "text-xs text-gray-500" }, Le = {
268
+ }, Be = { 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" }, _e = { class: "flex-1 min-w-0" }, je = { class: "text-sm font-medium text-gray-900 truncate" }, Ve = { class: "text-xs text-gray-500" }, Le = {
269
269
  key: 1,
270
270
  class: "text-xs text-gray-500 mt-2"
271
271
  }, Se = {
272
272
  key: 2,
273
273
  class: "text-sm text-danger-500 mt-2"
274
- }, Wt = /* @__PURE__ */ S({
274
+ }, qt = /* @__PURE__ */ D({
275
275
  __name: "FileUpload",
276
276
  props: {
277
277
  modelValue: { default: null },
@@ -288,73 +288,73 @@ const le = { class: "flex items-center gap-4" }, ae = {
288
288
  },
289
289
  emits: ["update:modelValue", "change", "error"],
290
290
  setup(t, { emit: b }) {
291
- const e = t, u = b, n = j(null), d = j(!1), r = j(e.modelValue), f = j(""), i = p(() => ({
291
+ const e = t, i = b, a = I(null), d = I(!1), r = I(e.modelValue), p = I(""), u = c(() => ({
292
292
  sm: "w-20 h-20",
293
293
  md: "w-32 h-32",
294
294
  lg: "w-48 h-48",
295
295
  xl: "w-64 h-64"
296
296
  })[e.illustrationSize]), y = () => {
297
- var C;
298
- (C = n.value) == null || C.click();
299
- }, x = () => {
297
+ var B;
298
+ (B = a.value) == null || B.click();
299
+ }, m = () => {
300
300
  e.disabled || y();
301
- }, L = (C) => {
301
+ }, z = (B) => {
302
302
  e.disabled || (d.value = !0);
303
- }, D = () => {
303
+ }, V = () => {
304
304
  d.value = !1;
305
- }, T = (C) => {
306
- if (f.value = "", e.maxSize && C.size > e.maxSize) {
307
- const B = (e.maxSize / 1048576).toFixed(2);
308
- return f.value = `El archivo excede el tamaño máximo de ${B}MB`, u("error", f.value), !1;
305
+ }, T = (B) => {
306
+ if (p.value = "", e.maxSize && B.size > e.maxSize) {
307
+ const M = (e.maxSize / 1048576).toFixed(2);
308
+ return p.value = `El archivo excede el tamaño máximo de ${M}MB`, i("error", p.value), !1;
309
309
  }
310
310
  return !0;
311
- }, _ = (C) => {
312
- var I;
313
- const M = (I = C.target.files) == null ? void 0 : I[0];
314
- M && T(M) && (r.value = M, u("update:modelValue", M), u("change", M));
315
- }, O = (C) => {
316
- var M;
311
+ }, h = (B) => {
312
+ var O;
313
+ const j = (O = B.target.files) == null ? void 0 : O[0];
314
+ j && T(j) && (r.value = j, i("update:modelValue", j), i("change", j));
315
+ }, L = (B) => {
316
+ var j;
317
317
  d.value = !1;
318
- const B = (M = C.dataTransfer) == null ? void 0 : M.files[0];
319
- B && T(B) && (r.value = B, u("update:modelValue", B), u("change", B));
318
+ const M = (j = B.dataTransfer) == null ? void 0 : j.files[0];
319
+ M && T(M) && (r.value = M, i("update:modelValue", M), i("change", M));
320
320
  }, P = () => {
321
- r.value = null, f.value = "", n.value && (n.value.value = ""), u("update:modelValue", null), u("change", null);
322
- }, E = (C) => {
323
- if (C === 0) return "0 Bytes";
324
- const B = 1024, M = ["Bytes", "KB", "MB", "GB"], I = Math.floor(Math.log(C) / Math.log(B));
325
- return Math.round(C / Math.pow(B, I) * 100) / 100 + " " + M[I];
321
+ r.value = null, p.value = "", a.value && (a.value.value = ""), i("update:modelValue", null), i("change", null);
322
+ }, H = (B) => {
323
+ if (B === 0) return "0 Bytes";
324
+ const M = 1024, j = ["Bytes", "KB", "MB", "GB"], O = Math.floor(Math.log(B) / Math.log(M));
325
+ return Math.round(B / Math.pow(M, O) * 100) / 100 + " " + j[O];
326
326
  };
327
- return (C, B) => (s(), o("div", {
328
- class: v(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
327
+ return (B, M) => (s(), o("div", {
328
+ class: g(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
329
329
  d.value ? "border-primary-700 bg-primary-50" : "border-gray-300 bg-white hover:border-primary-500",
330
330
  t.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
331
331
  ]]),
332
- onClick: x,
333
- onDragover: H(L, ["prevent"]),
334
- onDragleave: H(D, ["prevent"]),
335
- onDrop: H(O, ["prevent"])
332
+ onClick: m,
333
+ onDragover: A(z, ["prevent"]),
334
+ onDragleave: A(V, ["prevent"]),
335
+ onDrop: A(L, ["prevent"])
336
336
  }, [
337
- a("input", {
337
+ l("input", {
338
338
  ref_key: "fileInput",
339
- ref: n,
339
+ ref: a,
340
340
  type: "file",
341
341
  accept: t.accept,
342
342
  multiple: t.multiple,
343
343
  disabled: t.disabled,
344
344
  class: "hidden",
345
- onChange: _
346
- }, null, 40, ke),
347
- a("div", we, [
348
- a("div", {
349
- class: v([i.value, "flex items-center justify-center"])
345
+ onChange: h
346
+ }, null, 40, we),
347
+ l("div", ke, [
348
+ l("div", {
349
+ class: g([u.value, "flex items-center justify-center"])
350
350
  }, [
351
351
  t.illustration ? (s(), o("img", {
352
352
  key: 0,
353
353
  src: t.illustration,
354
354
  alt: t.illustrationAlt,
355
355
  class: "max-w-full max-h-full object-contain"
356
- }, null, 8, Ce)) : (s(), o("svg", $e, [...B[1] || (B[1] = [
357
- a("path", {
356
+ }, null, 8, Ce)) : (s(), o("svg", $e, [...M[1] || (M[1] = [
357
+ l("path", {
358
358
  "stroke-linecap": "round",
359
359
  "stroke-linejoin": "round",
360
360
  "stroke-width": "1.5",
@@ -362,64 +362,64 @@ const le = { class: "flex items-center gap-4" }, ae = {
362
362
  }, null, -1)
363
363
  ])]))
364
364
  ], 2),
365
- a("div", Be, [
366
- a("p", Te, [
367
- K(w(t.mainText) + " ", 1),
368
- a("span", ze, w(t.linkText), 1)
365
+ l("div", Be, [
366
+ l("p", Te, [
367
+ E(w(t.mainText) + " ", 1),
368
+ l("span", Me, w(t.linkText), 1)
369
369
  ])
370
370
  ]),
371
371
  r.value ? (s(), o("div", {
372
372
  key: 0,
373
373
  class: "w-full max-w-md bg-gray-50 rounded-lg p-4 flex items-center justify-between",
374
- onClick: B[0] || (B[0] = H(() => {
374
+ onClick: M[0] || (M[0] = A(() => {
375
375
  }, ["stop"]))
376
376
  }, [
377
- a("div", Me, [
378
- B[2] || (B[2] = a("svg", {
377
+ l("div", ze, [
378
+ M[2] || (M[2] = l("svg", {
379
379
  class: "w-6 h-6 text-gray-600 flex-shrink-0",
380
380
  fill: "none",
381
381
  stroke: "currentColor",
382
382
  viewBox: "0 0 24 24"
383
383
  }, [
384
- a("path", {
384
+ l("path", {
385
385
  "stroke-linecap": "round",
386
386
  "stroke-linejoin": "round",
387
387
  "stroke-width": "2",
388
388
  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"
389
389
  })
390
390
  ], -1)),
391
- a("div", _e, [
392
- a("p", Ve, w(r.value.name), 1),
393
- a("p", je, w(E(r.value.size)), 1)
391
+ l("div", _e, [
392
+ l("p", je, w(r.value.name), 1),
393
+ l("p", Ve, w(H(r.value.size)), 1)
394
394
  ])
395
395
  ]),
396
- t.disabled ? c("", !0) : (s(), o("button", {
396
+ t.disabled ? f("", !0) : (s(), o("button", {
397
397
  key: 0,
398
- onClick: H(P, ["stop"]),
398
+ onClick: A(P, ["stop"]),
399
399
  class: "ml-3 text-gray-400 hover:text-danger-500 transition-colors"
400
- }, [...B[3] || (B[3] = [
401
- a("svg", {
400
+ }, [...M[3] || (M[3] = [
401
+ l("svg", {
402
402
  class: "w-5 h-5",
403
403
  fill: "currentColor",
404
404
  viewBox: "0 0 20 20"
405
405
  }, [
406
- a("path", {
406
+ l("path", {
407
407
  "fill-rule": "evenodd",
408
408
  d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
409
409
  "clip-rule": "evenodd"
410
410
  })
411
411
  ], -1)
412
412
  ])]))
413
- ])) : c("", !0),
414
- t.helperText ? (s(), o("p", Le, w(t.helperText), 1)) : c("", !0),
415
- f.value ? (s(), o("p", Se, w(f.value), 1)) : c("", !0)
413
+ ])) : f("", !0),
414
+ t.helperText ? (s(), o("p", Le, w(t.helperText), 1)) : f("", !0),
415
+ p.value ? (s(), o("p", Se, w(p.value), 1)) : f("", !0)
416
416
  ])
417
417
  ], 34));
418
418
  }
419
- }), De = ["stroke-width"], Oe = {
419
+ }), Ie = ["stroke-width"], De = {
420
420
  class: "w-full h-full rounded-lg overflow-hidden",
421
421
  style: { "background-color": "#f7f7f7" }
422
- }, Ie = /* @__PURE__ */ S({
422
+ }, Oe = /* @__PURE__ */ D({
423
423
  __name: "Loader",
424
424
  props: {
425
425
  type: { default: "circular" },
@@ -437,24 +437,24 @@ const le = { class: "flex items-center gap-4" }, ae = {
437
437
  warning: "text-warning-500",
438
438
  danger: "text-danger-500",
439
439
  info: "text-info-500"
440
- }, u = {
440
+ }, i = {
441
441
  primary: "bg-primary-700",
442
442
  secondary: "bg-secondary-500",
443
443
  success: "bg-success-500",
444
444
  warning: "bg-warning-500",
445
445
  danger: "bg-danger-500",
446
446
  info: "bg-info-500"
447
- }, n = p(() => [e[b.color]]), d = p(() => [u[b.color]]);
448
- return (r, f) => t.type === "circular" ? (s(), o("div", {
447
+ }, a = c(() => [e[b.color]]), d = c(() => [i[b.color]]);
448
+ return (r, p) => t.type === "circular" ? (s(), o("div", {
449
449
  key: 0,
450
- class: v(n.value)
450
+ class: g(a.value)
451
451
  }, [
452
452
  (s(), o("svg", {
453
453
  class: "animate-spin",
454
454
  style: W({ width: t.size, height: t.size }),
455
455
  viewBox: "0 0 24 24"
456
456
  }, [
457
- a("circle", {
457
+ l("circle", {
458
458
  class: "opacity-25",
459
459
  cx: "12",
460
460
  cy: "12",
@@ -462,8 +462,8 @@ const le = { class: "flex items-center gap-4" }, ae = {
462
462
  stroke: "currentColor",
463
463
  "stroke-width": t.strokeWidth,
464
464
  fill: "none"
465
- }, null, 8, De),
466
- f[0] || (f[0] = a("path", {
465
+ }, null, 8, Ie),
466
+ p[0] || (p[0] = l("path", {
467
467
  class: "opacity-75",
468
468
  fill: "currentColor",
469
469
  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"
@@ -474,18 +474,18 @@ const le = { class: "flex items-center gap-4" }, ae = {
474
474
  class: "w-full",
475
475
  style: W({ height: t.height })
476
476
  }, [
477
- a("div", Oe, [
478
- a("div", {
479
- class: v([d.value, "h-full rounded-lg animate-linear-loader"]),
477
+ l("div", De, [
478
+ l("div", {
479
+ class: g([d.value, "h-full rounded-lg animate-linear-loader"]),
480
480
  style: W({ width: t.progress ? `${t.progress}%` : void 0 })
481
481
  }, null, 6)
482
482
  ])
483
- ], 4)) : c("", !0);
483
+ ], 4)) : f("", !0);
484
484
  }
485
- }), At = /* @__PURE__ */ R(Ie, [["__scopeId", "data-v-8df4ec38"]]), Ee = ["disabled", "aria-expanded"], He = ["disabled", "onClick"], Fe = {
485
+ }), Ut = /* @__PURE__ */ R(Oe, [["__scopeId", "data-v-8df4ec38"]]), Ee = ["disabled", "aria-expanded"], He = ["disabled", "onClick"], Ae = {
486
486
  key: 0,
487
487
  class: "flex-shrink-0"
488
- }, Pe = ["innerHTML"], We = { class: "flex-1 min-w-0 mr-2" }, Ae = { class: "flex flex-col items-start" }, Ke = ["title"], Re = ["title"], Ne = {
488
+ }, Fe = ["innerHTML"], Pe = { class: "flex-1 min-w-0 mr-2" }, We = { class: "flex flex-col items-start" }, Ke = ["title"], Re = ["title"], Ne = {
489
489
  key: 1,
490
490
  class: "flex-shrink-0"
491
491
  }, qe = {
@@ -497,7 +497,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
497
497
  fill: "none",
498
498
  stroke: "currentColor",
499
499
  viewBox: "0 0 24 24"
500
- }, Qe = /* @__PURE__ */ S({
500
+ }, Qe = /* @__PURE__ */ D({
501
501
  __name: "Menu",
502
502
  props: {
503
503
  items: { default: () => [] },
@@ -517,243 +517,243 @@ const le = { class: "flex items-center gap-4" }, ae = {
517
517
  },
518
518
  emits: ["open", "close", "select"],
519
519
  setup(t, { emit: b }) {
520
- const e = t, u = b, n = j(!1), d = j(null), r = j(null), f = j({}), i = p(() => [
520
+ const e = t, i = b, a = I(!1), d = I(null), r = I(null), p = I({}), u = c(() => [
521
521
  "inline-flex items-center justify-center px-4 py-2 text-sm font-medium",
522
522
  "bg-white border border-secondary-300 rounded-md",
523
523
  "hover:bg-secondary-50 focus:outline-none focus:ring-2 focus:ring-primary-500",
524
524
  "disabled:opacity-50 disabled:cursor-not-allowed",
525
525
  "transition-colors"
526
- ].join(" ")), y = p(() => [...[
526
+ ].join(" ")), y = c(() => [...[
527
527
  "fixed bg-white rounded-lg shadow-lg border border-secondary-200",
528
528
  "flex flex-col",
529
529
  "focus:outline-none"
530
- ], `z-${e.zIndex}`].join(" ")), x = p(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), L = p(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), D = p(() => "py-1 overflow-y-auto flex-1 min-h-0"), T = p(() => "my-1 border-t border-secondary-200"), _ = p(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), O = (l) => {
531
- const k = [
530
+ ], `z-${e.zIndex}`].join(" ")), m = c(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), z = c(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), V = c(() => "py-1 overflow-y-auto flex-1 min-h-0"), T = c(() => "my-1 border-t border-secondary-200"), h = c(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), L = (n) => {
531
+ const $ = [
532
532
  "w-full flex items-center gap-3 px-4 py-2 text-sm text-left",
533
533
  "transition-colors focus:outline-none",
534
534
  "disabled:opacity-50 disabled:cursor-not-allowed"
535
- ], g = l.variant || "default", N = {
535
+ ], v = n.variant || "default", N = {
536
536
  default: "text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50",
537
537
  danger: "text-danger-600 hover:bg-danger-50 focus:bg-danger-50",
538
538
  success: "text-success-600 hover:bg-success-50 focus:bg-success-50",
539
539
  warning: "text-warning-600 hover:bg-warning-50 focus:bg-warning-50"
540
540
  };
541
- let z = "";
542
- return l.color && (z = l.color, (l.color.includes("white") || l.color.includes("50")) && (z += " hover:text-black")), [...k, z || N[g]].join(" ");
541
+ let _ = "";
542
+ return n.color && (_ = n.color, (n.color.includes("white") || n.color.includes("50")) && (_ += " hover:text-black")), [...$, _ || N[v]].join(" ");
543
543
  }, P = () => {
544
- e.disabled || (n.value ? C() : E());
545
- }, E = () => {
546
- n.value = !0, u("open"), J(() => {
547
- m(), document.addEventListener("click", M), document.addEventListener("keydown", I);
544
+ e.disabled || (a.value ? B() : H());
545
+ }, H = () => {
546
+ a.value = !0, i("open"), Z(() => {
547
+ k(), document.addEventListener("click", j), document.addEventListener("keydown", O);
548
548
  });
549
- }, C = () => {
550
- n.value = !1, u("close"), document.removeEventListener("click", M), document.removeEventListener("keydown", I);
551
- }, B = (l) => {
552
- l.disabled || (l.action && l.action(), u("select", l), e.closeOnClick && !l.children && C());
553
- }, M = (l) => {
554
- const k = l.target;
555
- d.value && !d.value.contains(k) && r.value && !r.value.contains(k) && C();
556
- }, I = (l) => {
557
- l.key === "Escape" && C();
558
- }, h = (l) => {
559
- (l.key === "Enter" || l.key === " ") && (l.preventDefault(), P());
560
- }, m = () => {
549
+ }, B = () => {
550
+ a.value = !1, i("close"), document.removeEventListener("click", j), document.removeEventListener("keydown", O);
551
+ }, M = (n) => {
552
+ n.disabled || (n.action && n.action(), i("select", n), e.closeOnClick && !n.children && B());
553
+ }, j = (n) => {
554
+ const $ = n.target;
555
+ d.value && !d.value.contains($) && r.value && !r.value.contains($) && B();
556
+ }, O = (n) => {
557
+ n.key === "Escape" && B();
558
+ }, x = (n) => {
559
+ (n.key === "Enter" || n.key === " ") && (n.preventDefault(), P());
560
+ }, k = () => {
561
561
  if (!d.value || !r.value) return;
562
- const l = d.value.getBoundingClientRect(), k = r.value.getBoundingClientRect(), g = window.innerWidth, N = window.innerHeight;
563
- let z = 0, V = 0;
562
+ const n = d.value.getBoundingClientRect(), $ = r.value.getBoundingClientRect(), v = window.innerWidth, N = window.innerHeight;
563
+ let _ = 0, S = 0;
564
564
  switch (e.position) {
565
565
  case "bottom-start":
566
- z = l.bottom + e.offset.y, V = l.left + e.offset.x;
566
+ _ = n.bottom + e.offset.y, S = n.left + e.offset.x;
567
567
  break;
568
568
  case "bottom-end":
569
- z = l.bottom + e.offset.y, V = l.right - k.width + e.offset.x;
569
+ _ = n.bottom + e.offset.y, S = n.right - $.width + e.offset.x;
570
570
  break;
571
571
  case "top-start":
572
- z = l.top - k.height - e.offset.y, V = l.left + e.offset.x;
572
+ _ = n.top - $.height - e.offset.y, S = n.left + e.offset.x;
573
573
  break;
574
574
  case "top-end":
575
- z = l.top - k.height - e.offset.y, V = l.right - k.width + e.offset.x;
575
+ _ = n.top - $.height - e.offset.y, S = n.right - $.width + e.offset.x;
576
576
  break;
577
577
  case "right-start":
578
- z = l.top + e.offset.y, V = l.right + e.offset.x;
578
+ _ = n.top + e.offset.y, S = n.right + e.offset.x;
579
579
  break;
580
580
  case "right-end":
581
- z = l.bottom - k.height + e.offset.y, V = l.right + e.offset.x;
581
+ _ = n.bottom - $.height + e.offset.y, S = n.right + e.offset.x;
582
582
  break;
583
583
  case "left-start":
584
- z = l.top + e.offset.y, V = l.left - k.width - e.offset.x;
584
+ _ = n.top + e.offset.y, S = n.left - $.width - e.offset.x;
585
585
  break;
586
586
  case "left-end":
587
- z = l.bottom - k.height + e.offset.y, V = l.left - k.width - e.offset.x;
587
+ _ = n.bottom - $.height + e.offset.y, S = n.left - $.width - e.offset.x;
588
588
  break;
589
589
  }
590
- V + k.width > g && (V = g - k.width - 8), V < 8 && (V = 8), z + k.height > N && (z = N - k.height - 8), z < 8 && (z = 8), f.value = {
591
- top: `${z}px`,
592
- left: `${V}px`,
593
- width: e.width === "auto" ? `${Math.max(l.width, 240)}px` : e.width,
590
+ S + $.width > v && (S = v - $.width - 8), S < 8 && (S = 8), _ + $.height > N && (_ = N - $.height - 8), _ < 8 && (_ = 8), p.value = {
591
+ top: `${_}px`,
592
+ left: `${S}px`,
593
+ width: e.width === "auto" ? `${Math.max(n.width, 240)}px` : e.width,
594
594
  maxHeight: e.maxHeight,
595
595
  minWidth: "240px"
596
596
  };
597
597
  };
598
598
  return ee(() => {
599
- window.addEventListener("scroll", m, !0), window.addEventListener("resize", m);
599
+ window.addEventListener("scroll", k, !0), window.addEventListener("resize", k);
600
600
  }), te(() => {
601
- window.removeEventListener("scroll", m, !0), window.removeEventListener("resize", m), document.removeEventListener("click", M), document.removeEventListener("keydown", I);
602
- }), Y(() => e.items, () => {
603
- n.value && J(m);
604
- }, { deep: !0 }), (l, k) => (s(), o("div", {
605
- class: v(["menu-wrapper", { "w-full": t.fullWidth }])
601
+ window.removeEventListener("scroll", k, !0), window.removeEventListener("resize", k), document.removeEventListener("click", j), document.removeEventListener("keydown", O);
602
+ }), X(() => e.items, () => {
603
+ a.value && Z(k);
604
+ }, { deep: !0 }), (n, $) => (s(), o("div", {
605
+ class: g(["menu-wrapper", { "w-full": t.fullWidth }])
606
606
  }, [
607
- a("div", {
607
+ l("div", {
608
608
  ref_key: "triggerRef",
609
609
  ref: d
610
610
  }, [
611
- $(l.$slots, "trigger", {
612
- isOpen: n.value,
611
+ C(n.$slots, "trigger", {
612
+ isOpen: a.value,
613
613
  toggle: P
614
614
  }, () => [
615
- a("button", {
615
+ l("button", {
616
616
  type: "button",
617
- class: v(i.value),
617
+ class: g(u.value),
618
618
  disabled: t.disabled,
619
619
  onClick: P,
620
- onKeydown: h,
620
+ onKeydown: x,
621
621
  tabindex: 0,
622
622
  role: "button",
623
- "aria-expanded": n.value,
623
+ "aria-expanded": a.value,
624
624
  "aria-haspopup": !0
625
625
  }, [
626
- $(l.$slots, "trigger-content", {}, () => [
627
- K(w(t.triggerText), 1)
626
+ C(n.$slots, "trigger-content", {}, () => [
627
+ E(w(t.triggerText), 1)
628
628
  ], !0),
629
629
  t.showChevron ? (s(), o("svg", {
630
630
  key: 0,
631
- class: v(["w-4 h-4 ml-2 transition-transform", n.value ? "rotate-180" : ""]),
631
+ class: g(["w-4 h-4 ml-2 transition-transform", a.value ? "rotate-180" : ""]),
632
632
  fill: "none",
633
633
  stroke: "currentColor",
634
634
  viewBox: "0 0 24 24"
635
- }, [...k[1] || (k[1] = [
636
- a("path", {
635
+ }, [...$[1] || ($[1] = [
636
+ l("path", {
637
637
  "stroke-linecap": "round",
638
638
  "stroke-linejoin": "round",
639
639
  "stroke-width": "2",
640
640
  d: "M19 9l-7 7-7-7"
641
641
  }, null, -1)
642
- ])], 2)) : c("", !0)
642
+ ])], 2)) : f("", !0)
643
643
  ], 42, Ee)
644
644
  ], !0)
645
645
  ], 512),
646
- (s(), q(X, { to: "body" }, [
647
- n.value ? (s(), o("div", {
646
+ (s(), q(J, { to: "body" }, [
647
+ a.value ? (s(), o("div", {
648
648
  key: 0,
649
649
  ref_key: "menuRef",
650
650
  ref: r,
651
- class: v(y.value),
652
- style: W(f.value),
653
- onClick: k[0] || (k[0] = H(() => {
651
+ class: g(y.value),
652
+ style: W(p.value),
653
+ onClick: $[0] || ($[0] = A(() => {
654
654
  }, ["stop"]))
655
655
  }, [
656
- l.$slots.header ? (s(), o("div", {
656
+ n.$slots.header ? (s(), o("div", {
657
657
  key: 0,
658
- class: v(x.value)
658
+ class: g(m.value)
659
659
  }, [
660
- $(l.$slots, "header", { close: C }, void 0, !0)
661
- ], 2)) : c("", !0),
662
- a("div", {
663
- class: v(D.value)
660
+ C(n.$slots, "header", { close: B }, void 0, !0)
661
+ ], 2)) : f("", !0),
662
+ l("div", {
663
+ class: g(V.value)
664
664
  }, [
665
- $(l.$slots, "default", {
666
- close: C,
667
- isOpen: n.value
665
+ C(n.$slots, "default", {
666
+ close: B,
667
+ isOpen: a.value
668
668
  }, () => [
669
- (s(!0), o(F, null, A(t.items, (g, N) => (s(), o(F, {
670
- key: g.id || N
669
+ (s(!0), o(F, null, K(t.items, (v, N) => (s(), o(F, {
670
+ key: v.id || N
671
671
  }, [
672
- g.type === "divider" ? (s(), o("div", {
672
+ v.type === "divider" ? (s(), o("div", {
673
673
  key: 0,
674
- class: v(T.value)
675
- }, null, 2)) : g.type === "header" ? (s(), o("div", {
674
+ class: g(T.value)
675
+ }, null, 2)) : v.type === "header" ? (s(), o("div", {
676
676
  key: 1,
677
- class: v(_.value)
678
- }, w(g.label), 3)) : (s(), o("button", {
677
+ class: g(h.value)
678
+ }, w(v.label), 3)) : (s(), o("button", {
679
679
  key: 2,
680
680
  type: "button",
681
- class: v(O(g)),
682
- disabled: g.disabled,
683
- onClick: (z) => B(g)
681
+ class: g(L(v)),
682
+ disabled: v.disabled,
683
+ onClick: (_) => M(v)
684
684
  }, [
685
- g.icon || l.$slots[`icon-${g.id}`] ? (s(), o("span", Fe, [
686
- $(l.$slots, `icon-${g.id}`, { item: g }, () => [
687
- typeof g.icon != "string" ? (s(), q(Z(g.icon), {
685
+ v.icon || n.$slots[`icon-${v.id}`] ? (s(), o("span", Ae, [
686
+ C(n.$slots, `icon-${v.id}`, { item: v }, () => [
687
+ typeof v.icon != "string" ? (s(), q(Y(v.icon), {
688
688
  key: 0,
689
689
  class: "w-5 h-5"
690
690
  })) : (s(), o("span", {
691
691
  key: 1,
692
- innerHTML: g.icon,
692
+ innerHTML: v.icon,
693
693
  class: "w-5 h-5 inline-block"
694
- }, null, 8, Pe))
694
+ }, null, 8, Fe))
695
695
  ], !0)
696
- ])) : c("", !0),
697
- a("div", We, [
698
- $(l.$slots, `item-${g.id}`, {
699
- item: g,
700
- close: C
696
+ ])) : f("", !0),
697
+ l("div", Pe, [
698
+ C(n.$slots, `item-${v.id}`, {
699
+ item: v,
700
+ close: B
701
701
  }, () => [
702
- a("div", Ae, [
703
- a("span", {
702
+ l("div", We, [
703
+ l("span", {
704
704
  class: "truncate w-full",
705
- title: g.label
706
- }, w(g.label), 9, Ke),
707
- g.description ? (s(), o("span", {
705
+ title: v.label
706
+ }, w(v.label), 9, Ke),
707
+ v.description ? (s(), o("span", {
708
708
  key: 0,
709
709
  class: "text-xs text-secondary-500 truncate w-full",
710
- title: g.description
711
- }, w(g.description), 9, Re)) : c("", !0)
710
+ title: v.description
711
+ }, w(v.description), 9, Re)) : f("", !0)
712
712
  ])
713
713
  ], !0)
714
714
  ]),
715
- g.suffix || g.shortcut || l.$slots[`suffix-${g.id}`] ? (s(), o("span", Ne, [
716
- $(l.$slots, `suffix-${g.id}`, { item: g }, () => [
717
- g.shortcut ? (s(), o("span", qe, w(g.shortcut), 1)) : g.suffix ? (s(), o("span", Ue, w(g.suffix), 1)) : c("", !0)
715
+ v.suffix || v.shortcut || n.$slots[`suffix-${v.id}`] ? (s(), o("span", Ne, [
716
+ C(n.$slots, `suffix-${v.id}`, { item: v }, () => [
717
+ v.shortcut ? (s(), o("span", qe, w(v.shortcut), 1)) : v.suffix ? (s(), o("span", Ue, w(v.suffix), 1)) : f("", !0)
718
718
  ], !0)
719
- ])) : c("", !0),
720
- g.children && g.children.length > 0 ? (s(), o("svg", Ge, [...k[2] || (k[2] = [
721
- a("path", {
719
+ ])) : f("", !0),
720
+ v.children && v.children.length > 0 ? (s(), o("svg", Ge, [...$[2] || ($[2] = [
721
+ l("path", {
722
722
  "stroke-linecap": "round",
723
723
  "stroke-linejoin": "round",
724
724
  "stroke-width": "2",
725
725
  d: "M9 5l7 7-7 7"
726
726
  }, null, -1)
727
- ])])) : c("", !0)
727
+ ])])) : f("", !0)
728
728
  ], 10, He))
729
729
  ], 64))), 128))
730
730
  ], !0)
731
731
  ], 2),
732
- l.$slots.footer ? (s(), o("div", {
732
+ n.$slots.footer ? (s(), o("div", {
733
733
  key: 1,
734
- class: v(L.value)
734
+ class: g(z.value)
735
735
  }, [
736
- $(l.$slots, "footer", { close: C }, void 0, !0)
737
- ], 2)) : c("", !0)
738
- ], 6)) : c("", !0),
739
- n.value && t.overlay ? (s(), o("div", {
736
+ C(n.$slots, "footer", { close: B }, void 0, !0)
737
+ ], 2)) : f("", !0)
738
+ ], 6)) : f("", !0),
739
+ a.value && t.overlay ? (s(), o("div", {
740
740
  key: 1,
741
741
  class: "fixed inset-0 bg-black/20 z-40",
742
- onClick: C
743
- })) : c("", !0)
742
+ onClick: B
743
+ })) : f("", !0)
744
744
  ]))
745
745
  ], 2));
746
746
  }
747
- }), Kt = /* @__PURE__ */ R(Qe, [["__scopeId", "data-v-335f2699"]]), Je = ["for"], Xe = {
747
+ }), Gt = /* @__PURE__ */ R(Qe, [["__scopeId", "data-v-335f2699"]]), Ze = ["for"], Je = {
748
748
  key: 0,
749
749
  class: "text-danger-600"
750
- }, Ye = { class: "relative" }, Ze = ["id", "disabled", "aria-expanded"], et = { class: "flex-1 text-left truncate" }, tt = {
750
+ }, Xe = { class: "relative" }, Ye = ["id", "disabled", "aria-expanded"], et = { class: "flex-1 text-left truncate" }, tt = {
751
751
  key: 0,
752
752
  class: "p-2 border-b border-secondary-200"
753
753
  }, st = ["placeholder"], ot = { class: "max-h-64 overflow-y-auto" }, lt = {
754
754
  key: 0,
755
755
  class: "px-4 py-3 text-sm text-secondary-500 text-center"
756
- }, at = ["onClick"], nt = { class: "flex items-center justify-between w-full" }, rt = { class: "truncate" }, it = {
756
+ }, nt = ["onClick"], at = { class: "flex items-center justify-between w-full" }, rt = { class: "truncate" }, it = {
757
757
  key: 0,
758
758
  class: "w-5 h-5 text-primary-600 flex-shrink-0 ml-2",
759
759
  fill: "none",
@@ -769,7 +769,7 @@ const le = { class: "flex items-center gap-4" }, ae = {
769
769
  }, pt = {
770
770
  key: 2,
771
771
  class: "mt-1 text-sm text-secondary-600"
772
- }, gt = /* @__PURE__ */ S({
772
+ }, gt = /* @__PURE__ */ D({
773
773
  __name: "Select",
774
774
  props: {
775
775
  modelValue: { default: null },
@@ -791,166 +791,166 @@ const le = { class: "flex items-center gap-4" }, ae = {
791
791
  },
792
792
  emits: ["update:modelValue", "change", "action"],
793
793
  setup(t, { emit: b }) {
794
- const e = t, u = b, n = j(!1), d = j(""), r = j(null), f = p(
794
+ const e = t, i = b, a = I(!1), d = I(""), r = I(null), p = c(
795
795
  () => `select-${Math.random().toString(36).substr(2, 9)}`
796
- ), i = p(() => e.options.find((h) => h.value === e.modelValue) || null), y = p(() => {
796
+ ), u = c(() => e.options.find((x) => x.value === e.modelValue) || null), y = c(() => {
797
797
  if (!e.searchable || !d.value)
798
798
  return e.options;
799
- const h = d.value.toLowerCase();
800
- return e.options.filter((m) => m.label.toLowerCase().includes(h));
801
- }), x = p(() => "block text-sm font-semibold text-secondary-700 mb-1"), L = p(() => {
802
- const h = "w-full flex items-center justify-between gap-2 border rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500 disabled:opacity-50 disabled:cursor-not-allowed", m = {
799
+ const x = d.value.toLowerCase();
800
+ return e.options.filter((k) => k.label.toLowerCase().includes(x));
801
+ }), m = c(() => "block text-sm font-semibold text-secondary-700 mb-1"), z = c(() => {
802
+ const x = "w-full flex items-center justify-between gap-2 border rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500 disabled:opacity-50 disabled:cursor-not-allowed", k = {
803
803
  sm: "px-3 py-1.5 text-sm",
804
804
  md: "px-4 py-2 text-base",
805
805
  lg: "px-5 py-3 text-lg"
806
- }, l = {
806
+ }, n = {
807
807
  default: "bg-white border-secondary-300 hover:border-secondary-400",
808
808
  outline: "bg-transparent border-secondary-300 hover:border-primary-500",
809
809
  filled: "bg-secondary-100 border-transparent hover:bg-secondary-200"
810
- }, k = e.error ? "border-danger-600 focus:ring-danger-500" : "";
810
+ }, $ = e.error ? "border-danger-600 focus:ring-danger-500" : "";
811
811
  return [
812
- h,
813
- m[e.size],
814
- l[e.variant],
815
- k
812
+ x,
813
+ k[e.size],
814
+ n[e.variant],
815
+ $
816
816
  ].join(" ");
817
- }), D = p(() => `absolute ${e.menuPosition === "top" ? "bottom-full mb-1" : "top-full mt-1"} left-0 right-0 bg-white rounded-lg shadow-lg border border-secondary-200 z-50 overflow-hidden`), T = (h) => {
818
- const m = "w-full px-4 py-2 text-left hover:bg-primary-50 transition-colors focus:outline-none focus:bg-primary-50 disabled:opacity-50 disabled:cursor-not-allowed", l = O(h) ? "bg-primary-50" : "";
819
- return [m, l].join(" ");
820
- }, _ = (h) => {
821
- const m = "w-full px-4 py-2 text-left text-sm font-semibold transition-colors focus:outline-none flex items-center gap-3";
822
- return h.variant === "danger" ? `${m} text-danger-600 hover:bg-danger-50 focus:bg-danger-50` : `${m} text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50`;
823
- }, O = (h) => h.value === e.modelValue, P = () => {
824
- e.disabled || (n.value = !n.value, n.value && e.searchable && J(() => {
825
- var h;
826
- (h = r.value) == null || h.focus();
817
+ }), V = c(() => `absolute ${e.menuPosition === "top" ? "bottom-full mb-1" : "top-full mt-1"} left-0 right-0 bg-white rounded-lg shadow-lg border border-secondary-200 z-50 overflow-hidden`), T = (x) => {
818
+ const k = "w-full px-4 py-2 text-left hover:bg-primary-50 transition-colors focus:outline-none focus:bg-primary-50 disabled:opacity-50 disabled:cursor-not-allowed", n = L(x) ? "bg-primary-50" : "";
819
+ return [k, n].join(" ");
820
+ }, h = (x) => {
821
+ const k = "w-full px-4 py-2 text-left text-sm font-semibold transition-colors focus:outline-none flex items-center gap-3";
822
+ return x.variant === "danger" ? `${k} text-danger-600 hover:bg-danger-50 focus:bg-danger-50` : `${k} text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50`;
823
+ }, L = (x) => x.value === e.modelValue, P = () => {
824
+ e.disabled || (a.value = !a.value, a.value && e.searchable && Z(() => {
825
+ var x;
826
+ (x = r.value) == null || x.focus();
827
827
  }));
828
- }, E = () => {
829
- n.value = !1, d.value = "";
830
- }, C = (h) => {
831
- h.disabled || (u("update:modelValue", h.value), u("change", h), E());
832
- }, B = (h) => {
833
- h.action && h.action(), u("action", h), E();
834
- }, M = (h) => {
835
- const m = h.relatedTarget;
836
- m && m.closest(".select-wrapper") || setTimeout(() => {
837
- E();
828
+ }, H = () => {
829
+ a.value = !1, d.value = "";
830
+ }, B = (x) => {
831
+ x.disabled || (i("update:modelValue", x.value), i("change", x), H());
832
+ }, M = (x) => {
833
+ x.action && x.action(), i("action", x), H();
834
+ }, j = (x) => {
835
+ const k = x.relatedTarget;
836
+ k && k.closest(".select-wrapper") || setTimeout(() => {
837
+ H();
838
838
  }, 200);
839
- }, I = (h) => {
840
- h.key === "Escape" ? E() : (h.key === "Enter" || h.key === " ") && (h.preventDefault(), P());
839
+ }, O = (x) => {
840
+ x.key === "Escape" ? H() : (x.key === "Enter" || x.key === " ") && (x.preventDefault(), P());
841
841
  };
842
- return Y(n, (h) => {
843
- h && (d.value = "");
844
- }), (h, m) => (s(), o("div", {
845
- class: v(["select-wrapper", { "w-full": t.fullWidth }])
842
+ return X(a, (x) => {
843
+ x && (d.value = "");
844
+ }), (x, k) => (s(), o("div", {
845
+ class: g(["select-wrapper", { "w-full": t.fullWidth }])
846
846
  }, [
847
847
  t.label ? (s(), o("label", {
848
848
  key: 0,
849
- for: f.value,
850
- class: v(x.value)
849
+ for: p.value,
850
+ class: g(m.value)
851
851
  }, [
852
- K(w(t.label) + " ", 1),
853
- t.required ? (s(), o("span", Xe, "*")) : c("", !0)
854
- ], 10, Je)) : c("", !0),
855
- a("div", Ye, [
856
- a("button", {
857
- id: f.value,
852
+ E(w(t.label) + " ", 1),
853
+ t.required ? (s(), o("span", Je, "*")) : f("", !0)
854
+ ], 10, Ze)) : f("", !0),
855
+ l("div", Xe, [
856
+ l("button", {
857
+ id: p.value,
858
858
  type: "button",
859
- class: v(L.value),
859
+ class: g(z.value),
860
860
  disabled: t.disabled,
861
- "aria-expanded": n.value,
861
+ "aria-expanded": a.value,
862
862
  "aria-haspopup": !0,
863
863
  onClick: P,
864
- onBlur: M,
865
- onKeydown: I
864
+ onBlur: j,
865
+ onKeydown: O
866
866
  }, [
867
- a("span", et, w(i.value ? i.value.label : t.placeholder), 1),
867
+ l("span", et, w(u.value ? u.value.label : t.placeholder), 1),
868
868
  (s(), o("svg", {
869
- class: v(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", n.value ? "rotate-180" : ""]),
869
+ class: g(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", a.value ? "rotate-180" : ""]),
870
870
  fill: "none",
871
871
  stroke: "currentColor",
872
872
  viewBox: "0 0 24 24",
873
873
  xmlns: "http://www.w3.org/2000/svg"
874
- }, [...m[3] || (m[3] = [
875
- a("path", {
874
+ }, [...k[3] || (k[3] = [
875
+ l("path", {
876
876
  "stroke-linecap": "round",
877
877
  "stroke-linejoin": "round",
878
878
  "stroke-width": "2",
879
879
  d: "M19 9l-7 7-7-7"
880
880
  }, null, -1)
881
881
  ])], 2))
882
- ], 42, Ze),
883
- n.value ? (s(), o("div", {
882
+ ], 42, Ye),
883
+ a.value ? (s(), o("div", {
884
884
  key: 0,
885
- class: v(D.value),
886
- onClick: m[2] || (m[2] = H(() => {
885
+ class: g(V.value),
886
+ onClick: k[2] || (k[2] = A(() => {
887
887
  }, ["stop"]))
888
888
  }, [
889
889
  t.searchable ? (s(), o("div", tt, [
890
- se(a("input", {
890
+ se(l("input", {
891
891
  ref_key: "searchInput",
892
892
  ref: r,
893
- "onUpdate:modelValue": m[0] || (m[0] = (l) => d.value = l),
893
+ "onUpdate:modelValue": k[0] || (k[0] = (n) => d.value = n),
894
894
  type: "text",
895
895
  class: "w-full px-3 py-2 text-sm border border-secondary-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary-500",
896
896
  placeholder: t.searchPlaceholder,
897
- onKeydown: m[1] || (m[1] = H(() => {
897
+ onKeydown: k[1] || (k[1] = A(() => {
898
898
  }, ["stop"]))
899
899
  }, null, 40, st), [
900
900
  [oe, d.value]
901
901
  ])
902
- ])) : c("", !0),
903
- a("div", ot, [
902
+ ])) : f("", !0),
903
+ l("div", ot, [
904
904
  y.value.length === 0 ? (s(), o("div", lt, w(t.emptyText), 1)) : (s(), o(F, { key: 1 }, [
905
- (s(!0), o(F, null, A(y.value, (l) => (s(), o("button", {
906
- key: l.value,
905
+ (s(!0), o(F, null, K(y.value, (n) => (s(), o("button", {
906
+ key: n.value,
907
907
  type: "button",
908
- class: v(T(l)),
909
- onClick: (k) => C(l)
908
+ class: g(T(n)),
909
+ onClick: ($) => B(n)
910
910
  }, [
911
- a("div", nt, [
912
- a("span", rt, w(l.label), 1),
913
- O(l) ? (s(), o("svg", it, [...m[4] || (m[4] = [
914
- a("path", {
911
+ l("div", at, [
912
+ l("span", rt, w(n.label), 1),
913
+ L(n) ? (s(), o("svg", it, [...k[4] || (k[4] = [
914
+ l("path", {
915
915
  "stroke-linecap": "round",
916
916
  "stroke-linejoin": "round",
917
917
  "stroke-width": "2",
918
918
  d: "M5 13l4 4L19 7"
919
919
  }, null, -1)
920
- ])])) : c("", !0)
920
+ ])])) : f("", !0)
921
921
  ])
922
- ], 10, at))), 128)),
923
- t.actionItems.length > 0 ? (s(), o("div", dt)) : c("", !0),
924
- (s(!0), o(F, null, A(t.actionItems, (l) => (s(), o("button", {
925
- key: l.id,
922
+ ], 10, nt))), 128)),
923
+ t.actionItems.length > 0 ? (s(), o("div", dt)) : f("", !0),
924
+ (s(!0), o(F, null, K(t.actionItems, (n) => (s(), o("button", {
925
+ key: n.id,
926
926
  type: "button",
927
- class: v(_(l)),
928
- onClick: (k) => B(l)
927
+ class: g(h(n)),
928
+ onClick: ($) => M(n)
929
929
  }, [
930
- l.icon ? (s(), o("svg", {
930
+ n.icon ? (s(), o("svg", {
931
931
  key: 0,
932
932
  class: "w-4 h-4 flex-shrink-0",
933
933
  fill: "none",
934
934
  stroke: "currentColor",
935
935
  viewBox: "0 0 24 24",
936
936
  xmlns: "http://www.w3.org/2000/svg",
937
- innerHTML: l.icon
938
- }, null, 8, ct)) : c("", !0),
939
- K(" " + w(l.label), 1)
937
+ innerHTML: n.icon
938
+ }, null, 8, ct)) : f("", !0),
939
+ E(" " + w(n.label), 1)
940
940
  ], 10, ut))), 128))
941
941
  ], 64))
942
942
  ])
943
- ], 2)) : c("", !0)
943
+ ], 2)) : f("", !0)
944
944
  ]),
945
- t.error ? (s(), o("p", ft, w(t.error), 1)) : t.helperText ? (s(), o("p", pt, w(t.helperText), 1)) : c("", !0),
946
- n.value ? (s(), o("div", {
945
+ t.error ? (s(), o("p", ft, w(t.error), 1)) : t.helperText ? (s(), o("p", pt, w(t.helperText), 1)) : f("", !0),
946
+ a.value ? (s(), o("div", {
947
947
  key: 3,
948
- onClick: E,
948
+ onClick: H,
949
949
  class: "fixed inset-0 z-40"
950
- })) : c("", !0)
950
+ })) : f("", !0)
951
951
  ], 2));
952
952
  }
953
- }), Rt = /* @__PURE__ */ R(gt, [["__scopeId", "data-v-f016a03c"]]), ht = /* @__PURE__ */ S({
953
+ }), Qt = /* @__PURE__ */ R(gt, [["__scopeId", "data-v-f016a03c"]]), vt = /* @__PURE__ */ D({
954
954
  __name: "Sidebar",
955
955
  props: {
956
956
  modelValue: { type: Boolean, default: !1 },
@@ -966,15 +966,15 @@ const le = { class: "flex items-center gap-4" }, ae = {
966
966
  },
967
967
  emits: ["update:modelValue", "close", "open"],
968
968
  setup(t, { emit: b }) {
969
- const e = t, u = b, n = p({
969
+ const e = t, i = b, a = c({
970
970
  get: () => e.modelValue,
971
- set: (T) => u("update:modelValue", T)
971
+ set: (T) => i("update:modelValue", T)
972
972
  }), d = () => {
973
- e.persistent || (n.value = !1, u("close"));
974
- }, r = p(() => e.position === "left" ? "slide-right" : "slide-left"), f = p(() => {
975
- const T = "fixed top-0 h-full z-50 flex flex-col", _ = e.position === "left" ? "left-0" : "right-0", O = 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)]" : "";
976
- return [T, _, O].filter(Boolean).join(" ");
977
- }), i = p(() => ({
973
+ e.persistent || (a.value = !1, i("close"));
974
+ }, r = c(() => e.position === "left" ? "slide-right" : "slide-left"), p = c(() => {
975
+ const T = "fixed top-0 h-full z-50 flex flex-col", h = e.position === "left" ? "left-0" : "right-0", L = 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)]" : "";
976
+ return [T, h, L].filter(Boolean).join(" ");
977
+ }), u = c(() => ({
978
978
  width: e.width,
979
979
  backgroundColor: e.backgroundColor,
980
980
  top: e.overlayTop,
@@ -984,79 +984,79 @@ const le = { class: "flex items-center gap-4" }, ae = {
984
984
  sm: "p-2",
985
985
  md: "p-4",
986
986
  lg: "p-6"
987
- }, x = p(() => `flex items-center justify-between border-b border-gray-200 ${y[e.padding]}`), L = p(() => `flex-1 overflow-y-auto ${y[e.padding]}`), D = p(() => `border-t border-gray-200 ${y[e.padding]}`);
988
- return (T, _) => (s(), q(X, { to: "body" }, [
987
+ }, m = c(() => `flex items-center justify-between border-b border-gray-200 ${y[e.padding]}`), z = c(() => `flex-1 overflow-y-auto ${y[e.padding]}`), V = c(() => `border-t border-gray-200 ${y[e.padding]}`);
988
+ return (T, h) => (s(), q(J, { to: "body" }, [
989
989
  G(Q, { name: "fade" }, {
990
990
  default: U(() => [
991
- n.value && t.overlay ? (s(), o("div", {
991
+ a.value && t.overlay ? (s(), o("div", {
992
992
  key: 0,
993
993
  onClick: d,
994
994
  class: "fixed inset-0 bg-black/50 z-40",
995
995
  style: W({ top: t.overlayTop })
996
- }, null, 4)) : c("", !0)
996
+ }, null, 4)) : f("", !0)
997
997
  ]),
998
998
  _: 1
999
999
  }),
1000
1000
  G(Q, { name: r.value }, {
1001
1001
  default: U(() => [
1002
- n.value ? (s(), o("aside", {
1002
+ a.value ? (s(), o("aside", {
1003
1003
  key: 0,
1004
- class: v(f.value),
1005
- style: W(i.value)
1004
+ class: g(p.value),
1005
+ style: W(u.value)
1006
1006
  }, [
1007
1007
  T.$slots.header ? (s(), o("div", {
1008
1008
  key: 0,
1009
- class: v(x.value)
1009
+ class: g(m.value)
1010
1010
  }, [
1011
- $(T.$slots, "header", {}, void 0, !0),
1011
+ C(T.$slots, "header", {}, void 0, !0),
1012
1012
  t.closable ? (s(), o("button", {
1013
1013
  key: 0,
1014
1014
  onClick: d,
1015
1015
  class: "p-2 hover:bg-gray-100 rounded-md transition-colors",
1016
1016
  "aria-label": "Cerrar menú"
1017
- }, [..._[0] || (_[0] = [
1018
- a("svg", {
1017
+ }, [...h[0] || (h[0] = [
1018
+ l("svg", {
1019
1019
  class: "w-5 h-5",
1020
1020
  fill: "none",
1021
1021
  stroke: "currentColor",
1022
1022
  viewBox: "0 0 24 24"
1023
1023
  }, [
1024
- a("path", {
1024
+ l("path", {
1025
1025
  "stroke-linecap": "round",
1026
1026
  "stroke-linejoin": "round",
1027
1027
  "stroke-width": "2",
1028
1028
  d: "M6 18L18 6M6 6l12 12"
1029
1029
  })
1030
1030
  ], -1)
1031
- ])])) : c("", !0)
1032
- ], 2)) : c("", !0),
1033
- a("div", {
1034
- class: v(L.value)
1031
+ ])])) : f("", !0)
1032
+ ], 2)) : f("", !0),
1033
+ l("div", {
1034
+ class: g(z.value)
1035
1035
  }, [
1036
- $(T.$slots, "default", {}, void 0, !0)
1036
+ C(T.$slots, "default", {}, void 0, !0)
1037
1037
  ], 2),
1038
1038
  T.$slots.footer ? (s(), o("div", {
1039
1039
  key: 1,
1040
- class: v(D.value)
1040
+ class: g(V.value)
1041
1041
  }, [
1042
- $(T.$slots, "footer", {}, void 0, !0)
1043
- ], 2)) : c("", !0)
1044
- ], 6)) : c("", !0)
1042
+ C(T.$slots, "footer", {}, void 0, !0)
1043
+ ], 2)) : f("", !0)
1044
+ ], 6)) : f("", !0)
1045
1045
  ]),
1046
1046
  _: 3
1047
1047
  }, 8, ["name"])
1048
1048
  ]));
1049
1049
  }
1050
- }), Nt = /* @__PURE__ */ R(ht, [["__scopeId", "data-v-fffb0e44"]]), vt = { class: "w-full overflow-x-auto" }, bt = { class: "w-full border-collapse" }, yt = { class: "w-full" }, xt = ["onClick"], mt = { class: "flex items-center gap-2" }, kt = {
1050
+ }), Zt = /* @__PURE__ */ R(vt, [["__scopeId", "data-v-fffb0e44"]]), bt = { class: "w-full overflow-x-auto" }, xt = { class: "w-full border-collapse" }, ht = { class: "w-full" }, yt = ["onClick"], mt = { class: "flex items-center gap-2" }, wt = {
1051
1051
  key: 0,
1052
1052
  class: "text-xs text-gray-400"
1053
- }, wt = { key: 0 }, Ct = { key: 1 }, $t = { class: "w-full" }, Bt = {
1053
+ }, kt = { key: 0 }, Ct = { key: 1 }, $t = { class: "w-full" }, Bt = {
1054
1054
  key: 0,
1055
1055
  class: "flex items-center justify-center py-12 text-gray-400"
1056
1056
  }, Tt = {
1057
1057
  key: 1,
1058
1058
  class: "w-full px-6 py-4 bg-white"
1059
- }, zt = /* @__PURE__ */ S({
1059
+ }, Mt = /* @__PURE__ */ D({
1060
1060
  __name: "Table",
1061
1061
  props: {
1062
1062
  columns: {},
@@ -1067,84 +1067,84 @@ const le = { class: "flex items-center gap-4" }, ae = {
1067
1067
  rowClass: { default: void 0 }
1068
1068
  },
1069
1069
  setup(t) {
1070
- const b = t, e = j(null), u = j("asc"), n = (r) => {
1071
- e.value === r ? u.value = u.value === "asc" ? "desc" : "asc" : (e.value = r, u.value = "asc");
1072
- }, d = p(() => {
1070
+ const b = t, e = I(null), i = I("asc"), a = (r) => {
1071
+ e.value === r ? i.value = i.value === "asc" ? "desc" : "asc" : (e.value = r, i.value = "asc");
1072
+ }, d = c(() => {
1073
1073
  if (!e.value)
1074
1074
  return b.data;
1075
1075
  const r = [...b.data];
1076
- return r.sort((f, i) => {
1077
- const y = f[e.value], x = i[e.value];
1078
- return typeof y == "string" && typeof x == "string" ? u.value === "asc" ? y.localeCompare(x) : x.localeCompare(y) : typeof y == "number" && typeof x == "number" ? u.value === "asc" ? y - x : x - y : 0;
1076
+ return r.sort((p, u) => {
1077
+ const y = p[e.value], m = u[e.value];
1078
+ return typeof y == "string" && typeof m == "string" ? i.value === "asc" ? y.localeCompare(m) : m.localeCompare(y) : typeof y == "number" && typeof m == "number" ? i.value === "asc" ? y - m : m - y : 0;
1079
1079
  }), r;
1080
1080
  });
1081
- return (r, f) => (s(), o("div", vt, [
1082
- a("table", bt, [
1083
- a("thead", yt, [
1084
- a("tr", {
1085
- class: v([
1081
+ return (r, p) => (s(), o("div", bt, [
1082
+ l("table", xt, [
1083
+ l("thead", ht, [
1084
+ l("tr", {
1085
+ class: g([
1086
1086
  "w-full",
1087
- t.headerClass || "bg-neutral-50 border-b border-gray-100"
1087
+ b.headerClass || "bg-neutral-50 border-b border-gray-100"
1088
1088
  ])
1089
1089
  }, [
1090
- (s(!0), o(F, null, A(t.columns, (i) => (s(), o("th", {
1091
- key: i.key,
1092
- style: W(i.width ? { width: i.width } : {}),
1093
- class: v([
1090
+ (s(!0), o(F, null, K(t.columns, (u) => (s(), o("th", {
1091
+ key: u.key,
1092
+ style: W(u.width ? { width: u.width } : {}),
1093
+ class: g([
1094
1094
  "px-4 py-3 text-left text-xs font-semibold text-gray-700 border-l border-gray-100 first:border-l-0",
1095
- i.sortable ? "cursor-pointer hover:text-primary-600 select-none transition-colors" : "",
1096
- t.headerCellClass
1095
+ u.sortable ? "cursor-pointer hover:text-primary-600 select-none transition-colors" : "",
1096
+ b.headerCellClass
1097
1097
  ]),
1098
- onClick: (y) => i.sortable && n(i.key)
1098
+ onClick: (y) => u.sortable && a(u.key)
1099
1099
  }, [
1100
- a("div", mt, [
1101
- a("span", null, w(i.label), 1),
1102
- i.sortable ? (s(), o("span", kt, [
1103
- e.value !== i.key ? (s(), o("span", wt, "⇅")) : (s(), o("span", Ct, w(u.value === "asc" ? "↑" : "↓"), 1))
1104
- ])) : c("", !0)
1100
+ l("div", mt, [
1101
+ l("span", null, w(u.label), 1),
1102
+ u.sortable ? (s(), o("span", wt, [
1103
+ e.value !== u.key ? (s(), o("span", kt, "⇅")) : (s(), o("span", Ct, w(i.value === "asc" ? "↑" : "↓"), 1))
1104
+ ])) : f("", !0)
1105
1105
  ])
1106
- ], 14, xt))), 128))
1106
+ ], 14, yt))), 128))
1107
1107
  ], 2)
1108
1108
  ]),
1109
- a("tbody", $t, [
1110
- (s(!0), o(F, null, A(d.value, (i, y) => (s(), o("tr", {
1109
+ l("tbody", $t, [
1110
+ (s(!0), o(F, null, K(d.value, (u, y) => (s(), o("tr", {
1111
1111
  key: y,
1112
- class: v([
1112
+ class: g([
1113
1113
  "w-full border-b border-gray-200 hover:bg-gray-50 transition-colors",
1114
- t.rowClass
1114
+ b.rowClass
1115
1115
  ])
1116
1116
  }, [
1117
- (s(!0), o(F, null, A(t.columns, (x) => (s(), o("td", {
1118
- key: `${y}-${x.key}`,
1119
- class: v([
1117
+ (s(!0), o(F, null, K(t.columns, (m) => (s(), o("td", {
1118
+ key: `${y}-${m.key}`,
1119
+ class: g([
1120
1120
  "px-4 py-3 text-xs text-gray-600 border-l border-gray-100 first:border-l-0",
1121
- t.cellClass
1121
+ b.cellClass
1122
1122
  ])
1123
1123
  }, [
1124
- $(r.$slots, `cell-${x.key}`, {
1125
- value: i[x.key],
1126
- row: i
1124
+ C(r.$slots, `cell-${m.key}`, {
1125
+ value: u[m.key],
1126
+ row: u
1127
1127
  }, () => [
1128
- K(w(i[x.key]), 1)
1128
+ E(w(u[m.key]), 1)
1129
1129
  ], !0)
1130
1130
  ], 2))), 128))
1131
1131
  ], 2))), 128))
1132
1132
  ])
1133
1133
  ]),
1134
1134
  d.value.length === 0 ? (s(), o("div", Bt, [
1135
- $(r.$slots, "empty", {}, () => [
1136
- f[0] || (f[0] = K("No hay datos disponibles", -1))
1135
+ C(r.$slots, "empty", {}, () => [
1136
+ p[0] || (p[0] = E("No hay datos disponibles", -1))
1137
1137
  ], !0)
1138
- ])) : c("", !0),
1138
+ ])) : f("", !0),
1139
1139
  r.$slots.footer ? (s(), o("div", Tt, [
1140
- $(r.$slots, "footer", {}, void 0, !0)
1141
- ])) : c("", !0)
1140
+ C(r.$slots, "footer", {}, void 0, !0)
1141
+ ])) : f("", !0)
1142
1142
  ]));
1143
1143
  }
1144
- }), qt = /* @__PURE__ */ R(zt, [["__scopeId", "data-v-8e0ce286"]]), Mt = { class: "w-full" }, _t = {
1144
+ }), Jt = /* @__PURE__ */ R(Mt, [["__scopeId", "data-v-017c9d24"]]), zt = { class: "w-full" }, _t = {
1145
1145
  class: "flex border-b border-gray-100",
1146
1146
  role: "tablist"
1147
- }, Vt = ["aria-selected", "onClick"], jt = { role: "tabpanel" }, Lt = "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", St = "text-primary-700 border-b-4 border-primary-700", Dt = "text-gray-600 border-b-4 border-transparent hover:text-gray-800", Ut = /* @__PURE__ */ S({
1147
+ }, jt = ["aria-selected", "onClick"], Vt = { role: "tabpanel" }, Lt = "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", St = "text-primary-700 border-b-4 border-primary-700", It = "text-gray-600 border-b-4 border-transparent hover:text-gray-800", Xt = /* @__PURE__ */ D({
1148
1148
  __name: "Tabs",
1149
1149
  props: {
1150
1150
  modelValue: {},
@@ -1152,34 +1152,34 @@ const le = { class: "flex items-center gap-4" }, ae = {
1152
1152
  },
1153
1153
  emits: ["update:modelValue"],
1154
1154
  setup(t, { emit: b }) {
1155
- const e = t, u = b, n = (i) => e.modelValue === i, d = (i) => {
1156
- n(i) || u("update:modelValue", i);
1157
- }, r = p(() => e.modelValue), f = p(
1158
- () => e.tabs.find((i) => i.value === r.value)
1155
+ const e = t, i = b, a = (u) => e.modelValue === u, d = (u) => {
1156
+ a(u) || i("update:modelValue", u);
1157
+ }, r = c(() => e.modelValue), p = c(
1158
+ () => e.tabs.find((u) => u.value === r.value)
1159
1159
  );
1160
- return (i, y) => (s(), o("div", Mt, [
1161
- a("div", _t, [
1162
- (s(!0), o(F, null, A(t.tabs, (x) => (s(), o("button", {
1163
- key: x.value,
1160
+ return (u, y) => (s(), o("div", zt, [
1161
+ l("div", _t, [
1162
+ (s(!0), o(F, null, K(t.tabs, (m) => (s(), o("button", {
1163
+ key: m.value,
1164
1164
  type: "button",
1165
- class: v([
1165
+ class: g([
1166
1166
  Lt,
1167
- n(x.value) ? St : Dt
1167
+ a(m.value) ? St : It
1168
1168
  ]),
1169
- "aria-selected": n(x.value),
1169
+ "aria-selected": a(m.value),
1170
1170
  role: "tab",
1171
- onClick: (L) => d(x.value)
1172
- }, w(x.label), 11, Vt))), 128))
1171
+ onClick: (z) => d(m.value)
1172
+ }, w(m.label), 11, jt))), 128))
1173
1173
  ]),
1174
- a("div", jt, [
1175
- $(i.$slots, r.value, {
1174
+ l("div", Vt, [
1175
+ C(u.$slots, r.value, {
1176
1176
  active: r.value,
1177
- tab: f.value
1177
+ tab: p.value
1178
1178
  })
1179
1179
  ])
1180
1180
  ]));
1181
1181
  }
1182
- }), Ot = "font-sans", Gt = /* @__PURE__ */ S({
1182
+ }), Dt = "font-sans", Yt = /* @__PURE__ */ D({
1183
1183
  __name: "Text",
1184
1184
  props: {
1185
1185
  variant: { default: "body1" },
@@ -1231,12 +1231,12 @@ const le = { class: "flex items-center gap-4" }, ae = {
1231
1231
  button3: "span",
1232
1232
  caption: "span",
1233
1233
  overline: "span"
1234
- }, u = {
1234
+ }, i = {
1235
1235
  left: "text-left",
1236
1236
  center: "text-center",
1237
1237
  right: "text-right",
1238
1238
  justify: "text-justify"
1239
- }, n = {
1239
+ }, a = {
1240
1240
  default: "text-secondary-900",
1241
1241
  muted: "text-secondary-600",
1242
1242
  primary: "text-primary-600",
@@ -1251,38 +1251,271 @@ const le = { class: "flex items-center gap-4" }, ae = {
1251
1251
  semibold: "font-semibold",
1252
1252
  bold: "font-bold",
1253
1253
  extrabold: "font-extrabold"
1254
- }, r = t, f = p(() => r.variant), i = p(() => r.color), y = p(() => r.align), x = p(() => r.as || e[f.value] || "span"), L = p(() => r.weight ? d[r.weight] : "");
1255
- return (D, T) => (s(), q(Z(x.value), {
1256
- class: v([
1257
- Ot,
1258
- b[f.value],
1259
- n[i.value],
1260
- u[y.value],
1261
- L.value,
1254
+ }, r = t, p = c(() => r.variant), u = c(() => r.color), y = c(() => r.align), m = c(() => r.as || e[p.value] || "span"), z = c(() => r.weight ? d[r.weight] : "");
1255
+ return (V, T) => (s(), q(Y(m.value), {
1256
+ class: g([
1257
+ Dt,
1258
+ b[p.value],
1259
+ a[u.value],
1260
+ i[y.value],
1261
+ z.value,
1262
1262
  {
1263
- uppercase: t.uppercase || f.value === "overline",
1263
+ uppercase: t.uppercase || p.value === "overline",
1264
1264
  truncate: t.truncate
1265
1265
  }
1266
1266
  ])
1267
1267
  }, {
1268
1268
  default: U(() => [
1269
- $(D.$slots, "default")
1269
+ C(V.$slots, "default")
1270
1270
  ]),
1271
1271
  _: 3
1272
1272
  }, 8, ["class"]));
1273
1273
  }
1274
+ }), Ot = ["data-node-id"], Et = { class: "flex w-full items-center gap-4 px-0 py-6" }, Ht = { class: "shrink-0 size-12 rounded-full bg-[var(--neutrales/fondo-general-claro,#f7f7f7)] grid place-items-center" }, At = { class: "tracking-[0.1px] text-[color:var(--neutrales/texto-principal,#565656)] font-medium" }, Ft = {
1275
+ key: 1,
1276
+ class: "flex justify-end gap-1 px-0 pt-4 pb-0"
1277
+ }, es = /* @__PURE__ */ D({
1278
+ __name: "Alert",
1279
+ props: {
1280
+ variant: {},
1281
+ title: {},
1282
+ description: {},
1283
+ closable: { type: Boolean },
1284
+ multiline: { type: Boolean },
1285
+ actions: { type: Boolean },
1286
+ nodeId: {}
1287
+ },
1288
+ emits: ["close", "accept", "cancel"],
1289
+ setup(t, { emit: b }) {
1290
+ const e = b, i = t, a = c(() => i.variant ?? "info"), d = c(() => i.multiline ?? !1), r = c(() => i.actions ?? !1), p = c(() => i.nodeId ?? void 0), u = () => e("close"), y = c(() => {
1291
+ if (i.title) return i.title;
1292
+ switch (a.value) {
1293
+ case "info":
1294
+ return "Alerta de información";
1295
+ case "warning":
1296
+ return "Alerta de advertencia";
1297
+ case "success":
1298
+ return "Alerta de éxito";
1299
+ case "error":
1300
+ return "Alerta de error";
1301
+ }
1302
+ }), m = c(() => i.description ?? ""), z = c(() => {
1303
+ switch (a.value) {
1304
+ case "info":
1305
+ return {
1306
+ border: "border-[var(--semantica/info,#0064ff)]",
1307
+ bg: "bg-[#faf9fd] outline outline-1 outline-[rgba(105,78,214,0.4)]",
1308
+ icon: "text-[#0064ff]"
1309
+ };
1310
+ case "warning":
1311
+ return {
1312
+ border: "border-[var(--semantica/warning,#ff9100)]",
1313
+ bg: "bg-[#fffcfa] outline outline-1 outline-[rgba(255,96,10,0.3)]",
1314
+ icon: "text-[#ff600a]"
1315
+ };
1316
+ case "success":
1317
+ return {
1318
+ border: "border-[var(--semantica/succes,#00b45e)]",
1319
+ bg: "bg-[#f7fbf9] outline outline-1 outline-[rgba(0,135,68,0.5)]",
1320
+ icon: "text-[#3ac29e]"
1321
+ };
1322
+ case "error":
1323
+ return {
1324
+ border: "border-[var(--semantica/error,#ff4235)]",
1325
+ bg: "bg-[#fdf7f9] outline outline-1 outline-[rgba(214,0,64,0.5)]",
1326
+ icon: "text-[#ff4235]"
1327
+ };
1328
+ }
1329
+ }), V = c(() => "bg-[var(--color-primario/700,#269ea4)]");
1330
+ return (T, h) => (s(), o("div", {
1331
+ class: g(["relative w-full rounded-xl border", [
1332
+ z.value.border,
1333
+ z.value.bg
1334
+ ]]),
1335
+ role: "alert",
1336
+ "data-node-id": p.value
1337
+ }, [
1338
+ t.closable ? (s(), o("button", {
1339
+ key: 0,
1340
+ type: "button",
1341
+ class: "absolute top-3 right-3 text-[color:var(--neutrales/texto-principal,#565656)]/70 hover:opacity-100 opacity-70",
1342
+ "aria-label": "Cerrar",
1343
+ onClick: u
1344
+ }, [...h[2] || (h[2] = [
1345
+ l("svg", {
1346
+ xmlns: "http://www.w3.org/2000/svg",
1347
+ width: "18",
1348
+ height: "18",
1349
+ viewBox: "0 0 24 24",
1350
+ fill: "none",
1351
+ stroke: "currentColor",
1352
+ "stroke-width": "2",
1353
+ "stroke-linecap": "round",
1354
+ "stroke-linejoin": "round"
1355
+ }, [
1356
+ l("line", {
1357
+ x1: "18",
1358
+ y1: "6",
1359
+ x2: "6",
1360
+ y2: "18"
1361
+ }),
1362
+ l("line", {
1363
+ x1: "6",
1364
+ y1: "6",
1365
+ x2: "18",
1366
+ y2: "18"
1367
+ })
1368
+ ], -1)
1369
+ ])])) : f("", !0),
1370
+ l("div", Et, [
1371
+ l("div", Ht, [
1372
+ a.value === "info" ? (s(), o("svg", {
1373
+ key: 0,
1374
+ xmlns: "http://www.w3.org/2000/svg",
1375
+ width: "24",
1376
+ height: "24",
1377
+ viewBox: "0 0 24 24",
1378
+ fill: "none",
1379
+ class: g(z.value.icon),
1380
+ stroke: "currentColor",
1381
+ "stroke-width": "2",
1382
+ "stroke-linecap": "round",
1383
+ "stroke-linejoin": "round"
1384
+ }, [...h[3] || (h[3] = [
1385
+ l("circle", {
1386
+ cx: "12",
1387
+ cy: "12",
1388
+ r: "10"
1389
+ }, null, -1),
1390
+ l("line", {
1391
+ x1: "12",
1392
+ y1: "16",
1393
+ x2: "12",
1394
+ y2: "12"
1395
+ }, null, -1),
1396
+ l("line", {
1397
+ x1: "12",
1398
+ y1: "8",
1399
+ x2: "12",
1400
+ y2: "8"
1401
+ }, null, -1)
1402
+ ])], 2)) : a.value === "warning" ? (s(), o("svg", {
1403
+ key: 1,
1404
+ xmlns: "http://www.w3.org/2000/svg",
1405
+ width: "24",
1406
+ height: "24",
1407
+ viewBox: "0 0 24 24",
1408
+ fill: "none",
1409
+ class: g(z.value.icon),
1410
+ stroke: "currentColor",
1411
+ "stroke-width": "2",
1412
+ "stroke-linecap": "round",
1413
+ "stroke-linejoin": "round"
1414
+ }, [...h[4] || (h[4] = [
1415
+ l("path", { d: "M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z" }, null, -1),
1416
+ l("line", {
1417
+ x1: "12",
1418
+ y1: "9",
1419
+ x2: "12",
1420
+ y2: "13"
1421
+ }, null, -1),
1422
+ l("line", {
1423
+ x1: "12",
1424
+ y1: "17",
1425
+ x2: "12",
1426
+ y2: "17"
1427
+ }, null, -1)
1428
+ ])], 2)) : a.value === "success" ? (s(), o("svg", {
1429
+ key: 2,
1430
+ xmlns: "http://www.w3.org/2000/svg",
1431
+ width: "24",
1432
+ height: "24",
1433
+ viewBox: "0 0 24 24",
1434
+ fill: "none",
1435
+ class: g(z.value.icon),
1436
+ stroke: "currentColor",
1437
+ "stroke-width": "2",
1438
+ "stroke-linecap": "round",
1439
+ "stroke-linejoin": "round"
1440
+ }, [...h[5] || (h[5] = [
1441
+ l("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }, null, -1),
1442
+ l("polyline", { points: "22 4 12 14.01 9 11.01" }, null, -1)
1443
+ ])], 2)) : (s(), o("svg", {
1444
+ key: 3,
1445
+ xmlns: "http://www.w3.org/2000/svg",
1446
+ width: "24",
1447
+ height: "24",
1448
+ viewBox: "0 0 24 24",
1449
+ fill: "none",
1450
+ class: g(z.value.icon),
1451
+ stroke: "currentColor",
1452
+ "stroke-width": "2",
1453
+ "stroke-linecap": "round",
1454
+ "stroke-linejoin": "round"
1455
+ }, [...h[6] || (h[6] = [
1456
+ l("polygon", { points: "7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2" }, null, -1),
1457
+ l("line", {
1458
+ x1: "12",
1459
+ y1: "8",
1460
+ x2: "12",
1461
+ y2: "12"
1462
+ }, null, -1),
1463
+ l("line", {
1464
+ x1: "12",
1465
+ y1: "16",
1466
+ x2: "12",
1467
+ y2: "16"
1468
+ }, null, -1)
1469
+ ])], 2))
1470
+ ]),
1471
+ l("div", {
1472
+ class: g(["flex-1 flex items-center gap-4 text-[14px] pr-6", { "whitespace-nowrap": !d.value, "whitespace-pre-wrap": d.value }])
1473
+ }, [
1474
+ l("div", At, w(y.value), 1),
1475
+ l("div", {
1476
+ class: g(["flex-1 tracking-[0.25px] text-[color:var(--neutrales/texto-principal,#565656)]", { "overflow-hidden overflow-ellipsis": !d.value }])
1477
+ }, [
1478
+ C(T.$slots, "description", {}, () => [
1479
+ E(w(m.value), 1)
1480
+ ])
1481
+ ], 2)
1482
+ ], 2)
1483
+ ]),
1484
+ r.value ? (s(), o("div", Ft, [
1485
+ l("button", {
1486
+ type: "button",
1487
+ class: "px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-[color:var(--neutrales/texto-principal,#565656)]",
1488
+ onClick: h[0] || (h[0] = (L) => T.$emit("cancel"))
1489
+ }, [
1490
+ C(T.$slots, "cancel", {}, () => [
1491
+ h[7] || (h[7] = E("Cancelar", -1))
1492
+ ])
1493
+ ]),
1494
+ l("button", {
1495
+ type: "button",
1496
+ class: g(["px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-white", V.value]),
1497
+ onClick: h[1] || (h[1] = (L) => T.$emit("accept"))
1498
+ }, [
1499
+ C(T.$slots, "accept", {}, () => [
1500
+ h[8] || (h[8] = E("Aceptar", -1))
1501
+ ])
1502
+ ], 2)
1503
+ ])) : f("", !0)
1504
+ ], 10, Ot));
1505
+ }
1274
1506
  });
1275
1507
  export {
1276
- Et as AppBar,
1277
- Ht as Button,
1278
- Ft as Card,
1279
- Pt as Dialog,
1280
- Wt as FileUpload,
1281
- At as Loader,
1282
- Kt as Menu,
1283
- Rt as Select,
1284
- Nt as Sidebar,
1285
- qt as Table,
1286
- Ut as Tabs,
1287
- Gt as Text
1508
+ es as Alert,
1509
+ Wt as AppBar,
1510
+ Kt as Button,
1511
+ Rt as Card,
1512
+ Nt as Dialog,
1513
+ qt as FileUpload,
1514
+ Ut as Loader,
1515
+ Gt as Menu,
1516
+ Qt as Select,
1517
+ Zt as Sidebar,
1518
+ Jt as Table,
1519
+ Xt as Tabs,
1520
+ Yt as Text
1288
1521
  };