@mui/x-data-grid 8.0.0-alpha.1 → 8.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (762) hide show
  1. package/CHANGELOG.md +1903 -231
  2. package/DataGrid/DataGrid.js +20 -38
  3. package/DataGrid/useDataGridComponent.d.ts +2 -1
  4. package/DataGrid/useDataGridComponent.js +1 -1
  5. package/DataGrid/useDataGridProps.js +3 -3
  6. package/README.md +1 -1
  7. package/colDef/gridDateOperators.d.ts +2 -1
  8. package/colDef/gridNumericOperators.d.ts +4 -1
  9. package/components/GridApiContext.js +2 -0
  10. package/components/GridColumnHeaders.d.ts +1 -1
  11. package/components/GridColumnHeaders.js +4 -4
  12. package/components/GridConfigurationContext.js +2 -0
  13. package/components/GridFooter.d.ts +2 -1
  14. package/components/GridFooter.js +4 -4
  15. package/components/GridHeaders.js +2 -2
  16. package/components/GridLoadingOverlay.d.ts +1 -1
  17. package/components/GridLoadingOverlay.js +10 -8
  18. package/components/GridNoResultsOverlay.d.ts +2 -1
  19. package/components/GridNoResultsOverlay.js +4 -4
  20. package/components/GridNoRowsOverlay.d.ts +2 -1
  21. package/components/GridNoRowsOverlay.js +4 -4
  22. package/components/GridPagination.d.ts +1 -1
  23. package/components/GridPagination.js +7 -4
  24. package/components/GridRow.d.ts +6 -11
  25. package/components/GridRow.js +55 -87
  26. package/components/GridRowCount.d.ts +1 -1
  27. package/components/GridRowCount.js +3 -2
  28. package/components/GridScrollArea.js +2 -0
  29. package/components/GridSelectedRowCount.d.ts +4 -1
  30. package/components/GridSelectedRowCount.js +3 -2
  31. package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
  32. package/components/GridSkeletonLoadingOverlay.js +22 -21
  33. package/components/base/GridOverlays.d.ts +4 -3
  34. package/components/base/GridOverlays.js +2 -24
  35. package/components/base/index.d.ts +0 -1
  36. package/components/base/index.js +1 -2
  37. package/components/cell/GridActionsCell.js +8 -1
  38. package/components/cell/GridActionsCellItem.d.ts +17 -10
  39. package/components/cell/GridActionsCellItem.js +9 -8
  40. package/components/cell/GridCell.d.ts +19 -23
  41. package/components/cell/GridCell.js +49 -92
  42. package/components/cell/GridEditDateCell.js +1 -1
  43. package/components/cell/GridEditInputCell.d.ts +1 -1
  44. package/components/cell/GridEditInputCell.js +73 -4
  45. package/components/cell/GridEditSingleSelectCell.js +2 -2
  46. package/components/cell/GridSkeletonCell.js +1 -2
  47. package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
  48. package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
  49. package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  50. package/components/columnHeaders/GridColumnGroupHeader.d.ts +5 -5
  51. package/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  52. package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +3 -3
  53. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -7
  54. package/components/columnHeaders/GridColumnHeaderItem.d.ts +5 -5
  55. package/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  56. package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  57. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
  58. package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  59. package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
  60. package/components/columnHeaders/GridIconButtonContainer.js +5 -3
  61. package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
  62. package/components/columnSelection/GridCellCheckboxRenderer.js +11 -9
  63. package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
  64. package/components/columnSelection/GridHeaderCheckbox.js +17 -9
  65. package/components/columnsManagement/GridColumnsManagement.d.ts +1 -1
  66. package/components/columnsManagement/GridColumnsManagement.js +50 -27
  67. package/components/containers/GridFooterContainer.d.ts +1 -1
  68. package/components/containers/GridFooterContainer.js +5 -3
  69. package/components/containers/GridOverlay.d.ts +1 -1
  70. package/components/containers/GridOverlay.js +5 -3
  71. package/components/containers/GridRoot.d.ts +2 -2
  72. package/components/containers/GridRoot.js +18 -8
  73. package/components/containers/GridRootStyles.js +160 -50
  74. package/components/containers/GridToolbarContainer.d.ts +1 -1
  75. package/components/containers/GridToolbarContainer.js +3 -2
  76. package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
  77. package/components/menu/columnMenu/GridColumnMenu.js +5 -5
  78. package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
  79. package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  80. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  81. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  82. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  83. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  84. package/components/panel/GridColumnsPanel.js +1 -2
  85. package/components/panel/GridPanel.d.ts +2 -2
  86. package/components/panel/GridPanel.js +5 -3
  87. package/components/panel/GridPanelContent.js +7 -3
  88. package/components/panel/GridPanelFooter.d.ts +1 -1
  89. package/components/panel/GridPanelFooter.js +4 -3
  90. package/components/panel/GridPanelWrapper.d.ts +1 -1
  91. package/components/panel/GridPanelWrapper.js +5 -3
  92. package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
  93. package/components/panel/filterPanel/GridFilterForm.js +22 -18
  94. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +4 -11
  95. package/components/panel/filterPanel/GridFilterInputBoolean.js +41 -31
  96. package/components/panel/filterPanel/GridFilterInputDate.d.ts +3 -9
  97. package/components/panel/filterPanel/GridFilterInputDate.js +50 -31
  98. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +3 -3
  99. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +49 -24
  100. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +3 -3
  101. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +55 -33
  102. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +3 -9
  103. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +34 -25
  104. package/components/panel/filterPanel/GridFilterInputValue.d.ts +3 -9
  105. package/components/panel/filterPanel/GridFilterInputValue.js +63 -38
  106. package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
  107. package/components/panel/filterPanel/GridFilterPanel.js +4 -4
  108. package/components/panel/filterPanel/index.d.ts +2 -2
  109. package/components/panel/filterPanel/index.js +1 -2
  110. package/components/toolbar/GridToolbar.d.ts +1 -1
  111. package/components/toolbar/GridToolbar.js +11 -5
  112. package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
  113. package/components/toolbar/GridToolbarColumnsButton.js +12 -6
  114. package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
  115. package/components/toolbar/GridToolbarDensitySelector.js +9 -11
  116. package/components/toolbar/GridToolbarExport.d.ts +1 -1
  117. package/components/toolbar/GridToolbarExport.js +2 -1
  118. package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
  119. package/components/toolbar/GridToolbarExportContainer.js +6 -6
  120. package/components/toolbar/GridToolbarFilterButton.d.ts +3 -1
  121. package/components/toolbar/GridToolbarFilterButton.js +20 -9
  122. package/components/toolbar/GridToolbarQuickFilter.d.ts +6 -2
  123. package/components/toolbar/GridToolbarQuickFilter.js +39 -31
  124. package/components/virtualization/GridMainContainer.d.ts +13 -1
  125. package/components/virtualization/GridMainContainer.js +14 -5
  126. package/components/virtualization/GridVirtualScrollbar.d.ts +5 -1
  127. package/components/virtualization/GridVirtualScrollbar.js +17 -17
  128. package/components/virtualization/GridVirtualScroller.js +27 -12
  129. package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
  130. package/components/virtualization/GridVirtualScrollerContent.js +15 -6
  131. package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
  132. package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  133. package/constants/dataGridPropsDefaultValues.js +2 -4
  134. package/constants/gridClasses.d.ts +12 -12
  135. package/constants/gridClasses.js +1 -1
  136. package/constants/localeTextConstants.js +1 -1
  137. package/context/GridContextProvider.d.ts +2 -1
  138. package/context/GridRootPropsContext.js +2 -0
  139. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +9 -2
  140. package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +2 -2
  141. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +2 -2
  142. package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  143. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +2 -2
  144. package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  145. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +25 -9
  146. package/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +5 -1
  147. package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +2 -2
  148. package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +5 -8
  149. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +7 -8
  150. package/hooks/core/useGridApiInitialization.d.ts +2 -2
  151. package/hooks/core/useGridApiInitialization.js +2 -2
  152. package/hooks/core/useGridInitialization.d.ts +2 -2
  153. package/hooks/core/useGridIsRtl.d.ts +2 -2
  154. package/hooks/core/useGridLocaleText.d.ts +2 -2
  155. package/hooks/core/useGridLoggerFactory.d.ts +2 -2
  156. package/hooks/core/useGridRefs.d.ts +2 -2
  157. package/hooks/core/useGridStateInitialization.d.ts +2 -2
  158. package/hooks/core/useGridStateInitialization.js +3 -3
  159. package/hooks/features/clipboard/useGridClipboard.d.ts +2 -2
  160. package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +4 -4
  161. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +2 -2
  162. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -7
  163. package/hooks/features/columnHeaders/useGridColumnHeaders.js +33 -68
  164. package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -2
  165. package/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  166. package/hooks/features/columnResize/columnResizeSelector.d.ts +1 -1
  167. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
  168. package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  169. package/hooks/features/columnResize/useGridColumnResize.d.ts +2 -2
  170. package/hooks/features/columnResize/useGridColumnResize.js +17 -10
  171. package/hooks/features/columns/gridColumnsSelector.d.ts +12 -12
  172. package/hooks/features/columns/gridColumnsUtils.d.ts +4 -4
  173. package/hooks/features/columns/gridColumnsUtils.js +2 -1
  174. package/hooks/features/columns/useGridColumnSpanning.d.ts +2 -2
  175. package/hooks/features/columns/useGridColumns.d.ts +2 -2
  176. package/hooks/features/columns/useGridColumns.js +7 -3
  177. package/hooks/features/density/densitySelector.d.ts +1 -1
  178. package/hooks/features/density/useGridDensity.d.ts +2 -2
  179. package/hooks/features/dimensions/gridDimensionsApi.d.ts +0 -4
  180. package/hooks/features/dimensions/useGridDimensions.d.ts +2 -2
  181. package/hooks/features/dimensions/useGridDimensions.js +11 -32
  182. package/hooks/features/editing/gridEditingSelectors.d.ts +6 -0
  183. package/hooks/features/editing/gridEditingSelectors.js +7 -1
  184. package/hooks/features/editing/useGridCellEditing.d.ts +2 -2
  185. package/hooks/features/editing/useGridCellEditing.js +4 -4
  186. package/hooks/features/editing/useGridEditing.d.ts +2 -2
  187. package/hooks/features/editing/useGridRowEditing.d.ts +2 -2
  188. package/hooks/features/editing/useGridRowEditing.js +7 -8
  189. package/hooks/features/events/useGridEvents.d.ts +2 -2
  190. package/hooks/features/export/serializers/csvSerializer.d.ts +2 -1
  191. package/hooks/features/export/useGridCsvExport.d.ts +2 -2
  192. package/hooks/features/export/useGridPrintExport.d.ts +2 -2
  193. package/hooks/features/export/useGridPrintExport.js +1 -1
  194. package/hooks/features/export/utils.d.ts +2 -2
  195. package/hooks/features/filter/gridFilterSelector.d.ts +17 -17
  196. package/hooks/features/filter/gridFilterSelector.js +6 -1
  197. package/hooks/features/filter/gridFilterUtils.d.ts +7 -7
  198. package/hooks/features/filter/gridFilterUtils.js +3 -3
  199. package/hooks/features/filter/useGridFilter.d.ts +2 -2
  200. package/hooks/features/filter/useGridFilter.js +1 -1
  201. package/hooks/features/focus/gridFocusStateSelector.d.ts +8 -8
  202. package/hooks/features/focus/useGridFocus.d.ts +2 -2
  203. package/hooks/features/focus/useGridFocus.js +3 -2
  204. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +3 -3
  205. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
  206. package/hooks/features/index.d.ts +1 -0
  207. package/hooks/features/index.js +1 -0
  208. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
  209. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -16
  210. package/hooks/features/keyboardNavigation/utils.d.ts +3 -4
  211. package/hooks/features/keyboardNavigation/utils.js +0 -5
  212. package/hooks/features/listView/gridListViewSelectors.d.ts +3 -1
  213. package/hooks/features/listView/gridListViewSelectors.js +3 -1
  214. package/hooks/features/listView/index.d.ts +1 -0
  215. package/hooks/features/listView/index.js +1 -0
  216. package/hooks/features/listView/useGridListView.d.ts +2 -2
  217. package/hooks/features/listView/useGridListView.js +2 -1
  218. package/hooks/features/overlays/useGridOverlays.d.ts +7 -4
  219. package/hooks/features/overlays/useGridOverlays.js +22 -2
  220. package/hooks/features/pagination/gridPaginationInterfaces.d.ts +3 -0
  221. package/hooks/features/pagination/gridPaginationSelector.d.ts +34 -9
  222. package/hooks/features/pagination/gridPaginationSelector.js +39 -1
  223. package/hooks/features/pagination/useGridPagination.d.ts +3 -3
  224. package/hooks/features/pagination/useGridPagination.js +5 -3
  225. package/hooks/features/pagination/useGridPaginationMeta.d.ts +2 -2
  226. package/hooks/features/pagination/useGridPaginationModel.d.ts +2 -2
  227. package/hooks/features/pagination/useGridPaginationModel.js +23 -1
  228. package/hooks/features/pagination/useGridRowCount.d.ts +2 -2
  229. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +1 -0
  230. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  231. package/hooks/features/preferencesPanel/index.d.ts +1 -1
  232. package/hooks/features/preferencesPanel/index.js +1 -1
  233. package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +2 -2
  234. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  235. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  236. package/hooks/features/rowSelection/useGridRowSelection.d.ts +2 -2
  237. package/hooks/features/rowSelection/useGridRowSelection.js +8 -16
  238. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +2 -2
  239. package/hooks/features/rowSelection/utils.d.ts +4 -3
  240. package/hooks/features/rowSelection/utils.js +2 -2
  241. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +3 -3
  242. package/hooks/features/rows/gridRowSpanningUtils.d.ts +2 -2
  243. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -8
  244. package/hooks/features/rows/gridRowsSelector.d.ts +23 -13
  245. package/hooks/features/rows/gridRowsSelector.js +1 -2
  246. package/hooks/features/rows/gridRowsUtils.d.ts +4 -4
  247. package/hooks/features/rows/gridRowsUtils.js +0 -9
  248. package/hooks/features/rows/index.d.ts +1 -1
  249. package/hooks/features/rows/index.js +1 -1
  250. package/hooks/features/rows/useGridParamsApi.d.ts +2 -2
  251. package/hooks/features/rows/useGridParamsApi.js +33 -14
  252. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -2
  253. package/hooks/features/rows/useGridRowSpanning.js +97 -86
  254. package/hooks/features/rows/useGridRows.d.ts +2 -2
  255. package/hooks/features/rows/useGridRows.js +23 -27
  256. package/hooks/features/rows/useGridRowsMeta.d.ts +2 -2
  257. package/hooks/features/rows/useGridRowsMeta.js +3 -2
  258. package/hooks/features/rows/useGridRowsPreProcessors.d.ts +2 -2
  259. package/hooks/features/scroll/useGridScroll.d.ts +2 -2
  260. package/hooks/features/sorting/gridSortingSelector.d.ts +10 -5
  261. package/hooks/features/sorting/gridSortingSelector.js +11 -0
  262. package/hooks/features/sorting/gridSortingUtils.d.ts +3 -3
  263. package/hooks/features/sorting/gridSortingUtils.js +2 -2
  264. package/hooks/features/sorting/index.d.ts +2 -1
  265. package/hooks/features/sorting/index.js +1 -1
  266. package/hooks/features/sorting/useGridSorting.d.ts +2 -2
  267. package/hooks/features/sorting/useGridSorting.js +1 -1
  268. package/hooks/features/statePersistence/useGridStatePersistence.d.ts +2 -2
  269. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +6 -0
  270. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +33 -0
  271. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +5 -5
  272. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +15 -6
  273. package/hooks/features/virtualization/useGridVirtualScroller.js +169 -94
  274. package/hooks/features/virtualization/useGridVirtualization.d.ts +2 -2
  275. package/hooks/utils/useGridApiContext.d.ts +2 -2
  276. package/hooks/utils/useGridApiEventHandler.d.ts +4 -4
  277. package/hooks/utils/useGridApiEventHandler.js +1 -1
  278. package/hooks/utils/useGridApiMethod.d.ts +2 -2
  279. package/hooks/utils/useGridApiRef.d.ts +2 -2
  280. package/hooks/utils/useGridApiRef.js +1 -1
  281. package/hooks/utils/useGridInitializeState.d.ts +3 -3
  282. package/hooks/utils/useGridLogger.d.ts +2 -2
  283. package/hooks/utils/useGridNativeEventListener.d.ts +2 -1
  284. package/hooks/utils/useGridPrivateApiContext.d.ts +2 -1
  285. package/hooks/utils/useGridSelector.d.ts +5 -7
  286. package/hooks/utils/useGridSelector.js +6 -44
  287. package/hooks/utils/useGridVisibleRows.d.ts +8 -6
  288. package/hooks/utils/useGridVisibleRows.js +5 -28
  289. package/index.js +1 -1
  290. package/internals/constants.d.ts +6 -0
  291. package/internals/constants.js +8 -1
  292. package/internals/index.d.ts +6 -4
  293. package/internals/index.js +4 -3
  294. package/internals/utils/attachPinnedStyle.d.ts +2 -0
  295. package/internals/utils/attachPinnedStyle.js +9 -0
  296. package/internals/utils/getPinnedCellOffset.d.ts +3 -3
  297. package/internals/utils/getPinnedCellOffset.js +6 -7
  298. package/internals/utils/index.d.ts +1 -1
  299. package/internals/utils/index.js +2 -2
  300. package/locales/arSD.js +2 -1
  301. package/locales/beBY.js +1 -1
  302. package/locales/bgBG.js +2 -1
  303. package/locales/csCZ.js +2 -1
  304. package/locales/daDK.js +2 -1
  305. package/locales/deDE.js +12 -13
  306. package/locales/elGR.js +2 -1
  307. package/locales/esES.js +12 -13
  308. package/locales/faIR.js +7 -7
  309. package/locales/fiFI.js +2 -1
  310. package/locales/frFR.js +2 -1
  311. package/locales/heIL.js +16 -17
  312. package/locales/hrHR.js +2 -1
  313. package/locales/huHU.js +2 -1
  314. package/locales/isIS.js +2 -1
  315. package/locales/itIT.js +2 -1
  316. package/locales/jaJP.js +2 -1
  317. package/locales/koKR.js +46 -49
  318. package/locales/nbNO.js +2 -1
  319. package/locales/nlNL.js +7 -7
  320. package/locales/nnNO.js +2 -1
  321. package/locales/plPL.js +2 -1
  322. package/locales/ptBR.js +12 -13
  323. package/locales/ptPT.js +12 -13
  324. package/locales/roRO.js +20 -21
  325. package/locales/ruRU.js +2 -1
  326. package/locales/skSK.js +2 -1
  327. package/locales/svSE.js +2 -1
  328. package/locales/trTR.js +14 -15
  329. package/locales/ukUA.js +2 -1
  330. package/locales/urPK.js +11 -11
  331. package/locales/viVN.js +2 -1
  332. package/locales/zhCN.js +12 -13
  333. package/locales/zhHK.js +2 -1
  334. package/locales/zhTW.js +2 -1
  335. package/material/index.js +58 -7
  336. package/models/api/gridApiCommon.d.ts +2 -2
  337. package/models/api/gridCoreApi.d.ts +7 -7
  338. package/models/api/gridDensityApi.d.ts +1 -1
  339. package/models/api/gridLocaleTextApi.d.ts +1 -1
  340. package/models/api/gridParamsApi.d.ts +29 -2
  341. package/models/api/gridStateApi.d.ts +1 -1
  342. package/models/api/index.d.ts +1 -1
  343. package/models/api/index.js +0 -1
  344. package/models/colDef/gridColDef.d.ts +34 -33
  345. package/models/controlStateItem.d.ts +2 -2
  346. package/models/events/gridEventLookup.d.ts +7 -1
  347. package/models/gridBaseSlots.d.ts +95 -0
  348. package/models/gridDataSource.d.ts +1 -1
  349. package/models/gridExport.d.ts +2 -2
  350. package/models/gridFilterInputComponent.d.ts +32 -0
  351. package/models/gridFilterOperator.d.ts +6 -4
  352. package/models/gridIconSlotsComponent.d.ts +5 -0
  353. package/models/gridSlotsComponent.d.ts +16 -1
  354. package/models/gridSlotsComponentsProps.d.ts +45 -9
  355. package/models/gridStateCommunity.d.ts +4 -0
  356. package/models/index.d.ts +1 -0
  357. package/models/props/DataGridProps.d.ts +12 -24
  358. package/modern/DataGrid/DataGrid.js +20 -38
  359. package/modern/DataGrid/useDataGridComponent.js +1 -1
  360. package/modern/DataGrid/useDataGridProps.js +3 -3
  361. package/modern/components/GridApiContext.js +2 -0
  362. package/modern/components/GridColumnHeaders.js +4 -4
  363. package/modern/components/GridConfigurationContext.js +2 -0
  364. package/modern/components/GridFooter.js +4 -4
  365. package/modern/components/GridHeaders.js +2 -2
  366. package/modern/components/GridLoadingOverlay.js +10 -8
  367. package/modern/components/GridNoResultsOverlay.js +4 -4
  368. package/modern/components/GridNoRowsOverlay.js +4 -4
  369. package/modern/components/GridPagination.js +7 -4
  370. package/modern/components/GridRow.js +55 -87
  371. package/modern/components/GridRowCount.js +3 -2
  372. package/modern/components/GridScrollArea.js +2 -0
  373. package/modern/components/GridSelectedRowCount.js +3 -2
  374. package/modern/components/GridSkeletonLoadingOverlay.js +22 -21
  375. package/modern/components/base/GridOverlays.js +2 -24
  376. package/modern/components/base/index.js +1 -2
  377. package/modern/components/cell/GridActionsCell.js +8 -1
  378. package/modern/components/cell/GridActionsCellItem.js +9 -8
  379. package/modern/components/cell/GridCell.js +49 -92
  380. package/modern/components/cell/GridEditDateCell.js +1 -1
  381. package/modern/components/cell/GridEditInputCell.js +73 -4
  382. package/modern/components/cell/GridEditSingleSelectCell.js +2 -2
  383. package/modern/components/cell/GridSkeletonCell.js +1 -2
  384. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  385. package/modern/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  386. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +20 -7
  387. package/modern/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  388. package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  389. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  390. package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
  391. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +11 -9
  392. package/modern/components/columnSelection/GridHeaderCheckbox.js +17 -9
  393. package/modern/components/columnsManagement/GridColumnsManagement.js +50 -27
  394. package/modern/components/containers/GridFooterContainer.js +5 -3
  395. package/modern/components/containers/GridOverlay.js +5 -3
  396. package/modern/components/containers/GridRoot.js +18 -8
  397. package/modern/components/containers/GridRootStyles.js +160 -50
  398. package/modern/components/containers/GridToolbarContainer.js +3 -2
  399. package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
  400. package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  401. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +6 -11
  402. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +6 -11
  403. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +6 -11
  404. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  405. package/modern/components/panel/GridColumnsPanel.js +1 -2
  406. package/modern/components/panel/GridPanel.js +5 -3
  407. package/modern/components/panel/GridPanelContent.js +7 -3
  408. package/modern/components/panel/GridPanelFooter.js +4 -3
  409. package/modern/components/panel/GridPanelWrapper.js +5 -3
  410. package/modern/components/panel/filterPanel/GridFilterForm.js +22 -18
  411. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +41 -31
  412. package/modern/components/panel/filterPanel/GridFilterInputDate.js +50 -31
  413. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +49 -24
  414. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +55 -33
  415. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +34 -25
  416. package/modern/components/panel/filterPanel/GridFilterInputValue.js +63 -38
  417. package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
  418. package/modern/components/panel/filterPanel/index.js +1 -2
  419. package/modern/components/toolbar/GridToolbar.js +11 -5
  420. package/modern/components/toolbar/GridToolbarColumnsButton.js +12 -6
  421. package/modern/components/toolbar/GridToolbarDensitySelector.js +9 -11
  422. package/modern/components/toolbar/GridToolbarExport.js +2 -1
  423. package/modern/components/toolbar/GridToolbarExportContainer.js +6 -6
  424. package/modern/components/toolbar/GridToolbarFilterButton.js +20 -9
  425. package/modern/components/toolbar/GridToolbarQuickFilter.js +39 -31
  426. package/modern/components/virtualization/GridMainContainer.js +14 -5
  427. package/modern/components/virtualization/GridVirtualScrollbar.js +17 -17
  428. package/modern/components/virtualization/GridVirtualScroller.js +27 -12
  429. package/modern/components/virtualization/GridVirtualScrollerContent.js +15 -6
  430. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  431. package/modern/constants/dataGridPropsDefaultValues.js +2 -4
  432. package/modern/constants/gridClasses.js +1 -1
  433. package/modern/constants/localeTextConstants.js +1 -1
  434. package/modern/context/GridRootPropsContext.js +2 -0
  435. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  436. package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  437. package/modern/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +5 -1
  438. package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +7 -8
  439. package/modern/hooks/core/useGridApiInitialization.js +2 -2
  440. package/modern/hooks/core/useGridStateInitialization.js +3 -3
  441. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +33 -68
  442. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  443. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  444. package/modern/hooks/features/columnResize/useGridColumnResize.js +17 -10
  445. package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
  446. package/modern/hooks/features/columns/useGridColumns.js +7 -3
  447. package/modern/hooks/features/dimensions/useGridDimensions.js +11 -32
  448. package/modern/hooks/features/editing/gridEditingSelectors.js +7 -1
  449. package/modern/hooks/features/editing/useGridCellEditing.js +4 -4
  450. package/modern/hooks/features/editing/useGridRowEditing.js +7 -8
  451. package/modern/hooks/features/export/useGridPrintExport.js +1 -1
  452. package/modern/hooks/features/filter/gridFilterSelector.js +6 -1
  453. package/modern/hooks/features/filter/gridFilterUtils.js +3 -3
  454. package/modern/hooks/features/filter/useGridFilter.js +1 -1
  455. package/modern/hooks/features/focus/useGridFocus.js +3 -2
  456. package/modern/hooks/features/index.js +1 -0
  457. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -16
  458. package/modern/hooks/features/keyboardNavigation/utils.js +0 -5
  459. package/modern/hooks/features/listView/gridListViewSelectors.js +3 -1
  460. package/modern/hooks/features/listView/index.js +1 -0
  461. package/modern/hooks/features/listView/useGridListView.js +2 -1
  462. package/modern/hooks/features/overlays/useGridOverlays.js +22 -2
  463. package/modern/hooks/features/pagination/gridPaginationSelector.js +39 -1
  464. package/modern/hooks/features/pagination/useGridPagination.js +5 -3
  465. package/modern/hooks/features/pagination/useGridPaginationModel.js +23 -1
  466. package/modern/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +8 -1
  467. package/modern/hooks/features/preferencesPanel/index.js +1 -1
  468. package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  469. package/modern/hooks/features/rowSelection/useGridRowSelection.js +8 -16
  470. package/modern/hooks/features/rowSelection/utils.js +2 -2
  471. package/modern/hooks/features/rows/gridRowsSelector.js +1 -2
  472. package/modern/hooks/features/rows/gridRowsUtils.js +0 -9
  473. package/modern/hooks/features/rows/index.js +1 -1
  474. package/modern/hooks/features/rows/useGridParamsApi.js +33 -14
  475. package/modern/hooks/features/rows/useGridRowSpanning.js +97 -86
  476. package/modern/hooks/features/rows/useGridRows.js +23 -27
  477. package/modern/hooks/features/rows/useGridRowsMeta.js +3 -2
  478. package/modern/hooks/features/sorting/gridSortingSelector.js +11 -0
  479. package/modern/hooks/features/sorting/gridSortingUtils.js +2 -2
  480. package/modern/hooks/features/sorting/index.js +1 -1
  481. package/modern/hooks/features/sorting/useGridSorting.js +1 -1
  482. package/modern/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +33 -0
  483. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +169 -94
  484. package/modern/hooks/utils/useGridApiEventHandler.js +1 -1
  485. package/modern/hooks/utils/useGridApiRef.js +1 -1
  486. package/modern/hooks/utils/useGridSelector.js +6 -44
  487. package/modern/hooks/utils/useGridVisibleRows.js +5 -28
  488. package/modern/index.js +1 -1
  489. package/modern/internals/constants.js +8 -1
  490. package/modern/internals/index.js +4 -3
  491. package/modern/internals/utils/attachPinnedStyle.js +9 -0
  492. package/modern/internals/utils/getPinnedCellOffset.js +6 -7
  493. package/modern/internals/utils/index.js +2 -2
  494. package/modern/locales/arSD.js +2 -1
  495. package/modern/locales/beBY.js +1 -1
  496. package/modern/locales/bgBG.js +2 -1
  497. package/modern/locales/csCZ.js +2 -1
  498. package/modern/locales/daDK.js +2 -1
  499. package/modern/locales/deDE.js +12 -13
  500. package/modern/locales/elGR.js +2 -1
  501. package/modern/locales/esES.js +12 -13
  502. package/modern/locales/faIR.js +7 -7
  503. package/modern/locales/fiFI.js +2 -1
  504. package/modern/locales/frFR.js +2 -1
  505. package/modern/locales/heIL.js +16 -17
  506. package/modern/locales/hrHR.js +2 -1
  507. package/modern/locales/huHU.js +2 -1
  508. package/modern/locales/isIS.js +2 -1
  509. package/modern/locales/itIT.js +2 -1
  510. package/modern/locales/jaJP.js +2 -1
  511. package/modern/locales/koKR.js +46 -49
  512. package/modern/locales/nbNO.js +2 -1
  513. package/modern/locales/nlNL.js +7 -7
  514. package/modern/locales/nnNO.js +2 -1
  515. package/modern/locales/plPL.js +2 -1
  516. package/modern/locales/ptBR.js +12 -13
  517. package/modern/locales/ptPT.js +12 -13
  518. package/modern/locales/roRO.js +20 -21
  519. package/modern/locales/ruRU.js +2 -1
  520. package/modern/locales/skSK.js +2 -1
  521. package/modern/locales/svSE.js +2 -1
  522. package/modern/locales/trTR.js +14 -15
  523. package/modern/locales/ukUA.js +2 -1
  524. package/modern/locales/urPK.js +11 -11
  525. package/modern/locales/viVN.js +2 -1
  526. package/modern/locales/zhCN.js +12 -13
  527. package/modern/locales/zhHK.js +2 -1
  528. package/modern/locales/zhTW.js +2 -1
  529. package/modern/material/index.js +58 -7
  530. package/modern/models/api/index.js +0 -1
  531. package/modern/models/gridBaseSlots.js +1 -0
  532. package/modern/models/gridFilterInputComponent.js +1 -0
  533. package/modern/utils/assert.js +3 -0
  534. package/modern/utils/cellBorderUtils.js +5 -5
  535. package/modern/utils/createSelector.js +1 -120
  536. package/modern/utils/domUtils.js +7 -2
  537. package/modern/utils/isJSDOM.js +1 -0
  538. package/modern/utils/roundToDecimalPlaces.js +3 -0
  539. package/modern/utils/rtlFlipSide.js +22 -0
  540. package/modern/utils/utils.js +6 -1
  541. package/node/DataGrid/DataGrid.js +18 -36
  542. package/node/DataGrid/useDataGridComponent.js +1 -1
  543. package/node/DataGrid/useDataGridProps.js +2 -2
  544. package/node/components/GridApiContext.js +1 -0
  545. package/node/components/GridColumnHeaders.js +4 -4
  546. package/node/components/GridConfigurationContext.js +1 -0
  547. package/node/components/GridFooter.js +4 -4
  548. package/node/components/GridHeaders.js +2 -2
  549. package/node/components/GridLoadingOverlay.js +10 -8
  550. package/node/components/GridNoResultsOverlay.js +4 -4
  551. package/node/components/GridNoRowsOverlay.js +4 -4
  552. package/node/components/GridPagination.js +7 -4
  553. package/node/components/GridRow.js +51 -84
  554. package/node/components/GridRowCount.js +3 -2
  555. package/node/components/GridScrollArea.js +1 -0
  556. package/node/components/GridSelectedRowCount.js +3 -2
  557. package/node/components/GridSkeletonLoadingOverlay.js +21 -20
  558. package/node/components/base/GridOverlays.js +2 -24
  559. package/node/components/base/index.js +0 -11
  560. package/node/components/cell/GridActionsCell.js +8 -1
  561. package/node/components/cell/GridActionsCellItem.js +7 -8
  562. package/node/components/cell/GridCell.js +48 -91
  563. package/node/components/cell/GridEditDateCell.js +1 -1
  564. package/node/components/cell/GridEditInputCell.js +73 -4
  565. package/node/components/cell/GridEditSingleSelectCell.js +2 -2
  566. package/node/components/cell/GridSkeletonCell.js +1 -2
  567. package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
  568. package/node/components/columnHeaders/GridColumnGroupHeader.js +7 -10
  569. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +19 -6
  570. package/node/components/columnHeaders/GridColumnHeaderItem.js +13 -12
  571. package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
  572. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
  573. package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
  574. package/node/components/columnSelection/GridCellCheckboxRenderer.js +10 -8
  575. package/node/components/columnSelection/GridHeaderCheckbox.js +17 -9
  576. package/node/components/columnsManagement/GridColumnsManagement.js +50 -27
  577. package/node/components/containers/GridFooterContainer.js +5 -3
  578. package/node/components/containers/GridOverlay.js +5 -3
  579. package/node/components/containers/GridRoot.js +17 -7
  580. package/node/components/containers/GridRootStyles.js +160 -50
  581. package/node/components/containers/GridToolbarContainer.js +3 -2
  582. package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
  583. package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
  584. package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +5 -10
  585. package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +5 -10
  586. package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +5 -10
  587. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +13 -22
  588. package/node/components/panel/GridColumnsPanel.js +1 -2
  589. package/node/components/panel/GridPanel.js +5 -3
  590. package/node/components/panel/GridPanelContent.js +7 -3
  591. package/node/components/panel/GridPanelFooter.js +5 -4
  592. package/node/components/panel/GridPanelWrapper.js +5 -3
  593. package/node/components/panel/filterPanel/GridFilterForm.js +22 -18
  594. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +42 -33
  595. package/node/components/panel/filterPanel/GridFilterInputDate.js +49 -30
  596. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +49 -24
  597. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +55 -33
  598. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +34 -25
  599. package/node/components/panel/filterPanel/GridFilterInputValue.js +62 -37
  600. package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
  601. package/node/components/panel/filterPanel/index.js +7 -23
  602. package/node/components/toolbar/GridToolbar.js +11 -5
  603. package/node/components/toolbar/GridToolbarColumnsButton.js +12 -6
  604. package/node/components/toolbar/GridToolbarDensitySelector.js +9 -11
  605. package/node/components/toolbar/GridToolbarExport.js +2 -1
  606. package/node/components/toolbar/GridToolbarExportContainer.js +6 -6
  607. package/node/components/toolbar/GridToolbarFilterButton.js +20 -9
  608. package/node/components/toolbar/GridToolbarQuickFilter.js +39 -31
  609. package/node/components/virtualization/GridMainContainer.js +14 -5
  610. package/node/components/virtualization/GridVirtualScrollbar.js +17 -17
  611. package/node/components/virtualization/GridVirtualScroller.js +27 -12
  612. package/node/components/virtualization/GridVirtualScrollerContent.js +15 -6
  613. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
  614. package/node/constants/dataGridPropsDefaultValues.js +2 -4
  615. package/node/constants/gridClasses.js +1 -1
  616. package/node/constants/localeTextConstants.js +1 -1
  617. package/node/context/GridRootPropsContext.js +1 -0
  618. package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
  619. package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
  620. package/node/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +7 -1
  621. package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +7 -8
  622. package/node/hooks/core/useGridApiInitialization.js +2 -2
  623. package/node/hooks/core/useGridStateInitialization.js +3 -3
  624. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +31 -66
  625. package/node/hooks/features/columnMenu/useGridColumnMenu.js +0 -2
  626. package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
  627. package/node/hooks/features/columnResize/useGridColumnResize.js +17 -10
  628. package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
  629. package/node/hooks/features/columns/useGridColumns.js +7 -3
  630. package/node/hooks/features/dimensions/useGridDimensions.js +12 -33
  631. package/node/hooks/features/editing/gridEditingSelectors.js +8 -2
  632. package/node/hooks/features/editing/useGridCellEditing.js +3 -3
  633. package/node/hooks/features/editing/useGridRowEditing.js +5 -6
  634. package/node/hooks/features/export/useGridPrintExport.js +1 -1
  635. package/node/hooks/features/filter/gridFilterSelector.js +6 -1
  636. package/node/hooks/features/filter/gridFilterUtils.js +3 -3
  637. package/node/hooks/features/filter/useGridFilter.js +1 -1
  638. package/node/hooks/features/focus/useGridFocus.js +3 -2
  639. package/node/hooks/features/index.js +11 -0
  640. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +24 -15
  641. package/node/hooks/features/keyboardNavigation/utils.js +0 -6
  642. package/node/hooks/features/listView/gridListViewSelectors.js +3 -1
  643. package/node/hooks/features/listView/index.js +16 -0
  644. package/node/hooks/features/listView/useGridListView.js +2 -1
  645. package/node/hooks/features/overlays/useGridOverlays.js +24 -2
  646. package/node/hooks/features/pagination/gridPaginationSelector.js +41 -3
  647. package/node/hooks/features/pagination/useGridPagination.js +5 -3
  648. package/node/hooks/features/pagination/useGridPaginationModel.js +23 -1
  649. package/node/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +9 -2
  650. package/node/hooks/features/preferencesPanel/index.js +11 -10
  651. package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +14 -38
  652. package/node/hooks/features/rowSelection/useGridRowSelection.js +7 -15
  653. package/node/hooks/features/rowSelection/utils.js +2 -2
  654. package/node/hooks/features/rows/gridRowsSelector.js +2 -3
  655. package/node/hooks/features/rows/gridRowsUtils.js +0 -9
  656. package/node/hooks/features/rows/index.js +0 -7
  657. package/node/hooks/features/rows/useGridParamsApi.js +33 -14
  658. package/node/hooks/features/rows/useGridRowSpanning.js +95 -84
  659. package/node/hooks/features/rows/useGridRows.js +21 -25
  660. package/node/hooks/features/rows/useGridRowsMeta.js +5 -4
  661. package/node/hooks/features/sorting/gridSortingSelector.js +12 -1
  662. package/node/hooks/features/sorting/gridSortingUtils.js +2 -2
  663. package/node/hooks/features/sorting/index.js +24 -16
  664. package/node/hooks/features/sorting/useGridSorting.js +1 -1
  665. package/node/hooks/features/virtualization/gridFocusedVirtualCellSelector.js +40 -0
  666. package/node/hooks/features/virtualization/useGridVirtualScroller.js +171 -96
  667. package/node/hooks/utils/useGridApiEventHandler.js +1 -1
  668. package/node/hooks/utils/useGridApiRef.js +1 -1
  669. package/node/hooks/utils/useGridSelector.js +8 -47
  670. package/node/hooks/utils/useGridVisibleRows.js +3 -28
  671. package/node/index.js +1 -1
  672. package/node/internals/constants.js +9 -2
  673. package/node/internals/index.js +27 -22
  674. package/node/internals/utils/attachPinnedStyle.js +15 -0
  675. package/node/internals/utils/getPinnedCellOffset.js +6 -7
  676. package/node/internals/utils/index.js +11 -11
  677. package/node/locales/arSD.js +2 -1
  678. package/node/locales/beBY.js +1 -1
  679. package/node/locales/bgBG.js +2 -1
  680. package/node/locales/csCZ.js +2 -1
  681. package/node/locales/daDK.js +2 -1
  682. package/node/locales/deDE.js +12 -13
  683. package/node/locales/elGR.js +2 -1
  684. package/node/locales/esES.js +12 -13
  685. package/node/locales/faIR.js +7 -7
  686. package/node/locales/fiFI.js +2 -1
  687. package/node/locales/frFR.js +2 -1
  688. package/node/locales/heIL.js +16 -17
  689. package/node/locales/hrHR.js +2 -1
  690. package/node/locales/huHU.js +2 -1
  691. package/node/locales/isIS.js +2 -1
  692. package/node/locales/itIT.js +2 -1
  693. package/node/locales/jaJP.js +2 -1
  694. package/node/locales/koKR.js +46 -49
  695. package/node/locales/nbNO.js +2 -1
  696. package/node/locales/nlNL.js +7 -7
  697. package/node/locales/nnNO.js +2 -1
  698. package/node/locales/plPL.js +2 -1
  699. package/node/locales/ptBR.js +12 -13
  700. package/node/locales/ptPT.js +12 -13
  701. package/node/locales/roRO.js +20 -21
  702. package/node/locales/ruRU.js +2 -1
  703. package/node/locales/skSK.js +2 -1
  704. package/node/locales/svSE.js +2 -1
  705. package/node/locales/trTR.js +14 -15
  706. package/node/locales/ukUA.js +2 -1
  707. package/node/locales/urPK.js +11 -11
  708. package/node/locales/viVN.js +2 -1
  709. package/node/locales/zhCN.js +12 -13
  710. package/node/locales/zhHK.js +2 -1
  711. package/node/locales/zhTW.js +2 -1
  712. package/node/material/index.js +59 -7
  713. package/node/models/api/index.js +0 -11
  714. package/node/models/gridFilterInputComponent.js +5 -0
  715. package/node/utils/assert.js +9 -0
  716. package/node/utils/cellBorderUtils.js +5 -5
  717. package/node/utils/createSelector.js +4 -125
  718. package/node/utils/domUtils.js +7 -2
  719. package/node/utils/isJSDOM.js +7 -0
  720. package/node/utils/roundToDecimalPlaces.js +9 -0
  721. package/node/utils/rtlFlipSide.js +29 -0
  722. package/node/utils/utils.js +8 -1
  723. package/package.json +3 -3
  724. package/themeAugmentation/overrides.d.ts +10 -5
  725. package/utils/assert.d.ts +2 -0
  726. package/utils/assert.js +3 -0
  727. package/utils/cellBorderUtils.d.ts +3 -3
  728. package/utils/cellBorderUtils.js +5 -5
  729. package/utils/createSelector.d.ts +7 -19
  730. package/utils/createSelector.js +1 -120
  731. package/utils/domUtils.js +7 -2
  732. package/utils/getPublicApiRef.d.ts +2 -1
  733. package/utils/isJSDOM.d.ts +1 -0
  734. package/utils/isJSDOM.js +1 -0
  735. package/utils/keyboardUtils.d.ts +1 -1
  736. package/utils/roundToDecimalPlaces.d.ts +1 -0
  737. package/utils/roundToDecimalPlaces.js +3 -0
  738. package/utils/rtlFlipSide.d.ts +2 -0
  739. package/utils/rtlFlipSide.js +22 -0
  740. package/utils/utils.d.ts +1 -0
  741. package/utils/utils.js +6 -1
  742. package/components/panel/filterPanel/GridFilterInputValueProps.d.ts +0 -11
  743. package/internals/utils/useProps.d.ts +0 -1
  744. package/internals/utils/useProps.js +0 -24
  745. package/joy/icons.d.ts +0 -32
  746. package/joy/icons.js +0 -431
  747. package/joy/index.d.ts +0 -2
  748. package/joy/index.js +0 -2
  749. package/joy/joySlots.d.ts +0 -3
  750. package/joy/joySlots.js +0 -389
  751. package/joy/package.json +0 -6
  752. package/modern/internals/utils/useProps.js +0 -24
  753. package/modern/joy/icons.js +0 -431
  754. package/modern/joy/index.js +0 -2
  755. package/modern/joy/joySlots.js +0 -389
  756. package/node/internals/utils/useProps.js +0 -30
  757. package/node/joy/icons.js +0 -439
  758. package/node/joy/index.js +0 -13
  759. package/node/joy/joySlots.js +0 -397
  760. /package/{components/panel/filterPanel/GridFilterInputValueProps.js → models/gridBaseSlots.js} +0 -0
  761. /package/{modern/components/panel/filterPanel/GridFilterInputValueProps.js → models/gridFilterInputComponent.js} +0 -0
  762. /package/node/{components/panel/filterPanel/GridFilterInputValueProps.js → models/gridBaseSlots.js} +0 -0
