material-react-table 1.0.0-beta.8 → 1.0.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 (91) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/MaterialReactTable.d.ts +112 -7
  3. package/dist/cjs/_locales/en.d.ts +2 -0
  4. package/dist/cjs/_locales/pt-BR.d.ts +2 -0
  5. package/dist/cjs/column.utils.d.ts +6 -0
  6. package/dist/cjs/head/MRT_TableHeadCellSortLabel.d.ts +2 -0
  7. package/dist/cjs/index.d.ts +4 -3
  8. package/dist/cjs/index.js +200 -71
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/inputs/MRT_FilterCheckbox.d.ts +8 -0
  11. package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -3
  12. package/dist/cjs/table/MRT_TableRoot.d.ts +254 -2
  13. package/dist/cjs/toolbar/MRT_TablePagination.d.ts +3 -4
  14. package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  15. package/dist/cjs/toolbar/MRT_TopToolbar.d.ts +1 -0
  16. package/dist/esm/MaterialReactTable.d.ts +112 -7
  17. package/dist/esm/_locales/en.d.ts +2 -0
  18. package/dist/esm/_locales/pt-BR.d.ts +2 -0
  19. package/dist/esm/column.utils.d.ts +6 -0
  20. package/dist/esm/head/MRT_TableHeadCellSortLabel.d.ts +2 -0
  21. package/dist/esm/index.d.ts +4 -3
  22. package/dist/esm/inputs/MRT_FilterCheckbox.d.ts +8 -0
  23. package/dist/esm/material-react-table.esm.js +200 -73
  24. package/dist/esm/material-react-table.esm.js.map +1 -1
  25. package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -3
  26. package/dist/esm/table/MRT_TableRoot.d.ts +254 -2
  27. package/dist/esm/toolbar/MRT_TablePagination.d.ts +3 -4
  28. package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
  29. package/dist/esm/toolbar/MRT_TopToolbar.d.ts +1 -0
  30. package/dist/index.d.ts +61 -28
  31. package/locales/en.d.ts +2 -0
  32. package/locales/en.esm.d.ts +2 -0
  33. package/locales/en.esm.js +92 -0
  34. package/locales/en.esm.js.map +1 -0
  35. package/locales/en.js +96 -0
  36. package/locales/en.js.map +1 -0
  37. package/locales/pt-BR.d.ts +2 -0
  38. package/locales/pt-BR.esm.d.ts +2 -0
  39. package/locales/pt-BR.esm.js +92 -0
  40. package/locales/pt-BR.esm.js.map +1 -0
  41. package/locales/pt-BR.js +96 -0
  42. package/locales/pt-BR.js.map +1 -0
  43. package/package.json +13 -11
  44. package/src/MaterialReactTable.tsx +205 -67
  45. package/src/_locales/de.ts +1 -0
  46. package/src/{localization.ts → _locales/en.ts} +8 -84
  47. package/src/_locales/es.ts +1 -0
  48. package/src/_locales/fr.ts +1 -0
  49. package/src/_locales/hi.ts +1 -0
  50. package/src/_locales/id.ts +1 -0
  51. package/src/_locales/ja.ts +1 -0
  52. package/src/_locales/nl.ts +1 -0
  53. package/src/_locales/pt-BR.ts +92 -0
  54. package/src/_locales/pt.ts +1 -0
  55. package/src/_locales/ru.ts +1 -0
  56. package/src/_locales/uk.ts +1 -0
  57. package/src/_locales/vi.ts +1 -0
  58. package/src/_locales/zh.ts +1 -0
  59. package/src/body/MRT_EditRowModal.tsx +3 -2
  60. package/src/body/MRT_TableBodyCell.tsx +1 -1
  61. package/src/body/MRT_TableBodyRow.tsx +1 -1
  62. package/src/body/MRT_TableDetailPanel.tsx +1 -1
  63. package/src/buttons/MRT_ExpandAllButton.tsx +1 -1
  64. package/src/buttons/MRT_ExpandButton.tsx +1 -1
  65. package/src/buttons/MRT_GrabHandleButton.tsx +1 -1
  66. package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +7 -2
  67. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +1 -1
  68. package/src/column.utils.ts +28 -3
  69. package/src/footer/MRT_TableFooter.tsx +1 -1
  70. package/src/head/MRT_TableHead.tsx +10 -2
  71. package/src/head/MRT_TableHeadCell.tsx +10 -2
  72. package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +1 -1
  73. package/src/head/MRT_TableHeadCellFilterContainer.tsx +7 -3
  74. package/src/head/MRT_TableHeadCellGrabHandle.tsx +5 -1
  75. package/src/head/MRT_TableHeadCellResizeHandle.tsx +1 -1
  76. package/src/head/MRT_TableHeadCellSortLabel.tsx +11 -3
  77. package/src/index.tsx +6 -3
  78. package/src/inputs/MRT_FilterCheckbox.tsx +96 -0
  79. package/src/inputs/MRT_FilterTextField.tsx +19 -13
  80. package/src/inputs/MRT_GlobalFilterTextField.tsx +18 -5
  81. package/src/inputs/MRT_SelectCheckbox.tsx +16 -7
  82. package/src/menus/MRT_FilterOptionMenu.tsx +19 -2
  83. package/src/table/MRT_TablePaper.tsx +16 -4
  84. package/src/table/MRT_TableRoot.tsx +8 -7
  85. package/src/toolbar/MRT_BottomToolbar.tsx +4 -1
  86. package/src/toolbar/MRT_TablePagination.tsx +45 -8
  87. package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -1
  88. package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -4
  89. package/src/toolbar/MRT_TopToolbar.tsx +2 -1
  90. package/dist/cjs/localization.d.ts +0 -84
  91. package/dist/esm/localization.d.ts +0 -84
