@jielga/tmdatagrid 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -88,16 +88,19 @@ shows no filter control.
88
88
  The documentation is written as markdown under [`src/docs/`](src/docs) and served by the
89
89
  demo site:
90
90
 
91
- | Page | Contents |
92
- | ---------------------------------------------- | -------------------------------- |
93
- | [Getting started](src/docs/getting-started.md) | Structure and defaults |
94
- | [useTMDataGrid](src/docs/use-tm-data-grid.md) | Options, meta and persistence |
95
- | [Components](src/docs/components.md) | Props for every component |
96
- | [Columns](src/docs/columns.md) | Definitions, sizing and filters |
97
- | [Features](src/docs/features.md) | Enabling and disabling behaviour |
98
- | [Editing](src/docs/editing.md) | Modes, editors and validation |
99
- | [Server-side](src/docs/server-side.md) | Manual pagination and filtering |
100
- | [Testing](src/docs/testing.md) | Part hooks, roles and Playwright |
91
+ One page per touchpoint: the prose, the demos that show it, and the reference
92
+ table for everything that page owns. [`docsPages.ts`](src/docs/docsPages.ts) is
93
+ the registry and the sidebar order.
94
+
95
+ | Section | Pages |
96
+ | -------------------- | ---------------------------------------------------------------- |
97
+ | Start here | [Getting started](src/docs/getting-started.md), [Grid anatomy](src/docs/anatomy.md) |
98
+ | Columns | [Defining columns](src/docs/columns.md), [Sorting](src/docs/sorting.md), [Filtering](src/docs/filtering.md), [Visibility, pinning and size](src/docs/column-layout.md) |
99
+ | Rows | [Selection](src/docs/row-selection.md), [Details](src/docs/row-details.md), [Grouping](src/docs/grouping.md), [Summary row](src/docs/summary-row.md), [Pinning and numbering](src/docs/row-pinning.md), [Clicks and context menus](src/docs/row-interaction.md), [Row styling](src/docs/row-styling.md) |
100
+ | Cells and editing | [Cell selection](src/docs/cell-selection.md), [Editing](src/docs/editing.md), [Editors and validation](src/docs/editors.md) |
101
+ | Data | [Pagination](src/docs/pagination.md), [Quick search](src/docs/quick-search.md), [Persistence](src/docs/persistence.md), [Server-side](src/docs/server-side.md), [Loading and empty](src/docs/loading-and-empty.md), [Scrolling](src/docs/scrolling.md) |
102
+ | Appearance | [Size and styling](src/docs/styling.md), [Toolbar](src/docs/toolbar.md), [Localization](src/docs/localization.md) |
103
+ | Reference | [useTMDataGrid](src/docs/use-tm-data-grid.md), [Testing](src/docs/testing.md) |
101
104
 
102
105
  ## Development
103
106
 
@@ -117,14 +120,14 @@ The demo site's examples live in [`src/examples/`](src/examples):
117
120
 
118
121
  | Path | Contents |
119
122
  | ----------------- | -------------------------------------------------------------- |
120
- | `examplePages.ts` | The tree - categories, topics, and the prose for every demo |
123
+ | `demoRegistry.ts` | Pairs each demo module with its own source through `import.meta.glob` |
121
124
  | `demos/` | One file per demo: one idea, no headings, no explanation |
122
125
  | `data/` | Shared datasets, and the column set for demos about other things |
123
126
  | `playground/` | The kitchen sink, every feature at once behind switches |
124
127
 
