@mui/x-data-grid-premium 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 (96) hide show
  1. package/CHANGELOG.md +217 -8
  2. package/DataGridPremium/DataGridPremium.js +27 -10
  3. package/DataGridPremium/useDataGridPremiumComponent.js +5 -0
  4. package/components/GridColumnMenuPivotItem.js +4 -3
  5. package/components/GridDataSourceGroupingCriteriaCell.js +3 -1
  6. package/components/pivotPanel/GridPivotPanelHeader.js +1 -1
  7. package/components/pivotPanel/PivotPanelTrigger.js +6 -1
  8. package/components/sidebar/Sidebar.d.ts +1 -1
  9. package/components/sidebar/Sidebar.js +20 -4
  10. package/esm/DataGridPremium/DataGridPremium.js +29 -12
  11. package/esm/DataGridPremium/useDataGridPremiumComponent.js +6 -1
  12. package/esm/components/GridColumnMenuPivotItem.js +3 -2
  13. package/esm/components/GridDataSourceGroupingCriteriaCell.js +3 -1
  14. package/esm/components/pivotPanel/GridPivotPanelHeader.js +1 -1
  15. package/esm/components/pivotPanel/PivotPanelTrigger.js +6 -1
  16. package/esm/components/sidebar/Sidebar.d.ts +1 -1
  17. package/esm/components/sidebar/Sidebar.js +21 -5
  18. package/esm/hooks/features/aggregation/gridAggregationInterfaces.d.ts +1 -1
  19. package/esm/hooks/features/aiAssistant/api.d.ts +3 -3
  20. package/esm/hooks/features/aiAssistant/api.js +8 -4
  21. package/esm/hooks/features/aiAssistant/gridAiAssistantInterfaces.d.ts +11 -0
  22. package/esm/hooks/features/export/serializer/excelSerializer.js +1 -6
  23. package/esm/hooks/features/index.d.ts +2 -1
  24. package/esm/hooks/features/index.js +2 -1
  25. package/esm/hooks/features/pivoting/gridPivotingInterfaces.d.ts +5 -0
  26. package/esm/hooks/features/pivoting/gridPivotingSelectors.d.ts +4 -1
  27. package/esm/hooks/features/pivoting/gridPivotingSelectors.js +3 -1
  28. package/esm/hooks/features/pivoting/useGridPivoting.d.ts +1 -1
  29. package/esm/hooks/features/pivoting/useGridPivoting.js +28 -9
  30. package/esm/hooks/features/pivoting/utils.js +7 -5
  31. package/esm/hooks/features/rowGrouping/createGroupingColDef.d.ts +1 -2
  32. package/esm/hooks/features/rowGrouping/createGroupingColDef.js +10 -3
  33. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +1 -5
  34. package/esm/hooks/features/rowGrouping/gridRowGroupingUtils.js +1 -6
  35. package/esm/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +2 -2
  36. package/esm/hooks/features/rowGrouping/useGridRowGrouping.js +2 -2
  37. package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -2
  38. package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
  39. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -2
  40. package/esm/hooks/features/sidebar/gridSidebarInterfaces.d.ts +16 -0
  41. package/esm/hooks/features/sidebar/gridSidebarInterfaces.js +4 -0
  42. package/esm/hooks/features/sidebar/gridSidebarSelector.d.ts +12 -0
  43. package/esm/hooks/features/sidebar/gridSidebarSelector.js +12 -0
  44. package/esm/hooks/features/sidebar/gridSidebarState.d.ts +8 -0
  45. package/esm/hooks/features/sidebar/gridSidebarState.js +1 -0
  46. package/esm/hooks/features/sidebar/index.d.ts +3 -0
  47. package/esm/hooks/features/sidebar/index.js +3 -0
  48. package/esm/hooks/features/sidebar/useGridSidebar.d.ts +6 -0
  49. package/esm/hooks/features/sidebar/useGridSidebar.js +72 -0
  50. package/esm/hooks/utils/useGridAriaAttributes.d.ts +1 -1
  51. package/esm/hooks/utils/useGridAriaAttributes.js +2 -2
  52. package/esm/index.js +1 -1
  53. package/esm/models/dataGridPremiumProps.d.ts +16 -0
  54. package/esm/models/gridApiPremium.d.ts +4 -2
  55. package/esm/models/gridStatePremium.d.ts +3 -0
  56. package/esm/typeOverloads/modules.d.ts +28 -1
  57. package/hooks/features/aggregation/gridAggregationInterfaces.d.ts +1 -1
  58. package/hooks/features/aiAssistant/api.d.ts +3 -3
  59. package/hooks/features/aiAssistant/api.js +8 -4
  60. package/hooks/features/aiAssistant/gridAiAssistantInterfaces.d.ts +11 -0
  61. package/hooks/features/export/serializer/excelSerializer.js +1 -6
  62. package/hooks/features/index.d.ts +2 -1
  63. package/hooks/features/index.js +11 -0
  64. package/hooks/features/pivoting/gridPivotingInterfaces.d.ts +5 -0
  65. package/hooks/features/pivoting/gridPivotingSelectors.d.ts +4 -1
  66. package/hooks/features/pivoting/gridPivotingSelectors.js +3 -8
  67. package/hooks/features/pivoting/useGridPivoting.d.ts +1 -1
  68. package/hooks/features/pivoting/useGridPivoting.js +28 -9
  69. package/hooks/features/pivoting/utils.js +7 -5
  70. package/hooks/features/rowGrouping/createGroupingColDef.d.ts +1 -2
  71. package/hooks/features/rowGrouping/createGroupingColDef.js +13 -6
  72. package/hooks/features/rowGrouping/gridRowGroupingUtils.d.ts +1 -5
  73. package/hooks/features/rowGrouping/gridRowGroupingUtils.js +3 -8
  74. package/hooks/features/rowGrouping/useGridDataSourceRowGroupingPreProcessors.js +6 -6
  75. package/hooks/features/rowGrouping/useGridRowGrouping.js +1 -1
  76. package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +7 -7
  77. package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
  78. package/hooks/features/rows/useGridRowAriaAttributes.js +4 -4
  79. package/hooks/features/sidebar/gridSidebarInterfaces.d.ts +16 -0
  80. package/hooks/features/sidebar/gridSidebarInterfaces.js +10 -0
  81. package/hooks/features/sidebar/gridSidebarSelector.d.ts +12 -0
  82. package/hooks/features/sidebar/gridSidebarSelector.js +18 -0
  83. package/hooks/features/sidebar/gridSidebarState.d.ts +8 -0
  84. package/hooks/features/sidebar/gridSidebarState.js +5 -0
  85. package/hooks/features/sidebar/index.d.ts +3 -0
  86. package/hooks/features/sidebar/index.js +38 -0
  87. package/hooks/features/sidebar/useGridSidebar.d.ts +6 -0
  88. package/hooks/features/sidebar/useGridSidebar.js +82 -0
  89. package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
  90. package/hooks/utils/useGridAriaAttributes.js +4 -4
  91. package/index.js +1 -1
  92. package/models/dataGridPremiumProps.d.ts +16 -0
  93. package/models/gridApiPremium.d.ts +4 -2
  94. package/models/gridStatePremium.d.ts +3 -0
  95. package/package.json +7 -9
  96. package/typeOverloads/modules.d.ts +28 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
