@mui/x-data-grid 7.20.0 → 7.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/CHANGELOG.md +200 -31
  2. package/DataGrid/DataGrid.js +1 -0
  3. package/DataGrid/index.d.ts +0 -1
  4. package/DataGrid/index.js +1 -2
  5. package/DataGrid/useDataGridComponent.js +4 -1
  6. package/DataGrid/useDataGridProps.d.ts +1 -5
  7. package/DataGrid/useDataGridProps.js +3 -62
  8. package/components/GridPagination.js +1 -0
  9. package/components/GridRow.js +25 -36
  10. package/components/base/GridOverlays.js +8 -0
  11. package/components/cell/GridBooleanCell.d.ts +3 -3
  12. package/components/cell/GridBooleanCell.js +11 -1
  13. package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  14. package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  15. package/components/containers/GridRootStyles.js +5 -2
  16. package/components/menu/columnMenu/GridColumnMenu.js +32 -0
  17. package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  18. package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  19. package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  20. package/components/toolbar/GridToolbar.js +2 -3
  21. package/components/toolbar/GridToolbarExport.d.ts +9 -3
  22. package/components/toolbar/GridToolbarExport.js +43 -3
  23. package/components/toolbar/GridToolbarFilterButton.js +1 -2
  24. package/components/virtualization/GridBottomContainer.js +0 -17
  25. package/components/virtualization/GridMainContainer.js +2 -1
  26. package/components/virtualization/GridVirtualScrollbar.js +4 -0
  27. package/components/virtualization/GridVirtualScroller.js +4 -2
  28. package/constants/dataGridPropsDefaultValues.d.ts +5 -0
  29. package/constants/dataGridPropsDefaultValues.js +60 -0
  30. package/constants/gridClasses.d.ts +5 -0
  31. package/constants/gridClasses.js +1 -1
  32. package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +6 -1
  33. package/hooks/features/clipboard/useGridClipboard.js +2 -1
  34. package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  35. package/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  36. package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
  37. package/hooks/features/columns/gridColumnsUtils.js +3 -0
  38. package/hooks/features/dimensions/useGridDimensions.js +4 -2
  39. package/hooks/features/focus/useGridFocus.js +18 -3
  40. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  41. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  42. package/hooks/features/listView/gridListViewSelectors.d.ts +5 -0
  43. package/hooks/features/listView/gridListViewSelectors.js +4 -0
  44. package/hooks/features/listView/useGridListView.d.ts +10 -0
  45. package/hooks/features/listView/useGridListView.js +54 -0
  46. package/hooks/features/pagination/gridPaginationSelector.js +2 -1
  47. package/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  48. package/hooks/features/rowSelection/utils.js +1 -1
  49. package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +16 -0
  50. package/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
  51. package/hooks/features/rows/gridRowsUtils.d.ts +3 -0
  52. package/hooks/features/rows/gridRowsUtils.js +14 -1
  53. package/hooks/features/rows/useGridParamsApi.d.ts +2 -1
  54. package/hooks/features/rows/useGridParamsApi.js +4 -3
  55. package/hooks/features/rows/useGridRowsMeta.js +135 -154
  56. package/hooks/features/scroll/useGridScroll.d.ts +1 -1
  57. package/hooks/features/scroll/useGridScroll.js +3 -2
  58. package/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
  59. package/hooks/utils/useGridApiMethod.js +2 -1
  60. package/index.d.ts +1 -0
  61. package/index.js +2 -1
  62. package/internals/index.d.ts +2 -1
  63. package/internals/index.js +2 -1
  64. package/joy/joySlots.js +45 -27
  65. package/locales/daDK.js +5 -6
  66. package/locales/itIT.js +27 -28
  67. package/locales/ptBR.js +4 -4
  68. package/material/index.js +4 -0
  69. package/models/api/gridRowsMetaApi.d.ts +15 -14
  70. package/models/colDef/gridColDef.d.ts +6 -0
  71. package/models/colDef/index.d.ts +1 -1
  72. package/models/gridApiCaches.d.ts +2 -0
  73. package/models/gridExport.d.ts +1 -1
  74. package/models/gridSlotsComponent.d.ts +10 -0
  75. package/models/gridSlotsComponentsProps.d.ts +9 -0
  76. package/models/gridStateCommunity.d.ts +2 -0
  77. package/models/props/DataGridProps.d.ts +14 -3
  78. package/modern/DataGrid/DataGrid.js +1 -0
  79. package/modern/DataGrid/index.js +1 -2
  80. package/modern/DataGrid/useDataGridComponent.js +4 -1
  81. package/modern/DataGrid/useDataGridProps.js +3 -62
  82. package/modern/components/GridPagination.js +1 -0
  83. package/modern/components/GridRow.js +25 -36
  84. package/modern/components/base/GridOverlays.js +8 -0
  85. package/modern/components/cell/GridBooleanCell.js +11 -1
  86. package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  87. package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  88. package/modern/components/containers/GridRootStyles.js +5 -2
  89. package/modern/components/menu/columnMenu/GridColumnMenu.js +32 -0
  90. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  91. package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  92. package/modern/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  93. package/modern/components/toolbar/GridToolbar.js +2 -3
  94. package/modern/components/toolbar/GridToolbarExport.js +43 -3
  95. package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
  96. package/modern/components/virtualization/GridBottomContainer.js +0 -17
  97. package/modern/components/virtualization/GridMainContainer.js +2 -1
  98. package/modern/components/virtualization/GridVirtualScrollbar.js +4 -0
  99. package/modern/components/virtualization/GridVirtualScroller.js +4 -2
  100. package/modern/constants/dataGridPropsDefaultValues.js +60 -0
  101. package/modern/constants/gridClasses.js +1 -1
  102. package/modern/hooks/features/clipboard/useGridClipboard.js +2 -1
  103. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  104. package/modern/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  105. package/modern/hooks/features/columns/gridColumnsUtils.js +3 -0
  106. package/modern/hooks/features/dimensions/useGridDimensions.js +4 -2
  107. package/modern/hooks/features/focus/useGridFocus.js +18 -3
  108. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  109. package/modern/hooks/features/listView/gridListViewSelectors.js +4 -0
  110. package/modern/hooks/features/listView/useGridListView.js +54 -0
  111. package/modern/hooks/features/pagination/gridPaginationSelector.js +2 -1
  112. package/modern/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  113. package/modern/hooks/features/rowSelection/utils.js +1 -1
  114. package/modern/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
  115. package/modern/hooks/features/rows/gridRowsUtils.js +14 -1
  116. package/modern/hooks/features/rows/useGridParamsApi.js +4 -3
  117. package/modern/hooks/features/rows/useGridRowsMeta.js +135 -154
  118. package/modern/hooks/features/scroll/useGridScroll.js +3 -2
  119. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
  120. package/modern/hooks/utils/useGridApiMethod.js +2 -1
  121. package/modern/index.js +2 -1
  122. package/modern/internals/index.js +2 -1
  123. package/modern/joy/joySlots.js +45 -27
  124. package/modern/locales/daDK.js +5 -6
  125. package/modern/locales/itIT.js +27 -28
  126. package/modern/locales/ptBR.js +4 -4
  127. package/modern/material/index.js +4 -0
  128. package/modern/utils/ResizeObserver.js +10 -0
  129. package/modern/utils/keyboardUtils.js +12 -4
  130. package/node/DataGrid/DataGrid.js +1 -0
  131. package/node/DataGrid/index.js +1 -12
  132. package/node/DataGrid/useDataGridComponent.js +4 -1
  133. package/node/DataGrid/useDataGridProps.js +6 -65
  134. package/node/components/GridPagination.js +1 -0
  135. package/node/components/GridRow.js +25 -36
  136. package/node/components/base/GridOverlays.js +8 -0
  137. package/node/components/cell/GridBooleanCell.js +11 -1
  138. package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
  139. package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
  140. package/node/components/containers/GridRootStyles.js +5 -2
  141. package/node/components/menu/columnMenu/GridColumnMenu.js +32 -0
  142. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
  143. package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
  144. package/node/components/panel/filterPanel/GridFilterInputValue.js +2 -2
  145. package/node/components/toolbar/GridToolbar.js +2 -3
  146. package/node/components/toolbar/GridToolbarExport.js +40 -0
  147. package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
  148. package/node/components/virtualization/GridBottomContainer.js +0 -17
  149. package/node/components/virtualization/GridMainContainer.js +2 -1
  150. package/node/components/virtualization/GridVirtualScrollbar.js +4 -0
  151. package/node/components/virtualization/GridVirtualScroller.js +4 -2
  152. package/node/constants/dataGridPropsDefaultValues.js +66 -0
  153. package/node/constants/gridClasses.js +1 -1
  154. package/node/hooks/features/clipboard/useGridClipboard.js +2 -1
  155. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
  156. package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
  157. package/node/hooks/features/columns/gridColumnsUtils.js +3 -0
  158. package/node/hooks/features/dimensions/useGridDimensions.js +3 -1
  159. package/node/hooks/features/focus/useGridFocus.js +18 -3
  160. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
  161. package/node/hooks/features/listView/gridListViewSelectors.js +11 -0
  162. package/node/hooks/features/listView/useGridListView.js +64 -0
  163. package/node/hooks/features/pagination/gridPaginationSelector.js +3 -1
  164. package/node/hooks/features/rowSelection/useGridRowSelection.js +11 -2
  165. package/node/hooks/features/rowSelection/utils.js +1 -1
  166. package/node/hooks/features/rows/gridRowsMetaInterfaces.js +5 -0
  167. package/node/hooks/features/rows/gridRowsUtils.js +16 -2
  168. package/node/hooks/features/rows/useGridParamsApi.js +4 -3
  169. package/node/hooks/features/rows/useGridRowsMeta.js +136 -154
  170. package/node/hooks/features/scroll/useGridScroll.js +3 -2
  171. package/node/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
  172. package/node/hooks/utils/useGridApiMethod.js +3 -1
  173. package/node/index.js +13 -1
  174. package/node/internals/index.js +22 -0
  175. package/node/joy/joySlots.js +45 -27
  176. package/node/locales/daDK.js +5 -6
  177. package/node/locales/itIT.js +27 -28
  178. package/node/locales/ptBR.js +4 -4
  179. package/node/material/index.js +4 -0
  180. package/node/utils/ResizeObserver.js +16 -0
  181. package/node/utils/keyboardUtils.js +15 -5
  182. package/package.json +2 -2
  183. package/utils/ResizeObserver.d.ts +4 -0
  184. package/utils/ResizeObserver.js +10 -0
  185. package/utils/keyboardUtils.d.ts +1 -0
  186. package/utils/keyboardUtils.js +12 -4
