lizaui 10.0.80 → 10.0.82
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/components/table/context/table.context.d.ts.map +1 -1
- package/dist/components/table/interface/table.interface.d.ts +2 -0
- package/dist/components/table/interface/table.interface.d.ts.map +1 -1
- package/dist/components/table/table.d.ts +2 -2
- package/dist/components/table/table.d.ts.map +1 -1
- package/dist/lizaui.css +6 -6
- package/dist/table/index.cjs.js +27 -43
- package/dist/table/index.cjs.js.map +1 -1
- package/dist/table/index.es.js +27 -21
- package/dist/table/index.es.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.context.d.ts","sourceRoot":"","sources":["../../../../src/components/table/context/table.context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"table.context.d.ts","sourceRoot":"","sources":["../../../../src/components/table/context/table.context.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAoBtE,eAAO,MAAM,YAAY,4CAAkD,CAAC"}
|
|
@@ -35,6 +35,7 @@ export interface TableShareProps {
|
|
|
35
35
|
isStickyAction?: boolean;
|
|
36
36
|
/** Optional label rendered in the action column header. */
|
|
37
37
|
actionLabel?: string;
|
|
38
|
+
actionClassName?: string;
|
|
38
39
|
widthAction?: number;
|
|
39
40
|
sortDescriptor?: SortDescriptor | null;
|
|
40
41
|
onSortChange?: (column: string) => void;
|
|
@@ -65,6 +66,7 @@ export interface TableContextProps extends TableShareProps {
|
|
|
65
66
|
}
|
|
66
67
|
export interface TableProps extends TableShareProps {
|
|
67
68
|
classNameContainer?: string;
|
|
69
|
+
classNameSubContainer?: string;
|
|
68
70
|
className?: string;
|
|
69
71
|
children: ReactNode;
|
|
70
72
|
spacing?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.interface.d.ts","sourceRoot":"","sources":["../../../../src/components/table/interface/table.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3F,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,qBAAqB,CAAC;IACnC,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACzD,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9D,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AACD,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"table.interface.d.ts","sourceRoot":"","sources":["../../../../src/components/table/interface/table.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { TableProps } from './interface/table.interface';
|
|
3
|
-
export declare const TableHOC: ({ className, children, classNameContainer, ...props }: TableProps) => React.JSX.Element;
|
|
4
|
-
export declare const Table: (({ className, children, classNameContainer, ...props }: TableProps) => React.JSX.Element) & {
|
|
3
|
+
export declare const TableHOC: ({ className, children, classNameContainer, classNameSubContainer, ...props }: TableProps) => React.JSX.Element;
|
|
4
|
+
export declare const Table: (({ className, children, classNameContainer, classNameSubContainer, ...props }: TableProps) => React.JSX.Element) & {
|
|
5
5
|
Header: React.FC<import('./interface/table.interface').TableHeaderProps>;
|
|
6
6
|
HeaderRow: React.FC<import('./interface/table.interface').TableHeaderRowProps>;
|
|
7
7
|
HeaderColumn: React.FC<import('./interface/table.interface').TableHeaderColumnProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/components/table/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAU1E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,yBAAyB,CAAC;AAEjC,eAAO,MAAM,QAAQ,GAAI,8EAA8E,UAAU,sBAgFhH,CAAC;AAEF,eAAO,MAAM,KAAK,kFAlFqF,UAAU;;;;;;;;;CA+F/G,CAAC"}
|
package/dist/lizaui.css
CHANGED
|
@@ -2509,7 +2509,7 @@
|
|
|
2509
2509
|
|
|
2510
2510
|
/* Header and search cells own an opaque background so scrolled
|
|
2511
2511
|
content never bleeds through them. */
|
|
2512
|
-
.
|
|
2512
|
+
.table__sub--container.table--sticky-action .table__column_action--sticky {
|
|
2513
2513
|
position: sticky;
|
|
2514
2514
|
right: 0;
|
|
2515
2515
|
z-index: 1;
|
|
@@ -2518,7 +2518,7 @@
|
|
|
2518
2518
|
|
|
2519
2519
|
/* The body action cell is always the last cell of a row; it inherits
|
|
2520
2520
|
the row background so selection/hover states stay in sync. */
|
|
2521
|
-
.
|
|
2521
|
+
.table__sub--container.table--sticky-action .table__body__main .table__body_row td:last-child {
|
|
2522
2522
|
position: sticky;
|
|
2523
2523
|
right: 0;
|
|
2524
2524
|
z-index: 1;
|
|
@@ -2527,15 +2527,15 @@
|
|
|
2527
2527
|
|
|
2528
2528
|
/* Elevation shadow, only while content remains hidden to the right
|
|
2529
2529
|
(`table--action-pinned` is toggled by the useStickyAction hook). */
|
|
2530
|
-
.
|
|
2531
|
-
.
|
|
2530
|
+
.table__sub--container.table--sticky-action.table--action-pinned .table__column_action--sticky,
|
|
2531
|
+
.table__sub--container.table--sticky-action.table--action-pinned .table__body__main .table__body_row td:last-child {
|
|
2532
2532
|
box-shadow:
|
|
2533
2533
|
inset 1px 0 0 var(--border),
|
|
2534
2534
|
-10px 0 12px -10px rgb(0 0 0 / 0.18);
|
|
2535
2535
|
}
|
|
2536
2536
|
|
|
2537
|
-
.dark .
|
|
2538
|
-
.dark .
|
|
2537
|
+
.dark .table__sub--container.table--sticky-action.table--action-pinned .table__column_action--sticky,
|
|
2538
|
+
.dark .table__sub--container.table--sticky-action.table--action-pinned .table__body__main .table__body_row td:last-child {
|
|
2539
2539
|
box-shadow:
|
|
2540
2540
|
inset 1px 0 0 var(--border),
|
|
2541
2541
|
-10px 0 14px -10px rgb(0 0 0 / 0.55);
|
package/dist/table/index.cjs.js
CHANGED
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
-
for (let key of __getOwnPropNames(from))
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
}
|
|
14
|
-
return to;
|
|
15
|
-
};
|
|
16
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
17
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
18
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
19
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
20
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
-
mod
|
|
23
|
-
));
|
|
24
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
26
|
-
const fm = require("framer-motion");
|
|
27
4
|
const React = require("react");
|
|
28
5
|
const tailwindMerge = require("tailwind-merge");
|
|
29
6
|
const compilerRuntime = require("react/compiler-runtime");
|
|
@@ -41,6 +18,7 @@ const initialValues = {
|
|
|
41
18
|
isActions: true,
|
|
42
19
|
isStickyAction: false,
|
|
43
20
|
actionLabel: "",
|
|
21
|
+
actionClassName: "",
|
|
44
22
|
widthAction: 100,
|
|
45
23
|
totalColumn: 0,
|
|
46
24
|
sortDescriptor: null,
|
|
@@ -1021,7 +999,7 @@ const TableHeaderColumn = React.memo((t0) => {
|
|
|
1021
999
|
});
|
|
1022
1000
|
TableHeaderColumn.displayName = "TableHeaderColumn";
|
|
1023
1001
|
const TableHeaderRow = React.memo((t0) => {
|
|
1024
|
-
const $ = compilerRuntime.c(
|
|
1002
|
+
const $ = compilerRuntime.c(45);
|
|
1025
1003
|
let children;
|
|
1026
1004
|
let className;
|
|
1027
1005
|
let disabledCheck;
|
|
@@ -1073,6 +1051,7 @@ const TableHeaderRow = React.memo((t0) => {
|
|
|
1073
1051
|
isActions,
|
|
1074
1052
|
isStickyAction,
|
|
1075
1053
|
actionLabel,
|
|
1054
|
+
actionClassName,
|
|
1076
1055
|
color
|
|
1077
1056
|
} = useTableContext();
|
|
1078
1057
|
let t4;
|
|
@@ -1166,34 +1145,35 @@ const TableHeaderRow = React.memo((t0) => {
|
|
|
1166
1145
|
t7 = $[32];
|
|
1167
1146
|
}
|
|
1168
1147
|
let t8;
|
|
1169
|
-
if ($[33] !==
|
|
1170
|
-
t8 = isActions && /* @__PURE__ */ jsxRuntime.jsx(TableHeaderColumn, { color, text: actionLabel, className: isStickyAction ? "table__column_action--sticky" : void 0, style: {
|
|
1148
|
+
if ($[33] !== actionClassName || $[34] !== actionLabel || $[35] !== color || $[36] !== isActions || $[37] !== isStickyAction || $[38] !== widthAction) {
|
|
1149
|
+
t8 = isActions && /* @__PURE__ */ jsxRuntime.jsx(TableHeaderColumn, { color, text: actionLabel, className: tailwindMerge.twMerge(actionClassName, isStickyAction ? "table__column_action--sticky" : void 0), style: {
|
|
1171
1150
|
minWidth: `${widthAction}px`,
|
|
1172
1151
|
width: `${widthAction}px`
|
|
1173
1152
|
} });
|
|
1174
|
-
$[33] =
|
|
1175
|
-
$[34] =
|
|
1176
|
-
$[35] =
|
|
1177
|
-
$[36] =
|
|
1178
|
-
$[37] =
|
|
1179
|
-
$[38] =
|
|
1153
|
+
$[33] = actionClassName;
|
|
1154
|
+
$[34] = actionLabel;
|
|
1155
|
+
$[35] = color;
|
|
1156
|
+
$[36] = isActions;
|
|
1157
|
+
$[37] = isStickyAction;
|
|
1158
|
+
$[38] = widthAction;
|
|
1159
|
+
$[39] = t8;
|
|
1180
1160
|
} else {
|
|
1181
|
-
t8 = $[
|
|
1161
|
+
t8 = $[39];
|
|
1182
1162
|
}
|
|
1183
1163
|
let t9;
|
|
1184
|
-
if ($[
|
|
1164
|
+
if ($[40] !== headerChildren || $[41] !== t6 || $[42] !== t7 || $[43] !== t8) {
|
|
1185
1165
|
t9 = /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: t6, children: [
|
|
1186
1166
|
t7,
|
|
1187
1167
|
headerChildren,
|
|
1188
1168
|
t8
|
|
1189
1169
|
] });
|
|
1190
|
-
$[
|
|
1191
|
-
$[
|
|
1192
|
-
$[
|
|
1193
|
-
$[
|
|
1194
|
-
$[
|
|
1170
|
+
$[40] = headerChildren;
|
|
1171
|
+
$[41] = t6;
|
|
1172
|
+
$[42] = t7;
|
|
1173
|
+
$[43] = t8;
|
|
1174
|
+
$[44] = t9;
|
|
1195
1175
|
} else {
|
|
1196
|
-
t9 = $[
|
|
1176
|
+
t9 = $[44];
|
|
1197
1177
|
}
|
|
1198
1178
|
return t9;
|
|
1199
1179
|
});
|
|
@@ -1384,6 +1364,7 @@ const TableHOC = ({
|
|
|
1384
1364
|
className,
|
|
1385
1365
|
children,
|
|
1386
1366
|
classNameContainer,
|
|
1367
|
+
classNameSubContainer,
|
|
1387
1368
|
...props
|
|
1388
1369
|
}) => {
|
|
1389
1370
|
const {
|
|
@@ -1394,6 +1375,7 @@ const TableHOC = ({
|
|
|
1394
1375
|
isActions = true,
|
|
1395
1376
|
isStickyAction = false,
|
|
1396
1377
|
actionLabel,
|
|
1378
|
+
actionClassName,
|
|
1397
1379
|
widthAction = 100,
|
|
1398
1380
|
dataHeader,
|
|
1399
1381
|
sortDescriptor,
|
|
@@ -1405,8 +1387,9 @@ const TableHOC = ({
|
|
|
1405
1387
|
} = props;
|
|
1406
1388
|
const hasStickyAction = isActions && isStickyAction;
|
|
1407
1389
|
const containerRef = useStickyAction(hasStickyAction);
|
|
1390
|
+
const containerClass = React.useMemo(() => tailwindMerge.twMerge("table__container_main max-w-full bg-default-100 p-1 rounded-lg", classNameContainer), [classNameContainer]);
|
|
1391
|
+
const subContainerClass = React.useMemo(() => tailwindMerge.twMerge("table__scroll-container table__sub--container overflow-x-auto overflow-y-auto scrollbar-gutter-auto", hasStickyAction && "table--sticky-action", classNameSubContainer), [classNameSubContainer, hasStickyAction]);
|
|
1408
1392
|
const tableClass = React.useMemo(() => tailwindMerge.twMerge("table-main-container w-full border-separate border-spacing-0 table-auto", className), [className]);
|
|
1409
|
-
const containerClass = React.useMemo(() => tailwindMerge.twMerge("table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg", hasStickyAction && "table--sticky-action", classNameContainer), [classNameContainer, hasStickyAction]);
|
|
1410
1393
|
return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: {
|
|
1411
1394
|
color,
|
|
1412
1395
|
disabledKeys,
|
|
@@ -1415,6 +1398,7 @@ const TableHOC = ({
|
|
|
1415
1398
|
isActions,
|
|
1416
1399
|
isStickyAction,
|
|
1417
1400
|
actionLabel,
|
|
1401
|
+
actionClassName,
|
|
1418
1402
|
widthAction,
|
|
1419
1403
|
totalColumn: dataHeader?.length || 0,
|
|
1420
1404
|
sortDescriptor,
|
|
@@ -1422,10 +1406,10 @@ const TableHOC = ({
|
|
|
1422
1406
|
columnWidths,
|
|
1423
1407
|
onColumnResize,
|
|
1424
1408
|
onColumnResizeEnd
|
|
1425
|
-
}, children: /* @__PURE__ */ jsxRuntime.jsx("div", {
|
|
1409
|
+
}, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClass, children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: subContainerClass, children: /* @__PURE__ */ jsxRuntime.jsx("table", { className: tableClass, children: React.Children.map(children, (child) => React.isValidElement(child) ? React.cloneElement(child, {
|
|
1426
1410
|
dataHeader,
|
|
1427
1411
|
...otherProps
|
|
1428
|
-
}) : child) }) }) }) })
|
|
1412
|
+
}) : child) }) }) }) });
|
|
1429
1413
|
};
|
|
1430
1414
|
const Table = Object.assign(TableHOC, {
|
|
1431
1415
|
Header: TableHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-empty-state.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/header/table-header.tsx","../../src/components/table/hook/use-sticky-action.tsx","../../src/components/table/hook/use-column-resize.tsx","../../src/components/table/header/resize-handle.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\tisStickyAction: false,\n\tactionLabel: \"\",\n\twidthAction: 100,\n\ttotalColumn: 0,\n\tsortDescriptor: null,\n\tonSortChange: () => {},\n\tcolumnWidths: {},\n\tonColumnResize: () => {},\n\tonColumnResizeEnd: () => {},\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\nimport { TableContext } from \"../context/table.context\";\n\nexport const useTableContext = () => {\n\treturn useContext(TableContext);\n};\n","import { memo } from \"react\";\n\ninterface TableEmptyStateProps {\n\ttext?: string;\n}\n\nexport const TableEmptyState = memo(({ text = \"No hay resultados disponibles por el momento.\" }: TableEmptyStateProps) => {\n\treturn (\n\t\t<div className=\"w-full flex flex-col items-center justify-center\">\n\t\t\t<div className=\"flex flex-col items-center justify-center gap-3 px-5 py-7 max-w-sm\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" className=\"w-16 h-16 text-default-300 dark:text-default-400\" fill=\"none\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\td=\"m6.379 4.5-.44-.44-.621-.62A1.5 1.5 0 0 0 4.258 3H3a1.5 1.5 0 0 0-1.5 1.5v5.25l1.376-2.293A3 3 0 0 1 5.45 6h7.05A1.5 1.5 0 0 0 11 4.5zM14 6.026V6a3 3 0 0 0-3-3H7l-.621-.621A3 3 0 0 0 4.257 1.5H3a3 3 0 0 0-3 3V11a3 3 0 0 0 3 3h8.301a3 3 0 0 0 2.573-1.457l1.791-2.985A2.35 2.35 0 0 0 14 6.026M10 12.5h1.301a1.5 1.5 0 0 0 1.287-.728l1.791-2.986 1.286.772-1.286-.772a.85.85 0 0 0-.728-1.286H5.449a1.5 1.5 0 0 0-1.287.728l-1.791 2.986a.85.85 0 0 0 .728 1.286z\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t></path>\n\t\t\t\t</svg>\n\t\t\t\t<p className=\"text-sm text-default-500 dark:text-default-200\">{text}</p>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nTableEmptyState.displayName = \"TableEmptyState\";\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport LoaderCircle from \"@/components/loader/loader-circle\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\nimport { TableEmptyState } from \"./table-empty-state\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\temptyText = \"No hay resultados disponibles por el momento.\",\n\tisLoading = false,\n\tloadingLabel = \"Cargando...\",\n\trowKey,\n\t...props\n}: TableBodyProps<TData>) {\n\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t// Filter out dataHeader if it was passed via cloneElement to avoid DOM warnings\n\tconst domProps = { ...(props as any) };\n\tdelete domProps.dataHeader;\n\n\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\tconst renderedRows = useMemo(() => {\n\t\tif (!data || data.length === 0) return null;\n\n\t\tif (typeof children === \"function\") {\n\t\t\treturn data.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index;\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: rowKey ? rowKey(data[index] as TData, index) : index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, data, rowKey]);\n\n\tlet fallbackContent: React.ReactNode = null;\n\n\tif (isLoading) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"loading-table-content\">\n\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t<div className=\"flex flex-col justify-center items-center gap-2\">\n\t\t\t\t\t\t\t<div className=\"mt-3.5\">\n\t\t\t\t\t\t\t\t<LoaderCircle size={45} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-default-800\">{loadingLabel}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t} else if (data.length === 0) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"empty-table-content\">\n\t\t\t\t<td className=\"px-2 py-10 w-full\" colSpan={total}>\n\t\t\t\t\t<TableEmptyState text={emptyText} />\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\treturn (\n\t\t<tbody className={twMerge(\"table__body__main\", mergedClass)} {...domProps}>\n\t\t\t{renderedRows}\n\t\t\t{fallbackContent}\n\t\t</tbody>\n\t);\n}\n\nexport const TableBody = memo(<TData extends object>(props: TableBodyProps<TData>) => {\n\treturn <TableBodyComponent {...props} />;\n}) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style, colspan= undefined}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import Checkbox from \"@/components/checkbox/checkbox\";\nimport clsx from \"clsx\";\nimport { forwardRef, memo, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, selectKeys, disabledKeys, color, isActions, isStickyAction } = useTableContext();\n\t\tconst hasStickyAction = isActions && isStickyAction;\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"table__body_row relative min-h-[40px] h-[40px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100\": !check,\n\t\t\t\t\t\t// The sticky action cell inherits the row background, so the\n\t\t\t\t\t\t// hover color must stay opaque to fully cover scrolled content.\n\t\t\t\t\t\t\"hover:bg-[#ffffff66]\": !check && !hasStickyAction,\n\t\t\t\t\t\t\"hover:bg-default-50\": !check && hasStickyAction,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className, hasStickyAction],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import { useEffect, useRef } from \"react\";\n\nconst PINNED_CLASS = \"table--action-pinned\";\n\n/**\n * Tracks horizontal overflow of the table scroll container and toggles the\n * pinned modifier class when content remains hidden to the right, so the\n * sticky action column only shows its elevation shadow while it is actually\n * covering scrollable content. The class is toggled directly on the DOM node\n * to avoid re-rendering the table on every scroll event.\n */\nexport const useStickyAction = (enabled: boolean) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tconst container = containerRef.current;\n\t\tif (!enabled || !container) return;\n\n\t\tconst updatePinnedState = () => {\n\t\t\tconst hasOverflowRight = container.scrollWidth - container.clientWidth - container.scrollLeft > 1;\n\t\t\tcontainer.classList.toggle(PINNED_CLASS, hasOverflowRight);\n\t\t};\n\n\t\tupdatePinnedState();\n\t\tcontainer.addEventListener(\"scroll\", updatePinnedState, { passive: true });\n\n\t\tconst resizeObserver = new ResizeObserver(updatePinnedState);\n\t\tresizeObserver.observe(container);\n\t\tconst table = container.querySelector(\"table\");\n\t\tif (table) resizeObserver.observe(table);\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener(\"scroll\", updatePinnedState);\n\t\t\tresizeObserver.disconnect();\n\t\t\tcontainer.classList.remove(PINNED_CLASS);\n\t\t};\n\t}, [enabled]);\n\n\treturn containerRef;\n};\n","import { useCallback, useRef, useState, useEffect } from \"react\";\n\ninterface UseColumnResizeProps {\n\tcolumnId: string;\n\tinitialWidth?: number;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tonResize?: (columnId: string, width: number) => void;\n\tonResizeEnd?: (columnId: string, width: number) => void;\n}\n\nexport function useColumnResize({\n\tcolumnId,\n\tinitialWidth = 150,\n\tminWidth = 80,\n\tmaxWidth = 800,\n\tonResize,\n\tonResizeEnd,\n}: UseColumnResizeProps) {\n\tconst [width, setWidth] = useState(initialWidth);\n\tconst [isResizing, setIsResizing] = useState(false);\n\tconst startXRef = useRef(0);\n\tconst startWidthRef = useRef(0);\n\tconst columnRef = useRef<HTMLTableCellElement>(null);\n\n\tuseEffect(() => {\n\t\tif (initialWidth !== width) {\n\t\t\tsetWidth(initialWidth);\n\t\t}\n\t}, [initialWidth]);\n\n\tconst handlePointerDown = useCallback(\n\t\t(e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tconst target = e.currentTarget;\n\t\t\ttarget.setPointerCapture(e.pointerId);\n\n\t\t\tstartXRef.current = e.clientX;\n\t\t\tstartWidthRef.current = width;\n\t\t\tsetIsResizing(true);\n\n\t\t\t// Prevent text selection during resize\n\t\t\tdocument.body.style.userSelect = \"none\";\n\t\t\tdocument.body.style.cursor = \"col-resize\";\n\t\t},\n\t\t[width],\n\t);\n\n\tconst handlePointerMove = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst newWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tsetWidth(newWidth);\n\t\t\tonResize?.(columnId, newWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResize],\n\t);\n\n\tconst handlePointerUp = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tsetIsResizing(false);\n\t\t\tdocument.body.style.userSelect = \"\";\n\t\t\tdocument.body.style.cursor = \"\";\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst finalWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tonResizeEnd?.(columnId, finalWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResizeEnd],\n\t);\n\n\tuseEffect(() => {\n\t\tif (isResizing) {\n\t\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t\t};\n\t\t}\n\t}, [isResizing, handlePointerMove, handlePointerUp]);\n\n\treturn {\n\t\twidth,\n\t\tisResizing,\n\t\tcolumnRef,\n\t\thandlePointerDown,\n\t\tsetWidth,\n\t};\n}\n\nexport type UseColumnResizeReturn = ReturnType<typeof useColumnResize>;\n","import { memo } from \"react\";\nimport clsx from \"clsx\";\n\ninterface ResizeHandleProps {\n\tonPointerDown: (e: React.PointerEvent<HTMLDivElement>) => void;\n\tisResizing: boolean;\n\tclassName?: string;\n}\n\nexport const ResizeHandle = memo(({ onPointerDown, isResizing, className }: ResizeHandleProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={clsx(\n\t\t\t\t\"absolute top-0 right-0 h-full w-1 cursor-col-resize select-none touch-none group/resize z-10\",\n\t\t\t\t\"hover:bg-default/50 active:bg-default transition-colors\",\n\t\t\t\tisResizing && \"bg-default\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tonPointerDown={onPointerDown}\n\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\tonDoubleClick={(e) => e.stopPropagation()}\n\t\t\trole=\"separator\"\n\t\t\taria-orientation=\"vertical\"\n\t\t\taria-label=\"Resize column\"\n\t\t>\n\t\t\t{/* Extended hit area for better UX */}\n\t\t\t<div className=\"absolute inset-y-0 -left-2 -right-2\" />\n\n\t\t\t{/* Visual indicator on hover */}\n\t\t\t<div\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\",\n\t\t\t\t\t\"w-1 h-8 rounded-full bg-default opacity-0 group-hover/resize:opacity-100 transition-opacity\",\n\t\t\t\t\tisResizing && \"opacity-100\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nResizeHandle.displayName = \"ResizeHandle\";\n","import { Tooltip } from \"@/components/tooltip\";\nimport { ChevronDown, ChevronsUpDown, ChevronUp } from \"lucide-react\";\nimport React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useColumnResize } from \"../hook/use-column-resize\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { ResizeHandle } from \"./resize-handle\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({\n\t\tchildren,\n\t\tclassName,\n\t\tstyle = {},\n\t\ticon = null,\n\t\ttext = \"\",\n\t\tsize,\n\t\theader,\n\t\tcolspan = undefined,\n\t\tresizable: resizableProp,\n\t\tminWidth: minWidthProp,\n\t\tmaxWidth: maxWidthProp,\n\t\tonResize: onResizeProp,\n\t\tonResizeEnd: onResizeEndProp,\n\t}) => {\n\t\tconst { sortDescriptor, onSortChange, columnWidths, onColumnResize, onColumnResizeEnd } = useTableContext(); // Determine if column is resizable\n\t\tconst isResizable = resizableProp ?? header?.resizable ?? false;\n\t\tconst columnId = header?.id || \"\";\n\t\tconst initialWidth = columnWidths?.[columnId] || size || header?.size || 150;\n\t\tconst minWidth = minWidthProp ?? header?.minWidth ?? 80;\n\t\tconst maxWidth = maxWidthProp ?? header?.maxWidth ?? 800;\n\n\t\t// Use resize hook if column is resizable\n\t\tconst {\n\t\t\twidth: resizedWidth,\n\t\t\tisResizing,\n\t\t\tcolumnRef,\n\t\t\thandlePointerDown,\n\t\t} = useColumnResize({\n\t\t\tcolumnId,\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonResize: (id, width) => {\n\t\t\t\tonResizeProp?.(width);\n\t\t\t\tonColumnResize?.(id, width);\n\t\t\t},\n\t\t\tonResizeEnd: (id, width) => {\n\t\t\t\tonResizeEndProp?.(width);\n\t\t\t\tonColumnResizeEnd?.(id, width);\n\t\t\t},\n\t\t});\n\n\t\tconst mergedClass = useMemo(() => twMerge(\"table__header_th px-2 relative\", className), [className]);\n\n\t\tconst effectiveWidth = isResizable ? resizedWidth : size || header?.size;\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: effectiveWidth ? `${effectiveWidth}px` : style.width,\n\t\t\t\tminWidth: effectiveWidth ? `${effectiveWidth}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, effectiveWidth],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\t\tconst isSortable = header?.sort;\n\n\t\tconst isCurrentlySorted = useMemo(() => sortDescriptor?.column === header?.id, [sortDescriptor, header?.id]);\n\n\t\tconst handleSort = (e: React.MouseEvent<HTMLTableCellElement>) => {\n\t\t\t// No ordenar si se está haciendo resize\n\t\t\tif (isResizing) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isSortable && onSortChange && header?.id) {\n\t\t\t\tonSortChange(header.id);\n\t\t\t}\n\t\t};\n\t\tconst renderSortIcon = () => {\n\t\t\tif (!isSortable) return icon;\n\n\t\t\tif (isCurrentlySorted && sortDescriptor) {\n\t\t\t\treturn sortDescriptor.direction === \"asc\" ? (\n\t\t\t\t\t<ChevronUp className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronDown className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <ChevronsUpDown className=\"h-4 w-4 text-default-300\" />;\n\t\t};\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tref={isResizable ? columnRef : undefined}\n\t\t\t\tclassName={twMerge(mergedClass, isSortable ? \"cursor-pointer transition-colors\" : \"\", isResizing && \"select-none\")}\n\t\t\t\tstyle={mergedStyle}\n\t\t\t\tcolSpan={colspan}\n\t\t\t\tonClick={handleSort}\n\t\t\t>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-foreground-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex justify-end\">{renderSortIcon()}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\n\t\t\t\t{/* Resize handle */}\n\t\t\t\t{isResizable && <ResizeHandle onPointerDown={handlePointerDown} isResizing={isResizing} />}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { TableHeaderColumn } from \"./table-header-column\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, widthAction, isActions, isStickyAction, actionLabel, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index });\n\n\t\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-default-100 h-[45px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-10 w-10\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && (\n\t\t\t\t\t<TableHeaderColumn\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\ttext={actionLabel}\n\t\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {}, colspan = undefined }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions, isStickyAction } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-default-100 dark:bg-default-100 h-[45px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: dataHeader[index]?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader]);\n\n\treturn (\n\t\t<tr className={mergedClass} {...props}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-10 w-10\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && (\n\t\t\t\t<TableSearchColumn\n\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { AnimatePresence, LazyMotion } from \"framer-motion\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeader } from \"./header/table-header\";\nimport { useStickyAction } from \"./hook/use-sticky-action\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport \"./style/table-style.css\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst {\n\t\tcolor = \"primary\",\n\t\tdisabledKeys,\n\t\tisChecks = true,\n\t\tselectKeys = [],\n\t\tisActions = true,\n\t\tisStickyAction = false,\n\t\tactionLabel,\n\t\twidthAction = 100,\n\t\tdataHeader,\n\t\tsortDescriptor,\n\t\tonSortChange,\n\t\tcolumnWidths = {},\n\t\tonColumnResize,\n\t\tonColumnResizeEnd,\n\t\t...otherProps\n\t} = props;\n\n\tconst hasStickyAction = isActions && isStickyAction;\n\tconst containerRef = useStickyAction(hasStickyAction);\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\",\n\t\t\t\thasStickyAction && \"table--sticky-action\",\n\t\t\t\tclassNameContainer,\n\t\t\t),\n\t\t[classNameContainer, hasStickyAction],\n\t);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\tisStickyAction,\n\t\t\t\tactionLabel,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t\tsortDescriptor,\n\t\t\t\tonSortChange,\n\t\t\t\tcolumnWidths,\n\t\t\t\tonColumnResize,\n\t\t\t\tonColumnResizeEnd,\n\t\t\t}}\n\t\t>\n\t\t\t<div ref={containerRef} className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement<any>, {\n\t\t\t\t\t\t\t\t\t\t\tdataHeader,\n\t\t\t\t\t\t\t\t\t\t\t...otherProps,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps, type SortDescriptor, type ColumnWidths } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n\tinitialSortDescriptor?: SortDescriptor | null;\n\tinitialColumnWidths?: ColumnWidths;\n}\n\nexport const useTable = ({\n\tinitialDisabledKeys = [],\n\tinitialSelectKey = [],\n\tinitialValueSearch = {},\n\tinitialSortDescriptor = null,\n\tinitialColumnWidths = {},\n}: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\tconst [sortDescriptor, setSortDescriptor] = useState<SortDescriptor | null>(initialSortDescriptor);\n\tconst [columnWidths, setColumnWidths] = useState<ColumnWidths>(initialColumnWidths);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\t\t\tif (exists) {\n\t\t\t\treturn prev.filter((el) => el.id !== value.id);\n\t\t\t}\n\t\t\treturn [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tif (prev[key] === value) return prev; // Avoid unnecessary updates\n\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) {\n\t\t\t\tnewState[key] = value;\n\t\t\t} else {\n\t\t\t\tdelete newState[key];\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\tconst handleSort = useCallback((column: string) => {\n\t\tsetSortDescriptor((prev) => {\n\t\t\t// Si ya existe ordenamiento en esta columna\n\t\t\tif (prev?.column === column) {\n\t\t\t\t// Toggle: asc -> desc -> remove\n\t\t\t\tif (prev.direction === \"asc\") {\n\t\t\t\t\treturn { column, direction: \"desc\" };\n\t\t\t\t} else {\n\t\t\t\t\t// Remove si era desc\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Nueva columna, iniciar con asc\n\t\t\treturn { column, direction: \"asc\" };\n\t\t});\n\t}, []);\n\n\tconst handleColumnResize = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\tconst handleColumnResizeEnd = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\tsortDescriptor,\n\t\tcolumnWidths,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n\t\thandleResetSelectKeys,\n\t\thandleSort,\n\t\thandleColumnResize,\n\t\thandleColumnResizeEnd,\n\t};\n};\n"],"names":["initialValues","color","disabledKeys","isChecks","selectKeys","isActions","isStickyAction","actionLabel","widthAction","totalColumn","sortDescriptor","onSortChange","columnWidths","onColumnResize","onColumnResizeEnd","TableContext","createContext","useTableContext","useContext","TableEmptyState","memo","t0","$","_c","text","t1","undefined","t2","Symbol","for","t3","jsxs","jsx","displayName","TableBodyComponent","children","className","props","rowKey","t4","data","emptyText","isLoading","loadingLabel","t5","total","Number","t6","domProps","dataHeader","t7","twMerge","mergedClass","t8","bb0","length","t9","t10","el","index","child","item","keyValue","isValidElement","React","cloneElement","key","map","child_0","index_0","Children","renderedRows","fallbackContent","LoaderCircle","t11","TableBody","TableBodyColumn","forwardRef","ref","style","colspan","trim","isChildrenEmpty","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","useId","hasStickyAction","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","Checkbox","e","target","checked","TableHeader","clonedChildren","PINNED_CLASS","useStickyAction","enabled","containerRef","useRef","container","current","updatePinnedState","hasOverflowRight","scrollWidth","clientWidth","scrollLeft","classList","toggle","addEventListener","passive","resizeObserver","ResizeObserver","observe","table","querySelector","removeEventListener","disconnect","remove","useEffect","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","startWidthRef","columnRef","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","ResizeHandle","onPointerDown","_temp","_temp2","TableHeaderColumn","icon","size","header","resizable","resizableProp","minWidthProp","maxWidthProp","onResizeProp","onResizeEndProp","isResizable","id_0","width_0","resizedWidth","effectiveWidth","t12","mergedStyle","t13","isSortable","sort","isCurrentlySorted","column","t14","handleSort","t15","direction","ChevronUp","ChevronDown","ChevronsUpDown","renderSortIcon","t16","t17","t18","t19","t20","information","Tooltip","t21","t22","TableHeaderRow","valueCheck","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","otherProps","tableClass","useMemo","containerClass","AnimatePresence","LazyMotion","then","res","domAnimation","Table","Object","assign","Header","HeaderRow","HeaderColumn","SearchRow","SearchColumn","Body","BodyRow","BodyColumn","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","initialSortDescriptor","initialColumnWidths","setSelectKeys","setDisabledKeys","valueSearch","setValueSearch","setSortDescriptor","setColumnWidths","prev","exists","filter","handleSelectKey","value_0","handleSelectKeys","value_1","handleDisabledKeys","handleResetSelectKeys","value_2","prev_0","newState","handleSetValueSearch","prev_1","prev_2","handleColumnResize","columnId_0","prev_3","handleColumnResizeEnd"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-empty-state.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/header/table-header.tsx","../../src/components/table/hook/use-sticky-action.tsx","../../src/components/table/hook/use-column-resize.tsx","../../src/components/table/header/resize-handle.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\tisStickyAction: false,\n\tactionLabel: \"\",\n actionClassName: \"\",\n\twidthAction: 100,\n\ttotalColumn: 0,\n\tsortDescriptor: null,\n\tonSortChange: () => {},\n\tcolumnWidths: {},\n\tonColumnResize: () => {},\n\tonColumnResizeEnd: () => {},\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\nimport { TableContext } from \"../context/table.context\";\n\nexport const useTableContext = () => {\n\treturn useContext(TableContext);\n};\n","import { memo } from \"react\";\n\ninterface TableEmptyStateProps {\n\ttext?: string;\n}\n\nexport const TableEmptyState = memo(({ text = \"No hay resultados disponibles por el momento.\" }: TableEmptyStateProps) => {\n\treturn (\n\t\t<div className=\"w-full flex flex-col items-center justify-center\">\n\t\t\t<div className=\"flex flex-col items-center justify-center gap-3 px-5 py-7 max-w-sm\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" className=\"w-16 h-16 text-default-300 dark:text-default-400\" fill=\"none\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\td=\"m6.379 4.5-.44-.44-.621-.62A1.5 1.5 0 0 0 4.258 3H3a1.5 1.5 0 0 0-1.5 1.5v5.25l1.376-2.293A3 3 0 0 1 5.45 6h7.05A1.5 1.5 0 0 0 11 4.5zM14 6.026V6a3 3 0 0 0-3-3H7l-.621-.621A3 3 0 0 0 4.257 1.5H3a3 3 0 0 0-3 3V11a3 3 0 0 0 3 3h8.301a3 3 0 0 0 2.573-1.457l1.791-2.985A2.35 2.35 0 0 0 14 6.026M10 12.5h1.301a1.5 1.5 0 0 0 1.287-.728l1.791-2.986 1.286.772-1.286-.772a.85.85 0 0 0-.728-1.286H5.449a1.5 1.5 0 0 0-1.287.728l-1.791 2.986a.85.85 0 0 0 .728 1.286z\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t></path>\n\t\t\t\t</svg>\n\t\t\t\t<p className=\"text-sm text-default-500 dark:text-default-200\">{text}</p>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nTableEmptyState.displayName = \"TableEmptyState\";\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport LoaderCircle from \"@/components/loader/loader-circle\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\nimport { TableEmptyState } from \"./table-empty-state\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\temptyText = \"No hay resultados disponibles por el momento.\",\n\tisLoading = false,\n\tloadingLabel = \"Cargando...\",\n\trowKey,\n\t...props\n}: TableBodyProps<TData>) {\n\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t// Filter out dataHeader if it was passed via cloneElement to avoid DOM warnings\n\tconst domProps = { ...(props as any) };\n\tdelete domProps.dataHeader;\n\n\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\tconst renderedRows = useMemo(() => {\n\t\tif (!data || data.length === 0) return null;\n\n\t\tif (typeof children === \"function\") {\n\t\t\treturn data.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index;\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: rowKey ? rowKey(data[index] as TData, index) : index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, data, rowKey]);\n\n\tlet fallbackContent: React.ReactNode = null;\n\n\tif (isLoading) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"loading-table-content\">\n\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t<div className=\"flex flex-col justify-center items-center gap-2\">\n\t\t\t\t\t\t\t<div className=\"mt-3.5\">\n\t\t\t\t\t\t\t\t<LoaderCircle size={45} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-default-800\">{loadingLabel}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t} else if (data.length === 0) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"empty-table-content\">\n\t\t\t\t<td className=\"px-2 py-10 w-full\" colSpan={total}>\n\t\t\t\t\t<TableEmptyState text={emptyText} />\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\treturn (\n\t\t<tbody className={twMerge(\"table__body__main\", mergedClass)} {...domProps}>\n\t\t\t{renderedRows}\n\t\t\t{fallbackContent}\n\t\t</tbody>\n\t);\n}\n\nexport const TableBody = memo(<TData extends object>(props: TableBodyProps<TData>) => {\n\treturn <TableBodyComponent {...props} />;\n}) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style, colspan= undefined}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import Checkbox from \"@/components/checkbox/checkbox\";\nimport clsx from \"clsx\";\nimport { forwardRef, memo, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, selectKeys, disabledKeys, color, isActions, isStickyAction } = useTableContext();\n\t\tconst hasStickyAction = isActions && isStickyAction;\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"table__body_row relative min-h-[40px] h-[40px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100\": !check,\n\t\t\t\t\t\t// The sticky action cell inherits the row background, so the\n\t\t\t\t\t\t// hover color must stay opaque to fully cover scrolled content.\n\t\t\t\t\t\t\"hover:bg-[#ffffff66]\": !check && !hasStickyAction,\n\t\t\t\t\t\t\"hover:bg-default-50\": !check && hasStickyAction,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className, hasStickyAction],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import { useEffect, useRef } from \"react\";\n\nconst PINNED_CLASS = \"table--action-pinned\";\n\n/**\n * Tracks horizontal overflow of the table scroll container and toggles the\n * pinned modifier class when content remains hidden to the right, so the\n * sticky action column only shows its elevation shadow while it is actually\n * covering scrollable content. The class is toggled directly on the DOM node\n * to avoid re-rendering the table on every scroll event.\n */\nexport const useStickyAction = (enabled: boolean) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tconst container = containerRef.current;\n\t\tif (!enabled || !container) return;\n\n\t\tconst updatePinnedState = () => {\n\t\t\tconst hasOverflowRight = container.scrollWidth - container.clientWidth - container.scrollLeft > 1;\n\t\t\tcontainer.classList.toggle(PINNED_CLASS, hasOverflowRight);\n\t\t};\n\n\t\tupdatePinnedState();\n\t\tcontainer.addEventListener(\"scroll\", updatePinnedState, { passive: true });\n\n\t\tconst resizeObserver = new ResizeObserver(updatePinnedState);\n\t\tresizeObserver.observe(container);\n\t\tconst table = container.querySelector(\"table\");\n\t\tif (table) resizeObserver.observe(table);\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener(\"scroll\", updatePinnedState);\n\t\t\tresizeObserver.disconnect();\n\t\t\tcontainer.classList.remove(PINNED_CLASS);\n\t\t};\n\t}, [enabled]);\n\n\treturn containerRef;\n};\n","import { useCallback, useRef, useState, useEffect } from \"react\";\n\ninterface UseColumnResizeProps {\n\tcolumnId: string;\n\tinitialWidth?: number;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tonResize?: (columnId: string, width: number) => void;\n\tonResizeEnd?: (columnId: string, width: number) => void;\n}\n\nexport function useColumnResize({\n\tcolumnId,\n\tinitialWidth = 150,\n\tminWidth = 80,\n\tmaxWidth = 800,\n\tonResize,\n\tonResizeEnd,\n}: UseColumnResizeProps) {\n\tconst [width, setWidth] = useState(initialWidth);\n\tconst [isResizing, setIsResizing] = useState(false);\n\tconst startXRef = useRef(0);\n\tconst startWidthRef = useRef(0);\n\tconst columnRef = useRef<HTMLTableCellElement>(null);\n\n\tuseEffect(() => {\n\t\tif (initialWidth !== width) {\n\t\t\tsetWidth(initialWidth);\n\t\t}\n\t}, [initialWidth]);\n\n\tconst handlePointerDown = useCallback(\n\t\t(e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tconst target = e.currentTarget;\n\t\t\ttarget.setPointerCapture(e.pointerId);\n\n\t\t\tstartXRef.current = e.clientX;\n\t\t\tstartWidthRef.current = width;\n\t\t\tsetIsResizing(true);\n\n\t\t\t// Prevent text selection during resize\n\t\t\tdocument.body.style.userSelect = \"none\";\n\t\t\tdocument.body.style.cursor = \"col-resize\";\n\t\t},\n\t\t[width],\n\t);\n\n\tconst handlePointerMove = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst newWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tsetWidth(newWidth);\n\t\t\tonResize?.(columnId, newWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResize],\n\t);\n\n\tconst handlePointerUp = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tsetIsResizing(false);\n\t\t\tdocument.body.style.userSelect = \"\";\n\t\t\tdocument.body.style.cursor = \"\";\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst finalWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tonResizeEnd?.(columnId, finalWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResizeEnd],\n\t);\n\n\tuseEffect(() => {\n\t\tif (isResizing) {\n\t\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t\t};\n\t\t}\n\t}, [isResizing, handlePointerMove, handlePointerUp]);\n\n\treturn {\n\t\twidth,\n\t\tisResizing,\n\t\tcolumnRef,\n\t\thandlePointerDown,\n\t\tsetWidth,\n\t};\n}\n\nexport type UseColumnResizeReturn = ReturnType<typeof useColumnResize>;\n","import { memo } from \"react\";\nimport clsx from \"clsx\";\n\ninterface ResizeHandleProps {\n\tonPointerDown: (e: React.PointerEvent<HTMLDivElement>) => void;\n\tisResizing: boolean;\n\tclassName?: string;\n}\n\nexport const ResizeHandle = memo(({ onPointerDown, isResizing, className }: ResizeHandleProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={clsx(\n\t\t\t\t\"absolute top-0 right-0 h-full w-1 cursor-col-resize select-none touch-none group/resize z-10\",\n\t\t\t\t\"hover:bg-default/50 active:bg-default transition-colors\",\n\t\t\t\tisResizing && \"bg-default\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tonPointerDown={onPointerDown}\n\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\tonDoubleClick={(e) => e.stopPropagation()}\n\t\t\trole=\"separator\"\n\t\t\taria-orientation=\"vertical\"\n\t\t\taria-label=\"Resize column\"\n\t\t>\n\t\t\t{/* Extended hit area for better UX */}\n\t\t\t<div className=\"absolute inset-y-0 -left-2 -right-2\" />\n\n\t\t\t{/* Visual indicator on hover */}\n\t\t\t<div\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\",\n\t\t\t\t\t\"w-1 h-8 rounded-full bg-default opacity-0 group-hover/resize:opacity-100 transition-opacity\",\n\t\t\t\t\tisResizing && \"opacity-100\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nResizeHandle.displayName = \"ResizeHandle\";\n","import { Tooltip } from \"@/components/tooltip\";\nimport { ChevronDown, ChevronsUpDown, ChevronUp } from \"lucide-react\";\nimport React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useColumnResize } from \"../hook/use-column-resize\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { ResizeHandle } from \"./resize-handle\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({\n\t\tchildren,\n\t\tclassName,\n\t\tstyle = {},\n\t\ticon = null,\n\t\ttext = \"\",\n\t\tsize,\n\t\theader,\n\t\tcolspan = undefined,\n\t\tresizable: resizableProp,\n\t\tminWidth: minWidthProp,\n\t\tmaxWidth: maxWidthProp,\n\t\tonResize: onResizeProp,\n\t\tonResizeEnd: onResizeEndProp,\n\t}) => {\n\t\tconst { sortDescriptor, onSortChange, columnWidths, onColumnResize, onColumnResizeEnd } = useTableContext(); // Determine if column is resizable\n\t\tconst isResizable = resizableProp ?? header?.resizable ?? false;\n\t\tconst columnId = header?.id || \"\";\n\t\tconst initialWidth = columnWidths?.[columnId] || size || header?.size || 150;\n\t\tconst minWidth = minWidthProp ?? header?.minWidth ?? 80;\n\t\tconst maxWidth = maxWidthProp ?? header?.maxWidth ?? 800;\n\n\t\t// Use resize hook if column is resizable\n\t\tconst {\n\t\t\twidth: resizedWidth,\n\t\t\tisResizing,\n\t\t\tcolumnRef,\n\t\t\thandlePointerDown,\n\t\t} = useColumnResize({\n\t\t\tcolumnId,\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonResize: (id, width) => {\n\t\t\t\tonResizeProp?.(width);\n\t\t\t\tonColumnResize?.(id, width);\n\t\t\t},\n\t\t\tonResizeEnd: (id, width) => {\n\t\t\t\tonResizeEndProp?.(width);\n\t\t\t\tonColumnResizeEnd?.(id, width);\n\t\t\t},\n\t\t});\n\n\t\tconst mergedClass = useMemo(() => twMerge(\"table__header_th px-2 relative\", className), [className]);\n\n\t\tconst effectiveWidth = isResizable ? resizedWidth : size || header?.size;\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: effectiveWidth ? `${effectiveWidth}px` : style.width,\n\t\t\t\tminWidth: effectiveWidth ? `${effectiveWidth}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, effectiveWidth],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\t\tconst isSortable = header?.sort;\n\n\t\tconst isCurrentlySorted = useMemo(() => sortDescriptor?.column === header?.id, [sortDescriptor, header?.id]);\n\n\t\tconst handleSort = (e: React.MouseEvent<HTMLTableCellElement>) => {\n\t\t\t// No ordenar si se está haciendo resize\n\t\t\tif (isResizing) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isSortable && onSortChange && header?.id) {\n\t\t\t\tonSortChange(header.id);\n\t\t\t}\n\t\t};\n\t\tconst renderSortIcon = () => {\n\t\t\tif (!isSortable) return icon;\n\n\t\t\tif (isCurrentlySorted && sortDescriptor) {\n\t\t\t\treturn sortDescriptor.direction === \"asc\" ? (\n\t\t\t\t\t<ChevronUp className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronDown className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <ChevronsUpDown className=\"h-4 w-4 text-default-300\" />;\n\t\t};\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tref={isResizable ? columnRef : undefined}\n\t\t\t\tclassName={twMerge(mergedClass, isSortable ? \"cursor-pointer transition-colors\" : \"\", isResizing && \"select-none\")}\n\t\t\t\tstyle={mergedStyle}\n\t\t\t\tcolSpan={colspan}\n\t\t\t\tonClick={handleSort}\n\t\t\t>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-foreground-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex justify-end\">{renderSortIcon()}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\n\t\t\t\t{/* Resize handle */}\n\t\t\t\t{isResizable && <ResizeHandle onPointerDown={handlePointerDown} isResizing={isResizing} />}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { TableHeaderColumn } from \"./table-header-column\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, widthAction, isActions, isStickyAction, actionLabel, actionClassName, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index });\n\n\t\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-default-100 h-[45px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-10 w-10\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && (\n\t\t\t\t\t<TableHeaderColumn\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\ttext={actionLabel}\n className={twMerge(actionClassName, isStickyAction ? \"table__column_action--sticky\" : undefined)}\n\t\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {}, colspan = undefined }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions, isStickyAction } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-default-100 dark:bg-default-100 h-[45px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: dataHeader[index]?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader]);\n\n\treturn (\n\t\t<tr className={mergedClass} {...props}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-10 w-10\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && (\n\t\t\t\t<TableSearchColumn\n\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeader } from \"./header/table-header\";\nimport { useStickyAction } from \"./hook/use-sticky-action\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport \"./style/table-style.css\";\n\nexport const TableHOC = ({ className, children, classNameContainer, classNameSubContainer, ...props }: TableProps) => {\n\tconst {\n\t\tcolor = \"primary\",\n\t\tdisabledKeys,\n\t\tisChecks = true,\n\t\tselectKeys = [],\n\t\tisActions = true,\n\t\tisStickyAction = false,\n\t\tactionLabel,\n\t\tactionClassName,\n\t\twidthAction = 100,\n\t\tdataHeader,\n\t\tsortDescriptor,\n\t\tonSortChange,\n\t\tcolumnWidths = {},\n\t\tonColumnResize,\n\t\tonColumnResizeEnd,\n\t\t...otherProps\n\t} = props;\n\n\tconst hasStickyAction = isActions && isStickyAction;\n\tconst containerRef = useStickyAction(hasStickyAction);\n\n\tconst containerClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"table__container_main max-w-full bg-default-100 p-1 rounded-lg\",\n\t\t\t\tclassNameContainer,\n\t\t\t),\n\t\t[classNameContainer],\n\t);\n\n const subContainerClass = useMemo(\n () =>\n twMerge(\n \"table__scroll-container table__sub--container overflow-x-auto overflow-y-auto scrollbar-gutter-auto\",\n hasStickyAction && \"table--sticky-action\",\n classNameSubContainer,\n ),\n [classNameSubContainer, hasStickyAction],\n );\n\n const tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\tisStickyAction,\n\t\t\t\tactionLabel,\n\t\t\t\tactionClassName,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t\tsortDescriptor,\n\t\t\t\tonSortChange,\n\t\t\t\tcolumnWidths,\n\t\t\t\tonColumnResize,\n\t\t\t\tonColumnResizeEnd,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<div ref={containerRef} className={subContainerClass}>\n\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement<any>, {\n\t\t\t\t\t\t\t\t\t\tdataHeader,\n\t\t\t\t\t\t\t\t\t\t...otherProps,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps, type SortDescriptor, type ColumnWidths } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n\tinitialSortDescriptor?: SortDescriptor | null;\n\tinitialColumnWidths?: ColumnWidths;\n}\n\nexport const useTable = ({\n\tinitialDisabledKeys = [],\n\tinitialSelectKey = [],\n\tinitialValueSearch = {},\n\tinitialSortDescriptor = null,\n\tinitialColumnWidths = {},\n}: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\tconst [sortDescriptor, setSortDescriptor] = useState<SortDescriptor | null>(initialSortDescriptor);\n\tconst [columnWidths, setColumnWidths] = useState<ColumnWidths>(initialColumnWidths);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\t\t\tif (exists) {\n\t\t\t\treturn prev.filter((el) => el.id !== value.id);\n\t\t\t}\n\t\t\treturn [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tif (prev[key] === value) return prev; // Avoid unnecessary updates\n\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) {\n\t\t\t\tnewState[key] = value;\n\t\t\t} else {\n\t\t\t\tdelete newState[key];\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\tconst handleSort = useCallback((column: string) => {\n\t\tsetSortDescriptor((prev) => {\n\t\t\t// Si ya existe ordenamiento en esta columna\n\t\t\tif (prev?.column === column) {\n\t\t\t\t// Toggle: asc -> desc -> remove\n\t\t\t\tif (prev.direction === \"asc\") {\n\t\t\t\t\treturn { column, direction: \"desc\" };\n\t\t\t\t} else {\n\t\t\t\t\t// Remove si era desc\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Nueva columna, iniciar con asc\n\t\t\treturn { column, direction: \"asc\" };\n\t\t});\n\t}, []);\n\n\tconst handleColumnResize = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\tconst handleColumnResizeEnd = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\tsortDescriptor,\n\t\tcolumnWidths,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n\t\thandleResetSelectKeys,\n\t\thandleSort,\n\t\thandleColumnResize,\n\t\thandleColumnResizeEnd,\n\t};\n};\n"],"names":["initialValues","color","disabledKeys","isChecks","selectKeys","isActions","isStickyAction","actionLabel","actionClassName","widthAction","totalColumn","sortDescriptor","onSortChange","columnWidths","onColumnResize","onColumnResizeEnd","TableContext","createContext","useTableContext","useContext","TableEmptyState","memo","t0","$","_c","text","t1","undefined","t2","Symbol","for","t3","jsxs","jsx","displayName","TableBodyComponent","children","className","props","rowKey","t4","data","emptyText","isLoading","loadingLabel","t5","total","Number","t6","domProps","dataHeader","t7","twMerge","mergedClass","t8","bb0","length","t9","t10","el","index","child","item","keyValue","isValidElement","React","cloneElement","key","map","child_0","index_0","Children","renderedRows","fallbackContent","LoaderCircle","t11","TableBody","TableBodyColumn","forwardRef","ref","style","colspan","trim","isChildrenEmpty","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","useId","hasStickyAction","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","Checkbox","e","target","checked","TableHeader","clonedChildren","PINNED_CLASS","useStickyAction","enabled","containerRef","useRef","container","current","updatePinnedState","hasOverflowRight","scrollWidth","clientWidth","scrollLeft","classList","toggle","addEventListener","passive","resizeObserver","ResizeObserver","observe","table","querySelector","removeEventListener","disconnect","remove","useEffect","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","startWidthRef","columnRef","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","ResizeHandle","onPointerDown","_temp","_temp2","TableHeaderColumn","icon","size","header","resizable","resizableProp","minWidthProp","maxWidthProp","onResizeProp","onResizeEndProp","isResizable","id_0","width_0","resizedWidth","effectiveWidth","t12","mergedStyle","t13","isSortable","sort","isCurrentlySorted","column","t14","handleSort","t15","direction","ChevronUp","ChevronDown","ChevronsUpDown","renderSortIcon","t16","t17","t18","t19","t20","information","Tooltip","t21","t22","TableHeaderRow","valueCheck","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","classNameSubContainer","otherProps","containerClass","useMemo","subContainerClass","tableClass","Table","Object","assign","Header","HeaderRow","HeaderColumn","SearchRow","SearchColumn","Body","BodyRow","BodyColumn","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","initialSortDescriptor","initialColumnWidths","setSelectKeys","setDisabledKeys","valueSearch","setValueSearch","setSortDescriptor","setColumnWidths","prev","exists","filter","handleSelectKey","value_0","handleSelectKeys","value_1","handleDisabledKeys","handleResetSelectKeys","value_2","prev_0","newState","handleSetValueSearch","prev_1","prev_2","handleColumnResize","columnId_0","prev_3","handleColumnResizeEnd"],"mappings":"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"}
|
package/dist/table/index.es.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { AnimatePresence, LazyMotion } from "framer-motion";
|
|
3
2
|
import React__default, { createContext, useContext, memo, isValidElement, forwardRef, useId, useRef, useEffect, useState, useMemo } from "react";
|
|
4
3
|
import { twMerge } from "tailwind-merge";
|
|
5
4
|
import { c } from "react/compiler-runtime";
|
|
@@ -17,6 +16,7 @@ const initialValues = {
|
|
|
17
16
|
isActions: true,
|
|
18
17
|
isStickyAction: false,
|
|
19
18
|
actionLabel: "",
|
|
19
|
+
actionClassName: "",
|
|
20
20
|
widthAction: 100,
|
|
21
21
|
totalColumn: 0,
|
|
22
22
|
sortDescriptor: null,
|
|
@@ -997,7 +997,7 @@ const TableHeaderColumn = React__default.memo((t0) => {
|
|
|
997
997
|
});
|
|
998
998
|
TableHeaderColumn.displayName = "TableHeaderColumn";
|
|
999
999
|
const TableHeaderRow = React__default.memo((t0) => {
|
|
1000
|
-
const $ = c(
|
|
1000
|
+
const $ = c(45);
|
|
1001
1001
|
let children;
|
|
1002
1002
|
let className;
|
|
1003
1003
|
let disabledCheck;
|
|
@@ -1049,6 +1049,7 @@ const TableHeaderRow = React__default.memo((t0) => {
|
|
|
1049
1049
|
isActions,
|
|
1050
1050
|
isStickyAction,
|
|
1051
1051
|
actionLabel,
|
|
1052
|
+
actionClassName,
|
|
1052
1053
|
color
|
|
1053
1054
|
} = useTableContext();
|
|
1054
1055
|
let t4;
|
|
@@ -1142,34 +1143,35 @@ const TableHeaderRow = React__default.memo((t0) => {
|
|
|
1142
1143
|
t7 = $[32];
|
|
1143
1144
|
}
|
|
1144
1145
|
let t8;
|
|
1145
|
-
if ($[33] !==
|
|
1146
|
-
t8 = isActions && /* @__PURE__ */ jsx(TableHeaderColumn, { color, text: actionLabel, className: isStickyAction ? "table__column_action--sticky" : void 0, style: {
|
|
1146
|
+
if ($[33] !== actionClassName || $[34] !== actionLabel || $[35] !== color || $[36] !== isActions || $[37] !== isStickyAction || $[38] !== widthAction) {
|
|
1147
|
+
t8 = isActions && /* @__PURE__ */ jsx(TableHeaderColumn, { color, text: actionLabel, className: twMerge(actionClassName, isStickyAction ? "table__column_action--sticky" : void 0), style: {
|
|
1147
1148
|
minWidth: `${widthAction}px`,
|
|
1148
1149
|
width: `${widthAction}px`
|
|
1149
1150
|
} });
|
|
1150
|
-
$[33] =
|
|
1151
|
-
$[34] =
|
|
1152
|
-
$[35] =
|
|
1153
|
-
$[36] =
|
|
1154
|
-
$[37] =
|
|
1155
|
-
$[38] =
|
|
1151
|
+
$[33] = actionClassName;
|
|
1152
|
+
$[34] = actionLabel;
|
|
1153
|
+
$[35] = color;
|
|
1154
|
+
$[36] = isActions;
|
|
1155
|
+
$[37] = isStickyAction;
|
|
1156
|
+
$[38] = widthAction;
|
|
1157
|
+
$[39] = t8;
|
|
1156
1158
|
} else {
|
|
1157
|
-
t8 = $[
|
|
1159
|
+
t8 = $[39];
|
|
1158
1160
|
}
|
|
1159
1161
|
let t9;
|
|
1160
|
-
if ($[
|
|
1162
|
+
if ($[40] !== headerChildren || $[41] !== t6 || $[42] !== t7 || $[43] !== t8) {
|
|
1161
1163
|
t9 = /* @__PURE__ */ jsxs("tr", { className: t6, children: [
|
|
1162
1164
|
t7,
|
|
1163
1165
|
headerChildren,
|
|
1164
1166
|
t8
|
|
1165
1167
|
] });
|
|
1166
|
-
$[
|
|
1167
|
-
$[
|
|
1168
|
-
$[
|
|
1169
|
-
$[
|
|
1170
|
-
$[
|
|
1168
|
+
$[40] = headerChildren;
|
|
1169
|
+
$[41] = t6;
|
|
1170
|
+
$[42] = t7;
|
|
1171
|
+
$[43] = t8;
|
|
1172
|
+
$[44] = t9;
|
|
1171
1173
|
} else {
|
|
1172
|
-
t9 = $[
|
|
1174
|
+
t9 = $[44];
|
|
1173
1175
|
}
|
|
1174
1176
|
return t9;
|
|
1175
1177
|
});
|
|
@@ -1360,6 +1362,7 @@ const TableHOC = ({
|
|
|
1360
1362
|
className,
|
|
1361
1363
|
children,
|
|
1362
1364
|
classNameContainer,
|
|
1365
|
+
classNameSubContainer,
|
|
1363
1366
|
...props
|
|
1364
1367
|
}) => {
|
|
1365
1368
|
const {
|
|
@@ -1370,6 +1373,7 @@ const TableHOC = ({
|
|
|
1370
1373
|
isActions = true,
|
|
1371
1374
|
isStickyAction = false,
|
|
1372
1375
|
actionLabel,
|
|
1376
|
+
actionClassName,
|
|
1373
1377
|
widthAction = 100,
|
|
1374
1378
|
dataHeader,
|
|
1375
1379
|
sortDescriptor,
|
|
@@ -1381,8 +1385,9 @@ const TableHOC = ({
|
|
|
1381
1385
|
} = props;
|
|
1382
1386
|
const hasStickyAction = isActions && isStickyAction;
|
|
1383
1387
|
const containerRef = useStickyAction(hasStickyAction);
|
|
1388
|
+
const containerClass = useMemo(() => twMerge("table__container_main max-w-full bg-default-100 p-1 rounded-lg", classNameContainer), [classNameContainer]);
|
|
1389
|
+
const subContainerClass = useMemo(() => twMerge("table__scroll-container table__sub--container overflow-x-auto overflow-y-auto scrollbar-gutter-auto", hasStickyAction && "table--sticky-action", classNameSubContainer), [classNameSubContainer, hasStickyAction]);
|
|
1384
1390
|
const tableClass = useMemo(() => twMerge("table-main-container w-full border-separate border-spacing-0 table-auto", className), [className]);
|
|
1385
|
-
const containerClass = useMemo(() => twMerge("table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg", hasStickyAction && "table--sticky-action", classNameContainer), [classNameContainer, hasStickyAction]);
|
|
1386
1391
|
return /* @__PURE__ */ jsx(TableContext.Provider, { value: {
|
|
1387
1392
|
color,
|
|
1388
1393
|
disabledKeys,
|
|
@@ -1391,6 +1396,7 @@ const TableHOC = ({
|
|
|
1391
1396
|
isActions,
|
|
1392
1397
|
isStickyAction,
|
|
1393
1398
|
actionLabel,
|
|
1399
|
+
actionClassName,
|
|
1394
1400
|
widthAction,
|
|
1395
1401
|
totalColumn: dataHeader?.length || 0,
|
|
1396
1402
|
sortDescriptor,
|
|
@@ -1398,10 +1404,10 @@ const TableHOC = ({
|
|
|
1398
1404
|
columnWidths,
|
|
1399
1405
|
onColumnResize,
|
|
1400
1406
|
onColumnResizeEnd
|
|
1401
|
-
}, children: /* @__PURE__ */ jsx("div", {
|
|
1407
|
+
}, children: /* @__PURE__ */ jsx("div", { className: containerClass, children: /* @__PURE__ */ jsx("div", { ref: containerRef, className: subContainerClass, children: /* @__PURE__ */ jsx("table", { className: tableClass, children: React__default.Children.map(children, (child) => isValidElement(child) ? React__default.cloneElement(child, {
|
|
1402
1408
|
dataHeader,
|
|
1403
1409
|
...otherProps
|
|
1404
|
-
}) : child) }) }) }) })
|
|
1410
|
+
}) : child) }) }) }) });
|
|
1405
1411
|
};
|
|
1406
1412
|
const Table = Object.assign(TableHOC, {
|
|
1407
1413
|
Header: TableHeader,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-empty-state.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/header/table-header.tsx","../../src/components/table/hook/use-sticky-action.tsx","../../src/components/table/hook/use-column-resize.tsx","../../src/components/table/header/resize-handle.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\tisStickyAction: false,\n\tactionLabel: \"\",\n\twidthAction: 100,\n\ttotalColumn: 0,\n\tsortDescriptor: null,\n\tonSortChange: () => {},\n\tcolumnWidths: {},\n\tonColumnResize: () => {},\n\tonColumnResizeEnd: () => {},\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\nimport { TableContext } from \"../context/table.context\";\n\nexport const useTableContext = () => {\n\treturn useContext(TableContext);\n};\n","import { memo } from \"react\";\n\ninterface TableEmptyStateProps {\n\ttext?: string;\n}\n\nexport const TableEmptyState = memo(({ text = \"No hay resultados disponibles por el momento.\" }: TableEmptyStateProps) => {\n\treturn (\n\t\t<div className=\"w-full flex flex-col items-center justify-center\">\n\t\t\t<div className=\"flex flex-col items-center justify-center gap-3 px-5 py-7 max-w-sm\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" className=\"w-16 h-16 text-default-300 dark:text-default-400\" fill=\"none\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\td=\"m6.379 4.5-.44-.44-.621-.62A1.5 1.5 0 0 0 4.258 3H3a1.5 1.5 0 0 0-1.5 1.5v5.25l1.376-2.293A3 3 0 0 1 5.45 6h7.05A1.5 1.5 0 0 0 11 4.5zM14 6.026V6a3 3 0 0 0-3-3H7l-.621-.621A3 3 0 0 0 4.257 1.5H3a3 3 0 0 0-3 3V11a3 3 0 0 0 3 3h8.301a3 3 0 0 0 2.573-1.457l1.791-2.985A2.35 2.35 0 0 0 14 6.026M10 12.5h1.301a1.5 1.5 0 0 0 1.287-.728l1.791-2.986 1.286.772-1.286-.772a.85.85 0 0 0-.728-1.286H5.449a1.5 1.5 0 0 0-1.287.728l-1.791 2.986a.85.85 0 0 0 .728 1.286z\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t></path>\n\t\t\t\t</svg>\n\t\t\t\t<p className=\"text-sm text-default-500 dark:text-default-200\">{text}</p>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nTableEmptyState.displayName = \"TableEmptyState\";\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport LoaderCircle from \"@/components/loader/loader-circle\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\nimport { TableEmptyState } from \"./table-empty-state\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\temptyText = \"No hay resultados disponibles por el momento.\",\n\tisLoading = false,\n\tloadingLabel = \"Cargando...\",\n\trowKey,\n\t...props\n}: TableBodyProps<TData>) {\n\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t// Filter out dataHeader if it was passed via cloneElement to avoid DOM warnings\n\tconst domProps = { ...(props as any) };\n\tdelete domProps.dataHeader;\n\n\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\tconst renderedRows = useMemo(() => {\n\t\tif (!data || data.length === 0) return null;\n\n\t\tif (typeof children === \"function\") {\n\t\t\treturn data.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index;\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: rowKey ? rowKey(data[index] as TData, index) : index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, data, rowKey]);\n\n\tlet fallbackContent: React.ReactNode = null;\n\n\tif (isLoading) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"loading-table-content\">\n\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t<div className=\"flex flex-col justify-center items-center gap-2\">\n\t\t\t\t\t\t\t<div className=\"mt-3.5\">\n\t\t\t\t\t\t\t\t<LoaderCircle size={45} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-default-800\">{loadingLabel}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t} else if (data.length === 0) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"empty-table-content\">\n\t\t\t\t<td className=\"px-2 py-10 w-full\" colSpan={total}>\n\t\t\t\t\t<TableEmptyState text={emptyText} />\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\treturn (\n\t\t<tbody className={twMerge(\"table__body__main\", mergedClass)} {...domProps}>\n\t\t\t{renderedRows}\n\t\t\t{fallbackContent}\n\t\t</tbody>\n\t);\n}\n\nexport const TableBody = memo(<TData extends object>(props: TableBodyProps<TData>) => {\n\treturn <TableBodyComponent {...props} />;\n}) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style, colspan= undefined}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import Checkbox from \"@/components/checkbox/checkbox\";\nimport clsx from \"clsx\";\nimport { forwardRef, memo, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, selectKeys, disabledKeys, color, isActions, isStickyAction } = useTableContext();\n\t\tconst hasStickyAction = isActions && isStickyAction;\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"table__body_row relative min-h-[40px] h-[40px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100\": !check,\n\t\t\t\t\t\t// The sticky action cell inherits the row background, so the\n\t\t\t\t\t\t// hover color must stay opaque to fully cover scrolled content.\n\t\t\t\t\t\t\"hover:bg-[#ffffff66]\": !check && !hasStickyAction,\n\t\t\t\t\t\t\"hover:bg-default-50\": !check && hasStickyAction,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className, hasStickyAction],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import { useEffect, useRef } from \"react\";\n\nconst PINNED_CLASS = \"table--action-pinned\";\n\n/**\n * Tracks horizontal overflow of the table scroll container and toggles the\n * pinned modifier class when content remains hidden to the right, so the\n * sticky action column only shows its elevation shadow while it is actually\n * covering scrollable content. The class is toggled directly on the DOM node\n * to avoid re-rendering the table on every scroll event.\n */\nexport const useStickyAction = (enabled: boolean) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tconst container = containerRef.current;\n\t\tif (!enabled || !container) return;\n\n\t\tconst updatePinnedState = () => {\n\t\t\tconst hasOverflowRight = container.scrollWidth - container.clientWidth - container.scrollLeft > 1;\n\t\t\tcontainer.classList.toggle(PINNED_CLASS, hasOverflowRight);\n\t\t};\n\n\t\tupdatePinnedState();\n\t\tcontainer.addEventListener(\"scroll\", updatePinnedState, { passive: true });\n\n\t\tconst resizeObserver = new ResizeObserver(updatePinnedState);\n\t\tresizeObserver.observe(container);\n\t\tconst table = container.querySelector(\"table\");\n\t\tif (table) resizeObserver.observe(table);\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener(\"scroll\", updatePinnedState);\n\t\t\tresizeObserver.disconnect();\n\t\t\tcontainer.classList.remove(PINNED_CLASS);\n\t\t};\n\t}, [enabled]);\n\n\treturn containerRef;\n};\n","import { useCallback, useRef, useState, useEffect } from \"react\";\n\ninterface UseColumnResizeProps {\n\tcolumnId: string;\n\tinitialWidth?: number;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tonResize?: (columnId: string, width: number) => void;\n\tonResizeEnd?: (columnId: string, width: number) => void;\n}\n\nexport function useColumnResize({\n\tcolumnId,\n\tinitialWidth = 150,\n\tminWidth = 80,\n\tmaxWidth = 800,\n\tonResize,\n\tonResizeEnd,\n}: UseColumnResizeProps) {\n\tconst [width, setWidth] = useState(initialWidth);\n\tconst [isResizing, setIsResizing] = useState(false);\n\tconst startXRef = useRef(0);\n\tconst startWidthRef = useRef(0);\n\tconst columnRef = useRef<HTMLTableCellElement>(null);\n\n\tuseEffect(() => {\n\t\tif (initialWidth !== width) {\n\t\t\tsetWidth(initialWidth);\n\t\t}\n\t}, [initialWidth]);\n\n\tconst handlePointerDown = useCallback(\n\t\t(e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tconst target = e.currentTarget;\n\t\t\ttarget.setPointerCapture(e.pointerId);\n\n\t\t\tstartXRef.current = e.clientX;\n\t\t\tstartWidthRef.current = width;\n\t\t\tsetIsResizing(true);\n\n\t\t\t// Prevent text selection during resize\n\t\t\tdocument.body.style.userSelect = \"none\";\n\t\t\tdocument.body.style.cursor = \"col-resize\";\n\t\t},\n\t\t[width],\n\t);\n\n\tconst handlePointerMove = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst newWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tsetWidth(newWidth);\n\t\t\tonResize?.(columnId, newWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResize],\n\t);\n\n\tconst handlePointerUp = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tsetIsResizing(false);\n\t\t\tdocument.body.style.userSelect = \"\";\n\t\t\tdocument.body.style.cursor = \"\";\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst finalWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tonResizeEnd?.(columnId, finalWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResizeEnd],\n\t);\n\n\tuseEffect(() => {\n\t\tif (isResizing) {\n\t\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t\t};\n\t\t}\n\t}, [isResizing, handlePointerMove, handlePointerUp]);\n\n\treturn {\n\t\twidth,\n\t\tisResizing,\n\t\tcolumnRef,\n\t\thandlePointerDown,\n\t\tsetWidth,\n\t};\n}\n\nexport type UseColumnResizeReturn = ReturnType<typeof useColumnResize>;\n","import { memo } from \"react\";\nimport clsx from \"clsx\";\n\ninterface ResizeHandleProps {\n\tonPointerDown: (e: React.PointerEvent<HTMLDivElement>) => void;\n\tisResizing: boolean;\n\tclassName?: string;\n}\n\nexport const ResizeHandle = memo(({ onPointerDown, isResizing, className }: ResizeHandleProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={clsx(\n\t\t\t\t\"absolute top-0 right-0 h-full w-1 cursor-col-resize select-none touch-none group/resize z-10\",\n\t\t\t\t\"hover:bg-default/50 active:bg-default transition-colors\",\n\t\t\t\tisResizing && \"bg-default\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tonPointerDown={onPointerDown}\n\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\tonDoubleClick={(e) => e.stopPropagation()}\n\t\t\trole=\"separator\"\n\t\t\taria-orientation=\"vertical\"\n\t\t\taria-label=\"Resize column\"\n\t\t>\n\t\t\t{/* Extended hit area for better UX */}\n\t\t\t<div className=\"absolute inset-y-0 -left-2 -right-2\" />\n\n\t\t\t{/* Visual indicator on hover */}\n\t\t\t<div\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\",\n\t\t\t\t\t\"w-1 h-8 rounded-full bg-default opacity-0 group-hover/resize:opacity-100 transition-opacity\",\n\t\t\t\t\tisResizing && \"opacity-100\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nResizeHandle.displayName = \"ResizeHandle\";\n","import { Tooltip } from \"@/components/tooltip\";\nimport { ChevronDown, ChevronsUpDown, ChevronUp } from \"lucide-react\";\nimport React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useColumnResize } from \"../hook/use-column-resize\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { ResizeHandle } from \"./resize-handle\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({\n\t\tchildren,\n\t\tclassName,\n\t\tstyle = {},\n\t\ticon = null,\n\t\ttext = \"\",\n\t\tsize,\n\t\theader,\n\t\tcolspan = undefined,\n\t\tresizable: resizableProp,\n\t\tminWidth: minWidthProp,\n\t\tmaxWidth: maxWidthProp,\n\t\tonResize: onResizeProp,\n\t\tonResizeEnd: onResizeEndProp,\n\t}) => {\n\t\tconst { sortDescriptor, onSortChange, columnWidths, onColumnResize, onColumnResizeEnd } = useTableContext(); // Determine if column is resizable\n\t\tconst isResizable = resizableProp ?? header?.resizable ?? false;\n\t\tconst columnId = header?.id || \"\";\n\t\tconst initialWidth = columnWidths?.[columnId] || size || header?.size || 150;\n\t\tconst minWidth = minWidthProp ?? header?.minWidth ?? 80;\n\t\tconst maxWidth = maxWidthProp ?? header?.maxWidth ?? 800;\n\n\t\t// Use resize hook if column is resizable\n\t\tconst {\n\t\t\twidth: resizedWidth,\n\t\t\tisResizing,\n\t\t\tcolumnRef,\n\t\t\thandlePointerDown,\n\t\t} = useColumnResize({\n\t\t\tcolumnId,\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonResize: (id, width) => {\n\t\t\t\tonResizeProp?.(width);\n\t\t\t\tonColumnResize?.(id, width);\n\t\t\t},\n\t\t\tonResizeEnd: (id, width) => {\n\t\t\t\tonResizeEndProp?.(width);\n\t\t\t\tonColumnResizeEnd?.(id, width);\n\t\t\t},\n\t\t});\n\n\t\tconst mergedClass = useMemo(() => twMerge(\"table__header_th px-2 relative\", className), [className]);\n\n\t\tconst effectiveWidth = isResizable ? resizedWidth : size || header?.size;\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: effectiveWidth ? `${effectiveWidth}px` : style.width,\n\t\t\t\tminWidth: effectiveWidth ? `${effectiveWidth}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, effectiveWidth],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\t\tconst isSortable = header?.sort;\n\n\t\tconst isCurrentlySorted = useMemo(() => sortDescriptor?.column === header?.id, [sortDescriptor, header?.id]);\n\n\t\tconst handleSort = (e: React.MouseEvent<HTMLTableCellElement>) => {\n\t\t\t// No ordenar si se está haciendo resize\n\t\t\tif (isResizing) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isSortable && onSortChange && header?.id) {\n\t\t\t\tonSortChange(header.id);\n\t\t\t}\n\t\t};\n\t\tconst renderSortIcon = () => {\n\t\t\tif (!isSortable) return icon;\n\n\t\t\tif (isCurrentlySorted && sortDescriptor) {\n\t\t\t\treturn sortDescriptor.direction === \"asc\" ? (\n\t\t\t\t\t<ChevronUp className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronDown className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <ChevronsUpDown className=\"h-4 w-4 text-default-300\" />;\n\t\t};\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tref={isResizable ? columnRef : undefined}\n\t\t\t\tclassName={twMerge(mergedClass, isSortable ? \"cursor-pointer transition-colors\" : \"\", isResizing && \"select-none\")}\n\t\t\t\tstyle={mergedStyle}\n\t\t\t\tcolSpan={colspan}\n\t\t\t\tonClick={handleSort}\n\t\t\t>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-foreground-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex justify-end\">{renderSortIcon()}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\n\t\t\t\t{/* Resize handle */}\n\t\t\t\t{isResizable && <ResizeHandle onPointerDown={handlePointerDown} isResizing={isResizing} />}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { TableHeaderColumn } from \"./table-header-column\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, widthAction, isActions, isStickyAction, actionLabel, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index });\n\n\t\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-default-100 h-[45px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-10 w-10\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && (\n\t\t\t\t\t<TableHeaderColumn\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\ttext={actionLabel}\n\t\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {}, colspan = undefined }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions, isStickyAction } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-default-100 dark:bg-default-100 h-[45px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: dataHeader[index]?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader]);\n\n\treturn (\n\t\t<tr className={mergedClass} {...props}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-10 w-10\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && (\n\t\t\t\t<TableSearchColumn\n\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import { AnimatePresence, LazyMotion } from \"framer-motion\";\nimport React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeader } from \"./header/table-header\";\nimport { useStickyAction } from \"./hook/use-sticky-action\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport \"./style/table-style.css\";\n\nexport const TableHOC = ({ className, children, classNameContainer, ...props }: TableProps) => {\n\tconst {\n\t\tcolor = \"primary\",\n\t\tdisabledKeys,\n\t\tisChecks = true,\n\t\tselectKeys = [],\n\t\tisActions = true,\n\t\tisStickyAction = false,\n\t\tactionLabel,\n\t\twidthAction = 100,\n\t\tdataHeader,\n\t\tsortDescriptor,\n\t\tonSortChange,\n\t\tcolumnWidths = {},\n\t\tonColumnResize,\n\t\tonColumnResizeEnd,\n\t\t...otherProps\n\t} = props;\n\n\tconst hasStickyAction = isActions && isStickyAction;\n\tconst containerRef = useStickyAction(hasStickyAction);\n\n\tconst tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\",\n\t\t\t\thasStickyAction && \"table--sticky-action\",\n\t\t\t\tclassNameContainer,\n\t\t\t),\n\t\t[classNameContainer, hasStickyAction],\n\t);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\tisStickyAction,\n\t\t\t\tactionLabel,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t\tsortDescriptor,\n\t\t\t\tonSortChange,\n\t\t\t\tcolumnWidths,\n\t\t\t\tonColumnResize,\n\t\t\t\tonColumnResizeEnd,\n\t\t\t}}\n\t\t>\n\t\t\t<div ref={containerRef} className={containerClass}>\n\t\t\t\t<AnimatePresence>\n\t\t\t\t\t<LazyMotion features={() => import(\"framer-motion\").then((res) => res.domAnimation)}>\n\t\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement<any>, {\n\t\t\t\t\t\t\t\t\t\t\tdataHeader,\n\t\t\t\t\t\t\t\t\t\t\t...otherProps,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</LazyMotion>\n\t\t\t\t</AnimatePresence>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps, type SortDescriptor, type ColumnWidths } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n\tinitialSortDescriptor?: SortDescriptor | null;\n\tinitialColumnWidths?: ColumnWidths;\n}\n\nexport const useTable = ({\n\tinitialDisabledKeys = [],\n\tinitialSelectKey = [],\n\tinitialValueSearch = {},\n\tinitialSortDescriptor = null,\n\tinitialColumnWidths = {},\n}: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\tconst [sortDescriptor, setSortDescriptor] = useState<SortDescriptor | null>(initialSortDescriptor);\n\tconst [columnWidths, setColumnWidths] = useState<ColumnWidths>(initialColumnWidths);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\t\t\tif (exists) {\n\t\t\t\treturn prev.filter((el) => el.id !== value.id);\n\t\t\t}\n\t\t\treturn [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tif (prev[key] === value) return prev; // Avoid unnecessary updates\n\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) {\n\t\t\t\tnewState[key] = value;\n\t\t\t} else {\n\t\t\t\tdelete newState[key];\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\tconst handleSort = useCallback((column: string) => {\n\t\tsetSortDescriptor((prev) => {\n\t\t\t// Si ya existe ordenamiento en esta columna\n\t\t\tif (prev?.column === column) {\n\t\t\t\t// Toggle: asc -> desc -> remove\n\t\t\t\tif (prev.direction === \"asc\") {\n\t\t\t\t\treturn { column, direction: \"desc\" };\n\t\t\t\t} else {\n\t\t\t\t\t// Remove si era desc\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Nueva columna, iniciar con asc\n\t\t\treturn { column, direction: \"asc\" };\n\t\t});\n\t}, []);\n\n\tconst handleColumnResize = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\tconst handleColumnResizeEnd = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\tsortDescriptor,\n\t\tcolumnWidths,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n\t\thandleResetSelectKeys,\n\t\thandleSort,\n\t\thandleColumnResize,\n\t\thandleColumnResizeEnd,\n\t};\n};\n"],"names":["initialValues","color","disabledKeys","isChecks","selectKeys","isActions","isStickyAction","actionLabel","widthAction","totalColumn","sortDescriptor","onSortChange","columnWidths","onColumnResize","onColumnResizeEnd","TableContext","createContext","useTableContext","useContext","TableEmptyState","memo","t0","$","_c","text","t1","undefined","t2","Symbol","for","t3","displayName","TableBodyComponent","children","className","props","rowKey","t4","data","emptyText","isLoading","loadingLabel","t5","total","Number","t6","domProps","dataHeader","t7","twMerge","mergedClass","t8","bb0","length","t9","t10","el","index","child","item","keyValue","isValidElement","React","cloneElement","key","map","child_0","index_0","Children","renderedRows","fallbackContent","t11","TableBody","TableBodyColumn","forwardRef","ref","style","colspan","trim","isChildrenEmpty","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","useId","hasStickyAction","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","e","target","checked","TableHeader","clonedChildren","PINNED_CLASS","useStickyAction","enabled","containerRef","useRef","container","current","updatePinnedState","hasOverflowRight","scrollWidth","clientWidth","scrollLeft","classList","toggle","addEventListener","passive","resizeObserver","ResizeObserver","observe","table","querySelector","removeEventListener","disconnect","remove","useEffect","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","startWidthRef","columnRef","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","ResizeHandle","onPointerDown","_temp","_temp2","TableHeaderColumn","icon","size","header","resizable","resizableProp","minWidthProp","maxWidthProp","onResizeProp","onResizeEndProp","isResizable","id_0","width_0","resizedWidth","effectiveWidth","t12","mergedStyle","t13","isSortable","sort","isCurrentlySorted","column","t14","handleSort","t15","direction","renderSortIcon","t16","t17","t18","t19","t20","information","t21","t22","TableHeaderRow","valueCheck","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","otherProps","tableClass","useMemo","containerClass","then","res","domAnimation","Table","Object","assign","Header","HeaderRow","HeaderColumn","SearchRow","SearchColumn","Body","BodyRow","BodyColumn","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","initialSortDescriptor","initialColumnWidths","setSelectKeys","setDisabledKeys","valueSearch","setValueSearch","setSortDescriptor","setColumnWidths","prev","exists","filter","handleSelectKey","value_0","handleSelectKeys","value_1","handleDisabledKeys","handleResetSelectKeys","value_2","prev_0","newState","handleSetValueSearch","prev_1","prev_2","handleColumnResize","columnId_0","prev_3","handleColumnResizeEnd"],"mappings":";;;;;;;;;;;AAIA,MAAMA,gBAAmC;AAAA,EACxCC,OAAO;AAAA,EACPC,cAAc,CAAA;AAAA,EACdC,UAAU;AAAA,EACVC,YAAY,CAAA;AAAA,EACZC,WAAW;AAAA,EACXC,gBAAgB;AAAA,EAChBC,aAAa;AAAA,EACbC,aAAa;AAAA,EACbC,aAAa;AAAA,EACbC,gBAAgB;AAAA,EAChBC,cAAcA,MAAM;AAAA,EAAC;AAAA,EACrBC,cAAc,CAAA;AAAA,EACdC,gBAAgBA,MAAM;AAAA,EAAC;AAAA,EACvBC,mBAAmBA,MAAM;AAAA,EAAC;AAC3B;AAEO,MAAMC,eAAeC,cAAiChB,aAAa;AClBnE,MAAMiB,kBAAkBA,MAAA;AAAA,SACvBC,WAAWH,YAAY;AAAC;ACEzB,MAAMI,kBAAkBC,KAAKC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAC,QAAA;AAAA,IAAAC,MAAAC;AAAAA,EAAAA,IAAAJ;AAAE,QAAAG,OAAAC,OAAAC,SAAA,kDAAAD;AAAsD,MAAAE;AAAA,MAAAL,EAAA,CAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAIzFF,sCAAW,OAAA,8BAAuC,WAAA,oDAAwD,MAAA,QAAe,SAAA,aACxH,8BAAA,QAAA,EACM,MAAA,gBACI,UAAA,WACP,GAAA,0cACO,UAAA,WAAS,EAAA,CAEpB;AAAML,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAQ;AAAA,MAAAR,SAAAE,MAAA;AATRM,6BAAA,OAAA,EAAe,WAAA,oDACd,UAAA,qBAAA,OAAA,EAAe,WAAA,sEACdH,UAAAA;AAAAA,MAAAA;AAAAA,MAQA,oBAAA,KAAA,EAAa,WAAA,kDAAkDH,UAAAA,KAAAA,CAAK;AAAA,IAAA,EAAA,CACrE,EAAA,CACD;AAAMF,WAAAE;AAAAF,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAAA,SAZNQ;AAYM,CAEP;AAEDX,gBAAgBY,cAAc;AChB9B,SAAAC,mBAAAX,IAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAU;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAX;AAAA,MAAAE;AAAA,MAAAG;AAAA,MAAAO;AAAA,MAAAf,SAAAD,IAAA;AAAkD,KAAA;AAAA,MAAAY;AAAAA,MAAAC;AAAAA,MAAAI,MAAAb;AAAAA,MAAAc,WAAAZ;AAAAA,MAAAa,WAAAV;AAAAA,MAAAW,cAAAJ;AAAAA,MAAAD;AAAAA,MAAA,GAAAD;AAAAA,IAAAA,IAAAd;AAS1BC,WAAAD;AAAAC,WAAAW;AAAAX,WAAAY;AAAAZ,WAAAa;AAAAb,WAAAc;AAAAd,WAAAG;AAAAH,WAAAK;AAAAL,WAAAQ;AAAAR,WAAAe;AAAAA,EAAA,OAAA;AAAAJ,eAAAX,EAAA,CAAA;AAAAY,gBAAAZ,EAAA,CAAA;AAAAa,YAAAb,EAAA,CAAA;AAAAc,aAAAd,EAAA,CAAA;AAAAG,SAAAH,EAAA,CAAA;AAAAK,SAAAL,EAAA,CAAA;AAAAQ,SAAAR,EAAA,CAAA;AAAAe,SAAAf,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAoB;AAAA,MAAApB,SAAAG,IAAA;AANvBiB,SAAAjB,OAAAC,SAAA,CAAA,IAAAD;AAASH,WAAAG;AAAAH,YAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,EAAA;AAAA,EAAA;AAAT,QAAAgB,OAAAI;AACA,QAAAH,YAAAZ,OAAAD,SAAA,kDAAAC;AACA,QAAAa,YAAAV,OAAAJ,SAAA,QAAAI;AACA,QAAAW,eAAAJ,OAAAX,SAAA,gBAAAW;AAIA,QAAA;AAAA,IAAA5B;AAAAA,IAAAJ;AAAAA,IAAAF;AAAAA,EAAAA,IAA6Cc,gBAAAA;AAC7C,QAAA0B,QAAcC,OAAOnC,WAAW,IAAImC,OAAOvC,SAAS,IAAIuC,OAAOzC,QAAQ;AAGhD,QAAA0C,KAAAV;AAAY,MAAAW;AAAA,MAAAxB,UAAAuB,IAAA;AAAnCC,eAAiB;AAAA,MAAA,GAAMD;AAAAA,IAAAA;AACvB,WAAOC,SAAQC;AAAWzB,YAAAuB;AAAAvB,YAAAwB;AAAAA,EAAA,OAAA;AAAAA,eAAAxB,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,UAAAY,WAAA;AAEQc,SAAAC,QAAQf,SAAS;AAACZ,YAAAY;AAAAZ,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAApD,QAAA4B,cAAkCF;AAAiC,MAAAG;AAAAC,OAAA;AAGlE,QAAI,CAACd,QAAQA,KAAIe,WAAY,GAAC;AAAEF,WAAO;AAAP,YAAAC;AAAAA,IAAY;AAE5C,QAAI,OAAOnB,aAAa,YAAU;AAAA,UAAAqB;AAAA,UAAAhC,EAAA,EAAA,MAAAW,YAAAX,UAAAgB,QAAAhB,EAAA,EAAA,MAAAc,QAAA;AAAA,YAAAmB;AAAA,YAAAjC,EAAA,EAAA,MAAAW,YAAAX,UAAAc,QAAA;AACjBmB,iBAAAA,CAAAC,IAAAC,UAAA;AACf,kBAAAC,QAAczB,SAAS;AAAA,cAAA0B,MAAQH;AAAAA,cAAEC;AAAAA,YAAAA,CAAS;AAC1C,kBAAAG,WAAiBxB,SAASA,OAAOoB,IAAIC,KAAa,IAAjCA;AAAmC,mBAE7CI,eAAeH,KAIhB,IAHHI,eAAKC,aAAcL,OAAwC;AAAA,cAAAM,KACtDJ;AAAAA,YAAAA,CAEF,IAJC;AAAA,UAIA;AACPtC,kBAAAW;AAAAX,kBAAAc;AAAAd,kBAAAiC;AAAAA,QAAA,OAAA;AAAAA,iBAAAjC,EAAA,EAAA;AAAA,QAAA;AATMgC,cAAAhB,KAAI2B,IAAKV,IASf;AAACjC,gBAAAW;AAAAX,gBAAAgB;AAAAhB,gBAAAc;AAAAd,gBAAAgC;AAAAA,MAAA,OAAA;AAAAA,cAAAhC,EAAA,EAAA;AAAA,MAAA;AATF6B,WAAOG;AAAAA,IASJ,OAAA;AAAA,UAAAA;AAAA,UAAAhC,EAAA,EAAA,MAAAW,YAAAX,UAAAgB,QAAAhB,EAAA,EAAA,MAAAc,QAAA;AAAA,YAAAmB;AAAA,YAAAjC,EAAA,EAAA,MAAAgB,QAAAhB,UAAAc,QAAA;AAEiCmB,iBAAAA,CAAAW,SAAAC,YACnCN,eAAeH,OAIR,IAHJI,eAAKC,aAAcL,SAAwC;AAAA,YAAAM,KACtD5B,SAASA,OAAOE,KAAKmB,OAAK,GAAYA,OAAa,IAAnDU;AAAAA,UAAAA,CAED,IAJPD;AAIQ5C,kBAAAgB;AAAAhB,kBAAAc;AAAAd,kBAAAiC;AAAAA,QAAA,OAAA;AAAAA,iBAAAjC,EAAA,EAAA;AAAA,QAAA;AALFgC,cAAAQ,eAAKM,SAASH,IAAKhC,UAAUsB,IAMpC;AAACjC,gBAAAW;AAAAX,gBAAAgB;AAAAhB,gBAAAc;AAAAd,gBAAAgC;AAAAA,MAAA,OAAA;AAAAA,cAAAhC,EAAA,EAAA;AAAA,MAAA;AAND6B,WAAOG;AAAAA,IAML;AAAA,EACF;AAtBF,QAAAe,eAAqBlB;AAyBrB,MAAAmB,kBAAuC;AAEvC,MAAI9B,WAAS;AAAA,QAAAc;AAAA,QAAAhC,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAMPyB,gCAAA,OAAA,EAAe,WAAA,UACd,UAAA,oBAAC,cAAA,EAAmB,MAAA,GAAA,CAAE,EAAA,CACvB;AAAMhC,cAAAgC;AAAAA,IAAA,OAAA;AAAAA,YAAAhC,EAAA,EAAA;AAAA,IAAA;AAAA,QAAAiC;AAAA,QAAAjC,UAAAmB,cAAA;AAJRc,iCAAA,OAAA,EAAe,WAAA,gCACd,UAAA,qBAAA,OAAA,EAAe,WAAA,mDACdD,UAAAA;AAAAA,QAAAA;AAAAA,4BAGA,OAAA,EACC,UAAA,oBAAA,OAAa,WAAA,yCAAyCb,wBAAa,EAAA,CACpE;AAAA,MAAA,EAAA,CACD,EAAA,CACD;AAAMnB,cAAAmB;AAAAnB,cAAAiC;AAAAA,IAAA,OAAA;AAAAA,aAAAjC,EAAA,EAAA;AAAA,IAAA;AAAA,QAAAiD;AAAA,QAAAjD,EAAA,EAAA,MAAAiC,QAAAjC,UAAAqB,OAAA;AAXR4B,YAAA,oBAAA,MAAA,EAAc,WAAA,yBACb,UAAA,oBAAA,MAAA,EAAc,WAAA,sBAA8B5B,SAAAA,OAC3CY,UAAAA,KAAAA,CAUD,GACD;AAAKjC,cAAAiC;AAAAjC,cAAAqB;AAAArB,cAAAiD;AAAAA,IAAA,OAAA;AAAAA,YAAAjD,EAAA,EAAA;AAAA,IAAA;AAdNgD,sBACCA;AAAAA,EADc,OAAA;AAgBT,QAAIhC,KAAIe,WAAY,GAAC;AAAA,UAAAC;AAAA,UAAAhC,UAAAiB,WAAA;AAIxBe,kCAAC,iBAAA,EAAsBf,MAAAA,UAAAA,CAAS;AAAIjB,gBAAAiB;AAAAjB,gBAAAgC;AAAAA,MAAA,OAAA;AAAAA,cAAAhC,EAAA,EAAA;AAAA,MAAA;AAAA,UAAAiC;AAAA,UAAAjC,EAAA,EAAA,MAAAgC,OAAAhC,UAAAqB,OAAA;AAFtCY,eAAA,oBAAA,MAAA,EAAc,WAAA,uBACb,UAAA,oBAAA,MAAA,EAAc,WAAA,qBAA6BZ,SAAAA,OAC1CW,UAAAA,KACD,GACD;AAAKhC,gBAAAgC;AAAAhC,gBAAAqB;AAAArB,gBAAAiC;AAAAA,MAAA,OAAA;AAAAA,eAAAjC,EAAA,EAAA;AAAA,MAAA;AALNgD,wBACCA;AAAAA,IADc;AAAA,EAOf;AAAA,MAAAhB;AAAA,MAAAhC,UAAA4B,aAAA;AAGkBI,SAAAL,QAAQ,qBAAqBC,WAAW;AAAC5B,YAAA4B;AAAA5B,YAAAgC;AAAAA,EAAA,OAAA;AAAAA,SAAAhC,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAiC;AAAA,MAAAjC,EAAA,EAAA,MAAAwB,YAAAxB,EAAA,EAAA,MAAAgD,mBAAAhD,EAAA,EAAA,MAAA+C,gBAAA/C,UAAAgC,IAAA;AAA3DC,UAAA,qBAAA,SAAA,EAAkB,WAAAD,IAAyC,GAAMR,UAC/DuB,UAAAA;AAAAA,MAAAA;AAAAA,MACAC;AAAAA,IAAAA,GACF;AAAQhD,YAAAwB;AAAAxB,YAAAgD;AAAAhD,YAAA+C;AAAA/C,YAAAgC;AAAAhC,YAAAiC;AAAAA,EAAA,OAAA;AAAAA,UAAAjC,EAAA,EAAA;AAAA,EAAA;AAAA,SAHRiC;AAGQ;AAIH,MAAMiB,YAAYpD,KAAKe,CAAAA,UAAA;AAAA,QAAAb,IAAAC,EAAA,CAAA;AAAA,MAAAF;AAAA,MAAAC,SAAAa,OAAA;AACtBd,SAAA,oBAAC,oBAAA,EAAkB,GAAKc,MAAAA,CAAK;AAAIb,WAAAa;AAAAb,WAAAD;AAAAA,EAAA,OAAA;AAAAA,SAAAC,EAAA,CAAA;AAAA,EAAA;AAAA,SAAjCD;AAAiC,CACxC;ACtFM,MAAMoD,kBAAkBrD,KAC9BsD,WAAuD,CAAArD,IAAAsD,QAAA;AAAA,QAAArD,IAAAC,EAAA,EAAA;AAAC,QAAA;AAAA,IAAAU;AAAAA,IAAAC;AAAAA,IAAAV;AAAAA,IAAAoD;AAAAA,IAAAC,SAAApD;AAAAA,EAAAA,IAAAJ;AAAqC,QAAAwD,UAAApD,OAAAC,SAAAA,SAAAD;AAAkB,MAAAE;AAAA,MAAAL,SAAAY,WAAA;AAEvGP,SAAAsB,QAAQ,yDAAyDf,SAAS;AAACZ,WAAAY;AAAAZ,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AADlF,QAAA4B,cACOvB;AAEL,MAAAG;AAAA,MAAAR,SAAAW,UAAA;AAEsBH,SAAA,CAACG,YAAa,OAAOA,aAAa,YAAYA,SAAQ6C,WAAY;AAAGxD,WAAAW;AAAAX,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAA7F,QAAAyD,kBAAwBjD;AAAsE,MAAAO;AAAA,MAAAf,EAAA,CAAA,MAAAW,YAAAX,SAAAyD,mBAAAzD,EAAA,CAAA,MAAAE,MAAA;AAI3Fa,SAAA0C,kBACA,oBAAA,KAAA,EAAa,WAAA,wCAA6B,IAD1C9C;AAIAX,WAAAW;AAAAX,WAAAyD;AAAAzD,WAAAE;AAAAF,WAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAoB;AAAA,MAAApB,EAAA,CAAA,MAAAuD,WAAAvD,EAAA,CAAA,MAAA4B,eAAA5B,EAAA,EAAA,MAAAqD,OAAArD,EAAA,EAAA,MAAAsD,SAAAtD,UAAAe,IAAA;AALFK,SAAA,oBAAA,QAASiC,KAAgBzB,WAAAA,aAAoB0B,OAAgBC,SAAAA,SAC3DxC,UAAAA,GAAAA,CAKF;AAAKf,WAAAuD;AAAAvD,WAAA4B;AAAA5B,YAAAqD;AAAArD,YAAAsD;AAAAtD,YAAAe;AAAAf,YAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,EAAA;AAAA,EAAA;AAAA,SANLoB;AAMK,CAEN,CACF;AAEA+B,gBAAgB1C,cAAc;ACnBvB,MAAMiD,eAAe5D,KAC3BsD,WAAmD,CAAArD,IAAAsD,QAAA;AAAA,QAAArD,IAAAC,EAAA,EAAA;AAAC,QAAA;AAAA,IAAAU;AAAAA,IAAAC;AAAAA,IAAA+C;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAP;AAAAA,IAAAQ,SAAA3D;AAAAA,EAAAA,IAAAJ;AAAmE,QAAA+D,UAAA3D,OAAAC,SAAA,OAAAD;AACtH,QAAA4D,MAAYC,MAAAA;AACZ,QAAA;AAAA,IAAAnF;AAAAA,IAAAC;AAAAA,IAAAF;AAAAA,IAAAD;AAAAA,IAAAI;AAAAA,IAAAC;AAAAA,EAAAA,IAAiFW,gBAAAA;AACjF,QAAAsE,kBAAwBlF,aAAAC;AAA4B,MAAAqB;AAAA,MAAAL,SAAA2D,WAAAO,MAAAlE,SAAAlB,YAAA;AAExBuB,SAAAvB,YAAUqF,KAAOjC,CAAAA,OAAQA,GAAEgC,OAAQP,WAAUO,EAAG;AAAClE,MAAA,CAAA,IAAA2D,WAAAO;AAAAlE,WAAAlB;AAAAkB,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AAA7E,QAAAoE,QAA4B/D;AAAgF,MAAAG;AAAA,MAAAR,SAAApB,gBAAAoB,EAAA,CAAA,MAAA2D,WAAAO,IAAA;AAExE1D,SAAA5B,cAAYuF,KAAOE,CAAAA,SAAQnC,SAAOyB,WAAUO,EAAG;AAAClE,WAAApB;AAAAoB,MAAA,CAAA,IAAA2D,WAAAO;AAAAlE,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAApF,QAAAsE,gBAAoC9D;AAAiF,MAAAO;AAAA,MAAAf,EAAA,CAAA,MAAA6D,YAAA7D,EAAA,CAAA,MAAAsE,iBAAAtE,EAAA,CAAA,MAAA2D,cAAA3D,SAAA4D,eAAA;AAEhG7C,SAAAwD,CAAAA,UAAA;AACpB,UAAID,iBAAAT,UAAyB;AAAA;AAAA,MAAA;AAC7BD,sBAAgBD,YAAYY,KAAK;AAAA,IAAC;AAClCvE,WAAA6D;AAAA7D,WAAAsE;AAAAtE,WAAA2D;AAAA3D,WAAA4D;AAAA5D,YAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,EAAA;AAAA,EAAA;AAHD,QAAAwE,eAAqBzD;AAGnB,MAAAK;AAAA,MAAApB,EAAA,EAAA,MAAAoE,SAAApE,UAAAY,aAAAZ,EAAA,EAAA,MAAAiE,iBAAA;AAIA7C,SAAAO,QACC,6FACA8C,KAAK;AAAA,MAAA,yCACqC,CAACL;AAAAA,MAAK,wBAGvB,CAACA,SAAD,CAAWH;AAAAA,MAAe,uBAC3B,CAACG,SAADH;AAAAA,MAAyB,sCACVG;AAAAA,IAAAA,CACtC,GACDxD,SACD;AAACZ,YAAAoE;AAAApE,YAAAY;AAAAZ,YAAAiE;AAAAjE,YAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,EAAA;AAAA,EAAA;AAbH,QAAA0E,WAEEtD;AAaA,MAAAG;AAAA,MAAAvB,EAAA,EAAA,MAAAoE,SAAApE,EAAA,EAAA,MAAArB,SAAAqB,EAAA,EAAA,MAAA6D,YAAA7D,EAAA,EAAA,MAAAsE,iBAAAtE,EAAA,EAAA,MAAAwE,gBAAAxE,EAAA,EAAA,MAAA8D,WAAA9D,EAAA,EAAA,MAAAnB,YAAAmB,UAAA+D,KAAA;AAICxC,SAAA1C,YACA,oBAAA,MAAA,EAAc,WAAA,aACZiF,UAAAA,WACA,oBAAC,UAAA,EACIC,IAAAA,KACM,UAAAY,CAAAA,MAAOH,aAAaG,EAACC,OAAOC,OAAQ,GACrC,SAAAT,SAAA,OACC,WAAA,uBACA,UAAAE,iBAAAT,UACHlF,MAAAA,CAAK,EAAA,CAGf;AACAqB,YAAAoE;AAAApE,YAAArB;AAAAqB,YAAA6D;AAAA7D,YAAAsE;AAAAtE,YAAAwE;AAAAxE,YAAA8D;AAAA9D,YAAAnB;AAAAmB,YAAA+D;AAAA/D,YAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,EAAA,EAAA,MAAAW,YAAAX,EAAA,EAAA,MAAAqD,OAAArD,EAAA,EAAA,MAAA0E,YAAA1E,EAAA,EAAA,MAAAsD,SAAAtD,UAAAuB,IAAA;AAdFG,SAAA,qBAAA,MAAA,EAAegD,qBAAerB,KAAYC,OACxC/B,UAAAA;AAAAA,MAAAA;AAAAA,MAcAZ;AAAAA,IAAAA,GACF;AAAKX,YAAAW;AAAAX,YAAAqD;AAAArD,YAAA0E;AAAA1E,YAAAsD;AAAAtD,YAAAuB;AAAAvB,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAAA,SAhBL0B;AAgBK,CAEN,CACF;AAEAgC,aAAajD,cAAc;ACxDpB,MAAMqE,cAAoCtC,eAAM1C,KAAKC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAU;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAb,SAAAD,IAAA;AAAC,KAAA;AAAA,MAAAY;AAAAA,MAAAC;AAAAA,MAAA,GAAAC;AAAAA,IAAAA,IAAAd;AAAiCC,WAAAD;AAAAC,WAAAW;AAAAX,WAAAY;AAAAZ,WAAAa;AAAAA,EAAA,OAAA;AAAAF,eAAAX,EAAA,CAAA;AAAAY,gBAAAZ,EAAA,CAAA;AAAAa,YAAAb,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAG;AAAA,MAAAH,SAAAY,WAAA;AAC3DT,SAAAwB,QAAQ,mCAAmCf,SAAS;AAACZ,WAAAY;AAAAZ,WAAAG;AAAAA,EAAA,OAAA;AAAAA,SAAAH,EAAA,CAAA;AAAA,EAAA;AAAvF,QAAA4B,cAAkCzB;AAAoE,MAAAE;AAAA,MAAAL,EAAA,CAAA,MAAAW,YAAAX,SAAAa,OAAA;AAAA,QAAAL;AAAA,QAAAR,SAAAa,OAAA;AAGlEL,YAAA4B,CAAAA,UAAYG,eAAeH,KAAuE,IAA9DI,eAAKC,aAAcL,OAAuB;AAAA,QAAA,GAAKvB;AAAAA,MAAAA,CAAe,IAAtFuB;AAAwFpC,aAAAa;AAAAb,cAAAQ;AAAAA,IAAA,OAAA;AAAAA,YAAAR,EAAA,EAAA;AAAA,IAAA;AAAjIK,SAAAmC,eAAKM,SAASH,IAAKhC,UAAUH,GAAoG;AAACR,WAAAW;AAAAX,WAAAa;AAAAb,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AADzI,QAAA+E,iBACO1E;AAEL,MAAAG;AAAA,MAAAR,EAAA,EAAA,MAAA+E,kBAAA/E,UAAA4B,aAAA;AAEKpB,SAAA,oBAAA,SAAA,EAAkBoB,WAAAA,aAAcmD,UAAAA,gBAAe;AAAQ/E,YAAA+E;AAAA/E,YAAA4B;AAAA5B,YAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,EAAA;AAAA,EAAA;AAAA,SAAvDQ;AAAuD,CAC9D;AACDsE,YAAYrE,cAAc;ACb1B,MAAMuE,eAAe;AASd,MAAMC,kBAAkBC,CAAAA,YAAA;AAAA,QAAAlF,IAAAC,EAAA,CAAA;AAC9B,QAAAkF,eAAqBC,OAAuB,IAAI;AAAE,MAAArF;AAAA,MAAAI;AAAA,MAAAH,SAAAkF,SAAA;AAExCnF,SAAAA,MAAA;AACT,YAAAsF,YAAkBF,aAAYG;AAC9B,UAAI,CAACJ,WAAD,CAAaG,WAAS;AAAA;AAAA,MAAA;AAE1B,YAAAE,oBAA0BA,MAAA;AACzB,cAAAC,mBAAyBH,UAASI,cAAeJ,UAASK,cAAeL,UAASM,aAAc;AAChGN,kBAASO,UAAUC,OAAQb,cAAcQ,gBAAgB;AAAA,MAAC;AAG3DD,wBAAAA;AACAF,gBAASS,iBAAkB,UAAUP,mBAAmB;AAAA,QAAAQ,SAAW;AAAA,MAAA,CAAM;AAEzE,YAAAC,iBAAuB,IAAIC,eAAeV,iBAAiB;AAC3DS,qBAAcE,QAASb,SAAS;AAChC,YAAAc,QAAcd,UAASe,cAAe,OAAO;AAC7C,UAAID,OAAK;AAAEH,uBAAcE,QAASC,KAAK;AAAA,MAAC;AAAC,aAElC,MAAA;AACNd,kBAASgB,oBAAqB,UAAUd,iBAAiB;AACzDS,uBAAcM,WAAAA;AACdjB,kBAASO,UAAUW,OAAQvB,YAAY;AAAA,MAAC;AAAA,IACxC;AACC7E,SAAA,CAAC+E,OAAO;AAAClF,WAAAkF;AAAAlF,WAAAD;AAAAC,WAAAG;AAAAA,EAAA,OAAA;AAAAJ,SAAAC,EAAA,CAAA;AAAAG,SAAAH,EAAA,CAAA;AAAA,EAAA;AAtBZwG,YAAUzG,IAsBPI,EAAS;AAAC,SAENgF;AAAY;AC3Bb,SAAAsB,gBAAA1G,IAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAyB,QAAA;AAAA,IAAAyG;AAAAA,IAAAC,cAAAxG;AAAAA,IAAAyG,UAAAvG;AAAAA,IAAAwG,UAAArG;AAAAA,IAAAsG;AAAAA,IAAAC;AAAAA,EAAAA,IAAAhH;AAE/B,QAAA4G,eAAAxG,OAAAC,SAAA,MAAAD;AACA,QAAAyG,WAAAvG,OAAAD,SAAA,KAAAC;AACA,QAAAwG,WAAArG,OAAAJ,SAAA,MAAAI;AAIA,QAAA,CAAAwG,OAAAC,QAAA,IAA0BC,SAASP,YAAY;AAC/C,QAAA,CAAAQ,YAAAC,aAAA,IAAoCF,SAAS,KAAK;AAClD,QAAAG,YAAkBjC,OAAO,CAAC;AAC1B,QAAAkC,gBAAsBlC,OAAO,CAAC;AAC9B,QAAAmC,YAAkBnC,OAA6B,IAAI;AAAE,MAAArE;AAAA,MAAAf,EAAA,CAAA,MAAA2G,gBAAA3G,SAAAgH,OAAA;AAE3CjG,SAAAA,MAAA;AACT,UAAI4F,iBAAiBK,OAAK;AACzBC,iBAASN,YAAY;AAAA,MAAC;AAAA,IACtB;AACD3G,WAAA2G;AAAA3G,WAAAgH;AAAAhH,WAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAoB;AAAA,MAAApB,SAAA2G,cAAA;AAAEvF,SAAA,CAACuF,YAAY;AAAC3G,WAAA2G;AAAA3G,WAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,CAAA;AAAA,EAAA;AAJjBwG,YAAUzF,IAIPK,EAAc;AAAC,MAAAG;AAAA,MAAAvB,SAAAgH,OAAA;AAGjBzF,SAAAoD,CAAAA,MAAA;AACCA,QAAC6C,eAAAA;AACD7C,QAAC8C,gBAAAA;AAED,YAAA7C,SAAeD,EAAC+C;AAChB9C,aAAM+C,kBAAmBhD,EAACiD,SAAU;AAEpCP,gBAAS/B,UAAWX,EAACkD;AACrBP,oBAAahC,UAAW0B;AACxBI,oBAAc,IAAI;AAGlBU,eAAQC,KAAKzE,MAAM0E,aAAc;AACjCF,eAAQC,KAAKzE,MAAM2E,SAAU;AAAA,IAAH;AAC1BjI,WAAAgH;AAAAhH,WAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,CAAA;AAAA,EAAA;AAfF,QAAAkI,oBAA0B3G;AAiBxB,MAAAG;AAAA,MAAA1B,EAAA,CAAA,MAAA0G,YAAA1G,EAAA,CAAA,MAAAmH,cAAAnH,EAAA,CAAA,MAAA6G,YAAA7G,EAAA,EAAA,MAAA4G,YAAA5G,UAAA8G,UAAA;AAGDpF,SAAAyG,CAAAA,QAAA;AACC,UAAI,CAAChB,YAAU;AAAA;AAAA,MAAA;AAEf,YAAAiB,QAAczD,IAACkD,UAAWR,UAAS/B;AACnC,YAAA+C,WAAiBC,KAAIC,IAAK3B,UAAU0B,KAAIE,IAAK3B,UAAUS,cAAahC,UAAW8C,KAAK,CAAC;AAErFnB,eAASoB,QAAQ;AACjBvB,iBAAWJ,UAAU2B,QAAQ;AAAA,IAAC;AAC9BrI,WAAA0G;AAAA1G,WAAAmH;AAAAnH,WAAA6G;AAAA7G,YAAA4G;AAAA5G,YAAA8G;AAAA9G,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AATF,QAAAyI,oBAA0B/G;AAWxB,MAAAG;AAAA,MAAA7B,EAAA,EAAA,MAAA0G,YAAA1G,EAAA,EAAA,MAAAmH,cAAAnH,EAAA,EAAA,MAAA6G,YAAA7G,EAAA,EAAA,MAAA4G,YAAA5G,UAAA+G,aAAA;AAGDlF,SAAA6G,CAAAA,QAAA;AACC,UAAI,CAACvB,YAAU;AAAA;AAAA,MAAA;AAEfC,oBAAc,KAAK;AACnBU,eAAQC,KAAKzE,MAAM0E,aAAc;AACjCF,eAAQC,KAAKzE,MAAM2E,SAAU;AAE7B,YAAAU,UAAchE,IAACkD,UAAWR,UAAS/B;AACnC,YAAAsD,aAAmBN,KAAIC,IAAK3B,UAAU0B,KAAIE,IAAK3B,UAAUS,cAAahC,UAAW8C,OAAK,CAAC;AAEvFrB,oBAAcL,UAAUkC,UAAU;AAAA,IAAC;AACnC5I,YAAA0G;AAAA1G,YAAAmH;AAAAnH,YAAA6G;AAAA7G,YAAA4G;AAAA5G,YAAA+G;AAAA/G,YAAA6B;AAAAA,EAAA,OAAA;AAAAA,SAAA7B,EAAA,EAAA;AAAA,EAAA;AAZF,QAAA6I,kBAAwBhH;AActB,MAAAI;AAAA,MAAAD;AAAA,MAAAhC,EAAA,EAAA,MAAAyI,qBAAAzI,UAAA6I,mBAAA7I,EAAA,EAAA,MAAAmH,YAAA;AAEQnF,SAAAA,MAAA;AACT,UAAImF,YAAU;AACbW,iBAAQhC,iBAAkB,eAAe2C,iBAAiB;AAC1DX,iBAAQhC,iBAAkB,aAAa+C,eAAe;AAAC,eAEhD,MAAA;AACNf,mBAAQzB,oBAAqB,eAAeoC,iBAAiB;AAC7DX,mBAAQzB,oBAAqB,aAAawC,eAAe;AAAA,QAAC;AAAA,MAC1D;AAAA,IACD;AACC5G,WAACkF,YAAYsB,mBAAmBI,eAAe;AAAC7I,YAAAyI;AAAAzI,YAAA6I;AAAA7I,YAAAmH;AAAAnH,YAAAiC;AAAAjC,YAAAgC;AAAAA,EAAA,OAAA;AAAAC,UAAAjC,EAAA,EAAA;AAAAgC,SAAAhC,EAAA,EAAA;AAAA,EAAA;AAVnDwG,YAAUxE,IAUPC,GAAgD;AAAC,MAAAgB;AAAA,MAAAjD,EAAA,EAAA,MAAAkI,qBAAAlI,UAAAmH,cAAAnH,EAAA,EAAA,MAAAgH,OAAA;AAE7C/D,UAAA;AAAA,MAAA+D;AAAAA,MAAAG;AAAAA,MAAAI;AAAAA,MAAAW;AAAAA,MAAAjB;AAAAA,IAAAA;AAMNjH,YAAAkI;AAAAlI,YAAAmH;AAAAnH,YAAAgH;AAAAhH,YAAAiD;AAAAA,EAAA,OAAA;AAAAA,UAAAjD,EAAA,EAAA;AAAA,EAAA;AAAA,SANMiD;AAMN;ACxFK,MAAM6F,eAAehJ,KAAKC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAC,QAAA;AAAA,IAAA8I;AAAAA,IAAA5B;AAAAA,IAAAvG;AAAAA,EAAAA,IAAAb;AAM9B,QAAAI,KAAAgH,cAAA;AAA0B,MAAA9G;AAAA,MAAAL,EAAA,CAAA,MAAAY,aAAAZ,SAAAG,IAAA;AAHhBE,SAAAoE,KACV,gGACA,2DACAtE,IACAS,SACD;AAACZ,WAAAY;AAAAZ,WAAAG;AAAAH,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAQ;AAAA,MAAAR,EAAA,CAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AASDC,SAAA,oBAAA,OAAA,EAAe,WAAA,sCAAA,CAAqC;AAAGR,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAOrD,QAAAe,KAAAoG,cAAA;AAA2B,MAAA/F;AAAA,MAAApB,SAAAe,IAAA;AAHjBK,SAAAqD,KACV,+DACA,+FACA1D,EACD;AAACf,WAAAe;AAAAf,WAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAuB;AAAA,MAAAvB,SAAAoB,IAAA;AALFG,sCACY,WAAAH,GAAAA,CAIV;AACApB,WAAAoB;AAAApB,WAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,CAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,EAAA,CAAA,MAAA+I,iBAAA/I,SAAAK,MAAAL,EAAA,EAAA,MAAAuB,IAAA;AAxBHG,SAAA,qBAAA,OAAA,EACY,WAAArB,IAMI0I,eACN,SAAAC,OACM,eAAAC,QACV,MAAA,aACY,oBAAA,YACN,cAAA,iBAGXzI,UAAAA;AAAAA,MAAAA;AAAAA,MAGAe;AAAAA,IAAAA,GAOD;AAAMvB,WAAA+I;AAAA/I,WAAAK;AAAAL,YAAAuB;AAAAvB,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAAA,SAzBN0B;AAyBM,CAEP;AAEDoH,aAAarI,cAAc;AA/BM,SAAAuI,MAAArE,GAAA;AAAA,SAUdA,EAAC8C,gBAAAA;AAAkB;AAVL,SAAAwB,OAAAd,KAAA;AAAA,SAWRxD,IAAC8C,gBAAAA;AAAkB;ACXrC,MAAMyB,oBAAgD1G,eAAM1C,KAClEC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAC,QAAA;AAAA,IAAAU;AAAAA,IAAAC;AAAAA,IAAA0C,OAAAnD;AAAAA,IAAAgJ,MAAA9I;AAAAA,IAAAH,MAAAM;AAAAA,IAAA4I;AAAAA,IAAAC;AAAAA,IAAA9F,SAAAxC;AAAAA,IAAAuI,WAAAC;AAAAA,IAAA3C,UAAA4C;AAAAA,IAAA3C,UAAA4C;AAAAA,IAAA3C,UAAA4C;AAAAA,IAAA3C,aAAA4C;AAAAA,EAAAA,IAAA5J;AAcA,MAAAqB;AAAA,MAAApB,SAAAG,IAAA;AAXAiB,SAAAjB,OAAAC,SAAA,CAAA,IAAAD;AAAUH,WAAAG;AAAAH,WAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,CAAA;AAAA,EAAA;AAAV,QAAAsD,QAAAlC;AACA,QAAA+H,OAAA9I,OAAAD,SAAA,OAAAC;AACA,QAAAH,OAAAM,OAAAJ,SAAA,KAAAI;AAGA,QAAA+C,UAAAxC,OAAAX,SAAAA,SAAAW;AAOA,QAAA;AAAA,IAAA3B;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,EAAAA,IAA0FG,gBAAAA;AAC1F,QAAAiK,cAAoBL,iBAAiBF,QAAMC,aAAvB;AACpB,QAAA5C,WAAiB2C,QAAMnF,MAAN;AACjB,QAAAyC,eAAqBrH,eAAeoH,QAAQ,KAAvB0C,QAAoCC,QAAMD,QAA1C;AACrB,QAAAxC,WAAiB4C,gBAAgBH,QAAMzC,YAAtB;AACjB,QAAAC,WAAiB4C,gBAAgBJ,QAAMxC,YAAtB;AAAwC,MAAAtF;AAAA,MAAAvB,EAAA,CAAA,MAAAT,kBAAAS,SAAA0J,cAAA;AAa9CnI,SAAAA,CAAA2C,IAAA8C,UAAA;AACT0C,qBAAe1C,KAAK;AACpBzH,uBAAiB2E,IAAI8C,KAAK;AAAA,IAAC;AAC3BhH,WAAAT;AAAAS,WAAA0J;AAAA1J,WAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,CAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,EAAA,CAAA,MAAAR,qBAAAQ,SAAA2J,iBAAA;AACYjI,SAAAA,CAAAmI,MAAAC,YAAA;AACZH,wBAAkB3C,OAAK;AACvBxH,0BAAoB0E,MAAI8C,OAAK;AAAA,IAAC;AAC9BhH,WAAAR;AAAAQ,WAAA2J;AAAA3J,WAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,CAAA;AAAA,EAAA;AAAA,MAAA6B;AAAA,MAAA7B,SAAA0G,YAAA1G,EAAA,CAAA,MAAA2G,gBAAA3G,EAAA,EAAA,MAAA6G,YAAA7G,EAAA,EAAA,MAAA4G,YAAA5G,UAAAuB,MAAAvB,EAAA,EAAA,MAAA0B,IAAA;AAZkBG,SAAA;AAAA,MAAA6E;AAAAA,MAAAC;AAAAA,MAAAC;AAAAA,MAAAC;AAAAA,MAAAC,UAKTvF;AAAAA,MAGTwF,aACYrF;AAAAA,IAAAA;AAIb1B,WAAA0G;AAAA1G,WAAA2G;AAAA3G,YAAA6G;AAAA7G,YAAA4G;AAAA5G,YAAAuB;AAAAvB,YAAA0B;AAAA1B,YAAA6B;AAAAA,EAAA,OAAA;AAAAA,SAAA7B,EAAA,EAAA;AAAA,EAAA;AAlBD,QAAA;AAAA,IAAAgH,OAAA+C;AAAAA,IAAA5C;AAAAA,IAAAI;AAAAA,IAAAW;AAAAA,EAAAA,IAKIzB,gBAAgB5E,EAanB;AAAE,MAAAG;AAAA,MAAAhC,UAAAY,WAAA;AAE+BoB,SAAAL,QAAQ,kCAAkCf,SAAS;AAACZ,YAAAY;AAAAZ,YAAAgC;AAAAA,EAAA,OAAA;AAAAA,SAAAhC,EAAA,EAAA;AAAA,EAAA;AAAtF,QAAA4B,cAAkCI;AAElC,QAAAgI,iBAAuBJ,cAAAG,eAA6BX,QAAQC,QAAMD;AAKzD,QAAAnH,MAAA+H,iBAAA,GAAoBA,cAAc,OAAO1G,MAAK0D;AAC3C,QAAA/D,MAAA+G,iBAAA,GAAoBA,cAAc,OAAO1G,MAAKsD;AAAS,MAAAqD;AAAA,MAAAjK,EAAA,EAAA,MAAAsD,SAAAtD,UAAAiC,OAAAjC,EAAA,EAAA,MAAAiD,KAAA;AAH3DgH,UAAA;AAAA,MAAA,GACH3G;AAAAA,MAAK0D,OACD/E;AAAAA,MAAoD2E,UACjD3D;AAAAA,IAAAA;AACVjD,YAAAsD;AAAAtD,YAAAiC;AAAAjC,YAAAiD;AAAAjD,YAAAiK;AAAAA,EAAA,OAAA;AAAAA,UAAAjK,EAAA,EAAA;AAAA,EAAA;AALF,QAAAkK,cACQD;AAMN,MAAAE;AAAA,MAAAnK,UAAAW,UAAA;AAEsBwJ,UAAA,CAACxJ,YAAa,OAAOA,aAAa,YAAYA,SAAQ6C,WAAY;AAAGxD,YAAAW;AAAAX,YAAAmK;AAAAA,EAAA,OAAA;AAAAA,UAAAnK,EAAA,EAAA;AAAA,EAAA;AAA7F,QAAAyD,kBAAwB0G;AACxB,QAAAC,aAAmBf,QAAMgB;AAEuEhB,UAAMnF;AAAtG,QAAAoG,oBAAwClL,gBAAcmL,WAAalB,QAAMnF;AAAoC,MAAAsG;AAAA,MAAAxK,EAAA,EAAA,MAAAqJ,UAAArJ,EAAA,EAAA,MAAAmH,cAAAnH,EAAA,EAAA,MAAAoK,cAAApK,UAAAX,cAAA;AAE1FmL,UAAA7F,CAAAA,MAAA;AAElB,UAAIwC,YAAU;AACbxC,UAAC6C,eAAAA;AAAiB;AAAA,MAAA;AAInB,UAAI4C,cAAA/K,gBAA8BgK,QAAMnF,IAAI;AAC3C7E,qBAAagK,OAAMnF,EAAG;AAAA,MAAC;AAAA,IACvB;AACDlE,YAAAqJ;AAAArJ,YAAAmH;AAAAnH,YAAAoK;AAAApK,YAAAX;AAAAW,YAAAwK;AAAAA,EAAA,OAAA;AAAAA,UAAAxK,EAAA,EAAA;AAAA,EAAA;AAVD,QAAAyK,aAAmBD;AAUjB,MAAAE;AAAA,MAAA1K,EAAA,EAAA,MAAAmJ,QAAAnJ,EAAA,EAAA,MAAAsK,qBAAAtK,EAAA,EAAA,MAAAoK,cAAApK,UAAAZ,gBAAA;AACqBsL,UAAAA,MAAA;AACtB,UAAI,CAACN,YAAU;AAAA,eAASjB;AAAAA,MAAI;AAE5B,UAAImB,qBAAAlL,gBAAmC;AAAA,eAC/BA,eAAcuL,cAAe,QACnC,oBAAC,WAAA,EAAoB,WAAA,uDAAA,CAAsD,IAE3E,oBAAC,aAAA,EAAsB,WAAA,uDAAA,CAAsD;AAAA,MAC7E;AACD,aAEM,oBAAC,gBAAA,EAAyB,WAAA,2BAAA,CAA0B;AAAA,IAAG;AAC9D3K,YAAAmJ;AAAAnJ,YAAAsK;AAAAtK,YAAAoK;AAAApK,YAAAZ;AAAAY,YAAA0K;AAAAA,EAAA,OAAA;AAAAA,UAAA1K,EAAA,EAAA;AAAA,EAAA;AAZD,QAAA4K,iBAAuBF;AAgBhB,QAAAG,MAAAjB,cAAArC,YAAAnH;AAC2B,QAAA0K,MAAAV,aAAA,qCAAA;AAAsD,QAAAW,MAAA5D,cAAA;AAA2B,MAAA6D;AAAA,MAAAhL,EAAA,EAAA,MAAA4B,eAAA5B,UAAA8K,OAAA9K,EAAA,EAAA,MAAA+K,KAAA;AAAtGC,UAAArJ,QAAQC,aAAakJ,KAAsDC,GAA2B;AAAC/K,YAAA4B;AAAA5B,YAAA8K;AAAA9K,YAAA+K;AAAA/K,YAAAgL;AAAAA,EAAA,OAAA;AAAAA,UAAAhL,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAiL;AAAA,MAAAjL,UAAAW,YAAAX,EAAA,EAAA,MAAAqJ,QAAA6B,eAAAlL,EAAA,EAAA,MAAAyD,mBAAAzD,EAAA,EAAA,MAAA4K,kBAAA5K,UAAAE,MAAA;AAKjH+K,UAAAxH,kBACA,8BAAe,WAAA,yDACd,UAAA;AAAA,MAAA,qBAAA,OAAA,EAAe,WAAA,8BACd,UAAA;AAAA,QAAA,oBAAA,KAAA,EAAa,WAAA,+EAA+EvD,UAAAA,MAAK;AAAA,QAChGmJ,QAAM6B,eACN,oBAAC,SAAA,EAAiB,SAAA7B,QAAM6B,eAAN,IACjB,UAAA,6BACa,eAAA,QACP,MAAA,OACK,WAAA,4DACH,OAAA,IACC,QAAA,IACA,SAAA,aAER,UAAA,4BAAQ,MAAA,QACP,UAAA;AAAA,UAAA,oBAAA,UAAA,EAAY,IAAA,IAAQ,IAAA,IAAO,GAAA,IAAW,QAAA,gBAA2B,aAAA,MAAA;UACjE,oBAAA,UAAa,QAAA,gBAA6B,eAAA,SAAoB,aAAA,OAAQ,GAAA,YAAA,CAAW;AAAA,UACjF,gCAAY,IAAA,GAAO,IAAA,GAAM,GAAA,GAAQ,MAAA,gBAAyB,WAAA,wBAAA,CAAuB;AAAA,QAAA,EAAA,CAClF,GACD,EAAA,CACD;AAAA,MAAA,GAEF;AAAA,MACA,oBAAA,OAAA,EAAe,WAAA,2BAA2BN,2BAAe,CAAE;AAAA,IAAA,EAAA,CAC5D,IAxBAjK;AA2BAX,YAAAW;AAAAX,MAAA,EAAA,IAAAqJ,QAAA6B;AAAAlL,YAAAyD;AAAAzD,YAAA4K;AAAA5K,YAAAE;AAAAF,YAAAiL;AAAAA,EAAA,OAAA;AAAAA,UAAAjL,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAmL;AAAA,MAAAnL,EAAA,EAAA,MAAAkI,qBAAAlI,UAAA4J,eAAA5J,EAAA,EAAA,MAAAmH,YAAA;AAGAgE,UAAAvB,eAAe,oBAAC,cAAA,EAA4B1B,eAAAA,mBAA+Bf,YAAU;AAAInH,YAAAkI;AAAAlI,YAAA4J;AAAA5J,YAAAmH;AAAAnH,YAAAmL;AAAAA,EAAA,OAAA;AAAAA,UAAAnL,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAoL;AAAA,MAAApL,EAAA,EAAA,MAAAuD,WAAAvD,EAAA,EAAA,MAAAyK,cAAAzK,EAAA,EAAA,MAAAkK,eAAAlK,UAAA6K,OAAA7K,EAAA,EAAA,MAAAgL,OAAAhL,EAAA,EAAA,MAAAiL,OAAAjL,EAAA,EAAA,MAAAmL,KAAA;AArC3FC,uCACM,KAAAP,KACM,WAAAG,KACJd,OAAAA,aACE3G,SAAAA,SACAkH,SAAAA,YAERQ,UAAAA;AAAAA,MAAAA;AAAAA,MA8BAE;AAAAA,IAAAA,GACF;AAAKnL,YAAAuD;AAAAvD,YAAAyK;AAAAzK,YAAAkK;AAAAlK,YAAA6K;AAAA7K,YAAAgL;AAAAhL,YAAAiL;AAAAjL,YAAAmL;AAAAnL,YAAAoL;AAAAA,EAAA,OAAA;AAAAA,UAAApL,EAAA,EAAA;AAAA,EAAA;AAAA,SAtCLoL;AAsCK,CAGR;AACAlC,kBAAkBzI,cAAc;AClIzB,MAAM4K,iBAA0C7I,eAAM1C,KAC5DC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAU;AAAA,MAAAC;AAAA,MAAA0D;AAAA,MAAAV;AAAA,MAAA/C;AAAA,MAAAV;AAAA,MAAAE;AAAA,MAAAL,SAAAD,IAAA;AAAC,KAAA;AAAA,MAAAY;AAAAA,MAAAC;AAAAA,MAAAa,YAAAtB;AAAAA,MAAAmL,YAAAjL;AAAAA,MAAAiE;AAAAA,MAAAV;AAAAA,MAAA,GAAA/C;AAAAA,IAAAA,IAAAd;AAAoGC,WAAAD;AAAAC,WAAAW;AAAAX,WAAAY;AAAAZ,WAAAsE;AAAAtE,WAAA4D;AAAA5D,WAAAa;AAAAb,WAAAG;AAAAH,WAAAK;AAAAA,EAAA,OAAA;AAAAM,eAAAX,EAAA,CAAA;AAAAY,gBAAAZ,EAAA,CAAA;AAAAsE,oBAAAtE,EAAA,CAAA;AAAA4D,oBAAA5D,EAAA,CAAA;AAAAa,YAAAb,EAAA,CAAA;AAAAG,SAAAH,EAAA,CAAA;AAAAK,SAAAL,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAQ;AAAA,MAAAR,SAAAG,IAAA;AAA7EK,SAAAL,OAAAC,SAAA,CAAA,IAAAD;AAAeH,WAAAG;AAAAH,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAAf,QAAAyB,aAAAjB;AAAiB,QAAA8K,aAAAjL,OAAAD,SAAA,QAAAC;AACxC,QAAA0D,MAAYC,MAAAA;AACZ,QAAA;AAAA,IAAAnF;AAAAA,IAAAK;AAAAA,IAAAH;AAAAA,IAAAC;AAAAA,IAAAC;AAAAA,IAAAN;AAAAA,EAAAA,IAAiFgB,gBAAAA;AAAkB,MAAAoB;AAAA,MAAAf,EAAA,EAAA,MAAAsE,iBAAAtE,UAAA4D,eAAA;AAE9E7C,SAAAwD,CAAAA,UAAA;AACpB,UAAID,eAAa;AAAA;AAAA,MAAA;AACjBV,sBAAgBW,KAAK;AAAA,IAAC;AACtBvE,YAAAsE;AAAAtE,YAAA4D;AAAA5D,YAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,EAAA;AAAA,EAAA;AAHD,QAAAwE,eAAqBzD;AAGnB,MAAAK;AAGD,MAAI,OAAOT,aAAa,YAAU;AAAA,QAAAY;AAAA,QAAAvB,EAAA,EAAA,MAAAW,YAAAX,UAAAyB,YAAA;AAAA,UAAAC;AAAA,UAAA1B,UAAAW,UAAA;AACXe,cAAAA,CAAAQ,IAAAC,UAAA;AACrB,gBAAAC,QAAczB,SAAS;AAAA,YAAA0B,MAAQH;AAAAA,YAAEC;AAAAA,UAAAA,CAAS;AAE1C,gBAAAG,WAAiBJ,GAAEgC,MAAOhC,GAAEmH,UAAXlH;AAA4B,iBAEtCI,eAAeH,KAIhB,IAHHI,eAAKC,aAAcL,OAAwC;AAAA,YAAAM,KACtDJ;AAAAA,UAAAA,CAEF,IAJC;AAAA,QAIA;AACPtC,gBAAAW;AAAAX,gBAAA0B;AAAAA,MAAA,OAAA;AAAAA,cAAA1B,EAAA,EAAA;AAAA,MAAA;AAVMuB,YAAAE,WAAUkB,IAAKjB,GAUrB;AAAC1B,cAAAW;AAAAX,cAAAyB;AAAAzB,cAAAuB;AAAAA,IAAA,OAAA;AAAAA,YAAAvB,EAAA,EAAA;AAAA,IAAA;AAVFoB,SAAOG;AAAAA,EAUJ,OAAA;AAAA,QAAAA;AAAA,QAAAvB,EAAA,EAAA,MAAAW,YAAAX,UAAAyB,cAAAzB,EAAA,EAAA,MAAAa,OAAA;AAAA,UAAAa;AAAA,UAAA1B,EAAA,EAAA,MAAAyB,cAAAzB,UAAAa,OAAA;AAEiCa,cAAAA,CAAAkB,SAAAC,YACnCN,eAAeH,OAKR,IAJJI,eAAKC,aAAcL,SAAwC;AAAA,UAAAM,KACrDjB,WAAWU,OAAK,GAAa+B,MAAIzC,WAAWU,OAAK,GAASkH,UAA3DxG;AAAAA,UAAoE,GACtEhC;AAAAA,QAAAA,CAEC,IALP+B;AAKQ5C,gBAAAyB;AAAAzB,gBAAAa;AAAAb,gBAAA0B;AAAAA,MAAA,OAAA;AAAAA,cAAA1B,EAAA,EAAA;AAAA,MAAA;AANFuB,YAAAiB,eAAKM,SAASH,IAAKhC,UAAUe,GAOpC;AAAC1B,cAAAW;AAAAX,cAAAyB;AAAAzB,cAAAa;AAAAb,cAAAuB;AAAAA,IAAA,OAAA;AAAAA,YAAAvB,EAAA,EAAA;AAAA,IAAA;AAPDoB,SAAOG;AAAAA,EAOL;AArBJ,QAAAgK,iBAAuBnK;AAuBW,MAAAG;AAAA,MAAAvB,UAAAY,WAAA;AAGlBW,SAAAI,QAAQ,2BAA2Bf,SAAS;AAACZ,YAAAY;AAAAZ,YAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,EAAA,EAAA,MAAArB,SAAAqB,EAAA,EAAA,MAAAwE,gBAAAxE,EAAA,EAAA,MAAAnB,YAAAmB,EAAA,EAAA,MAAA+D,OAAA/D,UAAAsL,YAAA;AAC1D5J,SAAA7C,gCACC,mBAAA,EAA4B,WAAA,iBAC5B,UAAA,oBAAC,UAAA,EACIkF,IAAAA,KACM,UAAAY,OAAOH,aAAaG,EAACC,OAAOC,OAAQ,GACrCyG,SAAAA,YACC,WAAA,uBACH3M,MAAAA,CAAK,EAAA,CAEd;AACAqB,YAAArB;AAAAqB,YAAAwE;AAAAxE,YAAAnB;AAAAmB,YAAA+D;AAAA/D,YAAAsL;AAAAtL,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA6B;AAAA,MAAA7B,EAAA,EAAA,MAAAf,eAAAe,EAAA,EAAA,MAAArB,SAAAqB,EAAA,EAAA,MAAAjB,aAAAiB,EAAA,EAAA,MAAAhB,kBAAAgB,UAAAd,aAAA;AAIA2C,SAAA9C,aACA,oBAAC,mBAAA,EACOJ,OACDM,MAAAA,aACK,WAAAD,iBAAA,iCAAAoB,QACJ,OAAA;AAAA,MAAAwG,UAAY,GAAG1H,WAAW;AAAA,MAAI8H,OAAS,GAAG9H,WAAW;AAAA,IAAA,GAAM;AAEnEc,YAAAf;AAAAe,YAAArB;AAAAqB,YAAAjB;AAAAiB,YAAAhB;AAAAgB,YAAAd;AAAAc,YAAA6B;AAAAA,EAAA,OAAA;AAAAA,SAAA7B,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAgC;AAAA,MAAAhC,EAAA,EAAA,MAAAuL,kBAAAvL,EAAA,EAAA,MAAAuB,MAAAvB,EAAA,EAAA,MAAA0B,MAAA1B,UAAA6B,IAAA;AAtBFG,sCAAe,WAAAT,IACbG,UAAAA;AAAAA,MAAAA;AAAAA,MAYA6J;AAAAA,MAEA1J;AAAAA,IAAAA,GAQF;AAAK7B,YAAAuL;AAAAvL,YAAAuB;AAAAvB,YAAA0B;AAAA1B,YAAA6B;AAAA7B,YAAAgC;AAAAA,EAAA,OAAA;AAAAA,SAAAhC,EAAA,EAAA;AAAA,EAAA;AAAA,SAvBLgC;AAuBK,CAGR;AACAqJ,eAAe5K,cAAc;ACnEtB,MAAM+K,oBAAgDhJ,eAAM1C,KAAKC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA;AAAC,QAAA;AAAA,IAAAU;AAAAA,IAAAC,WAAAT;AAAAA,IAAAmD,OAAAjD;AAAAA,IAAAkD,SAAA/C;AAAAA,EAAAA,IAAAT;AAAY,QAAAa,YAAAT,OAAAC,SAAA,KAAAD;AAAc,MAAAY;AAAA,MAAAf,SAAAK,IAAA;AAAEU,SAAAV,OAAAD,SAAA,CAAA,IAAAC;AAAUL,WAAAK;AAAAL,WAAAe;AAAAA,EAAA,OAAA;AAAAA,SAAAf,EAAA,CAAA;AAAA,EAAA;AAAV,QAAAsD,QAAAvC;AAAY,QAAAwC,UAAA/C,OAAAJ,SAAAA,SAAAI;AAAmB,MAAAY;AAAA,MAAApB,SAAAY,WAAA;AACjGQ,SAAAO,QAAQ,4BAA4Bf,SAAS;AAACZ,WAAAY;AAAAZ,WAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,CAAA;AAAA,EAAA;AAAhF,QAAA4B,cAAkCR;AAA6D,MAAAG;AAAA,MAAAvB,EAAA,CAAA,MAAAW,YAAAX,EAAA,CAAA,MAAAuD,WAAAvD,EAAA,CAAA,MAAA4B,eAAA5B,SAAAsD,OAAA;AAG9F/B,6BAAA,MAAA,EAAeK,wBAAoB0B,OAAgBC,SAAAA,SACjD5C,UACF;AAAKX,WAAAW;AAAAX,WAAAuD;AAAAvD,WAAA4B;AAAA5B,WAAAsD;AAAAtD,WAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,CAAA;AAAA,EAAA;AAAA,SAFLuB;AAEK,CAEN;AACDiK,kBAAkB/K,cAAc;ACNzB,MAAMgL,iBAA0CjJ,eAAM1C,KAAKC,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAA,MAAAU;AAAA,MAAAC;AAAA,MAAAC;AAAA,MAAAV;AAAA,MAAAH,SAAAD,IAAA;AAAC,KAAA;AAAA,MAAAY;AAAAA,MAAAC;AAAAA,MAAAa,YAAAtB;AAAAA,MAAA,GAAAU;AAAAA,IAAAA,IAAAd;AAAkDC,WAAAD;AAAAC,WAAAW;AAAAX,WAAAY;AAAAZ,WAAAa;AAAAb,WAAAG;AAAAA,EAAA,OAAA;AAAAQ,eAAAX,EAAA,CAAA;AAAAY,gBAAAZ,EAAA,CAAA;AAAAa,YAAAb,EAAA,CAAA;AAAAG,SAAAH,EAAA,CAAA;AAAA,EAAA;AAAA,MAAAK;AAAA,MAAAL,SAAAG,IAAA;AAA3BE,SAAAF,OAAAC,SAAA,CAAA,IAAAD;AAAeH,WAAAG;AAAAH,WAAAK;AAAAA,EAAA,OAAA;AAAAA,SAAAL,EAAA,CAAA;AAAA,EAAA;AAAf,QAAAyB,aAAApB;AACzF,QAAA;AAAA,IAAAxB;AAAAA,IAAAK;AAAAA,IAAAH;AAAAA,IAAAC;AAAAA,EAAAA,IAA6DW,gBAAAA;AAAkB,MAAAa;AAAA,MAAAR,SAAAY,WAAA;AAE7CJ,SAAAmB,QAAQ,+CAA+Cf,SAAS;AAACZ,WAAAY;AAAAZ,WAAAQ;AAAAA,EAAA,OAAA;AAAAA,SAAAR,EAAA,CAAA;AAAA,EAAA;AAAnG,QAAA4B,cAAkCpB;AAAgF,MAAAO;AAGjH,MAAI,OAAOJ,aAAa,YAAU;AAAA,QAAAS;AAAA,QAAApB,EAAA,CAAA,MAAAW,YAAAX,UAAAyB,YAAA;AAAA,UAAAF;AAAA,UAAAvB,UAAAW,UAAA;AACXY,cAAAA,CAAAW,IAAAC,UAAA;AACrB,gBAAAC,QAAczB,SAAS;AAAA,YAAA0B,MAAQH;AAAAA,YAAEC;AAAAA,UAAAA,CAAS;AAC1C,gBAAAG,WAAiBJ,GAAEgC,MAAOhC,GAAEmH,UAAXlH;AAA4B,iBACtCI,eAAeH,KAIhB,IAHHI,eAAKC,aAAcL,OAAwC;AAAA,YAAAM,KACtDJ;AAAAA,UAAAA,CAEF,IAJC;AAAA,QAIA;AACPtC,gBAAAW;AAAAX,gBAAAuB;AAAAA,MAAA,OAAA;AAAAA,cAAAvB,EAAA,EAAA;AAAA,MAAA;AARMoB,YAAAK,WAAUkB,IAAKpB,GAQrB;AAACvB,aAAAW;AAAAX,cAAAyB;AAAAzB,cAAAoB;AAAAA,IAAA,OAAA;AAAAA,YAAApB,EAAA,EAAA;AAAA,IAAA;AARFe,SAAOK;AAAAA,EAQJ,OAAA;AAAA,QAAAA;AAAA,QAAApB,EAAA,EAAA,MAAAW,YAAAX,UAAAyB,YAAA;AAAA,UAAAF;AAAA,UAAAvB,UAAAyB,YAAA;AAEiCF,cAAAA,CAAAqB,SAAAC,YACnCN,eAAeH,OAIR,IAHJI,eAAKC,aAAcL,SAAwC;AAAA,UAAAM,KACtDjB,WAAWU,OAAK,GAAK+B,MAAIzC,WAAWU,OAAK,GAASkH,UAAlDxG;AAAAA,QAAAA,CAED,IAJPD;AAIQ5C,gBAAAyB;AAAAzB,gBAAAuB;AAAAA,MAAA,OAAA;AAAAA,cAAAvB,EAAA,EAAA;AAAA,MAAA;AALFoB,YAAAoB,eAAKM,SAASH,IAAKhC,UAAUY,GAMpC;AAACvB,cAAAW;AAAAX,cAAAyB;AAAAzB,cAAAoB;AAAAA,IAAA,OAAA;AAAAA,YAAApB,EAAA,EAAA;AAAA,IAAA;AANDe,SAAOK;AAAAA,EAML;AAlBJ,QAAAsK,mBAAyB3K;AAoBE,MAAAK;AAAA,MAAApB,UAAAnB,UAAA;AAIxBuC,SAAAvC,YAAY,oBAAC,mBAAA,EAA4B,WAAA,iBAAe;AAAGmB,YAAAnB;AAAAmB,YAAAoB;AAAAA,EAAA,OAAA;AAAAA,SAAApB,EAAA,EAAA;AAAA,EAAA;AAAA,MAAAuB;AAAA,MAAAvB,EAAA,EAAA,MAAAjB,aAAAiB,UAAAhB,kBAAAgB,EAAA,EAAA,MAAAd,aAAA;AAE3DqC,SAAAxC,aACA,oBAAC,mBAAA,EACW,WAAAC,iBAAA,iCAAAoB,QACJ,OAAA;AAAA,MAAAwG,UAAY,GAAG1H,WAAW;AAAA,MAAI8H,OAAS,GAAG9H,WAAW;AAAA,IAAA,GAAM;AAEnEc,YAAAjB;AAAAiB,YAAAhB;AAAAgB,YAAAd;AAAAc,YAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,EAAA;AAAA,EAAA;AAAA,MAAA0B;AAAA,MAAA1B,EAAA,EAAA,MAAA4B,eAAA5B,EAAA,EAAA,MAAAa,SAAAb,EAAA,EAAA,MAAA0L,oBAAA1L,EAAA,EAAA,MAAAoB,MAAApB,UAAAuB,IAAA;AARFG,sCAAeE,WAAAA,gBAAiBf,OAC9BO,UAAAA;AAAAA,MAAAA;AAAAA,MACAsK;AAAAA,MACAnK;AAAAA,IAAAA,GAMF;AAAKvB,YAAA4B;AAAA5B,YAAAa;AAAAb,YAAA0L;AAAA1L,YAAAoB;AAAApB,YAAAuB;AAAAvB,YAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,EAAA;AAAA,EAAA;AAAA,SATL0B;AASK,CAEN;AACD+J,eAAehL,cAAc;AChCtB,MAAMkL,WAAWA,CAAC;AAAA,EAAE/K;AAAAA,EAAWD;AAAAA,EAAUiL;AAAAA,EAAoB,GAAG/K;AAAkB,MAAM;AAC9F,QAAM;AAAA,IACLlC,QAAQ;AAAA,IACRC;AAAAA,IACAC,WAAW;AAAA,IACXC,aAAa,CAAA;AAAA,IACbC,YAAY;AAAA,IACZC,iBAAiB;AAAA,IACjBC;AAAAA,IACAC,cAAc;AAAA,IACduC;AAAAA,IACArC;AAAAA,IACAC;AAAAA,IACAC,eAAe,CAAA;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACA,GAAGqM;AAAAA,EAAAA,IACAhL;AAEJ,QAAMoD,kBAAkBlF,aAAaC;AACrC,QAAMmG,eAAeF,gBAAgBhB,eAAe;AAEpD,QAAM6H,aAAaC,QAAQ,MAAMpK,QAAQ,2EAA2Ef,SAAS,GAAG,CAACA,SAAS,CAAC;AAC3I,QAAMoL,iBAAiBD,QACtB,MACCpK,QACC,kGACAsC,mBAAmB,wBACnB2H,kBACD,GACD,CAACA,oBAAoB3H,eAAe,CACrC;AAEA,SACC,oBAAC,aAAa,UAAb,EACA,OAAO;AAAA,IACNtF;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,aAAasC,YAAYM,UAAU;AAAA,IACnC3C;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,EAAAA,GAGD,UAAA,oBAAC,OAAA,EAAI,KAAK2F,cAAc,WAAW6G,gBAClC,UAAA,oBAAC,iBAAA,EACA,8BAAC,YAAA,EAAW,UAAU,MAAM,OAAO,eAAe,EAAEC,KAAMC,CAAAA,QAAQA,IAAIC,YAAY,GACjF,UAAA,oBAAC,SAAA,EAAM,WAAWL,YAChBtJ,UAAAA,eAAMM,SAASH,IAAIhC,UAAWyB,WAC9BG,eAAeH,KAAK,IACjBI,eAAMC,aAAaL,OAA4B;AAAA,IAC/CX;AAAAA,IACA,GAAGoK;AAAAA,EAAAA,CACH,IACAzJ,KACJ,GACD,EAAA,CACD,EAAA,CACD,GACD,GACD;AAEF;AAEO,MAAMgK,QAAQC,OAAOC,OAAOX,UAAU;AAAA,EAC5CY,QAAQzH;AAAAA,EAER0H,WAAWnB;AAAAA,EACXoB,cAAcvD;AAAAA,EAEdwD,WAAWjB;AAAAA,EACXkB,cAAcnB;AAAAA,EAEdoB,MAAM1J;AAAAA,EAEN2J,SAASnJ;AAAAA,EACToJ,YAAY3J;AACb,CAAC;ACxFM,MAAM4J,WAAWhN,CAAAA,OAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA;AAAC,QAAA;AAAA,IAAA+M,qBAAA7M;AAAAA,IAAA8M,kBAAA5M;AAAAA,IAAA6M,oBAAA1M;AAAAA,IAAA2M,uBAAApM;AAAAA,IAAAqM,qBAAAhM;AAAAA,EAAAA,IAAArB;AAMZ,MAAAwB;AAAA,MAAAvB,SAAAG,IAAA;AALZoB,SAAApB,OAAAC,SAAA,CAAA,IAAAD;AAAwBH,WAAAG;AAAAH,WAAAuB;AAAAA,EAAA,OAAA;AAAAA,SAAAvB,EAAA,CAAA;AAAA,EAAA;AAAxB,QAAAgN,sBAAAzL;AAAwB,MAAAG;AAAA,MAAA1B,SAAAK,IAAA;AACxBqB,SAAArB,OAAAD,SAAA,CAAA,IAAAC;AAAqBL,WAAAK;AAAAL,WAAA0B;AAAAA,EAAA,OAAA;AAAAA,SAAA1B,EAAA,CAAA;AAAA,EAAA;AAArB,QAAAiN,mBAAAvL;AAAqB,MAAAG;AAAA,MAAA7B,SAAAQ,IAAA;AACrBqB,SAAArB,OAAAJ,SAAA,CAAA,IAAAI;AAAuBR,WAAAQ;AAAAR,WAAA6B;AAAAA,EAAA,OAAA;AAAAA,SAAA7B,EAAA,CAAA;AAAA,EAAA;AAAvB,QAAAkN,qBAAArL;AACA,QAAAsL,wBAAApM,OAAAX,SAAA,OAAAW;AAA4B,MAAAiB;AAAA,MAAAhC,SAAAoB,IAAA;AAC5BY,SAAAZ,OAAAhB,SAAA,CAAA,IAAAgB;AAAwBpB,WAAAoB;AAAApB,WAAAgC;AAAAA,EAAA,OAAA;AAAAA,SAAAhC,EAAA,CAAA;AAAA,EAAA;AAAxB,QAAAoN,sBAAApL;AAEA,QAAA,CAAAlD,YAAAuO,aAAA,IAAoCnG,SAA4B+F,gBAAgB;AAChF,QAAA,CAAArO,cAAA0O,eAAA,IAAwCpG,SAAmB8F,mBAAmB;AAC9E,QAAA,CAAAO,aAAAC,cAAA,IAAsCtG,SAAgCgG,kBAAkB;AACxF,QAAA,CAAA9N,gBAAAqO,iBAAA,IAA4CvG,SAAgCiG,qBAAqB;AACjG,QAAA,CAAA7N,cAAAoO,eAAA,IAAwCxG,SAAuBkG,mBAAmB;AAAE,MAAAnL;AAAA,MAAAjC,EAAA,CAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEhD0B,UAAAsC,CAAAA,UAAA;AACnC8I,oBAAcM,CAAAA,SAAA;AACb,cAAAC,SAAeD,KAAIxJ,KAAMjC,QAAQA,GAAEgC,OAAQK,MAAKL,EAAG;AACnD,YAAI0J,QAAM;AAAA,iBACFD,KAAIE,OAAQxJ,CAAAA,SAAQnC,KAAEgC,OAAQK,MAAKL,EAAG;AAAA,QAAC;AAC9C,eACM,CAAA,GAAIyJ,MAAMpJ,KAAK;AAAA,MAAC,CACvB;AAAA,IAAC;AACFvE,WAAAiC;AAAAA,EAAA,OAAA;AAAAA,UAAAjC,EAAA,CAAA;AAAA,EAAA;AARD,QAAA8N,kBAAwB7L;AAQjB,MAAAgB;AAAA,MAAAjD,EAAA,CAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAE8B0C,UAAA8K,CAAAA,YAAA;AACpCV,oBAAc9I,OAAK;AAAA,IAAC;AACpBvE,WAAAiD;AAAAA,EAAA,OAAA;AAAAA,UAAAjD,EAAA,CAAA;AAAA,EAAA;AAFD,QAAAgO,mBAAyB/K;AAElB,MAAAgH;AAAA,MAAAjK,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEgC0J,UAAAgE,CAAAA,YAAA;AACtCX,sBAAgB/I,OAAK;AAAA,IAAC;AACtBvE,YAAAiK;AAAAA,EAAA,OAAA;AAAAA,UAAAjK,EAAA,EAAA;AAAA,EAAA;AAFD,QAAAkO,qBAA2BjE;AAEpB,MAAAE;AAAA,MAAAnK,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEsC4J,UAAAA,MAAA;AACtCkD,oBAAc,CAAA,CAAE;AAAA,IAAC;AACpBrN,YAAAmK;AAAAA,EAAA,OAAA;AAAAA,UAAAnK,EAAA,EAAA;AAAA,EAAA;AAFD,QAAAmO,wBAA8BhE;AAEvB,MAAAK;AAAA,MAAAxK,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAE+BiK,UAAAA,CAAA9H,KAAA0L,YAAA;AACxCZ,qBAAea,CAAAA,WAAA;AACd,YAAIV,OAAKjL,GAAG,MAAM6B,SAAK;AAAA,iBAASoJ;AAAAA,QAAI;AAEpC,cAAAW,WAAiB;AAAA,UAAA,GAAKX;AAAAA,QAAAA;AAEtB,YAAIpJ,SAAK;AACR+J,mBAAS5L,GAAG,IAAI6B;AAAAA,QAAH,OAAA;AAEb,iBAAO+J,SAAS5L,GAAG;AAAA,QAAC;AACpB,eAEM4L;AAAAA,MAAQ,CACf;AAAA,IAAC;AACFtO,YAAAwK;AAAAA,EAAA,OAAA;AAAAA,UAAAxK,EAAA,EAAA;AAAA,EAAA;AAdD,QAAAuO,uBAA6B/D;AActB,MAAAE;AAAA,MAAA1K,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEwBmK,UAAAH,CAAAA,WAAA;AAC9BkD,wBAAkBe,CAAAA,WAAA;AAEjB,YAAIb,QAAIpD,WAAaA,QAAM;AAE1B,cAAIoD,OAAIhD,cAAe,OAAK;AAAA,mBACpB;AAAA,cAAAJ;AAAAA,cAAAI,WAAqB;AAAA,YAAA;AAAA,UAAQ,OAAA;AAAA,mBAG7B;AAAA,UAAI;AAAA,QACX;AACD,eAGM;AAAA,UAAAJ;AAAAA,UAAAI,WAAqB;AAAA,QAAA;AAAA,MAAO,CACnC;AAAA,IAAC;AACF3K,YAAA0K;AAAAA,EAAA,OAAA;AAAAA,UAAA1K,EAAA,EAAA;AAAA,EAAA;AAhBD,QAAAyK,aAAmBC;AAgBZ,MAAAG;AAAA,MAAA7K,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEgCsK,UAAAA,CAAAnE,UAAAM,UAAA;AACtC0G,sBAAgBe,CAAAA,YAAW;AAAA,QAAA,GACvBd;AAAAA,QAAI,CACNjH,QAAQ,GAAGM;AAAAA,MAAAA,EACX;AAAA,IAAC;AACHhH,YAAA6K;AAAAA,EAAA,OAAA;AAAAA,UAAA7K,EAAA,EAAA;AAAA,EAAA;AALD,QAAA0O,qBAA2B7D;AAKpB,MAAAC;AAAA,MAAA9K,EAAA,EAAA,MAAAM,uBAAAC,IAAA,2BAAA,GAAA;AAEmCuK,UAAAA,CAAA6D,YAAA7E,YAAA;AACzC4D,sBAAgBkB,CAAAA,YAAW;AAAA,QAAA,GACvBjB;AAAAA,QAAI,CACNjH,UAAQ,GAAGM;AAAAA,MAAAA,EACX;AAAA,IAAC;AACHhH,YAAA8K;AAAAA,EAAA,OAAA;AAAAA,UAAA9K,EAAA,EAAA;AAAA,EAAA;AALD,QAAA6O,wBAA8B/D;AAKvB,MAAAC;AAAA,MAAA/K,EAAA,EAAA,MAAAV,gBAAAU,EAAA,EAAA,MAAApB,gBAAAoB,EAAA,EAAA,MAAAlB,cAAAkB,EAAA,EAAA,MAAAZ,kBAAAY,UAAAuN,aAAA;AAEAxC,UAAA;AAAA,MAAAjM;AAAAA,MAAAF;AAAAA,MAAA2O;AAAAA,MAAAnO;AAAAA,MAAAE;AAAAA,MAAA0O;AAAAA,MAAAF;AAAAA,MAAAI;AAAAA,MAAAK;AAAAA,MAAAJ;AAAAA,MAAA1D;AAAAA,MAAAiE;AAAAA,MAAAG;AAAAA,IAAAA;AAcN7O,YAAAV;AAAAU,YAAApB;AAAAoB,YAAAlB;AAAAkB,YAAAZ;AAAAY,YAAAuN;AAAAvN,YAAA+K;AAAAA,EAAA,OAAA;AAAAA,UAAA/K,EAAA,EAAA;AAAA,EAAA;AAAA,SAdM+K;AAcN;"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../../src/components/table/context/table.context.tsx","../../src/components/table/hook/use-table-context.tsx","../../src/components/table/body/table-empty-state.tsx","../../src/components/table/body/table-body.tsx","../../src/components/table/body/table-body-column.tsx","../../src/components/table/body/table-body-row.tsx","../../src/components/table/header/table-header.tsx","../../src/components/table/hook/use-sticky-action.tsx","../../src/components/table/hook/use-column-resize.tsx","../../src/components/table/header/resize-handle.tsx","../../src/components/table/header/table-header-column.tsx","../../src/components/table/header/table-header-row.tsx","../../src/components/table/search/table-search-column.tsx","../../src/components/table/search/table-search-row.tsx","../../src/components/table/table.tsx","../../src/components/table/hook/use-table.tsx"],"sourcesContent":["import { createContext } from \"react\";\n\nimport { type TableContextProps } from \"../interface/table.interface\";\n\nconst initialValues: TableContextProps = {\n\tcolor: \"primary\",\n\tdisabledKeys: [],\n\tisChecks: true,\n\tselectKeys: [],\n\tisActions: true,\n\tisStickyAction: false,\n\tactionLabel: \"\",\n actionClassName: \"\",\n\twidthAction: 100,\n\ttotalColumn: 0,\n\tsortDescriptor: null,\n\tonSortChange: () => {},\n\tcolumnWidths: {},\n\tonColumnResize: () => {},\n\tonColumnResizeEnd: () => {},\n};\n\nexport const TableContext = createContext<TableContextProps>(initialValues);\n","import { useContext } from \"react\";\nimport { TableContext } from \"../context/table.context\";\n\nexport const useTableContext = () => {\n\treturn useContext(TableContext);\n};\n","import { memo } from \"react\";\n\ninterface TableEmptyStateProps {\n\ttext?: string;\n}\n\nexport const TableEmptyState = memo(({ text = \"No hay resultados disponibles por el momento.\" }: TableEmptyStateProps) => {\n\treturn (\n\t\t<div className=\"w-full flex flex-col items-center justify-center\">\n\t\t\t<div className=\"flex flex-col items-center justify-center gap-3 px-5 py-7 max-w-sm\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" className=\"w-16 h-16 text-default-300 dark:text-default-400\" fill=\"none\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\tfillRule=\"evenodd\"\n\t\t\t\t\t\td=\"m6.379 4.5-.44-.44-.621-.62A1.5 1.5 0 0 0 4.258 3H3a1.5 1.5 0 0 0-1.5 1.5v5.25l1.376-2.293A3 3 0 0 1 5.45 6h7.05A1.5 1.5 0 0 0 11 4.5zM14 6.026V6a3 3 0 0 0-3-3H7l-.621-.621A3 3 0 0 0 4.257 1.5H3a3 3 0 0 0-3 3V11a3 3 0 0 0 3 3h8.301a3 3 0 0 0 2.573-1.457l1.791-2.985A2.35 2.35 0 0 0 14 6.026M10 12.5h1.301a1.5 1.5 0 0 0 1.287-.728l1.791-2.986 1.286.772-1.286-.772a.85.85 0 0 0-.728-1.286H5.449a1.5 1.5 0 0 0-1.287.728l-1.791 2.986a.85.85 0 0 0 .728 1.286z\"\n\t\t\t\t\t\tclipRule=\"evenodd\"\n\t\t\t\t\t></path>\n\t\t\t\t</svg>\n\t\t\t\t<p className=\"text-sm text-default-500 dark:text-default-200\">{text}</p>\n\t\t\t</div>\n\t\t</div>\n\t);\n});\n\nTableEmptyState.displayName = \"TableEmptyState\";\n","import React, { type ReactElement, isValidElement, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport LoaderCircle from \"@/components/loader/loader-circle\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyProps, type TableShareProps } from \"../interface/table.interface\";\nimport { TableEmptyState } from \"./table-empty-state\";\n\nfunction TableBodyComponent<TData extends object>({\n\tchildren,\n\tclassName,\n\tdata = [],\n\temptyText = \"No hay resultados disponibles por el momento.\",\n\tisLoading = false,\n\tloadingLabel = \"Cargando...\",\n\trowKey,\n\t...props\n}: TableBodyProps<TData>) {\n\tconst { totalColumn, isActions, isChecks } = useTableContext();\n\tconst total = Number(totalColumn) + Number(isActions) + Number(isChecks);\n\n\t// Filter out dataHeader if it was passed via cloneElement to avoid DOM warnings\n\tconst domProps = { ...(props as any) };\n\tdelete domProps.dataHeader;\n\n\tconst mergedClass = useMemo(() => twMerge(className), [className]);\n\n\tconst renderedRows = useMemo(() => {\n\t\tif (!data || data.length === 0) return null;\n\n\t\tif (typeof children === \"function\") {\n\t\t\treturn data.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = rowKey ? rowKey(el, index) : index;\n\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: rowKey ? rowKey(data[index] as TData, index) : index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, data, rowKey]);\n\n\tlet fallbackContent: React.ReactNode = null;\n\n\tif (isLoading) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"loading-table-content\">\n\t\t\t\t<td className=\"px-2 py-2.5 w-full\" colSpan={total}>\n\t\t\t\t\t<div className=\"flex justify-center relative\">\n\t\t\t\t\t\t<div className=\"flex flex-col justify-center items-center gap-2\">\n\t\t\t\t\t\t\t<div className=\"mt-3.5\">\n\t\t\t\t\t\t\t\t<LoaderCircle size={45} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-sm text-default-800\">{loadingLabel}</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t} else if (data.length === 0) {\n\t\tfallbackContent = (\n\t\t\t<tr className=\"empty-table-content\">\n\t\t\t\t<td className=\"px-2 py-10 w-full\" colSpan={total}>\n\t\t\t\t\t<TableEmptyState text={emptyText} />\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t);\n\t}\n\n\treturn (\n\t\t<tbody className={twMerge(\"table__body__main\", mergedClass)} {...domProps}>\n\t\t\t{renderedRows}\n\t\t\t{fallbackContent}\n\t\t</tbody>\n\t);\n}\n\nexport const TableBody = memo(<TData extends object>(props: TableBodyProps<TData>) => {\n\treturn <TableBodyComponent {...props} />;\n}) as <TData extends object>(props: TableBodyProps<TData>) => React.JSX.Element;\n","import { forwardRef, memo, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableBodyColumnProps } from \"../interface/table.interface\";\n\nexport const TableBodyColumn = memo(\n\tforwardRef<HTMLTableCellElement, TableBodyColumnProps>(({ children, className, text , style, colspan= undefined}, ref) => {\n\t\tconst mergedClass = useMemo(\n\t\t\t() => twMerge(\"px-2 py-1 text-gray-900 dark:text-default-500 text-sm\", className),\n\t\t\t[className]\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\n\t\treturn (\n\t\t\t<td ref={ref} className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<p className=\"line-clamp-1 text-sm\">{text}</p>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\t\t\t</td>\n\t\t);\n\t})\n);\n\nTableBodyColumn.displayName = \"TableBodyColumn\";\n","import Checkbox from \"@/components/checkbox/checkbox\";\nimport clsx from \"clsx\";\nimport { forwardRef, memo, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableBodyRowProps } from \"../interface/table.interface\";\n\nexport const TableBodyRow = memo(\n\tforwardRef<HTMLTableRowElement, TableBodyRowProps>(({ children, className, keyCurrent, onChangeCheck, disabled, style, isCheck = true }, ref) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, selectKeys, disabledKeys, color, isActions, isStickyAction } = useTableContext();\n\t\tconst hasStickyAction = isActions && isStickyAction;\n\n\t\tconst check = useMemo(() => selectKeys?.some((el) => el.id === keyCurrent.id), [selectKeys, keyCurrent.id]);\n\n\t\tconst disabledCheck = useMemo(() => disabledKeys?.some((el) => el === keyCurrent.id), [disabledKeys, keyCurrent.id]);\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck || disabled) return;\n\t\t\tonChangeCheck?.(keyCurrent, value);\n\t\t};\n\n\t\tconst rowClass = useMemo(\n\t\t\t() =>\n\t\t\t\ttwMerge(\n\t\t\t\t\t\"table__body_row relative min-h-[40px] h-[40px] transition-colors duration-200 ease-in-out\",\n\t\t\t\t\tclsx({\n\t\t\t\t\t\t\"bg-content1 dark:hover:bg-default-100\": !check,\n\t\t\t\t\t\t// The sticky action cell inherits the row background, so the\n\t\t\t\t\t\t// hover color must stay opaque to fully cover scrolled content.\n\t\t\t\t\t\t\"hover:bg-[#ffffff66]\": !check && !hasStickyAction,\n\t\t\t\t\t\t\"hover:bg-default-50\": !check && hasStickyAction,\n\t\t\t\t\t\t\"bg-default-100 dark:bg-default-200\": check,\n\t\t\t\t\t}),\n\t\t\t\t\tclassName,\n\t\t\t\t),\n\t\t\t[check, className, hasStickyAction],\n\t\t);\n\n\t\treturn (\n\t\t\t<tr className={rowClass} ref={ref} style={style}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<td className=\"px-2 py-1\">\n\t\t\t\t\t\t{isCheck && (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\t\tchecked={check || false}\n\t\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\t\tdisabled={disabledCheck || disabled}\n\t\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</tr>\n\t\t);\n\t}),\n);\n\nTableBodyRow.displayName = \"TableBodyRow\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableHeaderProps } from \"../interface/table.interface\";\n\nexport const TableHeader: FC<TableHeaderProps> = React.memo(({ children, className, ...props }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"min-h-[100px] sticky top-0 z-10\", className), [className]);\n\n\tconst clonedChildren = useMemo(\n\t\t() => React.Children.map(children, (child) => (isValidElement(child) ? React.cloneElement(child as ReactElement, { ...props }) : child)),\n\t\t[children, props],\n\t);\n\n\treturn <thead className={mergedClass}>{clonedChildren}</thead>;\n});\nTableHeader.displayName = \"TableHeader\";\n","import { useEffect, useRef } from \"react\";\n\nconst PINNED_CLASS = \"table--action-pinned\";\n\n/**\n * Tracks horizontal overflow of the table scroll container and toggles the\n * pinned modifier class when content remains hidden to the right, so the\n * sticky action column only shows its elevation shadow while it is actually\n * covering scrollable content. The class is toggled directly on the DOM node\n * to avoid re-rendering the table on every scroll event.\n */\nexport const useStickyAction = (enabled: boolean) => {\n\tconst containerRef = useRef<HTMLDivElement>(null);\n\n\tuseEffect(() => {\n\t\tconst container = containerRef.current;\n\t\tif (!enabled || !container) return;\n\n\t\tconst updatePinnedState = () => {\n\t\t\tconst hasOverflowRight = container.scrollWidth - container.clientWidth - container.scrollLeft > 1;\n\t\t\tcontainer.classList.toggle(PINNED_CLASS, hasOverflowRight);\n\t\t};\n\n\t\tupdatePinnedState();\n\t\tcontainer.addEventListener(\"scroll\", updatePinnedState, { passive: true });\n\n\t\tconst resizeObserver = new ResizeObserver(updatePinnedState);\n\t\tresizeObserver.observe(container);\n\t\tconst table = container.querySelector(\"table\");\n\t\tif (table) resizeObserver.observe(table);\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener(\"scroll\", updatePinnedState);\n\t\t\tresizeObserver.disconnect();\n\t\t\tcontainer.classList.remove(PINNED_CLASS);\n\t\t};\n\t}, [enabled]);\n\n\treturn containerRef;\n};\n","import { useCallback, useRef, useState, useEffect } from \"react\";\n\ninterface UseColumnResizeProps {\n\tcolumnId: string;\n\tinitialWidth?: number;\n\tminWidth?: number;\n\tmaxWidth?: number;\n\tonResize?: (columnId: string, width: number) => void;\n\tonResizeEnd?: (columnId: string, width: number) => void;\n}\n\nexport function useColumnResize({\n\tcolumnId,\n\tinitialWidth = 150,\n\tminWidth = 80,\n\tmaxWidth = 800,\n\tonResize,\n\tonResizeEnd,\n}: UseColumnResizeProps) {\n\tconst [width, setWidth] = useState(initialWidth);\n\tconst [isResizing, setIsResizing] = useState(false);\n\tconst startXRef = useRef(0);\n\tconst startWidthRef = useRef(0);\n\tconst columnRef = useRef<HTMLTableCellElement>(null);\n\n\tuseEffect(() => {\n\t\tif (initialWidth !== width) {\n\t\t\tsetWidth(initialWidth);\n\t\t}\n\t}, [initialWidth]);\n\n\tconst handlePointerDown = useCallback(\n\t\t(e: React.PointerEvent<HTMLDivElement>) => {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tconst target = e.currentTarget;\n\t\t\ttarget.setPointerCapture(e.pointerId);\n\n\t\t\tstartXRef.current = e.clientX;\n\t\t\tstartWidthRef.current = width;\n\t\t\tsetIsResizing(true);\n\n\t\t\t// Prevent text selection during resize\n\t\t\tdocument.body.style.userSelect = \"none\";\n\t\t\tdocument.body.style.cursor = \"col-resize\";\n\t\t},\n\t\t[width],\n\t);\n\n\tconst handlePointerMove = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst newWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tsetWidth(newWidth);\n\t\t\tonResize?.(columnId, newWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResize],\n\t);\n\n\tconst handlePointerUp = useCallback(\n\t\t(e: PointerEvent) => {\n\t\t\tif (!isResizing) return;\n\n\t\t\tsetIsResizing(false);\n\t\t\tdocument.body.style.userSelect = \"\";\n\t\t\tdocument.body.style.cursor = \"\";\n\n\t\t\tconst delta = e.clientX - startXRef.current;\n\t\t\tconst finalWidth = Math.max(minWidth, Math.min(maxWidth, startWidthRef.current + delta));\n\n\t\t\tonResizeEnd?.(columnId, finalWidth);\n\t\t},\n\t\t[isResizing, minWidth, maxWidth, columnId, onResizeEnd],\n\t);\n\n\tuseEffect(() => {\n\t\tif (isResizing) {\n\t\t\tdocument.addEventListener(\"pointermove\", handlePointerMove);\n\t\t\tdocument.addEventListener(\"pointerup\", handlePointerUp);\n\n\t\t\treturn () => {\n\t\t\t\tdocument.removeEventListener(\"pointermove\", handlePointerMove);\n\t\t\t\tdocument.removeEventListener(\"pointerup\", handlePointerUp);\n\t\t\t};\n\t\t}\n\t}, [isResizing, handlePointerMove, handlePointerUp]);\n\n\treturn {\n\t\twidth,\n\t\tisResizing,\n\t\tcolumnRef,\n\t\thandlePointerDown,\n\t\tsetWidth,\n\t};\n}\n\nexport type UseColumnResizeReturn = ReturnType<typeof useColumnResize>;\n","import { memo } from \"react\";\nimport clsx from \"clsx\";\n\ninterface ResizeHandleProps {\n\tonPointerDown: (e: React.PointerEvent<HTMLDivElement>) => void;\n\tisResizing: boolean;\n\tclassName?: string;\n}\n\nexport const ResizeHandle = memo(({ onPointerDown, isResizing, className }: ResizeHandleProps) => {\n\treturn (\n\t\t<div\n\t\t\tclassName={clsx(\n\t\t\t\t\"absolute top-0 right-0 h-full w-1 cursor-col-resize select-none touch-none group/resize z-10\",\n\t\t\t\t\"hover:bg-default/50 active:bg-default transition-colors\",\n\t\t\t\tisResizing && \"bg-default\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\tonPointerDown={onPointerDown}\n\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\tonDoubleClick={(e) => e.stopPropagation()}\n\t\t\trole=\"separator\"\n\t\t\taria-orientation=\"vertical\"\n\t\t\taria-label=\"Resize column\"\n\t\t>\n\t\t\t{/* Extended hit area for better UX */}\n\t\t\t<div className=\"absolute inset-y-0 -left-2 -right-2\" />\n\n\t\t\t{/* Visual indicator on hover */}\n\t\t\t<div\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\",\n\t\t\t\t\t\"w-1 h-8 rounded-full bg-default opacity-0 group-hover/resize:opacity-100 transition-opacity\",\n\t\t\t\t\tisResizing && \"opacity-100\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t</div>\n\t);\n});\n\nResizeHandle.displayName = \"ResizeHandle\";\n","import { Tooltip } from \"@/components/tooltip\";\nimport { ChevronDown, ChevronsUpDown, ChevronUp } from \"lucide-react\";\nimport React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { useColumnResize } from \"../hook/use-column-resize\";\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderColumnProps } from \"../interface/table.interface\";\nimport { ResizeHandle } from \"./resize-handle\";\n\nexport const TableHeaderColumn: FC<TableHeaderColumnProps> = React.memo(\n\t({\n\t\tchildren,\n\t\tclassName,\n\t\tstyle = {},\n\t\ticon = null,\n\t\ttext = \"\",\n\t\tsize,\n\t\theader,\n\t\tcolspan = undefined,\n\t\tresizable: resizableProp,\n\t\tminWidth: minWidthProp,\n\t\tmaxWidth: maxWidthProp,\n\t\tonResize: onResizeProp,\n\t\tonResizeEnd: onResizeEndProp,\n\t}) => {\n\t\tconst { sortDescriptor, onSortChange, columnWidths, onColumnResize, onColumnResizeEnd } = useTableContext(); // Determine if column is resizable\n\t\tconst isResizable = resizableProp ?? header?.resizable ?? false;\n\t\tconst columnId = header?.id || \"\";\n\t\tconst initialWidth = columnWidths?.[columnId] || size || header?.size || 150;\n\t\tconst minWidth = minWidthProp ?? header?.minWidth ?? 80;\n\t\tconst maxWidth = maxWidthProp ?? header?.maxWidth ?? 800;\n\n\t\t// Use resize hook if column is resizable\n\t\tconst {\n\t\t\twidth: resizedWidth,\n\t\t\tisResizing,\n\t\t\tcolumnRef,\n\t\t\thandlePointerDown,\n\t\t} = useColumnResize({\n\t\t\tcolumnId,\n\t\t\tinitialWidth,\n\t\t\tminWidth,\n\t\t\tmaxWidth,\n\t\t\tonResize: (id, width) => {\n\t\t\t\tonResizeProp?.(width);\n\t\t\t\tonColumnResize?.(id, width);\n\t\t\t},\n\t\t\tonResizeEnd: (id, width) => {\n\t\t\t\tonResizeEndProp?.(width);\n\t\t\t\tonColumnResizeEnd?.(id, width);\n\t\t\t},\n\t\t});\n\n\t\tconst mergedClass = useMemo(() => twMerge(\"table__header_th px-2 relative\", className), [className]);\n\n\t\tconst effectiveWidth = isResizable ? resizedWidth : size || header?.size;\n\n\t\tconst mergedStyle = useMemo(\n\t\t\t() => ({\n\t\t\t\t...style,\n\t\t\t\twidth: effectiveWidth ? `${effectiveWidth}px` : style.width,\n\t\t\t\tminWidth: effectiveWidth ? `${effectiveWidth}px` : style.minWidth,\n\t\t\t}),\n\t\t\t[style, effectiveWidth],\n\t\t);\n\n\t\tconst isChildrenEmpty = !children || (typeof children === \"string\" && children.trim() === \"\");\n\t\tconst isSortable = header?.sort;\n\n\t\tconst isCurrentlySorted = useMemo(() => sortDescriptor?.column === header?.id, [sortDescriptor, header?.id]);\n\n\t\tconst handleSort = (e: React.MouseEvent<HTMLTableCellElement>) => {\n\t\t\t// No ordenar si se está haciendo resize\n\t\t\tif (isResizing) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (isSortable && onSortChange && header?.id) {\n\t\t\t\tonSortChange(header.id);\n\t\t\t}\n\t\t};\n\t\tconst renderSortIcon = () => {\n\t\t\tif (!isSortable) return icon;\n\n\t\t\tif (isCurrentlySorted && sortDescriptor) {\n\t\t\t\treturn sortDescriptor.direction === \"asc\" ? (\n\t\t\t\t\t<ChevronUp className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t) : (\n\t\t\t\t\t<ChevronDown className=\"h-4 w-4 text-foreground-500 dark:text-foreground-500\" />\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn <ChevronsUpDown className=\"h-4 w-4 text-default-300\" />;\n\t\t};\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\tref={isResizable ? columnRef : undefined}\n\t\t\t\tclassName={twMerge(mergedClass, isSortable ? \"cursor-pointer transition-colors\" : \"\", isResizing && \"select-none\")}\n\t\t\t\tstyle={mergedStyle}\n\t\t\t\tcolSpan={colspan}\n\t\t\t\tonClick={handleSort}\n\t\t\t>\n\t\t\t\t{isChildrenEmpty ? (\n\t\t\t\t\t<div className=\"flex justify-between items-center gap-x-2 font-medium\">\n\t\t\t\t\t\t<div className=\"flex items-center gap-x-2\">\n\t\t\t\t\t\t\t<p className=\"line-clamp-1 text-xs text-foreground-500 dark:text-foreground-500 text-left\">{text}</p>\n\t\t\t\t\t\t\t{header?.information && (\n\t\t\t\t\t\t\t\t<Tooltip content={header?.information || \"\"}>\n\t\t\t\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"text-default-300 cursor-pointer dark:text-foreground-500\"\n\t\t\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<g fill=\"none\">\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={12} cy={12} r={10} stroke=\"currentColor\" strokeWidth=\"1.5\" />\n\t\t\t\t\t\t\t\t\t\t\t<path stroke=\"currentColor\" strokeLinecap=\"round\" strokeWidth=\"1.5\" d=\"M12 17v-6\" />\n\t\t\t\t\t\t\t\t\t\t\t<circle cx={1} cy={1} r={1} fill=\"currentColor\" transform=\"matrix(1 0 0 -1 11 9)\" />\n\t\t\t\t\t\t\t\t\t\t</g>\n\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-1 flex justify-end\">{renderSortIcon()}</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\tchildren\n\t\t\t\t)}\n\n\t\t\t\t{/* Resize handle */}\n\t\t\t\t{isResizable && <ResizeHandle onPointerDown={handlePointerDown} isResizing={isResizing} />}\n\t\t\t</th>\n\t\t);\n\t},\n);\nTableHeaderColumn.displayName = \"TableHeaderColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useId, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableHeaderRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport Checkbox from \"@/components/checkbox/checkbox\";\nimport { TableHeaderColumn } from \"./table-header-column\";\n\nexport const TableHeaderRow: FC<TableHeaderRowProps> = React.memo(\n\t({ children, className, dataHeader = [], valueCheck = false, disabledCheck, onChangeCheck, ...props }) => {\n\t\tconst uui = useId();\n\t\tconst { isChecks, widthAction, isActions, isStickyAction, actionLabel, actionClassName, color } = useTableContext();\n\n\t\tconst handleChange = (value: boolean) => {\n\t\t\tif (disabledCheck) return;\n\t\t\tonChangeCheck?.(value);\n\t\t};\n\n\t\tconst headerChildren = useMemo(() => {\n\t\t\tif (typeof children === \"function\") {\n\t\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\t\tconst child = children({ item: el, index });\n\n\t\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\n\t\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: null;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\t\tkey: (dataHeader[index] as any)?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t: child,\n\t\t\t\t);\n\t\t\t}\n\t\t}, [children, dataHeader, props]);\n\n\t\treturn (\n\t\t\t<tr className={twMerge(\"bg-default-100 h-[45px]\", className)}>\n\t\t\t\t{isChecks && (\n\t\t\t\t\t<TableHeaderColumn className=\"min-w-10 w-10\">\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tid={uui}\n\t\t\t\t\t\t\tonChange={(e) => handleChange(e.target.checked)}\n\t\t\t\t\t\t\tchecked={valueCheck}\n\t\t\t\t\t\t\tclassName=\"flex justify-center\"\n\t\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TableHeaderColumn>\n\t\t\t\t)}\n\n\t\t\t\t{headerChildren}\n\n\t\t\t\t{isActions && (\n\t\t\t\t\t<TableHeaderColumn\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\ttext={actionLabel}\n className={twMerge(actionClassName, isStickyAction ? \"table__column_action--sticky\" : undefined)}\n\t\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</tr>\n\t\t);\n\t},\n);\nTableHeaderRow.displayName = \"TableHeaderRow\";\n","import React, { type FC, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { type TableSearchColumnProps } from \"../interface/table.interface\";\n\nexport const TableSearchColumn: FC<TableSearchColumnProps> = React.memo(({ children, className = \"\", style = {}, colspan = undefined }) => {\n\tconst mergedClass = useMemo(() => twMerge(\"table-column-search px-2\", className), [className]);\n\n\treturn (\n\t\t<th className={mergedClass} style={style} colSpan={colspan}>\n\t\t\t{children}\n\t\t</th>\n\t);\n});\nTableSearchColumn.displayName = \"TableSearchColumn\";\n","import React, { type FC, type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nimport { useTableContext } from \"../hook/use-table-context\";\nimport { type TableSearchRowProps, type TableShareProps } from \"../interface/table.interface\";\n\nimport { TableSearchColumn } from \"./table-search-column\";\n\nexport const TableSearchRow: FC<TableSearchRowProps> = React.memo(({ children, className, dataHeader = [], ...props }) => {\n\tconst { isChecks, widthAction, isActions, isStickyAction } = useTableContext();\n\n\tconst mergedClass = useMemo(() => twMerge(\"bg-default-100 dark:bg-default-100 h-[45px]\", className), [className]);\n\n\tconst renderedChildren = useMemo(() => {\n\t\tif (typeof children === \"function\") {\n\t\t\treturn dataHeader.map((el, index) => {\n\t\t\t\tconst child = children({ item: el, index });\n\t\t\t\tconst keyValue = el.id ?? el.header ?? index;\n\t\t\t\treturn isValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: keyValue,\n\t\t\t\t\t\t})\n\t\t\t\t\t: null;\n\t\t\t});\n\t\t} else {\n\t\t\treturn React.Children.map(children, (child, index) =>\n\t\t\t\tisValidElement(child)\n\t\t\t\t\t? React.cloneElement(child as ReactElement<TableShareProps>, {\n\t\t\t\t\t\t\tkey: dataHeader[index]?.id ?? dataHeader[index]?.header ?? index,\n\t\t\t\t\t\t})\n\t\t\t\t\t: child,\n\t\t\t);\n\t\t}\n\t}, [children, dataHeader]);\n\n\treturn (\n\t\t<tr className={mergedClass} {...props}>\n\t\t\t{isChecks && <TableSearchColumn className=\"min-w-10 w-10\" />}\n\t\t\t{renderedChildren}\n\t\t\t{isActions && (\n\t\t\t\t<TableSearchColumn\n\t\t\t\t\tclassName={isStickyAction ? \"table__column_action--sticky\" : undefined}\n\t\t\t\t\tstyle={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</tr>\n\t);\n});\nTableSearchRow.displayName = \"TableSearchRow\";\n","import React, { type ReactElement, isValidElement, useMemo } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { TableBody } from \"./body/table-body\";\nimport { TableBodyColumn } from \"./body/table-body-column\";\nimport { TableBodyRow } from \"./body/table-body-row\";\nimport { TableContext } from \"./context/table.context\";\nimport { TableHeader } from \"./header/table-header\";\nimport { useStickyAction } from \"./hook/use-sticky-action\";\nimport { TableHeaderColumn } from \"./header/table-header-column\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { type TableProps } from \"./interface/table.interface\";\nimport { TableSearchColumn } from \"./search/table-search-column\";\nimport { TableSearchRow } from \"./search/table-search-row\";\nimport \"./style/table-style.css\";\n\nexport const TableHOC = ({ className, children, classNameContainer, classNameSubContainer, ...props }: TableProps) => {\n\tconst {\n\t\tcolor = \"primary\",\n\t\tdisabledKeys,\n\t\tisChecks = true,\n\t\tselectKeys = [],\n\t\tisActions = true,\n\t\tisStickyAction = false,\n\t\tactionLabel,\n\t\tactionClassName,\n\t\twidthAction = 100,\n\t\tdataHeader,\n\t\tsortDescriptor,\n\t\tonSortChange,\n\t\tcolumnWidths = {},\n\t\tonColumnResize,\n\t\tonColumnResizeEnd,\n\t\t...otherProps\n\t} = props;\n\n\tconst hasStickyAction = isActions && isStickyAction;\n\tconst containerRef = useStickyAction(hasStickyAction);\n\n\tconst containerClass = useMemo(\n\t\t() =>\n\t\t\ttwMerge(\n\t\t\t\t\"table__container_main max-w-full bg-default-100 p-1 rounded-lg\",\n\t\t\t\tclassNameContainer,\n\t\t\t),\n\t\t[classNameContainer],\n\t);\n\n const subContainerClass = useMemo(\n () =>\n twMerge(\n \"table__scroll-container table__sub--container overflow-x-auto overflow-y-auto scrollbar-gutter-auto\",\n hasStickyAction && \"table--sticky-action\",\n classNameSubContainer,\n ),\n [classNameSubContainer, hasStickyAction],\n );\n\n const tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\n\treturn (\n\t\t<TableContext.Provider\n\t\t\tvalue={{\n\t\t\t\tcolor,\n\t\t\t\tdisabledKeys,\n\t\t\t\tisChecks,\n\t\t\t\tselectKeys,\n\t\t\t\tisActions,\n\t\t\t\tisStickyAction,\n\t\t\t\tactionLabel,\n\t\t\t\tactionClassName,\n\t\t\t\twidthAction,\n\t\t\t\ttotalColumn: dataHeader?.length || 0,\n\t\t\t\tsortDescriptor,\n\t\t\t\tonSortChange,\n\t\t\t\tcolumnWidths,\n\t\t\t\tonColumnResize,\n\t\t\t\tonColumnResizeEnd,\n\t\t\t}}\n\t\t>\n\t\t\t<div className={containerClass}>\n\t\t\t\t<div ref={containerRef} className={subContainerClass}>\n\t\t\t\t\t<table className={tableClass}>\n\t\t\t\t\t\t{React.Children.map(children, (child) =>\n\t\t\t\t\t\t\tisValidElement(child)\n\t\t\t\t\t\t\t\t? React.cloneElement(child as ReactElement<any>, {\n\t\t\t\t\t\t\t\t\t\tdataHeader,\n\t\t\t\t\t\t\t\t\t\t...otherProps,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t: child,\n\t\t\t\t\t\t)}\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</TableContext.Provider>\n\t);\n};\n\nexport const Table = Object.assign(TableHOC, {\n\tHeader: TableHeader,\n\n\tHeaderRow: TableHeaderRow,\n\tHeaderColumn: TableHeaderColumn,\n\n\tSearchRow: TableSearchRow,\n\tSearchColumn: TableSearchColumn,\n\n\tBody: TableBody,\n\n\tBodyRow: TableBodyRow,\n\tBodyColumn: TableBodyColumn,\n});\n","import { useCallback, useState } from \"react\";\n\nimport { type TableKeyCurrent, type TableValueSearchProps } from \"../interface/table-share.interface\";\nimport { type TableHookProps, type SortDescriptor, type ColumnWidths } from \"../interface/table.interface\";\n\ninterface TableProps {\n\tinitialSelectKey?: TableKeyCurrent[];\n\tinitialDisabledKeys?: string[];\n\tinitialValueSearch?: TableValueSearchProps;\n\tinitialSortDescriptor?: SortDescriptor | null;\n\tinitialColumnWidths?: ColumnWidths;\n}\n\nexport const useTable = ({\n\tinitialDisabledKeys = [],\n\tinitialSelectKey = [],\n\tinitialValueSearch = {},\n\tinitialSortDescriptor = null,\n\tinitialColumnWidths = {},\n}: TableProps): TableHookProps => {\n\tconst [selectKeys, setSelectKeys] = useState<TableKeyCurrent[]>(initialSelectKey);\n\tconst [disabledKeys, setDisabledKeys] = useState<string[]>(initialDisabledKeys);\n\tconst [valueSearch, setValueSearch] = useState<TableValueSearchProps>(initialValueSearch);\n\tconst [sortDescriptor, setSortDescriptor] = useState<SortDescriptor | null>(initialSortDescriptor);\n\tconst [columnWidths, setColumnWidths] = useState<ColumnWidths>(initialColumnWidths);\n\n\tconst handleSelectKey = useCallback((value: TableKeyCurrent) => {\n\t\tsetSelectKeys((prev) => {\n\t\t\tconst exists = prev.some((el) => el.id === value.id);\n\t\t\tif (exists) {\n\t\t\t\treturn prev.filter((el) => el.id !== value.id);\n\t\t\t}\n\t\t\treturn [...prev, value];\n\t\t});\n\t}, []);\n\n\tconst handleSelectKeys = useCallback((value: TableKeyCurrent[]) => {\n\t\tsetSelectKeys(value);\n\t}, []);\n\n\tconst handleDisabledKeys = useCallback((value: string[]) => {\n\t\tsetDisabledKeys(value);\n\t}, []);\n\n const handleResetSelectKeys = useCallback(() => {\n setSelectKeys([]);\n }, []);\n\n\tconst handleSetValueSearch = useCallback((key: string, value: string) => {\n\t\tsetValueSearch((prev) => {\n\t\t\tif (prev[key] === value) return prev; // Avoid unnecessary updates\n\n\t\t\tconst newState = { ...prev };\n\n\t\t\tif (value) {\n\t\t\t\tnewState[key] = value;\n\t\t\t} else {\n\t\t\t\tdelete newState[key];\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t}, []);\n\n\tconst handleSort = useCallback((column: string) => {\n\t\tsetSortDescriptor((prev) => {\n\t\t\t// Si ya existe ordenamiento en esta columna\n\t\t\tif (prev?.column === column) {\n\t\t\t\t// Toggle: asc -> desc -> remove\n\t\t\t\tif (prev.direction === \"asc\") {\n\t\t\t\t\treturn { column, direction: \"desc\" };\n\t\t\t\t} else {\n\t\t\t\t\t// Remove si era desc\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Nueva columna, iniciar con asc\n\t\t\treturn { column, direction: \"asc\" };\n\t\t});\n\t}, []);\n\n\tconst handleColumnResize = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\tconst handleColumnResizeEnd = useCallback((columnId: string, width: number) => {\n\t\tsetColumnWidths((prev) => ({\n\t\t\t...prev,\n\t\t\t[columnId]: width,\n\t\t}));\n\t}, []);\n\n\treturn {\n\t\tselectKeys,\n\t\tdisabledKeys,\n\t\tvalueSearch,\n\t\tsortDescriptor,\n\t\tcolumnWidths,\n\t\thandleSelectKeys,\n\t\thandleSelectKey,\n\t\thandleDisabledKeys,\n\t\thandleSetValueSearch,\n\t\thandleResetSelectKeys,\n\t\thandleSort,\n\t\thandleColumnResize,\n\t\thandleColumnResizeEnd,\n\t};\n};\n"],"names":["initialValues","color","disabledKeys","isChecks","selectKeys","isActions","isStickyAction","actionLabel","actionClassName","widthAction","totalColumn","sortDescriptor","onSortChange","columnWidths","onColumnResize","onColumnResizeEnd","TableContext","createContext","useTableContext","useContext","TableEmptyState","memo","t0","$","_c","text","t1","undefined","t2","Symbol","for","t3","displayName","TableBodyComponent","children","className","props","rowKey","t4","data","emptyText","isLoading","loadingLabel","t5","total","Number","t6","domProps","dataHeader","t7","twMerge","mergedClass","t8","bb0","length","t9","t10","el","index","child","item","keyValue","isValidElement","React","cloneElement","key","map","child_0","index_0","Children","renderedRows","fallbackContent","t11","TableBody","TableBodyColumn","forwardRef","ref","style","colspan","trim","isChildrenEmpty","TableBodyRow","keyCurrent","onChangeCheck","disabled","isCheck","uui","useId","hasStickyAction","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","e","target","checked","TableHeader","clonedChildren","PINNED_CLASS","useStickyAction","enabled","containerRef","useRef","container","current","updatePinnedState","hasOverflowRight","scrollWidth","clientWidth","scrollLeft","classList","toggle","addEventListener","passive","resizeObserver","ResizeObserver","observe","table","querySelector","removeEventListener","disconnect","remove","useEffect","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","startWidthRef","columnRef","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","ResizeHandle","onPointerDown","_temp","_temp2","TableHeaderColumn","icon","size","header","resizable","resizableProp","minWidthProp","maxWidthProp","onResizeProp","onResizeEndProp","isResizable","id_0","width_0","resizedWidth","effectiveWidth","t12","mergedStyle","t13","isSortable","sort","isCurrentlySorted","column","t14","handleSort","t15","direction","renderSortIcon","t16","t17","t18","t19","t20","information","t21","t22","TableHeaderRow","valueCheck","headerChildren","TableSearchColumn","TableSearchRow","renderedChildren","TableHOC","classNameContainer","classNameSubContainer","otherProps","containerClass","useMemo","subContainerClass","tableClass","Table","Object","assign","Header","HeaderRow","HeaderColumn","SearchRow","SearchColumn","Body","BodyRow","BodyColumn","useTable","initialDisabledKeys","initialSelectKey","initialValueSearch","initialSortDescriptor","initialColumnWidths","setSelectKeys","setDisabledKeys","valueSearch","setValueSearch","setSortDescriptor","setColumnWidths","prev","exists","filter","handleSelectKey","value_0","handleSelectKeys","value_1","handleDisabledKeys","handleResetSelectKeys","value_2","prev_0","newState","handleSetValueSearch","prev_1","prev_2","handleColumnResize","columnId_0","prev_3","handleColumnResizeEnd"],"mappings":"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"}
|