@mui/x-data-grid 9.4.0 → 9.6.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 (234) hide show
  1. package/CHANGELOG.md +251 -0
  2. package/DataGrid/DataGrid.js +74 -13
  3. package/DataGrid/DataGrid.mjs +74 -13
  4. package/colDef/gridColumnTypesRegistry.d.mts +8 -0
  5. package/colDef/gridColumnTypesRegistry.d.ts +8 -0
  6. package/colDef/gridColumnTypesRegistry.js +44 -0
  7. package/colDef/gridColumnTypesRegistry.mjs +34 -0
  8. package/colDef/gridDefaultColumnTypes.d.mts +1 -1
  9. package/colDef/gridDefaultColumnTypes.d.ts +1 -1
  10. package/colDef/gridDefaultColumnTypes.js +11 -23
  11. package/colDef/gridDefaultColumnTypes.mjs +4 -22
  12. package/components/GridColumnHeaders.js +1 -1
  13. package/components/GridColumnHeaders.mjs +1 -1
  14. package/components/GridColumnUnsortedIcon.js +1 -1
  15. package/components/GridColumnUnsortedIcon.mjs +1 -1
  16. package/components/GridFooter.js +1 -1
  17. package/components/GridFooter.mjs +1 -1
  18. package/components/GridLoadingOverlay.js +1 -1
  19. package/components/GridLoadingOverlay.mjs +1 -1
  20. package/components/GridNoColumnsOverlay.js +1 -1
  21. package/components/GridNoColumnsOverlay.mjs +1 -1
  22. package/components/GridNoRowsOverlay.js +1 -1
  23. package/components/GridNoRowsOverlay.mjs +1 -1
  24. package/components/GridRow.js +1 -1
  25. package/components/GridRow.mjs +1 -1
  26. package/components/GridRowCount.js +1 -1
  27. package/components/GridRowCount.mjs +1 -1
  28. package/components/GridRowDragAndDropOverlay.d.mts +1 -1
  29. package/components/GridRowDragAndDropOverlay.d.ts +1 -1
  30. package/components/GridSelectedRowCount.js +1 -1
  31. package/components/GridSelectedRowCount.mjs +1 -1
  32. package/components/GridShadowScrollArea.js +1 -1
  33. package/components/GridShadowScrollArea.mjs +1 -1
  34. package/components/cell/GridActionsCell.js +84 -4
  35. package/components/cell/GridActionsCell.mjs +84 -4
  36. package/components/cell/GridActionsCellItem.js +75 -1
  37. package/components/cell/GridActionsCellItem.mjs +74 -0
  38. package/components/cell/GridBooleanCell.js +1 -1
  39. package/components/cell/GridBooleanCell.mjs +1 -1
  40. package/components/cell/GridCell.js +1 -1
  41. package/components/cell/GridCell.mjs +1 -1
  42. package/components/cell/GridEditBooleanCell.js +1 -1
  43. package/components/cell/GridEditBooleanCell.mjs +1 -1
  44. package/components/cell/GridEditDateCell.js +1 -1
  45. package/components/cell/GridEditDateCell.mjs +1 -1
  46. package/components/cell/GridEditInputCell.js +68 -0
  47. package/components/cell/GridEditInputCell.mjs +68 -0
  48. package/components/cell/GridEditLongTextCell.d.mts +3 -0
  49. package/components/cell/GridEditLongTextCell.d.ts +3 -0
  50. package/components/cell/GridEditLongTextCell.js +141 -0
  51. package/components/cell/GridEditLongTextCell.mjs +141 -0
  52. package/components/cell/GridEditSingleSelectCell.js +1 -1
  53. package/components/cell/GridEditSingleSelectCell.mjs +1 -1
  54. package/components/cell/GridLongTextCell.d.mts +3 -0
  55. package/components/cell/GridLongTextCell.d.ts +3 -0
  56. package/components/cell/GridLongTextCell.js +68 -0
  57. package/components/cell/GridLongTextCell.mjs +68 -0
  58. package/components/cell/GridSkeletonCell.js +3 -2
  59. package/components/cell/GridSkeletonCell.mjs +3 -2
  60. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -2
  61. package/components/columnHeaders/GridColumnHeaderFilterIconButton.mjs +2 -2
  62. package/components/columnHeaders/GridColumnHeaderItem.js +1 -1
  63. package/components/columnHeaders/GridColumnHeaderItem.mjs +1 -1
  64. package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
  65. package/components/columnHeaders/GridColumnHeaderSeparator.mjs +1 -1
  66. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
  67. package/components/columnHeaders/GridColumnHeaderSortIcon.mjs +1 -1
  68. package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
  69. package/components/columnHeaders/GridColumnHeaderTitle.mjs +1 -1
  70. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
  71. package/components/columnSelection/GridCellCheckboxRenderer.mjs +1 -1
  72. package/components/columnSelection/GridHeaderCheckbox.js +1 -1
  73. package/components/columnSelection/GridHeaderCheckbox.mjs +1 -1
  74. package/components/columnSelection/GridRowCheckbox.js +1 -1
  75. package/components/columnSelection/GridRowCheckbox.mjs +1 -1
  76. package/components/columnsManagement/GridColumnsManagement.js +1 -1
  77. package/components/columnsManagement/GridColumnsManagement.mjs +1 -1
  78. package/components/columnsPanel/ColumnsPanelTrigger.js +1 -1
  79. package/components/columnsPanel/ColumnsPanelTrigger.mjs +1 -1
  80. package/components/containers/GridFooterContainer.js +1 -1
  81. package/components/containers/GridFooterContainer.mjs +1 -1
  82. package/components/containers/GridOverlay.js +1 -1
  83. package/components/containers/GridOverlay.mjs +1 -1
  84. package/components/containers/GridRoot.js +1 -1
  85. package/components/containers/GridRoot.mjs +1 -1
  86. package/components/containers/GridRootStyles.js +32 -2
  87. package/components/containers/GridRootStyles.mjs +32 -2
  88. package/components/containers/GridToolbarContainer.js +1 -1
  89. package/components/containers/GridToolbarContainer.mjs +1 -1
  90. package/components/export/ExportCsv.js +1 -1
  91. package/components/export/ExportCsv.mjs +1 -1
  92. package/components/export/ExportPrint.js +1 -1
  93. package/components/export/ExportPrint.mjs +1 -1
  94. package/components/filterPanel/FilterPanelTrigger.js +1 -1
  95. package/components/filterPanel/FilterPanelTrigger.mjs +1 -1
  96. package/components/menu/GridMenu.js +1 -1
  97. package/components/menu/GridMenu.mjs +1 -1
  98. package/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
  99. package/components/menu/columnMenu/GridColumnHeaderMenu.mjs +1 -1
  100. package/components/menu/columnMenu/GridColumnMenu.js +2 -2
  101. package/components/menu/columnMenu/GridColumnMenu.mjs +2 -2
  102. package/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
  103. package/components/menu/columnMenu/GridColumnMenuContainer.mjs +1 -1
  104. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -1
  105. package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.mjs +1 -1
  106. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
  107. package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.mjs +1 -1
  108. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
  109. package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.mjs +1 -1
  110. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
  111. package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.mjs +1 -1
  112. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
  113. package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.mjs +1 -1
  114. package/components/panel/GridPanel.js +1 -1
  115. package/components/panel/GridPanel.mjs +1 -1
  116. package/components/panel/GridPanelContent.js +1 -1
  117. package/components/panel/GridPanelContent.mjs +1 -1
  118. package/components/panel/GridPanelFooter.js +1 -1
  119. package/components/panel/GridPanelFooter.mjs +1 -1
  120. package/components/panel/GridPanelHeader.js +1 -1
  121. package/components/panel/GridPanelHeader.mjs +1 -1
  122. package/components/panel/filterPanel/GridFilterForm.js +1 -1
  123. package/components/panel/filterPanel/GridFilterForm.mjs +1 -1
  124. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  125. package/components/panel/filterPanel/GridFilterInputBoolean.mjs +1 -1
  126. package/components/panel/filterPanel/GridFilterInputDate.js +1 -1
  127. package/components/panel/filterPanel/GridFilterInputDate.mjs +1 -1
  128. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
  129. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.mjs +1 -1
  130. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  131. package/components/panel/filterPanel/GridFilterInputMultipleValue.mjs +1 -1
  132. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -5
  133. package/components/panel/filterPanel/GridFilterInputSingleSelect.mjs +3 -5
  134. package/components/panel/filterPanel/GridFilterInputValue.js +1 -1
  135. package/components/panel/filterPanel/GridFilterInputValue.mjs +1 -1
  136. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  137. package/components/panel/filterPanel/GridFilterPanel.mjs +1 -1
  138. package/components/panel/filterPanel/filterPanelUtils.d.mts +3 -2
  139. package/components/panel/filterPanel/filterPanelUtils.d.ts +3 -2
  140. package/components/panel/filterPanel/filterPanelUtils.js +4 -0
  141. package/components/panel/filterPanel/filterPanelUtils.mjs +3 -0
  142. package/components/quickFilter/QuickFilter.js +1 -1
  143. package/components/quickFilter/QuickFilter.mjs +1 -1
  144. package/components/quickFilter/QuickFilterClear.js +1 -1
  145. package/components/quickFilter/QuickFilterClear.mjs +1 -1
  146. package/components/quickFilter/QuickFilterControl.js +1 -1
  147. package/components/quickFilter/QuickFilterControl.mjs +1 -1
  148. package/components/quickFilter/QuickFilterTrigger.js +1 -1
  149. package/components/quickFilter/QuickFilterTrigger.mjs +1 -1
  150. package/components/toolbar/GridToolbar.js +1 -1
  151. package/components/toolbar/GridToolbar.mjs +1 -1
  152. package/components/toolbar/GridToolbarColumnsButton.js +1 -1
  153. package/components/toolbar/GridToolbarColumnsButton.mjs +1 -1
  154. package/components/toolbar/GridToolbarDensitySelector.js +1 -1
  155. package/components/toolbar/GridToolbarDensitySelector.mjs +1 -1
  156. package/components/toolbar/GridToolbarExport.js +3 -3
  157. package/components/toolbar/GridToolbarExport.mjs +3 -3
  158. package/components/toolbar/GridToolbarExportContainer.js +1 -1
  159. package/components/toolbar/GridToolbarExportContainer.mjs +1 -1
  160. package/components/toolbar/GridToolbarFilterButton.js +1 -1
  161. package/components/toolbar/GridToolbarFilterButton.mjs +1 -1
  162. package/components/toolbar/GridToolbarQuickFilter.js +1 -1
  163. package/components/toolbar/GridToolbarQuickFilter.mjs +1 -1
  164. package/components/toolbarV8/GridToolbar.js +8 -3
  165. package/components/toolbarV8/GridToolbar.mjs +8 -3
  166. package/components/toolbarV8/Toolbar.js +1 -1
  167. package/components/toolbarV8/Toolbar.mjs +1 -1
  168. package/components/toolbarV8/ToolbarButton.js +1 -1
  169. package/components/toolbarV8/ToolbarButton.mjs +1 -1
  170. package/components/virtualization/GridVirtualScrollbar.js +8 -1
  171. package/components/virtualization/GridVirtualScrollbar.mjs +8 -1
  172. package/components/virtualization/GridVirtualScroller.js +12 -0
  173. package/components/virtualization/GridVirtualScroller.mjs +12 -0
  174. package/constants/cssVariables.d.mts +3 -0
  175. package/constants/cssVariables.d.ts +3 -0
  176. package/constants/cssVariables.js +2 -1
  177. package/constants/cssVariables.mjs +2 -1
  178. package/constants/gridClasses.d.mts +48 -0
  179. package/constants/gridClasses.d.ts +48 -0
  180. package/constants/gridClasses.js +1 -1
  181. package/constants/gridClasses.mjs +1 -1
  182. package/hooks/core/useGridProps.js +5 -3
  183. package/hooks/core/useGridProps.mjs +5 -3
  184. package/hooks/features/columns/gridColumnsUtils.js +18 -10
  185. package/hooks/features/columns/gridColumnsUtils.mjs +19 -11
  186. package/hooks/features/columns/useGridColumns.js +11 -0
  187. package/hooks/features/columns/useGridColumns.mjs +11 -0
  188. package/hooks/features/dataSource/useGridDataSourceBase.js +2 -2
  189. package/hooks/features/dataSource/useGridDataSourceBase.mjs +2 -2
  190. package/hooks/features/editing/useGridCellEditing.js +1 -1
  191. package/hooks/features/editing/useGridCellEditing.mjs +1 -1
  192. package/hooks/features/editing/useGridRowEditing.js +1 -1
  193. package/hooks/features/editing/useGridRowEditing.mjs +1 -1
  194. package/hooks/features/export/serializers/csvSerializer.js +3 -1
  195. package/hooks/features/export/serializers/csvSerializer.mjs +3 -1
  196. package/hooks/features/filter/gridFilterUtils.js +5 -3
  197. package/hooks/features/filter/gridFilterUtils.mjs +5 -3
  198. package/hooks/features/listView/useGridListView.js +1 -1
  199. package/hooks/features/listView/useGridListView.mjs +1 -1
  200. package/hooks/features/sorting/gridSortingUtils.js +3 -1
  201. package/hooks/features/sorting/gridSortingUtils.mjs +3 -1
  202. package/hooks/utils/useGridSelector.js +27 -24
  203. package/hooks/utils/useGridSelector.mjs +26 -24
  204. package/index.js +1 -1
  205. package/index.mjs +1 -1
  206. package/internals/index.d.mts +9 -4
  207. package/internals/index.d.ts +9 -4
  208. package/internals/index.js +62 -2
  209. package/internals/index.mjs +8 -4
  210. package/internals/utils/propValidation.js +3 -0
  211. package/internals/utils/propValidation.mjs +3 -0
  212. package/material/augmentation.d.mts +4 -0
  213. package/material/augmentation.d.ts +4 -0
  214. package/material/index.js +42 -26
  215. package/material/index.mjs +42 -26
  216. package/material/variables.js +2 -1
  217. package/material/variables.mjs +2 -1
  218. package/models/colDef/gridColDef.d.mts +35 -3
  219. package/models/colDef/gridColDef.d.ts +35 -3
  220. package/models/colDef/gridColType.d.mts +1 -0
  221. package/models/colDef/gridColType.d.ts +1 -0
  222. package/models/colDef/gridColumnTypesRecord.d.mts +1 -1
  223. package/models/colDef/gridColumnTypesRecord.d.ts +1 -1
  224. package/models/colDef/index.d.mts +1 -1
  225. package/models/colDef/index.d.ts +1 -1
  226. package/models/gridBaseSlots.d.mts +46 -0
  227. package/models/gridBaseSlots.d.ts +46 -0
  228. package/models/gridSlotsComponent.d.mts +5 -0
  229. package/models/gridSlotsComponent.d.ts +5 -0
  230. package/models/gridSlotsComponentsProps.d.mts +3 -1
  231. package/models/gridSlotsComponentsProps.d.ts +3 -1
  232. package/models/gridStateCommunity.d.mts +1 -1
  233. package/models/gridStateCommunity.d.ts +1 -1
  234. package/package.json +7 -4
