material-react-table 0.3.1 → 0.3.2

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 (42) hide show
  1. package/README.md +32 -162
  2. package/dist/MaterialReactTable.d.ts +3 -1
  3. package/dist/body/MRT_TableBodyRow.d.ts +16 -1
  4. package/dist/head/MRT_TableHeadCell.d.ts +4 -1
  5. package/dist/inputs/MRT_EditCellTextfield.d.ts +7 -0
  6. package/dist/material-react-table.cjs.development.js +286 -157
  7. package/dist/material-react-table.cjs.development.js.map +1 -1
  8. package/dist/material-react-table.cjs.production.min.js +1 -1
  9. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  10. package/dist/material-react-table.esm.js +292 -163
  11. package/dist/material-react-table.esm.js.map +1 -1
  12. package/dist/useMaterialReactTable.d.ts +3 -3
  13. package/dist/utils/localization.d.ts +4 -3
  14. package/package.json +15 -14
  15. package/src/@types/faker.d.ts +4 -0
  16. package/src/@types/react-table-config.d.ts +153 -0
  17. package/src/MaterialReactTable.tsx +10 -4
  18. package/src/body/MRT_TableBody.tsx +2 -23
  19. package/src/body/MRT_TableBodyCell.tsx +27 -6
  20. package/src/body/MRT_TableBodyRow.tsx +15 -5
  21. package/src/body/MRT_TableDetailPanel.tsx +17 -6
  22. package/src/buttons/MRT_EditActionButtons.tsx +9 -5
  23. package/src/buttons/MRT_ExpandAllButton.tsx +12 -10
  24. package/src/buttons/MRT_ExpandButton.tsx +27 -24
  25. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +2 -2
  26. package/src/footer/MRT_TableFooter.tsx +2 -2
  27. package/src/footer/MRT_TableFooterCell.tsx +22 -6
  28. package/src/footer/MRT_TableFooterRow.tsx +2 -2
  29. package/src/head/MRT_TableHead.tsx +2 -2
  30. package/src/head/MRT_TableHeadCell.tsx +24 -7
  31. package/src/head/MRT_TableHeadRow.tsx +3 -2
  32. package/src/inputs/MRT_EditCellTextfield.tsx +57 -0
  33. package/src/inputs/MRT_FilterTextField.tsx +0 -1
  34. package/src/inputs/MRT_SelectAllCheckbox.tsx +11 -11
  35. package/src/inputs/MRT_SelectCheckbox.tsx +9 -8
  36. package/src/menus/MRT_RowActionMenu.tsx +2 -2
  37. package/src/table/MRT_TableContainer.tsx +31 -3
  38. package/src/table/MRT_TableSpacerCell.tsx +3 -3
  39. package/src/toolbar/MRT_ToolbarBottom.tsx +2 -17
  40. package/src/toolbar/MRT_ToolbarTop.tsx +4 -17
  41. package/src/useMaterialReactTable.tsx +6 -7
  42. package/src/utils/localization.ts +8 -6
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo, useState, useContext, createContext } from 'react';
2
2
  import { useTable, useResizeColumns, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useFlexLayout, useAsyncDebounce } from 'react-table';
3
- import { TextField as TextField$1, InputAdornment, IconButton as IconButton$2, Menu, Divider as Divider$1, styled, MenuItem as MenuItem$2, TableCell as TableCell$1, TableSortLabel, Collapse, Checkbox, TableRow, TableHead, Tooltip, useTheme, alpha, CircularProgress, TableBody as TableBody$1, TableFooter, Table, FormControlLabel, Switch, Typography, TablePagination, Toolbar as Toolbar$2, TableContainer, Paper, LinearProgress } from '@mui/material';
3
+ import { TextField as TextField$1, InputAdornment, IconButton as IconButton$2, Menu, Divider as Divider$1, styled, MenuItem as MenuItem$2, TableCell as TableCell$6, TableSortLabel, Collapse, Checkbox, TableRow as TableRow$1, TableHead, Tooltip, alpha, TableBody as TableBody$1, TableFooter, Table, FormControlLabel, Switch, Typography, TablePagination, Toolbar as Toolbar$2, TableContainer, Paper, LinearProgress, CircularProgress } from '@mui/material';
4
4
  import CloseIcon from '@mui/icons-material/Close';
5
5
  import FilterIcon from '@mui/icons-material/FilterList';
6
6
  import MoreVertIcon from '@mui/icons-material/MoreVert';
@@ -8,8 +8,8 @@ import ClearAllIcon from '@mui/icons-material/ClearAll';
8
8
  import SortIcon from '@mui/icons-material/Sort';
9
9
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
10
10
  import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
11
- import ArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
- import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
11
+ import MuiArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowDown';
12
+ import MuiExpandMoreIcon from '@mui/icons-material/ExpandMore';
13
13
  import MoreHorizIcon from '@mui/icons-material/MoreHoriz';
14
14
  import EditIcon from '@mui/icons-material/Edit';
15
15
  import SaveIcon from '@mui/icons-material/Save';
@@ -140,16 +140,16 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
140
140
  setDensePadding = _useState2[1];
141
141
 
142
142
  var _useState3 = useState(null),
143
- currentEditingRowId = _useState3[0],
144
- setCurrentEditingRowId = _useState3[1];
143
+ currentEditingRow = _useState3[0],
144
+ setCurrentEditingRow = _useState3[1];
145
145
 
