@mui/x-data-grid 8.5.0 → 8.5.2

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 (158) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  3. package/components/columnsPanel/ColumnsPanelTrigger.js +2 -2
  4. package/components/containers/GridRootStyles.d.ts +1 -1
  5. package/components/containers/GridRootStyles.js +6 -0
  6. package/components/export/ExportCsv.d.ts +1 -1
  7. package/components/export/ExportCsv.js +2 -2
  8. package/components/export/ExportPrint.d.ts +1 -1
  9. package/components/export/ExportPrint.js +2 -2
  10. package/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  11. package/components/filterPanel/FilterPanelTrigger.js +2 -2
  12. package/components/quickFilter/QuickFilter.d.ts +1 -1
  13. package/components/quickFilter/QuickFilter.js +2 -2
  14. package/components/quickFilter/QuickFilterClear.d.ts +1 -1
  15. package/components/quickFilter/QuickFilterClear.js +2 -2
  16. package/components/quickFilter/QuickFilterControl.d.ts +1 -1
  17. package/components/quickFilter/QuickFilterControl.js +2 -2
  18. package/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  19. package/components/quickFilter/QuickFilterTrigger.js +2 -2
  20. package/components/toolbarV8/Toolbar.d.ts +1 -1
  21. package/components/toolbarV8/Toolbar.js +2 -2
  22. package/components/toolbarV8/ToolbarButton.d.ts +1 -1
  23. package/components/toolbarV8/ToolbarButton.js +2 -2
  24. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +1 -1
  25. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +2 -2
  26. package/esm/components/containers/GridRootStyles.d.ts +1 -1
  27. package/esm/components/containers/GridRootStyles.js +6 -0
  28. package/esm/components/export/ExportCsv.d.ts +1 -1
  29. package/esm/components/export/ExportCsv.js +2 -2
  30. package/esm/components/export/ExportPrint.d.ts +1 -1
  31. package/esm/components/export/ExportPrint.js +2 -2
  32. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +1 -1
  33. package/esm/components/filterPanel/FilterPanelTrigger.js +2 -2
  34. package/esm/components/quickFilter/QuickFilter.d.ts +1 -1
  35. package/esm/components/quickFilter/QuickFilter.js +2 -2
  36. package/esm/components/quickFilter/QuickFilterClear.d.ts +1 -1
  37. package/esm/components/quickFilter/QuickFilterClear.js +2 -2
  38. package/esm/components/quickFilter/QuickFilterControl.d.ts +1 -1
  39. package/esm/components/quickFilter/QuickFilterControl.js +2 -2
  40. package/esm/components/quickFilter/QuickFilterTrigger.d.ts +1 -1
  41. package/esm/components/quickFilter/QuickFilterTrigger.js +2 -2
  42. package/esm/components/toolbarV8/Toolbar.d.ts +1 -1
  43. package/esm/components/toolbarV8/Toolbar.js +2 -2
  44. package/esm/components/toolbarV8/ToolbarButton.d.ts +1 -1
  45. package/esm/components/toolbarV8/ToolbarButton.js +2 -2
  46. package/esm/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  47. package/esm/hooks/core/useGridApiInitialization.js +1 -1
  48. package/esm/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +13 -5
  49. package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  50. package/esm/hooks/features/columnResize/columnResizeSelector.d.ts +3 -1
  51. package/esm/hooks/features/columns/gridColumnsSelector.d.ts +41 -15
  52. package/esm/hooks/features/columns/gridColumnsUtils.js +3 -1
  53. package/esm/hooks/features/dataSource/gridDataSourceSelector.d.ts +4 -2
  54. package/esm/hooks/features/dataSource/useGridDataSourceBase.js +4 -0
  55. package/esm/hooks/features/density/densitySelector.d.ts +3 -1
  56. package/esm/hooks/features/dimensions/gridDimensionsSelectors.d.ts +36 -12
  57. package/esm/hooks/features/editing/gridEditingSelectors.d.ts +8 -4
  58. package/esm/hooks/features/filter/gridFilterSelector.d.ts +51 -17
  59. package/esm/hooks/features/filter/gridFilterState.d.ts +2 -1
  60. package/esm/hooks/features/filter/gridFilterState.js +2 -1
  61. package/esm/hooks/features/filter/useGridFilter.js +1 -1
  62. package/esm/hooks/features/focus/gridFocusStateSelector.d.ts +24 -8
  63. package/esm/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +9 -3
  64. package/esm/hooks/features/pagination/gridPaginationSelector.d.ts +35 -19
  65. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +9 -4
  66. package/esm/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +3 -1
  67. package/esm/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +9 -3
  68. package/esm/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  69. package/esm/hooks/features/rowSelection/utils.d.ts +5 -3
  70. package/esm/hooks/features/rows/gridRowSpanningSelectors.d.ts +9 -3
  71. package/esm/hooks/features/rows/gridRowsSelector.d.ts +50 -29
  72. package/esm/hooks/features/sorting/gridSortingSelector.d.ts +15 -5
  73. package/esm/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +4 -2
  74. package/esm/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +15 -5
  75. package/esm/hooks/features/virtualization/gridVirtualizationSelectors.js +3 -1
  76. package/esm/hooks/utils/index.d.ts +1 -1
  77. package/esm/hooks/utils/useGridSelector.d.ts +2 -4
  78. package/esm/hooks/utils/useGridSelector.js +2 -2
  79. package/esm/index.js +1 -1
  80. package/esm/internals/index.d.ts +0 -1
  81. package/esm/internals/index.js +0 -1
  82. package/esm/locales/arSD.js +5 -6
  83. package/esm/locales/ptPT.js +4 -4
  84. package/esm/material/variables.js +1 -2
  85. package/esm/models/api/gridCoreApi.d.ts +1 -1
  86. package/esm/models/gridCellClass.d.ts +2 -0
  87. package/esm/models/gridColumnGrouping.d.ts +2 -0
  88. package/esm/models/gridColumnGrouping.js +2 -0
  89. package/esm/models/gridColumnHeaderClass.d.ts +2 -0
  90. package/esm/models/gridRows.d.ts +2 -0
  91. package/esm/models/gridSortModel.d.ts +5 -0
  92. package/esm/models/params/gridRowParams.d.ts +1 -1
  93. package/esm/models/params/gridRowParams.js +1 -1
  94. package/esm/utils/createSelector.d.ts +3 -11
  95. package/esm/utils/createSelector.js +16 -86
  96. package/hooks/core/pipeProcessing/useGridPipeProcessing.js +3 -3
  97. package/hooks/core/useGridApiInitialization.js +2 -2
  98. package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +13 -5
  99. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
  100. package/hooks/features/columnResize/columnResizeSelector.d.ts +3 -1
  101. package/hooks/features/columns/gridColumnsSelector.d.ts +41 -15
  102. package/hooks/features/columns/gridColumnsUtils.js +3 -1
  103. package/hooks/features/dataSource/gridDataSourceSelector.d.ts +4 -2
  104. package/hooks/features/dataSource/useGridDataSourceBase.js +4 -0
  105. package/hooks/features/density/densitySelector.d.ts +3 -1
  106. package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +36 -12
  107. package/hooks/features/editing/gridEditingSelectors.d.ts +8 -4
  108. package/hooks/features/filter/gridFilterSelector.d.ts +51 -17
  109. package/hooks/features/filter/gridFilterState.d.ts +2 -1
  110. package/hooks/features/filter/gridFilterState.js +2 -1
  111. package/hooks/features/filter/useGridFilter.js +2 -2
  112. package/hooks/features/focus/gridFocusStateSelector.d.ts +24 -8
  113. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +9 -3
  114. package/hooks/features/pagination/gridPaginationSelector.d.ts +35 -19
  115. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +9 -4
  116. package/hooks/features/preferencesPanel/gridPreferencePanelSelector.d.ts +3 -1
  117. package/hooks/features/rowSelection/gridRowSelectionSelector.d.ts +9 -3
  118. package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +9 -5
  119. package/hooks/features/rowSelection/utils.d.ts +5 -3
  120. package/hooks/features/rows/gridRowSpanningSelectors.d.ts +9 -3
  121. package/hooks/features/rows/gridRowsSelector.d.ts +50 -29
  122. package/hooks/features/sorting/gridSortingSelector.d.ts +15 -5
  123. package/hooks/features/virtualization/gridFocusedVirtualCellSelector.d.ts +4 -2
  124. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +15 -5
  125. package/hooks/features/virtualization/gridVirtualizationSelectors.js +3 -1
  126. package/hooks/utils/index.d.ts +1 -1
  127. package/hooks/utils/useGridSelector.d.ts +2 -4
  128. package/hooks/utils/useGridSelector.js +4 -4
  129. package/index.js +1 -1
  130. package/internals/index.d.ts +0 -1
  131. package/internals/index.js +0 -8
  132. package/locales/arSD.js +5 -6
  133. package/locales/ptPT.js +4 -4
  134. package/material/variables.js +1 -2
  135. package/models/api/gridCoreApi.d.ts +1 -1
  136. package/models/gridCellClass.d.ts +2 -0
  137. package/models/gridColumnGrouping.d.ts +2 -0
  138. package/models/gridColumnGrouping.js +2 -0
  139. package/models/gridColumnHeaderClass.d.ts +2 -0
  140. package/models/gridRows.d.ts +2 -0
  141. package/models/gridSortModel.d.ts +5 -0
  142. package/models/params/gridRowParams.d.ts +1 -1
  143. package/models/params/gridRowParams.js +1 -1
  144. package/package.json +4 -5
  145. package/utils/createSelector.d.ts +3 -11
  146. package/utils/createSelector.js +18 -88
  147. package/esm/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  148. package/esm/hooks/utils/useGridComponentRenderer.js +0 -36
  149. package/esm/utils/Store.d.ts +0 -11
  150. package/esm/utils/Store.js +0 -24
  151. package/esm/utils/weakMapMemoize.d.ts +0 -20
  152. package/esm/utils/weakMapMemoize.js +0 -128
  153. package/hooks/utils/useGridComponentRenderer.d.ts +0 -12
  154. package/hooks/utils/useGridComponentRenderer.js +0 -44
  155. package/utils/Store.d.ts +0 -11
  156. package/utils/Store.js +0 -31
  157. package/utils/weakMapMemoize.d.ts +0 -20
  158. package/utils/weakMapMemoize.js +0 -134
