@axzydev/axzy_ui_system 1.2.8 → 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 (45) hide show
  1. package/README.md +109 -51
  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 +43 -33
  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/GettingStartedShowcase.tsx +207 -0
  43. package/src/showcases/HomeShowcase.tsx +95 -3
  44. package/src/theme/theme.ts +21 -0
  45. package/src/types/field.types.ts +70 -7
package/dist/index.cjs CHANGED
@@ -99,6 +99,10 @@ var import_react = require("react");
99
99
  var useClickOutside = (ref, callback) => {
100
100
  (0, import_react.useEffect)(() => {
101
101
  const handleClickOutside = (event) => {
102
+ const target = event.target;
103
+ const clickedDialog = target?.closest("[data-it-dialog]");
104
+ const currentDialog = ref.current?.closest("[data-it-dialog]");
105
+ if (clickedDialog && clickedDialog !== currentDialog) return;
102
106
  if (ref.current && !ref.current.contains(event.target)) {
103
107
  callback();
104
108
  }
@@ -285,11 +289,11 @@ function useTableState({
285
289
  const [totalPages, setTotalPages] = (0, import_react4.useState)(1);
286
290
  const goToPage = (0, import_react4.useCallback)(
287
291
  (page) => {
288
- if (page >= 1 && page <= totalPages) {
292
+ if (page >= 1) {
289
293
  setCurrentPage(page);
290
294
  }
291
295
  },
292
- [totalPages]
296
+ []
293
297
  );
294
298
  const handleItemsPerPageChange = (0, import_react4.useCallback)((value) => {
295
299
  setItemsPerPage(value);
@@ -443,6 +447,7 @@ var sizeMap = {
443
447
  var DEFAULT_COLOR = "bg-primary-600";
444
448
  var DEFAULT_BG = "var(--color-primary-600)";
445
449
  var DEFAULT_SHADOW = "0 4px 14px 0 rgba(37, 99, 235, 0.35)";
450
+ var isRawColorValue = (value) => /^#|^rgb|^hsl|^var\(/i.test(value.trim());
446
451
  function ITAvatar({
447
452
  src,
448
453
  alt = "",
@@ -454,17 +459,18 @@ function ITAvatar({
454
459
  onClick
455
460
  }) {
456
461
  const { container, text } = sizeMap[size];
457
- const useInlineStyle = !color || color === DEFAULT_COLOR;
462
+ const useDefaultStyle = !color || color === DEFAULT_COLOR;
463
+ const useRawColorStyle = !useDefaultStyle && isRawColorValue(color);
458
464
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
459
465
  "div",
460
466
  {
461
467
  className: (0, import_clsx2.default)(
462
468
  "relative inline-flex items-center justify-center rounded-full flex-shrink-0 overflow-hidden text-white font-bold tracking-wide",
463
469
  container,
464
- !useInlineStyle && color,
470
+ !useDefaultStyle && !useRawColorStyle && color,
465
471
  className
466
472
  ),
467
- style: useInlineStyle ? { backgroundColor: DEFAULT_BG, boxShadow: DEFAULT_SHADOW } : void 0,
473
+ style: useDefaultStyle ? { backgroundColor: DEFAULT_BG, boxShadow: DEFAULT_SHADOW } : useRawColorStyle ? { backgroundColor: color } : void 0,
468
474
  onClick,
469
475
  role: onClick ? "button" : void 0,
470
476
  tabIndex: onClick ? 0 : void 0,
@@ -958,10 +964,23 @@ var typography = {
958
964
  relaxed: "1.75"
959
965
  }
960
966
  };
967
+ var zIndex = {
968
+ /** Barras sticky (ITTopbar) y overlays de navegación (sidebar/aside móvil). */
969
+ navOverlay: 40,
970
+ /** Paneles deslizantes (ITDrawer). */
971
+ drawer: 50,
972
+ /** Diálogos modales (ITDialog, ITConfirmDialog). */
973
+ modal: 60,
974
+ /** UI flotante contextual: dropdowns, ITPopover, ITTooltip, ITDatePicker/ITTimePicker. */
975
+ floating: 70,
976
+ /** Notificaciones globales (ITToast) — siempre por encima de todo lo demás. */
977
+ toast: 80
978
+ };
961
979
  var theme = {
962
980
  palette,
963
981
  colors: semanticColors,
964
982
  typography,
983
+ zIndex,
965
984
  ...components
966
985
  };
967
986
 
@@ -1792,7 +1811,7 @@ function ITConfirmDialog({
1792
1811
  loading = false
1793
1812
  }) {
1794
1813
  if (!isOpen) return null;
1795
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "fixed inset-0 z-[300] flex items-center justify-center p-4", children: [
1814
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "fixed inset-0 z-[60] flex items-center justify-center p-4", children: [
1796
1815
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-sm", onClick: onClose }),
1797
1816
  /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
1798
1817
  "div",
@@ -1852,6 +1871,19 @@ function inputLabel(error) {
1852
1871
  var inputError = "text-red-500 text-xs mt-1";
1853
1872
  var iconAbsoluteLeft = "absolute inset-y-0 left-0 flex items-center pl-3 z-10";
1854
1873
  var iconAbsoluteRight = "absolute inset-y-0 right-0 flex items-center pr-3 z-10";
1874
+ var tableContainer = "rounded-xl shadow-sm border border-secondary-200 overflow-hidden";
1875
+ var tableHeaderRow = "bg-secondary-50 border-b border-secondary-200 text-xs uppercase tracking-wider font-semibold text-secondary-500";
1876
+ function tableHeaderCell(className) {
1877
+ return (0, import_clsx10.default)("px-4 py-4 align-top", className);
1878
+ }
1879
+ var tableBody = "divide-y divide-secondary-100";
1880
+ var tableRow = "hover:bg-secondary-50/50 transition-colors duration-150 group";
1881
+ function tableCell(className) {
1882
+ return (0, import_clsx10.default)("px-4 py-3 align-middle", className);
1883
+ }
1884
+ var tableActionsCell = "flex items-center justify-center gap-2";
1885
+ var tableCellText = "text-secondary-700 font-medium";
1886
+ var tableEmptyContent = "flex flex-col items-center justify-center text-secondary-400";
1855
1887
  var gridColsClasses = {
1856
1888
  1: "grid-cols-1",
1857
1889
  2: "grid-cols-2",
@@ -2442,10 +2474,7 @@ function ITSelect({
2442
2474
  {
2443
2475
  as: "label",
2444
2476
  htmlFor: name,
2445
- className: (0, import_clsx12.default)(
2446
- "text-sm font-medium text-gray-700 dark:text-slate-300 pt-0",
2447
- { "text-red-500": hasError }
2448
- ),
2477
+ className: inputLabel(hasError),
2449
2478
  children: [
2450
2479
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "span", children: label }),
2451
2480
  required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "span", className: "text-red-500 ml-1", children: "*" })
@@ -2476,13 +2505,13 @@ function ITSelect({
2476
2505
  ),
2477
2506
  style: getStyle(),
2478
2507
  children: [
2479
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("option", { value: "", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "span", children: placeholder || "Selecciona una opci\xF3n" }) }),
2480
- readOnly ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("option", { value, disabled: true, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "span", children: options.find((option) => option[valueField] === value)?.[labelField] }) }) : options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2508
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("option", { value: "", children: placeholder || "Selecciona una opci\xF3n" }),
2509
+ readOnly ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("option", { value, disabled: true, children: options.find((option) => option[valueField] === value)?.[labelField] }) : options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
2481
2510
  "option",
2482
2511
  {
2483
2512
  value: option[valueField],
2484
2513
  title: option[labelField],
2485
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "span", children: option[labelField] })
2514
+ children: option[labelField]
2486
2515
  },
2487
2516
  option[valueField]
2488
2517
  ))
@@ -2491,7 +2520,7 @@ function ITSelect({
2491
2520
  ),
2492
2521
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "absolute inset-y-0 right-0 flex items-center pr-3 pointer-events-none text-gray-500", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_fa5.FaAngleDown, {}) })
2493
2522
  ] }),
2494
- hasError && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex-shrink-0 min-w-[140px] flex items-center pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "p", className: "text-red-500 text-xs", children: errorMessage }) })
2523
+ hasError && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "flex-shrink-0 min-w-[140px] flex items-center pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ITText, { as: "p", className: inputError, children: errorMessage }) })
2495
2524
  ] })
