@mui/x-data-grid 5.8.0 → 5.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.
Files changed (626) hide show
  1. package/CHANGELOG.md +333 -66
  2. package/DataGrid/DataGrid.js +36 -2
  3. package/DataGrid/useDataGridComponent.js +3 -1
  4. package/DataGrid/useDataGridProps.js +2 -1
  5. package/LICENSE +21 -0
  6. package/README.md +7 -5
  7. package/colDef/gridActionsColDef.js +2 -1
  8. package/colDef/gridBooleanColDef.js +2 -1
  9. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  10. package/colDef/gridDateColDef.js +4 -2
  11. package/colDef/gridNumericColDef.js +3 -2
  12. package/colDef/gridNumericOperators.d.ts +2 -0
  13. package/colDef/gridNumericOperators.js +11 -0
  14. package/colDef/gridSingleSelectColDef.js +3 -2
  15. package/colDef/gridSingleSelectOperators.d.ts +3 -0
  16. package/colDef/gridSingleSelectOperators.js +52 -0
  17. package/colDef/gridStringColDef.js +3 -2
  18. package/colDef/gridStringOperators.d.ts +2 -0
  19. package/colDef/gridStringOperators.js +12 -0
  20. package/components/GridFooter.d.ts +4 -2
  21. package/components/GridFooter.js +11 -2
  22. package/components/GridRow.d.ts +4 -0
  23. package/components/GridRow.js +58 -28
  24. package/components/GridRowCount.d.ts +4 -1
  25. package/components/GridRowCount.js +1 -0
  26. package/components/GridScrollArea.js +3 -4
  27. package/components/GridSelectedRowCount.d.ts +4 -1
  28. package/components/GridSelectedRowCount.js +2 -1
  29. package/components/base/GridBody.js +1 -2
  30. package/components/base/GridOverlays.js +5 -5
  31. package/components/cell/GridActionsCell.d.ts +5 -1
  32. package/components/cell/GridActionsCell.js +179 -21
  33. package/components/cell/GridActionsCellItem.d.ts +66 -4
  34. package/components/cell/GridActionsCellItem.js +7 -5
  35. package/components/cell/GridCell.d.ts +1 -0
  36. package/components/cell/GridCell.js +36 -15
  37. package/components/cell/GridEditBooleanCell.d.ts +15 -3
  38. package/components/cell/GridEditBooleanCell.js +101 -6
  39. package/components/cell/GridEditDateCell.d.ts +16 -4
  40. package/components/cell/GridEditDateCell.js +99 -5
  41. package/components/cell/GridEditInputCell.d.ts +11 -5
  42. package/components/cell/GridEditInputCell.js +30 -6
  43. package/components/cell/GridEditSingleSelectCell.d.ts +12 -4
  44. package/components/cell/GridEditSingleSelectCell.js +50 -18
  45. package/components/cell/index.d.ts +2 -0
  46. package/components/cell/index.js +2 -0
  47. package/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  48. package/components/columnHeaders/GridColumnHeaders.d.ts +2 -1
  49. package/components/columnHeaders/GridColumnHeaders.js +1 -1
  50. package/components/columnHeaders/GridColumnHeadersInner.d.ts +2 -0
  51. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +3 -3
  52. package/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
  53. package/components/columnSelection/GridHeaderCheckbox.js +4 -5
  54. package/components/containers/GridFooterContainer.d.ts +8 -2
  55. package/components/containers/GridFooterContainer.js +11 -2
  56. package/components/containers/GridRootStyles.js +36 -1
  57. package/components/containers/GridToolbarContainer.d.ts +8 -2
  58. package/components/containers/GridToolbarContainer.js +12 -2
  59. package/components/menu/GridMenu.js +1 -0
  60. package/components/panel/GridPanel.js +1 -0
  61. package/components/panel/GridPanelContent.d.ts +8 -1
  62. package/components/panel/GridPanelContent.js +13 -2
  63. package/components/panel/GridPanelFooter.d.ts +8 -1
  64. package/components/panel/GridPanelFooter.js +13 -2
  65. package/components/panel/GridPanelHeader.d.ts +8 -1
  66. package/components/panel/GridPanelHeader.js +13 -2
  67. package/components/panel/filterPanel/GridFilterForm.js +14 -10
  68. package/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  69. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -15
  70. package/components/panel/filterPanel/GridFilterInputValue.js +22 -15
  71. package/components/toolbar/GridToolbar.d.ts +12 -2
  72. package/components/toolbar/GridToolbar.js +30 -7
  73. package/components/toolbar/GridToolbarDensitySelector.js +1 -1
  74. package/components/toolbar/GridToolbarExport.d.ts +5 -4
  75. package/components/toolbar/GridToolbarExport.js +15 -20
  76. package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
  77. package/components/toolbar/GridToolbarQuickFilter.d.ts +20 -0
  78. package/components/toolbar/GridToolbarQuickFilter.js +88 -0
  79. package/components/toolbar/index.d.ts +3 -1
  80. package/components/toolbar/index.js +3 -2
  81. package/components/virtualization/GridVirtualScroller.d.ts +4 -1
  82. package/components/virtualization/GridVirtualScroller.js +2 -0
  83. package/components/virtualization/GridVirtualScrollerContent.d.ts +4 -1
  84. package/components/virtualization/GridVirtualScrollerContent.js +1 -3
  85. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +4 -1
  86. package/constants/defaultGridSlotsComponents.js +3 -2
  87. package/constants/gridClasses.d.ts +20 -0
  88. package/constants/gridClasses.js +1 -1
  89. package/constants/gridDetailPanelToggleField.d.ts +1 -0
  90. package/constants/gridDetailPanelToggleField.js +2 -0
  91. package/constants/localeTextConstants.js +8 -1
  92. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +39 -15
  93. package/hooks/core/pipeProcessing/index.d.ts +1 -0
  94. package/hooks/core/pipeProcessing/index.js +2 -1
  95. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +8 -3
  96. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
  97. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +3 -0
  98. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  99. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +0 -3
  100. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  101. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +4 -4
  102. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  103. package/hooks/core/useGridApiInitialization.js +3 -3
  104. package/hooks/core/useGridErrorHandler.js +1 -2
  105. package/hooks/core/useGridStateInitialization.js +1 -2
  106. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
  107. package/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
  108. package/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  109. package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -1
  110. package/hooks/features/columns/gridColumnsUtils.d.ts +19 -1
  111. package/hooks/features/columns/gridColumnsUtils.js +61 -8
  112. package/hooks/features/columns/useGridColumnSpanning.d.ts +7 -0
  113. package/hooks/features/columns/useGridColumnSpanning.js +108 -0
  114. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  115. package/hooks/features/columns/useGridColumns.js +30 -25
  116. package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
  117. package/hooks/features/dimensions/useGridDimensions.js +10 -11
  118. package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
  119. package/hooks/features/editRows/useGridCellEditing.new.js +151 -42
  120. package/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  121. package/hooks/features/editRows/useGridEditing.new.js +7 -3
  122. package/hooks/features/editRows/useGridEditing.old.js +4 -5
  123. package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
  124. package/hooks/features/editRows/useGridRowEditing.new.js +145 -57
  125. package/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  126. package/hooks/features/events/useGridEvents.js +17 -18
  127. package/hooks/features/export/serializers/csvSerializer.js +5 -5
  128. package/hooks/features/export/useGridCsvExport.js +23 -16
  129. package/hooks/features/export/useGridPrintExport.js +22 -0
  130. package/hooks/features/export/utils.d.ts +3 -1
  131. package/hooks/features/export/utils.js +13 -0
  132. package/hooks/features/filter/gridFilterState.d.ts +1 -2
  133. package/hooks/features/filter/gridFilterState.js +3 -1
  134. package/hooks/features/filter/gridFilterUtils.d.ts +8 -0
  135. package/hooks/features/filter/gridFilterUtils.js +84 -2
  136. package/hooks/features/filter/useGridFilter.js +32 -15
  137. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  138. package/hooks/features/focus/useGridFocus.js +48 -42
  139. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -0
  140. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -12
  141. package/hooks/features/pagination/useGridPage.js +3 -4
  142. package/hooks/features/pagination/useGridPageSize.js +2 -3
  143. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  144. package/hooks/features/rows/gridRowsSelector.d.ts +2 -0
  145. package/hooks/features/rows/gridRowsSelector.js +2 -0
  146. package/hooks/features/rows/gridRowsState.d.ts +7 -7
  147. package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
  148. package/hooks/features/rows/gridRowsUtils.js +25 -1
  149. package/hooks/features/rows/useGridRows.d.ts +2 -2
  150. package/hooks/features/rows/useGridRows.js +121 -61
  151. package/hooks/features/rows/useGridRowsMeta.js +6 -13
  152. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  153. package/hooks/features/scroll/useGridScroll.d.ts +2 -0
  154. package/hooks/features/scroll/useGridScroll.js +31 -4
  155. package/hooks/features/selection/useGridSelection.d.ts +1 -1
  156. package/hooks/features/selection/useGridSelection.js +15 -11
  157. package/hooks/features/sorting/useGridSorting.js +17 -18
  158. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +9 -0
  159. package/hooks/features/virtualization/useGridVirtualScroller.js +68 -32
  160. package/hooks/utils/useGridApiEventHandler.d.ts +4 -1
  161. package/hooks/utils/useGridApiEventHandler.js +22 -9
  162. package/hooks/utils/useGridNativeEventListener.js +1 -2
  163. package/hooks/utils/useGridSelector.js +1 -1
  164. package/index.d.ts +2 -0
  165. package/index.js +1 -1
  166. package/internals/index.d.ts +5 -1
  167. package/internals/index.js +6 -2
  168. package/legacy/DataGrid/DataGrid.js +36 -2
  169. package/legacy/DataGrid/useDataGridComponent.js +3 -1
  170. package/legacy/DataGrid/useDataGridProps.js +2 -1
  171. package/legacy/colDef/gridActionsColDef.js +2 -1
  172. package/legacy/colDef/gridBooleanColDef.js +2 -1
  173. package/legacy/colDef/gridCheckboxSelectionColDef.js +1 -0
  174. package/legacy/colDef/gridDateColDef.js +4 -2
  175. package/legacy/colDef/gridNumericColDef.js +3 -2
  176. package/legacy/colDef/gridNumericOperators.js +28 -18
  177. package/legacy/colDef/gridSingleSelectColDef.js +3 -2
  178. package/legacy/colDef/gridSingleSelectOperators.js +55 -6
  179. package/legacy/colDef/gridStringColDef.js +3 -2
  180. package/legacy/colDef/gridStringOperators.js +25 -14
  181. package/legacy/components/GridFooter.js +11 -2
  182. package/legacy/components/GridRow.js +56 -28
  183. package/legacy/components/GridRowCount.js +1 -0
  184. package/legacy/components/GridScrollArea.js +3 -4
  185. package/legacy/components/GridSelectedRowCount.js +2 -1
  186. package/legacy/components/base/GridBody.js +1 -2
  187. package/legacy/components/base/GridOverlays.js +5 -5
  188. package/legacy/components/cell/GridActionsCell.js +197 -27
  189. package/legacy/components/cell/GridActionsCellItem.js +7 -5
  190. package/legacy/components/cell/GridCell.js +37 -15
  191. package/legacy/components/cell/GridEditBooleanCell.js +132 -11
  192. package/legacy/components/cell/GridEditDateCell.js +148 -42
  193. package/legacy/components/cell/GridEditInputCell.js +62 -13
  194. package/legacy/components/cell/GridEditSingleSelectCell.js +65 -28
  195. package/legacy/components/cell/index.js +2 -0
  196. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  197. package/legacy/components/columnHeaders/GridColumnHeaders.js +2 -3
  198. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +23 -6
  199. package/legacy/components/columnSelection/GridHeaderCheckbox.js +4 -5
  200. package/legacy/components/containers/GridFooterContainer.js +11 -2
  201. package/legacy/components/containers/GridRootStyles.js +26 -5
  202. package/legacy/components/containers/GridToolbarContainer.js +12 -2
  203. package/legacy/components/menu/GridMenu.js +1 -0
  204. package/legacy/components/panel/GridPanel.js +1 -0
  205. package/legacy/components/panel/GridPanelContent.js +13 -2
  206. package/legacy/components/panel/GridPanelFooter.js +13 -2
  207. package/legacy/components/panel/GridPanelHeader.js +13 -2
  208. package/legacy/components/panel/filterPanel/GridFilterForm.js +14 -10
  209. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
  210. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -17
  211. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +22 -17
  212. package/legacy/components/toolbar/GridToolbar.js +31 -6
  213. package/legacy/components/toolbar/GridToolbarDensitySelector.js +1 -1
  214. package/legacy/components/toolbar/GridToolbarExport.js +18 -19
  215. package/legacy/components/toolbar/GridToolbarQuickFilter.js +103 -0
  216. package/legacy/components/toolbar/index.js +3 -2
  217. package/legacy/components/virtualization/GridVirtualScroller.js +2 -0
  218. package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -3
  219. package/legacy/constants/defaultGridSlotsComponents.js +3 -2
  220. package/legacy/constants/gridClasses.js +1 -1
  221. package/legacy/constants/gridDetailPanelToggleField.js +2 -0
  222. package/legacy/constants/localeTextConstants.js +8 -1
  223. package/legacy/hooks/core/pipeProcessing/index.js +2 -1
  224. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +60 -24
  225. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  226. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  227. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  228. package/legacy/hooks/core/useGridApiInitialization.js +3 -3
  229. package/legacy/hooks/core/useGridErrorHandler.js +1 -2
  230. package/legacy/hooks/core/useGridStateInitialization.js +1 -2
  231. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +94 -16
  232. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  233. package/legacy/hooks/features/columns/gridColumnsUtils.js +79 -22
  234. package/legacy/hooks/features/columns/useGridColumnSpanning.js +106 -0
  235. package/legacy/hooks/features/columns/useGridColumns.js +30 -25
  236. package/legacy/hooks/features/dimensions/useGridDimensions.js +10 -11
  237. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +225 -89
  238. package/legacy/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  239. package/legacy/hooks/features/editRows/useGridEditing.new.js +7 -3
  240. package/legacy/hooks/features/editRows/useGridEditing.old.js +4 -5
  241. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +157 -65
  242. package/legacy/hooks/features/editRows/useGridRowEditing.old.js +20 -21
  243. package/legacy/hooks/features/events/useGridEvents.js +17 -18
  244. package/legacy/hooks/features/export/serializers/csvSerializer.js +5 -5
  245. package/legacy/hooks/features/export/useGridCsvExport.js +24 -17
  246. package/legacy/hooks/features/export/useGridPrintExport.js +22 -0
  247. package/legacy/hooks/features/export/utils.js +14 -0
  248. package/legacy/hooks/features/filter/gridFilterState.js +3 -1
  249. package/legacy/hooks/features/filter/gridFilterUtils.js +96 -2
  250. package/legacy/hooks/features/filter/useGridFilter.js +32 -15
  251. package/legacy/hooks/features/focus/useGridFocus.js +50 -44
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -11
  253. package/legacy/hooks/features/pagination/useGridPage.js +3 -4
  254. package/legacy/hooks/features/pagination/useGridPageSize.js +2 -3
  255. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  256. package/legacy/hooks/features/rows/gridRowsSelector.js +6 -0
  257. package/legacy/hooks/features/rows/gridRowsUtils.js +27 -1
  258. package/legacy/hooks/features/rows/useGridRows.js +131 -61
  259. package/legacy/hooks/features/rows/useGridRowsMeta.js +6 -13
  260. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  261. package/legacy/hooks/features/scroll/useGridScroll.js +31 -4
  262. package/legacy/hooks/features/selection/useGridSelection.js +15 -11
  263. package/legacy/hooks/features/sorting/useGridSorting.js +12 -15
  264. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +79 -42
  265. package/legacy/hooks/utils/useGridApiEventHandler.js +20 -9
  266. package/legacy/hooks/utils/useGridNativeEventListener.js +1 -2
  267. package/legacy/hooks/utils/useGridSelector.js +1 -1
  268. package/legacy/index.js +1 -1
  269. package/legacy/internals/index.js +6 -2
  270. package/legacy/locales/arSD.js +8 -1
  271. package/legacy/locales/bgBG.js +8 -1
  272. package/legacy/locales/csCZ.js +7 -0
  273. package/legacy/locales/daDK.js +8 -1
  274. package/legacy/locales/deDE.js +10 -3
  275. package/legacy/locales/elGR.js +7 -0
  276. package/legacy/locales/esES.js +7 -0
  277. package/legacy/locales/faIR.js +8 -1
  278. package/legacy/locales/fiFI.js +7 -0
  279. package/legacy/locales/frFR.js +7 -0
  280. package/legacy/locales/heIL.js +8 -1
  281. package/legacy/locales/huHU.js +127 -0
  282. package/legacy/locales/index.js +1 -0
  283. package/legacy/locales/itIT.js +7 -0
  284. package/legacy/locales/jaJP.js +7 -0
  285. package/legacy/locales/koKR.js +7 -0
  286. package/legacy/locales/nlNL.js +7 -0
  287. package/legacy/locales/plPL.js +8 -1
  288. package/legacy/locales/ptBR.js +8 -1
  289. package/legacy/locales/ruRU.js +7 -0
  290. package/legacy/locales/skSK.js +7 -0
  291. package/legacy/locales/trTR.js +8 -1
  292. package/legacy/locales/ukUA.js +7 -0
  293. package/legacy/locales/viVN.js +7 -0
  294. package/legacy/locales/zhCN.js +7 -0
  295. package/legacy/models/api/gridColumnSpanning.js +1 -0
  296. package/legacy/models/events/gridEvents.js +10 -3
  297. package/legacy/models/gridColumnSpanning.js +1 -0
  298. package/legacy/models/index.js +4 -3
  299. package/legacy/utils/createSelector.js +18 -2
  300. package/legacy/utils/exportAs.js +1 -1
  301. package/locales/arSD.js +8 -1
  302. package/locales/bgBG.js +8 -1
  303. package/locales/csCZ.js +7 -0
  304. package/locales/daDK.js +8 -1
  305. package/locales/deDE.js +10 -3
  306. package/locales/elGR.js +7 -0
  307. package/locales/esES.js +7 -0
  308. package/locales/faIR.js +8 -1
  309. package/locales/fiFI.js +7 -0
  310. package/locales/frFR.js +7 -0
  311. package/locales/heIL.js +8 -1
  312. package/locales/huHU.d.ts +2 -0
  313. package/locales/huHU.js +115 -0
  314. package/locales/index.d.ts +1 -0
  315. package/locales/index.js +1 -0
  316. package/locales/itIT.js +7 -0
  317. package/locales/jaJP.js +7 -0
  318. package/locales/koKR.js +7 -0
  319. package/locales/nlNL.js +7 -0
  320. package/locales/plPL.js +8 -1
  321. package/locales/ptBR.js +8 -1
  322. package/locales/ruRU.js +7 -0
  323. package/locales/skSK.js +7 -0
  324. package/locales/trTR.js +8 -1
  325. package/locales/ukUA.js +7 -0
  326. package/locales/viVN.js +7 -0
  327. package/locales/zhCN.js +7 -0
  328. package/models/api/gridApiCommon.d.ts +2 -1
  329. package/models/api/gridColumnSpanning.d.ts +28 -0
  330. package/models/api/gridColumnSpanning.js +1 -0
  331. package/models/api/gridCoreApi.d.ts +10 -0
  332. package/models/api/gridEditingApi.d.ts +72 -7
  333. package/models/api/gridFilterApi.d.ts +5 -0
  334. package/models/api/gridFocusApi.d.ts +1 -0
  335. package/models/api/gridLocaleTextApi.d.ts +5 -0
  336. package/models/api/gridRowApi.d.ts +34 -0
  337. package/models/api/index.d.ts +1 -1
  338. package/models/colDef/gridColDef.d.ts +18 -0
  339. package/models/events/gridEventLookup.d.ts +296 -11
  340. package/models/events/gridEvents.d.ts +10 -258
  341. package/models/events/gridEvents.js +10 -3
  342. package/models/gridColumnSpanning.d.ts +12 -0
  343. package/models/gridColumnSpanning.js +1 -0
  344. package/models/gridEditRowModel.d.ts +1 -1
  345. package/models/gridExport.d.ts +29 -2
  346. package/models/gridFilterModel.d.ts +11 -0
  347. package/models/gridFilterOperator.d.ts +1 -1
  348. package/models/gridIconSlotsComponent.d.ts +5 -0
  349. package/models/gridStateCommunity.d.ts +0 -2
  350. package/models/index.d.ts +1 -1
  351. package/models/index.js +4 -3
  352. package/models/params/gridCellParams.d.ts +12 -2
  353. package/models/params/gridRowParams.d.ts +5 -0
  354. package/models/props/DataGridProps.d.ts +57 -29
  355. package/modern/DataGrid/DataGrid.js +36 -2
  356. package/modern/DataGrid/useDataGridComponent.js +3 -1
  357. package/modern/DataGrid/useDataGridProps.js +2 -1
  358. package/modern/colDef/gridActionsColDef.js +2 -1
  359. package/modern/colDef/gridBooleanColDef.js +2 -1
  360. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  361. package/modern/colDef/gridDateColDef.js +4 -2
  362. package/modern/colDef/gridNumericColDef.js +3 -2
  363. package/modern/colDef/gridNumericOperators.js +11 -0
  364. package/modern/colDef/gridSingleSelectColDef.js +3 -2
  365. package/modern/colDef/gridSingleSelectOperators.js +52 -0
  366. package/modern/colDef/gridStringColDef.js +3 -2
  367. package/modern/colDef/gridStringOperators.js +12 -0
  368. package/modern/components/GridFooter.js +11 -2
  369. package/modern/components/GridRow.js +56 -26
  370. package/modern/components/GridRowCount.js +1 -0
  371. package/modern/components/GridScrollArea.js +3 -4
  372. package/modern/components/GridSelectedRowCount.js +2 -1
  373. package/modern/components/base/GridBody.js +1 -2
  374. package/modern/components/base/GridOverlays.js +5 -5
  375. package/modern/components/cell/GridActionsCell.js +179 -21
  376. package/modern/components/cell/GridActionsCellItem.js +7 -5
  377. package/modern/components/cell/GridCell.js +36 -15
  378. package/modern/components/cell/GridEditBooleanCell.js +101 -6
  379. package/modern/components/cell/GridEditDateCell.js +99 -5
  380. package/modern/components/cell/GridEditInputCell.js +30 -6
  381. package/modern/components/cell/GridEditSingleSelectCell.js +48 -16
  382. package/modern/components/cell/index.js +2 -0
  383. package/modern/components/columnHeaders/GridColumnHeaderItem.js +19 -23
  384. package/modern/components/columnHeaders/GridColumnHeaders.js +1 -1
  385. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
  386. package/modern/components/columnSelection/GridHeaderCheckbox.js +4 -5
  387. package/modern/components/containers/GridFooterContainer.js +11 -2
  388. package/modern/components/containers/GridRootStyles.js +36 -1
  389. package/modern/components/containers/GridToolbarContainer.js +12 -2
  390. package/modern/components/menu/GridMenu.js +1 -0
  391. package/modern/components/panel/GridPanel.js +1 -0
  392. package/modern/components/panel/GridPanelContent.js +13 -2
  393. package/modern/components/panel/GridPanelFooter.js +13 -2
  394. package/modern/components/panel/GridPanelHeader.js +13 -2
  395. package/modern/components/panel/filterPanel/GridFilterForm.js +10 -6
  396. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +11 -6
  397. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +20 -13
  398. package/modern/components/panel/filterPanel/GridFilterInputValue.js +20 -13
  399. package/modern/components/toolbar/GridToolbar.js +30 -7
  400. package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -1
  401. package/modern/components/toolbar/GridToolbarExport.js +15 -20
  402. package/modern/components/toolbar/GridToolbarQuickFilter.js +86 -0
  403. package/modern/components/toolbar/index.js +3 -2
  404. package/modern/components/virtualization/GridVirtualScroller.js +2 -0
  405. package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -3
  406. package/modern/constants/defaultGridSlotsComponents.js +3 -2
  407. package/modern/constants/gridClasses.js +1 -1
  408. package/modern/constants/gridDetailPanelToggleField.js +2 -0
  409. package/modern/constants/localeTextConstants.js +8 -1
  410. package/modern/hooks/core/pipeProcessing/index.js +2 -1
  411. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
  412. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
  413. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
  414. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  415. package/modern/hooks/core/useGridApiInitialization.js +3 -3
  416. package/modern/hooks/core/useGridErrorHandler.js +1 -2
  417. package/modern/hooks/core/useGridStateInitialization.js +1 -2
  418. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
  419. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  420. package/modern/hooks/features/columns/gridColumnsUtils.js +61 -8
  421. package/modern/hooks/features/columns/useGridColumnSpanning.js +106 -0
  422. package/modern/hooks/features/columns/useGridColumns.js +30 -25
  423. package/modern/hooks/features/dimensions/useGridDimensions.js +10 -11
  424. package/modern/hooks/features/editRows/useGridCellEditing.new.js +149 -42
  425. package/modern/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  426. package/modern/hooks/features/editRows/useGridEditing.new.js +7 -3
  427. package/modern/hooks/features/editRows/useGridEditing.old.js +4 -5
  428. package/modern/hooks/features/editRows/useGridRowEditing.new.js +143 -57
  429. package/modern/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  430. package/modern/hooks/features/events/useGridEvents.js +17 -18
  431. package/modern/hooks/features/export/serializers/csvSerializer.js +5 -5
  432. package/modern/hooks/features/export/useGridCsvExport.js +21 -16
  433. package/modern/hooks/features/export/useGridPrintExport.js +20 -0
  434. package/modern/hooks/features/export/utils.js +13 -0
  435. package/modern/hooks/features/filter/gridFilterState.js +3 -1
  436. package/modern/hooks/features/filter/gridFilterUtils.js +80 -2
  437. package/modern/hooks/features/filter/useGridFilter.js +32 -15
  438. package/modern/hooks/features/focus/useGridFocus.js +48 -42
  439. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +41 -12
  440. package/modern/hooks/features/pagination/useGridPage.js +3 -4
  441. package/modern/hooks/features/pagination/useGridPageSize.js +2 -3
  442. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  443. package/modern/hooks/features/rows/gridRowsSelector.js +2 -0
  444. package/modern/hooks/features/rows/gridRowsUtils.js +23 -1
  445. package/modern/hooks/features/rows/useGridRows.js +121 -61
  446. package/modern/hooks/features/rows/useGridRowsMeta.js +6 -13
  447. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  448. package/modern/hooks/features/scroll/useGridScroll.js +29 -4
  449. package/modern/hooks/features/selection/useGridSelection.js +15 -11
  450. package/modern/hooks/features/sorting/useGridSorting.js +17 -18
  451. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +68 -28
  452. package/modern/hooks/utils/useGridApiEventHandler.js +20 -9
  453. package/modern/hooks/utils/useGridNativeEventListener.js +1 -2
  454. package/modern/hooks/utils/useGridSelector.js +1 -1
  455. package/modern/index.js +1 -1
  456. package/modern/internals/index.js +6 -2
  457. package/modern/locales/arSD.js +8 -1
  458. package/modern/locales/bgBG.js +8 -1
  459. package/modern/locales/csCZ.js +7 -0
  460. package/modern/locales/daDK.js +8 -1
  461. package/modern/locales/deDE.js +10 -3
  462. package/modern/locales/elGR.js +7 -0
  463. package/modern/locales/esES.js +7 -0
  464. package/modern/locales/faIR.js +8 -1
  465. package/modern/locales/fiFI.js +7 -0
  466. package/modern/locales/frFR.js +7 -0
  467. package/modern/locales/heIL.js +8 -1
  468. package/modern/locales/huHU.js +115 -0
  469. package/modern/locales/index.js +1 -0
  470. package/modern/locales/itIT.js +7 -0
  471. package/modern/locales/jaJP.js +7 -0
  472. package/modern/locales/koKR.js +7 -0
  473. package/modern/locales/nlNL.js +7 -0
  474. package/modern/locales/plPL.js +8 -1
  475. package/modern/locales/ptBR.js +8 -1
  476. package/modern/locales/ruRU.js +7 -0
  477. package/modern/locales/skSK.js +7 -0
  478. package/modern/locales/trTR.js +8 -1
  479. package/modern/locales/ukUA.js +7 -0
  480. package/modern/locales/viVN.js +7 -0
  481. package/modern/locales/zhCN.js +7 -0
  482. package/modern/models/api/gridColumnSpanning.js +1 -0
  483. package/modern/models/events/gridEvents.js +10 -3
  484. package/modern/models/gridColumnSpanning.js +1 -0
  485. package/modern/models/index.js +4 -3
  486. package/modern/utils/createSelector.js +20 -2
  487. package/modern/utils/exportAs.js +1 -1
  488. package/node/DataGrid/DataGrid.js +36 -2
  489. package/node/DataGrid/useDataGridComponent.js +4 -1
  490. package/node/DataGrid/useDataGridProps.js +2 -1
  491. package/node/colDef/gridActionsColDef.js +2 -1
  492. package/node/colDef/gridBooleanColDef.js +2 -1
  493. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  494. package/node/colDef/gridDateColDef.js +4 -2
  495. package/node/colDef/gridNumericColDef.js +2 -1
  496. package/node/colDef/gridNumericOperators.js +15 -1
  497. package/node/colDef/gridSingleSelectColDef.js +2 -1
  498. package/node/colDef/gridSingleSelectOperators.js +56 -1
  499. package/node/colDef/gridStringColDef.js +2 -1
  500. package/node/colDef/gridStringOperators.js +16 -1
  501. package/node/components/GridFooter.js +10 -1
  502. package/node/components/GridRow.js +59 -29
  503. package/node/components/GridRowCount.js +1 -0
  504. package/node/components/GridScrollArea.js +3 -5
  505. package/node/components/GridSelectedRowCount.js +2 -1
  506. package/node/components/base/GridBody.js +1 -3
  507. package/node/components/base/GridOverlays.js +4 -5
  508. package/node/components/cell/GridActionsCell.js +181 -21
  509. package/node/components/cell/GridActionsCellItem.js +7 -4
  510. package/node/components/cell/GridCell.js +35 -14
  511. package/node/components/cell/GridEditBooleanCell.js +100 -5
  512. package/node/components/cell/GridEditDateCell.js +98 -4
  513. package/node/components/cell/GridEditInputCell.js +30 -6
  514. package/node/components/cell/GridEditSingleSelectCell.js +50 -18
  515. package/node/components/cell/index.js +26 -0
  516. package/node/components/columnHeaders/GridColumnHeaderItem.js +19 -24
  517. package/node/components/columnHeaders/GridColumnHeaders.js +1 -1
  518. package/node/components/columnSelection/GridCellCheckboxRenderer.js +22 -7
  519. package/node/components/columnSelection/GridHeaderCheckbox.js +4 -6
  520. package/node/components/containers/GridFooterContainer.js +10 -1
  521. package/node/components/containers/GridRootStyles.js +36 -1
  522. package/node/components/containers/GridToolbarContainer.js +11 -1
  523. package/node/components/menu/GridMenu.js +1 -0
  524. package/node/components/panel/GridPanel.js +1 -0
  525. package/node/components/panel/GridPanelContent.js +11 -1
  526. package/node/components/panel/GridPanelFooter.js +11 -1
  527. package/node/components/panel/GridPanelHeader.js +11 -1
  528. package/node/components/panel/filterPanel/GridFilterForm.js +15 -10
  529. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +14 -8
  530. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +23 -15
  531. package/node/components/panel/filterPanel/GridFilterInputValue.js +23 -15
  532. package/node/components/toolbar/GridToolbar.js +32 -7
  533. package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
  534. package/node/components/toolbar/GridToolbarExport.js +14 -19
  535. package/node/components/toolbar/GridToolbarQuickFilter.js +111 -0
  536. package/node/components/toolbar/index.js +42 -11
  537. package/node/components/virtualization/GridVirtualScroller.js +2 -0
  538. package/node/components/virtualization/GridVirtualScrollerContent.js +1 -3
  539. package/node/constants/defaultGridSlotsComponents.js +2 -1
  540. package/node/constants/gridClasses.js +1 -1
  541. package/node/constants/gridDetailPanelToggleField.js +9 -0
  542. package/node/constants/localeTextConstants.js +8 -1
  543. package/node/hooks/core/pipeProcessing/index.js +13 -0
  544. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +51 -20
  545. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +42 -0
  546. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -3
  547. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -8
  548. package/node/hooks/core/useGridApiInitialization.js +3 -4
  549. package/node/hooks/core/useGridErrorHandler.js +1 -3
  550. package/node/hooks/core/useGridStateInitialization.js +1 -3
  551. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +85 -17
  552. package/node/hooks/features/columnMenu/useGridColumnMenu.js +3 -4
  553. package/node/hooks/features/columns/gridColumnsUtils.js +65 -9
  554. package/node/hooks/features/columns/useGridColumnSpanning.js +128 -0
  555. package/node/hooks/features/columns/useGridColumns.js +29 -25
  556. package/node/hooks/features/dimensions/useGridDimensions.js +10 -12
  557. package/node/hooks/features/editRows/useGridCellEditing.new.js +151 -42
  558. package/node/hooks/features/editRows/useGridCellEditing.old.js +20 -22
  559. package/node/hooks/features/editRows/useGridEditing.new.js +6 -2
  560. package/node/hooks/features/editRows/useGridEditing.old.js +4 -6
  561. package/node/hooks/features/editRows/useGridRowEditing.new.js +143 -57
  562. package/node/hooks/features/editRows/useGridRowEditing.old.js +21 -23
  563. package/node/hooks/features/events/useGridEvents.js +17 -19
  564. package/node/hooks/features/export/serializers/csvSerializer.js +5 -5
  565. package/node/hooks/features/export/useGridCsvExport.js +26 -17
  566. package/node/hooks/features/export/useGridPrintExport.js +25 -0
  567. package/node/hooks/features/export/utils.js +19 -2
  568. package/node/hooks/features/filter/gridFilterState.js +3 -1
  569. package/node/hooks/features/filter/gridFilterUtils.js +92 -3
  570. package/node/hooks/features/filter/useGridFilter.js +33 -16
  571. package/node/hooks/features/focus/useGridFocus.js +48 -43
  572. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +44 -13
  573. package/node/hooks/features/pagination/useGridPage.js +3 -5
  574. package/node/hooks/features/pagination/useGridPageSize.js +2 -4
  575. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -8
  576. package/node/hooks/features/rows/gridRowsSelector.js +5 -1
  577. package/node/hooks/features/rows/gridRowsUtils.js +29 -1
  578. package/node/hooks/features/rows/useGridRows.js +122 -61
  579. package/node/hooks/features/rows/useGridRowsMeta.js +6 -14
  580. package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  581. package/node/hooks/features/scroll/useGridScroll.js +32 -3
  582. package/node/hooks/features/selection/useGridSelection.js +16 -12
  583. package/node/hooks/features/sorting/useGridSorting.js +17 -19
  584. package/node/hooks/features/virtualization/useGridVirtualScroller.js +73 -33
  585. package/node/hooks/utils/useGridApiEventHandler.js +22 -10
  586. package/node/hooks/utils/useGridNativeEventListener.js +1 -3
  587. package/node/hooks/utils/useGridSelector.js +1 -1
  588. package/node/index.js +1 -1
  589. package/node/internals/index.js +47 -3
  590. package/node/locales/arSD.js +8 -1
  591. package/node/locales/bgBG.js +8 -1
  592. package/node/locales/csCZ.js +7 -0
  593. package/node/locales/daDK.js +8 -1
  594. package/node/locales/deDE.js +10 -3
  595. package/node/locales/elGR.js +7 -0
  596. package/node/locales/esES.js +7 -0
  597. package/node/locales/faIR.js +8 -1
  598. package/node/locales/fiFI.js +7 -0
  599. package/node/locales/frFR.js +7 -0
  600. package/node/locales/heIL.js +8 -1
  601. package/node/locales/huHU.js +125 -0
  602. package/node/locales/index.js +13 -0
  603. package/node/locales/itIT.js +7 -0
  604. package/node/locales/jaJP.js +7 -0
  605. package/node/locales/koKR.js +7 -0
  606. package/node/locales/nlNL.js +7 -0
  607. package/node/locales/plPL.js +8 -1
  608. package/node/locales/ptBR.js +8 -1
  609. package/node/locales/ruRU.js +7 -0
  610. package/node/locales/skSK.js +7 -0
  611. package/node/locales/trTR.js +8 -1
  612. package/node/locales/ukUA.js +7 -0
  613. package/node/locales/viVN.js +7 -0
  614. package/node/locales/zhCN.js +7 -0
  615. package/node/models/api/gridColumnSpanning.js +5 -0
  616. package/node/models/events/gridEvents.js +10 -3
  617. package/node/models/gridColumnSpanning.js +5 -0
  618. package/node/models/index.js +0 -13
  619. package/node/utils/createSelector.js +25 -4
  620. package/node/utils/exportAs.js +1 -1
  621. package/package.json +4 -4
  622. package/utils/createSelector.d.ts +2 -1
  623. package/utils/createSelector.js +20 -2
  624. package/utils/domUtils.d.ts +2 -2
  625. package/utils/exportAs.d.ts +2 -2
  626. package/utils/exportAs.js +1 -1
