@simple-table/angular 4.0.1 → 4.0.2

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 (194) hide show
  1. package/dist/cjs/index.js +1 -1
  2. package/dist/index.es.js +1 -1
  3. package/dist/types/buildVanillaConfig.d.ts +7 -0
  4. package/dist/types/index.d.ts +8 -0
  5. package/dist/types/{angular/src/lib → lib}/SimpleTableComponent.d.ts +13 -1
  6. package/dist/types/{angular/src/types.d.ts → types.d.ts} +17 -7
  7. package/package.json +12 -7
  8. package/styles.css.d.ts +1 -0
  9. package/dist/types/angular/src/buildVanillaConfig.d.ts +0 -5
  10. package/dist/types/angular/src/index.d.ts +0 -8
  11. package/dist/types/core/src/consts/column-constraints.d.ts +0 -58
  12. package/dist/types/core/src/consts/general-consts.d.ts +0 -32
  13. package/dist/types/core/src/core/SimpleTableVanilla.d.ts +0 -369
  14. package/dist/types/core/src/core/api/TableAPIImpl.d.ts +0 -78
  15. package/dist/types/core/src/core/dom/DOMManager.d.ts +0 -52
  16. package/dist/types/core/src/core/initialization/TableInitializer.d.ts +0 -34
  17. package/dist/types/core/src/core/rendering/RenderOrchestrator.d.ts +0 -172
  18. package/dist/types/core/src/core/rendering/SectionRenderer.d.ts +0 -119
  19. package/dist/types/core/src/core/rendering/TableRenderer.d.ts +0 -120
  20. package/dist/types/core/src/hooks/ariaAnnouncements.d.ts +0 -37
  21. package/dist/types/core/src/hooks/contentHeight.d.ts +0 -29
  22. package/dist/types/core/src/hooks/expandedDepths.d.ts +0 -69
  23. package/dist/types/core/src/hooks/handleOutsideClick.d.ts +0 -50
  24. package/dist/types/core/src/hooks/previousValue.d.ts +0 -30
  25. package/dist/types/core/src/hooks/scrollbarVisibility.d.ts +0 -65
  26. package/dist/types/core/src/hooks/scrollbarWidth.d.ts +0 -52
  27. package/dist/types/core/src/hooks/useAggregatedRows.d.ts +0 -14
  28. package/dist/types/core/src/hooks/useQuickFilter.d.ts +0 -14
  29. package/dist/types/core/src/hooks/windowResize.d.ts +0 -31
  30. package/dist/types/core/src/icons/AngleDownIcon.d.ts +0 -1
  31. package/dist/types/core/src/icons/AngleLeftIcon.d.ts +0 -1
  32. package/dist/types/core/src/icons/AngleRightIcon.d.ts +0 -1
  33. package/dist/types/core/src/icons/AngleUpIcon.d.ts +0 -1
  34. package/dist/types/core/src/icons/AscIcon.d.ts +0 -1
  35. package/dist/types/core/src/icons/CheckIcon.d.ts +0 -1
  36. package/dist/types/core/src/icons/DescIcon.d.ts +0 -1
  37. package/dist/types/core/src/icons/DragIcon.d.ts +0 -1
  38. package/dist/types/core/src/icons/FilterIcon.d.ts +0 -1
  39. package/dist/types/core/src/icons/SelectIcon.d.ts +0 -1
  40. package/dist/types/core/src/icons/index.d.ts +0 -14
  41. package/dist/types/core/src/index.d.ts +0 -58
  42. package/dist/types/core/src/managers/AnimationCoordinator.d.ts +0 -356
  43. package/dist/types/core/src/managers/AutoScaleManager.d.ts +0 -33
  44. package/dist/types/core/src/managers/DimensionManager.d.ts +0 -84
  45. package/dist/types/core/src/managers/DragHandlerManager.d.ts +0 -44
  46. package/dist/types/core/src/managers/FilterManager.d.ts +0 -36
  47. package/dist/types/core/src/managers/PivotManager.d.ts +0 -35
  48. package/dist/types/core/src/managers/RowManager.d.ts +0 -56
  49. package/dist/types/core/src/managers/RowSelectionManager.d.ts +0 -72
  50. package/dist/types/core/src/managers/ScrollManager.d.ts +0 -38
  51. package/dist/types/core/src/managers/SectionScrollController.d.ts +0 -74
  52. package/dist/types/core/src/managers/SelectionManager/SelectionManager.d.ts +0 -251
  53. package/dist/types/core/src/managers/SelectionManager/index.d.ts +0 -2
  54. package/dist/types/core/src/managers/SelectionManager/keyboardUtils.d.ts +0 -7
  55. package/dist/types/core/src/managers/SelectionManager/mouseUtils.d.ts +0 -16
  56. package/dist/types/core/src/managers/SelectionManager/selectionRangeUtils.d.ts +0 -7
  57. package/dist/types/core/src/managers/SelectionManager/types.d.ts +0 -28
  58. package/dist/types/core/src/managers/SortManager.d.ts +0 -42
  59. package/dist/types/core/src/types/AggregationTypes.d.ts +0 -8
  60. package/dist/types/core/src/types/AnimationsConfig.d.ts +0 -16
  61. package/dist/types/core/src/types/BoundingBox.d.ts +0 -11
  62. package/dist/types/core/src/types/Cell.d.ts +0 -7
  63. package/dist/types/core/src/types/CellChangeProps.d.ts +0 -9
  64. package/dist/types/core/src/types/CellClickProps.d.ts +0 -11
  65. package/dist/types/core/src/types/CellRendererProps.d.ts +0 -32
  66. package/dist/types/core/src/types/CellValue.d.ts +0 -2
  67. package/dist/types/core/src/types/ColumnEditorConfig.d.ts +0 -42
  68. package/dist/types/core/src/types/ColumnEditorCustomRendererProps.d.ts +0 -14
  69. package/dist/types/core/src/types/ColumnEditorRowRendererProps.d.ts +0 -39
  70. package/dist/types/core/src/types/ColumnVisibilityTypes.d.ts +0 -4
  71. package/dist/types/core/src/types/CustomTheme.d.ts +0 -28
  72. package/dist/types/core/src/types/DragHandlerProps.d.ts +0 -14
  73. package/dist/types/core/src/types/EnumOption.d.ts +0 -5
  74. package/dist/types/core/src/types/FilterTypes.d.ts +0 -31
  75. package/dist/types/core/src/types/FlattenedHeader.d.ts +0 -10
  76. package/dist/types/core/src/types/FooterPosition.d.ts +0 -3
  77. package/dist/types/core/src/types/FooterRendererProps.d.ts +0 -17
  78. package/dist/types/core/src/types/GenerateRowIdParams.d.ts +0 -11
  79. package/dist/types/core/src/types/GetRowId.d.ts +0 -16
  80. package/dist/types/core/src/types/HandleResizeStartProps.d.ts +0 -25
  81. package/dist/types/core/src/types/HeaderDropdownProps.d.ts +0 -14
  82. package/dist/types/core/src/types/HeaderObject.d.ts +0 -133
  83. package/dist/types/core/src/types/HeaderRendererProps.d.ts +0 -17
  84. package/dist/types/core/src/types/IconsConfig.d.ts +0 -19
  85. package/dist/types/core/src/types/OnNextPage.d.ts +0 -2
  86. package/dist/types/core/src/types/OnRowGroupExpandProps.d.ts +0 -16
  87. package/dist/types/core/src/types/OnSortProps.d.ts +0 -3
  88. package/dist/types/core/src/types/PanelSection.d.ts +0 -1
  89. package/dist/types/core/src/types/Pinned.d.ts +0 -1
  90. package/dist/types/core/src/types/PinnedSectionsState.d.ts +0 -6
  91. package/dist/types/core/src/types/PivotTypes.d.ts +0 -37
  92. package/dist/types/core/src/types/QuickFilterTypes.d.ts +0 -21
  93. package/dist/types/core/src/types/Row.d.ts +0 -3
  94. package/dist/types/core/src/types/RowButton.d.ts +0 -6
  95. package/dist/types/core/src/types/RowId.d.ts +0 -1
  96. package/dist/types/core/src/types/RowSelectionChangeProps.d.ts +0 -7
  97. package/dist/types/core/src/types/RowSelectionMode.d.ts +0 -8
  98. package/dist/types/core/src/types/RowState.d.ts +0 -12
  99. package/dist/types/core/src/types/RowStateRendererProps.d.ts +0 -18
  100. package/dist/types/core/src/types/SharedTableProps.d.ts +0 -24
  101. package/dist/types/core/src/types/SimpleTableConfig.d.ts +0 -124
  102. package/dist/types/core/src/types/SimpleTableProps.d.ts +0 -125
  103. package/dist/types/core/src/types/SortColumn.d.ts +0 -8
  104. package/dist/types/core/src/types/TableAPI.d.ts +0 -82
  105. package/dist/types/core/src/types/TableHeaderProps.d.ts +0 -17
  106. package/dist/types/core/src/types/TableRow.d.ts +0 -39
  107. package/dist/types/core/src/types/TableRowProps.d.ts +0 -29
  108. package/dist/types/core/src/types/Theme.d.ts +0 -2
  109. package/dist/types/core/src/types/UpdateCellProps.d.ts +0 -8
  110. package/dist/types/core/src/utils/accordionAnimation.d.ts +0 -25
  111. package/dist/types/core/src/utils/aggregationUtils.d.ts +0 -7
  112. package/dist/types/core/src/utils/ariaRowOwnership.d.ts +0 -37
  113. package/dist/types/core/src/utils/asRows.d.ts +0 -7
  114. package/dist/types/core/src/utils/bodyCell/cellLiveRef.d.ts +0 -9
  115. package/dist/types/core/src/utils/bodyCell/content.d.ts +0 -5
  116. package/dist/types/core/src/utils/bodyCell/editing.d.ts +0 -4
  117. package/dist/types/core/src/utils/bodyCell/editors/booleanDropdown.d.ts +0 -2
  118. package/dist/types/core/src/utils/bodyCell/editors/datePicker.d.ts +0 -2
  119. package/dist/types/core/src/utils/bodyCell/editors/dropdown.d.ts +0 -18
  120. package/dist/types/core/src/utils/bodyCell/editors/enumDropdown.d.ts +0 -2
  121. package/dist/types/core/src/utils/bodyCell/eventTracking.d.ts +0 -3
  122. package/dist/types/core/src/utils/bodyCell/expansion.d.ts +0 -12
  123. package/dist/types/core/src/utils/bodyCell/selection.d.ts +0 -7
  124. package/dist/types/core/src/utils/bodyCell/styling.d.ts +0 -11
  125. package/dist/types/core/src/utils/bodyCell/types.d.ts +0 -170
  126. package/dist/types/core/src/utils/bodyCellRenderer.d.ts +0 -6
  127. package/dist/types/core/src/utils/cellClipboardUtils.d.ts +0 -25
  128. package/dist/types/core/src/utils/cellScrollUtils.d.ts +0 -10
  129. package/dist/types/core/src/utils/cellUtils.d.ts +0 -18
  130. package/dist/types/core/src/utils/charts/createBarChart.d.ts +0 -20
  131. package/dist/types/core/src/utils/charts/createLineAreaChart.d.ts +0 -25
  132. package/dist/types/core/src/utils/collapseUtils.d.ts +0 -31
  133. package/dist/types/core/src/utils/columnEditor/columnEditorUtils.d.ts +0 -27
  134. package/dist/types/core/src/utils/columnEditor/createCheckbox.d.ts +0 -21
  135. package/dist/types/core/src/utils/columnEditor/createColumnEditor.d.ts +0 -26
  136. package/dist/types/core/src/utils/columnEditor/createColumnEditorPopout.d.ts +0 -23
  137. package/dist/types/core/src/utils/columnEditor/createColumnEditorRow.d.ts +0 -41
  138. package/dist/types/core/src/utils/csvExportUtils.d.ts +0 -14
  139. package/dist/types/core/src/utils/dateUtils.d.ts +0 -18
  140. package/dist/types/core/src/utils/externalScroll.d.ts +0 -58
  141. package/dist/types/core/src/utils/filterUtils.d.ts +0 -5
  142. package/dist/types/core/src/utils/filters/createBooleanFilter.d.ts +0 -15
  143. package/dist/types/core/src/utils/filters/createCustomSelect.d.ts +0 -20
  144. package/dist/types/core/src/utils/filters/createDateFilter.d.ts +0 -15
  145. package/dist/types/core/src/utils/filters/createDatePicker.d.ts +0 -10
  146. package/dist/types/core/src/utils/filters/createDropdown.d.ts +0 -33
  147. package/dist/types/core/src/utils/filters/createEnumFilter.d.ts +0 -15
  148. package/dist/types/core/src/utils/filters/createFilterActions.d.ts +0 -12
  149. package/dist/types/core/src/utils/filters/createFilterDropdown.d.ts +0 -15
  150. package/dist/types/core/src/utils/filters/createFilterInput.d.ts +0 -16
  151. package/dist/types/core/src/utils/filters/createNumberFilter.d.ts +0 -15
  152. package/dist/types/core/src/utils/filters/createStringFilter.d.ts +0 -15
  153. package/dist/types/core/src/utils/footer/createTableFooter.d.ts +0 -21
  154. package/dist/types/core/src/utils/formatters.d.ts +0 -3
  155. package/dist/types/core/src/utils/generalUtils.d.ts +0 -4
  156. package/dist/types/core/src/utils/headerCell/collapsing.d.ts +0 -6
  157. package/dist/types/core/src/utils/headerCell/dragging.d.ts +0 -5
  158. package/dist/types/core/src/utils/headerCell/editing.d.ts +0 -4
  159. package/dist/types/core/src/utils/headerCell/eventTracking.d.ts +0 -28
  160. package/dist/types/core/src/utils/headerCell/filtering.d.ts +0 -3
  161. package/dist/types/core/src/utils/headerCell/resizing.d.ts +0 -3
  162. package/dist/types/core/src/utils/headerCell/selection.d.ts +0 -10
  163. package/dist/types/core/src/utils/headerCell/sorting.d.ts +0 -3
  164. package/dist/types/core/src/utils/headerCell/styling.d.ts +0 -7
  165. package/dist/types/core/src/utils/headerCell/types.d.ts +0 -110
  166. package/dist/types/core/src/utils/headerCellRenderer.d.ts +0 -4
  167. package/dist/types/core/src/utils/headerUtils.d.ts +0 -41
  168. package/dist/types/core/src/utils/headerWidthUtils.d.ts +0 -121
  169. package/dist/types/core/src/utils/horizontalScrollbarRenderer.d.ts +0 -27
  170. package/dist/types/core/src/utils/infiniteScrollUtils.d.ts +0 -145
  171. package/dist/types/core/src/utils/loadingPlaceholderUtils.d.ts +0 -11
  172. package/dist/types/core/src/utils/nestedGridRowRenderer.d.ts +0 -50
  173. package/dist/types/core/src/utils/pinnedColumnUtils.d.ts +0 -29
  174. package/dist/types/core/src/utils/pivot/pivotRows.d.ts +0 -16
  175. package/dist/types/core/src/utils/propSyncEqual.d.ts +0 -60
  176. package/dist/types/core/src/utils/quickFilterUtils.d.ts +0 -14
  177. package/dist/types/core/src/utils/resizeUtils/autoExpandResize.d.ts +0 -32
  178. package/dist/types/core/src/utils/resizeUtils/compensation.d.ts +0 -17
  179. package/dist/types/core/src/utils/resizeUtils/domUpdates.d.ts +0 -15
  180. package/dist/types/core/src/utils/resizeUtils/index.d.ts +0 -26
  181. package/dist/types/core/src/utils/resizeUtils/maxWidth.d.ts +0 -9
  182. package/dist/types/core/src/utils/resizeUtils/parentHeaderResize.d.ts +0 -11
  183. package/dist/types/core/src/utils/resizeUtils/sectionWidths.d.ts +0 -36
  184. package/dist/types/core/src/utils/rowFlattening.d.ts +0 -30
  185. package/dist/types/core/src/utils/rowProcessing.d.ts +0 -65
  186. package/dist/types/core/src/utils/rowSelectionUtils.d.ts +0 -62
  187. package/dist/types/core/src/utils/rowSeparatorRenderer.d.ts +0 -16
  188. package/dist/types/core/src/utils/rowUtils.d.ts +0 -187
  189. package/dist/types/core/src/utils/sortUtils.d.ts +0 -8
  190. package/dist/types/core/src/utils/stateRowRenderer.d.ts +0 -15
  191. package/dist/types/core/src/utils/stickyParentsRenderer.d.ts +0 -53
  192. /package/dist/types/{angular/src/MountRegistry.d.ts → MountRegistry.d.ts} +0 -0
  193. /package/dist/types/{angular/src/lib → lib}/provideSimpleTable.d.ts +0 -0
  194. /package/dist/types/{angular/src/utils → utils}/wrapAngularRenderer.d.ts +0 -0
