@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
@@ -57,6 +57,8 @@ var _useGridRowsMeta = require("../hooks/features/rows/useGridRowsMeta");
57
57
 
58
58
  var _useGridStatePersistence = require("../hooks/features/statePersistence/useGridStatePersistence");
59
59
 
60
+ var _useGridColumnSpanning = require("../hooks/features/columns/useGridColumnSpanning");
61
+
60
62
  const useDataGridComponent = props => {
61
63
  var _props$experimentalFe, _props$experimentalFe2;
62
64
 
@@ -88,12 +90,13 @@ const useDataGridComponent = props => {
88
90
  (0, _useGridColumns.useGridColumns)(apiRef, props);
89
91
  (0, _useGridRows.useGridRows)(apiRef, props);
90
92
  (0, _useGridParamsApi.useGridParamsApi)(apiRef);
93
+ (0, _useGridColumnSpanning.useGridColumnSpanning)(apiRef);
91
94
  const useGridEditing = (_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.newEditingApi ? _useGridEditing2.useGridEditing : _useGridEditing.useGridEditing;
92
95
  useGridEditing(apiRef, props);
93
96
  (0, _useGridFocus.useGridFocus)(apiRef, props);
94
- (0, _useGridSorting.useGridSorting)(apiRef, props);
95
97
  (0, _useGridPreferencesPanel.useGridPreferencesPanel)(apiRef);
96
98
  (0, _useGridFilter.useGridFilter)(apiRef, props);
99
+ (0, _useGridSorting.useGridSorting)(apiRef, props);
97
100
  (0, _useGridDensity.useGridDensity)(apiRef, props);
98
101
  (0, _useGridPagination.useGridPagination)(apiRef, props);
99
102
  (0, _useGridRowsMeta.useGridRowsMeta)(apiRef, props);
@@ -80,7 +80,8 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = {
80
80
  sortingMode: _models.GridFeatureModeConstant.client,
81
81
  throttleRowsMs: 0,
82
82
  disableColumnReorder: false,
83
- disableColumnResize: false
83
+ disableColumnResize: false,
84
+ keepNonExistentRowsSelected: false
84
85
  };
85
86
  exports.DATA_GRID_PROPS_DEFAULT_VALUES = DATA_GRID_PROPS_DEFAULT_VALUES;
86
87
 
@@ -24,6 +24,7 @@ const GRID_ACTIONS_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_S
24
24
  headerName: '',
25
25
  disableColumnMenu: true,
26
26
  disableExport: true,
27
- renderCell: _GridActionsCell.renderActionsCell
27
+ renderCell: _GridActionsCell.renderActionsCell,
28
+ getApplyQuickFilterFn: undefined
28
29
  });
29
30
  exports.GRID_ACTIONS_COL_DEF = GRID_ACTIONS_COL_DEF;
@@ -34,6 +34,7 @@ const GRID_BOOLEAN_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_S
34
34
  renderEditCell: _GridEditBooleanCell.renderEditBooleanCell,
35
35
  sortComparator: _gridSortingUtils.gridNumberComparator,
36
36
  valueFormatter: gridBooleanFormatter,
37
- filterOperators: (0, _gridBooleanOperators.getGridBooleanOperators)()
37
+ filterOperators: (0, _gridBooleanOperators.getGridBooleanOperators)(),
38
+ getApplyQuickFilterFn: undefined
38
39
  });
39
40
  exports.GRID_BOOLEAN_COL_DEF = GRID_BOOLEAN_COL_DEF;
@@ -35,6 +35,7 @@ const GRID_CHECKBOX_SELECTION_COL_DEF = (0, _extends2.default)({}, _gridBooleanC
35
35
  disableColumnMenu: true,
36
36
  disableReorder: true,
37
37
  disableExport: true,
38
+ getApplyQuickFilterFn: undefined,
38
39
  valueGetter: params => {
39
40
  const selectionLookup = (0, _gridSelectionSelector.selectedIdsLookupSelector)(params.api.state, params.api.instanceId);
40
41
  return selectionLookup[params.id] !== undefined;
@@ -44,7 +44,8 @@ const GRID_DATE_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRI
44
44
  sortComparator: _gridSortingUtils.gridDateComparator,
45
45
  valueFormatter: gridDateFormatter,
46
46
  filterOperators: (0, _gridDateOperators.getGridDateOperators)(),
47
- renderEditCell: _GridEditDateCell.renderEditDateCell
47
+ renderEditCell: _GridEditDateCell.renderEditDateCell,
48
+ getApplyQuickFilterFn: undefined
48
49
  });