@@ -1,6 +1,8 @@
1
- export declare const gridFocusedVirtualCellSelector: import("@mui/x-data-grid").OutputSelector<import("../../../models/gridStateCommunity.js").GridStateCommunity, import("@mui/x-data-grid").GridCellCoordinates | null, {
1
+ export declare const gridFocusedVirtualCellSelector: (args_0: import("react").RefObject<{
2
+ state: import("../../../models/gridStateCommunity.js").GridStateCommunity;
3
+ } | null>) => {
2
4
  rowIndex: number;
3
5
  columnIndex: number;
4
6
  id?: import("@mui/x-data-grid").GridRowId | undefined;
5
7
  field?: string | undefined;
6
- } | null>;
8
+ } | null;
@@ -10,27 +10,37 @@ export declare const gridVirtualizationSelector: import("@mui/x-data-grid").Outp
10
10
  * @category Virtualization
11
11
  * @deprecated Use `gridVirtualizationColumnEnabledSelector` and `gridVirtualizationRowEnabledSelector`
12
12
  */
13
- export declare const gridVirtualizationEnabledSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridVirtualizationState, boolean>;
13
+ export declare const gridVirtualizationEnabledSelector: (args_0: import("react").RefObject<{
14
+ state: GridStateCommunity;
15
+ } | null>) => boolean;
14
16
  /**
15
17
  * Get the enabled state for column virtualization
16
18
  * @category Virtualization
17
19
  */
