material-react-table 2.0.0-beta.8 → 2.0.0-rc.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.
Files changed (145) hide show
  1. package/README.md +36 -27
  2. package/dist/index.d.ts +54 -5
  3. package/dist/{esm/material-react-table.esm.js → index.esm.js} +79 -83
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/{cjs/index.js → index.js} +298 -208
  6. package/dist/index.js.map +1 -0
  7. package/locales/ar/index.js +2 -0
  8. package/locales/ar/package.json +3 -11
  9. package/locales/az/index.js +2 -0
  10. package/locales/az/package.json +3 -11
  11. package/locales/bg/index.js +2 -0
  12. package/locales/bg/package.json +3 -11
  13. package/locales/cs/index.js +2 -0
  14. package/locales/cs/package.json +3 -11
  15. package/locales/da/index.js +2 -0
  16. package/locales/da/package.json +3 -11
  17. package/locales/de/index.js +2 -0
  18. package/locales/de/package.json +3 -11
  19. package/locales/en/index.js +2 -0
  20. package/locales/en/package.json +3 -11
  21. package/locales/es/index.js +2 -0
  22. package/locales/es/package.json +3 -11
  23. package/locales/et/index.js +2 -0
  24. package/locales/et/package.json +3 -11
  25. package/locales/fa/index.js +2 -0
  26. package/locales/fa/package.json +3 -11
  27. package/locales/fi/index.js +2 -0
  28. package/locales/fi/package.json +3 -11
  29. package/locales/fr/index.js +2 -0
  30. package/locales/fr/package.json +3 -11
  31. package/locales/hu/index.js +2 -0
  32. package/locales/hu/package.json +3 -11
  33. package/locales/hy/index.js +2 -0
  34. package/locales/hy/package.json +3 -11
  35. package/locales/id/index.js +2 -0
  36. package/locales/id/package.json +3 -11
  37. package/locales/it/index.js +2 -0
  38. package/locales/it/package.json +3 -11
  39. package/locales/ja/index.js +2 -0
  40. package/locales/ja/package.json +3 -11
  41. package/locales/ko/index.js +2 -0
  42. package/locales/ko/package.json +3 -11
  43. package/locales/nl/index.js +2 -0
  44. package/locales/nl/package.json +3 -11
  45. package/locales/no/index.js +2 -0
  46. package/locales/no/package.json +3 -11
  47. package/locales/np/index.js +2 -0
  48. package/locales/np/package.json +3 -11
  49. package/locales/pl/index.js +2 -0
  50. package/locales/pl/package.json +3 -11
  51. package/locales/pt/index.js +2 -0
  52. package/locales/pt/package.json +3 -11
  53. package/locales/pt-BR/index.js +2 -0
  54. package/locales/pt-BR/package.json +3 -11
  55. package/locales/ro/index.js +2 -0
  56. package/locales/ro/package.json +3 -11
  57. package/locales/ru/index.js +2 -0
  58. package/locales/ru/package.json +3 -11
  59. package/locales/sk/index.js +2 -0
  60. package/locales/sk/package.json +3 -11
  61. package/locales/sr-Cyrl-RS/index.js +2 -0
  62. package/locales/sr-Cyrl-RS/package.json +3 -11
  63. package/locales/sr-Latn-RS/index.js +2 -0
  64. package/locales/sr-Latn-RS/package.json +3 -11
  65. package/locales/sv/index.js +2 -0
  66. package/locales/sv/package.json +3 -11
  67. package/locales/tr/index.js +2 -0
  68. package/locales/tr/package.json +3 -11
  69. package/locales/uk/index.js +2 -0
  70. package/locales/uk/package.json +3 -11
  71. package/locales/vi/index.js +2 -0
  72. package/locales/vi/package.json +3 -11
  73. package/locales/zh-Hans/index.esm.js +18 -18
  74. package/locales/zh-Hans/index.js +20 -18
  75. package/locales/zh-Hans/package.json +3 -11
  76. package/locales/zh-Hant/index.js +2 -0
  77. package/locales/zh-Hant/package.json +3 -11
  78. package/package.json +25 -36
  79. package/src/body/MRT_TableBodyCell.tsx +2 -2
  80. package/src/buttons/MRT_ColumnPinningButtons.tsx +3 -3
  81. package/src/buttons/MRT_CopyButton.tsx +0 -1
  82. package/src/buttons/MRT_EditActionButtons.tsx +2 -2
  83. package/src/buttons/MRT_ExpandAllButton.tsx +0 -1
  84. package/src/buttons/MRT_ExpandButton.tsx +0 -1
  85. package/src/buttons/MRT_GrabHandleButton.tsx +0 -1
  86. package/src/buttons/MRT_RowPinButton.tsx +0 -1
  87. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -1
  88. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +1 -1
  89. package/src/buttons/MRT_ToggleFiltersButton.tsx +1 -1
  90. package/src/buttons/MRT_ToggleFullScreenButton.tsx +0 -1
  91. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +1 -1
  92. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -2
  93. package/src/column.utils.ts +17 -0
  94. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +0 -1
  95. package/src/head/MRT_TableHeadCellFilterLabel.tsx +1 -1
  96. package/src/head/MRT_TableHeadCellSortLabel.tsx +1 -1
  97. package/src/hooks/index.ts +4 -0
  98. package/src/hooks/useMRT_TableOptions.ts +2 -2
  99. package/src/index.ts +1 -0
  100. package/src/inputs/MRT_EditCellTextField.tsx +20 -30
  101. package/src/inputs/MRT_FilterCheckbox.tsx +0 -1
  102. package/src/inputs/MRT_FilterTextField.tsx +41 -53
  103. package/src/inputs/MRT_GlobalFilterTextField.tsx +2 -2
  104. package/src/inputs/MRT_SelectCheckbox.tsx +0 -1
  105. package/src/locales/zh-Hans.ts +18 -18
  106. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +0 -1
  107. package/src/table/MRT_TablePaper.tsx +6 -6
  108. package/src/types.ts +23 -4
  109. package/dist/cjs/index.js.map +0 -1
  110. package/dist/esm/material-react-table.esm.js.map +0 -1
  111. package/locales/ar.js +0 -93
  112. package/locales/az.js +0 -93
  113. package/locales/bg.js +0 -93
  114. package/locales/cs.js +0 -93
  115. package/locales/da.js +0 -93
  116. package/locales/de.js +0 -93
  117. package/locales/en.js +0 -93
  118. package/locales/es.js +0 -93
  119. package/locales/et.js +0 -93
  120. package/locales/fa.js +0 -93
  121. package/locales/fi.js +0 -93
  122. package/locales/fr.js +0 -93
  123. package/locales/hu.js +0 -93
  124. package/locales/hy.js +0 -93
  125. package/locales/id.js +0 -93
  126. package/locales/it.js +0 -93
  127. package/locales/ja.js +0 -93
  128. package/locales/ko.js +0 -93
  129. package/locales/nl.js +0 -93
  130. package/locales/no.js +0 -93
  131. package/locales/np.js +0 -93
  132. package/locales/pl.js +0 -93
  133. package/locales/pt-BR.js +0 -93
  134. package/locales/pt.js +0 -93
  135. package/locales/ro.js +0 -93
  136. package/locales/ru.js +0 -93
  137. package/locales/sk.js +0 -93
  138. package/locales/sr-Cyrl-RS.js +0 -93
  139. package/locales/sr-Latn-RS.js +0 -93
  140. package/locales/sv.js +0 -93
  141. package/locales/tr.js +0 -93
  142. package/locales/uk.js +0 -93
  143. package/locales/vi.js +0 -93
  144. package/locales/zh-Hans.js +0 -93
  145. package/locales/zh-Hant.js +0 -93
