@mui/x-data-grid 7.0.0-alpha.7 → 7.0.0-alpha.9

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 (501) hide show
  1. package/CHANGELOG.md +554 -51
  2. package/DataGrid/DataGrid.js +15 -27
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +1 -1
  6. package/colDef/gridDateColDef.js +1 -1
  7. package/components/GridColumnHeaders.d.ts +3 -2
  8. package/components/GridColumnHeaders.js +3 -11
  9. package/components/GridDetailPanels.d.ts +5 -0
  10. package/components/GridDetailPanels.js +4 -0
  11. package/components/GridHeaders.d.ts +4 -0
  12. package/components/GridHeaders.js +53 -0
  13. package/components/GridPagination.d.ts +4 -4
  14. package/components/GridPagination.js +1 -1
  15. package/components/GridPinnedRows.d.ts +7 -0
  16. package/components/GridPinnedRows.js +4 -0
  17. package/components/GridRow.d.ts +7 -4
  18. package/components/GridRow.js +260 -97
  19. package/components/GridScrollbarFillerCell.d.ts +7 -0
  20. package/components/GridScrollbarFillerCell.js +39 -0
  21. package/components/base/GridBody.d.ts +2 -13
  22. package/components/base/GridBody.js +2 -116
  23. package/components/base/GridOverlays.js +10 -21
  24. package/components/cell/GridActionsCell.js +1 -1
  25. package/components/cell/GridActionsCellItem.d.ts +6 -6
  26. package/components/cell/GridCell.d.ts +15 -21
  27. package/components/cell/GridCell.js +68 -373
  28. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  29. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  30. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  31. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  32. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  33. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  34. package/components/containers/GridRoot.js +18 -15
  35. package/components/containers/GridRootStyles.js +307 -204
  36. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  37. package/components/panel/GridPanel.d.ts +3 -3
  38. package/components/panel/GridPanel.js +3 -4
  39. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  40. package/components/panel/filterPanel/GridFilterForm.js +32 -15
  41. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  42. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  43. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  44. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  45. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  46. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  47. package/components/toolbar/GridToolbarExport.js +6 -1
  48. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  49. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  50. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  51. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  52. package/components/toolbar/GridToolbarQuickFilter.d.ts +4 -0
  53. package/components/toolbar/GridToolbarQuickFilter.js +4 -0
  54. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  55. package/components/virtualization/GridBottomContainer.js +25 -0
  56. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  57. package/components/virtualization/GridMainContainer.js +20 -0
  58. package/components/virtualization/GridTopContainer.d.ts +2 -0
  59. package/components/virtualization/GridTopContainer.js +35 -0
  60. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  61. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  62. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  63. package/components/virtualization/GridVirtualScroller.js +69 -16
  64. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  65. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  66. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  67. package/constants/defaultGridSlotsComponents.js +6 -2
  68. package/constants/gridClasses.d.ts +60 -8
  69. package/constants/gridClasses.js +1 -1
  70. package/hooks/core/gridCoreSelector.d.ts +6 -0
  71. package/hooks/core/gridCoreSelector.js +5 -0
  72. package/hooks/core/useGridInitialization.js +4 -0
  73. package/hooks/core/useGridLoggerFactory.js +2 -2
  74. package/hooks/core/useGridRefs.d.ts +3 -0
  75. package/hooks/core/useGridRefs.js +13 -0
  76. package/hooks/core/useGridTheme.d.ts +3 -0
  77. package/hooks/core/useGridTheme.js +19 -0
  78. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  79. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  80. package/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  81. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  82. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  83. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  84. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  85. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  86. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  87. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  88. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  89. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  90. package/hooks/features/columns/index.d.ts +2 -2
  91. package/hooks/features/columns/index.js +2 -1
  92. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  93. package/hooks/features/columns/useGridColumns.js +20 -23
  94. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  95. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  96. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  97. package/hooks/features/dimensions/index.d.ts +2 -0
  98. package/hooks/features/dimensions/index.js +1 -0
  99. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  100. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  101. package/hooks/features/editing/useGridCellEditing.js +4 -4
  102. package/hooks/features/editing/useGridRowEditing.js +4 -4
  103. package/hooks/features/export/serializers/csvSerializer.js +3 -3
  104. package/hooks/features/export/useGridPrintExport.js +1 -1
  105. package/hooks/features/filter/gridFilterUtils.js +5 -5
  106. package/hooks/features/filter/useGridFilter.js +3 -3
  107. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  108. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  109. package/hooks/features/focus/useGridFocus.js +3 -3
  110. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  111. package/hooks/features/pagination/gridPaginationUtils.js +2 -2
  112. package/hooks/features/pagination/useGridPagination.js +3 -5
  113. package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  114. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  115. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  116. package/hooks/features/rows/gridRowsSelector.js +5 -5
  117. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  118. package/hooks/features/rows/gridRowsUtils.js +6 -6
  119. package/hooks/features/rows/useGridRows.js +7 -7
  120. package/hooks/features/rows/useGridRowsMeta.js +9 -6
  121. package/hooks/features/scroll/useGridScroll.js +8 -10
  122. package/hooks/features/sorting/gridSortingUtils.js +5 -3
  123. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  124. package/hooks/features/sorting/useGridSorting.js +15 -10
  125. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  126. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  127. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  128. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  129. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  130. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  131. package/hooks/utils/index.d.ts +3 -0
  132. package/hooks/utils/index.js +4 -1
  133. package/hooks/utils/useGridApiContext.js +1 -1
  134. package/hooks/utils/useGridAriaAttributes.js +1 -2
  135. package/hooks/utils/useGridNativeEventListener.js +4 -9
  136. package/hooks/utils/useGridPrivateApiContext.js +1 -1
  137. package/hooks/utils/useGridRootProps.js +1 -1
  138. package/hooks/utils/useGridSelector.js +1 -1
  139. package/hooks/utils/useResizeObserver.d.ts +2 -0
  140. package/hooks/utils/useResizeObserver.js +36 -0
  141. package/hooks/utils/useRunOnce.d.ts +5 -0
  142. package/hooks/utils/useRunOnce.js +18 -0
  143. package/index.d.ts +0 -1
  144. package/index.js +1 -2
  145. package/internals/index.d.ts +13 -9
  146. package/internals/index.js +9 -7
  147. package/internals/utils/index.d.ts +1 -0
  148. package/internals/utils/index.js +2 -1
  149. package/internals/utils/propValidation.d.ts +4 -0
  150. package/internals/utils/propValidation.js +19 -0
  151. package/legacy/DataGrid/DataGrid.js +20 -29
  152. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  153. package/legacy/DataGrid/useDataGridProps.js +1 -0
  154. package/legacy/colDef/gridDateColDef.js +1 -1
  155. package/legacy/components/GridColumnHeaders.js +3 -11
  156. package/legacy/components/GridDetailPanels.js +4 -0
  157. package/legacy/components/GridHeaders.js +53 -0
  158. package/legacy/components/GridPagination.js +1 -1
  159. package/legacy/components/GridPinnedRows.js +4 -0
  160. package/legacy/components/GridRow.js +258 -98
  161. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  162. package/legacy/components/base/GridBody.js +2 -114
  163. package/legacy/components/base/GridOverlays.js +10 -25
  164. package/legacy/components/cell/GridActionsCell.js +1 -1
  165. package/legacy/components/cell/GridCell.js +70 -378
  166. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  167. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  168. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  169. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  170. package/legacy/components/containers/GridRoot.js +18 -15
  171. package/legacy/components/containers/GridRootStyles.js +215 -137
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  173. package/legacy/components/panel/GridPanel.js +3 -4
  174. package/legacy/components/panel/filterPanel/GridFilterForm.js +31 -14
  175. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  176. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  177. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  178. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  179. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  180. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  181. package/legacy/components/toolbar/GridToolbarQuickFilter.js +4 -0
  182. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  183. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  184. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  185. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  186. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  187. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  188. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  189. package/legacy/constants/defaultGridSlotsComponents.js +6 -2
  190. package/legacy/constants/gridClasses.js +1 -1
  191. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  192. package/legacy/hooks/core/useGridInitialization.js +4 -0
  193. package/legacy/hooks/core/useGridLoggerFactory.js +2 -2
  194. package/legacy/hooks/core/useGridRefs.js +13 -0
  195. package/legacy/hooks/core/useGridTheme.js +21 -0
  196. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  197. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
  198. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  199. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  200. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  201. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  202. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  203. package/legacy/hooks/features/columns/index.js +2 -1
  204. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  205. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  206. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  207. package/legacy/hooks/features/dimensions/index.js +1 -0
  208. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  209. package/legacy/hooks/features/editing/useGridCellEditing.js +4 -4
  210. package/legacy/hooks/features/editing/useGridRowEditing.js +4 -4
  211. package/legacy/hooks/features/export/serializers/csvSerializer.js +3 -3
  212. package/legacy/hooks/features/export/useGridPrintExport.js +1 -1
  213. package/legacy/hooks/features/filter/gridFilterUtils.js +5 -5
  214. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  215. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  216. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  217. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  218. package/legacy/hooks/features/pagination/gridPaginationUtils.js +2 -2
  219. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  220. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  221. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  222. package/legacy/hooks/features/rows/gridRowsUtils.js +6 -6
  223. package/legacy/hooks/features/rows/useGridParamsApi.js +4 -5
  224. package/legacy/hooks/features/rows/useGridRows.js +7 -7
  225. package/legacy/hooks/features/rows/useGridRowsMeta.js +9 -6
  226. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  227. package/legacy/hooks/features/sorting/gridSortingUtils.js +5 -3
  228. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  229. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  230. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  231. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  232. package/legacy/hooks/utils/index.js +4 -1
  233. package/legacy/hooks/utils/useGridApiContext.js +1 -1
  234. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  235. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  236. package/legacy/hooks/utils/useGridPrivateApiContext.js +1 -1
  237. package/legacy/hooks/utils/useGridRootProps.js +1 -1
  238. package/legacy/hooks/utils/useGridSelector.js +1 -1
  239. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  240. package/legacy/hooks/utils/useRunOnce.js +18 -0
  241. package/legacy/index.js +1 -2
  242. package/legacy/internals/index.js +9 -7
  243. package/legacy/internals/utils/index.js +2 -1
  244. package/legacy/internals/utils/propValidation.js +21 -0
  245. package/legacy/locales/hrHR.js +161 -0
  246. package/legacy/locales/index.js +4 -1
  247. package/legacy/locales/ptPT.js +161 -0
  248. package/legacy/locales/zhHK.js +161 -0
  249. package/legacy/models/index.js +0 -1
  250. package/legacy/models/params/index.js +1 -2
  251. package/legacy/utils/createSelector.js +1 -1
  252. package/legacy/utils/exportAs.js +1 -1
  253. package/legacy/utils/utils.js +10 -1
  254. package/locales/hrHR.d.ts +1 -0
  255. package/locales/hrHR.js +149 -0
  256. package/locales/index.d.ts +3 -0
  257. package/locales/index.js +4 -1
  258. package/locales/ptPT.d.ts +1 -0
  259. package/locales/ptPT.js +149 -0
  260. package/locales/zhHK.d.ts +1 -0
  261. package/locales/zhHK.js +149 -0
  262. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  263. package/models/api/gridCoreApi.d.ts +16 -16
  264. package/models/api/gridRowsMetaApi.d.ts +1 -1
  265. package/models/api/gridVirtualizationApi.d.ts +2 -3
  266. package/models/events/gridEventLookup.d.ts +3 -3
  267. package/models/gridFilterModel.d.ts +1 -1
  268. package/models/gridSlotsComponent.d.ts +16 -2
  269. package/models/gridStateCommunity.d.ts +5 -1
  270. package/models/index.d.ts +0 -1
  271. package/models/index.js +0 -1
  272. package/models/params/index.d.ts +0 -1
  273. package/models/params/index.js +1 -2
  274. package/models/props/DataGridProps.d.ts +7 -12
  275. package/modern/DataGrid/DataGrid.js +15 -27
  276. package/modern/DataGrid/useDataGridComponent.js +2 -1
  277. package/modern/DataGrid/useDataGridProps.js +1 -0
  278. package/modern/colDef/gridDateColDef.js +1 -1
  279. package/modern/components/GridColumnHeaders.js +3 -11
  280. package/modern/components/GridDetailPanels.js +4 -0
  281. package/modern/components/GridHeaders.js +53 -0
  282. package/modern/components/GridPagination.js +1 -1
  283. package/modern/components/GridPinnedRows.js +4 -0
  284. package/modern/components/GridRow.js +258 -96
  285. package/modern/components/GridScrollbarFillerCell.js +39 -0
  286. package/modern/components/base/GridBody.js +2 -116
  287. package/modern/components/base/GridOverlays.js +10 -16
  288. package/modern/components/cell/GridActionsCell.js +1 -1
  289. package/modern/components/cell/GridCell.js +66 -370
  290. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  291. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  292. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  293. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  294. package/modern/components/containers/GridRoot.js +18 -14
  295. package/modern/components/containers/GridRootStyles.js +307 -204
  296. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  297. package/modern/components/panel/GridPanel.js +3 -4
  298. package/modern/components/panel/filterPanel/GridFilterForm.js +31 -14
  299. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  300. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  301. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  302. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  303. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  304. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  305. package/modern/components/toolbar/GridToolbarQuickFilter.js +4 -0
  306. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  307. package/modern/components/virtualization/GridMainContainer.js +20 -0
  308. package/modern/components/virtualization/GridTopContainer.js +35 -0
  309. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  310. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  311. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  312. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  313. package/modern/constants/defaultGridSlotsComponents.js +6 -2
  314. package/modern/constants/gridClasses.js +1 -1
  315. package/modern/hooks/core/gridCoreSelector.js +5 -0
  316. package/modern/hooks/core/useGridInitialization.js +4 -0
  317. package/modern/hooks/core/useGridLoggerFactory.js +2 -2
  318. package/modern/hooks/core/useGridRefs.js +13 -0
  319. package/modern/hooks/core/useGridTheme.js +19 -0
  320. package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  321. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  322. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  323. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  324. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  325. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  326. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  327. package/modern/hooks/features/columns/index.js +2 -1
  328. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  329. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  330. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  331. package/modern/hooks/features/dimensions/index.js +1 -0
  332. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  333. package/modern/hooks/features/editing/useGridCellEditing.js +4 -4
  334. package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
  335. package/modern/hooks/features/export/serializers/csvSerializer.js +3 -3
  336. package/modern/hooks/features/export/useGridPrintExport.js +1 -1
  337. package/modern/hooks/features/filter/gridFilterUtils.js +5 -5
  338. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  339. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  340. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  341. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  342. package/modern/hooks/features/pagination/gridPaginationUtils.js +2 -2
  343. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  344. package/modern/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  345. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  346. package/modern/hooks/features/rows/gridRowsUtils.js +6 -6
  347. package/modern/hooks/features/rows/useGridRows.js +7 -7
  348. package/modern/hooks/features/rows/useGridRowsMeta.js +9 -6
  349. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  350. package/modern/hooks/features/sorting/gridSortingUtils.js +5 -3
  351. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  352. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  353. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  354. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  355. package/modern/hooks/utils/index.js +4 -1
  356. package/modern/hooks/utils/useGridApiContext.js +1 -1
  357. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  358. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  359. package/modern/hooks/utils/useGridPrivateApiContext.js +1 -1
  360. package/modern/hooks/utils/useGridRootProps.js +1 -1
  361. package/modern/hooks/utils/useGridSelector.js +1 -1
  362. package/modern/hooks/utils/useResizeObserver.js +36 -0
  363. package/modern/hooks/utils/useRunOnce.js +18 -0
  364. package/modern/index.js +1 -2
  365. package/modern/internals/index.js +9 -7
  366. package/modern/internals/utils/index.js +2 -1
  367. package/modern/internals/utils/propValidation.js +19 -0
  368. package/modern/locales/hrHR.js +149 -0
  369. package/modern/locales/index.js +4 -1
  370. package/modern/locales/ptPT.js +149 -0
  371. package/modern/locales/zhHK.js +149 -0
  372. package/modern/models/index.js +0 -1
  373. package/modern/models/params/index.js +1 -2
  374. package/modern/utils/createSelector.js +1 -1
  375. package/modern/utils/exportAs.js +1 -1
  376. package/modern/utils/utils.js +10 -1
  377. package/node/DataGrid/DataGrid.js +15 -27
  378. package/node/DataGrid/useDataGridComponent.js +1 -0
  379. package/node/DataGrid/useDataGridProps.js +1 -0
  380. package/node/colDef/gridDateColDef.js +1 -1
  381. package/node/components/GridColumnHeaders.js +3 -11
  382. package/node/components/GridDetailPanels.js +10 -0
  383. package/node/components/GridHeaders.js +60 -0
  384. package/node/components/GridPagination.js +1 -1
  385. package/node/components/GridPinnedRows.js +10 -0
  386. package/node/components/GridRow.js +256 -94
  387. package/node/components/GridScrollbarFillerCell.js +47 -0
  388. package/node/components/base/GridBody.js +7 -118
  389. package/node/components/base/GridOverlays.js +9 -15
  390. package/node/components/cell/GridActionsCell.js +1 -1
  391. package/node/components/cell/GridCell.js +67 -370
  392. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  393. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  394. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  395. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  396. package/node/components/containers/GridRoot.js +17 -14
  397. package/node/components/containers/GridRootStyles.js +175 -72
  398. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  399. package/node/components/panel/GridPanel.js +3 -4
  400. package/node/components/panel/filterPanel/GridFilterForm.js +30 -13
  401. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  402. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  403. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  404. package/node/components/toolbar/GridToolbarExport.js +6 -1
  405. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  406. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  407. package/node/components/toolbar/GridToolbarQuickFilter.js +4 -0
  408. package/node/components/virtualization/GridBottomContainer.js +34 -0
  409. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  410. package/node/components/virtualization/GridTopContainer.js +44 -0
  411. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  412. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  413. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  414. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  415. package/node/constants/defaultGridSlotsComponents.js +5 -1
  416. package/node/constants/gridClasses.js +1 -1
  417. package/node/hooks/core/gridCoreSelector.js +12 -0
  418. package/node/hooks/core/useGridInitialization.js +4 -0
  419. package/node/hooks/core/useGridLoggerFactory.js +2 -2
  420. package/node/hooks/core/useGridRefs.js +22 -0
  421. package/node/hooks/core/useGridTheme.js +29 -0
  422. package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
  423. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
  424. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  425. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  426. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  427. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  428. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  429. package/node/hooks/features/columns/index.js +22 -61
  430. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  431. package/node/hooks/features/columns/useGridColumns.js +20 -22
  432. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  433. package/node/hooks/features/dimensions/index.js +11 -0
  434. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  435. package/node/hooks/features/editing/useGridCellEditing.js +4 -4
  436. package/node/hooks/features/editing/useGridRowEditing.js +4 -4
  437. package/node/hooks/features/export/serializers/csvSerializer.js +3 -3
  438. package/node/hooks/features/export/useGridPrintExport.js +1 -1
  439. package/node/hooks/features/filter/gridFilterUtils.js +5 -5
  440. package/node/hooks/features/filter/useGridFilter.js +2 -2
  441. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  442. package/node/hooks/features/focus/useGridFocus.js +2 -2
  443. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  444. package/node/hooks/features/pagination/gridPaginationUtils.js +2 -2
  445. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  446. package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
  447. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  448. package/node/hooks/features/rows/gridRowsUtils.js +6 -6
  449. package/node/hooks/features/rows/useGridRows.js +7 -7
  450. package/node/hooks/features/rows/useGridRowsMeta.js +7 -5
  451. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  452. package/node/hooks/features/sorting/gridSortingUtils.js +5 -3
  453. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  454. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  455. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  456. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  457. package/node/hooks/utils/index.js +36 -0
  458. package/node/hooks/utils/useGridApiContext.js +1 -1
  459. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  460. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  461. package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
  462. package/node/hooks/utils/useGridRootProps.js +1 -1
  463. package/node/hooks/utils/useGridSelector.js +1 -1
  464. package/node/hooks/utils/useResizeObserver.js +44 -0
  465. package/node/hooks/utils/useRunOnce.js +27 -0
  466. package/node/index.js +1 -13
  467. package/node/internals/index.js +86 -71
  468. package/node/internals/utils/index.js +11 -0
  469. package/node/internals/utils/propValidation.js +26 -0
  470. package/node/locales/hrHR.js +155 -0
  471. package/node/locales/index.js +33 -0
  472. package/node/locales/ptPT.js +155 -0
  473. package/node/locales/zhHK.js +155 -0
  474. package/node/models/index.js +0 -11
  475. package/node/models/params/index.js +0 -11
  476. package/node/utils/createSelector.js +1 -1
  477. package/node/utils/exportAs.js +1 -1
  478. package/node/utils/utils.js +11 -1
  479. package/package.json +6 -6
  480. package/utils/createSelector.js +1 -1
  481. package/utils/exportAs.js +1 -1
  482. package/utils/utils.d.ts +6 -0
  483. package/utils/utils.js +10 -1
  484. package/components/DataGridVirtualScroller.d.ts +0 -3
  485. package/components/DataGridVirtualScroller.js +0 -35
  486. package/components/containers/GridMainContainer.js +0 -43
  487. package/legacy/components/DataGridVirtualScroller.js +0 -32
  488. package/legacy/components/containers/GridMainContainer.js +0 -45
  489. package/legacy/models/gridRootContainerRef.js +0 -1
  490. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  491. package/models/gridRootContainerRef.d.ts +0 -5
  492. package/models/gridRootContainerRef.js +0 -1
  493. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  494. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  495. package/modern/components/DataGridVirtualScroller.js +0 -35
  496. package/modern/components/containers/GridMainContainer.js +0 -42
  497. package/modern/models/gridRootContainerRef.js +0 -1
  498. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  499. package/node/components/DataGridVirtualScroller.js +0 -42
  500. package/node/models/gridRootContainerRef.js +0 -5
  501. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -1,10 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