@@ -12,14 +12,19 @@ var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _system = require("@mui/system");
13
13
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
+ var _RtlProvider = require("@mui/system/RtlProvider");
16
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
17
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
16
18
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
17
19
  var _hooks = require("../hooks");
20
+ var _constants = require("../internals/constants");
18
21
  var _gridClasses = require("../constants/gridClasses");
19
22
  var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
20
23
  var _cellBorderUtils = require("../utils/cellBorderUtils");
21
24
  var _domUtils = require("../utils/domUtils");
22
25
  var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
26
+ var _rtlFlipSide = require("../utils/rtlFlipSide");
27
+ var _utils = require("../internals/utils");
23
28
  var _jsxRuntime = require("react/jsx-runtime");
24
29
  const SkeletonOverlay = (0, _system.styled)('div', {
25
30
  name: 'MuiDataGrid',
@@ -42,11 +47,12 @@ const useUtilityClasses = ownerState => {
42
47
  return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
43
48
  };
44
49
  const getColIndex = el => parseInt(el.getAttribute('data-colindex'), 10);
45
- const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PURE__*/React.forwardRef(function GridSkeletonLoadingOverlay(props, forwardedRef) {
50
+ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = (0, _forwardRef.forwardRef)(function GridSkeletonLoadingOverlay(props, forwardedRef) {
46
51
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
47
52
  const {
48
53
  slots
49
54
  } = rootProps;
55
+ const isRtl = (0, _RtlProvider.useRtl)();
50
56
  const classes = useUtilityClasses({
51
57
  classes: rootProps.classes
52
58
  });
@@ -62,18 +68,12 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
62
68
  const allVisibleColumns = (0, _hooks.useGridSelector)(apiRef, _hooks.gridVisibleColumnDefinitionsSelector);
63
69
  const columns = React.useMemo(() => allVisibleColumns.slice(0, inViewportCount), [allVisibleColumns, inViewportCount]);
64
70
  const pinnedColumns = (0, _hooks.useGridSelector)(apiRef, _hooks.gridVisiblePinnedColumnDefinitionsSelector);
65
- const getPinnedStyle = React.useCallback((computedWidth, index, position) => {
66
- const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(position, computedWidth, index, positions, dimensions);
67
- return {
68
- [position]: pinnedOffset
69
- };
70
- }, [dimensions, positions]);
71
71
  const getPinnedPosition = React.useCallback(field => {
72
72
  if (pinnedColumns.left.findIndex(col => col.field === field) !== -1) {
73
- return _hooks.GridPinnedColumnPosition.LEFT;
73
+ return _constants.PinnedColumnPosition.LEFT;
74
74
  }
75
75
  if (pinnedColumns.right.findIndex(col => col.field === field) !== -1) {
76
- return _hooks.GridPinnedColumnPosition.RIGHT;
76
+ return _constants.PinnedColumnPosition.RIGHT;
77
77
  }
78
78
  return undefined;
79
79
  }, [pinnedColumns.left, pinnedColumns.right]);
@@ -84,13 +84,15 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
84
84
  for (let colIndex = 0; colIndex < columns.length; colIndex += 1) {
85
85
  const column = columns[colIndex];
86
86
  const pinnedPosition = getPinnedPosition(column.field);
87
- const isPinnedLeft = pinnedPosition === _hooks.GridPinnedColumnPosition.LEFT;
88
- const isPinnedRight = pinnedPosition === _hooks.GridPinnedColumnPosition.RIGHT;
89
- const sectionLength = pinnedPosition ? pinnedColumns[pinnedPosition].length // pinned section
87
+ const isPinnedLeft = pinnedPosition === _constants.PinnedColumnPosition.LEFT;
88
+ const isPinnedRight = pinnedPosition === _constants.PinnedColumnPosition.RIGHT;
89
+ const pinnedSide = (0, _rtlFlipSide.rtlFlipSide)(pinnedPosition, isRtl);
90
+ const sectionLength = pinnedSide ? pinnedColumns[pinnedSide].length // pinned section
90
91
  : columns.length - pinnedColumns.left.length - pinnedColumns.right.length; // middle section
91
- const sectionIndex = pinnedPosition ? pinnedColumns[pinnedPosition].findIndex(col => col.field === column.field) // pinned section
92
+ const sectionIndex = pinnedSide ? pinnedColumns[pinnedSide].findIndex(col => col.field === column.field) // pinned section
92
93
  : colIndex - pinnedColumns.left.length; // middle section
93
- const pinnedStyle = pinnedPosition && getPinnedStyle(column.computedWidth, colIndex, pinnedPosition);
94
+ const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
95
+ const pinnedStyle = (0, _utils.attachPinnedStyle)({}, isRtl, pinnedPosition, (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, column.computedWidth, colIndex, positions, dimensions.columnsTotalWidth, scrollbarWidth));
94
96
  const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
95
97
  const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, sectionIndex, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
96
98
  const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, sectionIndex);
@@ -104,7 +106,6 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
104
106
  width: emptyCellWidth,
105
107
  empty: true
106
108
  }, `skeleton-filler-column-${i}`);
107
- const scrollbarWidth = dimensions.hasScrollY ? dimensions.scrollbarSize : 0;
108
109
  const hasScrollbarFiller = isLastColumn && scrollbarWidth !== 0;
109
110
  if (hasFillerBefore) {
110
111
  rowCells.push(emptyCell);
@@ -136,7 +137,7 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
136
137
  }, `skeleton-row-${i}`));
137
138
  }
138
139
  return array;
139
- }, [slots, columns, pinnedColumns, skeletonRowsCount, rootProps.showCellVerticalBorder, dimensions.columnsTotalWidth, dimensions.viewportOuterSize.width, dimensions.rowHeight, dimensions.hasScrollY, dimensions.scrollbarSize, getPinnedPosition, getPinnedStyle]);
140
+ }, [slots, columns, pinnedColumns, skeletonRowsCount, rootProps.showCellVerticalBorder, dimensions, positions, getPinnedPosition, isRtl]);
140
141
 
