simple-table-core 4.0.4 → 4.0.5
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/cjs/index.js +1 -1
- package/dist/consts/general-consts.d.ts +2 -2
- package/dist/core/SimpleTableVanilla.d.ts +3 -3
- package/dist/core/api/TableAPIImpl.d.ts +6 -6
- package/dist/core/initialization/TableInitializer.d.ts +4 -4
- package/dist/core/rendering/RenderOrchestrator.d.ts +9 -9
- package/dist/core/rendering/SectionRenderer.d.ts +3 -3
- package/dist/core/rendering/TableRenderer.d.ts +8 -8
- package/dist/hooks/contentHeight.d.ts +2 -2
- package/dist/hooks/expandedDepths.d.ts +1 -1
- package/dist/hooks/handleOutsideClick.d.ts +3 -3
- package/dist/hooks/useAggregatedRows.d.ts +2 -2
- package/dist/hooks/useQuickFilter.d.ts +2 -2
- package/dist/index.d.ts +2 -3
- package/dist/index.es.js +1 -1
- package/dist/managers/AutoScaleManager.d.ts +5 -5
- package/dist/managers/ColumnManager.d.ts +12 -12
- package/dist/managers/DimensionManager.d.ts +2 -2
- package/dist/managers/DragHandlerManager.d.ts +20 -20
- package/dist/managers/FilterManager.d.ts +2 -2
- package/dist/managers/PivotManager.d.ts +4 -4
- package/dist/managers/RowManager.d.ts +2 -2
- package/dist/managers/SelectionManager/types.d.ts +3 -3
- package/dist/managers/SortManager.d.ts +2 -2
- package/dist/managers/TableManager.d.ts +4 -4
- package/dist/types/CellChangeProps.d.ts +1 -1
- package/dist/types/CellClickProps.d.ts +1 -1
- package/dist/types/CellRendererProps.d.ts +1 -1
- package/dist/types/{HeaderObject.d.ts → ColumnDef.d.ts} +3 -5
- package/dist/types/ColumnEditorConfig.d.ts +2 -2
- package/dist/types/ColumnEditorCustomRendererProps.d.ts +2 -2
- package/dist/types/ColumnEditorRowRendererProps.d.ts +5 -5
- package/dist/types/ColumnVisibilityTypes.d.ts +1 -1
- package/dist/types/DragHandlerProps.d.ts +6 -6
- package/dist/types/FilterTypes.d.ts +1 -1
- package/dist/types/FlattenedHeader.d.ts +3 -3
- package/dist/types/HandleResizeStartProps.d.ts +5 -5
- package/dist/types/HeaderRendererProps.d.ts +3 -3
- package/dist/types/OnRowGroupExpandProps.d.ts +1 -1
- package/dist/types/OnSortProps.d.ts +1 -1
- package/dist/types/PinnedSectionsState.d.ts +1 -1
- package/dist/types/PivotTypes.d.ts +3 -3
- package/dist/types/QuickFilterTypes.d.ts +1 -1
- package/dist/types/SharedTableProps.d.ts +7 -7
- package/dist/types/SimpleTableConfig.d.ts +24 -16
- package/dist/types/SimpleTableProps.d.ts +19 -58
- package/dist/types/SortColumn.d.ts +2 -2
- package/dist/types/TableAPI.d.ts +4 -4
- package/dist/types/TableBodyProps.d.ts +3 -3
- package/dist/types/TableHeaderProps.d.ts +4 -4
- package/dist/types/TableHeaderSectionProps.d.ts +2 -2
- package/dist/types/TableRow.d.ts +2 -2
- package/dist/types/TableRowProps.d.ts +6 -6
- package/dist/types/UpdateCellProps.d.ts +1 -1
- package/dist/utils/bodyCell/content.d.ts +2 -2
- package/dist/utils/bodyCell/types.d.ts +6 -6
- package/dist/utils/cellClipboardUtils.d.ts +4 -4
- package/dist/utils/cellUtils.d.ts +3 -3
- package/dist/utils/collapseUtils.d.ts +7 -7
- package/dist/utils/columnEditor/columnEditorUtils.d.ts +5 -5
- package/dist/utils/columnEditor/createColumnEditor.d.ts +5 -5
- package/dist/utils/columnEditor/createColumnEditorPopout.d.ts +4 -4
- package/dist/utils/columnEditor/createColumnEditorRow.d.ts +6 -6
- package/dist/utils/columnIndicesUtils.d.ts +4 -4
- package/dist/utils/columnVirtualizationUtils.d.ts +10 -10
- package/dist/utils/csvExportUtils.d.ts +3 -3
- package/dist/utils/filters/createBooleanFilter.d.ts +2 -2
- package/dist/utils/filters/createDateFilter.d.ts +2 -2
- package/dist/utils/filters/createEnumFilter.d.ts +2 -2
- package/dist/utils/filters/createFilterDropdown.d.ts +2 -2
- package/dist/utils/filters/createNumberFilter.d.ts +2 -2
- package/dist/utils/filters/createStringFilter.d.ts +2 -2
- package/dist/utils/footer/createTableFooter.d.ts +1 -1
- package/dist/utils/generalUtils.d.ts +2 -2
- package/dist/utils/headerCell/collapsing.d.ts +2 -2
- package/dist/utils/headerCell/dragging.d.ts +4 -4
- package/dist/utils/headerCell/editing.d.ts +3 -3
- package/dist/utils/headerCell/eventTracking.d.ts +3 -3
- package/dist/utils/headerCell/filtering.d.ts +2 -2
- package/dist/utils/headerCell/resizing.d.ts +2 -2
- package/dist/utils/headerCell/sorting.d.ts +2 -2
- package/dist/utils/headerCell/types.d.ts +13 -13
- package/dist/utils/headerLayoutUtils.d.ts +2 -2
- package/dist/utils/headerUtils.d.ts +5 -5
- package/dist/utils/headerWidthUtils.d.ts +10 -10
- package/dist/utils/horizontalScrollbarRenderer.d.ts +1 -1
- package/dist/utils/infiniteScrollUtils.d.ts +1 -1
- package/dist/utils/normalizeConfig.d.ts +7 -43
- package/dist/utils/pinnedColumnUtils.d.ts +12 -12
- package/dist/utils/pivot/pivotRows.d.ts +4 -4
- package/dist/utils/propSyncEqual.d.ts +1 -1
- package/dist/utils/resizeUtils/autoExpandResize.d.ts +5 -5
- package/dist/utils/resizeUtils/compensation.d.ts +2 -2
- package/dist/utils/resizeUtils/domUpdates.d.ts +3 -3
- package/dist/utils/resizeUtils/index.d.ts +5 -5
- package/dist/utils/resizeUtils/maxWidth.d.ts +3 -3
- package/dist/utils/resizeUtils/parentHeaderResize.d.ts +2 -2
- package/dist/utils/resizeUtils/sectionWidths.d.ts +2 -2
- package/dist/utils/rowFlattening.d.ts +2 -2
- package/dist/utils/rowProcessing.d.ts +2 -2
- package/dist/utils/rowSelectionUtils.d.ts +2 -2
- package/dist/utils/rowUtils.d.ts +2 -2
- package/dist/utils/sortUtils.d.ts +2 -2
- package/dist/utils/stickyParentsRenderer.d.ts +5 -5
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
2
|
interface AutoScaleConfig {
|
|
3
3
|
autoExpandColumns: boolean;
|
|
4
4
|
containerWidth: number;
|
|
@@ -16,8 +16,8 @@ interface AutoScaleConfig {
|
|
|
16
16
|
*/
|
|
17
17
|
collapsedHeaders?: Set<Accessor>;
|
|
18
18
|
}
|
|
19
|
-
type HeaderUpdateCallback = (headers:
|
|
20
|
-
export declare const applyAutoScaleToHeaders: (headers:
|
|
19
|
+
type HeaderUpdateCallback = (headers: ColumnDef[]) => void;
|
|
20
|
+
export declare const applyAutoScaleToHeaders: (headers: ColumnDef[], options: AutoScaleConfig) => ColumnDef[];
|
|
21
21
|
export declare class AutoScaleManager {
|
|
22
22
|
private config;
|
|
23
23
|
private onHeadersUpdate;
|
|
@@ -26,8 +26,8 @@ export declare class AutoScaleManager {
|
|
|
26
26
|
constructor(config: AutoScaleConfig, onHeadersUpdate: HeaderUpdateCallback);
|
|
27
27
|
updateConfig(config: Partial<AutoScaleConfig>): void;
|
|
28
28
|
private triggerAutoScale;
|
|
29
|
-
applyAutoScale(headers:
|
|
30
|
-
setHeaders(headersOrUpdater:
|
|
29
|
+
applyAutoScale(headers: ColumnDef[]): ColumnDef[];
|
|
30
|
+
setHeaders(headersOrUpdater: ColumnDef[] | ((prev: ColumnDef[]) => ColumnDef[]), currentHeaders: ColumnDef[]): ColumnDef[];
|
|
31
31
|
destroy(): void;
|
|
32
32
|
}
|
|
33
33
|
export {};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
2
|
import { ColumnVisibilityState } from "../types/ColumnVisibilityTypes";
|
|
3
3
|
export interface ColumnManagerConfig {
|
|
4
|
-
headers:
|
|
4
|
+
headers: ColumnDef[];
|
|
5
5
|
collapsedHeaders: Set<Accessor>;
|
|
6
|
-
onColumnOrderChange?: (newHeaders:
|
|
6
|
+
onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
|
|
7
7
|
onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
|
|
8
|
-
onColumnWidthChange?: (headers:
|
|
8
|
+
onColumnWidthChange?: (headers: ColumnDef[]) => void;
|
|
9
9
|
}
|
|
10
10
|
export interface ColumnManagerState {
|
|
11
|
-
headers:
|
|
11
|
+
headers: ColumnDef[];
|
|
12
12
|
collapsedHeaders: Set<Accessor>;
|
|
13
13
|
columnVisibility: ColumnVisibilityState;
|
|
14
|
-
draggedHeader:
|
|
15
|
-
hoveredHeader:
|
|
14
|
+
draggedHeader: ColumnDef | null;
|
|
15
|
+
hoveredHeader: ColumnDef | null;
|
|
16
16
|
}
|
|
17
17
|
type StateChangeCallback = (state: ColumnManagerState) => void;
|
|
18
18
|
export declare class ColumnManager {
|
|
@@ -24,16 +24,16 @@ export declare class ColumnManager {
|
|
|
24
24
|
updateConfig(config: Partial<ColumnManagerConfig>): void;
|
|
25
25
|
subscribe(callback: StateChangeCallback): () => void;
|
|
26
26
|
private notifySubscribers;
|
|
27
|
-
setHeaders(headers:
|
|
27
|
+
setHeaders(headers: ColumnDef[]): void;
|
|
28
28
|
setCollapsedHeaders(collapsedHeaders: Set<Accessor>): void;
|
|
29
29
|
toggleColumnCollapse(accessor: Accessor): void;
|
|
30
30
|
setColumnVisibility(accessor: Accessor, visible: boolean): void;
|
|
31
31
|
updateColumnWidth(accessor: Accessor, width: number | string): void;
|
|
32
|
-
reorderColumns(newHeaders:
|
|
33
|
-
setDraggedHeader(header:
|
|
34
|
-
setHoveredHeader(header:
|
|
32
|
+
reorderColumns(newHeaders: ColumnDef[]): void;
|
|
33
|
+
setDraggedHeader(header: ColumnDef | null): void;
|
|
34
|
+
setHoveredHeader(header: ColumnDef | null): void;
|
|
35
35
|
getState(): ColumnManagerState;
|
|
36
|
-
getHeaders():
|
|
36
|
+
getHeaders(): ColumnDef[];
|
|
37
37
|
getCollapsedHeaders(): Set<Accessor>;
|
|
38
38
|
getColumnVisibility(): ColumnVisibilityState;
|
|
39
39
|
isColumnVisible(accessor: Accessor): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef from "../types/ColumnDef";
|
|
2
2
|
export interface DimensionManagerConfig {
|
|
3
|
-
effectiveHeaders:
|
|
3
|
+
effectiveHeaders: ColumnDef[];
|
|
4
4
|
headerHeight?: number;
|
|
5
5
|
rowHeight: number;
|
|
6
6
|
height?: string | number;
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import
|
|
2
|
-
export declare const getHeaderIndexPath: (headers:
|
|
3
|
-
export declare const getSiblingArray: (headers:
|
|
4
|
-
export declare const setSiblingArray: (headers:
|
|
5
|
-
export declare const getHeaderSection: (header:
|
|
6
|
-
export declare const updateHeaderPinnedProperty: (header:
|
|
7
|
-
export declare function swapHeaders(headers:
|
|
8
|
-
newHeaders:
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
|
+
export declare const getHeaderIndexPath: (headers: ColumnDef[], targetAccessor: Accessor, currentPath?: number[]) => number[] | null;
|
|
3
|
+
export declare const getSiblingArray: (headers: ColumnDef[], indexPath: number[]) => ColumnDef[];
|
|
4
|
+
export declare const setSiblingArray: (headers: ColumnDef[], indexPath: number[], newSiblings: ColumnDef[]) => ColumnDef[];
|
|
5
|
+
export declare const getHeaderSection: (header: ColumnDef, rootHeaders: ColumnDef[]) => "left" | "main" | "right";
|
|
6
|
+
export declare const updateHeaderPinnedProperty: (header: ColumnDef, targetSection: "left" | "main" | "right") => ColumnDef;
|
|
7
|
+
export declare function swapHeaders(headers: ColumnDef[], draggedPath: number[], hoveredPath: number[]): {
|
|
8
|
+
newHeaders: ColumnDef[];
|
|
9
9
|
emergencyBreak: boolean;
|
|
10
10
|
};
|
|
11
11
|
export declare function insertHeaderAcrossSections({ headers, draggedHeader, hoveredHeader, }: {
|
|
12
|
-
headers:
|
|
13
|
-
draggedHeader:
|
|
14
|
-
hoveredHeader:
|
|
12
|
+
headers: ColumnDef[];
|
|
13
|
+
draggedHeader: ColumnDef;
|
|
14
|
+
hoveredHeader: ColumnDef;
|
|
15
15
|
}): {
|
|
16
|
-
newHeaders:
|
|
16
|
+
newHeaders: ColumnDef[];
|
|
17
17
|
emergencyBreak: boolean;
|
|
18
18
|
};
|
|
19
19
|
export interface DragHandlerManagerConfig {
|
|
20
|
-
headers:
|
|
20
|
+
headers: ColumnDef[];
|
|
21
21
|
essentialAccessors?: ReadonlySet<string>;
|
|
22
|
-
onTableHeaderDragEnd: (newHeaders:
|
|
23
|
-
onColumnOrderChange?: (newHeaders:
|
|
24
|
-
onHeadersChange?: (newHeaders:
|
|
22
|
+
onTableHeaderDragEnd: (newHeaders: ColumnDef[]) => void;
|
|
23
|
+
onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
|
|
24
|
+
onHeadersChange?: (newHeaders: ColumnDef[]) => void;
|
|
25
25
|
}
|
|
26
26
|
export declare class DragHandlerManager {
|
|
27
27
|
private config;
|
|
@@ -32,12 +32,12 @@ export declare class DragHandlerManager {
|
|
|
32
32
|
private prevHeadersTracker;
|
|
33
33
|
constructor(config: DragHandlerManagerConfig);
|
|
34
34
|
updateConfig(config: Partial<DragHandlerManagerConfig>): void;
|
|
35
|
-
getDraggedHeader():
|
|
36
|
-
getHoveredHeader():
|
|
37
|
-
handleDragStart(header:
|
|
35
|
+
getDraggedHeader(): ColumnDef | null;
|
|
36
|
+
getHoveredHeader(): ColumnDef | null;
|
|
37
|
+
handleDragStart(header: ColumnDef): void;
|
|
38
38
|
handleDragOver({ event, hoveredHeader, }: {
|
|
39
39
|
event: DragEvent;
|
|
40
|
-
hoveredHeader:
|
|
40
|
+
hoveredHeader: ColumnDef;
|
|
41
41
|
}): void;
|
|
42
42
|
handleDragEnd(): void;
|
|
43
43
|
destroy(): void;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TableFilterState, FilterCondition } from "../types/FilterTypes";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
|
-
import
|
|
3
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
4
4
|
export interface FilterManagerConfig {
|
|
5
5
|
rows: Row[];
|
|
6
|
-
headers:
|
|
6
|
+
headers: ColumnDef[];
|
|
7
7
|
externalFilterHandling: boolean;
|
|
8
8
|
onFilterChange?: (filters: TableFilterState) => void;
|
|
9
9
|
announce?: (message: string) => void;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { Accessor } from "../types/
|
|
1
|
+
import type ColumnDef from "../types/ColumnDef";
|
|
2
|
+
import type { Accessor } from "../types/ColumnDef";
|
|
3
3
|
import type Row from "../types/Row";
|
|
4
4
|
import type { PivotConfig } from "../types/PivotTypes";
|
|
5
5
|
export interface PivotManagerConfig {
|
|
6
6
|
sourceRows: Row[];
|
|
7
|
-
fieldHeaders:
|
|
7
|
+
fieldHeaders: ColumnDef[];
|
|
8
8
|
pivot: PivotConfig | null;
|
|
9
9
|
}
|
|
10
10
|
export interface PivotManagerState {
|
|
11
11
|
active: boolean;
|
|
12
12
|
pivotedRows: Row[];
|
|
13
|
-
headers:
|
|
13
|
+
headers: ColumnDef[];
|
|
14
14
|
rowGrouping?: Accessor[];
|
|
15
15
|
pivot: PivotConfig | null;
|
|
16
16
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
3
|
import RowState from "../types/RowState";
|
|
4
4
|
import TableRow from "../types/TableRow";
|
|
@@ -7,7 +7,7 @@ import { CustomTheme } from "../types/CustomTheme";
|
|
|
7
7
|
import { GetRowId } from "../types/GetRowId";
|
|
8
8
|
export interface RowManagerConfig {
|
|
9
9
|
rows: Row[];
|
|
10
|
-
headers:
|
|
10
|
+
headers: ColumnDef[];
|
|
11
11
|
rowGrouping?: Accessor[];
|
|
12
12
|
getRowId?: GetRowId;
|
|
13
13
|
rowHeight: number;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { Accessor } from "../../types/
|
|
1
|
+
import type ColumnDef from "../../types/ColumnDef";
|
|
2
|
+
import type { Accessor } from "../../types/ColumnDef";
|
|
3
3
|
import type TableRowType from "../../types/TableRow";
|
|
4
4
|
import type Cell from "../../types/Cell";
|
|
5
5
|
import type { CustomTheme } from "../../types/CustomTheme";
|
|
@@ -12,7 +12,7 @@ export interface SelectionManagerConfig {
|
|
|
12
12
|
* even if this is false.
|
|
13
13
|
*/
|
|
14
14
|
selectableColumns?: boolean;
|
|
15
|
-
headers:
|
|
15
|
+
headers: ColumnDef[];
|
|
16
16
|
tableRows: TableRowType[];
|
|
17
17
|
onCellEdit?: (props: any) => void;
|
|
18
18
|
cellRegistry?: Map<string, any>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
3
|
import SortColumn, { SortDirection } from "../types/SortColumn";
|
|
4
4
|
export interface SortManagerConfig {
|
|
5
|
-
headers:
|
|
5
|
+
headers: ColumnDef[];
|
|
6
6
|
tableRows: Row[];
|
|
7
7
|
externalSortHandling: boolean;
|
|
8
8
|
onSortChange?: (sort: SortColumn | null) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "../types/ColumnDef";
|
|
2
2
|
import Row from "../types/Row";
|
|
3
3
|
import SortColumn, { SortDirection } from "../types/SortColumn";
|
|
4
4
|
import { TableFilterState } from "../types/FilterTypes";
|
|
@@ -13,7 +13,7 @@ import { DimensionManager } from "./DimensionManager";
|
|
|
13
13
|
import { ScrollManager } from "./ScrollManager";
|
|
14
14
|
import { SelectionManager } from "./SelectionManager";
|
|
15
15
|
export interface TableManagerConfig {
|
|
16
|
-
headers:
|
|
16
|
+
headers: ColumnDef[];
|
|
17
17
|
rows: Row[];
|
|
18
18
|
rowHeight: number;
|
|
19
19
|
headerHeight?: number;
|
|
@@ -32,9 +32,9 @@ export interface TableManagerConfig {
|
|
|
32
32
|
initialSortDirection?: SortDirection;
|
|
33
33
|
onSortChange?: (sort: SortColumn | null) => void;
|
|
34
34
|
onFilterChange?: (filters: TableFilterState) => void;
|
|
35
|
-
onColumnOrderChange?: (newHeaders:
|
|
35
|
+
onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
|
|
36
36
|
onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
|
|
37
|
-
onColumnWidthChange?: (headers:
|
|
37
|
+
onColumnWidthChange?: (headers: ColumnDef[]) => void;
|
|
38
38
|
onLoadMore?: () => void;
|
|
39
39
|
onCellEdit?: (props: any) => void;
|
|
40
40
|
announce?: (message: string) => void;
|
|
@@ -60,7 +60,7 @@ export interface ExportValueProps {
|
|
|
60
60
|
}
|
|
61
61
|
export type ExportValueGetter = (props: ExportValueProps) => string | number;
|
|
62
62
|
export declare const DEFAULT_SHOW_WHEN: ShowWhen;
|
|
63
|
-
type
|
|
63
|
+
export type ColumnDef = {
|
|
64
64
|
accessor: Accessor;
|
|
65
65
|
aggregation?: AggregationConfig;
|
|
66
66
|
align?: "left" | "center" | "right";
|
|
@@ -73,7 +73,7 @@ type HeaderObject = {
|
|
|
73
73
|
autoSizeMode?: AutoSizeMode;
|
|
74
74
|
cellRenderer?: CellRenderer;
|
|
75
75
|
chartOptions?: ChartOptions;
|
|
76
|
-
children?:
|
|
76
|
+
children?: ColumnDef[];
|
|
77
77
|
collapsible?: boolean;
|
|
78
78
|
collapseDefault?: boolean;
|
|
79
79
|
comparator?: Comparator;
|
|
@@ -135,6 +135,4 @@ type HeaderObject = {
|
|
|
135
135
|
width: number | string;
|
|
136
136
|
maxWidth?: number | string;
|
|
137
137
|
};
|
|
138
|
-
export default
|
|
139
|
-
/** Preferred name for column definitions. Alias of {@link HeaderObject}. */
|
|
140
|
-
export type ColumnDef = HeaderObject;
|
|
138
|
+
export default ColumnDef;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef from "./ColumnDef";
|
|
2
2
|
import { ColumnEditorRowRenderer } from "./ColumnEditorRowRendererProps";
|
|
3
3
|
import { ColumnEditorCustomRenderer } from "./ColumnEditorCustomRendererProps";
|
|
4
4
|
/**
|
|
@@ -7,7 +7,7 @@ import { ColumnEditorCustomRenderer } from "./ColumnEditorCustomRendererProps";
|
|
|
7
7
|
* @param searchTerm - The current search term
|
|
8
8
|
* @returns true if the header matches the search term, false otherwise
|
|
9
9
|
*/
|
|
10
|
-
export type ColumnEditorSearchFunction = (header:
|
|
10
|
+
export type ColumnEditorSearchFunction = (header: ColumnDef, searchTerm: string) => boolean;
|
|
11
11
|
/**
|
|
12
12
|
* Configuration options for the column editor/visibility drawer
|
|
13
13
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type ColumnDef from "./ColumnDef";
|
|
2
2
|
export interface ColumnEditorCustomRendererProps {
|
|
3
3
|
/** The current headers array */
|
|
4
|
-
headers:
|
|
4
|
+
headers: ColumnDef[];
|
|
5
5
|
/** Pre-built search input section, or null if search is disabled */
|
|
6
6
|
searchSection: HTMLElement | null;
|
|
7
7
|
/** Pre-built column list section with drag-and-drop, checkboxes, etc. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Accessor } from "./
|
|
2
|
-
import type
|
|
1
|
+
import type { Accessor } from "./ColumnDef";
|
|
2
|
+
import type ColumnDef from "./ColumnDef";
|
|
3
3
|
import type { IconElement } from "./IconsConfig";
|
|
4
4
|
import type { PanelSection } from "./PanelSection";
|
|
5
5
|
export interface ColumnEditorRowRendererComponents {
|
|
@@ -10,7 +10,7 @@ export interface ColumnEditorRowRendererComponents {
|
|
|
10
10
|
/** Default pin column (outline / filled); omit when building a fully custom row */
|
|
11
11
|
pinIcon?: IconElement;
|
|
12
12
|
}
|
|
13
|
-
/** Pin / unpin actions for column editor rows (also use for lock/tooltip UX via
|
|
13
|
+
/** Pin / unpin actions for column editor rows (also use for lock/tooltip UX via ColumnDef.essential). */
|
|
14
14
|
export interface ColumnEditorPinControl {
|
|
15
15
|
pinnedSide: "left" | "right" | null;
|
|
16
16
|
canPinLeft: boolean;
|
|
@@ -22,11 +22,11 @@ export interface ColumnEditorPinControl {
|
|
|
22
22
|
}
|
|
23
23
|
interface ColumnEditorRowRendererProps {
|
|
24
24
|
accessor: Accessor;
|
|
25
|
-
header:
|
|
25
|
+
header: ColumnDef;
|
|
26
26
|
components: ColumnEditorRowRendererComponents;
|
|
27
27
|
/** Which panel section this row is rendered in */
|
|
28
28
|
panelSection?: PanelSection;
|
|
29
|
-
/** Resolved from
|
|
29
|
+
/** Resolved from ColumnDef.essential / essentialAccessors */
|
|
30
30
|
essential?: boolean;
|
|
31
31
|
/** False when visibility cannot be toggled (essential columns) */
|
|
32
32
|
canToggleVisibility?: boolean;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef, { Accessor } from "./ColumnDef";
|
|
2
2
|
type useDragHandlerProps = {
|
|
3
3
|
draggedHeaderRef: {
|
|
4
|
-
current:
|
|
4
|
+
current: ColumnDef | null;
|
|
5
5
|
};
|
|
6
6
|
essentialAccessors?: ReadonlySet<Accessor | string>;
|
|
7
|
-
headers:
|
|
7
|
+
headers: ColumnDef[];
|
|
8
8
|
hoveredHeaderRef: {
|
|
9
|
-
current:
|
|
9
|
+
current: ColumnDef | null;
|
|
10
10
|
};
|
|
11
|
-
onColumnOrderChange?: (newHeaders:
|
|
12
|
-
onTableHeaderDragEnd: (newHeaders:
|
|
11
|
+
onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
|
|
12
|
+
onTableHeaderDragEnd: (newHeaders: ColumnDef[]) => void;
|
|
13
13
|
};
|
|
14
14
|
export default useDragHandlerProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import CellValue from "./CellValue";
|
|
2
|
-
import { Accessor } from "./
|
|
2
|
+
import { Accessor } from "./ColumnDef";
|
|
3
3
|
export type StringFilterOperator = "equals" | "notEquals" | "contains" | "notContains" | "startsWith" | "endsWith" | "isEmpty" | "isNotEmpty";
|
|
4
4
|
export type NumberFilterOperator = "equals" | "notEquals" | "greaterThan" | "lessThan" | "greaterThanOrEqual" | "lessThanOrEqual" | "between" | "notBetween" | "isEmpty" | "isNotEmpty";
|
|
5
5
|
export type BooleanFilterOperator = "equals" | "isEmpty" | "isNotEmpty";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef from "./ColumnDef";
|
|
2
2
|
import type { PanelSection } from "./PanelSection";
|
|
3
3
|
export type FlattenedHeader = {
|
|
4
|
-
header:
|
|
4
|
+
header: ColumnDef;
|
|
5
5
|
visualIndex: number;
|
|
6
6
|
depth: number;
|
|
7
|
-
parent:
|
|
7
|
+
parent: ColumnDef | null;
|
|
8
8
|
indexPath: number[];
|
|
9
9
|
panelSection?: PanelSection;
|
|
10
10
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ColumnDef, Accessor } from "..";
|
|
2
2
|
export interface RefObject<T> {
|
|
3
3
|
current: T | null;
|
|
4
4
|
}
|
|
@@ -8,16 +8,16 @@ export type HandleResizeStartProps = {
|
|
|
8
8
|
containerWidth: number;
|
|
9
9
|
event: MouseEvent | TouchEvent;
|
|
10
10
|
forceUpdate: () => void;
|
|
11
|
-
header:
|
|
12
|
-
headers:
|
|
11
|
+
header: ColumnDef;
|
|
12
|
+
headers: ColumnDef[];
|
|
13
13
|
mainBodyRef: RefObject<HTMLDivElement>;
|
|
14
|
-
onColumnWidthChange?: (headers:
|
|
14
|
+
onColumnWidthChange?: (headers: ColumnDef[]) => void;
|
|
15
15
|
/** Persist the dragged column(s)' final widths as their natural widths (autoExpandColumns). */
|
|
16
16
|
onAutoExpandNaturalWidths?: (widths: Map<string, number>) => void;
|
|
17
17
|
pinnedLeftRef: RefObject<HTMLDivElement>;
|
|
18
18
|
pinnedRightRef: RefObject<HTMLDivElement>;
|
|
19
19
|
reverse: boolean;
|
|
20
|
-
setHeaders: (headers:
|
|
20
|
+
setHeaders: (headers: ColumnDef[] | ((prev: ColumnDef[]) => ColumnDef[])) => void;
|
|
21
21
|
setIsResizing: (isResizing: boolean | ((prev: boolean) => boolean)) => void;
|
|
22
22
|
/** Natural-width shrink floors (accessor -> px) for compensating neighbors (autoExpandColumns). */
|
|
23
23
|
shrinkFloors?: Map<string, number>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Accessor } from "./
|
|
2
|
-
import type
|
|
1
|
+
import type { Accessor } from "./ColumnDef";
|
|
2
|
+
import type ColumnDef from "./ColumnDef";
|
|
3
3
|
import type { IconElement } from "./IconsConfig";
|
|
4
4
|
export interface HeaderRendererComponents {
|
|
5
5
|
sortIcon?: IconElement;
|
|
@@ -10,7 +10,7 @@ export interface HeaderRendererComponents {
|
|
|
10
10
|
interface HeaderRendererProps {
|
|
11
11
|
accessor: Accessor;
|
|
12
12
|
colIndex: number;
|
|
13
|
-
header:
|
|
13
|
+
header: ColumnDef;
|
|
14
14
|
components?: HeaderRendererComponents;
|
|
15
15
|
}
|
|
16
16
|
export type HeaderRenderer = (props: HeaderRendererProps) => HTMLElement | string | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Accessor } from "./
|
|
1
|
+
import { Accessor } from "./ColumnDef";
|
|
2
2
|
import { AggregationConfig } from "./AggregationTypes";
|
|
3
|
-
import
|
|
3
|
+
import ColumnDef from "./ColumnDef";
|
|
4
4
|
import Row from "./Row";
|
|
5
5
|
export type PivotValueConfig = {
|
|
6
6
|
accessor: Accessor;
|
|
@@ -31,7 +31,7 @@ export declare const PIVOT_ACCESSOR_PREFIX = "__pivot:";
|
|
|
31
31
|
export declare const PIVOT_BLANK_LABEL = "(blank)";
|
|
32
32
|
export type PivotResult = {
|
|
33
33
|
rows: Row[];
|
|
34
|
-
headers:
|
|
34
|
+
headers: ColumnDef[];
|
|
35
35
|
/** Internal rowGrouping to use while pivot is active (undefined when flat). */
|
|
36
36
|
rowGrouping?: Accessor[];
|
|
37
37
|
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ColumnDef from "./ColumnDef";
|
|
2
2
|
export interface RefObject<T> {
|
|
3
3
|
current: T | null;
|
|
4
4
|
}
|
|
5
5
|
interface SharedTableProps {
|
|
6
6
|
centerHeaderRef: RefObject<HTMLDivElement | null>;
|
|
7
7
|
draggedHeaderRef: {
|
|
8
|
-
current:
|
|
8
|
+
current: ColumnDef | null;
|
|
9
9
|
};
|
|
10
10
|
headerContainerRef: RefObject<HTMLDivElement | null>;
|
|
11
|
-
headers:
|
|
11
|
+
headers: ColumnDef[];
|
|
12
12
|
hoveredHeaderRef: {
|
|
13
|
-
current:
|
|
13
|
+
current: ColumnDef | null;
|
|
14
14
|
};
|
|
15
15
|
mainBodyRef: RefObject<HTMLDivElement | null>;
|
|
16
|
-
onTableHeaderDragEnd: (newHeaders:
|
|
17
|
-
pinnedLeftColumns:
|
|
16
|
+
onTableHeaderDragEnd: (newHeaders: ColumnDef[]) => void;
|
|
17
|
+
pinnedLeftColumns: ColumnDef[];
|
|
18
18
|
pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
|
|
19
|
-
pinnedRightColumns:
|
|
19
|
+
pinnedRightColumns: ColumnDef[];
|
|
20
20
|
pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
|
|
21
21
|
rowHeight: number;
|
|
22
22
|
tableBodyContainerRef: RefObject<HTMLDivElement | null>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type ColumnDef from "./ColumnDef";
|
|
2
|
+
import { Accessor } from "./ColumnDef";
|
|
2
3
|
import Row from "./Row";
|
|
3
4
|
import { VanillaEmptyStateRenderer, VanillaErrorStateRenderer, VanillaLoadingStateRenderer } from "./RowStateRendererProps";
|
|
4
5
|
import FooterRendererProps from "./FooterRendererProps";
|
|
@@ -23,9 +24,8 @@ import { AnimationsConfig } from "./AnimationsConfig";
|
|
|
23
24
|
import type { FooterPosition } from "./FooterPosition";
|
|
24
25
|
import type { PivotConfig } from "./PivotTypes";
|
|
25
26
|
/**
|
|
26
|
-
* Canonical runtime config after {@link normalizeConfig}.
|
|
27
|
-
*
|
|
28
|
-
* {@link SimpleTableConfigInput} / {@link SimpleTableProps} and collapsed here.
|
|
27
|
+
* Canonical runtime config after {@link normalizeConfig}.
|
|
28
|
+
* Preferred public prop names only (no legacy aliases).
|
|
29
29
|
*/
|
|
30
30
|
export interface SimpleTableConfig {
|
|
31
31
|
animations?: AnimationsConfig;
|
|
@@ -44,13 +44,18 @@ export interface SimpleTableConfig {
|
|
|
44
44
|
columnEditorConfig?: ColumnEditorConfig;
|
|
45
45
|
columnReordering?: boolean;
|
|
46
46
|
columnResizing?: boolean;
|
|
47
|
+
/** Column definitions. */
|
|
48
|
+
columns: ColumnDef[];
|
|
47
49
|
copyHeadersToClipboard?: boolean;
|
|
48
50
|
customTheme?: CustomThemeProps;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
/** Show the column editor / visibility UI. */
|
|
52
|
+
enableColumnEditor?: boolean;
|
|
53
|
+
/** Open the column editor when the table loads. */
|
|
54
|
+
enableColumnEditorInitOpen?: boolean;
|
|
52
55
|
emptyStateRenderer?: VanillaEmptyStateRenderer;
|
|
53
56
|
enableHeaderEditing?: boolean;
|
|
57
|
+
/** Enable client-side pagination. */
|
|
58
|
+
enablePagination?: boolean;
|
|
54
59
|
enableRowSelection?: boolean;
|
|
55
60
|
/** @see SimpleTableProps.rowSelectionMode */
|
|
56
61
|
rowSelectionMode?: RowSelectionMode;
|
|
@@ -78,6 +83,8 @@ export interface SimpleTableConfig {
|
|
|
78
83
|
height?: string | number;
|
|
79
84
|
hideFooter?: boolean;
|
|
80
85
|
hideHeader?: boolean;
|
|
86
|
+
/** Highlight the hovered row. */
|
|
87
|
+
hoverRowBackground?: boolean;
|
|
81
88
|
icons?: VanillaIconsConfig;
|
|
82
89
|
includeHeadersInCSVExport?: boolean;
|
|
83
90
|
initialSortColumn?: string;
|
|
@@ -85,15 +92,20 @@ export interface SimpleTableConfig {
|
|
|
85
92
|
isLoading?: boolean;
|
|
86
93
|
loadingStateRenderer?: VanillaLoadingStateRenderer;
|
|
87
94
|
maxHeight?: string | number;
|
|
95
|
+
/** Alternate column background. */
|
|
96
|
+
oddColumnBackground?: boolean;
|
|
97
|
+
/** Alternate odd/even row backgrounds. */
|
|
98
|
+
oddEvenRowBackground?: boolean;
|
|
88
99
|
onCellClick?: (props: CellClickProps) => void;
|
|
89
100
|
onCellEdit?: (props: CellChangeProps) => void;
|
|
90
|
-
onColumnOrderChange?: (newHeaders:
|
|
91
|
-
onColumnSelect?: (header:
|
|
101
|
+
onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
|
|
102
|
+
onColumnSelect?: (header: ColumnDef) => void;
|
|
92
103
|
onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
|
|
93
|
-
onColumnWidthChange?: (headers:
|
|
104
|
+
onColumnWidthChange?: (headers: ColumnDef[]) => void;
|
|
94
105
|
onFilterChange?: (filters: TableFilterState) => void;
|
|
95
|
-
|
|
96
|
-
|
|
106
|
+
/** Called once when the table is ready. */
|
|
107
|
+
onTableReady?: () => void;
|
|
108
|
+
onHeaderEdit?: (header: ColumnDef, newLabel: string) => void;
|
|
97
109
|
infiniteScrollThreshold?: number;
|
|
98
110
|
onLoadMore?: () => void;
|
|
99
111
|
onNextPage?: OnNextPage;
|
|
@@ -125,11 +137,7 @@ export interface SimpleTableConfig {
|
|
|
125
137
|
selectableCells?: boolean;
|
|
126
138
|
selectableColumns?: boolean;
|
|
127
139
|
serverSidePagination?: boolean;
|
|
128
|
-
shouldPaginate?: boolean;
|
|
129
140
|
tableEmptyStateRenderer?: HTMLElement | string | null;
|
|
130
141
|
theme?: Theme;
|
|
131
142
|
totalRowCount?: number;
|
|
132
|
-
useHoverRowBackground?: boolean;
|
|
133
|
-
useOddColumnBackground?: boolean;
|
|
134
|
-
useOddEvenRowBackground?: boolean;
|
|
135
143
|
}
|