material-react-table 0.16.0 → 0.16.1

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.
@@ -1,7 +1,7 @@
1
1
  import React, { useMemo, forwardRef, useState, useCallback, Fragment, useLayoutEffect, useEffect } from 'react';
2
2
  import { ArrowRight, Cancel, CheckBox, ClearAll, Close, DensityLarge, DensityMedium, DensitySmall, DragHandle, DynamicFeed, Edit, ExpandLess, ExpandMore, FilterAlt, FilterAltOff, FilterList, FilterListOff, FullscreenExit, Fullscreen, KeyboardDoubleArrowDown, MoreHoriz, MoreVert, PushPin, RestartAlt, Save, Search, SearchOff, Sort, ViewColumn, VisibilityOff } from '@mui/icons-material';
3
3
  import { sortingFns, createTable, filterFns, getCoreRowModel, getExpandedRowModel, getFacetedRowModel, getFilteredRowModel, getGroupedRowModel, getPaginationRowModel, getSortedRowModel, useTableInstance } from '@tanstack/react-table';
4
- import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, Grow, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
4
+ import { Tooltip, IconButton, Menu, MenuItem, Box, FormControlLabel, Switch, Typography, Button, Divider, ListItemIcon, Checkbox, debounce, Collapse, TextField, InputAdornment, TablePagination, Chip, Alert, LinearProgress, useMediaQuery, Toolbar, lighten, alpha, Grow, TableSortLabel, TableCell, TableRow, TableHead, darken, Skeleton, TableBody, TableFooter, Table, TableContainer, Paper, Dialog } from '@mui/material';
5
5
  import { rankItem, rankings, compareItems } from '@tanstack/match-sorter-utils';
6
6
  import { useDrop, useDrag, DndProvider } from 'react-dnd';
7
7
  import { HTML5Backend } from 'react-dnd-html5-backend';
@@ -100,11 +100,11 @@ var MRT_DefaultLocalization_EN = {
100
100
  sortedByColumnAsc: 'Sorted by {column} ascending',
101
101
  sortedByColumnDesc: 'Sorted by {column} descending',
102
102
  thenBy: ', then by ',
103
- to: 'to',
104
103
  toggleDensity: 'Toggle density',
105
104
  toggleFullScreen: 'Toggle full screen',
106
105
  toggleSelectAll: 'Toggle select all',
107
106
  toggleSelectRow: 'Toggle select row',
107
+ toggleVisibility: 'Toggle visibility',
108
108
  ungroupByColumn: 'Ungroup by {column}',
109
109
  unpin: 'Unpin',
110
110
  unpinAll: 'Unpin all',
@@ -653,6 +653,9 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
653
653
  var getState = instance.getState,
654
654
  _instance$options = instance.options,
655
655
  enableColumnOrdering = _instance$options.enableColumnOrdering,
656
+ enableHiding = _instance$options.enableHiding,
657
+ enablePinning = _instance$options.enablePinning,
658
+ localization = _instance$options.localization,
656
659
  onColumnVisibilityChanged = _instance$options.onColumnVisibilityChanged,
657
660
  setColumnOrder = instance.setColumnOrder;
658
661
 
@@ -723,15 +726,23 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
723
726
  flexWrap: 'nowrap',
724
727
  gap: '8px'
725
728
  }
