siesa-ui-kit 1.0.1 → 1.0.3

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.
Files changed (62) hide show
  1. package/bin/install.cjs +502 -0
  2. package/bin/prepare-publish.cjs +28 -0
  3. package/bin/restore-folders.cjs +28 -0
  4. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts +101 -0
  5. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.d.ts.map +1 -0
  6. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts +95 -0
  7. package/dist/components/DropdownItemCollapsible/DropdownItemCollapsible.types.d.ts.map +1 -0
  8. package/dist/components/DropdownItemCollapsible/icons.d.ts +19 -0
  9. package/dist/components/DropdownItemCollapsible/icons.d.ts.map +1 -0
  10. package/dist/components/DropdownItemCollapsible/index.d.ts +9 -0
  11. package/dist/components/DropdownItemCollapsible/index.d.ts.map +1 -0
  12. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts +75 -0
  13. package/dist/components/DropdownItemHeading/DropdownItemHeading.d.ts.map +1 -0
  14. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts +85 -0
  15. package/dist/components/DropdownItemHeading/DropdownItemHeading.types.d.ts.map +1 -0
  16. package/dist/components/DropdownItemHeading/icons.d.ts +48 -0
  17. package/dist/components/DropdownItemHeading/icons.d.ts.map +1 -0
  18. package/dist/components/DropdownItemHeading/index.d.ts +4 -0
  19. package/dist/components/DropdownItemHeading/index.d.ts.map +1 -0
  20. package/dist/components/LoginView/LoginView.d.ts +36 -0
  21. package/dist/components/LoginView/LoginView.d.ts.map +1 -0
  22. package/dist/components/LoginView/LoginView.types.d.ts +46 -0
  23. package/dist/components/LoginView/LoginView.types.d.ts.map +1 -0
  24. package/dist/components/LoginView/icons.d.ts +18 -0
  25. package/dist/components/LoginView/icons.d.ts.map +1 -0
  26. package/dist/components/LoginView/index.d.ts +4 -0
  27. package/dist/components/LoginView/index.d.ts.map +1 -0
  28. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts +90 -0
  29. package/dist/components/NavigationRailItem/NavigationRailItem.d.ts.map +1 -0
  30. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts +155 -0
  31. package/dist/components/NavigationRailItem/NavigationRailItem.types.d.ts.map +1 -0
  32. package/dist/components/NavigationRailItem/index.d.ts +3 -0
  33. package/dist/components/NavigationRailItem/index.d.ts.map +1 -0
  34. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts +124 -0
  35. package/dist/components/NavigationRailPanel/NavigationRailPanel.d.ts.map +1 -0
  36. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts +154 -0
  37. package/dist/components/NavigationRailPanel/NavigationRailPanel.types.d.ts.map +1 -0
  38. package/dist/components/NavigationRailPanel/index.d.ts +3 -0
  39. package/dist/components/NavigationRailPanel/index.d.ts.map +1 -0
  40. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts +99 -0
  41. package/dist/components/NavigationRailTypes/NavigationRailTypes.d.ts.map +1 -0
  42. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts +111 -0
  43. package/dist/components/NavigationRailTypes/NavigationRailTypes.types.d.ts.map +1 -0
  44. package/dist/components/NavigationRailTypes/icons.d.ts +58 -0
  45. package/dist/components/NavigationRailTypes/icons.d.ts.map +1 -0
  46. package/dist/components/NavigationRailTypes/index.d.ts +4 -0
  47. package/dist/components/NavigationRailTypes/index.d.ts.map +1 -0
  48. package/dist/components/SignUpView/SignUpView.d.ts +38 -0
  49. package/dist/components/SignUpView/SignUpView.d.ts.map +1 -0
  50. package/dist/components/SignUpView/SignUpView.types.d.ts +51 -0
  51. package/dist/components/SignUpView/SignUpView.types.d.ts.map +1 -0
  52. package/dist/components/SignUpView/icons.d.ts +18 -0
  53. package/dist/components/SignUpView/icons.d.ts.map +1 -0
  54. package/dist/components/SignUpView/index.d.ts +4 -0
  55. package/dist/components/SignUpView/index.d.ts.map +1 -0
  56. package/dist/index.d.ts +30 -0
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/siesa-ui-kit.cjs +906 -66
  59. package/dist/siesa-ui-kit.cjs.map +1 -1
  60. package/dist/siesa-ui-kit.mjs +3547 -411
  61. package/dist/siesa-ui-kit.mjs.map +1 -1
  62. package/package.json +14 -3
