material-react-table 0.6.10 → 0.7.0-alpha.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.
Files changed (103) hide show
  1. package/dist/MaterialReactTable.d.ts +142 -82
  2. package/dist/body/MRT_TableBody.d.ts +3 -0
  3. package/dist/body/MRT_TableBodyCell.d.ts +2 -11
  4. package/dist/body/MRT_TableBodyRow.d.ts +3 -1
  5. package/dist/body/MRT_TableDetailPanel.d.ts +2 -1
  6. package/dist/buttons/MRT_CopyButton.d.ts +4 -2
  7. package/dist/buttons/MRT_EditActionButtons.d.ts +2 -1
  8. package/dist/buttons/MRT_ExpandAllButton.d.ts +2 -0
  9. package/dist/buttons/MRT_ExpandButton.d.ts +2 -1
  10. package/dist/buttons/MRT_FullScreenToggleButton.d.ts +2 -0
  11. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +2 -0
  12. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +3 -2
  13. package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -0
  14. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +2 -0
  15. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -1
  16. package/dist/buttons/MRT_ToggleSearchButton.d.ts +2 -0
  17. package/dist/footer/MRT_TableFooter.d.ts +3 -0
  18. package/dist/footer/MRT_TableFooterCell.d.ts +3 -2
  19. package/dist/footer/MRT_TableFooterRow.d.ts +2 -1
  20. package/dist/head/MRT_TableHead.d.ts +3 -0
  21. package/dist/head/MRT_TableHeadCell.d.ts +4 -18
  22. package/dist/head/MRT_TableHeadRow.d.ts +2 -1
  23. package/dist/icons.d.ts +1 -1
  24. package/dist/inputs/MRT_EditCellTextField.d.ts +2 -1
  25. package/dist/inputs/MRT_FilterTextField.d.ts +3 -2
  26. package/dist/inputs/MRT_SearchTextField.d.ts +2 -0
  27. package/dist/inputs/MRT_SelectCheckbox.d.ts +2 -1
  28. package/dist/localization.d.ts +7 -2
  29. package/dist/material-react-table.cjs.development.js +2142 -1729
  30. package/dist/material-react-table.cjs.development.js.map +1 -1
  31. package/dist/material-react-table.cjs.production.min.js +1 -1
  32. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  33. package/dist/material-react-table.esm.js +2143 -1730
  34. package/dist/material-react-table.esm.js.map +1 -1
  35. package/dist/menus/MRT_ColumnActionMenu.d.ts +3 -2
  36. package/dist/menus/MRT_FilterTypeMenu.d.ts +4 -3
  37. package/dist/menus/MRT_RowActionMenu.d.ts +3 -2
  38. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +2 -0
  39. package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -1
  40. package/dist/table/MRT_Table.d.ts +3 -0
  41. package/dist/table/MRT_TableContainer.d.ts +2 -0
  42. package/dist/table/MRT_TablePaper.d.ts +7 -0
  43. package/dist/table/MRT_TableRoot.d.ts +3 -0
  44. package/dist/toolbar/MRT_LinearProgressBar.d.ts +2 -0
  45. package/dist/toolbar/MRT_TablePagination.d.ts +2 -0
  46. package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -0
  47. package/dist/toolbar/MRT_ToolbarBottom.d.ts +2 -0
  48. package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -0
  49. package/dist/toolbar/MRT_ToolbarTop.d.ts +4 -2
  50. package/dist/utils.d.ts +12 -2
  51. package/package.json +27 -28
  52. package/src/MaterialReactTable.tsx +298 -242
  53. package/src/body/MRT_TableBody.tsx +25 -21
  54. package/src/body/MRT_TableBodyCell.tsx +73 -58
  55. package/src/body/MRT_TableBodyRow.tsx +35 -74
  56. package/src/body/MRT_TableDetailPanel.tsx +16 -14
  57. package/src/buttons/MRT_CopyButton.tsx +14 -7
  58. package/src/buttons/MRT_EditActionButtons.tsx +13 -12
  59. package/src/buttons/MRT_ExpandAllButton.tsx +24 -9
  60. package/src/buttons/MRT_ExpandButton.tsx +21 -14
  61. package/src/buttons/MRT_FullScreenToggleButton.tsx +18 -11
  62. package/src/buttons/MRT_ShowHideColumnsButton.tsx +18 -7
  63. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +17 -9
  64. package/src/buttons/MRT_ToggleDensePaddingButton.tsx +18 -11
  65. package/src/buttons/MRT_ToggleFiltersButton.tsx +16 -9
  66. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +26 -21
  67. package/src/buttons/MRT_ToggleSearchButton.tsx +18 -11
  68. package/src/footer/MRT_TableFooter.tsx +23 -7
  69. package/src/footer/MRT_TableFooterCell.tsx +32 -24
  70. package/src/footer/MRT_TableFooterRow.tsx +20 -38
  71. package/src/head/MRT_TableHead.tsx +23 -7
  72. package/src/head/MRT_TableHeadCell.tsx +201 -152
  73. package/src/head/MRT_TableHeadRow.tsx +15 -103
  74. package/src/icons.ts +3 -3
  75. package/src/inputs/MRT_EditCellTextField.tsx +23 -24
  76. package/src/inputs/MRT_FilterTextField.tsx +51 -30
  77. package/src/inputs/MRT_SearchTextField.tsx +38 -21
  78. package/src/inputs/MRT_SelectCheckbox.tsx +34 -24
  79. package/src/localization.ts +13 -2
  80. package/src/menus/MRT_ColumnActionMenu.tsx +129 -69
  81. package/src/menus/MRT_FilterTypeMenu.tsx +28 -22
  82. package/src/menus/MRT_RowActionMenu.tsx +16 -11
  83. package/src/menus/MRT_ShowHideColumnsMenu.tsx +52 -20
  84. package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +28 -17
  85. package/src/table/MRT_Table.tsx +24 -14
  86. package/src/table/MRT_TableContainer.tsx +109 -44
  87. package/src/table/MRT_TablePaper.tsx +61 -0
  88. package/src/table/MRT_TableRoot.tsx +236 -0
  89. package/src/toolbar/MRT_LinearProgressBar.tsx +9 -6
  90. package/src/toolbar/MRT_TablePagination.tsx +28 -18
  91. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +31 -19
  92. package/src/toolbar/MRT_ToolbarBottom.tsx +31 -20
  93. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +29 -16
  94. package/src/toolbar/MRT_ToolbarTop.tsx +34 -27
  95. package/src/utils.ts +37 -8
  96. package/dist/head/MRT_TableHeadCellActions.d.ts +0 -5
  97. package/dist/table/MRT_TableSpacerCell.d.ts +0 -6
  98. package/dist/useMRT.d.ts +0 -28
  99. package/src/@types/faker.d.ts +0 -4
  100. package/src/@types/react-table-config.d.ts +0 -53
  101. package/src/head/MRT_TableHeadCellActions.tsx +0 -29
  102. package/src/table/MRT_TableSpacerCell.tsx +0 -20
  103. package/src/useMRT.tsx +0 -226
