@mui/x-data-grid 7.10.0 → 7.11.1

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 (110) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/components/panel/GridPanel.d.ts +1 -1
  3. package/components/panel/GridPanel.js +4 -1
  4. package/components/panel/GridPreferencesPanel.d.ts +1 -1
  5. package/components/panel/GridPreferencesPanel.js +3 -4
  6. package/components/panel/filterPanel/GridFilterForm.js +1 -12
  7. package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -1
  8. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  9. package/hooks/core/useGridApiInitialization.js +2 -2
  10. package/hooks/features/columnResize/useGridColumnResize.js +1 -0
  11. package/hooks/features/editing/gridEditingSelectors.d.ts +3 -0
  12. package/hooks/features/editing/gridEditingSelectors.js +3 -1
  13. package/hooks/features/editing/index.d.ts +1 -0
  14. package/hooks/features/editing/index.js +1 -0
  15. package/hooks/features/editing/useGridCellEditing.js +2 -3
  16. package/hooks/features/editing/useGridRowEditing.js +2 -3
  17. package/hooks/features/export/serializers/csvSerializer.js +7 -8
  18. package/hooks/features/filter/gridFilterUtils.js +12 -9
  19. package/hooks/features/index.d.ts +1 -0
  20. package/hooks/features/index.js +1 -0
  21. package/hooks/features/sorting/gridSortingUtils.js +2 -3
  22. package/hooks/utils/useGridApiEventHandler.d.ts +3 -2
  23. package/hooks/utils/useGridApiEventHandler.js +1 -0
  24. package/hooks/utils/useGridSelector.js +2 -3
  25. package/index.js +1 -1
  26. package/internals/index.d.ts +0 -1
  27. package/internals/index.js +0 -1
  28. package/internals/utils/index.d.ts +1 -0
  29. package/internals/utils/index.js +2 -1
  30. package/internals/utils/propValidation.d.ts +0 -1
  31. package/internals/utils/propValidation.js +4 -13
  32. package/internals/utils/warning.d.ts +2 -0
  33. package/internals/utils/warning.js +21 -0
  34. package/locales/deDE.js +1 -2
  35. package/locales/index.d.ts +2 -0
  36. package/locales/index.js +3 -1
  37. package/locales/isIS.d.ts +2 -0
  38. package/locales/isIS.js +149 -0
  39. package/locales/nbNO.js +30 -32
  40. package/locales/nnNO.d.ts +2 -0
  41. package/locales/nnNO.js +148 -0
  42. package/locales/ruRU.js +4 -5
  43. package/models/api/gridCoreApi.d.ts +1 -1
  44. package/modern/components/panel/GridPanel.js +4 -1
  45. package/modern/components/panel/GridPreferencesPanel.js +3 -4
  46. package/modern/components/panel/filterPanel/GridFilterForm.js +1 -12
  47. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  48. package/modern/hooks/core/useGridApiInitialization.js +2 -2
  49. package/modern/hooks/features/columnResize/useGridColumnResize.js +1 -0
  50. package/modern/hooks/features/editing/gridEditingSelectors.js +3 -1
  51. package/modern/hooks/features/editing/index.js +1 -0
  52. package/modern/hooks/features/editing/useGridCellEditing.js +2 -3
  53. package/modern/hooks/features/editing/useGridRowEditing.js +2 -3
  54. package/modern/hooks/features/export/serializers/csvSerializer.js +7 -8
  55. package/modern/hooks/features/filter/gridFilterUtils.js +12 -9
  56. package/modern/hooks/features/index.js +1 -0
  57. package/modern/hooks/features/sorting/gridSortingUtils.js +2 -3
  58. package/modern/hooks/utils/useGridApiEventHandler.js +1 -0
  59. package/modern/hooks/utils/useGridSelector.js +2 -3
  60. package/modern/index.js +1 -1
  61. package/modern/internals/index.js +0 -1
  62. package/modern/internals/utils/index.js +2 -1
  63. package/modern/internals/utils/propValidation.js +4 -13
  64. package/modern/internals/utils/warning.js +21 -0
  65. package/modern/locales/deDE.js +1 -2
  66. package/modern/locales/index.js +3 -1
  67. package/modern/locales/isIS.js +149 -0
  68. package/modern/locales/nbNO.js +30 -32
  69. package/modern/locales/nnNO.js +148 -0
  70. package/modern/locales/ruRU.js +4 -5
  71. package/modern/utils/createSelector.js +4 -5
  72. package/node/components/panel/GridPanel.js +4 -1
  73. package/node/components/panel/GridPreferencesPanel.js +4 -5
  74. package/node/components/panel/filterPanel/GridFilterForm.js +1 -12
  75. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
  76. package/node/hooks/core/useGridApiInitialization.js +2 -2
  77. package/node/hooks/features/columnResize/useGridColumnResize.js +1 -0
  78. package/node/hooks/features/editing/gridEditingSelectors.js +3 -1
  79. package/node/hooks/features/editing/index.js +16 -0
  80. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  81. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  82. package/node/hooks/features/export/serializers/csvSerializer.js +7 -8
  83. package/node/hooks/features/filter/gridFilterUtils.js +12 -9
  84. package/node/hooks/features/index.js +11 -0
  85. package/node/hooks/features/sorting/gridSortingUtils.js +2 -3
  86. package/node/hooks/utils/useGridApiEventHandler.js +1 -0
  87. package/node/hooks/utils/useGridSelector.js +2 -3
  88. package/node/index.js +1 -1
  89. package/node/internals/index.js +0 -8
  90. package/node/internals/utils/index.js +11 -0
  91. package/node/internals/utils/propValidation.js +4 -14
  92. package/node/internals/utils/warning.js +28 -0
  93. package/node/locales/deDE.js +1 -2
  94. package/node/locales/index.js +22 -0
  95. package/node/locales/isIS.js +155 -0
  96. package/node/locales/nbNO.js +30 -32
  97. package/node/locales/nnNO.js +154 -0
  98. package/node/locales/ruRU.js +4 -5
  99. package/node/utils/createSelector.js +4 -5
  100. package/package.json +5 -5
  101. package/utils/createSelector.d.ts +1 -1
  102. package/utils/createSelector.js +4 -5
  103. package/modern/utils/EventManager.js +0 -69
  104. package/modern/utils/warning.js +0 -24
  105. package/node/utils/EventManager.js +0 -76
  106. package/node/utils/warning.js +0 -32
  107. package/utils/EventManager.d.ts +0 -29
  108. package/utils/EventManager.js +0 -69
  109. package/utils/warning.d.ts +0 -2
  110. package/utils/warning.js +0 -24
