@mui/x-data-grid 8.0.0-alpha.3 → 8.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +274 -0
  2. package/DataGrid/DataGrid.js +5 -5
  3. package/README.md +1 -1
  4. package/components/GridRow.js +1 -1
  5. package/components/cell/GridActionsCell.js +8 -1
  6. package/components/cell/GridCell.js +1 -1
  7. package/components/panel/GridColumnsPanel.js +1 -2
  8. package/components/panel/GridPanelContent.js +7 -3
  9. package/components/panel/GridPanelFooter.d.ts +1 -1
  10. package/components/panel/GridPanelFooter.js +4 -3
  11. package/components/panel/filterPanel/GridFilterForm.js +15 -15
  12. package/constants/dataGridPropsDefaultValues.js +1 -1
  13. package/hooks/core/useGridStateInitialization.js +3 -3
  14. package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +4 -4
  15. package/hooks/features/columnResize/columnResizeSelector.d.ts +1 -1
  16. package/hooks/features/columns/gridColumnsSelector.d.ts +12 -12
  17. package/hooks/features/density/densitySelector.d.ts +1 -1
  18. package/hooks/features/filter/gridFilterSelector.d.ts +17 -17
  19. package/hooks/features/filter/useGridFilter.js +1 -1
  20. package/hooks/features/focus/gridFocusStateSelector.d.ts +8 -8
  21. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +3 -3
  22. package/hooks/features/overlays/useGridOverlays.js +3 -1
  23. package/hooks/features/pagination/gridPaginationSelector.d.ts +15 -9
  24. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
  25. package/hooks/features/rowSelection/useGridRowSelection.js +5 -4
  26. package/hooks/features/rowSelection/utils.d.ts +1 -1
  27. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +3 -3
  28. package/hooks/features/rows/gridRowsSelector.d.ts +23 -12
  29. package/hooks/features/rows/useGridRowSpanning.d.ts +1 -1
  30. package/hooks/features/rows/useGridRowSpanning.js +16 -8
  31. package/hooks/features/rows/useGridRows.js +5 -5
  32. package/hooks/features/sorting/gridSortingSelector.d.ts +10 -5
  33. package/hooks/features/sorting/gridSortingSelector.js +11 -0
  34. package/hooks/features/sorting/index.d.ts +2 -1
  35. package/hooks/features/sorting/index.js +1 -1
  36. package/hooks/features/sorting/useGridSorting.js +1 -1
  37. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +5 -5
  38. package/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  39. package/hooks/utils/useGridSelector.d.ts +4 -6
  40. package/hooks/utils/useGridSelector.js +6 -44
  41. package/index.js +1 -1
  42. package/internals/index.d.ts +2 -2
  43. package/internals/index.js +2 -2
  44. package/locales/roRO.js +18 -20
  45. package/models/api/gridStateApi.d.ts +1 -1
  46. package/models/controlStateItem.d.ts +2 -2
  47. package/models/props/DataGridProps.d.ts +1 -1
  48. package/modern/DataGrid/DataGrid.js +5 -5
  49. package/modern/components/GridRow.js +1 -1
  50. package/modern/components/cell/GridActionsCell.js +8 -1
  51. package/modern/components/cell/GridCell.js +1 -1
  52. package/modern/components/panel/GridColumnsPanel.js +1 -2
  53. package/modern/components/panel/GridPanelContent.js +7 -3
  54. package/modern/components/panel/GridPanelFooter.js +4 -3
  55. package/modern/components/panel/filterPanel/GridFilterForm.js +15 -15
  56. package/modern/constants/dataGridPropsDefaultValues.js +1 -1
  57. package/modern/hooks/core/useGridStateInitialization.js +3 -3
  58. package/modern/hooks/features/filter/useGridFilter.js +1 -1
  59. package/modern/hooks/features/overlays/useGridOverlays.js +3 -1
  60. package/modern/hooks/features/rowSelection/useGridRowSelection.js +5 -4
  61. package/modern/hooks/features/rows/useGridRowSpanning.js +16 -8
  62. package/modern/hooks/features/rows/useGridRows.js +5 -5
  63. package/modern/hooks/features/sorting/gridSortingSelector.js +11 -0
  64. package/modern/hooks/features/sorting/index.js +1 -1
  65. package/modern/hooks/features/sorting/useGridSorting.js +1 -1
  66. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  67. package/modern/hooks/utils/useGridSelector.js +6 -44
  68. package/modern/index.js +1 -1
  69. package/modern/internals/index.js +2 -2
  70. package/modern/locales/roRO.js +18 -20
  71. package/modern/utils/createSelector.js +1 -120
  72. package/node/DataGrid/DataGrid.js +5 -5
  73. package/node/components/GridRow.js +1 -1
  74. package/node/components/cell/GridActionsCell.js +8 -1
  75. package/node/components/cell/GridCell.js +1 -1
  76. package/node/components/panel/GridColumnsPanel.js +1 -2
  77. package/node/components/panel/GridPanelContent.js +7 -3
  78. package/node/components/panel/GridPanelFooter.js +5 -4
  79. package/node/components/panel/filterPanel/GridFilterForm.js +15 -15
  80. package/node/constants/dataGridPropsDefaultValues.js +1 -1
  81. package/node/hooks/core/useGridStateInitialization.js +3 -3
  82. package/node/hooks/features/filter/useGridFilter.js +1 -1
  83. package/node/hooks/features/overlays/useGridOverlays.js +3 -1
  84. package/node/hooks/features/rowSelection/useGridRowSelection.js +5 -4
  85. package/node/hooks/features/rows/useGridRowSpanning.js +16 -8
  86. package/node/hooks/features/rows/useGridRows.js +5 -5
  87. package/node/hooks/features/sorting/gridSortingSelector.js +12 -1
  88. package/node/hooks/features/sorting/index.js +24 -16
  89. package/node/hooks/features/sorting/useGridSorting.js +1 -1
  90. package/node/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
  91. package/node/hooks/utils/useGridSelector.js +8 -47
  92. package/node/index.js +1 -1
  93. package/node/internals/index.js +8 -22
  94. package/node/locales/roRO.js +18 -20
  95. package/node/utils/createSelector.js +4 -125
  96. package/package.json +1 -1
  97. package/utils/createSelector.d.ts +4 -16
  98. package/utils/createSelector.js +1 -120