2496
2525
  ] }) });
2497
2526
  }
@@ -2826,7 +2855,7 @@ function ITTable({
2826
2855
  );
2827
2856
  }
2828
2857
  if (col.catalogOptions.error) {
2829
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-red-500 text-xs", children: "Error cargando" });
2858
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
2830
2859
  }
2831
2860
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2832
2861
  ITSelect,
@@ -2875,14 +2904,14 @@ function ITTable({
2875
2904
  return value ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2876
2905
  import_fa7.FaCheck,
2877
2906
  {
2878
- className: "text-green-500",
2907
+ className: "text-success-500",
2879
2908
  "aria-label": "Verdadero",
2880
2909
  title: "Verdadero"
2881
2910
  }
2882
2911
  ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2883
2912
  import_fa7.FaTimes,
2884
2913
  {
2885
- className: "text-red-500",
2914
+ className: "text-danger-500",
2886
2915
  "aria-label": "Falso",
2887
2916
  title: "Falso"
2888
2917
  }
@@ -2912,7 +2941,7 @@ function ITTable({
2912
2941
  actionCol?.actions && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex items-center justify-end gap-2 pt-2 border-t border-slate-100 dark:border-slate-700", children: actionCol.actions(row) })
2913
2942
  ] });
2914
2943
  };