- import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, useGridDataSourceLazyLoader, useGridInfiniteLoadingIntersection, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer, propsStateInitializer } from '@mui/x-data-grid-pro/internals';
5
+ import { useGridInitialization, useGridInitializeState, useGridVirtualizer, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnReorder, columnReorderStateInitializer, useGridColumnResize, columnResizeStateInitializer, useGridTreeData, useGridTreeDataPreProcessors, useGridColumnPinning, columnPinningStateInitializer, useGridColumnPinningPreProcessors, useGridDetailPanel, detailPanelStateInitializer, useGridDetailPanelPreProcessors, useGridInfiniteLoader, useGridColumnSpanning, useGridRowReorder, useGridRowReorderPreProcessors, useGridRowPinning, useGridRowPinningPreProcessors, rowPinningStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, useGridLazyLoader, useGridLazyLoaderPreProcessors, useGridDataSourceLazyLoader, useGridInfiniteLoadingIntersection, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridDataSourceTreeDataPreProcessors, dataSourceStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer, propsStateInitializer, rowReorderStateInitializer } from '@mui/x-data-grid-pro/internals';
6
6
  import { useGridSelector } from '@mui/x-data-grid-pro';
7
7
  import { useGridDataSourcePremium as useGridDataSource } from "../hooks/features/dataSource/useGridDataSourcePremium.js";
8
8
  // Premium-only features
@@ -17,6 +17,7 @@ import { useGridClipboardImport } from "../hooks/features/clipboard/useGridClipb
17
17
  import { pivotingStateInitializer, useGridPivoting, useGridPivotingExportState } from "../hooks/features/pivoting/useGridPivoting.js";
18
18
  import { gridPivotPropsOverridesSelector } from "../hooks/features/pivoting/gridPivotingSelectors.js";
19
19
  import { useGridAiAssistant, aiAssistantStateInitializer } from "../hooks/features/aiAssistant/useGridAiAssistant.js";