package/CHANGELOG.md CHANGED
@@ -3,6 +3,175 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 7.11.1
7
+
8
+ _Jul 25, 2024_
9
+
10
+ We'd like to offer a big thanks to the 18 contributors who made this release possible. Here are some highlights ✨:
11
+
12
+ - 🔎 Allow `Zoom` to be controllable for charts (#13858) @JCQuintas
13
+ - 🌍 Add Icelandic (is-IS) and Norwegian Nynorsk (nn-NO) locales on the Data Grid
14
+ - 🌍 Improve Norwegian Bokmål (nb-NO) and German (de-DE) locales on the Data Grid
15
+ - 🌍 Add Norwegian Nynorsk (nn-NO) locale on the Date and Time Pickers
16
+ - 🐞 Bugfixes
17
+ - 📚 Documentation improvements
18
+
19
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
20
+
21
+ ### Data Grid
22
+
23
+ #### `@mui/x-data-grid@7.11.1`
24
+
25
+ - [DataGrid] Remove dead code in internal `GridPreferencesPanel` (#13934) @k-rajat19
26
+ - [DataGrid] Do not miss to escape formulas in CSV export (#13888) @arminmeh
27
+ - [l10n] Add Icelandic (is-IS) locale (#13283) @magnimarels
28
+ - [l10n] Add Norwegian nynorsk (nn-NO) locale and improve Norwegian bokmål (nb-NO) locale (#13588) @AnderzL7
29
+ - [l10n] Improve German (de-DE) locale (#13910) @lhilgert9
30
+
31
+ #### `@mui/x-data-grid-pro@7.11.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
32
+
33
+ Same changes as in `@mui/x-data-grid@7.11.1`.
34
+
35
+ #### `@mui/x-data-grid-premium@7.11.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
36
+
37
+ Same changes as in `@mui/x-data-grid-pro@7.11.1`, plus:
38
+
39
+ - [DataGridPremium] Pass the `api` object to events (#13893) @pcorpet
40
+ - [DataGridPremium] Fix paste to selected cells (#13967) @romgrk
41
+
42
+ ### Date and Time Pickers
43
+
44
+ #### `@mui/x-date-pickers@7.11.1`
45
+
46
+ - [fields] Prevent keyboard editing when disabled (#13900) @arthurbalduini
47
+ - [l10n] Add Norwegian Nynorsk (nn-NO) locale (#13946) @AnderzL7
48
+
49
+ #### `@mui/x-date-pickers-pro@7.11.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
50
+
51
+ Same changes as in `@mui/x-date-pickers@7.11.1`.
52
+
53
+ ### Charts
54
+
55
+ #### `@mui/x-charts@7.11.1`
56
+
57
+ - [charts] Add `ownerState` function to `slotProps` typing when available (#13965) @alexfauquette
58
+ - [charts] Allow `Zoom` to be controllable (#13858) @JCQuintas
59
+ - [charts] Deprecate `xAxisKey` /`zAxisKey` in favor of `xAxisId`/`zAxisId` (#13940) @alexfauquette
60
+ - [charts] Hide empty arcs in the PieChart (#13897) @alexfauquette
61
+ - [charts] Limit the trigger of exit charts (#13682) @alexfauquette
62
+
63
+ ### Tree View
64
+
65
+ #### `@mui/x-tree-view@7.11.1`
66
+
67
+ - [TreeView] Allow the plugins to enrich the props passed to the item slots (#13953) @flaviendelangle
68
+
69
+ ### Docs
70
+
71
+ - [docs] Bump pnpm priority as a package manager (#13894) @oliviertassinari
72
+ - [docs] Explicitly mark charts pro as not released (#13905) @alexfauquette
73
+ - [docs] Fix dot consistency a11y table @oliviertassinari
74
+ - [docs] Fix some typos in charts docs (#13906) @cratiu222
75
+ - [docs] Fix spelling (#13902) @nnsW3
76
+ - [docs] Improve error message when moving between plans (#13874) @oliviertassinari
77
+ - [docs] Update `SparkLineChart` reference not being correctly capitalised (#13960) @duckboy81
78
+ - [docs] Fix scroll demos disorientation (#13909) @oliviertassinari
79
+
80
+ ### Core
81
+
82
+ - [core] Add `@mui/material-nextjs` to `MUI Core` renovate group (#13966) @LukasTy
83
+ - [core] Remove warning message in production (#13911) @oliviertassinari
84
+ - [code-infra] Reuse `useReactVersion` script from the monorepo (#13710) @cherniavskii
85
+ - [infra] Adds order id validation action (#13957) @michelengelen
86
+ - [infra] Fix order id validator action (#13971) @michelengelen
87
+ - [infra] Fix regex in order id validation (#13976) @michelengelen
88
+ - [infra] Issue template improvement (#13954) @michelengelen
89
+
90
+ ## 7.11.0
91
+
92
+ _Jul 18, 2024_
93
+
94
+ We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
95
+
96
+ - 🎨 Add [color legend](https://mui.com/x/react-charts/legend/#color-legend) for charts (#13700) @alexfauquette
97
+ - 🌍 Improve Korean (ko-KR) locale on the Date and Time Pickers
98
+ - 🌍 Improve Russian (ru-RU) locale on the Date and Time Pickers and Data Grid
99
+ - 🐞 Bugfixes
100
+ - 📚 Documentation improvements
101
+
102
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
103
+
104
+ ### Data Grid
105
+
106
+ #### `@mui/x-data-grid@7.11.0`
107
+
108
+ - [DataGrid] Expose `gridEditRowsStateSelector` (#13877) @romgrk
109
+ - [DataGrid] Fix `columnResizeStop` event not emitted when column is not resized (#13307) @mateuseap
110
+ - [DataGrid] Fix delete filter inconsistent behavior (#13353) @oukunan
111
+ - [DataGrid] Enable flip on preferences panel (#13803) @romgrk
112
+ - [DataGrid] Support `date` and `datetime-local` input types in `GridFilterInputMultipleValue` type (#13411) @karudedios
113
+ - [l10n] Improve Russian (ru-RU) locale (#13735) @diro-atk
114
+
115
+ #### `@mui/x-data-grid-pro@7.11.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
116
+
117
+ Same changes as in `@mui/x-data-grid@7.11.0`.
118
+
119
+ #### `@mui/x-data-grid-premium@7.11.0` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
120
+
121
+ Same changes as in `@mui/x-data-grid-pro@7.11.0`.
122
+
123
+ ### Date and Time Pickers
124
+
125
+ #### `@mui/x-date-pickers@7.11.0`
126
+
127
+ - [l10n] Improve Korean (ko-KR) locale (#13651) @100pearlcent
128
+ - [l10n] Improve Russian (ru-RU) locale (#13871) @Inv1x
129
+ - [pickers] Add more conformance tests improving API docs precision (#13800) @LukasTy
130
+ - [TimePicker] Add `Mui-selected` class to `TimeClock` meridiem buttons (#13848) @LukasTy
131
+
132
+ #### `@mui/x-date-pickers-pro@7.11.0` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
133
+
134
+ Same changes as in `@mui/x-date-pickers@7.11.0`, plus:
135
+
136
+ - [DateRangePicker] Fix `name` prop propagation regression (#13821) @LukasTy
137
+
138
+ ### Charts
139
+
140
+ #### `@mui/x-charts@7.11.0`
141
+
142
+ - [charts] Create color legend (#13700) @alexfauquette
143
+ - [charts] Defaultize axis on top level `useChartContainerProps` (#13817) @JCQuintas
144
+ - [charts] Fix charts not passing `className` to root element (#13647) @JCQuintas
145
+ - [charts] Generate API documentation for pro components (#13822) @alexfauquette
146
+ - [charts] Improve zoomed highlight behaviour (unreleased) (#13868) @JCQuintas
147
+ - [charts] Allow zoom on Y axis and add zoom options to configure zooming behaviour (unreleased) (#13726) @JCQuintas
148
+ - [charts] Disable animations while zooming (unreleased) (#13807) @JCQuintas
149
+
150
+ ### Tree View
151
+
152
+ #### `@mui/x-tree-view@7.11.0`
153
+
154
+ - [TreeView] Extract some logic outside of the `useTreeView` hook (#13845) @flaviendelangle
155
+
156
+ ### Docs
157
+
158
+ - [docs] Add warning about `process.env.NODE_ENV` in production (#13869) @cherniavskii
159
+ - [docs] Allow controlling the demo form from the example (#13796) @JCQuintas
160
+ - [docs] Clarify Pickers clearable behavior not working on mobile (#13786) @lnhrdt
161
+ - [docs] Improve the documentation of the picker's `onChange` and `onAccept` props (#13543) @flaviendelangle
162
+ - [docs] Replace company name with project name @oliviertassinari
163
+ - [docs] Sort Pickers & Charts API slots alphabetically (#13843) @LukasTy
164
+
165
+ ### Core
166
+
167
+ - [core] Add MUI Internal `renovate` group (#13846) @LukasTy
168
+ - [core] Link GitHub issue for `import/prefer-default-export` rule @oliviertassinari
169
+ - [core] Normalize `...other` and test imports in charts (#13844) @JCQuintas
170
+ - [core] Normalize rest / other to match the most common used @oliviertassinari
171
+ - [code-infra] Follow `next` tag for `@mui/docs` package bumps (#13813) @LukasTy
172
+ - [code-infra] Use specific version for `@mui/docs` dependency (#13760) @LukasTy
173
+ - [internals] Move `EventManager` to `@mui/x-internals` package (#13815) @flaviendelangle
174
+
6
175
  ## 7.10.0
7
176
 
8
177
  _Jul 11, 2024_
@@ -16,7 +16,7 @@ export interface GridPanelProps extends Partial<React.ComponentProps<typeof Grid
16
16
  open: boolean;
17
17
  }
18
18
  export declare const gridPanelClasses: Record<keyof GridPanelClasses, string>;
19
- declare const GridPanelRoot: import("@emotion/styled").StyledComponent<Pick<import("@mui/material/Popper").PopperProps & React.RefAttributes<HTMLDivElement>, "hidden" | "color" | "content" | "style" | "open" | "translate" | "container" | "transition" | "slot" | "title" | "ref" | "suppressHydrationWarning" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "component" | "sx" | "components" | "slotProps" | "slots" | "placement" | "disablePortal" | "keepMounted" | "modifiers" | "anchorEl" | "popperOptions" | "popperRef" | "componentsProps"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
19
+ declare const GridPanelRoot: import("@emotion/styled").StyledComponent<Pick<import("@mui/material/Popper").PopperProps & React.RefAttributes<HTMLDivElement>, "hidden" | "color" | "content" | "style" | "open" | "translate" | "container" | "transition" | "slot" | "title" | "ref" | "suppressHydrationWarning" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onResize" | "onResizeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "accessKey" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "nonce" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "component" | "sx" | "components" | "slots" | "slotProps" | "componentsProps" | "placement" | "disablePortal" | "modifiers" | "anchorEl" | "keepMounted" | "popperOptions" | "popperRef"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
20
20
  ownerState: OwnerState;
21
21
  }, {}, {}>;
22
22
  declare const GridPanel: React.ForwardRefExoticComponent<Omit<GridPanelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -57,7 +57,10 @@ const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
57
57
  }, [apiRef]);
58
58
  const modifiers = React.useMemo(() => [{
59
59
  name: 'flip',
60
- enabled: false
60
+ enabled: true,
61
+ options: {
62
+ rootBoundary: 'document'
63
+ }
61
64
  }, {
62
65
  name: 'isPlaced',
63
66
  enabled: true,
@@ -1,2 +1,2 @@
1
1
  import * as React from 'react';
2
- export declare const GridPreferencesPanel: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
2
+ export declare function GridPreferencesPanel(): React.JSX.Element;
@@ -7,19 +7,18 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
7
7
  import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
8
8
  import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
- export const GridPreferencesPanel = /*#__PURE__*/React.forwardRef(function GridPreferencesPanel(props, ref) {
10
+ export function GridPreferencesPanel() {
11
11
  const apiRef = useGridApiContext();
12
12
  const columns = useGridSelector(apiRef, gridColumnDefinitionsSelector);
13
13
  const rootProps = useGridRootProps();
14
14
  const preferencePanelState = useGridSelector(apiRef, gridPreferencePanelStateSelector);
15
15
  const panelContent = apiRef.current.unstable_applyPipeProcessors('preferencePanel', null, preferencePanelState.openedPanelValue ?? GridPreferencePanelsValue.filters);
16
16
  return /*#__PURE__*/_jsx(rootProps.slots.panel, _extends({
17
- ref: ref,
18
17
  as: rootProps.slots.basePopper,
19
18
  open: columns.length > 0 && preferencePanelState.open,
20
19
  id: preferencePanelState.panelId,
21
20
  "aria-labelledby": preferencePanelState.labelId
22
- }, rootProps.slotProps?.panel, props, rootProps.slotProps?.basePopper, {
21
+ }, rootProps.slotProps?.panel, rootProps.slotProps?.basePopper, {
23
22
  children: panelContent
24
23
  }));
25
- });
24
+ }
@@ -243,18 +243,7 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
243
243
  applyMultiFilterOperatorChanges(logicOperator);
244
244
  }, [applyMultiFilterOperatorChanges]);
245
245
  const handleDeleteFilter = () => {
246
- if (rootProps.disableMultipleColumnsFiltering) {
247
- if (item.value === undefined) {
248
- deleteFilter(item);
249
- } else {
250
- // TODO v6: simplify the behavior by always remove the filter form
251
- applyFilterChanges(_extends({}, item, {
252
- value: undefined
253
- }));
254
- }
255
- } else {
256
- deleteFilter(item);
257
- }
246
+ deleteFilter(item);
258
247
  };
259
248
  React.useImperativeHandle(focusElementRef, () => ({
260
249
  focus: () => {
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import { AutocompleteProps } from '@mui/material/Autocomplete';
3
3
  import { GridFilterInputValueProps } from './GridFilterInputValueProps';
4
4
  export type GridFilterInputMultipleValueProps = {
5
- type?: 'text' | 'number';
5
+ type?: 'text' | 'number' | 'date' | 'datetime-local';
6
6
  } & GridFilterInputValueProps & Omit<AutocompleteProps<string, true, false, true>, 'options' | 'renderInput'>;
7
7
  declare function GridFilterInputMultipleValue(props: GridFilterInputMultipleValueProps): React.JSX.Element;
8
8
  declare namespace GridFilterInputMultipleValue {
@@ -88,6 +88,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputMultipleValue.propTypes =
88
88
  operator: PropTypes.string.isRequired,
89
89
  value: PropTypes.any
90
90
  }).isRequired,
91
- type: PropTypes.oneOf(['number', 'text'])
91
+ type: PropTypes.oneOf(['date', 'datetime-local', 'number', 'text'])
92
92
  } : void 0;
93
93
  export { GridFilterInputMultipleValue };
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
+ import { EventManager } from '@mui/x-internals/EventManager';
2
3
  import { Store } from '../../utils/Store';
3
4
  import { useGridApiMethod } from '../utils/useGridApiMethod';
4
5
  import { GridSignature } from '../utils/useGridApiEventHandler';
5
- import { EventManager } from '../../utils/EventManager';
6
6
  const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
7
7
  const isSyntheticEvent = event => {
8
8
  return event.isPropagationStopped !== undefined;
@@ -82,7 +82,7 @@ export function useGridApiInitialization(inputApiRef, props) {
82
82
  if (isSyntheticEvent(event) && event.isPropagationStopped()) {
83
83
  return;
84
84
  }
85
- const details = props.signature === GridSignature.DataGridPro ? {
85
+ const details = props.signature === GridSignature.DataGridPro || props.signature === GridSignature.DataGridPremium ? {
86
86
  api: privateApiRef.current.getPublicApi()
87
87
  } : {};
88
88
  privateApiRef.current.eventManager.emit(name, params, event, details);
@@ -267,6 +267,7 @@ export const useGridColumnResize = (apiRef, props) => {
267
267
  // Check if the current event is part of a double-click
268
268
  if (nativeEvent.timeStamp - prevTimeStamp < 300 && nativeEvent.clientX === prevClientX && nativeEvent.clientY === prevClientY) {
269
269
  refs.previousMouseClickEvent = undefined;
270
+ apiRef.current.publishEvent('columnResizeStop', null, nativeEvent);
270
271
  return;
271
272
  }
272
273
  }
@@ -1,2 +1,5 @@
1
1
  import { GridStateCommunity } from '../../../models/gridStateCommunity';
2
+ /**
3
+ * Select the row editing state.
4
+ */
2
5
  export declare const gridEditRowsStateSelector: (state: GridStateCommunity) => import("../../..").GridEditingState;
@@ -1,2 +1,4 @@
1
- // TODO v6: rename to gridEditingStateSelector
1
+ /**
2
+ * Select the row editing state.
3
+ */
2
4
  export const gridEditRowsStateSelector = state => state.editRows;
@@ -0,0 +1 @@
1
+ export * from './gridEditingSelectors';
@@ -0,0 +1 @@
1
+ export * from './gridEditingSelectors';
@@ -10,11 +10,10 @@ import { GridEditModes, GridCellModes } from '../../../models/gridEditRowModel';
10
10
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
11
11
  import { gridEditRowsStateSelector } from './gridEditingSelectors';
12
12
  import { isPrintableKey, isPasteShortcut } from '../../../utils/keyboardUtils';
13
- import { buildWarning } from '../../../utils/warning';
13
+ import { warnOnce } from '../../../internals/utils/warning';
14
14
  import { gridRowsDataRowIdToIdLookupSelector } from '../rows/gridRowsSelector';
15
15
  import { deepClone } from '../../../utils/utils';
16
16
  import { GridCellEditStartReasons, GridCellEditStopReasons } from '../../../models/params/gridEditCellParams';
17
- const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
18
17
  export const useGridCellEditing = (apiRef, props) => {
19
18
  const [cellModesModel, setCellModesModel] = React.useState({});
20
19
  const cellModesModelRef = React.useRef(cellModesModel);
@@ -336,7 +335,7 @@ export const useGridCellEditing = (apiRef, props) => {
336
335
  if (onProcessRowUpdateError) {
337
336
  onProcessRowUpdateError(errorThrown);
338
337
  } else if (process.env.NODE_ENV !== 'production') {
339
- missingOnProcessRowUpdateErrorWarning();
338
+ warnOnce(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
340
339
  }
341
340
  };
342
341
  try {
@@ -11,12 +11,11 @@ import { useGridApiMethod } from '../../utils/useGridApiMethod';
11
11
  import { gridEditRowsStateSelector } from './gridEditingSelectors';
12
12
  import { isPrintableKey, isPasteShortcut } from '../../../utils/keyboardUtils';
13
13
  import { gridColumnFieldsSelector, gridVisibleColumnFieldsSelector } from '../columns/gridColumnsSelector';
14
- import { buildWarning } from '../../../utils/warning';
14
+ import { warnOnce } from '../../../internals/utils/warning';
15
15
  import { gridRowsDataRowIdToIdLookupSelector } from '../rows/gridRowsSelector';
16
16
  import { deepClone } from '../../../utils/utils';
17
17
  import { GridRowEditStopReasons, GridRowEditStartReasons } from '../../../models/params/gridRowParams';
18
18
  import { GRID_ACTIONS_COLUMN_TYPE } from '../../../colDef';
19
- const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
20
19
  export const useGridRowEditing = (apiRef, props) => {
21
20
  const [rowModesModel, setRowModesModel] = React.useState({});
22
21
  const rowModesModelRef = React.useRef(rowModesModel);
@@ -389,7 +388,7 @@ export const useGridRowEditing = (apiRef, props) => {
389
388
  if (onProcessRowUpdateError) {
390
389
  onProcessRowUpdateError(errorThrown);
391
390
  } else if (process.env.NODE_ENV !== 'production') {
392
- missingOnProcessRowUpdateErrorWarning();
391
+ warnOnce(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
393
392
  }
394
393
  };
395
394
  try {
@@ -1,19 +1,19 @@
1
1
  import { GRID_CHECKBOX_SELECTION_COL_DEF } from '../../../../colDef';
2
- import { buildWarning } from '../../../../utils/warning';
2
+ import { warnOnce } from '../../../../internals/utils/warning';
3
3
  function sanitizeCellValue(value, csvOptions) {
4
4
  const valueStr = typeof value === 'string' ? value : `${value}`;
5
5
  if (csvOptions.shouldAppendQuotes || csvOptions.escapeFormulas) {
6
6
  const escapedValue = valueStr.replace(/"/g, '""');
7
- // Make sure value containing delimiter or line break won't be split into multiple cells
8
- if ([csvOptions.delimiter, '\n', '\r', '"'].some(delimiter => valueStr.includes(delimiter))) {
9
- return `"${escapedValue}"`;
10
- }
11
7
  if (csvOptions.escapeFormulas) {
12
8
  // See https://owasp.org/www-community/attacks/CSV_Injection
13
9
  if (['=', '+', '-', '@', '\t', '\r'].includes(escapedValue[0])) {
14
- return `'${escapedValue}`;
10
+ return `"'${escapedValue}"`;
15
11
  }
16
12
  }
13
+ // Make sure value containing delimiter or line break won't be split into multiple cells
14
+ if ([csvOptions.delimiter, '\n', '\r', '"'].some(delimiter => valueStr.includes(delimiter))) {
15
+ return `"${escapedValue}"`;
16
+ }
17
17
  return escapedValue;
18
18
  }
19
19
  return valueStr;
@@ -40,7 +40,6 @@ export const serializeCellValue = (cellParams, options) => {
40
40
  }
41
41
  return sanitizeCellValue(value, csvOptions);
42
42
  };
43
- const objectFormattedValueWarning = buildWarning(['MUI X: When the value of a field is an object or a `renderCell` is provided, the CSV export might not display the value correctly.', 'You can provide a `valueFormatter` with a string representation to be used.']);
44
43
  class CSVRow {
45
44
  constructor(options) {
46
45
  this.options = void 0;
@@ -79,7 +78,7 @@ const serializeRow = ({
79
78
  const cellParams = getCellParams(id, column.field);
80
79
  if (process.env.NODE_ENV !== 'production') {
81
80
  if (String(cellParams.formattedValue) === '[object Object]') {
82
- objectFormattedValueWarning();
81
+ warnOnce(['MUI X: When the value of a field is an object or a `renderCell` is provided, the CSV export might not display the value correctly.', 'You can provide a `valueFormatter` with a string representation to be used.']);
83
82
  }
84
83
  }
85
84
  row.addValue(serializeCellValue(cellParams, {
@@ -1,7 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import { GridLogicOperator } from '../../../models';
3
3
  import { getDefaultGridFilterModel } from './gridFilterState';
4
- import { buildWarning } from '../../../utils/warning';
4
+ import { warnOnce } from '../../../internals/utils/warning';
5
5
  import { getPublicApiRef } from '../../../utils/getPublicApiRef';
6
6
  import { gridColumnFieldsSelector, gridColumnLookupSelector, gridVisibleColumnFieldsSelector } from '../columns';
7
7
  let hasEval;
@@ -36,25 +36,28 @@ export const cleanFilterItem = (item, apiRef) => {
36
36
  }
37
37
  return cleanItem;
38
38
  };
39
- const filterModelDisableMultiColumnsFilteringWarning = buildWarning(['MUI X: The `filterModel` can only contain a single item when the `disableMultipleColumnsFiltering` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
40
- const filterModelMissingItemIdWarning = buildWarning('MUI X: The `id` field is required on `filterModel.items` when you use multiple filters.', 'error');
41
- const filterModelMissingItemOperatorWarning = buildWarning('MUI X: The `operator` field is required on `filterModel.items`, one or more of your filtering item has no `operator` provided.', 'error');
42
39
  export const sanitizeFilterModel = (model, disableMultipleColumnsFiltering, apiRef) => {
43
40
  const hasSeveralItems = model.items.length > 1;
44
41
  let items;
45
42
  if (hasSeveralItems && disableMultipleColumnsFiltering) {
46
- filterModelDisableMultiColumnsFilteringWarning();
43
+ if (process.env.NODE_ENV !== 'production') {
44
+ warnOnce(['MUI X: The `filterModel` can only contain a single item when the `disableMultipleColumnsFiltering` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
45
+ }
47
46
  items = [model.items[0]];
48
47
  } else {
49
48
  items = model.items;
50
49
  }
51
50
  const hasItemsWithoutIds = hasSeveralItems && items.some(item => item.id == null);
52
51
  const hasItemWithoutOperator = items.some(item => item.operator == null);
53
- if (hasItemsWithoutIds) {
54
- filterModelMissingItemIdWarning();
52
+ if (process.env.NODE_ENV !== 'production') {
53
+ if (hasItemsWithoutIds) {
54
+ warnOnce('MUI X: The `id` field is required on `filterModel.items` when you use multiple filters.', 'error');
55
+ }
55
56
  }
56
- if (hasItemWithoutOperator) {
57
- filterModelMissingItemOperatorWarning();
57
+ if (process.env.NODE_ENV !== 'production') {
58
+ if (hasItemWithoutOperator) {
59
+ warnOnce('MUI X: The `operator` field is required on `filterModel.items`, one or more of your filtering item has no `operator` provided.', 'error');
60
+ }
58
61
  }
59
62
  if (hasItemWithoutOperator || hasItemsWithoutIds) {
60
63
  return _extends({}, model, {
@@ -3,6 +3,7 @@ export * from './columns';
3
3
  export * from './columnGrouping';
4
4
  export * from './columnResize';
5
5
  export * from './density';
6
+ export * from './editing';
6
7
  export * from './filter';
7
8
  export * from './focus';
8
9
  export * from './pagination';
@@ -4,6 +4,7 @@ export * from './columns';
4
4
  export * from './columnGrouping';
5
5
  export * from './columnResize';
6
6
  export * from './density';
7
+ export * from './editing';
7
8
  export * from './filter';
8
9
  export * from './focus';
9
10
  export * from './pagination';
@@ -1,10 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { buildWarning } from '../../../utils/warning';
3
- const sortModelDisableMultiColumnsSortingWarning = buildWarning(['MUI X: The `sortModel` can only contain a single item when the `disableMultipleColumnsSorting` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
2
+ import { warnOnce } from '../../../internals/utils/warning';
4
3
  export const sanitizeSortModel = (model, disableMultipleColumnsSorting) => {
5
4
  if (disableMultipleColumnsSorting && model.length > 1) {
6
5
  if (process.env.NODE_ENV !== 'production') {
7
- sortModelDisableMultiColumnsSortingWarning();
6
+ warnOnce(['MUI X: The `sortModel` can only contain a single item when the `disableMultipleColumnsSorting` prop is set to `true`.', 'If you are using the community version of the `DataGrid`, this prop is always `true`.'], 'error');
8
7
  }
9
8
  return [model[0]];
10
9
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
+ import { EventListenerOptions } from '@mui/x-internals/EventManager';
2
3
  import { GridEventListener, GridEvents } from '../../models/events';
3
4
  import { CleanupTracking } from '../../utils/cleanupTracking/CleanupTracking';
4
- import { EventListenerOptions } from '../../utils/EventManager';
5
5
  import type { GridApiCommon } from '../../models';
6
6
  /**
7
7
  * Signal to the underlying logic what version of the public component API
@@ -9,7 +9,8 @@ import type { GridApiCommon } from '../../models';
9
9
  */
10
10
  declare enum GridSignature {
11
11
  DataGrid = "DataGrid",
12
- DataGridPro = "DataGridPro"
12
+ DataGridPro = "DataGridPro",
13
+ DataGridPremium = "DataGridPremium"
13
14
  }
14
15
  interface RegistryContainer {
15
16
  registry: CleanupTracking | null;
@@ -8,6 +8,7 @@ import { FinalizationRegistryBasedCleanupTracking } from '../../utils/cleanupTra
8
8
  var GridSignature = /*#__PURE__*/function (GridSignature) {
9
9
  GridSignature["DataGrid"] = "DataGrid";
10
10
  GridSignature["DataGridPro"] = "DataGridPro";
11
+ GridSignature["DataGridPremium"] = "DataGridPremium";
11
12
  return GridSignature;
12
13
  }(GridSignature || {});
13
14
  // We use class to make it easier to detect in heap snapshots by name
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import { useLazyRef } from './useLazyRef';
3
3
  import { useOnMount } from './useOnMount';
4
- import { buildWarning } from '../../utils/warning';
4
+ import { warnOnce } from '../../internals/utils/warning';
5
5
  import { fastObjectShallowCompare } from '../../utils/fastObjectShallowCompare';
6
- const stateNotInitializedWarning = buildWarning(['MUI X: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
7
6
  function isOutputSelector(selector) {
8
7
  return selector.acceptsApiRef;
9
8
  }
@@ -23,7 +22,7 @@ const createRefs = () => ({
23
22
  export const useGridSelector = (apiRef, selector, equals = defaultCompare) => {
24
23
  if (process.env.NODE_ENV !== 'production') {
25
24
  if (!apiRef.current.state) {
26
- stateNotInitializedWarning();
25
+ warnOnce(['MUI X: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
27
26
  }
28
27
  }
29
28
  const refs = useLazyRef(createRefs);
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.10.0
2
+ * @mui/x-data-grid v7.11.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -75,7 +75,6 @@ export { findParentElementFromClassName, getActiveElement, isEventTargetInPortal
75
75
  export { isNavigationKey, isPasteShortcut } from '../utils/keyboardUtils';
76
76
  export * from '../utils/utils';
77
77
  export * from '../utils/fastMemo';
78
- export { buildWarning } from '../utils/warning';
79
78
  export { exportAs } from '../utils/exportAs';
80
79
  export * from '../utils/getPublicApiRef';
81
80
  export * from '../utils/cellBorderUtils';
@@ -60,7 +60,6 @@ export { findParentElementFromClassName, getActiveElement, isEventTargetInPortal
60
60
  export { isNavigationKey, isPasteShortcut } from '../utils/keyboardUtils';
61
61
  export * from '../utils/utils';
62
62
  export * from '../utils/fastMemo';
63
- export { buildWarning } from '../utils/warning';
64
63
  export { exportAs } from '../utils/exportAs';
65
64
  export * from '../utils/getPublicApiRef';
66
65
  export * from '../utils/cellBorderUtils';
@@ -1,3 +1,4 @@
1
1
  export * from './computeSlots';
2
2
  export * from './useProps';
3
3
  export * from './propValidation';
4
+ export * from './warning';
@@ -1,3 +1,4 @@
1
1
  export * from './computeSlots';
2
2
  export * from './useProps';
3
- export * from './propValidation';
3
+ export * from './propValidation';
4
+ export * from './warning';
@@ -2,4 +2,3 @@ import { DataGridProcessedProps } from '../../models/props/DataGridProps';
2
2
  export type PropValidator<TProps> = (props: TProps) => string | undefined;
3
3
  export declare const propValidatorsDataGrid: PropValidator<DataGridProcessedProps>[];
4
4
  export declare function validateProps<TProps>(props: TProps, validators: PropValidator<TProps>[]): void;
5
- export declare function clearWarningsCache(): void;