@synerise/ds-table-new 0.1.0
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/CHANGELOG.md +10 -0
- package/LICENSE.md +21 -0
- package/README.md +153 -0
- package/dist/Table.const.d.ts +20 -0
- package/dist/Table.const.js +42 -0
- package/dist/Table.d.ts +3 -0
- package/dist/Table.js +51 -0
- package/dist/Table.styles.d.ts +15 -0
- package/dist/Table.styles.js +29 -0
- package/dist/Table.types.d.ts +359 -0
- package/dist/Table.types.js +1 -0
- package/dist/VirtualTable.d.ts +3 -0
- package/dist/VirtualTable.js +222 -0
- package/dist/components/BaseTable/BaseTable.d.ts +3 -0
- package/dist/components/BaseTable/BaseTable.js +114 -0
- package/dist/components/BaseTable/BaseTable.styles.d.ts +28 -0
- package/dist/components/BaseTable/BaseTable.styles.js +41 -0
- package/dist/components/Cell/Action/ActionCell.d.ts +3 -0
- package/dist/components/Cell/Action/ActionCell.js +16 -0
- package/dist/components/Cell/Action/ActionCell.styles.d.ts +5 -0
- package/dist/components/Cell/Action/ActionCell.styles.js +13 -0
- package/dist/components/Cell/Action/ActionCell.types.d.ts +13 -0
- package/dist/components/Cell/Action/ActionCell.types.js +1 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.d.ts +4 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.js +42 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.styles.d.ts +27 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.styles.js +49 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.types.d.ts +22 -0
- package/dist/components/Cell/AvatarLabel/AvatarLabel.types.js +1 -0
- package/dist/components/Cell/Copyable/Copyable.styles.d.ts +2 -0
- package/dist/components/Cell/Copyable/Copyable.styles.js +14 -0
- package/dist/components/Cell/Copyable/Copyable.types.d.ts +11 -0
- package/dist/components/Cell/Copyable/Copyable.types.js +1 -0
- package/dist/components/Cell/Copyable/CopyableCell.d.ts +4 -0
- package/dist/components/Cell/Copyable/CopyableCell.js +28 -0
- package/dist/components/Cell/Editable/EditableCell.d.ts +4 -0
- package/dist/components/Cell/Editable/EditableCell.js +30 -0
- package/dist/components/Cell/Editable/EditableCell.styles.d.ts +4 -0
- package/dist/components/Cell/Editable/EditableCell.styles.js +14 -0
- package/dist/components/Cell/Editable/EditableCell.types.d.ts +11 -0
- package/dist/components/Cell/Editable/EditableCell.types.js +1 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.d.ts +4 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.js +16 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.styles.d.ts +1 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.styles.js +8 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.types.d.ts +11 -0
- package/dist/components/Cell/FlagLabel/FlagLabelCell.types.js +1 -0
- package/dist/components/Cell/IconLabel/IconLabel.d.ts +4 -0
- package/dist/components/Cell/IconLabel/IconLabel.js +15 -0
- package/dist/components/Cell/IconLabel/IconLabel.styles.d.ts +3 -0
- package/dist/components/Cell/IconLabel/IconLabel.styles.js +9 -0
- package/dist/components/Cell/IconLabel/IconLabel.types.d.ts +13 -0
- package/dist/components/Cell/IconLabel/IconLabel.types.js +1 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.d.ts +4 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.js +19 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.styles.d.ts +4 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.styles.js +13 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.types.d.ts +16 -0
- package/dist/components/Cell/IconTooltipCell/IconTooltipCell.types.js +1 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.d.ts +4 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.js +11 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.styles.d.ts +3 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.styles.js +11 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.types.d.ts +7 -0
- package/dist/components/Cell/InputNumber/InputNumberCell.types.js +1 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.d.ts +5 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.js +33 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.styles.d.ts +3 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.styles.js +18 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.types.d.ts +22 -0
- package/dist/components/Cell/LabelsWithShowMore/LabelsWithShowMore.types.js +1 -0
- package/dist/components/Cell/LabelsWithShowMore/Modal/Modal.d.ts +4 -0
- package/dist/components/Cell/LabelsWithShowMore/Modal/Modal.js +37 -0
- package/dist/components/Cell/LabelsWithShowMore/Modal/Modal.types.d.ts +15 -0
- package/dist/components/Cell/LabelsWithShowMore/Modal/Modal.types.js +1 -0
- package/dist/components/Cell/Star/StarCell.d.ts +4 -0
- package/dist/components/Cell/Star/StarCell.js +25 -0
- package/dist/components/Cell/Star/StarCell.styles.d.ts +5 -0
- package/dist/components/Cell/Star/StarCell.styles.js +16 -0
- package/dist/components/Cell/Star/StarCell.types.d.ts +17 -0
- package/dist/components/Cell/Star/StarCell.types.js +1 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.d.ts +4 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.js +18 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.styles.d.ts +4 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.styles.js +13 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.types.d.ts +14 -0
- package/dist/components/Cell/StatusLabel/StatusLabel.types.js +1 -0
- package/dist/components/Cell/TagIcon/TagIcon.d.ts +4 -0
- package/dist/components/Cell/TagIcon/TagIcon.js +10 -0
- package/dist/components/Cell/TagIcon/TagIcon.styles.d.ts +3 -0
- package/dist/components/Cell/TagIcon/TagIcon.styles.js +9 -0
- package/dist/components/Cell/TagIcon/TagIcon.types.d.ts +11 -0
- package/dist/components/Cell/TagIcon/TagIcon.types.js +1 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.d.ts +3 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.js +26 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.styles.d.ts +5 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.styles.js +34 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.types.d.ts +9 -0
- package/dist/components/Cell/TagsGroup/TagsGroup.types.js +1 -0
- package/dist/components/Cell/index.d.ts +26 -0
- package/dist/components/Cell/index.js +28 -0
- package/dist/components/TableBody/TableBody.d.ts +3 -0
- package/dist/components/TableBody/TableBody.js +40 -0
- package/dist/components/TableBody/TableBody.styles.d.ts +2 -0
- package/dist/components/TableBody/TableBody.styles.js +15 -0
- package/dist/components/TableBody/TableBodySkeleton/TableBodySkeleton.d.ts +5 -0
- package/dist/components/TableBody/TableBodySkeleton/TableBodySkeleton.js +42 -0
- package/dist/components/TableBody/TableBodySkeleton/TableBodySkeleton.styles.d.ts +9 -0
- package/dist/components/TableBody/TableBodySkeleton/TableBodySkeleton.styles.js +30 -0
- package/dist/components/TableBody/TableCell/TableCell.d.ts +16 -0
- package/dist/components/TableBody/TableCell/TableCell.js +19 -0
- package/dist/components/TableBody/TableCell/TableCell.styles.d.ts +10 -0
- package/dist/components/TableBody/TableCell/TableCell.styles.js +18 -0
- package/dist/components/TableBody/TableEmptyBody/TableEmptyBody.d.ts +3 -0
- package/dist/components/TableBody/TableEmptyBody/TableEmptyBody.js +18 -0
- package/dist/components/TableBody/TableEmptyBody/TableEmptyBody.styles.d.ts +4 -0
- package/dist/components/TableBody/TableEmptyBody/TableEmptyBody.styles.js +23 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/ErrorItem.d.ts +8 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/ErrorItem.js +19 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/ErrorItem.styles.d.ts +1 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/ErrorItem.styles.js +8 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/InfiniteLoaderRow.d.ts +14 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/InfiniteLoaderRow.js +50 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/LoadingItem.d.ts +5 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/LoadingItem.js +10 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/LoadingItem.styles.d.ts +1 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/LoadingItem.styles.js +9 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/NoMoreItem.d.ts +5 -0
- package/dist/components/TableBody/TableRow/InfiniteLoaderRow/NoMoreItem.js +10 -0
- package/dist/components/TableBody/TableRow/TableRow.d.ts +5 -0
- package/dist/components/TableBody/TableRow/TableRow.js +29 -0
- package/dist/components/TableBody/TableRow/TableRow.styles.d.ts +7 -0
- package/dist/components/TableBody/TableRow/TableRow.styles.js +15 -0
- package/dist/components/TableBody/TableRow/TableRowVirtual.d.ts +5 -0
- package/dist/components/TableBody/TableRow/TableRowVirtual.js +88 -0
- package/dist/components/TableBody/TableRowSelection/TableRowSelection.d.ts +3 -0
- package/dist/components/TableBody/TableRowSelection/TableRowSelection.js +39 -0
- package/dist/components/TableColumns/TableColumnSorter/SortIcons/DefaultSortIcon.d.ts +5 -0
- package/dist/components/TableColumns/TableColumnSorter/SortIcons/DefaultSortIcon.js +19 -0
- package/dist/components/TableColumns/TableColumnSorter/SortIcons/StringSortIcon.d.ts +5 -0
- package/dist/components/TableColumns/TableColumnSorter/SortIcons/StringSortIcon.js +19 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.const.d.ts +4 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.const.js +8 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.d.ts +3 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.js +75 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.styles.d.ts +30 -0
- package/dist/components/TableColumns/TableColumnSorter/TableColumnSorter.styles.js +11 -0
- package/dist/components/TableColumns/TableColumns.d.ts +3 -0
- package/dist/components/TableColumns/TableColumns.js +28 -0
- package/dist/components/TableColumns/TableColumns.styles.d.ts +18 -0
- package/dist/components/TableColumns/TableColumns.styles.js +35 -0
- package/dist/components/TableHeader/TableCounter/TableCounter.d.ts +3 -0
- package/dist/components/TableHeader/TableCounter/TableCounter.js +33 -0
- package/dist/components/TableHeader/TableCounter/TableCounter.styles.d.ts +1 -0
- package/dist/components/TableHeader/TableCounter/TableCounter.styles.js +8 -0
- package/dist/components/TableHeader/TableHeader.d.ts +3 -0
- package/dist/components/TableHeader/TableHeader.js +103 -0
- package/dist/components/TableHeader/TableHeader.styles.d.ts +18 -0
- package/dist/components/TableHeader/TableHeader.styles.js +48 -0
- package/dist/components/TableHeader/TableHeaderSelection/TableHeaderSelection.d.ts +3 -0
- package/dist/components/TableHeader/TableHeaderSelection/TableHeaderSelection.js +123 -0
- package/dist/components/TableHeader/TableHeaderSelection/TableHeaderSelection.styles.d.ts +8 -0
- package/dist/components/TableHeader/TableHeaderSelection/TableHeaderSelection.styles.js +21 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.d.ts +3 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.js +50 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.styles.d.ts +4 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.styles.js +24 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.types.d.ts +10 -0
- package/dist/components/TableHeader/TableLimit/TableLimit.types.js +1 -0
- package/dist/components/TableHorizontalScroll/TableHorizontalScroll.d.ts +6 -0
- package/dist/components/TableHorizontalScroll/TableHorizontalScroll.js +41 -0
- package/dist/components/TableHorizontalScroll/TableHorizontalScroll.styles.d.ts +12 -0
- package/dist/components/TableHorizontalScroll/TableHorizontalScroll.styles.js +33 -0
- package/dist/components/TableHorizontalScrollBar/TableHorizontalScrollBar.d.ts +6 -0
- package/dist/components/TableHorizontalScrollBar/TableHorizontalScrollBar.js +11 -0
- package/dist/components/TableHorizontalScrollBar/TableHorizontalScrollBar.styles.d.ts +4 -0
- package/dist/components/TableHorizontalScrollBar/TableHorizontalScrollBar.styles.js +14 -0
- package/dist/components/TablePagination/TablePagination.d.ts +3 -0
- package/dist/components/TablePagination/TablePagination.js +19 -0
- package/dist/components/TablePagination/TablePagination.styles.d.ts +1 -0
- package/dist/components/TablePagination/TablePagination.styles.js +8 -0
- package/dist/contexts/SelectionContext.d.ts +4 -0
- package/dist/contexts/SelectionContext.js +10 -0
- package/dist/contexts/StickyContext.d.ts +8 -0
- package/dist/contexts/StickyContext.js +9 -0
- package/dist/contexts/TableContext.d.ts +11 -0
- package/dist/contexts/TableContext.js +13 -0
- package/dist/hooks/useColumnSizing.d.ts +23 -0
- package/dist/hooks/useColumnSizing.js +95 -0
- package/dist/hooks/useDefaultTexts.d.ts +2 -0
- package/dist/hooks/useDefaultTexts.js +95 -0
- package/dist/hooks/useInfiniteScroll.d.ts +13 -0
- package/dist/hooks/useInfiniteScroll.js +58 -0
- package/dist/hooks/useRowKey.d.ts +4 -0
- package/dist/hooks/useRowKey.js +27 -0
- package/dist/hooks/useScrollSync.d.ts +2 -0
- package/dist/hooks/useScrollSync.js +23 -0
- package/dist/hooks/useTable.d.ts +14 -0
- package/dist/hooks/useTable.js +168 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +50 -0
- package/dist/types/table.d.js +1 -0
- package/dist/types/table.d.ts +28 -0
- package/dist/utils/arrayToTrueMap.d.ts +1 -0
- package/dist/utils/arrayToTrueMap.js +7 -0
- package/dist/utils/calculatePixels.d.ts +1 -0
- package/dist/utils/calculatePixels.js +21 -0
- package/dist/utils/compareKeys.d.ts +1 -0
- package/dist/utils/compareKeys.js +16 -0
- package/dist/utils/getChildrenColumnName.d.ts +1 -0
- package/dist/utils/getChildrenColumnName.js +7 -0
- package/dist/utils/getDefaultSkeletonColumns.d.ts +2 -0
- package/dist/utils/getDefaultSkeletonColumns.js +58 -0
- package/dist/utils/getInfiniteScrollPadding.d.ts +2 -0
- package/dist/utils/getInfiniteScrollPadding.js +13 -0
- package/dist/utils/getIsRevealed.d.ts +5 -0
- package/dist/utils/getIsRevealed.js +9 -0
- package/dist/utils/getPaginationConfig.d.ts +10 -0
- package/dist/utils/getPaginationConfig.js +19 -0
- package/dist/utils/getRecordSelectionStatus.d.ts +5 -0
- package/dist/utils/getRecordSelectionStatus.js +13 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +6 -0
- package/dist/utils/isRecordSelectable.d.ts +2 -0
- package/dist/utils/isRecordSelectable.js +14 -0
- package/dist/utils/legacyColumnConfigAdapter.d.ts +3 -0
- package/dist/utils/legacyColumnConfigAdapter.js +113 -0
- package/dist/utils/processColumns.d.ts +3 -0
- package/dist/utils/processColumns.js +24 -0
- package/dist/utils/sort.d.ts +3 -0
- package/dist/utils/sort.js +14 -0
- package/package.json +76 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DEFAULT_PAGINATION_CONFIG } from "../Table.const.js";
|
|
2
|
+
const getPaginationConfig = (pagination) => {
|
|
3
|
+
if (!pagination) {
|
|
4
|
+
return {
|
|
5
|
+
initialState: {}
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
return pagination === true ? DEFAULT_PAGINATION_CONFIG : {
|
|
9
|
+
initialState: {
|
|
10
|
+
pagination: {
|
|
11
|
+
pageSize: pagination.pageSize
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
...pagination
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
getPaginationConfig
|
|
19
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SelectionConfig } from '../Table.types';
|
|
2
|
+
export declare const getRecordSelectionStatus: <TData>(checkRowSelectionStatus: SelectionConfig<TData>["checkRowSelectionStatus"], record: TData) => {
|
|
3
|
+
unavailable: boolean | undefined;
|
|
4
|
+
disabled: boolean | undefined;
|
|
5
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const getRecordSelectionStatus = (checkRowSelectionStatus, record) => {
|
|
2
|
+
const {
|
|
3
|
+
unavailable,
|
|
4
|
+
disabled
|
|
5
|
+
} = checkRowSelectionStatus && checkRowSelectionStatus(record) || {};
|
|
6
|
+
return {
|
|
7
|
+
unavailable,
|
|
8
|
+
disabled
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
getRecordSelectionStatus
|
|
13
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { getRecordSelectionStatus } from "./getRecordSelectionStatus.js";
|
|
2
|
+
const isRecordSelectable = (record, checkRowSelectionStatus) => {
|
|
3
|
+
if (!checkRowSelectionStatus) {
|
|
4
|
+
return true;
|
|
5
|
+
}
|
|
6
|
+
const {
|
|
7
|
+
unavailable,
|
|
8
|
+
disabled
|
|
9
|
+
} = getRecordSelectionStatus(checkRowSelectionStatus, record);
|
|
10
|
+
return !(unavailable || disabled);
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
isRecordSelectable
|
|
14
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { VirtualColumnType as LegacyColumnType } from '@synerise/ds-table';
|
|
2
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
3
|
+
export declare const legacyColumnConfigAdapter: <DataType, DataValue>(columns: Array<LegacyColumnType<DataType>>) => ColumnDef<DataType, DataValue>[];
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { EXPANDED_ROW_PROPERTY } from "../Table.const.js";
|
|
2
|
+
import { calculatePixels } from "./calculatePixels.js";
|
|
3
|
+
const getSortStateApiAdapter = (headerContext) => {
|
|
4
|
+
const sortState = headerContext.table.getState().sorting;
|
|
5
|
+
const legacyColumnSortState = {};
|
|
6
|
+
sortState.forEach((column, index) => {
|
|
7
|
+
legacyColumnSortState[column.id] = {
|
|
8
|
+
sortOrder: column.desc ? "descend" : "ascend",
|
|
9
|
+
multiple: sortState.length > 1 ? index : false
|
|
10
|
+
};
|
|
11
|
+
});
|
|
12
|
+
return {
|
|
13
|
+
columnsSortState: legacyColumnSortState,
|
|
14
|
+
// get sort order for column by key
|
|
15
|
+
getColumnSortOrder: (key) => {
|
|
16
|
+
switch (headerContext.table.getColumn(key)?.getIsSorted()) {
|
|
17
|
+
case "asc":
|
|
18
|
+
return "ascend";
|
|
19
|
+
case "desc":
|
|
20
|
+
return "descend";
|
|
21
|
+
default:
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
setColumnSortOrder: (key, sort) => {
|
|
26
|
+
const allowMultiple = headerContext.table.getColumn(key)?.columnDef.meta?.enableMultiSort;
|
|
27
|
+
headerContext.table.getColumn(key)?.toggleSorting(sort === "descend", allowMultiple);
|
|
28
|
+
},
|
|
29
|
+
updateColumnsData: () => {
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
const DEFAULT_SORT_FN = "text";
|
|
34
|
+
const getSortingConfig = (sorter) => {
|
|
35
|
+
if (!sorter) {
|
|
36
|
+
return {
|
|
37
|
+
enableSorting: false
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
if (sorter === true) {
|
|
41
|
+
return {
|
|
42
|
+
sortingFn: DEFAULT_SORT_FN
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
let sortFn;
|
|
46
|
+
let enableMultiSort;
|
|
47
|
+
let multiSortOrder;
|
|
48
|
+
if (typeof sorter === "function") {
|
|
49
|
+
sortFn = sorter;
|
|
50
|
+
}
|
|
51
|
+
if ("compare" in sorter && sorter.compare) {
|
|
52
|
+
sortFn = sorter.compare;
|
|
53
|
+
enableMultiSort = !!sorter.multiple;
|
|
54
|
+
multiSortOrder = sorter.multiple;
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
sortingFn: sortFn ? (rowA, rowB, _columnId) => {
|
|
58
|
+
return sortFn(rowA.original, rowB.original);
|
|
59
|
+
} : DEFAULT_SORT_FN,
|
|
60
|
+
enableMultiSort,
|
|
61
|
+
multiSortOrder
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
const legacyColumnConfigAdapter = (columns) => {
|
|
65
|
+
return columns.map((column, index) => {
|
|
66
|
+
const customSortRender = column.sortRender && typeof column.sortRender !== "string" ? (headerContext) => {
|
|
67
|
+
const legacySortStateApi = getSortStateApiAdapter(headerContext);
|
|
68
|
+
return column.sortRender && typeof column.sortRender !== "string" && column.sortRender(legacySortStateApi, column);
|
|
69
|
+
} : void 0;
|
|
70
|
+
const {
|
|
71
|
+
multiSortOrder,
|
|
72
|
+
...sortingConfig
|
|
73
|
+
} = getSortingConfig(column.sorter);
|
|
74
|
+
return {
|
|
75
|
+
accessorKey: `${column.dataIndex}`,
|
|
76
|
+
header: () => {
|
|
77
|
+
return typeof column.title === "function" ? column.title({}) : column.title;
|
|
78
|
+
},
|
|
79
|
+
cell: (info) => {
|
|
80
|
+
return column.render?.(info.getValue(), info.row.original, info.column.getIndex()) || info.getValue();
|
|
81
|
+
},
|
|
82
|
+
meta: {
|
|
83
|
+
minWidth: column.minWidth,
|
|
84
|
+
maxWidth: column.maxWidth,
|
|
85
|
+
width: column.width,
|
|
86
|
+
fixed: column.fixed,
|
|
87
|
+
sortOrder: column.sortOrder,
|
|
88
|
+
sortRender: typeof column.sortRender === "string" ? column.sortRender : void 0,
|
|
89
|
+
renderCustomSortButton: customSortRender,
|
|
90
|
+
multipleSortingOrder: multiSortOrder,
|
|
91
|
+
childCell: (info) => {
|
|
92
|
+
if (column.childRender) {
|
|
93
|
+
const rowData = {
|
|
94
|
+
...info.row.original,
|
|
95
|
+
[EXPANDED_ROW_PROPERTY]: true,
|
|
96
|
+
index: info.row.index
|
|
97
|
+
};
|
|
98
|
+
return column.childRender(info.getValue(), rowData, info.column.getIndex());
|
|
99
|
+
}
|
|
100
|
+
return column.render?.(info.getValue(), info.row.original, info.column.getIndex()) || info.getValue();
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
enablePinning: !!column.fixed,
|
|
104
|
+
...sortingConfig,
|
|
105
|
+
size: calculatePixels(column.width),
|
|
106
|
+
...column,
|
|
107
|
+
id: `${column.id || column.key || `${column.dataIndex}-${index}`}`
|
|
108
|
+
};
|
|
109
|
+
});
|
|
110
|
+
};
|
|
111
|
+
export {
|
|
112
|
+
legacyColumnConfigAdapter
|
|
113
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { SELECTION_COLUMN_ID } from "../Table.const.js";
|
|
3
|
+
import { TableRowSelection } from "../components/TableBody/TableRowSelection/TableRowSelection.js";
|
|
4
|
+
const processColumns = (columns, selection, texts) => {
|
|
5
|
+
const selectionColumn = {
|
|
6
|
+
id: SELECTION_COLUMN_ID,
|
|
7
|
+
size: 64,
|
|
8
|
+
minSize: 64,
|
|
9
|
+
maxSize: 64,
|
|
10
|
+
meta: {
|
|
11
|
+
style: {
|
|
12
|
+
paddingRight: "8px"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
header: "",
|
|
16
|
+
cell: ({
|
|
17
|
+
row
|
|
18
|
+
}) => /* @__PURE__ */ jsx(TableRowSelection, { row, texts })
|
|
19
|
+
};
|
|
20
|
+
return selection ? [selectionColumn, ...columns] : columns;
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
processColumns
|
|
24
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const isSorted = (column) => {
|
|
2
|
+
return Boolean(column.columnDef.meta?.sortOrder ?? column.getIsSorted());
|
|
3
|
+
};
|
|
4
|
+
const SORT_ORDER = {
|
|
5
|
+
ascend: "asc",
|
|
6
|
+
descend: "desc"
|
|
7
|
+
};
|
|
8
|
+
const getSortOrder = (column) => {
|
|
9
|
+
return column.columnDef.meta?.sortOrder ? SORT_ORDER[column.columnDef.meta?.sortOrder] : column.getIsSorted();
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
getSortOrder,
|
|
13
|
+
isSorted
|
|
14
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@synerise/ds-table-new",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "TableNew UI Component for the Synerise Design System",
|
|
5
|
+
"license": "ISC",
|
|
6
|
+
"repository": "Synerise/synerise-design",
|
|
7
|
+
"main": "dist/index.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"/dist",
|
|
10
|
+
"CHANGELOG.md",
|
|
11
|
+
"README.md",
|
|
12
|
+
"package.json",
|
|
13
|
+
"LICENSE.md"
|
|
14
|
+
],
|
|
15
|
+
"publishConfig": {
|
|
16
|
+
"access": "public"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"build": "vite build",
|
|
20
|
+
"build:watch": "vite build --watch",
|
|
21
|
+
"defs": "tsc --declaration --outDir dist/ --emitDeclarationOnly",
|
|
22
|
+
"prepublish": "pnpm run build",
|
|
23
|
+
"types": "tsc --noEmit",
|
|
24
|
+
"pack:ci": "pnpm pack --pack-destination ../../storybook/storybook-static/static",
|
|
25
|
+
"test": "vitest run",
|
|
26
|
+
"test:watch": "vitest",
|
|
27
|
+
"check:circular-dependencies": "madge --circular --extensions ts,tsx,js,jsx --ts-config tsconfig.json src/ --exclude '/dist/'",
|
|
28
|
+
"upgrade:ds": "ncu -f \"@synerise/ds-*\" -u"
|
|
29
|
+
},
|
|
30
|
+
"sideEffects": [
|
|
31
|
+
"dist/style/*",
|
|
32
|
+
"*.less"
|
|
33
|
+
],
|
|
34
|
+
"types": "dist/index.d.ts",
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@floating-ui/react": "^0.27.16",
|
|
37
|
+
"@synerise/ds-badge": "^1.0.46",
|
|
38
|
+
"@synerise/ds-button": "^1.5.20",
|
|
39
|
+
"@synerise/ds-checkbox": "^1.2.23",
|
|
40
|
+
"@synerise/ds-copy-icon": "^1.2.4",
|
|
41
|
+
"@synerise/ds-dropdown": "^1.3.4",
|
|
42
|
+
"@synerise/ds-flag": "^1.0.10",
|
|
43
|
+
"@synerise/ds-icon": "^1.15.3",
|
|
44
|
+
"@synerise/ds-inline-alert": "^1.1.17",
|
|
45
|
+
"@synerise/ds-input": "^1.7.0",
|
|
46
|
+
"@synerise/ds-input-number": "^1.2.37",
|
|
47
|
+
"@synerise/ds-loader": "^1.0.15",
|
|
48
|
+
"@synerise/ds-modal": "^1.4.3",
|
|
49
|
+
"@synerise/ds-pagination": "^1.0.55",
|
|
50
|
+
"@synerise/ds-result": "^1.0.51",
|
|
51
|
+
"@synerise/ds-scrollbar": "^1.2.19",
|
|
52
|
+
"@synerise/ds-search": "^1.5.12",
|
|
53
|
+
"@synerise/ds-skeleton": "^1.0.47",
|
|
54
|
+
"@synerise/ds-table": "^1.10.0",
|
|
55
|
+
"@synerise/ds-tag": "^1.4.20",
|
|
56
|
+
"@synerise/ds-tags": "^1.5.30",
|
|
57
|
+
"@synerise/ds-tooltip": "^1.4.12",
|
|
58
|
+
"@synerise/ds-typography": "^1.1.15",
|
|
59
|
+
"@synerise/ds-utils": "^1.8.0",
|
|
60
|
+
"@tanstack/react-table": "^8.21.3",
|
|
61
|
+
"@tanstack/react-virtual": "^3.13.12",
|
|
62
|
+
"unit-to-px": "^1.0.5",
|
|
63
|
+
"uuid": "^10.0.0"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"vitest": "4"
|
|
67
|
+
},
|
|
68
|
+
"peerDependencies": {
|
|
69
|
+
"@synerise/ds-core": "*",
|
|
70
|
+
"antd": "^4.24.16",
|
|
71
|
+
"react": ">=16.9.0 <= 18.3.1",
|
|
72
|
+
"react-intl": ">= 3.12.0 <= 6.8",
|
|
73
|
+
"styled-components": "^5.3.3"
|
|
74
|
+
},
|
|
75
|
+
"gitHead": "ce3c6d75efe8573a2b274853636f959b75a6cd32"
|
|
76
|
+
}
|