@@ -187,7 +187,7 @@ const GridFilterPanel = forwardRef(function GridFilterPanel(props, ref) {
187
187
  }));
188
188
  });
189
189
  if (process.env.NODE_ENV !== "production") GridFilterPanel.displayName = "GridFilterPanel";
190
- process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
190
+ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes /* remove-proptypes */ = {
191
191
  // ----------------------------- Warning --------------------------------
192
192
  // | These PropTypes are generated from the TypeScript type definitions |
193
193
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -1,5 +1,6 @@
1
- import type { GridColDef, GridSingleSelectColDef } from "../../../models/colDef/gridColDef.mjs";
1
+ import type { GridColDef, GridSingleSelectColDef, GridMultiSelectColDef } from "../../../models/colDef/gridColDef.mjs";
2
2
  import type { GridValueOptionsParams } from "../../../models/params/gridValueOptionsParams.mjs";
3
3
  export declare function isSingleSelectColDef(colDef: GridColDef | null): colDef is GridSingleSelectColDef;
4
- export declare function getValueOptions(column: GridSingleSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
4
+ export declare function isMultiSelectColDef(colDef: GridColDef | null): colDef is GridMultiSelectColDef;
5
+ export declare function getValueOptions(column: GridSingleSelectColDef | GridMultiSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
5
6
  export declare function getValueFromValueOptions(value: string, valueOptions: any[] | undefined, getOptionValue: NonNullable<GridSingleSelectColDef['getOptionValue']>): any;
@@ -1,5 +1,6 @@
1
- import type { GridColDef, GridSingleSelectColDef } from "../../../models/colDef/gridColDef.js";
1
+ import type { GridColDef, GridSingleSelectColDef, GridMultiSelectColDef } from "../../../models/colDef/gridColDef.js";
2
2
  import type { GridValueOptionsParams } from "../../../models/params/gridValueOptionsParams.js";
3
3
  export declare function isSingleSelectColDef(colDef: GridColDef | null): colDef is GridSingleSelectColDef;
4
- export declare function getValueOptions(column: GridSingleSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
4
+ export declare function isMultiSelectColDef(colDef: GridColDef | null): colDef is GridMultiSelectColDef;
5
+ export declare function getValueOptions(column: GridSingleSelectColDef | GridMultiSelectColDef, additionalParams?: Omit<GridValueOptionsParams, 'field'>): import("@mui/x-data-grid").ValueOptions[] | undefined;
5
6
  export declare function getValueFromValueOptions(value: string, valueOptions: any[] | undefined, getOptionValue: NonNullable<GridSingleSelectColDef['getOptionValue']>): any;
@@ -6,11 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.getValueFromValueOptions = getValueFromValueOptions;
8
8
  exports.getValueOptions = getValueOptions;
9
+ exports.isMultiSelectColDef = isMultiSelectColDef;
9
10
  exports.isSingleSelectColDef = isSingleSelectColDef;
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12
  function isSingleSelectColDef(colDef) {
12
13
  return colDef?.type === 'singleSelect';
13
14
  }
15
+ function isMultiSelectColDef(colDef) {
16
+ return colDef?.type === 'multiSelect';
17
+ }
14
18
  function getValueOptions(column, additionalParams) {
15
19
  if (!column) {
16
20
  return undefined;
@@ -2,6 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  export function isSingleSelectColDef(colDef) {
3
3
  return colDef?.type === 'singleSelect';
4
4
  }
5
+ export function isMultiSelectColDef(colDef) {
6
+ return colDef?.type === 'multiSelect';
7
+ }
5
8
  export function getValueOptions(column, additionalParams) {
6
9
  if (!column) {
7
10
  return undefined;
@@ -148,7 +148,7 @@ function QuickFilter(props) {
148
148
  children: element
149
149
  });
150
150
  }
151
- process.env.NODE_ENV !== "production" ? QuickFilter.propTypes = {
151
+ process.env.NODE_ENV !== "production" ? QuickFilter.propTypes /* remove-proptypes */ = {
152
152
  // ----------------------------- Warning --------------------------------
153
153
  // | These PropTypes are generated from the TypeScript type definitions |
154
154
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -141,7 +141,7 @@ function QuickFilter(props) {
141
141
  children: element
142
142
  });
143
143
  }
144
- process.env.NODE_ENV !== "production" ? QuickFilter.propTypes = {
144
+ process.env.NODE_ENV !== "production" ? QuickFilter.propTypes /* remove-proptypes */ = {
145
145
  // ----------------------------- Warning --------------------------------
146
146
  // | These PropTypes are generated from the TypeScript type definitions |
147
147
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -57,7 +57,7 @@ const QuickFilterClear = exports.QuickFilterClear = (0, _forwardRef.forwardRef)(
57
57
  });
58
58
  });
59
59
  if (process.env.NODE_ENV !== "production") QuickFilterClear.displayName = "QuickFilterClear";
60
- process.env.NODE_ENV !== "production" ? QuickFilterClear.propTypes = {
60
+ process.env.NODE_ENV !== "production" ? QuickFilterClear.propTypes /* remove-proptypes */ = {
61
61
  // ----------------------------- Warning --------------------------------
62
62
  // | These PropTypes are generated from the TypeScript type definitions |
63
63
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -49,7 +49,7 @@ const QuickFilterClear = forwardRef(function QuickFilterClear(props, ref) {
49
49
  });
50
50
  });
51
51
  if (process.env.NODE_ENV !== "production") QuickFilterClear.displayName = "QuickFilterClear";
52
- process.env.NODE_ENV !== "production" ? QuickFilterClear.propTypes = {
52
+ process.env.NODE_ENV !== "production" ? QuickFilterClear.propTypes /* remove-proptypes */ = {
53
53
  // ----------------------------- Warning --------------------------------
54
54
  // | These PropTypes are generated from the TypeScript type definitions |
55
55
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -94,7 +94,7 @@ const QuickFilterControl = exports.QuickFilterControl = (0, _forwardRef.forwardR
94
94
  });
95
95
  });
96
96
  if (process.env.NODE_ENV !== "production") QuickFilterControl.displayName = "QuickFilterControl";
97
- process.env.NODE_ENV !== "production" ? QuickFilterControl.propTypes = {
97
+ process.env.NODE_ENV !== "production" ? QuickFilterControl.propTypes /* remove-proptypes */ = {
98
98
  // ----------------------------- Warning --------------------------------
99
99
  // | These PropTypes are generated from the TypeScript type definitions |
100
100
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -86,7 +86,7 @@ const QuickFilterControl = forwardRef(function QuickFilterControl(props, ref) {
86
86
  });
87
87
  });
88
88
  if (process.env.NODE_ENV !== "production") QuickFilterControl.displayName = "QuickFilterControl";
89
- process.env.NODE_ENV !== "production" ? QuickFilterControl.propTypes = {
89
+ process.env.NODE_ENV !== "production" ? QuickFilterControl.propTypes /* remove-proptypes */ = {
90
90
  // ----------------------------- Warning --------------------------------
91
91
  // | These PropTypes are generated from the TypeScript type definitions |
92
92
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -62,7 +62,7 @@ const QuickFilterTrigger = exports.QuickFilterTrigger = (0, _forwardRef.forwardR
62
62
  });
63
63
  });
64
64
  if (process.env.NODE_ENV !== "production") QuickFilterTrigger.displayName = "QuickFilterTrigger";
65
- process.env.NODE_ENV !== "production" ? QuickFilterTrigger.propTypes = {
65
+ process.env.NODE_ENV !== "production" ? QuickFilterTrigger.propTypes /* remove-proptypes */ = {
66
66
  // ----------------------------- Warning --------------------------------
67
67
  // | These PropTypes are generated from the TypeScript type definitions |
68
68
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -54,7 +54,7 @@ const QuickFilterTrigger = forwardRef(function QuickFilterTrigger(props, ref) {
54
54
  });
55
55
  });
56
56
  if (process.env.NODE_ENV !== "production") QuickFilterTrigger.displayName = "QuickFilterTrigger";
57
- process.env.NODE_ENV !== "production" ? QuickFilterTrigger.propTypes = {
57
+ process.env.NODE_ENV !== "production" ? QuickFilterTrigger.propTypes /* remove-proptypes */ = {
58
58
  // ----------------------------- Warning --------------------------------
59
59
  // | These PropTypes are generated from the TypeScript type definitions |
60
60
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -57,7 +57,7 @@ const GridToolbar = exports.GridToolbar = (0, _forwardRef.forwardRef)(function G
57
57
  }));
58
58
  });
59
59
  if (process.env.NODE_ENV !== "production") GridToolbar.displayName = "GridToolbar";
60
- process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
60
+ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
61
61
  // ----------------------------- Warning --------------------------------
62
62
  // | These PropTypes are generated from the TypeScript type definitions |
63
63
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -51,7 +51,7 @@ const GridToolbar = forwardRef(function GridToolbar(props, ref) {
51
51
  }));
