simple-table-core 4.0.3 → 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.
Files changed (105) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/consts/general-consts.d.ts +2 -2
  3. package/dist/core/SimpleTableVanilla.d.ts +3 -3
  4. package/dist/core/api/TableAPIImpl.d.ts +6 -6
  5. package/dist/core/initialization/TableInitializer.d.ts +4 -4
  6. package/dist/core/rendering/RenderOrchestrator.d.ts +9 -9
  7. package/dist/core/rendering/SectionRenderer.d.ts +3 -3
  8. package/dist/core/rendering/TableRenderer.d.ts +8 -8
  9. package/dist/hooks/contentHeight.d.ts +2 -2
  10. package/dist/hooks/expandedDepths.d.ts +1 -1
  11. package/dist/hooks/handleOutsideClick.d.ts +3 -3
  12. package/dist/hooks/useAggregatedRows.d.ts +2 -2
  13. package/dist/hooks/useQuickFilter.d.ts +2 -2
  14. package/dist/index.d.ts +2 -3
  15. package/dist/index.es.js +1 -1
  16. package/dist/managers/AutoScaleManager.d.ts +5 -5
  17. package/dist/managers/ColumnManager.d.ts +12 -12
  18. package/dist/managers/DimensionManager.d.ts +2 -2
  19. package/dist/managers/DragHandlerManager.d.ts +20 -20
  20. package/dist/managers/FilterManager.d.ts +2 -2
  21. package/dist/managers/PivotManager.d.ts +4 -4
  22. package/dist/managers/RowManager.d.ts +2 -2
  23. package/dist/managers/SelectionManager/types.d.ts +3 -3
  24. package/dist/managers/SortManager.d.ts +2 -2
  25. package/dist/managers/TableManager.d.ts +4 -4
  26. package/dist/types/CellChangeProps.d.ts +1 -1
  27. package/dist/types/CellClickProps.d.ts +1 -1
  28. package/dist/types/CellRendererProps.d.ts +1 -1
  29. package/dist/types/{HeaderObject.d.ts → ColumnDef.d.ts} +7 -21
  30. package/dist/types/ColumnEditorConfig.d.ts +2 -2
  31. package/dist/types/ColumnEditorCustomRendererProps.d.ts +2 -2
  32. package/dist/types/ColumnEditorRowRendererProps.d.ts +6 -6
  33. package/dist/types/ColumnVisibilityTypes.d.ts +1 -1
  34. package/dist/types/DragHandlerProps.d.ts +6 -6
  35. package/dist/types/FilterTypes.d.ts +1 -1
  36. package/dist/types/FlattenedHeader.d.ts +3 -3
  37. package/dist/types/HandleResizeStartProps.d.ts +5 -5
  38. package/dist/types/HeaderRendererProps.d.ts +3 -3
  39. package/dist/types/OnRowGroupExpandProps.d.ts +1 -1
  40. package/dist/types/OnSortProps.d.ts +1 -1
  41. package/dist/types/PinnedSectionsState.d.ts +1 -1
  42. package/dist/types/PivotTypes.d.ts +3 -3
  43. package/dist/types/QuickFilterTypes.d.ts +1 -1
  44. package/dist/types/SharedTableProps.d.ts +7 -7
  45. package/dist/types/SimpleTableConfig.d.ts +24 -16
  46. package/dist/types/SimpleTableProps.d.ts +19 -58
  47. package/dist/types/SortColumn.d.ts +2 -2
  48. package/dist/types/TableAPI.d.ts +4 -4
  49. package/dist/types/TableBodyProps.d.ts +3 -3
  50. package/dist/types/TableHeaderProps.d.ts +4 -4
  51. package/dist/types/TableHeaderSectionProps.d.ts +2 -2
  52. package/dist/types/TableRow.d.ts +2 -2
  53. package/dist/types/TableRowProps.d.ts +6 -6
  54. package/dist/types/UpdateCellProps.d.ts +1 -1
  55. package/dist/utils/bodyCell/content.d.ts +2 -2
  56. package/dist/utils/bodyCell/types.d.ts +6 -6
  57. package/dist/utils/cellClipboardUtils.d.ts +4 -4
  58. package/dist/utils/cellUtils.d.ts +3 -3
  59. package/dist/utils/collapseUtils.d.ts +7 -7
  60. package/dist/utils/columnEditor/columnEditorUtils.d.ts +5 -5
  61. package/dist/utils/columnEditor/createColumnEditor.d.ts +5 -5
  62. package/dist/utils/columnEditor/createColumnEditorPopout.d.ts +4 -4
  63. package/dist/utils/columnEditor/createColumnEditorRow.d.ts +6 -6
  64. package/dist/utils/columnIndicesUtils.d.ts +4 -4
  65. package/dist/utils/columnVirtualizationUtils.d.ts +10 -10
  66. package/dist/utils/csvExportUtils.d.ts +3 -3
  67. package/dist/utils/filters/createBooleanFilter.d.ts +2 -2
  68. package/dist/utils/filters/createDateFilter.d.ts +2 -2
  69. package/dist/utils/filters/createEnumFilter.d.ts +2 -2
  70. package/dist/utils/filters/createFilterDropdown.d.ts +2 -2
  71. package/dist/utils/filters/createNumberFilter.d.ts +2 -2
  72. package/dist/utils/filters/createStringFilter.d.ts +2 -2
  73. package/dist/utils/footer/createTableFooter.d.ts +1 -1
  74. package/dist/utils/generalUtils.d.ts +2 -2
  75. package/dist/utils/headerCell/collapsing.d.ts +2 -2
  76. package/dist/utils/headerCell/dragging.d.ts +4 -4
  77. package/dist/utils/headerCell/editing.d.ts +3 -3
  78. package/dist/utils/headerCell/eventTracking.d.ts +3 -3
  79. package/dist/utils/headerCell/filtering.d.ts +2 -2
  80. package/dist/utils/headerCell/resizing.d.ts +2 -2
  81. package/dist/utils/headerCell/sorting.d.ts +2 -2
  82. package/dist/utils/headerCell/types.d.ts +13 -13
  83. package/dist/utils/headerLayoutUtils.d.ts +2 -2
  84. package/dist/utils/headerUtils.d.ts +5 -5
  85. package/dist/utils/headerWidthUtils.d.ts +10 -10
  86. package/dist/utils/horizontalScrollbarRenderer.d.ts +1 -1
  87. package/dist/utils/infiniteScrollUtils.d.ts +1 -1
  88. package/dist/utils/normalizeConfig.d.ts +8 -53
  89. package/dist/utils/pinnedColumnUtils.d.ts +13 -13
  90. package/dist/utils/pivot/pivotRows.d.ts +4 -4
  91. package/dist/utils/propSyncEqual.d.ts +4 -4
  92. package/dist/utils/resizeUtils/autoExpandResize.d.ts +5 -5
  93. package/dist/utils/resizeUtils/compensation.d.ts +2 -2
  94. package/dist/utils/resizeUtils/domUpdates.d.ts +3 -3
  95. package/dist/utils/resizeUtils/index.d.ts +5 -5
  96. package/dist/utils/resizeUtils/maxWidth.d.ts +3 -3
  97. package/dist/utils/resizeUtils/parentHeaderResize.d.ts +2 -2
  98. package/dist/utils/resizeUtils/sectionWidths.d.ts +2 -2
  99. package/dist/utils/rowFlattening.d.ts +2 -2
  100. package/dist/utils/rowProcessing.d.ts +2 -2
  101. package/dist/utils/rowSelectionUtils.d.ts +2 -2
  102. package/dist/utils/rowUtils.d.ts +2 -2
  103. package/dist/utils/sortUtils.d.ts +2 -2
  104. package/dist/utils/stickyParentsRenderer.d.ts +5 -5
  105. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import HeaderObject, { Accessor } from "../types/HeaderObject";
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: HeaderObject[]) => void;
20
- export declare const applyAutoScaleToHeaders: (headers: HeaderObject[], options: AutoScaleConfig) => HeaderObject[];
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: HeaderObject[]): HeaderObject[];
30
- setHeaders(headersOrUpdater: HeaderObject[] | ((prev: HeaderObject[]) => HeaderObject[]), currentHeaders: HeaderObject[]): HeaderObject[];
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 HeaderObject, { Accessor } from "../types/HeaderObject";
1
+ import ColumnDef, { Accessor } from "../types/ColumnDef";
2
2
  import { ColumnVisibilityState } from "../types/ColumnVisibilityTypes";
