@axzydev/axzy_ui_system 1.3.5 → 1.3.6

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.
package/dist/index.cjs CHANGED
@@ -57,6 +57,7 @@ __export(index_exports, {
57
57
  ITGrid: () => ITGrid,
58
58
  ITImage: () => image_default,
59
59
  ITInput: () => ITInput,
60
+ ITInputNumber: () => ITInputNumber,
60
61
  ITLayout: () => ITLayout,
61
62
  ITLoader: () => ITLoader,
62
63
  ITMaskedInput: () => ITMaskedInput,
@@ -2644,11 +2645,13 @@ function ITInput({
2644
2645
  max,
2645
2646
  readOnly = false,
2646
2647
  focusContent,
2647
- size = "md"
2648
+ size = "md",
2649
+ decimals
2648
2650
  }) {
2649
2651
  const isCheckboxOrRadio = type === "checkbox" || type === "radio";
2650
2652
  const isNumberType = type === "number";
2651
2653
  const isTextArea = type === "textarea";
2654
+ const decimalPlaces = decimals ?? (currencyFormat ? 2 : 0);
2652
2655
  const [displayValue, setDisplayValue] = (0, import_react12.useState)("");
2653
2656
  const [isFocused, setIsFocused] = (0, import_react12.useState)(false);
2654
2657
  const [hasSelectedAll, setHasSelectedAll] = (0, import_react12.useState)(false);
@@ -2701,13 +2704,16 @@ function ITInput({
2701
2704
  }
2702
2705
  if (currencyFormat) {
2703
2706
  return num.toLocaleString("es-MX", {
2704
- minimumFractionDigits: 2,
2705
- maximumFractionDigits: 2
2707
+ minimumFractionDigits: decimalPlaces,
2708
+ maximumFractionDigits: decimalPlaces
2706
2709
  });
2707
2710
  }
2711
+ if (decimalPlaces > 0) {
2712
+ return num.toFixed(decimalPlaces);
2713
+ }
2708
2714
  return num.toString();
2709
2715
  },
2710
- [currencyFormat]
2716
+ [currencyFormat, decimalPlaces]
2711
2717
  );
2712
2718
  const unformatValue = (0, import_react12.useCallback)(
2713
2719
  (val) => {
@@ -2753,11 +2759,11 @@ function ITInput({
2753
2759
  if (allowedKeys.includes(key) || ctrlKey || metaKey) {
2754
2760
  return;
2755
2761
  }
2756
- if (!currencyFormat && (key === "." || key === ",")) {
2762
+ if (decimalPlaces === 0 && (key === "." || key === ",")) {
2757
2763
  e.preventDefault();
2758
2764
  return;
2759
2765
  }
2760
- if (currencyFormat && (key === "." || key === ",") && currentValue.includes(".")) {
2766
+ if (decimalPlaces > 0 && (key === "." || key === ",") && currentValue.includes(".")) {
2761
2767
  const dotIndex = currentValue.indexOf(".");
2762
2768
  const replacingDot = selectionStart !== null && selectionEnd !== null && selectionStart <= dotIndex && dotIndex < selectionEnd;
2763
2769
  if (!replacingDot) {
@@ -2765,7 +2771,7 @@ function ITInput({
2765
2771
  return;
2766
2772
  }
2767
2773
  }
2768
- const allowedCharsRegex = currencyFormat ? /^[0-9.,]$/ : /^[0-9]$/;
2774
+ const allowedCharsRegex = decimalPlaces > 0 ? /^[0-9.,]$/ : /^[0-9]$/;
2769
2775
  if (key !== "Unidentified" && !allowedCharsRegex.test(key)) {
2770
2776
  e.preventDefault();
2771
2777
  return;
@@ -2783,7 +2789,7 @@ function ITInput({
2783
2789
  if (readOnly) return;
2784
2790
  let rawValue = e.target.value;
2785
2791
  let cleanedValue = "";
2786
- if (currencyFormat) {
2792
+ if (decimalPlaces > 0) {
2787
2793
  if (rawValue.includes(",") && rawValue.includes(".")) {
2788
2794
  rawValue = rawValue.replace(/,/g, "");
2789
2795
  } else if (rawValue.includes(",")) {
@@ -2792,8 +2798,8 @@ function ITInput({
2792
2798
  cleanedValue = rawValue.replace(/[^0-9.]/g, "");
2793
2799
  const parts = cleanedValue.split(".");
2794
2800
  if (parts.length > 1) {
2795
- const decimals = parts.slice(1).join("").substring(0, 2);
2796
- cleanedValue = parts[0] + "." + decimals;
2801
+ const decimalPart = parts.slice(1).join("").substring(0, decimalPlaces);
2802
+ cleanedValue = parts[0] + "." + decimalPart;
2797
2803
  }
2798
2804
  } else {
2799
2805
  cleanedValue = rawValue.replace(/[^0-9]/g, "");
@@ -2804,7 +2810,7 @@ function ITInput({
2804
2810
  if (!formatNumber) {
2805
2811
  valueToSend = cleanedValue;
2806
2812
  } else if (cleanedValue !== "") {
2807
- if (currencyFormat) {
2813
+ if (decimalPlaces > 0) {
2808
2814
  const numericValue = parseFloat(cleanedValue);
2809
2815
  if (!isNaN(numericValue)) {
2810
2816
  valueToSend = cleanedValue;
@@ -2881,7 +2887,7 @@ function ITInput({
2881
2887
  let numericValue = void 0;
2882
2888
  let valueToSend = void 0;
2883
2889
  let cleanedValue = "";
2884
- if (currencyFormat) {
2890
+ if (decimalPlaces > 0) {
2885
2891
  cleanedValue = currentValue.replace(/[^0-9.]/g, "");
2886
2892
  const parts = cleanedValue.split(".");
2887
2893
  if (parts.length > 2) {
@@ -2891,7 +2897,7 @@ function ITInput({
2891
2897
  } else {
2892
2898
  cleanedValue = currentValue.replace(/[^0-9]/g, "");
2893
2899
  }
2894
- const parsed = currencyFormat ? parseFloat(cleanedValue) : parseInt(cleanedValue, 10);
2900
+ const parsed = decimalPlaces > 0 ? parseFloat(cleanedValue) : parseInt(cleanedValue, 10);
2895
2901
  if (!isNaN(parsed)) {
2896
2902
  numericValue = parsed;
2897
2903
  if (min !== void 0 && numericValue < min) {
@@ -2924,7 +2930,7 @@ function ITInput({
2924
2930
  }
2925
2931
  onBlur?.(e);
2926
2932
  };
2927
- const currentLength = isNumberType ? (currencyFormat ? displayValue.replace(/[.,]/g, "") : displayValue).length : typeof value === "string" ? value.length : String(value ?? "").length;
2933
+ const currentLength = isNumberType ? (decimalPlaces > 0 ? displayValue.replace(/[.,]/g, "") : displayValue).length : typeof value === "string" ? value.length : String(value ?? "").length;
2928
2934
  return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: (0, import_clsx15.default)("w-full", containerClassName), children: [
2929
2935
  isCheckboxOrRadio ? (
2930
2936
  // CHECKBOX / RADIO LAYOUT (Row)
@@ -3021,7 +3027,7 @@ function ITInput({
3021
3027
  name,
3022
3028
  id: name,
3023
3029
  type: isNumberType ? "text" : type === "password" ? showPassword ? "text" : "password" : type,
3024
- inputMode: isNumberType ? currencyFormat ? "decimal" : "numeric" : void 0,
3030
+ inputMode: isNumberType ? decimalPlaces > 0 ? "decimal" : "numeric" : void 0,
3025
3031
  placeholder,
3026
3032
  value: isNumberType ? displayValue : String(value ?? ""),
3027
3033
  onChange: isNumberType ? handleNumberChange : handleTextChange,
@@ -3033,7 +3039,7 @@ function ITInput({
3033
3039
  },
3034
3040
  onKeyDown: isNumberType ? handleKeyDown : onKeyDown,
3035
3041
  readOnly,
3036
- maxLength: isNumberType && !currencyFormat ? maxLength : void 0,
3042
+ maxLength: isNumberType && decimalPlaces === 0 ? maxLength : void 0,
3037
3043
  minLength,
3038
3044
  min,
3039
3045
  max,
@@ -6285,10 +6291,52 @@ var ITImage = ({
6285
6291
  };
6286
6292
  var image_default = ITImage;
6287
6293
 
6294
+ // src/components/atoms/input-number/input-number.tsx
6295
+ var import_jsx_runtime36 = require("react/jsx-runtime");
6296
+ function parseNumber(raw) {
6297
+ if (raw === void 0 || raw === null) return void 0;
6298
+ if (typeof raw === "number") return Number.isFinite(raw) ? raw : void 0;
6299
+ const cleaned = String(raw).replace(/,/g, "").trim();
6300
+ if (cleaned === "" || cleaned === "-" || cleaned === ".") return void 0;
6301
+ const parsed = Number(cleaned);
6302
+ return Number.isFinite(parsed) ? parsed : void 0;
6303
+ }
6304
+ function ITInputNumber({
6305
+ value,
6306
+ onChange,
6307
+ onBlur,
6308
+ decimals = 2,
6309
+ prefix,
6310
+ iconLeft,
6311
+ ...rest
6312
+ }) {
6313
+ const resolvedIconLeft = iconLeft ?? (prefix ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "text-secondary-500 text-xs font-semibold", children: prefix }) : void 0);
6314
+ const handleChange = (event) => {
6315
+ onChange(parseNumber(event.target.value), event);
6316
+ };
6317
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6318
+ ITInput,
6319
+ {
6320
+ ...rest,
6321
+ type: "number",
6322
+ currencyFormat: true,
6323
+ formatNumber: true,
6324
+ decimals,
6325
+ iconLeft: resolvedIconLeft,
6326
+ value: value ?? "",
6327
+ onChange: handleChange,
6328
+ onBlur: (event) => {
6329
+ const input = event.target;
6330
+ onBlur?.(parseNumber(input.value), event);
6331
+ }
6332
+ }
6333
+ );
6334
+ }
6335
+
6288
6336
  // src/components/organisms/navbar/navbar.tsx
6289
6337
  var import_react31 = require("react");
6290
6338
  var import_fa20 = require("react-icons/fa");
6291
- var import_jsx_runtime36 = require("react/jsx-runtime");
6339
+ var import_jsx_runtime37 = require("react/jsx-runtime");
6292
6340
  function ITNavbar({
6293
6341
  logo,
6294
6342
  logoText,
@@ -6326,42 +6374,42 @@ function ITNavbar({
6326
6374
  };
6327
6375
  const shouldUseLegacy = !navigationItems.length && (navItems || sidebarItems);
6328
6376
  if (shouldUseLegacy) {
6329
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex flex-col h-screen", children: [
6330
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("nav", { className: "bg-white border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center justify-between mx-auto p-4", children: [
6331
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center space-x-3 rtl:space-x-reverse", children: [
6332
- logo && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "h-8", children: logo }),
6333
- logoText && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "self-center text-2xl font-semibold whitespace-nowrap text-secondary-900", children: logoText })
6377
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex flex-col h-screen", children: [
6378
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("nav", { className: "bg-white border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center justify-between mx-auto p-4", children: [
6379
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center space-x-3 rtl:space-x-reverse", children: [
6380
+ logo && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "h-8", children: logo }),
6381
+ logoText && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "self-center text-2xl font-semibold whitespace-nowrap text-secondary-900", children: logoText })
6334
6382
  ] }),
6335
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "flex items-center justify-end w-full md:w-auto md:order-2", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center space-x-4 md:order-2", children: [
6336
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "hidden md:flex space-x-4", children: navItems }),
6337
- userMenu && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "relative", children: [
6338
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6383
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center justify-end w-full md:w-auto md:order-2", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center space-x-4 md:order-2", children: [
6384
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "hidden md:flex space-x-4", children: navItems }),
6385
+ userMenu && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "relative", children: [
6386
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6339
6387
  "button",
6340
6388
  {
6341
6389
  type: "button",
6342
6390
  className: "flex text-sm bg-secondary-200 rounded-full md:me-0 focus:ring-4 focus:ring-secondary-300",
6343
6391
  onClick: toggleUserMenu,
6344
- children: userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6392
+ children: userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6345
6393
  "img",
6346
6394
  {
6347
6395
  className: "w-8 h-8 rounded-full",
6348
6396
  src: userMenu.userImage,
6349
6397
  alt: "user photo"
6350
6398
  }
6351
- ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_fa20.FaUserCircle, { className: "w-8 h-8 text-secondary-500" })
6399
+ ) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa20.FaUserCircle, { className: "w-8 h-8 text-secondary-500" })
6352
6400
  }
6353
6401
  ),
6354
- isUserMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6402
+ isUserMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6355
6403
  "div",
6356
6404
  {
6357
6405
  ref: userMenuRef,
6358
6406
  className: "z-[70] absolute right-0 mt-2 text-base list-none bg-white divide-y divide-secondary-100 rounded-lg shadow-sm",
6359
6407
  children: [
6360
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "px-4 py-3", children: [
6361
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "block text-sm text-secondary-900", children: userMenu.userName }),
6362
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "block text-sm text-secondary-500 truncate", children: userMenu.userEmail })
6408
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "px-4 py-3", children: [
6409
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "block text-sm text-secondary-900", children: userMenu.userName }),
6410
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "block text-sm text-secondary-500 truncate", children: userMenu.userEmail })
6363
6411
  ] }),
6364
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "py-2", children: userMenu.menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6412
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "py-2", children: userMenu.menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6365
6413
  "button",
6366
6414
  {
6367
6415
  onClick: () => {
@@ -6369,7 +6417,7 @@ function ITNavbar({
6369
6417
  setIsUserMenuOpen(false);
6370
6418
  },
6371
6419
  className: "block px-4 py-2 text-sm text-secondary-700 hover:bg-secondary-100 w-full text-left",
6372
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", children: item.label })
6420
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", children: item.label })
6373
6421
  }
6374
6422
  ) }, index)) })
6375
6423
  ]
@@ -6378,27 +6426,27 @@ function ITNavbar({
6378
6426
  ] })
6379
6427
  ] }) })
6380
6428
  ] }) }),
6381
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex-1 flex overflow-hidden relative", children: [
6382
- (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("aside", { className: "fixed inset-y-0 left-0 w-64 bg-secondary-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-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6383
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("main", { className: "flex-1 bg-secondary-100 overflow-y-auto", children })
6429
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1 flex overflow-hidden relative", children: [
6430
+ (showSidebar || showSidebarOnMobile) && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("aside", { className: "fixed inset-y-0 left-0 w-64 bg-secondary-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-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "h-full overflow-y-auto py-4 px-3", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "space-y-2 font-medium", children: sidebarItems }) }) }),
6431
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("main", { className: "flex-1 bg-secondary-100 overflow-y-auto", children })
6384
6432
  ] })
6385
6433
  ] });
6386
6434
  }
6387
6435
  const sidebar = theme.sidebar;
6388
6436
  const topbar = theme.topbar;
6389
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex h-screen font-sans", style: { backgroundColor: theme.layout.backgroundColor }, children: [
6390
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6437
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex h-screen font-sans", style: { backgroundColor: theme.layout.backgroundColor }, children: [
6438
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6391
6439
  "aside",
6392
6440
  {
6393
6441
  className: "w-72 shadow-xl flex flex-col transition-all duration-300 ease-in-out",
6394
6442
  style: { backgroundColor: sidebar.backgroundColor, borderRight: `1px solid ${sidebar.borderColor}` },
6395
6443
  children: [
6396
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "p-6 flex items-center gap-3", style: { borderBottom: `1px solid ${sidebar.borderColor}` }, children: [
6397
- logo && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "h-8 w-auto object-contain transition-transform hover:scale-105", children: logo }),
6398
- logoText && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "text-lg font-bold tracking-wide", style: { color: sidebar.active.color }, children: logoText })
6444
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "p-6 flex items-center gap-3", style: { borderBottom: `1px solid ${sidebar.borderColor}` }, children: [
6445
+ logo && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "h-8 w-auto object-contain transition-transform hover:scale-105", children: logo }),
6446
+ logoText && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "text-lg font-bold tracking-wide", style: { color: sidebar.active.color }, children: logoText })
6399
6447
  ] }),
6400
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("nav", { className: "flex-1 px-4 py-6 overflow-y-auto custom-scrollbar", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "flex flex-col gap-1.5", children: navigationItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("li", { children: [
6401
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6448
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("nav", { className: "flex-1 px-4 py-6 overflow-y-auto custom-scrollbar", children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "flex flex-col gap-1.5", children: navigationItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("li", { children: [
6449
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6402
6450
  "div",
6403
6451
  {
6404
6452
  className: `group flex items-center justify-between px-4 py-3 rounded-xl cursor-pointer transition-all duration-200 border-l-4 ${item.isActive ? "shadow-sm" : "hover:shadow-sm"}`,
@@ -6421,17 +6469,17 @@ function ITNavbar({
6421
6469
  }
6422
6470
  },
6423
6471
  children: [
6424
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex items-center gap-3", children: [
6425
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "text-xl transition-colors", style: {
6472
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center gap-3", children: [
6473
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "text-xl transition-colors", style: {
6426
6474
  color: item.isActive ? sidebar.active.iconColor : sidebar.icon.color
6427
6475
  }, children: item.icon }),
6428
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: `font-medium text-sm ${item.isActive ? "font-semibold" : ""}`, children: item.label })
6476
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: `font-medium text-sm ${item.isActive ? "font-semibold" : ""}`, children: item.label })
6429
6477
  ] }),
6430
- item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "transition-transform", style: { color: sidebar.icon.color }, children: expandedItems.has(item.id) ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_fa20.FaChevronDown, { className: "w-3 h-3" }) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_fa20.FaChevronRight, { className: "w-3 h-3" }) })
6478
+ item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "transition-transform", style: { color: sidebar.icon.color }, children: expandedItems.has(item.id) ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa20.FaChevronDown, { className: "w-3 h-3" }) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa20.FaChevronRight, { className: "w-3 h-3" }) })
6431
6479
  ]
6432
6480
  }
6433
6481
  ),
6434
- item.subitems && item.subitems.length > 0 && expandedItems.has(item.id) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "mt-1 ml-4 pl-4 space-y-1", style: { borderLeft: `1px solid ${sidebar.borderColor}` }, children: item.subitems.map((subitem) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6482
+ item.subitems && item.subitems.length > 0 && expandedItems.has(item.id) && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "mt-1 ml-4 pl-4 space-y-1", style: { borderLeft: `1px solid ${sidebar.borderColor}` }, children: item.subitems.map((subitem) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6435
6483
  "button",
6436
6484
  {
6437
6485
  onClick: subitem.action,
@@ -6450,12 +6498,12 @@ function ITNavbar({
6450
6498
  e.currentTarget.style.backgroundColor = "transparent";
6451
6499
  }
6452
6500
  },
6453
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", children: subitem.label })
6501
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", children: subitem.label })
6454
6502
  }
6455
6503
  ) }, subitem.id)) })
6456
6504
  ] }, item.id)) }) }),
