material-react-table 0.2.0 → 0.3.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 (37) hide show
  1. package/dist/MaterialReactTable.d.ts +26 -25
  2. package/dist/head/MRT_TableHeadCell.d.ts +0 -1
  3. package/dist/index.d.ts +3 -1
  4. package/dist/material-react-table.cjs.development.js +147 -104
  5. package/dist/material-react-table.cjs.development.js.map +1 -1
  6. package/dist/material-react-table.cjs.production.min.js +1 -1
  7. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  8. package/dist/material-react-table.esm.js +149 -106
  9. package/dist/material-react-table.esm.js.map +1 -1
  10. package/dist/useMaterialReactTable.d.ts +3 -4
  11. package/dist/utils/localization.d.ts +2 -0
  12. package/dist/utils/overrideWarnings.d.ts +1 -1
  13. package/package.json +1 -1
  14. package/src/MaterialReactTable.tsx +48 -43
  15. package/src/body/MRT_TableBody.tsx +3 -3
  16. package/src/body/MRT_TableBodyCell.tsx +21 -9
  17. package/src/body/MRT_TableBodyRow.tsx +8 -6
  18. package/src/body/MRT_TableDetailPanel.tsx +3 -3
  19. package/src/buttons/MRT_ExpandAllButton.tsx +2 -2
  20. package/src/buttons/MRT_ExpandButton.tsx +5 -2
  21. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +2 -0
  22. package/src/footer/MRT_TableFooter.tsx +3 -3
  23. package/src/footer/MRT_TableFooterCell.tsx +3 -3
  24. package/src/footer/MRT_TableFooterRow.tsx +9 -5
  25. package/src/footer/MRT_TablePagination.tsx +7 -4
  26. package/src/head/MRT_TableHead.tsx +5 -5
  27. package/src/head/MRT_TableHeadCell.tsx +22 -16
  28. package/src/head/MRT_TableHeadRow.tsx +7 -9
  29. package/src/index.tsx +6 -1
  30. package/src/inputs/MRT_SearchTextField.tsx +16 -7
  31. package/src/inputs/MRT_SelectAllCheckbox.tsx +4 -1
  32. package/src/inputs/MRT_SelectCheckbox.tsx +1 -1
  33. package/src/menus/MRT_ColumnActionMenu.tsx +43 -23
  34. package/src/toolbar/MRT_Toolbar.tsx +3 -3
  35. package/src/useMaterialReactTable.tsx +24 -11
  36. package/src/utils/localization.ts +5 -1
  37. package/src/utils/overrideWarnings.ts +12 -12
@@ -14,6 +14,7 @@ var MoreVertIcon = _interopDefault(require('@mui/icons-material/MoreVert'));
14
14
  var ClearAllIcon = _interopDefault(require('@mui/icons-material/ClearAll'));
15
15
  var SortIcon = _interopDefault(require('@mui/icons-material/Sort'));
16
16
  var VisibilityOffIcon = _interopDefault(require('@mui/icons-material/VisibilityOff'));
17
+ var DynamicFeedIcon = _interopDefault(require('@mui/icons-material/DynamicFeed'));
17
18
  var ArrowRightIcon = _interopDefault(require('@mui/icons-material/KeyboardDoubleArrowDown'));
18
19
  var ViewColumnIcon = _interopDefault(require('@mui/icons-material/ViewColumn'));
19
20
  var ExpandMoreIcon = _interopDefault(require('@mui/icons-material/ExpandMore'));
@@ -82,48 +83,48 @@ var useMRTCalcs = function useMRTCalcs(_ref) {
82
83
  };
83
84
  };
84
85
 
