material-react-table 1.11.2 → 1.11.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.
@@ -33,6 +33,7 @@ type Prettify<T> = {
33
33
  } & {};
34
34
  type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
35
35
  export type MRT_DensityState = 'comfortable' | 'compact' | 'spacious';
36
+ export type MRT_FilterFnsState = Record<string, MRT_FilterOption>;
36
37
  export type { ColumnFiltersState as MRT_ColumnFiltersState, ColumnOrderState as MRT_ColumnOrderState, ColumnPinningState as MRT_ColumnPinningState, ColumnSizingInfoState as MRT_ColumnSizingInfoState, ColumnSizingState as MRT_ColumnSizingState, ExpandedState as MRT_ExpandedState, GroupingState as MRT_GroupingState, PaginationState as MRT_PaginationState, RowSelectionState as MRT_RowSelectionState, SortingState as MRT_SortingState, Updater as MRT_Updater, VirtualItem as MRT_VirtualItem, Virtualizer as MRT_Virtualizer, VirtualizerOptions as MRT_VirtualizerOptions, VisibilityState as MRT_VisibilityState, };
37
38
  export interface MRT_Localization {
38
39
  actions: string;
@@ -162,9 +163,7 @@ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Prettify
162
163
  tablePaperRef: MutableRefObject<HTMLDivElement>;
163
164
  topToolbarRef: MutableRefObject<HTMLDivElement>;
164
165
  };
165
- setColumnFilterFns: Dispatch<SetStateAction<{
166
- [key: string]: MRT_FilterOption;
167
- }>>;
166
+ setColumnFilterFns: Dispatch<SetStateAction<MRT_FilterFnsState>>;
168
167
  setDensity: Dispatch<SetStateAction<MRT_DensityState>>;
169
168
  setDraggingColumn: Dispatch<SetStateAction<MRT_Column<TData> | null>>;
170
169
  setDraggingRow: Dispatch<SetStateAction<MRT_Row<TData> | null>>;
@@ -184,7 +183,7 @@ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Prettify
184
183
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
185
184
  }>;
186
185
  export type MRT_TableState<TData extends Record<string, any> = {}> = Prettify<TableState & {
187
- columnFilterFns: Record<string, MRT_FilterOption>;
186
+ columnFilterFns: MRT_FilterFnsState;
188
187
  density: MRT_DensityState;
189
188
  draggingColumn: MRT_Column<TData> | null;
190
189
  draggingRow: MRT_Row<TData> | null;
@@ -0,0 +1,2 @@
1
+ import type { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_HU: MRT_Localization;
@@ -9,9 +9,10 @@ import { MRT_EditActionButtons } from './buttons/MRT_EditActionButtons';
9
9
  import { MRT_ExpandButton } from './buttons/MRT_ExpandButton';
10
10
  import { MRT_FilterOptionMenu } from './menus/MRT_FilterOptionMenu';
11
11
  import { MRT_FullScreenToggleButton } from './buttons/MRT_FullScreenToggleButton';
12
- import { MRT_GrabHandleButton } from './buttons/MRT_GrabHandleButton';
13
12
  import { MRT_GlobalFilterTextField } from './inputs/MRT_GlobalFilterTextField';
13
+ import { MRT_GrabHandleButton } from './buttons/MRT_GrabHandleButton';
14
14
  import { MRT_ShowHideColumnsButton } from './buttons/MRT_ShowHideColumnsButton';
15
+ import { MRT_TableHeadCellFilterContainer } from './head/MRT_TableHeadCellFilterContainer';
15
16
  import { MRT_TablePagination } from './toolbar/MRT_TablePagination';
16
17
  import { MRT_ToggleDensePaddingButton } from './buttons/MRT_ToggleDensePaddingButton';
17
18
  import { MRT_ToggleFiltersButton } from './buttons/MRT_ToggleFiltersButton';
@@ -21,4 +22,4 @@ import { MRT_ToolbarAlertBanner } from './toolbar/MRT_ToolbarAlertBanner';
21
22
  import { MRT_ToolbarDropZone } from './toolbar/MRT_ToolbarDropZone';
22
23
  import { MRT_ToolbarInternalButtons } from './toolbar/MRT_ToolbarInternalButtons';
23
24
  import { MRT_TopToolbar } from './toolbar/MRT_TopToolbar';
24
- export { MRT_BottomToolbar, MRT_CopyButton, MRT_EditActionButtons, MRT_ExpandButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GrabHandleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, };
25
+ export { MRT_BottomToolbar, MRT_CopyButton, MRT_EditActionButtons, MRT_ExpandButton, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_GrabHandleButton, MRT_ShowHideColumnsButton, MRT_TableHeadCellFilterContainer, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, };
@@ -236,7 +236,10 @@ const getIsFirstRightPinnedColumn = (column) => {
236
236
  return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
237
237
  };
238
238
  const getTotalRight = (table, column) => {
239
- return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 200);
239
+ return table
240
+ .getRightLeafHeaders()
241
+ .slice(column.getPinnedIndex() + 1)
242
+ .reduce((acc, col) => acc + col.getSize(), 0);
240
243
  };
241
244
  const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, }) => {
242
245
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
@@ -681,7 +684,7 @@ const commonListItemStyles = {
681
684
  };
682
685
  const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
683
686
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
684
- const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnSizingInfo, setShowColumnFilters, } = table;
687
+ const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, enableSortingRemoval, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnSizingInfo, setShowColumnFilters, } = table;
685
688
  const { column } = header;