52
52
  });
53
53
  if (process.env.NODE_ENV !== "production") GridToolbar.displayName = "GridToolbar";
54
- process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
54
+ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
55
55
  // ----------------------------- Warning --------------------------------
56
56
  // | These PropTypes are generated from the TypeScript type definitions |
57
57
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -78,7 +78,7 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = (0, _forward
78
78
  }));
79
79
  });
80
80
  if (process.env.NODE_ENV !== "production") GridToolbarColumnsButton.displayName = "GridToolbarColumnsButton";
81
- process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes = {
81
+ process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes /* remove-proptypes */ = {
82
82
  // ----------------------------- Warning --------------------------------
83
83
  // | These PropTypes are generated from the TypeScript type definitions |
84
84
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -71,7 +71,7 @@ const GridToolbarColumnsButton = forwardRef(function GridToolbarColumnsButton(pr
71
71
  }));
72
72
  });
73
73
  if (process.env.NODE_ENV !== "production") GridToolbarColumnsButton.displayName = "GridToolbarColumnsButton";
74
- process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes = {
74
+ process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes /* remove-proptypes */ = {
75
75
  // ----------------------------- Warning --------------------------------
76
76
  // | These PropTypes are generated from the TypeScript type definitions |
77
77
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -116,7 +116,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = (0, _for
116
116
  });
117
117
  });
