@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
@@ -4,9 +4,9 @@ const _excluded = ["render", "options", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
7
8
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
8
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
9
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  /**
12
12
  * A button that triggers a print export.
@@ -33,7 +33,7 @@ const ExportPrint = forwardRef(function ExportPrint(props, ref) {
33
33
  apiRef.current.exportDataAsPrint(options);
34
34
  onClick?.(event);
35
35
  };
36
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
36
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
37
37
  onClick: handleClick
38
38
  }, other, {
39
39
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export interface FilterPanelState {
5
5
  /**
@@ -5,12 +5,12 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import useId from '@mui/utils/useId';
7
7
  import { forwardRef } from '@mui/x-internals/forwardRef';
8
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
8
9
  import useForkRef from '@mui/utils/useForkRef';
9
10
  import { useGridPanelContext } from "../panel/GridPanelContext.js";
10
11
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
11
12
  import { gridFilterActiveItemsSelector, gridPreferencePanelStateSelector, GridPreferencePanelsValue, useGridSelector } from "../../hooks/index.js";
12
13
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
13
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  /**
16
16
  * A button that opens and closes the filter panel.
@@ -63,7 +63,7 @@ const FilterPanelTrigger = forwardRef(function FilterPanelTrigger(props, ref) {
63
63
  }
64
64
  onPointerUp?.(event);
65
65
  };
66
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
66
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
67
67
  id: buttonId,
68
68
  'aria-haspopup': 'true',
69
69
  'aria-expanded': open ? 'true' : undefined,
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
2
3
  import { QuickFilterState } from "./QuickFilterContext.js";
3
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
4
4
  import type { GridFilterModel } from "../../models/index.js";
5
5
  export type QuickFilterProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'className'> & {
6
6
  /**
@@ -7,8 +7,8 @@ import debounce from '@mui/utils/debounce';
7
7
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
8
8
  import useId from '@mui/utils/useId';
9
9
  import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
10
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
10
11
  import { QuickFilterContext } from "./QuickFilterContext.js";
11
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
12
12
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
13
13
  import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
14
14
  import { gridQuickFilterValuesSelector } from "../../hooks/features/filter/index.js";
@@ -129,7 +129,7 @@ function QuickFilter(props) {
129
129
  ref.current.style.setProperty('--trigger-width', `${triggerRef.current?.offsetWidth}px`);
130
130
  }
131
131
  }, []);
132
- const element = useGridComponentRenderer('div', render, _extends({
132
+ const element = useComponentRenderer('div', render, _extends({
133
133
  className: resolvedClassName
134
134
  }, other, {
135
135
  ref
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterClearProps = Omit<GridSlotProps['baseIconButton'], 'className'> & {
@@ -4,8 +4,8 @@ const _excluded = ["render", "className", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
7
8
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
8
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
9
9
  import { useQuickFilterContext } from "./QuickFilterContext.js";
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
11
  /**
@@ -37,7 +37,7 @@ const QuickFilterClear = forwardRef(function QuickFilterClear(props, ref) {
37
37
  clearValue();
38
38
  onClick?.(event);
39
39
  };
40
- const element = useGridComponentRenderer(rootProps.slots.baseIconButton, render, _extends({}, rootProps.slotProps?.baseIconButton, {
40
+ const element = useComponentRenderer(rootProps.slots.baseIconButton, render, _extends({}, rootProps.slotProps?.baseIconButton, {
41
41
  className: resolvedClassName,
42
42
  tabIndex: -1
43
43
  }, other, {
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterControlProps = Omit<GridSlotProps['baseTextField'], 'className'> & {
@@ -5,8 +5,8 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import useForkRef from '@mui/utils/useForkRef';
7
7
  import { forwardRef } from '@mui/x-internals/forwardRef';
8
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
8
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
9
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
10
10
  import { useQuickFilterContext } from "./QuickFilterContext.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  /**
@@ -64,7 +64,7 @@ const QuickFilterControl = forwardRef(function QuickFilterControl(props, ref) {
64
64
  onValueChange(event);
65
65
  onChange?.(event);
66
66
  };
67
- const element = useGridComponentRenderer(rootProps.slots.baseTextField, render, _extends({}, rootProps.slotProps?.baseTextField, {
67
+ const element = useComponentRenderer(rootProps.slots.baseTextField, render, _extends({}, rootProps.slotProps?.baseTextField, {
68
68
  slotProps: _extends({
69
69
  htmlInput: _extends({
70
70
  role: 'searchbox',
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  import { QuickFilterState } from "./QuickFilterContext.js";
5
5
  export type QuickFilterTriggerProps = Omit<GridSlotProps['baseButton'], 'className'> & {
@@ -4,9 +4,9 @@ const _excluded = ["render", "className", "onClick"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { forwardRef } from '@mui/x-internals/forwardRef';
7
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
7
8
  import useForkRef from '@mui/utils/useForkRef';
8
9
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
9
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
10
10
  import { useQuickFilterContext } from "./QuickFilterContext.js";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  /**
@@ -41,7 +41,7 @@ const QuickFilterTrigger = forwardRef(function QuickFilterTrigger(props, ref) {
41
41
  onExpandedChange(!state.expanded);
42
42
  onClick?.(event);
43
43
  };
44
- const element = useGridComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
44
+ const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
45
45
  className: resolvedClassName,
46
46
  'aria-controls': controlId,
47
47
  'aria-expanded': state.expanded
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  /**
5
5
  * A function to customize rendering of the component.
@@ -7,9 +7,9 @@ import { styled } from '@mui/system';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
8
  import clsx from 'clsx';
9
9
  import { forwardRef } from '@mui/x-internals/forwardRef';
10
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
10
11
  import { vars } from "../../constants/cssVariables.js";
11
12
  import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
12
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
13
13
  import { ToolbarContext } from "./ToolbarContext.js";
14
14
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
15
15
  import { sortByDocumentPosition } from "./utils.js";
@@ -179,7 +179,7 @@ const Toolbar = forwardRef(function Toolbar(props, ref) {
179
179
  onItemFocus,
180
180
  onItemDisabled
181
181
  }), [focusableItemId, registerItem, unregisterItem, onItemKeyDown, onItemFocus, onItemDisabled]);
182
- const element = useGridComponentRenderer(ToolbarRoot, render, _extends({
182
+ const element = useComponentRenderer(ToolbarRoot, render, _extends({
183
183
  role: 'toolbar',
184
184
  'aria-orientation': 'horizontal',
185
185
  'aria-label': rootProps.label || undefined,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
2
+ import { RenderProp } from '@mui/x-internals/useComponentRenderer';
3
3
  import type { GridSlotProps } from "../../models/index.js";
4
4
  export type ToolbarButtonProps = GridSlotProps['baseIconButton'] & {
5
5
  /**
@@ -6,8 +6,8 @@ import PropTypes from 'prop-types';
6
6
  import useForkRef from '@mui/utils/useForkRef';
7
7
  import useId from '@mui/utils/useId';
8
8
  import { forwardRef } from '@mui/x-internals/forwardRef';
9
+ import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
9
10
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
10
- import { useGridComponentRenderer } from "../../hooks/utils/useGridComponentRenderer.js";
11
11
  import { useToolbarContext } from "./ToolbarContext.js";
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  /**
@@ -70,7 +70,7 @@ const ToolbarButton = forwardRef(function ToolbarButton(props, ref) {
70
70
  }
71
71
  previousAriaDisabled.current = ariaDisabled;
72
72
  }, [ariaDisabled, id, onItemDisabled]);
73
- const element = useGridComponentRenderer(rootProps.slots.baseIconButton, render, _extends({}, rootProps.slotProps?.baseIconButton, {
73
+ const element = useComponentRenderer(rootProps.slots.baseIconButton, render, _extends({}, rootProps.slotProps?.baseIconButton, {
74
74
  tabIndex: focusableItemId === id ? 0 : -1
75
75
  }, other, {
76
76
  disabled,
@@ -56,12 +56,12 @@ export const useGridPipeProcessing = apiRef => {
56
56
  const oldProcessor = groupCache.processors.get(id);
57
57
  if (oldProcessor !== processor) {
58
58
  groupCache.processors.set(id, processor);
59
- groupCache.processorsAsArray = Array.from(cache.current[group].processors.values());
59
+ groupCache.processorsAsArray = Array.from(cache.current[group].processors.values()).filter(processorValue => processorValue !== null);
60
60
  runAppliers(groupCache);
61
61
  }
62
62
  return () => {
63
- cache.current[group].processors.delete(id);
64
- cache.current[group].processorsAsArray = Array.from(cache.current[group].processors.values());
63
+ cache.current[group].processors.set(id, null);
64
+ cache.current[group].processorsAsArray = Array.from(cache.current[group].processors.values()).filter(processorValue => processorValue !== null);
65
65
  };
66
66
  }, [runAppliers]);
67
67
  const registerPipeApplier = React.useCallback((group, id, applier) => {
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { EventManager } from '@mui/x-internals/EventManager';
3
- import { Store } from "../../utils/Store.js";
3
+ import { Store } from '@mui/x-internals/store';
4
4
  import { useGridApiMethod } from "../utils/useGridApiMethod.js";
5
5
  import { GridSignature } from "../../constants/signature.js";
6
6
  const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
@@ -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;
@@ -9,40 +9,54 @@ export declare const gridColumnsStateSelector: import("@mui/x-data-grid").Output
9
9
  * Get an array of column fields in the order rendered on screen.
10
10
  * @category Columns
11
11
  */
12
- export declare const gridColumnFieldsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsState, string[]>;
12
+ export declare const gridColumnFieldsSelector: (args_0: import("react").RefObject<{
13
+ state: GridStateCommunity;
14
+ } | null>) => string[];
13
15
  /**
14
16
  * Get the columns as a lookup (an object containing the field for keys and the definition for values).
15
17
  * @category Columns
16
18
  */
17
- export declare const gridColumnLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsState, GridColumnLookup>;
19
+ export declare const gridColumnLookupSelector: (args_0: import("react").RefObject<{
20
+ state: GridStateCommunity;
21
+ } | null>) => GridColumnLookup;
18
22
  /**
19
23
  * Get an array of column definitions in the order rendered on screen..
20
24
  * @category Columns
21
25
  */
22
- export declare const gridColumnDefinitionsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, GridColumnLookup, import("../../../internals/index.js").GridStateColDef[]>;
26
+ export declare const gridColumnDefinitionsSelector: (args_0: import("react").RefObject<{
27
+ state: GridStateCommunity;
28
+ } | null>) => import("../../../internals/index.js").GridStateColDef[];
23
29
  /**
24
30
  * Get the column visibility model, containing the visibility status of each column.
25
31
  * If a column is not registered in the model, it is visible.
26
32
  * @category Visible Columns
27
33
  */
28
- export declare const gridColumnVisibilityModelSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsState, import("@mui/x-data-grid").GridColumnVisibilityModel>;
34
+ export declare const gridColumnVisibilityModelSelector: (args_0: import("react").RefObject<{
35
+ state: GridStateCommunity;
36
+ } | null>) => import("@mui/x-data-grid").GridColumnVisibilityModel;
29
37
  /**
30
38
  * Get the "initial" column visibility model, containing the visibility status of each column.
31
39
  * It is updated when the `columns` prop is updated or when `updateColumns` API method is called.
32
40
  * If a column is not registered in the model, it is visible.
33
41
  * @category Visible Columns
34
42
  */
35
- export declare const gridInitialColumnVisibilityModelSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnsState, import("@mui/x-data-grid").GridColumnVisibilityModel>;
43
+ export declare const gridInitialColumnVisibilityModelSelector: (args_0: import("react").RefObject<{
44
+ state: GridStateCommunity;
45
+ } | null>) => import("@mui/x-data-grid").GridColumnVisibilityModel;
36
46
  /**
37
47
  * Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
38
48
  * @category Visible Columns
39
49
  */
40
- export declare const gridVisibleColumnDefinitionsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridColumnVisibilityModel, import("../../../internals/index.js").GridStateColDef[]>;
50
+ export declare const gridVisibleColumnDefinitionsSelector: (args_0: import("react").RefObject<{
51
+ state: GridStateCommunity;
52
+ } | null>) => import("../../../internals/index.js").GridStateColDef[];
41
53
  /**
42
54
  * Get the field of each visible column.
43
55
  * @category Visible Columns
44
56
  */
45
- export declare const gridVisibleColumnFieldsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("../../../internals/index.js").GridStateColDef[], string[]>;
57
+ export declare const gridVisibleColumnFieldsSelector: (args_0: import("react").RefObject<{
58
+ state: GridStateCommunity;
59
+ } | null>) => string[];
46
60
  /**
47
61
  * Get the visible pinned columns model.
48
62
  * @category Visible Columns
@@ -53,36 +67,48 @@ export declare const gridPinnedColumnsSelector: import("@mui/x-data-grid").Outpu
53
67
  * @category Pinned Columns
54
68
  * @ignore - Do not document
55
69
  */
56
- export declare const gridExistingPinnedColumnSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, boolean, {
70
+ export declare const gridExistingPinnedColumnSelector: (args_0: import("react").RefObject<{
71
+ state: GridStateCommunity;
72
+ } | null>) => {
57
73
  left: string[];
58
74
  right: string[];
59
- }>;
75
+ };
60
76
  /**
61
77
  * Get the visible pinned columns.
62
78
  * @category Visible Columns
63
79
  */
64
- export declare const gridVisiblePinnedColumnDefinitionsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, boolean, {
80
+ export declare const gridVisiblePinnedColumnDefinitionsSelector: (args_0: import("react").RefObject<{
81
+ state: GridStateCommunity;
82
+ } | null>) => {
65
83
  left: import("../../../internals/index.js").GridStateColDef[];
66
84
  right: import("../../../internals/index.js").GridStateColDef[];
67
- }>;
85
+ };
68
86
  /**
69
87
  * Get the left position in pixel of each visible columns relative to the left of the first column.
70
88
  * @category Visible Columns
71
89
  */
72
- export declare const gridColumnPositionsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("../../../internals/index.js").GridStateColDef[], number[]>;
90
+ export declare const gridColumnPositionsSelector: (args_0: import("react").RefObject<{
91
+ state: GridStateCommunity;
92
+ } | null>) => number[];
73
93
  /**
74
94
  * Get the filterable columns as an array.
75
95
  * @category Columns
76
96
  */
77
- export declare const gridFilterableColumnDefinitionsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("../../../internals/index.js").GridStateColDef[], import("../../../internals/index.js").GridStateColDef[]>;
97
+ export declare const gridFilterableColumnDefinitionsSelector: (args_0: import("react").RefObject<{
98
+ state: GridStateCommunity;
99
+ } | null>) => import("../../../internals/index.js").GridStateColDef[];
78
100
  /**
79
101
  * Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
80
102
  * @category Columns
81
103
  */
82
- export declare const gridFilterableColumnLookupSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("../../../internals/index.js").GridStateColDef[], GridColumnLookup>;
104
+ export declare const gridFilterableColumnLookupSelector: (args_0: import("react").RefObject<{
105
+ state: GridStateCommunity;
106
+ } | null>) => GridColumnLookup;
83
107
  /**
84
108
  * Checks if some column has a colSpan field.
85
109
  * @category Columns
86
110
  * @ignore - Do not document
87
111
  */
88
- export declare const gridHasColSpanSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("../../../internals/index.js").GridStateColDef[], boolean>;
112
+ export declare const gridHasColSpanSelector: (args_0: import("react").RefObject<{
113
+ state: GridStateCommunity;
114
+ } | null>) => boolean;
@@ -153,7 +153,9 @@ export const hydrateColumnsWidth = (rawState, dimensions) => {
153
153
  flexColumns
154
154
  });
