material-react-table 2.0.0-alpha.1 → 2.0.0-alpha.3

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 (143) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/index.js +2408 -2334
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/MaterialReactTable.d.ts +1 -1
  5. package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  6. package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +2 -2
  7. package/dist/cjs/types/column.utils.d.ts +6 -6
  8. package/dist/cjs/types/filterFns.d.ts +14 -14
  9. package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  10. package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  11. package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  12. package/dist/cjs/types/icons.d.ts +1 -1
  13. package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  14. package/dist/cjs/types/locales/np.d.ts +2 -0
  15. package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  16. package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  17. package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +2 -2
  18. package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  19. package/dist/cjs/types/types.d.ts +217 -197
  20. package/dist/esm/material-react-table.esm.js +2311 -2239
  21. package/dist/esm/material-react-table.esm.js.map +1 -1
  22. package/dist/esm/types/MaterialReactTable.d.ts +1 -1
  23. package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +1 -1
  24. package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +2 -2
  25. package/dist/esm/types/column.utils.d.ts +6 -6
  26. package/dist/esm/types/filterFns.d.ts +14 -14
  27. package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
  28. package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
  29. package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +3 -3
  30. package/dist/esm/types/icons.d.ts +1 -1
  31. package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +1 -1
  32. package/dist/esm/types/locales/np.d.ts +2 -0
  33. package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
  34. package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
  35. package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +2 -2
  36. package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +1 -1
  37. package/dist/esm/types/types.d.ts +217 -197
  38. package/dist/index.d.ts +258 -238
  39. package/locales/fr.esm.js +1 -1
  40. package/locales/fr.esm.js.map +1 -1
  41. package/locales/fr.js +1 -1
  42. package/locales/fr.js.map +1 -1
  43. package/locales/np.d.ts +2 -0
  44. package/locales/np.esm.d.ts +2 -0
  45. package/locales/np.esm.js +94 -0
  46. package/locales/np.esm.js.map +1 -0
  47. package/locales/np.js +98 -0
  48. package/locales/np.js.map +1 -0
  49. package/locales/tr.d.ts +2 -0
  50. package/locales/tr.esm.d.ts +2 -0
  51. package/locales/tr.esm.js +93 -0
  52. package/locales/tr.esm.js.map +1 -0
  53. package/locales/tr.js +97 -0
  54. package/locales/tr.js.map +1 -0
  55. package/locales/uk.d.ts +2 -0
  56. package/locales/uk.esm.d.ts +2 -0
  57. package/locales/uk.esm.js +93 -0
  58. package/locales/uk.esm.js.map +1 -0
  59. package/locales/uk.js +97 -0
  60. package/locales/uk.js.map +1 -0
  61. package/locales/vi.d.ts +2 -0
  62. package/locales/vi.esm.d.ts +2 -0
  63. package/locales/vi.esm.js +93 -0
  64. package/locales/vi.esm.js.map +1 -0
  65. package/locales/vi.js +97 -0
  66. package/locales/vi.js.map +1 -0
  67. package/locales/zh-Hans.d.ts +2 -0
  68. package/locales/zh-Hans.esm.d.ts +2 -0
  69. package/locales/zh-Hans.esm.js +93 -0
  70. package/locales/zh-Hans.esm.js.map +1 -0
  71. package/locales/zh-Hans.js +97 -0
  72. package/locales/zh-Hans.js.map +1 -0
  73. package/locales/zh-Hant.d.ts +2 -0
  74. package/locales/zh-Hant.esm.d.ts +2 -0
  75. package/locales/zh-Hant.esm.js +93 -0
  76. package/locales/zh-Hant.esm.js.map +1 -0
  77. package/locales/zh-Hant.js +97 -0
  78. package/locales/zh-Hant.js.map +1 -0
  79. package/package.json +27 -26
  80. package/src/MaterialReactTable.tsx +2 -2
  81. package/src/body/MRT_TableBody.tsx +9 -9
  82. package/src/body/MRT_TableBodyCell.tsx +22 -22
  83. package/src/body/MRT_TableBodyCellValue.tsx +5 -5
  84. package/src/body/MRT_TableBodyRow.tsx +32 -32
  85. package/src/body/MRT_TableBodyRowGrabHandle.tsx +2 -2
  86. package/src/body/MRT_TableBodyRowPinButton.tsx +3 -3
  87. package/src/body/MRT_TableDetailPanel.tsx +3 -3
  88. package/src/buttons/MRT_CopyButton.tsx +1 -1
  89. package/src/buttons/MRT_EditActionButtons.tsx +4 -4
  90. package/src/buttons/MRT_ExpandAllButton.tsx +3 -3
  91. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  92. package/src/buttons/MRT_GrabHandleButton.tsx +10 -10
  93. package/src/buttons/MRT_RowPinButton.tsx +5 -5
  94. package/src/buttons/MRT_ShowHideColumnsButton.tsx +1 -1
  95. package/src/buttons/MRT_ToggleFullScreenButton.tsx +2 -2
  96. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +8 -8
  97. package/src/column.utils.ts +24 -22
  98. package/src/filterFns.ts +29 -29
  99. package/src/footer/MRT_TableFooter.tsx +9 -9
  100. package/src/footer/MRT_TableFooterCell.tsx +1 -1
  101. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  102. package/src/head/MRT_TableHead.tsx +9 -9
  103. package/src/head/MRT_TableHeadCell.tsx +10 -6
  104. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +9 -6
  105. package/src/head/MRT_TableHeadCellFilterContainer.tsx +12 -5
  106. package/src/head/MRT_TableHeadCellFilterLabel.tsx +106 -61
  107. package/src/head/MRT_TableHeadCellGrabHandle.tsx +2 -2
  108. package/src/head/MRT_TableHeadCellResizeHandle.tsx +11 -11
  109. package/src/head/MRT_TableHeadCellSortLabel.tsx +8 -8
  110. package/src/head/MRT_TableHeadRow.tsx +2 -2
  111. package/src/hooks/useMRT_DisplayColumns.tsx +5 -5
  112. package/src/hooks/useMRT_Effects.ts +3 -3
  113. package/src/hooks/useMRT_TableInstance.ts +15 -14
  114. package/src/hooks/useMRT_TableOptions.ts +3 -3
  115. package/src/icons.ts +2 -2
  116. package/src/inputs/MRT_EditCellTextField.tsx +9 -9
  117. package/src/inputs/MRT_FilterCheckbox.tsx +7 -7
  118. package/src/inputs/MRT_FilterRangeFields.tsx +1 -1
  119. package/src/inputs/MRT_FilterRangeSlider.tsx +6 -6
  120. package/src/inputs/MRT_FilterTextField.tsx +309 -230
  121. package/src/inputs/MRT_GlobalFilterTextField.tsx +26 -26
  122. package/src/inputs/MRT_SelectCheckbox.tsx +7 -7
  123. package/src/locales/fr.ts +1 -1
  124. package/src/locales/np.ts +94 -0
  125. package/src/menus/MRT_ColumnActionMenu.tsx +48 -45
  126. package/src/menus/MRT_FilterOptionMenu.tsx +36 -36
  127. package/src/menus/MRT_RowActionMenu.tsx +7 -7
  128. package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -6
  129. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +5 -5
  130. package/src/modals/MRT_EditRowModal.tsx +8 -8
  131. package/src/sortingFns.ts +1 -1
  132. package/src/table/MRT_Table.tsx +7 -7
  133. package/src/table/MRT_TableContainer.tsx +10 -10
  134. package/src/table/MRT_TablePaper.tsx +9 -9
  135. package/src/toolbar/MRT_BottomToolbar.tsx +5 -5
  136. package/src/toolbar/MRT_LinearProgressBar.tsx +4 -4
  137. package/src/toolbar/MRT_TablePagination.tsx +19 -19
  138. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +4 -4
  139. package/src/toolbar/MRT_ToolbarDropZone.tsx +6 -6
  140. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -5
  141. package/src/toolbar/MRT_TopToolbar.tsx +7 -7
  142. package/src/types.ts +288 -257
  143. package/src/useMaterialReactTable.ts +1 -1