118
118
  if (process.env.NODE_ENV !== "production") GridToolbarDensitySelector.displayName = "GridToolbarDensitySelector";
119
- process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
119
+ process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes /* remove-proptypes */ = {
120
120
  // ----------------------------- Warning --------------------------------
121
121
  // | These PropTypes are generated from the TypeScript type definitions |
122
122
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -109,7 +109,7 @@ const GridToolbarDensitySelector = forwardRef(function GridToolbarDensitySelecto
109
109
  });
110
110
  });
111
111
  if (process.env.NODE_ENV !== "production") GridToolbarDensitySelector.displayName = "GridToolbarDensitySelector";
112
- process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
112
+ process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes /* remove-proptypes */ = {
113
113
  // ----------------------------- Warning --------------------------------
114
114
  // | These PropTypes are generated from the TypeScript type definitions |
115
115
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -38,7 +38,7 @@ function GridCsvExportMenuItem(props) {
38
38
  children: apiRef.current.getLocaleText('toolbarExportCSV')
39
39
  }));
40
40
  }
41
- process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes = {
41
+ process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes /* remove-proptypes */ = {
42
42
  // ----------------------------- Warning --------------------------------
43
43
  // | These PropTypes are generated from the TypeScript type definitions |
44
44
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -75,7 +75,7 @@ function GridPrintExportMenuItem(props) {
75
75
  children: apiRef.current.getLocaleText('toolbarExportPrint')
76
76
  }));