package/README.md CHANGED
@@ -21,7 +21,7 @@
21
21
 
22
22
  ## About
23
23
 
24
- > Now in Beta!
24
+ > Version 1.0 released 2022-09-13 🎉
25
25
 
26
26
  __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
27
27
 
@@ -54,7 +54,7 @@ _All features can easily be enabled/disabled_
54
54
 
55
55
  _**Fully Fleshed out [Docs](https://www.material-react-table.com/docs/guides#guides) are available for all features**_
56
56
 
57
- - [x] < 37kb gzipped - [Bundlephobia](https://bundlephobia.com/package/material-react-table)
57
+ - [x] < 38kb gzipped - [Bundlephobia](https://bundlephobia.com/package/material-react-table)
58
58
  - [x] Advanced TypeScript Generics Support (TypeScript Optional)
59
59
  - [x] Aggregation and Grouping (Sum, Average, Count, etc.)
60
60
  - [x] Click To Copy Cell Values
@@ -4,9 +4,97 @@ import type { Cell, Column, ColumnDef, DeepKeys, FilterFn, Header, HeaderGroup,
4
4
  import type { Options as VirtualizerOptions, VirtualItem } from 'react-virtual';
5
5
  import { MRT_Icons } from './icons';
6
6
  import { MRT_FilterFns } from './filterFns';
7
- import { MRT_Localization } from './localization';
8
7
  import { MRT_SortingFns } from './sortingFns';
9
8
  declare type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
9
+ export interface MRT_Localization {
10
+ actions: string;
11
+ and: string;
12
+ cancel: string;
13
+ changeFilterMode: string;
14
+ changeSearchMode: string;
15
+ clearFilter: string;
16
+ clearSearch: string;
17
+ clearSort: string;
18
+ clickToCopy: string;
19
+ columnActions: string;
20
+ copiedToClipboard: string;
21
+ dropToGroupBy: string;
22
+ edit: string;
23
+ expand: string;
24
+ expandAll: string;
25
+ filterArrIncludes: string;
26
+ filterArrIncludesAll: string;
27
+ filterArrIncludesSome: string;
28
+ filterBetween: string;
29
+ filterBetweenInclusive: string;
30
+ filterByColumn: string;
31
+ filterContains: string;
32
+ filterEmpty: string;
33
+ filterEndsWith: string;
34
+ filterEquals: string;
35
+ filterEqualsString: string;
36
+ filterFuzzy: string;
37
+ filterGreaterThan: string;
38
+ filterGreaterThanOrEqualTo: string;
39
+ filterInNumberRange: string;
40
+ filterIncludesString: string;
41
+ filterIncludesStringSensitive: string;
42
+ filterLessThan: string;
43
+ filterLessThanOrEqualTo: string;
44
+ filterMode: string;
45
+ filterNotEmpty: string;
46
+ filterNotEquals: string;
47
+ filterStartsWith: string;
48
+ filterWeakEquals: string;
49
+ filteringByColumn: string;
50
+ goToFirstPage: string;
51
+ goToLastPage: string;
52
+ goToNextPage: string;
53
+ goToPreviousPage: string;
54
+ grab: string;
55
+ groupByColumn: string;
56
+ groupedBy: string;
57
+ hideAll: string;
58
+ hideColumn: string;
59
+ max: string;
60
+ min: string;
61
+ move: string;
62
+ noRecordsToDisplay: string;
63
+ noResultsFound: string;
64
+ of: string;
65
+ or: string;
66
+ pinToLeft: string;
67
+ pinToRight: string;
68
+ resetColumnSize: string;
69
+ resetOrder: string;
70
+ rowActions: string;
71
+ rowNumber: string;
72
+ rowNumbers: string;
73
+ rowsPerPage: string;
74
+ save: string;
75
+ search: string;
76
+ select: string;
77
+ selectedCountOfRowCountRowsSelected: string;
78
+ showAll: string;
79
+ showAllColumns: string;
80
+ showHideColumns: string;
81
+ showHideFilters: string;
82
+ showHideSearch: string;
83
+ sortByColumnAsc: string;
84
+ sortByColumnDesc: string;
85
+ sortedByColumnAsc: string;
86
+ sortedByColumnDesc: string;
87
+ thenBy: string;
88
+ toggleDensity: string;
89
+ toggleFullScreen: string;
90
+ toggleSelectAll: string;
91
+ toggleSelectRow: string;
92
+ toggleVisibility: string;
93
+ ungroupByColumn: string;
94
+ unpin: string;
95
+ unpinAll: string;
96
+ unsorted: string;
97
+ }
10
98
  export interface MRT_RowModel<TData extends Record<string, any> = {}> {
11
99
  flatRows: MRT_Row<TData>[];
12
100
  rows: MRT_Row<TData>[];
@@ -104,9 +192,10 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
104
192
  row: MRT_Row<TData>;
105
193
  table: MRT_TableInstance<TData>;
106
194
  }) => ReactNode;
107
- Filter?: ({ column, header, table, }: {
195
+ Filter?: ({ column, header, rangeFilterIndex, table, }: {
108
196
  column: MRT_Column<TData>;
109
197
  header: MRT_Header<TData>;
198
+ rangeFilterIndex?: number;
110
199
  table: MRT_TableInstance<TData>;
111
200
  }) => ReactNode;
112
201
  Footer?: ReactNode | (({ column, footer, table, }: {
@@ -163,7 +252,7 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
163
252
  text: string;
164
253
  value: any;
165
254
  })[];
166
- filterVariant?: 'text' | 'select' | 'multi-select' | 'range';
255
+ filterVariant?: 'text' | 'select' | 'multi-select' | 'range' | 'checkbox';
167
256
  /**
168
257
  * footer must be a string. If you want custom JSX to render the footer, you can also specify a `Footer` option. (Capital F)
169
258
  */
@@ -194,9 +283,11 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
194
283
  row: MRT_Row<TData>;
195
284
  table: MRT_TableInstance<TData>;
196
285
  }) => TextFieldProps);
197
- muiTableBodyCellProps?: TableCellProps | (({ cell, table, }: {
198
- table: MRT_TableInstance<TData>;
286
+ muiTableBodyCellProps?: TableCellProps | (({ cell, column, row, table, }: {
199
287
  cell: MRT_Cell<TData>;
288
+ column: MRT_Column<TData>;
289
+ row: MRT_Row<TData>;
290
+ table: MRT_TableInstance<TData>;
200
291
  }) => TableCellProps);
201
292
  muiTableFooterCellProps?: TableCellProps | (({ table, column, }: {
202
293
  table: MRT_TableInstance<TData>;
@@ -210,6 +301,10 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
210
301
  table: MRT_TableInstance<TData>;
211
302
  column: MRT_Column<TData>;
212
303
  }) => IconButtonProps);
304
+ muiTableHeadCellFilterCheckboxProps?: CheckboxProps | (({ column, table, }: {
305
+ column: MRT_Column<TData>;
306
+ table: MRT_TableInstance<TData>;
307
+ }) => CheckboxProps);
213
308
  muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, rangeFilterIndex, }: {
214
309
  table: MRT_TableInstance<TData>;
215
310
  column: MRT_Column<TData>;
@@ -406,6 +501,10 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
406
501
  table: MRT_TableInstance<TData>;
407
502
  column: MRT_Column<TData>;
408
503
  }) => IconButtonProps);
504
+ muiTableHeadCellFilterCheckboxProps?: CheckboxProps | (({ column, table, }: {
505
+ column: MRT_Column<TData>;
506
+ table: MRT_TableInstance<TData>;
507
+ }) => CheckboxProps);
409
508
  muiTableHeadCellFilterTextFieldProps?: TextFieldProps | (({ table, column, rangeFilterIndex, }: {
410
509
  table: MRT_TableInstance<TData>;
411
510
  column: MRT_Column<TData>;
@@ -467,6 +566,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
467
566
  positionPagination?: 'bottom' | 'top' | 'both';
468
567
  positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
469
568
  positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
569
+ renderBottomToolbar?: ReactNode | (({ table }: {
570
+ table: MRT_TableInstance<TData>;
571
+ }) => ReactNode);
470
572
  renderBottomToolbarCustomActions?: ({ table, }: {
471
573
  table: MRT_TableInstance<TData>;
472
574
  }) => ReactNode;
@@ -503,6 +605,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
503
605
  renderToolbarInternalActions?: ({ table, }: {
504
606
  table: MRT_TableInstance<TData>;
505
607
  }) => ReactNode;
608
+ renderTopToolbar?: ReactNode | (({ table }: {
609
+ table: MRT_TableInstance<TData>;
610
+ }) => ReactNode);
506
611
  renderTopToolbarCustomActions?: ({ table, }: {
507
612
  table: MRT_TableInstance<TData>;
508
613
  }) => ReactNode;
@@ -523,5 +628,5 @@ export declare type Virtualizer = {
523
628
  scrollToIndex: (index: number, options?: any | undefined) => void;
524
629
  measure: () => void;
525
630
  };
526
- declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, 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;
527
- export default _default;
631
+ declare const MaterialReactTable: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, 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;
632
+ export default MaterialReactTable;
@@ -0,0 +1,2 @@
1
+ import { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_EN: MRT_Localization;
@@ -0,0 +1,2 @@
1
+ import { MRT_Localization } from '../MaterialReactTable';
2
+ export declare const MRT_Localization_PT_BR: MRT_Localization;
@@ -103,3 +103,9 @@ export declare const getCommonCellStyles: ({ column, header, table, tableCellPro
103
103
  tableCellProps: TableCellProps;
104
104
  theme: Theme;
105
105
  }) => any;
106
+ export declare const MRT_DefaultColumn: {
107
+ minSize: number;
108
+ maxSize: number;
109
+ size: number;
110
+ };
111
+ export declare const MRT_DefaultDisplayColumn: Partial<MRT_ColumnDef>;
@@ -1,8 +1,10 @@
1
1
  import { FC } from 'react';
2
+ import { TableCellProps } from '@mui/material';
2
3
  import { MRT_Header, MRT_TableInstance } from '..';
3
4
  interface Props {
4
5
  header: MRT_Header;
5
6
  table: MRT_TableInstance;
7
+ tableCellProps?: TableCellProps;
6
8
  }
7
9
  export declare const MRT_TableHeadCellSortLabel: FC<Props>;
8
10
  export {};
@@ -2,13 +2,14 @@ import MaterialReactTable from './MaterialReactTable';
2
2
  export default MaterialReactTable;
3
3
  export * from './MaterialReactTable';
4
4
  import type { MRT_Icons } from './icons';
5
- import type { MRT_Localization } from './localization';
6
- export type { MRT_Localization, MRT_Icons };
5
+ export type { MRT_Icons };
7
6
  import { MRT_CopyButton } from './buttons/MRT_CopyButton';
8
7
  import { MRT_FullScreenToggleButton } from './buttons/MRT_FullScreenToggleButton';
9
8
  import { MRT_GlobalFilterTextField } from './inputs/MRT_GlobalFilterTextField';
10
9
  import { MRT_ShowHideColumnsButton } from './buttons/MRT_ShowHideColumnsButton';
10
+ import { MRT_TablePagination } from './toolbar/MRT_TablePagination';
11
11
  import { MRT_ToggleDensePaddingButton } from './buttons/MRT_ToggleDensePaddingButton';
12
12
  import { MRT_ToggleFiltersButton } from './buttons/MRT_ToggleFiltersButton';
13
13
  import { MRT_ToggleGlobalFilterButton } from './buttons/MRT_ToggleGlobalFilterButton';
14
- export { MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_CopyButton, };
14
+ import { MRT_ToolbarInternalButtons } from './toolbar/MRT_ToolbarInternalButtons';
15
+ export { MRT_CopyButton, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_TablePagination, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MRT_ToolbarInternalButtons, };