@mui/x-data-grid 8.0.0-alpha.13 → 8.0.0-alpha.14

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 (198) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/colDef/gridActionsColDef.js +1 -1
  3. package/colDef/gridBooleanColDef.js +1 -1
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -1
  5. package/components/columnsManagement/GridColumnsManagement.js +1 -0
  6. package/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  7. package/components/columnsPanel/ColumnsPanelTrigger.js +209 -0
  8. package/components/columnsPanel/index.d.ts +1 -0
  9. package/components/columnsPanel/index.js +16 -0
  10. package/components/export/ExportCsv.d.ts +30 -0
  11. package/components/export/ExportCsv.js +196 -0
  12. package/components/export/ExportPrint.d.ts +30 -0
  13. package/components/export/ExportPrint.js +196 -0
  14. package/components/export/index.d.ts +2 -0
  15. package/components/export/index.js +27 -0
  16. package/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  17. package/components/filterPanel/FilterPanelTrigger.js +212 -0
  18. package/components/filterPanel/index.d.ts +1 -0
  19. package/components/filterPanel/index.js +16 -0
  20. package/components/index.d.ts +6 -1
  21. package/components/index.js +60 -0
  22. package/components/quickFilter/QuickFilter.d.ts +41 -0
  23. package/components/quickFilter/QuickFilter.js +110 -0
  24. package/components/quickFilter/QuickFilterClear.d.ts +28 -0
  25. package/components/quickFilter/QuickFilterClear.js +161 -0
  26. package/components/quickFilter/QuickFilterContext.d.ts +13 -0
  27. package/components/quickFilter/QuickFilterContext.js +17 -0
  28. package/components/quickFilter/QuickFilterControl.d.ts +28 -0
  29. package/components/quickFilter/QuickFilterControl.js +104 -0
  30. package/components/quickFilter/index.d.ts +3 -0
  31. package/components/quickFilter/index.js +38 -0
  32. package/components/toolbar/GridToolbar.d.ts +1 -1
  33. package/components/toolbar/GridToolbar.js +2 -2
  34. package/components/toolbar/GridToolbarQuickFilter.js +54 -87
  35. package/components/toolbarV8/GridToolbar.d.ts +11 -0
  36. package/components/toolbarV8/GridToolbar.js +142 -0
  37. package/components/toolbarV8/Toolbar.d.ts +32 -0
  38. package/components/toolbarV8/Toolbar.js +132 -0
  39. package/components/toolbarV8/ToolbarButton.d.ts +23 -0
  40. package/components/toolbarV8/ToolbarButton.js +179 -0
  41. package/components/toolbarV8/ToolbarContext.d.ts +9 -0
  42. package/components/toolbarV8/ToolbarContext.js +17 -0
  43. package/components/toolbarV8/index.d.ts +2 -0
  44. package/components/toolbarV8/index.js +27 -0
  45. package/components/virtualization/GridVirtualScrollbar.js +7 -1
  46. package/constants/defaultGridSlotsComponents.js +2 -1
  47. package/constants/gridClasses.d.ts +4 -0
  48. package/esm/colDef/gridActionsColDef.js +1 -1
  49. package/esm/colDef/gridBooleanColDef.js +1 -1
  50. package/esm/colDef/gridCheckboxSelectionColDef.js +1 -1
  51. package/esm/components/columnsManagement/GridColumnsManagement.js +1 -0
  52. package/esm/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  53. package/esm/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  54. package/esm/components/columnsPanel/index.d.ts +1 -0
  55. package/esm/components/columnsPanel/index.js +1 -0
  56. package/esm/components/export/ExportCsv.d.ts +30 -0
  57. package/esm/components/export/ExportCsv.js +189 -0
  58. package/esm/components/export/ExportPrint.d.ts +30 -0
  59. package/esm/components/export/ExportPrint.js +189 -0
  60. package/esm/components/export/index.d.ts +2 -0
  61. package/esm/components/export/index.js +2 -0
  62. package/esm/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  63. package/esm/components/filterPanel/FilterPanelTrigger.js +205 -0
  64. package/esm/components/filterPanel/index.d.ts +1 -0
  65. package/esm/components/filterPanel/index.js +1 -0
  66. package/esm/components/index.d.ts +6 -1
  67. package/esm/components/index.js +6 -1
  68. package/esm/components/quickFilter/QuickFilter.d.ts +41 -0
  69. package/esm/components/quickFilter/QuickFilter.js +103 -0
  70. package/esm/components/quickFilter/QuickFilterClear.d.ts +28 -0
  71. package/esm/components/quickFilter/QuickFilterClear.js +154 -0
  72. package/esm/components/quickFilter/QuickFilterContext.d.ts +13 -0
  73. package/esm/components/quickFilter/QuickFilterContext.js +9 -0
  74. package/esm/components/quickFilter/QuickFilterControl.d.ts +28 -0
  75. package/esm/components/quickFilter/QuickFilterControl.js +97 -0
  76. package/esm/components/quickFilter/index.d.ts +3 -0
  77. package/esm/components/quickFilter/index.js +3 -0
  78. package/esm/components/toolbar/GridToolbar.d.ts +1 -1
  79. package/esm/components/toolbar/GridToolbar.js +2 -2
  80. package/esm/components/toolbar/GridToolbarQuickFilter.js +56 -87
  81. package/esm/components/toolbarV8/GridToolbar.d.ts +11 -0
  82. package/esm/components/toolbarV8/GridToolbar.js +135 -0
  83. package/esm/components/toolbarV8/Toolbar.d.ts +32 -0
  84. package/esm/components/toolbarV8/Toolbar.js +125 -0
  85. package/esm/components/toolbarV8/ToolbarButton.d.ts +23 -0
  86. package/esm/components/toolbarV8/ToolbarButton.js +172 -0
  87. package/esm/components/toolbarV8/ToolbarContext.d.ts +9 -0
  88. package/esm/components/toolbarV8/ToolbarContext.js +9 -0
  89. package/esm/components/toolbarV8/index.d.ts +2 -0
  90. package/esm/components/toolbarV8/index.js +2 -0
  91. package/esm/components/virtualization/GridVirtualScrollbar.js +7 -1
  92. package/esm/constants/defaultGridSlotsComponents.js +2 -1
  93. package/esm/constants/gridClasses.d.ts +4 -0
  94. package/esm/hooks/features/rows/useGridRowsMeta.js +8 -0
  95. package/esm/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  96. package/esm/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
  97. package/esm/hooks/utils/index.d.ts +2 -1
  98. package/esm/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  99. package/esm/hooks/utils/useGridComponentRenderer.js +36 -0
  100. package/esm/index.js +1 -1
  101. package/esm/internals/demo/TailwindDemoContainer.d.ts +11 -0
  102. package/esm/internals/demo/TailwindDemoContainer.js +55 -0
  103. package/esm/internals/demo/index.d.ts +1 -0
  104. package/esm/internals/demo/index.js +1 -0
  105. package/esm/internals/index.d.ts +4 -0
  106. package/esm/internals/index.js +3 -0
  107. package/esm/material/icons/index.d.ts +3 -3
  108. package/esm/material/icons/index.js +6 -6
  109. package/esm/material/index.js +3 -3
  110. package/esm/models/gridBaseSlots.d.ts +5 -1
  111. package/esm/models/gridIconSlotsComponent.d.ts +1 -1
  112. package/esm/models/gridSlotsComponent.d.ts +1 -2
  113. package/hooks/features/rows/useGridRowsMeta.js +8 -0
  114. package/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  115. package/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
  116. package/hooks/utils/index.d.ts +2 -1
  117. package/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  118. package/hooks/utils/useGridComponentRenderer.js +44 -0
  119. package/index.js +1 -1
  120. package/internals/demo/TailwindDemoContainer.d.ts +11 -0
  121. package/internals/demo/TailwindDemoContainer.js +63 -0
  122. package/internals/demo/index.d.ts +1 -0
  123. package/internals/demo/index.js +12 -0
  124. package/internals/index.d.ts +4 -0
  125. package/internals/index.js +28 -0
  126. package/material/icons/index.d.ts +3 -3
  127. package/material/icons/index.js +7 -7
  128. package/material/index.js +2 -2
  129. package/models/gridBaseSlots.d.ts +5 -1
  130. package/models/gridIconSlotsComponent.d.ts +1 -1
  131. package/models/gridSlotsComponent.d.ts +1 -2
  132. package/modern/colDef/gridActionsColDef.js +1 -1
  133. package/modern/colDef/gridBooleanColDef.js +1 -1
  134. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -1
  135. package/modern/components/columnsManagement/GridColumnsManagement.js +1 -0
  136. package/modern/components/columnsPanel/ColumnsPanelTrigger.d.ts +33 -0
  137. package/modern/components/columnsPanel/ColumnsPanelTrigger.js +202 -0
  138. package/modern/components/columnsPanel/index.d.ts +1 -0
  139. package/modern/components/columnsPanel/index.js +1 -0
  140. package/modern/components/export/ExportCsv.d.ts +30 -0
  141. package/modern/components/export/ExportCsv.js +189 -0
  142. package/modern/components/export/ExportPrint.d.ts +30 -0
  143. package/modern/components/export/ExportPrint.js +189 -0
  144. package/modern/components/export/index.d.ts +2 -0
  145. package/modern/components/export/index.js +2 -0
  146. package/modern/components/filterPanel/FilterPanelTrigger.d.ts +37 -0
  147. package/modern/components/filterPanel/FilterPanelTrigger.js +205 -0
  148. package/modern/components/filterPanel/index.d.ts +1 -0
  149. package/modern/components/filterPanel/index.js +1 -0
  150. package/modern/components/index.d.ts +6 -1
  151. package/modern/components/index.js +6 -1
  152. package/modern/components/quickFilter/QuickFilter.d.ts +41 -0
  153. package/modern/components/quickFilter/QuickFilter.js +103 -0
  154. package/modern/components/quickFilter/QuickFilterClear.d.ts +28 -0
  155. package/modern/components/quickFilter/QuickFilterClear.js +154 -0
  156. package/modern/components/quickFilter/QuickFilterContext.d.ts +13 -0
  157. package/modern/components/quickFilter/QuickFilterContext.js +9 -0
  158. package/modern/components/quickFilter/QuickFilterControl.d.ts +28 -0
  159. package/modern/components/quickFilter/QuickFilterControl.js +97 -0
  160. package/modern/components/quickFilter/index.d.ts +3 -0
  161. package/modern/components/quickFilter/index.js +3 -0
  162. package/modern/components/toolbar/GridToolbar.d.ts +1 -1
  163. package/modern/components/toolbar/GridToolbar.js +2 -2
  164. package/modern/components/toolbar/GridToolbarQuickFilter.js +56 -87
  165. package/modern/components/toolbarV8/GridToolbar.d.ts +11 -0
  166. package/modern/components/toolbarV8/GridToolbar.js +135 -0
  167. package/modern/components/toolbarV8/Toolbar.d.ts +32 -0
  168. package/modern/components/toolbarV8/Toolbar.js +125 -0
  169. package/modern/components/toolbarV8/ToolbarButton.d.ts +23 -0
  170. package/modern/components/toolbarV8/ToolbarButton.js +172 -0
  171. package/modern/components/toolbarV8/ToolbarContext.d.ts +9 -0
  172. package/modern/components/toolbarV8/ToolbarContext.js +9 -0
  173. package/modern/components/toolbarV8/index.d.ts +2 -0
  174. package/modern/components/toolbarV8/index.js +2 -0
  175. package/modern/components/virtualization/GridVirtualScrollbar.js +7 -1
  176. package/modern/constants/defaultGridSlotsComponents.js +2 -1
  177. package/modern/constants/gridClasses.d.ts +4 -0
  178. package/modern/hooks/features/rows/useGridRowsMeta.js +8 -0
  179. package/modern/hooks/features/virtualization/useGridVirtualScroller.d.ts +0 -2
  180. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +0 -2
  181. package/modern/hooks/utils/index.d.ts +2 -1
  182. package/modern/hooks/utils/useGridComponentRenderer.d.ts +12 -0
  183. package/modern/hooks/utils/useGridComponentRenderer.js +36 -0
  184. package/modern/index.js +1 -1
  185. package/modern/internals/demo/TailwindDemoContainer.d.ts +11 -0
  186. package/modern/internals/demo/TailwindDemoContainer.js +55 -0
  187. package/modern/internals/demo/index.d.ts +1 -0
  188. package/modern/internals/demo/index.js +1 -0
  189. package/modern/internals/index.d.ts +4 -0
  190. package/modern/internals/index.js +3 -0
  191. package/modern/material/icons/index.d.ts +3 -3
  192. package/modern/material/icons/index.js +6 -6
  193. package/modern/material/index.js +3 -3
  194. package/modern/models/gridBaseSlots.d.ts +5 -1
  195. package/modern/models/gridIconSlotsComponent.d.ts +1 -1
  196. package/modern/models/gridSlotsComponent.d.ts +1 -2
  197. package/package.json +1 -1
  198. package/tsconfig.build.tsbuildinfo +1 -1