77
77
  }
78
- process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
78
+ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes /* remove-proptypes */ = {
79
79
  // ----------------------------- Warning --------------------------------
80
80
  // | These PropTypes are generated from the TypeScript type definitions |
81
81
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -124,7 +124,7 @@ const GridToolbarExport = exports.GridToolbarExport = (0, _forwardRef.forwardRef
124
124
  }));
125
125
  });
126
126
  if (process.env.NODE_ENV !== "production") GridToolbarExport.displayName = "GridToolbarExport";
127
- process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
127
+ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes /* remove-proptypes */ = {
128
128
  // ----------------------------- Warning --------------------------------
129
129
  // | These PropTypes are generated from the TypeScript type definitions |
130
130
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -29,7 +29,7 @@ function GridCsvExportMenuItem(props) {
29
29
  children: apiRef.current.getLocaleText('toolbarExportCSV')
30
30
  }));
31
31
  }
32
- process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes = {
32
+ process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes /* remove-proptypes */ = {
33
33
  // ----------------------------- Warning --------------------------------
34
34
  // | These PropTypes are generated from the TypeScript type definitions |
35
35
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -66,7 +66,7 @@ function GridPrintExportMenuItem(props) {
66
66
  children: apiRef.current.getLocaleText('toolbarExportPrint')
67
67
  }));