6457
- userMenu && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-4", style: { borderTop: `1px solid ${sidebar.borderColor}` }, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "relative", children: [
6458
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6505
+ userMenu && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "p-4", style: { borderTop: `1px solid ${sidebar.borderColor}` }, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "relative", children: [
6506
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6459
6507
  "button",
6460
6508
  {
6461
6509
  type: "button",
@@ -6471,7 +6519,7 @@ function ITNavbar({
6471
6519
  },
6472
6520
  onClick: toggleUserMenu,
6473
6521
  children: [
6474
- userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6522
+ userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6475
6523
  "img",
6476
6524
  {
6477
6525
  className: "w-10 h-10 rounded-full border-2 transition-colors",
@@ -6479,34 +6527,34 @@ function ITNavbar({
6479
6527
  alt: "user photo",
6480
6528
  style: { borderColor: sidebar.borderColor }
6481
6529
  }
6482
- ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6530
+ ) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6483
6531
  "div",
6484
6532
  {
6485
6533
  className: "w-10 h-10 rounded-full flex items-center justify-center transition-colors",
6486
6534
  style: { backgroundColor: sidebar.hover.backgroundColor, color: sidebar.icon.color },
6487
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_fa20.FaUserCircle, { className: "w-6 h-6" })
6535
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa20.FaUserCircle, { className: "w-6 h-6" })
6488
6536
  }
6489
6537
  ),
6490
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "flex-1 text-left overflow-hidden", children: [
6491
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "div", className: "font-medium text-sm truncate", style: { color: sidebar.active.color }, children: userMenu.userName }),
6492
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "div", className: "text-xs truncate", style: { color: sidebar.label.color }, children: userMenu.userEmail })
6538
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex-1 text-left overflow-hidden", children: [
6539
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "div", className: "font-medium text-sm truncate", style: { color: sidebar.active.color }, children: userMenu.userName }),
6540
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "div", className: "text-xs truncate", style: { color: sidebar.label.color }, children: userMenu.userEmail })
6493
6541
  ] }),
6494
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_fa20.FaChevronRight, { className: "w-3 h-3", style: { color: sidebar.icon.color } })
6542
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa20.FaChevronRight, { className: "w-3 h-3", style: { color: sidebar.icon.color } })
6495
6543
  ]
6496
6544
  }
6497
6545
  ),
6498
- isUserMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
6546
+ isUserMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
6499
6547
  "div",
6500
6548
  {
6501
6549
  ref: userMenuRef,
6502
6550
  className: "absolute bottom-full left-0 mb-3 w-full rounded-xl shadow-2xl overflow-hidden transform transition-all duration-200 origin-bottom",
6503
6551
  style: { backgroundColor: topbar.userMenu.dropdown.backgroundColor, border: `1px solid ${topbar.userMenu.dropdown.borderColor}` },
6504
6552
  children: [
6505
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: "px-4 py-3", style: { backgroundColor: topbar.userMenu.backgroundColor, borderBottom: `1px solid ${topbar.userMenu.dropdown.borderColor}` }, children: [
6506
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "block text-sm font-semibold", style: { color: topbar.userMenu.textColor }, children: userMenu.userName }),
6507
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", className: "block text-xs truncate", style: { color: topbar.userMenu.subtitleColor }, children: userMenu.userEmail })
6553
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "px-4 py-3", style: { backgroundColor: topbar.userMenu.backgroundColor, borderBottom: `1px solid ${topbar.userMenu.dropdown.borderColor}` }, children: [
6554
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "block text-sm font-semibold", style: { color: topbar.userMenu.textColor }, children: userMenu.userName }),
6555
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", className: "block text-xs truncate", style: { color: topbar.userMenu.subtitleColor }, children: userMenu.userEmail })
6508
6556
  ] }),
6509
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("ul", { className: "py-1", children: userMenu.menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
6557
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("ul", { className: "py-1", children: userMenu.menuItems.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6510
6558
  "button",
6511
6559
  {
6512
6560
  onClick: () => {
@@ -6521,7 +6569,7 @@ function ITNavbar({
6521
6569
  onMouseLeave: (e) => {
6522
6570
  e.currentTarget.style.backgroundColor = "transparent";
6523
6571
  },
6524
- children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ITText, { as: "span", children: item.label })
6572
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITText, { as: "span", children: item.label })
6525
6573
  }
6526
6574
  ) }, index)) })
6527
6575
  ]
@@ -6531,7 +6579,7 @@ function ITNavbar({
6531
6579
  ]
6532
6580
  }
6533
6581
  ),
6534
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("main", { className: "flex-1 overflow-y-auto relative", style: { backgroundColor: theme.layout.backgroundColor }, children })
6582
+ /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("main", { className: "flex-1 overflow-y-auto relative", style: { backgroundColor: theme.layout.backgroundColor }, children })
6535
6583
  ] });
6536
6584
  }
6537
6585
 
@@ -6540,7 +6588,7 @@ var import_clsx33 = __toESM(require("clsx"), 1);
6540
6588
 
6541
6589
  // src/components/organisms/page-header/page-header.tsx
6542
6590
  var import_fa21 = require("react-icons/fa");
6543
- var import_jsx_runtime37 = require("react/jsx-runtime");
6591
+ var import_jsx_runtime38 = require("react/jsx-runtime");
6544
6592
  function ITPageHeader({
6545
6593
  title,
6546
6594
  description,
@@ -6552,25 +6600,25 @@ function ITPageHeader({
6552
6600
  className
6553
6601
  }) {
6554
6602
  const showTopRow = breadcrumbs?.length || backAction;
6555
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: `${className} space-y-3`, children: [
6556
- showTopRow && /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
6557
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
6558
- backAction && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6603
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: `${className} space-y-3`, children: [
6604
+ showTopRow && /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
6605
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-center gap-2 min-w-0", children: [
6606
+ backAction && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6559
6607
  "button",
6560
6608
  {
6561
6609
  onClick: backAction,
6562
6610
  className: "flex items-center justify-center w-9 h-9 rounded-full border border-slate-200 dark:border-slate-700 text-slate-400 hover:text-slate-700 dark:hover:text-slate-200 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50 dark:hover:bg-slate-800/60 transition-all duration-200 flex-shrink-0",
6563
6611
  "aria-label": "Volver",
6564
- children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_fa21.FaChevronLeft, { size: 14 })
6612
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_fa21.FaChevronLeft, { size: 14 })
6565
6613
  }
6566
6614
  ),
6567
- breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(ITBreadcrumbs, { items: breadcrumbs })
6615
+ breadcrumbs && breadcrumbs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(ITBreadcrumbs, { items: breadcrumbs })
6568
6616
  ] }),
6569
- actions && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center gap-3 flex-shrink-0", children: actions })
6617
+ actions && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex items-center gap-3 flex-shrink-0", children: actions })
6570
6618
  ] }),
6571
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-start justify-between gap-6", children: [
6572
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "flex items-start gap-4 min-w-0", children: [
6573
- icon && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6619
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-start justify-between gap-6", children: [
6620
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "flex items-start gap-4 min-w-0", children: [
6621
+ icon && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6574
6622
  "div",
6575
6623
  {
6576
6624
  className: "flex items-center justify-center w-12 h-12 rounded-full border border-slate-200 dark:border-slate-700 bg-slate-50/50 dark:bg-slate-800/50 text-slate-600 dark:text-slate-300 flex-shrink-0 transition-all duration-200 hover:border-slate-300 dark:hover:border-slate-500 hover:shadow-sm",
@@ -6578,8 +6626,8 @@ function ITPageHeader({
6578
6626
  children: icon
6579
6627
  }
6580
6628
  ),
6581
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { className: "min-w-0", children: [
6582
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6629
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("div", { className: "min-w-0", children: [
6630
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6583
6631
  ITText,
6584
6632
  {
6585
6633
  as: "h1",
@@ -6587,7 +6635,7 @@ function ITPageHeader({
6587
6635
  children: title
6588
6636
  }
6589
6637
  ),
6590
- description && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
6638
+ description && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6591
6639
  ITText,
6592
6640
  {
6593
6641
  as: "p",
@@ -6597,14 +6645,14 @@ function ITPageHeader({
6597
6645
  )
6598
6646
  ] })
6599
6647
  ] }),
6600
- !showTopRow && actions && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: "flex items-center gap-3 flex-shrink-0", children: actions })
6648
+ !showTopRow && actions && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "flex items-center gap-3 flex-shrink-0", children: actions })
6601
6649
  ] })
6602
6650
  ] });
6603
6651
  }
6604
6652
 
6605
6653
  // src/components/atoms/skeleton/skeleton.tsx
6606
6654
  var import_clsx31 = __toESM(require("clsx"), 1);
