material-react-table 0.38.3 → 0.40.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 (50) hide show
  1. package/dist/cjs/MaterialReactTable.d.ts +26 -4
  2. package/dist/cjs/body/MRT_EditRowModal.d.ts +1 -0
  3. package/dist/cjs/body/MRT_TableBodyRow.d.ts +1 -0
  4. package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +1 -0
  5. package/dist/cjs/buttons/MRT_EditActionButtons.d.ts +1 -0
  6. package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +1 -0
  7. package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +1 -0
  8. package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +1 -0
  9. package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +1 -0
  10. package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +1 -0
  11. package/dist/cjs/column.utils.d.ts +1 -0
  12. package/dist/cjs/index.js +68 -43
  13. package/dist/cjs/index.js.map +1 -1
  14. package/dist/cjs/inputs/MRT_EditCellTextField.d.ts +1 -0
  15. package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +1 -0
  16. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -7
  17. package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +1 -0
  18. package/dist/cjs/table/MRT_TableRoot.d.ts +1 -0
  19. package/dist/esm/MaterialReactTable.d.ts +26 -4
  20. package/dist/esm/body/MRT_EditRowModal.d.ts +1 -0
  21. package/dist/esm/body/MRT_TableBodyRow.d.ts +1 -0
  22. package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +1 -0
  23. package/dist/esm/buttons/MRT_EditActionButtons.d.ts +1 -0
  24. package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +1 -0
  25. package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +1 -0
  26. package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +1 -0
  27. package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +1 -0
  28. package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +1 -0
  29. package/dist/esm/column.utils.d.ts +1 -0
  30. package/dist/esm/inputs/MRT_EditCellTextField.d.ts +1 -0
  31. package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +1 -0
  32. package/dist/esm/material-react-table.esm.js +68 -43
  33. package/dist/esm/material-react-table.esm.js.map +1 -1
  34. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -7
  35. package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +1 -0
  36. package/dist/esm/table/MRT_TableRoot.d.ts +1 -0
  37. package/dist/index.d.ts +28 -5
  38. package/package.json +2 -2
  39. package/src/MaterialReactTable.tsx +42 -7
  40. package/src/body/MRT_TableBody.tsx +1 -0
  41. package/src/body/MRT_TableBodyCell.tsx +6 -4
  42. package/src/body/MRT_TableBodyCellValue.tsx +10 -11
  43. package/src/body/MRT_TableBodyRow.tsx +14 -3
  44. package/src/column.utils.ts +1 -1
  45. package/src/head/MRT_TableHeadCellFilterContainer.tsx +3 -2
  46. package/src/inputs/MRT_FilterTextField.tsx +5 -8
  47. package/src/inputs/MRT_GlobalFilterTextField.tsx +2 -2
  48. package/src/menus/MRT_ColumnActionMenu.tsx +3 -3
  49. package/src/menus/MRT_FilterOptionMenu.tsx +50 -33
  50. package/src/table/MRT_TableRoot.tsx +18 -13
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_Cell, MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  cell: MRT_Cell<TData>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  table: MRT_TableInstance<TData>;
@@ -1,11 +1,7 @@
1
- import type { MRT_Header, MRT_TableInstance } from '..';
1
+ /// <reference types="react" />
2
+ import type { MRT_Header, MRT_InternalFilterOption, MRT_TableInstance } from '..';
2
3
  import { MRT_Localization } from '../localization';
3
- export declare const internalFilterOptions: (localization: MRT_Localization) => {
4
- option: string;
5
- symbol: string;
6
- label: string;
7
- divider: boolean;
8
- }[];
4
+ export declare const mrtFilterOptions: (localization: MRT_Localization) => MRT_InternalFilterOption[];
9
5
  interface Props<TData extends Record<string, any> = {}> {
10
6
  anchorEl: HTMLElement | null;
11
7
  header?: MRT_Header;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  anchorEl: HTMLElement | null;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  import type { MaterialReactTableProps } from '..';
2
3
  export declare const MRT_TableRoot: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => JSX.Element;
@@ -154,7 +154,7 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
154
154
  enableClickToCopy?: boolean;
155
155
  enableColumnActions?: boolean;
156
156
  enableColumnDragging?: boolean;
157
- enableColumnFilterChangeMode?: boolean;
157
+ enableColumnFilterModes?: boolean;
158
158
  enableColumnOrdering?: boolean;
159
159
  enableEditing?: boolean;
160
160
  filterFn?: MRT_FilterFn<TData>;
@@ -216,6 +216,10 @@ 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>;
221
+ column: MRT_Column<TData>;
222
+ }) => ReactNode[];
219
223
  sortingFn?: MRT_SortingFn;
