@mui/x-data-grid 7.0.0-beta.3 → 7.0.0-beta.4

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 (459) hide show
  1. package/CHANGELOG.md +226 -15
  2. package/colDef/gridActionsColDef.js +1 -0
  3. package/colDef/gridBooleanColDef.js +1 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridScrollbarFillerCell.js +6 -21
  6. package/components/cell/GridCell.js +10 -12
  7. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  8. package/components/containers/GridRootStyles.js +50 -19
  9. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  10. package/constants/gridClasses.d.ts +24 -8
  11. package/constants/gridClasses.js +1 -1
  12. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  13. package/hooks/features/editing/useGridCellEditing.js +3 -4
  14. package/hooks/features/editing/useGridRowEditing.js +3 -4
  15. package/hooks/features/sorting/useGridSorting.js +1 -2
  16. package/index.js +1 -1
  17. package/internals/index.d.ts +1 -1
  18. package/internals/index.js +1 -1
  19. package/models/colDef/gridColDef.d.ts +6 -0
  20. package/modern/colDef/gridActionsColDef.js +1 -0
  21. package/modern/colDef/gridBooleanColDef.js +1 -0
  22. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  23. package/modern/components/GridScrollbarFillerCell.js +6 -21
  24. package/modern/components/cell/GridCell.js +10 -12
  25. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  26. package/modern/components/containers/GridRootStyles.js +50 -19
  27. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  28. package/modern/constants/gridClasses.js +1 -1
  29. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  30. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  31. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  32. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  33. package/modern/index.js +1 -1
  34. package/modern/internals/index.js +1 -1
  35. package/modern/utils/keyboardUtils.js +20 -11
  36. package/node/colDef/gridActionsColDef.js +1 -0
  37. package/node/colDef/gridBooleanColDef.js +1 -0
  38. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  39. package/node/components/GridScrollbarFillerCell.js +5 -20
  40. package/node/components/cell/GridCell.js +10 -12
  41. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  42. package/node/components/containers/GridRootStyles.js +50 -19
  43. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  44. package/node/constants/gridClasses.js +1 -1
  45. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  46. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  47. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  48. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  49. package/node/index.js +1 -1
  50. package/node/internals/index.js +7 -0
  51. package/node/utils/keyboardUtils.js +25 -20
  52. package/package.json +1 -1
  53. package/utils/keyboardUtils.d.ts +7 -6
  54. package/utils/keyboardUtils.js +20 -11
  55. package/legacy/DataGrid/DataGrid.js +0 -664
  56. package/legacy/DataGrid/index.js +0 -2
  57. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  58. package/legacy/DataGrid/useDataGridProps.js +0 -98
  59. package/legacy/colDef/gridActionsColDef.js +0 -18
  60. package/legacy/colDef/gridBooleanColDef.js +0 -42
  61. package/legacy/colDef/gridBooleanOperators.js +0 -16
  62. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  63. package/legacy/colDef/gridDateColDef.js +0 -62
  64. package/legacy/colDef/gridDateOperators.js +0 -115
  65. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  66. package/legacy/colDef/gridNumericColDef.js +0 -19
  67. package/legacy/colDef/gridNumericOperators.js +0 -145
  68. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  69. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  70. package/legacy/colDef/gridStringColDef.js +0 -27
  71. package/legacy/colDef/gridStringOperators.js +0 -112
  72. package/legacy/colDef/index.js +0 -13
  73. package/legacy/components/GridApiContext.js +0 -5
  74. package/legacy/components/GridColumnHeaders.js +0 -94
  75. package/legacy/components/GridDetailPanels.js +0 -4
  76. package/legacy/components/GridFooter.js +0 -42
  77. package/legacy/components/GridHeader.js +0 -13
  78. package/legacy/components/GridHeaders.js +0 -53
  79. package/legacy/components/GridLoadingOverlay.js +0 -21
  80. package/legacy/components/GridNoResultsOverlay.js +0 -14
  81. package/legacy/components/GridNoRowsOverlay.js +0 -23
  82. package/legacy/components/GridPagination.js +0 -85
  83. package/legacy/components/GridPinnedRows.js +0 -4
  84. package/legacy/components/GridRow.js +0 -465
  85. package/legacy/components/GridRowCount.js +0 -63
  86. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  87. package/legacy/components/GridSelectedRowCount.js +0 -66
  88. package/legacy/components/base/GridBody.js +0 -2
  89. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  90. package/legacy/components/base/GridOverlays.js +0 -122
  91. package/legacy/components/base/index.js +0 -3
  92. package/legacy/components/cell/GridActionsCell.js +0 -294
  93. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  94. package/legacy/components/cell/GridBooleanCell.js +0 -121
  95. package/legacy/components/cell/GridCell.js +0 -350
  96. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  97. package/legacy/components/cell/GridEditDateCell.js +0 -230
  98. package/legacy/components/cell/GridEditInputCell.js +0 -198
  99. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  100. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  101. package/legacy/components/cell/index.js +0 -9
  102. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  103. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  104. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  105. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  106. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  107. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  108. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  109. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  110. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  111. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  112. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  113. package/legacy/components/columnHeaders/index.js +0 -5
  114. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  115. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  116. package/legacy/components/columnSelection/index.js +0 -2
  117. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  118. package/legacy/components/columnsManagement/index.js +0 -1
  119. package/legacy/components/columnsManagement/utils.js +0 -22
  120. package/legacy/components/containers/GridFooterContainer.js +0 -50
  121. package/legacy/components/containers/GridOverlay.js +0 -52
  122. package/legacy/components/containers/GridRoot.js +0 -79
  123. package/legacy/components/containers/GridRootStyles.js +0 -395
  124. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  125. package/legacy/components/containers/index.js +0 -4
  126. package/legacy/components/index.js +0 -19
  127. package/legacy/components/menu/GridMenu.js +0 -132
  128. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  129. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  130. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  131. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  132. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  133. package/legacy/components/menu/columnMenu/index.js +0 -9
  134. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  135. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  136. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  137. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  138. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  139. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  140. package/legacy/components/menu/index.js +0 -2
  141. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  142. package/legacy/components/panel/GridPanel.js +0 -137
  143. package/legacy/components/panel/GridPanelContent.js +0 -49
  144. package/legacy/components/panel/GridPanelFooter.js +0 -50
  145. package/legacy/components/panel/GridPanelHeader.js +0 -48
  146. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  147. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  148. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  149. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  150. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  151. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  152. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  153. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  154. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  155. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  156. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  157. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  158. package/legacy/components/panel/filterPanel/index.js +0 -9
  159. package/legacy/components/panel/index.js +0 -7
  160. package/legacy/components/reexportable.js +0 -1
  161. package/legacy/components/toolbar/GridToolbar.js +0 -64
  162. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  163. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  164. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  165. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  166. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  167. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  168. package/legacy/components/toolbar/index.js +0 -7
  169. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  170. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  171. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  172. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  173. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  174. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  177. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  178. package/legacy/constants/envConstants.js +0 -19
  179. package/legacy/constants/gridClasses.js +0 -5
  180. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  181. package/legacy/constants/index.js +0 -3
  182. package/legacy/constants/localeTextConstants.js +0 -158
  183. package/legacy/context/GridContextProvider.js +0 -21
  184. package/legacy/context/GridRootPropsContext.js +0 -6
  185. package/legacy/context/index.js +0 -1
  186. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  187. package/legacy/hooks/core/index.js +0 -1
  188. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  189. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  190. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  191. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  192. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  193. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  194. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  195. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  196. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  197. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  198. package/legacy/hooks/core/useGridInitialization.js +0 -26
  199. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  200. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  201. package/legacy/hooks/core/useGridRefs.js +0 -13
  202. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  203. package/legacy/hooks/core/useGridTheme.js +0 -21
  204. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  205. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  206. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  207. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  208. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  209. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  210. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  211. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  212. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  213. package/legacy/hooks/features/columnMenu/index.js +0 -2
  214. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  215. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  216. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  217. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  218. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  219. package/legacy/hooks/features/columns/index.js +0 -2
  220. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  221. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  222. package/legacy/hooks/features/density/densitySelector.js +0 -10
  223. package/legacy/hooks/features/density/densityState.js +0 -1
  224. package/legacy/hooks/features/density/index.js +0 -2
  225. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  226. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  227. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  228. package/legacy/hooks/features/dimensions/index.js +0 -2
  229. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  230. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  231. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  232. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  233. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  234. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  235. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  236. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  237. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  238. package/legacy/hooks/features/export/utils.js +0 -49
  239. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  240. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  241. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  242. package/legacy/hooks/features/filter/index.js +0 -2
  243. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  244. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  245. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  246. package/legacy/hooks/features/focus/index.js +0 -2
  247. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  248. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  249. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  250. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  251. package/legacy/hooks/features/index.js +0 -16
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  253. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  254. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  255. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  256. package/legacy/hooks/features/pagination/index.js +0 -2
  257. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  258. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  259. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  260. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  261. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  262. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  263. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  264. package/legacy/hooks/features/rowSelection/index.js +0 -1
  265. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  266. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  267. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  268. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  269. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  270. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  271. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  272. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  273. package/legacy/hooks/features/rows/index.js +0 -4
  274. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  275. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  276. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  277. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  278. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  279. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  280. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  281. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  282. package/legacy/hooks/features/sorting/index.js +0 -2
  283. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  284. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  285. package/legacy/hooks/features/statePersistence/index.js +0 -1
  286. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  287. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  288. package/legacy/hooks/features/virtualization/index.js +0 -2
  289. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  290. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  291. package/legacy/hooks/index.js +0 -3
  292. package/legacy/hooks/utils/index.js +0 -9
  293. package/legacy/hooks/utils/useFirstRender.js +0 -8
  294. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  295. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  296. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  297. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  298. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  299. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  300. package/legacy/hooks/utils/useGridLogger.js +0 -10
  301. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  302. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  303. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  304. package/legacy/hooks/utils/useGridSelector.js +0 -54
  305. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  306. package/legacy/hooks/utils/useLazyRef.js +0 -11
  307. package/legacy/hooks/utils/useOnMount.js +0 -7
  308. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  309. package/legacy/hooks/utils/useRunOnce.js +0 -18
  310. package/legacy/hooks/utils/useTimeout.js +0 -38
  311. package/legacy/index.js +0 -38
  312. package/legacy/internals/index.js +0 -68
  313. package/legacy/internals/utils/computeSlots.js +0 -17
  314. package/legacy/internals/utils/index.js +0 -3
  315. package/legacy/internals/utils/propValidation.js +0 -21
  316. package/legacy/internals/utils/useProps.js +0 -32
  317. package/legacy/joy/icons.js +0 -432
  318. package/legacy/joy/index.js +0 -2
  319. package/legacy/joy/joySlots.js +0 -420
  320. package/legacy/locales/arSD.js +0 -160
  321. package/legacy/locales/beBY.js +0 -184
  322. package/legacy/locales/bgBG.js +0 -160
  323. package/legacy/locales/coreLocales.js +0 -62
  324. package/legacy/locales/csCZ.js +0 -181
  325. package/legacy/locales/daDK.js +0 -160
  326. package/legacy/locales/deDE.js +0 -160
  327. package/legacy/locales/elGR.js +0 -160
  328. package/legacy/locales/enUS.js +0 -4
  329. package/legacy/locales/esES.js +0 -160
  330. package/legacy/locales/faIR.js +0 -160
  331. package/legacy/locales/fiFI.js +0 -160
  332. package/legacy/locales/frFR.js +0 -160
  333. package/legacy/locales/heIL.js +0 -160
  334. package/legacy/locales/hrHR.js +0 -160
  335. package/legacy/locales/huHU.js +0 -160
  336. package/legacy/locales/index.js +0 -35
  337. package/legacy/locales/itIT.js +0 -160
  338. package/legacy/locales/jaJP.js +0 -160
  339. package/legacy/locales/koKR.js +0 -162
  340. package/legacy/locales/nbNO.js +0 -162
  341. package/legacy/locales/nlNL.js +0 -160
  342. package/legacy/locales/plPL.js +0 -163
  343. package/legacy/locales/ptBR.js +0 -160
  344. package/legacy/locales/ptPT.js +0 -160
  345. package/legacy/locales/roRO.js +0 -160
  346. package/legacy/locales/ruRU.js +0 -181
  347. package/legacy/locales/skSK.js +0 -181
  348. package/legacy/locales/svSE.js +0 -160
  349. package/legacy/locales/trTR.js +0 -161
  350. package/legacy/locales/ukUA.js +0 -182
  351. package/legacy/locales/urPK.js +0 -160
  352. package/legacy/locales/viVN.js +0 -160
  353. package/legacy/locales/zhCN.js +0 -160
  354. package/legacy/locales/zhHK.js +0 -160
  355. package/legacy/locales/zhTW.js +0 -160
  356. package/legacy/material/components/MUISelectOption.js +0 -14
  357. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  358. package/legacy/material/icons/index.js +0 -89
  359. package/legacy/material/index.js +0 -69
  360. package/legacy/models/api/gridApiCommon.js +0 -1
  361. package/legacy/models/api/gridApiCommunity.js +0 -1
  362. package/legacy/models/api/gridCallbackDetails.js +0 -1
  363. package/legacy/models/api/gridColumnApi.js +0 -1
  364. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  365. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  366. package/legacy/models/api/gridColumnSpanning.js +0 -1
  367. package/legacy/models/api/gridCoreApi.js +0 -1
  368. package/legacy/models/api/gridCsvExportApi.js +0 -1
  369. package/legacy/models/api/gridDensityApi.js +0 -1
  370. package/legacy/models/api/gridEditingApi.js +0 -1
  371. package/legacy/models/api/gridFilterApi.js +0 -1
  372. package/legacy/models/api/gridFocusApi.js +0 -1
  373. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  374. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  375. package/legacy/models/api/gridLoggerApi.js +0 -1
  376. package/legacy/models/api/gridParamsApi.js +0 -1
  377. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  378. package/legacy/models/api/gridPrintExportApi.js +0 -1
  379. package/legacy/models/api/gridRowApi.js +0 -1
  380. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  381. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  382. package/legacy/models/api/gridScrollApi.js +0 -1
  383. package/legacy/models/api/gridSortApi.js +0 -1
  384. package/legacy/models/api/gridStateApi.js +0 -1
  385. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  386. package/legacy/models/api/index.js +0 -16
  387. package/legacy/models/colDef/gridColDef.js +0 -1
  388. package/legacy/models/colDef/gridColType.js +0 -1
  389. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  390. package/legacy/models/colDef/index.js +0 -6
  391. package/legacy/models/controlStateItem.js +0 -1
  392. package/legacy/models/cursorCoordinates.js +0 -1
  393. package/legacy/models/elementSize.js +0 -1
  394. package/legacy/models/events/gridEventListener.js +0 -1
  395. package/legacy/models/events/gridEventLookup.js +0 -1
  396. package/legacy/models/events/gridEventPublisher.js +0 -1
  397. package/legacy/models/events/index.js +0 -3
  398. package/legacy/models/gridApiCaches.js +0 -1
  399. package/legacy/models/gridCell.js +0 -1
  400. package/legacy/models/gridCellClass.js +0 -1
  401. package/legacy/models/gridColumnGrouping.js +0 -11
  402. package/legacy/models/gridColumnHeaderClass.js +0 -1
  403. package/legacy/models/gridColumnSpanning.js +0 -1
  404. package/legacy/models/gridDensity.js +0 -1
  405. package/legacy/models/gridEditRowModel.js +0 -16
  406. package/legacy/models/gridExport.js +0 -1
  407. package/legacy/models/gridFeatureMode.js +0 -1
  408. package/legacy/models/gridFilterItem.js +0 -11
  409. package/legacy/models/gridFilterModel.js +0 -1
  410. package/legacy/models/gridFilterOperator.js +0 -1
  411. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  412. package/legacy/models/gridIconSlotsComponent.js +0 -1
  413. package/legacy/models/gridPaginationProps.js +0 -1
  414. package/legacy/models/gridRenderContextProps.js +0 -1
  415. package/legacy/models/gridRowSelectionModel.js +0 -1
  416. package/legacy/models/gridRows.js +0 -1
  417. package/legacy/models/gridSlotsComponent.js +0 -1
  418. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  419. package/legacy/models/gridSortModel.js +0 -1
  420. package/legacy/models/gridStateCommunity.js +0 -1
  421. package/legacy/models/index.js +0 -29
  422. package/legacy/models/logger.js +0 -1
  423. package/legacy/models/muiEvent.js +0 -1
  424. package/legacy/models/params/gridCellParams.js +0 -1
  425. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  426. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  427. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  428. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  429. package/legacy/models/params/gridEditCellParams.js +0 -27
  430. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  431. package/legacy/models/params/gridMenuParams.js +0 -1
  432. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  433. package/legacy/models/params/gridRowParams.js +0 -44
  434. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  435. package/legacy/models/params/gridScrollParams.js +0 -1
  436. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  437. package/legacy/models/params/index.js +0 -13
  438. package/legacy/models/props/DataGridProps.js +0 -1
  439. package/legacy/themeAugmentation/index.js +0 -4
  440. package/legacy/themeAugmentation/overrides.js +0 -1
  441. package/legacy/themeAugmentation/props.js +0 -1
  442. package/legacy/utils/EventManager.js +0 -91
  443. package/legacy/utils/Store.js +0 -34
  444. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  445. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  446. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  447. package/legacy/utils/createControllablePromise.js +0 -11
  448. package/legacy/utils/createSelector.js +0 -120
  449. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  450. package/legacy/utils/domUtils.js +0 -49
  451. package/legacy/utils/exportAs.js +0 -40
  452. package/legacy/utils/fastMemo.js +0 -5
  453. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  454. package/legacy/utils/getGridLocalization.js +0 -15
  455. package/legacy/utils/getPublicApiRef.js +0 -5
  456. package/legacy/utils/index.js +0 -1
  457. package/legacy/utils/keyboardUtils.js +0 -60
  458. package/legacy/utils/utils.js +0 -189
  459. package/legacy/utils/warning.js +0 -25
