material-react-table 2.10.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/index.d.ts +144 -125
- package/dist/index.esm.js +201 -152
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +201 -149
- package/dist/index.js.map +1 -1
- package/locales/ar/index.esm.js +1 -0
- package/locales/ar/index.js +1 -0
- package/locales/az/index.esm.js +1 -0
- package/locales/az/index.js +1 -0
- package/locales/bg/index.esm.js +1 -0
- package/locales/bg/index.js +1 -0
- package/locales/cs/index.esm.js +1 -0
- package/locales/cs/index.js +1 -0
- package/locales/da/index.esm.js +1 -0
- package/locales/da/index.js +1 -0
- package/locales/de/index.esm.js +1 -0
- package/locales/de/index.js +1 -0
- package/locales/en/index.esm.js +1 -0
- package/locales/en/index.js +1 -0
- package/locales/es/index.esm.js +1 -0
- package/locales/es/index.js +1 -0
- package/locales/et/index.esm.js +1 -0
- package/locales/et/index.js +1 -0
- package/locales/fa/index.esm.js +1 -0
- package/locales/fa/index.js +1 -0
- package/locales/fi/index.esm.js +1 -0
- package/locales/fi/index.js +1 -0
- package/locales/fr/index.esm.js +1 -0
- package/locales/fr/index.js +1 -0
- package/locales/he/index.esm.js +1 -0
- package/locales/he/index.js +1 -0
- package/locales/hu/index.esm.js +1 -0
- package/locales/hu/index.js +1 -0
- package/locales/hy/index.esm.js +1 -0
- package/locales/hy/index.js +1 -0
- package/locales/id/index.esm.js +1 -0
- package/locales/id/index.js +1 -0
- package/locales/it/index.esm.js +1 -0
- package/locales/it/index.js +1 -0
- package/locales/ja/index.esm.js +1 -0
- package/locales/ja/index.js +1 -0
- package/locales/ko/index.esm.js +1 -0
- package/locales/ko/index.js +1 -0
- package/locales/nl/index.esm.js +1 -0
- package/locales/nl/index.js +1 -0
- package/locales/no/index.esm.js +1 -0
- package/locales/no/index.js +1 -0
- package/locales/np/index.esm.js +1 -0
- package/locales/np/index.js +1 -0
- package/locales/pl/index.esm.js +1 -0
- package/locales/pl/index.js +1 -0
- package/locales/pt/index.esm.js +1 -0
- package/locales/pt/index.js +1 -0
- package/locales/pt-BR/index.esm.js +1 -0
- package/locales/pt-BR/index.js +1 -0
- package/locales/ro/index.esm.js +1 -0
- package/locales/ro/index.js +1 -0
- package/locales/ru/index.esm.js +1 -0
- package/locales/ru/index.js +1 -0
- package/locales/sk/index.esm.js +1 -0
- package/locales/sk/index.js +1 -0
- package/locales/sr-Cyrl-RS/index.esm.js +1 -0
- package/locales/sr-Cyrl-RS/index.js +1 -0
- package/locales/sr-Latn-RS/index.esm.js +1 -0
- package/locales/sr-Latn-RS/index.js +1 -0
- package/locales/sv/index.esm.js +1 -0
- package/locales/sv/index.js +1 -0
- package/locales/tr/index.esm.js +1 -0
- package/locales/tr/index.js +1 -0
- package/locales/uk/index.esm.js +1 -0
- package/locales/uk/index.js +1 -0
- package/locales/vi/index.esm.js +1 -0
- package/locales/vi/index.js +1 -0
- package/locales/zh-Hans/index.esm.js +1 -0
- package/locales/zh-Hans/index.js +1 -0
- package/locales/zh-Hant/index.esm.js +1 -0
- package/locales/zh-Hant/index.js +1 -0
- package/package.json +18 -18
- package/src/components/MaterialReactTable.tsx +3 -3
- package/src/components/body/MRT_TableBody.tsx +3 -2
- package/src/components/body/MRT_TableBodyCell.tsx +4 -2
- package/src/components/body/MRT_TableBodyCellValue.tsx +5 -2
- package/src/components/body/MRT_TableBodyRow.tsx +13 -8
- package/src/components/body/MRT_TableBodyRowGrabHandle.tsx +4 -3
- package/src/components/body/MRT_TableBodyRowPinButton.tsx +3 -2
- package/src/components/body/MRT_TableDetailPanel.tsx +3 -2
- package/src/components/buttons/MRT_ColumnPinningButtons.tsx +3 -2
- package/src/components/buttons/MRT_CopyButton.tsx +3 -2
- package/src/components/buttons/MRT_EditActionButtons.tsx +3 -2
- package/src/components/buttons/MRT_ExpandAllButton.tsx +3 -2
- package/src/components/buttons/MRT_ExpandButton.tsx +3 -2
- package/src/components/buttons/MRT_GrabHandleButton.tsx +9 -15
- package/src/components/buttons/MRT_RowPinButton.tsx +3 -2
- package/src/components/buttons/MRT_ShowHideColumnsButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleDensePaddingButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleFiltersButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleFullScreenButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleGlobalFilterButton.tsx +3 -2
- package/src/components/buttons/MRT_ToggleRowActionMenuButton.tsx +3 -2
- package/src/components/footer/MRT_TableFooter.tsx +3 -2
- package/src/components/footer/MRT_TableFooterCell.tsx +3 -2
- package/src/components/footer/MRT_TableFooterRow.tsx +5 -3
- package/src/components/head/MRT_TableHead.tsx +3 -2
- package/src/components/head/MRT_TableHeadCell.tsx +3 -5
- package/src/components/head/MRT_TableHeadCellColumnActionsButton.tsx +4 -2
- package/src/components/head/MRT_TableHeadCellFilterContainer.tsx +4 -2
- package/src/components/head/MRT_TableHeadCellFilterLabel.tsx +3 -2
- package/src/components/head/MRT_TableHeadCellGrabHandle.tsx +4 -3
- package/src/components/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
- package/src/components/head/MRT_TableHeadCellSortLabel.tsx +3 -2
- package/src/components/head/MRT_TableHeadRow.tsx +3 -2
- package/src/components/inputs/MRT_EditCellTextField.tsx +3 -2
- package/src/components/inputs/MRT_FilterCheckbox.tsx +3 -2
- package/src/components/inputs/MRT_FilterRangeFields.tsx +3 -2
- package/src/components/inputs/MRT_FilterRangeSlider.tsx +3 -2
- package/src/components/inputs/MRT_FilterTextField.tsx +15 -6
- package/src/components/inputs/MRT_GlobalFilterTextField.tsx +3 -2
- package/src/components/inputs/MRT_SelectCheckbox.tsx +26 -33
- package/src/components/menus/MRT_ActionMenuItem.tsx +3 -2
- package/src/components/menus/MRT_CellActionMenu.tsx +5 -4
- package/src/components/menus/MRT_ColumnActionMenu.tsx +5 -4
- package/src/components/menus/MRT_FilterOptionMenu.tsx +3 -2
- package/src/components/menus/MRT_RowActionMenu.tsx +3 -2
- package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +8 -2
- package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -5
- package/src/components/modals/MRT_EditRowModal.tsx +3 -2
- package/src/components/table/MRT_Table.tsx +2 -2
- package/src/components/table/MRT_TableContainer.tsx +3 -2
- package/src/components/table/MRT_TableLoadingOverlay.tsx +11 -8
- package/src/components/table/MRT_TablePaper.tsx +3 -2
- package/src/components/toolbar/MRT_BottomToolbar.tsx +3 -2
- package/src/components/toolbar/MRT_LinearProgressBar.tsx +3 -2
- package/src/components/toolbar/MRT_TablePagination.tsx +2 -2
- package/src/components/toolbar/MRT_ToolbarAlertBanner.tsx +30 -13
- package/src/components/toolbar/MRT_ToolbarDropZone.tsx +3 -2
- package/src/components/toolbar/MRT_ToolbarInternalButtons.tsx +3 -2
- package/src/components/toolbar/MRT_TopToolbar.tsx +2 -2
- package/src/hooks/useMRT_Effects.ts +11 -11
- package/src/hooks/useMRT_Rows.ts +11 -79
- package/src/hooks/useMRT_TableInstance.ts +2 -0
- package/src/hooks/useMRT_TableOptions.ts +2 -0
- package/src/locales/ar.ts +1 -0
- package/src/locales/az.ts +1 -0
- package/src/locales/bg.ts +1 -0
- package/src/locales/cs.ts +1 -0
- package/src/locales/da.ts +1 -0
- package/src/locales/de.ts +1 -0
- package/src/locales/en.ts +1 -0
- package/src/locales/es.ts +1 -0
- package/src/locales/et.ts +1 -0
- package/src/locales/fa.ts +1 -0
- package/src/locales/fi.ts +1 -0
- package/src/locales/fr.ts +1 -0
- package/src/locales/he.ts +1 -0
- package/src/locales/hu.ts +1 -0
- package/src/locales/hy.ts +1 -0
- package/src/locales/id.ts +1 -0
- package/src/locales/it.ts +1 -0
- package/src/locales/ja.ts +1 -0
- package/src/locales/ko.ts +1 -0
- package/src/locales/nl.ts +1 -0
- package/src/locales/no.ts +1 -0
- package/src/locales/np.ts +1 -0
- package/src/locales/pl.ts +1 -0
- package/src/locales/pt-BR.ts +1 -0
- package/src/locales/pt.ts +1 -0
- package/src/locales/ro.ts +1 -0
- package/src/locales/ru.ts +1 -0
- package/src/locales/sk.ts +1 -0
- package/src/locales/sr-Cyrl-RS.ts +1 -0
- package/src/locales/sr-Latn-RS.ts +1 -0
- package/src/locales/sv.ts +1 -0
- package/src/locales/tr.ts +1 -0
- package/src/locales/uk.ts +1 -0
- package/src/locales/vi.ts +1 -0
- package/src/locales/zh-Hans.ts +1 -0
- package/src/locales/zh-Hant.ts +1 -0
- package/src/types.ts +10 -4
- package/src/utils/column.utils.ts +4 -6
- package/src/utils/displayColumn.utils.ts +1 -1
- package/src/utils/row.utils.ts +179 -21
- package/locales/am/index.d.ts +0 -3
- package/locales/am/index.esm.d.ts +0 -3
- package/locales/am/index.esm.js +0 -93
- package/locales/am/index.js +0 -97
- package/locales/am/package.json +0 -6
package/src/locales/en.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_EN: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Change search mode',
|
|
9
9
|
clearFilter: 'Clear filter',
|
|
10
10
|
clearSearch: 'Clear search',
|
|
11
|
+
clearSelection: 'Clear selection',
|
|
11
12
|
clearSort: 'Clear sort',
|
|
12
13
|
clickToCopy: 'Click to copy',
|
|
13
14
|
copy: 'Copy',
|
package/src/locales/es.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_ES: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Cambiar modo de búsqueda',
|
|
9
9
|
clearFilter: 'Borrar filtro',
|
|
10
10
|
clearSearch: 'Borrar búsqueda',
|
|
11
|
+
clearSelection: 'Borrar selección',
|
|
11
12
|
clearSort: 'Borrar ordenamiento',
|
|
12
13
|
clickToCopy: 'Haga click para copiar',
|
|
13
14
|
copy: 'Copiar',
|
package/src/locales/et.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_ET: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Muuda otsingu režiimi',
|
|
9
9
|
clearFilter: 'Tühista filter',
|
|
10
10
|
clearSearch: 'Tühjenda otsing',
|
|
11
|
+
clearSelection: 'Tühjenda valik',
|
|
11
12
|
clearSort: 'Tühjenda sorteerimine',
|
|
12
13
|
clickToCopy: 'Klõpsa kopeerimiseks',
|
|
13
14
|
copy: 'Kopeeri',
|
package/src/locales/fa.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_FA: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'تغییر حالت جستجو',
|
|
9
9
|
clearFilter: 'پاک کردن فیلتر',
|
|
10
10
|
clearSearch: 'پاک کردن جستجو',
|
|
11
|
+
clearSelection: 'پاک کردن انتخاب',
|
|
11
12
|
clearSort: 'پاک کردن مرتب سازی',
|
|
12
13
|
clickToCopy: 'کپی کردن',
|
|
13
14
|
copy: 'کپی',
|
package/src/locales/fi.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_FI: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Muuta hakutapaa',
|
|
9
9
|
clearFilter: 'Tyhjennä suodatin',
|
|
10
10
|
clearSearch: 'Tyhjennä haku',
|
|
11
|
+
clearSelection: 'Tyhjennä valinta',
|
|
11
12
|
clearSort: 'Tyhjennä lajittelu',
|
|
12
13
|
clickToCopy: 'Kopioi napsauttamalla',
|
|
13
14
|
copy: 'Kopioi',
|
package/src/locales/fr.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_FR: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Changer le mode de recherche',
|
|
9
9
|
clearFilter: 'Effacer le filtre',
|
|
10
10
|
clearSearch: 'Effacer la recherche',
|
|
11
|
+
clearSelection: 'Effacer la sélection',
|
|
11
12
|
clearSort: 'Effacer le tri',
|
|
12
13
|
clickToCopy: 'Cliquer pour copier',
|
|
13
14
|
copy: 'Copier',
|
package/src/locales/he.ts
CHANGED
package/src/locales/hu.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_HU: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Keresés módjának megváltoztatása',
|
|
9
9
|
clearFilter: 'Szűrő törlése',
|
|
10
10
|
clearSearch: 'Keresés törlése',
|
|
11
|
+
clearSelection: 'Kiválasztás törlése',
|
|
11
12
|
clearSort: 'Rendezés törlése',
|
|
12
13
|
clickToCopy: 'Kattintson a másoláshoz',
|
|
13
14
|
copy: 'Másolás',
|
package/src/locales/hy.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_HY: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Փոխել որոնման ռեժիմը',
|
|
9
9
|
clearFilter: 'Մաքրել զտիչը',
|
|
10
10
|
clearSearch: 'Մաքրել որոնումը',
|
|
11
|
+
clearSelection: 'Մաքրել ընտրությունը',
|
|
11
12
|
clearSort: 'Մաքրել տեսակավորումը',
|
|
12
13
|
clickToCopy: 'Սեղմել պատճենելու համար',
|
|
13
14
|
copy: 'Պատճենել',
|
package/src/locales/id.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_ID: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Ubah mode pencarian',
|
|
9
9
|
clearFilter: 'Hapus filter',
|
|
10
10
|
clearSearch: 'Hapus pencarian',
|
|
11
|
+
clearSelection: 'Hapus pilihan',
|
|
11
12
|
clearSort: 'Hapus urutan',
|
|
12
13
|
clickToCopy: 'Klik untuk menyalin',
|
|
13
14
|
copy: 'Salin',
|
package/src/locales/it.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_IT: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Cambia modalità ricerca',
|
|
9
9
|
clearFilter: 'Cancella filtro',
|
|
10
10
|
clearSearch: 'Cancella ricerca',
|
|
11
|
+
clearSelection: 'Cancella selezione',
|
|
11
12
|
clearSort: 'Cancella ordinamento',
|
|
12
13
|
clickToCopy: 'Click per copiare',
|
|
13
14
|
copy: 'Copia',
|
package/src/locales/ja.ts
CHANGED
package/src/locales/ko.ts
CHANGED
package/src/locales/nl.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_NL: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Zoekmodus wijzigen',
|
|
9
9
|
clearFilter: 'Filter wissen',
|
|
10
10
|
clearSearch: 'Zoekbalk wissen',
|
|
11
|
+
clearSelection: 'Selectie wissen',
|
|
11
12
|
clearSort: 'Annuleer sortering',
|
|
12
13
|
clickToCopy: 'Klik om te kopiëren',
|
|
13
14
|
copy: 'Kopiëren',
|
package/src/locales/no.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_NO: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Endre søkemodus',
|
|
9
9
|
clearFilter: 'Tøm filter',
|
|
10
10
|
clearSearch: 'Tøm søk',
|
|
11
|
+
clearSelection: 'Tøm valg',
|
|
11
12
|
clearSort: 'Tøm sortering',
|
|
12
13
|
clickToCopy: 'Klikk for å kopiere',
|
|
13
14
|
copy: 'Kopier',
|
package/src/locales/np.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_NP: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'खोज प्रणाली परिवर्तन गर्नुहोस्',
|
|
9
9
|
clearFilter: 'फिल्टर हटाउनुहोस्',
|
|
10
10
|
clearSearch: 'खोजिएको शब्द मेट्नुहोस्',
|
|
11
|
+
clearSelection: 'चयन हटाउनुहोस्',
|
|
11
12
|
clearSort: 'क्रम हटाउनुहोस्',
|
|
12
13
|
clickToCopy: 'प्रतिलिपि बनाउन क्लिक गर्नुहोस्',
|
|
13
14
|
copy: 'प्रतिलिपि बनाउनुहोस्',
|
package/src/locales/pl.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_PL: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Zmień tryb wyszukiwania',
|
|
9
9
|
clearFilter: 'Wyczyść filtr',
|
|
10
10
|
clearSearch: 'Wyczyść wyszukiwanie',
|
|
11
|
+
clearSelection: 'Wyczyść zaznaczenie',
|
|
11
12
|
clearSort: 'Wyczyść sortowanie',
|
|
12
13
|
clickToCopy: 'Kliknij, aby skopiować',
|
|
13
14
|
copy: 'Kopiuj',
|
package/src/locales/pt-BR.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_PT_BR: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Alterar o modo de pesquisa',
|
|
9
9
|
clearFilter: 'Limpar filtros',
|
|
10
10
|
clearSearch: 'Limpar pesquisa',
|
|
11
|
+
clearSelection: 'Limpar seleção',
|
|
11
12
|
clearSort: 'Limpar classificações',
|
|
12
13
|
clickToCopy: 'Clique para copiar',
|
|
13
14
|
copy: 'Copiar',
|
package/src/locales/pt.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_PT: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Alterar o modo de pesquisa',
|
|
9
9
|
clearFilter: 'Limpar filtros',
|
|
10
10
|
clearSearch: 'Limpar pesquisa',
|
|
11
|
+
clearSelection: 'Limpar seleção',
|
|
11
12
|
clearSort: 'Limpar classificações',
|
|
12
13
|
clickToCopy: 'Clique para copiar',
|
|
13
14
|
copy: 'Copiar',
|
package/src/locales/ro.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_RO: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Schimbă mod căutare',
|
|
9
9
|
clearFilter: 'Curăță filtrarea',
|
|
10
10
|
clearSearch: 'Curăță căutarea',
|
|
11
|
+
clearSelection: 'Curăță selecția',
|
|
11
12
|
clearSort: 'Curăță sortarea',
|
|
12
13
|
clickToCopy: 'Apasă pentru a copia',
|
|
13
14
|
copy: 'Copiază',
|
package/src/locales/ru.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_RU: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Изменить режим поиска',
|
|
9
9
|
clearFilter: 'Очистить фильтр',
|
|
10
10
|
clearSearch: 'Очистить поиск',
|
|
11
|
+
clearSelection: 'Очистить выбор',
|
|
11
12
|
clearSort: 'Очистить сортировку',
|
|
12
13
|
clickToCopy: 'Нажмите, чтобы скопировать',
|
|
13
14
|
copy: 'Копировать',
|
package/src/locales/sk.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_SK: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Zmeniť režim hľadania',
|
|
9
9
|
clearFilter: 'Vyčistiť filter',
|
|
10
10
|
clearSearch: 'Vyčistiť hľadanie',
|
|
11
|
+
clearSelection: 'Vyčistiť výber',
|
|
11
12
|
clearSort: 'Vyčistiť zoradenie',
|
|
12
13
|
clickToCopy: 'Kliknutím skopírovať',
|
|
13
14
|
copy: 'Kopírovať',
|
|
@@ -8,6 +8,7 @@ export const MRT_Localization_SR_CYRL_RS: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Промени режим претраге',
|
|
9
9
|
clearFilter: 'Поништи филтер',
|
|
10
10
|
clearSearch: 'Поништи претрагу',
|
|
11
|
+
clearSelection: 'Поништи избор',
|
|
11
12
|
clearSort: 'Поништи сортирање',
|
|
12
13
|
clickToCopy: 'Кликни да копираш',
|
|
13
14
|
copy: 'Копирај',
|
|
@@ -8,6 +8,7 @@ export const MRT_Localization_SR_LATN_RS: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Promeni režim pretrage',
|
|
9
9
|
clearFilter: 'Poništi filter',
|
|
10
10
|
clearSearch: 'Poništi pretragu',
|
|
11
|
+
clearSelection: 'Poništi izbor',
|
|
11
12
|
clearSort: 'Poništi sortiranje',
|
|
12
13
|
clickToCopy: 'Klikni da kopiraš',
|
|
13
14
|
copy: 'Kopiraj',
|
package/src/locales/sv.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_SV: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Ändra sökläge',
|
|
9
9
|
clearFilter: 'Rensa filter',
|
|
10
10
|
clearSearch: 'Rensa sök',
|
|
11
|
+
clearSelection: 'Rensa val',
|
|
11
12
|
clearSort: 'Rensa sortering',
|
|
12
13
|
clickToCopy: 'Klicka för att kopiera',
|
|
13
14
|
copy: 'Kopiera',
|
package/src/locales/tr.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_TR: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Arama Modunu Değiştir',
|
|
9
9
|
clearFilter: 'Filtreyi Temizle',
|
|
10
10
|
clearSearch: 'Aramayı Temizle',
|
|
11
|
+
clearSelection: 'Seçimi Temizle',
|
|
11
12
|
clearSort: 'Sıralamayı Sıfırla',
|
|
12
13
|
clickToCopy: 'Kopyala',
|
|
13
14
|
copy: 'Kopyala',
|
package/src/locales/uk.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_UK: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Змінити режим пошуку',
|
|
9
9
|
clearFilter: 'Очистити фільтр',
|
|
10
10
|
clearSearch: 'Очистити пошук',
|
|
11
|
+
clearSelection: 'Скасувати вибір',
|
|
11
12
|
clearSort: 'Очистити сортування',
|
|
12
13
|
clickToCopy: 'Натисніть, щоб скопіювати',
|
|
13
14
|
copy: 'Копіювати',
|
package/src/locales/vi.ts
CHANGED
|
@@ -8,6 +8,7 @@ export const MRT_Localization_VI: MRT_Localization = {
|
|
|
8
8
|
changeSearchMode: 'Thay đổi chế độ tìm kiếm',
|
|
9
9
|
clearFilter: 'Xoá bộ lọc',
|
|
10
10
|
clearSearch: 'Xoá ô tìm kiếm',
|
|
11
|
+
clearSelection: 'Xoá lựa chọn',
|
|
11
12
|
clearSort: 'Huỷ sắp xếp',
|
|
12
13
|
clickToCopy: 'Nhấn vào để sao chép',
|
|
13
14
|
copy: 'Sao chép',
|
package/src/locales/zh-Hans.ts
CHANGED
package/src/locales/zh-Hant.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -170,6 +170,7 @@ export interface MRT_Localization {
|
|
|
170
170
|
changeSearchMode: string;
|
|
171
171
|
clearFilter: string;
|
|
172
172
|
clearSearch: string;
|
|
173
|
+
clearSelection: string;
|
|
173
174
|
clearSort: string;
|
|
174
175
|
clickToCopy: string;
|
|
175
176
|
collapse: string;
|
|
@@ -320,6 +321,7 @@ export type MRT_TableInstance<TData extends MRT_RowData> = Omit<
|
|
|
320
321
|
bottomToolbarRef: MutableRefObject<HTMLDivElement | null>;
|
|
321
322
|
editInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
|
|
322
323
|
filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
|
|
324
|
+
lastSelectedRowId: MutableRefObject<null | string>;
|
|
323
325
|
searchInputRef: MutableRefObject<HTMLInputElement | null>;
|
|
324
326
|
tableContainerRef: MutableRefObject<HTMLDivElement | null>;
|
|
325
327
|
tableFooterRef: MutableRefObject<HTMLTableSectionElement | null>;
|
|
@@ -378,7 +380,7 @@ export type MRT_StatefulTableOptions<TData extends MRT_RowData> =
|
|
|
378
380
|
>;
|
|
379
381
|
};
|
|
380
382
|
|
|
381
|
-
export
|
|
383
|
+
export interface MRT_TableState<TData extends MRT_RowData> extends TableState {
|
|
382
384
|
actionCell?: MRT_Cell<TData> | null;
|
|
383
385
|
columnFilterFns: MRT_ColumnFilterFnsState;
|
|
384
386
|
creatingRow: MRT_Row<TData> | null;
|
|
@@ -400,7 +402,7 @@ export type MRT_TableState<TData extends MRT_RowData> = TableState & {
|
|
|
400
402
|
showProgressBars: boolean;
|
|
401
403
|
showSkeletons: boolean;
|
|
402
404
|
showToolbarDropZone: boolean;
|
|
403
|
-
}
|
|
405
|
+
}
|
|
404
406
|
|
|
405
407
|
export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<
|
|
406
408
|
ColumnDef<TData, TValue>,
|
|
@@ -427,6 +429,7 @@ export type MRT_ColumnDef<TData extends MRT_RowData, TValue = unknown> = Omit<
|
|
|
427
429
|
renderedCellValue: ReactNode;
|
|
428
430
|
row: MRT_Row<TData>;
|
|
429
431
|
rowRef?: RefObject<HTMLTableRowElement>;
|
|
432
|
+
staticColumnIndex?: number;
|
|
430
433
|
staticRowIndex?: number;
|
|
431
434
|
table: MRT_TableInstance<TData>;
|
|
432
435
|
}) => ReactNode;
|
|
@@ -849,6 +852,7 @@ export type MRT_TableOptions<TData extends MRT_RowData> = Omit<
|
|
|
849
852
|
[key in MRT_DisplayColumnIds]: Partial<MRT_DisplayColumnDef<TData>>;
|
|
850
853
|
}>;
|
|
851
854
|
editDisplayMode?: 'cell' | 'custom' | 'modal' | 'row' | 'table';
|
|
855
|
+
enableBatchRowSelection?: boolean;
|
|
852
856
|
enableBottomToolbar?: boolean;
|
|
853
857
|
enableCellActions?: ((cell: MRT_Cell<TData>) => boolean) | boolean;
|
|
854
858
|
enableClickToCopy?:
|
|
@@ -915,8 +919,10 @@ export type MRT_TableOptions<TData extends MRT_RowData> = Omit<
|
|
|
915
919
|
| ((props: { table: MRT_TableInstance<TData> }) => BoxProps)
|
|
916
920
|
| BoxProps;
|
|
917
921
|
muiCircularProgressProps?:
|
|
918
|
-
| ((props: {
|
|
919
|
-
|
|
922
|
+
| ((props: {
|
|
923
|
+
table: MRT_TableInstance<TData>;
|
|
924
|
+
}) => CircularProgressProps & { Component?: ReactNode })
|
|
925
|
+
| (CircularProgressProps & { Component?: ReactNode });
|
|
920
926
|
muiColumnActionsButtonProps?:
|
|
921
927
|
| ((props: {
|
|
922
928
|
column: MRT_Column<TData>;
|
|
@@ -115,12 +115,10 @@ export const reorderColumn = <TData extends MRT_RowData>(
|
|
|
115
115
|
export const getDefaultColumnFilterFn = <TData extends MRT_RowData>(
|
|
116
116
|
columnDef: MRT_ColumnDef<TData>,
|
|
117
117
|
): MRT_FilterOption => {
|
|
118
|
-
|
|
119
|
-
if (
|
|
120
|
-
if (
|
|
121
|
-
|
|
122
|
-
columnDef.filterVariant === 'checkbox'
|
|
123
|
-
)
|
|
118
|
+
const { filterVariant } = columnDef;
|
|
119
|
+
if (filterVariant === 'multi-select') return 'arrIncludesSome';
|
|
120
|
+
if (filterVariant?.includes('range')) return 'betweenInclusive';
|
|
121
|
+
if (filterVariant === 'select' || filterVariant === 'checkbox')
|
|
124
122
|
return 'equals';
|
|
125
123
|
return 'fuzzy';
|
|
126
124
|
};
|
|
@@ -54,7 +54,7 @@ export const showRowExpandColumn = <TData extends MRT_RowData>(
|
|
|
54
54
|
} = tableOptions;
|
|
55
55
|
return !!(
|
|
56
56
|
enableExpanding ||
|
|
57
|
-
(enableGrouping &&
|
|
57
|
+
(enableGrouping && grouping?.length) ||
|
|
58
58
|
renderDetailPanel
|
|
59
59
|
);
|
|
60
60
|
};
|
package/src/utils/row.utils.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type ChangeEvent, type MouseEvent } from 'react';
|
|
2
|
+
import { rankGlobalFuzzy } from '../fns/sortingFns';
|
|
1
3
|
import {
|
|
2
4
|
type MRT_Row,
|
|
3
5
|
type MRT_RowData,
|
|
@@ -5,36 +7,88 @@ import {
|
|
|
5
7
|
} from '../types';
|
|
6
8
|
import { parseFromValuesOrFunc } from './utils';
|
|
7
9
|
|
|
8
|
-
export const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
table: MRT_TableInstance<TData>;
|
|
14
|
-
}) => {
|
|
10
|
+
export const getMRT_Rows = <TData extends MRT_RowData>(
|
|
11
|
+
table: MRT_TableInstance<TData>,
|
|
12
|
+
pinnedRowIds: string[] = [],
|
|
13
|
+
all?: boolean,
|
|
14
|
+
): MRT_Row<TData>[] => {
|
|
15
15
|
const {
|
|
16
|
-
|
|
16
|
+
getBottomRows,
|
|
17
|
+
getCenterRows,
|
|
18
|
+
getPrePaginationRowModel,
|
|
19
|
+
getRowModel,
|
|
20
|
+
getState,
|
|
21
|
+
getTopRows,
|
|
22
|
+
options: {
|
|
23
|
+
createDisplayMode,
|
|
24
|
+
enablePagination,
|
|
25
|
+
enableRowPinning,
|
|
26
|
+
manualPagination,
|
|
27
|
+
positionCreatingRow,
|
|
28
|
+
rowPinningDisplayMode,
|
|
29
|
+
},
|
|
17
30
|
} = table;
|
|
31
|
+
const { creatingRow, pagination } = getState();
|
|
18
32
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
const isRankingRows = getIsRankingRows(table);
|
|
34
|
+
|
|
35
|
+
let rows: MRT_Row<TData>[] = [];
|
|
36
|
+
if (!isRankingRows) {
|
|
37
|
+
rows =
|
|
38
|
+
!enableRowPinning || rowPinningDisplayMode?.includes('sticky')
|
|
39
|
+
? all
|
|
40
|
+
? getPrePaginationRowModel().rows
|
|
41
|
+
: getRowModel().rows
|
|
42
|
+
: getCenterRows();
|
|
43
|
+
} else {
|
|
44
|
+
rows = getPrePaginationRowModel().rows.sort((a, b) =>
|
|
45
|
+
rankGlobalFuzzy(a, b),
|
|
46
|
+
);
|
|
47
|
+
if (enablePagination && !manualPagination && !all) {
|
|
48
|
+
const start = pagination.pageIndex * pagination.pageSize;
|
|
49
|
+
rows = rows.slice(start, start + pagination.pageSize);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
if (enableRowPinning && rowPinningDisplayMode?.includes('sticky')) {
|
|
53
|
+
rows = [
|
|
54
|
+
...getTopRows().filter((row) => !pinnedRowIds.includes(row.id)),
|
|
55
|
+
...rows,
|
|
56
|
+
...getBottomRows().filter((row) => !pinnedRowIds.includes(row.id)),
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
if (
|
|
60
|
+
positionCreatingRow !== undefined &&
|
|
61
|
+
creatingRow &&
|
|
62
|
+
createDisplayMode === 'row'
|
|
63
|
+
) {
|
|
64
|
+
const creatingRowIndex = !isNaN(+positionCreatingRow)
|
|
65
|
+
? +positionCreatingRow
|
|
66
|
+
: positionCreatingRow === 'top'
|
|
67
|
+
? 0
|
|
68
|
+
: rows.length;
|
|
69
|
+
rows = [
|
|
70
|
+
...rows.slice(0, creatingRowIndex),
|
|
71
|
+
creatingRow,
|
|
72
|
+
...rows.slice(creatingRowIndex),
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return rows;
|
|
25
77
|
};
|
|
26
78
|
|
|
27
79
|
export const getCanRankRows = <TData extends MRT_RowData>(
|
|
28
80
|
table: MRT_TableInstance<TData>,
|
|
29
81
|
) => {
|
|
30
|
-
const { getState, options } = table;
|
|
31
82
|
const {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
83
|
+
getState,
|
|
84
|
+
options: {
|
|
85
|
+
enableGlobalFilterRankedResults,
|
|
86
|
+
manualExpanding,
|
|
87
|
+
manualFiltering,
|
|
88
|
+
manualGrouping,
|
|
89
|
+
manualSorting,
|
|
90
|
+
},
|
|
91
|
+
} = table;
|
|
38
92
|
const { expanded, globalFilterFn } = getState();
|
|
39
93
|
|
|
40
94
|
return (
|
|
@@ -48,3 +102,107 @@ export const getCanRankRows = <TData extends MRT_RowData>(
|
|
|
48
102
|
!Object.values(expanded).some(Boolean)
|
|
49
103
|
);
|
|
50
104
|
};
|
|
105
|
+
|
|
106
|
+
export const getIsRankingRows = <TData extends MRT_RowData>(
|
|
107
|
+
table: MRT_TableInstance<TData>,
|
|
108
|
+
) => {
|
|
109
|
+
const { globalFilter, sorting } = table.getState();
|
|
110
|
+
|
|
111
|
+
return (
|
|
112
|
+
getCanRankRows(table) &&
|
|
113
|
+
globalFilter &&
|
|
114
|
+
!Object.values(sorting).some(Boolean)
|
|
115
|
+
);
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export const getIsRowSelected = <TData extends MRT_RowData>({
|
|
119
|
+
row,
|
|
120
|
+
table,
|
|
121
|
+
}: {
|
|
122
|
+
row: MRT_Row<TData>;
|
|
123
|
+
table: MRT_TableInstance<TData>;
|
|
124
|
+
}) => {
|
|
125
|
+
const {
|
|
126
|
+
options: { enableRowSelection },
|
|
127
|
+
} = table;
|
|
128
|
+
|
|
129
|
+
return (
|
|
130
|
+
row.getIsSelected() ||
|
|
131
|
+
(parseFromValuesOrFunc(enableRowSelection, row) &&
|
|
132
|
+
row.getCanSelectSubRows() &&
|
|
133
|
+
row.getIsAllSubRowsSelected())
|
|
134
|
+
);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const getMRT_RowSelectionHandler =
|
|
138
|
+
() =>
|
|
139
|
+
<TData extends MRT_RowData>({
|
|
140
|
+
event,
|
|
141
|
+
row,
|
|
142
|
+
staticRowIndex = 0,
|
|
143
|
+
table,
|
|
144
|
+
}: {
|
|
145
|
+
event: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLTableRowElement>;
|
|
146
|
+
row: MRT_Row<TData>;
|
|
147
|
+
staticRowIndex?: number;
|
|
148
|
+
table: MRT_TableInstance<TData>;
|
|
149
|
+
}) => {
|
|
150
|
+
const {
|
|
151
|
+
getState,
|
|
152
|
+
options: {
|
|
153
|
+
enableBatchRowSelection,
|
|
154
|
+
enableRowPinning,
|
|
155
|
+
rowPinningDisplayMode,
|
|
156
|
+
},
|
|
157
|
+
refs: { lastSelectedRowId: lastSelectedRowId },
|
|
158
|
+
} = table;
|
|
159
|
+
const {
|
|
160
|
+
pagination: { pageIndex, pageSize },
|
|
161
|
+
} = getState();
|
|
162
|
+
|
|
163
|
+
const isChecked = getIsRowSelected({ row, table });
|
|
164
|
+
|
|
165
|
+
const isStickySelection =
|
|
166
|
+
enableRowPinning && rowPinningDisplayMode?.includes('select');
|
|
167
|
+
|
|
168
|
+
// toggle selected of this row
|
|
169
|
+
row.getToggleSelectedHandler()(event);
|
|
170
|
+
|
|
171
|
+
// if shift key is pressed, select all rows between last selected and this one
|
|
172
|
+
if (
|
|
173
|
+
enableBatchRowSelection &&
|
|
174
|
+
(event as any).nativeEvent.shiftKey &&
|
|
175
|
+
lastSelectedRowId.current !== null
|
|
176
|
+
) {
|
|
177
|
+
const rows = getMRT_Rows(table, undefined, true);
|
|
178
|
+
const lastIndex = rows.findIndex(
|
|
179
|
+
(r) => r.id === lastSelectedRowId.current,
|
|
180
|
+
);
|
|
181
|
+
if (lastIndex !== -1) {
|
|
182
|
+
const currentIndex = staticRowIndex + pageSize * pageIndex;
|
|
183
|
+
const [start, end] =
|
|
184
|
+
lastIndex < currentIndex
|
|
185
|
+
? [lastIndex, currentIndex]
|
|
186
|
+
: [currentIndex, lastIndex];
|
|
187
|
+
for (let i = start; i <= end; i++) {
|
|
188
|
+
rows[i].toggleSelected(!isChecked);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
lastSelectedRowId.current = row.id;
|
|
193
|
+
|
|
194
|
+
// if all sub rows were selected, unselect them
|
|
195
|
+
if (row.getCanSelectSubRows() && row.getIsAllSubRowsSelected()) {
|
|
196
|
+
row.subRows?.forEach((r) => r.toggleSelected(false));
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
if (isStickySelection) {
|
|
200
|
+
row.pin(
|
|
201
|
+
!row.getIsPinned() && isChecked
|
|
202
|
+
? rowPinningDisplayMode?.includes('bottom')
|
|
203
|
+
? 'bottom'
|
|
204
|
+
: 'top'
|
|
205
|
+
: false,
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
};
|
package/locales/am/index.d.ts
DELETED