141
142
  // Sync the column resize of the overlay columns with the grid
142
143
  const handleColumnResize = params => {
@@ -150,8 +151,8 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
150
151
  }
151
152
  const resizedColIndex = columns.findIndex(col => col.field === colDef.field);
152
153
  const pinnedPosition = getPinnedPosition(colDef.field);
153
- const isPinnedLeft = pinnedPosition === _hooks.GridPinnedColumnPosition.LEFT;
154
- const isPinnedRight = pinnedPosition === _hooks.GridPinnedColumnPosition.RIGHT;
154
+ const isPinnedLeft = pinnedPosition === _constants.PinnedColumnPosition.LEFT;
155
+ const isPinnedRight = pinnedPosition === _constants.PinnedColumnPosition.RIGHT;
155
156
  const currentWidth = getComputedStyle(cells[0]).getPropertyValue('--width');
156
157
  const delta = parseInt(currentWidth, 10) - width;
157
158
  if (cells) {
@@ -180,9 +181,9 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
180
181
  };
181
182
  (0, _hooks.useGridApiEventHandler)(apiRef, 'columnResize', handleColumnResize);
182
183
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(SkeletonOverlay, (0, _extends2.default)({
183
- className: classes.root,
184
- ref: handleRef
184
+ className: classes.root
185
185
  }, props, {
186
+ ref: handleRef,
186
187
  children: children
187
188
  }));
