lizaui 10.0.63 → 10.0.64
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/lizaui.css
CHANGED
|
@@ -2656,11 +2656,11 @@
|
|
|
2656
2656
|
border-bottom-right-radius: var(--radius);
|
|
2657
2657
|
}
|
|
2658
2658
|
|
|
2659
|
-
.table__container_main .table__body__main .table__body_row
|
|
2659
|
+
.table__container_main .table__body__main .table__body_row td {
|
|
2660
2660
|
border-bottom: 1px solid #e4e4e780;
|
|
2661
2661
|
}
|
|
2662
2662
|
|
|
2663
|
-
.dark .table__container_main .table__body__main .table__body_row
|
|
2663
|
+
.dark .table__container_main .table__body__main .table__body_row td {
|
|
2664
2664
|
border-bottom: 1px solid var(--border);
|
|
2665
2665
|
}
|
|
2666
2666
|
|
package/dist/table/index.cjs.js
CHANGED
|
@@ -1344,7 +1344,7 @@ const TableHOC = ({
|
|
|
1344
1344
|
onColumnResizeEnd,
|
|
1345
1345
|
...otherProps
|
|
1346
1346
|
} = props;
|
|
1347
|
-
const tableClass = React.useMemo(() => tailwindMerge.twMerge("table-main-container w-full border-
|
|
1347
|
+
const tableClass = React.useMemo(() => tailwindMerge.twMerge("table-main-container w-full border-separate border-spacing-0 table-auto", className), [className]);
|
|
1348
1348
|
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", classNameContainer), [classNameContainer]);
|
|
1349
1349
|
return /* @__PURE__ */ jsxRuntime.jsx(TableContext.Provider, { value: {
|
|
1350
1350
|
color,
|
|
@@ -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-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\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 } = useTableContext();\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 hover:bg-[#ffffff66]\": !check,\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],\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 { 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, 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 && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 } = 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 && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 { 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\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 tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() => twMerge(\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\", classNameContainer),\n\t\t[classNameContainer],\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\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<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","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","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","Checkbox","e","target","checked","TableHeader","clonedChildren","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","useRef","startWidthRef","columnRef","useEffect","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","current","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","addEventListener","removeEventListener","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-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\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 } = useTableContext();\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 hover:bg-[#ffffff66]\": !check,\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],\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 { 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, 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 && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 } = 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 && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 { 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\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 tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() => twMerge(\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\", classNameContainer),\n\t\t[classNameContainer],\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\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<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","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","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","Checkbox","e","target","checked","TableHeader","clonedChildren","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","useRef","startWidthRef","columnRef","useEffect","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","current","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","addEventListener","removeEventListener","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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"}
|
package/dist/table/index.es.js
CHANGED
|
@@ -1320,7 +1320,7 @@ const TableHOC = ({
|
|
|
1320
1320
|
onColumnResizeEnd,
|
|
1321
1321
|
...otherProps
|
|
1322
1322
|
} = props;
|
|
1323
|
-
const tableClass = useMemo(() => twMerge("table-main-container w-full border-
|
|
1323
|
+
const tableClass = useMemo(() => twMerge("table-main-container w-full border-separate border-spacing-0 table-auto", className), [className]);
|
|
1324
1324
|
const containerClass = useMemo(() => twMerge("table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg", classNameContainer), [classNameContainer]);
|
|
1325
1325
|
return /* @__PURE__ */ jsx(TableContext.Provider, { value: {
|
|
1326
1326
|
color,
|
|
@@ -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-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\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 } = useTableContext();\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 hover:bg-[#ffffff66]\": !check,\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],\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 { 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, 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 && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 } = 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 && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 { 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\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 tableClass = useMemo(() => twMerge(\"table-main-container w-full border-collapse table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() => twMerge(\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\", classNameContainer),\n\t\t[classNameContainer],\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\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<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","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","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","e","target","checked","TableHeader","clonedChildren","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","useRef","startWidthRef","columnRef","useEffect","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","current","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","addEventListener","removeEventListener","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":"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"}
|
|
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-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\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 } = useTableContext();\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 hover:bg-[#ffffff66]\": !check,\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],\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 { 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, 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 && <TableHeaderColumn color={color} style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 } = 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 && <TableSearchColumn style={{ minWidth: `${widthAction}px`, width: `${widthAction}px` }} />}\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 { 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\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 tableClass = useMemo(() => twMerge(\"table-main-container w-full border-separate border-spacing-0 table-auto\", className), [className]);\n\tconst containerClass = useMemo(\n\t\t() => twMerge(\"table__container_main max-w-full overflow-x-auto overflow-y-auto bg-default-100 p-1 rounded-lg\", classNameContainer),\n\t\t[classNameContainer],\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\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<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","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","id","some","check","el_0","disabledCheck","value","handleChange","clsx","rowClass","e","target","checked","TableHeader","clonedChildren","useColumnResize","columnId","initialWidth","minWidth","maxWidth","onResize","onResizeEnd","width","setWidth","useState","isResizing","setIsResizing","startXRef","useRef","startWidthRef","columnRef","useEffect","preventDefault","stopPropagation","currentTarget","setPointerCapture","pointerId","current","clientX","document","body","userSelect","cursor","handlePointerDown","e_0","delta","newWidth","Math","max","min","handlePointerMove","e_1","delta_0","finalWidth","handlePointerUp","addEventListener","removeEventListener","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":"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"}
|