726
- }, columnDefType !== 'group' && enableColumnOrdering && columnDef.enableColumnOrdering !== false && !allColumns.some(function (col) {
729
+ }, columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
727
730
  return col.columnDefType === 'group';
728
- }) && React.createElement(MRT_GrabHandleButton, {
731
+ }) && (columnDef.enableColumnOrdering !== false ? React.createElement(MRT_GrabHandleButton, {
729
732
  ref: dragRef,
730
733
  instance: instance
731
- }), !isSubMenu && column.getCanPin() && React.createElement(MRT_ColumnPinningButtons, {
734
+ }) : React.createElement(Box, {
735
+ sx: {
736
+ width: '28px'
737
+ }
738
+ })), enablePinning && !isSubMenu && (column.getCanPin() ? React.createElement(MRT_ColumnPinningButtons, {
732
739
  column: column,
733
740
  instance: instance
734
- }), React.createElement(FormControlLabel, {
741
+ }) : React.createElement(Box, {
742
+ sx: {
743
+ width: '70px'
744
+ }
745
+ })), enableHiding ? React.createElement(FormControlLabel, {
735
746
  componentsProps: {
736
747
  typography: {
737
748
  sx: {
@@ -741,13 +752,22 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
741
752
  }
742
753
  },
743
754
  checked: switchChecked,
744
- control: React.createElement(Switch, null),
755
+ control: React.createElement(Tooltip, {
756
+ arrow: true,
757
+ enterDelay: 1000,
758
+ enterNextDelay: 1000,
759
+ title: localization.toggleVisibility
760
+ }, React.createElement(Switch, null)),
745
761
  disabled: isSubMenu && switchChecked || !column.getCanHide() || column.getIsGrouped(),
746
762
  label: columnDef.header,
747
763
  onChange: function onChange() {
748
764
  return handleToggleColumnHidden(column);
749
765
  }
750
- }))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
766
+ }) : React.createElement(Typography, {
767
+ sx: {
768
+ alignSelf: 'center'
769
+ }
770
+ }, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
751
771
  return React.createElement(MRT_ShowHideColumnsMenuItems, {
752
772
  allColumns: allColumns,
753
773
  key: i + "-" + c.id,
@@ -1648,11 +1668,13 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1648
1668
  var instance = _ref.instance;
1649
1669
  var _instance$options = instance.options,
1650
1670
  enableColumnFilters = _instance$options.enableColumnFilters,
1671
+ enableColumnOrdering = _instance$options.enableColumnOrdering,
1651
1672
  enableDensityToggle = _instance$options.enableDensityToggle,
1652
1673
  enableFilters = _instance$options.enableFilters,
1653
1674
  enableFullScreenToggle = _instance$options.enableFullScreenToggle,
1654
1675
  enableGlobalFilter = _instance$options.enableGlobalFilter,
1655
1676
  enableHiding = _instance$options.enableHiding,
1677
+ enablePinning = _instance$options.enablePinning,
1656
1678
  positionGlobalFilter = _instance$options.positionGlobalFilter,
1657
1679
  renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
1658
1680
  return React.createElement(Box, {
@@ -1674,7 +1696,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
1674
1696
  instance: instance
1675
1697
  }), enableFilters && enableColumnFilters && React.createElement(MRT_ToggleFiltersButton, {
1676
1698
  instance: instance
1677
- }), enableHiding && React.createElement(MRT_ShowHideColumnsButton, {
1699
+ }), (enableHiding || enableColumnOrdering || enablePinning) && React.createElement(MRT_ShowHideColumnsButton, {
1678
1700
  instance: instance
1679
1701
  }), enableDensityToggle && React.createElement(MRT_ToggleDensePaddingButton, {
1680
1702
  instance: instance
@@ -2220,23 +2242,17 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
2220
2242
  var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
2221
2243
  var header = _ref.header,
2222
2244
  instance = _ref.instance;
2223
- var localization = instance.options.localization;
2224
2245
  return React.createElement(Box, {
2225
2246
  sx: {
2226
2247
  display: 'grid',
2227
- gridTemplateColumns: '6fr auto 5fr'
2248
+ gridTemplateColumns: '6fr 6fr',
2249
+ gap: '1rem'
2228
2250
  }
2229
2251
  }, React.createElement(MRT_FilterTextField, {
2230
2252
  header: header,
2231
2253
  inputIndex: 0,
2232
2254
  instance: instance
2233
- }), React.createElement(Box, {
2234
- sx: {
2235
- width: '100%',
2236
- minWidth: '5ch',
2237
- textAlign: 'center'
2238
- }
2239
- }, localization.to), React.createElement(MRT_FilterTextField, {
2255
+ }), React.createElement(MRT_FilterTextField, {
2240
2256
  header: header,
2241
2257
  inputIndex: 1,
2242
2258
  instance: instance
@@ -2337,7 +2353,6 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
2337
2353
  touchAction: 'none',
2338
2354
  transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
2339
2355
  userSelect: 'none',
2340
- zIndex: 2000,
2341
2356
  '&:active': {
2342
2357
  backgroundColor: theme.palette.info.main,
2343
2358
  opacity: 1
@@ -3334,7 +3349,8 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
3334
3349
  }, tablePaperProps, {
3335
3350
  sx: _extends({
3336
3351
  transition: 'all 0.2s ease-in-out'
3337
- }, tablePaperProps == null ? void 0 : tablePaperProps.sx, {
3352
+ }, tablePaperProps == null ? void 0 : tablePaperProps.sx),
3353
+ style: _extends({}, tablePaperProps == null ? void 0 : tablePaperProps.style, {
3338
3354
  height: isFullScreen ? '100vh' : undefined,
3339
3355
  margin: isFullScreen ? '0' : undefined,
3340
3356
  maxHeight: isFullScreen ? '100vh' : undefined,
@@ -3484,7 +3500,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3484
3500
  id: 'mrt-expand',
3485
3501
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3486
3502
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3487
- size: 50
3503
+ size: 60
3488
3504
  }), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
3489
3505
  Cell: function Cell(_ref5) {
3490
3506
  var cell = _ref5.cell;
@@ -3503,7 +3519,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3503
3519
  id: 'mrt-select',
3504
3520
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3505
3521
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3506
- size: 50
3522
+ size: 60
3507
3523
  }), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
3508
3524
  Cell: function Cell(_ref6) {
3509
3525
  var cell = _ref6.cell;
@@ -3518,7 +3534,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
3518
3534
  id: 'mrt-row-numbers',
3519
3535
  muiTableBodyCellProps: props.muiTableBodyCellProps,
3520
3536
  muiTableHeadCellProps: props.muiTableHeadCellProps,
3521
- size: 50
3537
+ size: 60
3522
3538
  })].filter(Boolean);
3523
3539
  }, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]);
3524
3540
  var columns = useMemo(function () {