@@ -56,7 +56,7 @@ export { getColumnsToExport, defaultGetRowsToExport } from '../hooks/features/ex
56
56
  export * from '../utils/createControllablePromise';
57
57
  export { createSelector, createSelectorMemoized, unstable_resetCreateSelectorCache } from '../utils/createSelector';
58
58
  export { findParentElementFromClassName, getActiveElement, isEventTargetInPortal } from '../utils/domUtils';
59
- export { isNavigationKey } from '../utils/keyboardUtils';
59
+ export { isNavigationKey, isPasteShortcut } from '../utils/keyboardUtils';
60
60
  export * from '../utils/utils';
61
61
  export * from '../utils/fastMemo';
62
62
  export { buildWarning } from '../utils/warning';
@@ -1,12 +1,12 @@
1
- export const isEscapeKey = key => key === 'Escape'; // TODO remove
2
- export const isEnterKey = key => key === 'Enter'; // TODO remove
3
- export const isTabKey = key => key === 'Tab'; // TODO remove
1
+ /**
2
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
3
+ */
4
+ export const isEscapeKey = key => key === 'Escape';
4
5
 
5
- export const isSpaceKey = key => key === ' ';
6
- export const isArrowKeys = key => key.indexOf('Arrow') === 0;
7
- export const isHomeOrEndKeys = key => key === 'Home' || key === 'End';
8
- export const isPageKeys = key => key.indexOf('Page') === 0;
9
- export const isDeleteKeys = key => key === 'Delete' || key === 'Backspace';
6
+ /**
7
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
8
+ */
9
+ export const isTabKey = key => key === 'Tab';
10
10
 
