@iaclinical/components 1.0.13 → 1.0.15

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 E, computed as u, createElementBlock as o, openBlock as s, normalizeClass as f, createElementVNode as l, createCommentVNode as p, renderSlot as C, toDisplayString as w, createBlock as q, Teleport as J, createVNode as G, Transition as Q, withCtx as U, withModifiers as F, createTextVNode as A, ref as I, normalizeStyle as K, onMounted as ee, onUnmounted as te, watch as X, nextTick as Z, Fragment as W, renderList as P, resolveDynamicComponent as Y, withDirectives as se, vModelText as oe } from "vue";
2
- const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1
+ import { defineComponent as O, computed as d, createElementBlock as o, openBlock as s, normalizeClass as p, createElementVNode as l, createCommentVNode as g, renderSlot as B, toDisplayString as w, createBlock as q, Teleport as J, createVNode as G, Transition as Q, withCtx as U, withModifiers as F, createTextVNode as E, ref as P, normalizeStyle as R, onMounted as ee, onUnmounted as te, watch as X, nextTick as Z, Fragment as A, renderList as W, resolveDynamicComponent as Y, withDirectives as se, vModelText as oe } from "vue";
2
+ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ae = {
3
3
  key: 1,
4
4
  class: "text-base sm:text-lg font-bold text-primary-50 font-poppins whitespace-nowrap"
5
- }, ae = { class: "flex flex-1 justify-center items-center min-w-0" }, re = {
5
+ }, ne = { class: "flex flex-1 justify-center items-center min-w-0" }, re = {
6
6
  key: 0,
7
7
  class: "text-base sm:text-lg font-bold text-primary-50 font-poppins truncate"
8
8
  }, ie = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, de = {
9
9
  key: 0,
10
10
  class: "text-base sm:text-lg font-bold text-primary-50 font-poppins whitespace-nowrap"
11
- }, ue = /* @__PURE__ */ E({
11
+ }, ue = /* @__PURE__ */ O({
12
12
  __name: "AppBar",
13
13
  props: {
14
14
  title: { default: "" },
@@ -20,35 +20,35 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
20
20
  height: { default: "md" }
21
21
  },
22
22
  emits: ["toggle-menu"],
23
- setup(t, { emit: h }) {
24
- const e = t, r = h, a = u(() => {
25
- const i = "flex flex-row items-center justify-between gap-2 sm:gap-4 px-3 sm:px-6 z-50 w-full", c = {
23
+ setup(t, { emit: b }) {
24
+ const e = t, i = b, n = d(() => {
25
+ const r = "flex flex-row items-center justify-between gap-2 sm:gap-4 px-3 sm:px-6 z-50 w-full", f = {
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
- }, d = {
29
+ }, u = {
30
30
  sm: "h-12",
31
31
  md: "h-14",
32
32
  lg: "h-16"
33
- }, g = e.sticky ? "sticky top-0" : "", v = e.shadow ? "shadow-md" : "";
33
+ }, v = e.sticky ? "sticky top-0" : "", x = e.shadow ? "shadow-md" : "";
34
34
  return [
35
- i,
36
- c[e.variant],
37
- d[e.height],
38
- g,
39
- v
35
+ r,
36
+ f[e.variant],
37
+ u[e.height],
38
+ v,
39
+ x
40
40
  ].join(" ");
41
41
  });
42
- return (i, c) => (s(), o("header", {
43
- class: f(a.value)
42
+ return (r, f) => (s(), o("header", {
43
+ class: p(n.value)
44
44
  }, [
45
45
  l("div", le, [
46
46
  t.showMenuButton ? (s(), o("button", {
47
47
  key: 0,
48
- onClick: c[0] || (c[0] = (d) => r("toggle-menu")),
48
+ onClick: f[0] || (f[0] = (u) => i("toggle-menu")),
49
49
  class: "p-1.5 sm: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
- }, [...c[1] || (c[1] = [
51
+ }, [...f[1] || (f[1] = [
52
52
  l("svg", {
53
53
  class: "w-5 h-5 sm:w-6 sm:h-6 text-primary-50",
54
54
  fill: "none",
@@ -63,29 +63,29 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
63
63
  d: "M4 6h16M4 12h16M4 18h16"
64
64
  })
65
65
  ], -1)
66
- ])])) : p("", !0),
67
- t.title && t.titlePosition === "left" ? (s(), o("div", ne, w(t.title), 1)) : p("", !0),
68
- C(i.$slots, "left", {}, void 0, !0)
66
+ ])])) : g("", !0),
67
+ t.title && t.titlePosition === "left" ? (s(), o("div", ae, w(t.title), 1)) : g("", !0),
68
+ B(r.$slots, "left", {}, void 0, !0)
69
69
  ]),
70
- l("div", ae, [
71
- t.title && t.titlePosition === "center" ? (s(), o("div", re, w(t.title), 1)) : p("", !0),
72
- C(i.$slots, "center", {}, void 0, !0)
70
+ l("div", ne, [
71
+ t.title && t.titlePosition === "center" ? (s(), o("div", re, w(t.title), 1)) : g("", !0),
72
+ B(r.$slots, "center", {}, void 0, !0)
73
73
  ]),
74
74
  l("div", ie, [
75
- t.title && t.titlePosition === "right" ? (s(), o("div", de, w(t.title), 1)) : p("", !0),
76
- C(i.$slots, "right", {}, void 0, !0)
75
+ t.title && t.titlePosition === "right" ? (s(), o("div", de, w(t.title), 1)) : g("", !0),
76
+ B(r.$slots, "right", {}, void 0, !0)
77
77
  ])
78
78
  ], 2));
79
79
  }
80
- }), N = (t, h) => {
80
+ }), N = (t, b) => {
81
81
  const e = t.__vccOpts || t;
82
- for (const [r, a] of h)
83
- e[r] = a;
82
+ for (const [i, n] of b)
83
+ e[i] = n;
84
84
  return e;
85
- }, Rt = /* @__PURE__ */ N(ue, [["__scopeId", "data-v-c5861315"]]), ce = ["type", "disabled", "aria-label"], fe = {
85
+ }, ts = /* @__PURE__ */ N(ue, [["__scopeId", "data-v-c5861315"]]), 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
- }, qt = /* @__PURE__ */ E({
88
+ }, ss = /* @__PURE__ */ O({
89
89
  __name: "Button",
90
90
  props: {
91
91
  variant: { default: "primary" },
@@ -99,9 +99,9 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
99
99
  textColorHover: { default: void 0 }
100
100
  },
101
101
  emits: ["click"],
102
- setup(t, { emit: h }) {
103
- const e = t, r = h, a = u(() => e.variant === "icon"), i = u(() => e.badge > 99 ? "99+" : e.badge.toString()), c = u(() => {
104
- const g = "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", v = {
102
+ setup(t, { emit: b }) {
103
+ const e = t, i = b, n = d(() => e.variant === "icon"), r = d(() => e.badge > 99 ? "99+" : e.badge.toString()), f = d(() => {
104
+ const v = "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", x = {
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,34 +109,34 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
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
- }, 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
- }, x = {
112
+ }, y = {
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
+ }, c = {
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
- }, O = e.textColor ? e.textColor : "", z = u(() => {
124
- var L, S;
125
- return e.textColorHover ? e.textColorHover : (L = e.textColor) != null && L.includes("white") || (S = e.textColor) != null && S.includes("50") ? "hover:text-black" : "";
123
+ }, _ = e.textColor ? e.textColor : "", C = d(() => {
124
+ var S, V;
125
+ return e.textColorHover ? e.textColorHover : (S = e.textColor) != null && S.includes("white") || (V = e.textColor) != null && V.includes("50") ? "hover:text-black" : "";
126
126
  });
127
- return `${g} ${v[e.variant]} ${m[e.size]} ${x[e.radius]} ${O} ${z.value}`;
128
- }), d = (g) => {
129
- e.disabled || r("click", g);
127
+ return `${v} ${x[e.variant]} ${y[e.size]} ${c[e.radius]} ${_} ${C.value}`;
128
+ }), u = (v) => {
129
+ e.disabled || i("click", v);
130
130
  };
131
- return (g, v) => (s(), o("button", {
132
- class: f(c.value),
131
+ return (v, x) => (s(), o("button", {
132
+ class: p(f.value),
133
133
  type: t.type,
134
134
  disabled: t.disabled,
135
- onClick: d,
135
+ onClick: u,
136
136
  "aria-label": t.ariaLabel
137
137
  }, [
138
- C(g.$slots, "default"),
139
- a.value && t.badge && t.badge > 0 ? (s(), o("span", fe, w(i.value), 1)) : p("", !0)
138
+ B(v.$slots, "default"),
139
+ n.value && t.badge && t.badge > 0 ? (s(), o("span", fe, w(r.value), 1)) : g("", !0)
140
140
  ], 10, ce));
141
141
  }
142
142
  }), pe = {
@@ -145,7 +145,7 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
145
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
- }, Ut = /* @__PURE__ */ E({
148
+ }, os = /* @__PURE__ */ O({
149
149
  __name: "Card",
150
150
  props: {
151
151
  shadow: { default: "md" },
@@ -153,43 +153,43 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
153
153
  bordered: { type: Boolean, default: !1 }
154
154
  },
155
155
  setup(t) {
156
- const h = t, e = {
156
+ const b = t, e = {
157
157
  none: "",
158
158
  sm: "shadow-sm",
159
159
  md: "shadow",
160
160
  lg: "shadow-lg",
161
161
  xl: "shadow-xl"
162
- }, r = {
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
- }, a = u(() => [
169
+ }, n = d(() => [
170
170
  "w-full bg-white",
171
- e[h.shadow],
172
- r[h.rounded],
173
- h.bordered ? "border border-gray-200" : ""
171
+ e[b.shadow],
172
+ i[b.rounded],
173
+ b.bordered ? "border border-gray-200" : ""
174
174
  ]);
175
- return (i, c) => (s(), o("div", {
176
- class: f(a.value)
175
+ return (r, f) => (s(), o("div", {
176
+ class: p(n.value)
177
177
  }, [
178
- i.$slots.header ? (s(), o("div", pe, [
179
- C(i.$slots, "header")
180
- ])) : p("", !0),
178
+ r.$slots.header ? (s(), o("div", pe, [
179
+ B(r.$slots, "header")
180
+ ])) : g("", !0),
181
181
  l("div", ge, [
182
- C(i.$slots, "default")
182
+ B(r.$slots, "default")
183
183
  ]),
184
- i.$slots.footer ? (s(), o("div", ve, [
185
- C(i.$slots, "footer")
186
- ])) : p("", !0)
184
+ r.$slots.footer ? (s(), o("div", ve, [
185
+ B(r.$slots, "footer")
186
+ ])) : g("", !0)
187
187
  ], 2));
188
188
  }
189
189
  }), xe = { 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" }, 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__ */ E({
192
+ }, me = /* @__PURE__ */ O({
193
193
  __name: "Dialog",
194
194
  props: {
195
195
  modelValue: { type: Boolean, default: !1 },
@@ -197,40 +197,40 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
197
197
  closeOnBackdrop: { type: Boolean, default: !0 }
198
198
  },
199
199
  emits: ["update:modelValue", "close"],
200
- setup(t, { emit: h }) {
201
- const e = t, r = h, a = u({
200
+ setup(t, { emit: b }) {
201
+ const e = t, i = b, n = d({
202
202
  get: () => e.modelValue,
203
- set: (d) => r("update:modelValue", d)
204
- }), i = () => {
205
- a.value = !1, r("close");
206
- }, c = () => {
207
- e.closeOnBackdrop && i();
203
+ set: (u) => i("update:modelValue", u)
204
+ }), r = () => {
205
+ n.value = !1, i("close");
206
+ }, f = () => {
207
+ e.closeOnBackdrop && r();
208
208
  };
209
- return (d, g) => (s(), q(J, { to: "body" }, [
209
+ return (u, v) => (s(), q(J, { to: "body" }, [
210
210
  G(Q, { name: "dialog" }, {
211
211
  default: U(() => [
212
- a.value ? (s(), o("div", {
212
+ n.value ? (s(), o("div", {
213
213
  key: 0,
214
214
  class: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 px-4",
215
- onClick: c
215
+ onClick: f
216
216
  }, [
217
217
  l("div", {
218
218
  class: "relative w-full rounded-lg bg-white shadow-xl sm:max-w-lg md:max-w-2xl",
219
- onClick: g[0] || (g[0] = F(() => {
219
+ onClick: v[0] || (v[0] = F(() => {
220
220
  }, ["stop"]))
221
221
  }, [
222
222
  l("div", xe, [
223
223
  l("h2", be, [
224
- C(d.$slots, "title", {}, () => [
225
- A(w(t.title), 1)
224
+ B(u.$slots, "title", {}, () => [
225
+ E(w(t.title), 1)
226
226
  ], !0)
227
227
  ]),
228
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
- onClick: i
233
- }, [...g[1] || (g[1] = [
232
+ onClick: r
233
+ }, [...v[1] || (v[1] = [
234
234
  l("svg", {
235
235
  class: "h-6 w-6",
236
236
  fill: "none",
@@ -247,31 +247,31 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
247
247
  ])])
248
248
  ]),
249
249
  l("div", he, [
250
- C(d.$slots, "default", {}, void 0, !0)
250
+ B(u.$slots, "default", {}, void 0, !0)
251
251
  ]),
252
- d.$slots.footer ? (s(), o("div", ye, [
253
- C(d.$slots, "footer", {}, void 0, !0)
254
- ])) : p("", !0)
252
+ u.$slots.footer ? (s(), o("div", ye, [
253
+ B(u.$slots, "footer", {}, void 0, !0)
254
+ ])) : g("", !0)
255
255
  ])
256
- ])) : p("", !0)
256
+ ])) : g("", !0)
257
257
  ]),
258
258
  _: 3
259
259
  })
260
260
  ]));
261
261
  }
262
- }), Gt = /* @__PURE__ */ N(me, [["__scopeId", "data-v-37e19754"]]), we = ["accept", "multiple", "disabled"], ke = { class: "flex flex-col items-center justify-center gap-4 text-center" }, $e = ["src", "alt"], Ce = {
262
+ }), ls = /* @__PURE__ */ N(me, [["__scopeId", "data-v-37e19754"]]), we = ["accept", "multiple", "disabled"], ke = { class: "flex flex-col items-center justify-center gap-4 text-center" }, $e = ["src", "alt"], Ce = {
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" }, 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 = {
268
+ }, Be = { class: "text-center" }, Me = { class: "text-base font-medium text-gray-700" }, Te = { class: "text-primary-700" }, _e = { class: "flex items-center gap-3 flex-1 min-w-0" }, ze = { class: "flex-1 min-w-0" }, je = { class: "text-sm font-medium text-gray-900 truncate" }, Ve = { class: "text-xs text-gray-500" }, Se = {
269
269
  key: 1,
270
270
  class: "text-xs text-gray-500 mt-2"
271
- }, Oe = {
271
+ }, Le = {
272
272
  key: 2,
273
273
  class: "text-sm text-danger-500 mt-2"
274
- }, Qt = /* @__PURE__ */ E({
274
+ }, as = /* @__PURE__ */ O({
275
275
  __name: "FileUpload",
276
276
  props: {
277
277
  modelValue: { default: null },
@@ -287,73 +287,73 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
287
287
  maxSize: { default: void 0 }
288
288
  },
289
289
  emits: ["update:modelValue", "change", "error"],
290
- setup(t, { emit: h }) {
291
- const e = t, r = h, a = I(null), i = I(!1), c = I(e.modelValue), d = I(""), g = u(() => ({
290
+ setup(t, { emit: b }) {
291
+ const e = t, i = b, n = P(null), r = P(!1), f = P(e.modelValue), u = P(""), v = d(() => ({
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
- })[e.illustrationSize]), v = () => {
297
- var $;
298
- ($ = a.value) == null || $.click();
299
- }, m = () => {
300
- e.disabled || v();
301
- }, x = ($) => {
302
- e.disabled || (i.value = !0);
303
- }, O = () => {
304
- i.value = !1;
305
- }, z = ($) => {
306
- if (d.value = "", e.maxSize && $.size > e.maxSize) {
307
- const M = (e.maxSize / 1048576).toFixed(2);
308
- return d.value = `El archivo excede el tamaño máximo de ${M}MB`, r("error", d.value), !1;
296
+ })[e.illustrationSize]), x = () => {
297
+ var k;
298
+ (k = n.value) == null || k.click();
299
+ }, y = () => {
300
+ e.disabled || x();
301
+ }, c = (k) => {
302
+ e.disabled || (r.value = !0);
303
+ }, _ = () => {
304
+ r.value = !1;
305
+ }, C = (k) => {
306
+ if (u.value = "", e.maxSize && k.size > e.maxSize) {
307
+ const j = (e.maxSize / 1048576).toFixed(2);
308
+ return u.value = `El archivo excede el tamaño máximo de ${j}MB`, i("error", u.value), !1;
309
309
  }
310
310
  return !0;
311
- }, L = ($) => {
311
+ }, S = (k) => {
312
312
  var H;
313
- const V = (H = $.target.files) == null ? void 0 : H[0];
314
- V && z(V) && (c.value = V, r("update:modelValue", V), r("change", V));
315
- }, S = ($) => {
316
- var V;
317
- i.value = !1;
318
- const M = (V = $.dataTransfer) == null ? void 0 : V.files[0];
319
- M && z(M) && (c.value = M, r("update:modelValue", M), r("change", M));
320
- }, _ = () => {
321
- c.value = null, d.value = "", a.value && (a.value.value = ""), r("update:modelValue", null), r("change", null);
322
- }, k = ($) => {
323
- if ($ === 0) return "0 Bytes";
324
- const M = 1024, V = ["Bytes", "KB", "MB", "GB"], H = Math.floor(Math.log($) / Math.log(M));
325
- return Math.round($ / Math.pow(M, H) * 100) / 100 + " " + V[H];
313
+ const I = (H = k.target.files) == null ? void 0 : H[0];
314
+ I && C(I) && (f.value = I, i("update:modelValue", I), i("change", I));
315
+ }, V = (k) => {
316
+ var I;
317
+ r.value = !1;
318
+ const j = (I = k.dataTransfer) == null ? void 0 : I.files[0];
319
+ j && C(j) && (f.value = j, i("update:modelValue", j), i("change", j));
320
+ }, z = () => {
321
+ f.value = null, u.value = "", n.value && (n.value.value = ""), i("update:modelValue", null), i("change", null);
322
+ }, h = (k) => {
323
+ if (k === 0) return "0 Bytes";
324
+ const j = 1024, I = ["Bytes", "KB", "MB", "GB"], H = Math.floor(Math.log(k) / Math.log(j));
325
+ return Math.round(k / Math.pow(j, H) * 100) / 100 + " " + I[H];
326
326
  };
327
- return ($, M) => (s(), o("div", {
328
- class: f(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
329
- i.value ? "border-primary-700 bg-primary-50" : "border-gray-300 bg-white hover:border-primary-500",
327
+ return (k, j) => (s(), o("div", {
328
+ class: p(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
329
+ r.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: m,
333
- onDragover: F(x, ["prevent"]),
334
- onDragleave: F(O, ["prevent"]),
335
- onDrop: F(S, ["prevent"])
332
+ onClick: y,
333
+ onDragover: F(c, ["prevent"]),
334
+ onDragleave: F(_, ["prevent"]),
335
+ onDrop: F(V, ["prevent"])
336
336
  }, [
337
337
  l("input", {
338
338
  ref_key: "fileInput",
339
- ref: a,
339
+ ref: n,
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: L
345
+ onChange: S
346
346
  }, null, 40, we),
347
347
  l("div", ke, [
348
348
  l("div", {
349
- class: f([g.value, "flex items-center justify-center"])
349
+ class: p([v.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, $e)) : (s(), o("svg", Ce, [...M[1] || (M[1] = [
356
+ }, null, 8, $e)) : (s(), o("svg", Ce, [...j[1] || (j[1] = [
357
357
  l("path", {
358
358
  "stroke-linecap": "round",
359
359
  "stroke-linejoin": "round",
@@ -363,19 +363,19 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
363
363
  ])]))
364
364
  ], 2),
365
365
  l("div", Be, [
366
- l("p", Te, [
367
- A(w(t.mainText) + " ", 1),
368
- l("span", Me, w(t.linkText), 1)
366
+ l("p", Me, [
367
+ E(w(t.mainText) + " ", 1),
368
+ l("span", Te, w(t.linkText), 1)
369
369
  ])
370
370
  ]),
371
- c.value ? (s(), o("div", {
371
+ f.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: M[0] || (M[0] = F(() => {
374
+ onClick: j[0] || (j[0] = F(() => {
375
375
  }, ["stop"]))
376
376
  }, [
377
- l("div", ze, [
378
- M[2] || (M[2] = l("svg", {
377
+ l("div", _e, [
378
+ j[2] || (j[2] = l("svg", {
379
379
  class: "w-6 h-6 text-gray-600 flex-shrink-0",
380
380
  fill: "none",
381
381
  stroke: "currentColor",
@@ -388,16 +388,16 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
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
- l("div", _e, [
392
- l("p", je, w(c.value.name), 1),
393
- l("p", Ve, w(k(c.value.size)), 1)
391
+ l("div", ze, [
392
+ l("p", je, w(f.value.name), 1),
393
+ l("p", Ve, w(h(f.value.size)), 1)
394
394
  ])
395
395
  ]),
396
- t.disabled ? p("", !0) : (s(), o("button", {
396
+ t.disabled ? g("", !0) : (s(), o("button", {
397
397
  key: 0,
398
- onClick: F(_, ["stop"]),
398
+ onClick: F(z, ["stop"]),
399
399
  class: "ml-3 text-gray-400 hover:text-danger-500 transition-colors"
400
- }, [...M[3] || (M[3] = [
400
+ }, [...j[3] || (j[3] = [
401
401
  l("svg", {
402
402
  class: "w-5 h-5",
403
403
  fill: "currentColor",
@@ -410,16 +410,16 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
410
410
  })
411
411
  ], -1)
412
412
  ])]))
413
- ])) : p("", !0),
414
- t.helperText ? (s(), o("p", Le, w(t.helperText), 1)) : p("", !0),
415
- d.value ? (s(), o("p", Oe, w(d.value), 1)) : p("", !0)
413
+ ])) : g("", !0),
414
+ t.helperText ? (s(), o("p", Se, w(t.helperText), 1)) : g("", !0),
415
+ u.value ? (s(), o("p", Le, w(u.value), 1)) : g("", !0)
416
416
  ])
417
417
  ], 34));
418
418
  }
419
- }), Se = ["stroke-width"], De = {
419
+ }), Ie = ["stroke-width"], Oe = {
420
420
  class: "w-full h-full rounded-lg overflow-hidden",
421
421
  style: { "background-color": "#f7f7f7" }
422
- }, Ie = /* @__PURE__ */ E({
422
+ }, De = /* @__PURE__ */ O({
423
423
  __name: "Loader",
424
424
  props: {
425
425
  type: { default: "circular" },
@@ -430,28 +430,28 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
430
430
  progress: { default: void 0 }
431
431
  },
432
432
  setup(t) {
433
- const h = t, e = {
433
+ const b = t, e = {
434
434
  primary: "text-primary-700",
435
435
  secondary: "text-secondary-500",
436
436
  success: "text-success-500",
437
437
  warning: "text-warning-500",
438
438
  danger: "text-danger-500",
439
439
  info: "text-info-500"
440
- }, r = {
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
- }, a = u(() => [e[h.color]]), i = u(() => [r[h.color]]);
448
- return (c, d) => t.type === "circular" ? (s(), o("div", {
447
+ }, n = d(() => [e[b.color]]), r = d(() => [i[b.color]]);
448
+ return (f, u) => t.type === "circular" ? (s(), o("div", {
449
449
  key: 0,
450
- class: f(a.value)
450
+ class: p(n.value)
451
451
  }, [
452
452
  (s(), o("svg", {
453
453
  class: "animate-spin",
454
- style: K({ width: t.size, height: t.size }),
454
+ style: R({ width: t.size, height: t.size }),
455
455
  viewBox: "0 0 24 24"
456
456
  }, [
457
457
  l("circle", {
@@ -462,8 +462,8 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
462
462
  stroke: "currentColor",
463
463
  "stroke-width": t.strokeWidth,
464
464
  fill: "none"
465
- }, null, 8, Se),
466
- d[0] || (d[0] = l("path", {
465
+ }, null, 8, Ie),
466
+ u[0] || (u[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"
@@ -472,20 +472,20 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
472
472
  ], 2)) : t.type === "linear" ? (s(), o("div", {
473
473
  key: 1,
474
474
  class: "w-full",
475
- style: K({ height: t.height })
475
+ style: R({ height: t.height })
476
476
  }, [
477
- l("div", De, [
477
+ l("div", Oe, [
478
478
  l("div", {
479
- class: f([i.value, "h-full rounded-lg animate-linear-loader"]),
480
- style: K({ width: t.progress ? `${t.progress}%` : void 0 })
479
+ class: p([r.value, "h-full rounded-lg animate-linear-loader"]),
480
+ style: R({ width: t.progress ? `${t.progress}%` : void 0 })
481
481
  }, null, 6)
482
482
  ])
483
- ], 4)) : p("", !0);
483
+ ], 4)) : g("", !0);
484
484
  }
485
- }), Zt = /* @__PURE__ */ N(Ie, [["__scopeId", "data-v-8df4ec38"]]), Ee = ["disabled", "aria-expanded"], Ae = ["disabled", "onClick"], He = {
485
+ }), ns = /* @__PURE__ */ N(De, [["__scopeId", "data-v-8df4ec38"]]), Ae = ["disabled", "aria-expanded"], Ee = ["disabled", "onClick"], Pe = {
486
486
  key: 0,
487
487
  class: "flex-shrink-0"
488
- }, We = ["innerHTML"], Fe = { class: "flex-1 min-w-0 mr-2" }, Pe = { class: "flex flex-col items-start" }, Ke = ["title"], Ne = ["title"], Re = {
488
+ }, He = ["innerHTML"], We = { class: "flex-1 min-w-0 mr-2" }, Fe = { class: "flex flex-col items-start" }, Ne = ["title"], Re = ["title"], Ke = {
489
489
  key: 1,
490
490
  class: "flex-shrink-0"
491
491
  }, qe = {
@@ -497,7 +497,7 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
497
497
  fill: "none",
498
498
  stroke: "currentColor",
499
499
  viewBox: "0 0 24 24"
500
- }, Qe = /* @__PURE__ */ E({
500
+ }, Qe = /* @__PURE__ */ O({
501
501
  __name: "Menu",
502
502
  props: {
503
503
  items: { default: () => [] },
@@ -516,119 +516,119 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
516
516
  zIndex: { default: 50 }
517
517
  },
518
518
  emits: ["open", "close", "select"],
519
- setup(t, { emit: h }) {
520
- const e = t, r = h, a = I(!1), i = I(null), c = I(null), d = I({}), g = u(() => [
519
+ setup(t, { emit: b }) {
520
+ const e = t, i = b, n = P(!1), r = P(null), f = P(null), u = P({}), v = d(() => [
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(" ")), v = u(() => [...[
526
+ ].join(" ")), x = d(() => [...[
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(" ")), m = u(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), x = u(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), O = u(() => "py-1 overflow-y-auto flex-1 min-h-0"), z = u(() => "my-1 border-t border-secondary-200"), L = u(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), S = (n) => {
530
+ ], `z-${e.zIndex}`].join(" ")), y = d(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), c = d(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), _ = d(() => "py-1 overflow-y-auto flex-1 min-h-0"), C = d(() => "my-1 border-t border-secondary-200"), S = d(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), V = (a) => {
531
531
  const T = [
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
- ], b = n.variant || "default", R = {
535
+ ], m = a.variant || "default", K = {
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 j = "";
542
- return n.color && (j = n.color, (n.color.includes("white") || n.color.includes("50")) && (j += " hover:text-black")), [...T, j || R[b]].join(" ");
543
- }, _ = () => {
544
- e.disabled || (a.value ? $() : k());
545
- }, k = () => {
546
- a.value = !0, r("open"), Z(() => {
547
- B(), document.addEventListener("click", V), document.addEventListener("keydown", H);
541
+ let L = "";
542
+ return a.color && (L = a.color, (a.color.includes("white") || a.color.includes("50")) && (L += " hover:text-black")), [...T, L || K[m]].join(" ");
543
+ }, z = () => {
544
+ e.disabled || (n.value ? k() : h());
545
+ }, h = () => {
546
+ n.value = !0, i("open"), Z(() => {
547
+ M(), document.addEventListener("click", I), document.addEventListener("keydown", H);
548
548
  });
549
- }, $ = () => {
550
- a.value = !1, r("close"), document.removeEventListener("click", V), document.removeEventListener("keydown", H);
551
- }, M = (n) => {
552
- n.disabled || (n.action && n.action(), r("select", n), e.closeOnClick && !n.children && $());
553
- }, V = (n) => {
554
- const T = n.target;
555
- i.value && !i.value.contains(T) && c.value && !c.value.contains(T) && $();
556
- }, H = (n) => {
557
- n.key === "Escape" && $();
558
- }, y = (n) => {
559
- (n.key === "Enter" || n.key === " ") && (n.preventDefault(), _());
560
- }, B = () => {
561
- if (!i.value || !c.value) return;
562
- const n = i.value.getBoundingClientRect(), T = c.value.getBoundingClientRect(), b = window.innerWidth, R = window.innerHeight;
563
- let j = 0, D = 0;
549
+ }, k = () => {
550
+ n.value = !1, i("close"), document.removeEventListener("click", I), document.removeEventListener("keydown", H);
551
+ }, j = (a) => {
552
+ a.disabled || (a.action && a.action(), i("select", a), e.closeOnClick && !a.children && k());
553
+ }, I = (a) => {
554
+ const T = a.target;
555
+ r.value && !r.value.contains(T) && f.value && !f.value.contains(T) && k();
556
+ }, H = (a) => {
557
+ a.key === "Escape" && k();
558
+ }, $ = (a) => {
559
+ (a.key === "Enter" || a.key === " ") && (a.preventDefault(), z());
560
+ }, M = () => {
561
+ if (!r.value || !f.value) return;
562
+ const a = r.value.getBoundingClientRect(), T = f.value.getBoundingClientRect(), m = window.innerWidth, K = window.innerHeight;
563
+ let L = 0, D = 0;
564
564
  switch (e.position) {
565
565
  case "bottom-start":
566
- j = n.bottom + e.offset.y, D = n.left + e.offset.x;
566
+ L = a.bottom + e.offset.y, D = a.left + e.offset.x;
567
567
  break;
568
568
  case "bottom-end":
569
- j = n.bottom + e.offset.y, D = n.right - T.width + e.offset.x;
569
+ L = a.bottom + e.offset.y, D = a.right - T.width + e.offset.x;
570
570
  break;
571
571
  case "top-start":
572
- j = n.top - T.height - e.offset.y, D = n.left + e.offset.x;
572
+ L = a.top - T.height - e.offset.y, D = a.left + e.offset.x;
573
573
  break;
574
574
  case "top-end":
575
- j = n.top - T.height - e.offset.y, D = n.right - T.width + e.offset.x;
575
+ L = a.top - T.height - e.offset.y, D = a.right - T.width + e.offset.x;
576
576
  break;
577
577
  case "right-start":
578
- j = n.top + e.offset.y, D = n.right + e.offset.x;
578
+ L = a.top + e.offset.y, D = a.right + e.offset.x;
579
579
  break;
580
580
  case "right-end":
581
- j = n.bottom - T.height + e.offset.y, D = n.right + e.offset.x;
581
+ L = a.bottom - T.height + e.offset.y, D = a.right + e.offset.x;
582
582
  break;
583
583
  case "left-start":
584
- j = n.top + e.offset.y, D = n.left - T.width - e.offset.x;
584
+ L = a.top + e.offset.y, D = a.left - T.width - e.offset.x;
585
585
  break;
586
586
  case "left-end":
587
- j = n.bottom - T.height + e.offset.y, D = n.left - T.width - e.offset.x;
587
+ L = a.bottom - T.height + e.offset.y, D = a.left - T.width - e.offset.x;
588
588
  break;
589
589
  }
590
- D + T.width > b && (D = b - T.width - 8), D < 8 && (D = 8), j + T.height > R && (j = R - T.height - 8), j < 8 && (j = 8), d.value = {
591
- top: `${j}px`,
590
+ D + T.width > m && (D = m - T.width - 8), D < 8 && (D = 8), L + T.height > K && (L = K - T.height - 8), L < 8 && (L = 8), u.value = {
591
+ top: `${L}px`,
592
592
  left: `${D}px`,
593
- width: e.width === "auto" ? `${Math.max(n.width, 240)}px` : e.width,
593
+ width: e.width === "auto" ? `${Math.max(a.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", B, !0), window.addEventListener("resize", B);
599
+ window.addEventListener("scroll", M, !0), window.addEventListener("resize", M);
600
600
  }), te(() => {
601
- window.removeEventListener("scroll", B, !0), window.removeEventListener("resize", B), document.removeEventListener("click", V), document.removeEventListener("keydown", H);
601
+ window.removeEventListener("scroll", M, !0), window.removeEventListener("resize", M), document.removeEventListener("click", I), document.removeEventListener("keydown", H);
602
602
  }), X(() => e.items, () => {
603
- a.value && Z(B);
604
- }, { deep: !0 }), (n, T) => (s(), o("div", {
605
- class: f(["menu-wrapper", { "w-full": t.fullWidth }])
603
+ n.value && Z(M);
604
+ }, { deep: !0 }), (a, T) => (s(), o("div", {
605
+ class: p(["menu-wrapper", { "w-full": t.fullWidth }])
606
606
  }, [
607
607
  l("div", {
608
608
  ref_key: "triggerRef",
609
- ref: i
609
+ ref: r
610
610
  }, [
611
- C(n.$slots, "trigger", {
612
- isOpen: a.value,
613
- toggle: _
611
+ B(a.$slots, "trigger", {
612
+ isOpen: n.value,
613
+ toggle: z
614
614
  }, () => [
615
615
  l("button", {
616
616
  type: "button",
617
- class: f(g.value),
617
+ class: p(v.value),
618
618
  disabled: t.disabled,
619
- onClick: _,
620
- onKeydown: y,
619
+ onClick: z,
620
+ onKeydown: $,
621
621
  tabindex: 0,
622
622
  role: "button",
623
- "aria-expanded": a.value,
623
+ "aria-expanded": n.value,
624
624
  "aria-haspopup": !0
625
625
  }, [
626
- C(n.$slots, "trigger-content", {}, () => [
627
- A(w(t.triggerText), 1)
626
+ B(a.$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: f(["w-4 h-4 ml-2 transition-transform", a.value ? "rotate-180" : ""]),
631
+ class: p(["w-4 h-4 ml-2 transition-transform", n.value ? "rotate-180" : ""]),
632
632
  fill: "none",
633
633
  stroke: "currentColor",
634
634
  viewBox: "0 0 24 24"
@@ -639,112 +639,112 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
639
639
  "stroke-width": "2",
640
640
  d: "M19 9l-7 7-7-7"
641
641
  }, null, -1)
642
- ])], 2)) : p("", !0)
643
- ], 42, Ee)
642
+ ])], 2)) : g("", !0)
643
+ ], 42, Ae)
644
644
  ], !0)
645
645
  ], 512),
646
646
  (s(), q(J, { to: "body" }, [
647
- a.value ? (s(), o("div", {
647
+ n.value ? (s(), o("div", {
648
648
  key: 0,
649
649
  ref_key: "menuRef",
650
- ref: c,
651
- class: f(v.value),
652
- style: K(d.value),
650
+ ref: f,
651
+ class: p(x.value),
652
+ style: R(u.value),
653
653
  onClick: T[0] || (T[0] = F(() => {
654
654
  }, ["stop"]))
655
655
  }, [
656
- n.$slots.header ? (s(), o("div", {
656
+ a.$slots.header ? (s(), o("div", {
657
657
  key: 0,
658
- class: f(m.value)
658
+ class: p(y.value)
659
659
  }, [
660
- C(n.$slots, "header", { close: $ }, void 0, !0)
661
- ], 2)) : p("", !0),
660
+ B(a.$slots, "header", { close: k }, void 0, !0)
661
+ ], 2)) : g("", !0),
662
662
  l("div", {
663
- class: f(O.value)
663
+ class: p(_.value)
664
664
  }, [
665
- C(n.$slots, "default", {
666
- close: $,
667
- isOpen: a.value
665
+ B(a.$slots, "default", {
666
+ close: k,
667
+ isOpen: n.value
668
668
  }, () => [
669
- (s(!0), o(W, null, P(t.items, (b, R) => (s(), o(W, {
670
- key: b.id || R
669
+ (s(!0), o(A, null, W(t.items, (m, K) => (s(), o(A, {
670
+ key: m.id || K
671
671
  }, [
672
- b.type === "divider" ? (s(), o("div", {
672
+ m.type === "divider" ? (s(), o("div", {
673
673
  key: 0,
674
- class: f(z.value)
675
- }, null, 2)) : b.type === "header" ? (s(), o("div", {
674
+ class: p(C.value)
675
+ }, null, 2)) : m.type === "header" ? (s(), o("div", {
676
676
  key: 1,
677
- class: f(L.value)
678
- }, w(b.label), 3)) : (s(), o("button", {
677
+ class: p(S.value)
678
+ }, w(m.label), 3)) : (s(), o("button", {
679
679
  key: 2,
680
680
  type: "button",
681
- class: f(S(b)),
682
- disabled: b.disabled,
683
- onClick: (j) => M(b)
681
+ class: p(V(m)),
682
+ disabled: m.disabled,
683
+ onClick: (L) => j(m)
684
684
  }, [
685
- b.icon || n.$slots[`icon-${b.id}`] ? (s(), o("span", He, [
686
- C(n.$slots, `icon-${b.id}`, { item: b }, () => [
687
- typeof b.icon != "string" ? (s(), q(Y(b.icon), {
685
+ m.icon || a.$slots[`icon-${m.id}`] ? (s(), o("span", Pe, [
686
+ B(a.$slots, `icon-${m.id}`, { item: m }, () => [
687
+ typeof m.icon != "string" ? (s(), q(Y(m.icon), {
688
688
  key: 0,
689
689
  class: "w-5 h-5"
690
690
  })) : (s(), o("span", {
691
691
  key: 1,
692
- innerHTML: b.icon,
692
+ innerHTML: m.icon,
693
693
  class: "w-5 h-5 inline-block"
694
- }, null, 8, We))
694
+ }, null, 8, He))
695
695
  ], !0)
696
- ])) : p("", !0),
697
- l("div", Fe, [
698
- C(n.$slots, `item-${b.id}`, {
699
- item: b,
700
- close: $
696
+ ])) : g("", !0),
697
+ l("div", We, [
698
+ B(a.$slots, `item-${m.id}`, {
699
+ item: m,
700
+ close: k
701
701
  }, () => [
702
- l("div", Pe, [
702
+ l("div", Fe, [
703
703
  l("span", {
704
704
  class: "truncate w-full",
705
- title: b.label
706
- }, w(b.label), 9, Ke),
707
- b.description ? (s(), o("span", {
705
+ title: m.label
706
+ }, w(m.label), 9, Ne),
707
+ m.description ? (s(), o("span", {
708
708
  key: 0,
709
709
  class: "text-xs text-secondary-500 truncate w-full",
710
- title: b.description
711
- }, w(b.description), 9, Ne)) : p("", !0)
710
+ title: m.description
711
+ }, w(m.description), 9, Re)) : g("", !0)
712
712
  ])
713
713
  ], !0)
714
714
  ]),
715
- b.suffix || b.shortcut || n.$slots[`suffix-${b.id}`] ? (s(), o("span", Re, [
716
- C(n.$slots, `suffix-${b.id}`, { item: b }, () => [
717
- b.shortcut ? (s(), o("span", qe, w(b.shortcut), 1)) : b.suffix ? (s(), o("span", Ue, w(b.suffix), 1)) : p("", !0)
715
+ m.suffix || m.shortcut || a.$slots[`suffix-${m.id}`] ? (s(), o("span", Ke, [
716
+ B(a.$slots, `suffix-${m.id}`, { item: m }, () => [
717
+ m.shortcut ? (s(), o("span", qe, w(m.shortcut), 1)) : m.suffix ? (s(), o("span", Ue, w(m.suffix), 1)) : g("", !0)
718
718
  ], !0)
719
- ])) : p("", !0),
720
- b.children && b.children.length > 0 ? (s(), o("svg", Ge, [...T[2] || (T[2] = [
719
+ ])) : g("", !0),
720
+ m.children && m.children.length > 0 ? (s(), o("svg", Ge, [...T[2] || (T[2] = [
721
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
- ])])) : p("", !0)
728
- ], 10, Ae))
727
+ ])])) : g("", !0)
728
+ ], 10, Ee))
729
729
  ], 64))), 128))
730
730
  ], !0)
731
731
  ], 2),
732
- n.$slots.footer ? (s(), o("div", {
732
+ a.$slots.footer ? (s(), o("div", {
733
733
  key: 1,
734
- class: f(x.value)
734
+ class: p(c.value)
735
735
  }, [
736
- C(n.$slots, "footer", { close: $ }, void 0, !0)
737
- ], 2)) : p("", !0)
738
- ], 6)) : p("", !0),
739
- a.value && t.overlay ? (s(), o("div", {
736
+ B(a.$slots, "footer", { close: k }, void 0, !0)
737
+ ], 2)) : g("", !0)
738
+ ], 6)) : g("", !0),
739
+ n.value && t.overlay ? (s(), o("div", {
740
740
  key: 1,
741
741
  class: "fixed inset-0 bg-black/20 z-40",
742
- onClick: $
743
- })) : p("", !0)
742
+ onClick: k
743
+ })) : g("", !0)
744
744
  ]))
745
745
  ], 2));
746
746
  }
747
- }), Jt = /* @__PURE__ */ N(Qe, [["__scopeId", "data-v-335f2699"]]), Ze = ["for"], Je = {
747
+ }), rs = /* @__PURE__ */ N(Qe, [["__scopeId", "data-v-335f2699"]]), Ze = ["for"], Je = {
748
748
  key: 0,
749
749
  class: "text-danger-600"
750
750
  }, Xe = { class: "relative" }, Ye = ["id", "disabled", "aria-expanded"], et = { class: "flex-1 text-left truncate" }, tt = {
@@ -753,7 +753,7 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
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
- }, nt = ["onClick"], at = { class: "flex items-center justify-between w-full" }, rt = { class: "truncate" }, it = {
756
+ }, at = ["onClick"], nt = { 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-2 sm:gap-3 shrink-0" }, ne = {
769
769
  }, pt = {
770
770
  key: 2,
771
771
  class: "mt-1 text-sm text-secondary-600"
772
- }, gt = /* @__PURE__ */ E({
772
+ }, gt = /* @__PURE__ */ O({
773
773
  __name: "Select",
774
774
  props: {
775
775
  modelValue: { default: null },
@@ -790,88 +790,88 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
790
790
  menuPosition: { default: "bottom" }
791
791
  },
792
792
  emits: ["update:modelValue", "change", "action"],
793
- setup(t, { emit: h }) {
794
- const e = t, r = h, a = I(!1), i = I(""), c = I(null), d = u(
793
+ setup(t, { emit: b }) {
794
+ const e = t, i = b, n = P(!1), r = P(""), f = P(null), u = d(
795
795
  () => `select-${Math.random().toString(36).substr(2, 9)}`
796
- ), g = u(() => e.options.find((y) => y.value === e.modelValue) || null), v = u(() => {
797
- if (!e.searchable || !i.value)
796
+ ), v = d(() => e.options.find(($) => $.value === e.modelValue) || null), x = d(() => {
797
+ if (!e.searchable || !r.value)
798
798
  return e.options;
799
- const y = i.value.toLowerCase();
800
- return e.options.filter((B) => B.label.toLowerCase().includes(y));
801
- }), m = u(() => "block text-sm font-semibold text-secondary-700 mb-1"), x = u(() => {
802
- const y = "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", B = {
799
+ const $ = r.value.toLowerCase();
800
+ return e.options.filter((M) => M.label.toLowerCase().includes($));
801
+ }), y = d(() => "block text-sm font-semibold text-secondary-700 mb-1"), c = d(() => {
802
+ const $ = "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 = {
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
- }, n = {
806
+ }, a = {
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
810
  }, T = e.error ? "border-danger-600 focus:ring-danger-500" : "";
811
811
  return [
812
- y,
813
- B[e.size],
814
- n[e.variant],
812
+ $,
813
+ M[e.size],
814
+ a[e.variant],
815
815
  T
816
816
  ].join(" ");
817
- }), O = u(() => `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`), z = (y) => {
818
- const B = "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 = S(y) ? "bg-primary-50" : "";
819
- return [B, n].join(" ");
820
- }, L = (y) => {
821
- const B = "w-full px-4 py-2 text-left text-sm font-semibold transition-colors focus:outline-none flex items-center gap-3";
822
- return y.variant === "danger" ? `${B} text-danger-600 hover:bg-danger-50 focus:bg-danger-50` : `${B} text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50`;
823
- }, S = (y) => y.value === e.modelValue, _ = () => {
824
- e.disabled || (a.value = !a.value, a.value && e.searchable && Z(() => {
825
- var y;
826
- (y = c.value) == null || y.focus();
817
+ }), _ = d(() => `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`), C = ($) => {
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", a = V($) ? "bg-primary-50" : "";
819
+ return [M, a].join(" ");
820
+ }, S = ($) => {
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 $.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
+ }, V = ($) => $.value === e.modelValue, z = () => {
824
+ e.disabled || (n.value = !n.value, n.value && e.searchable && Z(() => {
825
+ var $;
826
+ ($ = f.value) == null || $.focus();
827
827
  }));
828
- }, k = () => {
829
- a.value = !1, i.value = "";
830
- }, $ = (y) => {
831
- y.disabled || (r("update:modelValue", y.value), r("change", y), k());
832
- }, M = (y) => {
833
- y.action && y.action(), r("action", y), k();
834
- }, V = (y) => {
835
- const B = y.relatedTarget;
836
- B && B.closest(".select-wrapper") || setTimeout(() => {
837
- k();
828
+ }, h = () => {
829
+ n.value = !1, r.value = "";
830
+ }, k = ($) => {
831
+ $.disabled || (i("update:modelValue", $.value), i("change", $), h());
832
+ }, j = ($) => {
833
+ $.action && $.action(), i("action", $), h();
834
+ }, I = ($) => {
835
+ const M = $.relatedTarget;
836
+ M && M.closest(".select-wrapper") || setTimeout(() => {
837
+ h();
838
838
  }, 200);
839
- }, H = (y) => {
840
- y.key === "Escape" ? k() : (y.key === "Enter" || y.key === " ") && (y.preventDefault(), _());
839
+ }, H = ($) => {
840
+ $.key === "Escape" ? h() : ($.key === "Enter" || $.key === " ") && ($.preventDefault(), z());
841
841
  };
842
- return X(a, (y) => {
843
- y && (i.value = "");
844
- }), (y, B) => (s(), o("div", {
845
- class: f(["select-wrapper", { "w-full": t.fullWidth }])
842
+ return X(n, ($) => {
843
+ $ && (r.value = "");
844
+ }), ($, M) => (s(), o("div", {
845
+ class: p(["select-wrapper", { "w-full": t.fullWidth }])
846
846
  }, [
847
847
  t.label ? (s(), o("label", {
848
848
  key: 0,
849
- for: d.value,
850
- class: f(m.value)
849
+ for: u.value,
850
+ class: p(y.value)
851
851
  }, [
852
- A(w(t.label) + " ", 1),
853
- t.required ? (s(), o("span", Je, "*")) : p("", !0)
854
- ], 10, Ze)) : p("", !0),
852
+ E(w(t.label) + " ", 1),
853
+ t.required ? (s(), o("span", Je, "*")) : g("", !0)
854
+ ], 10, Ze)) : g("", !0),
855
855
  l("div", Xe, [
856
856
  l("button", {
857
- id: d.value,
857
+ id: u.value,
858
858
  type: "button",
859
- class: f(x.value),
859
+ class: p(c.value),
860
860
  disabled: t.disabled,
861
- "aria-expanded": a.value,
861
+ "aria-expanded": n.value,
862
862
  "aria-haspopup": !0,
863
- onClick: _,
864
- onBlur: V,
863
+ onClick: z,
864
+ onBlur: I,
865
865
  onKeydown: H
866
866
  }, [
867
- l("span", et, w(g.value ? g.value.label : t.placeholder), 1),
867
+ l("span", et, w(v.value ? v.value.label : t.placeholder), 1),
868
868
  (s(), o("svg", {
869
- class: f(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", a.value ? "rotate-180" : ""]),
869
+ class: p(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", n.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
- }, [...B[3] || (B[3] = [
874
+ }, [...M[3] || (M[3] = [
875
875
  l("path", {
876
876
  "stroke-linecap": "round",
877
877
  "stroke-linejoin": "round",
@@ -880,77 +880,77 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
880
880
  }, null, -1)
881
881
  ])], 2))
882
882
  ], 42, Ye),
883
- a.value ? (s(), o("div", {
883
+ n.value ? (s(), o("div", {
884
884
  key: 0,
885
- class: f(O.value),
886
- onClick: B[2] || (B[2] = F(() => {
885
+ class: p(_.value),
886
+ onClick: M[2] || (M[2] = F(() => {
887
887
  }, ["stop"]))
888
888
  }, [
889
889
  t.searchable ? (s(), o("div", tt, [
890
890
  se(l("input", {
891
891
  ref_key: "searchInput",
892
- ref: c,
893
- "onUpdate:modelValue": B[0] || (B[0] = (n) => i.value = n),
892
+ ref: f,
893
+ "onUpdate:modelValue": M[0] || (M[0] = (a) => r.value = a),
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: B[1] || (B[1] = F(() => {
897
+ onKeydown: M[1] || (M[1] = F(() => {
898
898
  }, ["stop"]))
899
899
  }, null, 40, st), [
900
- [oe, i.value]
900
+ [oe, r.value]
901
901
  ])
902
- ])) : p("", !0),
902
+ ])) : g("", !0),
903
903
  l("div", ot, [
904
- v.value.length === 0 ? (s(), o("div", lt, w(t.emptyText), 1)) : (s(), o(W, { key: 1 }, [
905
- (s(!0), o(W, null, P(v.value, (n) => (s(), o("button", {
906
- key: n.value,
904
+ x.value.length === 0 ? (s(), o("div", lt, w(t.emptyText), 1)) : (s(), o(A, { key: 1 }, [
905
+ (s(!0), o(A, null, W(x.value, (a) => (s(), o("button", {
906
+ key: a.value,
907
907
  type: "button",
908
- class: f(z(n)),
909
- onClick: (T) => $(n)
908
+ class: p(C(a)),
909
+ onClick: (T) => k(a)
910
910
  }, [
911
- l("div", at, [
912
- l("span", rt, w(n.label), 1),
913
- S(n) ? (s(), o("svg", it, [...B[4] || (B[4] = [
911
+ l("div", nt, [
912
+ l("span", rt, w(a.label), 1),
913
+ V(a) ? (s(), o("svg", it, [...M[4] || (M[4] = [
914
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
- ])])) : p("", !0)
920
+ ])])) : g("", !0)
921
921
  ])
922
- ], 10, nt))), 128)),
923
- t.actionItems.length > 0 ? (s(), o("div", dt)) : p("", !0),
924
- (s(!0), o(W, null, P(t.actionItems, (n) => (s(), o("button", {
925
- key: n.id,
922
+ ], 10, at))), 128)),
923
+ t.actionItems.length > 0 ? (s(), o("div", dt)) : g("", !0),
924
+ (s(!0), o(A, null, W(t.actionItems, (a) => (s(), o("button", {
925
+ key: a.id,
926
926
  type: "button",
927
- class: f(L(n)),
928
- onClick: (T) => M(n)
927
+ class: p(S(a)),
928
+ onClick: (T) => j(a)
929
929
  }, [
930
- n.icon ? (s(), o("svg", {
930
+ a.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: n.icon
938
- }, null, 8, ct)) : p("", !0),
939
- A(" " + w(n.label), 1)
937
+ innerHTML: a.icon
938
+ }, null, 8, ct)) : g("", !0),
939
+ E(" " + w(a.label), 1)
940
940
  ], 10, ut))), 128))
941
941
  ], 64))
942
942
  ])
943
- ], 2)) : p("", !0)
943
+ ], 2)) : g("", !0)
944
944
  ]),
945
- t.error ? (s(), o("p", ft, w(t.error), 1)) : t.helperText ? (s(), o("p", pt, w(t.helperText), 1)) : p("", !0),
946
- a.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)) : g("", !0),
946
+ n.value ? (s(), o("div", {
947
947
  key: 3,
948
- onClick: k,
948
+ onClick: h,
949
949
  class: "fixed inset-0 z-40"
950
- })) : p("", !0)
950
+ })) : g("", !0)
951
951
  ], 2));
952
952
  }
953
- }), Xt = /* @__PURE__ */ N(gt, [["__scopeId", "data-v-f016a03c"]]), vt = /* @__PURE__ */ E({
953
+ }), is = /* @__PURE__ */ N(gt, [["__scopeId", "data-v-f016a03c"]]), vt = /* @__PURE__ */ O({
954
954
  __name: "Sidebar",
955
955
  props: {
956
956
  modelValue: { type: Boolean, default: !1 },
@@ -965,58 +965,58 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
965
965
  padding: { default: "md" }
966
966
  },
967
967
  emits: ["update:modelValue", "close", "open"],
968
- setup(t, { emit: h }) {
969
- const e = t, r = h, a = u({
968
+ setup(t, { emit: b }) {
969
+ const e = t, i = b, n = d({
970
970
  get: () => e.modelValue,
971
- set: (z) => r("update:modelValue", z)
972
- }), i = () => {
973
- e.persistent || (a.value = !1, r("close"));
974
- }, c = u(() => e.position === "left" ? "slide-right" : "slide-left"), d = u(() => {
975
- const z = "fixed top-0 h-full z-50 flex flex-col w-full max-w-full sm:max-w-none", L = e.position === "left" ? "left-0" : "right-0", S = 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 [z, L, S].filter(Boolean).join(" ");
977
- }), g = u(() => ({
971
+ set: (C) => i("update:modelValue", C)
972
+ }), r = () => {
973
+ e.persistent || (n.value = !1, i("close"));
974
+ }, f = d(() => e.position === "left" ? "slide-right" : "slide-left"), u = d(() => {
975
+ const C = "fixed top-0 h-full z-50 flex flex-col w-full max-w-full sm:max-w-none", S = e.position === "left" ? "left-0" : "right-0", V = 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 [C, S, V].filter(Boolean).join(" ");
977
+ }), v = d(() => ({
978
978
  // Base fluid width; respect custom width as max constraint
979
979
  width: "100%",
980
980
  maxWidth: e.width,
981
981
  backgroundColor: e.backgroundColor,
982
982
  top: e.overlayTop,
983
983
  height: e.overlayTop !== "0" ? `calc(100vh - ${e.overlayTop})` : "100vh"
984
- })), v = {
984
+ })), x = {
985
985
  none: "",
986
986
  sm: "p-2",
987
987
  md: "p-4",
988
988
  lg: "p-6"
989
- }, m = u(() => `flex items-center justify-between border-b border-gray-200 ${v[e.padding]}`), x = u(() => `flex-1 overflow-y-auto ${v[e.padding]}`), O = u(() => `border-t border-gray-200 ${v[e.padding]}`);
990
- return (z, L) => (s(), q(J, { to: "body" }, [
989
+ }, y = d(() => `flex items-center justify-between border-b border-gray-200 ${x[e.padding]}`), c = d(() => `flex-1 overflow-y-auto ${x[e.padding]}`), _ = d(() => `border-t border-gray-200 ${x[e.padding]}`);
990
+ return (C, S) => (s(), q(J, { to: "body" }, [
991
991
  G(Q, { name: "fade" }, {
992
992
  default: U(() => [
993
- a.value && t.overlay ? (s(), o("div", {
993
+ n.value && t.overlay ? (s(), o("div", {
994
994
  key: 0,
995
- onClick: i,
995
+ onClick: r,
996
996
  class: "fixed inset-0 bg-black/50 z-40",
997
- style: K({ top: t.overlayTop })
998
- }, null, 4)) : p("", !0)
997
+ style: R({ top: t.overlayTop })
998
+ }, null, 4)) : g("", !0)
999
999
  ]),
1000
1000
  _: 1
1001
1001
  }),
1002
- G(Q, { name: c.value }, {
1002
+ G(Q, { name: f.value }, {
1003
1003
  default: U(() => [
1004
- a.value ? (s(), o("aside", {
1004
+ n.value ? (s(), o("aside", {
1005
1005
  key: 0,
1006
- class: f(d.value),
1007
- style: K(g.value)
1006
+ class: p(u.value),
1007
+ style: R(v.value)
1008
1008
  }, [
1009
- z.$slots.header ? (s(), o("div", {
1009
+ C.$slots.header ? (s(), o("div", {
1010
1010
  key: 0,
1011
- class: f(m.value)
1011
+ class: p(y.value)
1012
1012
  }, [
1013
- C(z.$slots, "header", {}, void 0, !0),
1013
+ B(C.$slots, "header", {}, void 0, !0),
1014
1014
  t.closable ? (s(), o("button", {
1015
1015
  key: 0,
1016
- onClick: i,
1016
+ onClick: r,
1017
1017
  class: "p-2 hover:bg-gray-100 rounded-md transition-colors",
1018
1018
  "aria-label": "Cerrar menú"
1019
- }, [...L[0] || (L[0] = [
1019
+ }, [...S[0] || (S[0] = [
1020
1020
  l("svg", {
1021
1021
  class: "w-5 h-5",
1022
1022
  fill: "none",
@@ -1030,38 +1030,38 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1030
1030
  d: "M6 18L18 6M6 6l12 12"
1031
1031
  })
1032
1032
  ], -1)
1033
- ])])) : p("", !0)
1034
- ], 2)) : p("", !0),
1033
+ ])])) : g("", !0)
1034
+ ], 2)) : g("", !0),
1035
1035
  l("div", {
1036
- class: f(x.value)
1036
+ class: p(c.value)
1037
1037
  }, [
1038
- C(z.$slots, "default", {}, void 0, !0)
1038
+ B(C.$slots, "default", {}, void 0, !0)
1039
1039
  ], 2),
1040
- z.$slots.footer ? (s(), o("div", {
1040
+ C.$slots.footer ? (s(), o("div", {
1041
1041
  key: 1,
1042
- class: f(O.value)
1042
+ class: p(_.value)
1043
1043
  }, [
1044
- C(z.$slots, "footer", {}, void 0, !0)
1045
- ], 2)) : p("", !0)
1046
- ], 6)) : p("", !0)
1044
+ B(C.$slots, "footer", {}, void 0, !0)
1045
+ ], 2)) : g("", !0)
1046
+ ], 6)) : g("", !0)
1047
1047
  ]),
1048
1048
  _: 3
1049
1049
  }, 8, ["name"])
1050
1050
  ]));
1051
1051
  }
1052
- }), Yt = /* @__PURE__ */ N(vt, [["__scopeId", "data-v-b208234c"]]), xt = { class: "w-full space-y-4" }, bt = { class: "flex flex-col gap-3 md:hidden" }, ht = { class: "text-[11px] uppercase tracking-wide text-gray-400" }, yt = { class: "text-sm text-gray-700" }, mt = {
1052
+ }), ds = /* @__PURE__ */ N(vt, [["__scopeId", "data-v-b208234c"]]), xt = { class: "w-full space-y-4" }, bt = { class: "flex flex-col gap-3 md:hidden" }, ht = { class: "text-[11px] uppercase tracking-wide text-gray-400" }, yt = { class: "text-sm text-gray-700" }, mt = {
1053
1053
  key: 0,
1054
1054
  class: "rounded-lg border border-dashed border-gray-200 bg-white p-4 text-gray-400 text-center"
1055
- }, wt = { class: "hidden md:block w-full overflow-x-auto" }, kt = { class: "w-full border-collapse" }, $t = { class: "w-full" }, Ct = ["onClick"], Bt = { class: "flex items-center gap-2" }, Tt = {
1055
+ }, wt = { class: "hidden md:block w-full overflow-x-auto" }, kt = { class: "w-full border-collapse" }, $t = { class: "w-full" }, Ct = ["onClick"], Bt = { class: "flex items-center gap-2" }, Mt = {
1056
1056
  key: 0,
1057
1057
  class: "text-xs text-gray-400"
1058
- }, Mt = { key: 0 }, zt = { key: 1 }, _t = { class: "w-full" }, jt = {
1058
+ }, Tt = { key: 0 }, _t = { key: 1 }, zt = { class: "w-full" }, jt = {
1059
1059
  key: 0,
1060
1060
  class: "flex items-center justify-center py-12 text-gray-400"
1061
1061
  }, Vt = {
1062
1062
  key: 0,
1063
1063
  class: "w-full px-6 py-4 bg-white"
1064
- }, Lt = /* @__PURE__ */ E({
1064
+ }, St = /* @__PURE__ */ O({
1065
1065
  __name: "Table",
1066
1066
  props: {
1067
1067
  columns: {},
@@ -1072,147 +1072,147 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1072
1072
  rowClass: { default: void 0 }
1073
1073
  },
1074
1074
  setup(t) {
1075
- const h = t, e = I(null), r = I("asc"), a = (d) => {
1076
- e.value === d ? r.value = r.value === "asc" ? "desc" : "asc" : (e.value = d, r.value = "asc");
1077
- }, i = u(() => {
1075
+ const b = t, e = P(null), i = P("asc"), n = (u) => {
1076
+ e.value === u ? i.value = i.value === "asc" ? "desc" : "asc" : (e.value = u, i.value = "asc");
1077
+ }, r = d(() => {
1078
1078
  if (!e.value)
1079
- return h.data;
1080
- const d = [...h.data];
1081
- return d.sort((g, v) => {
1082
- const m = g[e.value], x = v[e.value];
1083
- return typeof m == "string" && typeof x == "string" ? r.value === "asc" ? m.localeCompare(x) : x.localeCompare(m) : typeof m == "number" && typeof x == "number" ? r.value === "asc" ? m - x : x - m : 0;
1084
- }), d;
1085
- }), c = u(() => h.columns.filter((d) => !d.hideOnMobile));
1086
- return (d, g) => (s(), o("div", xt, [
1079
+ return b.data;
1080
+ const u = [...b.data];
1081
+ return u.sort((v, x) => {
1082
+ const y = v[e.value], c = x[e.value];
1083
+ return typeof y == "string" && typeof c == "string" ? i.value === "asc" ? y.localeCompare(c) : c.localeCompare(y) : typeof y == "number" && typeof c == "number" ? i.value === "asc" ? y - c : c - y : 0;
1084
+ }), u;
1085
+ }), f = d(() => b.columns.filter((u) => !u.hideOnMobile));
1086
+ return (u, v) => (s(), o("div", xt, [
1087
1087
  l("div", bt, [
1088
- (s(!0), o(W, null, P(i.value, (v, m) => (s(), o("div", {
1089
- key: `card-${m}`,
1088
+ (s(!0), o(A, null, W(r.value, (x, y) => (s(), o("div", {
1089
+ key: `card-${y}`,
1090
1090
  class: "rounded-lg border border-gray-200 bg-white p-4 shadow-sm"
1091
1091
  }, [
1092
- (s(!0), o(W, null, P(c.value, (x) => (s(), o("div", {
1093
- key: `card-${m}-${x.key}`,
1092
+ (s(!0), o(A, null, W(f.value, (c) => (s(), o("div", {
1093
+ key: `card-${y}-${c.key}`,
1094
1094
  class: "flex flex-col gap-1 py-1"
1095
1095
  }, [
1096
- l("span", ht, w(x.label), 1),
1096
+ l("span", ht, w(c.label), 1),
1097
1097
  l("span", yt, [
1098
- C(d.$slots, `cell-${x.key}`, {
1099
- value: v[x.key],
1100
- row: v
1098
+ B(u.$slots, `cell-${c.key}`, {
1099
+ value: x[c.key],
1100
+ row: x
1101
1101
  }, () => [
1102
- A(w(v[x.key]), 1)
1102
+ E(w(x[c.key]), 1)
1103
1103
  ], !0)
1104
1104
  ])
1105
1105
  ]))), 128))
1106
1106
  ]))), 128)),
1107
- i.value.length === 0 ? (s(), o("div", mt, [
1108
- C(d.$slots, "empty", {}, () => [
1109
- g[0] || (g[0] = A("No hay datos disponibles", -1))
1107
+ r.value.length === 0 ? (s(), o("div", mt, [
1108
+ B(u.$slots, "empty", {}, () => [
1109
+ v[0] || (v[0] = E("No hay datos disponibles", -1))
1110
1110
  ], !0)
1111
- ])) : p("", !0)
1111
+ ])) : g("", !0)
1112
1112
  ]),
1113
1113
  l("div", wt, [
1114
1114
  l("table", kt, [
1115
1115
  l("thead", $t, [
1116
1116
  l("tr", {
1117
- class: f([
1117
+ class: p([
1118
1118
  "w-full",
1119
- h.headerClass || "bg-neutral-50 border-b border-gray-100"
1119
+ b.headerClass || "bg-neutral-50 border-b border-gray-100"
1120
1120
  ])
1121
1121
  }, [
1122
- (s(!0), o(W, null, P(t.columns, (v) => (s(), o("th", {
1123
- key: v.key,
1124
- style: K(v.width ? { width: v.width } : {}),
1125
- class: f([
1122
+ (s(!0), o(A, null, W(t.columns, (x) => (s(), o("th", {
1123
+ key: x.key,
1124
+ style: R(x.width ? { width: x.width } : {}),
1125
+ class: p([
1126
1126
  "px-4 py-3 text-left text-xs font-semibold text-gray-700 border-l border-gray-100 first:border-l-0",
1127
- v.sortable ? "cursor-pointer hover:text-primary-600 select-none transition-colors" : "",
1128
- h.headerCellClass
1127
+ x.sortable ? "cursor-pointer hover:text-primary-600 select-none transition-colors" : "",
1128
+ b.headerCellClass
1129
1129
  ]),
1130
- onClick: (m) => v.sortable && a(v.key)
1130
+ onClick: (y) => x.sortable && n(x.key)
1131
1131
  }, [
1132
1132
  l("div", Bt, [
1133
- l("span", null, w(v.label), 1),
1134
- v.sortable ? (s(), o("span", Tt, [
1135
- e.value !== v.key ? (s(), o("span", Mt, "⇅")) : (s(), o("span", zt, w(r.value === "asc" ? "↑" : "↓"), 1))
1136
- ])) : p("", !0)
1133
+ l("span", null, w(x.label), 1),
1134
+ x.sortable ? (s(), o("span", Mt, [
1135
+ e.value !== x.key ? (s(), o("span", Tt, "⇅")) : (s(), o("span", _t, w(i.value === "asc" ? "↑" : "↓"), 1))
1136
+ ])) : g("", !0)
1137
1137
  ])
1138
1138
  ], 14, Ct))), 128))
1139
1139
  ], 2)
1140
1140
  ]),
1141
- l("tbody", _t, [
1142
- (s(!0), o(W, null, P(i.value, (v, m) => (s(), o("tr", {
1143
- key: m,
1144
- class: f([
1141
+ l("tbody", zt, [
1142
+ (s(!0), o(A, null, W(r.value, (x, y) => (s(), o("tr", {
1143
+ key: y,
1144
+ class: p([
1145
1145
  "w-full border-b border-gray-200 hover:bg-gray-50 transition-colors",
1146
- h.rowClass
1146
+ b.rowClass
1147
1147
  ])
1148
1148
  }, [
1149
- (s(!0), o(W, null, P(t.columns, (x) => (s(), o("td", {
1150
- key: `${m}-${x.key}`,
1151
- class: f([
1149
+ (s(!0), o(A, null, W(t.columns, (c) => (s(), o("td", {
1150
+ key: `${y}-${c.key}`,
1151
+ class: p([
1152
1152
  "px-4 py-3 text-xs text-gray-600 border-l border-gray-100 first:border-l-0",
1153
- h.cellClass
1153
+ b.cellClass
1154
1154
  ])
1155
1155
  }, [
1156
- C(d.$slots, `cell-${x.key}`, {
1157
- value: v[x.key],
1158
- row: v
1156
+ B(u.$slots, `cell-${c.key}`, {
1157
+ value: x[c.key],
1158
+ row: x
1159
1159
  }, () => [
1160
- A(w(v[x.key]), 1)
1160
+ E(w(x[c.key]), 1)
1161
1161
  ], !0)
1162
1162
  ], 2))), 128))
1163
1163
  ], 2))), 128))
1164
1164
  ])
1165
1165
  ]),
1166
- i.value.length === 0 ? (s(), o("div", jt, [
1167
- C(d.$slots, "empty", {}, () => [
1168
- g[1] || (g[1] = A("No hay datos disponibles", -1))
1166
+ r.value.length === 0 ? (s(), o("div", jt, [
1167
+ B(u.$slots, "empty", {}, () => [
1168
+ v[1] || (v[1] = E("No hay datos disponibles", -1))
1169
1169
  ], !0)
1170
- ])) : p("", !0)
1170
+ ])) : g("", !0)
1171
1171
  ]),
1172
- d.$slots.footer ? (s(), o("div", Vt, [
1173
- C(d.$slots, "footer", {}, void 0, !0)
1174
- ])) : p("", !0)
1172
+ u.$slots.footer ? (s(), o("div", Vt, [
1173
+ B(u.$slots, "footer", {}, void 0, !0)
1174
+ ])) : g("", !0)
1175
1175
  ]));
1176
1176
  }
1177
- }), es = /* @__PURE__ */ N(Lt, [["__scopeId", "data-v-8e7ce66d"]]), Ot = { class: "w-full" }, St = {
1178
- class: "flex flex-col sm:flex-row border-b border-gray-100",
1177
+ }), us = /* @__PURE__ */ N(St, [["__scopeId", "data-v-8e7ce66d"]]), Lt = { class: "w-full" }, It = {
1178
+ class: "tabs-container flex flex-col sm:flex-row",
1179
1179
  role: "tablist"
1180
- }, Dt = ["aria-selected", "onClick"], It = { role: "tabpanel" }, Et = "relative w-full sm:w-auto text-left sm:text-center px-4 sm: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", At = "text-primary-700 border-b-4 border-primary-700", Ht = "text-gray-600 border-b-4 border-transparent hover:text-gray-800", ts = /* @__PURE__ */ E({
1180
+ }, Ot = ["aria-selected", "onClick"], Dt = { role: "tabpanel" }, At = "relative w-full sm:w-auto text-left sm:text-center px-4 sm:px-6 py-3 text-base font-semibold tracking-wide transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary-500 border-b-2", Et = "text-primary-600 border-primary-600", Pt = "hover:text-secondary-700 border-gray-100", Ht = /* @__PURE__ */ O({
1181
1181
  __name: "Tabs",
1182
1182
  props: {
1183
1183
  modelValue: {},
1184
1184
  tabs: {}
1185
1185
  },
1186
1186
  emits: ["update:modelValue"],
1187
- setup(t, { emit: h }) {
1188
- const e = t, r = h, a = (g) => e.modelValue === g, i = (g) => {
1189
- a(g) || r("update:modelValue", g);
1190
- }, c = u(() => e.modelValue), d = u(
1191
- () => e.tabs.find((g) => g.value === c.value)
1187
+ setup(t, { emit: b }) {
1188
+ const e = t, i = b, n = (v) => e.modelValue === v, r = (v) => {
1189
+ n(v) || i("update:modelValue", v);
1190
+ }, f = d(() => e.modelValue), u = d(
1191
+ () => e.tabs.find((v) => v.value === f.value)
1192
1192
  );
1193
- return (g, v) => (s(), o("div", Ot, [
1194
- l("div", St, [
1195
- (s(!0), o(W, null, P(t.tabs, (m) => (s(), o("button", {
1196
- key: m.value,
1193
+ return (v, x) => (s(), o("div", Lt, [
1194
+ l("div", It, [
1195
+ (s(!0), o(A, null, W(t.tabs, (y) => (s(), o("button", {
1196
+ key: y.value,
1197
1197
  type: "button",
1198
- class: f([
1199
- Et,
1200
- a(m.value) ? At : Ht
1198
+ class: p([
1199
+ At,
1200
+ n(y.value) ? Et : Pt
1201
1201
  ]),
1202
- "aria-selected": a(m.value),
1202
+ "aria-selected": n(y.value),
1203
1203
  role: "tab",
1204
- onClick: (x) => i(m.value)
1205
- }, w(m.label), 11, Dt))), 128))
1204
+ onClick: (c) => r(y.value)
1205
+ }, w(y.label), 11, Ot))), 128))
1206
1206
  ]),
1207
- l("div", It, [
1208
- C(g.$slots, c.value, {
1209
- active: c.value,
1210
- tab: d.value
1211
- })
1207
+ l("div", Dt, [
1208
+ B(v.$slots, f.value, {
1209
+ active: f.value,
1210
+ tab: u.value
1211
+ }, void 0, !0)
1212
1212
  ])
1213
1213
  ]));
1214
1214
  }
1215
- }), Wt = "font-sans", ss = /* @__PURE__ */ E({
1215
+ }), cs = /* @__PURE__ */ N(Ht, [["__scopeId", "data-v-b5a754bd"]]), Wt = "font-sans", fs = /* @__PURE__ */ O({
1216
1216
  __name: "Text",
1217
1217
  props: {
1218
1218
  variant: { default: "body1" },
@@ -1224,7 +1224,7 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1224
1224
  weight: {}
1225
1225
  },
1226
1226
  setup(t) {
1227
- const h = {
1227
+ const b = {
1228
1228
  h1: "text-[40px] leading-[57px] tracking-[0px] font-extrabold",
1229
1229
  h2: "text-[40px] leading-[57px] tracking-[0px] font-bold",
1230
1230
  h3: "text-[28px] leading-[39px] tracking-[0px] font-extrabold",
@@ -1264,12 +1264,12 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1264
1264
  button3: "span",
1265
1265
  caption: "span",
1266
1266
  overline: "span"
1267
- }, r = {
1267
+ }, i = {
1268
1268
  left: "text-left",
1269
1269
  center: "text-center",
1270
1270
  right: "text-right",
1271
1271
  justify: "text-justify"
1272
- }, a = {
1272
+ }, n = {
1273
1273
  default: "text-secondary-900",
1274
1274
  muted: "text-secondary-600",
1275
1275
  primary: "text-primary-600",
@@ -1277,37 +1277,127 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1277
1277
  danger: "text-danger-600",
1278
1278
  success: "text-success-600",
1279
1279
  warning: "text-warning-600"
1280
- }, i = {
1280
+ }, r = {
1281
1281
  light: "font-light",
1282
1282
  normal: "font-normal",
1283
1283
  medium: "font-medium",
1284
1284
  semibold: "font-semibold",
1285
1285
  bold: "font-bold",
1286
1286
  extrabold: "font-extrabold"
1287
- }, c = t, d = u(() => c.variant), g = u(() => c.color), v = u(() => c.align), m = u(() => c.as || e[d.value] || "span"), x = u(() => c.weight ? i[c.weight] : "");
1288
- return (O, z) => (s(), q(Y(m.value), {
1289
- class: f([
1287
+ }, f = t, u = d(() => f.variant), v = d(() => f.color), x = d(() => f.align), y = d(() => f.as || e[u.value] || "span"), c = d(() => f.weight ? r[f.weight] : "");
1288
+ return (_, C) => (s(), q(Y(y.value), {
1289
+ class: p([
1290
1290
  Wt,
1291
- h[d.value],
1292
- a[g.value],
1293
- r[v.value],
1294
- x.value,
1291
+ b[u.value],
1292
+ n[v.value],
1293
+ i[x.value],
1294
+ c.value,
1295
1295
  {
1296
- uppercase: t.uppercase || d.value === "overline",
1296
+ uppercase: t.uppercase || u.value === "overline",
1297
1297
  truncate: t.truncate
1298
1298
  }
1299
1299
  ])
1300
1300
  }, {
1301
1301
  default: U(() => [
1302
- C(O.$slots, "default")
1302
+ B(_.$slots, "default")
1303
1303
  ]),
1304
1304
  _: 3
1305
1305
  }, 8, ["class"]));
1306
1306
  }
1307
- }), Ft = ["data-node-id"], Pt = { class: "shrink-0 size-12 rounded-full bg-[var(--neutrales/fondo-general-claro,#f7f7f7)] grid place-items-center" }, Kt = {
1307
+ }), Ft = { class: "w-full flex items-center justify-between gap-3 py-2" }, Nt = {
1308
+ key: 0,
1309
+ class: "text-xs text-secondary-600"
1310
+ }, Rt = { key: 0 }, Kt = {
1311
+ class: "ml-auto inline-flex items-center gap-1",
1312
+ role: "navigation",
1313
+ "aria-label": "Pagination"
1314
+ }, qt = ["disabled"], Ut = {
1315
+ key: 0,
1316
+ class: "h-8 min-w-8 px-2 inline-flex items-center justify-center text-secondary-500"
1317
+ }, Gt = ["aria-label", "onClick"], Qt = ["disabled"], Zt = /* @__PURE__ */ O({
1318
+ __name: "Pagination",
1319
+ props: {
1320
+ modelValue: { default: 1 },
1321
+ totalItems: { default: 0 },
1322
+ pageSize: { default: 10 },
1323
+ maxPages: { default: 5 },
1324
+ previousText: { default: "Anterior" },
1325
+ nextText: { default: "Siguiente" },
1326
+ showSummary: { type: Boolean, default: !0 },
1327
+ itemLabel: { default: "" }
1328
+ },
1329
+ emits: ["update:modelValue", "change"],
1330
+ setup(t, { emit: b }) {
1331
+ const e = t, i = b, n = d(() => {
1332
+ const c = Math.ceil(e.totalItems / e.pageSize);
1333
+ return c > 0 ? c : 1;
1334
+ }), r = d(() => {
1335
+ const c = Number(e.modelValue || 1);
1336
+ return c < 1 ? 1 : c > n.value ? n.value : c;
1337
+ }), f = d(() => e.totalItems === 0 ? 0 : (r.value - 1) * e.pageSize + 1), u = d(() => Math.min(r.value * e.pageSize, e.totalItems)), v = d(() => `Mostrando ${f.value} a ${u.value} de ${e.totalItems}`), x = d(() => {
1338
+ const c = n.value, _ = Math.max(3, e.maxPages), C = r.value;
1339
+ if (c <= _)
1340
+ return Array.from({ length: c }, (k, j) => j + 1);
1341
+ const S = Math.floor(_ / 2);
1342
+ let V = Math.max(1, C - S), z = Math.min(c, V + _ - 1);
1343
+ V = Math.max(1, Math.min(V, z - _ + 1));
1344
+ const h = [];
1345
+ V > 1 && (h.push(1), V > 2 && h.push("…"));
1346
+ for (let k = V; k <= z; k++)
1347
+ h.push(k);
1348
+ return z < c && (z < c - 1 && h.push("…"), h.push(c)), h;
1349
+ });
1350
+ function y(c) {
1351
+ const _ = Math.max(1, Math.min(c, n.value));
1352
+ _ !== r.value && (i("update:modelValue", _), i("change", _));
1353
+ }
1354
+ return (c, _) => (s(), o("div", Ft, [
1355
+ t.showSummary ? (s(), o("div", Nt, [
1356
+ B(c.$slots, "summary", {
1357
+ start: f.value,
1358
+ end: u.value,
1359
+ total: t.totalItems
1360
+ }, () => [
1361
+ E(w(v.value), 1),
1362
+ t.itemLabel ? (s(), o("span", Rt, w(t.itemLabel), 1)) : g("", !0)
1363
+ ], !0)
1364
+ ])) : g("", !0),
1365
+ l("nav", Kt, [
1366
+ l("button", {
1367
+ type: "button",
1368
+ class: "h-8 px-3 rounded-full text-sm font-semibold text-secondary-700 hover:bg-secondary-100 disabled:opacity-50 disabled:cursor-not-allowed",
1369
+ disabled: r.value <= 1,
1370
+ onClick: _[0] || (_[0] = (C) => y(r.value - 1)),
1371
+ "aria-label": "Anterior"
1372
+ }, w(t.previousText), 9, qt),
1373
+ (s(!0), o(A, null, W(x.value, (C, S) => (s(), o(A, {
1374
+ key: `page-${S}-${C}`
1375
+ }, [
1376
+ C === "…" ? (s(), o("span", Ut, " … ")) : (s(), o("button", {
1377
+ key: 1,
1378
+ type: "button",
1379
+ "aria-label": `Página ${C}`,
1380
+ class: p([
1381
+ "h-8 min-w-8 px-3 rounded-full text-sm font-semibold transition-colors",
1382
+ C === r.value ? "bg-primary-500 text-white" : "text-secondary-700 hover:bg-secondary-100"
1383
+ ]),
1384
+ onClick: (V) => y(C)
1385
+ }, w(C), 11, Gt))
1386
+ ], 64))), 128)),
1387
+ l("button", {
1388
+ type: "button",
1389
+ class: "h-8 px-3 rounded-full text-sm font-semibold text-secondary-700 hover:bg-secondary-100 disabled:opacity-50 disabled:cursor-not-allowed",
1390
+ disabled: r.value >= n.value,
1391
+ onClick: _[1] || (_[1] = (C) => y(r.value + 1)),
1392
+ "aria-label": "Siguiente"
1393
+ }, w(t.nextText), 9, Qt)
1394
+ ])
1395
+ ]));
1396
+ }
1397
+ }), ps = /* @__PURE__ */ N(Zt, [["__scopeId", "data-v-87417cc4"]]), Jt = ["data-node-id"], Xt = { class: "shrink-0 size-12 rounded-full bg-[var(--neutrales/fondo-general-claro,#f7f7f7)] grid place-items-center" }, Yt = {
1308
1398
  key: 1,
1309
1399
  class: "flex justify-end gap-1 px-6 pb-6 pt-4"
1310
- }, os = /* @__PURE__ */ E({
1400
+ }, gs = /* @__PURE__ */ O({
1311
1401
  __name: "Alert",
1312
1402
  props: {
1313
1403
  variant: {},
@@ -1320,10 +1410,10 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1320
1410
  stackOn: {}
1321
1411
  },
1322
1412
  emits: ["close", "accept", "cancel"],
1323
- setup(t, { emit: h }) {
1324
- const e = h, r = t, a = u(() => r.variant ?? "info"), i = u(() => r.multiline ?? !1), c = u(() => r.actions ?? !1), d = u(() => r.nodeId ?? void 0), g = () => e("close"), v = u(() => {
1325
- if (r.title) return r.title;
1326
- switch (a.value) {
1413
+ setup(t, { emit: b }) {
1414
+ const e = b, i = t, n = d(() => i.variant ?? "info"), r = d(() => i.multiline ?? !1), f = d(() => i.actions ?? !1), u = d(() => i.nodeId ?? void 0), v = () => e("close"), x = d(() => {
1415
+ if (i.title) return i.title;
1416
+ switch (n.value) {
1327
1417
  case "info":
1328
1418
  return "Alerta de información";
1329
1419
  case "warning":
@@ -1333,8 +1423,8 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1333
1423
  case "error":
1334
1424
  return "Alerta de error";
1335
1425
  }
1336
- }), m = u(() => r.description ?? ""), x = u(() => {
1337
- switch (a.value) {
1426
+ }), y = d(() => i.description ?? ""), c = d(() => {
1427
+ switch (n.value) {
1338
1428
  case "info":
1339
1429
  return {
1340
1430
  border: "border-[var(--semantica/info,#0064ff)]",
@@ -1360,31 +1450,31 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1360
1450
  icon: "text-[#ff4235]"
1361
1451
  };
1362
1452
  }
1363
- }), O = u(() => "bg-[var(--color-primario/700,#269ea4)]"), z = u(() => {
1364
- const _ = "flex w-full items-start gap-4 flex-col";
1365
- if (!r.stackOn) return `${_} sm:flex-row sm:items-center`;
1366
- const k = r.stackOn, $ = `${k}:flex-row ${k}:items-center`;
1367
- return `${_} ${$}`;
1368
- }), L = u(() => {
1369
- if (!r.stackOn) return "flex-col sm:flex-row items-start sm:items-center";
1370
- const _ = r.stackOn;
1371
- return `flex-col ${_}:flex-row items-start ${_}:items-center`;
1372
- }), S = u(() => r.stackOn ? `self-start ${r.stackOn}:self-auto` : "self-start sm:self-auto");
1373
- return (_, k) => (s(), o("div", {
1374
- class: f(["relative w-full rounded-xl border", [
1375
- x.value.border,
1376
- x.value.bg
1453
+ }), _ = d(() => "bg-[var(--color-primario/700,#269ea4)]"), C = d(() => {
1454
+ const z = "flex w-full items-start gap-4 flex-col";
1455
+ if (!i.stackOn) return `${z} sm:flex-row sm:items-center`;
1456
+ const h = i.stackOn, k = `${h}:flex-row ${h}:items-center`;
1457
+ return `${z} ${k}`;
1458
+ }), S = d(() => {
1459
+ if (!i.stackOn) return "flex-col sm:flex-row items-start sm:items-center";
1460
+ const z = i.stackOn;
1461
+ return `flex-col ${z}:flex-row items-start ${z}:items-center`;
1462
+ }), V = d(() => i.stackOn ? `self-start ${i.stackOn}:self-auto` : "self-start sm:self-auto");
1463
+ return (z, h) => (s(), o("div", {
1464
+ class: p(["relative w-full rounded-xl border", [
1465
+ c.value.border,
1466
+ c.value.bg
1377
1467
  ]]),
1378
1468
  role: "alert",
1379
- "data-node-id": d.value
1469
+ "data-node-id": u.value
1380
1470
  }, [
1381
1471
  t.closable ? (s(), o("button", {
1382
1472
  key: 0,
1383
1473
  type: "button",
1384
1474
  class: "absolute top-3 right-3 text-[color:var(--neutrales/texto-principal,#565656)]/70 hover:opacity-100 opacity-70",
1385
1475
  "aria-label": "Cerrar",
1386
- onClick: g
1387
- }, [...k[2] || (k[2] = [
1476
+ onClick: v
1477
+ }, [...h[2] || (h[2] = [
1388
1478
  l("svg", {
1389
1479
  xmlns: "http://www.w3.org/2000/svg",
1390
1480
  width: "18",
@@ -1409,27 +1499,27 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1409
1499
  y2: "18"
1410
1500
  })
1411
1501
  ], -1)
1412
- ])])) : p("", !0),
1502
+ ])])) : g("", !0),
1413
1503
  l("div", {
1414
- class: f(["p-6", { "pb-0": c.value }])
1504
+ class: p(["p-6", { "pb-0": f.value }])
1415
1505
  }, [
1416
1506
  l("div", {
1417
- class: f(z.value)
1507
+ class: p(C.value)
1418
1508
  }, [
1419
- l("div", Pt, [
1420
- a.value === "info" ? (s(), o("svg", {
1509
+ l("div", Xt, [
1510
+ n.value === "info" ? (s(), o("svg", {
1421
1511
  key: 0,
1422
1512
  xmlns: "http://www.w3.org/2000/svg",
1423
1513
  width: "24",
1424
1514
  height: "24",
1425
1515
  viewBox: "0 0 24 24",
1426
1516
  fill: "none",
1427
- class: f(x.value.icon),
1517
+ class: p(c.value.icon),
1428
1518
  stroke: "currentColor",
1429
1519
  "stroke-width": "2",
1430
1520
  "stroke-linecap": "round",
1431
1521
  "stroke-linejoin": "round"
1432
- }, [...k[3] || (k[3] = [
1522
+ }, [...h[3] || (h[3] = [
1433
1523
  l("circle", {
1434
1524
  cx: "12",
1435
1525
  cy: "12",
@@ -1447,19 +1537,19 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1447
1537
  x2: "12",
1448
1538
  y2: "8"
1449
1539
  }, null, -1)
1450
- ])], 2)) : a.value === "warning" ? (s(), o("svg", {
1540
+ ])], 2)) : n.value === "warning" ? (s(), o("svg", {
1451
1541
  key: 1,
1452
1542
  xmlns: "http://www.w3.org/2000/svg",
1453
1543
  width: "24",
1454
1544
  height: "24",
1455
1545
  viewBox: "0 0 24 24",
1456
1546
  fill: "none",
1457
- class: f(x.value.icon),
1547
+ class: p(c.value.icon),
1458
1548
  stroke: "currentColor",
1459
1549
  "stroke-width": "2",
1460
1550
  "stroke-linecap": "round",
1461
1551
  "stroke-linejoin": "round"
1462
- }, [...k[4] || (k[4] = [
1552
+ }, [...h[4] || (h[4] = [
1463
1553
  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),
1464
1554
  l("line", {
1465
1555
  x1: "12",
@@ -1473,19 +1563,19 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1473
1563
  x2: "12",
1474
1564
  y2: "17"
1475
1565
  }, null, -1)
1476
- ])], 2)) : a.value === "success" ? (s(), o("svg", {
1566
+ ])], 2)) : n.value === "success" ? (s(), o("svg", {
1477
1567
  key: 2,
1478
1568
  xmlns: "http://www.w3.org/2000/svg",
1479
1569
  width: "24",
1480
1570
  height: "24",
1481
1571
  viewBox: "0 0 24 24",
1482
1572
  fill: "none",
1483
- class: f(x.value.icon),
1573
+ class: p(c.value.icon),
1484
1574
  stroke: "currentColor",
1485
1575
  "stroke-width": "2",
1486
1576
  "stroke-linecap": "round",
1487
1577
  "stroke-linejoin": "round"
1488
- }, [...k[5] || (k[5] = [
1578
+ }, [...h[5] || (h[5] = [
1489
1579
  l("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }, null, -1),
1490
1580
  l("polyline", { points: "22 4 12 14.01 9 11.01" }, null, -1)
1491
1581
  ])], 2)) : (s(), o("svg", {
@@ -1495,12 +1585,12 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1495
1585
  height: "24",
1496
1586
  viewBox: "0 0 24 24",
1497
1587
  fill: "none",
1498
- class: f(x.value.icon),
1588
+ class: p(c.value.icon),
1499
1589
  stroke: "currentColor",
1500
1590
  "stroke-width": "2",
1501
1591
  "stroke-linecap": "round",
1502
1592
  "stroke-linejoin": "round"
1503
- }, [...k[6] || (k[6] = [
1593
+ }, [...h[6] || (h[6] = [
1504
1594
  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),
1505
1595
  l("line", {
1506
1596
  x1: "12",
@@ -1517,56 +1607,57 @@ const le = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, ne = {
1517
1607
  ])], 2))
1518
1608
  ]),
1519
1609
  l("div", {
1520
- class: f(["flex-1 flex gap-4 text-[14px]", [L.value, t.closable ? "pr-6" : "", { "whitespace-nowrap": !i.value, "whitespace-pre-wrap": i.value }]])
1610
+ class: p(["flex-1 flex gap-4 text-[14px]", [S.value, t.closable ? "pr-6" : "", { "whitespace-nowrap": !r.value, "whitespace-pre-wrap": r.value }]])
1521
1611
  }, [
1522
1612
  l("div", {
1523
- class: f(["tracking-[0.1px] text-[color:var(--neutrales/texto-principal,#565656)] font-medium", S.value])
1524
- }, w(v.value), 3),
1613
+ class: p(["tracking-[0.1px] text-[color:var(--neutrales/texto-principal,#565656)] font-medium", V.value])
1614
+ }, w(x.value), 3),
1525
1615
  l("div", {
1526
- class: f(["flex-1 tracking-[0.25px] text-[color:var(--neutrales/texto-principal,#565656)]", { "overflow-hidden overflow-ellipsis": !i.value }])
1616
+ class: p(["flex-1 tracking-[0.25px] text-[color:var(--neutrales/texto-principal,#565656)]", { "overflow-hidden overflow-ellipsis": !r.value }])
1527
1617
  }, [
1528
- C(_.$slots, "description", {}, () => [
1529
- A(w(m.value), 1)
1618
+ B(z.$slots, "description", {}, () => [
1619
+ E(w(y.value), 1)
1530
1620
  ])
1531
1621
  ], 2)
1532
1622
  ], 2)
1533
1623
  ], 2)
1534
1624
  ], 2),
1535
- c.value ? (s(), o("div", Kt, [
1625
+ f.value ? (s(), o("div", Yt, [
1536
1626
  l("button", {
1537
1627
  type: "button",
1538
1628
  class: "px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-[color:var(--neutrales/texto-principal,#565656)]",
1539
- onClick: k[0] || (k[0] = ($) => _.$emit("cancel"))
1629
+ onClick: h[0] || (h[0] = (k) => z.$emit("cancel"))
1540
1630
  }, [
1541
- C(_.$slots, "cancel", {}, () => [
1542
- k[7] || (k[7] = A("Cancelar", -1))
1631
+ B(z.$slots, "cancel", {}, () => [
1632
+ h[7] || (h[7] = E("Cancelar", -1))
1543
1633
  ])
1544
1634
  ]),
1545
1635
  l("button", {
1546
1636
  type: "button",
1547
- class: f(["px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-white", O.value]),
1548
- onClick: k[1] || (k[1] = ($) => _.$emit("accept"))
1637
+ class: p(["px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-white", _.value]),
1638
+ onClick: h[1] || (h[1] = (k) => z.$emit("accept"))
1549
1639
  }, [
1550
- C(_.$slots, "accept", {}, () => [
1551
- k[8] || (k[8] = A("Aceptar", -1))
1640
+ B(z.$slots, "accept", {}, () => [
1641
+ h[8] || (h[8] = E("Aceptar", -1))
1552
1642
  ])
1553
1643
  ], 2)
1554
- ])) : p("", !0)
1555
- ], 10, Ft));
1644
+ ])) : g("", !0)
1645
+ ], 10, Jt));
1556
1646
  }
1557
1647
  });
1558
1648
  export {
1559
- os as Alert,
1560
- Rt as AppBar,
1561
- qt as Button,
1562
- Ut as Card,
1563
- Gt as Dialog,
1564
- Qt as FileUpload,
1565
- Zt as Loader,
1566
- Jt as Menu,
1567
- Xt as Select,
1568
- Yt as Sidebar,
1569
- es as Table,
1570
- ts as Tabs,
1571
- ss as Text
1649
+ gs as Alert,
1650
+ ts as AppBar,
1651
+ ss as Button,
1652
+ os as Card,
1653
+ ls as Dialog,
1654
+ as as FileUpload,
1655
+ ns as Loader,
1656
+ rs as Menu,
1657
+ ps as Pagination,
1658
+ is as Select,
1659
+ ds as Sidebar,
1660
+ us as Table,
1661
+ cs as Tabs,
1662
+ fs as Text
1572
1663
  };