@mui/x-data-grid 7.0.0-alpha.8 → 7.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/CHANGELOG.md +508 -30
  2. package/DataGrid/DataGrid.js +6 -6
  3. package/DataGrid/useDataGridComponent.js +2 -1
  4. package/DataGrid/useDataGridProps.js +1 -0
  5. package/README.md +3 -3
  6. package/components/GridColumnHeaders.d.ts +3 -2
  7. package/components/GridColumnHeaders.js +3 -11
  8. package/components/GridDetailPanels.d.ts +5 -0
  9. package/components/GridDetailPanels.js +4 -0
  10. package/components/GridHeaders.d.ts +4 -0
  11. package/components/GridHeaders.js +53 -0
  12. package/components/GridPinnedRows.d.ts +7 -0
  13. package/components/GridPinnedRows.js +4 -0
  14. package/components/GridRow.d.ts +7 -4
  15. package/components/GridRow.js +161 -97
  16. package/components/GridScrollbarFillerCell.d.ts +7 -0
  17. package/components/GridScrollbarFillerCell.js +39 -0
  18. package/components/base/GridBody.d.ts +2 -13
  19. package/components/base/GridBody.js +2 -116
  20. package/components/base/GridOverlays.js +10 -21
  21. package/components/cell/GridActionsCellItem.d.ts +2 -2
  22. package/components/cell/GridCell.d.ts +15 -21
  23. package/components/cell/GridCell.js +67 -372
  24. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  25. package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
  26. package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  27. package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
  28. package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  29. package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  30. package/components/columnsManagement/GridColumnsManagement.d.ts +36 -0
  31. package/components/columnsManagement/GridColumnsManagement.js +260 -0
  32. package/components/columnsManagement/index.d.ts +1 -0
  33. package/components/columnsManagement/index.js +1 -0
  34. package/components/columnsManagement/utils.d.ts +4 -0
  35. package/components/columnsManagement/utils.js +16 -0
  36. package/components/containers/GridRoot.js +18 -15
  37. package/components/containers/GridRootStyles.js +307 -204
  38. package/components/index.d.ts +1 -0
  39. package/components/index.js +1 -0
  40. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  41. package/components/panel/GridColumnsPanel.d.ts +0 -28
  42. package/components/panel/GridColumnsPanel.js +5 -213
  43. package/components/panel/GridPanel.js +3 -4
  44. package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
  45. package/components/panel/filterPanel/GridFilterForm.js +31 -14
  46. package/components/panel/filterPanel/GridFilterPanel.js +46 -20
  47. package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
  48. package/components/toolbar/GridToolbarColumnsButton.js +40 -22
  49. package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
  50. package/components/toolbar/GridToolbarDensitySelector.js +40 -22
  51. package/components/toolbar/GridToolbarExport.d.ts +10 -1
  52. package/components/toolbar/GridToolbarExport.js +6 -1
  53. package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
  54. package/components/toolbar/GridToolbarExportContainer.js +41 -23
  55. package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
  56. package/components/toolbar/GridToolbarFilterButton.js +6 -10
  57. package/components/virtualization/GridBottomContainer.d.ts +2 -0
  58. package/components/virtualization/GridBottomContainer.js +25 -0
  59. package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
  60. package/components/virtualization/GridMainContainer.js +20 -0
  61. package/components/virtualization/GridTopContainer.d.ts +2 -0
  62. package/components/virtualization/GridTopContainer.js +35 -0
  63. package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
  64. package/components/virtualization/GridVirtualScrollbar.js +131 -0
  65. package/components/virtualization/GridVirtualScroller.d.ts +4 -4
  66. package/components/virtualization/GridVirtualScroller.js +69 -16
  67. package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
  68. package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  69. package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  70. package/constants/defaultGridSlotsComponents.js +8 -3
  71. package/constants/gridClasses.d.ts +72 -12
  72. package/constants/gridClasses.js +1 -1
  73. package/constants/localeTextConstants.js +4 -6
  74. package/hooks/core/gridCoreSelector.d.ts +6 -0
  75. package/hooks/core/gridCoreSelector.js +5 -0
  76. package/hooks/core/useGridApiInitialization.js +4 -0
  77. package/hooks/core/useGridInitialization.js +4 -0
  78. package/hooks/core/useGridRefs.d.ts +3 -0
  79. package/hooks/core/useGridRefs.js +13 -0
  80. package/hooks/core/useGridTheme.d.ts +3 -0
  81. package/hooks/core/useGridTheme.js +19 -0
  82. package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
  83. package/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  84. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
  85. package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
  86. package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  87. package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
  88. package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  89. package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
  90. package/hooks/features/columns/gridColumnsSelector.js +52 -0
  91. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
  92. package/hooks/features/columns/gridColumnsUtils.js +10 -12
  93. package/hooks/features/columns/index.d.ts +2 -2
  94. package/hooks/features/columns/index.js +2 -1
  95. package/hooks/features/columns/useGridColumnSpanning.js +62 -61
  96. package/hooks/features/columns/useGridColumns.js +20 -23
  97. package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
  98. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
  99. package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  100. package/hooks/features/dimensions/index.d.ts +2 -0
  101. package/hooks/features/dimensions/index.js +1 -0
  102. package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
  103. package/hooks/features/dimensions/useGridDimensions.js +216 -148
  104. package/hooks/features/export/serializers/csvSerializer.js +2 -2
  105. package/hooks/features/filter/useGridFilter.js +3 -3
  106. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
  107. package/hooks/features/focus/gridFocusStateSelector.js +2 -6
  108. package/hooks/features/focus/useGridFocus.js +3 -3
  109. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  110. package/hooks/features/pagination/useGridPagination.js +3 -5
  111. package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
  112. package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
  113. package/hooks/features/rows/gridRowsSelector.js +5 -5
  114. package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
  115. package/hooks/features/rows/gridRowsUtils.js +8 -5
  116. package/hooks/features/rows/useGridRowsMeta.js +7 -4
  117. package/hooks/features/scroll/useGridScroll.js +8 -10
  118. package/hooks/features/sorting/gridSortingUtils.js +1 -1
  119. package/hooks/features/sorting/useGridSorting.d.ts +1 -1
  120. package/hooks/features/sorting/useGridSorting.js +15 -10
  121. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
  122. package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  123. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
  124. package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
  125. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  126. package/hooks/features/virtualization/useGridVirtualization.js +8 -1
  127. package/hooks/utils/index.d.ts +3 -0
  128. package/hooks/utils/index.js +4 -1
  129. package/hooks/utils/useGridAriaAttributes.js +1 -2
  130. package/hooks/utils/useGridNativeEventListener.js +4 -9
  131. package/hooks/utils/useResizeObserver.d.ts +2 -0
  132. package/hooks/utils/useResizeObserver.js +36 -0
  133. package/hooks/utils/useRunOnce.d.ts +5 -0
  134. package/hooks/utils/useRunOnce.js +18 -0
  135. package/index.js +1 -1
  136. package/internals/index.d.ts +12 -9
  137. package/internals/index.js +9 -7
  138. package/legacy/DataGrid/DataGrid.js +6 -6
  139. package/legacy/DataGrid/useDataGridComponent.js +2 -1
  140. package/legacy/DataGrid/useDataGridProps.js +1 -0
  141. package/legacy/components/GridColumnHeaders.js +3 -11
  142. package/legacy/components/GridDetailPanels.js +4 -0
  143. package/legacy/components/GridHeaders.js +53 -0
  144. package/legacy/components/GridPinnedRows.js +4 -0
  145. package/legacy/components/GridRow.js +159 -98
  146. package/legacy/components/GridScrollbarFillerCell.js +36 -0
  147. package/legacy/components/base/GridBody.js +2 -114
  148. package/legacy/components/base/GridOverlays.js +10 -25
  149. package/legacy/components/cell/GridCell.js +69 -377
  150. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  151. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  152. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  153. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +300 -0
  155. package/legacy/components/columnsManagement/index.js +1 -0
  156. package/legacy/components/columnsManagement/utils.js +22 -0
  157. package/legacy/components/containers/GridRoot.js +18 -15
  158. package/legacy/components/containers/GridRootStyles.js +215 -137
  159. package/legacy/components/index.js +1 -0
  160. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  161. package/legacy/components/panel/GridColumnsPanel.js +5 -233
  162. package/legacy/components/panel/GridPanel.js +3 -4
  163. package/legacy/components/panel/filterPanel/GridFilterForm.js +30 -13
  164. package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
  165. package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
  166. package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
  167. package/legacy/components/toolbar/GridToolbarExport.js +6 -1
  168. package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
  169. package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
  170. package/legacy/components/virtualization/GridBottomContainer.js +25 -0
  171. package/legacy/components/virtualization/GridMainContainer.js +20 -0
  172. package/legacy/components/virtualization/GridTopContainer.js +35 -0
  173. package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
  174. package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  177. package/legacy/constants/defaultGridSlotsComponents.js +8 -3
  178. package/legacy/constants/gridClasses.js +1 -1
  179. package/legacy/constants/localeTextConstants.js +4 -6
  180. package/legacy/hooks/core/gridCoreSelector.js +7 -0
  181. package/legacy/hooks/core/useGridApiInitialization.js +4 -0
  182. package/legacy/hooks/core/useGridInitialization.js +4 -0
  183. package/legacy/hooks/core/useGridRefs.js +13 -0
  184. package/legacy/hooks/core/useGridTheme.js +21 -0
  185. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +7 -14
  186. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
  187. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  188. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  189. package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
  190. package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
  191. package/legacy/hooks/features/columns/index.js +2 -1
  192. package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
  193. package/legacy/hooks/features/columns/useGridColumns.js +22 -23
  194. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
  195. package/legacy/hooks/features/dimensions/index.js +1 -0
  196. package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
  197. package/legacy/hooks/features/export/serializers/csvSerializer.js +2 -2
  198. package/legacy/hooks/features/filter/useGridFilter.js +3 -3
  199. package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
  200. package/legacy/hooks/features/focus/useGridFocus.js +3 -3
  201. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  202. package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
  203. package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
  204. package/legacy/hooks/features/rows/gridRowsUtils.js +8 -5
  205. package/legacy/hooks/features/rows/useGridRowsMeta.js +7 -4
  206. package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
  207. package/legacy/hooks/features/sorting/gridSortingUtils.js +1 -1
  208. package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
  209. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
  210. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
  211. package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
  212. package/legacy/hooks/utils/index.js +4 -1
  213. package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
  214. package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
  215. package/legacy/hooks/utils/useResizeObserver.js +36 -0
  216. package/legacy/hooks/utils/useRunOnce.js +18 -0
  217. package/legacy/index.js +1 -1
  218. package/legacy/internals/index.js +9 -7
  219. package/legacy/locales/arSD.js +5 -6
  220. package/legacy/locales/beBY.js +5 -6
  221. package/legacy/locales/bgBG.js +5 -6
  222. package/legacy/locales/csCZ.js +5 -6
  223. package/legacy/locales/daDK.js +5 -6
  224. package/legacy/locales/deDE.js +5 -6
  225. package/legacy/locales/elGR.js +5 -6
  226. package/legacy/locales/esES.js +5 -6
  227. package/legacy/locales/faIR.js +5 -6
  228. package/legacy/locales/fiFI.js +5 -6
  229. package/legacy/locales/frFR.js +5 -6
  230. package/legacy/locales/heIL.js +5 -6
  231. package/legacy/locales/hrHR.js +160 -0
  232. package/legacy/locales/huHU.js +5 -6
  233. package/legacy/locales/index.js +4 -1
  234. package/legacy/locales/itIT.js +5 -6
  235. package/legacy/locales/jaJP.js +5 -6
  236. package/legacy/locales/koKR.js +5 -6
  237. package/legacy/locales/nbNO.js +5 -6
  238. package/legacy/locales/nlNL.js +5 -6
  239. package/legacy/locales/plPL.js +5 -6
  240. package/legacy/locales/ptBR.js +5 -6
  241. package/legacy/locales/ptPT.js +160 -0
  242. package/legacy/locales/roRO.js +5 -6
  243. package/legacy/locales/ruRU.js +5 -6
  244. package/legacy/locales/skSK.js +5 -6
  245. package/legacy/locales/svSE.js +5 -6
  246. package/legacy/locales/trTR.js +5 -6
  247. package/legacy/locales/ukUA.js +5 -6
  248. package/legacy/locales/urPK.js +5 -6
  249. package/legacy/locales/viVN.js +5 -6
  250. package/legacy/locales/zhCN.js +5 -6
  251. package/legacy/locales/zhHK.js +160 -0
  252. package/legacy/locales/zhTW.js +5 -6
  253. package/legacy/models/index.js +0 -1
  254. package/legacy/models/params/index.js +1 -2
  255. package/legacy/utils/utils.js +10 -1
  256. package/locales/arSD.js +5 -6
  257. package/locales/beBY.js +5 -6
  258. package/locales/bgBG.js +5 -6
  259. package/locales/csCZ.js +5 -6
  260. package/locales/daDK.js +5 -6
  261. package/locales/deDE.js +5 -6
  262. package/locales/elGR.js +5 -6
  263. package/locales/esES.js +5 -6
  264. package/locales/faIR.js +5 -6
  265. package/locales/fiFI.js +5 -6
  266. package/locales/frFR.js +5 -6
  267. package/locales/heIL.js +5 -6
  268. package/locales/hrHR.d.ts +1 -0
  269. package/locales/hrHR.js +148 -0
  270. package/locales/huHU.js +5 -6
  271. package/locales/index.d.ts +3 -0
  272. package/locales/index.js +4 -1
  273. package/locales/itIT.js +5 -6
  274. package/locales/jaJP.js +5 -6
  275. package/locales/koKR.js +5 -6
  276. package/locales/nbNO.js +5 -6
  277. package/locales/nlNL.js +5 -6
  278. package/locales/plPL.js +5 -6
  279. package/locales/ptBR.js +5 -6
  280. package/locales/ptPT.d.ts +1 -0
  281. package/locales/ptPT.js +148 -0
  282. package/locales/roRO.js +5 -6
  283. package/locales/ruRU.js +5 -6
  284. package/locales/skSK.js +5 -6
  285. package/locales/svSE.js +5 -6
  286. package/locales/trTR.js +5 -6
  287. package/locales/ukUA.js +5 -6
  288. package/locales/urPK.js +5 -6
  289. package/locales/viVN.js +5 -6
  290. package/locales/zhCN.js +5 -6
  291. package/locales/zhHK.d.ts +1 -0
  292. package/locales/zhHK.js +148 -0
  293. package/locales/zhTW.js +5 -6
  294. package/models/api/gridColumnGroupingApi.d.ts +2 -2
  295. package/models/api/gridCoreApi.d.ts +16 -16
  296. package/models/api/gridLocaleTextApi.d.ts +3 -5
  297. package/models/api/gridRowsMetaApi.d.ts +1 -1
  298. package/models/api/gridVirtualizationApi.d.ts +2 -3
  299. package/models/colDef/gridColType.d.ts +11 -2
  300. package/models/events/gridEventLookup.d.ts +3 -3
  301. package/models/gridFilterModel.d.ts +1 -1
  302. package/models/gridSlotsComponent.d.ts +21 -2
  303. package/models/gridSlotsComponentsProps.d.ts +4 -0
  304. package/models/gridStateCommunity.d.ts +5 -1
  305. package/models/index.d.ts +0 -1
  306. package/models/index.js +0 -1
  307. package/models/params/index.d.ts +0 -1
  308. package/models/params/index.js +1 -2
  309. package/models/props/DataGridProps.d.ts +6 -11
  310. package/modern/DataGrid/DataGrid.js +6 -6
  311. package/modern/DataGrid/useDataGridComponent.js +2 -1
  312. package/modern/DataGrid/useDataGridProps.js +1 -0
  313. package/modern/components/GridColumnHeaders.js +3 -11
  314. package/modern/components/GridDetailPanels.js +4 -0
  315. package/modern/components/GridHeaders.js +53 -0
  316. package/modern/components/GridPinnedRows.js +4 -0
  317. package/modern/components/GridRow.js +159 -96
  318. package/modern/components/GridScrollbarFillerCell.js +39 -0
  319. package/modern/components/base/GridBody.js +2 -116
  320. package/modern/components/base/GridOverlays.js +10 -16
  321. package/modern/components/cell/GridCell.js +65 -369
  322. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  323. package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
  324. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  325. package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  326. package/modern/components/columnsManagement/GridColumnsManagement.js +256 -0
  327. package/modern/components/columnsManagement/index.js +1 -0
  328. package/modern/components/columnsManagement/utils.js +16 -0
  329. package/modern/components/containers/GridRoot.js +18 -14
  330. package/modern/components/containers/GridRootStyles.js +307 -204
  331. package/modern/components/index.js +1 -0
  332. package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  333. package/modern/components/panel/GridColumnsPanel.js +4 -209
  334. package/modern/components/panel/GridPanel.js +3 -4
  335. package/modern/components/panel/filterPanel/GridFilterForm.js +30 -13
  336. package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
  337. package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
  338. package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
  339. package/modern/components/toolbar/GridToolbarExport.js +6 -1
  340. package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
  341. package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
  342. package/modern/components/virtualization/GridBottomContainer.js +25 -0
  343. package/modern/components/virtualization/GridMainContainer.js +20 -0
  344. package/modern/components/virtualization/GridTopContainer.js +35 -0
  345. package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
  346. package/modern/components/virtualization/GridVirtualScroller.js +69 -16
  347. package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
  348. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  349. package/modern/constants/defaultGridSlotsComponents.js +8 -3
  350. package/modern/constants/gridClasses.js +1 -1
  351. package/modern/constants/localeTextConstants.js +4 -6
  352. package/modern/hooks/core/gridCoreSelector.js +5 -0
  353. package/modern/hooks/core/useGridApiInitialization.js +3 -0
  354. package/modern/hooks/core/useGridInitialization.js +4 -0
  355. package/modern/hooks/core/useGridRefs.js +13 -0
  356. package/modern/hooks/core/useGridTheme.js +19 -0
  357. package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  358. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
  359. package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  360. package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
  361. package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
  362. package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
  363. package/modern/hooks/features/columns/index.js +2 -1
  364. package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
  365. package/modern/hooks/features/columns/useGridColumns.js +19 -21
  366. package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
  367. package/modern/hooks/features/dimensions/index.js +1 -0
  368. package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
  369. package/modern/hooks/features/export/serializers/csvSerializer.js +2 -2
  370. package/modern/hooks/features/filter/useGridFilter.js +3 -3
  371. package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
  372. package/modern/hooks/features/focus/useGridFocus.js +3 -3
  373. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
  374. package/modern/hooks/features/pagination/useGridPagination.js +3 -5
  375. package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
  376. package/modern/hooks/features/rows/gridRowsUtils.js +8 -5
  377. package/modern/hooks/features/rows/useGridRowsMeta.js +7 -4
  378. package/modern/hooks/features/scroll/useGridScroll.js +8 -9
  379. package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
  380. package/modern/hooks/features/sorting/useGridSorting.js +15 -10
  381. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  382. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
  383. package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
  384. package/modern/hooks/utils/index.js +4 -1
  385. package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
  386. package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
  387. package/modern/hooks/utils/useResizeObserver.js +36 -0
  388. package/modern/hooks/utils/useRunOnce.js +18 -0
  389. package/modern/index.js +1 -1
  390. package/modern/internals/index.js +9 -7
  391. package/modern/locales/arSD.js +5 -6
  392. package/modern/locales/beBY.js +5 -6
  393. package/modern/locales/bgBG.js +5 -6
  394. package/modern/locales/csCZ.js +5 -6
  395. package/modern/locales/daDK.js +5 -6
  396. package/modern/locales/deDE.js +5 -6
  397. package/modern/locales/elGR.js +5 -6
  398. package/modern/locales/esES.js +5 -6
  399. package/modern/locales/faIR.js +5 -6
  400. package/modern/locales/fiFI.js +5 -6
  401. package/modern/locales/frFR.js +5 -6
  402. package/modern/locales/heIL.js +5 -6
  403. package/modern/locales/hrHR.js +148 -0
  404. package/modern/locales/huHU.js +5 -6
  405. package/modern/locales/index.js +4 -1
  406. package/modern/locales/itIT.js +5 -6
  407. package/modern/locales/jaJP.js +5 -6
  408. package/modern/locales/koKR.js +5 -6
  409. package/modern/locales/nbNO.js +5 -6
  410. package/modern/locales/nlNL.js +5 -6
  411. package/modern/locales/plPL.js +5 -6
  412. package/modern/locales/ptBR.js +5 -6
  413. package/modern/locales/ptPT.js +148 -0
  414. package/modern/locales/roRO.js +5 -6
  415. package/modern/locales/ruRU.js +5 -6
  416. package/modern/locales/skSK.js +5 -6
  417. package/modern/locales/svSE.js +5 -6
  418. package/modern/locales/trTR.js +5 -6
  419. package/modern/locales/ukUA.js +5 -6
  420. package/modern/locales/urPK.js +5 -6
  421. package/modern/locales/viVN.js +5 -6
  422. package/modern/locales/zhCN.js +5 -6
  423. package/modern/locales/zhHK.js +148 -0
  424. package/modern/locales/zhTW.js +5 -6
  425. package/modern/models/index.js +0 -1
  426. package/modern/models/params/index.js +1 -2
  427. package/modern/utils/utils.js +10 -1
  428. package/node/DataGrid/DataGrid.js +6 -6
  429. package/node/DataGrid/useDataGridComponent.js +1 -0
  430. package/node/DataGrid/useDataGridProps.js +1 -0
  431. package/node/components/GridColumnHeaders.js +3 -11
  432. package/node/components/GridDetailPanels.js +10 -0
  433. package/node/components/GridHeaders.js +60 -0
  434. package/node/components/GridPinnedRows.js +10 -0
  435. package/node/components/GridRow.js +157 -94
  436. package/node/components/GridScrollbarFillerCell.js +47 -0
  437. package/node/components/base/GridBody.js +7 -118
  438. package/node/components/base/GridOverlays.js +9 -15
  439. package/node/components/cell/GridCell.js +66 -369
  440. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
  441. package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
  442. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
  443. package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
  444. package/node/components/columnsManagement/GridColumnsManagement.js +264 -0
  445. package/node/components/columnsManagement/index.js +16 -0
  446. package/node/components/columnsManagement/utils.js +24 -0
  447. package/node/components/containers/GridRoot.js +17 -14
  448. package/node/components/containers/GridRootStyles.js +175 -72
  449. package/node/components/index.js +11 -0
  450. package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  451. package/node/components/panel/GridColumnsPanel.js +4 -208
  452. package/node/components/panel/GridPanel.js +3 -4
  453. package/node/components/panel/filterPanel/GridFilterForm.js +29 -12
  454. package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
  455. package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
  456. package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
  457. package/node/components/toolbar/GridToolbarExport.js +6 -1
  458. package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
  459. package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
  460. package/node/components/virtualization/GridBottomContainer.js +34 -0
  461. package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
  462. package/node/components/virtualization/GridTopContainer.js +44 -0
  463. package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
  464. package/node/components/virtualization/GridVirtualScroller.js +69 -17
  465. package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
  466. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
  467. package/node/constants/defaultGridSlotsComponents.js +6 -1
  468. package/node/constants/gridClasses.js +1 -1
  469. package/node/constants/localeTextConstants.js +4 -6
  470. package/node/hooks/core/gridCoreSelector.js +12 -0
  471. package/node/hooks/core/useGridApiInitialization.js +3 -0
  472. package/node/hooks/core/useGridInitialization.js +4 -0
  473. package/node/hooks/core/useGridRefs.js +22 -0
  474. package/node/hooks/core/useGridTheme.js +29 -0
  475. package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +5 -12
  476. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
  477. package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
  478. package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
  479. package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
  480. package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
  481. package/node/hooks/features/columns/index.js +22 -61
  482. package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
  483. package/node/hooks/features/columns/useGridColumns.js +20 -22
  484. package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
  485. package/node/hooks/features/dimensions/index.js +11 -0
  486. package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
  487. package/node/hooks/features/export/serializers/csvSerializer.js +2 -2
  488. package/node/hooks/features/filter/useGridFilter.js +2 -2
  489. package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
  490. package/node/hooks/features/focus/useGridFocus.js +2 -2
  491. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
  492. package/node/hooks/features/pagination/useGridPagination.js +3 -5
  493. package/node/hooks/features/rows/gridRowsSelector.js +2 -2
  494. package/node/hooks/features/rows/gridRowsUtils.js +8 -5
  495. package/node/hooks/features/rows/useGridRowsMeta.js +5 -3
  496. package/node/hooks/features/scroll/useGridScroll.js +8 -9
  497. package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
  498. package/node/hooks/features/sorting/useGridSorting.js +15 -10
  499. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
  500. package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
  501. package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
  502. package/node/hooks/utils/index.js +36 -0
  503. package/node/hooks/utils/useGridAriaAttributes.js +1 -1
  504. package/node/hooks/utils/useGridNativeEventListener.js +3 -9
  505. package/node/hooks/utils/useResizeObserver.js +44 -0
  506. package/node/hooks/utils/useRunOnce.js +27 -0
  507. package/node/index.js +1 -1
  508. package/node/internals/index.js +86 -71
  509. package/node/locales/arSD.js +5 -6
  510. package/node/locales/beBY.js +5 -6
  511. package/node/locales/bgBG.js +5 -6
  512. package/node/locales/csCZ.js +5 -6
  513. package/node/locales/daDK.js +5 -6
  514. package/node/locales/deDE.js +5 -6
  515. package/node/locales/elGR.js +5 -6
  516. package/node/locales/esES.js +5 -6
  517. package/node/locales/faIR.js +5 -6
  518. package/node/locales/fiFI.js +5 -6
  519. package/node/locales/frFR.js +5 -6
  520. package/node/locales/heIL.js +5 -6
  521. package/node/locales/hrHR.js +154 -0
  522. package/node/locales/huHU.js +5 -6
  523. package/node/locales/index.js +33 -0
  524. package/node/locales/itIT.js +5 -6
  525. package/node/locales/jaJP.js +5 -6
  526. package/node/locales/koKR.js +5 -6
  527. package/node/locales/nbNO.js +5 -6
  528. package/node/locales/nlNL.js +5 -6
  529. package/node/locales/plPL.js +5 -6
  530. package/node/locales/ptBR.js +5 -6
  531. package/node/locales/ptPT.js +154 -0
  532. package/node/locales/roRO.js +5 -6
  533. package/node/locales/ruRU.js +5 -6
  534. package/node/locales/skSK.js +5 -6
  535. package/node/locales/svSE.js +5 -6
  536. package/node/locales/trTR.js +5 -6
  537. package/node/locales/ukUA.js +5 -6
  538. package/node/locales/urPK.js +5 -6
  539. package/node/locales/viVN.js +5 -6
  540. package/node/locales/zhCN.js +5 -6
  541. package/node/locales/zhHK.js +154 -0
  542. package/node/locales/zhTW.js +5 -6
  543. package/node/models/index.js +0 -11
  544. package/node/models/params/index.js +0 -11
  545. package/node/utils/utils.js +11 -1
  546. package/package.json +6 -6
  547. package/utils/utils.d.ts +6 -0
  548. package/utils/utils.js +10 -1
  549. package/components/DataGridVirtualScroller.d.ts +0 -3
  550. package/components/DataGridVirtualScroller.js +0 -35
  551. package/components/containers/GridMainContainer.js +0 -43
  552. package/legacy/components/DataGridVirtualScroller.js +0 -32
  553. package/legacy/components/containers/GridMainContainer.js +0 -45
  554. package/legacy/models/gridRootContainerRef.js +0 -1
  555. package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  556. package/models/gridRootContainerRef.d.ts +0 -5
  557. package/models/gridRootContainerRef.js +0 -1
  558. package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
  559. package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  560. package/modern/components/DataGridVirtualScroller.js +0 -35
  561. package/modern/components/containers/GridMainContainer.js +0 -42
  562. package/modern/models/gridRootContainerRef.js +0 -1
  563. package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
  564. package/node/components/DataGridVirtualScroller.js +0 -42
  565. package/node/models/gridRootContainerRef.js +0 -5
  566. package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
