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
@@ -1,18 +1,24 @@
|
|
1
1
|
import Badge from '@mui/material/Badge';
|
2
|
-
import {
|
3
|
-
|
2
|
+
import TableSortLabel, {
|
3
|
+
type TableSortLabelProps,
|
4
|
+
} from '@mui/material/TableSortLabel';
|
4
5
|
import Tooltip from '@mui/material/Tooltip';
|
5
|
-
import {
|
6
|
+
import { parseFromValuesOrFunc } from '../column.utils';
|
7
|
+
import {
|
8
|
+
type MRT_Header,
|
9
|
+
type MRT_RowData,
|
10
|
+
type MRT_TableInstance,
|
11
|
+
} from '../types';
|
6
12
|
|
7
|
-
interface Props<TData extends
|
13
|
+
interface Props<TData extends MRT_RowData> extends TableSortLabelProps {
|
8
14
|
header: MRT_Header<TData>;
|
9
15
|
table: MRT_TableInstance<TData>;
|
10
|
-
tableCellProps?: TableCellProps;
|
11
16
|
}
|
12
17
|
|
13
|
-
export const MRT_TableHeadCellSortLabel = <TData extends
|
18
|
+
export const MRT_TableHeadCellSortLabel = <TData extends MRT_RowData>({
|
14
19
|
header,
|
15
20
|
table,
|
21
|
+
...rest
|
16
22
|
}: Props<TData>) => {
|
17
23
|
const {
|
18
24
|
getState,
|
@@ -23,20 +29,23 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
|
|
23
29
|
} = table;
|
24
30
|
const { column } = header;
|
25
31
|
const { columnDef } = column;
|
26
|
-
const { sorting } = getState();
|
32
|
+
const { isLoading, showSkeletons, sorting } = getState();
|
27
33
|
|
28
34
|
const isSorted = !!column.getIsSorted();
|
29
35
|
|
30
|
-
const sortTooltip =
|
31
|
-
|
32
|
-
?
|
33
|
-
:
|
34
|
-
|
35
|
-
|
36
|
-
|
36
|
+
const sortTooltip =
|
37
|
+
isLoading || showSkeletons
|
38
|
+
? ''
|
39
|
+
: column.getIsSorted()
|
40
|
+
? column.getIsSorted() === 'desc'
|
41
|
+
? localization.sortedByColumnDesc.replace('{column}', columnDef.header)
|
42
|
+
: localization.sortedByColumnAsc.replace('{column}', columnDef.header)
|
43
|
+
: column.getNextSortingOrder() === 'desc'
|
44
|
+
? localization.sortByColumnDesc.replace('{column}', columnDef.header)
|
45
|
+
: localization.sortByColumnAsc.replace('{column}', columnDef.header);
|
37
46
|
|
38
47
|
return (
|
39
|
-
<Tooltip
|
48
|
+
<Tooltip placement="top" title={sortTooltip}>
|
40
49
|
<Badge
|
41
50
|
badgeContent={sorting.length > 1 ? column.getSortIndex() + 1 : 0}
|
42
51
|
overlap="circular"
|
@@ -47,7 +56,9 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
|
|
47
56
|
? (props) => (
|
48
57
|
<SyncAltIcon
|
49
58
|
{...props}
|
50
|
-
style={{
|
59
|
+
style={{
|
60
|
+
transform: 'rotate(-90deg) scaleX(0.9) translateX(-1px)',
|
61
|
+
}}
|
51
62
|
/>
|
52
63
|
)
|
53
64
|
: ArrowDownwardIcon
|
@@ -61,12 +72,21 @@ export const MRT_TableHeadCellSortLabel = <TData extends Record<string, any>>({
|
|
61
72
|
e.stopPropagation();
|
62
73
|
header.column.getToggleSortingHandler()?.(e);
|
63
74
|
}}
|
64
|
-
|
75
|
+
{...rest}
|
76
|
+
sx={(theme) => ({
|
77
|
+
'.MuiTableSortLabel-icon': {
|
78
|
+
color: `${
|
79
|
+
theme.palette.mode === 'dark'
|
80
|
+
? theme.palette.text.primary
|
81
|
+
: theme.palette.text.secondary
|
82
|
+
} !important`,
|
83
|
+
},
|
65
84
|
flex: '0 0',
|
66
85
|
opacity: isSorted ? 1 : 0.3,
|
67
86
|
transition: 'all 150ms ease-in-out',
|
68
87
|
width: '3ch',
|
69
|
-
|
88
|
+
...(parseFromValuesOrFunc(rest?.sx, theme) as any),
|
89
|
+
})}
|
70
90
|
/>
|
71
91
|
</Badge>
|
72
92
|
</Tooltip>
|
@@ -1,15 +1,17 @@
|
|
1
1
|
import { type VirtualItem } from '@tanstack/react-virtual';
|
2
|
-
import
|
3
|
-
import {
|
2
|
+
import { alpha } from '@mui/material';
|
3
|
+
import TableRow, { type TableRowProps } from '@mui/material/TableRow';
|
4
4
|
import { MRT_TableHeadCell } from './MRT_TableHeadCell';
|
5
5
|
import { parseFromValuesOrFunc } from '../column.utils';
|
6
|
+
import { getMRTTheme } from '../style.utils';
|
6
7
|
import {
|
7
8
|
type MRT_Header,
|
8
9
|
type MRT_HeaderGroup,
|
10
|
+
type MRT_RowData,
|
9
11
|
type MRT_TableInstance,
|
10
12
|
} from '../types';
|
11
13
|
|
12
|
-
interface Props<TData extends
|
14
|
+
interface Props<TData extends MRT_RowData> extends TableRowProps {
|
13
15
|
headerGroup: MRT_HeaderGroup<TData>;
|
14
16
|
table: MRT_TableInstance<TData>;
|
15
17
|
virtualColumns?: VirtualItem[];
|
@@ -17,27 +19,31 @@ interface Props<TData extends Record<string, any>> {
|
|
17
19
|
virtualPaddingRight?: number;
|
18
20
|
}
|
19
21
|
|
20
|
-
export const MRT_TableHeadRow = <TData extends
|
22
|
+
export const MRT_TableHeadRow = <TData extends MRT_RowData>({
|
21
23
|
headerGroup,
|
22
24
|
table,
|
23
25
|
virtualColumns,
|
24
26
|
virtualPaddingLeft,
|
25
27
|
virtualPaddingRight,
|
28
|
+
...rest
|
26
29
|
}: Props<TData>) => {
|
27
30
|
const {
|
28
31
|
options: { layoutMode, muiTableHeadRowProps },
|
29
32
|
} = table;
|
30
33
|
|
31
|
-
const tableRowProps =
|
32
|
-
|
33
|
-
|
34
|
-
|
34
|
+
const tableRowProps = {
|
35
|
+
...parseFromValuesOrFunc(muiTableHeadRowProps, {
|
36
|
+
headerGroup,
|
37
|
+
table,
|
38
|
+
}),
|
39
|
+
rest,
|
40
|
+
};
|
35
41
|
|
36
42
|
return (
|
37
43
|
<TableRow
|
38
44
|
{...tableRowProps}
|
39
45
|
sx={(theme) => ({
|
40
|
-
backgroundColor:
|
46
|
+
backgroundColor: getMRTTheme(table, theme).baseBackgroundColor,
|
41
47
|
boxShadow: `4px 0 8px ${alpha(theme.palette.common.black, 0.1)}`,
|
42
48
|
display: layoutMode?.startsWith('grid') ? 'flex' : undefined,
|
43
49
|
top: 0,
|
@@ -12,9 +12,12 @@ import {
|
|
12
12
|
type MRT_DefinedTableOptions,
|
13
13
|
type MRT_GroupingState,
|
14
14
|
type MRT_Row,
|
15
|
+
type MRT_RowData,
|
15
16
|
} from '../types';
|
17
|
+
import { MRT_DefaultDisplayColumn } from './useMRT_TableOptions';
|
16
18
|
|
17
19
|
const blankColProps = {
|
20
|
+
children: null,
|
18
21
|
sx: {
|
19
22
|
flex: '1 0 auto',
|
20
23
|
minWidth: 0,
|
@@ -23,14 +26,14 @@ const blankColProps = {
|
|
23
26
|
},
|
24
27
|
};
|
25
28
|
|
26
|
-
interface Params<TData extends
|
29
|
+
interface Params<TData extends MRT_RowData> {
|
27
30
|
columnOrder: MRT_ColumnOrderState;
|
28
31
|
creatingRow: MRT_Row<TData> | null;
|
29
32
|
grouping: MRT_GroupingState;
|
30
33
|
tableOptions: MRT_DefinedTableOptions<TData>;
|
31
34
|
}
|
32
35
|
|
33
|
-
export const useMRT_DisplayColumns = <TData extends
|
36
|
+
export const useMRT_DisplayColumns = <TData extends MRT_RowData>({
|
34
37
|
columnOrder,
|
35
38
|
creatingRow,
|
36
39
|
grouping,
|
@@ -48,8 +51,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
48
51
|
),
|
49
52
|
header: tableOptions.localization.pin,
|
50
53
|
size: 60,
|
51
|
-
...tableOptions.defaultDisplayColumn,
|
52
54
|
...tableOptions.displayColumnDefOptions?.['mrt-row-pin'],
|
55
|
+
columnDefType: 'display',
|
53
56
|
id: 'mrt-row-pin',
|
54
57
|
},
|
55
58
|
(tableOptions.state?.columnOrder ?? columnOrder).includes(
|
@@ -64,8 +67,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
64
67
|
),
|
65
68
|
header: tableOptions.localization.move,
|
66
69
|
size: 60,
|
67
|
-
...tableOptions.defaultDisplayColumn,
|
68
70
|
...tableOptions.displayColumnDefOptions?.['mrt-row-drag'],
|
71
|
+
columnDefType: 'display',
|
69
72
|
id: 'mrt-row-drag',
|
70
73
|
},
|
71
74
|
((tableOptions.state?.columnOrder ?? columnOrder).includes(
|
@@ -81,8 +84,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
81
84
|
),
|
82
85
|
header: tableOptions.localization.actions,
|
83
86
|
size: 70,
|
84
|
-
...tableOptions.defaultDisplayColumn,
|
85
87
|
...tableOptions.displayColumnDefOptions?.['mrt-row-actions'],
|
88
|
+
columnDefType: 'display',
|
86
89
|
id: 'mrt-row-actions',
|
87
90
|
},
|
88
91
|
(tableOptions.state?.columnOrder ?? columnOrder).includes(
|
@@ -100,8 +103,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
100
103
|
: null,
|
101
104
|
header: tableOptions.localization.expand,
|
102
105
|
size: 60,
|
103
|
-
...tableOptions.defaultDisplayColumn,
|
104
106
|
...tableOptions.displayColumnDefOptions?.['mrt-row-expand'],
|
107
|
+
columnDefType: 'display',
|
105
108
|
id: 'mrt-row-expand',
|
106
109
|
},
|
107
110
|
(tableOptions.state?.columnOrder ?? columnOrder).includes(
|
@@ -117,8 +120,8 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
117
120
|
: null,
|
118
121
|
header: tableOptions.localization.select,
|
119
122
|
size: 60,
|
120
|
-
...tableOptions.defaultDisplayColumn,
|
121
123
|
...tableOptions.displayColumnDefOptions?.['mrt-row-select'],
|
124
|
+
columnDefType: 'display',
|
122
125
|
id: 'mrt-row-select',
|
123
126
|
},
|
124
127
|
(tableOptions.state?.columnOrder ?? columnOrder).includes(
|
@@ -128,17 +131,18 @@ export const useMRT_DisplayColumns = <TData extends Record<string, any>>({
|
|
128
131
|
Header: () => tableOptions.localization.rowNumber,
|
129
132
|
header: tableOptions.localization.rowNumbers,
|
130
133
|
size: 60,
|
131
|
-
...tableOptions.defaultDisplayColumn,
|
132
134
|
...tableOptions.displayColumnDefOptions?.['mrt-row-numbers'],
|
135
|
+
columnDefType: 'display',
|
133
136
|
id: 'mrt-row-numbers',
|
134
137
|
},
|
135
|
-
|
136
138
|
(tableOptions.state?.columnOrder ?? columnOrder).includes(
|
137
139
|
'mrt-row-spacer',
|
138
140
|
) && {
|
141
|
+
...tableOptions.displayColumnDefOptions?.['mrt-row-spacer'],
|
142
|
+
...MRT_DefaultDisplayColumn,
|
139
143
|
columnDefType: 'display',
|
140
144
|
header: '',
|
141
|
-
id: 'spacer',
|
145
|
+
id: 'mrt-row-spacer',
|
142
146
|
muiTableBodyCellProps: blankColProps,
|
143
147
|
muiTableFooterCellProps: blankColProps,
|
144
148
|
muiTableHeadCellProps: blankColProps,
|
@@ -1,8 +1,12 @@
|
|
1
1
|
import { useEffect, useReducer, useRef } from 'react';
|
2
2
|
import { getCanRankRows } from '../column.utils';
|
3
|
-
import {
|
3
|
+
import {
|
4
|
+
type MRT_RowData,
|
5
|
+
type MRT_SortingState,
|
6
|
+
type MRT_TableInstance,
|
7
|
+
} from '../types';
|
4
8
|
|
5
|
-
export const useMRT_Effects = <TData extends
|
9
|
+
export const useMRT_Effects = <TData extends MRT_RowData>(
|
6
10
|
table: MRT_TableInstance<TData>,
|
7
11
|
) => {
|
8
12
|
const {
|
@@ -30,6 +30,7 @@ import {
|
|
30
30
|
type MRT_FilterOption,
|
31
31
|
type MRT_GroupingState,
|
32
32
|
type MRT_Row,
|
33
|
+
type MRT_RowData,
|
33
34
|
type MRT_TableInstance,
|
34
35
|
type MRT_TableState,
|
35
36
|
type MRT_Updater,
|
@@ -37,9 +38,9 @@ import {
|
|
37
38
|
import { useMRT_DisplayColumns } from './useMRT_DisplayColumns';
|
38
39
|
import { useMRT_Effects } from './useMRT_Effects';
|
39
40
|
|
40
|
-
export const useMRT_TableInstance: <TData extends
|
41
|
+
export const useMRT_TableInstance: <TData extends MRT_RowData>(
|
41
42
|
tableOptions: MRT_DefinedTableOptions<TData>,
|
42
|
-
) => MRT_TableInstance<TData> = <TData extends
|
43
|
+
) => MRT_TableInstance<TData> = <TData extends MRT_RowData>(
|
43
44
|
tableOptions: MRT_DefinedTableOptions<TData>,
|
44
45
|
) => {
|
45
46
|
const bottomToolbarRef = useRef<HTMLDivElement>(null);
|
@@ -1,15 +1,40 @@
|
|
1
1
|
import { useMemo } from 'react';
|
2
2
|
import { MRT_AggregationFns } from '../aggregationFns';
|
3
|
-
import { MRT_DefaultColumn, MRT_DefaultDisplayColumn } from '../column.utils';
|
4
3
|
import { MRT_FilterFns } from '../filterFns';
|
5
4
|
import { MRT_Default_Icons } from '../icons';
|
6
5
|
import { MRT_Localization_EN } from '../locales/en';
|
7
6
|
import { MRT_SortingFns } from '../sortingFns';
|
8
|
-
import {
|
7
|
+
import {
|
8
|
+
type MRT_DefinedTableOptions,
|
9
|
+
type MRT_RowData,
|
10
|
+
type MRT_TableOptions,
|
11
|
+
} from '../types';
|
9
12
|
|
10
|
-
export const
|
13
|
+
export const MRT_DefaultColumn = {
|
14
|
+
filterVariant: 'text',
|
15
|
+
maxSize: 1000,
|
16
|
+
minSize: 40,
|
17
|
+
size: 180,
|
18
|
+
} as const;
|
19
|
+
|
20
|
+
export const MRT_DefaultDisplayColumn = {
|
21
|
+
columnDefType: 'display',
|
22
|
+
enableClickToCopy: false,
|
23
|
+
enableColumnActions: false,
|
24
|
+
enableColumnDragging: false,
|
25
|
+
enableColumnFilter: false,
|
26
|
+
enableColumnOrdering: false,
|
27
|
+
enableEditing: false,
|
28
|
+
enableGlobalFilter: false,
|
29
|
+
enableGrouping: false,
|
30
|
+
enableHiding: false,
|
31
|
+
enableResizing: false,
|
32
|
+
enableSorting: false,
|
33
|
+
} as const;
|
34
|
+
|
35
|
+
export const useMRT_TableOptions: <TData extends MRT_RowData>(
|
11
36
|
tableOptions: MRT_TableOptions<TData>,
|
12
|
-
) => MRT_DefinedTableOptions<TData> = <TData extends
|
37
|
+
) => MRT_DefinedTableOptions<TData> = <TData extends MRT_RowData>({
|
13
38
|
aggregationFns,
|
14
39
|
autoResetExpanded = false,
|
15
40
|
columnFilterDisplayMode = 'subheader',
|
package/src/index.ts
CHANGED
@@ -8,16 +8,21 @@ import MenuItem from '@mui/material/MenuItem';
|
|
8
8
|
import TextField from '@mui/material/TextField';
|
9
9
|
import { type TextFieldProps } from '@mui/material/TextField';
|
10
10
|
import { parseFromValuesOrFunc } from '../column.utils';
|
11
|
-
import {
|
11
|
+
import {
|
12
|
+
type MRT_Cell,
|
13
|
+
type MRT_RowData,
|
14
|
+
type MRT_TableInstance,
|
15
|
+
} from '../types';
|
12
16
|
|
13
|
-
interface Props<TData extends
|
17
|
+
interface Props<TData extends MRT_RowData> extends TextFieldProps<'standard'> {
|
14
18
|
cell: MRT_Cell<TData>;
|
15
19
|
table: MRT_TableInstance<TData>;
|
16
20
|
}
|
17
21
|
|
18
|
-
export const MRT_EditCellTextField = <TData extends
|
22
|
+
export const MRT_EditCellTextField = <TData extends MRT_RowData>({
|
19
23
|
cell,
|
20
24
|
table,
|
25
|
+
...rest
|
21
26
|
}: Props<TData>) => {
|
22
27
|
const {
|
23
28
|
getState,
|
@@ -50,6 +55,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
|
|
50
55
|
row,
|
51
56
|
table,
|
52
57
|
}),
|
58
|
+
...rest,
|
53
59
|
};
|
54
60
|
|
55
61
|
const saveInputValueToRowCache = (newValue: string) => {
|
@@ -103,7 +109,7 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
|
|
103
109
|
['custom', 'modal'].includes(
|
104
110
|
(isCreating ? createDisplayMode : editDisplayMode) as string,
|
105
111
|
)
|
106
|
-
?
|
112
|
+
? columnDef.header
|
107
113
|
: undefined
|
108
114
|
}
|
109
115
|
margin="none"
|
@@ -116,9 +122,25 @@ export const MRT_EditCellTextField = <TData extends Record<string, any>>({
|
|
116
122
|
: undefined
|
117
123
|
}
|
118
124
|
select={isSelectEdit}
|
125
|
+
size="small"
|
119
126
|
value={value}
|
120
127
|
variant="standard"
|
121
128
|
{...textFieldProps}
|
129
|
+
InputProps={{
|
130
|
+
disableUnderline: editDisplayMode === 'table',
|
131
|
+
...textFieldProps.InputProps,
|
132
|
+
sx: (theme) => ({
|
133
|
+
mb: 0,
|
134
|
+
...(parseFromValuesOrFunc(
|
135
|
+
textFieldProps?.InputProps?.sx,
|
136
|
+
theme,
|
137
|
+
) as any),
|
138
|
+
}),
|
139
|
+
}}
|
140
|
+
inputProps={{
|
141
|
+
autoComplete: 'new-password', // disable autocomplete and autofill
|
142
|
+
...textFieldProps.inputProps,
|
143
|
+
}}
|
122
144
|
onBlur={handleBlur}
|
123
145
|
onChange={handleChange}
|
124
146
|
onClick={(e) => {
|
@@ -1,17 +1,22 @@
|
|
1
|
-
import Checkbox from '@mui/material/Checkbox';
|
1
|
+
import Checkbox, { type CheckboxProps } from '@mui/material/Checkbox';
|
2
2
|
import FormControlLabel from '@mui/material/FormControlLabel';
|
3
3
|
import Tooltip from '@mui/material/Tooltip';
|
4
4
|
import { parseFromValuesOrFunc } from '../column.utils';
|
5
|
-
import {
|
5
|
+
import {
|
6
|
+
type MRT_Column,
|
7
|
+
type MRT_RowData,
|
8
|
+
type MRT_TableInstance,
|
9
|
+
} from '../types';
|
6
10
|
|
7
|
-
interface Props<TData extends
|
11
|
+
interface Props<TData extends MRT_RowData> extends CheckboxProps {
|
8
12
|
column: MRT_Column<TData>;
|
9
13
|
table: MRT_TableInstance<TData>;
|
10
14
|
}
|
11
15
|
|
12
|
-
export const MRT_FilterCheckbox = <TData extends
|
16
|
+
export const MRT_FilterCheckbox = <TData extends MRT_RowData>({
|
13
17
|
column,
|
14
18
|
table,
|
19
|
+
...rest
|
15
20
|
}: Props<TData>) => {
|
16
21
|
const {
|
17
22
|
getState,
|
@@ -29,6 +34,7 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
|
|
29
34
|
column,
|
30
35
|
table,
|
31
36
|
}),
|
37
|
+
...rest,
|
32
38
|
};
|
33
39
|
|
34
40
|
const filterLabel = localization.filterByColumn?.replace(
|
@@ -38,7 +44,6 @@ export const MRT_FilterCheckbox = <TData extends Record<string, any>>({
|
|
38
44
|
|
39
45
|
return (
|
40
46
|
<Tooltip
|
41
|
-
arrow
|
42
47
|
enterDelay={1000}
|
43
48
|
enterNextDelay={1000}
|
44
49
|
title={checkboxProps?.title ?? filterLabel}
|
@@ -1,18 +1,32 @@
|
|
1
|
-
import Box from '@mui/material/Box';
|
1
|
+
import Box, { type BoxProps } from '@mui/material/Box';
|
2
2
|
import { MRT_FilterTextField } from './MRT_FilterTextField';
|
3
|
-
import {
|
3
|
+
import { parseFromValuesOrFunc } from '../column.utils';
|
4
|
+
import {
|
5
|
+
type MRT_Header,
|
6
|
+
type MRT_RowData,
|
7
|
+
type MRT_TableInstance,
|
8
|
+
} from '../types';
|
4
9
|
|
5
|
-
interface Props<TData extends
|
10
|
+
interface Props<TData extends MRT_RowData> extends BoxProps {
|
6
11
|
header: MRT_Header<TData>;
|
7
12
|
table: MRT_TableInstance<TData>;
|
8
13
|
}
|
9
14
|
|
10
|
-
export const MRT_FilterRangeFields = <TData extends
|
15
|
+
export const MRT_FilterRangeFields = <TData extends MRT_RowData>({
|
11
16
|
header,
|
12
17
|
table,
|
18
|
+
...rest
|
13
19
|
}: Props<TData>) => {
|
14
20
|
return (
|
15
|
-
<Box
|
21
|
+
<Box
|
22
|
+
{...rest}
|
23
|
+
sx={(theme) => ({
|
24
|
+
display: 'grid',
|
25
|
+
gap: '1rem',
|
26
|
+
gridTemplateColumns: '1fr 1fr',
|
27
|
+
...(parseFromValuesOrFunc(rest?.sx, theme) as any),
|
28
|
+
})}
|
29
|
+
>
|
16
30
|
<MRT_FilterTextField header={header} rangeFilterIndex={0} table={table} />
|
17
31
|
<MRT_FilterTextField header={header} rangeFilterIndex={1} table={table} />
|
18
32
|
</Box>
|
@@ -1,18 +1,23 @@
|
|
1
1
|
import { useEffect, useRef, useState } from 'react';
|
2
2
|
import FormHelperText from '@mui/material/FormHelperText';
|
3
|
-
import Slider from '@mui/material/Slider';
|
3
|
+
import Slider, { type SliderProps } from '@mui/material/Slider';
|
4
4
|
import Stack from '@mui/material/Stack';
|
5
5
|
import { parseFromValuesOrFunc } from '../column.utils';
|
6
|
-
import {
|
6
|
+
import {
|
7
|
+
type MRT_Header,
|
8
|
+
type MRT_RowData,
|
9
|
+
type MRT_TableInstance,
|
10
|
+
} from '../types';
|
7
11
|
|
8
|
-
interface Props<TData extends
|
12
|
+
interface Props<TData extends MRT_RowData> extends SliderProps {
|
9
13
|
header: MRT_Header<TData>;
|
10
14
|
table: MRT_TableInstance<TData>;
|
11
15
|
}
|
12
16
|
|
13
|
-
export const MRT_FilterRangeSlider = <TData extends
|
17
|
+
export const MRT_FilterRangeSlider = <TData extends MRT_RowData>({
|
14
18
|
header,
|
15
19
|
table,
|
20
|
+
...rest
|
16
21
|
}: Props<TData>) => {
|
17
22
|
const {
|
18
23
|
options: { enableColumnFilterModes, localization, muiFilterSliderProps },
|
@@ -29,6 +34,7 @@ export const MRT_FilterRangeSlider = <TData extends Record<string, any>>({
|
|
29
34
|
const sliderProps = {
|
30
35
|
...parseFromValuesOrFunc(muiFilterSliderProps, { column, table }),
|
31
36
|
...parseFromValuesOrFunc(columnDef.muiFilterSliderProps, { column, table }),
|
37
|
+
...rest,
|
32
38
|
};
|
33
39
|
|
34
40
|
let [min, max] =
|
@@ -23,18 +23,23 @@ import {
|
|
23
23
|
} from '@mui/x-date-pickers/DatePicker';
|
24
24
|
import { parseFromValuesOrFunc } from '../column.utils';
|
25
25
|
import { MRT_FilterOptionMenu } from '../menus/MRT_FilterOptionMenu';
|
26
|
-
import {
|
26
|
+
import {
|
27
|
+
type MRT_Header,
|
28
|
+
type MRT_RowData,
|
29
|
+
type MRT_TableInstance,
|
30
|
+
} from '../types';
|
27
31
|
|
28
|
-
interface Props<TData extends
|
32
|
+
interface Props<TData extends MRT_RowData> extends TextFieldProps<'standard'> {
|
29
33
|
header: MRT_Header<TData>;
|
30
34
|
rangeFilterIndex?: number;
|
31
35
|
table: MRT_TableInstance<TData>;
|
32
36
|
}
|
33
37
|
|
34
|
-
export const MRT_FilterTextField = <TData extends
|
38
|
+
export const MRT_FilterTextField = <TData extends MRT_RowData>({
|
35
39
|
header,
|
36
40
|
rangeFilterIndex,
|
37
41
|
table,
|
42
|
+
...rest
|
38
43
|
}: Props<TData>) => {
|
39
44
|
const {
|
40
45
|
options: {
|
@@ -60,6 +65,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
|
60
65
|
column,
|
61
66
|
table,
|
62
67
|
}),
|
68
|
+
...rest,
|
63
69
|
};
|
64
70
|
|
65
71
|
const autocompleteProps = {
|
@@ -236,7 +242,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
|
236
242
|
position="end"
|
237
243
|
sx={{ mr: isSelectFilter || isMultiSelectFilter ? '20px' : undefined }}
|
238
244
|
>
|
239
|
-
<Tooltip
|
245
|
+
<Tooltip placement="right" title={localization.clearFilter ?? ''}>
|
240
246
|
<span>
|
241
247
|
<IconButton
|
242
248
|
aria-label={localization.clearFilter}
|
@@ -258,7 +264,7 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
|
258
264
|
|
259
265
|
const startAdornment = showChangeModeButton ? (
|
260
266
|
<InputAdornment position="start">
|
261
|
-
<Tooltip
|
267
|
+
<Tooltip title={localization.changeFilterMode}>
|
262
268
|
<span>
|
263
269
|
<IconButton
|
264
270
|
aria-label={localization.changeFilterMode}
|
@@ -329,6 +335,8 @@ export const MRT_FilterTextField = <TData extends Record<string, any>>({
|
|
329
335
|
sx: (theme) => ({
|
330
336
|
minWidth: isDateFilter
|
331
337
|
? '160px'
|
338
|
+
: enableColumnFilterModes && rangeFilterIndex === 0
|
339
|
+
? '110px'
|
332
340
|
: isRangeFilter
|
333
341
|
? '100px'
|
334
342
|
: !filterChipLabel
|