@@ -2,6 +2,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  const _excluded = ["style"];
4
4
  import * as React from 'react';
5
+ import * as ReactDOM from 'react-dom';
5
6
  import { useForkRef } from '@mui/material/utils';
6
7
  import { useGridApiContext } from '../../utils/useGridApiContext';
7
8
  import { useGridRootProps } from '../../utils/useGridRootProps';
@@ -11,13 +12,13 @@ import { gridDensityRowHeightSelector } from '../density/densitySelector';
11
12
  import { gridFocusCellSelector, gridTabIndexCellSelector } from '../focus/gridFocusStateSelector';
12
13
  import { gridEditRowsStateSelector } from '../editRows/gridEditRowsSelector';
13
14
  import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
14
- import { GridEvents } from '../../../models/events';
15
15
  import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
16
16
  import { clamp } from '../../../utils/utils';
17
17
  import { selectedIdsLookupSelector } from '../selection/gridSelectionSelector';
18
18
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
19
+ import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils'; // Uses binary search to avoid looping through all possible positions
20
+
19
21
  import { jsx as _jsx } from "react/jsx-runtime";
20
- // Uses binary search to avoid looping through all possible positions
21
22
  export function getIndexFromScroll(offset, positions, sliceStart = 0, sliceEnd = positions.length) {
22
23
  if (positions.length <= 0) {
23
24
  return -1;
@@ -31,6 +32,15 @@ export function getIndexFromScroll(offset, positions, sliceStart = 0, sliceEnd =
31
32
  const itemOffset = positions[pivot];
32
33
  return offset <= itemOffset ? getIndexFromScroll(offset, positions, sliceStart, pivot) : getIndexFromScroll(offset, positions, pivot + 1, sliceEnd);
33
34
  }
35
+ export const getRenderableIndexes = ({
36
+ firstIndex,
37
+ lastIndex,
38
+ buffer,
39
+ minFirstIndex,
40
+ maxLastIndex
41
+ }) => {
42
+ return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
43
+ };
34
44
  export const useGridVirtualScroller = props => {
35
45
  const apiRef = useGridApiContext();
36
46
  const rootProps = useGridRootProps();
@@ -105,33 +115,29 @@ export const useGridVirtualScroller = props => {
105
115
  setContainerWidth(rootRef.current.clientWidth);
106
116
  }
107
117
  }, []);
108
- useGridApiEventHandler(apiRef, GridEvents.resize, handleResize);
109
-
110
- const getRenderableIndexes = ({
111
- firstIndex,
112
- lastIndex,
113
- buffer,
114
- minFirstIndex,
115
- maxLastIndex
116
- }) => {
117
- return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
118
- };
119
-
118
+ useGridApiEventHandler(apiRef, 'resize', handleResize);
120
119
  const updateRenderZonePosition = React.useCallback(nextRenderContext => {
121
- const [firstRowToRender] = getRenderableIndexes({
120
+ const [firstRowToRender, lastRowToRender] = getRenderableIndexes({
122
121
  firstIndex: nextRenderContext.firstRowIndex,
123
122
  lastIndex: nextRenderContext.lastRowIndex,
124
123
  minFirstIndex: 0,
125
- maxLastIndex: currentPage.range?.lastRowIndex || 0,
124
+ maxLastIndex: currentPage.rows.length,
126
125
  buffer: rootProps.rowBuffer
127
126
  });
128
- const [firstColumnToRender] = getRenderableIndexes({
127
+ const [initialFirstColumnToRender] = getRenderableIndexes({
129
128
  firstIndex: nextRenderContext.firstColumnIndex,
130
129
  lastIndex: nextRenderContext.lastColumnIndex,
131
130
  minFirstIndex: renderZoneMinColumnIndex,
132
131
  maxLastIndex: renderZoneMaxColumnIndex,
133
132
  buffer: rootProps.columnBuffer
134
133
  });
134
+ const firstColumnToRender = getFirstNonSpannedColumnToRender({
135
+ firstColumnToRender: initialFirstColumnToRender,
136
+ apiRef,
137
+ firstRowToRender,
138
+ lastRowToRender,
139
+ visibleRows: currentPage.rows
140
+ });
135
141
  const top = gridRowsMetaSelector(apiRef.current.state).positions[firstRowToRender];
136
142
  const left = gridColumnPositionsSelector(apiRef)[firstColumnToRender]; // Call directly the selector because it might be outdated when this method is called
137
143
 
@@ -143,19 +149,22 @@ export const useGridVirtualScroller = props => {
143
149
  left
144
150
  });
145
151
  }
146
- }, [apiRef, currentPage.range?.lastRowIndex, onRenderZonePositioning, renderZoneMaxColumnIndex, renderZoneMinColumnIndex, rootProps.columnBuffer, rootProps.rowBuffer]);
152
+ }, [apiRef, currentPage.rows, onRenderZonePositioning, renderZoneMinColumnIndex, renderZoneMaxColumnIndex, rootProps.columnBuffer, rootProps.rowBuffer]);
153
+ React.useLayoutEffect(() => {
154
+ if (renderContext) {
155
+ updateRenderZonePosition(renderContext);
156
+ }
157
+ }, [renderContext, updateRenderZonePosition]);
147
158
  const updateRenderContext = React.useCallback(nextRenderContext => {
148
159
  setRenderContext(nextRenderContext);
149
- updateRenderZonePosition(nextRenderContext);
150
160
  prevRenderContext.current = nextRenderContext;
151
- }, [setRenderContext, prevRenderContext, updateRenderZonePosition]);
161
+ }, [setRenderContext, prevRenderContext]);
152
162
  React.useEffect(() => {
153
163
  if (containerWidth == null) {
154
164
  return;
155
165
  }
156
166
 
157
167
  const initialRenderContext = computeRenderContext();
158
- prevRenderContext.current = initialRenderContext;
159
168
  updateRenderContext(initialRenderContext);
160
169
  const {
161
170
  top,
@@ -166,7 +175,7 @@ export const useGridVirtualScroller = props => {
166
175
  left,
167
176
  renderContext: initialRenderContext
168
177
  };
169
- apiRef.current.publishEvent(GridEvents.rowsScroll, params);
178
+ apiRef.current.publishEvent('rowsScroll', params);
170
179
  }, [apiRef, computeRenderContext, containerWidth, updateRenderContext]);
171
180
 
172
181
  const handleScroll = event => {
@@ -189,18 +198,29 @@ export const useGridVirtualScroller = props => {
189
198
  const bottomColumnsScrolledSincePreviousRender = Math.abs(nextRenderContext.lastColumnIndex - prevRenderContext.current.lastColumnIndex);
190
199
  const shouldSetState = topRowsScrolledSincePreviousRender >= rootProps.rowThreshold || bottomRowsScrolledSincePreviousRender >= rootProps.rowThreshold || topColumnsScrolledSincePreviousRender >= rootProps.columnThreshold || bottomColumnsScrolledSincePreviousRender >= rootProps.columnThreshold || prevTotalWidth.current !== columnsTotalWidth; // TODO v6: rename event to a wider name, it's not only fired for row scrolling
191
200
 
192
- apiRef.current.publishEvent(GridEvents.rowsScroll, {
201
+ apiRef.current.publishEvent('rowsScroll', {
193
202
  top: scrollTop,
194
203
  left: scrollLeft,
195
204
  renderContext: shouldSetState ? nextRenderContext : prevRenderContext.current
196
- });
205
+ }, event);
197
206
 
198
207
  if (shouldSetState) {
199
- updateRenderContext(nextRenderContext);
208
+ // Prevents batching render context changes
209
+ ReactDOM.flushSync(() => {
210
+ updateRenderContext(nextRenderContext);
211
+ });
200
212
  prevTotalWidth.current = columnsTotalWidth;
201
213
  }
202
214
  };
203
215
 
216
+ const handleWheel = event => {
217
+ apiRef.current.publishEvent('virtualScrollerWheel', {}, event);
218
+ };
219
+
220
+ const handleTouchMove = event => {
221
+ apiRef.current.publishEvent('virtualScrollerTouchMove', {}, event);
222
+ };
223
+
204
224
  const getRows = (params = {
205
225
  renderContext
206
226
  }) => {
@@ -224,14 +244,32 @@ export const useGridVirtualScroller = props => {
224
244
  maxLastIndex: currentPage.rows.length,
225
245
  buffer: rowBuffer
226
246
  });
227
- const [firstColumnToRender, lastColumnToRender] = getRenderableIndexes({
247
+ const renderedRows = [];
248
+
249
+ for (let i = firstRowToRender; i < lastRowToRender; i += 1) {
250
+ const row = currentPage.rows[i];
251
+ renderedRows.push(row);
252
+ apiRef.current.unstable_calculateColSpan({
253
+ rowId: row.id,
254
+ minFirstColumn,
255
+ maxLastColumn
256
+ });
257
+ }
258
+
259
+ const [initialFirstColumnToRender, lastColumnToRender] = getRenderableIndexes({
228
260
  firstIndex: nextRenderContext.firstColumnIndex,
229
261
  lastIndex: nextRenderContext.lastColumnIndex,
230
262
  minFirstIndex: minFirstColumn,
231
263
  maxLastIndex: maxLastColumn,
232
264
  buffer: columnBuffer
233
265
  });
234
- const renderedRows = currentPage.rows.slice(firstRowToRender, lastRowToRender);
266
+ const firstColumnToRender = getFirstNonSpannedColumnToRender({
267
+ firstColumnToRender: initialFirstColumnToRender,
268
+ apiRef,
269
+ firstRowToRender,
270
+ lastRowToRender,
271
+ visibleRows: currentPage.rows
272
+ });
235
273
  const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
236
274
  const rows = [];
237
275
 
@@ -301,7 +339,7 @@ export const useGridVirtualScroller = props => {
301
339
  return size;
302
340
  }, [rootRef, columnsTotalWidth, rowsMeta.currentPageTotalHeight, currentPage.rows.length, needsHorizontalScrollbar, rootProps.autoHeight, rowHeight]);
303
341
  React.useEffect(() => {
304
- apiRef.current.publishEvent(GridEvents.virtualScrollerContentSizeChange);
342
+ apiRef.current.publishEvent('virtualScrollerContentSizeChange');
305
343
  }, [apiRef, contentSize]);
306
344
 
307
345
  if (rootProps.autoHeight && currentPage.rows.length === 0) {
@@ -331,6 +369,8 @@ export const useGridVirtualScroller = props => {
331
369
  return _extends({
332
370
  ref: handleRef,
333
371
  onScroll: handleScroll,
372
+ onWheel: handleWheel,
373
+ onTouchMove: handleTouchMove,
334
374
  style: _extends({}, style, rootStyle)
335
375
  }, other);
336
376
  },
@@ -6,20 +6,25 @@ import { FinalizationRegistryBasedCleanupTracking } from '../../utils/cleanupTra
6
6
  * Signal to the underlying logic what version of the public component API
7
7
  * of the data grid is exposed.
8
8
  */
9
- var GridSignature; // We use class to make it easier to detect in heap snapshots by name
9
+ var GridSignature;
10
10
 
11
11
  (function (GridSignature) {
12
12
  GridSignature["DataGrid"] = "DataGrid";
13
13
  GridSignature["DataGridPro"] = "DataGridPro";
14
14
  })(GridSignature || (GridSignature = {}));
15
15
 
16
+ // We use class to make it easier to detect in heap snapshots by name
16
17
  class ObjectToBeRetainedByReact {} // Based on https://github.com/Bnaya/use-dispose-uncommitted/blob/main/src/finalization-registry-based-impl.ts
17
18
  // Check https://github.com/facebook/react/issues/15317 to get more information
18
19
 
19
20
 
20
- export function createUseGridApiEventHandler(registry) {
21
+ export function createUseGridApiEventHandler(registryContainer) {
21
22
  let cleanupTokensCounter = 0;
22
23
  return function useGridApiEventHandler(apiRef, eventName, handler, options) {
24
+ if (registryContainer.registry === null) {
25
+ registryContainer.registry = typeof FinalizationRegistry !== 'undefined' ? new FinalizationRegistryBasedCleanupTracking() : new TimerBasedCleanupTracking();
26
+ }
27
+
23
28
  const [objectRetainedByReact] = React.useState(new ObjectToBeRetainedByReact());
24
29
  const subscription = React.useRef(null);
25
30
  const handlerRef = React.useRef();
@@ -38,7 +43,7 @@ export function createUseGridApiEventHandler(registry) {
38
43
  cleanupTokenRef.current = {
39
44
  cleanupToken: cleanupTokensCounter
40
45
  };
41
- registry.register(objectRetainedByReact, // The callback below will be called once this reference stops being retained
46
+ registryContainer.registry.register(objectRetainedByReact, // The callback below will be called once this reference stops being retained
42
47
  () => {
43
48
  subscription.current?.();
44
49
  subscription.current = null;
@@ -49,7 +54,7 @@ export function createUseGridApiEventHandler(registry) {
49
54
  subscription.current = null;
50
55
 
51
56
  if (cleanupTokenRef.current) {
52
- registry.unregister(cleanupTokenRef.current);
57
+ registryContainer.registry.unregister(cleanupTokenRef.current);
53
58
  cleanupTokenRef.current = null;
54
59
  }
55
60
  }
@@ -65,10 +70,10 @@ export function createUseGridApiEventHandler(registry) {
65
70
  subscription.current = apiRef.current.subscribeEvent(eventName, enhancedHandler, options);
66
71
  }
67
72
 
68
- if (cleanupTokenRef.current && registry) {
73
+ if (cleanupTokenRef.current && registryContainer.registry) {
69
74
  // If the effect was called, it means that this render was committed
70
75
  // so we can trust the cleanup function to remove the listener.
71
- registry.unregister(cleanupTokenRef.current);
76
+ registryContainer.registry.unregister(cleanupTokenRef.current);
72
77
  cleanupTokenRef.current = null;
73
78
  }
74
79
 
@@ -79,10 +84,16 @@ export function createUseGridApiEventHandler(registry) {
79
84
  }, [apiRef, eventName, options]);
80
85
  };
81
86
  }
82
- const registry = typeof FinalizationRegistry !== 'undefined' ? new FinalizationRegistryBasedCleanupTracking() : new TimerBasedCleanupTracking(); // eslint-disable-next-line @typescript-eslint/naming-convention
87
+ const registryContainer = {
88
+ registry: null
89
+ }; // TODO: move to @mui/x-data-grid/internals
90
+ // eslint-disable-next-line @typescript-eslint/naming-convention
83
91
 
84
- export const unstable_resetCleanupTracking = () => registry.reset();
85
- export const useGridApiEventHandler = createUseGridApiEventHandler(registry);
92
+ export const unstable_resetCleanupTracking = () => {
93
+ registryContainer.registry?.reset();
94
+ registryContainer.registry = null;
95
+ };
96
+ export const useGridApiEventHandler = createUseGridApiEventHandler(registryContainer);
86
97
  const optionsSubscriberOptions = {
87
98
  isFirst: true
88
99
  };
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { GridEvents } from '../../models/events';
3
2
  import { isFunction } from '../../utils/utils';
4
3
  import { useGridLogger } from './useGridLogger';
5
4
  export const useGridNativeEventListener = (apiRef, ref, eventName, handler, options) => {
@@ -32,7 +31,7 @@ export const useGridNativeEventListener = (apiRef, ref, eventName, handler, opti
32
31
  boundElem.removeEventListener(eventName, wrapHandler, options);
33
32
  };
34
33
 
35
- apiRef.current.subscribeEvent(GridEvents.unmount, unsubscribe);
34
+ apiRef.current.subscribeEvent('unmount', unsubscribe);
36
35
  }
37
36
  }, [ref, wrapHandler, eventName, added, logger, options, apiRef]);
38
37
  };
@@ -1,7 +1,7 @@
1
1
  import { buildWarning } from '../../utils/warning';
2
2
 
3
3
  function isOutputSelector(selector) {
4
- return selector.cache;
4
+ return selector.acceptsApiRef;
5
5
  }
6
6
 
7
7
  const stateNotInitializedWarning = buildWarning(['MUI: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.8.0
1
+ /** @license MUI v5.11.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -10,6 +10,7 @@ export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
10
10
  export { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
11
11
  export { useGridColumnMenu, columnMenuStateInitializer } from '../hooks/features/columnMenu/useGridColumnMenu';
12
12
  export { useGridColumns, columnsStateInitializer } from '../hooks/features/columns/useGridColumns';
13
+ export { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
13
14
  export { useGridDensity, densityStateInitializer } from '../hooks/features/density/useGridDensity';
14
15
  export { useGridCsvExport } from '../hooks/features/export/useGridCsvExport';
15
16
  export { useGridPrintExport } from '../hooks/features/export/useGridPrintExport';
@@ -34,7 +35,10 @@ export { useGridStatePersistence } from '../hooks/features/statePersistence/useG
34
35
  export { useGridVirtualScroller } from '../hooks/features/virtualization/useGridVirtualScroller';
35
36
  export { useGridVisibleRows } from '../hooks/utils/useGridVisibleRows';
36
37
  export { useGridInitializeState } from '../hooks/utils/useGridInitializeState';
37
- export { createSelector } from '../utils/createSelector';
38
+ export { getColumnsToExport, defaultGetRowsToExport } from '../hooks/features/export/utils';
39
+ export { createSelector, unstable_resetCreateSelectorCache } from '../utils/createSelector';
38
40
  export { findParentElementFromClassName } from '../utils/domUtils';
39
41
  export { isNavigationKey } from '../utils/keyboardUtils';
40
- export { clamp, isDeepEqual } from '../utils/utils';
42
+ export { clamp, isDeepEqual } from '../utils/utils';
43
+ export { buildWarning } from '../utils/warning';
44
+ export { exportAs } from '../utils/exportAs';
@@ -20,11 +20,16 @@ const arSDGrid = {
20
20
  toolbarFiltersTooltipHide: 'إخفاء المرشِحات',
21
21
  toolbarFiltersTooltipShow: 'اظهر المرشِحات',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} من المرشِحات النشطة` : `مرشِح نشط`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'تصدير',
25
29
  toolbarExportLabel: 'تصدير',
26
30
  toolbarExportCSV: 'تنزيل كملف CSV',
27
31
  // toolbarExportPrint: 'Print',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'البحث عن العمود',
30
35
  columnsPanelTextFieldPlaceholder: 'عنوان العمود',
@@ -103,6 +108,8 @@ const arSDGrid = {
103
108
  unGroupColumn: name => `إيقاف التجميع حسب ${name}`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'توسيع',
106
- collapseDetailPanel: 'طوي'
111
+ collapseDetailPanel: 'طوي' // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
113
+
107
114
  };
108
115
  export const arSD = getGridLocalization(arSDGrid, arSDCore);
@@ -20,11 +20,16 @@ const bgBGGrid = {
20
20
  toolbarFiltersTooltipHide: 'Скрий Филтрите',
21
21
  toolbarFiltersTooltipShow: 'Покажи Филтрите',
22
22
  toolbarFiltersTooltipActive: count => `${count} активни филтри`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'Изтегли',
25
29
  toolbarExportLabel: 'Изтегли',
26
30
  toolbarExportCSV: 'Изтегли като CSV',
27
31
  toolbarExportPrint: 'Принтиране',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Намери колона',
30
35
  columnsPanelTextFieldPlaceholder: 'Заглавие на колона',
@@ -103,6 +108,8 @@ const bgBGGrid = {
103
108
  unGroupColumn: name => `Спри групиране по ${name}`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'Разгъване',
106
- collapseDetailPanel: 'Свиване'
111
+ collapseDetailPanel: 'Свиване' // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
113
+
107
114
  };
108
115
  export const bgBG = getGridLocalization(bgBGGrid, bgBGCore);
@@ -30,11 +30,16 @@ const csCZGrid = {
30
30
 
31
31
  return `${count} ${pluralForm}`;
32
32
  },
33
+ // Quick filter toolbar field
34
+ // toolbarQuickFilterPlaceholder: 'Search...',
35
+ // toolbarQuickFilterLabel: 'Search',
36
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
33
37
  // Export selector toolbar button text
34
38
  toolbarExport: 'Export',
35
39
  toolbarExportLabel: 'Export',
36
40
  toolbarExportCSV: 'Stáhnout jako CSV',
37
41
  toolbarExportPrint: 'Vytisknout',
42
+ // toolbarExportExcel: 'Download as Excel',
38
43
  // Columns panel text
39
44
  columnsPanelTextFieldLabel: 'Najít sloupec',
40
45
  columnsPanelTextFieldPlaceholder: 'Název sloupce',
@@ -138,6 +143,8 @@ const csCZGrid = {
138
143
  unGroupColumn: name => `Přestat zoskupovat podle ${name}` // Master/detail
139
144
  // expandDetailPanel: 'Expand',
140
145
  // collapseDetailPanel: 'Collapse',
146
+ // Row reordering text
147
+ // rowReorderingHeaderName: 'Row reordering',
141
148
 
142
149
  };
143
150
  export const csCZ = getGridLocalization(csCZGrid, csCZCore);
@@ -20,11 +20,16 @@ const daDKGrid = {
20
20
  toolbarFiltersTooltipHide: 'Skjul filtre',
21
21
  toolbarFiltersTooltipShow: 'Vis filtre',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive filtre` : `${count} aktivt filter`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  // toolbarExport: 'Export',
25
29
  toolbarExportLabel: 'Eksporter',
26
30
  toolbarExportCSV: 'Download som CSV',
27
31
  toolbarExportPrint: 'Print',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Find kolonne',
30
35
  columnsPanelTextFieldPlaceholder: 'Kolonne titel',
@@ -103,6 +108,8 @@ const daDKGrid = {
103
108
  unGroupColumn: name => `Fjern gruppéring efter ${name}`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'Udvid',
106
- collapseDetailPanel: 'Kollaps'
111
+ collapseDetailPanel: 'Kollaps' // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
113
+
107
114
  };
108
115
  export const daDK = getGridLocalization(daDKGrid, daDKCore);
@@ -20,11 +20,16 @@ const deDEGrid = {
20
20
  toolbarFiltersTooltipHide: 'Verberge Filter',
21
21
  toolbarFiltersTooltipShow: 'Zeige Filter',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive Filter` : `${count} aktiver Filter`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'Exportieren',
25
29
  toolbarExportLabel: 'Exportieren',
26
30
  toolbarExportCSV: 'Download als CSV',
27
31
  toolbarExportPrint: 'Drucken',
32
+ toolbarExportExcel: 'Download als Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Finde Spalte',
30
35
  columnsPanelTextFieldPlaceholder: 'Spaltenüberschrift',
@@ -34,7 +39,7 @@ const deDEGrid = {
34
39
  // Filter panel text
35
40
  filterPanelAddFilter: 'Filter hinzufügen',
36
41
  filterPanelDeleteIconLabel: 'Löschen',
37
- // filterPanelLinkOperator: 'Logic operator',
42
+ filterPanelLinkOperator: 'Logische Operatoren',
38
43
  filterPanelOperators: 'Operatoren',
39
44
  // TODO v6: rename to filterPanelOperator
40
45
  filterPanelOperatorAnd: 'Und',
@@ -55,7 +60,7 @@ const deDEGrid = {
55
60
  filterOperatorOnOrBefore: 'ist am oder vor',
56
61
  filterOperatorIsEmpty: 'ist leer',
57
62
  filterOperatorIsNotEmpty: 'ist nicht leer',
58
- // filterOperatorIsAnyOf: 'is any of',
63
+ filterOperatorIsAnyOf: 'ist einer der Werte',
59
64
  // Filter values text
60
65
  filterValueAny: 'Beliebig',
61
66
  filterValueTrue: 'Ja',
@@ -103,6 +108,8 @@ const deDEGrid = {
103
108
  unGroupColumn: name => `Gruppierung nach ${name} aufheben`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'Aufklappen',
106
- collapseDetailPanel: 'Zuklappen'
111
+ collapseDetailPanel: 'Zuklappen',
112
+ // Row reordering text
113
+ rowReorderingHeaderName: 'Reihen neu ordnen'
107
114
  };
108
115
  export const deDE = getGridLocalization(deDEGrid, deDECore);
@@ -19,11 +19,16 @@ const elGRGrid = {
19
19
  toolbarFiltersTooltipHide: 'Απόκρυψη φίλτρων',
20
20
  toolbarFiltersTooltipShow: 'Εμφάνιση φίλτρων',
21
21
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} ενεργά φίλτρα` : `${count} ενεργό φίλτρο`,
22
+ // Quick filter toolbar field
23
+ // toolbarQuickFilterPlaceholder: 'Search...',
24
+ // toolbarQuickFilterLabel: 'Search',
25
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
22
26
  // Export selector toolbar button text
23
27
  toolbarExport: 'Εξαγωγή',
24
28
  toolbarExportLabel: 'Εξαγωγή',
25
29
  toolbarExportCSV: 'Λήψη ως CSV',
26
30
  // toolbarExportPrint: 'Print',
31
+ // toolbarExportExcel: 'Download as Excel',
27
32
  // Columns panel text
28
33
  columnsPanelTextFieldLabel: 'Εύρεση στήλης',
29
34
  columnsPanelTextFieldPlaceholder: 'Επικεφαλίδα στήλης',
@@ -102,6 +107,8 @@ const elGRGrid = {
102
107
  // Master/detail
103
108
  // expandDetailPanel: 'Expand',
104
109
  // collapseDetailPanel: 'Collapse',
110
+ // Row reordering text
111
+ // rowReorderingHeaderName: 'Row reordering',
105
112
 
106
113
  };
107
114
  export const elGR = getGridLocalization(elGRGrid);
@@ -20,11 +20,16 @@ const esESGrid = {
20
20
  toolbarFiltersTooltipHide: 'Ocultar filtros',
21
21
  toolbarFiltersTooltipShow: 'Mostrar filtros',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtros activos` : `${count} filtro activo`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'Exportar',
25
29
  toolbarExportLabel: 'Exportar',
26
30
  toolbarExportCSV: 'Descargar como CSV',
27
31
  // toolbarExportPrint: 'Print',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Columna de búsqueda',
30
35
  columnsPanelTextFieldPlaceholder: 'Título de columna',
@@ -103,6 +108,8 @@ const esESGrid = {
103
108
  // Master/detail
104
109
  // expandDetailPanel: 'Expand',
105
110
  // collapseDetailPanel: 'Collapse',
111
+ // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
106
113
 
107
114
  };
108
115
  export const esES = getGridLocalization(esESGrid, esESCore);
@@ -20,11 +20,16 @@ const faIRGrid = {
20
20
  toolbarFiltersTooltipHide: 'مخفی کردن فیلترها',
21
21
  toolbarFiltersTooltipShow: 'نمایش فیلترها',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} فیلترهای فعال` : `${count} فیلتر فعال`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'خروجی',
25
29
  toolbarExportLabel: 'خروجی',
26
30
  toolbarExportCSV: 'دانلود به صورت CSV',
27
31
  toolbarExportPrint: 'چاپ',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'پیداکردن ستون',
30
35
  columnsPanelTextFieldPlaceholder: 'عنوان ستون',
@@ -103,6 +108,8 @@ const faIRGrid = {
103
108
  unGroupColumn: name => `لغو گروه‌بندی براساس ${name}`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'بازکردن پنل جزئیات',
106
- collapseDetailPanel: 'بستن پنل جزئیات'
111
+ collapseDetailPanel: 'بستن پنل جزئیات' // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
113
+
107
114
  };
108
115
  export const faIR = getGridLocalization(faIRGrid, faIRCore);
@@ -20,11 +20,16 @@ const fiFIGrid = {
20
20
  toolbarFiltersTooltipHide: 'Piilota suodattimet',
21
21
  toolbarFiltersTooltipShow: 'Näytä suodattimet',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktiivista suodatinta` : `${count} aktiivinen suodatin`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'Export',
25
29
  toolbarExportLabel: 'Export',
26
30
  toolbarExportCSV: 'Lataa CSV-muodossa',
27
31
  toolbarExportPrint: 'Tulosta',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Etsi sarake',
30
35
  columnsPanelTextFieldPlaceholder: 'Sarakkeen otsikko',
@@ -103,6 +108,8 @@ const fiFIGrid = {
103
108
  // Master/detail
104
109
  // expandDetailPanel: 'Expand',
105
110
  // collapseDetailPanel: 'Collapse',
111
+ // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
106
113
 
107
114
  };
108
115
  export const fiFI = getGridLocalization(fiFIGrid, fiFICore);
@@ -20,11 +20,16 @@ const frFRGrid = {
20
20
  toolbarFiltersTooltipHide: 'Cacher les filtres',
21
21
  toolbarFiltersTooltipShow: 'Afficher les filtres',
22
22
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtres actifs` : `${count} filtre actif`,
23
+ // Quick filter toolbar field
24
+ toolbarQuickFilterPlaceholder: 'Recherche...',
25
+ toolbarQuickFilterLabel: 'Recherche',
26
+ toolbarQuickFilterDeleteIconLabel: 'Supprimer',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'Exporter',
25
29
  toolbarExportLabel: 'Exporter',
26
30
  toolbarExportCSV: 'Télécharger en CSV',
27
31
  toolbarExportPrint: 'Imprimer',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'Chercher colonne',
30
35
  columnsPanelTextFieldPlaceholder: 'Titre de la colonne',
@@ -103,6 +108,8 @@ const frFRGrid = {
103
108
  unGroupColumn: name => `Arrêter de grouper par ${name}` // Master/detail
104
109
  // expandDetailPanel: 'Expand',
105
110
  // collapseDetailPanel: 'Collapse',
111
+ // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
106
113
 
107
114
  };
108
115
  export const frFR = getGridLocalization(frFRGrid, frFRCore);
@@ -20,11 +20,16 @@ const heILGrid = {
20
20
  toolbarFiltersTooltipHide: 'הסתר מסננים',
21
21
  toolbarFiltersTooltipShow: 'הצג מסננים',
22
22
  toolbarFiltersTooltipActive: count => count !== 1 ? `${count} מסננים פעילים` : `מסנן אחד פעיל`,
23
+ // Quick filter toolbar field
24
+ // toolbarQuickFilterPlaceholder: 'Search...',
25
+ // toolbarQuickFilterLabel: 'Search',
26
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
23
27
  // Export selector toolbar button text
24
28
  toolbarExport: 'ייצוא',
25
29
  toolbarExportLabel: 'ייצוא',
26
30
  toolbarExportCSV: 'הורדה כ- CSV',
27
31
  toolbarExportPrint: 'הדפסה',
32
+ // toolbarExportExcel: 'Download as Excel',
28
33
  // Columns panel text
29
34
  columnsPanelTextFieldLabel: 'חפש עמודה',
30
35
  columnsPanelTextFieldPlaceholder: 'כותרת עמודה',
@@ -103,6 +108,8 @@ const heILGrid = {
103
108
  unGroupColumn: name => `הפסק לקבץ לפי ${name}`,
104
109
  // Master/detail
105
110
  expandDetailPanel: 'הרחב',
106
- collapseDetailPanel: 'כווץ'
111
+ collapseDetailPanel: 'כווץ' // Row reordering text
112
+ // rowReorderingHeaderName: 'Row reordering',
113
+
107
114
  };
108
115
  export const heIL = getGridLocalization(heILGrid, heILCore);