@@ -33,7 +33,6 @@ export declare const useGridVirtualScroller: () => {
33
33
  };
34
34
  getScrollbarVerticalProps: () => {
35
35
  ref: React.RefObject<HTMLDivElement | null>;
36
- role: string;
37
36
  scrollPosition: React.RefObject<{
38
37
  top: number;
39
38
  left: number;
@@ -41,7 +40,6 @@ export declare const useGridVirtualScroller: () => {
41
40
  };
42
41
  getScrollbarHorizontalProps: () => {
43
42
  ref: React.RefObject<HTMLDivElement | null>;
44
- role: string;
45
43
  scrollPosition: React.RefObject<{
46
44
  top: number;
47
45
  left: number;
@@ -531,12 +531,10 @@ const useGridVirtualScroller = () => {
531
531
  }),
532
532
  getScrollbarVerticalProps: () => ({
533
533
  ref: scrollbarVerticalRef,
534
- role: 'presentation',
535
534
  scrollPosition
536
535
  }),
537
536
  getScrollbarHorizontalProps: () => ({
538
537
  ref: scrollbarHorizontalRef,
539
- role: 'presentation',
540
538
  scrollPosition
541
539
  }),
542
540
  getScrollAreaProps: () => ({
@@ -5,4 +5,5 @@ export { useGridSelector } from "./useGridSelector.js";
5
5
  export * from "./useGridNativeEventListener.js";
6
6
  export * from "./useFirstRender.js";
7
7
  export * from "./useOnMount.js";
8
- export * from "./useRunOnce.js";
8
+ export * from "./useRunOnce.js";
9
+ export type { RenderProp } from './useGridComponentRenderer';
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ export type RenderProp<Props, State = {}> = ((props: Props, state: State) => React.ReactElement<unknown>) | React.ReactElement<Props>;
3
+ /**
4
+ * Resolves the rendering logic for a component.
5
+ * Handles three scenarios:
6
+ * 1. A render function that receives props and state
7
+ * 2. A React element
8
+ * 3. A default element
9
+ *
10
+ * @ignore - internal hook.
11
+ */
12
+ export declare function useGridComponentRenderer<Props extends React.HTMLAttributes<any>, State extends Record<string, any>>(defaultElement: keyof React.JSX.IntrinsicElements | React.ComponentType<Props>, render: RenderProp<Props, State> | undefined, props: Props, state?: State): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useGridComponentRenderer = useGridComponentRenderer;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _clsx = _interopRequireDefault(require("clsx"));
12
+ /**
13
+ * Resolves the rendering logic for a component.
14
+ * Handles three scenarios:
15
+ * 1. A render function that receives props and state
16
+ * 2. A React element
17
+ * 3. A default element
18
+ *
19
+ * @ignore - internal hook.
20
+ */
21
+ function useGridComponentRenderer(defaultElement, render, props, state = {}) {
22
+ if (typeof render === 'function') {
23
+ return render(props, state);
24
+ }
25
+ if (render) {
26
+ if (render.props.className) {
27
+ props.className = (0, _clsx.default)(render.props.className, props.className);
28
+ }
29
+ if (render.props.style || props.style) {
30
+ props.style = (0, _extends2.default)({}, props.style, render.props.style);
31
+ }
32
+ if (render.props.sx || props.sx) {
33
+ props.sx = mergeSx(props.sx, render.props.sx);
34
+ }
35
+ return /*#__PURE__*/React.cloneElement(render, props);
36
+ }
37
+ return /*#__PURE__*/React.createElement(defaultElement, props);
38
+ }
39
+ function mergeSx(sx1, sx2) {
40
+ if (!sx1 || !sx2) {
41
+ return sx1 || sx2;
42
+ }
43
+ return (Array.isArray(sx1) ? sx1 : [sx1]).concat(Array.isArray(sx2) ? sx2 : [sx2]);
44
+ }
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v8.0.0-alpha.13
2
+ * @mui/x-data-grid v8.0.0-alpha.14
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ interface TailwindDemoContainerProps {
3
+ children: React.ReactNode;
4
+ documentBody?: HTMLElement;
5
+ }
6
+ /**
7
+ * WARNING: This is an internal component used in documentation to inject the Tailwind script.
8
+ * Please do not use it in your application.
9
+ */
10
+ export declare function TailwindDemoContainer(props: TailwindDemoContainerProps): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
11
+ export {};
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.TailwindDemoContainer = TailwindDemoContainer;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _Box = _interopRequireDefault(require("@mui/material/Box"));
11
+ var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * WARNING: This is an internal component used in documentation to inject the Tailwind script.
15
+ * Please do not use it in your application.
16
+ */
17
+ function TailwindDemoContainer(props) {
18
+ const {
19
+ children,
20
+ documentBody
21
+ } = props;
22
+ const [isLoaded, setIsLoaded] = React.useState(false);
23
+ React.useEffect(() => {
24
+ const body = documentBody ?? document.body;
25
+ const script = document.createElement('script');
26
+ script.src = 'https://unpkg.com/@tailwindcss/browser@4';
27
+ let mounted = true;
28
+ const cleanup = () => {
29
+ mounted = false;
30
+ script.remove();
31
+ const head = body?.ownerDocument?.head;
32
+ if (!head) {
33
+ return;
34
+ }
35
+ const styles = head.querySelectorAll('style:not([data-emotion])');
36
+ styles.forEach(style => {
37
+ const styleText = style.textContent?.substring(0, 100);
38
+ const isTailwindStylesheet = styleText?.includes('tailwind');
39
+ if (isTailwindStylesheet) {
40
+ style.remove();
41
+ }
42
+ });
43
+ };
44
+ script.onload = () => {
45
+ if (!mounted) {
46
+ cleanup();
47
+ return;
48
+ }
49
+ setIsLoaded(true);
50
+ };
51
+ body.appendChild(script);
52
+ return cleanup;
53
+ }, [documentBody]);
54
+ return isLoaded ? children : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
55
+ sx: {
56
+ display: 'flex',
57
+ justifyContent: 'center',
58
+ alignItems: 'center',
59
+ height: '100%'
60
+ },
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CircularProgress.default, {})
62
+ });
63
+ }
@@ -0,0 +1 @@
1
+ export { TailwindDemoContainer } from "./TailwindDemoContainer.js";
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TailwindDemoContainer", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _TailwindDemoContainer.TailwindDemoContainer;
10
+ }
11
+ });
12
+ var _TailwindDemoContainer = require("./TailwindDemoContainer");
@@ -5,6 +5,8 @@ export { GridVirtualScrollerRenderZone } from "../components/virtualization/Grid
5
5
  export type { GridDetailPanelsProps } from '../components/GridDetailPanels';