4
+ export const EMPTY_RENDER_CONTEXT = {
5
+ firstRowIndex: 0,
6
+ lastRowIndex: 0,
7
+ firstColumnIndex: 0,
8
+ lastColumnIndex: 0
9
+ };
4
10
  export const virtualizationStateInitializer = (state, props) => {
5
11
  const virtualization = {
6
12
  enabled: !props.disableVirtualization,
7
- enabledForColumns: true
13
+ enabledForColumns: true,
14
+ renderContext: EMPTY_RENDER_CONTEXT
8
15
  };
9
16
  return _extends({}, state, {
10
17
  virtualization
@@ -3,4 +3,7 @@ export * from './useGridApiMethod';
3
3
  export * from './useGridLogger';
4
4
  export { useGridSelector } from './useGridSelector';
5
5
  export * from './useGridNativeEventListener';
6
- export * from './useFirstRender';
6
+ export * from './useFirstRender';
7
+ export * from './useOnMount';
8
+ export * from './useResizeObserver';
9
+ export * from './useRunOnce';
@@ -3,7 +3,7 @@ import { GridApiContext } from '../../components/GridApiContext';
3
3
  export function useGridApiContext() {
4
4
  const apiRef = React.useContext(GridApiContext);
5
5
  if (apiRef === undefined) {
6
- throw new Error(['MUI: Could not find the data grid context.', 'It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.', 'This can also happen if you are bundling multiple versions of the data grid.'].join('\n'));
6
+ throw new Error(['MUI X: Could not find the data grid context.', 'It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.', 'This can also happen if you are bundling multiple versions of the data grid.'].join('\n'));
7
7
  }
8
8
  return apiRef;
9
9
  }
@@ -13,7 +13,7 @@ export const useGridAriaAttributes = () => {
13
13
  const headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
14
14
  const pinnedRowsCount = useGridSelector(apiRef, gridPinnedRowsCountSelector);
15
15
  let role = 'grid';
16
- if (rootProps.experimentalFeatures?.ariaV7 && rootProps.treeData) {
16
+ if (rootProps.treeData) {
17
17
  role = 'treegrid';
18
18
  }
19
19
  return {
@@ -5,6 +5,7 @@ export const useGridNativeEventListener = (apiRef, ref, eventName, handler, opti
5
5
  const logger = useGridLogger(apiRef, 'useNativeEventListener');
6
6
  const [added, setAdded] = React.useState(false);
7
7
  const handlerRef = React.useRef(handler);
8
+ const targetElement = isFunction(ref) ? ref() : ref?.current ?? null;
8
9
  const wrapHandler = React.useCallback(event => {
9
10
  return handlerRef.current && handlerRef.current(event);
10
11
  }, []);
@@ -12,22 +13,15 @@ export const useGridNativeEventListener = (apiRef, ref, eventName, handler, opti
12
13
  handlerRef.current = handler;
13
14
  }, [handler]);
14
15
  React.useEffect(() => {
15
- let targetElement;
16
- if (isFunction(ref)) {
17
- targetElement = ref();
18
- } else {
19
- targetElement = ref && ref.current ? ref.current : null;
20
- }
21
16
  if (targetElement && eventName && !added) {
22
17
  logger.debug(`Binding native ${eventName} event`);
23
18
  targetElement.addEventListener(eventName, wrapHandler, options);
24
- const boundElem = targetElement;
25
19
  setAdded(true);
26
20
  const unsubscribe = () => {
27
21
  logger.debug(`Clearing native ${eventName} event`);
28
- boundElem.removeEventListener(eventName, wrapHandler, options);
22
+ targetElement.removeEventListener(eventName, wrapHandler, options);
29
23
  };
30
24
  apiRef.current.subscribeEvent('unmount', unsubscribe);
31
25
  }
32
- }, [ref, wrapHandler, eventName, added, logger, options, apiRef]);
26
+ }, [targetElement, wrapHandler, eventName, added, logger, options, apiRef]);
33
27
  };
@@ -6,7 +6,7 @@ if (process.env.NODE_ENV !== 'production') {
6
6
  export function useGridPrivateApiContext() {
7
7
  const privateApiRef = React.useContext(GridPrivateApiContext);
8
8
  if (privateApiRef === undefined) {
9
- throw new Error(['MUI: Could not find the data grid private context.', 'It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.', 'This can also happen if you are bundling multiple versions of the data grid.'].join('\n'));
9
+ throw new Error(['MUI X: Could not find the data grid private context.', 'It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.', 'This can also happen if you are bundling multiple versions of the data grid.'].join('\n'));
10
10
  }
11
11
  return privateApiRef;
12
12
  }
@@ -3,7 +3,7 @@ import { GridRootPropsContext } from '../../context/GridRootPropsContext';
3
3
  export const useGridRootProps = () => {
4
4
  const contextValue = React.useContext(GridRootPropsContext);
5
5
  if (!contextValue) {
6
- throw new Error('MUI: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.');
6
+ throw new Error('MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.');
7
7
  }
8
8
  return contextValue;
9
9
  };
@@ -3,7 +3,7 @@ import { useLazyRef } from './useLazyRef';
3
3
  import { useOnMount } from './useOnMount';
4
4
  import { buildWarning } from '../../utils/warning';
5
5
  import { fastObjectShallowCompare } from '../../utils/fastObjectShallowCompare';
6
- const stateNotInitializedWarning = buildWarning(['MUI: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
6
+ const stateNotInitializedWarning = buildWarning(['MUI X: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
7
7
  function isOutputSelector(selector) {
8
8
  return selector.acceptsApiRef;
9
9
  }
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
3
+ const isDevEnvironment = process.env.NODE_ENV === 'development';
4
+ const noop = () => {};
5
+ export function useResizeObserver(ref, fn, enabled) {
6
+ const fnRef = React.useRef(null);
7
+ fnRef.current = fn;
8
+ useEnhancedEffect(() => {
9
+ if (enabled === false || typeof ResizeObserver === 'undefined') {
10
+ return noop;
11
+ }
12
+ let frameID = 0;
13
+ const target = ref.current;
14
+ const observer = new ResizeObserver(entries => {
15
+ // See https://github.com/mui/mui-x/issues/8733
16
+ // In dev, we avoid the React warning by moving the task to the next frame.
17
+ // In prod, we want the task to run in the same frame as to avoid tear.
18
+ if (isDevEnvironment) {
19
+ frameID = requestAnimationFrame(() => {
20
+ fnRef.current(entries);
21
+ });
22
+ } else {
23
+ fnRef.current(entries);
24
+ }
25
+ });
26
+ if (target) {
27
+ observer.observe(target);
28
+ }
29
+ return () => {
30
+ if (frameID) {
31
+ cancelAnimationFrame(frameID);
32
+ }
33
+ observer.disconnect();
34
+ };
35
+ }, [ref, enabled]);
36
+ }
@@ -0,0 +1,18 @@
1
+ import * as React from 'react';
2
+ import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
3
+ const noop = () => {};
4
+
5
+ /**
6
+ * Runs an effect once, when `condition` is true.
7
+ */
8
+ export const useRunOnce = (condition, effect) => {
9
+ const didRun = React.useRef(false);
10
+ useEnhancedEffect(() => {
11
+ if (didRun.current || !condition) {
12
+ return noop;
13
+ }
14
+ didRun.current = true;
15
+ return effect();
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
+ }, [didRun.current || condition]);
18
+ };
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.0.0-alpha.7
2
+ * @mui/x-data-grid v7.0.0-alpha.9
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -12,7 +12,6 @@ export * from './DataGrid';
12
12
  export * from './components';
13
13
  export * from './constants';
14
14
  export * from './hooks';
15
- export * from './locales';
16
15
  export * from './models';
17
16
  export * from './context';
18
17
  export * from './colDef';
@@ -1,6 +1,7 @@
1
1
  export { GridVirtualScroller } from '../components/virtualization/GridVirtualScroller';
2
2
  export { GridVirtualScrollerContent } from '../components/virtualization/GridVirtualScrollerContent';
3
3
  export { GridVirtualScrollerRenderZone } from '../components/virtualization/GridVirtualScrollerRenderZone';
4
+ export { GridHeaders } from '../components/GridHeaders';
4
5
  export { GridBaseColumnHeaders } from '../components/columnHeaders/GridBaseColumnHeaders';
5
6
  export { GridColumnHeadersInner } from '../components/columnHeaders/GridColumnHeadersInner';
6
7
  export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
@@ -10,13 +11,13 @@ export { useGridRegisterStrategyProcessor, GRID_DEFAULT_STRATEGY } from '../hook
10
11
  export { useGridInitialization } from '../hooks/core/useGridInitialization';
11
12
  export { unwrapPrivateAPI } from '../hooks/core/useGridApiInitialization';
12
13
  export { useGridClipboard } from '../hooks/features/clipboard/useGridClipboard';
13
- export { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
14
+ export * from '../hooks/features/columnHeaders/useGridColumnHeaders';
14
15
  export { gridHeaderFilteringEditFieldSelector, gridHeaderFilteringMenuSelector } from '../hooks/features/headerFiltering/gridHeaderFilteringSelectors';
15
16
  export { useGridColumnMenu, columnMenuStateInitializer } from '../hooks/features/columnMenu/useGridColumnMenu';
16
17
  export { useGridColumns, columnsStateInitializer } from '../hooks/features/columns/useGridColumns';
17
- export { getTotalHeaderHeight } from '../hooks/features/columns/gridColumnsUtils';
18
+ export * from '../hooks/features/columns/gridColumnsUtils';
18
19
  export { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
19
- export { gridColumnsStateSelector } from '../hooks/features/columns/gridColumnsSelector';
20
+ export * from '../hooks/features/columns/gridColumnsSelector';
20
21
  export { useGridColumnGrouping, columnGroupsStateInitializer } from '../hooks/features/columnGrouping/useGridColumnGrouping';
21
22
  export { useGridDensity, densityStateInitializer } from '../hooks/features/density/useGridDensity';
22
23
  export { useGridCsvExport } from '../hooks/features/export/useGridCsvExport';
@@ -44,9 +45,9 @@ export { useGridRowSelectionPreProcessors } from '../hooks/features/rowSelection
44
45
  export { useGridSorting, sortingStateInitializer } from '../hooks/features/sorting/useGridSorting';
45
46
  export { useGridScroll } from '../hooks/features/scroll/useGridScroll';
46
47
  export { useGridEvents } from '../hooks/features/events/useGridEvents';
47
- export { useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
48
+ export { dimensionsStateInitializer, useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
48
49
  export { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
49
- export { useGridVirtualScroller, getRenderableIndexes } from '../hooks/features/virtualization/useGridVirtualScroller';
50
+ export { useGridVirtualScroller, EMPTY_DETAIL_PANELS } from '../hooks/features/virtualization/useGridVirtualScroller';
50
51
  export * from '../hooks/features/virtualization';
51
52
  export { useTimeout } from '../hooks/utils/useTimeout';
52
53
  export { useGridVisibleRows, getVisibleRows } from '../hooks/utils/useGridVisibleRows';
@@ -56,11 +57,12 @@ export * from '../utils/createControllablePromise';
56
57
  export { createSelector, createSelectorMemoized, unstable_resetCreateSelectorCache } from '../utils/createSelector';
57
58
  export { findParentElementFromClassName, getActiveElement, isEventTargetInPortal } from '../utils/domUtils';
58
59
  export { isNavigationKey } from '../utils/keyboardUtils';
59
- export { clamp, isDeepEqual, isNumber, isFunction, isObject } from '../utils/utils';
60
+ export * from '../utils/utils';
61
+ export * from '../utils/fastMemo';
60
62
  export { buildWarning } from '../utils/warning';
61
63
  export { exportAs } from '../utils/exportAs';
62
64
  export * from '../utils/getPublicApiRef';
63
65
  export { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
64
- export * from '../hooks/utils/useOnMount';
66
+ export * from '../hooks/utils';
65
67
  export { serializeCellValue } from '../hooks/features/export/serializers/csvSerializer';
66
68
  export * from './utils';
@@ -1,2 +1,3 @@
1
1
  export * from './computeSlots';
2
- export * from './useProps';
2
+ export * from './useProps';
3
+ export * from './propValidation';
@@ -0,0 +1,19 @@
1
+ export const propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You can not use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined];
2
+ const warnedOnceMap = new Set();
3
+ const warnOnce = message => {
4
+ if (!warnedOnceMap.has(message)) {
5
+ console.error(message);
6
+ warnedOnceMap.add(message);
7
+ }
8
+ };
9
+ export const validateProps = (props, validators) => {
10
+ if (process.env.NODE_ENV === 'production') {
11
+ return;
12
+ }
13
+ validators.forEach(validator => {
14
+ const warning = validator(props);
15
+ if (warning) {
16
+ warnOnce(warning);
17
+ }
18
+ });
19
+ };
@@ -0,0 +1,149 @@
1
+ import { hrHR as hrHRCore } from '@mui/material/locale';
2
+ import { getGridLocalization } from '../utils/getGridLocalization';
3
+ const hrHRGrid = {
4
+ // Root
5
+ noRowsLabel: 'Nema redova',
6
+ noResultsOverlayLabel: 'Nema rezultata.',
7
+ // Density selector toolbar button text
8
+ toolbarDensity: 'Gustoća',
9
+ toolbarDensityLabel: 'Gustoća',
10
+ toolbarDensityCompact: 'Kompaktan',
11
+ toolbarDensityStandard: 'Standard',
12
+ toolbarDensityComfortable: 'Udobno',
13
+ // Columns selector toolbar button text
14
+ toolbarColumns: 'Stupci',
15
+ toolbarColumnsLabel: 'Odaberite stupce',
16
+ // Filters toolbar button text
17
+ toolbarFilters: 'Filteri',
18
+ toolbarFiltersLabel: 'Prikaži filtre',
19
+ toolbarFiltersTooltipHide: 'Sakrij filtre',
20
+ toolbarFiltersTooltipShow: 'Prikaži filtre',
21
+ toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktivnih filtara` : `${count} aktivni filter`,
22
+ // Quick filter toolbar field
23
+ toolbarQuickFilterPlaceholder: 'Traži…',
24
+ toolbarQuickFilterLabel: 'traži',
25
+ toolbarQuickFilterDeleteIconLabel: 'Čisto',
26
+ // Export selector toolbar button text
27
+ toolbarExport: 'Izvoz',
28
+ toolbarExportLabel: 'Izvoz',
29
+ toolbarExportCSV: 'Preuzmi kao CSV',
30
+ toolbarExportPrint: 'Ispis',
31
+ toolbarExportExcel: 'Preuzmite kao Excel',
32
+ // Columns panel text
33
+ columnsPanelTextFieldLabel: 'Pronađi stupac',
34
+ columnsPanelTextFieldPlaceholder: 'Naslov stupca',
35
+ columnsPanelDragIconLabel: 'Promijeni redoslijed stupca',
36
+ columnsPanelShowAllButton: 'Pokaži sve',
37
+ columnsPanelHideAllButton: 'Sakrij sve',
38
+ // Filter panel text
39
+ filterPanelAddFilter: 'Dodajte filter',
40
+ filterPanelRemoveAll: 'Ukloniti sve',
41
+ filterPanelDeleteIconLabel: 'Izbrisati',
42
+ filterPanelLogicOperator: 'Logički operator',
43
+ filterPanelOperator: 'Operater',
44
+ filterPanelOperatorAnd: 'I',
45
+ filterPanelOperatorOr: 'Ili',
46
+ filterPanelColumns: 'Stupci',
47
+ filterPanelInputLabel: 'Vrijednost',
48
+ filterPanelInputPlaceholder: 'Vrijednost filtra',
49
+ // Filter operators text
50
+ filterOperatorContains: 'sadrži',
51
+ filterOperatorEquals: 'jednaki',
52
+ filterOperatorStartsWith: 'počinje sa',
53
+ filterOperatorEndsWith: 'završava sa',
54
+ filterOperatorIs: 'je',
55
+ filterOperatorNot: 'nije',
56
+ filterOperatorAfter: 'je poslije',
57
+ filterOperatorOnOrAfter: 'je na ili poslije',
58
+ filterOperatorBefore: 'je prije',
59
+ filterOperatorOnOrBefore: 'je na ili prije',
60
+ filterOperatorIsEmpty: 'prazno je',
61
+ filterOperatorIsNotEmpty: 'nije prazna',
62
+ filterOperatorIsAnyOf: 'je bilo koji od',
63
+ 'filterOperator=': '=',
64
+ 'filterOperator!=': '!=',
65
+ 'filterOperator>': '>',
66
+ 'filterOperator>=': '>=',
67
+ 'filterOperator<': '<',
68
+ 'filterOperator<=': '<=',
69
+ // Header filter operators text
70
+ headerFilterOperatorContains: 'Sadrži',
71
+ headerFilterOperatorEquals: 'Jednako',
72
+ headerFilterOperatorStartsWith: 'Počinje sa',
73
+ headerFilterOperatorEndsWith: 'Završava s',
74
+ headerFilterOperatorIs: 'Je',
75
+ headerFilterOperatorNot: 'Nije',
76
+ headerFilterOperatorAfter: 'Je poslije',
77
+ headerFilterOperatorOnOrAfter: 'Je uključeno ili poslije',
78
+ headerFilterOperatorBefore: 'Je li prije',
79
+ headerFilterOperatorOnOrBefore: 'Uključeno je ili prije',
80
+ headerFilterOperatorIsEmpty: 'Prazno je',
81
+ headerFilterOperatorIsNotEmpty: 'Nije prazna',
82
+ headerFilterOperatorIsAnyOf: 'Je li bilo koji od',
83
+ 'headerFilterOperator=': 'Jednako',
84
+ 'headerFilterOperator!=': 'Nije jednako',
85
+ 'headerFilterOperator>': 'Veći od',
86
+ 'headerFilterOperator>=': 'Veće ili jednako',
87
+ 'headerFilterOperator<': 'Manje od',
88
+ 'headerFilterOperator<=': 'Manje od ili jednako',
89
+ // Filter values text
90
+ filterValueAny: 'bilo koji',
91
+ filterValueTrue: 'pravi',
92
+ filterValueFalse: 'lažno',
93
+ // Column menu text
94
+ columnMenuLabel: 'Jelovnik ',
95
+ columnMenuShowColumns: 'Prikaži stupce',
96
+ columnMenuManageColumns: 'Upravljanje stupcima',
97
+ columnMenuFilter: 'filtar',
98
+ columnMenuHideColumn: 'Sakrij stupac',
99
+ columnMenuUnsort: 'Poništi sortiranje',
100
+ columnMenuSortAsc: 'Poredaj uzlazno',
101
+ columnMenuSortDesc: 'Poredaj silaznim redom',
102
+ // Column header text
103
+ columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} aktivnih filtara` : `${count} aktivni filter`,
104
+ columnHeaderFiltersLabel: 'Prikaži filtre',
105
+ columnHeaderSortIconLabel: 'Vrsta',
106
+ // Rows selected footer text
107
+ footerRowSelected: count => count !== 1 ? `Odabrano je ${count.toLocaleString()} redaka` : `${count.toLocaleString()} redak odabran`,
108
+ // Total row amount footer text
109
+ footerTotalRows: 'Ukupno redaka:',
110
+ // Total visible row amount footer text
111
+ footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} od ${totalCount.toLocaleString()}`,
112
+ // Checkbox selection text
113
+ checkboxSelectionHeaderName: 'Odabir potvrdnog okvira',
114
+ checkboxSelectionSelectAllRows: 'Odaberite sve retke',
115
+ checkboxSelectionUnselectAllRows: 'Poništi odabir svih redaka',
116
+ checkboxSelectionSelectRow: 'Odaberite red',
117
+ checkboxSelectionUnselectRow: 'Poništi odabir retka',
118
+ // Boolean cell text
119
+ booleanCellTrueLabel: 'Da',
120
+ booleanCellFalseLabel: 'Ne',
121
+ // Actions cell more text
122
+ actionsCellMore: 'više',
123
+ // Column pinning text
124
+ pinToLeft: 'Prikvači lijevo',
125
+ pinToRight: 'Prikvači desno',
126
+ unpin: 'Otkvači',
127
+ // Tree Data
128
+ treeDataGroupingHeaderName: 'Group',
129
+ treeDataExpand: 'vidjeti djecu',
130
+ treeDataCollapse: 'sakriti djecu',
131
+ // Grouping columns
132
+ groupingColumnHeaderName: 'Skupina',
133
+ groupColumn: name => `Grupiraj prema ${name}`,
134
+ unGroupColumn: name => `Zaustavi grupiranje prema ${name}`,
135
+ // Master/detail
136
+ detailPanelToggle: 'Prebacivanje ploče s detaljima',
137
+ expandDetailPanel: 'Proširiti',
138
+ collapseDetailPanel: 'Kolaps',
139
+ // Row reordering text
140
+ rowReorderingHeaderName: 'Promjena redoslijeda',
141
+ // Aggregation
142
+ aggregationMenuItemHeader: 'Agregacija',
143
+ aggregationFunctionLabelSum: 'iznos',
144
+ aggregationFunctionLabelAvg: 'prosj',
145
+ aggregationFunctionLabelMin: 'min',
146
+ aggregationFunctionLabelMax: 'max',
147
+ aggregationFunctionLabelSize: 'veličina'
148
+ };
149
+ export const hrHR = getGridLocalization(hrHRGrid, hrHRCore);
@@ -29,4 +29,7 @@ export * from './ukUA';
29
29
  export * from './urPK';
30
30
  export * from './viVN';
31
31
  export * from './zhCN';
32
- export * from './zhTW';
32
+ export * from './zhTW';
33
+ export * from './hrHR';
34
+ export * from './ptPT';
35
+ export * from './zhHK';
@@ -0,0 +1,149 @@
1
+ import { ptPT as ptPTCore } from '@mui/material/locale';
2
+ import { getGridLocalization } from '../utils/getGridLocalization';
3
+ const ptPTGrid = {
4
+ // Root
5
+ noRowsLabel: 'Nenhuma linha',
6
+ noResultsOverlayLabel: 'Nenhum resultado encontrado.',
7
+ // Density selector toolbar button text
8
+ toolbarDensity: 'Densidade',
9
+ toolbarDensityLabel: 'Densidade',
10
+ toolbarDensityCompact: 'Compactar',
11
+ toolbarDensityStandard: 'Padrão',
12
+ toolbarDensityComfortable: 'Confortável',
13
+ // Columns selector toolbar button text
14
+ toolbarColumns: 'Colunas',
15
+ toolbarColumnsLabel: 'Selecione colunas',
16
+ // Filters toolbar button text
17
+ toolbarFilters: 'Filtros',
18
+ toolbarFiltersLabel: 'Mostrar filtros',
19
+ toolbarFiltersTooltipHide: 'Ocultar filtros',
20
+ toolbarFiltersTooltipShow: 'Mostrar filtros',
21
+ toolbarFiltersTooltipActive: count => count !== 1 ? `${count} filtros ativos` : `${count} filtro ativo`,
22
+ // Quick filter toolbar field
23
+ toolbarQuickFilterPlaceholder: 'Procurar…',
24
+ toolbarQuickFilterLabel: 'Procurar',
25
+ toolbarQuickFilterDeleteIconLabel: 'Claro',
26
+ // Export selector toolbar button text
27
+ toolbarExport: 'Exportar',
28
+ toolbarExportLabel: 'Exportar',
29
+ toolbarExportCSV: 'Baixar como CSV',
30
+ toolbarExportPrint: 'Imprimir',
31
+ toolbarExportExcel: 'Baixe como Excel',
32
+ // Columns panel text
33
+ columnsPanelTextFieldLabel: 'Encontrar coluna',
34
+ columnsPanelTextFieldPlaceholder: 'Título da coluna',
35
+ columnsPanelDragIconLabel: 'Reordenar coluna',
36
+ columnsPanelShowAllButton: 'Mostre tudo',
37
+ columnsPanelHideAllButton: 'Esconda tudo',
38
+ // Filter panel text
39
+ filterPanelAddFilter: 'Adicionar filtro',
40
+ filterPanelRemoveAll: 'Deletar tudo',
41
+ filterPanelDeleteIconLabel: 'Excluir',
42
+ filterPanelLogicOperator: 'Operador lógico',
43
+ filterPanelOperator: 'Operador',
44
+ filterPanelOperatorAnd: 'E',
45
+ filterPanelOperatorOr: 'Ou',
46
+ filterPanelColumns: 'Colunas',
47
+ filterPanelInputLabel: 'Valor',
48
+ filterPanelInputPlaceholder: 'Valor do filtro',
49
+ // Filter operators text
50
+ filterOperatorContains: 'contém',
51
+ filterOperatorEquals: 'é igual a',
52
+ filterOperatorStartsWith: 'começa com',
53
+ filterOperatorEndsWith: 'termina com',
54
+ filterOperatorIs: 'é',
55
+ filterOperatorNot: 'não é',
56
+ filterOperatorAfter: 'está depois',
57
+ filterOperatorOnOrAfter: 'está ligado ou depois',
58
+ filterOperatorBefore: 'é antes',
59
+ filterOperatorOnOrBefore: 'está ligado ou antes',
60
+ filterOperatorIsEmpty: 'está vazia',
61
+ filterOperatorIsNotEmpty: 'não está vazio',
62
+ filterOperatorIsAnyOf: 'é qualquer um',
63
+ 'filterOperator=': '=',
64
+ 'filterOperator!=': '!=',
65
+ 'filterOperator>': '>',
66
+ 'filterOperator>=': '>=',
67
+ 'filterOperator<': '<',
68
+ 'filterOperator<=': '<=',
69
+ // Header filter operators text
70
+ headerFilterOperatorContains: 'Contém',
71
+ headerFilterOperatorEquals: 'É igual a',
72
+ headerFilterOperatorStartsWith: 'Começa com',
73
+ headerFilterOperatorEndsWith: 'Termina com',
74
+ headerFilterOperatorIs: 'É',
75
+ headerFilterOperatorNot: 'Não é',
76
+ headerFilterOperatorAfter: 'Está depois',
77
+ headerFilterOperatorOnOrAfter: 'Está ligado ou depois',
78
+ headerFilterOperatorBefore: 'É antes',
79
+ headerFilterOperatorOnOrBefore: 'Está ligado ou antes',
80
+ headerFilterOperatorIsEmpty: 'Está vazia',
81
+ headerFilterOperatorIsNotEmpty: 'Não está vazio',
82
+ headerFilterOperatorIsAnyOf: 'Algum',
83
+ 'headerFilterOperator=': 'É igual a',
84
+ 'headerFilterOperator!=': 'Não é igual',
85
+ 'headerFilterOperator>': 'Maior que',
86
+ 'headerFilterOperator>=': 'Melhor que ou igual a',
87
+ 'headerFilterOperator<': 'Menor que',
88
+ 'headerFilterOperator<=': 'Menos que ou igual a',
89
+ // Filter values text
90
+ filterValueAny: 'qualquer',
91
+ filterValueTrue: 'verdadeiro',
92
+ filterValueFalse: 'falso',
93
+ // Column menu text
94
+ columnMenuLabel: 'Cardápio',
95
+ columnMenuShowColumns: 'Mostrar colunas',
96
+ columnMenuManageColumns: 'Gerenciar colunas',
97
+ columnMenuFilter: 'Filtro',
98
+ columnMenuHideColumn: 'Ocultar coluna',
99
+ columnMenuUnsort: 'Desclassificar',
100
+ columnMenuSortAsc: 'Classificar por ordem crescente',
101
+ columnMenuSortDesc: 'Classificar por ordem decrescente',
102
+ // Column header text
103
+ columnHeaderFiltersTooltipActive: count => count !== 1 ? `${count} filtros ativos` : `${count} filtro ativo`,
104
+ columnHeaderFiltersLabel: 'Mostrar filtros',
105
+ columnHeaderSortIconLabel: 'Organizar',
106
+ // Rows selected footer text
107
+ footerRowSelected: count => count !== 1 ? `${count.toLocaleString()} linhas selecionadas` : `${count.toLocaleString()} linha selecionada`,
108
+ // Total row amount footer text
109
+ footerTotalRows: 'Total de linhas:',
110
+ // Total visible row amount footer text
111
+ footerTotalVisibleRows: (visibleCount, totalCount) => `${visibleCount.toLocaleString()} de ${totalCount.toLocaleString()}`,
112
+ // Checkbox selection text
113
+ checkboxSelectionHeaderName: 'Seleção de caixa de seleção',
114
+ checkboxSelectionSelectAllRows: 'Selecione todas as linhas',
115
+ checkboxSelectionUnselectAllRows: 'Desmarque todas as linhas',
116
+ checkboxSelectionSelectRow: 'Selecione a linha',
117
+ checkboxSelectionUnselectRow: 'Desmarcar linha',
118
+ // Boolean cell text
119
+ booleanCellTrueLabel: 'sim',
120
+ booleanCellFalseLabel: 'não',
121
+ // Actions cell more text
122
+ actionsCellMore: 'mais',
123
+ // Column pinning text
124
+ pinToLeft: 'Fixar à esquerda',
125
+ pinToRight: 'Fixar à direita',
126
+ unpin: 'Liberar',
127
+ // Tree Data
128
+ treeDataGroupingHeaderName: 'Group',
129
+ treeDataExpand: 'veja crianças',
130
+ treeDataCollapse: 'esconder crianças',
131
+ // Grouping columns
132
+ groupingColumnHeaderName: 'Grupo',
133
+ groupColumn: name => `Agrupar por ${name}`,
134
+ unGroupColumn: name => `Pare de agrupar por ${name}`,
135
+ // Master/detail
136
+ detailPanelToggle: 'Alternar painel de detalhes',
137
+ expandDetailPanel: 'Expandir',
138
+ collapseDetailPanel: 'Colapso',
139
+ // Row reordering text
140
+ rowReorderingHeaderName: 'Reordenação de linhas',
141
+ // Aggregation
142
+ aggregationMenuItemHeader: 'Agregação',
143
+ aggregationFunctionLabelSum: 'soma',
144
+ aggregationFunctionLabelAvg: 'média',
145
+ aggregationFunctionLabelMin: 'min',
146
+ aggregationFunctionLabelMax: 'máx.',
147
+ aggregationFunctionLabelSize: 'tamanho'
148
+ };
149
+ export const ptPT = getGridLocalization(ptPTGrid, ptPTCore);