@bmsuisse/datagrid 0.37.1 → 0.39.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 +24 -0
- package/dist/index.d.ts +158 -10
- package/dist/index.js +646 -412
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -27,6 +27,30 @@ const columns: ColumnDef<Row>[] = [
|
|
|
27
27
|
<DataGrid columns={columns} dataSource={{ mode: "client", data: rows }} />;
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
### Translating the filter UI
|
|
31
|
+
|
|
32
|
+
Filter widgets ship with English strings. Pass `filterLabels` (a
|
|
33
|
+
`Partial<FilterLabels>`; anything omitted keeps its default from
|
|
34
|
+
`defaultFilterLabels`) to translate them:
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
import { de } from "date-fns/locale";
|
|
38
|
+
|
|
39
|
+
<DataGrid
|
|
40
|
+
columns={columns}
|
|
41
|
+
dataSource={{ mode: "client", data: rows }}
|
|
42
|
+
filterLabels={{
|
|
43
|
+
selectAll: "Alle auswählen",
|
|
44
|
+
searchPlaceholder: (header) => `${header} suchen…`,
|
|
45
|
+
filterAriaLabel: (header) => `${header} filtern`,
|
|
46
|
+
dateLocale: de,
|
|
47
|
+
}}
|
|
48
|
+
/>;
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Widgets rendered outside a `<DataGrid>` read the same labels from a
|
|
52
|
+
`<FilterLabelsProvider labels={…}>`, or take a per-widget `labels` prop.
|
|
53
|
+
|
|
30
54
|
See [AGENTS.md](../../AGENTS.md) for the full design rationale, and
|
|
31
55
|
`packages/datagrid/demo` for a runnable example against both a SQL and a
|
|
32
56
|
Meilisearch backend.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Locale } from 'date-fns';
|
|
1
2
|
import { ReactNode, ReactElement, MouseEvent, ComponentType, RefObject } from 'react';
|
|
2
3
|
import { ColumnSizingState, RowData } from '@tanstack/react-table';
|
|
3
4
|
export { ColumnSizingState } from '@tanstack/react-table';
|
|
@@ -62,6 +63,96 @@ declare function fieldKey(field: string | string[]): string;
|
|
|
62
63
|
*/
|
|
63
64
|
declare function evaluateFilter<TRow>(row: TRow, filter: CompositeFilterDescriptor | FilterDescriptor | null | undefined): boolean;
|
|
64
65
|
|
|
66
|
+
/**
|
|
67
|
+
* Every user-facing string the built-in filter widgets (and `<DataGrid>`'s
|
|
68
|
+
* own header filter trigger) render. This package has no translation/i18n
|
|
69
|
+
* layer — same convention as `EditingOptions.saveLabel`/`discardLabel`:
|
|
70
|
+
* you supply already-translated strings (or, for templated ones, a
|
|
71
|
+
* function) and the English defaults in `defaultFilterLabels` apply to
|
|
72
|
+
* anything you leave out. See #72.
|
|
73
|
+
*
|
|
74
|
+
* Supply them via `<DataGrid filterLabels>`, a `<FilterLabelsProvider>`
|
|
75
|
+
* around any widgets you render yourself (custom `renderFilter`,
|
|
76
|
+
* `renderHeader`, standalone use), or a single widget's own `labels` prop —
|
|
77
|
+
* innermost wins, each merged over the one outside it.
|
|
78
|
+
*/
|
|
79
|
+
interface FilterLabels {
|
|
80
|
+
/** Accessible name of every filter trigger button (the header funnel icon and each widget's own `bare={false}` trigger). */
|
|
81
|
+
filterAriaLabel: (header: string) => string;
|
|
82
|
+
/** EnumFilter search input placeholder. */
|
|
83
|
+
searchPlaceholder: (header: string) => string;
|
|
84
|
+
/** EnumFilter "Select all" checkbox label (acts on the currently visible options). */
|
|
85
|
+
selectAll: string;
|
|
86
|
+
/** Accessible name of an EnumFilter group header's tri-state checkbox. */
|
|
87
|
+
selectAllOfGroup: (group: string) => string;
|
|
88
|
+
/** EnumFilter empty-search message. */
|
|
89
|
+
noMatches: string;
|
|
90
|
+
/** EnumFilter `bare={false}` trigger summary once something is selected. */
|
|
91
|
+
selectedCount: (count: number) => string;
|
|
92
|
+
stringPlaceholder: (header: string) => string;
|
|
93
|
+
stringContains: string;
|
|
94
|
+
stringIs: string;
|
|
95
|
+
stringStartsWith: string;
|
|
96
|
+
stringEndsWith: string;
|
|
97
|
+
/** Accessible name of the StringFilter/NumberComparisonFilter operator dropdown. */
|
|
98
|
+
operatorAriaLabel: (header: string) => string;
|
|
99
|
+
booleanAll: string;
|
|
100
|
+
booleanYes: string;
|
|
101
|
+
booleanNo: string;
|
|
102
|
+
/** Accessible name of the BooleanFilter select. */
|
|
103
|
+
booleanAriaLabel: (header: string) => string;
|
|
104
|
+
minPlaceholder: string;
|
|
105
|
+
maxPlaceholder: string;
|
|
106
|
+
valuePlaceholder: string;
|
|
107
|
+
/** The small word between the min and max inputs. */
|
|
108
|
+
rangeSeparator: string;
|
|
109
|
+
minimumAriaLabel: (header: string) => string;
|
|
110
|
+
maximumAriaLabel: (header: string) => string;
|
|
111
|
+
minimumSliderAriaLabel: (header: string) => string;
|
|
112
|
+
maximumSliderAriaLabel: (header: string) => string;
|
|
113
|
+
numberGreaterThan: string;
|
|
114
|
+
numberGreaterThanOrEqual: string;
|
|
115
|
+
numberLessThan: string;
|
|
116
|
+
numberLessThanOrEqual: string;
|
|
117
|
+
numberEquals: string;
|
|
118
|
+
numberNotEquals: string;
|
|
119
|
+
numberBetween: string;
|
|
120
|
+
/** NumberHistogramFilter's clear button. */
|
|
121
|
+
clear: string;
|
|
122
|
+
/** NumberHistogramFilter's `loadValues` in-flight message. */
|
|
123
|
+
loading: string;
|
|
124
|
+
/** NumberHistogramFilter: `loadValues` rejected. */
|
|
125
|
+
loadFailed: string;
|
|
126
|
+
/** NumberHistogramFilter: retry action next to `loadFailed`. */
|
|
127
|
+
retry: string;
|
|
128
|
+
dateToday: string;
|
|
129
|
+
dateLast7Days: string;
|
|
130
|
+
dateThisMonth: string;
|
|
131
|
+
dateCustom: string;
|
|
132
|
+
/**
|
|
133
|
+
* date-fns locale for DateRangeFilter's calendar (month/weekday names,
|
|
134
|
+
* first day of week) and its trigger summary. Unset keeps date-fns'/
|
|
135
|
+
* react-day-picker's own default (en-US), exactly as before.
|
|
136
|
+
*/
|
|
137
|
+
dateLocale?: Locale;
|
|
138
|
+
}
|
|
139
|
+
/** English defaults — byte-for-byte the strings every widget rendered before `FilterLabels` existed. */
|
|
140
|
+
declare const defaultFilterLabels: FilterLabels;
|
|
141
|
+
/** Merges `overrides` over `base`, ignoring keys explicitly set to `undefined` (so `{ selectAll: maybeT }` never blanks a default). */
|
|
142
|
+
declare function mergeFilterLabels(base: FilterLabels, overrides: Partial<FilterLabels> | undefined): FilterLabels;
|
|
143
|
+
/**
|
|
144
|
+
* Supplies `labels` to every filter widget below it, merged over any
|
|
145
|
+
* enclosing provider's (or the English defaults). `<DataGrid filterLabels>`
|
|
146
|
+
* renders one of these itself; use it directly around widgets you render
|
|
147
|
+
* outside a `<DataGrid>`.
|
|
148
|
+
*/
|
|
149
|
+
declare function FilterLabelsProvider({ labels, children, }: {
|
|
150
|
+
labels: Partial<FilterLabels> | undefined;
|
|
151
|
+
children: ReactNode;
|
|
152
|
+
}): ReactElement;
|
|
153
|
+
/** The effective labels here: context (or defaults), with an optional per-widget `overrides` merged on top. */
|
|
154
|
+
declare function useFilterLabels(overrides?: Partial<FilterLabels>): FilterLabels;
|
|
155
|
+
|
|
65
156
|
/**
|
|
66
157
|
* Contract every built-in filter widget implements. `TColumn` is narrowed to
|
|
67
158
|
* the specific column shape the widget knows how to render (e.g. `EnumColumn`
|
|
@@ -70,11 +161,16 @@ declare function evaluateFilter<TRow>(row: TRow, filter: CompositeFilterDescript
|
|
|
70
161
|
*
|
|
71
162
|
* `value` is the current FilterDescriptor for this column, or undefined when
|
|
72
163
|
* no filter is applied. `onChange(undefined)` clears the filter entirely.
|
|
164
|
+
*
|
|
165
|
+
* `labels` overrides this one widget's user-facing strings, merged over
|
|
166
|
+
* whatever an enclosing `<FilterLabelsProvider>`/`<DataGrid filterLabels>`
|
|
167
|
+
* supplies (see `FilterLabels`).
|
|
73
168
|
*/
|
|
74
169
|
interface FilterWidgetProps<TColumn> {
|
|
75
170
|
column: TColumn;
|
|
76
171
|
value: FilterDescriptor | undefined;
|
|
77
172
|
onChange: (next: FilterDescriptor | undefined) => void;
|
|
173
|
+
labels?: Partial<FilterLabels>;
|
|
78
174
|
}
|
|
79
175
|
|
|
80
176
|
/** Horizontal alignment used for a column's cell content and header. */
|
|
@@ -293,7 +389,7 @@ declare function isEditable<TRow>(column: ColumnDef<TRow>, row: TRow): boolean;
|
|
|
293
389
|
* `bare` doc for why (`renderDefaultFilterWidget` passes this automatically
|
|
294
390
|
* outside `filterDisplay: "row"`).
|
|
295
391
|
*/
|
|
296
|
-
declare function BooleanFilter<TRow>({ column, value, onChange, bare, }: FilterWidgetProps<BooleanColumn<TRow>> & {
|
|
392
|
+
declare function BooleanFilter<TRow>({ column, value, onChange, bare, labels: labelOverrides, }: FilterWidgetProps<BooleanColumn<TRow>> & {
|
|
297
393
|
bare?: boolean;
|
|
298
394
|
}): ReactElement;
|
|
299
395
|
|
|
@@ -312,7 +408,7 @@ declare function BooleanFilter<TRow>({ column, value, onChange, bare, }: FilterW
|
|
|
312
408
|
* `EnumFilter`'s identical `bare` doc for why (`renderDefaultFilterWidget`
|
|
313
409
|
* passes this automatically outside `filterDisplay: "row"`).
|
|
314
410
|
*/
|
|
315
|
-
declare function DateRangeFilter<TRow>({ column, value, onChange, today, bare, }: FilterWidgetProps<DateColumn<TRow>> & {
|
|
411
|
+
declare function DateRangeFilter<TRow>({ column, value, onChange, today, bare, labels: labelOverrides, }: FilterWidgetProps<DateColumn<TRow>> & {
|
|
316
412
|
today?: Date;
|
|
317
413
|
bare?: boolean;
|
|
318
414
|
}): ReactElement;
|
|
@@ -354,7 +450,7 @@ declare function DateRangeFilter<TRow>({ column, value, onChange, today, bare, }
|
|
|
354
450
|
* "row"`, so `<DataGrid>`'s own header-icon popover isn't nested inside a
|
|
355
451
|
* second one of this component's own).
|
|
356
452
|
*/
|
|
357
|
-
declare function EnumFilter<TRow>({ column, value, onChange, bare, }: FilterWidgetProps<EnumColumn<TRow>> & {
|
|
453
|
+
declare function EnumFilter<TRow>({ column, value, onChange, bare, labels: labelOverrides, }: FilterWidgetProps<EnumColumn<TRow>> & {
|
|
358
454
|
bare?: boolean;
|
|
359
455
|
}): ReactElement;
|
|
360
456
|
|
|
@@ -387,7 +483,7 @@ declare function EnumFilter<TRow>({ column, value, onChange, bare, }: FilterWidg
|
|
|
387
483
|
* column also sets `filterDisplay: "row"`, where nothing else provides a
|
|
388
484
|
* trigger — see `NumberHistogramFilter`'s identical `bare` doc for why.
|
|
389
485
|
*/
|
|
390
|
-
declare function NumberComparisonFilter<TRow>({ column, value, onChange, bare, }: FilterWidgetProps<NumberColumn<TRow>> & {
|
|
486
|
+
declare function NumberComparisonFilter<TRow>({ column, value, onChange, bare, labels: labelOverrides, }: FilterWidgetProps<NumberColumn<TRow>> & {
|
|
391
487
|
bare?: boolean;
|
|
392
488
|
}): ReactElement;
|
|
393
489
|
|
|
@@ -418,7 +514,7 @@ declare function NumberComparisonFilter<TRow>({ column, value, onChange, bare, }
|
|
|
418
514
|
* (bare: false) is what keeps a plain numeric column from forcing its whole
|
|
419
515
|
* column wider than its data ever needs.
|
|
420
516
|
*/
|
|
421
|
-
declare function NumberRangeFilter<TRow>({ column, value, onChange, bare, }: FilterWidgetProps<NumberColumn<TRow>> & {
|
|
517
|
+
declare function NumberRangeFilter<TRow>({ column, value, onChange, bare, labels: labelOverrides, }: FilterWidgetProps<NumberColumn<TRow>> & {
|
|
422
518
|
bare?: boolean;
|
|
423
519
|
}): ReactElement;
|
|
424
520
|
|
|
@@ -498,7 +594,7 @@ type NumberHistogramFilterProps<TRow> = FilterWidgetProps<NumberColumn<TRow>> &
|
|
|
498
594
|
* `facetedNumberValues(data, column, filter)` in client mode, or supply
|
|
499
595
|
* `loadValues` to fetch the facet from the server in server mode.
|
|
500
596
|
*/
|
|
501
|
-
declare function NumberHistogramFilter<TRow>({ column, value, onChange, allValues, loadValues, format, buckets, bare, }: NumberHistogramFilterProps<TRow>): ReactElement;
|
|
597
|
+
declare function NumberHistogramFilter<TRow>({ column, value, onChange, allValues, loadValues, format, buckets, bare, labels: labelOverrides, }: NumberHistogramFilterProps<TRow>): ReactElement;
|
|
502
598
|
|
|
503
599
|
type FilterNode = FilterDescriptor | CompositeFilterDescriptor;
|
|
504
600
|
/**
|
|
@@ -531,7 +627,7 @@ declare function facetedNumberValues<TRow>(data: readonly TRow[], column: Column
|
|
|
531
627
|
* identical `bare` doc for why (`renderDefaultFilterWidget` passes this
|
|
532
628
|
* automatically outside `filterDisplay: "row"`).
|
|
533
629
|
*/
|
|
534
|
-
declare function StringFilter<TRow>({ column, value, onChange, bare, }: FilterWidgetProps<StringColumn<TRow>> & {
|
|
630
|
+
declare function StringFilter<TRow>({ column, value, onChange, bare, labels: labelOverrides, }: FilterWidgetProps<StringColumn<TRow>> & {
|
|
535
631
|
bare?: boolean;
|
|
536
632
|
}): ReactElement;
|
|
537
633
|
|
|
@@ -1391,6 +1487,28 @@ interface ActionsMenuProps<TRow> {
|
|
|
1391
1487
|
*/
|
|
1392
1488
|
declare function ActionsMenu<TRow>({ items, ctx, triggerLabel }: ActionsMenuProps<TRow>): ReactElement | null;
|
|
1393
1489
|
|
|
1490
|
+
/** Structured error shown by the grid's error states. Same shape as `@bmsuisse/ui`'s `ErrorInfo`. */
|
|
1491
|
+
interface ErrorInfo {
|
|
1492
|
+
title?: string;
|
|
1493
|
+
message?: string;
|
|
1494
|
+
/** Technical details (stack, response body) — shown behind a "Show details" toggle. */
|
|
1495
|
+
details?: string;
|
|
1496
|
+
}
|
|
1497
|
+
/** What the grids accept for `error` — pass a TanStack Query / SWR / `catch` error straight through. */
|
|
1498
|
+
type ErrorInput = ErrorInfo | Error | string | null | undefined | false;
|
|
1499
|
+
declare function toErrorInfo(error: unknown): ErrorInfo | undefined;
|
|
1500
|
+
/** User-facing strings of the grid's loading/error/empty states. Anything omitted keeps its English default. */
|
|
1501
|
+
interface GridStatusLabels {
|
|
1502
|
+
loading: string;
|
|
1503
|
+
noResults: string;
|
|
1504
|
+
errorTitle: string;
|
|
1505
|
+
retry: string;
|
|
1506
|
+
showDetails: string;
|
|
1507
|
+
/** TreeDataGrid: shown on a node whose lazy children failed to load. */
|
|
1508
|
+
nodeLoadFailed: string;
|
|
1509
|
+
}
|
|
1510
|
+
declare const defaultGridStatusLabels: GridStatusLabels;
|
|
1511
|
+
|
|
1394
1512
|
/**
|
|
1395
1513
|
* `"client"`: the grid owns filtering/sorting/pagination and evaluates them
|
|
1396
1514
|
* in-memory against the full `data` array (via `evaluateFilter`).
|
|
@@ -1445,6 +1563,17 @@ interface DataGridProps<TRow> {
|
|
|
1445
1563
|
* The two are OR'd together if both happen to be set. Defaults to `false`.
|
|
1446
1564
|
*/
|
|
1447
1565
|
loading?: boolean;
|
|
1566
|
+
/**
|
|
1567
|
+
* The data fetch failed. With no rows to show, the body is replaced by an error
|
|
1568
|
+
* state (title, message, collapsible details, Retry); with stale rows still shown,
|
|
1569
|
+
* they stay and a slim error banner appears above them. Accepts a string, an
|
|
1570
|
+
* `Error` (message + stack as details) or `{ title, message, details }`.
|
|
1571
|
+
*/
|
|
1572
|
+
error?: ErrorInput;
|
|
1573
|
+
/** Shows a Retry action in the error state/banner. */
|
|
1574
|
+
onRetry?: () => void;
|
|
1575
|
+
/** Overrides the grid's "Loading...", "No results." and error-state strings. */
|
|
1576
|
+
statusLabels?: Partial<GridStatusLabels>;
|
|
1448
1577
|
/** Per-row kebab menu. Evaluated with `ctx.row` set to that row. */
|
|
1449
1578
|
rowActions?: MenuItem<TRow>[];
|
|
1450
1579
|
/** Toolbar menu above the table. Evaluated with `ctx.selectedRows` set. */
|
|
@@ -1690,6 +1819,15 @@ interface DataGridProps<TRow> {
|
|
|
1690
1819
|
* See `CellEditingOptions` for the full contract.
|
|
1691
1820
|
*/
|
|
1692
1821
|
cellEditing?: CellEditingOptions<TRow>;
|
|
1822
|
+
/**
|
|
1823
|
+
* Overrides the user-facing strings of every column-filter UI this grid
|
|
1824
|
+
* renders — the header filter trigger's accessible name and every
|
|
1825
|
+
* built-in filter widget (including ones a column's own `renderFilter`
|
|
1826
|
+
* renders, via context). Anything omitted keeps its English default from
|
|
1827
|
+
* `defaultFilterLabels`, so leaving this unset changes nothing. See
|
|
1828
|
+
* `FilterLabels` for every key (#72).
|
|
1829
|
+
*/
|
|
1830
|
+
filterLabels?: Partial<FilterLabels>;
|
|
1693
1831
|
}
|
|
1694
1832
|
|
|
1695
1833
|
/**
|
|
@@ -1700,7 +1838,7 @@ interface DataGridProps<TRow> {
|
|
|
1700
1838
|
* (`"server"`). Column filter UI defaults to the type-appropriate widget
|
|
1701
1839
|
* from `src/filter` unless a column supplies its own `cell` renderer.
|
|
1702
1840
|
*/
|
|
1703
|
-
declare function DataGrid<TRow extends RowData>({ columns, dataSource, getRowId, rowActions, headerActions, enableMultiSort, initialState, columnVisibility, renderDetail, enableColumnResizing, columnResizeMode, columnSizing: controlledColumnSizing, onColumnSizingChange, virtualize, showPagination, getRowProps, getRowTestId, gridState, onGridStateChange, selectedIds: controlledSelectedIds, onSelectedIdsChange, testId, loading: loadingProp, groupBy, renderGroupHeader, defaultGroupsExpanded, expandedGroups: controlledExpandedGroups, onExpandedGroupsChange, zebra, showTotals, editing, cellEditing, }: DataGridProps<TRow>): ReactElement;
|
|
1841
|
+
declare function DataGrid<TRow extends RowData>({ columns, dataSource, getRowId, rowActions, headerActions, enableMultiSort, initialState, columnVisibility, renderDetail, enableColumnResizing, columnResizeMode, columnSizing: controlledColumnSizing, onColumnSizingChange, virtualize, showPagination, getRowProps, getRowTestId, gridState, onGridStateChange, selectedIds: controlledSelectedIds, onSelectedIdsChange, testId, loading: loadingProp, error, onRetry, statusLabels, groupBy, renderGroupHeader, defaultGroupsExpanded, expandedGroups: controlledExpandedGroups, onExpandedGroupsChange, zebra, showTotals, editing, cellEditing, filterLabels, }: DataGridProps<TRow>): ReactElement;
|
|
1704
1842
|
|
|
1705
1843
|
interface GridStateController {
|
|
1706
1844
|
state: GridState;
|
|
@@ -1884,6 +2022,16 @@ interface TreeDataGridProps<TRow> extends TreeAccessors<TRow> {
|
|
|
1884
2022
|
* Defaults to `false`.
|
|
1885
2023
|
*/
|
|
1886
2024
|
loading?: boolean;
|
|
2025
|
+
/**
|
|
2026
|
+
* The root data fetch failed. With no rows, the body shows an error state (title,
|
|
2027
|
+
* message, collapsible details, Retry); with rows, they stay and a slim banner
|
|
2028
|
+
* appears above. Per-node lazy-load failures are handled separately (inline, per row).
|
|
2029
|
+
*/
|
|
2030
|
+
error?: ErrorInput;
|
|
2031
|
+
/** Shows a Retry action in the error state/banner. */
|
|
2032
|
+
onRetry?: () => void;
|
|
2033
|
+
/** Overrides the grid's "Loading...", "No results." and error-state strings. */
|
|
2034
|
+
statusLabels?: Partial<GridStatusLabels>;
|
|
1887
2035
|
/**
|
|
1888
2036
|
* The column whose cell gets the depth indentation + expand/collapse
|
|
1889
2037
|
* chevron prepended. Defaults to the first column in `columns`.
|
|
@@ -2115,7 +2263,7 @@ interface TreeDataGridProps<TRow> extends TreeAccessors<TRow> {
|
|
|
2115
2263
|
* column's cell matches `treeColumnId` (defaults to `columns[0]`); every
|
|
2116
2264
|
* other column renders exactly like it would in `<DataGrid>`.
|
|
2117
2265
|
*/
|
|
2118
|
-
declare function TreeDataGrid<TRow>({ columns, data, loading, treeColumnId, columnVisibility, getRowId, getChildren, hasChildren, onLoadChildren, initialExpandedLevel, expanded: controlledExpanded, onExpandedChange, childrenMap: controlledChildrenMap, onChildrenMapChange, indentSize, getRowProps, getRowTestId, rowActions, virtualizeThreshold, estimatedRowHeight, maxBodyHeight, testId, selectedIds: controlledSelectedIds, onSelectedIdsChange, getRowSelectionState, isRowSelectionDisabled, groupBy, renderGroupHeader, defaultGroupsExpanded, expandedGroups: controlledExpandedGroups, onExpandedGroupsChange, zebra, showTotals, editing, }: TreeDataGridProps<TRow>): ReactElement;
|
|
2266
|
+
declare function TreeDataGrid<TRow>({ columns, data, loading, error, onRetry, statusLabels, treeColumnId, columnVisibility, getRowId, getChildren, hasChildren, onLoadChildren, initialExpandedLevel, expanded: controlledExpanded, onExpandedChange, childrenMap: controlledChildrenMap, onChildrenMapChange, indentSize, getRowProps, getRowTestId, rowActions, virtualizeThreshold, estimatedRowHeight, maxBodyHeight, testId, selectedIds: controlledSelectedIds, onSelectedIdsChange, getRowSelectionState, isRowSelectionDisabled, groupBy, renderGroupHeader, defaultGroupsExpanded, expandedGroups: controlledExpandedGroups, onExpandedGroupsChange, zebra, showTotals, editing, }: TreeDataGridProps<TRow>): ReactElement;
|
|
2119
2267
|
|
|
2120
2268
|
interface FlatTreeRow<TRow> {
|
|
2121
2269
|
row: TRow;
|
|
@@ -2171,4 +2319,4 @@ interface UseTreeStateOptions<TRow> extends TreeAccessors<TRow> {
|
|
|
2171
2319
|
*/
|
|
2172
2320
|
declare function useTreeState<TRow>({ data, getRowId, getChildren, hasChildren, onLoadChildren, expanded: controlledExpanded, onExpandedChange, childrenMap: controlledChildrenMap, onChildrenMapChange, }: UseTreeStateOptions<TRow>): TreeStateController<TRow>;
|
|
2173
2321
|
|
|
2174
|
-
export { ActionsMenu, type BaseColumn, type BooleanColumn, BooleanEditor, BooleanFilter, type CellAddress, type CellChange, type CellEditingCellContext, type CellEditingOptions, type CellEditingState, type CellRange, type CellSelectionController, type CellSelectionOptions, type ClientProcessingResult, type ColumnAlign, type ColumnDef, type ColumnGroup, ColumnSelector, type ColumnSelectorProps, type ColumnVisibility, type CompositeFilterDescriptor, DataGrid, type DataGridProps, type DataSource, type DateColumn, DateEditor, DateRangeFilter, type DebouncedCallback, EditFieldError, type EditWidgetProps, type EditedRow, EditingBar, type EditingBarProps, type EditingCellContext, type EditingOptions, type EditingState, type EnumColumn, EnumEditor, EnumFilter, type EnumOption, type FilterDescriptor, type FilterOperator, type FilterWidgetProps, type FlatTreeRow, type GridState, type GridStateController, type GroupExpansionController, type MenuItem, type MenuItemContext, MultilineStringEditor, type NavigationDirection, type NormalizedRange, type NumberColumn, NumberComparisonFilter, NumberEditor, NumberHistogramFilter, type NumberHistogramFilterProps, NumberRangeFilter, type PendingRowEdit, type ResolvedMenuItem, SelectionOverlay, type SortDescriptor, type StickyGroupHeaderTop, type StringColumn, StringEditor, StringFilter, type TreeAccessors, TreeDataGrid, type TreeDataGridProps, type TreeStateController, UNARY_OPERATORS, type UseTreeStateOptions, alignClassName, applyColumnOrder, buildIndexMap, canHideColumn, canHideGroup, cellsInRange, coerceValueForColumn, computeFillChanges, countVisible, defaultAlign, defaultFormat, editErrorId, evaluateFilter, extendRangeForFill, facetedNumberValues, fieldKey, flattenTree, getColumnValue, groupColumns, isCellInRange, isColumnVisible, isCompositeFilterDescriptor, isEditable, isFilterDescriptor, isFilterable, isSortable, moveColumnBefore, normalizeRange, orderStorageKeyFor, parseTsv, processClientData, rangeToTsv, renderCellModeCell, renderDefaultEditWidget, renderDefaultFilterWidget, renderEditableCell, resolveMenuItems, storageKeyFor, toDate, useCellEditingState, useCellSelection, useDebouncedCallback, useEditingState, useGridState, useGroupExpansion, useStickyGroupHeaderTop, useTreeState, useVisibleColumns };
|
|
2322
|
+
export { ActionsMenu, type BaseColumn, type BooleanColumn, BooleanEditor, BooleanFilter, type CellAddress, type CellChange, type CellEditingCellContext, type CellEditingOptions, type CellEditingState, type CellRange, type CellSelectionController, type CellSelectionOptions, type ClientProcessingResult, type ColumnAlign, type ColumnDef, type ColumnGroup, ColumnSelector, type ColumnSelectorProps, type ColumnVisibility, type CompositeFilterDescriptor, DataGrid, type DataGridProps, type DataSource, type DateColumn, DateEditor, DateRangeFilter, type DebouncedCallback, EditFieldError, type EditWidgetProps, type EditedRow, EditingBar, type EditingBarProps, type EditingCellContext, type EditingOptions, type EditingState, type EnumColumn, EnumEditor, EnumFilter, type EnumOption, type ErrorInfo, type ErrorInput, type FilterDescriptor, type FilterLabels, FilterLabelsProvider, type FilterOperator, type FilterWidgetProps, type FlatTreeRow, type GridState, type GridStateController, type GridStatusLabels, type GroupExpansionController, type MenuItem, type MenuItemContext, MultilineStringEditor, type NavigationDirection, type NormalizedRange, type NumberColumn, NumberComparisonFilter, NumberEditor, NumberHistogramFilter, type NumberHistogramFilterProps, NumberRangeFilter, type PendingRowEdit, type ResolvedMenuItem, SelectionOverlay, type SortDescriptor, type StickyGroupHeaderTop, type StringColumn, StringEditor, StringFilter, type TreeAccessors, TreeDataGrid, type TreeDataGridProps, type TreeStateController, UNARY_OPERATORS, type UseTreeStateOptions, alignClassName, applyColumnOrder, buildIndexMap, canHideColumn, canHideGroup, cellsInRange, coerceValueForColumn, computeFillChanges, countVisible, defaultAlign, defaultFilterLabels, defaultFormat, defaultGridStatusLabels, editErrorId, evaluateFilter, extendRangeForFill, facetedNumberValues, fieldKey, flattenTree, getColumnValue, groupColumns, isCellInRange, isColumnVisible, isCompositeFilterDescriptor, isEditable, isFilterDescriptor, isFilterable, isSortable, mergeFilterLabels, moveColumnBefore, normalizeRange, orderStorageKeyFor, parseTsv, processClientData, rangeToTsv, renderCellModeCell, renderDefaultEditWidget, renderDefaultFilterWidget, renderEditableCell, resolveMenuItems, storageKeyFor, toDate, toErrorInfo, useCellEditingState, useCellSelection, useDebouncedCallback, useEditingState, useFilterLabels, useGridState, useGroupExpansion, useStickyGroupHeaderTop, useTreeState, useVisibleColumns };
|