@mui/x-data-grid 5.9.0 → 5.11.1

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 (519) hide show
  1. package/CHANGELOG.md +284 -10
  2. package/DataGrid/DataGrid.js +35 -1
  3. package/DataGrid/useDataGridProps.js +2 -1
  4. package/README.md +5 -4
  5. package/colDef/gridActionsColDef.js +2 -1
  6. package/colDef/gridBooleanColDef.js +2 -1
  7. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  8. package/colDef/gridDateColDef.js +4 -2
  9. package/colDef/gridNumericColDef.js +3 -2
  10. package/colDef/gridNumericOperators.d.ts +2 -0
  11. package/colDef/gridNumericOperators.js +11 -0
  12. package/colDef/gridSingleSelectColDef.js +3 -2
  13. package/colDef/gridSingleSelectOperators.d.ts +3 -0
  14. package/colDef/gridSingleSelectOperators.js +52 -0
  15. package/colDef/gridStringColDef.js +3 -2
  16. package/colDef/gridStringOperators.d.ts +2 -0
  17. package/colDef/gridStringOperators.js +12 -0
  18. package/components/GridFooter.d.ts +4 -2
  19. package/components/GridFooter.js +11 -2
  20. package/components/GridRow.js +9 -5
  21. package/components/GridRowCount.d.ts +4 -1
  22. package/components/GridRowCount.js +1 -0
  23. package/components/GridScrollArea.js +3 -4
  24. package/components/GridSelectedRowCount.d.ts +4 -1
  25. package/components/GridSelectedRowCount.js +2 -1
  26. package/components/base/GridBody.js +1 -2
  27. package/components/base/GridOverlays.js +2 -3
  28. package/components/cell/GridActionsCell.js +13 -4
  29. package/components/cell/GridCell.js +8 -8
  30. package/components/cell/GridEditBooleanCell.d.ts +15 -3
  31. package/components/cell/GridEditBooleanCell.js +101 -6
  32. package/components/cell/GridEditDateCell.d.ts +16 -4
  33. package/components/cell/GridEditDateCell.js +99 -5
  34. package/components/cell/GridEditInputCell.d.ts +11 -5
  35. package/components/cell/GridEditInputCell.js +29 -5
  36. package/components/cell/GridEditSingleSelectCell.d.ts +12 -4
  37. package/components/cell/GridEditSingleSelectCell.js +28 -5
  38. package/components/cell/index.d.ts +2 -0
  39. package/components/cell/index.js +2 -0
  40. package/components/columnHeaders/GridColumnHeaderItem.js +15 -16
  41. package/components/columnHeaders/GridColumnHeaders.d.ts +2 -0
  42. package/components/columnHeaders/GridColumnHeadersInner.d.ts +2 -0
  43. package/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
  44. package/components/columnSelection/GridHeaderCheckbox.js +4 -5
  45. package/components/containers/GridFooterContainer.d.ts +8 -2
  46. package/components/containers/GridFooterContainer.js +11 -2
  47. package/components/containers/GridRoot.js +25 -5
  48. package/components/containers/GridRootStyles.js +36 -1
  49. package/components/containers/GridToolbarContainer.d.ts +8 -2
  50. package/components/containers/GridToolbarContainer.js +12 -2
  51. package/components/menu/GridMenu.js +1 -0
  52. package/components/panel/GridPanelContent.d.ts +8 -1
  53. package/components/panel/GridPanelContent.js +13 -2
  54. package/components/panel/GridPanelFooter.d.ts +8 -1
  55. package/components/panel/GridPanelFooter.js +13 -2
  56. package/components/panel/GridPanelHeader.d.ts +8 -1
  57. package/components/panel/GridPanelHeader.js +13 -2
  58. package/components/toolbar/GridToolbar.d.ts +12 -2
  59. package/components/toolbar/GridToolbar.js +30 -7
  60. package/components/toolbar/GridToolbarExport.d.ts +5 -4
  61. package/components/toolbar/GridToolbarExport.js +15 -20
  62. package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
  63. package/components/toolbar/GridToolbarQuickFilter.d.ts +20 -0
  64. package/components/toolbar/GridToolbarQuickFilter.js +87 -0
  65. package/components/toolbar/index.d.ts +3 -1
  66. package/components/toolbar/index.js +3 -2
  67. package/components/virtualization/GridVirtualScroller.d.ts +4 -1
  68. package/components/virtualization/GridVirtualScrollerContent.d.ts +4 -1
  69. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +4 -1
  70. package/constants/defaultGridSlotsComponents.js +4 -2
  71. package/constants/gridClasses.d.ts +32 -0
  72. package/constants/gridClasses.js +1 -1
  73. package/constants/localeTextConstants.js +8 -1
  74. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +11 -0
  75. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +10 -9
  76. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +4 -4
  77. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  78. package/hooks/core/useGridApiInitialization.js +3 -3
  79. package/hooks/core/useGridErrorHandler.js +1 -2
  80. package/hooks/core/useGridStateInitialization.js +1 -2
  81. package/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -6
  82. package/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  83. package/hooks/features/columns/useGridColumnSpanning.js +1 -2
  84. package/hooks/features/columns/useGridColumns.d.ts +1 -1
  85. package/hooks/features/columns/useGridColumns.js +8 -9
  86. package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
  87. package/hooks/features/dimensions/useGridDimensions.js +8 -9
  88. package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
  89. package/hooks/features/editRows/useGridCellEditing.new.js +133 -32
  90. package/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  91. package/hooks/features/editRows/useGridEditing.old.js +4 -5
  92. package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
  93. package/hooks/features/editRows/useGridRowEditing.new.js +122 -42
  94. package/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  95. package/hooks/features/events/useGridEvents.js +17 -18
  96. package/hooks/features/export/serializers/csvSerializer.js +5 -5
  97. package/hooks/features/export/useGridCsvExport.js +23 -16
  98. package/hooks/features/export/useGridPrintExport.js +22 -0
  99. package/hooks/features/export/utils.d.ts +3 -1
  100. package/hooks/features/export/utils.js +13 -0
  101. package/hooks/features/filter/gridFilterState.d.ts +1 -2
  102. package/hooks/features/filter/gridFilterState.js +3 -1
  103. package/hooks/features/filter/gridFilterUtils.d.ts +8 -0
  104. package/hooks/features/filter/gridFilterUtils.js +84 -2
  105. package/hooks/features/filter/useGridFilter.js +20 -8
  106. package/hooks/features/focus/useGridFocus.d.ts +1 -1
  107. package/hooks/features/focus/useGridFocus.js +29 -33
  108. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +4 -5
  109. package/hooks/features/pagination/useGridPage.js +3 -4
  110. package/hooks/features/pagination/useGridPageSize.js +2 -3
  111. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  112. package/hooks/features/rows/gridRowsSelector.d.ts +1 -0
  113. package/hooks/features/rows/gridRowsSelector.js +1 -0
  114. package/hooks/features/rows/gridRowsState.d.ts +16 -11
  115. package/hooks/features/rows/gridRowsUtils.d.ts +14 -1
  116. package/hooks/features/rows/gridRowsUtils.js +79 -1
  117. package/hooks/features/rows/useGridRows.js +148 -128
  118. package/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  119. package/hooks/features/scroll/useGridScroll.js +6 -1
  120. package/hooks/features/selection/useGridSelection.d.ts +1 -1
  121. package/hooks/features/selection/useGridSelection.js +13 -10
  122. package/hooks/features/sorting/useGridSorting.js +8 -9
  123. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +2 -0
  124. package/hooks/features/virtualization/useGridVirtualScroller.js +14 -5
  125. package/hooks/utils/useGridApiEventHandler.d.ts +4 -1
  126. package/hooks/utils/useGridApiEventHandler.js +22 -9
  127. package/hooks/utils/useGridNativeEventListener.js +1 -2
  128. package/hooks/utils/useGridSelector.js +1 -1
  129. package/index.d.ts +2 -0
  130. package/index.js +1 -1
  131. package/internals/index.d.ts +4 -1
  132. package/internals/index.js +5 -2
  133. package/legacy/DataGrid/DataGrid.js +35 -1
  134. package/legacy/DataGrid/useDataGridProps.js +2 -1
  135. package/legacy/colDef/gridActionsColDef.js +2 -1
  136. package/legacy/colDef/gridBooleanColDef.js +2 -1
  137. package/legacy/colDef/gridCheckboxSelectionColDef.js +1 -0
  138. package/legacy/colDef/gridDateColDef.js +4 -2
  139. package/legacy/colDef/gridNumericColDef.js +3 -2
  140. package/legacy/colDef/gridNumericOperators.js +28 -18
  141. package/legacy/colDef/gridSingleSelectColDef.js +3 -2
  142. package/legacy/colDef/gridSingleSelectOperators.js +55 -6
  143. package/legacy/colDef/gridStringColDef.js +3 -2
  144. package/legacy/colDef/gridStringOperators.js +25 -14
  145. package/legacy/components/GridFooter.js +11 -2
  146. package/legacy/components/GridRow.js +9 -5
  147. package/legacy/components/GridRowCount.js +1 -0
  148. package/legacy/components/GridScrollArea.js +3 -4
  149. package/legacy/components/GridSelectedRowCount.js +2 -1
  150. package/legacy/components/base/GridBody.js +1 -2
  151. package/legacy/components/base/GridOverlays.js +2 -3
  152. package/legacy/components/cell/GridActionsCell.js +13 -4
  153. package/legacy/components/cell/GridCell.js +8 -8
  154. package/legacy/components/cell/GridEditBooleanCell.js +132 -11
  155. package/legacy/components/cell/GridEditDateCell.js +148 -42
  156. package/legacy/components/cell/GridEditInputCell.js +61 -12
  157. package/legacy/components/cell/GridEditSingleSelectCell.js +41 -13
  158. package/legacy/components/cell/index.js +2 -0
  159. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +15 -16
  160. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
  161. package/legacy/components/columnSelection/GridHeaderCheckbox.js +4 -5
  162. package/legacy/components/containers/GridFooterContainer.js +11 -2
  163. package/legacy/components/containers/GridRoot.js +23 -5
  164. package/legacy/components/containers/GridRootStyles.js +26 -5
  165. package/legacy/components/containers/GridToolbarContainer.js +12 -2
  166. package/legacy/components/menu/GridMenu.js +1 -0
  167. package/legacy/components/panel/GridPanelContent.js +13 -2
  168. package/legacy/components/panel/GridPanelFooter.js +13 -2
  169. package/legacy/components/panel/GridPanelHeader.js +13 -2
  170. package/legacy/components/toolbar/GridToolbar.js +31 -6
  171. package/legacy/components/toolbar/GridToolbarExport.js +18 -19
  172. package/legacy/components/toolbar/GridToolbarQuickFilter.js +102 -0
  173. package/legacy/components/toolbar/index.js +3 -2
  174. package/legacy/constants/defaultGridSlotsComponents.js +4 -2
  175. package/legacy/constants/gridClasses.js +1 -1
  176. package/legacy/constants/localeTextConstants.js +8 -1
  177. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +10 -10
  178. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  179. package/legacy/hooks/core/useGridApiInitialization.js +3 -3
  180. package/legacy/hooks/core/useGridErrorHandler.js +1 -2
  181. package/legacy/hooks/core/useGridStateInitialization.js +1 -2
  182. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -6
  183. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  184. package/legacy/hooks/features/columns/useGridColumnSpanning.js +1 -2
  185. package/legacy/hooks/features/columns/useGridColumns.js +8 -9
  186. package/legacy/hooks/features/dimensions/useGridDimensions.js +8 -9
  187. package/legacy/hooks/features/editRows/useGridCellEditing.new.js +213 -83
  188. package/legacy/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  189. package/legacy/hooks/features/editRows/useGridEditing.old.js +4 -5
  190. package/legacy/hooks/features/editRows/useGridRowEditing.new.js +126 -42
  191. package/legacy/hooks/features/editRows/useGridRowEditing.old.js +20 -21
  192. package/legacy/hooks/features/events/useGridEvents.js +17 -18
  193. package/legacy/hooks/features/export/serializers/csvSerializer.js +5 -5
  194. package/legacy/hooks/features/export/useGridCsvExport.js +24 -17
  195. package/legacy/hooks/features/export/useGridPrintExport.js +22 -0
  196. package/legacy/hooks/features/export/utils.js +14 -0
  197. package/legacy/hooks/features/filter/gridFilterState.js +3 -1
  198. package/legacy/hooks/features/filter/gridFilterUtils.js +96 -2
  199. package/legacy/hooks/features/filter/useGridFilter.js +20 -8
  200. package/legacy/hooks/features/focus/useGridFocus.js +31 -35
  201. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +4 -5
  202. package/legacy/hooks/features/pagination/useGridPage.js +3 -4
  203. package/legacy/hooks/features/pagination/useGridPageSize.js +2 -3
  204. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  205. package/legacy/hooks/features/rows/gridRowsSelector.js +3 -0
  206. package/legacy/hooks/features/rows/gridRowsUtils.js +82 -1
  207. package/legacy/hooks/features/rows/useGridRows.js +164 -131
  208. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  209. package/legacy/hooks/features/scroll/useGridScroll.js +6 -1
  210. package/legacy/hooks/features/selection/useGridSelection.js +13 -10
  211. package/legacy/hooks/features/sorting/useGridSorting.js +8 -9
  212. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +14 -5
  213. package/legacy/hooks/utils/useGridApiEventHandler.js +20 -9
  214. package/legacy/hooks/utils/useGridNativeEventListener.js +1 -2
  215. package/legacy/hooks/utils/useGridSelector.js +1 -1
  216. package/legacy/index.js +1 -1
  217. package/legacy/internals/index.js +5 -2
  218. package/legacy/locales/arSD.js +8 -1
  219. package/legacy/locales/bgBG.js +8 -1
  220. package/legacy/locales/csCZ.js +7 -0
  221. package/legacy/locales/daDK.js +8 -1
  222. package/legacy/locales/deDE.js +10 -3
  223. package/legacy/locales/elGR.js +7 -0
  224. package/legacy/locales/esES.js +7 -0
  225. package/legacy/locales/faIR.js +8 -1
  226. package/legacy/locales/fiFI.js +7 -0
  227. package/legacy/locales/frFR.js +7 -0
  228. package/legacy/locales/heIL.js +8 -1
  229. package/legacy/locales/huHU.js +8 -1
  230. package/legacy/locales/itIT.js +7 -0
  231. package/legacy/locales/jaJP.js +7 -0
  232. package/legacy/locales/koKR.js +7 -0
  233. package/legacy/locales/nlNL.js +7 -0
  234. package/legacy/locales/plPL.js +8 -1
  235. package/legacy/locales/ptBR.js +8 -1
  236. package/legacy/locales/ruRU.js +7 -0
  237. package/legacy/locales/skSK.js +7 -0
  238. package/legacy/locales/trTR.js +8 -1
  239. package/legacy/locales/ukUA.js +7 -0
  240. package/legacy/locales/viVN.js +7 -0
  241. package/legacy/locales/zhCN.js +7 -0
  242. package/legacy/models/events/gridEvents.js +8 -0
  243. package/legacy/models/index.js +4 -3
  244. package/legacy/utils/createSelector.js +18 -2
  245. package/legacy/utils/exportAs.js +1 -1
  246. package/locales/arSD.js +8 -1
  247. package/locales/bgBG.js +8 -1
  248. package/locales/csCZ.js +7 -0
  249. package/locales/daDK.js +8 -1
  250. package/locales/deDE.js +10 -3
  251. package/locales/elGR.js +7 -0
  252. package/locales/esES.js +7 -0
  253. package/locales/faIR.js +8 -1
  254. package/locales/fiFI.js +7 -0
  255. package/locales/frFR.js +7 -0
  256. package/locales/heIL.js +8 -1
  257. package/locales/huHU.js +8 -1
  258. package/locales/itIT.js +7 -0
  259. package/locales/jaJP.js +7 -0
  260. package/locales/koKR.js +7 -0
  261. package/locales/nlNL.js +7 -0
  262. package/locales/plPL.js +8 -1
  263. package/locales/ptBR.js +8 -1
  264. package/locales/ruRU.js +7 -0
  265. package/locales/skSK.js +7 -0
  266. package/locales/trTR.js +8 -1
  267. package/locales/ukUA.js +7 -0
  268. package/locales/viVN.js +7 -0
  269. package/locales/zhCN.js +7 -0
  270. package/models/api/gridCoreApi.d.ts +10 -0
  271. package/models/api/gridEditingApi.d.ts +23 -4
  272. package/models/api/gridFilterApi.d.ts +5 -0
  273. package/models/api/gridFocusApi.d.ts +1 -0
  274. package/models/api/gridLocaleTextApi.d.ts +5 -0
  275. package/models/api/gridRowApi.d.ts +34 -0
  276. package/models/api/index.d.ts +1 -1
  277. package/models/colDef/gridColDef.d.ts +13 -0
  278. package/models/events/gridEventLookup.d.ts +293 -3
  279. package/models/events/gridEvents.d.ts +8 -251
  280. package/models/events/gridEvents.js +8 -0
  281. package/models/gridExport.d.ts +29 -2
  282. package/models/gridFilterModel.d.ts +11 -0
  283. package/models/gridFilterOperator.d.ts +1 -1
  284. package/models/gridIconSlotsComponent.d.ts +10 -0
  285. package/models/gridStateCommunity.d.ts +0 -2
  286. package/models/index.d.ts +1 -1
  287. package/models/index.js +4 -3
  288. package/models/props/DataGridProps.d.ts +56 -28
  289. package/modern/DataGrid/DataGrid.js +35 -1
  290. package/modern/DataGrid/useDataGridProps.js +2 -1
  291. package/modern/colDef/gridActionsColDef.js +2 -1
  292. package/modern/colDef/gridBooleanColDef.js +2 -1
  293. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  294. package/modern/colDef/gridDateColDef.js +4 -2
  295. package/modern/colDef/gridNumericColDef.js +3 -2
  296. package/modern/colDef/gridNumericOperators.js +11 -0
  297. package/modern/colDef/gridSingleSelectColDef.js +3 -2
  298. package/modern/colDef/gridSingleSelectOperators.js +52 -0
  299. package/modern/colDef/gridStringColDef.js +3 -2
  300. package/modern/colDef/gridStringOperators.js +12 -0
  301. package/modern/components/GridFooter.js +11 -2
  302. package/modern/components/GridRow.js +9 -5
  303. package/modern/components/GridRowCount.js +1 -0
  304. package/modern/components/GridScrollArea.js +3 -4
  305. package/modern/components/GridSelectedRowCount.js +2 -1
  306. package/modern/components/base/GridBody.js +1 -2
  307. package/modern/components/base/GridOverlays.js +2 -3
  308. package/modern/components/cell/GridActionsCell.js +14 -3
  309. package/modern/components/cell/GridCell.js +8 -8
  310. package/modern/components/cell/GridEditBooleanCell.js +101 -6
  311. package/modern/components/cell/GridEditDateCell.js +99 -5
  312. package/modern/components/cell/GridEditInputCell.js +29 -5
  313. package/modern/components/cell/GridEditSingleSelectCell.js +28 -5
  314. package/modern/components/cell/index.js +2 -0
  315. package/modern/components/columnHeaders/GridColumnHeaderItem.js +15 -16
  316. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -3
  317. package/modern/components/columnSelection/GridHeaderCheckbox.js +4 -5
  318. package/modern/components/containers/GridFooterContainer.js +11 -2
  319. package/modern/components/containers/GridRoot.js +25 -3
  320. package/modern/components/containers/GridRootStyles.js +36 -1
  321. package/modern/components/containers/GridToolbarContainer.js +12 -2
  322. package/modern/components/menu/GridMenu.js +1 -0
  323. package/modern/components/panel/GridPanelContent.js +13 -2
  324. package/modern/components/panel/GridPanelFooter.js +13 -2
  325. package/modern/components/panel/GridPanelHeader.js +13 -2
  326. package/modern/components/toolbar/GridToolbar.js +30 -7
  327. package/modern/components/toolbar/GridToolbarExport.js +15 -20
  328. package/modern/components/toolbar/GridToolbarQuickFilter.js +85 -0
  329. package/modern/components/toolbar/index.js +3 -2
  330. package/modern/constants/defaultGridSlotsComponents.js +4 -2
  331. package/modern/constants/gridClasses.js +1 -1
  332. package/modern/constants/localeTextConstants.js +8 -1
  333. package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +10 -9
  334. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
  335. package/modern/hooks/core/useGridApiInitialization.js +3 -3
  336. package/modern/hooks/core/useGridErrorHandler.js +1 -2
  337. package/modern/hooks/core/useGridStateInitialization.js +1 -2
  338. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -6
  339. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
  340. package/modern/hooks/features/columns/useGridColumnSpanning.js +1 -2
  341. package/modern/hooks/features/columns/useGridColumns.js +8 -9
  342. package/modern/hooks/features/dimensions/useGridDimensions.js +8 -9
  343. package/modern/hooks/features/editRows/useGridCellEditing.new.js +131 -32
  344. package/modern/hooks/features/editRows/useGridCellEditing.old.js +20 -21
  345. package/modern/hooks/features/editRows/useGridEditing.old.js +4 -5
  346. package/modern/hooks/features/editRows/useGridRowEditing.new.js +120 -42
  347. package/modern/hooks/features/editRows/useGridRowEditing.old.js +21 -22
  348. package/modern/hooks/features/events/useGridEvents.js +17 -18
  349. package/modern/hooks/features/export/serializers/csvSerializer.js +5 -5
  350. package/modern/hooks/features/export/useGridCsvExport.js +21 -16
  351. package/modern/hooks/features/export/useGridPrintExport.js +20 -0
  352. package/modern/hooks/features/export/utils.js +13 -0
  353. package/modern/hooks/features/filter/gridFilterState.js +3 -1
  354. package/modern/hooks/features/filter/gridFilterUtils.js +80 -2
  355. package/modern/hooks/features/filter/useGridFilter.js +20 -8
  356. package/modern/hooks/features/focus/useGridFocus.js +29 -33
  357. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +4 -5
  358. package/modern/hooks/features/pagination/useGridPage.js +3 -4
  359. package/modern/hooks/features/pagination/useGridPageSize.js +2 -3
  360. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
  361. package/modern/hooks/features/rows/gridRowsSelector.js +1 -0
  362. package/modern/hooks/features/rows/gridRowsUtils.js +77 -1
  363. package/modern/hooks/features/rows/useGridRows.js +148 -128
  364. package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  365. package/modern/hooks/features/scroll/useGridScroll.js +6 -1
  366. package/modern/hooks/features/selection/useGridSelection.js +13 -10
  367. package/modern/hooks/features/sorting/useGridSorting.js +8 -9
  368. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +14 -5
  369. package/modern/hooks/utils/useGridApiEventHandler.js +20 -9
  370. package/modern/hooks/utils/useGridNativeEventListener.js +1 -2
  371. package/modern/hooks/utils/useGridSelector.js +1 -1
  372. package/modern/index.js +1 -1
  373. package/modern/internals/index.js +5 -2
  374. package/modern/locales/arSD.js +8 -1
  375. package/modern/locales/bgBG.js +8 -1
  376. package/modern/locales/csCZ.js +7 -0
  377. package/modern/locales/daDK.js +8 -1
  378. package/modern/locales/deDE.js +10 -3
  379. package/modern/locales/elGR.js +7 -0
  380. package/modern/locales/esES.js +7 -0
  381. package/modern/locales/faIR.js +8 -1
  382. package/modern/locales/fiFI.js +7 -0
  383. package/modern/locales/frFR.js +7 -0
  384. package/modern/locales/heIL.js +8 -1
  385. package/modern/locales/huHU.js +8 -1
  386. package/modern/locales/itIT.js +7 -0
  387. package/modern/locales/jaJP.js +7 -0
  388. package/modern/locales/koKR.js +7 -0
  389. package/modern/locales/nlNL.js +7 -0
  390. package/modern/locales/plPL.js +8 -1
  391. package/modern/locales/ptBR.js +8 -1
  392. package/modern/locales/ruRU.js +7 -0
  393. package/modern/locales/skSK.js +7 -0
  394. package/modern/locales/trTR.js +8 -1
  395. package/modern/locales/ukUA.js +7 -0
  396. package/modern/locales/viVN.js +7 -0
  397. package/modern/locales/zhCN.js +7 -0
  398. package/modern/models/events/gridEvents.js +8 -0
  399. package/modern/models/index.js +4 -3
  400. package/modern/utils/createSelector.js +20 -2
  401. package/modern/utils/exportAs.js +1 -1
  402. package/node/DataGrid/DataGrid.js +35 -1
  403. package/node/DataGrid/useDataGridProps.js +2 -1
  404. package/node/colDef/gridActionsColDef.js +2 -1
  405. package/node/colDef/gridBooleanColDef.js +2 -1
  406. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  407. package/node/colDef/gridDateColDef.js +4 -2
  408. package/node/colDef/gridNumericColDef.js +2 -1
  409. package/node/colDef/gridNumericOperators.js +15 -1
  410. package/node/colDef/gridSingleSelectColDef.js +2 -1
  411. package/node/colDef/gridSingleSelectOperators.js +56 -1
  412. package/node/colDef/gridStringColDef.js +2 -1
  413. package/node/colDef/gridStringOperators.js +16 -1
  414. package/node/components/GridFooter.js +10 -1
  415. package/node/components/GridRow.js +9 -6
  416. package/node/components/GridRowCount.js +1 -0
  417. package/node/components/GridScrollArea.js +3 -5
  418. package/node/components/GridSelectedRowCount.js +2 -1
  419. package/node/components/base/GridBody.js +1 -3
  420. package/node/components/base/GridOverlays.js +2 -4
  421. package/node/components/cell/GridActionsCell.js +13 -4
  422. package/node/components/cell/GridCell.js +7 -7
  423. package/node/components/cell/GridEditBooleanCell.js +100 -5
  424. package/node/components/cell/GridEditDateCell.js +98 -4
  425. package/node/components/cell/GridEditInputCell.js +29 -5
  426. package/node/components/cell/GridEditSingleSelectCell.js +28 -6
  427. package/node/components/cell/index.js +26 -0
  428. package/node/components/columnHeaders/GridColumnHeaderItem.js +15 -17
  429. package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -4
  430. package/node/components/columnSelection/GridHeaderCheckbox.js +4 -6
  431. package/node/components/containers/GridFooterContainer.js +10 -1
  432. package/node/components/containers/GridRoot.js +24 -3
  433. package/node/components/containers/GridRootStyles.js +36 -1
  434. package/node/components/containers/GridToolbarContainer.js +11 -1
  435. package/node/components/menu/GridMenu.js +1 -0
  436. package/node/components/panel/GridPanelContent.js +11 -1
  437. package/node/components/panel/GridPanelFooter.js +11 -1
  438. package/node/components/panel/GridPanelHeader.js +11 -1
  439. package/node/components/toolbar/GridToolbar.js +32 -7
  440. package/node/components/toolbar/GridToolbarExport.js +14 -19
  441. package/node/components/toolbar/GridToolbarQuickFilter.js +109 -0
  442. package/node/components/toolbar/index.js +42 -11
  443. package/node/constants/defaultGridSlotsComponents.js +3 -1
  444. package/node/constants/gridClasses.js +1 -1
  445. package/node/constants/localeTextConstants.js +8 -1
  446. package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +10 -8
  447. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -8
  448. package/node/hooks/core/useGridApiInitialization.js +3 -4
  449. package/node/hooks/core/useGridErrorHandler.js +1 -3
  450. package/node/hooks/core/useGridStateInitialization.js +1 -3
  451. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -7
  452. package/node/hooks/features/columnMenu/useGridColumnMenu.js +3 -4
  453. package/node/hooks/features/columns/useGridColumnSpanning.js +1 -3
  454. package/node/hooks/features/columns/useGridColumns.js +8 -10
  455. package/node/hooks/features/dimensions/useGridDimensions.js +8 -10
  456. package/node/hooks/features/editRows/useGridCellEditing.new.js +133 -32
  457. package/node/hooks/features/editRows/useGridCellEditing.old.js +20 -22
  458. package/node/hooks/features/editRows/useGridEditing.old.js +4 -6
  459. package/node/hooks/features/editRows/useGridRowEditing.new.js +122 -43
  460. package/node/hooks/features/editRows/useGridRowEditing.old.js +21 -23
  461. package/node/hooks/features/events/useGridEvents.js +17 -19
  462. package/node/hooks/features/export/serializers/csvSerializer.js +5 -5
  463. package/node/hooks/features/export/useGridCsvExport.js +26 -17
  464. package/node/hooks/features/export/useGridPrintExport.js +25 -0
  465. package/node/hooks/features/export/utils.js +19 -2
  466. package/node/hooks/features/filter/gridFilterState.js +3 -1
  467. package/node/hooks/features/filter/gridFilterUtils.js +92 -3
  468. package/node/hooks/features/filter/useGridFilter.js +21 -9
  469. package/node/hooks/features/focus/useGridFocus.js +29 -34
  470. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +4 -6
  471. package/node/hooks/features/pagination/useGridPage.js +3 -5
  472. package/node/hooks/features/pagination/useGridPageSize.js +2 -4
  473. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -8
  474. package/node/hooks/features/rows/gridRowsSelector.js +3 -1
  475. package/node/hooks/features/rows/gridRowsUtils.js +95 -1
  476. package/node/hooks/features/rows/useGridRows.js +150 -126
  477. package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
  478. package/node/hooks/features/scroll/useGridScroll.js +6 -1
  479. package/node/hooks/features/selection/useGridSelection.js +13 -11
  480. package/node/hooks/features/sorting/useGridSorting.js +8 -10
  481. package/node/hooks/features/virtualization/useGridVirtualScroller.js +14 -6
  482. package/node/hooks/utils/useGridApiEventHandler.js +22 -10
  483. package/node/hooks/utils/useGridNativeEventListener.js +1 -3
  484. package/node/hooks/utils/useGridSelector.js +1 -1
  485. package/node/index.js +1 -1
  486. package/node/internals/index.js +39 -3
  487. package/node/locales/arSD.js +8 -1
  488. package/node/locales/bgBG.js +8 -1
  489. package/node/locales/csCZ.js +7 -0
  490. package/node/locales/daDK.js +8 -1
  491. package/node/locales/deDE.js +10 -3
  492. package/node/locales/elGR.js +7 -0
  493. package/node/locales/esES.js +7 -0
  494. package/node/locales/faIR.js +8 -1
  495. package/node/locales/fiFI.js +7 -0
  496. package/node/locales/frFR.js +7 -0
  497. package/node/locales/heIL.js +8 -1
  498. package/node/locales/huHU.js +8 -1
  499. package/node/locales/itIT.js +7 -0
  500. package/node/locales/jaJP.js +7 -0
  501. package/node/locales/koKR.js +7 -0
  502. package/node/locales/nlNL.js +7 -0
  503. package/node/locales/plPL.js +8 -1
  504. package/node/locales/ptBR.js +8 -1
  505. package/node/locales/ruRU.js +7 -0
  506. package/node/locales/skSK.js +7 -0
  507. package/node/locales/trTR.js +8 -1
  508. package/node/locales/ukUA.js +7 -0
  509. package/node/locales/viVN.js +7 -0
  510. package/node/locales/zhCN.js +7 -0
  511. package/node/models/events/gridEvents.js +8 -0
  512. package/node/models/index.js +0 -13
  513. package/node/utils/createSelector.js +25 -4
  514. package/node/utils/exportAs.js +1 -1
  515. package/package.json +3 -2
  516. package/utils/createSelector.d.ts +2 -1
  517. package/utils/createSelector.js +20 -2
  518. package/utils/exportAs.d.ts +2 -2
  519. package/utils/exportAs.js +1 -1