2915
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: (0, import_clsx14.default)("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "rounded-xl shadow-sm overflow-hidden", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2944
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: (0, import_clsx14.default)("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2916
2945
  title && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
2917
2946
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
2918
2947
  /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("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: [
@@ -2964,7 +2993,7 @@ function ITTable({
2964
2993
  }
2965
2994
  )
2966
2995
  ] }) }),
2967
- viewMode === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: currentData.length > 0 ? currentData.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 text-secondary-400", children: [
2996
+ viewMode === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: currentData.length > 0 ? currentData.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: (0, import_clsx14.default)(tableEmptyContent, "py-12"), children: [
2968
2997
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
2969
2998
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
2970
2999
  ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
@@ -2978,11 +3007,11 @@ function ITTable({
2978
3007
  sizeStyles[size]
2979
3008
  ),
2980
3009
  children: [
2981
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tr", { className: "bg-secondary-50 text-xs uppercase tracking-wider font-semibold text-slate-700 dark:text-slate-200", children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3010
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tr", { className: (0, import_clsx14.default)(tableHeaderRow, "dark:text-slate-200"), children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
2982
3011
  "th",
2983
3012
  {
2984
3013
  scope: "col",
2985
- className: (0, import_clsx14.default)("px-4 py-4 align-top", col.className),
3014
+ className: tableHeaderCell(col.className),
2986
3015
  children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
2987
3016
  /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
2988
3017
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
@@ -3001,21 +3030,21 @@ function ITTable({
3001
3030
  },
3002
3031
  col.key
3003
3032
  )) }) }),
3004
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tbody", { className: "divide-y divide-slate-100 dark:divide-slate-700/30", children: currentData.length > 0 ? currentData.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3033
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tbody", { className: (0, import_clsx14.default)(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? currentData.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3005
3034
  "tr",
3006
3035
  {
3007
- className: (0, import_clsx14.default)("hover:bg-secondary-50/50 transition-colors duration-150 group", variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"),
3036
+ className: (0, import_clsx14.default)(tableRow, variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"),
3008
3037
  children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
3009
3038
  "td",
3010
3039
  {
3011
- className: (0, import_clsx14.default)("px-4 py-3 align-middle", col.className),
3012
- children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex items-center justify-center gap-2", children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "text-secondary-700 font-medium", children: renderCellContent(col, row) })
3040
+ className: tableCell(col.className),
3041
+ children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: tableCellText, children: renderCellContent(col, row) })
3013
3042
  },
3014
3043
  `${rowIndex}-${col.key}`
3015
3044
  ))
3016
3045
  },
3017
3046
  rowIndex
3018
- )) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col items-center justify-center text-secondary-400", children: [
3047
+ )) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: tableEmptyContent, children: [
3019
3048
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
3020
3049
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
3021
3050
  ] }) }) }) })
@@ -3149,7 +3178,7 @@ function ITDataTable({
3149
3178
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaSpinner, { className: "animate-spin", "aria-label": "Cargando opciones", title: "Cargando opciones" });
3150
3179
  }
3151
3180
  if (col.catalogOptions.error) {
3152
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-red-500 text-xs", children: "Error cargando" });
3181
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
3153
3182
  }
3154
3183
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
3155
3184
  ITSelect,