85
- var showOverrideWarnings = function showOverrideWarnings(props) {
86
- if (props.OverrideTableBodyCellComponent) {
86
+ var showoverrideWarnings = function showoverrideWarnings(props) {
87
+ if (props.overrideTableBodyCellComponent) {
87
88
  showWarning('TableCell', 'props');
88
89
  }
89
90
 
90
- if (props.OverrideTableBodyComponent) {
91
+ if (props.overrideTableBodyComponent) {
91
92
  showWarning('TableBody', 'tableBodyProps');
92
93
  }
93
94
 
94
- if (props.OverrideTableBodyRowComponent) {
95
+ if (props.overrideTableBodyRowComponent) {
95
96
  showWarning('TableRow', 'props');
96
97
  }
97
98
 
98
- if (props.OverrideTableDetailPanelComponent) {
99
+ if (props.overrideTableDetailPanelComponent) {
99
100
  showWarning('Detail Panel', 'tableDetailPanelProps');
100
101
  }
101
102
 
102
- if (props.OverrideTableFooterComponent) {
103
+ if (props.overrideTableFooterComponent) {
103
104
  showWarning('TableFooter', 'tableFooterProps');
104
105
  }
105
106
 
106
- if (props.OverrideTableFooterCellComponent) {
107
+ if (props.overrideTableFooterCellComponent) {
107
108
  showWarning('TableCell', 'props');
108
109
  }
109
110
 
110
- if (props.OverrideTableFooterRowComponent) {
111
+ if (props.overrideTableFooterRowComponent) {
111
112
  showWarning('TableRow', 'props');
112
113
  }
113
114
 
114
- if (props.OverrideTableHeadComponent) {
115
+ if (props.overrideTableHeadComponent) {
115
116
  showWarning('TableHead', 'tableHeadProps');
116
117
  }
117
118
 
118
- if (props.OverrideTableHeadRowComponent) {
119
+ if (props.overrideTableHeadRowComponent) {
119
120
  showWarning('TableRow', 'props');
120
121
  }
121
122
 
122
- if (props.OverrideTablePaginationComponent) {
123
+ if (props.overrideTablePaginationComponent) {
123
124
  showWarning('', 'props');
124
125
  }
125
126
 
126
- if (props.OverrideTableToolbarComponent) {
127
+ if (props.overrideTableToolbarComponent) {
127
128
  showWarning('TableBodyCell', 'props');
128
129
  }
129
130
  };
@@ -132,7 +133,7 @@ var showWarning = function showWarning(componentName, propsName) {
132
133
  console.warn("Caution.\nYou are overriding the built-in Mui " + componentName + " Component in material-react-table.\n\nYou should only use this as a last resort!\n\nConsider customizing the Mui " + componentName + " Component instead with " + propsName + ".");
133
134
  };
134
135
 
135
- var _excluded = ["children", "columns", "data", "surpressOverrideWarnings"];
136
+ var _excluded = ["children", "columns", "data", "defaultColumn", "getRowId", "getSubRows", "initialState", "stateReducer", "surpressoverrideWarnings"];
136
137
 
137
138
  var MaterialReactTableContext = /*#__PURE__*/function () {
138
139
  return React.createContext({});
@@ -142,27 +143,34 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(_ref) {
142
143
  var children = _ref.children,
143
144
  columns = _ref.columns,
144
145
  data = _ref.data,
145
- surpressOverrideWarnings = _ref.surpressOverrideWarnings,
146
+ defaultColumn = _ref.defaultColumn,
147
+ getRowId = _ref.getRowId,
148
+ getSubRows = _ref.getSubRows,
149
+ initialState = _ref.initialState,
150
+ stateReducer = _ref.stateReducer,
151
+ surpressoverrideWarnings = _ref.surpressoverrideWarnings,
146
152
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
147
153
 
148
154
  var tableInstance = reactTable.useTable({
149
155
  columns: columns,
150
- data: data
151
- }, reactTable.useFlexLayout, reactTable.useResizeColumns, reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect);
156
+ data: data,
157
+ defaultColumn: defaultColumn,
158
+ getRowId: getRowId,
159
+ getSubRows: getSubRows,
160
+ initialState: initialState,
161
+ stateReducer: stateReducer
162
+ }, reactTable.useFlexLayout, reactTable.useResizeColumns, reactTable.useFilters, reactTable.useGlobalFilter, reactTable.useGroupBy, reactTable.useSortBy, reactTable.useExpanded, reactTable.usePagination, reactTable.useRowSelect);
152
163
  var mrtCalcs = useMRTCalcs({
153
164
  tableInstance: tableInstance
154
165
  });
155
166
 
156
- if ( !surpressOverrideWarnings) {
157
- showOverrideWarnings(rest);
167
+ if ( !surpressoverrideWarnings) {
168
+ showoverrideWarnings(rest);
158
169
  }
159
170
 
160
- return React__default.createElement(MaterialReactTableContext.Provider //@ts-ignore
161
- , {
162
- //@ts-ignore
171
+ return React__default.createElement(MaterialReactTableContext.Provider, {
163
172
  value: _extends({
164
- columns: columns,
165
- data: data,
173
+ //@ts-ignore
166
174
  tableInstance: tableInstance
167
175
  }, mrtCalcs, rest)
168
176
  }, children);
@@ -234,6 +242,7 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
234
242
 
235
243
  var _useMaterialReactTabl = useMaterialReactTable(),
236
244
  enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
245
+ enableColumnGrouping = _useMaterialReactTabl.enableColumnGrouping,
237
246
  enableSorting = _useMaterialReactTabl.enableSorting,
238
247
  localization = _useMaterialReactTabl.localization;
239
248
 
@@ -257,34 +266,52 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
257
266
  setAnchorEl(null);
258
267
  };
259
268
 
269
+ var handleGroupByColumn = function handleGroupByColumn() {
270
+ column.toggleGroupBy();
271
+ setAnchorEl(null);
272
+ };
273
+
260
274
  return React__default.createElement(material.Menu, {
261
275
  anchorEl: anchorEl,
262
276
  open: !!anchorEl,
263
277
  onClose: function onClose() {
264
278
  return setAnchorEl(null);
265
279
  }
266
- }, enableSorting && React__default.createElement(React__default.Fragment, null, React__default.createElement(MenuItem, {
280
+ }, enableSorting && [React__default.createElement(MenuItem, {
281
+ key: 1,
267
282
  disabled: !column.isSorted,
268
283
  onClick: handleClearSort
269
284
  }, React__default.createElement(ClearAllIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemClearSort), React__default.createElement(MenuItem, {
285
+ key: 2,
270
286
  disabled: column.isSorted && !column.isSortedDesc,
271
287
  onClick: handleSortAsc
272
288
  }, React__default.createElement(SortIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemSortAsc), React__default.createElement(MenuItem, {
289
+ key: 3,
273
290
  disabled: column.isSorted && column.isSortedDesc,
274
291
  onClick: handleSortDesc
275
292
  }, React__default.createElement(SortIcon, {
276
293
  style: {
277
294
  transform: 'rotate(180deg) scaleX(-1)'
278
295
  }
279
- }), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React__default.createElement(material.Divider, null)), enableColumnHiding && React__default.createElement(MenuItem, {
296
+ }), ' ', localization == null ? void 0 : localization.columnActionMenuItemSortDesc), React__default.createElement(material.Divider, {
297
+ key: 4
298
+ })], enableColumnHiding && React__default.createElement(MenuItem, {
280
299
  onClick: handleHideColumn
281
- }, React__default.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn));
300
+ }, React__default.createElement(VisibilityOffIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemHideColumn), enableColumnGrouping && column.canGroupBy && React__default.createElement(MenuItem, {
301
+ disabled: column.isGrouped,
302
+ onClick: handleGroupByColumn
303
+ }, React__default.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemGroupBy), enableColumnGrouping && column.canGroupBy && React__default.createElement(MenuItem, {
304
+ disabled: !column.isGrouped,
305
+ onClick: handleGroupByColumn
306
+ }, React__default.createElement(DynamicFeedIcon, null), " ", localization == null ? void 0 : localization.columnActionMenuItemUnGroupBy));
282
307
  };
283
308
 
284
309
  var IconButton = /*#__PURE__*/material.styled(material.IconButton)({
285
310
  opacity: 0.2,
286
311
  transition: 'opacity 0.2s',
287
312
  marginRight: '2px',
313
+ height: '2rem',
314
+ width: '2rem',
288
315
  '&:hover': {
289
316
  opacity: 1
290
317
  }
@@ -326,51 +353,52 @@ var TableCellContents = /*#__PURE__*/material.styled('div')({
326
353
  var TableCellText = /*#__PURE__*/material.styled('div')({
327
354
  width: '100%',
328
355
  display: 'flex',
329
- alignItems: 'center',
330
356
  justifyContent: 'space-between'
331
357
  });
358
+ var CellFlexItem = /*#__PURE__*/material.styled('span')({
359
+ display: 'flex',
360
+ flexWrap: 'nowrap'
361
+ });
362
+ var Divider = /*#__PURE__*/material.styled(material.Divider)({
363
+ borderRightWidth: '2px',
364
+ borderRadius: '2px',
365
+ maxHeight: '2rem'
366
+ });
332
367
  var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
333
368
  var _column$columns$lengt, _column$columns;
334
369
 
335
- var column = _ref.column,
336
- index = _ref.index;
370
+ var column = _ref.column;
337
371
 
338
372
  var _useMaterialReactTabl = useMaterialReactTable(),
339
- OverrideTableHeadCellComponent = _useMaterialReactTabl.OverrideTableHeadCellComponent,
373
+ overrideTableHeadCellComponent = _useMaterialReactTabl.overrideTableHeadCellComponent,
340
374
  enableColumnActions = _useMaterialReactTabl.enableColumnActions,
341
375
  enableColumnResizing = _useMaterialReactTabl.enableColumnResizing,
342
376
  enableFiltering = _useMaterialReactTabl.enableFiltering,
343
377
  showFiltersInColumnHead = _useMaterialReactTabl.showFiltersInColumnHead,
344
378
  tableInstance = _useMaterialReactTabl.tableInstance;
345
379
 
346
- if (OverrideTableHeadCellComponent) {
347
- return React__default.createElement(React__default.Fragment, null, OverrideTableHeadCellComponent(column, tableInstance));
380
+ if (overrideTableHeadCellComponent) {
381
+ return React__default.createElement(React__default.Fragment, null, overrideTableHeadCellComponent(column, tableInstance));
348
382
  }
349
383
 
350
384
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
351
- var isLastColumn = !isParentHeader && index === tableInstance.visibleColumns.length - 1 || isParentHeader && index === column.headers.length - 1;
352
385
  return React__default.createElement(TableCell, Object.assign({
353
386
  align: isParentHeader ? 'center' : 'left'
354
387
  }, column.getHeaderProps()), React__default.createElement(TableCellContents, null, React__default.createElement(TableCellText, {
355
388
  style: {
356
389
  justifyContent: isParentHeader ? 'center' : undefined
357
390
  }
358
- }, React__default.createElement("span", Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.TableSortLabel, {
391
+ }, React__default.createElement(CellFlexItem, Object.assign({}, column.getSortByToggleProps()), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.TableSortLabel, {
359
392
  active: column.isSorted,
360
- direction: column.isSortedDesc ? 'desc' : 'asc'
361
- })), React__default.createElement("span", {
393
+ direction: column.isSortedDesc ? 'desc' : 'asc',
362
394
  style: {
363
- display: 'flex'
395
+ margin: 0
364
396
  }
365
- }, enableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
397
+ })), React__default.createElement(CellFlexItem, null, enableColumnActions && !isParentHeader && React__default.createElement(MRT_ToggleColumnActionMenuButton, {
366
398
  column: column
367
- }), enableColumnResizing && !isLastColumn && React__default.createElement(material.Divider, Object.assign({
399
+ }), enableColumnResizing && !isParentHeader && React__default.createElement(Divider, Object.assign({
368
400
  flexItem: true,
369
401
  orientation: "vertical",
370
- style: {
371
- borderRightWidth: '2px',
372
- borderRadius: '2px'
373
- },
374
402
  onDoubleClick: function onDoubleClick() {
375
403
  return tableInstance.resetResizing();
376
404
  }
@@ -393,7 +421,7 @@ var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
393
421
  },
394
422
  variant: "head"
395
423
  }, enableSelectAll ? React__default.createElement(material.Checkbox, Object.assign({
396
- "aria-label": ''
424
+ "aria-label": ""
397
425
  }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
398
426
  };
399
427
 
@@ -401,7 +429,8 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
401
429
  var _useMaterialReactTabl = useMaterialReactTable(),
402
430
  tableInstance = _useMaterialReactTabl.tableInstance,
403
431
  localization = _useMaterialReactTabl.localization,
404
- anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded;
432
+ anyRowsExpanded = _useMaterialReactTabl.anyRowsExpanded,
433
+ renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
405
434
 
406
435
  return React__default.createElement(material.TableCell, Object.assign({
407
436
  size: "small"
@@ -409,7 +438,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
409
438
  style: {
410
439
  padding: '0.5rem',
411
440
  paddingRight: '0',
412
- width: tableInstance.expandedDepth + 2 + "rem"
441
+ width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 2) + "rem"
413
442
  }
414
443
  }), React__default.createElement(material.IconButton, {
415
444
  "aria-label": localization == null ? void 0 : localization.expandAllButtonTitle,
@@ -505,7 +534,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
505
534
  var headerGroup = _ref.headerGroup;
506
535
 
507
536
  var _useMaterialReactTabl = useMaterialReactTable(),
508
- OverrideTableHeadRowComponent = _useMaterialReactTabl.OverrideTableHeadRowComponent,
537
+ overrideTableHeadRowComponent = _useMaterialReactTabl.overrideTableHeadRowComponent,
509
538
  anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
510
539
  enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
511
540
  enableExpandAll = _useMaterialReactTabl.enableExpandAll,
@@ -513,8 +542,8 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
513
542
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
514
543
  tableInstance = _useMaterialReactTabl.tableInstance;
515
544
 
516
- if (OverrideTableHeadRowComponent) {
517
- return React__default.createElement(React__default.Fragment, null, OverrideTableHeadRowComponent(headerGroup, tableInstance));
545
+ if (overrideTableHeadRowComponent) {
546
+ return React__default.createElement(React__default.Fragment, null, overrideTableHeadRowComponent(headerGroup, tableInstance));
518
547
  }
519
548
 
520
549
  var isParentHeader = React.useMemo(function () {
@@ -525,14 +554,13 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
525
554
  });
526
555
  }, [headerGroup.headers]);
527
556
  return React__default.createElement(material.TableRow, Object.assign({}, headerGroup.getHeaderGroupProps()), anyRowsCanExpand || renderDetailPanel ? enableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
528
- width: tableInstance.expandedDepth + 0.5 + "rem"
557
+ width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
529
558
  }) : null, enableSelection ? !isParentHeader ? React__default.createElement(MRT_SelectAllCheckbox, null) : React__default.createElement(MRT_TableSpacerCell, {
530
559
  width: "1rem"
531
560
  }) : null, headerGroup.headers.map(function (column, index) {
532
561
  return React__default.createElement(MRT_TableHeadCell, {
533
562
  key: index + "-" + column.id,
534
- column: column,
535
- index: index
563
+ column: column
536
564
  });
537
565
  }), enableColumnHiding && !isParentHeader && React__default.createElement(MRT_ShowHideColumnsButton, null));
538
566
  };
@@ -541,15 +569,15 @@ var MRT_TablePagination = function MRT_TablePagination() {
541
569
  var _useMaterialReactTabl = useMaterialReactTable(),
542
570
  tableInstance = _useMaterialReactTabl.tableInstance,
543
571
  tablePaginationProps = _useMaterialReactTabl.tablePaginationProps,
544
- OverrideTablePaginationComponent = _useMaterialReactTabl.OverrideTablePaginationComponent;
572
+ overrideTablePaginationComponent = _useMaterialReactTabl.overrideTablePaginationComponent;
545
573
 
546
574
  var handleChangeRowsPerPage = function handleChangeRowsPerPage(event) {
547
575
  tableInstance.setPageSize(+event.target.value);
548
576
  tableInstance.gotoPage(0);
549
577
  };
550
578
 
551
- if (OverrideTablePaginationComponent) {
552
- return React__default.createElement(React__default.Fragment, null, OverrideTablePaginationComponent(tableInstance));
579
+ if (overrideTablePaginationComponent) {
580
+ return React__default.createElement(React__default.Fragment, null, overrideTablePaginationComponent(tableInstance));
553
581
  }
554
582
 
555
583
  return React__default.createElement(material.TableRow, null, React__default.createElement(material.TablePagination, Object.assign({
@@ -568,18 +596,18 @@ var MRT_TablePagination = function MRT_TablePagination() {
568
596
 
569
597
  var MRT_TableHead = function MRT_TableHead() {
570
598
  var _useMaterialReactTabl = useMaterialReactTable(),
571
- OverrideTableHeadComponent = _useMaterialReactTabl.OverrideTableHeadComponent,
599
+ overrideTableHeadComponent = _useMaterialReactTabl.overrideTableHeadComponent,
572
600
  tableInstance = _useMaterialReactTabl.tableInstance,
573
601
  tableHeadProps = _useMaterialReactTabl.tableHeadProps,
574
602
  enablePagination = _useMaterialReactTabl.enablePagination,
575
- isReloading = _useMaterialReactTabl.isReloading,
603
+ isFetching = _useMaterialReactTabl.isFetching,
576
604
  positionPagination = _useMaterialReactTabl.positionPagination;
577
605
 
578
- if (OverrideTableHeadComponent) {
579
- return React__default.createElement(React__default.Fragment, null, OverrideTableHeadComponent(tableInstance));
606
+ if (overrideTableHeadComponent) {
607
+ return React__default.createElement(React__default.Fragment, null, overrideTableHeadComponent(tableInstance));
580
608
  }
581
609
 
582
- return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), isReloading && React__default.createElement(material.LinearProgress, null), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null), tableInstance.headerGroups.map(function (headerGroup, index) {
610
+ return React__default.createElement(material.TableHead, Object.assign({}, tableHeadProps), isFetching && React__default.createElement(material.LinearProgress, null), enablePagination && ['top', 'both'].includes(positionPagination != null ? positionPagination : '') && React__default.createElement(MRT_TablePagination, null), tableInstance.headerGroups.map(function (headerGroup, index) {
583
611
  return React__default.createElement(MRT_TableHeadRow, {
584
612
  key: index + "-" + headerGroup.id,
585
613
  headerGroup: headerGroup
@@ -592,15 +620,19 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
592
620
 
593
621
  var _useMaterialReactTabl = useMaterialReactTable(),
594
622
  tableInstance = _useMaterialReactTabl.tableInstance,
595
- OverrideTableBodyCellComponent = _useMaterialReactTabl.OverrideTableBodyCellComponent;
623
+ overrideTableBodyCellComponent = _useMaterialReactTabl.overrideTableBodyCellComponent,
624
+ onCellClick = _useMaterialReactTabl.onCellClick;
596
625
 
597
- if (OverrideTableBodyCellComponent) {
598
- return React__default.createElement(React__default.Fragment, null, OverrideTableBodyCellComponent(cell, tableInstance));
626
+ if (overrideTableBodyCellComponent) {
627
+ return React__default.createElement(React__default.Fragment, null, overrideTableBodyCellComponent(cell, tableInstance));
599
628
  }
600
629
 
601
630
  return React__default.createElement(material.TableCell, Object.assign({
631
+ onClick: function onClick(event) {
632
+ return onCellClick == null ? void 0 : onCellClick(event, cell);
633
+ },
602
634
  variant: "body"
603
- }, cell.getCellProps()), cell.render('Cell'));
635
+ }, cell.getCellProps()), cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React__default.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
604
636
  };
605
637
 
606
638
  var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
@@ -609,11 +641,11 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
609
641
  var _useMaterialReactTabl = useMaterialReactTable(),
610
642
  tableInstance = _useMaterialReactTabl.tableInstance,
611
643
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
612
- OverrideTableDetailPanelComponent = _useMaterialReactTabl.OverrideTableDetailPanelComponent,
644
+ overrideTableDetailPanelComponent = _useMaterialReactTabl.overrideTableDetailPanelComponent,
613
645
  tableDetailPanelProps = _useMaterialReactTabl.tableDetailPanelProps;
614
646
 
615
- if (OverrideTableDetailPanelComponent) {
616
- return React__default.createElement(React__default.Fragment, null, OverrideTableDetailPanelComponent(row, tableInstance));
647
+ if (overrideTableDetailPanelComponent) {
648
+ return React__default.createElement(React__default.Fragment, null, overrideTableDetailPanelComponent(row, tableInstance));
617
649
  }
618
650
 
619
651
  return React__default.createElement(material.TableRow, Object.assign({}, row.getToggleRowExpandedProps()), React__default.createElement(material.TableCell, Object.assign({
@@ -634,7 +666,8 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
634
666
 
635
667
  var _useMaterialReactTabl = useMaterialReactTable(),
636
668
  localization = _useMaterialReactTabl.localization,
637
- tableInstance = _useMaterialReactTabl.tableInstance;
669
+ tableInstance = _useMaterialReactTabl.tableInstance,
670
+ renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
638
671
 
639
672
  return React__default.createElement(material.TableCell, Object.assign({
640
673
  size: "small"
@@ -643,7 +676,7 @@ var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
643
676
  padding: '0.5rem',
644
677
  paddingRight: '0',
645
678
  paddingLeft: row.depth + 0.5 + "rem",
646
- width: tableInstance.expandedDepth - row.depth + 2 + "rem"
679
+ width: (renderDetailPanel ? 2 : tableInstance.expandedDepth - row.depth + 2) + "rem"
647
680
  }
648
681
  }), React__default.createElement(material.IconButton, {
649
682
  "aria-label": localization == null ? void 0 : localization.expandButtonTitle,
@@ -668,7 +701,7 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
668
701
  var _row$getToggleRowSele;
669
702
 
670
703
  (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
671
- onRowSelectChange == null ? void 0 : onRowSelectChange(event, row.state, tableInstance.selectedFlatRows);
704
+ onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
672
705
  };
673
706
 
674
707
  return React__default.createElement(material.TableCell, {
@@ -685,7 +718,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
685
718
  var row = _ref.row;
686
719
 
687
720
  var _useMaterialReactTabl = useMaterialReactTable(),
688
- OverrideTableBodyRowComponent = _useMaterialReactTabl.OverrideTableBodyRowComponent,
721
+ overrideTableBodyRowComponent = _useMaterialReactTabl.overrideTableBodyRowComponent,
689
722
  anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
690
723
  enableSelection = _useMaterialReactTabl.enableSelection,
691
724
  enableSubRowTree = _useMaterialReactTabl.enableSubRowTree,
@@ -694,8 +727,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
694
727
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel,
695
728
  tableInstance = _useMaterialReactTabl.tableInstance;
696
729
 
697
- if (OverrideTableBodyRowComponent) {
698
- return React__default.createElement(React__default.Fragment, null, OverrideTableBodyRowComponent(row, tableInstance));
730
+ if (overrideTableBodyRowComponent) {
731
+ return React__default.createElement(React__default.Fragment, null, overrideTableBodyRowComponent(row, tableInstance));
699
732
  }
700
733
 
701
734
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TableRow, Object.assign({
@@ -704,10 +737,8 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
704
737
  }
705
738
  }, row.getRowProps()), (enableSubRowTree && anyRowsCanExpand || renderDetailPanel) && (row.canExpand || renderDetailPanel ? React__default.createElement(MRT_ExpandButton, {
706
739
  row: row
707
- }) : React__default.createElement(material.TableCell, {
708
- style: {
709
- width: tableInstance.expandedDepth + 0.5 + "rem"
710
- }
740
+ }) : React__default.createElement(MRT_TableSpacerCell, {
741
+ width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
711
742
  })), enableSelection && React__default.createElement(MRT_SelectCheckbox, {
712
743
  row: row
713
744
  }), row.cells.map(function (cell, index) {
@@ -739,10 +770,10 @@ var MRT_TableBody = function MRT_TableBody() {
739
770
  tableBodyProps = _useMaterialReactTabl.tableBodyProps,
740
771
  isLoading = _useMaterialReactTabl.isLoading,
741
772
  enablePagination = _useMaterialReactTabl.enablePagination,
742
- OverrideTableBodyComponent = _useMaterialReactTabl.OverrideTableBodyComponent;
773
+ overrideTableBodyComponent = _useMaterialReactTabl.overrideTableBodyComponent;
743
774
 
744
- if (OverrideTableBodyComponent) {
745
- return React__default.createElement(React__default.Fragment, null, OverrideTableBodyComponent(tableInstance));
775
+ if (overrideTableBodyComponent) {
776
+ return React__default.createElement(React__default.Fragment, null, overrideTableBodyComponent(tableInstance));
746
777
  }
747
778
 
748
779
  var rows = enablePagination ? tableInstance.page : tableInstance.rows;
@@ -765,10 +796,10 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
765
796
 
766
797
  var _useMaterialReactTabl = useMaterialReactTable(),
767
798
  tableInstance = _useMaterialReactTabl.tableInstance,
768
- OverrideTableFooterCellComponent = _useMaterialReactTabl.OverrideTableFooterCellComponent;
799
+ overrideTableFooterCellComponent = _useMaterialReactTabl.overrideTableFooterCellComponent;
769
800
 
770
- if (OverrideTableFooterCellComponent) {
771
- return React__default.createElement(React__default.Fragment, null, OverrideTableFooterCellComponent(column, tableInstance));
801
+ if (overrideTableFooterCellComponent) {
802
+ return React__default.createElement(React__default.Fragment, null, overrideTableFooterCellComponent(column, tableInstance));
772
803
  }
773
804
 
774
805
  var isParentHeader = ((_column$columns$lengt = column == null ? void 0 : (_column$columns = column.columns) == null ? void 0 : _column$columns.length) != null ? _column$columns$lengt : 0) > 0;
@@ -788,20 +819,20 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
788
819
  enableColumnHiding = _useMaterialReactTabl.enableColumnHiding,
789
820
  enableSelection = _useMaterialReactTabl.enableSelection,
790
821
  tableInstance = _useMaterialReactTabl.tableInstance,
791
- OverrideTableFooterRowComponent = _useMaterialReactTabl.OverrideTableFooterRowComponent; //if no content in row, skip row
822
+ overrideTableFooterRowComponent = _useMaterialReactTabl.overrideTableFooterRowComponent; //if no content in row, skip row
792
823
 
793
824
 
794
- if (!columns.some(function (c) {
825
+ if (!(columns != null && columns.some(function (c) {
795
826
  return c.Footer;
796
- })) return null;
827
+ }))) return null;
797
828
 
798
- if (OverrideTableFooterRowComponent) {
799
- return React__default.createElement(React__default.Fragment, null, OverrideTableFooterRowComponent(footerGroup, tableInstance));
829
+ if (overrideTableFooterRowComponent) {
830
+ return React__default.createElement(React__default.Fragment, null, overrideTableFooterRowComponent(footerGroup, tableInstance));
800
831
  }
801
832
 
802
833
  return React__default.createElement(material.TableRow, Object.assign({}, footerGroup.getFooterGroupProps()), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(material.TableCell, {
803
834
  style: {
804
- width: tableInstance.expandedDepth + 0.5 + "rem"
835
+ width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
805
836
  }
806
837
  }), enableSelection && React__default.createElement(MRT_TableSpacerCell, {
807
838
  width: "1rem"
@@ -815,14 +846,14 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
815
846
 
816
847
  var MRT_TableFooter = function MRT_TableFooter() {
817
848
  var _useMaterialReactTabl = useMaterialReactTable(),
818
- OverrideTableFooterComponent = _useMaterialReactTabl.OverrideTableFooterComponent,
849
+ overrideTableFooterComponent = _useMaterialReactTabl.overrideTableFooterComponent,
819
850
  enablePagination = _useMaterialReactTabl.enablePagination,
820
851
  positionPagination = _useMaterialReactTabl.positionPagination,
821
852
  tableFooterProps = _useMaterialReactTabl.tableFooterProps,
822
853
  tableInstance = _useMaterialReactTabl.tableInstance;
823
854
 
824
- if (OverrideTableFooterComponent) {
825
- return React__default.createElement(React__default.Fragment, null, OverrideTableFooterComponent(tableInstance));
855
+ if (overrideTableFooterComponent) {
856
+ return React__default.createElement(React__default.Fragment, null, overrideTableFooterComponent(tableInstance));
826
857
  }
827
858
 
828
859
  return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup, index) {
@@ -850,14 +881,18 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
850
881
  var _useMaterialReactTabl = useMaterialReactTable(),
851
882
  tableInstance = _useMaterialReactTabl.tableInstance,
852
883
  tableSearchTextfieldProps = _useMaterialReactTabl.tableSearchTextfieldProps,
853
- localization = _useMaterialReactTabl.localization;
884
+ localization = _useMaterialReactTabl.localization,
885
+ onSearchChange = _useMaterialReactTabl.onSearchChange;
854
886
 
855
887
  var _useState = React.useState(''),
856
888
  searchValue = _useState[0],
857
889
  setSearchValue = _useState[1];
858
890
 
859
- var handleChange = reactTable.useAsyncDebounce(function (value) {
860
- tableInstance.setGlobalFilter(value != null ? value : undefined);
891
+ var handleChange = reactTable.useAsyncDebounce(function (event) {
892
+ var _event$target$value;
893
+
894
+ tableInstance.setGlobalFilter((_event$target$value = event.target.value) != null ? _event$target$value : undefined);
895
+ onSearchChange == null ? void 0 : onSearchChange(event);
861
896
  }, 200);
862
897
 
863
898
  var handleClear = function handleClear() {
@@ -867,9 +902,9 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
867
902
 
868
903
  return React__default.createElement(TextField, Object.assign({
869
904
  placeholder: localization == null ? void 0 : localization.searchTextFieldPlaceholder,
870
- onChange: function onChange(e) {
871
- setSearchValue(e.target.value);
872
- handleChange(e.target.value);
905
+ onChange: function onChange(event) {
906
+ setSearchValue(event.target.value);
907
+ handleChange(event);
873
908
  },
874
909
  value: searchValue != null ? searchValue : '',
875
910
  variant: "standard",
@@ -901,15 +936,15 @@ var Toolbar = /*#__PURE__*/material.styled(material.Toolbar)({
901
936
  });
902
937
  var MRT_Toolbar = function MRT_Toolbar() {
903
938
  var _useMaterialReactTabl = useMaterialReactTable(),
904
- OverrideTableToolbarComponent = _useMaterialReactTabl.OverrideTableToolbarComponent,
939
+ overrideTableToolbarComponent = _useMaterialReactTabl.overrideTableToolbarComponent,
905
940
  enableSearch = _useMaterialReactTabl.enableSearch,
906
941
  tableInstance = _useMaterialReactTabl.tableInstance,
907
942
  tableTitleProps = _useMaterialReactTabl.tableTitleProps,
908
943
  tableToolbarProps = _useMaterialReactTabl.tableToolbarProps,
909
944
  title = _useMaterialReactTabl.title;
910
945
 
911
- if (OverrideTableToolbarComponent) {
912
- return React__default.createElement(React__default.Fragment, null, OverrideTableToolbarComponent(tableInstance));
946
+ if (overrideTableToolbarComponent) {
947
+ return React__default.createElement(React__default.Fragment, null, overrideTableToolbarComponent(tableInstance));
913
948
  } //if no features in the toolbar are enabled, don't render anything
914
949
 
915
950
 
@@ -938,6 +973,8 @@ var defaultLocalization = {
938
973
  columnActionMenuItemSortAsc: 'Sort ascending',
939
974
  columnActionMenuItemClearSort: 'Clear sorting',
940
975
  columnActionMenuItemSortDesc: 'Sort descending',
976
+ columnActionMenuItemGroupBy: 'Group by column',
977
+ columnActionMenuItemUnGroupBy: 'Ungroup column',
941
978
  expandAllButtonTitle: 'Expand all',
942
979
  expandButtonTitle: 'Expand',
943
980
  filterTextFieldClearButtonTitle: 'Clear filter',
@@ -947,9 +984,14 @@ var defaultLocalization = {
947
984
  showHideColumnsButtonTitle: 'Show/Hide columns'
948
985
  };
949
986
 
950
- var _excluded$1 = ["enablePagination", "enableSorting", "enableSubRowTree", "localization", "positionPagination", "showFiltersInColumnHead", "showFooter", "showHead", "showToolbar"];
987
+ var _excluded$1 = ["defaultColumn", "enablePagination", "enableSorting", "enableSubRowTree", "localization", "positionPagination", "showFiltersInColumnHead", "showFooter", "showHead", "showToolbar"];
951
988
  var MaterialReactTable = function MaterialReactTable(_ref) {
952
- var _ref$enablePagination = _ref.enablePagination,
989
+ var _ref$defaultColumn = _ref.defaultColumn,
990
+ defaultColumn = _ref$defaultColumn === void 0 ? {
991
+ minWidth: 50,
992
+ maxWidth: 1000
993
+ } : _ref$defaultColumn,
994
+ _ref$enablePagination = _ref.enablePagination,
953
995
  enablePagination = _ref$enablePagination === void 0 ? true : _ref$enablePagination,
954
996
  _ref$enableSorting = _ref.enableSorting,
955
997
  enableSorting = _ref$enableSorting === void 0 ? true : _ref$enableSorting,
@@ -970,6 +1012,7 @@ var MaterialReactTable = function MaterialReactTable(_ref) {
970
1012
  rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
971
1013
 
972
1014
  return React__default.createElement(MaterialReactTableProvider, Object.assign({
1015
+ defaultColumn: defaultColumn,
973
1016
  enablePagination: enablePagination,
974
1017
  enableSorting: enableSorting,
975
1018
  enableSubRowTree: enableSubRowTree,
@@ -982,5 +1025,5 @@ var MaterialReactTable = function MaterialReactTable(_ref) {
982
1025
  }, rest), React__default.createElement(MRT_TableContainer, null));
983
1026
  };
984
1027
 
985
- exports.MaterialReactTable = MaterialReactTable;
1028
+ exports.default = MaterialReactTable;
986
1029
  //# sourceMappingURL=material-react-table.cjs.development.js.map