188
189
  });
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.GridOverlays = GridOverlays;
8
+ exports.GridOverlayWrapper = GridOverlayWrapper;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -91,26 +91,4 @@ process.env.NODE_ENV !== "production" ? GridOverlayWrapper.propTypes = {
91
91
  // ----------------------------------------------------------------------
92
92
  loadingOverlayVariant: _propTypes.default.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
93
93
  overlayType: _propTypes.default.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
94
- } : void 0;
95
- process.env.NODE_ENV !== "production" ? GridOverlays.propTypes = {
96
- // ----------------------------- Warning --------------------------------
97
- // | These PropTypes are generated from the TypeScript type definitions |
98
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
99
- // ----------------------------------------------------------------------
100
- loadingOverlayVariant: _propTypes.default.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
101
- overlayType: _propTypes.default.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
102
- } : void 0;
103
- function GridOverlays(props) {
104
- const {
105
- overlayType
106
- } = props;
107
- const rootProps = (0, _useGridRootProps.useGridRootProps)();
108
- if (!overlayType) {
109
- return null;
110
- }
111
- const Overlay = rootProps.slots?.[overlayType];
112
- const overlayProps = rootProps.slotProps?.[overlayType];
113
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridOverlayWrapper, (0, _extends2.default)({}, props, {
114
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Overlay, (0, _extends2.default)({}, overlayProps))
115
- }));
116
- }
94
+ } : void 0;
@@ -24,15 +24,4 @@ Object.keys(_GridFooterPlaceholder).forEach(function (key) {
24
24
  return _GridFooterPlaceholder[key];
25
25
  }
26
26
  });
