@axzydev/axzy_ui_system 1.2.9 → 1.2.11

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 (44) hide show
  1. package/README.md +6 -0
  2. package/dist/index.cjs +141 -73
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.css +1 -1
  5. package/dist/index.css.map +1 -1
  6. package/dist/index.d.cts +141 -5
  7. package/dist/index.d.ts +141 -5
  8. package/dist/index.js +141 -73
  9. package/dist/index.js.map +1 -1
  10. package/package.json +4 -3
  11. package/snippets/axzy-ui-system.code-snippets +547 -0
  12. package/src/App.tsx +37 -34
  13. package/src/components/avatar/avatar.props.ts +12 -1
  14. package/src/components/avatar/avatar.stories.tsx +19 -0
  15. package/src/components/avatar/avatar.tsx +26 -3
  16. package/src/components/confirm-dialog/confirm-dialog.tsx +1 -1
  17. package/src/components/data-table/dataTable.props.ts +10 -0
  18. package/src/components/data-table/dataTable.tsx +24 -13
  19. package/src/components/date-picker/datePicker.tsx +1 -1
  20. package/src/components/dialog/dialog.tsx +2 -1
  21. package/src/components/drawer/drawer.tsx +1 -1
  22. package/src/components/dropfile/dropfile.props.ts +6 -0
  23. package/src/components/dropfile/dropfile.tsx +51 -16
  24. package/src/components/layout/layout.tsx +1 -1
  25. package/src/components/navbar/navbar.tsx +2 -2
  26. package/src/components/popover/popover.tsx +1 -1
  27. package/src/components/search-select/search-select.tsx +4 -4
  28. package/src/components/select/select.tsx +6 -8
  29. package/src/components/sidebar/sidebar.tsx +15 -15
  30. package/src/components/stepper/stepper.props.ts +4 -0
  31. package/src/components/table/table.props.ts +21 -3
  32. package/src/components/table/table.tsx +24 -13
  33. package/src/components/theme-provider/themeProvider.props.ts +21 -3
  34. package/src/components/time-picker/timePicker.tsx +1 -1
  35. package/src/components/toast/toast.tsx +1 -1
  36. package/src/components/tooltip/tooltip.tsx +1 -1
  37. package/src/components/topbar/topbar.tsx +1 -1
  38. package/src/dev.css +1 -1
  39. package/src/hooks/useClickOutside.ts +8 -0
  40. package/src/hooks/useTableState.ts +5 -2
  41. package/src/index.css +1 -1
  42. package/src/showcases/HomeShowcase.tsx +95 -3
  43. package/src/theme/theme.ts +21 -0
  44. package/src/types/field.types.ts +70 -7