155
155
  Object.keys(computedColumnWidths).forEach(field => {
156
- columnsLookup[field].computedWidth = computedColumnWidths[field].computedWidth;
156
+ columnsLookup[field] = _extends({}, columnsLookup[field], {
157
+ computedWidth: computedColumnWidths[field].computedWidth
158
+ });
157
159
  });
158
160
  }
159
161
  return _extends({}, rawState, {
@@ -1,8 +1,10 @@
1
- export declare const gridGetRowsParamsSelector: import("@mui/x-data-grid").OutputSelector<import("../../../models/gridStateCommunity.js").GridStateCommunity, import("@mui/x-data-grid").GridPaginationModel, {
1
+ export declare const gridGetRowsParamsSelector: (args_0: import("react").RefObject<{
2
+ state: import("../../../models/gridStateCommunity.js").GridStateCommunity;
3
+ } | null>) => {
2
4
  groupKeys: never[];
3
5
  paginationModel: import("@mui/x-data-grid").GridPaginationModel;
4
6
  sortModel: import("@mui/x-data-grid").GridSortModel;
5
7
  filterModel: import("@mui/x-data-grid").GridFilterModel;
6
8
  start: number;
7
9
  end: number;
8
- }>;
10
+ };
@@ -173,6 +173,10 @@ export const useGridDataSourceBase = (apiRef, props, options = {}) => {
173
173
  apiRef.current.dataSource.cache.clear();
174
174
  apiRef.current.dataSource.fetchRows();
175
175
  }
176
+ return () => {
177
+ // ignore the current request on unmount
178
+ lastRequestId.current += 1;
179
+ };
176
180
  }, [apiRef, props.dataSource]);
