material-react-table 0.1.0-beta.1 → 0.3.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 (96) hide show
  1. package/dist/MaterialReactTable.d.ts +60 -26
  2. package/dist/{MRT_TableBody.d.ts → body/MRT_TableBody.d.ts} +0 -0
  3. package/dist/{MRT_TableBodyCell.d.ts → body/MRT_TableBodyCell.d.ts} +1 -1
  4. package/dist/{MRT_TableBodyRow.d.ts → body/MRT_TableBodyRow.d.ts} +1 -1
  5. package/dist/{MRT_TableDetailPanel.d.ts → body/MRT_TableDetailPanel.d.ts} +1 -1
  6. package/dist/{MRT_TableExpandButton.d.ts → buttons/MRT_EditActionButtons.d.ts} +2 -2
  7. package/dist/buttons/MRT_ExpandAllButton.d.ts +5 -0
  8. package/dist/buttons/MRT_ExpandButton.d.ts +7 -0
  9. package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +5 -0
  10. package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +7 -0
  11. package/dist/buttons/MRT_ToggleFiltersButton.d.ts +4 -0
  12. package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +7 -0
  13. package/dist/{MRT_TableFooter.d.ts → footer/MRT_TableFooter.d.ts} +0 -0
  14. package/dist/{MRT_TableFooterCell.d.ts → footer/MRT_TableFooterCell.d.ts} +0 -0
  15. package/dist/{MRT_TableFooterRow.d.ts → footer/MRT_TableFooterRow.d.ts} +1 -1
  16. package/dist/{MRT_TableHead.d.ts → head/MRT_TableHead.d.ts} +0 -0
  17. package/dist/head/MRT_TableHeadCell.d.ts +8 -0
  18. package/dist/{MRT_TableHeadRow.d.ts → head/MRT_TableHeadRow.d.ts} +1 -1
  19. package/dist/index.d.ts +2 -0
  20. package/dist/inputs/MRT_DensePaddingSwitch.d.ts +5 -0
  21. package/dist/{MRT_TableHeadCell.d.ts → inputs/MRT_FilterTextField.d.ts} +1 -1
  22. package/dist/inputs/MRT_SearchTextField.d.ts +5 -0
  23. package/dist/inputs/MRT_SelectAllCheckbox.d.ts +2 -0
  24. package/dist/inputs/MRT_SelectCheckbox.d.ts +7 -0
  25. package/dist/material-react-table.cjs.development.js +1933 -170
  26. package/dist/material-react-table.cjs.development.js.map +1 -1
  27. package/dist/material-react-table.cjs.production.min.js +1 -1
  28. package/dist/material-react-table.cjs.production.min.js.map +1 -1
  29. package/dist/material-react-table.esm.js +1939 -176
  30. package/dist/material-react-table.esm.js.map +1 -1
  31. package/dist/menus/MRT_ColumnActionMenu.d.ts +9 -0
  32. package/dist/menus/MRT_RowActionMenu.d.ts +9 -0
  33. package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +7 -0
  34. package/dist/{MRT_Table.d.ts → table/MRT_Table.d.ts} +0 -0
  35. package/dist/{MRT_TableContainer.d.ts → table/MRT_TableContainer.d.ts} +0 -0
  36. package/dist/table/MRT_TableSpacerCell.d.ts +6 -0
  37. package/dist/{MRT_TablePagination.d.ts → toolbar/MRT_TablePagination.d.ts} +0 -0
  38. package/dist/toolbar/MRT_ToolbarBottom.d.ts +5 -0
  39. package/dist/toolbar/MRT_ToolbarButtons.d.ts +5 -0
  40. package/dist/toolbar/MRT_ToolbarTop.d.ts +5 -0
  41. package/dist/useMaterialReactTable.d.ts +13 -11
  42. package/dist/utils/localization.d.ts +25 -0
  43. package/dist/utils/useMRTCalcs.d.ts +11 -0
  44. package/package.json +21 -17
  45. package/src/MaterialReactTable.tsx +145 -37
  46. package/src/body/MRT_TableBody.tsx +56 -0
  47. package/src/body/MRT_TableBodyCell.tsx +48 -0
  48. package/src/body/MRT_TableBodyRow.tsx +74 -0
  49. package/src/body/MRT_TableDetailPanel.tsx +62 -0
  50. package/src/buttons/MRT_EditActionButtons.tsx +51 -0
  51. package/src/buttons/MRT_ExpandAllButton.tsx +45 -0
  52. package/src/buttons/MRT_ExpandButton.tsx +48 -0
  53. package/src/buttons/MRT_ShowHideColumnsButton.tsx +43 -0
  54. package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +51 -0
  55. package/src/buttons/MRT_ToggleFiltersButton.tsx +23 -0
  56. package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +65 -0
  57. package/src/footer/MRT_TableFooter.tsx +21 -0
  58. package/src/footer/MRT_TableFooterCell.tsx +44 -0
  59. package/src/footer/MRT_TableFooterRow.tsx +62 -0
  60. package/src/{MRT_TableHead.tsx → head/MRT_TableHead.tsx} +7 -6
  61. package/src/head/MRT_TableHeadCell.tsx +120 -0
  62. package/src/head/MRT_TableHeadRow.tsx +89 -0
  63. package/src/index.tsx +2 -0
  64. package/src/inputs/MRT_DensePaddingSwitch.tsx +21 -0
  65. package/src/inputs/MRT_FilterTextField.tsx +64 -0
  66. package/src/inputs/MRT_SearchTextField.tsx +74 -0
  67. package/src/inputs/MRT_SelectAllCheckbox.tsx +26 -0
  68. package/src/inputs/MRT_SelectCheckbox.tsx +33 -0
  69. package/src/menus/MRT_ColumnActionMenu.tsx +107 -0
  70. package/src/menus/MRT_RowActionMenu.tsx +52 -0
  71. package/src/menus/MRT_ShowHideColumnsMenu.tsx +34 -0
  72. package/src/table/MRT_Table.tsx +30 -0
  73. package/src/table/MRT_TableContainer.tsx +22 -0
  74. package/src/table/MRT_TableSpacerCell.tsx +26 -0
  75. package/src/toolbar/MRT_TablePagination.tsx +37 -0
  76. package/src/toolbar/MRT_ToolbarBottom.tsx +58 -0
  77. package/src/toolbar/MRT_ToolbarButtons.tsx +27 -0
  78. package/src/toolbar/MRT_ToolbarTop.tsx +81 -0
  79. package/src/useMaterialReactTable.tsx +71 -32
  80. package/src/utils/localization.ts +49 -0
  81. package/src/utils/useMRTCalcs.tsx +42 -0
  82. package/dist/defaults.d.ts +0 -2
  83. package/src/MRT_Table.tsx +0 -20
  84. package/src/MRT_TableBody.tsx +0 -19
  85. package/src/MRT_TableBodyCell.tsx +0 -15
  86. package/src/MRT_TableBodyRow.tsx +0 -27
  87. package/src/MRT_TableContainer.tsx +0 -16
  88. package/src/MRT_TableDetailPanel.tsx +0 -27
  89. package/src/MRT_TableExpandButton.tsx +0 -25
  90. package/src/MRT_TableFooter.tsx +0 -31
  91. package/src/MRT_TableFooterCell.tsx +0 -25
  92. package/src/MRT_TableFooterRow.tsx +0 -22
  93. package/src/MRT_TableHeadCell.tsx +0 -27
  94. package/src/MRT_TableHeadRow.tsx +0 -22
  95. package/src/MRT_TablePagination.tsx +0 -34
  96. package/src/defaults.ts +0 -11