3
3
  export interface ColumnManagerConfig {
4
- headers: HeaderObject[];
4
+ headers: ColumnDef[];
5
5
  collapsedHeaders: Set<Accessor>;
6
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
6
+ onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
7
7
  onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
8
- onColumnWidthChange?: (headers: HeaderObject[]) => void;
8
+ onColumnWidthChange?: (headers: ColumnDef[]) => void;
9
9
  }
10
10
  export interface ColumnManagerState {
11
- headers: HeaderObject[];
11
+ headers: ColumnDef[];
12
12
  collapsedHeaders: Set<Accessor>;
13
13
  columnVisibility: ColumnVisibilityState;
14
- draggedHeader: HeaderObject | null;
15
- hoveredHeader: HeaderObject | null;
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: HeaderObject[]): void;
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: HeaderObject[]): void;
33
- setDraggedHeader(header: HeaderObject | null): void;
34
- setHoveredHeader(header: HeaderObject | null): void;
32
+ reorderColumns(newHeaders: ColumnDef[]): void;
33
+ setDraggedHeader(header: ColumnDef | null): void;
34
+ setHoveredHeader(header: ColumnDef | null): void;
35
35
  getState(): ColumnManagerState;
36
- getHeaders(): HeaderObject[];
36
+ getHeaders(): ColumnDef[];
37
37
  getCollapsedHeaders(): Set<Accessor>;