20
+ import { useGridSidebar, sidebarStateInitializer } from "../hooks/features/sidebar/useGridSidebar.js";
20
21
  export const useDataGridPremiumComponent = (apiRef, inProps) => {
21
22
  const pivotPropsOverrides = useGridSelector(apiRef, gridPivotPropsOverridesSelector);
22
23
  const props = React.useMemo(() => {
@@ -62,10 +63,12 @@ export const useDataGridPremiumComponent = (apiRef, inProps) => {
62
63
  useGridInitializeState(rowGroupingStateInitializer, apiRef, props, key);
63
64
  useGridInitializeState(aggregationStateInitializer, apiRef, props, key);
64
65
  useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
66
+ useGridInitializeState(rowReorderStateInitializer, apiRef, props);
65
67
  useGridInitializeState(cellSelectionStateInitializer, apiRef, props);
66
68
  useGridInitializeState(detailPanelStateInitializer, apiRef, props);
67
69
  useGridInitializeState(columnPinningStateInitializer, apiRef, props, key);
68
70
  useGridInitializeState(columnsStateInitializer, apiRef, props, key);
71
+ useGridInitializeState(sidebarStateInitializer, apiRef, props);
69
72
  useGridInitializeState(pivotingStateInitializer, apiRef, props);
70
73
  useGridInitializeState(rowPinningStateInitializer, apiRef, props);
71
74
  useGridInitializeState(rowsStateInitializer, apiRef, props);
@@ -87,6 +90,8 @@ export const useDataGridPremiumComponent = (apiRef, inProps) => {
87
90
  useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
88
91
  useGridInitializeState(listViewStateInitializer, apiRef, props);
89
92
  useGridInitializeState(aiAssistantStateInitializer, apiRef, props);
93
+ useGridVirtualizer(apiRef, props);
94
+ useGridSidebar(apiRef, props);
90
95
  useGridPivoting(apiRef, props, inProps.columns, inProps.rows);
91
96
  useGridRowGrouping(apiRef, props);
92
97
  useGridHeaderFiltering(apiRef, props);
@@ -1,8 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { useGridSelector } from '@mui/x-data-grid-pro';
3
- import { gridPivotPanelOpenSelector } from '@mui/x-data-grid-pro/internals';
3
+ import { gridPivotPanelOpenSelector } from "../hooks/features/pivoting/gridPivotingSelectors.js";
4
4
  import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
5
5
  import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
6
+ import { GridSidebarValue } from "../hooks/features/sidebar/index.js";
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  export function GridColumnMenuPivotItem(props) {
8
9
  const {
@@ -13,7 +14,7 @@ export function GridColumnMenuPivotItem(props) {
13
14
  const isPivotPanelOpen = useGridSelector(apiRef, gridPivotPanelOpenSelector);
14
15
  const openPivotSettings = event => {
15
16
  onClick(event);
16
- apiRef.current.setPivotPanelOpen(true);
17
+ apiRef.current.showSidebar(GridSidebarValue.Pivot);
17
18
  };
18
19
  return /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, {
19
20
  onClick: openPivotSettings,
@@ -34,7 +34,9 @@ function GridGroupingCriteriaCellIcon(props) {
34
34
  // always fetch/get from cache the children when the node is expanded
35
35
  apiRef.current.dataSource.fetchRows(id);
36
36
  } else {
37
- apiRef.current.setRowChildrenExpansion(id, !rowNode.childrenExpanded);
37
+ // Collapse the node and remove child rows from the grid
38
+ apiRef.current.setRowChildrenExpansion(id, false);
39
+ apiRef.current.removeChildrenRows(id);
38
40
  }
39
41
  apiRef.current.setCellFocus(id, field);
40
42
  event.stopPropagation();
@@ -73,7 +73,7 @@ function GridPivotPanelHeader(props) {
73
73
  })
74
74
  }, rootProps.slotProps?.baseSwitch)), /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
75
75
  onClick: () => {
76
- apiRef.current.setPivotPanelOpen(false);
76
+ apiRef.current.hideSidebar();
77
77
  if (isEmptyPivot) {
78
78
  apiRef.current.setPivotActive(false);
79
79
  }
@@ -10,6 +10,7 @@ import { useGridSelector } from '@mui/x-data-grid-pro';
10
10
  import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
11
11
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
12
12
  import { gridPivotPanelOpenSelector, gridPivotActiveSelector } from "../../hooks/features/pivoting/gridPivotingSelectors.js";
13
+ import { GridSidebarValue } from "../../hooks/features/sidebar/index.js";
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
14
15
  /**
15
16
  * A button that opens and closes the pivot panel.
@@ -42,7 +43,11 @@ const PivotPanelTrigger = forwardRef(function PivotPanelTrigger(props, ref) {
42
43
  };
43
44
  const resolvedClassName = typeof className === 'function' ? className(state) : className;
44
45
  const handleClick = event => {
45
- apiRef.current.setPivotPanelOpen(!open);
46
+ if (open) {
47
+ apiRef.current.hideSidebar();
48
+ } else {
49
+ apiRef.current.showSidebar(GridSidebarValue.Pivot, panelId, buttonId);
50
+ }
46
51
  onClick?.(event);
47
52
  };
48
53
  const element = useComponentRenderer(rootProps.slots.baseButton, render, _extends({}, rootProps.slotProps?.baseButton, {
@@ -1,4 +1,4 @@
1
1
  import * as React from 'react';
2
2
  export type SidebarProps = React.HTMLAttributes<HTMLDivElement>;
3
- declare function Sidebar(props: SidebarProps): React.JSX.Element;
3
+ declare function Sidebar(props: SidebarProps): React.JSX.Element | null;
4
4
  export { Sidebar };
@@ -4,10 +4,12 @@ const _excluded = ["className", "children"];
4
4
  import * as React from 'react';
5
5
  import clsx from 'clsx';
6
6
  import { styled } from '@mui/system';
7
- import { getDataGridUtilityClass } from '@mui/x-data-grid-pro';
7
+ import { getDataGridUtilityClass, useGridSelector } from '@mui/x-data-grid-pro';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
+ import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
9
10
  import { ResizablePanel, ResizablePanelHandle } from "../resizablePanel/index.js";
10
11
  import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
12
+ import { gridSidebarContentSelector } from "../../hooks/features/sidebar/index.js";
11
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  const useUtilityClasses = ownerState => {
13
15
  const {
@@ -31,17 +33,31 @@ const SidebarRoot = styled(ResizablePanel, {
31
33
  });
32
34
  function Sidebar(props) {
33
35
  const {
34
- className,
35
- children
36
+ className
36
37
  } = props,
37
38
  other = _objectWithoutPropertiesLoose(props, _excluded);
39
+ const apiRef = useGridApiContext();
38
40
  const rootProps = useGridRootProps();
39
41
  const classes = useUtilityClasses(rootProps);
42
+ const {
43
+ value,
44
+ sidebarId,
45
+ labelId
46
+ } = useGridSelector(apiRef, gridSidebarContentSelector);
47
+ if (!value) {
48
+ return null;
49
+ }
50
+ const sidebarContent = apiRef.current.unstable_applyPipeProcessors('sidebar', null, value);
51
+ if (!sidebarContent) {
52
+ return null;
53
+ }
40
54
  return /*#__PURE__*/_jsxs(SidebarRoot, _extends({
55
+ id: sidebarId,
41
56
  className: clsx(className, classes.root),
42
- ownerState: rootProps
57
+ ownerState: rootProps,
58
+ "aria-labelledby": labelId
43
59
  }, other, {
44
- children: [/*#__PURE__*/_jsx(ResizablePanelHandle, {}), children]
60
+ children: [/*#__PURE__*/_jsx(ResizablePanelHandle, {}), sidebarContent]
45
61
  }));
46
62
  }
47
63
  export { Sidebar };
@@ -47,7 +47,7 @@ export interface GridAggregationFunction<V = any, AV = V> {
47
47
  * @param {GridApiPremium} api The grid API.
48
48
  * @returns {AV} The aggregated value.
49
49
  */
50
- apply: (params: GridAggregationParams<V>, api: GridApiPremium) => AV | null | undefined;
50
+ apply: (params: GridAggregationParams<V>, api?: GridApiPremium) => AV | null | undefined;
51
51
  /**
52
52
  * Label of the aggregation function.
53
53
  * Used for adding a label to the footer of the grouping column when this aggregation function is the only one being used.
@@ -1,4 +1,4 @@
1
- import { PromptResponse } from "./gridAiAssistantInterfaces.js";
1
+ import { PromptResponse, PromptResolverOptions } from "./gridAiAssistantInterfaces.js";
2
2
  /**
3
3
  * Prompt resolver for the <DataGridPremium /> component.
4
4
  * @param {string} url The URL to send the request to.
@@ -6,7 +6,7 @@ import { PromptResponse } from "./gridAiAssistantInterfaces.js";
6
6
  * @param {string} context The prompt context containing necessary information about the current columns definition.
7
7
  * Either use the `context` parameter of the `onPrompt` callback or the return value of the `unstable_getPromptContext()` API method.
8
8
  * @param {string} conversationId The id of the conversation the prompt is part of. If not passed, prompt response will return a new conversation id that can be used to continue the newly started conversation.
9
- * @param {string} additionalContext Optional, additional context to make the processing results more accurate.
9
+ * @param {string | PromptResolverOptions} optionsOrAdditionalContext Optional, includes settings to extend and customize the prompt resolver's behaviour, or additional context string for backward compatibility.
10
10
  * @returns {Promise<PromptResponse>} The grid state updates to be applied.
11
11
  */
12
- export declare function gridDefaultPromptResolver(url: string, query: string, context: string, conversationId?: string, additionalContext?: string): Promise<PromptResponse>;
12
+ export declare function gridDefaultPromptResolver(url: string, query: string, context: string, conversationId?: string, optionsOrAdditionalContext?: string | PromptResolverOptions): Promise<PromptResponse>;
@@ -5,10 +5,14 @@
5
5
  * @param {string} context The prompt context containing necessary information about the current columns definition.
6
6
  * Either use the `context` parameter of the `onPrompt` callback or the return value of the `unstable_getPromptContext()` API method.
7
7
  * @param {string} conversationId The id of the conversation the prompt is part of. If not passed, prompt response will return a new conversation id that can be used to continue the newly started conversation.
8
- * @param {string} additionalContext Optional, additional context to make the processing results more accurate.
8
+ * @param {string | PromptResolverOptions} optionsOrAdditionalContext Optional, includes settings to extend and customize the prompt resolver's behaviour, or additional context string for backward compatibility.
9
9
  * @returns {Promise<PromptResponse>} The grid state updates to be applied.
10
10
  */
11
- export function gridDefaultPromptResolver(url, query, context, conversationId, additionalContext = '') {
11
+ export function gridDefaultPromptResolver(url, query, context, conversationId, optionsOrAdditionalContext = '') {
12
+ // Handle backward compatibility: if string is passed, treat it as additionalContext
13
+ const options = typeof optionsOrAdditionalContext === 'string' ? {
14
+ additionalContext: optionsOrAdditionalContext
15
+ } : optionsOrAdditionalContext;
12
16
  return fetch(url, {
13
17
  mode: 'cors',
14
18
  method: 'POST',
@@ -19,8 +23,8 @@ export function gridDefaultPromptResolver(url, query, context, conversationId, a
19
23
  body: JSON.stringify({
20
24
  context,
21
25
  query,
22
- additionalContext,
23
- conversationId
26
+ conversationId,
27
+ options
24
28
  })
25
29
  }).then(result => result.json()).then(result => {
26
30
  if (result.ok === false) {
@@ -49,6 +49,17 @@ export type PromptResponse = {
49
49
  grouping: Grouping[];
50
50
  pivoting: Pivoting;
51
51
  };
52
+ export type PromptResolverOptions = {
53
+ /**
54
+ * By default, MUI's prompt resolver service stores the queries made to the service to analyze potential errors and improve the service (data is never stored). Enable private mode to make the service only keep track of the token count, without any query related data.
55
+ * @default false
56
+ */
57
+ privateMode?: boolean;
58
+ /**
59
+ * Additional context to make the processing results more accurate.
60
+ */
61
+ additionalContext?: string;
62
+ };
52
63
  /**
53
64
  * The prompt API interface that is available in the grid [[apiRef]].
54
65
  */
@@ -47,12 +47,7 @@ export const serializeRowUnsafe = (id, columns, apiRef, defaultValueOptionsFormu
47
47
  const hasColSpan = gridHasColSpanSelector(apiRef);
48
48
  if (hasColSpan) {
49
49
  // `colSpan` is only calculated for rendered rows, so we need to calculate it during export for every row
50
- apiRef.current.calculateColSpan({
51
- rowId: id,
52
- minFirstColumn: 0,
53
- maxLastColumn: columns.length,
54
- columns
55
- });
50
+ apiRef.current.calculateColSpan(id, 0, columns.length, columns);
56
51
  }
57
52
  columns.forEach((column, colIndex) => {
58
53
  const colSpanInfo = hasColSpan ? apiRef.current.unstable_getCellColSpanInfo(id, colIndex) : undefined;
@@ -2,4 +2,5 @@ export * from "./aggregation/index.js";
2
2
  export * from "./rowGrouping/index.js";
3
3
  export * from "./export/index.js";
4
4
  export * from "./cellSelection/index.js";
5
- export * from "./aiAssistant/index.js";
5
+ export * from "./aiAssistant/index.js";
6
+ export * from "./sidebar/index.js";
@@ -3,4 +3,5 @@ export * from "./aggregation/index.js";
3
3
  export * from "./rowGrouping/index.js";
4
4
  export * from "./export/index.js";
5
5
  export * from "./cellSelection/index.js";
6
- export * from "./aiAssistant/index.js";
6
+ export * from "./aiAssistant/index.js";
7
+ export * from "./sidebar/index.js";
@@ -23,6 +23,10 @@ export interface GridPivotingState extends GridPivotingStatePartial {
23
23
  export interface GridPivotingInitialState {
24
24
  model?: GridPivotModel;
25
25
  enabled?: boolean;
26
+ /**
27
+ * To open the pivot sidebar on init, set sidebar's `openValue` to `GridSidebarValue.Pivot`.
28
+ * @deprecated Use sidebar state instead.
29
+ */
26
30
  panelOpen?: boolean;
27
31
  }
28
32
  export interface GridPivotModel {
@@ -55,6 +59,7 @@ export interface GridPivotingApi {
55
59
  setPivotActive: (active: boolean | ((prev: boolean) => boolean)) => void;
56
60
  /**
57
61
  * Sets whether the pivot panel is open.
62
+ * @deprecated Use the `showSidebar` method instead. Using this method will not trigger the `sidebarOpen` and `sidebarClose` events.
58
63
  * @param {boolean | ((prev: boolean) => boolean)} open - The new value of the pivot panel open state.
59
64
  */
60
65
  setPivotPanelOpen: (open: boolean | ((prev: boolean) => boolean)) => void;
@@ -1,8 +1,11 @@
1
1
  import type { GridStatePremium } from "../../../models/gridStatePremium.js";
2
+ export declare const gridPivotPanelOpenSelector: (args_0: import("react").RefObject<{
3
+ state: GridStatePremium;
4
+ } | null>) => boolean;
2
5
  export declare const gridPivotModelSelector: (args_0: import("react").RefObject<{
3
6
  state: GridStatePremium;
4
7
  } | null>) => import("./gridPivotingInterfaces.js").GridPivotModel;
5
8
  export declare const gridPivotPropsOverridesSelector: (args_0: import("react").RefObject<{
6
9
  state: GridStatePremium;
7
10
  } | null>) => import("./gridPivotingInterfaces.js").GridPivotingPropsOverrides | undefined;
8
- export { gridPivotActiveSelector, gridPivotInitialColumnsSelector, gridPivotPanelOpenSelector } from '@mui/x-data-grid/internals';
11
+ export { gridPivotActiveSelector, gridPivotInitialColumnsSelector } from '@mui/x-data-grid/internals';
@@ -1,5 +1,7 @@
1
1
  import { createSelector, createRootSelector } from '@mui/x-data-grid-pro/internals';
2
+ import { gridSidebarStateSelector, GridSidebarValue } from "../sidebar/index.js";
2
3
  const gridPivotingStateSelector = createRootSelector(state => state.pivoting);
4
+ export const gridPivotPanelOpenSelector = createSelector(gridSidebarStateSelector, sidebar => sidebar.value === GridSidebarValue.Pivot && sidebar.open);
3
5
  export const gridPivotModelSelector = createSelector(gridPivotingStateSelector, pivoting => pivoting?.model);
4
6
  export const gridPivotPropsOverridesSelector = createSelector(gridPivotingStateSelector, pivoting => pivoting?.active ? pivoting.propsOverrides : undefined);
5
- export { gridPivotActiveSelector, gridPivotInitialColumnsSelector, gridPivotPanelOpenSelector } from '@mui/x-data-grid/internals';
7
+ export { gridPivotActiveSelector, gridPivotInitialColumnsSelector } from '@mui/x-data-grid/internals';
@@ -3,6 +3,6 @@ import { RefObject } from '@mui/x-internals/types';
3
3
  import { GridStateInitializer } from '@mui/x-data-grid-pro/internals';
4
4
  import type { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
5
5
  import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
6
- export declare const pivotingStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'pivotActive' | 'pivotModel' | 'pivotPanelOpen' | 'initialState' | 'disablePivoting' | 'getPivotDerivedColumns' | 'columns'>>;
6
+ export declare const pivotingStateInitializer: GridStateInitializer<Pick<DataGridPremiumProcessedProps, 'pivotActive' | 'pivotModel' | 'pivotPanelOpen' | 'initialState' | 'disablePivoting' | 'getPivotDerivedColumns' | 'columns'>, GridPrivateApiPremium>;
7
7
  export declare const useGridPivoting: (apiRef: RefObject<GridPrivateApiPremium>, props: Pick<DataGridPremiumProcessedProps, "pivotActive" | "onPivotActiveChange" | "pivotModel" | "onPivotModelChange" | "pivotPanelOpen" | "onPivotPanelOpenChange" | "disablePivoting" | "getPivotDerivedColumns" | "pivotingColDef" | "groupingColDef" | "aggregationFunctions">, originalColumnsProp: readonly GridColDef[], originalRowsProp: readonly GridRowModel[]) => void;
8
8
  export declare const useGridPivotingExportState: (apiRef: RefObject<GridPrivateApiPremium>) => void;
@@ -4,9 +4,12 @@ import { gridDataRowIdsSelector, gridRowIdSelector, gridRowsLoadingSelector, gri
4
4
  import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
5
5
  import useOnMount from '@mui/utils/useOnMount';
6
6
  import { useGridApiMethod, useGridRegisterPipeProcessor, useGridSelector, gridPivotInitialColumnsSelector } from '@mui/x-data-grid-pro/internals';
7
+ import { GridPivotPanel } from "../../../components/pivotPanel/index.js";
7
8
  import { gridPivotModelSelector, gridPivotActiveSelector, gridPivotPanelOpenSelector } from "./gridPivotingSelectors.js";
8
9
  import { getInitialColumns, getPivotedData, isPivotingAvailable as isPivotingAvailableFn } from "./utils.js";
9
10
  import { getAvailableAggregationFunctions } from "../aggregation/gridAggregationUtils.js";
11
+ import { GridSidebarValue } from "../sidebar/index.js";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
10
13
  const emptyPivotModel = {
11
14
  rows: [],
12
15
  columns: [],
@@ -25,19 +28,23 @@ export const pivotingStateInitializer = (state, props, apiRef) => {
25
28
  return _extends({}, state, {
26
29
  pivoting: {
27
30
  active: false,
28
- model: emptyPivotModel,
29
- panelOpen: false
31
+ model: emptyPivotModel
30
32
  }
31
33
  });
32
34
  }
33
35
  const initialColumns = getInitialColumns(props.columns ?? [], props.getPivotDerivedColumns, apiRef.current.getLocaleText);
36
+ const open = props.pivotPanelOpen ?? props.initialState?.pivoting?.panelOpen ?? false;
37
+ const sidebarStateUpdate = open ? {
38
+ open,
39
+ value: GridSidebarValue.Pivot
40
+ } : {};
34
41
  return _extends({}, state, {
35
42
  pivoting: {
36
43
  active: props.pivotActive ?? props.initialState?.pivoting?.enabled ?? false,
37
44
  model: props.pivotModel ?? props.initialState?.pivoting?.model ?? emptyPivotModel,
38
- panelOpen: props.pivotPanelOpen ?? props.initialState?.pivoting?.panelOpen ?? false,
39
45
  initialColumns
40
- }
46
+ },
47
+ sidebar: _extends({}, state.sidebar, sidebarStateUpdate)
41
48
  });
42
49
  };
43
50
  export const useGridPivoting = (apiRef, props, originalColumnsProp, originalRowsProp) => {
@@ -249,11 +256,16 @@ export const useGridPivoting = (apiRef, props, originalColumnsProp, originalRows
249
256
  if (!isPivotingAvailable) {
250
257
  return;
251
258
  }
252
- apiRef.current.setState(state => _extends({}, state, {
253
- pivoting: _extends({}, state.pivoting, {
254
- panelOpen: typeof callback === 'function' ? callback(state.pivoting?.panelOpen) : callback
255
- })
256
- }));
259
+ const panelOpen = gridPivotPanelOpenSelector(apiRef);
260
+ const newPanelOpen = typeof callback === 'function' ? callback(panelOpen) : callback;
261
+ if (panelOpen === newPanelOpen) {
262
+ return;
263
+ }
264
+ if (newPanelOpen) {
265
+ apiRef.current.showSidebar(GridSidebarValue.Pivot);
266
+ } else {
267
+ apiRef.current.hideSidebar();
268
+ }
257
269
  }, [apiRef, isPivotingAvailable]);
258
270
  const addColumnMenuButton = React.useCallback(menuItems => {
259
271
  if (isPivotingAvailable) {
@@ -309,6 +321,13 @@ export const useGridPivoting = (apiRef, props, originalColumnsProp, originalRows
309
321
  });
310
322
  });
311
323
  }, [apiRef, computePivotingState, isPivotingAvailable, nonPivotDataRef]);
324
+ const addPivotingPanel = React.useCallback((initialValue, value) => {
325
+ if (isPivotingAvailable && value === GridSidebarValue.Pivot) {
326
+ return /*#__PURE__*/_jsx(GridPivotPanel, {});
327
+ }
328
+ return initialValue;
329
+ }, [isPivotingAvailable]);
330
+ useGridRegisterPipeProcessor(apiRef, 'sidebar', addPivotingPanel);
312
331
  useGridApiMethod(apiRef, {
313
332
  setPivotModel,
314
333
  setPivotActive,
@@ -57,7 +57,7 @@ function sortColumnGroups(columnGroups, pivotModelColumns, depth = 0) {
57
57
  if (sort === undefined) {
58
58
  return 0;
59
59
  }
60
- return (sort === 'asc' ? 1 : -1) * gridStringOrNumberComparator(a.headerName, b.headerName, {}, {});
60
+ return (sort === 'asc' ? 1 : -1) * gridStringOrNumberComparator(a.rawHeaderName, b.rawHeaderName, {}, {});
61
61
  });
62
62
  }
63
63
  export const getPivotedData = ({
@@ -141,21 +141,23 @@ export const getPivotedData = ({
141
141
  continue;
142
142
  }
143
143
  let colValue = apiRef.current.getRowValue(row, column) ?? '(No value)';
144
- if (column.type !== 'number') {
145
- colValue = String(colValue);
146
- }
147
144
  if (column.type === 'singleSelect') {
148
145
  const singleSelectColumn = column;
149
146
  if (singleSelectColumn.getOptionLabel) {
150
147
  colValue = singleSelectColumn.getOptionLabel(colValue);
151
148
  }
152
149
  }
150
+ if (column.type !== 'number') {
151
+ colValue = String(colValue);
152
+ }
153
+ const formattedHeaderName = apiRef.current.getRowFormattedValue(row, column) || colValue;
153
154
  columnGroupPath.push(colValue);
154
155
  const groupId = columnGroupPath.join(columnGroupIdSeparator);
155
156
  if (!columnGroupingModelLookup.has(groupId)) {
156
157
  const columnGroup = {
157
158
  groupId,
158
- headerName: colValue,
159
+ headerName: formattedHeaderName,
160
+ rawHeaderName: colValue,
159
161
  children: []
160
162
  };
161
163
  columnGroupingModelLookup.set(groupId, columnGroup);
@@ -1,8 +1,7 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridColDef, GridGroupingColDefOverride } from '@mui/x-data-grid-pro';
3
- import { GridColumnRawLookup } from '@mui/x-data-grid-pro/internals';
3
+ import { GridColumnRawLookup, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
4
4
  import { GridApiPremium } from "../../../models/gridApiPremium.js";
5
- import { RowGroupingStrategy } from "./gridRowGroupingUtils.js";
6
5
  interface CreateGroupingColDefMonoCriteriaParams {
7
6
  columnsLookup: GridColumnRawLookup;
8
7
  /**
@@ -4,12 +4,12 @@ const _excluded = ["leafField", "mainGroupingCriteria", "hideDescendantCount"],
4
4
  _excluded2 = ["leafField", "mainGroupingCriteria", "hideDescendantCount"];
5
5
  import * as React from 'react';
6
6
  import { GRID_STRING_COL_DEF, gridRowIdSelector, gridRowNodeSelector } from '@mui/x-data-grid-pro';
7
- import { isSingleSelectColDef } from '@mui/x-data-grid-pro/internals';
7
+ import { isSingleSelectColDef, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
8
8
  import { GridGroupingColumnFooterCell } from "../../../components/GridGroupingColumnFooterCell.js";
9
9
  import { GridGroupingCriteriaCell } from "../../../components/GridGroupingCriteriaCell.js";
10
10
  import { GridDataSourceGroupingCriteriaCell } from "../../../components/GridDataSourceGroupingCriteriaCell.js";
11
11
  import { GridGroupingColumnLeafCell } from "../../../components/GridGroupingColumnLeafCell.js";
12
- import { getRowGroupingFieldFromGroupingCriteria, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, RowGroupingStrategy } from "./gridRowGroupingUtils.js";
12
+ import { getRowGroupingFieldFromGroupingCriteria, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD } from "./gridRowGroupingUtils.js";
13
13
  import { gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  const GROUPING_COL_DEF_DEFAULT_PROPERTIES = _extends({}, GRID_STRING_COL_DEF, {
@@ -65,7 +65,14 @@ const getLeafProperties = leafColDef => ({
65
65
  return groupingFieldIndexComparator(v1, v2, cellParams1, cellParams2);
66
66
  }
67
67
  });
68
- const groupedByColValueFormatter = groupedByColDef => (value, row, _, apiRef) => groupedByColDef.valueFormatter(value, row, groupedByColDef, apiRef);
68
+ const groupedByColValueFormatter = groupedByColDef => (value, row, _, apiRef) => {
69
+ const rowId = gridRowIdSelector(apiRef, row);
70
+ const rowNode = gridRowNodeSelector(apiRef, rowId);
71
+ if (rowNode.type === 'group' && rowNode.groupingField === groupedByColDef.field) {
72
+ return groupedByColDef.valueFormatter(value, row, groupedByColDef, apiRef);
73
+ }
74
+ return value;
75
+ };
69
76
  const getGroupingCriteriaProperties = (groupedByColDef, applyHeaderName) => {
70
77
  const properties = {
71
78
  sortable: groupedByColDef.sortable,
@@ -1,15 +1,11 @@
1
1
  import { RefObject } from '@mui/x-internals/types';
2
2
  import { GridRowTreeConfig, GridFilterState, GridFilterModel, GridRowModel, GridColDef, GridKeyValue, GridDataSource } from '@mui/x-data-grid-pro';
3
- import { GridAggregatedFilterItemApplier, GridColumnRawLookup, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn } from '@mui/x-data-grid-pro/internals';
3
+ import { GridAggregatedFilterItemApplier, GridColumnRawLookup, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
4
4
  import { DataGridPremiumProcessedProps } from "../../../models/dataGridPremiumProps.js";
5
5
  import { GridGroupingRule, GridGroupingRules, GridRowGroupingModel } from "./gridRowGroupingInterfaces.js";
6
6
  import { GridStatePremium } from "../../../models/gridStatePremium.js";
7
7
  import { GridPrivateApiPremium } from "../../../models/gridApiPremium.js";
8
8
  export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn };
9
- export declare enum RowGroupingStrategy {
10
- Default = "grouping-columns",
11
- DataSource = "grouping-columns-data-source",
12
- }
13
9
  export declare const getRowGroupingFieldFromGroupingCriteria: (groupingCriteria: string | null) => string;
14
10
  interface FilterRowTreeFromTreeDataParams {
15
11
  rowTree: GridRowTreeConfig;
@@ -1,12 +1,7 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { passFilterLogic, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn, GridStrategyGroup, getRowValue } from '@mui/x-data-grid-pro/internals';
2
+ import { passFilterLogic, GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn, GridStrategyGroup, getRowValue, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
3
3
  import { gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
4
4
  export { GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD, getRowGroupingCriteriaFromGroupingField, isGroupingColumn };
5
- export let RowGroupingStrategy = /*#__PURE__*/function (RowGroupingStrategy) {
6
- RowGroupingStrategy["Default"] = "grouping-columns";
7
- RowGroupingStrategy["DataSource"] = "grouping-columns-data-source";
8
- return RowGroupingStrategy;
9
- }({});
10
5
  export const getRowGroupingFieldFromGroupingCriteria = groupingCriteria => {
11
6
  if (groupingCriteria === null) {
12
7
  return GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { gridRowTreeSelector, gridColumnLookupSelector } from '@mui/x-data-grid-pro';
3
- import { useGridRegisterStrategyProcessor, createRowTree, updateRowTree, getVisibleRowsLookup, skipSorting, skipFiltering, getParentPath } from '@mui/x-data-grid-pro/internals';
4
- import { getGroupingRules, RowGroupingStrategy } from "./gridRowGroupingUtils.js";
3
+ import { useGridRegisterStrategyProcessor, createRowTree, updateRowTree, getVisibleRowsLookup, skipSorting, skipFiltering, getParentPath, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
4
+ import { getGroupingRules } from "./gridRowGroupingUtils.js";
5
5
  import { gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
6
6
  export const useGridDataSourceRowGroupingPreProcessors = (apiRef, props) => {
7
7
  const createRowTreeForRowGrouping = React.useCallback(params => {
@@ -3,9 +3,9 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import * as React from 'react';
5
5
  import { useGridEvent, useGridApiMethod, gridColumnLookupSelector } from '@mui/x-data-grid-pro';
6
- import { useGridRegisterPipeProcessor, GridStrategyGroup } from '@mui/x-data-grid-pro/internals';
6
+ import { useGridRegisterPipeProcessor, GridStrategyGroup, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
7
7
  import { gridRowGroupingModelSelector, gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
8
- import { getRowGroupingFieldFromGroupingCriteria, RowGroupingStrategy, isGroupingColumn, mergeStateWithRowGroupingModel, setStrategyAvailability, getGroupingRules, areGroupingRulesEqual } from "./gridRowGroupingUtils.js";
8
+ import { getRowGroupingFieldFromGroupingCriteria, isGroupingColumn, mergeStateWithRowGroupingModel, setStrategyAvailability, getGroupingRules, areGroupingRulesEqual } from "./gridRowGroupingUtils.js";
9
9
  export const rowGroupingStateInitializer = (state, props, apiRef) => {
10
10
  apiRef.current.caches.rowGrouping = {
11
11
  rulesOnLastRowTreeCreation: []
@@ -2,10 +2,10 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { gridColumnLookupSelector, gridRowTreeSelector, useFirstRender } from '@mui/x-data-grid-pro';
5
- import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor, sortRowTree, createRowTree, updateRowTree, getVisibleRowsLookup } from '@mui/x-data-grid-pro/internals';
5
+ import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor, sortRowTree, createRowTree, updateRowTree, getVisibleRowsLookup, RowGroupingStrategy } from '@mui/x-data-grid-pro/internals';
6
6
  import { gridRowGroupingModelSelector, gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
7
7
  import { createGroupingColDefForAllGroupingCriteria, createGroupingColDefForOneGroupingCriteria } from "./createGroupingColDef.js";
8
- import { filterRowTreeFromGroupingColumns, getColDefOverrides, RowGroupingStrategy, isGroupingColumn, setStrategyAvailability, getCellGroupingCriteria, getGroupingRules } from "./gridRowGroupingUtils.js";
8
+ import { filterRowTreeFromGroupingColumns, getColDefOverrides, isGroupingColumn, setStrategyAvailability, getCellGroupingCriteria, getGroupingRules } from "./gridRowGroupingUtils.js";
9
9
  export const useGridRowGroupingPreProcessors = (apiRef, props) => {
10
10
  const getGroupingColDefs = React.useCallback(columnsState => {
11
11
  if (props.disableRowGrouping) {
@@ -1 +1 @@
1
- export declare const useGridRowAriaAttributes: () => (rowNode: import("@mui/x-data-grid").GridTreeNode, index: number) => React.HTMLAttributes<HTMLElement>;
1
+ export declare const useGridRowAriaAttributesPremium: () => (rowNode: import("@mui/x-data-grid").GridTreeNode, index: number) => React.HTMLAttributes<HTMLElement>;
@@ -1,7 +1,7 @@
1
- import { useGridRowAriaAttributes as useGridRowAriaAttributesPro, useGridSelector } from '@mui/x-data-grid-pro/internals';
1
+ import { useGridRowAriaAttributesPro, useGridSelector } from '@mui/x-data-grid-pro/internals';
2
2
  import { useGridPrivateApiContext } from "../../utils/useGridPrivateApiContext.js";
3
3
  import { gridRowGroupingSanitizedModelSelector } from "../rowGrouping/gridRowGroupingSelector.js";
4
- export const useGridRowAriaAttributes = () => {
4
+ export const useGridRowAriaAttributesPremium = () => {
5
5
  const apiRef = useGridPrivateApiContext();
6
6
  const gridRowGroupingModel = useGridSelector(apiRef, gridRowGroupingSanitizedModelSelector);
7
7
  return useGridRowAriaAttributesPro(gridRowGroupingModel.length > 0);
@@ -0,0 +1,16 @@
1
+ export declare enum GridSidebarValue {
2
+ Pivot = "pivot",
3
+ }
4
+ export interface GridSidebarApi {
5
+ /**
6
+ * Displays the sidebar. The `newValue` argument controls the content of the sidebar.
7
+ * @param {GridSidebarValue} newValue The sidebar to open.
8
+ * @param {string} sidebarId The unique sidebar id
9
+ * @param {string} labelId The unique button id
10
+ */
11
+ showSidebar: (newValue: GridSidebarValue, sidebarId?: string, labelId?: string) => void;
12
+ /**
13
+ * Hides the sidebar.
14
+ */
15
+ hideSidebar: () => void;
16
+ }
@@ -0,0 +1,4 @@
1
+ export let GridSidebarValue = /*#__PURE__*/function (GridSidebarValue) {
2
+ GridSidebarValue["Pivot"] = "pivot";
3
+ return GridSidebarValue;
4
+ }({});
@@ -0,0 +1,12 @@
1
+ import { GridStatePremium } from "../../../models/gridStatePremium.js";
2
+ export declare const gridSidebarStateSelector: import("@mui/x-data-grid").OutputSelector<GridStatePremium, unknown, import("./gridSidebarState.js").GridSidebarState>;
3
+ export declare const gridSidebarOpenSelector: (args_0: import("react").RefObject<{
4
+ state: GridStatePremium;
5
+ } | null>) => boolean;
6
+ export declare const gridSidebarContentSelector: (args_0: import("react").RefObject<{
7
+ state: GridStatePremium;
8
+ } | null>) => {
9
+ sidebarId: string | undefined;
10
+ labelId: string | undefined;
11
+ value: import("./gridSidebarInterfaces.js").GridSidebarValue | undefined;
12
+ };