@mui/x-data-grid 7.18.0 → 7.20.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.
- package/CHANGELOG.md +213 -11
- package/DataGrid/DataGrid.js +12 -0
- package/components/cell/GridCell.js +7 -8
- package/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
- package/components/columnHeaders/GridColumnHeaderItem.js +1 -0
- package/components/columnSelection/GridCellCheckboxRenderer.js +12 -4
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/containers/GridRoot.js +1 -1
- package/components/containers/GridRootStyles.js +32 -23
- package/components/containers/GridToolbarContainer.js +1 -1
- package/components/menu/GridMenu.js +1 -1
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +1 -1
- package/components/panel/GridPanelContent.js +1 -1
- package/components/panel/GridPanelFooter.js +1 -1
- package/components/panel/GridPanelHeader.js +1 -1
- package/components/panel/GridPanelWrapper.js +1 -1
- package/components/panel/filterPanel/filterPanelUtils.d.ts +1 -1
- package/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/components/virtualization/GridBottomContainer.d.ts +1 -1
- package/components/virtualization/GridBottomContainer.js +18 -1
- package/components/virtualization/GridMainContainer.js +3 -1
- package/components/virtualization/GridTopContainer.d.ts +1 -1
- package/components/virtualization/GridTopContainer.js +1 -1
- package/components/virtualization/GridVirtualScrollbar.js +1 -7
- package/components/virtualization/GridVirtualScroller.js +1 -0
- package/components/virtualization/GridVirtualScrollerFiller.js +3 -4
- package/hooks/core/useGridRefs.js +4 -0
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +4 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnResize/columnResizeSelector.d.ts +1 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +12 -12
- package/hooks/features/columns/gridColumnsUtils.js +3 -2
- package/hooks/features/density/densitySelector.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.js +2 -2
- package/hooks/features/editing/useGridCellEditing.js +4 -2
- package/hooks/features/editing/useGridRowEditing.js +4 -2
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/events/useGridEvents.js +1 -0
- package/hooks/features/filter/gridFilterSelector.d.ts +17 -17
- package/hooks/features/filter/gridFilterUtils.js +1 -1
- package/hooks/features/focus/gridFocusStateSelector.d.ts +8 -8
- package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +3 -3
- package/hooks/features/keyboardNavigation/utils.d.ts +1 -1
- package/hooks/features/pagination/gridPaginationSelector.d.ts +9 -9
- package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +3 -3
- package/hooks/features/rowSelection/useGridRowSelection.d.ts +1 -1
- package/hooks/features/rowSelection/useGridRowSelection.js +105 -29
- package/hooks/features/rowSelection/utils.d.ts +10 -0
- package/hooks/features/rowSelection/utils.js +156 -1
- package/hooks/features/rows/gridRowSpanningSelectors.d.ts +3 -3
- package/hooks/features/rows/gridRowsSelector.d.ts +14 -14
- package/hooks/features/rows/gridRowsUtils.js +1 -1
- package/hooks/features/rows/useGridRowSpanning.js +1 -1
- package/hooks/features/rows/useGridRows.d.ts +1 -1
- package/hooks/features/rows/useGridRows.js +7 -1
- package/hooks/features/scroll/useGridScroll.js +26 -22
- package/hooks/features/sorting/gridSortingSelector.d.ts +4 -4
- package/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +5 -5
- package/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/hooks/utils/useGridApiContext.js +1 -1
- package/hooks/utils/useGridApiEventHandler.d.ts +1 -1
- package/hooks/utils/useGridApiEventHandler.js +1 -1
- package/hooks/utils/useGridConfiguration.js +1 -1
- package/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/hooks/utils/useGridVisibleRows.d.ts +2 -2
- package/index.d.ts +2 -2
- package/index.js +3 -3
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/joy/icons.js +0 -1
- package/locales/bgBG.js +8 -9
- package/locales/deDE.js +4 -4
- package/locales/frFR.js +4 -4
- package/locales/hrHR.d.ts +1 -1
- package/locales/hrHR.js +69 -46
- package/locales/jaJP.js +5 -6
- package/locales/ptPT.d.ts +1 -1
- package/locales/ptPT.js +4 -4
- package/locales/viVN.js +20 -20
- package/locales/zhHK.d.ts +1 -1
- package/models/api/gridApiCommunity.d.ts +1 -1
- package/models/api/gridCoreApi.d.ts +9 -1
- package/models/api/gridFilterApi.d.ts +1 -1
- package/models/events/gridEventLookup.d.ts +7 -0
- package/models/gridRowSelectionModel.d.ts +4 -0
- package/models/gridStateCommunity.d.ts +2 -2
- package/models/props/DataGridProps.d.ts +38 -10
- package/modern/DataGrid/DataGrid.js +12 -0
- package/modern/components/cell/GridCell.js +7 -8
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +1 -0
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +12 -4
- package/modern/components/containers/GridRoot.js +1 -1
- package/modern/components/containers/GridRootStyles.js +32 -23
- package/modern/components/containers/GridToolbarContainer.js +1 -1
- package/modern/components/menu/GridMenu.js +1 -1
- package/modern/components/panel/GridPanel.js +1 -1
- package/modern/components/panel/GridPanelContent.js +1 -1
- package/modern/components/panel/GridPanelFooter.js +1 -1
- package/modern/components/panel/GridPanelHeader.js +1 -1
- package/modern/components/panel/GridPanelWrapper.js +1 -1
- package/modern/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/modern/components/virtualization/GridBottomContainer.js +18 -1
- package/modern/components/virtualization/GridMainContainer.js +3 -1
- package/modern/components/virtualization/GridTopContainer.js +1 -1
- package/modern/components/virtualization/GridVirtualScrollbar.js +1 -7
- package/modern/components/virtualization/GridVirtualScroller.js +1 -0
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +3 -4
- package/modern/hooks/core/useGridRefs.js +4 -0
- package/modern/hooks/features/columns/gridColumnsUtils.js +3 -2
- package/modern/hooks/features/dimensions/useGridDimensions.js +2 -2
- package/modern/hooks/features/editing/useGridCellEditing.js +4 -2
- package/modern/hooks/features/editing/useGridRowEditing.js +4 -2
- package/modern/hooks/features/events/useGridEvents.js +1 -0
- package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +105 -29
- package/modern/hooks/features/rowSelection/utils.js +156 -1
- package/modern/hooks/features/rows/gridRowsUtils.js +1 -1
- package/modern/hooks/features/rows/useGridRowSpanning.js +1 -1
- package/modern/hooks/features/rows/useGridRows.js +7 -1
- package/modern/hooks/features/scroll/useGridScroll.js +26 -22
- package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/modern/hooks/utils/useGridApiContext.js +1 -1
- package/modern/hooks/utils/useGridApiEventHandler.js +1 -1
- package/modern/hooks/utils/useGridConfiguration.js +1 -1
- package/modern/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/modern/index.js +3 -3
- package/modern/internals/index.js +1 -0
- package/modern/joy/icons.js +0 -1
- package/modern/locales/bgBG.js +8 -9
- package/modern/locales/deDE.js +4 -4
- package/modern/locales/frFR.js +4 -4
- package/modern/locales/hrHR.js +69 -46
- package/modern/locales/jaJP.js +5 -6
- package/modern/locales/ptPT.js +4 -4
- package/modern/locales/viVN.js +20 -20
- package/modern/utils/createSelector.js +6 -0
- package/modern/utils/domUtils.js +1 -1
- package/node/DataGrid/DataGrid.js +12 -0
- package/node/components/cell/GridCell.js +7 -8
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderItem.js +1 -0
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +12 -4
- package/node/components/containers/GridRoot.js +1 -1
- package/node/components/containers/GridRootStyles.js +32 -23
- package/node/components/containers/GridToolbarContainer.js +1 -1
- package/node/components/menu/GridMenu.js +1 -1
- package/node/components/panel/GridPanel.js +1 -1
- package/node/components/panel/GridPanelContent.js +1 -1
- package/node/components/panel/GridPanelFooter.js +1 -1
- package/node/components/panel/GridPanelHeader.js +1 -1
- package/node/components/panel/GridPanelWrapper.js +1 -1
- package/node/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/node/components/virtualization/GridBottomContainer.js +18 -1
- package/node/components/virtualization/GridMainContainer.js +3 -1
- package/node/components/virtualization/GridTopContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScrollbar.js +1 -7
- package/node/components/virtualization/GridVirtualScroller.js +1 -0
- package/node/components/virtualization/GridVirtualScrollerFiller.js +3 -4
- package/node/hooks/core/useGridRefs.js +4 -0
- package/node/hooks/features/columns/gridColumnsUtils.js +3 -2
- package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
- package/node/hooks/features/editing/useGridCellEditing.js +4 -2
- package/node/hooks/features/editing/useGridRowEditing.js +4 -2
- package/node/hooks/features/events/useGridEvents.js +1 -0
- package/node/hooks/features/filter/gridFilterUtils.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +102 -26
- package/node/hooks/features/rowSelection/utils.js +160 -1
- package/node/hooks/features/rows/gridRowsUtils.js +1 -1
- package/node/hooks/features/rows/useGridRowSpanning.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +7 -1
- package/node/hooks/features/scroll/useGridScroll.js +26 -22
- package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/node/hooks/utils/useGridApiContext.js +1 -1
- package/node/hooks/utils/useGridApiEventHandler.js +1 -1
- package/node/hooks/utils/useGridConfiguration.js +1 -1
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/index.js +23 -15
- package/node/joy/icons.js +0 -1
- package/node/locales/bgBG.js +8 -9
- package/node/locales/deDE.js +4 -4
- package/node/locales/frFR.js +4 -4
- package/node/locales/hrHR.js +69 -46
- package/node/locales/jaJP.js +5 -6
- package/node/locales/ptPT.js +4 -4
- package/node/locales/viVN.js +20 -20
- package/node/utils/createSelector.js +6 -0
- package/node/utils/domUtils.js +1 -1
- package/package.json +4 -4
- package/utils/createSelector.js +6 -0
- package/utils/domUtils.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,206 @@
|
|
|
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.20.0
|
|
7
|
+
|
|
8
|
+
_Oct 11, 2024_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 14 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 📚 Updated ["What's new"](https://mui.com/x/whats-new/) page giving more detailed overview of the latest new features and other highlights
|
|
13
|
+
- 📚 New [collapsible column groups demo](https://mui.com/x/react-data-grid/column-groups/#collapsible-column-groups) for the Data Grid component
|
|
14
|
+
- 📚 New [Tree Item Customization](https://mui.com/x/react-tree-view/tree-item-customization/) documentation to learn how to use the new APIs to create custom Tree Items. The old APIs (`props.ContentComponent` and `props.ContentProps`) have been deprecated and will be removed in the new major version of the Tree View component.
|
|
15
|
+
- 🌍 Improve Japanese (ja-JP) locale on the Data Grid component
|
|
16
|
+
- 🐞 Bugfixes
|
|
17
|
+
- 📚 Other documentation improvements
|
|
18
|
+
|
|
19
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
20
|
+
@k-rajat19, @kalyan90, @uma-neko, @vfbiby.
|
|
21
|
+
Following are all team members who have contributed to this release: @alelthomas, @arminmeh, @arthurbalduini,
|
|
22
|
+
@cherniavskii, @flaviendelangle, @JCQuintas, @MBilalShafi, @noraleonte, @oliviertassinari, @samuelsycamore, @siriwatknp.
|
|
23
|
+
|
|
24
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
25
|
+
|
|
26
|
+
### Data Grid
|
|
27
|
+
|
|
28
|
+
#### `@mui/x-data-grid@7.20.0`
|
|
29
|
+
|
|
30
|
+
- [DataGrid] Add `onColumnHeaderContextMenu` event (#14734) @vfbiby
|
|
31
|
+
- [DataGrid] Avoid row spanning computation of outdated rows (#14902) @MBilalShafi
|
|
32
|
+
- [DataGrid] Fix scrollbar position not being updated after `scrollToIndexes` (#14888) @arminmeh
|
|
33
|
+
- [DataGrid] Pass `rowId` param to `processRowUpdate` (#14821) @k-rajat19
|
|
34
|
+
- [l10n] Improve Japanese (ja-JP) locale (#14870) @uma-neko
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid-pro@7.20.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
37
|
+
|
|
38
|
+
Same changes as in `@mui/x-data-grid@7.20.0`, plus:
|
|
39
|
+
|
|
40
|
+
- [DataGridPro] Fix wording on the `rowSelectionPropagation` JSDoc and doc section (#14907) @flaviendelangle
|
|
41
|
+
|
|
42
|
+
#### `@mui/x-data-grid-premium@7.20.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
43
|
+
|
|
44
|
+
Same changes as in `@mui/x-data-grid-pro@7.20.0`.
|
|
45
|
+
|
|
46
|
+
### Date and Time Pickers
|
|
47
|
+
|
|
48
|
+
#### `@mui/x-date-pickers@7.20.0`
|
|
49
|
+
|
|
50
|
+
- [pickers] Add `PageUp` and `PageDown` support for time components (#14812) @arthurbalduini
|
|
51
|
+
- [pickers] Fix regression on `PickerValidDate` (#14896) @flaviendelangle
|
|
52
|
+
- [pickers] Move the `DateFieldInPickerProps` interface to the `DatePicker` folder and rename it `DatePickerFieldProps` (same for time and date time) (#14828) @flaviendelangle
|
|
53
|
+
|
|
54
|
+
#### `@mui/x-date-pickers-pro@7.20.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
55
|
+
|
|
56
|
+
Same changes as in `@mui/x-date-pickers@7.20.0`.
|
|
57
|
+
|
|
58
|
+
### Charts
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-charts@7.20.0`
|
|
61
|
+
|
|
62
|
+
No changes since `@mui/x-charts@v7.19.0`.
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-charts-pro@7.0.0-beta.4` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
65
|
+
|
|
66
|
+
Same changes as in `@mui/x-charts@7.20.0`.
|
|
67
|
+
|
|
68
|
+
### Tree View
|
|
69
|
+
|
|
70
|
+
#### `@mui/x-tree-view@7.20.0`
|
|
71
|
+
|
|
72
|
+
- [TreeItem] Deprecate the `ContentComponent` and `ContentProps` props (#14908) @flaviendelangle
|
|
73
|
+
- [TreeView] Rework how items are being rendered in Rich Tree View components (#14749) @flaviendelangle
|
|
74
|
+
|
|
75
|
+
### Docs
|
|
76
|
+
|
|
77
|
+
- [docs] Update "What's new" page (#14858) @cherniavskii
|
|
78
|
+
- [docs] Add collapsible column groups demo (#14818) @cherniavskii
|
|
79
|
+
- [docs] Add custom columns panel demo (#14825) @cherniavskii
|
|
80
|
+
- [docs] Capitalize all instances of "Data Grid" (#14884) @samuelsycamore
|
|
81
|
+
- [docs] Divide charts `tooltip` and `highlighting` pages (#14824) @JCQuintas
|
|
82
|
+
- [docs] Document the `TreeItem2` component and the `useTreeItem2` hook (#14551) @noraleonte
|
|
83
|
+
- [docs] Fix column pinning for "Disable detail panel content scroll" section (#14854 and #14885) @kalyan90
|
|
84
|
+
- [docs] Fix detail panel demo not working well with pinned columns (#14883) @cherniavskii
|
|
85
|
+
- [docs] New recipe of a read-only field (#14606) @flaviendelangle
|
|
86
|
+
- [docs] Change demo name example (#14822) @alelthomas
|
|
87
|
+
|
|
88
|
+
### Core
|
|
89
|
+
|
|
90
|
+
- [core] Support `@mui/utils` v6 (#14867) @siriwatknp
|
|
91
|
+
- [code-infra] Remove deprecated `data-mui-test` in favour of `data-testid` (#14882) @JCQuintas
|
|
92
|
+
- [code-infra] Update renovate config and add a `vitest` group (#14856) @JCQuintas
|
|
93
|
+
- [test] Replace `waitFor()` with `act()` (#14851) @oliviertassinari
|
|
94
|
+
- [test] Restore "pnpm tc" CLI (#14852) @oliviertassinari
|
|
95
|
+
|
|
96
|
+
## 7.19.0
|
|
97
|
+
|
|
98
|
+
_Oct 4, 2024_
|
|
99
|
+
|
|
100
|
+
We'd like to offer a big thanks to the 26 contributors who made this release possible. Here are some highlights ✨:
|
|
101
|
+
|
|
102
|
+
- 🔁 Automatic parents and children selection for Data Grid ["tree data"](https://mui.com/x/react-data-grid/tree-data/) and ["row grouping"](https://mui.com/x/react-data-grid/row-grouping/) features
|
|
103
|
+
- 💫 Support `minHeight` and `maxHeight` on flex parent container for the Data Grid component
|
|
104
|
+
- 🎁 Export `publicAPI` from the `useTreeItem2Utils` hook for the Tree View
|
|
105
|
+
- 🌍 Improve Bulgarian (bg-BG), Croatian (hr-HR), French (fr-FR), German (de-DE), Japanese (ja-JP) and Vietnamese (vi-VN) locales and add Portuguese (pt-PT) locale on the Data Grid component
|
|
106
|
+
- 🌏 Improve Czech (cs-CZ) and Portuguese (pt-BR) locales and add Bulgarian (bg-BG), Croatian (hr-HR) and Portuguese (pt-PT) locales on the Pickers components
|
|
107
|
+
- 🐞 Bugfixes
|
|
108
|
+
- 📚 Documentation improvements
|
|
109
|
+
|
|
110
|
+
Special thanks goes out to our community contributors who have helped make this release possible:
|
|
111
|
+
@AWAIS97, @chucamphong, @GMchris, @JakubSveda, @k-rajat19, @k725, @lhilgert9, @ruiaraujo012, @Sanderand, @thomasmoon, @vallereaugabriel.
|
|
112
|
+
Following are all team members who have contributed to this release:
|
|
113
|
+
@alexfauquette, @arminmeh, @arthurbalduini, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @KenanYusuf, @MBilalShafi, @michelengelen, @noraleonte, @oliviertassinari, @romgrk, @sai6855, @samuelsycamore.
|
|
114
|
+
|
|
115
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
116
|
+
|
|
117
|
+
### Data Grid
|
|
118
|
+
|
|
119
|
+
#### `@mui/x-data-grid@7.19.0`
|
|
120
|
+
|
|
121
|
+
- [DataGrid] Fix column definition `undefined` value (#14456) @sai6855
|
|
122
|
+
- [DataGrid] Fix `checkboxSelectionVisibleOnly` reset the selection on filtering (#14677) @MBilalShafi
|
|
123
|
+
- [DataGrid] Fix background colors when `CSSVarsProvider` is used (#12901) @cherniavskii
|
|
124
|
+
- [DataGrid] Fix error when initializing aggregation with row spanning (#14710) @MBilalShafi
|
|
125
|
+
- [DataGrid] Fix scroll to cell logic for keyboard navigating cells and drag selection with pinned columns (#14550) @KenanYusuf
|
|
126
|
+
- [DataGrid] Support `minHeight` and `maxHeight` on flex parent container (#14614) @cherniavskii
|
|
127
|
+
- [l10n] Add missing Portuguese (pt-PT) translations (#14707) @ruiaraujo012
|
|
128
|
+
- [l10n] Improve Bulgarian (bg-BG) locale (#14451) @GMchris
|
|
129
|
+
- [l10n] Improve Croatian (hr-HR) locale (#14794) @arminmeh
|
|
130
|
+
- [l10n] Improve French (fr-FR) locale (#14750) @vallereaugabriel
|
|
131
|
+
- [l10n] Improve German (de-DE) locale (#14755) @lhilgert9
|
|
132
|
+
- [l10n] Improve Japanese (ja-JP) locale (#14381) @k725
|
|
133
|
+
- [l10n] Improve Vietnamese (vi-VN) locale (#14769) @chucamphong
|
|
134
|
+
|
|
135
|
+
#### `@mui/x-data-grid-pro@7.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
136
|
+
|
|
137
|
+
Same changes as in `@mui/x-data-grid@7.19.0`, plus:
|
|
138
|
+
|
|
139
|
+
- [DataGridPro] Fix dragging styles removal in column reorder (#14680) @k-rajat19
|
|
140
|
+
- [DataGridPro] Fix row pre-processing running with a stale data source (#14810) @MBilalShafi
|
|
141
|
+
- [DataGridPro] Fix `onRowsScrollEnd` not firing on very fast scrolling (#14171) @arminmeh
|
|
142
|
+
|
|
143
|
+
#### `@mui/x-data-grid-premium@7.19.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
144
|
+
|
|
145
|
+
Same changes as in `@mui/x-data-grid-pro@7.19.0`, plus:
|
|
146
|
+
|
|
147
|
+
- [DataGridPremium] Automatic parents and children selection (#13757) @MBilalShafi
|
|
148
|
+
|
|
149
|
+
### Date and Time Pickers
|
|
150
|
+
|
|
151
|
+
#### `@mui/x-date-pickers@7.19.0`
|
|
152
|
+
|
|
153
|
+
- [pickers] Fix left-right keyboard nav with `yearsOrder="desc"` and `direction="rtl"` (#14682) @thomasmoon
|
|
154
|
+
- [pickers] Improve `PickerValidDate` type (#14771) @flaviendelangle
|
|
155
|
+
- [pickers] Improve typing of the range pickers (#14716) @flaviendelangle
|
|
156
|
+
- [l10n] Add Bulgarian (bg-BG) locale (#14469) @GMchris
|
|
157
|
+
- [l10n] Add Croatian (hr-HR) locale (#14795) @arminmeh
|
|
158
|
+
- [l10n] Add Portuguese (pt-PT) locale (#14722) @ruiaraujo012
|
|
159
|
+
- [l10n] Improve Czech (cs-CZ) locale (#14732) @JakubSveda
|
|
160
|
+
- [l10n] Improve Portuguese (pt-BR) locale (#14725) @arthurbalduini
|
|
161
|
+
|
|
162
|
+
#### `@mui/x-date-pickers-pro@7.19.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
163
|
+
|
|
164
|
+
Same changes as in `@mui/x-date-pickers@7.19.0`.
|
|
165
|
+
|
|
166
|
+
### Charts
|
|
167
|
+
|
|
168
|
+
#### `@mui/x-charts@7.19.0`
|
|
169
|
+
|
|
170
|
+
- [charts] Fix `LineChart` area animation being stuck when resizing container (#14711) @alexfauquette
|
|
171
|
+
- [charts] Improve types and start using `warnOnce` (#14792) @JCQuintas
|
|
172
|
+
|
|
173
|
+
#### `@mui/x-charts-pro@7.0.0-beta.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
174
|
+
|
|
175
|
+
Same changes as in `@mui/x-charts@7.19.0`.
|
|
176
|
+
|
|
177
|
+
### Tree View
|
|
178
|
+
|
|
179
|
+
#### `@mui/x-tree-view@7.19.0`
|
|
180
|
+
|
|
181
|
+
- [TreeView] Apply experimental features in `getDefaultizedParams` instead of in the plugin render (#14661) @flaviendelangle
|
|
182
|
+
- [TreeView] Export `publicAPI` form `useTreeItem2Utils` (#14729) @noraleonte
|
|
183
|
+
- [TreeView] Fix cursor navigation interfering with browser shortcut keys (#14798) @sai6855
|
|
184
|
+
- [TreeView] Fix invalid test for items reordering (#14665) @flaviendelangle
|
|
185
|
+
- [TreeView] Remove `instance.getTreeItemIdAttribute` (#14667) @flaviendelangle
|
|
186
|
+
|
|
187
|
+
### Docs
|
|
188
|
+
|
|
189
|
+
- [docs] Added warning callout for Firefox reordering bug (#14516) @michelengelen
|
|
190
|
+
- [docs] Copyedit `pages.ts` navigation (#14782) @samuelsycamore
|
|
191
|
+
- [docs] Fix typo in row spanning doc (#14770) @flaviendelangle
|
|
192
|
+
- [docs] Fix typo in the Tree View migration guide to v7 (#14727) @Sanderand
|
|
193
|
+
- [docs] Fix typo in usage of Moment guide for UTC and timezones (#14780) @AWAIS97
|
|
194
|
+
- [docs] Fix what's new link to use absolute URL (#14543) @oliviertassinari
|
|
195
|
+
|
|
196
|
+
### Core
|
|
197
|
+
|
|
198
|
+
- [core] Fix class name composition order (#14775) @oliviertassinari
|
|
199
|
+
- [core] Replace minWidth, maxWidth with width (#14776) @oliviertassinari
|
|
200
|
+
- [code-infra] Remove custom playwright installation steps (#14728) @Janpot
|
|
201
|
+
- [code-infra] Replace or remove all instances of `e` identifier (#14724) @samuelsycamore
|
|
202
|
+
- [infra] Adds community contribution section to the changelog script (#14799) @michelengelen
|
|
203
|
+
- [infra] Fix line break in Stack Overflow message @oliviertassinari
|
|
204
|
+
- [test] Fix `Escape` event firing event (#14797) @oliviertassinari
|
|
205
|
+
|
|
6
206
|
## 7.18.0
|
|
7
207
|
|
|
8
208
|
_Sep 20, 2024_
|
|
@@ -11,7 +211,7 @@ We'd like to offer a big thanks to the 14 contributors who made this release pos
|
|
|
11
211
|
|
|
12
212
|
- 💫 Support [Row spanning](https://mui.com/x/react-data-grid/row-spanning/) on the Data Grid that automatically merges the consecutive cells in a column based on the cell value
|
|
13
213
|
|
|
14
|
-
<img width="600" src="https://github.com/user-attachments/assets/d32ec936-d238-4c92-9e1a-af6788d74cdf" alt="
|
|
214
|
+
<img width="600" src="https://github.com/user-attachments/assets/d32ec936-d238-4c92-9e1a-af6788d74cdf" alt="Data Grid row spanning" />
|
|
15
215
|
|
|
16
216
|
- ⏰ Support `date-fns` v4 (#14673) @LukasTy
|
|
17
217
|
- 🎉 Add option for Pickers to change the order of displayed years (#11780) @thomasmoon
|
|
@@ -450,7 +650,7 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
450
650
|
#### `@mui/x-data-grid@7.13.0`
|
|
451
651
|
|
|
452
652
|
- [DataGrid] Fix CSV export for `null` and `undefined` values (#14166) @k-rajat19
|
|
453
|
-
- [DataGrid] Fix error logged during skeleton loading with nested
|
|
653
|
+
- [DataGrid] Fix error logged during skeleton loading with nested Data Grid (#14186) @KenanYusuf
|
|
454
654
|
- [DataGrid] Remove needless check in `useGridStateInitialization` (#14181) @k-rajat19
|
|
455
655
|
- [DataGrid] Add recipe for persisting filters in local storage (#14208) @cherniavskii
|
|
456
656
|
- [l10n] Improve Vietnamese (vi-VN) locale (#14216) @hungnd-casso
|
|
@@ -568,6 +768,8 @@ Same changes as in `@mui/x-charts@7.12.1`, plus:
|
|
|
568
768
|
|
|
569
769
|
#### `@mui/x-tree-view@7.12.1`
|
|
570
770
|
|
|
771
|
+
No changes since `@mui/x-tree-view@7.12.0`.
|
|
772
|
+
|
|
571
773
|
### Docs
|
|
572
774
|
|
|
573
775
|
- [docs] Add a warning to promote the usage of `updateRows` (#14027) @MBilalShafi
|
|
@@ -1418,7 +1620,7 @@ Same changes as in `@mui/x-date-pickers@7.6.0`.
|
|
|
1418
1620
|
- [docs] Fix a small typo in property comment (#13245) @Janpot
|
|
1419
1621
|
- [docs] Improve the Data Grid FAQ page (#13258) @MBilalShafi
|
|
1420
1622
|
- [docs] Removes unused lines in TreeItem2 styling (#13264) @arthurbalduini
|
|
1421
|
-
- [docs] Small improvements on accessibility
|
|
1623
|
+
- [docs] Small improvements on accessibility Data Grid doc (#13233) @arthurbalduini
|
|
1422
1624
|
- [docs] Update Pickers demo configurations (#13303) @LukasTy
|
|
1423
1625
|
|
|
1424
1626
|
### Core
|
|
@@ -1432,7 +1634,7 @@ Same changes as in `@mui/x-date-pickers@7.6.0`.
|
|
|
1432
1634
|
- [test] Use test-utils from npm (#12880) @michaldudak
|
|
1433
1635
|
- [typescript] Remove duplicate `DateRangePosition` type in favor of `RangePosition` (#13288) @LukasTy
|
|
1434
1636
|
|
|
1435
|
-
##
|
|
1637
|
+
## 7.5.1
|
|
1436
1638
|
|
|
1437
1639
|
_May 23, 2024_
|
|
1438
1640
|
|
|
@@ -1492,7 +1694,7 @@ Same changes as in `@mui/x-date-pickers@7.5.1`.
|
|
|
1492
1694
|
- [code-infra] Run corepack enable on all CI jobs (#13205) @Janpot
|
|
1493
1695
|
- [code-infra] Use `nx` for lerna tasks (#13166) @LukasTy
|
|
1494
1696
|
|
|
1495
|
-
##
|
|
1697
|
+
## 7.5.0
|
|
1496
1698
|
|
|
1497
1699
|
_May 17, 2024_
|
|
1498
1700
|
|
|
@@ -2017,7 +2219,7 @@ Same changes as in `@mui/x-date-pickers@7.1.1`, plus:
|
|
|
2017
2219
|
- [docs] Fix typo in `getItemId` prop description (#12637) @flaviendelangle
|
|
2018
2220
|
- [docs] Make the Charts `margin` usage more visible (#12591) @alexfauquette
|
|
2019
2221
|
- [docs] Match IE 11 spacing with Material UI @oliviertassinari
|
|
2020
|
-
- [docs] Move
|
|
2222
|
+
- [docs] Move Data Grid interfaces to standard API page layout (#12016) @alexfauquette
|
|
2021
2223
|
- [docs] Remove ` around @default values (#12158) @alexfauquette
|
|
2022
2224
|
- [docs] Remove `day` from the default `dayOfWeekFormatter` function params (#12644) @LukasTy
|
|
2023
2225
|
- [docs] Use `TreeItem2` for icon expansion example on `RichTreeView` (#12563) @flaviendelangle
|
|
@@ -3458,7 +3660,7 @@ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.9`.
|
|
|
3458
3660
|
- [docs] Fix generated tree view API docs (#11737) @LukasTy
|
|
3459
3661
|
- [docs] Generate docs for Tree View slots (#11730) @flaviendelangle
|
|
3460
3662
|
- [docs] Improve codemod for v7 (#11650) @oliviertassinari
|
|
3461
|
-
- [docs] Improve
|
|
3663
|
+
- [docs] Improve Data Grid `pageSizeOptions` prop documentation (#11682) @oliviertassinari
|
|
3462
3664
|
- [docs] Parse markdown on API docs demo titles (#11728) @LukasTy
|
|
3463
3665
|
- [docs] Remove the description from the `className` prop (#11693) @oliviertassinari
|
|
3464
3666
|
- [docs] Uplift `SimpleTreeView` customization examples (#11424) @noraleonte
|
|
@@ -3546,8 +3748,8 @@ Same changes as in `@mui/x-date-pickers@7.0.0-alpha.8`.
|
|
|
3546
3748
|
- [docs] Fix parsing of `x-date-pickers-pro` demo adapter imports (#11628) @LukasTy
|
|
3547
3749
|
- [docs] Improve `git diff` format @oliviertassinari
|
|
3548
3750
|
- [docs] Push up the MUI X brand (#11533) @oliviertassinari
|
|
3549
|
-
- [docs] Remove old
|
|
3550
|
-
- [docs] Improve Server-side
|
|
3751
|
+
- [docs] Remove old Data Grid translation files (#11646) @cherniavskii
|
|
3752
|
+
- [docs] Improve Server-side Data Grid docs (#11589) @oliviertassinari
|
|
3551
3753
|
- [docs] Improve charts landing page (#11570) @oliviertassinari
|
|
3552
3754
|
|
|
3553
3755
|
### Core
|
|
@@ -4057,7 +4259,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
|
|
|
4057
4259
|
|
|
4058
4260
|
- The clipboard related exports `ignoreValueFormatterDuringExport` and `splitClipboardPastedText` are no longer prefixed with `unstable_`.
|
|
4059
4261
|
|
|
4060
|
-
- The deprecated constants `SUBMIT_FILTER_STROKE_TIME` and `SUBMIT_FILTER_DATE_STROKE_TIME` have been removed from the
|
|
4262
|
+
- The deprecated constants `SUBMIT_FILTER_STROKE_TIME` and `SUBMIT_FILTER_DATE_STROKE_TIME` have been removed from the Data Grid exports. Use the [`filterDebounceMs`](https://next.mui.com/x/api/data-grid/data-grid/#data-grid-prop-filterDebounceMs) prop to customize filter debounce time.
|
|
4061
4263
|
|
|
4062
4264
|
- The `slots.preferencesPanel` slot and the `slotProps.preferencesPanel` prop were removed. Use `slots.panel` and `slotProps.panel` instead.
|
|
4063
4265
|
|
|
@@ -4769,7 +4971,7 @@ A special shoutout to thank the 12 contributors who made this release possible.
|
|
|
4769
4971
|
- 🚀 First v7 alpha release
|
|
4770
4972
|
- ✨ Fix aggregation label not showing when `renderHeader` is used (#10961) @cherniavskii
|
|
4771
4973
|
- 📘 Server side data source [early documentation](https://mui.com/x/react-data-grid/server-side-data/)
|
|
4772
|
-
- 💫 New recipes added for the
|
|
4974
|
+
- 💫 New recipes added for the Data Grid
|
|
4773
4975
|
- 📈 `<ChartsReferenceLine />` component is now available
|
|
4774
4976
|
- 🌍 Add Basque (eu) locale, improve Czech (cs-CZ) and Spanish (es-ES) locales
|
|
4775
4977
|
- 🐞 Bugfixes
|
package/DataGrid/DataGrid.js
CHANGED
|
@@ -73,6 +73,11 @@ DataGridRaw.propTypes = {
|
|
|
73
73
|
/**
|
|
74
74
|
* If `true`, the Data Grid height is dynamic and follows the number of rows in the Data Grid.
|
|
75
75
|
* @default false
|
|
76
|
+
* @deprecated Use flex parent container instead: https://mui.com/x/react-data-grid/layout/#flex-parent-container
|
|
77
|
+
* @example
|
|
78
|
+
* <div style={{ display: 'flex', flexDirection: 'column' }}>
|
|
79
|
+
* <DataGrid />
|
|
80
|
+
* </div>
|
|
76
81
|
*/
|
|
77
82
|
autoHeight: PropTypes.bool,
|
|
78
83
|
/**
|
|
@@ -433,6 +438,12 @@ DataGridRaw.propTypes = {
|
|
|
433
438
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
434
439
|
*/
|
|
435
440
|
onColumnHeaderClick: PropTypes.func,
|
|
441
|
+
/**
|
|
442
|
+
* Callback fired when a contextmenu event comes from a column header element.
|
|
443
|
+
* @param {GridColumnHeaderParams} params With all properties from [[GridColumnHeaderParams]].
|
|
444
|
+
* @param {MuiEvent<React.MouseEvent>} event The event object.
|
|
445
|
+
*/
|
|
446
|
+
onColumnHeaderContextMenu: PropTypes.func,
|
|
436
447
|
/**
|
|
437
448
|
* Callback fired when a double click event comes from a column header element.
|
|
438
449
|
* @param {GridColumnHeaderParams} params With all properties from [[GridColumnHeaderParams]].
|
|
@@ -650,6 +661,7 @@ DataGridRaw.propTypes = {
|
|
|
650
661
|
* @template R
|
|
651
662
|
* @param {R} newRow Row object with the new values.
|
|
652
663
|
* @param {R} oldRow Row object with the old values.
|
|
664
|
+
* @param {{ rowId: GridRowId }} params Additional parameters.
|
|
653
665
|
* @returns {Promise<R> | R} The final values to update the row.
|
|
654
666
|
*/
|
|
655
667
|
processRowUpdate: PropTypes.func,
|
|
@@ -118,11 +118,11 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
118
118
|
const result = apiRef.current.getCellParams(rowId, field);
|
|
119
119
|
result.api = apiRef.current;
|
|
120
120
|
return result;
|
|
121
|
-
} catch (
|
|
122
|
-
if (
|
|
121
|
+
} catch (error) {
|
|
122
|
+
if (error instanceof MissingRowIdError) {
|
|
123
123
|
return EMPTY_CELL_PARAMS;
|
|
124
124
|
}
|
|
125
|
-
throw
|
|
125
|
+
throw error;
|
|
126
126
|
}
|
|
127
127
|
}, objectShallowCompare);
|
|
128
128
|
const isSelected = useGridSelector(apiRef, () => apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
|
|
@@ -255,10 +255,9 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
255
255
|
return /*#__PURE__*/_jsx("div", {
|
|
256
256
|
"data-colindex": colIndex,
|
|
257
257
|
role: "presentation",
|
|
258
|
-
style: _extends({
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
})
|
|
258
|
+
style: _extends({
|
|
259
|
+
width: 'var(--width)'
|
|
260
|
+
}, style)
|
|
262
261
|
});
|
|
263
262
|
}
|
|
264
263
|
if (cellParams === EMPTY_CELL_PARAMS) {
|
|
@@ -315,7 +314,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
315
314
|
};
|
|
316
315
|
return /*#__PURE__*/_jsx("div", _extends({
|
|
317
316
|
ref: handleRef,
|
|
318
|
-
className: clsx(
|
|
317
|
+
className: clsx(classes.root, classNames, className),
|
|
319
318
|
role: "gridcell",
|
|
320
319
|
"data-field": field,
|
|
321
320
|
"data-colindex": colIndex,
|
|
@@ -36,7 +36,7 @@ export const GridBaseColumnHeaders = /*#__PURE__*/React.forwardRef(function Grid
|
|
|
36
36
|
const classes = useUtilityClasses(rootProps);
|
|
37
37
|
return /*#__PURE__*/_jsx(GridColumnHeadersRoot, _extends({
|
|
38
38
|
ref: ref,
|
|
39
|
-
className: clsx(
|
|
39
|
+
className: clsx(classes.root, className),
|
|
40
40
|
ownerState: rootProps
|
|
41
41
|
}, other, {
|
|
42
42
|
role: "presentation"
|
|
@@ -92,6 +92,7 @@ function GridColumnHeaderItem(props) {
|
|
|
92
92
|
}, [apiRef, colDef.field]);
|
|
93
93
|
const mouseEventsHandlers = React.useMemo(() => ({
|
|
94
94
|
onClick: publish('columnHeaderClick'),
|
|
95
|
+
onContextMenu: publish('columnHeaderContextMenu'),
|
|
95
96
|
onDoubleClick: publish('columnHeaderDoubleClick'),
|
|
96
97
|
onMouseOver: publish('columnHeaderOver'),
|
|
97
98
|
// TODO remove as it's not used
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["field", "id", "
|
|
3
|
+
const _excluded = ["field", "id", "formattedValue", "row", "rowNode", "colDef", "isEditable", "cellMode", "hasFocus", "tabIndex", "api"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
7
7
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
8
8
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
9
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
|
+
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
11
|
+
import { getCheckboxPropsSelector } from "../../hooks/features/rowSelection/utils.js";
|
|
10
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
13
|
const useUtilityClasses = ownerState => {
|
|
12
14
|
const {
|
|
@@ -21,7 +23,6 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
21
23
|
const {
|
|
22
24
|
field,
|
|
23
25
|
id,
|
|
24
|
-
value: isChecked,
|
|
25
26
|
rowNode,
|
|
26
27
|
hasFocus,
|
|
27
28
|
tabIndex
|
|
@@ -69,21 +70,28 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
69
70
|
event.stopPropagation();
|
|
70
71
|
}
|
|
71
72
|
}, []);
|
|
73
|
+
const isSelectable = apiRef.current.isRowSelectable(id);
|
|
74
|
+
const checkboxPropsSelector = getCheckboxPropsSelector(id, rootProps.rowSelectionPropagation?.parents ?? false);
|
|
75
|
+
const {
|
|
76
|
+
isIndeterminate,
|
|
77
|
+
isChecked
|
|
78
|
+
} = useGridSelector(apiRef, checkboxPropsSelector);
|
|
72
79
|
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
73
80
|
return null;
|
|
74
81
|
}
|
|
75
|
-
const isSelectable = apiRef.current.isRowSelectable(id);
|
|
76
82
|
const label = apiRef.current.getLocaleText(isChecked ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
83
|
+
const checked = rootProps.indeterminateCheckboxAction === 'select' ? isChecked && !isIndeterminate : isChecked;
|
|
77
84
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
78
85
|
ref: handleRef,
|
|
79
86
|
tabIndex: tabIndex,
|
|
80
|
-
checked:
|
|
87
|
+
checked: checked,
|
|
81
88
|
onChange: handleChange,
|
|
82
89
|
className: classes.root,
|
|
83
90
|
inputProps: {
|
|
84
91
|
'aria-label': label
|
|
85
92
|
},
|
|
86
93
|
onKeyDown: handleKeyDown,
|
|
94
|
+
indeterminate: isIndeterminate,
|
|
87
95
|
disabled: !isSelectable,
|
|
88
96
|
touchRippleRef: rippleRef /* FIXME: typing error */
|
|
89
97
|
}, rootProps.slotProps?.baseCheckbox, other));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { GridColumnHeaderParams } from '../../models/params/gridColumnHeaderParams';
|
|
3
|
-
declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams<import("
|
|
3
|
+
declare const GridHeaderCheckbox: React.ForwardRefExoticComponent<GridColumnHeaderParams<import("../..").GridValidRowModel, any, any> & React.RefAttributes<HTMLButtonElement>>;
|
|
4
4
|
export { GridHeaderCheckbox };
|
|
@@ -46,7 +46,7 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
|
|
|
46
46
|
}
|
|
47
47
|
return /*#__PURE__*/_jsx(GridRootStyles, _extends({
|
|
48
48
|
ref: handleRef,
|
|
49
|
-
className: clsx(
|
|
49
|
+
className: clsx(classes.root, className),
|
|
50
50
|
ownerState: ownerState
|
|
51
51
|
}, other));
|
|
52
52
|
});
|
|
@@ -170,14 +170,28 @@ export const GridRootStyles = styled('div', {
|
|
|
170
170
|
const hoverOpacity = (t.vars || t).palette.action.hoverOpacity;
|
|
171
171
|
const hoverColor = (t.vars || t).palette.action.hover;
|
|
172
172
|
const selectedOpacity = (t.vars || t).palette.action.selectedOpacity;
|
|
173
|
+
const selectedHoverOpacity = t.vars ? `calc(${hoverOpacity} + ${selectedOpacity})` // TODO: Improve type
|
|
174
|
+
: hoverOpacity + selectedOpacity;
|
|
173
175
|
const selectedBackground = t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / ${selectedOpacity})` : alpha(t.palette.primary.main, selectedOpacity);
|
|
174
|
-
const selectedHoverBackground = t.vars ? `rgba(${t.vars.palette.primary.mainChannel} /
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
const selectedHoverBackground = t.vars ? `rgba(${t.vars.palette.primary.mainChannel} / ${selectedHoverOpacity})` : alpha(t.palette.primary.main, selectedHoverOpacity);
|
|
177
|
+
const blendFn = t.vars ? blendCssVars : blend;
|
|
178
|
+
const getPinnedBackgroundStyles = backgroundColor => ({
|
|
179
|
+
[`& .${c['cell--pinnedLeft']}, & .${c['cell--pinnedRight']}`]: {
|
|
180
|
+
backgroundColor,
|
|
181
|
+
'&.Mui-selected': {
|
|
182
|
+
backgroundColor: blendFn(backgroundColor, selectedBackground, selectedOpacity),
|
|
183
|
+
'&:hover': {
|
|
184
|
+
backgroundColor: blendFn(backgroundColor, selectedBackground, selectedHoverOpacity)
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
const pinnedBackgroundColor = blendFn(pinnedBackground, hoverColor, hoverOpacity);
|
|
190
|
+
const pinnedHoverStyles = getPinnedBackgroundStyles(pinnedBackgroundColor);
|
|
191
|
+
const pinnedSelectedBackgroundColor = blendFn(pinnedBackground, selectedBackground, selectedOpacity);
|
|
192
|
+
const pinnedSelectedStyles = getPinnedBackgroundStyles(pinnedSelectedBackgroundColor);
|
|
193
|
+
const pinnedSelectedHoverBackgroundColor = blendFn(pinnedBackground, selectedHoverBackground, selectedHoverOpacity);
|
|
194
|
+
const pinnedSelectedHoverStyles = getPinnedBackgroundStyles(pinnedSelectedHoverBackgroundColor);
|
|
181
195
|
const selectedStyles = {
|
|
182
196
|
backgroundColor: selectedBackground,
|
|
183
197
|
'&:hover': {
|
|
@@ -617,24 +631,15 @@ export const GridRootStyles = styled('div', {
|
|
|
617
631
|
[`& .${c['cell--pinnedLeft']}, & .${c['cell--pinnedRight']}`]: {
|
|
618
632
|
position: 'sticky',
|
|
619
633
|
zIndex: 3,
|
|
620
|
-
background: 'var(--DataGrid-pinnedBackground)'
|
|
634
|
+
background: 'var(--DataGrid-pinnedBackground)',
|
|
635
|
+
'&.Mui-selected': {
|
|
636
|
+
backgroundColor: pinnedSelectedBackgroundColor
|
|
637
|
+
}
|
|
621
638
|
},
|
|
622
639
|
[`& .${c.virtualScrollerContent} .${c.row}`]: {
|
|
623
|
-
'&:hover':
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
}
|
|
627
|
-
},
|
|
628
|
-
[`&.Mui-selected`]: {
|
|
629
|
-
[`& .${c['cell--pinnedLeft']}, & .${c['cell--pinnedRight']}`]: {
|
|
630
|
-
backgroundColor: pinnedSelectedBackground
|
|
631
|
-
},
|
|
632
|
-
'&:hover': {
|
|
633
|
-
[`& .${c['cell--pinnedLeft']}, & .${c['cell--pinnedRight']}`]: {
|
|
634
|
-
backgroundColor: pinnedSelectedHoverBackground
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
}
|
|
640
|
+
'&:hover': pinnedHoverStyles,
|
|
641
|
+
'&.Mui-selected': pinnedSelectedStyles,
|
|
642
|
+
'&.Mui-selected:hover': pinnedSelectedHoverStyles
|
|
638
643
|
},
|
|
639
644
|
[`& .${c.cellOffsetLeft}`]: {
|
|
640
645
|
flex: '0 0 auto',
|
|
@@ -747,4 +752,8 @@ function blend(background, overlay, opacity, gamma = 1) {
|
|
|
747
752
|
type: 'rgb',
|
|
748
753
|
values: rgb
|
|
749
754
|
});
|
|
755
|
+
}
|
|
756
|
+
const removeOpacity = color => `rgb(from ${color} r g b / 1)`;
|
|
757
|
+
function blendCssVars(background, overlay, opacity) {
|
|
758
|
+
return `color-mix(in srgb,${background}, ${removeOpacity(overlay)} calc(${opacity} * 100%))`;
|
|
750
759
|
}
|
|
@@ -44,7 +44,7 @@ const GridToolbarContainer = /*#__PURE__*/React.forwardRef(function GridToolbarC
|
|
|
44
44
|
}
|
|
45
45
|
return /*#__PURE__*/_jsx(GridToolbarContainerRoot, _extends({
|
|
46
46
|
ref: ref,
|
|
47
|
-
className: clsx(
|
|
47
|
+
className: clsx(classes.root, className),
|
|
48
48
|
ownerState: rootProps
|
|
49
49
|
}, other, {
|
|
50
50
|
children: children
|
|
@@ -85,7 +85,7 @@ function GridMenu(props) {
|
|
|
85
85
|
};
|
|
86
86
|
return /*#__PURE__*/_jsx(GridMenuRoot, _extends({
|
|
87
87
|
as: rootProps.slots.basePopper,
|
|
88
|
-
className: clsx(
|
|
88
|
+
className: clsx(classes.root, className),
|
|
89
89
|
ownerState: rootProps,
|
|
90
90
|
open: open,
|
|
91
91
|
anchorEl: target,
|
|
@@ -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
|
|
19
|
+
declare const GridPanelRoot: import("@emotion/styled").StyledComponent<Pick<import("@mui/material").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" | "componentsProps" | "placement" | "disablePortal" | "modifiers" | "anchorEl" | "keepMounted" | "popperOptions" | "popperRef" | "slotProps" | "slots"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
|
|
20
20
|
ownerState: OwnerState;
|
|
21
21
|
}, {}, {}>;
|
|
22
22
|
declare const GridPanel: React.ForwardRefExoticComponent<Omit<GridPanelProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -84,7 +84,7 @@ const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
84
84
|
return /*#__PURE__*/_jsx(GridPanelRoot, _extends({
|
|
85
85
|
ref: ref,
|
|
86
86
|
placement: "bottom-start",
|
|
87
|
-
className: clsx(
|
|
87
|
+
className: clsx(classes.panel, className),
|
|
88
88
|
ownerState: rootProps,
|
|
89
89
|
anchorEl: anchorEl,
|
|
90
90
|
modifiers: modifiers
|
|
@@ -37,7 +37,7 @@ function GridPanelContent(props) {
|
|
|
37
37
|
const rootProps = useGridRootProps();
|
|
38
38
|
const classes = useUtilityClasses(rootProps);
|
|
39
39
|
return /*#__PURE__*/_jsx(GridPanelContentRoot, _extends({
|
|
40
|
-
className: clsx(
|
|
40
|
+
className: clsx(classes.root, className),
|
|
41
41
|
ownerState: rootProps
|
|
42
42
|
}, other));
|
|
43
43
|
}
|
|
@@ -37,7 +37,7 @@ function GridPanelFooter(props) {
|
|
|
37
37
|
const rootProps = useGridRootProps();
|
|
38
38
|
const classes = useUtilityClasses(rootProps);
|
|
39
39
|
return /*#__PURE__*/_jsx(GridPanelFooterRoot, _extends({
|
|
40
|
-
className: clsx(
|
|
40
|
+
className: clsx(classes.root, className),
|
|
41
41
|
ownerState: rootProps
|
|
42
42
|
}, other));
|
|
43
43
|
}
|