@@ -1,36 +1,36 @@
1
- import { jsxs as b, Fragment as S, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as v, cloneElement as M, useRef as E, useEffect as D, useState as R, createContext as P, useContext as W } from "react";
3
- const F = ({
4
- type: n = "default",
5
- size: o = "base",
6
- iconOnly: t = !1,
1
+ import { jsxs as l, Fragment as S, jsx as e } from "react/jsx-runtime";
2
+ import { forwardRef as A, cloneElement as ae, useRef as K, useEffect as W, useState as V, useMemo as ge, createContext as xe, useContext as ue } from "react";
3
+ const Y = ({
4
+ type: t = "default",
5
+ size: a = "base",
6
+ iconOnly: o = !1,
7
7
  leftIcon: r,
8
- rightIcon: a,
9
- children: i,
10
- disabled: s = !1,
11
- className: m = "",
12
- onClick: l,
13
- htmlType: p = "button",
14
- fullWidth: d = !1,
15
- ariaLabel: c,
16
- badge: g = !1,
17
- badgeCount: x,
18
- badgeColor: h = "red",
8
+ rightIcon: n,
9
+ children: s,
10
+ disabled: c = !1,
11
+ className: d = "",
12
+ onClick: b,
13
+ htmlType: x = "button",
14
+ fullWidth: i = !1,
15
+ ariaLabel: p,
16
+ badge: m = !1,
17
+ badgeCount: u,
18
+ badgeColor: g = "red",
19
19
  ...y
20
20
  }) => {
21
21
  const f = {
22
- xs: t ? "h-6 w-6 p-1" : "h-6 py-1 px-2 gap-2",
23
- sm: t ? "h-7 w-7 p-1.5" : "h-7 py-1 px-2 gap-2",
24
- base: t ? "h-8 w-8 p-2" : "h-8 py-1.5 px-2.5 gap-2",
25
- l: t ? "h-9 w-9 p-2.5" : "h-9 py-2 px-3 gap-3",
26
- xl: t ? "h-10 w-10 p-3" : "h-10 py-2 px-4 gap-3"
27
- }, u = {
22
+ xs: o ? "h-6 w-6 p-1" : "h-6 py-1 px-2 gap-2",
23
+ sm: o ? "h-7 w-7 p-1.5" : "h-7 py-1 px-2 gap-2",
24
+ base: o ? "h-8 w-8 p-2" : "h-8 py-1.5 px-2.5 gap-2",
25
+ l: o ? "h-9 w-9 p-2.5" : "h-9 py-2 px-3 gap-3",
26
+ xl: o ? "h-10 w-10 p-3" : "h-10 py-2 px-4 gap-3"
27
+ }, k = {
28
28
  xs: "w-4 h-4",
29
29
  sm: "w-4 h-4",
30
30
  base: "w-4 h-4",
31
31
  l: "w-4 h-4",
32
32
  xl: "w-4 h-4"
33
- }, k = {
33
+ }, w = {
34
34
  xs: "text-xs",
35
35
  // Label Tiny - 12px
36
36
  sm: "text-sm",
@@ -41,7 +41,7 @@ const F = ({
41
41
  // Label Small - 14px (corregido según Figma)
42
42
  xl: "text-sm"
43
43
  // Label Small - 14px (corregido según Figma)
44
- }, w = {
44
+ }, h = {
45
45
  default: `
46
46
  bg-primary-custom-600
47
47
  text-primary-inverse-content
@@ -83,7 +83,7 @@ const F = ({
83
83
  dark:text-dark-content-custom
84
84
  dark:hover:bg-hover-overlay-dark
85
85
  `
86
- }, N = `
86
+ }, v = `
87
87
  inline-flex
88
88
  items-center
89
89
  justify-center
@@ -100,17 +100,17 @@ const F = ({
100
100
  disabled:opacity-50
101
101
  disabled:cursor-not-allowed
102
102
  disabled:pointer-events-none
103
- `, $ = d ? "w-full" : "", _ = [
104
- N,
105
- f[o],
106
- w[n],
107
- $,
108
- m
109
- ].join(" ").replace(/\s+/g, " ").trim(), B = (j) => j ? /* @__PURE__ */ e("span", { className: `inline-flex items-center justify-center ${u[o]}`, children: j }) : null, L = () => t ? B(r) : /* @__PURE__ */ b(S, { children: [
103
+ `, C = i ? "w-full" : "", N = [
104
+ v,
105
+ f[a],
106
+ h[t],
107
+ C,
108
+ d
109
+ ].join(" ").replace(/\s+/g, " ").trim(), B = (I) => I ? /* @__PURE__ */ e("span", { className: `inline-flex items-center justify-center ${k[a]}`, children: I }) : null, R = () => o ? B(r) : /* @__PURE__ */ l(S, { children: [
110
110
  r && B(r),
111
- i && /* @__PURE__ */ e("span", { className: k[o], children: i }),
112
- a && B(a)
113
- ] }), z = {
111
+ s && /* @__PURE__ */ e("span", { className: w[a], children: s }),
112
+ n && B(n)
113
+ ] }), L = {
114
114
  zinc: { bg: "bg-zinc-600", text: "text-white" },
115
115
  red: { bg: "bg-red-700", text: "text-white" },
116
116
  orange: { bg: "bg-orange-700", text: "text-white" },
@@ -132,7 +132,7 @@ const F = ({
132
132
  primary: { bg: "bg-primary-custom-600", text: "text-white" },
133
133
  secondary: { bg: "bg-zinc-600", text: "text-white" },
134
134
  tertiary: { bg: "bg-zinc-600", text: "text-white" }
135
- }, T = z[h] || z.red, I = () => !g && x === void 0 ? null : x !== void 0 ? /* @__PURE__ */ e(
135
+ }, D = L[g] || L.red, E = () => !m && u === void 0 ? null : u !== void 0 ? /* @__PURE__ */ e(
136
136
  "span",
137
137
  {
138
138
  className: `
@@ -149,12 +149,12 @@ const F = ({
149
149
  text-[10px]
150
150
  font-bold
151
151
  leading-none
152
- ${T.bg}
153
- ${T.text}
152
+ ${D.bg}
153
+ ${D.text}
154
154
  pointer-events-none
155
155
  `.trim().replace(/\s+/g, " "),
156
- "aria-label": `${x} notificaciones`,
157
- children: x > 99 ? "99+" : x
156
+ "aria-label": `${u} notificaciones`,
157
+ children: u > 99 ? "99+" : u
158
158
  }
159
159
  ) : /* @__PURE__ */ e(
160
160
  "span",
@@ -166,43 +166,43 @@ const F = ({
166
166
  w-2
167
167
  h-2
168
168
  rounded-full
169
- ${T.bg}
169
+ ${D.bg}
170
170
  pointer-events-none
171
171
  `.trim().replace(/\s+/g, " "),
172
172
  "aria-label": "Notificación"
173
173
  }
174
174
  );
175
- return /* @__PURE__ */ b(
175
+ return /* @__PURE__ */ l(
176
176
  "button",
177
177
  {
178
- type: p,
179
- className: `${_} ${g || x !== void 0 ? "relative" : ""}`,
180
- disabled: s,
181
- onClick: l,
182
- "aria-label": c,
178
+ type: x,
179
+ className: `${N} ${m || u !== void 0 ? "relative" : ""}`,
180
+ disabled: c,
181
+ onClick: b,
182
+ "aria-label": p,
183
183
  ...y,
184
184
  children: [
185
- L(),
186
- I()
185
+ R(),
186
+ E()
187
187
  ]
188
188
  }
189
189
  );
190
- }, H = v(
190
+ }, fe = A(
191
191
  ({
192
- label: n,
193
- labelSecondary: o,
194
- helperText: t,
192
+ label: t,
193
+ labelSecondary: a,
194
+ helperText: o,
195
195
  error: r = !1,
196
- errorMessage: a,
197
- leftIcon: i,
198
- rightIcon: s,
199
- fullWidth: m = !1,
200
- className: l = "",
201
- disabled: p = !1,
202
- id: d,
203
- ...c
204
- }, g) => {
205
- const x = d || `input-${Math.random().toString(36).substr(2, 9)}`, h = `
196
+ errorMessage: n,
197
+ leftIcon: s,
198
+ rightIcon: c,
199
+ fullWidth: d = !1,
200
+ className: b = "",
201
+ disabled: x = !1,
202
+ id: i,
203
+ ...p
204
+ }, m) => {
205
+ const u = i || `input-${Math.random().toString(36).substr(2, 9)}`, g = `
206
206
  w-full
207
207
  px-3
208
208
  py-1.5
@@ -222,7 +222,7 @@ const F = ({
222
222
  dark:border-dark-border-primary
223
223
  dark:text-dark-content-primary
224
224
  dark:placeholder:text-dark-content-tertiary
225
- `, y = p ? `
225
+ `, y = x ? `
226
226
  opacity-50
227
227
  cursor-not-allowed
228
228
  bg-bg-secondary
@@ -244,46 +244,46 @@ const F = ({
244
244
  dark:!border-error-border
245
245
  dark:focus:!ring-error-border/30
246
246
  dark:focus:!ring-offset-dark-bg-primary
247
- ` : "", u = m ? "w-full" : "w-[265px]", k = (w) => {
248
- if (!w) return null;
249
- const N = w.props.className || "";
250
- return M(w, {
251
- className: `w-4 h-4 text-content-tertiary dark:text-dark-content-tertiary ${N}`
247
+ ` : "", k = d ? "w-full" : "w-[265px]", w = (h) => {
248
+ if (!h) return null;
249
+ const v = h.props.className || "";
250
+ return ae(h, {
251
+ className: `w-4 h-4 text-content-tertiary dark:text-dark-content-tertiary ${v}`
252
252
  });
253
253
  };
254
- return /* @__PURE__ */ b("div", { className: `flex flex-col gap-2 ${u} ${l}`, children: [
255
- n && /* @__PURE__ */ b(
254
+ return /* @__PURE__ */ l("div", { className: `flex flex-col gap-2 ${k} ${b}`, children: [
255
+ t && /* @__PURE__ */ l(
256
256
  "label",
257
257
  {
258
- htmlFor: x,
258
+ htmlFor: u,
259
259
  className: "flex items-center w-full font-bold text-sm leading-5 text-content-primary dark:text-dark-content-primary",
260
260
  children: [
261
- /* @__PURE__ */ e("span", { className: "flex-1", children: n }),
262
- o && /* @__PURE__ */ e("span", { className: "text-xs leading-4 text-primary-custom-600 dark:text-primary-custom-600", children: o })
261
+ /* @__PURE__ */ e("span", { className: "flex-1", children: t }),
262
+ a && /* @__PURE__ */ e("span", { className: "text-xs leading-4 text-primary-custom-600 dark:text-primary-custom-600", children: a })
263
263
  ]
264
264
  }
265
265
  ),
266
- /* @__PURE__ */ b("div", { className: "relative flex items-center", children: [
267
- i && /* @__PURE__ */ e("div", { className: "absolute left-3 pointer-events-none", children: k(i) }),
266
+ /* @__PURE__ */ l("div", { className: "relative flex items-center", children: [
267
+ s && /* @__PURE__ */ e("div", { className: "absolute left-3 pointer-events-none", children: w(s) }),
268
268
  /* @__PURE__ */ e(
269
269
  "input",
270
270
  {
271
- ref: g,
272
- id: x,
273
- disabled: p,
271
+ ref: m,
272
+ id: u,
273
+ disabled: x,
274
274
  className: `
275
- ${h}
275
+ ${g}
276
276
  ${y}
277
277
  ${f}
278
- ${i ? "pl-9" : ""}
279
- ${s ? "pr-9" : ""}
278
+ ${s ? "pl-9" : ""}
279
+ ${c ? "pr-9" : ""}
280
280
  `.trim().replace(/\s+/g, " "),
281
- ...c
281
+ ...p
282
282
  }
283
283
  ),
284
- s && /* @__PURE__ */ e("div", { className: "absolute right-3 pointer-events-none", children: k(s) })
284
+ c && /* @__PURE__ */ e("div", { className: "absolute right-3 pointer-events-none", children: w(c) })
285
285
  ] }),
286
- (t || a) && /* @__PURE__ */ e(
286
+ (o || n) && /* @__PURE__ */ e(
287
287
  "p",
288
288
  {
289
289
  className: `
@@ -291,29 +291,29 @@ const F = ({
291
291
  leading-5
292
292
  ${r ? "text-error-content dark:text-error-content" : "text-content-tertiary dark:text-dark-content-tertiary"}
293
293
  `.trim().replace(/\s+/g, " "),
294
- children: r && a ? a : t
294
+ children: r && n ? n : o
295
295
  }
296
296
  )
297
297
  ] });
298
298
  }
299
299
  );
300
- H.displayName = "Input";
301
- const V = v(
300
+ fe.displayName = "Input";
301
+ const he = A(
302
302
  ({
303
- label: n,
304
- description: o,
305
- helperText: t,
303
+ label: t,
304
+ description: a,
305
+ helperText: o,
306
306
  error: r = !1,
307
- errorMessage: a,
308
- fullWidth: i = !1,
309
- resize: s = "vertical",
310
- className: m = "",
311
- disabled: l = !1,
312
- id: p,
313
- rows: d = 4,
314
- ...c
315
- }, g) => {
316
- const x = p || `textarea-${Math.random().toString(36).substr(2, 9)}`, h = `
307
+ errorMessage: n,
308
+ fullWidth: s = !1,
309
+ resize: c = "vertical",
310
+ className: d = "",
311
+ disabled: b = !1,
312
+ id: x,
313
+ rows: i = 4,
314
+ ...p
315
+ }, m) => {
316
+ const u = x || `textarea-${Math.random().toString(36).substr(2, 9)}`, g = `
317
317
  w-full
318
318
  px-3
319
319
  pr-1.5
@@ -333,7 +333,7 @@ const V = v(
333
333
  dark:border-dark-border-primary
334
334
  dark:text-dark-content-primary
335
335
  dark:placeholder:text-dark-content-tertiary
336
- `, y = l ? `
336
+ `, y = b ? `
337
337
  opacity-50
338
338
  cursor-not-allowed
339
339
  bg-bg-secondary
@@ -352,36 +352,36 @@ const V = v(
352
352
  dark:!border-error-border
353
353
  dark:focus:!border-2
354
354
  dark:focus:!border-error-border
355
- ` : "", u = s === "none" ? "resize-none" : s === "vertical" ? "resize-y" : s === "horizontal" ? "resize-x" : "resize";
356
- return /* @__PURE__ */ b("div", { className: `flex flex-col gap-2 ${i ? "w-full" : "w-[312px]"} ${m}`, children: [
357
- (n || o) && /* @__PURE__ */ b("div", { className: "flex flex-col gap-1 w-full", children: [
358
- n && /* @__PURE__ */ e(
355
+ ` : "", k = c === "none" ? "resize-none" : c === "vertical" ? "resize-y" : c === "horizontal" ? "resize-x" : "resize";
356
+ return /* @__PURE__ */ l("div", { className: `flex flex-col gap-2 ${s ? "w-full" : "w-[312px]"} ${d}`, children: [
357
+ (t || a) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 w-full", children: [
358
+ t && /* @__PURE__ */ e(
359
359
  "label",
360
360
  {
361
- htmlFor: x,
361
+ htmlFor: u,
362
362
  className: "font-bold text-sm leading-5 text-content-primary dark:text-dark-content-primary",
363
- children: n
363
+ children: t
364
364
  }
365
365
  ),
366
- o && /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-dark-content-secondary", children: o })
366
+ a && /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-dark-content-secondary", children: a })
367
367
  ] }),
368
368
  /* @__PURE__ */ e(
369
369
  "textarea",
370
370
  {
371
- ref: g,
372
- id: x,
373
- disabled: l,
374
- rows: d,
371
+ ref: m,
372
+ id: u,
373
+ disabled: b,
374
+ rows: i,
375
375
  className: `
376
- ${h}
376
+ ${g}
377
377
  ${y}
378
378
  ${f}
379
- ${u}
379
+ ${k}
380
380
  `.trim().replace(/\s+/g, " "),
381
- ...c
381
+ ...p
382
382
  }
383
383
  ),
384
- (t || a) && /* @__PURE__ */ e(
384
+ (o || n) && /* @__PURE__ */ e(
385
385
  "p",
386
386
  {
387
387
  className: `
@@ -390,29 +390,29 @@ const V = v(
390
390
  text-content-tertiary
391
391
  dark:text-dark-content-tertiary
392
392
  `.trim().replace(/\s+/g, " "),
393
- children: r && a ? a : t
393
+ children: r && n ? n : o
394
394
  }
395
395
  )
396
396
  ] });
397
397
  }
398
398
  );
399
- V.displayName = "Textarea";
400
- const Q = v(
399
+ he.displayName = "Textarea";
400
+ const ke = A(
401
401
  ({
402
- label: n,
403
- description: o,
404
- checked: t = !1,
402
+ label: t,
403
+ description: a,
404
+ checked: o = !1,
405
405
  indeterminate: r = !1,
406
- disabled: a = !1,
407
- className: i = "",
408
- id: s,
409
- onChange: m,
410
- ...l
411
- }, p) => {
412
- const d = E(null), c = p || d, g = s || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
413
- D(() => {
414
- c.current && (c.current.indeterminate = r);
415
- }, [r, c]);
406
+ disabled: n = !1,
407
+ className: s = "",
408
+ id: c,
409
+ onChange: d,
410
+ ...b
411
+ }, x) => {
412
+ const i = K(null), p = x || i, m = c || `checkbox-${Math.random().toString(36).substr(2, 9)}`;
413
+ W(() => {
414
+ p.current && (p.current.indeterminate = r);
415
+ }, [r, p]);
416
416
  const f = [
417
417
  `
418
418
  w-4
@@ -429,10 +429,10 @@ const Q = v(
429
429
  dark:bg-dark-bg-primary
430
430
  dark:border-dark-border-primary
431
431
  `,
432
- a ? `
432
+ n ? `
433
433
  opacity-50
434
434
  cursor-not-allowed
435
- ` : t || r ? `
435
+ ` : o || r ? `
436
436
  peer-hover:border-[#50a5f7]
437
437
  peer-focus:ring-2
438
438
  peer-focus:ring-primary-custom-400/20
@@ -449,32 +449,32 @@ const Q = v(
449
449
  dark:peer-focus:border-dark-border-custom
450
450
  dark:peer-focus:ring-dark-border-custom/20
451
451
  `,
452
- t || r ? `
452
+ o || r ? `
453
453
  !bg-primary-custom-600
454
454
  !border-primary-custom-500
455
455
  shadow-button-inset
456
456
  dark:!bg-dark-bg-inverse
457
457
  dark:!border-dark-bg-inverse
458
458
  ` : "",
459
- a ? "cursor-not-allowed" : "cursor-pointer"
459
+ n ? "cursor-not-allowed" : "cursor-pointer"
460
460
  ].join(" ").replace(/\s+/g, " ").trim();
461
- return /* @__PURE__ */ b("div", { className: `inline-flex gap-3 items-start ${i}`, children: [
462
- /* @__PURE__ */ b("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
461
+ return /* @__PURE__ */ l("div", { className: `inline-flex gap-3 items-start ${s}`, children: [
462
+ /* @__PURE__ */ l("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
463
463
  /* @__PURE__ */ e(
464
464
  "input",
465
465
  {
466
- ref: c,
466
+ ref: p,
467
467
  type: "checkbox",
468
- id: g,
469
- checked: t,
470
- disabled: a,
471
- onChange: m,
468
+ id: m,
469
+ checked: o,
470
+ disabled: n,
471
+ onChange: d,
472
472
  className: "peer sr-only",
473
- ...l
473
+ ...b
474
474
  }
475
475
  ),
476
- /* @__PURE__ */ b("label", { htmlFor: g, className: f, children: [
477
- t && !r && /* @__PURE__ */ e(
476
+ /* @__PURE__ */ l("label", { htmlFor: m, className: f, children: [
477
+ o && !r && /* @__PURE__ */ e(
478
478
  "svg",
479
479
  {
480
480
  className: "w-3 h-3 text-primary-inverse-content pointer-events-none",
@@ -513,35 +513,35 @@ const Q = v(
513
513
  )
514
514
  ] })
515
515
  ] }),
516
- (n || o) && /* @__PURE__ */ b(
516
+ (t || a) && /* @__PURE__ */ l(
517
517
  "label",
518
518
  {
519
- htmlFor: g,
520
- className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${a ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
519
+ htmlFor: m,
520
+ className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${n ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
521
521
  children: [
522
- n && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: n }),
523
- o && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: o })
522
+ t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
523
+ a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
524
524
  ]
525
525
  }
526
526
  )
527
527
  ] });
528
528
  }
529
529
  );
530
- Q.displayName = "Checkbox";
531
- const q = v(
530
+ ke.displayName = "Checkbox";
531
+ const ve = A(
532
532
  ({
533
- label: n,
534
- description: o,
535
- checked: t = !1,
533
+ label: t,
534
+ description: a,
535
+ checked: o = !1,
536
536
  disabled: r = !1,
537
- className: a = "",
538
- id: i,
539
- onChange: s,
540
- value: m,
541
- name: l,
542
- ...p
543
- }, d) => {
544
- const c = i || `radio-${Math.random().toString(36).substr(2, 9)}`, g = `
537
+ className: n = "",
538
+ id: s,
539
+ onChange: c,
540
+ value: d,
541
+ name: b,
542
+ ...x
543
+ }, i) => {
544
+ const p = s || `radio-${Math.random().toString(36).substr(2, 9)}`, m = `
545
545
  w-4
546
546
  h-4
547
547
  rounded-full
@@ -555,7 +555,7 @@ const q = v(
555
555
  justify-center
556
556
  dark:bg-dark-bg-primary
557
557
  dark:border-dark-border-primary
558
- `, x = r ? `
558
+ `, u = r ? `
559
559
  opacity-50
560
560
  cursor-not-allowed
561
561
  ` : `
@@ -566,73 +566,73 @@ const q = v(
566
566
  dark:peer-hover:border-dark-border-custom
567
567
  dark:peer-focus:ring-dark-border-custom
568
568
  dark:peer-focus:border-dark-border-custom
569
- `, h = t ? `
569
+ `, g = o ? `
570
570
  !bg-primary-custom-600
571
571
  !border-primary-inverse-border
572
572
  shadow-[0px_2px_0px_0px_inset_rgba(255,255,255,0.15)]
573
573
  dark:!bg-dark-bg-inverse
574
574
  dark:!border-dark-bg-inverse
575
575
  ` : "";
576
- return /* @__PURE__ */ b("div", { className: `flex gap-3 items-start ${a}`, children: [
577
- /* @__PURE__ */ b("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
576
+ return /* @__PURE__ */ l("div", { className: `flex gap-3 items-start ${n}`, children: [
577
+ /* @__PURE__ */ l("div", { className: "flex items-center justify-center h-5 w-4 shrink-0", children: [
578
578
  /* @__PURE__ */ e(
579
579
  "input",
580
580
  {
581
- ref: d,
581
+ ref: i,
582
582
  type: "radio",
583
- id: c,
584
- checked: t,
583
+ id: p,
584
+ checked: o,
585
585
  disabled: r,
586
- onChange: s,
587
- value: m,
588
- name: l,
586
+ onChange: c,
587
+ value: d,
588
+ name: b,
589
589
  className: "peer sr-only",
590
- ...p
590
+ ...x
591
591
  }
592
592
  ),
593
593
  /* @__PURE__ */ e(
594
594
  "label",
595
595
  {
596
- htmlFor: c,
596
+ htmlFor: p,
597
597
  className: `
598
+ ${m}
599
+ ${u}
598
600
  ${g}
599
- ${x}
600
- ${h}
601
601
  ${r ? "cursor-not-allowed" : "cursor-pointer"}
602
602
  `.trim().replace(/\s+/g, " "),
603
- children: t && /* @__PURE__ */ e("div", { className: "w-1.5 h-1.5 bg-white rounded-full dark:bg-dark-content-inverse" })
603
+ children: o && /* @__PURE__ */ e("div", { className: "w-1.5 h-1.5 bg-white rounded-full dark:bg-dark-content-inverse" })
604
604
  }
605
605
  )
606
606
  ] }),
607
- (n || o) && /* @__PURE__ */ b(
607
+ (t || a) && /* @__PURE__ */ l(
608
608
  "label",
609
609
  {
610
- htmlFor: c,
610
+ htmlFor: p,
611
611
  className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${r ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
612
612
  children: [
613
- n && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: n }),
614
- o && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: o })
613
+ t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
614
+ a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
615
615
  ]
616
616
  }
617
617
  )
618
618
  ] });
619
619
  }
620
620
  );
621
- q.displayName = "Radio";
622
- const G = v(
621
+ ve.displayName = "Radio";
622
+ const ye = A(
623
623
  ({
624
- label: n,
625
- description: o,
626
- labelPosition: t = "leading",
624
+ label: t,
625
+ description: a,
626
+ labelPosition: o = "leading",
627
627
  checked: r = !1,
628
- disabled: a = !1,
629
- className: i = "",
630
- id: s,
631
- onChange: m,
632
- ariaLabel: l,
633
- ...p
634
- }, d) => {
635
- const c = s || `switch-${Math.random().toString(36).substr(2, 9)}`, g = `
628
+ disabled: n = !1,
629
+ className: s = "",
630
+ id: c,
631
+ onChange: d,
632
+ ariaLabel: b,
633
+ ...x
634
+ }, i) => {
635
+ const p = c || `switch-${Math.random().toString(36).substr(2, 9)}`, m = `
636
636
  w-8
637
637
  h-5
638
638
  rounded-xl
@@ -641,7 +641,7 @@ const G = v(
641
641
  relative
642
642
  transition-all
643
643
  duration-200
644
- `, x = () => a ? r ? `
644
+ `, u = () => n ? r ? `
645
645
  bg-primary-custom-600
646
646
  border-primary-inverse-border
647
647
  opacity-50
@@ -675,8 +675,8 @@ const G = v(
675
675
  dark:border-dark-border-primary
676
676
  dark:peer-hover:border-[#b6b6b9]
677
677
  dark:peer-focus:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
678
- `, h = () => {
679
- const w = `
678
+ `, g = () => {
679
+ const h = `
680
680
  absolute
681
681
  w-4
682
682
  h-4
@@ -687,8 +687,8 @@ const G = v(
687
687
  -translate-y-1/2
688
688
  transition-all
689
689
  duration-200
690
- `, N = r ? "left-[13px]" : "left-px";
691
- return a ? `${w} ${N} ${r ? "border-primary-inverse-border dark:border-primary-inverse-border" : "border-border-primary dark:border-dark-border-primary"}` : `${w} ${N} ${r ? `
690
+ `, v = r ? "left-[13px]" : "left-px";
691
+ return n ? `${h} ${v} ${r ? "border-primary-inverse-border dark:border-primary-inverse-border" : "border-border-primary dark:border-dark-border-primary"}` : `${h} ${v} ${r ? `
692
692
  border-primary-inverse-border
693
693
  peer-hover:border-[#307cc5]
694
694
  dark:border-primary-inverse-border
@@ -700,69 +700,69 @@ const G = v(
700
700
  dark:peer-hover:border-[#b6b6b9]
701
701
  `}`;
702
702
  }, y = [
703
- g,
704
- x()
705
- ].join(" ").replace(/\s+/g, " ").trim(), f = h().replace(/\s+/g, " ").trim(), u = n || o ? /* @__PURE__ */ b(
703
+ m,
704
+ u()
705
+ ].join(" ").replace(/\s+/g, " ").trim(), f = g().replace(/\s+/g, " ").trim(), k = t || a ? /* @__PURE__ */ l(
706
706
  "label",
707
707
  {
708
- htmlFor: c,
709
- className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${a ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
708
+ htmlFor: p,
709
+ className: `flex-1 flex flex-col gap-1 text-sm leading-5 ${n ? "cursor-not-allowed opacity-50" : "cursor-pointer"}`,
710
710
  children: [
711
- n && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: n }),
712
- o && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: o })
711
+ t && /* @__PURE__ */ e("span", { className: "font-bold text-content-primary dark:text-dark-content-primary", children: t }),
712
+ a && /* @__PURE__ */ e("span", { className: "font-normal text-content-secondary dark:text-content-secondary", children: a })
713
713
  ]
714
714
  }
715
- ) : null, k = /* @__PURE__ */ b("div", { className: "flex items-center justify-center shrink-0", children: [
715
+ ) : null, w = /* @__PURE__ */ l("div", { className: "flex items-center justify-center shrink-0", children: [
716
716
  /* @__PURE__ */ e(
717
717
  "input",
718
718
  {
719
- ref: d,
719
+ ref: i,
720
720
  type: "checkbox",
721
- id: c,
721
+ id: p,
722
722
  checked: r,
723
- disabled: a,
724
- onChange: m,
723
+ disabled: n,
724
+ onChange: d,
725
725
  className: "peer sr-only",
726
- "aria-label": l || n,
727
- ...p
726
+ "aria-label": b || t,
727
+ ...x
728
728
  }
729
729
  ),
730
730
  /* @__PURE__ */ e(
731
731
  "label",
732
732
  {
733
- htmlFor: c,
733
+ htmlFor: p,
734
734
  className: y,
735
735
  "aria-hidden": "true",
736
736
  children: /* @__PURE__ */ e("div", { className: f })
737
737
  }
738
738
  )
739
739
  ] });
740
- return /* @__PURE__ */ e("div", { className: `flex gap-2 items-center w-[344px] ${i}`, children: t === "leading" ? /* @__PURE__ */ b(S, { children: [
741
- u,
742
- k
743
- ] }) : /* @__PURE__ */ b(S, { children: [
740
+ return /* @__PURE__ */ e("div", { className: `flex gap-2 items-center w-[344px] ${s}`, children: o === "leading" ? /* @__PURE__ */ l(S, { children: [
744
741
  k,
745
- u
742
+ w
743
+ ] }) : /* @__PURE__ */ l(S, { children: [
744
+ w,
745
+ k
746
746
  ] }) });
747
747
  }
748
748
  );
749
- G.displayName = "Switch";
750
- const J = v(
749
+ ye.displayName = "Switch";
750
+ const we = A(
751
751
  ({
752
- size: n = "10",
753
- type: o = "circular",
754
- src: t,
752
+ size: t = "10",
753
+ type: a = "circular",
754
+ src: o,
755
755
  alt: r = "",
756
- initials: a,
757
- className: i = "",
758
- ...s
759
- }, m) => {
760
- const l = {
756
+ initials: n,
757
+ className: s = "",
758
+ ...c
759
+ }, d) => {
760
+ const b = {
761
761
  4: "w-5 h-5",
762
762
  6: "w-6 h-6",
763
763
  8: "w-8 h-8",
764
764
  10: "w-10 h-10"
765
- }, p = {
765
+ }, x = {
766
766
  4: "text-xs",
767
767
  // 12px - Paragraph Tiny
768
768
  6: "text-xs",
@@ -771,71 +771,71 @@ const J = v(
771
771
  // 14px - Paragraph Small
772
772
  10: "text-base"
773
773
  // 16px - Paragraph Base
774
- }, d = {
774
+ }, i = {
775
775
  circular: "rounded-full",
776
776
  rounded: "rounded-md"
777
- }, c = `
777
+ }, p = `
778
778
  relative
779
779
  inline-flex
780
780
  items-center
781
781
  justify-center
782
782
  overflow-hidden
783
- ${l[n]}
784
- ${d[o]}
783
+ ${b[t]}
784
+ ${i[a]}
785
785
  `;
786
- return t ? /* @__PURE__ */ e(
786
+ return o ? /* @__PURE__ */ e(
787
787
  "div",
788
788
  {
789
- ref: m,
790
- className: `${c} ${i}`.trim().replace(/\s+/g, " "),
789
+ ref: d,
790
+ className: `${p} ${s}`.trim().replace(/\s+/g, " "),
791
791
  children: /* @__PURE__ */ e(
792
792
  "img",
793
793
  {
794
- src: t,
794
+ src: o,
795
795
  alt: r,
796
796
  className: "w-full h-full object-cover",
797
- ...s
797
+ ...c
798
798
  }
799
799
  )
800
800
  }
801
- ) : a ? /* @__PURE__ */ e(
801
+ ) : n ? /* @__PURE__ */ e(
802
802
  "div",
803
803
  {
804
- ref: m,
804
+ ref: d,
805
805
  className: `
806
- ${c}
807
- ${p[n]}
806
+ ${p}
807
+ ${x[t]}
808
808
  bg-content-primary
809
809
  text-white
810
810
  font-normal
811
811
  dark:bg-dark-bg-inverse
812
812
  dark:text-dark-content-inverse
813
- ${i}
813
+ ${s}
814
814
  `.trim().replace(/\s+/g, " "),
815
- children: /* @__PURE__ */ e("span", { className: "leading-none", children: a })
815
+ children: /* @__PURE__ */ e("span", { className: "leading-none", children: n })
816
816
  }
817
817
  ) : /* @__PURE__ */ e(
818
818
  "div",
819
819
  {
820
- ref: m,
820
+ ref: d,
821
821
  className: `
822
- ${c}
822
+ ${p}
823
823
  bg-background-secondary
824
824
  dark:bg-dark-bg-primary
825
- ${i}
825
+ ${s}
826
826
  `.trim().replace(/\s+/g, " ")
827
827
  }
828
828
  );
829
829
  }
830
830
  );
831
- J.displayName = "Avatar";
832
- const K = v(
831
+ we.displayName = "Avatar";
832
+ const Ce = A(
833
833
  ({
834
- type: n = "default",
835
- className: o = "",
836
- ...t
834
+ type: t = "default",
835
+ className: a = "",
836
+ ...o
837
837
  }, r) => {
838
- const s = [
838
+ const c = [
839
839
  "w-full h-px border-0",
840
840
  {
841
841
  // Default: Línea más visible para separaciones claras
@@ -846,28 +846,28 @@ const K = v(
846
846
  // Light: border-secondary (#f4f4f5 - muy claro)
847
847
  // Dark: gray-700 (#374151 - gris medio-oscuro, más sutil que dark-border-primary)
848
848
  soft: "bg-border-secondary dark:bg-gray-700"
849
- }[n],
850
- o
849
+ }[t],
850
+ a
851
851
  ].join(" ").replace(/\s+/g, " ").trim();
852
852
  return /* @__PURE__ */ e(
853
853
  "hr",
854
854
  {
855
855
  ref: r,
856
- className: s,
857
- ...t
856
+ className: c,
857
+ ...o
858
858
  }
859
859
  );
860
860
  }
861
861
  );
862
- K.displayName = "Divider";
863
- const U = v(
862
+ Ce.displayName = "Divider";
863
+ const Ne = A(
864
864
  ({
865
- term: n,
866
- details: o,
867
- className: t = "",
865
+ term: t,
866
+ details: a,
867
+ className: o = "",
868
868
  ...r
869
- }, a) => {
870
- const i = `
869
+ }, n) => {
870
+ const s = `
871
871
  flex
872
872
  flex-wrap
873
873
  gap-1
@@ -876,35 +876,35 @@ const U = v(
876
876
  border-b
877
877
  border-border-secondary
878
878
  dark:border-gray-700
879
- `, s = "flex-1 min-w-[180px]", m = [i, t].join(" ").replace(/\s+/g, " ").trim();
880
- return /* @__PURE__ */ b("div", { ref: a, className: m, ...r, children: [
881
- /* @__PURE__ */ e("div", { className: s, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-gray-400 font-normal", children: n }) }),
882
- /* @__PURE__ */ e("div", { className: s, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-primary dark:text-dark-content-primary font-normal", children: o }) })
879
+ `, c = "flex-1 min-w-[180px]", d = [s, o].join(" ").replace(/\s+/g, " ").trim();
880
+ return /* @__PURE__ */ l("div", { ref: n, className: d, ...r, children: [
881
+ /* @__PURE__ */ e("div", { className: c, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-secondary dark:text-gray-400 font-normal", children: t }) }),
882
+ /* @__PURE__ */ e("div", { className: c, children: /* @__PURE__ */ e("p", { className: "text-sm leading-5 text-content-primary dark:text-dark-content-primary font-normal", children: a }) })
883
883
  ] });
884
884
  }
885
885
  );
886
- U.displayName = "DescriptionList";
887
- const X = v(
886
+ Ne.displayName = "DescriptionList";
887
+ const $e = A(
888
888
  ({
889
- title: n,
890
- description: o,
891
- children: t,
889
+ title: t,
890
+ description: a,
891
+ children: o,
892
892
  actions: r,
893
- onCancel: a,
894
- onConfirm: i,
895
- cancelText: s = "Cancelar",
896
- confirmText: m = "Confirmar",
897
- className: l = "",
898
- ...p
899
- }, d) => {
900
- const c = r || /* @__PURE__ */ b(S, { children: [
901
- a && /* @__PURE__ */ e(F, { type: "plain", size: "base", onClick: a, children: s }),
902
- i && /* @__PURE__ */ e(F, { type: "default", size: "base", onClick: i, children: m })
893
+ onCancel: n,
894
+ onConfirm: s,
895
+ cancelText: c = "Cancelar",
896
+ confirmText: d = "Confirmar",
897
+ className: b = "",
898
+ ...x
899
+ }, i) => {
900
+ const p = r || /* @__PURE__ */ l(S, { children: [
901
+ n && /* @__PURE__ */ e(Y, { type: "plain", size: "base", onClick: n, children: c }),
902
+ s && /* @__PURE__ */ e(Y, { type: "default", size: "base", onClick: s, children: d })
903
903
  ] });
904
904
  return /* @__PURE__ */ e(
905
905
  "div",
906
906
  {
907
- ref: d,
907
+ ref: i,
908
908
  className: `
909
909
  w-[512px]
910
910
  bg-white
@@ -913,32 +913,32 @@ const X = v(
913
913
  border-border-primary
914
914
  dark:border-dark-border-primary
915
915
  rounded-xl
916
- ${l}
916
+ ${b}
917
917
  `.trim().replace(/\s+/g, " "),
918
- ...p,
919
- children: /* @__PURE__ */ b("div", { className: "p-6 flex flex-col gap-4", children: [
920
- /* @__PURE__ */ b("div", { className: "flex flex-col gap-3", children: [
921
- /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: n }),
922
- o && /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-normal text-content-tertiary dark:text-content-tertiary", children: o })
918
+ ...x,
919
+ children: /* @__PURE__ */ l("div", { className: "p-6 flex flex-col gap-4", children: [
920
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-3", children: [
921
+ /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: t }),
922
+ a && /* @__PURE__ */ e("p", { className: "text-sm leading-5 font-normal text-content-tertiary dark:text-content-tertiary", children: a })
923
923
  ] }),
924
- t && /* @__PURE__ */ e("div", { className: "flex flex-col gap-3", children: t }),
925
- /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-3 items-center justify-end", children: c })
924
+ o && /* @__PURE__ */ e("div", { className: "flex flex-col gap-3", children: o }),
925
+ /* @__PURE__ */ e("div", { className: "flex flex-wrap gap-3 items-center justify-end", children: p })
926
926
  ] })
927
927
  }
928
928
  );
929
929
  }
930
930
  );
931
- X.displayName = "Alert";
932
- const Y = v(
931
+ $e.displayName = "Alert";
932
+ const G = A(
933
933
  ({
934
- color: n = "zinc",
935
- leftIcon: o,
936
- label: t,
934
+ color: t = "zinc",
935
+ leftIcon: a,
936
+ label: o,
937
937
  count: r,
938
- className: a = "",
939
- ...i
940
- }, s) => {
941
- const l = {
938
+ className: n = "",
939
+ ...s
940
+ }, c) => {
941
+ const b = {
942
942
  zinc: {
943
943
  bg: "bg-zinc-100",
944
944
  text: "text-zinc-600",
@@ -1086,12 +1086,12 @@ const Y = v(
1086
1086
  notificationBg: "bg-zinc-600",
1087
1087
  notificationText: "text-zinc-100"
1088
1088
  }
1089
- }[n], p = (c) => {
1090
- const g = c.props.className || "";
1091
- return M(c, {
1092
- className: `w-3 h-3 ${g}`.trim()
1089
+ }[t], x = (p) => {
1090
+ const m = p.props.className || "";
1091
+ return ae(p, {
1092
+ className: `w-3 h-3 ${m}`.trim()
1093
1093
  });
1094
- }, d = [
1094
+ }, i = [
1095
1095
  "inline-flex",
1096
1096
  "items-center",
1097
1097
  "gap-1",
@@ -1099,21 +1099,21 @@ const Y = v(
1099
1099
  "py-1",
1100
1100
  "rounded-md",
1101
1101
  "font-sans",
1102
- l.bg,
1103
- l.hover,
1102
+ b.bg,
1103
+ b.hover,
1104
1104
  "transition-colors",
1105
1105
  "duration-200",
1106
- a
1106
+ n
1107
1107
  ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1108
- return /* @__PURE__ */ b(
1108
+ return /* @__PURE__ */ l(
1109
1109
  "div",
1110
1110
  {
1111
- ref: s,
1112
- className: d,
1113
- ...i,
1111
+ ref: c,
1112
+ className: i,
1113
+ ...s,
1114
1114
  children: [
1115
- o && /* @__PURE__ */ e("div", { className: `flex items-center justify-center ${l.text}`, children: p(o) }),
1116
- /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${l.text}`, children: t }),
1115
+ a && /* @__PURE__ */ e("div", { className: `flex items-center justify-center ${b.text}`, children: x(a) }),
1116
+ /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${b.text}`, children: o }),
1117
1117
  r !== void 0 && /* @__PURE__ */ e(
1118
1118
  "div",
1119
1119
  {
@@ -1125,9 +1125,9 @@ const Y = v(
1125
1125
  px-0.5
1126
1126
  rounded-sm
1127
1127
  min-w-[12px]
1128
- ${l.notificationBg}
1128
+ ${b.notificationBg}
1129
1129
  `.trim().replace(/\s+/g, " "),
1130
- children: /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${l.notificationText}`, children: r })
1130
+ children: /* @__PURE__ */ e("span", { className: `font-sans text-xs leading-4 ${b.notificationText}`, children: r })
1131
1131
  }
1132
1132
  )
1133
1133
  ]
@@ -1135,35 +1135,35 @@ const Y = v(
1135
1135
  );
1136
1136
  }
1137
1137
  );
1138
- Y.displayName = "Badge";
1139
- const Z = v(
1138
+ G.displayName = "Badge";
1139
+ const ne = A(
1140
1140
  ({
1141
- value: n,
1142
- defaultValue: o = 0,
1143
- onChange: t,
1141
+ value: t,
1142
+ defaultValue: a = 0,
1143
+ onChange: o,
1144
1144
  min: r = 0,
1145
- max: a,
1146
- label: i,
1147
- linkText: s,
1148
- onLinkClick: m,
1149
- helperText: l,
1150
- error: p = !1,
1151
- disabled: d = !1,
1152
- className: c = "",
1153
- ...g
1154
- }, x) => {
1155
- const [h, y] = R(o), f = n !== void 0, u = f ? n : h;
1156
- D(() => {
1157
- f || y(o);
1158
- }, [o, f]);
1159
- const k = (j) => {
1160
- let C = j;
1161
- r !== void 0 && C < r && (C = r), a !== void 0 && C > a && (C = a), f || y(C), t?.(C);
1162
- }, w = () => {
1163
- d || k(u - 1);
1164
- }, N = () => {
1165
- d || k(u + 1);
1166
- }, $ = d || r !== void 0 && u <= r, _ = d || a !== void 0 && u >= a, B = () => /* @__PURE__ */ e(
1145
+ max: n,
1146
+ label: s,
1147
+ linkText: c,
1148
+ onLinkClick: d,
1149
+ helperText: b,
1150
+ error: x = !1,
1151
+ disabled: i = !1,
1152
+ className: p = "",
1153
+ ...m
1154
+ }, u) => {
1155
+ const [g, y] = V(a), f = t !== void 0, k = f ? t : g;
1156
+ W(() => {
1157
+ f || y(a);
1158
+ }, [a, f]);
1159
+ const w = (I) => {
1160
+ let z = I;
1161
+ r !== void 0 && z < r && (z = r), n !== void 0 && z > n && (z = n), f || y(z), o?.(z);
1162
+ }, h = () => {
1163
+ i || w(k - 1);
1164
+ }, v = () => {
1165
+ i || w(k + 1);
1166
+ }, C = i || r !== void 0 && k <= r, N = i || n !== void 0 && k >= n, B = () => /* @__PURE__ */ e(
1167
1167
  "svg",
1168
1168
  {
1169
1169
  width: "16",
@@ -1182,7 +1182,7 @@ const Z = v(
1182
1182
  }
1183
1183
  )
1184
1184
  }
1185
- ), L = () => /* @__PURE__ */ e(
1185
+ ), R = () => /* @__PURE__ */ e(
1186
1186
  "svg",
1187
1187
  {
1188
1188
  width: "16",
@@ -1201,36 +1201,36 @@ const Z = v(
1201
1201
  }
1202
1202
  )
1203
1203
  }
1204
- ), z = p ? "border-error-border dark:border-error-border" : "border-border-primary dark:border-dark-border-primary", T = !d && !p ? "hover:border-[#f9f9f9] dark:hover:border-[#f9f9f9]" : "", I = !d && !p ? "focus-within:border-2 focus-within:border-[#329cff] dark:focus-within:border-[#329cff]" : "";
1205
- return /* @__PURE__ */ b(
1204
+ ), L = x ? "border-error-border dark:border-error-border" : "border-border-primary dark:border-dark-border-primary", D = !i && !x ? "hover:border-[#f9f9f9] dark:hover:border-[#f9f9f9]" : "", E = !i && !x ? "focus-within:border-2 focus-within:border-[#329cff] dark:focus-within:border-[#329cff]" : "";
1205
+ return /* @__PURE__ */ l(
1206
1206
  "div",
1207
1207
  {
1208
- ref: x,
1209
- className: `flex flex-col gap-2 ${c}`.trim(),
1210
- ...g,
1208
+ ref: u,
1209
+ className: `flex flex-col gap-2 ${p}`.trim(),
1210
+ ...m,
1211
1211
  children: [
1212
- i && /* @__PURE__ */ b("div", { className: "flex items-center justify-between", children: [
1213
- /* @__PURE__ */ e("label", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: i }),
1214
- s && /* @__PURE__ */ e(
1212
+ s && /* @__PURE__ */ l("div", { className: "flex items-center justify-between", children: [
1213
+ /* @__PURE__ */ e("label", { className: "text-sm leading-5 font-bold text-content-primary dark:text-dark-content-primary", children: s }),
1214
+ c && /* @__PURE__ */ e(
1215
1215
  "button",
1216
1216
  {
1217
1217
  type: "button",
1218
- onClick: m,
1219
- disabled: d,
1218
+ onClick: d,
1219
+ disabled: i,
1220
1220
  className: `
1221
1221
  text-xs leading-4
1222
1222
  text-primary-custom-600
1223
1223
  hover:underline
1224
1224
  dark:text-primary-custom-600
1225
- ${d ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
1225
+ ${i ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
1226
1226
  transition-colors
1227
1227
  duration-200
1228
1228
  `.trim().replace(/\s+/g, " "),
1229
- children: s
1229
+ children: c
1230
1230
  }
1231
1231
  )
1232
1232
  ] }),
1233
- /* @__PURE__ */ b(
1233
+ /* @__PURE__ */ l(
1234
1234
  "div",
1235
1235
  {
1236
1236
  className: `
@@ -1242,28 +1242,28 @@ const Z = v(
1242
1242
  bg-white
1243
1243
  dark:bg-dark-bg-primary
1244
1244
  border
1245
- ${z}
1246
- ${T}
1247
- ${I}
1245
+ ${L}
1246
+ ${D}
1247
+ ${E}
1248
1248
  rounded-lg
1249
1249
  transition-colors
1250
1250
  duration-200
1251
- ${d ? "opacity-50 cursor-not-allowed" : ""}
1251
+ ${i ? "opacity-50 cursor-not-allowed" : ""}
1252
1252
  `.trim().replace(/\s+/g, " "),
1253
1253
  children: [
1254
1254
  /* @__PURE__ */ e(
1255
1255
  "button",
1256
1256
  {
1257
1257
  type: "button",
1258
- onClick: w,
1259
- disabled: $,
1258
+ onClick: h,
1259
+ disabled: C,
1260
1260
  className: `
1261
1261
  flex
1262
1262
  items-center
1263
1263
  justify-center
1264
1264
  w-4
1265
1265
  h-4
1266
- ${$ ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1266
+ ${C ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1267
1267
  transition-colors
1268
1268
  duration-200
1269
1269
  `.trim().replace(/\s+/g, " "),
@@ -1276,42 +1276,42 @@ const Z = v(
1276
1276
  {
1277
1277
  className: `
1278
1278
  text-base leading-6
1279
- ${u === 0 ? "text-content-tertiary dark:text-content-tertiary" : "text-content-primary dark:text-dark-content-primary"}
1279
+ ${k === 0 ? "text-content-tertiary dark:text-content-tertiary" : "text-content-primary dark:text-dark-content-primary"}
1280
1280
  `.trim().replace(/\s+/g, " "),
1281
- children: u
1281
+ children: k
1282
1282
  }
1283
1283
  ) }),
1284
1284
  /* @__PURE__ */ e(
1285
1285
  "button",
1286
1286
  {
1287
1287
  type: "button",
1288
- onClick: N,
1289
- disabled: _,
1288
+ onClick: v,
1289
+ disabled: N,
1290
1290
  className: `
1291
1291
  flex
1292
1292
  items-center
1293
1293
  justify-center
1294
1294
  w-4
1295
1295
  h-4
1296
- ${_ ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1296
+ ${N ? "text-content-tertiary dark:text-content-tertiary cursor-not-allowed" : "text-content-primary dark:text-dark-content-primary hover:text-content-secondary dark:hover:text-content-secondary cursor-pointer"}
1297
1297
  transition-colors
1298
1298
  duration-200
1299
1299
  `.trim().replace(/\s+/g, " "),
1300
1300
  "aria-label": "Incrementar",
1301
- children: /* @__PURE__ */ e(L, {})
1301
+ children: /* @__PURE__ */ e(R, {})
1302
1302
  }
1303
1303
  )
1304
1304
  ]
1305
1305
  }
1306
1306
  ),
1307
- l && /* @__PURE__ */ e(
1307
+ b && /* @__PURE__ */ e(
1308
1308
  "p",
1309
1309
  {
1310
1310
  className: `
1311
1311
  text-sm leading-5
1312
- ${p ? "text-error-content dark:text-error-content" : "text-content-tertiary dark:text-content-tertiary"}
1312
+ ${x ? "text-error-content dark:text-error-content" : "text-content-tertiary dark:text-content-tertiary"}
1313
1313
  `.trim().replace(/\s+/g, " "),
1314
- children: l
1314
+ children: b
1315
1315
  }
1316
1316
  )
1317
1317
  ]
@@ -1319,42 +1319,3178 @@ const Z = v(
1319
1319
  );
1320
1320
  }
1321
1321
  );
1322
- Z.displayName = "Quantity";
1323
- const A = P(void 0), re = ({
1324
- children: n,
1325
- defaultTheme: o = "light"
1322
+ ne.displayName = "Quantity";
1323
+ const je = () => /* @__PURE__ */ e(
1324
+ "svg",
1325
+ {
1326
+ xmlns: "http://www.w3.org/2000/svg",
1327
+ viewBox: "0 0 16 16",
1328
+ fill: "currentColor",
1329
+ className: "w-4 h-4",
1330
+ children: /* @__PURE__ */ e(
1331
+ "path",
1332
+ {
1333
+ fillRule: "evenodd",
1334
+ d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
1335
+ clipRule: "evenodd"
1336
+ }
1337
+ )
1338
+ }
1339
+ ), or = ({
1340
+ variant: t = "default",
1341
+ children: a,
1342
+ items: o,
1343
+ open: r,
1344
+ onOpenChange: n,
1345
+ disabled: s = !1,
1346
+ className: c = "",
1347
+ menuClassName: d = "",
1348
+ ariaLabel: b,
1349
+ placeholder: x = "Options"
1350
+ }) => {
1351
+ const [i, p] = V(!1), m = K(null), u = r !== void 0, g = u ? r : i, y = () => {
1352
+ if (s) return;
1353
+ const h = !g;
1354
+ u || p(h), n?.(h);
1355
+ };
1356
+ W(() => {
1357
+ const h = (v) => {
1358
+ m.current && !m.current.contains(v.target) && (u || p(!1), n?.(!1));
1359
+ };
1360
+ if (g)
1361
+ return document.addEventListener("mousedown", h), () => {
1362
+ document.removeEventListener("mousedown", h);
1363
+ };
1364
+ }, [g, u, n]), W(() => {
1365
+ const h = (v) => {
1366
+ v.key === "Escape" && g && (u || p(!1), n?.(!1));
1367
+ };
1368
+ if (g)
1369
+ return document.addEventListener("keydown", h), () => {
1370
+ document.removeEventListener("keydown", h);
1371
+ };
1372
+ }, [g, u, n]);
1373
+ const f = (h) => {
1374
+ h.disabled || h.isDivider || h.isHeading || (h.onClick && h.onClick({}), u || p(!1), n?.(!1));
1375
+ }, k = [
1376
+ // Base
1377
+ "inline-flex",
1378
+ "items-center",
1379
+ "justify-center",
1380
+ "rounded-lg",
1381
+ "font-bold",
1382
+ "text-sm",
1383
+ "whitespace-nowrap",
1384
+ "transition-all",
1385
+ "duration-150",
1386
+ // Variant-specific sizing
1387
+ t === "icon-only" ? "w-9 h-9" : "gap-3 px-3 py-2",
1388
+ // Colores y estados (Light Mode)
1389
+ "bg-bg-primary",
1390
+ "text-content-secondary",
1391
+ "border",
1392
+ "border-border-primary",
1393
+ "hover:bg-background-secondary",
1394
+ "active:scale-95",
1395
+ // Dark Mode
1396
+ "dark:bg-dark-bg-primary",
1397
+ "dark:text-content-secondary",
1398
+ "dark:border-dark-border-primary",
1399
+ "dark:hover:bg-dark-bg-primary",
1400
+ // Focus ring
1401
+ "focus:outline-none",
1402
+ "focus:ring-2",
1403
+ "focus:ring-primary-custom-400",
1404
+ "focus:ring-offset-2",
1405
+ "dark:focus:ring-dark-border-custom",
1406
+ "dark:focus:ring-offset-dark-bg-primary",
1407
+ // Disabled
1408
+ s && "opacity-50",
1409
+ s && "cursor-not-allowed",
1410
+ s && "pointer-events-none",
1411
+ // Custom classes
1412
+ c
1413
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), w = [
1414
+ // Base
1415
+ "absolute",
1416
+ "top-full",
1417
+ "left-0",
1418
+ "mt-2",
1419
+ "min-w-[182px]",
1420
+ "rounded-xl",
1421
+ "p-1",
1422
+ "border",
1423
+ "z-50",
1424
+ // Colores (Light Mode)
1425
+ "bg-background-secondary",
1426
+ "border-border-primary",
1427
+ // Dark Mode
1428
+ "dark:bg-dark-bg-primary",
1429
+ "dark:border-dark-border-primary",
1430
+ // Shadow
1431
+ "shadow-menu",
1432
+ // Custom classes
1433
+ d
1434
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1435
+ return /* @__PURE__ */ l("div", { ref: m, className: "relative inline-block", children: [
1436
+ /* @__PURE__ */ l(
1437
+ "button",
1438
+ {
1439
+ type: "button",
1440
+ className: k,
1441
+ onClick: y,
1442
+ disabled: s,
1443
+ "aria-label": b || (t === "icon-only" ? "Abrir menú" : void 0),
1444
+ "aria-haspopup": "true",
1445
+ "aria-expanded": g,
1446
+ children: [
1447
+ t === "default" && /* @__PURE__ */ e("span", { children: a || x }),
1448
+ /* @__PURE__ */ e(je, {})
1449
+ ]
1450
+ }
1451
+ ),
1452
+ g && /* @__PURE__ */ e("div", { className: w, children: o.map((h, v) => h.isDivider ? /* @__PURE__ */ e(Le, { className: h.className }, v) : h.isHeading ? /* @__PURE__ */ e(_e, { className: h.className, children: h.children }, v) : /* @__PURE__ */ e(
1453
+ Be,
1454
+ {
1455
+ ...h,
1456
+ onClick: () => f(h)
1457
+ },
1458
+ v
1459
+ )) })
1460
+ ] });
1461
+ }, Be = ({
1462
+ children: t,
1463
+ icon: a,
1464
+ description: o,
1465
+ shortcut: r,
1466
+ disabled: n = !1,
1467
+ selected: s = !1,
1468
+ onClick: c,
1469
+ className: d = ""
1470
+ }) => {
1471
+ const b = [
1472
+ // Base
1473
+ "flex",
1474
+ "items-center",
1475
+ "gap-3",
1476
+ "px-4",
1477
+ "py-2",
1478
+ "rounded-lg",
1479
+ "text-sm",
1480
+ "w-full",
1481
+ "text-left",
1482
+ "transition-colors",
1483
+ "duration-150",
1484
+ // Colores y estados (Light Mode)
1485
+ "text-content-primary",
1486
+ !n && "hover:bg-white",
1487
+ s && "bg-white",
1488
+ // Dark Mode
1489
+ "dark:text-dark-content-primary",
1490
+ !n && "dark:hover:bg-dark-bg-primary",
1491
+ s && "dark:bg-dark-bg-primary",
1492
+ // Disabled
1493
+ n && "opacity-50",
1494
+ n && "cursor-not-allowed",
1495
+ !n && "cursor-pointer",
1496
+ // Custom classes
1497
+ d
1498
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1499
+ return /* @__PURE__ */ l(
1500
+ "button",
1501
+ {
1502
+ type: "button",
1503
+ className: b,
1504
+ onClick: c,
1505
+ disabled: n,
1506
+ children: [
1507
+ a && /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center w-4 h-4 text-content-secondary dark:text-content-secondary", children: a }),
1508
+ /* @__PURE__ */ l("div", { className: "flex-1 min-w-0", children: [
1509
+ /* @__PURE__ */ e("div", { className: "text-content-primary dark:text-dark-content-primary", children: t }),
1510
+ o && /* @__PURE__ */ e("div", { className: "text-xs text-content-secondary dark:text-content-secondary mt-0.5", children: o })
1511
+ ] }),
1512
+ r && /* @__PURE__ */ e("span", { className: "text-xs text-content-secondary dark:text-content-secondary ml-auto whitespace-nowrap", children: r })
1513
+ ]
1514
+ }
1515
+ );
1516
+ }, _e = ({
1517
+ children: t,
1518
+ className: a = ""
1519
+ }) => {
1520
+ const o = [
1521
+ // Base
1522
+ "px-4",
1523
+ "py-1",
1524
+ "text-xs",
1525
+ "font-normal",
1526
+ // Colores
1527
+ "text-content-tertiary",
1528
+ // Dark Mode
1529
+ "dark:text-content-tertiary",
1530
+ // Custom classes
1531
+ a
1532
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1533
+ return /* @__PURE__ */ e("div", { className: o, children: t });
1534
+ }, Le = ({
1535
+ className: t = ""
1536
+ }) => {
1537
+ const a = [
1538
+ // Base
1539
+ "px-4",
1540
+ "py-1",
1541
+ // Custom classes
1542
+ t
1543
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
1544
+ return /* @__PURE__ */ e("div", { className: a, children: /* @__PURE__ */ e("div", { className: "h-px bg-border-primary dark:bg-dark-border-primary" }) });
1545
+ }, sr = ({
1546
+ count: t,
1547
+ color: a = "red",
1548
+ className: o = "",
1549
+ ariaLabel: r
1550
+ }) => {
1551
+ const n = {
1552
+ zinc: { bg: "bg-zinc-600", text: "text-white" },
1553
+ red: { bg: "bg-content-extensions-red", text: "text-white" },
1554
+ orange: { bg: "bg-orange-700", text: "text-white" },
1555
+ amber: { bg: "bg-amber-700", text: "text-white" },
1556
+ yellow: { bg: "bg-yellow-700", text: "text-white" },
1557
+ lime: { bg: "bg-lime-700", text: "text-white" },
1558
+ green: { bg: "bg-green-700", text: "text-white" },
1559
+ emerald: { bg: "bg-emerald-700", text: "text-white" },
1560
+ teal: { bg: "bg-teal-700", text: "text-white" },
1561
+ cyan: { bg: "bg-cyan-700", text: "text-white" },
1562
+ sky: { bg: "bg-sky-700", text: "text-white" },
1563
+ blue: { bg: "bg-blue-700", text: "text-white" },
1564
+ indigo: { bg: "bg-indigo-700", text: "text-white" },
1565
+ violet: { bg: "bg-violet-700", text: "text-white" },
1566
+ purple: { bg: "bg-purple-700", text: "text-white" },
1567
+ fuchsia: { bg: "bg-fuchsia-700", text: "text-white" },
1568
+ pink: { bg: "bg-pink-700", text: "text-white" },
1569
+ rose: { bg: "bg-rose-700", text: "text-white" },
1570
+ primary: { bg: "bg-primary-custom-600", text: "text-white" },
1571
+ secondary: { bg: "bg-zinc-600", text: "text-white" },
1572
+ tertiary: { bg: "bg-zinc-600", text: "text-white" }
1573
+ }, s = n[a] || n.red, c = r || (t !== void 0 && t > 0 ? `${t} notificaci${t === 1 ? "ón" : "ones"}` : "Notificación pendiente");
1574
+ if (t !== void 0 && t > 0) {
1575
+ const d = t > 99 ? "99+" : t.toString();
1576
+ return /* @__PURE__ */ e(
1577
+ "span",
1578
+ {
1579
+ className: `
1580
+ inline-flex
1581
+ items-center
1582
+ justify-center
1583
+ min-w-[16px]
1584
+ h-4
1585
+ px-1
1586
+ rounded-full
1587
+ text-[10px]
1588
+ font-bold
1589
+ leading-none
1590
+ ${s.bg}
1591
+ ${s.text}
1592
+ pointer-events-none
1593
+ dark:${s.bg}
1594
+ dark:${s.text}
1595
+ ${o}
1596
+ `.trim().replace(/\s+/g, " "),
1597
+ role: "status",
1598
+ "aria-label": c,
1599
+ children: d
1600
+ }
1601
+ );
1602
+ }
1603
+ return /* @__PURE__ */ e(
1604
+ "span",
1605
+ {
1606
+ className: `
1607
+ inline-block
1608
+ w-2
1609
+ h-2
1610
+ rounded-full
1611
+ ${s.bg}
1612
+ pointer-events-none
1613
+ dark:${s.bg}
1614
+ ${o}
1615
+ `.trim().replace(/\s+/g, " "),
1616
+ role: "status",
1617
+ "aria-label": c
1618
+ }
1619
+ );
1620
+ }, Me = ({ className: t = "" }) => /* @__PURE__ */ e(
1621
+ "svg",
1622
+ {
1623
+ className: t,
1624
+ xmlns: "http://www.w3.org/2000/svg",
1625
+ viewBox: "0 0 16 16",
1626
+ fill: "currentColor",
1627
+ "aria-hidden": "true",
1628
+ children: /* @__PURE__ */ e(
1629
+ "path",
1630
+ {
1631
+ fillRule: "evenodd",
1632
+ d: "M9.78 4.22a.75.75 0 0 1 0 1.06L7.06 8l2.72 2.72a.75.75 0 1 1-1.06 1.06L5.47 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.75.75 0 0 1 1.06 0Z",
1633
+ clipRule: "evenodd"
1634
+ }
1635
+ )
1636
+ }
1637
+ ), Se = ({ className: t = "" }) => /* @__PURE__ */ e(
1638
+ "svg",
1639
+ {
1640
+ className: t,
1641
+ xmlns: "http://www.w3.org/2000/svg",
1642
+ viewBox: "0 0 16 16",
1643
+ fill: "currentColor",
1644
+ "aria-hidden": "true",
1645
+ children: /* @__PURE__ */ e(
1646
+ "path",
1647
+ {
1648
+ fillRule: "evenodd",
1649
+ d: "M6.22 4.22a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06l-3.25 3.25a.75.75 0 0 1-1.06-1.06L8.94 8 6.22 5.28a.75.75 0 0 1 0-1.06Z",
1650
+ clipRule: "evenodd"
1651
+ }
1652
+ )
1653
+ }
1654
+ ), ir = ({
1655
+ currentPage: t = 1,
1656
+ totalPages: a,
1657
+ onPageChange: o,
1658
+ backText: r = "Atrás",
1659
+ nextText: n = "Siguiente",
1660
+ siblingCount: s = 1,
1661
+ showBackButton: c = !0,
1662
+ showNextButton: d = !0,
1663
+ className: b = "",
1664
+ ariaLabel: x = "Paginación"
1665
+ }) => {
1666
+ const i = ge(() => {
1667
+ const y = s * 2 + 3 + 2;
1668
+ if (a <= y)
1669
+ return Array.from({ length: a }, (N, B) => B + 1);
1670
+ const f = Math.max(t - s, 1), k = Math.min(t + s, a), w = f > 2, h = k < a - 1, v = 1, C = a;
1671
+ if (!w && h) {
1672
+ const N = 3 + 2 * s;
1673
+ return [...Array.from({ length: N }, (R, L) => L + 1), "...", a];
1674
+ }
1675
+ if (w && !h) {
1676
+ const N = 3 + 2 * s, B = Array.from(
1677
+ { length: N },
1678
+ (R, L) => a - N + L + 1
1679
+ );
1680
+ return [v, "...", ...B];
1681
+ }
1682
+ if (w && h) {
1683
+ const N = Array.from(
1684
+ { length: k - f + 1 },
1685
+ (B, R) => f + R
1686
+ );
1687
+ return [v, "...", ...N, "...", C];
1688
+ }
1689
+ return [];
1690
+ }, [t, a, s]), p = (g) => {
1691
+ g >= 1 && g <= a && g !== t && o?.(g);
1692
+ }, m = ({
1693
+ page: g,
1694
+ isActive: y = !1,
1695
+ disabled: f = !1,
1696
+ onClick: k,
1697
+ ariaLabel: w
1698
+ }) => {
1699
+ const h = g === "...", B = [`
1700
+ inline-flex
1701
+ items-center
1702
+ justify-center
1703
+ gap-3
1704
+ px-3
1705
+ py-2
1706
+ rounded-md
1707
+ font-bold
1708
+ text-sm
1709
+ whitespace-nowrap
1710
+ transition-all
1711
+ duration-150
1712
+ `, h ? `
1713
+ text-primary-custom-600
1714
+ dark:text-primary-custom-600
1715
+ cursor-default
1716
+ pointer-events-none
1717
+ ` : y ? `
1718
+ bg-primary-custom-100
1719
+ text-primary-custom-600
1720
+ dark:bg-primary-custom-100
1721
+ dark:text-primary-custom-600
1722
+ ` : `
1723
+ text-primary-custom-600
1724
+ hover:bg-primary-custom-100
1725
+ active:scale-95
1726
+ dark:text-primary-custom-600
1727
+ dark:hover:bg-primary-custom-100
1728
+ dark:active:scale-95
1729
+ `, f ? `
1730
+ opacity-50
1731
+ cursor-not-allowed
1732
+ pointer-events-none
1733
+ ` : ""].join(" ").replace(/\s+/g, " ").trim();
1734
+ return /* @__PURE__ */ e(
1735
+ "button",
1736
+ {
1737
+ type: "button",
1738
+ className: B,
1739
+ onClick: k,
1740
+ disabled: f || h,
1741
+ "aria-label": w,
1742
+ "aria-current": y ? "page" : void 0,
1743
+ children: g
1744
+ }
1745
+ );
1746
+ }, u = `
1747
+ inline-flex
1748
+ items-center
1749
+ justify-between
1750
+ gap-0
1751
+ ${b}
1752
+ `.replace(/\s+/g, " ").trim();
1753
+ return /* @__PURE__ */ l("nav", { className: u, "aria-label": x, role: "navigation", children: [
1754
+ c && /* @__PURE__ */ l(
1755
+ "button",
1756
+ {
1757
+ type: "button",
1758
+ className: `
1759
+ inline-flex
1760
+ items-center
1761
+ justify-center
1762
+ gap-3
1763
+ px-3
1764
+ py-2
1765
+ rounded-md
1766
+ font-bold
1767
+ text-sm
1768
+ text-primary-custom-600
1769
+ hover:bg-primary-custom-100
1770
+ active:scale-95
1771
+ dark:text-primary-custom-600
1772
+ dark:hover:bg-primary-custom-100
1773
+ dark:active:scale-95
1774
+ transition-all
1775
+ duration-150
1776
+ ${t === 1 ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
1777
+ `.replace(/\s+/g, " ").trim(),
1778
+ onClick: () => p(t - 1),
1779
+ disabled: t === 1,
1780
+ "aria-label": `${r} page`,
1781
+ children: [
1782
+ /* @__PURE__ */ e(Me, { className: "w-4 h-4" }),
1783
+ r
1784
+ ]
1785
+ }
1786
+ ),
1787
+ /* @__PURE__ */ e("div", { className: "inline-flex items-center", children: i.map((g, y) => /* @__PURE__ */ e(
1788
+ m,
1789
+ {
1790
+ page: g,
1791
+ isActive: g === t,
1792
+ onClick: () => typeof g == "number" && p(g),
1793
+ ariaLabel: typeof g == "number" ? `Go to page ${g}` : `Page ${g}`
1794
+ },
1795
+ `${g}-${y}`
1796
+ )) }),
1797
+ d && /* @__PURE__ */ l(
1798
+ "button",
1799
+ {
1800
+ type: "button",
1801
+ className: `
1802
+ inline-flex
1803
+ items-center
1804
+ justify-center
1805
+ gap-3
1806
+ px-3
1807
+ py-2
1808
+ rounded-md
1809
+ font-bold
1810
+ text-sm
1811
+ text-primary-custom-600
1812
+ hover:bg-primary-custom-100
1813
+ active:scale-95
1814
+ dark:text-primary-custom-600
1815
+ dark:hover:bg-primary-custom-100
1816
+ dark:active:scale-95
1817
+ transition-all
1818
+ duration-150
1819
+ ${t === a ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
1820
+ `.replace(/\s+/g, " ").trim(),
1821
+ onClick: () => p(t + 1),
1822
+ disabled: t === a,
1823
+ "aria-label": `${n} page`,
1824
+ children: [
1825
+ n,
1826
+ /* @__PURE__ */ e(Se, { className: "w-4 h-4" })
1827
+ ]
1828
+ }
1829
+ )
1830
+ ] });
1831
+ }, Ie = ({ className: t = "" }) => /* @__PURE__ */ l(
1832
+ "svg",
1833
+ {
1834
+ className: t,
1835
+ xmlns: "http://www.w3.org/2000/svg",
1836
+ viewBox: "0 0 16 16",
1837
+ fill: "currentColor",
1838
+ "aria-hidden": "true",
1839
+ children: [
1840
+ /* @__PURE__ */ e(
1841
+ "path",
1842
+ {
1843
+ fillRule: "evenodd",
1844
+ d: "M11.78 9.78a.75.75 0 0 1-1.06 0L8 7.06 5.28 9.78a.75.75 0 0 1-1.06-1.06l3.25-3.25a.75.75 0 0 1 1.06 0l3.25 3.25a.75.75 0 0 1 0 1.06Z",
1845
+ clipRule: "evenodd"
1846
+ }
1847
+ ),
1848
+ /* @__PURE__ */ e(
1849
+ "path",
1850
+ {
1851
+ fillRule: "evenodd",
1852
+ d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
1853
+ clipRule: "evenodd"
1854
+ }
1855
+ )
1856
+ ]
1857
+ }
1858
+ ), Re = ({ className: t = "" }) => /* @__PURE__ */ e(
1859
+ "svg",
1860
+ {
1861
+ className: t,
1862
+ xmlns: "http://www.w3.org/2000/svg",
1863
+ viewBox: "0 0 16 16",
1864
+ fill: "currentColor",
1865
+ "aria-hidden": "true",
1866
+ children: /* @__PURE__ */ e(
1867
+ "path",
1868
+ {
1869
+ fillRule: "evenodd",
1870
+ d: "M12.416 3.376a.75.75 0 0 1 .208 1.04l-5 7.5a.75.75 0 0 1-1.154.114l-3-3a.75.75 0 0 1 1.06-1.06l2.353 2.353 4.493-6.74a.75.75 0 0 1 1.04-.207Z",
1871
+ clipRule: "evenodd"
1872
+ }
1873
+ )
1874
+ }
1875
+ ), lr = ({
1876
+ options: t = [],
1877
+ value: a,
1878
+ defaultValue: o,
1879
+ placeholder: r = "Seleccionar...",
1880
+ disabled: n = !1,
1881
+ error: s = !1,
1882
+ label: c,
1883
+ description: d,
1884
+ showLabel: b = !0,
1885
+ showDescription: x = !0,
1886
+ menuHeader: i,
1887
+ onChange: p,
1888
+ className: m = "",
1889
+ triggerClassName: u = "",
1890
+ menuClassName: g = "",
1891
+ ariaLabel: y,
1892
+ id: f,
1893
+ name: k,
1894
+ required: w = !1,
1895
+ menuPosition: h = "bottom",
1896
+ fullWidth: v = !1
1897
+ }) => {
1898
+ const [C, N] = V(!1), [B, R] = V(
1899
+ a !== void 0 ? a : o
1900
+ ), [L, D] = V(-1), E = K(null), I = K(null), z = K(null);
1901
+ W(() => {
1902
+ a !== void 0 && R(a);
1903
+ }, [a]), W(() => {
1904
+ const j = (T) => {
1905
+ E.current && !E.current.contains(T.target) && N(!1);
1906
+ };
1907
+ if (C)
1908
+ return document.addEventListener("mousedown", j), () => {
1909
+ document.removeEventListener("mousedown", j);
1910
+ };
1911
+ }, [C]), W(() => {
1912
+ const j = (T) => {
1913
+ if (C)
1914
+ switch (T.key) {
1915
+ case "Escape":
1916
+ N(!1), I.current?.focus();
1917
+ break;
1918
+ case "ArrowDown":
1919
+ T.preventDefault(), D((F) => F < t.length - 1 ? F + 1 : 0);
1920
+ break;
1921
+ case "ArrowUp":
1922
+ T.preventDefault(), D((F) => F > 0 ? F - 1 : t.length - 1);
1923
+ break;
1924
+ case "Enter":
1925
+ T.preventDefault(), L >= 0 && L < t.length && M(t[L]);
1926
+ break;
1927
+ }
1928
+ };
1929
+ if (C)
1930
+ return document.addEventListener("keydown", j), () => {
1931
+ document.removeEventListener("keydown", j);
1932
+ };
1933
+ }, [C, L, t]);
1934
+ const P = t.find((j) => j.value === B), _ = () => {
1935
+ n || (N(!C), D(-1));
1936
+ }, M = (j) => {
1937
+ j.disabled || (R(j.value), N(!1), p?.(j.value), setTimeout(() => {
1938
+ I.current?.focus();
1939
+ }, 0));
1940
+ }, Z = [
1941
+ `
1942
+ inline-flex
1943
+ items-center
1944
+ justify-between
1945
+ gap-3
1946
+ w-full
1947
+ px-3
1948
+ py-2
1949
+ text-sm
1950
+ font-normal
1951
+ leading-5
1952
+ rounded-lg
1953
+ border
1954
+ transition-all
1955
+ duration-150
1956
+ `,
1957
+ v ? "w-full" : "min-w-[200px]",
1958
+ s ? `
1959
+ border-error-border
1960
+ bg-error-bg
1961
+ text-content-primary
1962
+ dark:border-error-border
1963
+ dark:bg-error-bg
1964
+ dark:text-dark-content-primary
1965
+ ` : `
1966
+ bg-bg-primary
1967
+ border-border-primary
1968
+ text-content-primary
1969
+ dark:bg-dark-bg-primary
1970
+ dark:border-dark-border-primary
1971
+ dark:text-dark-content-primary
1972
+ `,
1973
+ !n && !s ? `
1974
+ hover:bg-[rgba(255,255,255,1)]
1975
+ hover:bg-[linear-gradient(90deg,rgba(0,0,0,0.024)_0%,rgba(0,0,0,0.024)_100%)]
1976
+ dark:hover:bg-[rgba(17,45,87,1)]
1977
+ dark:hover:bg-[linear-gradient(90deg,rgba(255,255,255,0.1)_0%,rgba(255,255,255,0.1)_100%)]
1978
+ ` : "",
1979
+ n ? "" : `
1980
+ focus:outline-none
1981
+ focus:ring-2
1982
+ focus:ring-primary-custom-400
1983
+ focus:ring-offset-2
1984
+ dark:focus:ring-dark-border-custom
1985
+ dark:focus:ring-offset-dark-bg-primary
1986
+ `,
1987
+ n ? `
1988
+ opacity-50
1989
+ cursor-not-allowed
1990
+ ` : "",
1991
+ u
1992
+ ].join(" ").replace(/\s+/g, " ").trim(), se = [
1993
+ `
1994
+ absolute
1995
+ z-50
1996
+ w-full
1997
+ min-w-[200px]
1998
+ max-h-40
1999
+ overflow-y-auto
2000
+ p-1
2001
+ rounded-md
2002
+ border-0
2003
+ transition-all
2004
+ duration-150
2005
+ `,
2006
+ h === "top" ? "bottom-full mb-1" : "top-full mt-1",
2007
+ `
2008
+ bg-background-secondary
2009
+ dark:bg-dark-bg-primary
2010
+ `,
2011
+ C ? "opacity-100 visible" : "opacity-0 invisible",
2012
+ g
2013
+ ].join(" ").replace(/\s+/g, " ").trim(), ie = `
2014
+ flex
2015
+ items-center
2016
+ cursor-pointer
2017
+ rounded-md
2018
+ transition-all
2019
+ duration-150
2020
+ pl-2
2021
+ pr-2.5
2022
+ py-0.5
2023
+ gap-0.5
2024
+ text-[10px]
2025
+ leading-[12px]
2026
+ font-bold
2027
+ `, le = (j, T) => {
2028
+ const F = j.value === B, J = T === L, be = F && !J ? "text-content-primary dark:text-dark-content-primary" : J || F && J ? "bg-primary-custom-600 text-primary-inverse-content dark:bg-primary-custom-600 dark:text-primary-inverse-content" : "text-content-primary dark:text-dark-content-primary", me = j.disabled ? "" : "hover:bg-primary-custom-600 hover:text-primary-inverse-content dark:hover:bg-primary-custom-600 dark:hover:text-primary-inverse-content", pe = j.disabled ? "opacity-50 cursor-not-allowed" : "";
2029
+ return [ie, be, me, pe].join(" ").replace(/\s+/g, " ").trim();
2030
+ }, ce = [
2031
+ "flex-shrink-0",
2032
+ "transition-transform",
2033
+ "duration-150",
2034
+ C && "rotate-180",
2035
+ n ? "text-content-tertiary dark:text-content-tertiary" : "text-content-secondary dark:text-content-secondary"
2036
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), de = "flex-shrink-0 w-4 h-4";
2037
+ return /* @__PURE__ */ l("div", { className: `relative ${v ? "w-full" : ""} ${m}`, ref: E, children: [
2038
+ b && c || x && d ? /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 mb-1 w-full", children: [
2039
+ b && c && /* @__PURE__ */ l(
2040
+ "label",
2041
+ {
2042
+ htmlFor: f,
2043
+ className: "text-sm font-bold leading-5 text-content-primary dark:text-dark-content-primary",
2044
+ children: [
2045
+ c,
2046
+ w && /* @__PURE__ */ e("span", { className: "ml-1 text-error-content", children: "*" })
2047
+ ]
2048
+ }
2049
+ ),
2050
+ x && d && /* @__PURE__ */ e("p", { className: "text-sm font-normal leading-5 text-content-tertiary dark:text-content-tertiary", children: d })
2051
+ ] }) : null,
2052
+ /* @__PURE__ */ l(
2053
+ "button",
2054
+ {
2055
+ ref: I,
2056
+ type: "button",
2057
+ className: Z,
2058
+ onClick: _,
2059
+ disabled: n,
2060
+ "aria-label": y || c,
2061
+ "aria-haspopup": "listbox",
2062
+ "aria-expanded": C,
2063
+ id: f,
2064
+ children: [
2065
+ /* @__PURE__ */ e(
2066
+ "span",
2067
+ {
2068
+ className: P ? "" : "text-content-secondary dark:text-content-secondary",
2069
+ children: P ? P.label : r
2070
+ }
2071
+ ),
2072
+ /* @__PURE__ */ e(Ie, { className: ce })
2073
+ ]
2074
+ }
2075
+ ),
2076
+ k && /* @__PURE__ */ e(
2077
+ "input",
2078
+ {
2079
+ type: "hidden",
2080
+ name: k,
2081
+ value: B !== void 0 ? String(B) : ""
2082
+ }
2083
+ ),
2084
+ C && /* @__PURE__ */ l("div", { ref: z, className: se, role: "listbox", children: [
2085
+ i && /* @__PURE__ */ e("div", { className: "flex items-center gap-0.5 px-6 py-0.5 rounded-[5px]", children: /* @__PURE__ */ e("span", { className: "text-[10px] font-bold leading-[12px] text-content-tertiary dark:text-content-tertiary", children: i }) }),
2086
+ t.length === 0 && /* @__PURE__ */ e("div", { className: "px-2 py-1.5 text-[10px] leading-[12px] text-content-secondary dark:text-content-secondary", children: "No hay opciones disponibles" }),
2087
+ t.map((j, T) => /* @__PURE__ */ l(
2088
+ "div",
2089
+ {
2090
+ className: le(j, T),
2091
+ onClick: () => M(j),
2092
+ onMouseEnter: () => D(T),
2093
+ role: "option",
2094
+ "aria-selected": j.value === B,
2095
+ "aria-disabled": j.disabled,
2096
+ children: [
2097
+ /* @__PURE__ */ e("div", { className: "w-4 flex items-center justify-center", children: j.value === B && /* @__PURE__ */ e(Re, { className: de }) }),
2098
+ j.icon && /* @__PURE__ */ e("span", { className: "flex-shrink-0 w-4 h-4", children: j.icon }),
2099
+ /* @__PURE__ */ e("span", { className: "flex-1 text-left", children: j.label })
2100
+ ]
2101
+ },
2102
+ j.value
2103
+ ))
2104
+ ] })
2105
+ ] });
2106
+ }, De = () => /* @__PURE__ */ e(
2107
+ "svg",
2108
+ {
2109
+ width: "16",
2110
+ height: "16",
2111
+ viewBox: "0 0 16 16",
2112
+ fill: "none",
2113
+ xmlns: "http://www.w3.org/2000/svg",
2114
+ className: "transition-transform",
2115
+ children: /* @__PURE__ */ e(
2116
+ "path",
2117
+ {
2118
+ d: "M12 10L8 6L4 10",
2119
+ stroke: "currentColor",
2120
+ strokeWidth: "2",
2121
+ strokeLinecap: "round",
2122
+ strokeLinejoin: "round"
2123
+ }
2124
+ )
2125
+ }
2126
+ ), ze = () => /* @__PURE__ */ e(
2127
+ "svg",
2128
+ {
2129
+ width: "16",
2130
+ height: "16",
2131
+ viewBox: "0 0 16 16",
2132
+ fill: "none",
2133
+ xmlns: "http://www.w3.org/2000/svg",
2134
+ className: "transition-transform",
2135
+ children: /* @__PURE__ */ e(
2136
+ "path",
2137
+ {
2138
+ d: "M4 6L8 10L12 6",
2139
+ stroke: "currentColor",
2140
+ strokeWidth: "2",
2141
+ strokeLinecap: "round",
2142
+ strokeLinejoin: "round"
2143
+ }
2144
+ )
2145
+ }
2146
+ ), Te = () => /* @__PURE__ */ e(
2147
+ "svg",
2148
+ {
2149
+ width: "16",
2150
+ height: "16",
2151
+ viewBox: "0 0 16 16",
2152
+ fill: "none",
2153
+ xmlns: "http://www.w3.org/2000/svg",
2154
+ children: /* @__PURE__ */ e(
2155
+ "path",
2156
+ {
2157
+ d: "M14 8H2M2 8L6.5 3.5M2 8L6.5 12.5",
2158
+ stroke: "currentColor",
2159
+ strokeWidth: "1.5",
2160
+ strokeLinecap: "round",
2161
+ strokeLinejoin: "round"
2162
+ }
2163
+ )
2164
+ }
2165
+ ), Ae = () => /* @__PURE__ */ e(
2166
+ "svg",
2167
+ {
2168
+ width: "16",
2169
+ height: "16",
2170
+ viewBox: "0 0 16 16",
2171
+ fill: "none",
2172
+ xmlns: "http://www.w3.org/2000/svg",
2173
+ children: /* @__PURE__ */ e(
2174
+ "path",
2175
+ {
2176
+ d: "M2 8H14M14 8L9.5 3.5M14 8L9.5 12.5",
2177
+ stroke: "currentColor",
2178
+ strokeWidth: "1.5",
2179
+ strokeLinecap: "round",
2180
+ strokeLinejoin: "round"
2181
+ }
2182
+ )
2183
+ }
2184
+ ), Ee = ({
2185
+ column: t,
2186
+ sortable: a,
2187
+ sorted: o,
2188
+ sortDirection: r,
2189
+ onSort: n
2190
+ }) => {
2191
+ const b = [`
2192
+ flex
2193
+ items-center
2194
+ gap-3
2195
+ px-6
2196
+ py-2.5
2197
+ min-h-[40px]
2198
+ border-b
2199
+ border-border-primary
2200
+ dark:border-dark-border-primary
2201
+ transition-colors
2202
+ duration-150
2203
+ `, a ? `
2204
+ cursor-pointer
2205
+ hover:bg-background-secondary
2206
+ dark:hover:bg-dark-bg-primary/50
2207
+ select-none
2208
+ ` : "", {
2209
+ left: "justify-start",
2210
+ center: "justify-center",
2211
+ right: "justify-end"
2212
+ }[t.align || "left"]].join(" ").replace(/\s+/g, " ").trim();
2213
+ return /* @__PURE__ */ l(
2214
+ "div",
2215
+ {
2216
+ className: b,
2217
+ onClick: a ? n : void 0,
2218
+ role: a ? "button" : void 0,
2219
+ tabIndex: a ? 0 : void 0,
2220
+ onKeyDown: a ? (x) => {
2221
+ (x.key === "Enter" || x.key === " ") && (x.preventDefault(), n());
2222
+ } : void 0,
2223
+ style: { width: t.width },
2224
+ children: [
2225
+ /* @__PURE__ */ e(
2226
+ "span",
2227
+ {
2228
+ className: `
2229
+ text-sm
2230
+ font-bold
2231
+ text-content-secondary
2232
+ dark:text-content-secondary
2233
+ overflow-ellipsis
2234
+ overflow-hidden
2235
+ whitespace-nowrap
2236
+ `,
2237
+ children: t.header
2238
+ }
2239
+ ),
2240
+ a && /* @__PURE__ */ l("span", { className: "flex-shrink-0 text-content-secondary dark:text-content-secondary", children: [
2241
+ o && r === "asc" && /* @__PURE__ */ e(De, {}),
2242
+ o && r === "desc" && /* @__PURE__ */ e(ze, {}),
2243
+ !o && /* @__PURE__ */ e("div", { className: "w-4 h-4" })
2244
+ ] })
2245
+ ]
2246
+ }
2247
+ );
2248
+ }, ee = ({
2249
+ children: t,
2250
+ align: a = "left",
2251
+ width: o,
2252
+ isStriped: r = !1,
2253
+ rowIndex: n = 0
2254
+ }) => {
2255
+ const s = {
2256
+ left: "justify-start text-left",
2257
+ center: "justify-center text-center",
2258
+ right: "justify-end text-right"
2259
+ }, c = r && n % 2 === 1 ? "bg-background-secondary dark:bg-dark-bg-primary/30" : "";
2260
+ return /* @__PURE__ */ e(
2261
+ "div",
2262
+ {
2263
+ className: `
2264
+ flex
2265
+ flex-col
2266
+ ${s[a]}
2267
+ px-6
2268
+ py-4
2269
+ min-h-[56px]
2270
+ border-b
2271
+ border-border-secondary
2272
+ dark:border-dark-border-primary
2273
+ ${c}
2274
+ `,
2275
+ style: { width: o },
2276
+ children: /* @__PURE__ */ e(
2277
+ "span",
2278
+ {
2279
+ className: `
2280
+ text-sm
2281
+ text-content-primary
2282
+ dark:text-dark-content-primary
2283
+ overflow-ellipsis
2284
+ overflow-hidden
2285
+ w-full
2286
+ `,
2287
+ children: t
2288
+ }
2289
+ )
2290
+ }
2291
+ );
2292
+ }, Ze = ({
2293
+ currentPage: t,
2294
+ totalPages: a,
2295
+ onPageChange: o,
2296
+ previousLabel: r = "Anterior",
2297
+ nextLabel: n = "Siguiente"
2298
+ }) => {
2299
+ const c = (() => {
2300
+ const d = [];
2301
+ if (a <= 7)
2302
+ for (let x = 1; x <= a; x++)
2303
+ d.push(x);
2304
+ else
2305
+ d.push(1), t <= 3 ? d.push(2, 3) : t >= a - 2 ? (d.push("..."), d.push(a - 2, a - 1)) : (d.push("..."), d.push(t), d.push("...")), a > 1 && d.push(a);
2306
+ return d;
2307
+ })();
2308
+ return /* @__PURE__ */ l("div", { className: "flex items-center justify-between w-full h-9", children: [
2309
+ /* @__PURE__ */ l(
2310
+ "button",
2311
+ {
2312
+ onClick: () => t > 1 && o(t - 1),
2313
+ disabled: t === 1,
2314
+ className: `
2315
+ flex
2316
+ items-center
2317
+ gap-3
2318
+ px-3
2319
+ py-2
2320
+ rounded-md
2321
+ text-sm
2322
+ font-bold
2323
+ text-primary-custom-600
2324
+ dark:text-primary-custom-600
2325
+ hover:bg-blue-50
2326
+ dark:hover:bg-blue-900/20
2327
+ disabled:opacity-50
2328
+ disabled:cursor-not-allowed
2329
+ transition-colors
2330
+ duration-150
2331
+ `,
2332
+ children: [
2333
+ /* @__PURE__ */ e(Te, {}),
2334
+ /* @__PURE__ */ e("span", { children: r })
2335
+ ]
2336
+ }
2337
+ ),
2338
+ /* @__PURE__ */ e("div", { className: "flex items-center gap-0", children: c.map((d, b) => d === "..." ? /* @__PURE__ */ e(
2339
+ "div",
2340
+ {
2341
+ className: `
2342
+ flex
2343
+ items-center
2344
+ justify-center
2345
+ px-3
2346
+ py-2
2347
+ text-sm
2348
+ font-bold
2349
+ text-primary-custom-600
2350
+ dark:text-primary-custom-600
2351
+ `,
2352
+ children: d
2353
+ },
2354
+ `ellipsis-${b}`
2355
+ ) : /* @__PURE__ */ e(
2356
+ "button",
2357
+ {
2358
+ onClick: () => o(d),
2359
+ className: `
2360
+ flex
2361
+ items-center
2362
+ justify-center
2363
+ px-3
2364
+ py-2
2365
+ rounded-md
2366
+ text-sm
2367
+ font-bold
2368
+ text-primary-custom-600
2369
+ dark:text-primary-custom-600
2370
+ transition-colors
2371
+ duration-150
2372
+ ${d === t ? "bg-blue-100 dark:bg-blue-900/30" : "hover:bg-blue-50 dark:hover:bg-blue-900/20"}
2373
+ `,
2374
+ children: d
2375
+ },
2376
+ d
2377
+ )) }),
2378
+ /* @__PURE__ */ l(
2379
+ "button",
2380
+ {
2381
+ onClick: () => t < a && o(t + 1),
2382
+ disabled: t === a,
2383
+ className: `
2384
+ flex
2385
+ items-center
2386
+ gap-3
2387
+ px-3
2388
+ py-2
2389
+ rounded-md
2390
+ text-sm
2391
+ font-bold
2392
+ text-primary-custom-600
2393
+ dark:text-primary-custom-600
2394
+ hover:bg-blue-50
2395
+ dark:hover:bg-blue-900/20
2396
+ disabled:opacity-50
2397
+ disabled:cursor-not-allowed
2398
+ transition-colors
2399
+ duration-150
2400
+ `,
2401
+ children: [
2402
+ /* @__PURE__ */ e("span", { children: n }),
2403
+ /* @__PURE__ */ e(Ae, {})
2404
+ ]
2405
+ }
2406
+ )
2407
+ ] });
2408
+ }, cr = ({
2409
+ title: t,
2410
+ columns: a,
2411
+ data: o,
2412
+ variant: r = "basic",
2413
+ showBorder: n = !0,
2414
+ showShadow: s = !0,
2415
+ // onRowClick, // TODO: Implement row click functionality
2416
+ onSort: c,
2417
+ sortColumn: d,
2418
+ sortDirection: b,
2419
+ fullWidth: x = !1,
2420
+ emptyMessage: i = "No hay datos disponibles",
2421
+ loading: p = !1,
2422
+ loadingRows: m = 5,
2423
+ pagination: u,
2424
+ className: g = "",
2425
+ id: y
2426
+ }) => {
2427
+ const [f, k] = V(null), [w, h] = V(null), v = d !== void 0 ? d : f, C = b !== void 0 ? b : w, N = (_) => {
2428
+ let M = "asc";
2429
+ v === _ && (C === "asc" ? M = "desc" : C === "desc" && (M = null)), c ? c(_, M) : (k(M ? _ : null), h(M));
2430
+ }, B = (_, M) => typeof M == "function" ? M(_) : _[M], z = [
2431
+ `
2432
+ flex
2433
+ flex-col
2434
+ gap-4
2435
+ bg-white
2436
+ dark:bg-dark-bg-primary
2437
+ rounded-xl
2438
+ transition-all
2439
+ duration-150
2440
+ `,
2441
+ n ? "border border-border-primary dark:border-dark-border-primary" : "",
2442
+ s ? "shadow-base" : "",
2443
+ "p-8",
2444
+ x || r === "fullWidth" ? "w-full" : "",
2445
+ g
2446
+ ].join(" ").replace(/\s+/g, " ").trim();
2447
+ return /* @__PURE__ */ l("div", { className: z, id: y, children: [
2448
+ t && /* @__PURE__ */ e("div", { className: "flex items-center justify-center w-full", children: /* @__PURE__ */ e(
2449
+ "h3",
2450
+ {
2451
+ className: `
2452
+ text-base
2453
+ font-bold
2454
+ text-content-primary
2455
+ dark:text-dark-content-primary
2456
+ overflow-ellipsis
2457
+ overflow-hidden
2458
+ whitespace-nowrap
2459
+ `,
2460
+ children: t
2461
+ }
2462
+ ) }),
2463
+ /* @__PURE__ */ e("div", { className: `flex w-full overflow-x-auto ${r === "grid" ? `
2464
+ border
2465
+ border-border-primary
2466
+ dark:border-dark-border-primary
2467
+ rounded-lg
2468
+ overflow-hidden
2469
+ ` : ""}`, children: a.map((_, M) => {
2470
+ const O = typeof _.accessor == "function" ? `column_${M}` : String(_.accessor);
2471
+ return /* @__PURE__ */ l("div", { className: "flex flex-col flex-1 min-w-0", children: [
2472
+ /* @__PURE__ */ e(
2473
+ Ee,
2474
+ {
2475
+ column: _,
2476
+ sortable: _.sortable || !1,
2477
+ sorted: v === O,
2478
+ sortDirection: v === O ? C : null,
2479
+ onSort: () => N(O)
2480
+ }
2481
+ ),
2482
+ p && /* @__PURE__ */ e(S, { children: Array.from({ length: m }).map((U, H) => /* @__PURE__ */ e(
2483
+ ee,
2484
+ {
2485
+ align: _.align,
2486
+ width: _.width,
2487
+ isStriped: r === "striped",
2488
+ rowIndex: H,
2489
+ children: /* @__PURE__ */ e(
2490
+ "div",
2491
+ {
2492
+ className: `
2493
+ h-4
2494
+ bg-background-secondary
2495
+ dark:bg-dark-border-primary
2496
+ rounded
2497
+ animate-pulse
2498
+ `
2499
+ }
2500
+ )
2501
+ },
2502
+ `loading-${H}`
2503
+ )) }),
2504
+ !p && o.length > 0 && /* @__PURE__ */ e(S, { children: o.map((U, H) => {
2505
+ const q = B(U, _.accessor), Q = _.render ? _.render(q, U, H) : q;
2506
+ return /* @__PURE__ */ e(
2507
+ ee,
2508
+ {
2509
+ align: _.align,
2510
+ width: _.width,
2511
+ isStriped: r === "striped",
2512
+ rowIndex: H,
2513
+ children: Q
2514
+ },
2515
+ H
2516
+ );
2517
+ }) }),
2518
+ !p && o.length === 0 && M === 0 && /* @__PURE__ */ e(
2519
+ "div",
2520
+ {
2521
+ className: `
2522
+ flex
2523
+ items-center
2524
+ justify-center
2525
+ px-6
2526
+ py-12
2527
+ text-sm
2528
+ text-content-secondary
2529
+ dark:text-content-secondary
2530
+ `,
2531
+ style: { gridColumn: `1 / ${a.length + 1}` },
2532
+ children: i
2533
+ }
2534
+ )
2535
+ ] }, O);
2536
+ }) }),
2537
+ u && /* @__PURE__ */ e(
2538
+ Ze,
2539
+ {
2540
+ currentPage: u.currentPage,
2541
+ totalPages: u.totalPages,
2542
+ onPageChange: u.onPageChange,
2543
+ previousLabel: u.previousLabel,
2544
+ nextLabel: u.nextLabel
2545
+ }
2546
+ )
2547
+ ] });
2548
+ }, Ve = ({
2549
+ label: t,
2550
+ active: a = !1,
2551
+ icon: o,
2552
+ badge: r,
2553
+ disabled: n = !1,
2554
+ onClick: s,
2555
+ className: c = "",
2556
+ ariaLabel: d
2557
+ }) => {
2558
+ const b = `
2559
+ relative
2560
+ flex
2561
+ flex-col
2562
+ items-center
2563
+ cursor-pointer
2564
+ outline-none
2565
+ transition-all
2566
+ duration-150
2567
+ p-0
2568
+ border-0
2569
+ bg-transparent
2570
+ `, i = n ? "opacity-50 cursor-not-allowed pointer-events-none" : "", p = `
2571
+ flex
2572
+ items-center
2573
+ justify-center
2574
+ gap-1
2575
+ p-2
2576
+ rounded-lg
2577
+ overflow-hidden
2578
+ transition-all
2579
+ duration-150
2580
+ w-full
2581
+ `, m = n ? "" : `
2582
+ group-hover:bg-[rgba(0,0,0,0.03)]
2583
+ group-focus-visible:bg-[rgba(0,0,0,0.03)]
2584
+ group-focus-visible:shadow-[0px_0px_0px_2px_#dbeefe,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#60b6fa]
2585
+ dark:group-hover:bg-white/5
2586
+ dark:group-focus-visible:bg-white/5
2587
+ dark:group-focus-visible:shadow-[0px_0px_0px_2px_#1e3a5f,0px_1px_2px_0px_rgba(0,0,0,0.05),0px_0px_0px_4px_#0f6ae3]
2588
+ `, u = a ? `
2589
+ text-primary-custom-600
2590
+ dark:text-primary-custom-600
2591
+ ` : `
2592
+ text-content-primary
2593
+ dark:text-dark-content-primary
2594
+ `, g = `
2595
+ w-3
2596
+ h-3
2597
+ flex-shrink-0
2598
+ `, y = a ? `
2599
+ bg-primary-custom-600
2600
+ dark:bg-primary-custom-600
2601
+ ` : `
2602
+ bg-content-primary
2603
+ dark:bg-dark-content-primary
2604
+ `, f = a ? `
2605
+ absolute
2606
+ -bottom-2.5
2607
+ left-0
2608
+ right-0
2609
+ h-0.5
2610
+ rounded-full
2611
+ bg-primary-custom-600
2612
+ dark:bg-primary-custom-600
2613
+ z-10
2614
+ ` : "hidden", k = [
2615
+ b,
2616
+ "",
2617
+ i,
2618
+ "group",
2619
+ // Para usar group-hover y group-focus-visible
2620
+ c
2621
+ ].join(" ").replace(/\s+/g, " ").trim(), w = [
2622
+ p,
2623
+ m
2624
+ ].join(" ").replace(/\s+/g, " ").trim();
2625
+ return /* @__PURE__ */ l(
2626
+ "button",
2627
+ {
2628
+ type: "button",
2629
+ role: "tab",
2630
+ "aria-selected": a,
2631
+ "aria-disabled": n,
2632
+ "aria-label": d || t,
2633
+ tabIndex: n ? -1 : 0,
2634
+ className: k,
2635
+ onClick: n ? void 0 : s,
2636
+ disabled: n,
2637
+ children: [
2638
+ /* @__PURE__ */ l("div", { className: w, children: [
2639
+ o && /* @__PURE__ */ e("span", { className: `${g} ${u}`.trim(), children: o }),
2640
+ /* @__PURE__ */ e(
2641
+ "span",
2642
+ {
2643
+ className: `
2644
+ text-sm
2645
+ font-bold
2646
+ leading-5
2647
+ whitespace-nowrap
2648
+ ${u}
2649
+ `.replace(/\s+/g, " ").trim(),
2650
+ children: t
2651
+ }
2652
+ ),
2653
+ r !== void 0 && r > 0 && /* @__PURE__ */ e(
2654
+ "span",
2655
+ {
2656
+ className: `
2657
+ flex
2658
+ items-center
2659
+ justify-center
2660
+ h-3
2661
+ min-w-[12px]
2662
+ px-0.5
2663
+ rounded-sm
2664
+ text-xs
2665
+ font-normal
2666
+ leading-4
2667
+ text-primary-inverse-content
2668
+ dark:text-dark-bg-primary
2669
+ ${y}
2670
+ `.replace(/\s+/g, " ").trim(),
2671
+ "aria-label": `${r} notificaciones`,
2672
+ children: r > 99 ? "99+" : r
2673
+ }
2674
+ )
2675
+ ] }),
2676
+ /* @__PURE__ */ e("div", { className: f })
2677
+ ]
2678
+ }
2679
+ );
2680
+ }, dr = ({
2681
+ items: t,
2682
+ activeId: a,
2683
+ defaultActiveId: o,
2684
+ onChange: r,
2685
+ className: n = "",
2686
+ fullWidth: s = !1,
2687
+ size: c = "base",
2688
+ showBorder: d = !0
2689
+ }) => {
2690
+ const [b, x] = V(
2691
+ o || (t.length > 0 ? t[0].id : "")
2692
+ ), i = a !== void 0, p = i ? a : b, m = (k) => {
2693
+ i || x(k), r?.(k);
2694
+ }, g = `
2695
+ flex
2696
+ items-end
2697
+ pb-2.5
2698
+ ${{
2699
+ sm: "gap-0",
2700
+ base: "gap-1",
2701
+ lg: "gap-2"
2702
+ }[c]}
2703
+ ${s ? "w-full" : ""}
2704
+ ${d ? "border-b border-border-primary dark:border-dark-border-primary" : ""}
2705
+ `, y = s ? "flex-1" : "", f = [
2706
+ g,
2707
+ n
2708
+ ].join(" ").replace(/\s+/g, " ").trim();
2709
+ return /* @__PURE__ */ e(
2710
+ "div",
2711
+ {
2712
+ role: "tablist",
2713
+ "aria-label": "Pestañas de navegación",
2714
+ className: f,
2715
+ children: t.map((k) => /* @__PURE__ */ e(
2716
+ Ve,
2717
+ {
2718
+ label: k.label,
2719
+ active: p === k.id,
2720
+ icon: k.icon,
2721
+ badge: k.badge,
2722
+ disabled: k.disabled,
2723
+ onClick: () => m(k.id),
2724
+ className: y
2725
+ },
2726
+ k.id
2727
+ ))
2728
+ }
2729
+ );
2730
+ }, He = () => /* @__PURE__ */ e(
2731
+ "svg",
2732
+ {
2733
+ xmlns: "http://www.w3.org/2000/svg",
2734
+ viewBox: "0 0 16 16",
2735
+ fill: "currentColor",
2736
+ width: "16",
2737
+ height: "16",
2738
+ children: /* @__PURE__ */ e("path", { d: "M1.75 1.002a.75.75 0 1 0 0 1.5h1.035l1.38 5.514a2.75 2.75 0 0 0 2.658 2.048h5.355a2.75 2.75 0 0 0 2.658-2.048l.9-3.597a.75.75 0 0 0-.728-.919H4.655l-.22-.88A.75.75 0 0 0 3.71 2H1.75ZM5 13a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM11.5 13a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z" })
2739
+ }
2740
+ ), Fe = () => /* @__PURE__ */ e(
2741
+ "svg",
2742
+ {
2743
+ xmlns: "http://www.w3.org/2000/svg",
2744
+ viewBox: "0 0 16 16",
2745
+ fill: "currentColor",
2746
+ width: "16",
2747
+ height: "16",
2748
+ children: /* @__PURE__ */ e(
2749
+ "path",
2750
+ {
2751
+ fillRule: "evenodd",
2752
+ d: "M12 5a4 4 0 0 0-8 0v2.379a1.5 1.5 0 0 1-.44 1.06L2.294 9.707a1 1 0 0 0-.293.707V11a1 1 0 0 0 1 1h2a3 3 0 1 0 6 0h2a1 1 0 0 0 1-1v-.586a1 1 0 0 0-.293-.707L12.44 8.44A1.5 1.5 0 0 1 12 7.38V5Zm-5.5 7a1.5 1.5 0 0 0 3 0h-3Z",
2753
+ clipRule: "evenodd"
2754
+ }
2755
+ )
2756
+ }
2757
+ ), re = () => /* @__PURE__ */ e(
2758
+ "svg",
2759
+ {
2760
+ xmlns: "http://www.w3.org/2000/svg",
2761
+ viewBox: "0 0 16 16",
2762
+ fill: "currentColor",
2763
+ width: "16",
2764
+ height: "16",
2765
+ children: /* @__PURE__ */ e(
2766
+ "path",
2767
+ {
2768
+ fillRule: "evenodd",
2769
+ d: "M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z",
2770
+ clipRule: "evenodd"
2771
+ }
2772
+ )
2773
+ }
2774
+ ), te = () => /* @__PURE__ */ e(
2775
+ "svg",
2776
+ {
2777
+ xmlns: "http://www.w3.org/2000/svg",
2778
+ viewBox: "0 0 16 16",
2779
+ fill: "currentColor",
2780
+ width: "16",
2781
+ height: "16",
2782
+ children: /* @__PURE__ */ e(
2783
+ "path",
2784
+ {
2785
+ fillRule: "evenodd",
2786
+ d: "M4.22 6.22a.75.75 0 0 1 1.06 0L8 8.94l2.72-2.72a.75.75 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 7.28a.75.75 0 0 1 0-1.06Z",
2787
+ clipRule: "evenodd"
2788
+ }
2789
+ )
2790
+ }
2791
+ ), X = () => /* @__PURE__ */ e(
2792
+ "svg",
2793
+ {
2794
+ xmlns: "http://www.w3.org/2000/svg",
2795
+ viewBox: "0 0 16 16",
2796
+ fill: "currentColor",
2797
+ width: "16",
2798
+ height: "16",
2799
+ children: /* @__PURE__ */ e(
2800
+ "path",
2801
+ {
2802
+ fillRule: "evenodd",
2803
+ d: "M6.701 2.25c.577-1 2.02-1 2.598 0l5.196 9a1.5 1.5 0 0 1-1.299 2.25H2.804a1.5 1.5 0 0 1-1.3-2.25l5.197-9ZM8 4a.75.75 0 0 1 .75.75v3a.75.75 0 1 1-1.5 0v-3A.75.75 0 0 1 8 4Zm0 7.25a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z",
2804
+ clipRule: "evenodd"
2805
+ }
2806
+ )
2807
+ }
2808
+ ), We = () => /* @__PURE__ */ e(
2809
+ "svg",
2810
+ {
2811
+ xmlns: "http://www.w3.org/2000/svg",
2812
+ viewBox: "0 0 16 16",
2813
+ fill: "currentColor",
2814
+ width: "16",
2815
+ height: "16",
2816
+ children: /* @__PURE__ */ e(
2817
+ "path",
2818
+ {
2819
+ fillRule: "evenodd",
2820
+ d: "M14 4.75A2.75 2.75 0 0 0 11.25 2h-3A2.75 2.75 0 0 0 5.5 4.75v.5a.75.75 0 0 0 1.5 0v-.5c0-.69.56-1.25 1.25-1.25h3c.69 0 1.25.56 1.25 1.25v6.5c0 .69-.56 1.25-1.25 1.25h-3c-.69 0-1.25-.56-1.25-1.25v-.5a.75.75 0 0 0-1.5 0v.5A2.75 2.75 0 0 0 8.25 14h3A2.75 2.75 0 0 0 14 11.25v-6.5Zm-9.47.47a.75.75 0 0 0-1.06 0L1.22 7.47a.75.75 0 0 0 0 1.06l2.25 2.25a.75.75 0 1 0 1.06-1.06l-.97-.97h5.69a.75.75 0 0 0 0-1.5H3.56l.97-.97a.75.75 0 0 0 0-1.06Z",
2821
+ clipRule: "evenodd"
2822
+ }
2823
+ )
2824
+ }
2825
+ ), br = ({
2826
+ logo: t,
2827
+ productName: a = "Nombre Producto",
2828
+ environmentBadge: o,
2829
+ userDropdown: r,
2830
+ actions: n,
2831
+ notifications: s,
2832
+ className: c = "",
2833
+ variant: d = "responsive",
2834
+ hideActionButtons: b = !1,
2835
+ leadingAction: x,
2836
+ siesaLogo: i,
2837
+ showBusinessLogo: p = !1,
2838
+ showSiesaLogoLeading: m = !0,
2839
+ showSiesaLogoTrailing: u = !1,
2840
+ onNavigationClick: g,
2841
+ onSearchClick: y,
2842
+ onCartClick: f,
2843
+ onNotificationsClick: k
2844
+ }) => {
2845
+ const w = `
2846
+ box-border
2847
+ flex
2848
+ flex-col
2849
+ items-center
2850
+ justify-center
2851
+ p-1
2852
+ relative
2853
+ rounded-md
2854
+ shrink-0
2855
+ text-primary-custom-600
2856
+ hover:bg-background-secondary
2857
+ active:scale-95
2858
+ focus:outline-none
2859
+ focus:ring-2
2860
+ focus:ring-primary-custom-400
2861
+ focus:ring-offset-2
2862
+ dark:text-primary-custom-600
2863
+ dark:hover:bg-dark-bg-secondary
2864
+ dark:active:scale-95
2865
+ dark:focus:ring-dark-border-custom
2866
+ dark:focus:ring-offset-dark-bg-primary
2867
+ transition-all
2868
+ duration-150
2869
+ `, h = `
2870
+ bg-primary-custom-600
2871
+ text-primary-inverse-content
2872
+ border
2873
+ border-primary-custom-600
2874
+ shadow-button-inset
2875
+ hover:bg-primary-custom-500
2876
+ active:scale-95
2877
+ focus:outline-none
2878
+ focus:ring-2
2879
+ focus:ring-primary-custom-400
2880
+ focus:ring-offset-2
2881
+ dark:bg-dark-bg-inverse
2882
+ dark:text-dark-content-inverse
2883
+ dark:border-dark-bg-inverse
2884
+ dark:hover:bg-dark-bg-inverse/90
2885
+ dark:active:scale-95
2886
+ dark:focus:ring-dark-border-custom
2887
+ dark:focus:ring-offset-dark-bg-primary
2888
+ box-border
2889
+ flex
2890
+ flex-col
2891
+ items-center
2892
+ justify-center
2893
+ p-3
2894
+ relative
2895
+ rounded-md
2896
+ shrink-0
2897
+ transition-all
2898
+ duration-150
2899
+ `, v = d === "mobile", C = d === "desktop", N = d === "tablet", B = d === "responsive", R = () => {
2900
+ if (v) return null;
2901
+ const $ = /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(We, {}) });
2902
+ return C || N ? /* @__PURE__ */ e(
2903
+ "button",
2904
+ {
2905
+ className: h,
2906
+ "aria-label": "Volver",
2907
+ onClick: g,
2908
+ children: $
2909
+ }
2910
+ ) : /* @__PURE__ */ e(
2911
+ "button",
2912
+ {
2913
+ className: `hidden md:flex ${h}`,
2914
+ "aria-label": "Volver",
2915
+ onClick: g,
2916
+ children: $
2917
+ }
2918
+ );
2919
+ }, L = () => {
2920
+ if (v || !p) return null;
2921
+ const $ = /* @__PURE__ */ e(
2922
+ "img",
2923
+ {
2924
+ src: "/,Business Logo.png",
2925
+ alt: "Business Logo",
2926
+ className: "w-full h-full object-contain"
2927
+ }
2928
+ );
2929
+ return C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[168px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[140px] h-[25px]", children: $ }) : /* @__PURE__ */ e("div", { className: "hidden md:block overflow-hidden relative shrink-0 w-[140px] lg:w-[168px] h-[25px] lg:h-[30px]", children: $ });
2930
+ }, D = () => {
2931
+ const $ = /* @__PURE__ */ e(
2932
+ "img",
2933
+ {
2934
+ src: "/.Siesa Logo.png",
2935
+ alt: "Siesa",
2936
+ className: "w-full h-full object-contain"
2937
+ }
2938
+ ), Z = /* @__PURE__ */ e(
2939
+ "img",
2940
+ {
2941
+ src: "/siesa_logo_mobile.png",
2942
+ alt: "Siesa",
2943
+ className: "w-full h-full object-contain"
2944
+ }
2945
+ );
2946
+ return v ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[30px] h-[30px]", children: Z }) : m ? C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }) : /* @__PURE__ */ l(S, { children: [
2947
+ /* @__PURE__ */ e("div", { className: "md:hidden overflow-hidden relative shrink-0 w-[30px] h-[30px]", children: Z }),
2948
+ m && /* @__PURE__ */ l(S, { children: [
2949
+ /* @__PURE__ */ e("div", { className: "hidden md:block lg:hidden overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }),
2950
+ /* @__PURE__ */ e("div", { className: "hidden lg:block overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ })
2951
+ ] })
2952
+ ] }) : null;
2953
+ }, E = () => {
2954
+ if (!u || v) return null;
2955
+ const $ = /* @__PURE__ */ e(
2956
+ "img",
2957
+ {
2958
+ src: "/.Siesa Logo.png",
2959
+ alt: "Siesa",
2960
+ className: "w-full h-full object-contain"
2961
+ }
2962
+ );
2963
+ return C ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ }) : N ? /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }) : /* @__PURE__ */ l(S, { children: [
2964
+ /* @__PURE__ */ e("div", { className: "hidden md:block lg:hidden overflow-hidden relative shrink-0 w-[100px] h-[25px]", children: $ }),
2965
+ /* @__PURE__ */ e("div", { className: "hidden lg:block overflow-hidden relative shrink-0 w-[120px] h-[30px]", children: $ })
2966
+ ] });
2967
+ }, I = ({ responsive: $ = !0 }) => {
2968
+ const Z = /* @__PURE__ */ e("div", { className: "grow shrink-0 w-px min-h-px bg-border-primary dark:bg-dark-border-primary" });
2969
+ return v ? null : C || N ? /* @__PURE__ */ e("div", { className: "flex flex-col gap-2 h-8 items-start px-0 py-1 relative shrink-0", children: Z }) : $ ? /* @__PURE__ */ e("div", { className: "hidden md:flex flex-col gap-2 h-8 items-start px-0 py-1 relative shrink-0", children: Z }) : null;
2970
+ }, z = () => {
2971
+ if (v || !a) return null;
2972
+ const $ = /* @__PURE__ */ e("p", { className: "font-bold leading-7 text-xl text-content-primary dark:text-dark-content-primary tracking-[-0.5px] whitespace-nowrap", children: a });
2973
+ return C || N ? $ : /* @__PURE__ */ e("p", { className: "hidden md:block font-bold leading-7 text-xl text-content-primary dark:text-dark-content-primary tracking-[-0.5px] whitespace-nowrap", children: a });
2974
+ }, P = () => o ? v ? /* @__PURE__ */ e(
2975
+ G,
2976
+ {
2977
+ color: "yellow",
2978
+ leftIcon: /* @__PURE__ */ e(X, {}),
2979
+ label: "Pruebas"
2980
+ }
2981
+ ) : C || N ? /* @__PURE__ */ e(
2982
+ G,
2983
+ {
2984
+ color: "yellow",
2985
+ leftIcon: /* @__PURE__ */ e(X, {}),
2986
+ label: o
2987
+ }
2988
+ ) : /* @__PURE__ */ l(S, { children: [
2989
+ /* @__PURE__ */ e("div", { className: "md:hidden", children: /* @__PURE__ */ e(
2990
+ G,
2991
+ {
2992
+ color: "yellow",
2993
+ leftIcon: /* @__PURE__ */ e(X, {}),
2994
+ label: "Pruebas"
2995
+ }
2996
+ ) }),
2997
+ /* @__PURE__ */ e("div", { className: "hidden md:block", children: /* @__PURE__ */ e(
2998
+ G,
2999
+ {
3000
+ color: "yellow",
3001
+ leftIcon: /* @__PURE__ */ e(X, {}),
3002
+ label: o
3003
+ }
3004
+ ) })
3005
+ ] }) : null, _ = () => b ? null : v ? /* @__PURE__ */ e(
3006
+ "button",
3007
+ {
3008
+ className: w,
3009
+ "aria-label": "Buscar",
3010
+ onClick: y,
3011
+ children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(re, {}) })
3012
+ }
3013
+ ) : B ? /* @__PURE__ */ e(
3014
+ "button",
3015
+ {
3016
+ className: `md:hidden ${w}`,
3017
+ "aria-label": "Buscar",
3018
+ onClick: y,
3019
+ children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(re, {}) })
3020
+ }
3021
+ ) : null, M = () => b ? null : /* @__PURE__ */ l("div", { className: "relative", children: [
3022
+ /* @__PURE__ */ e(
3023
+ "button",
3024
+ {
3025
+ className: w,
3026
+ "aria-label": "Carrito de compras",
3027
+ onClick: f,
3028
+ children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(He, {}) })
3029
+ }
3030
+ ),
3031
+ s?.cart !== void 0 && s.cart > 0 && /* @__PURE__ */ e("div", { className: "absolute bg-error-content dark:bg-error-content flex flex-col gap-2.5 h-4 items-center justify-center left-[calc(50%+8px)] px-1 py-0 rounded-full top-[calc(50%-8px)] -translate-x-1/2 -translate-y-1/2 pointer-events-none min-w-[16px]", children: /* @__PURE__ */ e("p", { className: "font-bold leading-3 text-[10px] text-white text-center whitespace-nowrap", children: s.cart > 99 ? "+99" : s.cart }) })
3032
+ ] }), O = () => b ? null : /* @__PURE__ */ l("div", { className: "relative", children: [
3033
+ /* @__PURE__ */ e(
3034
+ "button",
3035
+ {
3036
+ className: w,
3037
+ "aria-label": "Notificaciones",
3038
+ onClick: k,
3039
+ children: /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-4 h-4", children: /* @__PURE__ */ e(Fe, {}) })
3040
+ }
3041
+ ),
3042
+ s?.bell && /* @__PURE__ */ e("div", { className: "absolute w-2 h-2 bg-error-content dark:bg-error-content rounded-full left-[calc(50%+4px)] top-[calc(50%-8px)] -translate-x-1/2 pointer-events-none" })
3043
+ ] }), U = () => {
3044
+ if (!r) return null;
3045
+ const $ = `
3046
+ box-border
3047
+ flex
3048
+ items-center
3049
+ justify-center
3050
+ overflow-hidden
3051
+ p-0
3052
+ relative
3053
+ shrink-0
3054
+ hover:bg-background-secondary
3055
+ active:scale-95
3056
+ focus:outline-none
3057
+ focus:ring-2
3058
+ focus:ring-primary-custom-400
3059
+ focus:ring-offset-2
3060
+ dark:hover:bg-dark-bg-secondary
3061
+ dark:active:scale-95
3062
+ dark:focus:ring-dark-border-custom
3063
+ dark:focus:ring-offset-dark-bg-primary
3064
+ rounded-lg
3065
+ transition-all
3066
+ duration-150
3067
+ `;
3068
+ if (v)
3069
+ return /* @__PURE__ */ e(
3070
+ "button",
3071
+ {
3072
+ className: $,
3073
+ onClick: r.onMenuClick,
3074
+ "aria-label": "Menú de usuario",
3075
+ children: /* @__PURE__ */ e("div", { className: "relative rounded-full shrink-0 w-8 h-8", children: /* @__PURE__ */ e(
3076
+ "img",
3077
+ {
3078
+ alt: r.name,
3079
+ className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-full w-full h-full",
3080
+ src: r.avatar
3081
+ }
3082
+ ) })
3083
+ }
3084
+ );
3085
+ const Z = () => /* @__PURE__ */ e(
3086
+ "button",
3087
+ {
3088
+ className: $,
3089
+ onClick: r.onMenuClick,
3090
+ "aria-label": "Menú de usuario",
3091
+ children: /* @__PURE__ */ l("div", { className: "box-border flex gap-3 items-center justify-center overflow-hidden px-3 py-2 relative rounded-lg shrink-0", children: [
3092
+ /* @__PURE__ */ l("div", { className: "flex gap-3 items-center justify-center relative shrink-0", children: [
3093
+ /* @__PURE__ */ e("div", { className: "flex items-center justify-center relative shrink-0", children: /* @__PURE__ */ e("div", { className: "relative rounded-md shrink-0 w-10 h-10", children: /* @__PURE__ */ e(
3094
+ "img",
3095
+ {
3096
+ alt: r.name,
3097
+ className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-md w-full h-full",
3098
+ src: r.avatar
3099
+ }
3100
+ ) }) }),
3101
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 items-start justify-center relative shrink-0 w-[123px]", children: [
3102
+ /* @__PURE__ */ e("p", { className: "leading-5 relative shrink-0 text-sm text-content-primary dark:text-dark-content-primary whitespace-nowrap font-normal", children: r.name }),
3103
+ (r.email || r.role) && /* @__PURE__ */ e("p", { className: "leading-4 min-w-full relative shrink-0 text-xs text-content-secondary dark:text-content-secondary w-min whitespace-nowrap overflow-hidden text-ellipsis", children: r.email || r.role })
3104
+ ] })
3105
+ ] }),
3106
+ /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-5 h-5 text-content-secondary dark:text-content-secondary", children: /* @__PURE__ */ e(te, {}) })
3107
+ ] })
3108
+ }
3109
+ );
3110
+ return C || N ? Z() : /* @__PURE__ */ l(S, { children: [
3111
+ /* @__PURE__ */ e(
3112
+ "button",
3113
+ {
3114
+ className: `md:hidden ${$}`,
3115
+ onClick: r.onMenuClick,
3116
+ "aria-label": "Menú de usuario",
3117
+ children: /* @__PURE__ */ e("div", { className: "relative rounded-full shrink-0 w-8 h-8", children: /* @__PURE__ */ e(
3118
+ "img",
3119
+ {
3120
+ alt: r.name,
3121
+ className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-full w-full h-full",
3122
+ src: r.avatar
3123
+ }
3124
+ ) })
3125
+ }
3126
+ ),
3127
+ /* @__PURE__ */ e(
3128
+ "button",
3129
+ {
3130
+ className: `hidden md:flex ${$}`,
3131
+ onClick: r.onMenuClick,
3132
+ "aria-label": "Menú de usuario",
3133
+ children: /* @__PURE__ */ l("div", { className: "box-border flex gap-3 items-center justify-center overflow-hidden px-3 py-2 relative rounded-lg shrink-0", children: [
3134
+ /* @__PURE__ */ l("div", { className: "flex gap-3 items-center justify-center relative shrink-0", children: [
3135
+ /* @__PURE__ */ e("div", { className: "flex items-center justify-center relative shrink-0", children: /* @__PURE__ */ e("div", { className: "relative rounded-md shrink-0 w-10 h-10", children: /* @__PURE__ */ e(
3136
+ "img",
3137
+ {
3138
+ alt: r.name,
3139
+ className: "absolute inset-0 max-w-none object-center object-cover pointer-events-none rounded-md w-full h-full",
3140
+ src: r.avatar
3141
+ }
3142
+ ) }) }),
3143
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-0.5 items-start justify-center relative shrink-0 w-[123px]", children: [
3144
+ /* @__PURE__ */ e("p", { className: "leading-5 relative shrink-0 text-sm text-content-primary dark:text-dark-content-primary whitespace-nowrap font-normal", children: r.name }),
3145
+ (r.email || r.role) && /* @__PURE__ */ e("p", { className: "leading-4 min-w-full relative shrink-0 text-xs text-content-secondary dark:text-content-secondary w-min whitespace-nowrap overflow-hidden text-ellipsis", children: r.email || r.role })
3146
+ ] })
3147
+ ] }),
3148
+ /* @__PURE__ */ e("div", { className: "overflow-hidden relative shrink-0 w-5 h-5 text-content-secondary dark:text-content-secondary", children: /* @__PURE__ */ e(te, {}) })
3149
+ ] })
3150
+ }
3151
+ )
3152
+ ] });
3153
+ }, Q = [`
3154
+ box-border
3155
+ flex
3156
+ gap-8
3157
+ items-center
3158
+ px-4
3159
+ py-1
3160
+ relative
3161
+ w-full
3162
+ bg-background-primary
3163
+ dark:bg-dark-bg-primary
3164
+ `, {
3165
+ responsive: "h-[40px] md:h-16",
3166
+ desktop: "h-16",
3167
+ tablet: "h-16",
3168
+ mobile: "h-[40px]"
3169
+ }[d], c].join(" ").replace(/\s+/g, " ").trim();
3170
+ return /* @__PURE__ */ l("nav", { className: Q, children: [
3171
+ /* @__PURE__ */ l("div", { className: "flex gap-4 items-center relative shrink-0", children: [
3172
+ !v && (x || /* @__PURE__ */ e(R, {})),
3173
+ t || /* @__PURE__ */ e(L, {}),
3174
+ p && m && !v && /* @__PURE__ */ e(I, {}),
3175
+ i || /* @__PURE__ */ e(D, {}),
3176
+ a && m && !v && /* @__PURE__ */ e(I, {}),
3177
+ /* @__PURE__ */ e(z, {})
3178
+ ] }),
3179
+ /* @__PURE__ */ l("div", { className: "flex gap-4 items-center justify-end grow min-h-px min-w-px relative shrink-0", children: [
3180
+ /* @__PURE__ */ e(P, {}),
3181
+ /* @__PURE__ */ e(_, {}),
3182
+ /* @__PURE__ */ e(M, {}),
3183
+ /* @__PURE__ */ e(O, {}),
3184
+ r && !b && /* @__PURE__ */ e(I, {}),
3185
+ /* @__PURE__ */ e(U, {}),
3186
+ u && r && !v && /* @__PURE__ */ e(I, {}),
3187
+ /* @__PURE__ */ e(E, {}),
3188
+ n && /* @__PURE__ */ e("div", { className: "flex gap-2 items-center", children: n })
3189
+ ] })
3190
+ ] });
3191
+ }, mr = ({
3192
+ items: t,
3193
+ activeItemId: a,
3194
+ onItemClick: o,
3195
+ className: r = "",
3196
+ ariaLabel: n = "Navegación Principal"
3197
+ }) => {
3198
+ t.length > 5 && console.warn("NavigationBar: Se recomienda un máximo de 5 ítems para mejor UX");
3199
+ const s = (i) => {
3200
+ i.disabled || (i.onClick && i.onClick(i.id), o && o(i.id));
3201
+ }, c = (i) => {
3202
+ const p = i.active || i.id === a, m = `
3203
+ flex-1
3204
+ flex
3205
+ flex-col
3206
+ items-center
3207
+ gap-1
3208
+ px-0.5
3209
+ py-0
3210
+ min-w-0
3211
+ cursor-pointer
3212
+ transition-all
3213
+ duration-150
3214
+ ${i.disabled ? "opacity-50 cursor-not-allowed pointer-events-none" : ""}
3215
+ `.replace(/\s+/g, " ").trim(), u = `
3216
+ flex
3217
+ items-center
3218
+ justify-center
3219
+ px-4
3220
+ py-1
3221
+ rounded-full
3222
+ overflow-hidden
3223
+ transition-all
3224
+ duration-150
3225
+ ${p ? "bg-primary-custom-100 dark:bg-primary-custom-100" : "bg-transparent hover:bg-hover-overlay dark:hover:bg-hover-overlay-dark"}
3226
+ `.replace(/\s+/g, " ").trim(), g = `
3227
+ font-['SiesaBT:Bold',sans-serif]
3228
+ text-[10px]
3229
+ leading-[12px]
3230
+ font-bold
3231
+ text-center
3232
+ w-full
3233
+ min-w-0
3234
+ text-content-primary
3235
+ dark:text-dark-content-primary
3236
+ transition-colors
3237
+ duration-150
3238
+ `.replace(/\s+/g, " ").trim(), y = `
3239
+ w-4
3240
+ h-4
3241
+ shrink-0
3242
+ text-content-primary
3243
+ dark:text-dark-content-primary
3244
+ transition-colors
3245
+ duration-150
3246
+ `.replace(/\s+/g, " ").trim();
3247
+ return /* @__PURE__ */ l(
3248
+ "button",
3249
+ {
3250
+ type: "button",
3251
+ className: m,
3252
+ onClick: () => s(i),
3253
+ disabled: i.disabled,
3254
+ "aria-label": i.ariaLabel || i.label,
3255
+ "aria-current": p ? "page" : void 0,
3256
+ children: [
3257
+ /* @__PURE__ */ e("div", { className: u, children: /* @__PURE__ */ e("span", { className: y, children: i.icon }) }),
3258
+ /* @__PURE__ */ e("span", { className: g, children: i.label })
3259
+ ]
3260
+ },
3261
+ i.id
3262
+ );
3263
+ }, d = `
3264
+ bg-bg-primary
3265
+ dark:bg-dark-bg-primary
3266
+ p-4
3267
+ w-full
3268
+ transition-colors
3269
+ duration-150
3270
+ `.replace(/\s+/g, " ").trim(), b = `
3271
+ flex
3272
+ items-start
3273
+ justify-center
3274
+ w-full
3275
+ `.replace(/\s+/g, " ").trim(), x = `
3276
+ flex-1
3277
+ flex
3278
+ items-start
3279
+ gap-2
3280
+ min-h-0
3281
+ min-w-0
3282
+ `.replace(/\s+/g, " ").trim();
3283
+ return /* @__PURE__ */ e(
3284
+ "nav",
3285
+ {
3286
+ className: `${d} ${r}`.trim(),
3287
+ role: "navigation",
3288
+ "aria-label": n,
3289
+ children: /* @__PURE__ */ e("div", { className: b, children: /* @__PURE__ */ e("div", { className: x, children: t.map((i) => c(i)) }) })
3290
+ }
3291
+ );
3292
+ }, Oe = ({ lightColor: t, darkColor: a, className: o = "" }) => /* @__PURE__ */ l(
3293
+ "svg",
3294
+ {
3295
+ className: `w-4 h-4 shrink-0 ${o}`.trim(),
3296
+ xmlns: "http://www.w3.org/2000/svg",
3297
+ viewBox: "0 0 16 16",
3298
+ "aria-hidden": "true",
3299
+ children: [
3300
+ /* @__PURE__ */ e(
3301
+ "circle",
3302
+ {
3303
+ cx: "8",
3304
+ cy: "8",
3305
+ r: "8",
3306
+ fill: t,
3307
+ className: "dark:hidden"
3308
+ }
3309
+ ),
3310
+ /* @__PURE__ */ e(
3311
+ "circle",
3312
+ {
3313
+ cx: "8",
3314
+ cy: "8",
3315
+ r: "8",
3316
+ fill: a,
3317
+ className: "hidden dark:block"
3318
+ }
3319
+ )
3320
+ ]
3321
+ }
3322
+ ), pr = ({
3323
+ status: t = "available",
3324
+ className: a = ""
3325
+ }) => {
3326
+ const r = {
3327
+ available: {
3328
+ lightColor: "#0e79fd",
3329
+ // Azul - contentCustomPrimary Light
3330
+ darkColor: "#93d1fd",
3331
+ // Azul claro - contentCustomPrimary Dark
3332
+ label: "Disponible"
3333
+ },
3334
+ occupied: {
3335
+ lightColor: "#af460e",
3336
+ // Naranja - contentOrange Light
3337
+ darkColor: "#f5a927",
3338
+ // Amarillo - contentYellow Dark
3339
+ label: "Ocupada"
3340
+ },
3341
+ reserved: {
3342
+ lightColor: "#7e22ce",
3343
+ // Morado - contentPurple Light
3344
+ darkColor: "#c084fc",
3345
+ // Morado claro - contentPurple Dark
3346
+ label: "Reservada"
3347
+ },
3348
+ outOfService: {
3349
+ lightColor: "#3f3f46",
3350
+ // Gris - contentZinc Light (zinc-700)
3351
+ darkColor: "#a1a1aa",
3352
+ // Gris claro - contentZinc Dark (zinc-400)
3353
+ label: "Fuera de Servicio"
3354
+ }
3355
+ }[t], s = [`
3356
+ inline-flex
3357
+ items-center
3358
+ gap-1
3359
+ shrink-0
3360
+ `, a].join(" ").replace(/\s+/g, " ").trim();
3361
+ return /* @__PURE__ */ l(
3362
+ "div",
3363
+ {
3364
+ className: s,
3365
+ role: "presentation",
3366
+ "aria-label": `Estado: ${r.label}`,
3367
+ children: [
3368
+ /* @__PURE__ */ e(Oe, { lightColor: r.lightColor, darkColor: r.darkColor }),
3369
+ /* @__PURE__ */ e(
3370
+ "span",
3371
+ {
3372
+ className: `
3373
+ text-xs
3374
+ leading-4
3375
+ font-normal
3376
+ text-content-primary
3377
+ dark:text-dark-content-primary
3378
+ whitespace-nowrap
3379
+ `.replace(/\s+/g, " ").trim(),
3380
+ children: r.label
3381
+ }
3382
+ )
3383
+ ]
3384
+ }
3385
+ );
3386
+ }, Pe = ({ className: t = "" }) => /* @__PURE__ */ e(
3387
+ "svg",
3388
+ {
3389
+ width: "12",
3390
+ height: "12",
3391
+ viewBox: "0 0 12 12",
3392
+ fill: "none",
3393
+ xmlns: "http://www.w3.org/2000/svg",
3394
+ className: t,
3395
+ children: /* @__PURE__ */ e(
3396
+ "path",
3397
+ {
3398
+ d: "M10 3L4.5 8.5L2 6",
3399
+ stroke: "currentColor",
3400
+ strokeWidth: "1.5",
3401
+ strokeLinecap: "round",
3402
+ strokeLinejoin: "round"
3403
+ }
3404
+ )
3405
+ }
3406
+ ), Ue = ({ className: t = "" }) => /* @__PURE__ */ e(
3407
+ "svg",
3408
+ {
3409
+ width: "12",
3410
+ height: "12",
3411
+ viewBox: "0 0 12 12",
3412
+ fill: "none",
3413
+ xmlns: "http://www.w3.org/2000/svg",
3414
+ className: t,
3415
+ children: /* @__PURE__ */ e(
3416
+ "path",
3417
+ {
3418
+ d: "M9 3L3 9M3 3L9 9",
3419
+ stroke: "currentColor",
3420
+ strokeWidth: "1.5",
3421
+ strokeLinecap: "round",
3422
+ strokeLinejoin: "round"
3423
+ }
3424
+ )
3425
+ }
3426
+ ), Ge = ({ className: t = "" }) => /* @__PURE__ */ e(
3427
+ "svg",
3428
+ {
3429
+ width: "12",
3430
+ height: "12",
3431
+ viewBox: "0 0 12 12",
3432
+ fill: "none",
3433
+ xmlns: "http://www.w3.org/2000/svg",
3434
+ className: t,
3435
+ children: /* @__PURE__ */ e(
3436
+ "path",
3437
+ {
3438
+ d: "M10.5 5H1.5M8.5 1V3M3.5 1V3M3.25 11H8.75C9.57843 11 10.25 10.3284 10.25 9.5V3.5C10.25 2.67157 9.57843 2 8.75 2H3.25C2.42157 2 1.75 2.67157 1.75 3.5V9.5C1.75 10.3284 2.42157 11 3.25 11Z",
3439
+ stroke: "currentColor",
3440
+ strokeWidth: "1.5",
3441
+ strokeLinecap: "round",
3442
+ strokeLinejoin: "round"
3443
+ }
3444
+ )
3445
+ }
3446
+ ), Ke = ({ className: t = "" }) => /* @__PURE__ */ l(
3447
+ "svg",
3448
+ {
3449
+ width: "12",
3450
+ height: "12",
3451
+ viewBox: "0 0 12 12",
3452
+ fill: "none",
3453
+ xmlns: "http://www.w3.org/2000/svg",
3454
+ className: t,
3455
+ children: [
3456
+ /* @__PURE__ */ e(
3457
+ "path",
3458
+ {
3459
+ d: "M10.5 6C10.5 8.48528 8.48528 10.5 6 10.5C3.51472 10.5 1.5 8.48528 1.5 6C1.5 3.51472 3.51472 1.5 6 1.5C8.48528 1.5 10.5 3.51472 10.5 6Z",
3460
+ stroke: "currentColor",
3461
+ strokeWidth: "1.5"
3462
+ }
3463
+ ),
3464
+ /* @__PURE__ */ e(
3465
+ "path",
3466
+ {
3467
+ d: "M9.18198 2.81802L2.81802 9.18198",
3468
+ stroke: "currentColor",
3469
+ strokeWidth: "1.5",
3470
+ strokeLinecap: "round"
3471
+ }
3472
+ )
3473
+ ]
3474
+ }
3475
+ ), qe = ({ className: t = "" }) => /* @__PURE__ */ e(
3476
+ "svg",
3477
+ {
3478
+ width: "13",
3479
+ height: "10",
3480
+ viewBox: "0 0 13 10",
3481
+ fill: "none",
3482
+ xmlns: "http://www.w3.org/2000/svg",
3483
+ className: t,
3484
+ children: /* @__PURE__ */ e(
3485
+ "path",
3486
+ {
3487
+ d: "M9.25 9V8C9.25 6.89543 8.35457 6 7.25 6H2.75C1.64543 6 0.75 6.89543 0.75 8V9M12.25 9V8C12.25 6.89543 11.3546 6 10.25 6H9.75M7 2.5C7 3.60457 6.10457 4.5 5 4.5C3.89543 4.5 3 3.60457 3 2.5C3 1.39543 3.89543 0.5 5 0.5C6.10457 0.5 7 1.39543 7 2.5ZM10 2C10 2.82843 9.32843 3.5 8.5 3.5C7.67157 3.5 7 2.82843 7 2C7 1.17157 7.67157 0.5 8.5 0.5C9.32843 0.5 10 1.17157 10 2Z",
3488
+ stroke: "currentColor",
3489
+ strokeWidth: "1",
3490
+ strokeLinecap: "round",
3491
+ strokeLinejoin: "round"
3492
+ }
3493
+ )
3494
+ }
3495
+ ), gr = ({
3496
+ locationName: t,
3497
+ status: a = "available",
3498
+ state: o = "enabled",
3499
+ capacity: r,
3500
+ onClick: n,
3501
+ disabled: s = !1,
3502
+ className: c = "",
3503
+ ariaLabel: d,
3504
+ fullWidth: b = !0
3505
+ }) => {
3506
+ const i = {
3507
+ available: {
3508
+ // Azul Primary Custom (según Figma: #0e79fd)
3509
+ textColor: "text-primary-custom-600 dark:text-primary-custom-600",
3510
+ badgeBg: "bg-primary-custom-100 dark:bg-blue-900/30",
3511
+ badgeText: "text-primary-custom-600 dark:text-blue-400",
3512
+ activedBg: "bg-primary-custom-100 dark:bg-blue-900/30",
3513
+ icon: Pe,
3514
+ badgeLabel: "Disponible"
3515
+ },
3516
+ occupied: {
3517
+ // Naranja/Yellow (según Figma: #af460e para texto, #fcedc9 para fondo)
3518
+ textColor: "text-[#af460e] dark:text-orange-400",
3519
+ badgeBg: "bg-[#fcedc9] dark:bg-yellow-900/30",
3520
+ badgeText: "text-[#af460e] dark:text-orange-400",
3521
+ activedBg: "bg-[#fcedc9] dark:bg-yellow-900/30",
3522
+ icon: Ue,
3523
+ badgeLabel: "Ocupada"
3524
+ },
3525
+ reserved: {
3526
+ // Morado/Purple (según Figma: #7e22ce para texto, #f3e8ff para fondo)
3527
+ textColor: "text-[#7e22ce] dark:text-fuchsia-400",
3528
+ badgeBg: "bg-[#f3e8ff] dark:bg-purple-900/30",
3529
+ badgeText: "text-[#7e22ce] dark:text-purple-400",
3530
+ activedBg: "bg-[#f3e8ff] dark:bg-purple-900/30",
3531
+ icon: Ge,
3532
+ badgeLabel: "Reservada"
3533
+ },
3534
+ outOfService: {
3535
+ // Gris/Zinc (según Figma: #3f3f46 para texto, #f4f4f5 para fondo)
3536
+ textColor: "text-[#3f3f46] dark:text-zinc-400",
3537
+ badgeBg: "bg-[#f4f4f5] dark:bg-zinc-800/30",
3538
+ badgeText: "text-content-tertiary dark:text-zinc-400",
3539
+ activedBg: "bg-[#f4f4f5] dark:bg-zinc-800/30",
3540
+ icon: Ke,
3541
+ badgeLabel: "F. de Servicio"
3542
+ }
3543
+ }[a], p = i.icon, m = o === "actived" ? i.activedBg : "bg-white dark:bg-dark-bg-primary", y = [`
3544
+ flex
3545
+ flex-col
3546
+ items-stretch
3547
+ justify-between
3548
+ ${b ? "w-full" : "w-[189px]"}
3549
+ h-[68px]
3550
+ p-2
3551
+ rounded-lg
3552
+ cursor-pointer
3553
+ transition-all
3554
+ duration-150
3555
+ focus:outline-none
3556
+ focus:ring-2
3557
+ focus:ring-primary-custom-400
3558
+ focus:ring-offset-2
3559
+ dark:focus:ring-dark-border-custom
3560
+ dark:focus:ring-offset-dark-bg-primary
3561
+ hover:shadow-md
3562
+ active:scale-[0.98]
3563
+ disabled:opacity-50
3564
+ disabled:cursor-not-allowed
3565
+ disabled:pointer-events-none
3566
+ `, m, c].join(" ").replace(/\s+/g, " ").trim(), f = r ? `${r.current}/${r.total} mesas` : null;
3567
+ return /* @__PURE__ */ l(
3568
+ "button",
3569
+ {
3570
+ className: y,
3571
+ onClick: n,
3572
+ disabled: s,
3573
+ "aria-label": d || `${t} - ${i.badgeLabel}`,
3574
+ type: "button",
3575
+ children: [
3576
+ /* @__PURE__ */ e(
3577
+ "div",
3578
+ {
3579
+ className: `
3580
+ text-base
3581
+ font-bold
3582
+ leading-6
3583
+ ${i.textColor}
3584
+ `.replace(/\s+/g, " ").trim(),
3585
+ children: t
3586
+ }
3587
+ ),
3588
+ /* @__PURE__ */ l("div", { className: "flex items-center justify-between", children: [
3589
+ f && /* @__PURE__ */ l("div", { className: "flex items-center gap-1", children: [
3590
+ /* @__PURE__ */ e(qe, { className: i.textColor }),
3591
+ /* @__PURE__ */ e(
3592
+ "span",
3593
+ {
3594
+ className: `
3595
+ text-[10px]
3596
+ leading-[12px]
3597
+ ${i.textColor}
3598
+ `.replace(/\s+/g, " ").trim(),
3599
+ children: f
3600
+ }
3601
+ )
3602
+ ] }),
3603
+ /* @__PURE__ */ l(
3604
+ "div",
3605
+ {
3606
+ className: `
3607
+ inline-flex
3608
+ items-center
3609
+ gap-1
3610
+ px-1.5
3611
+ py-1
3612
+ rounded-md
3613
+ ${i.badgeBg}
3614
+ `.replace(/\s+/g, " ").trim(),
3615
+ children: [
3616
+ /* @__PURE__ */ e(p, { className: i.badgeText }),
3617
+ /* @__PURE__ */ e(
3618
+ "span",
3619
+ {
3620
+ className: `
3621
+ text-xs
3622
+ leading-4
3623
+ ${i.badgeText}
3624
+ `.replace(/\s+/g, " ").trim(),
3625
+ children: i.badgeLabel
3626
+ }
3627
+ )
3628
+ ]
3629
+ }
3630
+ )
3631
+ ] })
3632
+ ]
3633
+ }
3634
+ );
3635
+ }, xr = ({
3636
+ size: t = "l",
3637
+ border: a = !1,
3638
+ children: o,
3639
+ disabled: r = !1,
3640
+ className: n = "",
3641
+ onClick: s,
3642
+ ariaLabel: c,
3643
+ htmlType: d = "button",
3644
+ ...b
3645
+ }) => {
3646
+ const x = {
3647
+ s: "w-10 h-10",
3648
+ // 40x40px
3649
+ m: "w-[65px] h-[65px]",
3650
+ // 65x65px
3651
+ l: "w-20 h-20"
3652
+ // 80x80px
3653
+ }, i = {
3654
+ s: "text-2xl",
3655
+ // 24px para botones pequeños
3656
+ m: "text-5xl",
3657
+ // 48px Display Tiny
3658
+ l: "text-5xl"
3659
+ // 48px Display Tiny
3660
+ }, g = [
3661
+ `
3662
+ inline-flex
3663
+ items-center
3664
+ justify-center
3665
+ rounded-lg
3666
+ font-bold
3667
+ tracking-tighter
3668
+ whitespace-nowrap
3669
+ cursor-pointer
3670
+ focus:outline-none
3671
+ focus:ring-2
3672
+ focus:ring-primary-custom-400
3673
+ focus:ring-offset-2
3674
+ dark:focus:ring-dark-border-custom
3675
+ dark:focus:ring-offset-dark-bg-primary
3676
+ disabled:opacity-50
3677
+ disabled:cursor-not-allowed
3678
+ disabled:pointer-events-none
3679
+ transition-all
3680
+ duration-150
3681
+ `,
3682
+ x[t],
3683
+ i[t],
3684
+ a ? `
3685
+ bg-white
3686
+ text-content-primary
3687
+ border
3688
+ border-border-primary
3689
+ hover:bg-primary-custom-600
3690
+ hover:text-primary-inverse-content
3691
+ hover:border-primary-inverse-border
3692
+ active:bg-primary-custom-600
3693
+ active:text-primary-inverse-content
3694
+ active:border-primary-inverse-border
3695
+ active:scale-95
3696
+ dark:bg-dark-bg-primary
3697
+ dark:text-dark-content-primary
3698
+ dark:border-dark-border-primary
3699
+ dark:hover:bg-dark-bg-inverse
3700
+ dark:hover:text-dark-content-inverse
3701
+ dark:hover:border-primary-inverse-border
3702
+ dark:active:bg-dark-bg-inverse
3703
+ dark:active:text-dark-content-inverse
3704
+ dark:active:border-primary-inverse-border
3705
+ dark:active:scale-95
3706
+ ` : `
3707
+ bg-white
3708
+ text-content-primary
3709
+ hover:bg-primary-custom-600
3710
+ hover:text-primary-inverse-content
3711
+ active:bg-primary-custom-600
3712
+ active:text-primary-inverse-content
3713
+ active:scale-95
3714
+ dark:bg-dark-bg-primary
3715
+ dark:text-dark-content-primary
3716
+ dark:hover:bg-dark-bg-inverse
3717
+ dark:hover:text-dark-content-inverse
3718
+ dark:active:bg-dark-bg-inverse
3719
+ dark:active:text-dark-content-inverse
3720
+ dark:active:scale-95
3721
+ `,
3722
+ n
3723
+ ].join(" ").replace(/\s+/g, " ").trim();
3724
+ return /* @__PURE__ */ e(
3725
+ "button",
3726
+ {
3727
+ type: d,
3728
+ className: g,
3729
+ disabled: r,
3730
+ onClick: s,
3731
+ "aria-label": c || `Número ${o}`,
3732
+ ...b,
3733
+ children: o
3734
+ }
3735
+ );
3736
+ }, ur = ({
3737
+ image: t,
3738
+ label: a,
3739
+ active: o = !1,
3740
+ disabled: r = !1,
3741
+ onClick: n,
3742
+ className: s = "",
3743
+ ariaLabel: c
3744
+ }) => {
3745
+ const x = [`
3746
+ flex
3747
+ flex-col
3748
+ gap-2
3749
+ p-3
3750
+ rounded-lg
3751
+ font-bold
3752
+ text-sm
3753
+ transition-all
3754
+ duration-150
3755
+ focus:outline-none
3756
+ focus:ring-2
3757
+ focus:ring-primary-custom-400
3758
+ focus:ring-offset-2
3759
+ dark:focus:ring-dark-border-custom
3760
+ dark:focus:ring-offset-dark-bg-primary
3761
+ `, r ? `
3762
+ bg-white
3763
+ text-content-primary
3764
+ opacity-55
3765
+ cursor-not-allowed
3766
+ pointer-events-none
3767
+ dark:bg-dark-bg-primary
3768
+ dark:text-dark-content-primary
3769
+ ` : o ? `
3770
+ bg-primary-custom-100
3771
+ text-primary-custom-600
3772
+ cursor-pointer
3773
+ hover:bg-primary-custom-100
3774
+ active:scale-95
3775
+ dark:bg-primary-custom-100/20
3776
+ dark:text-primary-custom-600
3777
+ dark:hover:bg-primary-custom-100/30
3778
+ dark:active:scale-95
3779
+ ` : `
3780
+ bg-white
3781
+ text-content-primary
3782
+ cursor-pointer
3783
+ hover:bg-background-secondary
3784
+ active:scale-95
3785
+ dark:bg-dark-bg-primary
3786
+ dark:text-dark-content-primary
3787
+ dark:hover:bg-dark-bg-primary/80
3788
+ dark:active:scale-95
3789
+ `, s].join(" ").replace(/\s+/g, " ").trim();
3790
+ return /* @__PURE__ */ l(
3791
+ "button",
3792
+ {
3793
+ type: "button",
3794
+ className: x,
3795
+ disabled: r,
3796
+ onClick: n,
3797
+ "aria-label": c || a,
3798
+ "aria-pressed": o,
3799
+ children: [
3800
+ /* @__PURE__ */ e("div", { className: "aspect-[158/80] w-full rounded-lg overflow-hidden", children: /* @__PURE__ */ e(
3801
+ "img",
3802
+ {
3803
+ src: t,
3804
+ alt: a,
3805
+ className: "w-full h-full object-cover"
3806
+ }
3807
+ ) }),
3808
+ /* @__PURE__ */ e("div", { className: "w-full text-left leading-5", children: a })
3809
+ ]
3810
+ }
3811
+ );
3812
+ }, Qe = ({ className: t = "" }) => /* @__PURE__ */ e(
3813
+ "svg",
3814
+ {
3815
+ width: "16",
3816
+ height: "16",
3817
+ viewBox: "0 0 16 16",
3818
+ fill: "none",
3819
+ xmlns: "http://www.w3.org/2000/svg",
3820
+ className: t,
3821
+ "aria-hidden": "true",
3822
+ children: /* @__PURE__ */ e(
3823
+ "path",
3824
+ {
3825
+ d: "M8 3V13M3 8H13",
3826
+ stroke: "currentColor",
3827
+ strokeWidth: "1.5",
3828
+ strokeLinecap: "round",
3829
+ strokeLinejoin: "round"
3830
+ }
3831
+ )
3832
+ }
3833
+ ), fr = ({
3834
+ image: t,
3835
+ productName: a,
3836
+ price: o,
3837
+ buttonText: r = "Agregar",
3838
+ active: n = !1,
3839
+ disabled: s = !1,
3840
+ onAddClick: c,
3841
+ onCardClick: d,
3842
+ className: b = "",
3843
+ ariaLabel: x
3844
+ }) => {
3845
+ const i = `
3846
+ flex
3847
+ flex-col
3848
+ gap-2
3849
+ p-3
3850
+ rounded-lg
3851
+ w-[170px]
3852
+ transition-all
3853
+ duration-150
3854
+ focus:outline-none
3855
+ focus:ring-2
3856
+ focus:ring-primary-custom-400
3857
+ focus:ring-offset-2
3858
+ dark:focus:ring-dark-border-custom
3859
+ dark:focus:ring-offset-dark-bg-primary
3860
+ `, p = s ? `
3861
+ bg-white
3862
+ opacity-55
3863
+ cursor-not-allowed
3864
+ dark:bg-dark-bg-primary
3865
+ ` : n ? `
3866
+ bg-primary-custom-100
3867
+ cursor-pointer
3868
+ dark:bg-dark-bg-custom
3869
+ ` : `
3870
+ bg-white
3871
+ cursor-pointer
3872
+ dark:bg-dark-bg-primary
3873
+ `, m = s ? `
3874
+ text-content-primary
3875
+ dark:text-dark-content-primary
3876
+ ` : n ? `
3877
+ text-primary-custom-600
3878
+ dark:text-dark-content-custom
3879
+ ` : `
3880
+ text-content-primary
3881
+ dark:text-dark-content-primary
3882
+ `, u = [i, p, b].join(" ").replace(/\s+/g, " ").trim(), g = (f) => {
3883
+ s || f.target.closest("button") || d?.(f);
3884
+ }, y = (f) => {
3885
+ f.stopPropagation(), !s && c?.(f);
3886
+ };
3887
+ return /* @__PURE__ */ l(
3888
+ "div",
3889
+ {
3890
+ className: u,
3891
+ onClick: g,
3892
+ role: "article",
3893
+ "aria-label": x || `${a} - ${o}`,
3894
+ tabIndex: s ? -1 : 0,
3895
+ children: [
3896
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-3 w-full", children: [
3897
+ /* @__PURE__ */ e("div", { className: "h-[88px] w-full rounded-lg overflow-hidden", children: /* @__PURE__ */ e(
3898
+ "img",
3899
+ {
3900
+ src: t,
3901
+ alt: a,
3902
+ className: "w-full h-full object-cover"
3903
+ }
3904
+ ) }),
3905
+ /* @__PURE__ */ l("div", { className: `flex flex-col w-full font-bold ${m}`.trim().replace(/\s+/g, " "), children: [
3906
+ /* @__PURE__ */ e("div", { className: "text-sm leading-5", children: a }),
3907
+ /* @__PURE__ */ e("div", { className: "text-2xl leading-8 tracking-tighter", children: o })
3908
+ ] })
3909
+ ] }),
3910
+ /* @__PURE__ */ e(
3911
+ Y,
3912
+ {
3913
+ type: "default",
3914
+ size: "sm",
3915
+ leftIcon: /* @__PURE__ */ e(Qe, { className: "w-4 h-4" }),
3916
+ onClick: y,
3917
+ disabled: s,
3918
+ fullWidth: !0,
3919
+ ariaLabel: `${r} ${a}`,
3920
+ children: r
3921
+ }
3922
+ )
3923
+ ]
3924
+ }
3925
+ );
3926
+ }, Xe = ({ className: t = "" }) => /* @__PURE__ */ e(
3927
+ "svg",
3928
+ {
3929
+ className: t,
3930
+ xmlns: "http://www.w3.org/2000/svg",
3931
+ viewBox: "0 0 16 16",
3932
+ fill: "currentColor",
3933
+ "aria-hidden": "true",
3934
+ children: /* @__PURE__ */ e(
3935
+ "path",
3936
+ {
3937
+ fillRule: "evenodd",
3938
+ d: "M5 3.25V4H2.75a.75.75 0 0 0 0 1.5h.3l.815 8.15A1.5 1.5 0 0 0 5.357 15h5.285a1.5 1.5 0 0 0 1.493-1.35l.815-8.15h.3a.75.75 0 0 0 0-1.5H11v-.75A2.25 2.25 0 0 0 8.75 1h-1.5A2.25 2.25 0 0 0 5 3.25Zm2.25-.75a.75.75 0 0 0-.75.75V4h3v-.75a.75.75 0 0 0-.75-.75h-1.5ZM6.05 6a.75.75 0 0 1 .787.713l.275 5.5a.75.75 0 0 1-1.498.075l-.275-5.5A.75.75 0 0 1 6.05 6Zm3.9 0a.75.75 0 0 1 .712.787l-.275 5.5a.75.75 0 0 1-1.498-.075l.275-5.5a.75.75 0 0 1 .786-.711Z",
3939
+ clipRule: "evenodd"
3940
+ }
3941
+ )
3942
+ }
3943
+ ), Je = ({
3944
+ categoryLabel: t,
3945
+ categoryColor: a = "lime",
3946
+ productRef: o,
3947
+ price: r,
3948
+ productName: n,
3949
+ descriptionItems: s = [],
3950
+ showDescription: c = !0,
3951
+ quantity: d = 0,
3952
+ minQuantity: b = 0,
3953
+ maxQuantity: x,
3954
+ onQuantityChange: i,
3955
+ onDelete: p,
3956
+ disabled: m = !1,
3957
+ className: u = "",
3958
+ deleteIcon: g
3959
+ }) => {
3960
+ const y = {
3961
+ lime: {
3962
+ bg: "bg-lime-100 dark:bg-lime-900/40",
3963
+ text: "text-lime-700 dark:text-lime-300"
3964
+ },
3965
+ red: {
3966
+ bg: "bg-red-100 dark:bg-red-900/40",
3967
+ text: "text-red-700 dark:text-red-300"
3968
+ },
3969
+ orange: {
3970
+ bg: "bg-orange-100 dark:bg-orange-900/40",
3971
+ text: "text-orange-700 dark:text-orange-300"
3972
+ },
3973
+ amber: {
3974
+ bg: "bg-amber-100 dark:bg-amber-900/40",
3975
+ text: "text-amber-700 dark:text-amber-300"
3976
+ },
3977
+ yellow: {
3978
+ bg: "bg-yellow-100 dark:bg-yellow-900/40",
3979
+ text: "text-yellow-700 dark:text-yellow-300"
3980
+ },
3981
+ green: {
3982
+ bg: "bg-green-100 dark:bg-green-900/40",
3983
+ text: "text-green-700 dark:text-green-300"
3984
+ },
3985
+ emerald: {
3986
+ bg: "bg-emerald-100 dark:bg-emerald-900/40",
3987
+ text: "text-emerald-700 dark:text-emerald-300"
3988
+ },
3989
+ teal: {
3990
+ bg: "bg-teal-100 dark:bg-teal-900/40",
3991
+ text: "text-teal-700 dark:text-teal-300"
3992
+ },
3993
+ cyan: {
3994
+ bg: "bg-cyan-100 dark:bg-cyan-900/40",
3995
+ text: "text-cyan-700 dark:text-cyan-300"
3996
+ },
3997
+ sky: {
3998
+ bg: "bg-sky-100 dark:bg-sky-900/40",
3999
+ text: "text-sky-700 dark:text-sky-300"
4000
+ },
4001
+ blue: {
4002
+ bg: "bg-blue-100 dark:bg-blue-900/40",
4003
+ text: "text-blue-700 dark:text-blue-300"
4004
+ },
4005
+ indigo: {
4006
+ bg: "bg-indigo-100 dark:bg-indigo-900/40",
4007
+ text: "text-indigo-700 dark:text-indigo-300"
4008
+ },
4009
+ violet: {
4010
+ bg: "bg-violet-100 dark:bg-violet-900/40",
4011
+ text: "text-violet-700 dark:text-violet-300"
4012
+ },
4013
+ purple: {
4014
+ bg: "bg-purple-100 dark:bg-purple-900/40",
4015
+ text: "text-purple-700 dark:text-purple-300"
4016
+ },
4017
+ fuchsia: {
4018
+ bg: "bg-fuchsia-100 dark:bg-fuchsia-900/40",
4019
+ text: "text-fuchsia-700 dark:text-fuchsia-300"
4020
+ },
4021
+ pink: {
4022
+ bg: "bg-pink-100 dark:bg-pink-900/40",
4023
+ text: "text-pink-700 dark:text-pink-300"
4024
+ },
4025
+ rose: {
4026
+ bg: "bg-rose-100 dark:bg-rose-900/40",
4027
+ text: "text-rose-700 dark:text-rose-300"
4028
+ },
4029
+ zinc: {
4030
+ bg: "bg-zinc-100 dark:bg-zinc-800/50",
4031
+ text: "text-zinc-600 dark:text-zinc-300"
4032
+ },
4033
+ primary: {
4034
+ bg: "bg-primary-custom-100 dark:bg-primary-custom-600/30",
4035
+ text: "text-primary-custom-600 dark:text-primary-custom-300"
4036
+ }
4037
+ }, f = y[a] || y.lime, k = (h) => {
4038
+ !m && i && i(h);
4039
+ }, w = () => {
4040
+ !m && p && p();
4041
+ };
4042
+ return /* @__PURE__ */ l(
4043
+ "div",
4044
+ {
4045
+ className: `
4046
+ flex
4047
+ flex-col
4048
+ gap-2
4049
+ w-full
4050
+ ${m ? "opacity-50 pointer-events-none" : ""}
4051
+ ${u}
4052
+ `.trim().replace(/\s+/g, " "),
4053
+ "data-component": "POSProductSidebarItems",
4054
+ children: [
4055
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-2 w-full", children: [
4056
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-1 w-full", children: [
4057
+ /* @__PURE__ */ l("div", { className: "flex items-center gap-1 w-full", children: [
4058
+ /* @__PURE__ */ l("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
4059
+ /* @__PURE__ */ e(
4060
+ "div",
4061
+ {
4062
+ className: `
4063
+ inline-flex
4064
+ items-center
4065
+ px-1.5
4066
+ py-1
4067
+ rounded-md
4068
+ transition-colors
4069
+ duration-150
4070
+ ${f.bg}
4071
+ `.trim().replace(/\s+/g, " "),
4072
+ children: /* @__PURE__ */ e(
4073
+ "span",
4074
+ {
4075
+ className: `
4076
+ text-xs
4077
+ leading-4
4078
+ font-normal
4079
+ text-center
4080
+ whitespace-nowrap
4081
+ ${f.text}
4082
+ `.trim().replace(/\s+/g, " "),
4083
+ children: t
4084
+ }
4085
+ )
4086
+ }
4087
+ ),
4088
+ /* @__PURE__ */ e("span", { className: "text-[10px] leading-3 font-normal text-content-primary dark:text-dark-content-primary whitespace-nowrap", children: o })
4089
+ ] }),
4090
+ /* @__PURE__ */ e("div", { className: "flex items-center shrink-0", children: /* @__PURE__ */ e("span", { className: "text-xs leading-4 font-bold text-content-primary dark:text-dark-content-primary whitespace-nowrap text-right", children: r }) })
4091
+ ] }),
4092
+ /* @__PURE__ */ e("div", { className: "flex items-start w-full", children: /* @__PURE__ */ e("span", { className: "text-xs leading-4 font-bold text-content-primary dark:text-dark-content-primary flex-1 min-w-0", children: n }) })
4093
+ ] }),
4094
+ c && s.length > 0 && /* @__PURE__ */ e(
4095
+ "div",
4096
+ {
4097
+ className: `
4098
+ flex
4099
+ flex-col
4100
+ gap-2
4101
+ p-2
4102
+ rounded-lg
4103
+ bg-background-secondary
4104
+ dark:bg-zinc-700
4105
+ w-full
4106
+ transition-colors
4107
+ duration-150
4108
+ `.trim().replace(/\s+/g, " "),
4109
+ children: s.map((h, v) => /* @__PURE__ */ l(
4110
+ "div",
4111
+ {
4112
+ className: "flex items-center gap-1 w-full",
4113
+ children: [
4114
+ /* @__PURE__ */ e("span", { className: "flex-1 min-w-0 text-xs leading-3 font-normal text-content-primary dark:text-dark-content-primary", children: h.description }),
4115
+ /* @__PURE__ */ e("span", { className: "text-xs leading-3 font-bold text-content-primary dark:text-dark-content-primary whitespace-nowrap text-right shrink-0", children: h.price })
4116
+ ]
4117
+ },
4118
+ v
4119
+ ))
4120
+ }
4121
+ )
4122
+ ] }),
4123
+ /* @__PURE__ */ l("div", { className: "flex items-center justify-between w-full", children: [
4124
+ /* @__PURE__ */ e("div", { className: "w-[118px]", children: /* @__PURE__ */ e(
4125
+ ne,
4126
+ {
4127
+ value: d,
4128
+ min: b,
4129
+ max: x,
4130
+ onChange: k,
4131
+ disabled: m
4132
+ }
4133
+ ) }),
4134
+ /* @__PURE__ */ e(
4135
+ "button",
4136
+ {
4137
+ type: "button",
4138
+ onClick: w,
4139
+ disabled: m,
4140
+ className: `
4141
+ flex
4142
+ items-center
4143
+ justify-center
4144
+ w-6
4145
+ h-6
4146
+ rounded-md
4147
+ text-red-700
4148
+ dark:text-red-500
4149
+ hover:text-red-800
4150
+ dark:hover:text-red-400
4151
+ hover:bg-red-50
4152
+ dark:hover:bg-red-900/20
4153
+ focus:outline-none
4154
+ focus:ring-2
4155
+ focus:ring-red-500/50
4156
+ dark:focus:ring-red-400/50
4157
+ focus:ring-offset-1
4158
+ focus:ring-offset-white
4159
+ dark:focus:ring-offset-dark-bg-primary
4160
+ active:scale-95
4161
+ transition-all
4162
+ duration-150
4163
+ ${m ? "cursor-not-allowed opacity-50" : "cursor-pointer"}
4164
+ `.trim().replace(/\s+/g, " "),
4165
+ "aria-label": "Eliminar producto",
4166
+ children: g || /* @__PURE__ */ e(Xe, { className: "w-[18px] h-[21px]" })
4167
+ }
4168
+ )
4169
+ ] })
4170
+ ]
4171
+ }
4172
+ );
4173
+ };
4174
+ Je.displayName = "POSProductSidebarItems";
4175
+ const hr = ({
4176
+ tableNumber: t,
4177
+ status: a = "available",
4178
+ shape: o = "square",
4179
+ chairs: r = 4,
4180
+ showChairs: n = !0,
4181
+ isActive: s = !1,
4182
+ onClick: c,
4183
+ className: d = "",
4184
+ disabled: b = !1,
4185
+ children: x
4186
+ }) => {
4187
+ const i = {
4188
+ available: {
4189
+ // Enabled state - Light: #0e79fd (azul primario del sistema), Dark: #93d1fd
4190
+ border: "border-[#0e79fd]",
4191
+ borderDark: "dark:border-[#93d1fd]",
4192
+ bgEnabled: "bg-transparent",
4193
+ bgEnabledDark: "dark:bg-transparent",
4194
+ // Actived state - Light: Bg #dbeefe + Border #bce4ff según Figma
4195
+ bgActive: "bg-[#dbeefe]",
4196
+ bgActiveDark: "dark:bg-[#1e3a5f]",
4197
+ borderActive: "border-[#bce4ff]",
4198
+ borderActiveDark: "dark:border-[#1e3a5f]",
4199
+ // Table and chairs - Light: #0e79fd, Dark: #93d1fd
4200
+ table: "bg-[#0e79fd]",
4201
+ tableDark: "dark:bg-[#93d1fd]",
4202
+ chair: "bg-[#0e79fd]",
4203
+ chairDark: "dark:bg-[#93d1fd]",
4204
+ // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4205
+ text: "text-[#0e79fd]",
4206
+ textDark: "dark:text-[#93d1fd]",
4207
+ // Focus ring
4208
+ focusRing: "focus:ring-[#93d1fd]",
4209
+ focusRingDark: "dark:focus:ring-[#0e79fd]"
4210
+ },
4211
+ busy: {
4212
+ // Enabled state - Light: #af460e, Dark: #f5a927
4213
+ border: "border-[#af460e]",
4214
+ borderDark: "dark:border-[#f5a927]",
4215
+ bgEnabled: "bg-transparent",
4216
+ bgEnabledDark: "dark:bg-transparent",
4217
+ // Actived state
4218
+ bgActive: "bg-[#fed7aa]",
4219
+ bgActiveDark: "dark:bg-[#5c3a1e]",
4220
+ borderActive: "border-[#fed7aa]",
4221
+ borderActiveDark: "dark:border-[#5c3a1e]",
4222
+ // Table and chairs - Light: #af460e, Dark: #f5a927
4223
+ table: "bg-[#af460e]",
4224
+ tableDark: "dark:bg-[#f5a927]",
4225
+ chair: "bg-[#af460e]",
4226
+ chairDark: "dark:bg-[#f5a927]",
4227
+ // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4228
+ text: "text-[#af460e]",
4229
+ textDark: "dark:text-[#f5a927]",
4230
+ // Focus ring
4231
+ focusRing: "focus:ring-[#f5a927]",
4232
+ focusRingDark: "dark:focus:ring-[#af460e]"
4233
+ },
4234
+ reserved: {
4235
+ // Enabled state - Light: #7e22ce, Dark: #c084fc
4236
+ border: "border-[#7e22ce]",
4237
+ borderDark: "dark:border-[#c084fc]",
4238
+ bgEnabled: "bg-transparent",
4239
+ bgEnabledDark: "dark:bg-transparent",
4240
+ // Actived state
4241
+ bgActive: "bg-[#e9d5ff]",
4242
+ bgActiveDark: "dark:bg-[#3b1f5c]",
4243
+ borderActive: "border-[#e9d5ff]",
4244
+ borderActiveDark: "dark:border-[#3b1f5c]",
4245
+ // Table and chairs - Light: #7e22ce, Dark: #c084fc
4246
+ table: "bg-[#7e22ce]",
4247
+ tableDark: "dark:bg-[#c084fc]",
4248
+ chair: "bg-[#7e22ce]",
4249
+ chairDark: "dark:bg-[#c084fc]",
4250
+ // Text (mismo color del estado - label está FUERA de la mesa según Figma)
4251
+ text: "text-[#7e22ce]",
4252
+ textDark: "dark:text-[#c084fc]",
4253
+ // Focus ring
4254
+ focusRing: "focus:ring-[#c084fc]",
4255
+ focusRingDark: "dark:focus:ring-[#7e22ce]"
4256
+ }
4257
+ }, p = {
4258
+ square: {
4259
+ container: "rounded-[4px]",
4260
+ table: "w-[64px] h-[64px] rounded-[4px]"
4261
+ },
4262
+ circle: {
4263
+ container: "rounded-[9999px]",
4264
+ table: "w-[64px] h-[64px] rounded-[9999px]"
4265
+ },
4266
+ rectangle: {
4267
+ container: "rounded-[4px]",
4268
+ table: "w-[80px] h-[64px] rounded-[4px]"
4269
+ },
4270
+ oval: {
4271
+ container: "rounded-[24px]",
4272
+ table: "w-[80px] h-[64px] rounded-[24px]"
4273
+ }
4274
+ }, m = ({ rotation: f }) => /* @__PURE__ */ l(
4275
+ "div",
4276
+ {
4277
+ className: "w-[28px] h-[22px]",
4278
+ style: { transform: `rotate(${f}deg)` },
4279
+ "aria-hidden": "true",
4280
+ children: [
4281
+ /* @__PURE__ */ e(
4282
+ "div",
4283
+ {
4284
+ className: `
4285
+ absolute
4286
+ top-0
4287
+ left-0
4288
+ right-0
4289
+ h-[16px]
4290
+ rounded-t-[4px]
4291
+ ${i[a].chair}
4292
+ ${i[a].chairDark}
4293
+ `
4294
+ }
4295
+ ),
4296
+ /* @__PURE__ */ e(
4297
+ "div",
4298
+ {
4299
+ className: `
4300
+ absolute
4301
+ bottom-0
4302
+ left-[7.14%]
4303
+ right-[7.14%]
4304
+ h-[14px]
4305
+ rounded-b-[4px]
4306
+ ${i[a].chair}
4307
+ ${i[a].chairDark}
4308
+ `
4309
+ }
4310
+ )
4311
+ ]
4312
+ }
4313
+ ), u = () => {
4314
+ !b && c && c();
4315
+ }, g = (f) => {
4316
+ (f.key === "Enter" || f.key === " ") && !b && c && (f.preventDefault(), c());
4317
+ }, y = [
4318
+ // Dimensiones exactas del container
4319
+ "w-[160px]",
4320
+ "h-[160px]",
4321
+ "shrink-0",
4322
+ // Estructura
4323
+ "relative",
4324
+ "flex",
4325
+ "flex-col",
4326
+ "items-center",
4327
+ "justify-center",
4328
+ "p-0",
4329
+ // Borde (2px según Figma)
4330
+ "border-2",
4331
+ "box-border",
4332
+ // Border radius (8px según Figma)
4333
+ "rounded-[8px]",
4334
+ // Colores del borde y fondo según estado
4335
+ s ? i[a].borderActive : i[a].border,
4336
+ s ? i[a].borderActiveDark : i[a].borderDark,
4337
+ s ? i[a].bgActive : i[a].bgEnabled,
4338
+ s ? i[a].bgActiveDark : i[a].bgEnabledDark,
4339
+ // Focus rings adaptativos (siguiendo patrón de Button)
4340
+ "focus:outline-none",
4341
+ "focus:ring-2",
4342
+ i[a].focusRing,
4343
+ i[a].focusRingDark,
4344
+ "focus:ring-offset-2",
4345
+ "dark:focus:ring-offset-dark-bg-primary",
4346
+ // Transiciones
4347
+ "transition-all",
4348
+ "duration-150",
4349
+ // Interactividad
4350
+ c && !b ? "cursor-pointer" : "",
4351
+ c && !b ? "hover:scale-105" : "",
4352
+ c && !b ? "active:scale-95" : "",
4353
+ b ? "opacity-50 cursor-not-allowed" : "",
4354
+ // Clases adicionales
4355
+ d
4356
+ ].filter(Boolean).join(" ").replace(/\s+/g, " ").trim();
4357
+ return /* @__PURE__ */ l(
4358
+ "button",
4359
+ {
4360
+ className: y,
4361
+ onClick: u,
4362
+ onKeyDown: g,
4363
+ disabled: b,
4364
+ type: "button",
4365
+ "aria-label": `Mesa ${t} - ${a === "available" ? "Disponible" : a === "busy" ? "Ocupada" : "Reservada"}`,
4366
+ children: [
4367
+ /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-center justify-center w-[134px] h-[134px] shrink-0", children: [
4368
+ n && (r === 2 || r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4369
+ r >= 6 && /* @__PURE__ */ l(S, { children: [
4370
+ /* @__PURE__ */ e(m, { rotation: 0 }),
4371
+ /* @__PURE__ */ e(m, { rotation: 0 })
4372
+ ] }),
4373
+ r === 2 && /* @__PURE__ */ e(m, { rotation: 0 }),
4374
+ r === 4 && /* @__PURE__ */ e(m, { rotation: 0 })
4375
+ ] }),
4376
+ /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4377
+ n && (r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: [
4378
+ r >= 8 && /* @__PURE__ */ l(S, { children: [
4379
+ /* @__PURE__ */ e(m, { rotation: 270 }),
4380
+ /* @__PURE__ */ e(m, { rotation: 270 })
4381
+ ] }),
4382
+ (r === 4 || r === 6) && /* @__PURE__ */ e(m, { rotation: 270 })
4383
+ ] }),
4384
+ /* @__PURE__ */ e("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: /* @__PURE__ */ e("div", { className: "flex items-center shrink-0", children: /* @__PURE__ */ e(
4385
+ "div",
4386
+ {
4387
+ className: `
4388
+ ${p[o].table}
4389
+ ${i[a].table}
4390
+ ${i[a].tableDark}
4391
+ shrink-0
4392
+ `
4393
+ }
4394
+ ) }) }),
4395
+ n && (r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex flex-col gap-[4px] items-start justify-center shrink-0", children: [
4396
+ r >= 8 && /* @__PURE__ */ l(S, { children: [
4397
+ /* @__PURE__ */ e(m, { rotation: 90 }),
4398
+ /* @__PURE__ */ e(m, { rotation: 90 })
4399
+ ] }),
4400
+ (r === 4 || r === 6) && /* @__PURE__ */ e(m, { rotation: 90 })
4401
+ ] })
4402
+ ] }),
4403
+ n && (r === 2 || r === 4 || r === 6 || r === 8) && /* @__PURE__ */ l("div", { className: "flex gap-[4px] items-center justify-center shrink-0", children: [
4404
+ r >= 6 && /* @__PURE__ */ l(S, { children: [
4405
+ /* @__PURE__ */ e(m, { rotation: 180 }),
4406
+ /* @__PURE__ */ e(m, { rotation: 180 })
4407
+ ] }),
4408
+ r === 2 && /* @__PURE__ */ e(m, { rotation: 180 }),
4409
+ r === 4 && /* @__PURE__ */ e(m, { rotation: 180 })
4410
+ ] })
4411
+ ] }),
4412
+ /* @__PURE__ */ l(
4413
+ "div",
4414
+ {
4415
+ className: `
4416
+ flex
4417
+ flex-col
4418
+ justify-center
4419
+ leading-[0]
4420
+ not-italic
4421
+ overflow-ellipsis
4422
+ overflow-hidden
4423
+ min-w-full
4424
+ text-center
4425
+ whitespace-nowrap
4426
+ shrink-0
4427
+ text-[10px]
4428
+ font-normal
4429
+ ${i[a].text}
4430
+ ${i[a].textDark}
4431
+ `,
4432
+ children: [
4433
+ /* @__PURE__ */ l("p", { className: "leading-[12px] overflow-ellipsis overflow-hidden", children: [
4434
+ "Mesa ",
4435
+ t
4436
+ ] }),
4437
+ x
4438
+ ]
4439
+ }
4440
+ )
4441
+ ]
4442
+ }
4443
+ );
4444
+ }, oe = xe(void 0), kr = ({
4445
+ children: t,
4446
+ defaultTheme: a = "light"
1326
4447
  }) => {
1327
- const [t, r] = R(() => typeof window < "u" && localStorage.getItem("siesa-ui-theme") || o);
1328
- D(() => {
1329
- const s = window.document.documentElement;
1330
- t === "dark" ? s.classList.add("dark") : s.classList.remove("dark"), localStorage.setItem("siesa-ui-theme", t);
1331
- }, [t]);
1332
- const a = () => {
1333
- r((s) => s === "light" ? "dark" : "light");
1334
- }, i = (s) => {
1335
- r(s);
4448
+ const [o, r] = V(() => typeof window < "u" && localStorage.getItem("siesa-ui-theme") || a);
4449
+ W(() => {
4450
+ const c = window.document.documentElement;
4451
+ o === "dark" ? c.classList.add("dark") : c.classList.remove("dark"), localStorage.setItem("siesa-ui-theme", o);
4452
+ }, [o]);
4453
+ const n = () => {
4454
+ r((c) => c === "light" ? "dark" : "light");
4455
+ }, s = (c) => {
4456
+ r(c);
1336
4457
  };
1337
- return /* @__PURE__ */ e(A.Provider, { value: { theme: t, toggleTheme: a, setTheme: i }, children: n });
1338
- }, te = () => {
1339
- const n = W(A);
1340
- if (n === void 0)
4458
+ return /* @__PURE__ */ e(oe.Provider, { value: { theme: o, toggleTheme: n, setTheme: s }, children: t });
4459
+ }, vr = () => {
4460
+ const t = ue(oe);
4461
+ if (t === void 0)
1341
4462
  throw new Error("useTheme debe ser usado dentro de un ThemeProvider");
1342
- return n;
4463
+ return t;
1343
4464
  };
1344
4465
  export {
1345
- X as Alert,
1346
- J as Avatar,
1347
- Y as Badge,
1348
- F as Button,
1349
- Q as Checkbox,
1350
- U as DescriptionList,
1351
- K as Divider,
1352
- H as Input,
1353
- Z as Quantity,
1354
- q as Radio,
1355
- G as Switch,
1356
- V as Textarea,
1357
- re as ThemeProvider,
1358
- te as useTheme
4466
+ $e as Alert,
4467
+ we as Avatar,
4468
+ G as Badge,
4469
+ Y as Button,
4470
+ ke as Checkbox,
4471
+ Ne as DescriptionList,
4472
+ Ce as Divider,
4473
+ or as Dropdown,
4474
+ fe as Input,
4475
+ br as Navbar,
4476
+ mr as NavigationBar,
4477
+ sr as Notification,
4478
+ pr as POSConvention,
4479
+ gr as POSLocationButton,
4480
+ xr as POSNumberButton,
4481
+ ur as POSProductButton,
4482
+ fr as POSProductCard,
4483
+ Je as POSProductSidebarItems,
4484
+ hr as POSTable,
4485
+ ir as Pagination,
4486
+ ne as Quantity,
4487
+ ve as Radio,
4488
+ lr as Select,
4489
+ ye as Switch,
4490
+ cr as Table,
4491
+ dr as Tabs,
4492
+ he as Textarea,
4493
+ kr as ThemeProvider,
4494
+ vr as useTheme
1359
4495
  };
1360
4496
  //# sourceMappingURL=siesa-ui-kit.mjs.map