686
689
  const { columnDef } = column;
687
690
  const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
@@ -751,23 +754,24 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
751
754
  column,
752
755
  table,
753
756
  })) !== null && _d !== void 0 ? _d : (enableSorting &&
754
- column.getCanSort() && [
755
- React.createElement(MenuItem, { disabled: !column.getIsSorted(), key: 0, onClick: handleClearSort, sx: commonMenuItemStyles },
756
- React.createElement(Box, { sx: commonListItemStyles },
757
- React.createElement(ListItemIcon, null,
758
- React.createElement(ClearAllIcon, null)),
759
- localization.clearSort)),
760
- React.createElement(MenuItem, { disabled: column.getIsSorted() === 'asc', key: 1, onClick: handleSortAsc, sx: commonMenuItemStyles },
761
- React.createElement(Box, { sx: commonListItemStyles },
762
- React.createElement(ListItemIcon, null,
763
- React.createElement(SortIcon, { style: { transform: 'rotate(180deg) scaleX(-1)' } })), (_e = localization.sortByColumnAsc) === null || _e === void 0 ? void 0 :
764
- _e.replace('{column}', String(columnDef.header)))),
765
- React.createElement(MenuItem, { divider: enableColumnFilters || enableGrouping || enableHiding, key: 2, disabled: column.getIsSorted() === 'desc', onClick: handleSortDesc, sx: commonMenuItemStyles },
766
- React.createElement(Box, { sx: commonListItemStyles },
767
- React.createElement(ListItemIcon, null,
768
- React.createElement(SortIcon, null)), (_f = localization.sortByColumnDesc) === null || _f === void 0 ? void 0 :
769
- _f.replace('{column}', String(columnDef.header)))),
770
- ]),
757
+ column.getCanSort() &&
758
+ [
759
+ enableSortingRemoval !== false && (React.createElement(MenuItem, { disabled: !column.getIsSorted(), key: 0, onClick: handleClearSort, sx: commonMenuItemStyles },
760
+ React.createElement(Box, { sx: commonListItemStyles },
761
+ React.createElement(ListItemIcon, null,
762
+ React.createElement(ClearAllIcon, null)),
763
+ localization.clearSort))),
764
+ React.createElement(MenuItem, { disabled: column.getIsSorted() === 'asc', key: 1, onClick: handleSortAsc, sx: commonMenuItemStyles },
765
+ React.createElement(Box, { sx: commonListItemStyles },
766
+ React.createElement(ListItemIcon, null,
767
+ React.createElement(SortIcon, { style: { transform: 'rotate(180deg) scaleX(-1)' } })), (_e = localization.sortByColumnAsc) === null || _e === void 0 ? void 0 :
768
+ _e.replace('{column}', String(columnDef.header)))),
769
+ React.createElement(MenuItem, { divider: enableColumnFilters || enableGrouping || enableHiding, key: 2, disabled: column.getIsSorted() === 'desc', onClick: handleSortDesc, sx: commonMenuItemStyles },
770
+ React.createElement(Box, { sx: commonListItemStyles },
771
+ React.createElement(ListItemIcon, null,
772
+ React.createElement(SortIcon, null)), (_f = localization.sortByColumnDesc) === null || _f === void 0 ? void 0 :
773
+ _f.replace('{column}', String(columnDef.header)))),
774
+ ].filter(Boolean)),
771
775
  enableColumnFilters &&
772
776
  column.getCanFilter() &&