68
68
  }
69
- process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
69
+ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes /* remove-proptypes */ = {
70
70
  // ----------------------------- Warning --------------------------------
71
71
  // | These PropTypes are generated from the TypeScript type definitions |
72
72
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -115,7 +115,7 @@ const GridToolbarExport = forwardRef(function GridToolbarExport(props, ref) {
115
115
  }));
116
116
  });
117
117
  if (process.env.NODE_ENV !== "production") GridToolbarExport.displayName = "GridToolbarExport";
118
- process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
118
+ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes /* remove-proptypes */ = {
119
119
  // ----------------------------- Warning --------------------------------
120
120
  // | These PropTypes are generated from the TypeScript type definitions |
121
121
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -81,7 +81,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = (0, _for
81
81
  });
82
82
  });
83
83
  if (process.env.NODE_ENV !== "production") GridToolbarExportContainer.displayName = "GridToolbarExportContainer";
84
- process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
84
+ process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes /* remove-proptypes */ = {
85
85
  // ----------------------------- Warning --------------------------------
86
86
  // | These PropTypes are generated from the TypeScript type definitions |
87
87
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -74,7 +74,7 @@ const GridToolbarExportContainer = forwardRef(function GridToolbarExportContaine
74
74
  });
75
75
  });
76
76
  if (process.env.NODE_ENV !== "production") GridToolbarExportContainer.displayName = "GridToolbarExportContainer";
77
- process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
77
+ process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes /* remove-proptypes */ = {
78
78
  // ----------------------------- Warning --------------------------------
79
79
  // | These PropTypes are generated from the TypeScript type definitions |
80
80
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -142,7 +142,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = (0, _forwardRe
142
142
  }));
143
143
  });
144
144
  if (process.env.NODE_ENV !== "production") GridToolbarFilterButton.displayName = "GridToolbarFilterButton";
145
- process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
145
+ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes /* remove-proptypes */ = {
146
146
  // ----------------------------- Warning --------------------------------
147
147
  // | These PropTypes are generated from the TypeScript type definitions |
148
148
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -135,7 +135,7 @@ const GridToolbarFilterButton = forwardRef(function GridToolbarFilterButton(prop
135
135
  }));
136
136
  });
137
137
  if (process.env.NODE_ENV !== "production") GridToolbarFilterButton.displayName = "GridToolbarFilterButton";
138
- process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
138
+ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes /* remove-proptypes */ = {
139
139
  // ----------------------------- Warning --------------------------------
140
140
  // | These PropTypes are generated from the TypeScript type definitions |
141
141
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -155,7 +155,7 @@ function GridToolbarQuickFilter(props) {
155
155
  }
156
156
  });
157
157
  }
158
- process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
158
+ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes /* remove-proptypes */ = {
159
159
  // ----------------------------- Warning --------------------------------
160
160
  // | These PropTypes are generated from the TypeScript type definitions |
161
161
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -148,7 +148,7 @@ function GridToolbarQuickFilter(props) {
148
148
  }
149
149
  });
150
150
  }
151
- process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
151
+ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes /* remove-proptypes */ = {
152
152
  // ----------------------------- Warning --------------------------------
153
153
  // | These PropTypes are generated from the TypeScript type definitions |
154
154
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -71,7 +71,7 @@ function GridToolbarDivider(props) {
71
71
  className: classes.divider
72
72
  }, other));
73
73
  }
74
- process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes = {
74
+ process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes /* remove-proptypes */ = {
75
75
  // ----------------------------- Warning --------------------------------
76
76
  // | These PropTypes are generated from the TypeScript type definitions |
77
77
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -176,14 +176,14 @@ function GridToolbar(props) {
176
176
  })]
177
177
  }));
178
178
  }
179
- process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
179
+ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
180
180
  // ----------------------------- Warning --------------------------------
181
181
  // | These PropTypes are generated from the TypeScript type definitions |
182
182
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
183
183
  // ----------------------------------------------------------------------
184
184
  additionalExportMenuItems: _propTypes.default.func,
185
- additionalItems: _propTypes.default.node,
186
185
  csvOptions: _propTypes.default.object,
186
+ mainControls: _propTypes.default.node,
187
187
  printOptions: _propTypes.default.object,
188
188
  /**
189
189
  * Props passed to the quick filter component.
@@ -195,6 +195,11 @@ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
195
195
  quickFilterParser: _propTypes.default.func,
196
196
  slotProps: _propTypes.default.object
197
197
  }),
198
+ /**
199
+ * Show the history controls (undo/redo buttons).
200
+ * @default true
201
+ */
202
+ showHistoryControls: _propTypes.default.bool,
198
203
  /**
199
204
  * Show the quick filter component.
200
205
  * @default true
@@ -62,7 +62,7 @@ function GridToolbarDivider(props) {
62
62
  className: classes.divider
63
63
  }, other));
64
64
  }
65
- process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes = {
65
+ process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes /* remove-proptypes */ = {
66
66
  // ----------------------------- Warning --------------------------------
67
67
  // | These PropTypes are generated from the TypeScript type definitions |
68
68
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -167,14 +167,14 @@ function GridToolbar(props) {
167
167
  })]