177
181
  return {
178
182
  api: {
@@ -3,4 +3,6 @@ import { GridDensity } from "../../../models/gridDensity.js";
3
3
  export declare const COMPACT_DENSITY_FACTOR = 0.7;
4
4
  export declare const COMFORTABLE_DENSITY_FACTOR = 1.3;
5
5
  export declare const gridDensitySelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, GridDensity>;
6
- export declare const gridDensityFactorSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, GridDensity, number>;
6
+ export declare const gridDensityFactorSelector: (args_0: import("react").RefObject<{
7
+ state: GridStateCommunity;
8
+ } | null>) => number;
@@ -4,15 +4,39 @@ export declare const gridDimensionsSelector: import("@mui/x-data-grid").OutputSe
4
4
  * Get the summed width of all the visible columns.
5
5
  * @category Visible Columns
6
6
  */
7
- export declare const gridColumnsTotalWidthSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
8
- export declare const gridRowHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
9
- export declare const gridContentHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
10
- export declare const gridHasScrollXSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, boolean>;
11
- export declare const gridHasScrollYSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, boolean>;
12
- export declare const gridHasFillerSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, boolean>;
13
- export declare const gridHeaderHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
14
- export declare const gridGroupHeaderHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
15
- export declare const gridHeaderFilterHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
16
- export declare const gridHorizontalScrollbarHeightSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
17
- export declare const gridVerticalScrollbarWidthSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, import("@mui/x-data-grid").GridDimensions, number>;
18
- export declare const gridHasBottomFillerSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, number, boolean>;
7
+ export declare const gridColumnsTotalWidthSelector: (args_0: import("react").RefObject<{
8
+ state: GridStateCommunity;
9
+ } | null>) => number;
10
+ export declare const gridRowHeightSelector: (args_0: import("react").RefObject<{
11
+ state: GridStateCommunity;
12
+ } | null>) => number;
13
+ export declare const gridContentHeightSelector: (args_0: import("react").RefObject<{
14
+ state: GridStateCommunity;
15
+ } | null>) => number;
16
+ export declare const gridHasScrollXSelector: (args_0: import("react").RefObject<{
17
+ state: GridStateCommunity;
18
+ } | null>) => boolean;
19
+ export declare const gridHasScrollYSelector: (args_0: import("react").RefObject<{
20
+ state: GridStateCommunity;
21
+ } | null>) => boolean;
22
+ export declare const gridHasFillerSelector: (args_0: import("react").RefObject<{
23
+ state: GridStateCommunity;
24
+ } | null>) => boolean;
25
+ export declare const gridHeaderHeightSelector: (args_0: import("react").RefObject<{
26
+ state: GridStateCommunity;
27
+ } | null>) => number;
28
+ export declare const gridGroupHeaderHeightSelector: (args_0: import("react").RefObject<{
29
+ state: GridStateCommunity;
30
+ } | null>) => number;
31
+ export declare const gridHeaderFilterHeightSelector: (args_0: import("react").RefObject<{
32
+ state: GridStateCommunity;
33
+ } | null>) => number;
34
+ export declare const gridHorizontalScrollbarHeightSelector: (args_0: import("react").RefObject<{
35
+ state: GridStateCommunity;
36
+ } | null>) => number;
37
+ export declare const gridVerticalScrollbarWidthSelector: (args_0: import("react").RefObject<{
38
+ state: GridStateCommunity;
39
+ } | null>) => number;
40
+ export declare const gridHasBottomFillerSelector: (args_0: import("react").RefObject<{
41
+ state: GridStateCommunity;
42
+ } | null>) => boolean;
@@ -5,11 +5,15 @@ import { GridEditMode } from "../../../models/gridEditRowModel.js";
5
5
  * Select the row editing state.
6
6
  */
7
7
  export declare const gridEditRowsStateSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, import("@mui/x-data-grid").GridEditingState>;
8
- export declare const gridRowIsEditingSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, {
8
+ export declare const gridRowIsEditingSelector: (args_0: import("react").RefObject<{
9
+ state: GridStateCommunity;
10
+ } | null>, args_1: {
9
11
  rowId: GridRowId;
10
12
  editMode: GridEditMode;
11
- }, boolean>;
12
- export declare const gridEditCellStateSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, {
13
+ }) => boolean;
14
+ export declare const gridEditCellStateSelector: (args_0: import("react").RefObject<{
15
+ state: GridStateCommunity;
16
+ } | null>, args_1: {
13
17
  rowId: GridRowId;
14
18
  field: string;
15
- }, import("@mui/x-data-grid").GridEditCellProps<any>>;
19
+ }) => import("@mui/x-data-grid").GridEditCellProps<any>;