125
- Adding a demo is adding a file under `demos/` and naming it from a topic in
126
- `examplePages.ts` - the registry pairs each module with its own source through
127
- `import.meta.glob`, so the code on screen cannot drift from the code running.
128
+ Adding a demo is adding a file under `demos/` and naming it from a ` ```demo `
129
+ fence on the docs page that explains it. The registry pairs each module with
130
+ its own source, so the code on screen cannot drift from the code running.
128
131
  [`demos.test.tsx`](src/examples/demos.test.tsx) mounts every registered demo,
129
132
  so a demo that stops working fails the suite whether or not it still compiles.
130
133
 
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Cell, Column, ColumnPinningState, ExpandedState, Row, RowData, RowSelectionState, Table, TableFeatures, TableOptions, TableState, aggregationFns } from "@tanstack/react-table";
1
+ import { Cell, Column, ColumnPinningState, ExpandedState, Header, Row, RowData, RowSelectionState, Table, TableFeatures, TableOptions, TableState, aggregationFns } from "@tanstack/react-table";
2
2
  import { CSSProperties, ComponentType, MouseEvent, MutableRefObject, ReactNode } from "react";
3
3
  import { MantineSize, MenuProps } from "@mantine/core";
4
4
  import { Store } from "@tanstack/store";
@@ -13,6 +13,51 @@ import { RankingInfo } from "@tanstack/match-sorter-utils";
13
13
  declare function TMDataGridColumnsPanel(): import("react").JSX.Element;
14
14
  //#endregion
15
15
  //#region .types-tmp/components/TMDataGridEditActions.d.ts
16
+ /** What the edit chrome is showing. */
17
+ type TMDataGridEditActionsState = {
18
+ /** Rows with unsaved work: dirty edits, entry rows, and deletion marks. */
19
+ pendingCount: number;
20
+ /** Whether a submit is in flight. */
21
+ isSubmitting: boolean;
22
+ };
23
+ /** What the edit chrome can do. */
24
+ type TMDataGridEditActionsActions = {
25
+ /** Commits every open row. Resolves `false` when a row stayed open. */
26
+ save: () => Promise<boolean>;
27
+ /** Drops every draft. */
28
+ discard: () => void;
29
+ };
30
+ /** The pre-bound pieces of the built-in edit chrome. */
31
+ type TMDataGridEditActionsControls = {
32
+ /** Save, with the pending count, disabled while nothing is pending. */
33
+ Save: () => ReactNode;
34
+ /** Discard, disabled while nothing is pending. */
35
+ Discard: () => ReactNode;
36
+ };
37
+ /** What {@link TMDataGridEditActionsProps.renderActions} is handed. */
38
+ type TMDataGridEditActionsSlotArgs = {
39
+ state: TMDataGridEditActionsState;
40
+ actions: TMDataGridEditActionsActions;
41
+ Controls: TMDataGridEditActionsControls;
42
+ };
43
+ type TMDataGridEditActionsProps = {
44
+ /**
45
+ * Replaces the built-in Save/Discard pair, and is handed the pieces of it.
46
+ *
47
+ * ```tsx
48
+ * <TMDataGrid.EditActions
49
+ * renderActions={({ state, Controls }) => (
50
+ * <Group>
51
+ * {state.pendingCount > 0 && <Badge>{state.pendingCount}</Badge>}
52
+ * <Controls.Save />
53
+ * <Controls.Discard />
54
+ * </Group>
55
+ * )}
56
+ * />
57
+ * ```
58
+ */
59
+ renderActions?: (args: TMDataGridEditActionsSlotArgs) => ReactNode;
60
+ };
16
61
  /**
17
62
  * Batch mode's toolbar chrome: Save with the dirty-row count, and Discard.
18
63
  * Both read the edit store, so they grey out while nothing is dirty and the
@@ -28,7 +73,7 @@ declare function TMDataGridColumnsPanel(): import("react").JSX.Element;
28
73
  * </TMDataGrid.Toolbar>
29
74
  * ```
30
75
  */
31
- declare function TMDataGridEditActions(): import("react").JSX.Element | null;
76
+ declare function TMDataGridEditActions({ renderActions }?: TMDataGridEditActionsProps): string | number | bigint | boolean | import("react").JSX.Element | Iterable<ReactNode> | Promise<string | number | bigint | boolean | Iterable<ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
32
77
  //#endregion
33
78
  //#region .types-tmp/components/TMDataGridFilterPanel.d.ts