773
777
  [
@@ -2487,9 +2491,7 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, row, row
2487
2491
  rowRef.current = node;
2488
2492
  measureElement === null || measureElement === void 0 ? void 0 : measureElement(node);
2489
2493
  }
2490
- } }, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), display: layoutMode === 'grid' ? 'flex' : 'table-row', 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, position: virtualRow ? 'absolute' : undefined, top: virtualRow ? 0 : undefined, transform: virtualRow
2491
- ? `translateY(${virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.start}px)`
2492
- : undefined, transition: virtualRow ? 'none' : 'all 150ms ease-in-out', width: '100%', '&:hover td': {
2494
+ } }, tableRowProps, { sx: (theme) => (Object.assign({ backgroundColor: lighten(theme.palette.background.default, 0.06), boxSizing: 'border-box', display: layoutMode === 'grid' ? 'flex' : 'table-row', 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, position: virtualRow ? 'absolute' : undefined, transition: virtualRow ? 'none' : 'all 150ms ease-in-out', top: virtualRow ? 0 : undefined, width: '100%', '&:hover td': {
2493
2495
  backgroundColor: (tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.hover) !== false
2494
2496
  ? row.getIsSelected()
2495
2497
  ? `${alpha(theme.palette.primary.main, 0.2)}`
@@ -2499,7 +2501,9 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, row, row
2499
2501
  : undefined,
2500
2502
  } }, ((tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx) instanceof Function
2501
2503
  ? tableRowProps.sx(theme)
2502
- : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))) }),
2504
+ : tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.sx))), style: Object.assign({ transform: virtualRow
2505
+ ? `translateY(${virtualRow === null || virtualRow === void 0 ? void 0 : virtualRow.start}px)`
2506
+ : undefined }, tableRowProps === null || tableRowProps === void 0 ? void 0 : tableRowProps.style) }),
2503
2507
  virtualPaddingLeft ? (React.createElement("td", { style: { display: 'flex', width: virtualPaddingLeft } })) : null,
2504
2508
  (virtualColumns !== null && virtualColumns !== void 0 ? virtualColumns : row.getVisibleCells()).map((cellOrVirtualCell) => {
2505
2509
  const cell = columnVirtualizer
@@ -2577,7 +2581,10 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
2577
2581
  pagination.pageSize,
2578
2582
  ]);
2579
2583
  const rowVirtualizer = enableRowVirtualization
2580
- ? useVirtualizer(Object.assign(Object.assign({ count: rows.length, estimateSize: () => density === 'compact' ? 37 : density === 'comfortable' ? 58 : 73, getScrollElement: () => tableContainerRef.current, measureElement: (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height, overscan: 4 }, vProps_old), vProps))
2584
+ ? useVirtualizer(Object.assign(Object.assign({ count: rows.length, estimateSize: () => density === 'compact' ? 37 : density === 'comfortable' ? 58 : 73, getScrollElement: () => tableContainerRef.current, measureElement: typeof window !== 'undefined' &&
2585
+ navigator.userAgent.indexOf('Firefox') === -1
2586
+ ? (element) => element === null || element === void 0 ? void 0 : element.getBoundingClientRect().height
2587
+ : undefined, overscan: 4 }, vProps_old), vProps))
2581
2588
  : undefined;
2582
2589
  if (rowVirtualizerInstanceRef && rowVirtualizer) {
2583
2590
  rowVirtualizerInstanceRef.current = rowVirtualizer;
@@ -3169,5 +3176,5 @@ const MaterialReactTable = (_a) => {
3169
3176
  return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilterMatchHighlighting: enableFilterMatchHighlighting, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, 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: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
3170
3177
  };
3171
3178
 
3172
- export { MRT_AggregationFns, MRT_BottomToolbar, MRT_CopyButton, MRT_EditActionButtons, MRT_ExpandButton, MRT_FilterFns, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_GrabHandleButton, MRT_ShowHideColumnsButton, MRT_SortingFns, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable as default };
3179
+ export { MRT_AggregationFns, MRT_BottomToolbar, MRT_CopyButton, MRT_EditActionButtons, MRT_ExpandButton, MRT_FilterFns, MRT_FilterOptionMenu, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_GrabHandleButton, MRT_ShowHideColumnsButton, MRT_SortingFns, MRT_TableHeadCellFilterContainer, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToggleRowActionMenuButton, MRT_ToolbarAlertBanner, MRT_ToolbarDropZone, MRT_ToolbarInternalButtons, MRT_TopToolbar, MaterialReactTable as default };
3173
3180
  //# sourceMappingURL=material-react-table.esm.js.map