49
50
  exports.GRID_DATE_COL_DEF = GRID_DATE_COL_DEF;
50
51
  const GRID_DATETIME_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
@@ -52,6 +53,7 @@ const GRID_DATETIME_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_
52
53
  sortComparator: _gridSortingUtils.gridDateComparator,
53
54
  valueFormatter: gridDateTimeFormatter,
54
55
  filterOperators: (0, _gridDateOperators.getGridDateOperators)(true),
55
- renderEditCell: _GridEditDateCell.renderEditDateCell
56
+ renderEditCell: _GridEditDateCell.renderEditDateCell,
57
+ getApplyQuickFilterFn: undefined
56
58
  });
57
59
  exports.GRID_DATETIME_COL_DEF = GRID_DATETIME_COL_DEF;
@@ -26,6 +26,7 @@ const GRID_NUMERIC_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_S
26
26
  valueFormatter: ({
27
27
  value
28
28
  }) => value && (0, _utils.isNumber)(value) && value.toLocaleString() || value,
29
- filterOperators: (0, _gridNumericOperators.getGridNumericOperators)()
29
+ filterOperators: (0, _gridNumericOperators.getGridNumericOperators)(),
30
+ getApplyQuickFilterFn: _gridNumericOperators.getGridNumericQuickFilterFn
30
31
  });
31
32
  exports.GRID_NUMERIC_COL_DEF = GRID_NUMERIC_COL_DEF;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getGridNumericOperators = exports.getGridNumericColumnOperators = void 0;
6
+ exports.getGridNumericQuickFilterFn = exports.getGridNumericOperators = exports.getGridNumericColumnOperators = void 0;
7
7
 
8
8
  var _GridFilterInputValue = require("../components/panel/filterPanel/GridFilterInputValue");
9
9
 
@@ -19,6 +19,20 @@ const parseNumericValue = value => {
19
19
  return Number(value);
20
20
  };
21
21
 
22
+ const getGridNumericQuickFilterFn = value => {
23
+ if (value == null || Number.isNaN(value) || value === '') {
24
+ return null;
25
+ }
26
+
27
+ return ({
28
+ value: columnValue
29
+ }) => {
30
+ return parseNumericValue(columnValue) === parseNumericValue(value);
31
+ };
32
+ };
33
+
34
+ exports.getGridNumericQuickFilterFn = getGridNumericQuickFilterFn;
35
+
22
36
  const getGridNumericOperators = () => [{
23
37
  label: '=',
24
38
  value: '=',
@@ -18,6 +18,7 @@ var _gridSingleSelectOperators = require("./gridSingleSelectOperators");
18
18
  const GRID_SINGLE_SELECT_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
19
19
  type: 'singleSelect',
20
20
  renderEditCell: _GridEditSingleSelectCell.renderEditSingleSelectCell,
21
- filterOperators: (0, _gridSingleSelectOperators.getGridSingleSelectOperators)()
21
+ filterOperators: (0, _gridSingleSelectOperators.getGridSingleSelectOperators)(),
22
+ getApplyQuickFilterFn: _gridSingleSelectOperators.getGridSingleSelectQuickFilterFn
22
23
  });
23
24
  exports.GRID_SINGLE_SELECT_COL_DEF = GRID_SINGLE_SELECT_COL_DEF;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getGridSingleSelectOperators = void 0;
6
+ exports.getGridSingleSelectQuickFilterFn = exports.getGridSingleSelectOperators = void 0;
7
7
 
8
8
  var _GridFilterInputSingleSelect = require("../components/panel/filterPanel/GridFilterInputSingleSelect");
9
9
 
@@ -17,6 +17,61 @@ const parseObjectValue = value => {
17
17
  return value.value;
18
18
  };
19
19
 