34
79
  /**
@@ -1816,8 +1861,8 @@ type TMDataGridFilterPillsProps<TData extends RowData> = {
1816
1861
  declare function TMDataGridFilterPills<TData extends RowData>({ api, size, showClearAll, onPillClick, className }: TMDataGridFilterPillsProps<TData>): import("react").JSX.Element | null;
1817
1862
  //#endregion
1818
1863
  //#region .types-tmp/components/TMDataGridFooter.d.ts
1819
- /** Distilled pagination state and actions for building a custom pager. */
1820
- type TMDataGridPaginationApi = {
1864
+ /** What the pager is showing. The read half of {@link TMDataGridPaginationApi}. */
1865
+ type TMDataGridPaginationState = {
1821
1866
  pageIndex: number;
1822
1867
  pageSize: number;
1823
1868
  /** `-1` when a manual grid declares `pageCount: -1` (unknown total). */
@@ -1825,6 +1870,17 @@ type TMDataGridPaginationApi = {
1825
1870
  rowCount: number;
1826
1871
  canPreviousPage: boolean;
1827
1872
  canNextPage: boolean;
1873
+ /**
1874
+ * Whether the pager is slicing anything right now. `false` while a grouping
1875
+ * is active, which suspends paging - see `isPagingActive`.
1876
+ */
1877
+ isPagingActive: boolean;
1878
+ /** First and last row number on this page, 1-based, for a range label. */
1879
+ from: number;
1880
+ to: number;
1881
+ };
1882
+ /** What the pager can do. The write half of {@link TMDataGridPaginationApi}. */
1883
+ type TMDataGridPaginationActions = {
1828
1884
  setPageIndex: (pageIndex: number) => void;
1829
1885
  setPageSize: (pageSize: number) => void;
1830
1886
  previousPage: () => void;
@@ -1832,16 +1888,64 @@ type TMDataGridPaginationApi = {
1832
1888
  firstPage: () => void;
1833
1889
  lastPage: () => void;
1834
1890
  };
1891
+ /**
1892
+ * Pagination state and actions, split into the half you read and the half you
1893
+ * call.
1894
+ *
1895
+ * The split is what makes a partial override possible: a consumer replacing
1896
+ * only the range label reads `state` and never touches `actions`, and one
1897
+ * replacing only the buttons does the opposite.
1898
+ */
1899
+ type TMDataGridPaginationApi = {
1900
+ state: TMDataGridPaginationState;
1901
+ actions: TMDataGridPaginationActions;
1902
+ };
1903
+ /**
1904
+ * The pre-bound pieces of the built-in pager.
1905
+ *
1906
+ * Each renders exactly what the default footer renders, already wired to the
1907
+ * table and already respecting the suspended-paging state - so a custom layout
1908
+ * keeps the parts it likes rather than rebuilding them to look the same.
1909
+ */
1910
+ type TMDataGridPaginationControls = {
1911
+ /** "Rows per page" and its select. */
1912
+ PageSize: () => ReactNode;
1913
+ /** The "1–25 of 300" range label. */
1914
+ Range: () => ReactNode;
1915
+ /** The previous/next buttons. */
1916
+ Pager: () => ReactNode;
1917
+ };
1918
+ /** What {@link TMDataGridFooterProps.renderPagination} is handed. */
1919
+ type TMDataGridPaginationSlotArgs = TMDataGridPaginationApi & {
1920
+ Controls: TMDataGridPaginationControls;
1921
+ };
1835
1922
  /**
1836
1923
  * Reads {@link TMDataGridPaginationApi} off a table. The Footer feeds it to the
1837
- * `pagination` render prop; a pager living outside the Footer can call it with
1924
+ * `renderPagination` slot; a pager living outside the Footer can call it with
1838
1925
  * the table from `useTMDataGrid` directly.
1926
+ *
1927
+ * `Controls` are not here: they are components bound to the grid context, and
1928
+ * this function takes only a table.
1839
1929
  */
1840
- declare function getTMDataGridPaginationApi<TData extends RowData>(table: TMDataGridTable<TData>): TMDataGridPaginationApi;
1930
+ declare function getTMDataGridPaginationApi<TData extends RowData>(table: TMDataGridTable<TData>, isPaging?: boolean): TMDataGridPaginationApi;
1841
1931
  type TMDataGridFooterProps = {
1842
1932
  pageSizeOptions?: ReadonlyArray<number>;
1843
- /** Replaces the built-in pager. Receives the distilled pagination API. */
1844
- pagination?: (api: TMDataGridPaginationApi) => ReactNode;
1933
+ /**
1934
+ * Replaces the built-in pager, and is handed the pieces of it.
1935
+ *
1936
+ * ```tsx
1937
+ * <TMDataGrid.Footer
1938
+ * renderPagination={({ state, actions, Controls }) => (
1939
+ * <Group>
1940
+ * <Controls.PageSize />
1941
+ * <MyJumpToPage page={state.pageIndex} onJump={actions.setPageIndex} />
1942
+ * <Controls.Pager />
1943
+ * </Group>
1944
+ * )}
1945
+ * />
1946
+ * ```
1947
+ */
1948
+ renderPagination?: (args: TMDataGridPaginationSlotArgs) => ReactNode;
1845
1949
  };
1846
1950
  /**
1847
1951
  * MUI-style pager: "Rows per page · from–to of total · ‹ ›".
@@ -1853,7 +1957,7 @@ type TMDataGridFooterProps = {
1853
1957
  * Row totals come from `table.getRowCount()`, which prefers `options.rowCount`
1854
1958
  * - so a server-paged grid shows the server's total without changes here.
1855
1959
  */
1856
- declare function TMDataGridFooter({ pageSizeOptions, pagination }: TMDataGridFooterProps): import("react").JSX.Element | null;
1960
+ declare function TMDataGridFooter({ pageSizeOptions, renderPagination }: TMDataGridFooterProps): import("react").JSX.Element | null;
1857
1961
  //#endregion
1858
1962
  //#region .types-tmp/components/TMDataGridSearch.d.ts
1859
1963
  type TMDataGridSearchProps = {
@@ -1891,6 +1995,27 @@ type TMDataGridSearchProps = {
1891
1995
  */
1892
1996
  declare function TMDataGridSearch({ placeholder, debounce, w }: TMDataGridSearchProps): import("react").JSX.Element | null;
1893
1997
  //#endregion
1998
+ //#region .types-tmp/components/TMDataGridHeaderCell.d.ts
1999
+ /** The table as the header cell sees it, after the context type erasure. */
2000
+ type TMDataGridTableInstance = ReturnType<typeof useTMDataGridContext>["table"];
2001
+ type TMDataGridHeader = Header<TMDataGridFeatures, TMDataGridRowData, unknown>;
2002
+ /** What {@link TMDataGridColumnMenuItemsRenderer} is handed. */
2003
+ type TMDataGridColumnMenuItemsArgs = {
2004
+ column: TMDataGridHeader["column"];
2005
+ table: TMDataGridTableInstance;
2006
+ /**
2007
+ * The items the grid would have rendered, in order, dividers included.
2008
+ * Return them to keep the built-in menu, splice around them to extend it,
2009
+ * or drop them to replace it.
2010
+ */
2011
+ internalItems: Array<ReactNode>;
2012
+ };
2013
+ /**
2014
+ * Replaces a column's menu contents. Returning an empty list leaves the column
2015
+ * with no menu button at all, the same as a column whose every feature is off.
2016
+ */
2017
+ type TMDataGridColumnMenuItemsRenderer = (args: TMDataGridColumnMenuItemsArgs) => Array<ReactNode>;
2018
+ //#endregion
1894
2019
  //#region .types-tmp/core/cellExport.d.ts
1895
2020
  /** The selected block, flattened to text. One inner array per row. */
1896
2021
  type TMDataGridCellMatrix = Array<Array<string>>;
@@ -2058,7 +2183,7 @@ type TMDataGridCellNav = {
2058
2183
  right: boolean;
2059
2184
  } | null;
2060
2185
  };
2061
- /** What a `rowContextMenu` render prop is handed for the right-clicked row. */
2186
+ /** What `renderRowContextMenu` is handed for the right-clicked row. */
2062
2187
  type TMDataGridRowContextMenuArgs<TData extends RowData> = {
2063
2188
  table: Table<TMDataGridFeatures, TData>;
2064
2189
  row: Row<TMDataGridFeatures, TData>;
@@ -2073,13 +2198,21 @@ type TMDataGridRowContextMenuArgs<TData extends RowData> = {
2073
2198
  * `closeOnItemClick`), so this is for content that isn't a menu item.
2074
2199
  */
2075
2200
  close: () => void;
2201
+ /**
2202
+ * The grid's own items for this menu: the cell copy and export items, under
2203
+ * `cellSelection: "range"`, and `null` otherwise.
2204
+ *
2205
+ * Placing it decides the order. Ignore it and the grid keeps today's
2206
+ * behavior, rendering its items above a divider and yours below.
2207
+ */
2208
+ internalItems: ReactNode;
2076
2209
  };
2077
2210
  /**
2078
2211
  * Builds the contents of a row's context menu - `Menu.Item`, `Menu.Label`,
2079
2212
  * `Menu.Divider`, `Menu.Sub`, or any other node. The grid owns the `Menu` and
2080
2213
  * its `Menu.Dropdown`; this fills the dropdown.
2081
2214
  */
2082
- type TMDataGridRowContextMenu<TData extends RowData> = (args: TMDataGridRowContextMenuArgs<TData>) => ReactNode;
2215
+ type TMDataGridRowContextMenuRenderer<TData extends RowData> = (args: TMDataGridRowContextMenuArgs<TData>) => ReactNode;
2083
2216
  /**
2084
2217
  * What the `onCellClick` family receives - the cell with its row and column,
2085
2218
  * in the consumer's own row type, plus the pointer event.
@@ -2112,7 +2245,7 @@ type TMDataGridTableProps<TData extends RowData> = {
2112
2245
  /** As {@link onCellClick}; a double-click that opens an editor still does. */
2113
2246
  onCellDoubleClick?: (args: TMDataGridCellEventArgs<TData>) => void;
2114
2247
  /**
2115
- * As {@link onCellClick}; `rowContextMenu` and the cell-selection menu still
2248
+ * As {@link onCellClick}; `renderRowContextMenu` and the cell-selection menu still
2116
2249
  * open. To suppress the browser's own menu on a grid with neither, call
2117
2250
  * `event.preventDefault()` here.
2118
2251
  */
@@ -2174,7 +2307,7 @@ type TMDataGridTableProps<TData extends RowData> = {
2174
2307
  *
2175
2308
  * ```tsx
2176
2309
  * <TMDataGrid.Table<Employee>
2177
- * rowContextMenu={({ row, close }) => (
2310
+ * renderRowContextMenu={({ row, close }) => (
2178
2311
  * <>
2179
2312
  * <Menu.Label>{row.original.firstName}</Menu.Label>
2180
2313
  * <Menu.Item onClick={() => open(row.original.id)}>Open</Menu.Item>
@@ -2187,10 +2320,33 @@ type TMDataGridTableProps<TData extends RowData> = {
2187
2320
  * />
2188
2321
  * ```
2189
2322
  *
2323
+ * `internalItems` is the grid's own half - place it to control the order,
2324
+ * ignore it and the grid keeps its items above a divider and yours below.
2325
+ *
2190
2326
  * Called during render, and only for the row whose menu is open - so it stays
2191
2327
  * a pure function of the row, and cost per row does not matter.
2192
2328
  */
2193
- rowContextMenu?: TMDataGridRowContextMenu<TData>;
2329
+ renderRowContextMenu?: TMDataGridRowContextMenuRenderer<TData>;
2330
+ /**
2331
+ * Replaces a column menu's contents, taking the grid's own items and
2332
+ * returning the full list.
2333
+ *
2334
+ * ```tsx
2335
+ * <TMDataGrid.Table
2336
+ * renderColumnMenuItems={({ column, internalItems }) => [
2337
+ * ...internalItems,
2338
+ * <Menu.Divider key="custom" />,
2339
+ * <Menu.Item key="stats" onClick={() => showStats(column.id)}>
2340
+ * Statistics
2341
+ * </Menu.Item>,
2342
+ * ]}
2343
+ * />
2344
+ * ```
2345
+ *
2346
+ * Returning an empty list leaves the column with no menu button, the same as
2347
+ * a column whose every feature is switched off.
2348
+ */
2349
+ renderColumnMenuItems?: TMDataGridColumnMenuItemsRenderer;
2194
2350
  /**
2195
2351
  * Passed to the Mantine `Menu` the grid wraps the row in - `width`, `shadow`,
2196
2352
  * `position`, `transitionProps` and the rest. Its open state is the grid's.
@@ -2236,7 +2392,7 @@ type TMDataGridTableProps<TData extends RowData> = {
2236
2392
  * no-pagination mode viable at any row count. Pagination is opt-in via
2237
2393
  * `enablePagination` (or implied by `manualPagination`).
2238
2394
  */
2239
- declare function TMDataGridTable$1<TData extends RowData = TMDataGridRowData>({ onRowClick, onCellClick, onCellDoubleClick, onCellContextMenu, rowClassName, rowStyle, striped, onScrollToTop, onScrollToBottom, onScrollToLeft, onScrollToRight, renderEmptyState, rowContextMenu, rowContextMenuProps, cellExport, onReachEnd, reachEndThreshold, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }: TMDataGridTableProps<TData>): import("react").JSX.Element;
2395
+ declare function TMDataGridTable$1<TData extends RowData = TMDataGridRowData>({ onRowClick, onCellClick, onCellDoubleClick, onCellContextMenu, rowClassName, rowStyle, striped, onScrollToTop, onScrollToBottom, onScrollToLeft, onScrollToRight, renderEmptyState, renderRowContextMenu, renderColumnMenuItems, rowContextMenuProps, cellExport, onReachEnd, reachEndThreshold, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy }: TMDataGridTableProps<TData>): import("react").JSX.Element;
2240
2396
  //#endregion
2241
2397
  //#region .types-tmp/components/TMDataGridToolbar.d.ts
2242
2398
  /** Row above the grid. Compose it from the pieces below, or anything else. */
@@ -2779,4 +2935,4 @@ declare function getSelectableRowIds<TData extends RowData>(row: Row<TMDataGridF
2779
2935
  */
2780
2936
  declare function resolveRowSelectionClick<TData extends RowData>({ rows, rowId, anchorRowId, modifiers, selection, canReplaceSelection }: ResolveRowSelectionClickArgs<TData>): ResolvedRowSelection;
2781
2937
  //#endregion
2782
- export { type BuildCellMatrixArgs, type ColumnStepArgs, DATA_STATE_SLICES, DEFAULT_CELL_EXPORT_OPTIONS, DEFAULT_TMDATAGRID_SIZE, DETAILS_COLUMN_ID, DgAutocompleteFilter, DgDateRangeFilter, DgRangeSliderFilter, DgTriStateFilter, EDIT_COLUMN_ID, FILTER_OPERATOR_LABELS, GROUP_COLUMN_ID, type MoveColumnArgs, PERSIST_PAYLOAD_VERSION, ROW_NUMBER_COLUMN_ID, type ResolveCellMoveArgs, type ResolveRangeBoundsArgs, type ResolveRowSelectionClickArgs, type ResolvedRowSelection, SELECT_COLUMN_ID, SETTINGS_STATE_SLICES, SIZE_CONTROL_SIZE, SIZE_ROW_HEIGHT, TMDATAGRID_LABELS_EN, TMDATAGRID_LABELS_SV, TMDataGrid, type TMDataGridAggregationName, type TMDataGridApi, TMDataGridBooleanEditor, type TMDataGridCapabilities, type TMDataGridCellCoords, type TMDataGridCellEventArgs, type TMDataGridCellExportOptions, type TMDataGridCellMatrix, type TMDataGridCellNav, type TMDataGridCellPosition, type TMDataGridCellRange, type TMDataGridCellSelectionMode, type TMDataGridColumnCapabilities, type TMDataGridColumnLayout, type TMDataGridColumnMeta, type TMDataGridColumnRegion, type TMDataGridColumnType, type TMDataGridContextValue, type TMDataGridDataSlice, TMDataGridDateEditor, type TMDataGridDetailsArgs, type TMDataGridDetailsRenderer, type TMDataGridDropSide, TMDataGridEditActions, type TMDataGridEditApi, type TMDataGridEditChange, type TMDataGridEditCommitArgs, type TMDataGridEditCommitBatchArgs, type TMDataGridEditField, type TMDataGridEditMode, type TMDataGridEditRowProjection, type TMDataGridEditState, type TMDataGridEditingOptions, type TMDataGridEditorArgs, type TMDataGridEditorComponent, type TMDataGridExpandAllArgs, type TMDataGridExpandTarget, type TMDataGridFeatureFlags, type TMDataGridFeatures, type TMDataGridFieldValidate, type TMDataGridFilterControlArgs, type TMDataGridFilterControlComponent, type TMDataGridFilterOperator, TMDataGridFilterPills, type TMDataGridFilterPillsProps, type TMDataGridFilterValue, TMDataGridFilterValueInput, type TMDataGridFooterProps, type TMDataGridLabels, type TMDataGridLabelsOverride, TMDataGridMultiSelectEditor, TMDataGridNumberEditor, type TMDataGridOption, type TMDataGridOptionsArgs, type TMDataGridOptionsSource, type TMDataGridPaginationApi, type TMDataGridPersistKey, type TMDataGridPersistence, type TMDataGridProps, type TMDataGridQuickSearchMode, type TMDataGridRangeBounds, type TMDataGridRowAddArgs, type TMDataGridRowClickModifiers, type TMDataGridRowContextMenu, type TMDataGridRowContextMenuArgs, type TMDataGridRowData, type TMDataGridRowDeleteArgs, type TMDataGridRowEditForm, type TMDataGridRowStyle, type TMDataGridRowValidators, type TMDataGridScrollAlign, type TMDataGridScrollToRowArgs, TMDataGridSearch, type TMDataGridSearchProps, TMDataGridSelectEditor, type TMDataGridSelectionMode, type TMDataGridSettingsSlice, type TMDataGridSize, type TMDataGridStorageMode, TMDataGridStringEditor, type TMDataGridTable, type TMDataGridTableMeta, type TMDataGridTableProps, type TMDataGridUiActions, type TMDataGridUiState, type TMDataGridUiStore, type UseTMDataGridOptions, aggregateColumn, areAllRowsExpanded, autosizeColumn, boundsCellCount, boundsEdges, buildCellMatrix, buildGridCellMatrix, clearedValueForType, createTMDataGridColumnHelper, downloadTextFile, emptyValueForOperator, exportGridToCsv, formatExportValue, formatFilterLabel, formatGroupValue, fuzzyGlobalFilterFn, getColumnCapabilities, getColumnDefaultOperator, getColumnLabel, getColumnRegion, getColumnType, getDefaultOperator, getDisplayedRows, getEditFieldName, getGridCapabilities, getGroupDataRows, getOperatorsForType, getSelectableRowIds, getStepTargetColumn, getTMDataGridPaginationApi, isColumnReorderable, isControlColumn, isFilterActive, isPagingActive, isSameCell, isWithinBounds, measureColumnContentWidth, mergeLabels, moveColumn, moveColumnByStep, normalizeFieldValidate, openColumnFilter, operatorNeedsValue, operatorTakesArrayValue, operatorTakesRangeValue, optionsToComboboxData, readFeatureFlags, resolveCellMove, resolveColumnOptions, resolveExpandAll, resolveRangeBounds, resolveRowSelectionClick, tmDataGridFeatures, toClipboardText, toExcelCsv, useCellControlTabIndex, useTMDataGrid, useTMDataGridContext, writeClipboardText };
2938
+ export { type BuildCellMatrixArgs, type ColumnStepArgs, DATA_STATE_SLICES, DEFAULT_CELL_EXPORT_OPTIONS, DEFAULT_TMDATAGRID_SIZE, DETAILS_COLUMN_ID, DgAutocompleteFilter, DgDateRangeFilter, DgRangeSliderFilter, DgTriStateFilter, EDIT_COLUMN_ID, FILTER_OPERATOR_LABELS, GROUP_COLUMN_ID, type MoveColumnArgs, PERSIST_PAYLOAD_VERSION, ROW_NUMBER_COLUMN_ID, type ResolveCellMoveArgs, type ResolveRangeBoundsArgs, type ResolveRowSelectionClickArgs, type ResolvedRowSelection, SELECT_COLUMN_ID, SETTINGS_STATE_SLICES, SIZE_CONTROL_SIZE, SIZE_ROW_HEIGHT, TMDATAGRID_LABELS_EN, TMDATAGRID_LABELS_SV, TMDataGrid, type TMDataGridAggregationName, type TMDataGridApi, TMDataGridBooleanEditor, type TMDataGridCapabilities, type TMDataGridCellCoords, type TMDataGridCellEventArgs, type TMDataGridCellExportOptions, type TMDataGridCellMatrix, type TMDataGridCellNav, type TMDataGridCellPosition, type TMDataGridCellRange, type TMDataGridCellSelectionMode, type TMDataGridColumnCapabilities, type TMDataGridColumnLayout, type TMDataGridColumnMenuItemsArgs, type TMDataGridColumnMenuItemsRenderer, type TMDataGridColumnMeta, type TMDataGridColumnRegion, type TMDataGridColumnType, type TMDataGridContextValue, type TMDataGridDataSlice, TMDataGridDateEditor, type TMDataGridDetailsArgs, type TMDataGridDetailsRenderer, type TMDataGridDropSide, TMDataGridEditActions, type TMDataGridEditActionsActions, type TMDataGridEditActionsControls, type TMDataGridEditActionsProps, type TMDataGridEditActionsSlotArgs, type TMDataGridEditActionsState, type TMDataGridEditApi, type TMDataGridEditChange, type TMDataGridEditCommitArgs, type TMDataGridEditCommitBatchArgs, type TMDataGridEditField, type TMDataGridEditMode, type TMDataGridEditRowProjection, type TMDataGridEditState, type TMDataGridEditingOptions, type TMDataGridEditorArgs, type TMDataGridEditorComponent, type TMDataGridExpandAllArgs, type TMDataGridExpandTarget, type TMDataGridFeatureFlags, type TMDataGridFeatures, type TMDataGridFieldValidate, type TMDataGridFilterControlArgs, type TMDataGridFilterControlComponent, type TMDataGridFilterOperator, TMDataGridFilterPills, type TMDataGridFilterPillsProps, type TMDataGridFilterValue, TMDataGridFilterValueInput, type TMDataGridFooterProps, type TMDataGridLabels, type TMDataGridLabelsOverride, TMDataGridMultiSelectEditor, TMDataGridNumberEditor, type TMDataGridOption, type TMDataGridOptionsArgs, type TMDataGridOptionsSource, type TMDataGridPaginationActions, type TMDataGridPaginationApi, type TMDataGridPaginationControls, type TMDataGridPaginationSlotArgs, type TMDataGridPaginationState, type TMDataGridPersistKey, type TMDataGridPersistence, type TMDataGridProps, type TMDataGridQuickSearchMode, type TMDataGridRangeBounds, type TMDataGridRowAddArgs, type TMDataGridRowClickModifiers, type TMDataGridRowContextMenuArgs, type TMDataGridRowContextMenuRenderer, type TMDataGridRowData, type TMDataGridRowDeleteArgs, type TMDataGridRowEditForm, type TMDataGridRowStyle, type TMDataGridRowValidators, type TMDataGridScrollAlign, type TMDataGridScrollToRowArgs, TMDataGridSearch, type TMDataGridSearchProps, TMDataGridSelectEditor, type TMDataGridSelectionMode, type TMDataGridSettingsSlice, type TMDataGridSize, type TMDataGridStorageMode, TMDataGridStringEditor, type TMDataGridTable, type TMDataGridTableMeta, type TMDataGridTableProps, type TMDataGridUiActions, type TMDataGridUiState, type TMDataGridUiStore, type UseTMDataGridOptions, aggregateColumn, areAllRowsExpanded, autosizeColumn, boundsCellCount, boundsEdges, buildCellMatrix, buildGridCellMatrix, clearedValueForType, createTMDataGridColumnHelper, downloadTextFile, emptyValueForOperator, exportGridToCsv, formatExportValue, formatFilterLabel, formatGroupValue, fuzzyGlobalFilterFn, getColumnCapabilities, getColumnDefaultOperator, getColumnLabel, getColumnRegion, getColumnType, getDefaultOperator, getDisplayedRows, getEditFieldName, getGridCapabilities, getGroupDataRows, getOperatorsForType, getSelectableRowIds, getStepTargetColumn, getTMDataGridPaginationApi, isColumnReorderable, isControlColumn, isFilterActive, isPagingActive, isSameCell, isWithinBounds, measureColumnContentWidth, mergeLabels, moveColumn, moveColumnByStep, normalizeFieldValidate, openColumnFilter, operatorNeedsValue, operatorTakesArrayValue, operatorTakesRangeValue, optionsToComboboxData, readFeatureFlags, resolveCellMove, resolveColumnOptions, resolveExpandAll, resolveRangeBounds, resolveRowSelectionClick, tmDataGridFeatures, toClipboardText, toExcelCsv, useCellControlTabIndex, useTMDataGrid, useTMDataGridContext, writeClipboardText };