@mui/x-data-grid 7.0.0-beta.6 → 7.0.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 (329) hide show
  1. package/CHANGELOG.md +311 -12
  2. package/DataGrid/DataGrid.js +57 -17
  3. package/DataGrid/useDataGridComponent.js +3 -0
  4. package/DataGrid/useDataGridProps.js +6 -7
  5. package/README.md +1 -1
  6. package/components/GridColumnHeaders.d.ts +1 -2
  7. package/components/GridColumnHeaders.js +6 -17
  8. package/components/GridFooter.js +2 -3
  9. package/components/GridHeader.js +1 -2
  10. package/components/GridHeaders.js +1 -4
  11. package/components/GridPagination.d.ts +6 -5
  12. package/components/GridPagination.js +14 -11
  13. package/components/GridRow.d.ts +1 -1
  14. package/components/GridRow.js +17 -36
  15. package/components/GridScrollArea.d.ts +10 -0
  16. package/components/GridScrollArea.js +150 -0
  17. package/components/base/GridFooterPlaceholder.js +1 -2
  18. package/components/base/GridOverlays.js +3 -6
  19. package/components/cell/GridActionsCell.js +4 -6
  20. package/components/cell/GridActionsCellItem.d.ts +8 -25
  21. package/components/cell/GridActionsCellItem.js +8 -5
  22. package/components/cell/GridBooleanCell.d.ts +1 -0
  23. package/components/cell/GridBooleanCell.js +3 -2
  24. package/components/cell/GridCell.d.ts +7 -0
  25. package/components/cell/GridCell.js +18 -11
  26. package/components/cell/GridEditBooleanCell.js +1 -2
  27. package/components/cell/GridEditDateCell.js +2 -3
  28. package/components/cell/GridEditInputCell.js +2 -2
  29. package/components/cell/GridEditSingleSelectCell.js +5 -8
  30. package/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -3
  31. package/components/columnHeaders/GridBaseColumnHeaders.js +1 -0
  32. package/components/columnHeaders/GridColumnGroupHeader.d.ts +5 -0
  33. package/components/columnHeaders/GridColumnGroupHeader.js +22 -13
  34. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -3
  35. package/components/columnHeaders/GridColumnHeaderItem.d.ts +5 -0
  36. package/components/columnHeaders/GridColumnHeaderItem.js +26 -12
  37. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  38. package/components/columnHeaders/GridColumnHeaderTitle.js +2 -3
  39. package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -0
  40. package/components/columnHeaders/GridGenericColumnHeaderItem.js +7 -6
  41. package/components/columnSelection/GridCellCheckboxRenderer.js +3 -5
  42. package/components/columnSelection/GridHeaderCheckbox.js +1 -2
  43. package/components/columnsManagement/GridColumnsManagement.js +17 -21
  44. package/components/containers/GridRoot.js +3 -3
  45. package/components/containers/GridRootStyles.js +12 -20
  46. package/components/menu/GridMenu.js +4 -6
  47. package/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
  48. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +2 -3
  49. package/components/panel/GridColumnsPanel.js +1 -2
  50. package/components/panel/GridPanel.d.ts +1 -10
  51. package/components/panel/GridPanel.js +1 -2
  52. package/components/panel/GridPreferencesPanel.js +2 -3
  53. package/components/panel/filterPanel/GridFilterForm.js +24 -27
  54. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -1
  55. package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -7
  56. package/components/panel/filterPanel/GridFilterInputDate.d.ts +1 -1
  57. package/components/panel/filterPanel/GridFilterInputDate.js +3 -4
  58. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +11 -15
  59. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +10 -14
  60. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -1
  61. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +10 -11
  62. package/components/panel/filterPanel/GridFilterInputValue.d.ts +1 -1
  63. package/components/panel/filterPanel/GridFilterInputValue.js +5 -7
  64. package/components/panel/filterPanel/GridFilterPanel.js +5 -9
  65. package/components/panel/filterPanel/filterPanelUtils.js +1 -1
  66. package/components/toolbar/GridToolbarColumnsButton.js +3 -5
  67. package/components/toolbar/GridToolbarDensitySelector.js +8 -10
  68. package/components/toolbar/GridToolbarExport.js +2 -2
  69. package/components/toolbar/GridToolbarExportContainer.js +3 -5
  70. package/components/toolbar/GridToolbarFilterButton.js +3 -5
  71. package/components/toolbar/GridToolbarQuickFilter.js +4 -5
  72. package/components/virtualization/GridVirtualScrollbar.js +4 -0
  73. package/components/virtualization/GridVirtualScroller.js +6 -1
  74. package/components/virtualization/GridVirtualScrollerContent.js +1 -2
  75. package/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  76. package/components/virtualization/GridVirtualScrollerRenderZone.js +1 -2
  77. package/constants/gridClasses.d.ts +6 -32
  78. package/constants/gridClasses.js +1 -1
  79. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +5 -1
  80. package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -2
  81. package/hooks/core/useGridApiInitialization.js +4 -6
  82. package/hooks/features/clipboard/useGridClipboard.js +6 -5
  83. package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -16
  84. package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +4 -8
  85. package/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -23
  86. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +23 -7
  87. package/hooks/features/columnHeaders/useGridColumnHeaders.js +186 -101
  88. package/hooks/features/columnMenu/useGridColumnMenuSlots.js +2 -2
  89. package/hooks/features/columnResize/columnResizeSelector.d.ts +3 -0
  90. package/hooks/features/columnResize/columnResizeSelector.js +3 -0
  91. package/hooks/features/columnResize/columnResizeState.d.ts +3 -0
  92. package/hooks/features/columnResize/columnResizeState.js +1 -0
  93. package/hooks/features/columnResize/gridColumnResizeApi.d.ts +44 -0
  94. package/hooks/features/columnResize/gridColumnResizeApi.js +10 -0
  95. package/hooks/features/columnResize/index.d.ts +3 -0
  96. package/hooks/features/columnResize/index.js +3 -0
  97. package/hooks/features/columnResize/useGridColumnResize.d.ts +10 -0
  98. package/hooks/features/columnResize/useGridColumnResize.js +553 -0
  99. package/hooks/features/columns/gridColumnsSelector.js +1 -2
  100. package/hooks/features/columns/gridColumnsUtils.d.ts +0 -9
  101. package/hooks/features/columns/gridColumnsUtils.js +5 -22
  102. package/hooks/features/columns/useGridColumnSpanning.js +1 -2
  103. package/hooks/features/columns/useGridColumns.js +11 -19
  104. package/hooks/features/density/densitySelector.d.ts +4 -2
  105. package/hooks/features/density/densitySelector.js +8 -2
  106. package/hooks/features/density/densityState.d.ts +1 -4
  107. package/hooks/features/density/useGridDensity.d.ts +2 -4
  108. package/hooks/features/density/useGridDensity.js +21 -29
  109. package/hooks/features/dimensions/useGridDimensions.js +7 -10
  110. package/hooks/features/editing/useGridCellEditing.js +25 -8
  111. package/hooks/features/editing/useGridEditing.js +1 -2
  112. package/hooks/features/editing/useGridRowEditing.js +4 -6
  113. package/hooks/features/export/serializers/csvSerializer.d.ts +2 -0
  114. package/hooks/features/export/serializers/csvSerializer.js +25 -16
  115. package/hooks/features/export/useGridCsvExport.js +9 -10
  116. package/hooks/features/export/useGridPrintExport.js +17 -22
  117. package/hooks/features/export/utils.js +2 -3
  118. package/hooks/features/filter/gridFilterSelector.js +15 -22
  119. package/hooks/features/filter/gridFilterUtils.js +10 -16
  120. package/hooks/features/filter/useGridFilter.js +9 -15
  121. package/hooks/features/focus/useGridFocus.js +5 -6
  122. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +1 -0
  123. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +3 -0
  124. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +23 -5
  125. package/hooks/features/index.d.ts +1 -0
  126. package/hooks/features/index.js +1 -0
  127. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -2
  128. package/hooks/features/pagination/gridPaginationInterfaces.d.ts +19 -2
  129. package/hooks/features/pagination/gridPaginationSelector.d.ts +5 -0
  130. package/hooks/features/pagination/gridPaginationSelector.js +9 -4
  131. package/hooks/features/pagination/useGridPagination.d.ts +1 -6
  132. package/hooks/features/pagination/useGridPagination.js +9 -158
  133. package/hooks/features/pagination/useGridPaginationModel.d.ts +11 -0
  134. package/hooks/features/pagination/useGridPaginationModel.js +165 -0
  135. package/hooks/features/pagination/useGridRowCount.d.ts +8 -0
  136. package/hooks/features/pagination/useGridRowCount.js +94 -0
  137. package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +7 -12
  138. package/hooks/features/rowSelection/useGridRowSelection.js +11 -16
  139. package/hooks/features/rows/gridRowsSelector.js +11 -19
  140. package/hooks/features/rows/gridRowsUtils.js +7 -9
  141. package/hooks/features/rows/useGridParamsApi.js +1 -1
  142. package/hooks/features/rows/useGridRows.js +4 -13
  143. package/hooks/features/rows/useGridRowsMeta.js +7 -13
  144. package/hooks/features/scroll/useGridScroll.js +3 -4
  145. package/hooks/features/sorting/gridSortingSelector.js +4 -7
  146. package/hooks/features/sorting/useGridSorting.js +8 -14
  147. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +4 -4
  148. package/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -2
  149. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -3
  150. package/hooks/features/virtualization/useGridVirtualScroller.js +220 -71
  151. package/hooks/utils/useGridApiEventHandler.js +5 -10
  152. package/hooks/utils/useGridNativeEventListener.js +1 -2
  153. package/hooks/utils/useLazyRef.d.ts +1 -2
  154. package/hooks/utils/useLazyRef.js +1 -11
  155. package/hooks/utils/useOnMount.d.ts +1 -2
  156. package/hooks/utils/useOnMount.js +1 -7
  157. package/hooks/utils/useTimeout.d.ts +1 -11
  158. package/hooks/utils/useTimeout.js +1 -36
  159. package/index.js +1 -1
  160. package/internals/index.d.ts +3 -1
  161. package/internals/index.js +2 -1
  162. package/internals/utils/getPinnedCellOffset.d.ts +3 -0
  163. package/internals/utils/getPinnedCellOffset.js +17 -0
  164. package/internals/utils/useProps.js +1 -2
  165. package/joy/joySlots.js +18 -63
  166. package/locales/jaJP.js +3 -4
  167. package/material/index.js +0 -2
  168. package/models/api/gridApiCommon.d.ts +3 -3
  169. package/models/api/gridCoreApi.d.ts +1 -5
  170. package/models/api/gridRowsMetaApi.d.ts +1 -1
  171. package/models/api/index.d.ts +1 -1
  172. package/models/api/index.js +0 -1
  173. package/models/events/gridEventLookup.d.ts +13 -0
  174. package/models/gridExport.d.ts +6 -0
  175. package/models/gridHeaderFilteringModel.d.ts +1 -0
  176. package/models/gridSlotsComponent.d.ts +0 -5
  177. package/models/gridStateCommunity.d.ts +3 -0
  178. package/models/params/gridScrollParams.d.ts +5 -3
  179. package/models/props/DataGridProps.d.ts +58 -28
  180. package/modern/DataGrid/DataGrid.js +57 -17
  181. package/modern/DataGrid/useDataGridComponent.js +3 -0
  182. package/modern/DataGrid/useDataGridProps.js +6 -7
  183. package/modern/components/GridColumnHeaders.js +6 -17
  184. package/modern/components/GridHeaders.js +1 -4
  185. package/modern/components/GridPagination.js +13 -6
  186. package/modern/components/GridRow.js +4 -19
  187. package/modern/components/GridScrollArea.js +150 -0
  188. package/modern/components/cell/GridActionsCell.js +1 -1
  189. package/modern/components/cell/GridActionsCellItem.js +4 -0
  190. package/modern/components/cell/GridBooleanCell.js +3 -2
  191. package/modern/components/cell/GridCell.js +11 -3
  192. package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -0
  193. package/modern/components/columnHeaders/GridColumnGroupHeader.js +18 -8
  194. package/modern/components/columnHeaders/GridColumnHeaderItem.js +21 -6
  195. package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +6 -5
  196. package/modern/components/containers/GridRoot.js +3 -3
  197. package/modern/components/containers/GridRootStyles.js +12 -20
  198. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  199. package/modern/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  200. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  201. package/modern/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  202. package/modern/components/toolbar/GridToolbarDensitySelector.js +5 -5
  203. package/modern/components/virtualization/GridVirtualScrollbar.js +4 -0
  204. package/modern/components/virtualization/GridVirtualScroller.js +6 -1
  205. package/modern/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  206. package/modern/constants/gridClasses.js +1 -1
  207. package/modern/hooks/features/clipboard/useGridClipboard.js +4 -2
  208. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +184 -97
  209. package/modern/hooks/features/columnResize/columnResizeSelector.js +3 -0
  210. package/modern/hooks/features/columnResize/columnResizeState.js +1 -0
  211. package/modern/hooks/features/columnResize/gridColumnResizeApi.js +10 -0
  212. package/modern/hooks/features/columnResize/index.js +3 -0
  213. package/modern/hooks/features/columnResize/useGridColumnResize.js +553 -0
  214. package/modern/hooks/features/columns/gridColumnsUtils.js +4 -20
  215. package/modern/hooks/features/density/densitySelector.js +8 -2
  216. package/modern/hooks/features/density/useGridDensity.js +21 -29
  217. package/modern/hooks/features/dimensions/useGridDimensions.js +4 -5
  218. package/modern/hooks/features/editing/useGridCellEditing.js +22 -3
  219. package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
  220. package/modern/hooks/features/export/serializers/csvSerializer.js +23 -12
  221. package/modern/hooks/features/export/useGridCsvExport.js +2 -1
  222. package/modern/hooks/features/export/useGridPrintExport.js +8 -7
  223. package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
  224. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +3 -0
  225. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +21 -2
  226. package/modern/hooks/features/index.js +1 -0
  227. package/modern/hooks/features/pagination/gridPaginationSelector.js +8 -2
  228. package/modern/hooks/features/pagination/useGridPagination.js +8 -149
  229. package/modern/hooks/features/pagination/useGridPaginationModel.js +165 -0
  230. package/modern/hooks/features/pagination/useGridRowCount.js +94 -0
  231. package/modern/hooks/features/rowSelection/useGridRowSelection.js +3 -2
  232. package/modern/hooks/features/scroll/useGridScroll.js +1 -1
  233. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -2
  234. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +211 -57
  235. package/modern/hooks/utils/useLazyRef.js +1 -11
  236. package/modern/hooks/utils/useOnMount.js +1 -7
  237. package/modern/hooks/utils/useTimeout.js +1 -36
  238. package/modern/index.js +1 -1
  239. package/modern/internals/index.js +2 -1
  240. package/modern/internals/utils/getPinnedCellOffset.js +17 -0
  241. package/modern/joy/joySlots.js +11 -50
  242. package/modern/locales/jaJP.js +3 -4
  243. package/modern/material/index.js +0 -2
  244. package/modern/models/api/index.js +0 -1
  245. package/modern/utils/cellBorderUtils.js +8 -0
  246. package/modern/utils/createSelector.js +1 -1
  247. package/modern/utils/domUtils.js +144 -0
  248. package/modern/utils/keyboardUtils.js +1 -1
  249. package/node/DataGrid/DataGrid.js +57 -17
  250. package/node/DataGrid/useDataGridComponent.js +3 -0
  251. package/node/DataGrid/useDataGridProps.js +6 -7
  252. package/node/components/GridColumnHeaders.js +6 -16
  253. package/node/components/GridHeaders.js +1 -4
  254. package/node/components/GridPagination.js +10 -4
  255. package/node/components/GridRow.js +3 -18
  256. package/node/components/GridScrollArea.js +158 -0
  257. package/node/components/cell/GridActionsCell.js +1 -1
  258. package/node/components/cell/GridActionsCellItem.js +4 -0
  259. package/node/components/cell/GridBooleanCell.js +3 -2
  260. package/node/components/cell/GridCell.js +12 -4
  261. package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -0
  262. package/node/components/columnHeaders/GridColumnGroupHeader.js +18 -8
  263. package/node/components/columnHeaders/GridColumnHeaderItem.js +21 -6
  264. package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +6 -5
  265. package/node/components/containers/GridRoot.js +2 -2
  266. package/node/components/containers/GridRootStyles.js +12 -20
  267. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  268. package/node/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  269. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
  270. package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  271. package/node/components/toolbar/GridToolbarDensitySelector.js +4 -4
  272. package/node/components/virtualization/GridVirtualScrollbar.js +4 -0
  273. package/node/components/virtualization/GridVirtualScroller.js +6 -1
  274. package/node/components/virtualization/GridVirtualScrollerFiller.js +2 -1
  275. package/node/constants/gridClasses.js +1 -1
  276. package/node/hooks/features/clipboard/useGridClipboard.js +4 -2
  277. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +190 -103
  278. package/node/hooks/features/columnResize/columnResizeSelector.js +10 -0
  279. package/node/hooks/features/columnResize/columnResizeState.js +5 -0
  280. package/node/hooks/features/columnResize/gridColumnResizeApi.js +16 -0
  281. package/node/hooks/features/columnResize/index.js +38 -0
  282. package/node/hooks/features/columnResize/useGridColumnResize.js +564 -0
  283. package/node/hooks/features/columns/gridColumnsUtils.js +4 -21
  284. package/node/hooks/features/density/densitySelector.js +9 -3
  285. package/node/hooks/features/density/useGridDensity.js +22 -30
  286. package/node/hooks/features/dimensions/useGridDimensions.js +4 -5
  287. package/node/hooks/features/editing/useGridCellEditing.js +22 -3
  288. package/node/hooks/features/editing/useGridRowEditing.js +1 -1
  289. package/node/hooks/features/export/serializers/csvSerializer.js +23 -12
  290. package/node/hooks/features/export/useGridCsvExport.js +2 -1
  291. package/node/hooks/features/export/useGridPrintExport.js +8 -7
  292. package/node/hooks/features/filter/gridFilterUtils.js +1 -1
  293. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +4 -1
  294. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +21 -2
  295. package/node/hooks/features/index.js +11 -0
  296. package/node/hooks/features/pagination/gridPaginationSelector.js +8 -2
  297. package/node/hooks/features/pagination/useGridPagination.js +9 -153
  298. package/node/hooks/features/pagination/useGridPaginationModel.js +176 -0
  299. package/node/hooks/features/pagination/useGridRowCount.js +103 -0
  300. package/node/hooks/features/rowSelection/useGridRowSelection.js +2 -1
  301. package/node/hooks/features/scroll/useGridScroll.js +1 -1
  302. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -2
  303. package/node/hooks/features/virtualization/useGridVirtualScroller.js +211 -57
  304. package/node/hooks/utils/useLazyRef.js +7 -13
  305. package/node/hooks/utils/useOnMount.js +8 -10
  306. package/node/hooks/utils/useTimeout.js +7 -37
  307. package/node/index.js +1 -1
  308. package/node/internals/index.js +27 -8
  309. package/node/internals/utils/getPinnedCellOffset.js +24 -0
  310. package/node/joy/joySlots.js +11 -50
  311. package/node/locales/jaJP.js +3 -4
  312. package/node/material/index.js +0 -2
  313. package/node/models/api/index.js +0 -11
  314. package/node/utils/cellBorderUtils.js +16 -0
  315. package/node/utils/createSelector.js +1 -1
  316. package/node/utils/domUtils.js +155 -0
  317. package/node/utils/keyboardUtils.js +1 -1
  318. package/package.json +4 -4
  319. package/utils/cellBorderUtils.d.ts +3 -0
  320. package/utils/cellBorderUtils.js +8 -0
  321. package/utils/createSelector.js +9 -9
  322. package/utils/domUtils.d.ts +14 -1
  323. package/utils/domUtils.js +144 -0
  324. package/utils/getGridLocalization.js +9 -12
  325. package/utils/keyboardUtils.js +1 -1
  326. package/components/columnHeaders/GridColumnHeadersInner.d.ts +0 -8
  327. package/components/columnHeaders/GridColumnHeadersInner.js +0 -58
  328. package/modern/components/columnHeaders/GridColumnHeadersInner.js +0 -58
  329. package/node/components/columnHeaders/GridColumnHeadersInner.js +0 -67
