material-react-table 1.8.0 → 1.8.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 (43) hide show
  1. package/dist/cjs/index.js +18 -6
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/MaterialReactTable.d.ts +38 -23
  4. package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -3
  5. package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +3 -2
  6. package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -4
  7. package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +3 -2
  8. package/dist/cjs/types/column.utils.d.ts +21 -5
  9. package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -2
  10. package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +3 -2
  11. package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -2
  12. package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +3 -2
  13. package/dist/cjs/types/sortingFns.d.ts +117 -1
  14. package/dist/esm/material-react-table.esm.js +18 -6
  15. package/dist/esm/material-react-table.esm.js.map +1 -1
  16. package/dist/esm/types/MaterialReactTable.d.ts +38 -23
  17. package/dist/esm/types/body/MRT_TableBody.d.ts +4 -3
  18. package/dist/esm/types/body/MRT_TableBodyCell.d.ts +3 -2
  19. package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -4
  20. package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +3 -2
  21. package/dist/esm/types/column.utils.d.ts +21 -5
  22. package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -2
  23. package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +3 -2
  24. package/dist/esm/types/head/MRT_TableHead.d.ts +3 -2
  25. package/dist/esm/types/head/MRT_TableHeadRow.d.ts +3 -2
  26. package/dist/esm/types/sortingFns.d.ts +117 -1
  27. package/dist/index.d.ts +39 -24
  28. package/package.json +15 -15
  29. package/src/MaterialReactTable.tsx +655 -624
  30. package/src/body/MRT_TableBody.tsx +10 -11
  31. package/src/body/MRT_TableBodyCell.tsx +3 -2
  32. package/src/body/MRT_TableBodyRow.tsx +7 -14
  33. package/src/body/MRT_TableDetailPanel.tsx +3 -2
  34. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  35. package/src/column.utils.ts +6 -8
  36. package/src/footer/MRT_TableFooter.tsx +3 -2
  37. package/src/footer/MRT_TableFooterRow.tsx +3 -7
  38. package/src/head/MRT_TableHead.tsx +3 -2
  39. package/src/head/MRT_TableHeadCellSortLabel.tsx +4 -0
  40. package/src/head/MRT_TableHeadRow.tsx +3 -7
  41. package/src/menus/MRT_FilterOptionMenu.tsx +8 -3
  42. package/src/table/MRT_Table.tsx +4 -3
  43. package/src/table/MRT_TableRoot.tsx +6 -0
package/dist/cjs/index.js CHANGED
@@ -658,15 +658,18 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
658
658
  }
659
659
  else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'multi-select' ||
660
660
  ['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'].includes(option)) {
661
- if (currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.length) {
661
+ if (currentFilterValue instanceof String ||
662
+ (currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.length)) {
662
663
  column.setFilterValue([]);
663
664
  setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
664
665
  }
665
666
  }
666
667
  else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'range' ||
667
668
  ['between', 'betweenInclusive', 'inNumberRange'].includes(option)) {
668
- column.setFilterValue(['', '']);
669
- setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
669
+ if (!(currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.every((v) => v === ''))) {
670
+ column.setFilterValue(['', '']);
671
+ setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
672
+ }
670
673
  }
671
674
  else {
672
675
  if (!['', undefined].includes(currentFilterValue)) {
@@ -1124,7 +1127,7 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
1124
1127
  setEditingRow(Object.assign({}, row));
1125
1128
  setAnchorEl(null);
1126
1129
  };
1127
- return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
1130
+ return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (renderRowActions({ cell, row, table })) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
1128
1131
  (enableEditing instanceof Function
1129
1132
  ? enableEditing(row)
1130
1133
  : enableEditing) ? (React__default["default"].createElement(Tooltip__default["default"], { placement: "right", arrow: true, title: localization.edit },
@@ -1956,7 +1959,11 @@ const MRT_TableHeadCellSortLabel = ({ header, table, tableCellProps, }) => {
1956
1959
  transform: (tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.align) !== 'right'
1957
1960
  ? 'translateX(-0.5ch)'
1958
1961
  : undefined,
1959
- }, IconComponent: ArrowDownwardIcon })));
1962
+ }, IconComponent: ArrowDownwardIcon, onClick: (e) => {
1963
+ var _a;
1964
+ e.stopPropagation();
1965
+ (_a = header.column.getToggleSortingHandler()) === null || _a === void 0 ? void 0 : _a(e);
1966
+ } })));
1960
1967
  };
1961
1968
 
1962
1969
  const MRT_TableHeadCell = ({ header, table }) => {
@@ -2747,7 +2754,7 @@ const MRT_Table = ({ table }) => {
2747
2754
  colSizes[`--col-${parseCSSVarId(header.column.id)}-size`] = colSize;
2748
2755
  }
2749
2756
  return colSizes;
2750
- }, [columns, columnSizing, columnSizingInfo]);
2757
+ }, [columns, columnSizing, columnSizingInfo, columnVisibility]);
2751
2758
  //get first 16 column widths and average them
2752
2759
  const averageColumnWidth = React.useMemo(() => {
2753
2760
  var _a, _b, _c, _d;
@@ -3029,6 +3036,11 @@ const MRT_TableRoot = (props) => {
3029
3036
  tablePaperRef,
3030
3037
  topToolbarRef,
3031
3038
  }, setColumnFilterFns: (_0 = props.onColumnFilterFnsChange) !== null && _0 !== void 0 ? _0 : setColumnFilterFns, setDensity: (_1 = props.onDensityChange) !== null && _1 !== void 0 ? _1 : setDensity, setDraggingColumn: (_2 = props.onDraggingColumnChange) !== null && _2 !== void 0 ? _2 : setDraggingColumn, setDraggingRow: (_3 = props.onDraggingRowChange) !== null && _3 !== void 0 ? _3 : setDraggingRow, setEditingCell: (_4 = props.onEditingCellChange) !== null && _4 !== void 0 ? _4 : setEditingCell, setEditingRow: (_5 = props.onEditingRowChange) !== null && _5 !== void 0 ? _5 : setEditingRow, setGlobalFilterFn: (_6 = props.onGlobalFilterFnChange) !== null && _6 !== void 0 ? _6 : setGlobalFilterFn, setHoveredColumn: (_7 = props.onHoveredColumnChange) !== null && _7 !== void 0 ? _7 : setHoveredColumn, setHoveredRow: (_8 = props.onHoveredRowChange) !== null && _8 !== void 0 ? _8 : setHoveredRow, setIsFullScreen: (_9 = props.onIsFullScreenChange) !== null && _9 !== void 0 ? _9 : setIsFullScreen, setShowAlertBanner: (_10 = props.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner, setShowFilters: (_11 = props.onShowFiltersChange) !== null && _11 !== void 0 ? _11 : setShowFilters, setShowGlobalFilter: (_12 = props.onShowGlobalFilterChange) !== null && _12 !== void 0 ? _12 : setShowGlobalFilter, setShowToolbarDropZone: (_13 = props.onShowToolbarDropZoneChange) !== null && _13 !== void 0 ? _13 : setShowToolbarDropZone });
3039
+ if (props.tableFeatures) {
3040
+ props.tableFeatures.forEach((feature) => {
3041
+ Object.assign(table, feature(table));
3042
+ });
3043
+ }
3032
3044
  if (props.tableInstanceRef) {
3033
3045
  props.tableInstanceRef.current = table;
3034
3046
  }