package/dist/index.js CHANGED
@@ -3,6 +3,10 @@ import { useEffect } from "react";
3
3
  var useClickOutside = (ref, callback) => {
4
4
  useEffect(() => {
5
5
  const handleClickOutside = (event) => {
6
+ const target = event.target;
7
+ const clickedDialog = target?.closest("[data-it-dialog]");
8
+ const currentDialog = ref.current?.closest("[data-it-dialog]");
9
+ if (clickedDialog && clickedDialog !== currentDialog) return;
6
10
  if (ref.current && !ref.current.contains(event.target)) {
7
11
  callback();
8
12
  }
@@ -189,11 +193,11 @@ function useTableState({
189
193
  const [totalPages, setTotalPages] = useState3(1);
190
194
  const goToPage = useCallback3(
191
195
  (page) => {
192
- if (page >= 1 && page <= totalPages) {
196
+ if (page >= 1) {
193
197
  setCurrentPage(page);
194
198
  }
195
199
  },
196
- [totalPages]
200
+ []
197
201
  );
198
202
  const handleItemsPerPageChange = useCallback3((value) => {
199
203
  setItemsPerPage(value);
@@ -347,6 +351,7 @@ var sizeMap = {
347
351
  var DEFAULT_COLOR = "bg-primary-600";
348
352
  var DEFAULT_BG = "var(--color-primary-600)";
349
353
  var DEFAULT_SHADOW = "0 4px 14px 0 rgba(37, 99, 235, 0.35)";
354
+ var isRawColorValue = (value) => /^#|^rgb|^hsl|^var\(/i.test(value.trim());
350
355
  function ITAvatar({
351
356
  src,
352
357
  alt = "",
@@ -358,17 +363,18 @@ function ITAvatar({
358
363
  onClick
359
364
  }) {
360
365
  const { container, text } = sizeMap[size];
361
- const useInlineStyle = !color || color === DEFAULT_COLOR;
366
+ const useDefaultStyle = !color || color === DEFAULT_COLOR;
367
+ const useRawColorStyle = !useDefaultStyle && isRawColorValue(color);
362
368
  return /* @__PURE__ */ jsxs2(
363
369
  "div",
364
370
  {
365
371
  className: clsx2(
366
372
  "relative inline-flex items-center justify-center rounded-full flex-shrink-0 overflow-hidden text-white font-bold tracking-wide",
367
373
  container,
368
- !useInlineStyle && color,
374
+ !useDefaultStyle && !useRawColorStyle && color,
369
375
  className
370
376
  ),
371
- style: useInlineStyle ? { backgroundColor: DEFAULT_BG, boxShadow: DEFAULT_SHADOW } : void 0,
377
+ style: useDefaultStyle ? { backgroundColor: DEFAULT_BG, boxShadow: DEFAULT_SHADOW } : useRawColorStyle ? { backgroundColor: color } : void 0,
372
378
  onClick,
373
379
  role: onClick ? "button" : void 0,
374
380
  tabIndex: onClick ? 0 : void 0,
@@ -862,10 +868,23 @@ var typography = {
862
868
  relaxed: "1.75"
863
869
  }
864
870
  };
871
+ var zIndex = {
872
+ /** Barras sticky (ITTopbar) y overlays de navegación (sidebar/aside móvil). */
873
+ navOverlay: 40,
874
+ /** Paneles deslizantes (ITDrawer). */
875
+ drawer: 50,
876
+ /** Diálogos modales (ITDialog, ITConfirmDialog). */
877
+ modal: 60,
878
+ /** UI flotante contextual: dropdowns, ITPopover, ITTooltip, ITDatePicker/ITTimePicker. */
879
+ floating: 70,
880
+ /** Notificaciones globales (ITToast) — siempre por encima de todo lo demás. */
881
+ toast: 80
882
+ };
865
883
  var theme = {
866
884
  palette,
867
885
  colors: semanticColors,
868
886
  typography,
887
+ zIndex,
869
888
  ...components
870
889
  };
871
890
 
@@ -1714,7 +1733,7 @@ function ITConfirmDialog({
1714
1733
  loading = false
1715
1734
  }) {
1716
1735
  if (!isOpen) return null;
1717
- return /* @__PURE__ */ jsxs8("div", { className: "fixed inset-0 z-[300] flex items-center justify-center p-4", children: [
1736
+ return /* @__PURE__ */ jsxs8("div", { className: "fixed inset-0 z-[60] flex items-center justify-center p-4", children: [
1718
1737
  /* @__PURE__ */ jsx10("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-sm", onClick: onClose }),
1719
1738
  /* @__PURE__ */ jsxs8(
1720
1739
  "div",
@@ -1774,6 +1793,19 @@ function inputLabel(error) {
1774
1793
  var inputError = "text-red-500 text-xs mt-1";
1775
1794
  var iconAbsoluteLeft = "absolute inset-y-0 left-0 flex items-center pl-3 z-10";
1776
1795
  var iconAbsoluteRight = "absolute inset-y-0 right-0 flex items-center pr-3 z-10";
1796
+ var tableContainer = "rounded-xl shadow-sm border border-secondary-200 overflow-hidden";
1797
+ var tableHeaderRow = "bg-secondary-50 border-b border-secondary-200 text-xs uppercase tracking-wider font-semibold text-secondary-500";
1798
+ function tableHeaderCell(className) {
1799
+ return clsx10("px-4 py-4 align-top", className);
1800
+ }
1801
+ var tableBody = "divide-y divide-secondary-100";
1802
+ var tableRow = "hover:bg-secondary-50/50 transition-colors duration-150 group";
1803
+ function tableCell(className) {
1804
+ return clsx10("px-4 py-3 align-middle", className);
1805
+ }
1806
+ var tableActionsCell = "flex items-center justify-center gap-2";
1807
+ var tableCellText = "text-secondary-700 font-medium";
1808
+ var tableEmptyContent = "flex flex-col items-center justify-center text-secondary-400";
1777
1809
  var gridColsClasses = {
1778
1810
  1: "grid-cols-1",
1779
1811
  2: "grid-cols-2",
@@ -2364,10 +2396,7 @@ function ITSelect({
2364
2396
  {
2365
2397
  as: "label",
2366
2398
  htmlFor: name,
2367
- className: clsx12(
2368
- "text-sm font-medium text-gray-700 dark:text-slate-300 pt-0",
2369
- { "text-red-500": hasError }
2370
- ),
2399
+ className: inputLabel(hasError),
2371
2400
  children: [
2372
2401
  /* @__PURE__ */ jsx12(ITText, { as: "span", children: label }),
2373
2402
  required && /* @__PURE__ */ jsx12(ITText, { as: "span", className: "text-red-500 ml-1", children: "*" })
@@ -2398,13 +2427,13 @@ function ITSelect({
2398
2427
  ),
2399
2428
  style: getStyle(),
2400
2429
  children: [
2401
- /* @__PURE__ */ jsx12("option", { value: "", children: /* @__PURE__ */ jsx12(ITText, { as: "span", children: placeholder || "Selecciona una opci\xF3n" }) }),
2402
- readOnly ? /* @__PURE__ */ jsx12("option", { value, disabled: true, children: /* @__PURE__ */ jsx12(ITText, { as: "span", children: options.find((option) => option[valueField] === value)?.[labelField] }) }) : options.map((option) => /* @__PURE__ */ jsx12(
2430
+ /* @__PURE__ */ jsx12("option", { value: "", children: placeholder || "Selecciona una opci\xF3n" }),
2431
+ readOnly ? /* @__PURE__ */ jsx12("option", { value, disabled: true, children: options.find((option) => option[valueField] === value)?.[labelField] }) : options.map((option) => /* @__PURE__ */ jsx12(
2403
2432
  "option",
2404
2433
  {
2405
2434
  value: option[valueField],
2406
2435
  title: option[labelField],
2407
- children: /* @__PURE__ */ jsx12(ITText, { as: "span", children: option[labelField] })
2436
+ children: option[labelField]
2408
2437
  },
2409
2438
  option[valueField]
2410
2439
  ))
@@ -2413,7 +2442,7 @@ function ITSelect({
2413
2442
  ),
2414
2443
  /* @__PURE__ */ jsx12("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-gray-500", children: /* @__PURE__ */ jsx12(FaAngleDown, {}) })
2415
2444
  ] }),
2416
- hasError && /* @__PURE__ */ jsx12("div", { className: "flex-shrink-0 min-w-[140px] flex items-center pt-3", children: /* @__PURE__ */ jsx12(ITText, { as: "p", className: "text-red-500 text-xs", children: errorMessage }) })
2445
+ hasError && /* @__PURE__ */ jsx12("div", { className: "flex-shrink-0 min-w-[140px] flex items-center pt-3", children: /* @__PURE__ */ jsx12(ITText, { as: "p", className: inputError, children: errorMessage }) })
2417
2446
  ] })
2418
2447
  ] }) });
2419
2448
  }
@@ -2754,7 +2783,7 @@ function ITTable({
2754
2783
  );
2755
2784
  }
2756
2785
  if (col.catalogOptions.error) {
2757
- return /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-red-500 text-xs", children: "Error cargando" });
2786
+ return /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
2758
2787
  }
2759
2788
  return /* @__PURE__ */ jsx14(
2760
2789
  ITSelect,
@@ -2803,14 +2832,14 @@ function ITTable({
2803
2832
  return value ? /* @__PURE__ */ jsx14(
2804
2833
  FaCheck,
2805
2834
  {
2806
- className: "text-green-500",
2835
+ className: "text-success-500",
2807
2836
  "aria-label": "Verdadero",
2808
2837
  title: "Verdadero"
2809
2838
  }
2810
2839
  ) : /* @__PURE__ */ jsx14(
2811
2840
  FaTimes2,
2812
2841
  {
2813
- className: "text-red-500",
2842
+ className: "text-danger-500",
2814
2843
  "aria-label": "Falso",
2815
2844
  title: "Falso"
2816
2845
  }
@@ -2840,7 +2869,7 @@ function ITTable({
2840
2869
  actionCol?.actions && /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-end gap-2 pt-2 border-t border-slate-100 dark:border-slate-700", children: actionCol.actions(row) })
2841
2870
  ] });
2842
2871
  };
2843
- return /* @__PURE__ */ jsx14("div", { className: clsx14("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ jsxs12("div", { className: "rounded-xl shadow-sm overflow-hidden", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2872
+ return /* @__PURE__ */ jsx14("div", { className: clsx14("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ jsxs12("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2844
2873
  title && /* @__PURE__ */ jsxs12("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2845
2874
  /* @__PURE__ */ jsx14(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
2846
2875
  /* @__PURE__ */ jsxs12("div", { className: "flex items-center bg-slate-100 dark:bg-slate-800/80 rounded-lg p-0.5 border border-slate-200 dark:border-slate-700/50", children: [
@@ -2892,7 +2921,7 @@ function ITTable({
2892
2921
  }
2893
2922
  )
2894
2923
  ] }) }),
2895
- viewMode === "cards" ? /* @__PURE__ */ jsx14("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: currentData.length > 0 ? currentData.map((row, i) => /* @__PURE__ */ jsx14("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center justify-center py-12 text-secondary-400", children: [
2924
+ viewMode === "cards" ? /* @__PURE__ */ jsx14("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: currentData.length > 0 ? currentData.map((row, i) => /* @__PURE__ */ jsx14("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : /* @__PURE__ */ jsxs12("div", { className: clsx14(tableEmptyContent, "py-12"), children: [
2896
2925
  /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
2897
2926
  /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
2898
2927
  ] }) }) : /* @__PURE__ */ jsx14("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs12(
@@ -2906,11 +2935,11 @@ function ITTable({
2906
2935
  sizeStyles[size]
2907
2936
  ),
2908
2937
  children: [
2909
- /* @__PURE__ */ jsx14("thead", { children: /* @__PURE__ */ jsx14("tr", { className: "bg-secondary-50 text-xs uppercase tracking-wider font-semibold text-slate-700 dark:text-slate-200", children: columns.map((col) => /* @__PURE__ */ jsx14(
2938
+ /* @__PURE__ */ jsx14("thead", { children: /* @__PURE__ */ jsx14("tr", { className: clsx14(tableHeaderRow, "dark:text-slate-200"), children: columns.map((col) => /* @__PURE__ */ jsx14(
2910
2939
  "th",
2911
2940
  {
2912
2941
  scope: "col",
2913
- className: clsx14("px-4 py-4 align-top", col.className),
2942
+ className: tableHeaderCell(col.className),
2914
2943
  children: /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
2915
2944
  /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-between gap-2", children: [
2916
2945
  /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
@@ -2929,21 +2958,21 @@ function ITTable({
2929
2958
  },
2930
2959
  col.key
2931
2960
  )) }) }),
2932
- /* @__PURE__ */ jsx14("tbody", { className: "divide-y divide-slate-100 dark:divide-slate-700/30", children: currentData.length > 0 ? currentData.map((row, rowIndex) => /* @__PURE__ */ jsx14(
2961
+ /* @__PURE__ */ jsx14("tbody", { className: clsx14(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? currentData.map((row, rowIndex) => /* @__PURE__ */ jsx14(
2933
2962
  "tr",
2934
2963
  {
2935
- className: clsx14("hover:bg-secondary-50/50 transition-colors duration-150 group", variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"),
2964
+ className: clsx14(tableRow, variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"),
2936
2965
  children: columns.map((col) => /* @__PURE__ */ jsx14(
2937
2966
  "td",
2938
2967
  {
2939
- className: clsx14("px-4 py-3 align-middle", col.className),
2940
- children: col.type === "actions" ? /* @__PURE__ */ jsx14("div", { className: "flex items-center justify-center gap-2", children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx14("div", { className: "text-secondary-700 font-medium", children: renderCellContent(col, row) })
2968
+ className: tableCell(col.className),
2969
+ children: col.type === "actions" ? /* @__PURE__ */ jsx14("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx14("div", { className: tableCellText, children: renderCellContent(col, row) })
2941
2970
  },
2942
2971
  `${rowIndex}-${col.key}`
2943
2972
  ))
2944
2973
  },
2945
2974
  rowIndex
2946
- )) : /* @__PURE__ */ jsx14("tr", { children: /* @__PURE__ */ jsx14("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center justify-center text-secondary-400", children: [
2975
+ )) : /* @__PURE__ */ jsx14("tr", { children: /* @__PURE__ */ jsx14("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ jsxs12("div", { className: tableEmptyContent, children: [
2947
2976
  /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
2948
2977
  /* @__PURE__ */ jsx14(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
2949
2978
  ] }) }) }) })
@@ -3077,7 +3106,7 @@ function ITDataTable({
3077
3106
  return /* @__PURE__ */ jsx15(FaSpinner2, { className: "animate-spin", "aria-label": "Cargando opciones", title: "Cargando opciones" });
3078
3107
  }
3079
3108
  if (col.catalogOptions.error) {
3080
- return /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-red-500 text-xs", children: "Error cargando" });
3109
+ return /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
3081
3110
  }
3082
3111
  return /* @__PURE__ */ jsx15(
3083
3112
  ITSelect,
@@ -3123,7 +3152,7 @@ function ITDataTable({
3123
3152
  case "number":
3124
3153
  return typeof value === "number" && col.currencyMX ? formatCurrencyMX(value) : value;
3125
3154
  case "boolean":
3126
- return value ? /* @__PURE__ */ jsx15(FaCheck2, { className: "text-green-500", "aria-label": "Verdadero", title: "Verdadero" }) : /* @__PURE__ */ jsx15(FaTimes3, { className: "text-red-500", "aria-label": "Falso", title: "Falso" });
3155
+ return value ? /* @__PURE__ */ jsx15(FaCheck2, { className: "text-success-500", "aria-label": "Verdadero", title: "Verdadero" }) : /* @__PURE__ */ jsx15(FaTimes3, { className: "text-danger-500", "aria-label": "Falso", title: "Falso" });
3127
3156
  case "actions":
3128
3157
  return col.actions ? col.actions(row) : null;
3129
3158
  case "catalog":
@@ -3149,7 +3178,7 @@ function ITDataTable({
3149
3178
  };
3150
3179
  const segCtrlClass = (mode) => `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold transition-all ${viewMode === mode ? "bg-white dark:bg-slate-900 text-slate-900 dark:text-white shadow-sm border border-slate-200/50 dark:border-slate-700" : "text-slate-500 dark:text-slate-400 hover:text-slate-700 dark:hover:text-slate-200"}`;
3151
3180
  return /* @__PURE__ */ jsxs13("div", { className: clsx15("space-y-4 w-full relative", containerClassName), children: [
3152
- /* @__PURE__ */ jsxs13("div", { className: "rounded-xl shadow-sm overflow-hidden", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3181
+ /* @__PURE__ */ jsxs13("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3153
3182
  title && /* @__PURE__ */ jsxs13("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3154
3183
  /* @__PURE__ */ jsx15(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
3155
3184
  /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-3", children: [
@@ -3181,7 +3210,7 @@ function ITDataTable({
3181
3210
  /* @__PURE__ */ jsx15(FaSpinner2, { className: "animate-spin text-primary-500 text-4xl" }),
3182
3211
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-sm font-semibold text-secondary-600 animate-pulse", children: "Cargando datos..." })
3183
3212
  ] }) }) }),
3184
- viewMode === "cards" ? /* @__PURE__ */ jsx15("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: data.length > 0 ? data.map((row, i) => /* @__PURE__ */ jsx15("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : !isLoading && /* @__PURE__ */ jsxs13("div", { className: "flex flex-col items-center justify-center py-12 text-secondary-400", children: [
3213
+ viewMode === "cards" ? /* @__PURE__ */ jsx15("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: data.length > 0 ? data.map((row, i) => /* @__PURE__ */ jsx15("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : !isLoading && /* @__PURE__ */ jsxs13("div", { className: clsx15(tableEmptyContent, "py-12"), children: [
3185
3214
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
3186
3215
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
3187
3216
  ] }) }) : /* @__PURE__ */ jsxs13(
@@ -3197,7 +3226,7 @@ function ITDataTable({
3197
3226
  className
3198
3227
  ),
3199
3228
  children: [
3200
- /* @__PURE__ */ jsx15("thead", { children: /* @__PURE__ */ jsx15("tr", { className: "bg-secondary-50 text-xs uppercase tracking-wider font-semibold text-slate-700 dark:text-slate-200", children: columns.map((col) => /* @__PURE__ */ jsx15("th", { scope: "col", className: clsx15("px-4 py-4 align-top", col.className), children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
3229
+ /* @__PURE__ */ jsx15("thead", { children: /* @__PURE__ */ jsx15("tr", { className: clsx15(tableHeaderRow, "dark:text-slate-200"), children: columns.map((col) => /* @__PURE__ */ jsx15("th", { scope: "col", className: tableHeaderCell(col.className), children: /* @__PURE__ */ jsxs13("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
3201
3230
  /* @__PURE__ */ jsxs13("div", { className: "flex items-center justify-between gap-2", children: [
3202
3231
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
3203
3232
  col.sortable && col.type !== "actions" && /* @__PURE__ */ jsx15(
@@ -3213,7 +3242,7 @@ function ITDataTable({
3213
3242
  ] }),
3214
3243
  /* @__PURE__ */ jsx15("div", { className: "w-full", children: col.filter ? renderFilterInput(col) : null })
3215
3244
  ] }) }, col.key)) }) }),
3216
- /* @__PURE__ */ jsx15("tbody", { className: "divide-y divide-slate-100 dark:divide-slate-700/30", children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ jsx15("tr", { className: clsx15("hover:bg-secondary-50/50 transition-colors duration-150 group", variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"), children: columns.map((col) => /* @__PURE__ */ jsx15("td", { className: clsx15("px-4 py-3 align-middle", col.className), children: col.type === "actions" ? /* @__PURE__ */ jsx15("div", { className: "flex items-center justify-center gap-2", children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx15("div", { className: "text-secondary-700 font-medium", children: renderCellContent(col, row) }) }, `${rowIndex}-${col.key}`)) }, rowIndex)) : /* @__PURE__ */ jsx15("tr", { children: /* @__PURE__ */ jsx15("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: !isLoading && /* @__PURE__ */ jsxs13("div", { className: "flex flex-col items-center justify-center text-secondary-400", children: [
3245
+ /* @__PURE__ */ jsx15("tbody", { className: clsx15(tableBody, "dark:divide-slate-700/30"), children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ jsx15("tr", { className: clsx15(tableRow, variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"), children: columns.map((col) => /* @__PURE__ */ jsx15("td", { className: tableCell(col.className), children: col.type === "actions" ? /* @__PURE__ */ jsx15("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ jsx15("div", { className: tableCellText, children: renderCellContent(col, row) }) }, `${rowIndex}-${col.key}`)) }, rowIndex)) : /* @__PURE__ */ jsx15("tr", { children: /* @__PURE__ */ jsx15("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: !isLoading && /* @__PURE__ */ jsxs13("div", { className: tableEmptyContent, children: [
3217
3246
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
3218
3247
  /* @__PURE__ */ jsx15(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
3219
3248
  ] }) }) }) })
@@ -3464,7 +3493,7 @@ function ITDatePicker({
3464
3493
  "div",
3465
3494
  {
3466
3495
  className: clsx16(
3467
- "fixed z-[9999]",
3496
+ "fixed z-[70]",
3468
3497
  calendarClassName,
3469
3498
  range ? "w-[320px]" : "w-[280px]"
3470
3499
  ),
@@ -5522,7 +5551,8 @@ function ITDialog({
5522
5551
  const content = /* @__PURE__ */ jsx22(
5523
5552
  "div",
5524
5553
  {
5525
- className: `fixed inset-0 flex ${fullScreen ? "items-stretch" : "items-center justify-center"} bg-black/50 z-[9999]`,
5554
+ "data-it-dialog": "true",
5555
+ className: `fixed inset-0 flex ${fullScreen ? "items-stretch" : "items-center justify-center"} bg-black/50 z-[60]`,
5526
5556
  children: /* @__PURE__ */ jsx22(
5527
5557
  "div",
5528
5558
  {
@@ -5575,7 +5605,7 @@ function ITDrawer({
5575
5605
  }) {
5576
5606
  const panelRef = useRef7(null);
5577
5607
  useClickOutside_default(panelRef, onClose);
5578
- return /* @__PURE__ */ jsx23(Fragment5, { children: isOpen && /* @__PURE__ */ jsxs20("div", { className: "fixed inset-0 z-[100] flex", children: [
5608
+ return /* @__PURE__ */ jsx23(Fragment5, { children: isOpen && /* @__PURE__ */ jsxs20("div", { className: "fixed inset-0 z-[50] flex", children: [
5579
5609
  /* @__PURE__ */ jsx23("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-sm transition-opacity" }),
5580
5610
  /* @__PURE__ */ jsxs20(
5581
5611
  "div",
@@ -5913,7 +5943,7 @@ function ITTimePicker({
5913
5943
  "div",
5914
5944
  {
5915
5945
  ref: dropdownRef,
5916
- className: "fixed z-[9999] bg-white border border-gray-100 shadow-xl rounded-xl w-64 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-200 origin-top it-timepicker-dropdown",
5946
+ className: "fixed z-[70] bg-white border border-gray-100 shadow-xl rounded-xl w-64 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-200 origin-top it-timepicker-dropdown",
5917
5947
  style: {
5918
5948
  top: `${dropdownPosition.top}px`,
5919
5949
  left: `${dropdownPosition.left}px`
@@ -6104,7 +6134,7 @@ function ITSearchSelect({
6104
6134
  const getInputStyle = () => {
6105
6135
  const style = {
6106
6136
  backgroundColor: inputTheme.backgroundColor || "#ffffff",
6107
- borderColor: inputTheme.borderColor || "#e2e8f0",
6137
+ borderColor: inputTheme.borderColor || "var(--color-secondary-300)",
6108
6138
  borderRadius: inputTheme.borderRadius || "0.5rem",
6109
6139
  padding: inputTheme.padding || "0.5rem 0.75rem",
6110
6140
  fontSize: inputTheme.fontSize || "0.875rem",
@@ -6115,8 +6145,8 @@ function ITSearchSelect({
6115
6145
  width: "100%"
6116
6146
  };
6117
6147
  if (disabled) {
6118
- style.backgroundColor = inputTheme.disabled?.backgroundColor || "#f1f5f9";
6119
- style.borderColor = inputTheme.disabled?.borderColor || "#e2e8f0";
6148
+ style.backgroundColor = inputTheme.disabled?.backgroundColor || "var(--color-secondary-100)";
6149
+ style.borderColor = inputTheme.disabled?.borderColor || "var(--color-secondary-200)";
6120
6150
  style.opacity = 0.7;
6121
6151
  style.cursor = "not-allowed";
6122
6152
  }
@@ -6169,7 +6199,7 @@ function ITSearchSelect({
6169
6199
  !isLoading && /* @__PURE__ */ jsx28(FaSearch, { size: 14, className: clsx24({ "text-primary-500": isFocused }) })
6170
6200
  ] })
6171
6201
  ] }),
6172
- isOpen && /* @__PURE__ */ jsx28("div", { className: "absolute z-50 w-full mt-1 bg-white dark:bg-slate-900 border border-gray-200 dark:border-slate-800 rounded-lg shadow-xl overflow-hidden animate-in fade-in zoom-in duration-200 origin-top", children: /* @__PURE__ */ jsx28("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ jsx28(
6202
+ isOpen && /* @__PURE__ */ jsx28("div", { className: "absolute z-[70] w-full mt-1 bg-white dark:bg-slate-900 border border-gray-200 dark:border-slate-800 rounded-lg shadow-xl overflow-hidden animate-in fade-in zoom-in duration-200 origin-top", children: /* @__PURE__ */ jsx28("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ jsx28(
6173
6203
  ITText,
6174
6204
  {
6175
6205
  as: "div",
@@ -6767,7 +6797,7 @@ function ITNavbar({
6767
6797
  "div",
6768
6798
  {
6769
6799
  ref: userMenuRef,
6770
- className: "z-50 absolute right-0 mt-2 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow-sm",
6800
+ className: "z-[70] absolute right-0 mt-2 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow-sm",
6771
6801
  children: [
6772
6802
  /* @__PURE__ */ jsxs25("div", { className: "px-4 py-3", children: [
6773
6803
  /* @__PURE__ */ jsx33(ITText, { as: "span", className: "block text-sm text-gray-900", children: userMenu.userName }),
@@ -6791,7 +6821,7 @@ function ITNavbar({
6791
6821
  ] }) })
6792
6822
  ] }) }),
6793
6823
  /* @__PURE__ */ jsxs25("div", { className: "flex-1 flex overflow-hidden relative", children: [
6794
- (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ jsx33("aside", { className: "fixed inset-y-0 left-0 w-64 bg-gray-50 transform transition-transform duration-300 ease-in-out z-50 shadow-lg md:static md:transform-none md:shadow-none md:border-r md:border-gray-200", children: /* @__PURE__ */ jsx33("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ jsx33("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6824
+ (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ jsx33("aside", { className: "fixed inset-y-0 left-0 w-64 bg-gray-50 transform transition-transform duration-300 ease-in-out z-[40] shadow-lg md:static md:transform-none md:shadow-none md:border-r md:border-gray-200", children: /* @__PURE__ */ jsx33("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ jsx33("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6795
6825
  /* @__PURE__ */ jsx33("main", { className: "flex-1 bg-gray-100 overflow-y-auto", children })
6796
6826
  ] })
6797
6827
  ] });
@@ -7240,7 +7270,7 @@ function ITPopover({
7240
7270
  });
7241
7271
  return /* @__PURE__ */ jsxs29("div", { ref, className: clsx30("relative inline-flex", className), children: [
7242
7272
  /* @__PURE__ */ jsx38("div", { onClick: () => isControlled ? onClose?.() : setInternalOpen((p) => !p), className: "cursor-pointer", children: trigger }),
7243
- open && /* @__PURE__ */ jsx38("div", { className: clsx30("absolute z-[200]", positionClasses[position]), children: /* @__PURE__ */ jsx38("div", { className: "bg-white dark:bg-slate-800 rounded-xl shadow-xl border border-slate-200 dark:border-slate-700 p-3 min-w-[160px]", children }) })
7273
+ open && /* @__PURE__ */ jsx38("div", { className: clsx30("absolute z-[70]", positionClasses[position]), children: /* @__PURE__ */ jsx38("div", { className: "bg-white dark:bg-slate-800 rounded-xl shadow-xl border border-slate-200 dark:border-slate-700 p-3 min-w-[160px]", children }) })
7244
7274
  ] });
7245
7275
  }
7246
7276
 
@@ -8075,7 +8105,7 @@ function ITSidebar({
8075
8105
  style: {
8076
8106
  zIndex: 50,
8077
8107
  backgroundColor: "var(--sidebar-bg, rgba(255, 255, 255, 0.90))",
8078
- borderRight: "1px solid var(--sidebar-border, #e2e8f0)",
8108
+ borderRight: "1px solid var(--sidebar-border, var(--color-secondary-200))",
8079
8109
  WebkitBackdropFilter: "blur(12px)",
8080
8110
  backdropFilter: "blur(12px)"
8081
8111
  },
@@ -8089,12 +8119,12 @@ function ITSidebar({
8089
8119
  ${isSidebarCollapsed ? "justify-center p-2.5 mb-2" : "justify-between px-3.5 py-3 mb-1"}
8090
8120
  `,
8091
8121
  style: {
8092
- backgroundColor: item.isActive ? "var(--sidebar-active-bg, #f8fafc)" : "transparent",
8122
+ backgroundColor: item.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : "transparent",
8093
8123
  boxShadow: item.isActive ? "0 1px 2px 0 rgba(0, 0, 0, 0.05)" : "none",
8094
- border: item.isActive ? "1px solid var(--sidebar-border, #e2e8f0)" : "1px solid transparent"
8124
+ border: item.isActive ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : "1px solid transparent"
8095
8125
  },
8096
8126
  onMouseEnter: (e) => {
8097
- if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, #f1f5f9)";
8127
+ if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
8098
8128
  },
8099
8129
  onMouseLeave: (e) => {
8100
8130
  if (!item.isActive) e.currentTarget.style.backgroundColor = "transparent";
@@ -8140,7 +8170,7 @@ function ITSidebar({
8140
8170
  "div",
8141
8171
  {
8142
8172
  className: `flex-shrink-0 transition-transform duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "rotate-180" : ""}`,
8143
- style: { color: item.isActive ? "var(--sidebar-active-color, #0f172a)" : "var(--sidebar-icon-color, #64748b)", opacity: 0.7 },
8173
+ style: { color: item.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-icon-color, var(--color-secondary-500))", opacity: 0.7 },
8144
8174
  children: /* @__PURE__ */ jsx51(FaChevronDown2, { className: "w-3 h-3" })
8145
8175
  }
8146
8176
  ),
@@ -8165,15 +8195,15 @@ function ITSidebar({
8165
8195
  isSidebarCollapsed && /* @__PURE__ */ jsxs39(
8166
8196
  "div",
8167
8197
  {
8168
- className: "absolute left-full top-0 ml-4 rounded-2xl opacity-0 invisible group-hover/navitem:opacity-100 group-hover/navitem:visible transition-all duration-300 pointer-events-none z-50 min-w-[220px] overflow-hidden -translate-x-2 group-hover/navitem:translate-x-0 shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)]",
8198
+ className: "absolute left-full top-0 ml-4 rounded-2xl opacity-0 invisible group-hover/navitem:opacity-100 group-hover/navitem:visible transition-all duration-300 pointer-events-none z-[70] min-w-[220px] overflow-hidden -translate-x-2 group-hover/navitem:translate-x-0 shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)]",
8169
8199
  style: {
8170
8200
  backgroundColor: "var(--sidebar-bg, #ffffff)",
8171
- border: "1px solid var(--sidebar-border, #e2e8f0)",
8201
+ border: "1px solid var(--sidebar-border, var(--color-secondary-200))",
8172
8202
  WebkitBackdropFilter: "blur(16px)",
8173
8203
  backdropFilter: "blur(16px)"
8174
8204
  },
8175
8205
  children: [
8176
- /* @__PURE__ */ jsxs39("div", { className: "px-5 py-4 flex items-center gap-3 font-semibold border-b", style: { borderColor: "var(--sidebar-border, #e2e8f0)", color: "var(--sidebar-active-color, #0f172a)" }, children: [
8206
+ /* @__PURE__ */ jsxs39("div", { className: "px-5 py-4 flex items-center gap-3 font-semibold border-b", style: { borderColor: "var(--sidebar-border, var(--color-secondary-200))", color: "var(--sidebar-active-color, var(--color-secondary-900))" }, children: [
8177
8207
  item.icon && /* @__PURE__ */ jsx51("span", { style: { color: "var(--sidebar-active-icon, #10b981)" }, className: "text-xl drop-shadow-sm", children: item.icon }),
8178
8208
  /* @__PURE__ */ jsx51(ITText, { as: "span", className: "tracking-wide text-[15px]", children: item.label })
8179
8209
  ] }),
@@ -8192,8 +8222,8 @@ function ITSidebar({
8192
8222
  }
8193
8223
  }
8194
8224
  ),
8195
- /* @__PURE__ */ jsx51("span", { className: `w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`, style: { backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, #94a3b8)" } }),
8196
- /* @__PURE__ */ jsx51(ITText, { as: "span", style: { color: subitem.isActive ? "var(--sidebar-active-color, #0f172a)" : "var(--sidebar-label-color, #475569)", fontWeight: subitem.isActive ? 600 : 500 }, children: subitem.label })
8225
+ /* @__PURE__ */ jsx51("span", { className: `w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`, style: { backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, var(--color-secondary-400))" } }),
8226
+ /* @__PURE__ */ jsx51(ITText, { as: "span", style: { color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }, children: subitem.label })
8197
8227
  ]
8198
8228
  },
8199
8229
  subitem.id
@@ -8206,7 +8236,7 @@ function ITSidebar({
8206
8236
  {
8207
8237
  className: "ml-5 flex flex-col gap-0.5 py-1",
8208
8238
  style: {
8209
- borderLeft: subitemConnector === "|" ? "1px solid var(--sidebar-border, #e2e8f0)" : "none"
8239
+ borderLeft: subitemConnector === "|" ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : "none"
8210
8240
  },
8211
8241
  children: item.subitems.map((subitem) => /* @__PURE__ */ jsx51("li", { className: "relative", children: /* @__PURE__ */ jsxs39(
8212
8242
  "button",
@@ -8217,8 +8247,8 @@ function ITSidebar({
8217
8247
  },
8218
8248
  className: `flex items-center gap-2.5 w-full text-left px-3 py-2 rounded-xl transition-all duration-300`,
8219
8249
  style: {
8220
- color: subitem.isActive ? "var(--sidebar-active-color, #0f172a)" : "var(--sidebar-label-color, #475569)",
8221
- backgroundColor: subitem.isActive ? "var(--sidebar-active-bg, #f8fafc)" : "transparent",
8250
+ color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))",
8251
+ backgroundColor: subitem.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : "transparent",
8222
8252
  fontSize: "0.85rem",
8223
8253
  fontWeight: subitem.isActive ? 600 : 500,
8224
8254
  letterSpacing: "0.01em",
@@ -8226,7 +8256,7 @@ function ITSidebar({
8226
8256
  },
8227
8257
  onMouseEnter: (e) => {
8228
8258
  if (!subitem.isActive) {
8229
- e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, #f1f5f9)";
8259
+ e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
8230
8260
  e.currentTarget.style.transform = "translateX(3px)";
8231
8261
  }
8232
8262
  },
@@ -8252,7 +8282,7 @@ function ITSidebar({
8252
8282
  {
8253
8283
  className: `w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-300 ${subitem.isActive ? "scale-125" : ""}`,
8254
8284
  style: {
8255
- backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, #94a3b8)"
8285
+ backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, var(--color-secondary-400))"
8256
8286
  }
8257
8287
  }
8258
8288
  ),
@@ -8594,7 +8624,7 @@ function ITToast({
8594
8624
  "div",
8595
8625
  {
8596
8626
  className: clsx40(
8597
- "fixed z-50 p-4 rounded-xl shadow-xl flex items-center justify-between gap-4 transition-all duration-300 text-white min-w-[300px]",
8627
+ "fixed z-[80] p-4 rounded-xl shadow-xl flex items-center justify-between gap-4 transition-all duration-300 text-white min-w-[300px]",
8598
8628
  positionStyles[position],
8599
8629
  {
8600
8630
  "opacity-100 translate-y-0 scale-100": isVisible,
@@ -8638,6 +8668,12 @@ var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
8638
8668
  FileTypeEnum2["PNG"] = "image/png";
8639
8669
  FileTypeEnum2["JPG"] = "image/jpg";
8640
8670
  FileTypeEnum2["JPEG"] = "image/jpeg";
8671
+ FileTypeEnum2["MP4"] = "video/mp4";
8672
+ FileTypeEnum2["MOV"] = "video/quicktime";
8673
+ FileTypeEnum2["AVI"] = "video/x-msvideo";
8674
+ FileTypeEnum2["MKV"] = "video/x-matroska";
8675
+ FileTypeEnum2["VIDEO_3GPP"] = "video/3gpp";
8676
+ FileTypeEnum2["WEBM"] = "video/webm";
8641
8677
  return FileTypeEnum2;
8642
8678
  })(FileTypeEnum || {});
8643
8679
  var UploadStatus = /* @__PURE__ */ ((UploadStatus2) => {
@@ -8708,6 +8744,24 @@ var ITDropfile = ({
8708
8744
  case "image/jpeg" /* JPEG */:
8709
8745
  accept["image/jpeg" /* JPEG */] = [".jpeg", ".jpg"];
8710
8746
  break;
8747
+ case "video/mp4" /* MP4 */:
8748
+ accept["video/mp4" /* MP4 */] = [".mp4"];
8749
+ break;
8750
+ case "video/quicktime" /* MOV */:
8751
+ accept["video/quicktime" /* MOV */] = [".mov"];
8752
+ break;
8753
+ case "video/x-msvideo" /* AVI */:
8754
+ accept["video/x-msvideo" /* AVI */] = [".avi"];
8755
+ break;
8756
+ case "video/x-matroska" /* MKV */:
8757
+ accept["video/x-matroska" /* MKV */] = [".mkv"];
8758
+ break;
8759
+ case "video/3gpp" /* VIDEO_3GPP */:
8760
+ accept["video/3gpp" /* VIDEO_3GPP */] = [".3gp"];
8761
+ break;
8762
+ case "video/webm" /* WEBM */:
8763
+ accept["video/webm" /* WEBM */] = [".webm"];
8764
+ break;
8711
8765
  }
8712
8766
  });
8713
8767
  return accept;
@@ -8731,6 +8785,14 @@ var ITDropfile = ({
8731
8785
  case "image/jpeg" /* JPEG */:
8732
8786
  if (!extensions.includes("IMAGEN")) extensions.push("IMAGEN");
8733
8787
  break;
8788
+ case "video/mp4" /* MP4 */:
8789
+ case "video/quicktime" /* MOV */:
8790
+ case "video/x-msvideo" /* AVI */:
8791
+ case "video/x-matroska" /* MKV */:
8792
+ case "video/3gpp" /* VIDEO_3GPP */:
8793
+ case "video/webm" /* WEBM */:
8794
+ if (!extensions.includes("VIDEO")) extensions.push("VIDEO");
8795
+ break;
8734
8796
  }
8735
8797
  });
8736
8798
  return extensions.join(", ");
@@ -8893,35 +8955,41 @@ var ITDropfile = ({
8893
8955
  ] }) }),
8894
8956
  /* @__PURE__ */ jsx58("div", { className: "px-3 py-2 bg-white border-t border-gray-100 flex justify-end gap-2", children: !isConfirmed ? /* @__PURE__ */ jsxs44(Fragment8, { children: [
8895
8957
  /* @__PURE__ */ jsx58(
8896
- "button",
8958
+ ITButton,
8897
8959
  {
8898
8960
  type: "button",
8961
+ variant: "outlined",
8962
+ color: "secondary",
8963
+ size: "small",
8899
8964
  onClick: handleCancel,
8900
- className: "px-3 py-1.5 text-xs font-medium text-gray-700 bg-white border border-gray-300 rounded-lg hover:bg-gray-50 transition-colors",
8901
- children: /* @__PURE__ */ jsx58(ITText, { as: "span", children: "Cancelar" })
8965
+ children: /* @__PURE__ */ jsx58(ITText, { children: "Cancelar" })
8902
8966
  }
8903
8967
  ),
8904
- /* @__PURE__ */ jsxs44(
8905
- "button",
8968
+ /* @__PURE__ */ jsx58(
8969
+ ITButton,
8906
8970
  {
8907
8971
  type: "button",
8972
+ variant: "filled",
8973
+ color: "primary",
8974
+ size: "small",
8908
8975
  onClick: handleConfirm,
8909
- className: "px-3 py-1.5 text-xs font-medium text-white bg-primary-600 rounded-lg hover:bg-primary-700 shadow-sm transition-colors flex items-center gap-1",
8910
- children: [
8911
- /* @__PURE__ */ jsx58(ITText, { as: "span", children: "Confirmar" }),
8976
+ children: /* @__PURE__ */ jsxs44("div", { className: "flex items-center gap-2", children: [
8977
+ /* @__PURE__ */ jsx58(ITText, { children: "Confirmar" }),
8912
8978
  /* @__PURE__ */ jsx58("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) })
8913
- ]
8979
+ ] })
8914
8980
  }
8915
8981
  )
8916
8982
  ] }) : /* @__PURE__ */ jsxs44(
8917
- "button",
8983
+ ITButton,
8918
8984
  {
8919
8985
  type: "button",
8986
+ variant: "outlined",
8987
+ color: "danger",
8988
+ size: "small",
8920
8989
  onClick: handleDelete,
8921
- className: "px-3 py-1.5 text-xs font-medium text-danger-600 bg-danger-50 border border-danger-100 rounded-lg hover:bg-danger-100 transition-colors flex items-center gap-1",
8922
8990
  children: [
8923
8991
  /* @__PURE__ */ jsx58("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ jsx58("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" }) }),
8924
- /* @__PURE__ */ jsx58(ITText, { as: "span", children: "Eliminar" })
8992
+ /* @__PURE__ */ jsx58(ITText, { children: "Eliminar" })
8925
8993
  ]
8926
8994
  }
8927
8995
  ) }),
@@ -9074,7 +9142,7 @@ function ITTopBar({
9074
9142
  {
9075
9143
  ref: userMenuRef,
9076
9144
  className: `
9077
- absolute right-0 mt-3 w-64 rounded-2xl shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)] z-50 overflow-hidden transform origin-top-right transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)]
9145
+ absolute right-0 mt-3 w-64 rounded-2xl shadow-[0_10px_40px_-10px_rgba(0,0,0,0.15)] z-[70] overflow-hidden transform origin-top-right transition-all duration-200 ease-[cubic-bezier(0.2,0,0,1)]
9078
9146
  ${isUserMenuOpen ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-2 pointer-events-none"}
9079
9147
  `,
9080
9148
  style: {
@@ -9166,7 +9234,7 @@ function ITLayout({
9166
9234
  mobileSidebarOpen && /* @__PURE__ */ jsx60(
9167
9235
  "div",
9168
9236
  {
9169
- className: "lg:hidden fixed inset-0 z-50 transition-opacity duration-300 backdrop-blur-sm bg-black/40",
9237
+ className: "lg:hidden fixed inset-0 z-[40] transition-opacity duration-300 backdrop-blur-sm bg-black/40",
9170
9238
  onClick: () => setMobileSidebarOpen(false),
9171
9239
  children: /* @__PURE__ */ jsx60(
9172
9240
  "div",