146
146
  return React.createElement(MaterialReactTableContext.Provider, {
147
147
  value: _extends({}, mrtCalcs, props, {
148
148
  densePadding: densePadding,
149
149
  setDensePadding: setDensePadding,
150
150
  setShowFilters: setShowFilters,
151
- currentEditingRowId: currentEditingRowId,
152
- setCurrentEditingRowId: setCurrentEditingRowId,
151
+ currentEditingRow: currentEditingRow,
152
+ setCurrentEditingRow: setCurrentEditingRow,
153
153
  showFilters: showFilters,
154
154
  // @ts-ignore
155
155
  tableInstance: tableInstance
@@ -182,7 +182,6 @@ var MRT_FilterTextfield = function MRT_FilterTextfield(_ref) {
182
182
  };
183
183
 
184
184
  if (column.Filter) {
185
- //@ts-ignore
186
185
  return React.createElement(React.Fragment, null, column.Filter({
187
186
  column: column
188
187
  }));
@@ -332,9 +331,19 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
332
331
  }));
333
332
  };
334
333
 
335
- var StyledTableHeadCell = /*#__PURE__*/styled(TableCell$1)({
336
- fontWeight: 'bold',
337
- verticalAlign: 'text-top'
334
+ var StyledTableHeadCell = /*#__PURE__*/styled(TableCell$6, {
335
+ shouldForwardProp: function shouldForwardProp(prop) {
336
+ return prop !== 'densePadding' && prop !== 'enableColumnResizing';
337
+ }
338
+ })(function (_ref) {
339
+ var densePadding = _ref.densePadding,
340
+ enableColumnResizing = _ref.enableColumnResizing;
341
+ return {
342
+ fontWeight: 'bold',
343
+ verticalAlign: 'text-top',
344
+ padding: densePadding ? '0.5rem' : '1rem',
345
+ transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
346
+ };
338
347
  });
339
348
  var TableCellContents = /*#__PURE__*/styled('div')({
340
349
  display: 'grid'
@@ -354,10 +363,10 @@ var Divider = /*#__PURE__*/styled(Divider$1)({
354
363
  borderRadius: '2px',
355
364
  maxHeight: '2rem'
356
365
  });
357
- var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
358
- var _column$columns$lengt, _column$columns, _mTableHeadCellProps$;
366
+ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref2) {
367
+ var _column$columns$lengt, _column$columns, _mTableHeadCellProps$, _mcTableHeadCellProps;
359
368
 
360
- var column = _ref.column;
369
+ var column = _ref2.column;
361
370
 
362
371
  var _useMaterialReactTabl = useMaterialReactTable(),
363
372
  densePadding = _useMaterialReactTabl.densePadding,
@@ -371,16 +380,16 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
371
380
 
372
381
  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;
373
382
  var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
383
+ var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
374
384
 
375
- var tableCellProps = _extends({}, mTableHeadCellProps, column.getHeaderProps(), {
376
- style: _extends({
377
- padding: densePadding ? '0.5rem' : '1rem',
378
- transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
379
- }, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {})
385
+ var tableCellProps = _extends({}, mTableHeadCellProps, mcTableHeadCellProps, column.getHeaderProps(), {
386
+ style: _extends({}, column.getHeaderProps().style, (_mTableHeadCellProps$ = mTableHeadCellProps == null ? void 0 : mTableHeadCellProps.style) != null ? _mTableHeadCellProps$ : {}, (_mcTableHeadCellProps = mcTableHeadCellProps == null ? void 0 : mcTableHeadCellProps.style) != null ? _mcTableHeadCellProps : {})
380
387
  });
381
388
 
382
389
  return React.createElement(StyledTableHeadCell, Object.assign({
383
- align: isParentHeader ? 'center' : 'left'
390
+ align: isParentHeader ? 'center' : 'left',
391
+ densePadding: densePadding,
392
+ enableColumnResizing: enableColumnResizing
384
393
  }, tableCellProps), React.createElement(TableCellContents, null, React.createElement(TableCellText, {
385
394
  style: {
386
395
  justifyContent: isParentHeader ? 'center' : undefined
@@ -407,24 +416,43 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
407
416
  }))));
408
417
  };
409
418
 
419
+ var TableCell = /*#__PURE__*/styled(TableCell$6, {
420
+ shouldForwardProp: function shouldForwardProp(prop) {
421
+ return prop !== 'densePadding';
422
+ }
423
+ })(function (_ref) {
424
+ var densePadding = _ref.densePadding;
425
+ return {
426
+ padding: densePadding ? '0' : '0.6rem',
427
+ transition: 'all 0.2s ease-in-out'
428
+ };
429
+ });
410
430
  var MRT_SelectAllCheckbox = function MRT_SelectAllCheckbox() {
411
431
  var _useMaterialReactTabl = useMaterialReactTable(),
412
432
  tableInstance = _useMaterialReactTabl.tableInstance,
413
433
  disableSelectAll = _useMaterialReactTabl.disableSelectAll,
414
- densePadding = _useMaterialReactTabl.densePadding;
434
+ densePadding = _useMaterialReactTabl.densePadding,
435
+ localization = _useMaterialReactTabl.localization;
415
436
 
416
- return React.createElement(TableCell$1, {
417
- style: {
418
- width: '2rem',
419
- padding: densePadding ? '0' : '0.6rem',
420
- transition: 'all 0.2s ease-in-out'
421
- },
437
+ return React.createElement(TableCell, {
438
+ densePadding: densePadding,
422
439
  variant: "head"
423
440
  }, !disableSelectAll ? React.createElement(Checkbox, Object.assign({
424
- "aria-label": ""
441
+ "aria-label": localization == null ? void 0 : localization.selectAllCheckboxTitle
425
442
  }, tableInstance.getToggleAllPageRowsSelectedProps())) : null);
426
443
  };
427
444
 
445
+ var ArrowRightIcon = /*#__PURE__*/styled(MuiArrowRightIcon, {
446
+ shouldForwardProp: function shouldForwardProp(prop) {
447
+ return prop !== 'rotation';
448
+ }
449
+ })(function (_ref) {
450
+ var rotation = _ref.rotation;
451
+ return {
452
+ transform: "rotate(" + rotation + "deg)",
453
+ transition: 'transform 0.2s'
454
+ };
455
+ });
428
456
  var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
429
457
  var _useMaterialReactTabl = useMaterialReactTable(),
430
458
  tableInstance = _useMaterialReactTabl.tableInstance,
@@ -433,7 +461,7 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
433
461
  densePadding = _useMaterialReactTabl.densePadding,
434
462
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
435
463
 
436
- return React.createElement(TableCell$1, Object.assign({
464
+ return React.createElement(TableCell$6, Object.assign({
437
465
  size: "small"
438
466
  }, tableInstance.getToggleAllRowsExpandedProps(), {
439
467
  style: {
@@ -446,30 +474,27 @@ var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
446
474
  title: localization == null ? void 0 : localization.expandAllButtonTitle
447
475
  }, React.createElement(ArrowRightIcon, {
448
476
  fontSize: "small",
449
- style: {
450
- transform: tableInstance.isAllRowsExpanded ? 'rotate(-180deg)' : anyRowsExpanded ? 'rotate(-90deg)' : 'rotate(0)',
451
- transition: 'transform 0.2s'
452
- }
477
+ rotation: tableInstance.isAllRowsExpanded ? -180 : anyRowsExpanded ? -90 : 0
453
478
  })));
454
479
  };
455
480
 
456
481
  var MRT_TableSpacerCell = function MRT_TableSpacerCell(_ref) {
457
- var _mTableBodyRowProps$s;
482
+ var _mTableBodyCellrops$s;
458
483
 
459
484
  var width = _ref.width;
460
485
 
461
486
  var _useMaterialReactTabl = useMaterialReactTable(),
462
487
  muiTableBodyCellProps = _useMaterialReactTabl.muiTableBodyCellProps;
463
488
 
464
- var mTableBodyRowProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
489
+ var mTableBodyCellrops = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps() : muiTableBodyCellProps;
465
490
 
466
- var tableCellProps = _extends({}, mTableBodyRowProps, {
491
+ var tableCellProps = _extends({}, mTableBodyCellrops, {
467
492
  style: _extends({
468
493
  width: width
469
- }, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
494
+ }, (_mTableBodyCellrops$s = mTableBodyCellrops == null ? void 0 : mTableBodyCellrops.style) != null ? _mTableBodyCellrops$s : {})
470
495
  });
471
496
 
472
- return React.createElement(TableCell$1, Object.assign({}, tableCellProps));
497
+ return React.createElement(TableCell$6, Object.assign({}, tableCellProps));
473
498
  };
474
499
 
475
500
  var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
@@ -479,6 +504,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
479
504
 
480
505
  var _useMaterialReactTabl = useMaterialReactTable(),
481
506
  anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
507
+ densePadding = _useMaterialReactTabl.densePadding,
482
508
  disableExpandAll = _useMaterialReactTabl.disableExpandAll,
483
509
  enableRowActions = _useMaterialReactTabl.enableRowActions,
484
510
  enableSelection = _useMaterialReactTabl.enableSelection,
@@ -501,7 +527,7 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
501
527
  style: _extends({}, headerGroup.getHeaderGroupProps().style, (_mTableHeadRowProps$s = mTableHeadRowProps == null ? void 0 : mTableHeadRowProps.style) != null ? _mTableHeadRowProps$s : {})
502
528
  });
503
529
 
504
- return React.createElement(TableRow, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, null, localization == null ? void 0 : localization.actionsHeadColumnTitle)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
530
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, null, localization == null ? void 0 : localization.actionsHeadColumnTitle)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React.createElement(MRT_ExpandAllButton, null) : React.createElement(MRT_TableSpacerCell, {
505
531
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
506
532
  }) : null, enableSelection ? !isParentHeader ? React.createElement(MRT_SelectAllCheckbox, null) : React.createElement(MRT_TableSpacerCell, {
507
533
  width: "1rem"
@@ -510,7 +536,9 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
510
536
  key: column.getHeaderProps().key,
511
537
  column: column
512
538
  });
513
- }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, null, localization == null ? void 0 : localization.actionsHeadColumnTitle)));
539
+ }), enableRowActions && positionActionsColumn === 'last' && (isParentHeader ? React.createElement(MRT_TableSpacerCell, null) : React.createElement(StyledTableHeadCell, {
540
+ densePadding: densePadding
541
+ }, localization == null ? void 0 : localization.actionsHeadColumnTitle)));
514
542
  };
515
543
 
516
544
  var MRT_TableHead = function MRT_TableHead() {
@@ -519,44 +547,114 @@ var MRT_TableHead = function MRT_TableHead() {
519
547
  muiTableHeadProps = _useMaterialReactTabl.muiTableHeadProps;
520
548
 
521
549
  var tableHeadProps = muiTableHeadProps instanceof Function ? muiTableHeadProps(tableInstance) : muiTableHeadProps;
522
- return React.createElement(TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup, index) {
550
+ return React.createElement(TableHead, Object.assign({}, tableHeadProps), tableInstance.headerGroups.map(function (headerGroup) {
523
551
  return React.createElement(MRT_TableHeadRow, {
524
- key: index + "-" + headerGroup.id,
552
+ key: headerGroup.getHeaderGroupProps().key,
525
553
  headerGroup: headerGroup
526
554
  });
527
555
  }));
528
556
  };
529
557
 
530
- var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
531
- var _mTableCellBodyProps$;
558
+ var MRT_EditCellTextfield = function MRT_EditCellTextfield(_ref) {
559
+ var _cell$column$muiTable, _currentEditingRow$va;
532
560
 
533
561
  var cell = _ref.cell;
534
562
 
563
+ var _useMaterialReactTabl = useMaterialReactTable(),
564
+ localization = _useMaterialReactTabl.localization,
565
+ currentEditingRow = _useMaterialReactTabl.currentEditingRow,
566
+ setCurrentEditingRow = _useMaterialReactTabl.setCurrentEditingRow,
567
+ muiTableBodyCellEditTextFieldProps = _useMaterialReactTabl.muiTableBodyCellEditTextFieldProps;
568
+
569
+ var handleChange = function handleChange(event) {
570
+ if (currentEditingRow) {
571
+ var _extends2;
572
+
573
+ setCurrentEditingRow(_extends({}, currentEditingRow, {
574
+ values: _extends({}, cell.row.values, (_extends2 = {}, _extends2[cell.column.id] = event.target.value, _extends2))
575
+ }));
576
+ }
577
+ };
578
+
579
+ var textFieldProps = _extends({}, muiTableBodyCellEditTextFieldProps, cell.column.muiTableBodyCellEditTextFieldProps, {
580
+ style: _extends({}, muiTableBodyCellEditTextFieldProps == null ? void 0 : muiTableBodyCellEditTextFieldProps.style, (_cell$column$muiTable = cell.column.muiTableBodyCellEditTextFieldProps) == null ? void 0 : _cell$column$muiTable.style)
581
+ });
582
+
583
+ if (cell.column.editable && cell.column.Edit) {
584
+ return React.createElement(React.Fragment, null, cell.column.Edit(_extends({}, textFieldProps, {
585
+ cell: cell,
586
+ onChange: handleChange
587
+ })));
588
+ }
589
+
590
+ return React.createElement(TextField$1, Object.assign({
591
+ margin: "dense",
592
+ placeholder: localization == null ? void 0 : localization.filterTextFieldPlaceholder,
593
+ onChange: handleChange,
594
+ onClick: function onClick(e) {
595
+ return e.stopPropagation();
596
+ },
597
+ value: currentEditingRow == null ? void 0 : (_currentEditingRow$va = currentEditingRow.values) == null ? void 0 : _currentEditingRow$va[cell.column.id],
598
+ variant: "standard"
599
+ }, textFieldProps));
600
+ };
601
+
602
+ var TableCell$1 = /*#__PURE__*/styled(TableCell$6, {
603
+ shouldForwardProp: function shouldForwardProp(prop) {
604
+ return prop !== 'densePadding';
605
+ }
606
+ })(function (_ref) {
607
+ var densePadding = _ref.densePadding;
608
+ return {
609
+ padding: densePadding ? '0.5rem' : '1rem',
610
+ transition: 'all 0.2s ease-in-out'
611
+ };
612
+ });
613
+ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref2) {
614
+ var _mTableCellBodyProps$, _mcTableCellBodyProps;
615
+
616
+ var cell = _ref2.cell;
617
+
535
618
  var _useMaterialReactTabl = useMaterialReactTable(),
536
619
  onCellClick = _useMaterialReactTabl.onCellClick,
537
620
  muiTableBodyCellProps = _useMaterialReactTabl.muiTableBodyCellProps,
538
- densePadding = _useMaterialReactTabl.densePadding;
621
+ densePadding = _useMaterialReactTabl.densePadding,
622
+ currentEditingRow = _useMaterialReactTabl.currentEditingRow;
539
623
 
540
624
  var mTableCellBodyProps = muiTableBodyCellProps instanceof Function ? muiTableBodyCellProps(cell) : muiTableBodyCellProps;
625
+ var mcTableCellBodyProps = cell.column.muiTableBodyCellProps instanceof Function ? cell.column.muiTableBodyCellProps(cell) : cell.column.muiTableBodyCellProps;
541
626
 
542
- var tableCellProps = _extends({}, mTableCellBodyProps, cell.getCellProps(), {
543
- style: _extends({
544
- padding: densePadding ? '0.5rem' : '1rem',
545
- transition: 'all 0.2s ease-in-out'
546
- }, cell.getCellProps().style, (_mTableCellBodyProps$ = mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style) != null ? _mTableCellBodyProps$ : {})
627
+ var tableCellProps = _extends({}, mTableCellBodyProps, mcTableCellBodyProps, cell.getCellProps(), {
628
+ style: _extends({}, cell.getCellProps().style, (_mTableCellBodyProps$ = mTableCellBodyProps == null ? void 0 : mTableCellBodyProps.style) != null ? _mTableCellBodyProps$ : {}, (_mcTableCellBodyProps = mcTableCellBodyProps == null ? void 0 : mcTableCellBodyProps.style) != null ? _mcTableCellBodyProps : {})
547
629
  });
548
630
 
549
631
  return React.createElement(TableCell$1, Object.assign({
632
+ densePadding: densePadding,
550
633
  onClick: function onClick(event) {
551
634
  return onCellClick == null ? void 0 : onCellClick(event, cell);
552
635
  }
553
- }, tableCellProps), cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
636
+ }, tableCellProps), (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React.createElement(MRT_EditCellTextfield, {
637
+ cell: cell
638
+ }) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
554
639
  };
555
640
 
556
- var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
557
- var _mTableBodyRowProps$s;
641
+ var TableCell$2 = /*#__PURE__*/styled(TableCell$6, {
642
+ shouldForwardProp: function shouldForwardProp(prop) {
643
+ return prop !== 'isExpanded';
644
+ }
645
+ })(function (_ref) {
646
+ var isExpanded = _ref.isExpanded;
647
+ return {
648
+ borderBottom: !isExpanded ? 'none' : undefined,
649
+ paddingBottom: isExpanded ? '1rem' : 0,
650
+ paddingTop: isExpanded ? '1rem' : 0,
651
+ transition: 'all 0.2s ease-in-out'
652
+ };
653
+ });
654
+ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref2) {
655
+ var _mTableBodyRowProps$s, _mTableDetailPanelPro;
558
656
 
559
- var row = _ref.row;
657
+ var row = _ref2.row;
560
658
 
561
659
  var _useMaterialReactTabl = useMaterialReactTable(),
562
660
  tableInstance = _useMaterialReactTabl.tableInstance,
@@ -574,18 +672,14 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
574
672
  var mTableDetailPanelProps = muiTableDetailPanelProps instanceof Function ? muiTableDetailPanelProps(row) : muiTableDetailPanelProps;
575
673
 
576
674
  var tableCellProps = _extends({}, mTableDetailPanelProps, {
577
- style: _extends({
578
- borderBottom: !row.isExpanded ? 'none' : undefined,
579
- paddingBottom: row.isExpanded ? '1rem' : 0,
580
- paddingTop: row.isExpanded ? '1rem' : 0,
581
- transition: 'all 0.2s ease-in-out'
582
- }, (mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) || {})
675
+ style: _extends({}, (_mTableDetailPanelPro = mTableDetailPanelProps == null ? void 0 : mTableDetailPanelProps.style) != null ? _mTableDetailPanelPro : {})
583
676
  });
584
677
 
585
- return React.createElement(TableRow, Object.assign({
678
+ return React.createElement(TableRow$1, Object.assign({
586
679
  hover: true
587
- }, tableRowProps), React.createElement(TableCell$1, Object.assign({
680
+ }, tableRowProps), React.createElement(TableCell$2, Object.assign({
588
681
  colSpan: tableInstance.visibleColumns.length + 10,
682
+ isExpanded: row.isExpanded,
589
683
  onClick: function onClick(event) {
590
684
  return onDetailPanelClick == null ? void 0 : onDetailPanelClick(event, row);
591
685
  }
@@ -594,38 +688,65 @@ var MRT_TableDetailPanel = function MRT_TableDetailPanel(_ref) {
594
688
  }, renderDetailPanel == null ? void 0 : renderDetailPanel(row))));
595
689
  };
596
690
 
597
- var MRT_ExpandButton = function MRT_ExpandButton(_ref) {
598
- var row = _ref.row;
691
+ var TableCell$3 = /*#__PURE__*/styled(TableCell$6, {
692
+ shouldForwardProp: function shouldForwardProp(prop) {
693
+ return prop !== 'densePadding' && prop !== 'depth';
694
+ }
695
+ })(function (_ref) {
696
+ var densePadding = _ref.densePadding,
697
+ depth = _ref.depth;
698
+ return {
699
+ padding: densePadding ? '0' : '0.6rem',
700
+ paddingLeft: depth + 0.5 + "rem",
701
+ transition: 'all 0.2s ease-in-out'
702
+ };
703
+ });
704
+ var ExpandMoreIcon = /*#__PURE__*/styled(MuiExpandMoreIcon, {
705
+ shouldForwardProp: function shouldForwardProp(prop) {
706
+ return prop !== 'rotation';
707
+ }
708
+ })(function (_ref2) {
709
+ var rotation = _ref2.rotation;
710
+ return {
711
+ transform: "rotate(" + rotation + "deg)",
712
+ transition: 'transform 0.2s'
713
+ };
714
+ });
715
+ var MRT_ExpandButton = function MRT_ExpandButton(_ref3) {
716
+ var row = _ref3.row;
599
717
 
600
718
  var _useMaterialReactTabl = useMaterialReactTable(),
601
719
  localization = _useMaterialReactTabl.localization,
602
- tableInstance = _useMaterialReactTabl.tableInstance,
603
720
  densePadding = _useMaterialReactTabl.densePadding,
604
721
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
605
722
 
606
- return React.createElement(TableCell$1, {
723
+ return React.createElement(TableCell$3, {
607
724
  size: "small",
608
- style: {
609
- padding: densePadding ? '0' : '0.6rem 0',
610
- paddingLeft: row.depth + 0.5 + "rem",
611
- transition: 'all 0.2s ease-in-out',
612
- width: (renderDetailPanel ? 2 : tableInstance.expandedDepth - row.depth + 2) + "rem"
613
- }
725
+ densePadding: densePadding,
726
+ depth: row.depth
614
727
  }, React.createElement(IconButton$2, Object.assign({
615
- disabled: !row.canExpand && !renderDetailPanel,
616
728
  "aria-label": localization == null ? void 0 : localization.expandButtonTitle,
729
+ disabled: !row.canExpand && !renderDetailPanel,
617
730
  title: localization == null ? void 0 : localization.expandButtonTitle
618
731
  }, row.getToggleRowExpandedProps()), React.createElement(ExpandMoreIcon, {
619
732
  fontSize: row.canExpand || renderDetailPanel ? 'medium' : 'small',
620
- style: {
621
- transform: !row.canExpand && !renderDetailPanel ? 'rotate(-90deg)' : row.isExpanded ? 'rotate(-180deg)' : 'rotate(0)',
622
- transition: 'transform 0.2s'
623
- }
733
+ rotation: !row.canExpand && !renderDetailPanel ? -90 : row.isExpanded ? -180 : 0
624
734
  })));
625
735
  };
626
736
 
627
- var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
628
- var row = _ref.row;
737
+ var TableCell$4 = /*#__PURE__*/styled(TableCell$6, {
738
+ shouldForwardProp: function shouldForwardProp(prop) {
739
+ return prop !== 'densePadding';
740
+ }
741
+ })(function (_ref) {
742
+ var densePadding = _ref.densePadding;
743
+ return {
744
+ padding: densePadding ? '0' : '0.6rem',
745
+ transition: 'all 0.2s ease-in-out'
746
+ };
747
+ });
748
+ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref2) {
749
+ var row = _ref2.row;
629
750
 
630
751
  var _useMaterialReactTabl = useMaterialReactTable(),
631
752
  tableInstance = _useMaterialReactTabl.tableInstance,
@@ -639,12 +760,8 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
639
760
  onRowSelectChange == null ? void 0 : onRowSelectChange(event, row, tableInstance.selectedFlatRows);
640
761
  };
641
762
 
642
- return React.createElement(TableCell$1, {
643
- style: {
644
- width: '2rem',
645
- padding: densePadding ? '0' : '0.6rem',
646
- transition: 'all 0.2s ease-in-out'
647
- }
763
+ return React.createElement(TableCell$4, {
764
+ densePadding: densePadding
648
765
  }, React.createElement(Checkbox, Object.assign({}, row.getToggleRowSelectedProps(), {
649
766
  onChange: onSelectChange
650
767
  })));
@@ -665,11 +782,11 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
665
782
  enableRowEditing = _useMaterialReactTabl.enableRowEditing,
666
783
  localization = _useMaterialReactTabl.localization,
667
784
  renderRowActionMenuItems = _useMaterialReactTabl.renderRowActionMenuItems,
668
- setCurrentEditingRowId = _useMaterialReactTabl.setCurrentEditingRowId,
785
+ setCurrentEditingRow = _useMaterialReactTabl.setCurrentEditingRow,
669
786
  tableInstance = _useMaterialReactTabl.tableInstance;
670
787
 
671
788
  var handleEdit = function handleEdit() {
672
- setCurrentEditingRowId(row.id);
789
+ setCurrentEditingRow(_extends({}, row));
673
790
  setAnchorEl(null);
674
791
  };
675
792
 
@@ -1457,11 +1574,12 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1457
1574
 
1458
1575
  var _useMaterialReactTabl = useMaterialReactTable(),
1459
1576
  localization = _useMaterialReactTabl.localization,
1460
- setCurrentEditingRowId = _useMaterialReactTabl.setCurrentEditingRowId,
1461
- onRowEditSubmit = _useMaterialReactTabl.onRowEditSubmit;
1577
+ setCurrentEditingRow = _useMaterialReactTabl.setCurrentEditingRow,
1578
+ onRowEditSubmit = _useMaterialReactTabl.onRowEditSubmit,
1579
+ currentEditingRow = _useMaterialReactTabl.currentEditingRow;
1462
1580
 
1463
1581
  var handleCancel = function handleCancel() {
1464
- setCurrentEditingRowId(null);
1582
+ setCurrentEditingRow(null);
1465
1583
  };
1466
1584
 
1467
1585
  var handleSave = /*#__PURE__*/function () {
@@ -1470,9 +1588,11 @@ var MRT_EditActionButtons = function MRT_EditActionButtons(_ref) {
1470
1588
  while (1) {
1471
1589
  switch (_context.prev = _context.next) {
1472
1590
  case 0:
1473
- setCurrentEditingRowId(null);
1474
- _context.next = 3;
1475
- return onRowEditSubmit == null ? void 0 : onRowEditSubmit(row);
1591
+ _context.next = 2;
1592
+ return onRowEditSubmit == null ? void 0 : onRowEditSubmit(currentEditingRow != null ? currentEditingRow : row);
1593
+
1594
+ case 2:
1595
+ setCurrentEditingRow(null);
1476
1596
 
1477
1597
  case 3:
1478
1598
  case "end":
@@ -1518,7 +1638,7 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1518
1638
 
1519
1639
  var _useMaterialReactTabl = useMaterialReactTable(),
1520
1640
  localization = _useMaterialReactTabl.localization,
1521
- currentEditingRowId = _useMaterialReactTabl.currentEditingRowId,
1641
+ currentEditingRow = _useMaterialReactTabl.currentEditingRow,
1522
1642
  renderRowActions = _useMaterialReactTabl.renderRowActions,
1523
1643
  tableInstance = _useMaterialReactTabl.tableInstance;
1524
1644
 
@@ -1536,7 +1656,7 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1536
1656
  return React.createElement(React.Fragment, null, renderRowActions(row, tableInstance));
1537
1657
  }
1538
1658
 
1539
- if (row.id === currentEditingRowId) {
1659
+ if (row.id === (currentEditingRow == null ? void 0 : currentEditingRow.id)) {
1540
1660
  return React.createElement(MRT_EditActionButtons, {
1541
1661
  row: row
1542
1662
  });
@@ -1554,10 +1674,21 @@ var MRT_ToggleRowActionMenuButton = function MRT_ToggleRowActionMenuButton(_ref)
1554
1674
  }));
1555
1675
  };
1556
1676
 
1557
- var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1677
+ var TableRow = /*#__PURE__*/styled(TableRow$1, {
1678
+ shouldForwardProp: function shouldForwardProp(prop) {
1679
+ return prop !== 'isSelected';
1680
+ }
1681
+ })(function (_ref) {
1682
+ var isSelected = _ref.isSelected,
1683
+ theme = _ref.theme;
1684
+ return {
1685
+ backgroundColor: isSelected ? alpha(theme.palette.primary.light, 0.1) : 'transparent'
1686
+ };
1687
+ });
1688
+ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref2) {
1558
1689
  var _mTableBodyRowProps$s;
1559
1690
 
1560
- var row = _ref.row;
1691
+ var row = _ref2.row;
1561
1692
 
1562
1693
  var _useMaterialReactTabl = useMaterialReactTable(),
1563
1694
  anyRowsCanExpand = _useMaterialReactTabl.anyRowsCanExpand,
@@ -1568,21 +1699,19 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1568
1699
  positionActionsColumn = _useMaterialReactTabl.positionActionsColumn,
1569
1700
  renderDetailPanel = _useMaterialReactTabl.renderDetailPanel;
1570
1701
 
1571
- var theme = useTheme();
1572
1702
  var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
1573
1703
 
1574
1704
  var tableRowProps = _extends({}, mTableBodyRowProps, row.getRowProps(), {
1575
- style: _extends({
1576
- backgroundColor: row.isSelected ? alpha(theme.palette.primary.light, 0.1) : 'transparent'
1577
- }, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
1705
+ style: _extends({}, row.getRowProps().style, (_mTableBodyRowProps$s = mTableBodyRowProps == null ? void 0 : mTableBodyRowProps.style) != null ? _mTableBodyRowProps$s : {})
1578
1706
  });
1579
1707
 
1580
1708
  return React.createElement(React.Fragment, null, React.createElement(TableRow, Object.assign({
1709
+ isSelected: row.isSelected,
1581
1710
  hover: true,
1582
1711
  onClick: function onClick(event) {
1583
1712
  return onRowClick == null ? void 0 : onRowClick(event, row);
1584
1713
  }
1585
- }, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(TableCell$1, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1714
+ }, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(TableCell$6, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1586
1715
  row: row
1587
1716
  })), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_ExpandButton, {
1588
1717
  row: row
@@ -1593,7 +1722,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1593
1722
  key: cell.getCellProps().key,
1594
1723
  cell: cell
1595
1724
  });
1596
- }), enableRowActions && positionActionsColumn === 'last' && React.createElement(TableCell$1, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1725
+ }), enableRowActions && positionActionsColumn === 'last' && React.createElement(TableCell$6, null, React.createElement(MRT_ToggleRowActionMenuButton, {
1597
1726
  row: row
1598
1727
  }))), renderDetailPanel && React.createElement(MRT_TableDetailPanel, {
1599
1728
  row: row
@@ -1603,26 +1732,12 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
1603
1732
  var TableBody = /*#__PURE__*/styled(TableBody$1)({
1604
1733
  overflowY: 'hidden'
1605
1734
  });
1606
- var CircularProgressWrapper = /*#__PURE__*/styled('div')(function (_ref) {
1607
- var theme = _ref.theme;
1608
- return {
1609
- backgroundColor: alpha(theme.palette.background.paper, 0.5),
1610
- display: 'grid',
1611
- height: '100%',
1612
- justifyContent: 'center',
1613
- margin: 'auto',
1614
- paddingTop: '5rem',
1615
- position: 'fixed',
1616
- width: 'calc(100% - 2rem)'
1617
- };
1618
- });
1619
1735
  var MRT_TableBody = function MRT_TableBody() {
1620
1736
  var _muiTableBodyProps$st;
1621
1737
 
1622
1738
  var _useMaterialReactTabl = useMaterialReactTable(),
1623
1739
  tableInstance = _useMaterialReactTabl.tableInstance,
1624
1740
  muiTableBodyProps = _useMaterialReactTabl.muiTableBodyProps,
1625
- isLoading = _useMaterialReactTabl.isLoading,
1626
1741
  manualPagination = _useMaterialReactTabl.manualPagination;
1627
1742
 
1628
1743
  var rows = manualPagination ? tableInstance.rows : tableInstance.page;
@@ -1631,7 +1746,7 @@ var MRT_TableBody = function MRT_TableBody() {
1631
1746
  style: _extends({}, tableInstance.getTableBodyProps().style, (_muiTableBodyProps$st = muiTableBodyProps == null ? void 0 : muiTableBodyProps.style) != null ? _muiTableBodyProps$st : {})
1632
1747
  });
1633
1748
 
1634
- return React.createElement(TableBody, Object.assign({}, tableBodyProps), isLoading && React.createElement(CircularProgressWrapper, null, React.createElement(CircularProgress, null)), rows.map(function (row) {
1749
+ return React.createElement(TableBody, Object.assign({}, tableBodyProps), rows.map(function (row) {
1635
1750
  tableInstance.prepareRow(row);
1636
1751
  return React.createElement(MRT_TableBodyRow, {
1637
1752
  key: row.getRowProps().key,
@@ -1640,30 +1755,42 @@ var MRT_TableBody = function MRT_TableBody() {
1640
1755
  }));
1641
1756
  };
1642
1757
 
1643
- var TableCell = /*#__PURE__*/styled(TableCell$1)({
1644
- fontWeight: 'bold'
1758
+ var TableCell$5 = /*#__PURE__*/styled(TableCell$6, {
1759
+ shouldForwardProp: function shouldForwardProp(prop) {
1760
+ return prop !== 'densePadding' && prop !== 'enableColumnResizing';
1761
+ }
1762
+ })(function (_ref) {
1763
+ var densePadding = _ref.densePadding,
1764
+ enableColumnResizing = _ref.enableColumnResizing;
1765
+ return {
1766
+ fontWeight: 'bold',
1767
+ verticalAlign: 'text-top',
1768
+ padding: densePadding ? '0.5rem' : '1rem',
1769
+ transition: "all " + (enableColumnResizing ? '10ms' : '0.2s') + " ease-in-out"
1770
+ };
1645
1771
  });
1646
- var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
1647
- var _column$columns$lengt, _column$columns, _mTableFooterCellProp;
1772
+ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref2) {
1773
+ var _column$columns$lengt, _column$columns, _mTableFooterCellProp, _mcTableFooterCellPro;
1648
1774
 
1649
- var column = _ref.column;
1775
+ var column = _ref2.column;
1650
1776
 
1651
1777
  var _useMaterialReactTabl = useMaterialReactTable(),
1652
1778
  muiTableFooterCellProps = _useMaterialReactTabl.muiTableFooterCellProps,
1653
- densePadding = _useMaterialReactTabl.densePadding;
1779
+ densePadding = _useMaterialReactTabl.densePadding,
1780
+ enableColumnResizing = _useMaterialReactTabl.enableColumnResizing;
1654
1781
 
1655
1782
  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;
1656
1783
  var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
1784
+ var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
1657
1785
 
1658
- var tableCellProps = _extends({}, mTableFooterCellProps, column.getFooterProps(), {
1659
- style: _extends({
1660
- padding: densePadding ? '0.5rem' : '1rem',
1661
- transition: 'all 0.2s ease-in-out'
1662
- }, column.getFooterProps().style, (_mTableFooterCellProp = mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style) != null ? _mTableFooterCellProp : {})
1786
+ var tableCellProps = _extends({}, mTableFooterCellProps, mcTableFooterCellProps, column.getFooterProps(), {
1787
+ style: _extends({}, column.getFooterProps().style, (_mTableFooterCellProp = mTableFooterCellProps == null ? void 0 : mTableFooterCellProps.style) != null ? _mTableFooterCellProp : {}, (_mcTableFooterCellPro = mcTableFooterCellProps == null ? void 0 : mcTableFooterCellProps.style) != null ? _mcTableFooterCellPro : {})
1663
1788
  });
1664
1789
 
1665
- return React.createElement(TableCell, Object.assign({
1790
+ return React.createElement(TableCell$5, Object.assign({
1666
1791
  align: isParentHeader ? 'center' : 'left',
1792
+ densePadding: densePadding,
1793
+ enableColumnResizing: enableColumnResizing,
1667
1794
  variant: "head"
1668
1795
  }, tableCellProps), column.render('Footer'));
1669
1796
  };
@@ -1693,13 +1820,13 @@ var MRT_TableFooterRow = function MRT_TableFooterRow(_ref) {
1693
1820
  style: _extends({}, footerGroup.getFooterGroupProps().style, (_mTableFooterRowProps = mTableFooterRowProps == null ? void 0 : mTableFooterRowProps.style) != null ? _mTableFooterRowProps : {})
1694
1821
  });
1695
1822
 
1696
- return React.createElement(TableRow, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1823
+ return React.createElement(TableRow$1, Object.assign({}, tableRowProps), enableRowActions && positionActionsColumn === 'first' && React.createElement(MRT_TableSpacerCell, null), (anyRowsCanExpand || renderDetailPanel) && React.createElement(MRT_TableSpacerCell, {
1697
1824
  width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
1698
1825
  }), enableSelection && React.createElement(MRT_TableSpacerCell, {
1699
1826
  width: "1rem"
1700
- }), footerGroup.headers.map(function (column, index) {
1827
+ }), footerGroup.headers.map(function (column) {
1701
1828
  return React.createElement(MRT_TableFooterCell, {
1702
- key: index + "-" + column.id,
1829
+ key: column.getFooterProps().key,
1703
1830
  column: column
1704
1831
  });
1705
1832
  }), enableRowActions && positionActionsColumn === 'last' && React.createElement(MRT_TableSpacerCell, null));
@@ -1710,9 +1837,9 @@ var MRT_TableFooter = function MRT_TableFooter() {
1710
1837
  muiTableFooterProps = _useMaterialReactTabl.muiTableFooterProps,
1711
1838
  tableInstance = _useMaterialReactTabl.tableInstance;
1712
1839
 
1713
- return React.createElement(TableFooter, Object.assign({}, muiTableFooterProps), tableInstance.footerGroups.map(function (footerGroup, index) {
1840
+ return React.createElement(TableFooter, Object.assign({}, muiTableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
1714
1841
  return React.createElement(MRT_TableFooterRow, {
1715
- key: index + "-" + footerGroup.id,
1842
+ key: footerGroup.getFooterGroupProps().key,
1716
1843
  footerGroup: footerGroup
1717
1844
  });
1718
1845
  }));
@@ -1949,21 +2076,14 @@ var ToolbarActionsContainer = /*#__PURE__*/styled('div')({
1949
2076
  var MRT_ToolbarTop = function MRT_ToolbarTop() {
1950
2077
  var _useMaterialReactTabl = useMaterialReactTable(),
1951
2078
  disableGlobalFilter = _useMaterialReactTabl.disableGlobalFilter,
1952
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
1953
- muiTableTitleProps = _useMaterialReactTabl.muiTableTitleProps,
1954
- disableFilters = _useMaterialReactTabl.disableFilters,
2079
+ hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
1955
2080
  manualPagination = _useMaterialReactTabl.manualPagination,
1956
- positionPagination = _useMaterialReactTabl.positionPagination,
2081
+ muiTableTitleProps = _useMaterialReactTabl.muiTableTitleProps,
1957
2082
  muiTableToolbarTopProps = _useMaterialReactTabl.muiTableToolbarTopProps,
1958
- hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
2083
+ positionPagination = _useMaterialReactTabl.positionPagination,
1959
2084
  positionToolbarActions = _useMaterialReactTabl.positionToolbarActions,
1960
- title = _useMaterialReactTabl.title,
1961
- tableInstance = _useMaterialReactTabl.tableInstance; // if no features in the toolbar are enabled, don't render anything
1962
-
1963
-
1964
- if (!muiTableToolbarTopProps && !title && disableColumnHiding && disableFilters && disableGlobalFilter) {
1965
- return null;
1966
- }
2085
+ tableInstance = _useMaterialReactTabl.tableInstance,
2086
+ title = _useMaterialReactTabl.title;
1967
2087
 
1968
2088
  var toolbarProps = muiTableToolbarTopProps instanceof Function ? muiTableToolbarTopProps(tableInstance) : muiTableToolbarTopProps;
1969
2089
  return React.createElement(Toolbar, Object.assign({
@@ -1980,21 +2100,12 @@ var Toolbar$1 = /*#__PURE__*/styled(Toolbar$2)({
1980
2100
  });
1981
2101
  var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
1982
2102
  var _useMaterialReactTabl = useMaterialReactTable(),
1983
- disableGlobalFilter = _useMaterialReactTabl.disableGlobalFilter,
1984
- disableColumnHiding = _useMaterialReactTabl.disableColumnHiding,
2103
+ hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
1985
2104
  manualPagination = _useMaterialReactTabl.manualPagination,
2105
+ muiTableToolbarBottomProps = _useMaterialReactTabl.muiTableToolbarBottomProps,
1986
2106
  positionPagination = _useMaterialReactTabl.positionPagination,
1987
- disableFilters = _useMaterialReactTabl.disableFilters,
1988
- hideToolbarActions = _useMaterialReactTabl.hideToolbarActions,
1989
2107
  positionToolbarActions = _useMaterialReactTabl.positionToolbarActions,
1990
- muiTableToolbarBottomProps = _useMaterialReactTabl.muiTableToolbarBottomProps,
1991
- title = _useMaterialReactTabl.title,
1992
- tableInstance = _useMaterialReactTabl.tableInstance; // if no features in the toolbar are enabled, don't render anything
1993
-
1994
-
1995
- if (!muiTableToolbarBottomProps && !title && disableColumnHiding && disableFilters && disableGlobalFilter) {
1996
- return null;
1997
- }
2108
+ tableInstance = _useMaterialReactTabl.tableInstance;
1998
2109
 
1999
2110
  var toolbarProps = muiTableToolbarBottomProps instanceof Function ? muiTableToolbarBottomProps(tableInstance) : muiTableToolbarBottomProps;
2000
2111
  return React.createElement(Toolbar$1, Object.assign({
@@ -2002,16 +2113,33 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom() {
2002
2113
  }, toolbarProps), !hideToolbarActions && positionToolbarActions === 'bottom' ? React.createElement(MRT_ToolbarButtons, null) : React.createElement("span", null), !manualPagination && ['bottom', 'both'].includes(positionPagination != null ? positionPagination : '') && React.createElement(MRT_TablePagination, null));
2003
2114
  };
2004
2115
 
2116
+ var CircularProgressWrapper = /*#__PURE__*/styled('div')(function (_ref) {
2117
+ var theme = _ref.theme;
2118
+ return {
2119
+ alignItems: 'center',
2120
+ backgroundColor: alpha(theme.palette.background.paper, 0.5),
2121
+ display: 'grid',
2122
+ height: '100%',
2123
+ justifyContent: 'center',
2124
+ margin: 'auto',
2125
+ position: 'absolute',
2126
+ width: 'calc(100% - 2rem)'
2127
+ };
2128
+ });
2005
2129
  var MRT_TableContainer = function MRT_TableContainer() {
2006
2130
  var _useMaterialReactTabl = useMaterialReactTable(),
2007
2131
  muiTableContainerProps = _useMaterialReactTabl.muiTableContainerProps,
2008
2132
  hideToolbarTop = _useMaterialReactTabl.hideToolbarTop,
2009
2133
  hideToolbarBottom = _useMaterialReactTabl.hideToolbarBottom,
2134
+ isLoading = _useMaterialReactTabl.isLoading,
2010
2135
  isFetching = _useMaterialReactTabl.isFetching;
2011
2136
 
2012
2137
  return React.createElement(TableContainer, Object.assign({
2013
2138
  component: Paper
2014
- }, muiTableContainerProps), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), isFetching && React.createElement(LinearProgress, null), React.createElement(MRT_Table, null), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
2139
+ }, muiTableContainerProps), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), isFetching && React.createElement(LinearProgress, null), isLoading && React.createElement(CircularProgressWrapper, null, React.createElement(CircularProgress, {
2140
+ "aria-busy": "true",
2141
+ "aria-label": "Loading data"
2142
+ })), React.createElement(MRT_Table, null), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
2015
2143
  };
2016
2144
 
2017
2145
  var defaultLocalization = {
@@ -2027,13 +2155,14 @@ var defaultLocalization = {
2027
2155
  expandButtonTitle: 'Expand',
2028
2156
  filterTextFieldClearButtonTitle: 'Clear filter',
2029
2157
  filterTextFieldPlaceholder: 'Filter',
2158
+ rowActionButtonCancel: 'Cancel',
2159
+ rowActionButtonSave: 'Save',
2030
2160
  rowActionMenuButtonTitle: 'Row Actions',
2031
- rowActionsColumnTitle: 'Actions',
2032
2161
  rowActionMenuItemEdit: 'Edit',
2033
- rowActionButtonSave: 'Save',
2034
- rowActionButtonCancel: 'Cancel',
2162
+ rowActionsColumnTitle: 'Actions',
2035
2163
  searchTextFieldClearButtonTitle: 'Clear search',
2036
2164
  searchTextFieldPlaceholder: 'Search',
2165
+ selectAllCheckboxTitle: 'Select all',
2037
2166
  showHideColumnsButtonTitle: 'Show/Hide columns',
2038
2167
  toggleDensePaddingSwitchTitle: 'Toggle dense padding',
2039
2168
  toggleFilterButtonTitle: 'Toggle filters'