38
38
  getColumnVisibility(): ColumnVisibilityState;
39
39
  isColumnVisible(accessor: Accessor): boolean;
@@ -1,6 +1,6 @@
1
- import HeaderObject from "../types/HeaderObject";
1
+ import ColumnDef from "../types/ColumnDef";
2
2
  export interface DimensionManagerConfig {
3
- effectiveHeaders: HeaderObject[];
3
+ effectiveHeaders: ColumnDef[];
4
4
  headerHeight?: number;
5
5
  rowHeight: number;
6
6
  height?: string | number;
@@ -1,27 +1,27 @@
1
- import HeaderObject, { Accessor } from "../types/HeaderObject";
2
- export declare const getHeaderIndexPath: (headers: HeaderObject[], targetAccessor: Accessor, currentPath?: number[]) => number[] | null;
3
- export declare const getSiblingArray: (headers: HeaderObject[], indexPath: number[]) => HeaderObject[];
4
- export declare const setSiblingArray: (headers: HeaderObject[], indexPath: number[], newSiblings: HeaderObject[]) => HeaderObject[];
5
- export declare const getHeaderSection: (header: HeaderObject, rootHeaders: HeaderObject[]) => "left" | "main" | "right";
6
- export declare const updateHeaderPinnedProperty: (header: HeaderObject, targetSection: "left" | "main" | "right") => HeaderObject;
7
- export declare function swapHeaders(headers: HeaderObject[], draggedPath: number[], hoveredPath: number[]): {
8
- newHeaders: HeaderObject[];
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: HeaderObject[];
13
- draggedHeader: HeaderObject;
14
- hoveredHeader: HeaderObject;
12
+ headers: ColumnDef[];
13
+ draggedHeader: ColumnDef;
14
+ hoveredHeader: ColumnDef;
15
15
  }): {
16
- newHeaders: HeaderObject[];
16
+ newHeaders: ColumnDef[];
17
17
  emergencyBreak: boolean;
18
18
  };
