@mui/x-data-grid 9.0.0-alpha.3 → 9.0.0-beta.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 (34) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/components/columnSelection/GridCellCheckboxRenderer.js +3 -5
  3. package/components/columnSelection/GridCellCheckboxRenderer.mjs +3 -5
  4. package/components/columnSelection/GridRowCheckbox.d.mts +4 -0
  5. package/components/columnSelection/GridRowCheckbox.d.ts +4 -0
  6. package/components/columnSelection/GridRowCheckbox.js +59 -0
  7. package/components/columnSelection/GridRowCheckbox.mjs +53 -0
  8. package/components/columnSelection/index.d.mts +2 -1
  9. package/components/columnSelection/index.d.ts +2 -1
  10. package/components/columnSelection/index.js +11 -0
  11. package/components/columnSelection/index.mjs +2 -1
  12. package/components/containers/GridRootStyles.js +2 -6
  13. package/components/containers/GridRootStyles.mjs +3 -7
  14. package/constants/defaultGridSlotsComponents.js +2 -1
  15. package/constants/defaultGridSlotsComponents.mjs +3 -2
  16. package/constants/gridClasses.d.mts +16 -0
  17. package/constants/gridClasses.d.ts +16 -0
  18. package/constants/gridClasses.js +21 -4
  19. package/constants/gridClasses.mjs +20 -3
  20. package/constants/index.d.mts +1 -1
  21. package/constants/index.d.ts +1 -1
  22. package/constants/index.js +19 -10
  23. package/constants/index.mjs +1 -1
  24. package/index.js +1 -1
  25. package/index.mjs +1 -1
  26. package/material/augmentation.d.mts +3 -0
  27. package/material/augmentation.d.ts +3 -0
  28. package/material/index.js +57 -36
  29. package/material/index.mjs +57 -36
  30. package/models/gridSlotsComponent.d.mts +5 -0
  31. package/models/gridSlotsComponent.d.ts +5 -0
  32. package/models/gridSlotsComponentsProps.d.mts +9 -0
  33. package/models/gridSlotsComponentsProps.d.ts +9 -0
  34. package/package.json +3 -3
@@ -5,12 +5,29 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.getDataGridUtilityClass = getDataGridUtilityClass;
8
- exports.gridClasses = void 0;
8
+ exports.gridClassesOverrides = exports.gridClasses = void 0;
9
9
  var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
10
10
  var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
11
11
  function getDataGridUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiDataGrid', slot);
13
13
  }
14
- const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible',
15
- // TODO v9: Rename to `cell--dragging`
16
- 'row--dragging', 'row--beingDragged', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderIcon', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
14
+
15
+ /**
16
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
17
+ *
18
+ * Splits classes into two groups to support style overrides:
19
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
20
+ * - `children`: classes applied to child elements (use `& .className` selector)
21
+ *
22
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
23
+ *
24
+ * Only include class names here that are NOT applied via `styled` components.
25
+ * For `styled` components, declare overrides directly in the component definition.
26
+ */
27
+ const gridClassesOverrides = exports.gridClassesOverrides = {
28
+ root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
29
+ children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
30
+ // TODO v9: Rename to `cell--dragging`
31
+ 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
32
+ };
33
+ const gridClasses = exports.gridClasses = (0, _generateUtilityClasses.default)('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -3,6 +3,23 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
3
3
  export function getDataGridUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiDataGrid', slot);
5
5
  }