6
6
  export type { GridPinnedRowsProps } from '../components/GridPinnedRows';
7
7
  export { GridHeaders } from "../components/GridHeaders.js";
8
+ export { GridToolbar } from "../components/toolbarV8/GridToolbar.js";
9
+ export type { GridToolbarProps } from '../components/toolbarV8/GridToolbar';
8
10
  export { GridBaseColumnHeaders } from "../components/columnHeaders/GridBaseColumnHeaders.js";
9
11
  export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from "../constants/defaultGridSlotsComponents.js";
10
12
  export * from "../constants/signature.js";
@@ -74,6 +76,7 @@ export * from "../hooks/features/virtualization/index.js";
74
76
  export { useGridColumnResize, columnResizeStateInitializer } from "../hooks/features/columnResize/useGridColumnResize.js";
75
77
  export { ROW_SELECTION_PROPAGATION_DEFAULT } from "../hooks/features/rowSelection/utils.js";
76
78
  export { useGridListView, listViewStateInitializer } from "../hooks/features/listView/useGridListView.js";
79
+ export { useGridComponentRenderer } from "../hooks/utils/useGridComponentRenderer.js";
77
80
  export { useTimeout } from "../hooks/utils/useTimeout.js";
78
81
  export { useGridVisibleRows, getVisibleRows } from "../hooks/utils/useGridVisibleRows.js";