@@ -29,11 +29,16 @@ const nlNLGrid = {
29
29
  toolbarFiltersTooltipHide: 'Verberg filters',
30
30
  toolbarFiltersTooltipShow: 'Toon filters',
31
31
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} actieve filters` : `${count} filter actief`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: 'Exporteren',
34
38
  toolbarExportLabel: 'Exporteren',
35
39
  toolbarExportCSV: 'Exporteer naar CSV',
36
40
  toolbarExportPrint: 'Print',
41
+ // toolbarExportExcel: 'Download as Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: 'Zoek kolom',
39
44
  columnsPanelTextFieldPlaceholder: 'Kolomtitel',
@@ -112,6 +117,8 @@ const nlNLGrid = {
112
117
  unGroupColumn: name => `Stop groeperen op ${name}` // Master/detail
113
118
  // expandDetailPanel: 'Expand',
114
119
  // collapseDetailPanel: 'Collapse',
120
+ // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
115
122
 
116
123
  };
117
124
  const nlNL = (0, _getGridLocalization.getGridLocalization)(nlNLGrid, _locale.nlNL);
@@ -29,11 +29,16 @@ const plPLGrid = {
29
29
  toolbarFiltersTooltipHide: 'Ukryj filtry',
30
30
  toolbarFiltersTooltipShow: 'Pokaż filtry',
31
31
  toolbarFiltersTooltipActive: count => `Liczba aktywnych filtrów: ${count}`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: 'Eksportuj',
34
38
  toolbarExportLabel: 'Eksportuj',
35
39
  toolbarExportCSV: 'Pobierz jako plik CSV',
36
40
  toolbarExportPrint: 'Drukuj',
41
+ // toolbarExportExcel: 'Download as Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: 'Znajdź kolumnę',
39
44
  columnsPanelTextFieldPlaceholder: 'Tytuł kolumny',
@@ -112,7 +117,9 @@ const plPLGrid = {
112
117
  unGroupColumn: name => `Rozgrupuj ${name}`,
113
118
  // Master/detail
114
119
  expandDetailPanel: 'Rozwiń',
115
- collapseDetailPanel: 'Zwiń'
120
+ collapseDetailPanel: 'Zwiń' // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
122
+
116
123
  };
117
124
  const plPL = (0, _getGridLocalization.getGridLocalization)(plPLGrid, _locale.plPL);
118
125
  exports.plPL = plPL;
@@ -29,11 +29,16 @@ const ptBRGrid = {
29
29
  toolbarFiltersTooltipHide: 'Ocultar filtros',
30
30
  toolbarFiltersTooltipShow: 'Exibir filtros',
31
31
  toolbarFiltersTooltipActive: count => `${count} ${count !== 1 ? 'filtros' : 'filtro'} ${count !== 1 ? 'ativos' : 'ativo'}`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: 'Exportar',
34
38
  toolbarExportLabel: 'Exportar',
35
39
  toolbarExportCSV: 'Baixar como CSV',
36
40
  toolbarExportPrint: 'Print',
41
+ toolbarExportExcel: 'Baixar como Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: 'Localizar coluna',
39
44
  columnsPanelTextFieldPlaceholder: 'Título da coluna',
@@ -112,7 +117,9 @@ const ptBRGrid = {
112
117
  unGroupColumn: name => `Parar agrupamento por ${name}`,
113
118
  // Master/detail
114
119
  expandDetailPanel: 'Expandir',
115
- collapseDetailPanel: 'Esconder'
120
+ collapseDetailPanel: 'Esconder' // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
122
+
116
123
  };
117
124
  const ptBR = (0, _getGridLocalization.getGridLocalization)(ptBRGrid, _locale.ptBR);
118
125
  exports.ptBR = ptBR;
@@ -40,11 +40,16 @@ const ruRUGrid = {
40
40
 
41
41
  return `${count} ${pluralForm}`;
42
42
  },
43
+ // Quick filter toolbar field
44
+ toolbarQuickFilterPlaceholder: 'Поиск...',
45
+ toolbarQuickFilterLabel: 'Поиск',
46
+ toolbarQuickFilterDeleteIconLabel: 'Очистить',
43
47
  // Export selector toolbar button text
44
48
  toolbarExport: 'Экспорт',
45
49
  toolbarExportLabel: 'Экспорт',
46
50
  toolbarExportCSV: 'Скачать в формате CSV',
47
51
  toolbarExportPrint: 'Печать',
52
+ // toolbarExportExcel: 'Download as Excel',
48
53
  // Columns panel text
49
54
  columnsPanelTextFieldLabel: 'Найти столбец',
50
55
  columnsPanelTextFieldPlaceholder: 'Заголовок столбца',
@@ -145,6 +150,8 @@ const ruRUGrid = {
145
150
  unGroupColumn: name => `Разгруппировать по ${name}` // Master/detail
146
151
  // expandDetailPanel: 'Expand',
147
152
  // collapseDetailPanel: 'Collapse',
153
+ // Row reordering text
154
+ // rowReorderingHeaderName: 'Row reordering',
148
155
 
149
156
  };
150
157
  const ruRU = (0, _getGridLocalization.getGridLocalization)(ruRUGrid, _locale.ruRU);
@@ -39,11 +39,16 @@ const skSKGrid = {
39
39
 
40
40
  return `${count} ${pluralForm}`;
41
41
  },
42
+ // Quick filter toolbar field
43
+ // toolbarQuickFilterPlaceholder: 'Search...',
44
+ // toolbarQuickFilterLabel: 'Search',
45
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
42
46
  // Export selector toolbar button text
43
47
  toolbarExport: 'Export',
44
48
  toolbarExportLabel: 'Export',
45
49
  toolbarExportCSV: 'Stiahnuť ako CSV',
46
50
  toolbarExportPrint: 'Vytlačiť',
51
+ // toolbarExportExcel: 'Download as Excel',
47
52
  // Columns panel text
48
53
  columnsPanelTextFieldLabel: 'Nájsť stĺpec',
49
54
  columnsPanelTextFieldPlaceholder: 'Názov stĺpca',
@@ -147,6 +152,8 @@ const skSKGrid = {
147
152
  unGroupColumn: name => `Prestať zoskupovať podľa ${name}` // Master/detail
148
153
  // expandDetailPanel: 'Expand',
149
154
  // collapseDetailPanel: 'Collapse',
155
+ // Row reordering text
156
+ // rowReorderingHeaderName: 'Row reordering',
150
157
 
151
158
  };
152
159
  const skSK = (0, _getGridLocalization.getGridLocalization)(skSKGrid, _locale.skSK);
@@ -29,11 +29,16 @@ const trTRGrid = {
29
29
  toolbarFiltersTooltipHide: 'Filtreleri gizle',
30
30
  toolbarFiltersTooltipShow: 'Filtreleri göster',
31
31
  toolbarFiltersTooltipActive: count => `${count} aktif filtre`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: 'Dışa aktar',
34
38
  toolbarExportLabel: 'Dışa aktar',
35
39
  toolbarExportCSV: 'CSV olarak aktar',
36
40
  toolbarExportPrint: 'Yazdır',
41
+ // toolbarExportExcel: 'Download as Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: 'Sütun ara',
39
44
  columnsPanelTextFieldPlaceholder: 'Sütun adı',
@@ -112,7 +117,9 @@ const trTRGrid = {
112
117
  unGroupColumn: name => `${name} için gruplamayı kaldır`,
113
118
  // Master/detail
114
119
  expandDetailPanel: 'Genişlet',
115
- collapseDetailPanel: 'Gizle'
120
+ collapseDetailPanel: 'Gizle' // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
122
+
116
123
  };
117
124
  const trTR = (0, _getGridLocalization.getGridLocalization)(trTRGrid, _locale.trTR);
118
125
  exports.trTR = trTR;
@@ -46,11 +46,16 @@ const ukUAGrid = {
46
46
  few: 'активні фільтри',
47
47
  many: 'активних фільтрів'
48
48
  }),
49
+ // Quick filter toolbar field
50
+ // toolbarQuickFilterPlaceholder: 'Search...',
51
+ // toolbarQuickFilterLabel: 'Search',
52
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
49
53
  // Export selector toolbar button text
50
54
  toolbarExport: 'Експорт',
51
55
  toolbarExportLabel: 'Експорт',
52
56
  toolbarExportCSV: 'Завантажити у форматі CSV',
53
57
  toolbarExportPrint: 'Друк',
58
+ // toolbarExportExcel: 'Download as Excel',
54
59
  // Columns panel text
55
60
  columnsPanelTextFieldLabel: 'Знайти стовпець',
56
61
  columnsPanelTextFieldPlaceholder: 'Заголовок стовпця',
@@ -137,6 +142,8 @@ const ukUAGrid = {
137
142
  // Master/detail
138
143
  // expandDetailPanel: 'Expand',
139
144
  // collapseDetailPanel: 'Collapse',
145
+ // Row reordering text
146
+ // rowReorderingHeaderName: 'Row reordering',
140
147
 
141
148
  };
142
149
  const ukUA = (0, _getGridLocalization.getGridLocalization)(ukUAGrid, _locale.ukUA);
@@ -29,11 +29,16 @@ const viVNGrid = {
29
29
  toolbarFiltersTooltipHide: 'Ẩn',
30
30
  toolbarFiltersTooltipShow: 'Hiện',
31
31
  toolbarFiltersTooltipActive: count => count > 1 ? `${count} bộ lọc hoạt động` : `${count} bộ lọc hoạt động`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: 'Xuất',
34
38
  toolbarExportLabel: 'Xuất',
35
39
  toolbarExportCSV: 'Xuất CSV',
36
40
  toolbarExportPrint: 'In',
41
+ // toolbarExportExcel: 'Download as Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: 'Tìm kiếm',
39
44
  columnsPanelTextFieldPlaceholder: 'Tiêu đề cột',
@@ -112,6 +117,8 @@ const viVNGrid = {
112
117
  // Master/detail
113
118
  // expandDetailPanel: 'Expand',
114
119
  // collapseDetailPanel: 'Collapse',
120
+ // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
115
122
 
116
123
  };
117
124
  const viVN = (0, _getGridLocalization.getGridLocalization)(viVNGrid, _locale.viVN);
@@ -29,11 +29,16 @@ const zhCNGrid = {
29
29
  toolbarFiltersTooltipHide: '隐藏筛选器',
30
30
  toolbarFiltersTooltipShow: '显示筛选器',
31
31
  toolbarFiltersTooltipActive: count => `${count} 个筛选器`,
32
+ // Quick filter toolbar field
33
+ // toolbarQuickFilterPlaceholder: 'Search...',
34
+ // toolbarQuickFilterLabel: 'Search',
35
+ // toolbarQuickFilterDeleteIconLabel: 'Clear',
32
36
  // Export selector toolbar button text
33
37
  toolbarExport: '导出',
34
38
  toolbarExportLabel: '导出',
35
39
  toolbarExportCSV: '导出至CSV',
36
40
  // toolbarExportPrint: 'Print',
41
+ // toolbarExportExcel: 'Download as Excel',
37
42
  // Columns panel text
38
43
  columnsPanelTextFieldLabel: '搜索列',
39
44
  columnsPanelTextFieldPlaceholder: '列名',
@@ -112,6 +117,8 @@ const zhCNGrid = {
112
117
  // Master/detail
113
118
  // expandDetailPanel: 'Expand',
114
119
  // collapseDetailPanel: 'Collapse',
120
+ // Row reordering text
121
+ // rowReorderingHeaderName: 'Row reordering',
115
122
 
116
123
  };
117
124
  const zhCN = (0, _getGridLocalization.getGridLocalization)(zhCNGrid, _locale.zhCN);
@@ -27,6 +27,8 @@ exports.GridEvents = GridEvents;
27
27
  GridEvents["cellEditCommit"] = "cellEditCommit";
28
28
  GridEvents["cellEditStart"] = "cellEditStart";
29
29
  GridEvents["cellEditStop"] = "cellEditStop";
30
+ GridEvents["cellModesModelChange"] = "cellModesModelChange";
31
+ GridEvents["rowModesModelChange"] = "rowModesModelChange";
30
32
  GridEvents["rowEditStart"] = "rowEditStart";
31
33
  GridEvents["rowEditStop"] = "rowEditStop";
32
34
  GridEvents["rowEditCommit"] = "rowEditCommit";
@@ -36,6 +38,9 @@ exports.GridEvents = GridEvents;
36
38
  GridEvents["rowMouseEnter"] = "rowMouseEnter";
37
39
  GridEvents["rowMouseLeave"] = "rowMouseLeave";
38
40
  GridEvents["editRowsModelChange"] = "editRowsModelChange";
41
+ GridEvents["rowDragStart"] = "rowDragStart";
42
+ GridEvents["rowDragOver"] = "rowDragOver";
43
+ GridEvents["rowDragEnd"] = "rowDragEnd";
39
44
  GridEvents["columnHeaderBlur"] = "columnHeaderBlur";
40
45
  GridEvents["columnHeaderFocus"] = "columnHeaderFocus";
41
46
  GridEvents["columnHeaderNavigationKeyDown"] = "columnHeaderNavigationKeyDown";
@@ -64,6 +69,7 @@ exports.GridEvents = GridEvents;
64
69
  GridEvents["columnResizeStart"] = "columnResizeStart";
65
70
  GridEvents["columnResizeStop"] = "columnResizeStop";
66
71
  GridEvents["columnOrderChange"] = "columnOrderChange";
72
+ GridEvents["rowOrderChange"] = "rowOrderChange";
67
73
  GridEvents["rowsSet"] = "rowsSet";
68
74
  GridEvents["rowExpansionChange"] = "rowExpansionChange";
69
75
  GridEvents["sortedRowsSet"] = "sortedRowsSet";
@@ -79,6 +85,8 @@ exports.GridEvents = GridEvents;
79
85
  GridEvents["stateChange"] = "stateChange";
80
86
  GridEvents["columnVisibilityChange"] = "columnVisibilityChange";
81
87
  GridEvents["virtualScrollerContentSizeChange"] = "virtualScrollerContentSizeChange";
88
+ GridEvents["virtualScrollerWheel"] = "virtualScrollerWheel";
89
+ GridEvents["virtualScrollerTouchMove"] = "virtualScrollerTouchMove";
82
90
  GridEvents["preferencePanelClose"] = "preferencePanelClose";
83
91
  GridEvents["preferencePanelOpen"] = "preferencePanelOpen";
84
92
  })(GridEvents || (exports.GridEvents = GridEvents = {}));
@@ -264,19 +264,6 @@ Object.keys(_gridDensity).forEach(function (key) {
264
264
  });
265
265
  });
266
266
 
267
- var _gridExport = require("./gridExport");
268
-
269
- Object.keys(_gridExport).forEach(function (key) {
270
- if (key === "default" || key === "__esModule") return;
271
- if (key in exports && exports[key] === _gridExport[key]) return;
272
- Object.defineProperty(exports, key, {
273
- enumerable: true,
274
- get: function () {
275
- return _gridExport[key];
276
- }
277
- });
278
- });
279
-
280
267
  var _logger = require("./logger");
281
268
 
282
269
  Object.keys(_logger).forEach(function (key) {
@@ -3,16 +3,22 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.createSelector = void 0;
6
+ exports.unstable_resetCreateSelectorCache = exports.createSelector = void 0;
7
7
 
8
8
  var _reselect = require("reselect");
9
9
 
10
10
  var _warning = require("./warning");
11
11
 
12
- const cache = {};
12
+ const cacheContainer = {
13
+ cache: null
14
+ };
13
15
  const missingInstanceIdWarning = (0, _warning.buildWarning)(['MUI: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g `mySelector(state, apiRef.current.instanceId)`.']);
14
16
 
15
17
  const createSelector = (...args) => {
18
+ if (cacheContainer.cache === null) {
19
+ cacheContainer.cache = {};
20
+ }
21
+
16
22
  const selector = (...selectorArgs) => {
17
23
  const [stateOrApiRef, instanceId] = selectorArgs;
18
24
  const isApiRef = !!stateOrApiRef.current;
@@ -25,6 +31,14 @@ const createSelector = (...args) => {
25
31
  }
26
32
  }
27
33
 
34
+ if (cacheContainer.cache === null) {
35
+ cacheContainer.cache = {};
36
+ }
37
+
38
+ const {
39
+ cache
40
+ } = cacheContainer;
41
+
28
42
  if (cache[cacheKey] && cache[cacheKey].get(args)) {
29
43
  // We pass the cache key because the called selector might have as
30
44
  // dependency another selector created with this `createSelector`.
@@ -43,8 +57,15 @@ const createSelector = (...args) => {
43
57
  // or it's only a simple function the receives the state and returns part of it.
44
58
 
45
59
 
46
- selector.cache = cache;
60
+ selector.acceptsApiRef = true;
47
61
  return selector;
62
+ }; // eslint-disable-next-line @typescript-eslint/naming-convention
63
+
64
+
65
+ exports.createSelector = createSelector;
66
+
67
+ const unstable_resetCreateSelectorCache = () => {
68
+ cacheContainer.cache = null;
48
69
  };
49
70
 
50
- exports.createSelector = createSelector;
71
+ exports.unstable_resetCreateSelectorCache = unstable_resetCreateSelectorCache;
@@ -15,7 +15,7 @@ exports.exportAs = exportAs;
15
15
  * https://unpkg.com/browse/@progress/kendo-file-saver@1.0.7/dist/es/save-as.js
16
16
  * https://github.com/ag-grid/ag-grid/blob/9565c219b6210aa85fa833c929d0728f9d163a91/community-modules/csv-export/src/csvExport/downloader.ts
17
17
  */
18
- function exportAs(blob, extension = 'csv', filename = document.title) {
18
+ function exportAs(blob, extension = 'csv', filename = document.title || 'untitled') {
19
19
  const fullName = `${filename}.${extension}`; // Test download attribute first
20
20
  // https://github.com/eligrey/FileSaver.js/issues/193
21
21
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "5.9.0",
3
+ "version": "5.11.1",
4
4
  "description": "The community edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -35,7 +35,8 @@
35
35
  "directory": "packages/grid/x-data-grid"
36
36
  },
37
37
  "dependencies": {
38
- "@mui/utils": "^5.6.0",
38
+ "@babel/runtime": "^7.17.2",
39
+ "@mui/utils": "^5.7.0",
39
40
  "clsx": "^1.1.1",
40
41
  "prop-types": "^15.8.1",
41
42
  "reselect": "^4.1.5"
@@ -6,7 +6,7 @@ export interface OutputSelector<State, Result> {
6
6
  instanceId: number;
7
7
  }>): Result;
8
8
  (state: State, instanceId?: number): Result;
9
- cache: object;
9
+ acceptsApiRef: boolean;
10
10
  }
11
11
  declare type StateFromSelector<T> = T extends (first: infer F, ...args: any[]) => any ? F extends {
12
12
  state: infer F2;
@@ -18,4 +18,5 @@ declare type StateFromSelectorList<Selectors extends readonly any[]> = Selectors
18
18
  declare type SelectorArgs<Selectors extends ReadonlyArray<Selector<any>>, Result> = [selectors: [...Selectors], combiner: (...args: SelectorResultArray<Selectors>) => Result] | [...Selectors, (...args: SelectorResultArray<Selectors>) => Result];
19
19
  declare type CreateSelectorFunction = <Selectors extends ReadonlyArray<Selector<any>>, Result>(...items: SelectorArgs<Selectors, Result>) => OutputSelector<StateFromSelectorList<Selectors>, Result>;
20
20
  export declare const createSelector: CreateSelectorFunction;
21
+ export declare const unstable_resetCreateSelectorCache: () => void;
21
22
  export {};
@@ -1,8 +1,14 @@
1
1
  import { createSelector as reselectCreateSelector } from 'reselect';
2
2
  import { buildWarning } from './warning';
3
- const cache = {};
3
+ const cacheContainer = {
4
+ cache: null
5
+ };
4
6
  const missingInstanceIdWarning = buildWarning(['MUI: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g `mySelector(state, apiRef.current.instanceId)`.']);
5
7
  export const createSelector = (...args) => {
8
+ if (cacheContainer.cache === null) {
9
+ cacheContainer.cache = {};
10
+ }
11
+
6
12
  const selector = (...selectorArgs) => {
7
13
  const [stateOrApiRef, instanceId] = selectorArgs;
8
14
  const isApiRef = !!stateOrApiRef.current;
@@ -15,6 +21,14 @@ export const createSelector = (...args) => {
15
21
  }
16
22
  }
17
23
 
24
+ if (cacheContainer.cache === null) {
25
+ cacheContainer.cache = {};
26
+ }
27
+
28
+ const {
29
+ cache
30
+ } = cacheContainer;
31
+
18
32
  if (cache[cacheKey] && cache[cacheKey].get(args)) {
19
33
  // We pass the cache key because the called selector might have as
20
34
  // dependency another selector created with this `createSelector`.
@@ -33,6 +47,10 @@ export const createSelector = (...args) => {
33
47
  // or it's only a simple function the receives the state and returns part of it.
34
48
 
35
49
 
36
- selector.cache = cache;
50
+ selector.acceptsApiRef = true;
37
51
  return selector;
52
+ }; // eslint-disable-next-line @typescript-eslint/naming-convention
53
+
54
+ export const unstable_resetCreateSelectorCache = () => {
55
+ cacheContainer.cache = null;
38
56
  };
@@ -1,4 +1,4 @@
1
- import { GridExportFormat } from '../models/gridExport';
1
+ import { GridExportExtension } from '../models/gridExport';
2
2
  /**
3
3
  * I have hesitated to use https://github.com/eligrey/FileSaver.js.
4
4
  * If we get bug reports that this project solves, we should consider using it.
@@ -9,4 +9,4 @@ import { GridExportFormat } from '../models/gridExport';
9
9
  * https://unpkg.com/browse/@progress/kendo-file-saver@1.0.7/dist/es/save-as.js
10
10
  * https://github.com/ag-grid/ag-grid/blob/9565c219b6210aa85fa833c929d0728f9d163a91/community-modules/csv-export/src/csvExport/downloader.ts
11
11
  */
12
- export declare function exportAs(blob: Blob, extension?: GridExportFormat, filename?: string): void;
12
+ export declare function exportAs<ExtraExtensions extends string>(blob: Blob, extension?: GridExportExtension | ExtraExtensions, filename?: string): void;
package/utils/exportAs.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * https://unpkg.com/browse/@progress/kendo-file-saver@1.0.7/dist/es/save-as.js
9
9
  * https://github.com/ag-grid/ag-grid/blob/9565c219b6210aa85fa833c929d0728f9d163a91/community-modules/csv-export/src/csvExport/downloader.ts
10
10
  */
11
- export function exportAs(blob, extension = 'csv', filename = document.title) {
11
+ export function exportAs(blob, extension = 'csv', filename = document.title || 'untitled') {
12
12
  const fullName = `${filename}.${extension}`; // Test download attribute first
13
13
  // https://github.com/eligrey/FileSaver.js/issues/193
14
14