18
- export declare const gridVirtualizationColumnEnabledSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridVirtualizationState, boolean>;
20
+ export declare const gridVirtualizationColumnEnabledSelector: (args_0: import("react").RefObject<{
21
+ state: GridStateCommunity;
22
+ } | null>) => boolean;
19
23
  /**
20
24
  * Get the enabled state for row virtualization
21
25
  * @category Virtualization
22
26
  */
23
- export declare const gridVirtualizationRowEnabledSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridVirtualizationState, boolean>;
27
+ export declare const gridVirtualizationRowEnabledSelector: (args_0: import("react").RefObject<{
28
+ state: GridStateCommunity;
29
+ } | null>) => boolean;
24
30
  /**
25
31
  * Get the render context
26
32
  * @category Virtualization
27
33
  * @ignore - do not document.
28
34
  */
29
- export declare const gridRenderContextSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridVirtualizationState, import("@mui/x-data-grid").GridRenderContext>;
35
+ export declare const gridRenderContextSelector: (args_0: import("react").RefObject<{
36
+ state: GridStateCommunity;
37
+ } | null>) => import("@mui/x-data-grid").GridRenderContext;
30
38
  /**
31
39
  * Get the render context, with only columns filled in.
32
40
  * This is cached, so it can be used to only re-render when the column interval changes.
33
41
  * @category Virtualization
34
42
  * @ignore - do not document.
35
43
  */