6607
- var import_jsx_runtime38 = require("react/jsx-runtime");
6655
+ var import_jsx_runtime39 = require("react/jsx-runtime");
6608
6656
  var variantClasses = {
6609
6657
  text: "rounded-md h-4 w-full",
6610
6658
  circular: "rounded-full",
@@ -6624,7 +6672,7 @@ function ITSkeleton({
6624
6672
  ...style
6625
6673
  };
6626
6674
  const items = Array.from({ length: count }, (_, i) => i);
6627
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_jsx_runtime38.Fragment, { children: items.map((i) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
6675
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, { children: items.map((i) => /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6628
6676
  "div",
6629
6677
  {
6630
6678
  className: (0, import_clsx31.default)(
@@ -6645,7 +6693,7 @@ function ITSkeleton({
6645
6693
  // src/components/atoms/stack/stack.tsx
6646
6694
  var import_clsx32 = __toESM(require("clsx"), 1);
6647
6695
  var import_react32 = require("react");
6648
- var import_jsx_runtime39 = require("react/jsx-runtime");
6696
+ var import_jsx_runtime40 = require("react/jsx-runtime");
6649
6697
  var directionMap2 = {
6650
6698
  row: "flex-row",
6651
6699
  column: "flex-col",
@@ -6690,7 +6738,7 @@ function ITStack({
6690
6738
  gap: spacing > 0 ? `${spacing * 0.25}rem` : void 0,
6691
6739
  ...style
6692
6740
  };
6693
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
6741
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6694
6742
  Component,
6695
6743
  {
6696
6744
  className: (0, import_clsx32.default)(
@@ -6702,7 +6750,7 @@ function ITStack({
6702
6750
  className
6703
6751
  ),
6704
6752
  style: resolvedStyle,
6705
- children: hasDivider ? items.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react32.Fragment, { children: [
6753
+ children: hasDivider ? items.map((child, index) => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react32.Fragment, { children: [
6706
6754
  child,
6707
6755
  index < items.length - 1 && (0, import_react32.isValidElement)(divider) ? (0, import_react32.cloneElement)(divider, { key: `divider-${index}` }) : null
6708
6756
  ] }, index)) : children
@@ -6711,11 +6759,11 @@ function ITStack({
6711
6759
  }
6712
6760
 
6713
6761
  // src/components/templates/page/page.tsx
6714
- var import_jsx_runtime40 = require("react/jsx-runtime");
6762
+ var import_jsx_runtime41 = require("react/jsx-runtime");
6715
6763
  var hasHeader = (props) => !!(props.title || props.description || props.breadcrumbs || props.actions || props.backAction || props.icon);
6716
6764
  var renderHeader = (props) => {
6717
6765
  if (!hasHeader(props)) return null;
6718
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6766
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6719
6767
  ITPageHeader,
6720
6768
  {
6721
6769
  title: props.title || "",
@@ -6754,24 +6802,24 @@ function ITPage(props) {
6754
6802
  className
6755
6803
  );
6756
6804
  if (loading) {
6757
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: wrapperClass, children: [
6805
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: wrapperClass, children: [
6758
6806
  renderHeader(props),
6759
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(ITStack, { spacing: 6, children: [
6760
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ITSkeleton, { variant: "rectangular", height: 40, width: "40%", className: "rounded-lg" }),
6761
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ITSkeleton, { variant: "rectangular", height: 200, className: "rounded-lg" }),
6762
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ITSkeleton, { variant: "rectangular", height: 200, className: "rounded-lg" })
6807
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(ITStack, { spacing: 6, children: [
6808
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ITSkeleton, { variant: "rectangular", height: 40, width: "40%", className: "rounded-lg" }),
6809
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ITSkeleton, { variant: "rectangular", height: 200, className: "rounded-lg" }),
6810
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(ITSkeleton, { variant: "rectangular", height: 200, className: "rounded-lg" })
6763
6811
  ] })
6764
6812
  ] });
6765
6813
  }
6766
6814
  if (error) {
6767
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: wrapperClass, children: [
6815
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: wrapperClass, children: [
6768
6816
  renderHeader(props),
6769
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6817
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6770
6818
  ITEmptyState,
6771
6819
  {
6772
6820
  title: errorTitle || "Error",
6773
6821
  description: error,
6774
- action: onRetry ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6822
+ action: onRetry ? /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6775
6823
  ITButton,
6776
6824
  {
6777
6825
  label: errorActionLabel || "Reintentar",
@@ -6784,9 +6832,9 @@ function ITPage(props) {
6784
6832
  ] });
6785
6833
  }
6786
6834
  if (empty) {
6787
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: wrapperClass, children: [
6835
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: wrapperClass, children: [
6788
6836
  renderHeader(props),
6789
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
6837
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
6790
6838
  ITEmptyState,
6791
6839
  {
6792
6840
  title: emptyTitle || "Sin datos",
@@ -6796,7 +6844,7 @@ function ITPage(props) {
6796
6844
  )
6797
6845
  ] });
6798
6846
  }
6799
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: wrapperClass, children: [
6847
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: wrapperClass, children: [
6800
6848
  renderHeader(props),
6801
6849
  children
6802
6850
  ] });
@@ -6805,7 +6853,7 @@ function ITPage(props) {
6805
6853
  // src/components/atoms/popover/popover.tsx
6806
6854
  var import_react33 = require("react");
6807
6855
  var import_clsx34 = __toESM(require("clsx"), 1);
6808
- var import_jsx_runtime41 = require("react/jsx-runtime");
6856
+ var import_jsx_runtime42 = require("react/jsx-runtime");
6809
6857
  var positionClasses = {
6810
6858
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
6811
6859
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -6828,15 +6876,15 @@ function ITPopover({
6828
6876
  if (isControlled) onClose?.();
6829
6877
  else setInternalOpen(false);
6830
6878
  });
6831
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { ref, className: (0, import_clsx34.default)("relative inline-flex", className), children: [
6832
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { onClick: () => isControlled ? onClose?.() : setInternalOpen((p) => !p), className: "cursor-pointer", children: trigger }),
6833
- open && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: (0, import_clsx34.default)("absolute z-[70]", positionClasses[position]), children: /* @__PURE__ */ (0, import_jsx_runtime41.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 }) })
6879
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { ref, className: (0, import_clsx34.default)("relative inline-flex", className), children: [
6880
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { onClick: () => isControlled ? onClose?.() : setInternalOpen((p) => !p), className: "cursor-pointer", children: trigger }),
6881
+ open && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: (0, import_clsx34.default)("absolute z-[70]", positionClasses[position]), children: /* @__PURE__ */ (0, import_jsx_runtime42.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 }) })
6834
6882
  ] });
6835
6883
  }
6836
6884
 
6837
6885
  // src/components/atoms/progress/progress.tsx
6838
6886
  var import_clsx35 = __toESM(require("clsx"), 1);
6839
- var import_jsx_runtime42 = require("react/jsx-runtime");
6887
+ var import_jsx_runtime43 = require("react/jsx-runtime");
6840
6888
  var colorMap = {
6841
6889
  primary: "bg-primary-500",
6842
6890
  secondary: "bg-secondary-500",
@@ -6863,7 +6911,7 @@ function ITProgress({
6863
6911
  style
6864
6912
  }) {
6865
6913
  const pct = Math.min(Math.max(value / max * 100, 0), 100);
6866
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6914
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6867
6915
  "div",
6868
6916
  {
6869
6917
  className: (0, import_clsx35.default)("w-full bg-slate-200 dark:bg-slate-700 rounded-full overflow-hidden", sizeMap2[size], className),
@@ -6871,7 +6919,7 @@ function ITProgress({
6871
6919
  role: "progressbar",
6872
6920
  "aria-valuenow": variant === "determinate" ? value : void 0,
6873
6921
  "aria-valuemax": max,
6874
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
6922
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6875
6923
  "div",
6876
6924
  {
6877
6925
  className: (0, import_clsx35.default)(
@@ -6888,7 +6936,7 @@ function ITProgress({
6888
6936
 
6889
6937
  // src/components/atoms/radio/radio.tsx
6890
6938
  var import_clsx36 = __toESM(require("clsx"), 1);
6891
- var import_jsx_runtime43 = require("react/jsx-runtime");
6939
+ var import_jsx_runtime44 = require("react/jsx-runtime");
6892
6940
  function ITRadioGroup({
6893
6941
  name,
6894
6942
  value,
@@ -6898,7 +6946,7 @@ function ITRadioGroup({
6898
6946
  direction = "column",
6899
6947
  className
6900
6948
  }) {
6901
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6949
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6902
6950
  "div",
6903
6951
  {
6904
6952
  className: (0, import_clsx36.default)(
@@ -6908,7 +6956,7 @@ function ITRadioGroup({
6908
6956
  ),
6909
6957
  children: options.map((opt) => {
6910
6958
  const isSelected = opt.value === value;
6911
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
6959
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(
6912
6960
  "label",
6913
6961
  {
6914
6962
  className: (0, import_clsx36.default)(
@@ -6916,7 +6964,7 @@ function ITRadioGroup({
6916
6964
  disabled && "opacity-50 cursor-not-allowed"
6917
6965
  ),
6918
6966
  children: [
6919
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6967
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6920
6968
  "input",
6921
6969
  {
6922
6970
  type: "radio",
@@ -6928,7 +6976,7 @@ function ITRadioGroup({
6928
6976
  className: "peer sr-only"
6929
6977
  }
6930
6978
  ),
6931
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
6979
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
6932
6980
  "div",
6933
6981
  {
6934
6982
  className: (0, import_clsx36.default)(
@@ -6936,10 +6984,10 @@ function ITRadioGroup({
6936
6984
  isSelected ? "border-primary-500" : "border-slate-300 dark:border-slate-600",
6937
6985
  !disabled && "peer-focus:ring-2 peer-focus:ring-primary-200"
6938
6986
  ),
6939
- children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "w-2 h-2 rounded-full bg-primary-500" })
6987
+ children: isSelected && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "w-2 h-2 rounded-full bg-primary-500" })
6940
6988
  }
6941
6989
  ),
6942
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ITText, { as: "span", className: "text-sm text-slate-700 dark:text-slate-300", children: opt.label })
6990
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(ITText, { as: "span", className: "text-sm text-slate-700 dark:text-slate-300", children: opt.label })
6943
6991
  ]
6944
6992
  },
6945
6993
  opt.value
@@ -6955,16 +7003,16 @@ var import_react34 = require("react");
6955
7003
 
6956
7004
  // src/components/organisms/searchTable/components/SearchInput.tsx
6957
7005
  var import_fa22 = require("react-icons/fa");
6958
- var import_jsx_runtime44 = require("react/jsx-runtime");
7006
+ var import_jsx_runtime45 = require("react/jsx-runtime");
6959
7007
  function SearchInput({
6960
7008
  placeholder = "Buscar en todos los campos...",
6961
7009
  value,
6962
7010
  onChange,
6963
7011
  className = ""
6964
7012
  }) {
6965
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)("div", { className: `relative flex-1 ${className}`, children: [
6966
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_fa22.FaSearch, { className: "h-5 w-5 text-secondary-400" }) }),
6967
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
7013
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: `relative flex-1 ${className}`, children: [
7014
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_fa22.FaSearch, { className: "h-5 w-5 text-secondary-400" }) }),
7015
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
6968
7016
  ITInput,
6969
7017
  {
6970
7018
  name: "global-search",
@@ -6981,13 +7029,13 @@ function SearchInput({
6981
7029
 
6982
7030
  // src/components/organisms/searchTable/components/SortButton.tsx
6983
7031
  var import_fa23 = require("react-icons/fa");
6984
- var import_jsx_runtime45 = require("react/jsx-runtime");
7032
+ var import_jsx_runtime46 = require("react/jsx-runtime");
6985
7033
  function SortButton({
6986
7034
  sortConfig,
6987
7035
  onClick,
6988
7036
  className = ""
6989
7037
  }) {
6990
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
7038
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
6991
7039
  "button",
6992
7040
  {
6993
7041
  onClick,
@@ -6995,15 +7043,15 @@ function SortButton({
6995
7043
  "aria-label": `Ordenar tabla ${sortConfig ? sortConfig.direction === "asc" ? "descendente" : "ascendente" : "ascendente"}`,
6996
7044
  title: "Ordenar tabla",
6997
7045
  children: [
6998
- sortConfig ? sortConfig.direction === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_fa23.FaSortUp, { className: "w-4 h-4 text-slate-500" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_fa23.FaSortDown, { className: "w-4 h-4 text-slate-500" }) : /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_fa23.FaSort, { className: "w-4 h-4 text-secondary-500" }),
6999
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ITText, { as: "span", className: "text-sm font-medium text-secondary-700", children: sortConfig ? sortConfig.direction === "asc" ? "Asc \u2191" : "Desc \u2193" : "Ordenar" })
7046
+ sortConfig ? sortConfig.direction === "asc" ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_fa23.FaSortUp, { className: "w-4 h-4 text-slate-500" }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_fa23.FaSortDown, { className: "w-4 h-4 text-slate-500" }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_fa23.FaSort, { className: "w-4 h-4 text-secondary-500" }),
7047
+ /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ITText, { as: "span", className: "text-sm font-medium text-secondary-700", children: sortConfig ? sortConfig.direction === "asc" ? "Asc \u2191" : "Desc \u2193" : "Ordenar" })
7000
7048
  ]
7001
7049
  }
7002
7050
  );
7003
7051
  }
7004
7052
 
7005
7053
  // src/components/organisms/searchTable/components/SearchAndSortBar.tsx
7006
- var import_jsx_runtime46 = require("react/jsx-runtime");
7054
+ var import_jsx_runtime47 = require("react/jsx-runtime");
7007
7055
  function SearchAndSortBar({
7008
7056
  searchTerm,
7009
7057
  onSearchChange,
@@ -7012,8 +7060,8 @@ function SearchAndSortBar({
7012
7060
  sortConfig,
7013
7061
  searchInputPlaceholder = "Buscar en todos los campos..."
7014
7062
  }) {
7015
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "bg-secondary-50 px-6 py-4 border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: "flex items-center gap-4", children: [
7016
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7063
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "bg-secondary-50 px-6 py-4 border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-4", children: [
7064
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7017
7065
  SearchInput,
7018
7066
  {
7019
7067
  placeholder: searchInputPlaceholder,
@@ -7021,8 +7069,8 @@ function SearchAndSortBar({
7021
7069
  onChange: onSearchChange
7022
7070
  }
7023
7071
  ),
7024
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(SortButton, { sortConfig, onClick: onGlobalSort }),
7025
- searchTerm && /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
7072
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SortButton, { sortConfig, onClick: onGlobalSort }),
7073
+ searchTerm && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7026
7074
  ITButton,
7027
7075
  {
7028
7076
  size: "sm",
@@ -7031,14 +7079,14 @@ function SearchAndSortBar({
7031
7079
  onClick: onClearSearch,
7032
7080
  ariaLabel: "Limpiar b\xFAsqueda",
7033
7081
  title: "Limpiar b\xFAsqueda",
7034
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ITText, { as: "span", children: "Limpiar" })
7082
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ITText, { as: "span", children: "Limpiar" })
7035
7083
  }
7036
7084
  )
7037
7085
  ] }) });
7038
7086
  }
7039
7087
 
7040
7088
  // src/components/organisms/searchTable/components/TableHeaderCell.tsx
7041
- var import_jsx_runtime47 = require("react/jsx-runtime");
7089
+ var import_jsx_runtime48 = require("react/jsx-runtime");
7042
7090
  function TableHeaderCell({
7043
7091
  label,
7044
7092
  sortable = false,
@@ -7046,8 +7094,8 @@ function TableHeaderCell({
7046
7094
  sortConfig,
7047
7095
  className = ""
7048
7096
  }) {
7049
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("th", { className, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { className: "flex flex-col items-center gap-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center justify-center gap-2 w-full", children: [
7050
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
7097
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("th", { className, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "flex flex-col items-center gap-2 w-full", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)("div", { className: "flex items-center justify-center gap-2 w-full", children: [
7098
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7051
7099
  ITText,
7052
7100
  {
7053
7101
  as: "span",
@@ -7061,18 +7109,18 @@ function TableHeaderCell({
7061
7109
  children: label
7062
7110
  }
7063
7111
  ),
7064
- sortable && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(SortButton, { sortConfig, onClick: onSort })
7112
+ sortable && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(SortButton, { sortConfig, onClick: onSort })
7065
7113
  ] }) }) });
7066
7114
  }
7067
7115
 
7068
7116
  // src/components/organisms/searchTable/components/TableHeader.tsx
7069
- var import_jsx_runtime48 = require("react/jsx-runtime");
7117
+ var import_jsx_runtime49 = require("react/jsx-runtime");
7070
7118
  function TableHeader({
7071
7119
  columns,
7072
7120
  onSort,
7073
7121
  sortConfig
7074
7122
  }) {
7075
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("tr", { className: "bg-white border-b border-secondary-200", children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
7123
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("tr", { className: "bg-white border-b border-secondary-200", children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7076
7124
  TableHeaderCell,
7077
7125
  {
7078
7126
  label: col.label,
@@ -7090,7 +7138,7 @@ var import_clsx37 = __toESM(require("clsx"), 1);
7090
7138
  var import_fa24 = require("react-icons/fa");
7091
7139
 
7092
7140
  // src/components/organisms/searchTable/components/EditableCell.tsx
7093
- var import_jsx_runtime49 = require("react/jsx-runtime");
7141
+ var import_jsx_runtime50 = require("react/jsx-runtime");
7094
7142
  function EditableCell({
7095
7143
  column,
7096
7144
  value,
@@ -7119,7 +7167,7 @@ function EditableCell({
7119
7167
  onChange(value, errorMsg);
7120
7168
  };
7121
7169
  const renderITInput = (type) => {
7122
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7170
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7123
7171
  ITInput,
7124
7172
  {
7125
7173
  type,
@@ -7133,7 +7181,7 @@ function EditableCell({
7133
7181
  );
7134
7182
  };
7135
7183
  const renderITDatePicker = () => {
7136
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7184
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7137
7185
  ITDatePicker,
7138
7186
  {
7139
7187
  name: column.key,
@@ -7146,7 +7194,7 @@ function EditableCell({
7146
7194
  );
7147
7195
  };
7148
7196
  const renderITSelect = (options) => {
7149
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7197
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7150
7198
  ITSelect,
7151
7199
  {
7152
7200
  name: column.key,
@@ -7160,7 +7208,7 @@ function EditableCell({
7160
7208
  );
7161
7209
  };
7162
7210
  const renderBooleanInput = () => {
7163
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
7211
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7164
7212
  ITInput,
7165
7213
  {
7166
7214
  type: "checkbox",
@@ -7201,14 +7249,14 @@ function EditableCell({
7201
7249
  return renderITInput("text");
7202
7250
  }
7203
7251
  };
7204
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "w-full", children: [
7252
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: "w-full", children: [
7205
7253
  renderInput(),
7206
- error && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "text-danger-500 text-xs mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ITText, { as: "span", children: error }) })
7254
+ error && /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { className: "text-danger-500 text-xs mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ITText, { as: "span", children: error }) })
7207
7255
  ] });
7208
7256
  }
7209
7257
 
7210
7258
  // src/components/organisms/searchTable/components/TableRow.tsx
7211
- var import_jsx_runtime50 = require("react/jsx-runtime");
7259
+ var import_jsx_runtime51 = require("react/jsx-runtime");
7212
7260
  function TableRow({
7213
7261
  row,
7214
7262
  rowIndex,
@@ -7241,14 +7289,14 @@ function TableRow({
7241
7289
  case "number":
7242
7290
  return typeof value === "number" && col.currencyMX ? formatCurrencyMX(value) : value;
7243
7291
  case "boolean":
7244
- return value ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7292
+ return value ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7245
7293
  import_fa24.FaCheck,
7246
7294
  {
7247
7295
  className: "text-green-500",
7248
7296
  "aria-label": "Verdadero",
7249
7297
  title: "Verdadero"
7250
7298
  }
7251
- ) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_fa24.FaTimes, { className: "text-danger-500", "aria-label": "Falso", title: "Falso" });
7299
+ ) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_fa24.FaTimes, { className: "text-danger-500", "aria-label": "Falso", title: "Falso" });
7252
7300
  case "actions":
7253
7301
  if (isEditing && col.saveActions) {
7254
7302
  return col.saveActions(rowData, {
@@ -7272,19 +7320,19 @@ function TableRow({
7272
7320
  return value;
7273
7321
  }
7274
7322
  };
7275
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7323
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7276
7324
  "tr",
7277
7325
  {
7278
7326
  onMouseEnter: () => setIsHovered(true),
7279
7327
  onMouseLeave: () => setIsHovered(false),
7280
7328
  className: `border-b border-secondary-200 transition-colors duration-150 ${isEditing ? "bg-slate-50" : rowIndex % 2 === 0 ? "bg-white" : "bg-secondary-50"} ${isHovered && !isEditing ? "bg-secondary-100" : ""}`,
7281
- children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7329
+ children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7282
7330
  "td",
7283
7331
  {
7284
7332
  className: (0, import_clsx37.default)("pl-5 py-2", col.className, {
7285
7333
  "text-center": col.type === "actions" || col.type === "boolean"
7286
7334
  }),
7287
- children: isEditing && col.editable ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7335
+ children: isEditing && col.editable ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7288
7336
  EditableCell,
7289
7337
  {
7290
7338
  column: col,
@@ -7293,7 +7341,7 @@ function TableRow({
7293
7341
  error: errors[col.key],
7294
7342
  row: editedRow
7295
7343
  }
7296
- ) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
7344
+ ) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
7297
7345
  "div",
7298
7346
  {
7299
7347
  className: (0, import_clsx37.default)({
@@ -7313,25 +7361,25 @@ function TableRow({
7313
7361
  }
7314
7362
 
7315
7363
  // src/components/organisms/searchTable/components/TableEmptyState.tsx
7316
- var import_jsx_runtime51 = require("react/jsx-runtime");
7364
+ var import_jsx_runtime52 = require("react/jsx-runtime");
7317
7365
  function TableEmptyState({
7318
7366
  colSpan,
7319
7367
  searchTerm
7320
7368
  }) {
7321
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("td", { colSpan, className: "px-6 py-4 text-center", children: searchTerm ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ITText, { as: "span", children: "No se encontraron resultados para tu b\xFAsqueda" }) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ITText, { as: "span", children: "No se encontraron resultados" }) }) });
7369
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("td", { colSpan, className: "px-6 py-4 text-center", children: searchTerm ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ITText, { as: "span", children: "No se encontraron resultados para tu b\xFAsqueda" }) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ITText, { as: "span", children: "No se encontraron resultados" }) }) });
7322
7370
  }
7323
7371
 
7324
7372
  // src/components/organisms/searchTable/components/PaginationControls.tsx
7325
7373
  var import_fa25 = require("react-icons/fa");
7326
7374
 
7327
7375
  // src/components/organisms/searchTable/components/PaginationInfo.tsx
7328
- var import_jsx_runtime52 = require("react/jsx-runtime");
7376
+ var import_jsx_runtime53 = require("react/jsx-runtime");
7329
7377
  function PaginationInfo({
7330
7378
  currentCount,
7331
7379
  totalCount,
7332
7380
  className = ""
7333
7381
  }) {
7334
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(ITText, { as: "span", className: `text-sm text-secondary-700 ${className}`, children: [
7382
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(ITText, { as: "span", className: `text-sm text-secondary-700 ${className}`, children: [
7335
7383
  "Mostrando ",
7336
7384
  currentCount,
7337
7385
  " de ",
@@ -7341,7 +7389,7 @@ function PaginationInfo({
7341
7389
  }
7342
7390
 
7343
7391
  // src/components/organisms/searchTable/components/PaginationControls.tsx
7344
- var import_jsx_runtime53 = require("react/jsx-runtime");
7392
+ var import_jsx_runtime54 = require("react/jsx-runtime");
7345
7393
  function PaginationControls({
7346
7394
  pageIndex,
7347
7395
  totalPages,
@@ -7354,12 +7402,12 @@ function PaginationControls({
7354
7402
  currentCount,
7355
7403
  totalCount
7356
7404
  }) {
7357
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex flex-col sm:flex-row justify-between items-center gap-4", children: [
7358
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center space-x-4", children: [
7359
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PaginationInfo, { currentCount, totalCount }),
7360
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center space-x-2", children: [
7361
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(ITText, { as: "span", className: "text-sm text-secondary-700", children: "Mostrar:" }),
7362
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7405
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex flex-col sm:flex-row justify-between items-center gap-4", children: [
7406
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center space-x-4", children: [
7407
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(PaginationInfo, { currentCount, totalCount }),
7408
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center space-x-2", children: [
7409
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ITText, { as: "span", className: "text-sm text-secondary-700", children: "Mostrar:" }),
7410
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7363
7411
  ITSelect,
7364
7412
  {
7365
7413
  name: "itemsPerPage",
@@ -7377,8 +7425,8 @@ function PaginationControls({
7377
7425
  )
7378
7426
  ] })
7379
7427
  ] }),
7380
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "flex items-center space-x-2", children: [
7381
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7428
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "flex items-center space-x-2", children: [
7429
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7382
7430
  ITButton,
7383
7431
  {
7384
7432
  color: "secondary",
@@ -7388,16 +7436,16 @@ function PaginationControls({
7388
7436
  className: "min-w-[32px]",
7389
7437
  ariaLabel: "P\xE1gina anterior",
7390
7438
  title: "Ir a la p\xE1gina anterior",
7391
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_fa25.FaArrowLeft, { "aria-hidden": "true" })
7439
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_fa25.FaArrowLeft, { "aria-hidden": "true" })
7392
7440
  }
7393
7441
  ),
7394
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(ITText, { as: "span", className: "px-4 py-2 text-sm text-secondary-700", "aria-live": "polite", children: [
7442
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(ITText, { as: "span", className: "px-4 py-2 text-sm text-secondary-700", "aria-live": "polite", children: [
7395
7443
  "P\xE1gina ",
7396
7444
  pageIndex,
7397
7445
  " de ",
7398
7446
  totalPages
7399
7447
  ] }),
7400
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
7448
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7401
7449
  ITButton,
7402
7450
  {
7403
7451
  size: "sm",
@@ -7407,7 +7455,7 @@ function PaginationControls({
7407
7455
  className: "min-w-[32px]",
7408
7456
  ariaLabel: "P\xE1gina siguiente",
7409
7457
  title: "Ir a la p\xE1gina siguiente",
7410
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_fa25.FaArrowRight, { "aria-hidden": "true" })
7458
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_fa25.FaArrowRight, { "aria-hidden": "true" })
7411
7459
  }
7412
7460
  )
7413
7461
  ] })
@@ -7415,7 +7463,7 @@ function PaginationControls({
7415
7463
  }
7416
7464
 
7417
7465
  // src/components/organisms/searchTable/searchTable.tsx
7418
- var import_jsx_runtime54 = require("react/jsx-runtime");
7466
+ var import_jsx_runtime55 = require("react/jsx-runtime");
7419
7467
  function ITSearchTable({
7420
7468
  columns,
7421
7469
  data,
@@ -7480,11 +7528,11 @@ function ITSearchTable({
7480
7528
  handleClearSearch();
7481
7529
  onClearSearch?.();
7482
7530
  };
7483
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: (0, import_clsx38.default)("space-y-4 w-full", containerClassName), children: [
7484
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "shadow-md sm:rounded-lg overflow-hidden", children: [
7485
- title && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "bg-teal-500 text-white px-6 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-center whitespace-nowrap", children: title }) }),
7486
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "bg-white", children: [
7487
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "p-4 border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7531
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: (0, import_clsx38.default)("space-y-4 w-full", containerClassName), children: [
7532
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "shadow-md sm:rounded-lg overflow-hidden", children: [
7533
+ title && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "bg-teal-500 text-white px-6 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-center whitespace-nowrap", children: title }) }),
7534
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("div", { className: "bg-white", children: [
7535
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "p-4 border-b border-secondary-200", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7488
7536
  SearchAndSortBar,
7489
7537
  {
7490
7538
  searchTerm,
@@ -7495,7 +7543,7 @@ function ITSearchTable({
7495
7543
  searchInputPlaceholder
7496
7544
  }
7497
7545
  ) }),
7498
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
7546
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { className: "overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7499
7547
  "table",
7500
7548
  {
7501
7549
  className: (0, import_clsx38.default)(
@@ -7504,7 +7552,7 @@ function ITSearchTable({
7504
7552
  sizeStyles[size]
7505
7553
  ),
7506
7554
  children: [
7507
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7555
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7508
7556
  TableHeader,
7509
7557
  {
7510
7558
  columns,
@@ -7512,7 +7560,7 @@ function ITSearchTable({
7512
7560
  sortConfig
7513
7561
  }
7514
7562
  ),
7515
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("tbody", { children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7563
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("tbody", { children: data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7516
7564
  TableRow,
7517
7565
  {
7518
7566
  row,
@@ -7526,7 +7574,7 @@ function ITSearchTable({
7526
7574
  onCancel: handleCancelEdit
7527
7575
  },
7528
7576
  rowIndex
7529
- )) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7577
+ )) : /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7530
7578
  TableEmptyState,
7531
7579
  {
7532
7580
  colSpan: columns.length + 1,
@@ -7538,7 +7586,7 @@ function ITSearchTable({
7538
7586
  ) })
7539
7587
  ] })
7540
7588
  ] }),
7541
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
7589
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7542
7590
  PaginationControls,
7543
7591
  {
7544
7592
  pageIndex,
@@ -7558,7 +7606,7 @@ function ITSearchTable({
7558
7606
 
7559
7607
  // src/components/atoms/segmented-control/segmented-control.tsx
7560
7608
  var import_clsx39 = __toESM(require("clsx"), 1);
7561
- var import_jsx_runtime55 = require("react/jsx-runtime");
7609
+ var import_jsx_runtime56 = require("react/jsx-runtime");
7562
7610
  var sizeMap3 = {
7563
7611
  sm: { button: "px-2.5 py-1.5 text-[11px]", container: "p-0.5" },
7564
7612
  md: { button: "px-3 py-2 text-xs", container: "p-1" }
@@ -7572,7 +7620,7 @@ function ITSegmentedControl({
7572
7620
  disabled = false
7573
7621
  }) {
7574
7622
  const { button, container } = sizeMap3[size];
7575
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
7623
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7576
7624
  "div",
7577
7625
  {
7578
7626
  className: (0, import_clsx39.default)(
@@ -7583,7 +7631,7 @@ function ITSegmentedControl({
7583
7631
  ),
7584
7632
  children: options.map((opt) => {
7585
7633
  const isActive = opt.value === value;
7586
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
7634
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7587
7635
  "button",
7588
7636
  {
7589
7637
  onClick: () => !disabled && onChange(opt.value),
@@ -7595,8 +7643,8 @@ function ITSegmentedControl({
7595
7643
  disabled && "pointer-events-none"
7596
7644
  ),
7597
7645
  children: [
7598
- opt.icon && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { children: opt.icon }),
7599
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ITText, { as: "span", children: opt.label })
7646
+ opt.icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { children: opt.icon }),
7647
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ITText, { as: "span", children: opt.label })
7600
7648
  ]
7601
7649
  },
7602
7650
  opt.value
@@ -7609,7 +7657,7 @@ function ITSegmentedControl({
7609
7657
  // src/components/organisms/sidebar/sidebar.tsx
7610
7658
  var import_react35 = require("react");
7611
7659
  var import_fa26 = require("react-icons/fa");
7612
- var import_jsx_runtime56 = require("react/jsx-runtime");
7660
+ var import_jsx_runtime57 = require("react/jsx-runtime");
7613
7661
  function isSubItemGroup(entry) {
7614
7662
  return "items" in entry;
7615
7663
  }
@@ -7697,7 +7745,7 @@ function ITSidebar({
7697
7745
  };
7698
7746
  const isSidebarCollapsed = visibleOnMobile ? false : !isHovering && isCollapsed;
7699
7747
  const sidebarWidth = isSidebarCollapsed ? "w-[88px]" : "w-[280px]";
7700
- const renderSubItem = (subitem) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("li", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7748
+ const renderSubItem = (subitem) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("li", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7701
7749
  "button",
7702
7750
  {
7703
7751
  "aria-current": subitem.isActive ? "page" : void 0,
@@ -7727,7 +7775,7 @@ function ITSidebar({
7727
7775
  }
7728
7776
  },
7729
7777
  children: [
7730
- subitem.isActive && subitemConnector === "|" && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7778
+ subitem.isActive && subitemConnector === "|" && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7731
7779
  "div",
7732
7780
  {
7733
7781
  className: "absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full transition-all",
@@ -7737,7 +7785,7 @@ function ITSidebar({
7737
7785
  }
7738
7786
  }
7739
7787
  ),
7740
- subitemConnector === "dot" && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7788
+ subitemConnector === "dot" && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7741
7789
  "span",
7742
7790
  {
7743
7791
  className: `w-1.5 h-1.5 rounded-full flex-shrink-0 transition-all duration-300 ${subitem.isActive ? "scale-125" : ""}`,
@@ -7746,14 +7794,14 @@ function ITSidebar({
7746
7794
  }
7747
7795
  }
7748
7796
  ),
7749
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ITText, { as: "span", className: "truncate", children: subitem.label })
7797
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ITText, { as: "span", className: "truncate", children: subitem.label })
7750
7798
  ]
7751
7799
  }
7752
7800
  ) }, subitem.id);
7753
7801
  const renderSubItemGroup = (group, itemId) => {
7754
7802
  const headingId = `it-sidebar-subgroup-${itemId}-${group.id}`;
7755
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("li", { className: "relative", children: [
7756
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { id: headingId, className: "px-3 pt-2.5 pb-1 mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7803
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("li", { className: "relative", children: [
7804
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { id: headingId, className: "px-3 pt-2.5 pb-1 mt-1", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7757
7805
  ITText,
7758
7806
  {
7759
7807
  as: "span",
@@ -7768,10 +7816,10 @@ function ITSidebar({
7768
7816
  children: group.label
7769
7817
  }
7770
7818
  ) }),
7771
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("ul", { "aria-labelledby": headingId, className: "flex flex-col gap-0", children: group.items.map(renderSubItem) })
7819
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("ul", { "aria-labelledby": headingId, className: "flex flex-col gap-0", children: group.items.map(renderSubItem) })
7772
7820
  ] }, group.id);
7773
7821
  };
7774
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7822
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7775
7823
  "aside",
7776
7824
  {
7777
7825
  ref: sidebarRef,
@@ -7791,12 +7839,12 @@ function ITSidebar({
7791
7839
  backdropFilter: "blur(12px)"
7792
7840
  },
7793
7841
  children: [
7794
- header && !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "px-4 pt-4 pb-1 flex-shrink-0", children: header }),
7795
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("nav", { "aria-label": "Componentes de la librer\xEDa", className: "flex-1 py-4 overflow-y-auto overflow-x-hidden custom-scrollbar px-4", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("ul", { className: "space-y-1", children: navigationItems.map((item) => {
7842
+ header && !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "px-4 pt-4 pb-1 flex-shrink-0", children: header }),
7843
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("nav", { "aria-label": "Componentes de la librer\xEDa", className: "flex-1 py-4 overflow-y-auto overflow-x-hidden custom-scrollbar px-4", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("ul", { className: "space-y-1", children: navigationItems.map((item) => {
7796
7844
  const hasSubmenu = !!item.subitems && item.subitems.length > 0;
7797
7845
  const submenuId = `it-sidebar-submenu-${item.id}`;
7798
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("li", { className: "relative group/navitem", children: [
7799
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7846
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("li", { className: "relative group/navitem", children: [
7847
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7800
7848
  "div",
7801
7849
  {
7802
7850
  role: "button",
@@ -7828,15 +7876,15 @@ function ITSidebar({
7828
7876
  }
7829
7877
  },
7830
7878
  children: [
7831
- item.isActive && !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7879
+ item.isActive && !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7832
7880
  "div",
7833
7881
  {
7834
7882
  className: "absolute left-0 top-1/4 bottom-1/4 w-[3px] rounded-r-full transition-all",
7835
7883
  style: { backgroundColor: "var(--it-sidebar-active-icon, var(--color-primary-500))", boxShadow: "0 0 10px var(--it-sidebar-active-icon, var(--color-primary-500))" }
7836
7884
  }
7837
7885
  ),
7838
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: `flex items-center ${!isSidebarCollapsed ? "gap-2.5" : "justify-center"} relative z-10 w-full`, children: [
7839
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7886
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: `flex items-center ${!isSidebarCollapsed ? "gap-2.5" : "justify-center"} relative z-10 w-full`, children: [
7887
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7840
7888
  "div",
7841
7889
  {
7842
7890
  className: `transition-all duration-300 flex-shrink-0 flex items-center justify-center`,
@@ -7849,7 +7897,7 @@ function ITSidebar({
7849
7897
  children: item.icon
7850
7898
  }
7851
7899
  ),
7852
- !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7900
+ !isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7853
7901
  ITText,
7854
7902
  {
7855
7903
  as: "span",
@@ -7863,15 +7911,15 @@ function ITSidebar({
7863
7911
  }
7864
7912
  )
7865
7913
  ] }),
7866
- !isSidebarCollapsed && item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7914
+ !isSidebarCollapsed && item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7867
7915
  "div",
7868
7916
  {
7869
7917
  className: `flex-shrink-0 transition-transform duration-300 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "rotate-180" : ""}`,
7870
7918
  style: { color: item.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-icon-color, var(--color-secondary-500))", opacity: 0.7 },
7871
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_fa26.FaChevronDown, { className: "w-3 h-3" })
7919
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_fa26.FaChevronDown, { className: "w-3 h-3" })
7872
7920
  }
7873
7921
  ),
7874
- item.badge && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7922
+ item.badge && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7875
7923
  "span",
7876
7924
  {
7877
7925
  className: `
@@ -7889,7 +7937,7 @@ function ITSidebar({
7889
7937
  ]
7890
7938
  }
7891
7939
  ),
7892
- isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7940
+ isSidebarCollapsed && /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7893
7941
  "div",
7894
7942
  {
7895
7943
  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)]",
@@ -7900,16 +7948,16 @@ function ITSidebar({
7900
7948
  backdropFilter: "blur(16px)"
7901
7949
  },
7902
7950
  children: [
7903
- /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("div", { className: "px-5 py-4 flex items-center gap-3 font-semibold border-b", style: { borderColor: "var(--it-sidebar-border, var(--color-secondary-200))", color: "var(--it-sidebar-active-color, var(--color-secondary-900))" }, children: [
7904
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { style: { color: "var(--it-sidebar-active-icon, var(--color-primary-500))" }, className: "text-xl drop-shadow-sm", children: item.icon }),
7905
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ITText, { as: "span", className: "tracking-wide text-[15px]", children: item.label })
7951
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "px-5 py-4 flex items-center gap-3 font-semibold border-b", style: { borderColor: "var(--it-sidebar-border, var(--color-secondary-200))", color: "var(--it-sidebar-active-color, var(--color-secondary-900))" }, children: [
7952
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { style: { color: "var(--it-sidebar-active-icon, var(--color-primary-500))" }, className: "text-xl drop-shadow-sm", children: item.icon }),
7953
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ITText, { as: "span", className: "tracking-wide text-[15px]", children: item.label })
7906
7954
  ] }),
7907
- item.subitems && item.subitems.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "py-2", children: flattenSubItems(item.subitems).map((subitem) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
7955
+ item.subitems && item.subitems.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "py-2", children: flattenSubItems(item.subitems).map((subitem) => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
7908
7956
  "div",
7909
7957
  {
7910
7958
  className: `px-5 py-2.5 text-sm flex items-center gap-3 transition-colors relative`,
7911
7959
  children: [
7912
- subitem.isActive && subitemConnector === "|" && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7960
+ subitem.isActive && subitemConnector === "|" && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7913
7961
  "div",
7914
7962
  {
7915
7963
  className: "absolute left-0 top-1/3 bottom-1/3 w-[2.5px] rounded-r-full",
@@ -7919,16 +7967,16 @@ function ITSidebar({
7919
7967
  }
7920
7968
  }
7921
7969
  ),
7922
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("span", { className: `w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`, style: { backgroundColor: subitem.isActive ? "var(--it-sidebar-active-icon, var(--color-primary-500))" : "var(--it-sidebar-icon-color, var(--color-secondary-400))" } }),
7923
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ITText, { as: "span", style: { color: subitem.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }, children: subitem.label })
7970
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", { className: `w-1.5 h-1.5 rounded-full transition-all ${subitem.isActive ? "scale-125" : ""}`, style: { backgroundColor: subitem.isActive ? "var(--it-sidebar-active-icon, var(--color-primary-500))" : "var(--it-sidebar-icon-color, var(--color-secondary-400))" } }),
7971
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ITText, { as: "span", style: { color: subitem.isActive ? "var(--it-sidebar-active-color, var(--color-secondary-900))" : "var(--it-sidebar-label-color, var(--color-secondary-600))", fontWeight: subitem.isActive ? 600 : 500 }, children: subitem.label })
7924
7972
  ]
7925
7973
  },
7926
7974
  subitem.id
7927
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ITText, { as: "div", className: "px-5 py-3 text-sm italic", style: { color: "var(--it-sidebar-label-color, var(--color-secondary-400))" }, children: "No hay submen\xFA" })
7975
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ITText, { as: "div", className: "px-5 py-3 text-sm italic", style: { color: "var(--it-sidebar-label-color, var(--color-secondary-400))" }, children: "No hay submen\xFA" })
7928
7976
  ]
7929
7977
  }
7930
7978
  ),
7931
- !isSidebarCollapsed && item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { id: submenuId, role: "group", "aria-label": item.label, className: `overflow-hidden transition-all duration-400 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "max-h-[1000px] opacity-100 mt-1" : "max-h-0 opacity-0"}`, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
7979
+ !isSidebarCollapsed && item.subitems && item.subitems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { id: submenuId, role: "group", "aria-label": item.label, className: `overflow-hidden transition-all duration-400 ease-[cubic-bezier(0.2,0,0,1)] ${expandedItems.has(item.id) ? "max-h-[1000px] opacity-100 mt-1" : "max-h-0 opacity-0"}`, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
7932
7980
  "ul",
7933
7981
  {
7934
7982
  className: "ml-4 flex flex-col gap-0 py-0.5",
@@ -7950,7 +7998,7 @@ function ITSidebar({
7950
7998
  // src/components/atoms/slide/slide.tsx
7951
7999
  var import_react36 = require("react");
7952
8000
  var import_clsx40 = __toESM(require("clsx"), 1);
7953
- var import_jsx_runtime57 = require("react/jsx-runtime");
8001
+ var import_jsx_runtime58 = require("react/jsx-runtime");
7954
8002
  function ITSlideToggle({
7955
8003
  onToggle,
7956
8004
  isOn: controlledIsOn,
@@ -8003,7 +8051,7 @@ function ITSlideToggle({
8003
8051
  }
8004
8052
  };
8005
8053
  const { container, knob, translate } = sizeClasses2[size];
8006
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8054
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
8007
8055
  "div",
8008
8056
  {
8009
8057
  onClick: toggleSwitch,
@@ -8023,7 +8071,7 @@ function ITSlideToggle({
8023
8071
  toggleSwitch();
8024
8072
  }
8025
8073
  },
8026
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
8074
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
8027
8075
  "div",
8028
8076
  {
8029
8077
  className: (0, import_clsx40.default)(
@@ -8039,7 +8087,7 @@ function ITSlideToggle({
8039
8087
 
8040
8088
  // src/components/atoms/slider/slider.tsx
8041
8089
  var import_clsx41 = __toESM(require("clsx"), 1);
8042
- var import_jsx_runtime58 = require("react/jsx-runtime");
8090
+ var import_jsx_runtime59 = require("react/jsx-runtime");
8043
8091
  function ITSlider({
8044
8092
  value,
8045
8093
  onChange,
@@ -8050,13 +8098,13 @@ function ITSlider({
8050
8098
  disabled = false,
8051
8099
  className
8052
8100
  }) {
8053
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)("div", { className: (0, import_clsx41.default)("flex flex-col gap-1.5", className), children: [
8054
- label && /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(ITText, { as: "label", className: "text-xs font-semibold text-secondary-600 dark:text-secondary-400", children: [
8101
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: (0, import_clsx41.default)("flex flex-col gap-1.5", className), children: [
8102
+ label && /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(ITText, { as: "label", className: "text-xs font-semibold text-secondary-600 dark:text-secondary-400", children: [
8055
8103
  label,
8056
8104
  ": ",
8057
8105
  value
8058
8106
  ] }),
8059
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "relative w-full h-5 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
8107
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "relative w-full h-5 flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
8060
8108
  "input",
8061
8109
  {
8062
8110
  type: "range",
@@ -8087,7 +8135,7 @@ function ITSlider({
8087
8135
 
8088
8136
  // src/components/molecules/stat-card/stat-card.tsx
8089
8137
  var import_clsx42 = __toESM(require("clsx"), 1);
8090
- var import_jsx_runtime59 = require("react/jsx-runtime");
8138
+ var import_jsx_runtime60 = require("react/jsx-runtime");
8091
8139
  var trendColors = {
8092
8140
  up: "text-emerald-600 bg-emerald-50 dark:text-emerald-400 dark:bg-emerald-950/30",
8093
8141
  down: "text-rose-600 bg-rose-50 dark:text-rose-400 dark:bg-rose-950/30",
@@ -8104,7 +8152,7 @@ function ITStatCard({
8104
8152
  style,
8105
8153
  onClick
8106
8154
  }) {
8107
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(
8155
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8108
8156
  "div",
8109
8157
  {
8110
8158
  className: (0, import_clsx42.default)("rounded-xl p-4 border border-slate-100 dark:border-slate-800", color, className),
@@ -8113,13 +8161,13 @@ function ITStatCard({
8113
8161
  role: onClick ? "button" : void 0,
8114
8162
  tabIndex: onClick ? 0 : void 0,
8115
8163
  children: [
8116
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-start justify-between mb-1", children: [
8117
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", className: "text-xs font-medium text-slate-400 dark:text-slate-500", children: label }),
8118
- icon && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("span", { className: "text-slate-400", children: icon })
8164
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-start justify-between mb-1", children: [
8165
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-xs font-medium text-slate-400 dark:text-slate-500", children: label }),
8166
+ icon && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-slate-400", children: icon })
8119
8167
  ] }),
8120
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)("div", { className: "flex items-baseline gap-2", children: [
8121
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", className: "text-2xl font-bold text-slate-800 dark:text-white", children: value }),
8122
- trend && /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ITText, { as: "span", className: (0, import_clsx42.default)("text-[11px] font-semibold px-1.5 py-0.5 rounded-md", trendColors[trendDirection]), children: trend })
8168
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-baseline gap-2", children: [
8169
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-2xl font-bold text-slate-800 dark:text-white", children: value }),
8170
+ trend && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: (0, import_clsx42.default)("text-[11px] font-semibold px-1.5 py-0.5 rounded-md", trendColors[trendDirection]), children: trend })
8123
8171
  ] })
8124
8172
  ]
8125
8173
  }
@@ -8132,7 +8180,7 @@ var import_react37 = __toESM(require("react"), 1);
8132
8180
  var import_fa27 = require("react-icons/fa");
8133
8181
  var import_md2 = require("react-icons/md");
8134
8182
  var import_date_fns3 = require("date-fns");
8135
- var import_jsx_runtime60 = require("react/jsx-runtime");
8183
+ var import_jsx_runtime61 = require("react/jsx-runtime");
8136
8184
  function ITTable({
8137
8185
  columns,
8138
8186
  data = [],
@@ -8288,14 +8336,14 @@ function ITTable({
8288
8336
  if (currentValue === true) return "Filtrar solo verdaderos";
8289
8337
  return "Filtrar solo falsos";
8290
8338
  };
8291
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8339
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8292
8340
  "button",
8293
8341
  {
8294
8342
  className: "flex items-center justify-center cursor-pointer focus:outline-none focus:ring-2 focus:ring-slate-400 focus:ring-offset-2 rounded-full p-1 transition-all duration-200",
8295
8343
  onClick: () => handleFilterChange(col.key, nextValue),
8296
8344
  "aria-label": `${getToggleLabel()} para ${col.label}`,
8297
8345
  title: `${getToggleLabel()} para ${col.label}`,
8298
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "relative w-10 h-5 bg-secondary-300 rounded-full", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8346
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "relative w-10 h-5 bg-secondary-300 rounded-full", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8299
8347
  "div",
8300
8348
  {
8301
8349
  className: (0, import_clsx43.default)(
@@ -8313,7 +8361,7 @@ function ITTable({
8313
8361
  }
8314
8362
  if (col.filter === "catalog" && col.catalogOptions) {
8315
8363
  if (col.catalogOptions.loading) {
8316
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8364
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8317
8365
  import_fa27.FaSpinner,
8318
8366
  {
8319
8367
  className: "animate-spin",
@@ -8323,9 +8371,9 @@ function ITTable({
8323
8371
  );
8324
8372
  }
8325
8373
  if (col.catalogOptions.error) {
8326
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
8374
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
8327
8375
  }
8328
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8376
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8329
8377
  ITSelect,
8330
8378
  {
8331
8379
  name: `filter-${col.key}`,
@@ -8349,7 +8397,7 @@ function ITTable({
8349
8397
  }
8350
8398
  if (col.filter === "search" && col.catalogOptions) {
8351
8399
  if (col.catalogOptions.loading) {
8352
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8400
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8353
8401
  import_fa27.FaSpinner,
8354
8402
  {
8355
8403
  className: "animate-spin",
@@ -8359,10 +8407,10 @@ function ITTable({
8359
8407
  );
8360
8408
  }
8361
8409
  if (col.catalogOptions.error) {
8362
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
8410
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-danger-500 text-xs", children: "Error cargando" });
8363
8411
  }
8364
8412
  const searchValue = filters[col.key];
8365
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8413
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8366
8414
  ITSearchSelect,
8367
8415
  {
8368
8416
  name: `filter-${col.key}`,
@@ -8385,7 +8433,7 @@ function ITTable({
8385
8433
  }
8386
8434
  if (col.filter === "date") {
8387
8435
  const dateValue = filters[col.key];
8388
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8436
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8389
8437
  ITDatePicker,
8390
8438
  {
8391
8439
  name: `filter-${col.key}`,
@@ -8401,7 +8449,7 @@ function ITTable({
8401
8449
  }
8402
8450
  if (col.filter === "date-range") {
8403
8451
  const rangeValue = filters[col.key];
8404
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8452
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8405
8453
  ITDatePicker,
8406
8454
  {
8407
8455
  name: `filter-${col.key}`,
@@ -8416,7 +8464,7 @@ function ITTable({
8416
8464
  }
8417
8465
  );
8418
8466
  }
8419
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8467
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8420
8468
  ITInput,
8421
8469
  {
8422
8470
  name: `filter-${col.key}`,
@@ -8438,14 +8486,14 @@ function ITTable({
8438
8486
  case "number":
8439
8487
  return typeof value === "number" && col.currencyMX ? formatCurrencyMX(value) : value;
8440
8488
  case "boolean":
8441
- return value ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8489
+ return value ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8442
8490
  import_fa27.FaCheck,
8443
8491
  {
8444
8492
  className: "text-success-500",
8445
8493
  "aria-label": "Verdadero",
8446
8494
  title: "Verdadero"
8447
8495
  }
8448
- ) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8496
+ ) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8449
8497
  import_fa27.FaTimes,
8450
8498
  {
8451
8499
  className: "text-danger-500",
@@ -8470,12 +8518,12 @@ function ITTable({
8470
8518
  const renderDefaultCard = (row) => {
8471
8519
  const dataCols = columns.filter((c) => c.type !== "actions");
8472
8520
  const actionCol = columns.find((c) => c.type === "actions");
8473
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 p-3 space-y-2 shadow-sm", children: [
8474
- dataCols.map((col) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
8475
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400 whitespace-nowrap flex-shrink-0 min-w-[70px]", children: col.label }),
8476
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-sm font-medium text-slate-800 dark:text-white text-right truncate", children: renderCellContent(col, row) })
8521
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "bg-white dark:bg-slate-800 rounded-lg border border-slate-200 dark:border-slate-700 p-3 space-y-2 shadow-sm", children: [
8522
+ dataCols.map((col) => /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
8523
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-[10px] font-bold uppercase tracking-wider text-slate-400 whitespace-nowrap flex-shrink-0 min-w-[70px]", children: col.label }),
8524
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("span", { className: "text-sm font-medium text-slate-800 dark:text-white text-right truncate", children: renderCellContent(col, row) })
8477
8525
  ] }, col.key)),
8478
- actionCol?.actions && /* @__PURE__ */ (0, import_jsx_runtime60.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) })
8526
+ actionCol?.actions && /* @__PURE__ */ (0, import_jsx_runtime61.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) })
8479
8527
  ] });
8480
8528
  };
8481
8529
  const handleRowClick = (row) => (event) => {
@@ -8489,61 +8537,61 @@ function ITTable({
8489
8537
  event.preventDefault();
8490
8538
  onRowClick(row, event);
8491
8539
  };
8492
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { ref: rootRef, className: (0, import_clsx43.default)("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8493
- title && /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8494
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
8495
- /* @__PURE__ */ (0, import_jsx_runtime60.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: [
8496
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8540
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { ref: rootRef, className: (0, import_clsx43.default)("space-y-4 w-full", containerClassName), children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: tableContainer, style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8541
+ title && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "px-6 py-5 flex items-center justify-between", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: [
8542
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "h2", className: "text-xl font-bold text-secondary-900 leading-tight", children: title }),
8543
+ /* @__PURE__ */ (0, import_jsx_runtime61.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: [
8544
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
8497
8545
  "button",
8498
8546
  {
8499
8547
  onClick: () => setViewMode("table"),
8500
8548
  disabled: forcedCards,
8501
8549
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold transition-all ${effectiveView === "table" ? "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"}`,
8502
8550
  children: [
8503
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_fa27.FaTable, { size: 11 }),
8551
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_fa27.FaTable, { size: 11 }),
8504
8552
  "Table"
8505
8553
  ]
8506
8554
  }
8507
8555
  ),
8508
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8556
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
8509
8557
  "button",
8510
8558
  {
8511
8559
  onClick: () => setViewMode("cards"),
8512
8560
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold transition-all ${effectiveView === "cards" ? "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"}`,
8513
8561
  children: [
8514
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_fa27.FaThLarge, { size: 11 }),
8562
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_fa27.FaThLarge, { size: 11 }),
8515
8563
  "Cards"
8516
8564
  ]
8517
8565
  }
8518
8566
  )
8519
8567
  ] })
8520
8568
  ] }),
8521
- !title && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "flex justify-end px-4 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime60.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: [
8522
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8569
+ !title && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "flex justify-end px-4 pt-3", children: /* @__PURE__ */ (0, import_jsx_runtime61.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: [
8570
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
8523
8571
  "button",
8524
8572
  {
8525
8573
  onClick: () => setViewMode("table"),
8526
8574
  disabled: forcedCards,
8527
8575
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold transition-all ${effectiveView === "table" ? "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"}`,
8528
8576
  children: [
8529
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_fa27.FaTable, { size: 11 }),
8577
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_fa27.FaTable, { size: 11 }),
8530
8578
  "Table"
8531
8579
  ]
8532
8580
  }
8533
8581
  ),
8534
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8582
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
8535
8583
  "button",
8536
8584
  {
8537
8585
  onClick: () => setViewMode("cards"),
8538
8586
  className: `flex items-center gap-1.5 px-3 py-1.5 rounded-md text-xs font-semibold transition-all ${effectiveView === "cards" ? "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"}`,
8539
8587
  children: [
8540
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_fa27.FaThLarge, { size: 11 }),
8588
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_fa27.FaThLarge, { size: 11 }),
8541
8589
  "Cards"
8542
8590
  ]
8543
8591
  }
8544
8592
  )
8545
8593
  ] }) }),
8546
- effectiveView === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime60.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_runtime60.jsx)(
8594
+ effectiveView === "cards" ? /* @__PURE__ */ (0, import_jsx_runtime61.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_runtime61.jsx)(
8547
8595
  "div",
8548
8596
  {
8549
8597
  className: (0, import_clsx43.default)(tableCardHover, onRowClick && tableCardClickable),
@@ -8554,16 +8602,16 @@ function ITTable({
8554
8602
  children: renderCard ? renderCard(row) : renderDefaultCard(row)
8555
8603
  },
8556
8604
  i
8557
- )) : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: (0, import_clsx43.default)(tableEmptyContent, "py-12"), children: [
8558
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
8559
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
8560
- ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8605
+ )) : /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: (0, import_clsx43.default)(tableEmptyContent, "py-12"), children: [
8606
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
8607
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
8608
+ ] }) }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8561
8609
  "div",
8562
8610
  {
8563
8611
  ref: isTableVirtual ? scrollRef : void 0,
8564
8612
  className: isTableVirtual ? "overflow-x-auto overflow-y-auto" : "overflow-x-auto",
8565
8613
  style: isTableVirtual ? { maxHeight: virtualizedMaxHeight } : void 0,
8566
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
8614
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
8567
8615
  "table",
8568
8616
  {
8569
8617
  className: (0, import_clsx43.default)(
@@ -8576,14 +8624,14 @@ function ITTable({
8576
8624
  style: isFixed ? { tableLayout: "fixed" } : void 0,
8577
8625
  "aria-rowcount": isTableVirtual ? currentData.length + 1 : void 0,
8578
8626
  children: [
8579
- hasColumnWidths && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("colgroup", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8627
+ hasColumnWidths && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("colgroup", { children: columns.map((col) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8580
8628
  "col",
8581
8629
  {
8582
8630
  style: col.width != null ? { width: typeof col.width === "number" ? `${col.width}px` : col.width } : void 0
8583
8631
  },
8584
8632
  col.key
8585
8633
  )) }),
8586
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8634
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("thead", { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8587
8635
  "tr",
8588
8636
  {
8589
8637
  className: (0, import_clsx43.default)(tableHeaderRow, "dark:text-slate-200"),
@@ -8591,7 +8639,7 @@ function ITTable({
8591
8639
  children: columns.map((col) => {
8592
8640
  const pin = pinnedMeta[col.key];
8593
8641
  const isPinned = pin != null;
8594
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8642
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8595
8643
  "th",
8596
8644
  {
8597
8645
  scope: "col",
@@ -8608,20 +8656,20 @@ function ITTable({
8608
8656
  ...isStickyHeader || isPinned ? { backgroundColor: "var(--color-table-headerBg, #f8fafc)" } : {},
8609
8657
  ...isPinned ? pin.side === "left" ? { left: pin.offset } : { right: pin.offset } : {}
8610
8658
  } : void 0,
8611
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: isFixed ? "flex flex-col gap-3" : "flex flex-col gap-3 min-w-[150px]", children: [
8612
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
8613
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
8614
- col.sortable && col.type !== "actions" && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8659
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: isFixed ? "flex flex-col gap-3" : "flex flex-col gap-3 min-w-[150px]", children: [
8660
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
8661
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-slate-900 dark:text-white font-bold", children: col.label }),
8662
+ col.sortable && col.type !== "actions" && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8615
8663
  "button",
8616
8664
  {
8617
8665
  onClick: () => handleSort(col.key),
8618
8666
  className: `p-1 rounded-md transition-colors ${sortConfig?.key === col.key ? "bg-secondary-200 text-secondary-900" : "hover:bg-secondary-200 text-secondary-400 hover:text-secondary-700"}`,
8619
8667
  title: `Ordenar por ${col.label}`,
8620
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_md2.MdOutlineSwapVert, { className: "w-4 h-4", "aria-hidden": "true" })
8668
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_md2.MdOutlineSwapVert, { className: "w-4 h-4", "aria-hidden": "true" })
8621
8669
  }
8622
8670
  )
8623
8671
  ] }),
8624
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "w-full", children: col.filter ? renderFilterInput(col) : null })
8672
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "w-full", children: col.filter ? renderFilterInput(col) : null })
8625
8673
  ] })
8626
8674
  },
8627
8675
  col.key
@@ -8629,11 +8677,11 @@ function ITTable({
8629
8677
  })
8630
8678
  }
8631
8679
  ) }),
8632
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("tbody", { className: (0, import_clsx43.default)(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, { children: [
8633
- isTableVirtual && topSpacerHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("tr", { "aria-hidden": "true", style: { height: topSpacerHeight }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("td", { colSpan: columnCount, style: { padding: 0, border: 0 } }) }),
8680
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tbody", { className: (0, import_clsx43.default)(tableBody, "dark:divide-slate-700/30"), children: currentData.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_jsx_runtime61.Fragment, { children: [
8681
+ isTableVirtual && topSpacerHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tr", { "aria-hidden": "true", style: { height: topSpacerHeight }, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("td", { colSpan: columnCount, style: { padding: 0, border: 0 } }) }),
8634
8682
  windowData.map((row, windowIndex) => {
8635
8683
  const absoluteIndex = isTableVirtual ? startIndex + windowIndex : windowIndex;
8636
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8684
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8637
8685
  "tr",
8638
8686
  {
8639
8687
  "aria-rowindex": isTableVirtual ? absoluteIndex + 2 : void 0,
@@ -8650,7 +8698,7 @@ function ITTable({
8650
8698
  const truncateTitle = col.truncate && (typeof rawValue === "string" || typeof rawValue === "number") ? String(rawValue) : void 0;
8651
8699
  const pin = pinnedMeta[col.key];
8652
8700
  const isPinned = pin != null;
8653
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8701
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8654
8702
  "td",
8655
8703
  {
8656
8704
  className: (0, import_clsx43.default)(
@@ -8665,7 +8713,7 @@ function ITTable({
8665
8713
  ...isPinned ? pin.side === "left" ? { left: pin.offset } : { right: pin.offset } : {}
8666
8714
  } : void 0,
8667
8715
  title: truncateTitle,
8668
- children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: (0, import_clsx43.default)(tableCellText, col.truncate && "truncate"), children: renderCellContent(col, row) })
8716
+ children: col.type === "actions" ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: tableActionsCell, children: renderCellContent(col, row) }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: (0, import_clsx43.default)(tableCellText, col.truncate && "truncate"), children: renderCellContent(col, row) })
8669
8717
  },
8670
8718
  `${absoluteIndex}-${col.key}`
8671
8719
  );
@@ -8674,17 +8722,17 @@ function ITTable({
8674
8722
  absoluteIndex
8675
8723
  );
8676
8724
  }),
8677
- isTableVirtual && bottomSpacerHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("tr", { "aria-hidden": "true", style: { height: bottomSpacerHeight }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("td", { colSpan: columnCount, style: { padding: 0, border: 0 } }) })
8678
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: tableEmptyContent, children: [
8679
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
8680
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
8725
+ isTableVirtual && bottomSpacerHeight > 0 && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tr", { "aria-hidden": "true", style: { height: bottomSpacerHeight }, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("td", { colSpan: columnCount, style: { padding: 0, border: 0 } }) })
8726
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("td", { colSpan: columns.length, className: "px-6 py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: tableEmptyContent, children: [
8727
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-lg", children: "No se encontraron resultados" }),
8728
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: "text-sm mt-1", children: "Intenta ajustar los filtros" })
8681
8729
  ] }) }) }) })
8682
8730
  ]
8683
8731
  }
8684
8732
  )
8685
8733
  }
8686
8734
  ),
8687
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "rounded-b-xl px-6 py-4", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
8735
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "rounded-b-xl px-6 py-4", style: { backgroundColor: "var(--color-table-rowBg, #ffffff)" }, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8688
8736
  ITPagination,
8689
8737
  {
8690
8738
  currentPage,
@@ -8702,7 +8750,7 @@ function ITTable({
8702
8750
 
8703
8751
  // src/components/atoms/textarea/textarea.tsx
8704
8752
  var import_clsx44 = __toESM(require("clsx"), 1);
8705
- var import_jsx_runtime61 = require("react/jsx-runtime");
8753
+ var import_jsx_runtime62 = require("react/jsx-runtime");
8706
8754
  var resizeMap = {
8707
8755
  none: "resize-none",
8708
8756
  vertical: "resize-y",
@@ -8722,9 +8770,9 @@ function ITTextarea({
8722
8770
  maxLength,
8723
8771
  resize = "vertical"
8724
8772
  }) {
8725
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: (0, import_clsx44.default)("flex flex-col gap-1.5", className), children: [
8726
- label && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "label", className: inputLabel(!!error), htmlFor: name, children: label }),
8727
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
8773
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: (0, import_clsx44.default)("flex flex-col gap-1.5", className), children: [
8774
+ label && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ITText, { as: "label", className: inputLabel(!!error), htmlFor: name, children: label }),
8775
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
8728
8776
  "textarea",
8729
8777
  {
8730
8778
  id: name,
@@ -8744,14 +8792,14 @@ function ITTextarea({
8744
8792
  )
8745
8793
  }
8746
8794
  ),
8747
- error && /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ITText, { as: "span", className: inputError, children: error })
8795
+ error && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ITText, { as: "span", className: inputError, children: error })
8748
8796
  ] });
8749
8797
  }
8750
8798
 
8751
8799
  // src/components/molecules/tabs/tabs.tsx
8752
8800
  var import_react38 = require("react");
8753
8801
  var import_clsx45 = require("clsx");
8754
- var import_jsx_runtime62 = require("react/jsx-runtime");
8802
+ var import_jsx_runtime63 = require("react/jsx-runtime");
8755
8803
  var ITTabs = ({
8756
8804
  items,
8757
8805
  defaultActiveId,
@@ -8767,14 +8815,14 @@ var ITTabs = ({
8767
8815
  if (onChange) onChange(id);
8768
8816
  };
8769
8817
  const activeContent = items.find((item) => item.id === activeId)?.content;
8770
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)("div", { className: (0, import_clsx45.clsx)("w-full", containerClassName), children: [
8771
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: (0, import_clsx45.clsx)(
8818
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: (0, import_clsx45.clsx)("w-full", containerClassName), children: [
8819
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: (0, import_clsx45.clsx)(
8772
8820
  "flex border-secondary-200 mb-4",
8773
8821
  variant === "line" ? "border-b" : "gap-2 p-1 bg-secondary-100 rounded-lg w-fit",
8774
8822
  className
8775
8823
  ), children: items.map((item) => {
8776
8824
  const isActive = item.id === activeId;
8777
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
8825
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
8778
8826
  "button",
8779
8827
  {
8780
8828
  onClick: () => handleTabClick(item.id, item.disabled),
@@ -8794,21 +8842,21 @@ var ITTabs = ({
8794
8842
  item.disabled && "opacity-50 cursor-not-allowed"
8795
8843
  ),
8796
8844
  children: [
8797
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("span", { className: "w-4 h-4", children: item.icon }),
8798
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ITText, { as: "span", children: item.label })
8845
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("span", { className: "w-4 h-4", children: item.icon }),
8846
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ITText, { as: "span", children: item.label })
8799
8847
  ]
8800
8848
  },
8801
8849
  item.id
8802
8850
  );
8803
8851
  }) }),
8804
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "tab-content animate-fadeIn", children: activeContent })
8852
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "tab-content animate-fadeIn", children: activeContent })
8805
8853
  ] });
8806
8854
  };
8807
8855
  var tabs_default = ITTabs;
8808
8856
 
8809
8857
  // src/components/organisms/triple-filter/tripleFilter.tsx
8810
8858
  var import_clsx46 = __toESM(require("clsx"), 1);
8811
- var import_jsx_runtime63 = require("react/jsx-runtime");
8859
+ var import_jsx_runtime64 = require("react/jsx-runtime");
8812
8860
  var colorMap2 = {
8813
8861
  primary: "text-primary-600",
8814
8862
  secondary: "text-secondary-600",
@@ -8827,11 +8875,11 @@ var ITTripleFilter = ({
8827
8875
  color = "primary",
8828
8876
  className
8829
8877
  }) => {
8830
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
8878
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
8831
8879
  "div",
8832
8880
  {
8833
8881
  className: (0, import_clsx46.default)("flex bg-slate-100 p-1 rounded-xl gap-1 w-fit", className),
8834
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
8882
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
8835
8883
  "button",
8836
8884
  {
8837
8885
  onClick: () => onChange(option.value),
@@ -8839,7 +8887,7 @@ var ITTripleFilter = ({
8839
8887
  "px-4 py-1.5 rounded-lg text-[10px] font-bold uppercase tracking-wider transition-all duration-200 whitespace-nowrap",
8840
8888
  value === option.value ? (0, import_clsx46.default)("bg-white shadow-sm", colorMap2[color]) : "text-slate-400 hover:text-slate-600"
8841
8889
  ),
8842
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(ITText, { as: "span", children: option.label })
8890
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ITText, { as: "span", children: option.label })
8843
8891
  },
8844
8892
  String(option.value)
8845
8893
  ))
@@ -8862,7 +8910,7 @@ var positionStyles = {
8862
8910
  var import_clsx47 = __toESM(require("clsx"), 1);
8863
8911
  var import_react39 = require("react");
8864
8912
  var import_fa28 = require("react-icons/fa");
8865
- var import_jsx_runtime64 = require("react/jsx-runtime");
8913
+ var import_jsx_runtime65 = require("react/jsx-runtime");
8866
8914
  function ITToast({
8867
8915
  message,
8868
8916
  type = "info",
@@ -8891,18 +8939,18 @@ function ITToast({
8891
8939
  const TypeIcon = () => {
8892
8940
  switch (type) {
8893
8941
  case "success":
8894
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_fa28.FaCheckCircle, { className: "w-5 h-5 flex-shrink-0" });
8942
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_fa28.FaCheckCircle, { className: "w-5 h-5 flex-shrink-0" });
8895
8943
  case "error":
8896
8944
  case "danger":
8897
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_fa28.FaTimesCircle, { className: "w-5 h-5 flex-shrink-0" });
8945
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_fa28.FaTimesCircle, { className: "w-5 h-5 flex-shrink-0" });
8898
8946
  case "warning":
8899
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_fa28.FaExclamationTriangle, { className: "w-5 h-5 flex-shrink-0" });
8947
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_fa28.FaExclamationTriangle, { className: "w-5 h-5 flex-shrink-0" });
8900
8948
  case "info":
8901
8949
  default:
8902
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_fa28.FaInfoCircle, { className: "w-5 h-5 flex-shrink-0" });
8950
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_fa28.FaInfoCircle, { className: "w-5 h-5 flex-shrink-0" });
8903
8951
  }
8904
8952
  };
8905
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
8953
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
8906
8954
  "div",
8907
8955
  {
8908
8956
  className: (0, import_clsx47.default)(
@@ -8918,17 +8966,17 @@ function ITToast({
8918
8966
  style: { backgroundColor },
8919
8967
  role: "alert",
8920
8968
  children: [
8921
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-3", children: [
8922
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(TypeIcon, {}),
8923
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(ITText, { as: "span", className: "font-medium text-sm sm:text-base leading-snug", children: message })
8969
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: "flex items-center gap-3", children: [
8970
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(TypeIcon, {}),
8971
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ITText, { as: "span", className: "font-medium text-sm sm:text-base leading-snug", children: message })
8924
8972
  ] }),
8925
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
8973
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
8926
8974
  "button",
8927
8975
  {
8928
8976
  onClick: handleClose,
8929
8977
  className: "p-1.5 rounded-full hover:bg-black/15 transition-colors focus:outline-none focus:ring-2 focus:ring-white/50",
8930
8978
  "aria-label": "Close notification",
8931
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_fa28.FaTimes, { className: "w-4 h-4" })
8979
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_fa28.FaTimes, { className: "w-4 h-4" })
8932
8980
  }
8933
8981
  )
8934
8982
  ]
@@ -8955,7 +9003,7 @@ var toolbarActions = [
8955
9003
  // src/components/atoms/tooltip/tooltip.tsx
8956
9004
  var import_react40 = require("react");
8957
9005
  var import_clsx48 = __toESM(require("clsx"), 1);
8958
- var import_jsx_runtime65 = require("react/jsx-runtime");
9006
+ var import_jsx_runtime66 = require("react/jsx-runtime");
8959
9007
  var positionClasses2 = {
8960
9008
  top: "bottom-full left-1/2 -translate-x-1/2 mb-2",
8961
9009
  bottom: "top-full left-1/2 -translate-x-1/2 mt-2",
@@ -8984,7 +9032,7 @@ function ITTooltip({
8984
9032
  clearTimeout(timeout);
8985
9033
  setVisible(false);
8986
9034
  };
8987
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
9035
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
8988
9036
  "div",
8989
9037
  {
8990
9038
  className: (0, import_clsx48.default)("relative inline-flex", className),
@@ -8992,9 +9040,9 @@ function ITTooltip({
8992
9040
  onMouseLeave: handleMouseLeave,
8993
9041
  children: [
8994
9042
  children,
8995
- visible && /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)("div", { className: (0, import_clsx48.default)("absolute z-[70] pointer-events-none", positionClasses2[position]), children: [
8996
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "bg-slate-800 dark:bg-slate-700 text-white text-xs rounded-lg px-2.5 py-1.5 whitespace-nowrap shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ITText, { as: "span", children: content }) }),
8997
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: (0, import_clsx48.default)("absolute", arrowClasses[position]) })
9043
+ visible && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: (0, import_clsx48.default)("absolute z-[70] pointer-events-none", positionClasses2[position]), children: [
9044
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "bg-slate-800 dark:bg-slate-700 text-white text-xs rounded-lg px-2.5 py-1.5 whitespace-nowrap shadow-lg", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ITText, { as: "span", children: content }) }),
9045
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: (0, import_clsx48.default)("absolute", arrowClasses[position]) })
8998
9046
  ] })
8999
9047
  ]
9000
9048
  }
@@ -9002,16 +9050,16 @@ function ITTooltip({
9002
9050
  }
9003
9051
 
9004
9052
  // src/components/molecules/wysiwyg/wysiwyg.tsx
9005
- var import_jsx_runtime66 = require("react/jsx-runtime");
9053
+ var import_jsx_runtime67 = require("react/jsx-runtime");
9006
9054
  var INLINE_TAGS = /* @__PURE__ */ new Set(["STRONG", "B", "EM", "I", "U", "MARK"]);
9007
9055
  var ACTION_META = {
9008
- bold: { label: "Negrita", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaBold, {}) },
9009
- italic: { label: "It\xE1lica", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaItalic, {}) },
9010
- underline: { label: "Subrayado", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaUnderline, {}) },
9011
- highlight: { label: "Marcador", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaHighlighter, {}) },
9012
- ul: { label: "Lista con vi\xF1etas", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaListUl, {}) },
9013
- ol: { label: "Lista numerada", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaListOl, {}) },
9014
- clear: { label: "Limpiar formato", icon: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_fa29.FaEraser, {}) }
9056
+ bold: { label: "Negrita", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaBold, {}) },
9057
+ italic: { label: "It\xE1lica", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaItalic, {}) },
9058
+ underline: { label: "Subrayado", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaUnderline, {}) },
9059
+ highlight: { label: "Marcador", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaHighlighter, {}) },
9060
+ ul: { label: "Lista con vi\xF1etas", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaListUl, {}) },
9061
+ ol: { label: "Lista numerada", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaListOl, {}) },
9062
+ clear: { label: "Limpiar formato", icon: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_fa29.FaEraser, {}) }
9015
9063
  };
9016
9064
  function ITWysiwyg({
9017
9065
  value,
@@ -9427,7 +9475,7 @@ function ITWysiwyg({
9427
9475
  }) => {
9428
9476
  const meta = ACTION_META[action];
9429
9477
  const isActive = !!active[action];
9430
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ITTooltip, { content: meta.label, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
9478
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITTooltip, { content: meta.label, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9431
9479
  "button",
9432
9480
  {
9433
9481
  type: "button",
@@ -9447,9 +9495,9 @@ function ITWysiwyg({
9447
9495
  }
9448
9496
  ) });
9449
9497
  };
9450
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: inputWrapper(className), children: [
9451
- label && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ITText, { as: "label", className: inputLabel(!!error), htmlFor: name, children: label }),
9452
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
9498
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: inputWrapper(className), children: [
9499
+ label && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "label", className: inputLabel(!!error), htmlFor: name, children: label }),
9500
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
9453
9501
  "div",
9454
9502
  {
9455
9503
  className: (0, import_clsx49.default)(
@@ -9458,20 +9506,20 @@ function ITWysiwyg({
9458
9506
  isLocked && "opacity-50 cursor-not-allowed bg-secondary-100 dark:bg-slate-800"
9459
9507
  ),
9460
9508
  children: [
9461
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
9509
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9462
9510
  "div",
9463
9511
  {
9464
9512
  className: (0, import_clsx49.default)(
9465
9513
  "flex flex-wrap items-center gap-0.5 px-1.5 py-1 border-b border-secondary-200 bg-secondary-50 dark:bg-slate-800",
9466
9514
  isLocked && "bg-secondary-100 dark:bg-slate-900"
9467
9515
  ),
9468
- children: toolbar.map((action, i) => /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("span", { className: "flex items-center", children: [
9469
- i > 0 && (action === "ul" || action === "ol" || action === "clear") && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("span", { className: "mx-1 h-4 w-px bg-secondary-200 dark:bg-slate-600" }),
9470
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ToolbarButton, { action })
9516
+ children: toolbar.map((action, i) => /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("span", { className: "flex items-center", children: [
9517
+ i > 0 && (action === "ul" || action === "ol" || action === "clear") && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("span", { className: "mx-1 h-4 w-px bg-secondary-200 dark:bg-slate-600" }),
9518
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ToolbarButton, { action })
9471
9519
  ] }, action))
9472
9520
  }
9473
9521
  ),
9474
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
9522
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9475
9523
  "div",
9476
9524
  {
9477
9525
  id: name,
@@ -9505,7 +9553,7 @@ function ITWysiwyg({
9505
9553
  ]
9506
9554
  }
9507
9555
  ),
9508
- error && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ITText, { as: "span", className: inputError, children: error })
9556
+ error && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "span", className: inputError, children: error })
9509
9557
  ] });
9510
9558
  }
9511
9559
 
@@ -9540,7 +9588,7 @@ var UploadStatus = /* @__PURE__ */ ((UploadStatus2) => {
9540
9588
  })(UploadStatus || {});
9541
9589
 
9542
9590
  // src/components/organisms/dropfile/dropfile.tsx
9543
- var import_jsx_runtime67 = require("react/jsx-runtime");
9591
+ var import_jsx_runtime68 = require("react/jsx-runtime");
9544
9592
  var ITDropfile = ({
9545
9593
  onFileSelect,
9546
9594
  onCancel,
@@ -9679,9 +9727,9 @@ var ITDropfile = ({
9679
9727
  }
9680
9728
  };
9681
9729
  const { label, color, dotColor } = config2[status];
9682
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: `inline-flex items-center gap-2 px-2.5 py-1 rounded-full border ${color}`, children: [
9683
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: `w-2 h-2 rounded-full ${dotColor}` }),
9684
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "span", className: "text-xs font-medium flex items-center gap-1.5", children: label })
9730
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: `inline-flex items-center gap-2 px-2.5 py-1 rounded-full border ${color}`, children: [
9731
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: `w-2 h-2 rounded-full ${dotColor}` }),
9732
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", className: "text-xs font-medium flex items-center gap-1.5", children: label })
9685
9733
  ] });
9686
9734
  };
9687
9735
  const onDrop = (acceptedFiles) => {
@@ -9772,18 +9820,18 @@ var ITDropfile = ({
9772
9820
  return () => clearTimeout(timeout);
9773
9821
  }
9774
9822
  }, [view, isConfirmed, uploadStatus, externalStatus, onStatusChange]);
9775
- const headerRow = /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
9776
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("label", { className: "block text-sm font-semibold text-secondary-700", children: [
9777
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "span", children: "Subir archivo " }),
9778
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(ITText, { as: "span", className: "text-secondary-400 font-normal text-xs", children: [
9823
+ const headerRow = /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
9824
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("label", { className: "block text-sm font-semibold text-secondary-700", children: [
9825
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", children: "Subir archivo " }),
9826
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(ITText, { as: "span", className: "text-secondary-400 font-normal text-xs", children: [
9779
9827
  "(",
9780
9828
  getFileExtensions(),
9781
9829
  ")"
9782
9830
  ] })
9783
9831
  ] }),
9784
- showStatusBadge && selectedFile && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(StatusBadge, { status: uploadStatus })
9832
+ showStatusBadge && selectedFile && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusBadge, { status: uploadStatus })
9785
9833
  ] });
9786
- const dropZoneOrPreview = /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_jsx_runtime67.Fragment, { children: !selectedFile && !imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
9834
+ const dropZoneOrPreview = /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_jsx_runtime68.Fragment, { children: !selectedFile && !imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
9787
9835
  "div",
9788
9836
  {
9789
9837
  ...getRootProps(),
@@ -9793,41 +9841,41 @@ var ITDropfile = ({
9793
9841
  ${isDragActive ? "border-primary-500 bg-primary-50 scale-[1.01]" : "border-secondary-300 bg-white hover:border-primary-400 hover:bg-secondary-50"}
9794
9842
  `,
9795
9843
  children: [
9796
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("input", { ...getInputProps() }),
9797
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: `mb-3 p-3 rounded-full transition-colors duration-300 ${isDragActive ? "bg-primary-100" : "bg-secondary-100 group-hover:bg-primary-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9844
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("input", { ...getInputProps() }),
9845
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: `mb-3 p-3 rounded-full transition-colors duration-300 ${isDragActive ? "bg-primary-100" : "bg-secondary-100 group-hover:bg-primary-50"}`, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9798
9846
  "svg",
9799
9847
  {
9800
9848
  className: `w-6 h-6 transition-colors duration-300 ${isDragActive ? "text-primary-600" : "text-secondary-400 group-hover:text-primary-500"}`,
9801
9849
  fill: "none",
9802
9850
  viewBox: "0 0 24 24",
9803
9851
  stroke: "currentColor",
9804
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12" })
9852
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12" })
9805
9853
  }
9806
9854
  ) }),
9807
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "text-center space-y-1", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "p", className: `text-sm font-medium transition-colors duration-300 ${isDragActive ? "text-primary-700" : "text-secondary-700"}`, children: isDragActive ? "\xA1Suelta aqu\xED!" : "Haz clic o arrastra" }) })
9855
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "text-center space-y-1", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "p", className: `text-sm font-medium transition-colors duration-300 ${isDragActive ? "text-primary-700" : "text-secondary-700"}`, children: isDragActive ? "\xA1Suelta aqu\xED!" : "Haz clic o arrastra" }) })
9808
9856
  ]
9809
9857
  }
9810
- ) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full bg-white border border-secondary-200 rounded-xl shadow-sm overflow-hidden animate-fade-in", children: [
9811
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex items-center justify-between p-3 bg-secondary-50 border-b border-secondary-100", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-3 overflow-hidden", children: [
9812
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "flex-shrink-0 w-8 h-8 rounded-lg bg-primary-100 flex items-center justify-center text-primary-600", children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }) }),
9813
- /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "min-w-0", children: [
9814
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "p", className: "text-xs font-medium text-secondary-900 truncate", title: selectedFile?.name || "Imagen cargada", children: selectedFile?.name || "Imagen cargada" }),
9815
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "p", className: "text-[10px] text-secondary-500", children: selectedFile ? (selectedFile.size / 1024 / 1024).toFixed(2) + " MB" : "" })
9858
+ ) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "w-full bg-white border border-secondary-200 rounded-xl shadow-sm overflow-hidden animate-fade-in", children: [
9859
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "flex items-center justify-between p-3 bg-secondary-50 border-b border-secondary-100", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-3 overflow-hidden", children: [
9860
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "flex-shrink-0 w-8 h-8 rounded-lg bg-primary-100 flex items-center justify-center text-primary-600", children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z" }) }) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) }) }),
9861
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "min-w-0", children: [
9862
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "p", className: "text-xs font-medium text-secondary-900 truncate", title: selectedFile?.name || "Imagen cargada", children: selectedFile?.name || "Imagen cargada" }),
9863
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "p", className: "text-[10px] text-secondary-500", children: selectedFile ? (selectedFile.size / 1024 / 1024).toFixed(2) + " MB" : "" })
9816
9864
  ] })
9817
9865
  ] }) }),