11
11
  // Non printable keys have a name, e.g. "ArrowRight", see the whole list:
12
12
  // https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values
@@ -22,9 +22,18 @@ export const GRID_MULTIPLE_SELECTION_KEYS = ['Meta', 'Control', 'Shift'];
22
22
  export const GRID_CELL_EXIT_EDIT_MODE_KEYS = ['Enter', 'Escape', 'Tab'];
23
23
  export const GRID_CELL_EDIT_COMMIT_KEYS = ['Enter', 'Tab'];
24
24
  export const isMultipleKey = key => GRID_MULTIPLE_SELECTION_KEYS.indexOf(key) > -1;
25
- export const isCellEnterEditModeKeys = event => isEnterKey(event.key) || isDeleteKeys(event.key) || isPrintableKey(event);
25
+ export const isCellEnterEditModeKeys = event => isPrintableKey(event) || event.key === 'Enter' || event.key === 'Backspace' || event.key === 'Delete';
26
26
  export const isCellExitEditModeKeys = key => GRID_CELL_EXIT_EDIT_MODE_KEYS.indexOf(key) > -1;
27
27
  export const isCellEditCommitKeys = key => GRID_CELL_EDIT_COMMIT_KEYS.indexOf(key) > -1;
28
- export const isNavigationKey = key => isHomeOrEndKeys(key) || isArrowKeys(key) || isPageKeys(key) || isSpaceKey(key);
28
+ export const isNavigationKey = key => key.indexOf('Arrow') === 0 || key.indexOf('Page') === 0 || key === ' ' || key === 'Home' || key === 'End';
29
29
  export const isKeyboardEvent = event => !!event.key;