168
168
  }));
169
169
  }
170
- process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
170
+ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
171
171
  // ----------------------------- Warning --------------------------------
172
172
  // | These PropTypes are generated from the TypeScript type definitions |
173
173
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
174
174
  // ----------------------------------------------------------------------
175
175
  additionalExportMenuItems: PropTypes.func,
176
- additionalItems: PropTypes.node,
177
176
  csvOptions: PropTypes.object,
177
+ mainControls: PropTypes.node,
178
178
  printOptions: PropTypes.object,
179
179
  /**
180
180
  * Props passed to the quick filter component.
@@ -186,6 +186,11 @@ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
186
186
  quickFilterParser: PropTypes.func,
187
187
  slotProps: PropTypes.object
188
188
  }),
189
+ /**
190
+ * Show the history controls (undo/redo buttons).
191
+ * @default true
192
+ */
193
+ showHistoryControls: PropTypes.bool,
189
194
  /**
190
195
  * Show the quick filter component.
191
196
  * @default true
@@ -202,7 +202,7 @@ const Toolbar = exports.Toolbar = (0, _forwardRef.forwardRef)(function Toolbar(p
202
202
  });
203
203
  });
204
204
  if (process.env.NODE_ENV !== "production") Toolbar.displayName = "Toolbar";
205
- process.env.NODE_ENV !== "production" ? Toolbar.propTypes = {
205
+ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
206
206
  // ----------------------------- Warning --------------------------------
207
207
  // | These PropTypes are generated from the TypeScript type definitions |
208
208
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -195,7 +195,7 @@ const Toolbar = forwardRef(function Toolbar(props, ref) {
195
195
  });
196
196
  });
197
197
  if (process.env.NODE_ENV !== "production") Toolbar.displayName = "Toolbar";
198
- process.env.NODE_ENV !== "production" ? Toolbar.propTypes = {
198
+ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
199
199
  // ----------------------------- Warning --------------------------------
200
200
  // | These PropTypes are generated from the TypeScript type definitions |
201
201
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -93,7 +93,7 @@ const ToolbarButton = exports.ToolbarButton = (0, _forwardRef.forwardRef)(functi
93
93
  });
94
94
  });
95
95
  if (process.env.NODE_ENV !== "production") ToolbarButton.displayName = "ToolbarButton";
96
- process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes = {
96
+ process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes /* remove-proptypes */ = {
97
97
  // ----------------------------- Warning --------------------------------
98
98
  // | These PropTypes are generated from the TypeScript type definitions |
99
99
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -86,7 +86,7 @@ const ToolbarButton = forwardRef(function ToolbarButton(props, ref) {
86
86
  });
87
87
  });
88
88
  if (process.env.NODE_ENV !== "production") ToolbarButton.displayName = "ToolbarButton";