@@ -0,0 +1,300 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/esm/extends";
3
+ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
4
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
+ /* eslint-disable @typescript-eslint/no-use-before-define */
6
+ import * as React from 'react';
7
+ import PropTypes from 'prop-types';
8
+ import { unstable_composeClasses as composeClasses } from '@mui/utils';
9
+ import FormControlLabel from '@mui/material/FormControlLabel';
10
+ import { styled } from '@mui/material/styles';
11
+ import { gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector } from '../../hooks/features/columns/gridColumnsSelector';
12
+ import { useGridSelector } from '../../hooks/utils/useGridSelector';
13
+ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
14
+ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
15
+ import { getDataGridUtilityClass } from '../../constants/gridClasses';
16
+ import { useLazyRef } from '../../hooks/utils/useLazyRef';
17
+ import { checkColumnVisibilityModelsSame, defaultSearchPredicate } from './utils';
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ var useUtilityClasses = function useUtilityClasses(ownerState) {
21
+ var classes = ownerState.classes;
22
+ var slots = {
23
+ root: ['columnsManagement'],
24
+ header: ['columnsManagementHeader'],
25
+ footer: ['columnsManagementFooter'],
26
+ row: ['columnsManagementRow']
27
+ };
28
+ return composeClasses(slots, getDataGridUtilityClass, classes);
29
+ };
30
+ var collator = new Intl.Collator();
31
+ function GridColumnsManagement(props) {
32
+ var _rootProps$slotProps, _rootProps$slotProps3, _rootProps$slotProps4;
33
+ var apiRef = useGridApiContext();
34
+ var searchInputRef = React.useRef(null);
35
+ var columns = useGridSelector(apiRef, gridColumnDefinitionsSelector);
36
+ var initialColumnVisibilityModel = useLazyRef(function () {
37
+ return gridColumnVisibilityModelSelector(apiRef);
38
+ }).current;
39
+ var columnVisibilityModel = useGridSelector(apiRef, gridColumnVisibilityModelSelector);
40
+ var rootProps = useGridRootProps();
41
+ var _React$useState = React.useState(''),
42
+ _React$useState2 = _slicedToArray(_React$useState, 2),
43
+ searchValue = _React$useState2[0],
44
+ setSearchValue = _React$useState2[1];
45
+ var classes = useUtilityClasses(rootProps);
46
+ var sort = props.sort,
47
+ _props$searchPredicat = props.searchPredicate,
48
+ searchPredicate = _props$searchPredicat === void 0 ? defaultSearchPredicate : _props$searchPredicat,
49
+ _props$autoFocusSearc = props.autoFocusSearchField,
50
+ autoFocusSearchField = _props$autoFocusSearc === void 0 ? true : _props$autoFocusSearc,
51
+ _props$disableShowHid = props.disableShowHideToggle,
52
+ disableShowHideToggle = _props$disableShowHid === void 0 ? false : _props$disableShowHid,
53
+ _props$disableResetBu = props.disableResetButton,
54
+ disableResetButton = _props$disableResetBu === void 0 ? false : _props$disableResetBu,
55
+ getTogglableColumns = props.getTogglableColumns;
56
+ var isResetDisabled = React.useMemo(function () {
57
+ return checkColumnVisibilityModelsSame(columnVisibilityModel, initialColumnVisibilityModel);
58
+ }, [columnVisibilityModel, initialColumnVisibilityModel]);
59
+ var sortedColumns = React.useMemo(function () {
60
+ switch (sort) {
61
+ case 'asc':
62
+ return _toConsumableArray(columns).sort(function (a, b) {
63
+ return collator.compare(a.headerName || a.field, b.headerName || b.field);
64
+ });
65
+ case 'desc':
66
+ return _toConsumableArray(columns).sort(function (a, b) {
67
+ return -collator.compare(a.headerName || a.field, b.headerName || b.field);
68
+ });
69
+ default:
70
+ return columns;
71
+ }
72
+ }, [columns, sort]);
73
+ var toggleColumn = function toggleColumn(event) {
74
+ var _ref = event.target,
75
+ field = _ref.name;
76
+ apiRef.current.setColumnVisibility(field, columnVisibilityModel[field] === false);
77
+ };
78
+ var toggleAllColumns = React.useCallback(function (isVisible) {
79
+ var currentModel = gridColumnVisibilityModelSelector(apiRef);
80
+ var newModel = _extends({}, currentModel);
81
+ var togglableColumns = getTogglableColumns ? getTogglableColumns(columns) : null;
82
+ columns.forEach(function (col) {
83
+ if (col.hideable && (togglableColumns == null || togglableColumns.includes(col.field))) {
84
+ if (isVisible) {
85
+ // delete the key from the model instead of setting it to `true`
86
+ delete newModel[col.field];
87
+ } else {
88
+ newModel[col.field] = false;
89
+ }
90
+ }
91
+ });
92
+ return apiRef.current.setColumnVisibilityModel(newModel);
93
+ }, [apiRef, columns, getTogglableColumns]);
94
+ var handleSearchValueChange = React.useCallback(function (event) {
95
+ setSearchValue(event.target.value);
96
+ }, []);
97
+ var currentColumns = React.useMemo(function () {
98
+ var togglableColumns = getTogglableColumns ? getTogglableColumns(sortedColumns) : null;
99
+ var togglableSortedColumns = togglableColumns ? sortedColumns.filter(function (_ref2) {
100
+ var field = _ref2.field;
101
+ return togglableColumns.includes(field);
102
+ }) : sortedColumns;
103
+ if (!searchValue) {
104
+ return togglableSortedColumns;
105
+ }
106
+ return togglableSortedColumns.filter(function (column) {
107
+ return searchPredicate(column, searchValue.toLowerCase());
108
+ });
109
+ }, [sortedColumns, searchValue, searchPredicate, getTogglableColumns]);
110
+ var hideableColumns = React.useMemo(function () {
111
+ return currentColumns.filter(function (col) {
112
+ return col.hideable;
113
+ });
114
+ }, [currentColumns]);
115
+ var allHideableColumnsVisible = React.useMemo(function () {
116
+ return hideableColumns.every(function (column) {
117
+ return columnVisibilityModel[column.field] == null || columnVisibilityModel[column.field] !== false;
118
+ });
119
+ }, [columnVisibilityModel, hideableColumns]);
120
+ var allHideableColumnsHidden = React.useMemo(function () {
121
+ return hideableColumns.every(function (column) {
122
+ return columnVisibilityModel[column.field] === false;
123
+ });
124
+ }, [columnVisibilityModel, hideableColumns]);
125
+ var firstSwitchRef = React.useRef(null);
126
+ React.useEffect(function () {
127
+ if (autoFocusSearchField) {
128
+ searchInputRef.current.focus();
129
+ } else if (firstSwitchRef.current && typeof firstSwitchRef.current.focus === 'function') {
130
+ firstSwitchRef.current.focus();
131
+ }
132
+ }, [autoFocusSearchField]);
133
+ var firstHideableColumnFound = false;
134
+ var isFirstHideableColumn = function isFirstHideableColumn(column) {
135
+ if (firstHideableColumnFound === false && column.hideable !== false) {
136
+ firstHideableColumnFound = true;
137
+ return true;
138
+ }
139
+ return false;
140
+ };
141
+ return /*#__PURE__*/_jsxs(React.Fragment, {
142
+ children: [/*#__PURE__*/_jsx(GridColumnsManagementHeader, {
143
+ className: classes.header,
144
+ ownerState: rootProps,
145
+ children: /*#__PURE__*/_jsx(rootProps.slots.baseTextField, _extends({
146
+ placeholder: apiRef.current.getLocaleText('columnsManagementSearchTitle'),
147
+ inputRef: searchInputRef,
148
+ value: searchValue,
149
+ onChange: handleSearchValueChange,
150
+ variant: "outlined",
151
+ size: "small",
152
+ InputProps: {
153
+ startAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseInputAdornment, {
154
+ position: "start",
155
+ children: /*#__PURE__*/_jsx(rootProps.slots.quickFilterIcon, {})
156
+ }),
157
+ sx: {
158
+ pl: 1.5
159
+ }
160
+ },
161
+ fullWidth: true
162
+ }, (_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseTextField))
163
+ }), /*#__PURE__*/_jsxs(GridColumnsManagementBody, {
164
+ className: classes.root,
165
+ ownerState: rootProps,
166
+ children: [currentColumns.map(function (column) {
167
+ var _rootProps$slotProps2;
168
+ return /*#__PURE__*/_jsx(FormControlLabel, {
169
+ className: classes.row,
170
+ control: /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
171
+ disabled: column.hideable === false,
172
+ checked: columnVisibilityModel[column.field] !== false,
173
+ onClick: toggleColumn,
174
+ name: column.field,
175
+ sx: {
176
+ p: 0.5
177
+ },
178
+ inputRef: isFirstHideableColumn(column) ? firstSwitchRef : undefined
179
+ }, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseCheckbox)),
180
+ label: column.headerName || column.field
181
+ }, column.field);
182
+ }), currentColumns.length === 0 && /*#__PURE__*/_jsx(GridColumnsManagementEmptyText, {
183
+ ownerState: rootProps,
184
+ children: apiRef.current.getLocaleText('columnsManagementNoColumns')
185
+ })]
186
+ }), !disableShowHideToggle && !disableResetButton && currentColumns.length > 0 ? /*#__PURE__*/_jsxs(GridColumnsManagementFooter, {
187
+ ownerState: rootProps,
188
+ className: classes.footer,
189
+ children: [!disableShowHideToggle ? /*#__PURE__*/_jsx(FormControlLabel, {
190
+ control: /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
191
+ disabled: hideableColumns.length === 0,
192
+ checked: allHideableColumnsVisible,
193
+ indeterminate: !allHideableColumnsVisible && !allHideableColumnsHidden,
194
+ onClick: function onClick() {
195
+ return toggleAllColumns(!allHideableColumnsVisible);
196
+ },
197
+ name: apiRef.current.getLocaleText('columnsManagementShowHideAllText')
198
+ }, (_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseCheckbox)),
199
+ sx: _defineProperty({}, ".MuiFormControlLabel-label", {
200
+ textTransform: 'uppercase',
201
+ fontSize: '14px'
202
+ }),
203
+ label: apiRef.current.getLocaleText('columnsManagementShowHideAllText')
204
+ }) : /*#__PURE__*/_jsx("span", {}), !disableResetButton ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
205
+ onClick: function onClick() {
206
+ return apiRef.current.setColumnVisibilityModel(initialColumnVisibilityModel);
207
+ },
208
+ disabled: isResetDisabled
209
+ }, (_rootProps$slotProps4 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps4.baseButton, {
210
+ children: "Reset"
211
+ })) : null]
212
+ }) : null]
213
+ });
214
+ }
215
+ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
216
+ // ----------------------------- Warning --------------------------------
217
+ // | These PropTypes are generated from the TypeScript type definitions |
218
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
219
+ // ----------------------------------------------------------------------
220
+ /**
221
+ * If `true`, the column search field will be focused automatically.
222
+ * If `false`, the first column switch input will be focused automatically.
223
+ * This helps to avoid input keyboard panel to popup automatically on touch devices.
224
+ * @default true
225
+ */
226
+ autoFocusSearchField: PropTypes.bool,
227
+ /**
228
+ * If `true`, the `Reset` button will not be disabled
229
+ * @default false
230
+ */
231
+ disableResetButton: PropTypes.bool,
232
+ /**
233
+ * If `true`, the `Show/Hide all` toggle checkbox will not be displayed.
234
+ * @default false
235
+ */
236
+ disableShowHideToggle: PropTypes.bool,
237
+ /**
238
+ * Returns the list of togglable columns.
239
+ * If used, only those columns will be displayed in the panel
240
+ * which are passed as the return value of the function.
241
+ * @param {GridColDef[]} columns The `ColDef` list of all columns.
242
+ * @returns {GridColDef['field'][]} The list of togglable columns' field names.
243
+ */
244
+ getTogglableColumns: PropTypes.func,
245
+ searchPredicate: PropTypes.func,
246
+ sort: PropTypes.oneOf(['asc', 'desc'])
247
+ } : void 0;
248
+ var GridColumnsManagementBody = styled('div', {
249
+ name: 'MuiDataGrid',
250
+ slot: 'ColumnsManagement',
251
+ overridesResolver: function overridesResolver(props, styles) {
252
+ return styles.columnsManagement;
253
+ }
254
+ })(function (_ref4) {
255
+ var theme = _ref4.theme;
256
+ return {
257
+ padding: theme.spacing(0, 3, 1.5),
258
+ display: 'flex',
259
+ flexDirection: 'column',
260
+ overflow: 'auto',
261
+ flex: '1 1',
262
+ maxHeight: 400,
263
+ alignItems: 'flex-start'
264
+ };
265
+ });
266
+ var GridColumnsManagementHeader = styled('div', {
267
+ name: 'MuiDataGrid',
268
+ slot: 'ColumnsManagementHeader',
269
+ overridesResolver: function overridesResolver(props, styles) {
270
+ return styles.columnsManagementHeader;
271
+ }
272
+ })(function (_ref5) {
273
+ var theme = _ref5.theme;
274
+ return {
275
+ padding: theme.spacing(1.5, 3)
276
+ };
277
+ });
278
+ var GridColumnsManagementFooter = styled('div', {
279
+ name: 'MuiDataGrid',
280
+ slot: 'ColumnsManagementFooter',
281
+ overridesResolver: function overridesResolver(props, styles) {
282
+ return styles.columnsManagementFooter;
283
+ }
284
+ })(function (_ref6) {
285
+ var theme = _ref6.theme;
286
+ return {
287
+ padding: theme.spacing(0.5, 1, 0.5, 2.4),
288
+ display: 'flex',
289
+ justifyContent: 'space-between',
290
+ borderTop: "1px solid ".concat(theme.palette.divider)
291
+ };
292
+ });
293
+ var GridColumnsManagementEmptyText = styled('div')(function (_ref7) {
294
+ var theme = _ref7.theme;
295
+ return {
296
+ padding: theme.spacing(0.5, 0),
297
+ color: theme.palette.grey[500]
298
+ };
299
+ });
300
+ export { GridColumnsManagement };
@@ -0,0 +1 @@
1
+ export * from './GridColumnsManagement';
@@ -0,0 +1,22 @@
1
+ export var checkColumnVisibilityModelsSame = function checkColumnVisibilityModelsSame(a, b) {
2
+ // Filter `false` values only, as `true` and not having a key are the same
3
+ var aFalseValues = new Set(Object.keys(a).filter(function (key) {
4
+ return a[key] === false;
5
+ }));
6
+ var bFalseValues = new Set(Object.keys(b).filter(function (key) {
7
+ return b[key] === false;
8
+ }));
9
+ if (aFalseValues.size !== bFalseValues.size) {
10
+ return false;
11
+ }
12
+ var result = true;
13
+ aFalseValues.forEach(function (key) {
14
+ if (!bFalseValues.has(key)) {
15
+ result = false;
16
+ }
17
+ });
18
+ return result;
19
+ };
20
+ export var defaultSearchPredicate = function defaultSearchPredicate(column, searchValue) {
21
+ return (column.headerName || column.field).toLowerCase().indexOf(searchValue) > -1;
22
+ };
@@ -6,43 +6,43 @@ import * as React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import clsx from 'clsx';
8
8
  import { unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_capitalize as capitalize, unstable_composeClasses as composeClasses } from '@mui/utils';