@@ -4,10 +4,9 @@ const _excluded = ["touchRippleRef", "inputProps", "onChange", "color", "size",
4
4
  _excluded2 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
5
5
  _excluded3 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
6
6
  _excluded4 = ["color", "size", "sx", "touchRippleRef"],
7
- _excluded5 = ["name", "checkedIcon", "color", "disableRipple", "disableFocusRipple", "disableTouchRipple", "edge", "icon", "inputProps", "inputRef", "size", "sx", "onChange", "onClick"],
8
- _excluded6 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
9
- _excluded7 = ["native"],
10
- _excluded8 = ["shrink", "variant", "sx"];
7
+ _excluded5 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
8
+ _excluded6 = ["native"],
9
+ _excluded7 = ["shrink", "variant", "sx"];
11
10
  import * as React from 'react';
12
11
  import JoyCheckbox from '@mui/joy/Checkbox';
13
12
  import JoyInput from '@mui/joy/Input';
@@ -15,7 +14,6 @@ import JoyFormControl from '@mui/joy/FormControl';
15
14
  import JoyFormLabel from '@mui/joy/FormLabel';
16
15
  import JoyButton from '@mui/joy/Button';
17
16
  import JoyIconButton from '@mui/joy/IconButton';
18
- import JoySwitch from '@mui/joy/Switch';
19
17
  import JoySelect from '@mui/joy/Select';
20
18
  import JoyOption from '@mui/joy/Option';
21
19
  import JoyBox from '@mui/joy/Box';
@@ -154,43 +152,7 @@ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref4, ref)
154
152
  sx: sx
