pixel-react 1.21.5 → 1.21.7
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/lib/components/Excel/ExcelToolBar/ExcelToolBar.js +6 -6
- package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js.map +1 -1
- package/lib/components/StepsLandingTable/Components/StepInnerTable.js +43 -23
- package/lib/components/StepsLandingTable/Components/StepInnerTable.js.map +1 -1
- package/lib/components/Table/EditComponent.js +6 -6
- package/lib/components/Table/EditComponent.js.map +1 -1
- package/lib/components/Table/NoDataContent.js +1 -1
- package/lib/components/Table/NoDataContent.js.map +1 -1
- package/lib/components/Table/Table.js +78 -153
- package/lib/components/Table/Table.js.map +1 -1
- package/lib/components/Table/Types.d.ts +6 -11
- package/lib/components/Table/components/SortableRow.d.ts +1 -1
- package/lib/components/Table/components/SortableRow.js +69 -60
- package/lib/components/Table/components/SortableRow.js.map +1 -1
- package/lib/components/Table/components/TableHeader.js +15 -20
- package/lib/components/Table/components/TableHeader.js.map +1 -1
- package/lib/components/Table/components/VirtualizedRows.d.ts +1 -1
- package/lib/components/Table/components/VirtualizedRows.js +17 -32
- package/lib/components/Table/components/VirtualizedRows.js.map +1 -1
- package/lib/components/Table/utils/virtualization.d.ts +3 -10
- package/lib/components/Table/utils/virtualization.js +13 -40
- package/lib/components/Table/utils/virtualization.js.map +1 -1
- package/lib/components/TableWithAccordion/TableWithAccordion.js +13 -38
- package/lib/components/TableWithAccordion/TableWithAccordion.js.map +1 -1
- package/lib/components/TableWithAccordion/types.d.ts +2 -2
- package/lib/index.d.ts +4 -6
- package/lib/index.js +8 -8
- package/lib/styles.css +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/TreeNavigateUtils/getNavigateToKey.d.ts +1 -1
- package/lib/utils/getTopVisibleNodeKey/getTopVisibleNodeKey.d.ts +1 -1
- package/lib/utils/getTreeDetails/getTreeDetails.d.ts +1 -1
- package/lib/utils/handleTreeExpandAllCollapseAll/handleTreeExpandAllCollapseAll.d.ts +1 -1
- package/lib/utils/handleTreeNodeExpandCollapse/handleTreeNodeExpandCollapse.d.ts +1 -1
- package/lib/utils/handleTreeNodeSelect/handleTreeNodeSelect.d.ts +1 -1
- package/lib/utils/toggleShowHideEntity/toggleShowHideEntity.d.ts +1 -1
- package/package.json +2 -2
- package/lib/components/Table/utils/TableCell.d.ts +0 -2
- package/lib/components/Table/utils/TableCell.js +0 -27
- package/lib/components/Table/utils/TableCell.js.map +0 -1
|
@@ -1,87 +1,96 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useEffect, useRef, memo, useCallback
|
|
3
|
-
import { useSortable } from '@dnd-kit/sortable';
|
|
4
|
-
import { CSS } from '@dnd-kit/utilities';
|
|
2
|
+
import { useEffect, useRef, memo, useCallback } from 'react';
|
|
5
3
|
import classNames from 'classnames';
|
|
6
|
-
import { prepareData } from '../utils/TableCell';
|
|
7
|
-
import { getColumnLeftPosition } from '../utils/virtualization';
|
|
8
|
-
import Checkbox from '../../Checkbox';
|
|
9
4
|
import Typography from '../../Typography';
|
|
10
5
|
import Icon from '../../Icon';
|
|
11
|
-
|
|
6
|
+
import Checkbox from '../../Checkbox';
|
|
7
|
+
import { prepareData } from '../../../utils/TableCell/TableCell';
|
|
8
|
+
import { getColumnLeftPosition } from '../utils/virtualization';
|
|
9
|
+
import { useSortable } from '@dnd-kit/sortable';
|
|
10
|
+
import { CSS } from '@dnd-kit/utilities';
|
|
11
|
+
// OPTIMIZATION: Memoize to prevent re-rendering when parent Table updates
|
|
12
|
+
const SortableRow = memo(({ row, index, serialNumber, columns, tableBodyRowClass, handleOnclick, tableDataTextColor, withCheckbox, onSelectClick, draggable, isRowCheckBoxDisable, isRowDisabled, freezeColumns, updateRowHeight, editMode, isAccordionOpen, accordionContent, selectedNode, }) => {
|
|
12
13
|
const { attributes, listeners, setNodeRef, transform, transition } = useSortable({
|
|
13
|
-
id:
|
|
14
|
-
disabled:
|
|
14
|
+
id: row?._id || row?.id,
|
|
15
|
+
disabled: row.disabled || !!editMode,
|
|
15
16
|
});
|
|
16
|
-
// Only measure the row itself
|
|
17
17
|
const rowRef = useRef(null);
|
|
18
|
+
const accordionRef = useRef(null);
|
|
18
19
|
const updateHeight = useCallback(() => {
|
|
19
20
|
if (!updateRowHeight)
|
|
20
21
|
return;
|
|
21
22
|
const mainRowHeight = rowRef.current?.getBoundingClientRect().height || 0;
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
const accordionHeight = accordionRef.current?.getBoundingClientRect().height || 0;
|
|
24
|
+
const totalHeight = mainRowHeight + accordionHeight;
|
|
25
|
+
if (totalHeight > 0) {
|
|
26
|
+
updateRowHeight(index, totalHeight);
|
|
24
27
|
}
|
|
25
28
|
}, [index, updateRowHeight]);
|
|
26
29
|
useEffect(() => {
|
|
27
30
|
const mainElement = rowRef.current;
|
|
28
|
-
|
|
31
|
+
const accordionElement = accordionRef.current;
|
|
32
|
+
if (!updateRowHeight)
|
|
29
33
|
return;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
// OPTIMIZATION: ResizeObserver
|
|
35
|
+
// We do NOT call getBoundingClientRect() here anymore.
|
|
36
|
+
// Calling it manually forces the browser to calculate layout immediately (Reflow).
|
|
37
|
+
// The observer will deliver the height asynchronously without freezing the thread.
|
|
38
|
+
const observer = new ResizeObserver(() => {
|
|
39
|
+
updateHeight();
|
|
40
|
+
});
|
|
41
|
+
if (mainElement)
|
|
42
|
+
observer.observe(mainElement);
|
|
43
|
+
if (accordionElement)
|
|
44
|
+
observer.observe(accordionElement);
|
|
45
|
+
return () => {
|
|
46
|
+
observer.disconnect();
|
|
47
|
+
};
|
|
48
|
+
}, [updateHeight, isAccordionOpen]);
|
|
49
|
+
const key = row?.[selectedNode?.key] || row._id || row.id;
|
|
50
|
+
const selectedRow = key === selectedNode.selected;
|
|
36
51
|
const style = {
|
|
37
52
|
transform: CSS.Transform.toString(transform),
|
|
38
53
|
transition,
|
|
39
54
|
};
|
|
40
|
-
return (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
'ff-table-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
55
|
+
return (_jsxs(_Fragment, { children: [_jsx("tr", { ref: (node) => {
|
|
56
|
+
if (rowRef.current !== node) {
|
|
57
|
+
rowRef.current = node;
|
|
58
|
+
}
|
|
59
|
+
setNodeRef(node);
|
|
60
|
+
}, className: classNames('ff-table-data-row ', tableBodyRowClass, {
|
|
61
|
+
'ff-table-disabled': row.disabled && isRowDisabled,
|
|
62
|
+
'ff-table-selected-node': selectedRow,
|
|
63
|
+
}), id: key, style: style, children: columns.map((column, columnIndex) => {
|
|
64
|
+
const isFrozen = freezeColumns && columnIndex < freezeColumns;
|
|
65
|
+
return (_jsx("td", { onClick: () => handleOnclick(column, row), style: {
|
|
66
|
+
position: isFrozen ? 'sticky' : 'static',
|
|
67
|
+
left: isFrozen
|
|
68
|
+
? getColumnLeftPosition(columnIndex, columns, freezeColumns)
|
|
69
|
+
: 'auto',
|
|
70
|
+
zIndex: isFrozen ? 100 : 'auto',
|
|
71
|
+
backgroundColor: isFrozen
|
|
72
|
+
? 'var(--input-label-bg-color)'
|
|
73
|
+
: 'transparent',
|
|
74
|
+
width: column.width ? `${column.width}px` : 'auto',
|
|
75
|
+
padding: '7px 8px',
|
|
76
|
+
boxSizing: 'border-box',
|
|
77
|
+
paddingRight: isFrozen ? 0 : '8px',
|
|
78
|
+
}, className: classNames('ff-table-data-cell ff-table-icon-container', column.className, {
|
|
79
|
+
'ff-table-clickable-cell': column.onClick,
|
|
80
|
+
'ff-table-sticky-column': isFrozen,
|
|
81
|
+
}), children: _jsxs(Typography, { as: "div", color: tableDataTextColor, className: "ff-table-data-container", children: [columnIndex === 0 && withCheckbox && (_jsx("span", { className: "ff-table-checkbox-table", children: _jsx(Checkbox, { onChange: (e) => onSelectClick(e, row), checked: row.checked, disabled: isRowCheckBoxDisable === undefined
|
|
82
|
+
? !!row.disabled
|
|
83
|
+
: isRowCheckBoxDisable }) })), columnIndex === 0 && draggable && (_jsxs(_Fragment, { children: [_jsx("span", { className: row.disabled ? 'ff-table-drag' : 'ff-table-drag-icon', ...listeners, ...attributes, children: _jsx(Icon, { name: "drag", className: "ff-table-drag-active" }) }), _jsx(Typography, { color: "var(--brand-color)", children: serialNumber && `${serialNumber}.` })] })), prepareData(row, column)] }) }, column.accessor + columnIndex));
|
|
84
|
+
}) }, key), isAccordionOpen && (_jsx("tr", { ref: accordionRef, children: _jsx("td", { className: "ff-table-data-cell", colSpan: columns.length, children: _jsx("div", { style: { maxHeight: 'none', overflow: 'visible' }, children: accordionContent }) }) }))] }));
|
|
85
|
+
},
|
|
86
|
+
// OPTIMIZATION: Custom Memo Comparison
|
|
87
|
+
// Returns true if props are equal (prevents re-render)
|
|
88
|
+
(prev, next) => {
|
|
72
89
|
return (prev.row === next.row &&
|
|
73
90
|
prev.index === next.index &&
|
|
74
91
|
prev.serialNumber === next.serialNumber &&
|
|
75
|
-
prev.sortableId === next.sortableId &&
|
|
76
92
|
prev.updateRowHeight === next.updateRowHeight &&
|
|
77
|
-
prev.columns === next.columns
|
|
78
|
-
prev.draggable === next.draggable &&
|
|
79
|
-
prev.withCheckbox === next.withCheckbox &&
|
|
80
|
-
prev.tableDataTextColor === next.tableDataTextColor &&
|
|
81
|
-
prev.tableBodyRowClass === next.tableBodyRowClass &&
|
|
82
|
-
prev.selectedNode?.key === next.selectedNode?.key &&
|
|
83
|
-
prev.selectedNode?.selected === next.selectedNode?.selected);
|
|
93
|
+
prev.columns === next.columns);
|
|
84
94
|
});
|
|
85
|
-
SortableRow.displayName = 'SortableRow';
|
|
86
95
|
export default SortableRow;
|
|
87
96
|
//# sourceMappingURL=SortableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortableRow.js","sourceRoot":"","sources":["../../../../src/components/Table/components/SortableRow.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SortableRow.js","sourceRoot":"","sources":["../../../../src/components/Table/components/SortableRow.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,28 +7,23 @@ import Icon from '../../Icon';
|
|
|
7
7
|
import Typography from '../../Typography';
|
|
8
8
|
import Checkbox from '../../Checkbox';
|
|
9
9
|
const TableHeader = memo((props) => {
|
|
10
|
-
const { columns, freezeColumns, headerType, tableHeadClass, headerTextColor, headerCheckboxDisabled, withCheckbox, allSelected, partialSelected, headerIconName = '', headerIconOnClick, headerIconTooltipTitle, tableHeaderZindex, onSelectClick, } = props;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
:
|
|
23
|
-
|
|
24
|
-
'ff-table-header-cell-relative': !isFrozen,
|
|
25
|
-
}), style: {
|
|
26
|
-
'--frozen-column-left': frozenColumnLeft,
|
|
27
|
-
}, "data-frozen": isFrozen ? 'true' : undefined, children: [showHeaderIcon && (_jsx("div", { className: "ff-table-icon", children: _jsx(Tooltip, { title: headerIconTooltipTitle || '', placement: "bottom", children: _jsx(Icon, { height: 14, width: 14, name: headerIconName, onClick: headerIconOnClick, cursorType: "pointer" }) }) })), _jsxs(Typography, { as: "div", fontWeight: "semi-bold", className: "ff-table-label-checkbox-container", children: [index === 0 && withCheckbox && (_jsx("span", { className: "ff-table-checkbox-table", children: _jsx(Checkbox, { onChange: (e) => onSelectClick(e, {
|
|
10
|
+
const { columns, freezeColumns, headerType, tableHeadClass, headerTextColor, headerCheckboxDisabled, withCheckbox, allSelected, partialSelected, headerIconName = '', headerIconOnClick, headerIconTooltipTitle, tableHeaderZindex, onSelectClick, withFixedHeader, } = props;
|
|
11
|
+
return (_jsx("thead", { className: classNames('ff-table-header', { 'ff-table-fixed-header': withFixedHeader }, tableHeadClass), style: { zIndex: tableHeaderZindex }, children: _jsx("tr", { children: columns.map((column, index) => {
|
|
12
|
+
const isFrozen = freezeColumns && index < freezeColumns;
|
|
13
|
+
return (_jsxs("th", { className: classNames('ff-table-header-cell', headerType !== 'default' ? `ff-table-${headerType}-bg` : '', headerTextColor && `ff-table-${headerTextColor}-color`), style: {
|
|
14
|
+
position: isFrozen ? 'sticky' : 'static',
|
|
15
|
+
left: isFrozen
|
|
16
|
+
? getColumnLeftPosition(index, columns, freezeColumns)
|
|
17
|
+
: 'auto',
|
|
18
|
+
zIndex: isFrozen ? 999 : 'auto',
|
|
19
|
+
width: column.width ? `${column.width}px` : 'auto',
|
|
20
|
+
padding: '8px 8px',
|
|
21
|
+
boxSizing: 'border-box',
|
|
22
|
+
paddingRight: isFrozen ? 0 : '8px',
|
|
23
|
+
}, children: [_jsx("div", { className: "ff-table-icon", children: _jsx(Tooltip, { title: headerIconTooltipTitle || '', placement: "bottom", children: _jsx(Icon, { height: 14, width: 14, name: headerIconName, onClick: headerIconOnClick, cursorType: "pointer" }) }) }), _jsxs(Typography, { style: column.width ? { width: column.width } : undefined, as: "div", fontWeight: "semi-bold", className: "ff-table-label-checkbox-container", children: [index === 0 && withCheckbox && (_jsx("span", { className: "ff-table-checkbox-table", children: _jsx(Checkbox, { onChange: (e) => onSelectClick(e, {
|
|
28
24
|
allSelected: e.target.checked,
|
|
29
|
-
}), checked: allSelected || false, partial: !!partialSelected, disabled: headerCheckboxDisabled }) })), column.header] })] },
|
|
25
|
+
}), checked: allSelected || false, partial: !!partialSelected, disabled: headerCheckboxDisabled }) })), column.header] })] }, column.header));
|
|
30
26
|
}) }) }));
|
|
31
27
|
});
|
|
32
|
-
TableHeader.displayName = 'TableHeader';
|
|
33
28
|
export default TableHeader;
|
|
34
29
|
//# sourceMappingURL=TableHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../../src/components/Table/components/TableHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,OAAO,UAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"TableHeader.js","sourceRoot":"","sources":["../../../../src/components/Table/components/TableHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { VirtualizedRowsProps } from '../Types';
|
|
2
|
-
declare const VirtualizedRows: import("react").MemoExoticComponent<({ paddingTop, paddingBottom, visibleRows, startIndex, columns, freezeColumns, frozenWidth, handleOnclick, isRowCheckBoxDisable, isRowDisabled, onSelectClick, tableBodyRowClass, tableDataTextColor, updateRowHeight, withCheckbox, draggable, editMode, editComponent,
|
|
2
|
+
declare const VirtualizedRows: import("react").MemoExoticComponent<({ paddingTop, paddingBottom, columnsLength, visibleRows, startIndex, columns, freezeColumns, frozenWidth, handleOnclick, isRowCheckBoxDisable, isRowDisabled, onSelectClick, tableBodyRowClass, tableDataTextColor, updateRowHeight, withCheckbox, draggable, editMode, editComponent, accordionContent, getAccordionStatus, selectedNode, uniqueRowIdForAccordion, }: VirtualizedRowsProps) => import("react").JSX.Element>;
|
|
3
3
|
export default VirtualizedRows;
|
|
@@ -1,39 +1,24 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
2
|
-
import { cloneElement, Fragment, isValidElement, memo,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cloneElement, Fragment, isValidElement, memo, } from 'react';
|
|
3
3
|
import SortableRow from './SortableRow';
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
const updateHeight = useCallback(() => {
|
|
7
|
-
const height = editRowRef.current?.getBoundingClientRect().height || 0;
|
|
8
|
-
if (height > 0)
|
|
9
|
-
updateRowHeight?.(rowIndex, height);
|
|
10
|
-
}, [rowIndex, updateRowHeight]);
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
const element = editRowRef.current;
|
|
13
|
-
if (!element)
|
|
14
|
-
return;
|
|
15
|
-
updateHeight();
|
|
16
|
-
const observer = new ResizeObserver(() => updateHeight());
|
|
17
|
-
observer.observe(element);
|
|
18
|
-
return () => observer.disconnect();
|
|
19
|
-
}, [updateHeight]);
|
|
20
|
-
return (_jsx("div", { ref: editRowRef, className: "ff-table-data-row ff-table-edit-row ff-table-edit-row-grid", children: _jsx("div", { className: "ff-table-edit-cell", children: isValidElement(editComponent) &&
|
|
21
|
-
cloneElement(editComponent, {
|
|
22
|
-
rowData: row,
|
|
23
|
-
rowIndex: rowIndex + 1,
|
|
24
|
-
}) }) }));
|
|
25
|
-
});
|
|
26
|
-
MeasuredEditRow.displayName = 'MeasuredEditRow';
|
|
27
|
-
const VirtualizedRows = memo(({ paddingTop, paddingBottom, visibleRows, startIndex, columns, freezeColumns, frozenWidth, handleOnclick, isRowCheckBoxDisable, isRowDisabled, onSelectClick, tableBodyRowClass, tableDataTextColor, updateRowHeight, withCheckbox, draggable, editMode, editComponent, selectedNode, openAccordionIndex, accordionHeight, }) => {
|
|
28
|
-
return (_jsxs(_Fragment, { children: [paddingTop > 0 && (_jsx("div", { className: "ff-table-padding-div", style: { height: paddingTop } })), visibleRows.map((row, i) => {
|
|
4
|
+
const VirtualizedRows = memo(({ paddingTop, paddingBottom, columnsLength, visibleRows, startIndex, columns, freezeColumns, frozenWidth, handleOnclick, isRowCheckBoxDisable, isRowDisabled, onSelectClick, tableBodyRowClass, tableDataTextColor, updateRowHeight, withCheckbox, draggable, editMode, editComponent, accordionContent, getAccordionStatus = () => { }, selectedNode, uniqueRowIdForAccordion, }) => {
|
|
5
|
+
return (_jsxs(_Fragment, { children: [paddingTop > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: paddingTop, padding: 0 }, colSpan: columnsLength }) })), visibleRows.map((row, i) => {
|
|
29
6
|
const absoluteIndex = startIndex + i;
|
|
30
|
-
const rowId = row._id ?? row.id
|
|
7
|
+
const rowId = row._id ?? row.id;
|
|
31
8
|
if (editMode === rowId) {
|
|
32
|
-
return (_jsx(
|
|
9
|
+
return (_jsx("tr", { className: "edit-row", children: _jsx("td", { colSpan: columns.length, style: { padding: '0px' }, children: isValidElement(editComponent) &&
|
|
10
|
+
cloneElement(editComponent, {
|
|
11
|
+
rowData: row,
|
|
12
|
+
rowIndex: absoluteIndex + 1,
|
|
13
|
+
}) }) }, `edit-${rowId}`));
|
|
33
14
|
}
|
|
34
|
-
|
|
35
|
-
|
|
15
|
+
const isOpen = getAccordionStatus(row?.id ||
|
|
16
|
+
row?._id ||
|
|
17
|
+
(uniqueRowIdForAccordion
|
|
18
|
+
? row?.[uniqueRowIdForAccordion]
|
|
19
|
+
: undefined));
|
|
20
|
+
return (_jsx(Fragment, { children: _jsx(SortableRow, { row: row, index: absoluteIndex, serialNumber: absoluteIndex + 1, columns: columns, tableBodyRowClass: tableBodyRowClass, handleOnclick: handleOnclick, tableDataTextColor: tableDataTextColor, withCheckbox: withCheckbox, onSelectClick: onSelectClick, isRowCheckBoxDisable: isRowCheckBoxDisable, isRowDisabled: isRowDisabled, freezeColumns: freezeColumns, frozenWidth: frozenWidth, updateRowHeight: updateRowHeight, draggable: draggable, editMode: editMode, isAccordionOpen: isOpen, accordionContent: accordionContent, selectedNode: selectedNode }, rowId) }, row._id || absoluteIndex));
|
|
21
|
+
}), paddingBottom > 0 && (_jsx("tr", { children: _jsx("td", { style: { height: paddingBottom, padding: 0 }, colSpan: columnsLength }) }))] }));
|
|
36
22
|
});
|
|
37
|
-
VirtualizedRows.displayName = 'VirtualizedRows';
|
|
38
23
|
export default VirtualizedRows;
|
|
39
24
|
//# sourceMappingURL=VirtualizedRows.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedRows.js","sourceRoot":"","sources":["../../../../src/components/Table/components/VirtualizedRows.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,IAAI,
|
|
1
|
+
{"version":3,"file":"VirtualizedRows.js","sourceRoot":"","sources":["../../../../src/components/Table/components/VirtualizedRows.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,IAAI,GAEL,MAAM,OAAO,CAAC;AAEf,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,eAAe,GAAG,IAAI,CAC1B,CAAC,EACC,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GAAG,GAAG,EAAE,GAAE,CAAC,EAC7B,YAAY,EACZ,uBAAuB,GACF,EAAE,EAAE;IACzB,OAAO,CACL,8BAEG,UAAU,GAAG,CAAC,IAAI,CACjB,uBACE,aACE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,EACzC,OAAO,EAAE,aAAa,GACtB,GACC,CACN,EAGA,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC1B,MAAM,aAAa,GAAG,UAAU,GAAG,CAAC,CAAC;gBACrC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;gBAEhC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACvB,OAAO,CACL,aAA0B,SAAS,EAAC,UAAU,YAC5C,aAAI,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,YACnD,cAAc,CAAC,aAAa,CAAC;gCAC5B,YAAY,CACV,aAGE,EACF;oCACE,OAAO,EAAE,GAAG;oCACZ,QAAQ,EAAE,aAAa,GAAG,CAAC;iCAC5B,CACF,GACA,IAbE,QAAQ,KAAK,EAAE,CAcnB,CACN,CAAC;gBACJ,CAAC;gBACD,MAAM,MAAM,GAAG,kBAAkB,CAC/B,GAAG,EAAE,EAAE;oBACL,GAAG,EAAE,GAAG;oBACR,CAAC,uBAAuB;wBACtB,CAAC,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC;wBAChC,CAAC,CAAC,SAAS,CAAC,CACjB,CAAC;gBACF,OAAO,CACL,KAAC,QAAQ,cACP,KAAC,WAAW,IAEV,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,aAAa,EACpB,YAAY,EAAE,aAAa,GAAG,CAAC,EAC/B,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,IAnBrB,KAAK,CAoBV,IAtBW,GAAG,CAAC,GAAG,IAAI,aAAa,CAuB5B,CACZ,CAAC;YACJ,CAAC,CAAC,EAGD,aAAa,GAAG,CAAC,IAAI,CACpB,uBACE,aACE,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,EAC5C,OAAO,EAAE,aAAa,GACtB,GACC,CACN,IACA,CACJ,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
type ColumnWidth = number | string;
|
|
2
|
-
export declare const getCssSize: (width?: ColumnWidth) => string | undefined;
|
|
3
|
-
export declare const getColumnPixelWidth: (width?: ColumnWidth) => number;
|
|
4
|
-
export declare const getTableGridTemplate: (columns?: {
|
|
5
|
-
width?: ColumnWidth;
|
|
6
|
-
}[], freezeColumns?: number) => string;
|
|
7
1
|
export declare const getColumnLeftPosition: (index: number, columns: {
|
|
8
|
-
width?:
|
|
9
|
-
}[],
|
|
2
|
+
width?: number;
|
|
3
|
+
}[], freezeColumns?: number) => string;
|
|
10
4
|
export declare const calculateFrozenWidth: (columnData: {
|
|
11
|
-
width?:
|
|
5
|
+
width?: number;
|
|
12
6
|
}[], freezeColumns: number) => number;
|
|
13
7
|
export declare const binarySearch: (arr: number[], target: number) => number;
|
|
14
|
-
export {};
|
|
@@ -1,52 +1,25 @@
|
|
|
1
|
-
import { DEFAULT_COLUMN_WIDTH } from
|
|
2
|
-
export const
|
|
3
|
-
if (width === undefined || width === null || width === '')
|
|
4
|
-
return undefined;
|
|
5
|
-
return typeof width === 'number' ? `${width}px` : width;
|
|
6
|
-
};
|
|
7
|
-
export const getColumnPixelWidth = (width) => {
|
|
8
|
-
if (typeof width === 'number')
|
|
9
|
-
return width;
|
|
10
|
-
if (typeof width === 'string') {
|
|
11
|
-
const trimmedWidth = width.trim();
|
|
12
|
-
const numericValue = parseFloat(trimmedWidth);
|
|
13
|
-
if (!Number.isNaN(numericValue)) {
|
|
14
|
-
if (trimmedWidth.endsWith('px') || /^\d+(\.\d+)?$/.test(trimmedWidth)) {
|
|
15
|
-
return numericValue;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
return DEFAULT_COLUMN_WIDTH;
|
|
20
|
-
};
|
|
21
|
-
export const getTableGridTemplate = (columns = [], freezeColumns) => {
|
|
22
|
-
if (!columns.length)
|
|
23
|
-
return '1fr';
|
|
24
|
-
return columns
|
|
25
|
-
.map((column, index) => {
|
|
26
|
-
const columnWidth = getCssSize(column.width);
|
|
27
|
-
if (columnWidth)
|
|
28
|
-
return columnWidth;
|
|
29
|
-
return freezeColumns && index < freezeColumns
|
|
30
|
-
? `${DEFAULT_COLUMN_WIDTH}px`
|
|
31
|
-
: 'minmax(0, 1fr)';
|
|
32
|
-
})
|
|
33
|
-
.join(' ');
|
|
34
|
-
};
|
|
35
|
-
export const getColumnLeftPosition = (index, columns, _freezeColumns) => {
|
|
1
|
+
import { CELL_PADDING, DEFAULT_COLUMN_WIDTH } from "./constants";
|
|
2
|
+
export const getColumnLeftPosition = (index, columns, freezeColumns) => {
|
|
36
3
|
if (index === 0)
|
|
37
4
|
return '0px';
|
|
38
5
|
let leftPosition = 0;
|
|
39
6
|
for (let i = 0; i < index; i++) {
|
|
40
|
-
|
|
7
|
+
const width = columns[i]?.width;
|
|
8
|
+
leftPosition += width ? parseInt(width.toString(), 10) : DEFAULT_COLUMN_WIDTH;
|
|
9
|
+
if (freezeColumns && i < freezeColumns - 1) {
|
|
10
|
+
leftPosition += CELL_PADDING;
|
|
11
|
+
}
|
|
41
12
|
}
|
|
42
13
|
return `${leftPosition}px`;
|
|
43
14
|
};
|
|
44
15
|
export const calculateFrozenWidth = (columnData, freezeColumns) => {
|
|
45
|
-
return columnData
|
|
16
|
+
return (columnData
|
|
46
17
|
.slice(0, freezeColumns)
|
|
47
|
-
.reduce((acc, col) => acc +
|
|
18
|
+
.reduce((acc, col) => acc +
|
|
19
|
+
parseInt(col.width?.toString() || `${DEFAULT_COLUMN_WIDTH}`, 10), 1) +
|
|
20
|
+
CELL_PADDING * (freezeColumns - 0.17));
|
|
48
21
|
};
|
|
49
|
-
// Utility: binary search to find the index where cumulativeHeights[i] > target
|
|
22
|
+
// Utility: Simple binary search to find the index where cumulativeHeights[i] > target
|
|
50
23
|
// Returns the index of the first element greater than or equal to the target.
|
|
51
24
|
export const binarySearch = (arr, target) => {
|
|
52
25
|
let low = 0;
|
|
@@ -54,7 +27,7 @@ export const binarySearch = (arr, target) => {
|
|
|
54
27
|
let result = arr.length; // Default to size if target is greater than all elements
|
|
55
28
|
while (low <= high) {
|
|
56
29
|
const mid = Math.floor((low + high) / 2);
|
|
57
|
-
// Use the non-null assertion operator '!'
|
|
30
|
+
// FIX: Use the non-null assertion operator '!'
|
|
58
31
|
if (arr[mid] >= target) {
|
|
59
32
|
result = mid;
|
|
60
33
|
high = mid - 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtualization.js","sourceRoot":"","sources":["../../../../src/components/Table/utils/virtualization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"virtualization.js","sourceRoot":"","sources":["../../../../src/components/Table/utils/virtualization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEjE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAa,EACb,OAA6B,EAC7B,aAAsB,EACtB,EAAE;IACF,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE9B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QAChC,YAAY,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC;QAE9E,IAAI,aAAa,IAAI,CAAC,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC;YAC3C,YAAY,IAAI,YAAY,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,GAAG,YAAY,IAAI,CAAC;AAC7B,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,UAAgC,EAChC,aAAqB,EACrB,EAAE;IACF,OAAO,CACL,UAAU;SACP,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC;SACvB,MAAM,CACL,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CACX,GAAG;QACH,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,oBAAoB,EAAE,EAAE,EAAE,CAAC,EAClE,CAAC,CACF;QACH,YAAY,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,CACtC,CAAC;AACJ,CAAC,CAAC;AAEF,sFAAsF;AACtF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAa,EAAE,MAAc,EAAE,EAAE;IAC5D,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1B,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,yDAAyD;IAElF,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAEzC,+CAA+C;QAC/C,IAAI,GAAG,CAAC,GAAG,CAAE,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,CAAC;YACb,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -9,37 +9,11 @@ import '../../../index.scss';
|
|
|
9
9
|
import Typography from '../Typography';
|
|
10
10
|
import HighlightText from '../HighlightText';
|
|
11
11
|
import { isTextTruncated, truncateText, } from '../../utils/truncateText/truncateText';
|
|
12
|
-
import { checkEmpty } from '../../utils/checkEmpty/checkEmpty';
|
|
13
|
-
const getColumnWidthStyle = (width) => {
|
|
14
|
-
if (width === undefined || width === null || width === '') {
|
|
15
|
-
return {};
|
|
16
|
-
}
|
|
17
|
-
const widthValue = typeof width === 'number' ? `${width}px` : width;
|
|
18
|
-
return {
|
|
19
|
-
width,
|
|
20
|
-
flex: `0 0 ${widthValue}`,
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
const COLUMN_LABEL_LEFT_PADDING = 8;
|
|
24
12
|
const TableWithAccordion = ({ highlightText = '', tableMeta = [], tableData = [], accordionType = 'row', noDataContent, height = '100%', withFixedHeader = false, headerType, TableAccordionStateIconWidth = 4, TableAccordionStateIconHeight = 8, }) => {
|
|
25
13
|
const [expandedRowIndex, setExpandedRowIndex] = useState(-1);
|
|
26
|
-
const firstColumnPixelWidth = typeof tableMeta[0]?.width === 'number'
|
|
27
|
-
? Math.max(tableMeta[0]?.width - COLUMN_LABEL_LEFT_PADDING, 0)
|
|
28
|
-
: undefined;
|
|
29
14
|
const onAccordionClick = (index) => {
|
|
30
15
|
setExpandedRowIndex(index === expandedRowIndex ? -1 : index);
|
|
31
16
|
};
|
|
32
|
-
const isColumnTitleTruncated = (title) => typeof title === 'string' &&
|
|
33
|
-
firstColumnPixelWidth !== undefined &&
|
|
34
|
-
isTextTruncated(title, firstColumnPixelWidth, 'pixel');
|
|
35
|
-
const getColumnTitle = (title) => {
|
|
36
|
-
if (typeof title !== 'string') {
|
|
37
|
-
return '';
|
|
38
|
-
}
|
|
39
|
-
return firstColumnPixelWidth !== undefined
|
|
40
|
-
? truncateText(title, firstColumnPixelWidth, 'pixel')
|
|
41
|
-
: title;
|
|
42
|
-
};
|
|
43
17
|
const getAccordionTableCellContent = (dataObj, columnObj) => {
|
|
44
18
|
let cellData = dataObj[columnObj.accessor];
|
|
45
19
|
if (columnObj.cell) {
|
|
@@ -61,27 +35,28 @@ const TableWithAccordion = ({ highlightText = '', tableMeta = [], tableData = []
|
|
|
61
35
|
};
|
|
62
36
|
const getAccordionTableContent = (dataArray) => {
|
|
63
37
|
const accordionSubTable = dataArray.map((rowData, index) => {
|
|
64
|
-
return (_jsx("table", { className: "ff-table
|
|
65
|
-
return (_jsx("td", { className: "ff-table-
|
|
38
|
+
return (_jsx("table", { className: "ff-accordion-table", cellSpacing: 0, children: _jsx("tbody", { className: "ff-table-body", children: _jsx("tr", { className: "ff-table-row", children: tableMeta.map((column, i) => {
|
|
39
|
+
return (_jsx("td", { className: "ff-table-cell", style: { width: column.width }, children: accordionType === 'column' && i === 0 ? ('') : (_jsx(Typography, { children: getAccordionTableCellContent(rowData, column) })) }, column.accessor + i));
|
|
66
40
|
}) }, rowData.id || index) }) }, `accordion-table-${index}`));
|
|
67
41
|
});
|
|
68
42
|
return accordionSubTable;
|
|
69
43
|
};
|
|
70
|
-
return (_jsxs("div", { style: { height: height }, className: classNames('ff-table-
|
|
71
|
-
'ff-
|
|
72
|
-
}), children: [_jsx("table", { cellSpacing: 0, className: classNames('ff-table
|
|
73
|
-
'ff-
|
|
74
|
-
}), children: _jsx("thead", { children: _jsx("tr", { className: "ff-table-
|
|
75
|
-
tableData.map((row, rowIndex) => (_jsx(Accordion, { highlightText: highlightText, headerTitle: row.title, color: "var(--text-color)", accordionContent: getAccordionTableContent(row.data), disable: row.disable, disableInfoMessage: row.disableInfoMessage, accordionStateIconName: "arrows_down_icon", AccordionStateIconWidth: TableAccordionStateIconWidth, AccordionStateIconHeight: TableAccordionStateIconHeight
|
|
76
|
-
tableData.map((row, index) => (_jsxs("div", { className: "
|
|
44
|
+
return (_jsxs("div", { style: { height: height }, className: classNames('ff-accordion-table-container', {
|
|
45
|
+
'ff-accordion-fixed-header-table': withFixedHeader,
|
|
46
|
+
}), children: [_jsx("table", { cellSpacing: 0, className: classNames('ff-accordion-table', {
|
|
47
|
+
'ff-accordion-fixed-header': withFixedHeader,
|
|
48
|
+
}), children: _jsx("thead", { children: _jsx("tr", { className: "ff-table-row", children: tableMeta.map((column) => (_jsx("th", { style: { width: column.width }, className: classNames('ff-table-header', headerType && `ff-accordion-table--${headerType}-bg`), children: _jsx("div", { children: _jsx(Typography, { fontWeight: "semi-bold", fontSize: 12, children: column.header }) }) }, `header-${column.header}`))) }) }) }), accordionType === 'row' &&
|
|
49
|
+
tableData.map((row, rowIndex) => (_jsx(Accordion, { highlightText: highlightText, headerTitle: row.title, color: "var(--text-color)", accordionContent: getAccordionTableContent(row.data), disable: row.disable, disableInfoMessage: row.disableInfoMessage, accordionStateIconName: "arrows_down_icon", AccordionStateIconWidth: TableAccordionStateIconWidth, AccordionStateIconHeight: TableAccordionStateIconHeight }, `accordion-row-${rowIndex}`))), accordionType === 'column' &&
|
|
50
|
+
tableData.map((row, index) => (_jsxs("div", { className: "column-table-accordion", children: [_jsx("div", { className: "ff-display-flex", children: _jsx(Tooltip, { title: row.disable
|
|
77
51
|
? row?.disableInfoMessage
|
|
78
|
-
:
|
|
52
|
+
: typeof row.title === 'string' &&
|
|
53
|
+
isTextTruncated(row.title, tableMeta[0]?.width, 'pixel')
|
|
79
54
|
? row.title
|
|
80
|
-
: '', placement: "bottom-start", children: _jsxs("div", { className: `
|
|
55
|
+
: '', placement: "bottom-start", children: _jsxs("div", { className: `accordion-header ${row.disable && 'accordion-header--disabled'}`, children: [_jsx("div", { className: "header-title", children: _jsx("span", { children: _jsx(Typography, { children: _jsx(HighlightText, { text: truncateText(row.title, tableMeta[0]?.width, 'pixel'), highlight: highlightText }) }) }) }), _jsx("div", { className: "accordion-arrow", onClick: () => {
|
|
81
56
|
!row.disable && onAccordionClick(index);
|
|
82
57
|
}, children: _jsx(Icon, { name: expandedRowIndex === index
|
|
83
58
|
? 'arrows_down_icon'
|
|
84
|
-
: 'arrows_right_icon', color: "var(--table-with-accordion-icon-color)", width: TableAccordionStateIconWidth, height: TableAccordionStateIconHeight, hoverEffect: false }) })] }) }) }), expandedRowIndex === index && (_jsx("div", { children: getAccordionTableContent(row.data) }))] }, `column-accordion-${index}`))),
|
|
59
|
+
: 'arrows_right_icon', color: "var(--table-with-accordion-icon-color)", width: TableAccordionStateIconWidth, height: TableAccordionStateIconHeight, hoverEffect: false }) })] }) }) }), expandedRowIndex === index && (_jsx("div", { children: getAccordionTableContent(row.data) }))] }, `column-accordion-${index}`))), tableData.length <= 0 && (_jsx("div", { className: "no-data-content", style: { height: `calc(${height} - 50px)` }, children: noDataContent }))] }));
|
|
85
60
|
};
|
|
86
61
|
export default TableWithAccordion;
|
|
87
62
|
//# sourceMappingURL=TableWithAccordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableWithAccordion.js","sourceRoot":"","sources":["../../../src/components/TableWithAccordion/TableWithAccordion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TableWithAccordion.js","sourceRoot":"","sources":["../../../src/components/TableWithAccordion/TableWithAccordion.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
2
|
export interface ColumnProps {
|
|
3
3
|
/**
|
|
4
4
|
* column name
|
|
@@ -15,7 +15,7 @@ export interface ColumnProps {
|
|
|
15
15
|
/**
|
|
16
16
|
* width of a column
|
|
17
17
|
*/
|
|
18
|
-
width?:
|
|
18
|
+
width?: number;
|
|
19
19
|
/**
|
|
20
20
|
* data for the column
|
|
21
21
|
*/
|