material-react-table 1.15.0 → 2.0.0-alpha.0
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.
- package/dist/cjs/index.js +1626 -1324
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +7 -11
- package/dist/cjs/types/body/MRT_TableBody.d.ts +4 -5
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +5 -5
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +4 -4
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +5 -6
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +5 -5
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +6 -6
- package/dist/cjs/types/body/index.d.ts +6 -0
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/cjs/types/buttons/index.d.ts +12 -0
- package/dist/cjs/types/column.utils.d.ts +39 -51
- package/dist/cjs/types/filterFns.d.ts +14 -14
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +4 -4
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +4 -4
- package/dist/cjs/types/footer/index.d.ts +3 -0
- package/dist/cjs/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +4 -4
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +4 -4
- package/dist/cjs/types/head/index.d.ts +9 -0
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +2 -0
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +2 -0
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +2 -0
- package/dist/cjs/types/index.d.ts +14 -25
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +2 -3
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +4 -4
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +2 -2
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +4 -4
- package/dist/cjs/types/inputs/index.d.ts +7 -0
- package/dist/cjs/types/locales/ar.d.ts +2 -0
- package/dist/cjs/types/locales/bg.d.ts +2 -0
- package/dist/cjs/types/locales/et.d.ts +2 -0
- package/dist/cjs/types/locales/ko.d.ts +2 -0
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +2 -2
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +4 -4
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
- package/dist/cjs/types/menus/index.d.ts +5 -0
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +7 -0
- package/dist/cjs/types/modals/index.d.ts +1 -0
- package/dist/cjs/types/sortingFns.d.ts +3 -2
- package/dist/cjs/types/table/MRT_Table.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/cjs/types/table/index.d.ts +4 -0
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -2
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +2 -2
- package/dist/cjs/types/toolbar/index.d.ts +7 -0
- package/dist/cjs/types/types.d.ts +115 -84
- package/dist/cjs/types/useMaterialReactTable.d.ts +2 -0
- package/dist/esm/material-react-table.esm.js +1556 -1318
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +7 -11
- package/dist/esm/types/body/MRT_TableBody.d.ts +4 -5
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +5 -5
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +4 -4
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +5 -6
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +5 -5
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +6 -6
- package/dist/esm/types/body/index.d.ts +6 -0
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +3 -3
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +7 -0
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +2 -2
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +2 -2
- package/dist/esm/types/buttons/index.d.ts +12 -0
- package/dist/esm/types/column.utils.d.ts +39 -51
- package/dist/esm/types/filterFns.d.ts +14 -14
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +3 -3
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +4 -4
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +4 -4
- package/dist/esm/types/footer/index.d.ts +3 -0
- package/dist/esm/types/head/MRT_TableHead.d.ts +3 -3
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +4 -4
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +4 -4
- package/dist/esm/types/head/index.d.ts +9 -0
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +9 -0
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +2 -0
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +2 -0
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +2 -0
- package/dist/esm/types/index.d.ts +14 -25
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +2 -3
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +4 -4
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +2 -2
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +4 -4
- package/dist/esm/types/inputs/index.d.ts +7 -0
- package/dist/esm/types/locales/ar.d.ts +2 -0
- package/dist/esm/types/locales/bg.d.ts +2 -0
- package/dist/esm/types/locales/et.d.ts +2 -0
- package/dist/esm/types/locales/ko.d.ts +2 -0
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +4 -4
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +2 -2
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +4 -4
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +2 -2
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +2 -2
- package/dist/esm/types/menus/index.d.ts +5 -0
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +7 -0
- package/dist/esm/types/modals/index.d.ts +1 -0
- package/dist/esm/types/sortingFns.d.ts +3 -2
- package/dist/esm/types/table/MRT_Table.d.ts +3 -3
- package/dist/esm/types/table/MRT_TableContainer.d.ts +3 -3
- package/dist/esm/types/table/MRT_TablePaper.d.ts +3 -3
- package/dist/esm/types/table/index.d.ts +4 -0
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +2 -2
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +2 -2
- package/dist/esm/types/toolbar/index.d.ts +7 -0
- package/dist/esm/types/types.d.ts +115 -84
- package/dist/esm/types/useMaterialReactTable.d.ts +2 -0
- package/dist/index.d.ts +598 -148
- package/locales/ar.d.ts +2 -0
- package/locales/ar.esm.d.ts +2 -0
- package/locales/ar.esm.js +93 -0
- package/locales/ar.esm.js.map +1 -0
- package/locales/ar.js +97 -0
- package/locales/ar.js.map +1 -0
- package/locales/bg.d.ts +2 -0
- package/locales/bg.esm.d.ts +2 -0
- package/locales/bg.esm.js +93 -0
- package/locales/bg.esm.js.map +1 -0
- package/locales/bg.js +97 -0
- package/locales/bg.js.map +1 -0
- package/locales/cs.esm.js +1 -2
- package/locales/cs.esm.js.map +1 -1
- package/locales/cs.js +1 -2
- package/locales/cs.js.map +1 -1
- package/locales/da.esm.js +0 -1
- package/locales/da.esm.js.map +1 -1
- package/locales/da.js +0 -1
- package/locales/da.js.map +1 -1
- package/locales/de.esm.js +0 -1
- package/locales/de.esm.js.map +1 -1
- package/locales/de.js +0 -1
- package/locales/de.js.map +1 -1
- package/locales/en.esm.js +0 -1
- package/locales/en.esm.js.map +1 -1
- package/locales/en.js +0 -1
- package/locales/en.js.map +1 -1
- package/locales/es.esm.js +0 -1
- package/locales/es.esm.js.map +1 -1
- package/locales/es.js +0 -1
- package/locales/es.js.map +1 -1
- package/locales/et.d.ts +2 -0
- package/locales/et.esm.d.ts +2 -0
- package/locales/et.esm.js +93 -0
- package/locales/et.esm.js.map +1 -0
- package/locales/et.js +97 -0
- package/locales/et.js.map +1 -0
- package/locales/fa.esm.js +0 -1
- package/locales/fa.esm.js.map +1 -1
- package/locales/fa.js +0 -1
- package/locales/fa.js.map +1 -1
- package/locales/fi.esm.js +0 -1
- package/locales/fi.esm.js.map +1 -1
- package/locales/fi.js +0 -1
- package/locales/fi.js.map +1 -1
- package/locales/fr.esm.js +0 -1
- package/locales/fr.esm.js.map +1 -1
- package/locales/fr.js +0 -1
- package/locales/fr.js.map +1 -1
- package/locales/hu.esm.js +0 -1
- package/locales/hu.esm.js.map +1 -1
- package/locales/hu.js +0 -1
- package/locales/hu.js.map +1 -1
- package/locales/id.esm.js +0 -1
- package/locales/id.esm.js.map +1 -1
- package/locales/id.js +0 -1
- package/locales/id.js.map +1 -1
- package/locales/it.esm.js +0 -1
- package/locales/it.esm.js.map +1 -1
- package/locales/it.js +0 -1
- package/locales/it.js.map +1 -1
- package/locales/ja.esm.js +0 -1
- package/locales/ja.esm.js.map +1 -1
- package/locales/ja.js +0 -1
- package/locales/ja.js.map +1 -1
- package/locales/ko.d.ts +2 -0
- package/locales/ko.esm.d.ts +2 -0
- package/locales/ko.esm.js +93 -0
- package/locales/ko.esm.js.map +1 -0
- package/locales/ko.js +97 -0
- package/locales/ko.js.map +1 -0
- package/locales/nl.esm.js +0 -1
- package/locales/nl.esm.js.map +1 -1
- package/locales/nl.js +0 -1
- package/locales/nl.js.map +1 -1
- package/locales/no.esm.js +0 -1
- package/locales/no.esm.js.map +1 -1
- package/locales/no.js +0 -1
- package/locales/no.js.map +1 -1
- package/locales/pl.esm.js +0 -1
- package/locales/pl.esm.js.map +1 -1
- package/locales/pl.js +0 -1
- package/locales/pl.js.map +1 -1
- package/locales/pt-BR.esm.js +0 -1
- package/locales/pt-BR.esm.js.map +1 -1
- package/locales/pt-BR.js +0 -1
- package/locales/pt-BR.js.map +1 -1
- package/locales/pt.esm.js +0 -1
- package/locales/pt.esm.js.map +1 -1
- package/locales/pt.js +0 -1
- package/locales/pt.js.map +1 -1
- package/locales/ro.esm.js +0 -1
- package/locales/ro.esm.js.map +1 -1
- package/locales/ro.js +0 -1
- package/locales/ro.js.map +1 -1
- package/locales/ru.esm.js +0 -1
- package/locales/ru.esm.js.map +1 -1
- package/locales/ru.js +0 -1
- package/locales/ru.js.map +1 -1
- package/locales/sk.esm.js +0 -1
- package/locales/sk.esm.js.map +1 -1
- package/locales/sk.js +0 -1
- package/locales/sk.js.map +1 -1
- package/locales/sr-Cyrl-RS.esm.js +0 -1
- package/locales/sr-Cyrl-RS.esm.js.map +1 -1
- package/locales/sr-Cyrl-RS.js +0 -1
- package/locales/sr-Cyrl-RS.js.map +1 -1
- package/locales/sr-Latn-RS.esm.js +0 -1
- package/locales/sr-Latn-RS.esm.js.map +1 -1
- package/locales/sr-Latn-RS.js +0 -1
- package/locales/sr-Latn-RS.js.map +1 -1
- package/locales/sv.esm.js +0 -1
- package/locales/sv.esm.js.map +1 -1
- package/locales/sv.js +0 -1
- package/locales/sv.js.map +1 -1
- package/locales/tr.esm.js +0 -1
- package/locales/tr.esm.js.map +1 -1
- package/locales/tr.js +0 -1
- package/locales/tr.js.map +1 -1
- package/locales/uk.esm.js +0 -1
- package/locales/uk.esm.js.map +1 -1
- package/locales/uk.js +0 -1
- package/locales/uk.js.map +1 -1
- package/locales/vi.esm.js +0 -1
- package/locales/vi.esm.js.map +1 -1
- package/locales/vi.js +0 -1
- package/locales/vi.js.map +1 -1
- package/locales/zh-Hans.esm.js +7 -8
- package/locales/zh-Hans.esm.js.map +1 -1
- package/locales/zh-Hans.js +7 -8
- package/locales/zh-Hans.js.map +1 -1
- package/locales/zh-Hant.esm.js +1 -2
- package/locales/zh-Hant.esm.js.map +1 -1
- package/locales/zh-Hant.js +1 -2
- package/locales/zh-Hant.js.map +1 -1
- package/package.json +10 -8
- package/src/MaterialReactTable.tsx +31 -168
- package/src/body/MRT_TableBody.tsx +10 -23
- package/src/body/MRT_TableBodyCell.tsx +35 -38
- package/src/body/MRT_TableBodyCellValue.tsx +7 -4
- package/src/body/MRT_TableBodyRow.tsx +7 -7
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +13 -10
- package/src/body/MRT_TableDetailPanel.tsx +11 -11
- package/src/body/index.ts +6 -0
- package/src/buttons/MRT_ColumnPinningButtons.tsx +2 -4
- package/src/buttons/MRT_CopyButton.tsx +9 -9
- package/src/buttons/MRT_EditActionButtons.tsx +56 -25
- package/src/buttons/MRT_ExpandAllButton.tsx +5 -3
- package/src/buttons/MRT_ExpandButton.tsx +2 -2
- package/src/buttons/MRT_GrabHandleButton.tsx +2 -2
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +2 -5
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -3
- package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -5
- package/src/buttons/{MRT_FullScreenToggleButton.tsx → MRT_ToggleFullScreenButton.tsx} +13 -6
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +16 -8
- package/src/buttons/index.ts +12 -0
- package/src/column.utils.ts +96 -45
- package/src/filterFns.ts +14 -14
- package/src/footer/MRT_TableFooter.tsx +4 -4
- package/src/footer/MRT_TableFooterCell.tsx +7 -4
- package/src/footer/MRT_TableFooterRow.tsx +6 -6
- package/src/footer/index.ts +3 -0
- package/src/head/MRT_TableHead.tsx +4 -4
- package/src/head/MRT_TableHeadCell.tsx +7 -4
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +14 -12
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +9 -4
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +9 -4
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +13 -13
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +9 -4
- package/src/head/MRT_TableHeadCellSortLabel.tsx +8 -6
- package/src/head/MRT_TableHeadRow.tsx +6 -6
- package/src/head/index.ts +9 -0
- package/src/hooks/useMRT_DisplayColumns.tsx +142 -0
- package/src/hooks/useMRT_Effects.ts +77 -0
- package/src/hooks/useMRT_TableInstance.ts +291 -0
- package/src/hooks/useMRT_TableOptions.ts +169 -0
- package/src/index.ts +16 -0
- package/src/inputs/MRT_EditCellTextField.tsx +39 -25
- package/src/inputs/MRT_FilterCheckbox.tsx +14 -11
- package/src/inputs/MRT_FilterRangeFields.tsx +7 -4
- package/src/inputs/MRT_FilterRangeSlider.tsx +18 -19
- package/src/inputs/MRT_FilterTextField.tsx +15 -15
- package/src/inputs/MRT_GlobalFilterTextField.tsx +2 -4
- package/src/inputs/MRT_SelectCheckbox.tsx +8 -4
- package/src/inputs/index.ts +7 -0
- package/src/locales/ar.ts +94 -0
- package/src/locales/bg.ts +93 -0
- package/src/{_locales → locales}/cs.ts +1 -2
- package/src/{_locales → locales}/da.ts +0 -1
- package/src/{_locales → locales}/de.ts +0 -1
- package/src/{_locales → locales}/en.ts +1 -1
- package/src/{_locales → locales}/es.ts +0 -1
- package/src/locales/et.ts +94 -0
- package/src/{_locales → locales}/fa.ts +0 -1
- package/src/{_locales → locales}/fi.ts +0 -1
- package/src/{_locales → locales}/fr.ts +0 -1
- package/src/{_locales → locales}/hu.ts +0 -1
- package/src/{_locales → locales}/id.ts +0 -1
- package/src/{_locales → locales}/it.ts +0 -1
- package/src/{_locales → locales}/ja.ts +0 -1
- package/src/locales/ko.ts +93 -0
- package/src/{_locales → locales}/nl.ts +0 -1
- package/src/{_locales → locales}/no.ts +1 -1
- package/src/{_locales → locales}/pl.ts +0 -1
- package/src/{_locales → locales}/pt-BR.ts +0 -1
- package/src/{_locales → locales}/pt.ts +0 -1
- package/src/{_locales → locales}/ro.ts +0 -1
- package/src/{_locales → locales}/ru.ts +0 -1
- package/src/{_locales → locales}/sk.ts +0 -1
- package/src/{_locales → locales}/sr-Cyrl-RS.ts +0 -1
- package/src/{_locales → locales}/sr-Latn-RS.ts +0 -1
- package/src/{_locales → locales}/sv.ts +0 -1
- package/src/{_locales → locales}/tr.ts +0 -1
- package/src/{_locales → locales}/uk.ts +0 -1
- package/src/{_locales → locales}/vi.ts +0 -1
- package/src/{_locales → locales}/zh-Hans.ts +7 -8
- package/src/{_locales → locales}/zh-Hant.ts +1 -2
- package/src/menus/MRT_ColumnActionMenu.tsx +8 -8
- package/src/menus/MRT_FilterOptionMenu.tsx +4 -3
- package/src/menus/MRT_RowActionMenu.tsx +5 -5
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +4 -6
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +4 -4
- package/src/menus/index.ts +5 -0
- package/src/modals/MRT_EditRowModal.tsx +115 -0
- package/src/modals/index.ts +1 -0
- package/src/sortingFns.ts +6 -2
- package/src/table/MRT_Table.tsx +40 -33
- package/src/table/MRT_TableContainer.tsx +23 -5
- package/src/table/MRT_TablePaper.tsx +13 -4
- package/src/table/index.ts +4 -0
- package/src/toolbar/MRT_BottomToolbar.tsx +2 -2
- package/src/toolbar/MRT_LinearProgressBar.tsx +2 -2
- package/src/toolbar/MRT_TablePagination.tsx +2 -2
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -2
- package/src/toolbar/MRT_ToolbarDropZone.tsx +2 -2
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +6 -8
- package/src/toolbar/MRT_TopToolbar.tsx +2 -2
- package/src/toolbar/index.ts +7 -0
- package/src/types.ts +781 -765
- package/src/useMaterialReactTable.ts +11 -0
- package/dist/cjs/types/body/MRT_EditRowModal.d.ts +0 -8
- package/dist/cjs/types/buttons/MRT_FullScreenToggleButton.d.ts +0 -7
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +0 -1
- package/dist/esm/types/body/MRT_EditRowModal.d.ts +0 -8
- package/dist/esm/types/buttons/MRT_FullScreenToggleButton.d.ts +0 -7
- package/dist/esm/types/table/MRT_TableRoot.d.ts +0 -1
- package/src/body/MRT_EditRowModal.tsx +0 -57
- package/src/index.tsx +0 -50
- package/src/table/MRT_TableRoot.tsx +0 -421
- /package/dist/cjs/types/{_locales → locales}/cs.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/da.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/de.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/en.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/es.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fa.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fi.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/fr.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/hu.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/id.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/it.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ja.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/nl.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/no.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pl.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pt-BR.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/pt.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ro.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/ru.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sk.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sr-Cyrl-RS.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sr-Latn-RS.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/sv.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/tr.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/uk.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/vi.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/zh-Hans.d.ts +0 -0
- /package/dist/cjs/types/{_locales → locales}/zh-Hant.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/cs.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/da.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/de.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/en.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/es.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fa.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fi.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/fr.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/hu.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/id.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/it.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ja.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/nl.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/no.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pl.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pt-BR.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/pt.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ro.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/ru.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sk.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sr-Cyrl-RS.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sr-Latn-RS.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/sv.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/tr.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/uk.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/vi.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/zh-Hans.d.ts +0 -0
- /package/dist/esm/types/{_locales → locales}/zh-Hant.d.ts +0 -0
@@ -1,172 +1,35 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
export const MaterialReactTable = <TData extends Record<string, any> = {}>({
|
14
|
-
aggregationFns,
|
15
|
-
autoResetExpanded = false,
|
16
|
-
columnResizeMode = 'onChange',
|
17
|
-
defaultColumn,
|
18
|
-
defaultDisplayColumn,
|
19
|
-
editingMode = 'modal',
|
20
|
-
enableBottomToolbar = true,
|
21
|
-
enableColumnActions = true,
|
22
|
-
enableColumnFilters = true,
|
23
|
-
enableColumnOrdering = false,
|
24
|
-
enableColumnResizing = false,
|
25
|
-
enableDensityToggle = true,
|
26
|
-
enableExpandAll = true,
|
27
|
-
enableExpanding,
|
28
|
-
enableFilterMatchHighlighting = true,
|
29
|
-
enableFilters = true,
|
30
|
-
enableFullScreenToggle = true,
|
31
|
-
enableGlobalFilter = true,
|
32
|
-
enableGlobalFilterRankedResults = true,
|
33
|
-
enableGrouping = false,
|
34
|
-
enableHiding = true,
|
35
|
-
enableMultiRowSelection = true,
|
36
|
-
enableMultiSort = true,
|
37
|
-
enablePagination = true,
|
38
|
-
enablePinning = false,
|
39
|
-
enableRowSelection = false,
|
40
|
-
enableSelectAll = true,
|
41
|
-
enableSorting = true,
|
42
|
-
enableStickyHeader = false,
|
43
|
-
enableTableFooter = true,
|
44
|
-
enableTableHead = true,
|
45
|
-
enableToolbarInternalActions = true,
|
46
|
-
enableTopToolbar = true,
|
47
|
-
filterFns,
|
48
|
-
icons,
|
49
|
-
layoutMode = 'semantic',
|
50
|
-
localization,
|
51
|
-
manualFiltering,
|
52
|
-
manualGrouping,
|
53
|
-
manualPagination,
|
54
|
-
manualSorting,
|
55
|
-
positionActionsColumn = 'first',
|
56
|
-
positionExpandColumn = 'first',
|
57
|
-
positionGlobalFilter = 'right',
|
58
|
-
positionPagination = 'bottom',
|
59
|
-
positionToolbarAlertBanner = 'top',
|
60
|
-
positionToolbarDropZone = 'top',
|
61
|
-
rowNumberMode = 'original',
|
62
|
-
selectAllMode = 'page',
|
63
|
-
sortingFns,
|
64
|
-
...rest
|
65
|
-
}: MaterialReactTableProps<TData>) => {
|
66
|
-
const _icons = useMemo(() => ({ ...MRT_Default_Icons, ...icons }), [icons]);
|
67
|
-
const _localization = useMemo(
|
68
|
-
() => ({
|
69
|
-
...MRT_Localization_EN,
|
70
|
-
...localization,
|
71
|
-
}),
|
72
|
-
[localization],
|
73
|
-
);
|
74
|
-
const _aggregationFns = useMemo(
|
75
|
-
() => ({ ...MRT_AggregationFns, ...aggregationFns }),
|
76
|
-
[],
|
77
|
-
);
|
78
|
-
const _filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), []);
|
79
|
-
const _sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), []);
|
80
|
-
const _defaultColumn = useMemo(
|
81
|
-
() => ({ ...MRT_DefaultColumn, ...defaultColumn }),
|
82
|
-
[defaultColumn],
|
83
|
-
);
|
84
|
-
const _defaultDisplayColumn = useMemo(
|
85
|
-
() => ({
|
86
|
-
...MRT_DefaultDisplayColumn,
|
87
|
-
...defaultDisplayColumn,
|
88
|
-
}),
|
89
|
-
[defaultDisplayColumn],
|
90
|
-
);
|
91
|
-
|
92
|
-
if (rest.enableRowVirtualization || rest.enableColumnVirtualization) {
|
93
|
-
layoutMode = 'grid';
|
94
|
-
}
|
95
|
-
|
96
|
-
if (rest.enableRowVirtualization) {
|
97
|
-
enableStickyHeader = true;
|
98
|
-
}
|
99
|
-
|
100
|
-
if (enablePagination === false && manualPagination === undefined) {
|
101
|
-
manualPagination = true;
|
102
|
-
}
|
1
|
+
import { useMaterialReactTable } from './useMaterialReactTable';
|
2
|
+
import { MRT_TablePaper } from './table/MRT_TablePaper';
|
3
|
+
import {
|
4
|
+
type MRT_TableOptions,
|
5
|
+
type MRT_TableInstance,
|
6
|
+
type Xor,
|
7
|
+
} from './types';
|
8
|
+
|
9
|
+
type TableInstanceProp<TData extends Record<string, any> = {}> = {
|
10
|
+
table: MRT_TableInstance<TData>;
|
11
|
+
};
|
103
12
|
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
13
|
+
type Props<TData extends Record<string, any> = {}> = Xor<
|
14
|
+
TableInstanceProp<TData>,
|
15
|
+
MRT_TableOptions<TData>
|
16
|
+
>;
|
17
|
+
|
18
|
+
const isTableInstanceProp = <TData extends Record<string, any> = {}>(
|
19
|
+
props: Props<TData>,
|
20
|
+
): props is TableInstanceProp<TData> =>
|
21
|
+
(props as TableInstanceProp<TData>).table !== undefined;
|
22
|
+
|
23
|
+
export const MaterialReactTable = <TData extends Record<string, any> = {}>(
|
24
|
+
props: Props<TData>,
|
25
|
+
) => {
|
26
|
+
let table: MRT_TableInstance<TData>;
|
27
|
+
|
28
|
+
if (isTableInstanceProp(props)) {
|
29
|
+
table = props.table;
|
30
|
+
} else {
|
31
|
+
table = useMaterialReactTable(props);
|
109
32
|
}
|
110
33
|
|
111
|
-
return
|
112
|
-
<MRT_TableRoot
|
113
|
-
aggregationFns={_aggregationFns}
|
114
|
-
autoResetExpanded={autoResetExpanded}
|
115
|
-
columnResizeMode={columnResizeMode}
|
116
|
-
defaultColumn={_defaultColumn}
|
117
|
-
defaultDisplayColumn={_defaultDisplayColumn}
|
118
|
-
editingMode={editingMode}
|
119
|
-
enableBottomToolbar={enableBottomToolbar}
|
120
|
-
enableColumnActions={enableColumnActions}
|
121
|
-
enableColumnFilters={enableColumnFilters}
|
122
|
-
enableColumnOrdering={enableColumnOrdering}
|
123
|
-
enableColumnResizing={enableColumnResizing}
|
124
|
-
enableDensityToggle={enableDensityToggle}
|
125
|
-
enableExpandAll={enableExpandAll}
|
126
|
-
enableExpanding={enableExpanding}
|
127
|
-
enableFilterMatchHighlighting={enableFilterMatchHighlighting}
|
128
|
-
enableFilters={enableFilters}
|
129
|
-
enableFullScreenToggle={enableFullScreenToggle}
|
130
|
-
enableGlobalFilter={enableGlobalFilter}
|
131
|
-
enableGlobalFilterRankedResults={enableGlobalFilterRankedResults}
|
132
|
-
enableGrouping={enableGrouping}
|
133
|
-
enableHiding={enableHiding}
|
134
|
-
enableMultiRowSelection={enableMultiRowSelection}
|
135
|
-
enableMultiSort={enableMultiSort}
|
136
|
-
enablePagination={enablePagination}
|
137
|
-
enablePinning={enablePinning}
|
138
|
-
enableRowSelection={enableRowSelection}
|
139
|
-
enableSelectAll={enableSelectAll}
|
140
|
-
enableSorting={enableSorting}
|
141
|
-
enableStickyHeader={enableStickyHeader}
|
142
|
-
enableTableFooter={enableTableFooter}
|
143
|
-
enableTableHead={enableTableHead}
|
144
|
-
enableToolbarInternalActions={enableToolbarInternalActions}
|
145
|
-
enableTopToolbar={enableTopToolbar}
|
146
|
-
filterFns={_filterFns}
|
147
|
-
icons={_icons}
|
148
|
-
layoutMode={layoutMode}
|
149
|
-
localization={_localization}
|
150
|
-
manualFiltering={manualFiltering}
|
151
|
-
manualGrouping={manualGrouping}
|
152
|
-
manualPagination={manualPagination}
|
153
|
-
manualSorting={manualSorting}
|
154
|
-
positionActionsColumn={positionActionsColumn}
|
155
|
-
positionExpandColumn={positionExpandColumn}
|
156
|
-
positionGlobalFilter={positionGlobalFilter}
|
157
|
-
positionPagination={positionPagination}
|
158
|
-
positionToolbarAlertBanner={positionToolbarAlertBanner}
|
159
|
-
positionToolbarDropZone={positionToolbarDropZone}
|
160
|
-
rowNumberMode={rowNumberMode}
|
161
|
-
selectAllMode={selectAllMode}
|
162
|
-
sortingFns={_sortingFns}
|
163
|
-
{...rest}
|
164
|
-
/>
|
165
|
-
);
|
34
|
+
return <MRT_TablePaper table={table} />;
|
166
35
|
};
|
167
|
-
|
168
|
-
/**
|
169
|
-
* @deprecated Use named exports instead of default export (will be removed in v2)
|
170
|
-
* @example import { MaterialReactTable } from 'material-react-table';
|
171
|
-
*/
|
172
|
-
export default MaterialReactTable;
|
@@ -10,21 +10,21 @@ import { Memo_MRT_TableBodyRow, MRT_TableBodyRow } from './MRT_TableBodyRow';
|
|
10
10
|
import { rankGlobalFuzzy } from '../sortingFns';
|
11
11
|
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
12
12
|
|
13
|
-
interface Props {
|
13
|
+
interface Props<TData extends Record<string, any>> {
|
14
14
|
columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
15
|
-
table: MRT_TableInstance
|
15
|
+
table: MRT_TableInstance<TData>;
|
16
16
|
virtualColumns?: VirtualItem[];
|
17
17
|
virtualPaddingLeft?: number;
|
18
18
|
virtualPaddingRight?: number;
|
19
19
|
}
|
20
20
|
|
21
|
-
export const MRT_TableBody = ({
|
21
|
+
export const MRT_TableBody = <TData extends Record<string, any>>({
|
22
22
|
columnVirtualizer,
|
23
23
|
table,
|
24
24
|
virtualColumns,
|
25
25
|
virtualPaddingLeft,
|
26
26
|
virtualPaddingRight,
|
27
|
-
}: Props) => {
|
27
|
+
}: Props<TData>) => {
|
28
28
|
const {
|
29
29
|
getRowModel,
|
30
30
|
getPrePaginationRowModel,
|
@@ -44,9 +44,7 @@ export const MRT_TableBody = ({
|
|
44
44
|
muiTableBodyProps,
|
45
45
|
renderEmptyRowsFallback,
|
46
46
|
rowVirtualizerInstanceRef,
|
47
|
-
|
48
|
-
virtualizerInstanceRef,
|
49
|
-
virtualizerProps,
|
47
|
+
rowVirtualizerOptions,
|
50
48
|
},
|
51
49
|
refs: { tableContainerRef, tablePaperRef },
|
52
50
|
} = table;
|
@@ -65,15 +63,10 @@ export const MRT_TableBody = ({
|
|
65
63
|
? muiTableBodyProps({ table })
|
66
64
|
: muiTableBodyProps;
|
67
65
|
|
68
|
-
const vProps_old =
|
69
|
-
virtualizerProps instanceof Function
|
70
|
-
? virtualizerProps({ table })
|
71
|
-
: virtualizerProps;
|
72
|
-
|
73
66
|
const vProps =
|
74
|
-
|
75
|
-
?
|
76
|
-
:
|
67
|
+
rowVirtualizerOptions instanceof Function
|
68
|
+
? rowVirtualizerOptions({ table })
|
69
|
+
: rowVirtualizerOptions;
|
77
70
|
|
78
71
|
const shouldRankResults = useMemo(
|
79
72
|
() =>
|
@@ -130,7 +123,6 @@ export const MRT_TableBody = ({
|
|
130
123
|
? (element) => element?.getBoundingClientRect().height
|
131
124
|
: undefined,
|
132
125
|
overscan: 4,
|
133
|
-
...vProps_old,
|
134
126
|
...vProps,
|
135
127
|
})
|
136
128
|
: undefined;
|
@@ -139,11 +131,6 @@ export const MRT_TableBody = ({
|
|
139
131
|
rowVirtualizerInstanceRef.current = rowVirtualizer;
|
140
132
|
}
|
141
133
|
|
142
|
-
//deprecated
|
143
|
-
if (virtualizerInstanceRef && rowVirtualizer) {
|
144
|
-
virtualizerInstanceRef.current = rowVirtualizer;
|
145
|
-
}
|
146
|
-
|
147
134
|
const virtualRows = rowVirtualizer
|
148
135
|
? rowVirtualizer.getVirtualItems()
|
149
136
|
: undefined;
|
@@ -197,7 +184,7 @@ export const MRT_TableBody = ({
|
|
197
184
|
{(virtualRows ?? rows).map((rowOrVirtualRow, rowIndex) => {
|
198
185
|
const row = rowVirtualizer
|
199
186
|
? rows[rowOrVirtualRow.index]
|
200
|
-
: (rowOrVirtualRow as MRT_Row);
|
187
|
+
: (rowOrVirtualRow as MRT_Row<TData>);
|
201
188
|
const props = {
|
202
189
|
columnVirtualizer,
|
203
190
|
measureElement: rowVirtualizer?.measureElement,
|
@@ -227,4 +214,4 @@ export const MRT_TableBody = ({
|
|
227
214
|
export const Memo_MRT_TableBody = memo(
|
228
215
|
MRT_TableBody,
|
229
216
|
(prev, next) => prev.table.options.data === next.table.options.data,
|
230
|
-
);
|
217
|
+
) as typeof MRT_TableBody;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import {
|
2
|
-
type DragEvent,
|
3
2
|
memo,
|
3
|
+
type DragEvent,
|
4
4
|
type MouseEvent,
|
5
5
|
type RefObject,
|
6
6
|
useEffect,
|
@@ -22,17 +22,17 @@ import {
|
|
22
22
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
23
23
|
import { type MRT_Cell, type MRT_TableInstance } from '../types';
|
24
24
|
|
25
|
-
interface Props {
|
26
|
-
cell: MRT_Cell
|
25
|
+
interface Props<TData extends Record<string, any>> {
|
26
|
+
cell: MRT_Cell<TData>;
|
27
27
|
measureElement?: (element: HTMLTableCellElement) => void;
|
28
28
|
numRows: number;
|
29
29
|
rowIndex: number;
|
30
30
|
rowRef: RefObject<HTMLTableRowElement>;
|
31
|
-
table: MRT_TableInstance
|
31
|
+
table: MRT_TableInstance<TData>;
|
32
32
|
virtualCell?: VirtualItem;
|
33
33
|
}
|
34
34
|
|
35
|
-
export const MRT_TableBodyCell = ({
|
35
|
+
export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
36
36
|
cell,
|
37
37
|
measureElement,
|
38
38
|
numRows,
|
@@ -40,12 +40,13 @@ export const MRT_TableBodyCell = ({
|
|
40
40
|
rowRef,
|
41
41
|
table,
|
42
42
|
virtualCell,
|
43
|
-
}: Props) => {
|
43
|
+
}: Props<TData>) => {
|
44
44
|
const theme = useTheme();
|
45
45
|
const {
|
46
46
|
getState,
|
47
47
|
options: {
|
48
|
-
|
48
|
+
createDisplayMode,
|
49
|
+
editDisplayMode,
|
49
50
|
enableClickToCopy,
|
50
51
|
enableColumnOrdering,
|
51
52
|
enableEditing,
|
@@ -53,7 +54,7 @@ export const MRT_TableBodyCell = ({
|
|
53
54
|
enableRowNumbers,
|
54
55
|
layoutMode,
|
55
56
|
muiTableBodyCellProps,
|
56
|
-
|
57
|
+
muiSkeletonProps,
|
57
58
|
rowNumberMode,
|
58
59
|
},
|
59
60
|
refs: { editInputRefs },
|
@@ -61,6 +62,7 @@ export const MRT_TableBodyCell = ({
|
|
61
62
|
setHoveredColumn,
|
62
63
|
} = table;
|
63
64
|
const {
|
65
|
+
creatingRow,
|
64
66
|
draggingColumn,
|
65
67
|
draggingRow,
|
66
68
|
editingCell,
|
@@ -91,25 +93,20 @@ export const MRT_TableBodyCell = ({
|
|
91
93
|
};
|
92
94
|
|
93
95
|
const skeletonProps =
|
94
|
-
|
95
|
-
?
|
96
|
-
:
|
96
|
+
muiSkeletonProps instanceof Function
|
97
|
+
? muiSkeletonProps({ cell, column, row, table })
|
98
|
+
: muiSkeletonProps;
|
97
99
|
|
98
|
-
const [skeletonWidth, setSkeletonWidth] = useState(
|
99
|
-
useEffect(
|
100
|
-
()
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
)
|
109
|
-
: 100,
|
110
|
-
),
|
111
|
-
[],
|
112
|
-
);
|
100
|
+
const [skeletonWidth, setSkeletonWidth] = useState(100);
|
101
|
+
useEffect(() => {
|
102
|
+
if ((!isLoading && !showSkeletons) || skeletonWidth !== 100) return;
|
103
|
+
const size = column.getSize();
|
104
|
+
setSkeletonWidth(
|
105
|
+
columnDefType === 'display'
|
106
|
+
? size / 2
|
107
|
+
: Math.round(Math.random() * (size - size / 3) + size / 3),
|
108
|
+
);
|
109
|
+
}, [isLoading, showSkeletons]);
|
113
110
|
|
114
111
|
const draggingBorders = useMemo(() => {
|
115
112
|
const isDraggingColumn = draggingColumn?.id === column.id;
|
@@ -158,15 +155,18 @@ export const MRT_TableBodyCell = ({
|
|
158
155
|
|
159
156
|
const isEditing =
|
160
157
|
isEditable &&
|
161
|
-
|
162
|
-
(
|
158
|
+
!['modal', 'custom'].includes(editDisplayMode as string) &&
|
159
|
+
(editDisplayMode === 'table' ||
|
163
160
|
editingRow?.id === row.id ||
|
164
161
|
editingCell?.id === cell.id) &&
|
165
162
|
!row.getIsGrouped();
|
166
163
|
|
164
|
+
const isCreating =
|
165
|
+
isEditable && createDisplayMode === 'row' && creatingRow?.id === row.id;
|
166
|
+
|
167
167
|
const handleDoubleClick = (event: MouseEvent<HTMLTableCellElement>) => {
|
168
168
|
tableCellProps?.onDoubleClick?.(event);
|
169
|
-
if (isEditable &&
|
169
|
+
if (isEditable && editDisplayMode === 'cell') {
|
170
170
|
setEditingCell(cell);
|
171
171
|
queueMicrotask(() => {
|
172
172
|
const textField = editInputRefs.current[column.id];
|
@@ -203,7 +203,8 @@ export const MRT_TableBodyCell = ({
|
|
203
203
|
onDoubleClick={handleDoubleClick}
|
204
204
|
sx={(theme) => ({
|
205
205
|
alignItems: layoutMode === 'grid' ? 'center' : undefined,
|
206
|
-
cursor:
|
206
|
+
cursor:
|
207
|
+
isEditable && editDisplayMode === 'cell' ? 'pointer' : 'inherit',
|
207
208
|
justifyContent:
|
208
209
|
layoutMode === 'grid' ? tableCellProps.align : undefined,
|
209
210
|
overflow: 'hidden',
|
@@ -235,7 +236,7 @@ export const MRT_TableBodyCell = ({
|
|
235
236
|
zIndex:
|
236
237
|
draggingColumn?.id === column.id ? 2 : column.getIsPinned() ? 1 : 0,
|
237
238
|
'&:hover': {
|
238
|
-
outline: ['table', 'cell'].includes(
|
239
|
+
outline: ['table', 'cell'].includes(editDisplayMode ?? '')
|
239
240
|
? `1px solid ${theme.palette.text.secondary}`
|
240
241
|
: undefined,
|
241
242
|
outlineOffset: '-1px',
|
@@ -265,11 +266,7 @@ export const MRT_TableBodyCell = ({
|
|
265
266
|
column.id === 'mrt-row-numbers' ? (
|
266
267
|
rowIndex + 1
|
267
268
|
) : column.id === 'mrt-row-drag' ? (
|
268
|
-
<MRT_TableBodyRowGrabHandle
|
269
|
-
cell={cell}
|
270
|
-
rowRef={rowRef}
|
271
|
-
table={table}
|
272
|
-
/>
|
269
|
+
<MRT_TableBodyRowGrabHandle row={row} rowRef={rowRef} table={table} />
|
273
270
|
) : columnDefType === 'display' &&
|
274
271
|
(column.id === 'mrt-row-select' ||
|
275
272
|
column.id === 'mrt-row-expand' ||
|
@@ -281,7 +278,7 @@ export const MRT_TableBodyCell = ({
|
|
281
278
|
row,
|
282
279
|
table,
|
283
280
|
})
|
284
|
-
) : isEditing ? (
|
281
|
+
) : isCreating || isEditing ? (
|
285
282
|
<MRT_EditCellTextField cell={cell} table={table} />
|
286
283
|
) : (enableClickToCopy || columnDef.enableClickToCopy) &&
|
287
284
|
columnDef.enableClickToCopy !== false ? (
|
@@ -302,4 +299,4 @@ export const MRT_TableBodyCell = ({
|
|
302
299
|
export const Memo_MRT_TableBodyCell = memo(
|
303
300
|
MRT_TableBodyCell,
|
304
301
|
(prev, next) => next.cell === prev.cell,
|
305
|
-
);
|
302
|
+
) as typeof MRT_TableBodyCell;
|
@@ -6,12 +6,15 @@ import { type MRT_Cell, type MRT_TableInstance } from '../types';
|
|
6
6
|
|
7
7
|
const allowedTypes = ['string', 'number'];
|
8
8
|
|
9
|
-
interface Props {
|
10
|
-
cell: MRT_Cell
|
11
|
-
table: MRT_TableInstance
|
9
|
+
interface Props<TData extends Record<string, any>> {
|
10
|
+
cell: MRT_Cell<TData>;
|
11
|
+
table: MRT_TableInstance<TData>;
|
12
12
|
}
|
13
13
|
|
14
|
-
export const MRT_TableBodyCellValue =
|
14
|
+
export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
|
15
|
+
cell,
|
16
|
+
table,
|
17
|
+
}: Props<TData>) => {
|
15
18
|
const {
|
16
19
|
getState,
|
17
20
|
options: { enableFilterMatchHighlighting },
|
@@ -6,20 +6,20 @@ import { MRT_TableDetailPanel } from './MRT_TableDetailPanel';
|
|
6
6
|
import { type VirtualItem, type Virtualizer } from '@tanstack/react-virtual';
|
7
7
|
import { type MRT_Cell, type MRT_Row, type MRT_TableInstance } from '../types';
|
8
8
|
|
9
|
-
interface Props {
|
9
|
+
interface Props<TData extends Record<string, any>> {
|
10
10
|
columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
11
11
|
measureElement?: (element: HTMLTableRowElement) => void;
|
12
12
|
numRows: number;
|
13
|
-
row: MRT_Row
|
13
|
+
row: MRT_Row<TData>;
|
14
14
|
rowIndex: number;
|
15
|
-
table: MRT_TableInstance
|
15
|
+
table: MRT_TableInstance<TData>;
|
16
16
|
virtualColumns?: VirtualItem[];
|
17
17
|
virtualPaddingLeft?: number;
|
18
18
|
virtualPaddingRight?: number;
|
19
19
|
virtualRow?: VirtualItem;
|
20
20
|
}
|
21
21
|
|
22
|
-
export const MRT_TableBodyRow = ({
|
22
|
+
export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
23
23
|
columnVirtualizer,
|
24
24
|
measureElement,
|
25
25
|
numRows,
|
@@ -30,7 +30,7 @@ export const MRT_TableBodyRow = ({
|
|
30
30
|
virtualPaddingLeft,
|
31
31
|
virtualPaddingRight,
|
32
32
|
virtualRow,
|
33
|
-
}: Props) => {
|
33
|
+
}: Props<TData>) => {
|
34
34
|
const {
|
35
35
|
getState,
|
36
36
|
options: {
|
@@ -108,7 +108,7 @@ export const MRT_TableBodyRow = ({
|
|
108
108
|
{(virtualColumns ?? row.getVisibleCells()).map((cellOrVirtualCell) => {
|
109
109
|
const cell = columnVirtualizer
|
110
110
|
? row.getVisibleCells()[(cellOrVirtualCell as VirtualItem).index]
|
111
|
-
: (cellOrVirtualCell as MRT_Cell);
|
111
|
+
: (cellOrVirtualCell as MRT_Cell<TData>);
|
112
112
|
const props = {
|
113
113
|
cell,
|
114
114
|
measureElement: columnVirtualizer?.measureElement,
|
@@ -151,4 +151,4 @@ export const MRT_TableBodyRow = ({
|
|
151
151
|
export const Memo_MRT_TableBodyRow = memo(
|
152
152
|
MRT_TableBodyRow,
|
153
153
|
(prev, next) => prev.row === next.row && prev.rowIndex === next.rowIndex,
|
154
|
-
);
|
154
|
+
) as typeof MRT_TableBodyRow;
|
@@ -1,23 +1,26 @@
|
|
1
1
|
import { type DragEvent, type RefObject } from 'react';
|
2
|
-
import { type MRT_Cell, type MRT_TableInstance } from '../types';
|
3
2
|
import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
|
3
|
+
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
4
4
|
|
5
|
-
interface Props {
|
6
|
-
|
5
|
+
interface Props<TData extends Record<string, any>> {
|
6
|
+
row: MRT_Row<TData>;
|
7
7
|
rowRef: RefObject<HTMLTableRowElement>;
|
8
|
-
table: MRT_TableInstance
|
8
|
+
table: MRT_TableInstance<TData>;
|
9
9
|
}
|
10
10
|
|
11
|
-
export const MRT_TableBodyRowGrabHandle =
|
11
|
+
export const MRT_TableBodyRowGrabHandle = <TData extends Record<string, any>>({
|
12
|
+
row,
|
13
|
+
rowRef,
|
14
|
+
table,
|
15
|
+
}: Props<TData>) => {
|
12
16
|
const {
|
13
|
-
options: {
|
17
|
+
options: { muiRowDragHandleProps },
|
14
18
|
} = table;
|
15
|
-
const { row } = cell;
|
16
19
|
|
17
20
|
const iconButtonProps =
|
18
|
-
|
19
|
-
?
|
20
|
-
:
|
21
|
+
muiRowDragHandleProps instanceof Function
|
22
|
+
? muiRowDragHandleProps({ row, table })
|
23
|
+
: muiRowDragHandleProps;
|
21
24
|
|
22
25
|
const handleDragStart = (event: DragEvent<HTMLButtonElement>) => {
|
23
26
|
iconButtonProps?.onDragStart?.(event);
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import { type RefObject } from 'react';
|
2
2
|
import Collapse from '@mui/material/Collapse';
|
3
3
|
import TableCell from '@mui/material/TableCell';
|
4
4
|
import TableRow from '@mui/material/TableRow';
|
@@ -6,28 +6,28 @@ import { lighten } from '@mui/material/styles';
|
|
6
6
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
7
7
|
import { type MRT_Row, type MRT_TableInstance } from '../types';
|
8
8
|
|
9
|
-
interface Props {
|
10
|
-
parentRowRef:
|
11
|
-
row: MRT_Row
|
9
|
+
interface Props<TData extends Record<string, any>> {
|
10
|
+
parentRowRef: RefObject<HTMLTableRowElement>;
|
11
|
+
row: MRT_Row<TData>;
|
12
12
|
rowIndex: number;
|
13
|
-
table: MRT_TableInstance
|
13
|
+
table: MRT_TableInstance<TData>;
|
14
14
|
virtualRow?: VirtualItem;
|
15
15
|
}
|
16
16
|
|
17
|
-
export const MRT_TableDetailPanel = ({
|
17
|
+
export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
|
18
18
|
parentRowRef,
|
19
19
|
row,
|
20
20
|
rowIndex,
|
21
21
|
table,
|
22
22
|
virtualRow,
|
23
|
-
}: Props) => {
|
23
|
+
}: Props<TData>) => {
|
24
24
|
const {
|
25
25
|
getVisibleLeafColumns,
|
26
26
|
getState,
|
27
27
|
options: {
|
28
28
|
layoutMode,
|
29
29
|
muiTableBodyRowProps,
|
30
|
-
|
30
|
+
muiDetailPanelProps,
|
31
31
|
renderDetailPanel,
|
32
32
|
},
|
33
33
|
} = table;
|
@@ -44,9 +44,9 @@ export const MRT_TableDetailPanel = ({
|
|
44
44
|
: muiTableBodyRowProps;
|
45
45
|
|
46
46
|
const tableCellProps =
|
47
|
-
|
48
|
-
?
|
49
|
-
:
|
47
|
+
muiDetailPanelProps instanceof Function
|
48
|
+
? muiDetailPanelProps({ row, table })
|
49
|
+
: muiDetailPanelProps;
|
50
50
|
|
51
51
|
return (
|
52
52
|
<TableRow
|
@@ -3,14 +3,12 @@ import IconButton from '@mui/material/IconButton';
|
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
4
|
import { type MRT_Column, type MRT_TableInstance } from '../types';
|
5
5
|
|
6
|
-
interface Props<TData extends Record<string, any
|
6
|
+
interface Props<TData extends Record<string, any>> {
|
7
7
|
column: MRT_Column<TData>;
|
8
8
|
table: MRT_TableInstance<TData>;
|
9
9
|
}
|
10
10
|
|
11
|
-
export const MRT_ColumnPinningButtons = <
|
12
|
-
TData extends Record<string, any> = {},
|
13
|
-
>({
|
11
|
+
export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
|
14
12
|
column,
|
15
13
|
table,
|
16
14
|
}: Props<TData>) => {
|