36
- export declare const gridRenderContextColumnsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, number, GridColumnsRenderContext>;
44
+ export declare const gridRenderContextColumnsSelector: (args_0: import("react").RefObject<{
45
+ state: GridStateCommunity;
46
+ } | null>) => GridColumnsRenderContext;
@@ -30,6 +30,8 @@ export const gridVirtualizationRowEnabledSelector = createSelector(gridVirtualiz
30
30
  * @ignore - do not document.
31
31
  */
32
32
  export const gridRenderContextSelector = createSelector(gridVirtualizationSelector, state => state.renderContext);
33
+ const firstColumnIndexSelector = createRootSelector(state => state.virtualization.renderContext.firstColumnIndex);
34
+ const lastColumnIndexSelector = createRootSelector(state => state.virtualization.renderContext.lastColumnIndex);
33
35
 
34
36
  /**
35
37
  * Get the render context, with only columns filled in.
@@ -37,7 +39,7 @@ export const gridRenderContextSelector = createSelector(gridVirtualizationSelect
37
39
  * @category Virtualization
38
40
  * @ignore - do not document.
39
41
  */
40
- export const gridRenderContextColumnsSelector = createSelectorMemoized(apiRef => apiRef.current.state.virtualization.renderContext.firstColumnIndex, apiRef => apiRef.current.state.virtualization.renderContext.lastColumnIndex, (firstColumnIndex, lastColumnIndex) => ({
42
+ export const gridRenderContextColumnsSelector = createSelectorMemoized(firstColumnIndexSelector, lastColumnIndexSelector, (firstColumnIndex, lastColumnIndex) => ({
41
43
  firstColumnIndex,
42
44
  lastColumnIndex
43
45
  }));
@@ -6,4 +6,4 @@ export * from "./useGridNativeEventListener.js";
6
6
  export * from "./useFirstRender.js";
7
7
  export * from "./useOnMount.js";
8
8
  export * from "./useRunOnce.js";
9
- export type { RenderProp } from "./useGridComponentRenderer.js";
9
+ export type { RenderProp } from '@mui/x-internals/useComponentRenderer';
@@ -1,8 +1,6 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import type { GridApiCommon } from "../../models/api/gridApiCommon.js";
3
- import type { OutputSelector } from "../../utils/createSelector.js";
4
- type Selector<Api extends GridApiCommon, Args, T> = ((apiRef: RefObject<Api>) => T) | ((apiRef: RefObject<Api | null>) => T) | OutputSelector<Api['state'], Args, T>;
5
3
  export declare const objectShallowCompare: (a: unknown, b: unknown) => boolean;
6
4
  export declare const argsEqual: (prev: any, curr: any) => boolean;
7
- export declare const useGridSelector: <Api extends GridApiCommon, Args, T>(apiRef: RefObject<Api>, selector: Selector<Api, Args, T>, args?: Args, equals?: <U = T>(a: U, b: U) => boolean) => T;
8
- export {};
5
+ export declare function useGridSelector<Api extends GridApiCommon, T>(apiRef: RefObject<Api>, selector: (apiRef: RefObject<Api>) => T, args?: undefined, equals?: <U = T>(a: U, b: U) => boolean): T;
6
+ export declare function useGridSelector<Api extends GridApiCommon, T, Args>(apiRef: RefObject<Api>, selector: (apiRef: RefObject<Api>, a1: Args) => T, args: Args, equals?: <U = T>(a: U, b: U) => boolean): T;
@@ -28,7 +28,7 @@ const createRefs = () => ({
28
28
  });
29
29
  const EMPTY = [];
30
30
  const emptyGetSnapshot = () => null;
31
- export const useGridSelector = (apiRef, selector, args = undefined, equals = defaultCompare) => {
31
+ export function useGridSelector(apiRef, selector, args = undefined, equals = defaultCompare) {
32
32
  if (process.env.NODE_ENV !== 'production') {
33
33
  if (!apiRef.current.state) {
34
34
  warnOnce(['MUI X: `useGridSelector` has been called before the initialization of the state.', 'This hook can only be used inside the context of the grid.']);
@@ -77,4 +77,4 @@ export const useGridSelector = (apiRef, selector, args = undefined, equals = def
77
77
  }, EMPTY);
78
78
  useSyncExternalStore(unsubscribe, subscribe, emptyGetSnapshot);
79
79
  return state;
80
- };
80
+ }
package/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.5.0
2
+ * @mui/x-data-grid v8.5.2
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -77,7 +77,6 @@ export * from "../hooks/features/virtualization/index.js";
77
77
  export { useGridColumnResize, columnResizeStateInitializer } from "../hooks/features/columnResize/useGridColumnResize.js";
78
78
  export { ROW_SELECTION_PROPAGATION_DEFAULT } from "../hooks/features/rowSelection/utils.js";
79
79
  export { useGridListView, listViewStateInitializer } from "../hooks/features/listView/useGridListView.js";
80
- export { useGridComponentRenderer } from "../hooks/utils/useGridComponentRenderer.js";
81
80
  export { useTimeout } from "../hooks/utils/useTimeout.js";
82
81
  export { useGridVisibleRows, getVisibleRows } from "../hooks/utils/useGridVisibleRows.js";
83
82
  export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js";
@@ -63,7 +63,6 @@ export * from "../hooks/features/virtualization/index.js";
63
63
  export { useGridColumnResize, columnResizeStateInitializer } from "../hooks/features/columnResize/useGridColumnResize.js";
64
64
  export { ROW_SELECTION_PROPAGATION_DEFAULT } from "../hooks/features/rowSelection/utils.js";
65
65
  export { useGridListView, listViewStateInitializer } from "../hooks/features/listView/useGridListView.js";
66
- export { useGridComponentRenderer } from "../hooks/utils/useGridComponentRenderer.js";
67
66
  export { useTimeout } from "../hooks/utils/useTimeout.js";
68
67
  export { useGridVisibleRows, getVisibleRows } from "../hooks/utils/useGridVisibleRows.js";
69
68
  export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js";
@@ -39,12 +39,11 @@ const arSDGrid = {
39
39
  // toolbarAssistant: 'AI Assistant',
40
40
 
41
41
  // Columns management text
42
- // columnsManagementSearchTitle: 'Search',
43
- // columnsManagementNoColumns: 'No columns',
44
- // columnsManagementShowHideAllText: 'Show/Hide All',
45
- // columnsManagementReset: 'Reset',
46
- // columnsManagementDeleteIconLabel: 'Clear',
47
-
42
+ columnsManagementSearchTitle: 'بحث',
43
+ columnsManagementNoColumns: 'لا يوجد أعمدة',
44
+ columnsManagementShowHideAllText: 'عرض/إخفاء الكل',
45
+ columnsManagementReset: 'إعادة ضبط',
46
+ columnsManagementDeleteIconLabel: 'مسح',
48
47
  // Filter panel text
49
48
  filterPanelAddFilter: 'إضافة مرشِح',
50
49
  filterPanelRemoveAll: 'حذف الكل',
@@ -10,7 +10,7 @@ const ptPTGrid = {
10
10
  // Density selector toolbar button text
11
11
  toolbarDensity: 'Densidade',
12
12
  toolbarDensityLabel: 'Densidade',
13
- toolbarDensityCompact: 'Compactar',
13
+ toolbarDensityCompact: 'Compacto',
14
14
  toolbarDensityStandard: 'Padrão',
15
15
  toolbarDensityComfortable: 'Confortável',
16
16
  // Columns selector toolbar button text
@@ -25,7 +25,7 @@ const ptPTGrid = {
25
25
  // Quick filter toolbar field
26
26
  toolbarQuickFilterPlaceholder: 'Procurar…',
27
27
  toolbarQuickFilterLabel: 'Procurar',
28
- toolbarQuickFilterDeleteIconLabel: 'Claro',
28
+ toolbarQuickFilterDeleteIconLabel: 'Limpar',
29
29
  // Export selector toolbar button text
30
30
  toolbarExport: 'Exportar',
31
31
  toolbarExportLabel: 'Exportar',
@@ -144,8 +144,8 @@ const ptPTGrid = {
144
144
  unpin: 'Desafixar',
145
145
  // Tree Data
146
146
  treeDataGroupingHeaderName: 'Grupo',
147
- treeDataExpand: 'ver crianças',
148
- treeDataCollapse: 'esconder crianças',
147
+ treeDataExpand: 'expandir',
148
+ treeDataCollapse: 'colapsar',
149
149
  // Grouping columns
150
150
  groupingColumnHeaderName: 'Grupo',
151
151
  groupColumn: name => `Agrupar por ${name}`,
@@ -16,8 +16,7 @@ export function useMaterialCSSVariables() {
16
16
  }
17
17
  function transformTheme(t) {
18
18
  const borderColor = getBorderColor(t);
19
- const dataGridPalette = t.palette.DataGrid; // FIXME: docs typecheck error
20
-
19
+ const dataGridPalette = (t.vars || t).palette.DataGrid;
21
20
  const backgroundBase = dataGridPalette?.bg ?? (t.vars || t).palette.background.default;
22
21
  const backgroundHeader = dataGridPalette?.headerBg ?? backgroundBase;
23
22
  const backgroundPinned = dataGridPalette?.pinnedBg ?? backgroundBase;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { EventManager, EventListenerOptions } from '@mui/x-internals/EventManager';
3
+ import type { Store } from '@mui/x-internals/store';
3
4
  import type { GridEventPublisher, GridEventListener, GridEvents } from "../events/index.js";
4
- import { Store } from "../../utils/Store.js";
5
5
  import type { GridApiCaches } from "../gridApiCaches.js";
6
6
  import type { GridApiCommon, GridPrivateApiCommon } from "./gridApiCommon.js";
7
7
  import type { DataGridProcessedProps } from "../props/DataGridProps.js";
@@ -2,6 +2,8 @@ import { GridValidRowModel } from "./gridRows.js";
2
2
  import { GridCellParams } from "./params/gridCellParams.js";
3
3
  /**
4
4
  * A function used to process cellClassName params.
5
+ * @param {GridCellParams<R, V>} params The parameters of the cell.
6
+ * @returns {string} The class name to be added to the cell.
5
7
  */
6
8
  export type GridCellClassFn<R extends GridValidRowModel = any, V = unknown> = (params: GridCellParams<R, V>) => string;
7
9
  /**
@@ -7,6 +7,8 @@ export type GridColumnNode = GridColumnGroup | GridLeafColumn;
7
7
  export declare function isLeaf(node: GridColumnNode): node is GridLeafColumn;
8
8
  /**
9
9
  * A function used to process headerClassName params.
10
+ * @param {GridColumnGroupHeaderParams} params The parameters of the column group header.
11
+ * @returns {string} The class name to be added to the column group header cell.
10
12
  */
11
13
  export type GridColumnGroupHeaderClassFn = (params: GridColumnGroupHeaderParams) => string;
12
14
  /**
@@ -4,6 +4,8 @@ export function isLeaf(node) {
4
4
 
5
5
  /**
6
6
  * A function used to process headerClassName params.
7
+ * @param {GridColumnGroupHeaderParams} params The parameters of the column group header.
8
+ * @returns {string} The class name to be added to the column group header cell.
7
9
  */
8
10
 
9
11
  /**
@@ -1,6 +1,8 @@
1
1
  import { GridColumnHeaderParams } from "./params/gridColumnHeaderParams.js";
2
2
  /**
3
3
  * A function used to process headerClassName params.
4
+ * @param {GridColumnHeaderParams} params The parameters of the column header.
5
+ * @returns {string} The class name to be added to the column header cell.
4
6
  */
5
7
  export type GridColumnHeaderClassFn = (params: GridColumnHeaderParams) => string;
6
8
  /**
@@ -173,6 +173,8 @@ export interface GridRowEntry<R extends GridValidRowModel = GridValidRowModel> {
173
173
  }
174
174
  /**
175
175
  * The function to retrieve the id of a [[GridRowModel]].
176
+ * @param {R} row The row model.
177
+ * @returns {GridRowId} The id of the row.
176
178
  */
177
179
  export type GridRowIdGetter<R extends GridValidRowModel = GridValidRowModel> = (row: R) => GridRowId;
178
180
  export {};
@@ -9,6 +9,11 @@ export interface GridSortCellParams<V = any> {
9
9
  }
10
10
  /**
11
11
  * The type of the sort comparison function.
12
+ * @param {V} v1 The first value to compare.
13
+ * @param {V} v2 The second value to compare.
14
+ * @param {GridSortCellParams<V>} cellParams1 The parameters of the first cell.
15
+ * @param {GridSortCellParams<V>} cellParams2 The parameters of the second cell.
16
+ * @returns {number} The result of the comparison.
12
17
  */
13
18
  export type GridComparatorFn<V = any> = (v1: V, v2: V, cellParams1: GridSortCellParams<V>, cellParams2: GridSortCellParams<V>) => number;
14
19
  /**
@@ -3,7 +3,7 @@ import type { GridColDef } from "../colDef/gridColDef.js";
3
3
  /**
4
4
  * Object passed as parameter in the row callbacks.
5
5
  * @demos
6
- * - [Master detail](/x/react-data-grid/master-detail/)
6
+ * - [Master-detail row panels](/x/react-data-grid/master-detail/)
7
7
  */
8
8
  export interface GridRowParams<R extends GridValidRowModel = any> {
9
9
  /**
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Object passed as parameter in the row callbacks.
3
3
  * @demos
4
- * - [Master detail](/x/react-data-grid/master-detail/)
4
+ * - [Master-detail row panels](/x/react-data-grid/master-detail/)
5
5
  */
6
6
  /**
7
7
  * Object passed as parameter in the row `getRowClassName` callback prop.
@@ -1,23 +1,15 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
- import { Selector, SelectorResultArray } from 'reselect';
2
+ import { CreateSelectorFunction } from '@mui/x-internals/store';
3
3
  export interface OutputSelector<State, Args, Result> {
4
4
  (apiRef: RefObject<{
5
5
  state: State;
6
6
  } | null>, args?: Args): Result;
7
7
  }
8
- type StateFromSelector<T> = T extends ((first: infer F, ...args: any[]) => any) ? F extends RefObject<{
9
- state: infer F2;
10
- } | null> ? F2 : F : never;
11
- type StateFromSelectorList<Selectors extends readonly any[]> = Selectors extends [f: infer F, ...other: infer R] ? StateFromSelector<F> extends StateFromSelectorList<R> ? StateFromSelector<F> : StateFromSelectorList<R> : {};
12
- type SelectorResultArrayWithArgs<Selectors extends ReadonlyArray<Selector<any>>, Args> = [...SelectorResultArray<Selectors>, Args];
13
- type SelectorArgs<Selectors extends ReadonlyArray<Selector<any>>, Args, Result> = [selectors: [...Selectors], combiner: (...args: SelectorResultArrayWithArgs<Selectors, Args>) => Result] | [...Selectors, (...args: SelectorResultArrayWithArgs<Selectors, Args>) => Result];
14
- type CreateSelectorFunction = <Selectors extends ReadonlyArray<Selector<any>>, Args, Result>(...items: SelectorArgs<Selectors, Args, Result>) => OutputSelector<StateFromSelectorList<Selectors>, Args, Result>;
15
8
  export declare const createSelector: CreateSelectorFunction;
9
+ export declare const createSelectorMemoized: CreateSelectorFunction;
16
10
  /**
17
11
  * Used to create the root selector for a feature. It assumes that the state is already initialized
18
12
  * and strips from the types the possibility of `apiRef` being `null`.
19
13
  * Users are warned about this in our documentation https://mui.com/x/react-data-grid/state/#direct-selector-access
20
14
  */
21
- export declare const createRootSelector: <State, Args, Result>(fn: (state: State, args: Args) => Result) => OutputSelector<State, Args, Result>;
22
- export declare const createSelectorMemoized: CreateSelectorFunction;
23
- export {};
15
+ export declare const createRootSelector: <State, Args, Result>(fn: (state: State, args: Args) => Result) => OutputSelector<State, Args, Result>;
@@ -1,61 +1,12 @@
1
- import { lruMemoize, createSelectorCreator } from 'reselect';
2
- import { argsEqual } from "../hooks/utils/useGridSelector.js";
3
- import { weakMapMemoize as customWeakMapMemoize } from "./weakMapMemoize.js";
4
- const reselectCreateSelector = createSelectorCreator({
5
- memoize: lruMemoize,
6
- memoizeOptions: {
7
- maxSize: 1,
8
- equalityCheck: Object.is
9
- },
10
- argsMemoize: customWeakMapMemoize
11
- });
12
- const cache = new WeakMap();
13
- export const createSelector = (a, b, c, d, e, f, ...other) => {
14
- if (other.length > 0) {
15
- throw new Error('Unsupported number of selectors');
16
- }
17
- let selector;
18
-
19
- // eslint-disable-next-line id-denylist
20
- if (a && b && c && d && e && f) {
21
- selector = (apiRef, args) => {
22
- const va = a(apiRef, args);
23
- const vb = b(apiRef, args);
24
- const vc = c(apiRef, args);
25
- const vd = d(apiRef, args);
26
- const ve = e(apiRef, args);
27
- return f(va, vb, vc, vd, ve, args);
28
- };
29
- // eslint-disable-next-line id-denylist
30
- } else if (a && b && c && d && e) {
31
- selector = (apiRef, args) => {
32
- const va = a(apiRef, args);
33
- const vb = b(apiRef, args);
34
- const vc = c(apiRef, args);
35
- const vd = d(apiRef, args);
36
- return e(va, vb, vc, vd, args);
37
- };
38
- } else if (a && b && c && d) {
39
- selector = (apiRef, args) => {
40
- const va = a(apiRef, args);
41
- const vb = b(apiRef, args);
42
- const vc = c(apiRef, args);
43
- return d(va, vb, vc, args);
44
- };
45
- } else if (a && b && c) {
46
- selector = (apiRef, args) => {
47
- const va = a(apiRef, args);
48
- const vb = b(apiRef, args);
49
- return c(va, vb, args);
50
- };
51
- } else if (a && b) {
52
- selector = (apiRef, args) => {
53
- const va = a(apiRef, args);
54
- return b(va, args);
55
- };
56
- } else {
57
- throw new Error('Missing arguments');
58
- }
1
+ import { createSelector as baseCreateSelector, createSelectorMemoized as baseCreateSelectorMemoized } from '@mui/x-internals/store';
2
+ export const createSelector = (...args) => {
3
+ const baseSelector = baseCreateSelector(...args);
4
+ const selector = (apiRef, a1, a2, a3) => baseSelector(unwrapIfNeeded(apiRef), a1, a2, a3);
5
+ return selector;
6
+ };
7
+ export const createSelectorMemoized = (...args) => {
8
+ const baseSelector = baseCreateSelectorMemoized(...args);
9
+ const selector = (apiRef, a1, a2, a3) => baseSelector(unwrapIfNeeded(apiRef), a1, a2, a3);
59
10
  return selector;
60
11
  };
61
12
 
@@ -64,31 +15,10 @@ export const createSelector = (a, b, c, d, e, f, ...other) => {
64
15
  * and strips from the types the possibility of `apiRef` being `null`.
65
16
  * Users are warned about this in our documentation https://mui.com/x/react-data-grid/state/#direct-selector-access
66
17
  */
67
- export const createRootSelector = fn => (apiRef, args) => fn(apiRef.current.state, args);
68
- export const createSelectorMemoized = (...args) => {
69
- const selector = (apiRef, selectorArgs) => {
70
- const cacheKey = apiRef.current.instanceId;
71
- const cacheArgsInit = cache.get(cacheKey);
72
- const cacheArgs = cacheArgsInit ?? new Map();
73
- const cacheFn = cacheArgs.get(args);
74
- if (cacheArgs && cacheFn) {
75
- if (!argsEqual(cacheFn.selectorArgs, selectorArgs)) {
76
- const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
77
- const fn = reselectCreateSelector(...reselectArgs);
78
- fn.selectorArgs = selectorArgs;
79
- cacheArgs.set(args, fn);
80
- return fn(apiRef, selectorArgs);
81
- }
82
- return cacheFn(apiRef, selectorArgs);
83
- }
84
- const reselectArgs = selectorArgs !== undefined ? [...args.slice(0, args.length - 1), () => selectorArgs, args[args.length - 1]] : args;
85
- const fn = reselectCreateSelector(...reselectArgs);
86
- fn.selectorArgs = selectorArgs;
87
- if (!cacheArgsInit) {
88
- cache.set(cacheKey, cacheArgs);
89
- }
90
- cacheArgs.set(args, fn);
91
- return fn(apiRef, selectorArgs);
92
- };
93
- return selector;
94
- };
18
+ export const createRootSelector = fn => (apiRef, args) => fn(unwrapIfNeeded(apiRef), args);
19
+ function unwrapIfNeeded(refOrState) {
20
+ if ('current' in refOrState) {
21
+ return refOrState.current.state;
22
+ }
23
+ return refOrState;
24
+ }
@@ -64,12 +64,12 @@ const useGridPipeProcessing = apiRef => {
64
64
  const oldProcessor = groupCache.processors.get(id);
65
65
  if (oldProcessor !== processor) {
66
66
  groupCache.processors.set(id, processor);
67
- groupCache.processorsAsArray = Array.from(cache.current[group].processors.values());
67
+ groupCache.processorsAsArray = Array.from(cache.current[group].processors.values()).filter(processorValue => processorValue !== null);
68
68
  runAppliers(groupCache);
69
69
  }
70
70
  return () => {
71
- cache.current[group].processors.delete(id);
72
- cache.current[group].processorsAsArray = Array.from(cache.current[group].processors.values());
71
+ cache.current[group].processors.set(id, null);
72
+ cache.current[group].processorsAsArray = Array.from(cache.current[group].processors.values()).filter(processorValue => processorValue !== null);
73
73
  };
74
74
  }, [runAppliers]);
75
75
  const registerPipeApplier = React.useCallback((group, id, applier) => {
@@ -8,7 +8,7 @@ exports.unwrapPrivateAPI = unwrapPrivateAPI;
8
8
  exports.useGridApiInitialization = useGridApiInitialization;
9
9
  var React = _interopRequireWildcard(require("react"));
10
10
  var _EventManager = require("@mui/x-internals/EventManager");
11
- var _Store = require("../../utils/Store");
11
+ var _store = require("@mui/x-internals/store");
12
12
  var _useGridApiMethod = require("../utils/useGridApiMethod");
13
13
  var _signature = require("../../constants/signature");
14
14
  const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
@@ -27,7 +27,7 @@ function createPrivateAPI(publicApiRef) {
27
27
  const state = {};
28
28
  const privateApi = {
29
29
  state,
30
- store: _Store.Store.create(state),
30
+ store: _store.Store.create(state),
31
31
  instanceId: {
32
32
  id: globalId
33
33
  }
@@ -4,9 +4,17 @@ import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
4
4
  * @ignore - do not document.
5
5
  */
6
6
  export declare const gridColumnGroupingSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, import("@mui/x-data-grid").GridColumnsGroupingState>;
7
- export declare const gridColumnGroupsUnwrappedModelSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsGroupingState, {
7
+ export declare const gridColumnGroupsUnwrappedModelSelector: (args_0: import("react").RefObject<{
8
+ state: GridStateCommunity;
9
+ } | null>) => {
8
10
  [columnField: string]: string[];
9
- }>;
10
- export declare const gridColumnGroupsLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces.js").GridColumnGroupLookup>;
11
- export declare const gridColumnGroupsHeaderStructureSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsGroupingState, import("./gridColumnGroupsInterfaces.js").GridGroupingStructure[][]>;
12
- export declare const gridColumnGroupsHeaderMaxDepthSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsGroupingState, number>;
11
+ };
12
+ export declare const gridColumnGroupsLookupSelector: (args_0: import("react").RefObject<{
13
+ state: GridStateCommunity;
14
+ } | null>) => import("./gridColumnGroupsInterfaces.js").GridColumnGroupLookup;
15
+ export declare const gridColumnGroupsHeaderStructureSelector: (args_0: import("react").RefObject<{
16
+ state: GridStateCommunity;
17
+ } | null>) => import("./gridColumnGroupsInterfaces.js").GridGroupingStructure[][];
18
+ export declare const gridColumnGroupsHeaderMaxDepthSelector: (args_0: import("react").RefObject<{
19
+ state: GridStateCommunity;
20
+ } | null>) => number;
@@ -29,7 +29,7 @@ export interface GetHeadersParams {
29
29
  maxLastColumn?: number;
30
30
  }
31
31
  type OwnerState = DataGridProcessedProps;
32
- export declare const GridColumnHeaderRow: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
32
+ export declare const GridColumnHeaderRow: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
33
33
  ownerState: OwnerState;
34
34
  }, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
35
35
  export declare const useGridColumnHeaders: (props: UseGridColumnHeadersProps) => {
@@ -1,3 +1,5 @@
1
1
  import { GridStateCommunity } from "../../../models/gridStateCommunity.js";
2
2
  export declare const gridColumnResizeSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, import("@mui/x-data-grid").GridColumnResizeState>;
3
- export declare const gridResizingColumnFieldSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnResizeState, string>;
3
+ export declare const gridResizingColumnFieldSelector: (args_0: import("react").RefObject<{
4
+ state: GridStateCommunity;
5
+ } | null>) => string;