27
- });
28
- var _GridOverlays = require("./GridOverlays");
29
- Object.keys(_GridOverlays).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _GridOverlays[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _GridOverlays[key];
36
- }
37
- });
38
27
  });
@@ -98,6 +98,13 @@ function GridActionsCell(props) {
98
98
  const hideMenu = () => {
99
99
  setOpen(false);
100
100
  };
101
+ const toggleMenu = () => {
102
+ if (open) {
103
+ hideMenu();
104
+ } else {
105
+ showMenu();
106
+ }
107
+ };
101
108
  const handleTouchRippleRef = index => instance => {
102
109
  touchRippleRefs.current[index] = instance;
103
110
  };
@@ -168,7 +175,7 @@ function GridActionsCell(props) {
168
175
  "aria-controls": open ? menuId : undefined,
169
176
  role: "menuitem",
170
177
  size: "small",
171
- onClick: showMenu,
178
+ onClick: toggleMenu,
172
179
  touchRippleRef: handleTouchRippleRef(buttonId),
173
180
  tabIndex: focusedButtonIndex === iconButtons.length ? tabIndex : -1
174
181
  }, rootProps.slotProps?.baseIconButton, {
@@ -10,12 +10,12 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
13
+ var _forwardRef = require("@mui/x-internals/forwardRef");
14
14
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  const _excluded = ["label", "icon", "showInMenu", "onClick"],
17
- _excluded2 = ["label", "icon", "showInMenu", "onClick", "closeMenuOnClick", "closeMenu"];
18
- const GridActionsCellItem = exports.GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
17
+ _excluded2 = ["label", "icon", "showInMenu", "onClick", "closeMenuOnClick", "closeMenu"]; // FIXME(v8:romgrk): Make parametric
18
+ const GridActionsCellItem = exports.GridActionsCellItem = (0, _forwardRef.forwardRef)((props, ref) => {
19
19
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
20
20
  if (!props.showInMenu) {
21
21
  const {
@@ -28,13 +28,13 @@ const GridActionsCellItem = exports.GridActionsCellItem = /*#__PURE__*/React.for
28
28
  onClick?.(event);
29
29
  };
30
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
31
- ref: ref,
32
31
  size: "small",
33
32
  role: "menuitem",
34
33
  "aria-label": label
35
34
  }, other, {
36
35
  onClick: handleClick
37
36
  }, rootProps.slotProps?.baseIconButton, {
37
+ ref: ref,
38
38
  children: /*#__PURE__*/React.cloneElement(icon, {
39
39
  fontSize: 'small'
40
40
  })
@@ -54,13 +54,12 @@ const GridActionsCellItem = exports.GridActionsCellItem = /*#__PURE__*/React.for
54
54
  closeMenu?.();
55
55
  }
56
56
  };
57
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
58
58
  ref: ref
59
59
  }, other, {
60
60
  onClick: handleClick,
61
- children: [icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
62
- children: icon
63
- }), label]
61
+ iconStart: icon,
62
+ children: label
64
63
  }));