@@ -1,26 +1,60 @@
1
- import React, { FC } from 'react';
2
- import { TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps } from '@mui/material';
3
- import { Column } from 'react-table';
4
- export interface MaterialReactTableOptions {
5
- enableFilters: boolean;
6
- enablePagination: boolean | 'top' | 'bottom' | 'both' | 'none';
7
- enableSearch: boolean;
8
- enableSorting: boolean;
9
- showFooter: boolean;
10
- showHead: boolean;
11
- showToolbar: boolean;
12
- }
13
- export interface MaterialReactTableOptionalProps {
14
- options?: Partial<MaterialReactTableOptions>;
15
- tableContainerProps?: TableContainerProps;
16
- tableFooterProps?: TableFooterProps;
17
- tableHeadProps?: TableHeadProps;
18
- tablePaginationProps?: TablePaginationProps;
19
- tableProps?: TableProps;
20
- renderDetailPanel?: (rowData: any) => React.ReactNode;
21
- }
22
- export interface MaterialReactTableProps extends MaterialReactTableOptionalProps {
23
- columns: Column[];
24
- data: any[];
25
- }
26
- export declare const MaterialReactTable: FC<MaterialReactTableProps>;
1
+ import { ChangeEvent, MouseEvent, ReactNode } from 'react';
2
+ import { TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps, TypographyProps } from '@mui/material';
3
+ import { Cell, Column, HeaderGroup, Row, TableInstance, TableOptions, UseExpandedOptions, UseFiltersOptions, UseGlobalFiltersOptions, UseGroupByOptions, UsePaginationOptions, UseResizeColumnsOptions, UseRowSelectOptions, UseRowStateOptions, UseSortByOptions } from 'react-table';
4
+ import { MRT_Localization } from './utils/localization';
5
+ export declare type MaterialReactTableProps<D extends {} = {}> = TableOptions<D> & UseExpandedOptions<D> & UseFiltersOptions<D> & UseGlobalFiltersOptions<D> & UseGroupByOptions<D> & UsePaginationOptions<D> & UseResizeColumnsOptions<D> & UseRowSelectOptions<D> & UseRowStateOptions<D> & UseSortByOptions<D> & {
6
+ defaultDensePadding?: boolean;
7
+ defaultShowFilters?: boolean;
8
+ disableColumnActions?: boolean;
9
+ disableColumnHiding?: boolean;
10
+ disableDensePaddingToggle?: boolean;
11
+ disableExpandAll?: boolean;
12
+ disableSelectAll?: boolean;
13
+ disableSubRowTree?: boolean;
14
+ enableColumnGrouping?: boolean;
15
+ enableColumnResizing?: boolean;
16
+ enableRowActions?: boolean;
17
+ enableRowEditing?: boolean;
18
+ enableSelection?: boolean;
19
+ hideTableFooter?: boolean;
20
+ hideTableHead?: boolean;
21
+ hideToolbarActions?: boolean;
22
+ hideToolbarBottom?: boolean;
23
+ hideToolbarTop?: boolean;
24
+ isFetching?: boolean;
25
+ isLoading?: boolean;
26
+ localization?: Partial<MRT_Localization>;
27
+ muiSearchTextFieldProps?: TextFieldProps;
28
+ muiTableBodyCellProps?: TableCellProps | ((cell?: Cell<D>) => TableCellProps);
29
+ muiTableBodyProps?: TableBodyProps;
30
+ muiTableBodyRowProps?: TableRowProps | ((row: Row<D>) => TableRowProps);
31
+ muiTableContainerProps?: TableContainerProps;
32
+ muiTableDetailPanelProps?: TableCellProps | ((row: Row<D>) => TableCellProps);
33
+ muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
34
+ muiTableFooterProps?: TableFooterProps;
35
+ muiTableFooterRowProps?: TableRowProps | ((footerGroup: HeaderGroup<D>) => TableRowProps);
36
+ muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
37
+ muiTableHeadProps?: TableHeadProps;
38
+ muiTableHeadRowProps?: TableRowProps | ((row: HeaderGroup<D>) => TableRowProps);
39
+ muiTablePaginationProps?: Partial<TablePaginationProps> | ((tableInstance: TableInstance<D>) => Partial<TablePaginationProps>);
40
+ muiTableProps?: TableProps;
41
+ muiTableTitleProps?: TypographyProps;
42
+ muiTableToolbarBottomProps?: ToolbarProps | ((tableInstance: TableInstance<D>) => ToolbarProps);
43
+ muiTableToolbarTopProps?: ToolbarProps | ((tableInstance: TableInstance<D>) => ToolbarProps);
44
+ onCellClick?: (event: MouseEvent<HTMLTableCellElement>, cell: Cell<D>) => void;
45
+ onDetailPanelClick?: (event: MouseEvent<HTMLTableCellElement>, row: Row<D>) => void;
46
+ onGlobalFilterChange?: (event: ChangeEvent<HTMLInputElement>) => void;
47
+ onRowClick?: (event: MouseEvent<HTMLTableRowElement>, row: Row<D>) => void;
48
+ onRowEditSubmit?: (row: Row<D>) => Promise<void> | void;
49
+ onRowExpandChange?: (event: MouseEvent<HTMLButtonElement>, row: Row<D>) => void;
50
+ onRowSelectChange?: (event: ChangeEvent, row: Row<D>, selectedRows: Row<D>[]) => void;
51
+ positionActionsColumn?: 'first' | 'last';
52
+ positionPagination?: 'bottom' | 'top' | 'both';
53
+ positionToolbarActions?: 'bottom' | 'top';
54
+ renderRowActions?: (row: Row<D>, tableInstance: TableInstance<D>) => ReactNode;
55
+ renderDetailPanel?: (row: Row<D>) => ReactNode;
56
+ renderRowActionMenuItems?: (rowData: Row<D>, tableInstance: TableInstance<D>, closeMenu: () => void) => ReactNode[];
57
+ title?: string | ReactNode;
58
+ };
59
+ declare const _default: <D extends {}>({ defaultColumn, localization, positionActionsColumn, positionPagination, positionToolbarActions, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
60
+ export default _default;
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { Cell } from 'react-table';
3
3
  interface Props {
4
- cell: Cell<object>;
4
+ cell: Cell;
5
5
  }
6
6
  export declare const MRT_TableBodyCell: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { Row } from 'react-table';
3
3
  interface Props {
4
- row: Row<object>;
4
+ row: Row;
5
5
  }
6
6
  export declare const MRT_TableBodyRow: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { Row } from 'react-table';
3
3
  interface Props {
4
- row: Row<object>;
4
+ row: Row;
5
5
  }
6
6
  export declare const MRT_TableDetailPanel: FC<Props>;
7
7
  export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { Row } from 'react-table';
3
3
  interface Props {
4
- row: Row<object>;
4
+ row: Row;
5
5
  }
6
- export declare const MRT_TableExpandButton: FC<Props>;
6
+ export declare const MRT_EditActionButtons: FC<Props>;
7
7
  export {};
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ }
4
+ export declare const MRT_ExpandAllButton: FC<Props>;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ import { Row } from 'react-table';
3
+ interface Props {
4
+ row: Row;
5
+ }
6
+ export declare const MRT_ExpandButton: FC<Props>;
7
+ export {};
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ }
4
+ export declare const MRT_ShowHideColumnsButton: FC<Props>;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ import { HeaderGroup } from 'react-table';
3
+ interface Props {
4
+ column: HeaderGroup;
5
+ }
6
+ export declare const MRT_ToggleColumnActionMenuButton: FC<Props>;
7
+ export {};
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ declare type Props = {};
3
+ export declare const MRT_ToggleFiltersButton: FC<Props>;
4
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ import { Row } from 'react-table';
3
+ interface Props {
4
+ row: Row;
5
+ }
6
+ export declare const MRT_ToggleRowActionMenuButton: FC<Props>;
7
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { HeaderGroup } from 'react-table';
3
3
  interface Props {
4
- footerGroup: HeaderGroup<object>;
4
+ footerGroup: HeaderGroup;
5
5
  }
