infinity-ui-elements 1.7.4 → 1.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Counter/Counter.d.ts +17 -1
- package/dist/components/Counter/Counter.d.ts.map +1 -1
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/TableBody.d.ts +2 -1
- package/dist/components/Table/TableBody.d.ts.map +1 -1
- package/dist/components/Table/TableHeader.d.ts +2 -1
- package/dist/components/Table/TableHeader.d.ts.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.esm.js +16 -9
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +16 -9
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2856,16 +2856,14 @@ const tableCellVariants = classVarianceAuthority.cva("text-body-medium-regular b
|
|
|
2856
2856
|
},
|
|
2857
2857
|
});
|
|
2858
2858
|
|
|
2859
|
-
function TableHeader({ headerGroups, enableRowSelection, enableSelectAll, showHeaderBackground, stickyHeader, size, headerClassName, isDetailPanelOpen, visibleHeadersCount, onToggleAllRows, isAllRowsSelected, isSomeRowsSelected, }) {
|
|
2860
|
-
return (jsxRuntime.jsx("thead", { className: cn(showHeaderBackground && "bg-surface-fill-neutral-moderate", stickyHeader && "sticky top-0 z-10"), children: headerGroups.map((headerGroup) => (jsxRuntime.jsxs("tr", { children: [enableRowSelection && enableSelectAll && (jsxRuntime.jsx("th", { className: cn(tableHeaderVariants({ size }), showHeaderBackground && "bg-surface-fill-neutral-moderate", "w-10 rounded-tl-xlarge rounded-bl-xlarge", headerClassName), children: jsxRuntime.jsx(Checkbox, { checked: isAllRowsSelected, isIndeterminate: isSomeRowsSelected, onChange: onToggleAllRows, "aria-label": "Select all rows" }) })), headerGroup.headers.map((header, index) => {
|
|
2859
|
+
function TableHeader({ headerGroups, enableRowSelection, enableSelectAll, showHeaderBackground, stickyHeader, size, headerClassName, isDetailPanelOpen, visibleHeadersCount, onToggleAllRows, isAllRowsSelected, isSomeRowsSelected, isBodyScrollable = false, }) {
|
|
2860
|
+
return (jsxRuntime.jsx("thead", { className: cn(showHeaderBackground && "bg-surface-fill-neutral-moderate", stickyHeader && "sticky top-0 z-10"), children: headerGroups.map((headerGroup) => (jsxRuntime.jsxs("tr", { className: cn(isBodyScrollable && "table w-full table-fixed"), children: [enableRowSelection && enableSelectAll && (jsxRuntime.jsx("th", { className: cn(tableHeaderVariants({ size }), showHeaderBackground && "bg-surface-fill-neutral-moderate", "w-10 rounded-tl-xlarge rounded-bl-xlarge", headerClassName), children: jsxRuntime.jsx(Checkbox, { checked: isAllRowsSelected, isIndeterminate: isSomeRowsSelected, onChange: onToggleAllRows, "aria-label": "Select all rows" }) })), headerGroup.headers.map((header, index) => {
|
|
2861
2861
|
const shouldHideColumn = isDetailPanelOpen && index >= visibleHeadersCount;
|
|
2862
2862
|
const isLastVisibleColumn = isDetailPanelOpen
|
|
2863
2863
|
? index === visibleHeadersCount - 1
|
|
2864
2864
|
: index === headerGroup.headers.length - 1;
|
|
2865
2865
|
return (jsxRuntime.jsx("th", { className: cn(tableHeaderVariants({ size }), showHeaderBackground &&
|
|
2866
|
-
"bg-surface-fill-neutral-moderate border-none", !enableRowSelection &&
|
|
2867
|
-
index === 0 &&
|
|
2868
|
-
"rounded-tl-xlarge rounded-bl-xlarge", isLastVisibleColumn && "rounded-tr-xlarge rounded-br-xlarge", header.column.columnDef.meta?.headerClassName, headerClassName, "transition-all duration-300 ease-in-out", shouldHideColumn
|
|
2866
|
+
"bg-surface-fill-neutral-moderate border-none", !enableRowSelection && index === 0 && "rounded-tl-xlarge ", isLastVisibleColumn && "rounded-tr-xlarge", header.column.columnDef.meta?.headerClassName, headerClassName, "transition-all duration-300 ease-in-out", shouldHideColumn
|
|
2869
2867
|
? "opacity-0 translate-x-8 pointer-events-none"
|
|
2870
2868
|
: "opacity-100 translate-x-0"), style: {
|
|
2871
2869
|
width: header.getSize(),
|
|
@@ -2878,14 +2876,23 @@ function TableHeader({ headerGroups, enableRowSelection, enableSelectAll, showHe
|
|
|
2878
2876
|
})] }, headerGroup.id))) }));
|
|
2879
2877
|
}
|
|
2880
2878
|
|
|
2881
|
-
function TableBody({ rows, enableRowSelection, size, variant, showRowHover, cellClassName, isDetailPanelOpen, visibleHeadersCount, effectiveSelectedRowId, onRowClick, getRowClassName, handleRowClick, }) {
|
|
2879
|
+
function TableBody({ rows, enableRowSelection, size, variant, showRowHover, cellClassName, isDetailPanelOpen, visibleHeadersCount, effectiveSelectedRowId, onRowClick, getRowClassName, handleRowClick, maxBodyHeight, }) {
|
|
2882
2880
|
const [focusedCell, setFocusedCell] = React__namespace.useState(null);
|
|
2883
2881
|
const [hoveredRow, setHoveredRow] = React__namespace.useState(null);
|
|
2884
|
-
|
|
2882
|
+
const bodyStyle = React__namespace.useMemo(() => {
|
|
2883
|
+
if (!maxBodyHeight)
|
|
2884
|
+
return undefined;
|
|
2885
|
+
return {
|
|
2886
|
+
maxHeight: typeof maxBodyHeight === "number"
|
|
2887
|
+
? `${maxBodyHeight}px`
|
|
2888
|
+
: maxBodyHeight,
|
|
2889
|
+
};
|
|
2890
|
+
}, [maxBodyHeight]);
|
|
2891
|
+
return (jsxRuntime.jsx("tbody", { className: cn("bg-surface-fill-neutral-intense", maxBodyHeight && "block overflow-y-auto"), style: bodyStyle, children: rows.map((row) => {
|
|
2885
2892
|
const isRowSelected = row.id === effectiveSelectedRowId;
|
|
2886
2893
|
const isRowHovered = hoveredRow === row.id;
|
|
2887
2894
|
const handleClick = () => handleRowClick(row.original, row.id);
|
|
2888
|
-
return (jsxRuntime.jsxs("tr", { className: cn(variant === "striped" &&
|
|
2895
|
+
return (jsxRuntime.jsxs("tr", { className: cn(maxBodyHeight && "table w-full table-fixed", variant === "striped" &&
|
|
2889
2896
|
row.index % 2 === 1 &&
|
|
2890
2897
|
"bg-surface-fill-neutral-moderate", onRowClick && "cursor-pointer", isRowSelected && "bg-action-fill-primary-faded", isRowHovered &&
|
|
2891
2898
|
showRowHover &&
|
|
@@ -3011,7 +3018,7 @@ function TableComponent({ className, wrapperClassName, containerClassName, varia
|
|
|
3011
3018
|
return renderDefaultEmptyState({ colSpan: table.getAllColumns().length });
|
|
3012
3019
|
};
|
|
3013
3020
|
// ==================== Render ====================
|
|
3014
|
-
return (jsxRuntime.jsx("div", { ref: ref, className: cn("w-full", wrapperClassName), ...props, children: jsxRuntime.jsxs("div", { className: cn("relative overflow-x-
|
|
3021
|
+
return (jsxRuntime.jsx("div", { ref: ref, className: cn("w-full", wrapperClassName), ...props, children: jsxRuntime.jsxs("div", { className: cn("relative", enableHorizontalScroll ? "overflow-x-auto" : "overflow-x-hidden", containerClassName), children: [jsxRuntime.jsxs("table", { className: cn(tableVariants({ variant, size }), className), children: [jsxRuntime.jsx(TableHeader, { headerGroups: headerGroups, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, showHeaderBackground: showHeaderBackground, stickyHeader: stickyHeader, size: size || "medium", headerClassName: headerClassName, isDetailPanelOpen: isDetailPanelOpen, visibleHeadersCount: visibleHeadersCount, onToggleAllRows: (e) => table.getToggleAllRowsSelectedHandler()(e), isAllRowsSelected: table.getIsAllRowsSelected(), isSomeRowsSelected: table.getIsSomeRowsSelected(), isBodyScrollable: Boolean(maxHeight) }), isLoading ? (jsxRuntime.jsx("tbody", { children: renderLoadingState() })) : !hasData ? (jsxRuntime.jsx("tbody", { children: renderEmptyState() })) : (jsxRuntime.jsx(TableBody, { rows: table.getRowModel().rows, enableRowSelection: enableRowSelection, size: size || "medium", variant: variant || "default", showRowHover: showRowHover, cellClassName: cellClassName, isDetailPanelOpen: isDetailPanelOpen, visibleHeadersCount: visibleHeadersCount, effectiveSelectedRowId: effectiveSelectedRowId, onRowClick: onRowClick, getRowClassName: getRowClassName, handleRowClick: handleRowClickInternal, maxBodyHeight: maxHeight }))] }), detailPanel && (jsxRuntime.jsx(DetailPanel, { isOpen: isDetailPanelOpen, content: detailPanel, data: getSelectedRowData(), onClose: handleDetailPanelClose }))] }) }));
|
|
3015
3022
|
}
|
|
3016
3023
|
// ==================== Export ====================
|
|
3017
3024
|
const Table = React__namespace.forwardRef(TableComponent);
|