65
64
  });
66
65
  process.env.NODE_ENV !== "production" ? GridActionsCellItem.propTypes = {
@@ -5,7 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.gridPinnedColumnPositionLookup = exports.PinnedPosition = exports.GridCell = void 0;
8
+ exports.gridPinnedColumnPositionLookup = exports.GridCell = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
@@ -14,56 +14,27 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _utils = require("@mui/utils");
15
15
  var _fastMemo = require("@mui/x-internals/fastMemo");
16
16
  var _RtlProvider = require("@mui/system/RtlProvider");
17
+ var _forwardRef = require("@mui/x-internals/forwardRef");
17
18
  var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
18
19
  var _gridClasses = require("../../constants/gridClasses");
19
20
  var _models = require("../../models");
20
21
  var _useGridSelector = require("../../hooks/utils/useGridSelector");
21
- var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
22
22
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
23
23
  var _gridFocusStateSelector = require("../../hooks/features/focus/gridFocusStateSelector");
24
- var _useGridParamsApi = require("../../hooks/features/rows/useGridParamsApi");
25
- var _cellBorderUtils = require("../../utils/cellBorderUtils");
26
24
  var _gridColumnsInterfaces = require("../../hooks/features/columns/gridColumnsInterfaces");
25
+ var _constants = require("../../internals/constants");
27
26
  var _gridRowSpanningSelectors = require("../../hooks/features/rows/gridRowSpanningSelectors");
27
+ var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
28
+ var _gridEditingSelectors = require("../../hooks/features/editing/gridEditingSelectors");
29
+ var _utils2 = require("../../internals/utils");
28
30
  var _jsxRuntime = require("react/jsx-runtime");
29
- const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "sectionIndex", "sectionLength", "gridHasFiller", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
31
+ const _excluded = ["column", "row", "rowId", "rowNode", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "showRightBorder", "showLeftBorder", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
30
32
  _excluded2 = ["changeReason", "unstable_updateValueOnRender"];
31
- let PinnedPosition = exports.PinnedPosition = /*#__PURE__*/function (PinnedPosition) {
32
- PinnedPosition[PinnedPosition["NONE"] = 0] = "NONE";
33
- PinnedPosition[PinnedPosition["LEFT"] = 1] = "LEFT";
34
- PinnedPosition[PinnedPosition["RIGHT"] = 2] = "RIGHT";
35
- PinnedPosition[PinnedPosition["VIRTUAL"] = 3] = "VIRTUAL";
36
- return PinnedPosition;
37
- }({});
38
33
  const gridPinnedColumnPositionLookup = exports.gridPinnedColumnPositionLookup = {
39
- [PinnedPosition.LEFT]: _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT,
40
- [PinnedPosition.RIGHT]: _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT,
41
- [PinnedPosition.NONE]: undefined,
42
- [PinnedPosition.VIRTUAL]: undefined
43
- };
44
- const EMPTY_CELL_PARAMS = {
45
- id: -1,
46
- field: '__unset__',
47
- row: {},
48
- rowNode: {
49
- id: -1,
50
- depth: 0,
51
- type: 'leaf',
52
- parent: -1,
53
- groupingKey: null
54
- },
55
- colDef: {
56
- type: 'string',
57
- field: '__unset__',
58
- computedWidth: 0
59
- },
60
- cellMode: _models.GridCellModes.View,
61
- hasFocus: false,
62
- tabIndex: -1,
63
- value: null,
64
- formattedValue: '__unset__',
65
- isEditable: false,
66
- api: {}
34
+ [_constants.PinnedColumnPosition.LEFT]: _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT,
35
+ [_constants.PinnedColumnPosition.RIGHT]: _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT,
36
+ [_constants.PinnedColumnPosition.NONE]: undefined,
37
+ [_constants.PinnedColumnPosition.VIRTUAL]: undefined
67
38
  };
68
39
  const useUtilityClasses = ownerState => {
69
40
  const {
@@ -77,7 +48,7 @@ const useUtilityClasses = ownerState => {
77
48
  classes
78
49
  } = ownerState;
79
50
  const slots = {
80
- root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === PinnedPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === PinnedPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode']
51
+ root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === _constants.PinnedColumnPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === _constants.PinnedColumnPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode']
81
52
  };
82
53
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
83
54
  };
@@ -85,11 +56,12 @@ let warnedOnce = false;
85
56
 
86
57
  // TODO(v7): Removing the wrapper will break the docs performance visualization demo.
87
58
 
88
- const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
59
+ const GridCell = (0, _forwardRef.forwardRef)(function GridCell(props, ref) {
89
60
  const {
90
61
  column,
62
+ row,
91
63
  rowId,
92
- editCellState,
64
+ rowNode,
93
65
  align,
94
66
  colIndex,
95
67
  width,
@@ -100,9 +72,8 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
100
72
  isNotVisible,
101
73
  pinnedOffset,
102
74
  pinnedPosition,
103
- sectionIndex,
104
- sectionLength,
105
- gridHasFiller,
75
+ showRightBorder,
76
+ showLeftBorder,
106
77
  onClick,
107
78
  onDoubleClick,
108
79
  onMouseDown,
@@ -114,25 +85,29 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
114
85
  onDragOver
115
86
  } = props,
116
87
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
117
- const apiRef = (0, _useGridApiContext.useGridApiContext)();
88
+ const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
118
89
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
119
90
  const isRtl = (0, _RtlProvider.useRtl)();
120
91
  const field = column.field;
121
- const cellParams = (0, _useGridSelector.useGridSelector)(apiRef, () => {
122
- // This is required because `.getCellParams` tries to get the `state.rows.tree` entry
123
- // associated with `rowId`/`fieldId`, but this selector runs after the state has been
124
- // updated, while `rowId`/`fieldId` reference an entry in the old state.
125
- try {
126
- const result = apiRef.current.getCellParams(rowId, field);
127
- result.api = apiRef.current;
128
- return result;
129
- } catch (error) {
130
- if (error instanceof _useGridParamsApi.MissingRowIdError) {
131
- return EMPTY_CELL_PARAMS;
132
- }
133
- throw error;
134
- }
135
- }, _useGridSelector.objectShallowCompare);
92
+ const editCellState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditingSelectors.gridEditCellStateSelector, {
93
+ rowId,
94
+ field
95
+ });
96
+ const cellMode = editCellState ? _models.GridCellModes.Edit : _models.GridCellModes.View;
97
+ const cellParams = apiRef.current.getCellParamsForRow(rowId, field, row, {
98
+ colDef: column,
99
+ cellMode,
100
+ rowNode: rowNode,
101
+ tabIndex: (0, _useGridSelector.useGridSelector)(apiRef, () => {
102
+ const cellTabIndex = (0, _gridFocusStateSelector.gridTabIndexCellSelector)(apiRef);
103
+ return cellTabIndex && cellTabIndex.field === field && cellTabIndex.id === rowId ? 0 : -1;
104
+ }),
105
+ hasFocus: (0, _useGridSelector.useGridSelector)(apiRef, () => {
106
+ const focus = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
107
+ return focus?.id === rowId && focus.field === field;
108
+ })
109
+ });
110
+ cellParams.api = apiRef.current;
136
111
  const isSelected = (0, _useGridSelector.useGridSelector)(apiRef, () => apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
137
112
  id: rowId,
138
113
  field
@@ -140,7 +115,6 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
140
115
  const hiddenCells = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSpanningSelectors.gridRowSpanningHiddenCellsSelector);
141
116
  const spannedCells = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowSpanningSelectors.gridRowSpanningSpannedCellsSelector);
142
117
  const {
143
- cellMode,
144
118
  hasFocus,
145
119
  isEditable = false,
146
120
  value
@@ -172,9 +146,6 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
172
146
  const handleRef = (0, _utils.unstable_useForkRef)(ref, cellRef);
173
147
  const focusElementRef = React.useRef(null);
174
148
  const isSelectionMode = rootProps.cellSelection ?? false;
175
- const position = gridPinnedColumnPositionLookup[pinnedPosition];
176
- const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(position, sectionIndex);
177
- const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(position, sectionIndex, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
178
149
  const ownerState = {
179
150
  align,
180
151
  showLeftBorder,
@@ -219,21 +190,15 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
219
190
  padding: 0,
220
191
  opacity: 0,
221
192
  width: 0,
193
+ height: 0,
222
194
  border: 0
223
195
  };
224
196
  }
225
- const cellStyle = (0, _extends2.default)({
197
+ const cellStyle = (0, _utils2.attachPinnedStyle)((0, _extends2.default)({
226
198
  '--width': `${width}px`
227
- }, styleProp);
228
- const isLeftPinned = pinnedPosition === PinnedPosition.LEFT;
229
- const isRightPinned = pinnedPosition === PinnedPosition.RIGHT;
230
- if (isLeftPinned || isRightPinned) {
231
- let side = isLeftPinned ? 'left' : 'right';
232
- if (isRtl) {
233
- side = isLeftPinned ? 'right' : 'left';
234
- }
235
- cellStyle[side] = pinnedOffset;
236
- }
199
+ }, styleProp), isRtl, pinnedPosition, pinnedOffset);
200
+ const isLeftPinned = pinnedPosition === _constants.PinnedColumnPosition.LEFT;
201
+ const isRightPinned = pinnedPosition === _constants.PinnedColumnPosition.RIGHT;
237
202
  if (rowSpan > 1) {
238
203
  cellStyle.height = `calc(var(--height) * ${rowSpan})`;
239
204
  cellStyle.zIndex = 5;
@@ -271,9 +236,6 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
271
236
  }, style)
272
237
  });
273
238
  }
