@cutting/material-react-table 4.1.0 → 5.0.0-beta.1

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 (198) hide show
  1. package/dist/index.d.ts +360 -333
  2. package/dist/index.js +919 -928
  3. package/dist/index.js.map +1 -1
  4. package/locales/ar/package.json +2 -2
  5. package/locales/az/package.json +2 -2
  6. package/locales/bg/package.json +2 -2
  7. package/locales/cs/package.json +2 -2
  8. package/locales/da/package.json +2 -2
  9. package/locales/de/package.json +2 -2
  10. package/locales/el/package.json +2 -2
  11. package/locales/en/package.json +2 -2
  12. package/locales/es/package.json +2 -2
  13. package/locales/et/package.json +2 -2
  14. package/locales/fa/package.json +2 -2
  15. package/locales/fi/package.json +2 -2
  16. package/locales/fr/package.json +2 -2
  17. package/locales/he/package.json +2 -2
  18. package/locales/hr/package.json +2 -2
  19. package/locales/hu/package.json +2 -2
  20. package/locales/hy/package.json +2 -2
  21. package/locales/id/package.json +2 -2
  22. package/locales/it/package.json +2 -2
  23. package/locales/ja/package.json +2 -2
  24. package/locales/ko/package.json +2 -2
  25. package/locales/nl/package.json +2 -2
  26. package/locales/no/package.json +2 -2
  27. package/locales/np/package.json +2 -2
  28. package/locales/pl/package.json +2 -2
  29. package/locales/pt/package.json +2 -2
  30. package/locales/pt-BR/package.json +2 -2
  31. package/locales/ro/package.json +2 -2
  32. package/locales/ru/package.json +2 -2
  33. package/locales/sk/package.json +2 -2
  34. package/locales/sr-Cyrl-RS/package.json +2 -2
  35. package/locales/sr-Latn-RS/package.json +2 -2
  36. package/locales/sv/package.json +2 -2
  37. package/locales/tr/package.json +2 -2
  38. package/locales/uk/package.json +2 -2
  39. package/locales/vi/package.json +2 -2
  40. package/locales/zh-Hans/package.json +2 -2
  41. package/locales/zh-Hant/package.json +2 -2
  42. package/package.json +46 -61
  43. package/src/components/body/MRT_TableBody.tsx +1 -2
  44. package/src/components/body/MRT_TableBodyCell.tsx +4 -5
  45. package/src/components/body/MRT_TableBodyCellValue.tsx +1 -2
  46. package/src/components/body/MRT_TableBodyRow.tsx +1 -2
  47. package/src/components/body/MRT_TableBodyRowGrabHandle.test.tsx +42 -0
  48. package/src/components/body/MRT_TableBodyRowPinButton.tsx +1 -2
  49. package/src/components/body/MRT_TableDetailPanel.test.tsx +40 -0
  50. package/src/components/body/MRT_TableDetailPanel.tsx +1 -2
  51. package/src/components/buttons/MRT_ColumnPinningButtons.test.tsx +69 -0
  52. package/src/components/buttons/MRT_ColumnPinningButtons.tsx +3 -3
  53. package/src/components/buttons/MRT_EditActionButtons.test.tsx +50 -0
  54. package/src/components/buttons/MRT_EditActionButtons.tsx +1 -3
  55. package/src/components/buttons/MRT_ExpandAllButton.tsx +1 -2
  56. package/src/components/buttons/MRT_ExpandButton.tsx +1 -2
  57. package/src/components/buttons/MRT_ToggleDensePaddingButton.test.tsx +38 -0
  58. package/src/components/buttons/MRT_ToggleDensePaddingButton.tsx +1 -2
  59. package/src/components/buttons/MRT_ToggleFiltersButton.test.tsx +38 -0
  60. package/src/components/buttons/MRT_ToggleFiltersButton.tsx +1 -2
  61. package/src/components/buttons/MRT_ToggleFullScreenButton.test.tsx +36 -0
  62. package/src/components/buttons/MRT_ToggleFullScreenButton.tsx +1 -2
  63. package/src/components/buttons/MRT_ToggleGlobalFilterButton.tsx +1 -2
  64. package/src/components/buttons/MRT_ToggleRowActionMenuButton.tsx +2 -3
  65. package/src/components/footer/MRT_TableFooter.tsx +1 -2
  66. package/src/components/footer/MRT_TableFooterCell.tsx +1 -2
  67. package/src/components/head/MRT_TableHead.tsx +1 -2
  68. package/src/components/head/MRT_TableHeadCell.tsx +9 -9
  69. package/src/components/head/MRT_TableHeadCellFilterContainer.tsx +1 -2
  70. package/src/components/head/MRT_TableHeadCellGrabHandle.test.tsx +61 -0
  71. package/src/components/head/MRT_TableHeadCellGrabHandle.tsx +4 -5
  72. package/src/components/head/MRT_TableHeadCellResizeHandle.test.tsx +45 -0
  73. package/src/components/head/MRT_TableHeadCellResizeHandle.tsx +4 -5
  74. package/src/components/head/MRT_TableHeadCellSortLabel.tsx +1 -2
  75. package/src/components/inputs/MRT_EditCellTextField.test.tsx +36 -0
  76. package/src/components/inputs/MRT_EditCellTextField.tsx +1 -3
  77. package/src/components/inputs/MRT_FilterCheckbox.tsx +1 -2
  78. package/src/components/inputs/MRT_FilterRangeSlider.tsx +2 -1
  79. package/src/components/inputs/MRT_FilterTextField.test.tsx +75 -0
  80. package/src/components/inputs/MRT_GlobalFilterTextField.tsx +1 -2
  81. package/src/components/inputs/MRT_SelectCheckbox.test.tsx +69 -0
  82. package/src/components/inputs/MRT_SelectCheckbox.tsx +1 -2
  83. package/src/components/menus/MRT_CellActionMenu.tsx +1 -2
  84. package/src/components/menus/MRT_ColumnActionMenu.tsx +12 -13
  85. package/src/components/menus/MRT_FilterOptionMenu.tsx +1 -2
  86. package/src/components/menus/MRT_RowActionMenu.tsx +1 -2
  87. package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +1 -2
  88. package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -5
  89. package/src/components/modals/MRT_EditRowModal.test.tsx +54 -0
  90. package/src/components/modals/MRT_EditRowModal.tsx +1 -2
  91. package/src/components/table/MRT_Table.tsx +4 -5
  92. package/src/components/table/MRT_TableContainer.tsx +1 -2
  93. package/src/components/table/MRT_TablePaper.tsx +1 -2
  94. package/src/components/toolbar/MRT_BottomToolbar.tsx +2 -3
  95. package/src/components/toolbar/MRT_LinearProgressBar.tsx +1 -2
  96. package/src/components/toolbar/MRT_TablePagination.tsx +1 -2
  97. package/src/components/toolbar/MRT_ToolbarAlertBanner.tsx +3 -4
  98. package/src/components/toolbar/MRT_ToolbarDropZone.test.tsx +42 -0
  99. package/src/components/toolbar/MRT_ToolbarDropZone.tsx +1 -2
  100. package/src/components/toolbar/MRT_TopToolbar.tsx +1 -2
  101. package/src/fns/aggregationFns.test.tsx +57 -0
  102. package/src/fns/filterFns.test.tsx +156 -0
  103. package/src/fns/filterFns.ts +36 -22
  104. package/src/fns/sortingFns.ts +14 -5
  105. package/src/fns/tableFeatures.test.tsx +106 -0
  106. package/src/fns/tableFeatures.ts +103 -0
  107. package/src/hooks/display-columns/getMRT_RowExpandColumnDef.tsx +2 -2
  108. package/src/hooks/useMRT_ColumnVirtualizer.ts +6 -5
  109. package/src/hooks/useMRT_Effects.ts +3 -4
  110. package/src/hooks/useMRT_RowVirtualizer.ts +1 -2
  111. package/src/hooks/useMRT_Rows.ts +1 -2
  112. package/src/hooks/useMRT_TableInstance.ts +82 -63
  113. package/src/hooks/useMRT_TableOptions.ts +5 -37
  114. package/src/icons.ts +1 -1
  115. package/src/types.ts +162 -134
  116. package/src/utils/column.utils.ts +31 -24
  117. package/src/utils/row.utils.ts +7 -10
  118. package/src/utils/style.utils.ts +9 -10
  119. package/src/utils/tanstack.helpers.ts +2 -2
  120. package/dist/index.d.mts +0 -1925
  121. package/dist/index.mjs +0 -5409
  122. package/dist/index.mjs.map +0 -1
  123. package/locales/ar/index.d.ts +0 -3
  124. package/locales/ar/index.js +0 -98
  125. package/locales/az/index.d.ts +0 -3
  126. package/locales/az/index.js +0 -98
  127. package/locales/bg/index.d.ts +0 -3
  128. package/locales/bg/index.js +0 -98
  129. package/locales/cs/index.d.ts +0 -3
  130. package/locales/cs/index.js +0 -98
  131. package/locales/da/index.d.ts +0 -3
  132. package/locales/da/index.js +0 -98
  133. package/locales/de/index.d.ts +0 -3
  134. package/locales/de/index.js +0 -98
  135. package/locales/el/index.d.ts +0 -3
  136. package/locales/el/index.js +0 -98
  137. package/locales/en/index.d.ts +0 -3
  138. package/locales/en/index.js +0 -98
  139. package/locales/es/index.d.ts +0 -3
  140. package/locales/es/index.js +0 -98
  141. package/locales/et/index.d.ts +0 -3
  142. package/locales/et/index.js +0 -98
  143. package/locales/fa/index.d.ts +0 -3
  144. package/locales/fa/index.js +0 -98
  145. package/locales/fi/index.d.ts +0 -3
  146. package/locales/fi/index.js +0 -98
  147. package/locales/fr/index.d.ts +0 -3
  148. package/locales/fr/index.js +0 -98
  149. package/locales/he/index.d.ts +0 -3
  150. package/locales/he/index.js +0 -98
  151. package/locales/hr/index.d.ts +0 -3
  152. package/locales/hr/index.js +0 -98
  153. package/locales/hu/index.d.ts +0 -3
  154. package/locales/hu/index.js +0 -98
  155. package/locales/hy/index.d.ts +0 -3
  156. package/locales/hy/index.js +0 -98
  157. package/locales/id/index.d.ts +0 -3
  158. package/locales/id/index.js +0 -98
  159. package/locales/it/index.d.ts +0 -3
  160. package/locales/it/index.js +0 -98
  161. package/locales/ja/index.d.ts +0 -3
  162. package/locales/ja/index.js +0 -98
  163. package/locales/ko/index.d.ts +0 -3
  164. package/locales/ko/index.js +0 -98
  165. package/locales/nl/index.d.ts +0 -3
  166. package/locales/nl/index.js +0 -98
  167. package/locales/no/index.d.ts +0 -3
  168. package/locales/no/index.js +0 -98
  169. package/locales/np/index.d.ts +0 -3
  170. package/locales/np/index.js +0 -98
  171. package/locales/pl/index.d.ts +0 -3
  172. package/locales/pl/index.js +0 -98
  173. package/locales/pt/index.d.ts +0 -3
  174. package/locales/pt/index.js +0 -98
  175. package/locales/pt-BR/index.d.ts +0 -3
  176. package/locales/pt-BR/index.js +0 -98
  177. package/locales/ro/index.d.ts +0 -3
  178. package/locales/ro/index.js +0 -98
  179. package/locales/ru/index.d.ts +0 -3
  180. package/locales/ru/index.js +0 -98
  181. package/locales/sk/index.d.ts +0 -3
  182. package/locales/sk/index.js +0 -98
  183. package/locales/sr-Cyrl-RS/index.d.ts +0 -3
  184. package/locales/sr-Cyrl-RS/index.js +0 -98
  185. package/locales/sr-Latn-RS/index.d.ts +0 -3
  186. package/locales/sr-Latn-RS/index.js +0 -98
  187. package/locales/sv/index.d.ts +0 -3
  188. package/locales/sv/index.js +0 -98
  189. package/locales/tr/index.d.ts +0 -3
  190. package/locales/tr/index.js +0 -98
  191. package/locales/uk/index.d.ts +0 -3
  192. package/locales/uk/index.js +0 -98
  193. package/locales/vi/index.d.ts +0 -3
  194. package/locales/vi/index.js +0 -98
  195. package/locales/zh-Hans/index.d.ts +0 -3
  196. package/locales/zh-Hans/index.js +0 -98
  197. package/locales/zh-Hant/index.d.ts +0 -3
  198. package/locales/zh-Hant/index.js +0 -98