79
82
  export { useGridInitializeState } from "../hooks/utils/useGridInitializeState.js";
@@ -105,4 +108,5 @@ export { serializeCellValue } from "../hooks/features/export/serializers/csvSeri
105
108
  export * from "./utils/index.js";
106
109
  export * from "./constants.js";
107
110
  export type { Localization } from '../utils/getGridLocalization';
111
+ export * from "./demo/index.js";
108
112
  export { GridSkeletonLoadingOverlayInner } from "../components/GridSkeletonLoadingOverlay.js";
@@ -8,6 +8,7 @@ var _exportNames = {
8
8
  GridVirtualScrollerContent: true,
9
9
  GridVirtualScrollerRenderZone: true,
10
10
  GridHeaders: true,
11
+ GridToolbar: true,
11
12
  GridBaseColumnHeaders: true,
12
13
  DATA_GRID_DEFAULT_SLOTS_COMPONENTS: true,
13
14
  vars: true,
@@ -90,6 +91,7 @@ var _exportNames = {
90
91
  ROW_SELECTION_PROPAGATION_DEFAULT: true,
91
92
  useGridListView: true,
92
93
  listViewStateInitializer: true,
94
+ useGridComponentRenderer: true,
93
95
  useTimeout: true,
94
96
  useGridVisibleRows: true,
95
97
  getVisibleRows: true,
@@ -174,6 +176,12 @@ Object.defineProperty(exports, "GridStrategyGroup", {
174
176
  return _strategyProcessing.GridStrategyGroup;
175
177
  }
176
178
  });
179
+ Object.defineProperty(exports, "GridToolbar", {
180
+ enumerable: true,
181
+ get: function () {
182
+ return _GridToolbar.GridToolbar;
183
+ }
184
+ });
177
185
  Object.defineProperty(exports, "GridVirtualScroller", {
178
186
  enumerable: true,
179
187
  get: function () {
@@ -564,6 +572,12 @@ Object.defineProperty(exports, "useGridColumns", {
564
572
  return _useGridColumns.useGridColumns;
565
573
  }
566
574
  });
575
+ Object.defineProperty(exports, "useGridComponentRenderer", {
576
+ enumerable: true,
577
+ get: function () {
578
+ return _useGridComponentRenderer.useGridComponentRenderer;
579
+ }
580
+ });
567
581
  Object.defineProperty(exports, "useGridCsvExport", {
568
582
  enumerable: true,
569
583
  get: function () {
@@ -772,6 +786,7 @@ var _GridVirtualScroller = require("../components/virtualization/GridVirtualScro
772
786
  var _GridVirtualScrollerContent = require("../components/virtualization/GridVirtualScrollerContent");
773
787
  var _GridVirtualScrollerRenderZone = require("../components/virtualization/GridVirtualScrollerRenderZone");
774
788
  var _GridHeaders = require("../components/GridHeaders");
789
+ var _GridToolbar = require("../components/toolbarV8/GridToolbar");
775
790
  var _GridBaseColumnHeaders = require("../components/columnHeaders/GridBaseColumnHeaders");
776
791
  var _defaultGridSlotsComponents = require("../constants/defaultGridSlotsComponents");
777
792
  var _signature = require("../constants/signature");
@@ -895,6 +910,7 @@ Object.keys(_virtualization).forEach(function (key) {
895
910
  var _useGridColumnResize = require("../hooks/features/columnResize/useGridColumnResize");
896
911
  var _utils = require("../hooks/features/rowSelection/utils");
897
912
  var _useGridListView = require("../hooks/features/listView/useGridListView");
913
+ var _useGridComponentRenderer = require("../hooks/utils/useGridComponentRenderer");
898
914
  var _useTimeout = require("../hooks/utils/useTimeout");
899
915
  var _useGridVisibleRows = require("../hooks/utils/useGridVisibleRows");
900
916
  var _useGridInitializeState = require("../hooks/utils/useGridInitializeState");
@@ -1004,4 +1020,16 @@ Object.keys(_constants).forEach(function (key) {
1004
1020
  }
1005
1021
  });
1006
1022
  });
1023
+ var _demo = require("./demo");
1024
+ Object.keys(_demo).forEach(function (key) {
1025
+ if (key === "default" || key === "__esModule") return;
1026
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
1027
+ if (key in exports && exports[key] === _demo[key]) return;
1028
+ Object.defineProperty(exports, key, {
1029
+ enumerable: true,
1030
+ get: function () {
1031
+ return _demo[key];
1032
+ }
1033
+ });
1034
+ });
1007
1035
  var _GridSkeletonLoadingOverlay = require("../components/GridSkeletonLoadingOverlay");
@@ -58,9 +58,6 @@ export declare const GridLoadIcon: import("@mui/material/OverridableComponent").
58
58
  export declare const GridDragIcon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
59
59
  muiName: string;
60
60
  };
61
- export declare const GridSaveAltIcon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
62
- muiName: string;
63
- };
64
61
  export declare const GridCheckIcon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
65
62
  muiName: string;
66
63
  };
@@ -81,4 +78,7 @@ export declare const GridDeleteIcon: import("@mui/material/OverridableComponent"
81
78
  };
82
79
  export declare const GridDeleteForeverIcon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
83
80
  muiName: string;
81
+ };
82
+ export declare const GridDownloadIcon: import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").SvgIconTypeMap<{}, "svg">> & {
83
+ muiName: string;
84
84
  };
@@ -4,7 +4,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridVisibilityOffIcon = exports.GridViewStreamIcon = exports.GridViewHeadlineIcon = exports.GridViewColumnIcon = exports.GridTripleDotsVerticalIcon = exports.GridTableRowsIcon = exports.GridSeparatorIcon = exports.GridSearchIcon = exports.GridSaveAltIcon = exports.GridRemoveIcon = exports.GridMoreVertIcon = exports.GridMenuIcon = exports.GridLoadIcon = exports.GridKeyboardArrowRight = exports.GridFilterListIcon = exports.GridFilterAltIcon = exports.GridExpandMoreIcon = exports.GridDragIcon = exports.GridDeleteIcon = exports.GridDeleteForeverIcon = exports.GridColumnIcon = exports.GridCloseIcon = exports.GridClearIcon = exports.GridCheckIcon = exports.GridCheckCircleIcon = exports.GridArrowUpwardIcon = exports.GridArrowDownwardIcon = exports.GridAddIcon = void 0;
7
+ exports.GridVisibilityOffIcon = exports.GridViewStreamIcon = exports.GridViewHeadlineIcon = exports.GridViewColumnIcon = exports.GridTripleDotsVerticalIcon = exports.GridTableRowsIcon = exports.GridSeparatorIcon = exports.GridSearchIcon = exports.GridRemoveIcon = exports.GridMoreVertIcon = exports.GridMenuIcon = exports.GridLoadIcon = exports.GridKeyboardArrowRight = exports.GridFilterListIcon = exports.GridFilterAltIcon = exports.GridExpandMoreIcon = exports.GridDragIcon = exports.GridDownloadIcon = exports.GridDeleteIcon = exports.GridDeleteForeverIcon = exports.GridColumnIcon = exports.GridCloseIcon = exports.GridClearIcon = exports.GridCheckIcon = exports.GridCheckCircleIcon = exports.GridArrowUpwardIcon = exports.GridArrowDownwardIcon = exports.GridAddIcon = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _utils = require("@mui/material/utils");
10
10
  var _jsxRuntime = require("react/jsx-runtime");
@@ -36,7 +36,7 @@ const GridCheckCircleIcon = exports.GridCheckCircleIcon = (0, _utils.createSvgIc
36
36
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
37
37
  }), 'CheckCircle');
