@jielga/tmdatagrid 1.1.1 → 2.0.0-beta.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/dist/index.d.ts +170 -77
- package/dist/index.js +745 -687
- 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 +1 -1
- package/skills/columns/SKILL.md +42 -17
- package/skills/data/SKILL.md +1 -1
- package/skills/editing/SKILL.md +40 -30
- package/skills/editing/references/editing-api.md +4 -4
- package/skills/editing/references/editors-and-validation.md +50 -8
- package/skills/filtering/SKILL.md +13 -14
- package/skills/getting-started/SKILL.md +1 -1
- package/skills/grouping/SKILL.md +1 -1
- package/skills/options/SKILL.md +1 -1
- package/skills/rows/SKILL.md +1 -1
- package/skills/server-side/SKILL.md +1 -1
- package/skills/testing/SKILL.md +2 -2
- package/src/tmdatagrid/components/TMDataGridCellEditor.tsx +49 -16
- package/src/tmdatagrid/components/TMDataGridEntryRows.tsx +42 -11
- package/src/tmdatagrid/components/TMDataGridFilterPanel.tsx +5 -3
- package/src/tmdatagrid/components/TMDataGridTable.tsx +3 -26
- package/src/tmdatagrid/components/editors/TMDataGridBooleanEditor.tsx +0 -2
- package/src/tmdatagrid/components/editors/TMDataGridDateEditor.tsx +1 -3
- package/src/tmdatagrid/components/editors/TMDataGridMultiSelectEditor.tsx +0 -2
- package/src/tmdatagrid/components/editors/TMDataGridNumberEditor.tsx +13 -11
- package/src/tmdatagrid/components/editors/TMDataGridSelectEditor.tsx +0 -2
- package/src/tmdatagrid/components/editors/TMDataGridStringEditor.tsx +13 -9
- package/src/tmdatagrid/components/editors/editorShared.ts +47 -0
- package/src/tmdatagrid/components/filters/DgAutocompleteFilter.tsx +1 -1
- package/src/tmdatagrid/components/filters/DgDateRangeFilter.tsx +2 -2
- package/src/tmdatagrid/components/filters/DgRangeSliderFilter.tsx +2 -2
- package/src/tmdatagrid/components/filters/DgTriStateFilter.tsx +1 -1
- package/src/tmdatagrid/components/filters/TMDataGridFilterValueInput.tsx +1 -1
- package/src/tmdatagrid/core/columnUtils.ts +44 -3
- package/src/tmdatagrid/core/editEngine.ts +91 -24
- package/src/tmdatagrid/core/editorFocus.ts +29 -0
- package/src/tmdatagrid/core/filterControls.ts +28 -1
- package/src/tmdatagrid/index.ts +6 -0
- package/src/tmdatagrid/useTMDataGrid.tsx +37 -48
package/dist/index.d.ts
CHANGED
|
@@ -285,7 +285,7 @@ type TMDataGridValidator = StandardSchemaV1<unknown, unknown> | ((args: {
|
|
|
285
285
|
fieldApi: never;
|
|
286
286
|
}) => unknown);
|
|
287
287
|
/**
|
|
288
|
-
* `meta.validate` - per-column field validators. A bare schema or function is
|
|
288
|
+
* `meta.edit.validate` - per-column field validators. A bare schema or function is
|
|
289
289
|
* shorthand for `{ onChange: it }`; the object form takes every trigger
|
|
290
290
|
* TanStack Form defines, `Async` variants and debounce included.
|
|
291
291
|
*/
|
|
@@ -384,7 +384,7 @@ type ErasedColumn = Column<TMDataGridFeatures, TMDataGridRowData, unknown>;
|
|
|
384
384
|
* inside any TanStack Form. The table side is where the editor is standing.
|
|
385
385
|
*
|
|
386
386
|
* The built-ins are implemented against this same contract, so
|
|
387
|
-
* `meta.editor` is not a special case - it is the slot the defaults
|
|
387
|
+
* `meta.edit.editor` is not a special case - it is the slot the defaults
|
|
388
388
|
* fill, and the exported built-ins can be wrapped instead of replaced.
|
|
389
389
|
*/
|
|
390
390
|
type TMDataGridEditorArgs = {
|
|
@@ -401,16 +401,6 @@ type TMDataGridEditorArgs = {
|
|
|
401
401
|
/** What Escape would do - drop the draft. */
|
|
402
402
|
cancel: () => void;
|
|
403
403
|
size: TMDataGridSize;
|
|
404
|
-
/**
|
|
405
|
-
* @deprecated The grid places the caret itself, once per open gesture, so
|
|
406
|
-
* honouring this is optional and it will go in the next major. It focuses
|
|
407
|
-
* `data-dg-part="editor-input"` when the editor publishes it and the first
|
|
408
|
-
* focusable element inside the editor otherwise, which is why a custom
|
|
409
|
-
* editor that ignores this prop still gets the caret. False under
|
|
410
|
-
* `editMode: "row"`, where a whole row of editors is mounted at once and
|
|
411
|
-
* only the named cell may take it.
|
|
412
|
-
*/
|
|
413
|
-
autoFocus: boolean;
|
|
414
404
|
/**
|
|
415
405
|
* Set when typing opened the editor (the Sheets gesture) - the built-ins
|
|
416
406
|
* replace the value with it and keep typing. A custom editor may ignore it.
|
|
@@ -418,11 +408,79 @@ type TMDataGridEditorArgs = {
|
|
|
418
408
|
seedText?: string;
|
|
419
409
|
};
|
|
420
410
|
/**
|
|
421
|
-
* `meta.editor` - replaces the built-in editor for this column. Rendered
|
|
422
|
-
* JSX, never invoked as a bare function, so hooks are legal inside. Define
|
|
423
|
-
* at module scope: a new identity per render remounts the editor mid-edit.
|
|
411
|
+
* `meta.edit.editor` - replaces the built-in editor for this column. Rendered
|
|
412
|
+
* as JSX, never invoked as a bare function, so hooks are legal inside. Define
|
|
413
|
+
* it at module scope: a new identity per render remounts the editor mid-edit.
|
|
424
414
|
*/
|
|
425
415
|
type TMDataGridEditorComponent = ComponentType<TMDataGridEditorArgs>;
|
|
416
|
+
/** What `meta.edit.mapValue` is handed for one write. */
|
|
417
|
+
type TMDataGridEditValueMapArgs = {
|
|
418
|
+
/** The value the editor just wrote. */
|
|
419
|
+
value: unknown;
|
|
420
|
+
/** What the field held before this write - for length-aware masks. */
|
|
421
|
+
previous: unknown;
|
|
422
|
+
row: ErasedRow;
|
|
423
|
+
column: ErasedColumn;
|
|
424
|
+
table: TMDataGridTable<TMDataGridRowData>;
|
|
425
|
+
};
|
|
426
|
+
/**
|
|
427
|
+
* `meta.edit.mapValue` - the value on its way into the draft, mapped.
|
|
428
|
+
*
|
|
429
|
+
* Runs on every write an editor makes, which for a text input is every
|
|
430
|
+
* keystroke and for a select is every pick, so the mapped value is what the
|
|
431
|
+
* user sees, what validators judge and what commits.
|
|
432
|
+
*/
|
|
433
|
+
type TMDataGridEditValueMap = (args: TMDataGridEditValueMapArgs) => unknown;
|
|
434
|
+
/**
|
|
435
|
+
* `meta.edit` - everything about how this column is edited, in one place,
|
|
436
|
+
* mirroring the `edit.*` engine the grid exposes at runtime.
|
|
437
|
+
*
|
|
438
|
+
* ```tsx
|
|
439
|
+
* meta: {
|
|
440
|
+
* type: "string",
|
|
441
|
+
* edit: {
|
|
442
|
+
* enabled: (row) => row.original.status !== "Locked",
|
|
443
|
+
* validate: z.string().min(2, "Too short"),
|
|
444
|
+
* mapValue: ({ value }) =>
|
|
445
|
+
* typeof value === "string" ? value.toUpperCase() : value,
|
|
446
|
+
* },
|
|
447
|
+
* }
|
|
448
|
+
* ```
|
|
449
|
+
*
|
|
450
|
+
* `meta.type` and `meta.options` stay outside this namespace on purpose: one
|
|
451
|
+
* declaration of each feeds the cell editor and the filter panel alike.
|
|
452
|
+
*/
|
|
453
|
+
type TMDataGridColumnEditOptions = {
|
|
454
|
+
/**
|
|
455
|
+
* Whether this column's cells take edits, once `editMode` is on. `false`
|
|
456
|
+
* switches the column off outright; a predicate decides per row. Defaults
|
|
457
|
+
* to editable for any column that maps to a field - see {@link field}.
|
|
458
|
+
*/
|
|
459
|
+
enabled?: boolean | ((row: Row<TMDataGridFeatures, TMDataGridRowData>) => boolean);
|
|
460
|
+
/**
|
|
461
|
+
* The data path this column edits, when it is not the `accessorKey` - the
|
|
462
|
+
* only way a column built on `accessorFn` becomes editable. Dot paths reach
|
|
463
|
+
* into nested records: `"address.city"`.
|
|
464
|
+
*/
|
|
465
|
+
field?: string;
|
|
466
|
+
/**
|
|
467
|
+
* Replaces the built-in editor for this column. See
|
|
468
|
+
* {@link TMDataGridEditorComponent}.
|
|
469
|
+
*/
|
|
470
|
+
editor?: TMDataGridEditorComponent;
|
|
471
|
+
/**
|
|
472
|
+
* Field-level validators, in TanStack Form's own vocabulary. A bare Zod
|
|
473
|
+
* schema (or any Standard Schema, or a plain function) means
|
|
474
|
+
* `{ onChange: it }`; the object form takes every trigger Form defines.
|
|
475
|
+
*/
|
|
476
|
+
validate?: TMDataGridFieldValidate;
|
|
477
|
+
/**
|
|
478
|
+
* Maps every value an editor writes before it reaches the draft - uppercase
|
|
479
|
+
* a code, strip spaces from an IBAN, clamp a number into range. See
|
|
480
|
+
* {@link TMDataGridEditValueMap}.
|
|
481
|
+
*/
|
|
482
|
+
mapValue?: TMDataGridEditValueMap;
|
|
483
|
+
};
|
|
426
484
|
/** A new row being committed - `onRowAdd`, and `submitAll`'s `added`. */
|
|
427
485
|
type TMDataGridRowAddArgs<TData extends RowData> = {
|
|
428
486
|
/** The engine's placeholder id; the real id is the consumer's to mint. */
|
|
@@ -449,14 +507,16 @@ type TMDataGridEditCommitBatchArgs<TData extends RowData> = {
|
|
|
449
507
|
* `accessorKey` is the true path and Form addresses fields by dot-path, so
|
|
450
508
|
* nested rows work for free: `accessorKey: "address.city"` edits
|
|
451
509
|
* `values.address.city`. A column built on `accessorFn` has no path and is
|
|
452
|
-
* not editable unless `meta.
|
|
510
|
+
* not editable unless `meta.edit.field` names one. TanStack's default column
|
|
453
511
|
* id turns dots into underscores - which is why this starts from
|
|
454
512
|
* `accessorKey`, never from `id`.
|
|
455
513
|
*/
|
|
456
514
|
declare function getEditFieldName(column: {
|
|
457
515
|
columnDef: {
|
|
458
516
|
meta?: {
|
|
459
|
-
|
|
517
|
+
edit?: {
|
|
518
|
+
field?: string;
|
|
519
|
+
};
|
|
460
520
|
};
|
|
461
521
|
};
|
|
462
522
|
}): string | null;
|
|
@@ -529,7 +589,7 @@ type TMDataGridEditApi = {
|
|
|
529
589
|
canDeleteRows: () => boolean;
|
|
530
590
|
};
|
|
531
591
|
/**
|
|
532
|
-
* `meta.validate` normalised to the object TanStack Form's `validators`
|
|
592
|
+
* `meta.edit.validate` normalised to the object TanStack Form's `validators`
|
|
533
593
|
* option takes - a bare schema or function is shorthand for `{ onChange }`.
|
|
534
594
|
*/
|
|
535
595
|
declare function normalizeFieldValidate(validate: TMDataGridFieldValidate | undefined): Record<string, unknown> | undefined;
|
|
@@ -703,11 +763,37 @@ type TMDataGridFilterControlArgs = {
|
|
|
703
763
|
labels: TMDataGridLabels;
|
|
704
764
|
};
|
|
705
765
|
/**
|
|
706
|
-
* `meta.
|
|
766
|
+
* `meta.filter.control` - replaces the built-in value control for this column.
|
|
707
767
|
* Rendered as JSX, never invoked as a bare function, so hooks are legal
|
|
708
768
|
* inside. Define it at module scope so its identity is stable across renders.
|
|
709
769
|
*/
|
|
710
770
|
type TMDataGridFilterControlComponent = ComponentType<TMDataGridFilterControlArgs>;
|
|
771
|
+
/**
|
|
772
|
+
* `meta.filter` - everything about how this column filters, in one place.
|
|
773
|
+
*
|
|
774
|
+
* ```tsx
|
|
775
|
+
* meta: {
|
|
776
|
+
* type: "number",
|
|
777
|
+
* filter: { defaultOperator: "between", control: DgRangeSliderFilter },
|
|
778
|
+
* }
|
|
779
|
+
* ```
|
|
780
|
+
*
|
|
781
|
+
* `meta.type` and `meta.options` stay outside this namespace on purpose: one
|
|
782
|
+
* declaration of each feeds the filter panel and the cell editor alike.
|
|
783
|
+
*/
|
|
784
|
+
type TMDataGridColumnFilterOptions = {
|
|
785
|
+
/**
|
|
786
|
+
* The operator a fresh filter on this column starts with, instead of the
|
|
787
|
+
* type's default - a salary column can open on `"between"`. Must be one of
|
|
788
|
+
* the type's own operators.
|
|
789
|
+
*/
|
|
790
|
+
defaultOperator?: TMDataGridFilterOperator;
|
|
791
|
+
/**
|
|
792
|
+
* Replaces the built-in value control in this column's filter-panel row.
|
|
793
|
+
* See {@link TMDataGridFilterControlComponent}.
|
|
794
|
+
*/
|
|
795
|
+
control?: TMDataGridFilterControlComponent;
|
|
796
|
+
};
|
|
711
797
|
//#endregion
|
|
712
798
|
//#region .types-tmp/core/quickSearch.d.ts
|
|
713
799
|
/** How the quick search matches - see `quickSearchMode` on the hook options. */
|
|
@@ -1070,7 +1156,16 @@ declare function boundsEdges(bounds: TMDataGridRangeBounds | null, rowIndex: num
|
|
|
1070
1156
|
} | null;
|
|
1071
1157
|
//#endregion
|
|
1072
1158
|
//#region .types-tmp/useTMDataGrid.d.ts
|
|
1073
|
-
/**
|
|
1159
|
+
/**
|
|
1160
|
+
* Per-column configuration the TMDataGrid chrome reads.
|
|
1161
|
+
*
|
|
1162
|
+
* A stage that owns behaviour gets a namespace - `filter` and `edit`, each
|
|
1163
|
+
* mirroring the feature's runtime API. What the column *is* stays flat:
|
|
1164
|
+
* `label`, `type`, `options`, `align`, `flex`, `autoSize`, `enableOrdering`.
|
|
1165
|
+
* `type` and `options` in particular are shared ground - one declaration of
|
|
1166
|
+
* each feeds the filter panel and the cell editor alike, which is why they sit
|
|
1167
|
+
* outside both namespaces.
|
|
1168
|
+
*/
|
|
1074
1169
|
type TMDataGridColumnMeta = {
|
|
1075
1170
|
/** Name shown in menus and the column manager. Falls back to a string header. */
|
|
1076
1171
|
label?: string;
|
|
@@ -1103,50 +1198,34 @@ type TMDataGridColumnMeta = {
|
|
|
1103
1198
|
*/
|
|
1104
1199
|
enableOrdering?: boolean;
|
|
1105
1200
|
/**
|
|
1106
|
-
*
|
|
1107
|
-
*
|
|
1108
|
-
* the type's own operators.
|
|
1109
|
-
*/
|
|
1110
|
-
defaultFilterOperator?: TMDataGridFilterOperator;
|
|
1111
|
-
/**
|
|
1112
|
-
* Replaces the built-in value control in this column's filter-panel row. A
|
|
1113
|
-
* component rendered as JSX (hooks are legal inside), receiving the
|
|
1114
|
-
* value-only contract: it reads the current operator, writes the bare
|
|
1115
|
-
* value, and the grid composes the stored filter around it. Define it at
|
|
1116
|
-
* module scope. See {@link TMDataGridFilterControlArgs}.
|
|
1117
|
-
*/
|
|
1118
|
-
filterControl?: TMDataGridFilterControlComponent;
|
|
1119
|
-
/**
|
|
1120
|
-
* Whether this column's cells take edits, once `editMode` is on. `false`
|
|
1121
|
-
* switches the column off outright; a predicate decides per row. Defaults
|
|
1122
|
-
* to editable for any column that maps to a field - see {@link editField}.
|
|
1123
|
-
*/
|
|
1124
|
-
editable?: boolean | ((row: Row<TMDataGridFeatures, TMDataGridRowData>) => boolean);
|
|
1125
|
-
/**
|
|
1126
|
-
* The data path this column edits, when it is not the `accessorKey` - the
|
|
1127
|
-
* only way a column built on `accessorFn` becomes editable. Dot paths reach
|
|
1128
|
-
* into nested records: `"address.city"`.
|
|
1129
|
-
*/
|
|
1130
|
-
editField?: string;
|
|
1131
|
-
/**
|
|
1132
|
-
* Field-level validators, in TanStack Form's own vocabulary. A bare Zod
|
|
1133
|
-
* schema (or any Standard Schema, or a plain function) means
|
|
1134
|
-
* `{ onChange: it }`; the object form takes every trigger Form defines.
|
|
1201
|
+
* How this column filters: the operator a fresh filter starts with, and the
|
|
1202
|
+
* value control the filter panel renders for it.
|
|
1135
1203
|
*
|
|
1136
1204
|
* ```tsx
|
|
1137
|
-
* meta: {
|
|
1138
|
-
*
|
|
1205
|
+
* meta: {
|
|
1206
|
+
* type: "number",
|
|
1207
|
+
* filter: { defaultOperator: "between", control: DgRangeSliderFilter },
|
|
1208
|
+
* }
|
|
1139
1209
|
* ```
|
|
1210
|
+
*
|
|
1211
|
+
* See {@link TMDataGridColumnFilterOptions}.
|
|
1140
1212
|
*/
|
|
1141
|
-
|
|
1213
|
+
filter?: TMDataGridColumnFilterOptions;
|
|
1142
1214
|
/**
|
|
1143
|
-
*
|
|
1144
|
-
*
|
|
1145
|
-
*
|
|
1146
|
-
*
|
|
1147
|
-
*
|
|
1215
|
+
* How this column is edited: whether it takes edits, which field they write
|
|
1216
|
+
* to, which editor opens, what validates the field and what maps the value
|
|
1217
|
+
* on its way in.
|
|
1218
|
+
*
|
|
1219
|
+
* ```tsx
|
|
1220
|
+
* meta: {
|
|
1221
|
+
* type: "string",
|
|
1222
|
+
* edit: { validate: z.string().min(2, "Too short") },
|
|
1223
|
+
* }
|
|
1224
|
+
* ```
|
|
1225
|
+
*
|
|
1226
|
+
* See {@link TMDataGridColumnEditOptions}.
|
|
1148
1227
|
*/
|
|
1149
|
-
|
|
1228
|
+
edit?: TMDataGridColumnEditOptions;
|
|
1150
1229
|
};
|
|
1151
1230
|
/** Grid-wide configuration passed through `options.meta`. */
|
|
1152
1231
|
type TMDataGridTableMeta = {
|
|
@@ -1559,9 +1638,9 @@ type TMDataGridEditingCallbacks<TData extends RowData> = {
|
|
|
1559
1638
|
*
|
|
1560
1639
|
* One TanStack Form per editing row; drafts survive scrolling because the
|
|
1561
1640
|
* forms live outside the DOM, keyed by row id. Which columns edit, and with
|
|
1562
|
-
* what, is declared per column
|
|
1563
|
-
* `
|
|
1564
|
-
*
|
|
1641
|
+
* what, is declared per column under `meta.edit`: `meta.type` picks the
|
|
1642
|
+
* built-in editor, and `enabled`, `field`, `editor`, `validate` and `mapValue`
|
|
1643
|
+
* override the rest.
|
|
1565
1644
|
*/
|
|
1566
1645
|
type TMDataGridEditingOptions<TData extends RowData> = (TMDataGridEditingCallbacks<TData> & {
|
|
1567
1646
|
editMode: "batch";
|
|
@@ -2550,7 +2629,7 @@ declare function formatGroupValue(value: unknown, blankLabel?: string): string;
|
|
|
2550
2629
|
//#region .types-tmp/components/filters/TMDataGridFilterValueInput.d.ts
|
|
2551
2630
|
/**
|
|
2552
2631
|
* The built-in value control of a filter-panel row - what renders when a
|
|
2553
|
-
* column declares no `meta.
|
|
2632
|
+
* column declares no `meta.filter.control`. Shaped by the operator: a
|
|
2554
2633
|
* multi-select for the set operators, a From/To pair for `between`, a Yes/No
|
|
2555
2634
|
* dropdown for booleans, a typed input otherwise.
|
|
2556
2635
|
*
|
|
@@ -2561,9 +2640,9 @@ declare function TMDataGridFilterValueInput({ column, operator, value, onChange,
|
|
|
2561
2640
|
//#endregion
|
|
2562
2641
|
//#region .types-tmp/components/filters/DgRangeSliderFilter.d.ts
|
|
2563
2642
|
/**
|
|
2564
|
-
* A built-in `meta.
|
|
2643
|
+
* A built-in `meta.filter.control` for `number` columns: a range slider whose
|
|
2565
2644
|
* bounds are seeded from the values present in the data, writing the
|
|
2566
|
-
* `between` pair. Pair it with `meta.
|
|
2645
|
+
* `between` pair. Pair it with `meta.filter.defaultOperator: "between"` so
|
|
2567
2646
|
* the filter opens on it; any non-range operator falls back to the standard
|
|
2568
2647
|
* input.
|
|
2569
2648
|
*/
|
|
@@ -2571,17 +2650,17 @@ declare function DgRangeSliderFilter(args: TMDataGridFilterControlArgs): import(
|
|
|
2571
2650
|
//#endregion
|
|
2572
2651
|
//#region .types-tmp/components/filters/DgDateRangeFilter.d.ts
|
|
2573
2652
|
/**
|
|
2574
|
-
* A built-in `meta.
|
|
2653
|
+
* A built-in `meta.filter.control` for `date` columns: a From/To pair of
|
|
2575
2654
|
* native date inputs writing the `between` pair - no `@mantine/dates`
|
|
2576
2655
|
* involved, like the built-in date editor. Pair it with
|
|
2577
|
-
* `meta.
|
|
2656
|
+
* `meta.filter.defaultOperator: "between"`; any non-range operator falls back
|
|
2578
2657
|
* to the standard input.
|
|
2579
2658
|
*/
|
|
2580
2659
|
declare function DgDateRangeFilter(args: TMDataGridFilterControlArgs): import("react").JSX.Element;
|
|
2581
2660
|
//#endregion
|
|
2582
2661
|
//#region .types-tmp/components/filters/DgAutocompleteFilter.d.ts
|
|
2583
2662
|
/**
|
|
2584
|
-
* A built-in `meta.
|
|
2663
|
+
* A built-in `meta.filter.control` for text-shaped columns: a free-text input
|
|
2585
2664
|
* that also offers the values present in the data (or the column's declared
|
|
2586
2665
|
* `meta.options`) as suggestions. Set or range operators fall back to the
|
|
2587
2666
|
* standard input.
|
|
@@ -2590,7 +2669,7 @@ declare function DgAutocompleteFilter(args: TMDataGridFilterControlArgs): import
|
|
|
2590
2669
|
//#endregion
|
|
2591
2670
|
//#region .types-tmp/components/filters/DgTriStateFilter.d.ts
|
|
2592
2671
|
/**
|
|
2593
|
-
* A built-in `meta.
|
|
2672
|
+
* A built-in `meta.filter.control` for `boolean` columns: an All / Yes / No
|
|
2594
2673
|
* segmented control - All clears the value, which deactivates the filter.
|
|
2595
2674
|
* Set or range operators fall back to the standard input.
|
|
2596
2675
|
*/
|
|
@@ -2598,23 +2677,23 @@ declare function DgTriStateFilter(args: TMDataGridFilterControlArgs): import("re
|
|
|
2598
2677
|
//#endregion
|
|
2599
2678
|
//#region .types-tmp/components/editors/TMDataGridStringEditor.d.ts
|
|
2600
2679
|
/** The built-in editor for `meta.type: "string"` (and the default). */
|
|
2601
|
-
declare function TMDataGridStringEditor({ field,
|
|
2680
|
+
declare function TMDataGridStringEditor({ field, column, size }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2602
2681
|
//#endregion
|
|
2603
2682
|
//#region .types-tmp/components/editors/TMDataGridNumberEditor.d.ts
|
|
2604
2683
|
/** The built-in editor for `meta.type: "number"`. */
|
|
2605
|
-
declare function TMDataGridNumberEditor({ field,
|
|
2684
|
+
declare function TMDataGridNumberEditor({ field, column, size }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2606
2685
|
//#endregion
|
|
2607
2686
|
//#region .types-tmp/components/editors/TMDataGridBooleanEditor.d.ts
|
|
2608
2687
|
/** The built-in editor for `meta.type: "boolean"` - a focused checkbox. */
|
|
2609
|
-
declare function TMDataGridBooleanEditor({ field,
|
|
2688
|
+
declare function TMDataGridBooleanEditor({ field, column, size }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2610
2689
|
//#endregion
|
|
2611
2690
|
//#region .types-tmp/components/editors/TMDataGridDateEditor.d.ts
|
|
2612
2691
|
/**
|
|
2613
2692
|
* The built-in editor for `meta.type: "date"` - the native
|
|
2614
2693
|
* `<input type="date">` styled by Mantine, no `@mantine/dates` involved. A
|
|
2615
|
-
* consumer wanting a real picker plugs one in through `meta.editor`.
|
|
2694
|
+
* consumer wanting a real picker plugs one in through `meta.edit.editor`.
|
|
2616
2695
|
*/
|
|
2617
|
-
declare function TMDataGridDateEditor({ field,
|
|
2696
|
+
declare function TMDataGridDateEditor({ field, column, size }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2618
2697
|
//#endregion
|
|
2619
2698
|
//#region .types-tmp/components/editors/TMDataGridSelectEditor.d.ts
|
|
2620
2699
|
/**
|
|
@@ -2622,7 +2701,7 @@ declare function TMDataGridDateEditor({ field, autoFocus, column, size }: TMData
|
|
|
2622
2701
|
* `meta.options` the filter panel reads - with the row in hand, so a
|
|
2623
2702
|
* function source can depend on the record being edited.
|
|
2624
2703
|
*/
|
|
2625
|
-
declare function TMDataGridSelectEditor({ field,
|
|
2704
|
+
declare function TMDataGridSelectEditor({ field, column, row, table, size, commit }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2626
2705
|
//#endregion
|
|
2627
2706
|
//#region .types-tmp/components/editors/TMDataGridMultiSelectEditor.d.ts
|
|
2628
2707
|
/**
|
|
@@ -2630,7 +2709,7 @@ declare function TMDataGridSelectEditor({ field, autoFocus, column, row, table,
|
|
|
2630
2709
|
* arrays. Never commits on pick: building a set takes several, so the commit
|
|
2631
2710
|
* stays on Enter/blur like a text edit.
|
|
2632
2711
|
*/
|
|
2633
|
-
declare function TMDataGridMultiSelectEditor({ field,
|
|
2712
|
+
declare function TMDataGridMultiSelectEditor({ field, column, row, table, size }: TMDataGridEditorArgs): import("react").JSX.Element;
|
|
2634
2713
|
//#endregion
|
|
2635
2714
|
//#region .types-tmp/core/labelsSv.d.ts
|
|
2636
2715
|
/**
|
|
@@ -2665,9 +2744,23 @@ declare function getColumnLabel(column: ColumnLike): string;
|
|
|
2665
2744
|
declare function getColumnType(column: ColumnLike): TMDataGridColumnType;
|
|
2666
2745
|
/**
|
|
2667
2746
|
* The operator a fresh filter on this column starts with -
|
|
2668
|
-
* `meta.
|
|
2747
|
+
* `meta.filter.defaultOperator`, else the type's default.
|
|
2669
2748
|
*/
|
|
2670
2749
|
declare function getColumnDefaultOperator(column: ColumnLike): TMDataGridFilterOperator;
|
|
2750
|
+
/**
|
|
2751
|
+
* This column's filter-panel value control - `meta.filter.control`, or
|
|
2752
|
+
* `undefined` for the built-in shape-by-operator input.
|
|
2753
|
+
*/
|
|
2754
|
+
declare function getColumnFilterControl(column: ColumnLike): TMDataGridFilterControlComponent | undefined;
|
|
2755
|
+
/**
|
|
2756
|
+
* Whether `meta.edit.enabled` lets this column's cell on this row be edited -
|
|
2757
|
+
* the switch, then the predicate.
|
|
2758
|
+
*
|
|
2759
|
+
* This is only the column's half of the rule. A cell also needs the column to
|
|
2760
|
+
* map to a field (`getEditFieldName`) and the row to take edits at all
|
|
2761
|
+
* (`isRowEditable`); `edit.canEditCell` is the whole question.
|
|
2762
|
+
*/
|
|
2763
|
+
declare function isColumnEditableForRow(column: ColumnLike, row: Row<TMDataGridFeatures, TMDataGridRowData>): boolean;
|
|
2671
2764
|
/**
|
|
2672
2765
|
* A generated lane holding one fixed-width thing - the checkbox, the details
|
|
2673
2766
|
* chevron, the row number.
|
|
@@ -2951,4 +3044,4 @@ declare function getSelectableRowIds<TData extends RowData>(row: Row<TMDataGridF
|
|
|
2951
3044
|
*/
|
|
2952
3045
|
declare function resolveRowSelectionClick<TData extends RowData>({ rows, rowId, anchorRowId, modifiers, selection, canReplaceSelection }: ResolveRowSelectionClickArgs<TData>): ResolvedRowSelection;
|
|
2953
3046
|
//#endregion
|
|
2954
|
-
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 };
|
|
3047
|
+
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 TMDataGridColumnEditOptions, type TMDataGridColumnFilterOptions, 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 TMDataGridEditValueMap, type TMDataGridEditValueMapArgs, 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, getColumnFilterControl, getColumnLabel, getColumnRegion, getColumnType, getDefaultOperator, getDisplayedRows, getEditFieldName, getGridCapabilities, getGroupDataRows, getOperatorsForType, getSelectableRowIds, getStepTargetColumn, getTMDataGridPaginationApi, isColumnEditableForRow, 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 };
|