9
+ import { styled } from '@mui/system';
9
10
  import { GridRootStyles } from './GridRootStyles';
10
11
  import { useGridSelector } from '../../hooks/utils/useGridSelector';
11
12
  import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiContext';
12
13
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
13
14
  import { getDataGridUtilityClass } from '../../constants/gridClasses';
14
15
  import { gridDensityValueSelector } from '../../hooks/features/density/densitySelector';
15
- import { useGridAriaAttributes } from '../../hooks/utils/useGridAriaAttributes';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ import { jsxs as _jsxs } from "react/jsx-runtime";
17
18
  var useUtilityClasses = function useUtilityClasses(ownerState) {
18
19
  var autoHeight = ownerState.autoHeight,
19
20
  density = ownerState.density,
20
- classes = ownerState.classes;
21
+ classes = ownerState.classes,
22
+ showCellVerticalBorder = ownerState.showCellVerticalBorder;
21
23
  var slots = {
22
- root: ['root', autoHeight && 'autoHeight', "root--density".concat(capitalize(density)), 'withBorderColor']
24
+ root: ['root', autoHeight && 'autoHeight', "root--density".concat(capitalize(density)), 'withBorderColor', showCellVerticalBorder && 'withVerticalBorder']
23
25
  };
24
26
  return composeClasses(slots, getDataGridUtilityClass, classes);
25
27
  };