@@ -14,9 +14,8 @@ export const getMRT_Rows = <TData extends MRT_RowData>(
14
14
  ): MRT_Row<TData>[] => {
15
15
  const {
16
16
  getCenterRows,
17
- getPrePaginationRowModel,
17
+ getPrePaginatedRowModel,
18
18
  getRowModel,
19
- getState,
20
19
  getTopRows,
21
20
  options: {
22
21
  createDisplayMode,
@@ -27,7 +26,7 @@ export const getMRT_Rows = <TData extends MRT_RowData>(
27
26
  rowPinningDisplayMode,
28
27
  },
29
28
  } = table;
30
- const { creatingRow, pagination } = getState();
29
+ const { creatingRow, pagination } = table.state;
31
30
 
32
31
  const isRankingRows = getIsRankingRows(table);
33
32
 
@@ -36,12 +35,12 @@ export const getMRT_Rows = <TData extends MRT_RowData>(
36
35
  rows =
37
36
  !enableRowPinning || rowPinningDisplayMode?.includes('sticky')
38
37
  ? all
39
- ? getPrePaginationRowModel().rows
38
+ ? getPrePaginatedRowModel().rows
40
39
  : getRowModel().rows
41
40
  : getCenterRows();
42
41
  } else {
43
42
  // fuzzy ranking adjustments
44
- rows = getPrePaginationRowModel().rows.sort((a, b) =>
43
+ rows = getPrePaginatedRowModel().rows.sort((a, b) =>
45
44
  rankGlobalFuzzy(a, b),
46
45
  );
47
46
  if (enablePagination && !manualPagination && !all) {
@@ -89,7 +88,6 @@ export const getCanRankRows = <TData extends MRT_RowData>(
89
88
  table: MRT_TableInstance<TData>,
90
89
  ) => {
91
90
  const {
92
- getState,
93
91
  options: {
94
92
  enableGlobalFilterRankedResults,
95
93
  manualExpanding,
@@ -98,7 +96,7 @@ export const getCanRankRows = <TData extends MRT_RowData>(
98
96
  manualSorting,
99
97
  },
100
98
  } = table;
101
- const { expanded, globalFilterFn } = getState();
99
+ const { expanded, globalFilterFn } = table.state;
102
100
 
103
101
  return (
104
102
  !manualExpanding &&
@@ -115,7 +113,7 @@ export const getCanRankRows = <TData extends MRT_RowData>(
115
113
  export const getIsRankingRows = <TData extends MRT_RowData>(
116
114
  table: MRT_TableInstance<TData>,
117
115
  ) => {
118
- const { globalFilter, sorting } = table.getState();
116
+ const { globalFilter, sorting } = table.state;
119
117
 
120
118
  return (
121
119
  getCanRankRows(table) &&
@@ -158,7 +156,6 @@ export const getMRT_RowSelectionHandler =
158
156
  value?: boolean,
159
157
  ) => {
160
158
  const {
161
- getState,
162
159
  options: {
163
160
  enableBatchRowSelection,
164
161
  enableMultiRowSelection,
@@ -170,7 +167,7 @@ export const getMRT_RowSelectionHandler =
170
167
  } = table;
171
168
  const {
172
169
  pagination: { pageIndex, pageSize },
173
- } = getState();
170
+ } = table.state;
174
171
 
175
172
  const paginationOffset = manualPagination ? 0 : pageSize * pageIndex;
176
173
 
@@ -70,9 +70,9 @@ export const getCommonPinnedCellStyles = <TData extends MRT_RowData>({
70
70
  0.97
71
71
  ),
72
72
  boxShadow: column
73
- ? isPinned === 'left' && column.getIsLastColumn(isPinned)
73
+ ? isPinned === 'start' && column.getIsLastColumn(isPinned)
74
74
  ? `-4px 0 4px -4px ${alpha(theme.palette.grey[700], 0.5)} inset`
75
- : isPinned === 'right' && column.getIsFirstColumn(isPinned)
75
+ : isPinned === 'end' && column.getIsFirstColumn(isPinned)
76
76
  ? `4px 0 4px -4px ${alpha(theme.palette.grey[700], 0.5)} inset`
77
77
  : undefined
78
78
  : undefined,
@@ -96,10 +96,9 @@ export const getCommonMRTCellStyles = <TData extends MRT_RowData>({
96
96
  theme: Theme;
97
97
  }) => {
98
98
  const {
99
- getState,
100
99
  options: { enableColumnVirtualization, layoutMode },
101
100
  } = table;
102
- const { draggingColumn } = getState();
101
+ const { draggingColumn } = table.state;
103
102
  const { columnDef } = column;
104
103
  const { columnDefType } = columnDef;
105
104
 
@@ -131,14 +130,14 @@ export const getCommonMRTCellStyles = <TData extends MRT_RowData>({
131
130
  ? {
132
131
  ...getCommonPinnedCellStyles({ column, table, theme }),
133
132
  left:
134
- isColumnPinned === 'left'
135
- ? `${column.getStart('left')}px`
133
+ isColumnPinned === 'start'
134
+ ? `${column.getStart('start')}px`
136
135
  : undefined,
137
136
  opacity: 0.97,
138
137
  position: 'sticky',
139
138
  right:
140
- isColumnPinned === 'right'
141
- ? `${column.getAfter('right')}px`
139
+ isColumnPinned === 'end'
140
+ ? `${column.getAfter('end')}px`
142
141
  : undefined,
143
142
  }
144
143
  : {};
@@ -158,8 +157,8 @@ export const getCommonMRTCellStyles = <TData extends MRT_RowData>({
158
157
  ? tableCellProps.align
159
158
  : undefined,
160
159
  opacity:
161
- table.getState().draggingColumn?.id === column.id ||
162
- table.getState().hoveredColumn?.id === column.id
160
+ table.state.draggingColumn?.id === column.id ||
161
+ table.state.hoveredColumn?.id === column.id
163
162
  ? 0.5
164
163
  : 1,
165
164
  position: 'relative',
@@ -1,5 +1,5 @@
1
1
  import {
2
- createRow as _createRow,
2
+ constructRow as _constructRow,
3
3
  flexRender as _flexRender,
4
4
  type Renderable,
5
5
  } from '@tanstack/react-table';
@@ -48,7 +48,7 @@ export const createRow = <TData extends MRT_RowData>(
48
48
  subRows?: MRT_Row<TData>[],
49
49
  parentId?: string,
50
50
  ): MRT_Row<TData> =>
51
- _createRow(
51
+ _constructRow(
52
52
  table as any,
53
53
  'mrt-row-create',
54
54
  originalRow ??