package/CHANGELOG.md CHANGED
@@ -5,6 +5,133 @@
5
5
  All notable changes to this project will be documented in this file.
6
6
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
7
 
8
+ ## 8.0.0-alpha.4
9
+
10
+ _Dec 13, 2024_
11
+
12
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
13
+
14
+ - 🌍 Improve Romanian locale on the Data Grid and Pickers
15
+ - 📚 Documentation improvements
16
+ - 🐞 Bugfixes
17
+
18
+ Special thanks go out to the community contributors who have helped make this release possible:
19
+ @k-rajat19, @nusr, @rares985, @zivl.
20
+ Following are all team members who have contributed to this release:
21
+ @alexfauquette, @arminmeh, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy, @MBilalShafi.
22
+
23
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
24
+
25
+ ### Data Grid
26
+
27
+ #### Breaking changes
28
+
29
+ - The selectors signature has been updated due to the support of arguments in the selectors. Pass `undefined` as `arguments` if the selector doesn't use any arguments.
30
+
31
+ ```diff
32
+ -mySelector(state, instanceId)
33
+ +mySelector(state, arguments, instanceId)
34
+ ```
35
+
36
+ - The `useGridSelector` signature has been updated due to the introduction of arguments parameter in the selectors. Pass `undefined` as `arguments` if the selector doesn't use any arguments.
37
+
38
+ ```diff
39
+ -const output = useGridSelector(apiRef, selector, equals)
40
+ +const output = useGridSelector(apiRef, selector, arguments, equals)
41
+ ```
42
+ - The default variant for text fields and selects in the filter panel has been changed to `outlined`.
43
+ - The "row spanning" feature is now stable.
44
+ ```diff
45
+ <DataGrid
46
+ - unstable_rowSpanning
47
+ + rowSpanning
48
+ />
49
+ ```
50
+ - Selected row is now deselected when clicked again.
51
+
52
+ #### `@mui/x-data-grid@8.0.0-alpha.4`
53
+
54
+ - [DataGrid] Deselect selected row on click (#15509) @k-rajat19
55
+ - [DataGrid] Fix "No rows" displaying when all rows are pinned (#15335) @nusr
56
+ - [DataGrid] Make row spanning feature stable (#15742) @MBilalShafi
57
+ - [DataGrid] Round dimensions to avoid subpixel rendering error (#15850) @KenanYusuf
58
+ - [DataGrid] Toggle menu on click in `<GridActionsCell />` (#15867) @k-rajat19
59
+ - [DataGrid] Trigger row spanning computation on rows update (#15858) @MBilalShafi
60
+ - [DataGrid] Update filter panel input variant (#15807) @KenanYusuf
61
+ - [DataGrid] Use `columnsManagement` slot (#15817) @k-rajat19
62
+ - [DataGrid] Use new selector signature (#15200) @MBilalShafi
63
+ - [l10n] Improve Romanian (ro-RO) locale (#15745) @rares985
64
+
65
+ #### `@mui/x-data-grid-pro@8.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
66
+
67
+ Same changes as in `@mui/x-data-grid@8.0.0-alpha.4`, plus:
68
+
69
+ - [DataGridPro] Make row reordering work with pagination (#15355) @k-rajat19
70
+
71
+ #### `@mui/x-data-grid-premium@8.0.0-alpha.4` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
72
+
73
+ Same changes as in `@mui/x-data-grid-pro@8.0.0-alpha.4`, plus:
74
+
75
+ - [DataGridPremium] Fix group column ignoring `valueOptions` for `singleSelect` column type (#15739) @arminmeh
76
+
77
+ ### Date and Time Pickers
78
+
79
+ #### `@mui/x-date-pickers@8.0.0-alpha.4`
80
+
81
+ - [l10n] Improve Romanian (ro-RO) locale (#15745) @rares985
82
+ - [pickers] Clean `usePicker` logic (#15763) @flaviendelangle
83
+ - [pickers] Rename layout `ownerState` property from `isRtl` to `layoutDirection` (#15803) @flaviendelangle
84
+ - [pickers] Use the new `ownerState` in `useClearableField` (#15776) @flaviendelangle
85
+ - [pickers] Use the new `ownerState` in the toolbar components (#15777) @flaviendelangle
86
+ - [pickers] Use the new `ownerState` object for the clock components and the desktop / mobile wrappers (#15669) @flaviendelangle
87
+
88
+ #### `@mui/x-date-pickers-pro@8.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
89
+
90
+ Same changes as in `@mui/x-date-pickers@8.0.0-alpha.4`.
91
+
92
+ ### Charts
93
+
94
+ #### Breaking changes
95
+
96
+ - The default styling of the charts tooltip has been updated.
97
+
98
+ #### `@mui/x-charts@8.0.0-alpha.4`
99
+
100
+ - [charts] Fix hydration missmatch (#15647) @alexfauquette
101
+ - [charts] Fix internal spelling typo (#15805) @zivl
102
+ - [charts] Fix scatter dataset with missing data (#15802) @alexfauquette
103
+ - [charts] HTML Labels (#15813) @JCQuintas
104
+ - [charts] Only access store values by using hooks (#15764) @alexfauquette
105
+ - [charts] Update Tooltip style (#15630) @alexfauquette
106
+
107
+ #### `@mui/x-charts-pro@8.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
108
+
109
+ Same changes as in `@mui/x-charts@8.0.0-alpha.4`.
110
+
111
+ ### Tree View
112
+
113
+ #### `@mui/x-tree-view@8.0.0-alpha.4`
114
+
115
+ No changes, releasing to keep the versions in sync.
116
+
117
+ #### `@mui/x-tree-view-pro@8.0.0-alpha.4` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
118
+
119
+ Releasing to benefit from license package fix (#15814).
120
+
121
+ ### Docs
122
+
123
+ - [docs] Clean Joy and Browser custom field demos (#15707) @flaviendelangle
124
+ - [docs] Fix outdated link to handbook (#15855) @oliviertassinari
125
+ - [docs] Improve Pickers accessible DOM migration section description (#15596) @LukasTy
126
+ - [docs] Use `updateRows` method for list view demos (#15732) @KenanYusuf
127
+ - [docs] Use date library version from package dev dependencies for sandboxes (#15762) @LukasTy
128
+
129
+ ### Core
130
+
131
+ - [code-infra] Add Charts sandbox generation (#15830) @JCQuintas
132
+ - [code-infra] Remove redundant `@type/react-test-renderer` dep (#15766) @LukasTy
133
+ - [license] Use `console.log` for the error message on Codesandbox to avoid rendering error (#15814) @arminmeh
134
+
8
135
  ## 8.0.0-alpha.3
9
136
 
10
137
  _Dec 5, 2024_
@@ -567,6 +694,153 @@ Same changes as in `@mui/x-charts@8.0.0-alpha.0`.
567
694
  - [release] v8 preparation (#15054) @michelengelen
568
695
  - [test] Fix advanced list view regression test snapshot (#15260) @KenanYusuf
569
696
 
697
+ ## 7.23.2
698
+
699
+ _Dec 12, 2024_
700
+
701
+ We'd like to offer a big thanks to the 11 contributors who made this release possible. Here are some highlights ✨:
702
+
703
+ - 🌍 Improve Romanian and Turkish locales on the Data Grid
704
+ - 🌍 Improve Romanian locale on the Pickers
705
+ - 📚 Documentation improvements
706
+ - 🐞 Bugfixes
707
+
708
+ Special thanks go out to the community contributors who have helped make this release possible:
709
+ @ihsanberkozcan, @k-rajat19, @lhilgert9, @nusr, @rares985.
710
+
711
+ Following are all team members who have contributed to this release:
712
+ @alexfauquette, @arminmeh, @flaviendelangle, @JCQuintas, @KenanYusuf, @LukasTy.
713
+
714
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
715
+
716
+ ### Data Grid
717
+
718
+ #### `@mui/x-data-grid@7.23.2`
719
+
720
+ - [DataGrid] Fix "No rows" displaying when all rows are pinned (#15851) @nusr
721
+ - [DataGrid] Use `columnsManagement` slot (#15821) @k-rajat19
722
+ - [l10n] Improve Romanian (ro-RO) locale (#15751) @rares985
723
+ - [l10n] Improve Turkish (tr-TR) locale (#15748) @ihsanberkozcan
724
+
725
+ #### `@mui/x-data-grid-pro@7.23.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
726
+
727
+ Same changes as in `@mui/x-data-grid@7.23.2`, plus:
728
+
729
+ - [DataGridPro] Make Row reordering work with pagination (#15782) @k-rajat19
730
+
731
+ #### `@mui/x-data-grid-premium@7.23.2` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
732
+
733
+ Same changes as in `@mui/x-data-grid-pro@7.23.2`, plus:
734
+
735
+ - [DataGridPremium] Fix group column ignoring `valueOptions` for `singleSelect` column type (#15754) @arminmeh
736
+
737
+ ### Date and Time Pickers
738
+
739
+ #### `@mui/x-date-pickers@7.23.2`
740
+
741
+ - [l10n] Improve Romanian (ro-RO) locale (#15751) @rares985
742
+
743
+ #### `@mui/x-date-pickers-pro@7.23.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
744
+
745
+ Same changes as in `@mui/x-date-pickers@7.23.2`.
746
+
747
+ ### Charts
748
+
749
+ #### `@mui/x-charts@7.23.2`
750
+
751
+ - [charts] Fix key generation for the ChartsGrid (#15864) @alexfauquette
752
+ - [charts] Fix scatter dataset with missing data (#15804) @alexfauquette
753
+
754
+ #### `@mui/x-charts-pro@7.23.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
755
+
756
+ Same changes as in `@mui/x-charts@7.23.2`.
757
+
758
+ #### `@mui/x-tree-view@v7.23.2`
759
+
760
+ No changes, releasing to keep the versions in sync.
761
+
762
+ #### `@mui/x-tree-view-pro@7.23.2` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
763
+
764
+ Releasing to benefit from license package fix (#15818).
765
+
766
+ ### Docs
767
+
768
+ - [docs] Fix typo in charts axis documentation (#15746) @JCQuintas
769
+ - [docs] Improve Pickers accessible DOM structure description (#15752) @LukasTy
770
+ - [docs] Use `updateRows` method for list view demos (#15824) @KenanYusuf
771
+ - [docs] Use date library version from package dev dependencies for sandboxes (#15767) @LukasTy
772
+
773
+ ### Core
774
+
775
+ - [core] Add `@mui/x-tree-view-pro` to `releaseChangelog` (#15747) @flaviendelangle
776
+ - [license] Use `console.log` for the error message on Codesandbox to avoid rendering error (#15818) @arminmeh
777
+
778
+ ## 7.23.1
779
+
780
+ _Dec 5, 2024_
781
+
782
+ We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
783
+
784
+ - 🌍 Improve German locale on the Data Grid component
785
+ - 🐞 Bugfixes
786
+
787
+ Special thanks go out to the community contributors who have helped make this release possible:
788
+ @lhilgert9.
789
+
790
+ Following are all team members who have contributed to this release:
791
+ @arthurbalduini, @cherniavskii, @flaviendelangle, @JCQuintas, @LukasTy and @MBilalShafi.
792
+
793
+ <!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
794
+
795
+ ### Data Grid
796
+
797
+ #### `@mui/x-data-grid@7.23.1`
798
+
799
+ - [DataGrid] Make column autosizing work with flex columns (#15712) @cherniavskii
800
+ - [l10n] Improve German (de-DE) locale (#15641) @lhilgert9
801
+
802
+ #### `@mui/x-data-grid-pro@7.23.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
803
+
804
+ Same changes as in `@mui/x-data-grid@7.23.1`, plus:
805
+
806
+ - [DataGridPro] Cleanup pinned rows on removal (#15702) @cherniavskii
807
+
808
+ #### `@mui/x-data-grid-premium@7.23.1` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link 'Premium plan')
809
+
810
+ Same changes as in `@mui/x-data-grid-pro@7.23.1`.
811
+
812
+ ### Date and Time Pickers
813
+
814
+ #### `@mui/x-date-pickers@7.23.1`
815
+
816
+ - [TimePicker] Prevent mouse events after `touchend` event (#15430) @arthurbalduini
817
+
818
+ #### `@mui/x-date-pickers-pro@7.23.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
819
+
820
+ Same changes as in `@mui/x-date-pickers@7.23.1`.
821
+
822
+ ### Charts
823
+
824
+ #### `@mui/x-charts@7.23.1`
825
+
826
+ - [charts] Improve SVG `pattern` and `gradient` support (#15724) @JCQuintas
827
+
828
+ #### `@mui/x-charts-pro@7.23.1` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link 'Pro plan')
829
+
830
+ Same changes as in `@mui/x-charts@7.23.1`.
831
+
832
+ ### Docs
833
+
834
+ - [docs] Fix Pickers theme augmentation example (#15675) @LukasTy
835
+ - [docs] Remove duplicated warning (#15715) @cherniavskii
836
+ - [test] Force hover in headless Chrome (#15711) @cherniavskii
837
+ - [docs-infra] Bump `@mui/internal-markdown` to support nested demo imports (#15738) @alexfauquette
838
+ - [docs] Improve SEO titles for the Data Grid (#15695) @MBilalShafi
839
+
840
+ ### Core
841
+
842
+ - [core] Add `@mui/x-tree-view-pro` to `releaseChangelog` (#15747) @flaviendelangle
843
+
570
844
  ## 7.23.0
571
845
 
572
846
  _Nov 29, 2024_
@@ -701,6 +701,11 @@ DataGridRaw.propTypes = {
701
701
  * @default "margin"
702
702
  */
703
703
  rowSpacingType: PropTypes.oneOf(['border', 'margin']),
704
+ /**
705
+ * If `true`, the Data Grid will auto span the cells over the rows having the same value.
706
+ * @default false
707
+ */
708
+ rowSpanning: PropTypes.bool,
704
709
  /**
705
710
  * Override the height/width of the Data Grid inner scrollbar.
706
711
  */
@@ -746,11 +751,6 @@ DataGridRaw.propTypes = {
746
751
  * The system prop that allows defining system overrides as well as additional CSS styles.
747
752
  */
748
753
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
749
- /**
750
- * If `true`, the Data Grid will auto span the cells over the rows having the same value.
751
- * @default false
752
- */
753
- unstable_rowSpanning: PropTypes.bool,
754
754
  /**
755
755
  * If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
756
756
  * By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # MUI X Data Grid
2
2
 
3
3
  This package is the Community plan edition of the Data Grid components.
4
- It's part of [MUI X](https://mui.com/x/), an open-core extension of MUI Core, with advanced components.
4
+ It's part of [MUI X](https://mui.com/x/), an open-core extension of our Core libraries, with advanced components.
5
5
 
6
6
  ## Installation
7
7
 
@@ -144,7 +144,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
144
144
  disableColumnReorder
145
145
  } = rootProps;
146
146
  const rowReordering = rootProps.rowReordering;
147
- const heightEntry = useGridSelector(apiRef, () => _extends({}, apiRef.current.getRowHeightEntry(rowId)), objectShallowCompare);
147
+ const heightEntry = useGridSelector(apiRef, () => _extends({}, apiRef.current.getRowHeightEntry(rowId)), undefined, objectShallowCompare);
148
148
  const style = React.useMemo(() => {
149
149
  if (isNotVisible) {
150
150
  return {
@@ -89,6 +89,13 @@ function GridActionsCell(props) {
89
89
  const hideMenu = () => {
90
90
  setOpen(false);
91
91
  };
92
+ const toggleMenu = () => {
93
+ if (open) {
94
+ hideMenu();
95
+ } else {
96
+ showMenu();
97
+ }
98
+ };
92
99
  const handleTouchRippleRef = index => instance => {
93
100
  touchRippleRefs.current[index] = instance;
94
101
  };
@@ -159,7 +166,7 @@ function GridActionsCell(props) {
159
166
  "aria-controls": open ? menuId : undefined,
160
167
  role: "menuitem",
161
168
  size: "small",
162
- onClick: showMenu,
169
+ onClick: toggleMenu,
163
170
  touchRippleRef: handleTouchRippleRef(buttonId),
164
171
  tabIndex: focusedButtonIndex === iconButtons.length ? tabIndex : -1
165
172
  }, rootProps.slotProps?.baseIconButton, {
@@ -120,7 +120,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
120
120
  const result = apiRef.current.getCellParams(rowId, field);
121
121
  result.api = apiRef.current;
122
122
  return result;
123
- }, objectShallowCompare);
123
+ }, undefined, objectShallowCompare);
124
124
  const isSelected = useGridSelector(apiRef, () => apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
125
125
  id: rowId,
126
126
  field
@@ -2,13 +2,12 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { GridPanelWrapper } from "./GridPanelWrapper.js";
5
- import { GridColumnsManagement } from "../columnsManagement/index.js";
6
5
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
8
7
  function GridColumnsPanel(props) {
9
8
  const rootProps = useGridRootProps();
10
9
  return /*#__PURE__*/_jsx(GridPanelWrapper, _extends({}, props, {
11
- children: /*#__PURE__*/_jsx(GridColumnsManagement, _extends({}, rootProps.slotProps?.columnsManagement))
10
+ children: /*#__PURE__*/_jsx(rootProps.slots.columnsManagement, _extends({}, rootProps.slotProps?.columnsManagement))
12
11
  }));
13
12
  }
14
13
  process.env.NODE_ENV !== "production" ? GridColumnsPanel.propTypes = {
@@ -22,13 +22,17 @@ const GridPanelContentRoot = styled('div', {
22
22
  name: 'MuiDataGrid',
23
23
  slot: 'PanelContent',
24
24
  overridesResolver: (props, styles) => styles.panelContent
25
- })({
25
+ })(({
26
+ theme
27
+ }) => ({
26
28
  display: 'flex',
27
29
  flexDirection: 'column',
28
30
  overflow: 'auto',
29
31
  flex: '1 1',
30
- maxHeight: 400
31
- });
32
+ maxHeight: 400,
33
+ padding: theme.spacing(2.5, 1.5, 2, 1),
34
+ gap: theme.spacing(2.5)
35
+ }));
32
36
  function GridPanelContent(props) {
33
37
  const {
34
38
  className
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { SxProps, Theme } from '@mui/system';
2
+ import { SxProps, Theme } from '@mui/material/styles';
3
3
  declare function GridPanelFooter(props: React.HTMLAttributes<HTMLDivElement> & {
4
4
  sx?: SxProps<Theme>;
5
5
  }): React.JSX.Element;
@@ -4,7 +4,7 @@ const _excluded = ["className"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
- import { styled } from '@mui/system';
7
+ import { styled } from '@mui/material/styles';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
9
  import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
10
10
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
@@ -25,9 +25,10 @@ const GridPanelFooterRoot = styled('div', {
25
25
  })(({
26
26
  theme
27
27
  }) => ({
28
- padding: theme.spacing(0.5),
28
+ padding: theme.spacing(1),
29
29
  display: 'flex',
30
- justifyContent: 'space-between'
30
+ justifyContent: 'space-between',
31
+ borderTop: `1px solid ${theme.palette.divider}`
31
32
  }));
32
33
  function GridPanelFooter(props) {
33
34
  const {
@@ -39,27 +39,22 @@ const GridFilterFormRoot = styled('div', {
39
39
  theme
40
40
  }) => ({
41
41
  display: 'flex',
42
- padding: theme.spacing(1)
42
+ gap: theme.spacing(1.5)
43
43
  }));
44
44
  const FilterFormDeleteIcon = styled('div', {
45
45
  name: 'MuiDataGrid',
46
46
  slot: 'FilterFormDeleteIcon',
47
47
  overridesResolver: (_, styles) => styles.filterFormDeleteIcon
48
- })(({
49
- theme
50
- }) => ({
48
+ })({
51
49
  flexShrink: 0,
52
- justifyContent: 'flex-end',
53
- marginRight: theme.spacing(0.5),
54
- marginBottom: theme.spacing(0.2)
55
- }));
50
+ justifyContent: 'center'
51
+ });
56
52
  const FilterFormLogicOperatorInput = styled('div', {
57
53
  name: 'MuiDataGrid',
58
54
  slot: 'FilterFormLogicOperatorInput',
59
55
  overridesResolver: (_, styles) => styles.filterFormLogicOperatorInput
60
56
  })({
61
- minWidth: 55,
62
- marginRight: 5,
57
+ minWidth: 75,
63
58
  justifyContent: 'end'
64
59
  });
65
60
  const FilterFormColumnInput = styled('div', {
@@ -261,7 +256,6 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
261
256
  ownerState: rootProps
262
257
  }, other, {
263
258
  children: [/*#__PURE__*/_jsx(FilterFormDeleteIcon, _extends({
264
- variant: "standard",
265
259
  as: rootProps.slots.baseFormControl
266
260
  }, baseFormControlProps, deleteIconProps, {
267
261
  className: clsx(classes.deleteIcon, baseFormControlProps.className, deleteIconProps.className),
@@ -278,7 +272,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
278
272
  })
279
273
  }))
280
274
  })), /*#__PURE__*/_jsx(FilterFormLogicOperatorInput, _extends({
281
- variant: "standard",
275
+ variant: "outlined",
276
+ size: "small",
282
277
  as: rootProps.slots.baseFormControl
283
278
  }, baseFormControlProps, logicOperatorInputProps, {
284
279
  sx: [hasLogicOperatorColumn ? {
@@ -308,7 +303,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
308
303
  }), apiRef.current.getLocaleText(getLogicOperatorLocaleKey(logicOperator))))
309
304
  }))
310
305
  })), /*#__PURE__*/_jsxs(FilterFormColumnInput, _extends({
311
- variant: "standard",
306
+ variant: "outlined",
307
+ size: "small",
312
308
  as: rootProps.slots.baseFormControl
313
309
  }, baseFormControlProps, columnInputProps, {
314
310
  className: clsx(classes.columnInput, baseFormControlProps.className, columnInputProps.className),
@@ -333,7 +329,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
333
329
  }), getColumnLabel(col)))
334
330
  }))]
335
331
  })), /*#__PURE__*/_jsxs(FilterFormOperatorInput, _extends({
336
- variant: "standard",
332
+ variant: "outlined",
333
+ size: "small",
337
334
  as: rootProps.slots.baseFormControl
338
335
  }, baseFormControlProps, operatorInputProps, {
339
336
  className: clsx(classes.operatorInput, baseFormControlProps.className, operatorInputProps.className),
@@ -359,12 +356,15 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
359
356
  }), operator.label || apiRef.current.getLocaleText(`filterOperator${capitalize(operator.value)}`)))
360
357
  }))]
361
358
  })), /*#__PURE__*/_jsx(FilterFormValueInput, _extends({
362
- variant: "standard",
359
+ variant: "outlined",
360
+ size: "small",
363
361
  as: rootProps.slots.baseFormControl
364
362
  }, baseFormControlProps, valueInputPropsOther, {
365
363
  className: clsx(classes.valueInput, baseFormControlProps.className, valueInputPropsOther.className),
366
364
  ownerState: rootProps,
367
365
  children: currentOperator?.InputComponent ? /*#__PURE__*/_jsx(currentOperator.InputComponent, _extends({
366
+ variant: "outlined",
367
+ size: "small",
368
368
  apiRef: apiRef,
369
369
  item: item,
370
370
  applyValue: applyFilterChanges,
@@ -48,11 +48,11 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
48
48
  rows: [],
49
49
  rowSelection: true,
50
50
  rowSpacingType: 'margin',
51
+ rowSpanning: false,
51
52
  showCellVerticalBorder: false,
52
53
  showColumnVerticalBorder: false,
53
54
  sortingMode: 'client',
54
55
  sortingOrder: ['asc', 'desc', null],
55
56
  throttleRowsMs: 0,
56
- unstable_rowSpanning: false,
57
57
  virtualizeColumnsWithAutoRowHeight: false
58
58
  };
@@ -24,8 +24,8 @@ export const useGridStateInitialization = apiRef => {
24
24
  const updatedControlStateIds = [];
25
25
  Object.keys(controlStateMapRef.current).forEach(stateId => {
26
26
  const controlState = controlStateMapRef.current[stateId];
27
- const oldSubState = controlState.stateSelector(apiRef.current.state, apiRef.current.instanceId);
28
- const newSubState = controlState.stateSelector(newState, apiRef.current.instanceId);
27
+ const oldSubState = controlState.stateSelector(apiRef.current.state, undefined, apiRef.current.instanceId);
28
+ const newSubState = controlState.stateSelector(newState, undefined, apiRef.current.instanceId);
29
29
  if (newSubState === oldSubState) {
30
30
  return;
31
31
  }
@@ -57,7 +57,7 @@ export const useGridStateInitialization = apiRef => {
57
57
  hasPropChanged
58
58
  } = updatedControlStateIds[0];
59
59
  const controlState = controlStateMapRef.current[stateId];
60
- const model = controlState.stateSelector(newState, apiRef.current.instanceId);
60
+ const model = controlState.stateSelector(newState, undefined, apiRef.current.instanceId);
61
61
  if (controlState.propOnChange && hasPropChanged) {
62
62
  controlState.propOnChange(model, {
63
63
  reason,
@@ -4,9 +4,9 @@ import { GridStateCommunity } from '../../../models/gridStateCommunity';
4
4
  * @ignore - do not document.
5
5
  */
6
6
  export declare const gridColumnGroupingSelector: (state: GridStateCommunity) => import("./gridColumnGroupsInterfaces").GridColumnsGroupingState;
7
- export declare const gridColumnGroupsUnwrappedModelSelector: import("../../..").OutputSelector<GridStateCommunity, {
7
+ export declare const gridColumnGroupsUnwrappedModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, {
8
8
  [columnField: string]: string[];
9
9
  }>;
10
- export declare const gridColumnGroupsLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnGroupLookup>;
11
- export declare const gridColumnGroupsHeaderStructureSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridGroupingStructure[][]>;
12
- export declare const gridColumnGroupsHeaderMaxDepthSelector: import("../../..").OutputSelector<GridStateCommunity, number>;
10
+ export declare const gridColumnGroupsLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces").GridColumnGroupLookup>;
11
+ export declare const gridColumnGroupsHeaderStructureSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces").GridGroupingStructure[][]>;
12
+ export declare const gridColumnGroupsHeaderMaxDepthSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnGroupsInterfaces").GridColumnsGroupingState, number>;
@@ -1,3 +1,3 @@
1
1
  import { GridStateCommunity } from '../../../models/gridStateCommunity';
2
2
  export declare const gridColumnResizeSelector: (state: GridStateCommunity) => import("./columnResizeState").GridColumnResizeState;
3
- export declare const gridResizingColumnFieldSelector: import("../../..").OutputSelector<GridStateCommunity, string>;
3
+ export declare const gridResizingColumnFieldSelector: import("../../..").OutputSelector<GridStateCommunity, import("./columnResizeState").GridColumnResizeState, string>;
@@ -9,33 +9,33 @@ export declare const gridColumnsStateSelector: (state: GridStateCommunity) => im
9
9
  * Get an array of column fields in the order rendered on screen.
10
10
  * @category Columns
11
11
  */
12
- export declare const gridColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, string[]>;
12
+ export declare const gridColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, string[]>;
13
13
  /**
14
14
  * Get the columns as a lookup (an object containing the field for keys and the definition for values).
15
15
  * @category Columns
16
16
  */
17
- export declare const gridColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup>;
17
+ export declare const gridColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, GridColumnLookup>;
18
18
  /**
19
19
  * Get an array of column definitions in the order rendered on screen..
20
20
  * @category Columns
21
21
  */
22
- export declare const gridColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
22
+ export declare const gridColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup, import("../../../internals").GridStateColDef[]>;
23
23
  /**
24
24
  * Get the column visibility model, containing the visibility status of each column.
25
25
  * If a column is not registered in the model, it is visible.
26
26
  * @category Visible Columns
27
27
  */
28
- export declare const gridColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
28
+ export declare const gridColumnVisibilityModelSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnsState, import("./gridColumnsInterfaces").GridColumnVisibilityModel>;
29
29
  /**
30
30
  * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
31
31
  * @category Visible Columns
32
32
  */
33
- export declare const gridVisibleColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
33
+ export declare const gridVisibleColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("./gridColumnsInterfaces").GridColumnVisibilityModel, import("../../../internals").GridStateColDef[]>;
34
34
  /**
35
35
  * Get the field of each visible column.
36
36
  * @category Visible Columns
37
37
  */
38
- export declare const gridVisibleColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, string[]>;
38
+ export declare const gridVisibleColumnFieldsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], string[]>;
39
39
  /**
40
40
  * Get the visible pinned columns model.
41
41
  * @category Visible Columns
@@ -45,7 +45,7 @@ export declare const gridPinnedColumnsSelector: (state: GridStateCommunity) => G
45
45
  * Get the visible pinned columns.
46
46
  * @category Visible Columns
47
47
  */
48
- export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, {
48
+ export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, boolean, {
49
49
  left: import("../../../internals").GridStateColDef[];
50
50
  right: import("../../../internals").GridStateColDef[];
51
51
  }>;
@@ -53,25 +53,25 @@ export declare const gridVisiblePinnedColumnDefinitionsSelector: import("../../.
53
53
  * Get the left position in pixel of each visible columns relative to the left of the first column.
54
54
  * @category Visible Columns
55
55
  */
56
- export declare const gridColumnPositionsSelector: import("../../..").OutputSelector<GridStateCommunity, number[]>;
56
+ export declare const gridColumnPositionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], number[]>;
57
57
  /**
58
58
  * Get the summed width of all the visible columns.
59
59
  * @category Visible Columns
60
60
  */
61
- export declare const gridColumnsTotalWidthSelector: import("../../..").OutputSelector<GridStateCommunity, number>;
61
+ export declare const gridColumnsTotalWidthSelector: import("../../..").OutputSelector<GridStateCommunity, number[], number>;
62
62
  /**
63
63
  * Get the filterable columns as an array.
64
64
  * @category Columns
65
65
  */
66
- export declare const gridFilterableColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[]>;
66
+ export declare const gridFilterableColumnDefinitionsSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], import("../../../internals").GridStateColDef[]>;
67
67
  /**
68
68
  * Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
69
69
  * @category Columns
70
70
  */
71
- export declare const gridFilterableColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, GridColumnLookup>;
71
+ export declare const gridFilterableColumnLookupSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], GridColumnLookup>;
72
72
  /**
73
73
  * Checks if some column has a colSpan field.
74
74
  * @category Columns
75
75
  * @ignore - Do not document
76
76
  */
77
- export declare const gridHasColSpanSelector: import("../../..").OutputSelector<GridStateCommunity, boolean>;
77
+ export declare const gridHasColSpanSelector: import("../../..").OutputSelector<GridStateCommunity, import("../../../internals").GridStateColDef[], boolean>;