package/joy/joySlots.js CHANGED
@@ -1,14 +1,17 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
4
- _excluded2 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
5
- _excluded3 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
6
- _excluded4 = ["color", "size", "sx", "touchRippleRef"],
7
- _excluded5 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
8
- _excluded6 = ["native"],
9
- _excluded7 = ["shrink", "variant", "sx"];
3
+ const _excluded = ["slotProps", "variant", "color", "sx"],
4
+ _excluded2 = ["touchRippleRef", "inputProps", "onChange", "color", "size", "checked", "sx", "value", "inputRef"],
5
+ _excluded3 = ["onChange", "label", "placeholder", "value", "inputRef", "type", "size", "variant"],
6
+ _excluded4 = ["startIcon", "color", "endIcon", "size", "sx", "variant"],
7
+ _excluded5 = ["color", "size", "sx", "touchRippleRef"],
8
+ _excluded6 = ["open", "onOpen", "value", "onChange", "size", "color", "variant", "inputProps", "MenuProps", "inputRef", "error", "native", "fullWidth", "labelId"],
9
+ _excluded7 = ["native"],
10
+ _excluded8 = ["shrink", "variant", "sx"];
10
11
  import * as React from 'react';
12
+ import JoyBadge from '@mui/joy/Badge';
11
13
  import JoyCheckbox from '@mui/joy/Checkbox';
