material-react-table-narender 2.13.27 → 2.13.30

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -236,6 +236,9 @@ declare const MRT_Default_Icons: {
236
236
  readonly SettingsBackupRestoreIcon: _mui_material_OverridableComponent.OverridableComponent<_mui_material.SvgIconTypeMap<{}, "svg">> & {
237
237
  muiName: string;
238
238
  };
239
+ readonly SettingsOutlinedIcon: _mui_material_OverridableComponent.OverridableComponent<_mui_material.SvgIconTypeMap<{}, "svg">> & {
240
+ muiName: string;
241
+ };
239
242
  };
240
243
  type MRT_Icons = Record<keyof typeof MRT_Default_Icons, any>;
241
244
 
@@ -448,6 +451,7 @@ type MRT_TableInstance<TData extends MRT_RowData> = Omit<Table<TData>, 'getAllCo
448
451
  setIsFullScreen: Dispatch<SetStateAction<boolean>>;
449
452
  setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
450
453
  setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
454
+ setShowToolBar: Dispatch<SetStateAction<boolean>>;
451
455
  setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
452
456
  setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
453
457
  setEnableKeyboardShortcuts: Dispatch<SetStateAction<boolean>>;
@@ -478,6 +482,7 @@ interface MRT_TableState<TData extends MRT_RowData> extends TableState {
478
482
  isSaving: boolean;
479
483
  showAlertBanner: boolean;
480
484
  showColumnFilters: boolean;
485
+ showToolBar: boolean;
481
486
  showGlobalFilter: boolean;
482
487
  showLoadingOverlay: boolean;
483
488
  showProgressBars: boolean;
@@ -1067,6 +1072,7 @@ interface MRT_TableOptions<TData extends MRT_RowData> extends Omit<Partial<Table
1067
1072
  onEnableKeyboardShortcutsChange?: OnChangeFn<boolean>;
1068
1073
  onShowAlertBannerChange?: OnChangeFn<boolean>;
1069
1074
  onShowColumnFiltersChange?: OnChangeFn<boolean>;
1075
+ onShowToolBarChange?: OnChangeFn<boolean>;
1070
1076
  onShowGlobalFilterChange?: OnChangeFn<boolean>;
1071
1077
  onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
1072
1078
  paginationDisplayMode?: 'custom' | 'default' | 'pages';
package/dist/index.esm.js CHANGED
@@ -49,6 +49,7 @@ import SyncAltIcon from '@mui/icons-material/SyncAlt';
49
49
  import ViewColumnIcon from '@mui/icons-material/ViewColumn';
50
50
  import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
51
51
  import SettingsBackupRestoreIcon from '@mui/icons-material/SettingsBackupRestore';
52
+ import SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined';
52
53
  import { defaultRangeExtractor, useVirtualizer } from '@tanstack/react-virtual';
53
54
  import Paper from '@mui/material/Paper';
54
55
  import { Button as Button$1, useTheme as useTheme$1 } from '@mui/material';
@@ -1371,7 +1372,8 @@ const MRT_Default_Icons = {
1371
1372
  SyncAltIcon,
1372
1373
  ViewColumnIcon,
1373
1374
  VisibilityOffIcon,
1374
- SettingsBackupRestoreIcon
1375
+ SettingsBackupRestoreIcon,
1376
+ SettingsOutlinedIcon
1375
1377
  };
1376
1378
 
1377
1379
  const MRT_Localization_EN = {
@@ -1693,7 +1695,7 @@ const useMRT_Effects = (table) => {
1693
1695
  * @returns the MRT table instance
1694
1696
  */
1695
1697
  const useMRT_TableInstance = (definedTableOptions) => {
1696
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12;
1698
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
1697
1699
  const lastSelectedRowId = useRef(null);
1698
1700
  const actionCellRef = useRef(null);
1699
1701
  const bottomToolbarRef = useRef(null);
@@ -1745,8 +1747,9 @@ const useMRT_TableInstance = (definedTableOptions) => {
1745
1747
  const [pagination, onPaginationChange] = useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.pagination) !== null && _r !== void 0 ? _r : { pageIndex: 0, pageSize: 10 });
1746
1748
  const [showAlertBanner, setShowAlertBanner] = useState((_s = initialState === null || initialState === void 0 ? void 0 : initialState.showAlertBanner) !== null && _s !== void 0 ? _s : false);
1747
1749
  const [showColumnFilters, setShowColumnFilters] = useState((_t = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _t !== void 0 ? _t : false);
1748
- const [showGlobalFilter, setShowGlobalFilter] = useState((_u = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _u !== void 0 ? _u : false);
1749
- const [showToolbarDropZone, setShowToolbarDropZone] = useState((_v = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _v !== void 0 ? _v : false);
1750
+ const [showToolBar, setShowToolBar] = useState((_u = initialState === null || initialState === void 0 ? void 0 : initialState.showToolBar) !== null && _u !== void 0 ? _u : false);
1751
+ const [showGlobalFilter, setShowGlobalFilter] = useState((_v = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _v !== void 0 ? _v : false);
1752
+ const [showToolbarDropZone, setShowToolbarDropZone] = useState((_w = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _w !== void 0 ? _w : false);
1750
1753
  definedTableOptions.state = Object.assign({ actionCell,
1751
1754
  columnFilterFns,
1752
1755
  columnOrder,
@@ -1766,6 +1769,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
1766
1769
  pagination,
1767
1770
  showAlertBanner,
1768
1771
  showColumnFilters,
1772
+ showToolBar,
1769
1773
  showGlobalFilter,
1770
1774
  showToolbarDropZone }, definedTableOptions.state);
1771
1775
  //The table options now include all state needed to help determine column visibility and order logic
@@ -1820,7 +1824,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
1820
1824
  const table = useReactTable(Object.assign(Object.assign({ onColumnOrderChange,
1821
1825
  onColumnSizingInfoChange,
1822
1826
  onGroupingChange,
1823
- onPaginationChange }, statefulTableOptions), { globalFilterFn: (_w = statefulTableOptions.filterFns) === null || _w === void 0 ? void 0 : _w[globalFilterFn !== null && globalFilterFn !== void 0 ? globalFilterFn : 'fuzzy'] }));
1827
+ onPaginationChange }, statefulTableOptions), { globalFilterFn: (_x = statefulTableOptions.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn !== null && globalFilterFn !== void 0 ? globalFilterFn : 'fuzzy'] }));
1824
1828
  table.refs = {
1825
1829
  actionCellRef,
1826
1830
  bottomToolbarRef,
@@ -1836,7 +1840,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
1836
1840
  topToolbarRef,
1837
1841
  };
1838
1842
  table.setActionCell =
1839
- (_x = statefulTableOptions.onActionCellChange) !== null && _x !== void 0 ? _x : setActionCell;
1843
+ (_y = statefulTableOptions.onActionCellChange) !== null && _y !== void 0 ? _y : setActionCell;
1840
1844
  table.setCreatingRow = (row) => {
1841
1845
  var _a, _b;
1842
1846
  let _row = row;
@@ -1846,34 +1850,36 @@ const useMRT_TableInstance = (definedTableOptions) => {
1846
1850
  (_b = (_a = statefulTableOptions === null || statefulTableOptions === void 0 ? void 0 : statefulTableOptions.onCreatingRowChange) === null || _a === void 0 ? void 0 : _a.call(statefulTableOptions, _row)) !== null && _b !== void 0 ? _b : _setCreatingRow(_row);
1847
1851
  };
1848
1852
  table.setColumnFilterFns =
1849
- (_y = statefulTableOptions.onColumnFilterFnsChange) !== null && _y !== void 0 ? _y : setColumnFilterFns;
1850
- table.setDensity = (_z = statefulTableOptions.onDensityChange) !== null && _z !== void 0 ? _z : setDensity;
1853
+ (_z = statefulTableOptions.onColumnFilterFnsChange) !== null && _z !== void 0 ? _z : setColumnFilterFns;
1854
+ table.setDensity = (_0 = statefulTableOptions.onDensityChange) !== null && _0 !== void 0 ? _0 : setDensity;
1851
1855
  table.setDraggingColumn =
1852
- (_0 = statefulTableOptions.onDraggingColumnChange) !== null && _0 !== void 0 ? _0 : setDraggingColumn;
1856
+ (_1 = statefulTableOptions.onDraggingColumnChange) !== null && _1 !== void 0 ? _1 : setDraggingColumn;
1853
1857
  table.setDraggingRow =
1854
- (_1 = statefulTableOptions.onDraggingRowChange) !== null && _1 !== void 0 ? _1 : setDraggingRow;
1858
+ (_2 = statefulTableOptions.onDraggingRowChange) !== null && _2 !== void 0 ? _2 : setDraggingRow;
1855
1859
  table.setEditingCell =
1856
- (_2 = statefulTableOptions.onEditingCellChange) !== null && _2 !== void 0 ? _2 : setEditingCell;
1860
+ (_3 = statefulTableOptions.onEditingCellChange) !== null && _3 !== void 0 ? _3 : setEditingCell;
1857
1861
  table.setEditingRow =
1858
- (_3 = statefulTableOptions.onEditingRowChange) !== null && _3 !== void 0 ? _3 : setEditingRow;
1862
+ (_4 = statefulTableOptions.onEditingRowChange) !== null && _4 !== void 0 ? _4 : setEditingRow;
1859
1863
  table.setGlobalFilterFn =
1860
- (_4 = statefulTableOptions.onGlobalFilterFnChange) !== null && _4 !== void 0 ? _4 : setGlobalFilterFn;
1864
+ (_5 = statefulTableOptions.onGlobalFilterFnChange) !== null && _5 !== void 0 ? _5 : setGlobalFilterFn;
1861
1865
  table.setHoveredColumn =
1862
- (_5 = statefulTableOptions.onHoveredColumnChange) !== null && _5 !== void 0 ? _5 : setHoveredColumn;
1866
+ (_6 = statefulTableOptions.onHoveredColumnChange) !== null && _6 !== void 0 ? _6 : setHoveredColumn;
1863
1867
  table.setHoveredRow =
1864
- (_6 = statefulTableOptions.onHoveredRowChange) !== null && _6 !== void 0 ? _6 : setHoveredRow;
1868
+ (_7 = statefulTableOptions.onHoveredRowChange) !== null && _7 !== void 0 ? _7 : setHoveredRow;
1865
1869
  table.setIsFullScreen =
1866
- (_7 = statefulTableOptions.onIsFullScreenChange) !== null && _7 !== void 0 ? _7 : setIsFullScreen;
1870
+ (_8 = statefulTableOptions.onIsFullScreenChange) !== null && _8 !== void 0 ? _8 : setIsFullScreen;
1867
1871
  table.setEnableKeyboardShortcuts =
1868
- (_8 = statefulTableOptions.onEnableKeyboardShortcutsChange) !== null && _8 !== void 0 ? _8 : setEnableKeyboardShortcuts;
1872
+ (_9 = statefulTableOptions.onEnableKeyboardShortcutsChange) !== null && _9 !== void 0 ? _9 : setEnableKeyboardShortcuts;
1869
1873
  table.setShowAlertBanner =
1870
- (_9 = statefulTableOptions.onShowAlertBannerChange) !== null && _9 !== void 0 ? _9 : setShowAlertBanner;
1874
+ (_10 = statefulTableOptions.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner;
1871
1875
  table.setShowColumnFilters =
1872
- (_10 = statefulTableOptions.onShowColumnFiltersChange) !== null && _10 !== void 0 ? _10 : setShowColumnFilters;
1876
+ (_11 = statefulTableOptions.onShowColumnFiltersChange) !== null && _11 !== void 0 ? _11 : setShowColumnFilters;
1877
+ table.setShowToolBar =
1878
+ (_12 = statefulTableOptions.onShowToolBarChange) !== null && _12 !== void 0 ? _12 : setShowToolBar;
1873
1879
  table.setShowGlobalFilter =
1874
- (_11 = statefulTableOptions.onShowGlobalFilterChange) !== null && _11 !== void 0 ? _11 : setShowGlobalFilter;
1880
+ (_13 = statefulTableOptions.onShowGlobalFilterChange) !== null && _13 !== void 0 ? _13 : setShowGlobalFilter;
1875
1881
  table.setShowToolbarDropZone =
1876
- (_12 = statefulTableOptions.onShowToolbarDropZoneChange) !== null && _12 !== void 0 ? _12 : setShowToolbarDropZone;
1882
+ (_14 = statefulTableOptions.onShowToolbarDropZoneChange) !== null && _14 !== void 0 ? _14 : setShowToolbarDropZone;
1877
1883
  useMRT_Effects(table);
1878
1884
  return table;
1879
1885
  };
@@ -2894,10 +2900,10 @@ const MRT_FilterOptionMenu = (_a) => {
2894
2900
  const MRT_ColumnActionMenu = (_a) => {
2895
2901
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
2896
2902
  var { anchorEl, header, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "header", "setAnchorEl", "table"]);
2897
- const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, }, localization, mrtTheme: { menuBackgroundColor }, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
2903
+ const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, SettingsOutlinedIcon }, localization, mrtTheme: { menuBackgroundColor }, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
2898
2904
  const { column } = header;
2899
2905
  const { columnDef } = column;
2900
- const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
2906
+ const { columnSizing, columnVisibility, density, showColumnFilters, showToolBar } = getState();
2901
2907
  const columnFilterValue = column.getFilterValue();
2902
2908
  const [filterMenuAnchorEl, setFilterMenuAnchorEl] = useState(null);
2903
2909
  const handleClearSort = () => {
@@ -3005,6 +3011,11 @@ const MRT_ColumnActionMenu = (_a) => {
3005
3011
  .length, icon: jsx(ViewColumnIcon, {}), label: (_h = localization.showAllColumns) === null || _h === void 0 ? void 0 : _h.replace('{column}', String(columnDef.header)), onClick: handleShowAllColumns, table: table }, 12),
3006
3012
  ]
3007
3013
  : []),
3014
+ // **Newly Added Menu Item for Toolbar Visibility**
3015
+ jsx(MRT_ActionMenuItem, { icon: jsx(SettingsOutlinedIcon, {}), label: showToolBar ? "Hide ToolBar" : "Show ToolBar", onClick: (e) => {
3016
+ e.stopPropagation();
3017
+ table.setShowToolBar(!showToolBar);
3018
+ }, table: table }, 13),
3008
3019
  ].filter(Boolean);
3009
3020
  return (jsx(Menu, Object.assign({ MenuListProps: {
3010
3021
  dense: density === 'compact',
@@ -3128,19 +3139,7 @@ const MRT_FilterTextField = (_a) => {
3128
3139
  });
3129
3140
  }
3130
3141
  else {
3131
- if (textFieldProps.type === "number") {
3132
- // column.setFilterValue(newValue === '' ? undefined : newValue);
3133
- debugger;
3134
- if (newValue === 0) {
3135
- column.setFilterValue("0");
3136
- }
3137
- else {
3138
- column.setFilterValue(newValue);
3139
- }
3140
- }
3141
- else {
3142
- column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
3143
- }
3142
+ column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
3144
3143
  }
3145
3144
  }, isTextboxFilter ? (manualFiltering ? 400 : 200) : 1), []);
3146
3145
  const handleChange = (newValue) => {
@@ -3178,6 +3177,8 @@ const MRT_FilterTextField = (_a) => {
3178
3177
  setFilterValue('');
3179
3178
  column.setFilterValue(undefined);
3180
3179
  }
3180
+ // focus on the input after clearing the filter
3181
+ // filterInputRefs.current[`${column.id}-${rangeFilterIndex ?? 0}`]?.focus();
3181
3182
  };
3182
3183
  const handleClearEmptyFilterChip = () => {
3183
3184
  setFilterValue('');
@@ -3556,7 +3557,7 @@ const MRT_TableHeadCell = (_a) => {
3556
3557
  const { getState, options: { columnFilterDisplayMode, columnResizeDirection, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableColumnPinning,
3557
3558
  // enableKeyboardShortcuts,
3558
3559
  enableGrouping, enableMultiSort, layoutMode, mrtTheme: { draggingBorderColor }, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
3559
- const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
3560
+ const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, showToolBar, } = getState();
3560
3561
  const { column } = header;
3561
3562
  const { columnDef } = column;
3562
3563
  const { columnDefType } = columnDef;