30
- export const isHideMenuKey = key => isTabKey(key) || isEscapeKey(key);
30
+ export const isHideMenuKey = key => isTabKey(key) || isEscapeKey(key);
31
+
32
+ // In theory, on macOS, ctrl + v doesn't trigger a paste, so the function should return false.
33
+ // However, maybe it's overkill to fix, so let's be lazy.
34
+ export function isPasteShortcut(event) {
35
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'v' && !event.shiftKey && !event.altKey) {
36
+ return true;
37
+ }
38
+ return false;
39
+ }
@@ -15,6 +15,7 @@ const GRID_ACTIONS_COL_DEF = exports.GRID_ACTIONS_COL_DEF = (0, _extends2.defaul
15
15
  // @ts-ignore
16
16
  aggregable: false,
17
17
  width: 100,
18
+ display: 'flex',
18
19
  align: 'center',
19
20
  headerAlign: 'center',
20
21
  headerName: '',
@@ -32,6 +32,7 @@ const stringToBoolean = value => {
32
32
  };
33
33
  const GRID_BOOLEAN_COL_DEF = exports.GRID_BOOLEAN_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
34
34
  type: 'boolean',
35
+ display: 'flex',
35
36
  align: 'center',
36
37
  headerAlign: 'center',
37
38
  renderCell: _GridBooleanCell.renderBooleanCell,
@@ -28,6 +28,7 @@ const GRID_CHECKBOX_SELECTION_COL_DEF = exports.GRID_CHECKBOX_SELECTION_COL_DEF
28
28
  disableReorder: true,
29
29
  disableExport: true,
30
30
  getApplyQuickFilterFn: undefined,
31
+ display: 'flex',
31
32
  valueGetter: (value, row, column, apiRef) => {
32
33
  const selectionLookup = (0, _gridRowSelectionSelector.selectedIdsLookupSelector)(apiRef);
33
34
  const rowId = apiRef.current.getRowId(row);
@@ -7,37 +7,22 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.GridScrollbarFillerCell = GridScrollbarFillerCell;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _clsx = _interopRequireDefault(require("clsx"));
10
- var _styles = require("@mui/material/styles");
11
10
  var _constants = require("../constants");
12
11
  var _jsxRuntime = require("react/jsx-runtime");
13
12
  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); }
14
13
  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; }
15
14
  const classes = {
16
- root: (0, _constants.getDataGridUtilityClass)('scrollbarFiller'),
17
- header: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--header'),
18
- borderTop: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--borderTop'),
19
- pinnedRight: (0, _constants.getDataGridUtilityClass)('scrollbarFiller--pinnedRight')
15
+ root: _constants.gridClasses.scrollbarFiller,
16
+ header: _constants.gridClasses['scrollbarFiller--header'],
17
+ borderTop: _constants.gridClasses['scrollbarFiller--borderTop'],
18
+ pinnedRight: _constants.gridClasses['scrollbarFiller--pinnedRight']
20
19
  };
21
- const Style = (0, _styles.styled)('div')({
22
- minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
23
- alignSelf: 'stretch',
24
- [`&.${classes.borderTop}`]: {
25
- borderTop: '1px solid var(--DataGrid-rowBorderColor)'
26
- },
27
- [`&.${classes.pinnedRight}`]: {
28
- backgroundColor: 'var(--DataGrid-pinnedBackground)'
29
- },
30
- [`&.${classes.pinnedRight}:not(.${classes.header})`]: {
31
- position: 'sticky',
32
- right: 0
33
- }
34
- });
35
20
  function GridScrollbarFillerCell({
36
21
  header,
37
22
  borderTop = true,
38
23
  pinnedRight
39
24
  }) {
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Style, {
25
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
41
26
  role: "presentation",
42
27
  className: (0, _clsx.default)(classes.root, header && classes.header, borderTop && classes.borderTop, pinnedRight && classes.pinnedRight)
43
28
  });