9818
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: (0, import_clsx50.default)("relative bg-secondary-100 flex items-center justify-center", !contentClassName ? "max-h-[200px] min-h-[100px] overflow-auto" : contentClassName), children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9866
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: (0, import_clsx50.default)("relative bg-secondary-100 flex items-center justify-center", !contentClassName ? "max-h-[200px] min-h-[100px] overflow-auto" : contentClassName), children: selectedFile && fileType?.startsWith("image/") || !selectedFile && imagePreview ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9819
9867
  "img",
9820
9868
  {
9821
9869
  src: imagePreview,
9822
9870
  alt: "Vista previa",
9823
9871
  className: "w-full h-full object-contain max-h-[200px]"
9824
9872
  }
9825
- ) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "py-8 flex flex-col items-center text-secondary-400", children: [
9826
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-10 h-10 mb-2 opacity-50", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z" }) }),
9827
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { as: "span", className: "text-xs", children: "Sin vista previa" })
9873
+ ) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "py-8 flex flex-col items-center text-secondary-400", children: [
9874
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-10 h-10 mb-2 opacity-50", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z" }) }),
9875
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", className: "text-xs", children: "Sin vista previa" })
9828
9876
  ] }) }),
9829
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "px-3 py-2 bg-white border-t border-secondary-100 flex justify-end gap-2", children: !isConfirmed ? /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_jsx_runtime67.Fragment, { children: [
9830
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9877
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "px-3 py-2 bg-white border-t border-secondary-100 flex justify-end gap-2", children: !isConfirmed ? /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
9878
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9831
9879
  ITButton,
9832
9880
  {
9833
9881
  type: "button",
@@ -9835,10 +9883,10 @@ var ITDropfile = ({
9835
9883
  color: "secondary",
9836
9884
  size: "sm",
9837
9885
  onClick: handleCancel,
9838
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { children: "Cancelar" })
9886
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { children: "Cancelar" })
9839
9887
  }
9840
9888
  ),
9841
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9889
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9842
9890
  ITButton,
9843
9891
  {
9844
9892
  type: "button",
@@ -9846,13 +9894,13 @@ var ITDropfile = ({
9846
9894
  color: "primary",
9847
9895
  size: "sm",
9848
9896
  onClick: handleConfirm,
9849
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-2", children: [
9850
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { children: "Confirmar" }),
9851
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) })
9897
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-2", children: [
9898
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { children: "Confirmar" }),
9899
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 13l4 4L19 7" }) })
9852
9900
  ] })