274
- if (cellParams === EMPTY_CELL_PARAMS) {
275
- return null;
276
- }
277
239
  let handleFocus = other.onFocus;
278
240
  if (process.env.NODE_ENV === 'test' && rootProps.experimentalFeatures?.warnIfFocusStateIsNotSynced) {
279
241
  handleFocus = event => {
@@ -324,7 +286,6 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
324
286
  onDragOver: publish('cellDragOver', onDragOver)
325
287
  };
326
288
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", (0, _extends2.default)({
327
- ref: handleRef,
328
289
  className: (0, _clsx.default)(classes.root, classNames, className),
329
290
  role: "gridcell",
330
291
  "data-field": field,
@@ -344,6 +305,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
344
305
  onKeyUp: publish('cellKeyUp', onKeyUp)
345
306
  }, draggableEventHandlers, other, {
346
307
  onFocus: handleFocus,
308
+ ref: handleRef,
347
309
  children: children
348
310
  }));
349
311
  });
@@ -357,19 +319,14 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
357
319
  colSpan: _propTypes.default.number,
358
320
  column: _propTypes.default.object.isRequired,
359
321
  disableDragEvents: _propTypes.default.bool,
360
- editCellState: _propTypes.default.shape({
361
- changeReason: _propTypes.default.oneOf(['debouncedSetEditCellValue', 'setEditCellValue']),
362
- isProcessingProps: _propTypes.default.bool,
363
- isValidating: _propTypes.default.bool,
364
- value: _propTypes.default.any
365
- }),
366
- gridHasFiller: _propTypes.default.bool.isRequired,
367
322
  isNotVisible: _propTypes.default.bool.isRequired,