20
+ const getGridSingleSelectQuickFilterFn = (value, column, apiRef) => {
21
+ if (!value) {
22
+ return null;
23
+ }
24
+
25
+ const {
26
+ valueOptions,
27
+ valueFormatter,
28
+ field
29
+ } = column;
30
+ const potentialValues = [parseObjectValue(value).toString()];
31
+ const iterableColumnValues = typeof valueOptions === 'function' ? valueOptions({
32
+ field
33
+ }) : valueOptions || [];
34
+
35
+ if (iterableColumnValues) {
36
+ iterableColumnValues.forEach(option => {
37
+ // for each valueOption, check if the formatted value
38
+ let optionValue;
39
+ let optionLabel;
40
+
41
+ if (typeof option === 'object') {
42
+ optionValue = option.value;
43
+ optionLabel = option.label;
44
+ } else {
45
+ optionValue = option;
46
+
47
+ if (valueFormatter) {
48
+ optionLabel = valueFormatter({
49
+ value: option,
50
+ field,
51
+ api: apiRef.current
52
+ });
53
+ } else {
54
+ optionLabel = option;
55
+ }
56
+ }
57
+
58
+ if (optionLabel.slice(0, value.length).toLowerCase() === value.toLowerCase()) {
59
+ if (!potentialValues.includes(optionValue)) {
60
+ potentialValues.push(optionValue.toString());
61
+ }
62
+ }
63
+ });
64
+ }
65
+
66
+ return ({
67
+ value: columnValue
68
+ }) => {
69
+ return columnValue != null ? potentialValues.includes(parseObjectValue(columnValue).toString()) : false;
70
+ };
71
+ };
72
+
73
+ exports.getGridSingleSelectQuickFilterFn = getGridSingleSelectQuickFilterFn;
74
+
20
75
  const getGridSingleSelectOperators = () => [{
21
76
  value: 'is',
22
77
  getApplyFilterFn: filterItem => {
@@ -27,6 +27,7 @@ const GRID_STRING_COL_DEF = {
27
27
  type: 'string',
28
28
  align: 'left',
29
29
  filterOperators: (0, _gridStringOperators.getGridStringOperators)(),
30
- renderEditCell: _GridEditInputCell.renderEditInputCell
30
+ renderEditCell: _GridEditInputCell.renderEditInputCell,
31
+ getApplyQuickFilterFn: _gridStringOperators.getGridStringQuickFilterFn
31
32
  };
32
33
  exports.GRID_STRING_COL_DEF = GRID_STRING_COL_DEF;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getGridStringOperators = void 0;
6
+ exports.getGridStringQuickFilterFn = exports.getGridStringOperators = void 0;
7
7
 
8
8
  var _GridFilterInputValue = require("../components/panel/filterPanel/GridFilterInputValue");
9
9
 
@@ -11,6 +11,21 @@ var _utils = require("../utils/utils");
11
11
 
12
12
  var _GridFilterInputMultipleValue = require("../components/panel/filterPanel/GridFilterInputMultipleValue");
13
13
 
14
+ const getGridStringQuickFilterFn = value => {
15
+ if (!value) {
16
+ return null;
17
+ }
18
+
19
+ const filterRegex = new RegExp((0, _utils.escapeRegExp)(value), 'i');
20
+ return ({
21
+ value: columnValue
22
+ }) => {
23
+ return columnValue != null ? filterRegex.test(columnValue.toString()) : false;
24
+ };
25
+ };
26
+
27
+ exports.getGridStringQuickFilterFn = getGridStringQuickFilterFn;
28
+
14
29
  const getGridStringOperators = () => [{
15
30
  value: 'contains',
16
31
  getApplyFilterFn: filterItem => {
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
 
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
14
16
  var _useGridSelector = require("../hooks/utils/useGridSelector");
15
17
 
16
18
  var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
@@ -57,4 +59,11 @@ const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref)
57
59
  children: [selectedRowCountElement, rowCountElement, paginationElement]
58
60
  }));
59
61
  });