155
153
  }));
156
154
  });
157
- const Switch = /*#__PURE__*/React.forwardRef(function Switch(_ref5, ref) {
158
- let {
159
- name,
160
- color: colorProp,
161
- edge,
162
- icon,
163
- inputProps,
164
- inputRef,
165
- size,
166
- sx,
167
- onChange,
168
- onClick
169
- } = _ref5,
170
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
171
- return /*#__PURE__*/_jsx(JoySwitch, _extends({}, props, {
172
- onChange: onChange,
173
- size: convertSize(size),
174
- color: convertColor(colorProp),
175
- ref: ref,
176
- slotProps: {
177
- input: _extends({}, inputProps, {
178
- name,
179
- onClick: onClick,
180
- ref: inputRef
181
- }),
182
- thumb: {
183
- children: icon
184
- }
185
- },
186
- sx: [_extends({}, edge === 'start' && {
187
- ml: '-8px'
188
- }, edge === 'end' && {
189
- mr: '-8px'
190
- }), ...(Array.isArray(sx) ? sx : [sx])]
191
- }));
192
- });
193
- const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
155
+ const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
194
156
  let {
195
157
  open,
196
158
  onOpen,
@@ -202,8 +164,8 @@ const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
202
164
  MenuProps,
203
165
  inputRef,
204
166
  labelId
205
- } = _ref6,
206
- props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
167
+ } = _ref5,
168
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
207
169
  const handleChange = (event, newValue) => {
208
170
  if (event && onChange) {
209
171
  // Same as in https://github.com/mui/material-ui/blob/e5558282a8f36856aef1299f3a36f3235e92e770/packages/mui-material/src/Select/SelectInput.js#L288-L300
@@ -254,17 +216,17 @@ const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
254
216
  }
255
217
  }));
