material-react-table 2.0.0-beta.8 → 2.0.0-rc.0

Sign up to get free protection for your applications and to get access to all the features.
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
  */