60
- exports.GridFooter = GridFooter;
62
+ exports.GridFooter = GridFooter;
63
+ process.env.NODE_ENV !== "production" ? GridFooter.propTypes = {
64
+ // ----------------------------- Warning --------------------------------
65
+ // | These PropTypes are generated from the TypeScript type definitions |
66
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
67
+ // ----------------------------------------------------------------------
68
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
69
+ } : void 0;
@@ -19,8 +19,6 @@ var _clsx = _interopRequireDefault(require("clsx"));
19
19
 
20
20
  var _material = require("@mui/material");
21
21
 
22
- var _events = require("../models/events");
23
-
24
22
  var _gridEditRowModel = require("../models/gridEditRowModel");
25
23
 
26
24
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
@@ -41,6 +39,8 @@ var _gridCheckboxSelectionColDef = require("../colDef/gridCheckboxSelectionColDe
41
39
 
42
40
  var _gridActionsColDef = require("../colDef/gridActionsColDef");
43
41
 
42
+ var _gridDetailPanelToggleField = require("../constants/gridDetailPanelToggleField");
43
+
44
44
  var _jsxRuntime = require("react/jsx-runtime");
45
45
 
46
46
  const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "cellFocus", "cellTabIndex", "editRowsState", "isLastVisible", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"];
@@ -87,6 +87,7 @@ function GridRow(props) {
87
87
  const {
88
88
  selected,
89
89
  rowId,
90
+ row,
90
91
  index,
91
92
  style: styleProp,
92
93
  rowHeight,
@@ -157,7 +158,12 @@ function GridRow(props) {
157
158
  } // User opened a detail panel
158
159
 
159
160
 
160
- if (field === '__detail_panel_toggle__') {
161
+ if (field === _gridDetailPanelToggleField.GRID_DETAIL_PANEL_TOGGLE_FIELD) {
162
+ return;
163
+ } // User reorders a row
164
+
165
+
166
+ if (field === '__reorder__') {
161
167
  return;
162
168
  } // User is editing a cell
163
169
 
@@ -174,7 +180,7 @@ function GridRow(props) {
174
180
  }
175
181
  }
176
182
 
177
- publish(_events.GridEvents.rowClick, onClick)(event);
183
+ publish('rowClick', onClick)(event);
178
184
  }, [apiRef, onClick, publish, rowId]);
179
185
  const style = (0, _extends2.default)({}, styleProp, {
180
186
  maxHeight: rowHeight,
@@ -198,7 +204,8 @@ function GridRow(props) {
198
204
  const indexRelativeToCurrentPage = index - currentPage.range.firstRowIndex;
199
205
  const rowParams = (0, _extends2.default)({}, apiRef.current.getRowParams(rowId), {
200
206
  isFirstVisible: indexRelativeToCurrentPage === 0,
201
- isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1
207
+ isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
208
+ indexRelativeToCurrentPage
202
209
  });
203
210
  rowClassName = rootProps.getRowClassName(rowParams);
204
211
  }
@@ -206,8 +213,6 @@ function GridRow(props) {
206
213
  const cells = [];
207
214
 
208
215
  for (let i = 0; i < renderedColumns.length; i += 1) {
209
- var _rootProps$components;
210
-
211
216
  const column = renderedColumns[i];
212
217
  const indexRelativeToAllColumns = firstColumnToRender + i;
213
218
  const isLastColumn = indexRelativeToAllColumns === visibleColumns.length - 1;
@@ -236,7 +241,16 @@ function GridRow(props) {
236
241
  if (editCellState != null && column.renderEditCell) {
237
242
  var _rootProps$classes2;
238
243
 
239
- const params = (0, _extends2.default)({}, cellParams, editCellState, {
244
+ let updatedRow = row;
245
+
246
+ if (apiRef.current.unstable_getRowWithUpdatedValues) {
247
+ // Only the new editing API has this method
248
+ updatedRow = apiRef.current.unstable_getRowWithUpdatedValues(rowId, column.field);
249
+ }
250
+
251
+ const params = (0, _extends2.default)({}, cellParams, {
252
+ row: updatedRow
253
+ }, editCellState, {
240
254
  api: apiRef.current
241
255
  });
242
256
  content = column.renderEditCell(params); // TODO move to GridCell
@@ -251,24 +265,35 @@ function GridRow(props) {
251
265
 
252
266
  const hasFocus = cellFocus !== null && cellFocus.id === rowId && cellFocus.field === column.field;
253
267
  const tabIndex = cellTabIndex !== null && cellTabIndex.id === rowId && cellTabIndex.field === column.field && cellParams.cellMode === 'view' ? 0 : -1;
254
- cells.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.Cell, (0, _extends2.default)({
255
- value: cellParams.value,
256
- field: column.field,
257
- width: column.computedWidth,
258
- rowId: rowId,
259
- height: rowHeight,
260
- showRightBorder: showRightBorder,
261
- formattedValue: cellParams.formattedValue,
262
- align: column.align || 'left',
263
- cellMode: cellParams.cellMode,
264
- colIndex: indexRelativeToAllColumns,
265
- isEditable: cellParams.isEditable,
266
- hasFocus: hasFocus,
267
- tabIndex: tabIndex,
268
- className: (0, _clsx.default)(classNames)
269
- }, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.cell, {
270
- children: content
271
- }), column.field));
268
+ const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
269
+
270
+ if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
271
+ var _rootProps$components;
272
+
273
+ const {
274
+ colSpan,
275
+ width
276
+ } = cellColSpanInfo.cellProps;
277
+ cells.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.Cell, (0, _extends2.default)({
278
+ value: cellParams.value,
279
+ field: column.field,
280
+ width: width,
281
+ rowId: rowId,
282
+ height: rowHeight,
283
+ showRightBorder: showRightBorder,
284
+ formattedValue: cellParams.formattedValue,
285
+ align: column.align || 'left',
286
+ cellMode: cellParams.cellMode,
287
+ colIndex: indexRelativeToAllColumns,
288
+ isEditable: cellParams.isEditable,
289
+ hasFocus: hasFocus,
290
+ tabIndex: tabIndex,
291
+ className: (0, _clsx.default)(classNames),
292
+ colSpan: colSpan
293
+ }, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.cell, {
294
+ children: content
295
+ }), column.field));
296
+ }
272
297
  }
273
298
 
274
299
  const emptyCellWidth = containerWidth - columnsTotalWidth;
@@ -281,9 +306,9 @@ function GridRow(props) {
281
306
  "aria-selected": selected,
282
307
  style: style,
283
308
  onClick: publishClick,
284
- onDoubleClick: publish(_events.GridEvents.rowDoubleClick, onDoubleClick),
285
- onMouseEnter: publish(_events.GridEvents.rowMouseEnter, onMouseEnter),
286
- onMouseLeave: publish(_events.GridEvents.rowMouseLeave, onMouseLeave)
309
+ onDoubleClick: publish('rowDoubleClick', onDoubleClick),
310
+ onMouseEnter: publish('rowMouseEnter', onMouseEnter),
311
+ onMouseLeave: publish('rowMouseLeave', onMouseLeave)
287
312
  }, other, {
288
313
  children: [cells, emptyCellWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(EmptyCell, {
289
314
  width: emptyCellWidth,
@@ -302,6 +327,11 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
302
327
  containerWidth: _propTypes.default.number.isRequired,
303
328
  editRowsState: _propTypes.default.object.isRequired,
304
329
  firstColumnToRender: _propTypes.default.number.isRequired,
330
+
331
+ /**
332
+ * Index of the row in the whole sorted and filtered dataset.
333
+ * If some rows above have expanded children, this index also take those children into account.
334
+ */
305
335
  index: _propTypes.default.number.isRequired,
306
336
  isLastVisible: _propTypes.default.bool,
307
337
  lastColumnToRender: _propTypes.default.number.isRequired,
@@ -89,5 +89,6 @@ process.env.NODE_ENV !== "production" ? GridRowCount.propTypes = {
89
89
  // | To update them edit the TypeScript types and run "yarn proptypes" |
90
90
  // ----------------------------------------------------------------------
91
91
  rowCount: _propTypes.default.number.isRequired,
92
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
92
93
  visibleRowCount: _propTypes.default.number.isRequired
93
94
  } : void 0;
@@ -19,8 +19,6 @@ var _material = require("@mui/material");
19
19
 
20
20
  var _styles = require("@mui/material/styles");
21
21
 
22
- var _events = require("../models/events");
23
-
24
22
  var _useGridApiEventHandler = require("../hooks/utils/useGridApiEventHandler");
25
23
 
26
24
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
@@ -125,9 +123,9 @@ function GridScrollAreaRaw(props) {
125
123
  const toggleDragging = React.useCallback(() => {
126
124
  setDragging(prevDragging => !prevDragging);
127
125
  }, []);
128
- (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.rowsScroll, handleScrolling);
129
- (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.columnHeaderDragStart, toggleDragging);
130
- (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, _events.GridEvents.columnHeaderDragEnd, toggleDragging);
126
+ (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'rowsScroll', handleScrolling);
127
+ (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragStart', toggleDragging);
128
+ (0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnHeaderDragEnd', toggleDragging);
131
129
  return dragging ? /*#__PURE__*/(0, _jsxRuntime.jsx)(GridScrollAreaRawRoot, {
132
130
  ref: rootRef,
133
131
  className: (0, _clsx.default)(classes.root),
@@ -90,5 +90,6 @@ process.env.NODE_ENV !== "production" ? GridSelectedRowCount.propTypes = {
90
90
  // | These PropTypes are generated from the TypeScript type definitions |
91
91
  // | To update them edit the TypeScript types and run "yarn proptypes" |
92
92
  // ----------------------------------------------------------------------
93
- selectedRowCount: _propTypes.default.number.isRequired
93
+ selectedRowCount: _propTypes.default.number.isRequired,
94
+ sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
94
95
  } : void 0;
@@ -11,8 +11,6 @@ var React = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
- var _events = require("../../models/events");
15
-
16
14
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
17
15
 
18
16
  var _GridMainContainer = require("../containers/GridMainContainer");
@@ -68,7 +66,7 @@ function GridBody(props) {
68
66
  apiRef.current.renderingZoneRef = renderingZoneRef; // TODO remove, nobody should have access to internal parts of the virtualization
69
67
 
70
68
  const handleResize = React.useCallback(size => {
71
- apiRef.current.publishEvent(_events.GridEvents.resize, size);
69
+ apiRef.current.publishEvent('resize', size);
72
70
  }, [apiRef]);
73
71
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, {
74
72
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridOverlays.GridOverlays, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(ColumnHeadersComponent, {
@@ -25,8 +25,6 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
25
25
 
26
26
  var _densitySelector = require("../../hooks/features/density/densitySelector");
27
27
 
28
- var _events = require("../../models/events");
29
-
30
28
  var _jsxRuntime = require("react/jsx-runtime");
31
29
 
32
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -50,7 +48,7 @@ function GridOverlayWrapper(props) {
50
48
  setViewportInnerSize((_apiRef$current$getRo3 = (_apiRef$current$getRo4 = apiRef.current.getRootDimensions()) == null ? void 0 : _apiRef$current$getRo4.viewportInnerSize) != null ? _apiRef$current$getRo3 : null);
51
49
  }, [apiRef]);
52
50
  (0, _utils.unstable_useEnhancedEffect)(() => {
53
- return apiRef.current.subscribeEvent(_events.GridEvents.viewportInnerSizeChange, handleViewportSizeChange);
51
+ return apiRef.current.subscribeEvent('viewportInnerSizeChange', handleViewportSizeChange);
54
52
  }, [apiRef, handleViewportSizeChange]);
55
53
  let height = (_viewportInnerSize$he = viewportInnerSize == null ? void 0 : viewportInnerSize.height) != null ? _viewportInnerSize$he : 0;
56
54
 
@@ -78,8 +76,9 @@ function GridOverlays() {
78
76
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
79
77
  const totalRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowCountSelector);
80
78
  const visibleRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridVisibleRowCountSelector);
81
- const showNoRowsOverlay = !rootProps.loading && totalRowCount === 0;
82
- const showNoResultsOverlay = !rootProps.loading && totalRowCount > 0 && visibleRowCount === 0;
79
+ const loading = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowsLoadingSelector);
80
+ const showNoRowsOverlay = !loading && totalRowCount === 0;
81
+ const showNoResultsOverlay = !loading && totalRowCount > 0 && visibleRowCount === 0;
83
82
  let overlay = null;
84
83
 
85
84
  if (showNoRowsOverlay) {