@@ -3195,7 +3224,7 @@ function ITDataTable({
3195
3224
  case "number":
3196
3225
  return typeof value === "number" && col.currencyMX ? formatCurrencyMX(value) : value;
3197
3226
  case "boolean":
3198
- return value ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaCheck, { className: "text-green-500", "aria-label": "Verdadero", title: "Verdadero" }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaTimes, { className: "text-red-500", "aria-label": "Falso", title: "Falso" });
3227
+ return value ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaCheck, { className: "text-success-500", "aria-label": "Verdadero", title: "Verdadero" }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaTimes, { className: "text-danger-500", "aria-label": "Falso", title: "Falso" });
3199
3228
  case "actions":
3200
3229
  return col.actions ? col.actions(row) : null;
3201
3230
  case "catalog":
@@ -3221,7 +3250,7 @@ function ITDataTable({
3221
3250
  };
3222
3251
  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"}`;
3223
3252
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: (0, import_clsx15.default)("space-y-4 w-full relative", containerClassName), children: [
3224
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "rounded-xl shadow-sm overflow-hidden", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3253
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3225
3254
  title && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
3226
3255
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
3227
3256
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center gap-3", children: [
@@ -3253,7 +3282,7 @@ function ITDataTable({
3253
3282
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_fa8.FaSpinner, { className: "animate-spin text-primary-500 text-4xl" }),
3254
3283
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-sm font-semibold text-secondary-600 animate-pulse", children: "Cargando datos..." })
3255
3284
  ] }) }) }),
3256
- viewMode === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: data.length > 0 ? data.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : !isLoading && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col items-center justify-center py-12 text-secondary-400", children: [
3285
+ viewMode === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "p-4 space-y-3 max-h-[400px] overflow-y-auto", children: data.length > 0 ? data.map((row, i) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { children: renderCard ? renderCard(row) : renderDefaultCard(row) }, i)) : !isLoading && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: (0, import_clsx15.default)(tableEmptyContent, "py-12"), children: [
3257
3286
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
3258
3287
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
3259
3288
  ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
@@ -3269,7 +3298,7 @@ function ITDataTable({
3269
3298
  className
3270
3299
  ),
3271
3300
  children: [
3272
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: "bg-secondary-50 text-xs uppercase tracking-wider font-semibold text-slate-700 dark:text-slate-200", children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("th", { scope: "col", className: (0, import_clsx15.default)("px-4 py-4 align-top", col.className), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
3301
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: (0, import_clsx15.default)(tableHeaderRow, "dark:text-slate-200"), children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("th", { scope: "col", className: tableHeaderCell(col.className), children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col gap-3 min-w-[150px]", children: [
3273
3302
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
3274
3303
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
3275
3304
  col.sortable && col.type !== "actions" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
@@ -3285,7 +3314,7 @@ function ITDataTable({
3285
3314
  ] }),
3286
3315
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "w-full", children: col.filter ? renderFilterInput(col) : null })
3287
3316
  ] }) }, col.key)) }) }),
3288
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: "divide-y divide-slate-100 dark:divide-slate-700/30", children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: (0, import_clsx15.default)("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__ */ (0, import_jsx_runtime15.jsx)("td", { className: (0, import_clsx15.default)("px-4 py-3 align-middle", col.className), children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex items-center justify-center gap-2", children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "text-secondary-700 font-medium", children: renderCellContent(col, row) }) }, `${rowIndex}-${col.key}`)) }, rowIndex)) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: !isLoading && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex flex-col items-center justify-center text-secondary-400", children: [
3317
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tbody", { className: (0, import_clsx15.default)(tableBody, "dark:divide-slate-700/30"), children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { className: (0, import_clsx15.default)(tableRow, variant === "striped" && "odd:bg-secondary-50/40 dark:odd:bg-slate-800/20"), children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { className: tableCell(col.className), children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: tableCellText, children: renderCellContent(col, row) }) }, `${rowIndex}-${col.key}`)) }, rowIndex)) : /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: !isLoading && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: tableEmptyContent, children: [
3289
3318
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
3290
3319
  /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
3291
3320
  ] }) }) }) })