@@ -67,8 +67,7 @@ const useUtilityClasses = ownerState => {
67
67
  classes
68
68
  } = ownerState;
69
69
  const slots = {
70
- root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === PinnedPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === PinnedPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode'],
71
- content: ['cellContent']
70
+ root: ['cell', `cell--text${(0, _utils.unstable_capitalize)(align)}`, isSelected && 'selected', isEditable && 'cell--editable', showLeftBorder && 'cell--withLeftBorder', showRightBorder && 'cell--withRightBorder', pinnedPosition === PinnedPosition.LEFT && 'cell--pinnedLeft', pinnedPosition === PinnedPosition.RIGHT && 'cell--pinnedRight', isSelectionMode && !isEditable && 'cell--selectionMode']
72
71
  };
73
72
  return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
74
73
  };
@@ -148,6 +147,9 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
148
147
  if (column.cellClassName) {
149
148
  classNames.push(typeof column.cellClassName === 'function' ? column.cellClassName(cellParamsWithAPI) : column.cellClassName);
150
149
  }
150
+ if (column.display === 'flex') {
151
+ classNames.push(_gridClasses.gridClasses['cell--flex']);
152
+ }
151
153
  if (getCellClassName) {
152
154
  classNames.push(getCellClassName(cellParamsWithAPI));
153
155
  }
@@ -256,12 +258,11 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
256
258
  };
257
259
  }
258
260
  let children;
259
- if (editCellState == null && column.renderCell) {
261
+ let title;
262
+ if (editCellState === null && column.renderCell) {
260
263
  children = column.renderCell(cellParamsWithAPI);
261
- classNames.push(_gridClasses.gridClasses['cell--withRenderer']);
262
- classNames.push(rootClasses?.['cell--withRenderer']);
263
264
  }
264
- if (editCellState != null && column.renderEditCell) {
265
+ if (editCellState !== null && column.renderEditCell) {
265
266
  const updatedRow = apiRef.current.getRowWithUpdatedValues(rowId, column.field);
266
267
 
267
268
  // eslint-disable-next-line @typescript-eslint/naming-convention
@@ -275,12 +276,8 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
275
276
  }
276
277
  if (children === undefined) {
277
278
  const valueString = valueToRender?.toString();
278
- children = /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
279
- className: classes.content,
280
- title: valueString,
281
- role: "presentation",
282
- children: valueString
283
- });
279
+ children = valueString;
280
+ title = valueString;
284
281
  }