6
6
  export declare const MRT_TableFooterRow: FC<Props>;
7
7
  export {};
@@ -0,0 +1,8 @@
1
+ import { FC } from 'react';
2
+ import { HeaderGroup } from 'react-table';
3
+ export declare const StyledTableHeadCell: import("@emotion/styled").StyledComponent<import("@mui/material").TableCellProps & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
4
+ interface Props {
5
+ column: HeaderGroup;
6
+ }
7
+ export declare const MRT_TableHeadCell: FC<Props>;
8
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { HeaderGroup } from 'react-table';
3
3
  interface Props {
4
- headerGroup: HeaderGroup<object>;
4
+ headerGroup: HeaderGroup;
5
5
  }
6
6
  export declare const MRT_TableHeadRow: FC<Props>;
7
7
  export {};
package/dist/index.d.ts CHANGED
@@ -1 +1,3 @@
1
+ import MaterialReactTable from './MaterialReactTable';
2
+ export default MaterialReactTable;
1
3
  export * from './MaterialReactTable';
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ }
4
+ export declare const MRT_DensePaddingSwitch: FC<Props>;
5
+ export {};
@@ -3,5 +3,5 @@ import { HeaderGroup } from 'react-table';
3
3
  interface Props {
4
4
  column: HeaderGroup;
5
5
  }
6
- export declare const MRT_TableHeadCell: FC<Props>;
6
+ export declare const MRT_FilterTextfield: FC<Props>;
7
7
  export {};
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ interface Props {
3
+ }
4
+ export declare const MRT_SearchTextField: FC<Props>;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const MRT_SelectAllCheckbox: () => JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ import { Row } from 'react-table';
3
+ interface Props {
4
+ row: Row;
5
+ }
6
+ export declare const MRT_SelectCheckbox: FC<Props>;
7
+ export {};