38
38
  const GridColumnIcon = exports.GridColumnIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
39
- d: "M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z"
39
+ d: "M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"
40
40
  }), 'ColumnIcon');
41
41
  const GridSeparatorIcon = exports.GridSeparatorIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("rect", {
42
42
  width: "1",
@@ -71,9 +71,6 @@ const GridLoadIcon = exports.GridLoadIcon = (0, _utils.createSvgIcon)(/*#__PURE_
71
71
  const GridDragIcon = exports.GridDragIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
72
72
  d: "M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"
73
73
  }), 'Drag');
74
- const GridSaveAltIcon = exports.GridSaveAltIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
75
- d: "M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"
76
- }), 'SaveAlt');
77
74
  const GridCheckIcon = exports.GridCheckIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
78
75
  d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"
79
76
  }), 'Check');
@@ -89,11 +86,14 @@ const GridViewColumnIcon = exports.GridViewColumnIcon = (0, _utils.createSvgIcon
89
86
  })
90
87
  }), 'ViewColumn');
91
88
  const GridClearIcon = exports.GridClearIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
92
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
89
+ d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12z"
93
90
  }), 'Clear');
94
91
  const GridDeleteIcon = exports.GridDeleteIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
95
92
  d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
96
93
  }), 'Delete');
97
94
  const GridDeleteForeverIcon = exports.GridDeleteForeverIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
98
95
  d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"
99
- }), 'Delete');
96
+ }), 'Delete');
97
+ const GridDownloadIcon = exports.GridDownloadIcon = (0, _utils.createSvgIcon)(/*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
98
+ d: "M5 20h14v-2H5zM19 9h-4V3H9v6H5l7 7z"
99
+ }), 'Download');
package/material/index.js CHANGED
@@ -169,7 +169,7 @@ const iconSlots = {
169
169
  densityCompactIcon: _icons.GridViewHeadlineIcon,
170
170
  densityStandardIcon: _icons.GridTableRowsIcon,
171
171
  densityComfortableIcon: _icons.GridViewStreamIcon,
172
- exportIcon: _icons.GridSaveAltIcon,
172
+ exportIcon: _icons.GridDownloadIcon,
173
173
  moreActionsIcon: _icons.GridMoreVertIcon,
174
174
  treeDataCollapseIcon: _icons.GridExpandMoreIcon,
175
175
  treeDataExpandIcon: _icons.GridKeyboardArrowRight,
@@ -179,7 +179,7 @@ const iconSlots = {
179
179
  detailPanelCollapseIcon: _icons.GridRemoveIcon,
180
180
  rowReorderIcon: _icons.GridDragIcon,
181
181
  quickFilterIcon: _icons.GridSearchIcon,
182
- quickFilterClearIcon: _icons.GridCloseIcon,
182
+ quickFilterClearIcon: _icons.GridClearIcon,
183
183
  columnMenuHideIcon: _icons.GridVisibilityOffIcon,
184
184
  columnMenuSortAscendingIcon: _icons.GridArrowUpwardIcon,
185
185
  columnMenuSortDescendingIcon: _icons.GridArrowDownwardIcon,
@@ -108,7 +108,9 @@ export type IconButtonProps = Omit<ButtonProps, 'startIcon'> & {
108
108
  color?: 'default' | 'inherit' | 'primary';
109
109
  edge?: 'start' | 'end' | false;
110
110
  };
111
- export type DividerProps = {};
111
+ export type DividerProps = {
112
+ orientation?: 'horizontal' | 'vertical';
113
+ };
112
114
  export type MenuListProps = {
113
115
  ref?: Ref<HTMLUListElement>;
114
116
  id?: string;
@@ -223,6 +225,7 @@ export type SwitchProps = {
223
225
  size?: 'small' | 'medium';
224
226
  };
225
227
  export type TextFieldProps = {
228
+ role?: string;
226
229
  autoComplete?: string;
227
230
  className?: string;
228
231
  color?: 'primary' | 'error';
@@ -246,6 +249,7 @@ export type TextFieldProps = {
246
249
  tabIndex?: number;
247
250
  type?: React.HTMLInputTypeAttribute;
248
251
  value?: string;
252
+ ref?: Ref<HTMLInputElement>;
249
253
  };
250
254
  export type TooltipProps = {
251
255
  children: React.ReactElement<any, any>;
@@ -70,7 +70,7 @@ export interface GridIconSlotsComponent {
70
70
  densityComfortableIcon: React.JSXElementConstructor<any>;
71
71
  /**
72
72
  * Icon displayed on the open export button present in the toolbar by default.
73
- * @default GridSaveAltIcon
73
+ * @default GridDownloadIcon
74
74
  */
75
75
  exportIcon: React.JSXElementConstructor<any>;
76
76
  /**
@@ -149,8 +149,7 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
149
149
  */
150
150
  footerRowCount: React.JSXElementConstructor<GridSlotProps['footerRowCount']>;
151
151
  /**
152
- * Toolbar component rendered inside the Header component.
153
- * @default GridToolbar
152
+ * Toolbar component rendered in the grid header.
154
153
  */
155
154
  toolbar: React.JSXElementConstructor<GridSlotProps['toolbar']>;
156
155
  /**
@@ -15,5 +15,5 @@ export const GRID_ACTIONS_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
15
15
  disableColumnMenu: true,
16
16
  disableExport: true,
17
17
  renderCell: renderActionsCell,
18
- getApplyQuickFilterFn: undefined
18
+ getApplyQuickFilterFn: () => null
19
19
  });
@@ -33,7 +33,7 @@ export const GRID_BOOLEAN_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
33
33
  sortComparator: gridNumberComparator,
34
34
  valueFormatter: gridBooleanFormatter,
35
35
  filterOperators: getGridBooleanOperators(),
36
- getApplyQuickFilterFn: undefined,
36
+ getApplyQuickFilterFn: () => null,
37
37
  // @ts-ignore
38
38
  aggregable: false,
39
39
  // @ts-ignore
@@ -18,7 +18,7 @@ export const GRID_CHECKBOX_SELECTION_COL_DEF = _extends({}, GRID_BOOLEAN_COL_DEF
18
18
  disableColumnMenu: true,
19
19
  disableReorder: true,
20
20
  disableExport: true,
21
- getApplyQuickFilterFn: undefined,
21
+ getApplyQuickFilterFn: () => null,
22
22
  display: 'flex',
23
23
  valueGetter: (value, row, column, apiRef) => {
24
24
  const rowId = gridRowIdSelector(apiRef, row);
@@ -246,6 +246,7 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
246
246
  onChange: PropTypes.func,
247
247
  onKeyDown: PropTypes.func,
248
248
  placeholder: PropTypes.string,
249
+ role: PropTypes.string,
249
250
  size: PropTypes.oneOf(['medium', 'small']),
250
251
  slotProps: PropTypes.object,
251
252
  style: PropTypes.object,
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { RenderProp } from "../../hooks/utils/useGridComponentRenderer.js";
3
+ import type { GridSlotProps } from '../../models';
4
+ export interface ColumnsPanelState {
5
+ /**
6
+ * If `true`, the columns panel is open.
7
+ */
8
+ open: boolean;
9
+ }
10
+ export type ColumnsPanelTriggerProps = Omit<GridSlotProps['baseButton'], 'className'> & {
11
+ /**
12
+ * A function to customize rendering of the component.
13
+ */
14
+ render?: RenderProp<GridSlotProps['baseButton'], ColumnsPanelState>;
15
+ /**
16
+ * Override or extend the styles applied to the component.
17
+ */
18
+ className?: string | ((state: ColumnsPanelState) => string);
19
+ };
20
+ /**
21
+ * A button that opens and closes the columns panel.
22
+ * It renders the `baseButton` slot.
23
+ *
24
+ * Demos:
25
+ *
26
+ * - [Columns Panel](https://mui.com/x/react-data-grid/components/columns-panel/)
27
+ *
28
+ * API:
29
+ *
30
+ * - [ColumnsPanelTrigger API](https://mui.com/x/api/data-grid/columns-panel-trigger/)
31
+ */
32
+ declare const ColumnsPanelTrigger: React.ForwardRefExoticComponent<ColumnsPanelTriggerProps> | React.ForwardRefExoticComponent<Omit<ColumnsPanelTriggerProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
33
+ export { ColumnsPanelTrigger };