material-react-table 0.40.3 → 0.40.4

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.
@@ -4,7 +4,7 @@ import { MRT_Localization } from '../localization';
4
4
  export declare const mrtFilterOptions: (localization: MRT_Localization) => MRT_InternalFilterOption[];
5
5
  interface Props<TData extends Record<string, any> = {}> {
6
6
  anchorEl: HTMLElement | null;
7
- header?: MRT_Header;
7
+ header?: MRT_Header<TData>;
8
8
  onSelect?: () => void;
9
9
  setAnchorEl: (anchorEl: HTMLElement | null) => void;
10
10
  table: MRT_TableInstance<TData>;
@@ -216,10 +216,12 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
216
216
  table: MRT_TableInstance<TData>;
217
217
  column: MRT_Column<TData>;
218
218
  }) => TableCellProps);
219
- renderColumnFilterModeMenuItems?: ({ table, column, }: {
220
- table: MRT_TableInstance<TData>;
219
+ renderColumnFilterModeMenuItems?: ({ column, internalFilterOptions, onSelectFilterMode, table, }: {
221
220
  column: MRT_Column<TData>;
222
- }) => ReactNode[];
221
+ internalFilterOptions: MRT_InternalFilterOption[];
222
+ onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
223
+ table: MRT_TableInstance<TData>;
224
+ }) => ReactNode;
223
225
  sortingFn?: MRT_SortingFn;
224
226
  };
225
227
  export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id'> & {
@@ -382,7 +382,7 @@ const mrtFilterOptions = (localization) => [
382
382
  },
383
383
  ];
384
384
  const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table, }) => {
385
- var _a, _b;
385
+ var _a, _b, _c, _d;
386
386
  const { getState, options: { enabledGlobalFilterOptions, columnFilterModeOptions, localization, renderColumnFilterModeMenuItems, renderGlobalFilterModeMenuItems, }, setColumnFilterFns, setGlobalFilterFn, } = table;
387
387
  const { globalFilterFn, density } = getState();
388
388
  const { column } = header !== null && header !== void 0 ? header : {};
@@ -416,8 +416,13 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table,
416
416
  const filterOption = !!header && columnDef ? columnDef._filterFn : globalFilterFn;
417
417
  return (React.createElement(Menu, { anchorEl: anchorEl, anchorOrigin: { vertical: 'center', horizontal: 'right' }, onClose: () => setAnchorEl(null), open: !!anchorEl, MenuListProps: {
418
418
  dense: density === 'compact',
419
- } }, (_b = (header && column
420
- ? renderColumnFilterModeMenuItems === null || renderColumnFilterModeMenuItems === void 0 ? void 0 : renderColumnFilterModeMenuItems({
419
+ } }, (_d = (header && column && columnDef
420
+ ? (_c = (_b = columnDef.renderColumnFilterModeMenuItems) === null || _b === void 0 ? void 0 : _b.call(columnDef, {
421
+ column: column,
422
+ internalFilterOptions,
423
+ onSelectFilterMode: handleSelectFilterMode,
424
+ table,
425
+ })) !== null && _c !== void 0 ? _c : renderColumnFilterModeMenuItems === null || renderColumnFilterModeMenuItems === void 0 ? void 0 : renderColumnFilterModeMenuItems({
421
426
  column: column,
422
427
  internalFilterOptions,
423
428
  onSelectFilterMode: handleSelectFilterMode,
@@ -427,7 +432,7 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table,
427
432
  internalFilterOptions,
428
433
  onSelectFilterMode: handleSelectFilterMode,
429
434
  table,
430
- }))) !== null && _b !== void 0 ? _b : internalFilterOptions.map(({ option, label, divider, symbol }, index) => (React.createElement(MenuItem, { divider: divider, key: index, onClick: () => handleSelectFilterMode(option), selected: option === filterOption, sx: {
435
+ }))) !== null && _d !== void 0 ? _d : internalFilterOptions.map(({ option, label, divider, symbol }, index) => (React.createElement(MenuItem, { divider: divider, key: index, onClick: () => handleSelectFilterMode(option), selected: option === filterOption, sx: {
431
436
  alignItems: 'center',
432
437
  display: 'flex',
433
438
  gap: '2ch',