@@ -1,6 +1,13 @@
1
- import React, { ChangeEvent, FC, MouseEvent, useState } from 'react';
1
+ import React, {
2
+ ChangeEvent,
3
+ FC,
4
+ MouseEvent,
5
+ useCallback,
6
+ useState,
7
+ } from 'react';
2
8
  import {
3
9
  Chip,
10
+ debounce,
4
11
  IconButton,
5
12
  InputAdornment,
6
13
  MenuItem,
@@ -8,25 +15,30 @@ import {
8
15
  TextFieldProps,
9
16
  Tooltip,
10
17
  } from '@mui/material';
11
- import { useAsyncDebounce } from 'react-table';
12
- import { useMRT } from '../useMRT';
13
- import type { MRT_HeaderGroup } from '..';
18
+ import type { MRT_Header, MRT_TableInstance } from '..';
14
19
  import { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';
15
20
  import { MRT_FILTER_TYPE } from '../enums';
16
21
 
17
22
  interface Props {
18
- column: MRT_HeaderGroup;
23
+ header: MRT_Header;
24
+ tableInstance: MRT_TableInstance;
19
25
  }
20
26
 
21
- export const MRT_FilterTextField: FC<Props> = ({ column }) => {
27
+ export const MRT_FilterTextField: FC<Props> = ({ header, tableInstance }) => {
22
28
  const {
23
- icons: { FilterListIcon, CloseIcon },
24
- idPrefix,
25
- localization,
26
- muiTableHeadCellFilterTextFieldProps,
27
- setCurrentFilterTypes,
28
- tableInstance,
29
- } = useMRT();
29
+ getState,
30
+ options: {
31
+ icons: { FilterListIcon, CloseIcon },
32
+ idPrefix,
33
+ localization,
34
+ muiTableHeadCellFilterTextFieldProps,
35
+ setCurrentFilterTypes,
36
+ },
37
+ } = tableInstance;
38
+
39
+ const { column } = header;
40
+
41
+ const { currentFilterTypes } = getState();
30
42
 
31
43
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
32
44
 
@@ -45,11 +57,18 @@ export const MRT_FilterTextField: FC<Props> = ({ column }) => {
45
57
  ...mcTableHeadCellFilterTextFieldProps,
46
58
  } as TextFieldProps;
47
59
 
48
- const [filterValue, setFilterValue] = useState('');
60
+ const [filterValue, setFilterValue] = useState<string>(
61
+ (column.getColumnFilterValue() ?? '') as string,
62
+ );
49
63
 
50
- const handleChange = useAsyncDebounce((value) => {
51
- column.setFilter(value ?? undefined);
52
- }, 150);
64
+ const handleChange = useCallback(
65
+ debounce(
66
+ (event: ChangeEvent<HTMLInputElement>) =>
67
+ column.setColumnFilterValue(event.target.value ?? undefined),
68
+ 150,
69
+ ),
70
+ [],
71
+ );
53
72
 
54
73
  const handleFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {
55
74
  setAnchorEl(event.currentTarget);
@@ -57,24 +76,24 @@ export const MRT_FilterTextField: FC<Props> = ({ column }) => {
57
76
 
58
77
  const handleClear = () => {
59
78
  setFilterValue('');
60
- column.setFilter(undefined);
79
+ column.setColumnFilterValue(undefined);
61
80
  };
62
81
 
63
82
  const handleClearFilterChip = () => {
64
83
  setFilterValue('');
65
- column.setFilter(undefined);
84
+ column.setColumnFilterValue(undefined);
66
85
  setCurrentFilterTypes((prev) => ({
67
86
  ...prev,
68
- [column.id]: MRT_FILTER_TYPE.BEST_MATCH,
87
+ [header.id]: MRT_FILTER_TYPE.BEST_MATCH,
69
88
  }));
70
89
  };
71
90
 
72
91
  if (column.Filter) {
73
- return <>{column.Filter?.({ column })}</>;
92
+ return <>{column.Filter?.({ header, tableInstance })}</>;
74
93
  }
75
94
 
76
- const filterId = `mrt-${idPrefix}-${column.id}-filter-text-field`;
77
- const filterType = tableInstance.state.currentFilterTypes[column.id];
95
+ const filterId = `mrt-${idPrefix}-${header.id}-filter-text-field`;
96
+ const filterType = currentFilterTypes?.[header.id];
78
97
  const isSelectFilter = !!column.filterSelectOptions;
79
98
  const filterChipLabel =
80
99
  !(filterType instanceof Function) &&
@@ -88,7 +107,7 @@ export const MRT_FilterTextField: FC<Props> = ({ column }) => {
88
107
  : '';
89
108
  const filterPlaceholder = localization.filterByColumn?.replace(
90
109
  '{column}',
91
- String(column.Header),
110
+ String(column.header),
92
111
  );
93
112
 
94
113
  return (
@@ -134,13 +153,14 @@ export const MRT_FilterTextField: FC<Props> = ({ column }) => {
134
153
  label={isSelectFilter && !filterValue ? filterPlaceholder : undefined}
135
154
  margin="none"
136
155
  placeholder={
137
- filterChipLabel || isSelectFilter ? undefined : filterPlaceholder
156
+ filterPlaceholder
157
+ // filterChipLabel || isSelectFilter ? undefined : filterPlaceholder
138
158
  }
139
- onChange={(e: ChangeEvent<HTMLInputElement>) => {
140
- setFilterValue(e.target.value);
141
- handleChange(e.target.value);
159
+ onChange={(event: ChangeEvent<HTMLInputElement>) => {
160
+ setFilterValue(event.target.value);
161
+ handleChange(event);
142
162
  }}
143
- onClick={(e) => e.stopPropagation()}
163
+ onClick={(e: MouseEvent<HTMLInputElement>) => e.stopPropagation()}
144
164
  select={isSelectFilter}
145
165
  value={filterValue ?? ''}
146
166
  variant="standard"
@@ -230,8 +250,9 @@ export const MRT_FilterTextField: FC<Props> = ({ column }) => {
230
250
  </TextField>
231
251
  <MRT_FilterTypeMenu
232
252
  anchorEl={anchorEl}
233
- column={column}
253
+ header={header}
234
254
  setAnchorEl={setAnchorEl}
255
+ tableInstance={tableInstance}
235
256
  />
236
257
  </>
237
258
  );
@@ -1,36 +1,49 @@
1
- import React, { ChangeEvent, FC, MouseEvent, useState } from 'react';
1
+ import React, {
2
+ ChangeEvent,
3
+ FC,
4
+ MouseEvent,
5
+ useCallback,
6
+ useState,
7
+ } from 'react';
2
8
  import {
3
9
  Collapse,
10
+ debounce,
4
11
  IconButton,
5
12
  InputAdornment,
6
13
  TextField,
7
14
  Tooltip,
8
15
  } from '@mui/material';
9
- import { useMRT } from '../useMRT';
10
- import { useAsyncDebounce } from 'react-table';
11
16
  import { MRT_FilterTypeMenu } from '../menus/MRT_FilterTypeMenu';
17
+ import { MRT_TableInstance } from '..';
12
18
 
13
- interface Props {}
19
+ interface Props {
20
+ tableInstance: MRT_TableInstance;
21
+ }
14
22
 
15
- export const MRT_SearchTextField: FC<Props> = () => {
23
+ export const MRT_SearchTextField: FC<Props> = ({ tableInstance }) => {
16
24
  const {
17
- icons: { SearchIcon, CloseIcon },
18
- idPrefix,
19
- localization,
20
- muiSearchTextFieldProps,
21
- onGlobalFilterChange,
22
- tableInstance,
23
- } = useMRT();
25
+ getState,
26
+ setGlobalFilter,
27
+ options: {
28
+ icons: { SearchIcon, CloseIcon },
29
+ idPrefix,
30
+ localization,
31
+ muiSearchTextFieldProps,
32
+ onGlobalFilterChange,
33
+ },
34
+ } = tableInstance;
35
+
36
+ const { globalFilter, showSearch } = getState();
24
37
 
25
38
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
26
- const [searchValue, setSearchValue] = useState('');
39
+ const [searchValue, setSearchValue] = useState(globalFilter ?? '');
27
40
 
28
- const handleChange = useAsyncDebounce(
29
- (event: ChangeEvent<HTMLInputElement>) => {
30
- tableInstance.setGlobalFilter(event.target.value ?? undefined);
41
+ const handleChange = useCallback(
42
+ debounce((event: ChangeEvent<HTMLInputElement>) => {
43
+ setGlobalFilter(event.target.value ?? undefined);
31
44
  onGlobalFilterChange?.(event);
32
- },
33
- 200,
45
+ }, 200),
46
+ [],
34
47
  );
35
48
 
36
49
  const handleGlobalFilterMenuOpen = (event: MouseEvent<HTMLElement>) => {
@@ -39,11 +52,11 @@ export const MRT_SearchTextField: FC<Props> = () => {
39
52
 
40
53
  const handleClear = () => {
41
54
  setSearchValue('');
42
- tableInstance.setGlobalFilter(undefined);
55
+ setGlobalFilter(undefined);
43
56
  };
44
57
 
45
58
  return (
46
- <Collapse in={tableInstance.state.showSearch} orientation="horizontal">
59
+ <Collapse in={showSearch} orientation="horizontal">
47
60
  <TextField
48
61
  id={`mrt-${idPrefix}-search-text-field`}
49
62
  placeholder={localization.search}
@@ -87,7 +100,11 @@ export const MRT_SearchTextField: FC<Props> = () => {
87
100
  {...muiSearchTextFieldProps}
88
101
  sx={{ justifySelf: 'end', ...muiSearchTextFieldProps?.sx }}
89
102
  />
90
- <MRT_FilterTypeMenu anchorEl={anchorEl} setAnchorEl={setAnchorEl} />
103
+ <MRT_FilterTypeMenu
104
+ anchorEl={anchorEl}
105
+ setAnchorEl={setAnchorEl}
106
+ tableInstance={tableInstance}
107
+ />
91
108
  </Collapse>
92
109
  );
93
110
  };
@@ -1,40 +1,49 @@
1
1
  import React, { ChangeEvent, FC } from 'react';
2
2
  import { Checkbox, Tooltip } from '@mui/material';
3
- import { useMRT } from '../useMRT';
4
- import type { MRT_Row } from '..';
3
+ import type { MRT_Row, MRT_TableInstance } from '..';
5
4
 
6
5
  interface Props {
7
6
  row?: MRT_Row;
8
7
  selectAll?: boolean;
8
+ tableInstance: MRT_TableInstance;
9
9
  }
10
10
 
11
- export const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {
11
+ export const MRT_SelectCheckbox: FC<Props> = ({
12
+ row,
13
+ selectAll,
14
+ tableInstance,
15
+ }) => {
12
16
  const {
13
- localization,
14
- muiSelectCheckboxProps,
15
- onSelectChange,
16
- onSelectAllChange,
17
- tableInstance,
18
- tableInstance: {
19
- state: { densePadding },
17
+ getRowModel,
18
+ getSelectedRowModel,
19
+ getState,
20
+ getToggleAllRowsSelectedProps,
21
+ options: {
22
+ isLoading,
23
+ localization,
24
+ muiSelectCheckboxProps,
25
+ onSelectChange,
26
+ onSelectAllChange,
20
27
  },
21
- } = useMRT();
28
+ } = tableInstance;
29
+
30
+ const { isDensePadding } = getState();
22
31
 
23
32
  const handleSelectChange = (event: ChangeEvent<HTMLInputElement>) => {
24
33
  if (selectAll) {
25
- tableInstance?.getToggleAllRowsSelectedProps?.()?.onChange?.(event);
34
+ getToggleAllRowsSelectedProps?.()?.onChange?.(event as any);
26
35
  onSelectAllChange?.(
27
36
  event,
28
- event.target.checked ? tableInstance.rows : [],
37
+ event.target.checked ? getRowModel().flatRows : [],
29
38
  );
30
39
  } else if (row) {
31
- row?.getToggleRowSelectedProps()?.onChange?.(event);
40
+ row?.getToggleSelectedProps()?.onChange?.(event as any);
32
41
  onSelectChange?.(
33
42
  event,
34
43
  row,
35
44
  event.target.checked
36
- ? [...tableInstance.selectedFlatRows, row]
37
- : tableInstance.selectedFlatRows.filter(
45
+ ? [...getSelectedRowModel().flatRows, row]
46
+ : getSelectedRowModel().flatRows.filter(
38
47
  (selectedRow) => selectedRow.id !== row.id,
39
48
  ),
40
49
  );
@@ -47,16 +56,12 @@ export const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {
47
56
  : muiSelectCheckboxProps;
48
57
 
49
58
  const rtSelectCheckboxProps = selectAll
50
- ? tableInstance.getToggleAllRowsSelectedProps()
51
- : row?.getToggleRowSelectedProps();
59
+ ? getToggleAllRowsSelectedProps()
60
+ : row?.getToggleSelectedProps();
52
61
 
53
62
  const checkboxProps = {
54
- ...mTableBodyRowSelectCheckboxProps,
55
63
  ...rtSelectCheckboxProps,
56
- style: {
57
- ...rtSelectCheckboxProps?.style,
58
- ...mTableBodyRowSelectCheckboxProps?.style,
59
- },
64
+ ...mTableBodyRowSelectCheckboxProps,
60
65
  };
61
66
 
62
67
  return (
@@ -69,13 +74,18 @@ export const MRT_SelectCheckbox: FC<Props> = ({ row, selectAll }) => {
69
74
  }
70
75
  >
71
76
  <Checkbox
77
+ disabled={isLoading}
72
78
  inputProps={{
73
79
  'aria-label': selectAll
74
80
  ? localization.toggleSelectAll
75
81
  : localization.toggleSelectRow,
76
82
  }}
77
- size={densePadding ? 'small' : 'medium'}
83
+ size={isDensePadding ? 'small' : 'medium'}
78
84
  {...checkboxProps}
85
+ sx={{
86
+ height: isDensePadding ? '1.75rem' : '2.25rem',
87
+ width: isDensePadding ? '1.75rem' : '2.25rem',
88
+ }}
79
89
  onChange={handleSelectChange}
80
90
  title={undefined}
81
91
  />
@@ -12,13 +12,13 @@ export interface MRT_Localization {
12
12
  edit: string;
13
13
  expand: string;
14
14
  expandAll: string;
15
+ filterBestMatch: string;
15
16
  filterBestMatchFirst: string;
16
17
  filterByColumn: string;
17
18
  filterContains: string;
18
19
  filterEmpty: string;
19
20
  filterEndsWith: string;
20
21
  filterEquals: string;
21
- filterBestMatch: string;
22
22
  filterGreaterThan: string;
23
23
  filterLessThan: string;
24
24
  filterMode: string;
@@ -30,13 +30,17 @@ export interface MRT_Localization {
30
30
  groupedBy: string;
31
31
  hideAll: string;
32
32
  hideColumn: string;
33
+ pinToLeft: string;
34
+ pinToRight: string;
33
35
  rowActions: string;
36
+ rowNumbers: string;
34
37
  save: string;
35
38
  search: string;
39
+ select: string;
36
40
  selectedCountOfRowCountRowsSelected: string;
37
41
  showAll: string;
38
- showHideColumns: string;
39
42
  showAllColumns: string;
43
+ showHideColumns: string;
40
44
  showHideFilters: string;
41
45
  showHideSearch: string;
42
46
  sortByColumnAsc: string;
@@ -47,6 +51,7 @@ export interface MRT_Localization {
47
51
  toggleSelectAll: string;
48
52
  toggleSelectRow: string;
49
53
  ungroupByColumn: string;
54
+ unpin: string;
50
55
  }
51
56
 
52
57
  export const MRT_DefaultLocalization_EN: MRT_Localization = {
@@ -81,11 +86,16 @@ export const MRT_DefaultLocalization_EN: MRT_Localization = {
81
86
  groupedBy: 'Grouped by ',
82
87
  hideAll: 'Hide all',
83
88
  hideColumn: 'Hide {column} column',
89
+ pinToLeft: 'Pin to left',
90
+ pinToRight: 'Pin to right',
84
91
  rowActions: 'Row Actions',
92
+ rowNumbers: 'Row Numbers',
85
93
  save: 'Save',
86
94
  search: 'Search',
87
95
  selectedCountOfRowCountRowsSelected:
88
96
  '{selectedCount} of {rowCount} row(s) selected',
97
+
98
+ select: 'Select',
89
99
  showAll: 'Show all',
90
100
  showAllColumns: 'Show all columns',
91
101
  showHideColumns: 'Show/Hide columns',
@@ -99,4 +109,5 @@ export const MRT_DefaultLocalization_EN: MRT_Localization = {
99
109
  toggleSelectAll: 'Toggle select all',
100
110
  toggleSelectRow: 'Toggle select row',
101
111
  ungroupByColumn: 'Ungroup by {column}',
112
+ unpin: 'Unpin',
102
113
  };