@@ -93,12 +93,12 @@ export const MRT_EditActionButtons = <TData extends MRT_RowData>({
93
93
  >
94
94
  {variant === 'icon' ? (
95
95
  <>
96
- <Tooltip arrow title={localization.cancel}>
96
+ <Tooltip title={localization.cancel}>
97
97
  <IconButton aria-label={localization.cancel} onClick={handleCancel}>
98
98
  <CancelIcon />
99
99
  </IconButton>
100
100
  </Tooltip>
101
- <Tooltip arrow title={localization.save}>
101
+ <Tooltip title={localization.save}>
102
102
  <IconButton
103
103
  aria-label={localization.save}
104
104
  color="info"
@@ -37,7 +37,6 @@ export const MRT_ExpandAllButton = <TData extends MRT_RowData>({
37
37
 
38
38
  return (
39
39
  <Tooltip
40
- arrow
41
40
  enterDelay={1000}
42
41
  enterNextDelay={1000}
43
42
  title={
@@ -44,7 +44,6 @@ export const MRT_ExpandButton = <TData extends MRT_RowData>({
44
44
 
45
45
  return (
46
46
  <Tooltip
47
- arrow
48
47
  disableHoverListener={!canExpand && !renderDetailPanel}
49
48
  enterDelay={1000}
50
49
  enterNextDelay={1000}
@@ -31,7 +31,6 @@ export const MRT_GrabHandleButton = <TData extends MRT_RowData>({
31
31
 
32
32
  return (
33
33
  <Tooltip
34
- arrow
35
34
  enterDelay={1000}
36
35
  enterNextDelay={1000}
37
36
  placement="top"
@@ -41,7 +41,6 @@ export const MRT_RowPinButton = <TData extends MRT_RowData>({
41
41
 
42
42
  return (
43
43
  <Tooltip
44
- arrow
45
44
  enterDelay={1000}
46
45
  enterNextDelay={1000}
47
46
  open={tooltipOpened}
@@ -27,7 +27,7 @@ export const MRT_ShowHideColumnsButton = <TData extends MRT_RowData>({
27
27
 
28
28
  return (
29
29
  <>
30
- <Tooltip arrow title={rest?.title ?? localization.showHideColumns}>
30
+ <Tooltip title={rest?.title ?? localization.showHideColumns}>
31
31
  <IconButton
32
32
  aria-label={localization.showHideColumns}
33
33
  onClick={handleClick}
@@ -31,7 +31,7 @@ export const MRT_ToggleDensePaddingButton = <TData extends MRT_RowData>({
31
31
  };
32
32
 
33
33
  return (
34
- <Tooltip arrow title={rest?.title ?? localization.toggleDensity}>
34
+ <Tooltip title={rest?.title ?? localization.toggleDensity}>
35
35
  <IconButton
36
36
  aria-label={localization.toggleDensity}
37
37
  onClick={handleToggleDensePadding}
@@ -25,7 +25,7 @@ export const MRT_ToggleFiltersButton = <TData extends MRT_RowData>({
25
25
  };
26
26
 
27
27
  return (
28
- <Tooltip arrow title={rest?.title ?? localization.showHideFilters}>
28
+ <Tooltip title={rest?.title ?? localization.showHideFilters}>
29
29
  <IconButton
30
30
  aria-label={localization.showHideFilters}
31
31
  onClick={handleToggleShowFilters}
@@ -30,7 +30,6 @@ export const MRT_ToggleFullScreenButton = <TData extends MRT_RowData>({
30
30
 
31
31
  return (
32
32
  <Tooltip
33
- arrow
34
33
  open={tooltipOpened}
35
34
  title={rest?.title ?? localization.toggleFullScreen}
36
35
  >
@@ -28,7 +28,7 @@ export const MRT_ToggleGlobalFilterButton = <TData extends MRT_RowData>({
28
28
  };
29
29
 
30
30
  return (
31
- <Tooltip arrow title={rest?.title ?? localization.showHideSearch}>
31
+ <Tooltip title={rest?.title ?? localization.showHideSearch}>
32
32
  <IconButton
33
33
  aria-label={rest?.title ?? localization.showHideSearch}
34
34
  disabled={!!globalFilter}
@@ -80,7 +80,7 @@ export const MRT_ToggleRowActionMenuButton = <TData extends MRT_RowData>({
80
80
  ) : !renderRowActionMenuItems &&
81
81
  parseFromValuesOrFunc(enableEditing, row) &&
82
82
  ['modal', 'row'].includes(editDisplayMode!) ? (
83
- <Tooltip arrow placement="right" title={localization.edit}>
83
+ <Tooltip placement="right" title={localization.edit}>
84
84
  <IconButton
85
85
  aria-label={localization.edit}
86
86
  onClick={handleStartEditMode}
@@ -93,7 +93,6 @@ export const MRT_ToggleRowActionMenuButton = <TData extends MRT_RowData>({
93
93
  ) : renderRowActionMenuItems ? (
94
94
  <>
95
95
  <Tooltip
96
- arrow
97
96
  enterDelay={1000}
98
97
  enterNextDelay={1000}
99
98
  title={localization.rowActions}
@@ -348,3 +348,20 @@ export function createMRTColumnHelper<
348
348
  group: (column) => column as MRT_GroupColumnDef<TData>,
349
349
  };
350
350
  }
351
+
352
+ export const getValueAndLabel = (
353
+ option: { label?: string; text?: string; value: string } | string,
354
+ ): { label: string; value: string } => {
355
+ let label: string = '';
356
+ let value: string = '';
357
+ if (option) {
358
+ if (typeof option !== 'object') {
359
+ label = option;
360
+ value = option;
361
+ } else {
362
+ label = option.label ?? option.text ?? option.value;
363
+ value = option.value ?? label;
364
+ }
365
+ }
366
+ return { label, value };
367
+ };
@@ -54,7 +54,6 @@ export const MRT_TableHeadCellColumnActionsButton = <
54
54
  return (
55
55
  <>
56
56
  <Tooltip
57
- arrow
58
57
  enterDelay={1000}
59
58
  enterNextDelay={1000}
60
59
  placement="top"
@@ -92,7 +92,7 @@ export const MRT_TableHeadCellFilterLabel = <TData extends MRT_RowData = {}>({
92
92
  unmountOnExit
93
93
  >
94
94
  <Box component="span" sx={{ flex: '0 0' }}>
95
- <Tooltip arrow placement="top" title={filterTooltip}>
95
+ <Tooltip placement="top" title={filterTooltip}>
96
96
  <IconButton
97
97
  disableRipple
98
98
  onClick={(event: MouseEvent<HTMLButtonElement>) => {
@@ -45,7 +45,7 @@ export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
45
45
  : localization.sortByColumnAsc.replace('{column}', columnDef.header);
46
46
 
47
47
  return (
48
- <Tooltip arrow placement="top" title={sortTooltip}>
48
+ <Tooltip placement="top" title={sortTooltip}>
49
49
  <Badge
50
50
  badgeContent={sorting.length > 1 ? column.getSortIndex() + 1 : 0}
51
51
  overlap="circular"
@@ -0,0 +1,4 @@
1
+ export * from './useMRT_DisplayColumns';
2
+ export * from './useMRT_Effects';
3
+ export * from './useMRT_TableInstance';
4
+ export * from './useMRT_TableOptions';
@@ -86,7 +86,7 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
86
86
  positionPagination = 'bottom',
87
87
  positionToolbarAlertBanner = 'top',
88
88
  positionToolbarDropZone = 'top',
89
- rowNumberMode = 'static',
89
+ rowNumberDisplayMode = 'static',
90
90
  rowPinningDisplayMode = 'sticky',
91
91
  selectAllMode = 'page',
92
92
  sortingFns,
@@ -194,7 +194,7 @@ export const useMRT_TableOptions: <TData extends MRT_RowData>(
194
194
  positionPagination,
195
195
  positionToolbarAlertBanner,
196
196
  positionToolbarDropZone,
197
- rowNumberMode,
197
+ rowNumberDisplayMode,
198
198
  rowPinningDisplayMode,
199
199
  selectAllMode,
200
200
  sortingFns: _sortingFns,
package/src/index.ts CHANGED
@@ -6,6 +6,7 @@ export * from './column.utils';
6
6
  export * from './filterFns';
7
7
  export * from './footer';
8
8
  export * from './head';
9
+ export * from './hooks';
9
10
  export * from './inputs';
10
11
  export * from './menus';
11
12
  export * from './modals';
@@ -7,7 +7,7 @@ import {
7
7
  import MenuItem from '@mui/material/MenuItem';
8
8
  import TextField from '@mui/material/TextField';
9
9
  import { type TextFieldProps } from '@mui/material/TextField';
10
- import { parseFromValuesOrFunc } from '../column.utils';
10
+ import { getValueAndLabel, parseFromValuesOrFunc } from '../column.utils';
11
11
  import {
12
12
  type MRT_Cell,
13
13
  type MRT_RowData,
@@ -62,9 +62,9 @@ export const MRT_EditCellTextField = <TData extends MRT_RowData>({
62
62
  //@ts-ignore
63
63
  row._valuesCache[column.id] = newValue;
64
64
  if (isCreating) {
65
- setCreatingRow({ ...row });
65
+ setCreatingRow(row);
66
66
  } else if (isEditing) {
67
- setEditingRow({ ...row });
67
+ setEditingRow(row);
68
68
  }
69
69
  };
70
70
 
@@ -150,33 +150,23 @@ export const MRT_EditCellTextField = <TData extends MRT_RowData>({
150
150
  onKeyDown={handleEnterKeyDown}
151
151
  >
152
152
  {textFieldProps.children ??
153
- columnDef?.editSelectOptions?.map(
154
- (option: { text: string; value: string } | string) => {
155
- let value: string;
156
- let text: string;
157
- if (typeof option !== 'object') {
158
- value = option;
159
- text = option;
160
- } else {
161
- value = option.value;
162
- text = option.text;
163
- }
164
- return (
165
- <MenuItem
166
- key={value}
167
- sx={{
168
- alignItems: 'center',
169
- display: 'flex',
170
- gap: '0.5rem',
171
- m: 0,
172
- }}
173
- value={value}
174
- >
175
- {text}
176
- </MenuItem>
177
- );
178
- },
179
- )}
153
+ columnDef?.editSelectOptions?.map((option) => {
154
+ const { label, value } = getValueAndLabel(option);
155
+ return (
156
+ <MenuItem
157
+ key={value}
158
+ sx={{
159
+ alignItems: 'center',
160
+ display: 'flex',
161
+ gap: '0.5rem',
162
+ m: 0,
163
+ }}
164
+ value={value}
165
+ >
166
+ {label}
167
+ </MenuItem>
168
+ );
169
+ })}
180
170
  </TextField>
181
171
  );
182
172
  };
@@ -44,7 +44,6 @@ export const MRT_FilterCheckbox = <TData extends MRT_RowData>({
44
44
 
45
45
  return (
46
46
  <Tooltip
47
- arrow
48
47
  enterDelay={1000}
49
48
  enterNextDelay={1000}
50
49
  title={checkboxProps?.title ?? filterLabel}
@@ -21,7 +21,7 @@ import {
21
21
  DatePicker,
22
22
  type DatePickerProps,
23
23
  } from '@mui/x-date-pickers/DatePicker';
24
- import { parseFromValuesOrFunc } from '../column.utils';
24
+ import { getValueAndLabel, parseFromValuesOrFunc } from '../column.utils';
25
25
  import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
26
26
  import {
27
27
  type MRT_Header,
@@ -242,7 +242,7 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
242
242
  position="end"
243
243
  sx={{ mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }}
244
244
  >
245
- <Tooltip arrow placement="right" title={localization.clearFilter ?? ''}>
245
+ <Tooltip placement="right" title={localization.clearFilter ?? ''}>
246
246
  <span>
247
247
  <IconButton
248
248
  aria-label={localization.clearFilter}
@@ -264,7 +264,7 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
264
264
 
265
265
  const startAdornment = showChangeModeButton ? (
266
266
  <InputAdornment position="start">
267
- <Tooltip arrow title={localization.changeFilterMode}>
267
+ <Tooltip title={localization.changeFilterMode}>
268
268
  <span>
269
269
  <IconButton
270
270
  aria-label={localization.changeFilterMode}
@@ -309,6 +309,7 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
309
309
  </label>
310
310
  ) : null,
311
311
  inputProps: {
312
+ 'aria-label': filterPlaceholder,
312
313
  autoComplete: 'new-password', // disable autocomplete and autofill
313
314
  disabled: !!filterChipLabel,
314
315
  sx: {
@@ -373,9 +374,13 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
373
374
  ) : isAutocompleteFilter ? (
374
375
  <Autocomplete
375
376
  freeSolo
376
- getOptionLabel={(option) => option}
377
- onChange={(_e, newValue) => handleChange(newValue)}
378
- options={dropdownOptions ?? []}
377
+ getOptionLabel={(option) => getValueAndLabel(option).label}
378
+ onChange={(_e, newValue) =>
379
+ handleChange(getValueAndLabel(newValue).value)
380
+ }
381
+ options={
382
+ dropdownOptions?.map((option) => getValueAndLabel(option)) ?? []
383
+ }
379
384
  {...autocompleteProps}
380
385
  renderInput={(builtinTextFieldProps) => (
381
386
  <TextField
@@ -407,19 +412,13 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
407
412
  ) : (
408
413
  <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: '2px' }}>
409
414
  {(selected as string[])?.map((value) => {
410
- const selectedValue = dropdownOptions?.find((option) =>
411
- option instanceof Object
412
- ? option.value === value
413
- : option === value,
415
+ const selectedValue = dropdownOptions?.find(
416
+ (option) => getValueAndLabel(option).value === value,
414
417
  );
415
418
  return (
416
419
  <Chip
417
420
  key={value}
418
- label={
419
- selectedValue instanceof Object
420
- ? selectedValue.text
421
- : selectedValue
422
- }
421
+ label={getValueAndLabel(selectedValue).label}
423
422
  />
424
423
  );
425
424
  })}
@@ -438,44 +437,33 @@ export const MRT_FilterTextField = <TData extends MRT_RowData>({
438
437
  </MenuItem>,
439
438
  ...[
440
439
  textFieldProps.children ??
441
- dropdownOptions?.map(
442
- (option: { text: string; value: string } | string, index) => {
443
- if (!option) return '';
444
- let value: string;
445
- let text: string;
446
- if (typeof option !== 'object') {
447
- value = option;
448
- text = option;
449
- } else {
450
- value = option.value;
451
- text = option.text;
452
- }
453
- return (
454
- <MenuItem
455
- key={`${index}-${value}`}
456
- sx={{
457
- alignItems: 'center',
458
- display: 'flex',
459
- gap: '0.5rem',
460
- m: 0,
461
- }}
462
- value={value}
463
- >
464
- {isMultiSelectFilter && (
465
- <Checkbox
466
- checked={(
467
- (column.getFilterValue() ?? []) as string[]
468
- ).includes(value)}
469
- sx={{ mr: '0.5rem' }}
470
- />
471
- )}
472
- {text}{' '}
473
- {!columnDef.filterSelectOptions &&
474
- `(${facetedUniqueValues.get(value)})`}
475
- </MenuItem>
476
- );
477
- },
478
- ),
440
+ dropdownOptions?.map((option, index) => {
441
+ const { label, value } = getValueAndLabel(option);
442
+ return (
443
+ <MenuItem
444
+ key={`${index}-${value}`}
445
+ sx={{
446
+ alignItems: 'center',
447
+ display: 'flex',
448
+ gap: '0.5rem',
449
+ m: 0,
450
+ }}
451
+ value={value}
452
+ >
453
+ {isMultiSelectFilter && (
454
+ <Checkbox
455
+ checked={(
456
+ (column.getFilterValue() ?? []) as string[]
457
+ ).includes(value)}
458
+ sx={{ mr: '0.5rem' }}
459
+ />
460
+ )}
461
+ {label}{' '}
462
+ {!columnDef.filterSelectOptions &&
463
+ `(${facetedUniqueValues.get(value)})`}
464
+ </MenuItem>
465
+ );
466
+ }),
479
467
  ],
480
468
  ]}
481
469
  </TextField>
@@ -95,7 +95,7 @@ export const MRT_GlobalFilterTextField = <TData extends MRT_RowData>({
95
95
  InputProps={{
96
96
  endAdornment: (
97
97
  <InputAdornment position="end">
98
- <Tooltip arrow title={localization.clearSearch ?? ''}>
98
+ <Tooltip title={localization.clearSearch ?? ''}>
99
99
  <span>
100
100
  <IconButton
101
101
  aria-label={localization.clearSearch}
@@ -111,7 +111,7 @@ export const MRT_GlobalFilterTextField = <TData extends MRT_RowData>({
111
111
  ),
112
112
  startAdornment: enableGlobalFilterModes ? (
113
113
  <InputAdornment position="start">
114
- <Tooltip arrow title={localization.changeSearchMode}>
114
+ <Tooltip title={localization.changeSearchMode}>
115
115
  <IconButton
116
116
  aria-label={localization.changeSearchMode}
117
117
  onClick={handleGlobalFilterMenuOpen}
@@ -96,7 +96,6 @@ export const MRT_SelectCheckbox = <TData extends MRT_RowData>({
96
96
 
97
97
  return (
98
98
  <Tooltip
99
- arrow
100
99
  enterDelay={1000}
101
100
  enterNextDelay={1000}
102
101
  title={
@@ -1,18 +1,18 @@
1
1
  import { type MRT_Localization } from '..';
2
2
 
3
3
  export const MRT_Localization_ZH_HANS: MRT_Localization = {
4
- actions: '动作',
4
+ actions: '操作',
5
5
  and: '与',
6
6
  cancel: '取消',
7
7
  changeFilterMode: '更改过滤模式',
8
- changeSearchMode: '更改搜寻模式',
8
+ changeSearchMode: '更改搜索模式',
9
9
  clearFilter: '清除过滤',
10
- clearSearch: '清除搜寻',
10
+ clearSearch: '清除搜索',
11
11
  clearSort: '清除排序',
12
12
  clickToCopy: '点击以复制',
13
13
  collapse: '折叠',
14
14
  collapseAll: '全部折叠',
15
- columnActions: '栏位动作',
15
+ columnActions: '列操作',
16
16
  copiedToClipboard: '已复制至剪贴板',
17
17
  dropToGroupBy: '拖放以按 {column} 分组',
18
18
  edit: '编辑',
@@ -42,7 +42,7 @@ export const MRT_Localization_ZH_HANS: MRT_Localization = {
42
42
  filterNotEquals: '不等于',
43
43
  filterStartsWith: '开首为',
44
44
  filterWeakEquals: '等于',
45
- filteringByColumn: '正以 {column} 过滤:{filterType} {filterValue}',
45
+ filteringByColumn: ' {column} 过滤:{filterType} {filterValue}',
46
46
  goToFirstPage: '到第一页',
47
47
  goToLastPage: '到最后一页',
48
48
  goToNextPage: '下一页',
@@ -51,7 +51,7 @@ export const MRT_Localization_ZH_HANS: MRT_Localization = {
51
51
  groupByColumn: '按 {column} 分组',
52
52
  groupedBy: '分组依据 ',
53
53
  hideAll: '隐藏全部',
54
- hideColumn: '隐藏 {column} 栏位',
54
+ hideColumn: '隐藏 {column} ',
55
55
  max: '最大',
56
56
  min: '最小',
57
57
  move: '移动',
@@ -62,30 +62,30 @@ export const MRT_Localization_ZH_HANS: MRT_Localization = {
62
62
  pin: '固定',
63
63
  pinToLeft: '固定至左边',
64
64
  pinToRight: '固定至右边',
65
- resetColumnSize: '重置栏位大小',
65
+ resetColumnSize: '重置列大小',
66
66
  resetOrder: '重置排序',
67
- rowActions: '横列动作',
67
+ rowActions: '行操作',
68
68
  rowNumber: '#',
69
- rowNumbers: '横列号码',
70
- rowsPerPage: '每页横列数目',
71
- save: '储存',
72
- search: '搜寻',
73
- selectedCountOfRowCountRowsSelected: '已选择横列:{selectedCount}/{rowCount}',
69
+ rowNumbers: '行号码',
70
+ rowsPerPage: '每页行数',
71
+ save: '保存',
72
+ search: '搜索',
73
+ selectedCountOfRowCountRowsSelected: '已选择行:{selectedCount}/{rowCount}',
74
74
  select: '选择',
75
75
  showAll: '显示全部',
76
- showAllColumns: '显示全部栏位',
77
- showHideColumns: '显示/隐藏 栏位',
76
+ showAllColumns: '显示全部列',
77
+ showHideColumns: '显示/隐藏 ',
78
78
  showHideFilters: '显示/隐藏 过滤条件',
79
- showHideSearch: '显示/隐藏 搜寻条件',
79
+ showHideSearch: '显示/隐藏 搜索条件',
80
80
  sortByColumnAsc: '按 {column} 顺序排序',
81
81
  sortByColumnDesc: '按 {column} 倒序排序',
82
82
  sortedByColumnAsc: '已按 {column} 顺序排序',
83
83
  sortedByColumnDesc: '已按 {column} 倒序排序',
84
84
  thenBy: ',然后以',
85
- toggleDensity: '切换密度',
85
+ toggleDensity: '切换间距',
86
86
  toggleFullScreen: '切换全屏',
87
87
  toggleSelectAll: '切换选择全部',
88
- toggleSelectRow: '切换选择横列',
88
+ toggleSelectRow: '切换选择行',
89
89
  toggleVisibility: '切换可见度',
90
90
  ungroupByColumn: '取消按 {column} 分组',
91
91
  unpin: '取消固定',
@@ -154,7 +154,6 @@ export const MRT_ShowHideColumnsMenuItems = <TData extends MRT_RowData>({
154
154
  }}
155
155
  control={
156
156
  <Tooltip
157
- arrow
158
157
  enterDelay={1000}
159
158
  enterNextDelay={1000}
160
159
  title={localization.toggleVisibility}
@@ -27,7 +27,7 @@ export const MRT_TablePaper = <TData extends MRT_RowData>({
27
27
  } = table;
28
28
  const { isFullScreen } = getState();
29
29
 
30
- const tablePaperProps = {
30
+ const paperProps = {
31
31
  ...parseFromValuesOrFunc(muiTablePaperProps, { table }),
32
32
  ...rest,
33
33
  };
@@ -35,12 +35,12 @@ export const MRT_TablePaper = <TData extends MRT_RowData>({
35
35
  return (
36
36
  <Paper
37
37
  elevation={2}
38
- {...tablePaperProps}
38
+ {...paperProps}
39
39
  ref={(ref: HTMLDivElement) => {
40
40
  tablePaperRef.current = ref;
41
- if (tablePaperProps?.ref) {
41
+ if (paperProps?.ref) {
42
42
  //@ts-ignore
43
- tablePaperProps.ref.current = ref;
43
+ paperProps.ref.current = ref;
44
44
  }
45
45
  }}
46
46
  style={{
@@ -60,14 +60,14 @@ export const MRT_TablePaper = <TData extends MRT_RowData>({
60
60
  zIndex: 999,
61
61
  }
62
62
  : {}),
63
- ...tablePaperProps?.style,
63
+ ...paperProps?.style,
64
64
  }}
65
65
  sx={(theme) => ({
66
66
  backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
67
67
  backgroundImage: 'unset',
68
68
  overflow: 'hidden',
69
69
  transition: 'all 100ms ease-in-out',
70
- ...(parseFromValuesOrFunc(tablePaperProps?.sx, theme) as any),
70
+ ...(parseFromValuesOrFunc(paperProps?.sx, theme) as any),
71
71
  })}
72
72
  >
73
73
  {enableTopToolbar &&
package/src/types.ts CHANGED
@@ -424,7 +424,17 @@ export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<
424
424
  LiteralUnion<string & MRT_FilterOption>
425
425
  > | null;
426
426
  columns?: MRT_ColumnDef<TData, TValue>[];
427
- editSelectOptions?: ({ text: string; value: any } | string)[];
427
+ editSelectOptions?: (
428
+ | {
429
+ label?: string;
430
+ /**
431
+ * @deprecated use `label` instead
432
+ */
433
+ text?: string;
434
+ value: any;
435
+ }
436
+ | string
437
+ )[];
428
438
  editVariant?: 'select' | 'text';
429
439
  enableClickToCopy?: boolean;
430
440
  enableColumnActions?: boolean;
@@ -434,7 +444,17 @@ export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<
434
444
  enableEditing?: ((row: MRT_Row<TData>) => boolean) | boolean;
435
445
  enableFilterMatchHighlighting?: boolean;
436
446
  filterFn?: MRT_FilterFn<TData>;
437
- filterSelectOptions?: ({ text: string; value: any } | string)[];
447
+ filterSelectOptions?: (
448
+ | {
449
+ label?: string;
450
+ /**
451
+ * @deprecated use `label` instead
452
+ */
453
+ text?: string;
454
+ value: any;
455
+ }
456
+ | string
457
+ )[];
438
458
  filterVariant?:
439
459
  | 'autocomplete'
440
460
  | 'checkbox'
@@ -1094,7 +1114,7 @@ export type MRT_TableOptions<TData extends MRT_RowData> = Omit<
1094
1114
  table: MRT_TableInstance<TData>;
1095
1115
  }) => ReactNode;
1096
1116
  rowCount?: number;
1097
- rowNumberMode?: 'original' | 'static';
1117
+ rowNumberDisplayMode?: 'original' | 'static';
1098
1118
  rowPinningDisplayMode?:
1099
1119
  | 'bottom'
1100
1120
  | 'select-bottom'
@@ -1113,7 +1133,6 @@ export type MRT_TableOptions<TData extends MRT_RowData> = Omit<
1113
1133
  }) => Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>)
1114
1134
  | Partial<VirtualizerOptions<HTMLDivElement, HTMLTableRowElement>>;
1115
1135
  selectAllMode?: 'all' | 'page';
1116
- selectDisplayMode?: 'checkbox' | 'radio' | 'switch';
1117
1136
  /**
1118
1137
  * Manage state externally any way you want, then pass it back into MRT.
1119
1138
  */