220
224
  };
221
225
  export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id'> & {
@@ -249,6 +253,12 @@ export declare type MRT_SortingOption = LiteralUnion<string & keyof typeof MRT_S
249
253
  export declare type MRT_SortingFn<TData extends Record<string, any> = {}> = SortingFn<TData> | MRT_SortingOption;
250
254
  export declare type MRT_FilterOption = LiteralUnion<string & keyof typeof MRT_FilterFns>;
251
255
  export declare type MRT_FilterFn<TData extends Record<string, any> = {}> = FilterFn<TData> | MRT_FilterOption;
256
+ export declare type MRT_InternalFilterOption = {
257
+ option: string;
258
+ symbol: string;
259
+ label: string;
260
+ divider: boolean;
261
+ };
252
262
  export declare type MRT_DisplayColumnIds = 'mrt-row-actions' | 'mrt-row-drag' | 'mrt-row-expand' | 'mrt-row-numbers' | 'mrt-row-select';
253
263
  /**
254
264
  * `columns` and `data` props are the only required props, but there are over 150 other optional props.
@@ -272,13 +282,13 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
272
282
  enableClickToCopy?: boolean;
273
283
  enableColumnActions?: boolean;
274
284
  enableColumnDragging?: boolean;
275
- enableColumnFilterChangeMode?: boolean;
285
+ enableColumnFilterModes?: boolean;
276
286
  enableColumnOrdering?: boolean;
277
287
  enableDensityToggle?: boolean;
278
288
  enableEditing?: boolean;
279
289
  enableExpandAll?: boolean;
280
290
  enableFullScreenToggle?: boolean;
281
- enableGlobalFilterChangeMode?: boolean;
291
+ enableGlobalFilterModes?: boolean;
282
292
  enableGlobalFilterRankedResults?: boolean;
283
293
  enablePagination?: boolean;
284
294
  enableRowActions?: boolean;
@@ -460,10 +470,21 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
460
470
  renderBottomToolbarCustomActions?: ({ table, }: {
461
471
  table: MRT_TableInstance<TData>;
462
472
  }) => ReactNode;
473
+ renderColumnFilterModeMenuItems?: ({ column, internalFilterOptions, onSelectFilterMode, table, }: {
474
+ column: MRT_Column<TData>;
475
+ internalFilterOptions: MRT_InternalFilterOption[];
476
+ onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
477
+ table: MRT_TableInstance<TData>;
478
+ }) => ReactNode;
463
479
  renderDetailPanel?: ({ row, table, }: {
464
480
  row: MRT_Row<TData>;
465
481
  table: MRT_TableInstance<TData>;
466
482
  }) => ReactNode;
483
+ renderGlobalFilterModeMenuItems?: ({ internalFilterOptions, onSelectFilterMode, table, }: {
484
+ internalFilterOptions: MRT_InternalFilterOption[];
485
+ onSelectFilterMode: (filterMode: MRT_FilterOption) => void;
486
+ table: MRT_TableInstance<TData>;
487
+ }) => ReactNode[];
467
488
  renderRowActionMenuItems?: ({ closeMenu, row, table, }: {
468
489
  closeMenu: () => void;
469
490
  row: MRT_Row<TData>;
@@ -484,9 +505,10 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
484
505
  rowNumberMode?: 'original' | 'static';
485
506
  selectAllMode?: 'all' | 'page';
486
507
  state?: Partial<MRT_TableState<TData>>;
508
+ tableInstanceRef?: MutableRefObject<MRT_TableInstance<TData> | null>;
487
509
  virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>> | (({ table, }: {
488
510
  table: MRT_TableInstance<TData>;
489
511
  }) => Partial<VirtualizerOptions<HTMLDivElement>>);
490
512
  };
491
- declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
513
+ declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilterModes, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterModes, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
492
514
  export default _default;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_Row, MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  open: boolean;
@@ -4,6 +4,7 @@ interface Props {
4
4
  row: MRT_Row;
5
5
  rowIndex: number;
6
6
  table: MRT_TableInstance;
7
+ virtualRow?: any;
7
8
  }
8
9
  export declare const MRT_TableBodyRow: FC<Props>;
9
10
  export {};
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_Column, MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  column: MRT_Column<TData>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_Row, MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  row: MRT_Row<TData>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconButtonProps } from '@mui/material';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconButtonProps } from '@mui/material';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconButtonProps } from '@mui/material';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconButtonProps } from '@mui/material';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { IconButtonProps } from '@mui/material';
2
3
  import { MRT_TableInstance } from '..';
3
4
  interface Props<TData extends Record<string, any> = {}> extends IconButtonProps {
@@ -3,6 +3,7 @@ import { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDe
3
3
  import { MRT_FilterFns } from './filterFns';
4
4
  import { MRT_SortingFns } from './sortingFns';
5
5
  export declare const defaultDisplayColumnDefOptions: Partial<MRT_ColumnDef<{}>>;
6
+ export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string;
6
7
  export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
7
8
  export declare const prepareColumns: <TData extends Record<string, any> = {}>(columnDefs: MRT_ColumnDef<TData>[], columnFilterFns: {
8
9
  [key: string]: MRT_FilterOption;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { MRT_Cell, MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  cell: MRT_Cell<TData>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { MRT_TableInstance } from '..';
2
3
  interface Props<TData extends Record<string, any> = {}> {
3
4
  table: MRT_TableInstance<TData>;
@@ -292,7 +292,7 @@ const MRT_ExpandButton = ({ row, table }) => {
292
292
  } })))));
293
293
  };
294
294
 
295
- const internalFilterOptions = (localization) => [
295
+ const mrtFilterOptions = (localization) => [
296
296
  {
297
297
  option: 'fuzzy',
298
298
  symbol: '≈',
@@ -379,19 +379,19 @@ const internalFilterOptions = (localization) => [
379
379
  },
380
380
  ];
381
381
  const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table, }) => {
382
- var _a;
383
- const { getState, options: { enabledGlobalFilterOptions, columnFilterModeOptions, localization, }, setColumnFilterFns, setGlobalFilterFn, } = table;
384
- const { columnFilterFns, globalFilterFn, density } = getState();
382
+ var _a, _b;
383
+ const { getState, options: { enabledGlobalFilterOptions, columnFilterModeOptions, localization, renderColumnFilterModeMenuItems, renderGlobalFilterModeMenuItems, }, setColumnFilterFns, setGlobalFilterFn, } = table;
384
+ const { globalFilterFn, density } = getState();
385
385
  const { column } = header !== null && header !== void 0 ? header : {};
386
386
  const { columnDef } = column !== null && column !== void 0 ? column : {};
387
387
  const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
388
- const filterOptions = useMemo(() => internalFilterOptions(localization).filter((filterOption) => columnDef
388
+ const internalFilterOptions = useMemo(() => mrtFilterOptions(localization).filter((filterOption) => columnDef
389
389
  ? allowedColumnFilterOptions === undefined ||
390
390
  (allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.includes(filterOption.option))
391
391
  : (!enabledGlobalFilterOptions ||
392
392
  enabledGlobalFilterOptions.includes(filterOption.option)) &&
393
- ['fuzzy', 'contains'].includes(filterOption.option)), []);
394
- const handleSelectFilterType = (option) => {
393
+ ['fuzzy', 'contains', 'startsWith'].includes(filterOption.option)), []);
394
+ const handleSelectFilterMode = (option) => {
395
395
  if (header && column) {
396
396
  setColumnFilterFns((prev) => (Object.assign(Object.assign({}, prev), { [header.id]: option })));
397
397
  if (['empty', 'notEmpty'].includes(option)) {
@@ -410,15 +410,26 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table,
410
410
  setAnchorEl(null);
411
411
  onSelect === null || onSelect === void 0 ? void 0 : onSelect();
412
412
  };
413
- const filterOption = !!header ? columnFilterFns[header.id] : globalFilterFn;
413
+ const filterOption = !!header && columnDef ? columnDef._filterFn : globalFilterFn;
414
414
  return (React.createElement(Menu, { anchorEl: anchorEl, anchorOrigin: { vertical: 'center', horizontal: 'right' }, onClose: () => setAnchorEl(null), open: !!anchorEl, MenuListProps: {
415
415
  dense: density === 'compact',
416
- } }, filterOptions.map(({ option, label, divider, symbol }, index) => (React.createElement(MenuItem, { divider: divider, key: index, onClick: () => handleSelectFilterType(option), selected: option === filterOption, sx: {
417
- py: '6px',
418
- my: 0,
416
+ } }, (_b = (header && column
417
+ ? renderColumnFilterModeMenuItems === null || renderColumnFilterModeMenuItems === void 0 ? void 0 : renderColumnFilterModeMenuItems({
418
+ column: column,
419
+ internalFilterOptions,
420
+ onSelectFilterMode: handleSelectFilterMode,
421
+ table,
422
+ })
423
+ : renderGlobalFilterModeMenuItems === null || renderGlobalFilterModeMenuItems === void 0 ? void 0 : renderGlobalFilterModeMenuItems({
424
+ internalFilterOptions,
425
+ onSelectFilterMode: handleSelectFilterMode,
426
+ table,
427
+ }))) !== 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: {
419
428
  alignItems: 'center',
420
429
  display: 'flex',
421
430
  gap: '2ch',
431
+ my: 0,
432
+ py: '6px',
422
433
  }, value: option },
423
434
  React.createElement(Box, { sx: { fontSize: '1.25rem', width: '2ch' } }, symbol),
424
435
  label)))));
@@ -706,7 +717,7 @@ const commonListItemStyles = {
706
717
  };
707
718
  const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
708
719
  var _a, _b, _c, _d, _e, _f, _g;
709
- const { getState, toggleAllColumnsVisible, setColumnOrder, options: { enableColumnFilterChangeMode, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, columnFilterModeOptions, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, }, refs: { filterInputRefs }, setShowFilters, } = table;
720
+ const { getState, toggleAllColumnsVisible, setColumnOrder, options: { enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, columnFilterModeOptions, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, }, refs: { filterInputRefs }, setShowFilters, } = table;
710
721
  const { column } = header;
711
722
  const { columnDef } = column;
712
723
  const { columnSizing, columnVisibility, density } = getState();
@@ -764,8 +775,8 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
764
775
  };
765
776
  const isSelectFilter = !!columnDef.filterSelectOptions;
766
777
  const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
767
- const showFilterModeSubMenu = enableColumnFilterChangeMode &&
768
- columnDef.enableColumnFilterChangeMode !== false &&
778
+ const showFilterModeSubMenu = enableColumnFilterModes &&
779
+ columnDef.enableColumnFilterModes !== false &&
769
780
  !isSelectFilter &&
770
781
  (allowedColumnFilterOptions === undefined ||
771
782
  !!(allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.length));
@@ -967,7 +978,7 @@ const MRT_SelectCheckbox = ({ row, selectAll, table }) => {
967
978
 
968
979
  const MRT_GlobalFilterTextField = ({ table, }) => {
969
980
  var _a;
970
- const { getState, setGlobalFilter, options: { enableGlobalFilterChangeMode, icons: { SearchIcon, CloseIcon }, localization, muiSearchTextFieldProps, }, refs: { searchInputRef }, } = table;
981
+ const { getState, setGlobalFilter, options: { enableGlobalFilterModes, icons: { SearchIcon, CloseIcon }, localization, muiSearchTextFieldProps, }, refs: { searchInputRef }, } = table;
971
982
  const { globalFilter, showGlobalFilter } = getState();
972
983
  const [anchorEl, setAnchorEl] = useState(null);
973
984
  const [searchValue, setSearchValue] = useState(globalFilter !== null && globalFilter !== void 0 ? globalFilter : '');
@@ -991,7 +1002,7 @@ const MRT_GlobalFilterTextField = ({ table, }) => {
991
1002
  : muiSearchTextFieldProps;
992
1003
  return (React.createElement(Collapse, { in: showGlobalFilter, orientation: "horizontal" },
993
1004
  React.createElement(TextField, Object.assign({ placeholder: localization.search, onChange: handleChange, value: searchValue !== null && searchValue !== void 0 ? searchValue : '', variant: "standard", InputProps: {
994
- startAdornment: enableGlobalFilterChangeMode ? (React.createElement(InputAdornment, { position: "start" },
1005
+ startAdornment: enableGlobalFilterModes ? (React.createElement(InputAdornment, { position: "start" },
995
1006
  React.createElement(Tooltip, { arrow: true, title: localization.changeSearchMode },
996
1007
  React.createElement(IconButton, { "aria-label": localization.changeSearchMode, onClick: handleGlobalFilterMenuOpen, size: "small", sx: { height: '1.75rem', width: '1.75rem' } },
997
1008
  React.createElement(SearchIcon, null))))) : (React.createElement(SearchIcon, { style: { marginRight: '4px' } })),
@@ -1302,10 +1313,9 @@ const MRT_TableHeadCellColumnActionsButton = ({ header, table, }) => {
1302
1313
 
1303
1314
  const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1304
1315
  var _a, _b, _c, _d, _e, _f, _g, _h;
1305
- const { getState, options: { enableColumnFilterChangeMode, columnFilterModeOptions, icons: { FilterListIcon, CloseIcon }, localization, muiTableHeadCellFilterTextFieldProps, }, refs: { filterInputRefs }, setColumnFilterFns, } = table;
1316
+ const { options: { enableColumnFilterModes, columnFilterModeOptions, icons: { FilterListIcon, CloseIcon }, localization, muiTableHeadCellFilterTextFieldProps, }, refs: { filterInputRefs }, setColumnFilterFns, } = table;
1306
1317
  const { column } = header;
1307
1318
  const { columnDef } = column;
1308
- const { columnFilterFns } = getState();
1309
1319
  const mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function
1310
1320
  ? muiTableHeadCellFilterTextFieldProps({
1311
1321
  column,
@@ -1326,7 +1336,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1326
1336
  const isMultiSelectFilter = columnDef.filterVariant === 'multi-select';
1327
1337
  const isTextboxFilter = columnDef.filterVariant === 'text' ||
1328
1338
  (!isSelectFilter && !isMultiSelectFilter);
1329
- const currentFilterOption = columnFilterFns === null || columnFilterFns === void 0 ? void 0 : columnFilterFns[header.id];
1339
+ const currentFilterOption = columnDef._filterFn;
1330
1340
  const filterChipLabel = ['empty', 'notEmpty'].includes(currentFilterOption)
1331
1341
  ? //@ts-ignore
1332
1342
  localization[`filter${((_b = (_a = currentFilterOption === null || currentFilterOption === void 0 ? void 0 : currentFilterOption.charAt) === null || _a === void 0 ? void 0 : _a.call(currentFilterOption, 0)) === null || _b === void 0 ? void 0 : _b.toUpperCase()) +
@@ -1340,8 +1350,8 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1340
1350
  ? localization.max
1341
1351
  : '';
1342
1352
  const allowedColumnFilterOptions = (_d = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _d !== void 0 ? _d : columnFilterModeOptions;
1343
- const showChangeModeButton = enableColumnFilterChangeMode &&
1344
- columnDef.enableColumnFilterChangeMode !== false &&
1353
+ const showChangeModeButton = enableColumnFilterModes &&
1354
+ columnDef.enableColumnFilterModes !== false &&
1345
1355
  !rangeFilterIndex &&
1346
1356
  (allowedColumnFilterOptions === undefined ||
1347
1357
  !!(allowedColumnFilterOptions === null || allowedColumnFilterOptions === void 0 ? void 0 : allowedColumnFilterOptions.length));
@@ -1448,7 +1458,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
1448
1458
  if (textFieldProps.inputRef) {
1449
1459
  textFieldProps.inputRef = inputRef;
1450
1460
  }
1451
- }, sx: (theme) => (Object.assign({ p: 0, minWidth: !filterChipLabel ? '150px' : 'auto', width: '100%', '& .MuiSelect-icon': {
1461
+ }, sx: (theme) => (Object.assign({ p: 0, minWidth: !filterChipLabel ? '120px' : 'auto', width: '100%', '& .MuiSelect-icon': {
1452
1462
  mr: '1.5rem',
1453
1463
  } }, ((textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.sx) instanceof Function
1454
1464
  ? textFieldProps.sx(theme)
@@ -1482,9 +1492,10 @@ const MRT_FilterRangeFields = ({ header, table }) => {
1482
1492
 
1483
1493
  const MRT_TableHeadCellFilterContainer = ({ header, table, }) => {
1484
1494
  const { getState } = table;
1485
- const { columnFilterFns, showColumnFilters } = getState();
1495
+ const { showColumnFilters } = getState();
1486
1496
  const { column } = header;
1487
- return (React.createElement(Collapse, { in: showColumnFilters, mountOnEnter: true, unmountOnExit: true }, ['between', 'betweenInclusive', 'inNumberRange'].includes(columnFilterFns[column.id]) ? (React.createElement(MRT_FilterRangeFields, { header: header, table: table })) : (React.createElement(MRT_FilterTextField, { header: header, table: table }))));
1497
+ const { columnDef } = column;
1498
+ return (React.createElement(Collapse, { in: showColumnFilters, mountOnEnter: true, unmountOnExit: true }, ['between', 'betweenInclusive', 'inNumberRange'].includes(columnDef._filterFn) ? (React.createElement(MRT_FilterRangeFields, { header: header, table: table })) : (React.createElement(MRT_FilterTextField, { header: header, table: table }))));
1488
1499
  };
1489
1500
 
1490
1501
  const MRT_TableHeadCellFilterLabel = ({ header, table }) => {
@@ -1867,11 +1878,11 @@ const MRT_TableBodyRowGrabHandle = ({ cell, rowRef, table, }) => {
1867
1878
  };
1868
1879
 
1869
1880
  const MRT_TableBodyCellValue = ({ cell, table }) => {
1870
- var _a, _b, _c, _d;
1881
+ var _a, _b;
1871
1882
  const { column, row } = cell;
1872
1883
  const { columnDef } = column;
1873
- return (React.createElement(React.Fragment, null, cell.getIsAggregated() && column.columnDef.aggregationFn
1874
- ? (_a = columnDef.AggregatedCell) === null || _a === void 0 ? void 0 : _a.call(columnDef, {
1884
+ return (React.createElement(React.Fragment, null, cell.getIsAggregated() && columnDef.AggregatedCell
1885
+ ? columnDef.AggregatedCell({
1875
1886
  cell,
1876
1887
  column,
1877
1888
  row,
@@ -1879,14 +1890,14 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
1879
1890
  })
1880
1891
  : row.getIsGrouped() && !cell.getIsGrouped()
1881
1892
  ? null
1882
- : (cell.getIsGrouped() &&
1883
- ((_b = columnDef.GroupedCell) === null || _b === void 0 ? void 0 : _b.call(columnDef, {
1893
+ : cell.getIsGrouped() && columnDef.GroupedCell
1894
+ ? columnDef.GroupedCell({
1884
1895
  cell,
1885
1896
  column,
1886
1897
  row,
1887
1898
  table,
1888
- }))) ||
1889
- ((_d = (_c = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _c === void 0 ? void 0 : _c.call(columnDef, { cell, column, row, table })) !== null && _d !== void 0 ? _d : cell.renderValue())));
1899
+ })
1900
+ : (_b = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.Cell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table })) !== null && _b !== void 0 ? _b : cell.renderValue()));
1890
1901
  };
1891
1902
 
1892
1903
  const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
@@ -1918,7 +1929,9 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
1918
1929
  : Math.round(Math.random() * (column.getSize() - column.getSize() / 3) +
1919
1930
  column.getSize() / 3)
1920
1931
  : 100), [isLoading, showSkeletons]);
1921
- const handleDoubleClick = (_event) => {
1932
+ const handleDoubleClick = (event) => {
1933
+ var _a;
1934
+ (_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onDoubleClick) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
1922
1935
  if ((enableEditing || columnDef.enableEditing) &&
1923
1936
  columnDef.enableEditing !== false &&
1924
1937
  editingMode === 'cell') {
@@ -1942,7 +1955,9 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
1942
1955
  const getTotalRight = () => {
1943
1956
  return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150);
1944
1957
  };
1945
- const handleDragEnter = (_e) => {
1958
+ const handleDragEnter = (e) => {
1959
+ var _a;
1960
+ (_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onDragEnter) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, e);
1946
1961
  if (enableGrouping && (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === 'drop-zone') {
1947
1962
  setHoveredColumn(null);
1948
1963
  }
@@ -1968,7 +1983,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, rowIndex, rowRef, table, }) => {
1968
1983
  : undefined,
1969
1984
  }
1970
1985
  : undefined;
1971
- return (React.createElement(TableCell, Object.assign({ onDoubleClick: handleDoubleClick, onDragEnter: handleDragEnter }, tableCellProps, { sx: (theme) => {
1986
+ return (React.createElement(TableCell, Object.assign({}, tableCellProps, { onDragEnter: handleDragEnter, onDoubleClick: handleDoubleClick, sx: (theme) => {
1972
1987
  var _a;
1973
1988
  return (Object.assign(Object.assign(Object.assign({ backgroundColor: column.getIsPinned()
1974
1989
  ? alpha(lighten(theme.palette.background.default, 0.04), 0.95)
@@ -2042,7 +2057,7 @@ const MRT_TableDetailPanel = ({ row, table }) => {
2042
2057
  : tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx))) }), renderDetailPanel && (React.createElement(Collapse, { in: row.getIsExpanded() }, renderDetailPanel({ row, table }))))));
2043
2058
  };
2044
2059
 
2045
- const MRT_TableBodyRow = ({ row, rowIndex, table }) => {
2060
+ const MRT_TableBodyRow = ({ row, rowIndex, table, virtualRow, }) => {
2046
2061
  var _a, _b;
2047
2062
  const theme = useTheme();
2048
2063
  const { getIsSomeColumnsPinned, getState, options: { enableRowOrdering, muiTableBodyRowProps, renderDetailPanel }, setHoveredRow, } = table;
@@ -2067,7 +2082,12 @@ const MRT_TableBodyRow = ({ row, rowIndex, table }) => {
2067
2082
  }
2068
2083
  : undefined;
2069
2084
  return (React.createElement(React.Fragment, null,
2070
- React.createElement(TableRow, Object.assign({ onDragEnter: handleDragEnter, hover: true, selected: row.getIsSelected(), ref: rowRef }, tableRowProps, { sx: (theme) => (Object.assign(Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), opacity: (draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.id) === row.id || (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id ? 0.5 : 1, transition: 'all 0.2s ease-in-out', '&:hover td': {
2085
+ React.createElement(TableRow, Object.assign({ onDragEnter: handleDragEnter, hover: true, selected: row.getIsSelected(), ref: (node) => {
2086
+ rowRef.current = node;
2087
+ if (virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.measureRef) {
2088
+ virtualRow.measureRef = node;
2089
+ }
2090
+ } }, tableRowProps, { sx: (theme) => (Object.assign(Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), opacity: (draggingRow === null || draggingRow === void 0 ? void 0 : draggingRow.id) === row.id || (hoveredRow === null || hoveredRow === void 0 ? void 0 : hoveredRow.id) === row.id ? 0.5 : 1, transition: 'all 0.2s ease-in-out', '&:hover td': {
2071
2091
  backgroundColor: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false && getIsSomeColumnsPinned()
2072
2092
  ? theme.palette.mode === 'dark'
2073
2093
  ? `${lighten(theme.palette.background.default, 0.12)}`
@@ -2147,7 +2167,7 @@ const MRT_TableBody = ({ table, tableContainerRef }) => {
2147
2167
  const row = enableRowVirtualization
2148
2168
  ? rows[rowOrVirtualRow.index]
2149
2169
  : rowOrVirtualRow;
2150
- return (React.createElement(MRT_TableBodyRow, { key: row.id, row: row, rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex, table: table }));
2170
+ return (React.createElement(MRT_TableBodyRow, { key: row.id, row: row, rowIndex: enableRowVirtualization ? rowOrVirtualRow.index : rowIndex, table: table, virtualRow: enableRowVirtualization ? rowOrVirtualRow : null }));
2151
2171
  }),
2152
2172
  enableRowVirtualization && paddingBottom > 0 && (React.createElement("tr", null,
2153
2173
  React.createElement("td", { style: { height: `${paddingBottom}px` } })))));
@@ -2325,11 +2345,11 @@ const MRT_TableRoot = (props) => {
2325
2345
  return initState;
2326
2346
  }, []);
2327
2347
  const [columnFilterFns, setColumnFilterFns] = useState(() => Object.assign({}, ...getAllLeafColumnDefs(props.columns).map((col) => {
2328
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
2348
+ var _a, _b, _c, _d;
2329
2349
  return ({
2330
- [(_d = (_b = (_a = col.id) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : (_c = col.accessorKey) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : '']: col.filterFn instanceof Function
2331
- ? (_e = col.filterFn.name) !== null && _e !== void 0 ? _e : 'custom'
2332
- : (_m = (_f = col.filterFn) !== null && _f !== void 0 ? _f : (_g = initialState === null || initialState === void 0 ? void 0 : initialState.columnFilterFns) === null || _g === void 0 ? void 0 : _g[(_l = (_j = (_h = col.id) === null || _h === void 0 ? void 0 : _h.toString()) !== null && _j !== void 0 ? _j : (_k = col.accessorKey) === null || _k === void 0 ? void 0 : _k.toString()) !== null && _l !== void 0 ? _l : '']) !== null && _m !== void 0 ? _m : getDefaultColumnFilterFn(col),
2350
+ [getColumnId(col)]: col.filterFn instanceof Function
2351
+ ? (_a = col.filterFn.name) !== null && _a !== void 0 ? _a : 'custom'
2352
+ : (_d = (_b = col.filterFn) !== null && _b !== void 0 ? _b : (_c = initialState === null || initialState === void 0 ? void 0 : initialState.columnFilterFns) === null || _c === void 0 ? void 0 : _c[getColumnId(col)]) !== null && _d !== void 0 ? _d : getDefaultColumnFilterFn(col),
2333
2353
  });
2334
2354
  })));
2335
2355
  const [columnOrder, setColumnOrder] = useState((_a = initialState.columnOrder) !== null && _a !== void 0 ? _a : []);
@@ -2419,6 +2439,11 @@ const MRT_TableRoot = (props) => {
2419
2439
  tableContainerRef,
2420
2440
  topToolbarRef,
2421
2441
  }, setColumnFilterFns: (_w = props.onFilterFnsChange) !== null && _w !== void 0 ? _w : setColumnFilterFns, setDensity: (_x = props.onDensityChange) !== null && _x !== void 0 ? _x : setDensity, setDraggingColumn: (_y = props.onDraggingColumnChange) !== null && _y !== void 0 ? _y : setDraggingColumn, setDraggingRow: (_z = props.onDraggingRowChange) !== null && _z !== void 0 ? _z : setDraggingRow, setEditingCell: (_0 = props.onEditingCellChange) !== null && _0 !== void 0 ? _0 : setEditingCell, setEditingRow: (_1 = props.onEditingRowChange) !== null && _1 !== void 0 ? _1 : setEditingRow, setGlobalFilterFn: (_2 = props.onGlobalFilterFnChange) !== null && _2 !== void 0 ? _2 : setGlobalFilterFn, setHoveredColumn: (_3 = props.onHoveredColumnChange) !== null && _3 !== void 0 ? _3 : setHoveredColumn, setHoveredRow: (_4 = props.onHoveredRowChange) !== null && _4 !== void 0 ? _4 : setHoveredRow, setIsFullScreen: (_5 = props.onIsFullScreenChange) !== null && _5 !== void 0 ? _5 : setIsFullScreen, setShowAlertBanner: (_6 = props.onShowAlertBannerChange) !== null && _6 !== void 0 ? _6 : setShowAlertBanner, setShowFilters: (_7 = props.onShowFiltersChange) !== null && _7 !== void 0 ? _7 : setShowFilters, setShowGlobalFilter: (_8 = props.onShowGlobalFilterChange) !== null && _8 !== void 0 ? _8 : setShowGlobalFilter });
2442
+ useEffect(() => {
2443
+ if (props.tableInstanceRef) {
2444
+ props.tableInstanceRef.current = table;
2445
+ }
2446
+ }, []);
2422
2447
  return (React.createElement(React.Fragment, null,
2423
2448
  React.createElement(Dialog, { PaperComponent: Box, TransitionComponent: Grow, disablePortal: true, fullScreen: true, keepMounted: false, onClose: () => setIsFullScreen(false), open: isFullScreen, transitionDuration: 400 },
2424
2449
  React.createElement(MRT_TablePaper, { table: table })),
@@ -2427,8 +2452,8 @@ const MRT_TableRoot = (props) => {
2427
2452
  };
2428
2453
 
2429
2454
  var MaterialReactTable = (_a) => {
2430
- var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilterChangeMode = false, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterChangeMode = false, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2431
- return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilterChangeMode: enableColumnFilterChangeMode, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterChangeMode: enableGlobalFilterChangeMode, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
2455
+ var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilterModes = false, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterModes = false, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilterModes", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterModes", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
2456
+ return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilterModes: enableColumnFilterModes, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterModes: enableGlobalFilterModes, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
2432
2457
  };
2433
2458
 
2434
2459
  export { MRT_CopyButton, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MaterialReactTable as default };