react-base-data-table 0.3.8 → 0.4.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/README.md +0 -6
- package/dist/index.cjs.js +23 -21
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +10073 -6021
- package/dist/index.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/App.d.ts +3 -0
- package/dist/types/DUMMY_ITEMS.d.ts +6 -0
- package/dist/types/components/BaseButton.d.ts +19 -0
- package/dist/types/components/BaseCheckbox.d.ts +11 -0
- package/dist/types/components/BaseTable/BaseTable.d.ts +38 -0
- package/dist/types/components/BaseTable/BaseTableFooter.d.ts +10 -0
- package/dist/types/components/BaseTable/BaseTableGroupRow.d.ts +15 -0
- package/dist/types/components/BaseTable/BaseTableHeader.d.ts +13 -0
- package/dist/types/components/BaseTable/BaseTableHeaders.d.ts +15 -0
- package/dist/types/components/BaseTable/BaseTableRow.d.ts +11 -0
- package/dist/types/components/BaseTable/BaseTableWithContext.d.ts +3 -0
- package/dist/types/components/BaseTable/CommentPopup.d.ts +15 -0
- package/dist/types/components/BaseTable/CustomRenderItem.d.ts +11 -0
- package/dist/types/components/BaseTable/contextMenu/ContextMenu.d.ts +13 -0
- package/dist/types/components/BaseTable/contextMenu/actions/cellActions.d.ts +5 -0
- package/dist/types/components/BaseTable/contextMenu/actions/headerActions.d.ts +5 -0
- package/dist/types/components/BaseTable/contextMenu/actions/index.d.ts +2 -0
- package/dist/types/components/BaseTable/contexts/useTableInteractionContext.d.ts +54 -0
- package/dist/types/components/BaseTable/dialogs/DialogWrapper.d.ts +6 -0
- package/dist/types/components/BaseTable/dialogs/columnsDialog/ColumnsDialog.d.ts +2 -0
- package/dist/types/components/BaseTable/dialogs/columnsDialog/DragPreview.d.ts +5 -0
- package/dist/types/components/BaseTable/dialogs/columnsDialog/HeaderItem.d.ts +20 -0
- package/dist/types/components/BaseTable/hooks/useCellPopup.d.ts +16 -0
- package/dist/types/components/BaseTable/hooks/useRowDragDrop.d.ts +16 -0
- package/dist/types/components/BaseTable/hooks/useTableData.d.ts +19 -0
- package/dist/types/components/BaseTable/hooks/useTableFiltering.d.ts +13 -0
- package/dist/types/components/BaseTable/hooks/useTableGrouping.d.ts +14 -0
- package/dist/types/components/BaseTable/hooks/useTableInteractions.d.ts +43 -0
- package/dist/types/components/BaseTable/hooks/useTableSorting.d.ts +13 -0
- package/dist/types/components/BaseTable/hooks/useVirtualRows.d.ts +11 -0
- package/dist/types/components/BaseTable/models/ActiveTableFilter.d.ts +6 -0
- package/dist/types/components/BaseTable/models/AdvancedTableSettings.d.ts +19 -0
- package/dist/types/components/BaseTable/models/BaseTableHeaders.d.ts +38 -0
- package/dist/types/components/BaseTable/models/CellCordinate.d.ts +8 -0
- package/dist/types/components/BaseTable/models/CommentData.d.ts +10 -0
- package/dist/types/components/BaseTable/models/ContextMenu.d.ts +10 -0
- package/dist/types/components/BaseTable/models/ContextMenuAction.d.ts +12 -0
- package/dist/types/components/BaseTable/models/DialogItem.d.ts +9 -0
- package/dist/types/components/BaseTable/models/GroupInfo.d.ts +7 -0
- package/dist/types/components/BaseTable/models/HighlightCondition.d.ts +7 -0
- package/dist/types/components/BaseTable/models/ItemWithGroupInfo.d.ts +7 -0
- package/dist/types/components/BaseTable/models/LinkedGroup.d.ts +4 -0
- package/dist/types/components/BaseTable/models/TableConfiguration.d.ts +4 -0
- package/dist/types/components/BaseTable/models/TableItem.d.ts +4 -0
- package/dist/types/components/BaseTable/tableCell/BaseTableCell.d.ts +21 -0
- package/dist/types/components/BaseTable/tableCell/IndexCell.d.ts +8 -0
- package/dist/types/components/BaseTable/tableCell/cellImplementation/ListCell.d.ts +13 -0
- package/dist/types/components/BaseTable/tableCell/cellImplementation/NumberCell.d.ts +11 -0
- package/dist/types/components/BaseTable/tableCell/cellImplementation/OptionList.d.ts +11 -0
- package/dist/types/components/BaseTable/tableCell/cellImplementation/formatNumberFunctions.d.ts +1 -0
- package/dist/types/components/BaseTable/tableFilter/FilterDropdown.d.ts +13 -0
- package/dist/types/components/BaseTable/tableFilter/TableFilter.d.ts +17 -0
- package/dist/types/components/BaseTable/tableFilter/filterImplementations/NumberFilter/NumberConditionItem.d.ts +10 -0
- package/dist/types/components/BaseTable/tableFilter/filterImplementations/NumberFilter/NumberFilter.d.ts +16 -0
- package/dist/types/components/BaseTable/tableFilter/filterImplementations/TextFilter.d.ts +9 -0
- package/dist/types/components/BaseTable/tableFunctions/CellSelection.d.ts +8 -0
- package/dist/types/components/BaseTable/tableFunctions/FilteringAndSorting.d.ts +7 -0
- package/dist/types/components/BaseTable/tableFunctions/highlightCondition.d.ts +5 -0
- package/dist/types/components/ColorPicker.d.ts +7 -0
- package/dist/types/constants.d.ts +1 -0
- package/dist/types/enum/DateUnits.d.ts +8 -0
- package/dist/types/enum/FilterTypes.d.ts +4 -0
- package/dist/types/hooks/useClickOutside.d.ts +2 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/stores/commentPopupStore.d.ts +13 -0
- package/dist/types/stores/contextMenuStore.d.ts +13 -0
- package/dist/types/stores/dialogsStore.d.ts +21 -0
- package/dist/types/stores/tableDataStore.d.ts +99 -0
- package/dist/types/stores/tableDragStore.d.ts +17 -0
- package/dist/types/stores/tableRefStore.d.ts +17 -0
- package/dist/types/stores/tableSelectionStore.d.ts +19 -0
- package/dist/types/utils/array.d.ts +6 -0
- package/dist/types/utils/cellIdCreation.d.ts +3 -0
- package/dist/types/utils/enum.d.ts +3 -0
- package/dist/types/utils/sorting.d.ts +4 -0
- package/package.json +5 -2
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type TableItem from "../components/BaseTable/models/TableItem";
|
|
2
|
+
import type BaseTableHeader from "../components/BaseTable/models/BaseTableHeaders";
|
|
3
|
+
import type ActiveTableFilter from "../components/BaseTable/models/ActiveTableFilter";
|
|
4
|
+
import type HighlightCondition from "../components/BaseTable/models/HighlightCondition";
|
|
5
|
+
import type CommentData from "../components/BaseTable/models/CommentData";
|
|
6
|
+
import type AdvancedTableSettings from "../components/BaseTable/models/AdvancedTableSettings";
|
|
7
|
+
import type { NumberCondition } from "../components/BaseTable/tableFilter/filterImplementations/NumberFilter/NumberFilter";
|
|
8
|
+
interface TableDataState {
|
|
9
|
+
headers: BaseTableHeader[];
|
|
10
|
+
hiddenHeadersId: string[];
|
|
11
|
+
leafHeaders: BaseTableHeader[];
|
|
12
|
+
processedHeaders: BaseTableHeader[];
|
|
13
|
+
processedLeafHeaders: BaseTableHeader[];
|
|
14
|
+
items: TableItem[];
|
|
15
|
+
processedItems: TableItem[];
|
|
16
|
+
groupBy?: string;
|
|
17
|
+
linkedGroups?: {
|
|
18
|
+
master: string;
|
|
19
|
+
linked: string[];
|
|
20
|
+
}[];
|
|
21
|
+
collapsedGroups: string[];
|
|
22
|
+
activeFilters: ActiveTableFilter[];
|
|
23
|
+
filterItemsCache: Record<string, (string | number)[]>;
|
|
24
|
+
currentSortId?: string;
|
|
25
|
+
ascendingOrder: boolean;
|
|
26
|
+
advancedSetting?: AdvancedTableSettings;
|
|
27
|
+
highlightConditions: HighlightCondition[];
|
|
28
|
+
comments: CommentData[];
|
|
29
|
+
actions: {
|
|
30
|
+
setItems: (items: TableItem[]) => void;
|
|
31
|
+
setHeaders: (headers: BaseTableHeader[]) => void;
|
|
32
|
+
setHiddenHeadersId: (hiddenHeadersId: string[]) => void;
|
|
33
|
+
setActiveFilter: (headerId: string, itemsToHide: string[] | number[], numberConditions?: NumberCondition[]) => void;
|
|
34
|
+
clearActiveFilters: () => void;
|
|
35
|
+
onResetSort: () => void;
|
|
36
|
+
onSortByColumn: (column: BaseTableHeader) => void;
|
|
37
|
+
processItems: () => void;
|
|
38
|
+
processHeaders: () => void;
|
|
39
|
+
processFilterItemsCache: () => void;
|
|
40
|
+
setGroupBy: (groupBy: string | undefined) => void;
|
|
41
|
+
setLinkedGroups: (linkedGroups: {
|
|
42
|
+
master: string;
|
|
43
|
+
linked: string[];
|
|
44
|
+
}[] | undefined) => void;
|
|
45
|
+
setCollapsedGroups: (collapsedGroups: string[]) => void;
|
|
46
|
+
collapseGroup: (group: string) => void;
|
|
47
|
+
setComments: (comments: CommentData[]) => void;
|
|
48
|
+
setHighlightConditions: (conditions: HighlightCondition[]) => void;
|
|
49
|
+
setAdvancedSettings: (settings: AdvancedTableSettings | undefined) => void;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export declare const useTableDataStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TableDataState>>;
|
|
53
|
+
export declare const useTableHeaders: () => BaseTableHeader[];
|
|
54
|
+
export declare const useHiddenHeadersId: () => string[];
|
|
55
|
+
export declare const useProcessHeaders: () => BaseTableHeader[];
|
|
56
|
+
export declare const useLeafHeaders: () => BaseTableHeader[];
|
|
57
|
+
export declare const useProcessedLeafHeaders: () => BaseTableHeader[];
|
|
58
|
+
export declare const useTableItems: () => TableItem[];
|
|
59
|
+
export declare const useFilterItemsCache: () => Record<string, (string | number)[]>;
|
|
60
|
+
export declare const useProcessedItems: () => TableItem[];
|
|
61
|
+
export declare const useCurrentSortId: () => string | undefined;
|
|
62
|
+
export declare const useAscendingOrder: () => boolean;
|
|
63
|
+
export declare const useActiveFilters: () => ActiveTableFilter[];
|
|
64
|
+
export declare const useSortState: () => {
|
|
65
|
+
currentSortId: string | undefined;
|
|
66
|
+
ascendingOrder: boolean;
|
|
67
|
+
};
|
|
68
|
+
export declare const useAdvancedSettings: () => AdvancedTableSettings | undefined;
|
|
69
|
+
export declare const useComments: () => CommentData[];
|
|
70
|
+
export declare const useHighlightConditions: () => HighlightCondition[];
|
|
71
|
+
export declare const useGroupBy: () => string | undefined;
|
|
72
|
+
export declare const useLinkedGroups: () => {
|
|
73
|
+
master: string;
|
|
74
|
+
linked: string[];
|
|
75
|
+
}[] | undefined;
|
|
76
|
+
export declare const useCollapsedGroups: () => string[];
|
|
77
|
+
export declare const useTableDataActions: () => {
|
|
78
|
+
setItems: (items: TableItem[]) => void;
|
|
79
|
+
setHeaders: (headers: BaseTableHeader[]) => void;
|
|
80
|
+
setHiddenHeadersId: (hiddenHeadersId: string[]) => void;
|
|
81
|
+
setActiveFilter: (headerId: string, itemsToHide: string[] | number[], numberConditions?: NumberCondition[]) => void;
|
|
82
|
+
clearActiveFilters: () => void;
|
|
83
|
+
onResetSort: () => void;
|
|
84
|
+
onSortByColumn: (column: BaseTableHeader) => void;
|
|
85
|
+
processItems: () => void;
|
|
86
|
+
processHeaders: () => void;
|
|
87
|
+
processFilterItemsCache: () => void;
|
|
88
|
+
setGroupBy: (groupBy: string | undefined) => void;
|
|
89
|
+
setLinkedGroups: (linkedGroups: {
|
|
90
|
+
master: string;
|
|
91
|
+
linked: string[];
|
|
92
|
+
}[] | undefined) => void;
|
|
93
|
+
setCollapsedGroups: (collapsedGroups: string[]) => void;
|
|
94
|
+
collapseGroup: (group: string) => void;
|
|
95
|
+
setComments: (comments: CommentData[]) => void;
|
|
96
|
+
setHighlightConditions: (conditions: HighlightCondition[]) => void;
|
|
97
|
+
setAdvancedSettings: (settings: AdvancedTableSettings | undefined) => void;
|
|
98
|
+
};
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type CellCoordinate from "../components/BaseTable/models/CellCordinate";
|
|
2
|
+
interface TableDragState {
|
|
3
|
+
dragStartCell?: CellCoordinate;
|
|
4
|
+
isDragging: boolean;
|
|
5
|
+
actions: {
|
|
6
|
+
setDragStartCell: (cell?: CellCoordinate) => void;
|
|
7
|
+
setIsDragging: (isDragging: boolean) => void;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare const useTableDragStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TableDragState>>;
|
|
11
|
+
export declare const useDragStartCell: () => CellCoordinate | undefined;
|
|
12
|
+
export declare const useIsDragging: () => boolean;
|
|
13
|
+
export declare const useDragActions: () => {
|
|
14
|
+
setDragStartCell: (cell?: CellCoordinate) => void;
|
|
15
|
+
setIsDragging: (isDragging: boolean) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
interface TableRefState {
|
|
3
|
+
tableRef: RefObject<HTMLTableElement | null>;
|
|
4
|
+
scrollRef: RefObject<HTMLDivElement | null>;
|
|
5
|
+
actions: {
|
|
6
|
+
setTableRef: (ref: RefObject<HTMLTableElement | null>) => void;
|
|
7
|
+
setScrollRef: (ref: RefObject<HTMLDivElement | null>) => void;
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare const useTableRefStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TableRefState>>;
|
|
11
|
+
export declare const useTableRef: () => RefObject<HTMLTableElement | null>;
|
|
12
|
+
export declare const useScrollRef: () => RefObject<HTMLDivElement | null>;
|
|
13
|
+
export declare const useTableRefActions: () => {
|
|
14
|
+
setTableRef: (ref: RefObject<HTMLTableElement | null>) => void;
|
|
15
|
+
setScrollRef: (ref: RefObject<HTMLDivElement | null>) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type CellCoordinate from "../components/BaseTable/models/CellCordinate";
|
|
2
|
+
interface TableSelectionState {
|
|
3
|
+
selectedCell?: CellCoordinate;
|
|
4
|
+
expandedSelection: CellCoordinate[];
|
|
5
|
+
actions: {
|
|
6
|
+
setSelectedCell: (cell?: CellCoordinate) => void;
|
|
7
|
+
setExpandedSelection: (cells: CellCoordinate[]) => void;
|
|
8
|
+
clearSelection: () => void;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare const useTableSelectionStore: import("zustand").UseBoundStore<import("zustand").StoreApi<TableSelectionState>>;
|
|
12
|
+
export declare const useSelectedCell: () => CellCoordinate | undefined;
|
|
13
|
+
export declare const useExpandedSelection: () => CellCoordinate[];
|
|
14
|
+
export declare const useSelectionActions: () => {
|
|
15
|
+
setSelectedCell: (cell?: CellCoordinate) => void;
|
|
16
|
+
setExpandedSelection: (cells: CellCoordinate[]) => void;
|
|
17
|
+
clearSelection: () => void;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type BaseTableHeader from "../components/BaseTable/models/BaseTableHeaders";
|
|
2
|
+
export declare const removeDuplicates: (arr: string[]) => string[];
|
|
3
|
+
export declare const isArrayOfType: <T>(array: any[], type: T) => boolean;
|
|
4
|
+
export declare const isNumberArray: (array: any[]) => array is number[];
|
|
5
|
+
export declare function arrayMove<T>(arr: T[], from: number, to: number): T[];
|
|
6
|
+
export declare function reorderAtLevel(nodes: BaseTableHeader[], parentId: string | null, fromIdx: number, toIdx: number): BaseTableHeader[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const alphabeticalSort: (a: string, b: string) => 1 | 0 | -1;
|
|
2
|
+
export declare const alphabeticalSortInverse: (a: string, b: string) => 1 | 0 | -1;
|
|
3
|
+
export declare const numericalSort: (a: number, b: number) => number;
|
|
4
|
+
export declare const numericalSortInverse: (a: number, b: number) => number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-base-data-table",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "dist/types/index.d.ts",
|
|
@@ -68,7 +68,10 @@
|
|
|
68
68
|
"react-dom": "^19.1.0"
|
|
69
69
|
},
|
|
70
70
|
"dependencies": {
|
|
71
|
+
"@dnd-kit/core": "^6.3.1",
|
|
72
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
71
73
|
"@tanstack/react-virtual": "^3.13.12",
|
|
72
|
-
"react-color": "^2.19.3"
|
|
74
|
+
"react-color": "^2.19.3",
|
|
75
|
+
"zustand": "^5.0.8"
|
|
73
76
|
}
|
|
74
77
|
}
|