9853
9901
  }
9854
9902
  )
9855
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(
9903
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
9856
9904
  ITButton,
9857
9905
  {
9858
9906
  type: "button",
@@ -9861,12 +9909,12 @@ var ITDropfile = ({
9861
9909
  size: "sm",
9862
9910
  onClick: handleDelete,
9863
9911
  children: [
9864
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.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" }) }),
9865
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { children: "Eliminar" })
9912
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-3 h-3", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.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" }) }),
9913
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { children: "Eliminar" })
9866
9914
  ]
9867
9915
  }
9868
9916
  ) }),
9869
- uploadStatus === "subiendo" /* UPLOADING */ && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "px-4 pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "w-full bg-secondary-200 rounded-full h-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9917
+ uploadStatus === "subiendo" /* UPLOADING */ && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "px-4 pb-2", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "w-full bg-secondary-200 rounded-full h-1.5", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9870
9918
  "div",
9871
9919
  {
9872
9920
  className: "bg-primary-600 h-1.5 rounded-full transition-all duration-1000 ease-out",
@@ -9879,8 +9927,8 @@ var ITDropfile = ({
9879
9927
  ] }) });
9880
9928
  if (view === "button") {
9881
9929
  const hasFile = Boolean(selectedFile || imagePreview);
9882
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: (0, import_clsx50.default)("inline-block", containerClassName), children: [
9883
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
9930
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: (0, import_clsx50.default)("inline-block", containerClassName), children: [
9931
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9884
9932
  ITButton,
9885
9933
  {
9886
9934
  type: "button",
@@ -9888,20 +9936,20 @@ var ITDropfile = ({
9888
9936
  color: hasFile ? "primary" : "secondary",
9889
9937
  size: "sm",
9890
9938
  onClick: () => setIsModalOpen(true),
9891
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "flex items-center gap-2 max-w-[220px]", children: [
9892
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12" }) }),
9893
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITText, { className: "truncate", children: selectedFile?.name || (hasFile ? "Archivo cargado" : buttonLabel) }),
9894
- showStatusBadge && hasFile && /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(StatusBadge, { status: uploadStatus })
9939
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-2 max-w-[220px]", children: [
9940
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("svg", { className: "w-4 h-4 flex-shrink-0", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12" }) }),
9941
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { className: "truncate", children: selectedFile?.name || (hasFile ? "Archivo cargado" : buttonLabel) }),
9942
+ showStatusBadge && hasFile && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusBadge, { status: uploadStatus })
9895
9943
  ] })
9896
9944
  }
9897
9945
  ),
9898
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ITDialog, { isOpen: isModalOpen, onClose: () => setIsModalOpen(false), title: modalTitle ?? buttonLabel, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: "w-full transition-all duration-300", children: [
9946
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITDialog, { isOpen: isModalOpen, onClose: () => setIsModalOpen(false), title: modalTitle ?? buttonLabel, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "w-full transition-all duration-300", children: [
9899
9947
  headerRow,
9900
9948
  dropZoneOrPreview
9901
9949
  ] }) })