285
282
  if ( /*#__PURE__*/React.isValidElement(children) && canManageOwnFocus) {
286
283
  children = /*#__PURE__*/React.cloneElement(children, {
@@ -300,6 +297,7 @@ const GridCell = /*#__PURE__*/React.forwardRef((props, ref) => {
300
297
  "aria-colindex": colIndex + 1,
301
298
  "aria-colspan": colSpan,
302
299
  style: style,
300
+ title: title,
303
301
  tabIndex: tabIndex,
304
302
  onClick: publish('cellClick', onClick),
305
303
  onDoubleClick: publish('cellDoubleClick', onDoubleClick),
@@ -10,7 +10,6 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _utils = require("@mui/utils");
13
- var _keyboardUtils = require("../../utils/keyboardUtils");
14
13
  var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
15
14
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
16
15
  var _gridClasses = require("../../constants/gridClasses");
@@ -71,7 +70,7 @@ const GridCellCheckboxForwardRef = exports.GridCellCheckboxForwardRef = /*#__PUR
71
70
  }
72
71
  }, [hasFocus]);
73
72
  const handleKeyDown = React.useCallback(event => {
74
- if ((0, _keyboardUtils.isSpaceKey)(event.key)) {
73
+ if (event.key === ' ') {
75
74
  // We call event.stopPropagation to avoid selecting the row and also scrolling to bottom
76
75
  // TODO: Remove and add a check inside useGridKeyboardNavigation
77
76
  event.stopPropagation();
@@ -54,6 +54,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
54
54
  [`&.${_gridClasses.gridClasses.autosizing}`]: styles.autosizing
55
55
  }, {
56
56
  [`& .${_gridClasses.gridClasses.editBooleanCell}`]: styles.editBooleanCell
57
+ }, {
58
+ [`& .${_gridClasses.gridClasses.cell}`]: styles.cell
57
59
  }, {
58
60
  [`& .${_gridClasses.gridClasses['cell--editing']}`]: styles['cell--editing']
59
61
  }, {
@@ -62,12 +64,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
62
64
  [`& .${_gridClasses.gridClasses['cell--textLeft']}`]: styles['cell--textLeft']
63
65
  }, {
64
66
  [`& .${_gridClasses.gridClasses['cell--textRight']}`]: styles['cell--textRight']
65
- },
66
- // TODO v6: Remove
67
- {
68
- [`& .${_gridClasses.gridClasses['cell--withRenderer']}`]: styles['cell--withRenderer']
69
- }, {
70
- [`& .${_gridClasses.gridClasses.cell}`]: styles.cell
71
67
  }, {
72
68
  [`& .${_gridClasses.gridClasses['cell--rangeTop']}`]: styles['cell--rangeTop']
73
69
  }, {
@@ -78,8 +74,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
78
74
  [`& .${_gridClasses.gridClasses['cell--rangeRight']}`]: styles['cell--rangeRight']
79
75
  }, {
80
76
  [`& .${_gridClasses.gridClasses['cell--withRightBorder']}`]: styles['cell--withRightBorder']
81
- }, {
82
- [`& .${_gridClasses.gridClasses.cellContent}`]: styles.cellContent
83
77
  }, {
84
78
  [`& .${_gridClasses.gridClasses.cellCheckbox}`]: styles.cellCheckbox
85
79
  }, {
@@ -242,9 +236,21 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
242
236
  [`& .${_gridClasses.gridClasses.columnHeaderTitleContainerContent} > *`]: {
243
237
  overflow: 'visible !important'
244
238
  },
245
- [`& .${_gridClasses.gridClasses.cell} > *`]: {
239
+ '@media (hover: hover)': {
240
+ [`& .${_gridClasses.gridClasses.iconButtonContainer}`]: {
241
+ width: '0 !important',
242
+ visibility: 'hidden !important'
243
+ },
244
+ [`& .${_gridClasses.gridClasses.menuIcon}`]: {
245
+ width: '0 !important',
246
+ visibility: 'hidden !important'
247
+ }
248
+ },
249
+ [`& .${_gridClasses.gridClasses.cell}`]: {
246
250
  overflow: 'visible !important',
247
- whiteSpace: 'nowrap'
251
+ whiteSpace: 'nowrap',
252
+ minWidth: 'max-content !important',
253
+ maxWidth: 'max-content !important'
248
254
  },
249
255
  [`& .${_gridClasses.gridClasses.groupingCriteriaCell}`]: {
250
256
  width: 'unset'
@@ -436,15 +442,19 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
436
442
  },
437
443
  /* Cell styles */
438
444
  [`& .${_gridClasses.gridClasses.cell}`]: {
439
- display: 'flex',
440
- alignItems: 'center',
441
445
  height: 'var(--height)',
442
446
  minWidth: 'var(--width)',
443
447
  maxWidth: 'var(--width)',
448
+ lineHeight: 'calc(var(--height) - 1px)',
449
+ // -1px for the border
450
+
444
451
  '--width': '0px',
445
452
  '--height': '0px',
446
453
  boxSizing: 'border-box',
447
454
  borderTop: `1px solid var(--rowBorderColor)`,
455
+ overflow: 'hidden',
456
+ whiteSpace: 'nowrap',
457
+ textOverflow: 'ellipsis',
448
458
  '&.Mui-selected': selectedStyles
449
459
  },
450
460
  [`& .${_gridClasses.gridClasses['virtualScrollerContent--overflowed']} .${_gridClasses.gridClasses['row--lastVisible']} .${_gridClasses.gridClasses.cell}`]: {
@@ -453,9 +463,10 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
453
463
  [`&.${_gridClasses.gridClasses['root--disableUserSelection']} .${_gridClasses.gridClasses.cell}`]: {
454
464
  userSelect: 'none'
455
465
  },
456
- [`& .${_gridClasses.gridClasses.row}:not(.${_gridClasses.gridClasses['row--dynamicHeight']}) > .${_gridClasses.gridClasses.cell}`]: {
457
- overflow: 'hidden',
458
- whiteSpace: 'nowrap'
466
+ [`& .${_gridClasses.gridClasses['row--dynamicHeight']} > .${_gridClasses.gridClasses.cell}`]: {
467
+ overflow: 'initial',
468
+ whiteSpace: 'initial',
469
+ lineHeight: 'inherit'
459
470
  },
460
471
  [`& .${_gridClasses.gridClasses.cellEmpty}`]: {
461
472
  padding: 0
@@ -473,10 +484,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
473
484
  outlineOffset: '-1px'
474
485
  }
475
486
  },
476
- [`& .${_gridClasses.gridClasses.cellContent}`]: {
477
- overflow: 'hidden',
478
- textOverflow: 'ellipsis'
479
- },
480
487
  [`& .${_gridClasses.gridClasses['row--editing']}`]: {
481
488
  boxShadow: t.shadows[2]
482
489
  },
@@ -515,6 +522,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
515
522
  },
516
523
  [`& .${_gridClasses.gridClasses.rowReorderCellContainer}`]: {
517
524
  padding: 0,
525
+ display: 'flex',
518
526
  alignItems: 'stretch'
519
527
  },
520
528
  [`.${_gridClasses.gridClasses.withBorderColor}`]: {
@@ -534,13 +542,21 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
534
542
  borderRightWidth: '1px',
535
543
  borderRightStyle: 'solid'
536
544
  },
545
+ [`& .${_gridClasses.gridClasses['cell--flex']}`]: {
546
+ display: 'flex',
547
+ alignItems: 'center',
548
+ lineHeight: 'inherit'
549
+ },
537
550
  [`& .${_gridClasses.gridClasses['cell--textLeft']}`]: {
551
+ textAlign: 'left',
538
552
  justifyContent: 'flex-start'
539
553
  },
540
554
  [`& .${_gridClasses.gridClasses['cell--textRight']}`]: {
555
+ textAlign: 'right',
541
556
  justifyContent: 'flex-end'
542
557
  },
543
558
  [`& .${_gridClasses.gridClasses['cell--textCenter']}`]: {
559
+ textAlign: 'center',
544
560
  justifyContent: 'center'
545
561
  },
546
562
  [`& .${_gridClasses.gridClasses['cell--pinnedLeft']}, & .${_gridClasses.gridClasses['cell--pinnedRight']}`]: {
@@ -611,6 +627,21 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
611
627
  flex: '0 0 28px',
612
628
  alignSelf: 'stretch',
613
629
  marginRight: t.spacing(2)
630
+ },
631
+ /* ScrollbarFiller styles */
632
+ [`.${_gridClasses.gridClasses.scrollbarFiller}`]: {
633
+ minWidth: 'calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))',
634
+ alignSelf: 'stretch',
635
+ [`&.${_gridClasses.gridClasses['scrollbarFiller--borderTop']}`]: {
636
+ borderTop: '1px solid var(--DataGrid-rowBorderColor)'
637
+ },
638
+ [`&.${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}`]: {
639
+ backgroundColor: 'var(--DataGrid-pinnedBackground)'
640
+ },
641
+ [`&.${_gridClasses.gridClasses['scrollbarFiller--pinnedRight']}:not(.${_gridClasses.gridClasses['scrollbarFiller--header']})`]: {
642
+ position: 'sticky',
643
+ right: 0
644
+ }
614
645
  }
615
646
  });
616
647
  return gridStyle;
@@ -60,8 +60,14 @@ function GridFilterInputMultipleSingleSelect(props) {
60
60
  if (!Array.isArray(item.value)) {
61
61
  return [];
62
62
  }
63
- return item.value;
64
- }, [item.value]);
63
+ return item.value.reduce((acc, value) => {
64
+ const resolvedValue = resolvedValueOptions.find(v => getOptionValue(v) === value);
65
+ if (resolvedValue != null) {
66
+ acc.push(resolvedValue);
67
+ }
68
+ return acc;
69
+ }, []);
70
+ }, [getOptionValue, item.value, resolvedValueOptions]);
65
71
  const handleChange = React.useCallback((event, value) => {
66
72
  applyValue((0, _extends2.default)({}, item, {
67
73
  value: value.map(getOptionValue)
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
9
9
  function getDataGridUtilityClass(slot) {
10
10
  return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
11
11
  }
12
- const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
12
+ const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
@@ -61,7 +61,7 @@ const useGridClipboard = (apiRef, props) => {
61
61
  const ignoreValueFormatter = (typeof ignoreValueFormatterProp === 'object' ? ignoreValueFormatterProp?.clipboardExport : ignoreValueFormatterProp) || false;
62
62
  const clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
63
63
  const handleCopy = React.useCallback(event => {
64
- if (!((event.ctrlKey || event.metaKey) && event.key === 'c')) {
64
+ if (!((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c' && !event.shiftKey && !event.altKey)) {
65
65
  return;
66
66
  }
67
67
 
@@ -108,12 +108,11 @@ const useGridCellEditing = (apiRef, props) => {
108
108
  }
109
109
  if ((0, _keyboardUtils.isPrintableKey)(event)) {
110
110
  reason = _gridEditCellParams.GridCellEditStartReasons.printableKeyDown;
111
- } else if ((event.ctrlKey || event.metaKey) && event.key === 'v') {
111
+ } else if ((0, _keyboardUtils.isPasteShortcut)(event)) {
112
112
  reason = _gridEditCellParams.GridCellEditStartReasons.pasteKeyDown;
113
113
  } else if (event.key === 'Enter') {
114
114
  reason = _gridEditCellParams.GridCellEditStartReasons.enterKeyDown;
115
- } else if (event.key === 'Delete' || event.key === 'Backspace') {
116
- // Delete on Windows, Backspace on macOS
115
+ } else if (event.key === 'Backspace' || event.key === 'Delete') {
117
116
  reason = _gridEditCellParams.GridCellEditStartReasons.deleteKeyDown;
118
117
  }
119
118
  if (reason) {
@@ -168,12 +168,11 @@ const useGridRowEditing = (apiRef, props) => {
168
168
  }
169
169
  if ((0, _keyboardUtils.isPrintableKey)(event)) {
170
170
  reason = _gridRowParams.GridRowEditStartReasons.printableKeyDown;
171
- } else if ((event.ctrlKey || event.metaKey) && event.key === 'v') {
171
+ } else if ((0, _keyboardUtils.isPasteShortcut)(event)) {
172
172
  reason = _gridRowParams.GridRowEditStartReasons.printableKeyDown;
173
173
  } else if (event.key === 'Enter') {
174
174
  reason = _gridRowParams.GridRowEditStartReasons.enterKeyDown;
175
- } else if (event.key === 'Delete' || event.key === 'Backspace') {
176
- // Delete on Windows, Backspace on macOS
175
+ } else if (event.key === 'Backspace' || event.key === 'Delete') {
177
176
  reason = _gridRowParams.GridRowEditStartReasons.deleteKeyDown;
178
177
  }
179
178
  if (reason) {
@@ -8,7 +8,6 @@ exports.useGridSorting = exports.sortingStateInitializer = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _utils = require("@mui/utils");
11
- var _keyboardUtils = require("../../../utils/keyboardUtils");
12
11
  var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
13
12
  var _useGridApiMethod = require("../../utils/useGridApiMethod");
14
13
  var _useGridLogger = require("../../utils/useGridLogger");
@@ -218,7 +217,7 @@ const useGridSorting = (apiRef, props) => {
218
217
  return;
219
218
  }
220
219
  // Ctrl + Enter opens the column menu
221
- if ((0, _keyboardUtils.isEnterKey)(event.key) && !event.ctrlKey && !event.metaKey) {
220
+ if (event.key === 'Enter' && !event.ctrlKey && !event.metaKey) {
222
221
  sortColumn(field, undefined, event.shiftKey);
223
222
  }
224
223
  }, [sortColumn, props.disableColumnSorting]);
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.0.0-beta.3
2
+ * @mui/x-data-grid v7.0.0-beta.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -85,6 +85,7 @@ var _exportNames = {
85
85
  getActiveElement: true,
86
86
  isEventTargetInPortal: true,
87
87
  isNavigationKey: true,
88
+ isPasteShortcut: true,
88
89
  buildWarning: true,
89
90
  exportAs: true,
90
91
  useGridPrivateApiContext: true,
@@ -330,6 +331,12 @@ Object.defineProperty(exports, "isNavigationKey", {
330
331
  return _keyboardUtils.isNavigationKey;
331
332
  }
332
333
  });
334
+ Object.defineProperty(exports, "isPasteShortcut", {
335
+ enumerable: true,
336
+ get: function () {
337
+ return _keyboardUtils.isPasteShortcut;
338
+ }
339
+ });
333
340
  Object.defineProperty(exports, "isSingleSelectColDef", {
334
341
  enumerable: true,
335
342
  get: function () {
@@ -3,24 +3,20 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isPageKeys = exports.isNavigationKey = exports.isMultipleKey = exports.isKeyboardEvent = exports.isHomeOrEndKeys = exports.isHideMenuKey = exports.isEscapeKey = exports.isEnterKey = exports.isDeleteKeys = exports.isCellExitEditModeKeys = exports.isCellEnterEditModeKeys = exports.isCellEditCommitKeys = exports.isArrowKeys = exports.GRID_MULTIPLE_SELECTION_KEYS = exports.GRID_CELL_EXIT_EDIT_MODE_KEYS = exports.GRID_CELL_EDIT_COMMIT_KEYS = void 0;
6
+ exports.isNavigationKey = exports.isMultipleKey = exports.isKeyboardEvent = exports.isHideMenuKey = exports.isEscapeKey = exports.isCellExitEditModeKeys = exports.isCellEnterEditModeKeys = exports.isCellEditCommitKeys = exports.GRID_MULTIPLE_SELECTION_KEYS = exports.GRID_CELL_EXIT_EDIT_MODE_KEYS = exports.GRID_CELL_EDIT_COMMIT_KEYS = void 0;
7
+ exports.isPasteShortcut = isPasteShortcut;
7
8
  exports.isPrintableKey = isPrintableKey;
8
- exports.isTabKey = exports.isSpaceKey = void 0;
9
- const isEscapeKey = key => key === 'Escape'; // TODO remove
9
+ exports.isTabKey = void 0;
10
+ /**
11
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
12
+ */
13
+ const isEscapeKey = key => key === 'Escape';
14
+
15
+ /**
16
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
17
+ */
10
18
  exports.isEscapeKey = isEscapeKey;
11
- const isEnterKey = key => key === 'Enter'; // TODO remove
12
- exports.isEnterKey = isEnterKey;
13
- const isTabKey = key => key === 'Tab'; // TODO remove
14
- exports.isTabKey = isTabKey;
15
- const isSpaceKey = key => key === ' ';
16
- exports.isSpaceKey = isSpaceKey;
17
- const isArrowKeys = key => key.indexOf('Arrow') === 0;
18
- exports.isArrowKeys = isArrowKeys;
19
- const isHomeOrEndKeys = key => key === 'Home' || key === 'End';
20
- exports.isHomeOrEndKeys = isHomeOrEndKeys;
21
- const isPageKeys = key => key.indexOf('Page') === 0;
22
- exports.isPageKeys = isPageKeys;
23
- const isDeleteKeys = key => key === 'Delete' || key === 'Backspace';
19
+ const isTabKey = key => key === 'Tab';
24
20
 
25
21
  // Non printable keys have a name, e.g. "ArrowRight", see the whole list:
26
22
  // https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_key_values
@@ -29,7 +25,7 @@ const isDeleteKeys = key => key === 'Delete' || key === 'Backspace';
29
25
  // However, we also need to ignore shortcuts, for example: select all:
30
26
  // - Windows: Ctrl+A, event.ctrlKey is true
31
27
  // - macOS: ⌘ Command+A, event.metaKey is true
32
- exports.isDeleteKeys = isDeleteKeys;
28
+ exports.isTabKey = isTabKey;
33
29
  function isPrintableKey(event) {
34
30
  return event.key.length === 1 && !event.ctrlKey && !event.metaKey;
35
31
  }
@@ -38,15 +34,24 @@ const GRID_CELL_EXIT_EDIT_MODE_KEYS = exports.GRID_CELL_EXIT_EDIT_MODE_KEYS = ['
38
34
  const GRID_CELL_EDIT_COMMIT_KEYS = exports.GRID_CELL_EDIT_COMMIT_KEYS = ['Enter', 'Tab'];
39
35
  const isMultipleKey = key => GRID_MULTIPLE_SELECTION_KEYS.indexOf(key) > -1;
40
36
  exports.isMultipleKey = isMultipleKey;
41
- const isCellEnterEditModeKeys = event => isEnterKey(event.key) || isDeleteKeys(event.key) || isPrintableKey(event);
37
+ const isCellEnterEditModeKeys = event => isPrintableKey(event) || event.key === 'Enter' || event.key === 'Backspace' || event.key === 'Delete';
42
38
  exports.isCellEnterEditModeKeys = isCellEnterEditModeKeys;
43
39
  const isCellExitEditModeKeys = key => GRID_CELL_EXIT_EDIT_MODE_KEYS.indexOf(key) > -1;
44
40
  exports.isCellExitEditModeKeys = isCellExitEditModeKeys;
45
41
  const isCellEditCommitKeys = key => GRID_CELL_EDIT_COMMIT_KEYS.indexOf(key) > -1;
46
42
  exports.isCellEditCommitKeys = isCellEditCommitKeys;
47
- const isNavigationKey = key => isHomeOrEndKeys(key) || isArrowKeys(key) || isPageKeys(key) || isSpaceKey(key);
43
+ const isNavigationKey = key => key.indexOf('Arrow') === 0 || key.indexOf('Page') === 0 || key === ' ' || key === 'Home' || key === 'End';
48
44
  exports.isNavigationKey = isNavigationKey;
49
45
  const isKeyboardEvent = event => !!event.key;
50
46
  exports.isKeyboardEvent = isKeyboardEvent;
51
47
  const isHideMenuKey = key => isTabKey(key) || isEscapeKey(key);
52
- exports.isHideMenuKey = isHideMenuKey;
48
+
49
+ // In theory, on macOS, ctrl + v doesn't trigger a paste, so the function should return false.
50
+ // However, maybe it's overkill to fix, so let's be lazy.
51
+ exports.isHideMenuKey = isHideMenuKey;
52
+ function isPasteShortcut(event) {
53
+ if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'v' && !event.shiftKey && !event.altKey) {
54
+ return true;
55
+ }
56
+ return false;
57
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid",
3
- "version": "7.0.0-beta.3",
3
+ "version": "7.0.0-beta.4",
4
4
  "description": "The community edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -1,12 +1,12 @@
1
1
  import * as React from 'react';
2
+ /**
3
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
4
+ */
2
5
  export declare const isEscapeKey: (key: string) => boolean;
3
- export declare const isEnterKey: (key: string) => boolean;
6
+ /**
7
+ * @deprecated there is no meaninfuly logic abstracted, use event.key directly.
8
+ */
4
9
  export declare const isTabKey: (key: string) => boolean;
5
- export declare const isSpaceKey: (key: string) => boolean;
6
- export declare const isArrowKeys: (key: string) => boolean;
7
- export declare const isHomeOrEndKeys: (key: string) => boolean;
8
- export declare const isPageKeys: (key: string) => boolean;
9
- export declare const isDeleteKeys: (key: string) => boolean;
10
10
  export declare function isPrintableKey(event: React.KeyboardEvent<HTMLElement>): boolean;
11
11
  export declare const GRID_MULTIPLE_SELECTION_KEYS: string[];
12
12
  export declare const GRID_CELL_EXIT_EDIT_MODE_KEYS: string[];
@@ -18,3 +18,4 @@ export declare const isCellEditCommitKeys: (key: string) => boolean;
18
18
  export declare const isNavigationKey: (key: string) => boolean;
19
19
  export declare const isKeyboardEvent: (event: any) => event is React.KeyboardEvent<HTMLElement>;
20
20
  export declare const isHideMenuKey: (key: React.KeyboardEvent['key']) => boolean;
21
+ export declare function isPasteShortcut(event: React.KeyboardEvent): boolean;