@@ -1,10 +0,0 @@
1
- import HeaderObject from "./HeaderObject";
2
- import type { PanelSection } from "./PanelSection";
3
- export type FlattenedHeader = {
4
- header: HeaderObject;
5
- visualIndex: number;
6
- depth: number;
7
- parent: HeaderObject | null;
8
- indexPath: number[];
9
- panelSection?: PanelSection;
10
- };
@@ -1,3 +0,0 @@
1
- /** Where the pagination footer (default or `footerRenderer`) is placed in the table chrome. */
2
- export type FooterPosition = "top" | "bottom";
3
- export default FooterPosition;
@@ -1,17 +0,0 @@
1
- import type { IconElement } from "./IconsConfig";
2
- interface FooterRendererProps {
3
- currentPage: number;
4
- endRow: number;
5
- hasNextPage: boolean;
6
- hasPrevPage: boolean;
7
- nextIcon?: IconElement;
8
- onNextPage: () => Promise<void>;
9
- onPageChange: (page: number) => void;
10
- onPrevPage: () => void;
11
- prevIcon?: IconElement;
12
- rowsPerPage: number;
13
- startRow: number;
14
- totalPages: number;
15
- totalRows: number;
16
- }
17
- export default FooterRendererProps;
@@ -1,11 +0,0 @@
1
- import Row from "./Row";
2
- import { GetRowId } from "./GetRowId";
3
- export interface GenerateRowIdParams {
4
- row: Row;
5
- getRowId?: GetRowId;
6
- depth: number;
7
- index: number;
8
- rowPath: (string | number)[];
9
- rowIndexPath: number[];
10
- groupingKey?: string;
11
- }
@@ -1,16 +0,0 @@
1
- import Row from "./Row";
2
- export interface GetRowIdParams {
3
- row: Row;
4
- depth: number;
5
- index: number;
6
- rowPath: (string | number)[];
7
- rowIndexPath: number[];
8
- groupingKey?: string;
9
- }
10
- /**
11
- * Return a stable business id for the row, or `undefined` / `null` when the row
12
- * has no id yet (e.g. loading placeholders, pivot aggregates). Nullish returns
13
- * fall back to reference-based identity so cell keys never collide on
14
- * `String(undefined)`.
15
- */
16
- export type GetRowId = (params: GetRowIdParams) => string | number | null | undefined;
@@ -1,25 +0,0 @@
1
- import { HeaderObject, Accessor } from "..";
2
- export interface RefObject<T> {
3
- current: T | null;
4
- }
5
- export type HandleResizeStartProps = {
6
- autoExpandColumns: boolean;
7
- collapsedHeaders: Set<Accessor>;
8
- containerWidth: number;
9
- event: MouseEvent | TouchEvent;
10
- forceUpdate: () => void;
11
- header: HeaderObject;
12
- headers: HeaderObject[];
13
- mainBodyRef: RefObject<HTMLDivElement>;
14
- onColumnWidthChange?: (headers: HeaderObject[]) => void;
15
- /** Persist the dragged column(s)' final widths as their natural widths (autoExpandColumns). */
16
- onAutoExpandNaturalWidths?: (widths: Map<string, number>) => void;
17
- pinnedLeftRef: RefObject<HTMLDivElement>;
18
- pinnedRightRef: RefObject<HTMLDivElement>;
19
- reverse: boolean;
20
- setHeaders: (headers: HeaderObject[] | ((prev: HeaderObject[]) => HeaderObject[])) => void;
21
- setIsResizing: (isResizing: boolean | ((prev: boolean) => boolean)) => void;
22
- /** Natural-width shrink floors (accessor -> px) for compensating neighbors (autoExpandColumns). */
23
- shrinkFloors?: Map<string, number>;
24
- startWidth: number;
25
- };
@@ -1,14 +0,0 @@
1
- import HeaderRendererProps from "./HeaderRendererProps";
2
- interface HeaderDropdownProps extends HeaderRendererProps {
3
- isOpen: boolean;
4
- onClose: () => void;
5
- position: {
6
- top?: number;
7
- left?: number;
8
- right?: number;
9
- bottom?: number;
10
- };
11
- }
12
- export type VanillaHeaderDropdown = (props: HeaderDropdownProps) => HTMLElement | string | null;
13
- export type HeaderDropdown = (props: HeaderDropdownProps) => HTMLElement | string | null;
14
- export default HeaderDropdownProps;
@@ -1,133 +0,0 @@
1
- import Row from "./Row";
2
- import { Pinned } from "./Pinned";
3
- import EnumOption from "./EnumOption";
4
- import { AggregationConfig } from "./AggregationTypes";
5
- import { CellRenderer } from "./CellRendererProps";
6
- import { HeaderRenderer } from "./HeaderRendererProps";
7
- import CellValue from "./CellValue";
8
- import { SimpleTableProps } from "./SimpleTableProps";
9
- import { QuickFilterGetter } from "./QuickFilterTypes";
10
- import type { FilterOperator } from "./FilterTypes";
11
- export type Accessor = keyof Row | string;
12
- export type ColumnType = "string" | "number" | "boolean" | "date" | "enum" | "lineAreaChart" | "barChart" | "other";
13
- export type ShowWhen = "parentCollapsed" | "parentExpanded" | "always";
14
- /**
15
- * Controls what an auto-sized column (`width: "auto"`) fits to:
16
- * - "content" (default): fit the wider of the header and the sampled cell content
17
- * - "header": fit the header label only (ignore cell content)
18
- */
19
- export type AutoSizeMode = "content" | "header";
20
- export interface ChartOptions {
21
- min?: number;
22
- max?: number;
23
- width?: number;
24
- height?: number;
25
- color?: string;
26
- fillColor?: string;
27
- fillOpacity?: number;
28
- strokeWidth?: number;
29
- gap?: number;
30
- }
31
- export interface ValueFormatterProps {
32
- accessor: Accessor;
33
- colIndex: number;
34
- row: Row;
35
- rowIndex: number;
36
- value: CellValue;
37
- }
38
- export type ValueFormatter = (props: ValueFormatterProps) => string | number | string[] | number[];
39
- export interface ValueGetterProps {
40
- accessor: Accessor;
41
- row: Row;
42
- rowIndex: number;
43
- }
44
- export type ValueGetter = (props: ValueGetterProps) => CellValue;
45
- export interface ComparatorProps {
46
- rowA: Row;
47
- rowB: Row;
48
- valueA: CellValue;
49
- valueB: CellValue;
50
- direction: "asc" | "desc";
51
- }
52
- export type Comparator = (props: ComparatorProps) => number;
53
- export interface ExportValueProps {
54
- accessor: Accessor;
55
- colIndex: number;
56
- row: Row;
57
- rowIndex: number;
58
- value: CellValue;
59
- formattedValue?: string | number | string[] | number[];
60
- }
61
- export type ExportValueGetter = (props: ExportValueProps) => string | number;
62
- export declare const DEFAULT_SHOW_WHEN: ShowWhen;
63
- type HeaderObject = {
64
- accessor: Accessor;
65
- aggregation?: AggregationConfig;
66
- align?: "left" | "center" | "right";
67
- /**
68
- * When `width` is the string `"auto"`, the column is sized to fit its content
69
- * on load (and re-fit when row data changes). `autoSizeMode` controls whether
70
- * it fits the header + cells (`"content"`, default) or the header label only
71
- * (`"header"`). `minWidth` / `maxWidth` clamp the computed width.
72
- */
73
- autoSizeMode?: AutoSizeMode;
74
- cellRenderer?: CellRenderer;
75
- chartOptions?: ChartOptions;
76
- children?: HeaderObject[];
77
- collapsible?: boolean;
78
- collapseDefault?: boolean;
79
- comparator?: Comparator;
80
- disableReorder?: boolean;
81
- enumOptions?: EnumOption[];
82
- expandable?: boolean;
83
- exportValueGetter?: ExportValueGetter;
84
- filterable?: boolean;
85
- /**
86
- * Restricts which filter operators are shown in this column's filter dropdown.
87
- * Only operators valid for the column's `type` are honored, and they appear in
88
- * the order provided here. When omitted, all operators for the column type are
89
- * shown. Has no effect on `enum` columns (which use a checkbox value picker
90
- * instead of an operator dropdown).
91
- *
92
- * @example
93
- * // String column limited to "contains" and "equals"
94
- * { accessor: "name", type: "string", filterable: true,
95
- * filterOperators: ["contains", "equals"] }
96
- */
97
- filterOperators?: FilterOperator[];
98
- headerRenderer?: HeaderRenderer;
99
- hide?: boolean;
100
- isEditable?: boolean;
101
- excludeFromRender?: boolean;
102
- excludeFromCsv?: boolean;
103
- isSelectionColumn?: boolean;
104
- /** When true, column stays visible, cannot be unpinned from a pinned side, cannot reorder above non-essentials in its section */
105
- isEssential?: boolean;
106
- isSortable?: boolean;
107
- label: string;
108
- minWidth?: number | string;
109
- sortingOrder?: ("asc" | "desc" | null)[];
110
- nestedTable?: Omit<SimpleTableProps, "rows" | "loadingStateRenderer" | "errorStateRenderer" | "emptyStateRenderer" | "tableEmptyStateRenderer">;
111
- pinned?: Pinned;
112
- quickFilterable?: boolean;
113
- quickFilterGetter?: QuickFilterGetter;
114
- singleRowChildren?: boolean;
115
- tooltip?: string;
116
- type?: ColumnType;
117
- useFormattedValueForClipboard?: boolean;
118
- useFormattedValueForCSV?: boolean;
119
- valueFormatter?: ValueFormatter;
120
- valueGetter?: ValueGetter;
121
- showWhen?: ShowWhen;
122
- /**
123
- * Column width. A number or px/fr/% string sets a fixed/proportional width.
124
- * The special value `"auto"` sizes the column to fit its content (see
125
- * `autoSizeMode`). With `autoExpandColumns`, the fixed/measured width acts
126
- * as the column's natural width: it can stretch to help fill surplus
127
- * container space but is never squeezed narrower (the table scrolls
128
- * horizontally instead).
129
- */
130
- width: number | string;
131
- maxWidth?: number | string;
132
- };
133
- export default HeaderObject;
@@ -1,17 +0,0 @@
1
- import type { Accessor } from "./HeaderObject";
2
- import type HeaderObject from "./HeaderObject";
3
- import type { IconElement } from "./IconsConfig";
4
- export interface HeaderRendererComponents {
5
- sortIcon?: IconElement;
6
- filterIcon?: IconElement;
7
- collapseIcon?: IconElement;
8
- labelContent?: string | HTMLElement;
9
- }
10
- interface HeaderRendererProps {
11
- accessor: Accessor;
12
- colIndex: number;
13
- header: HeaderObject;
14
- components?: HeaderRendererComponents;
15
- }
16
- export type HeaderRenderer = (props: HeaderRendererProps) => HTMLElement | string | null;
17
- export default HeaderRendererProps;
@@ -1,19 +0,0 @@
1
- /** Single icon value used across header, footer, and column editor props */
2
- export type IconElement = SVGSVGElement | HTMLElement | string;
3
- export interface VanillaIconsConfig {
4
- drag?: IconElement;
5
- expand?: IconElement;
6
- filter?: IconElement;
7
- headerCollapse?: IconElement;
8
- headerExpand?: IconElement;
9
- next?: IconElement;
10
- prev?: IconElement;
11
- sortDown?: IconElement;
12
- sortUp?: IconElement;
13
- /** Label for pin-to-left control in column editor (default: "L") */
14
- pinnedLeftIcon?: IconElement;
15
- /** Label for pin-to-right control in column editor (default: "R") */
16
- pinnedRightIcon?: IconElement;
17
- }
18
- export interface IconsConfig extends VanillaIconsConfig {
19
- }
@@ -1,2 +0,0 @@
1
- type OnNextPage = (page: number) => Promise<boolean>;
2
- export default OnNextPage;
@@ -1,16 +0,0 @@
1
- import Row from "./Row";
2
- import { Accessor } from "./HeaderObject";
3
- interface OnRowGroupExpandProps {
4
- row: Row;
5
- depth: number;
6
- event: MouseEvent | KeyboardEvent;
7
- groupingKey?: string;
8
- isExpanded: boolean;
9
- rowIndexPath: number[];
10
- rowIdPath?: (string | number)[];
11
- groupingKeys: Accessor[];
12
- setLoading: (loading: boolean) => void;
13
- setError: (error: string | null) => void;
14
- setEmpty: (isEmpty: boolean, message?: string) => void;
15
- }
16
- export default OnRowGroupExpandProps;
@@ -1,3 +0,0 @@
1
- import { Accessor } from "./HeaderObject";
2
- type OnSortProps = (accessor: Accessor) => void;
3
- export default OnSortProps;
@@ -1 +0,0 @@
1
- export type PanelSection = "left" | "main" | "right";
@@ -1 +0,0 @@
1
- export type Pinned = "left" | "right";
@@ -1,6 +0,0 @@
1
- import { Accessor } from "./HeaderObject";
2
- export type PinnedSectionsState = {
3
- left: Accessor[];
4
- main: Accessor[];
5
- right: Accessor[];
6
- };
@@ -1,37 +0,0 @@
1
- import { Accessor } from "./HeaderObject";
2
- import { AggregationConfig } from "./AggregationTypes";
3
- import HeaderObject from "./HeaderObject";
4
- import Row from "./Row";
5
- export type PivotValueConfig = {
6
- accessor: Accessor;
7
- aggregation: AggregationConfig;
8
- label?: string;
9
- };
10
- export type PivotConfig = {
11
- /** Row dimension accessors (0+). Multi-level dims become an expandable tree. */
12
- rows: Accessor[];
13
- /** Column dimension accessors (0+). Distinct values become dynamic header groups. */
14
- columns: Accessor[];
15
- /** Value/measure configs (required, length >= 1). */
16
- values: PivotValueConfig[];
17
- /** Total column(s) aggregating across column dimensions. Default true. */
18
- showRowTotals?: boolean;
19
- /** Total row aggregating across row dimensions. Default true. */
20
- showColumnTotals?: boolean;
21
- /** Grand-total cell(s) on the totals row/column. Default true. */
22
- showGrandTotal?: boolean;
23
- };
24
- /** Synthetic child-array key used for multi-level pivot row trees. */
25
- export declare const PIVOT_CHILDREN_KEY = "__pivotChildren";
26
- /** Marker on total rows for styling / identification. */
27
- export declare const PIVOT_IS_TOTAL_KEY = "__pivotIsTotal";
28
- /** Prefix for generated pivot measure accessors. */
29
- export declare const PIVOT_ACCESSOR_PREFIX = "__pivot:";
30
- /** Label used when a dimension value is null/undefined. */
31
- export declare const PIVOT_BLANK_LABEL = "(blank)";
32
- export type PivotResult = {
33
- rows: Row[];
34
- headers: HeaderObject[];
35
- /** Internal rowGrouping to use while pivot is active (undefined when flat). */
36
- rowGrouping?: Accessor[];
37
- };
@@ -1,21 +0,0 @@
1
- import { Accessor } from "./HeaderObject";
2
- import Row from "./Row";
3
- export type QuickFilterMode = "simple" | "smart";
4
- export interface QuickFilterConfig {
5
- text: string;
6
- columns?: Accessor[];
7
- caseSensitive?: boolean;
8
- mode?: QuickFilterMode;
9
- useFormattedValue?: boolean;
10
- onChange?: (text: string) => void;
11
- }
12
- export interface QuickFilterGetterProps {
13
- row: Row;
14
- accessor: Accessor;
15
- }
16
- export type QuickFilterGetter = (props: QuickFilterGetterProps) => string;
17
- export interface SmartFilterToken {
18
- type: "word" | "phrase" | "negation" | "columnSpecific";
19
- value: string;
20
- column?: Accessor;
21
- }
@@ -1,3 +0,0 @@
1
- import CellValue from "./CellValue";
2
- type Row = Record<string, CellValue | Row[] | Record<string, any>>;
3
- export default Row;
@@ -1,6 +0,0 @@
1
- import Row from "./Row";
2
- export interface RowButtonProps {
3
- row: Row;
4
- rowIndex: number;
5
- }
6
- export type RowButton = (props: RowButtonProps) => HTMLElement | null;
@@ -1 +0,0 @@
1
- export type RowId = string | number;
@@ -1,7 +0,0 @@
1
- import Row from "./Row";
2
- type RowSelectionChangeProps = {
3
- row: Row;
4
- isSelected: boolean;
5
- selectedRows: Set<string>;
6
- };
7
- export default RowSelectionChangeProps;
@@ -1,8 +0,0 @@
1
- /**
2
- * Row selection mode.
3
- * - `multiple` (default): select any number of rows; select-all is available when the checkbox column is shown
4
- * - `single`: selecting a row replaces the previous selection; select-all is hidden
5
- */
6
- type RowSelectionMode = "single" | "multiple";
7
- export type { RowSelectionMode };
8
- export default RowSelectionMode;
@@ -1,12 +0,0 @@
1
- import { Pinned } from "./Pinned";
2
- /**
3
- * State for individual rows during expansion/loading
4
- */
5
- interface RowState {
6
- loading?: boolean;
7
- error?: string | null;
8
- isEmpty?: boolean;
9
- emptyMessage?: string;
10
- triggerSection?: Pinned;
11
- }
12
- export default RowState;
@@ -1,18 +0,0 @@
1
- import type Row from "./Row";
2
- export interface LoadingStateRendererProps {
3
- parentRow?: Row;
4
- }
5
- export interface ErrorStateRendererProps {
6
- error: string;
7
- parentRow?: Row;
8
- }
9
- export interface EmptyStateRendererProps {
10
- message?: string;
11
- parentRow?: Row;
12
- }
13
- export type VanillaLoadingStateRenderer = string | HTMLElement | ((props: LoadingStateRendererProps) => HTMLElement | string);
14
- export type VanillaErrorStateRenderer = string | HTMLElement | ((props: ErrorStateRendererProps) => HTMLElement | string);
15
- export type VanillaEmptyStateRenderer = string | HTMLElement | ((props: EmptyStateRendererProps) => HTMLElement | string);
16
- export type LoadingStateRenderer = VanillaLoadingStateRenderer;
17
- export type ErrorStateRenderer = VanillaErrorStateRenderer;
18
- export type EmptyStateRenderer = VanillaEmptyStateRenderer;
@@ -1,24 +0,0 @@
1
- import HeaderObject from "./HeaderObject";
2
- export interface RefObject<T> {
3
- current: T | null;
4
- }
5
- interface SharedTableProps {
6
- centerHeaderRef: RefObject<HTMLDivElement | null>;
7
- draggedHeaderRef: {
8
- current: HeaderObject | null;
9
- };
10
- headerContainerRef: RefObject<HTMLDivElement | null>;
11
- headers: HeaderObject[];
12
- hoveredHeaderRef: {
13
- current: HeaderObject | null;
14
- };
15
- mainBodyRef: RefObject<HTMLDivElement | null>;
16
- onTableHeaderDragEnd: (newHeaders: HeaderObject[]) => void;
17
- pinnedLeftColumns: HeaderObject[];
18
- pinnedLeftHeaderRef: RefObject<HTMLDivElement | null>;
19
- pinnedRightColumns: HeaderObject[];
20
- pinnedRightHeaderRef: RefObject<HTMLDivElement | null>;
21
- rowHeight: number;
22
- tableBodyContainerRef: RefObject<HTMLDivElement | null>;
23
- }
24
- export default SharedTableProps;
@@ -1,124 +0,0 @@
1
- import HeaderObject, { Accessor } from "./HeaderObject";
2
- import Row from "./Row";
3
- import { VanillaEmptyStateRenderer, VanillaErrorStateRenderer, VanillaLoadingStateRenderer } from "./RowStateRendererProps";
4
- import FooterRendererProps from "./FooterRendererProps";
5
- import { VanillaHeaderDropdown } from "./HeaderDropdownProps";
6
- import SortColumn, { SortDirection } from "./SortColumn";
7
- import CellClickProps from "./CellClickProps";
8
- import CellChangeProps from "./CellChangeProps";
9
- import { ColumnVisibilityState } from "./ColumnVisibilityTypes";
10
- import { TableFilterState } from "./FilterTypes";
11
- import OnNextPage from "./OnNextPage";
12
- import OnRowGroupExpandProps from "./OnRowGroupExpandProps";
13
- import RowSelectionChangeProps from "./RowSelectionChangeProps";
14
- import type { RowSelectionMode } from "./RowSelectionMode";
15
- import { RowButton } from "./RowButton";
16
- import Theme from "./Theme";
17
- import { CustomThemeProps } from "./CustomTheme";
18
- import { GetRowId } from "./GetRowId";
19
- import { ColumnEditorConfig } from "./ColumnEditorConfig";
20
- import { VanillaIconsConfig } from "./IconsConfig";
21
- import { QuickFilterConfig } from "./QuickFilterTypes";
22
- import { AnimationsConfig } from "./AnimationsConfig";
23
- import type { FooterPosition } from "./FooterPosition";
24
- import type { PivotConfig } from "./PivotTypes";
25
- export interface SimpleTableConfig {
26
- animations?: AnimationsConfig;
27
- /**
28
- * Expand-only fill: when the columns' natural widths (declared px, or
29
- * content-measured for `width: "auto"`) leave surplus container space,
30
- * columns stretch proportionally to fill it (respecting `maxWidth`).
31
- * Columns are never squeezed below their natural width — when they don't
32
- * fit, the table scrolls horizontally instead.
33
- */
34
- autoExpandColumns?: boolean;
35
- canExpandRowGroup?: (row: Row) => boolean;
36
- cellUpdateFlash?: boolean;
37
- className?: string;
38
- columnBorders?: boolean;
39
- columnEditorConfig?: ColumnEditorConfig;
40
- columnReordering?: boolean;
41
- columnResizing?: boolean;
42
- copyHeadersToClipboard?: boolean;
43
- customTheme?: CustomThemeProps;
44
- defaultHeaders: HeaderObject[];
45
- editColumns?: boolean;
46
- editColumnsInitOpen?: boolean;
47
- emptyStateRenderer?: VanillaEmptyStateRenderer;
48
- enableHeaderEditing?: boolean;
49
- enableRowSelection?: boolean;
50
- /** @see SimpleTableProps.rowSelectionMode */
51
- rowSelectionMode?: RowSelectionMode;
52
- /** @see SimpleTableProps.selectRowOnClick */
53
- selectRowOnClick?: boolean;
54
- /** @see SimpleTableProps.showRowSelectionColumn */
55
- showRowSelectionColumn?: boolean;
56
- enableStickyParents?: boolean;
57
- /** @see SimpleTableProps.enableVirtualization */
58
- enableVirtualization?: boolean;
59
- errorStateRenderer?: VanillaErrorStateRenderer;
60
- expandAll?: boolean;
61
- externalFilterHandling?: boolean;
62
- externalSortHandling?: boolean;
63
- footerRenderer?: (props: FooterRendererProps) => HTMLElement | string | null;
64
- /** Placement of the pagination footer. Default `"bottom"`. */
65
- footerPosition?: FooterPosition;
66
- headerDropdown?: VanillaHeaderDropdown;
67
- height?: string | number;
68
- hideFooter?: boolean;
69
- hideHeader?: boolean;
70
- icons?: VanillaIconsConfig;
71
- includeHeadersInCSVExport?: boolean;
72
- initialSortColumn?: string;
73
- initialSortDirection?: SortDirection;
74
- isLoading?: boolean;
75
- loadingStateRenderer?: VanillaLoadingStateRenderer;
76
- maxHeight?: string | number;
77
- onCellClick?: (props: CellClickProps) => void;
78
- onCellEdit?: (props: CellChangeProps) => void;
79
- onColumnOrderChange?: (newHeaders: HeaderObject[]) => void;
80
- onColumnSelect?: (header: HeaderObject) => void;
81
- onColumnVisibilityChange?: (visibilityState: ColumnVisibilityState) => void;
82
- onColumnWidthChange?: (headers: HeaderObject[]) => void;
83
- onFilterChange?: (filters: TableFilterState) => void;
84
- onGridReady?: () => void;
85
- onHeaderEdit?: (header: HeaderObject, newLabel: string) => void;
86
- infiniteScrollThreshold?: number;
87
- onLoadMore?: () => void;
88
- onNextPage?: OnNextPage;
89
- onPageChange?: (page: number) => void | Promise<void>;
90
- onRowGroupExpand?: (props: OnRowGroupExpandProps) => void | Promise<void>;
91
- onRowSelectionChange?: (props: RowSelectionChangeProps) => void;
92
- /**
93
- * Called by the renderer immediately BEFORE it permanently discards a host
94
- * element that may contain async-framework renderer output (e.g. React
95
- * portals): innerHTML clears on cell rebuild/edit, plain cell removal, and
96
- * the animation coordinator's ghost/FLIP/shrink teardown paths. Framework
97
- * adapters use this to tear down the renderer subtree mounted into `host`
98
- * (or any descendant) so it isn't orphaned. Reuse/reparent paths never fire
99
- * it, so a reused node keeps its renderer content.
100
- */
101
- onRendererHostDiscard?: (host: HTMLElement) => void;
102
- onSortChange?: (sort: SortColumn | null) => void;
103
- /** @see SimpleTableProps.pivot */
104
- pivot?: PivotConfig | null;
105
- /** @see SimpleTableProps.onPivotChange */
106
- onPivotChange?: (pivot: PivotConfig | null) => void;
107
- quickFilter?: QuickFilterConfig;
108
- rowButtons?: RowButton[];
109
- rowGrouping?: Accessor[];
110
- getRowId?: GetRowId;
111
- rows: Row[];
112
- rowsPerPage?: number;
113
- scrollParent?: HTMLElement | "window" | (() => HTMLElement | null);
114
- selectableCells?: boolean;
115
- selectableColumns?: boolean;
116
- serverSidePagination?: boolean;
117
- shouldPaginate?: boolean;
118
- tableEmptyStateRenderer?: HTMLElement | string | null;
119
- theme?: Theme;
120
- totalRowCount?: number;
121
- useHoverRowBackground?: boolean;
122
- useOddColumnBackground?: boolean;
123
- useOddEvenRowBackground?: boolean;
124
- }