@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 +17 -14
- package/dist/index.d.ts +172 -16
- package/dist/index.js +1691 -1599
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/appearance/SKILL.md +1 -1
- package/skills/cell-selection/SKILL.md +4 -4
- package/skills/columns/SKILL.md +1 -1
- package/skills/data/SKILL.md +33 -20
- package/skills/editing/SKILL.md +82 -75
- package/skills/editing/references/editing-api.md +1 -1
- package/skills/filtering/SKILL.md +1 -1
- package/skills/getting-started/SKILL.md +23 -17
- package/skills/grouping/SKILL.md +1 -1
- package/skills/options/SKILL.md +1 -1
- package/skills/rows/SKILL.md +41 -11
- package/skills/rows/references/rows-api.md +3 -2
- package/skills/server-side/SKILL.md +1 -1
- package/skills/testing/SKILL.md +1 -1
- package/src/tmdatagrid/components/TMDataGridEditActions.tsx +132 -32
- package/src/tmdatagrid/components/TMDataGridFooter.tsx +223 -95
- package/src/tmdatagrid/components/TMDataGridHeaderCell.tsx +41 -4
- package/src/tmdatagrid/components/TMDataGridTable.tsx +102 -44
- package/src/tmdatagrid/index.ts +17 -2
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
| [
|
|
98
|
-
| [
|
|
99
|
-
| [
|
|
100
|
-
| [
|
|
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
|
-
| `
|
|
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
|
|
126
|
-
|
|
127
|
-
|
|
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
|
-
/**
|
|
1820
|
-
type
|
|
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
|
-
* `
|
|
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
|
|
1930
|
+
declare function getTMDataGridPaginationApi<TData extends RowData>(table: TMDataGridTable<TData>, isPaging?: boolean): TMDataGridPaginationApi;
|
|
1841
1931
|
type TMDataGridFooterProps = {
|
|
1842
1932
|
pageSizeOptions?: ReadonlyArray<number>;
|
|
1843
|
-
/**
|
|
1844
|
-
|
|
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,
|
|
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
|
|
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
|
|
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}; `
|
|
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
|
-
*
|
|
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
|
-
|
|
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,
|
|
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
|
|
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 };
|