@iaclinical/components 1.0.24 → 1.0.26

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,6 +1,6 @@
1
- import { defineComponent as q, computed as r, createElementBlock as l, openBlock as s, normalizeClass as c, createElementVNode as o, createCommentVNode as y, renderSlot as V, toDisplayString as x, createBlock as ee, unref as Ae, normalizeStyle as Q, ref as L, onMounted as $e, onUnmounted as Ce, watch as ve, createTextVNode as _, withModifiers as H, createVNode as G, withDirectives as ue, Fragment as P, renderList as W, vModelSelect as ke, Teleport as pe, Transition as ce, withCtx as ae, nextTick as fe, resolveDynamicComponent as Me, vModelText as Ee } from "vue";
2
- import { Icon as Pe } from "@iconify/vue";
3
- const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1
+ import { defineComponent as P, computed as r, createElementBlock as l, openBlock as s, normalizeClass as f, createElementVNode as o, createCommentVNode as m, renderSlot as V, toDisplayString as x, createBlock as ee, unref as _e, normalizeStyle as J, ref as O, onMounted as $e, onUnmounted as Ce, watch as ve, createTextVNode as q, withModifiers as H, createVNode as Q, withDirectives as ue, Fragment as E, renderList as W, vModelSelect as ke, Teleport as pe, Transition as ce, withCtx as ae, nextTick as fe, resolveDynamicComponent as Me, vModelText as Ae } from "vue";
2
+ import { Icon as Ee } from "@iconify/vue";
3
+ const Pe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, qe = {
4
4
  key: 1,
5
5
  class: "text-base sm:text-lg font-bold text-primary-50 font-poppins whitespace-nowrap"
6
6
  }, Re = { class: "flex flex-1 justify-center items-center min-w-0" }, Ne = {
@@ -9,7 +9,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
9
9
  }, We = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, He = {
10
10
  key: 0,
11
11
  class: "text-base sm:text-lg font-bold text-primary-50 font-poppins whitespace-nowrap"
12
- }, Ke = /* @__PURE__ */ q({
12
+ }, Ke = /* @__PURE__ */ P({
13
13
  __name: "AppBar",
14
14
  props: {
15
15
  title: { default: "" },
@@ -21,9 +21,9 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
21
21
  height: { default: "md" }
22
22
  },
23
23
  emits: ["toggle-menu"],
24
- setup(t, { emit: g }) {
25
- const e = t, f = g, n = r(() => {
26
- const u = "flex flex-row items-center justify-between gap-2 sm:gap-4 px-3 sm:px-6 z-50 w-full", v = {
24
+ setup(t, { emit: b }) {
25
+ const e = t, v = b, n = r(() => {
26
+ const u = "flex flex-row items-center justify-between gap-2 sm:gap-4 px-3 sm:px-6 z-50 w-full", c = {
27
27
  default: "bg-primary-700 text-primary-50",
28
28
  dark: "bg-secondary-900 text-white",
29
29
  light: "bg-white text-secondary-900 border-b border-secondary-200"
@@ -34,22 +34,22 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
34
34
  }, h = e.sticky ? "sticky top-0" : "", i = e.shadow ? "shadow-md" : "";
35
35
  return [
36
36
  u,
37
- v[e.variant],
37
+ c[e.variant],
38
38
  a[e.height],
39
39
  h,
40
40
  i
41
41
  ].join(" ");
42
42
  });
43
- return (u, v) => (s(), l("header", {
44
- class: c(n.value)
43
+ return (u, c) => (s(), l("header", {
44
+ class: f(n.value)
45
45
  }, [
46
- o("div", qe, [
46
+ o("div", Pe, [
47
47
  t.showMenuButton ? (s(), l("button", {
48
48
  key: 0,
49
- onClick: v[0] || (v[0] = (a) => f("toggle-menu")),
49
+ onClick: c[0] || (c[0] = (a) => v("toggle-menu")),
50
50
  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",
51
51
  "aria-label": "Toggle menu"
52
- }, [...v[1] || (v[1] = [
52
+ }, [...c[1] || (c[1] = [
53
53
  o("svg", {
54
54
  class: "w-5 h-5 sm:w-6 sm:h-6 text-primary-50",
55
55
  fill: "none",
@@ -64,29 +64,29 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
64
64
  d: "M4 6h16M4 12h16M4 18h16"
65
65
  })
66
66
  ], -1)
67
- ])])) : y("", !0),
68
- t.title && t.titlePosition === "left" ? (s(), l("div", _e, x(t.title), 1)) : y("", !0),
67
+ ])])) : m("", !0),
68
+ t.title && t.titlePosition === "left" ? (s(), l("div", qe, x(t.title), 1)) : m("", !0),
69
69
  V(u.$slots, "left", {}, void 0, !0)
70
70
  ]),
71
71
  o("div", Re, [
72
- t.title && t.titlePosition === "center" ? (s(), l("div", Ne, x(t.title), 1)) : y("", !0),
72
+ t.title && t.titlePosition === "center" ? (s(), l("div", Ne, x(t.title), 1)) : m("", !0),
73
73
  V(u.$slots, "center", {}, void 0, !0)
74
74
  ]),
75
75
  o("div", We, [
76
- t.title && t.titlePosition === "right" ? (s(), l("div", He, x(t.title), 1)) : y("", !0),
76
+ t.title && t.titlePosition === "right" ? (s(), l("div", He, x(t.title), 1)) : m("", !0),
77
77
  V(u.$slots, "right", {}, void 0, !0)
78
78
  ])
79
79
  ], 2));
80
80
  }
81
- }), K = (t, g) => {
81
+ }), K = (t, b) => {
82
82
  const e = t.__vccOpts || t;
83
- for (const [f, n] of g)
84
- e[f] = n;
83
+ for (const [v, n] of b)
84
+ e[v] = n;
85
85
  return e;
86
- }, yl = /* @__PURE__ */ K(Ke, [["__scopeId", "data-v-c5861315"]]), Ue = ["type", "disabled", "aria-label"], Je = {
86
+ }, ml = /* @__PURE__ */ K(Ke, [["__scopeId", "data-v-c5861315"]]), Ue = ["type", "disabled", "aria-label"], Je = {
87
87
  key: 0,
88
88
  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]"
89
- }, hl = /* @__PURE__ */ q({
89
+ }, hl = /* @__PURE__ */ P({
90
90
  __name: "Button",
91
91
  props: {
92
92
  variant: { default: "primary" },
@@ -100,8 +100,8 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
100
100
  textColorHover: { default: void 0 }
101
101
  },
102
102
  emits: ["click"],
103
- setup(t, { emit: g }) {
104
- const e = t, f = g, n = r(() => e.variant === "icon"), u = r(() => e.badge > 99 ? "99+" : e.badge.toString()), v = r(() => {
103
+ setup(t, { emit: b }) {
104
+ const e = t, v = b, n = r(() => e.variant === "icon"), u = r(() => e.badge > 99 ? "99+" : e.badge.toString()), c = r(() => {
105
105
  const h = "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", i = {
106
106
  primary: "bg-primary-500 text-white hover:bg-primary-600 active:bg-primary-700 focus-visible:ring-primary-700",
107
107
  secondary: "bg-secondary-200 text-secondary-900 hover:bg-secondary-300 hover:text-secondary-800 focus-visible:ring-secondary-500",
@@ -114,33 +114,33 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
114
114
  sm: n.value ? "p-1.5" : "h-8 px-3 text-sm",
115
115
  md: n.value ? "p-2" : "h-10 px-4 text-base",
116
116
  lg: n.value ? "p-3" : "h-12 px-6 text-lg"
117
- }, b = {
117
+ }, g = {
118
118
  full: "rounded-full",
119
119
  xl: "rounded-2xl",
120
120
  lg: "rounded-xl",
121
121
  md: "rounded-lg",
122
122
  sm: "rounded-md",
123
123
  none: "rounded-none"
124
- }, T = e.textColor ? e.textColor : "", B = r(() => {
125
- var O, j;
126
- return e.textColorHover ? e.textColorHover : (O = e.textColor) != null && O.includes("white") || (j = e.textColor) != null && j.includes("50") ? "hover:text-black" : "";
124
+ }, T = e.textColor ? e.textColor : "", D = r(() => {
125
+ var L, j;
126
+ return e.textColorHover ? e.textColorHover : (L = e.textColor) != null && L.includes("white") || (j = e.textColor) != null && j.includes("50") ? "hover:text-black" : "";
127
127
  });
128
- return `${h} ${i[e.variant]} ${p[e.size]} ${b[e.radius]} ${T} ${B.value}`;
128
+ return `${h} ${i[e.variant]} ${p[e.size]} ${g[e.radius]} ${T} ${D.value}`;
129
129
  }), a = (h) => {
130
- e.disabled || f("click", h);
130
+ e.disabled || v("click", h);
131
131
  };
132
132
  return (h, i) => (s(), l("button", {
133
- class: c(v.value),
133
+ class: f(c.value),
134
134
  type: t.type,
135
135
  disabled: t.disabled,
136
136
  onClick: a,
137
137
  "aria-label": t.ariaLabel
138
138
  }, [
139
139
  V(h.$slots, "default"),
140
- n.value && t.badge && t.badge > 0 ? (s(), l("span", Je, x(u.value), 1)) : y("", !0)
140
+ n.value && t.badge && t.badge > 0 ? (s(), l("span", Je, x(u.value), 1)) : m("", !0)
141
141
  ], 10, Ue));
142
142
  }
143
- }), Ge = /* @__PURE__ */ q({
143
+ }), Ge = /* @__PURE__ */ P({
144
144
  __name: "Icon",
145
145
  props: {
146
146
  name: {},
@@ -152,14 +152,14 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
152
152
  ariaLabel: {}
153
153
  },
154
154
  setup(t) {
155
- const g = t, e = {
155
+ const b = t, e = {
156
156
  xs: "16px",
157
157
  sm: "18px",
158
158
  md: "20px",
159
159
  lg: "24px",
160
160
  xl: "30px",
161
161
  "2xl": "36px"
162
- }, f = (a, h) => {
162
+ }, v = (a, h) => {
163
163
  const i = a.replace(/_/g, "-");
164
164
  switch (h) {
165
165
  case "filled":
@@ -175,24 +175,24 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
175
175
  default:
176
176
  return `material-symbols:${i}`;
177
177
  }
178
- }, n = r(() => f(g.name, g.variant)), u = r(() => {
178
+ }, n = r(() => v(b.name, b.variant)), u = r(() => {
179
179
  const a = [
180
180
  "inline-flex items-center justify-center select-none",
181
181
  "transition-transform duration-200"
182
182
  ];
183
- return g.color && (g.color.startsWith("text-") || g.color.startsWith("fill-")) && a.push(g.color), g.spin && a.push("animate-spin"), a.join(" ");
184
- }), v = r(() => {
183
+ return b.color && (b.color.startsWith("text-") || b.color.startsWith("fill-")) && a.push(b.color), b.spin && a.push("animate-spin"), a.join(" ");
184
+ }), c = r(() => {
185
185
  const a = {};
186
- if (e[g.size] ? (a.fontSize = e[g.size], a.width = e[g.size], a.height = e[g.size]) : (a.fontSize = g.size, a.width = g.size, a.height = g.size), g.color && !g.color.startsWith("text-") && !g.color.startsWith("fill-") && (a.color = g.color), g.rotate !== 0) {
187
- const h = `rotate(${g.rotate}deg)`;
186
+ if (e[b.size] ? (a.fontSize = e[b.size], a.width = e[b.size], a.height = e[b.size]) : (a.fontSize = b.size, a.width = b.size, a.height = b.size), b.color && !b.color.startsWith("text-") && !b.color.startsWith("fill-") && (a.color = b.color), b.rotate !== 0) {
187
+ const h = `rotate(${b.rotate}deg)`;
188
188
  a.transform = h;
189
189
  }
190
190
  return a;
191
191
  });
192
- return (a, h) => (s(), ee(Ae(Pe), {
192
+ return (a, h) => (s(), ee(_e(Ee), {
193
193
  icon: n.value,
194
- class: c(u.value),
195
- style: Q(v.value),
194
+ class: f(u.value),
195
+ style: J(c.value),
196
196
  "aria-label": t.ariaLabel,
197
197
  role: t.ariaLabel ? "img" : void 0
198
198
  }, null, 8, ["icon", "class", "style", "aria-label", "role"]));
@@ -215,14 +215,13 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
215
215
  }, ut = {
216
216
  key: 3,
217
217
  class: "mt-1 text-sm text-secondary-600"
218
- }, ct = { class: "flex items-center justify-between mb-4" }, ft = { class: "flex items-center space-x-2" }, vt = ["value"], pt = ["value"], bt = { class: "grid grid-cols-7 gap-1 mb-2" }, gt = { class: "grid grid-cols-7 gap-1" }, mt = ["disabled", "onClick"], yt = { class: "flex justify-end space-x-2 mt-4 pt-4 border-t border-secondary-100" }, ht = ["disabled"], xt = /* @__PURE__ */ q({
218
+ }, ct = { class: "flex items-center justify-between mb-4" }, ft = { class: "flex items-center space-x-2" }, vt = ["value"], pt = ["value"], gt = { class: "grid grid-cols-7 gap-1 mb-2" }, bt = { class: "grid grid-cols-7 gap-1" }, yt = ["disabled", "onClick"], mt = { class: "flex justify-end space-x-2 mt-4 pt-4 border-t border-secondary-100" }, ht = ["disabled"], xt = /* @__PURE__ */ P({
219
219
  __name: "Calendar",
220
220
  props: {
221
221
  modelValue: {},
222
222
  mode: { default: "single" },
223
223
  label: {},
224
224
  showLabel: { type: Boolean, default: !0 },
225
- labelColor: { default: "text-secondary-700" },
226
225
  placeholder: {},
227
226
  startPlaceholder: {},
228
227
  endPlaceholder: {},
@@ -233,9 +232,9 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
233
232
  required: { type: Boolean, default: !1 },
234
233
  error: {},
235
234
  helperText: {},
236
- iconName: { default: "calendar" },
237
- startIconName: { default: "calendar" },
238
- endIconName: { default: "calendar" },
235
+ iconName: { default: "calendar_month" },
236
+ startIconName: { default: "calendar_month" },
237
+ endIconName: { default: "calendar_month" },
239
238
  minDate: {},
240
239
  maxDate: {},
241
240
  disabledDates: {},
@@ -243,8 +242,8 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
243
242
  bordered: { type: Boolean, default: !0 }
244
243
  },
245
244
  emits: ["update:modelValue", "date-select", "range-select"],
246
- setup(t, { emit: g }) {
247
- const e = t, f = g, n = L(!1), u = L(null), v = L((/* @__PURE__ */ new Date()).getMonth()), a = L((/* @__PURE__ */ new Date()).getFullYear()), h = L(`calendar-${Math.random().toString(36).substr(2, 9)}`), i = L(null), p = L(null), b = [
245
+ setup(t, { emit: b }) {
246
+ const e = t, v = b, n = O(!1), u = O(null), c = O((/* @__PURE__ */ new Date()).getMonth()), a = O((/* @__PURE__ */ new Date()).getFullYear()), h = O(`calendar-${Math.random().toString(36).substr(2, 9)}`), i = O(null), p = O(null), g = [
248
247
  "Enero",
249
248
  "Febrero",
250
249
  "Marzo",
@@ -257,29 +256,26 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
257
256
  "Octubre",
258
257
  "Noviembre",
259
258
  "Diciembre"
260
- ], T = ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"], B = r(() => ({ sm: "xs", md: "sm", lg: "md" })[e.size] || "sm"), O = r(() => {
261
- const m = (/* @__PURE__ */ new Date()).getFullYear(), C = [];
262
- for (let z = m - 100; z <= m + 10; z++)
263
- C.push(z);
264
- return C;
265
- }), j = r(() => `block text-sm font-medium ${e.labelColor} mb-1`), S = r(() => e.bordered ? "border border-neutral-300" : ""), D = r(() => {
266
- const m = "w-full rounded-md transition-colors focus:outline-none focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", C = {
259
+ ], T = ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"], D = r(() => ({ sm: "xs", md: "sm", lg: "md" })[e.size] || "sm"), L = r(() => {
260
+ const y = (/* @__PURE__ */ new Date()).getFullYear(), $ = [];
261
+ for (let z = y - 100; z <= y + 10; z++)
262
+ $.push(z);
263
+ return $;
264
+ }), j = r(() => "ds-label"), S = r(() => e.bordered ? "border border-neutral-300" : ""), B = r(() => {
265
+ const y = "w-full rounded-md transition-colors focus:outline-none focus:ring-2 disabled:cursor-not-allowed disabled:opacity-50 cursor-pointer", $ = {
267
266
  sm: "px-3 py-1.5 pr-10 text-sm",
268
267
  md: "px-4 py-2 pr-10 text-base",
269
268
  lg: "px-5 py-3 pr-12 text-lg"
270
269
  }, z = {
271
270
  primary: "focus:ring-primary-500",
272
271
  secondary: "focus:ring-secondary-500"
273
- }, A = {
272
+ }, _ = {
274
273
  default: "bg-white",
275
274
  filled: "bg-secondary-100",
276
275
  outlined: "bg-transparent"
277
276
  }, U = e.error ? "border-danger-600 focus:ring-danger-500" : "";
278
- return `${m} ${C[e.size]} ${A[e.variant]} ${z[e.color]} ${U}`;
279
- }), k = r(() => `transition-colors ${{
280
- primary: "text-primary-600 hover:text-primary-700",
281
- secondary: "text-secondary-600 hover:text-secondary-700"
282
- }[e.color]} ${e.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`), I = r(() => "min-w-80 max-w-sm"), Y = r(() => `p-2 rounded-md transition-colors ${{
277
+ return `${y} ${$[e.size]} ${_[e.variant]} ${z[e.color]} ${U}`;
278
+ }), k = r(() => `transition-colors text-[#565656] hover:text-[#565656] opacity-80 hover:opacity-100 ${e.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`), I = r(() => "min-w-80 max-w-sm"), Y = r(() => `p-2 rounded-md transition-colors ${{
283
279
  primary: "text-primary-600 hover:text-primary-700 hover:bg-primary-50",
284
280
  secondary: "text-secondary-600 hover:text-secondary-700 hover:bg-secondary-50"
285
281
  }[e.color]}`), N = r(() => `px-2 py-1 text-sm border border-secondary-300 rounded-md focus:outline-none focus:ring-1 ${{
@@ -291,25 +287,25 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
291
287
  }[e.color]}`), M = r(() => `px-3 py-1.5 text-sm border border-secondary-300 rounded-md transition-colors focus:outline-none ${{
292
288
  primary: "text-primary-600 hover:text-primary-700 hover:bg-primary-50",
293
289
  secondary: "text-secondary-600 hover:text-secondary-700 hover:bg-secondary-50"
294
- }[e.color]}`), d = r(() => e.mode === "single" && e.modelValue && e.modelValue instanceof Date ? E(e.modelValue) : ""), w = r(() => e.mode === "range" && e.modelValue && typeof e.modelValue == "object" && "start" in e.modelValue && e.modelValue.start ? E(e.modelValue.start) : ""), $ = r(() => e.mode === "range" && e.modelValue && typeof e.modelValue == "object" && "end" in e.modelValue && e.modelValue.end ? E(e.modelValue.end) : ""), J = r(() => e.mode === "single" ? i.value !== null : i.value !== null && p.value !== null && p.value >= i.value);
290
+ }[e.color]}`), d = r(() => e.mode === "single" && e.modelValue && e.modelValue instanceof Date ? A(e.modelValue) : ""), w = r(() => e.mode === "range" && e.modelValue && typeof e.modelValue == "object" && "start" in e.modelValue && e.modelValue.start ? A(e.modelValue.start) : ""), C = r(() => e.mode === "range" && e.modelValue && typeof e.modelValue == "object" && "end" in e.modelValue && e.modelValue.end ? A(e.modelValue.end) : ""), G = r(() => e.mode === "single" ? i.value !== null : i.value !== null && p.value !== null && p.value >= i.value);
295
291
  r(() => e.mode === "range" && i.value && p.value ? p.value < i.value : !1);
296
292
  const F = r(() => {
297
- const m = new Date(a.value, v.value, 1), C = new Date(a.value, v.value + 1, 0), z = m.getDay(), A = C.getDate(), U = [], X = new Date(a.value, v.value - 1, 0);
293
+ const y = new Date(a.value, c.value, 1), $ = new Date(a.value, c.value + 1, 0), z = y.getDay(), _ = $.getDate(), U = [], Z = new Date(a.value, c.value - 1, 0);
298
294
  for (let R = z - 1; R >= 0; R--) {
299
- const Z = new Date(a.value, v.value - 1, X.getDate() - R);
295
+ const X = new Date(a.value, c.value - 1, Z.getDate() - R);
300
296
  U.push({
301
- day: Z.getDate(),
302
- date: Z,
297
+ day: X.getDate(),
298
+ date: X,
303
299
  isCurrentMonth: !1,
304
- disabled: !0,
305
- key: `prev-${Z.getDate()}`
300
+ disabled: !1,
301
+ key: `prev-${X.getDate()}`
306
302
  });
307
303
  }
308
- for (let R = 1; R <= A; R++) {
309
- const Z = new Date(a.value, v.value, R);
304
+ for (let R = 1; R <= _; R++) {
305
+ const X = new Date(a.value, c.value, R);
310
306
  U.push({
311
307
  day: R,
312
- date: Z,
308
+ date: X,
313
309
  isCurrentMonth: !0,
314
310
  disabled: !1,
315
311
  key: `current-${R}`
@@ -317,79 +313,81 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
317
313
  }
318
314
  const Ye = 42 - U.length;
319
315
  for (let R = 1; R <= Ye; R++) {
320
- const Z = new Date(a.value, v.value + 1, R);
316
+ const X = new Date(a.value, c.value + 1, R);
321
317
  U.push({
322
318
  day: R,
323
- date: Z,
319
+ date: X,
324
320
  isCurrentMonth: !1,
325
- disabled: !0,
321
+ disabled: !1,
326
322
  key: `next-${R}`
327
323
  });
328
324
  }
329
325
  return U;
330
- }), E = (m) => {
331
- const C = m.getDate().toString().padStart(2, "0"), z = (m.getMonth() + 1).toString().padStart(2, "0"), A = m.getFullYear();
326
+ }), A = (y) => {
327
+ const $ = y.getDate().toString().padStart(2, "0"), z = (y.getMonth() + 1).toString().padStart(2, "0"), _ = y.getFullYear();
332
328
  switch (e.dateFormat) {
333
329
  case "MM/DD/YYYY":
334
- return `${z}/${C}/${A}`;
330
+ return `${z}/${$}/${_}`;
335
331
  case "YYYY-MM-DD":
336
- return `${A}-${z}-${C}`;
332
+ return `${_}-${z}-${$}`;
337
333
  case "DD/MM/YYYY":
338
334
  default:
339
- return `${C}/${z}/${A}`;
335
+ return `${$}/${z}/${_}`;
340
336
  }
341
- }, be = (m) => {
337
+ }, ge = (y) => {
342
338
  var z;
343
- const C = new Date(m.getFullYear(), m.getMonth(), m.getDate());
339
+ const $ = new Date(y.getFullYear(), y.getMonth(), y.getDate());
344
340
  if (e.minDate) {
345
- const A = new Date(e.minDate.getFullYear(), e.minDate.getMonth(), e.minDate.getDate());
346
- if (C < A) return !0;
341
+ const _ = new Date(e.minDate.getFullYear(), e.minDate.getMonth(), e.minDate.getDate());
342
+ if ($ < _) return !0;
347
343
  }
348
344
  if (e.maxDate) {
349
- const A = new Date(e.maxDate.getFullYear(), e.maxDate.getMonth(), e.maxDate.getDate());
350
- if (C > A) return !0;
345
+ const _ = new Date(e.maxDate.getFullYear(), e.maxDate.getMonth(), e.maxDate.getDate());
346
+ if ($ > _) return !0;
351
347
  }
352
348
  return !!((z = e.disabledDates) != null && z.some(
353
- (A) => A.toDateString() === m.toDateString()
349
+ (_) => _.toDateString() === y.toDateString()
354
350
  ));
355
- }, De = (m) => {
356
- const C = "w-8 h-8 text-sm rounded-md transition-colors focus:outline-none";
357
- if (!m.isCurrentMonth || m.disabled || be(m.date))
358
- return `${C} text-secondary-400 cursor-not-allowed`;
359
- const z = Be(m.date), A = ze(m.date), U = Ve(m.date), X = {
351
+ }, De = (y) => {
352
+ const $ = "w-8 h-8 text-sm rounded-md transition-colors focus:outline-none";
353
+ if (y.disabled || ge(y.date))
354
+ return `${$} text-secondary-400 cursor-not-allowed`;
355
+ const z = Be(y.date), _ = ze(y.date), U = Ve(y.date), Z = {
360
356
  primary: {
361
357
  selected: "bg-primary-600 text-white",
362
358
  inRange: "bg-primary-100 text-primary-900",
363
359
  today: "bg-primary-50 text-primary-700 border border-primary-300",
364
- default: "text-secondary-700 hover:bg-primary-50 hover:text-primary-700"
360
+ default: "text-secondary-700 hover:bg-primary-50 hover:text-primary-700",
361
+ otherMonth: "text-secondary-400 hover:bg-primary-50 hover:text-primary-600"
365
362
  },
366
363
  secondary: {
367
364
  selected: "bg-secondary-600 text-white",
368
365
  inRange: "bg-secondary-100 text-secondary-900",
369
366
  today: "bg-secondary-50 text-secondary-700 border border-secondary-300",
370
- default: "text-secondary-700 hover:bg-secondary-50 hover:text-secondary-700"
367
+ default: "text-secondary-700 hover:bg-secondary-50 hover:text-secondary-700",
368
+ otherMonth: "text-secondary-400 hover:bg-secondary-50 hover:text-secondary-600"
371
369
  }
372
370
  };
373
- return z ? `${C} ${X[e.color].selected}` : A ? `${C} ${X[e.color].inRange}` : U ? `${C} ${X[e.color].today}` : `${C} ${X[e.color].default}`;
374
- }, Be = (m) => e.mode === "single" ? i.value ? le(m, i.value) : !1 : !!(i.value && le(m, i.value)) || !!(p.value && le(m, p.value)), ze = (m) => {
371
+ return z ? `${$} ${Z[e.color].selected}` : _ ? `${$} ${Z[e.color].inRange}` : U ? `${$} ${Z[e.color].today}` : y.isCurrentMonth ? `${$} ${Z[e.color].default}` : `${$} ${Z[e.color].otherMonth}`;
372
+ }, Be = (y) => e.mode === "single" ? i.value ? le(y, i.value) : !1 : !!(i.value && le(y, i.value)) || !!(p.value && le(y, p.value)), ze = (y) => {
375
373
  if (e.mode !== "range" || !i.value || !p.value)
376
374
  return !1;
377
- const C = i.value, z = p.value;
378
- return m > C && m < z;
379
- }, Ve = (m) => le(m, /* @__PURE__ */ new Date()), le = (m, C) => m.toDateString() === C.toDateString(), Te = () => {
375
+ const $ = i.value, z = p.value;
376
+ return y > $ && y < z;
377
+ }, Ve = (y) => le(y, /* @__PURE__ */ new Date()), le = (y, $) => y.toDateString() === $.toDateString(), Te = () => {
380
378
  e.disabled || n.value || oe();
381
379
  }, Se = () => {
382
380
  e.disabled || n.value || oe();
383
381
  }, Ie = () => {
384
382
  e.disabled || he();
385
- }, ge = (m) => {
386
- e.disabled || (ne(m), n.value || oe());
387
- }, me = (m) => {
388
- e.disabled || (ne(m), n.value || oe());
389
- }, ye = (m) => {
390
- e.disabled || (ne(m), he());
391
- }, ne = (m) => {
392
- u.value = m;
383
+ }, be = (y) => {
384
+ e.disabled || (ne(y), n.value || oe());
385
+ }, ye = (y) => {
386
+ e.disabled || (ne(y), n.value || oe());
387
+ }, me = (y) => {
388
+ e.disabled || (ne(y), he());
389
+ }, ne = (y) => {
390
+ u.value = y;
393
391
  }, he = () => {
394
392
  e.disabled || (n.value = !n.value, n.value && ie());
395
393
  }, oe = () => {
@@ -398,31 +396,31 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
398
396
  n.value = !1, u.value = null;
399
397
  }, ie = () => {
400
398
  e.mode === "single" ? (i.value = e.modelValue instanceof Date ? e.modelValue : null, p.value = null) : e.modelValue && typeof e.modelValue == "object" && "start" in e.modelValue ? (i.value = e.modelValue.start, p.value = e.modelValue.end) : (i.value = null, p.value = null);
401
- }, je = (m) => {
402
- e.mode === "single" ? (i.value = m, p.value = null) : u.value === "start" || !i.value ? (i.value = m, p.value = null, u.value = "end") : (u.value === "end" || !p.value) && (m < i.value ? (p.value = i.value, i.value = m) : p.value = m, u.value = null);
399
+ }, je = (y) => {
400
+ e.mode === "single" ? (i.value = y, p.value = null) : u.value === "start" || !i.value ? (i.value = y, p.value = null, u.value = "end") : (u.value === "end" || !p.value) && (y < i.value ? (p.value = i.value, i.value = y) : p.value = y, u.value = null);
403
401
  }, Le = () => {
404
402
  if (e.mode === "single")
405
- f("update:modelValue", i.value), i.value && f("date-select", i.value);
403
+ v("update:modelValue", i.value), i.value && v("date-select", i.value);
406
404
  else {
407
- const m = { start: i.value, end: p.value };
408
- f("update:modelValue", m), f("range-select", m);
405
+ const y = { start: i.value, end: p.value };
406
+ v("update:modelValue", y), v("range-select", y);
409
407
  }
410
408
  re();
411
409
  }, Oe = () => {
412
- v.value === 0 ? (v.value = 11, a.value--) : v.value--;
410
+ c.value === 0 ? (c.value = 11, a.value--) : c.value--;
413
411
  }, Fe = () => {
414
- v.value === 11 ? (v.value = 0, a.value++) : v.value++;
412
+ c.value === 11 ? (c.value = 0, a.value++) : c.value++;
415
413
  }, xe = () => {
416
- }, de = L(), we = (m) => {
417
- de.value && !de.value.contains(m.target) && re();
414
+ }, de = O(), we = (y) => {
415
+ de.value && !de.value.contains(y.target) && re();
418
416
  };
419
417
  return $e(() => {
420
418
  document.addEventListener("click", we);
421
419
  }), Ce(() => {
422
420
  document.removeEventListener("click", we);
423
- }), ve(() => e.modelValue, (m) => {
421
+ }), ve(() => e.modelValue, (y) => {
424
422
  n.value || ie();
425
- }, { deep: !0 }), (m, C) => (s(), l("div", {
423
+ }, { deep: !0 }), (y, $) => (s(), l("div", {
426
424
  ref_key: "calendarWrapperRef",
427
425
  ref: de,
428
426
  class: "calendar-wrapper"
@@ -431,17 +429,17 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
431
429
  t.label && t.showLabel ? (s(), l("label", {
432
430
  key: 0,
433
431
  for: h.value,
434
- class: c(j.value)
432
+ class: f(j.value)
435
433
  }, [
436
- _(x(t.label) + " ", 1),
437
- t.required ? (s(), l("span", Xe, "*")) : y("", !0)
438
- ], 10, Ze)) : y("", !0),
434
+ q(x(t.label) + " ", 1),
435
+ t.required ? (s(), l("span", Xe, "*")) : m("", !0)
436
+ ], 10, Ze)) : m("", !0),
439
437
  o("div", {
440
- class: c(["relative rounded-md", S.value])
438
+ class: f(["relative rounded-md", S.value])
441
439
  }, [
442
440
  o("input", {
443
441
  id: h.value,
444
- class: c(D.value),
442
+ class: f(B.value),
445
443
  type: "text",
446
444
  disabled: t.disabled,
447
445
  placeholder: t.placeholder || "Seleccionar fecha",
@@ -453,116 +451,116 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
453
451
  }, null, 42, et),
454
452
  o("button", {
455
453
  type: "button",
456
- class: c(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
454
+ class: f(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
457
455
  onClick: H(Ie, ["stop"]),
458
456
  disabled: t.disabled
459
457
  }, [
460
- G(se, {
458
+ Q(se, {
461
459
  name: t.iconName,
462
- size: B.value
460
+ size: D.value
463
461
  }, null, 8, ["name", "size"])
464
462
  ], 10, tt)
465
463
  ], 2)
466
464
  ])) : (s(), l("div", st, [
467
465
  t.label && t.showLabel ? (s(), l("label", {
468
466
  key: 0,
469
- class: c(j.value)
467
+ class: f(j.value)
470
468
  }, [
471
- _(x(t.label) + " ", 1),
472
- t.required ? (s(), l("span", lt, "*")) : y("", !0)
473
- ], 2)) : y("", !0),
469
+ q(x(t.label) + " ", 1),
470
+ t.required ? (s(), l("span", lt, "*")) : m("", !0)
471
+ ], 2)) : m("", !0),
474
472
  o("div", ot, [
475
473
  o("div", {
476
- class: c(["relative rounded-md", S.value])
474
+ class: f(["relative rounded-md", S.value])
477
475
  }, [
478
476
  o("input", {
479
- class: c(D.value),
477
+ class: f(B.value),
480
478
  type: "text",
481
479
  disabled: t.disabled,
482
480
  placeholder: t.startPlaceholder || "Fecha desde",
483
481
  value: w.value,
484
482
  required: t.required,
485
483
  readonly: !0,
486
- onClick: C[0] || (C[0] = () => ge("start")),
487
- onFocus: C[1] || (C[1] = () => me("start"))
484
+ onClick: $[0] || ($[0] = () => be("start")),
485
+ onFocus: $[1] || ($[1] = () => ye("start"))
488
486
  }, null, 42, at),
489
487
  o("button", {
490
488
  type: "button",
491
- class: c(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
492
- onClick: C[2] || (C[2] = H(() => ye("start"), ["stop"])),
489
+ class: f(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
490
+ onClick: $[2] || ($[2] = H(() => me("start"), ["stop"])),
493
491
  disabled: t.disabled
494
492
  }, [
495
- G(se, {
493
+ Q(se, {
496
494
  name: t.startIconName,
497
- size: B.value
495
+ size: D.value
498
496
  }, null, 8, ["name", "size"])
499
497
  ], 10, nt)
500
498
  ], 2),
501
499
  o("div", {
502
- class: c(["relative rounded-md", S.value])
500
+ class: f(["relative rounded-md", S.value])
503
501
  }, [
504
502
  o("input", {
505
- class: c(D.value),
503
+ class: f(B.value),
506
504
  type: "text",
507
505
  disabled: t.disabled,
508
506
  placeholder: t.endPlaceholder || "Fecha hasta",
509
- value: $.value,
507
+ value: C.value,
510
508
  required: t.required,
511
509
  readonly: !0,
512
- onClick: C[3] || (C[3] = () => ge("end")),
513
- onFocus: C[4] || (C[4] = () => me("end"))
510
+ onClick: $[3] || ($[3] = () => be("end")),
511
+ onFocus: $[4] || ($[4] = () => ye("end"))
514
512
  }, null, 42, rt),
515
513
  o("button", {
516
514
  type: "button",
517
- class: c(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
518
- onClick: C[5] || (C[5] = H(() => ye("end"), ["stop"])),
515
+ class: f(["absolute right-3 top-1/2 -translate-y-1/2", k.value]),
516
+ onClick: $[5] || ($[5] = H(() => me("end"), ["stop"])),
519
517
  disabled: t.disabled
520
518
  }, [
521
- G(se, {
519
+ Q(se, {
522
520
  name: t.endIconName,
523
- size: B.value
521
+ size: D.value
524
522
  }, null, 8, ["name", "size"])
525
523
  ], 10, it)
526
524
  ], 2)
527
525
  ])
528
526
  ])),
529
- t.error ? (s(), l("p", dt, x(t.error), 1)) : t.helperText ? (s(), l("p", ut, x(t.helperText), 1)) : y("", !0),
527
+ t.error ? (s(), l("p", dt, x(t.error), 1)) : t.helperText ? (s(), l("p", ut, x(t.helperText), 1)) : m("", !0),
530
528
  n.value ? (s(), l("div", {
531
529
  key: 4,
532
- class: c(["absolute top-full mt-1 left-0 bg-white rounded-lg shadow-lg border border-secondary-200 z-50 overflow-hidden p-4", I.value]),
533
- onClick: C[8] || (C[8] = H(() => {
530
+ class: f(["absolute top-full mt-1 left-0 bg-white rounded-lg shadow-lg border border-secondary-200 z-50 overflow-hidden p-4", I.value]),
531
+ onClick: $[8] || ($[8] = H(() => {
534
532
  }, ["stop"]))
535
533
  }, [
536
534
  o("div", ct, [
537
535
  o("button", {
538
536
  type: "button",
539
537
  onClick: Oe,
540
- class: c(Y.value)
538
+ class: f(Y.value)
541
539
  }, [
542
- G(se, {
540
+ Q(se, {
543
541
  name: "chevron-left",
544
542
  size: "sm"
545
543
  })
546
544
  ], 2),
547
545
  o("div", ft, [
548
546
  ue(o("select", {
549
- "onUpdate:modelValue": C[6] || (C[6] = (z) => v.value = z),
550
- class: c(N.value),
547
+ "onUpdate:modelValue": $[6] || ($[6] = (z) => c.value = z),
548
+ class: f(N.value),
551
549
  onChange: xe
552
550
  }, [
553
- (s(), l(P, null, W(b, (z, A) => o("option", {
554
- key: A,
555
- value: A
551
+ (s(), l(E, null, W(g, (z, _) => o("option", {
552
+ key: _,
553
+ value: _
556
554
  }, x(z), 9, vt)), 64))
557
555
  ], 34), [
558
- [ke, v.value]
556
+ [ke, c.value]
559
557
  ]),
560
558
  ue(o("select", {
561
- "onUpdate:modelValue": C[7] || (C[7] = (z) => a.value = z),
562
- class: c(N.value),
559
+ "onUpdate:modelValue": $[7] || ($[7] = (z) => a.value = z),
560
+ class: f(N.value),
563
561
  onChange: xe
564
562
  }, [
565
- (s(!0), l(P, null, W(O.value, (z) => (s(), l("option", {
563
+ (s(!0), l(E, null, W(L.value, (z) => (s(), l("option", {
566
564
  key: z,
567
565
  value: z
568
566
  }, x(z), 9, pt))), 128))
@@ -573,52 +571,52 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
573
571
  o("button", {
574
572
  type: "button",
575
573
  onClick: Fe,
576
- class: c(Y.value)
574
+ class: f(Y.value)
577
575
  }, [
578
- G(se, {
576
+ Q(se, {
579
577
  name: "chevron-right",
580
578
  size: "sm"
581
579
  })
582
580
  ], 2)
583
581
  ]),
584
- o("div", bt, [
585
- (s(), l(P, null, W(T, (z) => o("div", {
582
+ o("div", gt, [
583
+ (s(), l(E, null, W(T, (z) => o("div", {
586
584
  key: z,
587
585
  class: "text-center text-sm font-medium text-secondary-600 py-2"
588
586
  }, x(z), 1)), 64))
589
587
  ]),
590
- o("div", gt, [
591
- (s(!0), l(P, null, W(F.value, (z) => (s(), l("button", {
588
+ o("div", bt, [
589
+ (s(!0), l(E, null, W(F.value, (z) => (s(), l("button", {
592
590
  key: z.key,
593
591
  type: "button",
594
- class: c(De(z)),
595
- disabled: z.disabled || be(z.date),
596
- onClick: (A) => je(z.date)
597
- }, x(z.day), 11, mt))), 128))
592
+ class: f(De(z)),
593
+ disabled: z.disabled || ge(z.date),
594
+ onClick: (_) => je(z.date)
595
+ }, x(z.day), 11, yt))), 128))
598
596
  ]),
599
- o("div", yt, [
597
+ o("div", mt, [
600
598
  o("button", {
601
599
  type: "button",
602
- class: c(M.value),
600
+ class: f(M.value),
603
601
  onClick: re
604
602
  }, " Cancelar ", 2),
605
603
  o("button", {
606
604
  type: "button",
607
- class: c(te.value),
605
+ class: f(te.value),
608
606
  onClick: Le,
609
- disabled: !J.value
607
+ disabled: !G.value
610
608
  }, " Confirmar ", 10, ht)
611
609
  ])
612
- ], 2)) : y("", !0)
610
+ ], 2)) : m("", !0)
613
611
  ], 512));
614
612
  }
615
- }), xl = /* @__PURE__ */ K(xt, [["__scopeId", "data-v-38b6f181"]]), wt = {
613
+ }), xl = /* @__PURE__ */ K(xt, [["__scopeId", "data-v-aac22628"]]), wt = {
616
614
  key: 0,
617
615
  class: "border-b border-gray-100 px-6 py-4"
618
616
  }, kt = { class: "px-6 py-4" }, $t = {
619
617
  key: 1,
620
618
  class: "border-t border-gray-100 px-6 py-4 bg-gray-50"
621
- }, wl = /* @__PURE__ */ q({
619
+ }, wl = /* @__PURE__ */ P({
622
620
  __name: "Card",
623
621
  props: {
624
622
  shadow: { default: "md" },
@@ -626,13 +624,13 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
626
624
  bordered: { type: Boolean, default: !1 }
627
625
  },
628
626
  setup(t) {
629
- const g = t, e = {
627
+ const b = t, e = {
630
628
  none: "",
631
629
  sm: "shadow-sm",
632
630
  md: "shadow",
633
631
  lg: "shadow-lg",
634
632
  xl: "shadow-xl"
635
- }, f = {
633
+ }, v = {
636
634
  none: "rounded-none",
637
635
  sm: "rounded-sm",
638
636
  md: "rounded-md",
@@ -641,28 +639,28 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
641
639
  full: "rounded-full"
642
640
  }, n = r(() => [
643
641
  "w-full bg-white",
644
- e[g.shadow],
645
- f[g.rounded],
646
- g.bordered ? "border border-gray-200" : ""
642
+ e[b.shadow],
643
+ v[b.rounded],
644
+ b.bordered ? "border border-gray-200" : ""
647
645
  ]);
648
- return (u, v) => (s(), l("div", {
649
- class: c(n.value)
646
+ return (u, c) => (s(), l("div", {
647
+ class: f(n.value)
650
648
  }, [
651
649
  u.$slots.header ? (s(), l("div", wt, [
652
650
  V(u.$slots, "header")
653
- ])) : y("", !0),
651
+ ])) : m("", !0),
654
652
  o("div", kt, [
655
653
  V(u.$slots, "default")
656
654
  ]),
657
655
  u.$slots.footer ? (s(), l("div", $t, [
658
656
  V(u.$slots, "footer")
659
- ])) : y("", !0)
657
+ ])) : m("", !0)
660
658
  ], 2));
661
659
  }
662
660
  }), Ct = { class: "flex items-center justify-between border-b border-gray-100/60 px-8 py-6" }, Mt = { class: "text-xl font-semibold text-gray-900" }, Dt = { class: "px-8 py-6" }, Bt = {
663
661
  key: 0,
664
662
  class: "border-t border-gray-100 px-8 py-6 bg-gray-50"
665
- }, zt = /* @__PURE__ */ q({
663
+ }, zt = /* @__PURE__ */ P({
666
664
  __name: "Dialog",
667
665
  props: {
668
666
  modelValue: { type: Boolean, default: !1 },
@@ -670,22 +668,22 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
670
668
  closeOnBackdrop: { type: Boolean, default: !0 }
671
669
  },
672
670
  emits: ["update:modelValue", "close"],
673
- setup(t, { emit: g }) {
674
- const e = t, f = g, n = r({
671
+ setup(t, { emit: b }) {
672
+ const e = t, v = b, n = r({
675
673
  get: () => e.modelValue,
676
- set: (a) => f("update:modelValue", a)
674
+ set: (a) => v("update:modelValue", a)
677
675
  }), u = () => {
678
- n.value = !1, f("close");
679
- }, v = () => {
676
+ n.value = !1, v("close");
677
+ }, c = () => {
680
678
  e.closeOnBackdrop && u();
681
679
  };
682
680
  return (a, h) => (s(), ee(pe, { to: "body" }, [
683
- G(ce, { name: "dialog" }, {
681
+ Q(ce, { name: "dialog" }, {
684
682
  default: ae(() => [
685
683
  n.value ? (s(), l("div", {
686
684
  key: 0,
687
685
  class: "fixed inset-0 z-50 flex items-center justify-center bg-black/50 px-4",
688
- onClick: v
686
+ onClick: c
689
687
  }, [
690
688
  o("div", {
691
689
  class: "relative w-full rounded-lg bg-white shadow-xl sm:max-w-lg md:max-w-2xl",
@@ -695,7 +693,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
695
693
  o("div", Ct, [
696
694
  o("h2", Mt, [
697
695
  V(a.$slots, "title", {}, () => [
698
- _(x(t.title), 1)
696
+ q(x(t.title), 1)
699
697
  ], !0)
700
698
  ]),
701
699
  o("button", {
@@ -724,9 +722,9 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
724
722
  ]),
725
723
  a.$slots.footer ? (s(), l("div", Bt, [
726
724
  V(a.$slots, "footer", {}, void 0, !0)
727
- ])) : y("", !0)
725
+ ])) : m("", !0)
728
726
  ])
729
- ])) : y("", !0)
727
+ ])) : m("", !0)
730
728
  ]),
731
729
  _: 3
732
730
  })
@@ -738,13 +736,13 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
738
736
  fill: "none",
739
737
  stroke: "currentColor",
740
738
  viewBox: "0 0 24 24"
741
- }, jt = { class: "text-center" }, Lt = { class: "text-base font-medium text-gray-700" }, Ot = { class: "text-primary-700" }, Ft = { class: "flex items-center gap-3 flex-1 min-w-0" }, Yt = { class: "flex-1 min-w-0" }, At = { class: "text-sm font-medium text-gray-900 truncate" }, Et = { class: "text-xs text-gray-500" }, Pt = {
739
+ }, jt = { class: "text-center" }, Lt = { class: "text-base font-medium text-gray-700" }, Ot = { class: "text-primary-700" }, Ft = { class: "flex items-center gap-3 flex-1 min-w-0" }, Yt = { class: "flex-1 min-w-0" }, _t = { class: "text-sm font-medium text-gray-900 truncate" }, At = { class: "text-xs text-gray-500" }, Et = {
742
740
  key: 1,
743
741
  class: "text-xs text-gray-500 mt-2"
744
- }, qt = {
742
+ }, Pt = {
745
743
  key: 2,
746
744
  class: "text-sm text-danger-500 mt-2"
747
- }, $l = /* @__PURE__ */ q({
745
+ }, $l = /* @__PURE__ */ P({
748
746
  __name: "FileUpload",
749
747
  props: {
750
748
  modelValue: { default: null },
@@ -760,8 +758,8 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
760
758
  maxSize: { default: void 0 }
761
759
  },
762
760
  emits: ["update:modelValue", "change", "error"],
763
- setup(t, { emit: g }) {
764
- const e = t, f = g, n = L(null), u = L(!1), v = L(e.modelValue), a = L(""), h = r(() => ({
761
+ setup(t, { emit: b }) {
762
+ const e = t, v = b, n = O(null), u = O(!1), c = O(e.modelValue), a = O(""), h = r(() => ({
765
763
  sm: "w-20 h-20",
766
764
  md: "w-32 h-32",
767
765
  lg: "w-48 h-48",
@@ -771,39 +769,39 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
771
769
  (k = n.value) == null || k.click();
772
770
  }, p = () => {
773
771
  e.disabled || i();
774
- }, b = (k) => {
772
+ }, g = (k) => {
775
773
  e.disabled || (u.value = !0);
776
774
  }, T = () => {
777
775
  u.value = !1;
778
- }, B = (k) => {
776
+ }, D = (k) => {
779
777
  if (a.value = "", e.maxSize && k.size > e.maxSize) {
780
778
  const I = (e.maxSize / 1048576).toFixed(2);
781
- return a.value = `El archivo excede el tamaño máximo de ${I}MB`, f("error", a.value), !1;
779
+ return a.value = `El archivo excede el tamaño máximo de ${I}MB`, v("error", a.value), !1;
782
780
  }
783
781
  return !0;
784
- }, O = (k) => {
782
+ }, L = (k) => {
785
783
  var N;
786
784
  const Y = (N = k.target.files) == null ? void 0 : N[0];
787
- Y && B(Y) && (v.value = Y, f("update:modelValue", Y), f("change", Y));
785
+ Y && D(Y) && (c.value = Y, v("update:modelValue", Y), v("change", Y));
788
786
  }, j = (k) => {
789
787
  var Y;
790
788
  u.value = !1;
791
789
  const I = (Y = k.dataTransfer) == null ? void 0 : Y.files[0];
792
- I && B(I) && (v.value = I, f("update:modelValue", I), f("change", I));
790
+ I && D(I) && (c.value = I, v("update:modelValue", I), v("change", I));
793
791
  }, S = () => {
794
- v.value = null, a.value = "", n.value && (n.value.value = ""), f("update:modelValue", null), f("change", null);
795
- }, D = (k) => {
792
+ c.value = null, a.value = "", n.value && (n.value.value = ""), v("update:modelValue", null), v("change", null);
793
+ }, B = (k) => {
796
794
  if (k === 0) return "0 Bytes";
797
795
  const I = 1024, Y = ["Bytes", "KB", "MB", "GB"], N = Math.floor(Math.log(k) / Math.log(I));
798
796
  return Math.round(k / Math.pow(I, N) * 100) / 100 + " " + Y[N];
799
797
  };
800
798
  return (k, I) => (s(), l("div", {
801
- class: c(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
799
+ class: f(["relative border-2 border-dashed rounded-lg p-8 transition-colors", [
802
800
  u.value ? "border-primary-700 bg-primary-50" : "border-gray-300 bg-white hover:border-primary-500",
803
801
  t.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"
804
802
  ]]),
805
803
  onClick: p,
806
- onDragover: H(b, ["prevent"]),
804
+ onDragover: H(g, ["prevent"]),
807
805
  onDragleave: H(T, ["prevent"]),
808
806
  onDrop: H(j, ["prevent"])
809
807
  }, [
@@ -815,11 +813,11 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
815
813
  multiple: t.multiple,
816
814
  disabled: t.disabled,
817
815
  class: "hidden",
818
- onChange: O
816
+ onChange: L
819
817
  }, null, 40, Vt),
820
818
  o("div", Tt, [
821
819
  o("div", {
822
- class: c([h.value, "flex items-center justify-center"])
820
+ class: f([h.value, "flex items-center justify-center"])
823
821
  }, [
824
822
  t.illustration ? (s(), l("img", {
825
823
  key: 0,
@@ -837,11 +835,11 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
837
835
  ], 2),
838
836
  o("div", jt, [
839
837
  o("p", Lt, [
840
- _(x(t.mainText) + " ", 1),
838
+ q(x(t.mainText) + " ", 1),
841
839
  o("span", Ot, x(t.linkText), 1)
842
840
  ])
843
841
  ]),
844
- v.value ? (s(), l("div", {
842
+ c.value ? (s(), l("div", {
845
843
  key: 0,
846
844
  class: "w-full max-w-md bg-gray-50 rounded-lg p-4 flex items-center justify-between",
847
845
  onClick: I[0] || (I[0] = H(() => {
@@ -862,11 +860,11 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
862
860
  })
863
861
  ], -1)),
864
862
  o("div", Yt, [
865
- o("p", At, x(v.value.name), 1),
866
- o("p", Et, x(D(v.value.size)), 1)
863
+ o("p", _t, x(c.value.name), 1),
864
+ o("p", At, x(B(c.value.size)), 1)
867
865
  ])
868
866
  ]),
869
- t.disabled ? y("", !0) : (s(), l("button", {
867
+ t.disabled ? m("", !0) : (s(), l("button", {
870
868
  key: 0,
871
869
  onClick: H(S, ["stop"]),
872
870
  class: "ml-3 text-gray-400 hover:text-danger-500 transition-colors"
@@ -883,13 +881,13 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
883
881
  })
884
882
  ], -1)
885
883
  ])]))
886
- ])) : y("", !0),
887
- t.helperText ? (s(), l("p", Pt, x(t.helperText), 1)) : y("", !0),
888
- a.value ? (s(), l("p", qt, x(a.value), 1)) : y("", !0)
884
+ ])) : m("", !0),
885
+ t.helperText ? (s(), l("p", Et, x(t.helperText), 1)) : m("", !0),
886
+ a.value ? (s(), l("p", Pt, x(a.value), 1)) : m("", !0)
889
887
  ])
890
888
  ], 34));
891
889
  }
892
- }), _t = { class: "input-wrapper" }, Rt = ["for"], Nt = {
890
+ }), qt = { class: "input-wrapper" }, Rt = ["for"], Nt = {
893
891
  key: 0,
894
892
  class: "text-danger-600"
895
893
  }, Wt = { class: "relative" }, Ht = ["id", "type", "disabled", "placeholder", "value", "required", "readonly"], Kt = {
@@ -901,7 +899,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
901
899
  }, Jt = {
902
900
  key: 2,
903
901
  class: "mt-1 text-sm text-secondary-600"
904
- }, Gt = /* @__PURE__ */ q({
902
+ }, Gt = /* @__PURE__ */ P({
905
903
  __name: "Input",
906
904
  props: {
907
905
  modelValue: { default: "" },
@@ -917,9 +915,9 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
917
915
  helperText: {}
918
916
  },
919
917
  emits: ["update:modelValue", "blur", "focus"],
920
- setup(t, { emit: g }) {
921
- const e = t, f = g, n = L(`input-${Math.random().toString(36).substr(2, 9)}`), u = r(() => "block text-sm font-medium text-secondary-700 mb-1"), v = r(() => {
922
- const p = "w-full rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50", b = {
918
+ setup(t, { emit: b }) {
919
+ const e = t, v = b, n = O(`input-${Math.random().toString(36).substr(2, 9)}`), u = r(() => "ds-label"), c = r(() => {
920
+ const p = "w-full rounded-md transition-colors focus:outline-none focus:ring-2 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50", g = {
923
921
  sm: "h-8 px-3 text-sm",
924
922
  md: "h-10 px-4 text-base",
925
923
  lg: "h-12 px-5 text-lg"
@@ -927,29 +925,29 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
927
925
  default: "border border-secondary-300 bg-white focus:border-primary-500 focus:ring-primary-500",
928
926
  filled: "border-0 bg-secondary-100 focus:bg-white focus:ring-primary-500",
929
927
  outlined: "border-2 border-secondary-300 bg-transparent focus:border-primary-500 focus:ring-primary-500"
930
- }, B = e.error ? "border-danger-500 focus:border-danger-500 focus:ring-danger-500 pr-10" : "";
931
- return `${p} ${b[e.size]} ${T[e.variant]} ${B}`;
928
+ }, D = e.error ? "border-danger-500 focus:border-danger-500 focus:ring-danger-500 pr-10" : "";
929
+ return `${p} ${g[e.size]} ${T[e.variant]} ${D}`;
932
930
  }), a = (p) => {
933
- const b = p.target;
934
- f("update:modelValue", b.value);
931
+ const g = p.target;
932
+ v("update:modelValue", g.value);
935
933
  }, h = (p) => {
936
- f("blur", p);
934
+ v("blur", p);
937
935
  }, i = (p) => {
938
- f("focus", p);
936
+ v("focus", p);
939
937
  };
940
- return (p, b) => (s(), l("div", _t, [
938
+ return (p, g) => (s(), l("div", qt, [
941
939
  t.label ? (s(), l("label", {
942
940
  key: 0,
943
941
  for: n.value,
944
- class: c(u.value)
942
+ class: f(u.value)
945
943
  }, [
946
- _(x(t.label) + " ", 1),
947
- t.required ? (s(), l("span", Nt, "*")) : y("", !0)
948
- ], 10, Rt)) : y("", !0),
944
+ q(x(t.label) + " ", 1),
945
+ t.required ? (s(), l("span", Nt, "*")) : m("", !0)
946
+ ], 10, Rt)) : m("", !0),
949
947
  o("div", Wt, [
950
948
  o("input", {
951
949
  id: n.value,
952
- class: c(v.value),
950
+ class: f(c.value),
953
951
  type: t.type,
954
952
  disabled: t.disabled,
955
953
  placeholder: t.placeholder,
@@ -960,7 +958,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
960
958
  onBlur: h,
961
959
  onFocus: i
962
960
  }, null, 42, Ht),
963
- t.error ? (s(), l("span", Kt, [...b[0] || (b[0] = [
961
+ t.error ? (s(), l("span", Kt, [...g[0] || (g[0] = [
964
962
  o("svg", {
965
963
  xmlns: "http://www.w3.org/2000/svg",
966
964
  class: "h-5 w-5",
@@ -973,15 +971,15 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
973
971
  "clip-rule": "evenodd"
974
972
  })
975
973
  ], -1)
976
- ])])) : y("", !0)
974
+ ])])) : m("", !0)
977
975
  ]),
978
- t.error ? (s(), l("p", Ut, x(t.error), 1)) : t.helperText ? (s(), l("p", Jt, x(t.helperText), 1)) : y("", !0)
976
+ t.error ? (s(), l("p", Ut, x(t.error), 1)) : t.helperText ? (s(), l("p", Jt, x(t.helperText), 1)) : m("", !0)
979
977
  ]));
980
978
  }
981
- }), Cl = /* @__PURE__ */ K(Gt, [["__scopeId", "data-v-e3a37613"]]), Qt = ["stroke-width"], Zt = {
979
+ }), Cl = /* @__PURE__ */ K(Gt, [["__scopeId", "data-v-fac43d65"]]), Qt = ["stroke-width"], Zt = {
982
980
  class: "w-full h-full rounded-lg overflow-hidden",
983
981
  style: { "background-color": "#f7f7f7" }
984
- }, Xt = /* @__PURE__ */ q({
982
+ }, Xt = /* @__PURE__ */ P({
985
983
  __name: "Loader",
986
984
  props: {
987
985
  type: { default: "circular" },
@@ -992,28 +990,28 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
992
990
  progress: { default: void 0 }
993
991
  },
994
992
  setup(t) {
995
- const g = t, e = {
993
+ const b = t, e = {
996
994
  primary: "text-primary-700",
997
995
  secondary: "text-secondary-500",
998
996
  success: "text-success-500",
999
997
  warning: "text-warning-500",
1000
998
  danger: "text-danger-500",
1001
999
  info: "text-info-500"
1002
- }, f = {
1000
+ }, v = {
1003
1001
  primary: "bg-primary-700",
1004
1002
  secondary: "bg-secondary-500",
1005
1003
  success: "bg-success-500",
1006
1004
  warning: "bg-warning-500",
1007
1005
  danger: "bg-danger-500",
1008
1006
  info: "bg-info-500"
1009
- }, n = r(() => [e[g.color]]), u = r(() => [f[g.color]]);
1010
- return (v, a) => t.type === "circular" ? (s(), l("div", {
1007
+ }, n = r(() => [e[b.color]]), u = r(() => [v[b.color]]);
1008
+ return (c, a) => t.type === "circular" ? (s(), l("div", {
1011
1009
  key: 0,
1012
- class: c(n.value)
1010
+ class: f(n.value)
1013
1011
  }, [
1014
1012
  (s(), l("svg", {
1015
1013
  class: "animate-spin",
1016
- style: Q({ width: t.size, height: t.size }),
1014
+ style: J({ width: t.size, height: t.size }),
1017
1015
  viewBox: "0 0 24 24"
1018
1016
  }, [
1019
1017
  o("circle", {
@@ -1034,15 +1032,15 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1034
1032
  ], 2)) : t.type === "linear" ? (s(), l("div", {
1035
1033
  key: 1,
1036
1034
  class: "w-full",
1037
- style: Q({ height: t.height })
1035
+ style: J({ height: t.height })
1038
1036
  }, [
1039
1037
  o("div", Zt, [
1040
1038
  o("div", {
1041
- class: c([[u.value, { "animate-linear-loader": t.progress === void 0 }], "h-full rounded-lg"]),
1042
- style: Q({ width: t.progress !== void 0 ? `${Math.min(Math.max(t.progress, 0), 100)}%` : "100%" })
1039
+ class: f([[u.value, { "animate-linear-loader": t.progress === void 0 }], "h-full rounded-lg"]),
1040
+ style: J({ width: t.progress !== void 0 ? `${Math.min(Math.max(t.progress, 0), 100)}%` : "100%" })
1043
1041
  }, null, 6)
1044
1042
  ])
1045
- ], 4)) : y("", !0);
1043
+ ], 4)) : m("", !0);
1046
1044
  }
1047
1045
  }), Ml = /* @__PURE__ */ K(Xt, [["__scopeId", "data-v-f369fb46"]]), es = ["disabled", "aria-expanded"], ts = ["disabled", "onClick"], ss = {
1048
1046
  key: 0,
@@ -1059,7 +1057,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1059
1057
  fill: "none",
1060
1058
  stroke: "currentColor",
1061
1059
  viewBox: "0 0 24 24"
1062
- }, fs = /* @__PURE__ */ q({
1060
+ }, fs = /* @__PURE__ */ P({
1063
1061
  __name: "Menu",
1064
1062
  props: {
1065
1063
  items: { default: () => [] },
@@ -1078,8 +1076,8 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1078
1076
  zIndex: { default: 50 }
1079
1077
  },
1080
1078
  emits: ["open", "close", "select"],
1081
- setup(t, { emit: g }) {
1082
- const e = t, f = g, n = L(!1), u = L(null), v = L(null), a = L({}), h = r(() => [
1079
+ setup(t, { emit: b }) {
1080
+ const e = t, v = b, n = O(!1), u = O(null), c = O(null), a = O({}), h = r(() => [
1083
1081
  "inline-flex items-center justify-center px-4 py-2 text-sm font-medium",
1084
1082
  "bg-white border border-secondary-300 rounded-md text-secondary-700",
1085
1083
  "hover:bg-secondary-100 hover:text-secondary-900 hover:border-secondary-400",
@@ -1090,69 +1088,69 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1090
1088
  "fixed bg-white rounded-lg shadow-lg border border-secondary-200",
1091
1089
  "flex flex-col",
1092
1090
  "focus:outline-none"
1093
- ], `z-${e.zIndex}`].join(" ")), p = r(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), b = r(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), T = r(() => "py-1 overflow-y-auto flex-1 min-h-0"), B = r(() => "my-1 border-t border-secondary-200"), O = r(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), j = (d) => {
1091
+ ], `z-${e.zIndex}`].join(" ")), p = r(() => "px-4 py-3 border-b border-secondary-200 bg-secondary-50"), g = r(() => "px-4 py-3 border-t border-secondary-200 bg-secondary-50"), T = r(() => "py-1 overflow-y-auto flex-1 min-h-0"), D = r(() => "my-1 border-t border-secondary-200"), L = r(() => "px-4 py-2 text-xs font-semibold text-secondary-500 uppercase tracking-wider"), j = (d) => {
1094
1092
  const w = [
1095
1093
  "w-full flex items-center gap-3 px-4 py-2.5 text-sm text-left",
1096
1094
  "transition-all duration-150 focus:outline-none cursor-pointer",
1097
1095
  "disabled:opacity-50 disabled:cursor-not-allowed"
1098
- ], $ = d.variant || "default", J = {
1096
+ ], C = d.variant || "default", G = {
1099
1097
  default: "text-secondary-700 hover:bg-secondary-100 hover:text-secondary-900 focus:bg-secondary-100",
1100
1098
  danger: "text-danger-600 hover:bg-danger-100 hover:text-danger-700 focus:bg-danger-100",
1101
1099
  success: "text-success-600 hover:bg-success-100 hover:text-success-700 focus:bg-success-100",
1102
1100
  warning: "text-warning-600 hover:bg-warning-100 hover:text-warning-700 focus:bg-warning-100"
1103
1101
  };
1104
1102
  let F = "";
1105
- return d.color && (F = d.color, (d.color.includes("white") || d.color.includes("50")) && (F += " hover:text-black")), [...w, F || J[$]].join(" ");
1103
+ return d.color && (F = d.color, (d.color.includes("white") || d.color.includes("50")) && (F += " hover:text-black")), [...w, F || G[C]].join(" ");
1106
1104
  }, S = () => {
1107
- e.disabled || (n.value ? k() : D());
1108
- }, D = () => {
1109
- n.value = !0, f("open"), fe(() => {
1105
+ e.disabled || (n.value ? k() : B());
1106
+ }, B = () => {
1107
+ n.value = !0, v("open"), fe(() => {
1110
1108
  M(), document.addEventListener("click", Y), document.addEventListener("keydown", N);
1111
1109
  });
1112
1110
  }, k = () => {
1113
- n.value = !1, f("close"), document.removeEventListener("click", Y), document.removeEventListener("keydown", N);
1111
+ n.value = !1, v("close"), document.removeEventListener("click", Y), document.removeEventListener("keydown", N);
1114
1112
  }, I = (d) => {
1115
- d.disabled || (d.action && d.action(), f("select", d), e.closeOnClick && !d.children && k());
1113
+ d.disabled || (d.action && d.action(), v("select", d), e.closeOnClick && !d.children && k());
1116
1114
  }, Y = (d) => {
1117
1115
  const w = d.target;
1118
- u.value && !u.value.contains(w) && v.value && !v.value.contains(w) && k();
1116
+ u.value && !u.value.contains(w) && c.value && !c.value.contains(w) && k();
1119
1117
  }, N = (d) => {
1120
1118
  d.key === "Escape" && k();
1121
1119
  }, te = (d) => {
1122
1120
  (d.key === "Enter" || d.key === " ") && (d.preventDefault(), S());
1123
1121
  }, M = () => {
1124
- if (!u.value || !v.value) return;
1125
- const d = u.value.getBoundingClientRect(), w = v.value.getBoundingClientRect(), $ = window.innerWidth, J = window.innerHeight;
1126
- let F = 0, E = 0;
1122
+ if (!u.value || !c.value) return;
1123
+ const d = u.value.getBoundingClientRect(), w = c.value.getBoundingClientRect(), C = window.innerWidth, G = window.innerHeight;
1124
+ let F = 0, A = 0;
1127
1125
  switch (e.position) {
1128
1126
  case "bottom-start":
1129
- F = d.bottom + e.offset.y, E = d.left + e.offset.x;
1127
+ F = d.bottom + e.offset.y, A = d.left + e.offset.x;
1130
1128
  break;
1131
1129
  case "bottom-end":
1132
- F = d.bottom + e.offset.y, E = d.right - w.width + e.offset.x;
1130
+ F = d.bottom + e.offset.y, A = d.right - w.width + e.offset.x;
1133
1131
  break;
1134
1132
  case "top-start":
1135
- F = d.top - w.height - e.offset.y, E = d.left + e.offset.x;
1133
+ F = d.top - w.height - e.offset.y, A = d.left + e.offset.x;
1136
1134
  break;
1137
1135
  case "top-end":
1138
- F = d.top - w.height - e.offset.y, E = d.right - w.width + e.offset.x;
1136
+ F = d.top - w.height - e.offset.y, A = d.right - w.width + e.offset.x;
1139
1137
  break;
1140
1138
  case "right-start":
1141
- F = d.top + e.offset.y, E = d.right + e.offset.x;
1139
+ F = d.top + e.offset.y, A = d.right + e.offset.x;
1142
1140
  break;
1143
1141
  case "right-end":
1144
- F = d.bottom - w.height + e.offset.y, E = d.right + e.offset.x;
1142
+ F = d.bottom - w.height + e.offset.y, A = d.right + e.offset.x;
1145
1143
  break;
1146
1144
  case "left-start":
1147
- F = d.top + e.offset.y, E = d.left - w.width - e.offset.x;
1145
+ F = d.top + e.offset.y, A = d.left - w.width - e.offset.x;
1148
1146
  break;
1149
1147
  case "left-end":
1150
- F = d.bottom - w.height + e.offset.y, E = d.left - w.width - e.offset.x;
1148
+ F = d.bottom - w.height + e.offset.y, A = d.left - w.width - e.offset.x;
1151
1149
  break;
1152
1150
  }
1153
- E + w.width > $ && (E = $ - w.width - 8), E < 8 && (E = 8), F + w.height > J && (F = J - w.height - 8), F < 8 && (F = 8), a.value = {
1151
+ A + w.width > C && (A = C - w.width - 8), A < 8 && (A = 8), F + w.height > G && (F = G - w.height - 8), F < 8 && (F = 8), a.value = {
1154
1152
  top: `${F}px`,
1155
- left: `${E}px`,
1153
+ left: `${A}px`,
1156
1154
  width: e.width === "auto" ? `${Math.max(d.width, 240)}px` : e.width,
1157
1155
  maxHeight: e.maxHeight,
1158
1156
  minWidth: "240px"
@@ -1165,7 +1163,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1165
1163
  }), ve(() => e.items, () => {
1166
1164
  n.value && fe(M);
1167
1165
  }, { deep: !0 }), (d, w) => (s(), l("div", {
1168
- class: c(["menu-wrapper", { "w-full": t.fullWidth }])
1166
+ class: f(["menu-wrapper", { "w-full": t.fullWidth }])
1169
1167
  }, [
1170
1168
  o("div", {
1171
1169
  ref_key: "triggerRef",
@@ -1177,7 +1175,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1177
1175
  }, () => [
1178
1176
  o("button", {
1179
1177
  type: "button",
1180
- class: c(h.value),
1178
+ class: f(h.value),
1181
1179
  disabled: t.disabled,
1182
1180
  onClick: S,
1183
1181
  onKeydown: te,
@@ -1187,11 +1185,11 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1187
1185
  "aria-haspopup": !0
1188
1186
  }, [
1189
1187
  V(d.$slots, "trigger-content", {}, () => [
1190
- _(x(t.triggerText), 1)
1188
+ q(x(t.triggerText), 1)
1191
1189
  ], !0),
1192
1190
  t.showChevron ? (s(), l("svg", {
1193
1191
  key: 0,
1194
- class: c(["w-4 h-4 ml-2 transition-transform", n.value ? "rotate-180" : ""]),
1192
+ class: f(["w-4 h-4 ml-2 transition-transform", n.value ? "rotate-180" : ""]),
1195
1193
  fill: "none",
1196
1194
  stroke: "currentColor",
1197
1195
  viewBox: "0 0 24 24"
@@ -1202,7 +1200,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1202
1200
  "stroke-width": "2",
1203
1201
  d: "M19 9l-7 7-7-7"
1204
1202
  }, null, -1)
1205
- ])], 2)) : y("", !0)
1203
+ ])], 2)) : m("", !0)
1206
1204
  ], 42, es)
1207
1205
  ], !0)
1208
1206
  ], 512),
@@ -1210,110 +1208,110 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1210
1208
  n.value ? (s(), l("div", {
1211
1209
  key: 0,
1212
1210
  ref_key: "menuRef",
1213
- ref: v,
1214
- class: c(i.value),
1215
- style: Q(a.value),
1211
+ ref: c,
1212
+ class: f(i.value),
1213
+ style: J(a.value),
1216
1214
  onClick: w[0] || (w[0] = H(() => {
1217
1215
  }, ["stop"]))
1218
1216
  }, [
1219
1217
  d.$slots.header ? (s(), l("div", {
1220
1218
  key: 0,
1221
- class: c(p.value)
1219
+ class: f(p.value)
1222
1220
  }, [
1223
1221
  V(d.$slots, "header", { close: k }, void 0, !0)
1224
- ], 2)) : y("", !0),
1222
+ ], 2)) : m("", !0),
1225
1223
  o("div", {
1226
- class: c(T.value)
1224
+ class: f(T.value)
1227
1225
  }, [
1228
1226
  V(d.$slots, "default", {
1229
1227
  close: k,
1230
1228
  isOpen: n.value
1231
1229
  }, () => [
1232
- (s(!0), l(P, null, W(t.items, ($, J) => (s(), l(P, {
1233
- key: $.id || J
1230
+ (s(!0), l(E, null, W(t.items, (C, G) => (s(), l(E, {
1231
+ key: C.id || G
1234
1232
  }, [
1235
- $.type === "divider" ? (s(), l("div", {
1233
+ C.type === "divider" ? (s(), l("div", {
1236
1234
  key: 0,
1237
- class: c(B.value)
1238
- }, null, 2)) : $.type === "header" ? (s(), l("div", {
1235
+ class: f(D.value)
1236
+ }, null, 2)) : C.type === "header" ? (s(), l("div", {
1239
1237
  key: 1,
1240
- class: c(O.value)
1241
- }, x($.label), 3)) : (s(), l("button", {
1238
+ class: f(L.value)
1239
+ }, x(C.label), 3)) : (s(), l("button", {
1242
1240
  key: 2,
1243
1241
  type: "button",
1244
- class: c(j($)),
1245
- disabled: $.disabled,
1246
- onClick: (F) => I($)
1242
+ class: f(j(C)),
1243
+ disabled: C.disabled,
1244
+ onClick: (F) => I(C)
1247
1245
  }, [
1248
- $.icon || d.$slots[`icon-${$.id}`] ? (s(), l("span", ss, [
1249
- V(d.$slots, `icon-${$.id}`, { item: $ }, () => [
1250
- typeof $.icon != "string" ? (s(), ee(Me($.icon), {
1246
+ C.icon || d.$slots[`icon-${C.id}`] ? (s(), l("span", ss, [
1247
+ V(d.$slots, `icon-${C.id}`, { item: C }, () => [
1248
+ typeof C.icon != "string" ? (s(), ee(Me(C.icon), {
1251
1249
  key: 0,
1252
1250
  class: "w-5 h-5"
1253
1251
  })) : (s(), l("span", {
1254
1252
  key: 1,
1255
- innerHTML: $.icon,
1253
+ innerHTML: C.icon,
1256
1254
  class: "w-5 h-5 inline-block"
1257
1255
  }, null, 8, ls))
1258
1256
  ], !0)
1259
- ])) : y("", !0),
1257
+ ])) : m("", !0),
1260
1258
  o("div", os, [
1261
- V(d.$slots, `item-${$.id}`, {
1262
- item: $,
1259
+ V(d.$slots, `item-${C.id}`, {
1260
+ item: C,
1263
1261
  close: k
1264
1262
  }, () => [
1265
1263
  o("div", as, [
1266
1264
  o("span", {
1267
1265
  class: "truncate w-full",
1268
- title: $.label
1269
- }, x($.label), 9, ns),
1270
- $.description ? (s(), l("span", {
1266
+ title: C.label
1267
+ }, x(C.label), 9, ns),
1268
+ C.description ? (s(), l("span", {
1271
1269
  key: 0,
1272
1270
  class: "text-xs text-secondary-500 truncate w-full",
1273
- title: $.description
1274
- }, x($.description), 9, rs)) : y("", !0)
1271
+ title: C.description
1272
+ }, x(C.description), 9, rs)) : m("", !0)
1275
1273
  ])
1276
1274
  ], !0)
1277
1275
  ]),
1278
- $.suffix || $.shortcut || d.$slots[`suffix-${$.id}`] ? (s(), l("span", is, [
1279
- V(d.$slots, `suffix-${$.id}`, { item: $ }, () => [
1280
- $.shortcut ? (s(), l("span", ds, x($.shortcut), 1)) : $.suffix ? (s(), l("span", us, x($.suffix), 1)) : y("", !0)
1276
+ C.suffix || C.shortcut || d.$slots[`suffix-${C.id}`] ? (s(), l("span", is, [
1277
+ V(d.$slots, `suffix-${C.id}`, { item: C }, () => [
1278
+ C.shortcut ? (s(), l("span", ds, x(C.shortcut), 1)) : C.suffix ? (s(), l("span", us, x(C.suffix), 1)) : m("", !0)
1281
1279
  ], !0)
1282
- ])) : y("", !0),
1283
- $.children && $.children.length > 0 ? (s(), l("svg", cs, [...w[2] || (w[2] = [
1280
+ ])) : m("", !0),
1281
+ C.children && C.children.length > 0 ? (s(), l("svg", cs, [...w[2] || (w[2] = [
1284
1282
  o("path", {
1285
1283
  "stroke-linecap": "round",
1286
1284
  "stroke-linejoin": "round",
1287
1285
  "stroke-width": "2",
1288
1286
  d: "M9 5l7 7-7 7"
1289
1287
  }, null, -1)
1290
- ])])) : y("", !0)
1288
+ ])])) : m("", !0)
1291
1289
  ], 10, ts))
1292
1290
  ], 64))), 128))
1293
1291
  ], !0)
1294
1292
  ], 2),
1295
1293
  d.$slots.footer ? (s(), l("div", {
1296
1294
  key: 1,
1297
- class: c(b.value)
1295
+ class: f(g.value)
1298
1296
  }, [
1299
1297
  V(d.$slots, "footer", { close: k }, void 0, !0)
1300
- ], 2)) : y("", !0)
1301
- ], 6)) : y("", !0),
1298
+ ], 2)) : m("", !0)
1299
+ ], 6)) : m("", !0),
1302
1300
  n.value && t.overlay ? (s(), l("div", {
1303
1301
  key: 1,
1304
1302
  class: "fixed inset-0 bg-black/20 z-40",
1305
1303
  onClick: k
1306
- })) : y("", !0)
1304
+ })) : m("", !0)
1307
1305
  ]))
1308
1306
  ], 2));
1309
1307
  }
1310
1308
  }), Dl = /* @__PURE__ */ K(fs, [["__scopeId", "data-v-61176297"]]), vs = ["for"], ps = {
1311
1309
  key: 0,
1312
1310
  class: "text-danger-600"
1313
- }, bs = ["id", "disabled", "aria-expanded"], gs = { class: "flex-1 text-left truncate" }, ms = {
1311
+ }, gs = ["id", "disabled", "aria-expanded"], bs = { class: "flex-1 text-left truncate" }, ys = {
1314
1312
  key: 0,
1315
1313
  class: "p-2 border-b border-secondary-200"
1316
- }, ys = ["placeholder"], hs = { class: "max-h-64 overflow-y-auto" }, xs = {
1314
+ }, ms = ["placeholder"], hs = { class: "max-h-64 overflow-y-auto" }, xs = {
1317
1315
  key: 0,
1318
1316
  class: "px-4 py-3 text-sm text-secondary-500 text-center"
1319
1317
  }, ws = ["onClick"], ks = { class: "flex items-center justify-between w-full" }, $s = { class: "truncate" }, Cs = {
@@ -1332,7 +1330,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1332
1330
  }, Vs = {
1333
1331
  key: 2,
1334
1332
  class: "mt-1 text-sm text-secondary-600"
1335
- }, Ts = /* @__PURE__ */ q({
1333
+ }, Ts = /* @__PURE__ */ P({
1336
1334
  __name: "Select",
1337
1335
  props: {
1338
1336
  modelValue: { default: null },
@@ -1354,15 +1352,15 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1354
1352
  bordered: { type: Boolean, default: !0 }
1355
1353
  },
1356
1354
  emits: ["update:modelValue", "change", "action"],
1357
- setup(t, { emit: g }) {
1358
- const e = t, f = g, n = L(!1), u = L(""), v = L(null), a = r(
1355
+ setup(t, { emit: b }) {
1356
+ const e = t, v = b, n = O(!1), u = O(""), c = O(null), a = r(
1359
1357
  () => `select-${Math.random().toString(36).substr(2, 9)}`
1360
1358
  ), h = r(() => e.options.find((M) => M.value === e.modelValue) || null), i = r(() => {
1361
1359
  if (!e.searchable || !u.value)
1362
1360
  return e.options;
1363
1361
  const M = u.value.toLowerCase();
1364
1362
  return e.options.filter((d) => d.label.toLowerCase().includes(M));
1365
- }), p = r(() => "block text-sm font-semibold text-secondary-700 mb-1"), b = r(() => e.bordered ? "border border-neutral-300 rounded-md" : "rounded-md"), T = r(() => {
1363
+ }), p = r(() => "ds-label"), g = r(() => e.bordered ? "border border-neutral-300 rounded-md" : "rounded-md"), T = r(() => {
1366
1364
  const M = "w-full rounded-md flex items-center justify-between gap-2 transition-colors focus:outline-none focus:ring-2 focus:ring-primary-500 disabled:opacity-50 disabled:cursor-not-allowed", d = {
1367
1365
  sm: "px-3 py-1.5 text-sm",
1368
1366
  md: "px-4 py-2 text-base",
@@ -1371,68 +1369,68 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1371
1369
  default: "bg-white",
1372
1370
  outline: "bg-transparent",
1373
1371
  filled: "bg-secondary-100"
1374
- }, $ = e.error ? "border-danger-600 focus:ring-danger-500" : "";
1372
+ }, C = e.error ? "border-danger-600 focus:ring-danger-500" : "";
1375
1373
  return [
1376
1374
  M,
1377
1375
  d[e.size],
1378
1376
  w[e.variant],
1379
- $
1377
+ C
1380
1378
  ].join(" ");
1381
- }), B = r(() => `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`), O = (M) => {
1379
+ }), D = r(() => `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`), L = (M) => {
1382
1380
  const d = "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", w = S(M) ? "bg-primary-50" : "";
1383
1381
  return [d, w].join(" ");
1384
1382
  }, j = (M) => {
1385
1383
  const d = "w-full px-4 py-2 text-left text-sm font-semibold transition-colors focus:outline-none flex items-center gap-3";
1386
1384
  return M.variant === "danger" ? `${d} text-danger-600 hover:bg-danger-50 focus:bg-danger-50` : `${d} text-secondary-700 hover:bg-secondary-50 focus:bg-secondary-50`;
1387
- }, S = (M) => M.value === e.modelValue, D = () => {
1385
+ }, S = (M) => M.value === e.modelValue, B = () => {
1388
1386
  e.disabled || (n.value = !n.value, n.value && e.searchable && fe(() => {
1389
1387
  var M;
1390
- (M = v.value) == null || M.focus();
1388
+ (M = c.value) == null || M.focus();
1391
1389
  }));
1392
1390
  }, k = () => {
1393
1391
  n.value = !1, u.value = "";
1394
1392
  }, I = (M) => {
1395
- M.disabled || (f("update:modelValue", M.value), f("change", M), k());
1393
+ M.disabled || (v("update:modelValue", M.value), v("change", M), k());
1396
1394
  }, Y = (M) => {
1397
- M.action && M.action(), f("action", M), k();
1395
+ M.action && M.action(), v("action", M), k();
1398
1396
  }, N = (M) => {
1399
1397
  const d = M.relatedTarget;
1400
1398
  d && d.closest(".select-wrapper") || setTimeout(() => {
1401
1399
  k();
1402
1400
  }, 200);
1403
1401
  }, te = (M) => {
1404
- M.key === "Escape" ? k() : (M.key === "Enter" || M.key === " ") && (M.preventDefault(), D());
1402
+ M.key === "Escape" ? k() : (M.key === "Enter" || M.key === " ") && (M.preventDefault(), B());
1405
1403
  };
1406
1404
  return ve(n, (M) => {
1407
1405
  M && (u.value = "");
1408
1406
  }), (M, d) => (s(), l("div", {
1409
- class: c(["select-wrapper", { "w-full": t.fullWidth }])
1407
+ class: f(["select-wrapper", { "w-full": t.fullWidth }])
1410
1408
  }, [
1411
1409
  t.label ? (s(), l("label", {
1412
1410
  key: 0,
1413
1411
  for: a.value,
1414
- class: c(p.value)
1412
+ class: f(p.value)
1415
1413
  }, [
1416
- _(x(t.label) + " ", 1),
1417
- t.required ? (s(), l("span", ps, "*")) : y("", !0)
1418
- ], 10, vs)) : y("", !0),
1414
+ q(x(t.label) + " ", 1),
1415
+ t.required ? (s(), l("span", ps, "*")) : m("", !0)
1416
+ ], 10, vs)) : m("", !0),
1419
1417
  o("div", {
1420
- class: c(["relative", b.value])
1418
+ class: f(["relative", g.value])
1421
1419
  }, [
1422
1420
  o("button", {
1423
1421
  id: a.value,
1424
1422
  type: "button",
1425
- class: c(T.value),
1423
+ class: f(T.value),
1426
1424
  disabled: t.disabled,
1427
1425
  "aria-expanded": n.value,
1428
1426
  "aria-haspopup": !0,
1429
- onClick: D,
1427
+ onClick: B,
1430
1428
  onBlur: N,
1431
1429
  onKeydown: te
1432
1430
  }, [
1433
- o("span", gs, x(h.value ? h.value.label : t.placeholder), 1),
1431
+ o("span", bs, x(h.value ? h.value.label : t.placeholder), 1),
1434
1432
  (s(), l("svg", {
1435
- class: c(["w-5 h-5 flex-shrink-0 transition-transform text-secondary-600", n.value ? "rotate-180" : ""]),
1433
+ class: f(["w-5 h-5 flex-shrink-0 transition-transform text-[#565656] opacity-80", n.value ? "rotate-180" : ""]),
1436
1434
  fill: "none",
1437
1435
  stroke: "currentColor",
1438
1436
  viewBox: "0 0 24 24",
@@ -1445,34 +1443,34 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1445
1443
  d: "M19 9l-7 7-7-7"
1446
1444
  }, null, -1)
1447
1445
  ])], 2))
1448
- ], 42, bs),
1446
+ ], 42, gs),
1449
1447
  n.value ? (s(), l("div", {
1450
1448
  key: 0,
1451
- class: c(B.value),
1449
+ class: f(D.value),
1452
1450
  onClick: d[2] || (d[2] = H(() => {
1453
1451
  }, ["stop"]))
1454
1452
  }, [
1455
- t.searchable ? (s(), l("div", ms, [
1453
+ t.searchable ? (s(), l("div", ys, [
1456
1454
  ue(o("input", {
1457
1455
  ref_key: "searchInput",
1458
- ref: v,
1456
+ ref: c,
1459
1457
  "onUpdate:modelValue": d[0] || (d[0] = (w) => u.value = w),
1460
1458
  type: "text",
1461
1459
  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",
1462
1460
  placeholder: t.searchPlaceholder,
1463
1461
  onKeydown: d[1] || (d[1] = H(() => {
1464
1462
  }, ["stop"]))
1465
- }, null, 40, ys), [
1466
- [Ee, u.value]
1463
+ }, null, 40, ms), [
1464
+ [Ae, u.value]
1467
1465
  ])
1468
- ])) : y("", !0),
1466
+ ])) : m("", !0),
1469
1467
  o("div", hs, [
1470
- i.value.length === 0 ? (s(), l("div", xs, x(t.emptyText), 1)) : (s(), l(P, { key: 1 }, [
1471
- (s(!0), l(P, null, W(i.value, (w) => (s(), l("button", {
1468
+ i.value.length === 0 ? (s(), l("div", xs, x(t.emptyText), 1)) : (s(), l(E, { key: 1 }, [
1469
+ (s(!0), l(E, null, W(i.value, (w) => (s(), l("button", {
1472
1470
  key: w.value,
1473
1471
  type: "button",
1474
- class: c(O(w)),
1475
- onClick: ($) => I(w)
1472
+ class: f(L(w)),
1473
+ onClick: (C) => I(w)
1476
1474
  }, [
1477
1475
  o("div", ks, [
1478
1476
  o("span", $s, x(w.label), 1),
@@ -1483,15 +1481,15 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1483
1481
  "stroke-width": "2",
1484
1482
  d: "M5 13l4 4L19 7"
1485
1483
  }, null, -1)
1486
- ])])) : y("", !0)
1484
+ ])])) : m("", !0)
1487
1485
  ])
1488
1486
  ], 10, ws))), 128)),
1489
- t.actionItems.length > 0 ? (s(), l("div", Ms)) : y("", !0),
1490
- (s(!0), l(P, null, W(t.actionItems, (w) => (s(), l("button", {
1487
+ t.actionItems.length > 0 ? (s(), l("div", Ms)) : m("", !0),
1488
+ (s(!0), l(E, null, W(t.actionItems, (w) => (s(), l("button", {
1491
1489
  key: w.id,
1492
1490
  type: "button",
1493
- class: c(j(w)),
1494
- onClick: ($) => Y(w)
1491
+ class: f(j(w)),
1492
+ onClick: (C) => Y(w)
1495
1493
  }, [
1496
1494
  w.icon ? (s(), l("svg", {
1497
1495
  key: 0,
@@ -1501,22 +1499,22 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1501
1499
  viewBox: "0 0 24 24",
1502
1500
  xmlns: "http://www.w3.org/2000/svg",
1503
1501
  innerHTML: w.icon
1504
- }, null, 8, Bs)) : y("", !0),
1505
- _(" " + x(w.label), 1)
1502
+ }, null, 8, Bs)) : m("", !0),
1503
+ q(" " + x(w.label), 1)
1506
1504
  ], 10, Ds))), 128))
1507
1505
  ], 64))
1508
1506
  ])
1509
- ], 2)) : y("", !0)
1507
+ ], 2)) : m("", !0)
1510
1508
  ], 2),
1511
- t.error ? (s(), l("p", zs, x(t.error), 1)) : t.helperText ? (s(), l("p", Vs, x(t.helperText), 1)) : y("", !0),
1509
+ t.error ? (s(), l("p", zs, x(t.error), 1)) : t.helperText ? (s(), l("p", Vs, x(t.helperText), 1)) : m("", !0),
1512
1510
  n.value ? (s(), l("div", {
1513
1511
  key: 3,
1514
1512
  onClick: k,
1515
1513
  class: "fixed inset-0 z-40"
1516
- })) : y("", !0)
1514
+ })) : m("", !0)
1517
1515
  ], 2));
1518
1516
  }
1519
- }), Bl = /* @__PURE__ */ K(Ts, [["__scopeId", "data-v-edef6efe"]]), Ss = /* @__PURE__ */ q({
1517
+ }), Bl = /* @__PURE__ */ K(Ts, [["__scopeId", "data-v-4b6dade4"]]), Ss = /* @__PURE__ */ P({
1520
1518
  __name: "Sidebar",
1521
1519
  props: {
1522
1520
  modelValue: { type: Boolean, default: !1 },
@@ -1531,15 +1529,15 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1531
1529
  padding: { default: "md" }
1532
1530
  },
1533
1531
  emits: ["update:modelValue", "close", "open"],
1534
- setup(t, { emit: g }) {
1535
- const e = t, f = g, n = r({
1532
+ setup(t, { emit: b }) {
1533
+ const e = t, v = b, n = r({
1536
1534
  get: () => e.modelValue,
1537
- set: (B) => f("update:modelValue", B)
1535
+ set: (D) => v("update:modelValue", D)
1538
1536
  }), u = () => {
1539
- e.persistent || (n.value = !1, f("close"));
1540
- }, v = r(() => e.position === "left" ? "slide-right" : "slide-left"), a = r(() => {
1541
- const B = "fixed top-0 h-full z-50 flex flex-col w-full max-w-full sm:max-w-none", O = e.position === "left" ? "left-0" : "right-0", j = 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)]" : "";
1542
- return [B, O, j].filter(Boolean).join(" ");
1537
+ e.persistent || (n.value = !1, v("close"));
1538
+ }, c = r(() => e.position === "left" ? "slide-right" : "slide-left"), a = r(() => {
1539
+ const D = "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", j = 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)]" : "";
1540
+ return [D, L, j].filter(Boolean).join(" ");
1543
1541
  }), h = r(() => ({
1544
1542
  // Base fluid width; respect custom width as max constraint
1545
1543
  width: "100%",
@@ -1552,37 +1550,37 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1552
1550
  sm: "p-2",
1553
1551
  md: "p-4",
1554
1552
  lg: "p-6"
1555
- }, p = r(() => `flex items-center justify-between border-b border-gray-200 ${i[e.padding]}`), b = r(() => `flex-1 overflow-y-auto ${i[e.padding]}`), T = r(() => `border-t border-gray-200 ${i[e.padding]}`);
1556
- return (B, O) => (s(), ee(pe, { to: "body" }, [
1557
- G(ce, { name: "fade" }, {
1553
+ }, p = r(() => `flex items-center justify-between border-b border-gray-200 ${i[e.padding]}`), g = r(() => `flex-1 overflow-y-auto ${i[e.padding]}`), T = r(() => `border-t border-gray-200 ${i[e.padding]}`);
1554
+ return (D, L) => (s(), ee(pe, { to: "body" }, [
1555
+ Q(ce, { name: "fade" }, {
1558
1556
  default: ae(() => [
1559
1557
  n.value && t.overlay ? (s(), l("div", {
1560
1558
  key: 0,
1561
1559
  onClick: u,
1562
1560
  class: "fixed inset-0 bg-black/50 z-40",
1563
- style: Q({ top: t.overlayTop })
1564
- }, null, 4)) : y("", !0)
1561
+ style: J({ top: t.overlayTop })
1562
+ }, null, 4)) : m("", !0)
1565
1563
  ]),
1566
1564
  _: 1
1567
1565
  }),
1568
- G(ce, { name: v.value }, {
1566
+ Q(ce, { name: c.value }, {
1569
1567
  default: ae(() => [
1570
1568
  n.value ? (s(), l("aside", {
1571
1569
  key: 0,
1572
- class: c(a.value),
1573
- style: Q(h.value)
1570
+ class: f(a.value),
1571
+ style: J(h.value)
1574
1572
  }, [
1575
- B.$slots.header ? (s(), l("div", {
1573
+ D.$slots.header ? (s(), l("div", {
1576
1574
  key: 0,
1577
- class: c(p.value)
1575
+ class: f(p.value)
1578
1576
  }, [
1579
- V(B.$slots, "header", {}, void 0, !0),
1577
+ V(D.$slots, "header", {}, void 0, !0),
1580
1578
  t.closable ? (s(), l("button", {
1581
1579
  key: 0,
1582
1580
  onClick: u,
1583
1581
  class: "p-2 hover:bg-gray-100 rounded-md transition-colors",
1584
1582
  "aria-label": "Cerrar menú"
1585
- }, [...O[0] || (O[0] = [
1583
+ }, [...L[0] || (L[0] = [
1586
1584
  o("svg", {
1587
1585
  class: "w-5 h-5",
1588
1586
  fill: "none",
@@ -1596,20 +1594,20 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1596
1594
  d: "M6 18L18 6M6 6l12 12"
1597
1595
  })
1598
1596
  ], -1)
1599
- ])])) : y("", !0)
1600
- ], 2)) : y("", !0),
1597
+ ])])) : m("", !0)
1598
+ ], 2)) : m("", !0),
1601
1599
  o("div", {
1602
- class: c(b.value)
1600
+ class: f(g.value)
1603
1601
  }, [
1604
- V(B.$slots, "default", {}, void 0, !0)
1602
+ V(D.$slots, "default", {}, void 0, !0)
1605
1603
  ], 2),
1606
- B.$slots.footer ? (s(), l("div", {
1604
+ D.$slots.footer ? (s(), l("div", {
1607
1605
  key: 1,
1608
- class: c(T.value)
1606
+ class: f(T.value)
1609
1607
  }, [
1610
- V(B.$slots, "footer", {}, void 0, !0)
1611
- ], 2)) : y("", !0)
1612
- ], 6)) : y("", !0)
1608
+ V(D.$slots, "footer", {}, void 0, !0)
1609
+ ], 2)) : m("", !0)
1610
+ ], 6)) : m("", !0)
1613
1611
  ]),
1614
1612
  _: 3
1615
1613
  }, 8, ["name"])
@@ -1618,7 +1616,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1618
1616
  }), zl = /* @__PURE__ */ K(Ss, [["__scopeId", "data-v-b208234c"]]), Is = { class: "w-full space-y-4" }, js = { class: "flex flex-col gap-3 md:hidden" }, Ls = { class: "text-[11px] uppercase tracking-wide text-gray-400" }, Os = { class: "text-sm text-gray-700" }, Fs = {
1619
1617
  key: 0,
1620
1618
  class: "rounded-lg border border-dashed border-gray-200 bg-white p-4 text-gray-400 text-center"
1621
- }, Ys = { class: "hidden md:block w-full overflow-x-auto" }, As = { class: "w-full border-collapse" }, Es = { class: "w-full" }, Ps = ["onClick"], qs = { class: "flex items-center gap-2" }, _s = {
1619
+ }, Ys = { class: "hidden md:block w-full overflow-x-auto" }, _s = { class: "w-full border-collapse" }, As = { class: "w-full" }, Es = ["onClick"], Ps = { class: "flex items-center gap-2" }, qs = {
1622
1620
  key: 0,
1623
1621
  class: "text-xs text-gray-400"
1624
1622
  }, Rs = { key: 0 }, Ns = { key: 1 }, Ws = { class: "w-full" }, Hs = {
@@ -1627,7 +1625,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1627
1625
  }, Ks = {
1628
1626
  key: 0,
1629
1627
  class: "w-full px-6 py-4 bg-white"
1630
- }, Us = /* @__PURE__ */ q({
1628
+ }, Us = /* @__PURE__ */ P({
1631
1629
  __name: "Table",
1632
1630
  props: {
1633
1631
  columns: {},
@@ -1638,92 +1636,92 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1638
1636
  rowClass: { default: void 0 }
1639
1637
  },
1640
1638
  setup(t) {
1641
- const g = t, e = L(null), f = L("asc"), n = (a) => {
1642
- e.value === a ? f.value = f.value === "asc" ? "desc" : "asc" : (e.value = a, f.value = "asc");
1639
+ const b = t, e = O(null), v = O("asc"), n = (a) => {
1640
+ e.value === a ? v.value = v.value === "asc" ? "desc" : "asc" : (e.value = a, v.value = "asc");
1643
1641
  }, u = r(() => {
1644
1642
  if (!e.value)
1645
- return g.data;
1646
- const a = [...g.data];
1643
+ return b.data;
1644
+ const a = [...b.data];
1647
1645
  return a.sort((h, i) => {
1648
- const p = h[e.value], b = i[e.value];
1649
- return typeof p == "string" && typeof b == "string" ? f.value === "asc" ? p.localeCompare(b) : b.localeCompare(p) : typeof p == "number" && typeof b == "number" ? f.value === "asc" ? p - b : b - p : 0;
1646
+ const p = h[e.value], g = i[e.value];
1647
+ return typeof p == "string" && typeof g == "string" ? v.value === "asc" ? p.localeCompare(g) : g.localeCompare(p) : typeof p == "number" && typeof g == "number" ? v.value === "asc" ? p - g : g - p : 0;
1650
1648
  }), a;
1651
- }), v = r(() => g.columns.filter((a) => !a.hideOnMobile));
1649
+ }), c = r(() => b.columns.filter((a) => !a.hideOnMobile));
1652
1650
  return (a, h) => (s(), l("div", Is, [
1653
1651
  o("div", js, [
1654
- (s(!0), l(P, null, W(u.value, (i, p) => (s(), l("div", {
1652
+ (s(!0), l(E, null, W(u.value, (i, p) => (s(), l("div", {
1655
1653
  key: `card-${p}`,
1656
1654
  class: "rounded-lg border border-gray-200 bg-white p-4 shadow-sm"
1657
1655
  }, [
1658
- (s(!0), l(P, null, W(v.value, (b) => (s(), l("div", {
1659
- key: `card-${p}-${b.key}`,
1656
+ (s(!0), l(E, null, W(c.value, (g) => (s(), l("div", {
1657
+ key: `card-${p}-${g.key}`,
1660
1658
  class: "flex flex-col gap-1 py-1"
1661
1659
  }, [
1662
- o("span", Ls, x(b.label), 1),
1660
+ o("span", Ls, x(g.label), 1),
1663
1661
  o("span", Os, [
1664
- V(a.$slots, `cell-${b.key}`, {
1665
- value: i[b.key],
1662
+ V(a.$slots, `cell-${g.key}`, {
1663
+ value: i[g.key],
1666
1664
  row: i
1667
1665
  }, () => [
1668
- _(x(i[b.key]), 1)
1666
+ q(x(i[g.key]), 1)
1669
1667
  ], !0)
1670
1668
  ])
1671
1669
  ]))), 128))
1672
1670
  ]))), 128)),
1673
1671
  u.value.length === 0 ? (s(), l("div", Fs, [
1674
1672
  V(a.$slots, "empty", {}, () => [
1675
- h[0] || (h[0] = _("No hay datos disponibles", -1))
1673
+ h[0] || (h[0] = q("No hay datos disponibles", -1))
1676
1674
  ], !0)
1677
- ])) : y("", !0)
1675
+ ])) : m("", !0)
1678
1676
  ]),
1679
1677
  o("div", Ys, [
1680
- o("table", As, [
1681
- o("thead", Es, [
1678
+ o("table", _s, [
1679
+ o("thead", As, [
1682
1680
  o("tr", {
1683
- class: c([
1681
+ class: f([
1684
1682
  "w-full",
1685
- g.headerClass || "bg-neutral-50 border-b border-gray-100"
1683
+ b.headerClass || "bg-neutral-50 border-b border-gray-100"
1686
1684
  ])
1687
1685
  }, [
1688
- (s(!0), l(P, null, W(t.columns, (i) => (s(), l("th", {
1686
+ (s(!0), l(E, null, W(t.columns, (i) => (s(), l("th", {
1689
1687
  key: i.key,
1690
- style: Q(i.width ? { width: i.width } : {}),
1691
- class: c([
1688
+ style: J(i.width ? { width: i.width } : {}),
1689
+ class: f([
1692
1690
  "px-4 py-3 text-left text-xs font-semibold text-gray-700 border-l border-gray-100 first:border-l-0",
1693
1691
  i.sortable ? "cursor-pointer hover:text-primary-600 select-none transition-colors" : "",
1694
- g.headerCellClass
1692
+ b.headerCellClass
1695
1693
  ]),
1696
1694
  onClick: (p) => i.sortable && n(i.key)
1697
1695
  }, [
1698
- o("div", qs, [
1696
+ o("div", Ps, [
1699
1697
  o("span", null, x(i.label), 1),
1700
- i.sortable ? (s(), l("span", _s, [
1701
- e.value !== i.key ? (s(), l("span", Rs, "⇅")) : (s(), l("span", Ns, x(f.value === "asc" ? "↑" : "↓"), 1))
1702
- ])) : y("", !0)
1698
+ i.sortable ? (s(), l("span", qs, [
1699
+ e.value !== i.key ? (s(), l("span", Rs, "⇅")) : (s(), l("span", Ns, x(v.value === "asc" ? "↑" : "↓"), 1))
1700
+ ])) : m("", !0)
1703
1701
  ])
1704
- ], 14, Ps))), 128))
1702
+ ], 14, Es))), 128))
1705
1703
  ], 2)
1706
1704
  ]),
1707
1705
  o("tbody", Ws, [
1708
- (s(!0), l(P, null, W(u.value, (i, p) => (s(), l("tr", {
1706
+ (s(!0), l(E, null, W(u.value, (i, p) => (s(), l("tr", {
1709
1707
  key: p,
1710
- class: c([
1708
+ class: f([
1711
1709
  "w-full border-b border-gray-200 hover:bg-gray-50 transition-colors",
1712
- g.rowClass
1710
+ b.rowClass
1713
1711
  ])
1714
1712
  }, [
1715
- (s(!0), l(P, null, W(t.columns, (b) => (s(), l("td", {
1716
- key: `${p}-${b.key}`,
1717
- class: c([
1713
+ (s(!0), l(E, null, W(t.columns, (g) => (s(), l("td", {
1714
+ key: `${p}-${g.key}`,
1715
+ class: f([
1718
1716
  "px-4 py-3 text-xs text-gray-600 border-l border-gray-100 first:border-l-0",
1719
- g.cellClass
1717
+ b.cellClass
1720
1718
  ])
1721
1719
  }, [
1722
- V(a.$slots, `cell-${b.key}`, {
1723
- value: i[b.key],
1720
+ V(a.$slots, `cell-${g.key}`, {
1721
+ value: i[g.key],
1724
1722
  row: i
1725
1723
  }, () => [
1726
- _(x(i[b.key]), 1)
1724
+ q(x(i[g.key]), 1)
1727
1725
  ], !0)
1728
1726
  ], 2))), 128))
1729
1727
  ], 2))), 128))
@@ -1731,19 +1729,19 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1731
1729
  ]),
1732
1730
  u.value.length === 0 ? (s(), l("div", Hs, [
1733
1731
  V(a.$slots, "empty", {}, () => [
1734
- h[1] || (h[1] = _("No hay datos disponibles", -1))
1732
+ h[1] || (h[1] = q("No hay datos disponibles", -1))
1735
1733
  ], !0)
1736
- ])) : y("", !0)
1734
+ ])) : m("", !0)
1737
1735
  ]),
1738
1736
  a.$slots.footer ? (s(), l("div", Ks, [
1739
1737
  V(a.$slots, "footer", {}, void 0, !0)
1740
- ])) : y("", !0)
1738
+ ])) : m("", !0)
1741
1739
  ]));
1742
1740
  }
1743
1741
  }), Vl = /* @__PURE__ */ K(Us, [["__scopeId", "data-v-8e7ce66d"]]), Js = { class: "tabs-wrapper" }, Gs = {
1744
1742
  class: "tabs-container",
1745
1743
  role: "tablist"
1746
- }, Qs = ["aria-selected", "onClick"], Zs = "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", Xs = "text-primary-600 border-primary-600", el = "hover:text-secondary-700 border-gray-100", tl = /* @__PURE__ */ q({
1744
+ }, Qs = ["aria-selected", "onClick"], Zs = "relative w-full sm:w-auto text-left sm:text-center px-4 sm:px-6 py-3 text-base tracking-wide transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-primary-500 border-b-3", Xs = "text-primary-600 border-primary-600 font-semibold", el = "hover:text-secondary-700 border-transparent font-normal", tl = /* @__PURE__ */ P({
1747
1745
  __name: "Tabs",
1748
1746
  props: {
1749
1747
  modelValue: {},
@@ -1752,42 +1750,42 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1752
1750
  contentClass: {}
1753
1751
  },
1754
1752
  emits: ["update:modelValue"],
1755
- setup(t, { emit: g }) {
1756
- const e = t, f = g, n = (h) => e.modelValue === h, u = (h) => {
1757
- n(h) || f("update:modelValue", h);
1758
- }, v = r(() => e.modelValue), a = r(
1759
- () => e.tabs.find((h) => h.value === v.value)
1753
+ setup(t, { emit: b }) {
1754
+ const e = t, v = b, n = (h) => e.modelValue === h, u = (h) => {
1755
+ n(h) || v("update:modelValue", h);
1756
+ }, c = r(() => e.modelValue), a = r(
1757
+ () => e.tabs.find((h) => h.value === c.value)
1760
1758
  );
1761
1759
  return (h, i) => (s(), l("div", Js, [
1762
1760
  o("div", {
1763
- class: c(["tabs-header", t.headerClass])
1761
+ class: f(["tabs-header", t.headerClass])
1764
1762
  }, [
1765
1763
  o("div", Gs, [
1766
- (s(!0), l(P, null, W(t.tabs, (p) => (s(), l("button", {
1764
+ (s(!0), l(E, null, W(t.tabs, (p) => (s(), l("button", {
1767
1765
  key: p.value,
1768
1766
  type: "button",
1769
- class: c([
1767
+ class: f([
1770
1768
  Zs,
1771
1769
  n(p.value) ? Xs : el
1772
1770
  ]),
1773
1771
  "aria-selected": n(p.value),
1774
1772
  role: "tab",
1775
- onClick: (b) => u(p.value)
1773
+ onClick: (g) => u(p.value)
1776
1774
  }, x(p.label), 11, Qs))), 128))
1777
1775
  ])
1778
1776
  ], 2),
1779
1777
  o("div", {
1780
- class: c(["tabs-content", t.contentClass]),
1778
+ class: f(["tabs-content", t.contentClass]),
1781
1779
  role: "tabpanel"
1782
1780
  }, [
1783
- V(h.$slots, v.value, {
1784
- active: v.value,
1781
+ V(h.$slots, c.value, {
1782
+ active: c.value,
1785
1783
  tab: a.value
1786
1784
  }, void 0, !0)
1787
1785
  ], 2)
1788
1786
  ]));
1789
1787
  }
1790
- }), Tl = /* @__PURE__ */ K(tl, [["__scopeId", "data-v-8cf75dcf"]]), sl = "font-sans", Sl = /* @__PURE__ */ q({
1788
+ }), Tl = /* @__PURE__ */ K(tl, [["__scopeId", "data-v-c7c56f28"]]), sl = "font-sans", Sl = /* @__PURE__ */ P({
1791
1789
  __name: "Text",
1792
1790
  props: {
1793
1791
  variant: { default: "body1" },
@@ -1799,7 +1797,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1799
1797
  weight: {}
1800
1798
  },
1801
1799
  setup(t) {
1802
- const g = {
1800
+ const b = {
1803
1801
  h1: "text-[40px] leading-[57px] tracking-[0px] font-extrabold",
1804
1802
  h2: "text-[40px] leading-[57px] tracking-[0px] font-bold",
1805
1803
  h3: "text-[28px] leading-[39px] tracking-[0px] font-extrabold",
@@ -1839,7 +1837,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1839
1837
  button3: "span",
1840
1838
  caption: "span",
1841
1839
  overline: "span"
1842
- }, f = {
1840
+ }, v = {
1843
1841
  left: "text-left",
1844
1842
  center: "text-center",
1845
1843
  right: "text-right",
@@ -1859,25 +1857,26 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1859
1857
  semibold: "font-semibold",
1860
1858
  bold: "font-bold",
1861
1859
  extrabold: "font-extrabold"
1862
- }, v = t, a = r(() => v.variant), h = r(() => v.color), i = r(() => v.align), p = r(() => v.as || e[a.value] || "span"), b = r(() => v.weight ? u[v.weight] : "");
1863
- return (T, B) => (s(), ee(Me(p.value), {
1864
- class: c([
1860
+ }, c = t, a = r(() => c.variant), h = r(() => c.align), i = r(() => c.as || e[a.value] || "span"), p = r(() => c.color && c.color.startsWith("#")), g = r(() => p.value ? "" : n[c.color] || n.default), T = r(() => p.value ? { color: c.color } : {}), D = r(() => c.weight ? u[c.weight] : "");
1861
+ return (L, j) => (s(), ee(Me(i.value), {
1862
+ class: f([
1865
1863
  sl,
1866
- g[a.value],
1867
- n[h.value],
1868
- f[i.value],
1869
- b.value,
1864
+ b[a.value],
1865
+ g.value,
1866
+ v[h.value],
1867
+ D.value,
1870
1868
  {
1871
1869
  uppercase: t.uppercase || a.value === "overline",
1872
1870
  truncate: t.truncate
1873
1871
  }
1874
- ])
1872
+ ]),
1873
+ style: J(T.value)
1875
1874
  }, {
1876
1875
  default: ae(() => [
1877
- V(T.$slots, "default")
1876
+ V(L.$slots, "default")
1878
1877
  ]),
1879
1878
  _: 3
1880
- }, 8, ["class"]));
1879
+ }, 8, ["class", "style"]));
1881
1880
  }
1882
1881
  }), ll = { class: "w-full flex items-center justify-between gap-3 py-2" }, ol = {
1883
1882
  key: 0,
@@ -1889,7 +1888,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1889
1888
  }, rl = ["disabled"], il = {
1890
1889
  key: 0,
1891
1890
  class: "h-8 min-w-8 px-2 inline-flex items-center justify-center text-secondary-500"
1892
- }, dl = ["aria-label", "onClick"], ul = ["disabled"], cl = /* @__PURE__ */ q({
1891
+ }, dl = ["aria-label", "onClick"], ul = ["disabled"], cl = /* @__PURE__ */ P({
1893
1892
  __name: "Pagination",
1894
1893
  props: {
1895
1894
  modelValue: { default: 1 },
@@ -1902,68 +1901,68 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1902
1901
  itemLabel: { default: "" }
1903
1902
  },
1904
1903
  emits: ["update:modelValue", "change"],
1905
- setup(t, { emit: g }) {
1906
- const e = t, f = g, n = r(() => {
1907
- const b = Math.ceil(e.totalItems / e.pageSize);
1908
- return b > 0 ? b : 1;
1904
+ setup(t, { emit: b }) {
1905
+ const e = t, v = b, n = r(() => {
1906
+ const g = Math.ceil(e.totalItems / e.pageSize);
1907
+ return g > 0 ? g : 1;
1909
1908
  }), u = r(() => {
1910
- const b = Number(e.modelValue || 1);
1911
- return b < 1 ? 1 : b > n.value ? n.value : b;
1912
- }), v = r(() => e.totalItems === 0 ? 0 : (u.value - 1) * e.pageSize + 1), a = r(() => Math.min(u.value * e.pageSize, e.totalItems)), h = r(() => `Mostrando ${v.value} a ${a.value} de ${e.totalItems}`), i = r(() => {
1913
- const b = n.value, T = Math.max(3, e.maxPages), B = u.value;
1914
- if (b <= T)
1915
- return Array.from({ length: b }, (k, I) => I + 1);
1916
- const O = Math.floor(T / 2);
1917
- let j = Math.max(1, B - O), S = Math.min(b, j + T - 1);
1909
+ const g = Number(e.modelValue || 1);
1910
+ return g < 1 ? 1 : g > n.value ? n.value : g;
1911
+ }), c = r(() => e.totalItems === 0 ? 0 : (u.value - 1) * e.pageSize + 1), a = r(() => Math.min(u.value * e.pageSize, e.totalItems)), h = r(() => `Mostrando ${c.value} a ${a.value} de ${e.totalItems}`), i = r(() => {
1912
+ const g = n.value, T = Math.max(3, e.maxPages), D = u.value;
1913
+ if (g <= T)
1914
+ return Array.from({ length: g }, (k, I) => I + 1);
1915
+ const L = Math.floor(T / 2);
1916
+ let j = Math.max(1, D - L), S = Math.min(g, j + T - 1);
1918
1917
  j = Math.max(1, Math.min(j, S - T + 1));
1919
- const D = [];
1920
- j > 1 && (D.push(1), j > 2 && D.push("…"));
1918
+ const B = [];
1919
+ j > 1 && (B.push(1), j > 2 && B.push("…"));
1921
1920
  for (let k = j; k <= S; k++)
1922
- D.push(k);
1923
- return S < b && (S < b - 1 && D.push("…"), D.push(b)), D;
1921
+ B.push(k);
1922
+ return S < g && (S < g - 1 && B.push("…"), B.push(g)), B;
1924
1923
  });
1925
- function p(b) {
1926
- const T = Math.max(1, Math.min(b, n.value));
1927
- T !== u.value && (f("update:modelValue", T), f("change", T));
1924
+ function p(g) {
1925
+ const T = Math.max(1, Math.min(g, n.value));
1926
+ T !== u.value && (v("update:modelValue", T), v("change", T));
1928
1927
  }
1929
- return (b, T) => (s(), l("div", ll, [
1928
+ return (g, T) => (s(), l("div", ll, [
1930
1929
  t.showSummary ? (s(), l("div", ol, [
1931
- V(b.$slots, "summary", {
1932
- start: v.value,
1930
+ V(g.$slots, "summary", {
1931
+ start: c.value,
1933
1932
  end: a.value,
1934
1933
  total: t.totalItems
1935
1934
  }, () => [
1936
- _(x(h.value), 1),
1937
- t.itemLabel ? (s(), l("span", al, x(t.itemLabel), 1)) : y("", !0)
1935
+ q(x(h.value), 1),
1936
+ t.itemLabel ? (s(), l("span", al, x(t.itemLabel), 1)) : m("", !0)
1938
1937
  ], !0)
1939
- ])) : y("", !0),
1938
+ ])) : m("", !0),
1940
1939
  o("nav", nl, [
1941
1940
  o("button", {
1942
1941
  type: "button",
1943
1942
  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",
1944
1943
  disabled: u.value <= 1,
1945
- onClick: T[0] || (T[0] = (B) => p(u.value - 1)),
1944
+ onClick: T[0] || (T[0] = (D) => p(u.value - 1)),
1946
1945
  "aria-label": "Anterior"
1947
1946
  }, x(t.previousText), 9, rl),
1948
- (s(!0), l(P, null, W(i.value, (B, O) => (s(), l(P, {
1949
- key: `page-${O}-${B}`
1947
+ (s(!0), l(E, null, W(i.value, (D, L) => (s(), l(E, {
1948
+ key: `page-${L}-${D}`
1950
1949
  }, [
1951
- B === "…" ? (s(), l("span", il, " … ")) : (s(), l("button", {
1950
+ D === "…" ? (s(), l("span", il, " … ")) : (s(), l("button", {
1952
1951
  key: 1,
1953
1952
  type: "button",
1954
- "aria-label": `Página ${B}`,
1955
- class: c([
1953
+ "aria-label": `Página ${D}`,
1954
+ class: f([
1956
1955
  "h-8 min-w-8 px-3 rounded-full text-sm font-semibold transition-colors",
1957
- B === u.value ? "bg-primary-500 text-white" : "text-secondary-700 hover:bg-secondary-100"
1956
+ D === u.value ? "bg-primary-500 text-white" : "text-secondary-700 hover:bg-secondary-100"
1958
1957
  ]),
1959
- onClick: (j) => p(B)
1960
- }, x(B), 11, dl))
1958
+ onClick: (j) => p(D)
1959
+ }, x(D), 11, dl))
1961
1960
  ], 64))), 128)),
1962
1961
  o("button", {
1963
1962
  type: "button",
1964
1963
  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",
1965
1964
  disabled: u.value >= n.value,
1966
- onClick: T[1] || (T[1] = (B) => p(u.value + 1)),
1965
+ onClick: T[1] || (T[1] = (D) => p(u.value + 1)),
1967
1966
  "aria-label": "Siguiente"
1968
1967
  }, x(t.nextText), 9, ul)
1969
1968
  ])
@@ -1972,7 +1971,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1972
1971
  }), Il = /* @__PURE__ */ K(cl, [["__scopeId", "data-v-87417cc4"]]), fl = ["data-node-id"], vl = { class: "shrink-0 size-12 rounded-full bg-[var(--neutrales/fondo-general-claro,#f7f7f7)] grid place-items-center" }, pl = {
1973
1972
  key: 1,
1974
1973
  class: "flex justify-end gap-1 px-6 pb-6 pt-4"
1975
- }, jl = /* @__PURE__ */ q({
1974
+ }, jl = /* @__PURE__ */ P({
1976
1975
  __name: "Alert",
1977
1976
  props: {
1978
1977
  variant: {},
@@ -1985,9 +1984,9 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1985
1984
  stackOn: {}
1986
1985
  },
1987
1986
  emits: ["close", "accept", "cancel"],
1988
- setup(t, { emit: g }) {
1989
- const e = g, f = t, n = r(() => f.variant ?? "info"), u = r(() => f.multiline ?? !1), v = r(() => f.actions ?? !1), a = r(() => f.nodeId ?? void 0), h = () => e("close"), i = r(() => {
1990
- if (f.title) return f.title;
1987
+ setup(t, { emit: b }) {
1988
+ const e = b, v = t, n = r(() => v.variant ?? "info"), u = r(() => v.multiline ?? !1), c = r(() => v.actions ?? !1), a = r(() => v.nodeId ?? void 0), h = () => e("close"), i = r(() => {
1989
+ if (v.title) return v.title;
1991
1990
  switch (n.value) {
1992
1991
  case "info":
1993
1992
  return "Alerta de información";
@@ -1998,7 +1997,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
1998
1997
  case "error":
1999
1998
  return "Alerta de error";
2000
1999
  }
2001
- }), p = r(() => f.description ?? ""), b = r(() => {
2000
+ }), p = r(() => v.description ?? ""), g = r(() => {
2002
2001
  switch (n.value) {
2003
2002
  case "info":
2004
2003
  return {
@@ -2025,20 +2024,20 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2025
2024
  icon: "text-[#ff4235]"
2026
2025
  };
2027
2026
  }
2028
- }), T = r(() => "bg-[var(--color-primario/700,#269ea4)]"), B = r(() => {
2027
+ }), T = r(() => "bg-[var(--color-primario/700,#269ea4)]"), D = r(() => {
2029
2028
  const S = "flex w-full items-start gap-4 flex-col";
2030
- if (!f.stackOn) return `${S} sm:flex-row sm:items-center`;
2031
- const D = f.stackOn, k = `${D}:flex-row ${D}:items-center`;
2029
+ if (!v.stackOn) return `${S} sm:flex-row sm:items-center`;
2030
+ const B = v.stackOn, k = `${B}:flex-row ${B}:items-center`;
2032
2031
  return `${S} ${k}`;
2033
- }), O = r(() => {
2034
- if (!f.stackOn) return "flex-col sm:flex-row items-start sm:items-center";
2035
- const S = f.stackOn;
2032
+ }), L = r(() => {
2033
+ if (!v.stackOn) return "flex-col sm:flex-row items-start sm:items-center";
2034
+ const S = v.stackOn;
2036
2035
  return `flex-col ${S}:flex-row items-start ${S}:items-center`;
2037
- }), j = r(() => f.stackOn ? `self-start ${f.stackOn}:self-auto` : "self-start sm:self-auto");
2038
- return (S, D) => (s(), l("div", {
2039
- class: c(["relative w-full rounded-xl border", [
2040
- b.value.border,
2041
- b.value.bg
2036
+ }), j = r(() => v.stackOn ? `self-start ${v.stackOn}:self-auto` : "self-start sm:self-auto");
2037
+ return (S, B) => (s(), l("div", {
2038
+ class: f(["relative w-full rounded-xl border", [
2039
+ g.value.border,
2040
+ g.value.bg
2042
2041
  ]]),
2043
2042
  role: "alert",
2044
2043
  "data-node-id": a.value
@@ -2049,7 +2048,7 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2049
2048
  class: "absolute top-3 right-3 text-[color:var(--neutrales/texto-principal,#565656)]/70 hover:opacity-100 opacity-70",
2050
2049
  "aria-label": "Cerrar",
2051
2050
  onClick: h
2052
- }, [...D[2] || (D[2] = [
2051
+ }, [...B[2] || (B[2] = [
2053
2052
  o("svg", {
2054
2053
  xmlns: "http://www.w3.org/2000/svg",
2055
2054
  width: "18",
@@ -2074,12 +2073,12 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2074
2073
  y2: "18"
2075
2074
  })
2076
2075
  ], -1)
2077
- ])])) : y("", !0),
2076
+ ])])) : m("", !0),
2078
2077
  o("div", {
2079
- class: c(["p-6", { "pb-0": v.value }])
2078
+ class: f(["p-6", { "pb-0": c.value }])
2080
2079
  }, [
2081
2080
  o("div", {
2082
- class: c(B.value)
2081
+ class: f(D.value)
2083
2082
  }, [
2084
2083
  o("div", vl, [
2085
2084
  n.value === "info" ? (s(), l("svg", {
@@ -2089,12 +2088,12 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2089
2088
  height: "24",
2090
2089
  viewBox: "0 0 24 24",
2091
2090
  fill: "none",
2092
- class: c(b.value.icon),
2091
+ class: f(g.value.icon),
2093
2092
  stroke: "currentColor",
2094
2093
  "stroke-width": "2",
2095
2094
  "stroke-linecap": "round",
2096
2095
  "stroke-linejoin": "round"
2097
- }, [...D[3] || (D[3] = [
2096
+ }, [...B[3] || (B[3] = [
2098
2097
  o("circle", {
2099
2098
  cx: "12",
2100
2099
  cy: "12",
@@ -2119,12 +2118,12 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2119
2118
  height: "24",
2120
2119
  viewBox: "0 0 24 24",
2121
2120
  fill: "none",
2122
- class: c(b.value.icon),
2121
+ class: f(g.value.icon),
2123
2122
  stroke: "currentColor",
2124
2123
  "stroke-width": "2",
2125
2124
  "stroke-linecap": "round",
2126
2125
  "stroke-linejoin": "round"
2127
- }, [...D[4] || (D[4] = [
2126
+ }, [...B[4] || (B[4] = [
2128
2127
  o("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),
2129
2128
  o("line", {
2130
2129
  x1: "12",
@@ -2145,12 +2144,12 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2145
2144
  height: "24",
2146
2145
  viewBox: "0 0 24 24",
2147
2146
  fill: "none",
2148
- class: c(b.value.icon),
2147
+ class: f(g.value.icon),
2149
2148
  stroke: "currentColor",
2150
2149
  "stroke-width": "2",
2151
2150
  "stroke-linecap": "round",
2152
2151
  "stroke-linejoin": "round"
2153
- }, [...D[5] || (D[5] = [
2152
+ }, [...B[5] || (B[5] = [
2154
2153
  o("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }, null, -1),
2155
2154
  o("polyline", { points: "22 4 12 14.01 9 11.01" }, null, -1)
2156
2155
  ])], 2)) : (s(), l("svg", {
@@ -2160,12 +2159,12 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2160
2159
  height: "24",
2161
2160
  viewBox: "0 0 24 24",
2162
2161
  fill: "none",
2163
- class: c(b.value.icon),
2162
+ class: f(g.value.icon),
2164
2163
  stroke: "currentColor",
2165
2164
  "stroke-width": "2",
2166
2165
  "stroke-linecap": "round",
2167
2166
  "stroke-linejoin": "round"
2168
- }, [...D[6] || (D[6] = [
2167
+ }, [...B[6] || (B[6] = [
2169
2168
  o("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),
2170
2169
  o("line", {
2171
2170
  x1: "12",
@@ -2182,47 +2181,47 @@ const qe = { class: "flex items-center gap-2 sm:gap-3 shrink-0" }, _e = {
2182
2181
  ])], 2))
2183
2182
  ]),
2184
2183
  o("div", {
2185
- class: c(["flex-1 flex gap-4 text-[14px]", [O.value, t.closable ? "pr-6" : "", { "whitespace-nowrap": !u.value, "whitespace-pre-wrap": u.value }]])
2184
+ class: f(["flex-1 flex gap-4 text-[14px]", [L.value, t.closable ? "pr-6" : "", { "whitespace-nowrap": !u.value, "whitespace-pre-wrap": u.value }]])
2186
2185
  }, [
2187
2186
  o("div", {
2188
- class: c(["tracking-[0.1px] text-[color:var(--neutrales/texto-principal,#565656)] font-medium", j.value])
2187
+ class: f(["tracking-[0.1px] text-[color:var(--neutrales/texto-principal,#565656)] font-medium", j.value])
2189
2188
  }, x(i.value), 3),
2190
2189
  o("div", {
2191
- class: c(["flex-1 tracking-[0.25px] text-[color:var(--neutrales/texto-principal,#565656)]", { "overflow-hidden overflow-ellipsis": !u.value }])
2190
+ class: f(["flex-1 tracking-[0.25px] text-[color:var(--neutrales/texto-principal,#565656)]", { "overflow-hidden overflow-ellipsis": !u.value }])
2192
2191
  }, [
2193
2192
  V(S.$slots, "description", {}, () => [
2194
- _(x(p.value), 1)
2193
+ q(x(p.value), 1)
2195
2194
  ])
2196
2195
  ], 2)
2197
2196
  ], 2)
2198
2197
  ], 2)
2199
2198
  ], 2),
2200
- v.value ? (s(), l("div", pl, [
2199
+ c.value ? (s(), l("div", pl, [
2201
2200
  o("button", {
2202
2201
  type: "button",
2203
2202
  class: "px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-[color:var(--neutrales/texto-principal,#565656)]",
2204
- onClick: D[0] || (D[0] = (k) => S.$emit("cancel"))
2203
+ onClick: B[0] || (B[0] = (k) => S.$emit("cancel"))
2205
2204
  }, [
2206
2205
  V(S.$slots, "cancel", {}, () => [
2207
- D[7] || (D[7] = _("Cancelar", -1))
2206
+ B[7] || (B[7] = q("Cancelar", -1))
2208
2207
  ])
2209
2208
  ]),
2210
2209
  o("button", {
2211
2210
  type: "button",
2212
- class: c(["px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-white", T.value]),
2213
- onClick: D[1] || (D[1] = (k) => S.$emit("accept"))
2211
+ class: f(["px-4 py-1.5 rounded-[18px] text-[14px] tracking-[1.25px] font-bold text-white", T.value]),
2212
+ onClick: B[1] || (B[1] = (k) => S.$emit("accept"))
2214
2213
  }, [
2215
2214
  V(S.$slots, "accept", {}, () => [
2216
- D[8] || (D[8] = _("Aceptar", -1))
2215
+ B[8] || (B[8] = q("Aceptar", -1))
2217
2216
  ])
2218
2217
  ], 2)
2219
- ])) : y("", !0)
2218
+ ])) : m("", !0)
2220
2219
  ], 10, fl));
2221
2220
  }
2222
2221
  });
2223
2222
  export {
2224
2223
  jl as Alert,
2225
- yl as AppBar,
2224
+ ml as AppBar,
2226
2225
  hl as Button,
2227
2226
  xl as Calendar,
2228
2227
  wl as Card,