@@ -4,8 +4,8 @@ import {
4
4
  type KeyboardEvent,
5
5
  useState,
6
6
  } from 'react';
7
- import TextField from '@mui/material/TextField';
8
7
  import MenuItem from '@mui/material/MenuItem';
8
+ import TextField from '@mui/material/TextField';
9
9
  import { type TextFieldProps } from '@mui/material/TextField';
10
10
  import { parseFromValuesOrFunc } from '../column.utils';
11
11
  import { type MRT_Cell, type MRT_TableInstance } from '../types';
@@ -23,9 +23,9 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
23
23
  getState,
24
24
  options: { createDisplayMode, editDisplayMode, muiEditTextFieldProps },
25
25
  refs: { editInputRefs },
26
+ setCreatingRow,
26
27
  setEditingCell,
27
28
  setEditingRow,
28
- setCreatingRow,
29
29
  } = table;
30
30
  const { column, row } = cell;
31
31
  const { columnDef } = column;
@@ -100,7 +100,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
100
100
  }
101
101
  }}
102
102
  label={
103
- ['modal', 'custom'].includes(
103
+ ['custom', 'modal'].includes(
104
104
  (isCreating ? createDisplayMode : editDisplayMode) as string,
105
105
  )
106
106
  ? column.columnDef.header
@@ -109,7 +109,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
109
109
  margin="none"
110
110
  name={column.id}
111
111
  placeholder={
112
- !['modal', 'custom'].includes(
112
+ !['custom', 'modal'].includes(
113
113
  (isCreating ? createDisplayMode : editDisplayMode) as string,
114
114
  )
115
115
  ? columnDef.header
@@ -119,17 +119,17 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
119
119
  value={value}
120
120
  variant="standard"
121
121
  {...textFieldProps}
122
+ onBlur={handleBlur}
123
+ onChange={handleChange}
122
124
  onClick={(e) => {
123
125
  e.stopPropagation();
124
126
  textFieldProps?.onClick?.(e);
125
127
  }}
126
- onBlur={handleBlur}
127
- onChange={handleChange}
128
128
  onKeyDown={handleEnterKeyDown}
129
129
  >
130
130
  {textFieldProps.children ??
131
131
  columnDef?.editSelectOptions?.map(
132
- (option: string | { text: string; value: string }) => {
132
+ (option: { text: string; value: string } | string) => {
133
133
  let value: string;
134
134
  let text: string;
135
135
  if (typeof option !== 'object') {
@@ -143,10 +143,10 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
143
143
  <MenuItem
144
144
  key={value}
145
145
  sx={{
146
- display: 'flex',
147
- m: 0,
148
146
  alignItems: 'center',
147
+ display: 'flex',
149
148
  gap: '0.5rem',
149
+ m: 0,
150
150
  }}
151
151
  value={value}
152
152
  >
@@ -1,8 +1,8 @@
1
1
  import Checkbox from '@mui/material/Checkbox';
2
2
  import FormControlLabel from '@mui/material/FormControlLabel';
3
3
  import Tooltip from '@mui/material/Tooltip';
4
- import { type MRT_Column, type MRT_TableInstance } from '../types';
5
4
  import { parseFromValuesOrFunc } from '../column.utils';
5
+ import { type MRT_Column, type MRT_TableInstance } from '../types';
6
6
 
7
7
  interface Props<TData extends Record<string, any>> {
8
8
  column: MRT_Column<TData>;
@@ -47,16 +47,12 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
47
47
  control={
48
48
  <Checkbox
49
49
  checked={column.getFilterValue() === 'true'}
50
- indeterminate={column.getFilterValue() === undefined}
51
50
  color={
52
51
  column.getFilterValue() === undefined ? 'default' : 'primary'
53
52
  }
53
+ indeterminate={column.getFilterValue() === undefined}
54
54
  size={density === 'compact' ? 'small' : 'medium'}
55
55
  {...checkboxProps}
56
- onClick={(e) => {
57
- e.stopPropagation();
58
- checkboxProps?.onClick?.(e);
59
- }}
60
56
  onChange={(e, checked) => {
61
57
  column.setFilterValue(
62
58
  column.getFilterValue() === undefined
@@ -67,6 +63,10 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
67
63
  );
68
64
  checkboxProps?.onChange?.(e, checked);
69
65
  }}
66
+ onClick={(e) => {
67
+ e.stopPropagation();
68
+ checkboxProps?.onClick?.(e);
69
+ }}
70
70
  sx={(theme) => ({
71
71
  height: '2.5rem',
72
72
  width: '2.5rem',
@@ -76,7 +76,7 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
76
76
  }
77
77
  disableTypography
78
78
  label={checkboxProps.title ?? filterLabel}
79
- sx={{ color: 'text.secondary', mt: '-4px', fontWeight: 'normal' }}
79
+ sx={{ color: 'text.secondary', fontWeight: 'normal', mt: '-4px' }}
80
80
  title={undefined}
81
81
  />
82
82
  </Tooltip>
@@ -12,7 +12,7 @@ export const MRT_FilterRangeFields = <TData extends Record<string, any>>({
12
12
  table,
13
13
  }: Props<TData>) => {
14
14
  return (
15
- <Box sx={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1rem' }}>
15
+ <Box sx={{ display: 'grid', gap: '1rem', gridTemplateColumns: '1fr 1fr' }}>
16
16
  <MRT_FilterTextField header={header} rangeFilterIndex={0} table={table} />
17
17
  <MRT_FilterTextField header={header} rangeFilterIndex={1} table={table} />
18
18
  </Box>
@@ -1,9 +1,9 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import FormHelperText from '@mui/material/FormHelperText';
1
3
  import Slider from '@mui/material/Slider';
2
4
  import Stack from '@mui/material/Stack';
3
- import FormHelperText from '@mui/material/FormHelperText';
4
- import { type MRT_TableInstance, type MRT_Header } from '../types';
5
- import { useEffect, useRef, useState } from 'react';
6
5
  import { parseFromValuesOrFunc } from '../column.utils';
6
+ import { type MRT_Header, type MRT_TableInstance } from '../types';
7
7
 
8
8
  interface Props<TData extends Record<string, any>> {
9
9
  header: MRT_Header<TData>;
@@ -15,7 +15,7 @@ export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
15
15
  table,
16
16
  }: Props<TData>) => {
17
17
  const {
18
- options: { localization, muiFilterSliderProps, enableColumnFilterModes },
18
+ options: { enableColumnFilterModes, localization, muiFilterSliderProps },
19
19
  refs: { filterInputRefs },
20
20
  } = table;
21
21
  const { column } = header;
@@ -62,8 +62,8 @@ export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
62
62
  <Stack>
63
63
  <Slider
64
64
  disableSwap
65
- min={min}
66
65
  max={max}
66
+ min={min}
67
67
  onChange={(_event, values) => {
68
68
  setFilterValues(values as [number, number]);
69
69
  }}
@@ -105,9 +105,9 @@ export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
105
105
  {showChangeModeButton ? (
106
106
  <FormHelperText
107
107
  sx={{
108
- m: '-3px -6px',
109
108
  fontSize: '0.75rem',
110
109
  lineHeight: '0.8rem',
110
+ m: '-3px -6px',
111
111
  whiteSpace: 'nowrap',
112
112
  }}
113
113
  >