9902
9950
  ] });
9903
9951
  }
9904
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("div", { className: (0, import_clsx50.default)("w-full transition-all duration-300", containerClassName), children: [
9952
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: (0, import_clsx50.default)("w-full transition-all duration-300", containerClassName), children: [
9905
9953
  headerRow,
9906
9954
  dropZoneOrPreview
9907
9955
  ] });
@@ -9915,7 +9963,7 @@ var import_clsx51 = __toESM(require("clsx"), 1);
9915
9963
  // src/components/organisms/topbar/topbar.tsx
9916
9964
  var import_fa30 = require("react-icons/fa");
9917
9965
  var import_react43 = require("react");
9918
- var import_jsx_runtime68 = require("react/jsx-runtime");
9966
+ var import_jsx_runtime69 = require("react/jsx-runtime");
9919
9967
  function ITTopBar({
9920
9968
  logo,
9921
9969
  logoText,
@@ -9930,7 +9978,7 @@ function ITTopBar({
9930
9978
  const [isUserMenuOpen, setIsUserMenuOpen] = (0, import_react43.useState)(false);
9931
9979
  const userMenuRef = (0, import_react43.useRef)(null);
9932
9980
  useClickOutside_default(userMenuRef, () => setIsUserMenuOpen(false));
9933
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9981
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
9934
9982
  "header",
9935
9983
  {
9936
9984
  className: "sticky top-0 z-40 backdrop-blur-md transition-all duration-300",
@@ -9939,9 +9987,9 @@ function ITTopBar({
9939
9987
  borderBottom: "1px solid var(--it-topbar-border, rgba(15, 23, 42, 0.06))",
9940
9988
  boxShadow: "var(--shadow-xs)"
9941
9989
  },
9942
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center justify-between h-[72px] px-6 lg:px-8", children: [
9943
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-5", children: [
9944
- showMobileMenuButton && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
9990
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center justify-between h-[72px] px-6 lg:px-8", children: [
9991
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-5", children: [
9992
+ showMobileMenuButton && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
9945
9993
  "button",
9946
9994
  {
9947
9995
  className: "lg:hidden p-2.5 rounded-xl transition-colors duration-200",
@@ -9951,12 +9999,12 @@ function ITTopBar({
9951
9999
  onMouseEnter: (e) => e.currentTarget.style.backgroundColor = "var(--it-topbar-user-hover, #f1f5f9)",
9952
10000
  onMouseLeave: (e) => e.currentTarget.style.backgroundColor = "transparent",
9953
10001
  onClick: onToggleMobileMenu,
9954
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_fa30.FaBars, { className: "w-[1.125rem] h-[1.125rem]" })
10002
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_fa30.FaBars, { className: "w-[1.125rem] h-[1.125rem]" })
9955
10003
  }
9956
10004
  ),
9957
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-3", children: [
9958
- logo && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "flex-shrink-0 drop-shadow-sm", children: logo }),
9959
- logoText && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10005
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-3", children: [
10006
+ logo && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "flex-shrink-0 drop-shadow-sm", children: logo }),
10007
+ logoText && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
9960
10008
  ITText,
9961
10009
  {
9962
10010
  as: "span",
@@ -9966,7 +10014,7 @@ function ITTopBar({
9966
10014
  }
9967
10015
  )
9968
10016
  ] }),