368
- pinnedOffset: _propTypes.default.number.isRequired,
323
+ pinnedOffset: _propTypes.default.number,
369
324
  pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]).isRequired,
325
+ row: _propTypes.default.object.isRequired,
370
326
  rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
371
- sectionIndex: _propTypes.default.number.isRequired,
372
- sectionLength: _propTypes.default.number.isRequired,
327
+ rowNode: _propTypes.default.object.isRequired,
328
+ showLeftBorder: _propTypes.default.bool.isRequired,
329
+ showRightBorder: _propTypes.default.bool.isRequired,
373
330
  width: _propTypes.default.number.isRequired
374
331
  } : void 0;
375
332
  const MemoizedGridCell = exports.GridCell = (0, _fastMemo.fastMemo)(GridCell);
@@ -44,7 +44,7 @@ function GridEditDateCell(props) {
44
44
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
45
45
  const isDateTime = colDef.type === 'dateTime';
46
46
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
47
- const inputRef = React.useRef();
47
+ const inputRef = React.useRef(null);
48
48
  const valueTransformed = React.useMemo(() => {
49
49
  let parsedDate;
50
50
  if (valueProp == null) {
@@ -9,9 +9,11 @@ exports.renderEditInputCell = exports.GridEditInputCell = void 0;
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
13
  var _utils = require("@mui/utils");
13
14
  var _styles = require("@mui/material/styles");
14
15
  var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
16
+ var _forwardRef = require("@mui/x-internals/forwardRef");
15
17
  var _gridClasses = require("../../constants/gridClasses");
16
18
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
17
19
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
@@ -39,7 +41,7 @@ const GridEditInputCellRoot = (0, _styles.styled)(_InputBase.default, {
39
41
  height: '100%'
40
42
  }
41
43
  }));
42
- const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forwardRef((props, ref) => {
44
+ const GridEditInputCell = exports.GridEditInputCell = (0, _forwardRef.forwardRef)((props, ref) => {
43
45
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
44
46
  const {
45
47
  id,
@@ -53,7 +55,7 @@ const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forward
53
55
  } = props,
54
56
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
55
57
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
56
- const inputRef = React.useRef();
58
+ const inputRef = React.useRef(null);
57
59
  const [valueState, setValueState] = React.useState(value);
58
60
  const classes = useUtilityClasses(rootProps);
59
61
  const handleChange = React.useCallback(async event => {
@@ -87,7 +89,6 @@ const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forward
87
89
  }
88
90
  }, [hasFocus]);
89
91
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridEditInputCellRoot, (0, _extends2.default)({
90
- ref: ref,
91
92
  inputRef: inputRef,
92
93
  className: classes.root,
93
94
  ownerState: rootProps,
@@ -99,7 +100,75 @@ const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forward
99
100
  fontSize: "small",
100
101
  color: "action"
101
102
  }) : undefined
102
- }, other));
103
+ }, other, {
104
+ ref: ref
105
+ }));
103
106
  });
107
+ process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
108
+ // ----------------------------- Warning --------------------------------
109
+ // | These PropTypes are generated from the TypeScript type definitions |
110
+ // | To update them edit the TypeScript types and run "pnpm proptypes" |
111
+ // ----------------------------------------------------------------------
112
+ /**
113
+ * GridApi that let you manipulate the grid.
114
+ */
115
+ api: _propTypes.default.object.isRequired,
116
+ /**
117
+ * The mode of the cell.
118
+ */
119
+ cellMode: _propTypes.default.oneOf(['edit', 'view']).isRequired,
120
+ changeReason: _propTypes.default.oneOf(['debouncedSetEditCellValue', 'setEditCellValue']),
121
+ /**
122
+ * The column of the row that the current cell belongs to.
123
+ */
124
+ colDef: _propTypes.default.object.isRequired,
125
+ debounceMs: _propTypes.default.number,
126
+ /**
127
+ * The column field of the cell that triggered the event.
128
+ */
129
+ field: _propTypes.default.string.isRequired,
130
+ /**
131
+ * The cell value formatted with the column valueFormatter.
132
+ */
133
+ formattedValue: _propTypes.default.any,
134
+ /**
135
+ * If true, the cell is the active element.
136
+ */
137
+ hasFocus: _propTypes.default.bool.isRequired,
138
+ /**
139
+ * The grid row id.
140
+ */
141
+ id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
142
+ /**
143
+ * If true, the cell is editable.
144
+ */
145
+ isEditable: _propTypes.default.bool,
146
+ isProcessingProps: _propTypes.default.bool,
147
+ isValidating: _propTypes.default.bool,
148
+ /**
149
+ * Callback called when the value is changed by the user.
150
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
151
+ * @param {Date | null} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
152
+ * @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
153
+ */
154
+ onValueChange: _propTypes.default.func,
155
+ /**
156
+ * The row model of the row that the current cell belongs to.
157
+ */
158
+ row: _propTypes.default.any.isRequired,
159
+ /**
160
+ * The node of the row that the current cell belongs to.
161
+ */
162
+ rowNode: _propTypes.default.object.isRequired,
163
+ /**
164
+ * the tabIndex value.
165
+ */
166
+ tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
167
+ /**
168
+ * The cell value.
169
+ * If the column has `valueGetter`, use `params.row` to directly access the fields.
170
+ */
171
+ value: _propTypes.default.any
172
+ } : void 0;
104
173
  const renderEditInputCell = params => /*#__PURE__*/(0, _jsxRuntime.jsx)(GridEditInputCell, (0, _extends2.default)({}, params));
105
174
  exports.renderEditInputCell = renderEditInputCell;
@@ -39,8 +39,8 @@ function GridEditSingleSelectCell(props) {
39
39
  } = props,
40
40
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
41
41
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
42
- const ref = React.useRef();
43
- const inputRef = React.useRef();
42
+ const ref = React.useRef(null);
43
+ const inputRef = React.useRef(null);
44
44
  const [open, setOpen] = React.useState(initialOpen);
45
45
  const baseSelectProps = rootProps.slotProps?.baseSelect || {};
46
46
  const isSelectNative = baseSelectProps.native ?? false;
@@ -11,7 +11,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
- var _Skeleton = _interopRequireDefault(require("@mui/material/Skeleton"));
15
14
  var _utils = require("@mui/utils");
16
15
  var _fastMemo = require("@mui/x-internals/fastMemo");
17
16
  var _utils2 = require("../../utils/utils");
@@ -90,7 +89,7 @@ function GridSkeletonCell(props) {
90
89
  minWidth: width
91
90
  }, style)
92
91
  }, other, {
93
- children: !empty && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Skeleton.default, (0, _extends2.default)({}, skeletonProps))
92
+ children: !empty && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSkeleton, (0, _extends2.default)({}, skeletonProps))
94
93
  }));
95
94
  }
96
95
  process.env.NODE_ENV !== "production" ? GridSkeletonCell.propTypes = {