6
- export const gridClasses = generateUtilityClasses('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible',
7
- // TODO v9: Rename to `cell--dragging`
8
- 'row--dragging', 'row--beingDragged', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderIcon', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
6
+
7
+ /**
8
+ * Class groups for the MuiDataGrid component used in GridRootStyles overridesResolver.
9
+ *
10
+ * Splits classes into two groups to support style overrides:
11
+ * - `root`: classes applied directly to the root element (use `&.className` selector)
12
+ * - `children`: classes applied to child elements (use `& .className` selector)
13
+ *
14
+ * These are spread into the gridClasses utility object and used for CSS-in-JS overrides.
15
+ *
16
+ * Only include class names here that are NOT applied via `styled` components.
17
+ * For `styled` components, declare overrides directly in the component definition.
18
+ */
19
+ export const gridClassesOverrides = {
20
+ root: ['autoHeight', 'autosizing', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'withVerticalBorder'],
21
+ children: ['actionsCell', 'booleanCell', 'cell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--rangeTop', 'cell--selectionMode', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withLeftBorder', 'cell--withRightBorder', 'cellCheckbox', 'cellEmpty', 'cellOffsetLeft', 'cellSkeleton', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--emptyGroup', 'columnHeader--filledGroup', 'columnHeader--filtered', 'columnHeader--last', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--siblingFocused', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnSeparator', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'container--bottom', 'container--top', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'editBooleanCell', 'filterIcon', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'groupingCriteriaCell', 'groupingCriteriaCellLoadingContainer', 'groupingCriteriaCellToggle', 'headerFilterRow', 'iconSeparator', 'menuIcon', 'menuIconButton', 'menuList', 'menuOpen', 'overlayWrapperInner', 'pinnedRows', 'pinnedRows--bottom', 'pinnedRows--top', 'row', 'row--borderBottom', 'row--detailPanelExpanded',
22
+ // TODO v9: Rename to `cell--dragging`
23
+ 'row--dragging', 'row--dynamicHeight', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderCellContainer', 'rowReorderCellPlaceholder', 'rowSkeleton', 'scrollbar', 'scrollbar--horizontal', 'scrollbar--vertical', 'scrollbarFiller', 'scrollbarFiller--pinnedRight', 'sortIcon', 'treeDataGroupingCell', 'treeDataGroupingCellLoadingContainer', 'treeDataGroupingCellToggle', 'withBorderColor', 'row--beingDragged']
24
+ };
25
+ export const gridClasses = generateUtilityClasses('MuiDataGrid', [...gridClassesOverrides.root, ...gridClassesOverrides.children, 'aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'mainContent', 'withSidePanel', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderTitle', 'columnHeaders', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'detailPanel', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editInputCell', 'longTextCell', 'longTextCellContent', 'longTextCellExpandButton', 'longTextCellCollapseButton', 'longTextCellPopup', 'longTextCellPopperContent', 'editLongTextCell', 'editLongTextCellValue', 'editLongTextCellPopup', 'editLongTextCellPopperContent', 'editLongTextCellTextarea', 'filler', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'footerContainer', 'iconButtonContainer', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'overlay', 'overlayWrapper', 'root', 'rowCount', 'rowReorderIcon', 'scrollArea--left', 'scrollArea--right', 'scrollArea--up', 'scrollArea--down', 'scrollArea', 'scrollShadow', 'scrollShadow--vertical', 'scrollShadow--horizontal', 'selectedRowCount', 'sortButton', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction', 'resizablePanelHandle', 'resizablePanelHandle--horizontal', 'resizablePanelHandle--vertical']);
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.mjs";
2
2
  export * from "./localeTextConstants.mjs";
3
- export * from "./gridClasses.mjs";
3
+ export { type GridClassKey, type GridClasses, getDataGridUtilityClass, gridClasses } from "./gridClasses.mjs";
4
4
  export * from "./signature.mjs";
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.js";
2
2
  export * from "./localeTextConstants.js";
3
- export * from "./gridClasses.js";
3
+ export { type GridClassKey, type GridClasses, getDataGridUtilityClass, gridClasses } from "./gridClasses.js";
4
4
  export * from "./signature.js";
@@ -3,9 +3,26 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ getDataGridUtilityClass: true,
8
+ gridClasses: true
9
+ };
10
+ Object.defineProperty(exports, "getDataGridUtilityClass", {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _gridClasses.getDataGridUtilityClass;
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "gridClasses", {
17
+ enumerable: true,
18
+ get: function () {
19
+ return _gridClasses.gridClasses;
20
+ }
21
+ });
6
22
  var _envConstants = require("./envConstants");
7
23
  Object.keys(_envConstants).forEach(function (key) {
8
24
  if (key === "default" || key === "__esModule") return;
25
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
26
  if (key in exports && exports[key] === _envConstants[key]) return;
10
27
  Object.defineProperty(exports, key, {
11
28
  enumerable: true,
@@ -17,6 +34,7 @@ Object.keys(_envConstants).forEach(function (key) {
17
34
  var _localeTextConstants = require("./localeTextConstants");
18
35
  Object.keys(_localeTextConstants).forEach(function (key) {
19
36
  if (key === "default" || key === "__esModule") return;
37
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
38
  if (key in exports && exports[key] === _localeTextConstants[key]) return;
21
39
  Object.defineProperty(exports, key, {
22
40
  enumerable: true,
@@ -26,19 +44,10 @@ Object.keys(_localeTextConstants).forEach(function (key) {
26
44
  });
27
45
  });
28
46
  var _gridClasses = require("./gridClasses");
29
- Object.keys(_gridClasses).forEach(function (key) {
30
- if (key === "default" || key === "__esModule") return;
31
- if (key in exports && exports[key] === _gridClasses[key]) return;
32
- Object.defineProperty(exports, key, {
33
- enumerable: true,
34
- get: function () {
35
- return _gridClasses[key];
36
- }
37
- });
38
- });
39
47
  var _signature = require("./signature");
40
48
  Object.keys(_signature).forEach(function (key) {
41
49
  if (key === "default" || key === "__esModule") return;
50
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
42
51
  if (key in exports && exports[key] === _signature[key]) return;
43
52
  Object.defineProperty(exports, key, {
44
53
  enumerable: true,
@@ -1,4 +1,4 @@
1
1
  export * from "./envConstants.mjs";
2
2
  export * from "./localeTextConstants.mjs";
3
- export * from "./gridClasses.mjs";
3
+ export { getDataGridUtilityClass, gridClasses } from "./gridClasses.mjs";
4
4
  export * from "./signature.mjs";
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.0.0-alpha.3
2
+ * @mui/x-data-grid v9.0.0-beta.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v9.0.0-alpha.3
2
+ * @mui/x-data-grid v9.0.0-beta.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -30,6 +30,9 @@ declare module '@mui/x-data-grid' {
30
30
  interface BaseCheckboxPropsOverrides {
31
31
  material?: Partial<CheckboxProps>;
32
32
  }
33
+ interface RowCheckboxPropsOverrides {
34
+ material?: Partial<CheckboxProps>;
35
+ }
33
36
  interface BaseChipPropsOverrides {
34
37
  material?: Partial<ChipProps>;
35
38
  }
@@ -30,6 +30,9 @@ declare module '@mui/x-data-grid' {
30
30
  interface BaseCheckboxPropsOverrides {
31
31
  material?: Partial<CheckboxProps>;
32
32
  }
33
+ interface RowCheckboxPropsOverrides {
34
+ material?: Partial<CheckboxProps>;
35
+ }
33
36
  interface BaseChipPropsOverrides {
34
37
  material?: Partial<ChipProps>;
35
38
  }
package/material/index.js CHANGED
@@ -81,12 +81,14 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
81
81
  _excluded16 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
82
82
  _excluded17 = ["key"],
83
83
  _excluded18 = ["inputProps", "InputProps", "InputLabelProps"],
84
- _excluded19 = ["slotProps", "material"],
85
- _excluded20 = ["material"],
86
- _excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
87
- _excluded22 = ["native"],
88
- _excluded23 = ["children", "value", "active"],
89
- _excluded24 = ["items", "value", "material"];
84
+ _excluded19 = ["slotProps"],
85
+ _excluded20 = ["slotProps"],
86
+ _excluded21 = ["slotProps", "material"],
87
+ _excluded22 = ["material"],
88
+ _excluded23 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
89
+ _excluded24 = ["native"],
90
+ _excluded25 = ["children", "value", "active"],
91
+ _excluded26 = ["items", "value", "material"];
90
92
  /* eslint-disable mui/disallow-react-api-in-server-components */
91
93
 
92
94
  const InputAdornment = (0, _styles.styled)(_InputAdornment.default, {
@@ -168,8 +170,10 @@ const BaseSelect = (0, _forwardRef.forwardRef)(function BaseSelect(props, ref) {
168
170
  const computedSize = size ?? textFieldDefaults.size;
169
171
  const computedVariant = textFieldDefaults.variant ?? 'outlined';
170
172
  const menuProps = {
171
- PaperProps: {
172
- onKeyDown
173
+ slotProps: {
174
+ paper: {
175
+ onKeyDown
176
+ }
173
177
  }
174
178
  };
175
179
  if (onClose) {
@@ -299,7 +303,9 @@ const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, re
299
303
  if (!label) {
300
304
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, material, {
301
305
  className: (0, _clsx.default)(className, material?.className),
302
- inputProps: slotProps?.htmlInput,
306
+ slotProps: {
307
+ input: slotProps?.htmlInput
308
+ },
303
309
  ref: handleRef,
304
310
  touchRippleRef: rippleRef
305
311
  }));
@@ -307,7 +313,9 @@ const BaseCheckbox = (0, _forwardRef.forwardRef)(function BaseCheckbox(props, re
307
313
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(FormControlLabel, {
308
314
  className: className,
309
315
  control: /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, other, material, {
310
- inputProps: slotProps?.htmlInput,
316
+ slotProps: {
317
+ input: slotProps?.htmlInput
318
+ },
311
319
  ref: handleRef,
312
320
  touchRippleRef: rippleRef
313
321
  })),
@@ -470,8 +478,6 @@ function BaseMenuItem(props) {
470
478
  }, "3")]);
471
479
  }
472
480
  function BaseTextField(props) {
473
- // MaterialUI v5 doesn't support slotProps, until we drop v5 support we need to
474
- // translate the pattern.
475
481
  const {
476
482
  slotProps,
477
483
  material
@@ -485,11 +491,13 @@ function BaseTextField(props) {
485
491
  variant: computedVariant,
486
492
  size: computedSize
487
493
  }, other, material, {
488
- inputProps: slotProps?.htmlInput,
489
- InputProps: transformInputProps(slotProps?.input),
490
- InputLabelProps: (0, _extends2.default)({
491
- shrink: true
492
- }, slotProps?.inputLabel)
494
+ slotProps: {
495
+ htmlInput: slotProps?.htmlInput,
496
+ input: transformInputProps(slotProps?.input),
497
+ inputLabel: (0, _extends2.default)({
498
+ shrink: true
499
+ }, slotProps?.inputLabel)
500
+ }
493
501
  }));
494
502
  }
495
503
  function BaseAutocomplete(props) {
@@ -518,7 +526,7 @@ function BaseAutocomplete(props) {
518
526
  isOptionEqualToValue: isOptionEqualToValue,
519
527
  value: value,
520
528
  onChange: onChange,
521
- renderTags: (currentValue, getTagProps) => currentValue.map((option, index) => {
529
+ renderValue: (currentValue, getTagProps) => currentValue.map((option, index) => {
522
530
  const _getTagProps = getTagProps({
523
531
  index
524
532
  }),
@@ -534,20 +542,33 @@ function BaseAutocomplete(props) {
534
542
  }),
535
543
  renderInput: params => {
536
544
  const {
537
- inputProps,
545
+ inputProps: htmlInputProps,
538
546
  InputProps,
539
547
  InputLabelProps
540
548
  } = params,
541
549
  inputRest = (0, _objectWithoutPropertiesLoose2.default)(params, _excluded18);
550
+ const _ref = slotProps?.textField ?? {},
551
+ {
552
+ slotProps: textFieldSlotProps
553
+ } = _ref,
554
+ textFieldRest = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded19);
555
+ const _ref2 = rootProps.slotProps?.baseTextField ?? {},
556
+ {
557
+ slotProps: baseTextFieldSlotProps
558
+ } = _ref2,
559
+ baseTextFieldRest = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded20);
542
560
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextField.default, (0, _extends2.default)({}, inputRest, {
543
561
  label: label,
544
- placeholder: placeholder,
545
- inputProps: inputProps,
546
- InputProps: transformInputProps(InputProps, false),
547
- InputLabelProps: (0, _extends2.default)({
548
- shrink: true
549
- }, InputLabelProps)
550
- }, slotProps?.textField, rootProps.slotProps?.baseTextField));
562
+ placeholder: placeholder
563
+ }, textFieldRest, baseTextFieldRest, {
564
+ slotProps: {
565
+ htmlInput: (0, _extends2.default)({}, htmlInputProps, textFieldSlotProps?.htmlInput, baseTextFieldSlotProps?.htmlInput),
566
+ input: (0, _extends2.default)({}, transformInputProps(InputProps, false), textFieldSlotProps?.input, baseTextFieldSlotProps?.input),
567
+ inputLabel: (0, _extends2.default)({
568
+ shrink: true
569
+ }, InputLabelProps, textFieldSlotProps?.inputLabel, baseTextFieldSlotProps?.inputLabel)
570
+ }
571
+ }));
551
572
  }
552
573
  }, other, material));
553
574
  }
@@ -562,7 +583,7 @@ function transformInputProps(props, wrapAdornments = true) {
562
583
  slotProps,
563
584
  material
564
585
  } = props,
565
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded19);
586
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded21);
566
587
  const result = other;
567
588
  if (wrapAdornments) {
568
589
  if (result.startAdornment) {
@@ -596,7 +617,7 @@ const BaseTextarea = (0, _forwardRef.forwardRef)(function BaseTextarea(props, re
596
617
  const {
597
618
  material
598
619
  } = props,
599
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded20);
620
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded22);
600
621
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextareaAutosize.default, (0, _extends2.default)({}, other, material, {
601
622
  ref: ref
602
623
  }));
@@ -621,7 +642,7 @@ function BasePopper(props) {
621
642
  placement,
622
643
  material
623
644
  } = props,
624
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded21);
645
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded23);
625
646
  const modifiers = React.useMemo(() => {
626
647
  const result = [{
627
648
  name: 'preventOverflow',
@@ -712,11 +733,11 @@ function focusTrapWrapper(props, content) {
712
733
  })
713
734
  });
714
735
  }
715
- function BaseSelectOption(_ref) {
736
+ function BaseSelectOption(_ref3) {
716
737
  let {
717
738
  native
718
- } = _ref,
719
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded22);
739
+ } = _ref3,
740
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref3, _excluded24);
720
741
  if (native) {
721
742
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("option", (0, _extends2.default)({}, props));
722
743
  }
@@ -751,7 +772,7 @@ function TabPanel(props) {
751
772
  children,
752
773
  active
753
774
  } = props,
754
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded23);
775
+ other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded25);
755
776
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledTabPanel, (0, _extends2.default)({
756
777
  role: "tabpanel",
757
778
  style: {
@@ -761,13 +782,13 @@ function TabPanel(props) {
761
782
  children: children
762
783
  }));
763
784
  }
764
- function BaseTabs(_ref2) {
785
+ function BaseTabs(_ref4) {
765
786
  let {
766
787
  items,
767
788
  value,
768
789
  material
769
- } = _ref2,
770
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref2, _excluded24);
790
+ } = _ref4,
791
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref4, _excluded26);
771
792
  const id = (0, _useId.default)();
772
793
  const labelId = `${id}-tab-${value}`;
773
794
  const panelId = `${id}-tabpanel-${value}`;
@@ -20,12 +20,14 @@ const _excluded = ["id", "label", "labelId", "material", "disabled", "slotProps"
20
20
  _excluded16 = ["id", "multiple", "freeSolo", "options", "getOptionLabel", "isOptionEqualToValue", "value", "onChange", "label", "placeholder", "slotProps", "material"],
21
21
  _excluded17 = ["key"],
22
22
  _excluded18 = ["inputProps", "InputProps", "InputLabelProps"],
23
- _excluded19 = ["slotProps", "material"],
24
- _excluded20 = ["material"],
25
- _excluded21 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
26
- _excluded22 = ["native"],
27
- _excluded23 = ["children", "value", "active"],
28
- _excluded24 = ["items", "value", "material"];
23
+ _excluded19 = ["slotProps"],
24
+ _excluded20 = ["slotProps"],
25
+ _excluded21 = ["slotProps", "material"],
26
+ _excluded22 = ["material"],
27
+ _excluded23 = ["ref", "open", "children", "className", "clickAwayTouchEvent", "clickAwayMouseEvent", "flip", "focusTrap", "onExited", "onClickAway", "onDidShow", "onDidHide", "id", "target", "transition", "placement", "material"],
28
+ _excluded24 = ["native"],
29
+ _excluded25 = ["children", "value", "active"],
30
+ _excluded26 = ["items", "value", "material"];
29
31
  import * as React from 'react';
30
32
  import clsx from 'clsx';
31
33
  import useForkRef from '@mui/utils/useForkRef';
@@ -155,8 +157,10 @@ const BaseSelect = forwardRef(function BaseSelect(props, ref) {
155
157
  const computedSize = size ?? textFieldDefaults.size;
156
158
  const computedVariant = textFieldDefaults.variant ?? 'outlined';
157
159
  const menuProps = {
158
- PaperProps: {
159
- onKeyDown
160
+ slotProps: {
161
+ paper: {
162
+ onKeyDown
163
+ }
160
164
  }
161
165
  };
162
166
  if (onClose) {
@@ -286,7 +290,9 @@ const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
286
290
  if (!label) {
287
291
  return /*#__PURE__*/_jsx(Checkbox, _extends({}, other, material, {
288
292
  className: clsx(className, material?.className),
289
- inputProps: slotProps?.htmlInput,
293
+ slotProps: {
294
+ input: slotProps?.htmlInput
295
+ },
290
296
  ref: handleRef,
291
297
  touchRippleRef: rippleRef
292
298
  }));
@@ -294,7 +300,9 @@ const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
294
300
  return /*#__PURE__*/_jsx(FormControlLabel, {
295
301
  className: className,
296
302
  control: /*#__PURE__*/_jsx(Checkbox, _extends({}, other, material, {
297
- inputProps: slotProps?.htmlInput,
303
+ slotProps: {
304
+ input: slotProps?.htmlInput
305
+ },
298
306
  ref: handleRef,
299
307
  touchRippleRef: rippleRef
300
308
  })),
@@ -457,8 +465,6 @@ function BaseMenuItem(props) {
457
465
  }, "3")]);
458
466
  }
459
467
  function BaseTextField(props) {
460
- // MaterialUI v5 doesn't support slotProps, until we drop v5 support we need to
461
- // translate the pattern.
462
468
  const {
463
469
  slotProps,
464
470
  material
@@ -472,11 +478,13 @@ function BaseTextField(props) {
472
478
  variant: computedVariant,
473
479
  size: computedSize
474
480
  }, other, material, {
475
- inputProps: slotProps?.htmlInput,
476
- InputProps: transformInputProps(slotProps?.input),
477
- InputLabelProps: _extends({
478
- shrink: true
479
- }, slotProps?.inputLabel)
481
+ slotProps: {
482
+ htmlInput: slotProps?.htmlInput,
483
+ input: transformInputProps(slotProps?.input),
484
+ inputLabel: _extends({
485
+ shrink: true
486
+ }, slotProps?.inputLabel)
487
+ }
480
488
  }));
481
489
  }
482
490
  function BaseAutocomplete(props) {
@@ -505,7 +513,7 @@ function BaseAutocomplete(props) {
505
513
  isOptionEqualToValue: isOptionEqualToValue,
506
514
  value: value,
507
515
  onChange: onChange,
508
- renderTags: (currentValue, getTagProps) => currentValue.map((option, index) => {
516
+ renderValue: (currentValue, getTagProps) => currentValue.map((option, index) => {
509
517
  const _getTagProps = getTagProps({
510
518
  index
511
519
  }),
@@ -521,20 +529,33 @@ function BaseAutocomplete(props) {
521
529
  }),
522
530
  renderInput: params => {
523
531
  const {
524
- inputProps,
532
+ inputProps: htmlInputProps,
525
533
  InputProps,
526
534
  InputLabelProps
527
535
  } = params,
528
536
  inputRest = _objectWithoutPropertiesLoose(params, _excluded18);
537
+ const _ref = slotProps?.textField ?? {},
538
+ {
539
+ slotProps: textFieldSlotProps
540
+ } = _ref,
541
+ textFieldRest = _objectWithoutPropertiesLoose(_ref, _excluded19);
542
+ const _ref2 = rootProps.slotProps?.baseTextField ?? {},
543
+ {
544
+ slotProps: baseTextFieldSlotProps
545
+ } = _ref2,
546
+ baseTextFieldRest = _objectWithoutPropertiesLoose(_ref2, _excluded20);
529
547
  return /*#__PURE__*/_jsx(MUITextField, _extends({}, inputRest, {
530
548
  label: label,
531
- placeholder: placeholder,
532
- inputProps: inputProps,
533
- InputProps: transformInputProps(InputProps, false),
534
- InputLabelProps: _extends({
535
- shrink: true
536
- }, InputLabelProps)
537
- }, slotProps?.textField, rootProps.slotProps?.baseTextField));
549
+ placeholder: placeholder
550
+ }, textFieldRest, baseTextFieldRest, {
551
+ slotProps: {
552
+ htmlInput: _extends({}, htmlInputProps, textFieldSlotProps?.htmlInput, baseTextFieldSlotProps?.htmlInput),
553
+ input: _extends({}, transformInputProps(InputProps, false), textFieldSlotProps?.input, baseTextFieldSlotProps?.input),
554
+ inputLabel: _extends({
555
+ shrink: true
556
+ }, InputLabelProps, textFieldSlotProps?.inputLabel, baseTextFieldSlotProps?.inputLabel)
557
+ }
558
+ }));
538
559
  }
539
560
  }, other, material));
540
561
  }
@@ -549,7 +570,7 @@ function transformInputProps(props, wrapAdornments = true) {
549
570
  slotProps,
550
571
  material
551
572
  } = props,
552
- other = _objectWithoutPropertiesLoose(props, _excluded19);
573
+ other = _objectWithoutPropertiesLoose(props, _excluded21);
553
574
  const result = other;
554
575
  if (wrapAdornments) {
555
576
  if (result.startAdornment) {
@@ -583,7 +604,7 @@ const BaseTextarea = forwardRef(function BaseTextarea(props, ref) {
583
604
  const {
584
605
  material
585
606
  } = props,
586
- other = _objectWithoutPropertiesLoose(props, _excluded20);
607
+ other = _objectWithoutPropertiesLoose(props, _excluded22);
587
608
  return /*#__PURE__*/_jsx(MUITextareaAutosize, _extends({}, other, material, {
588
609
  ref: ref
589
610
  }));
@@ -608,7 +629,7 @@ function BasePopper(props) {
608
629
  placement,
609
630
  material
610
631
  } = props,
611
- other = _objectWithoutPropertiesLoose(props, _excluded21);
632
+ other = _objectWithoutPropertiesLoose(props, _excluded23);
612
633
  const modifiers = React.useMemo(() => {
613
634
  const result = [{
614
635
  name: 'preventOverflow',
@@ -699,11 +720,11 @@ function focusTrapWrapper(props, content) {
699
720
  })
700
721
  });
701
722
  }
702
- function BaseSelectOption(_ref) {
723
+ function BaseSelectOption(_ref3) {
703
724
  let {
704
725
  native
705
- } = _ref,
706
- props = _objectWithoutPropertiesLoose(_ref, _excluded22);
726
+ } = _ref3,
727
+ props = _objectWithoutPropertiesLoose(_ref3, _excluded24);
707
728
  if (native) {
708
729
  return /*#__PURE__*/_jsx("option", _extends({}, props));
709
730
  }
@@ -738,7 +759,7 @@ function TabPanel(props) {
738
759
  children,
739
760
  active
740
761
  } = props,
741
- other = _objectWithoutPropertiesLoose(props, _excluded23);
762
+ other = _objectWithoutPropertiesLoose(props, _excluded25);
742
763
  return /*#__PURE__*/_jsx(StyledTabPanel, _extends({
743
764
  role: "tabpanel",
744
765
  style: {
@@ -748,13 +769,13 @@ function TabPanel(props) {
748
769
  children: children
749
770
  }));
750
771
  }
751
- function BaseTabs(_ref2) {
772
+ function BaseTabs(_ref4) {
752
773
  let {
753
774
  items,
754
775
  value,
755
776
  material
756
- } = _ref2,
757
- props = _objectWithoutPropertiesLoose(_ref2, _excluded24);
777
+ } = _ref4,
778
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded26);
758
779
  const id = useId();
759
780
  const labelId = `${id}-tab-${value}`;
760
781
  const panelId = `${id}-tabpanel-${value}`;
@@ -232,4 +232,9 @@ export interface GridSlotsComponent extends GridBaseSlots, GridIconSlotsComponen
232
232
  * @default GridRow
233
233
  */
234
234
  row: React.JSXElementConstructor<GridSlotProps['row']>;
235
+ /**
236
+ * Component rendered for each row selection checkbox.
237
+ * @default GridRowCheckbox
238
+ */
239
+ rowCheckbox: React.JSXElementConstructor<GridSlotProps['rowCheckbox']>;
235
240
  }