9969
- navItems && navItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("nav", { className: "hidden md:flex ml-8 space-x-1 border-l pl-8", style: { borderColor: "var(--it-topbar-border, rgba(15, 23, 42, 0.06))" }, children: navItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10017
+ navItems && navItems.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("nav", { className: "hidden md:flex ml-8 space-x-1 border-l pl-8", style: { borderColor: "var(--it-topbar-border, rgba(15, 23, 42, 0.06))" }, children: navItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
9970
10018
  "button",
9971
10019
  {
9972
10020
  onClick: () => onNavItemClick?.(item.id),
@@ -9980,19 +10028,19 @@ function ITTopBar({
9980
10028
  e.currentTarget.style.color = "var(--it-topbar-text, #475569)";
9981
10029
  e.currentTarget.style.backgroundColor = "transparent";
9982
10030
  },
9983
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-2", children: [
9984
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("span", { className: "opacity-70", children: item.icon }),
9985
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", children: item.label })
10031
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-2", children: [
10032
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "opacity-70", children: item.icon }),
10033
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ITText, { as: "span", children: item.label })
9986
10034
  ] })
9987
10035
  },
9988
10036
  item.id
9989
10037
  )) })
9990
10038
  ] }),
9991
- centerContent && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "hidden lg:flex flex-1 min-w-0 items-center justify-center px-4", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "w-full max-w-[420px]", children: centerContent }) }),
9992
- (children || userMenu) && /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex items-center gap-2", children: [
10039
+ centerContent && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "hidden lg:flex flex-1 min-w-0 items-center justify-center px-4", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "w-full max-w-[420px]", children: centerContent }) }),
10040
+ (children || userMenu) && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "flex items-center gap-2", children: [
9993
10041
  children,
9994
- userMenu && /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "relative", children: [
9995
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
10042
+ userMenu && /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "relative", children: [
10043
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
9996
10044
  "button",
9997
10045
  {
9998
10046
  type: "button",
@@ -10008,19 +10056,19 @@ function ITTopBar({
10008
10056
  },
10009
10057
  onClick: () => setIsUserMenuOpen(!isUserMenuOpen),
10010
10058
  children: [
10011
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "relative", children: [
10012
- userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10059
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "relative", children: [
10060
+ userMenu.userImage ? /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10013
10061
  "img",
10014
10062
  {
10015
10063
  className: "w-9 h-9 rounded-full object-cover ring-2 ring-white shadow-sm",
10016
10064
  src: userMenu.userImage,
10017
10065
  alt: "Current user"
10018
10066
  }
10019
- ) : /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "w-9 h-9 rounded-full bg-slate-100 flex items-center justify-center ring-2 ring-white shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_fa30.FaUserCircle, { className: "w-6 h-6", style: { color: "var(--it-topbar-icon, #94a3b8)" } }) }),
10020
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "absolute bottom-0 right-0 w-2.5 h-2.5 bg-green-500 border-2 border-white rounded-full" })
10067
+ ) : /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "w-9 h-9 rounded-full bg-slate-100 flex items-center justify-center ring-2 ring-white shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_fa30.FaUserCircle, { className: "w-6 h-6", style: { color: "var(--it-topbar-icon, #94a3b8)" } }) }),
10068
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "absolute bottom-0 right-0 w-2.5 h-2.5 bg-green-500 border-2 border-white rounded-full" })
10021
10069
  ] }),
10022
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "hidden sm:flex flex-col text-left py-0.5", children: [
10023
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10070
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "hidden sm:flex flex-col text-left py-0.5", children: [
10071
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10024
10072
  ITText,
10025
10073
  {
10026
10074
  as: "span",
@@ -10029,7 +10077,7 @@ function ITTopBar({
10029
10077
  children: userMenu.userName
10030
10078
  }
10031
10079
  ),
10032
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10080
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10033
10081
  ITText,
10034
10082
  {
10035
10083
  as: "span",
@@ -10042,7 +10090,7 @@ function ITTopBar({
10042
10090
  ]
10043
10091
  }
10044
10092
  ),
10045
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
10093
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
10046
10094
  "div",
10047
10095
  {
10048
10096
  ref: userMenuRef,
@@ -10055,15 +10103,15 @@ function ITTopBar({
10055
10103
  border: "1px solid var(--it-topbar-user-dropdown-border, #f1f5f9)"
10056
10104
  },
10057
10105
  children: [
10058
- /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "px-5 py-4 border-b", style: { borderColor: "var(--it-topbar-user-dropdown-border, #f1f5f9)", backgroundColor: "var(--it-topbar-user-bg, #f8fafc)" }, children: [
10059
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", className: "block font-bold text-[0.9rem]", style: { color: "var(--it-topbar-user-text, #0f172a)" }, children: userMenu.userName }),
10060
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", className: "block text-xs font-medium truncate mt-0.5", style: { color: "var(--it-topbar-user-subtitle, #64748b)" }, children: userMenu.userEmail })
10106
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "px-5 py-4 border-b", style: { borderColor: "var(--it-topbar-user-dropdown-border, #f1f5f9)", backgroundColor: "var(--it-topbar-user-bg, #f8fafc)" }, children: [
10107
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ITText, { as: "span", className: "block font-bold text-[0.9rem]", style: { color: "var(--it-topbar-user-text, #0f172a)" }, children: userMenu.userName }),
10108
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ITText, { as: "span", className: "block text-xs font-medium truncate mt-0.5", style: { color: "var(--it-topbar-user-subtitle, #64748b)" }, children: userMenu.userEmail })
10061
10109
  ] }),
10062
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("ul", { className: "py-2", children: userMenu.menuItems.map((m, i) => {
10110
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("ul", { className: "py-2", children: userMenu.menuItems.map((m, i) => {
10063
10111
  const isDestructive = m.label.toLowerCase().includes("salir") || m.label.toLowerCase().includes("cerrar") || m.label.toLowerCase().includes("logout");
10064
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("li", { className: "px-2", children: [
10065
- i === userMenu.menuItems.length - 1 && isDestructive && i > 0 && /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "h-px bg-slate-100 my-1 mx-2" }),
10066
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
10112
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("li", { className: "px-2", children: [
10113
+ i === userMenu.menuItems.length - 1 && isDestructive && i > 0 && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "h-px bg-slate-100 my-1 mx-2" }),
10114
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10067
10115
  "button",
10068
10116
  {
10069
10117
  onClick: () => {
@@ -10078,7 +10126,7 @@ function ITTopBar({
10078
10126
  onMouseLeave: (e) => {
10079
10127
  e.currentTarget.style.backgroundColor = "transparent";
10080
10128
  },
10081
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ITText, { as: "span", children: m.label })
10129
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ITText, { as: "span", children: m.label })
10082
10130
  }
10083
10131
  )
10084
10132
  ] }, i);
@@ -10094,7 +10142,7 @@ function ITTopBar({
10094
10142
  }
10095
10143
 
10096
10144
  // src/components/templates/layout/layout.tsx
10097
- var import_jsx_runtime69 = require("react/jsx-runtime");
10145
+ var import_jsx_runtime70 = require("react/jsx-runtime");
10098
10146
  function ITLayout({
10099
10147
  topBar,
10100
10148
  sidebar,
@@ -10109,8 +10157,8 @@ function ITLayout({
10109
10157
  const handleToggleCollapse = isControlled ? sidebar.onToggleCollapse ?? (() => {
10110
10158
  }) : () => setInternalCollapsed((v) => !v);
10111
10159
  const layoutTokens = theme.layout;
10112
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: `flex flex-col h-screen overflow-hidden w-full ${className}`, children: [
10113
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10160
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: `flex flex-col h-screen overflow-hidden w-full ${className}`, children: [
10161
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10114
10162
  ITTopBar,
10115
10163
  {
10116
10164
  ...topBar,
@@ -10118,20 +10166,20 @@ function ITLayout({
10118
10166
  onToggleMobileMenu: () => setMobileSidebarOpen((v) => !v)
10119
10167
  }
10120
10168
  ),
10121
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
10169
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(
10122
10170
  "div",
10123
10171
  {
10124
10172
  className: "flex flex-1 overflow-hidden relative",
10125
10173
  style: { backgroundColor: layoutTokens.backgroundColor },
10126
10174
  children: [
10127
- /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "hidden lg:block relative z-40 h-full", children: [
10128
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10175
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "hidden lg:block relative z-40 h-full", children: [
10176
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10129
10177
  "div",
10130
10178
  {
10131
10179
  className: `${desktopCollapsed ? "w-[88px]" : "w-[280px]"} h-full flex-shrink-0`
10132
10180
  }
10133
10181
  ),
10134
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "absolute top-0 left-0 h-full", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10182
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "absolute top-0 left-0 h-full", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10135
10183
  ITSidebar,
10136
10184
  {
10137
10185
  ...sidebar,
@@ -10142,17 +10190,17 @@ function ITLayout({
10142
10190
  }
10143
10191
  ) })
10144
10192
  ] }),
10145
- mobileSidebarOpen && /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10193
+ mobileSidebarOpen && /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10146
10194
  "div",
10147
10195
  {
10148
10196
  className: "lg:hidden fixed inset-0 z-[40] transition-opacity duration-300 backdrop-blur-sm bg-black/40",
10149
10197
  onClick: () => setMobileSidebarOpen(false),
10150
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10198
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10151
10199
  "div",
10152
10200
  {
10153
10201
  className: "h-full w-fit flex transform transition-transform duration-300 ease-[cubic-bezier(0.2,0,0,1)]",
10154
10202
  onClick: (e) => e.stopPropagation(),
10155
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
10203
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10156
10204
  ITSidebar,
10157
10205
  {
10158
10206
  ...sidebar,
@@ -10168,7 +10216,7 @@ function ITLayout({
10168
10216
  )
10169
10217
  }
10170
10218
  ),
10171
- /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("main", { className: "flex-1 overflow-y-auto w-full custom-scrollbar relative z-0", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: (0, import_clsx51.default)("mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8 py-6 h-full", contentClassName), children }) })
10219
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("main", { className: "flex-1 overflow-y-auto w-full custom-scrollbar relative z-0", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: (0, import_clsx51.default)("mx-auto w-full max-w-7xl px-4 sm:px-6 lg:px-8 py-6 h-full", contentClassName), children }) })
10172
10220
  ]
10173
10221
  }
10174
10222
  )
@@ -10184,7 +10232,7 @@ var sizeClasses = {
10184
10232
  };
10185
10233
 
10186
10234
  // src/components/atoms/loader/loader.tsx
10187
- var import_jsx_runtime70 = require("react/jsx-runtime");
10235
+ var import_jsx_runtime71 = require("react/jsx-runtime");
10188
10236
  function ITLoader({
10189
10237
  size = "md",
10190
10238
  variant = "spinner",
@@ -10199,22 +10247,22 @@ function ITLoader({
10199
10247
  const bgStyle = isCssValue ? { backgroundColor: resolvedColor } : {};
10200
10248
  const colorClass = !isCssValue ? color : "";
10201
10249
  if (variant === "spinner") {
10202
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10250
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10203
10251
  "div",
10204
10252
  {
10205
10253
  className: `inline-block ${sizeClasses[size]} animate-spin rounded-full border-2 border-solid border-current border-r-transparent align-[-0.125em] motion-reduce:animate-[spin_1.5s_linear_infinite] ${colorClass} ${className}`,
10206
10254
  role: "status",
10207
10255
  style,
10208
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ITText, { as: "span", className: "!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]", children: "Loading..." })
10256
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ITText, { as: "span", className: "!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]", children: "Loading..." })
10209
10257
  }
10210
10258
  );
10211
10259
  }
10212
10260
  if (variant === "dots") {
10213
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10261
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10214
10262
  "div",
10215
10263
  {
10216
10264
  className: `flex items-center justify-center space-x-2 ${className}`,
10217
- children: [...Array(3)].map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10265
+ children: [...Array(3)].map((_, i) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10218
10266
  "div",
10219
10267
  {
10220
10268
  className: `${sizeClasses[size.replace(/l|g/, "")]} animate-bounce rounded-full ${colorClass}`,
@@ -10229,11 +10277,11 @@ function ITLoader({
10229
10277
  );
10230
10278
  }
10231
10279
  if (variant === "bar") {
10232
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10280
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10233
10281
  "div",
10234
10282
  {
10235
10283
  className: `w-full ${size === "sm" ? "h-1" : size === "md" ? "h-1.5" : size === "lg" ? "h-2" : "h-2.5"} bg-secondary-200 rounded-full overflow-hidden ${className}`,
10236
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10284
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10237
10285
  "div",
10238
10286
  {
10239
10287
  className: `h-full animate-progress ${colorClass}`,
@@ -10249,7 +10297,7 @@ function ITLoader({
10249
10297
  );
10250
10298
  }
10251
10299
  if (variant === "pulse") {
10252
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
10300
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10253
10301
  "div",
10254
10302
  {
10255
10303
  className: `rounded-full ${sizeClasses[size]} animate-pulse ${colorClass} ${className}`,
@@ -10264,7 +10312,7 @@ function ITLoader({
10264
10312
  var import_clsx52 = __toESM(require("clsx"), 1);
10265
10313
  var import_react45 = require("react");
10266
10314
  var import_fa31 = require("react-icons/fa");
10267
- var import_jsx_runtime71 = require("react/jsx-runtime");
10315
+ var import_jsx_runtime72 = require("react/jsx-runtime");
10268
10316
  function ITStepper({
10269
10317
  steps,
10270
10318
  currentStep,
@@ -10331,23 +10379,23 @@ function ITStepper({
10331
10379
  const renderStepContent = (index, isCompleted) => {
10332
10380
  const step = steps[index];
10333
10381
  if (isCompleted) {
10334
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_fa31.FaCheck, { className: "w-4 h-4" });
10382
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_fa31.FaCheck, { className: "w-4 h-4" });
10335
10383
  }
10336
10384
  if (step.icon && useIcons) {
10337
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "flex items-center justify-center w-5 h-5", children: step.icon });
10385
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex items-center justify-center w-5 h-5", children: step.icon });
10338
10386
  }
10339
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ITText, { as: "span", className: "text-sm font-semibold", children: index + 1 });
10387
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-sm font-semibold", children: index + 1 });
10340
10388
  };
10341
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: (0, import_clsx52.default)("w-full max-w-5xl mx-auto px-4", containerClassName), children: [
10342
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "relative mb-8", children: [
10343
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10389
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: (0, import_clsx52.default)("w-full max-w-5xl mx-auto px-4", containerClassName), children: [
10390
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "relative mb-8", children: [
10391
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10344
10392
  "div",
10345
10393
  {
10346
10394
  className: "absolute left-6 right-6 top-5 h-1 bg-secondary-200 rounded-full z-0",
10347
10395
  "aria-hidden": true
10348
10396
  }
10349
10397
  ),
10350
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10398
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10351
10399
  "div",
10352
10400
  {
10353
10401
  ref: progressRef,
@@ -10355,11 +10403,11 @@ function ITStepper({
10355
10403
  "aria-hidden": true
10356
10404
  }
10357
10405
  ),
10358
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("div", { className: "flex items-start justify-between space-x-2 relative z-20", children: steps.map((step, idx) => {
10406
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex items-start justify-between space-x-2 relative z-20", children: steps.map((step, idx) => {
10359
10407
  const isActive = idx === currentStep;
10360
10408
  const isCompleted = idx < currentStep;
10361
10409
  const hasIcon = step.icon && useIcons;
10362
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10410
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10363
10411
  "button",
10364
10412
  {
10365
10413
  type: "button",
@@ -10369,8 +10417,8 @@ function ITStepper({
10369
10417
  "aria-label": `Paso ${idx + 1} ${step.label}`,
10370
10418
  className: "flex-1 group",
10371
10419
  title: step.label,
10372
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex flex-col items-center", children: [
10373
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10420
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex flex-col items-center", children: [
10421
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10374
10422
  "div",
10375
10423
  {
10376
10424
  className: (0, import_clsx52.default)(
@@ -10384,7 +10432,7 @@ function ITStepper({
10384
10432
  children: renderStepContent(idx, isCompleted)
10385
10433
  }
10386
10434
  ),
10387
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10435
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10388
10436
  ITText,
10389
10437
  {
10390
10438
  as: "span",
@@ -10402,7 +10450,7 @@ function ITStepper({
10402
10450
  );
10403
10451
  }) })
10404
10452
  ] }),
10405
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10453
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10406
10454
  "div",
10407
10455
  {
10408
10456
  ref: contentRef,
@@ -10418,37 +10466,37 @@ function ITStepper({
10418
10466
  children: steps[currentStep].content
10419
10467
  }
10420
10468
  ),
10421
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex justify-between items-center mt-6", children: [
10422
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10469
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex justify-between items-center mt-6", children: [
10470
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10423
10471
  ITButton,
10424
10472
  {
10425
10473
  variant: "outlined",
10426
10474
  color: "secondary",
10427
10475
  disabled: currentStep === 0,
10428
10476
  onClick: prevStep,
10429
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-2", children: [
10430
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_fa31.FaChevronLeft, {}),
10431
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ITText, { as: "span", children: "Atr\xE1s" })
10477
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-2", children: [
10478
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_fa31.FaChevronLeft, {}),
10479
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", children: "Atr\xE1s" })
10432
10480
  ] })
10433
10481
  }
10434
10482
  ),
10435
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-3", children: [
10436
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(ITText, { as: "div", className: "text-sm text-secondary-500 mr-2 hidden sm:block", children: [
10483
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-3", children: [
10484
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(ITText, { as: "div", className: "text-sm text-secondary-500 mr-2 hidden sm:block", children: [
10437
10485
  "Paso ",
10438
10486
  currentStep + 1,
10439
10487
  " de ",
10440
10488
  steps.length
10441
10489
  ] }),
10442
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
10490
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
10443
10491
  ITButton,
10444
10492
  {
10445
10493
  variant: "solid",
10446
10494
  color,
10447
10495
  disabled: disableNext,
10448
10496
  onClick: nextStep,
10449
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)("div", { className: "flex items-center gap-2", children: [
10450
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ITText, { as: "span", children: currentStep === steps.length - 1 ? "Finalizar" : "Siguiente" }),
10451
- currentStep === steps.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_fa31.FaCheck, {}) : /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_fa31.FaChevronRight, {})
10497
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-2", children: [
10498
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", children: currentStep === steps.length - 1 ? "Finalizar" : "Siguiente" }),
10499
+ currentStep === steps.length - 1 ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_fa31.FaCheck, {}) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_fa31.FaChevronRight, {})
10452
10500
  ] })
10453
10501
  }
10454
10502
  )
@@ -10636,7 +10684,7 @@ var PRESETS = [
10636
10684
  ];
10637
10685
 
10638
10686
  // src/components/theme-provider/themeProvider.tsx
10639
- var import_jsx_runtime72 = require("react/jsx-runtime");
10687
+ var import_jsx_runtime73 = require("react/jsx-runtime");
10640
10688
  var STORAGE_KEY = "it-theme-palette";
10641
10689
  var SHADOW_LEVELS = {
10642
10690
  0: {
@@ -12027,14 +12075,14 @@ function ITThemeProvider({
12027
12075
  const isNested = colorKey.includes(".");
12028
12076
  const label = isNested ? colorKey.split(".")[1] : colorKey;
12029
12077
  const value = getNestedValue3(palette2, colorKey);
12030
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
12078
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
12031
12079
  "div",
12032
12080
  {
12033
12081
  className: "flex items-center justify-between p-3 rounded-xl border border-slate-100 dark:border-slate-800 bg-white dark:bg-slate-900/50 gap-3 hover:border-slate-200 dark:hover:border-slate-700 transition-colors",
12034
12082
  children: [
12035
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
12036
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "relative w-10 h-10 rounded-xl border-2 border-slate-200 dark:border-slate-700 overflow-hidden cursor-pointer flex-shrink-0 shadow-sm hover:scale-105 transition-transform", children: [
12037
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12083
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-3 flex-1 min-w-0", children: [
12084
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "relative w-10 h-10 rounded-xl border-2 border-slate-200 dark:border-slate-700 overflow-hidden cursor-pointer flex-shrink-0 shadow-sm hover:scale-105 transition-transform", children: [
12085
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12038
12086
  "input",
12039
12087
  {
12040
12088
  type: "color",
@@ -12043,23 +12091,23 @@ function ITThemeProvider({
12043
12091
  className: "absolute inset-0 opacity-0 cursor-pointer w-full h-full"
12044
12092
  }
12045
12093
  ),
12046
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "w-full h-full", style: { backgroundColor: value } })
12094
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "w-full h-full", style: { backgroundColor: value } })
12047
12095
  ] }),
12048
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex flex-col min-w-0", children: [
12049
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-xs font-bold text-slate-700 dark:text-slate-300 truncate capitalize", children: label.replace(/([A-Z])/g, " $1").trim() }),
12050
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center gap-2 mt-0.5", children: [
12051
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12096
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-col min-w-0", children: [
12097
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "text-xs font-bold text-slate-700 dark:text-slate-300 truncate capitalize", children: label.replace(/([A-Z])/g, " $1").trim() }),
12098
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center gap-2 mt-0.5", children: [
12099
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12052
12100
  "span",
12053
12101
  {
12054
12102
  className: "w-3 h-3 rounded-full border border-slate-200 dark:border-slate-600",
12055
12103
  style: { backgroundColor: value }
12056
12104
  }
12057
12105
  ),
12058
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "font-mono text-[11px] text-slate-400", children: value })
12106
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "font-mono text-[11px] text-slate-400", children: value })
12059
12107
  ] })
12060
12108
  ] })
12061
12109
  ] }),
12062
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12110
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12063
12111
  "input",
12064
12112
  {
12065
12113
  type: "text",
@@ -12078,14 +12126,14 @@ function ITThemeProvider({
12078
12126
  isCustom
12079
12127
  }) => {
12080
12128
  const isSelected = JSON.stringify(preset.colors) === JSON.stringify(palette2);
12081
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
12129
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
12082
12130
  "button",
12083
12131
  {
12084
12132
  type: "button",
12085
12133
  onClick: () => applyPreset(preset.colors),
12086
12134
  className: `relative flex flex-col items-start p-2.5 rounded-xl border text-left transition-all group ${isSelected ? "border-primary-500 bg-primary-500/5 shadow-sm ring-1 ring-primary-500/20" : "border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900/50 hover:border-slate-300 dark:hover:border-slate-600"}`,
12087
12135
  children: [
12088
- isCustom && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12136
+ isCustom && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12089
12137
  "span",
12090
12138
  {
12091
12139
  onClick: (e) => {
@@ -12094,11 +12142,11 @@ function ITThemeProvider({
12094
12142
  },
12095
12143
  className: "absolute top-1.5 right-1.5 opacity-0 group-hover:opacity-100 p-0.5 rounded-md hover:bg-danger-500/10 hover:text-danger-500 text-slate-400 dark:text-slate-500 cursor-pointer transition-all z-10",
12096
12144
  title: "Eliminar",
12097
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_md3.MdClose, { size: 12 })
12145
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_md3.MdClose, { size: 12 })
12098
12146
  }
12099
12147
  ),
12100
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-xs font-semibold truncate w-full mb-1.5 pr-4 text-slate-700 dark:text-slate-300", children: preset.name }),
12101
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex gap-1", children: ["primary", "secondary", "ternary", "success"].map((c) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12148
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "text-xs font-semibold truncate w-full mb-1.5 pr-4 text-slate-700 dark:text-slate-300", children: preset.name }),
12149
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex gap-1", children: ["primary", "secondary", "ternary", "success"].map((c) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12102
12150
  "span",
12103
12151
  {
12104
12152
  className: "w-3 h-3 rounded-full border border-black/10",
@@ -12110,7 +12158,7 @@ function ITThemeProvider({
12110
12158
  }
12111
12159
  );
12112
12160
  };
12113
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
12161
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
12114
12162
  ITThemeContext.Provider,
12115
12163
  {
12116
12164
  value: {
@@ -12126,28 +12174,28 @@ function ITThemeProvider({
12126
12174
  },
12127
12175
  children: [
12128
12176
  children,
12129
- showFab && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12177
+ showFab && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12130
12178
  "button",
12131
12179
  {
12132
12180
  onClick: () => setIsOpen((prev) => !prev),
12133
12181
  className: "it-theme-fab it-theme-bounce",
12134
12182
  style: { backgroundColor: "var(--color-primary)" },
12135
12183
  "aria-label": "Configurar Paleta de Colores",
12136
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_md3.MdPalette, { size: 28 })
12184
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_md3.MdPalette, { size: 28 })
12137
12185
  }
12138
12186
  ),
12139
- showFab && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12187
+ showFab && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12140
12188
  ITDialog,
12141
12189
  {
12142
12190
  isOpen,
12143
12191
  onClose: () => setIsOpen(false),
12144
12192
  title: "Dise\xF1ador de Temas",
12145
12193
  useFormHeader: true,
12146
- children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex gap-6 h-[580px]", children: [
12147
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "w-64 flex-shrink-0 flex flex-col gap-5 overflow-y-auto pr-1", children: [
12148
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { children: [
12149
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 block", children: "Apariencia" }),
12150
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12194
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-6 h-[580px]", children: [
12195
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "w-64 flex-shrink-0 flex flex-col gap-5 overflow-y-auto pr-1", children: [
12196
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { children: [
12197
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 block", children: "Apariencia" }),
12198
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12151
12199
  ITSegmentedControl,
12152
12200
  {
12153
12201
  options: [
@@ -12161,16 +12209,16 @@ function ITThemeProvider({
12161
12209
  }
12162
12210
  )
12163
12211
  ] }),
12164
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { children: [
12165
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex items-center justify-between mb-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500", children: "Presets" }) }),
12166
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "grid grid-cols-2 gap-2", children: PRESETS.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(PresetCard, { preset }, preset.name)) })
12212
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { children: [
12213
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex items-center justify-between mb-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500", children: "Presets" }) }),
12214
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "grid grid-cols-2 gap-2", children: PRESETS.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(PresetCard, { preset }, preset.name)) })
12167
12215
  ] }),
12168
- customPresets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { children: [
12169
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 block", children: "Mis Temas" }),
12170
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "flex flex-col gap-1.5", children: customPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(PresetCard, { preset, isCustom: true }, preset.name)) })
12216
+ customPresets.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { children: [
12217
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "span", className: "text-[11px] font-bold uppercase tracking-wider text-slate-400 dark:text-slate-500 mb-2.5 block", children: "Mis Temas" }),
12218
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "flex flex-col gap-1.5", children: customPresets.map((preset) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(PresetCard, { preset, isCustom: true }, preset.name)) })
12171
12219
  ] }),
12172
- isSavingPreset && /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex flex-col gap-2 p-3 rounded-xl border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900/50", children: [
12173
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12220
+ isSavingPreset && /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex flex-col gap-2 p-3 rounded-xl border border-slate-200 dark:border-slate-700 bg-white dark:bg-slate-900/50", children: [
12221
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12174
12222
  ITInput,
12175
12223
  {
12176
12224
  name: "presetName",
@@ -12188,8 +12236,8 @@ function ITThemeProvider({
12188
12236
  }
12189
12237
  }
12190
12238
  ),
12191
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex gap-2", children: [
12192
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12239
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex gap-2", children: [
12240
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12193
12241
  ITButton,
12194
12242
  {
12195
12243
  label: "Guardar",
@@ -12200,7 +12248,7 @@ function ITThemeProvider({
12200
12248
  className: "flex-1"
12201
12249
  }
12202
12250
  ),
12203
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12251
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12204
12252
  ITButton,
12205
12253
  {
12206
12254
  label: "X",
@@ -12214,31 +12262,31 @@ function ITThemeProvider({
12214
12262
  )
12215
12263
  ] })
12216
12264
  ] }),
12217
- !isSavingPreset && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12265
+ !isSavingPreset && /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12218
12266
  ITButton,
12219
12267
  {
12220
12268
  variant: "outlined",
12221
- icon: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_md3.MdPalette, { size: 14 }),
12269
+ icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_md3.MdPalette, { size: 14 }),
12222
12270
  label: "Guardar actual",
12223
12271
  onClick: () => setIsSavingPreset(true),
12224
12272
  size: "sm"
12225
12273
  }
12226
12274
  ),
12227
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12275
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12228
12276
  ITButton,
12229
12277
  {
12230
12278
  variant: "outlined",
12231
12279
  color: "danger",
12232
- icon: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_md3.MdRefresh, { size: 14 }),
12280
+ icon: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_md3.MdRefresh, { size: 14 }),
12233
12281
  label: "Restaurar default",
12234
12282
  onClick: resetTheme,
12235
12283
  size: "sm"
12236
12284
  }