89
- process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes = {
89
+ process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes /* remove-proptypes */ = {
90
90
  // ----------------------------- Warning --------------------------------
91
91
  // | These PropTypes are generated from the TypeScript type definitions |
92
92
  // | To update them edit the TypeScript types and run "pnpm proptypes" |
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
13
  var _forwardRef = require("@mui/x-internals/forwardRef");
14
+ var _platform = require("@mui/x-internals/platform");
14
15
  var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
15
16
  var _hooks = require("../../hooks");
16
17
  var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
@@ -42,7 +43,13 @@ const Scrollbar = (0, _styles.styled)('div', {
42
43
  '&:hover': {
43
44
  zIndex: 70
44
45
  },
45
- '--size': scrollbarSizeCssExpression
46
+ '--size': scrollbarSizeCssExpression,
47
+ // [iOS-scrollbar-swap]
48
+ // On iOS, native scrollbars of the `GridVirtualScroller` are shown instead,
49
+ // so hide these to avoid a duplicate thumb.
50
+ [_platform.iOSMediaQuery]: {
51
+ display: 'none'
52
+ }
46
53
  });
47
54
  const ScrollbarVertical = (0, _styles.styled)(Scrollbar, {
48
55
  slot: 'internal'
@@ -4,6 +4,7 @@ import * as React from 'react';
4
4
  import { styled } from '@mui/material/styles';
5
5
  import composeClasses from '@mui/utils/composeClasses';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { iOSMediaQuery } from '@mui/x-internals/platform';
7
8
  import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.mjs";
8
9
  import { gridDimensionsSelector, useGridSelector } from "../../hooks/index.mjs";
9
10
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
@@ -35,7 +36,13 @@ const Scrollbar = styled('div', {
35
36
  '&:hover': {
36
37
  zIndex: 70
37
38
  },
38
- '--size': scrollbarSizeCssExpression
39
+ '--size': scrollbarSizeCssExpression,
40
+ // [iOS-scrollbar-swap]
41
+ // On iOS, native scrollbars of the `GridVirtualScroller` are shown instead,
42
+ // so hide these to avoid a duplicate thumb.
43
+ [iOSMediaQuery]: {
44
+ display: 'none'
45
+ }
39
46
  });
40
47
  const ScrollbarVertical = styled(Scrollbar, {
41
48
  slot: 'internal'
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _styles = require("@mui/material/styles");
12
12
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
13
+ var _platform = require("@mui/x-internals/platform");
13
14
  var _clsx = _interopRequireDefault(require("clsx"));
14
15
  var _xVirtualizer = require("@mui/x-virtualizer");
15
16
  var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
@@ -66,6 +67,17 @@ const Scroller = (0, _styles.styled)('div', {
66
67
  '&::-webkit-scrollbar': {
67
68
  display: 'none' /* Safari and Chrome */
68
69
  },
70
+ // [iOS-scrollbar-swap]
71
+ // On iOS, virtual scrollbars do not show a thumb unless the user scrolls the element directly:
72
+ // https://github.com/mui/mui-x/issues/22386
73
+ // So keep this scroller's own native scrollbars and hide the ones in `GridVirtualScrollbar`
74
+ // instead to avoid a duplicate thumb.
75
+ [_platform.iOSMediaQuery]: {
76
+ scrollbarWidth: 'auto',
77
+ '&::-webkit-scrollbar': {
78
+ display: 'block'
79
+ }
80
+ },
69
81
  '@media print': {
70
82
  overflow: 'hidden'
71
83
  },
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import { styled } from '@mui/material/styles';
4
4
  import composeClasses from '@mui/utils/composeClasses';
5
+ import { iOSMediaQuery } from '@mui/x-internals/platform';
5
6
  import clsx from 'clsx';
6
7
  import { LayoutDataGrid, Virtualization } from '@mui/x-virtualizer';
7
8
  import { gridHasBottomFillerSelector, gridHasScrollXSelector, gridHasScrollYSelector } from "../../hooks/features/dimensions/gridDimensionsSelectors.mjs";
@@ -58,6 +59,17 @@ const Scroller = styled('div', {
58
59
  '&::-webkit-scrollbar': {
59
60
  display: 'none' /* Safari and Chrome */
60
61
  },
62
+ // [iOS-scrollbar-swap]
63
+ // On iOS, virtual scrollbars do not show a thumb unless the user scrolls the element directly:
64
+ // https://github.com/mui/mui-x/issues/22386
65
+ // So keep this scroller's own native scrollbars and hide the ones in `GridVirtualScrollbar`
66
+ // instead to avoid a duplicate thumb.
67
+ [iOSMediaQuery]: {
68
+ scrollbarWidth: 'auto',
69
+ '&::-webkit-scrollbar': {
70
+ display: 'block'
71
+ }
72
+ },
61
73
  '@media print': {
62
74
  overflow: 'hidden'
63
75
  },
@@ -75,6 +75,7 @@ declare const keys: {
75
75
  readonly zIndex: {
76
76
  readonly panel: "--DataGrid-t-z-index-panel";
77
77
  readonly menu: "--DataGrid-t-z-index-menu";
78
+ readonly modal: "--DataGrid-t-z-index-modal";
78
79
  };
79
80
  };
80
81
  export type GridCSSVariablesInterface = { [E in CreateObjectEntries<typeof keys> as E['value']]: string | number };
@@ -168,6 +169,7 @@ export declare const vars: {
168
169
  zIndex: {
169
170
  readonly panel: "--DataGrid-t-z-index-panel";
170
171
  readonly menu: "--DataGrid-t-z-index-menu";
172
+ readonly modal: "--DataGrid-t-z-index-modal";
171
173
  };
172
174
  breakpoints: {
173
175
  values: {
@@ -258,6 +260,7 @@ export declare const vars: {
258
260
  readonly zIndex: {
259
261
  readonly panel: "--DataGrid-t-z-index-panel";
260
262
  readonly menu: "--DataGrid-t-z-index-menu";
263
+ readonly modal: "--DataGrid-t-z-index-modal";
261
264
  };
262
265
  };
263
266
  };
@@ -75,6 +75,7 @@ declare const keys: {
75
75
  readonly zIndex: {
76
76
  readonly panel: "--DataGrid-t-z-index-panel";
77
77
  readonly menu: "--DataGrid-t-z-index-menu";
78
+ readonly modal: "--DataGrid-t-z-index-modal";
78
79
  };
79
80
  };
80
81
  export type GridCSSVariablesInterface = { [E in CreateObjectEntries<typeof keys> as E['value']]: string | number };
@@ -168,6 +169,7 @@ export declare const vars: {
168
169
  zIndex: {
169
170
  readonly panel: "--DataGrid-t-z-index-panel";
170
171
  readonly menu: "--DataGrid-t-z-index-menu";
172
+ readonly modal: "--DataGrid-t-z-index-modal";
171
173
  };
172
174
  breakpoints: {
173
175
  values: {
@@ -258,6 +260,7 @@ export declare const vars: {
258
260
  readonly zIndex: {
259
261
  readonly panel: "--DataGrid-t-z-index-panel";
260
262
  readonly menu: "--DataGrid-t-z-index-menu";
263
+ readonly modal: "--DataGrid-t-z-index-modal";
261
264
  };
262
265
  };
263
266
  };
@@ -105,7 +105,8 @@ const keys = {
105
105
  },
106
106
  zIndex: {
107
107
  panel: '--DataGrid-t-z-index-panel',
108
- menu: '--DataGrid-t-z-index-menu'
108
+ menu: '--DataGrid-t-z-index-menu',
109
+ modal: '--DataGrid-t-z-index-modal'
109
110
  }
110
111
  };
111
112
  const values = wrap(keys);
@@ -98,7 +98,8 @@ const keys = {
98
98
  },
99
99
  zIndex: {
100
100
  panel: '--DataGrid-t-z-index-panel',
101
- menu: '--DataGrid-t-z-index-menu'
101
+ menu: '--DataGrid-t-z-index-menu',
102
+ modal: '--DataGrid-t-z-index-modal'
102
103
  }
103
104
  };
104
105
  const values = wrap(keys);