256
218
  });
257
- const Option = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
258
- let props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
219
+ const Option = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
220
+ let props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
259
221
  return /*#__PURE__*/_jsx(JoyOption, _extends({}, props, {
260
222
  ref: ref
261
223
  }));
262
224
  });
263
- const InputLabel = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
225
+ const InputLabel = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
264
226
  let {
265
227
  sx
266
- } = _ref8,
267
- props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
228
+ } = _ref7,
229
+ props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
268
230
  return /*#__PURE__*/_jsx(JoyFormLabel, _extends({}, props, {
269
231
  ref: ref,
270
232
  sx: sx
@@ -394,7 +356,6 @@ const joySlots = _extends({}, joyIconSlots, {
394
356
  baseTextField: TextField,
395
357
  baseButton: Button,
396
358
  baseIconButton: IconButton,
397
- baseSwitch: Switch,
398
359
  baseSelect: Select,
399
360
  baseSelectOption: Option,
400
361
  baseInputLabel: InputLabel,
@@ -30,10 +30,9 @@ const jaJPGrid = {
30
30
  toolbarExportPrint: '印刷',
31
31
  toolbarExportExcel: 'Excelダウンロード',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
-
33
+ columnsManagementSearchTitle: '検索',
34
+ columnsManagementNoColumns: 'カラムなし',
35
+ columnsManagementShowHideAllText: 'すべて表示/非表示',
37
36
  // Filter panel text
38
37
  filterPanelAddFilter: 'フィルター追加',
39
38
  filterPanelRemoveAll: 'すべて削除',
@@ -3,7 +3,6 @@ import MUICheckbox from '@mui/material/Checkbox';
3
3
  import MUITextField from '@mui/material/TextField';
4
4
  import MUIFormControl from '@mui/material/FormControl';
5
5
  import MUISelect from '@mui/material/Select';
6
- import MUISwitch from '@mui/material/Switch';
7
6
  import MUIButton from '@mui/material/Button';
8
7
  import MUIIconButton from '@mui/material/IconButton';
9
8
  import MUIInputAdornment from '@mui/material/InputAdornment';
@@ -56,7 +55,6 @@ const materialSlots = _extends({}, iconSlots, {
56
55
  baseTextField: MUITextField,
57
56
  baseFormControl: MUIFormControl,
58
57
  baseSelect: MUISelect,
59
- baseSwitch: MUISwitch,
60
58
  baseButton: MUIButton,
61
59
  baseIconButton: MUIIconButton,
62
60
  baseInputAdornment: MUIInputAdornment,
@@ -12,5 +12,4 @@ export * from './gridPreferencesPanelApi';
12
12
  export * from './gridPrintExportApi';
13
13
  export * from './gridCallbackDetails';
14
14
  export * from './gridScrollApi';
15
- export * from './gridVirtualizationApi';
16
15
  export {};
@@ -0,0 +1,8 @@
1
+ import { GridPinnedColumnPosition } from '../hooks/features/columns/gridColumnsInterfaces';
2
+ export const shouldCellShowRightBorder = (pinnedPosition, indexInSection, sectionLength, showCellVerticalBorderRootProp) => {
3
+ const isSectionLastCell = indexInSection === sectionLength - 1;
4
+ return showCellVerticalBorderRootProp && (pinnedPosition !== GridPinnedColumnPosition.LEFT ? !isSectionLastCell : true) || pinnedPosition === GridPinnedColumnPosition.LEFT && isSectionLastCell;
5
+ };
6
+ export const shouldCellShowLeftBorder = (pinnedPosition, indexInSection) => {
7
+ return pinnedPosition === GridPinnedColumnPosition.RIGHT && indexInSection === 0;
8
+ };
@@ -1,7 +1,7 @@
1
1
  import { createSelector as reselectCreateSelector } from 'reselect';
2
2
  import { buildWarning } from './warning';
3
3
  const cache = new WeakMap();
4
- const missingInstanceIdWarning = buildWarning(['MUI X: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, e.g. `mySelector(apiRef)`, or pass the instance ID explicitly, e.g. `mySelector(state, apiRef.current.instanceId)`.']);
4
+ const missingInstanceIdWarning = buildWarning(['MUI X: A selector was called without passing the instance ID, which may impact the performance of the grid.', 'To fix, call it with `apiRef`, for example `mySelector(apiRef)`, or pass the instance ID explicitly, for example `mySelector(state, apiRef.current.instanceId)`.']);
5
5
  function checkIsAPIRef(value) {
6
6
  return 'current' in value && 'instanceId' in value.current;
7
7
  }
@@ -46,4 +46,148 @@ export function isEventTargetInPortal(event) {
46
46
  return true;
47
47
  }
48
48
  return false;
49
+ }
50
+ export function getFieldFromHeaderElem(colCellEl) {
51
+ return colCellEl.getAttribute('data-field');
52
+ }
53
+ export function findHeaderElementFromField(elem, field) {
54
+ return elem.querySelector(`[data-field="${field}"]`);
55
+ }
56
+ export function findGroupHeaderElementsFromField(elem, field) {
57
+ return Array.from(elem.querySelectorAll(`[data-fields*="|-${field}-|"]`) ?? []);
58
+ }
59
+ export function findGridCellElementsFromCol(col, api) {
60
+ const root = findParentElementFromClassName(col, gridClasses.root);
61
+ if (!root) {
62
+ throw new Error('MUI X: The root element is not found.');
63
+ }
64
+ const ariaColIndex = col.getAttribute('aria-colindex');
65
+ if (!ariaColIndex) {
66
+ return [];
67
+ }
68
+ const colIndex = Number(ariaColIndex) - 1;
69
+ const cells = [];
70
+ if (!api.virtualScrollerRef?.current) {
71
+ return [];
72
+ }
73
+ queryRows(api).forEach(rowElement => {
74
+ const rowId = rowElement.getAttribute('data-id');
75
+ if (!rowId) {
76
+ return;
77
+ }
78
+ let columnIndex = colIndex;
79
+ const cellColSpanInfo = api.unstable_getCellColSpanInfo(rowId, colIndex);
80
+ if (cellColSpanInfo && cellColSpanInfo.spannedByColSpan) {
81
+ columnIndex = cellColSpanInfo.leftVisibleCellIndex;
82
+ }
83
+ const cell = rowElement.querySelector(`[data-colindex="${columnIndex}"]`);
84
+ if (cell) {
85
+ cells.push(cell);
86
+ }
87
+ });
88
+ return cells;
89
+ }
90
+ export function findGridElement(api, klass) {
91
+ return api.rootElementRef.current.querySelector(`.${gridClasses[klass]}`);
92
+ }
93
+ const findPinnedCells = ({
94
+ api,
95
+ colIndex,
96
+ position,
97
+ filterFn
98
+ }) => {
99
+ if (colIndex === null) {
100
+ return [];
101
+ }
102
+ const cells = [];
103
+ queryRows(api).forEach(rowElement => {
104
+ const rowId = rowElement.getAttribute('data-id');
105
+ if (!rowId) {
106
+ return;
107
+ }
108
+ rowElement.querySelectorAll(`.${gridClasses[position === 'left' ? 'cell--pinnedLeft' : 'cell--pinnedRight']}`).forEach(cell => {
109
+ const currentColIndex = parseCellColIndex(cell);
110
+ if (currentColIndex !== null && filterFn(currentColIndex)) {
111
+ cells.push(cell);
112
+ }
113
+ });
114
+ });
115
+ return cells;
116
+ };
117
+ export function findLeftPinnedCellsAfterCol(api, col) {
118
+ const colIndex = parseCellColIndex(col);
119
+ return findPinnedCells({
120
+ api,
121
+ colIndex,
122
+ position: 'left',
123
+ filterFn: index => index > colIndex
124
+ });
125
+ }
126
+ export function findRightPinnedCellsBeforeCol(api, col) {
127
+ const colIndex = parseCellColIndex(col);
128
+ return findPinnedCells({
129
+ api,
130
+ colIndex,
131
+ position: 'right',
132
+ filterFn: index => index < colIndex
133
+ });
134
+ }
135
+ const findPinnedHeaders = ({
136
+ api,
137
+ colIndex,
138
+ position,
139
+ filterFn
140
+ }) => {
141
+ if (!api.columnHeadersContainerRef?.current) {
142
+ return [];
143
+ }
144
+ if (colIndex === null) {
145
+ return [];
146
+ }
147
+ const elements = [];
148
+ api.columnHeadersContainerRef.current.querySelectorAll(`.${gridClasses[position === 'left' ? 'columnHeader--pinnedLeft' : 'columnHeader--pinnedRight']}`).forEach(element => {
149
+ const currentColIndex = parseCellColIndex(element);
150
+ if (currentColIndex !== null && filterFn(currentColIndex)) {
151
+ elements.push(element);
152
+ }
153
+ });
154
+ return elements;
155
+ };
156
+ export function findLeftPinnedHeadersAfterCol(api, col) {
157
+ const colIndex = parseCellColIndex(col);
158
+ return findPinnedHeaders({
159
+ api,
160
+ position: 'left',
161
+ colIndex,
162
+ filterFn: index => index > colIndex
163
+ });
164
+ }
165
+ export function findRightPinnedHeadersBeforeCol(api, col) {
166
+ const colIndex = parseCellColIndex(col);
167
+ return findPinnedHeaders({
168
+ api,
169
+ position: 'right',
170
+ colIndex,
171
+ filterFn: index => index < colIndex
172
+ });
173
+ }
174
+ export function findGridHeader(api, field) {
175
+ const headers = api.columnHeadersContainerRef.current;
176
+ return headers.querySelector(`:scope > div > [data-field="${field}"][role="columnheader"]`);
177
+ }
178
+ export function findGridCells(api, field) {
179
+ const container = api.virtualScrollerRef.current;
180
+ return Array.from(container.querySelectorAll(`:scope > div > div > div > [data-field="${field}"][role="gridcell"]`));
181
+ }
182
+ function queryRows(api) {
183
+ return api.virtualScrollerRef.current.querySelectorAll(
184
+ // Use > to ignore rows from nested data grids (for example in detail panel)
185
+ `:scope > div > div > .${gridClasses.row}`);
186
+ }
187
+ function parseCellColIndex(col) {
188
+ const ariaColIndex = col.getAttribute('aria-colindex');
189
+ if (!ariaColIndex) {
190
+ return null;
191
+ }
192
+ return Number(ariaColIndex) - 1;
49
193
  }
@@ -8,7 +8,7 @@ export const isEscapeKey = key => key === 'Escape';
8
8
  */
9
9
  export const isTabKey = key => key === 'Tab';
10
10
 
11
- // Non printable keys have a name, e.g. "ArrowRight", see the whole list:
11
+ // Non printable keys have a name, for example "ArrowRight", see the whole list:
12
12
  // https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values
13
13
  // So event.key.length === 1 is often enough.
14
14
  //
@@ -74,6 +74,21 @@ DataGridRaw.propTypes = {
74
74
  * @default false
75
75
  */
76
76
  autoPageSize: _propTypes.default.bool,
77
+ /**
78
+ * If `true`, columns are autosized after the datagrid is mounted.
79
+ * @default false
80
+ */
81
+ autosizeOnMount: _propTypes.default.bool,
82
+ /**
83
+ * The options for autosize when user-initiated.
84
+ */
85
+ autosizeOptions: _propTypes.default.shape({
86
+ columns: _propTypes.default.arrayOf(_propTypes.default.string),
87
+ expand: _propTypes.default.bool,
88
+ includeHeaders: _propTypes.default.bool,
89
+ includeOutliers: _propTypes.default.bool,
90
+ outliersFactor: _propTypes.default.number
91
+ }),
77
92
  /**
78
93
  * Controls the modes of the cells.
79
94
  */
@@ -93,10 +108,10 @@ DataGridRaw.propTypes = {
93
108
  */
94
109
  clipboardCopyCellDelimiter: _propTypes.default.string,
95
110
  /**
96
- * Number of extra columns to be rendered before/after the visible slice.
97
- * @default 3
111
+ * Column region in pixels to render before/after the viewport
112
+ * @default 150
98
113
  */
99
- columnBuffer: _propTypes.default.number,
114
+ columnBufferPx: _propTypes.default.number,
100
115
  columnGroupingModel: _propTypes.default.arrayOf(_propTypes.default.object),
101
116
  /**
102
117
  * Sets the height in pixel of the column headers in the Data Grid.
@@ -107,11 +122,6 @@ DataGridRaw.propTypes = {
107
122
  * Set of columns of type [[GridColDef]][].
108
123
  */
109
124
  columns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
110
- /**
111
- * Number of rows from the `columnBuffer` that can be visible before a new slice is rendered.
112
- * @default 3
113
- */
114
- columnThreshold: _propTypes.default.number,
115
125
  /**
116
126
  * Set the column visibility model of the Data Grid.
117
127
  * If defined, the Data Grid will ignore the `hide` property in [[GridColDef]].
@@ -122,6 +132,11 @@ DataGridRaw.propTypes = {
122
132
  * @default "standard"
123
133
  */
124
134
  density: _propTypes.default.oneOf(['comfortable', 'compact', 'standard']),
135
+ /**
136
+ * If `true`, column autosizing on header separator double-click is disabled.
137
+ * @default false
138
+ */
139
+ disableAutosize: _propTypes.default.bool,
125
140
  /**
126
141
  * If `true`, column filters are disabled.
127
142
  * @default false
@@ -132,6 +147,11 @@ DataGridRaw.propTypes = {
132
147
  * @default false
133
148
  */
134
149
  disableColumnMenu: _propTypes.default.bool,
150
+ /**
151
+ * If `true`, resizing columns is disabled.
152
+ * @default false
153
+ */
154
+ disableColumnResize: _propTypes.default.bool,
135
155
  /**
136
156
  * If `true`, hiding/showing columns is disabled.
137
157
  * @default false
@@ -429,12 +449,31 @@ DataGridRaw.propTypes = {
429
449
  * @param {GridCallbackDetails} details Additional details for this callback.
430
450
  */
431
451
  onColumnOrderChange: _propTypes.default.func,
452
+ /**
453
+ * Callback fired while a column is being resized.
454
+ * @param {GridColumnResizeParams} params With all properties from [[GridColumnResizeParams]].
455
+ * @param {MuiEvent<React.MouseEvent>} event The event object.
456
+ * @param {GridCallbackDetails} details Additional details for this callback.
457
+ */
458
+ onColumnResize: _propTypes.default.func,
432
459
  /**
433
460
  * Callback fired when the column visibility model changes.
434
461
  * @param {GridColumnVisibilityModel} model The new model.
435
462
  * @param {GridCallbackDetails} details Additional details for this callback.
436
463
  */
437
464
  onColumnVisibilityModelChange: _propTypes.default.func,
465
+ /**
466
+ * Callback fired when the width of a column is changed.
467
+ * @param {GridColumnResizeParams} params With all properties from [[GridColumnResizeParams]].
468
+ * @param {MuiEvent<React.MouseEvent>} event The event object.
469
+ * @param {GridCallbackDetails} details Additional details for this callback.
470
+ */
471
+ onColumnWidthChange: _propTypes.default.func,
472
+ /**
473
+ * Callback fired when the density changes.
474
+ * @param {GridDensity} density New density value.
475
+ */
476
+ onDensityChange: _propTypes.default.func,
438
477
  /**
439
478
  * Callback fired when the Filter model changes before the filters are applied.
440
479
  * @param {GridFilterModel} model With all properties from [[GridFilterModel]].
@@ -495,6 +534,11 @@ DataGridRaw.propTypes = {
495
534
  * @param {GridCallbackDetails} details Additional details for this callback.
496
535
  */
497
536
  onRowClick: _propTypes.default.func,
537
+ /**
538
+ * Callback fired when the row count has changed.
539
+ * @param {number} count Updated row count.
540
+ */
541
+ onRowCountChange: _propTypes.default.func,
498
542
  /**
499
543
  * Callback fired when a double click event comes from a row container element.
500
544
  * @param {GridRowParams} params With all properties from [[RowParams]].
@@ -572,10 +616,10 @@ DataGridRaw.propTypes = {
572
616
  */
573
617
  processRowUpdate: _propTypes.default.func,
574
618
  /**
575
- * Number of extra rows to be rendered before/after the visible slice.
576
- * @default 3
619
+ * Row region in pixels to render before/after the viewport
620
+ * @default 150
577
621
  */
578
- rowBuffer: _propTypes.default.number,
622
+ rowBufferPx: _propTypes.default.number,
579
623
  /**
580
624
  * Set the total number of rows, if it is different from the length of the value `rows` prop.
581
625
  * If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
@@ -599,8 +643,9 @@ DataGridRaw.propTypes = {
599
643
  rowPositionsDebounceMs: _propTypes.default.number,
600
644
  /**
601
645
  * Set of rows of type [[GridRowsProp]].
646
+ * @default []
602
647
  */
603
- rows: _propTypes.default.arrayOf(_propTypes.default.object).isRequired,
648
+ rows: _propTypes.default.arrayOf(_propTypes.default.object),
604
649
  /**
605
650
  * If `false`, the row selection mode is disabled.
606
651
  * @default true
@@ -615,11 +660,6 @@ DataGridRaw.propTypes = {
615
660
  * @default "margin"
616
661
  */
617
662
  rowSpacingType: _propTypes.default.oneOf(['border', 'margin']),
618
- /**
619
- * Number of rows from the `rowBuffer` that can be visible before a new slice is rendered.
620
- * @default 3
621
- */
622
- rowThreshold: _propTypes.default.number,
623
663
  /**
624
664
  * Override the height/width of the Data Grid inner scrollbar.
625
665
  */
@@ -32,6 +32,7 @@ var _useGridStatePersistence = require("../hooks/features/statePersistence/useGr
32
32
  var _useGridColumnSpanning = require("../hooks/features/columns/useGridColumnSpanning");
33
33
  var _useGridColumnGrouping = require("../hooks/features/columnGrouping/useGridColumnGrouping");
34
34
  var _virtualization = require("../hooks/features/virtualization");
35
+ var _useGridColumnResize = require("../hooks/features/columnResize/useGridColumnResize");
35
36
  const useDataGridComponent = (inputApiRef, props) => {
36
37
  const apiRef = (0, _useGridInitialization.useGridInitialization)(inputApiRef, props);
37
38
 
@@ -54,6 +55,7 @@ const useDataGridComponent = (inputApiRef, props) => {
54
55
  (0, _useGridInitializeState.useGridInitializeState)(_useGridPreferencesPanel.preferencePanelStateInitializer, apiRef, props);
55
56
  (0, _useGridInitializeState.useGridInitializeState)(_useGridFilter.filterStateInitializer, apiRef, props);
56
57
  (0, _useGridInitializeState.useGridInitializeState)(_useGridDensity.densityStateInitializer, apiRef, props);
58
+ (0, _useGridInitializeState.useGridInitializeState)(_useGridColumnResize.columnResizeStateInitializer, apiRef, props);
57
59
  (0, _useGridInitializeState.useGridInitializeState)(_useGridPagination.paginationStateInitializer, apiRef, props);
58
60
  (0, _useGridInitializeState.useGridInitializeState)(_useGridRowsMeta.rowsMetaStateInitializer, apiRef, props);
59
61
  (0, _useGridInitializeState.useGridInitializeState)(_useGridColumnMenu.columnMenuStateInitializer, apiRef, props);
@@ -72,6 +74,7 @@ const useDataGridComponent = (inputApiRef, props) => {
72
74
  (0, _useGridFilter.useGridFilter)(apiRef, props);
73
75
  (0, _useGridSorting.useGridSorting)(apiRef, props);
74
76
  (0, _useGridDensity.useGridDensity)(apiRef, props);
77
+ (0, _useGridColumnResize.useGridColumnResize)(apiRef, props);
75
78
  (0, _useGridPagination.useGridPagination)(apiRef, props);
76
79
  (0, _useGridRowsMeta.useGridRowsMeta)(apiRef, props);
77
80
  (0, _useGridScroll.useGridScroll)(apiRef, props);
@@ -22,7 +22,6 @@ const DATA_GRID_FORCED_PROPS = {
22
22
  pagination: true,
23
23
  checkboxSelectionVisibleOnly: false,
24
24
  disableColumnReorder: true,
25
- disableColumnResize: true,
26
25
  keepColumnPositionIfDraggedOutside: false,
27
26
  signature: 'DataGrid'
28
27
  };
@@ -35,12 +34,10 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
35
34
  autoPageSize: false,
36
35
  checkboxSelection: false,
37
36
  checkboxSelectionVisibleOnly: false,
38
- columnBuffer: 3,
39
- rowBuffer: 3,
40
- columnThreshold: 3,
41
- rowThreshold: 3,
37
+ columnBufferPx: 150,
38
+ rowBufferPx: 150,
39
+ rows: [],
42
40
  rowSelection: true,
43
- density: 'standard',
44
41
  disableColumnFilter: false,
45
42
  disableColumnMenu: false,
46
43
  disableColumnSelector: false,
@@ -79,7 +76,9 @@ const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES =
79
76
  keepColumnPositionIfDraggedOutside: false,
80
77
  ignoreValueFormatterDuringExport: false,
81
78
  clipboardCopyCellDelimiter: '\t',
82
- rowPositionsDebounceMs: 166
79
+ rowPositionsDebounceMs: 166,
80
+ autosizeOnMount: false,
81
+ disableAutosize: false
83
82
  };
84
83
  const defaultSlots = _defaultGridSlotsComponents.DATA_GRID_DEFAULT_SLOTS_COMPONENTS;
85
84
  const useDataGridProps = inProps => {
@@ -9,18 +9,15 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
- var _utils = require("@mui/utils");
13
12
  var _fastMemo = require("../utils/fastMemo");
14
13
  var _useGridColumnHeaders = require("../hooks/features/columnHeaders/useGridColumnHeaders");
15
14
  var _GridBaseColumnHeaders = require("./columnHeaders/GridBaseColumnHeaders");
16
- var _GridColumnHeadersInner = require("./columnHeaders/GridColumnHeadersInner");
17
15
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
16
+ const _excluded = ["className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
19
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
19
  const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
22
20
  const {
23
- innerRef,
24
21
  visibleColumns,
25
22
  sortColumnLookup,
26
23
  filterColumnLookup,
@@ -36,12 +33,10 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeade
36
33
  } = props,
37
34
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
38
35
  const {
39
- isDragging,
40
36
  getInnerProps,
41
- getColumnHeaders,
42
- getColumnGroupHeaders
37
+ getColumnHeadersRow,
38
+ getColumnGroupHeadersRows
43
39
  } = (0, _useGridColumnHeaders.useGridColumnHeaders)({
44
- innerRef,
45
40
  visibleColumns,
46
41
  sortColumnLookup,
47
42
  filterColumnLookup,
@@ -55,14 +50,10 @@ const GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeade
55
50
  columnGroupsHeaderStructure,
56
51
  hasOtherElementInTabSequence
57
52
  });
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridBaseColumnHeaders.GridBaseColumnHeaders, (0, _extends2.default)({
59
54
  ref: ref
60
- }, other, {
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridColumnHeadersInner.GridColumnHeadersInner, (0, _extends2.default)({
62
- isDragging: isDragging
63
- }, getInnerProps(), {
64
- children: [getColumnGroupHeaders(), getColumnHeaders()]
65
- }))
55
+ }, other, getInnerProps(), {
56
+ children: [getColumnGroupHeadersRows(), getColumnHeadersRow()]
66
57
  }));
67
58
  });
68
59
  process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
@@ -96,7 +87,6 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
96
87
  filterColumnLookup: _propTypes.default.object.isRequired,
97
88
  hasOtherElementInTabSequence: _propTypes.default.bool.isRequired,
98
89
  headerGroupingMaxDepth: _propTypes.default.number.isRequired,
99
- innerRef: _utils.refType,
100
90
  sortColumnLookup: _propTypes.default.object.isRequired,
101
91
  visibleColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
102
92
  } : void 0;
@@ -34,15 +34,12 @@ function GridHeaders() {
34
34
  const columnVisibility = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
35
35
  const columnGroupsHeaderStructure = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderStructureSelector);
36
36
  const hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
37
- const columnHeadersRef = React.useRef(null);
38
37
  const columnsContainerRef = React.useRef(null);
39
38
  apiRef.current.register('private', {
40
- columnHeadersContainerElementRef: columnsContainerRef,
41
- columnHeadersElementRef: columnHeadersRef
39
+ columnHeadersContainerRef: columnsContainerRef
42
40
  });
43
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnHeaders, {
44
42
  ref: columnsContainerRef,
45
- innerRef: columnHeadersRef,
46
43
  visibleColumns: visibleColumns,
47
44
  filterColumnLookup: filterColumnLookup,
48
45
  sortColumnLookup: sortColumnLookup,
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridPagination = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
11
  var _TablePagination = _interopRequireWildcard(require("@mui/material/TablePagination"));
11
12
  var _styles = require("@mui/material/styles");
12
13
  var _useGridSelector = require("../hooks/utils/useGridSelector");
13
14
  var _useGridApiContext = require("../hooks/utils/useGridApiContext");
14
15
  var _useGridRootProps = require("../hooks/utils/useGridRootProps");
15
- var _filter = require("../hooks/features/filter");
16
16
  var _gridPaginationSelector = require("../hooks/features/pagination/gridPaginationSelector");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -40,8 +40,7 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
40
40
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
41
41
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
42
42
  const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
43
- const visibleTopLevelRowCount = (0, _useGridSelector.useGridSelector)(apiRef, _filter.gridFilteredTopLevelRowCountSelector);
44
- const rowCount = React.useMemo(() => rootProps.rowCount ?? visibleTopLevelRowCount ?? 0, [rootProps.rowCount, visibleTopLevelRowCount]);
43
+ const rowCount = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationRowCountSelector);
45
44
  const lastPage = React.useMemo(() => {
46
45
  const calculatedValue = Math.ceil(rowCount / (paginationModel.pageSize || 1)) - 1;
47
46
  return Math.max(0, calculatedValue);
@@ -90,4 +89,11 @@ const GridPagination = exports.GridPagination = /*#__PURE__*/React.forwardRef(fu
90
89
  onPageChange: handlePageChange,
91
90
  onRowsPerPageChange: handlePageSizeChange
92
91
  }, apiRef.current.getLocaleText('MuiTablePagination'), props));
93
- });
92
+ });
93
+ process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
94
+ // ----------------------------- Warning --------------------------------
95
+ // | These PropTypes are generated from the TypeScript type definitions |
96
+ // | To update them edit the TypeScript types and run "yarn proptypes" |
97
+ // ----------------------------------------------------------------------
98
+ component: _propTypes.default.elementType
99
+ } : void 0;