@@ -3536,7 +3565,7 @@ function ITDatePicker({
3536
3565
  "div",
3537
3566
  {
3538
3567
  className: (0, import_clsx16.default)(
3539
- "fixed z-[9999]",
3568
+ "fixed z-[70]",
3540
3569
  calendarClassName,
3541
3570
  range ? "w-[320px]" : "w-[280px]"
3542
3571
  ),
@@ -5594,7 +5623,8 @@ function ITDialog({
5594
5623
  const content = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5595
5624
  "div",
5596
5625
  {
5597
- className: `fixed inset-0 flex ${fullScreen ? "items-stretch" : "items-center justify-center"} bg-black/50 z-[9999]`,
5626
+ "data-it-dialog": "true",
5627
+ className: `fixed inset-0 flex ${fullScreen ? "items-stretch" : "items-center justify-center"} bg-black/50 z-[60]`,
5598
5628
  children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
5599
5629
  "div",
5600
5630
  {
@@ -5647,7 +5677,7 @@ function ITDrawer({
5647
5677
  }) {
5648
5678
  const panelRef = (0, import_react17.useRef)(null);
5649
5679
  useClickOutside_default(panelRef, onClose);
5650
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "fixed inset-0 z-[100] flex", children: [
5680
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, { children: isOpen && /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "fixed inset-0 z-[50] flex", children: [
5651
5681
  /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "absolute inset-0 bg-black/40 backdrop-blur-sm transition-opacity" }),
5652
5682
  /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
5653
5683
  "div",
@@ -5985,7 +6015,7 @@ function ITTimePicker({
5985
6015
  "div",
5986
6016
  {
5987
6017
  ref: dropdownRef,
5988
- 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",
6018
+ 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",
5989
6019
  style: {
5990
6020
  top: `${dropdownPosition.top}px`,
5991
6021
  left: `${dropdownPosition.left}px`
@@ -6176,7 +6206,7 @@ function ITSearchSelect({
6176
6206
  const getInputStyle = () => {
6177
6207
  const style = {
6178
6208
  backgroundColor: inputTheme.backgroundColor || "#ffffff",
6179
- borderColor: inputTheme.borderColor || "#e2e8f0",
6209
+ borderColor: inputTheme.borderColor || "var(--color-secondary-300)",
6180
6210
  borderRadius: inputTheme.borderRadius || "0.5rem",
6181
6211
  padding: inputTheme.padding || "0.5rem 0.75rem",
6182
6212
  fontSize: inputTheme.fontSize || "0.875rem",
@@ -6187,8 +6217,8 @@ function ITSearchSelect({
6187
6217
  width: "100%"
6188
6218
  };
6189
6219
  if (disabled) {
6190
- style.backgroundColor = inputTheme.disabled?.backgroundColor || "#f1f5f9";
6191
- style.borderColor = inputTheme.disabled?.borderColor || "#e2e8f0";
6220
+ style.backgroundColor = inputTheme.disabled?.backgroundColor || "var(--color-secondary-100)";
6221
+ style.borderColor = inputTheme.disabled?.borderColor || "var(--color-secondary-200)";
6192
6222
  style.opacity = 0.7;
6193
6223
  style.cursor = "not-allowed";
6194
6224
  }
@@ -6241,7 +6271,7 @@ function ITSearchSelect({
6241
6271
  !isLoading && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_fa15.FaSearch, { size: 14, className: (0, import_clsx24.default)({ "text-primary-500": isFocused }) })
6242
6272
  ] })
6243
6273
  ] }),
6244
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("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__ */ (0, import_jsx_runtime28.jsx)("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6274
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("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__ */ (0, import_jsx_runtime28.jsx)("div", { className: "max-h-60 overflow-y-auto", children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
6245
6275
  ITText,
6246
6276
  {
6247
6277
  as: "div",
@@ -6839,7 +6869,7 @@ function ITNavbar({
6839
6869
  "div",
6840
6870
  {
6841
6871
  ref: userMenuRef,
6842
- className: "z-50 absolute right-0 mt-2 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow-sm",
6872
+ className: "z-[70] absolute right-0 mt-2 text-base list-none bg-white divide-y divide-gray-100 rounded-lg shadow-sm",
6843
6873
  children: [
6844
6874
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "px-4 py-3", children: [
6845
6875
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(ITText, { as: "span", className: "block text-sm text-gray-900", children: userMenu.userName }),
@@ -6863,7 +6893,7 @@ function ITNavbar({
6863
6893
  ] }) })
6864
6894
  ] }) }),
6865
6895
  /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: "flex-1 flex overflow-hidden relative", children: [
6866
- (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("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__ */ (0, import_jsx_runtime33.jsx)("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6896
+ (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("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__ */ (0, import_jsx_runtime33.jsx)("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6867
6897
  /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("main", { className: "flex-1 bg-gray-100 overflow-y-auto", children })
6868
6898
  ] })
6869
6899
  ] });
@@ -7312,7 +7342,7 @@ function ITPopover({
7312
7342
  });
7313
7343
  return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { ref, className: (0, import_clsx30.default)("relative inline-flex", className), children: [
7314
7344
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { onClick: () => isControlled ? onClose?.() : setInternalOpen((p) => !p), className: "cursor-pointer", children: trigger }),
7315
- open && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: (0, import_clsx30.default)("absolute z-[200]", positionClasses[position]), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("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 }) })
7345
+ open && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: (0, import_clsx30.default)("absolute z-[70]", positionClasses[position]), children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("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 }) })
7316
7346
  ] });
7317
7347
  }
7318
7348
 
@@ -8147,7 +8177,7 @@ function ITSidebar({
8147
8177
  style: {
8148
8178
  zIndex: 50,
8149
8179
  backgroundColor: "var(--sidebar-bg, rgba(255, 255, 255, 0.90))",
8150
- borderRight: "1px solid var(--sidebar-border, #e2e8f0)",
8180
+ borderRight: "1px solid var(--sidebar-border, var(--color-secondary-200))",
8151
8181
  WebkitBackdropFilter: "blur(12px)",
8152
8182
  backdropFilter: "blur(12px)"
8153
8183
  },
@@ -8161,12 +8191,12 @@ function ITSidebar({
8161
8191
  ${isSidebarCollapsed ? "justify-center p-2.5 mb-2" : "justify-between px-3.5 py-3 mb-1"}
8162
8192
  `,
8163
8193
  style: {
8164
- backgroundColor: item.isActive ? "var(--sidebar-active-bg, #f8fafc)" : "transparent",
8194
+ backgroundColor: item.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : "transparent",
8165
8195
  boxShadow: item.isActive ? "0 1px 2px 0 rgba(0, 0, 0, 0.05)" : "none",
8166
- border: item.isActive ? "1px solid var(--sidebar-border, #e2e8f0)" : "1px solid transparent"
8196
+ border: item.isActive ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : "1px solid transparent"
8167
8197
  },
8168
8198
  onMouseEnter: (e) => {
8169
- if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, #f1f5f9)";
8199
+ if (!item.isActive) e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
8170
8200
  },
8171
8201
  onMouseLeave: (e) => {
8172
8202
  if (!item.isActive) e.currentTarget.style.backgroundColor = "transparent";
@@ -8212,7 +8242,7 @@ function ITSidebar({
8212
8242
  "div",
8213
8243
  {
8214
8244
  className: `flex-shrink-0 transition-transform duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "rotate-180" : ""}`,
8215
- style: { color: item.isActive ? "var(--sidebar-active-color, #0f172a)" : "var(--sidebar-icon-color, #64748b)", opacity: 0.7 },
8245
+ style: { color: item.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-icon-color, var(--color-secondary-500))", opacity: 0.7 },
8216
8246
  children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_fa23.FaChevronDown, { className: "w-3 h-3" })
8217
8247
  }
8218
8248
  ),
@@ -8237,15 +8267,15 @@ function ITSidebar({
8237
8267
  isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
8238
8268
  "div",
8239
8269
  {
8240
- 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)]",
8270
+ 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)]",
8241
8271
  style: {
8242
8272
  backgroundColor: "var(--sidebar-bg, #ffffff)",
8243
- border: "1px solid var(--sidebar-border, #e2e8f0)",
8273
+ border: "1px solid var(--sidebar-border, var(--color-secondary-200))",
8244
8274
  WebkitBackdropFilter: "blur(16px)",
8245
8275
  backdropFilter: "blur(16px)"
8246
8276
  },
8247
8277
  children: [
8248
- /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("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: [
8278
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("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: [
8249
8279
  item.icon && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { style: { color: "var(--sidebar-active-icon, #10b981)" }, className: "text-xl drop-shadow-sm", children: item.icon }),
8250
8280
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ITText, { as: "span", className: "tracking-wide text-[15px]", children: item.label })
8251
8281
  ] }),
@@ -8264,8 +8294,8 @@ function ITSidebar({
8264
8294
  }
8265
8295
  }
8266
8296
  ),
8267
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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)" } }),
8268
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(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 })
8297
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("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))" } }),
8298
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(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 })
8269
8299
  ]
8270
8300
  },
8271
8301
  subitem.id
@@ -8278,7 +8308,7 @@ function ITSidebar({
8278
8308
  {
8279
8309
  className: "ml-5 flex flex-col gap-0.5 py-1",
8280
8310
  style: {
8281
- borderLeft: subitemConnector === "|" ? "1px solid var(--sidebar-border, #e2e8f0)" : "none"
8311
+ borderLeft: subitemConnector === "|" ? "1px solid var(--sidebar-border, var(--color-secondary-200))" : "none"
8282
8312
  },
8283
8313
  children: item.subitems.map((subitem) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("li", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
8284
8314
  "button",
@@ -8289,8 +8319,8 @@ function ITSidebar({
8289
8319
  },
8290
8320
  className: `flex items-center gap-2.5 w-full text-left px-3 py-2 rounded-xl transition-all duration-300`,
8291
8321
  style: {
8292
- color: subitem.isActive ? "var(--sidebar-active-color, #0f172a)" : "var(--sidebar-label-color, #475569)",
8293
- backgroundColor: subitem.isActive ? "var(--sidebar-active-bg, #f8fafc)" : "transparent",
8322
+ color: subitem.isActive ? "var(--sidebar-active-color, var(--color-secondary-900))" : "var(--sidebar-label-color, var(--color-secondary-600))",
8323
+ backgroundColor: subitem.isActive ? "var(--sidebar-active-bg, var(--color-secondary-50))" : "transparent",
8294
8324
  fontSize: "0.85rem",
8295
8325
  fontWeight: subitem.isActive ? 600 : 500,
8296
8326
  letterSpacing: "0.01em",
@@ -8298,7 +8328,7 @@ function ITSidebar({
8298
8328
  },
8299
8329
  onMouseEnter: (e) => {
8300
8330
  if (!subitem.isActive) {
8301
- e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, #f1f5f9)";
8331
+ e.currentTarget.style.backgroundColor = "var(--sidebar-hover-bg, var(--color-secondary-100))";
8302
8332
  e.currentTarget.style.transform = "translateX(3px)";
8303
8333
  }
8304
8334
  },
@@ -8324,7 +8354,7 @@ function ITSidebar({
8324
8354
  {
8325
8355
  className: `w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-300 ${subitem.isActive ? "scale-125" : ""}`,
8326
8356
  style: {
8327
- backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, #94a3b8)"
8357
+ backgroundColor: subitem.isActive ? "var(--sidebar-active-icon, #10b981)" : "var(--sidebar-icon-color, var(--color-secondary-400))"
8328
8358
  }
8329
8359
  }
8330
8360
  ),
@@ -8666,7 +8696,7 @@ function ITToast({
8666
8696
  "div",
8667
8697
  {
8668
8698
  className: (0, import_clsx40.default)(
8669
- "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]",
8699
+ "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]",
8670
8700
  positionStyles[position],
8671
8701
  {
8672
8702
  "opacity-100 translate-y-0 scale-100": isVisible,
@@ -8710,6 +8740,12 @@ var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
8710
8740
  FileTypeEnum2["PNG"] = "image/png";
8711
8741
  FileTypeEnum2["JPG"] = "image/jpg";
8712
8742
  FileTypeEnum2["JPEG"] = "image/jpeg";
8743
+ FileTypeEnum2["MP4"] = "video/mp4";
8744
+ FileTypeEnum2["MOV"] = "video/quicktime";
8745
+ FileTypeEnum2["AVI"] = "video/x-msvideo";
8746
+ FileTypeEnum2["MKV"] = "video/x-matroska";
8747
+ FileTypeEnum2["VIDEO_3GPP"] = "video/3gpp";
8748
+ FileTypeEnum2["WEBM"] = "video/webm";
8713
8749
  return FileTypeEnum2;
8714
8750
  })(FileTypeEnum || {});
8715
8751
  var UploadStatus = /* @__PURE__ */ ((UploadStatus2) => {
@@ -8780,6 +8816,24 @@ var ITDropfile = ({
8780
8816
  case "image/jpeg" /* JPEG */:
8781
8817
  accept["image/jpeg" /* JPEG */] = [".jpeg", ".jpg"];
8782
8818
  break;
8819
+ case "video/mp4" /* MP4 */:
8820
+ accept["video/mp4" /* MP4 */] = [".mp4"];
8821
+ break;
8822
+ case "video/quicktime" /* MOV */:
8823
+ accept["video/quicktime" /* MOV */] = [".mov"];
8824
+ break;
8825
+ case "video/x-msvideo" /* AVI */:
8826
+ accept["video/x-msvideo" /* AVI */] = [".avi"];
8827
+ break;
8828
+ case "video/x-matroska" /* MKV */:
8829
+ accept["video/x-matroska" /* MKV */] = [".mkv"];
8830
+ break;
8831
+ case "video/3gpp" /* VIDEO_3GPP */:
8832
+ accept["video/3gpp" /* VIDEO_3GPP */] = [".3gp"];
8833
+ break;
8834
+ case "video/webm" /* WEBM */:
8835
+ accept["video/webm" /* WEBM */] = [".webm"];
8836
+ break;
8783
8837
  }
8784
8838
  });
8785
8839
  return accept;
@@ -8803,6 +8857,14 @@ var ITDropfile = ({
8803
8857
  case "image/jpeg" /* JPEG */:
8804
8858
  if (!extensions.includes("IMAGEN")) extensions.push("IMAGEN");
8805
8859
  break;
8860
+ case "video/mp4" /* MP4 */:
8861
+ case "video/quicktime" /* MOV */:
8862
+ case "video/x-msvideo" /* AVI */:
8863
+ case "video/x-matroska" /* MKV */:
8864
+ case "video/3gpp" /* VIDEO_3GPP */:
8865
+ case "video/webm" /* WEBM */:
8866
+ if (!extensions.includes("VIDEO")) extensions.push("VIDEO");
8867
+ break;
8806
8868
  }
8807
8869
  });
8808
8870
  return extensions.join(", ");
@@ -8965,35 +9027,41 @@ var ITDropfile = ({
8965
9027
  ] }) }),
8966
9028
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "px-3 py-2 bg-white border-t border-gray-100 flex justify-end gap-2", children: !isConfirmed ? /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_jsx_runtime59.Fragment, { children: [
8967
9029
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8968
- "button",
9030
+ ITButton,
8969
9031
  {
8970
9032
  type: "button",
9033
+ variant: "outlined",
9034
+ color: "secondary",
9035
+ size: "small",
8971
9036
  onClick: handleCancel,
8972
- 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",
8973
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", children: "Cancelar" })
9037
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { children: "Cancelar" })
8974
9038
  }
8975
9039
  ),
8976
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
8977
- "button",
9040
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
9041
+ ITButton,
8978
9042
  {
8979
9043
  type: "button",
9044
+ variant: "filled",
9045
+ color: "primary",
9046
+ size: "small",
8980
9047
  onClick: handleConfirm,
8981
- 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",
8982
- children: [
8983
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", children: "Confirmar" }),
9048
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-center gap-2", children: [
9049
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { children: "Confirmar" }),
8984
9050
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) })
8985
- ]
9051
+ ] })
8986
9052
  }
8987
9053
  )
8988
9054
  ] }) : /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
8989
- "button",
9055
+ ITButton,
8990
9056
  {
8991
9057
  type: "button",
9058
+ variant: "outlined",
9059
+ color: "danger",
9060
+ size: "small",
8992
9061
  onClick: handleDelete,
8993
- 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",
8994
9062
  children: [
8995
9063
  /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("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" }) }),
8996
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", children: "Eliminar" })
9064
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { children: "Eliminar" })
8997
9065
  ]
8998
9066
  }
8999
9067
  ) }),
@@ -9146,7 +9214,7 @@ function ITTopBar({
9146
9214
  {
9147
9215
  ref: userMenuRef,
9148
9216
  className: `
9149
- 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)]
9217
+ 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)]
9150
9218
  ${isUserMenuOpen ? "scale-100 opacity-100 translate-y-0" : "scale-95 opacity-0 -translate-y-2 pointer-events-none"}
9151
9219
  `,
9152
9220
  style: {
@@ -9238,7 +9306,7 @@ function ITLayout({
9238
9306
  mobileSidebarOpen && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
9239
9307
  "div",
9240
9308
  {
9241
- className: "lg:hidden fixed inset-0 z-50 transition-opacity duration-300 backdrop-blur-sm bg-black/40",
9309
+ className: "lg:hidden fixed inset-0 z-[40] transition-opacity duration-300 backdrop-blur-sm bg-black/40",
9242
9310
  onClick: () => setMobileSidebarOpen(false),
9243
9311
  children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
9244
9312
  "div",