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