@mui/x-data-grid 8.9.1 → 8.10.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 (156) hide show
  1. package/CHANGELOG.md +217 -8
  2. package/DataGrid/DataGrid.js +5 -0
  3. package/DataGrid/useDataGridComponent.js +2 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridDetailPanels.d.ts +2 -2
  6. package/components/GridFooter.js +1 -1
  7. package/components/GridPagination.js +4 -3
  8. package/components/GridPinnedRows.d.ts +2 -2
  9. package/components/GridRow.js +8 -1
  10. package/components/cell/GridCell.js +7 -5
  11. package/components/cell/GridEditSingleSelectCell.js +1 -1
  12. package/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  13. package/components/columnsManagement/GridColumnsManagement.js +17 -5
  14. package/components/containers/GridRootStyles.d.ts +1 -1
  15. package/components/toolbarV8/Toolbar.d.ts +1 -1
  16. package/components/virtualization/GridVirtualScroller.js +5 -5
  17. package/constants/dataGridPropsDefaultValues.js +1 -0
  18. package/esm/DataGrid/DataGrid.js +5 -0
  19. package/esm/DataGrid/useDataGridComponent.js +2 -0
  20. package/esm/colDef/gridCheckboxSelectionColDef.js +1 -0
  21. package/esm/components/GridDetailPanels.d.ts +2 -2
  22. package/esm/components/GridFooter.js +1 -1
  23. package/esm/components/GridPagination.js +3 -2
  24. package/esm/components/GridPinnedRows.d.ts +2 -2
  25. package/esm/components/GridRow.js +8 -1
  26. package/esm/components/cell/GridCell.js +7 -5
  27. package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
  28. package/esm/components/columnsManagement/GridColumnsManagement.d.ts +6 -0
  29. package/esm/components/columnsManagement/GridColumnsManagement.js +17 -5
  30. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  31. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  32. package/esm/components/virtualization/GridVirtualScroller.js +5 -5
  33. package/esm/constants/dataGridPropsDefaultValues.js +1 -0
  34. package/esm/hooks/core/useGridVirtualizer.d.ts +9 -0
  35. package/esm/hooks/core/useGridVirtualizer.js +223 -0
  36. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  37. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -2
  38. package/esm/hooks/features/columns/useGridColumnSpanning.js +5 -90
  39. package/esm/hooks/features/dataSource/models.d.ts +11 -2
  40. package/esm/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  41. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +9 -2
  42. package/esm/hooks/features/dimensions/useGridDimensions.js +18 -188
  43. package/esm/hooks/features/editing/useGridRowEditing.js +4 -1
  44. package/esm/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
  45. package/esm/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  46. package/esm/hooks/features/keyboardNavigation/utils.js +5 -5
  47. package/esm/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  48. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  49. package/esm/hooks/features/pivoting/gridPivotingSelectors.js +1 -2
  50. package/esm/hooks/features/rowReorder/gridRowReorderInterfaces.d.ts +9 -0
  51. package/esm/hooks/features/rowReorder/gridRowReorderInterfaces.js +1 -0
  52. package/esm/hooks/features/rowReorder/gridRowReorderSelector.d.ts +5 -0
  53. package/esm/hooks/features/rowReorder/gridRowReorderSelector.js +3 -0
  54. package/esm/hooks/features/rowSelection/useGridRowSelection.js +2 -2
  55. package/esm/hooks/features/rowSelection/utils.js +5 -0
  56. package/esm/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  57. package/esm/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  58. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  59. package/esm/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  60. package/esm/hooks/features/rows/useGridRowSpanning.js +54 -85
  61. package/esm/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  62. package/esm/hooks/features/rows/useGridRowsMeta.js +17 -187
  63. package/esm/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  64. package/esm/hooks/features/virtualization/index.d.ts +1 -0
  65. package/esm/hooks/features/virtualization/index.js +1 -0
  66. package/esm/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  67. package/esm/hooks/features/virtualization/useGridVirtualization.js +41 -22
  68. package/esm/hooks/utils/index.d.ts +1 -1
  69. package/esm/hooks/utils/index.js +1 -1
  70. package/esm/hooks/utils/useFirstRender.d.ts +1 -1
  71. package/esm/hooks/utils/useFirstRender.js +1 -8
  72. package/esm/index.js +1 -1
  73. package/esm/internals/index.d.ts +3 -1
  74. package/esm/internals/index.js +2 -1
  75. package/esm/internals/utils/getPinnedCellOffset.js +5 -0
  76. package/esm/locales/frFR.js +18 -21
  77. package/esm/locales/heIL.js +12 -12
  78. package/esm/locales/nnNO.js +96 -107
  79. package/esm/locales/plPL.js +22 -24
  80. package/esm/material/index.js +2 -2
  81. package/esm/models/api/gridApiCommon.d.ts +4 -1
  82. package/esm/models/api/gridColumnSpanning.d.ts +5 -11
  83. package/esm/models/gridStateCommunity.d.ts +2 -0
  84. package/esm/models/props/DataGridProps.d.ts +5 -0
  85. package/esm/utils/roundToDecimalPlaces.d.ts +1 -1
  86. package/esm/utils/roundToDecimalPlaces.js +1 -3
  87. package/hooks/core/useGridVirtualizer.d.ts +9 -0
  88. package/hooks/core/useGridVirtualizer.js +231 -0
  89. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  90. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -3
  91. package/hooks/features/columns/useGridColumnSpanning.js +5 -91
  92. package/hooks/features/dataSource/models.d.ts +11 -2
  93. package/hooks/features/dataSource/useGridDataSourceBase.d.ts +1 -1
  94. package/hooks/features/dataSource/useGridDataSourceBase.js +10 -3
  95. package/hooks/features/dimensions/useGridDimensions.js +18 -188
  96. package/hooks/features/editing/useGridRowEditing.js +4 -1
  97. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
  98. package/hooks/features/keyboardNavigation/utils.d.ts +3 -3
  99. package/hooks/features/keyboardNavigation/utils.js +5 -5
  100. package/hooks/features/pivoting/gridPivotingInterfaces.d.ts +0 -1
  101. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +1 -4
  102. package/hooks/features/pivoting/gridPivotingSelectors.js +2 -3
  103. package/hooks/features/rowReorder/gridRowReorderInterfaces.d.ts +9 -0
  104. package/hooks/features/rowReorder/gridRowReorderInterfaces.js +5 -0
  105. package/hooks/features/rowReorder/gridRowReorderSelector.d.ts +5 -0
  106. package/hooks/features/rowReorder/gridRowReorderSelector.js +9 -0
  107. package/hooks/features/rowSelection/useGridRowSelection.js +2 -2
  108. package/hooks/features/rowSelection/utils.js +5 -0
  109. package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +2 -8
  110. package/hooks/features/rows/gridRowsMetaState.d.ts +2 -18
  111. package/hooks/features/rows/useGridRowAriaAttributes.js +3 -1
  112. package/hooks/features/rows/useGridRowSpanning.d.ts +2 -12
  113. package/hooks/features/rows/useGridRowSpanning.js +54 -85
  114. package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
  115. package/hooks/features/rows/useGridRowsMeta.js +15 -186
  116. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +1 -1
  117. package/hooks/features/virtualization/index.d.ts +1 -0
  118. package/hooks/features/virtualization/index.js +12 -0
  119. package/hooks/features/virtualization/useGridVirtualization.d.ts +5 -16
  120. package/hooks/features/virtualization/useGridVirtualization.js +42 -24
  121. package/hooks/utils/index.d.ts +1 -1
  122. package/hooks/utils/index.js +12 -12
  123. package/hooks/utils/useFirstRender.d.ts +1 -1
  124. package/hooks/utils/useFirstRender.js +11 -11
  125. package/index.js +1 -1
  126. package/internals/index.d.ts +3 -1
  127. package/internals/index.js +12 -11
  128. package/internals/utils/getPinnedCellOffset.js +5 -0
  129. package/locales/frFR.js +18 -21
  130. package/locales/heIL.js +12 -12
  131. package/locales/nnNO.js +96 -107
  132. package/locales/plPL.js +22 -24
  133. package/material/index.js +2 -2
  134. package/models/api/gridApiCommon.d.ts +4 -1
  135. package/models/api/gridColumnSpanning.d.ts +5 -11
  136. package/models/gridStateCommunity.d.ts +2 -0
  137. package/models/props/DataGridProps.d.ts +5 -0
  138. package/package.json +5 -6
  139. package/utils/roundToDecimalPlaces.d.ts +1 -1
  140. package/utils/roundToDecimalPlaces.js +7 -4
  141. package/esm/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  142. package/esm/hooks/features/rows/gridRowSpanningSelectors.js +0 -5
  143. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  144. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +0 -843
  145. package/esm/hooks/utils/useRunOnce.d.ts +0 -5
  146. package/esm/hooks/utils/useRunOnce.js +0 -18
  147. package/esm/utils/platform.d.ts +0 -1
  148. package/esm/utils/platform.js +0 -2
  149. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +0 -10
  150. package/hooks/features/rows/gridRowSpanningSelectors.js +0 -11
  151. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -56
  152. package/hooks/features/virtualization/useGridVirtualScroller.js +0 -854
  153. package/hooks/utils/useRunOnce.d.ts +0 -5
  154. package/hooks/utils/useRunOnce.js +0 -27
  155. package/utils/platform.d.ts +0 -1
  156. package/utils/platform.js +0 -8
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- /**
3
- * Runs an effect once, when `condition` is true.
4
- */
5
- export declare const useRunOnce: (condition: boolean, effect: React.EffectCallback) => void;
@@ -1,18 +0,0 @@
1
- import * as React from 'react';
2
- import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
3
- const noop = () => {};
4
-
5
- /**
6
- * Runs an effect once, when `condition` is true.
7
- */
8
- export const useRunOnce = (condition, effect) => {
9
- const didRun = React.useRef(false);
10
- useEnhancedEffect(() => {
11
- if (didRun.current || !condition) {
12
- return noop;
13
- }
14
- didRun.current = true;
15
- return effect();
16
- // eslint-disable-next-line react-hooks/exhaustive-deps
17
- }, [didRun.current || condition]);
18
- };
@@ -1 +0,0 @@
1
- export declare const isFirefox: boolean;
@@ -1,2 +0,0 @@
1
- const userAgent = typeof navigator !== 'undefined' ? navigator.userAgent.toLowerCase() : 'empty';
2
- export const isFirefox = userAgent.includes('firefox');
@@ -1,10 +0,0 @@
1
- import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
2
- export declare const gridRowSpanningHiddenCellsSelector: (args_0: import("react").RefObject<{
3
- state: GridStateCommunity;
4
- } | null>) => Record<import("@mui/x-data-grid").GridRowId, Record<string, boolean>>;
5
- export declare const gridRowSpanningSpannedCellsSelector: (args_0: import("react").RefObject<{
6
- state: GridStateCommunity;
7
- } | null>) => Record<import("@mui/x-data-grid").GridRowId, Record<string, number>>;
8
- export declare const gridRowSpanningHiddenCellsOriginMapSelector: (args_0: import("react").RefObject<{
9
- state: GridStateCommunity;
10
- } | null>) => Record<number, Record<string, number>>;
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.gridRowSpanningSpannedCellsSelector = exports.gridRowSpanningHiddenCellsSelector = exports.gridRowSpanningHiddenCellsOriginMapSelector = void 0;
7
- var _createSelector = require("../../../utils/createSelector");
8
- const gridRowSpanningStateSelector = (0, _createSelector.createRootSelector)(state => state.rowSpanning);
9
- const gridRowSpanningHiddenCellsSelector = exports.gridRowSpanningHiddenCellsSelector = (0, _createSelector.createSelector)(gridRowSpanningStateSelector, rowSpanning => rowSpanning.hiddenCells);
10
- const gridRowSpanningSpannedCellsSelector = exports.gridRowSpanningSpannedCellsSelector = (0, _createSelector.createSelector)(gridRowSpanningStateSelector, rowSpanning => rowSpanning.spannedCells);
11
- const gridRowSpanningHiddenCellsOriginMapSelector = exports.gridRowSpanningHiddenCellsOriginMapSelector = (0, _createSelector.createSelector)(gridRowSpanningStateSelector, rowSpanning => rowSpanning.hiddenCellOriginMap);
@@ -1,56 +0,0 @@
1
- import * as React from 'react';
2
- import { GridPinnedRowsPosition } from "../rows/gridRowsInterfaces.js";
3
- import { type GridRenderContext, type GridColumnsRenderContext, type GridRowEntry, type GridRowId } from "../../../models/index.js";
4
- export type VirtualScroller = ReturnType<typeof useGridVirtualScroller>;
5
- export declare const EMPTY_DETAIL_PANELS: Readonly<Map<GridRowId, React.ReactNode>>;
6
- export declare const useGridVirtualScroller: () => {
7
- renderContext: GridRenderContext;
8
- setPanels: React.Dispatch<React.SetStateAction<Readonly<Map<GridRowId, React.ReactNode>>>>;
9
- getRows: (params?: {
10
- rows?: GridRowEntry[];
11
- position?: GridPinnedRowsPosition;
12
- renderContext?: GridRenderContext;
13
- }) => React.ReactNode[];
14
- getContainerProps: () => {
15
- ref: (node: HTMLDivElement | null) => (() => void) | undefined;
16
- };
17
- getScrollerProps: () => {
18
- ref: React.RefObject<HTMLDivElement | null>;
19
- onScroll: () => void;
20
- onWheel: (event: React.WheelEvent) => void;
21
- onTouchMove: (event: React.TouchEvent) => void;
22
- style: React.CSSProperties;
23
- role: string;
24
- tabIndex: number | undefined;
25
- };
26
- getContentProps: () => {
27
- style: React.CSSProperties;
28
- role: string;
29
- ref: (node: HTMLDivElement | null) => void;
30
- };
31
- getRenderZoneProps: () => {
32
- role: string;
33
- };
34
- getScrollbarVerticalProps: () => {
35
- ref: React.RefObject<HTMLDivElement | null>;
36
- scrollPosition: React.RefObject<{
37
- top: number;
38
- left: number;
39
- }>;
40
- };
41
- getScrollbarHorizontalProps: () => {
42
- ref: React.RefObject<HTMLDivElement | null>;
43
- scrollPosition: React.RefObject<{
44
- top: number;
45
- left: number;
46
- }>;
47
- };
48
- getScrollAreaProps: () => {
49
- scrollPosition: React.RefObject<{
50
- top: number;
51
- left: number;
52
- }>;
53
- };
54
- };
55
- export declare function areRenderContextsEqual(context1: GridRenderContext, context2: GridRenderContext): boolean;
56
- export declare function computeOffsetLeft(columnPositions: number[], renderContext: GridColumnsRenderContext, pinnedLeftLength: number): number;