material-react-table 2.0.0-beta.0 → 2.0.0-beta.10
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/README.md +1 -1
- package/dist/index.d.ts +281 -263
- package/dist/{esm/material-react-table.esm.js → index.esm.js} +1018 -968
- package/dist/index.esm.js.map +1 -0
- package/dist/{cjs/index.js → index.js} +1098 -1135
- package/dist/index.js.map +1 -0
- package/locales/ar.d.ts +1 -0
- package/locales/ar.js +0 -3
- package/locales/{ar.esm.js → ar.mjs} +0 -1
- package/locales/az.d.ts +3 -0
- package/locales/az.js +95 -0
- package/locales/az.mjs +93 -0
- package/locales/bg.d.ts +1 -0
- package/locales/bg.js +0 -3
- package/locales/{bg.esm.js → bg.mjs} +0 -1
- package/locales/cs.d.ts +1 -0
- package/locales/cs.js +0 -3
- package/locales/{cs.esm.js → cs.mjs} +0 -1
- package/locales/da.d.ts +1 -0
- package/locales/da.js +0 -3
- package/locales/{da.esm.js → da.mjs} +0 -1
- package/locales/de.d.ts +1 -0
- package/locales/de.js +0 -3
- package/locales/{de.esm.js → de.mjs} +0 -1
- package/locales/en.d.ts +1 -0
- package/locales/en.js +0 -3
- package/locales/{en.esm.js → en.mjs} +0 -1
- package/locales/es.d.ts +1 -0
- package/locales/es.js +0 -3
- package/locales/{es.esm.js → es.mjs} +0 -1
- package/locales/et.d.ts +1 -0
- package/locales/et.js +0 -3
- package/locales/{et.esm.js → et.mjs} +0 -1
- package/locales/fa.d.ts +1 -0
- package/locales/fa.js +0 -3
- package/locales/{fa.esm.js → fa.mjs} +0 -1
- package/locales/fi.d.ts +1 -0
- package/locales/fi.js +0 -3
- package/locales/{fi.esm.js → fi.mjs} +0 -1
- package/locales/fr.d.ts +1 -0
- package/locales/fr.js +0 -3
- package/locales/{fr.esm.js → fr.mjs} +0 -1
- package/locales/hu.d.ts +1 -0
- package/locales/hu.js +0 -3
- package/locales/{hu.esm.js → hu.mjs} +0 -1
- package/locales/hy.d.ts +1 -0
- package/locales/hy.js +0 -3
- package/locales/{hy.esm.js → hy.mjs} +0 -1
- package/locales/id.d.ts +1 -0
- package/locales/id.js +0 -3
- package/locales/{id.esm.js → id.mjs} +0 -1
- package/locales/it.d.ts +1 -0
- package/locales/it.js +0 -3
- package/locales/{it.esm.js → it.mjs} +0 -1
- package/locales/ja.d.ts +1 -0
- package/locales/ja.js +0 -3
- package/locales/{ja.esm.js → ja.mjs} +0 -1
- package/locales/ko.d.ts +1 -0
- package/locales/ko.js +0 -3
- package/locales/{ko.esm.js → ko.mjs} +0 -1
- package/locales/nl.d.ts +1 -0
- package/locales/nl.js +0 -3
- package/locales/{nl.esm.js → nl.mjs} +0 -1
- package/locales/no.d.ts +2 -1
- package/locales/no.js +0 -3
- package/locales/{no.esm.js → no.mjs} +0 -1
- package/locales/np.d.ts +1 -0
- package/locales/np.js +0 -3
- package/locales/{np.esm.js → np.mjs} +0 -1
- package/locales/pl.d.ts +1 -0
- package/locales/pl.js +0 -3
- package/locales/{pl.esm.js → pl.mjs} +0 -1
- package/locales/pt-BR.d.ts +1 -0
- package/locales/pt-BR.js +0 -3
- package/locales/{pt-BR.esm.js → pt-BR.mjs} +0 -1
- package/locales/pt.d.ts +1 -0
- package/locales/pt.js +0 -3
- package/locales/{pt.esm.js → pt.mjs} +0 -1
- package/locales/ro.d.ts +1 -0
- package/locales/ro.js +0 -3
- package/locales/{ro.esm.js → ro.mjs} +0 -1
- package/locales/ru.d.ts +1 -0
- package/locales/ru.js +0 -3
- package/locales/{ru.esm.js → ru.mjs} +0 -1
- package/locales/sk.d.ts +1 -0
- package/locales/sk.js +0 -3
- package/locales/{sk.esm.js → sk.mjs} +0 -1
- package/locales/sr-Cyrl-RS.d.ts +1 -0
- package/locales/sr-Cyrl-RS.js +0 -3
- package/locales/{sr-Cyrl-RS.esm.js → sr-Cyrl-RS.mjs} +0 -1
- package/locales/sr-Latn-RS.d.ts +1 -0
- package/locales/sr-Latn-RS.js +0 -3
- package/locales/{sr-Latn-RS.esm.js → sr-Latn-RS.mjs} +0 -1
- package/locales/sv.d.ts +1 -0
- package/locales/sv.js +0 -3
- package/locales/{sv.esm.js → sv.mjs} +0 -1
- package/locales/tr.d.ts +1 -0
- package/locales/tr.js +0 -3
- package/locales/{tr.esm.js → tr.mjs} +0 -1
- package/locales/uk.d.ts +1 -0
- package/locales/uk.js +0 -3
- package/locales/{uk.esm.js → uk.mjs} +0 -1
- package/locales/vi.d.ts +1 -0
- package/locales/vi.js +0 -3
- package/locales/{vi.esm.js → vi.mjs} +0 -1
- package/locales/zh-Hans.d.ts +1 -0
- package/locales/zh-Hans.js +17 -20
- package/locales/{zh-Hans.esm.js → zh-Hans.mjs} +17 -18
- package/locales/zh-Hant.d.ts +1 -0
- package/locales/zh-Hant.js +0 -3
- package/locales/{zh-Hant.esm.js → zh-Hant.mjs} +0 -1
- package/package.json +215 -32
- package/src/MaterialReactTable.tsx +5 -4
- package/src/body/MRT_TableBody.tsx +19 -8
- package/src/body/MRT_TableBodyCell.tsx +95 -74
- package/src/body/MRT_TableBodyCellValue.tsx +13 -9
- package/src/body/MRT_TableBodyRow.tsx +27 -16
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +16 -7
- package/src/body/MRT_TableBodyRowPinButton.tsx +18 -7
- package/src/body/MRT_TableDetailPanel.tsx +20 -13
- package/src/buttons/MRT_ColumnPinningButtons.tsx +21 -8
- package/src/buttons/MRT_CopyButton.tsx +12 -11
- package/src/buttons/MRT_EditActionButtons.tsx +17 -7
- package/src/buttons/MRT_ExpandAllButton.tsx +13 -11
- package/src/buttons/MRT_ExpandButton.tsx +10 -8
- package/src/buttons/MRT_GrabHandleButton.tsx +10 -8
- package/src/buttons/MRT_RowPinButton.tsx +14 -7
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -4
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -6
- package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -4
- package/src/buttons/MRT_ToggleFullScreenButton.tsx +3 -4
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +4 -6
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +15 -9
- package/src/column.utils.ts +46 -141
- package/src/filterFns.ts +15 -14
- package/src/footer/MRT_TableFooter.tsx +11 -7
- package/src/footer/MRT_TableFooterCell.tsx +21 -16
- package/src/footer/MRT_TableFooterRow.tsx +14 -9
- package/src/head/MRT_TableHead.tsx +10 -6
- package/src/head/MRT_TableHeadCell.tsx +122 -103
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +13 -12
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +10 -6
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +15 -9
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +10 -3
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +21 -11
- package/src/head/MRT_TableHeadCellSortLabel.tsx +38 -18
- package/src/head/MRT_TableHeadRow.tsx +15 -9
- package/src/hooks/useMRT_DisplayColumns.tsx +14 -10
- package/src/hooks/useMRT_Effects.ts +6 -2
- package/src/hooks/useMRT_TableInstance.ts +3 -2
- package/src/hooks/useMRT_TableOptions.ts +29 -4
- package/src/index.ts +1 -0
- package/src/inputs/MRT_EditCellTextField.tsx +26 -4
- package/src/inputs/MRT_FilterCheckbox.tsx +10 -5
- package/src/inputs/MRT_FilterRangeFields.tsx +19 -5
- package/src/inputs/MRT_FilterRangeSlider.tsx +10 -4
- package/src/inputs/MRT_FilterTextField.tsx +13 -5
- package/src/inputs/MRT_GlobalFilterTextField.tsx +27 -10
- package/src/inputs/MRT_SelectCheckbox.tsx +14 -7
- package/src/locales/az.ts +94 -0
- package/src/locales/no.ts +1 -1
- package/src/locales/zh-Hans.ts +17 -17
- package/src/menus/MRT_ColumnActionMenu.tsx +10 -4
- package/src/menus/MRT_FilterOptionMenu.tsx +6 -3
- package/src/menus/MRT_RowActionMenu.tsx +10 -4
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +10 -4
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +17 -10
- package/src/modals/MRT_EditRowModal.tsx +17 -11
- package/src/sortingFns.ts +3 -3
- package/src/style.utils.ts +149 -0
- package/src/table/MRT_Table.tsx +28 -34
- package/src/table/MRT_TableContainer.tsx +17 -46
- package/src/table/MRT_TableLoadingOverlay.tsx +54 -0
- package/src/table/MRT_TablePaper.tsx +13 -6
- package/src/table/index.ts +1 -0
- package/src/toolbar/MRT_BottomToolbar.tsx +16 -14
- package/src/toolbar/MRT_LinearProgressBar.tsx +16 -10
- package/src/toolbar/MRT_TablePagination.tsx +25 -12
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +11 -7
- package/src/toolbar/MRT_ToolbarDropZone.tsx +8 -4
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -6
- package/src/toolbar/MRT_TopToolbar.tsx +11 -24
- package/src/types.ts +98 -56
- package/src/useMaterialReactTable.ts +8 -7
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +0 -7
- package/dist/cjs/types/aggregationFns.d.ts +0 -11
- package/dist/cjs/types/body/MRT_TableBody.d.ts +0 -12
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +0 -15
- package/dist/cjs/types/body/MRT_TableBodyCellValue.d.ts +0 -7
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +0 -18
- package/dist/cjs/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
- package/dist/cjs/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +0 -12
- package/dist/cjs/types/body/index.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_CopyButton.d.ts +0 -9
- package/dist/cjs/types/buttons/MRT_EditActionButtons.d.ts +0 -8
- package/dist/cjs/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
- package/dist/cjs/types/buttons/MRT_ExpandButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
- package/dist/cjs/types/buttons/MRT_RowPinButton.d.ts +0 -9
- package/dist/cjs/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
- package/dist/cjs/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
- package/dist/cjs/types/buttons/index.d.ts +0 -13
- package/dist/cjs/types/column.utils.d.ts +0 -148
- package/dist/cjs/types/filterFns.d.ts +0 -68
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +0 -10
- package/dist/cjs/types/footer/MRT_TableFooterCell.d.ts +0 -7
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +0 -11
- package/dist/cjs/types/footer/index.d.ts +0 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +0 -10
- package/dist/cjs/types/head/MRT_TableHeadCell.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
- package/dist/cjs/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
- package/dist/cjs/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +0 -11
- package/dist/cjs/types/head/index.d.ts +0 -9
- package/dist/cjs/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
- package/dist/cjs/types/hooks/useMRT_Effects.d.ts +0 -2
- package/dist/cjs/types/hooks/useMRT_TableInstance.d.ts +0 -2
- package/dist/cjs/types/hooks/useMRT_TableOptions.d.ts +0 -2
- package/dist/cjs/types/icons.d.ts +0 -36
- package/dist/cjs/types/index.d.ts +0 -16
- package/dist/cjs/types/inputs/MRT_EditCellTextField.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
- package/dist/cjs/types/inputs/MRT_FilterTextField.d.ts +0 -8
- package/dist/cjs/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
- package/dist/cjs/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
- package/dist/cjs/types/inputs/index.d.ts +0 -7
- package/dist/cjs/types/locales/ar.d.ts +0 -2
- package/dist/cjs/types/locales/bg.d.ts +0 -2
- package/dist/cjs/types/locales/cs.d.ts +0 -2
- package/dist/cjs/types/locales/da.d.ts +0 -2
- package/dist/cjs/types/locales/de.d.ts +0 -2
- package/dist/cjs/types/locales/en.d.ts +0 -2
- package/dist/cjs/types/locales/es.d.ts +0 -2
- package/dist/cjs/types/locales/et.d.ts +0 -2
- package/dist/cjs/types/locales/fa.d.ts +0 -2
- package/dist/cjs/types/locales/fi.d.ts +0 -2
- package/dist/cjs/types/locales/fr.d.ts +0 -2
- package/dist/cjs/types/locales/hu.d.ts +0 -2
- package/dist/cjs/types/locales/hy.d.ts +0 -2
- package/dist/cjs/types/locales/id.d.ts +0 -2
- package/dist/cjs/types/locales/it.d.ts +0 -2
- package/dist/cjs/types/locales/ja.d.ts +0 -2
- package/dist/cjs/types/locales/ko.d.ts +0 -2
- package/dist/cjs/types/locales/nl.d.ts +0 -2
- package/dist/cjs/types/locales/no.d.ts +0 -2
- package/dist/cjs/types/locales/np.d.ts +0 -2
- package/dist/cjs/types/locales/pl.d.ts +0 -2
- package/dist/cjs/types/locales/pt-BR.d.ts +0 -2
- package/dist/cjs/types/locales/pt.d.ts +0 -2
- package/dist/cjs/types/locales/ro.d.ts +0 -2
- package/dist/cjs/types/locales/ru.d.ts +0 -2
- package/dist/cjs/types/locales/sk.d.ts +0 -2
- package/dist/cjs/types/locales/sr-Cyrl-RS.d.ts +0 -2
- package/dist/cjs/types/locales/sr-Latn-RS.d.ts +0 -2
- package/dist/cjs/types/locales/sv.d.ts +0 -2
- package/dist/cjs/types/locales/tr.d.ts +0 -2
- package/dist/cjs/types/locales/uk.d.ts +0 -2
- package/dist/cjs/types/locales/vi.d.ts +0 -2
- package/dist/cjs/types/locales/zh-Hans.d.ts +0 -2
- package/dist/cjs/types/locales/zh-Hant.d.ts +0 -2
- package/dist/cjs/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
- package/dist/cjs/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
- package/dist/cjs/types/menus/MRT_RowActionMenu.d.ts +0 -11
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
- package/dist/cjs/types/menus/index.d.ts +0 -5
- package/dist/cjs/types/modals/MRT_EditRowModal.d.ts +0 -7
- package/dist/cjs/types/modals/index.d.ts +0 -1
- package/dist/cjs/types/sortingFns.d.ts +0 -12
- package/dist/cjs/types/table/MRT_Table.d.ts +0 -6
- package/dist/cjs/types/table/MRT_TableContainer.d.ts +0 -6
- package/dist/cjs/types/table/MRT_TablePaper.d.ts +0 -6
- package/dist/cjs/types/table/index.d.ts +0 -4
- package/dist/cjs/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_TablePagination.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
- package/dist/cjs/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
- package/dist/cjs/types/toolbar/MRT_TopToolbar.d.ts +0 -21
- package/dist/cjs/types/toolbar/index.d.ts +0 -7
- package/dist/cjs/types/types.d.ts +0 -818
- package/dist/cjs/types/useMaterialReactTable.d.ts +0 -2
- package/dist/esm/material-react-table.esm.js.map +0 -1
- package/dist/esm/types/MaterialReactTable.d.ts +0 -7
- package/dist/esm/types/aggregationFns.d.ts +0 -11
- package/dist/esm/types/body/MRT_TableBody.d.ts +0 -12
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +0 -15
- package/dist/esm/types/body/MRT_TableBodyCellValue.d.ts +0 -7
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +0 -18
- package/dist/esm/types/body/MRT_TableBodyRowGrabHandle.d.ts +0 -9
- package/dist/esm/types/body/MRT_TableBodyRowPinButton.d.ts +0 -7
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +0 -12
- package/dist/esm/types/body/index.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ColumnPinningButtons.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_CopyButton.d.ts +0 -9
- package/dist/esm/types/buttons/MRT_EditActionButtons.d.ts +0 -8
- package/dist/esm/types/buttons/MRT_ExpandAllButton.d.ts +0 -6
- package/dist/esm/types/buttons/MRT_ExpandButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_GrabHandleButton.d.ts +0 -12
- package/dist/esm/types/buttons/MRT_RowPinButton.d.ts +0 -9
- package/dist/esm/types/buttons/MRT_ShowHideColumnsButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleFiltersButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleFullScreenButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -7
- package/dist/esm/types/buttons/MRT_ToggleRowActionMenuButton.d.ts +0 -8
- package/dist/esm/types/buttons/index.d.ts +0 -13
- package/dist/esm/types/column.utils.d.ts +0 -148
- package/dist/esm/types/filterFns.d.ts +0 -68
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +0 -10
- package/dist/esm/types/footer/MRT_TableFooterCell.d.ts +0 -7
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +0 -11
- package/dist/esm/types/footer/index.d.ts +0 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +0 -10
- package/dist/esm/types/head/MRT_TableHeadCell.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellColumnActionsButton.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellFilterContainer.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellFilterLabel.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellGrabHandle.d.ts +0 -9
- package/dist/esm/types/head/MRT_TableHeadCellResizeHandle.d.ts +0 -7
- package/dist/esm/types/head/MRT_TableHeadCellSortLabel.d.ts +0 -9
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +0 -11
- package/dist/esm/types/head/index.d.ts +0 -9
- package/dist/esm/types/hooks/useMRT_DisplayColumns.d.ts +0 -9
- package/dist/esm/types/hooks/useMRT_Effects.d.ts +0 -2
- package/dist/esm/types/hooks/useMRT_TableInstance.d.ts +0 -2
- package/dist/esm/types/hooks/useMRT_TableOptions.d.ts +0 -2
- package/dist/esm/types/icons.d.ts +0 -36
- package/dist/esm/types/index.d.ts +0 -16
- package/dist/esm/types/inputs/MRT_EditCellTextField.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterCheckbox.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterRangeFields.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterRangeSlider.d.ts +0 -7
- package/dist/esm/types/inputs/MRT_FilterTextField.d.ts +0 -8
- package/dist/esm/types/inputs/MRT_GlobalFilterTextField.d.ts +0 -6
- package/dist/esm/types/inputs/MRT_SelectCheckbox.d.ts +0 -8
- package/dist/esm/types/inputs/index.d.ts +0 -7
- package/dist/esm/types/locales/ar.d.ts +0 -2
- package/dist/esm/types/locales/bg.d.ts +0 -2
- package/dist/esm/types/locales/cs.d.ts +0 -2
- package/dist/esm/types/locales/da.d.ts +0 -2
- package/dist/esm/types/locales/de.d.ts +0 -2
- package/dist/esm/types/locales/en.d.ts +0 -2
- package/dist/esm/types/locales/es.d.ts +0 -2
- package/dist/esm/types/locales/et.d.ts +0 -2
- package/dist/esm/types/locales/fa.d.ts +0 -2
- package/dist/esm/types/locales/fi.d.ts +0 -2
- package/dist/esm/types/locales/fr.d.ts +0 -2
- package/dist/esm/types/locales/hu.d.ts +0 -2
- package/dist/esm/types/locales/hy.d.ts +0 -2
- package/dist/esm/types/locales/id.d.ts +0 -2
- package/dist/esm/types/locales/it.d.ts +0 -2
- package/dist/esm/types/locales/ja.d.ts +0 -2
- package/dist/esm/types/locales/ko.d.ts +0 -2
- package/dist/esm/types/locales/nl.d.ts +0 -2
- package/dist/esm/types/locales/no.d.ts +0 -2
- package/dist/esm/types/locales/np.d.ts +0 -2
- package/dist/esm/types/locales/pl.d.ts +0 -2
- package/dist/esm/types/locales/pt-BR.d.ts +0 -2
- package/dist/esm/types/locales/pt.d.ts +0 -2
- package/dist/esm/types/locales/ro.d.ts +0 -2
- package/dist/esm/types/locales/ru.d.ts +0 -2
- package/dist/esm/types/locales/sk.d.ts +0 -2
- package/dist/esm/types/locales/sr-Cyrl-RS.d.ts +0 -2
- package/dist/esm/types/locales/sr-Latn-RS.d.ts +0 -2
- package/dist/esm/types/locales/sv.d.ts +0 -2
- package/dist/esm/types/locales/tr.d.ts +0 -2
- package/dist/esm/types/locales/uk.d.ts +0 -2
- package/dist/esm/types/locales/vi.d.ts +0 -2
- package/dist/esm/types/locales/zh-Hans.d.ts +0 -2
- package/dist/esm/types/locales/zh-Hant.d.ts +0 -2
- package/dist/esm/types/menus/MRT_ColumnActionMenu.d.ts +0 -19
- package/dist/esm/types/menus/MRT_FilterOptionMenu.d.ts +0 -12
- package/dist/esm/types/menus/MRT_RowActionMenu.d.ts +0 -11
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +0 -9
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +0 -11
- package/dist/esm/types/menus/index.d.ts +0 -5
- package/dist/esm/types/modals/MRT_EditRowModal.d.ts +0 -7
- package/dist/esm/types/modals/index.d.ts +0 -1
- package/dist/esm/types/sortingFns.d.ts +0 -12
- package/dist/esm/types/table/MRT_Table.d.ts +0 -6
- package/dist/esm/types/table/MRT_TableContainer.d.ts +0 -6
- package/dist/esm/types/table/MRT_TablePaper.d.ts +0 -6
- package/dist/esm/types/table/index.d.ts +0 -4
- package/dist/esm/types/toolbar/MRT_BottomToolbar.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_LinearProgressBar.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_TablePagination.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_ToolbarAlertBanner.d.ts +0 -7
- package/dist/esm/types/toolbar/MRT_ToolbarDropZone.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_ToolbarInternalButtons.d.ts +0 -6
- package/dist/esm/types/toolbar/MRT_TopToolbar.d.ts +0 -21
- package/dist/esm/types/toolbar/index.d.ts +0 -7
- package/dist/esm/types/types.d.ts +0 -818
- package/dist/esm/types/useMaterialReactTable.d.ts +0 -2
- package/locales/ar.esm.d.ts +0 -2
- package/locales/ar.esm.js.map +0 -1
- package/locales/ar.js.map +0 -1
- package/locales/bg.esm.d.ts +0 -2
- package/locales/bg.esm.js.map +0 -1
- package/locales/bg.js.map +0 -1
- package/locales/cs.esm.d.ts +0 -2
- package/locales/cs.esm.js.map +0 -1
- package/locales/cs.js.map +0 -1
- package/locales/da.esm.d.ts +0 -2
- package/locales/da.esm.js.map +0 -1
- package/locales/da.js.map +0 -1
- package/locales/de.esm.d.ts +0 -2
- package/locales/de.esm.js.map +0 -1
- package/locales/de.js.map +0 -1
- package/locales/en.esm.d.ts +0 -2
- package/locales/en.esm.js.map +0 -1
- package/locales/en.js.map +0 -1
- package/locales/es.esm.d.ts +0 -2
- package/locales/es.esm.js.map +0 -1
- package/locales/es.js.map +0 -1
- package/locales/et.esm.d.ts +0 -2
- package/locales/et.esm.js.map +0 -1
- package/locales/et.js.map +0 -1
- package/locales/fa.esm.d.ts +0 -2
- package/locales/fa.esm.js.map +0 -1
- package/locales/fa.js.map +0 -1
- package/locales/fi.esm.d.ts +0 -2
- package/locales/fi.esm.js.map +0 -1
- package/locales/fi.js.map +0 -1
- package/locales/fr.esm.d.ts +0 -2
- package/locales/fr.esm.js.map +0 -1
- package/locales/fr.js.map +0 -1
- package/locales/hu.esm.d.ts +0 -2
- package/locales/hu.esm.js.map +0 -1
- package/locales/hu.js.map +0 -1
- package/locales/hy.esm.d.ts +0 -2
- package/locales/hy.esm.js.map +0 -1
- package/locales/hy.js.map +0 -1
- package/locales/id.esm.d.ts +0 -2
- package/locales/id.esm.js.map +0 -1
- package/locales/id.js.map +0 -1
- package/locales/it.esm.d.ts +0 -2
- package/locales/it.esm.js.map +0 -1
- package/locales/it.js.map +0 -1
- package/locales/ja.esm.d.ts +0 -2
- package/locales/ja.esm.js.map +0 -1
- package/locales/ja.js.map +0 -1
- package/locales/ko.esm.d.ts +0 -2
- package/locales/ko.esm.js.map +0 -1
- package/locales/ko.js.map +0 -1
- package/locales/nl.esm.d.ts +0 -2
- package/locales/nl.esm.js.map +0 -1
- package/locales/nl.js.map +0 -1
- package/locales/no.esm.d.ts +0 -2
- package/locales/no.esm.js.map +0 -1
- package/locales/no.js.map +0 -1
- package/locales/np.esm.d.ts +0 -2
- package/locales/np.esm.js.map +0 -1
- package/locales/np.js.map +0 -1
- package/locales/pl.esm.d.ts +0 -2
- package/locales/pl.esm.js.map +0 -1
- package/locales/pl.js.map +0 -1
- package/locales/pt-BR.esm.d.ts +0 -2
- package/locales/pt-BR.esm.js.map +0 -1
- package/locales/pt-BR.js.map +0 -1
- package/locales/pt.esm.d.ts +0 -2
- package/locales/pt.esm.js.map +0 -1
- package/locales/pt.js.map +0 -1
- package/locales/ro.esm.d.ts +0 -2
- package/locales/ro.esm.js.map +0 -1
- package/locales/ro.js.map +0 -1
- package/locales/ru.esm.d.ts +0 -2
- package/locales/ru.esm.js.map +0 -1
- package/locales/ru.js.map +0 -1
- package/locales/sk.esm.d.ts +0 -2
- package/locales/sk.esm.js.map +0 -1
- package/locales/sk.js.map +0 -1
- package/locales/sr-Cyrl-RS.esm.d.ts +0 -2
- package/locales/sr-Cyrl-RS.esm.js.map +0 -1
- package/locales/sr-Cyrl-RS.js.map +0 -1
- package/locales/sr-Latn-RS.esm.d.ts +0 -2
- package/locales/sr-Latn-RS.esm.js.map +0 -1
- package/locales/sr-Latn-RS.js.map +0 -1
- package/locales/sv.esm.d.ts +0 -2
- package/locales/sv.esm.js.map +0 -1
- package/locales/sv.js.map +0 -1
- package/locales/tr.esm.d.ts +0 -2
- package/locales/tr.esm.js.map +0 -1
- package/locales/tr.js.map +0 -1
- package/locales/uk.esm.d.ts +0 -2
- package/locales/uk.esm.js.map +0 -1
- package/locales/uk.js.map +0 -1
- package/locales/vi.esm.d.ts +0 -2
- package/locales/vi.esm.js.map +0 -1
- package/locales/vi.js.map +0 -1
- package/locales/zh-Hans.esm.d.ts +0 -2
- package/locales/zh-Hans.esm.js.map +0 -1
- package/locales/zh-Hans.js.map +0 -1
- package/locales/zh-Hant.esm.d.ts +0 -2
- package/locales/zh-Hant.esm.js.map +0 -1
- package/locales/zh-Hant.js.map +0 -1
@@ -7,40 +7,44 @@ import {
|
|
7
7
|
useMemo,
|
8
8
|
useState,
|
9
9
|
} from 'react';
|
10
|
-
import { type VirtualItem } from '@tanstack/react-virtual';
|
11
10
|
import Skeleton from '@mui/material/Skeleton';
|
12
|
-
import TableCell from '@mui/material/TableCell';
|
11
|
+
import TableCell, { type TableCellProps } from '@mui/material/TableCell';
|
13
12
|
import { useTheme } from '@mui/material/styles';
|
14
13
|
import { MRT_TableBodyCellValue } from './MRT_TableBodyCellValue';
|
15
14
|
import { MRT_TableBodyRowGrabHandle } from './MRT_TableBodyRowGrabHandle';
|
16
15
|
import { MRT_CopyButton } from '../buttons/MRT_CopyButton';
|
17
16
|
import {
|
18
|
-
getCommonCellStyles,
|
19
17
|
getIsFirstColumn,
|
20
18
|
getIsLastColumn,
|
21
19
|
parseFromValuesOrFunc,
|
22
20
|
} from '../column.utils';
|
23
21
|
import { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';
|
24
|
-
import {
|
22
|
+
import { getCommonMRTCellStyles, getMRTTheme } from '../style.utils';
|
23
|
+
import {
|
24
|
+
type MRT_Cell,
|
25
|
+
type MRT_RowData,
|
26
|
+
type MRT_TableInstance,
|
27
|
+
} from '../types';
|
25
28
|
|
26
|
-
interface Props<TData extends
|
29
|
+
interface Props<TData extends MRT_RowData> extends TableCellProps {
|
27
30
|
cell: MRT_Cell<TData>;
|
28
31
|
measureElement?: (element: HTMLTableCellElement) => void;
|
29
|
-
numRows
|
32
|
+
numRows?: number;
|
30
33
|
rowIndex: number;
|
31
34
|
rowRef: RefObject<HTMLTableRowElement>;
|
32
35
|
table: MRT_TableInstance<TData>;
|
33
|
-
|
36
|
+
virtualIndex?: number;
|
34
37
|
}
|
35
38
|
|
36
|
-
export const MRT_TableBodyCell = <TData extends
|
39
|
+
export const MRT_TableBodyCell = <TData extends MRT_RowData>({
|
37
40
|
cell,
|
38
41
|
measureElement,
|
39
42
|
numRows,
|
40
43
|
rowIndex,
|
41
44
|
rowRef,
|
42
45
|
table,
|
43
|
-
|
46
|
+
virtualIndex,
|
47
|
+
...rest
|
44
48
|
}: Props<TData>) => {
|
45
49
|
const theme = useTheme();
|
46
50
|
const {
|
@@ -63,6 +67,7 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
63
67
|
setHoveredColumn,
|
64
68
|
} = table;
|
65
69
|
const {
|
70
|
+
columnSizingInfo,
|
66
71
|
creatingRow,
|
67
72
|
density,
|
68
73
|
draggingColumn,
|
@@ -78,19 +83,11 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
78
83
|
const { columnDef } = column;
|
79
84
|
const { columnDefType } = columnDef;
|
80
85
|
|
86
|
+
const args = { cell, column, row, table };
|
81
87
|
const tableCellProps = {
|
82
|
-
...parseFromValuesOrFunc(muiTableBodyCellProps,
|
83
|
-
|
84
|
-
|
85
|
-
row,
|
86
|
-
table,
|
87
|
-
}),
|
88
|
-
...parseFromValuesOrFunc(columnDef.muiTableBodyCellProps, {
|
89
|
-
cell,
|
90
|
-
column,
|
91
|
-
row,
|
92
|
-
table,
|
93
|
-
}),
|
88
|
+
...parseFromValuesOrFunc(muiTableBodyCellProps, args),
|
89
|
+
...parseFromValuesOrFunc(columnDef.muiTableBodyCellProps, args),
|
90
|
+
...rest,
|
94
91
|
};
|
95
92
|
|
96
93
|
const skeletonProps = parseFromValuesOrFunc(muiSkeletonProps, {
|
@@ -100,6 +97,8 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
100
97
|
table,
|
101
98
|
});
|
102
99
|
|
100
|
+
const { draggingBorderColor } = getMRTTheme(table, theme);
|
101
|
+
|
103
102
|
const [skeletonWidth, setSkeletonWidth] = useState(100);
|
104
103
|
useEffect(() => {
|
105
104
|
if ((!isLoading && !showSkeletons) || skeletonWidth !== 100) return;
|
@@ -118,15 +117,23 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
118
117
|
const isHoveredRow = hoveredRow?.id === row.id;
|
119
118
|
const isFirstColumn = getIsFirstColumn(column, table);
|
120
119
|
const isLastColumn = getIsLastColumn(column, table);
|
121
|
-
const isLastRow = rowIndex === numRows - 1;
|
120
|
+
const isLastRow = numRows && rowIndex === numRows - 1;
|
122
121
|
|
123
122
|
const borderStyle =
|
124
|
-
|
125
|
-
? `
|
126
|
-
:
|
127
|
-
? `
|
123
|
+
columnSizingInfo.isResizingColumn === column.id
|
124
|
+
? `2px solid ${draggingBorderColor} !important`
|
125
|
+
: isDraggingColumn || isDraggingRow
|
126
|
+
? `1px dashed ${theme.palette.grey[500]} !important`
|
127
|
+
: isHoveredColumn ||
|
128
|
+
isHoveredRow ||
|
129
|
+
columnSizingInfo.isResizingColumn === column.id
|
130
|
+
? `2px dashed ${draggingBorderColor} !important`
|
128
131
|
: undefined;
|
129
132
|
|
133
|
+
if (columnSizingInfo.isResizingColumn === column.id) {
|
134
|
+
return { borderRight: borderStyle };
|
135
|
+
}
|
136
|
+
|
130
137
|
return borderStyle
|
131
138
|
? {
|
132
139
|
borderBottom:
|
@@ -148,7 +155,14 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
148
155
|
borderTop: isDraggingRow || isHoveredRow ? borderStyle : undefined,
|
149
156
|
}
|
150
157
|
: undefined;
|
151
|
-
}, [
|
158
|
+
}, [
|
159
|
+
columnSizingInfo.isResizingColumn,
|
160
|
+
draggingColumn,
|
161
|
+
draggingRow,
|
162
|
+
hoveredColumn,
|
163
|
+
hoveredRow,
|
164
|
+
rowIndex,
|
165
|
+
]);
|
152
166
|
|
153
167
|
const isEditable =
|
154
168
|
parseFromValuesOrFunc(enableEditing, row) &&
|
@@ -193,7 +207,7 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
193
207
|
|
194
208
|
return (
|
195
209
|
<TableCell
|
196
|
-
data-index={
|
210
|
+
data-index={virtualIndex}
|
197
211
|
ref={(node: HTMLTableCellElement) => {
|
198
212
|
if (node) {
|
199
213
|
measureElement?.(node);
|
@@ -204,9 +218,10 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
204
218
|
onDragEnter={handleDragEnter}
|
205
219
|
sx={(theme) => ({
|
206
220
|
'&:hover': {
|
207
|
-
outline:
|
208
|
-
|
209
|
-
|
221
|
+
outline:
|
222
|
+
['cell', 'table'].includes(editDisplayMode ?? '') && isEditable
|
223
|
+
? `1px solid ${theme.palette.grey[500]}`
|
224
|
+
: undefined,
|
210
225
|
outlineOffset: '-1px',
|
211
226
|
textOverflow: 'clip',
|
212
227
|
},
|
@@ -229,7 +244,8 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
229
244
|
: columnDefType === 'display'
|
230
245
|
? '1rem 1.25rem'
|
231
246
|
: '1.5rem',
|
232
|
-
|
247
|
+
textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
|
248
|
+
[theme.direction === 'rtl' ? 'pr' : 'pl']:
|
233
249
|
column.id === 'mrt-row-expand'
|
234
250
|
? `${
|
235
251
|
row.depth +
|
@@ -240,12 +256,11 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
240
256
|
: 1.25)
|
241
257
|
}rem`
|
242
258
|
: undefined,
|
243
|
-
textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
|
244
259
|
whiteSpace:
|
245
260
|
row.getIsPinned() || density === 'compact' ? 'nowrap' : 'normal',
|
246
261
|
zIndex:
|
247
262
|
draggingColumn?.id === column.id ? 2 : column.getIsPinned() ? 1 : 0,
|
248
|
-
...
|
263
|
+
...getCommonMRTCellStyles({
|
249
264
|
column,
|
250
265
|
table,
|
251
266
|
tableCellProps,
|
@@ -254,47 +269,53 @@ export const MRT_TableBodyCell = <TData extends Record<string, any>>({
|
|
254
269
|
...draggingBorders,
|
255
270
|
})}
|
256
271
|
>
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
column
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
272
|
+
{tableCellProps.children ?? (
|
273
|
+
<>
|
274
|
+
{cell.getIsPlaceholder() ? (
|
275
|
+
columnDef.PlaceholderCell?.({ cell, column, row, table }) ?? null
|
276
|
+
) : showSkeletons !== false && (isLoading || showSkeletons) ? (
|
277
|
+
<Skeleton
|
278
|
+
animation="wave"
|
279
|
+
height={20}
|
280
|
+
width={skeletonWidth}
|
281
|
+
{...skeletonProps}
|
282
|
+
/>
|
283
|
+
) : enableRowNumbers &&
|
284
|
+
rowNumberMode === 'static' &&
|
285
|
+
column.id === 'mrt-row-numbers' ? (
|
286
|
+
rowIndex + 1
|
287
|
+
) : column.id === 'mrt-row-drag' ? (
|
288
|
+
<MRT_TableBodyRowGrabHandle
|
289
|
+
row={row}
|
290
|
+
rowRef={rowRef}
|
291
|
+
table={table}
|
292
|
+
/>
|
293
|
+
) : columnDefType === 'display' &&
|
294
|
+
(column.id === 'mrt-row-select' ||
|
295
|
+
column.id === 'mrt-row-expand' ||
|
296
|
+
!row.getIsGrouped()) ? (
|
297
|
+
columnDef.Cell?.({
|
298
|
+
cell,
|
299
|
+
column,
|
300
|
+
renderedCellValue: cell.renderValue() as any,
|
301
|
+
row,
|
302
|
+
table,
|
303
|
+
})
|
304
|
+
) : isCreating || isEditing ? (
|
305
|
+
<MRT_EditCellTextField cell={cell} table={table} />
|
306
|
+
) : (enableClickToCopy || columnDef.enableClickToCopy) &&
|
307
|
+
columnDef.enableClickToCopy !== false ? (
|
308
|
+
<MRT_CopyButton cell={cell} table={table}>
|
309
|
+
<MRT_TableBodyCellValue cell={cell} table={table} />
|
310
|
+
</MRT_CopyButton>
|
311
|
+
) : (
|
289
312
|
<MRT_TableBodyCellValue cell={cell} table={table} />
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
)}
|
297
|
-
</>
|
313
|
+
)}
|
314
|
+
{cell.getIsGrouped() && !columnDef.GroupedCell && (
|
315
|
+
<> ({row.subRows?.length})</>
|
316
|
+
)}
|
317
|
+
</>
|
318
|
+
)}
|
298
319
|
</TableCell>
|
299
320
|
);
|
300
321
|
};
|
@@ -1,17 +1,21 @@
|
|
1
1
|
import { type ReactNode } from 'react';
|
2
2
|
import Box from '@mui/material/Box';
|
3
|
-
import {
|
4
|
-
import {
|
3
|
+
import { getMRTTheme } from '../style.utils';
|
4
|
+
import {
|
5
|
+
type MRT_Cell,
|
6
|
+
type MRT_RowData,
|
7
|
+
type MRT_TableInstance,
|
8
|
+
} from '../types';
|
5
9
|
import highlightWords from 'highlight-words';
|
6
10
|
|
7
11
|
const allowedTypes = ['string', 'number'];
|
8
12
|
|
9
|
-
interface Props<TData extends
|
13
|
+
interface Props<TData extends MRT_RowData> {
|
10
14
|
cell: MRT_Cell<TData>;
|
11
15
|
table: MRT_TableInstance<TData>;
|
12
16
|
}
|
13
17
|
|
14
|
-
export const MRT_TableBodyCellValue = <TData extends
|
18
|
+
export const MRT_TableBodyCellValue = <TData extends MRT_RowData>({
|
15
19
|
cell,
|
16
20
|
table,
|
17
21
|
}: Props<TData>) => {
|
@@ -79,12 +83,12 @@ export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
|
|
79
83
|
match
|
80
84
|
? {
|
81
85
|
backgroundColor: (theme) =>
|
82
|
-
theme.
|
83
|
-
? darken(theme.palette.warning.dark, 0.25)
|
84
|
-
: lighten(theme.palette.warning.light, 0.5),
|
86
|
+
getMRTTheme(table, theme).matchHighlightColor,
|
85
87
|
borderRadius: '2px',
|
86
88
|
color: (theme) =>
|
87
|
-
theme.palette.mode === 'dark'
|
89
|
+
theme.palette.mode === 'dark'
|
90
|
+
? theme.palette.common.white
|
91
|
+
: theme.palette.common.black,
|
88
92
|
padding: '2px 1px',
|
89
93
|
}
|
90
94
|
: undefined
|
@@ -108,5 +112,5 @@ export const MRT_TableBodyCellValue = <TData extends Record<string, any>>({
|
|
108
112
|
});
|
109
113
|
}
|
110
114
|
|
111
|
-
return
|
115
|
+
return renderedCellValue;
|
112
116
|
};
|
@@ -11,12 +11,18 @@ import {
|
|
11
11
|
import { MRT_TableBodyCell, Memo_MRT_TableBodyCell } from './MRT_TableBodyCell';
|
12
12
|
import { MRT_TableDetailPanel } from './MRT_TableDetailPanel';
|
13
13
|
import { parseFromValuesOrFunc } from '../column.utils';
|
14
|
-
import {
|
14
|
+
import { getMRTTheme } from '../style.utils';
|
15
|
+
import {
|
16
|
+
type MRT_Cell,
|
17
|
+
type MRT_Row,
|
18
|
+
type MRT_RowData,
|
19
|
+
type MRT_TableInstance,
|
20
|
+
} from '../types';
|
15
21
|
|
16
|
-
interface Props<TData extends
|
22
|
+
interface Props<TData extends MRT_RowData> {
|
17
23
|
columnVirtualizer?: Virtualizer<HTMLDivElement, HTMLTableCellElement>;
|
18
24
|
measureElement?: (element: HTMLTableRowElement) => void;
|
19
|
-
numRows
|
25
|
+
numRows?: number;
|
20
26
|
pinnedRowIds?: string[];
|
21
27
|
row: MRT_Row<TData>;
|
22
28
|
rowIndex: number;
|
@@ -27,7 +33,7 @@ interface Props<TData extends Record<string, any>> {
|
|
27
33
|
virtualRow?: VirtualItem;
|
28
34
|
}
|
29
35
|
|
30
|
-
export const MRT_TableBodyRow = <TData extends
|
36
|
+
export const MRT_TableBodyRow = <TData extends MRT_RowData>({
|
31
37
|
columnVirtualizer,
|
32
38
|
measureElement,
|
33
39
|
numRows,
|
@@ -113,10 +119,18 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
|
113
119
|
|
114
120
|
const rowRef = useRef<HTMLTableRowElement | null>(null);
|
115
121
|
|
122
|
+
const {
|
123
|
+
baseBackgroundColor,
|
124
|
+
pinnedRowBackgroundColor,
|
125
|
+
selectedRowBackgroundColor,
|
126
|
+
} = getMRTTheme(table, theme);
|
127
|
+
|
116
128
|
return (
|
117
129
|
<>
|
118
130
|
<TableRow
|
119
131
|
data-index={virtualRow?.index}
|
132
|
+
data-pinned={!!isPinned || undefined}
|
133
|
+
data-selected={row.getIsSelected() || undefined}
|
120
134
|
onDragEnter={handleDragEnter}
|
121
135
|
ref={(node: HTMLTableRowElement) => {
|
122
136
|
if (node) {
|
@@ -137,16 +151,13 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
|
137
151
|
backgroundColor:
|
138
152
|
tableRowProps?.hover !== false
|
139
153
|
? row.getIsSelected()
|
140
|
-
? `${alpha(
|
154
|
+
? `${alpha(selectedRowBackgroundColor, 0.3)}`
|
141
155
|
: theme.palette.mode === 'dark'
|
142
|
-
? `${lighten(
|
143
|
-
: `${darken(
|
156
|
+
? `${lighten(baseBackgroundColor, 0.05)}`
|
157
|
+
: `${darken(baseBackgroundColor, 0.05)}`
|
144
158
|
: undefined,
|
145
159
|
},
|
146
|
-
backgroundColor: `${
|
147
|
-
theme.palette.background.default,
|
148
|
-
0.05,
|
149
|
-
)} !important`,
|
160
|
+
backgroundColor: `${baseBackgroundColor} !important`,
|
150
161
|
bottom:
|
151
162
|
!virtualRow && bottomPinnedIndex !== undefined && isPinned
|
152
163
|
? `${
|
@@ -157,7 +168,7 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
|
157
168
|
boxSizing: 'border-box',
|
158
169
|
display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
|
159
170
|
opacity: isPinned
|
160
|
-
? 0.
|
171
|
+
? 0.97
|
161
172
|
: draggingRow?.id === row.id || hoveredRow?.id === row.id
|
162
173
|
? 0.5
|
163
174
|
: 1,
|
@@ -168,9 +179,9 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
|
168
179
|
: undefined,
|
169
180
|
td: {
|
170
181
|
backgroundColor: row.getIsSelected()
|
171
|
-
?
|
182
|
+
? selectedRowBackgroundColor
|
172
183
|
: isPinned
|
173
|
-
?
|
184
|
+
? pinnedRowBackgroundColor
|
174
185
|
: undefined,
|
175
186
|
},
|
176
187
|
top: virtualRow
|
@@ -204,8 +215,8 @@ export const MRT_TableBodyRow = <TData extends Record<string, any>>({
|
|
204
215
|
rowIndex,
|
205
216
|
rowRef,
|
206
217
|
table,
|
207
|
-
|
208
|
-
? (cellOrVirtualCell as VirtualItem)
|
218
|
+
virtualIndex: columnVirtualizer
|
219
|
+
? (cellOrVirtualCell as VirtualItem).index
|
209
220
|
: undefined,
|
210
221
|
};
|
211
222
|
return cell ? (
|
@@ -1,27 +1,36 @@
|
|
1
1
|
import { type DragEvent, type RefObject } from 'react';
|
2
|
+
import { type IconButtonProps } from '@mui/material/IconButton';
|
2
3
|
import { MRT_GrabHandleButton } from '../buttons/MRT_GrabHandleButton';
|
3
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
4
|
-
import {
|
5
|
+
import {
|
6
|
+
type MRT_Row,
|
7
|
+
type MRT_RowData,
|
8
|
+
type MRT_TableInstance,
|
9
|
+
} from '../types';
|
5
10
|
|
6
|
-
interface Props<TData extends
|
11
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
7
12
|
row: MRT_Row<TData>;
|
8
13
|
rowRef: RefObject<HTMLTableRowElement>;
|
9
14
|
table: MRT_TableInstance<TData>;
|
10
15
|
}
|
11
16
|
|
12
|
-
export const MRT_TableBodyRowGrabHandle = <TData extends
|
17
|
+
export const MRT_TableBodyRowGrabHandle = <TData extends MRT_RowData>({
|
13
18
|
row,
|
14
19
|
rowRef,
|
15
20
|
table,
|
21
|
+
...rest
|
16
22
|
}: Props<TData>) => {
|
17
23
|
const {
|
18
24
|
options: { muiRowDragHandleProps },
|
19
25
|
} = table;
|
20
26
|
|
21
|
-
const iconButtonProps =
|
22
|
-
|
23
|
-
|
24
|
-
|
27
|
+
const iconButtonProps = {
|
28
|
+
...parseFromValuesOrFunc(muiRowDragHandleProps, {
|
29
|
+
row,
|
30
|
+
table,
|
31
|
+
}),
|
32
|
+
...rest,
|
33
|
+
};
|
25
34
|
|
26
35
|
const handleDragStart = (event: DragEvent<HTMLButtonElement>) => {
|
27
36
|
iconButtonProps?.onDragStart?.(event);
|
@@ -1,16 +1,22 @@
|
|
1
1
|
import Box from '@mui/material/Box';
|
2
|
+
import { type IconButtonProps } from '@mui/material/IconButton';
|
2
3
|
import { MRT_RowPinButton } from '../buttons/MRT_RowPinButton';
|
3
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
4
|
-
import {
|
5
|
+
import {
|
6
|
+
type MRT_Row,
|
7
|
+
type MRT_RowData,
|
8
|
+
type MRT_TableInstance,
|
9
|
+
} from '../types';
|
5
10
|
|
6
|
-
interface Props<TData extends
|
11
|
+
interface Props<TData extends MRT_RowData> extends IconButtonProps {
|
7
12
|
row: MRT_Row<TData>;
|
8
13
|
table: MRT_TableInstance<TData>;
|
9
14
|
}
|
10
15
|
|
11
|
-
export const MRT_TableBodyRowPinButton = <TData extends
|
16
|
+
export const MRT_TableBodyRowPinButton = <TData extends MRT_RowData>({
|
12
17
|
row,
|
13
18
|
table,
|
19
|
+
...rest
|
14
20
|
}: Props<TData>) => {
|
15
21
|
const {
|
16
22
|
getState,
|
@@ -22,6 +28,12 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
|
|
22
28
|
|
23
29
|
if (!canPin) return null;
|
24
30
|
|
31
|
+
const rowPinButtonProps = {
|
32
|
+
row,
|
33
|
+
table,
|
34
|
+
...rest,
|
35
|
+
};
|
36
|
+
|
25
37
|
if (rowPinningDisplayMode === 'top-and-bottom' && !row.getIsPinned()) {
|
26
38
|
return (
|
27
39
|
<Box
|
@@ -30,8 +42,8 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
|
|
30
42
|
flexDirection: density === 'compact' ? 'row' : 'column',
|
31
43
|
}}
|
32
44
|
>
|
33
|
-
<MRT_RowPinButton pinningPosition="top"
|
34
|
-
<MRT_RowPinButton pinningPosition="bottom"
|
45
|
+
<MRT_RowPinButton pinningPosition="top" {...rowPinButtonProps} />
|
46
|
+
<MRT_RowPinButton pinningPosition="bottom" {...rowPinButtonProps} />
|
35
47
|
</Box>
|
36
48
|
);
|
37
49
|
}
|
@@ -39,8 +51,7 @@ export const MRT_TableBodyRowPinButton = <TData extends Record<string, any>>({
|
|
39
51
|
return (
|
40
52
|
<MRT_RowPinButton
|
41
53
|
pinningPosition={rowPinningDisplayMode === 'bottom' ? 'bottom' : 'top'}
|
42
|
-
|
43
|
-
table={table}
|
54
|
+
{...rowPinButtonProps}
|
44
55
|
/>
|
45
56
|
);
|
46
57
|
};
|
@@ -1,13 +1,17 @@
|
|
1
1
|
import { type RefObject } from 'react';
|
2
2
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
3
3
|
import Collapse from '@mui/material/Collapse';
|
4
|
-
import TableCell from '@mui/material/TableCell';
|
4
|
+
import TableCell, { type TableCellProps } from '@mui/material/TableCell';
|
5
5
|
import TableRow from '@mui/material/TableRow';
|
6
|
-
import { lighten } from '@mui/material/styles';
|
7
6
|
import { parseFromValuesOrFunc } from '../column.utils';
|
8
|
-
import {
|
7
|
+
import { getMRTTheme } from '../style.utils';
|
8
|
+
import {
|
9
|
+
type MRT_Row,
|
10
|
+
type MRT_RowData,
|
11
|
+
type MRT_TableInstance,
|
12
|
+
} from '../types';
|
9
13
|
|
10
|
-
interface Props<TData extends
|
14
|
+
interface Props<TData extends MRT_RowData> extends TableCellProps {
|
11
15
|
parentRowRef: RefObject<HTMLTableRowElement>;
|
12
16
|
row: MRT_Row<TData>;
|
13
17
|
rowIndex: number;
|
@@ -15,12 +19,13 @@ interface Props<TData extends Record<string, any>> {
|
|
15
19
|
virtualRow?: VirtualItem;
|
16
20
|
}
|
17
21
|
|
18
|
-
export const MRT_TableDetailPanel = <TData extends
|
22
|
+
export const MRT_TableDetailPanel = <TData extends MRT_RowData>({
|
19
23
|
parentRowRef,
|
20
24
|
row,
|
21
25
|
rowIndex,
|
22
26
|
table,
|
23
27
|
virtualRow,
|
28
|
+
...rest
|
24
29
|
}: Props<TData>) => {
|
25
30
|
const {
|
26
31
|
getState,
|
@@ -41,10 +46,13 @@ export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
|
|
41
46
|
table,
|
42
47
|
});
|
43
48
|
|
44
|
-
const tableCellProps =
|
45
|
-
|
46
|
-
|
47
|
-
|
49
|
+
const tableCellProps = {
|
50
|
+
...parseFromValuesOrFunc(muiDetailPanelProps, {
|
51
|
+
row,
|
52
|
+
table,
|
53
|
+
}),
|
54
|
+
...rest,
|
55
|
+
};
|
48
56
|
|
49
57
|
return (
|
50
58
|
<TableRow
|
@@ -70,12 +78,11 @@ export const MRT_TableDetailPanel = <TData extends Record<string, any>>({
|
|
70
78
|
{...tableCellProps}
|
71
79
|
sx={(theme) => ({
|
72
80
|
backgroundColor: virtualRow
|
73
|
-
?
|
81
|
+
? getMRTTheme(table, theme).baseBackgroundColor
|
74
82
|
: undefined,
|
75
83
|
borderBottom: !row.getIsExpanded() ? 'none' : undefined,
|
76
|
-
display: layoutMode?.startsWith('grid') ? 'flex' :
|
77
|
-
|
78
|
-
pt: row.getIsExpanded() ? '1rem' : 0,
|
84
|
+
display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
|
85
|
+
py: row.getIsExpanded() ? '1rem' : 0,
|
79
86
|
transition: 'all 150ms ease-in-out',
|
80
87
|
width: `${table.getTotalSize()}px`,
|
81
88
|
...(parseFromValuesOrFunc(tableCellProps?.sx, theme) as any),
|
@@ -1,16 +1,22 @@
|
|
1
|
-
import Box from '@mui/material/Box';
|
1
|
+
import Box, { type BoxProps } from '@mui/material/Box';
|
2
2
|
import IconButton from '@mui/material/IconButton';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
|
-
import {
|
4
|
+
import { parseFromValuesOrFunc } from '../column.utils';
|
5
|
+
import {
|
6
|
+
type MRT_Column,
|
7
|
+
type MRT_RowData,
|
8
|
+
type MRT_TableInstance,
|
9
|
+
} from '../types';
|
5
10
|
|
6
|
-
interface Props<TData extends
|
11
|
+
interface Props<TData extends MRT_RowData> extends BoxProps {
|
7
12
|
column: MRT_Column<TData>;
|
8
13
|
table: MRT_TableInstance<TData>;
|
9
14
|
}
|
10
15
|
|
11
|
-
export const MRT_ColumnPinningButtons = <TData extends
|
16
|
+
export const MRT_ColumnPinningButtons = <TData extends MRT_RowData>({
|
12
17
|
column,
|
13
18
|
table,
|
19
|
+
...rest
|
14
20
|
}: Props<TData>) => {
|
15
21
|
const {
|
16
22
|
options: {
|
@@ -24,16 +30,23 @@ export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
|
|
24
30
|
};
|
25
31
|
|
26
32
|
return (
|
27
|
-
<Box
|
33
|
+
<Box
|
34
|
+
{...rest}
|
35
|
+
sx={(theme) => ({
|
36
|
+
minWidth: '70px',
|
37
|
+
textAlign: 'center',
|
38
|
+
...(parseFromValuesOrFunc(rest?.sx, theme) as any),
|
39
|
+
})}
|
40
|
+
>
|
28
41
|
{column.getIsPinned() ? (
|
29
|
-
<Tooltip
|
42
|
+
<Tooltip title={localization.unpin}>
|
30
43
|
<IconButton onClick={() => handlePinColumn(false)} size="small">
|
31
44
|
<PushPinIcon />
|
32
45
|
</IconButton>
|
33
46
|
</Tooltip>
|
34
47
|
) : (
|
35
48
|
<>
|
36
|
-
<Tooltip
|
49
|
+
<Tooltip title={localization.pinToLeft}>
|
37
50
|
<IconButton onClick={() => handlePinColumn('left')} size="small">
|
38
51
|
<PushPinIcon
|
39
52
|
style={{
|
@@ -42,7 +55,7 @@ export const MRT_ColumnPinningButtons = <TData extends Record<string, any>>({
|
|
42
55
|
/>
|
43
56
|
</IconButton>
|
44
57
|
</Tooltip>
|
45
|
-
<Tooltip
|
58
|
+
<Tooltip title={localization.pinToRight}>
|
46
59
|
<IconButton onClick={() => handlePinColumn('right')} size="small">
|
47
60
|
<PushPinIcon
|
48
61
|
style={{
|