14
+ import JoyDivider from '@mui/joy/Divider';
12
15
  import JoyInput from '@mui/joy/Input';
13
16
  import JoyFormControl from '@mui/joy/FormControl';
14
17
  import JoyFormLabel from '@mui/joy/FormLabel';
@@ -58,14 +61,27 @@ function convertVariant(variant, defaultVariant = 'plain') {
58
61
  filled: 'soft'
59
62
  }[variant] || defaultVariant;
60
63
  }
61
- const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
64
+ const Badge = /*#__PURE__*/React.forwardRef((_ref, ref) => {
65
+ let {
66
+ color,
67
+ sx
68
+ } = _ref,
69
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
70
+ return /*#__PURE__*/_jsx(JoyBadge, _extends({}, props, {
71
+ color: convertColor(color),
72
+ variant: "plain",
73
+ sx: sx,
74
+ ref: ref
75
+ }));
76
+ });
77
+ const Checkbox = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
62
78
  let {
63
79
  inputProps,
64
80
  onChange,
65
81
  checked,
66
82
  inputRef
67
- } = _ref,
68
- props = _objectWithoutPropertiesLoose(_ref, _excluded);
83
+ } = _ref2,
84
+ props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
69
85
  return /*#__PURE__*/_jsx(JoyCheckbox, _extends({}, props, {
70
86
  slotProps: {
71
87
  input: _extends({}, inputProps, {
@@ -77,7 +93,7 @@ const Checkbox = /*#__PURE__*/React.forwardRef((_ref, ref) => {
77
93
  onChange: onChange
78
94
  }));
79
95
  });
80
- const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
96
+ const TextField = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
81
97
  let {
82
98
  onChange,
83
99
  label,
@@ -87,8 +103,8 @@ const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
87
103
  type,
88
104
  size,
89
105
  variant
90
- } = _ref2,
91
- props = _objectWithoutPropertiesLoose(_ref2, _excluded2);
106
+ } = _ref3,
107
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
92
108
  const rootRef = useForkRef(ref, props.InputProps?.ref);
93
109
  const inputForkRef = useForkRef(inputRef, props?.inputProps?.ref);
94
110
  const {
@@ -116,7 +132,7 @@ const TextField = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
116
132
  })]
117
133
  });
118
134
  });
119
- const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
135
+ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref4, ref) {
120
136
  let {
121
137
  startIcon,
122
138
  color,
@@ -124,8 +140,8 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
124
140
  size,
125
141
  sx,
126
142
  variant
127
- } = _ref3,
128
- props = _objectWithoutPropertiesLoose(_ref3, _excluded3);
143
+ } = _ref4,
144
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
129
145
  return /*#__PURE__*/_jsx(JoyButton, _extends({}, props, {
130
146
  size: convertSize(size),
131
147
  color: convertColor(color),
@@ -136,13 +152,13 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(_ref3, ref) {
136
152
  sx: sx
137
153
  }));
138
154
  });
139
- const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref4, ref) {
155
+ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref5, ref) {
140
156
  let {
141
157
  color,
142
158
  size,
143
159
  sx
144
- } = _ref4,
145
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
160
+ } = _ref5,
161
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
146
162
  return /*#__PURE__*/_jsx(JoyIconButton, _extends({}, props, {
147
163
  size: convertSize(size),
148
164
  color: convertColor(color) ?? 'neutral',
@@ -151,7 +167,7 @@ const IconButton = /*#__PURE__*/React.forwardRef(function IconButton(_ref4, ref)
151
167
  sx: sx
152
168
  }));
153
169
  });