19
19
  export interface DragHandlerManagerConfig {
20
- headers: HeaderObject[];
20
+ headers: ColumnDef[];
21
21
  essentialAccessors?: ReadonlySet<string>;
22
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
23
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
24
- onHeadersChange?: (newHeaders: HeaderObject[]) => void;
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(): HeaderObject | null;
36
- getHoveredHeader(): HeaderObject | null;
37
- handleDragStart(header: HeaderObject): void;
35
+ getDraggedHeader(): ColumnDef | null;
36
+ getHoveredHeader(): ColumnDef | null;
37
+ handleDragStart(header: ColumnDef): void;
38
38
  handleDragOver({ event, hoveredHeader, }: {
39
39
  event: DragEvent;
40
- hoveredHeader: HeaderObject;
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 HeaderObject, { Accessor } from "../types/HeaderObject";
3
+ import ColumnDef, { Accessor } from "../types/ColumnDef";
4
4
  export interface FilterManagerConfig {
5
5
  rows: Row[];
6
- headers: HeaderObject[];
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 HeaderObject from "../types/HeaderObject";
2
- import type { Accessor } from "../types/HeaderObject";
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: HeaderObject[];
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: HeaderObject[];
13
+ headers: ColumnDef[];
14
14
  rowGrouping?: Accessor[];
15
15
  pivot: PivotConfig | null;
16
16
  }
@@ -1,4 +1,4 @@
1
- import HeaderObject, { Accessor } from "../types/HeaderObject";
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: HeaderObject[];
10
+ headers: ColumnDef[];
11
11
  rowGrouping?: Accessor[];
12
12
  getRowId?: GetRowId;
13
13
  rowHeight: number;
@@ -1,5 +1,5 @@
1
- import type HeaderObject from "../../types/HeaderObject";
2
- import type { Accessor } from "../../types/HeaderObject";
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: HeaderObject[];
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 HeaderObject, { Accessor } from "../types/HeaderObject";
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: HeaderObject[];
5
+ headers: ColumnDef[];
6
6
  tableRows: Row[];
7
7
  externalSortHandling: boolean;
8
8
  onSortChange?: (sort: SortColumn | null) => void;
@@ -1,4 +1,4 @@
1
- import HeaderObject, { Accessor } from "../types/HeaderObject";
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: HeaderObject[];
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: HeaderObject[]) => void;
35
+ onColumnOrderChange?: (newHeaders: ColumnDef[]) => void;
36
36
  onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
37
- onColumnWidthChange?: (headers: HeaderObject[]) => void;
37
+ onColumnWidthChange?: (headers: ColumnDef[]) => void;
38
38
  onLoadMore?: () => void;
39
39
  onCellEdit?: (props: any) => void;
40
40
  announce?: (message: string) => void;
@@ -1,5 +1,5 @@
1
1
  import CellValue from "./CellValue";
2
- import { Accessor } from "./HeaderObject";
2
+ import { Accessor } from "./ColumnDef";
3
3
  import Row from "./Row";
4
4
  type CellChangeProps = {
5
5
  accessor: Accessor;
@@ -1,5 +1,5 @@
1
1
  import CellValue from "./CellValue";
2
- import { Accessor } from "./HeaderObject";
2
+ import { Accessor } from "./ColumnDef";
3
3
  import Row from "./Row";
4
4
  type CellClickProps = {
5
5
  accessor: Accessor;
@@ -1,4 +1,4 @@
1
- import type { Accessor } from "./HeaderObject";
1
+ import type { Accessor } from "./ColumnDef";
2
2
  import type Row from "./Row";
3
3
  import type Theme from "./Theme";
4
4
  import type CellValue from "./CellValue";
@@ -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 HeaderObject = {
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?: HeaderObject[];
76
+ children?: ColumnDef[];
77
77
  collapsible?: boolean;
78
78
  collapseDefault?: boolean;
79
79
  comparator?: Comparator;
@@ -97,29 +97,17 @@ type HeaderObject = {
97
97
  filterOperators?: FilterOperator[];
98
98
  headerRenderer?: HeaderRenderer;
99
99
  hide?: boolean;
100
- /**
101
- * Whether cells in this column are editable.
102
- * @deprecated Prefer {@link editable}
103
- */
104
- isEditable?: boolean;
105
- /** Whether cells in this column are editable. Preferred over `isEditable`. */
100
+ /** Whether cells in this column are editable. */
106
101
  editable?: boolean;
107
102
  excludeFromRender?: boolean;
108
103
  excludeFromCsv?: boolean;
109
104
  isSelectionColumn?: boolean;
110
105
  /**
111
- * When true, column stays visible, cannot be unpinned from a pinned side, cannot reorder above non-essentials in its section.
112
- * @deprecated Prefer {@link essential}
106
+ * When true, column stays visible, cannot be unpinned from a pinned side, and
107
+ * cannot reorder above non-essentials in its section.
113
108
  */
114
- isEssential?: boolean;
115
- /** When true, column stays visible and cannot be unpinned / reordered above non-essentials. Preferred over `isEssential`. */
116
109
  essential?: boolean;
117
- /**
118
- * Whether this column is sortable.
119
- * @deprecated Prefer {@link sortable}
120
- */
121
- isSortable?: boolean;
122
- /** Whether this column is sortable. Preferred over `isSortable`. */
110
+ /** Whether this column is sortable. */
123
111
  sortable?: boolean;
124
112
  label: string;
125
113
  minWidth?: number | string;
@@ -147,6 +135,4 @@ type HeaderObject = {
147
135
  width: number | string;
148
136
  maxWidth?: number | string;
149
137
  };
150
- export default HeaderObject;
151
- /** Preferred name for column definitions. Alias of {@link HeaderObject}. */
152
- export type ColumnDef = HeaderObject;
138
+ export default ColumnDef;
@@ -1,4 +1,4 @@
1
- import HeaderObject from "./HeaderObject";
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: HeaderObject, searchTerm: string) => boolean;
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 HeaderObject from "./HeaderObject";
1
+ import type ColumnDef from "./ColumnDef";
2
2
  export interface ColumnEditorCustomRendererProps {
3
3
  /** The current headers array */
4
- headers: HeaderObject[];
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 "./HeaderObject";
2
- import type HeaderObject from "./HeaderObject";
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 HeaderObject.isEssential). */
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,12 +22,12 @@ export interface ColumnEditorPinControl {
22
22
  }
23
23
  interface ColumnEditorRowRendererProps {
24
24
  accessor: Accessor;
25
- header: HeaderObject;
25
+ header: ColumnDef;
26
26
  components: ColumnEditorRowRendererComponents;
27
27
  /** Which panel section this row is rendered in */
28
28
  panelSection?: PanelSection;
29
- /** Resolved from HeaderObject.isEssential / essentialAccessors */
30
- isEssential?: boolean;
29
+ /** Resolved from ColumnDef.essential / essentialAccessors */
30
+ essential?: boolean;
31
31
  /** False when visibility cannot be toggled (essential columns) */
32
32
  canToggleVisibility?: boolean;
33
33
  /** Mirrors `columnEditorConfig.allowColumnPinning` (default true) */
@@ -1,4 +1,4 @@
1
- import { Accessor } from "./HeaderObject";
1
+ import { Accessor } from "./ColumnDef";
2
2
  export interface ColumnVisibilityState {
3
3
  [accessor: Accessor]: boolean;
4
4
  }
@@ -1,14 +1,14 @@
1
- import HeaderObject, { Accessor } from "./HeaderObject";
1
+ import ColumnDef, { Accessor } from "./ColumnDef";
2
2
  type useDragHandlerProps = {
3
3
  draggedHeaderRef: {
4
- current: HeaderObject | null;
4
+ current: ColumnDef | null;
5
5
  };
6
6
  essentialAccessors?: ReadonlySet<Accessor | string>;
7
- headers: HeaderObject[];
7
+ headers: ColumnDef[];
8
8
  hoveredHeaderRef: {
9
- current: HeaderObject | null;
9
+ current: ColumnDef | null;
10
10
  };
11
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
12
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
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 "./HeaderObject";
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 HeaderObject from "./HeaderObject";
1
+ import ColumnDef from "./ColumnDef";
2
2
  import type { PanelSection } from "./PanelSection";
3
3
  export type FlattenedHeader = {
4
- header: HeaderObject;
4
+ header: ColumnDef;
5
5
  visualIndex: number;
6
6
  depth: number;
7
- parent: HeaderObject | null;
7
+ parent: ColumnDef | null;
8
8
  indexPath: number[];
9
9
  panelSection?: PanelSection;
10
10
  };
@@ -1,4 +1,4 @@
1
- import { HeaderObject, Accessor } from "..";
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: HeaderObject;
12
- headers: HeaderObject[];
11
+ header: ColumnDef;
12
+ headers: ColumnDef[];
13
13
  mainBodyRef: RefObject<HTMLDivElement>;
14
- onColumnWidthChange?: (headers: HeaderObject[]) => void;
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: HeaderObject[] | ((prev: HeaderObject[]) => HeaderObject[])) => void;
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 "./HeaderObject";
2
- import type HeaderObject from "./HeaderObject";
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: HeaderObject;
13
+ header: ColumnDef;
14
14
  components?: HeaderRendererComponents;
15
15
  }
16
16
  export type HeaderRenderer = (props: HeaderRendererProps) => HTMLElement | string | null;
@@ -1,5 +1,5 @@
1
1
  import Row from "./Row";
2
- import { Accessor } from "./HeaderObject";
2
+ import { Accessor } from "./ColumnDef";
3
3
  interface OnRowGroupExpandProps {
4
4
  row: Row;
5
5
  depth: number;
@@ -1,3 +1,3 @@
1
- import { Accessor } from "./HeaderObject";
1
+ import { Accessor } from "./ColumnDef";
2
2
  type OnSortProps = (accessor: Accessor) => void;
3
3
  export default OnSortProps;
@@ -1,4 +1,4 @@
1
- import { Accessor } from "./HeaderObject";
1
+ import { Accessor } from "./ColumnDef";
2
2
  export type PinnedSectionsState = {
3
3
  left: Accessor[];
4
4
  main: Accessor[];
@@ -1,6 +1,6 @@
1
- import { Accessor } from "./HeaderObject";
1
+ import { Accessor } from "./ColumnDef";
2
2
  import { AggregationConfig } from "./AggregationTypes";
3
- import HeaderObject from "./HeaderObject";
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: HeaderObject[];
34
+ headers: ColumnDef[];
35
35
  /** Internal rowGrouping to use while pivot is active (undefined when flat). */
36
36
  rowGrouping?: Accessor[];
37
37
  };
@@ -1,4 +1,4 @@
1
- import { Accessor } from "./HeaderObject";
1
+ import { Accessor } from "./ColumnDef";
2
2
  import Row from "./Row";
3
3
  export type QuickFilterMode = "simple" | "smart";
4
4
  export interface QuickFilterConfig {
@@ -1,22 +1,22 @@
1
- import HeaderObject from "./HeaderObject";
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: HeaderObject | null;
8
+ current: ColumnDef | null;
9
9
  };
10
10
  headerContainerRef: RefObject<HTMLDivElement | null>;
11
- headers: HeaderObject[];
11
+ headers: ColumnDef[];
12
12
  hoveredHeaderRef: {
13
- current: HeaderObject | null;
13
+ current: ColumnDef | null;
14
14
  };
15
15
  mainBodyRef: RefObject<HTMLDivElement | null>;
16
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
17
- pinnedLeftColumns: HeaderObject[];
16
+ onTableHeaderDragEnd: (newHeaders: ColumnDef[]) => void;
17
+ pinnedLeftColumns: ColumnDef[];
18
18
  pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
19
- pinnedRightColumns: HeaderObject[];
19
+ pinnedRightColumns: ColumnDef[];
20
20
  pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
21
21
  rowHeight: number;
22
22
  tableBodyContainerRef: RefObject<HTMLDivElement | null>;