12237
12285
  )
12238
12286
  ] }),
12239
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITDivider, { orientation: "vertical" }),
12240
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex-1 flex flex-col min-w-0", children: [
12241
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12287
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITDivider, { orientation: "vertical" }),
12288
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex-1 flex flex-col min-w-0", children: [
12289
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12242
12290
  tabs_default,
12243
12291
  {
12244
12292
  variant: "pill",
@@ -12246,7 +12294,7 @@ function ITThemeProvider({
12246
12294
  {
12247
12295
  id: "brand",
12248
12296
  label: "Marca",
12249
- content: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12297
+ content: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12250
12298
  "primary",
12251
12299
  "secondary",
12252
12300
  "ternary",
@@ -12255,35 +12303,35 @@ function ITThemeProvider({
12255
12303
  "info",
12256
12304
  "alert",
12257
12305
  "warning"
12258
- ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ColorRow, { colorKey: key }, key)) })
12306
+ ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ColorRow, { colorKey: key }, key)) })
12259
12307
  },
12260
12308
  {
12261
12309
  id: "layout",
12262
12310
  label: "Nav & Sidebar",
12263
- content: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12311
+ content: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12264
12312
  "layout.sidebarBg",
12265
12313
  "layout.sidebarText",
12266
12314
  "layout.navbarBg",
12267
12315
  "layout.navbarText"
12268
- ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ColorRow, { colorKey: key }, key)) })
12316
+ ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ColorRow, { colorKey: key }, key)) })
12269
12317
  },
12270
12318
  {
12271
12319
  id: "tables",
12272
12320
  label: "Tablas",
12273
- content: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12321
+ content: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 gap-3 max-h-[480px] overflow-y-auto pr-2 mt-3", children: [
12274
12322
  "table.headerBg",
12275
12323
  "table.headerText",
12276
12324
  "table.rowBg",
12277
12325
  "table.rowText",
12278
12326
  "table.rowHover"
12279
- ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ColorRow, { colorKey: key }, key)) })
12327
+ ].map((key) => /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ColorRow, { colorKey: key }, key)) })
12280
12328
  }
12281
12329
  ]
12282
12330
  }
12283
12331
  ),
12284
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "flex items-center justify-end gap-3 mt-auto pt-4 border-t border-slate-100 dark:border-slate-800", children: [
12285
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ITText, { as: "p", className: "text-[11px] text-slate-400 mr-auto", children: "Los cambios se guardan autom\xE1ticamente" }),
12286
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
12332
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)("div", { className: "flex items-center justify-end gap-3 mt-auto pt-4 border-t border-slate-100 dark:border-slate-800", children: [
12333
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(ITText, { as: "p", className: "text-[11px] text-slate-400 mr-auto", children: "Los cambios se guardan autom\xE1ticamente" }),
12334
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
12287
12335
  ITButton,
12288
12336
  {
12289
12337
  label: "Cerrar",
@@ -12342,6 +12390,7 @@ var createValidationSchema = (fields) => Yup.object().shape(
12342
12390
  ITGrid,
12343
12391
  ITImage,
12344
12392
  ITInput,
12393
+ ITInputNumber,
12345
12394
  ITLayout,
12346
12395
  ITLoader,
12347
12396
  ITMaskedInput,