154
- const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
170
+ const Select = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
155
171
  let {
156
172
  open,
157
173
  onOpen,
@@ -163,8 +179,8 @@ const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
163
179
  MenuProps,
164
180
  inputRef,
165
181
  labelId
166
- } = _ref5,
167
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
182
+ } = _ref6,
183
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
168
184
  const handleChange = (event, newValue) => {
169
185
  if (event && onChange) {
170
186
  // Same as in https://github.com/mui/material-ui/blob/e5558282a8f36856aef1299f3a36f3235e92e770/packages/mui-material/src/Select/SelectInput.js#L288-L300
@@ -215,17 +231,17 @@ const Select = /*#__PURE__*/React.forwardRef((_ref5, ref) => {
215
231
  }
216
232
  }));
217
233
  });
218
- const Option = /*#__PURE__*/React.forwardRef((_ref6, ref) => {
219
- let props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
234
+ const Option = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
235
+ let props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
220
236
  return /*#__PURE__*/_jsx(JoyOption, _extends({}, props, {
221
237
  ref: ref
222
238
  }));
223
239
  });
224
- const InputLabel = /*#__PURE__*/React.forwardRef((_ref7, ref) => {
240
+ const InputLabel = /*#__PURE__*/React.forwardRef((_ref8, ref) => {
225
241
  let {
226
242
  sx
227
- } = _ref7,
228
- props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
243
+ } = _ref8,
244
+ props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
229
245
  return /*#__PURE__*/_jsx(JoyFormLabel, _extends({}, props, {
230
246
  ref: ref,
231
247
  sx: sx
@@ -351,7 +367,9 @@ const LoadingOverlay = /*#__PURE__*/React.forwardRef((props, ref) => {
351
367
  }));
352
368
  });
353
369
  const joySlots = _extends({}, joyIconSlots, {
370
+ baseBadge: Badge,
354
371
  baseCheckbox: Checkbox,
372
+ baseDivider: JoyDivider,
355
373
  baseTextField: TextField,
356
374
  baseButton: Button,
357
375
  baseIconButton: IconButton,
package/locales/daDK.js CHANGED
@@ -33,8 +33,7 @@ const daDKGrid = {
33
33
  columnsManagementSearchTitle: 'Søg',
34
34
  columnsManagementNoColumns: 'Ingen søjler',
35
35
  columnsManagementShowHideAllText: 'Vis/Skjul Alle',
36
- // columnsManagementReset: 'Reset',
37
-
36
+ columnsManagementReset: 'Nulstil',
38
37
  // Filter panel text
39
38
  filterPanelAddFilter: 'Tilføj filter',
40
39
  filterPanelRemoveAll: 'Fjern alle',
@@ -48,9 +47,9 @@ const daDKGrid = {
48
47
  filterPanelInputPlaceholder: 'Filterværdi',
49
48
  // Filter operators text
50
49
  filterOperatorContains: 'indeholder',
51
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'indeholder ikke',
52
51
  filterOperatorEquals: 'lig med',
53
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'ikke lig med',
54
53
  filterOperatorStartsWith: 'begynder med',
55
54
  filterOperatorEndsWith: 'ender med',
56
55
  filterOperatorIs: 'er lig med',
@@ -70,9 +69,9 @@ const daDKGrid = {
70
69
  'filterOperator<=': '<=',
71
70
  // Header filter operators text
72
71
  headerFilterOperatorContains: 'Indeholder',
73
- // headerFilterOperatorDoesNotContain: 'Does not contain',
72
+ headerFilterOperatorDoesNotContain: 'Indeholder ikke',
74
73
  headerFilterOperatorEquals: 'Lig med',
75
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
74
+ headerFilterOperatorDoesNotEqual: 'Ikke lig med',
76
75
  headerFilterOperatorStartsWith: 'Begynder med',
77
76
  headerFilterOperatorEndsWith: 'Ender med',
78
77
  headerFilterOperatorIs: 'Er lig med',
package/locales/itIT.js CHANGED
@@ -30,11 +30,10 @@ const itITGrid = {
30
30
  toolbarExportPrint: 'Stampa',
31
31
  toolbarExportExcel: 'Scarica come Excel',
32
32
  // Columns management text
33
- // columnsManagementSearchTitle: 'Search',
34
- // columnsManagementNoColumns: 'No columns',
35
- // columnsManagementShowHideAllText: 'Show/Hide All',
36
- // columnsManagementReset: 'Reset',
37
-
33
+ columnsManagementSearchTitle: 'Cerca',
34
+ columnsManagementNoColumns: 'Nessuna colonna',
35
+ columnsManagementShowHideAllText: 'Mostra/Nascondi Tutto',
36
+ columnsManagementReset: 'Resetta',
38
37
  // Filter panel text
39
38
  filterPanelAddFilter: 'Aggiungi un filtro',
40
39
  filterPanelRemoveAll: 'Rimuovi filtri',
@@ -48,13 +47,13 @@ const itITGrid = {
48
47
  filterPanelInputPlaceholder: 'Filtra il valore',
49
48
  // Filter operators text
50
49
  filterOperatorContains: 'contiene',
51
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'non contiene',
52
51
  filterOperatorEquals: 'uguale a',
53
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'diverso da',
54
53
  filterOperatorStartsWith: 'comincia per',
55
54
  filterOperatorEndsWith: 'termina per',
56
55
  filterOperatorIs: 'uguale a',
57
- filterOperatorNot: 'diversa da',
56
+ filterOperatorNot: 'diverso da',
58
57
  filterOperatorAfter: 'dopo il',
59
58
  filterOperatorOnOrAfter: 'a partire dal',
60
59
  filterOperatorBefore: 'prima del',
@@ -70,26 +69,26 @@ const itITGrid = {
70
69
  'filterOperator<=': '<=',
71
70
  // Header filter operators text
72
71
  headerFilterOperatorContains: 'Contiene',
73
- // headerFilterOperatorDoesNotContain: 'Does not contain',
74
- headerFilterOperatorEquals: 'uguale a',
75
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
76
- headerFilterOperatorStartsWith: 'comincia per',
77
- headerFilterOperatorEndsWith: 'termina per',
78
- headerFilterOperatorIs: 'uguale a',
79
- headerFilterOperatorNot: 'diversa da',
80
- headerFilterOperatorAfter: 'dopo il',
81
- headerFilterOperatorOnOrAfter: 'a partire dal',
82
- headerFilterOperatorBefore: 'prima del',
83
- headerFilterOperatorOnOrBefore: 'fino al',
84
- headerFilterOperatorIsEmpty: 'è vuoto',
85
- headerFilterOperatorIsNotEmpty: 'non è vuoto',
86
- headerFilterOperatorIsAnyOf: 'è uno tra',
87
- 'headerFilterOperator=': 'uguale a',
88
- 'headerFilterOperator!=': 'diverso da',
89
- 'headerFilterOperator>': 'maggiore di',
90
- 'headerFilterOperator>=': 'maggiore o uguale a',
91
- 'headerFilterOperator<': 'minore di',
92
- 'headerFilterOperator<=': 'minore o uguale a',
72
+ headerFilterOperatorDoesNotContain: 'Non contiene',
73
+ headerFilterOperatorEquals: 'Uguale a',
74
+ headerFilterOperatorDoesNotEqual: 'Diverso da',
75
+ headerFilterOperatorStartsWith: 'Comincia per',
76
+ headerFilterOperatorEndsWith: 'Termina per',
77
+ headerFilterOperatorIs: 'Uguale a',
78
+ headerFilterOperatorNot: 'Diverso da',
79
+ headerFilterOperatorAfter: 'Dopo il',
80
+ headerFilterOperatorOnOrAfter: 'A partire dal',
81
+ headerFilterOperatorBefore: 'Prima del',
82
+ headerFilterOperatorOnOrBefore: 'Fino al',
83
+ headerFilterOperatorIsEmpty: 'È vuoto',
84
+ headerFilterOperatorIsNotEmpty: 'Non è vuoto',
85
+ headerFilterOperatorIsAnyOf: 'È uno tra',
86
+ 'headerFilterOperator=': 'Uguale a',
87
+ 'headerFilterOperator!=': 'Diverso da',
88
+ 'headerFilterOperator>': 'Maggiore di',
89
+ 'headerFilterOperator>=': 'Maggiore o uguale a',
90
+ 'headerFilterOperator<': 'Minore di',
91
+ 'headerFilterOperator<=': 'Minore o uguale a',
93
92
  // Filter values text
94
93
  filterValueAny: 'qualunque',
95
94
  filterValueTrue: 'vero',
package/locales/ptBR.js CHANGED
@@ -47,9 +47,9 @@ const ptBRGrid = {
47
47
  filterPanelInputPlaceholder: 'Filtrar valor',
48
48
  // Filter operators text
49
49
  filterOperatorContains: 'contém',
50
- // filterOperatorDoesNotContain: 'does not contain',
50
+ filterOperatorDoesNotContain: 'não contém',
51
51
  filterOperatorEquals: 'é igual a',
52
- // filterOperatorDoesNotEqual: 'does not equal',
52
+ filterOperatorDoesNotEqual: 'não é igual a',
53
53
  filterOperatorStartsWith: 'começa com',
54
54
  filterOperatorEndsWith: 'termina com',
55
55
  filterOperatorIs: 'é',
@@ -69,9 +69,9 @@ const ptBRGrid = {
69
69
  'filterOperator<=': 'menor ou igual que',
70
70
  // Header filter operators text
71
71
  headerFilterOperatorContains: 'Contém',
72
- // headerFilterOperatorDoesNotContain: 'Does not contain',
72
+ headerFilterOperatorDoesNotContain: 'Não contém',
73
73
  headerFilterOperatorEquals: 'Igual',
74
- // headerFilterOperatorDoesNotEqual: 'Does not equal',
74
+ headerFilterOperatorDoesNotEqual: 'Não é igual a',
75
75
  headerFilterOperatorStartsWith: 'Começa com',
76
76
  headerFilterOperatorEndsWith: 'Termina com',
77
77
  headerFilterOperatorIs: 'É',
package/material/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import MUIBadge from '@mui/material/Badge';
2
3
  import MUICheckbox from '@mui/material/Checkbox';
4
+ import MUIDivider from '@mui/material/Divider';
3
5
  import MUITextField from '@mui/material/TextField';
4
6
  import MUIFormControl from '@mui/material/FormControl';
5
7
  import MUISelect from '@mui/material/Select';
@@ -51,7 +53,9 @@ const iconSlots = {
51
53
  columnReorderIcon: GridDragIcon
52
54
  };
53
55
  const materialSlots = _extends({}, iconSlots, {
56
+ baseBadge: MUIBadge,
54
57
  baseCheckbox: MUICheckbox,
58
+ baseDivider: MUIDivider,
55
59
  baseTextField: MUITextField,
56
60
  baseFormControl: MUIFormControl,
57
61
  baseSelect: MUISelect,
@@ -1,4 +1,5 @@
1
1
  import { GridRowId } from '../gridRows';
2
+ import { HeightEntry } from '../../hooks/features/rows/gridRowsMetaInterfaces';
2
3
  /**
3
4
  * The Row Meta API interface that is available in the grid `apiRef`.
4
5
  */
@@ -10,20 +11,6 @@ export interface GridRowsMetaApi {
10
11
  * @ignore - do not document.
11
12
  */
12
13
  unstable_getRowHeight: (id: GridRowId) => number;
13
- /**
14
- * Gets all sizes that compose the total height that the given row takes.
15
- * @param {GridRowId} id The id of the row.
16
- * @returns {Record<string, number>} The object containing the sizes.
17
- * @ignore - do not document.
18
- */
19
- unstable_getRowInternalSizes: (id: GridRowId) => Record<string, number> | undefined;
20
- /**
21
- * Updates the base height of a row.
22
- * @param {GridRowId} id The id of the row.
23
- * @param {number} height The new height.
24
- * @ignore - do not document.
25
- */
26
- unstable_setRowHeight: (id: GridRowId, height: number) => void;
27
14
  /**
28
15
  * Stores the row height measurement and triggers an hydration, if needed.
29
16
  * @param {GridRowId} id The id of the row.
@@ -44,6 +31,14 @@ export interface GridRowsMetaApi {
44
31
  resetRowHeights: () => void;
45
32
  }
46
33
  export interface GridRowsMetaPrivateApi {
34
+ hydrateRowsMeta: () => void;
35
+ /**
36
+ * Observe row for 'auto' height changes.
37
+ * @param {Element} element The row element to observe.
38
+ * @param {GridRowId} rowId The id of the row.
39
+ * @returns {ReturnType<React.EffectCallback>} A dispose callback
40
+ */
41
+ observeRowHeight: (element: Element, rowId: GridRowId) => ReturnType<React.EffectCallback>;
47
42
  /**
48
43
  * Determines if the height of a row is "auto".
49
44
  * @param {GridRowId} id The id of the row.
@@ -56,4 +51,10 @@ export interface GridRowsMetaPrivateApi {
56
51
  * @returns {number} The index of the last measured row.
57
52
  */
58
53
  getLastMeasuredRowIndex: () => number;
54
+ /**
55
+ * Get the height entry from the cache or create one.
56
+ * @param {GridRowId} id The id of the row.
57
+ * @returns {HeightEntry} The height cache entry
58
+ */
59
+ getRowHeightEntry: (id: GridRowId) => HeightEntry;
59
60
  }
@@ -289,6 +289,12 @@ export interface GridSingleSelectColDef<R extends GridValidRowModel = any, V = a
289
289
  * - [Column definition](/x/react-data-grid/column-definition/)
290
290
  */
291
291
  export type GridColDef<R extends GridValidRowModel = any, V = any, F = V> = GridBaseColDef<R, V, F> | GridActionsColDef<R, V, F> | GridSingleSelectColDef<R, V, F>;
292
+ /**
293
+ * Column Definition interface used for the list view column.
294
+ * @demos
295
+ * - [List view](/x/react-data-grid/list-view/)
296
+ */
297
+ export type GridListColDef<R extends GridValidRowModel = any, V = any, F = V> = Pick<GridBaseColDef<R, V, F>, 'field' | 'renderCell' | 'align' | 'cellClassName' | 'display'>;
292
298
  export type GridColTypeDef<V = any, F = V> = Omit<GridBaseColDef<any, V, F>, 'field'>;
293
299
  export type GridStateColDef<R extends GridValidRowModel = any, V = any, F = V> = GridColDef<R, V, F> & {
294
300
  computedWidth: number;
@@ -1,3 +1,3 @@
1
- export type { GridAlignment, ValueOptions, GridKeyValue, GridColDef, GridColTypeDef, GridColumnsMeta, GridSingleSelectColDef, GridActionsColDef, GetApplyQuickFilterFn, GridValueGetter, GridValueFormatter, GridValueSetter, GridValueParser, GridColSpanFn, } from './gridColDef';
1
+ export type { GridAlignment, ValueOptions, GridKeyValue, GridColDef, GridListColDef, GridColTypeDef, GridColumnsMeta, GridSingleSelectColDef, GridActionsColDef, GetApplyQuickFilterFn, GridValueGetter, GridValueFormatter, GridValueSetter, GridValueParser, GridColSpanFn, } from './gridColDef';
2
2
  export * from './gridColType';
3
3
  export * from './gridColumnTypesRecord';
@@ -1,4 +1,6 @@
1
1
  import { GridRowsInternalCache } from '../hooks/features/rows/gridRowsInterfaces';
2
+ import { GridRowsMetaInternalCache } from '../hooks/features/rows/gridRowsMetaInterfaces';
2
3
  export interface GridApiCaches {
3
4
  rows: GridRowsInternalCache;
5
+ rowsMeta: GridRowsMetaInternalCache;
4
6
  }
@@ -141,7 +141,7 @@ export interface GridPrintExportOptions extends GridExportOptions {
141
141
  /**
142
142
  * Provide Print specific styles to the print window.
143
143
  */
144
- pageStyle?: string | Function;
144
+ pageStyle?: string | (() => string);
145
145
  /**
146
146
  * Function that returns the list of row ids to export in the order they should be exported.
147
147
  * @param {GridPrintGetRowsToExportParams} params With all properties from [[GridPrintGetRowsToExportParams]].
@@ -3,6 +3,11 @@ import type { GridSlotProps } from './gridSlotsComponentsProps';
3
3
  import type { GridIconSlotsComponent } from './gridIconSlotsComponent';
4
4
  export type { GridSlotProps } from './gridSlotsComponentsProps';
5
5
  export interface GridBaseSlots {
6
+ /**
7
+ * The custom Badge component used in the grid for both header and cells.
8
+ * @default Badge
9
+ */
10
+ baseBadge: React.JSXElementConstructor<GridSlotProps['baseBadge']>;
6
11
  /**
7
12
  * The custom Checkbox component used in the grid for both header and cells.
8
13
  * @default Checkbox
@@ -13,6 +18,11 @@ export interface GridBaseSlots {
13
18
  * @default Chip
14
19
  */
15
20
  baseChip: React.JSXElementConstructor<GridSlotProps['baseChip']>;
21
+ /**
22
+ * The custom Divider component used in the grid.
23
+ * @default Divider
24
+ */
25
+ baseDivider: React.JSXElementConstructor<GridSlotProps['baseDivider']>;
16
26
  /**
17
27
  * The custom InputAdornment component used in the grid.
18
28
  * @default InputAdornment
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import type { BadgeProps } from '@mui/material/Badge';
2
3
  import type { CheckboxProps } from '@mui/material/Checkbox';
3
4
  import type { TextFieldProps } from '@mui/material/TextField';
4
5
  import type { FormControlProps } from '@mui/material/FormControl';
@@ -30,8 +31,13 @@ import type { GridColumnsManagementProps } from '../components/columnsManagement
30
31
  import type { GridLoadingOverlayProps } from '../components/GridLoadingOverlay';
31
32
  import type { GridRowCountProps } from '../components/GridRowCount';
32
33
  import type { GridColumnHeaderSortIconProps } from '../components/columnHeaders/GridColumnHeaderSortIcon';
34
+ type DividerProps = {};
35
+ export interface BaseBadgePropsOverrides {
36
+ }
33
37
  export interface BaseCheckboxPropsOverrides {
34
38
  }
39
+ export interface BaseDividerPropsOverrides {
40
+ }
35
41
  export interface BaseTextFieldPropsOverrides {
36
42
  }
37
43
  export interface BaseFormControlPropsOverrides {
@@ -95,7 +101,9 @@ export interface SkeletonCellPropsOverrides {
95
101
  export interface RowPropsOverrides {
96
102
  }
97
103
  export interface GridSlotProps {
104
+ baseBadge: BadgeProps & BaseBadgePropsOverrides;
98
105
  baseCheckbox: CheckboxProps & BaseCheckboxPropsOverrides;
106
+ baseDivider: DividerProps & BaseDividerPropsOverrides;
99
107
  baseTextField: TextFieldProps & BaseTextFieldPropsOverrides;
100
108
  baseFormControl: FormControlProps & BaseFormControlPropsOverrides;
101
109
  baseSelect: SelectProps & BaseSelectPropsOverrides;
@@ -139,3 +147,4 @@ export interface GridSlotProps {
139
147
  export type GridSlotsComponentsProps = Partial<{
140
148
  [K in keyof GridSlotProps]: Partial<GridSlotProps[K]>;
141
149
  }>;
150
+ export {};
@@ -6,6 +6,7 @@ import type { GridRowSelectionModel } from './gridRowSelectionModel';
6
6
  import type { GridVisibleRowsLookupState } from '../hooks/features/filter/gridFilterState';
7
7
  import type { GridColumnResizeState } from '../hooks/features/columnResize';
8
8
  import type { GridRowSpanningState } from '../hooks/features/rows/useGridRowSpanning';
9
+ import type { GridListViewState } from '../hooks/features/listView/useGridListView';
9
10
  /**
10
11
  * The state of Data Grid.
11
12
  */
@@ -32,6 +33,7 @@ export interface GridStateCommunity {
32
33
  virtualization: GridVirtualizationState;
33
34
  columnResize: GridColumnResizeState;
34
35
  rowSpanning: GridRowSpanningState;
36
+ listViewColumn: GridListViewState;
35
37
  }
36
38
  /**
37
39
  * The initial state of Data Grid.
@@ -12,7 +12,7 @@ import { GridRowId, GridRowIdGetter, GridRowsProp, GridValidRowModel } from '../
12
12
  import { GridEventListener } from '../events';
13
13
  import { GridCallbackDetails, GridLocaleText } from '../api';
14
14
  import { GridApiCommunity } from '../api/gridApiCommunity';
15
- import type { GridColDef } from '../colDef/gridColDef';
15
+ import type { GridColDef, GridListColDef } from '../colDef/gridColDef';
16
16
  import { GridClasses } from '../../constants/gridClasses';
17
17
  import { GridRowHeightParams, GridRowHeightReturnValue, GridRowParams, GridRowSpacing, GridRowSpacingParams, GridRowClassNameParams } from '../params';
18
18
  import { GridCellParams } from '../params/gridCellParams';
@@ -44,7 +44,7 @@ export type DataGridProps<R extends GridValidRowModel = any> = Omit<Partial<Data
44
44
  * The props of the Data Grid component after the pre-processing phase that the user should not be able to override.
45
45
  * Those are usually used in feature-hook for which the pro-plan has more advanced features (eg: multi-sorting, multi-filtering, ...).
46
46
  */
47
- export type DataGridForcedPropsKey = 'checkboxSelectionVisibleOnly' | 'disableMultipleColumnsFiltering' | 'disableMultipleColumnsSorting' | 'disableColumnReorder' | 'keepColumnPositionIfDraggedOutside' | 'throttleRowsMs' | 'hideFooterRowCount' | 'pagination' | 'signature';
47
+ export type DataGridForcedPropsKey = 'checkboxSelectionVisibleOnly' | 'disableMultipleColumnsFiltering' | 'disableMultipleColumnsSorting' | 'disableColumnReorder' | 'keepColumnPositionIfDraggedOutside' | 'throttleRowsMs' | 'hideFooterRowCount' | 'pagination' | 'signature' | 'unstable_listView';
48
48
  /**
49
49
  * The Data Grid options with a default value that must be merged with the value given through props.
50
50
  */
@@ -351,6 +351,7 @@ export interface DataGridPropsWithDefaultValues<R extends GridValidRowModel = an
351
351
  * Setting it to a lower value could be useful when using dynamic row height,
352
352
  * but might reduce performance when displaying a large number of rows.
353
353
  * @default 166
354
+ * @deprecated
354
355
  */
355
356
  rowPositionsDebounceMs: number;
356
357
  /**
@@ -816,13 +817,23 @@ export interface DataGridProSharedPropsWithDefaultValue {
816
817
  * @default { parents: false, descendants: false }
817
818
  */
818
819
  rowSelectionPropagation: GridRowSelectionPropagation;
820
+ /**
821
+ * If `true`, displays the data in a list view.
822
+ * Use in combination with `unstable_listColumn`.
823
+ * @default false
824
+ */
825
+ unstable_listView: boolean;
819
826
  }
820
- export interface DataGridProSharedPropsWithoutDefaultValue {
827
+ export interface DataGridProSharedPropsWithoutDefaultValue<R extends GridValidRowModel = any> {
821
828
  /**
822
829
  * Override the height of the header filters.
823
830
  */
824
831
  headerFilterHeight?: number;
825
832
  unstable_dataSource?: GridDataSource;
833
+ /**
834
+ * Definition of the column rendered when the `unstable_listView` prop is enabled.
835
+ */
836
+ unstable_listColumn?: GridListColDef<R>;
826
837
  }
827
838
  export interface DataGridPremiumSharedPropsWithDefaultValue {
828
839
  /**
@@ -695,6 +695,7 @@ DataGridRaw.propTypes = {
695
695
  * Setting it to a lower value could be useful when using dynamic row height,
696
696
  * but might reduce performance when displaying a large number of rows.
697
697
  * @default 166
698
+ * @deprecated
698
699
  */
699
700
  rowPositionsDebounceMs: PropTypes.number,
700
701
  /**
@@ -1,2 +1 @@
1
- export * from "./DataGrid.js";
2
- export { DATA_GRID_PROPS_DEFAULT_VALUES } from "./useDataGridProps.js";
1
+ export * from "./DataGrid.js";
@@ -28,6 +28,7 @@ import { useGridColumnGrouping, columnGroupsStateInitializer } from "../hooks/fe
28
28
  import { useGridVirtualization, virtualizationStateInitializer } from "../hooks/features/virtualization/index.js";
29
29
  import { columnResizeStateInitializer, useGridColumnResize } from "../hooks/features/columnResize/useGridColumnResize.js";
30
30
  import { rowSpanningStateInitializer, useGridRowSpanning } from "../hooks/features/rows/useGridRowSpanning.js";
31
+ import { listViewStateInitializer, useGridListView } from "../hooks/features/listView/useGridListView.js";
31
32
  export const useDataGridComponent = (inputApiRef, props) => {
32
33
  const apiRef = useGridInitialization(inputApiRef, props);
33
34
 
@@ -57,12 +58,13 @@ export const useDataGridComponent = (inputApiRef, props) => {
57
58
  useGridInitializeState(columnMenuStateInitializer, apiRef, props);
58
59
  useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
59
60
  useGridInitializeState(virtualizationStateInitializer, apiRef, props);
61
+ useGridInitializeState(listViewStateInitializer, apiRef, props);
60
62
  useGridKeyboardNavigation(apiRef, props);
61
63
  useGridRowSelection(apiRef, props);
62
64
  useGridColumns(apiRef, props);
63
65
  useGridRows(apiRef, props);
64
66
  useGridRowSpanning(apiRef, props);
65
- useGridParamsApi(apiRef);
67
+ useGridParamsApi(apiRef, props);
66
68
  useGridColumnSpanning(apiRef);
67
69
  useGridColumnGrouping(apiRef, props);
68
70
  useGridEditing(apiRef, props);
@@ -83,5 +85,6 @@ export const useDataGridComponent = (inputApiRef, props) => {
83
85
  useGridEvents(apiRef, props);
84
86
  useGridStatePersistence(apiRef);
85
87
  useGridVirtualization(apiRef, props);
88
+ useGridListView(apiRef, props);
86
89
  return apiRef;
87
90
  };