28
+ var GridPanelAnchor = styled('div')({
29
+ position: 'absolute',
30
+ top: "var(--DataGrid-headersTotalHeight)",
31
+ left: 0
32
+ });
26
33
  var GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
27
- var _rootProps$experiment;
28
34
  var rootProps = useGridRootProps();
29
35
  var children = props.children,
30
36
  className = props.className,
31
37
  other = _objectWithoutProperties(props, _excluded);
32
38
  var apiRef = useGridPrivateApiContext();
33
39
  var densityValue = useGridSelector(apiRef, gridDensityValueSelector);
34
- var rootContainerRef = React.useRef(null);
35
- var handleRef = useForkRef(rootContainerRef, ref);
36
- var getAriaAttributes = (_rootProps$experiment = rootProps.experimentalFeatures) != null && _rootProps$experiment.ariaV7 // ariaV7 should never change
37
- ? null : useGridAriaAttributes;
38
- var ariaAttributes = typeof getAriaAttributes === 'function' ? getAriaAttributes() : null;
40
+ var rootElementRef = apiRef.current.rootElementRef;
41
+ var handleRef = useForkRef(rootElementRef, ref);
39
42
  var ownerState = _extends({}, rootProps, {
40
43
  density: densityValue
41
44
  });
42
45
  var classes = useUtilityClasses(ownerState);
43
- apiRef.current.register('public', {
44
- rootElementRef: rootContainerRef
45
- });
46
46
 
47
47
  // Our implementation of <NoSsr />
48
48
  var _React$useState = React.useState(false),
@@ -55,12 +55,15 @@ var GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
55
55
  if (!mountedState) {
56
56
  return null;
57
57
  }
58
- return /*#__PURE__*/_jsx(GridRootStyles, _extends({
58
+ return /*#__PURE__*/_jsxs(GridRootStyles, _extends({
59
59
  ref: handleRef,
60
60
  className: clsx(className, classes.root),
61
61
  ownerState: ownerState
62
- }, ariaAttributes, other, {
63
- children: children
62
+ }, other, {
63
+ children: [/*#__PURE__*/_jsx(GridPanelAnchor, {
64
+ role: "presentation",
65
+ "data-id": "gridPanelAnchor"
66
+ }), children]
64
67
  }));
65
68
  });
66
69
  process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {